ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA1MTE0NTE4Li5lZjhhNDBhIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMDgtMTAtMjkgIFN0ZWZhbiBTY2h1bHplIEZyaWVsaW5naGF1cyAgPHh4c2NodWx6QGRlLmlibS5jb20+CisKKwkqIGNvbmZpZ3VyZS5hYyBbc3B1LSotKl06IERvIG5vdCBzZXQgc2tpcGRpcnMuCisJKiBjb25maWd1cmU6IFJlLWdlbmVyYXRlLgorCisyMDA4LTEwLTI0ICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRhbkBjb2Rlc291cmNlcnkuY29tPgorCisJKiBNYWtlZmlsZS50cGwgKEhPU1RfRVhQT1JUUyk6IENvcnJlY3QgQ1BQRkxBR1MgdHlwby4KKwkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KKworMjAwOC0xMC0yMiAgRGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KKworCVBSIGdkYi85MjEKKwlQUiBnZGIvMTY0NgorCVBSIGdkYi8yMTc1CisJUFIgZ2RiLzIxNzYKKworCSogTWFrZWZpbGUuZGVmIChmbGFnc190b19wYXNzKTogQWRkIENQUEZMQUdTX0ZPUl9CVUlMRCBhbmQgQ1BQRkxBR1MuCisJKiBNYWtlZmlsZS50cGwgKEJVSUxEX0VYUE9SVFMpOiBTZXQgQ1BQRkxBR1MuCisJKEVYVFJBX0JVSUxEX0ZMQUdTKTogQ29ycmVjdCB0eXBvLiAgUGFzcyBDUFBGTEFHUy4KKwkoSE9TVF9FWFBPUlRTKTogUGFzcyBDUFBGTEFHUy4KKwkoQ1BQRkxBR1NfRk9SX0JVSUxELCBDUFBGTEFHUywgQ1BQRkxBR1NfRk9SX1RBUkdFVCk6IERlZmluZS4KKwkoTERGTEFHU19GT1JfVEFSR0VUKTogSW5pdGlhbGl6ZSBmcm9tIGNvbmZpZ3VyZSBzY3JpcHQuCisJKEVYVFJBX1RBUkdFVF9GTEFHUyk6IFNldCBDUFBGTEFHUy4KKwkqIE1ha2VmaWxlLmluLCBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgorCSogY29uZmlndXJlLmFjOiBTZXQgQ1BQRkxBR1NfRk9SX1RBUkdFVCwgTERGTEFHU19GT1JfVEFSR0VULAorCWFuZCBDUFBGTEFHU19GT1JfQlVJTEQuCisKKzIwMDgtMDktMjkgIFBldGVyIE8nR29ybWFuICA8cG9nbWFAdGhld3JpdHRlbndvcmQuY29tPgorCisJKiBsaWJ0b29sLm00OiBVcGRhdGUgdG8gbGlidG9vbCAyLjIuNi4KKwkqIGx0fm9ic29sZXRlLm00OiBVcGRhdGUgdG8gbGlidG9vbCAyLjIuNi4KKwkqIGx0bWFpbi5zaDogVXBkYXRlIHRvIGxpYnRvb2wgMi4yLjYuCisJKiBsdHN1Z2FyLm00OiBVcGRhdGUgdG8gbGlidG9vbCAyLjIuNi4KKwkqIGx0dmVyc2lvbi5tNDogVXBkYXRlIHRvIGxpYnRvb2wgMi4yLjYuCisJKiBsdG9wdGlvbnMubTQ6IFVwZGF0ZSB0byBsaWJ0b29sIDIuMi42LgorCSogbHRnY2MubTQ6IFVwZGF0ZSB0byBtYXRjaCBjaGFuZ2VzIGZyb20gbGlidG9vbCAyLjIuNi4KKwogMjAwOC0wOC0zMSAgQWFyb24gVy4gTGFGcmFtYm9pc2UgIDxhYXJvbmF2YXk2MkBhYXJvbndsLmNvbT4KIAogCSogY29uZmlndXJlLmFjIChSUEFUSF9FTlZWQVIpOiBVc2UgUEFUSCBvbiBXaW5kb3dzLgpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuZGVmIGIvTWFrZWZpbGUuZGVmCmluZGV4IDgzMmZjNDIuLjVhYmM1NGYgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlLmRlZgorKysgYi9NYWtlZmlsZS5kZWYKQEAgLTIwOCw2ICsyMDgsNyBAQAogZmxhZ3NfdG9fcGFzcyA9IHsgZmxhZz0gQklTT04gOyB9OwogZmxhZ3NfdG9fcGFzcyA9IHsgZmxhZz0gQ0NfRk9SX0JVSUxEIDsgfTsKIGZsYWdzX3RvX3Bhc3MgPSB7IGZsYWc9IENGTEFHU19GT1JfQlVJTEQgOyB9OworZmxhZ3NfdG9fcGFzcyA9IHsgZmxhZz0gQ1BQRkxBR1NfRk9SX0JVSUxEIDsgfTsKIGZsYWdzX3RvX3Bhc3MgPSB7IGZsYWc9IENYWF9GT1JfQlVJTEQgOyB9OwogZmxhZ3NfdG9fcGFzcyA9IHsgZmxhZz0gRVhQRUNUIDsgfTsKIGZsYWdzX3RvX3Bhc3MgPSB7IGZsYWc9IEZMRVggOyB9OwpAQCAtMjMyLDYgKzIzMyw3IEBACiBmbGFnc190b19wYXNzID0geyBmbGFnPSBCT09UX0NGTEFHUyA7IH07CiBmbGFnc190b19wYXNzID0geyBmbGFnPSBCT09UX0xERkxBR1MgOyB9OwogZmxhZ3NfdG9fcGFzcyA9IHsgZmxhZz0gQ0ZMQUdTIDsgfTsKK2ZsYWdzX3RvX3Bhc3MgPSB7IGZsYWc9IENQUEZMQUdTIDsgfTsKIGZsYWdzX3RvX3Bhc3MgPSB7IGZsYWc9IENYWEZMQUdTIDsgfTsKIGZsYWdzX3RvX3Bhc3MgPSB7IGZsYWc9IExERkxBR1MgOyB9OwogZmxhZ3NfdG9fcGFzcyA9IHsgZmxhZz0gTElCQ0ZMQUdTIDsgfTsKZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KaW5kZXggMDMwNWQyOC4uZTk0MDE4YiAxMDA2NDQKLS0tIGEvTWFrZWZpbGUuaW4KKysrIGIvTWFrZWZpbGUuaW4KQEAgLTEzNyw2ICsxMzcsNyBAQAogCUNDPSIkKENDX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0M7IFwKIAlDRkxBR1M9IiQoQ0ZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0ZMQUdTOyBcCiAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKKwlDUFBGTEFHUz0iJChDUFBGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENQUEZMQUdTOyBcCiAJQ1hYPSIkKENYWF9GT1JfQlVJTEQpIjsgZXhwb3J0IENYWDsgXAogCUNYWEZMQUdTPSIkKENYWEZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1hYRkxBR1M7IFwKIAlHQ0o9IiQoR0NKX0ZPUl9CVUlMRCkiOyBleHBvcnQgR0NKOyBcCkBAIC0xNTAsOSArMTUxLDEwIEBACiAJV0lORE1DPSIkKFdJTkRNQ19GT1JfQlVJTEQpIjsgZXhwb3J0IFdJTkRNQzsKIAogIyBUaGVzZSB2YXJpYWJsZXMgbXVzdCBiZSBzZXQgb24gdGhlIG1ha2UgY29tbWFuZCBsaW5lIGZvciBkaXJlY3RvcmllcwotIyBidWlsdCBmb3IgdGhlIGJ1aWxkIHN5c3RlbSB0byBvdmVycmlkZSB0aG9zZSBpbiBCQVNFX0ZMQUdTX1RPX1BBU1NTLgorIyBidWlsdCBmb3IgdGhlIGJ1aWxkIHN5c3RlbSB0byBvdmVycmlkZSB0aG9zZSBpbiBCQVNFX0ZMQUdTX1RPX1BBU1MuCiBFWFRSQV9CVUlMRF9GTEFHUyA9IFwKIAlDRkxBR1M9IiQoQ0ZMQUdTX0ZPUl9CVUlMRCkiIFwKKwlDUFBGTEFHUz0iJChDUFBGTEFHU19GT1JfQlVJTEQpIiBcCiAJTERGTEFHUz0iJChMREZMQUdTX0ZPUl9CVUlMRCkiCiAKICMgVGhpcyBpcyB0aGUgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBidWlsdCBmb3IgdGhlIGhvc3Qgc3lzdGVtLgpAQCAtMTcyLDYgKzE3NCw3IEBACiAJQURBX0NGTEFHUz0iJChBREFfQ0ZMQUdTKSI7IGV4cG9ydCBBREFfQ0ZMQUdTOyBcCiAJQ0ZMQUdTPSIkKENGTEFHUykiOyBleHBvcnQgQ0ZMQUdTOyBcCiAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKKwlDUFBGTEFHUz0iJChDUFBGTEFHUykiOyBleHBvcnQgQ1BQRkxBR1M7IFwKIAlDWFg9IiQoQ1hYKSI7IGV4cG9ydCBDWFg7IFwKIAlDWFhGTEFHUz0iJChDWFhGTEFHUykiOyBleHBvcnQgQ1hYRkxBR1M7IFwKIAlBUj0iJChBUikiOyBleHBvcnQgQVI7IFwKQEAgLTI3NSw2ICsyNzgsNyBAQAogQVNfRk9SX0JVSUxEID0gQEFTX0ZPUl9CVUlMREAKIENDX0ZPUl9CVUlMRCA9IEBDQ19GT1JfQlVJTERACiBDRkxBR1NfRk9SX0JVSUxEID0gQENGTEFHU19GT1JfQlVJTERACitDUFBGTEFHU19GT1JfQlVJTEQgPSBAQ1BQRkxBR1NfRk9SX0JVSUxEQAogQ1hYRkxBR1NfRk9SX0JVSUxEID0gQENYWEZMQUdTX0ZPUl9CVUlMREAKIENYWF9GT1JfQlVJTEQgPSBAQ1hYX0ZPUl9CVUlMREAKIERMTFRPT0xfRk9SX0JVSUxEID0gQERMTFRPT0xfRk9SX0JVSUxEQApAQCAtMzM2LDYgKzM0MCw3IEBACiBHTkFUTUFLRSA9IEBHTkFUTUFLRUAKIAogQ0ZMQUdTID0gQENGTEFHU0AKK0NQUEZMQUdTID0gQENQUEZMQUdTQAogTERGTEFHUyA9IEBMREZMQUdTQAogTElCQ0ZMQUdTID0gJChDRkxBR1MpCiBDWFhGTEFHUyA9IEBDWFhGTEFHU0AKQEAgLTM5OSwxMyArNDA0LDE0IEBACiBDT01QSUxFUl9OTV9GT1JfVEFSR0VUPUBDT01QSUxFUl9OTV9GT1JfVEFSR0VUQAogCiBDRkxBR1NfRk9SX1RBUkdFVCA9IEBDRkxBR1NfRk9SX1RBUkdFVEAKK0NQUEZMQUdTX0ZPUl9UQVJHRVQgPSBAQ1BQRkxBR1NfRk9SX1RBUkdFVEAKIENYWEZMQUdTX0ZPUl9UQVJHRVQgPSBAQ1hYRkxBR1NfRk9SX1RBUkdFVEAKIFNZU1JPT1RfQ0ZMQUdTX0ZPUl9UQVJHRVQgPSBAU1lTUk9PVF9DRkxBR1NfRk9SX1RBUkdFVEAKIERFQlVHX1BSRUZJWF9DRkxBR1NfRk9SX1RBUkdFVCA9IEBERUJVR19QUkVGSVhfQ0ZMQUdTX0ZPUl9UQVJHRVRACiAKIExJQkNGTEFHU19GT1JfVEFSR0VUID0gJChDRkxBR1NfRk9SX1RBUkdFVCkKIExJQkNYWEZMQUdTX0ZPUl9UQVJHRVQgPSAkKENYWEZMQUdTX0ZPUl9UQVJHRVQpIC1mbm8taW1wbGljaXQtdGVtcGxhdGVzCi1MREZMQUdTX0ZPUl9UQVJHRVQgPSAKK0xERkxBR1NfRk9SX1RBUkdFVCA9IEBMREZMQUdTX0ZPUl9UQVJHRVRACiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIE1pc2NlbGxhbmVvdXMgdGFyZ2V0cyBhbmQgZmxhZyBsaXN0cwpAQCAtNTA1LDYgKzUxMSw3IEBACiAJIkJJU09OPSQoQklTT04pIiBcCiAJIkNDX0ZPUl9CVUlMRD0kKENDX0ZPUl9CVUlMRCkiIFwKIAkiQ0ZMQUdTX0ZPUl9CVUlMRD0kKENGTEFHU19GT1JfQlVJTEQpIiBcCisJIkNQUEZMQUdTX0ZPUl9CVUlMRD0kKENQUEZMQUdTX0ZPUl9CVUlMRCkiIFwKIAkiQ1hYX0ZPUl9CVUlMRD0kKENYWF9GT1JfQlVJTEQpIiBcCiAJIkVYUEVDVD0kKEVYUEVDVCkiIFwKIAkiRkxFWD0kKEZMRVgpIiBcCkBAIC01MjcsNiArNTM0LDcgQEAKIAkiQk9PVF9DRkxBR1M9JChCT09UX0NGTEFHUykiIFwKIAkiQk9PVF9MREZMQUdTPSQoQk9PVF9MREZMQUdTKSIgXAogCSJDRkxBR1M9JChDRkxBR1MpIiBcCisJIkNQUEZMQUdTPSQoQ1BQRkxBR1MpIiBcCiAJIkNYWEZMQUdTPSQoQ1hYRkxBR1MpIiBcCiAJIkxERkxBR1M9JChMREZMQUdTKSIgXAogCSJMSUJDRkxBR1M9JChMSUJDRkxBR1MpIiBcCkBAIC02MTcsNiArNjI1LDcgQEAKIAknQVM9JChDT01QSUxFUl9BU19GT1JfVEFSR0VUKScgXAogCSdDQz0kJChDQ19GT1JfVEFSR0VUKScgXAogCSdDRkxBR1M9JCQoQ0ZMQUdTX0ZPUl9UQVJHRVQpICQoU1lTUk9PVF9DRkxBR1NfRk9SX1RBUkdFVCkgJChERUJVR19QUkVGSVhfQ0ZMQUdTX0ZPUl9UQVJHRVQpJyBcCisJJ0NQUEZMQUdTPSQkKENQUEZMQUdTX0ZPUl9UQVJHRVQpJyBcCiAJJ0NYWD0kJChDWFhfRk9SX1RBUkdFVCknIFwKIAknQ1hYRkxBR1M9JCQoQ1hYRkxBR1NfRk9SX1RBUkdFVCkgJChTWVNST09UX0NGTEFHU19GT1JfVEFSR0VUKSAkKERFQlVHX1BSRUZJWF9DRkxBR1NfRk9SX1RBUkdFVCknIFwKIAknRExMVE9PTD0kJChETExUT09MX0ZPUl9UQVJHRVQpJyBcCmRpZmYgLS1naXQgYS9NYWtlZmlsZS50cGwgYi9NYWtlZmlsZS50cGwKaW5kZXggMDUxNzAzZS4uNTFmNTk3OSAxMDA2NDQKLS0tIGEvTWFrZWZpbGUudHBsCisrKyBiL01ha2VmaWxlLnRwbApAQCAtMTQwLDYgKzE0MCw3IEBACiAJQ0M9IiQoQ0NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDQzsgXAogCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDRkxBR1M7IFwKIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAorCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1BQRkxBR1M7IFwKIAlDWFg9IiQoQ1hYX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1hYOyBcCiAJQ1hYRkxBR1M9IiQoQ1hYRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFhGTEFHUzsgXAogCUdDSj0iJChHQ0pfRk9SX0JVSUxEKSI7IGV4cG9ydCBHQ0o7IFwKQEAgLTE1Myw5ICsxNTQsMTAgQEAKIAlXSU5ETUM9IiQoV0lORE1DX0ZPUl9CVUlMRCkiOyBleHBvcnQgV0lORE1DOwogCiAjIFRoZXNlIHZhcmlhYmxlcyBtdXN0IGJlIHNldCBvbiB0aGUgbWFrZSBjb21tYW5kIGxpbmUgZm9yIGRpcmVjdG9yaWVzCi0jIGJ1aWx0IGZvciB0aGUgYnVpbGQgc3lzdGVtIHRvIG92ZXJyaWRlIHRob3NlIGluIEJBU0VfRkxBR1NfVE9fUEFTU1MuCisjIGJ1aWx0IGZvciB0aGUgYnVpbGQgc3lzdGVtIHRvIG92ZXJyaWRlIHRob3NlIGluIEJBU0VfRkxBR1NfVE9fUEFTUy4KIEVYVFJBX0JVSUxEX0ZMQUdTID0gXAogCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSIgXAorCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiIFwKIAlMREZMQUdTPSIkKExERkxBR1NfRk9SX0JVSUxEKSIKIAogIyBUaGlzIGlzIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIGJ1aWx0IGZvciB0aGUgaG9zdCBzeXN0ZW0uCkBAIC0xNzUsNiArMTc3LDcgQEAKIAlBREFfQ0ZMQUdTPSIkKEFEQV9DRkxBR1MpIjsgZXhwb3J0IEFEQV9DRkxBR1M7IFwKIAlDRkxBR1M9IiQoQ0ZMQUdTKSI7IGV4cG9ydCBDRkxBR1M7IFwKIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAorCUNQUEZMQUdTPSIkKENQUEZMQUdTKSI7IGV4cG9ydCBDUFBGTEFHUzsgXAogCUNYWD0iJChDWFgpIjsgZXhwb3J0IENYWDsgXAogCUNYWEZMQUdTPSIkKENYWEZMQUdTKSI7IGV4cG9ydCBDWFhGTEFHUzsgXAogCUFSPSIkKEFSKSI7IGV4cG9ydCBBUjsgXApAQCAtMjc4LDYgKzI4MSw3IEBACiBBU19GT1JfQlVJTEQgPSBAQVNfRk9SX0JVSUxEQAogQ0NfRk9SX0JVSUxEID0gQENDX0ZPUl9CVUlMREAKIENGTEFHU19GT1JfQlVJTEQgPSBAQ0ZMQUdTX0ZPUl9CVUlMREAKK0NQUEZMQUdTX0ZPUl9CVUlMRCA9IEBDUFBGTEFHU19GT1JfQlVJTERACiBDWFhGTEFHU19GT1JfQlVJTEQgPSBAQ1hYRkxBR1NfRk9SX0JVSUxEQAogQ1hYX0ZPUl9CVUlMRCA9IEBDWFhfRk9SX0JVSUxEQAogRExMVE9PTF9GT1JfQlVJTEQgPSBARExMVE9PTF9GT1JfQlVJTERACkBAIC0zMzksNiArMzQzLDcgQEAKIEdOQVRNQUtFID0gQEdOQVRNQUtFQAogCiBDRkxBR1MgPSBAQ0ZMQUdTQAorQ1BQRkxBR1MgPSBAQ1BQRkxBR1NACiBMREZMQUdTID0gQExERkxBR1NACiBMSUJDRkxBR1MgPSAkKENGTEFHUykKIENYWEZMQUdTID0gQENYWEZMQUdTQApAQCAtNDAyLDEzICs0MDcsMTQgQEAKIENPTVBJTEVSX05NX0ZPUl9UQVJHRVQ9QENPTVBJTEVSX05NX0ZPUl9UQVJHRVRACiAKIENGTEFHU19GT1JfVEFSR0VUID0gQENGTEFHU19GT1JfVEFSR0VUQAorQ1BQRkxBR1NfRk9SX1RBUkdFVCA9IEBDUFBGTEFHU19GT1JfVEFSR0VUQAogQ1hYRkxBR1NfRk9SX1RBUkdFVCA9IEBDWFhGTEFHU19GT1JfVEFSR0VUQAogU1lTUk9PVF9DRkxBR1NfRk9SX1RBUkdFVCA9IEBTWVNST09UX0NGTEFHU19GT1JfVEFSR0VUQAogREVCVUdfUFJFRklYX0NGTEFHU19GT1JfVEFSR0VUID0gQERFQlVHX1BSRUZJWF9DRkxBR1NfRk9SX1RBUkdFVEAKIAogTElCQ0ZMQUdTX0ZPUl9UQVJHRVQgPSAkKENGTEFHU19GT1JfVEFSR0VUKQogTElCQ1hYRkxBR1NfRk9SX1RBUkdFVCA9ICQoQ1hYRkxBR1NfRk9SX1RBUkdFVCkgLWZuby1pbXBsaWNpdC10ZW1wbGF0ZXMKLUxERkxBR1NfRk9SX1RBUkdFVCA9IAorTERGTEFHU19GT1JfVEFSR0VUID0gQExERkxBR1NfRk9SX1RBUkdFVEAKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgTWlzY2VsbGFuZW91cyB0YXJnZXRzIGFuZCBmbGFnIGxpc3RzCkBAIC01MTUsNiArNTIxLDcgQEAKIAknQVM9JChDT01QSUxFUl9BU19GT1JfVEFSR0VUKScgXAogCSdDQz0kJChDQ19GT1JfVEFSR0VUKScgXAogCSdDRkxBR1M9JCQoQ0ZMQUdTX0ZPUl9UQVJHRVQpICQoU1lTUk9PVF9DRkxBR1NfRk9SX1RBUkdFVCkgJChERUJVR19QUkVGSVhfQ0ZMQUdTX0ZPUl9UQVJHRVQpJyBcCisJJ0NQUEZMQUdTPSQkKENQUEZMQUdTX0ZPUl9UQVJHRVQpJyBcCiAJJ0NYWD0kJChDWFhfRk9SX1RBUkdFVCknIFwKIAknQ1hYRkxBR1M9JCQoQ1hYRkxBR1NfRk9SX1RBUkdFVCkgJChTWVNST09UX0NGTEFHU19GT1JfVEFSR0VUKSAkKERFQlVHX1BSRUZJWF9DRkxBR1NfRk9SX1RBUkdFVCknIFwKIAknRExMVE9PTD0kJChETExUT09MX0ZPUl9UQVJHRVQpJyBcCmRpZmYgLS1naXQgYS9iZmQvQ2hhbmdlTG9nIGIvYmZkL0NoYW5nZUxvZwppbmRleCBjODBiOTE1Li45YTcwZDdkIDEwMDY0NAotLS0gYS9iZmQvQ2hhbmdlTG9nCisrKyBiL2JmZC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMDIgQEAKKzIwMDgtMTAtMzAgIEpheSBLcmVsbCAgPGpheS5rcmVsbEBjb3JuZWxsLmVkdT4KKworCSogY2FjaGUuYyAoY2FjaGVfYnJlYWQpOiBDYXN0IHZvaWQgKiBwb2ludGVyIGJlZm9yZSBwZXJmb3JtaW5nCisJYXJpdGhtZXRpYyBvbiBpdC4KKworMjAwOC0xMC0yMCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KKworCSogZWxmNjQtcHBjLmMgKHBwYzY0X2VsZl9wcm9jZXNzX2RvdF9zeW1zKTogUmVuYW1lZCBmcm9tCisJcHBjNjRfZWxmX2NoZWNrX2RpcmVjdGl2ZXMuCisJKiBlbGYzMi1zaC1zeW1iaWFuLmMgKHNoX3N5bWJpYW5fcHJvY2Vzc19kaXJlY3RpdmVzKTogQ29tYmluZS4uCisJKHNoX3N5bWJpYW5fY2hlY2tfZGlyZWN0aXZlcyk6IC4udGhpcworCShiZmRfZWxmMzJfc2hfc3ltYmlhbl9wcm9jZXNzX2RpcmVjdGl2ZXMpIC4uYW5kIHRoaXMgZnVuY3Rpb24uCisKKzIwMDgtMTAtMjAgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CisKKwkqIGVsZmxpbmsuYyAoYmZkX2VsZl9maW5hbF9saW5rKTogTW92ZSBjb2RlIHJlYWRpbmcgcmVsb2NzIHRvLi4KKwkqIGVsZjMyLXNwdS5jIChzcHVfZWxmX2NvdW50X3JlbG9jcyk6IC4uaGVyZS4gIEFkanVzdCBwYXJhbXMuCisJKiBlbGYtYmZkLmggKHN0cnVjdCBlbGZfYmFja2VuZF9kYXRhKTogVXBkYXRlIGVsZl9iYWNrZW5kX2NvdW50X3JlbG9jcworCXBhcmFtcy4KKworMjAwOC0xMC0yMCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KKworCSogZWxmbGluay5jIChiZmRfZWxmX2ZpbmFsX2xpbmspOiBVc2UgZF9wdHIgcmF0aGVyIHRoYW4gZF92YWwKKwl3aGVyZSBFbGZfSW50ZXJuYWxfRHluIGhvbGRzIGFuIGFkZHJlc3MuCisKKzIwMDgtMTAtMTAgIE5hdGhhbiBGcm95ZCAgPGZyb3lkbmpAY29kZXNvdXJjZXJ5LmNvbT4KKworCSogZWxmMzItcHBjLmMgKHBwY19lbGZfbWVyZ2Vfb2JqX2F0dHJpYnV0ZXMpOiBNZXJnZQorCVRhZ19HTlVfUG93ZXJfQUJJX1N0cnVjdF9SZXR1cm4uCisKKzIwMDgtMTAtMDkgIEthaSBUaWV0eiAgPGthaS50aWV0ekBvbmV2aXNpb24uY29tPgorCisJKiBjb2ZmbGluay5jIChfYmZkX2NvZmZfZ2VuZXJpY19yZWxvY2F0ZV9zZWN0aW9uKTogRHVtcCBiZmRfdm1hCisJc2l6ZWQgYWRkcmVzc2VzIGluc3RlYWQgb2YgbG9uZyBzaXplZC4KKworMjAwOC0xMC0wOSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KKworCSogZWxmNjQtcHBjLmMgKHBwYzY0X2VsZl9nZXRfc3ludGhldGljX3N5bXRhYik6IERvbid0IGF0dGVtcHQgdG8KKwlyZWFkIHBsdCByZWxvY3MgaWYgbm8gZHluYW1pYyBzeW1zLgorCisyMDA4LTEwLTA4ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgorCisJKiBjb25maWd1cmUuaW4gKEFMTF9MSU5HVUFTKTogQWRkICJpZCIuCisJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCisJKiBwby9pZC5wbzogTmV3IEluZG9uZXNpYW4gdHJhbnNsYXRpb24uCisKKzIwMDgtMTAtMDggIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CisKKwkqIGVsZi5jIChhc3NpZ25fZmlsZV9wb3NpdGlvbnNfZm9yX2xvYWRfc2VjdGlvbnMpOiBXaGVuIGNoZWNraW5nCisJYSBzZWdtZW50IGZvciBjb250ZW50cywgZG9uJ3QgYXNzdW1lIHRoYXQgYSBub24tVExTIG5vYml0cyBzZWN0aW9uCisJbXVzdCBvbmx5IGJlIGZvbGxvd2VkIGJ5IG5vYml0cyBzZWN0aW9ucy4KKworMjAwOC0xMC0wNCAgSGFucy1QZXRlciBOaWxzc29uICA8aHBAYXhpcy5jb20+CisKKwkqIGVsZjMyLWNyaXMuYyAoVExTSE9XVE8zMiwgVExTSE9XVE8xNik6IE5ldyBtYWNyb3MuCisJKGNyaXNfZWxmX2hvd3RvX3RhYmxlKTogQWRkIGVudHJpZXMgZm9yIFJfQ1JJU18zMl9HT1RfR0QsCisJUl9DUklTXzE2X0dPVF9HRCwgUl9DUklTXzMyX0dELCBSX0NSSVNfRFRQLCBSX0NSSVNfMzJfRFRQUkVMLAorCVJfQ1JJU18xNl9EVFBSRUwsIFJfQ1JJU19EVFBNT0QsIFJfQ1JJU18zMl9HT1RfVFBSRUwsCisJUl9DUklTXzE2X0dPVF9UUFJFTCwgIFJfQ1JJU18zMl9UUFJFTCwgIFJfQ1JJU18xNl9UUFJFTC4KKwkoY3Jpc19yZWxvY19tYXApOiBTaW1pbGFybHkuCisJKiByZWxvYy5jIChiZmRfcmVsb2NfY29kZV90eXBlKTogQWRkIGVudHJpZXMgZm9yCisJQkZEX1JFTE9DX0NSSVNfMzJfR09UX0dELCBCRkRfUkVMT0NfQ1JJU18xNl9HT1RfR0QsCisJQkZEX1JFTE9DX0NSSVNfMzJfR0QsIEJGRF9SRUxPQ19DUklTX0RUUCwKKwlCRkRfUkVMT0NfQ1JJU18zMl9EVFBSRUwsIEJGRF9SRUxPQ19DUklTXzE2X0RUUFJFTCwKKwlCRkRfUkVMT0NfQ1JJU19EVFBNT0QsIEJGRF9SRUxPQ19DUklTXzMyX0dPVF9UUFJFTCwKKwlCRkRfUkVMT0NfQ1JJU18xNl9HT1RfVFBSRUwsIEJGRF9SRUxPQ19DUklTXzMyX1RQUkVMLAorCUJGRF9SRUxPQ19DUklTXzE2X1RQUkVMLgorCSogbGliYmZkLmgsIGJmZC1pbjIuaDogUmVnZW5lcmF0ZS4KKworMjAwOC0xMC0wMyAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KKworCVBSIDY5MzEKKwkqIGVsZi5jIChiZmRfZWxmX3NldF9ncm91cF9jb250ZW50cyk6IEFzc2lnbiBzaF9pbmZvIGZvciBsZCAtciB3aGVuCisJdGhlIHNpZ25hdHVyZSBzeW1ib2wgaXMgZ2xvYmFsLgorCSogZWxmbGluay5jIChlbGZfbGlua19pbnB1dF9iZmQpOiBFbnN1cmUgZ3JvdXAgc2lnbmF0dXJlIHN5bWJvbAorCWlzIG91dHB1dCB3aGVuIGxkIC1yLiAgU2V0IGdyb3VwIHNoX2luZm8gd2hlbiBsb2NhbC4KKwkqIGxpbmtlci5jIChkZWZhdWx0X2luZGlyZWN0X2xpbmtfb3JkZXIpOiBIYW5kbGUgZ3JvdXAgc2VjdGlvbnMKKwlzcGVjaWFsbHkuCisKKzIwMDgtMDktMzAgIFdlc2xleSBXLiBUZXJwc3RyYSAgPHdlc2xleUB0ZXJwc3RyYS5jYT4KKwkgICAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KKworCSogY29mZmdlbi5jIChjb2ZmX3dyaXRlX3N5bWJvbHMpOiBDaGVjayB0byBzZWUgaWYgYSBzeW1ib2wncyBmbGFncworCWRvIG5vdCBtYXRjaCBpdCBjbGFzcyBhbmQgaWYgbmVjZXNzYXJ5IHVwZGF0ZSB0aGUgY2xhc3MuCisJKG51bGxfZXJyb3JfaGFuZGxlcik6IE5ldyBmdW5jdGlvbi4gIFN1cHByZXNzZXMgdGhlIGdlbmVyYXRpb24gb2YKKwliZmQgZXJyb3IgbWVzc2FnZXMuCisJKiBjb2ZmNjQtcnM2MDAwLmMgKGJmZF94Y29mZl9iYWNrZW5kX2RhdGEpOiBVcGRhdGUgY29tbWVudC4KKworMjAwOC0wOS0zMCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KKworCSogTWFrZWZpbGUuYW06IFJ1biAibWFrZSBkZXAtYW0iLgorCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCisKKzIwMDgtMDktMzAgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CisKKwkqIGVsZmxpbmsuYyAoZWxmX2xpbmtfYWRkX29iamVjdF9zeW1ib2xzKTogRG9uJ3QgaWdub3JlIHJldHVybmVkCisJdmFsdWUgb2YgY2hlY2tfZGlyZWN0aXZlcy4KKworMjAwOC0wOS0yOSAgUGV0ZXIgTydHb3JtYW4gIDxwb2dtYUB0aGV3cml0dGVud29yZC5jb20+CisJICAgIFN0ZXZlIEVsbGNleSAgPHNqZUBjdXAuaHAuY29tPgorCisJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUgZm9yIG5ldyBsaWJ0b29sLgorCSogYWNsb2NhbC5tNDogRGl0dG8uCisJKiBNYWtlZmlsZS5pbjogRGl0dG8uCisJKiBkb2MvTWFrZWZpbGUuaW46IERpdHRvLgorCisyMDA4LTA5LTI5ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJUFIgNjc4OQorCSogZWxmLmMgKGFzc2lnbl9maWxlX3Bvc2l0aW9uc19mb3JfbG9hZF9zZWN0aW9ucyk6IENhbGwKKwlfYmZkX2VsZl9tYXBfc2VjdGlvbnNfdG9fc2VnbWVudHMsIG5vdCBlbGZfbW9kaWZ5X3NlZ21lbnRfbWFwLgorCShnZXRfcHJvZ3JhbV9oZWFkZXJfc2l6ZSk6IFByb3RlY3QgYWdhaW5zdCBOVUxMIGluZm8uCisJKF9iZmRfZWxmX21hcF9zZWN0aW9uc190b19zZWdtZW50cyk6IExpa2V3aXNlLgorCSogZWxmMzItc3B1LmMgKHNwdV9lbGZfYWRkaXRpb25hbF9wcm9ncmFtX2hlYWRlcnMpOiBMaWtld2lzZS4KKworMjAwOC0wOS0yOSAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KKworCSogcG8vdmkucG86IFVwZGF0ZWQgVmlldG5hbWVzZSB0cmFuc2xhdGlvbi4KKworMjAwOC0wOS0yOCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KKworCSogZWxmLmMgKF9iZmRfZWxmX2luaXRfcHJpdmF0ZV9zZWN0aW9uX2RhdGEpOiBUd2VhayB1bmlvbiBjb3B5LgorCShiZmRfc2VjdGlvbl9mcm9tX3NoZHIpOiBEb24ndCBjaGFuZ2UgU0hUX0dST1VQIHNlY3Rpb24gbmFtZS4KKwkqIGVsZmxpbmsuYyAoc2VjdGlvbl9zaWduYXR1cmUpOiBOZXcgZnVuY3Rpb24uCisJKF9iZmRfZWxmX3NlY3Rpb25fYWxyZWFkeV9saW5rZWQpOiBVc2UgaXQuCisKKzIwMDgtMDktMTkgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CisKKwkqIGVsZjMyLXBwYy5jIChwcGNfZWxmX2ZpbmlzaF9keW5hbWljX3NlY3Rpb25zKTogSGFuZGxlIHZ4d29ya3MKKwlfR0xPQkFMX09GRlNFVF9UQUJMRV8gaW4gLmdvdC5wbHQgc2VjdGlvbi4gIEFkZCBCRkRfQVNTRVJUcy4KKworMjAwOC0wOS0xNyAgQm9iIFdpbHNvbiAgPGJvYi53aWxzb25AYWNtLm9yZz4KKworCSogZWxmMzIteHRlbnNhLmMgKGVsZl94dGVuc2FfY2hlY2tfcmVsb2NzKTogQ2hlY2sgZm9yIG5lZ2F0aXZlCisJcmVmY291bnQuCisKKzIwMDgtMDktMTcgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCVBSIDY4OTMgLSBEbyBub3QgY29uc2lkZXIgRkRFcyBmb3IgZGlzY2FyZGVkIHNlY3Rpb25zIGFzIGludmFsaWQuCisJKiBlbGYtZWgtZnJhbWUuYyAoX2JmZF9lbGZfcGFyc2VfZWhfZnJhbWUpOiBOZXcgUkVRVUlSRV9DTEVBUkVEX1JFTE9DUy4KKwlDb25zaWRlciBGREVzIHdpdGggY2xlYXJlZCByZWxvY2F0aW9ucyBhcyB2YWxpZCBhbmQgaWdub3JhYmxlLgorCisyMDA4LTA5LTE2ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CisKKwlQUiBsZC82ODc3CisJKiBlbGZsaW5rLmMgKF9iZmRfZWxmX21lcmdlX3N5bWJvbCk6IEFsbG93IGEgY29tbW9uIHN5bWJvbCB0bworCW92ZXJyaWRlIHRoZSBmdW5jdGlvbiBpbiBhIHNoYXJlZCBsaWJyYXJ5LgorCisyMDA4LTA5LTE2ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJUFIgNjg0NAorCSogZWxmMzItcHBjLmMgKFNZTV9WQUwpOiBEZWZpbmUuICBVc2UgdGhyb3VnaG91dCB0byBmaW5kIHN5bWJvbCB2bWEuCisJKHBwY19lbGZfcmVsb2NhdGVfc2VjdGlvbik6IENvcnJlY3QgR09UIG9mZnNldCBjYWxjdWxhdGlvbi4KKwkocHBjX2VsZl9maW5pc2hfZHluYW1pY19zeW1ib2wpOiBVc2UgUFBDX0hBIGFuZCBQUENfTE8uCisJKHBwY19lbGZfZmluaXNoX2R5bmFtaWNfc2VjdGlvbnMpOiBMaWtld2lzZS4gIEVycm9yIGlmCisJaHRhYi0+ZWxmLmhnb3Qgc3ltYm9sIGlzIG5vdCBkZWZpbmVkIGluIGh0YWItPmdvdCBzZWN0aW9uLgorCisyMDA4LTA5LTE2ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJUFIgNjg4OAorCSogZWxmMzItcHBjLmMgKHBwY19lbGZfcmVsb2NhdGVfc2VjdGlvbik6IEhhbmRsZSBOVUxMIHN5bWJvbCBzZWN0aW9uCisJb24gUl9QUENfVE9DMTYsIFJfUFBDX1NEQVJFTDE2LCBSX1BQQ19FTUJfU0RBMlJFTCwgUl9QUENfRU1CX1NEQTIxLAorCVJfUFBDX0VNQl9SRUxTREEsIFJfUFBDX1NFQ1RPRkYqIHJlbG9jcy4KKworMjAwOC0wOS0xMSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorCisJRml4IGxvYWRpbmcgbGFyZ2UgZWxmNjQgYmluYXJpZXMgb24gMzJiaXQgaG9zdHMuCisJKiBjb25maWd1cmUuaW46IENhbGwgQUNfU1lTX0xBUkdFRklMRS4KKwkqIGNvbmZpZy5pbjogUmVnZW5lcmF0ZS4KKwkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KKworMjAwOC0wOS0wOCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgorCisJKiBlbGZ4eC1taXBzLmMgKG1pcHMxNl9zdHViX3N5bW5keCkgPHNlYz46IE1hcmsgYXJndW1lbnQgYXMKKwl1bnVzZWQuCisKKzIwMDgtMDktMDggIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KKwkgICAgRGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KKworCVBSIGxkLzMxOTEKKwkqIGR3YXJmMi5jIChzdHJ1Y3QgYWRqdXN0ZWRfc2VjdGlvbik6IFJlbmFtZWQgZnJvbSBzdHJ1Y3QKKwlsb2FkYWJsZV9zZWN0aW9uLgorCShzdHJ1Y3QgZHdhcmYyX2RlYnVnKTogQWRqdXN0IGZvciByZW5hbWluZy4gIEFkZCB2ZXJzaW9uIGZpZWxkLgorCShyZWFkX2F0dHJpYnV0ZV92YWx1ZSk6IENvcnJlY3RseSBoYW5kbGUgRFdfRk9STV9yZWZfYWRkciBmb3IKKwlEV0FSRjMuCisJKGZpbmRfYWJzdHJhY3RfaW5zdGFuY2VfbmFtZSk6IFBhc3MgYSBwb2ludGVyIHRvCisJYXR0cmlidXRlIGluc3RlYWQgb2Ygb2Zmc2V0LiAgRm9yIERXX0ZPUk1fcmVmX2FkZHIsIGdldCB0aGUKKwllbnRyeSBhdCB0aGUgb2Zmc2V0IGZyb20gdGhlIC5kZWJ1Z19pbmZvIHNlY3Rpb24uCisJKHNjYW5fdW5pdF9mb3Jfc3ltYm9scyk6IFVwZGF0ZS4KKwkocGFyc2VfY29tcF91bml0KTogQWxsb3cgRFdBUkYzLiAgU2F2ZSB0aGUgdmVyc2lvbi4KKwkodW5zZXRfc2VjdGlvbnMpOiBVcGRhdGUgZm9yIHJlbmFtaW5nLgorCShwbGFjZV9zZWN0aW9ucyk6IExpa2V3aXNlLiAgU2V0IG5ldyBWTUFzIGZvciBEV0FSRiBzZWN0aW9ucworCWFsc28uCisKKzIwMDgtMDktMDggIFRyaXN0YW4gR2luZ29sZCAgPGdpbmdvbGRAYWRhY29yZS5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogVXBkYXRlIHZlcnNpb24gdG8gMi4xOS41MAorCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KKwogMjAwOC0wOS0wNSAgRGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KIAogCSogZHdhcmYyLmM6IENoYW5nZSBsZWFkaW5nIHdoaXRlc3BhY2UgdG8gdGFicy4KQEAgLTEzLDcgKzIxMiw3IEBACiAJQkZEX01BQ0hfT194ODZfRVhDRVBUSU9OX1NUQVRFLgogCShiZmRfbWFjaF9vX2xvYWRfY29tbWFuZF90eXBlKTogQWRkCiAJQkZEX01BQ0hfT19MQ19TRUdNRU5UXzY0LCBCRkRfTUFDSF9PX0xDX1JPVVRJTkVTXzY0LAotCUJGRF9NQUNIX09fTENfVVVJRC4JCisJQkZEX01BQ0hfT19MQ19VVUlELgogCShCRkRfTUFDSF9PX0NQVV9JUzY0QklUKTogQWRkZWQuCiAJKGJmZF9tYWNoX29fY3B1X3R5cGUpOiBBZGQgQkZEX01BQ0hfT19DUFVfVFlQRV9QT1dFUlBDXzY0LAogCUJGRF9NQUNIX09fQ1BVX1RZUEVfWDg2XzY0LgpAQCAtNDUsNyArMjQ0LDcgQEAKIAkoYmZkX21hY2hfb19zY2FuX3N0YXJ0X2FkZHJlc3MpOiBEaXR0by4KIAkoYmZkX21hY2hfb19zY2FuKTogRGl0dG8uCiAJKGJmZF9tYWNoX29fbG9va3VwX3NlY3Rpb24pOiBEaXR0by4KLQkKKwogMjAwOC0wOC0yNyAgSm9obiBEYXZpZCBBbmdsaW4gIDxkYXZlLmFuZ2xpbkBucmMtY25yYy5nYy5jYT4KIAogCSogZWxmLWhwcGEuaCAoZWxmX2hwcGFfcmVsb2NfZmluYWxfdHlwZSk6IEhhbmRsZSBSX1BBUklTQ19HUFJFTDY0LApkaWZmIC0tZ2l0IGEvYmZkL01ha2VmaWxlLmFtIGIvYmZkL01ha2VmaWxlLmFtCmluZGV4IGJlZmI5ZjEuLjhkZGYzY2MgMTAwNjQ0Ci0tLSBhL2JmZC9NYWtlZmlsZS5hbQorKysgYi9iZmQvTWFrZWZpbGUuYW0KQEAgLTExOTYsOCArMTE5Niw3IEBACiAgIGxpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oIGNvZmZjb2RlLmggY29mZnN3YXAuaAogY29mZi1hdXgubG86IGNvZmYtYXV4LmMgJChJTkNESVIpL2ZpbGVuYW1lcy5oICQoSU5DRElSKS9jb2ZmL2F1eC1jb2ZmLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL202OGsuaCAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oIFwKLSAgY29mZi1tNjhrLmMgJChJTkNESVIpL2hhc2h0YWIuaCAkKElOQ0RJUikvY29mZi9tNjhrLmggXAotICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oIGxpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oIFwKKyAgY29mZi1tNjhrLmMgJChJTkNESVIpL2hhc2h0YWIuaCBsaWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCBcCiAgIGNvZmZjb2RlLmggY29mZnN3YXAuaAogY29mZi1oODMwMC5sbzogY29mZi1oODMwMC5jICQoSU5DRElSKS9maWxlbmFtZXMuaCAkKElOQ0RJUikvaGFzaHRhYi5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCBnZW5saW5rLmggJChJTkNESVIpL2NvZmYvaDgzMDAuaCBcCkBAIC0xNzI1LDggKzE3MjQsOCBAQAogICAkKElOQ0RJUikvaGFzaHRhYi5oICQoSU5DRElSKS9jb2ZmL2FybS5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL3BlLmggbGliY29mZi5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCBjb2ZmY29kZS5oIHBlaWNvZGUuaCBsaWJwZWkuaAotcGUtYXJtLXdpbmNlLmxvOiBwZS1hcm0td2luY2UuYyBwZS1hcm0uYyAkKElOQ0RJUikvZmlsZW5hbWVzLmggXAotICBjb2ZmLWFybS5jICQoSU5DRElSKS9oYXNodGFiLmggJChJTkNESVIpL2NvZmYvYXJtLmggXAorcGUtYXJtLXdpbmNlLmxvOiBwZS1hcm0td2luY2UuYyAkKElOQ0RJUikvZmlsZW5hbWVzLmggXAorICBwZS1hcm0uYyBjb2ZmLWFybS5jICQoSU5DRElSKS9oYXNodGFiLmggJChJTkNESVIpL2NvZmYvYXJtLmggXAogICAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvY29mZi9wZS5oIGxpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oIGNvZmZjb2RlLmggXAogICBwZWljb2RlLmggbGlicGVpLmgKQEAgLTE5ODAsMTIgKzE5NzksMTIgQEAKICAgZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oIFwKICAgJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29wY29kZS9pYTY0LmggXAogICAkKElOQ0RJUikvZWxmL2lhNjQuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oICQoSU5DRElSKS9vYmphbGxvYy5oIFwKLSAgJChJTkNESVIpL2hhc2h0YWIuaCBlbGYzMi10YXJnZXQuaAorICBlbGYzMi10YXJnZXQuaAogZWxmNjQtaWE2NC5sbzogZWxmNjQtaWE2NC5jICQoSU5DRElSKS9maWxlbmFtZXMuaCAkKElOQ0RJUikvaGFzaHRhYi5oIFwKICAgZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oIFwKICAgJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29wY29kZS9pYTY0LmggXAogICAkKElOQ0RJUikvZWxmL2lhNjQuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oICQoSU5DRElSKS9vYmphbGxvYy5oIFwKLSAgJChJTkNESVIpL2hhc2h0YWIuaCBlbGY2NC10YXJnZXQuaAorICBlbGY2NC10YXJnZXQuaAogcGVpZ2VuLmxvOiBwZWlnZW4uYyAkKElOQ0RJUikvZmlsZW5hbWVzLmggJChJTkNESVIpL2hhc2h0YWIuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvaTM4Ni5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXAogICAkKElOQ0RJUikvY29mZi9wZS5oIGxpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oIGxpYnBlaS5oCmRpZmYgLS1naXQgYS9iZmQvTWFrZWZpbGUuaW4gYi9iZmQvTWFrZWZpbGUuaW4KaW5kZXggMWU3N2EzMi4uOWQ4NjkwMiAxMDA2NDQKLS0tIGEvYmZkL01ha2VmaWxlLmluCisrKyBiL2JmZC9NYWtlZmlsZS5pbgpAQCAtNTksOSArNTksOSBAQAogCSQodG9wX3NyY2RpcikvLi4vY29uZmlnL3Byb2d0ZXN0Lm00IFwKIAkkKHRvcF9zcmNkaXIpLy4uL2NvbmZpZy9zdGRpbnQubTQgJCh0b3Bfc3JjZGlyKS8uLi9saWJ0b29sLm00IFwKIAkkKHRvcF9zcmNkaXIpLy4uL2x0b3B0aW9ucy5tNCAkKHRvcF9zcmNkaXIpLy4uL2x0c3VnYXIubTQgXAotCSQodG9wX3NyY2RpcikvLi4vbHR2ZXJzaW9uLm00ICQodG9wX3NyY2RpcikvYmZkLm00IFwKLQkkKHRvcF9zcmNkaXIpL3dhcm5pbmcubTQgJCh0b3Bfc3JjZGlyKS9hY2luY2x1ZGUubTQgXAotCSQodG9wX3NyY2RpcikvY29uZmlndXJlLmluCisJJCh0b3Bfc3JjZGlyKS8uLi9sdHZlcnNpb24ubTQgJCh0b3Bfc3JjZGlyKS8uLi9sdH5vYnNvbGV0ZS5tNCBcCisJJCh0b3Bfc3JjZGlyKS9iZmQubTQgJCh0b3Bfc3JjZGlyKS93YXJuaW5nLm00IFwKKwkkKHRvcF9zcmNkaXIpL2FjaW5jbHVkZS5tNCAkKHRvcF9zcmNkaXIpL2NvbmZpZ3VyZS5pbgogYW1fX2NvbmZpZ3VyZV9kZXBzID0gJChhbV9fYWNsb2NhbF9tNF9kZXBzKSAkKENPTkZJR1VSRV9ERVBFTkRFTkNJRVMpIFwKIAkkKEFDTE9DQUxfTTQpCiBhbV9fQ09ORklHX0RJU1RDTEVBTl9GSUxFUyA9IGNvbmZpZy5zdGF0dXMgY29uZmlnLmNhY2hlIGNvbmZpZy5sb2cgXApAQCAtMTQyLDYgKzE0Miw3IEBACiBERUJVR0RJUiA9IEBERUJVR0RJUkAKIERFRlMgPSBAREVGU0AKIERFUERJUiA9IEBERVBESVJACitEU1lNVVRJTCA9IEBEU1lNVVRJTEAKIERVTVBCSU4gPSBARFVNUEJJTkAKIEVDSE9fQyA9IEBFQ0hPX0NACiBFQ0hPX04gPSBARUNIT19OQApAQCAtMTcxLDYgKzE3Miw3IEBACiBMSUJPQkpTID0gQExJQk9CSlNACiBMSUJTID0gQExJQlNACiBMSUJUT09MID0gQExJQlRPT0xACitMSVBPID0gQExJUE9ACiBMTl9TID0gQExOX1NACiBMVExJQk9CSlMgPSBATFRMSUJPQkpTQAogTUFJTlQgPSBATUFJTlRACkBAIC0xODEsOCArMTgzLDEyIEBACiBNU0dGTVQgPSBATVNHRk1UQAogTVNHTUVSR0UgPSBATVNHTUVSR0VACiBOTSA9IEBOTUAKK05NRURJVCA9IEBOTUVESVRACiBOT19XRVJST1IgPSBATk9fV0VSUk9SQAorT0JKRFVNUCA9IEBPQkpEVU1QQAogT0JKRVhUID0gQE9CSkVYVEAKK09UT09MID0gQE9UT09MQAorT1RPT0w2NCA9IEBPVE9PTDY0QAogUEFDS0FHRSA9IEBQQUNLQUdFQAogUEFDS0FHRV9CVUdSRVBPUlQgPSBAUEFDS0FHRV9CVUdSRVBPUlRACiBQQUNLQUdFX05BTUUgPSBAUEFDS0FHRV9OQU1FQApAQCAtMjA4LDcgKzIxNCwxMyBAQAogWEdFVFRFWFQgPSBAWEdFVFRFWFRACiBhY19jdF9BUiA9IEBhY19jdF9BUkAKIGFjX2N0X0NDID0gQGFjX2N0X0NDQAorYWNfY3RfRFNZTVVUSUwgPSBAYWNfY3RfRFNZTVVUSUxACiBhY19jdF9EVU1QQklOID0gQGFjX2N0X0RVTVBCSU5ACithY19jdF9MSVBPID0gQGFjX2N0X0xJUE9ACithY19jdF9OTUVESVQgPSBAYWNfY3RfTk1FRElUQAorYWNfY3RfT0JKRFVNUCA9IEBhY19jdF9PQkpEVU1QQAorYWNfY3RfT1RPT0wgPSBAYWNfY3RfT1RPT0xACithY19jdF9PVE9PTDY0ID0gQGFjX2N0X09UT09MNjRACiBhY19jdF9SQU5MSUIgPSBAYWNfY3RfUkFOTElCQAogYWNfY3RfU1RSSVAgPSBAYWNfY3RfU1RSSVBACiBhbGxfYmFja2VuZHMgPSBAYWxsX2JhY2tlbmRzQApAQCAtOTk1LDE1ICsxMDA3LDE1IEBACiAJQGZvciBkZXAgaW4gJD87IGRvIFwKIAkgIGNhc2UgJyQoYW1fX2NvbmZpZ3VyZV9kZXBzKScgaW4gXAogCSAgICAqJCRkZXAqKSBcCi0JICAgICAgZWNobyAnIGNkICQoc3JjZGlyKSAmJiAkKEFVVE9NQUtFKSAtLWN5Z251cyAnOyBcCi0JICAgICAgY2QgJChzcmNkaXIpICYmICQoQVVUT01BS0UpIC0tY3lnbnVzICBcCisJICAgICAgZWNobyAnIGNkICQoc3JjZGlyKSAmJiAkKEFVVE9NQUtFKSAtLWZvcmVpZ24gJzsgXAorCSAgICAgIGNkICQoc3JjZGlyKSAmJiAkKEFVVE9NQUtFKSAtLWZvcmVpZ24gIFwKIAkJJiYgZXhpdCAwOyBcCiAJICAgICAgZXhpdCAxOzsgXAogCSAgZXNhYzsgXAogCWRvbmU7IFwKLQllY2hvICcgY2QgJCh0b3Bfc3JjZGlyKSAmJiAkKEFVVE9NQUtFKSAtLWN5Z251cyAgTWFrZWZpbGUnOyBcCisJZWNobyAnIGNkICQodG9wX3NyY2RpcikgJiYgJChBVVRPTUFLRSkgLS1mb3JlaWduICBNYWtlZmlsZSc7IFwKIAljZCAkKHRvcF9zcmNkaXIpICYmIFwKLQkgICQoQVVUT01BS0UpIC0tY3lnbnVzICBNYWtlZmlsZQorCSAgJChBVVRPTUFLRSkgLS1mb3JlaWduICBNYWtlZmlsZQogLlBSRUNJT1VTOiBNYWtlZmlsZQogTWFrZWZpbGU6ICQoc3JjZGlyKS9NYWtlZmlsZS5pbiAkKHRvcF9idWlsZGRpcikvY29uZmlnLnN0YXR1cwogCUBjYXNlICckPycgaW4gXApAQCAtMTc4MCw4ICsxNzkyLDcgQEAKICAgbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggY29mZmNvZGUuaCBjb2Zmc3dhcC5oCiBjb2ZmLWF1eC5sbzogY29mZi1hdXguYyAkKElOQ0RJUikvZmlsZW5hbWVzLmggJChJTkNESVIpL2NvZmYvYXV4LWNvZmYuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvbTY4ay5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXAotICBjb2ZmLW02OGsuYyAkKElOQ0RJUikvaGFzaHRhYi5oICQoSU5DRElSKS9jb2ZmL202OGsuaCBcCi0gICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggXAorICBjb2ZmLW02OGsuYyAkKElOQ0RJUikvaGFzaHRhYi5oIGxpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oIFwKICAgY29mZmNvZGUuaCBjb2Zmc3dhcC5oCiBjb2ZmLWg4MzAwLmxvOiBjb2ZmLWg4MzAwLmMgJChJTkNESVIpL2ZpbGVuYW1lcy5oICQoSU5DRElSKS9oYXNodGFiLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oIGdlbmxpbmsuaCAkKElOQ0RJUikvY29mZi9oODMwMC5oIFwKQEAgLTIzMDksOCArMjMyMCw4IEBACiAgICQoSU5DRElSKS9oYXNodGFiLmggJChJTkNESVIpL2NvZmYvYXJtLmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvcGUuaCBsaWJjb2ZmLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oIGNvZmZjb2RlLmggcGVpY29kZS5oIGxpYnBlaS5oCi1wZS1hcm0td2luY2UubG86IHBlLWFybS13aW5jZS5jIHBlLWFybS5jICQoSU5DRElSKS9maWxlbmFtZXMuaCBcCi0gIGNvZmYtYXJtLmMgJChJTkNESVIpL2hhc2h0YWIuaCAkKElOQ0RJUikvY29mZi9hcm0uaCBcCitwZS1hcm0td2luY2UubG86IHBlLWFybS13aW5jZS5jICQoSU5DRElSKS9maWxlbmFtZXMuaCBcCisgIHBlLWFybS5jIGNvZmYtYXJtLmMgJChJTkNESVIpL2hhc2h0YWIuaCAkKElOQ0RJUikvY29mZi9hcm0uaCBcCiAgICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9jb2ZmL3BlLmggbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggY29mZmNvZGUuaCBcCiAgIHBlaWNvZGUuaCBsaWJwZWkuaApAQCAtMjU2NCwxMiArMjU3NSwxMiBAQAogICBlbGYtYmZkLmggJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggXAogICAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb3Bjb2RlL2lhNjQuaCBcCiAgICQoSU5DRElSKS9lbGYvaWE2NC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChJTkNESVIpL29iamFsbG9jLmggXAotICAkKElOQ0RJUikvaGFzaHRhYi5oIGVsZjMyLXRhcmdldC5oCisgIGVsZjMyLXRhcmdldC5oCiBlbGY2NC1pYTY0LmxvOiBlbGY2NC1pYTY0LmMgJChJTkNESVIpL2ZpbGVuYW1lcy5oICQoSU5DRElSKS9oYXNodGFiLmggXAogICBlbGYtYmZkLmggJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggXAogICAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb3Bjb2RlL2lhNjQuaCBcCiAgICQoSU5DRElSKS9lbGYvaWE2NC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChJTkNESVIpL29iamFsbG9jLmggXAotICAkKElOQ0RJUikvaGFzaHRhYi5oIGVsZjY0LXRhcmdldC5oCisgIGVsZjY0LXRhcmdldC5oCiBwZWlnZW4ubG86IHBlaWdlbi5jICQoSU5DRElSKS9maWxlbmFtZXMuaCAkKElOQ0RJUikvaGFzaHRhYi5oIFwKICAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi9pMzg2LmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9jb2ZmL3BlLmggbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggbGlicGVpLmgKZGlmZiAtLWdpdCBhL2JmZC9hY2xvY2FsLm00IGIvYmZkL2FjbG9jYWwubTQKaW5kZXggZmEzMmRjYi4uMjA4ZmFkOSAxMDA2NDQKLS0tIGEvYmZkL2FjbG9jYWwubTQKKysrIGIvYmZkL2FjbG9jYWwubTQKQEAgLTg3MSw2ICs4NzEsNyBAQAogbTRfaW5jbHVkZShbLi4vbHRvcHRpb25zLm00XSkKIG00X2luY2x1ZGUoWy4uL2x0c3VnYXIubTRdKQogbTRfaW5jbHVkZShbLi4vbHR2ZXJzaW9uLm00XSkKK200X2luY2x1ZGUoWy4uL2x0fm9ic29sZXRlLm00XSkKIG00X2luY2x1ZGUoW2JmZC5tNF0pCiBtNF9pbmNsdWRlKFt3YXJuaW5nLm00XSkKIG00X2luY2x1ZGUoW2FjaW5jbHVkZS5tNF0pCmRpZmYgLS1naXQgYS9iZmQvYmZkLWluMi5oIGIvYmZkL2JmZC1pbjIuaAppbmRleCBjOGVmNWY5Li4xNjYwOWNiIDEwMDY0NAotLS0gYS9iZmQvYmZkLWluMi5oCisrKyBiL2JmZC9iZmQtaW4yLmgKQEAgLTQxOTIsNiArNDE5MiwxOSBAQAogLyogMzItYml0IG9mZnNldCB0byBzeW1ib2wgd2l0aCBQTFQgZW50cnksIHJlbGF0aXZlIHRvIHRoaXMgcmVsb2NhdGlvbi4gICovCiAgIEJGRF9SRUxPQ19DUklTXzMyX1BMVF9QQ1JFTCwKIAorLyogUmVsb2NzIHVzZWQgaW4gVExTIGNvZGUgZm9yIENSSVMuICAqLworICBCRkRfUkVMT0NfQ1JJU18zMl9HT1RfR0QsCisgIEJGRF9SRUxPQ19DUklTXzE2X0dPVF9HRCwKKyAgQkZEX1JFTE9DX0NSSVNfMzJfR0QsCisgIEJGRF9SRUxPQ19DUklTX0RUUCwKKyAgQkZEX1JFTE9DX0NSSVNfMzJfRFRQUkVMLAorICBCRkRfUkVMT0NfQ1JJU18xNl9EVFBSRUwsCisgIEJGRF9SRUxPQ19DUklTXzMyX0dPVF9UUFJFTCwKKyAgQkZEX1JFTE9DX0NSSVNfMTZfR09UX1RQUkVMLAorICBCRkRfUkVMT0NfQ1JJU18zMl9UUFJFTCwKKyAgQkZEX1JFTE9DX0NSSVNfMTZfVFBSRUwsCisgIEJGRF9SRUxPQ19DUklTX0RUUE1PRCwKKwogLyogSW50ZWwgaTg2MCBSZWxvY2F0aW9ucy4gICovCiAgIEJGRF9SRUxPQ184NjBfQ09QWSwKICAgQkZEX1JFTE9DXzg2MF9HTE9CX0RBVCwKZGlmZiAtLWdpdCBhL2JmZC9jYWNoZS5jIGIvYmZkL2NhY2hlLmMKaW5kZXggMzkwNjMzNS4uNTA2NzRlOCAxMDA2NDQKLS0tIGEvYmZkL2NhY2hlLmMKKysrIGIvYmZkL2NhY2hlLmMKQEAgLTMxNyw3ICszMTcsNyBAQAogICAgICAgaWYgKGNodW5rX3NpemUgPiBtYXhfY2h1bmtfc2l6ZSkKICAgICAgICAgY2h1bmtfc2l6ZSA9IG1heF9jaHVua19zaXplOwogCi0gICAgICBjaHVua19ucmVhZCA9IGNhY2hlX2JyZWFkXzEgKGFiZmQsIGJ1ZiArIG5yZWFkLCBjaHVua19zaXplKTsKKyAgICAgIGNodW5rX25yZWFkID0gY2FjaGVfYnJlYWRfMSAoYWJmZCwgKGNoYXIgKikgYnVmICsgbnJlYWQsIGNodW5rX3NpemUpOwogCiAgICAgICAvKiBVcGRhdGUgdGhlIG5yZWFkIGNvdW50LgogCkBAIC0zNDIsNiArMzQyLDcgQEAKIHsKICAgZmlsZV9wdHIgbndyaXRlOwogICBGSUxFICpmID0gYmZkX2NhY2hlX2xvb2t1cCAoYWJmZCwgMCk7CisKICAgaWYgKGYgPT0gTlVMTCkKICAgICByZXR1cm4gMDsKICAgbndyaXRlID0gZndyaXRlICh3aGVyZSwgMSwgbmJ5dGVzLCBmKTsKQEAgLTM2NCw2ICszNjUsNyBAQAogewogICBpbnQgc3RzOwogICBGSUxFICpmID0gYmZkX2NhY2hlX2xvb2t1cCAoYWJmZCwgQ0FDSEVfTk9fT1BFTik7CisKICAgaWYgKGYgPT0gTlVMTCkKICAgICByZXR1cm4gMDsKICAgc3RzID0gZmZsdXNoIChmKTsKQEAgLTM3Nyw2ICszNzksNyBAQAogewogICBpbnQgc3RzOwogICBGSUxFICpmID0gYmZkX2NhY2hlX2xvb2t1cCAoYWJmZCwgQ0FDSEVfTk9fU0VFS19FUlJPUik7CisKICAgaWYgKGYgPT0gTlVMTCkKICAgICByZXR1cm4gLTE7CiAgIHN0cyA9IGZzdGF0IChmaWxlbm8gKGYpLCBzYik7CkBAIC0zODUsNyArMzg4LDggQEAKICAgcmV0dXJuIHN0czsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBiZmRfaW92ZWMgY2FjaGVfaW92ZWMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGJmZF9pb3ZlYyBjYWNoZV9pb3ZlYyA9Cit7CiAgICZjYWNoZV9icmVhZCwgJmNhY2hlX2J3cml0ZSwgJmNhY2hlX2J0ZWxsLCAmY2FjaGVfYnNlZWssCiAgICZjYWNoZV9iY2xvc2UsICZjYWNoZV9iZmx1c2gsICZjYWNoZV9ic3RhdAogfTsKZGlmZiAtLWdpdCBhL2JmZC9jb2ZmNjQtcnM2MDAwLmMgYi9iZmQvY29mZjY0LXJzNjAwMC5jCmluZGV4IDdhMGVjMWYuLmVlNzk3ZWQgMTAwNjQ0Ci0tLSBhL2JmZC9jb2ZmNjQtcnM2MDAwLmMKKysrIGIvYmZkL2NvZmY2NC1yczYwMDAuYwpAQCAtMjU4MCw3ICsyNTgwLDcgQEAKICAgICAgIGNvZmZfcHJpbnRfYXV4LAogICAgICAgZHVtbXlfcmVsb2MxNl9leHRyYV9jYXNlcywKICAgICAgIGR1bW15X3JlbG9jMTZfZXN0aW1hdGUsCi0gICAgICBOVUxMLAkJCS8qIGJmZF9jb2ZmX3N5bV9pc19nbG9iYWwgKi8KKyAgICAgIE5VTEwsCQkJLyogYmZkX2NvZmZfc3ltYm9sX2NsYXNzaWZpY2F0aW9uICovCiAgICAgICBjb2ZmX2NvbXB1dGVfc2VjdGlvbl9maWxlX3Bvc2l0aW9ucywKICAgICAgIE5VTEwsCQkJLyogX2JmZF9jb2ZmX3N0YXJ0X2ZpbmFsX2xpbmsgKi8KICAgICAgIHhjb2ZmNjRfcHBjX3JlbG9jYXRlX3NlY3Rpb24sCmRpZmYgLS1naXQgYS9iZmQvY29mZmdlbi5jIGIvYmZkL2NvZmZnZW4uYwppbmRleCAxN2Q0NmEyLi40NjljZGZhIDEwMDY0NAotLS0gYS9iZmQvY29mZmdlbi5jCisrKyBiL2JmZC9jb2ZmZ2VuLmMKQEAgLTEwODIsNiArMTA4MiwxMSBAQAogCQkJICAgIGRlYnVnX3N0cmluZ19zaXplX3ApOwogfQogCitzdGF0aWMgdm9pZAorbnVsbF9lcnJvcl9oYW5kbGVyIChjb25zdCBjaGFyICogZm10IEFUVFJJQlVURV9VTlVTRUQsIC4uLikKK3sKK30KKwogLyogV3JpdGUgb3V0IHRoZSBDT0ZGIHN5bWJvbHMuICAqLwogCiBiZmRfYm9vbGVhbgpAQCAtMTEzOCw2ICsxMTQzLDQyIEBACiAJfQogICAgICAgZWxzZQogCXsKKwkgIGlmIChjb2ZmX2JhY2tlbmRfaW5mbyAoYWJmZCktPl9iZmRfY29mZl9jbGFzc2lmeV9zeW1ib2wgIT0gTlVMTCkKKwkgICAgeworCSAgICAgIGJmZF9lcnJvcl9oYW5kbGVyX3R5cGUgY3VycmVudF9lcnJvcl9oYW5kbGVyOworCSAgICAgIGVudW0gY29mZl9zeW1ib2xfY2xhc3NpZmljYXRpb24gY2xhc3M7CisJICAgICAgdW5zaWduZWQgY2hhciAqbl9zY2xhc3M7CisKKwkgICAgICAvKiBTdXBwcmVzcyBlcnJvciByZXBvcnRpbmcgYnkgYmZkX2NvZmZfY2xhc3NpZnlfc3ltYm9sLgorCQkgRXJyb3IgbWVzc2FnZXMgY2FuIGJlIGdlbmVyYXRlZCB3aGVuIHdlIGFyZSBwcm9jZXNzaW5nIGEgbG9jYWwKKwkJIHN5bWJvbCB3aGljaCBoYXMgbm8gYXNzb2NpYXRlZCBzZWN0aW9uIGFuZCB3ZSBkbyBub3QgaGF2ZSB0bworCQkgd29ycnkgYWJvdXQgdGhpcywgYWxsIHdlIG5lZWQgdG8ga25vdyBpcyB0aGF0IGl0IGlzIGxvY2FsLiAgKi8KKwkgICAgICBjdXJyZW50X2Vycm9yX2hhbmRsZXIgPSBiZmRfc2V0X2Vycm9yX2hhbmRsZXIgKG51bGxfZXJyb3JfaGFuZGxlcik7CisJICAgICAgY2xhc3MgPSBiZmRfY29mZl9jbGFzc2lmeV9zeW1ib2wgKGFiZmQsICZjX3N5bWJvbC0+bmF0aXZlLT51LnN5bWVudCk7CisJICAgICAgKHZvaWQpIGJmZF9zZXRfZXJyb3JfaGFuZGxlciAoY3VycmVudF9lcnJvcl9oYW5kbGVyKTsKKwkgIAorCSAgICAgIG5fc2NsYXNzID0gJmNfc3ltYm9sLT5uYXRpdmUtPnUuc3ltZW50Lm5fc2NsYXNzOworCisJICAgICAgLyogSWYgdGhlIHN5bWJvbCBjbGFzcyBoYXMgYmVlbiBjaGFuZ2VkIChlZyBvYmpjb3B5L2xkIHNjcmlwdC9ldGMpCisJCSB3ZSBjYW5ub3QgcmV0YWluIHRoZSBleGlzdGluZyBzY2xhc3MgZnJvbSB0aGUgb3JpZ2luYWwgc3ltYm9sLgorCQkgV2VhayBzeW1ib2xzIG9ubHkgaGF2ZSBvbmUgdmFsaWQgc2NsYXNzLCBzbyBqdXN0IHNldCBpdCBhbHdheXMuCisJCSBJZiBpdCBpcyBub3QgbG9jYWwgY2xhc3MgYW5kIHNob3VsZCBiZSwgc2V0IGl0IENfU1RBVC4KKwkJIElmIGl0IGlzIGdsb2JhbCBhbmQgbm90IGNsYXNzaWZpZWQgYXMgZ2xvYmFsLCBvciBpZiBpdCBpcworCQkgd2VhayAod2hpY2ggaXMgYWxzbyBjbGFzc2lmaWVkIGFzIGdsb2JhbCksIHNldCBpdCBDX0VYVC4gICovCisKKwkgICAgICBpZiAoc3ltYm9sLT5mbGFncyAmIEJTRl9XRUFLKQorCQkqbl9zY2xhc3MgPSBvYmpfcGUgKGFiZmQpID8gQ19OVF9XRUFLIDogQ19XRUFLRVhUOworCSAgICAgIGVsc2UgaWYgKHN5bWJvbC0+ZmxhZ3MgJiBCU0ZfTE9DQUwgJiYgY2xhc3MgIT0gQ09GRl9TWU1CT0xfTE9DQUwpCisJCSpuX3NjbGFzcyA9IENfU1RBVDsKKwkgICAgICBlbHNlIGlmIChzeW1ib2wtPmZsYWdzICYgQlNGX0dMT0JBTAorCQkgICAgICAgJiYgKGNsYXNzICE9IENPRkZfU1lNQk9MX0dMT0JBTAorI2lmZGVmIENPRkZfV0lUSF9QRQorCQkJICAgfHwgKm5fc2NsYXNzID09IENfTlRfV0VBSworI2VuZGlmCisJCQkgICB8fCAqbl9zY2xhc3MgPT0gQ19XRUFLRVhUKSkKKwkJY19zeW1ib2wtPm5hdGl2ZS0+dS5zeW1lbnQubl9zY2xhc3MgPSBDX0VYVDsKKwkgICAgfQorCiAJICBpZiAoIWNvZmZfd3JpdGVfbmF0aXZlX3N5bWJvbCAoYWJmZCwgY19zeW1ib2wsICZ3cml0dGVuLAogCQkJCQkgJnN0cmluZ19zaXplLCAmZGVidWdfc3RyaW5nX3NlY3Rpb24sCiAJCQkJCSAmZGVidWdfc3RyaW5nX3NpemUpKQpkaWZmIC0tZ2l0IGEvYmZkL2NvZmZsaW5rLmMgYi9iZmQvY29mZmxpbmsuYwppbmRleCAxOWE3ZGQyLi5kNzcxMTY4IDEwMDY0NAotLS0gYS9iZmQvY29mZmxpbmsuYworKysgYi9iZmQvY29mZmxpbmsuYwpAQCAtMjk4NSwxNiArMjk4NSwxNiBAQAogCQkgYWJzb2x1dGUuICBXZSBvdXRwdXQgdGhlIGFkZHJlc3MgaGVyZSB0byBhIGZpbGUuCiAJCSBUaGlzIGZpbGUgaXMgdGhlbiByZWFkIGJ5IGRsbHRvb2wgd2hlbiBnZW5lcmF0aW5nIHRoZQogCQkgcmVsb2Mgc2VjdGlvbi4gIE5vdGUgdGhhdCB0aGUgYmFzZSBmaWxlIGlzIG5vdAotCQkgcG9ydGFibGUgYmV0d2VlbiBzeXN0ZW1zLiAgV2Ugd3JpdGUgb3V0IGEgbG9uZyBoZXJlLAotCQkgYW5kIGRsbHRvb2wgcmVhZHMgaW4gYSBsb25nLiAgKi8KLQkgICAgICBsb25nIGFkZHIgPSAocmVsLT5yX3ZhZGRyCisJCSBwb3J0YWJsZSBiZXR3ZWVuIHN5c3RlbXMuICBXZSB3cml0ZSBvdXQgYSBiZmRfdm1hIGhlcmUsCisJCSBhbmQgZGxsdG9vbCByZWFkcyBpbiBhIGJmZF92bWEuICAqLworCSAgICAgIGJmZF92bWEgYWRkciA9IChyZWwtPnJfdmFkZHIKIAkJCSAgIC0gaW5wdXRfc2VjdGlvbi0+dm1hCiAJCQkgICArIGlucHV0X3NlY3Rpb24tPm91dHB1dF9vZmZzZXQKIAkJCSAgICsgaW5wdXRfc2VjdGlvbi0+b3V0cHV0X3NlY3Rpb24tPnZtYSk7CiAJICAgICAgaWYgKGNvZmZfZGF0YSAob3V0cHV0X2JmZCktPnBlKQogCQlhZGRyIC09IHBlX2RhdGEob3V0cHV0X2JmZCktPnBlX29wdGhkci5JbWFnZUJhc2U7Ci0JICAgICAgaWYgKGZ3cml0ZSAoJmFkZHIsIDEsIHNpemVvZiAobG9uZyksIChGSUxFICopIGluZm8tPmJhc2VfZmlsZSkKLQkJICAhPSBzaXplb2YgKGxvbmcpKQorCSAgICAgIGlmIChmd3JpdGUgKCZhZGRyLCAxLCBzaXplb2YgKGJmZF92bWEpLCAoRklMRSAqKSBpbmZvLT5iYXNlX2ZpbGUpCisJCSAgIT0gc2l6ZW9mIChiZmRfdm1hKSkKIAkJewogCQkgIGJmZF9zZXRfZXJyb3IgKGJmZF9lcnJvcl9zeXN0ZW1fY2FsbCk7CiAJCSAgcmV0dXJuIEZBTFNFOwpkaWZmIC0tZ2l0IGEvYmZkL2NvbmZpZy5pbiBiL2JmZC9jb25maWcuaW4KaW5kZXggN2E0YWE3MC4uZjE1ZTRmZiAxMDA2NDQKLS0tIGEvYmZkL2NvbmZpZy5pbgorKysgYi9iZmQvY29uZmlnLmluCkBAIC0yOTcsMTEgKzI5NywxNyBAQAogLyogVmVyc2lvbiBudW1iZXIgb2YgcGFja2FnZSAqLwogI3VuZGVmIFZFUlNJT04KIAorLyogTnVtYmVyIG9mIGJpdHMgaW4gYSBmaWxlIG9mZnNldCwgb24gaG9zdHMgd2hlcmUgdGhpcyBpcyBzZXR0YWJsZS4gKi8KKyN1bmRlZiBfRklMRV9PRkZTRVRfQklUUworCiAvKiBFbmFibGUgR05VIGV4dGVuc2lvbnMgb24gc3lzdGVtcyB0aGF0IGhhdmUgdGhlbS4gICovCiAjaWZuZGVmIF9HTlVfU09VUkNFCiAjIHVuZGVmIF9HTlVfU09VUkNFCiAjZW5kaWYKIAorLyogRGVmaW5lIGZvciBsYXJnZSBmaWxlcywgb24gQUlYLXN0eWxlIGhvc3RzLiAqLworI3VuZGVmIF9MQVJHRV9GSUxFUworCiAvKiBEZWZpbmUgdG8gMSBpZiBvbiBNSU5JWC4gKi8KICN1bmRlZiBfTUlOSVgKIApkaWZmIC0tZ2l0IGEvYmZkL2NvbmZpZ3VyZSBiL2JmZC9jb25maWd1cmUKaW5kZXggMjk5NzU3Ni4uODRiYTBmNiAxMDA3NTUKLS0tIGEvYmZkL2NvbmZpZ3VyZQorKysgYi9iZmQvY29uZmlndXJlCkBAIC00NTgsNyArNDU4LDcgQEAKICMgaW5jbHVkZSA8dW5pc3RkLmg+CiAjZW5kaWYiCiAKLWFjX3N1YnN0X3ZhcnM9J1NIRUxMIFBBVEhfU0VQQVJBVE9SIFBBQ0tBR0VfTkFNRSBQQUNLQUdFX1RBUk5BTUUgUEFDS0FHRV9WRVJTSU9OIFBBQ0tBR0VfU1RSSU5HIFBBQ0tBR0VfQlVHUkVQT1JUIGV4ZWNfcHJlZml4IHByZWZpeCBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lIGJpbmRpciBzYmluZGlyIGxpYmV4ZWNkaXIgZGF0YWRpciBzeXNjb25mZGlyIHNoYXJlZHN0YXRlZGlyIGxvY2Fsc3RhdGVkaXIgbGliZGlyIGluY2x1ZGVkaXIgb2xkaW5jbHVkZWRpciBpbmZvZGlyIG1hbmRpciBidWlsZF9hbGlhcyBob3N0X2FsaWFzIHRhcmdldF9hbGlhcyBERUZTIEVDSE9fQyBFQ0hPX04gRUNIT19UIExJQlMgYnVpbGQgYnVpbGRfY3B1IGJ1aWxkX3ZlbmRvciBidWlsZF9vcyBob3N0IGhvc3RfY3B1IGhvc3RfdmVuZG9yIGhvc3Rfb3MgdGFyZ2V0IHRhcmdldF9jcHUgdGFyZ2V0X3ZlbmRvciB0YXJnZXRfb3MgQ0MgQ0ZMQUdTIExERkxBR1MgQ1BQRkxBR1MgYWNfY3RfQ0MgRVhFRVhUIE9CSkVYVCBJTlNUQUxMX1BST0dSQU0gSU5TVEFMTF9TQ1JJUFQgSU5TVEFMTF9EQVRBIENZR1BBVEhfVyBQQUNLQUdFIFZFUlNJT04gQUNMT0NBTCBBVVRPQ09ORiBBVVRPTUFLRSBBVVRPSEVBREVSIE1BS0VJTkZPIGluc3RhbGxfc2ggU1RSSVAgYWNfY3RfU1RSSVAgSU5TVEFMTF9TVFJJUF9QUk9HUkFNIG1rZGlyX3AgQVdLIFNFVF9NQUtFIGFtX19sZWFkaW5nX2RvdCBBTVRBUiBhbV9fdGFyIGFtX191bnRhciBERVBESVIgYW1fX2luY2x1ZGUgYW1fX3F1b3RlIEFNREVQX1RSVUUgQU1ERVBfRkFMU0UgQU1ERVBCQUNLU0xBU0ggQ0NERVBNT0RFIGFtX19mYXN0ZGVwQ0NfVFJVRSBhbV9fZmFzdGRlcENDX0ZBTFNFIEFSIGFjX2N0X0FSIFJBTkxJQiBhY19jdF9SQU5MSUIgQ1BQIEVHUkVQIExJQlRPT0wgU0VEIEZHUkVQIEdSRVAgTEQgRFVNUEJJTiBhY19jdF9EVU1QQklOIE5NIExOX1MgbHRfRUNITyBERUJVR0RJUiBQS0dWRVJTSU9OIFJFUE9SVF9CVUdTX1RPIFJFUE9SVF9CVUdTX1RFWEkgV0FSTl9DRkxBR1MgTk9fV0VSUk9SIE1BSU5UQUlORVJfTU9ERV9UUlVFIE1BSU5UQUlORVJfTU9ERV9GQUxTRSBNQUlOVCBHRU5JTlNSQ19ORVZFUl9UUlVFIEdFTklOU1JDX05FVkVSX0ZBTFNFIElOU1RBTExfTElCQkZEX1RSVUUgSU5TVEFMTF9MSUJCRkRfRkFMU0UgaG9zdF9ub25jYW5vbmljYWwgdGFyZ2V0X25vbmNhbm9uaWNhbCBiZmRsaWJkaXIgYmZkaW5jbHVkZWRpciBVU0VfTkxTIExJQklOVEwgTElCSU5UTF9ERVAgSU5DSU5UTCBYR0VUVEVYVCBHTVNHRk1UIFBPU1VCIENBVEFMT0dTIERBVEFESVJOQU1FIElOU1RPQkpFWFQgR0VOQ0FUIENBVE9CSkVYVCBNS0lOU1RBTExESVJTIE1TR0ZNVCBNU0dNRVJHRSBIREVGSU5FUyBCRkRfSE9TVF82NEJJVF9MT05HIEJGRF9IT1NUXzY0QklUX0xPTkdfTE9ORyBCRkRfSE9TVF82NF9CSVRfREVGSU5FRCBCRkRfSE9TVF82NF9CSVQgQkZEX0hPU1RfVV82NF9CSVQgQkZEX0hPU1RQVFJfVCBDQ19GT1JfQlVJTEQgRVhFRVhUX0ZPUl9CVUlMRCBDT1JFRklMRSBDT1JFRkxBRyBXSU4zMkxERkxBR1MgV0lOMzJMSUJBREQgVERFRklORVMgd29yZHNpemUgYmZkNjRfbGlicyBhbGxfYmFja2VuZHMgYmZkX2JhY2tlbmRzIGJmZF9tYWNoaW5lcyBiZmRfZGVmYXVsdF90YXJnZXRfc2l6ZSBiZmRfZmlsZV9wdHIgYmZkX3VmaWxlX3B0ciB0ZGVmYXVsdHMgZGF0YXJvb3RkaXIgZG9jZGlyIGh0bWxkaXIgTElCT0JKUyBMVExJQk9CSlMnCithY19zdWJzdF92YXJzPSdTSEVMTCBQQVRIX1NFUEFSQVRPUiBQQUNLQUdFX05BTUUgUEFDS0FHRV9UQVJOQU1FIFBBQ0tBR0VfVkVSU0lPTiBQQUNLQUdFX1NUUklORyBQQUNLQUdFX0JVR1JFUE9SVCBleGVjX3ByZWZpeCBwcmVmaXggcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSBiaW5kaXIgc2JpbmRpciBsaWJleGVjZGlyIGRhdGFkaXIgc3lzY29uZmRpciBzaGFyZWRzdGF0ZWRpciBsb2NhbHN0YXRlZGlyIGxpYmRpciBpbmNsdWRlZGlyIG9sZGluY2x1ZGVkaXIgaW5mb2RpciBtYW5kaXIgYnVpbGRfYWxpYXMgaG9zdF9hbGlhcyB0YXJnZXRfYWxpYXMgREVGUyBFQ0hPX0MgRUNIT19OIEVDSE9fVCBMSUJTIGJ1aWxkIGJ1aWxkX2NwdSBidWlsZF92ZW5kb3IgYnVpbGRfb3MgaG9zdCBob3N0X2NwdSBob3N0X3ZlbmRvciBob3N0X29zIHRhcmdldCB0YXJnZXRfY3B1IHRhcmdldF92ZW5kb3IgdGFyZ2V0X29zIENDIENGTEFHUyBMREZMQUdTIENQUEZMQUdTIGFjX2N0X0NDIEVYRUVYVCBPQkpFWFQgSU5TVEFMTF9QUk9HUkFNIElOU1RBTExfU0NSSVBUIElOU1RBTExfREFUQSBDWUdQQVRIX1cgUEFDS0FHRSBWRVJTSU9OIEFDTE9DQUwgQVVUT0NPTkYgQVVUT01BS0UgQVVUT0hFQURFUiBNQUtFSU5GTyBpbnN0YWxsX3NoIFNUUklQIGFjX2N0X1NUUklQIElOU1RBTExfU1RSSVBfUFJPR1JBTSBta2Rpcl9wIEFXSyBTRVRfTUFLRSBhbV9fbGVhZGluZ19kb3QgQU1UQVIgYW1fX3RhciBhbV9fdW50YXIgREVQRElSIGFtX19pbmNsdWRlIGFtX19xdW90ZSBBTURFUF9UUlVFIEFNREVQX0ZBTFNFIEFNREVQQkFDS1NMQVNIIENDREVQTU9ERSBhbV9fZmFzdGRlcENDX1RSVUUgYW1fX2Zhc3RkZXBDQ19GQUxTRSBBUiBhY19jdF9BUiBSQU5MSUIgYWNfY3RfUkFOTElCIENQUCBFR1JFUCBMSUJUT09MIFNFRCBGR1JFUCBHUkVQIExEIERVTVBCSU4gYWNfY3RfRFVNUEJJTiBOTSBMTl9TIE9CSkRVTVAgYWNfY3RfT0JKRFVNUCBsdF9FQ0hPIERTWU1VVElMIGFjX2N0X0RTWU1VVElMIE5NRURJVCBhY19jdF9OTUVESVQgTElQTyBhY19jdF9MSVBPIE9UT09MIGFjX2N0X09UT09MIE9UT09MNjQgYWNfY3RfT1RPT0w2NCBERUJVR0RJUiBQS0dWRVJTSU9OIFJFUE9SVF9CVUdTX1RPIFJFUE9SVF9CVUdTX1RFWEkgV0FSTl9DRkxBR1MgTk9fV0VSUk9SIE1BSU5UQUlORVJfTU9ERV9UUlVFIE1BSU5UQUlORVJfTU9ERV9GQUxTRSBNQUlOVCBHRU5JTlNSQ19ORVZFUl9UUlVFIEdFTklOU1JDX05FVkVSX0ZBTFNFIElOU1RBTExfTElCQkZEX1RSVUUgSU5TVEFMTF9MSUJCRkRfRkFMU0UgaG9zdF9ub25jYW5vbmljYWwgdGFyZ2V0X25vbmNhbm9uaWNhbCBiZmRsaWJkaXIgYmZkaW5jbHVkZWRpciBVU0VfTkxTIExJQklOVEwgTElCSU5UTF9ERVAgSU5DSU5UTCBYR0VUVEVYVCBHTVNHRk1UIFBPU1VCIENBVEFMT0dTIERBVEFESVJOQU1FIElOU1RPQkpFWFQgR0VOQ0FUIENBVE9CSkVYVCBNS0lOU1RBTExESVJTIE1TR0ZNVCBNU0dNRVJHRSBIREVGSU5FUyBCRkRfSE9TVF82NEJJVF9MT05HIEJGRF9IT1NUXzY0QklUX0xPTkdfTE9ORyBCRkRfSE9TVF82NF9CSVRfREVGSU5FRCBCRkRfSE9TVF82NF9CSVQgQkZEX0hPU1RfVV82NF9CSVQgQkZEX0hPU1RQVFJfVCBDQ19GT1JfQlVJTEQgRVhFRVhUX0ZPUl9CVUlMRCBDT1JFRklMRSBDT1JFRkxBRyBXSU4zMkxERkxBR1MgV0lOMzJMSUJBREQgVERFRklORVMgd29yZHNpemUgYmZkNjRfbGlicyBhbGxfYmFja2VuZHMgYmZkX2JhY2tlbmRzIGJmZF9tYWNoaW5lcyBiZmRfZGVmYXVsdF90YXJnZXRfc2l6ZSBiZmRfZmlsZV9wdHIgYmZkX3VmaWxlX3B0ciB0ZGVmYXVsdHMgZGF0YXJvb3RkaXIgZG9jZGlyIGh0bWxkaXIgTElCT0JKUyBMVExJQk9CSlMnCiBhY19zdWJzdF9maWxlcz0nJwogYWNfcHdkPWBwd2RgCiAKQEAgLTEwMDQsNiArMTAwNCw3IEBACiAgIC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgICBkbyBub3QgcmVqZWN0IHNsb3cgZGVwZW5kZW5jeSBleHRyYWN0b3JzCiAgIC0tZW5hYmxlLXNoYXJlZFs9UEtHU10KICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGQgc2hhcmVkIGxpYnJhcmllcyBbZGVmYXVsdD1ub10KKyAgLS1kaXNhYmxlLWxhcmdlZmlsZSAgICAgb21pdCBzdXBwb3J0IGZvciBsYXJnZSBmaWxlcwogICAtLWVuYWJsZS1zdGF0aWNbPVBLR1NdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMgW2RlZmF1bHQ9eWVzXQogICAtLWVuYWJsZS1mYXN0LWluc3RhbGxbPVBLR1NdCkBAIC0zMDMyLDcgKzMwMzMsNyBAQAogCiAjIERlZmluZSB0aGUgaWRlbnRpdHkgb2YgdGhlIHBhY2thZ2UuCiAgUEFDS0FHRT1iZmQKLSBWRVJTSU9OPTIuMTguNTAKKyBWRVJTSU9OPTIuMTkuNTAKIAogCiBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCkBAIC00OTMzLDExICs0OTM0LDM4MiBAQAogX0FDRU9GCiAKIAorIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxhcmdlZmlsZSBvciAtLWRpc2FibGUtbGFyZ2VmaWxlIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7ZW5hYmxlX2xhcmdlZmlsZStzZXR9IiA9IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRlbmFibGVfbGFyZ2VmaWxlIgorCitmaTsKK2lmIHRlc3QgIiRlbmFibGVfbGFyZ2VmaWxlIiAhPSBubzsgdGhlbgorCisgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3Igc3BlY2lhbCBDIGNvbXBpbGVyIG9wdGlvbnMgbmVlZGVkIGZvciBsYXJnZSBmaWxlcyIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBzcGVjaWFsIEMgY29tcGlsZXIgb3B0aW9ucyBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9zeXNfbGFyZ2VmaWxlX0NDK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGFjX2N2X3N5c19sYXJnZWZpbGVfQ0M9bm8KKyAgICAgaWYgdGVzdCAiJEdDQyIgIT0geWVzOyB0aGVuCisgICAgICAgYWNfc2F2ZV9DQz0kQ0MKKyAgICAgICB3aGlsZSA6OyBkbworICAgICAJICMgSVJJWCA2LjIgYW5kIGxhdGVyIGRvIG5vdCBzdXBwb3J0IGxhcmdlIGZpbGVzIGJ5IGRlZmF1bHQsCisgICAgIAkgIyBzbyB1c2UgdGhlIEMgY29tcGlsZXIncyAtbjMyIG9wdGlvbiBpZiB0aGF0IGhlbHBzLgorCSBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGNvbmZkZWZzLmguICAqLworX0FDRU9GCitjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK2NhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4KKyAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCisgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycworICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KKyNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQorICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKKwkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQorCQkgICAgICA/IDEgOiAtMV07CitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCisgICAgIAkgcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CisgIChldmFsICRhY19jb21waWxlKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorICBicmVhaworZWxzZQorICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQKKyAgICAgCSBDQz0iJENDIC1uMzIiCisgICAgIAkgcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CisgIChldmFsICRhY19jb21waWxlKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorICBhY19jdl9zeXNfbGFyZ2VmaWxlX0NDPScgLW4zMic7IGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dAorCSBicmVhaworICAgICAgIGRvbmUKKyAgICAgICBDQz0kYWNfc2F2ZV9DQworICAgICAgIHJtIC1mIGNvbmZ0ZXN0LiRhY19leHQKKyAgICBmaQorZmkKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9zeXNfbGFyZ2VmaWxlX0NDIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdl9zeXNfbGFyZ2VmaWxlX0NDIiA+JjYKKyAgaWYgdGVzdCAiJGFjX2N2X3N5c19sYXJnZWZpbGVfQ0MiICE9IG5vOyB0aGVuCisgICAgQ0M9JENDJGFjX2N2X3N5c19sYXJnZWZpbGVfQ0MKKyAgZmkKKworICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIF9GSUxFX09GRlNFVF9CSVRTIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgX0ZJTEVfT0ZGU0VUX0JJVFMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcy4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHMrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgd2hpbGUgOjsgZG8KKyAgYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHM9bm8KKyAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBjb25mZGVmcy5oLiAgKi8KK19BQ0VPRgorY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CitjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgLyogQ2hlY2sgdGhhdCBvZmZfdCBjYW4gcmVwcmVzZW50IDIqKjYzIC0gMSBjb3JyZWN0bHkuCisgICAgV2UgY2FuJ3Qgc2ltcGx5IGRlZmluZSBMQVJHRV9PRkZfVCB0byBiZSA5MjIzMzcyMDM2ODU0Nzc1ODA3LAorICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBjb21waWxlcnMKKyAgICBpbmNvcnJlY3RseSByZWplY3QgOTIyMzM3MjAzNjg1NDc3NTgwNy4gICovCisjZGVmaW5lIExBUkdFX09GRl9UICgoKG9mZl90KSAxIDw8IDYyKSAtIDEgKyAoKG9mZl90KSAxIDw8IDYyKSkKKyAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCisJCSAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKKwkJICAgICAgPyAxIDogLTFdOworaW50CittYWluICgpCit7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CisgIChldmFsICRhY19jb21waWxlKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorICBicmVhaworZWxzZQorICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGNvbmZkZWZzLmguICAqLworX0FDRU9GCitjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK2NhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4KKyAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCisgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycworICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KKyNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQorICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKKwkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQorCQkgICAgICA/IDEgOiAtMV07CitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzPTY0OyBicmVhaworZWxzZQorICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorICBicmVhaworZG9uZQorZmkKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cyIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHMiID4mNgoraWYgdGVzdCAiJGFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzIiAhPSBubzsgdGhlbgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTICRhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cworX0FDRU9GCisKK2ZpCitybSAtZiBjb25mdGVzdCoKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBfTEFSR0VfRklMRVMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcyIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBfTEFSR0VfRklMRVMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcy4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3Zfc3lzX2xhcmdlX2ZpbGVzK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIHdoaWxlIDo7IGRvCisgIGFjX2N2X3N5c19sYXJnZV9maWxlcz1ubworICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGNvbmZkZWZzLmguICAqLworX0FDRU9GCitjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK2NhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4KKyAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCisgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycworICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KKyNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQorICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKKwkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQorCQkgICAgICA/IDEgOiAtMV07CitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CisgIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogY29uZmRlZnMuaC4gICovCitfQUNFT0YKK2NhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2RlZmluZSBfTEFSR0VfRklMRVMgMQorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIC8qIENoZWNrIHRoYXQgb2ZmX3QgY2FuIHJlcHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5LgorICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKKyAgICBzaW5jZSBzb21lIEMrKyBjb21waWxlcnMgbWFzcXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCisgICAgaW5jb3JyZWN0bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLworI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCisgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQorCQkgICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCisJCSAgICAgID8gMSA6IC0xXTsKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK3JtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKK2lmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorICAoZXZhbCAkYWNfY29tcGlsZSkgMj5jb25mdGVzdC5lcjEKKyAgYWNfc3RhdHVzPSQ/CisgIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCisgIHJtIC1mIGNvbmZ0ZXN0LmVyMQorICBjYXQgY29uZnRlc3QuZXJyID4mNQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC16ICIkYWNfY193ZXJyb3JfZmxhZyIKKwkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyJworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKyAgYWNfY3Zfc3lzX2xhcmdlX2ZpbGVzPTE7IGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CisgIGJyZWFrCitkb25lCitmaQorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X3N5c19sYXJnZV9maWxlcyIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3Zfc3lzX2xhcmdlX2ZpbGVzIiA+JjYKK2lmIHRlc3QgIiRhY19jdl9zeXNfbGFyZ2VfZmlsZXMiICE9IG5vOyB0aGVuCisKK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgX0xBUkdFX0ZJTEVTICRhY19jdl9zeXNfbGFyZ2VfZmlsZXMKK19BQ0VPRgorCitmaQorcm0gLWYgY29uZnRlc3QqCitmaQorCisKK2Nhc2UgYHB3ZGAgaW4KKyAgKlwgKiB8ICpcCSopCisgICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogTGlidG9vbCBkb2VzIG5vdCBjb3BlIHdlbGwgd2l0aCB3aGl0ZXNwYWNlIGluIFxgcHdkXGAiID4mNQorZWNobyAiJGFzX21lOiBXQVJOSU5HOiBMaWJ0b29sIGRvZXMgbm90IGNvcGUgd2VsbCB3aXRoIHdoaXRlc3BhY2UgaW4gXGBwd2RcYCIgPiYyO30gOzsKK2VzYWMKIAogCiAKLW1hY3JvX3ZlcnNpb249JzIuMWEnCi1tYWNyb19yZXZpc2lvbj0nMS4yNDM1JworbWFjcm9fdmVyc2lvbj0nMi4yLjYnCittYWNyb19yZXZpc2lvbj0nMS4zMDEyJworCiAKIAogCkBAIC00OTUyLDk0ICs1MzI0LDYgQEAKIAogbHRtYWluPSIkYWNfYXV4X2Rpci9sdG1haW4uc2giCiAKLSMgU2V0IG9wdGlvbnMKLQotZW5hYmxlX2Rsb3Blbj1ubwotCi0KLWVuYWJsZV93aW4zMl9kbGw9bm8KLQotCi0KLSMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1zdGF0aWMgb3IgLS1kaXNhYmxlLXN0YXRpYyB3YXMgZ2l2ZW4uCi1pZiB0ZXN0ICIke2VuYWJsZV9zdGF0aWMrc2V0fSIgPSBzZXQ7IHRoZW4KLSAgZW5hYmxldmFsPSIkZW5hYmxlX3N0YXRpYyIKLSAgcD0ke1BBQ0tBR0UtZGVmYXVsdH0KLSAgICBjYXNlICRlbmFibGV2YWwgaW4KLSAgICB5ZXMpIGVuYWJsZV9zdGF0aWM9eWVzIDs7Ci0gICAgbm8pIGVuYWJsZV9zdGF0aWM9bm8gOzsKLSAgICAqKQotICAgICBlbmFibGVfc3RhdGljPW5vCi0gICAgICAjIExvb2sgYXQgdGhlIGFyZ3VtZW50IHdlIGdvdC4gIFdlIHVzZSBhbGwgdGhlIGNvbW1vbiBsaXN0IHNlcGFyYXRvcnMuCi0gICAgICBsdF9zYXZlX2lmcz0iJElGUyI7IElGUz0iJHtJRlN9JFBBVEhfU0VQQVJBVE9SLCIKLSAgICAgIGZvciBwa2cgaW4gJGVuYWJsZXZhbDsgZG8KLQlJRlM9IiRsdF9zYXZlX2lmcyIKLQlpZiB0ZXN0ICJYJHBrZyIgPSAiWCRwIjsgdGhlbgotCSAgZW5hYmxlX3N0YXRpYz15ZXMKLQlmaQotICAgICAgZG9uZQotICAgICAgSUZTPSIkbHRfc2F2ZV9pZnMiCi0gICAgICA7OwotICAgIGVzYWMKLWVsc2UKLSAgZW5hYmxlX3N0YXRpYz15ZXMKLWZpOwotCi0KLQotCi0KLQotCi0KLQotIyBDaGVjayB3aGV0aGVyIC0td2l0aC1waWMgb3IgLS13aXRob3V0LXBpYyB3YXMgZ2l2ZW4uCi1pZiB0ZXN0ICIke3dpdGhfcGljK3NldH0iID0gc2V0OyB0aGVuCi0gIHdpdGh2YWw9IiR3aXRoX3BpYyIKLSAgcGljX21vZGU9IiR3aXRodmFsIgotZWxzZQotICBwaWNfbW9kZT1kZWZhdWx0Ci1maTsKLQotdGVzdCAteiAiJHBpY19tb2RlIiAmJiBwaWNfbW9kZT1kZWZhdWx0Ci0KLQotCi0KLQotCi0KLSMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1mYXN0LWluc3RhbGwgb3IgLS1kaXNhYmxlLWZhc3QtaW5zdGFsbCB3YXMgZ2l2ZW4uCi1pZiB0ZXN0ICIke2VuYWJsZV9mYXN0X2luc3RhbGwrc2V0fSIgPSBzZXQ7IHRoZW4KLSAgZW5hYmxldmFsPSIkZW5hYmxlX2Zhc3RfaW5zdGFsbCIKLSAgcD0ke1BBQ0tBR0UtZGVmYXVsdH0KLSAgICBjYXNlICRlbmFibGV2YWwgaW4KLSAgICB5ZXMpIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzIDs7Ci0gICAgbm8pIGVuYWJsZV9mYXN0X2luc3RhbGw9bm8gOzsKLSAgICAqKQotICAgICAgZW5hYmxlX2Zhc3RfaW5zdGFsbD1ubwotICAgICAgIyBMb29rIGF0IHRoZSBhcmd1bWVudCB3ZSBnb3QuICBXZSB1c2UgYWxsIHRoZSBjb21tb24gbGlzdCBzZXBhcmF0b3JzLgotICAgICAgbHRfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSRQQVRIX1NFUEFSQVRPUiwiCi0gICAgICBmb3IgcGtnIGluICRlbmFibGV2YWw7IGRvCi0JSUZTPSIkbHRfc2F2ZV9pZnMiCi0JaWYgdGVzdCAiWCRwa2ciID0gIlgkcCI7IHRoZW4KLQkgIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzCi0JZmkKLSAgICAgIGRvbmUKLSAgICAgIElGUz0iJGx0X3NhdmVfaWZzIgotICAgICAgOzsKLSAgICBlc2FjCi1lbHNlCi0gIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzCi1maTsKLQotCi0KLQotCi0KLQotCiBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIGEgc2VkIHRoYXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0IiA+JjUKIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIGEgc2VkIHRoYXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0Li4uICRFQ0hPX0MiID4mNgogaWYgdGVzdCAiJHtsdF9jdl9wYXRoX1NFRCtzZXR9IiA9IHNldDsgdGhlbgpAQCAtNTI2MCw3ICs1NTQ0LDYgQEAKIAogCiAKLQogZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBCU0QtIG9yIE1TLWNvbXBhdGlibGUgbmFtZSBsaXN0ZXIgKG5tKSIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBCU0QtIG9yIE1TLWNvbXBhdGlibGUgbmFtZSBsaXN0ZXIgKG5tKS4uLiAkRUNIT19DIiA+JjYKIGlmIHRlc3QgIiR7bHRfY3ZfcGF0aF9OTStzZXR9IiA9IHNldDsgdGhlbgpAQCAtNTQyMiwxMyArNTcwNSwxMyBAQAogZWxzZQogICBsdF9jdl9ubV9pbnRlcmZhY2U9IkJTRCBubSIKICAgZWNobyAiaW50IHNvbWVfdmFyaWFibGUgPSAwOyIgPiBjb25mdGVzdC4kYWNfZXh0Ci0gIChldmFsIGVjaG8gIlwiXCRhc19tZTo1NDI1OiAkYWNfY29tcGlsZVwiIiA+JjUpCisgIChldmFsIGVjaG8gIlwiXCRhc19tZTo1NzA4OiAkYWNfY29tcGlsZVwiIiA+JjUpCiAgIChldmFsICIkYWNfY29tcGlsZSIgMj5jb25mdGVzdC5lcnIpCiAgIGNhdCBjb25mdGVzdC5lcnIgPiY1Ci0gIChldmFsIGVjaG8gIlwiXCRhc19tZTo1NDI4OiAkTk0gXFxcImNvbmZ0ZXN0LiRhY19vYmpleHRcXFwiXCIiID4mNSkKKyAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjU3MTE6ICROTSBcXFwiY29uZnRlc3QuJGFjX29iamV4dFxcXCJcIiIgPiY1KQogICAoZXZhbCAiJE5NIFwiY29uZnRlc3QuJGFjX29iamV4dFwiIiAyPmNvbmZ0ZXN0LmVyciA+IGNvbmZ0ZXN0Lm91dCkKICAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKLSAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjU0MzE6IG91dHB1dFwiIiA+JjUpCisgIChldmFsIGVjaG8gIlwiXCRhc19tZTo1NzE0OiBvdXRwdXRcIiIgPiY1KQogICBjYXQgY29uZnRlc3Qub3V0ID4mNQogICBpZiAkR1JFUCAnRXh0ZXJuYWwuKnNvbWVfdmFyaWFibGUnIGNvbmZ0ZXN0Lm91dCA+IC9kZXYvbnVsbDsgdGhlbgogICAgIGx0X2N2X25tX2ludGVyZmFjZT0iTVMgZHVtcGJpbiIKQEAgLTU0NzQsNyArNTc1Nyw3IEBACiAgICAgbHRfY3Zfc3lzX21heF9jbWRfbGVuPS0xOwogICAgIDs7CiAKLSAgY3lnd2luKiB8IG1pbmd3KikKKyAgY3lnd2luKiB8IG1pbmd3KiB8IGNlZ2NjKikKICAgICAjIE9uIFdpbjl4L01FLCB0aGlzIHRlc3QgYmxvd3MgdXAgLS0gaXQgc3VjY2VlZHMsIGJ1dCB0YWtlcwogICAgICMgYWJvdXQgNSBtaW51dGVzIGFzIHRoZSB0ZXN0c3RyaW5nIGdyb3dzIGV4cG9uZW50aWFsbHkuCiAgICAgIyBXb3JzZSwgc2luY2UgOXgvTUUgYXJlIG5vdCBwcmUtZW1wdGl2ZWx5IG11bHRpdGFza2luZywKQEAgLTU1MzUsOCArNTgxOCw4IEBACiAgICAgZmkKICAgICA7OwogICAqKQotICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj1gZ2V0Y29uZiBBUkdfTUFYIDI+IC9kZXYvbnVsbGAKLSAgICBpZiB0ZXN0IC1uICRsdF9jdl9zeXNfbWF4X2NtZF9sZW47IHRoZW4KKyAgICBsdF9jdl9zeXNfbWF4X2NtZF9sZW49YChnZXRjb25mIEFSR19NQVgpIDI+IC9kZXYvbnVsbGAKKyAgICBpZiB0ZXN0IC1uICIkbHRfY3Zfc3lzX21heF9jbWRfbGVuIjsgdGhlbgogICAgICAgbHRfY3Zfc3lzX21heF9jbWRfbGVuPWBleHByICRsdF9jdl9zeXNfbWF4X2NtZF9sZW4gXC8gNGAKICAgICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj1gZXhwciAkbHRfY3Zfc3lzX21heF9jbWRfbGVuIFwqIDNgCiAgICAgZWxzZQpAQCAtNTU4Myw3ICs1ODY2LDYgQEAKIAogCiAKLQogOiAke0NQPSJjcCAtZiJ9CiA6ICR7TVY9Im12IC1mIn0KIDogJHtSTT0icm0gLWYifQpAQCAtNTU5NCw3ICs1ODc2LDkgQEAKIHhzaV9zaGVsbD1ubwogKCBfbHRfZHVtbXk9ImEvYi9jIgogICB0ZXN0ICIke19sdF9kdW1teSMjKi99LCR7X2x0X2R1bW15JS8qfSwiJHtfbHRfZHVtbXklIiRfbHRfZHVtbXkifSwgXAotICAgICAgPSBjLGEvYiwsICkgPi9kZXYvbnVsbCAyPiYxIFwKKyAgICAgID0gYyxhL2IsLCBcCisgICAgJiYgZXZhbCAndGVzdCAkKCggMSArIDEgKSkgLWVxIDIgXAorICAgICYmIHRlc3QgIiR7I19sdF9kdW1teX0iIC1lcSA1JyApID4vZGV2L251bGwgMj4mMSBcCiAgICYmIHhzaV9zaGVsbD15ZXMKIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICR4c2lfc2hlbGwiID4mNQogZWNobyAiJHtFQ0hPX1R9JHhzaV9zaGVsbCIgPiY2CkBAIC01Njc0LDYgKzU5NTgsOTUgQEAKIAogCiAKK2lmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW9iamR1bXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9b2JqZHVtcDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PQkpEVU1QK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRPQkpEVU1QIjsgdGhlbgorICBhY19jdl9wcm9nX09CSkRVTVA9IiRPQkpEVU1QIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19PQkpEVU1QPSIke2FjX3Rvb2xfcHJlZml4fW9iamR1bXAiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitPQkpEVU1QPSRhY19jdl9wcm9nX09CSkRVTVAKK2lmIHRlc3QgLW4gIiRPQkpEVU1QIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkT0JKRFVNUCIgPiY1CitlY2hvICIke0VDSE9fVH0kT0JKRFVNUCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKK2ZpCitpZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19PQkpEVU1QIjsgdGhlbgorICBhY19jdF9PQkpEVU1QPSRPQkpEVU1QCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAib2JqZHVtcCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgb2JqZHVtcDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PQkpEVU1QK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRhY19jdF9PQkpEVU1QIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09CSkRVTVA9IiRhY19jdF9PQkpEVU1QIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19hY19jdF9PQkpEVU1QPSJvYmpkdW1wIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUCIgJiYgYWNfY3ZfcHJvZ19hY19jdF9PQkpEVU1QPSJmYWxzZSIKK2ZpCitmaQorYWNfY3RfT0JKRFVNUD0kYWNfY3ZfcHJvZ19hY19jdF9PQkpEVU1QCitpZiB0ZXN0IC1uICIkYWNfY3RfT0JKRFVNUCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X09CSkRVTVAiID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N0X09CSkRVTVAiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCisgIE9CSkRVTVA9JGFjX2N0X09CSkRVTVAKK2Vsc2UKKyAgT0JKRFVNUD0iJGFjX2N2X3Byb2dfT0JKRFVNUCIKK2ZpCisKK3Rlc3QgLXogIiRPQkpEVU1QIiAmJiBPQkpEVU1QPW9iamR1bXAKKworCisKKworCisKKworCiAKIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBob3cgdG8gcmVjb2duaXplIGRlcGVuZGVudCBsaWJyYXJpZXMiID4mNQogZWNobyAkRUNIT19OICJjaGVja2luZyBob3cgdG8gcmVjb2duaXplIGRlcGVuZGVudCBsaWJyYXJpZXMuLi4gJEVDSE9fQyIgPiY2CkBAIC01NzI4LDYgKzYxMDEsMTIgQEAKICAgZmkKICAgOzsKIAorY2VnY2MpCisgICMgdXNlIHRoZSB3ZWFrZXIgdGVzdCBiYXNlZCBvbiAnb2JqZHVtcCcuIFNlZSBtaW5ndyouCisgIGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kPSdmaWxlX21hZ2ljIGZpbGUgZm9ybWF0IHBlLWFybS0uKmxpdHRsZSguKmFyY2hpdGVjdHVyZTogYXJtKT8nCisgIGx0X2N2X2ZpbGVfbWFnaWNfY21kPSckT0JKRFVNUCAtZicKKyAgOzsKKwogZGFyd2luKiB8IHJoYXBzb2R5KikKICAgbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2Q9cGFzc19hbGwKICAgOzsKQEAgLTYxNTAsNyArNjUyOSw3IEBACiAKIAogIyBEZXRlcm1pbmUgY29tbWFuZHMgdG8gY3JlYXRlIG9sZC1zdHlsZSBzdGF0aWMgYXJjaGl2ZXMuCi1vbGRfYXJjaGl2ZV9jbWRzPSckQVIgJEFSX0ZMQUdTICRvbGRsaWIkb2xkb2JqcyRvbGRfZGVwbGlicycKK29sZF9hcmNoaXZlX2NtZHM9JyRBUiAkQVJfRkxBR1MgJG9sZGxpYiRvbGRvYmpzJwogb2xkX3Bvc3RpbnN0YWxsX2NtZHM9J2NobW9kIDY0NCAkb2xkbGliJwogb2xkX3Bvc3R1bmluc3RhbGxfY21kcz0KIApAQCAtNjIzMCw3ICs2NjA5LDcgQEAKIGFpeCopCiAgIHN5bWNvZGU9J1tCQ0RUXScKICAgOzsKLWN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKikKK2N5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgc3ltY29kZT0nW0FCQ0RHSVNUV10nCiAgIDs7CiBocHV4KikKQEAgLTYyNzQsNiArNjY1Myw3IEBACiAKICMgVHJhbnNmb3JtIGFuIGV4dHJhY3RlZCBzeW1ib2wgbGluZSBpbnRvIHN5bWJvbCBuYW1lIGFuZCBzeW1ib2wgYWRkcmVzcwogbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9InNlZCAtbiAtZSAncy9eOiBcKFteIF0qXCkgJC8gIHtcXFwiXDFcXFwiLCAodm9pZCAqKSAwfSwvcCcgLWUgJ3MvXiRzeW1jb2RlKiBcKFteIF0qXCkgXChbXiBdKlwpJC8gIHtcIlwyXCIsICh2b2lkICopIFwmXDJ9LC9wJyIKK2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9InNlZCAtbiAtZSAncy9eOiBcKFteIF0qXCkgJC8gIHtcXFwiXDFcXFwiLCAodm9pZCAqKSAwfSwvcCcgLWUgJ3MvXiRzeW1jb2RlKiBcKFteIF0qXCkgXChsaWJbXiBdKlwpJC8gIHtcIlwyXCIsICh2b2lkICopIFwmXDJ9LC9wJyAtZSAncy9eJHN5bWNvZGUqIFwoW14gXSpcKSBcKFteIF0qXCkkLyAge1wibGliXDJcIiwgKHZvaWQgKikgXCZcMn0sL3AnIgogCiAjIEhhbmRsZSBDUkxGIGluIG1pbmd3IHRvb2wgY2hhaW4KIG9wdF9jcj0KQEAgLTY0MTMsNyArNjc5Myw3IEBACiAgICAgZWNobyAiJHByb2duYW1lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKICAgICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKICAgZmkKLSAgcm0gLWYgY29uZnRlc3QqIGNvbmZ0c3QqCisgIHJtIC1yZiBjb25mdGVzdCogY29uZnRzdCoKIAogICAjIERvIG5vdCB1c2UgdGhlIGdsb2JhbF9zeW1ib2xfcGlwZSB1bmxlc3MgaXQgd29ya3MuCiAgIGlmIHRlc3QgIiRwaXBlX3dvcmtzIiA9IHllczsgdGhlbgpAQCAtNjQ1Miw2ICs2ODMyLDExIEBACiAKIAogCisKKworCisKKwogIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxpYnRvb2wtbG9jayBvciAtLWRpc2FibGUtbGlidG9vbC1sb2NrIHdhcyBnaXZlbi4KIGlmIHRlc3QgIiR7ZW5hYmxlX2xpYnRvb2xfbG9jaytzZXR9IiA9IHNldDsgdGhlbgogICBlbmFibGV2YWw9IiRlbmFibGVfbGlidG9vbF9sb2NrIgpAQCAtNjQ4Myw3ICs2ODY4LDcgQEAKICAgOzsKICotKi1pcml4NiopCiAgICMgRmluZCBvdXQgd2hpY2ggQUJJIHdlIGFyZSB1c2luZy4KLSAgZWNobyAnI2xpbmUgNjQ4NiAiY29uZmlndXJlIicgPiBjb25mdGVzdC4kYWNfZXh0CisgIGVjaG8gJyNsaW5lIDY4NzEgImNvbmZpZ3VyZSInID4gY29uZnRlc3QuJGFjX2V4dAogICBpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKICAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKICAgYWNfc3RhdHVzPSQ/CkBAIC02NjU4LDcgKzcwNDMsMTEgQEAKICAgICAqNjQtYml0KikKICAgICAgIGNhc2UgJGx0X2N2X3Byb2dfZ251X2xkIGluCiAgICAgICB5ZXMqKSBMRD0iJHtMRC1sZH0gLW0gZWxmNjRfc3BhcmMiIDs7Ci0gICAgICAqKSAgICBMRD0iJHtMRC1sZH0gLTY0IiA7OworICAgICAgKikKKwlpZiAke0xELWxkfSAtNjQgLXIgLW8gY29uZnRlc3QyLm8gY29uZnRlc3QubyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKwkgIExEPSIke0xELWxkfSAtNjQiCisJZmkKKwk7OwogICAgICAgZXNhYwogICAgICAgOzsKICAgICBlc2FjCkBAIC02NjcwLDYgKzcwNTksNTU5IEBACiBuZWVkX2xvY2tzPSIkZW5hYmxlX2xpYnRvb2xfbG9jayIKIAogCisgIGNhc2UgJGhvc3Rfb3MgaW4KKyAgICByaGFwc29keSogfCBkYXJ3aW4qKQorICAgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWRzeW11dGlsIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWRzeW11dGlsOyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX0RTWU1VVElMK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiREU1lNVVRJTCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19EU1lNVVRJTD0iJERTWU1VVElMIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19EU1lNVVRJTD0iJHthY190b29sX3ByZWZpeH1kc3ltdXRpbCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCitmaQorZmkKK0RTWU1VVElMPSRhY19jdl9wcm9nX0RTWU1VVElMCitpZiB0ZXN0IC1uICIkRFNZTVVUSUwiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICREU1lNVVRJTCIgPiY1CitlY2hvICIke0VDSE9fVH0kRFNZTVVUSUwiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfRFNZTVVUSUwiOyB0aGVuCisgIGFjX2N0X0RTWU1VVElMPSREU1lNVVRJTAorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImRzeW11dGlsIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBkc3ltdXRpbDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9EU1lNVVRJTCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfRFNZTVVUSUwiOyB0aGVuCisgIGFjX2N2X3Byb2dfYWNfY3RfRFNZTVVUSUw9IiRhY19jdF9EU1lNVVRJTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfRFNZTVVUSUw9ImRzeW11dGlsIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfRFNZTVVUSUwiICYmIGFjX2N2X3Byb2dfYWNfY3RfRFNZTVVUSUw9IjoiCitmaQorZmkKK2FjX2N0X0RTWU1VVElMPSRhY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMCitpZiB0ZXN0IC1uICIkYWNfY3RfRFNZTVVUSUwiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9EU1lNVVRJTCIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3RfRFNZTVVUSUwiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCisgIERTWU1VVElMPSRhY19jdF9EU1lNVVRJTAorZWxzZQorICBEU1lNVVRJTD0iJGFjX2N2X3Byb2dfRFNZTVVUSUwiCitmaQorCisgICAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9bm1lZGl0Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW5tZWRpdDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19OTUVESVQrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJE5NRURJVCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19OTUVESVQ9IiROTUVESVQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX05NRURJVD0iJHthY190b29sX3ByZWZpeH1ubWVkaXQiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitOTUVESVQ9JGFjX2N2X3Byb2dfTk1FRElUCitpZiB0ZXN0IC1uICIkTk1FRElUIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkTk1FRElUIiA+JjUKK2VjaG8gIiR7RUNIT19UfSROTUVESVQiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfTk1FRElUIjsgdGhlbgorICBhY19jdF9OTUVESVQ9JE5NRURJVAorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm5tZWRpdCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgbm1lZGl0OyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X05NRURJVCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfTk1FRElUIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X05NRURJVD0iJGFjX2N0X05NRURJVCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfTk1FRElUPSJubWVkaXQiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworICB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19hY19jdF9OTUVESVQiICYmIGFjX2N2X3Byb2dfYWNfY3RfTk1FRElUPSI6IgorZmkKK2ZpCithY19jdF9OTUVESVQ9JGFjX2N2X3Byb2dfYWNfY3RfTk1FRElUCitpZiB0ZXN0IC1uICIkYWNfY3RfTk1FRElUIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfTk1FRElUIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdF9OTUVESVQiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCisgIE5NRURJVD0kYWNfY3RfTk1FRElUCitlbHNlCisgIE5NRURJVD0iJGFjX2N2X3Byb2dfTk1FRElUIgorZmkKKworICAgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWxpcG8iLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9bGlwbzsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19MSVBPK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRMSVBPIjsgdGhlbgorICBhY19jdl9wcm9nX0xJUE89IiRMSVBPIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19MSVBPPSIke2FjX3Rvb2xfcHJlZml4fWxpcG8iCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitMSVBPPSRhY19jdl9wcm9nX0xJUE8KK2lmIHRlc3QgLW4gIiRMSVBPIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkTElQTyIgPiY1CitlY2hvICIke0VDSE9fVH0kTElQTyIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKK2ZpCitpZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19MSVBPIjsgdGhlbgorICBhY19jdF9MSVBPPSRMSVBPCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAibGlwbyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgbGlwbzsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9MSVBPK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRhY19jdF9MSVBPIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X0xJUE89IiRhY19jdF9MSVBPIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19hY19jdF9MSVBPPSJsaXBvIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfTElQTyIgJiYgYWNfY3ZfcHJvZ19hY19jdF9MSVBPPSI6IgorZmkKK2ZpCithY19jdF9MSVBPPSRhY19jdl9wcm9nX2FjX2N0X0xJUE8KK2lmIHRlc3QgLW4gIiRhY19jdF9MSVBPIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfTElQTyIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3RfTElQTyIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKKyAgTElQTz0kYWNfY3RfTElQTworZWxzZQorICBMSVBPPSIkYWNfY3ZfcHJvZ19MSVBPIgorZmkKKworICAgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW90b29sIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW90b29sOyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX09UT09MK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRPVE9PTCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19PVE9PTD0iJE9UT09MIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19PVE9PTD0iJHthY190b29sX3ByZWZpeH1vdG9vbCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCitmaQorZmkKK09UT09MPSRhY19jdl9wcm9nX09UT09MCitpZiB0ZXN0IC1uICIkT1RPT0wiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRPVE9PTCIgPiY1CitlY2hvICIke0VDSE9fVH0kT1RPT0wiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfT1RPT0wiOyB0aGVuCisgIGFjX2N0X09UT09MPSRPVE9PTAorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm90b29sIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBvdG9vbDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PVE9PTCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfT1RPT0wiOyB0aGVuCisgIGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w9IiRhY19jdF9PVE9PTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w9Im90b29sIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfT1RPT0wiICYmIGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w9IjoiCitmaQorZmkKK2FjX2N0X09UT09MPSRhY19jdl9wcm9nX2FjX2N0X09UT09MCitpZiB0ZXN0IC1uICIkYWNfY3RfT1RPT0wiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9PVE9PTCIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3RfT1RPT0wiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCisgIE9UT09MPSRhY19jdF9PVE9PTAorZWxzZQorICBPVE9PTD0iJGFjX2N2X3Byb2dfT1RPT0wiCitmaQorCisgICAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9b3Rvb2w2NCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vdG9vbDY0OyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX09UT09MNjQrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJE9UT09MNjQiOyB0aGVuCisgIGFjX2N2X3Byb2dfT1RPT0w2ND0iJE9UT09MNjQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX09UT09MNjQ9IiR7YWNfdG9vbF9wcmVmaXh9b3Rvb2w2NCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCitmaQorZmkKK09UT09MNjQ9JGFjX2N2X3Byb2dfT1RPT0w2NAoraWYgdGVzdCAtbiAiJE9UT09MNjQiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRPVE9PTDY0IiA+JjUKK2VjaG8gIiR7RUNIT19UfSRPVE9PTDY0IiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworZmkKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX09UT09MNjQiOyB0aGVuCisgIGFjX2N0X09UT09MNjQ9JE9UT09MNjQKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJvdG9vbDY0Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBvdG9vbDY0OyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X09UT09MNjQrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X09UT09MNjQiOyB0aGVuCisgIGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w2ND0iJGFjX2N0X09UT09MNjQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X09UT09MNjQ9Im90b29sNjQiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworICB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19hY19jdF9PVE9PTDY0IiAmJiBhY19jdl9wcm9nX2FjX2N0X09UT09MNjQ9IjoiCitmaQorZmkKK2FjX2N0X09UT09MNjQ9JGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w2NAoraWYgdGVzdCAtbiAiJGFjX2N0X09UT09MNjQiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9PVE9PTDY0IiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdF9PVE9PTDY0IiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBPVE9PTDY0PSRhY19jdF9PVE9PTDY0CitlbHNlCisgIE9UT09MNjQ9IiRhY19jdl9wcm9nX09UT09MNjQiCitmaQorCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworICAgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgLXNpbmdsZV9tb2R1bGUgbGlua2VyIGZsYWciID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgLXNpbmdsZV9tb2R1bGUgbGlua2VyIGZsYWcuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2x0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Qrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZD1ubworICAgICAgaWYgdGVzdCAteiAiJHtMVF9NVUxUSV9NT0RVTEV9IjsgdGhlbgorCSMgQnkgZGVmYXVsdCB3ZSB3aWxsIGFkZCB0aGUgLXNpbmdsZV9tb2R1bGUgZmxhZy4gWW91IGNhbiBvdmVycmlkZQorCSMgYnkgZWl0aGVyIHNldHRpbmcgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIExUX01VTFRJX01PRFVMRQorCSMgbm9uLWVtcHR5IGF0IGNvbmZpZ3VyZSB0aW1lLCBvciBieSBhZGRpbmcgLW11bHRpX21vZHVsZSB0byB0aGUKKwkjIGxpbmsgZmxhZ3MuCisJcm0gLXJmIGxpYmNvbmZ0ZXN0LmR5bGliKgorCWVjaG8gImludCBmb28odm9pZCl7cmV0dXJuIDE7fSIgPiBjb25mdGVzdC5jCisJZWNobyAiJExUQ0MgJExUQ0ZMQUdTICRMREZMQUdTIC1vIGxpYmNvbmZ0ZXN0LmR5bGliIFwKKy1keW5hbWljbGliIC1XbCwtc2luZ2xlX21vZHVsZSBjb25mdGVzdC5jIiA+JjUKKwkkTFRDQyAkTFRDRkxBR1MgJExERkxBR1MgLW8gbGliY29uZnRlc3QuZHlsaWIgXAorCSAgLWR5bmFtaWNsaWIgLVdsLC1zaW5nbGVfbW9kdWxlIGNvbmZ0ZXN0LmMgMj5jb25mdGVzdC5lcnIKKyAgICAgICAgX2x0X3Jlc3VsdD0kPworCWlmIHRlc3QgLWYgbGliY29uZnRlc3QuZHlsaWIgJiYgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVyciAmJiB0ZXN0ICRfbHRfcmVzdWx0ID0gMDsgdGhlbgorCSAgbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZD15ZXMKKwllbHNlCisJICBjYXQgY29uZnRlc3QuZXJyID4mNQorCWZpCisJcm0gLXJmIGxpYmNvbmZ0ZXN0LmR5bGliKgorCXJtIC1mIGNvbmZ0ZXN0LioKKyAgICAgIGZpCitmaQorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2QiID4mNQorZWNobyAiJHtFQ0hPX1R9JGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2QiID4mNgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgLWV4cG9ydGVkX3N5bWJvbHNfbGlzdCBsaW5rZXIgZmxhZyIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAtZXhwb3J0ZWRfc3ltYm9sc19saXN0IGxpbmtlciBmbGFnLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHtsdF9jdl9sZF9leHBvcnRlZF9zeW1ib2xzX2xpc3Qrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0PW5vCisgICAgICBzYXZlX0xERkxBR1M9JExERkxBR1MKKyAgICAgIGVjaG8gIl9tYWluIiA+IGNvbmZ0ZXN0LnN5bQorICAgICAgTERGTEFHUz0iJExERkxBR1MgLVdsLC1leHBvcnRlZF9zeW1ib2xzX2xpc3QsY29uZnRlc3Quc3ltIgorICAgICAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBjb25mZGVmcy5oLiAgKi8KK19BQ0VPRgorY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CitjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK3JtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QkYWNfZXhlZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19saW5rXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2xpbmspIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdCRhY19leGVleHQnCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKyAgbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0PXllcworZWxzZQorICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorCitsdF9jdl9sZF9leHBvcnRlZF9zeW1ib2xzX2xpc3Q9bm8KK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCisgICAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorCUxERkxBR1M9IiRzYXZlX0xERkxBR1MiCisKK2ZpCitlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0IiA+JjUKK2VjaG8gIiR7RUNIT19UfSRsdF9jdl9sZF9leHBvcnRlZF9zeW1ib2xzX2xpc3QiID4mNgorICAgIGNhc2UgJGhvc3Rfb3MgaW4KKyAgICByaGFwc29keSogfCBkYXJ3aW4xLlswMTJdKQorICAgICAgX2x0X2Rhcl9hbGxvd191bmRlZmluZWQ9JyR7d2x9LXVuZGVmaW5lZCAke3dsfXN1cHByZXNzJyA7OworICAgIGRhcndpbjEuKikKKyAgICAgIF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkPScke3dsfS1mbGF0X25hbWVzcGFjZSAke3dsfS11bmRlZmluZWQgJHt3bH1zdXBwcmVzcycgOzsKKyAgICBkYXJ3aW4qKSAjIGRhcndpbiA1Lnggb24KKyAgICAgICMgaWYgcnVubmluZyBvbiAxMC41IG9yIGxhdGVyLCB0aGUgZGVwbG95bWVudCB0YXJnZXQgZGVmYXVsdHMKKyAgICAgICMgdG8gdGhlIE9TIHZlcnNpb24sIGlmIG9uIHg4NiwgYW5kIDEwLjQsIHRoZSBkZXBsb3ltZW50CisgICAgICAjIHRhcmdldCBkZWZhdWx0cyB0byAxMC40LiBEb24ndCB5b3UgbG92ZSBpdD8KKyAgICAgIGNhc2UgJHtNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQtMTAuMH0sJGhvc3QgaW4KKwkxMC4wLCo4NiotZGFyd2luOCp8MTAuMCwqLWRhcndpbls5MV0qKQorCSAgX2x0X2Rhcl9hbGxvd191bmRlZmluZWQ9JyR7d2x9LXVuZGVmaW5lZCAke3dsfWR5bmFtaWNfbG9va3VwJyA7OworCTEwLlswMTJdKikKKwkgIF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkPScke3dsfS1mbGF0X25hbWVzcGFjZSAke3dsfS11bmRlZmluZWQgJHt3bH1zdXBwcmVzcycgOzsKKwkxMC4qKQorCSAgX2x0X2Rhcl9hbGxvd191bmRlZmluZWQ9JyR7d2x9LXVuZGVmaW5lZCAke3dsfWR5bmFtaWNfbG9va3VwJyA7OworICAgICAgZXNhYworICAgIDs7CisgIGVzYWMKKyAgICBpZiB0ZXN0ICIkbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZCIgPSAieWVzIjsgdGhlbgorICAgICAgX2x0X2Rhcl9zaW5nbGVfbW9kPSckc2luZ2xlX21vZHVsZScKKyAgICBmaQorICAgIGlmIHRlc3QgIiRsdF9jdl9sZF9leHBvcnRlZF9zeW1ib2xzX2xpc3QiID0gInllcyI7IHRoZW4KKyAgICAgIF9sdF9kYXJfZXhwb3J0X3N5bXM9JyAke3dsfS1leHBvcnRlZF9zeW1ib2xzX2xpc3QsJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bScKKyAgICBlbHNlCisgICAgICBfbHRfZGFyX2V4cG9ydF9zeW1zPSd+JE5NRURJVCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKKyAgICBmaQorICAgIGlmIHRlc3QgIiREU1lNVVRJTCIgIT0gIjoiOyB0aGVuCisgICAgICBfbHRfZHN5bXV0aWw9J34kRFNZTVVUSUwgJGxpYiB8fCA6JworICAgIGVsc2UKKyAgICAgIF9sdF9kc3ltdXRpbD0KKyAgICBmaQorICAgIDs7CisgIGVzYWMKKworCiBmb3IgYWNfaGVhZGVyIGluIGRsZmNuLmgKIGRvCiBhc19hY19IZWFkZXI9YGVjaG8gImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVyIiB8ICRhc190cl9zaGAKQEAgLTY3MzIsNiArNzY3NCw5OCBAQAogCiAKIAorIyBTZXQgb3B0aW9ucworCisKKworICAgICAgICBlbmFibGVfZGxvcGVuPW5vCisKKworICBlbmFibGVfd2luMzJfZGxsPW5vCisKKworCisgICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1zdGF0aWMgb3IgLS1kaXNhYmxlLXN0YXRpYyB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9zdGF0aWMrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZW5hYmxldmFsPSIkZW5hYmxlX3N0YXRpYyIKKyAgcD0ke1BBQ0tBR0UtZGVmYXVsdH0KKyAgICBjYXNlICRlbmFibGV2YWwgaW4KKyAgICB5ZXMpIGVuYWJsZV9zdGF0aWM9eWVzIDs7CisgICAgbm8pIGVuYWJsZV9zdGF0aWM9bm8gOzsKKyAgICAqKQorICAgICBlbmFibGVfc3RhdGljPW5vCisgICAgICAjIExvb2sgYXQgdGhlIGFyZ3VtZW50IHdlIGdvdC4gIFdlIHVzZSBhbGwgdGhlIGNvbW1vbiBsaXN0IHNlcGFyYXRvcnMuCisgICAgICBsdF9zYXZlX2lmcz0iJElGUyI7IElGUz0iJHtJRlN9JFBBVEhfU0VQQVJBVE9SLCIKKyAgICAgIGZvciBwa2cgaW4gJGVuYWJsZXZhbDsgZG8KKwlJRlM9IiRsdF9zYXZlX2lmcyIKKwlpZiB0ZXN0ICJYJHBrZyIgPSAiWCRwIjsgdGhlbgorCSAgZW5hYmxlX3N0YXRpYz15ZXMKKwlmaQorICAgICAgZG9uZQorICAgICAgSUZTPSIkbHRfc2F2ZV9pZnMiCisgICAgICA7OworICAgIGVzYWMKK2Vsc2UKKyAgZW5hYmxlX3N0YXRpYz15ZXMKK2ZpOworCisKKworCisKKworCisKKworIyBDaGVjayB3aGV0aGVyIC0td2l0aC1waWMgb3IgLS13aXRob3V0LXBpYyB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke3dpdGhfcGljK3NldH0iID0gc2V0OyB0aGVuCisgIHdpdGh2YWw9IiR3aXRoX3BpYyIKKyAgcGljX21vZGU9IiR3aXRodmFsIgorZWxzZQorICBwaWNfbW9kZT1kZWZhdWx0CitmaTsKKwordGVzdCAteiAiJHBpY19tb2RlIiAmJiBwaWNfbW9kZT1kZWZhdWx0CisKKworCisKKworCisKKyAgIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWZhc3QtaW5zdGFsbCBvciAtLWRpc2FibGUtZmFzdC1pbnN0YWxsIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7ZW5hYmxlX2Zhc3RfaW5zdGFsbCtzZXR9IiA9IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRlbmFibGVfZmFzdF9pbnN0YWxsIgorICBwPSR7UEFDS0FHRS1kZWZhdWx0fQorICAgIGNhc2UgJGVuYWJsZXZhbCBpbgorICAgIHllcykgZW5hYmxlX2Zhc3RfaW5zdGFsbD15ZXMgOzsKKyAgICBubykgZW5hYmxlX2Zhc3RfaW5zdGFsbD1ubyA7OworICAgICopCisgICAgICBlbmFibGVfZmFzdF9pbnN0YWxsPW5vCisgICAgICAjIExvb2sgYXQgdGhlIGFyZ3VtZW50IHdlIGdvdC4gIFdlIHVzZSBhbGwgdGhlIGNvbW1vbiBsaXN0IHNlcGFyYXRvcnMuCisgICAgICBsdF9zYXZlX2lmcz0iJElGUyI7IElGUz0iJHtJRlN9JFBBVEhfU0VQQVJBVE9SLCIKKyAgICAgIGZvciBwa2cgaW4gJGVuYWJsZXZhbDsgZG8KKwlJRlM9IiRsdF9zYXZlX2lmcyIKKwlpZiB0ZXN0ICJYJHBrZyIgPSAiWCRwIjsgdGhlbgorCSAgZW5hYmxlX2Zhc3RfaW5zdGFsbD15ZXMKKwlmaQorICAgICAgZG9uZQorICAgICAgSUZTPSIkbHRfc2F2ZV9pZnMiCisgICAgICA7OworICAgIGVzYWMKK2Vsc2UKKyAgZW5hYmxlX2Zhc3RfaW5zdGFsbD15ZXMKK2ZpOworCisKKworCisKKworCisKKworCiAjIFRoaXMgY2FuIGJlIHVzZWQgdG8gcmVidWlsZCBsaWJ0b29sIHdoZW4gbmVlZGVkCiBMSUJUT09MX0RFUFM9IiRsdG1haW4iCiAKQEAgLTcwNzgsNyArODExMiw3IEBACiBlY2hvICIkbHRfc2ltcGxlX2xpbmtfdGVzdF9jb2RlIiA+Y29uZnRlc3QuJGFjX2V4dAogZXZhbCAiJGFjX2xpbmsiIDI+JjEgPi9kZXYvbnVsbCB8ICRTRUQgJy9eJC9kOyAvXiAqKy9kJyA+Y29uZnRlc3QuZXJyCiBfbHRfbGlua2VyX2JvaWxlcnBsYXRlPWBjYXQgY29uZnRlc3QuZXJyYAotJFJNIGNvbmZ0ZXN0KgorJFJNIC1yIGNvbmZ0ZXN0KgogCiAKICMjIENBVkVBVCBFTVBUT1I6CkBAIC03MTEwLDExICs4MTQ0LDExIEBACiAgICAtZSAnczouKkZMQUdTfVx7MCwxXH0gOiYkbHRfY29tcGlsZXJfZmxhZyA6OyB0JyBcCiAgICAtZSAnczogW14gXSpjb25mdGVzdFwuOiAkbHRfY29tcGlsZXJfZmxhZyY6OyB0JyBcCiAgICAtZSAnczokOiAkbHRfY29tcGlsZXJfZmxhZzonYAotICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjcxMTM6ICRsdF9jb21waWxlXCIiID4mNSkKKyAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo4MTQ3OiAkbHRfY29tcGlsZVwiIiA+JjUpCiAgICAoZXZhbCAiJGx0X2NvbXBpbGUiIDI+Y29uZnRlc3QuZXJyKQogICAgYWNfc3RhdHVzPSQ/CiAgICBjYXQgY29uZnRlc3QuZXJyID4mNQotICAgZWNobyAiJGFzX21lOjcxMTc6IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAgZWNobyAiJGFzX21lOjgxNTE6IFwkPyA9ICRhY19zdGF0dXMiID4mNQogICAgaWYgKGV4aXQgJGFjX3N0YXR1cykgJiYgdGVzdCAtcyAiJGFjX291dGZpbGUiOyB0aGVuCiAgICAgICMgVGhlIGNvbXBpbGVyIGNhbiBvbmx5IHdhcm4gYW5kIGlnbm9yZSB0aGUgb3B0aW9uIGlmIG5vdCByZWNvZ25pemVkCiAgICAgICMgU28gc2F5IG5vIGlmIHRoZXJlIGFyZSB3YXJuaW5ncyBvdGhlciB0aGFuIHRoZSB1c3VhbCBvdXRwdXQuCkBAIC03MTY0LDE5ICs4MTk4LDI1IEBACiAgICAgICA7OwogCiAgICAgYW1pZ2FvcyopCi0gICAgICBpZiB0ZXN0ICIkaG9zdF9jcHUiID0gbTY4azsgdGhlbgotICAgICAgICAjIEZJWE1FOiB3ZSBuZWVkIGF0IGxlYXN0IDY4MDIwIGNvZGUgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcywgYnV0Ci0gICAgICAgICMgYWRkaW5nIHRoZSBgLW02ODAyMCcgZmxhZyB0byBHQ0MgcHJldmVudHMgYnVpbGRpbmcgYW55dGhpbmcgYmV0dGVyLAotICAgICAgICAjIGxpa2UgYC1tNjgwNDAnLgotICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLW02ODAyMCAtcmVzaWRlbnQzMiAtbWFsd2F5cy1yZXN0b3JlLWE0JwotICAgICAgZmkKKyAgICAgIGNhc2UgJGhvc3RfY3B1IGluCisgICAgICBwb3dlcnBjKQorICAgICAgICAgICAgIyBzZWUgY29tbWVudCBhYm91dCBBbWlnYU9TNCAuc28gc3VwcG9ydAorICAgICAgICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1mUElDJworICAgICAgICA7OworICAgICAgbTY4aykKKyAgICAgICAgICAgICMgRklYTUU6IHdlIG5lZWQgYXQgbGVhc3QgNjgwMjAgY29kZSB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzLCBidXQKKyAgICAgICAgICAgICMgYWRkaW5nIHRoZSBgLW02ODAyMCcgZmxhZyB0byBHQ0MgcHJldmVudHMgYnVpbGRpbmcgYW55dGhpbmcgYmV0dGVyLAorICAgICAgICAgICAgIyBsaWtlIGAtbTY4MDQwJy4KKyAgICAgICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctbTY4MDIwIC1yZXNpZGVudDMyIC1tYWx3YXlzLXJlc3RvcmUtYTQnCisgICAgICAgIDs7CisgICAgICBlc2FjCiAgICAgICA7OwogCiAgICAgYmVvcyogfCBpcml4NSogfCBpcml4NiogfCBub25zdG9wdXgqIHwgb3NmMyogfCBvc2Y0KiB8IG9zZjUqKQogICAgICAgIyBQSUMgaXMgdGhlIGRlZmF1bHQgZm9yIHRoZXNlIE9TZXMuCiAgICAgICA7OwogCi0gICAgbWluZ3cqIHwgY3lnd2luKiB8IHB3MzIqIHwgb3MyKikKKyAgICBtaW5ndyogfCBjeWd3aW4qIHwgcHczMiogfCBvczIqIHwgY2VnY2MqKQogICAgICAgIyBUaGlzIGhhY2sgaXMgc28gdGhhdCB0aGUgc291cmNlIGZpbGUgY2FuIHRlbGwgd2hldGhlciBpdCBpcyBiZWluZwogICAgICAgIyBidWlsdCBmb3IgaW5jbHVzaW9uIGluIGEgZGxsIChhbmQgc2hvdWxkIGV4cG9ydCBzeW1ib2xzIGZvciBleGFtcGxlKS4KICAgICAgICMgQWx0aG91Z2ggdGhlIGN5Z3dpbiBnY2MgaWdub3JlcyAtZlBJQywgc3RpbGwgbmVlZCB0aGlzIGZvciBvbGQtc3R5bGUKQEAgLTcxOTEsMTAgKzgyMzEsMTEgQEAKICAgICAgIDs7CiAKICAgICBocHV4KikKLSAgICAgICMgUElDIGlzIHRoZSBkZWZhdWx0IGZvciBJQTY0IEhQLVVYIGFuZCA2NC1iaXQgSFAtVVgsIGJ1dAotICAgICAgIyBub3QgZm9yIFBBIEhQLVVYLgorICAgICAgIyBQSUMgaXMgdGhlIGRlZmF1bHQgZm9yIDY0LWJpdCBQQSBIUC1VWCwgYnV0IG5vdCBmb3IgMzItYml0CisgICAgICAjIFBBIEhQLVVYLiAgT24gSUE2NCBIUC1VWCwgUElDIGlzIHRoZSBkZWZhdWx0IGJ1dCB0aGUgcGljIGZsYWcKKyAgICAgICMgc2V0cyB0aGUgZGVmYXVsdCBUTFMgbW9kZWwgYW5kIGFmZmVjdHMgaW5saW5pbmcuCiAgICAgICBjYXNlICRob3N0X2NwdSBpbgotICAgICAgaHBwYSo2NCp8aWE2NCopCisgICAgICBocHBhKjY0KikKIAkjICtaIHRoZSBkZWZhdWx0CiAJOzsKICAgICAgICopCkBAIC03MjQzLDE4ICs4Mjg0LDggQEAKIAlsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLWJuc28gLWJJOi9saWIvc3lzY2FsbHMuZXhwJwogICAgICAgZmkKICAgICAgIDs7Ci0gICAgZGFyd2luKikKLSAgICAgICMgUElDIGlzIHRoZSBkZWZhdWx0IG9uIHRoaXMgcGxhdGZvcm0KLSAgICAgICMgQ29tbW9uIHN5bWJvbHMgbm90IGFsbG93ZWQgaW4gTUhfRFlMSUIgZmlsZXMKLSAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCi0gICAgICB4bGMqKQotICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLXFub2NvbW1vbicKLSAgICAgICAgbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKLSAgICAgICAgOzsKLSAgICAgIGVzYWMKLSAgICAgIDs7CiAKLSAgICBtaW5ndyogfCBjeWd3aW4qIHwgcHczMiogfCBvczIqKQorICAgIG1pbmd3KiB8IGN5Z3dpbiogfCBwdzMyKiB8IG9zMiogfCBjZWdjYyopCiAgICAgICAjIFRoaXMgaGFjayBpcyBzbyB0aGF0IHRoZSBzb3VyY2UgZmlsZSBjYW4gdGVsbCB3aGV0aGVyIGl0IGlzIGJlaW5nCiAgICAgICAjIGJ1aWx0IGZvciBpbmNsdXNpb24gaW4gYSBkbGwgKGFuZCBzaG91bGQgZXhwb3J0IHN5bWJvbHMgZm9yIGV4YW1wbGUpLgogICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1ERExMX0VYUE9SVCcKQEAgLTcyODQsMTEgKzgzMTUsMjUgQEAKIAogICAgIGxpbnV4KiB8IGsqYnNkKi1nbnUpCiAgICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgotICAgICAgaWNjKiB8IGVjYyopCisgICAgICAjIG9sZCBJbnRlbCBmb3IgeDg2XzY0IHdoaWNoIHN0aWxsIHN1cHBvcnRlZCAtS1BJQy4KKyAgICAgIGVjYyopCiAJbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKIAlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLUtQSUMnCiAJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1zdGF0aWMnCiAgICAgICAgIDs7CisgICAgICAjIGljYyB1c2VkIHRvIGJlIGluY29tcGF0aWJsZSB3aXRoIEdDQy4KKyAgICAgICMgSUNDIDEwIGRvZXNuJ3QgYWNjZXB0IC1LUElDIGFueSBtb3JlLgorICAgICAgaWNjKiB8IGlmb3J0KikKKwlsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJworCWx0X3Byb2dfY29tcGlsZXJfcGljPSctZlBJQycKKwlsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLXN0YXRpYycKKyAgICAgICAgOzsKKyAgICAgICMgTGFoZXkgRm9ydHJhbiA4LjEuCisgICAgICBsZjk1KikKKwlsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJworCWx0X3Byb2dfY29tcGlsZXJfcGljPSctLXNoYXJlZCcKKwlsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLS1zdGF0aWMnCisJOzsKICAgICAgIHBnY2MqIHwgcGdmNzcqIHwgcGdmOTAqIHwgcGdmOTUqKQogICAgICAgICAjIFBvcnRsYW5kIEdyb3VwIGNvbXBpbGVycyAoKm5vdCogdGhlIFBlbnRpdW0gZ2NjIGNvbXBpbGVyLAogCSMgd2hpY2ggbG9va3MgdG8gYmUgYSBkZWFkIHByb2plY3QpCkBAIC03MzAxLDYgKzgzNDYsMTIgQEAKICAgICAgICAgIyBBbGwgQWxwaGEgY29kZSBpcyBQSUMuCiAgICAgICAgIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctbm9uX3NoYXJlZCcKICAgICAgICAgOzsKKyAgICAgIHhsKikKKwkjIElCTSBYTCBDIDguMC9Gb3J0cmFuIDEwLjEgb24gUFBDCisJbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKKwlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLXFwaWMnCisJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1xc3RhdGljbGluaycKKwk7OwogICAgICAgKikKIAljYXNlIGAkQ0MgLVYgMj4mMSB8IHNlZCA1cWAgaW4KIAkqU3VuXCBDKikKQEAgLTc0MTYsMTAgKzg0NjcsMTAgQEAKIGlmIHRlc3QgLW4gIiRsdF9wcm9nX2NvbXBpbGVyX3BpYyI7IHRoZW4KICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGlmICRjb21waWxlciBQSUMgZmxhZyAkbHRfcHJvZ19jb21waWxlcl9waWMgd29ya3MiID4mNQogZWNobyAkRUNIT19OICJjaGVja2luZyBpZiAkY29tcGlsZXIgUElDIGZsYWcgJGx0X3Byb2dfY29tcGlsZXJfcGljIHdvcmtzLi4uICRFQ0hPX0MiID4mNgotaWYgdGVzdCAiJHtsdF9wcm9nX2NvbXBpbGVyX3BpY193b3JrcytzZXR9IiA9IHNldDsgdGhlbgoraWYgdGVzdCAiJHtsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3JrcytzZXR9IiA9IHNldDsgdGhlbgogICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgogZWxzZQotICBsdF9wcm9nX2NvbXBpbGVyX3BpY193b3Jrcz1ubworICBsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3Jrcz1ubwogICAgYWNfb3V0ZmlsZT1jb25mdGVzdC4kYWNfb2JqZXh0CiAgICBlY2hvICIkbHRfc2ltcGxlX2NvbXBpbGVfdGVzdF9jb2RlIiA+IGNvbmZ0ZXN0LiRhY19leHQKICAgIGx0X2NvbXBpbGVyX2ZsYWc9IiRsdF9wcm9nX2NvbXBpbGVyX3BpYyAtRFBJQyIKQEAgLTc0MzIsMjcgKzg0ODMsMjcgQEAKICAgIC1lICdzOi4qRkxBR1N9XHswLDFcfSA6JiRsdF9jb21waWxlcl9mbGFnIDo7IHQnIFwKICAgIC1lICdzOiBbXiBdKmNvbmZ0ZXN0XC46ICRsdF9jb21waWxlcl9mbGFnJjo7IHQnIFwKICAgIC1lICdzOiQ6ICRsdF9jb21waWxlcl9mbGFnOidgCi0gICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NzQzNTogJGx0X2NvbXBpbGVcIiIgPiY1KQorICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjg0ODY6ICRsdF9jb21waWxlXCIiID4mNSkKICAgIChldmFsICIkbHRfY29tcGlsZSIgMj5jb25mdGVzdC5lcnIpCiAgICBhY19zdGF0dXM9JD8KICAgIGNhdCBjb25mdGVzdC5lcnIgPiY1Ci0gICBlY2hvICIkYXNfbWU6NzQzOTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgICBlY2hvICIkYXNfbWU6ODQ5MDogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CiAgICBpZiAoZXhpdCAkYWNfc3RhdHVzKSAmJiB0ZXN0IC1zICIkYWNfb3V0ZmlsZSI7IHRoZW4KICAgICAgIyBUaGUgY29tcGlsZXIgY2FuIG9ubHkgd2FybiBhbmQgaWdub3JlIHRoZSBvcHRpb24gaWYgbm90IHJlY29nbml6ZWQKICAgICAgIyBTbyBzYXkgbm8gaWYgdGhlcmUgYXJlIHdhcm5pbmdzIG90aGVyIHRoYW4gdGhlIHVzdWFsIG91dHB1dC4KICAgICAgJEVDSE8gIlgkX2x0X2NvbXBpbGVyX2JvaWxlcnBsYXRlIiB8ICRYc2VkIC1lICcvXiQvZCcgPmNvbmZ0ZXN0LmV4cAogICAgICAkU0VEICcvXiQvZDsgL14gKisvZCcgY29uZnRlc3QuZXJyID5jb25mdGVzdC5lcjIKICAgICAgaWYgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVyMiB8fCBkaWZmIGNvbmZ0ZXN0LmV4cCBjb25mdGVzdC5lcjIgPi9kZXYvbnVsbDsgdGhlbgotICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzPXllcworICAgICAgIGx0X2N2X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzPXllcwogICAgICBmaQogICAgZmkKICAgICRSTSBjb25mdGVzdCoKIAogZmkKLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRsdF9wcm9nX2NvbXBpbGVyX3BpY193b3JrcyIgPiY1Ci1lY2hvICIke0VDSE9fVH0kbHRfcHJvZ19jb21waWxlcl9waWNfd29ya3MiID4mNgorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGx0X2N2X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3JrcyIgPiY2CiAKLWlmIHRlc3QgeCIkbHRfcHJvZ19jb21waWxlcl9waWNfd29ya3MiID0geHllczsgdGhlbgoraWYgdGVzdCB4IiRsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3JrcyIgPSB4eWVzOyB0aGVuCiAgICAgY2FzZSAkbHRfcHJvZ19jb21waWxlcl9waWMgaW4KICAgICAgIiIgfCAiICIqKSA7OwogICAgICAqKSBsdF9wcm9nX2NvbXBpbGVyX3BpYz0iICRsdF9wcm9nX2NvbXBpbGVyX3BpYyIgOzsKQEAgLTc0NzUsMTAgKzg1MjYsMTAgQEAKIHdsPSRsdF9wcm9nX2NvbXBpbGVyX3dsIGV2YWwgbHRfdG1wX3N0YXRpY19mbGFnPVwiJGx0X3Byb2dfY29tcGlsZXJfc3RhdGljXCIKIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBpZiAkY29tcGlsZXIgc3RhdGljIGZsYWcgJGx0X3RtcF9zdGF0aWNfZmxhZyB3b3JrcyIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGlmICRjb21waWxlciBzdGF0aWMgZmxhZyAkbHRfdG1wX3N0YXRpY19mbGFnIHdvcmtzLi4uICRFQ0hPX0MiID4mNgotaWYgdGVzdCAiJHtsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcytzZXR9IiA9IHNldDsgdGhlbgoraWYgdGVzdCAiJHtsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcytzZXR9IiA9IHNldDsgdGhlbgogICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgogZWxzZQotICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3Jrcz1ubworICBsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3Jrcz1ubwogICAgc2F2ZV9MREZMQUdTPSIkTERGTEFHUyIKICAgIExERkxBR1M9IiRMREZMQUdTICRsdF90bXBfc3RhdGljX2ZsYWciCiAgICBlY2hvICIkbHRfc2ltcGxlX2xpbmtfdGVzdF9jb2RlIiA+IGNvbmZ0ZXN0LiRhY19leHQKQEAgLTc0OTEsMjAgKzg1NDIsMjAgQEAKICAgICAgICAkRUNITyAiWCRfbHRfbGlua2VyX2JvaWxlcnBsYXRlIiB8ICRYc2VkIC1lICcvXiQvZCcgPiBjb25mdGVzdC5leHAKICAgICAgICAkU0VEICcvXiQvZDsgL14gKisvZCcgY29uZnRlc3QuZXJyID5jb25mdGVzdC5lcjIKICAgICAgICBpZiBkaWZmIGNvbmZ0ZXN0LmV4cCBjb25mdGVzdC5lcjIgPi9kZXYvbnVsbDsgdGhlbgotICAgICAgICAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9eWVzCisgICAgICAgICBsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3Jrcz15ZXMKICAgICAgICBmaQogICAgICBlbHNlCi0gICAgICAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9eWVzCisgICAgICAgbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9eWVzCiAgICAgIGZpCiAgICBmaQotICAgJFJNIGNvbmZ0ZXN0KgorICAgJFJNIC1yIGNvbmZ0ZXN0KgogICAgTERGTEFHUz0iJHNhdmVfTERGTEFHUyIKIAogZmkKLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcyIgPiY1Ci1lY2hvICIke0VDSE9fVH0kbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3MiID4mNgorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGx0X2N2X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcyIgPiY2CiAKLWlmIHRlc3QgeCIkbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3MiID0geHllczsgdGhlbgoraWYgdGVzdCB4IiRsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcyIgPSB4eWVzOyB0aGVuCiAgICAgOgogZWxzZQogICAgIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljPQpAQCAtNzUzNywxMSArODU4OCwxMSBAQAogICAgLWUgJ3M6LipGTEFHU31cezAsMVx9IDomJGx0X2NvbXBpbGVyX2ZsYWcgOjsgdCcgXAogICAgLWUgJ3M6IFteIF0qY29uZnRlc3RcLjogJGx0X2NvbXBpbGVyX2ZsYWcmOjsgdCcgXAogICAgLWUgJ3M6JDogJGx0X2NvbXBpbGVyX2ZsYWc6J2AKLSAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo3NTQwOiAkbHRfY29tcGlsZVwiIiA+JjUpCisgICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6ODU5MTogJGx0X2NvbXBpbGVcIiIgPiY1KQogICAgKGV2YWwgIiRsdF9jb21waWxlIiAyPm91dC9jb25mdGVzdC5lcnIpCiAgICBhY19zdGF0dXM9JD8KICAgIGNhdCBvdXQvY29uZnRlc3QuZXJyID4mNQotICAgZWNobyAiJGFzX21lOjc1NDQ6IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAgZWNobyAiJGFzX21lOjg1OTU6IFwkPyA9ICRhY19zdGF0dXMiID4mNQogICAgaWYgKGV4aXQgJGFjX3N0YXR1cykgJiYgdGVzdCAtcyBvdXQvY29uZnRlc3QyLiRhY19vYmpleHQKICAgIHRoZW4KICAgICAgIyBUaGUgY29tcGlsZXIgY2FuIG9ubHkgd2FybiBhbmQgaWdub3JlIHRoZSBvcHRpb24gaWYgbm90IHJlY29nbml6ZWQKQEAgLTc1OTIsMTEgKzg2NDMsMTEgQEAKICAgIC1lICdzOi4qRkxBR1N9XHswLDFcfSA6JiRsdF9jb21waWxlcl9mbGFnIDo7IHQnIFwKICAgIC1lICdzOiBbXiBdKmNvbmZ0ZXN0XC46ICRsdF9jb21waWxlcl9mbGFnJjo7IHQnIFwKICAgIC1lICdzOiQ6ICRsdF9jb21waWxlcl9mbGFnOidgCi0gICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NzU5NTogJGx0X2NvbXBpbGVcIiIgPiY1KQorICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjg2NDY6ICRsdF9jb21waWxlXCIiID4mNSkKICAgIChldmFsICIkbHRfY29tcGlsZSIgMj5vdXQvY29uZnRlc3QuZXJyKQogICAgYWNfc3RhdHVzPSQ/CiAgICBjYXQgb3V0L2NvbmZ0ZXN0LmVyciA+JjUKLSAgIGVjaG8gIiRhc19tZTo3NTk5OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgIGVjaG8gIiRhc19tZTo4NjUwOiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKICAgIGlmIChleGl0ICRhY19zdGF0dXMpICYmIHRlc3QgLXMgb3V0L2NvbmZ0ZXN0Mi4kYWNfb2JqZXh0CiAgICB0aGVuCiAgICAgICMgVGhlIGNvbXBpbGVyIGNhbiBvbmx5IHdhcm4gYW5kIGlnbm9yZSB0aGUgb3B0aW9uIGlmIG5vdCByZWNvZ25pemVkCkBAIC03Njg2LDE2ICs4NzM3LDE3IEBACiAgICMgaXQgd2lsbCBiZSB3cmFwcGVkIGJ5IGAgKCcgYW5kIGApJCcsIHNvIG9uZSBtdXN0IG5vdCBtYXRjaCBiZWdpbm5pbmcgb3IKICAgIyBlbmQgb2YgbGluZS4gIEV4YW1wbGU6IGBhfGJjfC4qZC4qJyB3aWxsIGV4Y2x1ZGUgdGhlIHN5bWJvbHMgYGEnIGFuZCBgYmMnLAogICAjIGFzIHdlbGwgYXMgYW55IHN5bWJvbCB0aGF0IGNvbnRhaW5zIGBkJy4KLSAgZXhjbHVkZV9leHBzeW1zPSJfR0xPQkFMX09GRlNFVF9UQUJMRV8iCisgIGV4Y2x1ZGVfZXhwc3ltcz0nX0dMT0JBTF9PRkZTRVRfVEFCTEVffF9HTE9CQUxfX0ZbSURdXy4qJwogICAjIEFsdGhvdWdoIF9HTE9CQUxfT0ZGU0VUX1RBQkxFXyBpcyBhIHZhbGlkIHN5bWJvbCBDIG5hbWUsIG1vc3QgYS5vdXQKICAgIyBwbGF0Zm9ybXMgKGFiKXVzZSBpdCBpbiBQSUMgY29kZSwgYnV0IHRoZWlyIGxpbmtlcnMgZ2V0IGNvbmZ1c2VkIGlmCiAgICMgdGhlIHN5bWJvbCBpcyBleHBsaWNpdGx5IHJlZmVyZW5jZWQuICBTaW5jZSBwb3J0YWJsZSBjb2RlIGNhbm5vdAogICAjIHJlbHkgb24gdGhpcyBzeW1ib2wgbmFtZSwgaXQncyBwcm9iYWJseSBmaW5lIHRvIG5ldmVyIGluY2x1ZGUgaXQgaW4KICAgIyBwcmVsb2FkZWQgc3ltYm9sIHRhYmxlcy4KKyAgIyBFeGNsdWRlIHNoYXJlZCBsaWJyYXJ5IGluaXRpYWxpemF0aW9uL2ZpbmFsaXphdGlvbiBzeW1ib2xzLgogICBleHRyYWN0X2V4cHN5bXNfY21kcz0KIAogICBjYXNlICRob3N0X29zIGluCi0gIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKikKKyAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgICMgRklYTUU6IHRoZSBNU1ZDKysgcG9ydCBoYXNuJ3QgYmVlbiB0ZXN0ZWQgaW4gYSBsb29vb25nIHRpbWUKICAgICAjIFdoZW4gbm90IHVzaW5nIGdjYywgd2UgY3VycmVudGx5IGFzc3VtZSB0aGF0IHdlIGFyZSB1c2luZwogICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCkBAIC03NzU3LDE5ICs4ODA5LDE4IEBACiAgICAgICA7OwogCiAgICAgYW1pZ2FvcyopCi0gICAgICBpZiB0ZXN0ICIkaG9zdF9jcHUiID0gbTY4azsgdGhlbgotICAgICAgICBhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIE5BTUUgJGxpYm5hbWUiID4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBMSUJSQVJZX0lEIDEiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgUkVWSVNJT04gJHJldmlzaW9uIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRBUiAkQVJfRkxBR1MgJGxpYiAkbGlib2Jqc34kUkFOTElCICRsaWJ+KGNkICRvdXRwdXRfb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCi0gICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1MJGxpYmRpcicKLSAgICAgICAgaGFyZGNvZGVfbWludXNfTD15ZXMKLSAgICAgIGZpCi0KLSAgICAgICMgU2FtdWVsIEEuIEZhbHZvIElJIDxrYzV0amFAZG9scGhpbi5vcGVucHJvamVjdHMubmV0PiByZXBvcnRzCi0gICAgICAjIHRoYXQgdGhlIHNlbWFudGljcyBvZiBkeW5hbWljIGxpYnJhcmllcyBvbiBBbWlnYU9TLCBhdCBsZWFzdCB1cAotICAgICAgIyB0byB2ZXJzaW9uIDQsIGlzIHRvIHNoYXJlIGRhdGEgYW1vbmcgbXVsdGlwbGUgcHJvZ3JhbXMgbGlua2VkCi0gICAgICAjIHdpdGggdGhlIHNhbWUgZHluYW1pYyBsaWJyYXJ5LiAgU2luY2UgdGhpcyBkb2Vzbid0IG1hdGNoIHRoZQotICAgICAgIyBiZWhhdmlvciBvZiBzaGFyZWQgbGlicmFyaWVzIG9uIG90aGVyIHBsYXRmb3Jtcywgd2UgY2FuJ3QgdXNlCi0gICAgICAjIHRoZW0uCi0gICAgICBsZF9zaGxpYnM9bm8KKyAgICAgIGNhc2UgJGhvc3RfY3B1IGluCisgICAgICBwb3dlcnBjKQorICAgICAgICAgICAgIyBzZWUgY29tbWVudCBhYm91dCBBbWlnYU9TNCAuc28gc3VwcG9ydAorICAgICAgICAgICAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR3bCRzb25hbWUgLW8gJGxpYicKKyAgICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JycKKyAgICAgICAgOzsKKyAgICAgIG02OGspCisgICAgICAgICAgICBhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIE5BTUUgJGxpYm5hbWUiID4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBMSUJSQVJZX0lEIDEiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgUkVWSVNJT04gJHJldmlzaW9uIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRBUiAkQVJfRkxBR1MgJGxpYiAkbGlib2Jqc34kUkFOTElCICRsaWJ+KGNkICRvdXRwdXRfb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCisgICAgICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCisgICAgICAgICAgICBoYXJkY29kZV9taW51c19MPXllcworICAgICAgICA7OworICAgICAgZXNhYwogICAgICAgOzsKIAogICAgIGJlb3MqKQpAQCAtNzc4Myw3ICs4ODM0LDcgQEAKICAgICAgIGZpCiAgICAgICA7OwogCi0gICAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqKQorICAgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgICAgICMgX0xUX1RBR1ZBUihoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjLCApIGlzIGFjdHVhbGx5IG1lYW5pbmdsZXNzLAogICAgICAgIyBhcyB0aGVyZSBpcyBubyBzZWFyY2ggcGF0aCBmb3IgRExMcy4KICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1MJGxpYmRpcicKQEAgLTc4MzQsNiArODg4NSw3IEBACiAJICYmIHRlc3QgIiR0bXBfZGlldCIgPSBubwogICAgICAgdGhlbgogCXRtcF9hZGRmbGFnPQorCXRtcF9zaGFyZWRmbGFnPSctc2hhcmVkJwogCWNhc2UgJGNjX2Jhc2VuYW1lLCRob3N0X2NwdSBpbgogICAgICAgICBwZ2NjKikJCQkJIyBQb3J0bGFuZCBHcm91cCBDIGNvbXBpbGVyCiAJICB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0nJHt3bH0tLXdob2xlLWFyY2hpdmVgZm9yIGNvbnYgaW4gJGNvbnZlbmllbmNlXCJcIjsgZG8gdGVzdCAgLW4gXCIkY29udlwiICYmIG5ld19jb252ZW5pZW5jZT1cIiRuZXdfY29udmVuaWVuY2UsJGNvbnZcIjsgZG9uZTsgJEVDSE8gXCIkbmV3X2NvbnZlbmllbmNlXCJgICR7d2x9LS1uby13aG9sZS1hcmNoaXZlJwpAQCAtNzg0OCw2ICs4OTAwLDEyIEBACiAJICB0bXBfYWRkZmxhZz0nIC1pX2R5bmFtaWMgLW5vZm9yX21haW4nIDs7CiAJaWZjKiB8IGlmb3J0KikJCQkjIEludGVsIEZvcnRyYW4gY29tcGlsZXIKIAkgIHRtcF9hZGRmbGFnPScgLW5vZm9yX21haW4nIDs7CisJbGY5NSopCQkJCSMgTGFoZXkgRm9ydHJhbiA4LjEKKwkgIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjPQorCSAgdG1wX3NoYXJlZGZsYWc9Jy0tc2hhcmVkJyA7OworCXhsW2NDXSopCQkJIyBJQk0gWEwgQyA4LjAgb24gUFBDIChkZWFsIHdpdGggeGxmIGJlbG93KQorCSAgdG1wX3NoYXJlZGZsYWc9Jy1xbWtzaHJvYmonCisJICB0bXBfYWRkZmxhZz0gOzsKIAllc2FjCiAJY2FzZSBgJENDIC1WIDI+JjEgfCBzZWQgNXFgIGluCiAJKlN1blwgQyopCQkJIyBTdW4gQyA1LjkKQEAgLTc4NTYsOCArODkxNCw2IEBACiAJICB0bXBfc2hhcmVkZmxhZz0nLUcnIDs7CiAJKlN1blwgRiopCQkJIyBTdW4gRm9ydHJhbiA4LjMKIAkgIHRtcF9zaGFyZWRmbGFnPSctRycgOzsKLQkqKQotCSAgdG1wX3NoYXJlZGZsYWc9Jy1zaGFyZWQnIDs7CiAJZXNhYwogCWFyY2hpdmVfY21kcz0nJENDICciJHRtcF9zaGFyZWRmbGFnIiIkdG1wX2FkZGZsYWciJyAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR3bCRzb25hbWUgLW8gJGxpYicKIApAQCAtNzg2Nyw2ICs4OTIzLDIyIEBACiAJICAgIGVjaG8gImxvY2FsOiAqOyB9OyIgPj4gJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyfgogCSAgICAkQ0MgJyIkdG1wX3NoYXJlZGZsYWciIiR0bXBfYWRkZmxhZyInICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1zb25hbWUgJHdsJHNvbmFtZSAke3dsfS12ZXJzaW9uLXNjcmlwdCAke3dsfSRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlciAtbyAkbGliJwogICAgICAgICBmaQorCisJY2FzZSAkY2NfYmFzZW5hbWUgaW4KKwl4bGYqKQorCSAgIyBJQk0gWEwgRm9ydHJhbiAxMC4xIG9uIFBQQyBjYW5ub3QgY3JlYXRlIHNoYXJlZCBsaWJzIGl0c2VsZgorCSAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9Jy0td2hvbGUtYXJjaGl2ZSRjb252ZW5pZW5jZSAtLW5vLXdob2xlLWFyY2hpdmUnCisJICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPQorCSAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19sZD0nLXJwYXRoICRsaWJkaXInCisJICBhcmNoaXZlX2NtZHM9JyRMRCAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgLW8gJGxpYicKKwkgIGlmIHRlc3QgIngkc3VwcG9ydHNfYW5vbl92ZXJzaW9uaW5nIiA9IHh5ZXM7IHRoZW4KKwkgICAgYXJjaGl2ZV9leHBzeW1fY21kcz0nZWNobyAieyBnbG9iYWw6IiA+ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlcn4KKwkgICAgICBjYXQgJGV4cG9ydF9zeW1ib2xzIHwgc2VkIC1lICJzL1woLipcKS9cMTsvIiA+PiAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXJ+CisJICAgICAgZWNobyAibG9jYWw6ICo7IH07IiA+PiAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXJ+CisJICAgICAgJExEIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSAtdmVyc2lvbi1zY3JpcHQgJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyIC1vICRsaWInCisJICBmaQorCSAgOzsKKwllc2FjCiAgICAgICBlbHNlCiAgICAgICAgIGxkX3NobGlicz1ubwogICAgICAgZmkKQEAgLTgwNjIsNiArOTEzNCw3IEBACiAJZmkKICAgICAgIGZpCiAKKyAgICAgIGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYz0nJHt3bH0tYmV4cGFsbCcKICAgICAgICMgSXQgc2VlbXMgdGhhdCAtYmV4cGFsbCBkb2VzIG5vdCBleHBvcnQgc3ltYm9scyBiZWdpbm5pbmcgd2l0aAogICAgICAgIyB1bmRlcnNjb3JlIChfKSwgc28gaXQgaXMgYmV0dGVyIHRvIGdlbmVyYXRlIGEgbGlzdCBvZiBzeW1ib2xzIHRvIGV4cG9ydC4KICAgICAgIGFsd2F5c19leHBvcnRfc3ltYm9scz15ZXMKQEAgLTgyMTQsMjAgKzkyODcsMjUgQEAKICAgICAgIDs7CiAKICAgICBhbWlnYW9zKikKLSAgICAgIGlmIHRlc3QgIiRob3N0X2NwdSIgPSBtNjhrOyB0aGVuCi0gICAgICAgIGFyY2hpdmVfY21kcz0nJFJNICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgTkFNRSAkbGlibmFtZSIgPiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIExJQlJBUllfSUQgMSIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBWRVJTSU9OICRtYWpvciIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBSRVZJU0lPTiAkcmV2aXNpb24iID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEFSICRBUl9GTEFHUyAkbGliICRsaWJvYmpzfiRSQU5MSUIgJGxpYn4oY2QgJG91dHB1dF9vYmpkaXIgJiYgYTJpeGxpYnJhcnkgLTMyKScKLSAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLUwkbGliZGlyJwotICAgICAgICBoYXJkY29kZV9taW51c19MPXllcwotICAgICAgZmkKLSAgICAgICMgc2VlIGNvbW1lbnQgYWJvdXQgZGlmZmVyZW50IHNlbWFudGljcyBvbiB0aGUgR05VIGxkIHNlY3Rpb24KLSAgICAgIGxkX3NobGlicz1ubworICAgICAgY2FzZSAkaG9zdF9jcHUgaW4KKyAgICAgIHBvd2VycGMpCisgICAgICAgICAgICAjIHNlZSBjb21tZW50IGFib3V0IEFtaWdhT1M0IC5zbyBzdXBwb3J0CisgICAgICAgICAgICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1zb25hbWUgJHdsJHNvbmFtZSAtbyAkbGliJworICAgICAgICAgICAgYXJjaGl2ZV9leHBzeW1fY21kcz0nJworICAgICAgICA7OworICAgICAgbTY4aykKKyAgICAgICAgICAgIGFyY2hpdmVfY21kcz0nJFJNICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgTkFNRSAkbGlibmFtZSIgPiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIExJQlJBUllfSUQgMSIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBWRVJTSU9OICRtYWpvciIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBSRVZJU0lPTiAkcmV2aXNpb24iID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEFSICRBUl9GTEFHUyAkbGliICRsaWJvYmpzfiRSQU5MSUIgJGxpYn4oY2QgJG91dHB1dF9vYmpkaXIgJiYgYTJpeGxpYnJhcnkgLTMyKScKKyAgICAgICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1MJGxpYmRpcicKKyAgICAgICAgICAgIGhhcmRjb2RlX21pbnVzX0w9eWVzCisgICAgICAgIDs7CisgICAgICBlc2FjCiAgICAgICA7OwogCiAgICAgYnNkaVs0NV0qKQogICAgICAgZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPS1yZHluYW1pYwogICAgICAgOzsKIAotICAgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKikKKyAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgICAgICAjIFdoZW4gbm90IHVzaW5nIGdjYywgd2UgY3VycmVudGx5IGFzc3VtZSB0aGF0IHdlIGFyZSB1c2luZwogICAgICAgIyBNaWNyb3NvZnQgVmlzdWFsIEMrKy4KICAgICAgICMgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyBpcyBhY3R1YWxseSBtZWFuaW5nbGVzcywgYXMgdGhlcmUgaXMKQEAgLTgyNDksNzMgKzkzMjcsMzAgQEAKICAgICAgIDs7CiAKICAgICBkYXJ3aW4qIHwgcmhhcHNvZHkqKQotICAgICAgY2FzZSAkaG9zdF9vcyBpbgotICAgICAgcmhhcHNvZHkqIHwgZGFyd2luMS5bMDEyXSkKLQlhbGxvd191bmRlZmluZWRfZmxhZz0nJHt3bH0tdW5kZWZpbmVkICR7d2x9c3VwcHJlc3MnCi0JOzsKLSAgICAgICopICMgRGFyd2luIDEuMyBvbgotCWNhc2UgJHtNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQtMTAuMH0gaW4KLQkxMC5bMDEyXSkKLQkgIGFsbG93X3VuZGVmaW5lZF9mbGFnPScke3dsfS1mbGF0X25hbWVzcGFjZSAke3dsfS11bmRlZmluZWQgJHt3bH1zdXBwcmVzcycKLQkgIDs7Ci0JMTAuKikKLQkgIGFsbG93X3VuZGVmaW5lZF9mbGFnPScke3dsfS11bmRlZmluZWQgJHt3bH1keW5hbWljX2xvb2t1cCcKLQkgIDs7Ci0JZXNhYwotCTs7Ci0gICAgICBlc2FjCi0gICAgICBhcmNoaXZlX2NtZHNfbmVlZF9sYz1ubwotICAgICAgaGFyZGNvZGVfZGlyZWN0PW5vCi0gICAgICBoYXJkY29kZV9hdXRvbWF0aWM9eWVzCi0gICAgICBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPXVuc3VwcG9ydGVkCi0gICAgICB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0nJwotICAgICAgbGlua19hbGxfZGVwbGlicz15ZXMKLSAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzIDsgdGhlbgotCWlmIHRlc3QgIiR7bHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZCtzZXR9IiA9IHNldDsgdGhlbgotICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgotZWxzZQotICBsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kPW5vCi0JaWYgdGVzdCAteiAiJHtMVF9NVUxUSV9NT0RVTEV9IjsgdGhlbgotCSAgIyBCeSBkZWZhdWx0IHdlIHdpbGwgYWRkIHRoZSAtc2luZ2xlX21vZHVsZSBmbGFnLiBZb3UgY2FuIG92ZXJyaWRlCi0JICAjIGJ5IGVpdGhlciBzZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBMVF9NVUxUSV9NT0RVTEUKLQkgICMgbm9uLWVtcHR5IGF0IGNvbmZpZ3VyZSB0aW1lLCBvciBieSBhZGRpbmcgLW11bHRpLW1vZHVsZSB0byB0aGUKLQkgICMgbGluayBmbGFncy4KLQkgIGVjaG8gImludCBmb28odm9pZCl7cmV0dXJuIDE7fSIgPiBjb25mdGVzdC5jCi0JICAkTFRDQyAkTFRDRkxBR1MgJExERkxBR1MgLW8gbGliY29uZnRlc3QuZHlsaWIgXAotCSAgICAgIC1keW5hbWljbGliICR7d2x9LXNpbmdsZV9tb2R1bGUgY29uZnRlc3QuYwotCSAgaWYgdGVzdCAtZiBsaWJjb25mdGVzdC5keWxpYjsgdGhlbgotCSAgICAgIGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Q9eWVzCi0JICAgICAgcm0gbGliY29uZnRlc3QuZHlsaWIKLQkgIGZpCi0JICBybSBjb25mdGVzdC4kYWNfZXh0Ci0JZmkKLWZpCiAKLQlvdXRwdXRfdmVyYm9zZV9saW5rX2NtZD1lY2hvCi0JaWYgdGVzdCAiWCRsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kIiA9IFh5ZXMgOyB0aGVuCi0JICBhcmNoaXZlX2NtZHM9JyRDQyAtZHluYW1pY2xpYiAkc2luZ2xlX21vZHVsZSAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSAkcnBhdGgvJHNvbmFtZSAkdmVyc3RyaW5nJwotCSAgYXJjaGl2ZV9leHBzeW1fY21kcz0nc2VkICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgJHNpbmdsZV9tb2R1bGUgLWR5bmFtaWNsaWIgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgJHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZ35ubWVkaXQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCi0JZWxzZQotCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLWR5bmFtaWNsaWIgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgJHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZycKLQkgIGFyY2hpdmVfZXhwc3ltX2NtZHM9J3NlZCAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDIC1keW5hbWljbGliICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lICRycGF0aC8kc29uYW1lICR2ZXJzdHJpbmd+bm1lZGl0IC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JwotCWZpCi0JbW9kdWxlX2NtZHM9JyRDQyAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAtYnVuZGxlICRsaWJvYmpzICRkZXBsaWJzJGNvbXBpbGVyX2ZsYWdzJwotCW1vZHVsZV9leHBzeW1fY21kcz0nc2VkIC1lICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgJGFsbG93X3VuZGVmaW5lZF9mbGFnICAtbyAkbGliIC1idW5kbGUgJGxpYm9ianMgJGRlcGxpYnMkY29tcGlsZXJfZmxhZ3N+bm1lZGl0IC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JwotICAgICAgZWxzZQotCWNhc2UgJGNjX2Jhc2VuYW1lIGluCi0JeGxjKikKLQkgIG91dHB1dF92ZXJib3NlX2xpbmtfY21kPWVjaG8KLQkgIGFyY2hpdmVfY21kcz0nJENDIC1xbWtzaHJvYmogJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LWluc3RhbGxfbmFtZSAke3dsfWAkRUNITyAkcnBhdGgvJHNvbmFtZWAgJHZlcnN0cmluZycKLQkgIG1vZHVsZV9jbWRzPSckQ0MgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgLWJ1bmRsZSAkbGlib2JqcyAkZGVwbGlicyRjb21waWxlcl9mbGFncycKLQkgICMgRG9uJ3QgZml4IHRoaXMgYnkgdXNpbmcgdGhlIGxkIC1leHBvcnRlZF9zeW1ib2xzX2xpc3QgZmxhZywgaXQgZG9lc24ndCBleGlzdCBpbiBvbGRlciBkYXJ3aW4gbGRzCi0JICBhcmNoaXZlX2V4cHN5bV9jbWRzPSdzZWQgInMsXixfLCIgPCAkZXhwb3J0X3N5bWJvbHMgPiAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltfiRDQyAtcW1rc2hyb2JqICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1pbnN0YWxsX25hbWUgJHt3bH0kcnBhdGgvJHNvbmFtZSAkdmVyc3RyaW5nfm5tZWRpdCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKLQkgIG1vZHVsZV9leHBzeW1fY21kcz0nc2VkICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgJGFsbG93X3VuZGVmaW5lZF9mbGFnICAtbyAkbGliIC1idW5kbGUgJGxpYm9ianMgJGRlcGxpYnMkY29tcGlsZXJfZmxhZ3N+bm1lZGl0IC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JwotCSAgOzsKLQkqKQotCSAgbGRfc2hsaWJzPW5vCi0JICA7OwotCWVzYWMKLSAgICAgIGZpCisKKyAgYXJjaGl2ZV9jbWRzX25lZWRfbGM9bm8KKyAgaGFyZGNvZGVfZGlyZWN0PW5vCisgIGhhcmRjb2RlX2F1dG9tYXRpYz15ZXMKKyAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj11bnN1cHBvcnRlZAorICB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0nJworICBsaW5rX2FsbF9kZXBsaWJzPXllcworICBhbGxvd191bmRlZmluZWRfZmxhZz0iJF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkIgorICBjYXNlICRjY19iYXNlbmFtZSBpbgorICAgICBpZm9ydCopIF9sdF9kYXJfY2FuX3NoYXJlZD15ZXMgOzsKKyAgICAgKikgX2x0X2Rhcl9jYW5fc2hhcmVkPSRHQ0MgOzsKKyAgZXNhYworICBpZiB0ZXN0ICIkX2x0X2Rhcl9jYW5fc2hhcmVkIiA9ICJ5ZXMiOyB0aGVuCisgICAgb3V0cHV0X3ZlcmJvc2VfbGlua19jbWQ9ZWNobworICAgIGFyY2hpdmVfY21kcz0iXCRDQyAtZHluYW1pY2xpYiBcJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vIFwkbGliIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lIFwkcnBhdGgvXCRzb25hbWUgXCR2ZXJzdHJpbmcgJF9sdF9kYXJfc2luZ2xlX21vZCR7X2x0X2RzeW11dGlsfSIKKyAgICBtb2R1bGVfY21kcz0iXCRDQyBcJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vIFwkbGliIC1idW5kbGUgXCRsaWJvYmpzIFwkZGVwbGlicyBcJGNvbXBpbGVyX2ZsYWdzJHtfbHRfZHN5bXV0aWx9IgorICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9InNlZCAncyxeLF8sJyA8IFwkZXhwb3J0X3N5bWJvbHMgPiBcJG91dHB1dF9vYmpkaXIvXCR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+XCRDQyAtZHluYW1pY2xpYiBcJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vIFwkbGliIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lIFwkcnBhdGgvXCRzb25hbWUgXCR2ZXJzdHJpbmcgJHtfbHRfZGFyX3NpbmdsZV9tb2R9JHtfbHRfZGFyX2V4cG9ydF9zeW1zfSR7X2x0X2RzeW11dGlsfSIKKyAgICBtb2R1bGVfZXhwc3ltX2NtZHM9InNlZCAtZSAncyxeLF8sJyA8IFwkZXhwb3J0X3N5bWJvbHMgPiBcJG91dHB1dF9vYmpkaXIvXCR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+XCRDQyBcJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vIFwkbGliIC1idW5kbGUgXCRsaWJvYmpzIFwkZGVwbGlicyBcJGNvbXBpbGVyX2ZsYWdzJHtfbHRfZGFyX2V4cG9ydF9zeW1zfSR7X2x0X2RzeW11dGlsfSIKKworICBlbHNlCisgIGxkX3NobGlicz1ubworICBmaQorCiAgICAgICA7OwogCiAgICAgZGd1eCopCkBAIC04Mzk3LDcgKzk0MzIsNyBAQAogCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAke3dsfStoICR7d2x9JHNvbmFtZSAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKIAkgIDs7CiAJaWE2NCopCi0JICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lICR7d2x9K25vZGVmYXVsdHJwYXRoIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJworCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAtZlBJQyAke3dsfStoICR7d2x9JHNvbmFtZSAke3dsfStub2RlZmF1bHRycGF0aCAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKIAkgIDs7CiAJKikKIAkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgLWZQSUMgJHt3bH0raCAke3dsfSRzb25hbWUgJHt3bH0rYiAke3dsfSRpbnN0YWxsX2xpYmRpciAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKQEAgLTg1MTUsMjUgKzk1NTAsMjkgQEAKICAgICAgIDs7CiAKICAgICBvcGVuYnNkKikKLSAgICAgIGhhcmRjb2RlX2RpcmVjdD15ZXMKLSAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLSAgICAgIGhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZT15ZXMKLSAgICAgIGlmIHRlc3QgLXogImBlY2hvIF9fRUxGX18gfCAkQ0MgLUUgLSB8ICRHUkVQIF9fRUxGX19gIiB8fCB0ZXN0ICIkaG9zdF9vcy0kaG9zdF9jcHUiID0gIm9wZW5ic2QyLjgtcG93ZXJwYyI7IHRoZW4KLQlhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKLQlhcmNoaXZlX2V4cHN5bV9jbWRzPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tcmV0YWluLXN5bWJvbHMtZmlsZSwkZXhwb3J0X3N5bWJvbHMnCi0JaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tcnBhdGgsJGxpYmRpcicKLQlleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9JyR7d2x9LUUnCi0gICAgICBlbHNlCi0gICAgICAgIGNhc2UgJGhvc3Rfb3MgaW4KLQlvcGVuYnNkWzAxXS4qIHwgb3BlbmJzZDIuWzAtN10gfCBvcGVuYnNkMi5bMC03XS4qKQotCSAgYXJjaGl2ZV9jbWRzPSckTEQgLUJzaGFyZWFibGUgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzJwotCSAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLVIkbGliZGlyJwotCSAgOzsKLQkqKQorICAgICAgaWYgdGVzdCAtZiAvdXNyL2xpYmV4ZWMvbGQuc287IHRoZW4KKwloYXJkY29kZV9kaXJlY3Q9eWVzCisJaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj1ubworCWhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZT15ZXMKKwlpZiB0ZXN0IC16ICJgZWNobyBfX0VMRl9fIHwgJENDIC1FIC0gfCAkR1JFUCBfX0VMRl9fYCIgfHwgdGVzdCAiJGhvc3Rfb3MtJGhvc3RfY3B1IiA9ICJvcGVuYnNkMi44LXBvd2VycGMiOyB0aGVuCiAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKKwkgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1yZXRhaW4tc3ltYm9scy1maWxlLCRleHBvcnRfc3ltYm9scycKIAkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoLCRsaWJkaXInCi0JICA7OwotICAgICAgICBlc2FjCisJICBleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9JyR7d2x9LUUnCisJZWxzZQorCSAgY2FzZSAkaG9zdF9vcyBpbgorCSAgIG9wZW5ic2RbMDFdLiogfCBvcGVuYnNkMi5bMC03XSB8IG9wZW5ic2QyLlswLTddLiopCisJICAgICBhcmNoaXZlX2NtZHM9JyRMRCAtQnNoYXJlYWJsZSAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3MnCisJICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCisJICAgICA7OworCSAgICopCisJICAgICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKKwkgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoLCRsaWJkaXInCisJICAgICA7OworCSAgZXNhYworCWZpCisgICAgICBlbHNlCisJbGRfc2hsaWJzPW5vCiAgICAgICBmaQogICAgICAgOzsKIApAQCAtODk3Miw4ICsxMDAxMSw4IEBACiAKICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcyIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcy4uLiAkRUNIT19DIiA+JjYKLXdpdGhHQ0M9JEdDQwotaWYgdGVzdCAiJHdpdGhHQ0MiID0geWVzOyB0aGVuCisKK2lmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgIGNhc2UgJGhvc3Rfb3MgaW4KICAgICBkYXJ3aW4qKSBsdF9hd2tfYXJnPSIvXmxpYnJhcmllczovLC9MUi8iIDs7CiAgICAgKikgbHRfYXdrX2FyZz0iL15saWJyYXJpZXM6LyIgOzsKQEAgLTkwOTksMTMgKzEwMTM4LDE4IEBACiAgIDs7CiAKIGFtaWdhb3MqKQotICBpZiB0ZXN0ICIkaG9zdF9jcHUiID0gbTY4azsgdGhlbgorICBjYXNlICRob3N0X2NwdSBpbgorICBwb3dlcnBjKQorICAgICMgU2luY2UgSnVseSAyMDA3IEFtaWdhT1M0IG9mZmljaWFsbHkgc3VwcG9ydHMgLnNvIGxpYnJhcmllcy4KKyAgICAjIFdoZW4gY29tcGlsaW5nIHRoZSBleGVjdXRhYmxlLCBhZGQgLXVzZS1keW5sZCAtTHNvYmpzOiB0byB0aGUgY29tcGlsZWxpbmUuCisgICAgbGlicmFyeV9uYW1lc19zcGVjPScke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kdmVyc3VmZml4ICR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSRtYWpvciAkbGlibmFtZSR7c2hhcmVkX2V4dH0nCisgICAgOzsKKyAgbTY4aykKICAgICBsaWJyYXJ5X25hbWVzX3NwZWM9JyRsaWJuYW1lLml4bGlicmFyeSAkbGlibmFtZS5hJwogICAgICMgQ3JlYXRlICR7bGlibmFtZX1faXhsaWJyYXJ5LmEgZW50cmllcyBpbiAvc3lzL2xpYnMuCiAgICAgZmluaXNoX2V2YWw9J2ZvciBsaWIgaW4gYGxzICRsaWJkaXIvKi5peGxpYnJhcnkgMj4vZGV2L251bGxgOyBkbyBsaWJuYW1lPWAkRUNITyAiWCRsaWIiIHwgJFhzZWQgLWUgJ1wnJ3MlXi4qL1woW14vXSpcKVwuaXhsaWJyYXJ5JCVcMSUnXCcnYDsgdGVzdCAkUk0gL3N5cy9saWJzLyR7bGlibmFtZX1faXhsaWJyYXJ5LmE7ICRzaG93ICJjZCAvc3lzL2xpYnMgJiYgJExOX1MgJGxpYiAke2xpYm5hbWV9X2l4bGlicmFyeS5hIjsgY2QgL3N5cy9saWJzICYmICRMTl9TICRsaWIgJHtsaWJuYW1lfV9peGxpYnJhcnkuYSB8fCBleGl0IDE7IGRvbmUnCi0gIGVsc2UKLSAgICBkeW5hbWljX2xpbmtlcj1ubwotICBmaQorICAgIDs7CisgIGVzYWMKICAgOzsKIAogYmVvcyopCkBAIC05MTI4LDE0ICsxMDE3MiwxNCBAQAogICAjIGxpYnRvb2wgdG8gaGFyZC1jb2RlIHRoZXNlIGludG8gcHJvZ3JhbXMKICAgOzsKIAotY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqKQorY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICB2ZXJzaW9uX3R5cGU9d2luZG93cwogICBzaHJleHRfY21kcz0iLmRsbCIKICAgbmVlZF92ZXJzaW9uPW5vCiAgIG5lZWRfbGliX3ByZWZpeD1ubwogCi0gIGNhc2UgJHdpdGhHQ0MsJGhvc3Rfb3MgaW4KLSAgeWVzLGN5Z3dpbiogfCB5ZXMsbWluZ3cqIHwgeWVzLHB3MzIqKQorICBjYXNlICRHQ0MsJGhvc3Rfb3MgaW4KKyAgeWVzLGN5Z3dpbiogfCB5ZXMsbWluZ3cqIHwgeWVzLHB3MzIqIHwgeWVzLGNlZ2NjKikKICAgICBsaWJyYXJ5X25hbWVzX3NwZWM9JyRsaWJuYW1lLmRsbC5hJwogICAgICMgRExMIGlzIGluc3RhbGxlZCB0byAkKGxpYmRpcikvLi4vYmluIGJ5IHBvc3RpbnN0YWxsX2NtZHMKICAgICBwb3N0aW5zdGFsbF9jbWRzPSdiYXNlX2ZpbGU9YGJhc2VuYW1lIFwke2ZpbGV9YH4KQEAgLTkxNTgsNyArMTAyMDIsNyBAQAogICAgICAgc29uYW1lX3NwZWM9J2BlY2hvICR7bGlibmFtZX0gfCBzZWQgLWUgJ3MvXmxpYi9jeWcvJ2BgZWNobyAke3JlbGVhc2V9IHwgJFNFRCAtZSAncy9bLl0vLS9nJ2Ake3ZlcnN1ZmZpeH0ke3NoYXJlZF9leHR9JwogICAgICAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIvdXNyL2xpYiAvbGliL3czMmFwaSAvbGliIC91c3IvbG9jYWwvbGliIgogICAgICAgOzsKLSAgICBtaW5ndyopCisgICAgbWluZ3cqIHwgY2VnY2MqKQogICAgICAgIyBNaW5HVyBETExzIHVzZSB0cmFkaXRpb25hbCAnbGliJyBwcmVmaXgKICAgICAgIHNvbmFtZV9zcGVjPScke2xpYm5hbWV9YGVjaG8gJHtyZWxlYXNlfSB8ICRTRUQgLWUgJ3MvWy5dLy0vZydgJHt2ZXJzdWZmaXh9JHtzaGFyZWRfZXh0fScKICAgICAgIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz1gJENDIC1wcmludC1zZWFyY2gtZGlycyB8ICRHUkVQICJebGlicmFyaWVzOiIgfCAkU0VEIC1lICJzL15saWJyYXJpZXM6Ly8iIC1lICJzLD0vLC8sZyJgCkBAIC05NDI0LDcgKzEwNDY4LDcgQEAKICAgYWNfc3RhdHVzPSQ/CiAgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKICAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KLSAgaWYgICgkT0JKRFVNUCAtcCBjb25mdGVzdCRhY19leGVleHQpIDI+L2Rldi9udWxsIHwgZ3JlcCAiUlVOUEFUSC4qJGxpYmRpciI7IHRoZW4KKyAgaWYgICgkT0JKRFVNUCAtcCBjb25mdGVzdCRhY19leGVleHQpIDI+L2Rldi9udWxsIHwgZ3JlcCAiUlVOUEFUSC4qJGxpYmRpciIgPi9kZXYvbnVsbDsgdGhlbgogICBzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9eWVzCiBmaQogCkBAIC05NDQ1LDcgKzEwNDg5LDcgQEAKIAogICAjIEFwcGVuZCBsZC5zby5jb25mIGNvbnRlbnRzIHRvIHRoZSBzZWFyY2ggcGF0aAogICBpZiB0ZXN0IC1mIC9ldGMvbGQuc28uY29uZjsgdGhlbgotICAgIGx0X2xkX2V4dHJhPWBhd2sgJy9eaW5jbHVkZSAvIHsgc3lzdGVtKHNwcmludGYoImNkIC9ldGM7IGNhdCAlcyAyPi9kZXYvbnVsbCIsIFwkMikpOyBza2lwID0gMTsgfSB7IGlmICghc2tpcCkgcHJpbnQgXCQwOyBza2lwID0gMDsgfScgPCAvZXRjL2xkLnNvLmNvbmYgfCAkU0VEIC1lICdzLyMuKi8vO3MvWzosCV0vIC9nO3MvPVtePV0qJC8vO3MvPVtePSBdKiAvIC9nOy9eJC9kJyB8IHRyICdcbicgJyAnYAorICAgIGx0X2xkX2V4dHJhPWBhd2sgJy9eaW5jbHVkZSAvIHsgc3lzdGVtKHNwcmludGYoImNkIC9ldGM7IGNhdCAlcyAyPi9kZXYvbnVsbCIsIFwkMikpOyBza2lwID0gMTsgfSB7IGlmICghc2tpcCkgcHJpbnQgXCQwOyBza2lwID0gMDsgfScgPCAvZXRjL2xkLnNvLmNvbmYgfCAkU0VEIC1lICdzLyMuKi8vOy9eWwkgXSpod2NhcFsJIF0vZDtzL1s6LAldLyAvZztzLz1bXj1dKiQvLztzLz1bXj0gXSogLyAvZzsvXiQvZCcgfCB0ciAnXG4nICcgJ2AKICAgICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0iL2xpYiAvdXNyL2xpYiAkbHRfbGRfZXh0cmEiCiAgIGZpCiAKQEAgLTk2MjksNyArMTA2NzMsNyBAQAogICB2ZXJzaW9uX3R5cGU9bGludXgKICAgbmVlZF9saWJfcHJlZml4PW5vCiAgIG5lZWRfdmVyc2lvbj1ubwotICBsaWJyYXJ5X25hbWVfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JHZlcnN1ZmZpeCAke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kbWFqb3IgJGxpYm5hbWUke3NoYXJlZF9leHR9JworICBsaWJyYXJ5X25hbWVzX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSR2ZXJzdWZmaXggJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JG1ham9yICRsaWJuYW1lJHtzaGFyZWRfZXh0fScKICAgc2hsaWJwYXRoX3Zhcj1MRF9MSUJSQVJZX1BBVEgKICAgc2hsaWJwYXRoX292ZXJyaWRlc19ydW5wYXRoPW5vCiAgIGhhcmRjb2RlX2ludG9fbGlicz15ZXMKQEAgLTk2NTUsNiArMTA2OTksMTMgQEAKICAgdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms9IiR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluayBHQ0NfRVhFQ19QUkVGSVggQ09NUElMRVJfUEFUSCBMSUJSQVJZX1BBVEgiCiBmaQogCitpZiB0ZXN0ICIke2x0X2N2X3N5c19saWJfc2VhcmNoX3BhdGhfc3BlYytzZXR9IiA9IHNldDsgdGhlbgorICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9IiRsdF9jdl9zeXNfbGliX3NlYXJjaF9wYXRoX3NwZWMiCitmaQoraWYgdGVzdCAiJHtsdF9jdl9zeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYytzZXR9IiA9IHNldDsgdGhlbgorICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0iJGx0X2N2X3N5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjIgorZmkKKwogCiAKIApAQCAtOTc5OSw3ICsxMDg1MCw3IEBACiAgICAgbHRfY3ZfZGxvcGVuX3NlbGY9eWVzCiAgICAgOzsKIAotICBtaW5ndyogfCBwdzMyKikKKyAgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgICAgbHRfY3ZfZGxvcGVuPSJMb2FkTGlicmFyeSIKICAgICBsdF9jdl9kbG9wZW5fbGlicz0KICAgICA7OwpAQCAtMTAwNDYsNyArMTEwOTcsNyBAQAogZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2xpYl9kbGRfc2hsX2xvYWQiID4mNQogZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2xpYl9kbGRfc2hsX2xvYWQiID4mNgogaWYgdGVzdCAkYWNfY3ZfbGliX2RsZF9zaGxfbG9hZCA9IHllczsgdGhlbgotICBsdF9jdl9kbG9wZW49InNobF9sb2FkIiBsdF9jdl9kbG9wZW5fbGlicz0iLWRsZCIKKyAgbHRfY3ZfZGxvcGVuPSJzaGxfbG9hZCIgbHRfY3ZfZGxvcGVuX2xpYnM9Ii1sZGxkIgogZWxzZQogICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIGRsb3BlbiIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBkbG9wZW4uLi4gJEVDSE9fQyIgPiY2CkBAIC0xMDM0MCw3ICsxMTM5MSw3IEBACiBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfbGliX2RsZF9kbGRfbGluayIgPiY1CiBlY2hvICIke0VDSE9fVH0kYWNfY3ZfbGliX2RsZF9kbGRfbGluayIgPiY2CiBpZiB0ZXN0ICRhY19jdl9saWJfZGxkX2RsZF9saW5rID0geWVzOyB0aGVuCi0gIGx0X2N2X2Rsb3Blbj0iZGxkX2xpbmsiIGx0X2N2X2Rsb3Blbl9saWJzPSItZGxkIgorICBsdF9jdl9kbG9wZW49ImRsZF9saW5rIiBsdF9jdl9kbG9wZW5fbGlicz0iLWxkbGQiCiBmaQogCiAKQEAgLTEwMzg5LDcgKzExNDQwLDcgQEAKICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotI2xpbmUgMTAzOTIgImNvbmZpZ3VyZSIKKyNsaW5lIDExNDQzICJjb25maWd1cmUiCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIKIAogI2lmIEhBVkVfRExGQ05fSApAQCAtMTA0MzAsMTAgKzExNDgxLDYgQEAKICMgIGVuZGlmCiAjZW5kaWYKIAotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHZvaWQgZXhpdCAoaW50KTsKLSNlbmRpZgotCiB2b2lkIGZub3JkKCkgeyBpbnQgaT00Mjt9CiBpbnQgbWFpbiAoKQogewpAQCAtMTA0NDksNyArMTE0OTYsNyBAQAogICBlbHNlCiAgICAgcHV0cyAoZGxlcnJvciAoKSk7CiAKLSAgICBleGl0IChzdGF0dXMpOworICByZXR1cm4gc3RhdHVzOwogfQogX0xUX0VPRgogICBpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19saW5rXCIiKSA+JjUKQEAgLTEwNDg5LDcgKzExNTM2LDcgQEAKICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotI2xpbmUgMTA0OTIgImNvbmZpZ3VyZSIKKyNsaW5lIDExNTM5ICJjb25maWd1cmUiCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIKIAogI2lmIEhBVkVfRExGQ05fSApAQCAtMTA1MzAsMTAgKzExNTc3LDYgQEAKICMgIGVuZGlmCiAjZW5kaWYKIAotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHZvaWQgZXhpdCAoaW50KTsKLSNlbmRpZgotCiB2b2lkIGZub3JkKCkgeyBpbnQgaT00Mjt9CiBpbnQgbWFpbiAoKQogewpAQCAtMTA1NDksNyArMTE1OTIsNyBAQAogICBlbHNlCiAgICAgcHV0cyAoZGxlcnJvciAoKSk7CiAKLSAgICBleGl0IChzdGF0dXMpOworICByZXR1cm4gc3RhdHVzOwogfQogX0xUX0VPRgogICBpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19saW5rXCIiKSA+JjUKQEAgLTExMDQ4LDcgKzEyMDkxLDcgQEAKIAogIyBob3N0IHN0dWZmOgogCi1BTExfTElOR1VBUz0iZnIgdHIgamEgZXMgc3YgZGEgemhfQ04gcm8gcncgdmkgZmkiCitBTExfTElOR1VBUz0iZnIgdHIgamEgZXMgc3YgZGEgemhfQ04gcm8gcncgdmkgZmkgaWQiCiAjIElmIHdlIGhhdmVuJ3QgZ290IHRoZSBkYXRhIGZyb20gdGhlIGludGwgZGlyZWN0b3J5LAogIyBhc3N1bWUgTkxTIGlzIGRpc2FibGVkLgogVVNFX05MUz1ubwpAQCAtMjE3MTgsNiArMjI3NjEsNyBAQAogbHRfTkwyU1A9J2AkRUNITyAiWCRsdF9OTDJTUCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogcmVsb2FkX2ZsYWc9J2AkRUNITyAiWCRyZWxvYWRfZmxhZyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogcmVsb2FkX2NtZHM9J2AkRUNITyAiWCRyZWxvYWRfY21kcyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJworT0JKRFVNUD0nYCRFQ0hPICJYJE9CSkRVTVAiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIGRlcGxpYnNfY2hlY2tfbWV0aG9kPSdgJEVDSE8gIlgkZGVwbGlic19jaGVja19tZXRob2QiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIGZpbGVfbWFnaWNfY21kPSdgJEVDSE8gIlgkZmlsZV9tYWdpY19jbWQiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIEFSPSdgJEVDSE8gIlgkQVIiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTIxNzM0LDYgKzIyNzc4LDcgQEAKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiWCRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0nYCRFQ0hPICJYJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nYCRFQ0hPICJYJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSdgJEVDSE8gIlgkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogb2JqZGlyPSdgJEVDSE8gIlgkb2JqZGlyIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBTSEVMTD0nYCRFQ0hPICJYJFNIRUxMIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBFQ0hPPSdgJEVDSE8gIlgkRUNITyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMjE3NDQsNiArMjI3ODksMTEgQEAKIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSdgJEVDSE8gIlgkbHRfcHJvZ19jb21waWxlcl9zdGF0aWMiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIGx0X2N2X3Byb2dfY29tcGlsZXJfY19vPSdgJEVDSE8gIlgkbHRfY3ZfcHJvZ19jb21waWxlcl9jX28iIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIG5lZWRfbG9ja3M9J2AkRUNITyAiWCRuZWVkX2xvY2tzIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitEU1lNVVRJTD0nYCRFQ0hPICJYJERTWU1VVElMIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitOTUVESVQ9J2AkRUNITyAiWCROTUVESVQiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKK0xJUE89J2AkRUNITyAiWCRMSVBPIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitPVE9PTD0nYCRFQ0hPICJYJE9UT09MIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitPVE9PTDY0PSdgJEVDSE8gIlgkT1RPT0w2NCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogbGliZXh0PSdgJEVDSE8gIlgkbGliZXh0IiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBzaHJleHRfY21kcz0nYCRFQ0hPICJYJHNocmV4dF9jbWRzIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBleHRyYWN0X2V4cHN5bXNfY21kcz0nYCRFQ0hPICJYJGV4dHJhY3RfZXhwc3ltc19jbWRzIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0yMTgxNyw2ICsyMjg2Nyw3IEBACiBsdF9TUDJOTCBcCiBsdF9OTDJTUCBcCiByZWxvYWRfZmxhZyBcCitPQkpEVU1QIFwKIGRlcGxpYnNfY2hlY2tfbWV0aG9kIFwKIGZpbGVfbWFnaWNfY21kIFwKIEFSIFwKQEAgLTIxODI5LDYgKzIyODgwLDcgQEAKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXAogbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wgXAogbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MgXAorbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCBcCiBTSEVMTCBcCiBFQ0hPIFwKIGx0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnIFwKQEAgLTIxODM3LDYgKzIyODg5LDExIEBACiBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYyBcCiBsdF9jdl9wcm9nX2NvbXBpbGVyX2NfbyBcCiBuZWVkX2xvY2tzIFwKK0RTWU1VVElMIFwKK05NRURJVCBcCitMSVBPIFwKK09UT09MIFwKK09UT09MNjQgXAogc2hyZXh0X2NtZHMgXAogZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjIFwKIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjIFwKQEAgLTIyMTE4LDcgKzIzMTc1LDE5IEBACiBzLEBhY19jdF9EVU1QQklOQCwkYWNfY3RfRFVNUEJJTiw7dCB0CiBzLEBOTUAsJE5NLDt0IHQKIHMsQExOX1NALCRMTl9TLDt0IHQKK3MsQE9CSkRVTVBALCRPQkpEVU1QLDt0IHQKK3MsQGFjX2N0X09CSkRVTVBALCRhY19jdF9PQkpEVU1QLDt0IHQKIHMsQGx0X0VDSE9ALCRsdF9FQ0hPLDt0IHQKK3MsQERTWU1VVElMQCwkRFNZTVVUSUwsO3QgdAorcyxAYWNfY3RfRFNZTVVUSUxALCRhY19jdF9EU1lNVVRJTCw7dCB0CitzLEBOTUVESVRALCROTUVESVQsO3QgdAorcyxAYWNfY3RfTk1FRElUQCwkYWNfY3RfTk1FRElULDt0IHQKK3MsQExJUE9ALCRMSVBPLDt0IHQKK3MsQGFjX2N0X0xJUE9ALCRhY19jdF9MSVBPLDt0IHQKK3MsQE9UT09MQCwkT1RPT0wsO3QgdAorcyxAYWNfY3RfT1RPT0xALCRhY19jdF9PVE9PTCw7dCB0CitzLEBPVE9PTDY0QCwkT1RPT0w2NCw7dCB0CitzLEBhY19jdF9PVE9PTDY0QCwkYWNfY3RfT1RPT0w2NCw7dCB0CiBzLEBERUJVR0RJUkAsJERFQlVHRElSLDt0IHQKIHMsQFBLR1ZFUlNJT05ALCRQS0dWRVJTSU9OLDt0IHQKIHMsQFJFUE9SVF9CVUdTX1RPQCwkUkVQT1JUX0JVR1NfVE8sO3QgdApAQCAtMjI4NzcsMzYgKzIzOTQ2LDM2IEBACiAjISAkU0hFTEwKIAogIyBgJEVDSE8gIiRvZmlsZSIgfCBzZWQgJ3MlXi4qLyUlJ2AgLSBQcm92aWRlIGdlbmVyYWxpemVkIGxpYnJhcnktYnVpbGRpbmcgc3VwcG9ydCBzZXJ2aWNlcy4KLSMgR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgJGFzX21lIChHTlUgJFBBQ0tBR0UkVElNRVNUQU1QKSAkVkVSU0lPTgorIyBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSAkYXNfbWUgKCRQQUNLQUdFJFRJTUVTVEFNUCkgJFZFUlNJT04KICMgTGlidG9vbCB3YXMgY29uZmlndXJlZCBvbiBob3N0IGAoaG9zdG5hbWUgfHwgdW5hbWUgLW4pIDI+L2Rldi9udWxsIHwgc2VkIDFxYDoKICMgTk9URTogQ2hhbmdlcyBtYWRlIHRvIHRoaXMgZmlsZSB3aWxsIGJlIGxvc3Q6IGxvb2sgYXQgbHRtYWluLnNoLgogIwotIyBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsCi0jIDIwMDYsIDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjICAgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAzLCAyMDA0LCAyMDA1LAorIyAgICAgICAgICAgICAgICAgMjAwNiwgMjAwNywgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgICBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdrZWl0LCAxOTk2CiAjCi0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBMaWJ0b29sOgotIyBPcmlnaW5hbGx5IGJ5IEdvcmRvbiBNYXR6aWdrZWl0IDxnb3JkQGdudS5haS5taXQuZWR1PiwgMTk5NgorIyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBMaWJ0b29sLgogIwotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIyBHTlUgTGlidG9vbCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyMgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAjCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKLSMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjIEFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLAorIyBpZiB5b3UgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0gb3IgbGlicmFyeSB0aGF0CisjIGlzIGJ1aWx0IHVzaW5nIEdOVSBMaWJ0b29sLCB5b3UgbWF5IGluY2x1ZGUgdGhpcyBmaWxlIHVuZGVyIHRoZQorIyBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KKyMKKyMgR05VIExpYnRvb2wgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogIwogIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCBhIGNvcHkgY2FuIGJlIGRvd25sb2FkZWQgZnJvbQotIyBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bWwsIG9yIGJ5IHdyaXRpbmcgdG8gdGhlIEZyZWUKLSMgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAotIyBNQSAwMjExMC0xMzAxLCBVU0EuCi0jCi0jIEFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBpZiB5b3UKLSMgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0gdGhhdCBjb250YWlucyBhCi0jIGNvbmZpZ3VyYXRpb24gc2NyaXB0IGdlbmVyYXRlZCBieSBBdXRvY29uZiwgeW91IG1heSBpbmNsdWRlIGl0IHVuZGVyCi0jIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KKyMgYWxvbmcgd2l0aCBHTlUgTGlidG9vbDsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIGEgY29weQorIyBjYW4gYmUgZG93bmxvYWRlZCBmcm9tIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbCwgb3IKKyMgb2J0YWluZWQgYnkgd3JpdGluZyB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorIyA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KIAogCiAjIFRoZSBuYW1lcyBvZiB0aGUgdGFnZ2VkIGNvbmZpZ3VyYXRpb25zIHN1cHBvcnRlZCBieSB0aGlzIHNjcmlwdC4KQEAgLTIyOTgzLDYgKzI0MDUyLDkgQEAKIHJlbG9hZF9mbGFnPSRsdF9yZWxvYWRfZmxhZwogcmVsb2FkX2NtZHM9JGx0X3JlbG9hZF9jbWRzCiAKKyMgQW4gb2JqZWN0IHN5bWJvbCBkdW1wZXIuCitPQkpEVU1QPSRsdF9PQkpEVU1QCisKICMgTWV0aG9kIHRvIGNoZWNrIHdoZXRoZXIgZGVwZW5kZW50IGxpYnJhcmllcyBhcmUgc2hhcmVkIG9iamVjdHMuCiBkZXBsaWJzX2NoZWNrX21ldGhvZD0kbHRfZGVwbGlic19jaGVja19tZXRob2QKIApAQCAtMjMwMTYsNiArMjQwODgsOSBAQAogIyBUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIuCiBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcwogCisjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgorZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4CisKICMgVGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHRlbXBvcmFyeSBsaWJ0b29sIGZpbGVzLgogb2JqZGlyPSRvYmpkaXIKIApAQCAtMjMwMzEsNiArMjQxMDYsMjEgQEAKICMgTXVzdCB3ZSBsb2NrIGZpbGVzIHdoZW4gZG9pbmcgY29tcGlsYXRpb24/CiBuZWVkX2xvY2tzPSRsdF9uZWVkX2xvY2tzCiAKKyMgVG9vbCB0byBtYW5pcHVsYXRlIGFyY2hpdmVkIERXQVJGIGRlYnVnIHN5bWJvbCBmaWxlcyBvbiBNYWMgT1MgWC4KK0RTWU1VVElMPSRsdF9EU1lNVVRJTAorCisjIFRvb2wgdG8gY2hhbmdlIGdsb2JhbCB0byBsb2NhbCBzeW1ib2xzIG9uIE1hYyBPUyBYLgorTk1FRElUPSRsdF9OTUVESVQKKworIyBUb29sIHRvIG1hbmlwdWxhdGUgZmF0IG9iamVjdHMgYW5kIGFyY2hpdmVzIG9uIE1hYyBPUyBYLgorTElQTz0kbHRfTElQTworCisjIGxkZC9yZWFkZWxmIGxpa2UgdG9vbCBmb3IgTWFjaC1PIGJpbmFyaWVzIG9uIE1hYyBPUyBYLgorT1RPT0w9JGx0X09UT09MCisKKyMgbGRkL3JlYWRlbGYgbGlrZSB0b29sIGZvciA2NCBiaXQgTWFjaC1PIGJpbmFyaWVzIG9uIE1hYyBPUyBYIDEwLjQuCitPVE9PTDY0PSRsdF9PVE9PTDY0CisKICMgT2xkIGFyY2hpdmUgc3VmZml4IChub3JtYWxseSAiYSIpLgogbGliZXh0PSRsaWJleHQKIApAQCAtMjMyNzEsNiArMjQzNjEsNyBAQAogICBjYXNlICR4c2lfc2hlbGwgaW4KICAgeWVzKQogICAgIGNhdCA8PCBcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCisKICMgZnVuY19kaXJuYW1lIGZpbGUgYXBwZW5kIG5vbmRpcl9yZXBsYWNlbWVudAogIyBDb21wdXRlIHRoZSBkaXJuYW1lIG9mIEZJTEUuICBJZiBub25lbXB0eSwgYWRkIEFQUEVORCB0byB0aGUgcmVzdWx0LAogIyBvdGhlcndpc2Ugc2V0IHJlc3VsdCB0byBOT05ESVJfUkVQTEFDRU1FTlQuCkBAIC0yMzI4OCw2ICsyNDM3OSwyNyBAQAogICBmdW5jX2Jhc2VuYW1lX3Jlc3VsdD0iJHsxIyMqL30iCiB9CiAKKyMgZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSBmaWxlIGFwcGVuZCBub25kaXJfcmVwbGFjZW1lbnQKKyMgcGVyZm9ybSBmdW5jX2Jhc2VuYW1lIGFuZCBmdW5jX2Rpcm5hbWUgaW4gYSBzaW5nbGUgZnVuY3Rpb24KKyMgY2FsbDoKKyMgICBkaXJuYW1lOiAgQ29tcHV0ZSB0aGUgZGlybmFtZSBvZiBGSUxFLiAgSWYgbm9uZW1wdHksCisjICAgICAgICAgICAgIGFkZCBBUFBFTkQgdG8gdGhlIHJlc3VsdCwgb3RoZXJ3aXNlIHNldCByZXN1bHQKKyMgICAgICAgICAgICAgdG8gTk9ORElSX1JFUExBQ0VNRU5ULgorIyAgICAgICAgICAgICB2YWx1ZSByZXR1cm5lZCBpbiAiJGZ1bmNfZGlybmFtZV9yZXN1bHQiCisjICAgYmFzZW5hbWU6IENvbXB1dGUgZmlsZW5hbWUgb2YgRklMRS4KKyMgICAgICAgICAgICAgdmFsdWUgcmV0dW5lZCBpbiAiJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgorIyBJbXBsZW1lbnRhdGlvbiBtdXN0IGJlIGtlcHQgc3luY2hyb25pemVkIHdpdGggZnVuY19kaXJuYW1lCisjIGFuZCBmdW5jX2Jhc2VuYW1lLiBGb3IgZWZmaWNpZW5jeSwgd2UgZG8gbm90IGRlbGVnYXRlIHRvCisjIHRob3NlIGZ1bmN0aW9ucyBidXQgaW5zdGVhZCBkdXBsaWNhdGUgdGhlIGZ1bmN0aW9uYWxpdHkgaGVyZS4KK2Z1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgKCkKK3sKKyAgY2FzZSAkezF9IGluCisgICAgKi8qKSBmdW5jX2Rpcm5hbWVfcmVzdWx0PSIkezElLyp9JHsyfSIgOzsKKyAgICAqICApIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7M30iIDs7CisgIGVzYWMKKyAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9IiR7MSMjKi99IgorfQorCiAjIGZ1bmNfc3RyaXBuYW1lIHByZWZpeCBzdWZmaXggbmFtZQogIyBzdHJpcCBQUkVGSVggYW5kIFNVRkZJWCBvZmYgb2YgTkFNRS4KICMgUFJFRklYIGFuZCBTVUZGSVggbXVzdCBub3QgY29udGFpbiBnbG9iYmluZyBvciByZWdleCBzcGVjaWFsCkBAIC0yMzMxNywxMCArMjQ0MjksMzEgQEAKICAgICAqKSAgICBmdW5jX2xvMm9fcmVzdWx0PSR7MX0gOzsKICAgZXNhYwogfQorCisjIGZ1bmNfeGZvcm0gbGlib2JqLW9yLXNvdXJjZQorZnVuY194Zm9ybSAoKQoreworICBmdW5jX3hmb3JtX3Jlc3VsdD0kezElLip9LmxvCit9CisKKyMgZnVuY19hcml0aCBhcml0aG1ldGljLXRlcm0uLi4KK2Z1bmNfYXJpdGggKCkKK3sKKyAgZnVuY19hcml0aF9yZXN1bHQ9JCgoICQqICkpCit9CisKKyMgZnVuY19sZW4gc3RyaW5nCisjIFNUUklORyBtYXkgbm90IHN0YXJ0IHdpdGggYSBoeXBoZW4uCitmdW5jX2xlbiAoKQoreworICBmdW5jX2xlbl9yZXN1bHQ9JHsjMX0KK30KKwogX0xUX0VPRgogICAgIDs7CiAgICopICMgQm91cm5lIGNvbXBhdGlibGUgZnVuY3Rpb25zLgogICAgIGNhdCA8PCBcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCisKICMgZnVuY19kaXJuYW1lIGZpbGUgYXBwZW5kIG5vbmRpcl9yZXBsYWNlbWVudAogIyBDb21wdXRlIHRoZSBkaXJuYW1lIG9mIEZJTEUuICBJZiBub25lbXB0eSwgYWRkIEFQUEVORCB0byB0aGUgcmVzdWx0LAogIyBvdGhlcndpc2Ugc2V0IHJlc3VsdCB0byBOT05ESVJfUkVQTEFDRU1FTlQuCkBAIC0yMzM0MSw2ICsyNDQ3NCw3IEBACiAgIGZ1bmNfYmFzZW5hbWVfcmVzdWx0PWAkRUNITyAiWCR7MX0iIHwgJFhzZWQgLWUgIiRiYXNlbmFtZSJgCiB9CiAKKwogIyBmdW5jX3N0cmlwbmFtZSBwcmVmaXggc3VmZml4IG5hbWUKICMgc3RyaXAgUFJFRklYIGFuZCBTVUZGSVggb2ZmIG9mIE5BTUUuCiAjIFBSRUZJWCBhbmQgU1VGRklYIG11c3Qgbm90IGNvbnRhaW4gZ2xvYmJpbmcgb3IgcmVnZXggc3BlY2lhbApAQCAtMjMzNzMsNiArMjQ1MDcsMjYgQEAKIHsKICAgZnVuY19sbzJvX3Jlc3VsdD1gJEVDSE8gIlgkezF9IiB8ICRYc2VkIC1lICIkbG8ybyJgCiB9CisKKyMgZnVuY194Zm9ybSBsaWJvYmotb3Itc291cmNlCitmdW5jX3hmb3JtICgpCit7CisgIGZ1bmNfeGZvcm1fcmVzdWx0PWAkRUNITyAiWCR7MX0iIHwgJFhzZWQgLWUgJ3MvXC5bXi5dKiQvLmxvLydgCit9CisKKyMgZnVuY19hcml0aCBhcml0aG1ldGljLXRlcm0uLi4KK2Z1bmNfYXJpdGggKCkKK3sKKyAgZnVuY19hcml0aF9yZXN1bHQ9YGV4cHIgIiRAImAKK30KKworIyBmdW5jX2xlbiBzdHJpbmcKKyMgU1RSSU5HIG1heSBub3Qgc3RhcnQgd2l0aCBhIGh5cGhlbi4KK2Z1bmNfbGVuICgpCit7CisgIGZ1bmNfbGVuX3Jlc3VsdD1gZXhwciAiJDEiIDogIi4qIiAyPi9kZXYvbnVsbCB8fCBlY2hvICRtYXhfY21kX2xlbmAKK30KKwogX0xUX0VPRgogZXNhYwogCkBAIC0yMzM5Nyw2ICsyNDU1MSw3IEBACiB7CiAgIGV2YWwgIiQxPVwkJDFcJDIiCiB9CisKIF9MVF9FT0YKICAgICA7OwogICBlc2FjCmRpZmYgLS1naXQgYS9iZmQvY29uZmlndXJlLmluIGIvYmZkL2NvbmZpZ3VyZS5pbgppbmRleCBkMDk4OTg4Li43MmNlZmJjIDEwMDY0NAotLS0gYS9iZmQvY29uZmlndXJlLmluCisrKyBiL2JmZC9jb25maWd1cmUuaW4KQEAgLTgsNyArOCw3IEBACiBBQ19DQU5PTklDQUxfVEFSR0VUCiBBQ19JU0NfUE9TSVgKIAotQU1fSU5JVF9BVVRPTUFLRShiZmQsIDIuMTguNTApCitBTV9JTklUX0FVVE9NQUtFKGJmZCwgMi4xOS41MCkKIAogZG5sIFRoZXNlIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBMVF9JTklULCBiZWNhdXNlIGl0IG1heSB3YW50CiBkbmwgdG8gY2FsbCBBQ19DSEVDS19QUk9HLgpAQCAtMjIsNiArMjIsNyBAQAogQUNfUFJPR19DQwogQUNfR05VX1NPVVJDRQogQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TCitBQ19TWVNfTEFSR0VGSUxFCiAKIExUX0lOSVQKIApAQCAtMTE5LDcgKzEyMCw3IEBACiAKICMgaG9zdCBzdHVmZjoKIAotQUxMX0xJTkdVQVM9ImZyIHRyIGphIGVzIHN2IGRhIHpoX0NOIHJvIHJ3IHZpIGZpIgorQUxMX0xJTkdVQVM9ImZyIHRyIGphIGVzIHN2IGRhIHpoX0NOIHJvIHJ3IHZpIGZpIGlkIgogWldfR05VX0dFVFRFWFRfU0lTVEVSX0RJUgogQU1fUE9fU1VCRElSUwogCmRpZmYgLS1naXQgYS9iZmQvZG9jL01ha2VmaWxlLmluIGIvYmZkL2RvYy9NYWtlZmlsZS5pbgppbmRleCBkMDYwMWRiLi5kODFjNmRlIDEwMDY0NAotLS0gYS9iZmQvZG9jL01ha2VmaWxlLmluCisrKyBiL2JmZC9kb2MvTWFrZWZpbGUuaW4KQEAgLTU3LDkgKzU3LDkgQEAKIAkkKHRvcF9zcmNkaXIpLy4uL2NvbmZpZy9wcm9ndGVzdC5tNCBcCiAJJCh0b3Bfc3JjZGlyKS8uLi9jb25maWcvc3RkaW50Lm00ICQodG9wX3NyY2RpcikvLi4vbGlidG9vbC5tNCBcCiAJJCh0b3Bfc3JjZGlyKS8uLi9sdG9wdGlvbnMubTQgJCh0b3Bfc3JjZGlyKS8uLi9sdHN1Z2FyLm00IFwKLQkkKHRvcF9zcmNkaXIpLy4uL2x0dmVyc2lvbi5tNCAkKHRvcF9zcmNkaXIpL2JmZC5tNCBcCi0JJCh0b3Bfc3JjZGlyKS93YXJuaW5nLm00ICQodG9wX3NyY2RpcikvYWNpbmNsdWRlLm00IFwKLQkkKHRvcF9zcmNkaXIpL2NvbmZpZ3VyZS5pbgorCSQodG9wX3NyY2RpcikvLi4vbHR2ZXJzaW9uLm00ICQodG9wX3NyY2RpcikvLi4vbHR+b2Jzb2xldGUubTQgXAorCSQodG9wX3NyY2RpcikvYmZkLm00ICQodG9wX3NyY2Rpcikvd2FybmluZy5tNCBcCisJJCh0b3Bfc3JjZGlyKS9hY2luY2x1ZGUubTQgJCh0b3Bfc3JjZGlyKS9jb25maWd1cmUuaW4KIGFtX19jb25maWd1cmVfZGVwcyA9ICQoYW1fX2FjbG9jYWxfbTRfZGVwcykgJChDT05GSUdVUkVfREVQRU5ERU5DSUVTKSBcCiAJJChBQ0xPQ0FMX000KQogbWtpbnN0YWxsZGlycyA9ICQoU0hFTEwpICQodG9wX3NyY2RpcikvLi4vbWtpbnN0YWxsZGlycwpAQCAtMTE1LDYgKzExNSw3IEBACiBERUJVR0RJUiA9IEBERUJVR0RJUkAKIERFRlMgPSBAREVGU0AKIERFUERJUiA9IEBERVBESVJACitEU1lNVVRJTCA9IEBEU1lNVVRJTEAKIERVTVBCSU4gPSBARFVNUEJJTkAKIEVDSE9fQyA9IEBFQ0hPX0NACiBFQ0hPX04gPSBARUNIT19OQApAQCAtMTQ0LDYgKzE0NSw3IEBACiBMSUJPQkpTID0gQExJQk9CSlNACiBMSUJTID0gQExJQlNACiBMSUJUT09MID0gQExJQlRPT0xACitMSVBPID0gQExJUE9ACiBMTl9TID0gQExOX1NACiBMVExJQk9CSlMgPSBATFRMSUJPQkpTQAogTUFJTlQgPSBATUFJTlRACkBAIC0xNTQsOCArMTU2LDEyIEBACiBNU0dGTVQgPSBATVNHRk1UQAogTVNHTUVSR0UgPSBATVNHTUVSR0VACiBOTSA9IEBOTUAKK05NRURJVCA9IEBOTUVESVRACiBOT19XRVJST1IgPSBATk9fV0VSUk9SQAorT0JKRFVNUCA9IEBPQkpEVU1QQAogT0JKRVhUID0gQE9CSkVYVEAKK09UT09MID0gQE9UT09MQAorT1RPT0w2NCA9IEBPVE9PTDY0QAogUEFDS0FHRSA9IEBQQUNLQUdFQAogUEFDS0FHRV9CVUdSRVBPUlQgPSBAUEFDS0FHRV9CVUdSRVBPUlRACiBQQUNLQUdFX05BTUUgPSBAUEFDS0FHRV9OQU1FQApAQCAtMTgxLDcgKzE4NywxMyBAQAogWEdFVFRFWFQgPSBAWEdFVFRFWFRACiBhY19jdF9BUiA9IEBhY19jdF9BUkAKIGFjX2N0X0NDID0gQGFjX2N0X0NDQAorYWNfY3RfRFNZTVVUSUwgPSBAYWNfY3RfRFNZTVVUSUxACiBhY19jdF9EVU1QQklOID0gQGFjX2N0X0RVTVBCSU5ACithY19jdF9MSVBPID0gQGFjX2N0X0xJUE9ACithY19jdF9OTUVESVQgPSBAYWNfY3RfTk1FRElUQAorYWNfY3RfT0JKRFVNUCA9IEBhY19jdF9PQkpEVU1QQAorYWNfY3RfT1RPT0wgPSBAYWNfY3RfT1RPT0xACithY19jdF9PVE9PTDY0ID0gQGFjX2N0X09UT09MNjRACiBhY19jdF9SQU5MSUIgPSBAYWNfY3RfUkFOTElCQAogYWNfY3RfU1RSSVAgPSBAYWNfY3RfU1RSSVBACiBhbGxfYmFja2VuZHMgPSBAYWxsX2JhY2tlbmRzQApAQCAtMzYwLDkgKzM3Miw5IEBACiAJICAgICAgZXhpdCAxOzsgXAogCSAgZXNhYzsgXAogCWRvbmU7IFwKLQllY2hvICcgY2QgJCh0b3Bfc3JjZGlyKSAmJiAkKEFVVE9NQUtFKSAtLWN5Z251cyAgZG9jL01ha2VmaWxlJzsgXAorCWVjaG8gJyBjZCAkKHRvcF9zcmNkaXIpICYmICQoQVVUT01BS0UpIC0tZm9yZWlnbiAgZG9jL01ha2VmaWxlJzsgXAogCWNkICQodG9wX3NyY2RpcikgJiYgXAotCSAgJChBVVRPTUFLRSkgLS1jeWdudXMgIGRvYy9NYWtlZmlsZQorCSAgJChBVVRPTUFLRSkgLS1mb3JlaWduICBkb2MvTWFrZWZpbGUKIC5QUkVDSU9VUzogTWFrZWZpbGUKIE1ha2VmaWxlOiAkKHNyY2RpcikvTWFrZWZpbGUuaW4gJCh0b3BfYnVpbGRkaXIpL2NvbmZpZy5zdGF0dXMKIAlAY2FzZSAnJD8nIGluIFwKZGlmZiAtLWdpdCBhL2JmZC9kd2FyZjIuYyBiL2JmZC9kd2FyZjIuYwppbmRleCBjNTNmZGYwLi5hNDkxOGFjIDEwMDY0NAotLS0gYS9iZmQvZHdhcmYyLmMKKysrIGIvYmZkL2R3YXJmMi5jCkBAIC03NSw3ICs3NSw3IEBACiAgIGJmZF9ieXRlICpkYXRhOwogfTsKIAotc3RydWN0IGxvYWRhYmxlX3NlY3Rpb24KK3N0cnVjdCBhZGp1c3RlZF9zZWN0aW9uCiB7CiAgIGFzZWN0aW9uICpzZWN0aW9uOwogICBiZmRfdm1hIGFkal92bWE7CkBAIC0xNDMsMTEgKzE0MywxMSBAQAogICAgICB1c2UuICovCiAgIHN0cnVjdCBmdW5jaW5mbyAqaW5saW5lcl9jaGFpbjsKIAotICAvKiBOdW1iZXIgb2YgbG9hZGFibGUgc2VjdGlvbnMuICAqLwotICB1bnNpZ25lZCBpbnQgbG9hZGFibGVfc2VjdGlvbl9jb3VudDsKKyAgLyogTnVtYmVyIG9mIHNlY3Rpb25zIHdob3NlIFZNQSB3ZSBtdXN0IGFkanVzdC4gICovCisgIHVuc2lnbmVkIGludCBhZGp1c3RlZF9zZWN0aW9uX2NvdW50OwogCi0gIC8qIEFycmF5IG9mIGxvYWRhYmxlIHNlY3Rpb25zLiAgKi8KLSAgc3RydWN0IGxvYWRhYmxlX3NlY3Rpb24gKmxvYWRhYmxlX3NlY3Rpb25zOworICAvKiBBcnJheSBvZiBzZWN0aW9ucyB3aXRoIGFkanVzdGVkIFZNQS4gICovCisgIHN0cnVjdCBhZGp1c3RlZF9zZWN0aW9uICphZGp1c3RlZF9zZWN0aW9uczsKIAogICAvKiBOdW1iZXIgb2YgdGltZXMgZmluZF9saW5lIGlzIGNhbGxlZC4gIFRoaXMgaXMgdXNlZCBpbgogICAgICB0aGUgaGV1cmlzdGljIGZvciBlbmFibGluZyB0aGUgaW5mbyBoYXNoIHRhYmxlcy4gICovCkBAIC0yMzcsNiArMjM3LDkgQEAKICAgLyogUG9pbnRlciB0byBkd2FyZjJfZGVidWcgc3RydWN0dXJlLiAgKi8KICAgc3RydWN0IGR3YXJmMl9kZWJ1ZyAqc3Rhc2g7CiAKKyAgLyogRFdBUkYgZm9ybWF0IHZlcnNpb24gZm9yIHRoaXMgdW5pdCAtIGZyb20gdW5pdCBoZWFkZXIuICAqLworICBpbnQgdmVyc2lvbjsKKwogICAvKiBBZGRyZXNzIHNpemUgZm9yIHRoaXMgdW5pdCAtIGZyb20gdW5pdCBoZWFkZXIuICAqLwogICB1bnNpZ25lZCBjaGFyIGFkZHJfc2l6ZTsKIApAQCAtNzQyLDkgKzc0NSwyMCBAQAogCiAgIHN3aXRjaCAoZm9ybSkKICAgICB7Ci0gICAgY2FzZSBEV19GT1JNX2FkZHI6Ci0gICAgICAvKiBGSVhNRTogRFdBUkYzIGRyYWZ0IHNheXMgRFdfRk9STV9yZWZfYWRkciBpcyBvZmZzZXRfc2l6ZS4gICovCiAgICAgY2FzZSBEV19GT1JNX3JlZl9hZGRyOgorICAgICAgLyogRFdfRk9STV9yZWZfYWRkciBpcyBhbiBhZGRyZXNzIGluIERXQVJGMiwgYW5kIGFuIG9mZnNldCBpbgorCSBEV0FSRjMuICAqLworICAgICAgaWYgKHVuaXQtPnZlcnNpb24gPT0gMykKKwl7CisJICBpZiAodW5pdC0+b2Zmc2V0X3NpemUgPT0gNCkKKwkgICAgYXR0ci0+dS52YWwgPSByZWFkXzRfYnl0ZXMgKHVuaXQtPmFiZmQsIGluZm9fcHRyKTsKKwkgIGVsc2UKKwkgICAgYXR0ci0+dS52YWwgPSByZWFkXzhfYnl0ZXMgKHVuaXQtPmFiZmQsIGluZm9fcHRyKTsKKwkgIGluZm9fcHRyICs9IHVuaXQtPm9mZnNldF9zaXplOworCSAgYnJlYWs7CisJfQorICAgICAgLyogRkFMTFRIUk9VR0ggKi8KKyAgICBjYXNlIERXX0ZPUk1fYWRkcjoKICAgICAgIGF0dHItPnUudmFsID0gcmVhZF9hZGRyZXNzICh1bml0LCBpbmZvX3B0cik7CiAgICAgICBpbmZvX3B0ciArPSB1bml0LT5hZGRyX3NpemU7CiAgICAgICBicmVhazsKQEAgLTE3MDUsMTYgKzE3MTksMzAgQEAKIH0KIAogc3RhdGljIGNoYXIgKgotZmluZF9hYnN0cmFjdF9pbnN0YW5jZV9uYW1lIChzdHJ1Y3QgY29tcF91bml0ICp1bml0LCBiZmRfdWludDY0X3QgZGllX3JlZikKK2ZpbmRfYWJzdHJhY3RfaW5zdGFuY2VfbmFtZSAoc3RydWN0IGNvbXBfdW5pdCAqdW5pdCwKKwkJCSAgICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cl9wdHIpCiB7CiAgIGJmZCAqYWJmZCA9IHVuaXQtPmFiZmQ7CiAgIGJmZF9ieXRlICppbmZvX3B0cjsKICAgdW5zaWduZWQgaW50IGFiYnJldl9udW1iZXIsIGJ5dGVzX3JlYWQsIGk7CiAgIHN0cnVjdCBhYmJyZXZfaW5mbyAqYWJicmV2OworICBiZmRfdWludDY0X3QgZGllX3JlZiA9IGF0dHJfcHRyLT51LnZhbDsKICAgc3RydWN0IGF0dHJpYnV0ZSBhdHRyOwogICBjaGFyICpuYW1lID0gMDsKIAotICBpbmZvX3B0ciA9IHVuaXQtPmluZm9fcHRyX3VuaXQgKyBkaWVfcmVmOworICAvKiBEV19GT1JNX3JlZl9hZGRyIGNhbiByZWZlcmVuY2UgYW4gZW50cnkgaW4gYSBkaWZmZXJlbnQgQ1UuIEl0CisgICAgIGlzIGFuIG9mZnNldCBmcm9tIHRoZSAuZGVidWdfaW5mbyBzZWN0aW9uLCBub3QgdGhlIGN1cnJlbnQgQ1UuICAqLworICBpZiAoYXR0cl9wdHItPmZvcm0gPT0gRFdfRk9STV9yZWZfYWRkcikKKyAgICB7CisgICAgICAvKiBXZSBvbmx5IHN1cHBvcnQgRFdfRk9STV9yZWZfYWRkciB3aXRoaW4gdGhlIHNhbWUgZmlsZSwgc28KKwkgYW55IHJlbG9jYXRpb25zIHNob3VsZCBiZSByZXNvbHZlZCBhbHJlYWR5LiAgKi8KKyAgICAgIGlmICghZGllX3JlZikKKwlhYm9ydCAoKTsKKworICAgICAgaW5mb19wdHIgPSB1bml0LT5zdGFzaC0+c2VjX2luZm9fcHRyICsgZGllX3JlZjsKKyAgICB9CisgIGVsc2UgCisgICAgaW5mb19wdHIgPSB1bml0LT5pbmZvX3B0cl91bml0ICsgZGllX3JlZjsKICAgYWJicmV2X251bWJlciA9IHJlYWRfdW5zaWduZWRfbGViMTI4IChhYmZkLCBpbmZvX3B0ciwgJmJ5dGVzX3JlYWQpOwogICBpbmZvX3B0ciArPSBieXRlc19yZWFkOwogCkBAIC0xNzQwLDcgKzE3NjgsNyBAQAogCQkgICAgbmFtZSA9IGF0dHIudS5zdHI7CiAJCSAgYnJlYWs7CiAJCWNhc2UgRFdfQVRfc3BlY2lmaWNhdGlvbjoKLQkJICBuYW1lID0gZmluZF9hYnN0cmFjdF9pbnN0YW5jZV9uYW1lICh1bml0LCBhdHRyLnUudmFsKTsKKwkJICBuYW1lID0gZmluZF9hYnN0cmFjdF9pbnN0YW5jZV9uYW1lICh1bml0LCAmYXR0cik7CiAJCSAgYnJlYWs7CiAJCWNhc2UgRFdfQVRfTUlQU19saW5rYWdlX25hbWU6CiAJCSAgbmFtZSA9IGF0dHIudS5zdHI7CkBAIC0xOTAyLDcgKzE5MzAsNyBAQAogCQkgIGJyZWFrOwogCiAJCWNhc2UgRFdfQVRfYWJzdHJhY3Rfb3JpZ2luOgotCQkgIGZ1bmMtPm5hbWUgPSBmaW5kX2Fic3RyYWN0X2luc3RhbmNlX25hbWUgKHVuaXQsIGF0dHIudS52YWwpOworCQkgIGZ1bmMtPm5hbWUgPSBmaW5kX2Fic3RyYWN0X2luc3RhbmNlX25hbWUgKHVuaXQsICZhdHRyKTsKIAkJICBicmVhazsKIAogCQljYXNlIERXX0FUX25hbWU6CkBAIC0yMDcwLDkgKzIwOTgsOSBAQAogICBhZGRyX3NpemUgPSByZWFkXzFfYnl0ZSAoYWJmZCwgaW5mb19wdHIpOwogICBpbmZvX3B0ciArPSAxOwogCi0gIGlmICh2ZXJzaW9uICE9IDIpCisgIGlmICh2ZXJzaW9uICE9IDIgJiYgdmVyc2lvbiAhPSAzKQogICAgIHsKLSAgICAgICgqX2JmZF9lcnJvcl9oYW5kbGVyKSAoXygiRHdhcmYgRXJyb3I6IGZvdW5kIGR3YXJmIHZlcnNpb24gJyV1JywgdGhpcyByZWFkZXIgb25seSBoYW5kbGVzIHZlcnNpb24gMiBpbmZvcm1hdGlvbi4iKSwgdmVyc2lvbik7CisgICAgICAoKl9iZmRfZXJyb3JfaGFuZGxlcikgKF8oIkR3YXJmIEVycm9yOiBmb3VuZCBkd2FyZiB2ZXJzaW9uICcldScsIHRoaXMgcmVhZGVyIG9ubHkgaGFuZGxlcyB2ZXJzaW9uIDIgYW5kIDMgaW5mb3JtYXRpb24uIiksIHZlcnNpb24pOwogICAgICAgYmZkX3NldF9lcnJvciAoYmZkX2Vycm9yX2JhZF92YWx1ZSk7CiAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC0yMTIwLDYgKzIxNDgsNyBAQAogICBhbXQgPSBzaXplb2YgKHN0cnVjdCBjb21wX3VuaXQpOwogICB1bml0ID0gYmZkX3phbGxvYyAoYWJmZCwgYW10KTsKICAgdW5pdC0+YWJmZCA9IGFiZmQ7CisgIHVuaXQtPnZlcnNpb24gPSB2ZXJzaW9uOwogICB1bml0LT5hZGRyX3NpemUgPSBhZGRyX3NpemU7CiAgIHVuaXQtPm9mZnNldF9zaXplID0gb2Zmc2V0X3NpemU7CiAgIHVuaXQtPmFiYnJldnMgPSBhYmJyZXZzOwpAQCAtMjQ3Miw0OSArMjUwMSw2MyBAQAogICByZXR1cm4gTlVMTDsKIH0KIAotLyogVW5zZXQgdm1hcyBmb3IgbG9hZGFibGUgc2VjdGlvbnMgaW4gU1RBU0guICAqLworLyogVW5zZXQgdm1hcyBmb3IgYWRqdXN0ZWQgc2VjdGlvbnMgaW4gU1RBU0guICAqLwogCiBzdGF0aWMgdm9pZAogdW5zZXRfc2VjdGlvbnMgKHN0cnVjdCBkd2FyZjJfZGVidWcgKnN0YXNoKQogewogICB1bnNpZ25lZCBpbnQgaTsKLSAgc3RydWN0IGxvYWRhYmxlX3NlY3Rpb24gKnA7CisgIHN0cnVjdCBhZGp1c3RlZF9zZWN0aW9uICpwOwogCi0gIGkgPSBzdGFzaC0+bG9hZGFibGVfc2VjdGlvbl9jb3VudDsKLSAgcCA9IHN0YXNoLT5sb2FkYWJsZV9zZWN0aW9uczsKKyAgaSA9IHN0YXNoLT5hZGp1c3RlZF9zZWN0aW9uX2NvdW50OworICBwID0gc3Rhc2gtPmFkanVzdGVkX3NlY3Rpb25zOwogICBmb3IgKDsgaSA+IDA7IGktLSwgcCsrKQogICAgIHAtPnNlY3Rpb24tPnZtYSA9IDA7CiB9CiAKLS8qIFNldCB1bmlxdWUgdm1hcyBmb3IgbG9hZGFibGUgc2VjdGlvbnMgaW4gQUJGRCBhbmQgc2F2ZSB2bWFzIGluCi0gICBTVEFTSCBmb3IgdW5zZXRfc2VjdGlvbnMuICAqLworLyogU2V0IHVuaXF1ZSBWTUFzIGZvciBsb2FkYWJsZSBhbmQgRFdBUkYgc2VjdGlvbnMgaW4gQUJGRCBhbmQgc2F2ZQorICAgVk1BcyBpbiBTVEFTSCBmb3IgdW5zZXRfc2VjdGlvbnMuICAqLwogCiBzdGF0aWMgYmZkX2Jvb2xlYW4KIHBsYWNlX3NlY3Rpb25zIChiZmQgKmFiZmQsIHN0cnVjdCBkd2FyZjJfZGVidWcgKnN0YXNoKQogewotICBzdHJ1Y3QgbG9hZGFibGVfc2VjdGlvbiAqcDsKKyAgc3RydWN0IGFkanVzdGVkX3NlY3Rpb24gKnA7CiAgIHVuc2lnbmVkIGludCBpOwogCi0gIGlmIChzdGFzaC0+bG9hZGFibGVfc2VjdGlvbl9jb3VudCAhPSAwKQorICBpZiAoc3Rhc2gtPmFkanVzdGVkX3NlY3Rpb25fY291bnQgIT0gMCkKICAgICB7Ci0gICAgICBpID0gc3Rhc2gtPmxvYWRhYmxlX3NlY3Rpb25fY291bnQ7Ci0gICAgICBwID0gc3Rhc2gtPmxvYWRhYmxlX3NlY3Rpb25zOworICAgICAgaSA9IHN0YXNoLT5hZGp1c3RlZF9zZWN0aW9uX2NvdW50OworICAgICAgcCA9IHN0YXNoLT5hZGp1c3RlZF9zZWN0aW9uczsKICAgICAgIGZvciAoOyBpID4gMDsgaS0tLCBwKyspCiAJcC0+c2VjdGlvbi0+dm1hID0gcC0+YWRqX3ZtYTsKICAgICB9CiAgIGVsc2UKICAgICB7CiAgICAgICBhc2VjdGlvbiAqc2VjdDsKLSAgICAgIGJmZF92bWEgbGFzdF92bWEgPSAwOworICAgICAgYmZkX3ZtYSBsYXN0X3ZtYSA9IDAsIGxhc3RfZHdhcmYgPSAwOwogICAgICAgYmZkX3NpemVfdHlwZSBhbXQ7Ci0gICAgICBzdHJ1Y3QgbG9hZGFibGVfc2VjdGlvbiAqcDsKKyAgICAgIHN0cnVjdCBhZGp1c3RlZF9zZWN0aW9uICpwOwogCiAgICAgICBpID0gMDsKICAgICAgIGZvciAoc2VjdCA9IGFiZmQtPnNlY3Rpb25zOyBzZWN0ICE9IE5VTEw7IHNlY3QgPSBzZWN0LT5uZXh0KQogCXsKIAkgIGJmZF9zaXplX3R5cGUgc3o7CisJICBpbnQgaXNfZGVidWdfaW5mbzsKIAotCSAgaWYgKHNlY3QtPnZtYSAhPSAwIHx8IChzZWN0LT5mbGFncyAmIFNFQ19MT0FEKSA9PSAwKQorCSAgaWYgKHNlY3QtPnZtYSAhPSAwKQorCSAgICBjb250aW51ZTsKKworCSAgLyogV2UgbmVlZCB0byBhZGp1c3QgdGhlIFZNQXMgb2YgYW55IC5kZWJ1Z19pbmZvIHNlY3Rpb25zLgorCSAgICAgU2tpcCBjb21wcmVzc2VkIG9uZXMsIHNpbmNlIG5vIHJlbG9jYXRpb25zIGNvdWxkIHRhcmdldAorCSAgICAgdGhlbSAtIHRoZXkgc2hvdWxkIG5vdCBhcHBlYXIgaW4gb2JqZWN0IGZpbGVzIGFueXdheS4gICovCisJICBpZiAoc3RyY21wIChzZWN0LT5uYW1lLCBEV0FSRjJfREVCVUdfSU5GTykgPT0gMCkKKwkgICAgaXNfZGVidWdfaW5mbyA9IDE7CisJICBlbHNlIGlmIChDT05TVF9TVFJORVEgKHNlY3QtPm5hbWUsIEdOVV9MSU5LT05DRV9JTkZPKSkKKwkgICAgaXNfZGVidWdfaW5mbyA9IDE7CisJICBlbHNlCisJICAgIGlzX2RlYnVnX2luZm8gPSAwOworCisJICBpZiAoIWlzX2RlYnVnX2luZm8gJiYgKHNlY3QtPmZsYWdzICYgU0VDX0xPQUQpID09IDApCiAJICAgIGNvbnRpbnVlOwogCiAJICBzeiA9IHNlY3QtPnJhd3NpemUgPyBzZWN0LT5yYXdzaXplIDogc2VjdC0+c2l6ZTsKQEAgLTI1MjQsMTkgKzI1NjcsMzMgQEAKIAkgIGkrKzsKIAl9CiAKLSAgICAgIGFtdCA9IGkgKiBzaXplb2YgKHN0cnVjdCBsb2FkYWJsZV9zZWN0aW9uKTsKLSAgICAgIHAgPSAoc3RydWN0IGxvYWRhYmxlX3NlY3Rpb24gKikgYmZkX3phbGxvYyAoYWJmZCwgYW10KTsKKyAgICAgIGFtdCA9IGkgKiBzaXplb2YgKHN0cnVjdCBhZGp1c3RlZF9zZWN0aW9uKTsKKyAgICAgIHAgPSAoc3RydWN0IGFkanVzdGVkX3NlY3Rpb24gKikgYmZkX3phbGxvYyAoYWJmZCwgYW10KTsKICAgICAgIGlmICghIHApCiAJcmV0dXJuIEZBTFNFOwogCi0gICAgICBzdGFzaC0+bG9hZGFibGVfc2VjdGlvbnMgPSBwOwotICAgICAgc3Rhc2gtPmxvYWRhYmxlX3NlY3Rpb25fY291bnQgPSBpOworICAgICAgc3Rhc2gtPmFkanVzdGVkX3NlY3Rpb25zID0gcDsKKyAgICAgIHN0YXNoLT5hZGp1c3RlZF9zZWN0aW9uX2NvdW50ID0gaTsKIAogICAgICAgZm9yIChzZWN0ID0gYWJmZC0+c2VjdGlvbnM7IHNlY3QgIT0gTlVMTDsgc2VjdCA9IHNlY3QtPm5leHQpCiAJewogCSAgYmZkX3NpemVfdHlwZSBzejsKKwkgIGludCBpc19kZWJ1Z19pbmZvOwogCi0JICBpZiAoc2VjdC0+dm1hICE9IDAgfHwgKHNlY3QtPmZsYWdzICYgU0VDX0xPQUQpID09IDApCisJICBpZiAoc2VjdC0+dm1hICE9IDApCisJICAgIGNvbnRpbnVlOworCisJICAvKiBXZSBuZWVkIHRvIGFkanVzdCB0aGUgVk1BcyBvZiBhbnkgLmRlYnVnX2luZm8gc2VjdGlvbnMuCisJICAgICBTa2lwIGNvbXByZXNzZWQgb25lcywgc2luY2Ugbm8gcmVsb2NhdGlvbnMgY291bGQgdGFyZ2V0CisJICAgICB0aGVtIC0gdGhleSBzaG91bGQgbm90IGFwcGVhciBpbiBvYmplY3QgZmlsZXMgYW55d2F5LiAgKi8KKwkgIGlmIChzdHJjbXAgKHNlY3QtPm5hbWUsIERXQVJGMl9ERUJVR19JTkZPKSA9PSAwKQorCSAgICBpc19kZWJ1Z19pbmZvID0gMTsKKwkgIGVsc2UgaWYgKENPTlNUX1NUUk5FUSAoc2VjdC0+bmFtZSwgR05VX0xJTktPTkNFX0lORk8pKQorCSAgICBpc19kZWJ1Z19pbmZvID0gMTsKKwkgIGVsc2UKKwkgICAgaXNfZGVidWdfaW5mbyA9IDA7CisKKwkgIGlmICghaXNfZGVidWdfaW5mbyAmJiAoc2VjdC0+ZmxhZ3MgJiBTRUNfTE9BRCkgPT0gMCkKIAkgICAgY29udGludWU7CiAKIAkgIHN6ID0gc2VjdC0+cmF3c2l6ZSA/IHNlY3QtPnJhd3NpemUgOiBzZWN0LT5zaXplOwpAQCAtMjU0NCw3ICsyNjAxLDEzIEBACiAJICAgIGNvbnRpbnVlOwogCiAJICBwLT5zZWN0aW9uID0gc2VjdDsKLQkgIGlmIChsYXN0X3ZtYSAhPSAwKQorCSAgaWYgKGlzX2RlYnVnX2luZm8pCisJICAgIHsKKwkgICAgICBCRkRfQVNTRVJUIChzZWN0LT5hbGlnbm1lbnRfcG93ZXIgPT0gMCk7CisJICAgICAgc2VjdC0+dm1hID0gbGFzdF9kd2FyZjsKKwkgICAgICBsYXN0X2R3YXJmICs9IHN6OworCSAgICB9CisJICBlbHNlIGlmIChsYXN0X3ZtYSAhPSAwKQogCSAgICB7CiAJICAgICAgLyogQWxpZ24gdGhlIG5ldyBhZGRyZXNzIHRvIHRoZSBjdXJyZW50IHNlY3Rpb24KIAkJIGFsaWdubWVudC4gICovCkBAIC0yNTUyLDkgKzI2MTUsMTIgQEAKIAkJCSAgICsgfigoYmZkX3ZtYSkgLTEgPDwgc2VjdC0+YWxpZ25tZW50X3Bvd2VyKSkKIAkJCSAgJiAoKGJmZF92bWEpIC0xIDw8IHNlY3QtPmFsaWdubWVudF9wb3dlcikpOwogCSAgICAgIHNlY3QtPnZtYSA9IGxhc3Rfdm1hOworCSAgICAgIGxhc3Rfdm1hICs9IHNlY3QtPnZtYSArIHN6OwogCSAgICB9CisJICBlbHNlCisJICAgIGxhc3Rfdm1hICs9IHNlY3QtPnZtYSArIHN6OworCiAJICBwLT5hZGpfdm1hID0gc2VjdC0+dm1hOwotCSAgbGFzdF92bWEgKz0gc2VjdC0+dm1hICsgc3o7CiAKIAkgIHArKzsKIAl9CmRpZmYgLS1naXQgYS9iZmQvZWxmLWJmZC5oIGIvYmZkL2VsZi1iZmQuaAppbmRleCA5OTM0NThlLi45NjE1YTRhIDEwMDY0NAotLS0gYS9iZmQvZWxmLWJmZC5oCisrKyBiL2JmZC9lbGYtYmZkLmgKQEAgLTEwMTIsNyArMTAxMiw3IEBACiAgIC8qIENvdW50IHJlbG9jYXRpb25zLiAgTm90IGNhbGxlZCBmb3IgcmVsb2NhdGFibGUgbGlua3MKICAgICAgb3IgaWYgYWxsIHJlbG9jcyBhcmUgYmVpbmcgcHJlc2VydmVkIGluIHRoZSBvdXRwdXQuICAqLwogICB1bnNpZ25lZCBpbnQgKCplbGZfYmFja2VuZF9jb3VudF9yZWxvY3MpCi0gICAgKGFzZWN0aW9uICosIEVsZl9JbnRlcm5hbF9SZWxhICopOworICAgIChzdHJ1Y3QgYmZkX2xpbmtfaW5mbyAqLCBhc2VjdGlvbiAqKTsKIAogICAvKiBUaGlzIGZ1bmN0aW9uLCBpZiBkZWZpbmVkLCBpcyBjYWxsZWQgd2hlbiBhbiBOVF9QUlNUQVRVUyBub3RlIGlzIGZvdW5kCiAgICAgIGluIGEgY29yZSBmaWxlLiAgKi8KZGlmZiAtLWdpdCBhL2JmZC9lbGYtZWgtZnJhbWUuYyBiL2JmZC9lbGYtZWgtZnJhbWUuYwppbmRleCA3MTUxYTM5Li41NzlhNmI4IDEwMDY0NAotLS0gYS9iZmQvZWxmLWVoLWZyYW1lLmMKKysrIGIvYmZkL2VsZi1laC1mcmFtZS5jCkBAIC01NDksNiArNTQ5LDE2IEBACiAJICAgICA8IChiZmRfc2l6ZV90eXBlKSAoKGJ1ZikgLSBlaGJ1ZikpKQlcCiAgICAgY29va2llLT5yZWwrKwogCisjZGVmaW5lIFJFUVVJUkVfQ0xFQVJFRF9SRUxPQ1MoYnVmKQkJCVwKKyAgd2hpbGUgKGNvb2tpZS0+cmVsIDwgY29va2llLT5yZWxlbmQJCQlcCisJICYmIChjb29raWUtPnJlbC0+cl9vZmZzZXQJCQlcCisJICAgICA8IChiZmRfc2l6ZV90eXBlKSAoKGJ1ZikgLSBlaGJ1ZikpKQlcCisgICAgewkJCQkJCQlcCisgICAgICBSRVFVSVJFIChjb29raWUtPnJlbC0+cl9pbmZvID09IDApOwkJXAorICAgICAgUkVRVUlSRSAoY29va2llLT5yZWwtPnJfYWRkZW5kID09IDApOwkJXAorICAgICAgY29va2llLT5yZWwrKzsJCQkJCVwKKyAgICB9CisKICNkZWZpbmUgR0VUX1JFTE9DKGJ1ZikJCQkJCVwKICAgKChjb29raWUtPnJlbCA8IGNvb2tpZS0+cmVsZW5kCQkJXAogICAgICYmIChjb29raWUtPnJlbC0+cl9vZmZzZXQJCQkJXApAQCAtNzY2LDkgKzc3NiwxNCBAQAogCiAJICAvKiBDaGFpbiB0b2dldGhlciB0aGUgRkRFcyBmb3IgZWFjaCBzZWN0aW9uLiAgKi8KIAkgIHJzZWMgPSBfYmZkX2VsZl9nY19tYXJrX3JzZWMgKGluZm8sIHNlYywgZ2NfbWFya19ob29rLCBjb29raWUpOwotCSAgUkVRVUlSRSAocnNlYyAmJiByc2VjLT5vd25lciA9PSBhYmZkKTsKLQkgIHRoaXNfaW5mLT51LmZkZS5uZXh0X2Zvcl9zZWN0aW9uID0gZWxmX2ZkZV9saXN0IChyc2VjKTsKLQkgIGVsZl9mZGVfbGlzdCAocnNlYykgPSB0aGlzX2luZjsKKwkgIC8qIFJTRUMgd2lsbCBiZSBOVUxMIGlmIEZERSB3YXMgY2xlYXJlZCBvdXQgYXMgaXQgd2FzIGJlbG9uZ2luZyB0bworCSAgICAgYSBkaXNjYXJkZWQgU0hUX0dST1VQLiAgKi8KKwkgIGlmIChyc2VjKQorCSAgICB7CisJICAgICAgUkVRVUlSRSAocnNlYy0+b3duZXIgPT0gYWJmZCk7CisJICAgICAgdGhpc19pbmYtPnUuZmRlLm5leHRfZm9yX3NlY3Rpb24gPSBlbGZfZmRlX2xpc3QgKHJzZWMpOworCSAgICAgIGVsZl9mZGVfbGlzdCAocnNlYykgPSB0aGlzX2luZjsKKwkgICAgfQogCiAJICAvKiBTa2lwIHRoZSBpbml0aWFsIGxvY2F0aW9uIGFuZCBhZGRyZXNzIHJhbmdlLiAgKi8KIAkgIHN0YXJ0ID0gYnVmOwpAQCAtODAxLDcgKzgxNiwxNyBAQAogCSAgaW5zbnMgPSBidWY7CiAKIAkgIGJ1ZiA9IGxhc3RfZmRlICsgNCArIGhkcl9sZW5ndGg7Ci0JICBTS0lQX1JFTE9DUyAoYnVmKTsKKworCSAgLyogQ2xlYXJlZCBGREU/ICBUaGUgaW5zdHJ1Y3Rpb25zIHdpbGwgbm90IGJlIGNsZWFyZWQgYnV0IHZlcmlmeSBhbGwKKwkgICAgIHRoZSByZWxvY2F0aW9uIGVudHJpZXMgZm9yIHRoZW0gYXJlIGNsZWFyZWQuICAqLworCSAgaWYgKHJzZWMgPT0gTlVMTCkKKwkgICAgeworCSAgICAgIFJFUVVJUkVfQ0xFQVJFRF9SRUxPQ1MgKGJ1Zik7CisJICAgIH0KKwkgIGVsc2UKKwkgICAgeworCSAgICAgIFNLSVBfUkVMT0NTIChidWYpOworCSAgICB9CiAJfQogCiAgICAgICAvKiBUcnkgdG8gaW50ZXJwcmV0IHRoZSBDRkEgaW5zdHJ1Y3Rpb25zIGFuZCBmaW5kIHRoZSBmaXJzdApkaWZmIC0tZ2l0IGEvYmZkL2VsZi5jIGIvYmZkL2VsZi5jCmluZGV4IDdmOTg1M2UuLmVhNDRmNzIgMTAwNjQ0Ci0tLSBhL2JmZC9lbGYuYworKysgYi9iZmQvZWxmLmMKQEAgLTE4NjMsMTQgKzE4NjMsOCBAQAogICAgICAgcmV0dXJuIFRSVUU7CiAKICAgICBjYXNlIFNIVF9HUk9VUDoKLSAgICAgIC8qIFdlIG5lZWQgYSBCRkQgc2VjdGlvbiBmb3Igb2JqY29weSBhbmQgcmVsb2NhdGFibGUgbGlua2luZywKLQkgYW5kIGl0J3MgaGFuZHkgdG8gaGF2ZSB0aGUgc2lnbmF0dXJlIGF2YWlsYWJsZSBhcyB0aGUgc2VjdGlvbgotCSBuYW1lLiAgKi8KICAgICAgIGlmICghIElTX1ZBTElEX0dST1VQX1NFQ1RJT05fSEVBREVSIChoZHIpKQogCXJldHVybiBGQUxTRTsKLSAgICAgIG5hbWUgPSBncm91cF9zaWduYXR1cmUgKGFiZmQsIGhkcik7Ci0gICAgICBpZiAobmFtZSA9PSBOVUxMKQotCXJldHVybiBGQUxTRTsKICAgICAgIGlmICghX2JmZF9lbGZfbWFrZV9zZWN0aW9uX2Zyb21fc2hkciAoYWJmZCwgaGRyLCBuYW1lLCBzaGluZGV4KSkKIAlyZXR1cm4gRkFMU0U7CiAgICAgICBpZiAoaGRyLT5jb250ZW50cyAhPSBOVUxMKQpAQCAtMjY4NywxMyArMjY4MSwxNSBAQAogICAgICpmYWlsZWRwdHIgPSBUUlVFOwogfQogCi0vKiBGaWxsIGluIHRoZSBjb250ZW50cyBvZiBhIFNIVF9HUk9VUCBzZWN0aW9uLiAgKi8KKy8qIEZpbGwgaW4gdGhlIGNvbnRlbnRzIG9mIGEgU0hUX0dST1VQIHNlY3Rpb24uICBDYWxsZWQgZnJvbQorICAgX2JmZF9lbGZfY29tcHV0ZV9zZWN0aW9uX2ZpbGVfcG9zaXRpb25zIGZvciBnYXMsIG9iamNvcHksIGFuZAorICAgd2hlbiBFTEYgdGFyZ2V0cyB1c2UgdGhlIGdlbmVyaWMgbGlua2VyLCBsZC4gIENhbGxlZCBmb3IgbGQgLXIKKyAgIGZyb20gYmZkX2VsZl9maW5hbF9saW5rLiAgKi8KIAogdm9pZAogYmZkX2VsZl9zZXRfZ3JvdXBfY29udGVudHMgKGJmZCAqYWJmZCwgYXNlY3Rpb24gKnNlYywgdm9pZCAqZmFpbGVkcHRyYXJnKQogewogICBiZmRfYm9vbGVhbiAqZmFpbGVkcHRyID0gZmFpbGVkcHRyYXJnOwotICB1bnNpZ25lZCBsb25nIHN5bWluZHg7CiAgIGFzZWN0aW9uICplbHQsICpmaXJzdDsKICAgdW5zaWduZWQgY2hhciAqbG9jOwogICBiZmRfYm9vbGVhbiBnYXM7CkBAIC0yNzA0LDIwICsyNzAwLDQ5IEBACiAgICAgICB8fCAqZmFpbGVkcHRyKQogICAgIHJldHVybjsKIAotICBzeW1pbmR4ID0gMDsKLSAgaWYgKGVsZl9ncm91cF9pZCAoc2VjKSAhPSBOVUxMKQotICAgIHN5bWluZHggPSBlbGZfZ3JvdXBfaWQgKHNlYyktPnVkYXRhLmk7Ci0KLSAgaWYgKHN5bWluZHggPT0gMCkKKyAgaWYgKGVsZl9zZWN0aW9uX2RhdGEgKHNlYyktPnRoaXNfaGRyLnNoX2luZm8gPT0gMCkKICAgICB7Ci0gICAgICAvKiBJZiBjYWxsZWQgZnJvbSB0aGUgYXNzZW1ibGVyLCBzd2FwX291dF9zeW1zIHdpbGwgaGF2ZSBzZXQgdXAKLQkgZWxmX3NlY3Rpb25fc3ltczsgIElmIGNhbGxlZCBmb3IgImxkIC1yIiwgdXNlIHRhcmdldF9pbmRleC4gICovCi0gICAgICBpZiAoZWxmX3NlY3Rpb25fc3ltcyAoYWJmZCkgIT0gTlVMTCkKLQlzeW1pbmR4ID0gZWxmX3NlY3Rpb25fc3ltcyAoYWJmZClbc2VjLT5pbmRleF0tPnVkYXRhLmk7Ci0gICAgICBlbHNlCi0Jc3ltaW5keCA9IHNlYy0+dGFyZ2V0X2luZGV4OworICAgICAgdW5zaWduZWQgbG9uZyBzeW1pbmR4ID0gMDsKKworICAgICAgLyogZWxmX2dyb3VwX2lkIHdpbGwgaGF2ZSBiZWVuIHNldCB1cCBieSBvYmpjb3B5IGFuZCB0aGUKKwkgZ2VuZXJpYyBsaW5rZXIuICAqLworICAgICAgaWYgKGVsZl9ncm91cF9pZCAoc2VjKSAhPSBOVUxMKQorCXN5bWluZHggPSBlbGZfZ3JvdXBfaWQgKHNlYyktPnVkYXRhLmk7CisKKyAgICAgIGlmIChzeW1pbmR4ID09IDApCisJeworCSAgLyogSWYgY2FsbGVkIGZyb20gdGhlIGFzc2VtYmxlciwgc3dhcF9vdXRfc3ltcyB3aWxsIGhhdmUgc2V0IHVwCisJICAgICBlbGZfc2VjdGlvbl9zeW1zLiAgKi8KKwkgIEJGRF9BU1NFUlQgKGVsZl9zZWN0aW9uX3N5bXMgKGFiZmQpICE9IE5VTEwpOworCSAgc3ltaW5keCA9IGVsZl9zZWN0aW9uX3N5bXMgKGFiZmQpW3NlYy0+aW5kZXhdLT51ZGF0YS5pOworCX0KKyAgICAgIGVsZl9zZWN0aW9uX2RhdGEgKHNlYyktPnRoaXNfaGRyLnNoX2luZm8gPSBzeW1pbmR4OwogICAgIH0KLSAgZWxmX3NlY3Rpb25fZGF0YSAoc2VjKS0+dGhpc19oZHIuc2hfaW5mbyA9IHN5bWluZHg7CisgIGVsc2UgaWYgKGVsZl9zZWN0aW9uX2RhdGEgKHNlYyktPnRoaXNfaGRyLnNoX2luZm8gPT0gKHVuc2lnbmVkIGludCkgLTIpCisgICAgeworICAgICAgLyogVGhlIEVMRiBiYWNrZW5kIGxpbmtlciBzZXRzIHNoX2luZm8gdG8gLTIgd2hlbiB0aGUgZ3JvdXAKKwkgc2lnbmF0dXJlIHN5bWJvbCBpcyBnbG9iYWwsIGFuZCB0aHVzIHRoZSBpbmRleCBjYW4ndCBiZQorCSBzZXQgdW50aWwgYWxsIGxvY2FsIHN5bWJvbHMgYXJlIG91dHB1dC4gICovCisgICAgICBhc2VjdGlvbiAqaWdyb3VwID0gZWxmX3NlY19ncm91cCAoZWxmX25leHRfaW5fZ3JvdXAgKHNlYykpOworICAgICAgc3RydWN0IGJmZF9lbGZfc2VjdGlvbl9kYXRhICpzZWNfZGF0YSA9IGVsZl9zZWN0aW9uX2RhdGEgKGlncm91cCk7CisgICAgICB1bnNpZ25lZCBsb25nIHN5bW5keCA9IHNlY19kYXRhLT50aGlzX2hkci5zaF9pbmZvOworICAgICAgdW5zaWduZWQgbG9uZyBleHRzeW1vZmYgPSAwOworICAgICAgc3RydWN0IGVsZl9saW5rX2hhc2hfZW50cnkgKmg7CisKKyAgICAgIGlmICghZWxmX2JhZF9zeW10YWIgKGlncm91cC0+b3duZXIpKQorCXsKKwkgIEVsZl9JbnRlcm5hbF9TaGRyICpzeW10YWJfaGRyOworCisJICBzeW10YWJfaGRyID0gJmVsZl90ZGF0YSAoaWdyb3VwLT5vd25lciktPnN5bXRhYl9oZHI7CisJICBleHRzeW1vZmYgPSBzeW10YWJfaGRyLT5zaF9pbmZvOworCX0KKyAgICAgIGggPSBlbGZfc3ltX2hhc2hlcyAoaWdyb3VwLT5vd25lcilbc3ltbmR4IC0gZXh0c3ltb2ZmXTsKKyAgICAgIHdoaWxlIChoLT5yb290LnR5cGUgPT0gYmZkX2xpbmtfaGFzaF9pbmRpcmVjdAorCSAgICAgfHwgaC0+cm9vdC50eXBlID09IGJmZF9saW5rX2hhc2hfd2FybmluZykKKwloID0gKHN0cnVjdCBlbGZfbGlua19oYXNoX2VudHJ5ICopIGgtPnJvb3QudS5pLmxpbms7CisKKyAgICAgIGVsZl9zZWN0aW9uX2RhdGEgKHNlYyktPnRoaXNfaGRyLnNoX2luZm8gPSBoLT5pbmR4OworICAgIH0KIAogICAvKiBUaGUgY29udGVudHMgd29uJ3QgYmUgYWxsb2NhdGVkIGZvciAibGQgLXIiIG9yIG9iamNvcHkuICAqLwogICBnYXMgPSBUUlVFOwpAQCAtMzM4Niw3ICszNDExLDcgQEAKICAgICAgICsrc2VnczsKICAgICB9CiAKLSAgaWYgKGluZm8tPnJlbHJvKQorICBpZiAoaW5mbyAhPSBOVUxMICYmIGluZm8tPnJlbHJvKQogICAgIHsKICAgICAgIC8qIFdlIG5lZWQgYSBQVF9HTlVfUkVMUk8gc2VnbWVudC4gICovCiAgICAgICArK3NlZ3M7CkBAIC0zNzY4LDggKzM3OTMsMTMgQEAKIAkgICAgfQogCiAJICAvKiBBbGxvdyBpbnRlcmVzdGVkIHBhcnRpZXMgYSBjaGFuY2UgdG8gb3ZlcnJpZGUgb3VyIGRlY2lzaW9uLiAgKi8KLQkgIGlmIChsYXN0X2hkciAmJiBpbmZvLT5jYWxsYmFja3MtPm92ZXJyaWRlX3NlZ21lbnRfYXNzaWdubWVudCkKLQkgICAgbmV3X3NlZ21lbnQgPSBpbmZvLT5jYWxsYmFja3MtPm92ZXJyaWRlX3NlZ21lbnRfYXNzaWdubWVudCAoaW5mbywgYWJmZCwgaGRyLCBsYXN0X2hkciwgbmV3X3NlZ21lbnQpOworCSAgaWYgKGxhc3RfaGRyICE9IE5VTEwKKwkgICAgICAmJiBpbmZvICE9IE5VTEwKKwkgICAgICAmJiBpbmZvLT5jYWxsYmFja3MtPm92ZXJyaWRlX3NlZ21lbnRfYXNzaWdubWVudCAhPSBOVUxMKQorCSAgICBuZXdfc2VnbWVudAorCSAgICAgID0gaW5mby0+Y2FsbGJhY2tzLT5vdmVycmlkZV9zZWdtZW50X2Fzc2lnbm1lbnQgKGluZm8sIGFiZmQsIGhkciwKKwkJCQkJCQkgICAgICBsYXN0X2hkciwKKwkJCQkJCQkgICAgICBuZXdfc2VnbWVudCk7CiAKIAkgIGlmICghIG5ld19zZWdtZW50KQogCSAgICB7CkBAIC0zOTQ0LDcgKzM5NzQsNyBAQAogCSAgcG0gPSAmbS0+bmV4dDsKIAl9CiAKLSAgICAgIGlmIChpbmZvLT5yZWxybykKKyAgICAgIGlmIChpbmZvICE9IE5VTEwgJiYgaW5mby0+cmVscm8pCiAJewogCSAgZm9yIChtID0gbWZpcnN0OyBtICE9IE5VTEw7IG0gPSBtLT5uZXh0KQogCSAgICB7CkBAIC00MTI4LDcgKzQxNTgsNyBAQAogICB1bnNpZ25lZCBpbnQgaSwgajsKIAogICBpZiAobGlua19pbmZvID09IE5VTEwKLSAgICAgICYmICFlbGZfbW9kaWZ5X3NlZ21lbnRfbWFwIChhYmZkLCBsaW5rX2luZm8sIEZBTFNFKSkKKyAgICAgICYmICFfYmZkX2VsZl9tYXBfc2VjdGlvbnNfdG9fc2VnbWVudHMgKGFiZmQsIGxpbmtfaW5mbykpCiAgICAgcmV0dXJuIEZBTFNFOwogCiAgIGFsbG9jID0gMDsKQEAgLTQyNTgsMjEgKzQyODgsMTQgQEAKIAkgICAgICBlbGZfc2VjdGlvbl90eXBlIChtLT5zZWN0aW9uc1tpXSkgPSBTSFRfTk9CSVRTOwogCiAJICAvKiBGaW5kIG91dCB3aGV0aGVyIHRoaXMgc2VnbWVudCBjb250YWlucyBhbnkgbG9hZGFibGUKLQkgICAgIHNlY3Rpb25zLiAgSWYgdGhlIGZpcnN0IHNlY3Rpb24gaXNuJ3QgbG9hZGFibGUsIHRoZSBzYW1lCi0JICAgICBob2xkcyBmb3IgYW55IG90aGVyIHNlY3Rpb25zLiAgKi8KLQkgIGkgPSAwOwotCSAgd2hpbGUgKGVsZl9zZWN0aW9uX3R5cGUgKG0tPnNlY3Rpb25zW2ldKSA9PSBTSFRfTk9CSVRTKQotCSAgICB7Ci0JICAgICAgLyogSWYgYSBzZWdtZW50IHN0YXJ0cyB3aXRoIC50YnNzLCB3ZSBuZWVkIHRvIGxvb2sKLQkJIGF0IHRoZSBuZXh0IHNlY3Rpb24gdG8gZGVjaWRlIHdoZXRoZXIgdGhlIHNlZ21lbnQKLQkJIGhhcyBhbnkgbG9hZGFibGUgc2VjdGlvbnMuICAqLwotCSAgICAgIGlmICgoZWxmX3NlY3Rpb25fZmxhZ3MgKG0tPnNlY3Rpb25zW2ldKSAmIFNIRl9UTFMpID09IDAKLQkJICB8fCArK2kgPj0gbS0+Y291bnQpCi0JCXsKLQkJICBub19jb250ZW50cyA9IFRSVUU7Ci0JCSAgYnJlYWs7Ci0JCX0KLQkgICAgfQorCSAgICAgc2VjdGlvbnMuICAqLworCSAgbm9fY29udGVudHMgPSBUUlVFOworCSAgZm9yIChpID0gMDsgaSA8IG0tPmNvdW50OyBpKyspCisJICAgIGlmIChlbGZfc2VjdGlvbl90eXBlIChtLT5zZWN0aW9uc1tpXSkgIT0gU0hUX05PQklUUykKKwkgICAgICB7CisJCW5vX2NvbnRlbnRzID0gRkFMU0U7CisJCWJyZWFrOworCSAgICAgIH0KIAogCSAgb2ZmX2FkanVzdCA9IHZtYV9wYWdlX2FsaWduZWRfYmlhcyAobS0+c2VjdGlvbnNbMF0tPnZtYSwgb2ZmLCBhbGlnbik7CiAJICBvZmYgKz0gb2ZmX2FkanVzdDsKQEAgLTYwMTksNyArNjA0Miw3IEBACiAJICBpZiAoZWxmX3NlY3Rpb25fZmxhZ3MgKGlzZWMpICYgU0hGX0dST1VQKQogCSAgICBlbGZfc2VjdGlvbl9mbGFncyAob3NlYykgfD0gU0hGX0dST1VQOwogCSAgZWxmX25leHRfaW5fZ3JvdXAgKG9zZWMpID0gZWxmX25leHRfaW5fZ3JvdXAgKGlzZWMpOwotCSAgZWxmX2dyb3VwX25hbWUgKG9zZWMpID0gZWxmX2dyb3VwX25hbWUgKGlzZWMpOworCSAgZWxmX3NlY3Rpb25fZGF0YSAob3NlYyktPmdyb3VwID0gZWxmX3NlY3Rpb25fZGF0YSAoaXNlYyktPmdyb3VwOwogCX0KICAgICB9CiAKZGlmZiAtLWdpdCBhL2JmZC9lbGYzMi1jcmlzLmMgYi9iZmQvZWxmMzItY3Jpcy5jCmluZGV4IDc1ZDA2OTUuLjM2MGNiYTYgMTAwNjQ0Ci0tLSBhL2JmZC9lbGYzMi1jcmlzLmMKKysrIGIvYmZkL2VsZjMyLWNyaXMuYwpAQCAtNDA5LDcgKzQwOSwzMSBAQAogCSBGQUxTRSwJCQkvKiBwYXJ0aWFsX2lucGxhY2UgKi8KIAkgMCwJCQkvKiBzcmNfbWFzayAqLwogCSAweGZmZmZmZmZmLAkJLyogZHN0X21hc2sgKi8KLQkgVFJVRSkJCQkvKiBwY3JlbF9vZmZzZXQgKi8KKwkgVFJVRSksCQkJLyogcGNyZWxfb2Zmc2V0ICovCisKKyAgLyogV2UgZG9uJ3QgaGFuZGxlIHRoZXNlIGluIGFueSBzcGVjaWFsIG1hbm5lciBhbmQgY3Jvc3MtZm9ybWF0CisgICAgIGxpbmtpbmcgaXMgbm90IHN1cHBvcnRlZDsganVzdCByZWNvZ25pemUgdGhlbSBlbm91Z2ggdG8gcGFzcyB0aGVtCisgICAgIGFyb3VuZC4gIEZJWE1FOiBkbyB0aGUgc2FtZSBmb3IgbW9zdCBQSUMgcmVsb2NzIGFuZCBhZGQgc2FuaXR5CisgICAgIHRlc3RzIHRvIGFjdHVhbGx5IHJlZnVzZSBncmFjZWZ1bGx5IHRvIGhhbmRsZSB0aGVzZSBhbmQgUElDCisgICAgIHJlbG9jcyBmb3IgY3Jvc3MtZm9ybWF0IGxpbmtpbmcuICAqLworI2RlZmluZSBUTFNIT1dUTzMyKG5hbWUpIFwKKyBIT1dUTyAobmFtZSwgMCwgMiwgMzIsIEZBTFNFLCAwLCBjb21wbGFpbl9vdmVyZmxvd19iaXRmaWVsZCwgXAorICAgICAgICBiZmRfZWxmX2dlbmVyaWNfcmVsb2MsICNuYW1lLCBGQUxTRSwgMCwgMHhmZmZmZmZmZiwgRkFMU0UpCisjZGVmaW5lIFRMU0hPV1RPMTYobmFtZSkgXAorIEhPV1RPIChuYW1lLCAwLCAxLCAxNiwgRkFMU0UsIDAsIGNvbXBsYWluX292ZXJmbG93X2JpdGZpZWxkLCBcCisgICAgICAgIGJmZF9lbGZfZ2VuZXJpY19yZWxvYywgI25hbWUsIEZBTFNFLCAwLCAweGZmZmYsIEZBTFNFKQorCisgIFRMU0hPV1RPMzIgKFJfQ1JJU18zMl9HT1RfR0QpLAorICBUTFNIT1dUTzE2IChSX0NSSVNfMTZfR09UX0dEKSwKKyAgVExTSE9XVE8zMiAoUl9DUklTXzMyX0dEKSwKKyAgVExTSE9XVE8zMiAoUl9DUklTX0RUUCksCisgIFRMU0hPV1RPMzIgKFJfQ1JJU18zMl9EVFBSRUwpLAorICBUTFNIT1dUTzE2IChSX0NSSVNfMTZfRFRQUkVMKSwKKyAgVExTSE9XVE8zMiAoUl9DUklTXzMyX0dPVF9UUFJFTCksCisgIFRMU0hPV1RPMTYgKFJfQ1JJU18xNl9HT1RfVFBSRUwpLAorICBUTFNIT1dUTzMyIChSX0NSSVNfMzJfVFBSRUwpLAorICBUTFNIT1dUTzE2IChSX0NSSVNfMTZfVFBSRUwpLAorICBUTFNIT1dUTzMyIChSX0NSSVNfRFRQTU9EKQogfTsKIAwKIC8qIE1hcCBCRkQgcmVsb2MgdHlwZXMgdG8gQ1JJUyBFTEYgcmVsb2MgdHlwZXMuICAqLwpAQCAtNDQxLDcgKzQ2NSwxOCBAQAogICB7IEJGRF9SRUxPQ19DUklTXzMyX0dPVFBMVCwJUl9DUklTXzMyX0dPVFBMVCB9LAogICB7IEJGRF9SRUxPQ19DUklTXzMyX0dPVFJFTCwJUl9DUklTXzMyX0dPVFJFTCB9LAogICB7IEJGRF9SRUxPQ19DUklTXzMyX1BMVF9HT1RSRUwsIFJfQ1JJU18zMl9QTFRfR09UUkVMIH0sCi0gIHsgQkZEX1JFTE9DX0NSSVNfMzJfUExUX1BDUkVMLCBSX0NSSVNfMzJfUExUX1BDUkVMIH0KKyAgeyBCRkRfUkVMT0NfQ1JJU18zMl9QTFRfUENSRUwsIFJfQ1JJU18zMl9QTFRfUENSRUwgfSwKKyAgeyBCRkRfUkVMT0NfQ1JJU18zMl9HT1RfR0QsCVJfQ1JJU18zMl9HT1RfR0QgfSwKKyAgeyBCRkRfUkVMT0NfQ1JJU18xNl9HT1RfR0QsCVJfQ1JJU18xNl9HT1RfR0QgfSwKKyAgeyBCRkRfUkVMT0NfQ1JJU18zMl9HRCwJUl9DUklTXzMyX0dEIH0sCisgIHsgQkZEX1JFTE9DX0NSSVNfRFRQLAlSX0NSSVNfRFRQIH0sCisgIHsgQkZEX1JFTE9DX0NSSVNfMzJfRFRQUkVMLAlSX0NSSVNfMzJfRFRQUkVMIH0sCisgIHsgQkZEX1JFTE9DX0NSSVNfMTZfRFRQUkVMLAlSX0NSSVNfMTZfRFRQUkVMIH0sCisgIHsgQkZEX1JFTE9DX0NSSVNfMzJfR09UX1RQUkVMLCBSX0NSSVNfMzJfR09UX1RQUkVMIH0sCisgIHsgQkZEX1JFTE9DX0NSSVNfMTZfR09UX1RQUkVMLCBSX0NSSVNfMTZfR09UX1RQUkVMIH0sCisgIHsgQkZEX1JFTE9DX0NSSVNfMzJfVFBSRUwsCVJfQ1JJU18zMl9UUFJFTCB9LAorICB7IEJGRF9SRUxPQ19DUklTXzE2X1RQUkVMLAlSX0NSSVNfMTZfVFBSRUwgfSwKKyAgeyBCRkRfUkVMT0NfQ1JJU19EVFBNT0QsCVJfQ1JJU19EVFBNT0QgfQogfTsKIAogc3RhdGljIHJlbG9jX2hvd3RvX3R5cGUgKgpkaWZmIC0tZ2l0IGEvYmZkL2VsZjMyLXBwYy5jIGIvYmZkL2VsZjMyLXBwYy5jCmluZGV4IDg0ZTcyYjguLjgzYTkyNzQgMTAwNjQ0Ci0tLSBhL2JmZC9lbGYzMi1wcGMuYworKysgYi9iZmQvZWxmMzItcHBjLmMKQEAgLTE1Nyw2ICsxNTcsMTIgQEAKIC8qIE9mZnNldCBvZiB0cCBhbmQgZHRwIHBvaW50ZXJzIGZyb20gc3RhcnQgb2YgVExTIGJsb2NrLiAgKi8KICNkZWZpbmUgVFBfT0ZGU0VUCTB4NzAwMAogI2RlZmluZSBEVFBfT0ZGU0VUCTB4ODAwMAorCisvKiBUaGUgdmFsdWUgb2YgYSBkZWZpbmVkIGdsb2JhbCBzeW1ib2wuICAqLworI2RlZmluZSBTWU1fVkFMKFNZTSkgXAorICAoKFNZTSktPnJvb3QudS5kZWYuc2VjdGlvbi0+b3V0cHV0X3NlY3Rpb24tPnZtYQlcCisgICArIChTWU0pLT5yb290LnUuZGVmLnNlY3Rpb24tPm91dHB1dF9vZmZzZXQJCVwKKyAgICsgKFNZTSktPnJvb3QudS5kZWYudmFsdWUpCiAMCiBzdGF0aWMgcmVsb2NfaG93dG9fdHlwZSAqcHBjX2VsZl9ob3d0b190YWJsZVtSX1BQQ19tYXhdOwogCkBAIC0zOTU4LDYgKzM5NjQsMzMgQEAKIAkgICBpYmZkLCBvYmZkLCBpbl9hYmksIG91dF9hYmkpOwogICAgIH0KIAorICAvKiBDaGVjayBmb3IgY29uZmxpY3RpbmcgVGFnX0dOVV9Qb3dlcl9BQklfU3RydWN0X1JldHVybiBhdHRyaWJ1dGVzCisgICAgIGFuZCBtZXJnZSBub24tY29uZmxpY3Rpbmcgb25lcy4gICovCisgIGluX2F0dHIgPSAmaW5fYXR0cnNbVGFnX0dOVV9Qb3dlcl9BQklfU3RydWN0X1JldHVybl07CisgIG91dF9hdHRyID0gJm91dF9hdHRyc1tUYWdfR05VX1Bvd2VyX0FCSV9TdHJ1Y3RfUmV0dXJuXTsKKyAgaWYgKGluX2F0dHItPmkgIT0gb3V0X2F0dHItPmkpCisgICAgeworICAgICAgb3V0X2F0dHItPnR5cGUgPSAxOworICAgICAgaWYgKG91dF9hdHRyLT5pID09IDApCisgICAgICAgb3V0X2F0dHItPmkgPSBpbl9hdHRyLT5pOworICAgICAgZWxzZSBpZiAoaW5fYXR0ci0+aSA9PSAwKQorICAgICAgIDsKKyAgICAgIGVsc2UgaWYgKG91dF9hdHRyLT5pID09IDEgJiYgaW5fYXR0ci0+aSA9PSAyKQorICAgICAgIF9iZmRfZXJyb3JfaGFuZGxlcgorICAgICAgICAgKF8oIldhcm5pbmc6ICVCIHVzZXMgcjMvcjQgZm9yIHNtYWxsIHN0cnVjdHVyZSByZXR1cm5zLCAlQiB1c2VzIG1lbW9yeSIpLCBvYmZkLCBpYmZkKTsKKyAgICAgIGVsc2UgaWYgKG91dF9hdHRyLT5pID09IDIgJiYgaW5fYXR0ci0+aSA9PSAxKQorICAgICAgIF9iZmRfZXJyb3JfaGFuZGxlcgorICAgICAgICAgKF8oIldhcm5pbmc6ICVCIHVzZXMgcjMvcjQgZm9yIHNtYWxsIHN0cnVjdHVyZSByZXR1cm5zLCAlQiB1c2VzIG1lbW9yeSIpLCBpYmZkLCBvYmZkKTsKKyAgICAgIGVsc2UgaWYgKGluX2F0dHItPmkgPiAyKQorICAgICAgIF9iZmRfZXJyb3JfaGFuZGxlcgorICAgICAgICAgKF8oIldhcm5pbmc6ICVCIHVzZXMgdW5rbm93biBzbWFsbCBzdHJ1Y3R1cmUgcmV0dXJuIGNvbnZlbnRpb24gJWQiKSwgaWJmZCwKKyAgICAgICAgICBpbl9hdHRyLT5pKTsKKyAgICAgIGVsc2UKKyAgICAgICBfYmZkX2Vycm9yX2hhbmRsZXIKKyAgICAgICAgIChfKCJXYXJuaW5nOiAlQiB1c2VzIHVua25vd24gc21hbGwgc3RydWN0dXJlIHJldHVybiBjb252ZW50aW9uICVkIiksIG9iZmQsCisgICAgICAgICAgb3V0X2F0dHItPmkpOworICAgIH0KKwogICAvKiBNZXJnZSBUYWdfY29tcGF0aWJpbGl0eSBhdHRyaWJ1dGVzIGFuZCBhbnkgY29tbW9uIEdOVSBvbmVzLiAgKi8KICAgX2JmZF9lbGZfbWVyZ2Vfb2JqZWN0X2F0dHJpYnV0ZXMgKGliZmQsIG9iZmQpOwogCkBAIC02NjU2LDggKzY2ODksMTAgQEAKIAkJICB9CiAJICAgICAgfQogCi0JICAgIHJlbG9jYXRpb24gPSBodGFiLT5nb3QtPm91dHB1dF9vZmZzZXQgKyBvZmY7Ci0JICAgIHJlbG9jYXRpb24gLT0gaHRhYi0+ZWxmLmhnb3QtPnJvb3QudS5kZWYudmFsdWU7CisJICAgIHJlbG9jYXRpb24gPSAoaHRhYi0+Z290LT5vdXRwdXRfc2VjdGlvbi0+dm1hCisJCQkgICsgaHRhYi0+Z290LT5vdXRwdXRfb2Zmc2V0CisJCQkgICsgb2ZmCisJCQkgIC0gU1lNX1ZBTCAoaHRhYi0+ZWxmLmhnb3QpKTsKIAogCSAgICAvKiBBZGRlbmRzIG9uIGdvdCByZWxvY2F0aW9ucyBkb24ndCBtYWtlIG11Y2ggc2Vuc2UuCiAJICAgICAgIHgrb2ZmQGdvdCBpcyBhY3R1YWxseSB4QGdvdCtvZmYsIGFuZCBzaW5jZSB0aGUgZ290IGlzCkBAIC02OTcxLDEyICs3MDA2LDE1IEBACiAJICAgICBhbiBlbWJlZGRlZCBFTEYgb2JqZWN0LCBmb3Igd2hpY2ggdGhlIC5nb3Qgc2VjdGlvbiBhY3RzIGxpa2UgdGhlCiAJICAgICBBSVggLnRvYyBzZWN0aW9uLiAgKi8KIAljYXNlIFJfUFBDX1RPQzE2OgkJCS8qIHBob255IEdPVDE2IHJlbG9jYXRpb25zICovCi0JICBCRkRfQVNTRVJUIChzZWMgIT0gTlVMTCk7Ci0JICBCRkRfQVNTRVJUIChiZmRfaXNfdW5kX3NlY3Rpb24gKHNlYykKLQkJICAgICAgfHwgc3RyY21wIChiZmRfZ2V0X3NlY3Rpb25fbmFtZSAoYWJmZCwgc2VjKSwgIi5nb3QiKSA9PSAwCisJICBpZiAoc2VjID09IE5VTEwgfHwgc2VjLT5vdXRwdXRfc2VjdGlvbiA9PSBOVUxMKQorCSAgICB7CisJICAgICAgdW5yZXNvbHZlZF9yZWxvYyA9IFRSVUU7CisJICAgICAgYnJlYWs7CisJICAgIH0KKwkgIEJGRF9BU1NFUlQgKHN0cmNtcCAoYmZkX2dldF9zZWN0aW9uX25hbWUgKGFiZmQsIHNlYyksICIuZ290IikgPT0gMAogCQkgICAgICB8fCBzdHJjbXAgKGJmZF9nZXRfc2VjdGlvbl9uYW1lIChhYmZkLCBzZWMpLCAiLmNnb3QiKSA9PSAwKTsKIAotCSAgICBhZGRlbmQgLT0gc2VjLT5vdXRwdXRfc2VjdGlvbi0+dm1hICsgc2VjLT5vdXRwdXRfb2Zmc2V0ICsgMHg4MDAwOworCSAgYWRkZW5kIC09IHNlYy0+b3V0cHV0X3NlY3Rpb24tPnZtYSArIHNlYy0+b3V0cHV0X29mZnNldCArIDB4ODAwMDsKIAkgIGJyZWFrOwogCiAJY2FzZSBSX1BQQ19QTFRSRUwyNDoKQEAgLTcwMTEsOSArNzA0OSwxMyBAQAogCWNhc2UgUl9QUENfU0RBUkVMMTY6CiAJICB7CiAJICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci0JICAgIHN0cnVjdCBlbGZfbGlua19oYXNoX2VudHJ5ICpzaDsKIAotCSAgICBCRkRfQVNTRVJUIChzZWMgIT0gTlVMTCk7CisJICAgIGlmIChzZWMgPT0gTlVMTCB8fCBzZWMtPm91dHB1dF9zZWN0aW9uID09IE5VTEwpCisJICAgICAgeworCQl1bnJlc29sdmVkX3JlbG9jID0gVFJVRTsKKwkJYnJlYWs7CisJICAgICAgfQorCiAJICAgIG5hbWUgPSBiZmRfZ2V0X3NlY3Rpb25fbmFtZSAoYWJmZCwgc2VjLT5vdXRwdXRfc2VjdGlvbik7CiAJICAgIGlmICghICgoQ09OU1RfU1RSTkVRIChuYW1lLCAiLnNkYXRhIikKIAkJICAgICYmIChuYW1lWzZdID09IDAgfHwgbmFtZVs2XSA9PSAnLicpKQpAQCAtNzAyOCwxMCArNzA3MCw3IEBACiAJCSAgIGhvd3RvLT5uYW1lLAogCQkgICBuYW1lKTsKIAkgICAgICB9Ci0JICAgIHNoID0gaHRhYi0+c2RhdGFbMF0uc3ltOwotCSAgICBhZGRlbmQgLT0gKHNoLT5yb290LnUuZGVmLnZhbHVlCi0JCSAgICAgICArIHNoLT5yb290LnUuZGVmLnNlY3Rpb24tPm91dHB1dF9vZmZzZXQKLQkJICAgICAgICsgc2gtPnJvb3QudS5kZWYuc2VjdGlvbi0+b3V0cHV0X3NlY3Rpb24tPnZtYSk7CisJICAgIGFkZGVuZCAtPSBTWU1fVkFMIChodGFiLT5zZGF0YVswXS5zeW0pOwogCSAgfQogCSAgYnJlYWs7CiAKQEAgLTcwMzksOSArNzA3OCwxMyBAQAogCWNhc2UgUl9QUENfRU1CX1NEQTJSRUw6CiAJICB7CiAJICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci0JICAgIHN0cnVjdCBlbGZfbGlua19oYXNoX2VudHJ5ICpzaDsKIAotCSAgICBCRkRfQVNTRVJUIChzZWMgIT0gTlVMTCk7CisJICAgIGlmIChzZWMgPT0gTlVMTCB8fCBzZWMtPm91dHB1dF9zZWN0aW9uID09IE5VTEwpCisJICAgICAgeworCQl1bnJlc29sdmVkX3JlbG9jID0gVFJVRTsKKwkJYnJlYWs7CisJICAgICAgfQorCiAJICAgIG5hbWUgPSBiZmRfZ2V0X3NlY3Rpb25fbmFtZSAoYWJmZCwgc2VjLT5vdXRwdXRfc2VjdGlvbik7CiAJICAgIGlmICghIChDT05TVF9TVFJORVEgKG5hbWUsICIuc2RhdGEyIikKIAkJICAgfHwgQ09OU1RfU1RSTkVRIChuYW1lLCAiLnNic3MyIikpKQpAQCAtNzA1OCwxMCArNzEwMSw3IEBACiAJCXJldCA9IEZBTFNFOwogCQljb250aW51ZTsKIAkgICAgICB9Ci0JICAgIHNoID0gaHRhYi0+c2RhdGFbMV0uc3ltOwotCSAgICBhZGRlbmQgLT0gKHNoLT5yb290LnUuZGVmLnZhbHVlCi0JCSAgICAgICArIHNoLT5yb290LnUuZGVmLnNlY3Rpb24tPm91dHB1dF9vZmZzZXQKLQkJICAgICAgICsgc2gtPnJvb3QudS5kZWYuc2VjdGlvbi0+b3V0cHV0X3NlY3Rpb24tPnZtYSk7CisJICAgIGFkZGVuZCAtPSBTWU1fVkFMIChodGFiLT5zZGF0YVsxXS5zeW0pOwogCSAgfQogCSAgYnJlYWs7CiAKQEAgLTcwNzEsOSArNzExMSwxMyBAQAogCSAgewogCSAgICBjb25zdCBjaGFyICpuYW1lOwogCSAgICBpbnQgcmVnOwotCSAgICBzdHJ1Y3QgZWxmX2xpbmtfaGFzaF9lbnRyeSAqc2g7CiAKLQkgICAgQkZEX0FTU0VSVCAoc2VjICE9IE5VTEwpOworCSAgICBpZiAoc2VjID09IE5VTEwgfHwgc2VjLT5vdXRwdXRfc2VjdGlvbiA9PSBOVUxMKQorCSAgICAgIHsKKwkJdW5yZXNvbHZlZF9yZWxvYyA9IFRSVUU7CisJCWJyZWFrOworCSAgICAgIH0KKwogCSAgICBuYW1lID0gYmZkX2dldF9zZWN0aW9uX25hbWUgKGFiZmQsIHNlYy0+b3V0cHV0X3NlY3Rpb24pOwogCSAgICBpZiAoKChDT05TVF9TVFJORVEgKG5hbWUsICIuc2RhdGEiKQogCQkgICYmIChuYW1lWzZdID09IDAgfHwgbmFtZVs2XSA9PSAnLicpKQpAQCAtNzA4MSwyOCArNzEyNSwxOSBAQAogCQkgICAgICYmIChuYW1lWzVdID09IDAgfHwgbmFtZVs1XSA9PSAnLicpKSkpCiAJICAgICAgewogCQlyZWcgPSAxMzsKLQkJc2ggPSBodGFiLT5zZGF0YVswXS5zeW07Ci0JCWFkZGVuZCAtPSAoc2gtPnJvb3QudS5kZWYudmFsdWUKLQkJCSAgICsgc2gtPnJvb3QudS5kZWYuc2VjdGlvbi0+b3V0cHV0X29mZnNldAotCQkJICAgKyBzaC0+cm9vdC51LmRlZi5zZWN0aW9uLT5vdXRwdXRfc2VjdGlvbi0+dm1hKTsKKwkJYWRkZW5kIC09IFNZTV9WQUwgKGh0YWItPnNkYXRhWzBdLnN5bSk7CiAJICAgICAgfQotCiAJICAgIGVsc2UgaWYgKENPTlNUX1NUUk5FUSAobmFtZSwgIi5zZGF0YTIiKQogCQkgICAgIHx8IENPTlNUX1NUUk5FUSAobmFtZSwgIi5zYnNzMiIpKQogCSAgICAgIHsKIAkJcmVnID0gMjsKLQkJc2ggPSBodGFiLT5zZGF0YVsxXS5zeW07Ci0JCWFkZGVuZCAtPSAoc2gtPnJvb3QudS5kZWYudmFsdWUKLQkJCSAgICsgc2gtPnJvb3QudS5kZWYuc2VjdGlvbi0+b3V0cHV0X29mZnNldAotCQkJICAgKyBzaC0+cm9vdC51LmRlZi5zZWN0aW9uLT5vdXRwdXRfc2VjdGlvbi0+dm1hKTsKKwkJYWRkZW5kIC09IFNZTV9WQUwgKGh0YWItPnNkYXRhWzFdLnN5bSk7CiAJICAgICAgfQotCiAJICAgIGVsc2UgaWYgKHN0cmNtcCAobmFtZSwgIi5QUEMuRU1CLnNkYXRhMCIpID09IDAKIAkJICAgICB8fCBzdHJjbXAgKG5hbWUsICIuUFBDLkVNQi5zYnNzMCIpID09IDApCiAJICAgICAgewogCQlyZWcgPSAwOwogCSAgICAgIH0KLQogCSAgICBlbHNlCiAJICAgICAgewogCQkoKl9iZmRfZXJyb3JfaGFuZGxlcikKQEAgLTcxMzIsNyArNzE2NywxMSBAQAogCWNhc2UgUl9QUENfU0VDVE9GRl9MTzoKIAljYXNlIFJfUFBDX1NFQ1RPRkZfSEk6CiAJY2FzZSBSX1BQQ19TRUNUT0ZGX0hBOgotCSAgQkZEX0FTU0VSVCAoc2VjICE9IE5VTEwpOworCSAgaWYgKHNlYyA9PSBOVUxMIHx8IHNlYy0+b3V0cHV0X3NlY3Rpb24gPT0gTlVMTCkKKwkgICAgeworCSAgICAgIHVucmVzb2x2ZWRfcmVsb2MgPSBUUlVFOworCSAgICAgIGJyZWFrOworCSAgICB9CiAJICBhZGRlbmQgLT0gc2VjLT5vdXRwdXRfc2VjdGlvbi0+dm1hOwogCSAgYnJlYWs7CiAKQEAgLTczNDcsMzEgKzczODYsMjIgQEAKIAkJLyogRmlsbCBpbiB0aGUgLnBsdCBvbiBWeFdvcmtzLiAgKi8KIAkJaWYgKGluZm8tPnNoYXJlZCkKIAkJICB7Ci0JCSAgICBiZmRfdm1hIGdvdF9vZmZzZXRfaGkgPSAoZ290X29mZnNldCA+PiAxNikKLQkJCQkJICAgICsgKChnb3Rfb2Zmc2V0ICYgMHg4MDAwKSA+PiAxNSk7Ci0KIAkJICAgIGJmZF9wdXRfMzIgKG91dHB1dF9iZmQsCi0JCQkJcGx0X2VudHJ5WzBdIHwgKGdvdF9vZmZzZXRfaGkgJiAweGZmZmYpLAorCQkJCXBsdF9lbnRyeVswXSB8IFBQQ19IQSAoZ290X29mZnNldCksCiAJCQkJaHRhYi0+cGx0LT5jb250ZW50cyArIGVudC0+cGx0Lm9mZnNldCArIDApOwogCQkgICAgYmZkX3B1dF8zMiAob3V0cHV0X2JmZCwKLQkJCQlwbHRfZW50cnlbMV0gfCAoZ290X29mZnNldCAmIDB4ZmZmZiksCisJCQkJcGx0X2VudHJ5WzFdIHwgUFBDX0xPIChnb3Rfb2Zmc2V0KSwKIAkJCQlodGFiLT5wbHQtPmNvbnRlbnRzICsgZW50LT5wbHQub2Zmc2V0ICsgNCk7CiAJCSAgfQogCQllbHNlCiAJCSAgewotCQkgICAgYmZkX3ZtYSBnb3RfbG9jCi0JCSAgICAgID0gKGdvdF9vZmZzZXQKLQkJCSArIGh0YWItPmVsZi5oZ290LT5yb290LnUuZGVmLnZhbHVlCi0JCQkgKyBodGFiLT5lbGYuaGdvdC0+cm9vdC51LmRlZi5zZWN0aW9uLT5vdXRwdXRfb2Zmc2V0Ci0JCQkgKyBodGFiLT5lbGYuaGdvdC0+cm9vdC51LmRlZi5zZWN0aW9uLT5vdXRwdXRfc2VjdGlvbi0+dm1hKTsKLQkJICAgIGJmZF92bWEgZ290X2xvY19oaSA9IChnb3RfbG9jID4+IDE2KQotCQkJCQkgKyAoKGdvdF9sb2MgJiAweDgwMDApID4+IDE1KTsKKwkJICAgIGJmZF92bWEgZ290X2xvYyA9IGdvdF9vZmZzZXQgKyBTWU1fVkFMIChodGFiLT5lbGYuaGdvdCk7CiAKIAkJICAgIGJmZF9wdXRfMzIgKG91dHB1dF9iZmQsCi0JCQkJcGx0X2VudHJ5WzBdIHwgKGdvdF9sb2NfaGkgJiAweGZmZmYpLAorCQkJCXBsdF9lbnRyeVswXSB8IFBQQ19IQSAoZ290X2xvYyksCiAJCQkJaHRhYi0+cGx0LT5jb250ZW50cyArIGVudC0+cGx0Lm9mZnNldCArIDApOwogCQkgICAgYmZkX3B1dF8zMiAob3V0cHV0X2JmZCwKLQkJCQlwbHRfZW50cnlbMV0gfCAoZ290X2xvYyAmIDB4ZmZmZiksCisJCQkJcGx0X2VudHJ5WzFdIHwgUFBDX0xPIChnb3RfbG9jKSwKIAkJCQlodGFiLT5wbHQtPmNvbnRlbnRzICsgZW50LT5wbHQub2Zmc2V0ICsgNCk7CiAJCSAgfQogCkBAIC03NTMxLDkgKzc1NjEsNyBAQAogCQkJICsgZW50LT5zZWMtPm91dHB1dF9zZWN0aW9uLT52bWEKIAkJCSArIGVudC0+c2VjLT5vdXRwdXRfb2Zmc2V0KTsKIAkJZWxzZSBpZiAoaHRhYi0+ZWxmLmhnb3QgIT0gTlVMTCkKLQkJICBnb3QgPSAoaHRhYi0+ZWxmLmhnb3QtPnJvb3QudS5kZWYudmFsdWUKLQkJCSArIGh0YWItPmVsZi5oZ290LT5yb290LnUuZGVmLnNlY3Rpb24tPm91dHB1dF9zZWN0aW9uLT52bWEKLQkJCSArIGh0YWItPmVsZi5oZ290LT5yb290LnUuZGVmLnNlY3Rpb24tPm91dHB1dF9vZmZzZXQpOworCQkgIGdvdCA9IFNZTV9WQUwgKGh0YWItPmVsZi5oZ290KTsKIAogCQlwbHQgLT0gZ290OwogCkBAIC03NTk5LDkgKzc2MjcsNyBAQAogCXMgPSBodGFiLT5yZWxic3M7CiAgICAgICBCRkRfQVNTRVJUIChzICE9IE5VTEwpOwogCi0gICAgICByZWxhLnJfb2Zmc2V0ID0gKGgtPnJvb3QudS5kZWYudmFsdWUKLQkJICAgICAgICsgaC0+cm9vdC51LmRlZi5zZWN0aW9uLT5vdXRwdXRfc2VjdGlvbi0+dm1hCi0JCSAgICAgICArIGgtPnJvb3QudS5kZWYuc2VjdGlvbi0+b3V0cHV0X29mZnNldCk7CisgICAgICByZWxhLnJfb2Zmc2V0ID0gU1lNX1ZBTCAoaCk7CiAgICAgICByZWxhLnJfaW5mbyA9IEVMRjMyX1JfSU5GTyAoaC0+ZHluaW5keCwgUl9QUENfQ09QWSk7CiAgICAgICByZWxhLnJfYWRkZW5kID0gMDsKICAgICAgIGxvYyA9IHMtPmNvbnRlbnRzICsgcy0+cmVsb2NfY291bnQrKyAqIHNpemVvZiAoRWxmMzJfRXh0ZXJuYWxfUmVsYSk7CkBAIC03NjUxLDcgKzc2NzcsOCBAQAogICBhc2VjdGlvbiAqc3BsdDsKICAgc3RydWN0IHBwY19lbGZfbGlua19oYXNoX3RhYmxlICpodGFiOwogICBiZmRfdm1hIGdvdDsKLSAgYmZkICogZHlub2JqOworICBiZmQgKmR5bm9iajsKKyAgYmZkX2Jvb2xlYW4gcmV0ID0gVFJVRTsKIAogI2lmZGVmIERFQlVHCiAgIGZwcmludGYgKHN0ZGVyciwgInBwY19lbGZfZmluaXNoX2R5bmFtaWNfc2VjdGlvbnMgY2FsbGVkXG4iKTsKQEAgLTc2NjcsOSArNzY5NCw3IEBACiAKICAgZ290ID0gMDsKICAgaWYgKGh0YWItPmVsZi5oZ290ICE9IE5VTEwpCi0gICAgZ290ID0gKGh0YWItPmVsZi5oZ290LT5yb290LnUuZGVmLnZhbHVlCi0JICAgKyBodGFiLT5lbGYuaGdvdC0+cm9vdC51LmRlZi5zZWN0aW9uLT5vdXRwdXRfc2VjdGlvbi0+dm1hCi0JICAgKyBodGFiLT5lbGYuaGdvdC0+cm9vdC51LmRlZi5zZWN0aW9uLT5vdXRwdXRfb2Zmc2V0KTsKKyAgICBnb3QgPSBTWU1fVkFMIChodGFiLT5lbGYuaGdvdCk7CiAKICAgaWYgKGh0YWItPmVsZi5keW5hbWljX3NlY3Rpb25zX2NyZWF0ZWQpCiAgICAgewpAQCAtNzcyOSwyMSArNzc1NCw0MSBAQAogCX0KICAgICB9CiAKLSAgLyogQWRkIGEgYmxybCBpbnN0cnVjdGlvbiBhdCBfR0xPQkFMX09GRlNFVF9UQUJMRV8tNCBzbyB0aGF0IGEgZnVuY3Rpb24gY2FuCi0gICAgIGVhc2lseSBmaW5kIHRoZSBhZGRyZXNzIG9mIHRoZSBfR0xPQkFMX09GRlNFVF9UQUJMRV8uICAqLwogICBpZiAoaHRhYi0+Z290ICE9IE5VTEwpCiAgICAgewotICAgICAgdW5zaWduZWQgY2hhciAqcCA9IGh0YWItPmdvdC0+Y29udGVudHM7Ci0gICAgICBiZmRfdm1hIHZhbDsKKyAgICAgIGlmIChodGFiLT5lbGYuaGdvdC0+cm9vdC51LmRlZi5zZWN0aW9uID09IGh0YWItPmdvdAorCSAgfHwgaHRhYi0+ZWxmLmhnb3QtPnJvb3QudS5kZWYuc2VjdGlvbiA9PSBodGFiLT5zZ290cGx0KQorCXsKKwkgIHVuc2lnbmVkIGNoYXIgKnAgPSBodGFiLT5lbGYuaGdvdC0+cm9vdC51LmRlZi5zZWN0aW9uLT5jb250ZW50czsKIAotICAgICAgcCArPSBodGFiLT5lbGYuaGdvdC0+cm9vdC51LmRlZi52YWx1ZTsKLSAgICAgIGlmIChodGFiLT5wbHRfdHlwZSA9PSBQTFRfT0xEKQotCWJmZF9wdXRfMzIgKG91dHB1dF9iZmQsIDB4NGU4MDAwMjEgLyogYmxybCAqLywgcCAtIDQpOworCSAgcCArPSBodGFiLT5lbGYuaGdvdC0+cm9vdC51LmRlZi52YWx1ZTsKKwkgIGlmIChodGFiLT5wbHRfdHlwZSA9PSBQTFRfT0xEKQorCSAgICB7CisJICAgICAgLyogQWRkIGEgYmxybCBpbnN0cnVjdGlvbiBhdCBfR0xPQkFMX09GRlNFVF9UQUJMRV8tNAorCQkgc28gdGhhdCBhIGZ1bmN0aW9uIGNhbiBlYXNpbHkgZmluZCB0aGUgYWRkcmVzcyBvZgorCQkgX0dMT0JBTF9PRkZTRVRfVEFCTEVfLiAgKi8KKwkgICAgICBCRkRfQVNTRVJUIChodGFiLT5lbGYuaGdvdC0+cm9vdC51LmRlZi52YWx1ZSAtIDQKKwkJCSAgPCBodGFiLT5lbGYuaGdvdC0+cm9vdC51LmRlZi5zZWN0aW9uLT5zaXplKTsKKwkgICAgICBiZmRfcHV0XzMyIChvdXRwdXRfYmZkLCAweDRlODAwMDIxLCBwIC0gNCk7CisJICAgIH0KIAotICAgICAgdmFsID0gMDsKLSAgICAgIGlmIChzZHluICE9IE5VTEwpCi0JdmFsID0gc2R5bi0+b3V0cHV0X3NlY3Rpb24tPnZtYSArIHNkeW4tPm91dHB1dF9vZmZzZXQ7Ci0gICAgICBiZmRfcHV0XzMyIChvdXRwdXRfYmZkLCB2YWwsIHApOworCSAgaWYgKHNkeW4gIT0gTlVMTCkKKwkgICAgeworCSAgICAgIGJmZF92bWEgdmFsID0gc2R5bi0+b3V0cHV0X3NlY3Rpb24tPnZtYSArIHNkeW4tPm91dHB1dF9vZmZzZXQ7CisJICAgICAgQkZEX0FTU0VSVCAoaHRhYi0+ZWxmLmhnb3QtPnJvb3QudS5kZWYudmFsdWUKKwkJCSAgPCBodGFiLT5lbGYuaGdvdC0+cm9vdC51LmRlZi5zZWN0aW9uLT5zaXplKTsKKwkgICAgICBiZmRfcHV0XzMyIChvdXRwdXRfYmZkLCB2YWwsIHApOworCSAgICB9CisJfQorICAgICAgZWxzZQorCXsKKwkgICgqX2JmZF9lcnJvcl9oYW5kbGVyKSAoXygiJXMgbm90IGRlZmluZWQgaW4gbGlua2VyIGNyZWF0ZWQgJXMiKSwKKwkJCQkgaHRhYi0+ZWxmLmhnb3QtPnJvb3Qucm9vdC5zdHJpbmcsCisJCQkJIChodGFiLT5zZ290cGx0ICE9IE5VTEwKKwkJCQkgID8gaHRhYi0+c2dvdHBsdC0+bmFtZSA6IGh0YWItPmdvdC0+bmFtZSkpOworCSAgYmZkX3NldF9lcnJvciAoYmZkX2Vycm9yX2JhZF92YWx1ZSk7CisJICByZXQgPSBGQUxTRTsKKwl9CiAKICAgICAgIGVsZl9zZWN0aW9uX2RhdGEgKGh0YWItPmdvdC0+b3V0cHV0X3NlY3Rpb24pLT50aGlzX2hkci5zaF9lbnRzaXplID0gNDsKICAgICB9CkBAIC03NzU4LDE1ICs3ODAzLDExIEBACiAKICAgICAgIGlmICghaW5mby0+c2hhcmVkKQogCXsKLQkgIGJmZF92bWEgZ290X3ZhbHVlID0KLQkgICAgKGh0YWItPmVsZi5oZ290LT5yb290LnUuZGVmLnNlY3Rpb24tPm91dHB1dF9zZWN0aW9uLT52bWEKLQkgICAgICsgaHRhYi0+ZWxmLmhnb3QtPnJvb3QudS5kZWYuc2VjdGlvbi0+b3V0cHV0X29mZnNldAotCSAgICAgKyBodGFiLT5lbGYuaGdvdC0+cm9vdC51LmRlZi52YWx1ZSk7Ci0JICBiZmRfdm1hIGdvdF9oaSA9IChnb3RfdmFsdWUgPj4gMTYpICsgKChnb3RfdmFsdWUgJiAweDgwMDApID4+IDE1KTsKKwkgIGJmZF92bWEgZ290X3ZhbHVlID0gU1lNX1ZBTCAoaHRhYi0+ZWxmLmhnb3QpOwogCi0JICBiZmRfcHV0XzMyIChvdXRwdXRfYmZkLCBwbHRfZW50cnlbMF0gfCAoZ290X2hpICYgMHhmZmZmKSwKKwkgIGJmZF9wdXRfMzIgKG91dHB1dF9iZmQsIHBsdF9lbnRyeVswXSB8IFBQQ19IQSAoZ290X3ZhbHVlKSwKIAkJICAgICAgc3BsdC0+Y29udGVudHMgKyAgMCk7Ci0JICBiZmRfcHV0XzMyIChvdXRwdXRfYmZkLCBwbHRfZW50cnlbMV0gfCAoZ290X3ZhbHVlICYgMHhmZmZmKSwKKwkgIGJmZF9wdXRfMzIgKG91dHB1dF9iZmQsIHBsdF9lbnRyeVsxXSB8IFBQQ19MTyAoZ290X3ZhbHVlKSwKIAkJICAgICAgc3BsdC0+Y29udGVudHMgKyAgNCk7CiAJfQogICAgICAgZWxzZQpAQCAtODAzMSw3ICs4MDcyLDcgQEAKIAl9CiAgICAgfQogCi0gIHJldHVybiBUUlVFOworICByZXR1cm4gcmV0OwogfQogDAogI2RlZmluZSBUQVJHRVRfTElUVExFX1NZTQliZmRfZWxmMzJfcG93ZXJwY2xlX3ZlYwpkaWZmIC0tZ2l0IGEvYmZkL2VsZjMyLXNoLXN5bWJpYW4uYyBiL2JmZC9lbGYzMi1zaC1zeW1iaWFuLmMKaW5kZXggY2VjMGQwMy4uMjVlM2FmOSAxMDA2NDQKLS0tIGEvYmZkL2VsZjMyLXNoLXN5bWJpYW4uYworKysgYi9iZmQvZWxmMzItc2gtc3ltYmlhbi5jCkBAIC0zOTIsMTAgKzM5Miw5IEBACiAKIC8qIFNjYW4gYSBiZmQgZm9yIGEgLmRpcmVjdGl2ZSBzZWN0aW9uLCBhbmQgaWYgZm91bmQgcHJvY2VzcyBpdC4KICAgIFJldHVybnMgVFJVRSB1cG9uIHN1Y2Nlc3MsIEZBTFNFIG90aGVyd2lzZS4gICovCi1iZmRfYm9vbGVhbiBiZmRfZWxmMzJfc2hfc3ltYmlhbl9wcm9jZXNzX2RpcmVjdGl2ZXMgKHN0cnVjdCBiZmRfbGlua19pbmZvICppbmZvLCBiZmQgKiBhYmZkKTsKIAotYmZkX2Jvb2xlYW4KLWJmZF9lbGYzMl9zaF9zeW1iaWFuX3Byb2Nlc3NfZGlyZWN0aXZlcyAoc3RydWN0IGJmZF9saW5rX2luZm8gKmluZm8sIGJmZCAqIGFiZmQpCitzdGF0aWMgYmZkX2Jvb2xlYW4KK3NoX3N5bWJpYW5fcHJvY2Vzc19kaXJlY3RpdmVzIChiZmQgKmFiZmQsIHN0cnVjdCBiZmRfbGlua19pbmZvICppbmZvKQogewogICBiZmRfYm9vbGVhbiByZXN1bHQgPSBGQUxTRTsKICAgYmZkX2J5dGUgKiAgY29udGVudHM7CkBAIC02MTcsMTggKzYxNiwxMiBAQAogCQkJCSAgY29udGVudHMsIHJlbG9jcywgbG9jYWxfc3ltcywgbG9jYWxfc2VjdGlvbnMpOwogfQogCi1zdGF0aWMgYmZkX2Jvb2xlYW4KLXNoX3N5bWJpYW5fY2hlY2tfZGlyZWN0aXZlcyAoYmZkICphYmZkLCBzdHJ1Y3QgYmZkX2xpbmtfaW5mbyAqaW5mbykKLXsKLSAgcmV0dXJuIGJmZF9lbGYzMl9zaF9zeW1iaWFuX3Byb2Nlc3NfZGlyZWN0aXZlcyAoaW5mbywgYWJmZCk7Ci19Ci0KICNkZWZpbmUgVEFSR0VUX0xJVFRMRV9TWU0JYmZkX2VsZjMyX3NobF9zeW1iaWFuX3ZlYwogI2RlZmluZSBUQVJHRVRfTElUVExFX05BTUUgICAgICAiZWxmMzItc2hsLXN5bWJpYW4iCiAKICN1bmRlZiAgZWxmX2JhY2tlbmRfcmVsb2NhdGVfc2VjdGlvbgogI2RlZmluZSBlbGZfYmFja2VuZF9yZWxvY2F0ZV9zZWN0aW9uCXNoX3N5bWJpYW5fcmVsb2NhdGVfc2VjdGlvbgogI3VuZGVmICBlbGZfYmFja2VuZF9jaGVja19kaXJlY3RpdmVzCi0jZGVmaW5lIGVsZl9iYWNrZW5kX2NoZWNrX2RpcmVjdGl2ZXMgICAgc2hfc3ltYmlhbl9jaGVja19kaXJlY3RpdmVzCisjZGVmaW5lIGVsZl9iYWNrZW5kX2NoZWNrX2RpcmVjdGl2ZXMgICAgc2hfc3ltYmlhbl9wcm9jZXNzX2RpcmVjdGl2ZXMKIAogI2luY2x1ZGUgImVsZjMyLXRhcmdldC5oIgpkaWZmIC0tZ2l0IGEvYmZkL2VsZjMyLXNwdS5jIGIvYmZkL2VsZjMyLXNwdS5jCmluZGV4IDE3ZmYwNzkuLjcwOGFiMjQgMTAwNjQ0Ci0tLSBhL2JmZC9lbGYzMi1zcHUuYworKysgYi9iZmQvZWxmMzItc3B1LmMKQEAgLTM4OTUsMTYgKzM4OTUsMjcgQEAKICAgIHRoYXQgbmVlZCB0byBiZSBlbWl0dGVkLiAgKi8KIAogc3RhdGljIHVuc2lnbmVkIGludAotc3B1X2VsZl9jb3VudF9yZWxvY3MgKGFzZWN0aW9uICpzZWMsIEVsZl9JbnRlcm5hbF9SZWxhICpyZWxvY3MpCitzcHVfZWxmX2NvdW50X3JlbG9jcyAoc3RydWN0IGJmZF9saW5rX2luZm8gKmluZm8sIGFzZWN0aW9uICpzZWMpCiB7CisgIEVsZl9JbnRlcm5hbF9SZWxhICpyZWxvY3M7CiAgIHVuc2lnbmVkIGludCBjb3VudCA9IDA7Ci0gIEVsZl9JbnRlcm5hbF9SZWxhICpyZWxlbmQgPSByZWxvY3MgKyBzZWMtPnJlbG9jX2NvdW50OwogCi0gIGZvciAoOyByZWxvY3MgPCByZWxlbmQ7IHJlbG9jcysrKQorICByZWxvY3MgPSBfYmZkX2VsZl9saW5rX3JlYWRfcmVsb2NzIChzZWMtPm93bmVyLCBzZWMsIE5VTEwsIE5VTEwsCisJCQkJICAgICAgaW5mby0+a2VlcF9tZW1vcnkpOworICBpZiAocmVsb2NzICE9IE5VTEwpCiAgICAgewotICAgICAgaW50IHJfdHlwZSA9IEVMRjMyX1JfVFlQRSAocmVsb2NzLT5yX2luZm8pOwotICAgICAgaWYgKHJfdHlwZSA9PSBSX1NQVV9QUFUzMiB8fCByX3R5cGUgPT0gUl9TUFVfUFBVNjQpCi0JKytjb3VudDsKKyAgICAgIEVsZl9JbnRlcm5hbF9SZWxhICpyZWw7CisgICAgICBFbGZfSW50ZXJuYWxfUmVsYSAqcmVsZW5kID0gcmVsb2NzICsgc2VjLT5yZWxvY19jb3VudDsKKworICAgICAgZm9yIChyZWwgPSByZWxvY3M7IHJlbCA8IHJlbGVuZDsgcmVsKyspCisJeworCSAgaW50IHJfdHlwZSA9IEVMRjMyX1JfVFlQRSAocmVsLT5yX2luZm8pOworCSAgaWYgKHJfdHlwZSA9PSBSX1NQVV9QUFUzMiB8fCByX3R5cGUgPT0gUl9TUFVfUFBVNjQpCisJICAgICsrY291bnQ7CisJfQorCisgICAgICBpZiAoZWxmX3NlY3Rpb25fZGF0YSAoc2VjKS0+cmVsb2NzICE9IHJlbG9jcykKKwlmcmVlIChyZWxvY3MpOwogICAgIH0KIAogICByZXR1cm4gY291bnQ7CkBAIC00MjQ1LDEwICs0MjU2LDE1IEBACiBzdGF0aWMgaW50CiBzcHVfZWxmX2FkZGl0aW9uYWxfcHJvZ3JhbV9oZWFkZXJzIChiZmQgKmFiZmQsIHN0cnVjdCBiZmRfbGlua19pbmZvICppbmZvKQogewotICBzdHJ1Y3Qgc3B1X2xpbmtfaGFzaF90YWJsZSAqaHRhYiA9IHNwdV9oYXNoX3RhYmxlIChpbmZvKTsKLSAgaW50IGV4dHJhID0gaHRhYi0+bnVtX292ZXJsYXlzOworICBpbnQgZXh0cmEgPSAwOwogICBhc2VjdGlvbiAqc2VjOwogCisgIGlmIChpbmZvICE9IE5VTEwpCisgICAgeworICAgICAgc3RydWN0IHNwdV9saW5rX2hhc2hfdGFibGUgKmh0YWIgPSBzcHVfaGFzaF90YWJsZSAoaW5mbyk7CisgICAgICBleHRyYSA9IGh0YWItPm51bV9vdmVybGF5czsKKyAgICB9CisKICAgaWYgKGV4dHJhKQogICAgICsrZXh0cmE7CiAKZGlmZiAtLWdpdCBhL2JmZC9lbGYzMi14dGVuc2EuYyBiL2JmZC9lbGYzMi14dGVuc2EuYwppbmRleCAzNDYzZWZhLi5kYWRmNDJiIDEwMDY0NAotLS0gYS9iZmQvZWxmMzIteHRlbnNhLmMKKysrIGIvYmZkL2VsZjMyLXh0ZW5zYS5jCkBAIC0xMDg3LDggKzEwODcsMTMgQEAKIAl7CiAJICBpZiAoaXNfcGx0KQogCSAgICB7Ci0JICAgICAgaC0+cGx0LnJlZmNvdW50ICs9IDE7Ci0JICAgICAgaC0+bmVlZHNfcGx0ID0gMTsKKwkgICAgICBpZiAoaC0+cGx0LnJlZmNvdW50IDw9IDApCisJCXsKKwkJICBoLT5uZWVkc19wbHQgPSAxOworCQkgIGgtPnBsdC5yZWZjb3VudCA9IDE7CisJCX0KKwkgICAgICBlbHNlCisJCWgtPnBsdC5yZWZjb3VudCArPSAxOwogCiAJICAgICAgLyogS2VlcCB0cmFjayBvZiB0aGUgdG90YWwgUExUIHJlbG9jYXRpb24gY291bnQgZXZlbiBpZiB3ZQogCQkgZG9uJ3QgeWV0IGtub3cgd2hldGhlciB0aGUgZHluYW1pYyBzZWN0aW9ucyB3aWxsIGJlCkBAIC0xMTAyLDcgKzExMDcsMTIgQEAKIAkJfQogCSAgICB9CiAJICBlbHNlIGlmIChpc19nb3QpCi0JICAgIGgtPmdvdC5yZWZjb3VudCArPSAxOworCSAgICB7CisJICAgICAgaWYgKGgtPmdvdC5yZWZjb3VudCA8PSAwKQorCQloLT5nb3QucmVmY291bnQgPSAxOworCSAgICAgIGVsc2UKKwkJaC0+Z290LnJlZmNvdW50ICs9IDE7CisJICAgIH0KIAogCSAgaWYgKGlzX3Rsc2Z1bmMpCiAJICAgIGVoLT50bHNmdW5jX3JlZmNvdW50ICs9IDE7CmRpZmYgLS1naXQgYS9iZmQvZWxmNjQtcHBjLmMgYi9iZmQvZWxmNjQtcHBjLmMKaW5kZXggODZmZTNjMy4uOTEzODM3MSAxMDA2NDQKLS0tIGEvYmZkL2VsZjY0LXBwYy5jCisrKyBiL2JmZC9lbGY2NC1wcGMuYwpAQCAtOTIsNyArOTIsNyBAQAogI2RlZmluZSBlbGZfYmFja2VuZF9jcmVhdGVfZHluYW1pY19zZWN0aW9ucyAgIHBwYzY0X2VsZl9jcmVhdGVfZHluYW1pY19zZWN0aW9ucwogI2RlZmluZSBlbGZfYmFja2VuZF9jb3B5X2luZGlyZWN0X3N5bWJvbCAgICAgIHBwYzY0X2VsZl9jb3B5X2luZGlyZWN0X3N5bWJvbAogI2RlZmluZSBlbGZfYmFja2VuZF9hZGRfc3ltYm9sX2hvb2sJICAgICAgcHBjNjRfZWxmX2FkZF9zeW1ib2xfaG9vawotI2RlZmluZSBlbGZfYmFja2VuZF9jaGVja19kaXJlY3RpdmVzCSAgICAgIHBwYzY0X2VsZl9jaGVja19kaXJlY3RpdmVzCisjZGVmaW5lIGVsZl9iYWNrZW5kX2NoZWNrX2RpcmVjdGl2ZXMJICAgICAgcHBjNjRfZWxmX3Byb2Nlc3NfZG90X3N5bXMKICNkZWZpbmUgZWxmX2JhY2tlbmRfYXNfbmVlZGVkX2NsZWFudXAJICAgICAgcHBjNjRfZWxmX2FzX25lZWRlZF9jbGVhbnVwCiAjZGVmaW5lIGVsZl9iYWNrZW5kX2FyY2hpdmVfc3ltYm9sX2xvb2t1cCAgICAgcHBjNjRfZWxmX2FyY2hpdmVfc3ltYm9sX2xvb2t1cAogI2RlZmluZSBlbGZfYmFja2VuZF9jaGVja19yZWxvY3MJICAgICAgcHBjNjRfZWxmX2NoZWNrX3JlbG9jcwpAQCAtMzAwNSw4ICszMDA1LDggQEAKIAl9CiAKICAgICAgIC8qIEdldCBzdGFydCBvZiAuZ2xpbmsgc3R1YnMgZnJvbSBEVF9QUEM2NF9HTElOSy4gICovCi0gICAgICBkeW5hbWljID0gYmZkX2dldF9zZWN0aW9uX2J5X25hbWUgKGFiZmQsICIuZHluYW1pYyIpOwotICAgICAgaWYgKGR5bmFtaWMgIT0gTlVMTCkKKyAgICAgIGlmIChkeW5fY291bnQgIT0gMAorCSAgJiYgKGR5bmFtaWMgPSBiZmRfZ2V0X3NlY3Rpb25fYnlfbmFtZSAoYWJmZCwgIi5keW5hbWljIikpICE9IE5VTEwpCiAJewogCSAgYmZkX2J5dGUgKmR5bmJ1ZiwgKmV4dGR5biwgKmV4dGR5bmVuZDsKIAkgIHNpemVfdCBleHRkeW5zaXplOwpAQCAtMzA2MSwyMSArMzA2MSwyMSBAQAogCiAJICBpZiAocmVzb2x2X3ZtYSkKIAkgICAgc2l6ZSArPSBzaXplb2YgKGFzeW1ib2wpICsgc2l6ZW9mICgiX19nbGlua19QTFRyZXNvbHZlIik7Ci0JfQogCi0gICAgICByZWxwbHQgPSBiZmRfZ2V0X3NlY3Rpb25fYnlfbmFtZSAoYWJmZCwgIi5yZWxhLnBsdCIpOwotICAgICAgaWYgKGdsaW5rICE9IE5VTEwgJiYgcmVscGx0ICE9IE5VTEwpCi0JewotCSAgc2x1cnBfcmVsb2NzID0gZ2V0X2VsZl9iYWNrZW5kX2RhdGEgKGFiZmQpLT5zLT5zbHVycF9yZWxvY190YWJsZTsKLQkgIGlmICghICgqc2x1cnBfcmVsb2NzKSAoYWJmZCwgcmVscGx0LCBkeW5fc3ltcywgVFJVRSkpCi0JICAgIGdvdG8gZnJlZV9jb250ZW50c19hbmRfZXhpdDsKKwkgIHJlbHBsdCA9IGJmZF9nZXRfc2VjdGlvbl9ieV9uYW1lIChhYmZkLCAiLnJlbGEucGx0Iik7CisJICBpZiAocmVscGx0ICE9IE5VTEwpCisJICAgIHsKKwkgICAgICBzbHVycF9yZWxvY3MgPSBnZXRfZWxmX2JhY2tlbmRfZGF0YSAoYWJmZCktPnMtPnNsdXJwX3JlbG9jX3RhYmxlOworCSAgICAgIGlmICghICgqc2x1cnBfcmVsb2NzKSAoYWJmZCwgcmVscGx0LCBkeW5fc3ltcywgVFJVRSkpCisJCWdvdG8gZnJlZV9jb250ZW50c19hbmRfZXhpdDsKIAkKLQkgIHBsdF9jb3VudCA9IHJlbHBsdC0+c2l6ZSAvIHNpemVvZiAoRWxmNjRfRXh0ZXJuYWxfUmVsYSk7Ci0JICBzaXplICs9IHBsdF9jb3VudCAqIHNpemVvZiAoYXN5bWJvbCk7CisJICAgICAgcGx0X2NvdW50ID0gcmVscGx0LT5zaXplIC8gc2l6ZW9mIChFbGY2NF9FeHRlcm5hbF9SZWxhKTsKKwkgICAgICBzaXplICs9IHBsdF9jb3VudCAqIHNpemVvZiAoYXN5bWJvbCk7CiAKLQkgIHAgPSByZWxwbHQtPnJlbG9jYXRpb247Ci0JICBmb3IgKGkgPSAwOyBpIDwgcGx0X2NvdW50OyBpKyssIHArKykKLQkgICAgc2l6ZSArPSBzdHJsZW4gKCgqcC0+c3ltX3B0cl9wdHIpLT5uYW1lKSArIHNpemVvZiAoIkBwbHQiKTsKKwkgICAgICBwID0gcmVscGx0LT5yZWxvY2F0aW9uOworCSAgICAgIGZvciAoaSA9IDA7IGkgPCBwbHRfY291bnQ7IGkrKywgcCsrKQorCQlzaXplICs9IHN0cmxlbiAoKCpwLT5zeW1fcHRyX3B0ciktPm5hbWUpICsgc2l6ZW9mICgiQHBsdCIpOworCSAgICB9CiAJfQogCiAgICAgICBzID0gKnJldCA9IGJmZF9tYWxsb2MgKHNpemUpOwpAQCAtMzYyMCw3ICszNjIwLDcgQEAKICAgLyogU2V0IG9uIGVycm9yLiAgKi8KICAgdW5zaWduZWQgaW50IHN0dWJfZXJyb3I6MTsKIAotICAvKiBUZW1wIHVzZWQgYnkgcHBjNjRfZWxmX2NoZWNrX2RpcmVjdGl2ZXMuICAqLworICAvKiBUZW1wIHVzZWQgYnkgcHBjNjRfZWxmX3Byb2Nlc3NfZG90X3N5bXMuICAqLwogICB1bnNpZ25lZCBpbnQgdHdpZGRsZWRfc3ltczoxOwogCiAgIC8qIEluY3JlbWVudGVkIGV2ZXJ5IHRpbWUgd2Ugc2l6ZSBzdHVicy4gICovCkBAIC00NDM4LDcgKzQ0MzgsNyBAQAogLyogUHJvY2VzcyBsaXN0IG9mIGRvdC1zeW1ib2xzIHdlIG1hZGUgaW4gbGlua19oYXNoX25ld2Z1bmMuICAqLwogCiBzdGF0aWMgYmZkX2Jvb2xlYW4KLXBwYzY0X2VsZl9jaGVja19kaXJlY3RpdmVzIChiZmQgKmliZmQsIHN0cnVjdCBiZmRfbGlua19pbmZvICppbmZvKQorcHBjNjRfZWxmX3Byb2Nlc3NfZG90X3N5bXMgKGJmZCAqaWJmZCwgc3RydWN0IGJmZF9saW5rX2luZm8gKmluZm8pCiB7CiAgIHN0cnVjdCBwcGNfbGlua19oYXNoX3RhYmxlICpodGFiOwogICBzdHJ1Y3QgcHBjX2xpbmtfaGFzaF9lbnRyeSAqKnAsICplaDsKZGlmZiAtLWdpdCBhL2JmZC9lbGZsaW5rLmMgYi9iZmQvZWxmbGluay5jCmluZGV4IDAxMGM2MTQuLmYyMDE1ZWUgMTAwNjQ0Ci0tLSBhL2JmZC9lbGZsaW5rLmMKKysrIGIvYmZkL2VsZmxpbmsuYwpAQCAtODU0LDcgKzg1NCw3IEBACiAgIGludCBiaW5kOwogICBiZmQgKm9sZGJmZDsKICAgYmZkX2Jvb2xlYW4gbmV3ZHluLCBvbGRkeW4sIG9sZGRlZiwgbmV3ZGVmLCBuZXdkeW5jb21tb24sIG9sZGR5bmNvbW1vbjsKLSAgYmZkX2Jvb2xlYW4gbmV3d2Vhaywgb2xkd2VhazsKKyAgYmZkX2Jvb2xlYW4gbmV3d2Vhaywgb2xkd2VhaywgbmV3ZnVuYywgb2xkZnVuYzsKICAgY29uc3Qgc3RydWN0IGVsZl9iYWNrZW5kX2RhdGEgKmJlZDsKIAogICAqc2tpcCA9IEZBTFNFOwpAQCAtOTcyLDYgKzk3MiwxNSBAQAogCSAgICAmJiBoLT5yb290LnR5cGUgIT0gYmZkX2xpbmtfaGFzaF91bmRlZndlYWsKIAkgICAgJiYgaC0+cm9vdC50eXBlICE9IGJmZF9saW5rX2hhc2hfY29tbW9uKTsKIAorICAvKiBORVdGVU5DIGFuZCBPTERGVU5DIGluZGljYXRlIHdoZXRoZXIgdGhlIG5ldyBvciBvbGQgc3ltYm9sLAorICAgICByZXNwZWN0aXZlbHksIGFwcGVhciB0byBiZSBhIGZ1bmN0aW9uLiAgKi8KKworICBuZXdmdW5jID0gKEVMRl9TVF9UWVBFIChzeW0tPnN0X2luZm8pICE9IFNUVF9OT1RZUEUKKwkgICAgICYmIGJlZC0+aXNfZnVuY3Rpb25fdHlwZSAoRUxGX1NUX1RZUEUgKHN5bS0+c3RfaW5mbykpKTsKKworICBvbGRmdW5jID0gKGgtPnR5cGUgIT0gU1RUX05PVFlQRQorCSAgICAgJiYgYmVkLT5pc19mdW5jdGlvbl90eXBlIChoLT50eXBlKSk7CisKICAgLyogV2hlbiB3ZSB0cnkgdG8gY3JlYXRlIGEgZGVmYXVsdCBpbmRpcmVjdCBzeW1ib2wgZnJvbSB0aGUgZHluYW1pYwogICAgICBkZWZpbml0aW9uIHdpdGggdGhlIGRlZmF1bHQgdmVyc2lvbiwgd2Ugc2tpcCBpdCBpZiBpdHMgdHlwZSBhbmQKICAgICAgdGhlIHR5cGUgb2YgZXhpc3RpbmcgcmVndWxhciBkZWZpbml0aW9uIG1pc21hdGNoLiAgV2Ugb25seSBkbyBpdApAQCAtOTg3LDggKzk5Niw3IEBACiAgICAgICAmJiBFTEZfU1RfVFlQRSAoc3ltLT5zdF9pbmZvKSAhPSBoLT50eXBlCiAgICAgICAmJiBFTEZfU1RfVFlQRSAoc3ltLT5zdF9pbmZvKSAhPSBTVFRfTk9UWVBFCiAgICAgICAmJiBoLT50eXBlICE9IFNUVF9OT1RZUEUKLSAgICAgICYmICEoYmVkLT5pc19mdW5jdGlvbl90eXBlIChFTEZfU1RfVFlQRSAoc3ltLT5zdF9pbmZvKSkKLQkgICAmJiBiZWQtPmlzX2Z1bmN0aW9uX3R5cGUgKGgtPnR5cGUpKSkKKyAgICAgICYmICEobmV3ZnVuYyAmJiBvbGRmdW5jKSkKICAgICB7CiAgICAgICAqc2tpcCA9IFRSVUU7CiAgICAgICByZXR1cm4gVFJVRTsKQEAgLTExODAsOCArMTE4OCw3IEBACiAgICAgb2xkd2VhayA9IEZBTFNFOwogCiAgIC8qIEFsbG93IGNoYW5nZXMgYmV0d2VlbiBkaWZmZXJlbnQgdHlwZXMgb2YgZnVuY2l0b24gc3ltYm9sLiAgKi8KLSAgaWYgKGJlZC0+aXNfZnVuY3Rpb25fdHlwZSAoRUxGX1NUX1RZUEUgKHN5bS0+c3RfaW5mbykpCi0gICAgICAmJiBiZWQtPmlzX2Z1bmN0aW9uX3R5cGUgKGgtPnR5cGUpKQorICBpZiAobmV3ZnVuYyAmJiBvbGRmdW5jKQogICAgICp0eXBlX2NoYW5nZV9vayA9IFRSVUU7CiAKICAgLyogSXQncyBPSyB0byBjaGFuZ2UgdGhlIHR5cGUgaWYgZWl0aGVyIHRoZSBleGlzdGluZyBzeW1ib2wgb3IgdGhlCkBAIC0xMjMwLDcgKzEyMzcsNyBAQAogICAgICAgJiYgKHNlYy0+ZmxhZ3MgJiBTRUNfQUxMT0MpICE9IDAKICAgICAgICYmIChzZWMtPmZsYWdzICYgU0VDX0xPQUQpID09IDAKICAgICAgICYmIHN5bS0+c3Rfc2l6ZSA+IDAKLSAgICAgICYmICFiZWQtPmlzX2Z1bmN0aW9uX3R5cGUgKEVMRl9TVF9UWVBFIChzeW0tPnN0X2luZm8pKSkKKyAgICAgICYmICFuZXdmdW5jKQogICAgIG5ld2R5bmNvbW1vbiA9IFRSVUU7CiAgIGVsc2UKICAgICBuZXdkeW5jb21tb24gPSBGQUxTRTsKQEAgLTEyNDIsNyArMTI0OSw3IEBACiAgICAgICAmJiAoaC0+cm9vdC51LmRlZi5zZWN0aW9uLT5mbGFncyAmIFNFQ19BTExPQykgIT0gMAogICAgICAgJiYgKGgtPnJvb3QudS5kZWYuc2VjdGlvbi0+ZmxhZ3MgJiBTRUNfTE9BRCkgPT0gMAogICAgICAgJiYgaC0+c2l6ZSA+IDAKLSAgICAgICYmICFiZWQtPmlzX2Z1bmN0aW9uX3R5cGUgKGgtPnR5cGUpKQorICAgICAgJiYgIW9sZGZ1bmMpCiAgICAgb2xkZHluY29tbW9uID0gVFJVRTsKICAgZWxzZQogICAgIG9sZGR5bmNvbW1vbiA9IEZBTFNFOwpAQCAtMTMwMiw4ICsxMzA5LDcgQEAKICAgICAgICYmIG5ld2RlZgogICAgICAgJiYgKG9sZGRlZgogCSAgfHwgKGgtPnJvb3QudHlwZSA9PSBiZmRfbGlua19oYXNoX2NvbW1vbgotCSAgICAgICYmIChuZXd3ZWFrCi0JCSAgfHwgYmVkLT5pc19mdW5jdGlvbl90eXBlIChFTEZfU1RfVFlQRSAoc3ltLT5zdF9pbmZvKSkpKSkpCisJICAgICAgJiYgKG5ld3dlYWsgfHwgbmV3ZnVuYykpKSkKICAgICB7CiAgICAgICAqb3ZlcnJpZGUgPSBUUlVFOwogICAgICAgbmV3ZGVmID0gRkFMU0U7CkBAIC0xMzU3LDggKzEzNjMsNyBAQAogICBpZiAoIW5ld2R5bgogICAgICAgJiYgKG5ld2RlZgogCSAgfHwgKGJmZF9pc19jb21fc2VjdGlvbiAoc2VjKQotCSAgICAgICYmIChvbGR3ZWFrCi0JCSAgfHwgYmVkLT5pc19mdW5jdGlvbl90eXBlIChoLT50eXBlKSkpKQorCSAgICAgICYmIChvbGR3ZWFrIHx8IG9sZGZ1bmMpKSkKICAgICAgICYmIG9sZGR5bgogICAgICAgJiYgb2xkZGVmCiAgICAgICAmJiBoLT5kZWZfZHluYW1pYykKQEAgLTEzNzgsNyArMTM4MywxNyBAQAogCSBvdmVycmlkaW5nIGEgZnVuY3Rpb24uICAqLwogCiAgICAgICBpZiAoYmZkX2lzX2NvbV9zZWN0aW9uIChzZWMpKQotCSp0eXBlX2NoYW5nZV9vayA9IFRSVUU7CisJeworCSAgaWYgKG9sZGZ1bmMpCisJICAgIHsKKwkgICAgICAvKiBJZiBhIGNvbW1vbiBzeW1ib2wgb3ZlcnJpZGVzIGEgZnVuY3Rpb24sIG1ha2Ugc3VyZQorCQkgdGhhdCBpdCBpc24ndCBkZWZpbmVkIGR5bmFtaWNhbGx5IG5vciBoYXMgdHlwZQorCQkgZnVuY3Rpb24uICAqLworCSAgICAgIGgtPmRlZl9keW5hbWljID0gMDsKKwkgICAgICBoLT50eXBlID0gU1RUX05PVFlQRTsKKwkgICAgfQorCSAgKnR5cGVfY2hhbmdlX29rID0gVFJVRTsKKwl9CiAKICAgICAgIGlmICgoKnN5bV9oYXNoKS0+cm9vdC50eXBlID09IGJmZF9saW5rX2hhc2hfaW5kaXJlY3QpCiAJZmxpcCA9ICpzeW1faGFzaDsKQEAgLTQ2NTYsOCArNDY3MSw5IEBACiAgICAgICBmcmVlIChzb3J0ZWRfc3ltX2hhc2gpOwogICAgIH0KIAotICBpZiAoYmVkLT5jaGVja19kaXJlY3RpdmVzKQotICAgICgqYmVkLT5jaGVja19kaXJlY3RpdmVzKSAoYWJmZCwgaW5mbyk7CisgIGlmIChiZWQtPmNoZWNrX2RpcmVjdGl2ZXMKKyAgICAgICYmICEoKmJlZC0+Y2hlY2tfZGlyZWN0aXZlcykgKGFiZmQsIGluZm8pKQorICAgIHJldHVybiBGQUxTRTsKIAogICAvKiBJZiB0aGlzIG9iamVjdCBpcyB0aGUgc2FtZSBmb3JtYXQgYXMgdGhlIG91dHB1dCBvYmplY3QsIGFuZCBpdCBpcwogICAgICBub3QgYSBzaGFyZWQgbGlicmFyeSwgdGhlbiBsZXQgdGhlIGJhY2tlbmQgbG9vayB0aHJvdWdoIHRoZQpAQCAtOTA0Niw2ICs5MDYyLDYzIEBACiAJICBjb250aW51ZTsKIAl9CiAKKyAgICAgIGlmIChmaW5mby0+aW5mby0+cmVsb2NhdGFibGUKKwkgICYmIChvLT5mbGFncyAmIChTRUNfTElOS0VSX0NSRUFURUQgfCBTRUNfR1JPVVApKSA9PSBTRUNfR1JPVVApCisJeworCSAgLyogRGVhbCB3aXRoIHRoZSBncm91cCBzaWduYXR1cmUgc3ltYm9sLiAgKi8KKwkgIHN0cnVjdCBiZmRfZWxmX3NlY3Rpb25fZGF0YSAqc2VjX2RhdGEgPSBlbGZfc2VjdGlvbl9kYXRhIChvKTsKKwkgIHVuc2lnbmVkIGxvbmcgc3ltbmR4ID0gc2VjX2RhdGEtPnRoaXNfaGRyLnNoX2luZm87CisJICBhc2VjdGlvbiAqb3NlYyA9IG8tPm91dHB1dF9zZWN0aW9uOworCisJICBpZiAoc3ltbmR4ID49IGxvY3N5bWNvdW50CisJICAgICAgfHwgKGVsZl9iYWRfc3ltdGFiIChpbnB1dF9iZmQpCisJCSAgJiYgZmluZm8tPnNlY3Rpb25zW3N5bW5keF0gPT0gTlVMTCkpCisJICAgIHsKKwkgICAgICBzdHJ1Y3QgZWxmX2xpbmtfaGFzaF9lbnRyeSAqaCA9IHN5bV9oYXNoZXNbc3ltbmR4IC0gZXh0c3ltb2ZmXTsKKwkgICAgICB3aGlsZSAoaC0+cm9vdC50eXBlID09IGJmZF9saW5rX2hhc2hfaW5kaXJlY3QKKwkJICAgICB8fCBoLT5yb290LnR5cGUgPT0gYmZkX2xpbmtfaGFzaF93YXJuaW5nKQorCQloID0gKHN0cnVjdCBlbGZfbGlua19oYXNoX2VudHJ5ICopIGgtPnJvb3QudS5pLmxpbms7CisJICAgICAgLyogQXJyYW5nZSBmb3Igc3ltYm9sIHRvIGJlIG91dHB1dC4gICovCisJICAgICAgaC0+aW5keCA9IC0yOworCSAgICAgIGVsZl9zZWN0aW9uX2RhdGEgKG9zZWMpLT50aGlzX2hkci5zaF9pbmZvID0gLTI7CisJICAgIH0KKwkgIGVsc2UgaWYgKEVMRl9TVF9UWVBFIChpc3ltYnVmW3N5bW5keF0uc3RfaW5mbykgPT0gU1RUX1NFQ1RJT04pCisJICAgIHsKKwkgICAgICAvKiBXZSdsbCB1c2UgdGhlIG91dHB1dCBzZWN0aW9uIHRhcmdldF9pbmRleC4gICovCisJICAgICAgYXNlY3Rpb24gKnNlYyA9IGZpbmZvLT5zZWN0aW9uc1tzeW1uZHhdLT5vdXRwdXRfc2VjdGlvbjsKKwkgICAgICBlbGZfc2VjdGlvbl9kYXRhIChvc2VjKS0+dGhpc19oZHIuc2hfaW5mbyA9IHNlYy0+dGFyZ2V0X2luZGV4OworCSAgICB9CisJICBlbHNlCisJICAgIHsKKwkgICAgICBpZiAoZmluZm8tPmluZGljZXNbc3ltbmR4XSA9PSAtMSkKKwkJeworCQkgIC8qIE90aGVyd2lzZSBvdXRwdXQgdGhlIGxvY2FsIHN5bWJvbCBub3cuICAqLworCQkgIEVsZl9JbnRlcm5hbF9TeW0gc3ltID0gaXN5bWJ1ZltzeW1uZHhdOworCQkgIGFzZWN0aW9uICpzZWMgPSBmaW5mby0+c2VjdGlvbnNbc3ltbmR4XS0+b3V0cHV0X3NlY3Rpb247CisJCSAgY29uc3QgY2hhciAqbmFtZTsKKworCQkgIG5hbWUgPSBiZmRfZWxmX3N0cmluZ19mcm9tX2VsZl9zZWN0aW9uIChpbnB1dF9iZmQsCisJCQkJCQkJICBzeW10YWJfaGRyLT5zaF9saW5rLAorCQkJCQkJCSAgc3ltLnN0X25hbWUpOworCQkgIGlmIChuYW1lID09IE5VTEwpCisJCSAgICByZXR1cm4gRkFMU0U7CisKKwkJICBzeW0uc3Rfc2huZHggPSBfYmZkX2VsZl9zZWN0aW9uX2Zyb21fYmZkX3NlY3Rpb24gKG91dHB1dF9iZmQsCisJCQkJCQkJCSAgICBzZWMpOworCQkgIGlmIChzeW0uc3Rfc2huZHggPT0gU0hOX0JBRCkKKwkJICAgIHJldHVybiBGQUxTRTsKKworCQkgIHN5bS5zdF92YWx1ZSArPSBvLT5vdXRwdXRfb2Zmc2V0OworCisJCSAgZmluZm8tPmluZGljZXNbc3ltbmR4XSA9IGJmZF9nZXRfc3ltY291bnQgKG91dHB1dF9iZmQpOworCQkgIGlmICghIGVsZl9saW5rX291dHB1dF9zeW0gKGZpbmZvLCBuYW1lLCAmc3ltLCBvLCBOVUxMKSkKKwkJICAgIHJldHVybiBGQUxTRTsKKwkJfQorCSAgICAgIGVsZl9zZWN0aW9uX2RhdGEgKG9zZWMpLT50aGlzX2hkci5zaF9pbmZvCisJCT0gZmluZm8tPmluZGljZXNbc3ltbmR4XTsKKwkgICAgfQorCX0KKwogICAgICAgaWYgKChvLT5mbGFncyAmIFNFQ19IQVNfQ09OVEVOVFMpID09IDAKIAkgIHx8IChvLT5zaXplID09IDAgJiYgKG8tPmZsYWdzICYgU0VDX1JFTE9DKSA9PSAwKSkKIAljb250aW51ZTsKQEAgLTEwMDIyLDIyICsxMDA5NSw3IEBACiAJICAgICAgaWYgKGluZm8tPnJlbG9jYXRhYmxlIHx8IGluZm8tPmVtaXRyZWxvY2F0aW9ucykKIAkJcmVsb2NfY291bnQgPSBzZWMtPnJlbG9jX2NvdW50OwogCSAgICAgIGVsc2UgaWYgKGJlZC0+ZWxmX2JhY2tlbmRfY291bnRfcmVsb2NzKQotCQl7Ci0JCSAgRWxmX0ludGVybmFsX1JlbGEgKiByZWxvY3M7Ci0KLQkJICByZWxvY3MgPSBfYmZkX2VsZl9saW5rX3JlYWRfcmVsb2NzIChzZWMtPm93bmVyLCBzZWMsCi0JCQkJCQkgICAgICBOVUxMLCBOVUxMLAotCQkJCQkJICAgICAgaW5mby0+a2VlcF9tZW1vcnkpOwotCi0JCSAgaWYgKHJlbG9jcyAhPSBOVUxMKQotCQkgICAgewotCQkgICAgICByZWxvY19jb3VudAotCQkJPSAoKmJlZC0+ZWxmX2JhY2tlbmRfY291bnRfcmVsb2NzKSAoc2VjLCByZWxvY3MpOwotCi0JCSAgICAgIGlmIChlbGZfc2VjdGlvbl9kYXRhIChzZWMpLT5yZWxvY3MgIT0gcmVsb2NzKQotCQkJZnJlZSAocmVsb2NzKTsKLQkJICAgIH0KLQkJfQorCQlyZWxvY19jb3VudCA9ICgqYmVkLT5lbGZfYmFja2VuZF9jb3VudF9yZWxvY3MpIChpbmZvLCBzZWMpOwogCiAJICAgICAgaWYgKHNlYy0+cmF3c2l6ZSA+IG1heF9jb250ZW50c19zaXplKQogCQltYXhfY29udGVudHNfc2l6ZSA9IHNlYy0+cmF3c2l6ZTsKQEAgLTEwNjgzLDE2ICsxMDc0MSwxNiBAQAogCQkgICAgJiYgKGgtPnJvb3QudHlwZSA9PSBiZmRfbGlua19oYXNoX2RlZmluZWQKIAkJCXx8IGgtPnJvb3QudHlwZSA9PSBiZmRfbGlua19oYXNoX2RlZndlYWspKQogCQkgIHsKLQkJICAgIGR5bi5kX3VuLmRfdmFsID0gaC0+cm9vdC51LmRlZi52YWx1ZTsKKwkJICAgIGR5bi5kX3VuLmRfcHRyID0gaC0+cm9vdC51LmRlZi52YWx1ZTsKIAkJICAgIG8gPSBoLT5yb290LnUuZGVmLnNlY3Rpb247CiAJCSAgICBpZiAoby0+b3V0cHV0X3NlY3Rpb24gIT0gTlVMTCkKLQkJICAgICAgZHluLmRfdW4uZF92YWwgKz0gKG8tPm91dHB1dF9zZWN0aW9uLT52bWEKKwkJICAgICAgZHluLmRfdW4uZF9wdHIgKz0gKG8tPm91dHB1dF9zZWN0aW9uLT52bWEKIAkJCQkJICsgby0+b3V0cHV0X29mZnNldCk7CiAJCSAgICBlbHNlCiAJCSAgICAgIHsKIAkJCS8qIFRoZSBzeW1ib2wgaXMgaW1wb3J0ZWQgZnJvbSBhbm90aGVyIHNoYXJlZAogCQkJICAgbGlicmFyeSBhbmQgZG9lcyBub3QgYXBwbHkgdG8gdGhpcyBvbmUuICAqLwotCQkJZHluLmRfdW4uZF92YWwgPSAwOworCQkJZHluLmRfdW4uZF9wdHIgPSAwOwogCQkgICAgICB9CiAJCSAgICBicmVhazsKIAkJICB9CkBAIC0xMDc3MSw2ICsxMDgyOSw3IEBACiAJICAgICAgZWxzZQogCQl0eXBlID0gU0hUX1JFTEE7CiAJICAgICAgZHluLmRfdW4uZF92YWwgPSAwOworCSAgICAgIGR5bi5kX3VuLmRfcHRyID0gMDsKIAkgICAgICBmb3IgKGkgPSAxOyBpIDwgZWxmX251bXNlY3Rpb25zIChhYmZkKTsgaSsrKQogCQl7CiAJCSAgRWxmX0ludGVybmFsX1NoZHIgKmhkcjsKQEAgLTEwNzgzLDkgKzEwODQyLDkgQEAKIAkJCWR5bi5kX3VuLmRfdmFsICs9IGhkci0+c2hfc2l6ZTsKIAkJICAgICAgZWxzZQogCQkJewotCQkJICBpZiAoZHluLmRfdW4uZF92YWwgPT0gMAotCQkJICAgICAgfHwgaGRyLT5zaF9hZGRyIDwgZHluLmRfdW4uZF92YWwpCi0JCQkgICAgZHluLmRfdW4uZF92YWwgPSBoZHItPnNoX2FkZHI7CisJCQkgIGlmIChkeW4uZF91bi5kX3B0ciA9PSAwCisJCQkgICAgICB8fCBoZHItPnNoX2FkZHIgPCBkeW4uZF91bi5kX3B0cikKKwkJCSAgICBkeW4uZF91bi5kX3B0ciA9IGhkci0+c2hfYWRkcjsKIAkJCX0KIAkJICAgIH0KIAkJfQpAQCAtMTE5ODIsOCArMTIwNDEsMjEgQEAKICAgcmV0dXJuIHJldDsKIH0KIAorLyogRm9yIGEgU0hUX0dST1VQIHNlY3Rpb24sIHJldHVybiB0aGUgZ3JvdXAgc2lnbmF0dXJlLiAgRm9yIG90aGVyCisgICBzZWN0aW9ucywgcmV0dXJuIHRoZSBub3JtYWwgc2VjdGlvbiBuYW1lLiAgKi8KKworc3RhdGljIGNvbnN0IGNoYXIgKgorc2VjdGlvbl9zaWduYXR1cmUgKGFzZWN0aW9uICpzZWMpCit7CisgIGlmICgoc2VjLT5mbGFncyAmIFNFQ19HUk9VUCkgIT0gMAorICAgICAgJiYgZWxmX25leHRfaW5fZ3JvdXAgKHNlYykgIT0gTlVMTAorICAgICAgJiYgZWxmX2dyb3VwX25hbWUgKGVsZl9uZXh0X2luX2dyb3VwIChzZWMpKSAhPSBOVUxMKQorICAgIHJldHVybiBlbGZfZ3JvdXBfbmFtZSAoZWxmX25leHRfaW5fZ3JvdXAgKHNlYykpOworICByZXR1cm4gc2VjLT5uYW1lOworfQorCiB2b2lkCi1fYmZkX2VsZl9zZWN0aW9uX2FscmVhZHlfbGlua2VkIChiZmQgKmFiZmQsIHN0cnVjdCBiZmRfc2VjdGlvbiAqc2VjLAorX2JmZF9lbGZfc2VjdGlvbl9hbHJlYWR5X2xpbmtlZCAoYmZkICphYmZkLCBhc2VjdGlvbiAqc2VjLAogCQkJCSBzdHJ1Y3QgYmZkX2xpbmtfaW5mbyAqaW5mbykKIHsKICAgZmxhZ3dvcmQgZmxhZ3M7CkBAIC0xMjAyMyw3ICsxMjA5NSw3IEBACiAgICAgIGNhdXNlcyB0cm91YmxlIGZvciBNSVBTIEVMRiwgd2hpY2ggcmVsaWVzIG9uIGxpbmsgb25jZSBzZW1hbnRpY3MKICAgICAgdG8gaGFuZGxlIHRoZSAucmVnaW5mbyBzZWN0aW9uIGNvcnJlY3RseS4gICovCiAKLSAgbmFtZSA9IGJmZF9nZXRfc2VjdGlvbl9uYW1lIChhYmZkLCBzZWMpOworICBuYW1lID0gc2VjdGlvbl9zaWduYXR1cmUgKHNlYyk7CiAKICAgaWYgKENPTlNUX1NUUk5FUSAobmFtZSwgIi5nbnUubGlua29uY2UuIikKICAgICAgICYmIChwID0gc3RyY2hyIChuYW1lICsgc2l6ZW9mICgiLmdudS5saW5rb25jZS4iKSAtIDEsICcuJykpICE9IE5VTEwpCkBAIC0xMjAzOCw3ICsxMjExMCw3IEBACiAgICAgICAvKiBXZSBtYXkgaGF2ZSAyIGRpZmZlcmVudCB0eXBlcyBvZiBzZWN0aW9ucyBvbiB0aGUgbGlzdDogZ3JvdXAKIAkgc2VjdGlvbnMgYW5kIGxpbmtvbmNlIHNlY3Rpb25zLiAgTWF0Y2ggbGlrZSBzZWN0aW9ucy4gICovCiAgICAgICBpZiAoKGZsYWdzICYgU0VDX0dST1VQKSA9PSAobC0+c2VjLT5mbGFncyAmIFNFQ19HUk9VUCkKLQkgICYmIHN0cmNtcCAobmFtZSwgbC0+c2VjLT5uYW1lKSA9PSAwCisJICAmJiBzdHJjbXAgKG5hbWUsIHNlY3Rpb25fc2lnbmF0dXJlIChsLT5zZWMpKSA9PSAwCiAJICAmJiBiZmRfY29mZl9nZXRfY29tZGF0X3NlY3Rpb24gKGwtPnNlYy0+b3duZXIsIGwtPnNlYykgPT0gTlVMTCkKIAl7CiAJICAvKiBUaGUgc2VjdGlvbiBoYXMgYWxyZWFkeSBiZWVuIGxpbmtlZC4gIFNlZSBpZiB3ZSBzaG91bGQKZGlmZiAtLWdpdCBhL2JmZC9lbGZ4eC1taXBzLmMgYi9iZmQvZWxmeHgtbWlwcy5jCmluZGV4IDQzYTQ2MDQ2Li5iNDk1OTNiIDEwMDY0NAotLS0gYS9iZmQvZWxmeHgtbWlwcy5jCisrKyBiL2JmZC9lbGZ4eC1taXBzLmMKQEAgLTE0MDksNyArMTQwOSw4IEBACiAgICBmdW5jdGlvbiwgb3IgMCBpZiB3ZSBjYW4ndCBkZWNpZGUgd2hpY2ggZnVuY3Rpb24gdGhhdCBpcy4gICovCiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nCi1taXBzMTZfc3R1Yl9zeW1uZHggKGFzZWN0aW9uICpzZWMsIGNvbnN0IEVsZl9JbnRlcm5hbF9SZWxhICpyZWxvY3MsCittaXBzMTZfc3R1Yl9zeW1uZHggKGFzZWN0aW9uICpzZWMgQVRUUklCVVRFX1VOVVNFRCwKKwkJICAgIGNvbnN0IEVsZl9JbnRlcm5hbF9SZWxhICpyZWxvY3MsCiAJCSAgICBjb25zdCBFbGZfSW50ZXJuYWxfUmVsYSAqcmVsZW5kKQogewogICBjb25zdCBFbGZfSW50ZXJuYWxfUmVsYSAqcmVsOwpkaWZmIC0tZ2l0IGEvYmZkL2xpYmJmZC5oIGIvYmZkL2xpYmJmZC5oCmluZGV4IGViODRkNTguLjE3MDdiMDYgMTAwNjQ0Ci0tLSBhL2JmZC9saWJiZmQuaAorKysgYi9iZmQvbGliYmZkLmgKQEAgLTE4OTAsNiArMTg5MCwxNyBAQAogICAiQkZEX1JFTE9DX0NSSVNfMzJfR09UUkVMIiwKICAgIkJGRF9SRUxPQ19DUklTXzMyX1BMVF9HT1RSRUwiLAogICAiQkZEX1JFTE9DX0NSSVNfMzJfUExUX1BDUkVMIiwKKyAgIkJGRF9SRUxPQ19DUklTXzMyX0dPVF9HRCIsCisgICJCRkRfUkVMT0NfQ1JJU18xNl9HT1RfR0QiLAorICAiQkZEX1JFTE9DX0NSSVNfMzJfR0QiLAorICAiQkZEX1JFTE9DX0NSSVNfRFRQIiwKKyAgIkJGRF9SRUxPQ19DUklTXzMyX0RUUFJFTCIsCisgICJCRkRfUkVMT0NfQ1JJU18xNl9EVFBSRUwiLAorICAiQkZEX1JFTE9DX0NSSVNfMzJfR09UX1RQUkVMIiwKKyAgIkJGRF9SRUxPQ19DUklTXzE2X0dPVF9UUFJFTCIsCisgICJCRkRfUkVMT0NfQ1JJU18zMl9UUFJFTCIsCisgICJCRkRfUkVMT0NfQ1JJU18xNl9UUFJFTCIsCisgICJCRkRfUkVMT0NfQ1JJU19EVFBNT0QiLAogICAiQkZEX1JFTE9DXzg2MF9DT1BZIiwKICAgIkJGRF9SRUxPQ184NjBfR0xPQl9EQVQiLAogICAiQkZEX1JFTE9DXzg2MF9KVU1QX1NMT1QiLApkaWZmIC0tZ2l0IGEvYmZkL2xpbmtlci5jIGIvYmZkL2xpbmtlci5jCmluZGV4IGJhZjI4MGMuLjUwODBkN2QgMTAwNjQ0Ci0tLSBhL2JmZC9saW5rZXIuYworKysgYi9iZmQvbGlua2VyLmMKQEAgLTI3OTYsMTggKzI3OTYsMzYgQEAKIAl9CiAgICAgfQogCi0gIC8qIEdldCBhbmQgcmVsb2NhdGUgdGhlIHNlY3Rpb24gY29udGVudHMuICAqLwotICBzZWNfc2l6ZSA9IChpbnB1dF9zZWN0aW9uLT5yYXdzaXplID4gaW5wdXRfc2VjdGlvbi0+c2l6ZQotCSAgICAgID8gaW5wdXRfc2VjdGlvbi0+cmF3c2l6ZQotCSAgICAgIDogaW5wdXRfc2VjdGlvbi0+c2l6ZSk7Ci0gIGNvbnRlbnRzID0gYmZkX21hbGxvYyAoc2VjX3NpemUpOwotICBpZiAoY29udGVudHMgPT0gTlVMTCAmJiBzZWNfc2l6ZSAhPSAwKQotICAgIGdvdG8gZXJyb3JfcmV0dXJuOwotICBuZXdfY29udGVudHMgPSAoYmZkX2dldF9yZWxvY2F0ZWRfc2VjdGlvbl9jb250ZW50cwotCQkgIChvdXRwdXRfYmZkLCBpbmZvLCBsaW5rX29yZGVyLCBjb250ZW50cywgaW5mby0+cmVsb2NhdGFibGUsCi0JCSAgIF9iZmRfZ2VuZXJpY19saW5rX2dldF9zeW1ib2xzIChpbnB1dF9iZmQpKSk7Ci0gIGlmICghbmV3X2NvbnRlbnRzKQotICAgIGdvdG8gZXJyb3JfcmV0dXJuOworICBpZiAoKG91dHB1dF9zZWN0aW9uLT5mbGFncyAmIChTRUNfR1JPVVAgfCBTRUNfTElOS0VSX0NSRUFURUQpKSA9PSBTRUNfR1JPVVAKKyAgICAgICYmIGlucHV0X3NlY3Rpb24tPnNpemUgIT0gMCkKKyAgICB7CisgICAgICAvKiBHcm91cCBzZWN0aW9uIGNvbnRlbnRzIGFyZSBzZXQgYnkgYmZkX2VsZl9zZXRfZ3JvdXBfY29udGVudHMuICAqLworICAgICAgaWYgKCFvdXRwdXRfYmZkLT5vdXRwdXRfaGFzX2JlZ3VuKQorCXsKKwkgIC8qIEZJWE1FOiBUaGlzIGhhY2sgZW5zdXJlcyBiZmRfZWxmX3NldF9ncm91cF9jb250ZW50cyBpcyBjYWxsZWQuICAqLworCSAgaWYgKCFiZmRfc2V0X3NlY3Rpb25fY29udGVudHMgKG91dHB1dF9iZmQsIG91dHB1dF9zZWN0aW9uLCAiIiwgMCwgMSkpCisJICAgIGdvdG8gZXJyb3JfcmV0dXJuOworCX0KKyAgICAgIG5ld19jb250ZW50cyA9IG91dHB1dF9zZWN0aW9uLT5jb250ZW50czsKKyAgICAgIEJGRF9BU1NFUlQgKG5ld19jb250ZW50cyAhPSBOVUxMKTsKKyAgICAgIEJGRF9BU1NFUlQgKGlucHV0X3NlY3Rpb24tPm91dHB1dF9vZmZzZXQgPT0gMCk7CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgLyogR2V0IGFuZCByZWxvY2F0ZSB0aGUgc2VjdGlvbiBjb250ZW50cy4gICovCisgICAgICBzZWNfc2l6ZSA9IChpbnB1dF9zZWN0aW9uLT5yYXdzaXplID4gaW5wdXRfc2VjdGlvbi0+c2l6ZQorCQkgID8gaW5wdXRfc2VjdGlvbi0+cmF3c2l6ZQorCQkgIDogaW5wdXRfc2VjdGlvbi0+c2l6ZSk7CisgICAgICBjb250ZW50cyA9IGJmZF9tYWxsb2MgKHNlY19zaXplKTsKKyAgICAgIGlmIChjb250ZW50cyA9PSBOVUxMICYmIHNlY19zaXplICE9IDApCisJZ290byBlcnJvcl9yZXR1cm47CisgICAgICBuZXdfY29udGVudHMgPSAoYmZkX2dldF9yZWxvY2F0ZWRfc2VjdGlvbl9jb250ZW50cworCQkgICAgICAob3V0cHV0X2JmZCwgaW5mbywgbGlua19vcmRlciwgY29udGVudHMsCisJCSAgICAgICBpbmZvLT5yZWxvY2F0YWJsZSwKKwkJICAgICAgIF9iZmRfZ2VuZXJpY19saW5rX2dldF9zeW1ib2xzIChpbnB1dF9iZmQpKSk7CisgICAgICBpZiAoIW5ld19jb250ZW50cykKKwlnb3RvIGVycm9yX3JldHVybjsKKyAgICB9CiAKICAgLyogT3V0cHV0IHRoZSBzZWN0aW9uIGNvbnRlbnRzLiAgKi8KICAgbG9jID0gaW5wdXRfc2VjdGlvbi0+b3V0cHV0X29mZnNldCAqIGJmZF9vY3RldHNfcGVyX2J5dGUgKG91dHB1dF9iZmQpOwpkaWZmIC0tZ2l0IGEvYmZkL3BvL2lkLnBvIGIvYmZkL3BvL2lkLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxYTcwMTcKLS0tIC9kZXYvbnVsbAorKysgYi9iZmQvcG8vaWQucG8KQEAgLTAsMCArMSwzODM3IEBACisjIFBlc2FuIEJhaGFzYSBJbmRvbmVzaWEgdW50dWsgQkZECisjIENvcHlyaWdodCAoQykgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGJpbnV0aWxzIHBhY2thZ2UuCisjIEFyaWYgRS4gTnVncm9obyA8YXJpZl9lbmRyb0B5YWhvby5jb20+LCAyMDA4LgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogYmZkIDIuMTguOTBcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWJpbnV0aWxzQGdudS5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOC0wOS0wOSAxNTo1NiswOTMwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0xMC0wOCAwNzo0NSswNzAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBBcmlmIEUuIE51Z3JvaG8gPGFyaWZfZW5kcm9AeWFob28uY29tPlxuIgorIkxhbmd1YWdlLVRlYW06IEluZG9uZXNpYW4gPHRyYW5zbGF0aW9uLXRlYW0taWRAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisKKyM6IGFvdXQtYWRvYmUuYzoxMjcKK21zZ2lkICIlQjogVW5rbm93biBzZWN0aW9uIHR5cGUgaW4gYS5vdXQuYWRvYmUgZmlsZTogJXhcbiIKK21zZ3N0ciAiJUI6IFRpcGUgYmFnaWFuIHRpZGFrIGRpa2V0YWh1aSBkYWxhbSBiZXJrYXMgYS5vdXQuYWRvYmU6ICV4XG4iCisKKyM6IGFvdXQtY3Jpcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogSW52YWxpZCByZWxvY2F0aW9uIHR5cGUgZXhwb3J0ZWQ6ICVkIgorbXNnc3RyICIlczogVGlwZSByZWxva2FzaSB0aWRhayB2YWxpZCB0ZXJla3Nwb3I6ICVkIgorCisjOiBhb3V0LWNyaXMuYzoyNDcKK21zZ2lkICIlQjogSW52YWxpZCByZWxvY2F0aW9uIHR5cGUgaW1wb3J0ZWQ6ICVkIgorbXNnc3RyICIlQjogVGlwZSByZWxva2FzaSB0aWRhayB2YWxpZCB0ZXJpbXBvcjogJWQiCisKKyM6IGFvdXQtY3Jpcy5jOjI1OAorbXNnaWQgIiVCOiBCYWQgcmVsb2NhdGlvbiByZWNvcmQgaW1wb3J0ZWQ6ICVkIgorbXNnc3RyICIlQjogQ2F0YXRhbiByZWxva2FzaSBidXJ1ayB0ZXJpbXBvcjogJWQiCisKKyM6IGFvdXR4Lmg6MTI2OCBhb3V0eC5oOjE2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbiBub3QgcmVwcmVzZW50IHNlY3Rpb24gYCVzJyBpbiBhLm91dCBvYmplY3QgZmlsZSBmb3JtYXQiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZXJlcHJlc2VudGFzaWthbiBiYWdpYW4gYCVzJyBkYWxhbSBhLm91dCBvYmplayBmb3JtYXQgYmVya2FzIgorCisjOiBhb3V0eC5oOjE1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbiBub3QgcmVwcmVzZW50IHNlY3Rpb24gZm9yIHN5bWJvbCBgJXMnIGluIGEub3V0IG9iamVjdCBmaWxlIGZvcm1hdCIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lcmVwcmVzZW50YXNpa2FuIGJhZ2lhbiB1bnR1ayBzaW1ib2wgYCVzJyBkYWxhbSBmb3JtYXQgYmVya2FzIGEub3V0IG9iamVrIgorCisjOiBhb3V0eC5oOjE1NzIKK21zZ2lkICIqdW5rbm93bioiCittc2dzdHIgIip0aWRhayBkaWtldGFodWkqIgorCisjOiBhb3V0eC5oOjM5ODkgYW91dHguaDo0MzE1Cittc2dpZCAiJVA6ICVCOiB1bmV4cGVjdGVkIHJlbG9jYXRpb24gdHlwZVxuIgorbXNnc3RyICIlUDogJUI6IHRpcGUgcmVsb2thc2kgdGlkYWsgZGlkdWdhXG4iCisKKyM6IGFvdXR4Lmg6NTM0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVsb2NhdGFibGUgbGluayBmcm9tICVzIHRvICVzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiVzOiBsaW5rIHJlbG9rYXNpIGRhcmkgJXMga2UgJXMgdGlkYWsgZGlkdWt1bmciCisKKyM6IGFyY2hpdmUuYzoyMDQ2Cittc2dpZCAiV2FybmluZzogd3JpdGluZyBhcmNoaXZlIHdhcyBzbG93OiByZXdyaXRpbmcgdGltZXN0YW1wXG4iCittc2dzdHIgIlBlcmluZ2F0YW46IHBlbnVsaXNhbiBhcmNoaXZlIGxhbWJhdDogbWVudWxpcyB1bGFuZyB0aW1lc3RhbXBcbiIKKworIzogYXJjaGl2ZS5jOjIzMDkKK21zZ2lkICJSZWFkaW5nIGFyY2hpdmUgZmlsZSBtb2QgdGltZXN0YW1wIgorbXNnc3RyICJNZW1iYWNhIGJlcmthcyBtb2QgdGltZXN0YW1wIGFyY2hpdmUiCisKKyM6IGFyY2hpdmUuYzoyMzMzCittc2dpZCAiV3JpdGluZyB1cGRhdGVkIGFybWFwIHRpbWVzdGFtcCIKK21zZ3N0ciAiTWVudWxpcyBhcm1hcCB0aW1lc3RhbXAgdGVydXBkYXRlIgorCisjOiBiZmQuYzozNjgKK21zZ2lkICJObyBlcnJvciIKK21zZ3N0ciAiVGlkYWsgZXJyb3IiCisKKyM6IGJmZC5jOjM2OQorbXNnaWQgIlN5c3RlbSBjYWxsIGVycm9yIgorbXNnc3RyICJQZW1hbmdnaWxhbiBzaXN0ZW0gZXJyb3IiCisKKyM6IGJmZC5jOjM3MAorbXNnaWQgIkludmFsaWQgYmZkIHRhcmdldCIKK21zZ3N0ciAiVGFyZ2V0IGJmZCB0aWRhayB2YWxpZCIKKworIzogYmZkLmM6MzcxCittc2dpZCAiRmlsZSBpbiB3cm9uZyBmb3JtYXQiCittc2dzdHIgIkJlcmthcyBkYWxhbSBmb3JtYXQgc2FsYWgiCisKKyM6IGJmZC5jOjM3MgorbXNnaWQgIkFyY2hpdmUgb2JqZWN0IGZpbGUgaW4gd3JvbmcgZm9ybWF0IgorbXNnc3RyICJBcmNoaXZlIGJlcmthcyBvYmplayBkYWxhbSBmb3JtYXQgc2FsYWgiCisKKyM6IGJmZC5jOjM3MworbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uIgorbXNnc3RyICJPcGVyYXNpIHRpZGFrIHZhbGlkIgorCisjOiBiZmQuYzozNzQKK21zZ2lkICJNZW1vcnkgZXhoYXVzdGVkIgorbXNnc3RyICJLZWhhYmlzYW4gbWVtb3JpIgorCisjOiBiZmQuYzozNzUKK21zZ2lkICJObyBzeW1ib2xzIgorbXNnc3RyICJCdWthbiBzaW1ib2wiCisKKyM6IGJmZC5jOjM3NgorbXNnaWQgIkFyY2hpdmUgaGFzIG5vIGluZGV4OyBydW4gcmFubGliIHRvIGFkZCBvbmUiCittc2dzdHIgIkFyY2hpdmUgdGlkYWsgbWVtaWxpa2kgaW5kZWs7IGphbGFua2FuIHJhbmxpYiB1bnR1ayBtZW5hbWJhaGthbiBzYXR1IgorCisjOiBiZmQuYzozNzcKK21zZ2lkICJObyBtb3JlIGFyY2hpdmVkIGZpbGVzIgorbXNnc3RyICJUaWRhayBsYWdpIGJlcmthcyB5YW5nIHRlci1hcmNoaXZlIgorCisjOiBiZmQuYzozNzgKK21zZ2lkICJNYWxmb3JtZWQgYXJjaGl2ZSIKK21zZ3N0ciAiQXJjaGl2ZSB0aWRhayB0ZXJmb3JtYXQiCisKKyM6IGJmZC5jOjM3OQorbXNnaWQgIkZpbGUgZm9ybWF0IG5vdCByZWNvZ25pemVkIgorbXNnc3RyICJCZXJrYXMgZm9ybWF0IHRpZGFrIGRpa2VuYWwiCisKKyM6IGJmZC5jOjM4MAorbXNnaWQgIkZpbGUgZm9ybWF0IGlzIGFtYmlndW91cyIKK21zZ3N0ciAiQmVya2FzIGZvcm1hdCBhbWJpZ3UiCisKKyM6IGJmZC5jOjM4MQorbXNnaWQgIlNlY3Rpb24gaGFzIG5vIGNvbnRlbnRzIgorbXNnc3RyICJCYWdpYW4gdGlkYWsgbWVtaWxpa2kgaXNpIgorCisjOiBiZmQuYzozODIKK21zZ2lkICJOb25yZXByZXNlbnRhYmxlIHNlY3Rpb24gb24gb3V0cHV0IgorbXNnc3RyICJCYWdpYW4gdGlkYWsgZGFwYXQgZGlyZXByZXNlbnRhc2lrYW4gZGkga2VsdWFyYW4iCisKKyM6IGJmZC5jOjM4MworbXNnaWQgIlN5bWJvbCBuZWVkcyBkZWJ1ZyBzZWN0aW9uIHdoaWNoIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJTaW1ib2wgbWVtYnV0dWhrYW4gYmFnaWFuIGRlYnVnIHlhbmcgbWFuYSBiYWdpYW4gdGVyc2VidXQgdGlkYWsgYWRhIgorCisjOiBiZmQuYzozODQKK21zZ2lkICJCYWQgdmFsdWUiCittc2dzdHIgIk5pbGFpIGJ1cnVrIgorCisjOiBiZmQuYzozODUKK21zZ2lkICJGaWxlIHRydW5jYXRlZCIKK21zZ3N0ciAiQmVya2FzIHRlcnBvdG9uZyIKKworIzogYmZkLmM6Mzg2Cittc2dpZCAiRmlsZSB0b28gYmlnIgorbXNnc3RyICJCZXJrYXMgdGVybGFsdSBiZXNhciIKKworIzogYmZkLmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkVycm9yIHJlYWRpbmcgJXM6ICVzIgorbXNnc3RyICJFcnJvciBtZW1iYWNhICVzOiAlcyIKKworIzogYmZkLmM6Mzg4Cittc2dpZCAiIzxJbnZhbGlkIGVycm9yIGNvZGU+IgorbXNnc3RyICIjPEtvZGUgZXJyb3IgdGlkYWsgdmFsaWQ+IgorCisjOiBiZmQuYzo5MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkZEICVzIGFzc2VydGlvbiBmYWlsICVzOiVkIgorbXNnc3RyICJCRkQgJXMgYXNzZXJ0aW9uIGdhZ2FsICVzOiVkIgorCisjOiBiZmQuYzo5MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkZEICVzIGludGVybmFsIGVycm9yLCBhYm9ydGluZyBhdCAlcyBsaW5lICVkIGluICVzXG4iCittc2dzdHIgIkJGRCAlcyBlcnJvciBpbnRlcm5hbCwgbWVuZ2dhZ2Fsa2FuIGRpICVzIGJhcmlzICVkIGRhbGFtICVzXG4iCisKKyM6IGJmZC5jOjkyOAorIywgYy1mb3JtYXQKK21zZ2lkICJCRkQgJXMgaW50ZXJuYWwgZXJyb3IsIGFib3J0aW5nIGF0ICVzIGxpbmUgJWRcbiIKK21zZ3N0ciAiQkZEICVzIGVycm9yIGludGVybmFsLCBtZW5nZ2FnYWxrYW4gZGkgJXMgYmFyaXMgJWRcbiIKKworIzogYmZkLmM6OTMwCittc2dpZCAiUGxlYXNlIHJlcG9ydCB0aGlzIGJ1Zy5cbiIKK21zZ3N0ciAiVG9sb25nIGxhcG9ya2FuIGJ1ZyBpbmkuXG4iCisKKyM6IGJmZHdpbi5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgbWFwcGluZzogZGF0YT0lbHggbWFwcGVkPSVkXG4iCittc2dzdHIgInRpZGFrIHRlcm1hcDogZGF0YT0lbHggbWFwcGVkPSVkXG4iCisKKyM6IGJmZHdpbi5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgbWFwcGluZzogZW52IHZhciBub3Qgc2V0XG4iCittc2dzdHIgInRpZGFrIHRlcm1hcDsgZW52IHZhciB0aWRhayB0ZXJzZXRcbiIKKworIzogYmluYXJ5LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFdyaXRpbmcgc2VjdGlvbiBgJXMnIHRvIGh1Z2UgKGllIG5lZ2F0aXZlKSBmaWxlIG9mZnNldCAweCVseC4iCittc2dzdHIgIlBlcmluZ2F0YW46IE1lbnVsaXMgYmFnaWFuIGAlcycgdGVybGFsdSBiZXNhciAoaWUgbmVnYXRpZikgYmVya2FzIG9mc2V0IDB4JWx4LiIKKworIzogY2FjaGUuYzoyMjIKK21zZ2lkICJyZW9wZW5pbmcgJUI6ICVzXG4iCittc2dzdHIgIm1lbWJ1a2Ega2VtYmFsaSAlQjogJXNcbiIKKworIzogY29mZi1hbHBoYS5jOjQ5MAorbXNnaWQgIiIKKyIlQjogQ2Fubm90IGhhbmRsZSBjb21wcmVzc2VkIEFscGhhIGJpbmFyaWVzLlxuIgorIiAgIFVzZSBjb21waWxlciBmbGFncywgb3Igb2JqWiwgdG8gZ2VuZXJhdGUgdW5jb21wcmVzc2VkIGJpbmFyaWVzLiIKK21zZ3N0ciAiIgorIiVCOiBUaWRhayBkYXBhdCBtZW5hbmdhbmkgYmluYXJpIHlhbmcgZGlrb21wcmVzIEFscGhhLlxuIgorIiAgIE1lbmdndW5ha2FuIHRhbmRhIGtvbXBpbGVyLCBhdGF1IG9ialosIHVudHVrIG1lbmdoYXNpbGthbiBiaW5hcmkgdGlkYWsgdGVya29tcHJlcy4iCisKKyM6IGNvZmYtYWxwaGEuYzo2NDcKK21zZ2lkICIlQjogdW5rbm93bi91bnN1cHBvcnRlZCByZWxvY2F0aW9uIHR5cGUgJWQiCittc2dzdHIgIiVCOyB0aWRhayBkaWtldGFodWkvdGlkYWsgZGlkdWt1bmcgdGlwZSByZWxva2FzaSAlZCIKKworIzogY29mZi1hbHBoYS5jOjg5OSBjb2ZmLWFscGhhLmM6OTM2IGNvZmYtYWxwaGEuYzoyMDI0IGNvZmYtbWlwcy5jOjEwMDMKK21zZ2lkICJHUCByZWxhdGl2ZSByZWxvY2F0aW9uIHVzZWQgd2hlbiBHUCBub3QgZGVmaW5lZCIKK21zZ3N0ciAiR1AgcmVsYXRpZiByZWxva2FzaSBkaWd1bmFrYW4ga2V0aWthIEdQIHRpZGFrIGRpZGVmaW5pc2lrYW4iCisKKyM6IGNvZmYtYWxwaGEuYzoxNTAxCittc2dpZCAidXNpbmcgbXVsdGlwbGUgZ3AgdmFsdWVzIgorbXNnc3RyICJtZW5nZ3VuYWthbiBuaWxhaSBncCBtdWx0aXBsZSIKKworIzogY29mZi1hbHBoYS5jOjE1NjAKK21zZ2lkICIlQjogdW5zdXBwb3J0ZWQgcmVsb2NhdGlvbjogQUxQSEFfUl9HUFJFTEhJR0giCittc2dzdHIgIiVCOiByZWxva2FzaSB0aWRhayBkaWR1a3VuZzogQUxQSEFfUl9HUFJFTEhJR0giCisKKyM6IGNvZmYtYWxwaGEuYzoxNTY3Cittc2dpZCAiJUI6IHVuc3VwcG9ydGVkIHJlbG9jYXRpb246IEFMUEhBX1JfR1BSRUxMT1ciCittc2dzdHIgIiVCOiByZWxva2FzaSB0aWRhayBkaWR1a3VuZzogQUxQSEFfUl9HUFJFTExPVyIKKworIzogY29mZi1hbHBoYS5jOjE1NzQgZWxmMzItbTMyci5jOjI0ODcgZWxmNjQtYWxwaGEuYzozOTcwIGVsZjY0LWFscGhhLmM6NDEyNQorIzogZWxmMzItaWE2NC5jOjQ0NjUgZWxmNjQtaWE2NC5jOjQ0NjUKK21zZ2lkICIlQjogdW5rbm93biByZWxvY2F0aW9uIHR5cGUgJWQiCittc2dzdHIgIiVCOiB0aXBlIHJlbG9rYXNpICVkIHRpZGFrIGRpa2V0YWh1aSIKKworIzogY29mZi1hcm0uYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVCOiB1bmFibGUgdG8gZmluZCBUSFVNQiBnbHVlICclcycgZm9yIGAlcyciCittc2dzdHIgIiVCOiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gbGVtIFRIVU1CICclcycgdW50dWsgYCVzJyIKKworIzogY29mZi1hcm0uYzoxMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVCOiB1bmFibGUgdG8gZmluZCBBUk0gZ2x1ZSAnJXMnIGZvciBgJXMnIgorbXNnc3RyICIlQjogdGlkYWsgZGFwYXQgbWVuZW11a2FuIGxlbSBBUk0gJyVzJyB1bnR1ayBgJXMnIgorCisjOiBjb2ZmLWFybS5jOjEzNzAgZWxmMzItYXJtLmM6NTQ1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJUIoJXMpOiB3YXJuaW5nOiBpbnRlcndvcmtpbmcgbm90IGVuYWJsZWQuXG4iCisiICBmaXJzdCBvY2N1cnJlbmNlOiAlQjogYXJtIGNhbGwgdG8gdGh1bWIiCittc2dzdHIgIiIKKyIlQiglcyk6IHBlcmluZ2F0YW46IGFudGFyLWtlcmphIHRpZGFrIGRpYWt0aWZrYW4uXG4iCisiICBwZXJ0ZW11YW4gcGVydGFtYTogJUI6IGFybSBwYW5nZ2lsIGtlIHRodW1iIgorCisjOiBjb2ZmLWFybS5jOjE0NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVCKCVzKTogd2FybmluZzogaW50ZXJ3b3JraW5nIG5vdCBlbmFibGVkLlxuIgorIiAgZmlyc3Qgb2NjdXJyZW5jZTogJUI6IHRodW1iIGNhbGwgdG8gYXJtXG4iCisiICBjb25zaWRlciByZWxpbmtpbmcgd2l0aCAtLXN1cHBvcnQtb2xkLWNvZGUgZW5hYmxlZCIKK21zZ3N0ciAiIgorIiVCKCVzKTogcGVyaW5nYXRhbjogYW50YXIta2VyamEgdGlkYWsgZGlha3RpZmthbi5cbiIKKyIgIHBlcnRlbXVhbiBwZXJ0YW1hOiAlQjogcGFuZ2dpbGFuIHRodW1iIGtlIGFybVxuIgorIiAgcGVydGltYmFuZ2thbiByZWxpbmtpbmcgZGVuZ2FuIC0tc3VwcG9ydC1vbGQtY29kZSBha3RpZiIKKworIzogY29mZi1hcm0uYzoxNzU1IGNvZmYtdGljODAuYzo2OTUgY29mZmxpbmsuYzozMDE4Cittc2dpZCAiJUI6IGJhZCByZWxvYyBhZGRyZXNzIDB4JWx4IGluIHNlY3Rpb24gYCVBJyIKK21zZ3N0ciAiJUI6IGFsYW1hdCByZWxva2FzaSBidXJ1ayAweCVseCBkYWxhbSBiYWdpYW4gYCVBJyIKKworIzogY29mZi1hcm0uYzoyMDgwCittc2dpZCAiJUI6IGlsbGVnYWwgc3ltYm9sIGluZGV4IGluIHJlbG9jOiAlZCIKK21zZ3N0ciAiJUI6IGluZGVrIHNpbWJvbCBpbGVnYWwgZGFsYW0gcmVsb2thc2k6ICVkIgorCisjOiBjb2ZmLWFybS5jOjIyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRVJST1I6ICVCIGlzIGNvbXBpbGVkIGZvciBBUENTLSVkLCB3aGVyZWFzICVCIGlzIGNvbXBpbGVkIGZvciBBUENTLSVkIgorbXNnc3RyICJFUlJPUjogJUIgZGlrb21waWxlIHVudHVrIEFQQ1MtJWQsIGRpbWFuYSAlQiBkaWtvbXBpbGUgdW50dWsgQVBDUy0lZCIKKworIzogY29mZi1hcm0uYzoyMjI3IGVsZjMyLWFybS5jOjg1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRVJST1I6ICVCIHBhc3NlcyBmbG9hdHMgaW4gZmxvYXQgcmVnaXN0ZXJzLCB3aGVyZWFzICVCIHBhc3NlcyB0aGVtIGluIGludGVnZXIgcmVnaXN0ZXJzIgorbXNnc3RyICJFUlJPUjogJUIgbWVsZXdhdGkgZmxvYXQgZGFsYW0gcmVnaXN0ZXIgZmxvYXQsIGRpbWFuYSAlQiBtZWxld2F0aW55YSByZWdpc3RlciBpbnRlZ2VyIgorCisjOiBjb2ZmLWFybS5jOjIyMzAgZWxmMzItYXJtLmM6ODU2NworIywgYy1mb3JtYXQKK21zZ2lkICJFUlJPUjogJUIgcGFzc2VzIGZsb2F0cyBpbiBpbnRlZ2VyIHJlZ2lzdGVycywgd2hlcmVhcyAlQiBwYXNzZXMgdGhlbSBpbiBmbG9hdCByZWdpc3RlcnMiCittc2dzdHIgIkVSUk9SOiAlQiBtZWxld2F0aSBmbG9hdCBkYWxhbSByZWdpc3RlciBpbnRlZ2VyLCBkaW1hbmEgJUIgbWVsZXdhdGlueWEgZmxvYXQgcmVnaXN0ZXIiCisKKyM6IGNvZmYtYXJtLmM6MjI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJFUlJPUjogJUIgaXMgY29tcGlsZWQgYXMgcG9zaXRpb24gaW5kZXBlbmRlbnQgY29kZSwgd2hlcmVhcyB0YXJnZXQgJUIgaXMgYWJzb2x1dGUgcG9zaXRpb24iCittc2dzdHIgIkVSUk9SOiAlQiBkaWtvbXBpbGUgc2ViYWdhaSBrb2RlIGJlYmFzIHBvc2lzaSwgZGltYW5hIHRhcmdldCAlQiB5YW5nIG1lbWlsaWtpIHBvc2lzaSBhYnNvbHV0ZSIKKworIzogY29mZi1hcm0uYzoyMjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkVSUk9SOiAlQiBpcyBjb21waWxlZCBhcyBhYnNvbHV0ZSBwb3NpdGlvbiBjb2RlLCB3aGVyZWFzIHRhcmdldCAlQiBpcyBwb3NpdGlvbiBpbmRlcGVuZGVudCIKK21zZ3N0ciAiRVJST1I6ICVCIGRpa29tcGlsZSBzZWJhZ2FpIGtvZGUgYWJzb2x1dGUgcG9zaXNpLCBkaW1hbmEgdGFyZ2V0ICVCIGFkYWxhaCBiZWJhcyBwb3Npc2kiCisKKyM6IGNvZmYtYXJtLmM6MjI3NSBlbGYzMi1hcm0uYzo4NjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6ICVCIHN1cHBvcnRzIGludGVyd29ya2luZywgd2hlcmVhcyAlQiBkb2VzIG5vdCIKK21zZ3N0ciAiUGVyaW5nYXRhbjogJUIgIG1lbmR1a3VuZyBhbnRhci1rZXJqYSwgZGltYW5hICVCIHRpZGFrIgorCisjOiBjb2ZmLWFybS5jOjIyNzggZWxmMzItYXJtLmM6ODYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiAlQiBkb2VzIG5vdCBzdXBwb3J0IGludGVyd29ya2luZywgd2hlcmVhcyAlQiBkb2VzIgorbXNnc3RyICJQZXJpbmdhdGFuOiAlQiB0aWRhayBtZW5kdWt1bmcgYW50YXIta2VyamEsIGRpbWFuYSAlQiB5YSIKKworIzogY29mZi1hcm0uYzoyMzAyCisjLCBjLWZvcm1hdAorbXNnaWQgInByaXZhdGUgZmxhZ3MgPSAleDoiCittc2dzdHIgInRhbmRhIHByaXZhdGUgPSAleDoiCisKKyM6IGNvZmYtYXJtLmM6MjMxMCBlbGYzMi1hcm0uYzo4Njg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiBbZmxvYXRzIHBhc3NlZCBpbiBmbG9hdCByZWdpc3RlcnNdIgorbXNnc3RyICIgW2Zsb2F0cyBtZWxld2F0aSBkYWxhbSByZWdpc3RlciBmbG9hdF0iCisKKyM6IGNvZmYtYXJtLmM6MjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICIgW2Zsb2F0cyBwYXNzZWQgaW4gaW50ZWdlciByZWdpc3RlcnNdIgorbXNnc3RyICIgW2Zsb2F0IG1lbGV3YXRpIHJlZ2lzdGVyIGludGVnZXJdIgorCisjOiBjb2ZmLWFybS5jOjIzMTUgZWxmMzItYXJtLmM6ODY5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgW3Bvc2l0aW9uIGluZGVwZW5kZW50XSIKK21zZ3N0ciAiIFtiZWJhcyBwb3Npc2ldIgorCisjOiBjb2ZmLWFybS5jOjIzMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFthYnNvbHV0ZSBwb3NpdGlvbl0iCittc2dzdHIgIiBbYWJzb2x1dGUgcG9zaXNpXSIKKworIzogY29mZi1hcm0uYzoyMzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiBbaW50ZXJ3b3JraW5nIGZsYWcgbm90IGluaXRpYWxpc2VkXSIKK21zZ3N0ciAiIFt0YW5kYSBhbnRhci1rZXJqYSB0aWRhayB0ZXJpbmlzaWFsaXNhc2ldIgorCisjOiBjb2ZmLWFybS5jOjIzMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFtpbnRlcndvcmtpbmcgc3VwcG9ydGVkXSIKK21zZ3N0ciAiIFthbnRhci1rZXJqYSBkaWR1a3VuZ10iCisKKyM6IGNvZmYtYXJtLmM6MjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIgW2ludGVyd29ya2luZyBub3Qgc3VwcG9ydGVkXSIKK21zZ3N0ciAiIFthbnRhci1rZXJqYSB0aWRhayBkaWR1a3VuZ10iCisKKyM6IGNvZmYtYXJtLmM6MjM3MSBlbGYzMi1hcm0uYzo4MDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IE5vdCBzZXR0aW5nIGludGVyd29ya2luZyBmbGFnIG9mICVCIHNpbmNlIGl0IGhhcyBhbHJlYWR5IGJlZW4gc3BlY2lmaWVkIGFzIG5vbi1pbnRlcndvcmtpbmciCittc2dzdHIgIlBlcmluZ2F0YW46IFRpZGFrIG1lbnNldCB0YW5kYSBhbnRhci1rZXJqYSBkYXJpICVCIGthcmVuYSBpdHUgdGVsYWggdGVyc3Blc2lmaWthc2kgc2ViYWdhaSBidWthbi1hbnRhci1rZXJqYSIKKworIzogY29mZi1hcm0uYzoyMzc1IGVsZjMyLWFybS5jOjgwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogQ2xlYXJpbmcgdGhlIGludGVyd29ya2luZyBmbGFnIG9mICVCIGR1ZSB0byBvdXRzaWRlIHJlcXVlc3QiCittc2dzdHIgIlBlcmluZ2F0YW46IE1lbmdoYXB1cyB0YW5kYSBhbnRhci1rZXJqYSBkYXJpICVCIGthcmVuYSBkaWx1YXIgcGVybWludGFhbiIKKworIzogY29mZi1oODMwMC5jOjExMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSBSX01FTV9JTkRJUkVDVCByZWxvYyB3aGVuIHVzaW5nICVzIG91dHB1dCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuYW5nYW5pIFJfTUVNX0lORElSRUNUIHJlbG9rYXNpIGtldGlrYSBtZW5nZ3VuYWthbiBrZWx1YXJhbiAlcyIKKworIzogY29mZi1pODYwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbG9jYXRpb24gYCVzJyBub3QgeWV0IGltcGxlbWVudGVkXG4iCittc2dzdHIgIlJlbG9rYXNpIGAlcycgYmVsdW0gdGVyaW1wbGVtZW50YXNpXG4iCisKKyM6IGNvZmYtaTg2MC5jOjYwNSBjb2ZmLXRpYzU0eC5jOjM5OCBjb2ZmY29kZS5oOjQ5NzUKK21zZ2lkICIlQjogd2FybmluZzogaWxsZWdhbCBzeW1ib2wgaW5kZXggJWxkIGluIHJlbG9jcyIKK21zZ3N0ciAiJUI6IHBlcmluZ2F0YW46IGluZGVrIHNpbWJvbCBpbGVnYWwgJWxkIGRhbGFtIHJlbG9rYXNpIgorCisjOiBjb2ZmLWk5NjAuYzoxNDMgY29mZi1pOTYwLmM6NTA2Cittc2dpZCAidW5jZXJ0YWluIGNhbGxpbmcgY29udmVudGlvbiBmb3Igbm9uLUNPRkYgc3ltYm9sIgorbXNnc3RyICJ0aWRhayB0ZW50dSBwZW1hbmdnaWxhbiBrb252ZW5zaSB1bnR1ayBub24tQ09GRiBzaW1ib2wiCisKKyM6IGNvZmYtbTY4ay5jOjUwNiBlbGYzMi1iZmluLmM6NTUxMCBlbGYzMi1tNjhrLmM6MzkzOAorbXNnaWQgInVuc3VwcG9ydGVkIHJlbG9jIHR5cGUiCittc2dzdHIgInRpcGUgcmVsb2thc2kgdGlkYWsgZGlkdWt1bmciCisKKyM6IGNvZmYtbWF4cS5jOjEyNgorbXNnaWQgIkNhbid0IE1ha2UgaXQgYSBTaG9ydCBKdW1wIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIGluaSBzZWJ1YWggbG9tcGF0YW4gcGVuZGVrIgorCisjOiBjb2ZmLW1heHEuYzoxOTEKK21zZ2lkICJFeGNlZWRzIExvbmcgSnVtcCBSYW5nZSIKK21zZ3N0ciAiTWVsZXdhdGkgamFuZ2thdWFuIGxvbXBhdGFuIHBhbmphbmciCisKKyM6IGNvZmYtbWF4cS5jOjIwMiBjb2ZmLW1heHEuYzoyNzYKK21zZ2lkICJBYnNvbHV0ZSBhZGRyZXNzIEV4Y2VlZHMgMTYgYml0IFJhbmdlIgorbXNnc3RyICJBbGFtYXQgYWJzb2x1dCBtZWxld2F0aSBqYW5na2F1YW4gMTYgYml0IgorCisjOiBjb2ZmLW1heHEuYzoyNDAKK21zZ2lkICJBYnNvbHV0ZSBhZGRyZXNzIEV4Y2VlZHMgOCBiaXQgUmFuZ2UiCittc2dzdHIgIkFsYW1hdCBhYnNvbHV0ZSBtZWxld2F0aSBqYW5na2F1YW4gOCBiaXQiCisKKyM6IGNvZmYtbWF4cS5jOjMzMworbXNnaWQgIlVucmVjb2duaXplZCBSZWxvYyBUeXBlIgorbXNnc3RyICJUaXBlIHJlbG9rYXNpIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvZmYtbWlwcy5jOjY4OCBlbGYzMi1taXBzLmM6MTAxNCBlbGYzMi1zY29yZS5jOjM0NSBlbGY2NC1taXBzLmM6MTk5MQorIzogZWxmbjMyLW1pcHMuYzoxODMyCittc2dpZCAiR1AgcmVsYXRpdmUgcmVsb2NhdGlvbiB3aGVuIF9ncCBub3QgZGVmaW5lZCIKK21zZ3N0ciAiR1AgcmVsb2thc2kgcmVsYXRpZiBrZXRpa2EgX2dwIHRpZGFrIHRlcmRlZmluaXNpIgorCisjOiBjb2ZmLW9yMzIuYzoyMjkKK21zZ2lkICJVbnJlY29nbml6ZWQgcmVsb2MiCittc2dzdHIgIlJlbG9rYXNpIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvZmYtcnM2MDAwLmM6MjgwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5zdXBwb3J0ZWQgcmVsb2NhdGlvbiB0eXBlIDB4JTAyeCIKK21zZ3N0ciAiJXM6IHRpcGUgcmVsb2thc2kgdGlkYWsgZGlkdWt1bmcgMHglMDJ4IgorCisjOiBjb2ZmLXJzNjAwMC5jOjI4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFRPQyByZWxvYyBhdCAweCV4IHRvIHN5bWJvbCBgJXMnIHdpdGggbm8gVE9DIGVudHJ5IgorbXNnc3RyICIlczogVE9DIHJlbG9rYXNpIGRpIDB4JXggdW50dWsgc2ltYm9sIGAlcycgZGVuZ2FuIHRpZGFrIGFkYSBtYXN1a2FuIFRPQyIKKworIzogY29mZi1yczYwMDAuYzozNjI4IGNvZmY2NC1yczYwMDAuYzoyMTMwCittc2dpZCAiJUI6IHN5bWJvbCBgJXMnIGhhcyB1bnJlY29nbml6ZWQgc21jbGFzICVkIgorbXNnc3RyICIlQjogc2ltYm9sIGAlcycgbWVtaWxpa2kgc21jbGFzIHRpZGFrIGRpa2VuYWwgJWQiCisKKyM6IGNvZmYtdGljNHguYzoxOTUgY29mZi10aWM1NHguYzoyOTkgY29mZi10aWM4MC5jOjQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnJlY29nbml6ZWQgcmVsb2MgdHlwZSAweCV4IgorbXNnc3RyICJUaXBlIHJlbG9rYXNpIHRpZGFrIGRpa2VuYWwgMHgleCIKKworIzogY29mZi10aWM0eC5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogaWxsZWdhbCBzeW1ib2wgaW5kZXggJWxkIGluIHJlbG9jcyIKK21zZ3N0ciAiJXM6IHBlcmluZ2F0YW46IGluZGVrIHNpbWJvbCBpbGVnYWwgJWxkIGRhbGFtIHJlbG9rYXNpIgorCisjOiBjb2ZmLXc2NS5jOjM2NworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyByZWxvYyAlc1xuIgorbXNnc3RyICJtZW5nYWJhaWthbiByZWxva2FzaSAlc1xuIgorCisjOiBjb2ZmY29kZS5oOjg1MAorbXNnaWQgIiVCOiB3YXJuaW5nOiBDT01EQVQgc3ltYm9sICclcycgZG9lcyBub3QgbWF0Y2ggc2VjdGlvbiBuYW1lICclcyciCittc2dzdHIgIiVCOiBwZXJpbmdhdGFuOiBDT01EQVQgc2ltYm9sICclcycgdGlkYWsgY29jb2sgZGVuZ2FuIG5hbWEgYmFnaWFuICclcyciCisKKyMuIEdlbmVyYXRlIGEgd2FybmluZyBtZXNzYWdlIHJhdGhlciB1c2luZyB0aGUgJ3VuaGFuZGxlZCcKKyMuIHZhcmlhYmxlIGFzIHRoaXMgd2lsbCBhbGxvdyBzb21lIC5zeXMgZmlsZXMgZ2VuZXJhdGUgYnkKKyMuIG90aGVyIHRvb2xjaGFpbnMgdG8gYmUgcHJvY2Vzc2VkLiAgU2VlIGJ1Z3ppbGxhIGlzc3VlIDE5Ni4KKyM6IGNvZmZjb2RlLmg6MTA2MgorbXNnaWQgIiVCOiBXYXJuaW5nOiBJZ25vcmluZyBzZWN0aW9uIGZsYWcgSU1BR0VfU0NOX01FTV9OT1RfUEFHRUQgaW4gc2VjdGlvbiAlcyIKK21zZ3N0ciAiJUI6IFBlcmluZ2F0YW46IE1lbmdhYmFpa2FuIHRhbmRhIGJhZ2lhbiBJTUFHRV9TQ05fTUVNX05PVF9QQUdFRCBkYWxhbSBiYWdpYW4gJXMiCisKKyM6IGNvZmZjb2RlLmg6MTExNworbXNnaWQgIiVCICglcyk6IFNlY3Rpb24gZmxhZyAlcyAoMHgleCkgaWdub3JlZCIKK21zZ3N0ciAiJUIgKCVzKTogVGFuZGEgYmFnaWFuICVzICgweCV4KSBkaWFiYWlrYW4iCisKKyM6IGNvZmZjb2RlLmg6MjI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnJlY29nbml6ZWQgVEkgQ09GRiB0YXJnZXQgaWQgJzB4JXgnIgorbXNnc3RyICJUYXJnZXQgaWQgJzB4JXgnIFRJIENPRkYgdGlkYWsgZGlrZW5hbCIKKworIzogY29mZmNvZGUuaDoyNTU5Cittc2dpZCAiJUI6IHJlbG9jIGFnYWluc3QgYSBub24tZXhpc3RhbnQgc3ltYm9sIGluZGV4OiAlbGQiCittc2dzdHIgIiVCOiByZWxva2FzaSB0ZXJoYWRhcCBzaW1ib2wgaW5kZWsgeWFuZyB0aWRhayBhZGE6ICVsZCIKKworIzogY29mZmNvZGUuaDo0MzA5Cittc2dpZCAiJUI6IHdhcm5pbmc6IGxpbmUgbnVtYmVyIHRhYmxlIHJlYWQgZmFpbGVkIgorbXNnc3RyICIlQjogcGVyaW5nYXRhbjogcGVtYmFjYWFuIHRhYmVsIG5vbW9yIGJhcmlzIGdhZ2FsIgorCisjOiBjb2ZmY29kZS5oOjQzMzkKK21zZ2lkICIlQjogd2FybmluZzogaWxsZWdhbCBzeW1ib2wgaW5kZXggJWxkIGluIGxpbmUgbnVtYmVycyIKK21zZ3N0ciAiJUI6IHBlcmluZ2F0YW46IHNpbWJvbCBpbmRleCAlbGQgaWxlZ2FsIGRhbGFtIG5vbW9yIGJhcmlzIgorCisjOiBjb2ZmY29kZS5oOjQzNTMKK21zZ2lkICIlQjogd2FybmluZzogZHVwbGljYXRlIGxpbmUgbnVtYmVyIGluZm9ybWF0aW9uIGZvciBgJXMnIgorbXNnc3RyICIlQjogcGVyaW5nYXRhbjogZHVwbGlrYXNpIGluZm9ybWFzaSBub21vciBiYXJpcyB1bnR1ayBgJXMnIgorCisjOiBjb2ZmY29kZS5oOjQ3NDQKK21zZ2lkICIlQjogVW5yZWNvZ25pemVkIHN0b3JhZ2UgY2xhc3MgJWQgZm9yICVzIHN5bWJvbCBgJXMnIgorbXNnc3RyICIlQjoga2VsYXMgJWQgcGVueWltcGFuYW4gdGlkYWsgZGlrZW5hbCB1bnR1ayAlcyBzaW1ib2wgYCVzJyIKKworIzogY29mZmNvZGUuaDo0ODcwCittc2dpZCAid2FybmluZzogJUI6IGxvY2FsIHN5bWJvbCBgJXMnIGhhcyBubyBzZWN0aW9uIgorbXNnc3RyICJwZXJpbmdhdGFuOiAlQjogc2ltYm9sIGxva2FsIGAlcycgdGlkYWsgbWVtaWxpa2kgYmFnaWFuIgorCisjOiBjb2ZmY29kZS5oOjUwMTMKK21zZ2lkICIlQjogaWxsZWdhbCByZWxvY2F0aW9uIHR5cGUgJWQgYXQgYWRkcmVzcyAweCVseCIKK21zZ3N0ciAiJUI6IHRpcGUgcmVsb2thc2kgJWQgaWxlZ2FsIGRpIGFsYW1hdCAweCVseCIKKworIzogY29mZmdlbi5jOjE1MTgKK21zZ2lkICIlQjogYmFkIHN0cmluZyB0YWJsZSBzaXplICVsdSIKK21zZ3N0ciAiJUI6IHN0cmluZyBidXJ1ayB1a3VyYW4gdGFiZWwgJWx1IgorCisjOiBjb2ZmbGluay5jOjUxMyBlbGZsaW5rLmM6NDIxOAorbXNnaWQgIldhcm5pbmc6IHR5cGUgb2Ygc3ltYm9sIGAlcycgY2hhbmdlZCBmcm9tICVkIHRvICVkIGluICVCIgorbXNnc3RyICJQZXJpbmdhdGFuOiB0aXBlIGRhcmkgc2ltYm9sZSBgJXMnIGJlcnViYWggZGFyaSAlZCBrZSAlZCBkYWxhbSAlQiIKKworIzogY29mZmxpbmsuYzoyMjk2Cittc2dpZCAiJUI6IHJlbG9jcyBpbiBzZWN0aW9uIGAlQScsIGJ1dCBpdCBoYXMgbm8gY29udGVudHMiCittc2dzdHIgIiVCOiByZWxva2FzaSBkYWxhbSBiYWdpYW4gYCVBJywgdGV0YXBpIGluaSB0aWRhayBtZW1pbGlraSBpc2kiCisKKyM6IGNvZmZsaW5rLmM6MjYyNyBjb2Zmc3dhcC5oOjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IHJlbG9jIG92ZXJmbG93OiAweCVseCA+IDB4ZmZmZiIKK21zZ3N0ciAiJXM6ICVzOiByZWxva2FzaSBvdmVyZmxvdzogMHglbHggPiAweGZmZmYiCisKKyM6IGNvZmZsaW5rLmM6MjYzNiBjb2Zmc3dhcC5oOjgxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogJXM6IGxpbmUgbnVtYmVyIG92ZXJmbG93OiAweCVseCA+IDB4ZmZmZiIKK21zZ3N0ciAiJXM6IHBlcmluZ2F0YW46ICVzOiBub21vciBiYXJpcyBvdmVyZmxvdzogMHglbHggPiAweGZmZmYiCisKKyM6IGNwdS1hcm0uYzoxODkgY3B1LWFybS5jOjIwMAorbXNnaWQgIkVSUk9SOiAlQiBpcyBjb21waWxlZCBmb3IgdGhlIEVQOTMxMiwgd2hlcmVhcyAlQiBpcyBjb21waWxlZCBmb3IgWFNjYWxlIgorbXNnc3RyICJFUlJPUjogJUIgZGlrb21waWxlIHVudHVrIEVQOTMxMiwgZGltYW5hICVCIGRpa29tcGlsZSB1bnR1ayBYU2NhbGUiCisKKyM6IGNwdS1hcm0uYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdW5hYmxlIHRvIHVwZGF0ZSBjb250ZW50cyBvZiAlcyBzZWN0aW9uIGluICVzIgorbXNnc3RyICJwZXJpbmdhdGFuOiB0aWRhayBkYXBhdCBtZW5ndXBkYXRlIGlzaSBkYXJpICVzIGJhZ2lhbiBkYWxhbSAlcyIKKworIzogZHdhcmYyLmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkR3YXJmIEVycm9yOiBDYW4ndCBmaW5kICVzIHNlY3Rpb24uIgorbXNnc3RyICJEd2FyZiBFcnJvcjogVGlkYWsgZGFwYXQgbWVuZW11a2FuIGJhZ2lhbiAlcy4iCisKKyM6IGR3YXJmMi5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICJEd2FyZiBFcnJvcjogdW5hYmxlIHRvIGRlY29tcHJlc3MgJXMgc2VjdGlvbi4iCittc2dzdHIgIkR3YXJmIEVycm9yOiB0aWRhayBkYXBhdCBtZW5nZWtzdHJhayBiYWdpYW4gJXMuIgorCisjOiBkd2FyZjIuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRHdhcmYgRXJyb3I6IE9mZnNldCAoJWx1KSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgc2l6ZSAoJWx1KS4iCittc2dzdHIgIkR3YXJmIEVycm9yOiBPZnNldCAoJWx1KSBsZWJpaCBiZXNhciBhdGF1IHNhbWEgZGVuZ2FuICVzIHVrdXJhbiAoJWx1KS4iCisKKyM6IGR3YXJmMi5jOjg0OQorIywgYy1mb3JtYXQKK21zZ2lkICJEd2FyZiBFcnJvcjogSW52YWxpZCBvciB1bmhhbmRsZWQgRk9STSB2YWx1ZTogJXUuIgorbXNnc3RyICJEd2FyZiBFcnJvcjogVGlkYWsgdmFsaWQgYXRhdSBuaWxhaSBGT1JNIHRpZGFrIHRlcnRhbmdhbmk6ICV1LiIKKworIzogZHdhcmYyLmM6MTA2MworbXNnaWQgIkR3YXJmIEVycm9yOiBtYW5nbGVkIGxpbmUgbnVtYmVyIHNlY3Rpb24gKGJhZCBmaWxlIG51bWJlcikuIgorbXNnc3RyICJEd2FyZiBFcnJvcjogbWFuZ2xlZCBiYWdpYW4gbm9tb3IgYmFyaXMgKG5vbW9yIGJlcmthcyBidXJ1aykuIgorCisjOiBkd2FyZjIuYzoxMzkzCittc2dpZCAiRHdhcmYgRXJyb3I6IG1hbmdsZWQgbGluZSBudW1iZXIgc2VjdGlvbi4iCittc2dzdHIgIkR3YXJmIEVycm9yOiBtYW5nbGVkIGJhZ2lhbiBub21vciBiYXJpcy4iCisKKyM6IGR3YXJmMi5jOjE3MjYgZHdhcmYyLmM6MTg0MiBkd2FyZjIuYzoyMTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIkR3YXJmIEVycm9yOiBDb3VsZCBub3QgZmluZCBhYmJyZXYgbnVtYmVyICV1LiIKK21zZ3N0ciAiRHdhcmYgRXJyb3I6IFRpZGFrIGRhcGF0IG1lbmVtdWthbiBub21vciBzaW5na2F0ICV1LiIKKworIzogZHdhcmYyLmM6MjA3NQorIywgYy1mb3JtYXQKK21zZ2lkICJEd2FyZiBFcnJvcjogZm91bmQgZHdhcmYgdmVyc2lvbiAnJXUnLCB0aGlzIHJlYWRlciBvbmx5IGhhbmRsZXMgdmVyc2lvbiAyIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiRHdhcmYgRXJyb3I6IG1lbmVtdWthbiB2ZXJzaSBkd2FyZiAnJXUnLCBwZW1iYWNhIGluaSBoYW55YSBtZW5hbmdhbmkgaW5mb3JtYXNpIHZlcnNpIDIuIgorCisjOiBkd2FyZjIuYzoyMDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkR3YXJmIEVycm9yOiBmb3VuZCBhZGRyZXNzIHNpemUgJyV1JywgdGhpcyByZWFkZXIgY2FuIG5vdCBoYW5kbGUgc2l6ZXMgZ3JlYXRlciB0aGFuICcldScuIgorbXNnc3RyICJEd2FyZiBFcnJvcjogbWVuZW11a2FuIHVrdXJhbiBhbGFtYXQgJyV1JywgcGVtYmFjYSBpbmkgdGlkYWsgZGFwYXQgbWVuYW5nYW5pIHVrdXJhbiBsZWJpaCBiZXNhciBkYXJpICcldScuIgorCisjOiBkd2FyZjIuYzoyMTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkR3YXJmIEVycm9yOiBCYWQgYWJicmV2IG51bWJlcjogJXUuIgorbXNnc3RyICJEd2FyZiBFcnJvcjogTm9tb3Igc2luZ2thdCBidXJ1azogJXUuIgorCisjOiBlY29mZi5jOjEyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBiYXNpYyB0eXBlICVkIgorbXNnc3RyICJUaXBlIGRhc2FyICVkIHRpZGFrIGRpa2V0YWh1aSIKKworIzogZWNvZmYuYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICBFbmQrMSBzeW1ib2w6ICVsZCIKK21zZ3N0ciAiIgorIlxuIgorIiAgICAgIFNpbWJvbCBFbmQrMTogJWxkIgorCisjOiBlY29mZi5jOjE0OTEgZWNvZmYuYzoxNDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICBGaXJzdCBzeW1ib2w6ICVsZCIKK21zZ3N0ciAiIgorIlxuIgorIiAgICAgIFNpbWJvbCBwZXJ0YW1hOiAlbGQiCisKKyM6IGVjb2ZmLmM6MTUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiICAgICAgRW5kKzEgc3ltYm9sOiAlLTdsZCAgIFR5cGU6ICAlcyIKK21zZ3N0ciAiIgorIlxuIgorIiAgICAgIFNpbWJvbCBFbmQrMTogJS03bGQgICBUaXBlOiAgJXMiCisKKyM6IGVjb2ZmLmM6MTUxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiICAgICAgTG9jYWwgc3ltYm9sOiAlbGQiCittc2dzdHIgIiIKKyJcbiIKKyIgICAgICBTaW1ib2wgbG9rYWw6ICVsZCIKKworIzogZWNvZmYuYzoxNTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICBzdHJ1Y3Q7IEVuZCsxIHN5bWJvbDogJWxkIgorbXNnc3RyICIiCisiXG4iCisiICAgICAgc3RydWN0OyBzaW1ib2wgRW5kKzE6ICVsZCIKKworIzogZWNvZmYuYzoxNTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICB1bmlvbjsgRW5kKzEgc3ltYm9sOiAlbGQiCittc2dzdHIgIiIKKyJcbiIKKyIgICAgICB1bmlvbjogRW5kKzEgc2ltYm9sOiAlbGQiCisKKyM6IGVjb2ZmLmM6MTUzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiICAgICAgZW51bTsgRW5kKzEgc3ltYm9sOiAlbGQiCittc2dzdHIgIiIKKyJcbiIKKyIgICAgICBlbnVtOyBFbmQrMSBzaW1ib2w6ICVsZCIKKworIzogZWNvZmYuYzoxNTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICBUeXBlOiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIiAgICAgIFRpcGU6ICVzIgorCisjOiBlbGYtYXR0cnMuYzo1ODIKK21zZ2lkICJFUlJPUjogJUI6IE11c3QgYmUgcHJvY2Vzc2VkIGJ5ICclcycgdG9vbGNoYWluIgorbXNnc3RyICJFUlJPUjogJUI6IEhhcnVzIGRpcHJvc2VzIGRlbmdhbiAnJXMnIHRvb2xjaGFpbiIKKworIzogZWxmLWF0dHJzLmM6NjAyIGVsZi1hdHRycy5jOjYyMQorbXNnaWQgIkVSUk9SOiAlQjogSW5jb21wYXRpYmxlIG9iamVjdCB0YWcgJyVzJzolZCIKK21zZ3N0ciAiRVJST1I6ICVCOiBUYW5kYSBvYmplayB0aWRhayBrb21wYXRpYmVsICclcyc6JWQiCisKKyM6IGVsZi1laC1mcmFtZS5jOjg2NgorbXNnaWQgIiVQOiBlcnJvciBpbiAlQiglQSk7IG5vIC5laF9mcmFtZV9oZHIgdGFibGUgd2lsbCBiZSBjcmVhdGVkLlxuIgorbXNnc3RyICIlUDogZXJyb3IgZGFsYW0gJUIoJUEpOyB0aWRhayBhZGEgLmVoX2ZyYW1lX2hkciB0YWJlbCB5YW5nIGFrYW4gZGlidWF0LlxuIgorCisjOiBlbGYtZWgtZnJhbWUuYzoxMTAyCittc2dpZCAiJVA6IGZkZSBlbmNvZGluZyBpbiAlQiglQSkgcHJldmVudHMgLmVoX2ZyYW1lX2hkciB0YWJsZSBiZWluZyBjcmVhdGVkLlxuIgorbXNnc3RyICIlUDogZmRlIGVua29kaW5nIGRhbGFtICVCKCVBKSBtZW5qYWdhIC5laF9mcmFtZV9oZHIgdGFiZWwgdW50dWsgZGlidWF0LlxuIgorCisjOiBlbGYtaHBwYS5oOjIyNDEgZWxmLW0xMDMwMC5jOjE1NDYgZWxmMzItYXJtLmM6Nzk1NCBlbGYzMi1pMzg2LmM6MzU4MgorIzogZWxmMzItbTMyci5jOjI1OTggZWxmMzItbTY4ay5jOjM1MTYgZWxmMzItcHBjLmM6NzIyMyBlbGYzMi1zMzkwLmM6MzA1OAorIzogZWxmMzItc2guYzozNDM4IGVsZjMyLXh0ZW5zYS5jOjMwMjEgZWxmNjQtcHBjLmM6MTE1MjggZWxmNjQtczM5MC5jOjMwMTkKKyM6IGVsZjY0LXNoNjQuYzoxNjQ4IGVsZjY0LXg4Ni02NC5jOjMyMzkgZWxmeHgtc3BhcmMuYzozMzM2Cittc2dpZCAiJUIoJUErMHglbHgpOiB1bnJlc29sdmFibGUgJXMgcmVsb2NhdGlvbiBhZ2FpbnN0IHN5bWJvbCBgJXMnIgorbXNnc3RyICIlQiglQSsweCVseCk6IHRpZGFrIHRlcmVzb2xmICVzIHJlbG9rYXNpIHRlcmhhZGFwIHNpbWJvbCBgJXMnIgorCisjOiBlbGYtaHBwYS5oOjIyNjYgZWxmLWhwcGEuaDoyMjgwCittc2dpZCAiJUIoJUEpOiB3YXJuaW5nOiB1bnJlc29sdmFibGUgcmVsb2NhdGlvbiBhZ2FpbnN0IHN5bWJvbCBgJXMnIgorbXNnc3RyICIlQiglQSk6IHBlcmluZ2F0YW46IHRpZGFrIHRlcmVzb2xmIHJlbG9rYXNpIHRlcmhhZGFwIHNpbWJvbCBgJXMnIgorCisjOiBlbGYtbTEwMjAwLmM6NDU2IGVsZi1tMTAzMDAuYzoxNjA5IGVsZjMyLWF2ci5jOjEyNTAgZWxmMzItYmZpbi5jOjMyMTQKKyM6IGVsZjMyLWNyMTYuYzo5NTkgZWxmMzItY3IxNmMuYzo3OTAgZWxmMzItY3Jpcy5jOjE1MzggZWxmMzItY3J4LmM6OTMzCisjOiBlbGYzMi1kMTB2LmM6NTE2IGVsZjMyLWZyMzAuYzo2MTYgZWxmMzItZnJ2LmM6NDExNCBlbGYzMi1oODMwMC5jOjUxNgorIzogZWxmMzItaTg2MC5jOjEyMTggZWxmMzItaXAyay5jOjE0OTkgZWxmMzItaXEyMDAwLmM6NjkxIGVsZjMyLW0zMmMuYzo1NjAKKyM6IGVsZjMyLW0zMnIuYzozMTI0IGVsZjMyLW02OGhjMXguYzoxMTM1IGVsZjMyLW1lcC5jOjU0MSBlbGYzMi1tc3A0MzAuYzo0OTMKKyM6IGVsZjMyLW10LmM6NDAyIGVsZjMyLW9wZW5yaXNjLmM6NDExIGVsZjMyLXNjb3JlLmM6MjQ1MSBlbGYzMi1zcHUuYzo0MTMyCisjOiBlbGYzMi12ODUwLmM6MTcwMyBlbGYzMi14c3Rvcm15MTYuYzo5NDggZWxmNjQtbW1peC5jOjE1MzMKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogb3V0IG9mIHJhbmdlIGVycm9yIgorbXNnc3RyICJpbnRlcm5hbCBlcnJvcjogZGlsdWFyIGphbmdrYXVhbiBlcnJvciIKKworIzogZWxmLW0xMDIwMC5jOjQ2MCBlbGYtbTEwMzAwLmM6MTYxMyBlbGYzMi1hdnIuYzoxMjU0IGVsZjMyLWJmaW4uYzozMjE4CisjOiBlbGYzMi1jcjE2LmM6OTYzIGVsZjMyLWNyMTZjLmM6Nzk0IGVsZjMyLWNyaXMuYzoxNTQyIGVsZjMyLWNyeC5jOjkzNworIzogZWxmMzItZDEwdi5jOjUyMCBlbGYzMi1mcjMwLmM6NjIwIGVsZjMyLWZydi5jOjQxMTggZWxmMzItaDgzMDAuYzo1MjAKKyM6IGVsZjMyLWk4NjAuYzoxMjIyIGVsZjMyLWlxMjAwMC5jOjY5NSBlbGYzMi1tMzJjLmM6NTY0IGVsZjMyLW0zMnIuYzozMTI4CisjOiBlbGYzMi1tNjhoYzF4LmM6MTEzOSBlbGYzMi1tZXAuYzo1NDUgZWxmMzItbXNwNDMwLmM6NDk3CisjOiBlbGYzMi1vcGVucmlzYy5jOjQxNSBlbGYzMi1zY29yZS5jOjI0NTUgZWxmMzItc3B1LmM6NDEzNiBlbGYzMi12ODUwLmM6MTcwNworIzogZWxmMzIteHN0b3JteTE2LmM6OTUyIGVsZjY0LW1taXguYzoxNTM3IGVsZnh4LW1pcHMuYzo5MDY1Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIHJlbG9jYXRpb24gZXJyb3IiCittc2dzdHIgImludGVybmFsIGVycm9yOiByZWxva2FzaSB0aWRhayBkaWR1a3VuZyBlcnJvciIKKworIzogZWxmLW0xMDIwMC5jOjQ2NCBlbGYzMi1jcjE2LmM6OTY3IGVsZjMyLWNyMTZjLmM6Nzk4IGVsZjMyLWNyeC5jOjk0MQorIzogZWxmMzItZDEwdi5jOjUyNCBlbGYzMi1oODMwMC5jOjUyNCBlbGYzMi1tMzJyLmM6MzEzMiBlbGYzMi1tNjhoYzF4LmM6MTE0MworIzogZWxmMzItc2NvcmUuYzoyNDU5IGVsZjMyLXNwdS5jOjQxNDAKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogZGFuZ2Vyb3VzIGVycm9yIgorbXNnc3RyICJpbnRlcm5hbCBlcnJvciBlcnJvciBiZXJiYWhheWEiCisKKyM6IGVsZi1tMTAyMDAuYzo0NjggZWxmLW0xMDMwMC5jOjE2MjYgZWxmMzItYXZyLmM6MTI2MiBlbGYzMi1iZmluLmM6MzIyNgorIzogZWxmMzItY3IxNi5jOjk3MSBlbGYzMi1jcjE2Yy5jOjgwMiBlbGYzMi1jcmlzLmM6MTU1MCBlbGYzMi1jcnguYzo5NDUKKyM6IGVsZjMyLWQxMHYuYzo1MjggZWxmMzItZnIzMC5jOjYyOCBlbGYzMi1mcnYuYzo0MTI2IGVsZjMyLWg4MzAwLmM6NTI4CisjOiBlbGYzMi1pODYwLmM6MTIzMCBlbGYzMi1pcDJrLmM6MTUxNCBlbGYzMi1pcTIwMDAuYzo3MDMgZWxmMzItbTMyYy5jOjU3MgorIzogZWxmMzItbTMyci5jOjMxMzYgZWxmMzItbTY4aGMxeC5jOjExNDcgZWxmMzItbWVwLmM6NTUzIGVsZjMyLW1zcDQzMC5jOjUwNQorIzogZWxmMzItbXQuYzo0MTAgZWxmMzItb3BlbnJpc2MuYzo0MjMgZWxmMzItc2NvcmUuYzoyNDYzIGVsZjMyLXNwdS5jOjQxNDQKKyM6IGVsZjMyLXY4NTAuYzoxNzI3IGVsZjMyLXhzdG9ybXkxNi5jOjk2MCBlbGY2NC1tbWl4LmM6MTU0NQorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGVycm9yIgorbXNnc3RyICJpbnRlcm5hbCBlcnJvcjogZXJyb3IgdGlkYWsgZGlrZXRhaHVpIgorCisjOiBlbGYtbTEwMzAwLmM6MTYxOAorbXNnaWQgImVycm9yOiBpbmFwcHJvcHJpYXRlIHJlbG9jYXRpb24gdHlwZSBmb3Igc2hhcmVkIGxpYnJhcnkgKGRpZCB5b3UgZm9yZ2V0IC1mcGljPykiCittc2dzdHIgImVycm9yOiB0aXBlIHJlbG9rYXNpIHRpZGFrIHNlc3VhaSB1bnR1ayBzaGFyZWQgbGlicmFyeSAoYXBha2FoIGFuZGEgbHVwYSAtZnBpYz8pIgorCisjOiBlbGYtbTEwMzAwLmM6MTYyMQorbXNnaWQgImludGVybmFsIGVycm9yOiBzdXNwaWNpb3VzIHJlbG9jYXRpb24gdHlwZSB1c2VkIGluIHNoYXJlZCBsaWJyYXJ5IgorbXNnc3RyICJpbnRlcm5hbCBlcnJvOiBzdXNwaWNpb3VzIHRpcGUgcmVsb2thc2kgZGlndW5ha2FuIGRhbGFtIHNoYXJlZCBsaWJyYXJ5IgorCisjOiBlbGYtbTEwMzAwLmM6NDM5NyBlbGYzMi1hcm0uYzo5NTc4IGVsZjMyLWNyaXMuYzoyNDAzIGVsZjMyLWhwcGEuYzoxOTIxCisjOiBlbGYzMi1pMzcwLmM6NTA2IGVsZjMyLWkzODYuYzoxODA3IGVsZjMyLW0zMnIuYzoxOTMxIGVsZjMyLW02OGsuYzoyNzg3CisjOiBlbGYzMi1wcGMuYzo0NjkzIGVsZjMyLXMzOTAuYzoxNjg3IGVsZjMyLXNoLmM6MjU4MyBlbGYzMi12YXguYzoxMDU1CisjOiBlbGY2NC1wcGMuYzo2MDc1IGVsZjY0LXMzOTAuYzoxNjYyIGVsZjY0LXNoNjQuYzozNDMyIGVsZjY0LXg4Ni02NC5jOjE2NDEKKyM6IGVsZnh4LXNwYXJjLmM6MTgyOAorIywgYy1mb3JtYXQKK21zZ2lkICJkeW5hbWljIHZhcmlhYmxlIGAlcycgaXMgemVybyBzaXplIgorbXNnc3RyICJ2YXJpYWJlbCBkaW5hbWlrIGAlcycgbWVtaWxpa2kgdWt1cmFuIG5vbCIKKworIzogZWxmLmM6MzI4Cittc2dpZCAiJUI6IGludmFsaWQgc3RyaW5nIG9mZnNldCAldSA+PSAlbHUgZm9yIHNlY3Rpb24gYCVzJyIKK21zZ3N0ciAiJUI6IHN0cmluZyBvZnNldCB0aWRhayB2YWxpZCAldSA+PSAlbHUgdW50dWsgYmFnaWFuIGAlcyciCisKKyM6IGVsZi5jOjQzOAorbXNnaWQgIiVCIHN5bWJvbCBudW1iZXIgJWx1IHJlZmVyZW5jZXMgbm9uZXhpc3RlbnQgU0hUX1NZTVRBQl9TSE5EWCBzZWN0aW9uIgorbXNnc3RyICIlQiBub21vciBzaW1ib2wgJWx1IHJlZmVyZW5zaSB0aWRhayBhZGEgU0hUX1NZTVRBQl9TSE5EWCBiYWdpYW4iCisKKyM6IGVsZi5jOjU5NAorbXNnaWQgIiVCOiBDb3JydXB0IHNpemUgZmllbGQgaW4gZ3JvdXAgc2VjdGlvbiBoZWFkZXI6IDB4JWx4IgorbXNnc3RyICIlQjogVWt1cmFuIGJhZ2lhbiBrb3J1cCBkYWxhbSBncnVwIGJhZ2lhbiBrZXBhbGE6IDB4JWx4IgorCisjOiBlbGYuYzo2MzAKK21zZ2lkICIlQjogaW52YWxpZCBTSFRfR1JPVVAgZW50cnkiCittc2dzdHIgIiVCOiBtYXN1a2FuIFNIVF9HUk9VUCB0aWRhayB2YWxpZCIKKworIzogZWxmLmM6NzAwCittc2dpZCAiJUI6IG5vIGdyb3VwIGluZm8gZm9yIHNlY3Rpb24gJUEiCittc2dzdHIgIiVCOiB0aWRhayBhZGEgaW5mb3JtYXNpIGdydXAgdW50dWsgYmFnaWFuICVBIgorCisjOiBlbGYuYzo3MjkgZWxmLmM6Mjk3NiBlbGZsaW5rLmM6OTc0NgorbXNnaWQgIiVCOiB3YXJuaW5nOiBzaF9saW5rIG5vdCBzZXQgZm9yIHNlY3Rpb24gYCVBJyIKK21zZ3N0ciAiJUI6IHBlcmluZ2F0YW46IHNoX2xpbmsgdGlkYWsgZGlzZXQgdW50dWsgYmFnaWFuIGAlQSciCisKKyM6IGVsZi5jOjc0OAorbXNnaWQgIiVCOiBzaF9saW5rIFslZF0gaW4gc2VjdGlvbiBgJUEnIGlzIGluY29ycmVjdCIKK21zZ3N0ciAiJUI6IHNoX2xpbmsgWyVsZF0gZGFsYW0gYmFnaWFuIGAlQScgdGlkYWsgYmVuYXIiCisKKyM6IGVsZi5jOjc4MworbXNnaWQgIiVCOiB1bmtub3duIFslZF0gc2VjdGlvbiBgJXMnIGluIGdyb3VwIFslc10iCittc2dzdHIgIiVCOiB0aWRhayBkaWtldGFodWkgWyVkXSBiYWdpYW4gYCVzJyBkYWxhbSBncnVwIFslc10iCisKKyM6IGVsZi5jOjExNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlByb2dyYW0gSGVhZGVyOlxuIgorbXNnc3RyICIiCisiXG4iCisiS2VwYWxhIEFwbGlrYXNpOlxuIgorCisjOiBlbGYuYzoxMjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJEeW5hbWljIFNlY3Rpb246XG4iCittc2dzdHIgIiIKKyJcbiIKKyJCYWdpYW4gRGluYW1pczpcbiIKKworIzogZWxmLmM6MTMzNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVmVyc2lvbiBkZWZpbml0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRlZmluaXNpIFZlcnNpOlxuIgorCisjOiBlbGYuYzoxMzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJWZXJzaW9uIFJlZmVyZW5jZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJSZWZlcmVuc2kgVmVyc2k6XG4iCisKKyM6IGVsZi5jOjEzNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICByZXF1aXJlZCBmcm9tICVzOlxuIgorbXNnc3RyICIgIGRpYnV0dWhrYW4gZGFyaSAlczpcbiIKKworIzogZWxmLmM6MTc1NQorbXNnaWQgIiVCOiBpbnZhbGlkIGxpbmsgJWx1IGZvciByZWxvYyBzZWN0aW9uICVzIChpbmRleCAldSkiCittc2dzdHIgIiVCOiBsaW5rIHRpZGFrIHZhbGlkICVsdSB1bnR1ayBiYWdpYW4gcmVsb2thc2kgJXMgKGluZGVrICV1KSIKKworIzogZWxmLmM6MTkyNAorbXNnaWQgIiVCOiBkb24ndCBrbm93IGhvdyB0byBoYW5kbGUgYWxsb2NhdGVkLCBhcHBsaWNhdGlvbiBzcGVjaWZpYyBzZWN0aW9uIGAlcycgWzB4JTh4XSIKK21zZ3N0ciAiJUI6IHRpZGFrIHRhaHUgYmFnYWltYW5hIG1lbmFuZ2FuaSBhbG9rYXNpLCBiYWdpYW4gc3Blc2lmaWsgYXBsaWthc2kgYCVzJyBbMHglOHhdIgorCisjOiBlbGYuYzoxOTM2Cittc2dpZCAiJUI6IGRvbid0IGtub3cgaG93IHRvIGhhbmRsZSBwcm9jZXNzb3Igc3BlY2lmaWMgc2VjdGlvbiBgJXMnIFsweCU4eF0iCittc2dzdHIgIiVCOiB0aWRhayB0YWh1IGJhZ2FpbWFuYSBtZW5hbmdhbmkgYmFnaWFuIHNwZXNpZmlrIHByb3Nlc29yIGAlcycgWzB4JTh4XSIKKworIzogZWxmLmM6MTk0NworbXNnaWQgIiVCOiBkb24ndCBrbm93IGhvdyB0byBoYW5kbGUgT1Mgc3BlY2lmaWMgc2VjdGlvbiBgJXMnIFsweCU4eF0iCittc2dzdHIgIiVCOiB0aWRhayB0YWh1IGJhZ2FpbWFuYSBtZW5hbmdhbmkgYmFnaWFuIHNwZXNpZmlrIE9TIGAlcycgWzB4JTh4XSIKKworIzogZWxmLmM6MTk1NworbXNnaWQgIiVCOiBkb24ndCBrbm93IGhvdyB0byBoYW5kbGUgc2VjdGlvbiBgJXMnIFsweCU4eF0iCittc2dzdHIgIiVCOiB0aWRhayB0YWh1IGJhZ2FpbWFuYSBtZW5hbmdhbmkgYmFnaWFuIGAlcycgWzB4JTh4XSIKKworIzogZWxmLmM6MjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBzZWN0aW9uIGAlQScgdHlwZSBjaGFuZ2VkIHRvIFBST0dCSVRTIgorbXNnc3RyICJwZXJpbmdhdGFuOiBiYWdpYW4gYCVBJyB0aXBlIGJlcnViYWgga2UgUFJPR0JJVFMiCisKKyM6IGVsZi5jOjI5MzMKK21zZ2lkICIlQjogc2hfbGluayBvZiBzZWN0aW9uIGAlQScgcG9pbnRzIHRvIGRpc2NhcmRlZCBzZWN0aW9uIGAlQScgb2YgYCVCJyIKK21zZ3N0ciAiJUI6IHNoX2xpbmsgZGFyaSBiYWdpYW4gYCVBJyBtZW51bmp1ayBrZSBiYWdpYW4gdGVyYnVhbmcgYCVBJyBkYXJpIGAlQiciCisKKyM6IGVsZi5jOjI5NTYKK21zZ2lkICIlQjogc2hfbGluayBvZiBzZWN0aW9uIGAlQScgcG9pbnRzIHRvIHJlbW92ZWQgc2VjdGlvbiBgJUEnIG9mIGAlQiciCittc2dzdHIgIiVCOiBzaF9saW5rIGRhcmkgYmFnaWFuIGAlQScgbWVudW5qdWsga2UgYmFnaWFuIHRlcmhhcHVzIGAlQScgZGFyaSBgJUInIgorCisjOiBlbGYuYzo0MzAwCittc2dpZCAiJUI6IFRoZSBmaXJzdCBzZWN0aW9uIGluIHRoZSBQVF9EWU5BTUlDIHNlZ21lbnQgaXMgbm90IHRoZSAuZHluYW1pYyBzZWN0aW9uIgorbXNnc3RyICIlQjogYmFnaWFuIHBlcnRhbWEgZGFsYW0gc2VnbWVuIFBUX0RZTkFNSUMgdGlkYWsgZGFsYW0gYmFnaWFuIC5keW5hbWljIgorCisjOiBlbGYuYzo0MzI3Cittc2dpZCAiJUI6IE5vdCBlbm91Z2ggcm9vbSBmb3IgcHJvZ3JhbSBoZWFkZXJzLCB0cnkgbGlua2luZyB3aXRoIC1OIgorbXNnc3RyICIlQjogdGlkYWsgY3VrdXAgcnVhbmcgdW50dWsga2VwYWxhIGFwbGlrYXNpLCBjb2JhIGxpbmtpbmcgZGVuZ2FuIC1OIgorCisjOiBlbGYuYzo0NDA0Cittc2dpZCAiJUI6IHNlY3Rpb24gJUEgdm1hIDB4JWx4IG92ZXJsYXBzIHByZXZpb3VzIHNlY3Rpb25zIgorbXNnc3RyICIlQjogYmFnaWFuICVBIHZtYSAweCVseCBvdmVybGFwcyBiYWdpYW4gc2ViZWx1bW55YSIKKworIzogZWxmLmM6NDQ5OQorbXNnaWQgIiVCOiBzZWN0aW9uIGAlQScgY2FuJ3QgYmUgYWxsb2NhdGVkIGluIHNlZ21lbnQgJWQiCittc2dzdHIgIiVCOiBiYWdpYW4gYCVBJyB0aWRhayBkYXBhdCBkaWFsb2thc2lrYW4gZGFsYW0gc2VnbWVuICVkIgorCisjOiBlbGYuYzo0NTQ5Cittc2dpZCAiJUI6IHdhcm5pbmc6IGFsbG9jYXRlZCBzZWN0aW9uIGAlcycgbm90IGluIHNlZ21lbnQiCittc2dzdHIgIiVCOiBwZXJpbmdhdGFuOiBhbG9rYXNpIGJhZ2lhbiBgJXMnIHRpZGFrIGRhbGFtIHNlZ21lbiIKKworIzogZWxmLmM6NTA2NAorbXNnaWQgIiVCOiBzeW1ib2wgYCVzJyByZXF1aXJlZCBidXQgbm90IHByZXNlbnQiCittc2dzdHIgIiVCOiBzaW1ib2wgYCVzJyBkaWJ1dHVoa2FuIHRldGFwaSB0aWRhayBhZGEiCisKKyM6IGVsZi5jOjU0MDMKK21zZ2lkICIlQjogd2FybmluZzogRW1wdHkgbG9hZGFibGUgc2VnbWVudCBkZXRlY3RlZCwgaXMgdGhpcyBpbnRlbnRpb25hbCA/XG4iCittc2dzdHIgIiVCOiBwZXJpbmdhdGFuOiBsb2FkYWJsZSBzZWdtZW4ga29zb25nIHRlcmRldGVrc2ksIGFwYWthaCBpbmkgc2VuZ2FqYSA/XG4iCisKKyM6IGVsZi5jOjYzNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGZpbmQgZXF1aXZhbGVudCBvdXRwdXQgc2VjdGlvbiBmb3Igc3ltYm9sICclcycgZnJvbSBzZWN0aW9uICclcyciCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmVtdWthbiBiYWdpYW4ga2VsdWFyYW4gZWt1aXZhbGVuIHVudHVrIHNpbWJvbCAnJXMnIGRhcmkgYmFnaWFuICclcyciCisKKyM6IGVsZi5jOjczNDYKK21zZ2lkICIlQjogdW5zdXBwb3J0ZWQgcmVsb2NhdGlvbiB0eXBlICVzIgorbXNnc3RyICIlQjogdGlwZSByZWxva2FzaSB0aWRhayBkaWR1a3VuZyAlcyIKKworIzogZWxmMzItYXJtLmM6Mjg0NiBlbGYzMi1hcm0uYzoyODc4Cittc2dpZCAiIgorIiVCKCVzKTogd2FybmluZzogaW50ZXJ3b3JraW5nIG5vdCBlbmFibGVkLlxuIgorIiAgZmlyc3Qgb2NjdXJyZW5jZTogJUI6IFRodW1iIGNhbGwgdG8gQVJNIgorbXNnc3RyICIiCisiJUIoJXMpOiBwZXJpbmdhdGFuOiBhbnRhci1rZXJqYSB0aWRhayBha3RpZi5cbiIKKyIgIHBlcnRlbXVhbiBwZXJ0YW1hOiAlQjogVGh1bWIgY2FsbCBrZSBBUk0iCisKKyM6IGVsZjMyLWFybS5jOjMwNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGUgc3R1YiBlbnRyeSAlcyIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbWJ1YXQgbWFzdWthbiBzdHViICVzIgorCisjOiBlbGYzMi1hcm0uYzozODI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmaW5kIFRIVU1CIGdsdWUgJyVzJyBmb3IgJyVzJyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW11a2FuIFRIVU1CIGxlbSAnJXMnIHVudHVrICclcyciCisKKyM6IGVsZjMyLWFybS5jOjM4NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZpbmQgQVJNIGdsdWUgJyVzJyBmb3IgJyVzJyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW11a2FuIEFSTSBsZW0gJyVzJyB1bnR1ayAnJXMnIgorCisjOiBlbGYzMi1hcm0uYzo0NDYzCittc2dpZCAiJUI6IEJFOCBpbWFnZXMgb25seSB2YWxpZCBpbiBiaWctZW5kaWFuIG1vZGUuIgorbXNnc3RyICIlQjogaGFueWEgaW1hZ2VzIEJFOCB2YWxpZCBkYWxhbSBtb2RlIGJpZy1lbmRpYW4uIgorCisjLiBHaXZlIGEgd2FybmluZywgYnV0IGRvIGFzIHRoZSB1c2VyIHJlcXVlc3RzIGFueXdheS4KKyM6IGVsZjMyLWFybS5jOjQ2NzgKK21zZ2lkICIlQjogd2FybmluZzogc2VsZWN0ZWQgVkZQMTEgZXJyYXR1bSB3b3JrYXJvdW5kIGlzIG5vdCBuZWNlc3NhcnkgZm9yIHRhcmdldCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiVCOiBwZXJpbmdhdGFuOiBtZW1pbGloIFZGUDExIGVycmF0dW0gcGVueWVsZXNhaWFuIGFkYWxhaCB0aWRhayBkaXBlcmx1a2FuIHVudHVrIGFyc2l0ZWt0dXIgdGFyZ2V0IgorCisjOiBlbGYzMi1hcm0uYzo1MjEyIGVsZjMyLWFybS5jOjUyMzIKK21zZ2lkICIlQjogdW5hYmxlIHRvIGZpbmQgVkZQMTEgdmVuZWVyIGAlcyciCittc2dzdHIgIiVCOiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gVkZQMTEgdmVuZWVyIGAlcyciCisKKyM6IGVsZjMyLWFybS5jOjUyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBUQVJHRVQyIHJlbG9jYXRpb24gdHlwZSAnJXMnLiIKK21zZ3N0ciAiVGlwZSByZWxva2FzaSAnJXMnIFRBUkdFVDIgdGlkYWsgdmFsaWQuIgorCisjOiBlbGYzMi1hcm0uYzo1MzYyCittc2dpZCAiIgorIiVCKCVzKTogd2FybmluZzogaW50ZXJ3b3JraW5nIG5vdCBlbmFibGVkLlxuIgorIiAgZmlyc3Qgb2NjdXJyZW5jZTogJUI6IHRodW1iIGNhbGwgdG8gYXJtIgorbXNnc3RyICIiCisiJUIoJXMpOiBwZXJpbmdhdGFuOiBhbnRhci1rZXJqYSB0aWRhayBha3RpZi5cbiIKKyIgIHBlcnRlbXVhbiBwZXJ0YW1hOiAlQjogdGh1bWIgY2FsbCBrZSBhcm0iCisKKyM6IGVsZjMyLWFybS5jOjYwOTQKK21zZ2lkICJcXCVCOiBXYXJuaW5nOiBBcm0gQkxYIGluc3RydWN0aW9uIHRhcmdldHMgQXJtIGZ1bmN0aW9uICclcycuIgorbXNnc3RyICJcXCVCOiBQZXJpbmdhdGFuOiBBcm0gQkxLIGluc3RydWtzaSB0YXJnZXQgQXJtIGZ1bmdzaSAnJXMnLiIKKworIzogZWxmMzItYXJtLmM6NjQxOAorbXNnaWQgIiVCOiBXYXJuaW5nOiBUaHVtYiBCTFggaW5zdHJ1Y3Rpb24gdGFyZ2V0cyB0aHVtYiBmdW5jdGlvbiAnJXMnLiIKK21zZ3N0ciAiJUI6IFBlcmluZ2F0YW46IFRodW1iIEJMWCBpbnN0cnVrc2kgdGFyZ2V0IHRodW1iIGZ1bmdzaSAnJXMnLiIKKworIzogZWxmMzItYXJtLmM6NzA5NQorbXNnaWQgIiVCKCVBKzB4JWx4KTogUl9BUk1fVExTX0xFMzIgcmVsb2NhdGlvbiBub3QgcGVybWl0dGVkIGluIHNoYXJlZCBvYmplY3QiCittc2dzdHIgIiVCKCVBKzB4JWx4KTogUl9BUk1fVExTX0xFMzIgcmVsb2thc2kgdGlkYWsgZGlwZXJib2xlaGthbiBkYWxhbSBvYmplayB0ZXJiYWdpIgorCisjOiBlbGYzMi1hcm0uYzo3MzEwCittc2dpZCAiJUIoJUErMHglbHgpOiBPbmx5IEFERCBvciBTVUIgaW5zdHJ1Y3Rpb25zIGFyZSBhbGxvd2VkIGZvciBBTFUgZ3JvdXAgcmVsb2NhdGlvbnMiCittc2dzdHIgIiVCKCVBKzB4JWx4KTogSGFueWEgQUREIGF0YXUgU1VCIGluc3RydWtzaSB5YW5nIGRpcGVyYm9sZWhrYW4gdW50dWsgZ3J1cCBBTFUgcmVsb2thc2kiCisKKyM6IGVsZjMyLWFybS5jOjczNTAgZWxmMzItYXJtLmM6NzQzNyBlbGYzMi1hcm0uYzo3NTIwIGVsZjMyLWFybS5jOjc2MDUKK21zZ2lkICIlQiglQSsweCVseCk6IE92ZXJmbG93IHdoaWxzdCBzcGxpdHRpbmcgMHglbHggZm9yIGdyb3VwIHJlbG9jYXRpb24gJXMiCittc2dzdHIgIiVCKCVBKzB4JWx4KTogT3ZlcmZsb3cga2V0aWthIG1lbWJhZ2kgMHglbHggdW50dWsgcmVsb2thc2kgZ3J1cCAlcyIKKworIzogZWxmMzItYXJtLmM6NzgxMiBlbGYzMi1zaC5jOjMzMzQgZWxmNjQtc2g2NC5jOjE1NTYKK21zZ2lkICIlQiglQSsweCVseCk6ICVzIHJlbG9jYXRpb24gYWdhaW5zdCBTRUNfTUVSR0Ugc2VjdGlvbiIKK21zZ3N0ciAiJUIoJUErMHglbHgpOiAlcyByZWxva2FzaSB0ZXJoYWRhcCBiYWdpYW4gU0VDX01FUkdFIgorCisjOiBlbGYzMi1hcm0uYzo3OTMwIGVsZjMyLXh0ZW5zYS5jOjI3NTkgZWxmNjQtcHBjLmM6MTAzNzQKK21zZ2lkICIlQiglQSsweCVseCk6ICVzIHVzZWQgd2l0aCBUTFMgc3ltYm9sICVzIgorbXNnc3RyICIlQiglQSsweCVseCk6ICVzIGRpZ3VuYWthbiBkZW5nYW4gc2ltYm9sIFRMUyAlcyIKKworIzogZWxmMzItYXJtLmM6NzkzMSBlbGYzMi14dGVuc2EuYzoyNzYwIGVsZjY0LXBwYy5jOjEwMzc1Cittc2dpZCAiJUIoJUErMHglbHgpOiAlcyB1c2VkIHdpdGggbm9uLVRMUyBzeW1ib2wgJXMiCittc2dzdHIgIiVCKCVBKzB4JWx4KTogJXMgZGlndW5ha2FuIGRlbmdhbiBzaW1ib2wgYnVrYW4tVExTICVzIgorCisjOiBlbGYzMi1hcm0uYzo3OTg4Cittc2dpZCAib3V0IG9mIHJhbmdlIgorbXNnc3RyICJkaWx1YXIgamFuZ2thdWFuIgorCisjOiBlbGYzMi1hcm0uYzo3OTkyCittc2dpZCAidW5zdXBwb3J0ZWQgcmVsb2NhdGlvbiIKK21zZ3N0ciAicmVsb2thc2kgdGlkYWsgZGlkdWt1bmciCisKKyM6IGVsZjMyLWFybS5jOjgwMDAKK21zZ2lkICJ1bmtub3duIGVycm9yIgorbXNnc3RyICJlcnJvciB0aWRhayBkaWtldGFodWkiCisKKyM6IGVsZjMyLWFybS5jOjgwOTkKK21zZ2lkICJXYXJuaW5nOiBDbGVhcmluZyB0aGUgaW50ZXJ3b3JraW5nIGZsYWcgb2YgJUIgYmVjYXVzZSBub24taW50ZXJ3b3JraW5nIGNvZGUgaW4gJUIgaGFzIGJlZW4gbGlua2VkIHdpdGggaXQiCittc2dzdHIgIlBlcmluZ2F0YW46IE1lbmdoYXB1cyB0YW5kYSBhbnRhci1rZXJqYSBkYXJpICVCIGthcmVuYSBidWthbiBrb2RlIGFudGFyLWtlcmphIGRhbGFtICVCIHRlbGFoIGRpaHVidW5na2FuIGRlbmdhbiBpdHUiCisKKyM6IGVsZjMyLWFybS5jOjgyMDUKK21zZ2lkICJFUlJPUjogJUIgdXNlcyBWRlAgcmVnaXN0ZXIgYXJndW1lbnRzLCAlQiBkb2VzIG5vdCIKK21zZ3N0ciAiRVJST1I6ICVCIG1lbmdndW5ha2FuIHJlZ3VzdGVyIGFyZ3VtZW4gVkZQLCAlQiB0aWRhayIKKworIzogZWxmMzItYXJtLmM6ODI1NAorbXNnaWQgIkVSUk9SOiAlQjogQ29uZmxpY3RpbmcgYXJjaGl0ZWN0dXJlIHByb2ZpbGVzICVjLyVjIgorbXNnc3RyICJFUlJPUjogJUI6IFByb2ZpbCBhcnNpdGVrdHVyIGtvbmZsaWsgJWMvJWMiCisKKyM6IGVsZjMyLWFybS5jOjgyNzQKK21zZ2lkICJXYXJuaW5nOiAlQjogQ29uZmxpY3RpbmcgcGxhdGZvcm0gY29uZmlndXJhdGlvbiIKK21zZ3N0ciAiUGVyaW5nYXRhbjogJUI6IEtvbmZsaWsga29uZmlndXJhc2kgcGxhdGZvcm0iCisKKyM6IGVsZjMyLWFybS5jOjgyODMKK21zZ2lkICJFUlJPUjogJUI6IENvbmZsaWN0aW5nIHVzZSBvZiBSOSIKK21zZ3N0ciAiRVJST1I6ICVCOiBLb25mbGlrIHBlbmdndW5hYW4gUjkiCisKKyM6IGVsZjMyLWFybS5jOjgyOTUKK21zZ2lkICJFUlJPUjogJUI6IFNCIHJlbGF0aXZlIGFkZHJlc3NpbmcgY29uZmxpY3RzIHdpdGggdXNlIG9mIFI5IgorbXNnc3RyICJFUlJPUjogJUI6IFNCIHBlbmdhbGFtYXRhbiByZWxhdGlmIGtvbmZsaWsgZGVuZ2FuIHBlbmdndW5hYW4gZGFyaSBSOSIKKworIzogZWxmMzItYXJtLmM6ODMxOAorbXNnaWQgIndhcm5pbmc6ICVCIHVzZXMgJXUtYnl0ZSB3Y2hhcl90IHlldCB0aGUgb3V0cHV0IGlzIHRvIHVzZSAldS1ieXRlIHdjaGFyX3Q7IHVzZSBvZiB3Y2hhcl90IHZhbHVlcyBhY3Jvc3Mgb2JqZWN0cyBtYXkgZmFpbCIKK21zZ3N0ciAicGVyaW5nYXRhbjogJUIgbWVuZ2d1bmFrYW4gJXUtYnl0ZSB3Y2hhcl90IHRhcGkga2VsdWFyYW4gbWVuZ2d1bmFrYW4gJXUtYnl0ZSB3Y2hhcl90OyBtZW5nZ3VuYWthbiBuaWxhaSB3Y2hhcl90IG1lbGV3YXRpIG9iamVrIG11bmdraW4gZ2FnYWwiCisKKyM6IGVsZjMyLWFybS5jOjgzNDcKK21zZ2lkICJ3YXJuaW5nOiAlQiB1c2VzICVzIGVudW1zIHlldCB0aGUgb3V0cHV0IGlzIHRvIHVzZSAlcyBlbnVtczsgdXNlIG9mIGVudW0gdmFsdWVzIGFjcm9zcyBvYmplY3RzIG1heSBmYWlsIgorbXNnc3RyICJwZXJpbmdhdGFuOiAlQiBtZW5nZ3VuYWthbiAlcyBlbnVtcyB0YXBpIGtlbHVhcmFuIG1lbmdndW5ha2FuICVzIGVudW1zOyBtZW5nZ3VuYWthbiBuaWxhaSBkYXJpIGVudW0gZGFyaSBvYmplayBtdW5na2luIGdhZ2FsIgorCisjOiBlbGYzMi1hcm0uYzo4MzYwCittc2dpZCAiRVJST1I6ICVCIHVzZXMgaVdNTVh0IHJlZ2lzdGVyIGFyZ3VtZW50cywgJUIgZG9lcyBub3QiCittc2dzdHIgIkVSUk9SOiAlQiBtZW5nZ3VuYWthbiBpV01NWHQgYXJndW1lbiByZWdpc3RlciwgJUIgdGlkYWsiCisKKyM6IGVsZjMyLWFybS5jOjg0MDAKK21zZ2lkICJXYXJuaW5nOiAlQjogVW5rbm93biBFQUJJIG9iamVjdCBhdHRyaWJ1dGUgJWQiCittc2dzdHIgIlBlcmluZ2F0YW46ICVCOiBhdHJpYnV0IG9iamVrIEVBQkkgdGlkYWsgZGlrZXRhaHVpICVkIgorCisjOiBlbGYzMi1hcm0uYzo4NDYwCittc2dpZCAiRVJST1I6ICVCIGlzIGFscmVhZHkgaW4gZmluYWwgQkU4IGZvcm1hdCIKK21zZ3N0ciAiRVJST1I6ICVCIHRlbGFoIGRhbGFtIGZvcm1hdCBha2hpciBCRTgiCisKKyM6IGVsZjMyLWFybS5jOjg1MzYKK21zZ2lkICJFUlJPUjogU291cmNlIG9iamVjdCAlQiBoYXMgRUFCSSB2ZXJzaW9uICVkLCBidXQgdGFyZ2V0ICVCIGhhcyBFQUJJIHZlcnNpb24gJWQiCittc2dzdHIgIkVSUk9SOiBTdW1iZXIgb2JqZWsgJUIgbWVtaWxpa2kgdmVyc2kgRUFCSSAlZCwgdGV0YXBpIHRhcmdldCAlQiBtZW1pbGlraSB2ZXJzaSBFQUJJICVkIgorCisjOiBlbGYzMi1hcm0uYzo4NTUyCittc2dpZCAiRVJST1I6ICVCIGlzIGNvbXBpbGVkIGZvciBBUENTLSVkLCB3aGVyZWFzIHRhcmdldCAlQiB1c2VzIEFQQ1MtJWQiCittc2dzdHIgIkVSUk9SOiAlQiBkaWtvbXBpbGUgdW50dWsgQVBDUy0lZCwgZGltYW5hIHRhcmdldCAlQiBtZW5nZ3VuYWthbiBBUENTLSVkIgorCisjOiBlbGYzMi1hcm0uYzo4NTc3Cittc2dpZCAiRVJST1I6ICVCIHVzZXMgVkZQIGluc3RydWN0aW9ucywgd2hlcmVhcyAlQiBkb2VzIG5vdCIKK21zZ3N0ciAiRVJST1I6ICVCIG1lbmdndW5ha2FuIFZGUCBpbnN0cnVrc2ksIGRpbWFuYSAlQiB0aWRhayIKKworIzogZWxmMzItYXJtLmM6ODU4MQorbXNnaWQgIkVSUk9SOiAlQiB1c2VzIEZQQSBpbnN0cnVjdGlvbnMsIHdoZXJlYXMgJUIgZG9lcyBub3QiCittc2dzdHIgIkVSUk9SOiAlQiBtZW5nZ3VuYWthbiBGUEEgaW5zdHJ1a3NpLCBkaW1hbmEgJUIgdGlkYWsiCisKKyM6IGVsZjMyLWFybS5jOjg1OTEKK21zZ2lkICJFUlJPUjogJUIgdXNlcyBNYXZlcmljayBpbnN0cnVjdGlvbnMsIHdoZXJlYXMgJUIgZG9lcyBub3QiCittc2dzdHIgIkVSUk9SOiAlQiBtZW5nZ3VuYWthbiBNYXZlcmljayBpbnN0cnVrc2ksIGRpbWFuYSAlQiB0aWRhayIKKworIzogZWxmMzItYXJtLmM6ODU5NQorbXNnaWQgIkVSUk9SOiAlQiBkb2VzIG5vdCB1c2UgTWF2ZXJpY2sgaW5zdHJ1Y3Rpb25zLCB3aGVyZWFzICVCIGRvZXMiCittc2dzdHIgIkVSUk9SOiAlQiB0aWRhayBtZW5nZ3VuYWthbiBNYXZlcmljIGluc3RydWtzaSwgZGltYW5hICVCIG1lbmdndW5ha2FuIgorCisjOiBlbGYzMi1hcm0uYzo4NjE0Cittc2dpZCAiRVJST1I6ICVCIHVzZXMgc29mdHdhcmUgRlAsIHdoZXJlYXMgJUIgdXNlcyBoYXJkd2FyZSBGUCIKK21zZ3N0ciAiRVJST1I6ICVCIG1lbmdndW5ha2FuIHNvZnR3YXJlIEZQLCBkaW1hbmEgJUIgbWVuZ2d1bmFrYW4gaGFyZHdhcmUgRlAiCisKKyM6IGVsZjMyLWFybS5jOjg2MTgKK21zZ2lkICJFUlJPUjogJUIgdXNlcyBoYXJkd2FyZSBGUCwgd2hlcmVhcyAlQiB1c2VzIHNvZnR3YXJlIEZQIgorbXNnc3RyICJFUlJPUjogJUIgbWVuZ2d1bmFrYW4gaGFyZHdhcmUgRlAsIGRpbWFuYSAlQiBtZW5nZ3VuYWthbiBzb2Z0d2FyZSBGUCIKKworIy4gSWdub3JlIGluaXQgZmxhZyAtIGl0IG1heSBub3QgYmUgc2V0LCBkZXNwaXRlIHRoZSBmbGFncyBmaWVsZAorIy4gY29udGFpbmluZyB2YWxpZCBkYXRhLgorIy4gSWdub3JlIGluaXQgZmxhZyAtIGl0IG1heSBub3QgYmUgc2V0LCBkZXNwaXRlIHRoZSBmbGFncyBmaWVsZCBjb250YWluaW5nIHZhbGlkIGRhdGEuCisjOiBlbGYzMi1hcm0uYzo4NjY1IGVsZjMyLWJmaW4uYzo0ODk5IGVsZjMyLWNyaXMuYzozMjM1IGVsZjMyLW02OGhjMXguYzoxMjc5CisjOiBlbGYzMi1tNjhrLmM6Nzc0IGVsZjMyLXNjb3JlLmM6Mzc1MCBlbGYzMi12YXguYzo1MzggZWxmeHgtbWlwcy5jOjEyNjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInByaXZhdGUgZmxhZ3MgPSAlbHg6IgorbXNnc3RyICJ0YW5kYSBwcml2YXRlID0gJWx4OiIKKworIzogZWxmMzItYXJtLmM6ODY3NAorIywgYy1mb3JtYXQKK21zZ2lkICIgW2ludGVyd29ya2luZyBlbmFibGVkXSIKK21zZ3N0ciAiIFthbnRhci1rZXJqYSBha3RpZl0iCisKKyM6IGVsZjMyLWFybS5jOjg2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFtWRlAgZmxvYXQgZm9ybWF0XSIKK21zZ3N0ciAiIFtWRlAgZmxvYXQgZm9ybWF0XSIKKworIzogZWxmMzItYXJtLmM6ODY4NAorIywgYy1mb3JtYXQKK21zZ2lkICIgW01hdmVyaWNrIGZsb2F0IGZvcm1hdF0iCittc2dzdHIgIiBbTWF2ZXJpY2sgZmxvYXQgZm9ybWF0XSIKKworIzogZWxmMzItYXJtLmM6ODY4NgorIywgYy1mb3JtYXQKK21zZ2lkICIgW0ZQQSBmbG9hdCBmb3JtYXRdIgorbXNnc3RyICIgW0ZQQSBmbG9hdCBmb3JtYXRdIgorCisjOiBlbGYzMi1hcm0uYzo4Njk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiBbbmV3IEFCSV0iCittc2dzdHIgIiBbQUJJIGJhcnVdIgorCisjOiBlbGYzMi1hcm0uYzo4Njk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiBbb2xkIEFCSV0iCittc2dzdHIgIiBbQUJJIGxhbWFdIgorCisjOiBlbGYzMi1hcm0uYzo4NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiBbc29mdHdhcmUgRlBdIgorbXNnc3RyICIgW3NvZnR3YXJlIEZQXSIKKworIzogZWxmMzItYXJtLmM6ODcxMAorIywgYy1mb3JtYXQKK21zZ2lkICIgW1ZlcnNpb24xIEVBQkldIgorbXNnc3RyICIgW0VBQkkgVmVyc2kgMV0iCisKKyM6IGVsZjMyLWFybS5jOjg3MTMgZWxmMzItYXJtLmM6ODcyNAorIywgYy1mb3JtYXQKK21zZ2lkICIgW3NvcnRlZCBzeW1ib2wgdGFibGVdIgorbXNnc3RyICIgW3NpbWJvbCB0YWJlbCB0ZXJ1cnV0XSIKKworIzogZWxmMzItYXJtLmM6ODcxNSBlbGYzMi1hcm0uYzo4NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiBbdW5zb3J0ZWQgc3ltYm9sIHRhYmxlXSIKK21zZ3N0ciAiIFtzaW1ib2wgdGFiZWwgdGlkYWsgdGVydXJ1dF0iCisKKyM6IGVsZjMyLWFybS5jOjg3MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFtWZXJzaW9uMiBFQUJJXSIKK21zZ3N0ciAiIFtFQUJJIFZlcnNpIDJdIgorCisjOiBlbGYzMi1hcm0uYzo4NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiBbZHluYW1pYyBzeW1ib2xzIHVzZSBzZWdtZW50IGluZGV4XSIKK21zZ3N0ciAiIFtzaW1ib2wgZGluYW1pcyBtZW5nZ3VuYWthbiBzZWdtZW4gaW5kZWtdIgorCisjOiBlbGYzMi1hcm0uYzo4NzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiBbbWFwcGluZyBzeW1ib2xzIHByZWNlZGUgb3RoZXJzXSIKK21zZ3N0ciAiIFtzaW1ib2wgbWFwIG1lbmRhaHVsdWkgeWFuZyBsYWluXSIKKworIzogZWxmMzItYXJtLmM6ODczOQorIywgYy1mb3JtYXQKK21zZ2lkICIgW1ZlcnNpb24zIEVBQkldIgorbXNnc3RyICIgW0VBQkkgVmVyc2kgM10iCisKKyM6IGVsZjMyLWFybS5jOjg3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFtWZXJzaW9uNCBFQUJJXSIKK21zZ3N0ciAiIFtFQUJJIFZlcnNpIDRdIgorCisjOiBlbGYzMi1hcm0uYzo4NzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiBbVmVyc2lvbjUgRUFCSV0iCittc2dzdHIgIiBbRUFCSSBWZXJzaSA1XSIKKworIzogZWxmMzItYXJtLmM6ODc1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgW0JFOF0iCittc2dzdHIgIiBbQkU4XSIKKworIzogZWxmMzItYXJtLmM6ODc1MworIywgYy1mb3JtYXQKK21zZ2lkICIgW0xFOF0iCittc2dzdHIgIiBbTEU4XSIKKworIzogZWxmMzItYXJtLmM6ODc1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgPEVBQkkgdmVyc2lvbiB1bnJlY29nbmlzZWQ+IgorbXNnc3RyICIgPEVBQkkgdmVyc2kgdGlkYWsgZGlrZW5hbD4iCisKKyM6IGVsZjMyLWFybS5jOjg3NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFtyZWxvY2F0YWJsZSBleGVjdXRhYmxlXSIKK21zZ3N0ciAiIFtyZWxvY2F0YWJsZSBleGVjdXRhYmxlXSIKKworIzogZWxmMzItYXJtLmM6ODc2OQorIywgYy1mb3JtYXQKK21zZ2lkICIgW2hhcyBlbnRyeSBwb2ludF0iCittc2dzdHIgIiBbbWVtaWxpa2kgdGl0aWsgbWFzdWtdIgorCisjOiBlbGYzMi1hcm0uYzo4Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIjxVbnJlY29nbmlzZWQgZmxhZyBiaXRzIHNldD4iCittc2dzdHIgIjxUYW5kYSBiaXQgdGlkYWsgZGlrZW5hbCB0ZXJzZXQ+IgorCisjOiBlbGYzMi1hcm0uYzo5MDEzIGVsZjMyLWkzODYuYzoxMjM2IGVsZjMyLXMzOTAuYzoxMDA2IGVsZjMyLXh0ZW5zYS5jOjk5OQorIzogZWxmNjQtczM5MC5jOjk2MSBlbGY2NC14ODYtNjQuYzoxMDE2IGVsZnh4LXNwYXJjLmM6MTEyNworbXNnaWQgIiVCOiBiYWQgc3ltYm9sIGluZGV4OiAlZCIKK21zZ3N0ciAiJUI6IG1lbWlsaWtpIGluZGVrIHNpbWJvbDogJWQiCisKKyM6IGVsZjMyLWFybS5jOjEwMTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkVycm9ycyBlbmNvdW50ZXJlZCBwcm9jZXNzaW5nIGZpbGUgJXMiCittc2dzdHIgIkVycm9ycyBkaXRlbXVpIGRhbGFtIHBlbXJvc2VzYW4gYmVya2FzICVzIgorCisjOiBlbGYzMi1hcm0uYzoxMTUyNiBlbGYzMi1hcm0uYzoxMTU0OAorbXNnaWQgIiVCOiBlcnJvcjogVkZQMTEgdmVuZWVyIG91dCBvZiByYW5nZSIKK21zZ3N0ciAiJUI6IGVycm9yOiBWRlAxMSB2ZW5lZXIgZGlsdWFyIGphbmdrYXVhbiIKKworIzogZWxmMzItYXZyLmM6MTI1OCBlbGYzMi1iZmluLmM6MzIyMiBlbGYzMi1jcmlzLmM6MTU0NiBlbGYzMi1mcjMwLmM6NjI0CisjOiBlbGYzMi1mcnYuYzo0MTIyIGVsZjMyLWk4NjAuYzoxMjI2IGVsZjMyLWlwMmsuYzoxNTEwIGVsZjMyLWlxMjAwMC5jOjY5OQorIzogZWxmMzItbTMyYy5jOjU2OCBlbGYzMi1tZXAuYzo1NDkgZWxmMzItbXNwNDMwLmM6NTAxIGVsZjMyLW10LmM6NDA2CisjOiBlbGYzMi1vcGVucmlzYy5jOjQxOSBlbGYzMi12ODUwLmM6MTcxMSBlbGYzMi14c3Rvcm15MTYuYzo5NTYKKyM6IGVsZjY0LW1taXguYzoxNTQxCittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGRhbmdlcm91cyByZWxvY2F0aW9uIgorbXNnc3RyICJpbnRlcm5hbCBlcnJvcjogcmVsb2thc2kgYmVyYmFoYXlhIgorCisjOiBlbGYzMi1hdnIuYzoyMzk2IGVsZjMyLWhwcGEuYzo2MDUgZWxmMzItbTY4aGMxeC5jOjE2NCBlbGY2NC1wcGMuYzozOTgzCittc2dpZCAiJUI6IGNhbm5vdCBjcmVhdGUgc3R1YiBlbnRyeSAlcyIKK21zZ3N0ciAiJUI6IHRpZGFrIGRhcGF0IG1lbWJ1YXQgbWFzdWthbiBzdHViICVzIgorCisjOiBlbGYzMi1iZmluLmM6MTU4NQorbXNnaWQgIiVCKCVBKzB4JWx4KTogdW5yZXNvbHZhYmxlIHJlbG9jYXRpb24gYWdhaW5zdCBzeW1ib2wgYCVzJyIKK21zZ3N0ciAiJUIoJUErMHglbHgpOiByZWxva2FzaSB0aWRhayB0ZXJlc29sZiB0ZXJoYWRhcCBzaW1ib2wgYCVzJyIKKworIzogZWxmMzItYmZpbi5jOjE2MTggZWxmMzItaTM4Ni5jOjM2MjMgZWxmMzItbTY4ay5jOjM1NTcgZWxmMzItczM5MC5jOjMxMTAKKyM6IGVsZjY0LXMzOTAuYzozMDcxIGVsZjY0LXg4Ni02NC5jOjMyNzgKK21zZ2lkICIlQiglQSsweCVseCk6IHJlbG9jIGFnYWluc3QgYCVzJzogZXJyb3IgJWQiCittc2dzdHIgIiVCKCVBKzB4JWx4KTogcmVsb2thc2kgdGVyaGFkYXAgYCVzJzogZXJyb3IgJWQiCisKKyM6IGVsZjMyLWJmaW4uYzoyNzExCittc2dpZCAiJUI6IHJlbG9jYXRpb24gYXQgYCVBKzB4JXgnIHJlZmVyZW5jZXMgc3ltYm9sIGAlcycgd2l0aCBub256ZXJvIGFkZGVuZCIKK21zZ3N0ciAiJUI6IHJlbG9rYXNpIGRpIGAlQSsweCV4JyBzaW1ib2wgcmVmZXJlbnNpIGAlcycgZGVuZ2FuIGJ1a2FuIG5vbCBkaXRhbWJhaGthbiIKKworIzogZWxmMzItYmZpbi5jOjI3MjUgZWxmMzItZnJ2LmM6MjkwNAorbXNnaWQgInJlbG9jYXRpb24gcmVmZXJlbmNlcyBzeW1ib2wgbm90IGRlZmluZWQgaW4gdGhlIG1vZHVsZSIKK21zZ3N0ciAicmVsb2thc2kgcmVmZXJlbnNpIHNpbWJvbCB0aWRhayBkaWRlZmluaXNpa2FuIGRhbGFtIG1vZHVsIgorCisjOiBlbGYzMi1iZmluLmM6MjgyMgorbXNnaWQgIlJfQkZJTl9GVU5DREVTQyByZWZlcmVuY2VzIGR5bmFtaWMgc3ltYm9sIHdpdGggbm9uemVybyBhZGRlbmQiCittc2dzdHIgIlJfQkZJTl9GVU5DREVTQyByZWZlcmVuc2kgc2ltYm9sIGRpbmFtaXMgZGVuZ2FuIGJ1a2FuIG5vbCBkaXRhbWJhaGthbiIKKworIzogZWxmMzItYmZpbi5jOjI4NjEgZWxmMzItYmZpbi5jOjI5ODcgZWxmMzItZnJ2LmM6MzY0MSBlbGYzMi1mcnYuYzozNzYyCittc2dpZCAiY2Fubm90IGVtaXQgZml4dXBzIGluIHJlYWQtb25seSBzZWN0aW9uIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5nZWx1YXJrYW4gZml4dXBzIGRhbGFtIGJhZ2lhbiBiYWNhLXNhamEiCisKKyM6IGVsZjMyLWJmaW4uYzoyODg5IGVsZjMyLWJmaW4uYzozMDM2IGVsZjMyLWZydi5jOjM2NzIgZWxmMzItZnJ2LmM6MzgwNgorbXNnaWQgImNhbm5vdCBlbWl0IGR5bmFtaWMgcmVsb2NhdGlvbnMgaW4gcmVhZC1vbmx5IHNlY3Rpb24iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdlbHVhcmthbiByZWxva2FzaSBkaW5hbWlzIGRhbGFtIGJhZ2lhbiBiYWNhLXNhamEiCisKKyM6IGVsZjMyLWJmaW4uYzoyOTQ1Cittc2dpZCAiUl9CRklOX0ZVTkNERVNDX1ZBTFVFIHJlZmVyZW5jZXMgZHluYW1pYyBzeW1ib2wgd2l0aCBub256ZXJvIGFkZGVuZCIKK21zZ3N0ciAiUl9CRklOX0ZVTkNERVNDX1ZBTFVFIHJlZmVyZW5zaSBzaW1ib2wgZGluYW1pcyBkZW5nYW4gYnVrYW4gbm9sIGRpdGFtYmFoa2FuIgorCisjOiBlbGYzMi1iZmluLmM6MzEyNgorbXNnaWQgInJlbG9jYXRpb25zIGJldHdlZW4gZGlmZmVyZW50IHNlZ21lbnRzIGFyZSBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJyZWxva2FzaSBkaWFudGFyYSBzZWdtZW4gYmVyYmVkYSB0aWRhayBkaWR1a3VuZyIKKworIzogZWxmMzItYmZpbi5jOjMxMjcKK21zZ2lkICJ3YXJuaW5nOiByZWxvY2F0aW9uIHJlZmVyZW5jZXMgYSBkaWZmZXJlbnQgc2VnbWVudCIKK21zZ3N0ciAicGVyaW5nYXRhbjogcmVsb2thc2kgcmVmZXJlbnNpIHNlYnVhaCBzZWdtZW4gYmVyYmVkYSIKKworIzogZWxmMzItYmZpbi5jOjQ3OTEgZWxmMzItZnJ2LmM6NjQwNAorbXNnaWQgIiVCOiB1bnN1cHBvcnRlZCByZWxvY2F0aW9uIHR5cGUgJWkiCittc2dzdHIgIiVCOiB0aXBlIHJlbG9rYXNpICVpIHRpZGFrIGRpZHVrdW5nIgorCisjOiBlbGYzMi1iZmluLmM6NDk0NCBlbGYzMi1mcnYuYzo2ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbGluayBub24tZmRwaWMgb2JqZWN0IGZpbGUgaW50byBmZHBpYyBleGVjdXRhYmxlIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVuZ2h1YnVuZ2thbiBiZXJrYXMgb2JqZWsgYnVrYW4tZmRwaWMga2VkYWxhbSBhcGxpa2FzaSBmZHBpYyIKKworIzogZWxmMzItYmZpbi5jOjQ5NDggZWxmMzItZnJ2LmM6NjgxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGxpbmsgZmRwaWMgb2JqZWN0IGZpbGUgaW50byBub24tZmRwaWMgZXhlY3V0YWJsZSIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmdodWJ1bmdrYW4gYmVya2FzIG9iamVrIGZkcGljIGtlZGFsYW0gYXBsaWthc2kgYnVrYW4tZmRwaWMiCisKKyM6IGVsZjMyLWNyaXMuYzoxMDYwCittc2dpZCAiJUIsIHNlY3Rpb24gJUE6IHVucmVzb2x2YWJsZSByZWxvY2F0aW9uICVzIGFnYWluc3Qgc3ltYm9sIGAlcyciCittc2dzdHIgIiVCLCBiYWdpYW4gJUE6IHJlbG9rYXNpIHRpZGFrIHRlcmVzb2xmICVzIHRlcmhhZGFwIHNpbWJvbCBgJXMnIgorCisjOiBlbGYzMi1jcmlzLmM6MTEyOQorbXNnaWQgIiVCLCBzZWN0aW9uICVBOiBObyBQTFQgbm9yIEdPVCBmb3IgcmVsb2NhdGlvbiAlcyBhZ2FpbnN0IHN5bWJvbCBgJXMnIgorbXNnc3RyICIlQiwgYmFnaWFuICVBOiBCdWthbiBQTFQgYXRhdSBHT1QgdW50dWsgcmVsb2thc2kgJXMgdGVyaGFkYXAgc2ltYm9sIGAlcyciCisKKyM6IGVsZjMyLWNyaXMuYzoxMTMxCittc2dpZCAiJUIsIHNlY3Rpb24gJUE6IE5vIFBMVCBmb3IgcmVsb2NhdGlvbiAlcyBhZ2FpbnN0IHN5bWJvbCBgJXMnIgorbXNnc3RyICIlQiwgYmFnaWFuICVBOiBCdWthbiBQTFQgdW50dWsgcmVsb2thc2kgJXMgdGVyaGFkYXAgc2ltYm9sIGAlcyciCisKKyM6IGVsZjMyLWNyaXMuYzoxMTM3IGVsZjMyLWNyaXMuYzoxMjY5Cittc2dpZCAiW3dob3NlIG5hbWUgaXMgbG9zdF0iCittc2dzdHIgIlt5YW5nIG5hbWFueWEgaGlsYW5nXSIKKworIzogZWxmMzItY3Jpcy5jOjEyNTUKK21zZ2lkICIlQiwgc2VjdGlvbiAlQTogcmVsb2NhdGlvbiAlcyB3aXRoIG5vbi16ZXJvIGFkZGVuZCAlZCBhZ2FpbnN0IGxvY2FsIHN5bWJvbCIKK21zZ3N0ciAiJUIsIGJhZ2lhbiAlQTogcmVsb2thc2kgJXMgZGVuZ2FuIGJ1a2FuLW5vbCBkaXRhbWJhaGthbiAlZCB0ZXJoYWRhcCBzaW1ib2wgbG9rYWwiCisKKyM6IGVsZjMyLWNyaXMuYzoxMjYzCittc2dpZCAiJUIsIHNlY3Rpb24gJUE6IHJlbG9jYXRpb24gJXMgd2l0aCBub24temVybyBhZGRlbmQgJWQgYWdhaW5zdCBzeW1ib2wgYCVzJyIKK21zZ3N0ciAiJUIsIGJhZ2lhbiAlQTogcmVsb2thc2kgJXMgZGVuZ2FuIGJ1a2FuLW5vbCBkaXRhbWJha2FuICVkIHRlcmhhZGFwIHNpbWJvbCBgJXMnIgorCisjOiBlbGYzMi1jcmlzLmM6MTI4OQorbXNnaWQgIiVCLCBzZWN0aW9uICVBOiByZWxvY2F0aW9uICVzIGlzIG5vdCBhbGxvd2VkIGZvciBnbG9iYWwgc3ltYm9sOiBgJXMnIgorbXNnc3RyICIlQiwgYmFnaWFuICVBOiByZWxva2FzaSAlcyB0aWRhayBkaXBlcmJvbGVoa2FuIHVudHVrIHNpbWJvbCBnbG9iYWw6IGAlcyciCisKKyM6IGVsZjMyLWNyaXMuYzoxMzA1Cittc2dpZCAiJUIsIHNlY3Rpb24gJUE6IHJlbG9jYXRpb24gJXMgd2l0aCBubyBHT1QgY3JlYXRlZCIKK21zZ3N0ciAiJUIsIGJhZ2lhbiAlQTogcmVsb2thc2kgJXMgZGVuZ2FuIHRpZGFrIEdPVCBkaWJ1YXQiCisKKyM6IGVsZjMyLWNyaXMuYzoxNDIzCittc2dpZCAiJUI6IEludGVybmFsIGluY29uc2lzdGVuY3k7IG5vIHJlbG9jYXRpb24gc2VjdGlvbiAlcyIKK21zZ3N0ciAiJUI6IEludGVybmFsIHRpZGFrIGtvbnNpc3RlbjsgYmFnaWFuICVzIHRpZGFrIGJpc2EgZGlyZWxva2FzaSIKKworIzogZWxmMzItY3Jpcy5jOjI1MTAKK21zZ2lkICIiCisiJUIsIHNlY3Rpb24gJUE6XG4iCisiICB2MTAvdjMyIGNvbXBhdGlibGUgb2JqZWN0ICVzIG11c3Qgbm90IGNvbnRhaW4gYSBQSUMgcmVsb2NhdGlvbiIKK21zZ3N0ciAiIgorIiVCLCBiYWdpYW4gJUE6XG4iCisiICB2MTAvdjMyIG9iamVrIGtvbXBhdGliZWwgJXMgaGFydXMgYmVyaXNpIHNlYnVhaCByZWxva2FzaSBQSUMiCisKKyM6IGVsZjMyLWNyaXMuYzoyNjk3IGVsZjMyLWNyaXMuYzoyNzY1Cittc2dpZCAiIgorIiVCLCBzZWN0aW9uICVBOlxuIgorIiAgcmVsb2NhdGlvbiAlcyBzaG91bGQgbm90IGJlIHVzZWQgaW4gYSBzaGFyZWQgb2JqZWN0OyByZWNvbXBpbGUgd2l0aCAtZlBJQyIKK21zZ3N0ciAiIgorIiVCLCBiYWdpYW4gJUE6XG4iCisiICByZWxva2FzaSAlcyBzZWhhcnVzbnlhIGRpZ3VuYWthbiBkYWxhbSBzZWJ1YWggb2JqZWsgdGVyYmFnaTsgcmVrb21waWxlIGRlbmdhbiAtZlBJQyIKKworIzogZWxmMzItY3Jpcy5jOjMxODQKK21zZ2lkICJVbmV4cGVjdGVkIG1hY2hpbmUgbnVtYmVyIgorbXNnc3RyICJOb21vciBtZXNpbiB0aWRhayB0ZXJkdWdhIgorCisjOiBlbGYzMi1jcmlzLmM6MzIzOAorIywgYy1mb3JtYXQKK21zZ2lkICIgW3N5bWJvbHMgaGF2ZSBhIF8gcHJlZml4XSIKK21zZ3N0ciAiIFtzaW1ib2wgbWVtaWxpa2kgc2VidWFoIGF3YWxhbiBfXSIKKworIzogZWxmMzItY3Jpcy5jOjMyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFt2MTAgYW5kIHYzMl0iCittc2dzdHIgIiBbdjEwIGRhbiB2MzJdIgorCisjOiBlbGYzMi1jcmlzLmM6MzI0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgW3YzMl0iCittc2dzdHIgIiBbdjMyXSIKKworIzogZWxmMzItY3Jpcy5jOjMyODkKK21zZ2lkICIlQjogdXNlcyBfLXByZWZpeGVkIHN5bWJvbHMsIGJ1dCB3cml0aW5nIGZpbGUgd2l0aCBub24tcHJlZml4ZWQgc3ltYm9scyIKK21zZ3N0ciAiJUI6IG1lbmdndW5ha2FuIGF3YWxhbiBfIHNpbWJvbCwgdGV0YXBpIG1lbnVsaXMgYmVya2FzIGRlbmdhbiBzaW1ib2wgdGFucGEgYXdhbGFuIgorCisjOiBlbGYzMi1jcmlzLmM6MzI5MAorbXNnaWQgIiVCOiB1c2VzIG5vbi1wcmVmaXhlZCBzeW1ib2xzLCBidXQgd3JpdGluZyBmaWxlIHdpdGggXy1wcmVmaXhlZCBzeW1ib2xzIgorbXNnc3RyICIlQjogbWVuZ2d1bmFrYW4gc2ltYm9sIHRhbnBhIGF3YWxhbiwgdGV0YXBpIG1lbnVsaXMgYmVya2FzIGRlbmdhbiBzaW1ib2wgYXdhbGFuIF8iCisKKyM6IGVsZjMyLWNyaXMuYzozMzA5Cittc2dpZCAiJUIgY29udGFpbnMgQ1JJUyB2MzIgY29kZSwgaW5jb21wYXRpYmxlIHdpdGggcHJldmlvdXMgb2JqZWN0cyIKK21zZ3N0ciAiJUIgYmVyaXNpIGtvZGUgQ1JJUyB2MzIsIHRpZGFrIGtvbXBhdGliZWwgZGVuZ2FuIG9iamVrIHNlYmVsdW1ueWEiCisKKyM6IGVsZjMyLWNyaXMuYzozMzExCittc2dpZCAiJUIgY29udGFpbnMgbm9uLUNSSVMtdjMyIGNvZGUsIGluY29tcGF0aWJsZSB3aXRoIHByZXZpb3VzIG9iamVjdHMiCittc2dzdHIgIiVCIGJlcmlzaSBrb2RlIGJ1a2FuIENSSVMgdjMyLCB0aWRhayBrb21wYXRpYmVsIGRlbmdhbiBvYmplayBzZWJlbHVtbnlhIgorCisjOiBlbGYzMi1mcnYuYzoxNTA3IGVsZjMyLWZydi5jOjE2NTYKK21zZ2lkICJyZWxvY2F0aW9uIHJlcXVpcmVzIHplcm8gYWRkZW5kIgorbXNnc3RyICJyZWxva2FzaSBtZW1idXR1aGthbiBwZW5hbWJhaGFuIG5vbCIKKworIzogZWxmMzItZnJ2LmM6Mjg5MQorbXNnaWQgIiVCKCVBKzB4JXgpOiByZWxvY2F0aW9uIHRvIGAlcysleCcgbWF5IGhhdmUgY2F1c2VkIHRoZSBlcnJvciBhYm92ZSIKK21zZ3N0ciAiJUIoJUErMHgleCk6IHJlbG9rYXNpIGtlIGAlcysleCcgbXVuZ2tpbiBtZW55ZWJhYmthbiBlcnJvciBkaWF0YXMiCisKKyM6IGVsZjMyLWZydi5jOjI5ODAKK21zZ2lkICJSX0ZSVl9HRVRUTFNPRkYgbm90IGFwcGxpZWQgdG8gYSBjYWxsIGluc3RydWN0aW9uIgorbXNnc3RyICJSX0ZSVl9HRVRUTFNPRkYgdGlkYWsgdGVyYXBsaWthc2kgdW50dWsgc2VidWFoIHBhbmdnaWxhbiBpbnN0cnVrc2kiCisKKyM6IGVsZjMyLWZydi5jOjMwMjIKK21zZ2lkICJSX0ZSVl9HT1RUTFNERVNDMTIgbm90IGFwcGxpZWQgdG8gYW4gbGRkaSBpbnN0cnVjdGlvbiIKK21zZ3N0ciAiUl9GUlZfR09UVExTREVTQzEyIHRpZGFrIHRlcmFwbGlrYXNpIHVudHVrIHNlYnVhaCBpbnN0cnVrc2kgbGRkaSIKKworIzogZWxmMzItZnJ2LmM6MzA5MworbXNnaWQgIlJfRlJWX0dPVFRMU0RFU0NISSBub3QgYXBwbGllZCB0byBhIHNldGhpIGluc3RydWN0aW9uIgorbXNnc3RyICJSX0ZSVl9HT1RUTFNERVNDSEkgdGlkYWsgdGVyYXBsaWthc2kgdW50dWsgc2VidWFoIGluc3RydWtzaSBzZXRoaSIKKworIzogZWxmMzItZnJ2LmM6MzEzMAorbXNnaWQgIlJfRlJWX0dPVFRMU0RFU0NMTyBub3QgYXBwbGllZCB0byBhIHNldGxvIG9yIHNldGxvcyBpbnN0cnVjdGlvbiIKK21zZ3N0ciAiUl9GUlZfR09UVExTREVTQ0xPIHRpZGFrIHRlcmFwbGlrYXNpIHVudHVrIHNlYnVhaCBpbnN0cnVrc2kgc2V0bG8gYXRhdSBzZXRsb3MiCisKKyM6IGVsZjMyLWZydi5jOjMxNzgKK21zZ2lkICJSX0ZSVl9UTFNERVNDX1JFTEFYIG5vdCBhcHBsaWVkIHRvIGFuIGxkZCBpbnN0cnVjdGlvbiIKK21zZ3N0ciAiUl9GUlZfVExTREVTQ19SRUxBWCB0aWRhayB0ZXJhcGxpa2FzaSB1bnR1ayBzZWJ1YWggaW5zdHJ1a3NpIGxkZCIKKworIzogZWxmMzItZnJ2LmM6MzI2MgorbXNnaWQgIlJfRlJWX0dFVFRMU09GRl9SRUxBWCBub3QgYXBwbGllZCB0byBhIGNhbGxsIGluc3RydWN0aW9uIgorbXNnc3RyICJSX0ZSVl9HRVRUTFNPRkZfUkVMQVggdGlkYWsgdGVyYXBsaWthc2kgdW50dWsgc2VidWFoIGluc3RydWtzaSBjYWxsbCIKKworIzogZWxmMzItZnJ2LmM6MzMxNworbXNnaWQgIlJfRlJWX0dPVFRMU09GRjEyIG5vdCBhcHBsaWVkIHRvIGFuIGxkaSBpbnN0cnVjdGlvbiIKK21zZ3N0ciAiUl9GUlZfR0VUVExTT0ZGMTIgdGlkYWsgdGVyYXBsaWthc2kgdW50dWsgc2VidWFoIGluc3RydWtzaSBsZGkiCisKKyM6IGVsZjMyLWZydi5jOjMzNDcKK21zZ2lkICJSX0ZSVl9HT1RUTFNPRkZISSBub3QgYXBwbGllZCB0byBhIHNldGhpIGluc3RydWN0aW9uIgorbXNnc3RyICJSX0ZSVl9HT1RUTFNPRkZISSB0aWRhayB0ZXJhcGxpa2FzaSB1bnR1ayBzZWJ1YWggaW5zdHJ1a3NpIHNldGhpIgorCisjOiBlbGYzMi1mcnYuYzozMzc2Cittc2dpZCAiUl9GUlZfR09UVExTT0ZGTE8gbm90IGFwcGxpZWQgdG8gYSBzZXRsbyBvciBzZXRsb3MgaW5zdHJ1Y3Rpb24iCittc2dzdHIgIlJfRlJWX0dPVFRMU09GRkxPIHRpZGFrIHRlcmFwbGlrYXNpIHVudHVrIHNlYnVhaCBpbnN0cnVrc2kgc2V0bG8gYXRhdSBzZXRsb3MiCisKKyM6IGVsZjMyLWZydi5jOjM0MDcKK21zZ2lkICJSX0ZSVl9UTFNPRkZfUkVMQVggbm90IGFwcGxpZWQgdG8gYW4gbGQgaW5zdHJ1Y3Rpb24iCittc2dzdHIgIlJfRlJWX1RMU09GRl9SRUxBWCB0aWRhayB0ZXJhcGxpa2FzaSB1bnR1ayBzZWJ1YWggaW5zdHJ1a3NpIGxkIgorCisjOiBlbGYzMi1mcnYuYzozNDUyCittc2dpZCAiUl9GUlZfVExTTU9GRkhJIG5vdCBhcHBsaWVkIHRvIGEgc2V0aGkgaW5zdHJ1Y3Rpb24iCittc2dzdHIgIlJfRlJWX1RMU01PRkZISSB0aWRhayB0ZXJhcGxpa2FzaSB1bnR1ayBzZWJ1YWggaW5zdHJ1a3NpIHNldGhpIgorCisjOiBlbGYzMi1mcnYuYzozNDc5Cittc2dpZCAiUl9GUlZfVExTTU9GRkxPIG5vdCBhcHBsaWVkIHRvIGEgc2V0bG8gb3Igc2V0bG9zIGluc3RydWN0aW9uIgorbXNnc3RyICJSX0ZSVl9UTFNNT0ZGTE8gdGlkYWsgdGVyYXBsaWthc2kgdW50dWsgc2VidWFoIGluc3RydWtzaSBzZXRsbyBhdGF1IHNldGxvcyIKKworIzogZWxmMzItZnJ2LmM6MzYwMAorbXNnaWQgIlJfRlJWX0ZVTkNERVNDIHJlZmVyZW5jZXMgZHluYW1pYyBzeW1ib2wgd2l0aCBub256ZXJvIGFkZGVuZCIKK21zZ3N0ciAiUl9GUlZfRlVOQ0RFU0MgcmVmZXJlbnNpIHNpbWJvbCBkaW5hbWlzIGRlbmdhbiBwZW5hbWJhaGFuIGJ1a2FuIG5vbCIKKworIzogZWxmMzItZnJ2LmM6MzcyMAorbXNnaWQgIlJfRlJWX0ZVTkNERVNDX1ZBTFVFIHJlZmVyZW5jZXMgZHluYW1pYyBzeW1ib2wgd2l0aCBub256ZXJvIGFkZGVuZCIKK21zZ3N0ciAiUl9GUlZfRlVOQ0RFU0NfVkFMVUUgcmVmZXJlbnNpIHNpbWJvbCBkaW5hbWlzIGRlbmdhbiBwZW5hbWJhaGFuIGJ1a2FuIG5vbCIKKworIzogZWxmMzItZnJ2LmM6Mzk3NyBlbGYzMi1mcnYuYzo0MTMzCittc2dpZCAiJUIoJUErMHglbHgpOiByZWxvYyBhZ2FpbnN0IGAlcyc6ICVzIgorbXNnc3RyICIlQiglQSsweCVseCk6IHJlbG9rYXNpIHRlcmhhZGFwIGAlcyc6ICVzIgorCisjOiBlbGYzMi1mcnYuYzozOTc5IGVsZjMyLWZydi5jOjM5ODMKK21zZ2lkICJyZWxvY2F0aW9uIHJlZmVyZW5jZXMgYSBkaWZmZXJlbnQgc2VnbWVudCIKK21zZ3N0ciAicmVsb2thc2kgcmVmZXJlbnNpIGtlIHNlZ21lbiBiZXJiZWRhIgorCisjOiBlbGYzMi1mcnYuYzo2NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjb21waWxlZCB3aXRoICVzIGFuZCBsaW5rZWQgd2l0aCBtb2R1bGVzIHRoYXQgdXNlIG5vbi1waWMgcmVsb2NhdGlvbnMiCittc2dzdHIgIiVzOiB0ZXJrb21waWxlIGRlbmdhbiAlcyBkYW4gdGVyaHVidW5nIGRlbmdhbiBtb2R1bCB5YW5nIG1lbmdndW5ha2FuIHJlbG9rYXNpIGJ1a2FuLXBpYyIKKworIzogZWxmMzItZnJ2LmM6Njc3OSBlbGYzMi1pcTIwMDAuYzo4NTIgZWxmMzItbTMyYy5jOjgxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY29tcGlsZWQgd2l0aCAlcyBhbmQgbGlua2VkIHdpdGggbW9kdWxlcyBjb21waWxlZCB3aXRoICVzIgorbXNnc3RyICIlczogdGVya29tcGlsZSBkZW5nYW4gJXMgZGFuIHRlcmh1YnVuZyBkZW5nYW4gbW9kdWwgdGVya29tcGlsZSBkZW5nYW4gJXMiCisKKyM6IGVsZjMyLWZydi5jOjY3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVzZXMgZGlmZmVyZW50IHVua25vd24gZV9mbGFncyAoMHglbHgpIGZpZWxkcyB0aGFuIHByZXZpb3VzIG1vZHVsZXMgKDB4JWx4KSIKK21zZ3N0ciAiJXM6IG1lbmdndW5ha2FuIGJhZ2lhbiBlX2ZsYWdzICgweCVseCkgYmVyYmVkYSB5YW5nIHRpZGFrIGRpa2VuYWwgZGFyaSBtb2R1bCBzZWJlbHVtbnlhICgweCVseCkiCisKKyM6IGVsZjMyLWZydi5jOjY4NDEgZWxmMzItaXEyMDAwLmM6ODg5IGVsZjMyLW0zMmMuYzo4NTAgZWxmMzItbXQuYzo1ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJpdmF0ZSBmbGFncyA9IDB4JWx4OiIKK21zZ3N0ciAicHJpdmF0ZSBmbGFncyA9IDB4JWx4OiIKKworIzogZWxmMzItZ2VuLmM6NjkgZWxmNjQtZ2VuLmM6NjkKK21zZ2lkICIlQjogUmVsb2NhdGlvbnMgaW4gZ2VuZXJpYyBFTEYgKEVNOiAlZCkiCittc2dzdHIgIiVCOiBSZWxva2FzaSBkYWxhbSBFTEYgc3RhbmRhciAoRU06ICVkKSIKKworIzogZWxmMzItaHBwYS5jOjg1NCBlbGYzMi1ocHBhLmM6MzYwMAorbXNnaWQgIiVCKCVBKzB4JWx4KTogY2Fubm90IHJlYWNoICVzLCByZWNvbXBpbGUgd2l0aCAtZmZ1bmN0aW9uLXNlY3Rpb25zIgorbXNnc3RyICIlQiglQSsweCVseCk6IHRpZGFrIGRhcGF0IG1lbmNhcGFpICVzLCByZWtvbXBpbGUgZGVuZ2FuIC1mZnVuY3Rpb24tc2VjdGlvbnMiCisKKyM6IGVsZjMyLWhwcGEuYzoxMjYzCittc2dpZCAiJUI6IHJlbG9jYXRpb24gJXMgY2FuIG5vdCBiZSB1c2VkIHdoZW4gbWFraW5nIGEgc2hhcmVkIG9iamVjdDsgcmVjb21waWxlIHdpdGggLWZQSUMiCittc2dzdHIgIiVCOiByZWxva2FzaSAlcyB0aWRhayBkYXBhdCBkaWd1bmFrYW4ga2V0aWthIG1lbWJ1YXQgc2VidWFoIG9iamVrIHRlcmJhZ2k7IHJla29tcGlsZSBkZW5nYW4gLWZQSUMiCisKKyM6IGVsZjMyLWhwcGEuYzoxNTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbG9jYXRpb24gc2VjdGlvbiBmb3IgJXMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmVtdWthbiBiYWdpYW4gcmVsb2thc2kgdW50dWsgJXMiCisKKyM6IGVsZjMyLWhwcGEuYzoyODEwCittc2dpZCAiJUI6IGR1cGxpY2F0ZSBleHBvcnQgc3R1YiAlcyIKK21zZ3N0ciAiJUI6IGR1cGxpa2FzaSBleHBvcnQgc3R1YiAlcyIKKworIzogZWxmMzItaHBwYS5jOjM0MzYKK21zZ2lkICIlQiglQSsweCVseCk6ICVzIGZpeHVwIGZvciBpbnNuIDB4JXggaXMgbm90IHN1cHBvcnRlZCBpbiBhIG5vbi1zaGFyZWQgbGluayIKK21zZ3N0ciAiJUIoJUErMHglbHgpOiAlcyBmaXh1cCB1bnR1ayBpbnNuIDB4JXggdGlkYWsgZGlkdWt1bmcgZGFsYW0gc2VidWFoIHNhbWJ1bmdhIHRpZGFrIHRlcmJhZ2kiCisKKyM6IGVsZjMyLWhwcGEuYzo0MjkwCittc2dpZCAiJUIoJUErMHglbHgpOiBjYW5ub3QgaGFuZGxlICVzIGZvciAlcyIKK21zZ3N0ciAiJUIoJUErMHglbHgpOiB0aWRhayBkYXBhdCBtZW5hbmdhbmkgJXMgdW50dWsgJXMiCisKKyM6IGVsZjMyLWhwcGEuYzo0NTk3Cittc2dpZCAiLmdvdCBzZWN0aW9uIG5vdCBpbW1lZGlhdGVseSBhZnRlciAucGx0IHNlY3Rpb24iCittc2dzdHIgImJhZ2lhbiAuZ290IHRpZGFrIG1lbmdpa3V0aSBiYWdpYW4gLnBsdCIKKworIzogZWxmMzItaTM4Ni5jOjM2MiBlbGYzMi1wcGMuYzoxNjE2IGVsZjMyLXMzOTAuYzozNzkgZWxmNjQtcHBjLmM6MjE1MworIzogZWxmNjQtczM5MC5jOjQwMyBlbGY2NC14ODYtNjQuYzoyMjIKK21zZ2lkICIlQjogaW52YWxpZCByZWxvY2F0aW9uIHR5cGUgJWQiCittc2dzdHIgIiVCOiB0aXBlIHJlbG9rYXNpICVkIHRpZGFrIHZhbGlkIgorCisjOiBlbGYzMi1pMzg2LmM6MTE4MyBlbGY2NC14ODYtNjQuYzo5NjQKK21zZ2lkICIlQjogVExTIHRyYW5zaXRpb24gZnJvbSAlcyB0byAlcyBhZ2FpbnN0IGAlcycgYXQgMHglbHggaW4gc2VjdGlvbiBgJUEnIGZhaWxlZCIKK21zZ3N0ciAiJUI6IFRMUyB0cmFuc2lzaSBkYXJpICVzIGtlICVzIHRlcmhhZGFwIGAlcycgZGkgMHglbHggZGFsYW0gYmFnaWFuIGAlQScgZ2FnYWwiCisKKyM6IGVsZjMyLWkzODYuYzoxMzY0IGVsZjMyLXMzOTAuYzoxMTg4IGVsZjMyLXNoLmM6NTA5OCBlbGYzMi14dGVuc2EuYzoxMTYyCisjOiBlbGY2NC1zMzkwLmM6MTE1MiBlbGZ4eC1zcGFyYy5jOjEyNjMKK21zZ2lkICIlQjogYCVzJyBhY2Nlc3NlZCBib3RoIGFzIG5vcm1hbCBhbmQgdGhyZWFkIGxvY2FsIHN5bWJvbCIKK21zZ3N0ciAiJUI6IGAlcycgdGVyYWtzZXMga2VkdWEgc2ViYWdhaSBub3JtYWwgZGFuIG1lbXBlcmxha3VrYW4gbG9rYWwgc2ltYm9sIgorCisjOiBlbGYzMi1pMzg2LmM6MTQ3OSBlbGYzMi1zMzkwLmM6MTI5NyBlbGY2NC1wcGMuYzo1MDQ2IGVsZjY0LXMzOTAuYzoxMjY0CisjOiBlbGY2NC14ODYtNjQuYzoxMjk5Cittc2dpZCAiJUI6IGJhZCByZWxvY2F0aW9uIHNlY3Rpb24gbmFtZSBgJXMnIgorbXNnc3RyICIlQjogcmVsb2thc2kgYmFnaWFuIG5hbWEgYCVzJyBidXJ1ayIKKworIzogZWxmMzItaTM4Ni5jOjI1OTgKK21zZ2lkICIlQjogdW5yZWNvZ25pemVkIHJlbG9jYXRpb24gKDB4JXgpIGluIHNlY3Rpb24gYCVBJyIKK21zZ3N0ciAiJUI6IHJlbG9rYXNpIHRpZGFrIGRpa2VuYWwgKDB4JXgpIGRhbGFtIGJhZ2lhbiBgJUEnIgorCisjOiBlbGYzMi1pMzg2LmM6MjgyMiBlbGY2NC14ODYtNjQuYzoyNjYwCittc2dpZCAiaGlkZGVuIHN5bWJvbCIKK21zZ3N0ciAic2ltYm9sIHRlcnNlbWJ1bnlpIgorCisjOiBlbGYzMi1pMzg2LmM6MjgyNSBlbGY2NC14ODYtNjQuYzoyNjYzCittc2dpZCAiaW50ZXJuYWwgc3ltYm9sIgorbXNnc3RyICJpbnRlcm5hbCBzaW1ib2wiCisKKyM6IGVsZjMyLWkzODYuYzoyODI4IGVsZjY0LXg4Ni02NC5jOjI2NjYKK21zZ2lkICJwcm90ZWN0ZWQgc3ltYm9sIgorbXNnc3RyICJzaW1ib2wgdGVycHJvdGVrc2kiCisKKyM6IGVsZjMyLWkzODYuYzoyODMxIGVsZjY0LXg4Ni02NC5jOjI2NjkKK21zZ2lkICJzeW1ib2wiCittc2dzdHIgInNpbWJvbCIKKworIzogZWxmMzItaTM4Ni5jOjI4MzYKK21zZ2lkICIlQjogcmVsb2NhdGlvbiBSXzM4Nl9HT1RPRkYgYWdhaW5zdCB1bmRlZmluZWQgJXMgYCVzJyBjYW4gbm90IGJlIHVzZWQgd2hlbiBtYWtpbmcgYSBzaGFyZWQgb2JqZWN0IgorbXNnc3RyICIlQjogcmVsb2thc2kgUl8zODZfR09UT0ZGIHRlcmhhZGFwICVzIGAlcycgdGlkYWsgdGVyZGVmaW5pc2kgdGlkYWsgZGFwYXQgZGlndW5ha2FuIGtldGlrYSBtZW1idWFoIHNlYnVhaCBvYmplayB0ZXJiYWdpIgorCisjOiBlbGYzMi1pMzg2LmM6Mjg0NgorbXNnaWQgIiVCOiByZWxvY2F0aW9uIFJfMzg2X0dPVE9GRiBhZ2FpbnN0IHByb3RlY3RlZCBmdW5jdGlvbiBgJXMnIGNhbiBub3QgYmUgdXNlZCB3aGVuIG1ha2luZyBhIHNoYXJlZCBvYmplY3QiCittc2dzdHIgIiVCOiByZWxva2FzaSBSXzM4Nl9HT1RPRkYgdGVyaGFkYXAgZnVuZ3NpIHRlcnByb3Rla3NpIGAlcycgdGlkYWsgZGFwYXQgZGlndW5ha2FuIGtldGlrYSBtZW1idWF0IHNlYnVhaCBvYmplayB0ZXJiYWdpIgorCisjOiBlbGYzMi1pcDJrLmM6ODY4IGVsZjMyLWlwMmsuYzo4NzQgZWxmMzItaXAyay5jOjk0MSBlbGYzMi1pcDJrLmM6OTQ3Cittc2dpZCAiaXAyayByZWxheGVyOiBzd2l0Y2ggdGFibGUgd2l0aG91dCBjb21wbGV0ZSBtYXRjaGluZyByZWxvY2F0aW9uIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiaXAyayByZWxheGVyOiB0YWJlbCBzd2l0Y2ggdGFucGEgcGVuY29jb2thbiBpbmZvcm1hc2kgcmVsb2thc2kgbGVuZ2thcC4iCisKKyM6IGVsZjMyLWlwMmsuYzo4OTEgZWxmMzItaXAyay5jOjk3NAorbXNnaWQgImlwMmsgcmVsYXhlcjogc3dpdGNoIHRhYmxlIGhlYWRlciBjb3JydXB0LiIKK21zZ3N0ciAiaXAyayByZWxheGVyOiBzd2l0Y2ggdGFiZWwgaGVhZGVyIHRlcmtvcnVwc2kuIgorCisjOiBlbGYzMi1pcDJrLmM6MTMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJpcDJrIGxpbmtlcjogbWlzc2luZyBwYWdlIGluc3RydWN0aW9uIGF0IDB4JTA4bHggKGRlc3QgPSAweCUwOGx4KS4iCittc2dzdHIgImlwMmsgbGlua2VyOiBoaWxhbmcgaGFsYW1hbiBpbnN0cnVrc2kgZGkgMHglMDhseCAoZGVzdCA9IDB4JTA4bHgpLiIKKworIzogZWxmMzItaXAyay5jOjEzMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaXAyayBsaW5rZXI6IHJlZHVuZGFudCBwYWdlIGluc3RydWN0aW9uIGF0IDB4JTA4bHggKGRlc3QgPSAweCUwOGx4KS4iCittc2dzdHIgImlwMmsgbGlua2VyOiByZWR1bmRhbnQgaGFsYW1hbiBpbnN0cnVrc2kgZGkgMHglMDhseCAoZGVzdCA9IDB4JTA4bHgpLiIKKworIy4gT25seSBpZiBpdCdzIG5vdCBhbiB1bnJlc29sdmVkIHN5bWJvbC4KKyM6IGVsZjMyLWlwMmsuYzoxNTA2Cittc2dpZCAidW5zdXBwb3J0ZWQgcmVsb2NhdGlvbiBiZXR3ZWVuIGRhdGEvaW5zbiBhZGRyZXNzIHNwYWNlcyIKK21zZ3N0ciAicmVsb2thc2kgdGlkYWsgZGlkdWt1bmcgZGlhbnRhcmEgZGF0YS9pbnNuIHJ1YW5nIGFsYW1hdCIKKworIzogZWxmMzItaXEyMDAwLmM6ODY1IGVsZjMyLW0zMmMuYzo4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVzZXMgZGlmZmVyZW50IGVfZmxhZ3MgKDB4JWx4KSBmaWVsZHMgdGhhbiBwcmV2aW91cyBtb2R1bGVzICgweCVseCkiCittc2dzdHIgIiVzOiBtZW5nZ3VuYWthbiBlX2ZsYWdzICgweCVseCkgZmllbGQgYmVyYmVkYSBkYXJpIG1vZHVsIHNlYmVsdW1ueWEgKDB4JWx4KSIKKworIzogZWxmMzItbTMyci5jOjE0NTMKK21zZ2lkICJTREEgcmVsb2NhdGlvbiB3aGVuIF9TREFfQkFTRV8gbm90IGRlZmluZWQiCittc2dzdHIgIlNEQSByZWxva2FzaSBrZXRpa2EgX1NEQV9CQVNFXyB0aWRhayB0ZXJkZWZpbmlzaSIKKworIzogZWxmMzItbTMyci5jOjMwNjEKK21zZ2lkICIlQjogVGhlIHRhcmdldCAoJXMpIG9mIGFuICVzIHJlbG9jYXRpb24gaXMgaW4gdGhlIHdyb25nIHNlY3Rpb24gKCVBKSIKK21zZ3N0ciAiJUI6IFRhcmdldCAoJXMpIGRhcmkgc2VidWFoICVzIHJlbG9rYXNpIGJlcmFkYSBkYWxhbSBiYWdpYW4geWFuZyBzYWxhaCAoJUEpIgorCisjOiBlbGYzMi1tMzJyLmM6MzU4OQorbXNnaWQgIiVCOiBJbnN0cnVjdGlvbiBzZXQgbWlzbWF0Y2ggd2l0aCBwcmV2aW91cyBtb2R1bGVzIgorbXNnc3RyICIlQjogU2V0IEluc3RydWtzaSB0aWRhayBjb2NvayBkZW5nYW4gbW9kdWwgc2ViZWx1bW55YSIKKworIzogZWxmMzItbTMyci5jOjM2MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJpdmF0ZSBmbGFncyA9ICVseCIKK21zZ3N0ciAicHJpdmF0ZSBmbGFncyA9ICVseCIKKworIzogZWxmMzItbTMyci5jOjM2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiOiBtMzJyIGluc3RydWN0aW9ucyIKK21zZ3N0ciAiOiBtMzJyIGluc3RydWtzaSIKKworIzogZWxmMzItbTMyci5jOjM2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiOiBtMzJyeCBpbnN0cnVjdGlvbnMiCittc2dzdHIgIjogbTMycnggaW5zdHJ1a3NpIgorCisjOiBlbGYzMi1tMzJyLmM6MzYxNworIywgYy1mb3JtYXQKK21zZ2lkICI6IG0zMnIyIGluc3RydWN0aW9ucyIKK21zZ3N0ciAiOiBtMzJyMiBpbnN0cnVrc2kiCisKKyM6IGVsZjMyLW02OGhjMXguYzoxMDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlZmVyZW5jZSB0byB0aGUgZmFyIHN5bWJvbCBgJXMnIHVzaW5nIGEgd3JvbmcgcmVsb2NhdGlvbiBtYXkgcmVzdWx0IGluIGluY29ycmVjdCBleGVjdXRpb24iCittc2dzdHIgIlJlZmVyZW5zaSBrZSBzaW1ib2wgamF1aCBgJXMnIG1lbmdndW5ha2FuIHJlbG9rYXNpIHNhbGFoIG11bmdraW4gYWthbiBtZW5naGFzaWxrYW4gZWtzZWt1c2kgc2FsYWgiCisKKyM6IGVsZjMyLW02OGhjMXguYzoxMDcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhbmtlZCBhZGRyZXNzIFslbHg6JTA0bHhdICglbHgpIGlzIG5vdCBpbiB0aGUgc2FtZSBiYW5rIGFzIGN1cnJlbnQgYmFua2VkIGFkZHJlc3MgWyVseDolMDRseF0gKCVseCkiCittc2dzdHIgImJhbmtlZCBhZGRyZXNzIFslbHg6JTA0bHhdICglbHgpIHRpZGFrIGRhbGFtIGJhbmsgeWFuZyBzYW1hIHNlcGVydGkgZGFsYW0gYWxhbWF0IGJhbmsgc2VrYXJhbmcgWyVseDolMDRseF0gKCVseCkiCisKKyM6IGVsZjMyLW02OGhjMXguYzoxMDg5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSB0byBhIGJhbmtlZCBhZGRyZXNzIFslbHg6JTA0bHhdIGluIHRoZSBub3JtYWwgYWRkcmVzcyBzcGFjZSBhdCAlMDRseCIKK21zZ3N0ciAicmVmZXJlbnNpIGtlIGFsYW1hdCBiYW5rIFslbHg6JTA0bHhdIGRhbGFtIHJ1YW5nIGFsYW1hdCBub3JtYWwgZGkgJTA0bHgiCisKKyM6IGVsZjMyLW02OGhjMXguYzoxMjIyCittc2dpZCAiJUI6IGxpbmtpbmcgZmlsZXMgY29tcGlsZWQgZm9yIDE2LWJpdCBpbnRlZ2VycyAoLW1zaG9ydCkgYW5kIG90aGVycyBmb3IgMzItYml0IGludGVnZXJzIgorbXNnc3RyICIlQjogbWVuZ2h1YnVuZ2thbiBiZXJrYXMgeWFuZyBkaWtvbXBpbGUgdW50dWsgMTYtYml0IGludGVnZXIgKC1tc2hvcnQpIGRhbiB5YW5nIGxhaW4gdW50dWsgMzItYml0IGludGVnZXIiCisKKyM6IGVsZjMyLW02OGhjMXguYzoxMjI5Cittc2dpZCAiJUI6IGxpbmtpbmcgZmlsZXMgY29tcGlsZWQgZm9yIDMyLWJpdCBkb3VibGUgKC1mc2hvcnQtZG91YmxlKSBhbmQgb3RoZXJzIGZvciA2NC1iaXQgZG91YmxlIgorbXNnc3RyICIlQjogbWVuZ2h1YnVuZ2thbiBiZXJrYXMgeWFuZyBkaWtvbXBpbGUgdW50dWsgMzItYml0IGRvdWJsZSAoLWZzaG9ydC1kb3VibGUpIGRhbiB5YW5nIGxhaW4gdW50dWsgNjQtYml0IGRvdWJsZSIKKworIzogZWxmMzItbTY4aGMxeC5jOjEyMzgKK21zZ2lkICIlQjogbGlua2luZyBmaWxlcyBjb21waWxlZCBmb3IgSENTMTIgd2l0aCBvdGhlcnMgY29tcGlsZWQgZm9yIEhDMTIiCittc2dzdHIgIiVCOiBtZW5naHVidW5na2FuIGJlcmthcyBkaWtvbXBpbGUgdW50dWsgSENTMTIgZGVuZ2FuIHlhbmcgbGFpbiBkaWtvbXBpbGUgdW50dWsgSEMxMiIKKworIzogZWxmMzItbTY4aGMxeC5jOjEyNTQgZWxmMzItcHBjLmM6NDA0NiBlbGY2NC1zcGFyYy5jOjY5NyBlbGZ4eC1taXBzLmM6MTI1NjEKK21zZ2lkICIlQjogdXNlcyBkaWZmZXJlbnQgZV9mbGFncyAoMHglbHgpIGZpZWxkcyB0aGFuIHByZXZpb3VzIG1vZHVsZXMgKDB4JWx4KSIKK21zZ3N0ciAiJUI6IG1lbmdndW5ha2FuIGZpZWxkIGVfZmxhZ3MgKDB4JWx4KSBiZXJiZWRhIGRhcmkgbW9kdWwgc2ViZWx1bW55YSAoMHglbHgpIgorCisjOiBlbGYzMi1tNjhoYzF4LmM6MTI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJbYWJpPTMyLWJpdCBpbnQsICIKK21zZ3N0ciAiW2FiaT0zMi1iaXQgaW50LCAiCisKKyM6IGVsZjMyLW02OGhjMXguYzoxMjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlthYmk9MTYtYml0IGludCwgIgorbXNnc3RyICJbYWJpPTE2LWJpdCBpbnQsICIKKworIzogZWxmMzItbTY4aGMxeC5jOjEyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiNjQtYml0IGRvdWJsZSwgIgorbXNnc3RyICI2NC1iaXQgZG91YmxlLCAiCisKKyM6IGVsZjMyLW02OGhjMXguYzoxMjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIjMyLWJpdCBkb3VibGUsICIKK21zZ3N0ciAiMzItYml0IGRvdWJsZSwgIgorCisjOiBlbGYzMi1tNjhoYzF4LmM6MTI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjcHU9SEMxMV0iCittc2dzdHIgImNwdT1IQzExXSIKKworIzogZWxmMzItbTY4aGMxeC5jOjEyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3B1PUhDUzEyXSIKK21zZ3N0ciAiY3B1PUhDUzEyXSIKKworIzogZWxmMzItbTY4aGMxeC5jOjEyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3B1PUhDMTJdIgorbXNnc3RyICJjcHU9SEMxMl0iCisKKyM6IGVsZjMyLW02OGhjMXguYzoxMjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiBbbWVtb3J5PWJhbmstbW9kZWxdIgorbXNnc3RyICIgW21lbW9yeT1iYW5rLW1vZGVsXSIKKworIzogZWxmMzItbTY4aGMxeC5jOjEzMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFttZW1vcnk9ZmxhdF0iCittc2dzdHIgIiBbbWVtb3J5PWZsYXRdIgorCisjOiBlbGYzMi1tNjhrLmM6Nzg5IGVsZjMyLW02OGsuYzo3OTAKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJ0aWRhayBkaWtlbmFsIgorCisjOiBlbGYzMi1tNjhrLmM6MTIxNgorbXNnaWQgIiVCOiBHT1Qgb3ZlcmZsb3c6IE51bWJlciBvZiBSXzY4S19HT1Q4TyByZWxvY2F0aW9ucyA+ICVkIgorbXNnc3RyICIlQjogR09UIG92ZXJmbG93OiBKdW1sYWggZGFyaSBSXzY4S19HT1Q4MCByZWxva2FzaSA+ICVkIgorCisjOiBlbGYzMi1tNjhrLmM6MTIyMQorbXNnaWQgIiVCOiBHT1Qgb3ZlcmZsb3c6IE51bWJlciBvZiBSXzY4S19HT1Q4TyBhbmQgUl82OEtfR09UMTZPIHJlbG9jYXRpb25zID4gJWQiCittc2dzdHIgIiVCOiBNZW1wZXJvbGVoIG92ZXJmbG93OiBKdW1sYWggZGFyaSBSXzY4S19HT1Q4MCBkYW4gUl82OEtfR09UMTYwIHJlbG9rYXNpID4gJWQiCisKKyM6IGVsZjMyLW1jb3JlLmM6OTkgZWxmMzItbWNvcmUuYzo0NDIKK21zZ2lkICIlQjogUmVsb2NhdGlvbiAlcyAoJWQpIGlzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLlxuIgorbXNnc3RyICIlQjogUmVsb2thc2kgJXMgKCVkKSBzYWF0IGluaSB0aWRhayBkaWR1a3VuZy5cbiIKKworIzogZWxmMzItbWNvcmUuYzo0MjgKK21zZ2lkICIlQjogVW5rbm93biByZWxvY2F0aW9uIHR5cGUgJWRcbiIKK21zZ3N0ciAiJUI6IFRpcGUgcmVsb2thc2kgJWQgdGlkYWsgZGlrZW5hbFxuIgorCisjOiBlbGYzMi1tZXAuYzo2NTQKK21zZ2lkICIlQiBhbmQgJUIgYXJlIGZvciBkaWZmZXJlbnQgY29yZXMiCittc2dzdHIgIiVCIGRhbiAlQiBhZGFsYWggdW50dWsgY29yZXMgYmVyYmVkYSIKKworIzogZWxmMzItbWVwLmM6NjcxCittc2dpZCAiJUIgYW5kICVCIGFyZSBmb3IgZGlmZmVyZW50IGNvbmZpZ3VyYXRpb25zIgorbXNnc3RyICIlQiBkYW4gJUIgYWRhbGFoIHVudHVrIGtvbmZpZ3VyYXNpIGJlcmJlZGEiCisKKyM6IGVsZjMyLW1lcC5jOjcwOQorIywgYy1mb3JtYXQKK21zZ2lkICJwcml2YXRlIGZsYWdzID0gMHglbHgiCittc2dzdHIgInByaXZhdGUgZmxhZ3MgPSAweCVseCIKKworIzogZWxmMzItbWlwcy5jOjEwNDUgZWxmNjQtbWlwcy5jOjIwNTYgZWxmbjMyLW1pcHMuYzoxODg4Cittc2dpZCAibGl0ZXJhbCByZWxvY2F0aW9uIG9jY3VycyBmb3IgYW4gZXh0ZXJuYWwgc3ltYm9sIgorbXNnc3RyICJsaXRlcmFsIHJlbG9rYXNpIHRlcmphZGkgdW50dWsgc2ltYm9sIGVrc3Rlcm5hbCIKKworIzogZWxmMzItbWlwcy5jOjEwODUgZWxmMzItc2NvcmUuYzo0ODQgZWxmNjQtbWlwcy5jOjIwOTkgZWxmbjMyLW1pcHMuYzoxOTI5Cittc2dpZCAiMzJiaXRzIGdwIHJlbGF0aXZlIHJlbG9jYXRpb24gb2NjdXJzIGZvciBhbiBleHRlcm5hbCBzeW1ib2wiCittc2dzdHIgIjMyYml0IGdwIHJlbGF0aXZlIHJlbG9rYXNpIHRlcmphZGkgdW50dWsgc2VidWFoIHNpbWJvbCBla3N0ZXJuYWwiCisKKyM6IGVsZjMyLXBwYy5jOjE2ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2VuZXJpYyBsaW5rZXIgY2FuJ3QgaGFuZGxlICVzIgorbXNnc3RyICJsaW5rZXIgZ2VuZXJpayB0aWRhayBkYXBhdCBtZW5hbmdhbmkgJXMiCisKKyM6IGVsZjMyLXBwYy5jOjIxNjEKK21zZ2lkICJjb3JydXB0IG9yIGVtcHR5ICVzIHNlY3Rpb24gaW4gJUIiCittc2dzdHIgImtvcnVwIGF0YXUga29zb25nICVzIGJhZ2lhbiBkYWxhbSAlQiIKKworIzogZWxmMzItcHBjLmM6MjE2OAorbXNnaWQgInVuYWJsZSB0byByZWFkIGluICVzIHNlY3Rpb24gZnJvbSAlQiIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYmFjYSBkYWxhbSBiYWdpYW4gJXMgZGFyaSAlQiIKKworIzogZWxmMzItcHBjLmM6MjE3NAorbXNnaWQgImNvcnJ1cHQgJXMgc2VjdGlvbiBpbiAlQiIKK21zZ3N0ciAia29ydXAgYmFnaWFuICVzIGRhbGFtICVCIgorCisjOiBlbGYzMi1wcGMuYzoyMjE3Cittc2dpZCAid2FybmluZzogdW5hYmxlIHRvIHNldCBzaXplIG9mICVzIHNlY3Rpb24gaW4gJUIiCittc2dzdHIgInBlcmluZ2F0YW46IHRpZGFrIGRhcGF0IG1lbnNldCB1a3VyYW4gYmFnaWFuICVzIGRhbGFtICVCIgorCisjOiBlbGYzMi1wcGMuYzoyMjY1Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNwYWNlIGZvciBuZXcgQVBVaW5mbyBzZWN0aW9uLiIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gcnVhbmcgdW50dWsgYmFnaWFuIGJhcnUgQVBVaW5mby4iCisKKyM6IGVsZjMyLXBwYy5jOjIyODQKK21zZ2lkICJmYWlsZWQgdG8gY29tcHV0ZSBuZXcgQVBVaW5mbyBzZWN0aW9uLiIKK21zZ3N0ciAiZ2FnYWwgdW50dWsgbWVuZ2hpdHVuZyBiYWdpYW4gYmFydSBBUFVpbmZvLiIKKworIzogZWxmMzItcHBjLmM6MjI4NworbXNnaWQgImZhaWxlZCB0byBpbnN0YWxsIG5ldyBBUFVpbmZvIHNlY3Rpb24uIgorbXNnc3RyICJnYWdhbCB1bnR1ayBtZW1hc2FuZyBiYWdpYW4gYmFydSBBUFVpbmZvLiIKKworIzogZWxmMzItcHBjLmM6MzI2MworbXNnaWQgIiVCOiByZWxvY2F0aW9uICVzIGNhbm5vdCBiZSB1c2VkIHdoZW4gbWFraW5nIGEgc2hhcmVkIG9iamVjdCIKK21zZ3N0ciAiJUI6IHJlbG9rYXNpICVzIHRpZGFrIGRhcGF0IGRpZ3VuYWthbiBrZXRpa2EgbWVtYnVhdCBzZWJ1YWggb2JqZWsgdGVyYmFnaSIKKworIy4gSXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBoYXZlIGEgcHJvY2VkdXJlIGxpbmthZ2UKKyMuIHRhYmxlIGVudHJ5IGZvciBhIGxvY2FsIHN5bWJvbC4KKyM6IGVsZjMyLXBwYy5jOjM1MzQKK21zZ2lkICIlQiglQSsweCVseCk6ICVzIHJlbG9jIGFnYWluc3QgbG9jYWwgc3ltYm9sIgorbXNnc3RyICIlQiglQSsweCVseCk6ICVzIHJlbG9rYXNpIHRlcmhhZGFwIHNpbWJvbCBsb2thbCIKKworIzogZWxmMzItcHBjLmM6Mzg4NSBlbGYzMi1wcGMuYzozOTAwIGVsZnh4LW1pcHMuYzoxMjI2OCBlbGZ4eC1taXBzLmM6MTIyOTQKKyM6IGVsZnh4LW1pcHMuYzoxMjMxNiBlbGZ4eC1taXBzLmM6MTIzNDIKK21zZ2lkICJXYXJuaW5nOiAlQiB1c2VzIGhhcmQgZmxvYXQsICVCIHVzZXMgc29mdCBmbG9hdCIKK21zZ3N0ciAiUGVyaW5nYXRhbjogJUIgbWVuZ2d1bmFrYW4gaGFyZCBmbG9hdCwgJUIgbWVuZ2d1bmFrYW4gc29mdCBmbG9hdCIKKworIzogZWxmMzItcHBjLmM6Mzg4OCBlbGYzMi1wcGMuYzozODkyCittc2dpZCAiV2FybmluZzogJUIgdXNlcyBkb3VibGUtcHJlY2lzaW9uIGhhcmQgZmxvYXQsICVCIHVzZXMgc2luZ2xlLXByZWNpc2lvbiBoYXJkIGZsb2F0IgorbXNnc3RyICJQZXJpbmdhdGFuOiAlQiBtZW5nZ3VuYWthbiBkb3VibGUtcHJlY2lzaW9uIGhhcmQgZmxvYXQsICVCIG1lbmdndW5ha2FuIHNpbmdsZS1wcmVjaXNpb24gaGFyZCBmbG9hdCIKKworIzogZWxmMzItcHBjLmM6Mzg5NgorbXNnaWQgIldhcm5pbmc6ICVCIHVzZXMgc29mdCBmbG9hdCwgJUIgdXNlcyBzaW5nbGUtcHJlY2lzaW9uIGhhcmQgZmxvYXQiCittc2dzdHIgIlBlcmluZ2F0YW46ICVCIG1lbmdndW5ha2FuIHNvZnQgZmxvYXQsICVCIG1lbmdndW5ha2FuIHNpbmdsZS1wcmVjaXNpb24gaGFyZCBmbG9hdCIKKworIzogZWxmMzItcHBjLmM6MzkwMyBlbGYzMi1wcGMuYzozOTA3IGVsZnh4LW1pcHMuYzoxMjI0OCBlbGZ4eC1taXBzLmM6MTIyNTIKK21zZ2lkICJXYXJuaW5nOiAlQiB1c2VzIHVua25vd24gZmxvYXRpbmcgcG9pbnQgQUJJICVkIgorbXNnc3RyICJQZXJpbmdhdGFuOiAlQiBtZW5nZ3Vua2FhbiBmbG9hdGluZyBwb2ludCBBQkkgJWQiCisKKyM6IGVsZjMyLXBwYy5jOjM5NDkgZWxmMzItcHBjLmM6Mzk1MworbXNnaWQgIldhcm5pbmc6ICVCIHVzZXMgdW5rbm93biB2ZWN0b3IgQUJJICVkIgorbXNnc3RyICJQZXJpbmdhdGFuOiAlQiBtZW5nZ3VuYWthbiB2ZWN0b3IgQUJJICVkIHRpZGFrIGRpa2VuYWwiCisKKyM6IGVsZjMyLXBwYy5jOjM5NTcKK21zZ2lkICJXYXJuaW5nOiAlQiB1c2VzIHZlY3RvciBBQkkgXCIlc1wiLCAlQiB1c2VzIFwiJXNcIiIKK21zZ3N0ciAiUGVyaW5nYXRhbjogJUIgbWVuZ2d1bmFrYW4gdmVjdG9yIEFCSSBcIiVzXCIsICVCIG1lbmdndW5ha2FuIFwiJXNcIiIKKworIzogZWxmMzItcHBjLmM6NDAxMQorbXNnaWQgIiVCOiBjb21waWxlZCB3aXRoIC1tcmVsb2NhdGFibGUgYW5kIGxpbmtlZCB3aXRoIG1vZHVsZXMgY29tcGlsZWQgbm9ybWFsbHkiCittc2dzdHIgIiVCOiBkaWtvbXBpbGUgZGVuZ2FuIC1tcmVsb2NhdGFibGUgZGFuIGRpaHVidW5na2FuIGRlbmdhbiBtb2R1bGUgeWFuZyBkaWtvbXBpbGUgc2VjYXJhIG5vcm1hbCIKKworIzogZWxmMzItcHBjLmM6NDAxOQorbXNnaWQgIiVCOiBjb21waWxlZCBub3JtYWxseSBhbmQgbGlua2VkIHdpdGggbW9kdWxlcyBjb21waWxlZCB3aXRoIC1tcmVsb2NhdGFibGUiCittc2dzdHIgIiVCOiBkaWtvbXBpbGUgc2VjYXJhIG5vcm1hbCBkYW4gZGlodWJ1bmdrYW4gZGVuZ2FuIG1vZHVsIHlhbmcgZGlrb21waWxlIGRlbmdhbiAtbXJlbG9jYXRhYmxlIgorCisjOiBlbGYzMi1wcGMuYzo0MTA1Cittc2dpZCAiVXNpbmcgYnNzLXBsdCBkdWUgdG8gJUIiCittc2dzdHIgIk1lbmdndW5ha2FuIGJzcy1wbHQga2FyZW5hICVCIgorCisjOiBlbGYzMi1wcGMuYzo2NDE4IGVsZjY0LXBwYy5jOjEwODgxCittc2dpZCAiJUI6IHVua25vd24gcmVsb2NhdGlvbiB0eXBlICVkIGZvciBzeW1ib2wgJXMiCittc2dzdHIgIiVCOiB0aXBlIHJlbG9rYXNpICVkIHRpZGFrIGRpa2VuYWwgdW50dWsgc2ltYm9sICVzIgorCisjOiBlbGYzMi1wcGMuYzo2NjY4Cittc2dpZCAiJUIoJUErMHglbHgpOiBub24temVybyBhZGRlbmQgb24gJXMgcmVsb2MgYWdhaW5zdCBgJXMnIgorbXNnc3RyICIlQiglQSsweCVseCk6IGJ1a2FuLW5vbCBkaXRhbWJhaGthbiBkaSAlcyByZWxva2FzaSB0ZXJoYWRhcCBgJXMnIgorCisjOiBlbGYzMi1wcGMuYzo3MDI0IGVsZjMyLXBwYy5jOjcwNTAgZWxmMzItcHBjLmM6NzEwOQorbXNnaWQgIiVCOiB0aGUgdGFyZ2V0ICglcykgb2YgYSAlcyByZWxvY2F0aW9uIGlzIGluIHRoZSB3cm9uZyBvdXRwdXQgc2VjdGlvbiAoJXMpIgorbXNnc3RyICIlQjogdGFyZ2V0ICglcykgZGFyaSBzZWJ1YWggcmVsb2thc2kgJXMgYmVyYWRhIGRhbGFtIGRhZXJhaCBrZWx1YXJhbiBzYWxhaCAoJXMpIgorCisjOiBlbGYzMi1wcGMuYzo3MTY0Cittc2dpZCAiJUI6IHJlbG9jYXRpb24gJXMgaXMgbm90IHlldCBzdXBwb3J0ZWQgZm9yIHN5bWJvbCAlcy4iCittc2dzdHIgIiVCOiByZWxva2FzaSAlcyB0aWRhayBkaWR1a3VuZyB1bnR1ayBzaW1ib2wgJXMuIgorCisjOiBlbGYzMi1wcGMuYzo3MjcyIGVsZjY0LXBwYy5jOjExNTc1Cittc2dpZCAiJUIoJUErMHglbHgpOiAlcyByZWxvYyBhZ2FpbnN0IGAlcyc6IGVycm9yICVkIgorbXNnc3RyICIlQiglQSsweCVseCk6ICVzIHJlbG9rYXNpIHRlcmhhZGFwIGAlcyc6IGVycm9yICVkIgorCisjOiBlbGYzMi1zMzkwLmM6MjI0NiBlbGY2NC1zMzkwLmM6MjIyMAorbXNnaWQgIiVCKCVBKzB4JWx4KTogaW52YWxpZCBpbnN0cnVjdGlvbiBmb3IgVExTIHJlbG9jYXRpb24gJXMiCittc2dzdHIgIiVCKCVBKzB4JWx4KTogaW5zdHJ1a3NpIHRpZGFrIHZhbGlkIHVudHVrIHJlbG9rYXNpIFRMUyAlcyIKKworIzogZWxmMzItc2NvcmUuYzoxNDE1IGVsZnh4LW1pcHMuYzozMjczCittc2dpZCAibm90IGVub3VnaCBHT1Qgc3BhY2UgZm9yIGxvY2FsIEdPVCBlbnRyaWVzIgorbXNnc3RyICJ0aWRhayBjdWt1cCBydWFuZyBHT1QgdW50dWsgbWFzdWthbiBsb2thbCBHT1QiCisKKyM6IGVsZjMyLXNjb3JlLmM6MjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogTWFsZm9ybWVkIHJlbG9jIGRldGVjdGVkIGZvciBzZWN0aW9uICVzIgorbXNnc3RyICIlczogcmVsb2thc2kgbWFsZm9ybWF0IHRlcmRldGVrc2kgdW50dWsgYmFnaWFuICVzIgorCisjOiBlbGYzMi1zY29yZS5jOjI1OTYKK21zZ2lkICIlQjogQ0FMTDE1IHJlbG9jIGF0IDB4JWx4IG5vdCBhZ2FpbnN0IGdsb2JhbCBzeW1ib2wiCittc2dzdHIgIiVCOiBDQUxMMTUgcmVsb2thc2kgZGkgMHglbHggdGlkYWsgdGVyaGFkYXAgc2ltYm9sIGdsb2JhbCIKKworIzogZWxmMzItc2NvcmUuYzozNzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiBbcGljXSIKK21zZ3N0ciAiIFtwaWNdIgorCisjOiBlbGYzMi1zY29yZS5jOjM3NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFtmaXggZGVwXSIKK21zZ3N0ciAiIFtmaXggZGVwXSIKKworIzogZWxmMzItc2NvcmUuYzozNzk5Cittc2dpZCAiJUI6IHdhcm5pbmc6IGxpbmtpbmcgUElDIGZpbGVzIHdpdGggbm9uLVBJQyBmaWxlcyIKK21zZ3N0ciAiJUI6IHBlcmluZ2F0YW46IG1lbmdodWJ1bmdrYW4gYmVya2FzIFBJQyBkZW5nYW4gYmVya2FzIGJ1a2FuLVBJQyIKKworIzogZWxmMzItc2gtc3ltYmlhbi5jOjEzMAorbXNnaWQgIiVCOiBJTVBPUlQgQVMgZGlyZWN0aXZlIGZvciAlcyBjb25jZWFscyBwcmV2aW91cyBJTVBPUlQgQVMiCittc2dzdHIgIiVCOiBJTVBPUlQgU0VCQUdBSSBkaXJla3RpZiB1bnR1ayAlcyBtZW55ZW1idW55aWthbiBJTVBPUlQgU0VCQUdBSSBzZWJlbHVtbnlhIgorCisjOiBlbGYzMi1zaC1zeW1iaWFuLmM6MzgzCittc2dpZCAiJUI6IFVucmVjb2duaXNlZCAuZGlyZWN0aXZlIGNvbW1hbmQ6ICVzIgorbXNnc3RyICIlQjogUGVyaW50YWggLmRpcmVjdGl2ZSB0aWRhayBkaWtlbmFsOiAlcyIKKworIzogZWxmMzItc2gtc3ltYmlhbi5jOjUwNAorbXNnaWQgIiVCOiBGYWlsZWQgdG8gYWRkIHJlbmFtZWQgc3ltYm9sICVzIgorbXNnc3RyICIlQjogR2FnYWwgbWVuYW1iYWhrYW4gc2ltYm9sIGRpdWJhaCBuYW1hbnlhICVzIgorCisjOiBlbGYzMi1zaC5jOjUzMworbXNnaWQgIiVCOiAweCVseDogd2FybmluZzogYmFkIFJfU0hfVVNFUyBvZmZzZXQiCittc2dzdHIgIiVCOiAweCVseDogcGVyaW5nYXRhbjogb2ZzZXQgUl9TSF9VU0VTIGJ1cnVrIgorCisjOiBlbGYzMi1zaC5jOjU0NQorbXNnaWQgIiVCOiAweCVseDogd2FybmluZzogUl9TSF9VU0VTIHBvaW50cyB0byB1bnJlY29nbml6ZWQgaW5zbiAweCV4IgorbXNnc3RyICIlQjogMHglbHg6IHBlcmluZ2F0YW46IFJfU0hfVVNFUyB0aXRpayB0aWRhayBkaWtlbmFsIGluc24gMHgleCIKKworIzogZWxmMzItc2guYzo1NjIKK21zZ2lkICIlQjogMHglbHg6IHdhcm5pbmc6IGJhZCBSX1NIX1VTRVMgbG9hZCBvZmZzZXQiCittc2dzdHIgIiVCOiAweCVseDogcGVyaW5nYXRhbjogb2ZzZXQgUl9TSF9VU0VTIGJlYmFuIGJ1cnVrIgorCisjOiBlbGYzMi1zaC5jOjU3NworbXNnaWQgIiVCOiAweCVseDogd2FybmluZzogY291bGQgbm90IGZpbmQgZXhwZWN0ZWQgcmVsb2MiCittc2dzdHIgIiVCOiAweCVseDogcGVyaW5nYXRhbjogdGlkYWsgZGFwYXQgbWVuZW11a2FuIHJlbG9rYXNpIHlhbmcgZGlwZXJraXJha2FuIgorCisjOiBlbGYzMi1zaC5jOjYwNQorbXNnaWQgIiVCOiAweCVseDogd2FybmluZzogc3ltYm9sIGluIHVuZXhwZWN0ZWQgc2VjdGlvbiIKK21zZ3N0ciAiJUI6IDB4JWx4OiBwZXJpbmdhdGFuOiBzaW1ib2wgZGFsYW0gYmFnaWFuIHlhbmcgdGlkYWsgZGlwZXJraXJha2FuIgorCisjOiBlbGYzMi1zaC5jOjczMQorbXNnaWQgIiVCOiAweCVseDogd2FybmluZzogY291bGQgbm90IGZpbmQgZXhwZWN0ZWQgQ09VTlQgcmVsb2MiCittc2dzdHIgIiVCOiAweCVseDogcGVyaW5nYXRhbjogdGlkYWsgZGFwYXQgbWVuZW11a2FuIENPVU5UIHJlbG9rYXNpIgorCisjOiBlbGYzMi1zaC5jOjc0MAorbXNnaWQgIiVCOiAweCVseDogd2FybmluZzogYmFkIGNvdW50IgorbXNnc3RyICIlQjogMHglbHg6IHBlcmluZ2F0YW46IGp1bWxhaCBidXJ1ayIKKworIzogZWxmMzItc2guYzoxMTQ0IGVsZjMyLXNoLmM6MTUxNAorbXNnaWQgIiVCOiAweCVseDogZmF0YWw6IHJlbG9jIG92ZXJmbG93IHdoaWxlIHJlbGF4aW5nIgorbXNnc3RyICIlQjogMHglbHg6IGZhdGFsOiByZWxva2FzaSBvdmVyZmxvdyBrZXRpa2EgcmVsYXhpbmciCisKKyM6IGVsZjMyLXNoLmM6MzI3OSBlbGY2NC1zaDY0LmM6MTUyNgorbXNnaWQgIlVuZXhwZWN0ZWQgU1RPX1NINV9JU0EzMiBvbiBsb2NhbCBzeW1ib2wgaXMgbm90IGhhbmRsZWQiCittc2dzdHIgIlRpZGFrIGRpcGVya2lyYWthbiBTVE9fU0g1X0lTQTMyIGRpIHNpbWJvbCBsb2thbCB0aWRhayBkaXRhbmdhbmkiCisKKyM6IGVsZjMyLXNoLmM6MzUxNgorbXNnaWQgIiVCOiAweCVseDogZmF0YWw6IHVuYWxpZ25lZCBicmFuY2ggdGFyZ2V0IGZvciByZWxheC1zdXBwb3J0IHJlbG9jYXRpb24iCittc2dzdHIgIiVCOiAweCVseDogZmF0YWw6IHVuYWxpZ25lZCBicmFuY2ggdGFyZ2V0IHVudHVrIHJlbGF4LXN1cHBvcnQgcmVsb2thc2kiCisKKyM6IGVsZjMyLXNoLmM6MzU0OSBlbGYzMi1zaC5jOjM1NjQKK21zZ2lkICIlQjogMHglbHg6IGZhdGFsOiB1bmFsaWduZWQgJXMgcmVsb2NhdGlvbiAweCVseCIKK21zZ3N0ciAiJUI6IDB4JWx4OiBmYXRhbDogdW5hbGlnbmVkICVzIHJlbG9rYXNpIDB4JWx4IgorCisjOiBlbGYzMi1zaC5jOjM1NzgKK21zZ2lkICIlQjogMHglbHg6IGZhdGFsOiBSX1NIX1BTSEEgcmVsb2NhdGlvbiAlZCBub3QgaW4gcmFuZ2UgLTMyLi4zMiIKK21zZ3N0ciAiJUI6IDB4JWx4OiBmYXRhbDogUl9TSF9QU0hBIHJlbG9rYXNpICVkIHRpZGFrIGRhbGFtIGphbmdrYXVhbiAtMzIuLjMyIgorCisjOiBlbGYzMi1zaC5jOjM1OTIKK21zZ2lkICIlQjogMHglbHg6IGZhdGFsOiBSX1NIX1BTSEwgcmVsb2NhdGlvbiAlZCBub3QgaW4gcmFuZ2UgLTMyLi4zMiIKK21zZ3N0ciAiJUI6IDB4JWx4OiBmYXRhbDogUl9TSF9QU0hMIHJlbG9rYXNpICVkIHRpZGFrIGRhbGFtIGphbmdrYXVhbiAtMzIuLjMyIgorCisjOiBlbGYzMi1zaC5jOjUzMTAgZWxmNjQtYWxwaGEuYzo0NTUyCittc2dpZCAiJUI6IFRMUyBsb2NhbCBleGVjIGNvZGUgY2Fubm90IGJlIGxpbmtlZCBpbnRvIHNoYXJlZCBvYmplY3RzIgorbXNnc3RyICIlQjogVExTIGxva2FsIGV4ZWMga29kZSB0aWRhayBkYXBhdCBkaWh1YnVuZ2thbiBkYWxhbSBvYmplayB0ZXJiYWdpIgorCisjOiBlbGYzMi1zaDY0LmM6MjIyIGVsZjY0LXNoNjQuYzoyMzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjb21waWxlZCBhcyAzMi1iaXQgb2JqZWN0IGFuZCAlcyBpcyA2NC1iaXQiCittc2dzdHIgIiVzOiBkaWtvbXBpbGUgc2ViYWdhaSAzMi1iaXQgb2JqZWsgZGFuICVzIGFkYWxhaCA2NC1iaXQiCisKKyM6IGVsZjMyLXNoNjQuYzoyMjUgZWxmNjQtc2g2NC5jOjIzNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNvbXBpbGVkIGFzIDY0LWJpdCBvYmplY3QgYW5kICVzIGlzIDMyLWJpdCIKK21zZ3N0ciAiJXM6IGRpa29tcGlsZSBzZWJhZ2FpIDY0LWJpdCBvYmplayBkYW4gJXMgYWRhbGFoIDMyLWJpdCIKKworIzogZWxmMzItc2g2NC5jOjIyNyBlbGY2NC1zaDY0LmM6MjM1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IHNpemUgZG9lcyBub3QgbWF0Y2ggdGhhdCBvZiB0YXJnZXQgJXMiCittc2dzdHIgIiVzOiB1a3VyYW4gb2JqZWsgdGlkYWsgY29jb2sgZGFyaSB0YXJnZXQgJXMiCisKKyM6IGVsZjMyLXNoNjQuYzo0NTAgZWxmNjQtc2g2NC5jOjI4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuY291bnRlcmVkIGRhdGFsYWJlbCBzeW1ib2wgaW4gaW5wdXQiCittc2dzdHIgIiVzOiBkaXRlbXVpIGRhdGFsYWJlbCBzaW1ib2wgZGFsYW0gbWFzdWthbiIKKworIzogZWxmMzItc2g2NC5jOjUyNworbXNnaWQgIlBUQiBtaXNtYXRjaDogYSBTSG1lZGlhIGFkZHJlc3MgKGJpdCAwID09IDEpIgorbXNnc3RyICJQVEIgdGlkYWsgY29jb2s6IHNlYnVhaCBTSG1lZGlhIGFsYW1hdCAoYml0IDAgPT0xKSIKKworIzogZWxmMzItc2g2NC5jOjUzMAorbXNnaWQgIlBUQSBtaXNtYXRjaDogYSBTSGNvbXBhY3QgYWRkcmVzcyAoYml0IDAgPT0gMCkiCittc2dzdHIgIlBUQSB0aWRhayBjb2Nvazogc2VidWFoIFNIY29tcGFjdCBhbGFtYXQgKGJpdCAwID09IDApIgorCisjOiBlbGYzMi1zaDY0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBHQVMgZXJyb3I6IHVuZXhwZWN0ZWQgUFRCIGluc24gd2l0aCBSX1NIX1BUXzE2IgorbXNnc3RyICIlczogR0FTIGVycm9yOiB0aWRhayBkaWR1Z2EgUFRCIGluc24gZGVuZ2FuIFJfU0hfUFRfMTYiCisKKyM6IGVsZjMyLXNoNjQuYzo1OTcKK21zZ2lkICIlQjogZXJyb3I6IHVuYWxpZ25lZCByZWxvY2F0aW9uIHR5cGUgJWQgYXQgJTA4eCByZWxvYyAlcFxuIgorbXNnc3RyICIlQjogZXJyb3I6IHRpcGUgcmVsb2thc2kgdW5hbGlnbmVkICVkIGRpICUwOHggcmVsb2thc2kgJXBcbiIKKworIzogZWxmMzItc2g2NC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY291bGQgbm90IHdyaXRlIG91dCBhZGRlZCAuY3JhbmdlcyBlbnRyaWVzIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVudWxpcyBtYXN1a2FuIHRhbWJhaGFuIC5jcmFuZ2VzIgorCisjOiBlbGYzMi1zaDY0LmM6NzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjb3VsZCBub3Qgd3JpdGUgb3V0IHNvcnRlZCAuY3JhbmdlcyBlbnRyaWVzIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVudWxpcyBtYXN1a2FuIHRlcnVydXQgLmNyYW5nZXMiCisKKyM6IGVsZjMyLXNwYXJjLmM6ODkKK21zZ2lkICIlQjogY29tcGlsZWQgZm9yIGEgNjQgYml0IHN5c3RlbSBhbmQgdGFyZ2V0IGlzIDMyIGJpdCIKK21zZ3N0ciAiJUI6IGRpa29tcGlsZSB1bnR1ayBzZWJ1YWggc2lzdGVtIDY0IGJpdCBkYW4gdGFyZ2V0IGFkYWxhaCAzMiBiaXQiCisKKyM6IGVsZjMyLXNwYXJjLmM6MTAyCittc2dpZCAiJUI6IGxpbmtpbmcgbGl0dGxlIGVuZGlhbiBmaWxlcyB3aXRoIGJpZyBlbmRpYW4gZmlsZXMiCittc2dzdHIgIiVCOiBtZW5naHVidW5na2FuIGJlcmthcyBsaXR0bGUgZW5kaWFuIGRlbmdhbiBiZXJrYXMgYmlnIGVuZGlhbiIKKworIzogZWxmMzItc3B1LmM6NjA3Cittc2dpZCAiJVglUDogb3ZlcmxheSBzZWN0aW9ucyAlQSBhbmQgJUEgZG8gbm90IHN0YXJ0IGF0IHRoZSBzYW1lIGFkZHJlc3MuXG4iCittc2dzdHIgIiVYJVA6IGJhZ2lhbiBvdmVybGF5ICVBIGRhbiAlQSBqYW5nYW4gZGlhd2FsaSBkaSBhbGFtYXQgeWFuZyBzYW1hLlxuIgorCisjOiBlbGYzMi1zcHUuYzo4MDUKK21zZ2lkICJ3YXJuaW5nOiBjYWxsIHRvIG5vbi1mdW5jdGlvbiBzeW1ib2wgJXMgZGVmaW5lZCBpbiAlQiIKK21zZ3N0ciAicGVyaW5nYXRhbjogcGFuZ2dpbGFuIGJ1a2FuLWZ1bmdzaSBzaW1ib2wgJXMgZGlkZWZpbmlzaWthbiBkYWxhbSAlQiIKKworIzogZWxmMzItc3B1LmM6MTQwNgorbXNnaWQgIiVCIGlzIG5vdCBhbGxvd2VkIHRvIGRlZmluZSAlcyIKK21zZ3N0ciAiJUIgdGlkYWsgZGlwZXJib2xlaGthbiB1bnR1ayBkaWRlZmluaXNpa2FuICVzIgorCisjOiBlbGYzMi1zcHUuYzoxNDUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGluIG92ZXJsYXkgc2VjdGlvbiIKK21zZ3N0ciAiJXMgZGFsYW0gZGFlcmFoIG92ZXJsYXkiCisKKyM6IGVsZjMyLXNwdS5jOjE0NjkKK21zZ2lkICJvdmVybGF5IHN0dWIgcmVsb2NhdGlvbiBvdmVyZmxvdyIKK21zZ3N0ciAicmVsb2thc2kgc3R1YiBvdmVybGF5IG92ZXJmbG93IgorCisjOiBlbGYzMi1zcHUuYzoxNDc4IGVsZjY0LXBwYy5jOjEwMDc4Cittc2dpZCAic3R1YnMgZG9uJ3QgbWF0Y2ggY2FsY3VsYXRlZCBzaXplIgorbXNnc3RyICJzdHViIHRpZGFrIGNvY29rIGRlbmdhbiB1a3VyYW4geWFuZyBkaWhpdHVuZyIKKworIzogZWxmMzItc3B1LmM6MTk3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBvdmVybGFwcyAlc1xuIgorbXNnc3RyICJwZXJpbmdhdGFuOiAlcyB0aW1wYW5nIHRpbmRpaCAlc1xuIgorCisjOiBlbGYzMi1zcHUuYzoxOTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGV4Y2VlZHMgc2VjdGlvbiBzaXplXG4iCittc2dzdHIgInBlcmluZ2F0YW46ICVzIG1lbGViaWhpIHVrdXJhbiBkYWVyYWhcbiIKKworIzogZWxmMzItc3B1LmM6MjAyMworbXNnaWQgIiVBOjB4JXYgbm90IGZvdW5kIGluIGZ1bmN0aW9uIHRhYmxlXG4iCittc2dzdHIgIiVBOjB4JXYgdGlkYWsgZGl0ZW11a2FuIGRhbGFtIHRhYmVsIGZ1bmdzaVxuIgorCisjOiBlbGYzMi1zcHUuYzoyMTY1Cittc2dpZCAiJUIoJUErMHgldik6IGNhbGwgdG8gbm9uLWNvZGUgc2VjdGlvbiAlQiglQSksIGFuYWx5c2lzIGluY29tcGxldGVcbiIKK21zZ3N0ciAiJUIoJUErMHgldik6IHBhbmdnaWxhbiB1bnR1ayBkYWVyYWggYnVrYW4ta29kZSAlQiglQSksIGFuYWx5c2lzIHRpZGFrIGxlbmdrYXBcbiIKKworIzogZWxmMzItc3B1LmM6MjMzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlQSBsaW5rX29yZGVyIG5vdCBmb3VuZFxuIgorbXNnc3RyICIlQSBsaW5rX29yZGVyIHRpZGFrIGRpdGVtdWthblxuIgorCisjOiBlbGYzMi1zcHUuYzoyNzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YWNrIGFuYWx5c2lzIHdpbGwgaWdub3JlIHRoZSBjYWxsIGZyb20gJXMgdG8gJXNcbiIKK21zZ3N0ciAiU3RhY2sgYW5hbHlzaXMgYWthbiBtZW5nYWJhaWthbiBwYW5nZ2lsYW4gZGFyaSAlcyBrZSAlc1xuIgorCisjOiBlbGYzMi1zcHUuYzozMzQ4Cittc2dpZCAiICAlczogMHgldlxuIgorbXNnc3RyICIgICVzOiAweCV2XG4iCisKKyM6IGVsZjMyLXNwdS5jOjMzNDkKK21zZ2lkICIlczogMHgldiAweCV2XG4iCittc2dzdHIgIiVzOiAweCV2IDB4JXZcbiIKKworIzogZWxmMzItc3B1LmM6MzM1NAorbXNnaWQgIiAgY2FsbHM6XG4iCittc2dzdHIgIiAgcGFuZ2dpbGFuOlxuIgorCisjOiBlbGYzMi1zcHUuYzozMzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICVzJXMgJXNcbiIKK21zZ3N0ciAiICAgJXMlcyAlc1xuIgorCisjOiBlbGYzMi1zcHUuYzozNTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGR1cGxpY2F0ZWQgaW4gJXNcbiIKK21zZ3N0ciAiJXMgZHVwbGlrYXNpIGRhbGFtICVzXG4iCisKKyM6IGVsZjMyLXNwdS5jOjM1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZHVwbGljYXRlZFxuIgorbXNnc3RyICIlcyBkdXBsaWthc2lcbiIKKworIzogZWxmMzItc3B1LmM6MzU3NQorbXNnaWQgInNvcnJ5LCBubyBzdXBwb3J0IGZvciBkdXBsaWNhdGUgb2JqZWN0IGZpbGVzIGluIGF1dG8tb3ZlcmxheSBzY3JpcHRcbiIKK21zZ3N0ciAibWFhZiwgdGlkYWsgYWRhIGR1a3VuZ2FuIHVudHVrIGR1cGxpa2FzaSBiZXJrYXMgb2JqZWsgZGFsYW0gYXV0by1vdmVybGF5IHNjcmlwdFxuIgorCisjOiBlbGYzMi1zcHUuYzozNjA1Cittc2dpZCAibm9uLW92ZXJsYXkgc2l6ZSBvZiAweCV2IHBsdXMgbWF4aW11bSBvdmVybGF5IHNpemUgb2YgMHgldiBleGNlZWRzIGxvY2FsIHN0b3JlXG4iCittc2dzdHIgInVrdXJhbiBub24tb3ZlcmxheSBkYXJpIDB4JXYgcGx1cyBtYWtzaW11bCBvdmVybGF5IHNpemUgZGFyaSAweCV2IG1lbGViaWhpIGxva2FsIHN0b3JlXG4iCisKKyM6IGVsZjMyLXNwdS5jOjM3NDEKK21zZ2lkICIlQjolQSVzIGV4Y2VlZHMgb3ZlcmxheSBzaXplXG4iCittc2dzdHIgIiVCOiVBJXMgbWVsZWJpaGkgdWt1cmFuIG92ZXJsYXlcbiIKKworIzogZWxmMzItc3B1LmM6Mzg2MgorbXNnaWQgIlN0YWNrIHNpemUgZm9yIGNhbGwgZ3JhcGggcm9vdCBub2Rlcy5cbiIKK21zZ3N0ciAiVWt1cmFuIHN0YWNrIHVudHVrIHBhbmdnaWxhbiBncmFwaCB0aXRpayByb290LlxuIgorCisjOiBlbGYzMi1zcHUuYzozODYzCittc2dpZCAiIgorIlxuIgorIlN0YWNrIHNpemUgZm9yIGZ1bmN0aW9ucy4gIEFubm90YXRpb25zOiAnKicgbWF4IHN0YWNrLCAndCcgdGFpbCBjYWxsXG4iCittc2dzdHIgIiIKKyJcbiIKKyJVa3VyYW4gc3RhY2sgdW50dWsgZnVuZ3NpLiBBbm90YXNpOiAnKicgbWF4IHN0YWNrLCAndCcgdGFpbCBjYWxsXG4iCisKKyM6IGVsZjMyLXNwdS5jOjM4NzEKK21zZ2lkICJNYXhpbXVtIHN0YWNrIHJlcXVpcmVkIGlzIDB4JXZcbiIKK21zZ3N0ciAiTWFrc2ltYWwgc3RhY2sgZGlidXR1aGthbiBhZGFsYWggMHgldlxuIgorCisjOiBlbGYzMi1zcHUuYzo0MDY3Cittc2dpZCAiJUIoJXMrMHglbHgpOiB1bnJlc29sdmFibGUgJXMgcmVsb2NhdGlvbiBhZ2FpbnN0IHN5bWJvbCBgJXMnIgorbXNnc3RyICIlQiglcz0weCVseCk6IHRpZGFrIHRlcmVzb2xmICVzIHJlbG9rYXNpIHRlcmhhZGFwIHNpbWJvbCBgJXMnIgorCisjOiBlbGYzMi12ODUwLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlZhcmlhYmxlIGAlcycgY2Fubm90IG9jY3VweSBpbiBtdWx0aXBsZSBzbWFsbCBkYXRhIHJlZ2lvbnMiCittc2dzdHIgIlZhcmlhYmVsIGAlcycgdGlkYWsgZGFwYXQgbWVuZ2lzaSBkYWxhbSBiZWJlcmFwYSBkYWVyYWggZGF0YSBrZWNpbCIKKworIzogZWxmMzItdjg1MC5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJWYXJpYWJsZSBgJXMnIGNhbiBvbmx5IGJlIGluIG9uZSBvZiB0aGUgc21hbGwsIHplcm8sIGFuZCB0aW55IGRhdGEgcmVnaW9ucyIKK21zZ3N0ciAiVmFyaWFiZWwgYCVzJyBoYW55YSBkYXBhdCBiZXJhZGEgZGFsYW0gc2F0dSBkYXJpIGtlY2lsLCBub2wsIGRhbiBzYW5nYXQga2VjaWwgZGFlcmFoIGRhdGEiCisKKyM6IGVsZjMyLXY4NTAuYzoxNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmFyaWFibGUgYCVzJyBjYW5ub3QgYmUgaW4gYm90aCBzbWFsbCBhbmQgemVybyBkYXRhIHJlZ2lvbnMgc2ltdWx0YW5lb3VzbHkiCittc2dzdHIgIlZhcmlhYmVsIGAlcycgdGlkYWsgZGFwYXQgYmVyYWRhIGRhbGFtIGtlY2lsIGRhbiBub2wgZGFlcmFoIGRhdGEgc2VjYXJhIGJlcnNhbWFhbiIKKworIzogZWxmMzItdjg1MC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJWYXJpYWJsZSBgJXMnIGNhbm5vdCBiZSBpbiBib3RoIHNtYWxsIGFuZCB0aW55IGRhdGEgcmVnaW9ucyBzaW11bHRhbmVvdXNseSIKK21zZ3N0ciAiVmFyaWFiZWwgYCVzJyB0aWRhayBkYXBhdCBiZXJhZGEgZGFsYW0ga2VjaWwgZGFuIHNhbmdhdCBrZWNpbCBkYWVyYWggZGF0YSBzZWNhcmEgYmVyc2FtYWFuIgorCisjOiBlbGYzMi12ODUwLmM6MTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlZhcmlhYmxlIGAlcycgY2Fubm90IGJlIGluIGJvdGggemVybyBhbmQgdGlueSBkYXRhIHJlZ2lvbnMgc2ltdWx0YW5lb3VzbHkiCittc2dzdHIgInZhcmlhYmVsIGAlcycgdGlkYWsgZGFwYXQgZGFsYW0gbm9sIGRhbiBrZWNpbCBkYWVyYWggZGF0YSBzZWNhcmEgYmVyc2FtYWFuIgorCisjOiBlbGYzMi12ODUwLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCB0byBmaW5kIHByZXZpb3VzIEhJMTYgcmVsb2NcbiIKK21zZ3N0ciAiR0FHQUwgdW50dWsgbWVuZW11a2FuIHJlbG9rYXNpIEhJMTYgc2ViZWx1bW55YVxuIgorCisjOiBlbGYzMi12ODUwLmM6MTcxNQorbXNnaWQgImNvdWxkIG5vdCBsb2NhdGUgc3BlY2lhbCBsaW5rZXIgc3ltYm9sIF9fZ3AiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmVtdWthbiBzaW1ib2wgbGlua2VyIHNwZXNpYWwgX19ncCIKKworIzogZWxmMzItdjg1MC5jOjE3MTkKK21zZ2lkICJjb3VsZCBub3QgbG9jYXRlIHNwZWNpYWwgbGlua2VyIHN5bWJvbCBfX2VwIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5lbXVrYW4gc2ltYm9sIGxpbmtlciBzcGVzaWFsIF9fZXAiCisKKyM6IGVsZjMyLXY4NTAuYzoxNzIzCittc2dpZCAiY291bGQgbm90IGxvY2F0ZSBzcGVjaWFsIGxpbmtlciBzeW1ib2wgX19jdGJwIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5lbXVrYW4gc2ltYm9sIGxpbmtlciBzcGVzaWFsIF9fY3RicCIKKworIzogZWxmMzItdjg1MC5jOjE4NzMKK21zZ2lkICIlQjogQXJjaGl0ZWN0dXJlIG1pc21hdGNoIHdpdGggcHJldmlvdXMgbW9kdWxlcyIKK21zZ3N0ciAiJUI6IEFyc2l0ZWt0dXIgdGlkYWsgY29jb2sgZGVuZ2FuIG1vZHVsIHNlYmVsdW1ueWEiCisKKyM6IGVsZjMyLXY4NTAuYzoxODkyCisjLCBjLWZvcm1hdAorbXNnaWQgInByaXZhdGUgZmxhZ3MgPSAlbHg6ICIKK21zZ3N0ciAicHJpdmF0ZSBmbGFncyA9ICVseDogIgorCisjOiBlbGYzMi12ODUwLmM6MTg5NworIywgYy1mb3JtYXQKK21zZ2lkICJ2ODUwIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAidjg1MCBhcnNpdGVrdHVyIgorCisjOiBlbGYzMi12ODUwLmM6MTg5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ2ODUwZSBhcmNoaXRlY3R1cmUiCittc2dzdHIgInY4NTBlIGFyc2l0ZWt0dXIiCisKKyM6IGVsZjMyLXY4NTAuYzoxODk5CisjLCBjLWZvcm1hdAorbXNnaWQgInY4NTBlMSBhcmNoaXRlY3R1cmUiCittc2dzdHIgInY4NTBlMSBhcnNpdGVrdHVyIgorCisjOiBlbGYzMi12YXguYzo1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFtub25waWNdIgorbXNnc3RyICIgW2J1a2FuLXBpY10iCisKKyM6IGVsZjMyLXZheC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgW2QtZmxvYXRdIgorbXNnc3RyICIgW2QtZmxvYXRdIgorCisjOiBlbGYzMi12YXguYzo1NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFtnLWZsb2F0XSIKK21zZ3N0ciAiIFtnLWZsb2F0XSIKKworIzogZWxmMzItdmF4LmM6NjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBHT1QgYWRkZW5kIG9mICVsZCB0byBgJXMnIGRvZXMgbm90IG1hdGNoIHByZXZpb3VzIEdPVCBhZGRlbmQgb2YgJWxkIgorbXNnc3RyICIlczogcGVyaW5nYXRhbjogR09UIGRpdGFtYmFoa2FuIGRhcmkgJWxkIGtlIGAlcycgdGlkYWsgY29jb2sgZGVuZ2FuIHBlbmFtYmFoYW4gR09UIHNlYmVsdW1ueWEgZGFyaSAlbGQiCisKKyM6IGVsZjMyLXZheC5jOjE1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IFBMVCBhZGRlbmQgb2YgJWQgdG8gYCVzJyBmcm9tICVzIHNlY3Rpb24gaWdub3JlZCIKK21zZ3N0ciAiJXM6IHBlcmluZ2F0YW46IFBMVCBkaXRhbWJhaGthbiBkYXJpICVkIGtlIGAlcycgZGFyaSAlcyBiYWdpYW4gZGlhYmFpa2FuIgorCisjOiBlbGYzMi12YXguYzoxNzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiAlcyByZWxvY2F0aW9uIGFnYWluc3Qgc3ltYm9sIGAlcycgZnJvbSAlcyBzZWN0aW9uIgorbXNnc3RyICIlczogcGVyaW5nYXRhbjogJXMgcmVsb2thc2kgdGVyaGFkYXAgc2ltYm9sIGAlcycgZGFyaSBiYWdpYW4gJXMiCisKKyM6IGVsZjMyLXZheC5jOjE3MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6ICVzIHJlbG9jYXRpb24gdG8gMHgleCBmcm9tICVzIHNlY3Rpb24iCittc2dzdHIgIiVzOiBwZXJpbmdhdGFuOiByZWxva2FzaSAlcyBrZSAweCV4IGRhcmkgZGFlcmFoICVzIgorCisjOiBlbGYzMi14c3Rvcm15MTYuYzo0NTEgZWxmMzItaWE2NC5jOjI3OTQgZWxmNjQtaWE2NC5jOjI3OTQKK21zZ2lkICJub24temVybyBhZGRlbmQgaW4gQGZwdHIgcmVsb2MiCittc2dzdHIgImJ1a2FuLW5vbCBkaXRhbWJhaGthbiBkYWxhbSBAZnB0ciByZWxva2FzaSIKKworIzogZWxmMzIteHRlbnNhLmM6OTExCittc2dpZCAiJUIoJUEpOiBpbnZhbGlkIHByb3BlcnR5IHRhYmxlIgorbXNnc3RyICIlQiglQSk6IHRhYmVsIHByb3BlcnRpIHRpZGFrIHZhbGlkIgorCisjOiBlbGYzMi14dGVuc2EuYzoyNzM0Cittc2dpZCAiJUIoJUErMHglbHgpOiByZWxvY2F0aW9uIG9mZnNldCBvdXQgb2YgcmFuZ2UgKHNpemU9MHgleCkiCittc2dzdHIgIiVCKCVBKzB4JWx4KTogb2ZzZXQgcmVsb2thc2kgZGlsdWFyIGphbmdrYXVhbiAoc2l6ZT0weCV4KSIKKworIzogZWxmMzIteHRlbnNhLmM6MjgxMyBlbGYzMi14dGVuc2EuYzoyOTM0Cittc2dpZCAiZHluYW1pYyByZWxvY2F0aW9uIGluIHJlYWQtb25seSBzZWN0aW9uIgorbXNnc3RyICJyZWxva2FzaSBkaW5hbWlzIGRhbGFtIGJhZ2lhbiBiYWNhLXNhamEiCisKKyM6IGVsZjMyLXh0ZW5zYS5jOjI5MTAKK21zZ2lkICJUTFMgcmVsb2NhdGlvbiBpbnZhbGlkIHdpdGhvdXQgZHluYW1pYyBzZWN0aW9ucyIKK21zZ3N0ciAicmVsb2thc2kgVExTIHRpZGFrIHZhbGlkIHRhbnBhIGJhZ2lhbiBkaW5hbWlzIgorCisjOiBlbGYzMi14dGVuc2EuYzozMTI3Cittc2dpZCAiaW50ZXJuYWwgaW5jb25zaXN0ZW5jeSBpbiBzaXplIG9mIC5nb3QubG9jIHNlY3Rpb24iCittc2dzdHIgImludGVybmFsIHRpZGFrIGtvbnNpc3RlbiBkYWxhbSB1a3VyYW4gZGFyaSBkYWVyYWggLmdvdC5sb2MiCisKKyM6IGVsZjMyLXh0ZW5zYS5jOjM0MzcKK21zZ2lkICIlQjogaW5jb21wYXRpYmxlIG1hY2hpbmUgdHlwZS4gT3V0cHV0IGlzIDB4JXguIElucHV0IGlzIDB4JXgiCittc2dzdHIgIiVCOiB0aXBlIG1lc2luIHRpZGFrIGtvbXBhdGliZWwuIEtlbHVhcmFuIGFkYWxhaCAweCV4LiBNYXN1a2FuIGFkYWxhaCAweCV4IgorCisjOiBlbGYzMi14dGVuc2EuYzo0NjY2IGVsZjMyLXh0ZW5zYS5jOjQ2NzQKK21zZ2lkICJBdHRlbXB0IHRvIGNvbnZlcnQgTDMyUi9DQUxMWCB0byBDQUxMIGZhaWxlZCIKK21zZ3N0ciAiTWVuY29iYSB1bnR1ayBtZW5ndWJhaCBMMzJSL0NBTExYIGtlIENBTEwgZ2FnYWwiCisKKyM6IGVsZjMyLXh0ZW5zYS5jOjYyNzYgZWxmMzIteHRlbnNhLmM6NjM1MiBlbGYzMi14dGVuc2EuYzo3NDY4Cittc2dpZCAiJUIoJUErMHglbHgpOiBjb3VsZCBub3QgZGVjb2RlIGluc3RydWN0aW9uOyBwb3NzaWJsZSBjb25maWd1cmF0aW9uIG1pc21hdGNoIgorbXNnc3RyICIlQiglQSsweCVseCk6IHRpZGFrIGRhcGF0IG1lbmRla28gaW5zdHJ1a3NpOyBtdW5na2luIGtvbmZpZ3VyYXNpIHRpZGFrIGNvY29rIgorCisjOiBlbGYzMi14dGVuc2EuYzo3MjA4Cittc2dpZCAiJUIoJUErMHglbHgpOiBjb3VsZCBub3QgZGVjb2RlIGluc3RydWN0aW9uIGZvciBYVEVOU0FfQVNNX1NJTVBMSUZZIHJlbG9jYXRpb247IHBvc3NpYmxlIGNvbmZpZ3VyYXRpb24gbWlzbWF0Y2giCittc2dzdHIgIiVCKCVBKzB4JWx4KTogdGlkYWsgZGFwYXQgbWVuZGVrbyBpbnN0cnVrc2kgdW50dWsgWFRFTlNBX0FTTV9TSU1QTElGWSByZWxva2FzaTsgbXVuZ2tpbiBrb25maWd1cmFzaSB0aWRhayBjb2NvayIKKworIzogZWxmMzIteHRlbnNhLmM6ODk2OQorbXNnaWQgImludmFsaWQgcmVsb2NhdGlvbiBhZGRyZXNzIgorbXNnc3RyICJhbGFtYXQgcmVsb2thc2kgdGlkYWsgdmFsaWQiCisKKyM6IGVsZjMyLXh0ZW5zYS5jOjkwMTgKK21zZ2lkICJvdmVyZmxvdyBhZnRlciByZWxheGF0aW9uIgorbXNnc3RyICJvdmVyZmxvdyBzZXRlbGFoIHJlbGFrc2FzaSIKKworIzogZWxmMzIteHRlbnNhLmM6MTAxNTQKK21zZ2lkICIlQiglQSsweCVseCk6IHVuZXhwZWN0ZWQgZml4IGZvciAlcyByZWxvY2F0aW9uIgorbXNnc3RyICIlQiglQSsweCVseCk6IHVuZXhwZWN0ZWQgZml4IHVudHVrIHJlbG9rYXNpICVzIgorCisjOiBlbGY2NC1hbHBoYS5jOjQ1MgorbXNnaWQgIkdQRElTUCByZWxvY2F0aW9uIGRpZCBub3QgZmluZCBsZGFoIGFuZCBsZGEgaW5zdHJ1Y3Rpb25zIgorbXNnc3RyICJHUERJU1AgcmVsb2thc2kgdGlkYWsgZGFwYXQgbWVuZW11a2FuIGluc3RydWtzaSBsZGFoIGRhbiBsZGEiCisKKyM6IGVsZjY0LWFscGhhLmM6MjQxNgorbXNnaWQgIiVCOiAuZ290IHN1YnNlZ21lbnQgZXhjZWVkcyA2NEsgKHNpemUgJWQpIgorbXNnc3RyICIlQjogLmdvdCBzdWJzZWdtZW4gbWVsZWJpaGkgNjRLIChzaXplICVkKSIKKworIzogZWxmNjQtYWxwaGEuYzo0Mjk2IGVsZjY0LWFscGhhLmM6NDMwOAorbXNnaWQgIiVCOiBncC1yZWxhdGl2ZSByZWxvY2F0aW9uIGFnYWluc3QgZHluYW1pYyBzeW1ib2wgJXMiCittc2dzdHIgIiVCOiBncC1yZWxhdGl2ZSByZWxva2FzaSB0ZXJoYWRhcCBzaW1ib2wgZGluYW1pcyAlcyIKKworIzogZWxmNjQtYWxwaGEuYzo0MzM0IGVsZjY0LWFscGhhLmM6NDQ2OQorbXNnaWQgIiVCOiBwYy1yZWxhdGl2ZSByZWxvY2F0aW9uIGFnYWluc3QgZHluYW1pYyBzeW1ib2wgJXMiCittc2dzdHIgIiVCOiBwYy1yZWxhdGl2ZSByZWxva2FzaSB0ZXJoYWRhcCBzaW1ib2wgZGluYW1pcyAlcyIKKworIzogZWxmNjQtYWxwaGEuYzo0MzYyCittc2dpZCAiJUI6IGNoYW5nZSBpbiBncDogQlJTR1AgJXMiCittc2dzdHIgIiVCOiBwZXJ1YmFoYW4gZGFsYW0gZ3A6IEJSU0dQICVzIgorCisjOiBlbGY2NC1hbHBoYS5jOjQzODcKK21zZ2lkICI8dW5rbm93bj4iCittc2dzdHIgIjx0aWRhayBkaWtlbmFsPiIKKworIzogZWxmNjQtYWxwaGEuYzo0MzkyCittc2dpZCAiJUI6ICFzYW1lZ3AgcmVsb2MgYWdhaW5zdCBzeW1ib2wgd2l0aG91dCAucHJvbG9ndWU6ICVzIgorbXNnc3RyICIlQjogIXNhbWVncCByZWxva2FzaSB0ZXJoYWRhcCBzaW1ib2wgdGFucGEgLnByb2xvZ3VlOiAlcyIKKworIzogZWxmNjQtYWxwaGEuYzo0NDQ0Cittc2dpZCAiJUI6IHVuaGFuZGxlZCBkeW5hbWljIHJlbG9jYXRpb24gYWdhaW5zdCAlcyIKK21zZ3N0ciAiJUI6IHJlbG9rYXNpIGRpbmFtaXMgdGlkYWsgZGl0YW5nYW5pIHRlcmhhZGFwICVzIgorCisjOiBlbGY2NC1hbHBoYS5jOjQ0NzYKK21zZ2lkICIlQjogcGMtcmVsYXRpdmUgcmVsb2NhdGlvbiBhZ2FpbnN0IHVuZGVmaW5lZCB3ZWFrIHN5bWJvbCAlcyIKK21zZ3N0ciAiJUI6IHBjLXJlbGF0aXZlIHJlbG9rYXNpIHRlcmhhZGFwIHNpbWJvbCBsZW1haCB0aWRhayB0ZXJkZWZpbmlzaSAlcyIKKworIzogZWxmNjQtYWxwaGEuYzo0NTM2Cittc2dpZCAiJUI6IGR0cC1yZWxhdGl2ZSByZWxvY2F0aW9uIGFnYWluc3QgZHluYW1pYyBzeW1ib2wgJXMiCittc2dzdHIgIiVCOiBkdHAtcmVsYXRpdmUgcmVsb2thc2kgdGVyaGFkYXAgc2ltYm9sIGRpbmFtaXMgJXMiCisKKyM6IGVsZjY0LWFscGhhLmM6NDU1OQorbXNnaWQgIiVCOiB0cC1yZWxhdGl2ZSByZWxvY2F0aW9uIGFnYWluc3QgZHluYW1pYyBzeW1ib2wgJXMiCittc2dzdHIgIiVCOiB0cC1yZWxhdGl2ZSByZWxva2FzaSB0ZXJoYWRhcCBzaW1ib2wgZGluYW1pcyAlcyIKKworIzogZWxmNjQtaHBwYS5jOjIwNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3R1YiBlbnRyeSBmb3IgJXMgY2Fubm90IGxvYWQgLnBsdCwgZHAgb2Zmc2V0ID0gJWxkIgorbXNnc3RyICJtYXN1a2FuIHN0dWIgdW50dWsgJXMgdGlkYWsgZGFwYXQgZGlsb2FkIC5wbHQsIGRwIG9mc2V0ID0gJWxkIgorCisjOiBlbGY2NC1tbWl4LmM6MTE3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IEludGVybmFsIGluY29uc2lzdGVuY3kgZXJyb3IgZm9yIHZhbHVlIGZvclxuIgorIiBsaW5rZXItYWxsb2NhdGVkIGdsb2JhbCByZWdpc3RlcjogbGlua2VkOiAweCVseCUwOGx4ICE9IHJlbGF4ZWQ6IDB4JWx4JTA4bHhcbiIKK21zZ3N0ciAiIgorIiVzOiBJbnRlcm5hbCB0aWRhayBrb25zaXN0ZW4gZXJyb3IgdW50dWsgbmlsYWkgdW50dWtcbiIKKyIgbGlua2VyLWFsbG9jYXRlZCBnbG9iYWwgcmVnaXN0ZXI6IHRlcmh1YnVuZzogMHglbHglMDhseCAhPSByZWxheGVkOiAweCVseCUwOGx4XG4iCisKKyM6IGVsZjY0LW1taXguYzoxNjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYXNlLXBsdXMtb2Zmc2V0IHJlbG9jYXRpb24gYWdhaW5zdCByZWdpc3RlciBzeW1ib2w6ICh1bmtub3duKSBpbiAlcyIKK21zZ3N0ciAiJXM6IGJhc2UtcGx1cy1vZmZzZXQgcmVsb2thc2kgdGVyaGFkYXAgc2ltYm9sIHJlZ2lzdGVyOiAodGlkYWsgZGlrZXRhaHVpKSBkYWxhbSAlcyIKKworIzogZWxmNjQtbW1peC5jOjE2MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhc2UtcGx1cy1vZmZzZXQgcmVsb2NhdGlvbiBhZ2FpbnN0IHJlZ2lzdGVyIHN5bWJvbDogJXMgaW4gJXMiCittc2dzdHIgIiVzOiBiYXNlLXBsdXMtb2Zmc2V0IHJlbG9rYXNpIHRlcmhhZGFwIHNpbWJvbCByZWdpc3RlcjogJXMgZGFsYW0gJXMiCisKKyM6IGVsZjY0LW1taXguYzoxNjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWdpc3RlciByZWxvY2F0aW9uIGFnYWluc3Qgbm9uLXJlZ2lzdGVyIHN5bWJvbDogKHVua25vd24pIGluICVzIgorbXNnc3RyICIlczogcmVnaXN0ZXIgcmVsb2thc2kgdGVyaGFkYXAgbm9uLXJlZ2lzdGVyIHNpbWJvbDogKHRpZGFrIGRpa2V0YWh1aSkgZGFsYW0gJXMiCisKKyM6IGVsZjY0LW1taXguYzoxNjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWdpc3RlciByZWxvY2F0aW9uIGFnYWluc3Qgbm9uLXJlZ2lzdGVyIHN5bWJvbDogJXMgaW4gJXMiCittc2dzdHIgIiVzOiByZWdpc3RlciByZWxva2FzaSB0ZXJoYWRhcCBidWthbi1yZWdpc3RlciBzaW1ib2w6ICVzIGRhbGFtICVzIgorCisjOiBlbGY2NC1tbWl4LmM6MTcwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlyZWN0aXZlIExPQ0FMIHZhbGlkIG9ubHkgd2l0aCBhIHJlZ2lzdGVyIG9yIGFic29sdXRlIHZhbHVlIgorbXNnc3RyICIlczogZGlyZWt0aWYgTE9LQUwgaGFueWEgdmFsaWQgZGVuZ2FuIHNlYnVhaCByZWdpc3RlciBhdGF1IG5pbGFpIGFic29sdXQiCisKKyM6IGVsZjY0LW1taXguYzoxNzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBMT0NBTCBkaXJlY3RpdmU6IFJlZ2lzdGVyICQlbGQgaXMgbm90IGEgbG9jYWwgcmVnaXN0ZXIuICBGaXJzdCBnbG9iYWwgcmVnaXN0ZXIgaXMgJCVsZC4iCittc2dzdHIgIiVzOiBMT0tBTCBkaXJla3RpZjogUmVnaXN0ZXIgJCVsZCBidWthbiBzZWJ1YWggbG9rYWwgcmVnaXN0ZXIuIFBlcnRhbWEgZ2xvYmFsIHJlZ2lzdGFyIGFkYWxhICQlbGQuIgorCisjOiBlbGY2NC1tbWl4LmM6MjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRXJyb3I6IG11bHRpcGxlIGRlZmluaXRpb24gb2YgYCVzJzsgc3RhcnQgb2YgJXMgaXMgc2V0IGluIGEgZWFybGllciBsaW5rZWQgZmlsZVxuIgorbXNnc3RyICIlczogRXJyb3I6IG11bHRpcGxlIGRlZmluaXNpIGRhcmkgYCVzJzsgYXdhbCBkYXJpICVzIGFkYWxhaCBkaXNldCBkYWxhbSBzZWJ1YWggc2ViZWx1bSBiZXJrYXMgdGVybGlua1xuIgorCisjOiBlbGY2NC1tbWl4LmM6MjI1OQorbXNnaWQgIlJlZ2lzdGVyIHNlY3Rpb24gaGFzIGNvbnRlbnRzXG4iCittc2dzdHIgIkRhZXJhaCByZWdpc3RlciBtZW1pbGlraSBpc2lcbiIKKworIzogZWxmNjQtbW1peC5jOjI0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGluY29uc2lzdGVuY3k6IHJlbWFpbmluZyAldSAhPSBtYXggJXUuXG4iCisiICBQbGVhc2UgcmVwb3J0IHRoaXMgYnVnLiIKK21zZ3N0ciAiIgorIkludGVybmFsIHRpZGFrIGtvbnNpc3Rlbjogc2lzYSAldSAhPSBtYXggJXUuXG4iCisiICBUb2xvbmcgbGFwb3JrYW4gYnVnIGluaS4iCisKKyM6IGVsZjY0LXBwYy5jOjI1NjEgbGliYmZkLmM6OTc4Cittc2dpZCAiJUI6IGNvbXBpbGVkIGZvciBhIGJpZyBlbmRpYW4gc3lzdGVtIGFuZCB0YXJnZXQgaXMgbGl0dGxlIGVuZGlhbiIKK21zZ3N0ciAiJUI6IGRpa29tcGlsZSB1bnR1ayBzZWJ1YWggc2lzdGVtIGJpZyBlbmRpYW4gZGFuIHRhcmdldCBhZGFsYWggbGl0dGxlIGVuZGlhbiIKKworIzogZWxmNjQtcHBjLmM6MjU2NCBsaWJiZmQuYzo5ODAKK21zZ2lkICIlQjogY29tcGlsZWQgZm9yIGEgbGl0dGxlIGVuZGlhbiBzeXN0ZW0gYW5kIHRhcmdldCBpcyBiaWcgZW5kaWFuIgorbXNnc3RyICIlQjogZGlrb21waWxlIHVudHVrIHNlYnVhaCBzaXN0ZW0gbGl0dGxlIGVuZGlhbiBkYW4gdGFyZ2V0IGFkYWxhaCBiaWcgZW5kaWFuIgorCisjOiBlbGY2NC1wcGMuYzo2MDY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcHkgcmVsb2MgYWdhaW5zdCBgJXMnIHJlcXVpcmVzIGxhenkgcGx0IGxpbmtpbmc7IGF2b2lkIHNldHRpbmcgTERfQklORF9OT1c9MSBvciB1cGdyYWRlIGdjYyIKK21zZ3N0ciAic2FsaW4gcmVsb2thc2kgdGVyaGFkYXAgYCVzJyBtZW1idXR1aGthbiBsYXp5IHBsdCBsaW5raW5nOyBoaW5kYXJpIGtvbmZpZ3VyYXNpIExEX0JJTkRfTk9XPTEgYXRhdSB1cGdyYWRlIGdjYyIKKworIzogZWxmNjQtcHBjLmM6NjQ4NgorbXNnaWQgImR5bnJlbG9jIG1pc2NvdW50IGZvciAlQiwgc2VjdGlvbiAlQSIKK21zZ3N0ciAiZHluYXJlbG9jIG1pc2NvdW50IHVudHVrICVCLCBiYWdpYW4gJUEiCisKKyM6IGVsZjY0LXBwYy5jOjY1NzAKK21zZ2lkICIlQjogLm9wZCBpcyBub3QgYSByZWd1bGFyIGFycmF5IG9mIG9wZCBlbnRyaWVzIgorbXNnc3RyICIlQjogLm9wZCBhZGFsYWggYnVrYW4gYXJyYXkgcmVndWxhciBkYXJpIG1hc3VrYW4gb3BkIgorCisjOiBlbGY2NC1wcGMuYzo2NTc5Cittc2dpZCAiJUI6IHVuZXhwZWN0ZWQgcmVsb2MgdHlwZSAldSBpbiAub3BkIHNlY3Rpb24iCittc2dzdHIgIiVCOiB0aXBlIHJlbG9rYXNpICV1IHRpZGFrIGRpZHVnYSBkYWxhbSBiYWdpYW4gLm9wZCIKKworIzogZWxmNjQtcHBjLmM6NjYwMAorbXNnaWQgIiVCOiB1bmRlZmluZWQgc3ltIGAlcycgaW4gLm9wZCBzZWN0aW9uIgorbXNnc3RyICIlQjogdGlkYWsgdGVyZGVmaW5pc2kgc2ltYm9sIGAlcycgZGFsYW0gYmFnaWFuIC5vcGQiCisKKyM6IGVsZjY0LXBwYy5jOjczNzcgZWxmNjQtcHBjLmM6Nzc1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkZWZpbmVkIGluIHJlbW92ZWQgdG9jIGVudHJ5IgorbXNnc3RyICIlcyB0ZXJkZWZpbmlzaSBkYWxhbSBtYXN1a2FuIHRvYyB0ZXJoYXB1cyIKKworIzogZWxmNjQtcHBjLmM6ODU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJsb25nIGJyYW5jaCBzdHViIGAlcycgb2Zmc2V0IG92ZXJmbG93IgorbXNnc3RyICJzdHViIGJyYWNoIHBhbmphbmcgYCVzJyBvZnNldCBvdmVyZmxvdyIKKworIzogZWxmNjQtcHBjLmM6ODY0MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIGJyYW5jaCBzdHViIGAlcyciCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmVtdWthbiBicmFuY2ggc3R1YiBgJXMnIgorCisjOiBlbGY2NC1wcGMuYzo4NzAyIGVsZjY0LXBwYy5jOjg4MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibGlua2FnZSB0YWJsZSBlcnJvciBhZ2FpbnN0IGAlcyciCittc2dzdHIgImxpbmthZ2UgdGFiZWwgZXJyb3IgdGVyaGFkYXAgYCVzJyIKKworIzogZWxmNjQtcHBjLmM6ODk3OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBidWlsZCBicmFuY2ggc3R1YiBgJXMnIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWF0IGJyYW5jaCBzdHViIGAlcyciCisKKyM6IGVsZjY0LXBwYy5jOjk0NTEKK21zZ2lkICIlQiBzZWN0aW9uICVBIGV4Y2VlZHMgc3R1YiBncm91cCBzaXplIgorbXNnc3RyICIlQiBiYWdpYW4gJUEgbWVsZWJpaGkgdWt1cmFuIGdydXAgc3R1YiIKKworIzogZWxmNjQtcHBjLmM6MTAwOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImxpbmtlciBzdHVicyBpbiAldSBncm91cCVzXG4iCisiICBicmFuY2ggICAgICAgJWx1XG4iCisiICB0b2MgYWRqdXN0ICAgJWx1XG4iCisiICBsb25nIGJyYW5jaCAgJWx1XG4iCisiICBsb25nIHRvYyBhZGogJWx1XG4iCisiICBwbHQgY2FsbCAgICAgJWx1IgorbXNnc3RyICIiCisibGlua2VyIHN0dWJzIGRhbGFtICV1IGdydXAgJXNcbiIKKyIgIGNhYmFuZyAgICAgICAgICVsdVxuIgorIiAgdG9jIGFkanVzdCAgICAgJWx1XG4iCisiICBjYWJhbmcgcGFuamFuZyAlbHVcbiIKKyIgIGxvbmcgdG9jIGFkaiAgICVsdVxuIgorIiAgcGx0IGNhbGwgICAgICAgJWx1IgorCisjOiBlbGY2NC1wcGMuYzoxMDc2OQorbXNnaWQgIiVCKCVBKzB4JWx4KTogYXV0b21hdGljIG11bHRpcGxlIFRPQ3Mgbm90IHN1cHBvcnRlZCB1c2luZyB5b3VyIGNydCBmaWxlczsgcmVjb21waWxlIHdpdGggLW1taW5pbWFsLXRvYyBvciB1cGdyYWRlIGdjYyIKK21zZ3N0ciAiJUIoJUErMHglbHgpOiBvdG9tYXRpcyBtdWx0aXBsZSBUT0MgdGlkYWsgZGlkdWt1bmcgbWVuZ2d1bmFrYW4gYmVya2FzIGNydCBhbmRhOyByZWtvbXBpbGUgZGVuZ2FuIC1tbWluaW1hbC10b2MgYXRhdSB1cGdyYWRlIGdjYyIKKworIzogZWxmNjQtcHBjLmM6MTA3NzcKK21zZ2lkICIlQiglQSsweCVseCk6IHNpYmxpbmcgY2FsbCBvcHRpbWl6YXRpb24gdG8gYCVzJyBkb2VzIG5vdCBhbGxvdyBhdXRvbWF0aWMgbXVsdGlwbGUgVE9DczsgcmVjb21waWxlIHdpdGggLW1taW5pbWFsLXRvYyBvciAtZm5vLW9wdGltaXplLXNpYmxpbmctY2FsbHMsIG9yIG1ha2UgYCVzJyBleHRlcm4iCittc2dzdHIgIiVCKCVBKzB4JWx4KTogc2libGluZyBjYWxsIG9wdGltaXphdGlvbiBrZSBgJXMnIHRpZGFrIG1lbWJvbGVoa2FuIG90b21hdGlzIG11bHRpcGxlIFRPQzsgcmVrb21waWxlIGRlbmdhbiAtbW1pbmltYWwtdG9jIGF0YXUgLWZuby1vcHRpbWl6ZS1zaWJsaW5nLWNhbGxzLCBhdGF1IGJ1YXQgYCVzJyBleHRlcm4iCisKKyM6IGVsZjY0LXBwYy5jOjExNDI3Cittc2dpZCAiJUI6IHJlbG9jYXRpb24gJXMgaXMgbm90IHN1cHBvcnRlZCBmb3Igc3ltYm9sICVzLiIKK21zZ3N0ciAiJUI6IHJlbG9rYXNpICVzIHRpZGFrIGRpZHVrdW5nIHVudHVrIHNpbWJvbCAlcy4iCisKKyM6IGVsZjY0LXBwYy5jOjExNTA5Cittc2dpZCAiJUI6IGVycm9yOiByZWxvY2F0aW9uICVzIG5vdCBhIG11bHRpcGxlIG9mICVkIgorbXNnc3RyICIlQjogZXJyb3I6IHJlbG9rYXNpICVzIGJ1a2FuIG11bHRpcGxlIGRhcmkgJWQiCisKKyM6IGVsZjY0LXNoNjQuYzoxNzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvcjogdW5hbGlnbmVkIHJlbG9jYXRpb24gdHlwZSAlZCBhdCAlMDh4IHJlbG9jICUwOHhcbiIKK21zZ3N0ciAiJXM6IGVycm9yOiB0aXBlIHJlbG9rYXNpICVkIHVuYWxpZ25lZCBkaSAlMDh4IHJlbG9rYXNpICUwOHhcbiIKKworIzogZWxmNjQtc3BhcmMuYzo0MzkKK21zZ2lkICIlQjogT25seSByZWdpc3RlcnMgJSVnWzIzNjddIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBTVFRfUkVHSVNURVIiCittc2dzdHIgIiVCOiBIYW55YSByZWdpc3RlciAlJWdbMjM2N10gZGFwYXQgZGlkZWtsYXJhc2lrYW4gbWVuZ2d1bmFrYW4gU1RUX1JFR0lTVEVSIgorCisjOiBlbGY2NC1zcGFyYy5jOjQ1OQorbXNnaWQgIlJlZ2lzdGVyICUlZyVkIHVzZWQgaW5jb21wYXRpYmx5OiAlcyBpbiAlQiwgcHJldmlvdXNseSAlcyBpbiAlQiIKK21zZ3N0ciAiUmVnaXN0ZXIgJSVnJWQgZGlndW5ha2FuIHRpZGFrIGtvbXBhdGliZWw6ICVzIGRhbGFtICVCLCBzZWJlbHVtbnlhICVzIGRhbGFtICVCIgorCisjOiBlbGY2NC1zcGFyYy5jOjQ4MgorbXNnaWQgIlN5bWJvbCBgJXMnIGhhcyBkaWZmZXJpbmcgdHlwZXM6IFJFR0lTVEVSIGluICVCLCBwcmV2aW91c2x5ICVzIGluICVCIgorbXNnc3RyICJTaW1ib2wgYCVzJyBtZW1pbGlraSB0aXBlIGJlcmJlZGE6IFJFR0lTVEVSIGRhbGFtICVCLCBzZWJlbHVtbnlhICVzIGRhbGFtICVCIgorCisjOiBlbGY2NC1zcGFyYy5jOjUyNworbXNnaWQgIlN5bWJvbCBgJXMnIGhhcyBkaWZmZXJpbmcgdHlwZXM6ICVzIGluICVCLCBwcmV2aW91c2x5IFJFR0lTVEVSIGluICVCIgorbXNnc3RyICJTaW1ib2wgYCVzJyBtZW1pbGlraSB0aXBlIGJlcmJlZGE6ICVzIGRhbGFtICVCLCBzZWJlbHVtbnlhIFJFR0lTVEVSIGRhbGFtICVCIgorCisjOiBlbGY2NC1zcGFyYy5jOjY3OAorbXNnaWQgIiVCOiBsaW5raW5nIFVsdHJhU1BBUkMgc3BlY2lmaWMgd2l0aCBIQUwgc3BlY2lmaWMgY29kZSIKK21zZ3N0ciAiJUI6IG1lbmdodWJ1bmdrYW4gVWx0cmFTUEFSQyBzcGVzaWZpayBkZW5nYW4gSEFMIHNwZXNpZmlrIGtvZGUiCisKKyM6IGVsZjY0LXg4Ni02NC5jOjEwNDcgZWxmNjQteDg2LTY0LmM6MTIwNyBlbGZ4eC1taXBzLmM6NzgzNAorbXNnaWQgIiVCOiByZWxvY2F0aW9uICVzIGFnYWluc3QgYCVzJyBjYW4gbm90IGJlIHVzZWQgd2hlbiBtYWtpbmcgYSBzaGFyZWQgb2JqZWN0OyByZWNvbXBpbGUgd2l0aCAtZlBJQyIKK21zZ3N0ciAiJUI6IHJlbG9rYXNpICVzIHRlcmhhZGFwIGAlcycgdGlkYWsgZGFwYXQgZGlndW5rYW4ga2V0aWthIG1lbWJ1YXQgc2VidWFoIG9iamVrIHRlcmJhZ2k7IHJla29tcGlsZSBkZW5nYW4gLWZQSUMiCisKKyM6IGVsZjY0LXg4Ni02NC5jOjExMzgKK21zZ2lkICIlQjogJyVzJyBhY2Nlc3NlZCBib3RoIGFzIG5vcm1hbCBhbmQgdGhyZWFkIGxvY2FsIHN5bWJvbCIKK21zZ3N0ciAiJUI6ICclcycga2VkdWFueWEgZGlha3NlcyBzZWNhcmEgbm9ybWFsIGRhbiB0aHJlYWQgc2ltYm9sIGxva2FsIgorCisjOiBlbGY2NC14ODYtNjQuYzoyNTU5Cittc2dpZCAiJUI6IHJlbG9jYXRpb24gUl9YODZfNjRfR09UT0ZGNjQgYWdhaW5zdCBwcm90ZWN0ZWQgZnVuY3Rpb24gYCVzJyBjYW4gbm90IGJlIHVzZWQgd2hlbiBtYWtpbmcgYSBzaGFyZWQgb2JqZWN0IgorbXNnc3RyICIlQjogcmVsb2thc2kgUl9YODZfNjRfR09UT0ZGNjQgdGVyaGFkYXAgZnVuZ3NpIHRlcnByb3Rla3NpIGAlcycgdGlkYWsgZGFwYXQgZGlndW5ha2FuIGtldGlrYSBtZW1idWF0IHNlYnVhaCBvYmplayB0ZXJiYWdpIgorCisjOiBlbGY2NC14ODYtNjQuYzoyNjcwCittc2dpZCAiOyByZWNvbXBpbGUgd2l0aCAtZlBJQyIKK21zZ3N0ciAiOyByZWtvbXBpbGUgZGVuZ2FuIC1mUElDIgorCisjOiBlbGY2NC14ODYtNjQuYzoyNjc1Cittc2dpZCAiJUI6IHJlbG9jYXRpb24gJXMgYWdhaW5zdCAlcyBgJXMnIGNhbiBub3QgYmUgdXNlZCB3aGVuIG1ha2luZyBhIHNoYXJlZCBvYmplY3QlcyIKK21zZ3N0ciAiJUI6IHJlbG9rYXNpICVzIHRlcmhhZGFwICVzIGAlcycgdGlkYWsgZGFwYXQgZGlndW5ha2FuIGtldGlrYSBtZW1idWF0IHNlYnVhaCBvYmplayB0ZXJiYWdpJXMiCisKKyM6IGVsZjY0LXg4Ni02NC5jOjI2NzcKK21zZ2lkICIlQjogcmVsb2NhdGlvbiAlcyBhZ2FpbnN0IHVuZGVmaW5lZCAlcyBgJXMnIGNhbiBub3QgYmUgdXNlZCB3aGVuIG1ha2luZyBhIHNoYXJlZCBvYmplY3QlcyIKK21zZ3N0ciAiJUI6IHJlbG9rYXNpICVzIHRlcmhhZGFwIHRpZGFrIHRlcmRlZmluaXNpICVzIGAlcycgdGlkYWsgZGFwYXQgZGlndW5ha2FuIGtldGlrYSBtZW1idWF0IHNlYnVhaCBvYmplayB0ZXJiYWdpICVzIgorCisjOiBlbGZjb2RlLmg6Nzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGhhcyBhIGNvcnJ1cHQgc3RyaW5nIHRhYmxlIGluZGV4IC0gaWdub3JpbmciCittc2dzdHIgInBlcmluZ2F0YW46ICVzIG1lbWlsaWtpIHNlYnVhaCBzdHJpbmcgdGFiZWwga29ydXAgaW5kZXggLSBkaWFiYWlrYW4iCisKKyM6IGVsZmNvZGUuaDoxMjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB2ZXJzaW9uIGNvdW50ICglbGQpIGRvZXMgbm90IG1hdGNoIHN5bWJvbCBjb3VudCAoJWxkKSIKK21zZ3N0ciAiJXM6IHZlcnNpIHRlcmhpdHVuZyAoJWxkKSB0aWRhayBjb2NvayBkZW5nYW4gc2ltYm9sIHRlcmhpdHVuZyAoJWxkKSIKKworIzogZWxmY29kZS5oOjE0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJXMpOiByZWxvY2F0aW9uICVkIGhhcyBpbnZhbGlkIHN5bWJvbCBpbmRleCAlbGQiCittc2dzdHIgIiVzKCVzKTogcmVsb2thc2kgJWQgbWVtaWxpa2kgaW5kZWsgc2ltYm9sIHRpZGFrIHZhbGlkICVsZCIKKworIzogZWxmY29yZS5oOjI1MQorbXNnaWQgIldhcm5pbmc6ICVCIGlzIHRydW5jYXRlZDogZXhwZWN0ZWQgY29yZSBmaWxlIHNpemUgPj0gJWx1LCBmb3VuZDogJWx1LiIKK21zZ3N0ciAiUGVyaW5nYXRhbjogJUIgdGVycG90b25nOiBkaXBlcmtpcmFrYW4gdWt1cmFuIGJlcmthcyBjb3JlID49ICVsdSwgZGl0ZW11a2FuOiAlbHUuIgorCisjOiBlbGZsaW5rLmM6MTAyOAorbXNnaWQgIiVzOiBUTFMgZGVmaW5pdGlvbiBpbiAlQiBzZWN0aW9uICVBIG1pc21hdGNoZXMgbm9uLVRMUyBkZWZpbml0aW9uIGluICVCIHNlY3Rpb24gJUEiCittc2dzdHIgIiVzOiBUTFMgZGVmaW5pc2kgZGFsYW0gJUIgYmFnaWFuICVBIHRpZGFrIGNvY29rIGJ1a2FuLVRMUyBkZWZpbmlzaSBkYWxhbSAlQiBiYWdpYW4gJUEiCisKKyM6IGVsZmxpbmsuYzoxMDMyCittc2dpZCAiJXM6IFRMUyByZWZlcmVuY2UgaW4gJUIgbWlzbWF0Y2hlcyBub24tVExTIHJlZmVyZW5jZSBpbiAlQiIKK21zZ3N0ciAiJXM6IFRMUyByZWZlcmVuc2kgZGFsYW0gJUIgdGlkYWsgY29jb2sgYnVrYW4tVExTIHJlZmVyZW5zaSBkYWxhbSAlQiIKKworIzogZWxmbGluay5jOjEwMzYKK21zZ2lkICIlczogVExTIGRlZmluaXRpb24gaW4gJUIgc2VjdGlvbiAlQSBtaXNtYXRjaGVzIG5vbi1UTFMgcmVmZXJlbmNlIGluICVCIgorbXNnc3RyICIlczogVExTIGRlZmluaXNpIGRhbGFtICVCIGJhZ2lhbiAlQSB0aWRhayBjb2NvayBidWthbi1UTFMgcmVmZXJlbnNpIGRhbGFtICVCIgorCisjOiBlbGZsaW5rLmM6MTA0MAorbXNnaWQgIiVzOiBUTFMgcmVmZXJlbmNlIGluICVCIG1pc21hdGNoZXMgbm9uLVRMUyBkZWZpbml0aW9uIGluICVCIHNlY3Rpb24gJUEiCittc2dzdHIgIiVzOiBUTFMgcmVmZXJlbnNpIGRhbGFtICVCIHRpZGFrIGNvY29rIGJ1a2FuLVRMUyBkZWZpbmlzaSBkYWxhbSAlQiBiYWdpYW4gJUEiCisKKyM6IGVsZmxpbmsuYzoxNjU0Cittc2dpZCAiJUI6IHVuZXhwZWN0ZWQgcmVkZWZpbml0aW9uIG9mIGluZGlyZWN0IHZlcnNpb25lZCBzeW1ib2wgYCVzJyIKK21zZ3N0ciAiJUI6IHRpZGFrIGRpZHVnYSByZWRlZmluaXNpIGRhcmkgaW5kaXJlayB2ZXJzaW9uZWQgc2ltYm9sIGAlcyciCisKKyM6IGVsZmxpbmsuYzoxOTgyCittc2dpZCAiJUI6IHZlcnNpb24gbm9kZSBub3QgZm91bmQgZm9yIHN5bWJvbCAlcyIKK21zZ3N0ciAiJUI6IHRpdGlrIHZlcnNpIHRpZGFrIGRpdGVtdWthbiB1bnR1ayBzaW1ib2wgJXMiCisKKyM6IGVsZmxpbmsuYzoyMTMwCittc2dpZCAiJUI6IGJhZCByZWxvYyBzeW1ib2wgaW5kZXggKDB4JWx4ID49IDB4JWx4KSBmb3Igb2Zmc2V0IDB4JWx4IGluIHNlY3Rpb24gYCVBJyIKK21zZ3N0ciAiJUI6IGJhZCByZWxva2FzaSBzaW1ib2wgaW5kZWtzICgweCVseCA+PSAweCVseCkgdW50dWsgb2ZzZXQgMHglbHggZGFsYW0gZGFlcmFoIGAlQSciCisKKyM6IGVsZmxpbmsuYzoyMzI3Cittc2dpZCAiJUI6IHJlbG9jYXRpb24gc2l6ZSBtaXNtYXRjaCBpbiAlQiBzZWN0aW9uICVBIgorbXNnc3RyICIlQjogdWt1cmFuIHJlbG9rYXNpIHRpZGFrIGNvY29rIGRhbGFtICVCIGJhZ2lhbiAlQSIKKworIzogZWxmbGluay5jOjI2MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHlwZSBhbmQgc2l6ZSBvZiBkeW5hbWljIHN5bWJvbCBgJXMnIGFyZSBub3QgZGVmaW5lZCIKK21zZ3N0ciAicGVyaW5nYXRhbjogdGlwZSBkYW4gdWt1cmFuIGRhcmkgc2ltYm9sIGRpbmFtaXMgYCVzJyB0aWRhayB0ZXJkZWZpbmlzaSIKKworIzogZWxmbGluay5jOjM5NTMKK21zZ2lkICIlQjogJXM6IGludmFsaWQgdmVyc2lvbiAldSAobWF4ICVkKSIKK21zZ3N0ciAiJUI6ICVzOiB2ZXJzaSAldSB0aWRhayB2YWxpZCAobWF4ICVkKSIKKworIzogZWxmbGluay5jOjM5ODkKK21zZ2lkICIlQjogJXM6IGludmFsaWQgbmVlZGVkIHZlcnNpb24gJWQiCittc2dzdHIgIiVCOiAlczogdGlkYWsgdmFsaWQgZGlidXR1aGthbiB2ZXJzaSAlZCIKKworIzogZWxmbGluay5jOjQxNzIKK21zZ2lkICJXYXJuaW5nOiBhbGlnbm1lbnQgJXUgb2YgY29tbW9uIHN5bWJvbCBgJXMnIGluICVCIGlzIGdyZWF0ZXIgdGhhbiB0aGUgYWxpZ25tZW50ICgldSkgb2YgaXRzIHNlY3Rpb24gJUEiCittc2dzdHIgIlBlcmluZ2F0YW46IGFsaWdubWVuICV1IGRhcmkgc2ltYm9sIHVtdW0gYCVzJyBkYWxhbSAlQiBhZGFsYWggbGViaWggYmVzYXIgZGFyaXBhZGEgYWxpZ25tZW50ICgldSkgZGFyaSBiYWdpYW4gaW5pICVBIgorCisjOiBlbGZsaW5rLmM6NDE3OAorbXNnaWQgIldhcm5pbmc6IGFsaWdubWVudCAldSBvZiBzeW1ib2wgYCVzJyBpbiAlQiBpcyBzbWFsbGVyIHRoYW4gJXUgaW4gJUIiCittc2dzdHIgIlBlcmluZ2F0YW46IGFsaWdubWVudCAldSBkYXJpIHNpbWJvbCBgJXMnIGRhbGFtICVCIGFkYWxhaCBsZWJpaCBrZWNpbCBkYXJpcGFkYSAldSBkYWxhbSAlQiIKKworIzogZWxmbGluay5jOjQxOTMKK21zZ2lkICJXYXJuaW5nOiBzaXplIG9mIHN5bWJvbCBgJXMnIGNoYW5nZWQgZnJvbSAlbHUgaW4gJUIgdG8gJWx1IGluICVCIgorbXNnc3RyICJQZXJpbmdhdGFuOiB1a3VyYW4gZGFyaSBzaW1ib2wgYCVzJyBiZXJ1YmFoIGRhcmkgJWx1IGRhbGFtICVCIGtlICVsdSBkYWxhbSAlQiIKKworIzogZWxmbGluay5jOjQzNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgRFNPIGZvciBzeW1ib2wgYCVzJyBkZWZpbml0aW9uIgorbXNnc3RyICIlczogdGlkYWsgdmFsaWQgRFNPIHVudHVrIHNpbWJvbCBgJXMnIGRlZmluaXNpIgorCisjOiBlbGZsaW5rLmM6NTYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5kZWZpbmVkIHZlcnNpb246ICVzIgorbXNnc3RyICIlczogdmVyc2kgdGlkYWsgdGVyZGVmaW5pc2k6ICVzIgorCisjOiBlbGZsaW5rLmM6NTY4OQorbXNnaWQgIiVCOiAucHJlaW5pdF9hcnJheSBzZWN0aW9uIGlzIG5vdCBhbGxvd2VkIGluIERTTyIKK21zZ3N0ciAiJUI6IC5wcmVpbml0X2FycmF5IGJhZ2lhbiB0aWRhayBkaXBlcmJvbGVoa2FuIGRhbGFtIERTTyIKKworIzogZWxmbGluay5jOjc0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5kZWZpbmVkICVzIHJlZmVyZW5jZSBpbiBjb21wbGV4IHN5bWJvbDogJXMiCittc2dzdHIgInVuZGVmaW5lZCAlcyByZWZlcmVuc2kgZGFsYW0gc2ltYm9sIGtvbXBsZWtzOiAlcyIKKworIzogZWxmbGluay5jOjc1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcGVyYXRvciAnJWMnIGluIGNvbXBsZXggc3ltYm9sIgorbXNnc3RyICJvcGVyYXRvciB0aWRhayBkaWtldGFodWkgJyVjJyBkYWxhbSBzaW1ib2wga29tcGxla3MiCisKKyM6IGVsZmxpbmsuYzo3OTA0IGVsZmxpbmsuYzo3OTIxIGVsZmxpbmsuYzo3OTU4IGVsZmxpbmsuYzo3OTc1Cittc2dpZCAiJUI6IFVuYWJsZSB0byBzb3J0IHJlbG9jcyAtIHRoZXkgYXJlIGluIG1vcmUgdGhhbiBvbmUgc2l6ZSIKK21zZ3N0ciAiJUI6IFRpZGFrIGRhcGF0IG1lbmd1cnV0a2FuIHJlbG9rYXNpIC0gbWVyZWthIGJlcmFkYSBkYWxhbSBsZWJpaCBkYXJpIHNhdHUgdWt1cmFuIgorCisjOiBlbGZsaW5rLmM6NzkzNSBlbGZsaW5rLmM6Nzk4OQorbXNnaWQgIiVCOiBVbmFibGUgdG8gc29ydCByZWxvY3MgLSB0aGV5IGFyZSBvZiBhbiB1bmtub3duIHNpemUiCittc2dzdHIgIiVCOiBUaWRhayBkYXBhdCBtZW5ndXJ1dGthbiByZWxva2FzaSAtIG1lcmVrYSBkYXJpIHVrdXJhbiB5YW5nIHRpZGFrIGRpa2V0YWh1aSIKKworIzogZWxmbGluay5jOjgwMzgKK21zZ2lkICJOb3QgZW5vdWdoIG1lbW9yeSB0byBzb3J0IHJlbG9jYXRpb25zIgorbXNnc3RyICJUaWRhayBjdWt1cCBtZW1vcmkgdW50dWsgbWVuZ3VydXRrYW4gcmVsb2thc2kiCisKKyM6IGVsZmxpbmsuYzo4MjI3Cittc2dpZCAiJUI6IFRvbyBtYW55IHNlY3Rpb25zOiAlZCAoPj0gJWQpIgorbXNnc3RyICIlQjogVGVybGFsdSBiYW55YWsgYmFnaWFuOiAlZCAoPj0gJWQpIgorCisjOiBlbGZsaW5rLmM6ODQ2MQorbXNnaWQgIiVCOiAlcyBzeW1ib2wgYCVzJyBpbiAlQiBpcyByZWZlcmVuY2VkIGJ5IERTTyIKK21zZ3N0ciAiJUI6ICVzIHNpbWJvbCBgJXMnIGRhbGFtICVCIGFkYWxhaCBkaXJlZmVyZW5zaWthbiBvbGVoIERTTyIKKworIzogZWxmbGluay5jOjg1NDQKK21zZ2lkICIlQjogY291bGQgbm90IGZpbmQgb3V0cHV0IHNlY3Rpb24gJUEgZm9yIGlucHV0IHNlY3Rpb24gJUEiCittc2dzdHIgIiVCOiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gYmFnaWFuIGtlbHVhcmFuICVBIHVudHVrIGRhZXJhaCBtYXN1a2FuICVBIgorCisjOiBlbGZsaW5rLmM6ODY1NQorbXNnaWQgIiVCOiAlcyBzeW1ib2wgYCVzJyBpc24ndCBkZWZpbmVkIgorbXNnc3RyICIlQjogJXMgc2ltYm9sIGAlcycgdGlkYWsgZGlkZWZpbmlzaWthbiIKKworIzogZWxmbGluay5jOjkxNDEKK21zZ2lkICJlcnJvcjogJUIgY29udGFpbnMgYSByZWxvYyAoMHglcykgZm9yIHNlY3Rpb24gJUEgdGhhdCByZWZlcmVuY2VzIGEgbm9uLWV4aXN0ZW50IGdsb2JhbCBzeW1ib2wiCittc2dzdHIgImVycm9yOiAlQiBiZXJpc2kgc2VidWFoIHJlbG9rYXNpICgweCVzKSB1bnR1ayBkYWVyYWggJUEgeWFuZyBtZXJlZmVyZW5zaWthbiBzZWJ1YWggYnVrYW4tZXhpc3Qgc2ltYm9sIGdsb2JhbCIKKworIzogZWxmbGluay5jOjkyMDUKK21zZ2lkICIlWGAlcycgcmVmZXJlbmNlZCBpbiBzZWN0aW9uIGAlQScgb2YgJUI6IGRlZmluZWQgaW4gZGlzY2FyZGVkIHNlY3Rpb24gYCVBJyBvZiAlQlxuIgorbXNnc3RyICIlWGAlcycgZGlyZWZlcmVuc2lrYW4gZGFsYW0gZGFlcmFoIGAlQScgZGFyaSAlQjogZGlkZWZpbmlzaWthbiBkYWxhbSBkYWVyYWggZGlhYmFpa2FuIGAlQScgZGFyaSAlQlxuIgorCisjOiBlbGZsaW5rLmM6OTgyNQorbXNnaWQgIiVBIGhhcyBib3RoIG9yZGVyZWQgW2AlQScgaW4gJUJdIGFuZCB1bm9yZGVyZWQgW2AlQScgaW4gJUJdIHNlY3Rpb25zIgorbXNnc3RyICIlQSBtZW1pbGlraSBrZWR1YW55YSB0ZXJ1cnV0IFtgJUEnIGRhbGFtICVCXSBkYW4gZGFlcmFoIHRpZGFrIHRlcnVydXQgW2AlQScgZGFsYW0gJUJdIgorCisjOiBlbGZsaW5rLmM6OTgzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlQSBoYXMgYm90aCBvcmRlcmVkIGFuZCB1bm9yZGVyZWQgc2VjdGlvbnMiCittc2dzdHIgIiVBIG1lbWlsaWtpIGRhZXJhaCB0ZXJ1cnV0IGRhbiB0aWRhayB0ZXJ1cnV0IgorCisjOiBlbGZsaW5rLmM6MTA3MTUgZWxmbGluay5jOjEwNzU5Cittc2dpZCAiJUI6IGNvdWxkIG5vdCBmaW5kIG91dHB1dCBzZWN0aW9uICVzIgorbXNnc3RyICIlQjogdGlkYWsgZGFwYXQgbWVuZW11a2FuIGRhZXJhaCBrZWx1YXJhbiAlcyIKKworIzogZWxmbGluay5jOjEwNzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIHNlY3Rpb24gaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAicGVyaW5nYXRhbjogJXMgZGFlcmFoIG1lbWlsaWtpIHVrdXJhbiBub2wiCisKKyM6IGVsZmxpbmsuYzoxMDgyNAorbXNnaWQgIiVQOiB3YXJuaW5nOiBjcmVhdGluZyBhIERUX1RFWFRSRUwgaW4gYSBzaGFyZWQgb2JqZWN0LlxuIgorbXNnc3RyICIlUDogcGVyaW5nYXRhbjogbWVtYnVhdCBzZWJ1YWggRFRfVEVYVFJFTCBkYWxhbSBzZWJ1YWggb2JqZWsgdGVyYmFnaS5cbiIKKworIzogZWxmbGluay5jOjExMDA2Cittc2dpZCAiJVAlWDogY2FuIG5vdCByZWFkIHN5bWJvbHM6ICVFXG4iCittc2dzdHIgIiVQJVg6IHRpZGFrIGRhcGF0IG1lbWJhY2Egc2ltYm9sOiAlRVxuIgorCisjOiBlbGZsaW5rLmM6MTEzMTMKK21zZ2lkICJSZW1vdmluZyB1bnVzZWQgc2VjdGlvbiAnJXMnIGluIGZpbGUgJyVCJyIKK21zZ3N0ciAiTWVuZ2hhcHVzIGRhZXJhaCB0aWRhayBkaWd1bmFrYW4gJyVzJyBkYWxhbSBiZXJrYXMgJyVCJyIKKworIzogZWxmbGluay5jOjExNTI1Cittc2dpZCAiV2FybmluZzogZ2Mtc2VjdGlvbnMgb3B0aW9uIGlnbm9yZWQiCittc2dzdHIgIlBlcmluZ2F0YW46IGdjLXNlY3Rpb25zIG9wc2kgZGlhYmFpa2FuIgorCisjOiBlbGZsaW5rLmM6MTIwNTYKK21zZ2lkICIlQjogaWdub3JpbmcgZHVwbGljYXRlIHNlY3Rpb24gYCVBJyIKK21zZ3N0ciAiJUI6IHBlcmluZ2F0YW4gZGFlcmFoIGR1cGxpa2FzaSBgJUEnIgorCisjOiBlbGZsaW5rLmM6MTIwNjMgZWxmbGluay5jOjEyMDcwCittc2dpZCAiJUI6IGR1cGxpY2F0ZSBzZWN0aW9uIGAlQScgaGFzIGRpZmZlcmVudCBzaXplIgorbXNnc3RyICIlQjogZGFlcmFoIGR1cGxpa2FzaSBgJUEnIG1lbWlsaWtpIHVrdXJhbiBiZXJiZWRhIgorCisjOiBlbGZsaW5rLmM6MTIwNzggZWxmbGluay5jOjEyMDgzCittc2dpZCAiJUI6IHdhcm5pbmc6IGNvdWxkIG5vdCByZWFkIGNvbnRlbnRzIG9mIHNlY3Rpb24gYCVBJyIKK21zZ3N0ciAiJUI6IHBlcmluZ2F0YW46IHRpZGFrIGRhcGF0IG1lbWJhY2EgaXNpIGRhcmkgZGFlcmFoIGAlQSciCisKKyM6IGVsZmxpbmsuYzoxMjA4NworbXNnaWQgIiVCOiB3YXJuaW5nOiBkdXBsaWNhdGUgc2VjdGlvbiBgJUEnIGhhcyBkaWZmZXJlbnQgY29udGVudHMiCittc2dzdHIgIiVCOiBwZXJpbmdhdGFuOiBkdXBsaWthc2kgZGFlcmFoIGAlQScgbWVtaWxpa2kgaXNpIGJlcmJlZGEiCisKKyM6IGVsZmxpbmsuYzoxMjE2NiBsaW5rZXIuYzozMDgwCittc2dpZCAiJUYlUDogYWxyZWFkeV9saW5rZWRfdGFibGU6ICVFIgorbXNnc3RyICIlRiVQOiBhbHJlYWR5X2xpbmtlZF90YWJsZTogJUUiCisKKyM6IGVsZnh4LW1pcHMuYzoxMTk3Cittc2dpZCAic3RhdGljIHByb2NlZHVyZSAobm8gbmFtZSkiCittc2dzdHIgInByb3NlZHVyIHN0YXRpcyAodGlkYWsgYmVybmFtYSkiCisKKyM6IGVsZnh4LW1pcHMuYzo1NTYyCittc2dpZCAiJUI6ICVBKzB4JWx4OiBqdW1wIHRvIHN0dWIgcm91dGluZSB3aGljaCBpcyBub3QgamFsIgorbXNnc3RyICIlQjogJUErMHglbHg6IGxvbXBhdCBrZSByb3V0aW5lIHN0dWIgZGltYW5hIGJ1a2FuIGphbCIKKworIzogZWxmeHgtbWlwcy5jOjYyMDYgZWxmeHgtbWlwcy5jOjY0MjcKK21zZ2lkICIlQjogV2FybmluZzogYmFkIGAlcycgb3B0aW9uIHNpemUgJXUgc21hbGxlciB0aGFuIGl0cyBoZWFkZXIiCittc2dzdHIgIiVCOiBQZXJpbmdhdGFuOiBvcHNpIGAlcycgYnVydWsgdWt1cmFuICV1IGxlYmloIGtlY2lsIGRhcmkgaGVhZGVybnlhIgorCisjOiBlbGZ4eC1taXBzLmM6NzE3NCBlbGZ4eC1taXBzLmM6NzI5OQorbXNnaWQgIiVCOiBXYXJuaW5nOiBjYW5ub3QgZGV0ZXJtaW5lIHRoZSB0YXJnZXQgZnVuY3Rpb24gZm9yIHN0dWIgc2VjdGlvbiBgJXMnIgorbXNnc3RyICIlQjogUGVyaW5nYXRhbjogdGlkYWsgZGFwYXQgbWVuZW50dWthbiBmdW5nc2kgdGVyZ2V0IHVudHVrIGRhZXJhaCBzdHViIGAlcyciCisKKyM6IGVsZnh4LW1pcHMuYzo3NDI4Cittc2dpZCAiJUI6IE1hbGZvcm1lZCByZWxvYyBkZXRlY3RlZCBmb3Igc2VjdGlvbiAlcyIKK21zZ3N0ciAiJUI6IE1hbGZvcm1lZCByZWxva2FzaSB0ZXJkZXRla3NpIHVudHVrIGRhZXJhaCAlcyIKKworIzogZWxmeHgtbWlwcy5jOjc0NjgKK21zZ2lkICIlQjogR09UIHJlbG9jIGF0IDB4JWx4IG5vdCBleHBlY3RlZCBpbiBleGVjdXRhYmxlcyIKK21zZ3N0ciAiJUI6IEdPVCByZWxva2FzaSBkaSAweCVseCB0aWRhayBkaWR1Z2EgZGFsYW0gYXBsaWthc2kiCisKKyM6IGVsZnh4LW1pcHMuYzo3NTY2Cittc2dpZCAiJUI6IENBTEwxNiByZWxvYyBhdCAweCVseCBub3QgYWdhaW5zdCBnbG9iYWwgc3ltYm9sIgorbXNnc3RyICIlQjogQ0FMTDE2IHJlbG9rYXNpIGRpIDB4JWx4IHRpZGFrIHRlcmhhZGFwIHNpbWJvbCBnbG9iYWwiCisKKyM6IGVsZnh4LW1pcHMuYzo4MjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1keW5hbWljIHJlbG9jYXRpb25zIHJlZmVyIHRvIGR5bmFtaWMgc3ltYm9sICVzIgorbXNnc3RyICJidWthbi1kaW5hbWlzIHJlbG9rYXNpIHJlZmVyIGtlIHNpbWJvbCBkaW5hbWlzICVzIgorCisjOiBlbGZ4eC1taXBzLmM6ODk0NworbXNnaWQgIiVCOiBDYW4ndCBmaW5kIG1hdGNoaW5nIExPMTYgcmVsb2MgYWdhaW5zdCBgJXMnIGZvciAlcyBhdCAweCVseCBpbiBzZWN0aW9uIGAlQSciCittc2dzdHIgIiVCOiBUaWRhayBkYXBhdCBtZW5lbXVrYW4gY29jb2sgTE8xNiByZWxva2FzaSB0ZXJoYWRhcCBgJXMnIHVudHVrICVzIGRpIDB4JWx4IGRpIGRhZXJhaCBgJUEnIgorCisjOiBlbGZ4eC1taXBzLmM6OTA4NgorbXNnaWQgInNtYWxsLWRhdGEgc2VjdGlvbiBleGNlZWRzIDY0S0I7IGxvd2VyIHNtYWxsLWRhdGEgc2l6ZSBsaW1pdCAoc2VlIG9wdGlvbiAtRykiCittc2dzdHIgImRhZXJhaCBkYXRhLWtlY2lsIG1lbGViaWhpIDY0S0I7IGRpYmF3YWggZGF0YS1rZWNpbCBiYXRhcyB1a3VyYW4gKGxpaGF0IG9wc2kgLUcpIgorCisjOiBlbGZ4eC1taXBzLmM6MTE4ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlsbGVnYWwgc2VjdGlvbiBuYW1lIGAlcyciCittc2dzdHIgIiVzOiBuYW1hIGRhZXJhaCBgJXMnIGlsZWdhbCIKKworIzogZWxmeHgtbWlwcy5jOjEyMjYyIGVsZnh4LW1pcHMuYzoxMjI4OAorbXNnaWQgIldhcm5pbmc6ICVCIHVzZXMgLW1zaW5nbGUtZmxvYXQsICVCIHVzZXMgLW1kb3VibGUtZmxvYXQiCittc2dzdHIgIlBlcmluZ2F0YW46ICVCIG1lbmdndW5ha2FuIDBtc2luZ2xlLWZsb2F0LCAlQiBtZW5nZ3VuYWthbiAtbWRvdWJsZS1mbG9hdCIKKworIzogZWxmeHgtbWlwcy5jOjEyMjc0IGVsZnh4LW1pcHMuYzoxMjMzMAorbXNnaWQgIldhcm5pbmc6ICVCIHVzZXMgLW1zaW5nbGUtZmxvYXQsICVCIHVzZXMgLW1pcHMzMnIyIC1tZnA2NCIKK21zZ3N0ciAiUGVyaW5nYXRhbjogJUIgbWVuZ2d1bmFrYW4gLW1zaW5nbGUtZmxvYXQsICVCIG1lbmdndW5ha2FuIC1taXBzMzJyMiAtbWZwNjQiCisKKyM6IGVsZnh4LW1pcHMuYzoxMjMwMCBlbGZ4eC1taXBzLmM6MTIzMzYKK21zZ2lkICJXYXJuaW5nOiAlQiB1c2VzIC1tZG91YmxlLWZsb2F0LCAlQiB1c2VzIC1taXBzMzJyMiAtbWZwNjQiCittc2dzdHIgIlBlcmluZ2F0YW46ICVCIG1lbmdndW5ha2FuIC1tZG91YmxlLWZsb2F0LCAlQiBtZW5nZ3VuYWthbiAtbWlwczMycjIgLW1mcDY0IgorCisjOiBlbGZ4eC1taXBzLmM6MTIzNzgKK21zZ2lkICIlQjogZW5kaWFubmVzcyBpbmNvbXBhdGlibGUgd2l0aCB0aGF0IG9mIHRoZSBzZWxlY3RlZCBlbXVsYXRpb24iCittc2dzdHIgIiVCOiBlbmRpYW5uZXNzIHRpZGFrIGtvbXBhdGliZWwgZGVuZ2FuIHlhbmcgZGlwaWxpaCBkaSBlbXVsYXNpIgorCisjOiBlbGZ4eC1taXBzLmM6MTIzODkKK21zZ2lkICIlQjogQUJJIGlzIGluY29tcGF0aWJsZSB3aXRoIHRoYXQgb2YgdGhlIHNlbGVjdGVkIGVtdWxhdGlvbiIKK21zZ3N0ciAiJUI6IEFCSSB0aWRhayBrb21wYXRpYmVsIGRlbmdhbiB5YW5nIGRpcGlsaWggZGkgZW11bGFzaSIKKworIzogZWxmeHgtbWlwcy5jOjEyNDcwCittc2dpZCAiJUI6IHdhcm5pbmc6IGxpbmtpbmcgYWJpY2FsbHMgZmlsZXMgd2l0aCBub24tYWJpY2FsbHMgZmlsZXMiCittc2dzdHIgIiVCOiBwZXJpbmdhdGFuOiBtZW5naHVidW5na2FuIGJlcmthcyBhYmljYWxscyBkZW5nYW4gYmVya2FzIGJ1a2FuLWFiaWNhbGxzIgorCisjOiBlbGZ4eC1taXBzLmM6MTI0ODcKK21zZ2lkICIlQjogbGlua2luZyAzMi1iaXQgY29kZSB3aXRoIDY0LWJpdCBjb2RlIgorbXNnc3RyICIlQjogbWVuZ2h1YnVuZ2thbiAzMi1iaXQga29kZSBkZW5nYW4gNjQtYml0IGtvZGUiCisKKyM6IGVsZnh4LW1pcHMuYzoxMjUxNQorbXNnaWQgIiVCOiBsaW5raW5nICVzIG1vZHVsZSB3aXRoIHByZXZpb3VzICVzIG1vZHVsZXMiCittc2dzdHIgIiVCOiBtZW5naHVidW5na2FuICVzIG1vZHVsIGRlbmdhbiBtb2R1bCAlcyBzZWJlbHVtbnlhIgorCisjOiBlbGZ4eC1taXBzLmM6MTI1MzgKK21zZ2lkICIlQjogQUJJIG1pc21hdGNoOiBsaW5raW5nICVzIG1vZHVsZSB3aXRoIHByZXZpb3VzICVzIG1vZHVsZXMiCittc2dzdHIgIiVCOiBBQkkgdGlkYWsgY29jb2s6IG1lbmdodWJ1bmdrYW4gbW9kdWwgJXMgZGVuZ2FuIG1vZHVsICVzIHNlYmVsdW1ueWEiCisKKyM6IGVsZnh4LW1pcHMuYzoxMjcwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgW2FiaT1PMzJdIgorbXNnc3RyICIgW2FiaT0wMzJdIgorCisjOiBlbGZ4eC1taXBzLmM6MTI3MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFthYmk9TzY0XSIKK21zZ3N0ciAiIFthYmk9MDY0XSIKKworIzogZWxmeHgtbWlwcy5jOjEyNzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiBbYWJpPUVBQkkzMl0iCittc2dzdHIgIiBbYWJpPUVBQkkzMl0iCisKKyM6IGVsZnh4LW1pcHMuYzoxMjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICIgW2FiaT1FQUJJNjRdIgorbXNnc3RyICIgW2FiaT1FQUJJNjRdIgorCisjOiBlbGZ4eC1taXBzLmM6MTI3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFthYmkgdW5rbm93bl0iCittc2dzdHIgIiBbYWJpIHRpZGFrIGRpa2V0YWh1aV0iCisKKyM6IGVsZnh4LW1pcHMuYzoxMjcxMgorIywgYy1mb3JtYXQKK21zZ2lkICIgW2FiaT1OMzJdIgorbXNnc3RyICIgW2FiaT1OMzJdIgorCisjOiBlbGZ4eC1taXBzLmM6MTI3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFthYmk9NjRdIgorbXNnc3RyICIgW2FiaT02NF0iCisKKyM6IGVsZnh4LW1pcHMuYzoxMjcxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgW25vIGFiaSBzZXRdIgorbXNnc3RyICIgW2J1a2FuIGFiaSBzZXRdIgorCisjOiBlbGZ4eC1taXBzLmM6MTI3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFt1bmtub3duIElTQV0iCittc2dzdHIgIiBbSVNBIHRpZGFrIGRpa2V0YWh1aV0iCisKKyM6IGVsZnh4LW1pcHMuYzoxMjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIgW25vdCAzMmJpdG1vZGVdIgorbXNnc3RyICIgW2J1a2FuIDMyYml0bW9kZV0iCisKKyM6IGVsZnh4LXNwYXJjLmM6NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVsb2NhdGlvbiB0eXBlICVkIgorbXNnc3RyICJ0aXBlIHJlbG9rYXNpICVkIHRpZGFrIHZhbGlkIgorCisjOiBlbGZ4eC1zcGFyYy5jOjI5NzYKK21zZ2lkICIlQjogcHJvYmFibHkgY29tcGlsZWQgd2l0aG91dCAtZlBJQz8iCittc2dzdHIgIiVCOiBtdW5na2luIGRpa29tcGlsZSB0YW5wYSAtZlBJQz8iCisKKyM6IGkzODZsaW51eC5jOjQ1NSBtNjhrbGludXguYzo0NTkgc3BhcmNsaW51eC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJPdXRwdXQgZmlsZSByZXF1aXJlcyBzaGFyZWQgbGlicmFyeSBgJXMnXG4iCittc2dzdHIgIkJlcmthcyBrZWx1YXJhbiBtZW1idXR1aGthbiBsaWJyYXJ5IHRlcmJhZ2kgYCVzJ1xuIgorCisjOiBpMzg2bGludXguYzo0NjMgbTY4a2xpbnV4LmM6NDY3IHNwYXJjbGludXguYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3V0cHV0IGZpbGUgcmVxdWlyZXMgc2hhcmVkIGxpYnJhcnkgYCVzLnNvLiVzJ1xuIgorbXNnc3RyICJCZXJrYXMga2VsdWFyYW4gbWVtYnV0dWhrYW4gbGlicmFyeSB0ZXJiYWdpIGAlcy5zby4lcydcbiIKKworIzogaTM4NmxpbnV4LmM6NjUyIGkzODZsaW51eC5jOjcwMiBtNjhrbGludXguYzo2NTkgbTY4a2xpbnV4LmM6NzA3CisjOiBzcGFyY2xpbnV4LmM6NjUxIHNwYXJjbGludXguYzo3MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3ltYm9sICVzIG5vdCBkZWZpbmVkIGZvciBmaXh1cHNcbiIKK21zZ3N0ciAiU2ltYm9sICVzIHRpZGFrIHRlcmRlZmluaXNpIHVudHVrIGZpeHVwc1xuIgorCisjOiBpMzg2bGludXguYzo3MjYgbTY4a2xpbnV4LmM6NzMxIHNwYXJjbGludXguYzo3MjUKK21zZ2lkICJXYXJuaW5nOiBmaXh1cCBjb3VudCBtaXNtYXRjaFxuIgorbXNnc3RyICJQZXJpbmdhdGFuOiBqdW1sYWggZml4dXAgdGlkYWsgY29jb2tcbiIKKworIzogaWVlZS5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3RyaW5nIHRvbyBsb25nICglZCBjaGFycywgbWF4IDY1NTM1KSIKK21zZ3N0ciAiJXM6IHN0cmluZyB0ZXJsYWx1IHBhbmphbmcgKCVkIGNoYXJzLCBtYXggNjU1MzUpIgorCisjOiBpZWVlLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnJlY29nbml6ZWQgc3ltYm9sIGAlcycgZmxhZ3MgMHgleCIKK21zZ3N0ciAiJXM6IHNpbWJvbCB0aWRhayBkaWtlbmFsIGAlcycgZmxhZ3MgMHgleCIKKworIzogaWVlZS5jOjc4OAorbXNnaWQgIiVCOiB1bmltcGxlbWVudGVkIEFUSSByZWNvcmQgJXUgZm9yIHN5bWJvbCAldSIKK21zZ3N0ciAiJUI6IHRpZGFrIHRlcmltcGxlbWVudGFzaSBBVEkgcmVjb3JkICV1IHVudHVrIHNpbWJvbCAldSIKKworIzogaWVlZS5jOjgxMgorbXNnaWQgIiVCOiB1bmV4cGVjdGVkIEFUTiB0eXBlICVkIGluIGV4dGVybmFsIHBhcnQiCittc2dzdHIgIiVCOiB0aXBlIEFUTiAlZCB0aWRhayBkaWR1Z2EgZGFsYW0gYmFnaWFuIGx1YXIiCisKKyM6IGllZWUuYzo4MzQKK21zZ2lkICIlQjogdW5leHBlY3RlZCB0eXBlIGFmdGVyIEFUTiIKK21zZ3N0ciAiJUI6IHRpZGFrIGRpZHVnYSB0aXBlIHNlc3VkYWggQVROIgorCisjOiBpaGV4LmM6MjMwCittc2dpZCAiJUI6JWQ6IHVuZXhwZWN0ZWQgY2hhcmFjdGVyIGAlcycgaW4gSW50ZWwgSGV4IGZpbGUiCittc2dzdHIgIiVCOiVkOiB0aWRhayBkaWR1Z2Ega2FyYWt0ZXIgYCVzJyBkYWxhbSBiZXJrYXMgSW50ZWwgSGV4IgorCisjOiBpaGV4LmM6MzM3Cittc2dpZCAiJUI6JXU6IGJhZCBjaGVja3N1bSBpbiBJbnRlbCBIZXggZmlsZSAoZXhwZWN0ZWQgJXUsIGZvdW5kICV1KSIKK21zZ3N0ciAiJUI6JXU6IGNoZWNrc3VtIGJ1cnVrIGRhbGFtIGJlcmthcyBJbnRlbCBIZXggKGRpcGVya2lyYWthbiAldSwgZGl0ZW11a2FuICV1KSIKKworIzogaWhleC5jOjM5MgorbXNnaWQgIiVCOiV1OiBiYWQgZXh0ZW5kZWQgYWRkcmVzcyByZWNvcmQgbGVuZ3RoIGluIEludGVsIEhleCBmaWxlIgorbXNnc3RyICIlQjoldTogYnVydWsgZXh0ZW5kZWQgYWxhbWF0IHBhbmphbmcgcmVjb3JkIGRhbGFtIGJlcmthcyBJbnRlbCBIZXgiCisKKyM6IGloZXguYzo0MDkKK21zZ2lkICIlQjoldTogYmFkIGV4dGVuZGVkIHN0YXJ0IGFkZHJlc3MgbGVuZ3RoIGluIEludGVsIEhleCBmaWxlIgorbXNnc3RyICIlQjoldTogYnVydWsgZXh0ZW5kZWQgYXdhbCBwYW5qYW5nIGFsYW1hdCBkYWxhbSBiZXJrYXMgSW50ZWwgSGV4ICIKKworIzogaWhleC5jOjQyNgorbXNnaWQgIiVCOiV1OiBiYWQgZXh0ZW5kZWQgbGluZWFyIGFkZHJlc3MgcmVjb3JkIGxlbmd0aCBpbiBJbnRlbCBIZXggZmlsZSIKK21zZ3N0ciAiJUI6JXU6IGJ1cnVrIGV4dGVuZGVkIGFsYW1hdCBsaW5lYXIgcGFuamFuZyByZWNvcmQgZGFsYW0gYmVya2FzIEludGVsIEhleCIKKworIzogaWhleC5jOjQ0MworbXNnaWQgIiVCOiV1OiBiYWQgZXh0ZW5kZWQgbGluZWFyIHN0YXJ0IGFkZHJlc3MgbGVuZ3RoIGluIEludGVsIEhleCBmaWxlIgorbXNnc3RyICIlQjoldTogYnVydWsgZXh0ZW5kZWQgcGFuamFuZyBhd2FsIGFsYW1hdCBsaW5lYXIgZGFsYW0gYmVya2FzIEludGVsIEhleCIKKworIzogaWhleC5jOjQ2MAorbXNnaWQgIiVCOiV1OiB1bnJlY29nbml6ZWQgaWhleCB0eXBlICV1IGluIEludGVsIEhleCBmaWxlIgorbXNnc3RyICIlQjoldTogdGlkYWsgZGlrZW5hbCBpaGV4IHRpcGUgJXUgZGFsYW0gYmVya2FzIEludGVsIEhleCIKKworIzogaWhleC5jOjU3OQorbXNnaWQgIiVCOiBpbnRlcm5hbCBlcnJvciBpbiBpaGV4X3JlYWRfc2VjdGlvbiIKK21zZ3N0ciAiJUI6IGludGVybmFsIGVycm9yIGRhbGFtIGloZXhfcmVhZF9zZWN0aW9uIgorCisjOiBpaGV4LmM6NjEzCittc2dpZCAiJUI6IGJhZCBzZWN0aW9uIGxlbmd0aCBpbiBpaGV4X3JlYWRfc2VjdGlvbiIKK21zZ3N0ciAiJUI6IGJ1cnVrIHBhbmphbmcgYmFnaWFuIGRhbGFtIGloZXhfcmVhZF9zZWN0aW9uIgorCisjOiBpaGV4LmM6ODI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRyZXNzIDB4JXMgb3V0IG9mIHJhbmdlIGZvciBJbnRlbCBIZXggZmlsZSIKK21zZ3N0ciAiJXM6IGFsYW1hdCAweCVzIGRpbHVhciBqYW5na2F1YW4gdW50dWsgYmVya2FzIEludGVsIEhleCIKKworIzogbGliYmZkLmM6MTAwOAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXByZWNhdGVkICVzIGNhbGxlZCBhdCAlcyBsaW5lICVkIGluICVzXG4iCittc2dzdHIgIkRlcHJlY2F0ZWQgJXMgZGlwYW5nZ2lsIGRpICVzIGJhcmlzICVkIGRhbGFtICVzXG4iCisKKyM6IGxpYmJmZC5jOjEwMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGVwcmVjYXRlZCAlcyBjYWxsZWRcbiIKK21zZ3N0ciAiRGVwcmVjYXRlZCAlcyBkaXBhbmdnaWxcbiIKKworIzogbGlua2VyLmM6MTg3NAorbXNnaWQgIiVCOiBpbmRpcmVjdCBzeW1ib2wgYCVzJyB0byBgJXMnIGlzIGEgbG9vcCIKK21zZ3N0ciAiJUI6IGluZGlyZWN0IHNpbWJvbCBgJXMnIGtlIGAlcycgYWRhbGFoIHNlYnVhaCBsb29wIgorCisjOiBsaW5rZXIuYzoyNzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIkF0dGVtcHQgdG8gZG8gcmVsb2NhdGFibGUgbGluayB3aXRoICVzIGlucHV0IGFuZCAlcyBvdXRwdXQiCittc2dzdHIgIk1lbmNvYmEgdW50dWsgbWVyZWxva2FzaSBsaW5rIGRlbmdhbiBtYXN1a2FuICVzIGRhbiBrZWx1YXJhbiAlcyIKKworIzogbGlua2VyLmM6MzA0NworbXNnaWQgIiVCOiB3YXJuaW5nOiBpZ25vcmluZyBkdXBsaWNhdGUgc2VjdGlvbiBgJUEnXG4iCittc2dzdHIgIiVCOiBwZXJpbmdhdGFuOiBtZW5nYWJhaWthbiBiYWdpYW5uIHRlcmR1cGxpa2FzaSBgJUEnXG4iCisKKyM6IGxpbmtlci5jOjMwNjEKK21zZ2lkICIlQjogd2FybmluZzogZHVwbGljYXRlIHNlY3Rpb24gYCVBJyBoYXMgZGlmZmVyZW50IHNpemVcbiIKK21zZ3N0ciAiJUI6IHBlcmluZ2F0YW46IGJhZ2lhbiB0ZXJkdXBsaWthc2kgYCVBJyBtZW1pbGlraSB1a3VyYW4gYmVyYmVkYVxuIgorCisjOiBtZXJnZS5jOjgyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWNjZXNzIGJleW9uZCBlbmQgb2YgbWVyZ2VkIHNlY3Rpb24gKCVsZCkiCittc2dzdHIgIiVzOiBha3NlcyBkaWx1YXIgZGFyaSBkYWVyYWggbWVyZ2VkICglbGQpIgorCisjOiBtbW8uYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IE5vIGNvcmUgdG8gYWxsb2NhdGUgc2VjdGlvbiBuYW1lICVzXG4iCittc2dzdHIgIiVzOiBUaWRhayBhZGEgY29yZSB1bnR1ayBhbG9rYXNpIGRhZXJhaCBuYW1hICVzXG4iCisKKyM6IG1tby5jOjUzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogTm8gY29yZSB0byBhbGxvY2F0ZSBhIHN5bWJvbCAlZCBieXRlcyBsb25nXG4iCittc2dzdHIgIiVzOiBUaWRhayBhZGEgY29yZSB1bnR1ayBhbG9rYXNpIHNlYnVhaCBzaW1ib2wgJWQgYnl0ZXMgbG9uZ1xuIgorCisjOiBtbW8uYzoxMTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIG1tbyBmaWxlOiBpbml0aWFsaXphdGlvbiB2YWx1ZSBmb3IgJDI1NSBpcyBub3QgYE1haW4nXG4iCittc2dzdHIgIiVzOiBiZXJrYXMgbW1vIHRpZGFrIHZhbGlkOiBuaWxhaSBpbmlzaWFsaXNhc2kgdW50dWsgJDI1NSBidWthbiBgTWFpbidcbiIKKworIzogbW1vLmM6MTMzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5zdXBwb3J0ZWQgd2lkZSBjaGFyYWN0ZXIgc2VxdWVuY2UgMHglMDJYIDB4JTAyWCBhZnRlciBzeW1ib2wgbmFtZSBzdGFydGluZyB3aXRoIGAlcydcbiIKK21zZ3N0ciAiJXM6IHRpZGFrIGRpZHVrdW5nIGRlbmdhbiB1cnV0YW4ga2FyYWt0ZXIgbGViYXIgMHglMDJYIDB4JTAyWCBzZXN1ZGFoIG5hbWEgc2ltYm9sIGRpbXVsYWkgZGVuZ2FuIGAlcydcbiIKKworIzogbW1vLmM6MTU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBtbW8gZmlsZTogdW5zdXBwb3J0ZWQgbG9wY29kZSBgJWQnXG4iCittc2dzdHIgIiVzOiBiZXJrYXMgbW1vIHRpZGFrIHZhbGlkOiBsb3Bjb2RlIHRpZGFrIGRpZHVrdW5nIGAlZCdcbiIKKworIzogbW1vLmM6MTU3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBtbW8gZmlsZTogZXhwZWN0ZWQgWVogPSAxIGdvdCBZWiA9ICVkIGZvciBsb3BfcXVvdGVcbiIKK21zZ3N0ciAiJXM6IGJlcmthIG1tbyB0aWRhayB2YWxpZDogZGlkdWdhIFlaID0gMSBkaXBlcm9sZWggWVogPSAlZCB1bnR1ayBsb3BfcXVvdGVcbiIKKworIzogbW1vLmM6MTYxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBtbW8gZmlsZTogZXhwZWN0ZWQgeiA9IDEgb3IgeiA9IDIsIGdvdCB6ID0gJWQgZm9yIGxvcF9sb2NcbiIKK21zZ3N0ciAiJXM6IGJlcmthcyBtbW8gdGlkYWsgdmFsaWQ6IGRpZHVnYSB6ID0gMSBhdGF1IHogPSAyLCBkaXBlcm9sZWggeiA9ICVkIHVudHVrIGxvcF9sb2NcbiIKKworIzogbW1vLmM6MTY1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBtbW8gZmlsZTogZXhwZWN0ZWQgeiA9IDEgb3IgeiA9IDIsIGdvdCB6ID0gJWQgZm9yIGxvcF9maXhvXG4iCittc2dzdHIgIiVzOiBiZXJrYXMgbW1vIHRpZGFrIHZhbGlkOiBkaWR1Z2EgeiA9IDEgYXRhdSB6ID0gMiwgZGlwZXJvbGVoIHogPSAlZCB1bnR1ayBsb3BfZml4b1xuIgorCisjOiBtbW8uYzoxNjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIG1tbyBmaWxlOiBleHBlY3RlZCB5ID0gMCwgZ290IHkgPSAlZCBmb3IgbG9wX2ZpeHJ4XG4iCittc2dzdHIgIiVzOiBiZXJrYXMgbW1vIHRpZGFrIHZhbGlkOiBkaWR1Z2EgeSA9IDAsIGRpcGVyb2xlaCB5ID0gJWQgdW50dWsgbG9wX2ZpeHJ4XG4iCisKKyM6IG1tby5jOjE3MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgbW1vIGZpbGU6IGV4cGVjdGVkIHogPSAxNiBvciB6ID0gMjQsIGdvdCB6ID0gJWQgZm9yIGxvcF9maXhyeFxuIgorbXNnc3RyICIlczogYmVya2FzIG1tbyB0aWRhayB2YWxpZDogZGlkdWdhIHogPSAxNiBhdGF1IHogPSAyNCwgZGlwZXJvbGVoIHogPSAlZCB1bnR1ayBsb3BfZml4cnhcbiIKKworIzogbW1vLmM6MTcyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBtbW8gZmlsZTogbGVhZGluZyBieXRlIG9mIG9wZXJhbmQgd29yZCBtdXN0IGJlIDAgb3IgMSwgZ290ICVkIGZvciBsb3BfZml4cnhcbiIKK21zZ3N0ciAiJXM6IGJlcmthcyBtbW8gdGlkYWsgdmFsaWQ6IGF3YWxhbiBieXRlIGRhcmkga2F0YSBvcGVyYW5kIGhhcnVzIDAgYXRhdSAxLCBkaXBlcm9sZWggJWQgdW50dWsgbG9wX2ZpeHJ4XG4iCisKKyM6IG1tby5jOjE3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSBmaWxlIG5hbWUgZm9yIGZpbGUgbnVtYmVyICVkLCAlZCBieXRlc1xuIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gbmFtYSBiZXJrYXMgdW50dWsgbm9tb3IgYmVya2FzICVkLCAlZCBieXRlc1xuIgorCisjOiBtbW8uYzoxNzcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIG1tbyBmaWxlOiBmaWxlIG51bWJlciAlZCBgJXMnLCB3YXMgYWxyZWFkeSBlbnRlcmVkIGFzIGAlcydcbiIKK21zZ3N0ciAiJXM6IGJlcmthcyBtbW8gdGlkYWsgdmFsaWQ6IG5vbW9yIGJlcmthcyAlZCBgJXMnLCB0ZWxhaCBkaW1hc3VrYW4gc2ViYWdhaSBgJXMnXG4iCisKKyM6IG1tby5jOjE3ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgbW1vIGZpbGU6IGZpbGUgbmFtZSBmb3IgbnVtYmVyICVkIHdhcyBub3Qgc3BlY2lmaWVkIGJlZm9yZSB1c2VcbiIKK21zZ3N0ciAiJXM6IGJlcmthcyBtbW8gdGlkYWsgdmFsaWQ6IG5hbWEgYmVya2FzIHVudHVrIG5vbW9yICVkIHRlbGFoIGRpc3Blc2lmaWthc2lrYW4gc2ViZWx1bSBkaWd1bmFrYW5cbiIKKworIzogbW1vLmM6MTg5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBtbW8gZmlsZTogZmllbGRzIHkgYW5kIHogb2YgbG9wX3N0YWIgbm9uLXplcm8sIHk6ICVkLCB6OiAlZFxuIgorbXNnc3RyICIlczogYmVya2FzIG1tbyB0aWRhayB2YWxpZDogZGFlcmFoIHkgZGFuIHogZGFyaSBsb3Bfc3RhYiBidWthbi1ub2wsIHk6ICVkLCB6OiAlZFxuIgorCisjOiBtbW8uYzoxOTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIG1tbyBmaWxlOiBsb3BfZW5kIG5vdCBsYXN0IGl0ZW0gaW4gZmlsZVxuIgorbXNnc3RyICIlczogYmVya2FzIG1tbyB0aWRhayB2YWxpZDogbG9wX2VuZCBidWthbiBpdGVtIHRlcmFraGlyIGRhbGFtIGJlcmthc1xuIgorCisjOiBtbW8uYzoxOTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIG1tbyBmaWxlOiBZWiBvZiBsb3BfZW5kICglbGQpIG5vdCBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIHRldHJhcyB0byB0aGUgcHJlY2VkaW5nIGxvcF9zdGFiICglbGQpXG4iCittc2dzdHIgIiVzOiBiZXJrYXMgbW1vIHRpZGFrIHZhbGlkOiBZWiBkYXJpIGxvcF9lbmQgKCVsZCkgdGlkYWsgc2FtYSBkZW5nYW4ganVtbGFoIGRhcmkgdGV0cmFzIHlhbmcgbWVuZ2F3YWxpIGxvcF9zdGFiICglbGQpXG4iCisKKyM6IG1tby5jOjI2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgc3ltYm9sIHRhYmxlOiBkdXBsaWNhdGUgc3ltYm9sIGAlcydcbiIKK21zZ3N0ciAiJXM6IHRhYmVsIHNpbWJvbCB0aWRhayB2YWxpZDogZHVwbGlrYXNpIHNpbWJvbCBgJXMnXG4iCisKKyM6IG1tby5jOjI4OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJhZCBzeW1ib2wgZGVmaW5pdGlvbjogYE1haW4nIHNldCB0byAlcyByYXRoZXIgdGhhbiB0aGUgc3RhcnQgYWRkcmVzcyAlc1xuIgorbXNnc3RyICIlczogRGVmaW5pc2kgc2ltYm9sIGJ1cnVrOiBgTWFpbicgZGkgc2V0IGtlICVzIGRhcmlwYWRhIGtlIGF3YWwgYWxhbWF0ICVzXG4iCisKKyM6IG1tby5jOjI5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHN5bWJvbCB0YWJsZSB0b28gbGFyZ2UgZm9yIG1tbywgbGFyZ2VyIHRoYW4gNjU1MzUgMzItYml0IHdvcmRzOiAlZC4gIE9ubHkgYE1haW4nIHdpbGwgYmUgZW1pdHRlZC5cbiIKK21zZ3N0ciAiJXM6IFBlcmluZ2F0YW46IHRhYmVsIHNpbWJvbCB0ZXJsYWx1IGJlc2FyIHVudHVrIG1tbywgbGViaWggYmVzYXIgZGFyaXBhZGEgNjU1MzUgMzItYml0IHdvcmRzOiAlZC4gSGFueWEgYE1haW4nIHlhbmcgYWthbiBkaWtlbHVhcmthbi5cbiIKKworIzogbW1vLmM6MzAzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW50ZXJuYWwgZXJyb3IsIHN5bWJvbCB0YWJsZSBjaGFuZ2VkIHNpemUgZnJvbSAlZCB0byAlZCB3b3Jkc1xuIgorbXNnc3RyICIlczogaW50ZXJuYWwgZXJyb3IsIHRhYmVsIHNpbWJvbCBiZXJ1YmFoIHVrdXJhbiBkYXJpICVkIGtlICVkIGthdGFcbiIKKworIzogbW1vLmM6MzA4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW50ZXJuYWwgZXJyb3IsIGludGVybmFsIHJlZ2lzdGVyIHNlY3Rpb24gJXMgaGFkIGNvbnRlbnRzXG4iCittc2dzdHIgIiVzOiBpbnRlcm5hbCBlcnJvciwgZGFlcmFoIGludGVybmFsIHJlZ2lzdGVyICVzIG1lbWlsaWtpIGlzaVxuIgorCisjOiBtbW8uYzozMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBpbml0aWFsaXplZCByZWdpc3RlcnM7IHNlY3Rpb24gbGVuZ3RoIDBcbiIKK21zZ3N0ciAiJXM6IHRpZGFrIGFkYSByZWdpc3RlciB5YW5nIHRlcmluaXNpYWxpc2FzaTsgcGFuamFuZyBkYWVyYWggMFxuIgorCisjOiBtbW8uYzozMTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBpbml0aWFsaXplZCByZWdpc3RlcnM7IHNlY3Rpb24gbGVuZ3RoICVsZFxuIgorbXNnc3RyICIlczogdGVybGFsdSBiYW55YWsgcmVnaXN0ZXIgeWFuZyB0ZXJpbmlzaWFsaXNhc2k7IHBhbmphbmcgZGFlcmFoICVsZFxuIgorCisjOiBtbW8uYzozMTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHN0YXJ0IGFkZHJlc3MgZm9yIGluaXRpYWxpemVkIHJlZ2lzdGVycyBvZiBsZW5ndGggJWxkOiAweCVseCUwOGx4XG4iCittc2dzdHIgIiVzOiBhd2FsIGFsYW1hbiB0aWRhayB2YWxpZCB1bnR1ayByZWdpc3RlciB0ZXJpbmlzaWFsaXNhc2kgZGFyaSBwYW5qYW5nICVsZDogMHglbHglMDhseFxuIgorCisjOiBvYXN5cy5jOjg4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuIG5vdCByZXByZXNlbnQgc2VjdGlvbiBgJXMnIGluIG9hc3lzIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVyZXByZXNlbnRhc2lrYW4gZGFlcmFoIGAlcycgZGFsYW0gb2FzeXMiCisKKyM6IG9zZi1jb3JlLmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaGFuZGxlZCBPU0YvMSBjb3JlIGZpbGUgc2VjdGlvbiB0eXBlICVkXG4iCittc2dzdHIgIlRpZGFrIHRlcnRhbmdhbmkgYmVya2FzIGNvcmUgT1NGLzEgZGFlcmFoIHRpcGUgJWRcbiIKKworIzogcGUtbWlwcy5jOjYwNworbXNnaWQgIiVCOiBgbGQgLXInIG5vdCBzdXBwb3J0ZWQgd2l0aCBQRSBNSVBTIG9iamVjdHNcbiIKK21zZ3N0ciAiJUI6IGBsZCAtcicgdGlkYWsgZGlkdWt1bmcgZGVuZ2FuIFBFIE1JUFMgb2JqZWtcbiIKKworIy4gT0ssIGF0IHRoaXMgcG9pbnQgdGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgYXJlIHNldCB1cDoKKyMuIHNyYyA9IFZNQSBvZiB0aGUgbWVtb3J5IHdlJ3JlIGZpeGluZyB1cAorIy4gbWVtID0gcG9pbnRlciB0byBtZW1vcnkgd2UncmUgZml4aW5nIHVwCisjLiB2YWwgPSBWTUEgb2Ygd2hhdCB3ZSBuZWVkIHRvIHJlZmVyIHRvLgorIzogcGUtbWlwcy5jOjcyMworbXNnaWQgIiVCOiB1bmltcGxlbWVudGVkICVzXG4iCittc2dzdHIgIiVCOiB0aWRhayB0ZXJpbXBsZW1lbnRhc2kgJXNcbiIKKworIzogcGUtbWlwcy5jOjc0OQorbXNnaWQgIiVCOiBqdW1wIHRvbyBmYXIgYXdheVxuIgorbXNnc3RyICIlQjogbG9tcGF0IHRlcmxhbHUgamF1aFxuIgorCisjOiBwZS1taXBzLmM6Nzc1Cittc2dpZCAiJUI6IGJhZCBwYWlyL3JlZmxvIGFmdGVyIHJlZmhpXG4iCittc2dzdHIgIiVCOiBwYXNhbmdhbi9yZWZsbyBidXJ1ayBzZXRlbGFoIHJlZmhpXG4iCisKKyMuIFhYWCBjb2RlIHlldCB0byBiZSB3cml0dGVuLgorIzogcGVpY29kZS5oOjc1OQorbXNnaWQgIiVCOiBVbmhhbmRsZWQgaW1wb3J0IHR5cGU7ICV4IgorbXNnc3RyICIlQjogVGlwZSBpbXBvciB0aWRhayB0ZXJ0YW5nYW5pOyAleCIKKworIzogcGVpY29kZS5oOjc2NAorbXNnaWQgIiVCOiBVbnJlY29nbmlzZWQgaW1wb3J0IHR5cGU7ICV4IgorbXNnc3RyICIlQjogVGlwZSBpbXBvciB0aWRhayBkaWtlbmFsOyAleCIKKworIzogcGVpY29kZS5oOjc3OAorbXNnaWQgIiVCOiBVbnJlY29nbmlzZWQgaW1wb3J0IG5hbWUgdHlwZTsgJXgiCittc2dzdHIgIiVCOiBOYW1hIHRpcGUgaW1wb3IgdGlkYWsgZGlrZW5hbDsgJXgiCisKKyM6IHBlaWNvZGUuaDoxMTYxCittc2dpZCAiJUI6IFVucmVjb2duaXNlZCBtYWNoaW5lIHR5cGUgKDB4JXgpIGluIEltcG9ydCBMaWJyYXJ5IEZvcm1hdCBhcmNoaXZlIgorbXNnc3RyICIlQjogVGlwZSBtZXNpbiAoMHgleCkgdGlkYWsgZGlrZW5hbCBkYWxhbSBJbXBvcnQgTGlicmFyeSBGb3JtYXQgYXJjaGl2ZSIKKworIzogcGVpY29kZS5oOjExNzMKK21zZ2lkICIlQjogUmVjb2duaXNlZCBidXQgdW5oYW5kbGVkIG1hY2hpbmUgdHlwZSAoMHgleCkgaW4gSW1wb3J0IExpYnJhcnkgRm9ybWF0IGFyY2hpdmUiCittc2dzdHIgIiVCOiBEaWtlbmFsIHRldGFwaSB0aWRhayB0ZXJ0YW5nYW5pIHRpcGUgbWVzaW4gKDB4JXgpIGRhbGFtIEltcG9ydCBMaWJyYXJ5IEZvcm1hdCBhcmNoaXZlIgorCisjOiBwZWljb2RlLmg6MTE5MQorbXNnaWQgIiVCOiBzaXplIGZpZWxkIGlzIHplcm8gaW4gSW1wb3J0IExpYnJhcnkgRm9ybWF0IGhlYWRlciIKK21zZ3N0ciAiJUI6IGJlc2FyIGZpZWxkIGFkYWxhaCBub2wgZGFsYW0gSW1wb3J0IExpYnJhcnkgRm9ybWF0IGhlYWRlciIKKworIzogcGVpY29kZS5oOjEyMjIKK21zZ2lkICIlQjogc3RyaW5nIG5vdCBudWxsIHRlcm1pbmF0ZWQgaW4gSUxGIG9iamVjdCBmaWxlLiIKK21zZ3N0ciAiJUI6IHN0cmluZyB0aWRhayBkaWFraGlyaSBrb3NvbmcgZGFsYW0gYmVya2FzIG9iamVrIElMRi4iCisKKyM6IHBwY2Jvb3QuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorInBwY2Jvb3QgaGVhZGVyOlxuIgorbXNnc3RyICIiCisiXG4iCisicHBjYm9vdCBoZWFkZXI6XG4iCisKKyM6IHBwY2Jvb3QuYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRW50cnkgb2Zmc2V0ICAgICAgICA9IDB4JS44bHggKCVsZClcbiIKK21zZ3N0ciAiT2ZzZXQgbWFzdWthbiAgICAgICA9IDB4JS44bHggKCVsZClcbiIKKworIzogcHBjYm9vdC5jOjQxNworIywgYy1mb3JtYXQKK21zZ2lkICJMZW5ndGggICAgICAgICAgICAgID0gMHglLjhseCAoJWxkKVxuIgorbXNnc3RyICJQYW5qYW5nICAgICAgICAgICAgID0gMHglLjhseCAoJWxkKVxuIgorCisjOiBwcGNib290LmM6NDIxCisjLCBjLWZvcm1hdAorbXNnaWQgIkZsYWcgZmllbGQgICAgICAgICAgPSAweCUuMnhcbiIKK21zZ3N0ciAiVGFuZGEgZGFlcmFoICAgICAgICA9IDB4JS4yeFxuIgorCisjOiBwcGNib290LmM6NDI3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lICAgICAgPSBcIiVzXCJcbiIKK21zZ3N0ciAiTmFtYSBwYXJ0aXNpICAgICAgICA9IFwiJXNcIlxuIgorCisjOiBwcGNib290LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJQYXJ0aXRpb25bJWRdIHN0YXJ0ICA9IHsgMHglLjJ4LCAweCUuMngsIDB4JS4yeCwgMHglLjJ4IH1cbiIKK21zZ3N0ciAiIgorIlxuIgorIkF3YWwgcGFydGlzaVslZF0gICAgID0geyAweCUuMngsIDB4JS4yeCwgMHglLjJ4LCAweCUuMnggfVxuIgorCisjOiBwcGNib290LmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvblslZF0gZW5kICAgID0geyAweCUuMngsIDB4JS4yeCwgMHglLjJ4LCAweCUuMnggfVxuIgorbXNnc3RyICJBa2hpciBwYXJ0aXNpWyVkXSAgICA9IHsgMHglLjJ4LCAweCUuMngsIDB4JS4yeCwgMHglLjJ4IH1cbiIKKworIzogcHBjYm9vdC5jOjQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25bJWRdIHNlY3RvciA9IDB4JS44bHggKCVsZClcbiIKK21zZ3N0ciAiRGFlcmFoIHBhcnRpc2lbJWRdICAgPSAweCUuOGx4ICglbGQpXG4iCisKKyM6IHBwY2Jvb3QuYzo0NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uWyVkXSBsZW5ndGggPSAweCUuOGx4ICglbGQpXG4iCittc2dzdHIgIlBhbmphbmcgcGFydGlzaVslZF0gID0gMHglLjhseCAoJWxkKVxuIgorCisjOiBzb20uYzo1MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJFeGVjIEF1eGlsaWFyeSBIZWFkZXJcbiIKK21zZ3N0ciAiIgorIlxuIgorIlRhbWJhaGFuIGV4ZWMgaGVhZGVyXG4iCisKKyM6IHNvbS5jOjU0NDAKK21zZ2lkICJzb21fc2l6ZW9mX2hlYWRlcnMgdW5pbXBsZW1lbnRlZCIKK21zZ3N0ciAic29tX3NpemVvZl9oZWFkZXJzIHRpZGFrIHRlcmltcGxlbWVudGFzaSIKKworIzogc3JlYy5jOjI2MQorbXNnaWQgIiVCOiVkOiBVbmV4cGVjdGVkIGNoYXJhY3RlciBgJXMnIGluIFMtcmVjb3JkIGZpbGVcbiIKK21zZ3N0ciAiJUI6JWQ6IEthcmFrdGVyIGAlcycgdGlkYWsgZGlkdWdhIGRhbGFtIGJlcmthcyBTLXJlY29yZFxuIgorCisjOiBzcmVjLmM6NTY3IHNyZWMuYzo2MDAKK21zZ2lkICIlQjolZDogQmFkIGNoZWNrc3VtIGluIFMtcmVjb3JkIGZpbGVcbiIKK21zZ3N0ciAiJUI6JWQ6IENoZWNrc3VtIGJ1cnVrIGRhbGFtIGJlcmthcyBTLXJlY29yZFxuIgorCisjOiBzdGFicy5jOjI3OQorbXNnaWQgIiVCKCVBKzB4JWx4KTogU3RhYnMgZW50cnkgaGFzIGludmFsaWQgc3RyaW5nIGluZGV4LiIKK21zZ3N0ciAiJUIoJUErMHglbHgpOiBNYXN1a2FuIHN0YWJzIG1lbWlsaWtpIGluZGV4IHN0cmluZyB0aWRhayB2YWxpZC4iCisKKyM6IHN5bXMuYzoxMDY3Cittc2dpZCAiVW5zdXBwb3J0ZWQgLnN0YWIgcmVsb2NhdGlvbiIKK21zZ3N0ciAiUmVsb2thc2kgLnN0YWIgdGlkYWsgZGlkdWt1bmciCisKKyM6IHZtcy1nc2QuYzozMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmZkX21ha2Vfc2VjdGlvbiAoJXMpIGZhaWxlZCIKK21zZ3N0ciAiYmZkX21ha2Vfc2VjdGlvbiAoJXMpIGdhZ2FsIgorCisjOiB2bXMtZ3NkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgImJmZF9zZXRfc2VjdGlvbl9mbGFncyAoJXMsICV4KSBmYWlsZWQiCittc2dzdHIgImJmZF9zZXRfc2VjdGlvbl9mbGFncyAoJXMsICV4KSBnYWdhbCIKKworIzogdm1zLWdzZC5jOjM4OAorIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG1pc21hdGNoIHNlY3Rpb24gJXM9JWx4LCAlcz0lbHgiCittc2dzdHIgIlVrdXJhbiB0aWRhayBjb2NvayBkYWVyYWggJXM9JWx4LCAlcz0lbHgiCisKKyM6IHZtcy1nc2QuYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBnc2QvZWdzZCBzdWJ0eXBlICVkIgorbXNnc3RyICJ0aWRhayBkaWtldGFodWkgZ2RzL2Vnc2Qgc3VidHlwZSAlZCIKKworIzogdm1zLWhkci5jOjMyOAorbXNnaWQgIk9iamVjdCBtb2R1bGUgTk9UIGVycm9yLWZyZWUgIVxuIgorbXNnc3RyICJNb2R1bCBvYmplayBUaWRhayBiZWJhcy1lcnJvciAhXG4iCisKKyM6IHZtcy1taXNjLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YWNrIG92ZXJmbG93ICglZCkgaW4gX2JmZF92bXNfcHVzaCIKK21zZ3N0ciAiU3RhY2sgb3ZlcmZsb3cgKCVkKSBkYWxhbSBfYmZkX3Ztc19wdXNoIgorCisjOiB2bXMtbWlzYy5jOjQ4OQorbXNnaWQgIlN0YWNrIHVuZGVyZmxvdyBpbiBfYmZkX3Ztc19wb3AiCittc2dzdHIgIlN0YWNrIHVuZGVyZmxvdyBkYWxhbSBfYmZkX3Ztc19wb3AiCisKKyM6IHZtcy1taXNjLmM6ODA4Cittc2dpZCAiX2JmZF92bXNfb3V0cHV0X2NvdW50ZWQgY2FsbGVkIHdpdGggemVybyBieXRlcyIKK21zZ3N0ciAiX2JmZF92bXNfb3V0cHV0X2NvdW50ZWQgZGlwYW5nZ2lsIGRlbmdhbiB6ZXJvIGJ5dGVzIgorCisjOiB2bXMtbWlzYy5jOjgxMworbXNnaWQgIl9iZmRfdm1zX291dHB1dF9jb3VudGVkIGNhbGxlZCB3aXRoIHRvbyBtYW55IGJ5dGVzIgorbXNnc3RyICJfYmZkX3Ztc19vdXRwdXRfY291bnRlZCBkaXBhbmdnaWwgZGVuZ2FuIHRlcmxhbHUgYmFueWFrIGJ5dGVzIgorCisjOiB2bXMtbWlzYy5jOjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJTeW1ib2wgJXMgcmVwbGFjZWQgYnkgJXNcbiIKK21zZ3N0ciAiU2ltYm9sICVzIGRpZ2FudGlrYW4gb2xlaCAlc1xuIgorCisjOiB2bXMtbWlzYy5jOjk5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZW50ZXIgJXMiCittc2dzdHIgImdhZ2FsIHVudHVrIG1lbWFzdWtpICVzIgorCisjOiB2bXMtdGlyLmM6NTcKK21zZ2lkICJObyBNZW0gISIKK21zZ3N0ciAiVGlkYWsgYWRhIE1lbW9yaSAhIgorCisjOiB2bXMtdGlyLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzZWN0aW9uIGluZGV4IGluICVzIgorbXNnc3RyICJJbmRlayBkYWVyYWggYnVydWsgZGFsYW0gJXMiCisKKyM6IHZtcy10aXIuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgU1RBIGNtZCAlcyIKK21zZ3N0ciAicGVyaW50YWggJXMgU1RBIHRpZGFrIGRpZHVrdW5nIgorCisjOiB2bXMtdGlyLmM6MzE4IHZtcy10aXIuYzoxMTIwCisjLCBjLWZvcm1hdAorbXNnaWQgInJlc2VydmVkIFNUQSBjbWQgJWQiCittc2dzdHIgInBlcmludGFoICVkIFNUQSBkaXJlc2VydmUiCisKKyM6IHZtcy10aXIuYzo0MTAgdm1zLXRpci5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gc3ltYm9sIFwiJXNcIiIKK21zZ3N0ciAiJXM6IHRpZGFrIGFkYSBzaW1ib2wgXCIlc1wiIgorCisjLiBVbnNpZ25lZCBzaGlmdC4KKyMuIFJvdGF0ZS4KKyMuIFJlZGVmaW5lIHN5bWJvbCB0byBjdXJyZW50IGxvY2F0aW9uLgorIy4gRGVmaW5lIGEgbGl0ZXJhbC4KKyM6IHZtcy10aXIuYzo0OTcgdm1zLXRpci5jOjYwNiB2bXMtdGlyLmM6NzA0IHZtcy10aXIuYzo3MjEgdm1zLXRpci5jOjcyOAorIzogdm1zLXRpci5jOjczNiB2bXMtdGlyLmM6MTQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IHRpZGFrIGRpZHVrdW5nIgorCisjOiB2bXMtdGlyLmM6NTAyIHZtcy10aXIuYzoxMjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiVzOiB0aWRhayB0ZXJpbXBsZW1lbnRhc2kiCisKKyM6IHZtcy10aXIuYzo1MDYgdm1zLXRpci5jOjEzMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzZXJ2ZWQgU1RPIGNtZCAlZCIKK21zZ3N0ciAicmVzZXJ2ZWQgU1RPIHBlcmludGFoICVkIgorCisjOiB2bXMtdGlyLmM6NjIxIHZtcy10aXIuYzoxNDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc2VydmVkIE9QUiBjbWQgJWQiCittc2dzdHIgInJlc2VydmVkIE9QUiBwZXJpbnRhaCAlZCIKKworIzogdm1zLXRpci5jOjY4MSB2bXMtdGlyLmM6MTUwOQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXNlcnZlZCBDVEwgY21kICVkIgorbXNnc3RyICJyZXNlcnZlZCBDVEwgcGVyaW50YWggJWQiCisKKyMuIHN0YWNrIGJ5dGUgZnJvbSBpbWFnZQorIy4gYXJnOiBub25lLgorIzogdm1zLXRpci5jOjEwMjgKK21zZ2lkICJzdGFjay1mcm9tLWltYWdlIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAic3RhY2stZnJvbS1pbWFnZSB0aWRhayB0ZXJpbXBsZW1lbnRhc2kiCisKKyM6IHZtcy10aXIuYzoxMDQ2Cittc2dpZCAic3RhY2stZW50cnktbWFzayBub3QgZnVsbHkgaW1wbGVtZW50ZWQiCittc2dzdHIgInN0YWNrLWVudHJ5LW1hc2sgdGlkYWsgdGVyaW1wbGVtZW50YXNpIHNlY2FyYSBwZW51aCIKKworIy4gY29tcGFyZSBwcm9jZWR1cmUgYXJndW1lbnQKKyMuIGFyZzogY3MJc3ltYm9sIG5hbWUKKyMuIGJ5CWFyZ3VtZW50IGluZGV4CisjLiBkYQlhcmd1bWVudCBkZXNjcmlwdG9yCisjLgorIy4gY29tcGFyZSBhcmd1bWVudCBkZXNjcmlwdG9yIHdpdGggc3ltYm9sIGFyZ3VtZW50IChBUkckVl9QQVNTTUVDSCkKKyMuIGFuZCBzdGFjayBUUlVFIChhcmdzIG1hdGNoKSBvciBGQUxTRSAoYXJncyBkb250IG1hdGNoKSB2YWx1ZS4KKyM6IHZtcy10aXIuYzoxMDYwCittc2dpZCAiUEFTU01FQ0ggbm90IGZ1bGx5IGltcGxlbWVudGVkIgorbXNnc3RyICJQQVNTTUVDSCB0aWRhayB0ZXJpbXBsZW1lbnRhc2kgc2VjYXJhIHBlbnVoIgorCisjOiB2bXMtdGlyLmM6MTA3OQorbXNnaWQgInN0YWNrLWxvY2FsLXN5bWJvbCBub3QgZnVsbHkgaW1wbGVtZW50ZWQiCittc2dzdHIgInN0YWNrLWxvY2FsLXN5bWJvbCB0aWRhayB0ZXJpbXBsZW1lbnRhc2kgc2VjYXJhIHBlbnVoIgorCisjOiB2bXMtdGlyLmM6MTA5MgorbXNnaWQgInN0YWNrLWxpdGVyYWwgbm90IGZ1bGx5IGltcGxlbWVudGVkIgorbXNnc3RyICJzdGFjay1saXRlcmFsIHRpZGFrIHRlcmltcGxlbWVudGFzaSBzZWNhcmEgcGVudWgiCisKKyM6IHZtcy10aXIuYzoxMTEzCittc2dpZCAic3RhY2stbG9jYWwtc3ltYm9sLWVudHJ5LXBvaW50LW1hc2sgbm90IGZ1bGx5IGltcGxlbWVudGVkIgorbXNnc3RyICJzdGFjay1sb2NhbC1zeW1ib2wtZW50cnktcG9pbnQtbWFzayB0aWRhayB0ZXJpbXBsZW1lbnRhc2kgc2VjYXJhIHBlbnVoIgorCisjOiB2bXMtdGlyLmM6MTM4NyB2bXMtdGlyLmM6MTM5OSB2bXMtdGlyLmM6MTQxMSB2bXMtdGlyLmM6MTQyMyB2bXMtdGlyLmM6MTQ4OAorIzogdm1zLXRpci5jOjE0OTYgdm1zLXRpci5jOjE1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmdWxseSBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiJXM6IHRpZGFrIHRlcmltcGxlbWVudGFzaSBzZWNhcmEgcGVudWgiCisKKyM6IHZtcy10aXIuYzoxNTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9iaiBjb2RlICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAib2JqIGtvZGUgJWQgdGlkYWsgZGl0ZW11a2FuIgorCisjOiB2bXMtdGlyLmM6MTg3MAorIywgYy1mb3JtYXQKK21zZ2lkICJTRUNfUkVMT0Mgd2l0aCBubyByZWxvY3MgaW4gc2VjdGlvbiAlcyIKK21zZ3N0ciAiU0VDX1JFTE9DIGRlbmdhbiB0aWRhayBhZGEgcmVsb2thc2kgZGFsYW0gZGFlcmFoICVzIgorCisjOiB2bXMtdGlyLmM6MjE1MgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmhhbmRsZWQgcmVsb2NhdGlvbiAlcyIKK21zZ3N0ciAiUmVsb2thc2kgJXMgdGlkYWsgdGVydGFuZ2FuaSIKKworIzogeGNvZmZsaW5rLmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBYQ09GRiBzaGFyZWQgb2JqZWN0IHdoZW4gbm90IHByb2R1Y2luZyBYQ09GRiBvdXRwdXQiCittc2dzdHIgIiVzOiBYQ09GRiBvYmplayBzaGFyZWQga2V0aWthIHRpZGFrIG1lbmdoYXNpbGthbiBrZWx1YXJhbiBYQ09GRiIKKworIzogeGNvZmZsaW5rLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkeW5hbWljIG9iamVjdCB3aXRoIG5vIC5sb2FkZXIgc2VjdGlvbiIKK21zZ3N0ciAiJXM6IG9iamVrIGRpbmFtaXMgZGVuZ2FuIHRpZGFrIGFkYSBkYWVyYWggLmxvYWRlciIKKworIzogeGNvZmZsaW5rLmM6MTE1MAorbXNnaWQgIiVCOiBgJXMnIGhhcyBsaW5lIG51bWJlcnMgYnV0IG5vIGVuY2xvc2luZyBzZWN0aW9uIgorbXNnc3RyICIlQjogYCVzJyBtZW1pbGlraSBub21vciBiYXJpcyB0ZXRhcGkgdGlkYWsgZGl0dXR1cGkgZGFlcmFoIgorCisjOiB4Y29mZmxpbmsuYzoxMjAyCittc2dpZCAiJUI6IGNsYXNzICVkIHN5bWJvbCBgJXMnIGhhcyBubyBhdXggZW50cmllcyIKK21zZ3N0ciAiJUI6IGtlbGFzICVkIHNpbWJvbCBgJXMnIHRpZGFrIG1lbWlsaWtpIHRhbWJhaGFuIG1hc3VrYW4iCisKKyM6IHhjb2ZmbGluay5jOjEyMjUKK21zZ2lkICIlQjogc3ltYm9sIGAlcycgaGFzIHVucmVjb2duaXplZCBjc2VjdCB0eXBlICVkIgorbXNnc3RyICIlQjogc2ltYm9sIGAlcycgbWVtaWxpa2kgdGlwZSAlZCBjc2VjdCB0aWRhayBkaWtlbmFsIgorCisjOiB4Y29mZmxpbmsuYzoxMjM3Cittc2dpZCAiJUI6IGJhZCBYVFlfRVIgc3ltYm9sIGAlcyc6IGNsYXNzICVkIHNjbnVtICVkIHNjbmxlbiAlZCIKK21zZ3N0ciAiJUI6IHNpbWJvbCBYVFlfRVIgYnVydWsgYCVzJzoga2VsYXMgJWQgc2NudW0gJWQgc2NubGVuICVkIgorCisjOiB4Y29mZmxpbmsuYzoxMjczCittc2dpZCAiJUI6IFhNQ19UQzAgc3ltYm9sIGAlcycgaXMgY2xhc3MgJWQgc2NubGVuICVkIgorbXNnc3RyICIlQjogWE1DX1RDMCBzaW1ib2wgYCVzJyBhZGFsYWgga2VsYXMgJWQgc2NubGVuICVkIgorCisjOiB4Y29mZmxpbmsuYzoxNDE5Cittc2dpZCAiJUI6IGNzZWN0IGAlcycgbm90IGluIGVuY2xvc2luZyBzZWN0aW9uIgorbXNnc3RyICIlQjogY3NlY3QgYCVzJyB0aWRhayBkYWxhbSBsaW5na3VwIGRhZXJhaCIKKworIzogeGNvZmZsaW5rLmM6MTUyNgorbXNnaWQgIiVCOiBtaXNwbGFjZWQgWFRZX0xEIGAlcyciCittc2dzdHIgIiVCOiBzYWxhaCB0ZW1wYXQgWFRZX0xEIGAlcyciCisKKyM6IHhjb2ZmbGluay5jOjE4NDIKK21zZ2lkICIlQjogcmVsb2MgJXM6JWQgbm90IGluIGNzZWN0IgorbXNnc3RyICIlQjogcmVsb2thc2kgJXM6JWQgdGlkYWsgZGFsYW0gY3NlY3QiCisKKyM6IHhjb2ZmbGluay5jOjI2NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHN1Y2ggc3ltYm9sIgorbXNnc3RyICIlczogdGlkYWsgYWRhIHNpbWJvbCBzZXBlcnRpIGl0dSIKKworIzogeGNvZmZsaW5rLmM6Mjg2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBhdHRlbXB0IHRvIGV4cG9ydCB1bmRlZmluZWQgc3ltYm9sIGAlcyciCittc2dzdHIgInBlcmluZ2F0YW46IG1lbmNvYmEgdW50dWsgbWVuZ2Vrc3BvciBzaW1ib2wgdGlkYWsgdGVyZGVmaW5pc2kgYCVzJyIKKworIzogeGNvZmZsaW5rLmM6MzAzNgorbXNnaWQgImVycm9yOiB1bmRlZmluZWQgc3ltYm9sIF9fcnRpbml0IgorbXNnc3RyICJlcnJvcjogc2ltYm9sIHRpZGFrIHRlcmRlZmluaXNpIF9fcnRpbml0IgorCisjOiB4Y29mZmxpbmsuYzozNjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRPQyBvdmVyZmxvdzogMHglbHggPiAweDEwMDAwOyB0cnkgLW1taW5pbWFsLXRvYyB3aGVuIGNvbXBpbGluZyIKK21zZ3N0ciAiVE9DIG92ZXJmbG93OiAweCVseCA+IDB4MTAwMDA7IGNvYmEgLW1taW5pbWFsLXRvYyBrZXRpa2EgbWVuZ2tvbXBpbGUiCisKKyM6IHhjb2ZmbGluay5jOjQ0OTIKK21zZ2lkICIlQjogbG9hZGVyIHJlbG9jIGluIHVucmVjb2duaXplZCBzZWN0aW9uIGAlQSciCittc2dzdHIgIiVCOiBsb2FkZXIgcmVsb2thc2kgZGFsYW0gZGFlcmFoIHRpZGFrIGRpa2VuYWwgYCVBJyIKKworIzogeGNvZmZsaW5rLmM6NDUxMworbXNnaWQgIiVCOiBgJXMnIGluIGxvYWRlciByZWxvYyBidXQgbm90IGxvYWRlciBzeW0iCittc2dzdHIgIiVCOiBgJXMnIGRhbGFtIHJlbG9rYXNpIGxvYWRlciB0ZXRhcGkgYnVrYW4gbG9hZGVyIHN5bSIKKworIzogeGNvZmZsaW5rLmM6NDUyOAorbXNnaWQgIiVCOiBsb2FkZXIgcmVsb2MgaW4gcmVhZC1vbmx5IHNlY3Rpb24gJUEiCittc2dzdHIgIiVCOiBsb2FkZXIgcmVsb2thc2kgZGFsYW0gZGFlcmFoIGJhY2Etc2FqYSAlQSIKKworIzogeGNvZmZsaW5rLmM6NDkzNyB4Y29mZmxpbmsuYzo0OTk5IHhjb2ZmbGluay5jOjUyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxvYWRlciByZWxvYyBpbiB1bnJlY29nbml6ZWQgc2VjdGlvbiBgJXMnIgorbXNnc3RyICIlczogbG9hZGVyIHJlbG9rYXNpIGRhbGFtIGRhZXJhaCBgJXMnIHRpZGFrIGRpa2VuYWwiCisKKyM6IHhjb2ZmbGluay5jOjUzMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGAlcycgaW4gbG9hZGVyIHJlbG9jIGJ1dCBub3QgbG9hZGVyIHN5bSIKK21zZ3N0ciAiJXM6IGAlcycgZGFsYW0gcmVsb2thc2kgbG9hZGVyIHRldGFwaSBidWthbiBsb2FkZXIgc3ltIgorCisjOiBlbGYzMi1pYTY0LmM6MTAzNyBlbGY2NC1pYTY0LmM6MTAzNworbXNnaWQgIiVCOiBDYW4ndCByZWxheCBiciBhdCAweCVseCBpbiBzZWN0aW9uIGAlQScuIFBsZWFzZSB1c2UgYnJsIG9yIGluZGlyZWN0IGJyYW5jaC4iCittc2dzdHIgIiVCOiBUaWRhayBkYXBhdCByZWxha3MgYnIgZGkgMHglbHggZGFsYW0gZGFlcmFoIGAlQScuIFRvbG9uZyBndW5ha2FuIGJybCBhdGF1IGluZGlyZWN0IGJyYW5jaC4iCisKKyM6IGVsZjMyLWlhNjQuYzoyNzQyIGVsZjY0LWlhNjQuYzoyNzQyCittc2dpZCAiQHBsdG9mZiByZWxvYyBhZ2FpbnN0IGxvY2FsIHN5bWJvbCIKK21zZ3N0ciAiQHBsdG9mZiByZWxva2FzaSB0ZXJoYWRhcCBzaW1ib2wgbG9rYWwiCisKKyM6IGVsZjMyLWlhNjQuYzo0MzE3IGVsZjY0LWlhNjQuYzo0MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzaG9ydCBkYXRhIHNlZ21lbnQgb3ZlcmZsb3dlZCAoMHglbHggPj0gMHg0MDAwMDApIgorbXNnc3RyICIlczogc2hvcnQgZGF0YSBzZWdtZW50IG92ZXJmbG93ZWQgKDB4JWx4ID49IDB4NDAwMDAwKSIKKworIzogZWxmMzItaWE2NC5jOjQzMjggZWxmNjQtaWE2NC5jOjQzMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IF9fZ3AgZG9lcyBub3QgY292ZXIgc2hvcnQgZGF0YSBzZWdtZW50IgorbXNnc3RyICIlczogX19ncCB0aWRhayBtZWxpcHV0aSBzZWdtZW4gZGF0YSBwZW5kZWsiCisKKyM6IGVsZjMyLWlhNjQuYzo0NTk4IGVsZjY0LWlhNjQuYzo0NTk4Cittc2dpZCAiJUI6IG5vbi1waWMgY29kZSB3aXRoIGltbSByZWxvY2F0aW9uIGFnYWluc3QgZHluYW1pYyBzeW1ib2wgYCVzJyIKK21zZ3N0ciAiJUI6IGJ1a2FuLXBpYyBrb2RlIGRlbmdhbiByZWxva2FzaSBpbW0gdGVyaGFkYXAgc2ltYm9sIGRpbmFtaXMgYCVzJyIKKworIzogZWxmMzItaWE2NC5jOjQ2NjUgZWxmNjQtaWE2NC5jOjQ2NjUKK21zZ2lkICIlQjogQGdwcmVsIHJlbG9jYXRpb24gYWdhaW5zdCBkeW5hbWljIHN5bWJvbCAlcyIKK21zZ3N0ciAiJUI6IEBncHJlbCByZWxva2FzaSB0ZXJoYWRhcCBzaW1ib2wgZGluYW1pcyAlcyIKKworIzogZWxmMzItaWE2NC5jOjQ3MjggZWxmNjQtaWE2NC5jOjQ3MjgKK21zZ2lkICIlQjogbGlua2luZyBub24tcGljIGNvZGUgaW4gYSBwb3NpdGlvbiBpbmRlcGVuZGVudCBleGVjdXRhYmxlIgorbXNnc3RyICIlQjogbWVuZ2h1YnVuZ2thbiBkZW5nYW4ga29kZSBidWthbi1waWMgZGFsYW0gc2VidWFoIGV4ZWN1dGFibGUgYmViYXMgcG9zaXNpIgorCisjOiBlbGYzMi1pYTY0LmM6NDg2NSBlbGY2NC1pYTY0LmM6NDg2NQorbXNnaWQgIiVCOiBAaW50ZXJuYWwgYnJhbmNoIHRvIGR5bmFtaWMgc3ltYm9sICVzIgorbXNnc3RyICIlQjogQGludGVybmFsIGJyYW5jayBrZSBzaW1ib2wgZGluYW1pcyAlcyIKKworIzogZWxmMzItaWE2NC5jOjQ4NjcgZWxmNjQtaWE2NC5jOjQ4NjcKK21zZ2lkICIlQjogc3BlY3VsYXRpb24gZml4dXAgdG8gZHluYW1pYyBzeW1ib2wgJXMiCittc2dzdHIgIiVCOiBzcGVrdWxhc2kgZml4dXAga2Ugc2ltYm9sIGRpbmFtaXMgJXMiCisKKyM6IGVsZjMyLWlhNjQuYzo0ODY5IGVsZjY0LWlhNjQuYzo0ODY5Cittc2dpZCAiJUI6IEBwY3JlbCByZWxvY2F0aW9uIGFnYWluc3QgZHluYW1pYyBzeW1ib2wgJXMiCittc2dzdHIgIiVCOiBAcGNyZWwgcmVsb2thc2kgdGVyaGFkYXAgc2ltYm9sIGRpbmFtaXMgJXMiCisKKyM6IGVsZjMyLWlhNjQuYzo1MDY2IGVsZjY0LWlhNjQuYzo1MDY2Cittc2dpZCAidW5zdXBwb3J0ZWQgcmVsb2MiCittc2dzdHIgInJlbG9rYXNpIHRpZGFrIGRpZHVrdW5nIgorCisjOiBlbGYzMi1pYTY0LmM6NTEwNCBlbGY2NC1pYTY0LmM6NTEwNAorbXNnaWQgIiVCOiBtaXNzaW5nIFRMUyBzZWN0aW9uIGZvciByZWxvY2F0aW9uICVzIGFnYWluc3QgYCVzJyBhdCAweCVseCBpbiBzZWN0aW9uIGAlQScuIgorbXNnc3RyICIlQjogaGlsYW5nIGRhZXJhaCBUTFMgdW50dWsgcmVsb2thc2kgJXMgdGVyaGFkYXAgYCVzJyBkaSAweCVseCBkYWxhbSBkYWVyYWggYCVBJy4iCisKKyM6IGVsZjMyLWlhNjQuYzo1MTE5IGVsZjY0LWlhNjQuYzo1MTE5Cittc2dpZCAiJUI6IENhbid0IHJlbGF4IGJyICglcykgdG8gYCVzJyBhdCAweCVseCBpbiBzZWN0aW9uIGAlQScgd2l0aCBzaXplIDB4JWx4ICg+IDB4MTAwMDAwMCkuIgorbXNnc3RyICIlQjogVGlkYWsgZGFwYXQgcmVsYWtzIGJyICglcykga2UgYCVzJyBkaSAweCVseCBkYWxhbSBkYWVyYWggYCVBJyBkZW5nYW4gdWt1cmFuIDB4JWx4ICg+IDB4MTAwMDAwMCkuIgorCisjOiBlbGYzMi1pYTY0LmM6NTM3NSBlbGY2NC1pYTY0LmM6NTM3NQorbXNnaWQgIiVCOiBsaW5raW5nIHRyYXAtb24tTlVMTC1kZXJlZmVyZW5jZSB3aXRoIG5vbi10cmFwcGluZyBmaWxlcyIKK21zZ3N0ciAiJUI6IG1lbmdodWJ1bmdrYW4gdHJhcC1vbi1OVUxMLWRlcmVmZXJlbmNlIGRlbmdhbiBiZXJrYXMgYnVrYW4tdHJhcHBpbmciCisKKyM6IGVsZjMyLWlhNjQuYzo1Mzg0IGVsZjY0LWlhNjQuYzo1Mzg0Cittc2dpZCAiJUI6IGxpbmtpbmcgYmlnLWVuZGlhbiBmaWxlcyB3aXRoIGxpdHRsZS1lbmRpYW4gZmlsZXMiCittc2dzdHIgIiVCOiBtZW5naHVidW5na2FuIGJlcmthcyBiaWctZW5kaWFuIGRlbmdhbiBiZXJrYXMgbGl0dGxlLWVuZGlhbiIKKworIzogZWxmMzItaWE2NC5jOjUzOTMgZWxmNjQtaWE2NC5jOjUzOTMKK21zZ2lkICIlQjogbGlua2luZyA2NC1iaXQgZmlsZXMgd2l0aCAzMi1iaXQgZmlsZXMiCittc2dzdHIgIiVCOiBtZW5naHVidW5na2FuIGJlcmthcyA2NC1iaXQgZGVuZ2FuIGJlcmthcyAzMi1iaXQiCisKKyM6IGVsZjMyLWlhNjQuYzo1NDAyIGVsZjY0LWlhNjQuYzo1NDAyCittc2dpZCAiJUI6IGxpbmtpbmcgY29uc3RhbnQtZ3AgZmlsZXMgd2l0aCBub24tY29uc3RhbnQtZ3AgZmlsZXMiCittc2dzdHIgIiVCOiBtZW5naHVidW5na2FuIGJlcmthcyBjb25zdGFudC1ncCBkZW5nYW4gYmVya2FzIGJ1a2FuLWNvbnN0YW50LWdwIgorCisjOiBlbGYzMi1pYTY0LmM6NTQxMiBlbGY2NC1pYTY0LmM6NTQxMgorbXNnaWQgIiVCOiBsaW5raW5nIGF1dG8tcGljIGZpbGVzIHdpdGggbm9uLWF1dG8tcGljIGZpbGVzIgorbXNnc3RyICIlQjogbWVuZ2h1YnVuZ2thbiBiZXJrYXMgYXV0by1waWMgZGVuZ2FuIGJlcmthcyBub24tYXV0by1waWMiCisKKyM6IHBlaWdlbi5jOjEwMDAgcGVwaWdlbi5jOjEwMDAgcGV4NjRpZ2VuLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGluZSBudW1iZXIgb3ZlcmZsb3c6IDB4JWx4ID4gMHhmZmZmIgorbXNnc3RyICIlczogbm9tb3IgYmFyaXMgb3ZlcmZsb3c6IDB4JWx4ID4gMHhmZmZmIgorCisjOiBwZWlnZW4uYzoxMDI3IHBlcGlnZW4uYzoxMDI3IHBleDY0aWdlbi5jOjEwMjcKK21zZ2lkICJFeHBvcnQgRGlyZWN0b3J5IFsuZWRhdGEgKG9yIHdoZXJlIGV2ZXIgd2UgZm91bmQgaXQpXSIKK21zZ3N0ciAiRGlyZWt0b3JpIGV4cG9yIFsuZWRhdGEgKGF0YXUgZGltYW5hcHVuIGtpdGEgbWVuZW11a2FubnlhKV0iCisKKyM6IHBlaWdlbi5jOjEwMjggcGVwaWdlbi5jOjEwMjggcGV4NjRpZ2VuLmM6MTAyOAorbXNnaWQgIkltcG9ydCBEaXJlY3RvcnkgW3BhcnRzIG9mIC5pZGF0YV0iCittc2dzdHIgIkltcG9yIERpcmVrdG9yaSBbYmFnaWFuIGRhcmkgLmlkYXRhXSIKKworIzogcGVpZ2VuLmM6MTAyOSBwZXBpZ2VuLmM6MTAyOSBwZXg2NGlnZW4uYzoxMDI5Cittc2dpZCAiUmVzb3VyY2UgRGlyZWN0b3J5IFsucnNyY10iCittc2dzdHIgIlJlc291cmNlIERpcmVrdG9yaSBbLnJzcmNdIgorCisjOiBwZWlnZW4uYzoxMDMwIHBlcGlnZW4uYzoxMDMwIHBleDY0aWdlbi5jOjEwMzAKK21zZ2lkICJFeGNlcHRpb24gRGlyZWN0b3J5IFsucGRhdGFdIgorbXNnc3RyICJFeGNlcHRpb24gRGlyZWt0b3JpIFsucGRhdGFdIgorCisjOiBwZWlnZW4uYzoxMDMxIHBlcGlnZW4uYzoxMDMxIHBleDY0aWdlbi5jOjEwMzEKK21zZ2lkICJTZWN1cml0eSBEaXJlY3RvcnkiCittc2dzdHIgIkRpcmVrdG9yaSBLZWFtYW5hbiIKKworIzogcGVpZ2VuLmM6MTAzMiBwZXBpZ2VuLmM6MTAzMiBwZXg2NGlnZW4uYzoxMDMyCittc2dpZCAiQmFzZSBSZWxvY2F0aW9uIERpcmVjdG9yeSBbLnJlbG9jXSIKK21zZ3N0ciAiRGFzYXIgUmVsb2thc2kgRGlyZWt0b3JpIFsucmVsb2NdIgorCisjOiBwZWlnZW4uYzoxMDMzIHBlcGlnZW4uYzoxMDMzIHBleDY0aWdlbi5jOjEwMzMKK21zZ2lkICJEZWJ1ZyBEaXJlY3RvcnkiCittc2dzdHIgIkRlYnVnIERpcmVrdG9yaSIKKworIzogcGVpZ2VuLmM6MTAzNCBwZXBpZ2VuLmM6MTAzNCBwZXg2NGlnZW4uYzoxMDM0Cittc2dpZCAiRGVzY3JpcHRpb24gRGlyZWN0b3J5IgorbXNnc3RyICJEaXJla3RvcmkgUGVuamVsYXNhbiIKKworIzogcGVpZ2VuLmM6MTAzNSBwZXBpZ2VuLmM6MTAzNSBwZXg2NGlnZW4uYzoxMDM1Cittc2dpZCAiU3BlY2lhbCBEaXJlY3RvcnkiCittc2dzdHIgIkRpcmVrdG9yaSBTcGVzaWFsIgorCisjOiBwZWlnZW4uYzoxMDM2IHBlcGlnZW4uYzoxMDM2IHBleDY0aWdlbi5jOjEwMzYKK21zZ2lkICJUaHJlYWQgU3RvcmFnZSBEaXJlY3RvcnkgWy50bHNdIgorbXNnc3RyICJUaHJlYWQgU3RvcmFnZSBEaXJla3RvcmkgWy50bHNdIgorCisjOiBwZWlnZW4uYzoxMDM3IHBlcGlnZW4uYzoxMDM3IHBleDY0aWdlbi5jOjEwMzcKK21zZ2lkICJMb2FkIENvbmZpZ3VyYXRpb24gRGlyZWN0b3J5IgorbXNnc3RyICJEaXJla3RvcmkgS29uZmlndXJhc2kgQmViYW4iCisKKyM6IHBlaWdlbi5jOjEwMzggcGVwaWdlbi5jOjEwMzggcGV4NjRpZ2VuLmM6MTAzOAorbXNnaWQgIkJvdW5kIEltcG9ydCBEaXJlY3RvcnkiCittc2dzdHIgIkRpcmVrdG9yaSBCb3VuZCBJbXBvciIKKworIzogcGVpZ2VuLmM6MTAzOSBwZXBpZ2VuLmM6MTAzOSBwZXg2NGlnZW4uYzoxMDM5Cittc2dpZCAiSW1wb3J0IEFkZHJlc3MgVGFibGUgRGlyZWN0b3J5IgorbXNnc3RyICJEaXJla3RvcmkgSW1wb3IgVGFiZWwgQWxhbWF0IgorCisjOiBwZWlnZW4uYzoxMDQwIHBlcGlnZW4uYzoxMDQwIHBleDY0aWdlbi5jOjEwNDAKK21zZ2lkICJEZWxheSBJbXBvcnQgRGlyZWN0b3J5IgorbXNnc3RyICJEZWxheSBJbXBvciBEaXJla3RvcmkiCisKKyM6IHBlaWdlbi5jOjEwNDEgcGVwaWdlbi5jOjEwNDEgcGV4NjRpZ2VuLmM6MTA0MQorbXNnaWQgIkNMUiBSdW50aW1lIEhlYWRlciIKK21zZ3N0ciAiQ0xSIFJ1bnRpbWUgSGVhZGVyIgorCisjOiBwZWlnZW4uYzoxMDQyIHBlcGlnZW4uYzoxMDQyIHBleDY0aWdlbi5jOjEwNDIKK21zZ2lkICJSZXNlcnZlZCIKK21zZ3N0ciAiUmVzZXJ2ZWQiCisKKyM6IHBlaWdlbi5jOjExMDIgcGVwaWdlbi5jOjExMDIgcGV4NjRpZ2VuLmM6MTEwMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVGhlcmUgaXMgYW4gaW1wb3J0IHRhYmxlLCBidXQgdGhlIHNlY3Rpb24gY29udGFpbmluZyBpdCBjb3VsZCBub3QgYmUgZm91bmRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFkYSB0YWJlbCBpbXBvciwgdGV0YXBpIGRhZXJhaCB5YW5nIGJlcmlzaSBpdHUgdGlkYWsgZGFwYXQgZGl0ZW11a2FuXG4iCisKKyM6IHBlaWdlbi5jOjExMDcgcGVwaWdlbi5jOjExMDcgcGV4NjRpZ2VuLmM6MTEwNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVGhlcmUgaXMgYW4gaW1wb3J0IHRhYmxlIGluICVzIGF0IDB4JWx4XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBZGEgaW1wb3IgdGFiZWwgZGkgJXMgcGFkYSAweCVseFxuIgorCisjOiBwZWlnZW4uYzoxMTUwIHBlcGlnZW4uYzoxMTUwIHBleDY0aWdlbi5jOjExNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uIGRlc2NyaXB0b3IgbG9jYXRlZCBhdCB0aGUgc3RhcnQgYWRkcmVzczogJTA0bHhcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRlc2tyaXBzaSBmdW5nc2kgZGl0ZW1wYXRrYW4gZGkgYXdhbCBhbGFtYXQ6ICUwNGx4XG4iCisKKyM6IHBlaWdlbi5jOjExNTMgcGVwaWdlbi5jOjExNTMgcGV4NjRpZ2VuLmM6MTE1MworIywgYy1mb3JtYXQKK21zZ2lkICJcdGNvZGUtYmFzZSAlMDhseCB0b2MgKGxvYWRhYmxlL2FjdHVhbCkgJTA4bHgvJTA4bHhcbiIKK21zZ3N0ciAiXHRjb2RlLWJhc2UgJTA4bHggdG9jIChsb2FkYWJsZS9hY3R1YWwpICUwOGx4LyUwOGx4XG4iCisKKyM6IHBlaWdlbi5jOjExNjEgcGVwaWdlbi5jOjExNjEgcGV4NjRpZ2VuLmM6MTE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTm8gcmVsZGF0YSBzZWN0aW9uISBGdW5jdGlvbiBkZXNjcmlwdG9yIG5vdCBkZWNvZGVkLlxuIgorbXNnc3RyICIiCisiXG4iCisiVGlkYWsgYWRhIGRhZXJhaCByZWxkYXRhISBEZXNrcmlwc2kgZnVuZ3NpIHRpZGFrIHRlcmRla29kZS5cbiIKKworIzogcGVpZ2VuLmM6MTE2NiBwZXBpZ2VuLmM6MTE2NiBwZXg2NGlnZW4uYzoxMTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgSW1wb3J0IFRhYmxlcyAoaW50ZXJwcmV0ZWQgJXMgc2VjdGlvbiBjb250ZW50cylcbiIKK21zZ3N0ciAiIgorIlxuIgorIlRhYmVsIEltcG9yIChkaWludGVycHJldGFzaWthbiBpc2kgZGFlcmFoICVzKVxuIgorCisjOiBwZWlnZW4uYzoxMTY5IHBlcGlnZW4uYzoxMTY5IHBleDY0aWdlbi5jOjExNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiB2bWE6ICAgICAgICAgICAgSGludCAgICBUaW1lICAgICAgRm9yd2FyZCAgRExMICAgICAgIEZpcnN0XG4iCisiICAgICAgICAgICAgICAgICBUYWJsZSAgIFN0YW1wICAgICBDaGFpbiAgICBOYW1lICAgICAgVGh1bmtcbiIKK21zZ3N0ciAiIgorInZtYTogICAgICAgICAgICAgVGlwcyAgICBXYWt0dSAgICAgRm9yd2FyZCAgRExMICAgICAgIFBlcnRhbWFcbiIKKyIgICAgICAgICAgICAgICAgIFRhYmVsICAgU3RhbXAgICAgIFJhbnRhaSAgIE5hbWEgICAgICBUaHVua1xuIgorCisjOiBwZWlnZW4uYzoxMjE3IHBlcGlnZW4uYzoxMjE3IHBleDY0aWdlbi5jOjEyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlx0RExMIE5hbWU6ICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJcdE5hbWEgRExMOiAlc1xuIgorCisjOiBwZWlnZW4uYzoxMjI4IHBlcGlnZW4uYzoxMjI4IHBleDY0aWdlbi5jOjEyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHR2bWE6ICBIaW50L09yZCBNZW1iZXItTmFtZSBCb3VuZC1Ub1xuIgorbXNnc3RyICJcdHZtYTogIFRpcHMvT3JkIE5hbWEtQW5nZ290YSBUZXJpa2F0LUtlXG4iCisKKyM6IHBlaWdlbi5jOjEyNTMgcGVwaWdlbi5jOjEyNTMgcGV4NjRpZ2VuLmM6MTI1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVGhlcmUgaXMgYSBmaXJzdCB0aHVuaywgYnV0IHRoZSBzZWN0aW9uIGNvbnRhaW5pbmcgaXQgY291bGQgbm90IGJlIGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyJBZGEgdGh1bmsgcGVydGFtYSwgdGV0YXBpIGRhZXJhaCB5YW5nIGJlcmlzaSBpdHUgdGlkYWsgZGFwYXQgZGl0ZW11a2FuXG4iCisKKyM6IHBlaWdlbi5jOjE0MTggcGVwaWdlbi5jOjE0MTggcGV4NjRpZ2VuLmM6MTQxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVGhlcmUgaXMgYW4gZXhwb3J0IHRhYmxlLCBidXQgdGhlIHNlY3Rpb24gY29udGFpbmluZyBpdCBjb3VsZCBub3QgYmUgZm91bmRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFkYSB0YWJlbCBleHBvciwgdGV0YXBpIGRhZXJhaCB5YW5nIGJlcmlzaSBpdHUgdGlkYWsgZGFwYXQgZGl0ZW11a2FuXG4iCisKKyM6IHBlaWdlbi5jOjE0MjcgcGVwaWdlbi5jOjE0MjcgcGV4NjRpZ2VuLmM6MTQyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVGhlcmUgaXMgYW4gZXhwb3J0IHRhYmxlIGluICVzLCBidXQgaXQgZG9lcyBub3QgZml0IGludG8gdGhhdCBzZWN0aW9uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJBZGEgdGFiZWwgZXhwb3IgZGFsYW0gJXMsIHRldGFwaSBpbmkgdGlkYWsgbWFzdWsgZGFsYW0gZGFlcmFoIGl0dVxuIgorCisjOiBwZWlnZW4uYzoxNDMzIHBlcGlnZW4uYzoxNDMzIHBleDY0aWdlbi5jOjE0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlRoZXJlIGlzIGFuIGV4cG9ydCB0YWJsZSBpbiAlcyBhdCAweCVseFxuIgorbXNnc3RyICIiCisiXG4iCisiQWRhIHNlYnVhaCB0YWJlbCBleHBvciBkYWxhbSAlcyBkaSAweCVseFxuIgorCisjOiBwZWlnZW4uYzoxNDYxIHBlcGlnZW4uYzoxNDYxIHBleDY0aWdlbi5jOjE0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlRoZSBFeHBvcnQgVGFibGVzIChpbnRlcnByZXRlZCAlcyBzZWN0aW9uIGNvbnRlbnRzKVxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiVGFiZWwgZXhwb3IgKGRpaW50ZXJwcmV0YXNpa2FuIGlzaSBkYWVyYWggJXMpXG4iCisKKyM6IHBlaWdlbi5jOjE0NjUgcGVwaWdlbi5jOjE0NjUgcGV4NjRpZ2VuLmM6MTQ2NQorIywgYy1mb3JtYXQKK21zZ2lkICJFeHBvcnQgRmxhZ3MgXHRcdFx0JWx4XG4iCittc2dzdHIgIlRhbmRhIEV4cG9yIFx0XHRcdCVseFxuIgorCisjOiBwZWlnZW4uYzoxNDY4IHBlcGlnZW4uYzoxNDY4IHBleDY0aWdlbi5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZS9EYXRlIHN0YW1wIFx0XHQlbHhcbiIKK21zZ3N0ciAiV2FrdHUvVGFuZ2dhbCBzdGFtcCBcdFx0JWx4XG4iCisKKyM6IHBlaWdlbi5jOjE0NzEgcGVwaWdlbi5jOjE0NzEgcGV4NjRpZ2VuLmM6MTQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICJNYWpvci9NaW5vciBcdFx0XHQlZC8lZFxuIgorbXNnc3RyICJNYXlvci9NaW5vciBcdFx0XHQlZC8lZFxuIgorCisjOiBwZWlnZW4uYzoxNDc0IHBlcGlnZW4uYzoxNDc0IHBleDY0aWdlbi5jOjE0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBcdFx0XHRcdCIKK21zZ3N0ciAiTmFtYSBcdFx0XHRcdCIKKworIzogcGVpZ2VuLmM6MTQ4MCBwZXBpZ2VuLmM6MTQ4MCBwZXg2NGlnZW4uYzoxNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIk9yZGluYWwgQmFzZSBcdFx0XHQlbGRcbiIKK21zZ3N0ciAiRGFzYXIgT3JkaW5hbCBcdFx0XHQlbGRcbiIKKworIzogcGVpZ2VuLmM6MTQ4MyBwZXBpZ2VuLmM6MTQ4MyBwZXg2NGlnZW4uYzoxNDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk51bWJlciBpbjpcbiIKK21zZ3N0ciAiTm9tb3IgZGFsYW06XG4iCisKKyM6IHBlaWdlbi5jOjE0ODYgcGVwaWdlbi5jOjE0ODYgcGV4NjRpZ2VuLmM6MTQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJcdEV4cG9ydCBBZGRyZXNzIFRhYmxlIFx0XHQlMDhseFxuIgorbXNnc3RyICJcdFRhYmVsIEFsYW1hdCBFeHBvciBcdFx0JTA4bHhcbiIKKworIzogcGVpZ2VuLmM6MTQ5MCBwZXBpZ2VuLmM6MTQ5MCBwZXg2NGlnZW4uYzoxNDkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0W05hbWUgUG9pbnRlci9PcmRpbmFsXSBUYWJsZVx0JTA4bHhcbiIKK21zZ3N0ciAiXHRbTmFtYSBQb2ludGVyL09yZGluYWxdIFRhYmVsXHQlMDhseFxuIgorCisjOiBwZWlnZW4uYzoxNDkzIHBlcGlnZW4uYzoxNDkzIHBleDY0aWdlbi5jOjE0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGFibGUgQWRkcmVzc2VzXG4iCittc2dzdHIgIlRhYmVsIEFsYW1hdFxuIgorCisjOiBwZWlnZW4uYzoxNDk2IHBlcGlnZW4uYzoxNDk2IHBleDY0aWdlbi5jOjE0OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHRFeHBvcnQgQWRkcmVzcyBUYWJsZSBcdFx0IgorbXNnc3RyICJcdFRhYmVsIEFsYW1hdCBFeHBvciBcdFx0IgorCisjOiBwZWlnZW4uYzoxNTAxIHBlcGlnZW4uYzoxNTAxIHBleDY0aWdlbi5jOjE1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHROYW1lIFBvaW50ZXIgVGFibGUgXHRcdCIKK21zZ3N0ciAiXHRUYWJlbCBOYW1hIFBvaW50ZXIgXHRcdCIKKworIzogcGVpZ2VuLmM6MTUwNiBwZXBpZ2VuLmM6MTUwNiBwZXg2NGlnZW4uYzoxNTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0T3JkaW5hbCBUYWJsZSBcdFx0XHQiCittc2dzdHIgIlx0VGFiZWwgT3JkaW5hbCBcdFx0XHQiCisKKyM6IHBlaWdlbi5jOjE1MjAgcGVwaWdlbi5jOjE1MjAgcGV4NjRpZ2VuLmM6MTUyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRXhwb3J0IEFkZHJlc3MgVGFibGUgLS0gT3JkaW5hbCBCYXNlICVsZFxuIgorbXNnc3RyICIiCisiXG4iCisiVGFiZWwgQWxhbWF0IEV4cG9yIC0tIE9yZGluYWwgQmFzZSAlbGRcbiIKKworIzogcGVpZ2VuLmM6MTUzOSBwZXBpZ2VuLmM6MTUzOSBwZXg2NGlnZW4uYzoxNTM5Cittc2dpZCAiRm9yd2FyZGVyIFJWQSIKK21zZ3N0ciAiRm9yd2FyZGVyIFJWQSIKKworIzogcGVpZ2VuLmM6MTU1MCBwZXBpZ2VuLmM6MTU1MCBwZXg2NGlnZW4uYzoxNTUwCittc2dpZCAiRXhwb3J0IFJWQSIKK21zZ3N0ciAiRXhwb3IgUlZBIgorCisjOiBwZWlnZW4uYzoxNTU3IHBlcGlnZW4uYzoxNTU3IHBleDY0aWdlbi5jOjE1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIltPcmRpbmFsL05hbWUgUG9pbnRlcl0gVGFibGVcbiIKK21zZ3N0ciAiIgorIlxuIgorIltPcmRpbmFsL05hbWEgUG9pbnRlcl0gVGFiZWxcbiIKKworIzogcGVpZ2VuLmM6MTYxNyBwZWlnZW4uYzoxNzk2IHBlcGlnZW4uYzoxNjE3IHBlcGlnZW4uYzoxNzk2IHBleDY0aWdlbi5jOjE2MTcKKyM6IHBleDY0aWdlbi5jOjE3OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZywgLnBkYXRhIHNlY3Rpb24gc2l6ZSAoJWxkKSBpcyBub3QgYSBtdWx0aXBsZSBvZiAlZFxuIgorbXNnc3RyICJQZXJpbmdhdGFuLCBiZXNhciAoJWxkKSBkYWVyYWggLnBkYXRhIHRpZGFrIGRhbGFtIGtlbGlwYXRhbiBkYXJpICVkXG4iCisKKyM6IHBlaWdlbi5jOjE2MjEgcGVpZ2VuLmM6MTgwMCBwZXBpZ2VuLmM6MTYyMSBwZXBpZ2VuLmM6MTgwMCBwZXg2NGlnZW4uYzoxNjIxCisjOiBwZXg2NGlnZW4uYzoxODAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgRnVuY3Rpb24gVGFibGUgKGludGVycHJldGVkIC5wZGF0YSBzZWN0aW9uIGNvbnRlbnRzKVxuIgorbXNnc3RyICIiCisiXG4iCisiVGFiZWwgRnVuZ3NpIChkaWludGVycHJldGFzaWthbiBpc2kgZGFlcmFoIC5wZGF0YSlcbiIKKworIzogcGVpZ2VuLmM6MTYyNCBwZXBpZ2VuLmM6MTYyNCBwZXg2NGlnZW4uYzoxNjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiB2bWE6XHRcdFx0QmVnaW4gQWRkcmVzcyAgICBFbmQgQWRkcmVzcyAgICAgIFVud2luZCBJbmZvXG4iCittc2dzdHIgIiB2bWE6XHRcdFx0QXdhbCAgQWxhbWF0ICAgICBBa2hpciBBbGFtYXQgICAgIFVud2luZCBJbmZvcm1hc2lcbiIKKworIzogcGVpZ2VuLmM6MTYyNiBwZXBpZ2VuLmM6MTYyNiBwZXg2NGlnZW4uYzoxNjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgdm1hOlx0XHRCZWdpbiAgICBFbmQgICAgICBFSCAgICAgICBFSCAgICAgICBQcm9sb2dFbmQgIEV4Y2VwdGlvblxuIgorIiAgICAgXHRcdEFkZHJlc3MgIEFkZHJlc3MgIEhhbmRsZXIgIERhdGEgICAgIEFkZHJlc3MgICAgTWFza1xuIgorbXNnc3RyICIiCisiIHZtYTpcdFx0QXdhbCAgICAgQWtoaXIgICAgRUggICAgICAgRUggICAgICAgUHJvbG9nRW5kICBFeGNlcHRpb25cbiIKKyIgICAgIFx0XHRBbGFtYXQgICBBbGFtYXQgICBIYW5kbGVyICBEYXRhICAgICBBbGFtYXQgICAgIFRvcGVuZ1xuIgorCisjOiBwZWlnZW4uYzoxNjk2IHBlcGlnZW4uYzoxNjk2IHBleDY0aWdlbi5jOjE2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFJlZ2lzdGVyIHNhdmUgbWlsbGljb2RlIgorbXNnc3RyICIgUmVnaXN0ZXIgc2ltcGFuIG1pbGxpY29kZSIKKworIzogcGVpZ2VuLmM6MTY5OSBwZXBpZ2VuLmM6MTY5OSBwZXg2NGlnZW4uYzoxNjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiBSZWdpc3RlciByZXN0b3JlIG1pbGxpY29kZSIKK21zZ3N0ciAiIFJlZ2lzdGVyIHJlc3RvcmUgbWlsbGljb2RlIgorCisjOiBwZWlnZW4uYzoxNzAyIHBlcGlnZW4uYzoxNzAyIHBleDY0aWdlbi5jOjE3MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIEdsdWUgY29kZSBzZXF1ZW5jZSIKK21zZ3N0ciAiIFVydXRhbiBrb2RlIHBlbmdpa2F0IgorCisjOiBwZWlnZW4uYzoxODAyIHBlcGlnZW4uYzoxODAyIHBleDY0aWdlbi5jOjE4MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiB2bWE6XHRcdEJlZ2luICAgIFByb2xvZyAgIEZ1bmN0aW9uIEZsYWdzICAgIEV4Y2VwdGlvbiBFSFxuIgorIiAgICAgXHRcdEFkZHJlc3MgIExlbmd0aCAgIExlbmd0aCAgIDMyYiBleGMgIEhhbmRsZXIgICBEYXRhXG4iCittc2dzdHIgIiIKKyIgdm1hOlx0XHRNdWxhaSAgICBQcm9sb2cgICBGdW5nc2kgICBGbGFncyAgICBFeGNlcHRpb24gRUhcbiIKKyIgICAgIFx0XHRBbGFtYXQgICBQYW5qYW5nICBQYW5qYW5nICAzMmIgZXhjICBIYW5kbGVyICAgRGF0YVxuIgorCisjOiBwZWlnZW4uYzoxOTMzIHBlcGlnZW4uYzoxOTMzIHBleDY0aWdlbi5jOjE5MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlxuIgorIlBFIEZpbGUgQmFzZSBSZWxvY2F0aW9ucyAoaW50ZXJwcmV0ZWQgLnJlbG9jIHNlY3Rpb24gY29udGVudHMpXG4iCittc2dzdHIgIiIKKyJcbiIKKyJcbiIKKyJCZXJrYXMgRGFzYXIgUmVsb2thc2kgUEUgKGRpaW50ZXJwcmV0YXNpa2FuIGlzaSBkYWVyYWggLnJlbG9jKVxuIgorCisjOiBwZWlnZW4uYzoxOTYzIHBlcGlnZW4uYzoxOTYzIHBleDY0aWdlbi5jOjE5NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlZpcnR1YWwgQWRkcmVzczogJTA4bHggQ2h1bmsgc2l6ZSAlbGQgKDB4JWx4KSBOdW1iZXIgb2YgZml4dXBzICVsZFxuIgorbXNnc3RyICIiCisiXG4iCisiQWxhbWF0IE1heWE6ICUwOGx4IEJlc2FyIHBvdG9uZ2FuICVsZCAoMHglbHgpIEp1bWxhaCBkYXJpIHBlcmJhaWthbiAlbGRcbiIKKworIzogcGVpZ2VuLmM6MTk3NiBwZXBpZ2VuLmM6MTk3NiBwZXg2NGlnZW4uYzoxOTc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0cmVsb2MgJTRkIG9mZnNldCAlNHggWyU0bHhdICVzIgorbXNnc3RyICJcdHJlbG9rYXNpICU0ZCBvZnNldCAlNHggWyU0bHhdICVzIgorCisjLiBUaGUgTVMgZHVtcGJpbiBwcm9ncmFtIHJlcG9ydGVkbHkgYW5kcyB3aXRoIDB4ZmYwZiBiZWZvcmUKKyMuIHByaW50aW5nIHRoZSBjaGFyYWN0ZXJpc3RpY3MgZmllbGQuICBOb3Qgc3VyZSB3aHkuICBObyByZWFzb24gdG8KKyMuIGVtdWxhdGUgaXQgaGVyZS4KKyM6IHBlaWdlbi5jOjIwMTUgcGVwaWdlbi5jOjIwMTUgcGV4NjRpZ2VuLmM6MjAxNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2hhcmFjdGVyaXN0aWNzIDB4JXhcbiIKK21zZ3N0ciAiIgorIlxuIgorIkthcmFrdGVyaXN0aWsgMHgleFxuIgorCisjOiBwZWlnZW4uYzoyMjg5IHBlcGlnZW4uYzoyMjg5IHBleDY0aWdlbi5jOjIyODkKK21zZ2lkICIlQjogdW5hYmxlIHRvIGZpbGwgaW4gRGF0YURpY3Rpb25hcnlbMV0gYmVjYXVzZSAuaWRhdGEkMiBpcyBtaXNzaW5nIgorbXNnc3RyICIlQjogdGlkYWsgZGFwYXQgbWVuZ2lzaSBkYWxhbSBEYXRhRGljdGlvbmFyeVsxXSBrYXJlbmEgLmlkYXRhJDIgaGlsYW5nIgorCisjOiBwZWlnZW4uYzoyMzA3IHBlcGlnZW4uYzoyMzA3IHBleDY0aWdlbi5jOjIzMDcKK21zZ2lkICIlQjogdW5hYmxlIHRvIGZpbGwgaW4gRGF0YURpY3Rpb25hcnlbMV0gYmVjYXVzZSAuaWRhdGEkNCBpcyBtaXNzaW5nIgorbXNnc3RyICIlQjogdGlkYWsgZGFwYXQgbWVuZ2lzaSBkYWxhbSBEYXRhRGljdGlvbmFyeVsxXSBrYXJlbmEgLmRhdGEkNCBoaWxhbmciCisKKyM6IHBlaWdlbi5jOjIzMjYgcGVwaWdlbi5jOjIzMjYgcGV4NjRpZ2VuLmM6MjMyNgorbXNnaWQgIiVCOiB1bmFibGUgdG8gZmlsbCBpbiBEYXRhRGljdGlvbmFyeVsxMl0gYmVjYXVzZSAuaWRhdGEkNSBpcyBtaXNzaW5nIgorbXNnc3RyICIlQjogdGlkYWsgZGFwYXQgbWVuZ2lzaSBkYWxhbSBEYXRhRGljdGlvbmFyeVsxMl0ga2FyZW5hIC5pZGF0YSQ1IGhpbGFuZyIKKworIzogcGVpZ2VuLmM6MjM0NCBwZXBpZ2VuLmM6MjM0NCBwZXg2NGlnZW4uYzoyMzQ0Cittc2dpZCAiJUI6IHVuYWJsZSB0byBmaWxsIGluIERhdGFEaWN0aW9uYXJ5W1BFX0lNUE9SVF9BRERSRVNTX1RBQkxFICgxMildIGJlY2F1c2UgLmlkYXRhJDYgaXMgbWlzc2luZyIKK21zZ3N0ciAiJUI6IHRpZGFrIGRhcGF0IG1lbmdpc2kgZGFsYW0gRGF0YURpY3Rpb25hcnlbUEVfSU1QT1JUX0FERFJFU1NfVEFCTEUgKDEyKV0ga2FyZW5hIC5pZGF0YSQ2IGhpbGFuZyIKKworIzogcGVpZ2VuLmM6MjM2NCBwZXBpZ2VuLmM6MjM2NCBwZXg2NGlnZW4uYzoyMzY0Cittc2dpZCAiJUI6IHVuYWJsZSB0byBmaWxsIGluIERhdGFEaWN0aW9uYXJ5WzldIGJlY2F1c2UgX190bHNfdXNlZCBpcyBtaXNzaW5nIgorbXNnc3RyICIlQjogdGlkYWsgZGFwYXQgbWVuZ2lzaSBkYWxhbSBEYXRhRGljdGlvbmFyeVs5XSBrYXJlbmEgX190bHNfdXNlZCBoaWxhbmciCmRpZmYgLS1naXQgYS9iZmQvcG8vdmkucG8gYi9iZmQvcG8vdmkucG8KaW5kZXggZjE5MWVkYi4uZTBmM2UxMiAxMDA2NDQKLS0tIGEvYmZkL3BvL3ZpLnBvCisrKyBiL2JmZC9wby92aS5wbwpAQCAtNiwxMCArNiwxMCBAQAogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogYmZkIDIuMTcuOTBcbiIKLSJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDctMDgtMDYgMTY6MjEtMDQwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDgtMDQtMjQgMTk6NTErMDkzMFxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogYmZkIDIuMTguOTBcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWJpbnV0aWxzQGdudS5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOC0wOS0wOSAxNTo1NiswOTMwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0wOS0yMyAyMjo1MSswOTMwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBDbHl0aWUgU2lkZGFsbCA8Y2x5dGllQHJpdmVybGFuZC5uZXQuYXU+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogVmlldG5hbWVzZSA8dmktVk5AZ29vZ2xlZ3JvdXBzLmNvbT5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgpAQCAtMzUsMTQyICszNSwxNDIgQEAKIG1zZ2lkICIlQjogQmFkIHJlbG9jYXRpb24gcmVjb3JkIGltcG9ydGVkOiAlZCIKIG1zZ3N0ciAiJUI6IMSQw6Mgbmjhuq1wIG3hu6VjIGdoaSDEkeG7i25oIHbhu4sgbOG6oWkgc2FpOiAlZCIKIAotIzogYW91dHguaDoxMjY4IGFvdXR4Lmg6MTYwMgorIzogYW91dHguaDoxMjY4IGFvdXR4Lmg6MTYwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2FuIG5vdCByZXByZXNlbnQgc2VjdGlvbiBgJXMnIGluIGEub3V0IG9iamVjdCBmaWxlIGZvcm1hdCIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyDEkeG6oWkgZGnhu4duIHBow6JuIMKrICVzIMK7IHRyb25nIMSR4buLbmggZOG6oW5nIHThuq1wIHRpbiDEkeG7kWkgdMaw4bujbmcgYS5vdXQiCiAKLSM6IGFvdXR4Lmg6MTU2OAorIzogYW91dHguaDoxNTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4gbm90IHJlcHJlc2VudCBzZWN0aW9uIGZvciBzeW1ib2wgYCVzJyBpbiBhLm91dCBvYmplY3QgZmlsZSBmb3JtYXQiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgxJHhuqFpIGRp4buHbiBwaMOibiBjaG8ga8O9IGhp4buHdSDCqyAlcyDCuyB0cm9uZyDEkeG7i25oIGThuqFuZyB04bqtcCB0aW4gxJHhu5FpIHTGsOG7o25nIGEub3UiCiAKLSM6IGFvdXR4Lmg6MTU3MAorIzogYW91dHguaDoxNTcyCiBtc2dpZCAiKnVua25vd24qIgogbXNnc3RyICLigKIga2jDtG5nIHLDtSDigKIiCiAKLSM6IGFvdXR4Lmg6Mzk4NyBhb3V0eC5oOjQzMTMKKyM6IGFvdXR4Lmg6Mzk4OSBhb3V0eC5oOjQzMTUKIG1zZ2lkICIlUDogJUI6IHVuZXhwZWN0ZWQgcmVsb2NhdGlvbiB0eXBlXG4iCiBtc2dzdHIgIiVQOiAlQjoga2nhu4N1IMSR4buLbmggduG7iyBs4bqhaSBi4bqldCB0aMaw4budbmdcbiIKIAotIzogYW91dHguaDo1MzQ3CisjOiBhb3V0eC5oOjUzNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlbG9jYXRhYmxlIGxpbmsgZnJvbSAlcyB0byAlcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICIlczoga2jDtG5nIGjhu5cgdHLhu6MgbGnDqm4ga+G6v3QgY8OzIGto4bqjIG7Eg25nIMSR4buLbmggduG7iyBs4bqhaSB04burICVzIHNhbmcgJXMiCiAKLSM6IGFyY2hpdmUuYzoxNzY2CisjOiBhcmNoaXZlLmM6MjA0NgogbXNnaWQgIldhcm5pbmc6IHdyaXRpbmcgYXJjaGl2ZSB3YXMgc2xvdzogcmV3cml0aW5nIHRpbWVzdGFtcFxuIgogbXNnc3RyICJD4bqjbmggYsOhbyA6IGdoaSBraG8gcXXDoSBjaOG6rW0gbsOqbiDEkWFuZyBnaGkgbOG6oWkgbmjDo24gdGjhu51pIGdpYW5cbiIKIAotIzogYXJjaGl2ZS5jOjIwMjkKKyM6IGFyY2hpdmUuYzoyMzA5CiBtc2dpZCAiUmVhZGluZyBhcmNoaXZlIGZpbGUgbW9kIHRpbWVzdGFtcCIKIG1zZ3N0ciAixJBhbmcgxJHhu41jIG5ow6NuIHRo4budaSBnaWFuIHPhu61hIMSR4buVaSB04bqtcCB0aW4ga2hvIgogCi0jOiBhcmNoaXZlLmM6MjA1MworIzogYXJjaGl2ZS5jOjIzMzMKIG1zZ2lkICJXcml0aW5nIHVwZGF0ZWQgYXJtYXAgdGltZXN0YW1wIgogbXNnc3RyICLEkGFuZyBnaGkgbmjDo24gdGjhu51pIGdpYW4gYXJtYXAgxJHDoyBj4bqtcCBuaOG6rXQiCiAKLSM6IGJmZC5jOjI4OQorIzogYmZkLmM6MzY4CiBtc2dpZCAiTm8gZXJyb3IiCiBtc2dzdHIgIktow7RuZyBjw7MgbOG7l2kiCiAKLSM6IGJmZC5jOjI5MAorIzogYmZkLmM6MzY5CiBtc2dpZCAiU3lzdGVtIGNhbGwgZXJyb3IiCiBtc2dzdHIgIkzhu5dpIGfhu41pIGjhu4cgdGjhu5FuZyIKIAotIzogYmZkLmM6MjkxCisjOiBiZmQuYzozNzAKIG1zZ2lkICJJbnZhbGlkIGJmZCB0YXJnZXQiCiBtc2dzdHIgIsSQw61jaCBiZmQga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGJmZC5jOjI5MgorIzogYmZkLmM6MzcxCiBtc2dpZCAiRmlsZSBpbiB3cm9uZyBmb3JtYXQiCiBtc2dzdHIgIlThuq1wIHRpbiBjw7MgxJHhu4tuaCBk4bqhbmcga2jDtG5nIMSRw7puZyIKIAotIzogYmZkLmM6MjkzCisjOiBiZmQuYzozNzIKIG1zZ2lkICJBcmNoaXZlIG9iamVjdCBmaWxlIGluIHdyb25nIGZvcm1hdCIKIG1zZ3N0ciAiVOG6rXAgdGluIMSR4buRaSB0xrDhu6NuZyBraG8gY8OzIMSR4buLbmggZOG6oW5nIGtow7RuZyDEkcO6bmciCiAKLSM6IGJmZC5jOjI5NAorIzogYmZkLmM6MzczCiBtc2dpZCAiSW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgIlRoYW8gdMOhYyBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogYmZkLmM6Mjk1CisjOiBiZmQuYzozNzQKIG1zZ2lkICJNZW1vcnkgZXhoYXVzdGVkIgogbXNnc3RyICJD4bqhbiBi4buZIG5o4bubIgogCi0jOiBiZmQuYzoyOTYKKyM6IGJmZC5jOjM3NQogbXNnaWQgIk5vIHN5bWJvbHMiCiBtc2dzdHIgIktow7RuZyBjw7Mga8O9IGhp4buHdSIKIAotIzogYmZkLmM6Mjk3CisjOiBiZmQuYzozNzYKIG1zZ2lkICJBcmNoaXZlIGhhcyBubyBpbmRleDsgcnVuIHJhbmxpYiB0byBhZGQgb25lIgogbXNnc3RyICJLaG8ga2jDtG5nIGPDsyBjaOG7iSBt4bulYzogaMOjeSBjaOG6oXkgcmFubGliIMSR4buDIHRow6ptIgogCi0jOiBiZmQuYzoyOTgKKyM6IGJmZC5jOjM3NwogbXNnaWQgIk5vIG1vcmUgYXJjaGl2ZWQgZmlsZXMiCiBtc2dzdHIgIktow7RuZyBjw7JuIGPDsyB04bqtcCB0aW4gxJHDoyBsxrB1IHRy4buvIG7DoG8gbuG7r2EiCiAKLSM6IGJmZC5jOjI5OQorIzogYmZkLmM6Mzc4CiBtc2dpZCAiTWFsZm9ybWVkIGFyY2hpdmUiCiBtc2dzdHIgIktobyBk4bqhbmcgc2FpIgogCi0jOiBiZmQuYzozMDAKKyM6IGJmZC5jOjM3OQogbXNnaWQgIkZpbGUgZm9ybWF0IG5vdCByZWNvZ25pemVkIgogbXNnc3RyICJLaMO0bmcgbmjhuq1uIHJhIMSR4buLbmggZOG6oW5nIHThuq1wIHRpbiIKIAotIzogYmZkLmM6MzAxCisjOiBiZmQuYzozODAKIG1zZ2lkICJGaWxlIGZvcm1hdCBpcyBhbWJpZ3VvdXMiCiBtc2dzdHIgIsSQ4buLbmggZOG6oW5nIHThuq1wIHRpbiBtxqEgaOG7kyIKIAotIzogYmZkLmM6MzAyCisjOiBiZmQuYzozODEKIG1zZ2lkICJTZWN0aW9uIGhhcyBubyBjb250ZW50cyIKIG1zZ3N0ciAiUGjhuqduIGtow7RuZyBjw7MgbuG7mWkgZHVuZyIKIAotIzogYmZkLmM6MzAzCisjOiBiZmQuYzozODIKIG1zZ2lkICJOb25yZXByZXNlbnRhYmxlIHNlY3Rpb24gb24gb3V0cHV0IgogbXNnc3RyICJL4bq/dCB4deG6pXQgY8OzIHBo4bqnbiBraMO0bmcgdGjhu4MgxJHhuqFpIGRp4buHbiDEkcaw4bujYyIKIAotIzogYmZkLmM6MzA0CisjOiBiZmQuYzozODMKIG1zZ2lkICJTeW1ib2wgbmVlZHMgZGVidWcgc2VjdGlvbiB3aGljaCBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiS8O9IGhp4buHdSBj4bqnbiBwaOG6p24gZ+G7oSBs4buXaSBtw6Aga2jDtG5nIHThu5NuIHThuqFpIgogCi0jOiBiZmQuYzozMDUKKyM6IGJmZC5jOjM4NAogbXNnaWQgIkJhZCB2YWx1ZSIKIG1zZ3N0ciAiR2nDoSB0cuG7iyBzYWkiCiAKLSM6IGJmZC5jOjMwNgorIzogYmZkLmM6Mzg1CiBtc2dpZCAiRmlsZSB0cnVuY2F0ZWQiCiBtc2dzdHIgIlThuq1wIHRpbiBi4buLIGPhuq90IG5n4bqvbiIKIAotIzogYmZkLmM6MzA3CisjOiBiZmQuYzozODYKIG1zZ2lkICJGaWxlIHRvbyBiaWciCiBtc2dzdHIgIlThuq1wIHRpbiBxdcOhIGzhu5tuIgogCi0jOiBiZmQuYzozMDgKKyM6IGJmZC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciByZWFkaW5nICVzOiAlcyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSR4buNYyAlczogJXMiCiAKLSM6IGJmZC5jOjMwOQorIzogYmZkLmM6Mzg4CiBtc2dpZCAiIzxJbnZhbGlkIGVycm9yIGNvZGU+IgogbXNnc3RyICIjPG3DoyBs4buXaSBraMO0bmcgaOG7o3AgbOG7hz4iCiAKLSM6IGJmZC5jOjgzMAorIzogYmZkLmM6OTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJGRCAlcyBhc3NlcnRpb24gZmFpbCAlczolZCIKIG1zZ3N0ciAiQkZEICVzIGto4bqvbmcgxJHhu4tuaCBi4buLIGzhu5dpICVzOiVkIgogCi0jOiBiZmQuYzo4NDIKKyM6IGJmZC5jOjkyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJCRkQgJXMgaW50ZXJuYWwgZXJyb3IsIGFib3J0aW5nIGF0ICVzIGxpbmUgJWQgaW4gJXNcbiIKIG1zZ3N0ciAiQkZEICVzIGzhu5dpIG7hu5lpIGLhu5kgbsOqbiBo4buneSBi4buPIHThuqFpICVzIGTDsm5nICVkIHRyb25nICVzXG4iCiAKLSM6IGJmZC5jOjg0NgorIzogYmZkLmM6OTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJGRCAlcyBpbnRlcm5hbCBlcnJvciwgYWJvcnRpbmcgYXQgJXMgbGluZSAlZFxuIgogbXNnc3RyICJCRkQgJXMgbOG7l2kgbuG7mWkgYuG7mSBuw6puIGjhu6d5IGLhu48gdOG6oWkgJXMgZMOybmcgJWRcbiIKIAotIzogYmZkLmM6ODQ4CisjOiBiZmQuYzo5MzAKIG1zZ2lkICJQbGVhc2UgcmVwb3J0IHRoaXMgYnVnLlxuIgogbXNnc3RyICJIw6N5IHRow7RuZyBiw6FvIGzhu5dpIG7DoHkuXG4iCiAKQEAgLTE4OSwxNCArMTg5LDEwIEBACiBtc2dpZCAiV2FybmluZzogV3JpdGluZyBzZWN0aW9uIGAlcycgdG8gaHVnZSAoaWUgbmVnYXRpdmUpIGZpbGUgb2Zmc2V0IDB4JWx4LiIKIG1zZ3N0ciAiQ+G6o25oIGLDoW8gOiDEkWFuZyBnaGkgcGjhuqduIMKrICVzIMK7IHbDoG8ga2hv4bqjbmcgYsO5IHThuq1wIHRpbiBy4bqldCBs4bubbiAodOG7qWMgbMOgIMOibSkgMHglbHguIgogCi0jOiBjYWNoZS5jOjIzOAorIzogY2FjaGUuYzoyMjIKIG1zZ2lkICJyZW9wZW5pbmcgJUI6ICVzXG4iCiBtc2dzdHIgIsSRYW5nIG3hu58gbOG6oWkgJUI6ICVzXG4iCiAKLSM6IGNvZmY2NC1yczYwMDAuYzoyMTI2IGNvZmYtcnM2MDAwLmM6MzYyNAotbXNnaWQgIiVCOiBzeW1ib2wgYCVzJyBoYXMgdW5yZWNvZ25pemVkIHNtY2xhcyAlZCIKLW1zZ3N0ciAiJUI6IGvDvSB04buxIMKrICVzIMK7IGPDsyBzbWNsYXMga2jDtG5nIG5o4bqtbiByYSAlZCIKLQogIzogY29mZi1hbHBoYS5jOjQ5MAogbXNnaWQgIiIKICIlQjogQ2Fubm90IGhhbmRsZSBjb21wcmVzc2VkIEFscGhhIGJpbmFyaWVzLlxuIgpAQCAtMjA5LDcgKzIwNSw3IEBACiBtc2dpZCAiJUI6IHVua25vd24vdW5zdXBwb3J0ZWQgcmVsb2NhdGlvbiB0eXBlICVkIgogbXNnc3RyICIlQjoga2nhu4N1IMSR4buLbmggduG7iyBs4bqhaSBraMO0bmcgcsO1IGhv4bq3YyBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyA6ICVkIgogCi0jOiBjb2ZmLWFscGhhLmM6ODk5IGNvZmYtYWxwaGEuYzo5MzYgY29mZi1hbHBoYS5jOjIwMjQgY29mZi1taXBzLmM6MTAwMgorIzogY29mZi1hbHBoYS5jOjg5OSBjb2ZmLWFscGhhLmM6OTM2IGNvZmYtYWxwaGEuYzoyMDI0IGNvZmYtbWlwcy5jOjEwMDMKIG1zZ2lkICJHUCByZWxhdGl2ZSByZWxvY2F0aW9uIHVzZWQgd2hlbiBHUCBub3QgZGVmaW5lZCIKIG1zZ3N0ciAiQ2jGsGEgeMOhYyDEkeG7i25oIEdQIHRow6wgc+G7rSBk4bulbmcgxJHhu4tuaCB24buLIGzhuqFpIHTGsMahbmcgxJHhu5FpIEdQIgogCkBAIC0yMjUsMjIgKzIyMSwyMiBAQAogbXNnaWQgIiVCOiB1bnN1cHBvcnRlZCByZWxvY2F0aW9uOiBBTFBIQV9SX0dQUkVMTE9XIgogbXNnc3RyICIlQjogxJHhu4tuaCB24buLIGzhuqFpIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIDogQUxQSEFfUl9HUFJFTExPVyIKIAotIzogY29mZi1hbHBoYS5jOjE1NzQgZWxmMzItbTMyci5jOjI0ODcgZWxmNjQtYWxwaGEuYzozOTUzIGVsZjY0LWFscGhhLmM6NDEwNgotIzogZWxmMzItaWE2NC5jOjQ2NzUgZWxmNjQtaWE2NC5jOjQ2NzUKKyM6IGNvZmYtYWxwaGEuYzoxNTc0IGVsZjMyLW0zMnIuYzoyNDg3IGVsZjY0LWFscGhhLmM6Mzk3MCBlbGY2NC1hbHBoYS5jOjQxMjUKKyM6IGVsZjMyLWlhNjQuYzo0NDY1IGVsZjY0LWlhNjQuYzo0NDY1CiBtc2dpZCAiJUI6IHVua25vd24gcmVsb2NhdGlvbiB0eXBlICVkIgogbXNnc3RyICIlQjoga2jDtG5nIHLDtSBraeG7g3UgxJHhu4tuaCB24buLIGzhuqFpICVkIgogCi0jOiBjb2ZmLWFybS5jOjEwMzYKKyM6IGNvZmYtYXJtLmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlQjogdW5hYmxlIHRvIGZpbmQgVEhVTUIgZ2x1ZSAnJXMnIGZvciBgJXMnIgogbXNnc3RyICIlQjoga2jDtG5nIHTDrG0gdGjhuqV5IGtlbyBo4buTIFRIVU1CIMKrICVzIMK7IGNobyDCqyAlcyDCuyIKIAotIzogY29mZi1hcm0uYzoxMDY1CisjOiBjb2ZmLWFybS5jOjEwNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJUI6IHVuYWJsZSB0byBmaW5kIEFSTSBnbHVlICclcycgZm9yIGAlcyciCiBtc2dzdHIgIiVCOiBraMO0bmcgdMOsbSB0aOG6pXkga2VvIGjhu5MgQVJNIMKrICVzIMK7IGNobyDCqyAlcyDCuyIKIAotIzogY29mZi1hcm0uYzoxMzY3IGVsZjMyLWFybS5jOjQxNjcKKyM6IGNvZmYtYXJtLmM6MTM3MCBlbGYzMi1hcm0uYzo1NDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlQiglcyk6IHdhcm5pbmc6IGludGVyd29ya2luZyBub3QgZW5hYmxlZC5cbiIKQEAgLTI0OSw3ICsyNDUsNyBAQAogIiVCKCVzKTogY+G6o25oIGLDoW8gOiBjaMawYSBi4bqtdCBkw7luZyDhuqNuaCBoxrDhu59uZyBs4bqrbiBuaGF1LlxuIgogIiAgbOG6p24geHXhuqV0IGhp4buHbiDEkeG6p3UgdGnDqm46ICVCOiBn4buNaSBhcm0gdOG7m2kgdGh1bWIiCiAKLSM6IGNvZmYtYXJtLmM6MTQ1NworIzogY29mZi1hcm0uYzoxNDYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlQiglcyk6IHdhcm5pbmc6IGludGVyd29ya2luZyBub3QgZW5hYmxlZC5cbiIKQEAgLTI2MCwxODggKzI1NiwxMTggQEAKICIgIGzhuqduIHh14bqldCBoaeG7h24gxJHhuqd1IHRpw6puOiAlQjogZ+G7jWkgdGh1bWIgdOG7m2kgYXJtXG4iCiAiICBjb2kgbmjGsCBsacOqbiBr4bq/dCBs4bqhaSB24bubaSDCqyAtLXN1cHBvcnQtb2xkLWNvZGUgwrsgxJHGsOG7o2MgYuG6rXQiCiAKLSM6IGNvZmYtYXJtLmM6MTc1MCBjb2ZmbGluay5jOjMwMTggY29mZi10aWM4MC5jOjY5NQorIzogY29mZi1hcm0uYzoxNzU1IGNvZmYtdGljODAuYzo2OTUgY29mZmxpbmsuYzozMDE4CiBtc2dpZCAiJUI6IGJhZCByZWxvYyBhZGRyZXNzIDB4JWx4IGluIHNlY3Rpb24gYCVBJyIKIG1zZ3N0ciAiJUI6IMSR4buLYSBjaOG7iSDEkeG7i25oIHbhu4sgbOG6oWkgc2FpIDB4JWx4IHRyb25nIHBo4bqnbiDCqyAlQSDCuyIKIAotIzogY29mZi1hcm0uYzoyMDc1CisjOiBjb2ZmLWFybS5jOjIwODAKIG1zZ2lkICIlQjogaWxsZWdhbCBzeW1ib2wgaW5kZXggaW4gcmVsb2M6ICVkIgogbXNnc3RyICIlQjogY2jhu4kgbeG7pWMga8O9IGhp4buHdSBj4bqlbSB0cm9uZyDEkeG7i25oIHbhu4sgbOG6oWk6ICVkIgogCi0jOiBjb2ZmLWFybS5jOjIyMDYKKyM6IGNvZmYtYXJtLmM6MjIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogJUIgaXMgY29tcGlsZWQgZm9yIEFQQ1MtJWQsIHdoZXJlYXMgJUIgaXMgY29tcGlsZWQgZm9yIEFQQ1MtJWQiCiBtc2dzdHIgIkzhu5ZJOiAlQiDEkcaw4bujYyBiacOqbiBk4buLY2ggY2hvIEFQQ1MtJWQsIGPDsm4gJUIgxJHGsOG7o2MgYmnDqm4gZOG7i2NoIGNobyBBUENTLSVkIgogCi0jOiBjb2ZmLWFybS5jOjIyMjIgZWxmMzItYXJtLmM6NzA3MgorIzogY29mZi1hcm0uYzoyMjI3IGVsZjMyLWFybS5jOjg1NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6ICVCIHBhc3NlcyBmbG9hdHMgaW4gZmxvYXQgcmVnaXN0ZXJzLCB3aGVyZWFzICVCIHBhc3NlcyB0aGVtIGluIGludGVnZXIgcmVnaXN0ZXJzIgogbXNnc3RyICJM4buWSTogJUIgZ+G7rWkgdHLDtGkgcXVhIHRyb25nIHRoYW5oIGdoaSB0csO0aSwgY8OybiAlQiBn4butaSBjaMO6bmcgcXVhIHRyb25nIHRoYW5oIGdoaSBz4buRIG5ndXnDqm4iCiAKLSM6IGNvZmYtYXJtLmM6MjIyNSBlbGYzMi1hcm0uYzo3MDc2CisjOiBjb2ZmLWFybS5jOjIyMzAgZWxmMzItYXJtLmM6ODU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogJUIgcGFzc2VzIGZsb2F0cyBpbiBpbnRlZ2VyIHJlZ2lzdGVycywgd2hlcmVhcyAlQiBwYXNzZXMgdGhlbSBpbiBmbG9hdCByZWdpc3RlcnMiCiBtc2dzdHIgIkzhu5ZJOiAlQiBn4butaSB0csO0aSBxdWEgdHJvbmcgdGhhbmggZ2hpIHPhu5Egbmd1ecOqbiwgY8OybiAlQiBn4butaSBjaMO6bmcgcXVhIHRyb25nIHRoYW5oIGdoaSB0csO0aSIKIAotIzogY29mZi1hcm0uYzoyMjM5CisjOiBjb2ZmLWFybS5jOjIyNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6ICVCIGlzIGNvbXBpbGVkIGFzIHBvc2l0aW9uIGluZGVwZW5kZW50IGNvZGUsIHdoZXJlYXMgdGFyZ2V0ICVCIGlzIGFic29sdXRlIHBvc2l0aW9uIgogbXNnc3RyICJM4buWSTogJUIgxJHGsOG7o2MgYmnDqm4gZOG7i2NoIG5oxrAgbcOjIGtow7RuZyBwaOG7pSB0aHXhu5ljIHbDoG8gduG7iyB0csOtLCBjw7JuICVCIGzDoCB24buLIHRyw60gdHV54buHdCDEkeG7kWkiCiAKLSM6IGNvZmYtYXJtLmM6MjI0MgorIzogY29mZi1hcm0uYzoyMjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiAlQiBpcyBjb21waWxlZCBhcyBhYnNvbHV0ZSBwb3NpdGlvbiBjb2RlLCB3aGVyZWFzIHRhcmdldCAlQiBpcyBwb3NpdGlvbiBpbmRlcGVuZGVudCIKIG1zZ3N0ciAiTOG7lkk6ICVCIMSRxrDhu6NjIGJpw6puIGThu4tjaCBuaMawIG3DoyB24buLIHRyw60gdHV54buHdCDEkeG7kWksIGPDsm4gJUIga2jDtG5nIHBo4bulIHRodeG7mWMgdsOgbyB24buLIHRyw60iCiAKLSM6IGNvZmYtYXJtLmM6MjI3MCBlbGYzMi1hcm0uYzo3MTQxCisjOiBjb2ZmLWFybS5jOjIyNzUgZWxmMzItYXJtLmM6ODYzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJXYXJuaW5nOiAlQiBzdXBwb3J0cyBpbnRlcndvcmtpbmcsIHdoZXJlYXMgJUIgZG9lcyBub3QiCiBtc2dzdHIgIkPhuqNuaCBiw6FvIDogJUIgaOG7lyB0cuG7oyDhuqNuaCBoxrDhu59uZyBs4bqrbiBuaGF1LCBjw7JuICVCIHRow6wga2jDtG5nIgogCi0jOiBjb2ZmLWFybS5jOjIyNzMgZWxmMzItYXJtLmM6NzE0NworIzogY29mZi1hcm0uYzoyMjc4IGVsZjMyLWFybS5jOjg2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2FybmluZzogJUIgZG9lcyBub3Qgc3VwcG9ydCBpbnRlcndvcmtpbmcsIHdoZXJlYXMgJUIgZG9lcyIKIG1zZ3N0ciAiQ+G6o25oIGLDoW8gOiAlQiBraMO0bmcgaOG7lyB0cuG7oyDhuqNuaCBoxrDhu59uZyBs4bqrbiBuaGF1LCBjw7JuICVCIHRow6wgY8OzIgogCi0jOiBjb2ZmLWFybS5jOjIyOTcKKyM6IGNvZmYtYXJtLmM6MjMwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcml2YXRlIGZsYWdzID0gJXg6IgogbXNnc3RyICJjw6FjIGPhu50gcmnDqm5nID0gJXg6IgogCi0jOiBjb2ZmLWFybS5jOjIzMDUgZWxmMzItYXJtLmM6NzE5OAorIzogY29mZi1hcm0uYzoyMzEwIGVsZjMyLWFybS5jOjg2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIFtmbG9hdHMgcGFzc2VkIGluIGZsb2F0IHJlZ2lzdGVyc10iCiBtc2dzdHIgIiBbY8OhYyB0csO0aSDEkcaw4bujYyBn4butaSBxdWEgdHJvbmcgdGhhbmggZ2hpIHRyw7RpXSIKIAotIzogY29mZi1hcm0uYzoyMzA3CisjOiBjb2ZmLWFybS5jOjIzMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIFtmbG9hdHMgcGFzc2VkIGluIGludGVnZXIgcmVnaXN0ZXJzXSIKIG1zZ3N0ciAiIFtjw6FjIHRyw7RpIMSRxrDhu6NjIGfhu61pIHF1YSB0cm9uZyB0aGFuaCBnaGkgc+G7kSBuZ3V5w6puXSIKIAotIzogY29mZi1hcm0uYzoyMzEwIGVsZjMyLWFybS5jOjcyMDEKKyM6IGNvZmYtYXJtLmM6MjMxNSBlbGYzMi1hcm0uYzo4NjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbcG9zaXRpb24gaW5kZXBlbmRlbnRdIgogbXNnc3RyICIgW2tow7RuZyBwaOG7pSB0aHXhu5ljIHbDoG8gduG7iyB0csOtXSIKIAotIzogY29mZi1hcm0uYzoyMzEyCisjOiBjb2ZmLWFybS5jOjIzMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIFthYnNvbHV0ZSBwb3NpdGlvbl0iCiBtc2dzdHIgIiBbduG7iyB0csOtIHR1eeG7h3QgxJHhu5FpXSIKIAotIzogY29mZi1hcm0uYzoyMzE2CisjOiBjb2ZmLWFybS5jOjIzMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIFtpbnRlcndvcmtpbmcgZmxhZyBub3QgaW5pdGlhbGlzZWRdIgogbXNnc3RyICIgW2NoxrBhIHPhu58ga2jhu59pIGPhu50g4bqjbmggaMaw4bufbmcgbOG6q24gbmhhdV0iCiAKLSM6IGNvZmYtYXJtLmM6MjMxOAorIzogY29mZi1hcm0uYzoyMzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbaW50ZXJ3b3JraW5nIHN1cHBvcnRlZF0iCiBtc2dzdHIgIiBbaOG7lyB0cuG7oyDhuqNuaCBoxrDhu59uZyBs4bqrbiBuaGF1XSIKIAotIzogY29mZi1hcm0uYzoyMzIwCisjOiBjb2ZmLWFybS5jOjIzMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIFtpbnRlcndvcmtpbmcgbm90IHN1cHBvcnRlZF0iCiBtc2dzdHIgIiBba2jDtG5nIGjhu5cgdHLhu6Mg4bqjbmggaMaw4bufbmcgbOG6q24gbmhhdV0iCiAKLSM6IGNvZmYtYXJtLmM6MjM2NiBlbGYzMi1hcm0uYzo2NTc4CisjOiBjb2ZmLWFybS5jOjIzNzEgZWxmMzItYXJtLmM6ODA1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJXYXJuaW5nOiBOb3Qgc2V0dGluZyBpbnRlcndvcmtpbmcgZmxhZyBvZiAlQiBzaW5jZSBpdCBoYXMgYWxyZWFkeSBiZWVuIHNwZWNpZmllZCBhcyBub24taW50ZXJ3b3JraW5nIgogbXNnc3RyICJD4bqjbmggYsOhbyA6IGtow7RuZyDEkWFuZyDEkeG6t3QgY+G7nSDhuqNuaCBoxrDhu59uZyBs4bqrbiBuaGF1IGPhu6dhICVCIHbDrCBuw7MgxJHDoyDEkcaw4bujYyB4w6FjIMSR4buLbmggbMOgIGtow7RuZyDhuqNuaCBoxrDhu59uZyBs4bqrbiBuaGF1IgogCi0jOiBjb2ZmLWFybS5jOjIzNzAgZWxmMzItYXJtLmM6NjU4MgorIzogY29mZi1hcm0uYzoyMzc1IGVsZjMyLWFybS5jOjgwNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2FybmluZzogQ2xlYXJpbmcgdGhlIGludGVyd29ya2luZyBmbGFnIG9mICVCIGR1ZSB0byBvdXRzaWRlIHJlcXVlc3QiCiBtc2dzdHIgIkPhuqNuaCBiw6FvIDogxJBhbmcgeG/DoSBj4budIOG6o25oIGjGsOG7n25nIGzhuqtuIG5oYXUgY+G7p2EgJUIgdGhlbyB5w6p1IGPhuqd1IGLDqm4gbmdvw6BpIgogCi0jOiBjb2ZmY29kZS5oOjg1MAotbXNnaWQgIiVCOiB3YXJuaW5nOiBDT01EQVQgc3ltYm9sICclcycgZG9lcyBub3QgbWF0Y2ggc2VjdGlvbiBuYW1lICclcyciCi1tc2dzdHIgIiVCOiBj4bqjbmggYsOhbyA6IGvDvSBoaeG7h3UgQ09NREFUIMKrICVzIMK7IGtow7RuZyB0xrDGoW5nIOG7qW5nIHbGoWkgdMOqbiBwaOG6p24gwqsgJXMgwrsiCi0KLSMuIEdlbmVyYXRlIGEgd2FybmluZyBtZXNzYWdlIHJhdGhlciB1c2luZyB0aGUgJ3VuaGFuZGxlZCcKLSMuIHZhcmlhYmxlIGFzIHRoaXMgd2lsbCBhbGxvdyBzb21lIC5zeXMgZmlsZXMgZ2VuZXJhdGUgYnkKLSMuIG90aGVyIHRvb2xjaGFpbnMgdG8gYmUgcHJvY2Vzc2VkLiAgU2VlIGJ1Z3ppbGxhIGlzc3VlIDE5Ni4KLSM6IGNvZmZjb2RlLmg6MTA2MgotbXNnaWQgIiVCOiBXYXJuaW5nOiBJZ25vcmluZyBzZWN0aW9uIGZsYWcgSU1BR0VfU0NOX01FTV9OT1RfUEFHRUQgaW4gc2VjdGlvbiAlcyIKLW1zZ3N0ciAiJUI6IEPhuqNuaCBiw6FvOiDEkGFuZyBs4budIMSRaSBj4budIGPhu6dhIHBo4bqnbiBJTUFHRV9TQ05fTUVNX05PVF9QQUdFRCB0cm9uZyBwaOG6p24gJXMiCi0KLSM6IGNvZmZjb2RlLmg6MTExNwotbXNnaWQgIiVCICglcyk6IFNlY3Rpb24gZmxhZyAlcyAoMHgleCkgaWdub3JlZCIKLW1zZ3N0ciAiJUIgKCVzKTogxJDDoyBs4budIMSRaSBj4budIGPhu6dhIHBo4bqnbiAlcyAoMHgleCkiCi0KLSM6IGNvZmZjb2RlLmg6MjIzNgotIywgYy1mb3JtYXQKLW1zZ2lkICJVbnJlY29nbml6ZWQgVEkgQ09GRiB0YXJnZXQgaWQgJzB4JXgnIgotbXNnc3RyICJLaMO0bmcgbmjhuq1uIHJhIG3DoyBz4buRIMSRw61jaCBUSSBDT0ZGIMKrIDB4JXggwrsiCi0KLSM6IGNvZmZjb2RlLmg6MjU1MQotbXNnaWQgIiVCOiByZWxvYyBhZ2FpbnN0IGEgbm9uLWV4aXN0YW50IHN5bWJvbCBpbmRleDogJWxkIgotbXNnc3RyICIlQjogxJHhu4tuaCB24buLIGzhuqFpIHNvIHbhu5tpIG3hu5l0IGNo4buJIG3hu6VjIGvDvSBoaeG7h3Uga2jDtG5nIHThu5NuIHThuqFpOiAlbGQiCi0KLSM6IGNvZmZjb2RlLmg6NDI5NgotbXNnaWQgIiVCOiB3YXJuaW5nOiBsaW5lIG51bWJlciB0YWJsZSByZWFkIGZhaWxlZCIKLW1zZ3N0ciAiJUI6IEPhuqNuaCBi4bqjbyA6IGzhu5dpIMSR4buNYyBi4bqjbmcgc+G7kSB0aOG7qSB04buxIGTDsm5nIgotCi0jOiBjb2ZmY29kZS5oOjQzMjkKLW1zZ2lkICIlQjogd2FybmluZzogaWxsZWdhbCBzeW1ib2wgaW5kZXggJWxkIGluIGxpbmUgbnVtYmVycyIKLW1zZ3N0ciAiJUI6IGPhuqNuaCBiw6FvIDogY2jhu4kgbeG7pWMga8O9IGhp4buHdSBj4bqlbSAlbGQgdHJvbmcgY8OhYyBz4buRIHRo4bupIHThu7EgZMOybmciCi0KLSM6IGNvZmZjb2RlLmg6NDM0MwotbXNnaWQgIiVCOiB3YXJuaW5nOiBkdXBsaWNhdGUgbGluZSBudW1iZXIgaW5mb3JtYXRpb24gZm9yIGAlcyciCi1tc2dzdHIgIiVCOiBj4bqjbmggYsOhbyA6IHRow7RuZyB0aW4gc+G7kSB0aOG7qSB04buxIGTDsm5nIHRyw7luZyDEkeG7kWkgduG7m2kgwqsgJXMgwrsiCi0KLSM6IGNvZmZjb2RlLmg6NDczNQotbXNnaWQgIiVCOiBVbnJlY29nbml6ZWQgc3RvcmFnZSBjbGFzcyAlZCBmb3IgJXMgc3ltYm9sIGAlcyciCi1tc2dzdHIgIiVCOiBLaMO0bmcgbmjhuq1uIHJhIGjhuqFuZyBsxrB1IHRy4buvICVkIGNobyBrw70gaGnhu4d1ICVzIMKrICVzIMK7IgotCi0jOiBjb2ZmY29kZS5oOjQ4NjEKLW1zZ2lkICJ3YXJuaW5nOiAlQjogbG9jYWwgc3ltYm9sIGAlcycgaGFzIG5vIHNlY3Rpb24iCi1tc2dzdHIgImPhuqNuaCBiw6FvIDogJUI6IGvDvSBoaeG7h3UgY+G7pWMgYuG7mSDCqyAlcyDCuyBraMO0bmcgY8OzIHBo4bqnbiDEkW/huqFuIgotCi0jOiBjb2ZmY29kZS5oOjQ5NjYgY29mZi1pODYwLmM6NjAxIGNvZmYtdGljNTR4LmM6MzkzCi1tc2dpZCAiJUI6IHdhcm5pbmc6IGlsbGVnYWwgc3ltYm9sIGluZGV4ICVsZCBpbiByZWxvY3MiCi1tc2dzdHIgIiVCOiBj4bqjbmggYsOhbyA6IGNo4buJIG3hu6VjIGvDvSBoaeG7h3UgY+G6pW0gJWxkIHRyb25nIMSR4buLbmggduG7iyBs4bqhaSIKLQotIzogY29mZmNvZGUuaDo1MDA0Ci1tc2dpZCAiJUI6IGlsbGVnYWwgcmVsb2NhdGlvbiB0eXBlICVkIGF0IGFkZHJlc3MgMHglbHgiCi1tc2dzdHIgIiVCOiBraeG7g3UgxJHhu4tuaCB24buLIGzhuqFpIGPhuqVtICVkIOG7nyDEkeG7i2EgY2jhu4kgMHglbHgiCi0KLSM6IGNvZmZnZW4uYzoxNTE4Ci1tc2dpZCAiJUI6IGJhZCBzdHJpbmcgdGFibGUgc2l6ZSAlbHUiCi1tc2dzdHIgIiVCOiBrw61jaCBj4buhIGLhuqNuZyBjaHXhu5dpIHNhaSAlbHUiCi0KICM6IGNvZmYtaDgzMDAuYzoxMTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBoYW5kbGUgUl9NRU1fSU5ESVJFQ1QgcmVsb2Mgd2hlbiB1c2luZyAlcyBvdXRwdXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB44butIGzDvSDEkeG7i25oIHbhu4sgbOG6oWkgUl9NRU1fSU5ESVJFQ1Qga2hpIHPhu60gZOG7pW5nIGvhur90IHh14bqldCAlcyIKIAotIzogY29mZi1pODYwLmM6MTQzCisjOiBjb2ZmLWk4NjAuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVsb2NhdGlvbiBgJXMnIG5vdCB5ZXQgaW1wbGVtZW50ZWRcbiIKIG1zZ3N0ciAiQ2jGsGEgdGjhu7FjIGhp4buHbiDEkeG7i25oIHbhu4sgbOG6oWkgwqsgJXMgwrtcbiIKIAotIzogY29mZi1pOTYwLmM6MTM4IGNvZmYtaTk2MC5jOjUwMQorIzogY29mZi1pODYwLmM6NjA1IGNvZmYtdGljNTR4LmM6Mzk4IGNvZmZjb2RlLmg6NDk3NQorbXNnaWQgIiVCOiB3YXJuaW5nOiBpbGxlZ2FsIHN5bWJvbCBpbmRleCAlbGQgaW4gcmVsb2NzIgorbXNnc3RyICIlQjogY+G6o25oIGLDoW8gOiBjaOG7iSBt4bulYyBrw70gaGnhu4d1IGPhuqVtICVsZCB0cm9uZyDEkeG7i25oIHbhu4sgbOG6oWkiCisKKyM6IGNvZmYtaTk2MC5jOjE0MyBjb2ZmLWk5NjAuYzo1MDYKIG1zZ2lkICJ1bmNlcnRhaW4gY2FsbGluZyBjb252ZW50aW9uIGZvciBub24tQ09GRiBzeW1ib2wiCiBtc2dzdHIgInF1eSDGsOG7m2MgZ+G7jWkga2jDtG5nIGNo4bqvYyBjaOG6r24gY2hvIGvDvSBoaeG7h3Uga2jDoWMgQ09GRiIKIAotIzogY29mZmxpbmsuYzo1MTMgZWxmbGluay5jOjQxNzUKLW1zZ2lkICJXYXJuaW5nOiB0eXBlIG9mIHN5bWJvbCBgJXMnIGNoYW5nZWQgZnJvbSAlZCB0byAlZCBpbiAlQiIKLW1zZ3N0ciAiQ+G6o25oIGLDoW8gOiBraeG7g3Uga8O9IGhp4buHdSDCqyAlcyDCuyBi4buLIHRoYXkgxJHhu5VpIHThu6sgJWQgdGjDoG5oICVkIHRyb25nICVCIgotCi0jOiBjb2ZmbGluay5jOjIyOTYKLW1zZ2lkICIlQjogcmVsb2NzIGluIHNlY3Rpb24gYCVBJywgYnV0IGl0IGhhcyBubyBjb250ZW50cyIKLW1zZ3N0ciAiJUI6IMSR4buLbmggduG7iyBs4bqhaSB0cm9uZyBwaOG6p24gwqsgJUEgwrssIG5oxrBuZyBuw7Mga2jDtG5nIGPDsyBu4buZaSBkdW5nIgotCi0jOiBjb2ZmbGluay5jOjI2MjcgY29mZnN3YXAuaDo4MjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6ICVzOiByZWxvYyBvdmVyZmxvdzogMHglbHggPiAweGZmZmYiCi1tc2dzdHIgIiVzOiAlczogdHLDoG4gxJHhu4tuaCB24buLIGzhuqFpOiAweCVseCA+IDB4ZmZmZiIKLQotIzogY29mZmxpbmsuYzoyNjM2IGNvZmZzd2FwLmg6ODEwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiB3YXJuaW5nOiAlczogbGluZSBudW1iZXIgb3ZlcmZsb3c6IDB4JWx4ID4gMHhmZmZmIgotbXNnc3RyICIlczogY+G6o25oIGLDoW8gOiAlczogdHLDoG4gc+G7kSB0aOG7qSB04buxIGTDsm5nOiAweCVseCA+IDB4ZmZmZiIKLQotIzogY29mZi1tNjhrLmM6NTA2IGVsZjMyLWJmaW4uYzo1NDM0IGVsZjMyLW02OGsuYzoyMzkzCisjOiBjb2ZmLW02OGsuYzo1MDYgZWxmMzItYmZpbi5jOjU1MTAgZWxmMzItbTY4ay5jOjM5MzgKIG1zZ2lkICJ1bnN1cHBvcnRlZCByZWxvYyB0eXBlIgogbXNnc3RyICJraeG7g3UgxJHhu4tuaCB24buLIGzhuqFpIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIgogCkBAIC00NjUsMzEgKzM5MSwzNSBAQAogbXNnaWQgIlVucmVjb2duaXplZCBSZWxvYyBUeXBlIgogbXNnc3RyICJLaeG7g3UgxJHhu4tuaCB24buLIGzhuqFpIGtow7RuZyDEkcaw4bujYyBuaOG6rW4gcmEiCiAKLSM6IGNvZmYtbWlwcy5jOjY4NyBlbGYzMi1taXBzLmM6OTU4IGVsZjMyLXNjb3JlLmM6MzQ1IGVsZjY0LW1pcHMuYzoxOTExCi0jOiBlbGZuMzItbWlwcy5jOjE3NTIKKyM6IGNvZmYtbWlwcy5jOjY4OCBlbGYzMi1taXBzLmM6MTAxNCBlbGYzMi1zY29yZS5jOjM0NSBlbGY2NC1taXBzLmM6MTk5MQorIzogZWxmbjMyLW1pcHMuYzoxODMyCiBtc2dpZCAiR1AgcmVsYXRpdmUgcmVsb2NhdGlvbiB3aGVuIF9ncCBub3QgZGVmaW5lZCIKIG1zZ3N0ciAiQ8OzIMSR4buLbmggduG7iyBs4bqhaSB0xrDGoW5nIMSR4buRaSBHUCBraGkgY2jGsGEgeMOhYyDEkeG7i25oIF9ncCIKIAotIzogY29mZi1vcjMyLmM6MjI4CisjOiBjb2ZmLW9yMzIuYzoyMjkKIG1zZ2lkICJVbnJlY29nbml6ZWQgcmVsb2MiCiBtc2dzdHIgIsSQ4buLbmggduG7iyBs4bqhaSBraMO0bmcgxJHGsOG7o2Mgbmjhuq1uIHJhIgogCi0jOiBjb2ZmLXJzNjAwMC5jOjI3OTkKKyM6IGNvZmYtcnM2MDAwLmM6MjgwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5zdXBwb3J0ZWQgcmVsb2NhdGlvbiB0eXBlIDB4JTAyeCIKIG1zZ3N0ciAiJXM6IGtp4buDdSDEkeG7i25oIHbhu4sgbOG6oWkga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgMHglMDJ4IgogCi0jOiBjb2ZmLXJzNjAwMC5jOjI4OTIKKyM6IGNvZmYtcnM2MDAwLmM6Mjg5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVE9DIHJlbG9jIGF0IDB4JXggdG8gc3ltYm9sIGAlcycgd2l0aCBubyBUT0MgZW50cnkiCiBtc2dzdHIgIiVzOiDEkeG7i25oIHbhu4sgbOG6oWkgVE9DIHThuqFpIDB4JXggdOG7m2kga8O9IGhp4buHdSDCqyAlcyDCuyBraMO0bmcgY8OzIG3hu6VjIG5o4bqtcCBUT0MiCiAKLSM6IGNvZmYtdGljNHguYzoxOTEgY29mZi10aWM1NHguYzoyOTkgY29mZi10aWM4MC5jOjQ1OAorIzogY29mZi1yczYwMDAuYzozNjI4IGNvZmY2NC1yczYwMDAuYzoyMTMwCittc2dpZCAiJUI6IHN5bWJvbCBgJXMnIGhhcyB1bnJlY29nbml6ZWQgc21jbGFzICVkIgorbXNnc3RyICIlQjoga8O9IHThu7EgwqsgJXMgwrsgY8OzIHNtY2xhcyBraMO0bmcgbmjhuq1uIHJhICVkIgorCisjOiBjb2ZmLXRpYzR4LmM6MTk1IGNvZmYtdGljNTR4LmM6Mjk5IGNvZmYtdGljODAuYzo0NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5yZWNvZ25pemVkIHJlbG9jIHR5cGUgMHgleCIKIG1zZ3N0ciAiS2jDtG5nIG5o4bqtbiByYSBraeG7g3UgxJHhu4tuaCB24buLIGzhuqFpIDB4JXgiCiAKLSM6IGNvZmYtdGljNHguYzoyMzYKKyM6IGNvZmYtdGljNHguYzoyNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHdhcm5pbmc6IGlsbGVnYWwgc3ltYm9sIGluZGV4ICVsZCBpbiByZWxvY3MiCiBtc2dzdHIgIiVzOiBj4bqjbmggYsOhbyA6IGNo4buJIG3hu6VjIGvDvSBoaeG7h3UgY+G6pW0gJWxkIHRyb25nIGPDoWMgxJHhu4tuaCB24buLIGzhuqFpIgpAQCAtNDk5LDYgKzQyOSw3NiBAQAogbXNnaWQgImlnbm9yaW5nIHJlbG9jICVzXG4iCiBtc2dzdHIgIsSQYW5nIGzhu50gxJFpIMSR4buLbmggduG7iyBs4bqhaSAlc1xuIgogCisjOiBjb2ZmY29kZS5oOjg1MAorbXNnaWQgIiVCOiB3YXJuaW5nOiBDT01EQVQgc3ltYm9sICclcycgZG9lcyBub3QgbWF0Y2ggc2VjdGlvbiBuYW1lICclcyciCittc2dzdHIgIiVCOiBj4bqjbmggYsOhbyA6IGvDvSBoaeG7h3UgQ09NREFUIMKrICVzIMK7IGtow7RuZyB0xrDGoW5nIOG7qW5nIHbGoWkgdMOqbiBwaOG6p24gwqsgJXMgwrsiCisKKyMuIEdlbmVyYXRlIGEgd2FybmluZyBtZXNzYWdlIHJhdGhlciB1c2luZyB0aGUgJ3VuaGFuZGxlZCcKKyMuIHZhcmlhYmxlIGFzIHRoaXMgd2lsbCBhbGxvdyBzb21lIC5zeXMgZmlsZXMgZ2VuZXJhdGUgYnkKKyMuIG90aGVyIHRvb2xjaGFpbnMgdG8gYmUgcHJvY2Vzc2VkLiAgU2VlIGJ1Z3ppbGxhIGlzc3VlIDE5Ni4KKyM6IGNvZmZjb2RlLmg6MTA2MgorbXNnaWQgIiVCOiBXYXJuaW5nOiBJZ25vcmluZyBzZWN0aW9uIGZsYWcgSU1BR0VfU0NOX01FTV9OT1RfUEFHRUQgaW4gc2VjdGlvbiAlcyIKK21zZ3N0ciAiJUI6IEPhuqNuaCBiw6FvOiDEkGFuZyBs4budIMSRaSBj4budIGPhu6dhIHBo4bqnbiBJTUFHRV9TQ05fTUVNX05PVF9QQUdFRCB0cm9uZyBwaOG6p24gJXMiCisKKyM6IGNvZmZjb2RlLmg6MTExNworbXNnaWQgIiVCICglcyk6IFNlY3Rpb24gZmxhZyAlcyAoMHgleCkgaWdub3JlZCIKK21zZ3N0ciAiJUIgKCVzKTogxJDDoyBs4budIMSRaSBj4budIGPhu6dhIHBo4bqnbiAlcyAoMHgleCkiCisKKyM6IGNvZmZjb2RlLmg6MjI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnJlY29nbml6ZWQgVEkgQ09GRiB0YXJnZXQgaWQgJzB4JXgnIgorbXNnc3RyICJLaMO0bmcgbmjhuq1uIHJhIG3DoyBz4buRIMSRw61jaCBUSSBDT0ZGIMKrIDB4JXggwrsiCisKKyM6IGNvZmZjb2RlLmg6MjU1OQorbXNnaWQgIiVCOiByZWxvYyBhZ2FpbnN0IGEgbm9uLWV4aXN0YW50IHN5bWJvbCBpbmRleDogJWxkIgorbXNnc3RyICIlQjogxJHhu4tuaCB24buLIGzhuqFpIHNvIHbhu5tpIG3hu5l0IGNo4buJIG3hu6VjIGvDvSBoaeG7h3Uga2jDtG5nIHThu5NuIHThuqFpOiAlbGQiCisKKyM6IGNvZmZjb2RlLmg6NDMwOQorbXNnaWQgIiVCOiB3YXJuaW5nOiBsaW5lIG51bWJlciB0YWJsZSByZWFkIGZhaWxlZCIKK21zZ3N0ciAiJUI6IEPhuqNuaCBi4bqjbyA6IGzhu5dpIMSR4buNYyBi4bqjbmcgc+G7kSB0aOG7qSB04buxIGTDsm5nIgorCisjOiBjb2ZmY29kZS5oOjQzMzkKK21zZ2lkICIlQjogd2FybmluZzogaWxsZWdhbCBzeW1ib2wgaW5kZXggJWxkIGluIGxpbmUgbnVtYmVycyIKK21zZ3N0ciAiJUI6IGPhuqNuaCBiw6FvIDogY2jhu4kgbeG7pWMga8O9IGhp4buHdSBj4bqlbSAlbGQgdHJvbmcgY8OhYyBz4buRIHRo4bupIHThu7EgZMOybmciCisKKyM6IGNvZmZjb2RlLmg6NDM1MworbXNnaWQgIiVCOiB3YXJuaW5nOiBkdXBsaWNhdGUgbGluZSBudW1iZXIgaW5mb3JtYXRpb24gZm9yIGAlcyciCittc2dzdHIgIiVCOiBj4bqjbmggYsOhbyA6IHRow7RuZyB0aW4gc+G7kSB0aOG7qSB04buxIGTDsm5nIHRyw7luZyDEkeG7kWkgduG7m2kgwqsgJXMgwrsiCisKKyM6IGNvZmZjb2RlLmg6NDc0NAorbXNnaWQgIiVCOiBVbnJlY29nbml6ZWQgc3RvcmFnZSBjbGFzcyAlZCBmb3IgJXMgc3ltYm9sIGAlcyciCittc2dzdHIgIiVCOiBLaMO0bmcgbmjhuq1uIHJhIGjhuqFuZyBsxrB1IHRy4buvICVkIGNobyBrw70gaGnhu4d1ICVzIMKrICVzIMK7IgorCisjOiBjb2ZmY29kZS5oOjQ4NzAKK21zZ2lkICJ3YXJuaW5nOiAlQjogbG9jYWwgc3ltYm9sIGAlcycgaGFzIG5vIHNlY3Rpb24iCittc2dzdHIgImPhuqNuaCBiw6FvIDogJUI6IGvDvSBoaeG7h3UgY+G7pWMgYuG7mSDCqyAlcyDCuyBraMO0bmcgY8OzIHBo4bqnbiDEkW/huqFuIgorCisjOiBjb2ZmY29kZS5oOjUwMTMKK21zZ2lkICIlQjogaWxsZWdhbCByZWxvY2F0aW9uIHR5cGUgJWQgYXQgYWRkcmVzcyAweCVseCIKK21zZ3N0ciAiJUI6IGtp4buDdSDEkeG7i25oIHbhu4sgbOG6oWkgY+G6pW0gJWQg4bufIMSR4buLYSBjaOG7iSAweCVseCIKKworIzogY29mZmdlbi5jOjE1MTgKK21zZ2lkICIlQjogYmFkIHN0cmluZyB0YWJsZSBzaXplICVsdSIKK21zZ3N0ciAiJUI6IGvDrWNoIGPhu6EgYuG6o25nIGNodeG7l2kgc2FpICVsdSIKKworIzogY29mZmxpbmsuYzo1MTMgZWxmbGluay5jOjQyMTgKK21zZ2lkICJXYXJuaW5nOiB0eXBlIG9mIHN5bWJvbCBgJXMnIGNoYW5nZWQgZnJvbSAlZCB0byAlZCBpbiAlQiIKK21zZ3N0ciAiQ+G6o25oIGLDoW8gOiBraeG7g3Uga8O9IGhp4buHdSDCqyAlcyDCuyBi4buLIHRoYXkgxJHhu5VpIHThu6sgJWQgdGjDoG5oICVkIHRyb25nICVCIgorCisjOiBjb2ZmbGluay5jOjIyOTYKK21zZ2lkICIlQjogcmVsb2NzIGluIHNlY3Rpb24gYCVBJywgYnV0IGl0IGhhcyBubyBjb250ZW50cyIKK21zZ3N0ciAiJUI6IMSR4buLbmggduG7iyBs4bqhaSB0cm9uZyBwaOG6p24gwqsgJUEgwrssIG5oxrBuZyBuw7Mga2jDtG5nIGPDsyBu4buZaSBkdW5nIgorCisjOiBjb2ZmbGluay5jOjI2MjcgY29mZnN3YXAuaDo4MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiByZWxvYyBvdmVyZmxvdzogMHglbHggPiAweGZmZmYiCittc2dzdHIgIiVzOiAlczogdHLDoG4gxJHhu4tuaCB24buLIGzhuqFpOiAweCVseCA+IDB4ZmZmZiIKKworIzogY29mZmxpbmsuYzoyNjM2IGNvZmZzd2FwLmg6ODEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiAlczogbGluZSBudW1iZXIgb3ZlcmZsb3c6IDB4JWx4ID4gMHhmZmZmIgorbXNnc3RyICIlczogY+G6o25oIGLDoW8gOiAlczogdHLDoG4gc+G7kSB0aOG7qSB04buxIGTDsm5nOiAweCVseCA+IDB4ZmZmZiIKKwogIzogY3B1LWFybS5jOjE4OSBjcHUtYXJtLmM6MjAwCiBtc2dpZCAiRVJST1I6ICVCIGlzIGNvbXBpbGVkIGZvciB0aGUgRVA5MzEyLCB3aGVyZWFzICVCIGlzIGNvbXBpbGVkIGZvciBYU2NhbGUiCiBtc2dzdHIgIkzhu5ZJOiAlQiDEkcaw4bujYyBiacOqbiBk4buLY2ggY2hvIEVQOTMxMiwgY8OybiAlQiDEkcaw4bujYyBiacOqbiBk4buLY2ggY2hvIFhTY2FsZSIKQEAgLTUwOCw2NiArNTA4LDUwIEBACiBtc2dpZCAid2FybmluZzogdW5hYmxlIHRvIHVwZGF0ZSBjb250ZW50cyBvZiAlcyBzZWN0aW9uIGluICVzIgogbXNnc3RyICJj4bqjbmggYsOhbyA6IGtow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgbuG7mWkgZHVuZyBj4bunYSBwaOG6p24gJXMgdHJvbmcgJXMiCiAKLSM6IGR3YXJmMi5jOjQ4MQotbXNnaWQgIkR3YXJmIEVycm9yOiBDYW4ndCBmaW5kIC5kZWJ1Z19zdHIgc2VjdGlvbi4iCi1tc2dzdHIgIkzhu5dpIER3YXJmOiBLaMO0bmcgdMOsbSB0aOG6pXkgcGjhuqduIMKrIC5kZWJ1Z19zdHIgwrsiCi0KLSM6IGR3YXJmMi5jOjQ5OQorIzogZHdhcmYyLmM6NDI0CiAjLCBjLWZvcm1hdAotbXNnaWQgIkR3YXJmIEVycm9yOiBEV19GT1JNX3N0cnAgb2Zmc2V0ICglbHUpIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAuZGVidWdfc3RyIHNpemUgKCVsdSkuIgotbXNnc3RyICJM4buXaSBEd2FyZjoga2hv4bqjbmcgYsO5IERXX0ZPUk1fc3RycCAoJWx1KSBs4bubbiBoxqFuIGhv4bq3YyBi4bqxbmcga8OtY2ggY+G7oSDCqyAuZGVidWdfc3RyIMK7ICglbHUpLiIKK21zZ2lkICJEd2FyZiBFcnJvcjogQ2FuJ3QgZmluZCAlcyBzZWN0aW9uLiIKK21zZ3N0ciAiTOG7l2kgRHdhcmY6IGtow7RuZyB0w6xtIHRo4bqleSBwaOG6p24gJXMuIgogCi0jOiBkd2FyZjIuYzo1OTIKLW1zZ2lkICJEd2FyZiBFcnJvcjogQ2FuJ3QgZmluZCAuZGVidWdfYWJicmV2IHNlY3Rpb24uIgotbXNnc3RyICJM4buXaSBEd2FyZjogS2jDtG5nIHTDrG0gdGjhuqV5IHBo4bqnbiDCqyAuZGVidWdfYWJicmV2IMK7LiIKLQotIzogZHdhcmYyLmM6NjA3CisjOiBkd2FyZjIuYzo0NTIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRHdhcmYgRXJyb3I6IEFiYnJldiBvZmZzZXQgKCVsdSkgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIC5kZWJ1Z19hYmJyZXYgc2l6ZSAoJWx1KS4iCi1tc2dzdHIgIkzhu5dpIER3YXJmOiBraG/huqNuZyBiw7kgQWJicmV2ICglbHUpIGzhu5tuIGjGoW4gaG/hurdjIGLhurFuZyBrw61jaCBj4buhIMKrIC5kZWJ1Z19hYmJyZXYgwrsgKCVsdSkuIgorbXNnaWQgIkR3YXJmIEVycm9yOiB1bmFibGUgdG8gZGVjb21wcmVzcyAlcyBzZWN0aW9uLiIKK21zZ3N0ciAiTOG7l2kgRHdhcmY6IGtow7RuZyB0aOG7gyBnaeG6o2kgbsOpbiBwaOG6p24gJXMuIgogCi0jOiBkd2FyZjIuYzo4MjIKKyM6IGR3YXJmMi5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICJEd2FyZiBFcnJvcjogT2Zmc2V0ICglbHUpIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBzaXplICglbHUpLiIKK21zZ3N0ciAiTOG7l2kgRHdhcmY6IEtob+G6o25nIGLDuSBkw7JuZyAoJWx1KSBs4bubbiBoxqFuIGhv4bq3YyBi4bqxbmcga8OtY2ggY+G7oSAlcyAoJWx1KS4iCisKKyM6IGR3YXJmMi5jOjg0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJEd2FyZiBFcnJvcjogSW52YWxpZCBvciB1bmhhbmRsZWQgRk9STSB2YWx1ZTogJXUuIgogbXNnc3RyICJM4buXaSBEd2FyZjogR2nDoSB0cuG7iyBGT1JNIHNhaSBob+G6t2MgY2jGsGEgxJHGsOG7o2MgeOG7rSBsw706ICV1LiIKIAotIzogZHdhcmYyLmM6MTAyNQorIzogZHdhcmYyLmM6MTA2MwogbXNnaWQgIkR3YXJmIEVycm9yOiBtYW5nbGVkIGxpbmUgbnVtYmVyIHNlY3Rpb24gKGJhZCBmaWxlIG51bWJlcikuIgogbXNnc3RyICJM4buXaSBEd2FyZjogcGjhuqduIHPhu5EgdGjhu6kgdOG7sSBkw7JuZyDEkcOjIHLhu5FpIChz4buRIHRo4bupIHThu7EgdOG6rXAgdGluIHNhaSkuIgogCi0jOiBkd2FyZjIuYzoxMTM3Ci1tc2dpZCAiRHdhcmYgRXJyb3I6IENhbid0IGZpbmQgLmRlYnVnX2xpbmUgc2VjdGlvbi4iCi1tc2dzdHIgIkzhu5dpIER3YXJmOiBLaMO0bmcgdMOsbSB0aOG6pXkgcGjhuqduIMKrIC5kZWJ1Z19saW5lIMK7LiIKLQotIzogZHdhcmYyLmM6MTE1NAotIywgYy1mb3JtYXQKLW1zZ2lkICJEd2FyZiBFcnJvcjogTGluZSBvZmZzZXQgKCVsdSkgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIC5kZWJ1Z19saW5lIHNpemUgKCVsdSkuIgotbXNnc3RyICJM4buXaSBEd2FyZjogS2hv4bqjbmcgYsO5IGTDsm5nICglbHUpIGzhu5tuIGjGoW4gaG/hurdjIGLhurFuZyBrw61jaCBj4buhIMKrIC5kZWJ1Z19saW5lIMK7ICglbHUpLiIKLQotIzogZHdhcmYyLmM6MTM4MAorIzogZHdhcmYyLmM6MTM5MwogbXNnaWQgIkR3YXJmIEVycm9yOiBtYW5nbGVkIGxpbmUgbnVtYmVyIHNlY3Rpb24uIgogbXNnc3RyICJM4buXaSBEd2FyZjogcGjhuqduIHPhu5EgdGjhu6kgdOG7sSBkw7JuZyDEkcOjIHLhu5FpLiIKIAotIzogZHdhcmYyLmM6MTU2OAotbXNnaWQgIkR3YXJmIEVycm9yOiBDYW4ndCBmaW5kIC5kZWJ1Z19yYW5nZXMgc2VjdGlvbi4iCi1tc2dzdHIgIkzhu5dpIER3YXJmOiBLaMO0bmcgdMOsbSB0aOG6pXkgcGjhuqduIMKrIGRlYnVnX3JhbmdlcyDCuy4iCi0KLSM6IGR3YXJmMi5jOjE3MzEgZHdhcmYyLmM6MTg0NyBkd2FyZjIuYzoyMTE5CisjOiBkd2FyZjIuYzoxNzI2IGR3YXJmMi5jOjE4NDIgZHdhcmYyLmM6MjExNAogIywgYy1mb3JtYXQKIG1zZ2lkICJEd2FyZiBFcnJvcjogQ291bGQgbm90IGZpbmQgYWJicmV2IG51bWJlciAldS4iCiBtc2dzdHIgIkzhu5dpIER3YXJmOiBLaMO0bmcgdMOsbSB0aOG6pXkgc+G7kSB2aeG6v3QgdOG6r3QgJXUuIgogCi0jOiBkd2FyZjIuYzoyMDgwCisjOiBkd2FyZjIuYzoyMDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkR3YXJmIEVycm9yOiBmb3VuZCBkd2FyZiB2ZXJzaW9uICcldScsIHRoaXMgcmVhZGVyIG9ubHkgaGFuZGxlcyB2ZXJzaW9uIDIgaW5mb3JtYXRpb24uIgogbXNnc3RyICJM4buXaSBEd2FyZjogdMOsbSB0aOG6pXkgZHdhcmYgcGhpw6puIGLhuqNuIMKrICV1IMK7LCBuaMawbmcgdHLDrG5oIMSR4buNYyBuw6B5IGNo4buJIMSRaeG7gXUga2hp4buDbiB0aMO0bmcgdGluIGPhu6dhIHBoacOqbiBi4bqjbiAyLiIKIAotIzogZHdhcmYyLmM6MjA4NworIzogZHdhcmYyLmM6MjA4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJEd2FyZiBFcnJvcjogZm91bmQgYWRkcmVzcyBzaXplICcldScsIHRoaXMgcmVhZGVyIGNhbiBub3QgaGFuZGxlIHNpemVzIGdyZWF0ZXIgdGhhbiAnJXUnLiIKIG1zZ3N0ciAiTOG7l2kgRHdhcmY6IHTDrG0gdGjhuqV5IGvDrWNoIGPhu6EgxJHhu4thIGNo4buJIMKrICV1IMK7LCBuaMawbmcgdHLDrG5oIMSR4buNYyBuw6B5IGtow7RuZyDEkWnhu4F1IGtoaeG7g24gxJHGsOG7o2Mga8OtY2ggY+G7oSBs4bubbiBoxqFuIMKrICV1IMK7LiIKIAotIzogZHdhcmYyLmM6MjExMAorIzogZHdhcmYyLmM6MjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJEd2FyZiBFcnJvcjogQmFkIGFiYnJldiBudW1iZXI6ICV1LiIKIG1zZ3N0ciAiTOG7l2kgRHdhcmY6IFPhu5Egdmnhur90IHThuq90IHNhaTogJXUuIgpAQCAtNjQ5LDM1ICs2MzMsMjcxIEBACiAiXG4iCiAiICAgICAgS2nhu4N1IDogJXMiCiAKLSM6IGVsZjMyLWFybS5jOjI1MjQKKyM6IGVsZi1hdHRycy5jOjU4MgorbXNnaWQgIkVSUk9SOiAlQjogTXVzdCBiZSBwcm9jZXNzZWQgYnkgJyVzJyB0b29sY2hhaW4iCittc2dzdHIgIkzhu5ZJOiAlQjogUGjhuqNpIMSRxrDhu6NjIGTDo3kgY8O0bmcgY+G7pSDCqyAlcyDCuyB44butIGzDvSIKKworIzogZWxmLWF0dHJzLmM6NjAyIGVsZi1hdHRycy5jOjYyMQorbXNnaWQgIkVSUk9SOiAlQjogSW5jb21wYXRpYmxlIG9iamVjdCB0YWcgJyVzJzolZCIKK21zZ3N0ciAiTOG7lkk6ICVCOiBUaOG6uyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIHTGsMahbmcgdGjDrWNoIMKrICVzIMK7OiVzIgorCisjOiBlbGYtZWgtZnJhbWUuYzo4NjYKK21zZ2lkICIlUDogZXJyb3IgaW4gJUIoJUEpOyBubyAuZWhfZnJhbWVfaGRyIHRhYmxlIHdpbGwgYmUgY3JlYXRlZC5cbiIKK21zZ3N0ciAiJVA6IGfhurdwIGzhu5dpIHRyb25nICVCKCVBKTsgc+G6vSBraMO0bmcgdOG6oW8gYuG6o25nIC5laF9mcmFtZV9oZHIgbsOgby5cbiIKKworIzogZWxmLWVoLWZyYW1lLmM6MTEwMgorbXNnaWQgIiVQOiBmZGUgZW5jb2RpbmcgaW4gJUIoJUEpIHByZXZlbnRzIC5laF9mcmFtZV9oZHIgdGFibGUgYmVpbmcgY3JlYXRlZC5cbiIKK21zZ3N0ciAiJVA6IGJpw6puIG3DoyBmZGUgdHJvbmcgJUIoJUEpIHRow6wgbmfEg24gY+G6o24gdOG6oW8gYuG6o25nIC5laF9mcmFtZV9oZHIuXG4iCisKKyM6IGVsZi1ocHBhLmg6MjI0MSBlbGYtbTEwMzAwLmM6MTU0NiBlbGYzMi1hcm0uYzo3OTU0IGVsZjMyLWkzODYuYzozNTgyCisjOiBlbGYzMi1tMzJyLmM6MjU5OCBlbGYzMi1tNjhrLmM6MzUxNiBlbGYzMi1wcGMuYzo3MjIzIGVsZjMyLXMzOTAuYzozMDU4CisjOiBlbGYzMi1zaC5jOjM0MzggZWxmMzIteHRlbnNhLmM6MzAyMSBlbGY2NC1wcGMuYzoxMTUyOCBlbGY2NC1zMzkwLmM6MzAxOQorIzogZWxmNjQtc2g2NC5jOjE2NDggZWxmNjQteDg2LTY0LmM6MzIzOSBlbGZ4eC1zcGFyYy5jOjMzMzYKK21zZ2lkICIlQiglQSsweCVseCk6IHVucmVzb2x2YWJsZSAlcyByZWxvY2F0aW9uIGFnYWluc3Qgc3ltYm9sIGAlcyciCittc2dzdHIgIiVCKCVBKzB4JWx4KTogxJHhu4tuaCB24buLIGzhuqFpIGtow7RuZyB0aOG7gyBnaeG6o2kgcXV54bq/dCAlcyDEkeG7kWkgduG7m2kga8O9IGhp4buHdSDCqyAlcyDCuyIKKworIzogZWxmLWhwcGEuaDoyMjY2IGVsZi1ocHBhLmg6MjI4MAorbXNnaWQgIiVCKCVBKTogd2FybmluZzogdW5yZXNvbHZhYmxlIHJlbG9jYXRpb24gYWdhaW5zdCBzeW1ib2wgYCVzJyIKK21zZ3N0ciAiJUIoJUEpOiBj4bqjbmggYsOhbyA6IMSR4buLbmggduG7iyBs4bqhaSBraMO0bmcgdGjhu4MgZ2nhuqNpIHF1eeG6v3QgxJHGsOG7o2Mgc28gduG7m2kga8O9IGhp4buHdSDCqyAlcyDCuyIKKworIzogZWxmLW0xMDIwMC5jOjQ1NiBlbGYtbTEwMzAwLmM6MTYwOSBlbGYzMi1hdnIuYzoxMjUwIGVsZjMyLWJmaW4uYzozMjE0CisjOiBlbGYzMi1jcjE2LmM6OTU5IGVsZjMyLWNyMTZjLmM6NzkwIGVsZjMyLWNyaXMuYzoxNTM4IGVsZjMyLWNyeC5jOjkzMworIzogZWxmMzItZDEwdi5jOjUxNiBlbGYzMi1mcjMwLmM6NjE2IGVsZjMyLWZydi5jOjQxMTQgZWxmMzItaDgzMDAuYzo1MTYKKyM6IGVsZjMyLWk4NjAuYzoxMjE4IGVsZjMyLWlwMmsuYzoxNDk5IGVsZjMyLWlxMjAwMC5jOjY5MSBlbGYzMi1tMzJjLmM6NTYwCisjOiBlbGYzMi1tMzJyLmM6MzEyNCBlbGYzMi1tNjhoYzF4LmM6MTEzNSBlbGYzMi1tZXAuYzo1NDEgZWxmMzItbXNwNDMwLmM6NDkzCisjOiBlbGYzMi1tdC5jOjQwMiBlbGYzMi1vcGVucmlzYy5jOjQxMSBlbGYzMi1zY29yZS5jOjI0NTEgZWxmMzItc3B1LmM6NDEzMgorIzogZWxmMzItdjg1MC5jOjE3MDMgZWxmMzIteHN0b3JteTE2LmM6OTQ4IGVsZjY0LW1taXguYzoxNTMzCittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IG91dCBvZiByYW5nZSBlcnJvciIKK21zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mSA6IGzhu5dpIOG7nyBuZ2/huqFpIHBo4bqhbSB2aSIKKworIzogZWxmLW0xMDIwMC5jOjQ2MCBlbGYtbTEwMzAwLmM6MTYxMyBlbGYzMi1hdnIuYzoxMjU0IGVsZjMyLWJmaW4uYzozMjE4CisjOiBlbGYzMi1jcjE2LmM6OTYzIGVsZjMyLWNyMTZjLmM6Nzk0IGVsZjMyLWNyaXMuYzoxNTQyIGVsZjMyLWNyeC5jOjkzNworIzogZWxmMzItZDEwdi5jOjUyMCBlbGYzMi1mcjMwLmM6NjIwIGVsZjMyLWZydi5jOjQxMTggZWxmMzItaDgzMDAuYzo1MjAKKyM6IGVsZjMyLWk4NjAuYzoxMjIyIGVsZjMyLWlxMjAwMC5jOjY5NSBlbGYzMi1tMzJjLmM6NTY0IGVsZjMyLW0zMnIuYzozMTI4CisjOiBlbGYzMi1tNjhoYzF4LmM6MTEzOSBlbGYzMi1tZXAuYzo1NDUgZWxmMzItbXNwNDMwLmM6NDk3CisjOiBlbGYzMi1vcGVucmlzYy5jOjQxNSBlbGYzMi1zY29yZS5jOjI0NTUgZWxmMzItc3B1LmM6NDEzNiBlbGYzMi12ODUwLmM6MTcwNworIzogZWxmMzIteHN0b3JteTE2LmM6OTUyIGVsZjY0LW1taXguYzoxNTM3IGVsZnh4LW1pcHMuYzo5MDY1Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIHJlbG9jYXRpb24gZXJyb3IiCittc2dzdHIgImzhu5dpIG7hu5lpIGLhu5kgOiBs4buXaSDEkeG7i25oIHbhu4sgbOG6oWkga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MiCisKKyM6IGVsZi1tMTAyMDAuYzo0NjQgZWxmMzItY3IxNi5jOjk2NyBlbGYzMi1jcjE2Yy5jOjc5OCBlbGYzMi1jcnguYzo5NDEKKyM6IGVsZjMyLWQxMHYuYzo1MjQgZWxmMzItaDgzMDAuYzo1MjQgZWxmMzItbTMyci5jOjMxMzIgZWxmMzItbTY4aGMxeC5jOjExNDMKKyM6IGVsZjMyLXNjb3JlLmM6MjQ1OSBlbGYzMi1zcHUuYzo0MTQwCittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGRhbmdlcm91cyBlcnJvciIKK21zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mSA6IGzhu5dpIG5ndXkgaGnhu4NtIgorCisjOiBlbGYtbTEwMjAwLmM6NDY4IGVsZi1tMTAzMDAuYzoxNjI2IGVsZjMyLWF2ci5jOjEyNjIgZWxmMzItYmZpbi5jOjMyMjYKKyM6IGVsZjMyLWNyMTYuYzo5NzEgZWxmMzItY3IxNmMuYzo4MDIgZWxmMzItY3Jpcy5jOjE1NTAgZWxmMzItY3J4LmM6OTQ1CisjOiBlbGYzMi1kMTB2LmM6NTI4IGVsZjMyLWZyMzAuYzo2MjggZWxmMzItZnJ2LmM6NDEyNiBlbGYzMi1oODMwMC5jOjUyOAorIzogZWxmMzItaTg2MC5jOjEyMzAgZWxmMzItaXAyay5jOjE1MTQgZWxmMzItaXEyMDAwLmM6NzAzIGVsZjMyLW0zMmMuYzo1NzIKKyM6IGVsZjMyLW0zMnIuYzozMTM2IGVsZjMyLW02OGhjMXguYzoxMTQ3IGVsZjMyLW1lcC5jOjU1MyBlbGYzMi1tc3A0MzAuYzo1MDUKKyM6IGVsZjMyLW10LmM6NDEwIGVsZjMyLW9wZW5yaXNjLmM6NDIzIGVsZjMyLXNjb3JlLmM6MjQ2MyBlbGYzMi1zcHUuYzo0MTQ0CisjOiBlbGYzMi12ODUwLmM6MTcyNyBlbGYzMi14c3Rvcm15MTYuYzo5NjAgZWxmNjQtbW1peC5jOjE1NDUKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBlcnJvciIKK21zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mSA6IGzhu5dpIGtow7RuZyByw7UiCisKKyM6IGVsZi1tMTAzMDAuYzoxNjE4Cittc2dpZCAiZXJyb3I6IGluYXBwcm9wcmlhdGUgcmVsb2NhdGlvbiB0eXBlIGZvciBzaGFyZWQgbGlicmFyeSAoZGlkIHlvdSBmb3JnZXQgLWZwaWM/KSIKK21zZ3N0ciAibOG7l2k6IGtp4buDdSDEkeG7i25oIHbhu4sgbOG6oWkga2jDtG5nIHRow61jaCBo4bujcCBjaG8gdGjGsCB2aeG7h24gY2hpYSBz4bq7IChi4bqhbiDEkcOjIHF1w6puIMSR4bq3dCAtZnBpYyBraMO0bmc/KSIKKworIzogZWxmLW0xMDMwMC5jOjE2MjEKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogc3VzcGljaW91cyByZWxvY2F0aW9uIHR5cGUgdXNlZCBpbiBzaGFyZWQgbGlicmFyeSIKK21zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mToga2nhu4N1IMSR4buLbmggduG7iyBs4bqhaSDEkcOhbmcgbmfhu50gxJHGsOG7o2MgZMO5bmcgdHJvbmcgdGjGsCB2aeG7h24gY2hpYSBz4bq7IgorCisjOiBlbGYtbTEwMzAwLmM6NDM5NyBlbGYzMi1hcm0uYzo5NTc4IGVsZjMyLWNyaXMuYzoyNDAzIGVsZjMyLWhwcGEuYzoxOTIxCisjOiBlbGYzMi1pMzcwLmM6NTA2IGVsZjMyLWkzODYuYzoxODA3IGVsZjMyLW0zMnIuYzoxOTMxIGVsZjMyLW02OGsuYzoyNzg3CisjOiBlbGYzMi1wcGMuYzo0NjkzIGVsZjMyLXMzOTAuYzoxNjg3IGVsZjMyLXNoLmM6MjU4MyBlbGYzMi12YXguYzoxMDU1CisjOiBlbGY2NC1wcGMuYzo2MDc1IGVsZjY0LXMzOTAuYzoxNjYyIGVsZjY0LXNoNjQuYzozNDMyIGVsZjY0LXg4Ni02NC5jOjE2NDEKKyM6IGVsZnh4LXNwYXJjLmM6MTgyOAorIywgYy1mb3JtYXQKK21zZ2lkICJkeW5hbWljIHZhcmlhYmxlIGAlcycgaXMgemVybyBzaXplIgorbXNnc3RyICJiaeG6v24gxJHhu5luZyDCqyAlcyDCuyBjw7Mga8OtY2ggY+G7oSBz4buRIGtow7RuZyIKKworIzogZWxmLmM6MzI4Cittc2dpZCAiJUI6IGludmFsaWQgc3RyaW5nIG9mZnNldCAldSA+PSAlbHUgZm9yIHNlY3Rpb24gYCVzJyIKK21zZ3N0ciAiJUI6IGtob+G6o25nIGLDuSBjaHXhu5dpIGtow7RuZyBo4bujcCBs4buHICV14omlJWx1IGNobyBwaOG6p24gwqsgJXMgwrsiCisKKyM6IGVsZi5jOjQzOAorbXNnaWQgIiVCIHN5bWJvbCBudW1iZXIgJWx1IHJlZmVyZW5jZXMgbm9uZXhpc3RlbnQgU0hUX1NZTVRBQl9TSE5EWCBzZWN0aW9uIgorbXNnc3RyICIlQiBz4buRIHRo4bupIHThu7Ega8O9IGhp4buHdSAlbHUgdGhhbSBjaGnhur91IMSR4bq/biBwaOG6p24gU0hUX1NZTVRBQl9TSE5EWCBraMO0bmcgdOG7k24gdOG6oWkiCisKKyM6IGVsZi5jOjU5NAorbXNnaWQgIiVCOiBDb3JydXB0IHNpemUgZmllbGQgaW4gZ3JvdXAgc2VjdGlvbiBoZWFkZXI6IDB4JWx4IgorbXNnc3RyICIlQjogVHLGsOG7nW5nIGvDrWNoIGPhu6EgYuG7iyBo4buPbmcgdHJvbmcgcGjhuqduIMSR4bqndSBj4bunYSBwaOG6p24gbmjDs206IDB4JWx4IgorCisjOiBlbGYuYzo2MzAKK21zZ2lkICIlQjogaW52YWxpZCBTSFRfR1JPVVAgZW50cnkiCittc2dzdHIgIiVCOiBt4bulYyBuaOG6rXAgU0hUX0dST1VQIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBlbGYuYzo3MDAKK21zZ2lkICIlQjogbm8gZ3JvdXAgaW5mbyBmb3Igc2VjdGlvbiAlQSIKK21zZ3N0ciAiJUI6IGtow7RuZyBjw7MgdGjDtG5nIHRpbiBuaMOzbSB24buBIHBo4bqnbiAlQSIKKworIzogZWxmLmM6NzI5IGVsZi5jOjI5NzYgZWxmbGluay5jOjk3NDYKK21zZ2lkICIlQjogd2FybmluZzogc2hfbGluayBub3Qgc2V0IGZvciBzZWN0aW9uIGAlQSciCittc2dzdHIgIiVCOiBj4bqjbmggYsOhbyA6IMKrIHNoX2xpbmsgwrsgY2jGsGEgxJHGsOG7o2MgxJHhurd0IGNobyBwaOG6p24gwqsgJUEgwrsiCisKKyM6IGVsZi5jOjc0OAorbXNnaWQgIiVCOiBzaF9saW5rIFslZF0gaW4gc2VjdGlvbiBgJUEnIGlzIGluY29ycmVjdCIKK21zZ3N0ciAiJUI6IHNoX2xpbmsgWyVkXSBraMO0bmcgxJHDum5nIHRyb25nIHBo4bqnbiDCqyAlQSDCuyIKKworIzogZWxmLmM6NzgzCittc2dpZCAiJUI6IHVua25vd24gWyVkXSBzZWN0aW9uIGAlcycgaW4gZ3JvdXAgWyVzXSIKK21zZ3N0ciAiJUI6IGtow7RuZyByw7UgWyVkXSBwaOG6p24gwqsgJXMgwrsgdHJvbmcgbmjDs20gWyVzXSIKKworIzogZWxmLmM6MTE1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiUHJvZ3JhbSBIZWFkZXI6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJQaOG6p24gxJHhuqd1IGNoxrDGoW5nIHRyw6xuaDpcbiIKKworIzogZWxmLmM6MTIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRHluYW1pYyBTZWN0aW9uOlxuIgorbXNnc3RyICIiCisiXG4iCisiUGjhuqduIMSR4buZbmc6XG4iCisKKyM6IGVsZi5jOjEzMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlZlcnNpb24gZGVmaW5pdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJQaOG6p24gxJHhu4tuaCBuZ2jEqWEgcGhpw6puIGLhuqNuOlxuIgorCisjOiBlbGYuYzoxMzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJWZXJzaW9uIFJlZmVyZW5jZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaGFtIGNoaeG6v3UgcGhpw6puIGLhuqNuOlxuIgorCisjOiBlbGYuYzoxMzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgcmVxdWlyZWQgZnJvbSAlczpcbiIKK21zZ3N0ciAiICBj4bqnbiB0aGnhur90IHThu6sgJXM6XG4iCisKKyM6IGVsZi5jOjE3NTUKK21zZ2lkICIlQjogaW52YWxpZCBsaW5rICVsdSBmb3IgcmVsb2Mgc2VjdGlvbiAlcyAoaW5kZXggJXUpIgorbXNnc3RyICIlQjogbGnDqm4ga+G6v3Qga2jDtG5nIGjhu6NwIGzhu4cgJWx1IGNobyBwaOG6p24gxJHhu4tuaCB24buLIGzhuqFpICVzIChjaOG7iSBt4bulYyAldSkiCisKKyM6IGVsZi5jOjE5MjQKK21zZ2lkICIlQjogZG9uJ3Qga25vdyBob3cgdG8gaGFuZGxlIGFsbG9jYXRlZCwgYXBwbGljYXRpb24gc3BlY2lmaWMgc2VjdGlvbiBgJXMnIFsweCU4eF0iCittc2dzdHIgIiVCOiBraMO0bmcgYmnhur90IGPDoWNoIHjhu60gbMO9IHBo4bqnbiDEkcOjIGPhuqVwIHBow6F0IG3DoCDEkeG6t2MgdHLGsG5nIGNobyDhu6luZyBk4bulbmcgwqsgJXMgwrsgWzB4JTh4XSIKKworIzogZWxmLmM6MTkzNgorbXNnaWQgIiVCOiBkb24ndCBrbm93IGhvdyB0byBoYW5kbGUgcHJvY2Vzc29yIHNwZWNpZmljIHNlY3Rpb24gYCVzJyBbMHglOHhdIgorbXNnc3RyICIlQjoga2jDtG5nIGJp4bq/dCBjw6FjaCB44butIGzDvSBwaOG6p24gxJHhurdjIHRyxrBuZyBjaG8gYuG7mSB44butIGzDvSDCqyAlcyDCuyBbMHglOHhdIgorCisjOiBlbGYuYzoxOTQ3Cittc2dpZCAiJUI6IGRvbid0IGtub3cgaG93IHRvIGhhbmRsZSBPUyBzcGVjaWZpYyBzZWN0aW9uIGAlcycgWzB4JTh4XSIKK21zZ3N0ciAiJUI6IGtow7RuZyBiaeG6v3QgY8OhY2ggeOG7rSBsw70gcGjhuqduIMSR4bq3YyB0csawbmcgY2hvIEjEkEggwqsgJXMgwrsgWzB4JTh4XSIKKworIzogZWxmLmM6MTk1NworbXNnaWQgIiVCOiBkb24ndCBrbm93IGhvdyB0byBoYW5kbGUgc2VjdGlvbiBgJXMnIFsweCU4eF0iCittc2dzdHIgIiVCOiBraMO0bmcgYmnhur90IGPDoWNoIHjhu60gbMO9IHBo4bqnbiDCqyAlcyDCuyBbMHglOHhdIgorCisjOiBlbGYuYzoyNTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHNlY3Rpb24gYCVBJyB0eXBlIGNoYW5nZWQgdG8gUFJPR0JJVFMiCittc2dzdHIgImPhuqNuaCBiw6FvIDogcGjhuqduIMKrICVBIMK7IGPDsyBraeG7g3UgYuG7iyB0aGF5IMSR4buVaSB0aMOgbmggUFJPR0JJVFMiCisKKyM6IGVsZi5jOjI5MzMKK21zZ2lkICIlQjogc2hfbGluayBvZiBzZWN0aW9uIGAlQScgcG9pbnRzIHRvIGRpc2NhcmRlZCBzZWN0aW9uIGAlQScgb2YgYCVCJyIKK21zZ3N0ciAiJUI6IHNoX2xpbmsgY+G7p2EgcGjhuqduIMKrICVBIMK7IGNo4buJIHThu5tpIHBo4bqnbiBi4buLIGjhu6d5IMKrICVBIMK7IGPhu6dhIMKrICVCIMK7IgorCisjOiBlbGYuYzoyOTU2Cittc2dpZCAiJUI6IHNoX2xpbmsgb2Ygc2VjdGlvbiBgJUEnIHBvaW50cyB0byByZW1vdmVkIHNlY3Rpb24gYCVBJyBvZiBgJUInIgorbXNnc3RyICIlQjogc2hfbGluayBj4bunYSBwaOG6p24gwqsgJUEgwrsgY2jhu4kgdOG7m2kgcGjhuqduIGLhu4sgZ+G7oSBi4buPIMKrICVBIMK7IGPhu6dhIMKrICVCIMK7IgorCisjOiBlbGYuYzo0MzAwCittc2dpZCAiJUI6IFRoZSBmaXJzdCBzZWN0aW9uIGluIHRoZSBQVF9EWU5BTUlDIHNlZ21lbnQgaXMgbm90IHRoZSAuZHluYW1pYyBzZWN0aW9uIgorbXNnc3RyICIlQjogUGjhuqduIHRo4bupIG5o4bqldCB0cm9uZyDEkW/huqFuIFBUX0RZTkFNSUMga2jDtG5nIHBo4bqjaSBsw6AgcGjhuqduIC5keW5hbWljIgorCisjOiBlbGYuYzo0MzI3Cittc2dpZCAiJUI6IE5vdCBlbm91Z2ggcm9vbSBmb3IgcHJvZ3JhbSBoZWFkZXJzLCB0cnkgbGlua2luZyB3aXRoIC1OIgorbXNnc3RyICIlQjogS2jDtG5nIMSR4bunIHPhu6ljIGNo4bupYSBjaG8gY8OhYyBwaOG6p24gxJHhuqd1IGPhu6dhIGNoxrDGoW5nIHRyw6xuaDogaMOjeSB0aOG7rSBsacOqbiBr4bq/dCB24bubaSDCqyAtTiDCuyIKKworIzogZWxmLmM6NDQwNAorbXNnaWQgIiVCOiBzZWN0aW9uICVBIHZtYSAweCVseCBvdmVybGFwcyBwcmV2aW91cyBzZWN0aW9ucyIKK21zZ3N0ciAiJUI6IHBo4bqnbiAlQSB2bWEgMHglbHggxJHDqCBsw6puIHBo4bqnbiB0csaw4bubYyIKKworIzogZWxmLmM6NDQ5OQorbXNnaWQgIiVCOiBzZWN0aW9uIGAlQScgY2FuJ3QgYmUgYWxsb2NhdGVkIGluIHNlZ21lbnQgJWQiCittc2dzdHIgIiVCOiBwaOG6p24gwqsgJUEgwrsga2jDtG5nIHRo4buDIMSRxrDhu6NjIGPhuqVwIHBow6F0IHRyb25nIMSRb+G6oW4gJWQiCisKKyM6IGVsZi5jOjQ1NDkKK21zZ2lkICIlQjogd2FybmluZzogYWxsb2NhdGVkIHNlY3Rpb24gYCVzJyBub3QgaW4gc2VnbWVudCIKK21zZ3N0ciAiJUI6IGPhuqNuaCBiw6FvIDogcGjhuqduIMSRw6MgY+G6pXAgcGjDoXQgwqsgJXMgwrsga2jDtG5nIG7hurFtIHRyb25nIMSRb+G6oW4iCisKKyM6IGVsZi5jOjUwNjQKK21zZ2lkICIlQjogc3ltYm9sIGAlcycgcmVxdWlyZWQgYnV0IG5vdCBwcmVzZW50IgorbXNnc3RyICIlQjoga8O9IGhp4buHdSDCqyAlcyDCuyBj4bqnbiB0aGnhur90IG3DoCBraMO0bmcgY8OzIgorCisjOiBlbGYuYzo1NDAzCittc2dpZCAiJUI6IHdhcm5pbmc6IEVtcHR5IGxvYWRhYmxlIHNlZ21lbnQgZGV0ZWN0ZWQsIGlzIHRoaXMgaW50ZW50aW9uYWwgP1xuIgorbXNnc3RyICIlQjogY+G6o25oIGLDoW8gOiBQaMOhdCBoaeG7h24gbeG7mXQgxJFv4bqhbiBy4buXbmcgY8OzIHRo4buDIG7huqFwIMSRxrDhu6NjOiB0csaw4budbmcgaOG7o3AgbsOgeSBjw7Mgw70gxJHhu4tuaCB0csaw4bubYyBraMO0bmc/XG4iCisKKyM6IGVsZi5jOjYzNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGZpbmQgZXF1aXZhbGVudCBvdXRwdXQgc2VjdGlvbiBmb3Igc3ltYm9sICclcycgZnJvbSBzZWN0aW9uICclcyciCittc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSBwaOG6p24ga+G6v3QgeHXhuqV0IHTGsMahbmcgxJHGsMahbmcgY2hvIGvDvSBoaeG7h3UgwqsgJXMgwrsgdOG7qyBwaOG6p24gwqsgJXMgwrsiCisKKyM6IGVsZi5jOjczNDYKK21zZ2lkICIlQjogdW5zdXBwb3J0ZWQgcmVsb2NhdGlvbiB0eXBlICVzIgorbXNnc3RyICIlQjoga2nhu4N1IMSR4buLbmggduG7iyBs4bqhaSBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyAlcyIKKworIzogZWxmMzItYXJtLmM6Mjg0NiBlbGYzMi1hcm0uYzoyODc4Cittc2dpZCAiIgorIiVCKCVzKTogd2FybmluZzogaW50ZXJ3b3JraW5nIG5vdCBlbmFibGVkLlxuIgorIiAgZmlyc3Qgb2NjdXJyZW5jZTogJUI6IFRodW1iIGNhbGwgdG8gQVJNIgorbXNnc3RyICIiCisiJUIoJXMpOiBj4bqjbmggYsOhbyA6IGNoxrBhIGLhuq10IGTDuW5nIOG6o25oIGjGsOG7n25nIGzhuqtuIG5oYXUuXG4iCisiICBs4bqnbiB4deG6pXQgaGnhu4duIMSR4bqndTogJUI6IHRodW1iIGfhu41pIHThu5tpIEFSTSIKKworIzogZWxmMzItYXJtLmM6MzA0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGNyZWF0ZSBzdHViIGVudHJ5ICVzIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buDIHThuqFvIG3hu6VjIG5o4bqtcCBt4bqpdSAlcyIKKworIzogZWxmMzItYXJtLmM6MzgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZmluZCBUSFVNQiBnbHVlICclcycgZm9yICclcyciCiBtc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSBrZW8gaOG7kyBUSFVNQiDCqyAlcyDCuyBjaG8gwqsgJXMgwrsiCiAKLSM6IGVsZjMyLWFybS5jOjI1NTcKKyM6IGVsZjMyLWFybS5jOjM4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGZpbmQgQVJNIGdsdWUgJyVzJyBmb3IgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IGtlbyBo4buTIEFSTSDCqyAlcyDCuyBjaG8gwqsgJXMgwrsiCiAKLSM6IGVsZjMyLWFybS5jOjMxMjcKKyM6IGVsZjMyLWFybS5jOjQ0NjMKIG1zZ2lkICIlQjogQkU4IGltYWdlcyBvbmx5IHZhbGlkIGluIGJpZy1lbmRpYW4gbW9kZS4iCiBtc2dzdHIgIiVCOiBow6xuaCDhuqNuaCBCRTggY2jhu4kgxJHDum5nIHRyb25nIGNo4bq/IMSR4buZIHbhu4EgY3Xhu5FpIGzhu5tuLiIKIAogIy4gR2l2ZSBhIHdhcm5pbmcsIGJ1dCBkbyBhcyB0aGUgdXNlciByZXF1ZXN0cyBhbnl3YXkuCi0jOiBlbGYzMi1hcm0uYzozMzMxCisjOiBlbGYzMi1hcm0uYzo0Njc4CiBtc2dpZCAiJUI6IHdhcm5pbmc6IHNlbGVjdGVkIFZGUDExIGVycmF0dW0gd29ya2Fyb3VuZCBpcyBub3QgbmVjZXNzYXJ5IGZvciB0YXJnZXQgYXJjaGl0ZWN0dXJlIgogbXNnc3RyICIlQjogY+G6o25oIGLDoW8gOiBz4buxIGto4bqvYyBwaMO6YyBjw6FjIGzhu5dpIFZGUDExIMSRw6MgY2jhu41uIGtow7RuZyBj4bqnbiB0aGnhur90IGNobyBraeG6v24gdHLDumMgxJHDrWNoIgogCi0jOiBlbGYzMi1hcm0uYzozODY1IGVsZjMyLWFybS5jOjM4ODUKKyM6IGVsZjMyLWFybS5jOjUyMTIgZWxmMzItYXJtLmM6NTIzMgogbXNnaWQgIiVCOiB1bmFibGUgdG8gZmluZCBWRlAxMSB2ZW5lZXIgYCVzJyIKIG1zZ3N0ciAiJUI6IGtow7RuZyB0w6xtIHRo4bqleSBs4bubcCBn4buXIG3hurd0IFZGUDExIMKrICVzIMK7IgogCi0jOiBlbGYzMi1hcm0uYzozOTMwCisjOiBlbGYzMi1hcm0uYzo1Mjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgVEFSR0VUMiByZWxvY2F0aW9uIHR5cGUgJyVzJy4iCiBtc2dzdHIgIktp4buDdSDEkeG7i25oIHbhu4sgbOG6oWkgVEFSR0VUMiBraMO0bmcgaOG7o3AgbOG7hyDCqyAlcyDCuyIKIAotIzogZWxmMzItYXJtLmM6NDA3MQorIzogZWxmMzItYXJtLmM6NTM2MgogbXNnaWQgIiIKICIlQiglcyk6IHdhcm5pbmc6IGludGVyd29ya2luZyBub3QgZW5hYmxlZC5cbiIKICIgIGZpcnN0IG9jY3VycmVuY2U6ICVCOiB0aHVtYiBjYWxsIHRvIGFybSIKQEAgLTY4NSwzNzQgKzkwNSwzMjYgQEAKICIlQiglcyk6IGPhuqNuaCBiw6FvIDogY2jGsGEgYuG6rXQgZMO5bmcg4bqjbmggaMaw4bufbmcgbOG6q24gbmhhdS5cbiIKICIgIGzhuqduIHh14bqldCBoaeG7h24gxJHhuqd1OiAlQjogdGh1bWIgZ+G7jWkgdOG7m2kgYXJtIgogCi0jOiBlbGYzMi1hcm0uYzo0NzU5CisjOiBlbGYzMi1hcm0uYzo2MDk0CiBtc2dpZCAiXFwlQjogV2FybmluZzogQXJtIEJMWCBpbnN0cnVjdGlvbiB0YXJnZXRzIEFybSBmdW5jdGlvbiAnJXMnLiIKIG1zZ3N0ciAiXFwlQjogQ+G6o25oIGLDoW8gOiBDaOG7iSBk4bqrbiBBcm0gQkxYIMSRxIN0IG3hu6VjIHRpw6p1IGjDoG0gQXJtIMKrICVzIMK7LiIKIAotIzogZWxmMzItYXJtLmM6NTA1OQorIzogZWxmMzItYXJtLmM6NjQxOAogbXNnaWQgIiVCOiBXYXJuaW5nOiBUaHVtYiBCTFggaW5zdHJ1Y3Rpb24gdGFyZ2V0cyB0aHVtYiBmdW5jdGlvbiAnJXMnLiIKIG1zZ3N0ciAiJUI6IEPhuqNuaCBiw6FvIDogQ2jhu4kgZOG6q24gVGh1bWIgQkxYIMSRxIN0IG3hu6VjIHRpw6p1IGjDoG0gdGh1bWIgwqsgJXMgwrsuIgogCi0jOiBlbGYzMi1hcm0uYzo1Njg5CisjOiBlbGYzMi1hcm0uYzo3MDk1CiBtc2dpZCAiJUIoJUErMHglbHgpOiBSX0FSTV9UTFNfTEUzMiByZWxvY2F0aW9uIG5vdCBwZXJtaXR0ZWQgaW4gc2hhcmVkIG9iamVjdCIKIG1zZ3N0ciAiJUIoJUErMHglbHgpOiBSX0FSTV9UTFNfTEUzMiBraMO0bmcgY2hvIHBow6lwIMSR4buLbmggduG7iyBs4bqhaSB0cm9uZyDEkeG7kWkgdMaw4bujbmcgZMO5bmcgY2h1bmciCiAKLSM6IGVsZjMyLWFybS5jOjU4OTAKKyM6IGVsZjMyLWFybS5jOjczMTAKIG1zZ2lkICIlQiglQSsweCVseCk6IE9ubHkgQUREIG9yIFNVQiBpbnN0cnVjdGlvbnMgYXJlIGFsbG93ZWQgZm9yIEFMVSBncm91cCByZWxvY2F0aW9ucyIKIG1zZ3N0ciAiJUIoJUErMHglbHgpOiBDaOG7iSBjaG8gcGjDqXAgY2jhu4kgZOG6q24ga2nhu4N1IEFERCAoY+G7mW5nKSBob+G6t2MgU1VCICh0cuG7qykga2hpIMSR4buLbmggduG7iyBs4bqhaSBuaMOzbSBBTFUiCiAKLSM6IGVsZjMyLWFybS5jOjU5MzAgZWxmMzItYXJtLmM6NjAxNyBlbGYzMi1hcm0uYzo2MTAwIGVsZjMyLWFybS5jOjYxODUKKyM6IGVsZjMyLWFybS5jOjczNTAgZWxmMzItYXJtLmM6NzQzNyBlbGYzMi1hcm0uYzo3NTIwIGVsZjMyLWFybS5jOjc2MDUKIG1zZ2lkICIlQiglQSsweCVseCk6IE92ZXJmbG93IHdoaWxzdCBzcGxpdHRpbmcgMHglbHggZm9yIGdyb3VwIHJlbG9jYXRpb24gJXMiCiBtc2dzdHIgIiVCKCVBKzB4JWx4KTogVHLDoG4gdHJvbmcga2hpIHTDoWNoIHJhIDB4JWx4IMSR4buDIMSR4buLbmggduG7iyBs4bqhaSBuaMOzbSAlcyIKIAotIzogZWxmMzItYXJtLmM6NjM2OSBlbGYzMi1zaC5jOjMzMDQgZWxmNjQtc2g2NC5jOjE1NTYKKyM6IGVsZjMyLWFybS5jOjc4MTIgZWxmMzItc2guYzozMzM0IGVsZjY0LXNoNjQuYzoxNTU2CiBtc2dpZCAiJUIoJUErMHglbHgpOiAlcyByZWxvY2F0aW9uIGFnYWluc3QgU0VDX01FUkdFIHNlY3Rpb24iCiBtc2dzdHIgIiVCKCVBKzB4JWx4KTogJXMgxJHhu4tuaCB24buLIGzhuqFpIMSR4buRaSBs4bqhaSBwaOG6p24gU0VDX01FUkdFIgogCi0jOiBlbGYzMi1hcm0uYzo2NDU4IGVsZjY0LXBwYy5jOjk5NzMKKyM6IGVsZjMyLWFybS5jOjc5MzAgZWxmMzIteHRlbnNhLmM6Mjc1OSBlbGY2NC1wcGMuYzoxMDM3NAogbXNnaWQgIiVCKCVBKzB4JWx4KTogJXMgdXNlZCB3aXRoIFRMUyBzeW1ib2wgJXMiCiBtc2dzdHIgIiVCKCVBKzB4JWx4KTogJXMgxJHGsOG7o2MgZMO5bmcgduG7m2kga8O9IGhp4buHdSBUTFMgJXMiCiAKLSM6IGVsZjMyLWFybS5jOjY0NTkgZWxmNjQtcHBjLmM6OTk3NAorIzogZWxmMzItYXJtLmM6NzkzMSBlbGYzMi14dGVuc2EuYzoyNzYwIGVsZjY0LXBwYy5jOjEwMzc1CiBtc2dpZCAiJUIoJUErMHglbHgpOiAlcyB1c2VkIHdpdGggbm9uLVRMUyBzeW1ib2wgJXMiCiBtc2dzdHIgIiVCKCVBKzB4JWx4KTogJXMgxJHGsOG7o2MgZMO5bmcgduG7m2kga8O9IGhp4buHdSBraMOhYyBUTFMgJXMiCiAKLSM6IGVsZjMyLWFybS5jOjY0ODIgZWxmMzItaTM4Ni5jOjMzMTAgZWxmMzItbTMyci5jOjI1OTggZWxmMzItbTY4ay5jOjE5ODIKLSM6IGVsZjMyLXBwYy5jOjY3OTYgZWxmMzItczM5MC5jOjMwNDggZWxmMzItc2guYzozNDA4IGVsZjMyLXh0ZW5zYS5jOjIyOTAKLSM6IGVsZjY0LXBwYy5jOjExMTM4IGVsZjY0LXMzOTAuYzozMDA5IGVsZjY0LXNoNjQuYzoxNjQ4IGVsZjY0LXg4Ni02NC5jOjMwMDIKLSM6IGVsZi1ocHBhLmg6MjE5NCBlbGYtbTEwMzAwLmM6MTQ2MCBlbGZ4eC1zcGFyYy5jOjMyNTYKLW1zZ2lkICIlQiglQSsweCVseCk6IHVucmVzb2x2YWJsZSAlcyByZWxvY2F0aW9uIGFnYWluc3Qgc3ltYm9sIGAlcyciCi1tc2dzdHIgIiVCKCVBKzB4JWx4KTogxJHhu4tuaCB24buLIGzhuqFpIGtow7RuZyB0aOG7gyBnaeG6o2kgcXV54bq/dCAlcyDEkeG7kWkgduG7m2kga8O9IGhp4buHdSDCqyAlcyDCuyIKLQotIzogZWxmMzItYXJtLmM6NjUxNgorIzogZWxmMzItYXJtLmM6Nzk4OAogbXNnaWQgIm91dCBvZiByYW5nZSIKIG1zZ3N0ciAi4bufIG5nb+G6oWkgcGjhuqFtIHZpIgogCi0jOiBlbGYzMi1hcm0uYzo2NTIwCisjOiBlbGYzMi1hcm0uYzo3OTkyCiBtc2dpZCAidW5zdXBwb3J0ZWQgcmVsb2NhdGlvbiIKIG1zZ3N0ciAixJHhu4tuaCB24buLIGzhuqFpIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIgogCi0jOiBlbGYzMi1hcm0uYzo2NTI4CisjOiBlbGYzMi1hcm0uYzo4MDAwCiBtc2dpZCAidW5rbm93biBlcnJvciIKIG1zZ3N0ciAibOG7l2kga2jDtG5nIHLDtSIKIAotIzogZWxmMzItYXJtLmM6NjYyOAorIzogZWxmMzItYXJtLmM6ODA5OQogbXNnaWQgIldhcm5pbmc6IENsZWFyaW5nIHRoZSBpbnRlcndvcmtpbmcgZmxhZyBvZiAlQiBiZWNhdXNlIG5vbi1pbnRlcndvcmtpbmcgY29kZSBpbiAlQiBoYXMgYmVlbiBsaW5rZWQgd2l0aCBpdCIKIG1zZ3N0ciAiQ+G6o25oIGLDoW8gOiDEkGFuZyB4w7NhIGPhu50g4bqjbmggaMaw4bufbmcgbOG6q24gbmhhdSBj4bunYSAlQiB2w6wgbcOjIGtow7RuZyDhuqNuaCBoxrDhu59uZyBs4bqrbiBuaGF1IHRyb25nICVCIMSRw6MgxJHGsOG7o2MgbGnDqm4ga+G6v3QgduG7m2kgbsOzIgogCi0jOiBlbGYzMi1hcm0uYzo2NzMwCisjOiBlbGYzMi1hcm0uYzo4MjA1CiBtc2dpZCAiRVJST1I6ICVCIHVzZXMgVkZQIHJlZ2lzdGVyIGFyZ3VtZW50cywgJUIgZG9lcyBub3QiCiBtc2dzdHIgIkzhu5ZJOiAlQiBz4butIGThu6VuZyBjw6FjIMSR4buRaSBz4buRIHRoYW5oIGdoaSBWRlAsIGPDsm4gJUIgdGjDrCBraMO0bmciCiAKLSM6IGVsZjMyLWFybS5jOjY3ODAKKyM6IGVsZjMyLWFybS5jOjgyNTQKIG1zZ2lkICJFUlJPUjogJUI6IENvbmZsaWN0aW5nIGFyY2hpdGVjdHVyZSBwcm9maWxlcyAlYy8lYyIKIG1zZ3N0ciAiTOG7lkk6ICVCOiBDw6FjIGjhu5Mgc8ahIGtp4bq/biB0csO6YyB4dW5nIMSR4buZdCB24bubaSBuaGF1ICVjLyVjIgogCi0jOiBlbGYzMi1hcm0uYzo2Nzk1CisjOiBlbGYzMi1hcm0uYzo4Mjc0CiBtc2dpZCAiV2FybmluZzogJUI6IENvbmZsaWN0aW5nIHBsYXRmb3JtIGNvbmZpZ3VyYXRpb24iCiBtc2dzdHIgIkPhuqNuaCBiw6FvIDogJUI6IGPhuqV1IHRyw7pjIG7hu4FuIHThuqNuZyB4dW5nIMSR4buZdCIKIAotIzogZWxmMzItYXJtLmM6NjgwNAorIzogZWxmMzItYXJtLmM6ODI4MwogbXNnaWQgIkVSUk9SOiAlQjogQ29uZmxpY3RpbmcgdXNlIG9mIFI5IgogbXNnc3RyICJM4buWSTsgJUI6IGPDoWNoIGTDuW5nIFI5IHh1bmcgxJHhu5l0IgogCi0jOiBlbGYzMi1hcm0uYzo2ODE2CisjOiBlbGYzMi1hcm0uYzo4Mjk1CiBtc2dpZCAiRVJST1I6ICVCOiBTQiByZWxhdGl2ZSBhZGRyZXNzaW5nIGNvbmZsaWN0cyB3aXRoIHVzZSBvZiBSOSIKIG1zZ3N0ciAiTOG7lkk6ICVCOiDEkeG6oXQgxJHhu4thIGNo4buJIHTGsMahbmcgxJHhu5FpIFNCIHh1bmcgxJHhu5l0IHbhu5tpIGPDoWNoIGTDuW5nIFI5IgogCi0jOiBlbGYzMi1hcm0uYzo2ODM4Ci1tc2dpZCAiRVJST1I6ICVCOiBDb25mbGljdGluZyBkZWZpbml0aW9ucyBvZiB3Y2hhcl90IgotbXNnc3RyICJM4buWSTogJUI6IGPDoWMgbOG7nWkgxJHhu4tuaCBuZ2jEqWEgd2NoYXJfdCB4dW5nIMSR4buZdCB24bubaSBuaGF1IgorIzogZWxmMzItYXJtLmM6ODMxOAorbXNnaWQgIndhcm5pbmc6ICVCIHVzZXMgJXUtYnl0ZSB3Y2hhcl90IHlldCB0aGUgb3V0cHV0IGlzIHRvIHVzZSAldS1ieXRlIHdjaGFyX3Q7IHVzZSBvZiB3Y2hhcl90IHZhbHVlcyBhY3Jvc3Mgb2JqZWN0cyBtYXkgZmFpbCIKK21zZ3N0ciAiY+G6o25oIGLDoW8gOiAlQiBkw7luZyB3Y2hhcl90ICV1LWJ5dGUsIGPDsm4ga+G6v3QgeHXhuqV0IG7Dqm4gZMO5bmcgd2NoYXJfdCAldS1ieXRlOyB2w6wgduG6rXkgY8OzIHRo4buDIGtow7RuZyB0aMOgbmggY8O0bmcgZMO5bmcgZ2nDoSB0cuG7iyB3Y2hhcl90IHF1YSBjw6FjIMSR4buRaSB0xrDhu6NuZyIKIAotIzogZWxmMzItYXJtLmM6Njg2NworIzogZWxmMzItYXJtLmM6ODM0NwogbXNnaWQgIndhcm5pbmc6ICVCIHVzZXMgJXMgZW51bXMgeWV0IHRoZSBvdXRwdXQgaXMgdG8gdXNlICVzIGVudW1zOyB1c2Ugb2YgZW51bSB2YWx1ZXMgYWNyb3NzIG9iamVjdHMgbWF5IGZhaWwiCiBtc2dzdHIgImPhuqNuaCBiw6FvIDogJUIgZMO5bmcgc+G7sSDEkeG6v20gJXMsIGPDsm4ga+G6v3QgeHXhuqV0IG7Dqm4gZMO5bmcgc+G7sSDEkeG6v20gJXM7IHbDrCB24bqteSBjw7MgdGjhu4Mga2jDtG5nIHRow6BuaCBjw7RuZyBkw7luZyBnacOhIHRy4buLIMSR4bq/bSBxdWEgY8OhYyDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGVsZjMyLWFybS5jOjY4ODAKKyM6IGVsZjMyLWFybS5jOjgzNjAKIG1zZ2lkICJFUlJPUjogJUIgdXNlcyBpV01NWHQgcmVnaXN0ZXIgYXJndW1lbnRzLCAlQiBkb2VzIG5vdCIKIG1zZ3N0ciAiTOG7lkk6ICVCIHPhu60gZOG7pW5nIGPDoWMgxJHhu5FpIHPhu5EgdGhhbmggZ2hpIGlXTU1YdCwgY8OybiAlQiB0aMOsIGtow7RuZyIKIAotIzogZWxmMzItYXJtLmM6NjkyMAorIzogZWxmMzItYXJtLmM6ODQwMAogbXNnaWQgIldhcm5pbmc6ICVCOiBVbmtub3duIEVBQkkgb2JqZWN0IGF0dHJpYnV0ZSAlZCIKIG1zZ3N0ciAiQ+G6o25oIGLDoW8gOiAlQjogS2jDtG5nIHLDtSB0aHXhu5ljIHTDrW5oIMSR4buRaSB0xrDhu6NuZyBFQUJJICVkIgogCi0jOiBlbGYzMi1hcm0uYzo3MDQ1CisjOiBlbGYzMi1hcm0uYzo4NDYwCittc2dpZCAiRVJST1I6ICVCIGlzIGFscmVhZHkgaW4gZmluYWwgQkU4IGZvcm1hdCIKK21zZ3N0ciAiTOG7lkk6ICVCIMSRw6MgdGhlbyDEkeG7i25oIGThuqFuZyBCRTggY3Xhu5FpIGPDuW5nIgorCisjOiBlbGYzMi1hcm0uYzo4NTM2CiBtc2dpZCAiRVJST1I6IFNvdXJjZSBvYmplY3QgJUIgaGFzIEVBQkkgdmVyc2lvbiAlZCwgYnV0IHRhcmdldCAlQiBoYXMgRUFCSSB2ZXJzaW9uICVkIgogbXNnc3RyICJM4buWSTogxJDhu5FpIHTGsOG7o25nIG5ndeG7k24gJUIgY8OzIHBoacOqbiBi4bqjbiBFQUJJICVkLCBuaMawbmcgxJHDrWNoICVCIGPDsyBwaGnDqm4gYuG6o24gRUFCSSAlZCIKIAotIzogZWxmMzItYXJtLmM6NzA2MQorIzogZWxmMzItYXJtLmM6ODU1MgogbXNnaWQgIkVSUk9SOiAlQiBpcyBjb21waWxlZCBmb3IgQVBDUy0lZCwgd2hlcmVhcyB0YXJnZXQgJUIgdXNlcyBBUENTLSVkIgogbXNnc3RyICJM4buWSTogJUIgxJHGsOG7o2MgYmnDqm4gZOG7i2NoIGNobyBBUENTLSVkLCBjw7JuIMSRw61jaCAlQiBz4butIGThu6VuZyBBUENTLSVkIgogCi0jOiBlbGYzMi1hcm0uYzo3MDg2CisjOiBlbGYzMi1hcm0uYzo4NTc3CiBtc2dpZCAiRVJST1I6ICVCIHVzZXMgVkZQIGluc3RydWN0aW9ucywgd2hlcmVhcyAlQiBkb2VzIG5vdCIKIG1zZ3N0ciAiTOG7lkk6ICVCIHPhu60gZOG7pW5nIGPDoWMgY2jhu4kgZOG6q24gVkZQLCBjw7JuICVCIHRow6wga2jDtG5nIgogCi0jOiBlbGYzMi1hcm0uYzo3MDkwCisjOiBlbGYzMi1hcm0uYzo4NTgxCiBtc2dpZCAiRVJST1I6ICVCIHVzZXMgRlBBIGluc3RydWN0aW9ucywgd2hlcmVhcyAlQiBkb2VzIG5vdCIKIG1zZ3N0ciAiTOG7lkk6ICVCIHPhu60gZOG7pW5nIGPDoWMgY2jhu4kgZOG6q24gRlBBLCBjw7JuICVCIHRow6wga2jDtG5nIgogCi0jOiBlbGYzMi1hcm0uYzo3MTAwCisjOiBlbGYzMi1hcm0uYzo4NTkxCiBtc2dpZCAiRVJST1I6ICVCIHVzZXMgTWF2ZXJpY2sgaW5zdHJ1Y3Rpb25zLCB3aGVyZWFzICVCIGRvZXMgbm90IgogbXNnc3RyICJM4buWSTogJUIgc+G7rSBk4bulbmcgY8OhYyBjaOG7iSBk4bqrbiBNYXZlcmljaywgY8OybiAlQiB0aMOsIGtow7RuZyIKIAotIzogZWxmMzItYXJtLmM6NzEwNAorIzogZWxmMzItYXJtLmM6ODU5NQogbXNnaWQgIkVSUk9SOiAlQiBkb2VzIG5vdCB1c2UgTWF2ZXJpY2sgaW5zdHJ1Y3Rpb25zLCB3aGVyZWFzICVCIGRvZXMiCiBtc2dzdHIgIkzhu5ZJOiAlQiBraMO0bmcgc+G7rSBk4bulbmcgY8OhYyBjaOG7iSBk4bqrbiBNYXZlcmljaywgY8OybiAlQiB0aMOsIGPDsyIKIAotIzogZWxmMzItYXJtLmM6NzEyMworIzogZWxmMzItYXJtLmM6ODYxNAogbXNnaWQgIkVSUk9SOiAlQiB1c2VzIHNvZnR3YXJlIEZQLCB3aGVyZWFzICVCIHVzZXMgaGFyZHdhcmUgRlAiCiBtc2dzdHIgIkzhu5ZJOiAlQiBz4butIGThu6VuZyBGUCBwaOG6p24gbeG7gW0sIGPDsm4gJUIgc+G7rSBk4bulbmcgRlAgcGjhuqduIGPhu6luZyIKIAotIzogZWxmMzItYXJtLmM6NzEyNworIzogZWxmMzItYXJtLmM6ODYxOAogbXNnaWQgIkVSUk9SOiAlQiB1c2VzIGhhcmR3YXJlIEZQLCB3aGVyZWFzICVCIHVzZXMgc29mdHdhcmUgRlAiCiBtc2dzdHIgIkzhu5ZJOiAlQiBz4butIGThu6VuZyBGUCBwaOG6p24gY+G7qW5nLCBjw7JuICVCIHPhu60gZOG7pW5nIEZQIHBo4bqnbiBt4buBbSIKIAogIy4gSWdub3JlIGluaXQgZmxhZyAtIGl0IG1heSBub3QgYmUgc2V0LCBkZXNwaXRlIHRoZSBmbGFncyBmaWVsZAogIy4gY29udGFpbmluZyB2YWxpZCBkYXRhLgogIy4gSWdub3JlIGluaXQgZmxhZyAtIGl0IG1heSBub3QgYmUgc2V0LCBkZXNwaXRlIHRoZSBmbGFncyBmaWVsZCBjb250YWluaW5nIHZhbGlkIGRhdGEuCi0jOiBlbGYzMi1hcm0uYzo3MTc0IGVsZjMyLWJmaW4uYzo0Nzk1IGVsZjMyLWNyaXMuYzozMjM0IGVsZjMyLW02OGhjMXguYzoxMjc3Ci0jOiBlbGYzMi1tNjhrLmM6NjIwIGVsZjMyLXNjb3JlLmM6Mzc1MyBlbGYzMi12YXguYzo1MzggZWxmeHgtbWlwcy5jOjExMzMxCisjOiBlbGYzMi1hcm0uYzo4NjY1IGVsZjMyLWJmaW4uYzo0ODk5IGVsZjMyLWNyaXMuYzozMjM1IGVsZjMyLW02OGhjMXguYzoxMjc5CisjOiBlbGYzMi1tNjhrLmM6Nzc0IGVsZjMyLXNjb3JlLmM6Mzc1MCBlbGYzMi12YXguYzo1MzggZWxmeHgtbWlwcy5jOjEyNjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgInByaXZhdGUgZmxhZ3MgPSAlbHg6IgogbXNnc3RyICJjw6FjIGPhu50gcmnDqm5nID0gJWx4OiIKIAotIzogZWxmMzItYXJtLmM6NzE4MworIzogZWxmMzItYXJtLmM6ODY3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgW2ludGVyd29ya2luZyBlbmFibGVkXSIKIG1zZ3N0ciAiIFvhuqNuaCBoxrDhu59uZyBs4bqrbiBuaGF1IMSRw6MgYuG6rXRdIgogCi0jOiBlbGYzMi1hcm0uYzo3MTkxCisjOiBlbGYzMi1hcm0uYzo4NjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbVkZQIGZsb2F0IGZvcm1hdF0iCiBtc2dzdHIgIiBbxJDhu4tuaCBk4bqhbmcgdHLDtGkgVkZQXSIKIAotIzogZWxmMzItYXJtLmM6NzE5MworIzogZWxmMzItYXJtLmM6ODY4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgW01hdmVyaWNrIGZsb2F0IGZvcm1hdF0iCiBtc2dzdHIgIiBbxJDhu4tuaCBk4bqhbmcgdHLDtGkgTWF2ZXJpY2tdIgogCi0jOiBlbGYzMi1hcm0uYzo3MTk1CisjOiBlbGYzMi1hcm0uYzo4Njg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbRlBBIGZsb2F0IGZvcm1hdF0iCiBtc2dzdHIgIiBbxJDhu4tuaCBk4bqhbmcgdHLDtGkgRlBBXSIKIAotIzogZWxmMzItYXJtLmM6NzIwNAorIzogZWxmMzItYXJtLmM6ODY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIgW25ldyBBQkldIgogbXNnc3RyICIgW0FCSSBt4bubaV0iCiAKLSM6IGVsZjMyLWFybS5jOjcyMDcKKyM6IGVsZjMyLWFybS5jOjg2OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIFtvbGQgQUJJXSIKIG1zZ3N0ciAiIFtBQkkgY8WpXSIKIAotIzogZWxmMzItYXJtLmM6NzIxMAorIzogZWxmMzItYXJtLmM6ODcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgW3NvZnR3YXJlIEZQXSIKIG1zZ3N0ciAiIFtGUCBwaOG6p24gbeG7gW1dIgogCi0jOiBlbGYzMi1hcm0uYzo3MjE5CisjOiBlbGYzMi1hcm0uYzo4NzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbVmVyc2lvbjEgRUFCSV0iCiBtc2dzdHIgIiBbRUFCSSBwaGnDqm4gYuG6o24gMV0iCiAKLSM6IGVsZjMyLWFybS5jOjcyMjIgZWxmMzItYXJtLmM6NzIzMworIzogZWxmMzItYXJtLmM6ODcxMyBlbGYzMi1hcm0uYzo4NzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbc29ydGVkIHN5bWJvbCB0YWJsZV0iCiBtc2dzdHIgIiBbYuG6o25nIGvDvSBoaeG7h3UgxJHDoyBz4bqvcCB44bq/cF0iCiAKLSM6IGVsZjMyLWFybS5jOjcyMjQgZWxmMzItYXJtLmM6NzIzNQorIzogZWxmMzItYXJtLmM6ODcxNSBlbGYzMi1hcm0uYzo4NzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbdW5zb3J0ZWQgc3ltYm9sIHRhYmxlXSIKIG1zZ3N0ciAiIFti4bqjbmcga8O9IGhp4buHdSBjaMawYSBz4bqvcCB44bq/cF0iCiAKLSM6IGVsZjMyLWFybS5jOjcyMzAKKyM6IGVsZjMyLWFybS5jOjg3MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIFtWZXJzaW9uMiBFQUJJXSIKIG1zZ3N0ciAiIFtFQUJJIHBoacOqbiBi4bqjbiAyXSIKIAotIzogZWxmMzItYXJtLmM6NzIzOAorIzogZWxmMzItYXJtLmM6ODcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgW2R5bmFtaWMgc3ltYm9scyB1c2Ugc2VnbWVudCBpbmRleF0iCiBtc2dzdHIgIiBbY8OhYyBrw70gaGnhu4d1IMSR4buZbmcgc+G7rSBk4bulbmcgY2jhu4kgbeG7pWMgxJFv4bqhbl0iCiAKLSM6IGVsZjMyLWFybS5jOjcyNDEKKyM6IGVsZjMyLWFybS5jOjg3MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIFttYXBwaW5nIHN5bWJvbHMgcHJlY2VkZSBvdGhlcnNdIgogbXNnc3RyICIgW2vDvSBoaeG7h3Ugw6FuaCB44bqhIMSR4bupbmcgdHLGsOG7m2NdIgogCi0jOiBlbGYzMi1hcm0uYzo3MjQ4CisjOiBlbGYzMi1hcm0uYzo4NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbVmVyc2lvbjMgRUFCSV0iCiBtc2dzdHIgIiBbRUFCSSBwaGnDqm4gYuG6o24gM10iCiAKLSM6IGVsZjMyLWFybS5jOjcyNTIKKyM6IGVsZjMyLWFybS5jOjg3NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIFtWZXJzaW9uNCBFQUJJXSIKIG1zZ3N0ciAiIFtFQUJJIHBoacOqbiBi4bqjbiA0XSIKIAotIzogZWxmMzItYXJtLmM6NzI1NgorIzogZWxmMzItYXJtLmM6ODc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgW1ZlcnNpb241IEVBQkldIgogbXNnc3RyICIgW0VBQkkgcGhpw6puIGLhuqNuIDVdIgogCi0jOiBlbGYzMi1hcm0uYzo3MjU5CisjOiBlbGYzMi1hcm0uYzo4NzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbQkU4XSIKIG1zZ3N0ciAiIFtCRThdIgogCi0jOiBlbGYzMi1hcm0uYzo3MjYyCisjOiBlbGYzMi1hcm0uYzo4NzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbTEU4XSIKIG1zZ3N0ciAiIFtMRThdIgogCi0jOiBlbGYzMi1hcm0uYzo3MjY4CisjOiBlbGYzMi1hcm0uYzo4NzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiA8RUFCSSB2ZXJzaW9uIHVucmVjb2duaXNlZD4iCiBtc2dzdHIgIjxQaGnDqm4gYuG6o24gRUFCSSBraMO0bmcgxJHGsOG7o2Mgbmjhuq1uIHJhPiIKIAotIzogZWxmMzItYXJtLmM6NzI3NQorIzogZWxmMzItYXJtLmM6ODc2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgW3JlbG9jYXRhYmxlIGV4ZWN1dGFibGVdIgogbXNnc3RyICIgW3Thuq1wIHRpbiBjw7MgdGjhu4MgdGjhu7FjIGhp4buHbiB2w6AgxJHhu4tuaCB24buLIGzhuqFpXSIKIAotIzogZWxmMzItYXJtLmM6NzI3OAorIzogZWxmMzItYXJtLmM6ODc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgW2hhcyBlbnRyeSBwb2ludF0iCiBtc2dzdHIgIiBbY8OzIMSRaeG7g20gdsOgb10iCiAKLSM6IGVsZjMyLWFybS5jOjcyODMKKyM6IGVsZjMyLWFybS5jOjg3NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiPFVucmVjb2duaXNlZCBmbGFnIGJpdHMgc2V0PiIKIG1zZ3N0ciAiPEPDoWMgYml0IGPhu50ga2jDtG5nIMSRxrDhu6NjIG5o4bqtbiByYSDEkcOjIMSRxrDhu6NjIMSR4bq3dD4iCiAKLSM6IGVsZjMyLWFybS5jOjc1MjIgZWxmMzItaTM4Ni5jOjk2MSBlbGYzMi1zMzkwLmM6MTAwMyBlbGYzMi14dGVuc2EuYzo4MTQKLSM6IGVsZjY0LXMzOTAuYzo5NTggZWxmNjQteDg2LTY0LmM6NzczIGVsZnh4LXNwYXJjLmM6MTExNQorIzogZWxmMzItYXJtLmM6OTAxMyBlbGYzMi1pMzg2LmM6MTIzNiBlbGYzMi1zMzkwLmM6MTAwNiBlbGYzMi14dGVuc2EuYzo5OTkKKyM6IGVsZjY0LXMzOTAuYzo5NjEgZWxmNjQteDg2LTY0LmM6MTAxNiBlbGZ4eC1zcGFyYy5jOjExMjcKIG1zZ2lkICIlQjogYmFkIHN5bWJvbCBpbmRleDogJWQiCiBtc2dzdHIgIiVCOiBjaOG7iSBt4bulYyBrw70gaGnhu4d1IHNhaTogJWQiCiAKLSM6IGVsZjMyLWFybS5jOjgwODAgZWxmMzItY3Jpcy5jOjI0MDAgZWxmMzItaHBwYS5jOjE5MDYgZWxmMzItaTM3MC5jOjUwNgotIzogZWxmMzItaTM4Ni5jOjE1MjIgZWxmMzItbTMyci5jOjE5MzEgZWxmMzItbTY4ay5jOjEzMzEgZWxmMzItcHBjLmM6NDMxNAotIzogZWxmMzItczM5MC5jOjE2NzkgZWxmMzItc2guYzoyNTg0IGVsZjMyLXZheC5jOjEwNTAgZWxmNjQtcHBjLmM6NTg5OAotIzogZWxmNjQtczM5MC5jOjE2NTQgZWxmNjQtc2g2NC5jOjM0MzggZWxmNjQteDg2LTY0LmM6MTM4MiBlbGYtbTEwMzAwLmM6NDIwNwotIzogZWxmeHgtc3BhcmMuYzoxNzk3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImR5bmFtaWMgdmFyaWFibGUgYCVzJyBpcyB6ZXJvIHNpemUiCi1tc2dzdHIgImJp4bq/biDEkeG7mW5nIMKrICVzIMK7IGPDsyBrw61jaCBj4buhIHPhu5Ega2jDtG5nIgotCi0jOiBlbGYzMi1hcm0uYzo4NjAzCisjOiBlbGYzMi1hcm0uYzoxMDEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvcnMgZW5jb3VudGVyZWQgcHJvY2Vzc2luZyBmaWxlICVzIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgeOG7rSBsw70gdOG6rXAgdGluICVzIgogCi0jOiBlbGYzMi1hcm0uYzo5ODM5IGVsZjMyLWFybS5jOjk4NjEKKyM6IGVsZjMyLWFybS5jOjExNTI2IGVsZjMyLWFybS5jOjExNTQ4CiBtc2dpZCAiJUI6IGVycm9yOiBWRlAxMSB2ZW5lZXIgb3V0IG9mIHJhbmdlIgogbXNnc3RyICIlQjogbOG7l2k6IGzhu5twIGfhu5cgbeG6t3QgVkZQMTEg4bufIG5nb+G6oWkgcGjhuqFtIHZpIgogCi0jOiBlbGYzMi1hdnIuYzoxMjUzIGVsZjMyLWJmaW4uYzoyNzk1IGVsZjMyLWNyMTYuYzo4ODcgZWxmMzItY3IxNmMuYzo3OTAKLSM6IGVsZjMyLWNyaXMuYzoxNTM4IGVsZjMyLWNyeC5jOjkzMyBlbGYzMi1kMTB2LmM6NTE3IGVsZjMyLWZyMzAuYzo2MTYKLSM6IGVsZjMyLWZydi5jOjQxMjkgZWxmMzItaDgzMDAuYzo1MTYgZWxmMzItaTg2MC5jOjEyMTggZWxmMzItaXAyay5jOjE0OTkKLSM6IGVsZjMyLWlxMjAwMC5jOjY0NyBlbGYzMi1tMzJjLmM6NTYwIGVsZjMyLW0zMnIuYzozMTI0IGVsZjMyLW02OGhjMXguYzoxMTMzCi0jOiBlbGYzMi1tZXAuYzo2NDIgZWxmMzItbXNwNDMwLmM6NDk3IGVsZjMyLW10LmM6NDAyIGVsZjMyLW9wZW5yaXNjLmM6NDExCi0jOiBlbGYzMi1zY29yZS5jOjI0NTYgZWxmMzItc3B1LmM6MjgxMyBlbGYzMi12ODUwLmM6MTcwMSBlbGYzMi14c3Rvcm15MTYuYzo5NDYKLSM6IGVsZjY0LW1taXguYzoxNTMzIGVsZi1tMTAyMDAuYzo0NTYgZWxmLW0xMDMwMC5jOjE1MjMKLW1zZ2lkICJpbnRlcm5hbCBlcnJvcjogb3V0IG9mIHJhbmdlIGVycm9yIgotbXNnc3RyICJs4buXaSBu4buZaSBi4buZIDogbOG7l2kg4bufIG5nb+G6oWkgcGjhuqFtIHZpIgotCi0jOiBlbGYzMi1hdnIuYzoxMjU3IGVsZjMyLWJmaW4uYzoyNzk5IGVsZjMyLWNyMTYuYzo4OTEgZWxmMzItY3IxNmMuYzo3OTQKLSM6IGVsZjMyLWNyaXMuYzoxNTQyIGVsZjMyLWNyeC5jOjkzNyBlbGYzMi1kMTB2LmM6NTIxIGVsZjMyLWZyMzAuYzo2MjAKLSM6IGVsZjMyLWZydi5jOjQxMzMgZWxmMzItaDgzMDAuYzo1MjAgZWxmMzItaTg2MC5jOjEyMjIgZWxmMzItaXEyMDAwLmM6NjUxCi0jOiBlbGYzMi1tMzJjLmM6NTY0IGVsZjMyLW0zMnIuYzozMTI4IGVsZjMyLW02OGhjMXguYzoxMTM3IGVsZjMyLW1lcC5jOjY0NgotIzogZWxmMzItbXNwNDMwLmM6NTAxIGVsZjMyLW9wZW5yaXNjLmM6NDE1IGVsZjMyLXNjb3JlLmM6MjQ2MCBlbGYzMi1zcHUuYzoyODE3Ci0jOiBlbGYzMi12ODUwLmM6MTcwNSBlbGYzMi14c3Rvcm15MTYuYzo5NTAgZWxmNjQtbW1peC5jOjE1MzcgZWxmLW0xMDIwMC5jOjQ2MAotIzogZWxmLW0xMDMwMC5jOjE1MjcgZWxmeHgtbWlwcy5jOjgwMjUKLW1zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgcmVsb2NhdGlvbiBlcnJvciIKLW1zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mSA6IGzhu5dpIMSR4buLbmggduG7iyBs4bqhaSBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyIKLQotIzogZWxmMzItYXZyLmM6MTI2MSBlbGYzMi1iZmluLmM6MjgwMyBlbGYzMi1jcmlzLmM6MTU0NiBlbGYzMi1mcjMwLmM6NjI0Ci0jOiBlbGYzMi1mcnYuYzo0MTM3IGVsZjMyLWk4NjAuYzoxMjI2IGVsZjMyLWlwMmsuYzoxNTEwIGVsZjMyLWlxMjAwMC5jOjY1NQotIzogZWxmMzItbTMyYy5jOjU2OCBlbGYzMi1tZXAuYzo2NTAgZWxmMzItbXNwNDMwLmM6NTA1IGVsZjMyLW10LmM6NDA2Ci0jOiBlbGYzMi1vcGVucmlzYy5jOjQxOSBlbGYzMi12ODUwLmM6MTcwOSBlbGYzMi14c3Rvcm15MTYuYzo5NTQKKyM6IGVsZjMyLWF2ci5jOjEyNTggZWxmMzItYmZpbi5jOjMyMjIgZWxmMzItY3Jpcy5jOjE1NDYgZWxmMzItZnIzMC5jOjYyNAorIzogZWxmMzItZnJ2LmM6NDEyMiBlbGYzMi1pODYwLmM6MTIyNiBlbGYzMi1pcDJrLmM6MTUxMCBlbGYzMi1pcTIwMDAuYzo2OTkKKyM6IGVsZjMyLW0zMmMuYzo1NjggZWxmMzItbWVwLmM6NTQ5IGVsZjMyLW1zcDQzMC5jOjUwMSBlbGYzMi1tdC5jOjQwNgorIzogZWxmMzItb3BlbnJpc2MuYzo0MTkgZWxmMzItdjg1MC5jOjE3MTEgZWxmMzIteHN0b3JteTE2LmM6OTU2CiAjOiBlbGY2NC1tbWl4LmM6MTU0MQogbXNnaWQgImludGVybmFsIGVycm9yOiBkYW5nZXJvdXMgcmVsb2NhdGlvbiIKIG1zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mSA6IMSR4buLbmggduG7iyBs4bqhaSBuZ3V5IGhp4buDbSIKIAotIzogZWxmMzItYXZyLmM6MTI2NSBlbGYzMi1iZmluLmM6MjgwNyBlbGYzMi1jcjE2LmM6ODk5IGVsZjMyLWNyMTZjLmM6ODAyCi0jOiBlbGYzMi1jcmlzLmM6MTU1MCBlbGYzMi1jcnguYzo5NDUgZWxmMzItZDEwdi5jOjUyOSBlbGYzMi1mcjMwLmM6NjI4Ci0jOiBlbGYzMi1mcnYuYzo0MTQxIGVsZjMyLWg4MzAwLmM6NTI4IGVsZjMyLWk4NjAuYzoxMjMwIGVsZjMyLWlwMmsuYzoxNTE0Ci0jOiBlbGYzMi1pcTIwMDAuYzo2NTkgZWxmMzItbTMyYy5jOjU3MiBlbGYzMi1tMzJyLmM6MzEzNiBlbGYzMi1tNjhoYzF4LmM6MTE0NQotIzogZWxmMzItbWVwLmM6NjU0IGVsZjMyLW1zcDQzMC5jOjUwOSBlbGYzMi1tdC5jOjQxMCBlbGYzMi1vcGVucmlzYy5jOjQyMwotIzogZWxmMzItc2NvcmUuYzoyNDY4IGVsZjMyLXNwdS5jOjI4MjUgZWxmMzItdjg1MC5jOjE3MjUgZWxmMzIteHN0b3JteTE2LmM6OTU4Ci0jOiBlbGY2NC1tbWl4LmM6MTU0NSBlbGYtbTEwMjAwLmM6NDY4IGVsZi1tMTAzMDAuYzoxNTQwCi1tc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gZXJyb3IiCi1tc2dzdHIgImzhu5dpIG7hu5lpIGLhu5kgOiBs4buXaSBraMO0bmcgcsO1IgotCi0jOiBlbGYzMi1hdnIuYzoyMzY5IGVsZjMyLWhwcGEuYzo1OTUgZWxmMzItbTY4aGMxeC5jOjE2NCBlbGY2NC1wcGMuYzozODAyCisjOiBlbGYzMi1hdnIuYzoyMzk2IGVsZjMyLWhwcGEuYzo2MDUgZWxmMzItbTY4aGMxeC5jOjE2NCBlbGY2NC1wcGMuYzozOTgzCiBtc2dpZCAiJUI6IGNhbm5vdCBjcmVhdGUgc3R1YiBlbnRyeSAlcyIKIG1zZ3N0ciAiJUI6IGtow7RuZyB0aOG7gyB04bqhbyBt4bulYyBuaOG6rXAgbeG6qXUgJXMiCiAKLSM6IGVsZjMyLWJmaW4uYzoyMjc0Ci1tc2dpZCAiJUI6IHJlbG9jYXRpb24gYXQgYCVBKzB4JXgnIHJlZmVyZW5jZXMgc3ltYm9sIGAlcycgd2l0aCBub256ZXJvIGFkZGVuZCIKLW1zZ3N0ciAiJUI6IMSR4buLbmggduG7iyBs4bqhaSDhu58gwqsgJUErMHgleCDCuyB0aGFtIGNoaeG6v3UgxJHhur9uIGvDvSBoaeG7h3UgwqsgJXMgwrsgduG7m2kgc+G7kSBo4bqhbmcga2jDoWMga2jDtG5nIgotCi0jOiBlbGYzMi1iZmluLmM6MjI4OCBlbGYzMi1mcnYuYzoyOTE5Ci1tc2dpZCAicmVsb2NhdGlvbiByZWZlcmVuY2VzIHN5bWJvbCBub3QgZGVmaW5lZCBpbiB0aGUgbW9kdWxlIgotbXNnc3RyICLEkeG7i25oIHbhu4sgbOG6oWkgdGhhbSBjaGnhur91IMSR4bq/biBrw70gaGnhu4d1IGtow7RuZyDEkcaw4bujYyDEkeG7i25oIG5naMSpYSB0cm9uZyBtw7QtxJF1biIKLQotIzogZWxmMzItYmZpbi5jOjIzODUKLW1zZ2lkICJSX0JGSU5fRlVOQ0RFU0MgcmVmZXJlbmNlcyBkeW5hbWljIHN5bWJvbCB3aXRoIG5vbnplcm8gYWRkZW5kIgotbXNnc3RyICJSX0ZSVl9GVU5DREVTQyB0aGFtIGNoaeG6v3UgxJHhur9uIGvDvSBoaeG7h3UgxJHhu5luZyB24bubaSBz4buRIGjhuqFuZyBraMOhYyBraMO0bmciCi0KLSM6IGVsZjMyLWJmaW4uYzoyNDI0IGVsZjMyLWJmaW4uYzoyNTQ3IGVsZjMyLWZydi5jOjM2NTYgZWxmMzItZnJ2LmM6Mzc3NwotbXNnaWQgImNhbm5vdCBlbWl0IGZpeHVwcyBpbiByZWFkLW9ubHkgc2VjdGlvbiIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIHBow6F0IHJhIHPhu7Egc+G7rWEgY2jhu69hIHRyb25nIHBo4bqnbiBjaOG7iSDEkeG7jWMiCi0KLSM6IGVsZjMyLWJmaW4uYzoyNDUyIGVsZjMyLWJmaW4uYzoyNTg3IGVsZjMyLWZydi5jOjM2ODcgZWxmMzItZnJ2LmM6MzgyMQotbXNnaWQgImNhbm5vdCBlbWl0IGR5bmFtaWMgcmVsb2NhdGlvbnMgaW4gcmVhZC1vbmx5IHNlY3Rpb24iCi1tc2dzdHIgImtow7RuZyB0aOG7gyBwaMOhdCByYSDEkeG7i25oIHbhu4sgbOG6oWkgxJHhu5luZyB0cm9uZyBwaOG6p24gY2jhu4kgxJHhu41jIgotCi0jOiBlbGYzMi1iZmluLmM6MjUwNQotbXNnaWQgIlJfQkZJTl9GVU5DREVTQ19WQUxVRSByZWZlcmVuY2VzIGR5bmFtaWMgc3ltYm9sIHdpdGggbm9uemVybyBhZGRlbmQiCi1tc2dzdHIgIlJfRlJWX0ZVTkNERVNDX1ZBTFVFIHRoYW0gY2hp4bq/dSDEkeG6v24ga8O9IGhp4buHdSDEkeG7mW5nIHbhu5tpIHPhu5EgaOG6oW5nIGtow6FjIGtow7RuZyIKLQotIzogZWxmMzItYmZpbi5jOjI2NzMKLW1zZ2lkICJyZWxvY2F0aW9ucyBiZXR3ZWVuIGRpZmZlcmVudCBzZWdtZW50cyBhcmUgbm90IHN1cHBvcnRlZCIKLW1zZ3N0ciAia2jDtG5nIGjhu5cgdHLhu6MgxJHhu4tuaCB24buLIGzhuqFpIGdp4buvYSBjw6FjIMSRb+G6oW4ga2jDoWMgbmhhdSIKLQotIzogZWxmMzItYmZpbi5jOjI2NzQKLW1zZ2lkICJ3YXJuaW5nOiByZWxvY2F0aW9uIHJlZmVyZW5jZXMgYSBkaWZmZXJlbnQgc2VnbWVudCIKLW1zZ3N0ciAiY+G6o25oIGLDoW8gOiDEkeG7i25oIHbhu4sgbOG6oWkgdGhhbSBjaGnhur91IMSR4bq/biBt4buZdCDEkW/huqFuIGtow6FjIgotCi0jOiBlbGYzMi1iZmluLmM6MzA4MworIzogZWxmMzItYmZpbi5jOjE1ODUKIG1zZ2lkICIlQiglQSsweCVseCk6IHVucmVzb2x2YWJsZSByZWxvY2F0aW9uIGFnYWluc3Qgc3ltYm9sIGAlcyciCiBtc2dzdHIgIiVCKCVBKzB4JWx4KTogxJHhu4tuaCB24buLIGzhuqFpIGtow7RuZyB0aOG7gyBnaeG6o2kgcXV54bq/dCDEkeG7kWkgduG7m2kga8O9IGhp4buHdSDCqyAlcyDCuyIKIAotIzogZWxmMzItYmZpbi5jOjMxMTYgZWxmMzItaTM4Ni5jOjMzNTEgZWxmMzItbTY4ay5jOjIwMjMgZWxmMzItczM5MC5jOjMxMDAKLSM6IGVsZjY0LXMzOTAuYzozMDYxIGVsZjY0LXg4Ni02NC5jOjMwNDEKKyM6IGVsZjMyLWJmaW4uYzoxNjE4IGVsZjMyLWkzODYuYzozNjIzIGVsZjMyLW02OGsuYzozNTU3IGVsZjMyLXMzOTAuYzozMTEwCisjOiBlbGY2NC1zMzkwLmM6MzA3MSBlbGY2NC14ODYtNjQuYzozMjc4CiBtc2dpZCAiJUIoJUErMHglbHgpOiByZWxvYyBhZ2FpbnN0IGAlcyc6IGVycm9yICVkIgogbXNnc3RyICIlQiglQSsweCVseCk6IMSR4buLbmggduG7iyBs4bqhaSDEkeG7kWkgduG7m2kgwqsgJXMgwrs6IGzhu5dpICVkIgogCi0jOiBlbGYzMi1iZmluLmM6NDY4NyBlbGYzMi1mcnYuYzo2NDIzCisjOiBlbGYzMi1iZmluLmM6MjcxMQorbXNnaWQgIiVCOiByZWxvY2F0aW9uIGF0IGAlQSsweCV4JyByZWZlcmVuY2VzIHN5bWJvbCBgJXMnIHdpdGggbm9uemVybyBhZGRlbmQiCittc2dzdHIgIiVCOiDEkeG7i25oIHbhu4sgbOG6oWkg4bufIMKrICVBKzB4JXggwrsgdGhhbSBjaGnhur91IMSR4bq/biBrw70gaGnhu4d1IMKrICVzIMK7IHbhu5tpIHPhu5EgaOG6oW5nIGtow6FjIGtow7RuZyIKKworIzogZWxmMzItYmZpbi5jOjI3MjUgZWxmMzItZnJ2LmM6MjkwNAorbXNnaWQgInJlbG9jYXRpb24gcmVmZXJlbmNlcyBzeW1ib2wgbm90IGRlZmluZWQgaW4gdGhlIG1vZHVsZSIKK21zZ3N0ciAixJHhu4tuaCB24buLIGzhuqFpIHRoYW0gY2hp4bq/dSDEkeG6v24ga8O9IGhp4buHdSBraMO0bmcgxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEgdHJvbmcgbcO0LcSRdW4iCisKKyM6IGVsZjMyLWJmaW4uYzoyODIyCittc2dpZCAiUl9CRklOX0ZVTkNERVNDIHJlZmVyZW5jZXMgZHluYW1pYyBzeW1ib2wgd2l0aCBub256ZXJvIGFkZGVuZCIKK21zZ3N0ciAiUl9GUlZfRlVOQ0RFU0MgdGhhbSBjaGnhur91IMSR4bq/biBrw70gaGnhu4d1IMSR4buZbmcgduG7m2kgc+G7kSBo4bqhbmcga2jDoWMga2jDtG5nIgorCisjOiBlbGYzMi1iZmluLmM6Mjg2MSBlbGYzMi1iZmluLmM6Mjk4NyBlbGYzMi1mcnYuYzozNjQxIGVsZjMyLWZydi5jOjM3NjIKK21zZ2lkICJjYW5ub3QgZW1pdCBmaXh1cHMgaW4gcmVhZC1vbmx5IHNlY3Rpb24iCittc2dzdHIgIktow7RuZyB0aOG7gyBwaMOhdCByYSBz4buxIHPhu61hIGNo4buvYSB0cm9uZyBwaOG6p24gY2jhu4kgxJHhu41jIgorCisjOiBlbGYzMi1iZmluLmM6Mjg4OSBlbGYzMi1iZmluLmM6MzAzNiBlbGYzMi1mcnYuYzozNjcyIGVsZjMyLWZydi5jOjM4MDYKK21zZ2lkICJjYW5ub3QgZW1pdCBkeW5hbWljIHJlbG9jYXRpb25zIGluIHJlYWQtb25seSBzZWN0aW9uIgorbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDoXQgcmEgxJHhu4tuaCB24buLIGzhuqFpIMSR4buZbmcgdHJvbmcgcGjhuqduIGNo4buJIMSR4buNYyIKKworIzogZWxmMzItYmZpbi5jOjI5NDUKK21zZ2lkICJSX0JGSU5fRlVOQ0RFU0NfVkFMVUUgcmVmZXJlbmNlcyBkeW5hbWljIHN5bWJvbCB3aXRoIG5vbnplcm8gYWRkZW5kIgorbXNnc3RyICJSX0ZSVl9GVU5DREVTQ19WQUxVRSB0aGFtIGNoaeG6v3UgxJHhur9uIGvDvSBoaeG7h3UgxJHhu5luZyB24bubaSBz4buRIGjhuqFuZyBraMOhYyBraMO0bmciCisKKyM6IGVsZjMyLWJmaW4uYzozMTI2Cittc2dpZCAicmVsb2NhdGlvbnMgYmV0d2VlbiBkaWZmZXJlbnQgc2VnbWVudHMgYXJlIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgImtow7RuZyBo4buXIHRy4bujIMSR4buLbmggduG7iyBs4bqhaSBnaeG7r2EgY8OhYyDEkW/huqFuIGtow6FjIG5oYXUiCisKKyM6IGVsZjMyLWJmaW4uYzozMTI3Cittc2dpZCAid2FybmluZzogcmVsb2NhdGlvbiByZWZlcmVuY2VzIGEgZGlmZmVyZW50IHNlZ21lbnQiCittc2dzdHIgImPhuqNuaCBiw6FvIDogxJHhu4tuaCB24buLIGzhuqFpIHRoYW0gY2hp4bq/dSDEkeG6v24gbeG7mXQgxJFv4bqhbiBraMOhYyIKKworIzogZWxmMzItYmZpbi5jOjQ3OTEgZWxmMzItZnJ2LmM6NjQwNAogbXNnaWQgIiVCOiB1bnN1cHBvcnRlZCByZWxvY2F0aW9uIHR5cGUgJWkiCiBtc2dzdHIgIiVCOiBraeG7g3UgxJHhu4tuaCB24buLIGzhuqFpIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujICVpIgogCi0jOiBlbGYzMi1iZmluLmM6NDg2OCBlbGYzMi1mcnYuYzo2ODMxCisjOiBlbGYzMi1iZmluLmM6NDk0NCBlbGYzMi1mcnYuYzo2ODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbGluayBub24tZmRwaWMgb2JqZWN0IGZpbGUgaW50byBmZHBpYyBleGVjdXRhYmxlIgogbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGxpw6puIGvhur90IHThuq1wIHRpbiDEkeG7kWkgdMaw4bujbmcga2jDoWMgZmRwaWMgdsOgbyB04bqtcCB0aW4gZmRwaWMgY8OzIHRo4buDIHRo4buxYyBoaeG7h24iCiAKLSM6IGVsZjMyLWJmaW4uYzo0ODcyIGVsZjMyLWZydi5jOjY4MzUKKyM6IGVsZjMyLWJmaW4uYzo0OTQ4IGVsZjMyLWZydi5jOjY4MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBsaW5rIGZkcGljIG9iamVjdCBmaWxlIGludG8gbm9uLWZkcGljIGV4ZWN1dGFibGUiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgbGnDqm4ga+G6v3QgdOG6rXAgdGluIMSR4buRaSB0xrDhu6NuZyBraMOhYyBmZHBpYyB2w6BvIHThuq1wIHRpbiBraMOhYyBmZHBpYyBjw7MgdGjhu4MgdGjhu7FjIGhp4buHbiIKIAotIzogZWxmMzItY3IxNi5jOjg5NSBlbGYzMi1jcjE2Yy5jOjc5OCBlbGYzMi1jcnguYzo5NDEgZWxmMzItZDEwdi5jOjUyNQotIzogZWxmMzItaDgzMDAuYzo1MjQgZWxmMzItbTMyci5jOjMxMzIgZWxmMzItbTY4aGMxeC5jOjExNDEgZWxmMzItc2NvcmUuYzoyNDY0Ci0jOiBlbGYzMi1zcHUuYzoyODIxIGVsZi1tMTAyMDAuYzo0NjQKLW1zZ2lkICJpbnRlcm5hbCBlcnJvcjogZGFuZ2Vyb3VzIGVycm9yIgotbXNnc3RyICJs4buXaSBu4buZaSBi4buZIDogbOG7l2kgbmd1eSBoaeG7g20iCi0KICM6IGVsZjMyLWNyaXMuYzoxMDYwCiBtc2dpZCAiJUIsIHNlY3Rpb24gJUE6IHVucmVzb2x2YWJsZSByZWxvY2F0aW9uICVzIGFnYWluc3Qgc3ltYm9sIGAlcyciCiBtc2dzdHIgIiVCLCBwaOG6p24gJUE6IMSR4buLbmggduG7iyBs4bqhaSBraMO0bmcgdGjhu4MgZ2nhuqNpIHF1eeG6v3QgJXMgxJHhu5FpIHbhu5tpIGvDvSBoaeG7h3UgwqsgJXMgwrsiCkBAIC0xMDg5LDcgKzEyNjEsNyBAQAogbXNnaWQgIiVCOiBJbnRlcm5hbCBpbmNvbnNpc3RlbmN5OyBubyByZWxvY2F0aW9uIHNlY3Rpb24gJXMiCiBtc2dzdHIgIiVzOiBT4buxIG3DonUgdGh14bqrbiBu4buZaSBi4buZIDsga2jDtG5nIGPDsyBwaOG6p24gxJHhu4tuaCB24buLIGzhuqFpICVzIgogCi0jOiBlbGYzMi1jcmlzLmM6MjUxMQorIzogZWxmMzItY3Jpcy5jOjI1MTAKIG1zZ2lkICIiCiAiJUIsIHNlY3Rpb24gJUE6XG4iCiAiICB2MTAvdjMyIGNvbXBhdGlibGUgb2JqZWN0ICVzIG11c3Qgbm90IGNvbnRhaW4gYSBQSUMgcmVsb2NhdGlvbiIKQEAgLTEwOTcsNyArMTI2OSw3IEBACiAiJUIsIHBo4bqnbiAlQTpcbiIKICIgIMSR4buRaSB0xrDhu6NuZyB0xrDGoW5nIHRow61jaCB2MTAvdjMyICVzIGtow7RuZyDEkcaw4bujYyBjaOG7qWEgxJHhu4tuaCB24buLIGzhuqFpIFBJQyIKIAotIzogZWxmMzItY3Jpcy5jOjI2OTggZWxmMzItY3Jpcy5jOjI3NjYKKyM6IGVsZjMyLWNyaXMuYzoyNjk3IGVsZjMyLWNyaXMuYzoyNzY1CiBtc2dpZCAiIgogIiVCLCBzZWN0aW9uICVBOlxuIgogIiAgcmVsb2NhdGlvbiAlcyBzaG91bGQgbm90IGJlIHVzZWQgaW4gYSBzaGFyZWQgb2JqZWN0OyByZWNvbXBpbGUgd2l0aCAtZlBJQyIKQEAgLTExMDUsMTI5ICsxMjc3LDEyOSBAQAogIiVCLCBwaOG6p24gJUE6XG4iCiAiICBraMO0bmcgxJHGsOG7o2Mgc+G7rSBk4bulbmcgxJHhu4tuaCB24buLIGzhuqFpICVzIHRyb25nIG3hu5l0IMSR4buRaSB0xrDhu6NuZyBjaGlhIHPhurs7IGjDo3kgYmnDqm4gZOG7i2NoIGzhuqFpIHbhu5tpIC1mUElDIgogCi0jOiBlbGYzMi1jcmlzLmM6MzE4MworIzogZWxmMzItY3Jpcy5jOjMxODQKIG1zZ2lkICJVbmV4cGVjdGVkIG1hY2hpbmUgbnVtYmVyIgogbXNnc3RyICJT4buRIHRo4bupIHThu7EgbcOheSBi4bqldCB0aMaw4budbmciCiAKLSM6IGVsZjMyLWNyaXMuYzozMjM3CisjOiBlbGYzMi1jcmlzLmM6MzIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgW3N5bWJvbHMgaGF2ZSBhIF8gcHJlZml4XSIKIG1zZ3N0ciAiIFtrw70gaGnhu4d1IGPDsyBt4buZdCB0aeG7gW4gdOG7kSBfXSIKIAotIzogZWxmMzItY3Jpcy5jOjMyNDAKKyM6IGVsZjMyLWNyaXMuYzozMjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbdjEwIGFuZCB2MzJdIgogbXNnc3RyICIgW3YxMCB2w6AgdjMyXSIKIAotIzogZWxmMzItY3Jpcy5jOjMyNDMKKyM6IGVsZjMyLWNyaXMuYzozMjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbdjMyXSIKIG1zZ3N0ciAiIFt2MzJdIgogCi0jOiBlbGYzMi1jcmlzLmM6MzI4OAorIzogZWxmMzItY3Jpcy5jOjMyODkKIG1zZ2lkICIlQjogdXNlcyBfLXByZWZpeGVkIHN5bWJvbHMsIGJ1dCB3cml0aW5nIGZpbGUgd2l0aCBub24tcHJlZml4ZWQgc3ltYm9scyIKIG1zZ3N0ciAiJUI6IGTDuW5nIGvDvSBoaeG7h3UgdGnhu4FuIHThu5EgXywgbmjGsG5nIMSRYW5nIGdoaSB04bqtcCB0aW4gduG7m2kga8O9IGhp4buHdSBraMO0bmcgcGjhuqNpIHRp4buBbiB04buRIgogCi0jOiBlbGYzMi1jcmlzLmM6MzI4OQorIzogZWxmMzItY3Jpcy5jOjMyOTAKIG1zZ2lkICIlQjogdXNlcyBub24tcHJlZml4ZWQgc3ltYm9scywgYnV0IHdyaXRpbmcgZmlsZSB3aXRoIF8tcHJlZml4ZWQgc3ltYm9scyIKIG1zZ3N0ciAiJUI6IGTDuW5nIGvDvSBoaeG7h3Uga2jDtG5nIHBo4bqjaSB0aeG7gW4gdOG7kSwgbmjGsG5nIMSRYW5nIGdoaSB04bqtcCB0aW4gduG7m2kga8O9IGhp4buHdSBjw7MgdGnhu4FuIHThu5EgXyIKIAotIzogZWxmMzItY3Jpcy5jOjMzMDgKKyM6IGVsZjMyLWNyaXMuYzozMzA5CiBtc2dpZCAiJUIgY29udGFpbnMgQ1JJUyB2MzIgY29kZSwgaW5jb21wYXRpYmxlIHdpdGggcHJldmlvdXMgb2JqZWN0cyIKIG1zZ3N0ciAiJUIgY2jhu6lhIG3DoyBDUklTIHYzMiwga2jDtG5nIHTGsMahbmcgdGjDrWNoIHbhu5tpIGPDoWMgxJHhu5FpIHTGsOG7o25nIHRyxrDhu5tjIgogCi0jOiBlbGYzMi1jcmlzLmM6MzMxMAorIzogZWxmMzItY3Jpcy5jOjMzMTEKIG1zZ2lkICIlQiBjb250YWlucyBub24tQ1JJUy12MzIgY29kZSwgaW5jb21wYXRpYmxlIHdpdGggcHJldmlvdXMgb2JqZWN0cyIKIG1zZ3N0ciAiJUIgY2jhu6lhIG3DoyBraMOhYyBDUklTIHYzMiwga2jDtG5nIHTGsMahbmcgdGjDrWNoIHbhu5tpIGPDoWMgxJHhu5FpIHTGsOG7o25nIHRyxrDhu5tjIgogCi0jOiBlbGYzMi1mcnYuYzoxNTIzIGVsZjMyLWZydi5jOjE2NzIKKyM6IGVsZjMyLWZydi5jOjE1MDcgZWxmMzItZnJ2LmM6MTY1NgogbXNnaWQgInJlbG9jYXRpb24gcmVxdWlyZXMgemVybyBhZGRlbmQiCiBtc2dzdHIgIsSR4buLbmggduG7iyBs4bqhaSBj4bqnbiB0aGnhur90IHPhu5EgaOG6oW5nIHPhu5Ega2jDtG5nIgogCi0jOiBlbGYzMi1mcnYuYzoyOTA2CisjOiBlbGYzMi1mcnYuYzoyODkxCiBtc2dpZCAiJUIoJUErMHgleCk6IHJlbG9jYXRpb24gdG8gYCVzKyV4JyBtYXkgaGF2ZSBjYXVzZWQgdGhlIGVycm9yIGFib3ZlIgogbXNnc3RyICIlQiglQSsweCV4KTogxJHhu4tuaCB24buLIGzhuqFpIHThu5tpIMKrICVzKyV4IMK7IGPDsyB0aOG7gyBnw6J5IHJhIGzhu5dpIHRyw6puIgogCi0jOiBlbGYzMi1mcnYuYzoyOTk1CisjOiBlbGYzMi1mcnYuYzoyOTgwCiBtc2dpZCAiUl9GUlZfR0VUVExTT0ZGIG5vdCBhcHBsaWVkIHRvIGEgY2FsbCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiUl9GUlZfR0VUVExTT0ZGIGtow7RuZyDDoXAgZOG7pW5nIHThu5tpIG3hu5l0IGNo4buJIGThuqtuIGNhbGwiCiAKLSM6IGVsZjMyLWZydi5jOjMwMzcKKyM6IGVsZjMyLWZydi5jOjMwMjIKIG1zZ2lkICJSX0ZSVl9HT1RUTFNERVNDMTIgbm90IGFwcGxpZWQgdG8gYW4gbGRkaSBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiUl9GUlZfR09UVExTREVTQzEyIGtow7RuZyDDoXAgZOG7pW5nIHThu5tpIG3hu5l0IGNo4buJIGThuqtuIGxkZGkiCiAKLSM6IGVsZjMyLWZydi5jOjMxMDgKKyM6IGVsZjMyLWZydi5jOjMwOTMKIG1zZ2lkICJSX0ZSVl9HT1RUTFNERVNDSEkgbm90IGFwcGxpZWQgdG8gYSBzZXRoaSBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiUl9GUlZfR09UVExTREVTQ0hJIGtow7RuZyDDoXAgZOG7pW5nIHThu5tpIG3hu5l0IGNo4buJIGThuqtuIHNldGhpIgogCi0jOiBlbGYzMi1mcnYuYzozMTQ1CisjOiBlbGYzMi1mcnYuYzozMTMwCiBtc2dpZCAiUl9GUlZfR09UVExTREVTQ0xPIG5vdCBhcHBsaWVkIHRvIGEgc2V0bG8gb3Igc2V0bG9zIGluc3RydWN0aW9uIgogbXNnc3RyICJSX0ZSVl9HT1RUTFNERVNDTE8ga2jDtG5nIMOhcCBk4bulbmcgdOG7m2kgbeG7mXQgY2jhu4kgZOG6q24gc2V0bG8gaGF5IHNldGxvcyIKIAotIzogZWxmMzItZnJ2LmM6MzE5MworIzogZWxmMzItZnJ2LmM6MzE3OAogbXNnaWQgIlJfRlJWX1RMU0RFU0NfUkVMQVggbm90IGFwcGxpZWQgdG8gYW4gbGRkIGluc3RydWN0aW9uIgogbXNnc3RyICJSX0ZSVl9UTFNERVNDX1JFTEFYIGtow7RuZyDDoXAgZOG7pW5nIHThu5tpIG3hu5l0IGNo4buJIGThuqtuIGxkZCIKIAotIzogZWxmMzItZnJ2LmM6MzI3NworIzogZWxmMzItZnJ2LmM6MzI2MgogbXNnaWQgIlJfRlJWX0dFVFRMU09GRl9SRUxBWCBub3QgYXBwbGllZCB0byBhIGNhbGxsIGluc3RydWN0aW9uIgogbXNnc3RyICJSX0ZSVl9HRVRUTFNPRkZfUkVMQVgga2jDtG5nIMOhcCBk4bulbmcgdOG7m2kgbeG7mXQgY2jhu4kgZOG6q24gY2FsbGwiCiAKLSM6IGVsZjMyLWZydi5jOjMzMzIKKyM6IGVsZjMyLWZydi5jOjMzMTcKIG1zZ2lkICJSX0ZSVl9HT1RUTFNPRkYxMiBub3QgYXBwbGllZCB0byBhbiBsZGkgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIlJfRlJWX0dPVFRMU09GRjEyIGtow7RuZyDDoXAgZOG7pW5nIHThu5tpIG3hu5l0IGNo4buJIGThuqtuIGxkaSIKIAotIzogZWxmMzItZnJ2LmM6MzM2MgorIzogZWxmMzItZnJ2LmM6MzM0NwogbXNnaWQgIlJfRlJWX0dPVFRMU09GRkhJIG5vdCBhcHBsaWVkIHRvIGEgc2V0aGkgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIlJfRlJWX0dPVFRMU09GRkhJIGtow7RuZyDDoXAgZOG7pW5nIHThu5tpIG3hu5l0IGNo4buJIGThuqtuIHNldGhpIgogCi0jOiBlbGYzMi1mcnYuYzozMzkxCisjOiBlbGYzMi1mcnYuYzozMzc2CiBtc2dpZCAiUl9GUlZfR09UVExTT0ZGTE8gbm90IGFwcGxpZWQgdG8gYSBzZXRsbyBvciBzZXRsb3MgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIlJfRlJWX0dPVFRMU09GRkxPIGtow7RuZyDDoXAgZOG7pW5nIHThu5tpIG3hu5l0IGNo4buJIGThuqtuIHNldGxvIGhheSBzZXRsb3MiCiAKLSM6IGVsZjMyLWZydi5jOjM0MjIKKyM6IGVsZjMyLWZydi5jOjM0MDcKIG1zZ2lkICJSX0ZSVl9UTFNPRkZfUkVMQVggbm90IGFwcGxpZWQgdG8gYW4gbGQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIlJfRlJWX1RMU09GRl9SRUxBWCBraMO0bmcgw6FwIGThu6VuZyB04bubaSBt4buZdCBjaOG7iSBk4bqrbiBsZCIKIAotIzogZWxmMzItZnJ2LmM6MzQ2NworIzogZWxmMzItZnJ2LmM6MzQ1MgogbXNnaWQgIlJfRlJWX1RMU01PRkZISSBub3QgYXBwbGllZCB0byBhIHNldGhpIGluc3RydWN0aW9uIgogbXNnc3RyICJSX0ZSVl9UTFNNT0ZGSEkga2jDtG5nIMOhcCBk4bulbmcgdOG7m2kgbeG7mXQgY2jhu4kgZOG6q24gc2V0aGkiCiAKLSM6IGVsZjMyLWZydi5jOjM0OTQKKyM6IGVsZjMyLWZydi5jOjM0NzkKIG1zZ2lkICJSX0ZSVl9UTFNNT0ZGTE8gbm90IGFwcGxpZWQgdG8gYSBzZXRsbyBvciBzZXRsb3MgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIlJfRlJWX1RMU01PRkZMTyBraMO0bmcgw6FwIGThu6VuZyB04bubaSBt4buZdCBjaOG7iSBk4bqrbiBzZXRsbyBoYXkgc2V0bG9zIgogCi0jOiBlbGYzMi1mcnYuYzozNjE1CisjOiBlbGYzMi1mcnYuYzozNjAwCiBtc2dpZCAiUl9GUlZfRlVOQ0RFU0MgcmVmZXJlbmNlcyBkeW5hbWljIHN5bWJvbCB3aXRoIG5vbnplcm8gYWRkZW5kIgogbXNnc3RyICJSX0ZSVl9GVU5DREVTQyB0aGFtIGNoaeG6v3UgxJHhur9uIGvDvSBoaeG7h3UgxJHhu5luZyB24bubaSBz4buRIGjhuqFuZyBraMOhYyBraMO0bmciCiAKLSM6IGVsZjMyLWZydi5jOjM3MzUKKyM6IGVsZjMyLWZydi5jOjM3MjAKIG1zZ2lkICJSX0ZSVl9GVU5DREVTQ19WQUxVRSByZWZlcmVuY2VzIGR5bmFtaWMgc3ltYm9sIHdpdGggbm9uemVybyBhZGRlbmQiCiBtc2dzdHIgIlJfRlJWX0ZVTkNERVNDX1ZBTFVFIHRoYW0gY2hp4bq/dSDEkeG6v24ga8O9IGhp4buHdSDEkeG7mW5nIHbhu5tpIHPhu5EgaOG6oW5nIGtow6FjIGtow7RuZyIKIAotIzogZWxmMzItZnJ2LmM6Mzk5MiBlbGYzMi1mcnYuYzo0MTQ4CisjOiBlbGYzMi1mcnYuYzozOTc3IGVsZjMyLWZydi5jOjQxMzMKIG1zZ2lkICIlQiglQSsweCVseCk6IHJlbG9jIGFnYWluc3QgYCVzJzogJXMiCiBtc2dzdHIgIiVCKCVBKzB4JWx4KTogxJHhu4tuaCB24buLIGzhuqFpIMSR4buRaSB24bubaSDCqyAlcyDCuzogJXMiCiAKLSM6IGVsZjMyLWZydi5jOjM5OTQgZWxmMzItZnJ2LmM6Mzk5OAorIzogZWxmMzItZnJ2LmM6Mzk3OSBlbGYzMi1mcnYuYzozOTgzCiBtc2dpZCAicmVsb2NhdGlvbiByZWZlcmVuY2VzIGEgZGlmZmVyZW50IHNlZ21lbnQiCiBtc2dzdHIgIsSR4buLbmggduG7iyBs4bqhaSB0aGFtIGNoaeG6v3UgxJHhur9uIG3hu5l0IMSRb+G6oW4ga2jDoWMiCiAKLSM6IGVsZjMyLWZydi5jOjY3NDUKKyM6IGVsZjMyLWZydi5jOjY3MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbXBpbGVkIHdpdGggJXMgYW5kIGxpbmtlZCB3aXRoIG1vZHVsZXMgdGhhdCB1c2Ugbm9uLXBpYyByZWxvY2F0aW9ucyIKIG1zZ3N0ciAiJXM6IGJpw6puIGThu4tjaCB24bubaSAlcyB2w6AgbGnDqm4ga+G6v3QgduG7m2kgbcO0xJF1biBz4butIGThu6VuZyDEkeG7i25oIHbhu4sgbOG6oWkga2jDoWMgcGljIgogCi0jOiBlbGYzMi1mcnYuYzo2Nzk4IGVsZjMyLWlxMjAwMC5jOjgwOCBlbGYzMi1tMzJjLmM6ODE5CisjOiBlbGYzMi1mcnYuYzo2Nzc5IGVsZjMyLWlxMjAwMC5jOjg1MiBlbGYzMi1tMzJjLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjb21waWxlZCB3aXRoICVzIGFuZCBsaW5rZWQgd2l0aCBtb2R1bGVzIGNvbXBpbGVkIHdpdGggJXMiCiBtc2dzdHIgIiVzOiBiacOqbiBk4buLY2ggduG7m2kgJXMgdsOgIGxpw6puIGvhur90IHbhu5tpIG3DtMSRdW4gYmnDqm4gZOG7i2NoIHbhu5tpICVzIgogCi0jOiBlbGYzMi1mcnYuYzo2ODEwCisjOiBlbGYzMi1mcnYuYzo2NzkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1c2VzIGRpZmZlcmVudCB1bmtub3duIGVfZmxhZ3MgKDB4JWx4KSBmaWVsZHMgdGhhbiBwcmV2aW91cyBtb2R1bGVzICgweCVseCkiCiBtc2dzdHIgIiVzOiBz4butIGThu6VuZyB0csaw4budbmcgZV9mbGFncyBraMO0bmcgcsO1ICgweCVseCkga2jDoWMgduG7m2kgbW/EkXVuIHRyxrDhu5tjICgweCVseCkiCiAKLSM6IGVsZjMyLWZydi5jOjY4NjAgZWxmMzItaXEyMDAwLmM6ODQ1IGVsZjMyLW0zMmMuYzo4NTUgZWxmMzItbXQuYzo1ODcKKyM6IGVsZjMyLWZydi5jOjY4NDEgZWxmMzItaXEyMDAwLmM6ODg5IGVsZjMyLW0zMmMuYzo4NTAgZWxmMzItbXQuYzo1ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJpdmF0ZSBmbGFncyA9IDB4JWx4OiIKIG1zZ3N0ciAiY8OhYyBj4budIHJpw6puZyA9IDB4JWx4OiIKQEAgLTEyMzYsNTUgKzE0MDgsNzkgQEAKIG1zZ2lkICIlQjogUmVsb2NhdGlvbnMgaW4gZ2VuZXJpYyBFTEYgKEVNOiAlZCkiCiBtc2dzdHIgIiVCOiDEkOG7i25oIHbhu4sgbOG6oWkgdHJvbmcgRUxGIGNodW5nIChFTTogJWQpIgogCi0jOiBlbGYzMi1ocHBhLmM6ODQ0IGVsZjMyLWhwcGEuYzozNTc3CisjOiBlbGYzMi1ocHBhLmM6ODU0IGVsZjMyLWhwcGEuYzozNjAwCiBtc2dpZCAiJUIoJUErMHglbHgpOiBjYW5ub3QgcmVhY2ggJXMsIHJlY29tcGlsZSB3aXRoIC1mZnVuY3Rpb24tc2VjdGlvbnMiCiBtc2dzdHIgIiVCKCVBKzB4JWx4KToga2jDtG5nIHRo4buDIHThu5tpICVzLCBow6N5IGJpw6puIGThu4tjaCBs4bqhaSB24bubaSDCqyAtZmZ1bmN0aW9uLXNlY3Rpb25zIMK7IgogCi0jOiBlbGYzMi1ocHBhLmM6MTI1MworIzogZWxmMzItaHBwYS5jOjEyNjMKIG1zZ2lkICIlQjogcmVsb2NhdGlvbiAlcyBjYW4gbm90IGJlIHVzZWQgd2hlbiBtYWtpbmcgYSBzaGFyZWQgb2JqZWN0OyByZWNvbXBpbGUgd2l0aCAtZlBJQyIKIG1zZ3N0ciAiJUI6IGtow7RuZyBkw7luZyDEkcaw4bujYyDEkeG7i25oIHbhu4sgbOG6oWkgJXMga2hpIHThuqFvIG3hu5l0IMSR4buRaSB0xrDhu6NuZyBjaGlhIHPhur0sIGjDo3kgYmnDqm4gZOG7i2NoIGzhuqFpIHbhu5tpIMKrIC1mUElDIMK7IgogCi0jOiBlbGYzMi1ocHBhLmM6MTUwNgorIzogZWxmMzItaHBwYS5jOjE1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVsb2NhdGlvbiBzZWN0aW9uIGZvciAlcyIKIG1zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5IHBo4bqnbiDEkeG7i25oIHbhu4sgbOG6oWkgY2hvICVzIgogCi0jOiBlbGYzMi1ocHBhLmM6Mjc5NQorIzogZWxmMzItaHBwYS5jOjI4MTAKIG1zZ2lkICIlQjogZHVwbGljYXRlIGV4cG9ydCBzdHViICVzIgogbXNnc3RyICIlQjogbeG6qXUgeHXhuqV0IHRyw7luZyAlcyIKIAotIzogZWxmMzItaHBwYS5jOjM0MTMKKyM6IGVsZjMyLWhwcGEuYzozNDM2CiBtc2dpZCAiJUIoJUErMHglbHgpOiAlcyBmaXh1cCBmb3IgaW5zbiAweCV4IGlzIG5vdCBzdXBwb3J0ZWQgaW4gYSBub24tc2hhcmVkIGxpbmsiCiBtc2dzdHIgIiVCKCVBKzB4JWx4KTogJXMgc+G7sSBz4butYSBjaOG7r2EgY2hvIGNo4buJIGThuqtuIDB4JXgga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgdHJvbmcgbeG7mXQgbGnDqm4ga+G6v3Qga2jDtG5nIGNoaWEgc+G6uyIKIAotIzogZWxmMzItaHBwYS5jOjQyNjcKKyM6IGVsZjMyLWhwcGEuYzo0MjkwCiBtc2dpZCAiJUIoJUErMHglbHgpOiBjYW5ub3QgaGFuZGxlICVzIGZvciAlcyIKIG1zZ3N0ciAiJUIoJUErMHglbHgpOiBraMO0bmcgdGjhu4MgeOG7rSBsw70gJXMgY2hvICVzIgogCi0jOiBlbGYzMi1ocHBhLmM6NDU3NAorIzogZWxmMzItaHBwYS5jOjQ1OTcKIG1zZ2lkICIuZ290IHNlY3Rpb24gbm90IGltbWVkaWF0ZWx5IGFmdGVyIC5wbHQgc2VjdGlvbiIKIG1zZ3N0ciAiUGjhuqduIC5nb3Qga2jDtG5nIG7hurFtIG5nYXkgc2F1IHBo4bqnbiAucGl0IgogCi0jOiBlbGYzMi1pMzg2LmM6MzY0IGVsZjMyLXBwYy5jOjE2MTYgZWxmMzItczM5MC5jOjM3OSBlbGY2NC1wcGMuYzoyMTQ4Ci0jOiBlbGY2NC1zMzkwLmM6NDAzIGVsZjY0LXg4Ni02NC5jOjIyMQorIzogZWxmMzItaTM4Ni5jOjM2MiBlbGYzMi1wcGMuYzoxNjE2IGVsZjMyLXMzOTAuYzozNzkgZWxmNjQtcHBjLmM6MjE1MworIzogZWxmNjQtczM5MC5jOjQwMyBlbGY2NC14ODYtNjQuYzoyMjIKIG1zZ2lkICIlQjogaW52YWxpZCByZWxvY2F0aW9uIHR5cGUgJWQiCiBtc2dzdHIgIiVCOiBraeG7g3UgxJHhu4tuaCB24buLIGzhuqFpIGtow7RuZyBo4bujcCBs4buHICVkIgogCi0jOiBlbGYzMi1pMzg2LmM6MTA4NSBlbGYzMi1zMzkwLmM6MTE4NSBlbGYzMi1zaC5jOjUwNjMgZWxmNjQtczM5MC5jOjExNDkKLSM6IGVsZnh4LXNwYXJjLmM6MTI0MworIzogZWxmMzItaTM4Ni5jOjExODMgZWxmNjQteDg2LTY0LmM6OTY0Cittc2dpZCAiJUI6IFRMUyB0cmFuc2l0aW9uIGZyb20gJXMgdG8gJXMgYWdhaW5zdCBgJXMnIGF0IDB4JWx4IGluIHNlY3Rpb24gYCVBJyBmYWlsZWQiCittc2dzdHIgIiVCOiBraMO0bmcgdGjDoG5oIGPDtG5nIGNodXnhu4NuIHRp4bq/cCBUTFMgdOG7qyAlcyBzYW5nICVzIMSR4buRaSB24bubaSDCqyAlcyDCuyDhu58gMHglbHggdHJvbmcgcGjhuqduIMKrICVBIMK7IgorCisjOiBlbGYzMi1pMzg2LmM6MTM2NCBlbGYzMi1zMzkwLmM6MTE4OCBlbGYzMi1zaC5jOjUwOTggZWxmMzIteHRlbnNhLmM6MTE2MgorIzogZWxmNjQtczM5MC5jOjExNTIgZWxmeHgtc3BhcmMuYzoxMjYzCiBtc2dpZCAiJUI6IGAlcycgYWNjZXNzZWQgYm90aCBhcyBub3JtYWwgYW5kIHRocmVhZCBsb2NhbCBzeW1ib2wiCiBtc2dzdHIgIiVCOiDEkcOjIHRydXkgY+G6rXAgwqsgJXMgwrsgdGhlbyBrw70gaGnhu4d1IGPhuqMgaGFpIGtp4buDdSBiw6xuaCB0aMaw4budbmcgdsOgIGPhu6VjIGLhu5kgY2hvIG3huqFjaCIKIAotIzogZWxmMzItaTM4Ni5jOjEyMDAgZWxmMzItczM5MC5jOjEyOTQgZWxmNjQtcHBjLmM6NDg2NCBlbGY2NC1zMzkwLmM6MTI2MQotIzogZWxmNjQteDg2LTY0LmM6MTA1MQorIzogZWxmMzItaTM4Ni5jOjE0NzkgZWxmMzItczM5MC5jOjEyOTcgZWxmNjQtcHBjLmM6NTA0NiBlbGY2NC1zMzkwLmM6MTI2NAorIzogZWxmNjQteDg2LTY0LmM6MTI5OQogbXNnaWQgIiVCOiBiYWQgcmVsb2NhdGlvbiBzZWN0aW9uIG5hbWUgYCVzJyIKIG1zZ3N0ciAiJUI6IHTDqm4gcGjhuqduIMSR4buLbmggduG7iyBs4bqhaSBzYWkgwqsgJXMgwrsiCiAKLSM6IGVsZjMyLWkzODYuYzoyMjU3CisjOiBlbGYzMi1pMzg2LmM6MjU5OAogbXNnaWQgIiVCOiB1bnJlY29nbml6ZWQgcmVsb2NhdGlvbiAoMHgleCkgaW4gc2VjdGlvbiBgJUEnIgogbXNnc3RyICIlQjogxJHhu4tuaCB24buLIGzhuqFpIGtow7RuZyDEkcaw4bujYyBuaOG6rW4gcmEgKDB4JXgpIHRyb25nIHBo4bqnbiDCqyAlQSDCuyIKIAotIzogZWxmMzItaTM4Ni5jOjI0NzkKKyM6IGVsZjMyLWkzODYuYzoyODIyIGVsZjY0LXg4Ni02NC5jOjI2NjAKK21zZ2lkICJoaWRkZW4gc3ltYm9sIgorbXNnc3RyICJrw70gaGnhu4d1IGLhu4sg4bqpbiIKKworIzogZWxmMzItaTM4Ni5jOjI4MjUgZWxmNjQteDg2LTY0LmM6MjY2MworbXNnaWQgImludGVybmFsIHN5bWJvbCIKK21zZ3N0ciAia8O9IGhp4buHdSBu4buZaSBi4buZIgorCisjOiBlbGYzMi1pMzg2LmM6MjgyOCBlbGY2NC14ODYtNjQuYzoyNjY2Cittc2dpZCAicHJvdGVjdGVkIHN5bWJvbCIKK21zZ3N0ciAia8O9IGhp4buHdSBi4buLIGLhuqNvIHbhu4ciCisKKyM6IGVsZjMyLWkzODYuYzoyODMxIGVsZjY0LXg4Ni02NC5jOjI2NjkKK21zZ2lkICJzeW1ib2wiCittc2dzdHIgImvDvSBoaeG7h3UiCisKKyM6IGVsZjMyLWkzODYuYzoyODM2Cittc2dpZCAiJUI6IHJlbG9jYXRpb24gUl8zODZfR09UT0ZGIGFnYWluc3QgdW5kZWZpbmVkICVzIGAlcycgY2FuIG5vdCBiZSB1c2VkIHdoZW4gbWFraW5nIGEgc2hhcmVkIG9iamVjdCIKK21zZ3N0ciAiJUI6IGtow7RuZyBkw7luZyDEkcaw4bujYyDEkeG7i25oIHbhu4sgbOG6oWkgUl8zODZfR09UT0ZGIMSR4buRaSB24bubaSAlcyBjaMawYSB4w6FjIMSR4buLbmggwqsgJXMgwrsga2hpIHThuqFvIG3hu5l0IMSR4buRaSB0xrDhu6NuZyBjaGlhIHPhursiCisKKyM6IGVsZjMyLWkzODYuYzoyODQ2CiBtc2dpZCAiJUI6IHJlbG9jYXRpb24gUl8zODZfR09UT0ZGIGFnYWluc3QgcHJvdGVjdGVkIGZ1bmN0aW9uIGAlcycgY2FuIG5vdCBiZSB1c2VkIHdoZW4gbWFraW5nIGEgc2hhcmVkIG9iamVjdCIKIG1zZ3N0ciAiJUI6IGtow7RuZyBkw7luZyDEkcaw4bujYyDEkeG7i25oIHbhu4sgbOG6oWkgUl8zODZfR09UT0ZGIMSR4buRaSB24bubaSBow6BtIHPhu5EgxJHDoyBi4bqjbyB24buHIMKrICVzIMK7IGtoaSB04bqhbyBt4buZdCDEkeG7kWkgdMaw4bujbmcgY2hpYSBz4bq7IgogCkBAIC0xMzExLDcgKzE1MDcsNyBAQAogbXNnaWQgInVuc3VwcG9ydGVkIHJlbG9jYXRpb24gYmV0d2VlbiBkYXRhL2luc24gYWRkcmVzcyBzcGFjZXMiCiBtc2dzdHIgImfhurdwIMSR4buLbmggduG7iyBs4bqhaSBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyBnaeG7r2EgdsO5bmcgxJHhu4thIGNo4buJIGtp4buDdSBk4buvIGxp4buHdSB2w6AgY2jhu4kgZOG6q24iCiAKLSM6IGVsZjMyLWlxMjAwMC5jOjgyMSBlbGYzMi1tMzJjLmM6ODMxCisjOiBlbGYzMi1pcTIwMDAuYzo4NjUgZWxmMzItbTMyYy5jOjgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdXNlcyBkaWZmZXJlbnQgZV9mbGFncyAoMHglbHgpIGZpZWxkcyB0aGFuIHByZXZpb3VzIG1vZHVsZXMgKDB4JWx4KSIKIG1zZ3N0ciAiJXM6IHPhu60gZOG7pW5nIHRyxrDhu51uZyBlX2ZsYWdzICgweCVseCkga2jDoWMgduG7m2kgbW8txJF1biB0csaw4bubYyAoMHglbHgpIgpAQCAtMTM0OCw4NiArMTU0NCw5NCBAQAogbXNnaWQgIjogbTMycjIgaW5zdHJ1Y3Rpb25zIgogbXNnc3RyICI6IGNo4buJIGThuqtuIG0zMnIyIgogCi0jOiBlbGYzMi1tNjhoYzF4LmM6MTA0NQorIzogZWxmMzItbTY4aGMxeC5jOjEwNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmZXJlbmNlIHRvIHRoZSBmYXIgc3ltYm9sIGAlcycgdXNpbmcgYSB3cm9uZyByZWxvY2F0aW9uIG1heSByZXN1bHQgaW4gaW5jb3JyZWN0IGV4ZWN1dGlvbiIKIG1zZ3N0ciAiVGhhbSBjaGnhur91IMSR4bq/biBrw70gaGnhu4d1IOG7nyB4YSDCqyAlcyDCuyBraGkgc+G7rSBk4bulbmcgbeG7mXQgxJHhu4tuaCB24buLIGzhuqFpIHNhaSB0aMOsIGPDsyB0aOG7gyBk4bqrbiDEkeG6v24gc+G7sSB0aOG7sWMgaGnhu4duIHNhaSIKIAotIzogZWxmMzItbTY4aGMxeC5jOjEwNjgKKyM6IGVsZjMyLW02OGhjMXguYzoxMDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhbmtlZCBhZGRyZXNzIFslbHg6JTA0bHhdICglbHgpIGlzIG5vdCBpbiB0aGUgc2FtZSBiYW5rIGFzIGN1cnJlbnQgYmFua2VkIGFkZHJlc3MgWyVseDolMDRseF0gKCVseCkiCiBtc2dzdHIgIsSR4buLYSBjaOG7iSDEkcOjIMSR4bq3dCB2w6BvIGto4buRaSBuaOG7myBbJWx4OiUwNGx4XSAoJWx4KSBraMO0bmcgdHJvbmcgY8O5bmcga2jhu5FpIG5o4bubIHbhu5tpIMSR4buLYSBjaOG7iSDEkcaw4bujYyDEkeG6t3QgaGnhu4duIHRo4budaSB2w6BvIGto4buRaSBuaOG7myBbJWx4OiUwNGx4XSAoJWx4KSIKIAotIzogZWxmMzItbTY4aGMxeC5jOjEwODcKKyM6IGVsZjMyLW02OGhjMXguYzoxMDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSB0byBhIGJhbmtlZCBhZGRyZXNzIFslbHg6JTA0bHhdIGluIHRoZSBub3JtYWwgYWRkcmVzcyBzcGFjZSBhdCAlMDRseCIKIG1zZ3N0ciAidGhhbSBjaGnhur91IMSR4bq/biBt4buZdCDEkeG7i2EgY2jhu4kgxJHDoyDEkeG6t3QgdsOgbyBraOG7kWkgbmjhu5sgWyVseDolMDRseF0gdHJvbmcgdsO5bmcgxJHhu4thIGNo4buJIHRow7RuZyB0aMaw4budbmcgdOG6oWkgJTA0bHgiCiAKLSM6IGVsZjMyLW02OGhjMXguYzoxMjIwCisjOiBlbGYzMi1tNjhoYzF4LmM6MTIyMgogbXNnaWQgIiVCOiBsaW5raW5nIGZpbGVzIGNvbXBpbGVkIGZvciAxNi1iaXQgaW50ZWdlcnMgKC1tc2hvcnQpIGFuZCBvdGhlcnMgZm9yIDMyLWJpdCBpbnRlZ2VycyIKIG1zZ3N0ciAiJUI6IMSRYW5nIGxpw6puIGvhur90IGPDoWMgdOG6rXAgdGluIMSRxrDhu6NjIGJpw6puIGThu4tjaCBjaG8gc+G7kSBuZ3V5w6puIDE2IGJpdCAoLW1zaG9ydCkgdsOgIGPDoWMgdOG6rXAgdGluIGtow6FjIGNobyBz4buRIG5ndXnDqm4gMzIgYml0IgogCi0jOiBlbGYzMi1tNjhoYzF4LmM6MTIyNworIzogZWxmMzItbTY4aGMxeC5jOjEyMjkKIG1zZ2lkICIlQjogbGlua2luZyBmaWxlcyBjb21waWxlZCBmb3IgMzItYml0IGRvdWJsZSAoLWZzaG9ydC1kb3VibGUpIGFuZCBvdGhlcnMgZm9yIDY0LWJpdCBkb3VibGUiCiBtc2dzdHIgIiVCOiDEkWFuZyBsacOqbiBr4bq/dCBjw6FjIHThuq1wIHRpbiDEkcaw4bujYyBiacOqbiBk4buLY2ggMzIgYml0IMSRw7RpICgtbXNob3J0KSB2w6AgY8OhYyB04bqtcCB0aW4ga2jDoWMgY2hvIDY0IGJpdCDEkcO0aSIKIAotIzogZWxmMzItbTY4aGMxeC5jOjEyMzYKKyM6IGVsZjMyLW02OGhjMXguYzoxMjM4CiBtc2dpZCAiJUI6IGxpbmtpbmcgZmlsZXMgY29tcGlsZWQgZm9yIEhDUzEyIHdpdGggb3RoZXJzIGNvbXBpbGVkIGZvciBIQzEyIgogbXNnc3RyICIlQjogxJFhbmcgbGnDqm4ga+G6v3QgdOG6rXAgdGluIMSRxrDhu6NjIGJpw6puIGThu4tjaCBjaG8gSENTMTIgduG7m2kgY8OhYyB04bqtcCB0aW4ga2jDoWMgYmnDqm4gZOG7i2NoIGNobyBIQzEyIgogCi0jOiBlbGYzMi1tNjhoYzF4LmM6MTI1MiBlbGYzMi1wcGMuYzozNzM0IGVsZjY0LXNwYXJjLmM6Njk3IGVsZnh4LW1pcHMuYzoxMTI5MgorIzogZWxmMzItbTY4aGMxeC5jOjEyNTQgZWxmMzItcHBjLmM6NDA0NiBlbGY2NC1zcGFyYy5jOjY5NyBlbGZ4eC1taXBzLmM6MTI1NjEKIG1zZ2lkICIlQjogdXNlcyBkaWZmZXJlbnQgZV9mbGFncyAoMHglbHgpIGZpZWxkcyB0aGFuIHByZXZpb3VzIG1vZHVsZXMgKDB4JWx4KSIKIG1zZ3N0ciAiJUI6IHPhu60gZOG7pW5nIHRyxrDhu51uZyBlX2ZsYWdzICgweCVseCkga2jDoWMgduG7m2kgbW8txJF1biB0csaw4bubYyAoMHglbHgpIgogCi0jOiBlbGYzMi1tNjhoYzF4LmM6MTI4MAorIzogZWxmMzItbTY4aGMxeC5jOjEyODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2FiaT0zMi1iaXQgaW50LCAiCiBtc2dzdHIgIlthYmk9c+G7kSBuZ3V5w6puIDMyLWJpdCwgIgogCi0jOiBlbGYzMi1tNjhoYzF4LmM6MTI4MgorIzogZWxmMzItbTY4aGMxeC5jOjEyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2FiaT0xNi1iaXQgaW50LCAiCiBtc2dzdHIgIlthYmk9c+G7kSBuZ3V5w6puIDE2LWJpdCwgIgogCi0jOiBlbGYzMi1tNjhoYzF4LmM6MTI4NQorIzogZWxmMzItbTY4aGMxeC5jOjEyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiNjQtYml0IGRvdWJsZSwgIgogbXNnc3RyICI2NC1iaXQgxJHDtGksICIKIAotIzogZWxmMzItbTY4aGMxeC5jOjEyODcKKyM6IGVsZjMyLW02OGhjMXguYzoxMjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIjMyLWJpdCBkb3VibGUsICIKIG1zZ3N0ciAiMzItYml0IMSRw7RpLCAiCiAKLSM6IGVsZjMyLW02OGhjMXguYzoxMjkwCisjOiBlbGYzMi1tNjhoYzF4LmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHU9SEMxMV0iCiBtc2dzdHIgImNwdT1IQzExXSIKIAotIzogZWxmMzItbTY4aGMxeC5jOjEyOTIKKyM6IGVsZjMyLW02OGhjMXguYzoxMjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNwdT1IQ1MxMl0iCiBtc2dzdHIgImNwdT1IQ1MxMl0iCiAKLSM6IGVsZjMyLW02OGhjMXguYzoxMjk0CisjOiBlbGYzMi1tNjhoYzF4LmM6MTI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHU9SEMxMl0iCiBtc2dzdHIgImNwdT1IQzEyXSIKIAotIzogZWxmMzItbTY4aGMxeC5jOjEyOTcKKyM6IGVsZjMyLW02OGhjMXguYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbbWVtb3J5PWJhbmstbW9kZWxdIgogbXNnc3RyICIgW2Lhu5kgbmjhu5s9Y2jhur8gxJHhu5kga2jhu5FpXSIKIAotIzogZWxmMzItbTY4aGMxeC5jOjEyOTkKKyM6IGVsZjMyLW02OGhjMXguYzoxMzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbbWVtb3J5PWZsYXRdIgogbXNnc3RyICIgW2Lhu5kgbmjhu5s9cGjhurNuZ10iCiAKLSM6IGVsZjMyLW02OGsuYzo2MzUgZWxmMzItbTY4ay5jOjYzNgorIzogZWxmMzItbTY4ay5jOjc4OSBlbGYzMi1tNjhrLmM6NzkwCiBtc2dpZCAidW5rbm93biIKIG1zZ3N0ciAia2jDtG5nIHLDtSIKIAorIzogZWxmMzItbTY4ay5jOjEyMTYKK21zZ2lkICIlQjogR09UIG92ZXJmbG93OiBOdW1iZXIgb2YgUl82OEtfR09UOE8gcmVsb2NhdGlvbnMgPiAlZCIKK21zZ3N0ciAiJUI6IHRyw6BuIEdPVDogc+G7kSBjw6FjIGLhu5EgdHLDrSBs4bqhaSBraeG7g3UgUl82OEtfR09UOE8gPiAlZCIKKworIzogZWxmMzItbTY4ay5jOjEyMjEKK21zZ2lkICIlQjogR09UIG92ZXJmbG93OiBOdW1iZXIgb2YgUl82OEtfR09UOE8gYW5kIFJfNjhLX0dPVDE2TyByZWxvY2F0aW9ucyA+ICVkIgorbXNnc3RyICIlQjogdHLDoG4gR09UOiBz4buRIGPDoWMgYuG7kSB0csOtIGzhuqFpIGtp4buDdSBSXzY4S19HT1Q4TyB2w6AgUl82OEtfR09UMTZPID4gJWQiCisKICM6IGVsZjMyLW1jb3JlLmM6OTkgZWxmMzItbWNvcmUuYzo0NDIKIG1zZ2lkICIlQjogUmVsb2NhdGlvbiAlcyAoJWQpIGlzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLlxuIgogbXNnc3RyICIlQjogxJDhu4tuaCB24buLIGzhuqFpICVzICglZCkgaGnhu4duIHRo4budaSBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oy5cbiIKQEAgLTE0MzYsMjQgKzE2NDAsMjQgQEAKIG1zZ2lkICIlQjogVW5rbm93biByZWxvY2F0aW9uIHR5cGUgJWRcbiIKIG1zZ3N0ciAiJUI6IEtp4buDdSDEkeG7i25oIHbhu4sgbOG6oWkga2jDtG5nIHLDtSAlZFxuIgogCi0jOiBlbGYzMi1tZXAuYzo4MTIKKyM6IGVsZjMyLW1lcC5jOjY1NAogbXNnaWQgIiVCIGFuZCAlQiBhcmUgZm9yIGRpZmZlcmVudCBjb3JlcyIKIG1zZ3N0ciAiJUIgdsOgICVCIGTDoG5oIGNobyBsw7VpIGtow6FjIG5oYXUiCiAKLSM6IGVsZjMyLW1lcC5jOjgyOQorIzogZWxmMzItbWVwLmM6NjcxCiBtc2dpZCAiJUIgYW5kICVCIGFyZSBmb3IgZGlmZmVyZW50IGNvbmZpZ3VyYXRpb25zIgogbXNnc3RyICIlQiB2w6AgJUIgZMOgbmggY2hvIGPhuqV1IGjDrG5oIGtow6FjIG5oYXUiCiAKLSM6IGVsZjMyLW1lcC5jOjg2NworIzogZWxmMzItbWVwLmM6NzA5CiAjLCBjLWZvcm1hdAogbXNnaWQgInByaXZhdGUgZmxhZ3MgPSAweCVseCIKIG1zZ3N0ciAiY8OhYyBj4budIHJpw6puZyA9IDB4JWx4IgogCi0jOiBlbGYzMi1taXBzLmM6OTg5IGVsZjY0LW1pcHMuYzoxOTc2IGVsZm4zMi1taXBzLmM6MTgwOAorIzogZWxmMzItbWlwcy5jOjEwNDUgZWxmNjQtbWlwcy5jOjIwNTYgZWxmbjMyLW1pcHMuYzoxODg4CiBtc2dpZCAibGl0ZXJhbCByZWxvY2F0aW9uIG9jY3VycyBmb3IgYW4gZXh0ZXJuYWwgc3ltYm9sIgogbXNnc3RyICLEkeG7i25oIHbhu4sgbOG6oWkgbmdoxKlhIGNo4buvIHjhuqN5IHJhIGNobyBt4buZdCBrw70gaGnhu4d1IGLDqm4gbmdvw6BpIgogCi0jOiBlbGYzMi1taXBzLmM6MTAyOSBlbGYzMi1zY29yZS5jOjQ4NCBlbGY2NC1taXBzLmM6MjAxOSBlbGZuMzItbWlwcy5jOjE4NDkKKyM6IGVsZjMyLW1pcHMuYzoxMDg1IGVsZjMyLXNjb3JlLmM6NDg0IGVsZjY0LW1pcHMuYzoyMDk5IGVsZm4zMi1taXBzLmM6MTkyOQogbXNnaWQgIjMyYml0cyBncCByZWxhdGl2ZSByZWxvY2F0aW9uIG9jY3VycyBmb3IgYW4gZXh0ZXJuYWwgc3ltYm9sIgogbXNnc3RyICLEkeG7i25oIHbhu4sgbOG6oWkgdMawxqFuZyDEkeG7kWkgMzItYml0IGdwIHjhuqN5IHJhIGNobyBt4buZdCBrw70gaGnhu4d1IGLDqm4gbmdvw6BpIgogCkBAIC0xNDYyLDE2MiArMTY2NiwxNDMgQEAKIG1zZ2lkICJnZW5lcmljIGxpbmtlciBjYW4ndCBoYW5kbGUgJXMiCiBtc2dzdHIgInRyw6xuaCBsacOqbiBr4bq/dCBjaHVuZyBraMO0bmcgdGjhu4MgeOG7rSBsw70gJXMiCiAKLSM6IGVsZjMyLXBwYy5jOjIxNjMKKyM6IGVsZjMyLXBwYy5jOjIxNjEKIG1zZ2lkICJjb3JydXB0IG9yIGVtcHR5ICVzIHNlY3Rpb24gaW4gJUIiCiBtc2dzdHIgIkfhurdwIHBo4bqnbiAlcyBi4buLIGjhu49uZyBob+G6t2MgY8OybiBy4buXbmcgdHJvbmcgJUIiCiAKLSM6IGVsZjMyLXBwYy5jOjIxNzAKKyM6IGVsZjMyLXBwYy5jOjIxNjgKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbiAlcyBzZWN0aW9uIGZyb20gJUIiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgdHJvbmcgcGjhuqduICVzIHThu6sgJUIiCiAKLSM6IGVsZjMyLXBwYy5jOjIxNzYKKyM6IGVsZjMyLXBwYy5jOjIxNzQKIG1zZ2lkICJjb3JydXB0ICVzIHNlY3Rpb24gaW4gJUIiCiBtc2dzdHIgInBo4bqnbiAlcyBi4buLIGjhu49uZyB0cm9uZyAlYiIKIAotIzogZWxmMzItcHBjLmM6MjIxOQorIzogZWxmMzItcHBjLmM6MjIxNwogbXNnaWQgIndhcm5pbmc6IHVuYWJsZSB0byBzZXQgc2l6ZSBvZiAlcyBzZWN0aW9uIGluICVCIgogbXNnc3RyICJj4bqjbmggYsOhbyA6IGtow7RuZyB0aOG7gyDEkeG6t3Qga8OtY2ggY+G7oSBj4bunYSBwaOG6p24gJXMgdHJvbmcgJUIiCiAKLSM6IGVsZjMyLXBwYy5jOjIyNjcKKyM6IGVsZjMyLXBwYy5jOjIyNjUKIG1zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc3BhY2UgZm9yIG5ldyBBUFVpbmZvIHNlY3Rpb24uIgogbXNnc3RyICJs4buXaSBj4bqlcCBwaMOhdCBz4bupYyBjaOG7qWEgY2hvIHBo4bqnbiB0aMO0bmcgdGluIEFQVWluZm8gbeG7m2kuIgogCi0jOiBlbGYzMi1wcGMuYzoyMjg2CisjOiBlbGYzMi1wcGMuYzoyMjg0CiBtc2dpZCAiZmFpbGVkIHRvIGNvbXB1dGUgbmV3IEFQVWluZm8gc2VjdGlvbi4iCiBtc2dzdHIgImzhu5dpIHTDrW5oIHBo4bqnbiB0aMO0bmcgdGluIEFQVWluZm8gbeG7m2kuIgogCi0jOiBlbGYzMi1wcGMuYzoyMjg5CisjOiBlbGYzMi1wcGMuYzoyMjg3CiBtc2dpZCAiZmFpbGVkIHRvIGluc3RhbGwgbmV3IEFQVWluZm8gc2VjdGlvbi4iCiBtc2dzdHIgImzhu5dpIGPDoGkgxJHhurd0IHBo4bqnbiB0aMO0bmcgdGluIEFQVWluZm8gbeG7m2kuIgogCi0jOiBlbGYzMi1wcGMuYzozMDIyCisjOiBlbGYzMi1wcGMuYzozMjYzCiBtc2dpZCAiJUI6IHJlbG9jYXRpb24gJXMgY2Fubm90IGJlIHVzZWQgd2hlbiBtYWtpbmcgYSBzaGFyZWQgb2JqZWN0IgogbXNnc3RyICIlQjoga2jDtG5nIGTDuW5nIMSRxrDhu6NjIMSR4buLbmggduG7iyBs4bqhaSAlcyBraGkgdOG6oW8gbeG7mXQgxJHhu5FpIHTGsOG7o25nIGNoaWEgc+G6uyIKIAogIy4gSXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBoYXZlIGEgcHJvY2VkdXJlIGxpbmthZ2UKICMuIHRhYmxlIGVudHJ5IGZvciBhIGxvY2FsIHN5bWJvbC4KLSM6IGVsZjMyLXBwYy5jOjMyOTIKKyM6IGVsZjMyLXBwYy5jOjM1MzQKIG1zZ2lkICIlQiglQSsweCVseCk6ICVzIHJlbG9jIGFnYWluc3QgbG9jYWwgc3ltYm9sIgogbXNnc3RyICIlQiglQSsweCVseCk6ICVzIMSR4buLbmggduG7iyBs4bqhaSDEkeG7kWkgduG7m2kga8O9IGhp4buHdSBj4bulYyBi4buZIgogCi0jOiBlbGYzMi1wcGMuYzozNjMzIGVsZjMyLXBwYy5jOjM2MzcgZWxmeHgtbWlwcy5jOjExMDM2IGVsZnh4LW1pcHMuYzoxMTA1NQotIzogZWxmeHgtbWlwcy5jOjExMDcwCisjOiBlbGYzMi1wcGMuYzozODg1IGVsZjMyLXBwYy5jOjM5MDAgZWxmeHgtbWlwcy5jOjEyMjY4IGVsZnh4LW1pcHMuYzoxMjI5NAorIzogZWxmeHgtbWlwcy5jOjEyMzE2IGVsZnh4LW1pcHMuYzoxMjM0MgogbXNnaWQgIldhcm5pbmc6ICVCIHVzZXMgaGFyZCBmbG9hdCwgJUIgdXNlcyBzb2Z0IGZsb2F0IgogbXNnc3RyICJD4bqjbmggYsOhbyA6ICVCIGTDuW5nIHRyw7RpIGPhu6luZywgY8OybiAlQiBkw7luZyB0csO0aSBt4buBbSIKIAotIzogZWxmMzItcHBjLmM6MzY0MCBlbGYzMi1wcGMuYzozNjQ0IGVsZnh4LW1pcHMuYzoxMTAxNyBlbGZ4eC1taXBzLmM6MTEwMjEKKyM6IGVsZjMyLXBwYy5jOjM4ODggZWxmMzItcHBjLmM6Mzg5MgorbXNnaWQgIldhcm5pbmc6ICVCIHVzZXMgZG91YmxlLXByZWNpc2lvbiBoYXJkIGZsb2F0LCAlQiB1c2VzIHNpbmdsZS1wcmVjaXNpb24gaGFyZCBmbG9hdCIKK21zZ3N0ciAiQ+G6o25oIGLDoW8gOiAlQiBkw7luZyB0csO0aSBj4bupbmcgY2jDrW5oIHjDoWMgxJHDtGksIGPDsm4gJUIgZMO5bmcgdHLDtGkgY+G7qW5nIGNow61uaCB4w6FjIMSRxqFuIgorCisjOiBlbGYzMi1wcGMuYzozODk2Cittc2dpZCAiV2FybmluZzogJUIgdXNlcyBzb2Z0IGZsb2F0LCAlQiB1c2VzIHNpbmdsZS1wcmVjaXNpb24gaGFyZCBmbG9hdCIKK21zZ3N0ciAiQ+G6o25oIGLDoW8gOiAlQiBkw7luZyB0csO0aSBt4buBbSwgY8OybiAlQiBkw7luZyB0csO0aSBj4bupbmcgY2jDrW5oIHjDoWMgxJHGoW4iCisKKyM6IGVsZjMyLXBwYy5jOjM5MDMgZWxmMzItcHBjLmM6MzkwNyBlbGZ4eC1taXBzLmM6MTIyNDggZWxmeHgtbWlwcy5jOjEyMjUyCiBtc2dpZCAiV2FybmluZzogJUIgdXNlcyB1bmtub3duIGZsb2F0aW5nIHBvaW50IEFCSSAlZCIKIG1zZ3N0ciAiQ+G6o25oIGLDoW8gOiAlQiBkw7luZyDEkWnhu4NtIHRyw7RpIGtow7RuZyByw7UgQUJJICVkIgogCi0jOiBlbGYzMi1wcGMuYzozNjk5CisjOiBlbGYzMi1wcGMuYzozOTQ5IGVsZjMyLXBwYy5jOjM5NTMKK21zZ2lkICJXYXJuaW5nOiAlQiB1c2VzIHVua25vd24gdmVjdG9yIEFCSSAlZCIKK21zZ3N0ciAiQ+G6o25oIGLDoW8gOiAlQiBkw7luZyB2w6ljLXTGoSBraMO0bmcgbmjhuq1uIHJhIEFCSSAlZCIKKworIzogZWxmMzItcHBjLmM6Mzk1NworbXNnaWQgIldhcm5pbmc6ICVCIHVzZXMgdmVjdG9yIEFCSSBcIiVzXCIsICVCIHVzZXMgXCIlc1wiIgorbXNnc3RyICJD4bqjbmggYsOhbyA6ICVCIGTDuW5nIHbDqWMtdMahIEFCSSDCqyAlcyDCuywgY8OybiAlQiBkw7luZyDCqyAlcyDCuyIKKworIzogZWxmMzItcHBjLmM6NDAxMQogbXNnaWQgIiVCOiBjb21waWxlZCB3aXRoIC1tcmVsb2NhdGFibGUgYW5kIGxpbmtlZCB3aXRoIG1vZHVsZXMgY29tcGlsZWQgbm9ybWFsbHkiCiBtc2dzdHIgIiVCOiDEkcOjIGJpw6puIGThu4tjaCB24bubaSDCqyAtbXJlbG9jYXRhYmxlIMK7IHbDoCDEkcOjIGxpw6puIGvhur90IHbhu5tpIGPDoWMgbcO0xJF1biBiacOqbiBk4buLY2ggYsOsbmggdGjGsOG7nW5nIgogCi0jOiBlbGYzMi1wcGMuYzozNzA3CisjOiBlbGYzMi1wcGMuYzo0MDE5CiBtc2dpZCAiJUI6IGNvbXBpbGVkIG5vcm1hbGx5IGFuZCBsaW5rZWQgd2l0aCBtb2R1bGVzIGNvbXBpbGVkIHdpdGggLW1yZWxvY2F0YWJsZSIKIG1zZ3N0ciAiJUI6IMSRw6MgYmnDqm4gZOG7i2NoIGLDrG5oIHRoxrDhu51uZyB2w6AgxJHDoyBsacOqbiBr4bq/dCB24bubaSBjw6FjIG3DtMSRdW4gYmnDqm4gZOG7i2NoIHbhu5tpIMKrIC1tcmVsb2NhdGFibGUgwrsiCiAKLSM6IGVsZjMyLXBwYy5jOjM3OTMKKyM6IGVsZjMyLXBwYy5jOjQxMDUKIG1zZ2lkICJVc2luZyBic3MtcGx0IGR1ZSB0byAlQiIKIG1zZ3N0ciAixJBhbmcgZMO5bmcgYmlzcy1waXQgZG8gJUIiCiAKLSM6IGVsZjMyLXBwYy5jOjYwMDIgZWxmNjQtcHBjLmM6MTA0OTAKKyM6IGVsZjMyLXBwYy5jOjY0MTggZWxmNjQtcHBjLmM6MTA4ODEKIG1zZ2lkICIlQjogdW5rbm93biByZWxvY2F0aW9uIHR5cGUgJWQgZm9yIHN5bWJvbCAlcyIKIG1zZ3N0ciAiJUI6IGtow7RuZyByw7Uga2nhu4N1IMSR4buLbmggduG7iyBs4bqhaSAlZCBjaG8ga8O9IGhp4buHdSAlcyIKIAotIzogZWxmMzItcHBjLmM6NjI1MgorIzogZWxmMzItcHBjLmM6NjY2OAogbXNnaWQgIiVCKCVBKzB4JWx4KTogbm9uLXplcm8gYWRkZW5kIG9uICVzIHJlbG9jIGFnYWluc3QgYCVzJyIKIG1zZ3N0ciAiJUIoJUErMHglbHgpOiBz4buRIGjhuqFuZyBraMOhYyBraMO0bmcgdHLDqm4gxJHhu4tuaCB24buLIGzhuqFpICVzIMSR4buRaSB24bubaSDCqyAlcyDCuyIKIAotIzogZWxmMzItcHBjLmM6NjU5NyBlbGYzMi1wcGMuYzo2NjIzIGVsZjMyLXBwYy5jOjY2ODIKKyM6IGVsZjMyLXBwYy5jOjcwMjQgZWxmMzItcHBjLmM6NzA1MCBlbGYzMi1wcGMuYzo3MTA5CiBtc2dpZCAiJUI6IHRoZSB0YXJnZXQgKCVzKSBvZiBhICVzIHJlbG9jYXRpb24gaXMgaW4gdGhlIHdyb25nIG91dHB1dCBzZWN0aW9uICglcykiCiBtc2dzdHIgIiVCOiDEkcOtY2ggKCVzKSBj4bunYSBt4buZdCDEkeG7i25oIHbhu4sgbOG6oWkgJXMgbuG6sW0gdHJvbmcgcGjhuqduIGvhur90IHh14bqldCBraMO0bmcgxJHDum5nICglcykiCiAKLSM6IGVsZjMyLXBwYy5jOjY3MzcKKyM6IGVsZjMyLXBwYy5jOjcxNjQKIG1zZ2lkICIlQjogcmVsb2NhdGlvbiAlcyBpcyBub3QgeWV0IHN1cHBvcnRlZCBmb3Igc3ltYm9sICVzLiIKIG1zZ3N0ciAiJUI6IMSR4buLbmggduG7iyBs4bqhaSAlcyBjaMawYSDEkcaw4bujYyBo4buXIHRy4bujIGNobyBrw70gaGnhu4d1ICVzLiIKIAotIzogZWxmMzItcHBjLmM6Njg0NSBlbGY2NC1wcGMuYzoxMTE4NQorIzogZWxmMzItcHBjLmM6NzI3MiBlbGY2NC1wcGMuYzoxMTU3NQogbXNnaWQgIiVCKCVBKzB4JWx4KTogJXMgcmVsb2MgYWdhaW5zdCBgJXMnOiBlcnJvciAlZCIKIG1zZ3N0ciAiJUIoJUErMHglbHgpOiAlcyDEkeG7i25oIHbhu4sgbOG6oWkgxJHhu5FpIHbhu5tpIMKrICVzIMK7OiBs4buXaSAlZCIKIAotIzogZWxmMzItczM5MC5jOjIyMzggZWxmNjQtczM5MC5jOjIyMTIKKyM6IGVsZjMyLXMzOTAuYzoyMjQ2IGVsZjY0LXMzOTAuYzoyMjIwCiBtc2dpZCAiJUIoJUErMHglbHgpOiBpbnZhbGlkIGluc3RydWN0aW9uIGZvciBUTFMgcmVsb2NhdGlvbiAlcyIKIG1zZ3N0ciAiJUIoJUErMHglbHgpOiBjaOG7iSBk4bqrbiBraMO0bmcgaOG7o3AgbOG7hyBjaG8gxJHhu4tuaCB24buLIGzhuqFpIFRMUyAlcyIKIAotIzogZWxmMzItc2NvcmUuYzoxNDE4IGVsZnh4LW1pcHMuYzoyNjk5CisjOiBlbGYzMi1zY29yZS5jOjE0MTUgZWxmeHgtbWlwcy5jOjMyNzMKIG1zZ2lkICJub3QgZW5vdWdoIEdPVCBzcGFjZSBmb3IgbG9jYWwgR09UIGVudHJpZXMiCiBtc2dzdHIgImtow7RuZyDEkeG7pyBz4bupYyBjaOG7qWEgR09UIGNobyBjw6FjIG3hu6VjIG5o4bqtcCBHT1QgY+G7pWMgYuG7mSIKIAotIzogZWxmMzItc2NvcmUuYzoyNTUwCisjOiBlbGYzMi1zY29yZS5jOjI1NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IE1hbGZvcm1lZCByZWxvYyBkZXRlY3RlZCBmb3Igc2VjdGlvbiAlcyIKIG1zZ3N0ciAiJXM6IMSR4buLbmggduG7iyBs4bqhaSBk4bqhbmcgc2FpIMSRxrDhu6NjIHBow6F0IGhp4buHbiBjaG8gcGjhuqduICVzIgogCi0jOiBlbGYzMi1zY29yZS5jOjI2MDEKKyM6IGVsZjMyLXNjb3JlLmM6MjU5NgogbXNnaWQgIiVCOiBDQUxMMTUgcmVsb2MgYXQgMHglbHggbm90IGFnYWluc3QgZ2xvYmFsIHN5bWJvbCIKIG1zZ3N0ciAiJUI6IENBTEwxNSDEkeG7i25oIHbhu4sgbOG6oWkgdOG6oWkgMHglbHgga2jDtG5nIHBo4bqjaSBzbyB24bubaSBrw70gaGnhu4d1IHRvw6BuIGPhu6VjIgogCi0jOiBlbGYzMi1zY29yZS5jOjM3NTYKKyM6IGVsZjMyLXNjb3JlLmM6Mzc1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIgW3BpY10iCiBtc2dzdHIgIiBbcGljXSIKIAotIzogZWxmMzItc2NvcmUuYzozNzYwCisjOiBlbGYzMi1zY29yZS5jOjM3NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIFtmaXggZGVwXSIKIG1zZ3N0ciAiIFtz4butYSBxdWFuIGjhu4cgcGjhu6UgdGh14buZY10iCiAKLSM6IGVsZjMyLXNjb3JlLmM6MzgwMiBlbGZ4eC1taXBzLmM6MTEyMDEKKyM6IGVsZjMyLXNjb3JlLmM6Mzc5OQogbXNnaWQgIiVCOiB3YXJuaW5nOiBsaW5raW5nIFBJQyBmaWxlcyB3aXRoIG5vbi1QSUMgZmlsZXMiCiBtc2dzdHIgIiVCOiBj4bqjbmggYsOhbyA6IMSRYW5nIGxpw6puIGvhur90IHThuq1wIHRpbiBQSUMgduG7m2kgdOG6rXAgdGluIGtow6FjIFBJQyIKIAotIzogZWxmMzItc2g2NC5jOjIyMiBlbGY2NC1zaDY0LmM6MjM1MAotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogY29tcGlsZWQgYXMgMzItYml0IG9iamVjdCBhbmQgJXMgaXMgNjQtYml0IgotbXNnc3RyICIlczogYmnDqm4gZOG7i2NoIG5oxrAgbeG7mXQgxJHhu5FpIHTGsOG7o25nIDMyLWJpdCB2w6AgJXMgbMOgIDY0LWJpdCIKKyM6IGVsZjMyLXNoLXN5bWJpYW4uYzoxMzAKK21zZ2lkICIlQjogSU1QT1JUIEFTIGRpcmVjdGl2ZSBmb3IgJXMgY29uY2VhbHMgcHJldmlvdXMgSU1QT1JUIEFTIgorbXNnc3RyICIlQjogY2jhu4kgdGjhu4sgSU1QT1JUIEFTIChuaOG6rXAgZOG6oW5nKSBjaG8gJXMgY8Wpbmcg4bqpbiBjaOG7iSB0aOG7iyBJTVBPUlQgQVMgdHLGsOG7m2MiCiAKLSM6IGVsZjMyLXNoNjQuYzoyMjUgZWxmNjQtc2g2NC5jOjIzNTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGNvbXBpbGVkIGFzIDY0LWJpdCBvYmplY3QgYW5kICVzIGlzIDMyLWJpdCIKLW1zZ3N0ciAiJXM6IGJpw6puIGThu4tjaCBuaMawIG3hu5l0IMSR4buRaSB0xrDhu6NuZyA2NC1iaXQgdsOgICVzIGzDoCAzMi1iaXQiCisjOiBlbGYzMi1zaC1zeW1iaWFuLmM6MzgzCittc2dpZCAiJUI6IFVucmVjb2duaXNlZCAuZGlyZWN0aXZlIGNvbW1hbmQ6ICVzIgorbXNnc3RyICIlQjogS2jDtG5nIG5o4bqtbiByYSBjw6J1IGzhu4duaCAuZGlyZWN0aXZlOiAlcyIKIAotIzogZWxmMzItc2g2NC5jOjIyNyBlbGY2NC1zaDY0LmM6MjM1NQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogb2JqZWN0IHNpemUgZG9lcyBub3QgbWF0Y2ggdGhhdCBvZiB0YXJnZXQgJXMiCi1tc2dzdHIgIiVzOiBrw61jaCBj4buhIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgdMawxqFuZyDhu6luZyB24bubaSBrw61jaCBj4buhIGPhu6dhIMSRw61jaCAlcyIKLQotIzogZWxmMzItc2g2NC5jOjQ1MCBlbGY2NC1zaDY0LmM6Mjg5NAotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogZW5jb3VudGVyZWQgZGF0YWxhYmVsIHN5bWJvbCBpbiBpbnB1dCIKLW1zZ3N0ciAiJXM6IGfhurdwIGvDvSBoaeG7h3UgbmjDo24gZOG7ryBsaeG7h3UgdHJvbmcgZOG7ryBsaeG7h3Ugbmjhuq1wIHbDoG8iCi0KLSM6IGVsZjMyLXNoNjQuYzo1MjcKLW1zZ2lkICJQVEIgbWlzbWF0Y2g6IGEgU0htZWRpYSBhZGRyZXNzIChiaXQgMCA9PSAxKSIKLW1zZ3N0ciAiU2FpIGto4bubcCBQVEI6IG3hu5l0IMSR4buLYSBjaOG7iSBTSG1lZGlhIChiaXQgMCA9PSAxKSIKLQotIzogZWxmMzItc2g2NC5jOjUzMAotbXNnaWQgIlBUQSBtaXNtYXRjaDogYSBTSGNvbXBhY3QgYWRkcmVzcyAoYml0IDAgPT0gMCkiCi1tc2dzdHIgIlNhaSBraOG7m3AgUFRBOiBt4buZdCDEkeG7i2EgY2jhu4kgU0hjb21wYWN0IChiaXQgMCA9PSAwKSIKLQotIzogZWxmMzItc2g2NC5jOjU0OAotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogR0FTIGVycm9yOiB1bmV4cGVjdGVkIFBUQiBpbnNuIHdpdGggUl9TSF9QVF8xNiIKLW1zZ3N0ciAiJXM6IEzhu5dpIEdBUzogY2jhu4kgZOG6q24gUFRCIGLhuqV0IHRoxrDhu51uZyB24bubaSBSX1NIX1BUXzE2IgotCi0jOiBlbGYzMi1zaDY0LmM6NTk3Ci1tc2dpZCAiJUI6IGVycm9yOiB1bmFsaWduZWQgcmVsb2NhdGlvbiB0eXBlICVkIGF0ICUwOHggcmVsb2MgJXBcbiIKLW1zZ3N0ciAiJUI6IGzhu5dpOiBraeG7g3UgxJHhu4tuaCB24buLIGzhuqFpIGNoxrBhIHPhuq9wIGjDoG5nICVkIHThuqFpICUwOHggxJHhu4tuaCB24buLIGzhuqFpICVwXG4iCi0KLSM6IGVsZjMyLXNoNjQuYzo2NzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGNvdWxkIG5vdCB3cml0ZSBvdXQgYWRkZWQgLmNyYW5nZXMgZW50cmllcyIKLW1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBnaGkgcmEgY8OhYyBt4bulYyBuaOG6rXAgLmNyYW5nZXMgxJHDoyB0aMOqbSIKLQotIzogZWxmMzItc2g2NC5jOjczMwotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogY291bGQgbm90IHdyaXRlIG91dCBzb3J0ZWQgLmNyYW5nZXMgZW50cmllcyIKLW1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBnaGkgcmEgY8OhYyBt4bulYyBuaOG6rXAgLmNyYW5nZXMgxJHDoyBz4bqvcCB44bq/cCIKKyM6IGVsZjMyLXNoLXN5bWJpYW4uYzo1MDQKK21zZ2lkICIlQjogRmFpbGVkIHRvIGFkZCByZW5hbWVkIHN5bWJvbCAlcyIKK21zZ3N0ciAiJUI6IEzhu5dpIHRow6ptIGvDvSBoaeG7h3UgxJHDoyDEkeG6t3QgdMOqbiBs4bqhaSAlcyIKIAogIzogZWxmMzItc2guYzo1MzMKIG1zZ2lkICIlQjogMHglbHg6IHdhcm5pbmc6IGJhZCBSX1NIX1VTRVMgb2Zmc2V0IgpAQCAtMTY1MSw0MSArMTgzNiw3NiBAQAogbXNnaWQgIiVCOiAweCVseDogZmF0YWw6IHJlbG9jIG92ZXJmbG93IHdoaWxlIHJlbGF4aW5nIgogbXNnc3RyICIlQjogMHglbHg6IGzhu5dpIG7hurduZzogdHLDoG4gxJHhu4tuaCB24buLIGzhuqFpIHRyb25nIGtoaSBnaeG6o20gbmjhurkiCiAKLSM6IGVsZjMyLXNoLmM6MzI0OSBlbGY2NC1zaDY0LmM6MTUyNgorIzogZWxmMzItc2guYzozMjc5IGVsZjY0LXNoNjQuYzoxNTI2CiBtc2dpZCAiVW5leHBlY3RlZCBTVE9fU0g1X0lTQTMyIG9uIGxvY2FsIHN5bWJvbCBpcyBub3QgaGFuZGxlZCIKIG1zZ3N0ciAiS2jDtG5nIHjhu60gbMO9IMSRxrDhu6NjIFNUT19TSDVfSVNBMzIga2jDtG5nIG1vbmcgxJHhu6NpIHRyw6puIGvDvSBoaeG7h3UgY+G7pWMgYuG7mSIKIAotIzogZWxmMzItc2guYzozNDg2CisjOiBlbGYzMi1zaC5jOjM1MTYKIG1zZ2lkICIlQjogMHglbHg6IGZhdGFsOiB1bmFsaWduZWQgYnJhbmNoIHRhcmdldCBmb3IgcmVsYXgtc3VwcG9ydCByZWxvY2F0aW9uIgogbXNnc3RyICIlQjogMHglbHg6IGzhu5dpIG7hurduZzogY8OzIMSRw61jaCBuaMOhbmggY2jGsGEgc+G6r3AgaMOgbmcgY2hvIMSR4buLbmggduG7iyBs4bqhaSBo4buXIHRy4bujIGdp4bqjbSBuaOG6uSIKIAotIzogZWxmMzItc2guYzozNTE5IGVsZjMyLXNoLmM6MzUzNAorIzogZWxmMzItc2guYzozNTQ5IGVsZjMyLXNoLmM6MzU2NAogbXNnaWQgIiVCOiAweCVseDogZmF0YWw6IHVuYWxpZ25lZCAlcyByZWxvY2F0aW9uIDB4JWx4IgogbXNnc3RyICIlQjogMHglbHg6IGzhu5dpIG7hurduZzogxJHhu4tuaCB24buLIGzhuqFpICVzIGNoxrBhIHPhuq9wIGjDoG5nIDB4JWx4IgogCi0jOiBlbGYzMi1zaC5jOjM1NDgKKyM6IGVsZjMyLXNoLmM6MzU3OAogbXNnaWQgIiVCOiAweCVseDogZmF0YWw6IFJfU0hfUFNIQSByZWxvY2F0aW9uICVkIG5vdCBpbiByYW5nZSAtMzIuLjMyIgogbXNnc3RyICIlQjogMHglbHg6IGzhu5dpIG7hurduZzogUl9TSF9QU0hBIMSR4buLbmggduG7iyBs4bqhaSAlZCBraMO0bmcgbuG6sW0gdHJvbmcgcGjhuqFtIHZpIC0zMi4uMzIiCiAKLSM6IGVsZjMyLXNoLmM6MzU2MgorIzogZWxmMzItc2guYzozNTkyCiBtc2dpZCAiJUI6IDB4JWx4OiBmYXRhbDogUl9TSF9QU0hMIHJlbG9jYXRpb24gJWQgbm90IGluIHJhbmdlIC0zMi4uMzIiCiBtc2dzdHIgIiVCOiAweCVseDogbOG7l2kgbuG6t25nOiBSX1NIX1BTSEwgxJHhu4tuaCB24buLIGzhuqFpICVkIGtow7RuZyBu4bqxbSB0cm9uZyBwaOG6oW0gdmkgLTMyLi4zMiIKIAotIzogZWxmMzItc2guYzo1Mjc1IGVsZjY0LWFscGhhLmM6NDUzMworIzogZWxmMzItc2guYzo1MzEwIGVsZjY0LWFscGhhLmM6NDU1MgogbXNnaWQgIiVCOiBUTFMgbG9jYWwgZXhlYyBjb2RlIGNhbm5vdCBiZSBsaW5rZWQgaW50byBzaGFyZWQgb2JqZWN0cyIKIG1zZ3N0ciAiJUI6IG3DoyB0aOG7sWMgaGnhu4duIGPhu6VjIGLhu5kgVExTIGtow7RuZyB0aOG7gyDEkcaw4bujYyBsacOqbiBr4bq/dCB2w6BvIMSR4buRaSB0xrDhu6NuZyBjaGlhIHPhursiCiAKLSM6IGVsZjMyLXNoLXN5bWJpYW4uYzoxMzAKLW1zZ2lkICIlQjogSU1QT1JUIEFTIGRpcmVjdGl2ZSBmb3IgJXMgY29uY2VhbHMgcHJldmlvdXMgSU1QT1JUIEFTIgotbXNnc3RyICIlQjogY2jhu4kgdGjhu4sgSU1QT1JUIEFTIChuaOG6rXAgZOG6oW5nKSBjaG8gJXMgY8Wpbmcg4bqpbiBjaOG7iSB0aOG7iyBJTVBPUlQgQVMgdHLGsOG7m2MiCisjOiBlbGYzMi1zaDY0LmM6MjIyIGVsZjY0LXNoNjQuYzoyMzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjb21waWxlZCBhcyAzMi1iaXQgb2JqZWN0IGFuZCAlcyBpcyA2NC1iaXQiCittc2dzdHIgIiVzOiBiacOqbiBk4buLY2ggbmjGsCBt4buZdCDEkeG7kWkgdMaw4bujbmcgMzItYml0IHbDoCAlcyBsw6AgNjQtYml0IgogCi0jOiBlbGYzMi1zaC1zeW1iaWFuLmM6MzgzCi1tc2dpZCAiJUI6IFVucmVjb2duaXNlZCAuZGlyZWN0aXZlIGNvbW1hbmQ6ICVzIgotbXNnc3RyICIlQjogS2jDtG5nIG5o4bqtbiByYSBjw6J1IGzhu4duaCAuZGlyZWN0aXZlOiAlcyIKKyM6IGVsZjMyLXNoNjQuYzoyMjUgZWxmNjQtc2g2NC5jOjIzNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNvbXBpbGVkIGFzIDY0LWJpdCBvYmplY3QgYW5kICVzIGlzIDMyLWJpdCIKK21zZ3N0ciAiJXM6IGJpw6puIGThu4tjaCBuaMawIG3hu5l0IMSR4buRaSB0xrDhu6NuZyA2NC1iaXQgdsOgICVzIGzDoCAzMi1iaXQiCiAKLSM6IGVsZjMyLXNoLXN5bWJpYW4uYzo1MDQKLW1zZ2lkICIlQjogRmFpbGVkIHRvIGFkZCByZW5hbWVkIHN5bWJvbCAlcyIKLW1zZ3N0ciAiJUI6IEzhu5dpIHRow6ptIGvDvSBoaeG7h3UgxJHDoyDEkeG6t3QgdMOqbiBs4bqhaSAlcyIKKyM6IGVsZjMyLXNoNjQuYzoyMjcgZWxmNjQtc2g2NC5jOjIzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBzaXplIGRvZXMgbm90IG1hdGNoIHRoYXQgb2YgdGFyZ2V0ICVzIgorbXNnc3RyICIlczoga8OtY2ggY+G7oSDEkeG7kWkgdMaw4bujbmcga2jDtG5nIHTGsMahbmcg4bupbmcgduG7m2kga8OtY2ggY+G7oSBj4bunYSDEkcOtY2ggJXMiCisKKyM6IGVsZjMyLXNoNjQuYzo0NTAgZWxmNjQtc2g2NC5jOjI4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuY291bnRlcmVkIGRhdGFsYWJlbCBzeW1ib2wgaW4gaW5wdXQiCittc2dzdHIgIiVzOiBn4bq3cCBrw70gaGnhu4d1IG5ow6NuIGThu68gbGnhu4d1IHRyb25nIGThu68gbGnhu4d1IG5o4bqtcCB2w6BvIgorCisjOiBlbGYzMi1zaDY0LmM6NTI3Cittc2dpZCAiUFRCIG1pc21hdGNoOiBhIFNIbWVkaWEgYWRkcmVzcyAoYml0IDAgPT0gMSkiCittc2dzdHIgIlNhaSBraOG7m3AgUFRCOiBt4buZdCDEkeG7i2EgY2jhu4kgU0htZWRpYSAoYml0IDAgPT0gMSkiCisKKyM6IGVsZjMyLXNoNjQuYzo1MzAKK21zZ2lkICJQVEEgbWlzbWF0Y2g6IGEgU0hjb21wYWN0IGFkZHJlc3MgKGJpdCAwID09IDApIgorbXNnc3RyICJTYWkga2jhu5twIFBUQTogbeG7mXQgxJHhu4thIGNo4buJIFNIY29tcGFjdCAoYml0IDAgPT0gMCkiCisKKyM6IGVsZjMyLXNoNjQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEdBUyBlcnJvcjogdW5leHBlY3RlZCBQVEIgaW5zbiB3aXRoIFJfU0hfUFRfMTYiCittc2dzdHIgIiVzOiBM4buXaSBHQVM6IGNo4buJIGThuqtuIFBUQiBi4bqldCB0aMaw4budbmcgduG7m2kgUl9TSF9QVF8xNiIKKworIzogZWxmMzItc2g2NC5jOjU5NworbXNnaWQgIiVCOiBlcnJvcjogdW5hbGlnbmVkIHJlbG9jYXRpb24gdHlwZSAlZCBhdCAlMDh4IHJlbG9jICVwXG4iCittc2dzdHIgIiVCOiBs4buXaToga2nhu4N1IMSR4buLbmggduG7iyBs4bqhaSBjaMawYSBz4bqvcCBow6BuZyAlZCB04bqhaSAlMDh4IMSR4buLbmggduG7iyBs4bqhaSAlcFxuIgorCisjOiBlbGYzMi1zaDY0LmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjb3VsZCBub3Qgd3JpdGUgb3V0IGFkZGVkIC5jcmFuZ2VzIGVudHJpZXMiCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgZ2hpIHJhIGPDoWMgbeG7pWMgbmjhuq1wIC5jcmFuZ2VzIMSRw6MgdGjDqm0iCisKKyM6IGVsZjMyLXNoNjQuYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNvdWxkIG5vdCB3cml0ZSBvdXQgc29ydGVkIC5jcmFuZ2VzIGVudHJpZXMiCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgZ2hpIHJhIGPDoWMgbeG7pWMgbmjhuq1wIC5jcmFuZ2VzIMSRw6Mgc+G6r3AgeOG6v3AiCiAKICM6IGVsZjMyLXNwYXJjLmM6ODkKIG1zZ2lkICIlQjogY29tcGlsZWQgZm9yIGEgNjQgYml0IHN5c3RlbSBhbmQgdGFyZ2V0IGlzIDMyIGJpdCIKQEAgLTE2OTUsNjkgKzE5MTUsMTAzIEBACiBtc2dpZCAiJUI6IGxpbmtpbmcgbGl0dGxlIGVuZGlhbiBmaWxlcyB3aXRoIGJpZyBlbmRpYW4gZmlsZXMiCiBtc2dzdHIgIiVCOiDEkWFuZyBsacOqbiBr4bq/dCB04bqtcCB0aW4gduG7gSBjdeG7kWkgbmjhu48gduG7m2kgdOG6rXAgdGluIHbhu4EgY3Xhu5FpIGzhu5tuIgogCi0jOiBlbGYzMi1zcHUuYzo5OTUKKyM6IGVsZjMyLXNwdS5jOjYwNworbXNnaWQgIiVYJVA6IG92ZXJsYXkgc2VjdGlvbnMgJUEgYW5kICVBIGRvIG5vdCBzdGFydCBhdCB0aGUgc2FtZSBhZGRyZXNzLlxuIgorbXNnc3RyICIlWCVQOiBoYWkgcGjhuqduIHBo4bunICVBIHbDoCAlQSBraMO0bmcgYuG6r3QgxJHhuqd1IOG7nyBjw7luZyBt4buZdCDEkeG7i2EgY2jhu4kuXG4iCisKKyM6IGVsZjMyLXNwdS5jOjgwNQogbXNnaWQgIndhcm5pbmc6IGNhbGwgdG8gbm9uLWZ1bmN0aW9uIHN5bWJvbCAlcyBkZWZpbmVkIGluICVCIgogbXNnc3RyICJj4bqjbmggYsOhbyA6IGN14buZYyBn4buNaSBrw70gaGnhu4d1IGtow6FjIGjDoG0gJXMgxJHGsOG7o2MgeMOhYyDEkeG7i25oIHRyb25nICVCIgogCi0jOiBlbGYzMi1zcHUuYzoxMzE1CisjOiBlbGYzMi1zcHUuYzoxNDA2CiBtc2dpZCAiJUIgaXMgbm90IGFsbG93ZWQgdG8gZGVmaW5lICVzIgogbXNnc3RyICJraMO0bmcgY2hvIHBow6lwICVCIHjDoWMgxJHhu4tuaCAlcyIKIAotIzogZWxmMzItc3B1LmM6MTM1MgorIzogZWxmMzItc3B1LmM6MTQ1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpbiBvdmVybGF5IHNlY3Rpb24iCiBtc2dzdHIgIiVzIHRyb25nIHBo4bqnbiBwaOG7pyIKIAotIzogZWxmMzItc3B1LmM6MTM2MworIzogZWxmMzItc3B1LmM6MTQ2OQogbXNnaWQgIm92ZXJsYXkgc3R1YiByZWxvY2F0aW9uIG92ZXJmbG93IgogbXNnc3RyICJ0csOgbiDEkeG7i25oIHbhu4sgbOG6oWkgbeG6qXUgcGjhu6ciCiAKLSM6IGVsZjMyLXNwdS5jOjE4MjAKKyM6IGVsZjMyLXNwdS5jOjE0NzggZWxmNjQtcHBjLmM6MTAwNzgKK21zZ2lkICJzdHVicyBkb24ndCBtYXRjaCBjYWxjdWxhdGVkIHNpemUiCittc2dzdHIgImPDoWMgbeG6qXUga2jDtG5nIHTGsMahbmcg4bupbmcgduG7m2kga8OtY2ggY+G7oSDEkcOjIHTDrW5oIgorCisjOiBlbGYzMi1zcHUuYzoxOTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzIG92ZXJsYXBzICVzXG4iCiBtc2dzdHIgImPhuqNuaCBiw6FvIDogJXMgxJHDqCBsw6puICVzXG4iCiAKLSM6IGVsZjMyLXNwdS5jOjE4MzYKKyM6IGVsZjMyLXNwdS5jOjE5OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXMgZXhjZWVkcyBzZWN0aW9uIHNpemVcbiIKIG1zZ3N0ciAiY+G6o25oIGLDoW8gOiAlcyB2xrDhu6N0IHF1w6Ega8OtY2ggY+G7oSBwaOG6p25cbiIKIAotIzogZWxmMzItc3B1LmM6MTg2NworIzogZWxmMzItc3B1LmM6MjAyMwogbXNnaWQgIiVBOjB4JXYgbm90IGZvdW5kIGluIGZ1bmN0aW9uIHRhYmxlXG4iCiBtc2dzdHIgIiVBOjB4JXYga2jDtG5nIHTDrG0gdGjhuqV5IHRyb25nIGLhuqNuZyBow6BtXG4iCiAKLSM6IGVsZjMyLXNwdS5jOjE5NTgKLW1zZ2lkICIlQiglQSsweCV2KTogY2FsbCB0byBub24tY29kZSBzZWN0aW9uICVCKCVBKSwgc3RhY2sgYW5hbHlzaXMgaW5jb21wbGV0ZVxuIgotbXNnc3RyICIlQiglQSsweCV2KTogY3Xhu5ljIGfhu41pIHBo4bqnbiBraMOhYyBtw6MgJUIoJUEpLCBjaMawYSBwaMOibiB0w61jaCB4b25nIMSR4buRbmdcbiIKKyM6IGVsZjMyLXNwdS5jOjIxNjUKK21zZ2lkICIlQiglQSsweCV2KTogY2FsbCB0byBub24tY29kZSBzZWN0aW9uICVCKCVBKSwgYW5hbHlzaXMgaW5jb21wbGV0ZVxuIgorbXNnc3RyICIlQiglQSsweCV2KTogZ+G7jWkgcGjhuqduIGtow6FjIG3DoyAlQiglQSksIGNoxrBhIHBow6JuIHTDrWNoIGhvw6BuIHRvw6BuXG4iCiAKLSM6IGVsZjMyLXNwdS5jOjIwNzkKKyM6IGVsZjMyLXNwdS5jOjIzMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJUEgbGlua19vcmRlciBub3QgZm91bmRcbiIKIG1zZ3N0ciAiJUEgbGlua19vcmRlciBraMO0bmcgdMOsbSB0aOG6pXlcbiIKIAotIzogZWxmMzItc3B1LmM6MjM1OAorIzogZWxmMzItc3B1LmM6MjcwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJTdGFjayBhbmFseXNpcyB3aWxsIGlnbm9yZSB0aGUgY2FsbCBmcm9tICVzIHRvICVzXG4iCiBtc2dzdHIgIlRp4bq/biB0csOsbmggcGjDom4gdMOtY2ggxJHhu5FuZyBz4bq9IGLhu48gcXVhIGN14buZYyBn4buNaSB04burICVzIGNobyAlc1xuIgogCi0jOiBlbGYzMi1zcHUuYzoyNTEzCisjOiBlbGYzMi1zcHUuYzozMzQ4Cittc2dpZCAiICAlczogMHgldlxuIgorbXNnc3RyICIgICVzOiAweCV2XG4iCisKKyM6IGVsZjMyLXNwdS5jOjMzNDkKIG1zZ2lkICIlczogMHgldiAweCV2XG4iCiBtc2dzdHIgIiVzOiAweCV2IDB4JXZcbiIKIAotIzogZWxmMzItc3B1LmM6MjUxNworIzogZWxmMzItc3B1LmM6MzM1NAogbXNnaWQgIiAgY2FsbHM6XG4iCiBtc2dzdHIgIiAgY3Xhu5ljIGfhu41pOlxuIgogCi0jOiBlbGYzMi1zcHUuYzoyNTI0CisjOiBlbGYzMi1zcHUuYzozMzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICVzJXMgJXNcbiIKIG1zZ3N0ciAiICAgJXMlcyAlc1xuIgogCi0jOiBlbGYzMi1zcHUuYzoyNTg1CisjOiBlbGYzMi1zcHUuYzozNTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGR1cGxpY2F0ZWQgaW4gJXNcbiIKK21zZ3N0ciAiJXMgYuG7iyBuaMOibiDEkcO0aSB0cm9uZyAlc1xuIgorCisjOiBlbGYzMi1zcHUuYzozNTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGR1cGxpY2F0ZWRcbiIKK21zZ3N0ciAiJXMgYuG7iyBuaMOibiDEkcO0aVxuIgorCisjOiBlbGYzMi1zcHUuYzozNTc1Cittc2dpZCAic29ycnksIG5vIHN1cHBvcnQgZm9yIGR1cGxpY2F0ZSBvYmplY3QgZmlsZXMgaW4gYXV0by1vdmVybGF5IHNjcmlwdFxuIgorbXNnc3RyICJ0aeG6v2MgbMOgIHbEg24gbOG7h25oIHThu7EgxJHhu5luZyBwaOG7pyBraMO0bmcgaOG7lyB0cuG7oyB04bqtcCB0aW4gxJHhu5FpIHTGsOG7o25nIHTEg25nIMSRw7RpXG4iCisKKyM6IGVsZjMyLXNwdS5jOjM2MDUKK21zZ2lkICJub24tb3ZlcmxheSBzaXplIG9mIDB4JXYgcGx1cyBtYXhpbXVtIG92ZXJsYXkgc2l6ZSBvZiAweCV2IGV4Y2VlZHMgbG9jYWwgc3RvcmVcbiIKK21zZ3N0ciAia8OtY2ggY+G7oSBraMOhYyBwaOG7pyAweCV2IGPhu5luZyB24bubaSBrw61jaCBj4buhIHBo4bunIHThu5FpIMSRYSAweCV2IHRow6wgdsaw4bujdCBxdcOhIGtobyBj4bulYyBi4buZXG4iCisKKyM6IGVsZjMyLXNwdS5jOjM3NDEKK21zZ2lkICIlQjolQSVzIGV4Y2VlZHMgb3ZlcmxheSBzaXplXG4iCittc2dzdHIgIiVCOiVBJXMgdsaw4bujdCBxdcOhIGvDrWNoIGPhu6EgcGjhu6dcbiIKKworIzogZWxmMzItc3B1LmM6Mzg2MgogbXNnaWQgIlN0YWNrIHNpemUgZm9yIGNhbGwgZ3JhcGggcm9vdCBub2Rlcy5cbiIKIG1zZ3N0ciAiS8OtY2ggY+G7oSDEkeG7kW5nIGNobyBjw6FjIG7DunQgdGjDtG5nIHRpbiBn4buRYyDEkeG7kyB0aOG7iyBjdeG7mWMgZ+G7jWkuXG4iCiAKLSM6IGVsZjMyLXNwdS5jOjI1ODYKKyM6IGVsZjMyLXNwdS5jOjM4NjMKIG1zZ2lkICIiCiAiXG4iCiAiU3RhY2sgc2l6ZSBmb3IgZnVuY3Rpb25zLiAgQW5ub3RhdGlvbnM6ICcqJyBtYXggc3RhY2ssICd0JyB0YWlsIGNhbGxcbiIKQEAgLTE3NjcsODAgKzIwMjEsNzYgQEAKICIgKlx0xJHhu5FuZyB04buRaSDEkWFcbiIKICIgdFx0Y3Xhu5ljIGfhu41pIMSRdcO0aVxuIgogCi0jOiBlbGYzMi1zcHUuYzoyNjE1Ci1tc2dpZCAiICAlczogMHgldlxuIgotbXNnc3RyICIgICVzOiAweCV2XG4iCi0KLSM6IGVsZjMyLXNwdS5jOjI2MjUKKyM6IGVsZjMyLXNwdS5jOjM4NzEKIG1zZ2lkICJNYXhpbXVtIHN0YWNrIHJlcXVpcmVkIGlzIDB4JXZcbiIKIG1zZ3N0ciAixJDhu5FuZyB04buRaSDEkWEgY+G6p24gdGhp4bq/dCBsw6AgMHgldlxuIgogCi0jOiBlbGYzMi1zcHUuYzoyNzUxCisjOiBlbGYzMi1zcHUuYzo0MDY3CiBtc2dpZCAiJUIoJXMrMHglbHgpOiB1bnJlc29sdmFibGUgJXMgcmVsb2NhdGlvbiBhZ2FpbnN0IHN5bWJvbCBgJXMnIgogbXNnc3RyICIlQiglcysweCVseCk6IGtow7RuZyB0aOG7gyBnaeG6o2kgcXV54bq/dCDEkeG7i25oIHbhu4sgbOG6oWkgJXMgc28gduG7m2kga8O9IGhp4buHdSDCqyAlcyDCuyIKIAotIzogZWxmMzItdjg1MC5jOjE2MworIzogZWxmMzItdjg1MC5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJWYXJpYWJsZSBgJXMnIGNhbm5vdCBvY2N1cHkgaW4gbXVsdGlwbGUgc21hbGwgZGF0YSByZWdpb25zIgogbXNnc3RyICJCaeG6v24gwqsgJXMgwrsga2jDtG5nIHRo4buDIGNoaeG6v20gbmhp4buBdSB2w7luZyBk4buvIGxp4buHdSBuaOG7jyIKIAotIzogZWxmMzItdjg1MC5jOjE2NgorIzogZWxmMzItdjg1MC5jOjE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJWYXJpYWJsZSBgJXMnIGNhbiBvbmx5IGJlIGluIG9uZSBvZiB0aGUgc21hbGwsIHplcm8sIGFuZCB0aW55IGRhdGEgcmVnaW9ucyIKIG1zZ3N0ciAiQmnhur9uIMKrICVzIMK7IGNo4buJIGPDsyB0aOG7gyBu4bqxbSB0cm9uZyBt4buZdCBj4bunYSB2w7luZyBk4buvIGxp4buHdSBraeG7g3Ugbmjhu48sIHPhu5Ega2jDtG5nIHbDoCBy4bqldCBuaOG7jyIKIAotIzogZWxmMzItdjg1MC5jOjE2OQorIzogZWxmMzItdjg1MC5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJWYXJpYWJsZSBgJXMnIGNhbm5vdCBiZSBpbiBib3RoIHNtYWxsIGFuZCB6ZXJvIGRhdGEgcmVnaW9ucyBzaW11bHRhbmVvdXNseSIKIG1zZ3N0ciAiQmnhur9uIMKrICVzIMK7IGtow7RuZyB0aOG7gyBu4bqxbSDEkeG7k25nIHRo4budaSB0cm9uZyBj4bqjIGhhaSB2w7luZyBk4buvIGxp4buHdSBraeG7g3Ugbmjhu48gdsOgIHPhu5Ega2jDtG5nIgogCi0jOiBlbGYzMi12ODUwLmM6MTcyCisjOiBlbGYzMi12ODUwLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhcmlhYmxlIGAlcycgY2Fubm90IGJlIGluIGJvdGggc21hbGwgYW5kIHRpbnkgZGF0YSByZWdpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJCaeG6v24gwqsgJXMgwrsga2jDtG5nIHRo4buDIG7hurFtIMSR4buTbmcgdGjhu51pIHRyb25nIGPhuqMgaGFpIHbDuW5nIGThu68gbGnhu4d1IGtp4buDdSBuaOG7jyB2w6AgcuG6pXQgbmjhu48iCiAKLSM6IGVsZjMyLXY4NTAuYzoxNzUKKyM6IGVsZjMyLXY4NTAuYzoxNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmFyaWFibGUgYCVzJyBjYW5ub3QgYmUgaW4gYm90aCB6ZXJvIGFuZCB0aW55IGRhdGEgcmVnaW9ucyBzaW11bHRhbmVvdXNseSIKIG1zZ3N0ciAiQmnhur9uIMKrICVzIMK7IGtow7RuZyB0aOG7gyBu4bqxbSDEkeG7k25nIHRo4budaSB0cm9uZyBj4bqjIGhhaSB2w7luZyBk4buvIGxp4buHdSBraeG7g3UgcuG6pXQgbmjhu48gdsOgIHPhu5Ega2jDtG5nIgogCi0jOiBlbGYzMi12ODUwLmM6NDc4CisjOiBlbGYzMi12ODUwLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZBSUxFRCB0byBmaW5kIHByZXZpb3VzIEhJMTYgcmVsb2NcbiIKIG1zZ3N0ciAiTOG7lkkgdMOsbSDEkeG7i25oIHbhu4sgbOG6oWkgSEkxNiB0csaw4bubY1xuIgogCi0jOiBlbGYzMi12ODUwLmM6MTcxMworIzogZWxmMzItdjg1MC5jOjE3MTUKIG1zZ2lkICJjb3VsZCBub3QgbG9jYXRlIHNwZWNpYWwgbGlua2VyIHN5bWJvbCBfX2dwIgogbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkga8O9IGhp4buHdSBsacOqbiBr4bq/dCDEkeG6t2MgYmnhu4d0IF9fZ3AiCiAKLSM6IGVsZjMyLXY4NTAuYzoxNzE3CisjOiBlbGYzMi12ODUwLmM6MTcxOQogbXNnaWQgImNvdWxkIG5vdCBsb2NhdGUgc3BlY2lhbCBsaW5rZXIgc3ltYm9sIF9fZXAiCiBtc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSBrw70gaGnhu4d1IGxpw6puIGvhur90IMSR4bq3YyBiaeG7h3QgX19lcCIKIAotIzogZWxmMzItdjg1MC5jOjE3MjEKKyM6IGVsZjMyLXY4NTAuYzoxNzIzCiBtc2dpZCAiY291bGQgbm90IGxvY2F0ZSBzcGVjaWFsIGxpbmtlciBzeW1ib2wgX19jdGJwIgogbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkga8O9IGhp4buHdSBsacOqbiBr4bq/dCDEkeG6t2MgYmnhu4d0IF9fY3RicCIKIAotIzogZWxmMzItdjg1MC5jOjE4NzEKKyM6IGVsZjMyLXY4NTAuYzoxODczCiBtc2dpZCAiJUI6IEFyY2hpdGVjdHVyZSBtaXNtYXRjaCB3aXRoIHByZXZpb3VzIG1vZHVsZXMiCiBtc2dzdHIgIiVCOiBzYWkga2jhu5twIGtp4bq/biB0csO6YyB24bubaSBtw7QtxJF1biBraMOhYyIKIAotIzogZWxmMzItdjg1MC5jOjE4OTAKKyM6IGVsZjMyLXY4NTAuYzoxODkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInByaXZhdGUgZmxhZ3MgPSAlbHg6ICIKIG1zZ3N0ciAiY8OhYyBj4budIHJpw6puZyDigJQgJWx4OiAiCiAKLSM6IGVsZjMyLXY4NTAuYzoxODk1CisjOiBlbGYzMi12ODUwLmM6MTg5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ2ODUwIGFyY2hpdGVjdHVyZSIKIG1zZ3N0ciAiS2nhur9uIHRyw7pjIHY4NTAiCiAKLSM6IGVsZjMyLXY4NTAuYzoxODk2CisjOiBlbGYzMi12ODUwLmM6MTg5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ2ODUwZSBhcmNoaXRlY3R1cmUiCiBtc2dzdHIgIktp4bq/biB0csO6YyB2ODUwZSIKIAotIzogZWxmMzItdjg1MC5jOjE4OTcKKyM6IGVsZjMyLXY4NTAuYzoxODk5CiAjLCBjLWZvcm1hdAogbXNnaWQgInY4NTBlMSBhcmNoaXRlY3R1cmUiCiBtc2dzdHIgIktp4bq/biB0csO6YyB2ODUwZTEiCkBAIC0xODY1LDExNCArMjExNSwxMTggQEAKIG1zZ2lkICIlczogd2FybmluZzogR09UIGFkZGVuZCBvZiAlbGQgdG8gYCVzJyBkb2VzIG5vdCBtYXRjaCBwcmV2aW91cyBHT1QgYWRkZW5kIG9mICVsZCIKIG1zZ3N0ciAiJXM6IGPhuqNuaCBiw6FvIDogc+G7kSBo4bqhbmcgR09UIGPhu6dhICVsZCBjaG8gwqsgJXMgwrsga2jDtG5nIHTGsMahbmcg4bupbmcgduG7m2kgc+G7kSBo4bqhbmcgR09UIHRyxrDhu5tjIGPhu6dhICVsZCIKIAotIzogZWxmMzItdmF4LmM6MTU4NAorIzogZWxmMzItdmF4LmM6MTU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogd2FybmluZzogUExUIGFkZGVuZCBvZiAlZCB0byBgJXMnIGZyb20gJXMgc2VjdGlvbiBpZ25vcmVkIgogbXNnc3RyICIlczogY+G6o25oIGLDoW8gOiBz4buRIGjhuqFuZyBQTFQgY+G7p2EgJWQgY2hvIMKrICVzIMK7IHThu6sgcGjhuqduICVzIGLhu4sgYuG7jyBxdWEiCiAKLSM6IGVsZjMyLXZheC5jOjE3MjEKKyM6IGVsZjMyLXZheC5jOjE3MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHdhcm5pbmc6ICVzIHJlbG9jYXRpb24gYWdhaW5zdCBzeW1ib2wgYCVzJyBmcm9tICVzIHNlY3Rpb24iCiBtc2dzdHIgIiVzOiBj4bqjbmggYsOhbyA6IMSR4buLbmggduG7iyBs4bqhaSAlcyBzbyB24bubaSBrw70gaGnhu4d1IMKrICVzIMK7IHThu6sgcGjhuqduICVzIgogCi0jOiBlbGYzMi12YXguYzoxNzI3CisjOiBlbGYzMi12YXguYzoxNzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB3YXJuaW5nOiAlcyByZWxvY2F0aW9uIHRvIDB4JXggZnJvbSAlcyBzZWN0aW9uIgogbXNnc3RyICIlczogY+G6o25oIGLDoW8gOiDEkeG7i25oIHbhu4sgbOG6oWkgJXMgc2FuZyAweCV4IHThu6sgcGjhuqduICVzIgogCi0jOiBlbGYzMi14c3Rvcm15MTYuYzo0NTEgZWxmMzItaWE2NC5jOjI5NjIgZWxmNjQtaWE2NC5jOjI5NjIKKyM6IGVsZjMyLXhzdG9ybXkxNi5jOjQ1MSBlbGYzMi1pYTY0LmM6Mjc5NCBlbGY2NC1pYTY0LmM6Mjc5NAogbXNnaWQgIm5vbi16ZXJvIGFkZGVuZCBpbiBAZnB0ciByZWxvYyIKIG1zZ3N0ciAic+G7kSBo4bqhbmcga2jDoWMga2jDtG5nIHRyb25nIMSR4buLbmggduG7iyBs4bqhaSBAZnB0ciIKIAotIzogZWxmMzIteHRlbnNhLmM6NzMzCisjOiBlbGYzMi14dGVuc2EuYzo5MTEKIG1zZ2lkICIlQiglQSk6IGludmFsaWQgcHJvcGVydHkgdGFibGUiCiBtc2dzdHIgIiVCKCVBKTogYuG6o25nIHRodeG7mWMgdMOtbmggc2FpIgogCi0jOiBlbGYzMi14dGVuc2EuYzoyMTc3CisjOiBlbGYzMi14dGVuc2EuYzoyNzM0CiBtc2dpZCAiJUIoJUErMHglbHgpOiByZWxvY2F0aW9uIG9mZnNldCBvdXQgb2YgcmFuZ2UgKHNpemU9MHgleCkiCiBtc2dzdHIgIiVCKCVBKzB4JWx4KToga2hv4bqjbmcgYsO5IMSR4buLbmggduG7iyBs4bqhaSDhu58gbmdv4bqhaSBwaOG6oW0gdmkgKGvDrWNoIGPhu6E9MHgleCkiCiAKLSM6IGVsZjMyLXh0ZW5zYS5jOjIyMzQKKyM6IGVsZjMyLXh0ZW5zYS5jOjI4MTMgZWxmMzIteHRlbnNhLmM6MjkzNAogbXNnaWQgImR5bmFtaWMgcmVsb2NhdGlvbiBpbiByZWFkLW9ubHkgc2VjdGlvbiIKIG1zZ3N0ciAixJHhu4tuaCB24buLIGzhuqFpIMSR4buZbmcgdHJvbmcgdsO5bmcgY2jhu4kgxJHhu41jIgogCi0jOiBlbGYzMi14dGVuc2EuYzoyNDA3CisjOiBlbGYzMi14dGVuc2EuYzoyOTEwCittc2dpZCAiVExTIHJlbG9jYXRpb24gaW52YWxpZCB3aXRob3V0IGR5bmFtaWMgc2VjdGlvbnMiCittc2dzdHIgIsSQ4buLbmggduG7iyBs4bqhaSBUTFMga2jDtG5nIGjhu6NwIGzhu4cgbcOgIGtow7RuZyBjw7MgcGjhuqduIMSR4buZbmciCisKKyM6IGVsZjMyLXh0ZW5zYS5jOjMxMjcKIG1zZ2lkICJpbnRlcm5hbCBpbmNvbnNpc3RlbmN5IGluIHNpemUgb2YgLmdvdC5sb2Mgc2VjdGlvbiIKIG1zZ3N0ciAic+G7sSBtw6J1IHRodeG6q24gbuG7mWkgYuG7mSB0cm9uZyBrw61jaCBj4buhIGPhu6dhIHBo4bqnbiAuZ290LmxvYyIKIAotIzogZWxmMzIteHRlbnNhLmM6MjcxNAorIzogZWxmMzIteHRlbnNhLmM6MzQzNwogbXNnaWQgIiVCOiBpbmNvbXBhdGlibGUgbWFjaGluZSB0eXBlLiBPdXRwdXQgaXMgMHgleC4gSW5wdXQgaXMgMHgleCIKIG1zZ3N0ciAiJUI6IGtp4buDdSBtw6F5IGtow7RuZyB0xrDGoW5nIHRow61jaC4gS+G6v3QgeHXhuqV0IGzDoCAweCV4LiBE4buvIGxp4buHdSBuaOG6rXAgdsOgbyBsw6AgMHgleC4iCiAKLSM6IGVsZjMyLXh0ZW5zYS5jOjM5MjAgZWxmMzIteHRlbnNhLmM6MzkyOAorIzogZWxmMzIteHRlbnNhLmM6NDY2NiBlbGYzMi14dGVuc2EuYzo0Njc0CiBtc2dpZCAiQXR0ZW1wdCB0byBjb252ZXJ0IEwzMlIvQ0FMTFggdG8gQ0FMTCBmYWlsZWQiCiBtc2dzdHIgIkzhu5dpIHRo4butIGNodXnhu4NuIMSR4buVaSBMMzJSL0NBTExYIHNhbmcgQ0FMTCIKIAotIzogZWxmMzIteHRlbnNhLmM6NTUyMiBlbGYzMi14dGVuc2EuYzo1NTk4IGVsZjMyLXh0ZW5zYS5jOjY3MTQKKyM6IGVsZjMyLXh0ZW5zYS5jOjYyNzYgZWxmMzIteHRlbnNhLmM6NjM1MiBlbGYzMi14dGVuc2EuYzo3NDY4CiBtc2dpZCAiJUIoJUErMHglbHgpOiBjb3VsZCBub3QgZGVjb2RlIGluc3RydWN0aW9uOyBwb3NzaWJsZSBjb25maWd1cmF0aW9uIG1pc21hdGNoIgogbXNnc3RyICIlQiglQSsweCVseCk6IGtow7RuZyB0aOG7gyBnaeG6o2kgbcOjIGNo4buJIGThuqtuOyBjw7MgdGjhu4Mgc2FpIGto4bubcCBj4bqldSBow6xuaCIKIAotIzogZWxmMzIteHRlbnNhLmM6NjQ1NAorIzogZWxmMzIteHRlbnNhLmM6NzIwOAogbXNnaWQgIiVCKCVBKzB4JWx4KTogY291bGQgbm90IGRlY29kZSBpbnN0cnVjdGlvbiBmb3IgWFRFTlNBX0FTTV9TSU1QTElGWSByZWxvY2F0aW9uOyBwb3NzaWJsZSBjb25maWd1cmF0aW9uIG1pc21hdGNoIgogbXNnc3RyICIlQiglQSsweCVseCk6IGtow7RuZyB0aOG7gyBnaeG6o2kgbcOjIGNo4buJIGThuqtuIGNobyDEkeG7i25oIHbhu4sgbOG6oWkgWFRFTlNBX0FTTV9TSU1QTElGWTsgY8OzIHRo4buDIHNhaSBraOG7m3AgY+G6pXUgaMOsbmgiCiAKLSM6IGVsZjMyLXh0ZW5zYS5jOjgxNjYKKyM6IGVsZjMyLXh0ZW5zYS5jOjg5NjkKIG1zZ2lkICJpbnZhbGlkIHJlbG9jYXRpb24gYWRkcmVzcyIKIG1zZ3N0ciAixJHhu4thIGNo4buJIMSR4buLbmggduG7iyBs4bqhaSBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogZWxmMzIteHRlbnNhLmM6ODIxNQorIzogZWxmMzIteHRlbnNhLmM6OTAxOAogbXNnaWQgIm92ZXJmbG93IGFmdGVyIHJlbGF4YXRpb24iCiBtc2dzdHIgInRyw6BuIHNhdSBraGkgZ2nhuqNtIG5o4bq5IgogCi0jOiBlbGYzMi14dGVuc2EuYzo5MzQxCisjOiBlbGYzMi14dGVuc2EuYzoxMDE1NAogbXNnaWQgIiVCKCVBKzB4JWx4KTogdW5leHBlY3RlZCBmaXggZm9yICVzIHJlbG9jYXRpb24iCiBtc2dzdHIgIiVCKCVBKzB4JWx4KTogc+G7rWEgY2jhu69hIGLhuqV0IHRoxrDhu51uZyBjaG8gxJHhu4tuaCB24buLIGzhuqFpICVzIgogCi0jOiBlbGY2NC1hbHBoYS5jOjQ1MworIzogZWxmNjQtYWxwaGEuYzo0NTIKIG1zZ2lkICJHUERJU1AgcmVsb2NhdGlvbiBkaWQgbm90IGZpbmQgbGRhaCBhbmQgbGRhIGluc3RydWN0aW9ucyIKIG1zZ3N0ciAixJDhu4tuaCB24buLIGzhuqFpIEdQRElTUCBraMO0bmcgdMOsbSB0aOG6pXkgY8OhYyBjaOG7iSBk4bqrbiBsZGFoIHbDoCBsZGEiCiAKLSM6IGVsZjY0LWFscGhhLmM6MjQwNAorIzogZWxmNjQtYWxwaGEuYzoyNDE2CiBtc2dpZCAiJUI6IC5nb3Qgc3Vic2VnbWVudCBleGNlZWRzIDY0SyAoc2l6ZSAlZCkiCiBtc2dzdHIgIiVCOiDEkW/huqFuIHBo4bulIC5nb3Qgdsaw4bujdCBxdcOhIDY0IEsgKGvDrWNoIGPhu6EgJWQpIgogCi0jOiBlbGY2NC1hbHBoYS5jOjQyNzcgZWxmNjQtYWxwaGEuYzo0Mjg5CisjOiBlbGY2NC1hbHBoYS5jOjQyOTYgZWxmNjQtYWxwaGEuYzo0MzA4CiBtc2dpZCAiJUI6IGdwLXJlbGF0aXZlIHJlbG9jYXRpb24gYWdhaW5zdCBkeW5hbWljIHN5bWJvbCAlcyIKIG1zZ3N0ciAiJUI6IMSR4buLbmggduG7iyBs4bqhaSB0xrDGoW5nIMSR4buRaSB24bubaSBncCAoZ3AtcmVsYXRpdmUpIHNvIHbhu5tpIGvDvSBoaeG7h3UgxJHhu5luZyAlcyIKIAotIzogZWxmNjQtYWxwaGEuYzo0MzE1IGVsZjY0LWFscGhhLmM6NDQ1MAorIzogZWxmNjQtYWxwaGEuYzo0MzM0IGVsZjY0LWFscGhhLmM6NDQ2OQogbXNnaWQgIiVCOiBwYy1yZWxhdGl2ZSByZWxvY2F0aW9uIGFnYWluc3QgZHluYW1pYyBzeW1ib2wgJXMiCiBtc2dzdHIgIiVCOiDEkeG7i25oIHbhu4sgbOG6oWkgdMawxqFuZyDEkeG7kWkgduG7m2kgcGMgKHBjLXJlbGF0aXZlKSBzbyB24bubaSBrw70gaGnhu4d1IMSR4buZbmcgJXMiCiAKLSM6IGVsZjY0LWFscGhhLmM6NDM0MworIzogZWxmNjQtYWxwaGEuYzo0MzYyCiBtc2dpZCAiJUI6IGNoYW5nZSBpbiBncDogQlJTR1AgJXMiCiBtc2dzdHIgIiVCOiB0aGF5IMSR4buVaSB0cm9uZyBncDogQlJTR1AgJXMiCiAKLSM6IGVsZjY0LWFscGhhLmM6NDM2OAorIzogZWxmNjQtYWxwaGEuYzo0Mzg3CiBtc2dpZCAiPHVua25vd24+IgogbXNnc3RyICI8a2jDtG5nIHLDtT4iCiAKLSM6IGVsZjY0LWFscGhhLmM6NDM3MworIzogZWxmNjQtYWxwaGEuYzo0MzkyCiBtc2dpZCAiJUI6ICFzYW1lZ3AgcmVsb2MgYWdhaW5zdCBzeW1ib2wgd2l0aG91dCAucHJvbG9ndWU6ICVzIgogbXNnc3RyICIlQjogxJHhu4tuaCB24buLIGzhuqFpICFzYW1lZ3Agc28gduG7m2kga8O9IGhp4buHdSBraMO0bmcgY8OzIC5wcm9sb2d1ZTogJXMiCiAKLSM6IGVsZjY0LWFscGhhLmM6NDQyNQorIzogZWxmNjQtYWxwaGEuYzo0NDQ0CiBtc2dpZCAiJUI6IHVuaGFuZGxlZCBkeW5hbWljIHJlbG9jYXRpb24gYWdhaW5zdCAlcyIKIG1zZ3N0ciAiJUI6IGtow7RuZyB44butIGzDvSDEkcaw4bujYyDEkeG7i25oIHbhu4sgbOG6oWkgxJHhu5luZyBzbyB24bubaSAlcyIKIAotIzogZWxmNjQtYWxwaGEuYzo0NDU3CisjOiBlbGY2NC1hbHBoYS5jOjQ0NzYKIG1zZ2lkICIlQjogcGMtcmVsYXRpdmUgcmVsb2NhdGlvbiBhZ2FpbnN0IHVuZGVmaW5lZCB3ZWFrIHN5bWJvbCAlcyIKIG1zZ3N0ciAiJUI6IMSR4buLbmggduG7iyBs4bqhaSB0xrDGoW5nIMSR4buRaSB24bubaSBwYyAocGMtcmVsYXRpdmUpIHNvIHbhu5tpIGvDvSBoaeG7h3UgeeG6v3UgY2jGsGEgxJHGsOG7o2MgeMOhYyDEkeG7i25oICVzIgogCi0jOiBlbGY2NC1hbHBoYS5jOjQ1MTcKKyM6IGVsZjY0LWFscGhhLmM6NDUzNgogbXNnaWQgIiVCOiBkdHAtcmVsYXRpdmUgcmVsb2NhdGlvbiBhZ2FpbnN0IGR5bmFtaWMgc3ltYm9sICVzIgogbXNnc3RyICIlQjogxJHhu4tuaCB24buLIGzhuqFpIHTGsMahbmcgxJHhu5FpIHbhu5tpIGR0cCAoZHRwLXJlbGF0aXZlKSBzbyB24bubaSBrw70gaGnhu4d1IMSR4buZbmcgJXMiCiAKLSM6IGVsZjY0LWFscGhhLmM6NDU0MAorIzogZWxmNjQtYWxwaGEuYzo0NTU5CiBtc2dpZCAiJUI6IHRwLXJlbGF0aXZlIHJlbG9jYXRpb24gYWdhaW5zdCBkeW5hbWljIHN5bWJvbCAlcyIKIG1zZ3N0ciAiJUI6IMSR4buLbmggduG7iyBs4bqhaSB0xrDGoW5nIMSR4buRaSB24bubaSB0cCAodHAtcmVsYXRpdmUpIHNvIHbhu5tpIGvDvSBoaeG7h3UgxJHhu5luZyAlcyIKIAotIzogZWxmNjQtaHBwYS5jOjIwNDAKKyM6IGVsZjY0LWhwcGEuYzoyMDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgInN0dWIgZW50cnkgZm9yICVzIGNhbm5vdCBsb2FkIC5wbHQsIGRwIG9mZnNldCA9ICVsZCIKIG1zZ3N0ciAibeG7pWMgbmjhuq1wIG3huql1IGNobyAlcyBraMO0bmcgdGjhu4MgbuG6oXAgLnBsdCwga2hv4bqjbmcgYsO5IGRwID0gJWxkIgpAQCAtMjAxOSwxOCArMjI3MywxOCBAQAogIiVzOiBjaOG7iSB0aOG7iyBMT0NBTCAoY+G7pWMgYuG7mSk6IFRoYW5oIGdoaSAkJWxkIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoYW5oIGdoaSBj4bulYyBi4buZLlxuIgogIlRoYW5oIGdoaSB0b8OgbiBj4bulYyB0aOG7qSBuaOG6pXQgbMOgICQlbGQuIgogCi0jOiBlbGY2NC1tbWl4LmM6MjIwMgorIzogZWxmNjQtbW1peC5jOjIyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IEVycm9yOiBtdWx0aXBsZSBkZWZpbml0aW9uIG9mIGAlcyc7IHN0YXJ0IG9mICVzIGlzIHNldCBpbiBhIGVhcmxpZXIgbGlua2VkIGZpbGVcbiIKIG1zZ3N0ciAiIgogIiVzOiBM4buXaTogxJHhu4tuaCBuZ2jEqWEgbmhp4buBdSBs4bqnbiDCqyAlcyDCuzsgxJHhuqd1IGPhu6dhICVzIMSRxrDhu6NjIMSR4bq3dFxuIgogInRyb25nIG3hu5l0IHThuq1wIHRpbiDEkcOjIGxpw6puIGvhur90IHPhu5ttIGjGoW5cbiIKIAotIzogZWxmNjQtbW1peC5jOjIyNjAKKyM6IGVsZjY0LW1taXguYzoyMjU5CiBtc2dpZCAiUmVnaXN0ZXIgc2VjdGlvbiBoYXMgY29udGVudHNcbiIKIG1zZ3N0ciAiUGjhuqduIHRoYW5oIGdoaSBjw7MgbuG7mWkgZHVuZ1xuIgogCi0jOiBlbGY2NC1tbWl4LmM6MjQ1MgorIzogZWxmNjQtbW1peC5jOjI0NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkludGVybmFsIGluY29uc2lzdGVuY3k6IHJlbWFpbmluZyAldSAhPSBtYXggJXUuXG4iCkBAIC0yMDM5LDY5ICsyMjkzLDY1IEBACiAiU+G7sSBtw6J1IHRodeG6q24gbuG7mWkgYuG7mSA6IGPDsm4gbOG6oWkgJXUgIT0gdOG7kWkgxJFhICV1LlxuIgogIiAgSMOjeSB0aMO0bmcgYsOhbyBs4buXaSBuw6B5LiIKIAotIzogZWxmNjQtcHBjLmM6MjU2OSBsaWJiZmQuYzo5NTAKKyM6IGVsZjY0LXBwYy5jOjI1NjEgbGliYmZkLmM6OTc4CiBtc2dpZCAiJUI6IGNvbXBpbGVkIGZvciBhIGJpZyBlbmRpYW4gc3lzdGVtIGFuZCB0YXJnZXQgaXMgbGl0dGxlIGVuZGlhbiIKIG1zZ3N0ciAiJUI6IMSRxrDhu6NjIGJpw6puIGThu4tjaCBjaG8gbeG7mXQgaOG7hyB0aOG7kW5nIHbhu4EgY3Xhu5FpIGzhu5tuLCBjw7JuIMSRw61jaCB24buBIGN14buRaSBuaOG7jyIKIAotIzogZWxmNjQtcHBjLmM6MjU3MiBsaWJiZmQuYzo5NTIKKyM6IGVsZjY0LXBwYy5jOjI1NjQgbGliYmZkLmM6OTgwCiBtc2dpZCAiJUI6IGNvbXBpbGVkIGZvciBhIGxpdHRsZSBlbmRpYW4gc3lzdGVtIGFuZCB0YXJnZXQgaXMgYmlnIGVuZGlhbiIKIG1zZ3N0ciAiJUI6IMSRxrDhu6NjIGJpw6puIGThu4tjaCBjaG8gbeG7mXQgaOG7hyB0aOG7kW5nIHbhu4EgY3Xhu5FpIG5o4buPLCBjw7JuIMSRw61jaCB24buBIGN14buRaSBs4bubbiIKIAotIzogZWxmNjQtcHBjLmM6NTg4OAorIzogZWxmNjQtcHBjLmM6NjA2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3B5IHJlbG9jIGFnYWluc3QgYCVzJyByZXF1aXJlcyBsYXp5IHBsdCBsaW5raW5nOyBhdm9pZCBzZXR0aW5nIExEX0JJTkRfTk9XPTEgb3IgdXBncmFkZSBnY2MiCiBtc2dzdHIgIsSR4buLbmggduG7iyBs4bqhaSBzYW8gY2jDqXAgc28gduG7m2kgwqsgJXMgwrsgdGjDrCBj4bqnbiB0aGnhur90IGNo4bupYyBuxINuZyBsacOqbiBr4bq/dCBwbHQgdeG7gyBv4bqjaTsgaMOjeSB0csOhbmggxJHhurd0TERfQklORF9OT1c9MSwgaG/hurdjIG7Dom4gY+G6pXAgR0NDIgogCi0jOiBlbGY2NC1wcGMuYzo2MzE2CisjOiBlbGY2NC1wcGMuYzo2NDg2CiBtc2dpZCAiZHlucmVsb2MgbWlzY291bnQgZm9yICVCLCBzZWN0aW9uICVBIgogbXNnc3RyICJzYWkgxJHhur9tIMSR4buLbmggduG7iyBs4bqhaSDEkeG7mW5nIGNobyAlQiwgcGjhuqduICVBIgogCi0jOiBlbGY2NC1wcGMuYzo2NDIwCisjOiBlbGY2NC1wcGMuYzo2NTcwCiBtc2dpZCAiJUI6IC5vcGQgaXMgbm90IGEgcmVndWxhciBhcnJheSBvZiBvcGQgZW50cmllcyIKIG1zZ3N0ciAiJUI6IC5vcGQga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgbeG6o25nIGNow61uaCBxdXkgY8OhYyBt4bulYyBuaOG6rXAgb3BkIgogCi0jOiBlbGY2NC1wcGMuYzo2NDI5CisjOiBlbGY2NC1wcGMuYzo2NTc5CiBtc2dpZCAiJUI6IHVuZXhwZWN0ZWQgcmVsb2MgdHlwZSAldSBpbiAub3BkIHNlY3Rpb24iCiBtc2dzdHIgIiVCOiBn4bq3cCBraeG7g3UgxJHhu4tuaCB24buLIGzhuqFpIGLhuqV0IHRoxrDhu51uZyAldSB0cm9uZyBwaOG6p24gLm9wZCIKIAotIzogZWxmNjQtcHBjLmM6NjQ1MAorIzogZWxmNjQtcHBjLmM6NjYwMAogbXNnaWQgIiVCOiB1bmRlZmluZWQgc3ltIGAlcycgaW4gLm9wZCBzZWN0aW9uIgogbXNnc3RyICIlQjogZ+G6t3Agc3ltIChsacOqbiBr4bq/dCBt4buBbT8pIGNoxrBhIMSRxrDhu6NjIHjDoWMgxJHhu4tuaCDCqyAlcyDCuyB0cm9uZyBwaOG6p24gLm9wZCIKIAotIzogZWxmNjQtcHBjLmM6NzE1NyBlbGY2NC1wcGMuYzo3NTM3CisjOiBlbGY2NC1wcGMuYzo3Mzc3IGVsZjY0LXBwYy5jOjc3NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGVmaW5lZCBpbiByZW1vdmVkIHRvYyBlbnRyeSIKIG1zZ3N0ciAiJXMgxJHGsOG7o2MgeMOhYyDEkeG7i25oIHRyb25nIG3hu6VjIG5o4bqtcCB0b2MgYuG7iyBn4buhIGLhu48iCiAKLSM6IGVsZjY0LXBwYy5jOjgyNzIKKyM6IGVsZjY0LXBwYy5jOjg1ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9uZyBicmFuY2ggc3R1YiBgJXMnIG9mZnNldCBvdmVyZmxvdyIKIG1zZ3N0ciAibeG6qXUgbmjDoW5oIGTDoGkgwqsgJXMgwrsgdHLDoG4ga2hv4bqjbmcgYsO5IgogCi0jOiBlbGY2NC1wcGMuYzo4MzQ3CisjOiBlbGY2NC1wcGMuYzo4NjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IGZpbmQgYnJhbmNoIHN0dWIgYCVzJyIKIG1zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IG3huql1IG5ow6FuaCDCqyAlcyDCuyIKIAotIzogZWxmNjQtcHBjLmM6ODQxMyBlbGY2NC1wcGMuYzo4NDg5CisjOiBlbGY2NC1wcGMuYzo4NzAyIGVsZjY0LXBwYy5jOjg4MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAibGlua2FnZSB0YWJsZSBlcnJvciBhZ2FpbnN0IGAlcyciCiBtc2dzdHIgImzhu5dpIGLhuqNuZyBsacOqbiBr4bq/dCBzbyB24bubaSDCqyAlcyDCuyIKIAotIzogZWxmNjQtcHBjLmM6ODYxOAorIzogZWxmNjQtcHBjLmM6ODk3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBidWlsZCBicmFuY2ggc3R1YiBgJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgeMOieSBk4buxbmcgbeG6qXUgbmjDoW5oIMKrICVzIMK7IgogCi0jOiBlbGY2NC1wcGMuYzo5MDcwCisjOiBlbGY2NC1wcGMuYzo5NDUxCiBtc2dpZCAiJUIgc2VjdGlvbiAlQSBleGNlZWRzIHN0dWIgZ3JvdXAgc2l6ZSIKIG1zZ3N0ciAiJUIgcGjhuqduICVBIHbGsOG7o3QgcXXDoSBrw61jaCBj4buhIG5ow7NtIG3huql1IgogCi0jOiBlbGY2NC1wcGMuYzo5NjgyCi1tc2dpZCAic3R1YnMgZG9uJ3QgbWF0Y2ggY2FsY3VsYXRlZCBzaXplIgotbXNnc3RyICJjw6FjIG3huql1IGtow7RuZyB0xrDGoW5nIOG7qW5nIHbhu5tpIGvDrWNoIGPhu6EgxJHDoyB0w61uaCIKLQotIzogZWxmNjQtcHBjLmM6OTY5NAorIzogZWxmNjQtcHBjLmM6MTAwOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImxpbmtlciBzdHVicyBpbiAldSBncm91cCVzXG4iCkBAIC0yMTE4LDE5ICsyMzY4LDE5IEBACiAiICDEkWnhu4F1IGNo4buJbmggdG9jIGTDoGlcdFx0JWx1XG4iCiAiICBjdeG7mWMgZ+G7jWkgcGl0XHRcdFx0JWx1IgogCi0jOiBlbGY2NC1wcGMuYzoxMDM3OAorIzogZWxmNjQtcHBjLmM6MTA3NjkKIG1zZ2lkICIlQiglQSsweCVseCk6IGF1dG9tYXRpYyBtdWx0aXBsZSBUT0NzIG5vdCBzdXBwb3J0ZWQgdXNpbmcgeW91ciBjcnQgZmlsZXM7IHJlY29tcGlsZSB3aXRoIC1tbWluaW1hbC10b2Mgb3IgdXBncmFkZSBnY2MiCiBtc2dzdHIgIiVCKCVBKzB4JWx4KTogdOG7sSDEkeG7mW5nIHThuqFvIG5oaeG7gXUgVE9DIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIGtoaSBkw7luZyBjw6FjIHThuq1wIHRpbiBDUlQgY+G7p2EgYuG6oW47IGjDo3kgYmnDqm4gZOG7i2NoIGzhuqFpIHbhu5tpIMKrIC1tbWluaW1hbC10b2MgwrssIGhv4bq3YyBuw6JuZyBj4bqlcCBHQ0MiCiAKLSM6IGVsZjY0LXBwYy5jOjEwMzg2CisjOiBlbGY2NC1wcGMuYzoxMDc3NwogbXNnaWQgIiVCKCVBKzB4JWx4KTogc2libGluZyBjYWxsIG9wdGltaXphdGlvbiB0byBgJXMnIGRvZXMgbm90IGFsbG93IGF1dG9tYXRpYyBtdWx0aXBsZSBUT0NzOyByZWNvbXBpbGUgd2l0aCAtbW1pbmltYWwtdG9jIG9yIC1mbm8tb3B0aW1pemUtc2libGluZy1jYWxscywgb3IgbWFrZSBgJXMnIGV4dGVybiIKIG1zZ3N0ciAiJUIoJUErMHglbHgpOiB04buRaSDGsHUgaG/DoSBjdeG7mWMgZ+G7jWkgY8O5bmcgY2jhu5cgY2hvIMKrICVzIMK7IGtow7RuZyBjaG8gcGjDqXAgdOG7sSDEkeG7mW5nIHThuqFvIG5oaeG7gXUgVE9DOyBow6N5IGJpw6puIGThu4tjaCBs4bqhaSB24bubaSDCqyAtbW1pbmltYWwtdG9jIMK7IGhv4bq3YyDCqyAtZm5vLW9wdGltaXplLXNpYmxpbmctY2FsbHMgwrssIGhv4bq3YyBsw6BtIGNobyDCqyAlcyDCuyBsw6AgYsOqbiBuZ2/DoGkiCiAKLSM6IGVsZjY0LXBwYy5jOjExMDM3CisjOiBlbGY2NC1wcGMuYzoxMTQyNwogbXNnaWQgIiVCOiByZWxvY2F0aW9uICVzIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHN5bWJvbCAlcy4iCiBtc2dzdHIgIiVCOiBraMO0bmcgaOG7lyB0cuG7oyDEkeG7i25oIHbhu4sgbOG6oWkgJXMgY2hvIGvDvSBoaeG7h3UgJXMuIgogCi0jOiBlbGY2NC1wcGMuYzoxMTExOQorIzogZWxmNjQtcHBjLmM6MTE1MDkKIG1zZ2lkICIlQjogZXJyb3I6IHJlbG9jYXRpb24gJXMgbm90IGEgbXVsdGlwbGUgb2YgJWQiCiBtc2dzdHIgIiVCOiBs4buXaTogxJHhu4tuaCB24buLIGzhuqFpICVzIGtow7RuZyBwaOG6o2kgbMOgIGLhu5lpIHPhu5EgY2hvICVkIgogCkBAIC0yMTU5LDE5NCArMjQwOSw0OCBAQAogbXNnaWQgIiVCOiBsaW5raW5nIFVsdHJhU1BBUkMgc3BlY2lmaWMgd2l0aCBIQUwgc3BlY2lmaWMgY29kZSIKIG1zZ3N0ciAiJUI6IMSRYW5nIGxpw6puIGvhur90IFVsdHJhU1BBUkMgZOG7qXQga2hvw6F0IHbhu5tpIG3DoyDEkeG6t2MgdHLGsG5nIGNobyBIQUwiCiAKLSM6IGVsZjY0LXg4Ni02NC5jOjc5OSBlbGY2NC14ODYtNjQuYzo5NTkgZWxmNjQteDg2LTY0LmM6MjM2MAorIzogZWxmNjQteDg2LTY0LmM6MTA0NyBlbGY2NC14ODYtNjQuYzoxMjA3IGVsZnh4LW1pcHMuYzo3ODM0CiBtc2dpZCAiJUI6IHJlbG9jYXRpb24gJXMgYWdhaW5zdCBgJXMnIGNhbiBub3QgYmUgdXNlZCB3aGVuIG1ha2luZyBhIHNoYXJlZCBvYmplY3Q7IHJlY29tcGlsZSB3aXRoIC1mUElDIgogbXNnc3RyICIlQjogxJHhu4tuaCB24buLIGzhuqFpICVzIHNvIHbhu5tpIMKrICVzIMK7IGtow7RuZyB0aOG7gyDEkcaw4bujYyBkw7luZyBraGkgdOG6oW8gbeG7mXQgxJHhu5FpIHTGsOG7o25nIGNoaWEgc+G6uzsgaMOjeSBiacOqbiBk4buLY2ggbOG6oWkgduG7m2kgwqsgLWZQSUMgwrsiCiAKLSM6IGVsZjY0LXg4Ni02NC5jOjg5MAotbXNnaWQgIiVCOiAlcycgYWNjZXNzZWQgYm90aCBhcyBub3JtYWwgYW5kIHRocmVhZCBsb2NhbCBzeW1ib2wiCi1tc2dzdHIgIiVCOyDCqyAlcyDCuyDEkcaw4bujYyB0cnV5IGPhuq1wIG5oxrAgbMOgIGvDvSBoaeG7h3UgY+G6oyBoYWkga2nhu4N1IGLDrG5oIHRoxrDhu51uZyB2w6AgY+G7pWMgYuG7mSBjaG8gbeG6oWNoIgorIzogZWxmNjQteDg2LTY0LmM6MTEzOAorbXNnaWQgIiVCOiAnJXMnIGFjY2Vzc2VkIGJvdGggYXMgbm9ybWFsIGFuZCB0aHJlYWQgbG9jYWwgc3ltYm9sIgorbXNnc3RyICIlQjsgwqsgJXMgwrsgxJHGsOG7o2MgdHJ1eSBj4bqtcCBuaMawIGzDoCBrw70gaGnhu4d1IGPhuqMgaGFpIGtp4buDdSBiw6xuaCB0aMaw4budbmcgdsOgIG3huqFjaCBj4bulYyBi4buZIgogCi0jOiBlbGY2NC14ODYtNjQuYzoyMjcyCisjOiBlbGY2NC14ODYtNjQuYzoyNTU5CiBtc2dpZCAiJUI6IHJlbG9jYXRpb24gUl9YODZfNjRfR09UT0ZGNjQgYWdhaW5zdCBwcm90ZWN0ZWQgZnVuY3Rpb24gYCVzJyBjYW4gbm90IGJlIHVzZWQgd2hlbiBtYWtpbmcgYSBzaGFyZWQgb2JqZWN0IgogbXNnc3RyICIlQjogxJHhu4tuaCB24buLIGzhuqFpIFJfWDg2XzY0X0dPVE9GRjY0IHNvIHbhu5tpIGjDoG0gxJHDoyBi4bqjbyB24buHIMKrICVzIMK7IHRow6wga2jDtG5nIHRo4buDIMSRxrDhu6NjIGTDuW5nIGtoaSB04bqhbyBt4buZdCDEkeG7kWkgdMaw4bujbmcgY2hpYSBz4bq7IgogCi0jOiBlbGY2NC14ODYtNjQuYzoyMzU2Ci1tc2dpZCAiJUI6IHJlbG9jYXRpb24gUl9YODZfNjRfUEMzMiBhZ2FpbnN0IHByb3RlY3RlZCBmdW5jdGlvbiBgJXMnIGNhbiBub3QgYmUgdXNlZCB3aGVuIG1ha2luZyBhIHNoYXJlZCBvYmplY3QiCi1tc2dzdHIgIiVCOiDEkeG7i25oIHbhu4sgbOG6oWkgUl9YODZfNjRfUEMzMiBzbyB24bubaSBow6BtIMSRw6MgYuG6o28gduG7hyDCqyAlcyDCuyB0aMOsIGtow7RuZyB0aOG7gyDEkcaw4bujYyBkw7luZyBraGkgdOG6oW8gbeG7mXQgxJHhu5FpIHTGsOG7o25nIGNoaWEgc+G6uyIKKyM6IGVsZjY0LXg4Ni02NC5jOjI2NzAKK21zZ2lkICI7IHJlY29tcGlsZSB3aXRoIC1mUElDIgorbXNnc3RyICI7IGJpw6puIGThu4tjaCBs4bqhaSB24bubaSDCqyAtZlBJQyDCuyIKIAotIzogZWxmLWF0dHJzLmM6NTgyCi1tc2dpZCAiRVJST1I6ICVCOiBNdXN0IGJlIHByb2Nlc3NlZCBieSAnJXMnIHRvb2xjaGFpbiIKLW1zZ3N0ciAiTOG7lkk6ICVCOiBQaOG6o2kgxJHGsOG7o2MgZMOjeSBjw7RuZyBj4bulIMKrICVzIMK7IHjhu60gbMO9IgorIzogZWxmNjQteDg2LTY0LmM6MjY3NQorbXNnaWQgIiVCOiByZWxvY2F0aW9uICVzIGFnYWluc3QgJXMgYCVzJyBjYW4gbm90IGJlIHVzZWQgd2hlbiBtYWtpbmcgYSBzaGFyZWQgb2JqZWN0JXMiCittc2dzdHIgIiVCOiBraMO0bmcgZMO5bmcgxJHGsOG7o2MgxJHhu4tuaCB24buLIGzhuqFpICVzIMSR4buRaSB24bubaSAlcyDCqyAlcyDCuyBraGkgdOG6oW8gbeG7mXQgxJHhu5FpIHTGsOG7o25nIGNoaWEgc+G6uyAlcyIKIAotIzogZWxmLWF0dHJzLmM6NjAyIGVsZi1hdHRycy5jOjYyMQotbXNnaWQgIkVSUk9SOiAlQjogSW5jb21wYXRpYmxlIG9iamVjdCB0YWcgJyVzJzolZCIKLW1zZ3N0ciAiTOG7lkk6ICVCOiBUaOG6uyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIHTGsMahbmcgdGjDrWNoIMKrICVzIMK7OiVzIgorIzogZWxmNjQteDg2LTY0LmM6MjY3NworbXNnaWQgIiVCOiByZWxvY2F0aW9uICVzIGFnYWluc3QgdW5kZWZpbmVkICVzIGAlcycgY2FuIG5vdCBiZSB1c2VkIHdoZW4gbWFraW5nIGEgc2hhcmVkIG9iamVjdCVzIgorbXNnc3RyICIlQjoga2jDtG5nIGTDuW5nIMSRxrDhu6NjIMSR4buLbmggduG7iyBs4bqhaSAlcyDEkeG7kWkgduG7m2kgJXMgY2jGsGEgeMOhYyDEkeG7i25oIMKrICVzIMK7IGtoaSB04bqhbyBt4buZdCDEkeG7kWkgdMaw4bujbmcgY2hpYSBz4bq7ICVzIgogCi0jOiBlbGYuYzozMTIKLW1zZ2lkICIlQjogaW52YWxpZCBzdHJpbmcgb2Zmc2V0ICV1ID49ICVsdSBmb3Igc2VjdGlvbiBgJXMnIgotbXNnc3RyICIlQjoga2hv4bqjbmcgYsO5IGNodeG7l2kga2jDtG5nIGjhu6NwIGzhu4cgJXXiiaUlbHUgY2hvIHBo4bqnbiDCqyAlcyDCuyIKLQotIzogZWxmLmM6NDE0Ci1tc2dpZCAiJUIgc3ltYm9sIG51bWJlciAlbHUgcmVmZXJlbmNlcyBub25leGlzdGVudCBTSFRfU1lNVEFCX1NITkRYIHNlY3Rpb24iCi1tc2dzdHIgIiVCIHPhu5EgdGjhu6kgdOG7sSBrw70gaGnhu4d1ICVsdSB0aGFtIGNoaeG6v3UgxJHhur9uIHBo4bqnbiBTSFRfU1lNVEFCX1NITkRYIGtow7RuZyB04buTbiB04bqhaSIKLQotIzogZWxmLmM6NTY3Ci1tc2dpZCAiJUI6IENvcnJ1cHQgc2l6ZSBmaWVsZCBpbiBncm91cCBzZWN0aW9uIGhlYWRlcjogMHglbHgiCi1tc2dzdHIgIiVCOiBUcsaw4budbmcga8OtY2ggY+G7oSBi4buLIGjhu49uZyB0cm9uZyBwaOG6p24gxJHhuqd1IGPhu6dhIHBo4bqnbiBuaMOzbTogMHglbHgiCi0KLSM6IGVsZi5jOjYwMwotbXNnaWQgIiVCOiBpbnZhbGlkIFNIVF9HUk9VUCBlbnRyeSIKLW1zZ3N0ciAiJUI6IG3hu6VjIG5o4bqtcCBTSFRfR1JPVVAga2jDtG5nIGjhu6NwIGzhu4ciCi0KLSM6IGVsZi5jOjY3MwotbXNnaWQgIiVCOiBubyBncm91cCBpbmZvIGZvciBzZWN0aW9uICVBIgotbXNnc3RyICIlQjoga2jDtG5nIGPDsyB0aMO0bmcgdGluIG5ow7NtIHbhu4EgcGjhuqduICVBIgotCi0jOiBlbGYuYzo3MDMgZWxmLmM6Mjg4NiBlbGZsaW5rLmM6OTg1OAotbXNnaWQgIiVCOiB3YXJuaW5nOiBzaF9saW5rIG5vdCBzZXQgZm9yIHNlY3Rpb24gYCVBJyIKLW1zZ3N0ciAiJUI6IGPhuqNuaCBiw6FvIDogwqsgc2hfbGluayDCuyBjaMawYSDEkcaw4bujYyDEkeG6t3QgY2hvIHBo4bqnbiDCqyAlQSDCuyIKLQotIzogZWxmLmM6NzE5Ci1tc2dpZCAiJUI6IHNoX2xpbmsgWyVkXSBpbiBzZWN0aW9uIGAlQScgaXMgaW5jb3JyZWN0IgotbXNnc3RyICIlQjogc2hfbGluayBbJWRdIGtow7RuZyDEkcO6bmcgdHJvbmcgcGjhuqduIMKrICVBIMK7IgotCi0jOiBlbGYuYzo3NTQKLW1zZ2lkICIlQjogdW5rbm93biBbJWRdIHNlY3Rpb24gYCVzJyBpbiBncm91cCBbJXNdIgotbXNnc3RyICIlQjoga2jDtG5nIHLDtSBbJWRdIHBo4bqnbiDCqyAlcyDCuyB0cm9uZyBuaMOzbSBbJXNdIgotCi0jOiBlbGYuYzoxMTA4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJcbiIKLSJQcm9ncmFtIEhlYWRlcjpcbiIKLW1zZ3N0ciAiIgotIlxuIgotIlBo4bqnbiDEkeG6p3UgY2jGsMahbmcgdHLDrG5oOlxuIgotCi0jOiBlbGYuYzoxMTUwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJcbiIKLSJEeW5hbWljIFNlY3Rpb246XG4iCi1tc2dzdHIgIiIKLSJcbiIKLSJQaOG6p24gxJHhu5luZzpcbiIKLQotIzogZWxmLmM6MTI3NgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iXG4iCi0iVmVyc2lvbiBkZWZpbml0aW9uczpcbiIKLW1zZ3N0ciAiIgotIlxuIgotIlBo4bqnbiDEkeG7i25oIG5naMSpYSBwaGnDqm4gYuG6o246XG4iCi0KLSM6IGVsZi5jOjEzMDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIlxuIgotIlZlcnNpb24gUmVmZXJlbmNlczpcbiIKLW1zZ3N0ciAiIgotIlxuIgotIlRoYW0gY2hp4bq/dSBwaGnDqm4gYuG6o246XG4iCi0KLSM6IGVsZi5jOjEzMDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiICByZXF1aXJlZCBmcm9tICVzOlxuIgotbXNnc3RyICIgIGPhuqduIHRoaeG6v3QgdOG7qyAlczpcbiIKLQotIzogZWxmLmM6MTY5MAotbXNnaWQgIiVCOiBpbnZhbGlkIGxpbmsgJWx1IGZvciByZWxvYyBzZWN0aW9uICVzIChpbmRleCAldSkiCi1tc2dzdHIgIiVCOiBsacOqbiBr4bq/dCBraMO0bmcgaOG7o3AgbOG7hyAlbHUgY2hvIHBo4bqnbiDEkeG7i25oIHbhu4sgbOG6oWkgJXMgKGNo4buJIG3hu6VjICV1KSIKLQotIzogZWxmLmM6MTg1OAotbXNnaWQgIiVCOiBkb24ndCBrbm93IGhvdyB0byBoYW5kbGUgYWxsb2NhdGVkLCBhcHBsaWNhdGlvbiBzcGVjaWZpYyBzZWN0aW9uIGAlcycgWzB4JTh4XSIKLW1zZ3N0ciAiJUI6IGtow7RuZyBiaeG6v3QgY8OhY2ggeOG7rSBsw70gcGjhuqduIMSRw6MgY+G6pXAgcGjDoXQgbcOgIMSR4bq3YyB0csawbmcgY2hvIOG7qW5nIGThu6VuZyDCqyAlcyDCuyBbMHglOHhdIgotCi0jOiBlbGYuYzoxODcwCi1tc2dpZCAiJUI6IGRvbid0IGtub3cgaG93IHRvIGhhbmRsZSBwcm9jZXNzb3Igc3BlY2lmaWMgc2VjdGlvbiBgJXMnIFsweCU4eF0iCi1tc2dzdHIgIiVCOiBraMO0bmcgYmnhur90IGPDoWNoIHjhu60gbMO9IHBo4bqnbiDEkeG6t2MgdHLGsG5nIGNobyBi4buZIHjhu60gbMO9IMKrICVzIMK7IFsweCU4eF0iCi0KLSM6IGVsZi5jOjE4ODEKLW1zZ2lkICIlQjogZG9uJ3Qga25vdyBob3cgdG8gaGFuZGxlIE9TIHNwZWNpZmljIHNlY3Rpb24gYCVzJyBbMHglOHhdIgotbXNnc3RyICIlQjoga2jDtG5nIGJp4bq/dCBjw6FjaCB44butIGzDvSBwaOG6p24gxJHhurdjIHRyxrBuZyBjaG8gSMSQSCDCqyAlcyDCuyBbMHglOHhdIgotCi0jOiBlbGYuYzoxODkxCi1tc2dpZCAiJUI6IGRvbid0IGtub3cgaG93IHRvIGhhbmRsZSBzZWN0aW9uIGAlcycgWzB4JTh4XSIKLW1zZ3N0ciAiJUI6IGtow7RuZyBiaeG6v3QgY8OhY2ggeOG7rSBsw70gcGjhuqduIMKrICVzIMK7IFsweCU4eF0iCi0KLSM6IGVsZi5jOjI4NDMKLW1zZ2lkICIlQjogc2hfbGluayBvZiBzZWN0aW9uIGAlQScgcG9pbnRzIHRvIGRpc2NhcmRlZCBzZWN0aW9uIGAlQScgb2YgYCVCJyIKLW1zZ3N0ciAiJUI6IHNoX2xpbmsgY+G7p2EgcGjhuqduIMKrICVBIMK7IGNo4buJIHThu5tpIHBo4bqnbiBi4buLIGjhu6d5IMKrICVBIMK7IGPhu6dhIMKrICVCIMK7IgotCi0jOiBlbGYuYzoyODY2Ci1tc2dpZCAiJUI6IHNoX2xpbmsgb2Ygc2VjdGlvbiBgJUEnIHBvaW50cyB0byByZW1vdmVkIHNlY3Rpb24gYCVBJyBvZiBgJUInIgotbXNnc3RyICIlQjogc2hfbGluayBj4bunYSBwaOG6p24gwqsgJUEgwrsgY2jhu4kgdOG7m2kgcGjhuqduIGLhu4sgZ+G7oSBi4buPIMKrICVBIMK7IGPhu6dhIMKrICVCIMK7IgotCi0jOiBlbGYuYzo0MTQyCi1tc2dpZCAiJUI6IFRoZSBmaXJzdCBzZWN0aW9uIGluIHRoZSBQVF9EWU5BTUlDIHNlZ21lbnQgaXMgbm90IHRoZSAuZHluYW1pYyBzZWN0aW9uIgotbXNnc3RyICIlQjogUGjhuqduIHRo4bupIG5o4bqldCB0cm9uZyDEkW/huqFuIFBUX0RZTkFNSUMga2jDtG5nIHBo4bqjaSBsw6AgcGjhuqduIC5keW5hbWljIgotCi0jOiBlbGYuYzo0MTY1Ci1tc2dpZCAiJUI6IE5vdCBlbm91Z2ggcm9vbSBmb3IgcHJvZ3JhbSBoZWFkZXJzLCB0cnkgbGlua2luZyB3aXRoIC1OIgotbXNnc3RyICIlQjogS2jDtG5nIMSR4bunIHPhu6ljIGNo4bupYSBjaG8gY8OhYyBwaOG6p24gxJHhuqd1IGPhu6dhIGNoxrDGoW5nIHRyw6xuaDogaMOjeSB0aOG7rSBsacOqbiBr4bq/dCB24bubaSDCqyAtTiDCuyIKLQotIzogZWxmLmM6NDI0MwotbXNnaWQgIiVCOiBzZWN0aW9uICVBIGxtYSAweCVseCBvdmVybGFwcyBwcmV2aW91cyBzZWN0aW9ucyIKLW1zZ3N0ciAiJUI6IHBo4bqnbiAlQSBsbWEgMHglbHggxJHDqCBsw6puIHBo4bqnbiB0csaw4bubYyIKLQotIzogZWxmLmM6NDM0MQotbXNnaWQgIiVCOiBzZWN0aW9uIGAlQScgY2FuJ3QgYmUgYWxsb2NhdGVkIGluIHNlZ21lbnQgJWQiCi1tc2dzdHIgIiVCOiBwaOG6p24gwqsgJUEgwrsga2jDtG5nIHRo4buDIMSRxrDhu6NjIGPhuqVwIHBow6F0IHRyb25nIMSRb+G6oW4gJWQiCi0KLSM6IGVsZi5jOjQzOTAKLW1zZ2lkICIlQjogd2FybmluZzogYWxsb2NhdGVkIHNlY3Rpb24gYCVzJyBub3QgaW4gc2VnbWVudCIKLW1zZ3N0ciAiJUI6IGPhuqNuaCBiw6FvIDogcGjhuqduIMSRw6MgY+G6pXAgcGjDoXQgwqsgJXMgwrsga2jDtG5nIG7hurFtIHRyb25nIMSRb+G6oW4iCi0KLSM6IGVsZi5jOjQ4ODYKLW1zZ2lkICIlQjogc3ltYm9sIGAlcycgcmVxdWlyZWQgYnV0IG5vdCBwcmVzZW50IgotbXNnc3RyICIlQjoga8O9IGhp4buHdSDCqyAlcyDCuyBj4bqnbiB0aGnhur90IG3DoCBraMO0bmcgY8OzIgotCi0jOiBlbGYuYzo1MTk5Ci1tc2dpZCAiJUI6IHdhcm5pbmc6IEVtcHR5IGxvYWRhYmxlIHNlZ21lbnQgZGV0ZWN0ZWQsIGlzIHRoaXMgaW50ZW50aW9uYWwgP1xuIgotbXNnc3RyICIlQjogY+G6o25oIGLDoW8gOiBQaMOhdCBoaeG7h24gbeG7mXQgxJFv4bqhbiBy4buXbmcgY8OzIHRo4buDIG7huqFwIMSRxrDhu6NjOiB0csaw4budbmcgaOG7o3AgbsOgeSBjw7Mgw70gxJHhu4tuaCB0csaw4bubYyBraMO0bmc/XG4iCi0KLSM6IGVsZi5jOjYxMDUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIGZpbmQgZXF1aXZhbGVudCBvdXRwdXQgc2VjdGlvbiBmb3Igc3ltYm9sICclcycgZnJvbSBzZWN0aW9uICclcyciCi1tc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSBwaOG6p24ga+G6v3QgeHXhuqV0IHTGsMahbmcgxJHGsMahbmcgY2hvIGvDvSBoaeG7h3UgwqsgJXMgwrsgdOG7qyBwaOG6p24gwqsgJXMgwrsiCi0KLSM6IGVsZi5jOjcwNzkKLW1zZ2lkICIlQjogdW5zdXBwb3J0ZWQgcmVsb2NhdGlvbiB0eXBlICVzIgotbXNnc3RyICIlQjoga2nhu4N1IMSR4buLbmggduG7iyBs4bqhaSBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyAlcyIKLQotIzogZWxmY29kZS5oOjgxMworIzogZWxmY29kZS5oOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlcyBoYXMgYSBjb3JydXB0IHN0cmluZyB0YWJsZSBpbmRleCAtIGlnbm9yaW5nIgogbXNnc3RyICJj4bqjbmggYsOhbyA6ICVzIGPDsyBt4buZdCBjaOG7iSBt4bulYyBi4bqjbmcgY2h14buXaSBi4buLIGjhu49uZzogbsOqbiBi4buPIHF1YSIKIAotIzogZWxmY29kZS5oOjEyMjYKKyM6IGVsZmNvZGUuaDoxMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB2ZXJzaW9uIGNvdW50ICglbGQpIGRvZXMgbm90IG1hdGNoIHN5bWJvbCBjb3VudCAoJWxkKSIKIG1zZ3N0ciAiJXM6IHPhu5EgxJHhur9tIHBoacOqbiBi4bqjbiAoJWxkKSBraMO0bmcgdMawxqFuZyDhu6luZyB24bubaSBz4buRIMSR4bq/bSBrw70gaGnhu4d1ICglbGQpIgogCi0jOiBlbGZjb2RlLmg6MTQ1OQorIzogZWxmY29kZS5oOjE0MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMoJXMpOiByZWxvY2F0aW9uICVkIGhhcyBpbnZhbGlkIHN5bWJvbCBpbmRleCAlbGQiCiBtc2dzdHIgIiVzKCVzKTogxJHhu4tuaCB24buLIGzhuqFpICVkIGPDsyBjaOG7iSBt4bulYyBrw70gaGnhu4d1IGtow7RuZyBo4bujcCBs4buHICVsZCIKIAotIzogZWxmLWVoLWZyYW1lLmM6ODIzCi1tc2dpZCAiJVA6IGZkZSBlbmNvZGluZyBpbiAlQiglQSkgcHJldmVudHMgLmVoX2ZyYW1lX2hkciB0YWJsZSBiZWluZyBjcmVhdGVkLlxuIgotbXNnc3RyICIlUDogYmnDqm4gbcOjIGZkZSB0cm9uZyAlQiglQSkgdGjDrCBuZ8SDbiBj4bqjbiB04bqhbyBi4bqjbmcgLmVoX2ZyYW1lX2hkci5cbiIKLQotIzogZWxmLWVoLWZyYW1lLmM6OTc0Ci1tc2dpZCAiJVA6IGVycm9yIGluICVCKCVBKTsgbm8gLmVoX2ZyYW1lX2hkciB0YWJsZSB3aWxsIGJlIGNyZWF0ZWQuXG4iCi1tc2dzdHIgIiVQOiBn4bq3cCBs4buXaSB0cm9uZyAlQiglQSk7IHPhur0ga2jDtG5nIHThuqFvIGLhuqNuZyAuZWhfZnJhbWVfaGRyIG7DoG8uXG4iCi0KLSM6IGVsZi1ocHBhLmg6MjIxOSBlbGYtaHBwYS5oOjIyMzMKLW1zZ2lkICIlQiglQSk6IHdhcm5pbmc6IHVucmVzb2x2YWJsZSByZWxvY2F0aW9uIGFnYWluc3Qgc3ltYm9sIGAlcyciCi1tc2dzdHIgIiVCKCVBKTogY+G6o25oIGLDoW8gOiDEkeG7i25oIHbhu4sgbOG6oWkga2jDtG5nIHRo4buDIGdp4bqjaSBxdXnhur90IMSRxrDhu6NjIHNvIHbhu5tpIGvDvSBoaeG7h3UgwqsgJXMgwrsiCisjOiBlbGZjb3JlLmg6MjUxCittc2dpZCAiV2FybmluZzogJUIgaXMgdHJ1bmNhdGVkOiBleHBlY3RlZCBjb3JlIGZpbGUgc2l6ZSA+PSAlbHUsIGZvdW5kOiAlbHUuIgorbXNnc3RyICJD4bqjbmggYsOhbyA6ICVCIGLhu4sgY+G6r3Qgbmfhuq9uOiBrw61jaCBj4buhIHThuq1wIHRpbiBsw7VpIG1vbmcgxJHhu6NpIOKJpSVsdSBjw7JuIHTDrG0gJWx1LiIKIAogIzogZWxmbGluay5jOjEwMjgKIG1zZ2lkICIlczogVExTIGRlZmluaXRpb24gaW4gJUIgc2VjdGlvbiAlQSBtaXNtYXRjaGVzIG5vbi1UTFMgZGVmaW5pdGlvbiBpbiAlQiBzZWN0aW9uICVBIgpAQCAtMjM2OCwyODIgKzI0NzIsMjk1IEBACiBtc2dpZCAiJUI6IHVuZXhwZWN0ZWQgcmVkZWZpbml0aW9uIG9mIGluZGlyZWN0IHZlcnNpb25lZCBzeW1ib2wgYCVzJyIKIG1zZ3N0ciAiJUI6IGfhurdwIGzhu51pIMSR4buLbmggbmdoxKlhIGzhuqFpIGLhuqV0IHRoxrDhu51uZyBj4bunYSBrw70gaGnhu4d1IGdpw6FuIHRp4bq/cCDEkeG6t3QgcGhpw6puIGLhuqNuIMKrICVzIMK7IgogCi0jOiBlbGZsaW5rLmM6MTk3NAorIzogZWxmbGluay5jOjE5ODIKIG1zZ2lkICIlQjogdmVyc2lvbiBub2RlIG5vdCBmb3VuZCBmb3Igc3ltYm9sICVzIgogbXNnc3RyICIlQjoga2jDtG5nIHTDrG0gdGjhuqV5IG7DunQgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24gY2hvIGvDvSBoaeG7h3UgJXMiCiAKLSM6IGVsZmxpbmsuYzoyMTIyCisjOiBlbGZsaW5rLmM6MjEzMAogbXNnaWQgIiVCOiBiYWQgcmVsb2Mgc3ltYm9sIGluZGV4ICgweCVseCA+PSAweCVseCkgZm9yIG9mZnNldCAweCVseCBpbiBzZWN0aW9uIGAlQSciCiBtc2dzdHIgIiVCOiBjaOG7iSBt4bulYyBrw70gaGnhu4d1IMSR4buLbmggduG7iyBs4bqhaSBzYWkgKDB4JWx4IOKJpSAweCVseCkgY2hvIGtob+G6o25nIGLDuSAweCVseCB0cm9uZyBwaOG6p24gwqsgJUEgwrsiCiAKLSM6IGVsZmxpbmsuYzoyMzE0CisjOiBlbGZsaW5rLmM6MjMyNwogbXNnaWQgIiVCOiByZWxvY2F0aW9uIHNpemUgbWlzbWF0Y2ggaW4gJUIgc2VjdGlvbiAlQSIKIG1zZ3N0ciAiJUI6IHNhaSBraOG7m3Aga8OtY2ggY+G7oSDEkeG7i25oIHbhu4sgbOG6oWkgdHJvbmcgJUIgcGjhuqduICVBIgogCi0jOiBlbGZsaW5rLmM6MjYxNgorIzogZWxmbGluay5jOjI2MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogdHlwZSBhbmQgc2l6ZSBvZiBkeW5hbWljIHN5bWJvbCBgJXMnIGFyZSBub3QgZGVmaW5lZCIKIG1zZ3N0ciAiY+G6o25oIGLDoW8gOiBjaMawYSB4w6FjIMSR4buLbmgga2nhu4N1IHbDoCBrw61jaCBj4buhIGPhu6dhIGvDvSBoaeG7h3UgxJHhu5luZyDCqyAlcyDCuyIKIAotIzogZWxmbGluay5jOjM5MTAKKyM6IGVsZmxpbmsuYzozOTUzCiBtc2dpZCAiJUI6ICVzOiBpbnZhbGlkIHZlcnNpb24gJXUgKG1heCAlZCkiCiBtc2dzdHIgIiVCOiAlczogcGhpw6puIGLhuqNuIGtow7RuZyBo4bujcCBs4buHICV1ICh04buRaSDEkWEgJWQpIgogCi0jOiBlbGZsaW5rLmM6Mzk0NgorIzogZWxmbGluay5jOjM5ODkKIG1zZ2lkICIlQjogJXM6IGludmFsaWQgbmVlZGVkIHZlcnNpb24gJWQiCiBtc2dzdHIgIiVCOiAlczogcGhpw6puIGLhuqNuIGPhuqduIHRoaeG6v3QgbcOgIGtow7RuZyBo4bujcCBs4buHICVkIgogCi0jOiBlbGZsaW5rLmM6NDEyOQorIzogZWxmbGluay5jOjQxNzIKIG1zZ2lkICJXYXJuaW5nOiBhbGlnbm1lbnQgJXUgb2YgY29tbW9uIHN5bWJvbCBgJXMnIGluICVCIGlzIGdyZWF0ZXIgdGhhbiB0aGUgYWxpZ25tZW50ICgldSkgb2YgaXRzIHNlY3Rpb24gJUEiCiBtc2dzdHIgIkPhuqNuaCBiw6FvIDogduG7iyB0csOtIHPhuq9wIGjDoG5nICV1IGPhu6dhIGvDvSBoaeG7h3UgZMO5bmcgY2h1bmcgwqsgJXMgwrsgdHJvbmcgJUIgbMOgIGzhu5tuIGjGoW4gduG7iyB0csOtIHPhuq9wIGjDoG5nICgldSkgY+G7p2EgcGjhuqduICVBIGPhu6dhIG7DsyIKIAotIzogZWxmbGluay5jOjQxMzUKKyM6IGVsZmxpbmsuYzo0MTc4CiBtc2dpZCAiV2FybmluZzogYWxpZ25tZW50ICV1IG9mIHN5bWJvbCBgJXMnIGluICVCIGlzIHNtYWxsZXIgdGhhbiAldSBpbiAlQiIKIG1zZ3N0ciAiQ+G6o25oIGLDoW8gOiB24buLIHRyw60gc+G6r3AgaMOgbmcgJXUgY+G7p2Ega8O9IGhp4buHdSDCqyAlcyDCuyB0cm9uZyAlQiBsw6Agbmjhu48gaMahbiAldSB0cm9uZyAlQiIKIAotIzogZWxmbGluay5jOjQxNTAKKyM6IGVsZmxpbmsuYzo0MTkzCiBtc2dpZCAiV2FybmluZzogc2l6ZSBvZiBzeW1ib2wgYCVzJyBjaGFuZ2VkIGZyb20gJWx1IGluICVCIHRvICVsdSBpbiAlQiIKIG1zZ3N0ciAiQ+G6o25oIGLDoW8gOiBrw61jaCBj4buhIGPhu6dhIGvDvSBoaeG7h3UgwqsgJXMgwrsgxJHDoyB0aGF5IMSR4buVaSB04burICVsdSB0cm9uZyAlQiB0aMOgbmggJWx1IHRyb25nICVCIgogCi0jOiBlbGZsaW5rLmM6NDMyNgorIzogZWxmbGluay5jOjQzNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgRFNPIGZvciBzeW1ib2wgYCVzJyBkZWZpbml0aW9uIgogbXNnc3RyICIlczogRFNPIGtow7RuZyBo4bujcCBs4buHIGNobyBs4budaSDEkeG7i25oIG5naMSpYSBrw70gaGnhu4d1IMKrICVzIMK7IgogCi0jOiBlbGZsaW5rLmM6NTU1MgorIzogZWxmbGluay5jOjU2MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuZGVmaW5lZCB2ZXJzaW9uOiAlcyIKIG1zZ3N0ciAiJXM6IHBoacOqbiBi4bqjbiBjaMawYSDEkcaw4bujYyB4w6FjIMSR4buLbmg6ICVzIgogCi0jOiBlbGZsaW5rLmM6NTYyMAorIzogZWxmbGluay5jOjU2ODkKIG1zZ2lkICIlQjogLnByZWluaXRfYXJyYXkgc2VjdGlvbiBpcyBub3QgYWxsb3dlZCBpbiBEU08iCiBtc2dzdHIgIiVCOiBraMO0bmcgY2hvIHBow6lwIHBo4bqnbiDCqyAucHJlaW5pdF9hcnJheSDCuyB0cm9uZyBEU08iCiAKLSM6IGVsZmxpbmsuYzo3MzU5CisjOiBlbGZsaW5rLmM6NzQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmRlZmluZWQgJXMgcmVmZXJlbmNlIGluIGNvbXBsZXggc3ltYm9sOiAlcyIKIG1zZ3N0ciAiZ+G6t3AgdGhhbSBjaGnhur91ICVzIGNoxrBhIMSRxrDhu6NjIHjDoWMgxJHhu4tuaCB0cm9uZyBrw70gaGnhu4d1IHBo4bupYyB04bqhcCAlcyIKIAotIzogZWxmbGluay5jOjc1MTQKKyM6IGVsZmxpbmsuYzo3NTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb3BlcmF0b3IgJyVjJyBpbiBjb21wbGV4IHN5bWJvbCIKIG1zZ3N0ciAia2jDtG5nIHLDtSB0b8OhbiB04butIMKrICVjIMK7IHRyb25nIGvDvSBoaeG7h3UgcGjhu6ljIHThuqFwIgogCi0jOiBlbGZsaW5rLmM6ODA1MyBlbGZsaW5rLmM6ODA3MCBlbGZsaW5rLmM6ODEwNyBlbGZsaW5rLmM6ODEyNAorIzogZWxmbGluay5jOjc5MDQgZWxmbGluay5jOjc5MjEgZWxmbGluay5jOjc5NTggZWxmbGluay5jOjc5NzUKIG1zZ2lkICIlQjogVW5hYmxlIHRvIHNvcnQgcmVsb2NzIC0gdGhleSBhcmUgaW4gbW9yZSB0aGFuIG9uZSBzaXplIgogbXNnc3RyICIlQjogS2jDtG5nIHRo4buDIHPhuq9wIHjhur9wIGPDoWMgc+G7sSDEkeG7i25oIHbhu4sgbOG6oWk6IGNow7puZyBjw7Mga8OtY2ggY+G7oSBraMOhYyBuaGF1IgogCi0jOiBlbGZsaW5rLmM6ODA4NCBlbGZsaW5rLmM6ODEzOAorIzogZWxmbGluay5jOjc5MzUgZWxmbGluay5jOjc5ODkKIG1zZ2lkICIlQjogVW5hYmxlIHRvIHNvcnQgcmVsb2NzIC0gdGhleSBhcmUgb2YgYW4gdW5rbm93biBzaXplIgogbXNnc3RyICIlQjogS2jDtG5nIHRo4buDIHPhuq9wIHjhur9wIGPDoWMgc+G7sSDEkeG7i25oIHbhu4sgbOG6oWk6IGNow7puZyBjw7Mga8OtY2ggY+G7oSBraMO0bmcgcsO1IgogCi0jOiBlbGZsaW5rLmM6ODE4NworIzogZWxmbGluay5jOjgwMzgKIG1zZ2lkICJOb3QgZW5vdWdoIG1lbW9yeSB0byBzb3J0IHJlbG9jYXRpb25zIgogbXNnc3RyICJLaMO0bmcgxJHhu6cgYuG7mSBuaOG7myDEkeG7gyBz4bqvcCB44bq/cCBjw6FjIHPhu7EgxJHhu4tuaCB24buLIGzhuqFpIgogCi0jOiBlbGZsaW5rLmM6ODM3NAorIzogZWxmbGluay5jOjgyMjcKIG1zZ2lkICIlQjogVG9vIG1hbnkgc2VjdGlvbnM6ICVkICg+PSAlZCkiCiBtc2dzdHIgIiVCOiBRdcOhIG5oaeG7gXUgcGjhuqduOiAlZCAo4omlICVkKSIKIAotIzogZWxmbGluay5jOjg2MDgKKyM6IGVsZmxpbmsuYzo4NDYxCiBtc2dpZCAiJUI6ICVzIHN5bWJvbCBgJXMnIGluICVCIGlzIHJlZmVyZW5jZWQgYnkgRFNPIgogbXNnc3RyICIlQjogJXMga8O9IGhp4buHdSDCqyAlcyDCuyB0cm9uZyAlQiDEkcaw4bujYyBEU08gdGhhbSBjaGnhur91IgogCi0jOiBlbGZsaW5rLmM6ODY5MQorIzogZWxmbGluay5jOjg1NDQKIG1zZ2lkICIlQjogY291bGQgbm90IGZpbmQgb3V0cHV0IHNlY3Rpb24gJUEgZm9yIGlucHV0IHNlY3Rpb24gJUEiCiBtc2dzdHIgIiVCOiBraMO0bmcgdGjhu4MgdMOsbSB0aOG6pXkgcGjhuqduIGvhur90IHh14bqldCAlQSBjaG8gcGjhuqduIGThu68gbGnhu4d1IG5o4bqtcCB2w6BvICVBIgogCi0jOiBlbGZsaW5rLmM6ODc4OAorIzogZWxmbGluay5jOjg2NTUKIG1zZ2lkICIlQjogJXMgc3ltYm9sIGAlcycgaXNuJ3QgZGVmaW5lZCIKIG1zZ3N0ciAiJUI6ICVzOiBjaMawYSB4w6FjIMSR4buLbmgga8O9IGhp4buHdSDCqyAlcyDCuyIKIAotIzogZWxmbGluay5jOjkyODQKKyM6IGVsZmxpbmsuYzo5MTQxCiBtc2dpZCAiZXJyb3I6ICVCIGNvbnRhaW5zIGEgcmVsb2MgKDB4JXMpIGZvciBzZWN0aW9uICVBIHRoYXQgcmVmZXJlbmNlcyBhIG5vbi1leGlzdGVudCBnbG9iYWwgc3ltYm9sIgogbXNnc3RyICJs4buXaTogJUIgY2jhu6lhIG3hu5l0IMSR4buLbmggduG7iyBs4bqhaSAoMHglcykgY2hvIHBo4bqnbiAlQSBtw6AgdGhhbSBjaGnhur91IMSR4bq/biBt4buZdCBrw70gaGnhu4d1IHRvw6BuIGPhu6VjIGtow7RuZyB04buTbiB04bqhaSIKIAotIzogZWxmbGluay5jOjkzMTgKKyM6IGVsZmxpbmsuYzo5MjA1CiBtc2dpZCAiJVhgJXMnIHJlZmVyZW5jZWQgaW4gc2VjdGlvbiBgJUEnIG9mICVCOiBkZWZpbmVkIGluIGRpc2NhcmRlZCBzZWN0aW9uIGAlQScgb2YgJUJcbiIKIG1zZ3N0ciAiJVjCqyAlcyDCuyDEkcaw4bujYyB0aGFtIGNoaeG6v3UgdHJvbmcgcGjhuqduIMKrICVBIMK7IGPhu6dhICVCOiDEkcaw4bujYyDEkeG7i25oIG5naMSpYSB0cm9uZyBwaOG6p24gYuG7iyBo4buneSDCqyAlQSDCuyBj4bunYSAlQlxuIgogCi0jOiBlbGZsaW5rLmM6OTkzNgorIzogZWxmbGluay5jOjk4MjUKIG1zZ2lkICIlQSBoYXMgYm90aCBvcmRlcmVkIFtgJUEnIGluICVCXSBhbmQgdW5vcmRlcmVkIFtgJUEnIGluICVCXSBzZWN0aW9ucyIKIG1zZ3N0ciAiJUEgY8OzIHBo4bqnbiBj4bqjIGhhaSDEkcaw4bujYyBz4bqvcCB44bq/cCBbwqsgJUEgwrsgdHJvbmcgJUJdIHbDoCBjaMawYSBz4bqvcCB44bq/cCBbwqsgJUEgwrsgdHJvbmcgJUJdIgogCi0jOiBlbGZsaW5rLmM6OTk0MQorIzogZWxmbGluay5jOjk4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJUEgaGFzIGJvdGggb3JkZXJlZCBhbmQgdW5vcmRlcmVkIHNlY3Rpb25zIgogbXNnc3RyICIlQSBjw7MgcGjhuqduIGPhuqMgaGFpIMSRxrDhu6NjIHPhuq9wIHjhur9wIHbDoCBjaMawYSBz4bqvcCB44bq/cCIKIAotIzogZWxmbGluay5jOjEwODI4IGVsZmxpbmsuYzoxMDg3MgorIzogZWxmbGluay5jOjEwNzE1IGVsZmxpbmsuYzoxMDc1OQogbXNnaWQgIiVCOiBjb3VsZCBub3QgZmluZCBvdXRwdXQgc2VjdGlvbiAlcyIKIG1zZ3N0ciAiJUI6IGtow7RuZyB0w6xtIHRo4bqleSBwaOG6p24ga+G6v3QgeHXhuqV0ICVzIgogCi0jOiBlbGZsaW5rLmM6MTA4MzMKKyM6IGVsZmxpbmsuYzoxMDcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlcyBzZWN0aW9uIGhhcyB6ZXJvIHNpemUiCiBtc2dzdHIgImPhuqNuaCBiw6FvIDogcGjhuqduICVzIGPDsyBrw61jaCBj4buhIHPhu5Ega2jDtG5nIgogCi0jOiBlbGZsaW5rLmM6MTA5MzcKKyM6IGVsZmxpbmsuYzoxMDgyNAogbXNnaWQgIiVQOiB3YXJuaW5nOiBjcmVhdGluZyBhIERUX1RFWFRSRUwgaW4gYSBzaGFyZWQgb2JqZWN0LlxuIgogbXNnc3RyICIlUDogY+G6o25oIGLDoW8gOiDEkWFuZyB04bqhbyBt4buZdCBEVF9URVhUUkVMIHRyb25nIG3hu5l0IMSR4buRaSB0xrDhu6NuZyBjaGlhIHPhursuXG4iCiAKLSM6IGVsZmxpbmsuYzoxMTMwNQotbXNnaWQgIlJlbW92aW5nIHVudXNlZCBzZWN0aW9uICclcycgaW4gZmlsZSAnJUInIgotbXNnc3RyICLEkGFuZyBn4buhIGLhu48gcGjhuqduIGtow7RuZyBkw7luZyDCqyAlcyDCuyB0cm9uZyB04bqtcCB0aW4gwqsgJUIgwrsiCi0KLSM6IGVsZmxpbmsuYzoxMTQ5NgotbXNnaWQgIldhcm5pbmc6IGdjLXNlY3Rpb25zIG9wdGlvbiBpZ25vcmVkIgotbXNnc3RyICJD4bqjbmggYsOhbyA6IHTDuXkgY2jhu41uIGdjLXNlY3Rpb25zIGLhu4sgYuG7jyBxdWEiCi0KLSM6IGVsZmxpbmsuYzoxMTk4NworIzogZWxmbGluay5jOjExMDA2CiBtc2dpZCAiJVAlWDogY2FuIG5vdCByZWFkIHN5bWJvbHM6ICVFXG4iCiBtc2dzdHIgIiVQJVg6IGtow7RuZyB0aOG7gyDEkeG7jWMgY8OhYyBrw70gaGnhu4d1IDogJUVcbiIKIAotIzogZWxmbGluay5jOjEyMTI5CisjOiBlbGZsaW5rLmM6MTEzMTMKK21zZ2lkICJSZW1vdmluZyB1bnVzZWQgc2VjdGlvbiAnJXMnIGluIGZpbGUgJyVCJyIKK21zZ3N0ciAixJBhbmcgZ+G7oSBi4buPIHBo4bqnbiBraMO0bmcgZMO5bmcgwqsgJXMgwrsgdHJvbmcgdOG6rXAgdGluIMKrICVCIMK7IgorCisjOiBlbGZsaW5rLmM6MTE1MjUKK21zZ2lkICJXYXJuaW5nOiBnYy1zZWN0aW9ucyBvcHRpb24gaWdub3JlZCIKK21zZ3N0ciAiQ+G6o25oIGLDoW8gOiB0w7l5IGNo4buNbiBnYy1zZWN0aW9ucyBi4buLIGLhu48gcXVhIgorCisjOiBlbGZsaW5rLmM6MTIwNTYKIG1zZ2lkICIlQjogaWdub3JpbmcgZHVwbGljYXRlIHNlY3Rpb24gYCVBJyIKIG1zZ3N0ciAiJUI6IMSRYW5nIGLhu48gcXVhIHBo4bqnbiB0csO5bmcgwqsgJUEgwrsiCiAKLSM6IGVsZmxpbmsuYzoxMjEzNiBlbGZsaW5rLmM6MTIxNDMKKyM6IGVsZmxpbmsuYzoxMjA2MyBlbGZsaW5rLmM6MTIwNzAKIG1zZ2lkICIlQjogZHVwbGljYXRlIHNlY3Rpb24gYCVBJyBoYXMgZGlmZmVyZW50IHNpemUiCiBtc2dzdHIgIiVCOiBwaOG6p24gdHLDuW5nIMKrICVBIMK7IGPDsyBrw61jaCBj4buhIGtow6FjIgogCi0jOiBlbGZsaW5rLmM6MTIxNTEgZWxmbGluay5jOjEyMTU2CisjOiBlbGZsaW5rLmM6MTIwNzggZWxmbGluay5jOjEyMDgzCiBtc2dpZCAiJUI6IHdhcm5pbmc6IGNvdWxkIG5vdCByZWFkIGNvbnRlbnRzIG9mIHNlY3Rpb24gYCVBJyIKIG1zZ3N0ciAiJUI6IGPhuqNuaCBiw6FvIDoga2jDtG5nIHRo4buDIMSR4buNYyBu4buZaSBkdW5nIGPhu6dhIHBo4bqnbiDCqyAlQSDCuyIKIAotIzogZWxmbGluay5jOjEyMTYwCisjOiBlbGZsaW5rLmM6MTIwODcKIG1zZ2lkICIlQjogd2FybmluZzogZHVwbGljYXRlIHNlY3Rpb24gYCVBJyBoYXMgZGlmZmVyZW50IGNvbnRlbnRzIgogbXNnc3RyICIlQjogY+G6o25oIGLDoW8gOiBwaOG6p24gdHLDuW5nIMKrICVBIMK7IGPDsyBu4buZaSBkdW5nIGtow6FjIgogCi0jOiBlbGZsaW5rLmM6MTIyMzkgbGlua2VyLmM6MzA4MQorIzogZWxmbGluay5jOjEyMTY2IGxpbmtlci5jOjMwODAKIG1zZ2lkICIlRiVQOiBhbHJlYWR5X2xpbmtlZF90YWJsZTogJUUiCiBtc2dzdHIgIiVGJVA6IGFscmVhZHlfbGlua2VkX3RhYmxlOiAlRSIKIAotIzogZWxmLW0xMDMwMC5jOjE1MzIKLW1zZ2lkICJlcnJvcjogaW5hcHByb3ByaWF0ZSByZWxvY2F0aW9uIHR5cGUgZm9yIHNoYXJlZCBsaWJyYXJ5IChkaWQgeW91IGZvcmdldCAtZnBpYz8pIgotbXNnc3RyICJs4buXaToga2nhu4N1IMSR4buLbmggduG7iyBs4bqhaSBraMO0bmcgdGjDrWNoIGjhu6NwIGNobyB0aMawIHZp4buHbiBjaGlhIHPhursgKGLhuqFuIMSRw6MgcXXDqm4gxJHhurd0IC1mcGljIGtow7RuZz8pIgotCi0jOiBlbGYtbTEwMzAwLmM6MTUzNQotbXNnaWQgImludGVybmFsIGVycm9yOiBzdXNwaWNpb3VzIHJlbG9jYXRpb24gdHlwZSB1c2VkIGluIHNoYXJlZCBsaWJyYXJ5IgotbXNnc3RyICJs4buXaSBu4buZaSBi4buZOiBraeG7g3UgxJHhu4tuaCB24buLIGzhuqFpIMSRw6FuZyBuZ+G7nSDEkcaw4bujYyBkw7luZyB0cm9uZyB0aMawIHZp4buHbiBjaGlhIHPhursiCi0KLSM6IGVsZnh4LW1pcHMuYzo5OTAKKyM6IGVsZnh4LW1pcHMuYzoxMTk3CiBtc2dpZCAic3RhdGljIHByb2NlZHVyZSAobm8gbmFtZSkiCiBtc2dzdHIgInRo4bunIHThu6VjIHTEqW5oIChraMO0bmcgY8OzIHTDqm4pIgogCi0jOiBlbGZ4eC1taXBzLmM6NDY2MworIzogZWxmeHgtbWlwcy5jOjU1NjIKIG1zZ2lkICIlQjogJUErMHglbHg6IGp1bXAgdG8gc3R1YiByb3V0aW5lIHdoaWNoIGlzIG5vdCBqYWwiCiBtc2dzdHIgIiVCOiAlQSsweCVseDogbmjhuqN5IHThu5tpIGjDoG0gbeG6qXUgbcOgIGtow7RuZyBwaOG6o2kgamFsIgogCi0jOiBlbGZ4eC1taXBzLmM6NTMyNiBlbGZ4eC1taXBzLmM6NTU0NgorIzogZWxmeHgtbWlwcy5jOjYyMDYgZWxmeHgtbWlwcy5jOjY0MjcKIG1zZ2lkICIlQjogV2FybmluZzogYmFkIGAlcycgb3B0aW9uIHNpemUgJXUgc21hbGxlciB0aGFuIGl0cyBoZWFkZXIiCiBtc2dzdHIgIiVCOiBD4bqjbmggYsOhbyA6IGvDrWNoIGPhu6EgdMO5eSBjaOG7jW4gwqsgJXMgwrsgc2FpOiBuaOG7jyBoxqFuIHBo4bqnbiDEkeG6p3UgY+G7p2EgbsOzIgogCi0jOiBlbGZ4eC1taXBzLmM6NjQwNQorIzogZWxmeHgtbWlwcy5jOjcxNzQgZWxmeHgtbWlwcy5jOjcyOTkKK21zZ2lkICIlQjogV2FybmluZzogY2Fubm90IGRldGVybWluZSB0aGUgdGFyZ2V0IGZ1bmN0aW9uIGZvciBzdHViIHNlY3Rpb24gYCVzJyIKK21zZ3N0ciAiJUI6IGPhuqNuaCBiw6FvIDoga2jDtG5nIHRo4buDIHF1eeG6v3QgxJHhu4tuaCBow6BtIMSRw61jaCBjaG8gcGjhuqduIG3huql1IMKrICVzIMK7IgorCisjOiBlbGZ4eC1taXBzLmM6NzQyOAogbXNnaWQgIiVCOiBNYWxmb3JtZWQgcmVsb2MgZGV0ZWN0ZWQgZm9yIHNlY3Rpb24gJXMiCiBtc2dzdHIgIiVCOiBQaMOhdCBoaeG7h24gc+G7sSDEkeG7i25oIHbhu4sgbOG6oWkgZOG6oW5nIHNhaSBjaG8gcGjhuqduICVzIgogCi0jOiBlbGZ4eC1taXBzLmM6NjQ0NworIzogZWxmeHgtbWlwcy5jOjc0NjgKIG1zZ2lkICIlQjogR09UIHJlbG9jIGF0IDB4JWx4IG5vdCBleHBlY3RlZCBpbiBleGVjdXRhYmxlcyIKIG1zZ3N0ciAiJUI6IMSR4buLbmggduG7iyBs4bqhaSBHT1Qg4bufIDB4JWx4IGtow7RuZyBtb25nIMSR4bujaSB0cm9uZyB04bqtcCB0aW4gY8OzIGto4bqjIG7Eg25nIHRo4buxYyBoaeG7h24iCiAKLSM6IGVsZnh4LW1pcHMuYzo2NTE3CisjOiBlbGZ4eC1taXBzLmM6NzU2NgogbXNnaWQgIiVCOiBDQUxMMTYgcmVsb2MgYXQgMHglbHggbm90IGFnYWluc3QgZ2xvYmFsIHN5bWJvbCIKIG1zZ3N0ciAiJUI6IMSR4buLbmggduG7iyBs4bqhaSBDQUxMMTYg4bufIDB4JWx4IGtow7RuZyBwaOG6o2kgc28gduG7m2kga8O9IGhp4buHdSB0b8OgbiBj4bulYyIKIAotIzogZWxmeHgtbWlwcy5jOjc4ODAKKyM6IGVsZnh4LW1pcHMuYzo4MjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1keW5hbWljIHJlbG9jYXRpb25zIHJlZmVyIHRvIGR5bmFtaWMgc3ltYm9sICVzIgorbXNnc3RyICLEkeG7i25oIHbhu4sgbOG6oWkga2jDoWMgxJHhu5luZyBjxaluZyB0aGFtIGNoaeG6v3UgxJHhur9uIGvDvSBoaeG7h3UgxJHhu5luZyAlcyIKKworIzogZWxmeHgtbWlwcy5jOjg5NDcKIG1zZ2lkICIlQjogQ2FuJ3QgZmluZCBtYXRjaGluZyBMTzE2IHJlbG9jIGFnYWluc3QgYCVzJyBmb3IgJXMgYXQgMHglbHggaW4gc2VjdGlvbiBgJUEnIgogbXNnc3RyICIlQjogS2jDtG5nIHTDrG0gdGjhuqV5IMSR4buLbmggduG7iyBs4bqhaSBMTzE2IHTGsMahbmcg4bupbmcgc28gduG7m2kgwqsgJXMgwrsgY2hvICVzIOG7nyAweCVseCB0cm9uZyBwaOG6p24gwqsgJUEgwrsiCiAKLSM6IGVsZnh4LW1pcHMuYzo4MDQ2CisjOiBlbGZ4eC1taXBzLmM6OTA4NgogbXNnaWQgInNtYWxsLWRhdGEgc2VjdGlvbiBleGNlZWRzIDY0S0I7IGxvd2VyIHNtYWxsLWRhdGEgc2l6ZSBsaW1pdCAoc2VlIG9wdGlvbiAtRykiCiBtc2dzdHIgIlBo4bqnbiBzbWFsbC1kYXRhIChk4buvIGxp4buHdSBuaOG7jykgdsaw4bujdCBxdcOhIDY0IEtCOyBow6N5IGdp4bqjbSBnaeG7m2kgaOG6oW4gZOG7ryBsaeG7h3Ugbmjhu48gKHhlbSB0w7l5IGNo4buNbiDCqyAtRyDCuykiCiAKLSM6IGVsZnh4LW1pcHMuYzoxMDY2MQorIzogZWxmeHgtbWlwcy5jOjExODg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbGxlZ2FsIHNlY3Rpb24gbmFtZSBgJXMnIgogbXNnc3RyICIlczogdMOqbiBwaOG6p24gY+G6pW0gwqsgJXMgwrsiCiAKLSM6IGVsZnh4LW1pcHMuYzoxMTAzMSBlbGZ4eC1taXBzLmM6MTEwNTAKKyM6IGVsZnh4LW1pcHMuYzoxMjI2MiBlbGZ4eC1taXBzLmM6MTIyODgKIG1zZ2lkICJXYXJuaW5nOiAlQiB1c2VzIC1tc2luZ2xlLWZsb2F0LCAlQiB1c2VzIC1tZG91YmxlLWZsb2F0IgogbXNnc3RyICJD4bqjbmggYsOhbyA6ICVCIGTDuW5nIMKrIC1tc2luZ2xlLWZsb2F0IMK7LCBjw7JuICVCIGTDuW5nIMKrIC1tZG91YmxlLWZsb2F0IMK7IgogCi0jOiBlbGZ4eC1taXBzLmM6MTExMDYKKyM6IGVsZnh4LW1pcHMuYzoxMjI3NCBlbGZ4eC1taXBzLmM6MTIzMzAKK21zZ2lkICJXYXJuaW5nOiAlQiB1c2VzIC1tc2luZ2xlLWZsb2F0LCAlQiB1c2VzIC1taXBzMzJyMiAtbWZwNjQiCittc2dzdHIgIkPhuqNuaCBiw6FvIDogJUIgZMO5bmcgwqsgLW1zaW5nbGUtZmxvYXQgwrssIGPDsm4gJUIgZMO5bmcgwqsgLW1pcHMzMnIyIC1tZnA2NCDCuyIKKworIzogZWxmeHgtbWlwcy5jOjEyMzAwIGVsZnh4LW1pcHMuYzoxMjMzNgorbXNnaWQgIldhcm5pbmc6ICVCIHVzZXMgLW1kb3VibGUtZmxvYXQsICVCIHVzZXMgLW1pcHMzMnIyIC1tZnA2NCIKK21zZ3N0ciAiQ+G6o25oIGLDoW8gOiAlQiBkw7luZyDCqyAtbWRvdWJsZS1mbG9hdCDCuywgY8OybiAlQiBkw7luZyDCqyAtbWlwczMycjIgLW1mcDY0IMK7IgorCisjOiBlbGZ4eC1taXBzLmM6MTIzNzgKIG1zZ2lkICIlQjogZW5kaWFubmVzcyBpbmNvbXBhdGlibGUgd2l0aCB0aGF0IG9mIHRoZSBzZWxlY3RlZCBlbXVsYXRpb24iCiBtc2dzdHIgIiVCOiB0w6xuaCB0cuG6oW5nIHbhu4EgY3Xhu5FpIGtow7RuZyB0xrDGoW5nIHRow61jaCB24bubaSBjw6FpIGPhu6dhIGLhuqNuIG3DtCBwaOG7j25nIMSRw6MgY2jhu41uIgogCi0jOiBlbGZ4eC1taXBzLmM6MTExMTgKKyM6IGVsZnh4LW1pcHMuYzoxMjM4OQogbXNnaWQgIiVCOiBBQkkgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhhdCBvZiB0aGUgc2VsZWN0ZWQgZW11bGF0aW9uIgogbXNnc3RyICIlQjogQUJJIGtow7RuZyB0xrDGoW5nIHRow61jaCB24bubaSBjw6FpIGPhu6dhIGLhuqNuIG3DtCBwaOG7j25nIMSRw6MgY2jhu41uIgogCi0jOiBlbGZ4eC1taXBzLmM6MTEyMTgKKyM6IGVsZnh4LW1pcHMuYzoxMjQ3MAorbXNnaWQgIiVCOiB3YXJuaW5nOiBsaW5raW5nIGFiaWNhbGxzIGZpbGVzIHdpdGggbm9uLWFiaWNhbGxzIGZpbGVzIgorbXNnc3RyICIlQjogY+G6o25oIGLDoW8gOiDEkWFuZyBsacOqbiBr4bq/dCB04bqtcCB0aW4gYWJpY2FsbHMgduG7m2kgdOG6rXAgdGluIGtow6FjIGFiaWNhbGxzIgorCisjOiBlbGZ4eC1taXBzLmM6MTI0ODcKIG1zZ2lkICIlQjogbGlua2luZyAzMi1iaXQgY29kZSB3aXRoIDY0LWJpdCBjb2RlIgogbXNnc3RyICIlQjogxJFhbmcgbGnDqm4ga+G6v3QgbcOjIDMyLWJpdCB24bubaSBtw6MgNjQtYml0IgogCi0jOiBlbGZ4eC1taXBzLmM6MTEyNDYKKyM6IGVsZnh4LW1pcHMuYzoxMjUxNQogbXNnaWQgIiVCOiBsaW5raW5nICVzIG1vZHVsZSB3aXRoIHByZXZpb3VzICVzIG1vZHVsZXMiCiBtc2dzdHIgIiVCOiDEkWFuZyBsacOqbiBr4bq/dCBtw7QtxJF1biAlcyB24bubaSBjw6FjIG3DtC3EkXVuICVzIHRyxrDhu5tjIgogCi0jOiBlbGZ4eC1taXBzLmM6MTEyNjkKKyM6IGVsZnh4LW1pcHMuYzoxMjUzOAogbXNnaWQgIiVCOiBBQkkgbWlzbWF0Y2g6IGxpbmtpbmcgJXMgbW9kdWxlIHdpdGggcHJldmlvdXMgJXMgbW9kdWxlcyIKIG1zZ3N0ciAiJUI6IHNhaSBraOG7m3AgQUJJOiDEkWFuZyBsacOqbiBr4bq/dCBtw7QtxJF1biAlcyB24bubaSBjw6FjIG3DtC3EkXVuICVzIHRyxrDhu5tjIgogCi0jOiBlbGZ4eC1taXBzLmM6MTEzMzQKKyM6IGVsZnh4LW1pcHMuYzoxMjcwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIgW2FiaT1PMzJdIgogbXNnc3RyICIgW2FiaT1PMzJdIgogCi0jOiBlbGZ4eC1taXBzLmM6MTEzMzYKKyM6IGVsZnh4LW1pcHMuYzoxMjcwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgW2FiaT1PNjRdIgogbXNnc3RyICIgW2FiaT1PNjRdIgogCi0jOiBlbGZ4eC1taXBzLmM6MTEzMzgKKyM6IGVsZnh4LW1pcHMuYzoxMjcwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgW2FiaT1FQUJJMzJdIgogbXNnc3RyICIgW2FiaT1FQUJJMzJdIgogCi0jOiBlbGZ4eC1taXBzLmM6MTEzNDAKKyM6IGVsZnh4LW1pcHMuYzoxMjcwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgW2FiaT1FQUJJNjRdIgogbXNnc3RyICIgW2FiaT1FQUJJNjRdIgogCi0jOiBlbGZ4eC1taXBzLmM6MTEzNDIKKyM6IGVsZnh4LW1pcHMuYzoxMjcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgW2FiaSB1bmtub3duXSIKIG1zZ3N0ciAiIFthYmkga2jDtG5nIHLDtV0iCiAKLSM6IGVsZnh4LW1pcHMuYzoxMTM0NAorIzogZWxmeHgtbWlwcy5jOjEyNzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbYWJpPU4zMl0iCiBtc2dzdHIgIiBbYWJpPU4zMl0iCiAKLSM6IGVsZnh4LW1pcHMuYzoxMTM0NgorIzogZWxmeHgtbWlwcy5jOjEyNzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbYWJpPTY0XSIKIG1zZ3N0ciAiIFthYmk9NjRdIgogCi0jOiBlbGZ4eC1taXBzLmM6MTEzNDgKKyM6IGVsZnh4LW1pcHMuYzoxMjcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgW25vIGFiaSBzZXRdIgogbXNnc3RyICIgW2NoxrBhIMSR4bq3dCBhYmldIgogCi0jOiBlbGZ4eC1taXBzLmM6MTEzNjkKKyM6IGVsZnh4LW1pcHMuYzoxMjczNwogIywgYy1mb3JtYXQKIG1zZ2lkICIgW3Vua25vd24gSVNBXSIKIG1zZ3N0ciAiIFtraMO0bmcgcsO1IElTQV0iCiAKLSM6IGVsZnh4LW1pcHMuYzoxMTM4MAorIzogZWxmeHgtbWlwcy5jOjEyNzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBbbm90IDMyYml0bW9kZV0iCiBtc2dzdHIgIiBba2jDtG5nIHBo4bqjaSAzMmJpdG1vZGVdIgogCi0jOiBlbGZ4eC1zcGFyYy5jOjQzMAorIzogZWxmeHgtc3BhcmMuYzo0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCByZWxvY2F0aW9uIHR5cGUgJWQiCiBtc2dzdHIgImtp4buDdSDEkeG7i25oIHbhu4sgbOG6oWkga2jDtG5nIGjhu6NwIGzhu4cgJWQiCiAKLSM6IGVsZnh4LXNwYXJjLmM6MjkwMQorIzogZWxmeHgtc3BhcmMuYzoyOTc2CiBtc2dpZCAiJUI6IHByb2JhYmx5IGNvbXBpbGVkIHdpdGhvdXQgLWZQSUM/IgogbXNnc3RyICIlQjogcuG6pXQgY8OzIHRo4buDIMSRxrDhu6NjIGJpw6puIGThu4tjaCBraMO0bmcgY8OzIMKrIC1mUElDIMK7ID8iCiAKQEAgLTI3MzAsMzQgKzI4NDcsMzQgQEAKIG1zZ2lkICIlczogYWRkcmVzcyAweCVzIG91dCBvZiByYW5nZSBmb3IgSW50ZWwgSGV4IGZpbGUiCiBtc2dzdHIgIiVzOiDEkeG7i2EgY2jhu4kgMHglcyDhu58gbmdv4bqhaSBwaOG6oW0gdmkgxJHhu5FpIHbhu5tpIHThuq1wIHRpbiB0aOG6rXAgbOG7pWMgSW50ZWwiCiAKLSM6IGxpYmJmZC5jOjk4MAorIzogbGliYmZkLmM6MTAwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZXByZWNhdGVkICVzIGNhbGxlZCBhdCAlcyBsaW5lICVkIGluICVzXG4iCiBtc2dzdHIgIiVzIGLhu4sgcGjhuqNuIMSR4buRaSDEkcaw4bujYyBn4buNaSB04bqhaSBkw7JuZyAlcyAlZCB0cm9uZyAlc1xuIgogCi0jOiBsaWJiZmQuYzo5ODMKKyM6IGxpYmJmZC5jOjEwMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVwcmVjYXRlZCAlcyBjYWxsZWRcbiIKIG1zZ3N0ciAiJXMgYuG7iyBwaOG6o24gxJHhu5FpIMSRxrDhu6NjIGfhu41pXG4iCiAKLSM6IGxpbmtlci5jOjE4NzUKKyM6IGxpbmtlci5jOjE4NzQKIG1zZ2lkICIlQjogaW5kaXJlY3Qgc3ltYm9sIGAlcycgdG8gYCVzJyBpcyBhIGxvb3AiCiBtc2dzdHIgIiVCOiBrw70gaGnhu4d1IGdpw6FuIHRp4bq/cCDCqyAlcyDCuyB04bubaSDCqyAlcyDCuyB0aMOsIHThuqFvIG3hu5l0IHbDsm5nIGzhurdwIgogCi0jOiBsaW5rZXIuYzoyNzQxCisjOiBsaW5rZXIuYzoyNzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF0dGVtcHQgdG8gZG8gcmVsb2NhdGFibGUgbGluayB3aXRoICVzIGlucHV0IGFuZCAlcyBvdXRwdXQiCiBtc2dzdHIgIlRo4butIGzDoG0gbGnDqm4ga+G6v3QgY8OzIGto4bqjIG7Eg25nIMSR4buLbmggduG7iyBs4bqhaSB24bubaSDEkeG6p3UgdsOgbyAlcyB2w6AgxJHhuqd1IHJhICVzIgogCi0jOiBsaW5rZXIuYzozMDQ4CisjOiBsaW5rZXIuYzozMDQ3CiBtc2dpZCAiJUI6IHdhcm5pbmc6IGlnbm9yaW5nIGR1cGxpY2F0ZSBzZWN0aW9uIGAlQSdcbiIKIG1zZ3N0ciAiJUI6IGPhuqNuaCBiw6FvIDogxJFhbmcgYuG7jyBxdWEgcGjhuqduIHRyw7luZyDCqyAlQSDCu1xuIgogCi0jOiBsaW5rZXIuYzozMDYyCisjOiBsaW5rZXIuYzozMDYxCiBtc2dpZCAiJUI6IHdhcm5pbmc6IGR1cGxpY2F0ZSBzZWN0aW9uIGAlQScgaGFzIGRpZmZlcmVudCBzaXplXG4iCiBtc2dzdHIgIiVCOiBj4bqjbmggYsOhbyA6IHBo4bqnbiB0csO5bmcgwqsgJUEgwrsgY8OzIGvDrWNoIGPhu6Ega2jDoWNcbiIKIAotIzogbWVyZ2UuYzo4MjAKKyM6IG1lcmdlLmM6ODI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhY2Nlc3MgYmV5b25kIGVuZCBvZiBtZXJnZWQgc2VjdGlvbiAoJWxkKSIKIG1zZ3N0ciAiJXM6IHRydXkgY+G6rXAgdsaw4bujdCBxdcOhIGvhur90IHRow7pjIGPhu6dhIHBo4bqnbiDEkcOjIGfhu5lwIGzhuqFpICglbGQpIgpAQCAtMjg5Nyw2ICszMDE0LDI2IEBACiBtc2dpZCAiVW5oYW5kbGVkIE9TRi8xIGNvcmUgZmlsZSBzZWN0aW9uIHR5cGUgJWRcbiIKIG1zZ3N0ciAiS2nhu4N1IHBo4bqnbiB04bqtcCB0aW4gbMO1aSBPU0YvMSBraMO0bmcgxJHGsOG7o2MgcXXhuqNuIGzDvSAlZFxuIgogCisjOiBwZS1taXBzLmM6NjA3Cittc2dpZCAiJUI6IGBsZCAtcicgbm90IHN1cHBvcnRlZCB3aXRoIFBFIE1JUFMgb2JqZWN0c1xuIgorbXNnc3RyICIlQjogwqsgbGQgLXIgwrsga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgduG7m2kgxJHhu5FpIHTGsOG7o25nIE1JUFMgUEVcbiIKKworIy4gT0ssIGF0IHRoaXMgcG9pbnQgdGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgYXJlIHNldCB1cDoKKyMuIHNyYyA9IFZNQSBvZiB0aGUgbWVtb3J5IHdlJ3JlIGZpeGluZyB1cAorIy4gbWVtID0gcG9pbnRlciB0byBtZW1vcnkgd2UncmUgZml4aW5nIHVwCisjLiB2YWwgPSBWTUEgb2Ygd2hhdCB3ZSBuZWVkIHRvIHJlZmVyIHRvLgorIzogcGUtbWlwcy5jOjcyMworbXNnaWQgIiVCOiB1bmltcGxlbWVudGVkICVzXG4iCittc2dzdHIgIiVCOiAlcyBjaMawYSDEkcaw4bujYyB0aOG7sWMgaGnhu4duXG4iCisKKyM6IHBlLW1pcHMuYzo3NDkKK21zZ2lkICIlQjoganVtcCB0b28gZmFyIGF3YXlcbiIKK21zZ3N0ciAiJUI6IGLGsOG7m2MgbmjhuqN5IHF1w6EgeGFcbiIKKworIzogcGUtbWlwcy5jOjc3NQorbXNnaWQgIiVCOiBiYWQgcGFpci9yZWZsbyBhZnRlciByZWZoaVxuIgorbXNnc3RyICIlQjogcGFpci9yZWZsbyBzYWkgxJHhurFuZyBzYXUgcmVmaGlcbiIKKwogIy4gWFhYIGNvZGUgeWV0IHRvIGJlIHdyaXR0ZW4uCiAjOiBwZWljb2RlLmg6NzU5CiBtc2dpZCAiJUI6IFVuaGFuZGxlZCBpbXBvcnQgdHlwZTsgJXgiCkBAIC0yOTI2LDI2ICszMDYzLDYgQEAKIG1zZ2lkICIlQjogc3RyaW5nIG5vdCBudWxsIHRlcm1pbmF0ZWQgaW4gSUxGIG9iamVjdCBmaWxlLiIKIG1zZ3N0ciAiJUI6IGNodeG7l2kga2jDtG5nIHBo4bqjaSBr4bq/dCB0aMO6YyB2w7QgaGnhu4d1IGzhu7FjIHRyb25nIHThuq1wIHRpbiDEkeG7kWkgdMaw4bujbmcgSUxGLiAiCiAKLSM6IHBlLW1pcHMuYzo2MDYKLW1zZ2lkICIlQjogYGxkIC1yJyBub3Qgc3VwcG9ydGVkIHdpdGggUEUgTUlQUyBvYmplY3RzXG4iCi1tc2dzdHIgIiVCOiDCqyBsZCAtciDCuyBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyB24bubaSDEkeG7kWkgdMaw4bujbmcgTUlQUyBQRVxuIgotCi0jLiBPSywgYXQgdGhpcyBwb2ludCB0aGUgZm9sbG93aW5nIHZhcmlhYmxlcyBhcmUgc2V0IHVwOgotIy4gc3JjID0gVk1BIG9mIHRoZSBtZW1vcnkgd2UncmUgZml4aW5nIHVwCi0jLiBtZW0gPSBwb2ludGVyIHRvIG1lbW9yeSB3ZSdyZSBmaXhpbmcgdXAKLSMuIHZhbCA9IFZNQSBvZiB3aGF0IHdlIG5lZWQgdG8gcmVmZXIgdG8uCi0jOiBwZS1taXBzLmM6NzIyCi1tc2dpZCAiJUI6IHVuaW1wbGVtZW50ZWQgJXNcbiIKLW1zZ3N0ciAiJUI6ICVzIGNoxrBhIMSRxrDhu6NjIHRo4buxYyBoaeG7h25cbiIKLQotIzogcGUtbWlwcy5jOjc0OAotbXNnaWQgIiVCOiBqdW1wIHRvbyBmYXIgYXdheVxuIgotbXNnc3RyICIlQjogYsaw4bubYyBuaOG6o3kgcXXDoSB4YVxuIgotCi0jOiBwZS1taXBzLmM6Nzc0Ci1tc2dpZCAiJUI6IGJhZCBwYWlyL3JlZmxvIGFmdGVyIHJlZmhpXG4iCi1tc2dzdHIgIiVCOiBwYWlyL3JlZmxvIHNhaSDEkeG6sW5nIHNhdSByZWZoaVxuIgotCiAjOiBwcGNib290LmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTI5NjAsMjIgKzMwNzcsMjIgQEAKIG1zZ2lkICJFbnRyeSBvZmZzZXQgICAgICAgID0gMHglLjhseCAoJWxkKVxuIgogbXNnc3RyICJLaG/huqNuZyBiw7kgdsOgbyAgICAgICAgPSAweCUuOGx4ICglbGQpXG4iCiAKLSM6IHBwY2Jvb3QuYzo0MTYKKyM6IHBwY2Jvb3QuYzo0MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTGVuZ3RoICAgICAgICAgICAgICA9IDB4JS44bHggKCVsZClcbiIKIG1zZ3N0ciAiRMOgaSAgICAgICAgICAgICAgPSAweCUuOGx4ICglbGQpXG4iCiAKLSM6IHBwY2Jvb3QuYzo0MTkKKyM6IHBwY2Jvb3QuYzo0MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmxhZyBmaWVsZCAgICAgICAgICA9IDB4JS4yeFxuIgogbXNnc3RyICJUcsaw4budbmcgY+G7nSAgICAgICAgICA9IDB4JS4yeFxuIgogCi0jOiBwcGNib290LmM6NDI1CisjOiBwcGNib290LmM6NDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhcnRpdGlvbiBuYW1lICAgICAgPSBcIiVzXCJcbiIKIG1zZ3N0ciAiVMOqbiBwaMOibiB2w7luZyAgICAgID0gXCIlc1wiXG4iCiAKLSM6IHBwY2Jvb3QuYzo0NDQKKyM6IHBwY2Jvb3QuYzo0NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMjk4NCwyMiArMzEwMSwyMiBAQAogIlxuIgogIlBow6JuIHbDuW5nWyVkXSDEkeG6p3UgID0geyAweCUuMngsIDB4JS4yeCwgMHglLjJ4LCAweCUuMnggfVxuIgogCi0jOiBwcGNib290LmM6NDUwCisjOiBwcGNib290LmM6NDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhcnRpdGlvblslZF0gZW5kICAgID0geyAweCUuMngsIDB4JS4yeCwgMHglLjJ4LCAweCUuMnggfVxuIgogbXNnc3RyICJQaMOibiB2w7luZ1slZF0gY3Xhu5FpICAgID0geyAweCUuMngsIDB4JS4yeCwgMHglLjJ4LCAweCUuMnggfVxuIgogCi0jOiBwcGNib290LmM6NDU2CisjOiBwcGNib290LmM6NDU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhcnRpdGlvblslZF0gc2VjdG9yID0gMHglLjhseCAoJWxkKVxuIgogbXNnc3RyICJQaMOibiB2w7luZ1slZF0gcsOjbmggZ2hpID0gMHglLjhseCAoJWxkKVxuIgogCi0jOiBwcGNib290LmM6NDU3CisjOiBwcGNib290LmM6NDYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhcnRpdGlvblslZF0gbGVuZ3RoID0gMHglLjhseCAoJWxkKVxuIgogbXNnc3RyICJQaMOibiB2w7luZ1slZF0gZMOgaSA9IDB4JS44bHggKCVsZClcbiIKIAotIzogc29tLmM6NTA4OAorIzogc29tLmM6NTEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zMDA4LDcgKzMxMjUsNyBAQAogIlxuIgogIlBo4bqnbiDEkeG6p3UgcGjhu6UgdGjhu7FjIGhp4buHblxuIgogCi0jOiBzb20uYzo1MzQ5CisjOiBzb20uYzo1NDQwCiBtc2dpZCAic29tX3NpemVvZl9oZWFkZXJzIHVuaW1wbGVtZW50ZWQiCiBtc2dzdHIgInNvbV9zaXplb2ZfaGVhZGVycyBjaMawYSDEkcaw4bujYyB0aOG7sWMgaGnhu4duIgogCkBAIC0zMDE2LDExICszMTMzLDE1IEBACiBtc2dpZCAiJUI6JWQ6IFVuZXhwZWN0ZWQgY2hhcmFjdGVyIGAlcycgaW4gUy1yZWNvcmQgZmlsZVxuIgogbXNnc3RyICIlQjolZCBH4bq3cCBrw70gdOG7sSBi4bqldCB0aMaw4budbmcgwqsgJXMgwrsgdHJvbmcgdOG6rXAgdGluIFMtcmVjb3JkXG4iCiAKKyM6IHNyZWMuYzo1Njcgc3JlYy5jOjYwMAorbXNnaWQgIiVCOiVkOiBCYWQgY2hlY2tzdW0gaW4gUy1yZWNvcmQgZmlsZVxuIgorbXNnc3RyICIlQjolZDogc2FpIHThu5VuZyBraeG7g20gdHJvbmcgdOG6rXAgdGluIFMtcmVjb3JkXG4iCisKICM6IHN0YWJzLmM6Mjc5CiBtc2dpZCAiJUIoJUErMHglbHgpOiBTdGFicyBlbnRyeSBoYXMgaW52YWxpZCBzdHJpbmcgaW5kZXguIgogbXNnc3RyICIlQiglQSsweCVseCk6IE3hu6VjIG5o4bqtcCBTdGFicyBjw7MgY2jhu4kgbeG7pWMgY2h14buXaSBraMO0bmcgaOG7o3AgbOG7hy4iCiAKLSM6IHN5bXMuYzoxMDU3CisjOiBzeW1zLmM6MTA2NwogbXNnaWQgIlVuc3VwcG9ydGVkIC5zdGFiIHJlbG9jYXRpb24iCiBtc2dzdHIgIsSQ4buLbmggduG7iyBs4bqhaSAuc3RhYiBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyIKIApAQCAtMzA1NywyMCArMzE3OCwyMCBAQAogbXNnaWQgIlN0YWNrIHVuZGVyZmxvdyBpbiBfYmZkX3Ztc19wb3AiCiBtc2dzdHIgIlRyw6FuIG5nxrDhu6NjIMSR4buRbmcgdHJvbmcgX2JmZF92bXNfcG9wIgogCi0jOiB2bXMtbWlzYy5jOjgwMworIzogdm1zLW1pc2MuYzo4MDgKIG1zZ2lkICJfYmZkX3Ztc19vdXRwdXRfY291bnRlZCBjYWxsZWQgd2l0aCB6ZXJvIGJ5dGVzIgogbXNnc3RyICJfYmZkX3Ztc19vdXRwdXRfY291bnRlZCDEkcaw4bujYyBn4buNaSB24bubaSBz4buRIGtow7RuZyBieXRlIgogCi0jOiB2bXMtbWlzYy5jOjgwOAorIzogdm1zLW1pc2MuYzo4MTMKIG1zZ2lkICJfYmZkX3Ztc19vdXRwdXRfY291bnRlZCBjYWxsZWQgd2l0aCB0b28gbWFueSBieXRlcyIKIG1zZ3N0ciAiX2JmZF92bXNfb3V0cHV0X2NvdW50ZWQgxJHGsOG7o2MgZ+G7jWkgduG7m2kgcXXDoSBuaGnhu4F1IGJ5dGUiCiAKLSM6IHZtcy1taXNjLmM6OTI2CisjOiB2bXMtbWlzYy5jOjkzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJTeW1ib2wgJXMgcmVwbGFjZWQgYnkgJXNcbiIKIG1zZ3N0ciAiS8O9IGhp4buHdSAlcyDEkcOjIGLhu4sgdGhheSB0aOG6vyBi4bqxbmcgJXNcbiIKIAotIzogdm1zLW1pc2MuYzo5ODUKKyM6IHZtcy1taXNjLmM6OTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBlbnRlciAlcyIKIG1zZ3N0ciAibOG7l2kgdsOgbyAlcyIKQEAgLTMyNjYsNzMgKzMzODcsNzcgQEAKIG1zZ2lkICIlczogYCVzJyBpbiBsb2FkZXIgcmVsb2MgYnV0IG5vdCBsb2FkZXIgc3ltIgogbXNnc3RyICIlczogwqsgJXMgwrsgdHJvbmcgxJHhu4tuaCB24buLIGzhuqFpIGLhu5kgbuG6oXAgbmjGsG5nIGtow7RuZyBwaOG6o2kgbGnDqm4ga+G6v3QgbeG7gW0gxJHhur9uIGLhu5kgbuG6oXAiCiAKLSM6IGVsZjMyLWlhNjQuYzoxMTY5IGVsZjY0LWlhNjQuYzoxMTY5CisjOiBlbGYzMi1pYTY0LmM6MTAzNyBlbGY2NC1pYTY0LmM6MTAzNwogbXNnaWQgIiVCOiBDYW4ndCByZWxheCBiciBhdCAweCVseCBpbiBzZWN0aW9uIGAlQScuIFBsZWFzZSB1c2UgYnJsIG9yIGluZGlyZWN0IGJyYW5jaC4iCiBtc2dzdHIgIiVCOiBLaMO0bmcgdGjhu4MgZ2nhuqNtIG5o4bq5IGJyIOG7nyAweCVseCB0cm9uZyBwaOG6p24gwqsgJUEgwrsuIEjDo3kgZMO5bmcgYnJsIGhv4bq3YyBuaMOhbmggZ2nDoW4gdGnhur9wLiIKIAotIzogZWxmMzItaWE2NC5jOjI5MTAgZWxmNjQtaWE2NC5jOjI5MTAKKyM6IGVsZjMyLWlhNjQuYzoyNzQyIGVsZjY0LWlhNjQuYzoyNzQyCiBtc2dpZCAiQHBsdG9mZiByZWxvYyBhZ2FpbnN0IGxvY2FsIHN5bWJvbCIKIG1zZ3N0ciAixJHhu4tuaCB24buLIGzhuqFpIEBwbHRvZmYgc28gduG7m2kga8O9IGhp4buHdSBj4bulYyBi4buZIgogCi0jOiBlbGYzMi1pYTY0LmM6NDUyMyBlbGY2NC1pYTY0LmM6NDUyMworIzogZWxmMzItaWE2NC5jOjQzMTcgZWxmNjQtaWE2NC5jOjQzMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHNob3J0IGRhdGEgc2VnbWVudCBvdmVyZmxvd2VkICgweCVseCA+PSAweDQwMDAwMCkiCiBtc2dzdHIgIiVzOiB0csOgbiDEkW/huqFuIGThu68gbGnhu4d1IG5n4bqvbiAoMHglbHgg4omlIDB4NDAwMDAwKSIKIAotIzogZWxmMzItaWE2NC5jOjQ1MzQgZWxmNjQtaWE2NC5jOjQ1MzQKKyM6IGVsZjMyLWlhNjQuYzo0MzI4IGVsZjY0LWlhNjQuYzo0MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBfX2dwIGRvZXMgbm90IGNvdmVyIHNob3J0IGRhdGEgc2VnbWVudCIKIG1zZ3N0ciAiJXM6IF9fZ3Aga2jDtG5nIHRy4bqjaSByYSDEkW/huqFuIGThu68gbGnhu4d1IG5n4bqvbiIKIAotIzogZWxmMzItaWE2NC5jOjQ4MDggZWxmNjQtaWE2NC5jOjQ4MDgKKyM6IGVsZjMyLWlhNjQuYzo0NTk4IGVsZjY0LWlhNjQuYzo0NTk4CiBtc2dpZCAiJUI6IG5vbi1waWMgY29kZSB3aXRoIGltbSByZWxvY2F0aW9uIGFnYWluc3QgZHluYW1pYyBzeW1ib2wgYCVzJyIKIG1zZ3N0ciAiJUI6IG3DoyBraMOhYyBwaWMgduG7m2kgxJHhu4tuaCB24buLIGzhuqFpIGltbSBzbyB24bubaSBrw70gaGnhu4d1IMSR4buZbmcgwqsgJXMgwrsiCiAKLSM6IGVsZjMyLWlhNjQuYzo0ODc1IGVsZjY0LWlhNjQuYzo0ODc1CisjOiBlbGYzMi1pYTY0LmM6NDY2NSBlbGY2NC1pYTY0LmM6NDY2NQogbXNnaWQgIiVCOiBAZ3ByZWwgcmVsb2NhdGlvbiBhZ2FpbnN0IGR5bmFtaWMgc3ltYm9sICVzIgogbXNnc3RyICIlQjogxJHhu4tuaCB24buLIGzhuqFpIEBncHJlbCBzbyB24bubaSBrw70gaGnhu4d1IMSR4buZbmcgwqsgJXMgwrsiCiAKLSM6IGVsZjMyLWlhNjQuYzo0OTM4IGVsZjY0LWlhNjQuYzo0OTM4CisjOiBlbGYzMi1pYTY0LmM6NDcyOCBlbGY2NC1pYTY0LmM6NDcyOAogbXNnaWQgIiVCOiBsaW5raW5nIG5vbi1waWMgY29kZSBpbiBhIHBvc2l0aW9uIGluZGVwZW5kZW50IGV4ZWN1dGFibGUiCiBtc2dzdHIgIiVCOiDEkWFuZyBsacOqbiBr4bq/dCBtw6Mga2jDoWMgcGluIHRyb25nIG3hu5l0IHThuq1wIHRpbiBjw7Mga2jhuqMgbsSDbmcgdGjhu7FjIGhp4buHbiBtw6Aga2jDtG5nIHBo4bulIHRodeG7mWMgdsOgbyB24buLIHRyw60iCiAKLSM6IGVsZjMyLWlhNjQuYzo1MDc1IGVsZjY0LWlhNjQuYzo1MDc1CisjOiBlbGYzMi1pYTY0LmM6NDg2NSBlbGY2NC1pYTY0LmM6NDg2NQogbXNnaWQgIiVCOiBAaW50ZXJuYWwgYnJhbmNoIHRvIGR5bmFtaWMgc3ltYm9sICVzIgogbXNnc3RyICIlQjogbmjDoW5oIEBpbnRlcm5hbCAobuG7mWkgYuG7mSkgdOG7m2kga8O9IGhp4buHdSDEkeG7mW5nICVzIgogCi0jOiBlbGYzMi1pYTY0LmM6NTA3NyBlbGY2NC1pYTY0LmM6NTA3NworIzogZWxmMzItaWE2NC5jOjQ4NjcgZWxmNjQtaWE2NC5jOjQ4NjcKIG1zZ2lkICIlQjogc3BlY3VsYXRpb24gZml4dXAgdG8gZHluYW1pYyBzeW1ib2wgJXMiCiBtc2dzdHIgIiVCOiBz4buxIHPhu61hIGNo4buvYSBzdXkgxJFvw6FuIHNvIHbhu5tpIGvDvSBoaeG7h3UgxJHhu5luZyAlcyIKIAotIzogZWxmMzItaWE2NC5jOjUwNzkgZWxmNjQtaWE2NC5jOjUwNzkKKyM6IGVsZjMyLWlhNjQuYzo0ODY5IGVsZjY0LWlhNjQuYzo0ODY5CiBtc2dpZCAiJUI6IEBwY3JlbCByZWxvY2F0aW9uIGFnYWluc3QgZHluYW1pYyBzeW1ib2wgJXMiCiBtc2dzdHIgIiVCOiDEkeG7i25oIHbhu4sgbOG6oWkgQHBjcmVsIHNvIHbhu5tpIGvDvSBoaeG7h3UgxJHhu5luZyAlcyIKIAotIzogZWxmMzItaWE2NC5jOjUyNzkgZWxmNjQtaWE2NC5jOjUyNzkKKyM6IGVsZjMyLWlhNjQuYzo1MDY2IGVsZjY0LWlhNjQuYzo1MDY2CiBtc2dpZCAidW5zdXBwb3J0ZWQgcmVsb2MiCiBtc2dzdHIgIsSR4buLbmggduG7iyBs4bqhaSBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyIKIAotIzogZWxmMzItaWE2NC5jOjUzMTIgZWxmNjQtaWE2NC5jOjUzMTIKKyM6IGVsZjMyLWlhNjQuYzo1MTA0IGVsZjY0LWlhNjQuYzo1MTA0Cittc2dpZCAiJUI6IG1pc3NpbmcgVExTIHNlY3Rpb24gZm9yIHJlbG9jYXRpb24gJXMgYWdhaW5zdCBgJXMnIGF0IDB4JWx4IGluIHNlY3Rpb24gYCVBJy4iCittc2dzdHIgIiVCOiB0aGnhur91IHBo4bqnbiBUTFMgxJHhu4MgxJHhu4tuaCB24buLIGzhuqFpICVzIMSR4buRaSB24bubaSDCqyAlcyDCuyDhu58gMHglbHggdHJvbmcgcGjhuqduIMKrICVBIMK7LiIKKworIzogZWxmMzItaWE2NC5jOjUxMTkgZWxmNjQtaWE2NC5jOjUxMTkKIG1zZ2lkICIlQjogQ2FuJ3QgcmVsYXggYnIgKCVzKSB0byBgJXMnIGF0IDB4JWx4IGluIHNlY3Rpb24gYCVBJyB3aXRoIHNpemUgMHglbHggKD4gMHgxMDAwMDAwKS4iCiBtc2dzdHIgIiVCOiBLaMO0bmcgdGjhu4MgZ2nhuqNtIG5o4bq5IGJyICglcykgdOG7m2kgwqsgJXMgwrsgdOG6oWkgMHglbHggdHJvbmcgcGjhuqduIMKrICVBIMK7IHbhu5tpIGvDrWNoIGPhu6EgMHglbHggKD4gMHgxMDAwMDAwKS4iCiAKLSM6IGVsZjMyLWlhNjQuYzo1NTczIGVsZjY0LWlhNjQuYzo1NTczCisjOiBlbGYzMi1pYTY0LmM6NTM3NSBlbGY2NC1pYTY0LmM6NTM3NQogbXNnaWQgIiVCOiBsaW5raW5nIHRyYXAtb24tTlVMTC1kZXJlZmVyZW5jZSB3aXRoIG5vbi10cmFwcGluZyBmaWxlcyIKIG1zZ3N0ciAiJUI6IMSRYW5nIGxpw6puIGvhur90IHRyYXAtb24tTlVMTC1kZXJlZmVyZW5jZSB24bubaSB04bqtcCB0aW4ga2jDtG5nIMSR4bq3dCBi4bqreSIKIAotIzogZWxmMzItaWE2NC5jOjU1ODIgZWxmNjQtaWE2NC5jOjU1ODIKKyM6IGVsZjMyLWlhNjQuYzo1Mzg0IGVsZjY0LWlhNjQuYzo1Mzg0CiBtc2dpZCAiJUI6IGxpbmtpbmcgYmlnLWVuZGlhbiBmaWxlcyB3aXRoIGxpdHRsZS1lbmRpYW4gZmlsZXMiCiBtc2dzdHIgIiVCOiDEkWFuZyBsacOqbiBr4bq/dCB04bqtcCB0aW4gduG7gSBjdeG7kWkgbOG7m24gduG7m2kgdOG6rXAgdGluIHbhu4EgY3Xhu5FpIG5o4buPIgogCi0jOiBlbGYzMi1pYTY0LmM6NTU5MSBlbGY2NC1pYTY0LmM6NTU5MQorIzogZWxmMzItaWE2NC5jOjUzOTMgZWxmNjQtaWE2NC5jOjUzOTMKIG1zZ2lkICIlQjogbGlua2luZyA2NC1iaXQgZmlsZXMgd2l0aCAzMi1iaXQgZmlsZXMiCiBtc2dzdHIgIiVCOiDEkWFuZyBsacOqbiBr4bq/dCB04bqtcCB0aW4gNjQtYml0IHbhu5tpIHThuq1wIHRpbiAzMi1iaXQiCiAKLSM6IGVsZjMyLWlhNjQuYzo1NjAwIGVsZjY0LWlhNjQuYzo1NjAwCisjOiBlbGYzMi1pYTY0LmM6NTQwMiBlbGY2NC1pYTY0LmM6NTQwMgogbXNnaWQgIiVCOiBsaW5raW5nIGNvbnN0YW50LWdwIGZpbGVzIHdpdGggbm9uLWNvbnN0YW50LWdwIGZpbGVzIgogbXNnc3RyICIlQjogxJFhbmcgbGnDqm4ga+G6v3QgdOG6rXAgdGluIGNvbnN0YW50LWdwIHbhu5tpIHThuq1wIHRpbiBub24tY29uc3RhbnQtZ3AiCiAKLSM6IGVsZjMyLWlhNjQuYzo1NjEwIGVsZjY0LWlhNjQuYzo1NjEwCisjOiBlbGYzMi1pYTY0LmM6NTQxMiBlbGY2NC1pYTY0LmM6NTQxMgogbXNnaWQgIiVCOiBsaW5raW5nIGF1dG8tcGljIGZpbGVzIHdpdGggbm9uLWF1dG8tcGljIGZpbGVzIgogbXNnc3RyICIlQjogxJFhbmcgbGnDqm4ga+G6v3QgdOG6rXAgdGluIGF1dG8tcGljIHbhu5tpIHThuq1wIHRpbiBub24tYXV0by1waWMiCiAKQEAgLTM2MTAsMTIgKzM3MzUsMTQgQEAKICJcbiIKICJC4bqjbmcgW0PDoWkgY2jhu4kgVGjhu6kgdOG7sS9Uw6puXVxuIgogCi0jOiBwZWlnZW4uYzoxNjEwIHBlcGlnZW4uYzoxNjEwIHBleDY0aWdlbi5jOjE2MTAKKyM6IHBlaWdlbi5jOjE2MTcgcGVpZ2VuLmM6MTc5NiBwZXBpZ2VuLmM6MTYxNyBwZXBpZ2VuLmM6MTc5NiBwZXg2NGlnZW4uYzoxNjE3CisjOiBwZXg2NGlnZW4uYzoxNzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIldhcm5pbmcsIC5wZGF0YSBzZWN0aW9uIHNpemUgKCVsZCkgaXMgbm90IGEgbXVsdGlwbGUgb2YgJWRcbiIKIG1zZ3N0ciAiQ+G6o25oIGLDoW8gOiBrw61jaCBj4buhIHBo4bqnbiAucGRhdGEgKCVsZCkga2jDtG5nIHBo4bqjaSBsw6AgYuG7mWkgc+G7kSBjaG8gJWRcbiIKIAotIzogcGVpZ2VuLmM6MTYxNCBwZXBpZ2VuLmM6MTYxNCBwZXg2NGlnZW4uYzoxNjE0CisjOiBwZWlnZW4uYzoxNjIxIHBlaWdlbi5jOjE4MDAgcGVwaWdlbi5jOjE2MjEgcGVwaWdlbi5jOjE4MDAgcGV4NjRpZ2VuLmM6MTYyMQorIzogcGV4NjRpZ2VuLmM6MTgwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zNjI0LDEyICszNzUxLDEyIEBACiAiXG4iCiAiQuG6o25nIEjDoG0gKHBoacOqbiBk4buLY2ggbuG7mWkgZHVuZyBwaOG6p24gLnBkYXRhKVxuIgogCi0jOiBwZWlnZW4uYzoxNjE3IHBlcGlnZW4uYzoxNjE3IHBleDY0aWdlbi5jOjE2MTcKKyM6IHBlaWdlbi5jOjE2MjQgcGVwaWdlbi5jOjE2MjQgcGV4NjRpZ2VuLmM6MTYyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgdm1hOlx0XHRcdEJlZ2luIEFkZHJlc3MgICAgRW5kIEFkZHJlc3MgICAgICBVbndpbmQgSW5mb1xuIgogbXNnc3RyICIgdm1hOlx0XHRcdMSQ4buLYSBjaGkgxJHhuqd1ICAgIMSQ4buLYSBjaOG7iSBjdeG7kWkgICAgIFRow7RuZyB0aW4gdGjDoW8gcmFcbiIKIAotIzogcGVpZ2VuLmM6MTYxOSBwZXBpZ2VuLmM6MTYxOSBwZXg2NGlnZW4uYzoxNjE5CisjOiBwZWlnZW4uYzoxNjI2IHBlcGlnZW4uYzoxNjI2IHBleDY0aWdlbi5jOjE2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiB2bWE6XHRcdEJlZ2luICAgIEVuZCAgICAgIEVIICAgICAgIEVIICAgICAgIFByb2xvZ0VuZCAgRXhjZXB0aW9uXG4iCkBAIC0zNjM4LDIyICszNzY1LDMxIEBACiAiIHZtYTpcdFx0xJDhuqd1ICAgIEN14buRaSAgICAgIEVIICAgICAgIEVIICAgICAgIFByb2xvZ0VuZCAgTmdv4bqhaSBs4buHXG4iCiAiICAgICBcdFx0xJDhu4thIGNo4buJICDEkOG7i2EgY2jhu4kgIELhu5kgcXXhuqNuIGzDvSAgROG7ryBsaeG7h3UgICAgIMSQ4buLYSBjaOG7iSAgICBN4bq3dCBu4bqhXG4iCiAKLSM6IHBlaWdlbi5jOjE2ODkgcGVwaWdlbi5jOjE2ODkgcGV4NjRpZ2VuLmM6MTY4OQorIzogcGVpZ2VuLmM6MTY5NiBwZXBpZ2VuLmM6MTY5NiBwZXg2NGlnZW4uYzoxNjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBSZWdpc3RlciBzYXZlIG1pbGxpY29kZSIKIG1zZ3N0ciAiIE1pbGktbcOjIGzGsHUgdGhhbmggZ2hpIgogCi0jOiBwZWlnZW4uYzoxNjkyIHBlcGlnZW4uYzoxNjkyIHBleDY0aWdlbi5jOjE2OTIKKyM6IHBlaWdlbi5jOjE2OTkgcGVwaWdlbi5jOjE2OTkgcGV4NjRpZ2VuLmM6MTY5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgUmVnaXN0ZXIgcmVzdG9yZSBtaWxsaWNvZGUiCiBtc2dzdHIgIiBNaWxpLW3DoyBwaOG7pWMgaOG7k2kgdGhhbmggZ2hpIgogCi0jOiBwZWlnZW4uYzoxNjk1IHBlcGlnZW4uYzoxNjk1IHBleDY0aWdlbi5jOjE2OTUKKyM6IHBlaWdlbi5jOjE3MDIgcGVwaWdlbi5jOjE3MDIgcGV4NjRpZ2VuLmM6MTcwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIgR2x1ZSBjb2RlIHNlcXVlbmNlIgogbXNnc3RyICIgRMOjeSBtw6MgbuG7kWkgbOG6oWkiCiAKLSM6IHBlaWdlbi5jOjE3NDUgcGVwaWdlbi5jOjE3NDUgcGV4NjRpZ2VuLmM6MTc0NQorIzogcGVpZ2VuLmM6MTgwMiBwZXBpZ2VuLmM6MTgwMiBwZXg2NGlnZW4uYzoxODAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgdm1hOlx0XHRCZWdpbiAgICBQcm9sb2cgICBGdW5jdGlvbiBGbGFncyAgICBFeGNlcHRpb24gRUhcbiIKKyIgICAgIFx0XHRBZGRyZXNzICBMZW5ndGggICBMZW5ndGggICAzMmIgZXhjICBIYW5kbGVyICAgRGF0YVxuIgorbXNnc3RyICIiCisiIHZtYTpcdFx0xJDhuqd1ICAgIFByb2xvZyAgIEPhu50gaMOgbSAgICBOZ2/huqFpIGzhu4cgRUhcbiIKKyIgICAgIFx0XHTEkOG7i2EgY2jhu4kgIETDoGkgICBEw6BpICAgMzJiIGV4YyAgUXXhuqNuIGzDvSAgIEThu68gbGnhu4d1XG4iCisKKyM6IHBlaWdlbi5jOjE5MzMgcGVwaWdlbi5jOjE5MzMgcGV4NjRpZ2VuLmM6MTkzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zNjY0LDcgKzM4MDAsNyBAQAogIlxuIgogIsSQ4buLbmggduG7iyBs4bqhaSBjxqEgYuG6o24gdOG6rXAgdGluIFBFIChwaGnDqm4gZOG7i2NoIG7hu5lpIGR1bmcgcGjhuqduIC5yZWxvYylcbiIKIAotIzogcGVpZ2VuLmM6MTc3NSBwZXBpZ2VuLmM6MTc3NSBwZXg2NGlnZW4uYzoxNzc1CisjOiBwZWlnZW4uYzoxOTYzIHBlcGlnZW4uYzoxOTYzIHBleDY0aWdlbi5jOjE5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMzY3Myw3ICszODA5LDcgQEAKICJcbiIKICLEkOG7i2EgY2jhu4kg4bqjbzogJTA4bHggS8OtY2ggY+G7oSBraMO6YyAlbGQgKDB4JWx4KSBT4buRIHPhu7Egc+G7rWEgY2jhu69hICVsZFxuIgogCi0jOiBwZWlnZW4uYzoxNzg4IHBlcGlnZW4uYzoxNzg4IHBleDY0aWdlbi5jOjE3ODgKKyM6IHBlaWdlbi5jOjE5NzYgcGVwaWdlbi5jOjE5NzYgcGV4NjRpZ2VuLmM6MTk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJcdHJlbG9jICU0ZCBvZmZzZXQgJTR4IFslNGx4XSAlcyIKIG1zZ3N0ciAiXHTEkeG7i25oIHbhu4sgbOG6oWkgJTRkIGLDuSAlNHggWyU0bHhdICVzIgpAQCAtMzY4MSw3ICszODE3LDcgQEAKICMuIFRoZSBNUyBkdW1wYmluIHByb2dyYW0gcmVwb3J0ZWRseSBhbmRzIHdpdGggMHhmZjBmIGJlZm9yZQogIy4gcHJpbnRpbmcgdGhlIGNoYXJhY3RlcmlzdGljcyBmaWVsZC4gIE5vdCBzdXJlIHdoeS4gIE5vIHJlYXNvbiB0bwogIy4gZW11bGF0ZSBpdCBoZXJlLgotIzogcGVpZ2VuLmM6MTgyNyBwZXBpZ2VuLmM6MTgyNyBwZXg2NGlnZW4uYzoxODI3CisjOiBwZWlnZW4uYzoyMDE1IHBlcGlnZW4uYzoyMDE1IHBleDY0aWdlbi5jOjIwMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMzY5MCwyMiArMzgyNiwyMiBAQAogIlxuIgogIsSQ4bq3YyB0w61uaCAweCV4XG4iCiAKLSM6IHBlaWdlbi5jOjIwODggcGVwaWdlbi5jOjIwODggcGV4NjRpZ2VuLmM6MjA4OAorIzogcGVpZ2VuLmM6MjI4OSBwZXBpZ2VuLmM6MjI4OSBwZXg2NGlnZW4uYzoyMjg5CiBtc2dpZCAiJUI6IHVuYWJsZSB0byBmaWxsIGluIERhdGFEaWN0aW9uYXJ5WzFdIGJlY2F1c2UgLmlkYXRhJDIgaXMgbWlzc2luZyIKIG1zZ3N0ciAiJUI6IGtow7RuZyB0aOG7gyDEkWnhu4FuIHbDoG8gRGF0YURpY3Rpb25hcnlbMV0gdsOsIC5pZGF0YSQyIGPDsm4gdGhp4bq/dSIKIAotIzogcGVpZ2VuLmM6MjEwNiBwZXBpZ2VuLmM6MjEwNiBwZXg2NGlnZW4uYzoyMTA2CisjOiBwZWlnZW4uYzoyMzA3IHBlcGlnZW4uYzoyMzA3IHBleDY0aWdlbi5jOjIzMDcKIG1zZ2lkICIlQjogdW5hYmxlIHRvIGZpbGwgaW4gRGF0YURpY3Rpb25hcnlbMV0gYmVjYXVzZSAuaWRhdGEkNCBpcyBtaXNzaW5nIgogbXNnc3RyICIlQjoga2jDtG5nIHRo4buDIMSRaeG7gW4gdsOgbyBEYXRhRGljdGlvbmFyeVsxXSB2w6wgLmlkYXRhJDQgY8OybiB0aGnhur91IgogCi0jOiBwZWlnZW4uYzoyMTI1IHBlcGlnZW4uYzoyMTI1IHBleDY0aWdlbi5jOjIxMjUKKyM6IHBlaWdlbi5jOjIzMjYgcGVwaWdlbi5jOjIzMjYgcGV4NjRpZ2VuLmM6MjMyNgogbXNnaWQgIiVCOiB1bmFibGUgdG8gZmlsbCBpbiBEYXRhRGljdGlvbmFyeVsxMl0gYmVjYXVzZSAuaWRhdGEkNSBpcyBtaXNzaW5nIgogbXNnc3RyICIlQjoga2jDtG5nIHRo4buDIMSRaeG7gW4gdsOgbyBEYXRhRGljdGlvbmFyeVsxMl0gdsOsIC5pZGF0YSQ1IGPDsm4gdGhp4bq/dSIKIAotIzogcGVpZ2VuLmM6MjE0MyBwZXBpZ2VuLmM6MjE0MyBwZXg2NGlnZW4uYzoyMTQzCisjOiBwZWlnZW4uYzoyMzQ0IHBlcGlnZW4uYzoyMzQ0IHBleDY0aWdlbi5jOjIzNDQKIG1zZ2lkICIlQjogdW5hYmxlIHRvIGZpbGwgaW4gRGF0YURpY3Rpb25hcnlbUEVfSU1QT1JUX0FERFJFU1NfVEFCTEUgKDEyKV0gYmVjYXVzZSAuaWRhdGEkNiBpcyBtaXNzaW5nIgogbXNnc3RyICIlQjoga2jDtG5nIHRo4buDIMSRaeG7gW4gdsOgbyBEYXRhRGljdGlvbmFyeVtQRV9JTVBPUlRfQUREUkVTU19UQUJMRSAoMTIpXSB2w6wgLmlkYXRhJDYgY8OybiB0aGnhur91IgogCi0jOiBwZWlnZW4uYzoyMTYzIHBlcGlnZW4uYzoyMTYzIHBleDY0aWdlbi5jOjIxNjMKKyM6IHBlaWdlbi5jOjIzNjQgcGVwaWdlbi5jOjIzNjQgcGV4NjRpZ2VuLmM6MjM2NAogbXNnaWQgIiVCOiB1bmFibGUgdG8gZmlsbCBpbiBEYXRhRGljdGlvbmFyeVs5XSBiZWNhdXNlIF9fdGxzX3VzZWQgaXMgbWlzc2luZyIKIG1zZ3N0ciAiJUI6IGtow7RuZyB0aOG7gyDEkWnhu4FuIHbDoG8gRGF0YURpY3Rpb25hcnlbOV0gdsOsIF9fdGxzX3VzZWQgY8OybiB0aGnhur91IgpkaWZmIC0tZ2l0IGEvYmZkL3JlbG9jLmMgYi9iZmQvcmVsb2MuYwppbmRleCA5ZDk5M2FmLi45OWQwMDk0IDEwMDY0NAotLS0gYS9iZmQvcmVsb2MuYworKysgYi9iZmQvcmVsb2MuYwpAQCAtNDcxOSw2ICs0NzE5LDMxIEBACiAgIDMyLWJpdCBvZmZzZXQgdG8gc3ltYm9sIHdpdGggUExUIGVudHJ5LCByZWxhdGl2ZSB0byB0aGlzIHJlbG9jYXRpb24uCiAKIEVOVU0KKyAgQkZEX1JFTE9DX0NSSVNfMzJfR09UX0dECitFTlVNWAorICBCRkRfUkVMT0NfQ1JJU18xNl9HT1RfR0QKK0VOVU1YCisgIEJGRF9SRUxPQ19DUklTXzMyX0dECitFTlVNWAorICBCRkRfUkVMT0NfQ1JJU19EVFAKK0VOVU1YCisgIEJGRF9SRUxPQ19DUklTXzMyX0RUUFJFTAorRU5VTVgKKyAgQkZEX1JFTE9DX0NSSVNfMTZfRFRQUkVMCitFTlVNWAorICBCRkRfUkVMT0NfQ1JJU18zMl9HT1RfVFBSRUwKK0VOVU1YCisgIEJGRF9SRUxPQ19DUklTXzE2X0dPVF9UUFJFTAorRU5VTVgKKyAgQkZEX1JFTE9DX0NSSVNfMzJfVFBSRUwKK0VOVU1YCisgIEJGRF9SRUxPQ19DUklTXzE2X1RQUkVMCitFTlVNWAorICBCRkRfUkVMT0NfQ1JJU19EVFBNT0QKK0VOVU1ET0MKKyAgUmVsb2NzIHVzZWQgaW4gVExTIGNvZGUgZm9yIENSSVMuCisKK0VOVU0KICAgQkZEX1JFTE9DXzg2MF9DT1BZCiBFTlVNWAogICBCRkRfUkVMT0NfODYwX0dMT0JfREFUCmRpZmYgLS1naXQgYS9iZmQvdmVyc2lvbi5oIGIvYmZkL3ZlcnNpb24uaAppbmRleCBkYzJhM2EzLi43YTQ0OTg1IDEwMDY0NAotLS0gYS9iZmQvdmVyc2lvbi5oCisrKyBiL2JmZC92ZXJzaW9uLmgKQEAgLTEsNCArMSw0IEBACi0jZGVmaW5lIEJGRF9WRVJTSU9OX0RBVEUgMjAwODA5MDgKKyNkZWZpbmUgQkZEX1ZFUlNJT05fREFURSAyMDA4MTEwMwogI2RlZmluZSBCRkRfVkVSU0lPTiBAYmZkX3ZlcnNpb25ACiAjZGVmaW5lIEJGRF9WRVJTSU9OX1NUUklORyAgQGJmZF92ZXJzaW9uX3BhY2thZ2VAIEBiZmRfdmVyc2lvbl9zdHJpbmdACiAjZGVmaW5lIFJFUE9SVF9CVUdTX1RPIEByZXBvcnRfYnVnc190b0AKZGlmZiAtLWdpdCBhL2JpbnV0aWxzL0JSQU5DSEVTIGIvYmludXRpbHMvQlJBTkNIRVMKaW5kZXggMzAzZjBkYy4uZjM4ZmM5MSAxMDA2NDQKLS0tIGEvYmludXRpbHMvQlJBTkNIRVMKKysrIGIvYmludXRpbHMvQlJBTkNIRVMKQEAgLTMzLDMgKzMzLDUgQEAKIGJpbnV0aWxzLTJfMTUtYnJhbmNoCiBiaW51dGlscy0yXzE2LWJyYW5jaAogYmludXRpbHMtMl8xNy1icmFuY2gKK2JpbnV0aWxzLTJfMTgtYnJhbmNoCitiaW51dGlscy0yXzE5LWJyYW5jaApkaWZmIC0tZ2l0IGEvYmludXRpbHMvQ2hhbmdlTG9nIGIvYmludXRpbHMvQ2hhbmdlTG9nCmluZGV4IDJiYjM5NmQuLjA5NjBmZmYgMTAwNjQ0Ci0tLSBhL2JpbnV0aWxzL0NoYW5nZUxvZworKysgYi9iaW51dGlscy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMDUgQEAKKzIwMDgtMTAtMzEgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CisKKwkqIHBvL2lkLnBvOiBOZXcgZmlsZS4KKwkqIGNvbmZpZ3VyZS5pbiAoQUxMX0xJTkdVQVMpOiBBZGQgaWQuCisJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCisKKzIwMDgtMTAtMjEgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CisKKwkqIHdpbmRtYy5jIChyZXNfYWxsb2MpOiBSZW1vdmUgdW5uZWNlc3NhcnkgY2FzdC4KKwkqIHdpbmRyZXMuYyAocmVzX2FsbG9jLCByZXN3cl9hbGxvYyk6IExpa2V3aXNlLgorCisyMDA4LTEwLTIwICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgorCisJKiByZWFkZWxmLmM6IFRpZHkgdXAgY29kZSBmb3JtYXR0aW5nLgorCisyMDA4LTEwLTEwICBOYXRoYW4gRnJveWQgIDxmcm95ZG5qQGNvZGVzb3VyY2VyeS5jb20+CisKKwkqIHJlYWRlbGYuYyAoZGlzcGxheV9wb3dlcl9nbnVfYXR0cmlidXRlKTogRGVjb2RlCisJVGFnX0dOVV9Qb3dlcl9BQklfU3RydWN0X1JldHVybi4KKworMjAwOC0xMC0xMCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KKworCSogZW1iZWRzcHUuc2g6IFBhc3MgLVdhLC1ub2V4ZWNzdGFjayB0byAkQ0MuCisKKzIwMDgtMTAtMDkgIEthaSBUaWV0eiAgPGthaS50aWV0ekBvbmV2aXNpb24uY29tPgorCisJKiBkbGx0b29sLmMgKFBBR0VfU0laRSk6IE1ha2Ugc3VyZSBpdCBoYXMgYmZkX3ZtYSB0eXBlLgorCShQQUdFX01BU0spOiBMaWtld2lzZS4KKwkoc2Z1bmMpOiBDaGFuZ2UgdG8gYWRkcmVzcyBzaXplIG9mIGJmZF92bWEgZm9yIGJhc2UtZmlsZS4KKwkoZmx1c2hfcGFnZSk6IExpa2V3aXNlLgorCShnZW5fZXhwX2ZpbGUpOiBMaWtld2lzZS4KKworMjAwOC0xMC0wNyAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorCisJKiByZWFkZWxmLmMgKHByb2Nlc3Nfc2VjdGlvbl9oZWFkZXJzKTogRG8gbm90IGN1dCB0aGUgc2VjdGlvbiBuYW1lcyBhbmQKKwl0eXBlcyBpZiBydW5uaW5nIHdpdGggLS13aWRlLgorCisyMDA4LTEwLTA2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CisKKwkqIGR3YXJmLmMgKGRpc3BsYXlfZGVidWdfZnJhbWVzKTogQ2hhbmdlIHRleHQgZm9yIHVuaWZvcm1pdHkuCisJKHByb2Nlc3NfZGVidWdfaW5mbyk6IExpa2V3aXNlLgorCShkaXNwbGF5X2RlYnVnX2FyYW5nZXMpOiBMaWtld2lzZS4gIEluZGVudCBhZGRyZXNzIG91dHB1dC4KKwkoZGlzcGxheV9kZWJ1Z19wdWJuYW1lcyk6IFByaW50IG9mZnNldCBpbiBoZXguCisKKzIwMDgtMTAtMDIgIEFuZHJldyBQYXByb2NraSAgPGFuZHJld0Bpc2hpYm9vLmNvbT4KKworCVBSIDY5MzQKKwkqIHN0YWJzLmMgKHBhcnNlX3N0YWJfc3RyaW5nKTogUGFyc2UgYW5kIGlnbm9yZSA9WTxuYW1lPiBzdHJpbmdzCisJZ2VuZXJhdGVkIGJ5IHRoZSBTVU5Qcm8gQysrIGNvbXBpbGVyLgorCisyMDA4LTA5LTMwICBBbmRyZXcgUGFwcm9ja2kgIDxhbmRyZXdAaXNoaWJvby5jb20+CisKKwlQUiA2OTIyCisJKiBzdGFicy5jIChwYXJzZV9zdGFiX3N1bl9idWlsdGluX3R5cGUpOiBQYXJzZSwgYnV0IGlnbm9yZSBTVU4ncworCSdiJyBhbmQgJ3YnIGV4dGVuc2lvbnMuCisKKzIwMDgtMDktMjkgIFBldGVyIE8nR29ybWFuICA8cG9nbWFAdGhld3JpdHRlbndvcmQuY29tPgorCSAgICBTdGV2ZSBFbGxjZXkgIDxzamVAY3VwLmhwLmNvbT4KKworCSogY29uZmlndXJlOiBSZWdlbmVyYXRlIGZvciBuZXcgbGlidG9vbC4KKwkqIGFjbG9jYWwubTQ6IERpdHRvLgorCSogTWFrZWZpbGUuaW46IERpdHRvLgorCSogZG9jL01ha2VmaWxlLmluOiBEaXR0by4KKworMjAwOC0wOS0yOCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KKworCSogb2JqY29weS5jIChzZXR1cF9zZWN0aW9uKTogU2V0IGVsZl9ncm91cF9pZC4KKworMjAwOC0wOS0yNCAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KKworCSogZHdhcmYuYyAoc2l6ZV9vZl9lbmNvZGVkX3ZhbHVlLCBnZXRfZW5jb2RlZF92YWx1ZSk6IE1vdmUgdXAuCisJKGRlY29kZV9sb2NhdGlvbl9leHByZXNzaW9uKTogQWRkIHNlY3Rpb24gcGFyYW1ldGVyLiAgSGFuZGxlCisJRFdfT1BfR05VX2VuY29kZWRfYWRkci4KKwkocmVhZF9hbmRfZGlzcGxheV9hdHRyX3ZhbHVlKTogVXBkYXRlIGRlY29kZV9sb2NhdGlvbl9leHByZXNzaW9uIGNhbGwuCisJKGRpc3BsYXlfZGVidWdfbG9jLCBkaXNwbGF5X2RlYnVnX2ZyYW1lcyk6IExpa2V3aXNlLgorCisyMDA4LTA5LTI1ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJUFIgNjkxMworCSogZHdhcmYuYyAocHJpbnRfZHdhcmZfdm1hKTogRG9uJ3QgY2FsbCBwcmludGYgd2l0aG91dCBmb3JtYXQgc3RyaW5nLgorCisyMDA4LTA5LTE3ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwlTdXBwcmVzcyB3YXJuaW5ncyBvbiBOT05FIHJlbG9jYXRpb25zIHRvIGRpc2NhcmRlZCBzZWN0aW9ucy4KKwkqIHJlYWRlbGYuYyAoaXNfbm9uZV9yZWxvYyk6IE5ldyBmdW5jdGlvbi4KKwkoZGVidWdfYXBwbHlfcmVsb2NhdGlvbnMpOiBJZ25vcmUgaXNfbm9uZV9yZWxvYygpIHJlbG9jYXRpb25zLgorCisyMDA4LTA5LTExICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwlGaXggbG9hZGluZyBsYXJnZSBlbGY2NCBiaW5hcmllcyBvbiAzMmJpdCBob3N0cy4KKwkqIGNvbmZpZ3VyZS5pbjogQ2FsbCBBQ19TWVNfTEFSR0VGSUxFLgorCSogY29uZmlnLmluOiBSZWdlbmVyYXRlLgorCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgorCisyMDA4LTA5LTExICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJKiBwby9zdi5wbzogVXBkYXRlLgorCisyMDA4LTA5LTA4ICBUcmlzdGFuIEdpbmdvbGQgIDxnaW5nb2xkQGFkYWNvcmUuY29tPgorCisJKiBCUkFOQ0hFUzogQWRkIDIuMTggYW5kIDIuMTkgcmVsZWFzZSBicmFuY2hlcy4KKwogMjAwOC0wOS0wOCAgVHJpc3RhbiBHaW5nb2xkICA8Z2luZ29sZEBhZGFjb3JlLmNvbT4KIAogCSogTkVXUzogQWRkIGEgbWFya2VyIGZvciB0aGUgMi4xOSBmZWF0dXJlcy4KZGlmZiAtLWdpdCBhL2JpbnV0aWxzL01ha2VmaWxlLmluIGIvYmludXRpbHMvTWFrZWZpbGUuaW4KaW5kZXggNzRlMjBmYy4uMmRmY2Q2OSAxMDA2NDQKLS0tIGEvYmludXRpbHMvTWFrZWZpbGUuaW4KKysrIGIvYmludXRpbHMvTWFrZWZpbGUuaW4KQEAgLTc0LDcgKzc0LDcgQEAKIAkkKHRvcF9zcmNkaXIpLy4uL2NvbmZpZy9wcm9ndGVzdC5tNCBcCiAJJCh0b3Bfc3JjZGlyKS8uLi9saWJ0b29sLm00ICQodG9wX3NyY2RpcikvLi4vbHRvcHRpb25zLm00IFwKIAkkKHRvcF9zcmNkaXIpLy4uL2x0c3VnYXIubTQgJCh0b3Bfc3JjZGlyKS8uLi9sdHZlcnNpb24ubTQgXAotCSQodG9wX3NyY2RpcikvY29uZmlndXJlLmluCisJJCh0b3Bfc3JjZGlyKS8uLi9sdH5vYnNvbGV0ZS5tNCAkKHRvcF9zcmNkaXIpL2NvbmZpZ3VyZS5pbgogYW1fX2NvbmZpZ3VyZV9kZXBzID0gJChhbV9fYWNsb2NhbF9tNF9kZXBzKSAkKENPTkZJR1VSRV9ERVBFTkRFTkNJRVMpIFwKIAkkKEFDTE9DQUxfTTQpCiBhbV9fQ09ORklHX0RJU1RDTEVBTl9GSUxFUyA9IGNvbmZpZy5zdGF0dXMgY29uZmlnLmNhY2hlIGNvbmZpZy5sb2cgXApAQCAtMjQyLDYgKzI0Miw3IEBACiBERU1BTkdMRVJfTkFNRSA9IEBERU1BTkdMRVJfTkFNRUAKIERFUERJUiA9IEBERVBESVJACiBETExUT09MX0RFRlMgPSBARExMVE9PTF9ERUZTQAorRFNZTVVUSUwgPSBARFNZTVVUSUxACiBEVU1QQklOID0gQERVTVBCSU5ACiBFQ0hPX0MgPSBARUNIT19DQAogRUNIT19OID0gQEVDSE9fTkAKQEAgLTI3NSw2ICsyNzYsNyBAQAogTElCT0JKUyA9IEBMSUJPQkpTQAogTElCUyA9IEBMSUJTQAogTElCVE9PTCA9IEBMSUJUT09MQAorTElQTyA9IEBMSVBPQAogTE5fUyA9IEBMTl9TQAogTFRMSUJJQ09OViA9IEBMVExJQklDT05WQAogTFRMSUJPQkpTID0gQExUTElCT0JKU0AKQEAgLTI4Nyw5ICsyODksMTMgQEAKIE1TR01FUkdFID0gQE1TR01FUkdFQAogTkxNQ09OVl9ERUZTID0gQE5MTUNPTlZfREVGU0AKIE5NID0gQE5NQAorTk1FRElUID0gQE5NRURJVEAKIE5PX1dFUlJPUiA9IEBOT19XRVJST1JACitPQkpEVU1QID0gQE9CSkRVTVBACiBPQkpEVU1QX0RFRlMgPSBAT0JKRFVNUF9ERUZTQAogT0JKRVhUID0gQE9CSkVYVEAKK09UT09MID0gQE9UT09MQAorT1RPT0w2NCA9IEBPVE9PTDY0QAogUEFDS0FHRSA9IEBQQUNLQUdFQAogUEFDS0FHRV9CVUdSRVBPUlQgPSBAUEFDS0FHRV9CVUdSRVBPUlRACiBQQUNLQUdFX05BTUUgPSBAUEFDS0FHRV9OQU1FQApAQCAtMzEwLDcgKzMxNiwxMyBAQAogWUFDQyA9IGBpZiBbIC1mIC4uL2Jpc29uL2Jpc29uIF07IHRoZW4gZWNobyAuLi9iaXNvbi9iaXNvbiAteSAtTCQoc3JjZGlyKS8uLi9iaXNvbi87IGVsc2UgZWNobyBAWUFDQ0A7IGZpYAogYWNfY3RfQVIgPSBAYWNfY3RfQVJACiBhY19jdF9DQyA9IEBhY19jdF9DQ0AKK2FjX2N0X0RTWU1VVElMID0gQGFjX2N0X0RTWU1VVElMQAogYWNfY3RfRFVNUEJJTiA9IEBhY19jdF9EVU1QQklOQAorYWNfY3RfTElQTyA9IEBhY19jdF9MSVBPQAorYWNfY3RfTk1FRElUID0gQGFjX2N0X05NRURJVEAKK2FjX2N0X09CSkRVTVAgPSBAYWNfY3RfT0JKRFVNUEAKK2FjX2N0X09UT09MID0gQGFjX2N0X09UT09MQAorYWNfY3RfT1RPT0w2NCA9IEBhY19jdF9PVE9PTDY0QAogYWNfY3RfUkFOTElCID0gQGFjX2N0X1JBTkxJQkAKIGFjX2N0X1NUUklQID0gQGFjX2N0X1NUUklQQAogYW1fX2Zhc3RkZXBDQ19GQUxTRSA9IEBhbV9fZmFzdGRlcENDX0ZBTFNFQApAQCAtNTM1LDE1ICs1NDcsMTUgQEAKIAlAZm9yIGRlcCBpbiAkPzsgZG8gXAogCSAgY2FzZSAnJChhbV9fY29uZmlndXJlX2RlcHMpJyBpbiBcCiAJICAgICokJGRlcCopIFwKLQkgICAgICBlY2hvICcgY2QgJChzcmNkaXIpICYmICQoQVVUT01BS0UpIC0tY3lnbnVzICc7IFwKLQkgICAgICBjZCAkKHNyY2RpcikgJiYgJChBVVRPTUFLRSkgLS1jeWdudXMgIFwKKwkgICAgICBlY2hvICcgY2QgJChzcmNkaXIpICYmICQoQVVUT01BS0UpIC0tZm9yZWlnbiAnOyBcCisJICAgICAgY2QgJChzcmNkaXIpICYmICQoQVVUT01BS0UpIC0tZm9yZWlnbiAgXAogCQkmJiBleGl0IDA7IFwKIAkgICAgICBleGl0IDE7OyBcCiAJICBlc2FjOyBcCiAJZG9uZTsgXAotCWVjaG8gJyBjZCAkKHRvcF9zcmNkaXIpICYmICQoQVVUT01BS0UpIC0tY3lnbnVzICBNYWtlZmlsZSc7IFwKKwllY2hvICcgY2QgJCh0b3Bfc3JjZGlyKSAmJiAkKEFVVE9NQUtFKSAtLWZvcmVpZ24gIE1ha2VmaWxlJzsgXAogCWNkICQodG9wX3NyY2RpcikgJiYgXAotCSAgJChBVVRPTUFLRSkgLS1jeWdudXMgIE1ha2VmaWxlCisJICAkKEFVVE9NQUtFKSAtLWZvcmVpZ24gIE1ha2VmaWxlCiAuUFJFQ0lPVVM6IE1ha2VmaWxlCiBNYWtlZmlsZTogJChzcmNkaXIpL01ha2VmaWxlLmluICQodG9wX2J1aWxkZGlyKS9jb25maWcuc3RhdHVzCiAJQGNhc2UgJyQ/JyBpbiBcCmRpZmYgLS1naXQgYS9iaW51dGlscy9hY2xvY2FsLm00IGIvYmludXRpbHMvYWNsb2NhbC5tNAppbmRleCBjZjg4MDU4Li4zOTg1N2U1IDEwMDY0NAotLS0gYS9iaW51dGlscy9hY2xvY2FsLm00CisrKyBiL2JpbnV0aWxzL2FjbG9jYWwubTQKQEAgLTg5NiwzICs4OTYsNCBAQAogbTRfaW5jbHVkZShbLi4vbHRvcHRpb25zLm00XSkKIG00X2luY2x1ZGUoWy4uL2x0c3VnYXIubTRdKQogbTRfaW5jbHVkZShbLi4vbHR2ZXJzaW9uLm00XSkKK200X2luY2x1ZGUoWy4uL2x0fm9ic29sZXRlLm00XSkKZGlmZiAtLWdpdCBhL2JpbnV0aWxzL2NvbmZpZy5pbiBiL2JpbnV0aWxzL2NvbmZpZy5pbgppbmRleCBjZDc0ZmFiLi43NjMyNjEzIDEwMDY0NAotLS0gYS9iaW51dGlscy9jb25maWcuaW4KKysrIGIvYmludXRpbHMvY29uZmlnLmluCkBAIC0yMDMsNiArMjAzLDkgQEAKICAgIGBjaGFyW10nLiAqLwogI3VuZGVmIFlZVEVYVF9QT0lOVEVSCiAKKy8qIE51bWJlciBvZiBiaXRzIGluIGEgZmlsZSBvZmZzZXQsIG9uIGhvc3RzIHdoZXJlIHRoaXMgaXMgc2V0dGFibGUuICovCisjdW5kZWYgX0ZJTEVfT0ZGU0VUX0JJVFMKKwogLyogRW5hYmxlIEdOVSBleHRlbnNpb25zIG9uIHN5c3RlbXMgdGhhdCBoYXZlIHRoZW0uICAqLwogI2lmbmRlZiBfR05VX1NPVVJDRQogIyB1bmRlZiBfR05VX1NPVVJDRQpAQCAtMjExLDYgKzIxNCw5IEBACiAvKiBFbmFibGUgTEZTICovCiAjdW5kZWYgX0xBUkdFRklMRTY0X1NPVVJDRQogCisvKiBEZWZpbmUgZm9yIGxhcmdlIGZpbGVzLCBvbiBBSVgtc3R5bGUgaG9zdHMuICovCisjdW5kZWYgX0xBUkdFX0ZJTEVTCisKIC8qIERlZmluZSB0byAxIGlmIG9uIE1JTklYLiAqLwogI3VuZGVmIF9NSU5JWAogCmRpZmYgLS1naXQgYS9iaW51dGlscy9jb25maWd1cmUgYi9iaW51dGlscy9jb25maWd1cmUKaW5kZXggZTMxMjFkMS4uZmYxMzFlMyAxMDA3NTUKLS0tIGEvYmludXRpbHMvY29uZmlndXJlCisrKyBiL2JpbnV0aWxzL2NvbmZpZ3VyZQpAQCAtNDU4LDcgKzQ1OCw3IEBACiAjIGluY2x1ZGUgPHVuaXN0ZC5oPgogI2VuZGlmIgogCi1hY19zdWJzdF92YXJzPSdTSEVMTCBQQVRIX1NFUEFSQVRPUiBQQUNLQUdFX05BTUUgUEFDS0FHRV9UQVJOQU1FIFBBQ0tBR0VfVkVSU0lPTiBQQUNLQUdFX1NUUklORyBQQUNLQUdFX0JVR1JFUE9SVCBleGVjX3ByZWZpeCBwcmVmaXggcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSBiaW5kaXIgc2JpbmRpciBsaWJleGVjZGlyIGRhdGFkaXIgc3lzY29uZmRpciBzaGFyZWRzdGF0ZWRpciBsb2NhbHN0YXRlZGlyIGxpYmRpciBpbmNsdWRlZGlyIG9sZGluY2x1ZGVkaXIgaW5mb2RpciBtYW5kaXIgYnVpbGRfYWxpYXMgaG9zdF9hbGlhcyB0YXJnZXRfYWxpYXMgREVGUyBFQ0hPX0MgRUNIT19OIEVDSE9fVCBMSUJTIGJ1aWxkIGJ1aWxkX2NwdSBidWlsZF92ZW5kb3IgYnVpbGRfb3MgaG9zdCBob3N0X2NwdSBob3N0X3ZlbmRvciBob3N0X29zIHRhcmdldCB0YXJnZXRfY3B1IHRhcmdldF92ZW5kb3IgdGFyZ2V0X29zIENDIENGTEFHUyBMREZMQUdTIENQUEZMQUdTIGFjX2N0X0NDIEVYRUVYVCBPQkpFWFQgSU5TVEFMTF9QUk9HUkFNIElOU1RBTExfU0NSSVBUIElOU1RBTExfREFUQSBDWUdQQVRIX1cgUEFDS0FHRSBWRVJTSU9OIEFDTE9DQUwgQVVUT0NPTkYgQVVUT01BS0UgQVVUT0hFQURFUiBNQUtFSU5GTyBpbnN0YWxsX3NoIFNUUklQIGFjX2N0X1NUUklQIElOU1RBTExfU1RSSVBfUFJPR1JBTSBta2Rpcl9wIEFXSyBTRVRfTUFLRSBhbV9fbGVhZGluZ19kb3QgQU1UQVIgYW1fX3RhciBhbV9fdW50YXIgREVQRElSIGFtX19pbmNsdWRlIGFtX19xdW90ZSBBTURFUF9UUlVFIEFNREVQX0ZBTFNFIEFNREVQQkFDS1NMQVNIIENDREVQTU9ERSBhbV9fZmFzdGRlcENDX1RSVUUgYW1fX2Zhc3RkZXBDQ19GQUxTRSBDUFAgRUdSRVAgTElCVE9PTCBTRUQgRkdSRVAgR1JFUCBMRCBEVU1QQklOIGFjX2N0X0RVTVBCSU4gTk0gTE5fUyBBUiBhY19jdF9BUiBSQU5MSUIgYWNfY3RfUkFOTElCIGx0X0VDSE8gV0FSTl9DRkxBR1MgTk9fV0VSUk9SIFlBQ0MgTEVYIExFWExJQiBMRVhfT1VUUFVUX1JPT1QgVVNFX05MUyBMSUJJTlRMIExJQklOVExfREVQIElOQ0lOVEwgWEdFVFRFWFQgR01TR0ZNVCBQT1NVQiBDQVRBTE9HUyBEQVRBRElSTkFNRSBJTlNUT0JKRVhUIEdFTkNBVCBDQVRPQkpFWFQgTUtJTlNUQUxMRElSUyBNU0dGTVQgTVNHTUVSR0UgTUFJTlRBSU5FUl9NT0RFX1RSVUUgTUFJTlRBSU5FUl9NT0RFX0ZBTFNFIE1BSU5UIEdFTklOU1JDX05FVkVSX1RSVUUgR0VOSU5TUkNfTkVWRVJfRkFMU0UgSERFRklORVMgQ0NfRk9SX0JVSUxEIEVYRUVYVF9GT1JfQlVJTEQgREVNQU5HTEVSX05BTUUgQUxMT0NBIExJQklDT05WIExUTElCSUNPTlYgTkxNQ09OVl9ERUZTIEJVSUxEX05MTUNPTlYgQlVJTERfU1JDT05WIEJVSUxEX0RMTFRPT0wgRExMVE9PTF9ERUZTIEJVSUxEX1dJTkRSRVMgQlVJTERfV0lORE1DIEJVSUxEX0RMTFdSQVAgQlVJTERfTUlTQyBCVUlMRF9JTlNUQUxMX01JU0MgT0JKRFVNUF9ERUZTIEVNVUxBVElPTiBFTVVMQVRJT05fVkVDVE9SIGRhdGFyb290ZGlyIGRvY2RpciBodG1sZGlyIExJQk9CSlMgTFRMSUJPQkpTJworYWNfc3Vic3RfdmFycz0nU0hFTEwgUEFUSF9TRVBBUkFUT1IgUEFDS0FHRV9OQU1FIFBBQ0tBR0VfVEFSTkFNRSBQQUNLQUdFX1ZFUlNJT04gUEFDS0FHRV9TVFJJTkcgUEFDS0FHRV9CVUdSRVBPUlQgZXhlY19wcmVmaXggcHJlZml4IHByb2dyYW1fdHJhbnNmb3JtX25hbWUgYmluZGlyIHNiaW5kaXIgbGliZXhlY2RpciBkYXRhZGlyIHN5c2NvbmZkaXIgc2hhcmVkc3RhdGVkaXIgbG9jYWxzdGF0ZWRpciBsaWJkaXIgaW5jbHVkZWRpciBvbGRpbmNsdWRlZGlyIGluZm9kaXIgbWFuZGlyIGJ1aWxkX2FsaWFzIGhvc3RfYWxpYXMgdGFyZ2V0X2FsaWFzIERFRlMgRUNIT19DIEVDSE9fTiBFQ0hPX1QgTElCUyBidWlsZCBidWlsZF9jcHUgYnVpbGRfdmVuZG9yIGJ1aWxkX29zIGhvc3QgaG9zdF9jcHUgaG9zdF92ZW5kb3IgaG9zdF9vcyB0YXJnZXQgdGFyZ2V0X2NwdSB0YXJnZXRfdmVuZG9yIHRhcmdldF9vcyBDQyBDRkxBR1MgTERGTEFHUyBDUFBGTEFHUyBhY19jdF9DQyBFWEVFWFQgT0JKRVhUIElOU1RBTExfUFJPR1JBTSBJTlNUQUxMX1NDUklQVCBJTlNUQUxMX0RBVEEgQ1lHUEFUSF9XIFBBQ0tBR0UgVkVSU0lPTiBBQ0xPQ0FMIEFVVE9DT05GIEFVVE9NQUtFIEFVVE9IRUFERVIgTUFLRUlORk8gaW5zdGFsbF9zaCBTVFJJUCBhY19jdF9TVFJJUCBJTlNUQUxMX1NUUklQX1BST0dSQU0gbWtkaXJfcCBBV0sgU0VUX01BS0UgYW1fX2xlYWRpbmdfZG90IEFNVEFSIGFtX190YXIgYW1fX3VudGFyIERFUERJUiBhbV9faW5jbHVkZSBhbV9fcXVvdGUgQU1ERVBfVFJVRSBBTURFUF9GQUxTRSBBTURFUEJBQ0tTTEFTSCBDQ0RFUE1PREUgYW1fX2Zhc3RkZXBDQ19UUlVFIGFtX19mYXN0ZGVwQ0NfRkFMU0UgQ1BQIEVHUkVQIExJQlRPT0wgU0VEIEZHUkVQIEdSRVAgTEQgRFVNUEJJTiBhY19jdF9EVU1QQklOIE5NIExOX1MgT0JKRFVNUCBhY19jdF9PQkpEVU1QIEFSIGFjX2N0X0FSIFJBTkxJQiBhY19jdF9SQU5MSUIgbHRfRUNITyBEU1lNVVRJTCBhY19jdF9EU1lNVVRJTCBOTUVESVQgYWNfY3RfTk1FRElUIExJUE8gYWNfY3RfTElQTyBPVE9PTCBhY19jdF9PVE9PTCBPVE9PTDY0IGFjX2N0X09UT09MNjQgV0FSTl9DRkxBR1MgTk9fV0VSUk9SIFlBQ0MgTEVYIExFWExJQiBMRVhfT1VUUFVUX1JPT1QgVVNFX05MUyBMSUJJTlRMIExJQklOVExfREVQIElOQ0lOVEwgWEdFVFRFWFQgR01TR0ZNVCBQT1NVQiBDQVRBTE9HUyBEQVRBRElSTkFNRSBJTlNUT0JKRVhUIEdFTkNBVCBDQVRPQkpFWFQgTUtJTlNUQUxMRElSUyBNU0dGTVQgTVNHTUVSR0UgTUFJTlRBSU5FUl9NT0RFX1RSVUUgTUFJTlRBSU5FUl9NT0RFX0ZBTFNFIE1BSU5UIEdFTklOU1JDX05FVkVSX1RSVUUgR0VOSU5TUkNfTkVWRVJfRkFMU0UgSERFRklORVMgQ0NfRk9SX0JVSUxEIEVYRUVYVF9GT1JfQlVJTEQgREVNQU5HTEVSX05BTUUgQUxMT0NBIExJQklDT05WIExUTElCSUNPTlYgTkxNQ09OVl9ERUZTIEJVSUxEX05MTUNPTlYgQlVJTERfU1JDT05WIEJVSUxEX0RMTFRPT0wgRExMVE9PTF9ERUZTIEJVSUxEX1dJTkRSRVMgQlVJTERfV0lORE1DIEJVSUxEX0RMTFdSQVAgQlVJTERfTUlTQyBCVUlMRF9JTlNUQUxMX01JU0MgT0JKRFVNUF9ERUZTIEVNVUxBVElPTiBFTVVMQVRJT05fVkVDVE9SIGRhdGFyb290ZGlyIGRvY2RpciBodG1sZGlyIExJQk9CSlMgTFRMSUJPQkpTJwogYWNfc3Vic3RfZmlsZXM9JycKIGFjX3B3ZD1gcHdkYAogCkBAIC0xMDAyLDYgKzEwMDIsNyBAQAogICAtLWVuYWJsZS1GRUFUVVJFWz1BUkddICBpbmNsdWRlIEZFQVRVUkUgW0FSRz15ZXNdCiAgIC0tZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nICBzcGVlZHMgdXAgb25lLXRpbWUgYnVpbGQKICAgLS1lbmFibGUtZGVwZW5kZW5jeS10cmFja2luZyAgIGRvIG5vdCByZWplY3Qgc2xvdyBkZXBlbmRlbmN5IGV4dHJhY3RvcnMKKyAgLS1kaXNhYmxlLWxhcmdlZmlsZSAgICAgb21pdCBzdXBwb3J0IGZvciBsYXJnZSBmaWxlcwogICAtLWVuYWJsZS1zaGFyZWRbPVBLR1NdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMgW2RlZmF1bHQ9eWVzXQogICAtLWVuYWJsZS1zdGF0aWNbPVBLR1NdCkBAIC00NzM1LDEwICs0NzM2LDM4MSBAQAogX0FDRU9GCiAKIAorIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxhcmdlZmlsZSBvciAtLWRpc2FibGUtbGFyZ2VmaWxlIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7ZW5hYmxlX2xhcmdlZmlsZStzZXR9IiA9IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRlbmFibGVfbGFyZ2VmaWxlIgorCitmaTsKK2lmIHRlc3QgIiRlbmFibGVfbGFyZ2VmaWxlIiAhPSBubzsgdGhlbgorCisgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3Igc3BlY2lhbCBDIGNvbXBpbGVyIG9wdGlvbnMgbmVlZGVkIGZvciBsYXJnZSBmaWxlcyIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBzcGVjaWFsIEMgY29tcGlsZXIgb3B0aW9ucyBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9zeXNfbGFyZ2VmaWxlX0NDK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGFjX2N2X3N5c19sYXJnZWZpbGVfQ0M9bm8KKyAgICAgaWYgdGVzdCAiJEdDQyIgIT0geWVzOyB0aGVuCisgICAgICAgYWNfc2F2ZV9DQz0kQ0MKKyAgICAgICB3aGlsZSA6OyBkbworICAgICAJICMgSVJJWCA2LjIgYW5kIGxhdGVyIGRvIG5vdCBzdXBwb3J0IGxhcmdlIGZpbGVzIGJ5IGRlZmF1bHQsCisgICAgIAkgIyBzbyB1c2UgdGhlIEMgY29tcGlsZXIncyAtbjMyIG9wdGlvbiBpZiB0aGF0IGhlbHBzLgorCSBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGNvbmZkZWZzLmguICAqLworX0FDRU9GCitjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK2NhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4KKyAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCisgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycworICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KKyNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQorICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKKwkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQorCQkgICAgICA/IDEgOiAtMV07CitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCisgICAgIAkgcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CisgIChldmFsICRhY19jb21waWxlKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorICBicmVhaworZWxzZQorICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQKKyAgICAgCSBDQz0iJENDIC1uMzIiCisgICAgIAkgcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CisgIChldmFsICRhY19jb21waWxlKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorICBhY19jdl9zeXNfbGFyZ2VmaWxlX0NDPScgLW4zMic7IGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dAorCSBicmVhaworICAgICAgIGRvbmUKKyAgICAgICBDQz0kYWNfc2F2ZV9DQworICAgICAgIHJtIC1mIGNvbmZ0ZXN0LiRhY19leHQKKyAgICBmaQorZmkKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9zeXNfbGFyZ2VmaWxlX0NDIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdl9zeXNfbGFyZ2VmaWxlX0NDIiA+JjYKKyAgaWYgdGVzdCAiJGFjX2N2X3N5c19sYXJnZWZpbGVfQ0MiICE9IG5vOyB0aGVuCisgICAgQ0M9JENDJGFjX2N2X3N5c19sYXJnZWZpbGVfQ0MKKyAgZmkKKworICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIF9GSUxFX09GRlNFVF9CSVRTIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgX0ZJTEVfT0ZGU0VUX0JJVFMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcy4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHMrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgd2hpbGUgOjsgZG8KKyAgYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHM9bm8KKyAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBjb25mZGVmcy5oLiAgKi8KK19BQ0VPRgorY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CitjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgLyogQ2hlY2sgdGhhdCBvZmZfdCBjYW4gcmVwcmVzZW50IDIqKjYzIC0gMSBjb3JyZWN0bHkuCisgICAgV2UgY2FuJ3Qgc2ltcGx5IGRlZmluZSBMQVJHRV9PRkZfVCB0byBiZSA5MjIzMzcyMDM2ODU0Nzc1ODA3LAorICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBjb21waWxlcnMKKyAgICBpbmNvcnJlY3RseSByZWplY3QgOTIyMzM3MjAzNjg1NDc3NTgwNy4gICovCisjZGVmaW5lIExBUkdFX09GRl9UICgoKG9mZl90KSAxIDw8IDYyKSAtIDEgKyAoKG9mZl90KSAxIDw8IDYyKSkKKyAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCisJCSAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKKwkJICAgICAgPyAxIDogLTFdOworaW50CittYWluICgpCit7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CisgIChldmFsICRhY19jb21waWxlKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorICBicmVhaworZWxzZQorICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGNvbmZkZWZzLmguICAqLworX0FDRU9GCitjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK2NhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4KKyAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCisgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycworICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KKyNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQorICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKKwkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQorCQkgICAgICA/IDEgOiAtMV07CitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzPTY0OyBicmVhaworZWxzZQorICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorICBicmVhaworZG9uZQorZmkKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cyIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHMiID4mNgoraWYgdGVzdCAiJGFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzIiAhPSBubzsgdGhlbgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTICRhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cworX0FDRU9GCisKK2ZpCitybSAtZiBjb25mdGVzdCoKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBfTEFSR0VfRklMRVMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcyIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBfTEFSR0VfRklMRVMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcy4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3Zfc3lzX2xhcmdlX2ZpbGVzK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIHdoaWxlIDo7IGRvCisgIGFjX2N2X3N5c19sYXJnZV9maWxlcz1ubworICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGNvbmZkZWZzLmguICAqLworX0FDRU9GCitjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK2NhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4KKyAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCisgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycworICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KKyNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQorICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKKwkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQorCQkgICAgICA/IDEgOiAtMV07CitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CisgIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogY29uZmRlZnMuaC4gICovCitfQUNFT0YKK2NhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2RlZmluZSBfTEFSR0VfRklMRVMgMQorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIC8qIENoZWNrIHRoYXQgb2ZmX3QgY2FuIHJlcHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5LgorICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKKyAgICBzaW5jZSBzb21lIEMrKyBjb21waWxlcnMgbWFzcXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCisgICAgaW5jb3JyZWN0bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLworI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCisgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQorCQkgICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCisJCSAgICAgID8gMSA6IC0xXTsKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK3JtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKK2lmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorICAoZXZhbCAkYWNfY29tcGlsZSkgMj5jb25mdGVzdC5lcjEKKyAgYWNfc3RhdHVzPSQ/CisgIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCisgIHJtIC1mIGNvbmZ0ZXN0LmVyMQorICBjYXQgY29uZnRlc3QuZXJyID4mNQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC16ICIkYWNfY193ZXJyb3JfZmxhZyIKKwkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyJworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKyAgYWNfY3Zfc3lzX2xhcmdlX2ZpbGVzPTE7IGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CisgIGJyZWFrCitkb25lCitmaQorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X3N5c19sYXJnZV9maWxlcyIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3Zfc3lzX2xhcmdlX2ZpbGVzIiA+JjYKK2lmIHRlc3QgIiRhY19jdl9zeXNfbGFyZ2VfZmlsZXMiICE9IG5vOyB0aGVuCisKK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgX0xBUkdFX0ZJTEVTICRhY19jdl9zeXNfbGFyZ2VfZmlsZXMKK19BQ0VPRgorCitmaQorcm0gLWYgY29uZnRlc3QqCitmaQorCitjYXNlIGBwd2RgIGluCisgICpcICogfCAqXAkqKQorICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IExpYnRvb2wgZG9lcyBub3QgY29wZSB3ZWxsIHdpdGggd2hpdGVzcGFjZSBpbiBcYHB3ZFxgIiA+JjUKK2VjaG8gIiRhc19tZTogV0FSTklORzogTGlidG9vbCBkb2VzIG5vdCBjb3BlIHdlbGwgd2l0aCB3aGl0ZXNwYWNlIGluIFxgcHdkXGAiID4mMjt9IDs7Citlc2FjCiAKIAotbWFjcm9fdmVyc2lvbj0nMi4xYScKLW1hY3JvX3JldmlzaW9uPScxLjI0MzUnCisKK21hY3JvX3ZlcnNpb249JzIuMi42JworbWFjcm9fcmV2aXNpb249JzEuMzAxMicKKwogCiAKIApAQCAtNDc1MywxMjQgKzUxMjUsNiBAQAogCiBsdG1haW49IiRhY19hdXhfZGlyL2x0bWFpbi5zaCIKIAotIyBTZXQgb3B0aW9ucwotCi1lbmFibGVfZGxvcGVuPW5vCi0KLQotZW5hYmxlX3dpbjMyX2RsbD1ubwotCi0KLSMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1zaGFyZWQgb3IgLS1kaXNhYmxlLXNoYXJlZCB3YXMgZ2l2ZW4uCi1pZiB0ZXN0ICIke2VuYWJsZV9zaGFyZWQrc2V0fSIgPSBzZXQ7IHRoZW4KLSAgZW5hYmxldmFsPSIkZW5hYmxlX3NoYXJlZCIKLSAgcD0ke1BBQ0tBR0UtZGVmYXVsdH0KLSAgICBjYXNlICRlbmFibGV2YWwgaW4KLSAgICB5ZXMpIGVuYWJsZV9zaGFyZWQ9eWVzIDs7Ci0gICAgbm8pIGVuYWJsZV9zaGFyZWQ9bm8gOzsKLSAgICAqKQotICAgICAgZW5hYmxlX3NoYXJlZD1ubwotICAgICAgIyBMb29rIGF0IHRoZSBhcmd1bWVudCB3ZSBnb3QuICBXZSB1c2UgYWxsIHRoZSBjb21tb24gbGlzdCBzZXBhcmF0b3JzLgotICAgICAgbHRfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSRQQVRIX1NFUEFSQVRPUiwiCi0gICAgICBmb3IgcGtnIGluICRlbmFibGV2YWw7IGRvCi0JSUZTPSIkbHRfc2F2ZV9pZnMiCi0JaWYgdGVzdCAiWCRwa2ciID0gIlgkcCI7IHRoZW4KLQkgIGVuYWJsZV9zaGFyZWQ9eWVzCi0JZmkKLSAgICAgIGRvbmUKLSAgICAgIElGUz0iJGx0X3NhdmVfaWZzIgotICAgICAgOzsKLSAgICBlc2FjCi1lbHNlCi0gIGVuYWJsZV9zaGFyZWQ9eWVzCi1maTsKLQotCi0KLQotCi0KLQotCi0jIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtc3RhdGljIG9yIC0tZGlzYWJsZS1zdGF0aWMgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVfc3RhdGljK3NldH0iID0gc2V0OyB0aGVuCi0gIGVuYWJsZXZhbD0iJGVuYWJsZV9zdGF0aWMiCi0gIHA9JHtQQUNLQUdFLWRlZmF1bHR9Ci0gICAgY2FzZSAkZW5hYmxldmFsIGluCi0gICAgeWVzKSBlbmFibGVfc3RhdGljPXllcyA7OwotICAgIG5vKSBlbmFibGVfc3RhdGljPW5vIDs7Ci0gICAgKikKLSAgICAgZW5hYmxlX3N0YXRpYz1ubwotICAgICAgIyBMb29rIGF0IHRoZSBhcmd1bWVudCB3ZSBnb3QuICBXZSB1c2UgYWxsIHRoZSBjb21tb24gbGlzdCBzZXBhcmF0b3JzLgotICAgICAgbHRfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSRQQVRIX1NFUEFSQVRPUiwiCi0gICAgICBmb3IgcGtnIGluICRlbmFibGV2YWw7IGRvCi0JSUZTPSIkbHRfc2F2ZV9pZnMiCi0JaWYgdGVzdCAiWCRwa2ciID0gIlgkcCI7IHRoZW4KLQkgIGVuYWJsZV9zdGF0aWM9eWVzCi0JZmkKLSAgICAgIGRvbmUKLSAgICAgIElGUz0iJGx0X3NhdmVfaWZzIgotICAgICAgOzsKLSAgICBlc2FjCi1lbHNlCi0gIGVuYWJsZV9zdGF0aWM9eWVzCi1maTsKLQotCi0KLQotCi0KLQotCi0KLSMgQ2hlY2sgd2hldGhlciAtLXdpdGgtcGljIG9yIC0td2l0aG91dC1waWMgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHt3aXRoX3BpYytzZXR9IiA9IHNldDsgdGhlbgotICB3aXRodmFsPSIkd2l0aF9waWMiCi0gIHBpY19tb2RlPSIkd2l0aHZhbCIKLWVsc2UKLSAgcGljX21vZGU9ZGVmYXVsdAotZmk7Ci0KLXRlc3QgLXogIiRwaWNfbW9kZSIgJiYgcGljX21vZGU9ZGVmYXVsdAotCi0KLQotCi0KLQotCi0jIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtZmFzdC1pbnN0YWxsIG9yIC0tZGlzYWJsZS1mYXN0LWluc3RhbGwgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVfZmFzdF9pbnN0YWxsK3NldH0iID0gc2V0OyB0aGVuCi0gIGVuYWJsZXZhbD0iJGVuYWJsZV9mYXN0X2luc3RhbGwiCi0gIHA9JHtQQUNLQUdFLWRlZmF1bHR9Ci0gICAgY2FzZSAkZW5hYmxldmFsIGluCi0gICAgeWVzKSBlbmFibGVfZmFzdF9pbnN0YWxsPXllcyA7OwotICAgIG5vKSBlbmFibGVfZmFzdF9pbnN0YWxsPW5vIDs7Ci0gICAgKikKLSAgICAgIGVuYWJsZV9mYXN0X2luc3RhbGw9bm8KLSAgICAgICMgTG9vayBhdCB0aGUgYXJndW1lbnQgd2UgZ290LiAgV2UgdXNlIGFsbCB0aGUgY29tbW9uIGxpc3Qgc2VwYXJhdG9ycy4KLSAgICAgIGx0X3NhdmVfaWZzPSIkSUZTIjsgSUZTPSIke0lGU30kUEFUSF9TRVBBUkFUT1IsIgotICAgICAgZm9yIHBrZyBpbiAkZW5hYmxldmFsOyBkbwotCUlGUz0iJGx0X3NhdmVfaWZzIgotCWlmIHRlc3QgIlgkcGtnIiA9ICJYJHAiOyB0aGVuCi0JICBlbmFibGVfZmFzdF9pbnN0YWxsPXllcwotCWZpCi0gICAgICBkb25lCi0gICAgICBJRlM9IiRsdF9zYXZlX2lmcyIKLSAgICAgIDs7Ci0gICAgZXNhYwotZWxzZQotICBlbmFibGVfZmFzdF9pbnN0YWxsPXllcwotZmk7Ci0KLQotCi0KLQotCi0KLQogZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dCIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dC4uLiAkRUNIT19DIiA+JjYKIGlmIHRlc3QgIiR7bHRfY3ZfcGF0aF9TRUQrc2V0fSIgPSBzZXQ7IHRoZW4KQEAgLTUwOTEsNyArNTM0NSw2IEBACiAKIAogCi0KIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgQlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSkiID4mNQogZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgQlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSkuLi4gJEVDSE9fQyIgPiY2CiBpZiB0ZXN0ICIke2x0X2N2X3BhdGhfTk0rc2V0fSIgPSBzZXQ7IHRoZW4KQEAgLTUyNTMsMTMgKzU1MDYsMTMgQEAKIGVsc2UKICAgbHRfY3Zfbm1faW50ZXJmYWNlPSJCU0Qgbm0iCiAgIGVjaG8gImludCBzb21lX3ZhcmlhYmxlID0gMDsiID4gY29uZnRlc3QuJGFjX2V4dAotICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NTI1NjogJGFjX2NvbXBpbGVcIiIgPiY1KQorICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NTUwOTogJGFjX2NvbXBpbGVcIiIgPiY1KQogICAoZXZhbCAiJGFjX2NvbXBpbGUiIDI+Y29uZnRlc3QuZXJyKQogICBjYXQgY29uZnRlc3QuZXJyID4mNQotICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NTI1OTogJE5NIFxcXCJjb25mdGVzdC4kYWNfb2JqZXh0XFxcIlwiIiA+JjUpCisgIChldmFsIGVjaG8gIlwiXCRhc19tZTo1NTEyOiAkTk0gXFxcImNvbmZ0ZXN0LiRhY19vYmpleHRcXFwiXCIiID4mNSkKICAgKGV2YWwgIiROTSBcImNvbmZ0ZXN0LiRhY19vYmpleHRcIiIgMj5jb25mdGVzdC5lcnIgPiBjb25mdGVzdC5vdXQpCiAgIGNhdCBjb25mdGVzdC5lcnIgPiY1Ci0gIChldmFsIGVjaG8gIlwiXCRhc19tZTo1MjYyOiBvdXRwdXRcIiIgPiY1KQorICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NTUxNTogb3V0cHV0XCIiID4mNSkKICAgY2F0IGNvbmZ0ZXN0Lm91dCA+JjUKICAgaWYgJEdSRVAgJ0V4dGVybmFsLipzb21lX3ZhcmlhYmxlJyBjb25mdGVzdC5vdXQgPiAvZGV2L251bGw7IHRoZW4KICAgICBsdF9jdl9ubV9pbnRlcmZhY2U9Ik1TIGR1bXBiaW4iCkBAIC01MzA1LDcgKzU1NTgsNyBAQAogICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj0tMTsKICAgICA7OwogCi0gIGN5Z3dpbiogfCBtaW5ndyopCisgIGN5Z3dpbiogfCBtaW5ndyogfCBjZWdjYyopCiAgICAgIyBPbiBXaW45eC9NRSwgdGhpcyB0ZXN0IGJsb3dzIHVwIC0tIGl0IHN1Y2NlZWRzLCBidXQgdGFrZXMKICAgICAjIGFib3V0IDUgbWludXRlcyBhcyB0aGUgdGVzdHN0cmluZyBncm93cyBleHBvbmVudGlhbGx5LgogICAgICMgV29yc2UsIHNpbmNlIDl4L01FIGFyZSBub3QgcHJlLWVtcHRpdmVseSBtdWx0aXRhc2tpbmcsCkBAIC01MzY2LDggKzU2MTksOCBAQAogICAgIGZpCiAgICAgOzsKICAgKikKLSAgICBsdF9jdl9zeXNfbWF4X2NtZF9sZW49YGdldGNvbmYgQVJHX01BWCAyPiAvZGV2L251bGxgCi0gICAgaWYgdGVzdCAtbiAkbHRfY3Zfc3lzX21heF9jbWRfbGVuOyB0aGVuCisgICAgbHRfY3Zfc3lzX21heF9jbWRfbGVuPWAoZ2V0Y29uZiBBUkdfTUFYKSAyPiAvZGV2L251bGxgCisgICAgaWYgdGVzdCAtbiAiJGx0X2N2X3N5c19tYXhfY21kX2xlbiI7IHRoZW4KICAgICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj1gZXhwciAkbHRfY3Zfc3lzX21heF9jbWRfbGVuIFwvIDRgCiAgICAgICBsdF9jdl9zeXNfbWF4X2NtZF9sZW49YGV4cHIgJGx0X2N2X3N5c19tYXhfY21kX2xlbiBcKiAzYAogICAgIGVsc2UKQEAgLTU0MTQsNyArNTY2Nyw2IEBACiAKIAogCi0KIDogJHtDUD0iY3AgLWYifQogOiAke01WPSJtdiAtZiJ9CiA6ICR7Uk09InJtIC1mIn0KQEAgLTU0MjUsNyArNTY3Nyw5IEBACiB4c2lfc2hlbGw9bm8KICggX2x0X2R1bW15PSJhL2IvYyIKICAgdGVzdCAiJHtfbHRfZHVtbXkjIyovfSwke19sdF9kdW1teSUvKn0sIiR7X2x0X2R1bW15JSIkX2x0X2R1bW15In0sIFwKLSAgICAgID0gYyxhL2IsLCApID4vZGV2L251bGwgMj4mMSBcCisgICAgICA9IGMsYS9iLCwgXAorICAgICYmIGV2YWwgJ3Rlc3QgJCgoIDEgKyAxICkpIC1lcSAyIFwKKyAgICAmJiB0ZXN0ICIkeyNfbHRfZHVtbXl9IiAtZXEgNScgKSA+L2Rldi9udWxsIDI+JjEgXAogICAmJiB4c2lfc2hlbGw9eWVzCiBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkeHNpX3NoZWxsIiA+JjUKIGVjaG8gIiR7RUNIT19UfSR4c2lfc2hlbGwiID4mNgpAQCAtNTUwNSw2ICs1NzU5LDk1IEBACiAKIAogCitpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1vYmpkdW1wIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW9iamR1bXA7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfT0JKRFVNUCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkT0JKRFVNUCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19PQkpEVU1QPSIkT0JKRFVNUCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfT0JKRFVNUD0iJHthY190b29sX3ByZWZpeH1vYmpkdW1wIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKK2ZpCitmaQorT0JKRFVNUD0kYWNfY3ZfcHJvZ19PQkpEVU1QCitpZiB0ZXN0IC1uICIkT0JKRFVNUCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJE9CSkRVTVAiID4mNQorZWNobyAiJHtFQ0hPX1R9JE9CSkRVTVAiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfT0JKRFVNUCI7IHRoZW4KKyAgYWNfY3RfT0JKRFVNUD0kT0JKRFVNUAorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9iamR1bXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG9iamR1bXA7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfT0JKRFVNUCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9PQkpEVU1QPSIkYWNfY3RfT0JKRFVNUCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUD0ib2JqZHVtcCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCisgIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X09CSkRVTVAiICYmIGFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUD0iZmFsc2UiCitmaQorZmkKK2FjX2N0X09CSkRVTVA9JGFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUAoraWYgdGVzdCAtbiAiJGFjX2N0X09CSkRVTVAiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9PQkpEVU1QIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdF9PQkpEVU1QIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBPQkpEVU1QPSRhY19jdF9PQkpEVU1QCitlbHNlCisgIE9CSkRVTVA9IiRhY19jdl9wcm9nX09CSkRVTVAiCitmaQorCit0ZXN0IC16ICIkT0JKRFVNUCIgJiYgT0JKRFVNUD1vYmpkdW1wCisKKworCisKKworCisKKwogCiBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgaG93IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVzIiA+JjUKIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgaG93IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVzLi4uICRFQ0hPX0MiID4mNgpAQCAtNTU1OSw2ICs1OTAyLDEyIEBACiAgIGZpCiAgIDs7CiAKK2NlZ2NjKQorICAjIHVzZSB0aGUgd2Vha2VyIHRlc3QgYmFzZWQgb24gJ29iamR1bXAnLiBTZWUgbWluZ3cqLgorICBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD0nZmlsZV9tYWdpYyBmaWxlIGZvcm1hdCBwZS1hcm0tLipsaXR0bGUoLiphcmNoaXRlY3R1cmU6IGFybSk/JworICBsdF9jdl9maWxlX21hZ2ljX2NtZD0nJE9CSkRVTVAgLWYnCisgIDs7CisKIGRhcndpbiogfCByaGFwc29keSopCiAgIGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kPXBhc3NfYWxsCiAgIDs7CkBAIC01OTgxLDcgKzYzMzAsNyBAQAogCiAKICMgRGV0ZXJtaW5lIGNvbW1hbmRzIHRvIGNyZWF0ZSBvbGQtc3R5bGUgc3RhdGljIGFyY2hpdmVzLgotb2xkX2FyY2hpdmVfY21kcz0nJEFSICRBUl9GTEFHUyAkb2xkbGliJG9sZG9ianMkb2xkX2RlcGxpYnMnCitvbGRfYXJjaGl2ZV9jbWRzPSckQVIgJEFSX0ZMQUdTICRvbGRsaWIkb2xkb2JqcycKIG9sZF9wb3N0aW5zdGFsbF9jbWRzPSdjaG1vZCA2NDQgJG9sZGxpYicKIG9sZF9wb3N0dW5pbnN0YWxsX2NtZHM9CiAKQEAgLTYwNjEsNyArNjQxMCw3IEBACiBhaXgqKQogICBzeW1jb2RlPSdbQkNEVF0nCiAgIDs7Ci1jeWd3aW4qIHwgbWluZ3cqIHwgcHczMiopCitjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgIHN5bWNvZGU9J1tBQkNER0lTVFddJwogICA7OwogaHB1eCopCkBAIC02MTA1LDYgKzY0NTQsNyBAQAogCiAjIFRyYW5zZm9ybSBhbiBleHRyYWN0ZWQgc3ltYm9sIGxpbmUgaW50byBzeW1ib2wgbmFtZSBhbmQgc3ltYm9sIGFkZHJlc3MKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSJzZWQgLW4gLWUgJ3MvXjogXChbXiBdKlwpICQvICB7XFxcIlwxXFxcIiwgKHZvaWQgKikgMH0sL3AnIC1lICdzL14kc3ltY29kZSogXChbXiBdKlwpIFwoW14gXSpcKSQvICB7XCJcMlwiLCAodm9pZCAqKSBcJlwyfSwvcCciCitsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSJzZWQgLW4gLWUgJ3MvXjogXChbXiBdKlwpICQvICB7XFxcIlwxXFxcIiwgKHZvaWQgKikgMH0sL3AnIC1lICdzL14kc3ltY29kZSogXChbXiBdKlwpIFwobGliW14gXSpcKSQvICB7XCJcMlwiLCAodm9pZCAqKSBcJlwyfSwvcCcgLWUgJ3MvXiRzeW1jb2RlKiBcKFteIF0qXCkgXChbXiBdKlwpJC8gIHtcImxpYlwyXCIsICh2b2lkICopIFwmXDJ9LC9wJyIKIAogIyBIYW5kbGUgQ1JMRiBpbiBtaW5ndyB0b29sIGNoYWluCiBvcHRfY3I9CkBAIC02MjQ0LDcgKzY1OTQsNyBAQAogICAgIGVjaG8gIiRwcm9nbmFtZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CiAgICAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CiAgIGZpCi0gIHJtIC1mIGNvbmZ0ZXN0KiBjb25mdHN0KgorICBybSAtcmYgY29uZnRlc3QqIGNvbmZ0c3QqCiAKICAgIyBEbyBub3QgdXNlIHRoZSBnbG9iYWxfc3ltYm9sX3BpcGUgdW5sZXNzIGl0IHdvcmtzLgogICBpZiB0ZXN0ICIkcGlwZV93b3JrcyIgPSB5ZXM7IHRoZW4KQEAgLTYyODMsNiArNjYzMywxMSBAQAogCiAKIAorCisKKworCisKICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1saWJ0b29sLWxvY2sgb3IgLS1kaXNhYmxlLWxpYnRvb2wtbG9jayB3YXMgZ2l2ZW4uCiBpZiB0ZXN0ICIke2VuYWJsZV9saWJ0b29sX2xvY2src2V0fSIgPSBzZXQ7IHRoZW4KICAgZW5hYmxldmFsPSIkZW5hYmxlX2xpYnRvb2xfbG9jayIKQEAgLTYzMTQsNyArNjY2OSw3IEBACiAgIDs7CiAqLSotaXJpeDYqKQogICAjIEZpbmQgb3V0IHdoaWNoIEFCSSB3ZSBhcmUgdXNpbmcuCi0gIGVjaG8gJyNsaW5lIDYzMTcgImNvbmZpZ3VyZSInID4gY29uZnRlc3QuJGFjX2V4dAorICBlY2hvICcjbGluZSA2NjcyICJjb25maWd1cmUiJyA+IGNvbmZ0ZXN0LiRhY19leHQKICAgaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CiAgIChldmFsICRhY19jb21waWxlKSAyPiY1CiAgIGFjX3N0YXR1cz0kPwpAQCAtNjQ4OSw3ICs2ODQ0LDExIEBACiAgICAgKjY0LWJpdCopCiAgICAgICBjYXNlICRsdF9jdl9wcm9nX2dudV9sZCBpbgogICAgICAgeWVzKikgTEQ9IiR7TEQtbGR9IC1tIGVsZjY0X3NwYXJjIiA7OwotICAgICAgKikgICAgTEQ9IiR7TEQtbGR9IC02NCIgOzsKKyAgICAgICopCisJaWYgJHtMRC1sZH0gLTY0IC1yIC1vIGNvbmZ0ZXN0Mi5vIGNvbmZ0ZXN0Lm8gPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJICBMRD0iJHtMRC1sZH0gLTY0IgorCWZpCisJOzsKICAgICAgIGVzYWMKICAgICAgIDs7CiAgICAgZXNhYwpAQCAtNjUwMSw2ICs2ODYwLDU1OSBAQAogbmVlZF9sb2Nrcz0iJGVuYWJsZV9saWJ0b29sX2xvY2siCiAKIAorICBjYXNlICRob3N0X29zIGluCisgICAgcmhhcHNvZHkqIHwgZGFyd2luKikKKyAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1kc3ltdXRpbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1kc3ltdXRpbDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19EU1lNVVRJTCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkRFNZTVVUSUwiOyB0aGVuCisgIGFjX2N2X3Byb2dfRFNZTVVUSUw9IiREU1lNVVRJTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfRFNZTVVUSUw9IiR7YWNfdG9vbF9wcmVmaXh9ZHN5bXV0aWwiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitEU1lNVVRJTD0kYWNfY3ZfcHJvZ19EU1lNVVRJTAoraWYgdGVzdCAtbiAiJERTWU1VVElMIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkRFNZTVVUSUwiID4mNQorZWNobyAiJHtFQ0hPX1R9JERTWU1VVElMIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworZmkKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX0RTWU1VVElMIjsgdGhlbgorICBhY19jdF9EU1lNVVRJTD0kRFNZTVVUSUwKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJkc3ltdXRpbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgZHN5bXV0aWw7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfRFNZTVVUSUwrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X0RTWU1VVElMIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMPSIkYWNfY3RfRFNZTVVUSUwiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMPSJkc3ltdXRpbCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCisgIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMIiAmJiBhY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMPSI6IgorZmkKK2ZpCithY19jdF9EU1lNVVRJTD0kYWNfY3ZfcHJvZ19hY19jdF9EU1lNVVRJTAoraWYgdGVzdCAtbiAiJGFjX2N0X0RTWU1VVElMIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfRFNZTVVUSUwiID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N0X0RTWU1VVElMIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBEU1lNVVRJTD0kYWNfY3RfRFNZTVVUSUwKK2Vsc2UKKyAgRFNZTVVUSUw9IiRhY19jdl9wcm9nX0RTWU1VVElMIgorZmkKKworICAgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW5tZWRpdCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1ubWVkaXQ7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfTk1FRElUK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiROTUVESVQiOyB0aGVuCisgIGFjX2N2X3Byb2dfTk1FRElUPSIkTk1FRElUIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19OTUVESVQ9IiR7YWNfdG9vbF9wcmVmaXh9bm1lZGl0IgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKK2ZpCitmaQorTk1FRElUPSRhY19jdl9wcm9nX05NRURJVAoraWYgdGVzdCAtbiAiJE5NRURJVCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJE5NRURJVCIgPiY1CitlY2hvICIke0VDSE9fVH0kTk1FRElUIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworZmkKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX05NRURJVCI7IHRoZW4KKyAgYWNfY3RfTk1FRElUPSROTUVESVQKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJubWVkaXQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG5tZWRpdDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9OTUVESVQrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X05NRURJVCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9OTUVESVQ9IiRhY19jdF9OTUVESVQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X05NRURJVD0ibm1lZGl0IgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfTk1FRElUIiAmJiBhY19jdl9wcm9nX2FjX2N0X05NRURJVD0iOiIKK2ZpCitmaQorYWNfY3RfTk1FRElUPSRhY19jdl9wcm9nX2FjX2N0X05NRURJVAoraWYgdGVzdCAtbiAiJGFjX2N0X05NRURJVCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X05NRURJVCIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3RfTk1FRElUIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBOTUVESVQ9JGFjX2N0X05NRURJVAorZWxzZQorICBOTUVESVQ9IiRhY19jdl9wcm9nX05NRURJVCIKK2ZpCisKKyAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1saXBvIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWxpcG87IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfTElQTytzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkTElQTyI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19MSVBPPSIkTElQTyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfTElQTz0iJHthY190b29sX3ByZWZpeH1saXBvIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKK2ZpCitmaQorTElQTz0kYWNfY3ZfcHJvZ19MSVBPCitpZiB0ZXN0IC1uICIkTElQTyI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJExJUE8iID4mNQorZWNobyAiJHtFQ0hPX1R9JExJUE8iID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfTElQTyI7IHRoZW4KKyAgYWNfY3RfTElQTz0kTElQTworICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImxpcG8iLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IGxpcG87IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfTElQTytzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfTElQTyI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9MSVBPPSIkYWNfY3RfTElQTyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfTElQTz0ibGlwbyIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCisgIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X0xJUE8iICYmIGFjX2N2X3Byb2dfYWNfY3RfTElQTz0iOiIKK2ZpCitmaQorYWNfY3RfTElQTz0kYWNfY3ZfcHJvZ19hY19jdF9MSVBPCitpZiB0ZXN0IC1uICIkYWNfY3RfTElQTyI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X0xJUE8iID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N0X0xJUE8iID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCisgIExJUE89JGFjX2N0X0xJUE8KK2Vsc2UKKyAgTElQTz0iJGFjX2N2X3Byb2dfTElQTyIKK2ZpCisKKyAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1vdG9vbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vdG9vbDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PVE9PTCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkT1RPT0wiOyB0aGVuCisgIGFjX2N2X3Byb2dfT1RPT0w9IiRPVE9PTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfT1RPT0w9IiR7YWNfdG9vbF9wcmVmaXh9b3Rvb2wiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitPVE9PTD0kYWNfY3ZfcHJvZ19PVE9PTAoraWYgdGVzdCAtbiAiJE9UT09MIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkT1RPT0wiID4mNQorZWNobyAiJHtFQ0hPX1R9JE9UT09MIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworZmkKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX09UT09MIjsgdGhlbgorICBhY19jdF9PVE9PTD0kT1RPT0wKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJvdG9vbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgb3Rvb2w7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfT1RPT0wrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X09UT09MIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09UT09MPSIkYWNfY3RfT1RPT0wiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X09UT09MPSJvdG9vbCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCisgIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X09UT09MIiAmJiBhY19jdl9wcm9nX2FjX2N0X09UT09MPSI6IgorZmkKK2ZpCithY19jdF9PVE9PTD0kYWNfY3ZfcHJvZ19hY19jdF9PVE9PTAoraWYgdGVzdCAtbiAiJGFjX2N0X09UT09MIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfT1RPT0wiID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N0X09UT09MIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBPVE9PTD0kYWNfY3RfT1RPT0wKK2Vsc2UKKyAgT1RPT0w9IiRhY19jdl9wcm9nX09UT09MIgorZmkKKworICAgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW90b29sNjQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9b3Rvb2w2NDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PVE9PTDY0K3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRPVE9PTDY0IjsgdGhlbgorICBhY19jdl9wcm9nX09UT09MNjQ9IiRPVE9PTDY0IiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19PVE9PTDY0PSIke2FjX3Rvb2xfcHJlZml4fW90b29sNjQiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitPVE9PTDY0PSRhY19jdl9wcm9nX09UT09MNjQKK2lmIHRlc3QgLW4gIiRPVE9PTDY0IjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkT1RPT0w2NCIgPiY1CitlY2hvICIke0VDSE9fVH0kT1RPT0w2NCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKK2ZpCitpZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19PVE9PTDY0IjsgdGhlbgorICBhY19jdF9PVE9PTDY0PSRPVE9PTDY0CisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAib3Rvb2w2NCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgb3Rvb2w2NDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PVE9PTDY0K3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRhY19jdF9PVE9PTDY0IjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09UT09MNjQ9IiRhY19jdF9PVE9PTDY0IiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19hY19jdF9PVE9PTDY0PSJvdG9vbDY0IgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w2NCIgJiYgYWNfY3ZfcHJvZ19hY19jdF9PVE9PTDY0PSI6IgorZmkKK2ZpCithY19jdF9PVE9PTDY0PSRhY19jdl9wcm9nX2FjX2N0X09UT09MNjQKK2lmIHRlc3QgLW4gIiRhY19jdF9PVE9PTDY0IjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfT1RPT0w2NCIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3RfT1RPT0w2NCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKKyAgT1RPT0w2ND0kYWNfY3RfT1RPT0w2NAorZWxzZQorICBPVE9PTDY0PSIkYWNfY3ZfcHJvZ19PVE9PTDY0IgorZmkKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIC1zaW5nbGVfbW9kdWxlIGxpbmtlciBmbGFnIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIC1zaW5nbGVfbW9kdWxlIGxpbmtlciBmbGFnLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHtsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Q9bm8KKyAgICAgIGlmIHRlc3QgLXogIiR7TFRfTVVMVElfTU9EVUxFfSI7IHRoZW4KKwkjIEJ5IGRlZmF1bHQgd2Ugd2lsbCBhZGQgdGhlIC1zaW5nbGVfbW9kdWxlIGZsYWcuIFlvdSBjYW4gb3ZlcnJpZGUKKwkjIGJ5IGVpdGhlciBzZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBMVF9NVUxUSV9NT0RVTEUKKwkjIG5vbi1lbXB0eSBhdCBjb25maWd1cmUgdGltZSwgb3IgYnkgYWRkaW5nIC1tdWx0aV9tb2R1bGUgdG8gdGhlCisJIyBsaW5rIGZsYWdzLgorCXJtIC1yZiBsaWJjb25mdGVzdC5keWxpYioKKwllY2hvICJpbnQgZm9vKHZvaWQpe3JldHVybiAxO30iID4gY29uZnRlc3QuYworCWVjaG8gIiRMVENDICRMVENGTEFHUyAkTERGTEFHUyAtbyBsaWJjb25mdGVzdC5keWxpYiBcCistZHluYW1pY2xpYiAtV2wsLXNpbmdsZV9tb2R1bGUgY29uZnRlc3QuYyIgPiY1CisJJExUQ0MgJExUQ0ZMQUdTICRMREZMQUdTIC1vIGxpYmNvbmZ0ZXN0LmR5bGliIFwKKwkgIC1keW5hbWljbGliIC1XbCwtc2luZ2xlX21vZHVsZSBjb25mdGVzdC5jIDI+Y29uZnRlc3QuZXJyCisgICAgICAgIF9sdF9yZXN1bHQ9JD8KKwlpZiB0ZXN0IC1mIGxpYmNvbmZ0ZXN0LmR5bGliICYmIHRlc3QgISAtcyBjb25mdGVzdC5lcnIgJiYgdGVzdCAkX2x0X3Jlc3VsdCA9IDA7IHRoZW4KKwkgIGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Q9eWVzCisJZWxzZQorCSAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKwlmaQorCXJtIC1yZiBsaWJjb25mdGVzdC5keWxpYioKKwlybSAtZiBjb25mdGVzdC4qCisgICAgICBmaQorZmkKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kIiA+JjYKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIC1leHBvcnRlZF9zeW1ib2xzX2xpc3QgbGlua2VyIGZsYWciID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgLWV4cG9ydGVkX3N5bWJvbHNfbGlzdCBsaW5rZXIgZmxhZy4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7bHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0K3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGx0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdD1ubworICAgICAgc2F2ZV9MREZMQUdTPSRMREZMQUdTCisgICAgICBlY2hvICJfbWFpbiIgPiBjb25mdGVzdC5zeW0KKyAgICAgIExERkxBR1M9IiRMREZMQUdTIC1XbCwtZXhwb3J0ZWRfc3ltYm9sc19saXN0LGNvbmZ0ZXN0LnN5bSIKKyAgICAgIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogY29uZmRlZnMuaC4gICovCitfQUNFT0YKK2NhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogZW5kIGNvbmZkZWZzLmguICAqLworCitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0JGFjX2V4ZWV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfbGlua1wiIikgPiY1CisgIChldmFsICRhY19saW5rKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QkYWNfZXhlZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGx0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdD15ZXMKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0PW5vCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKKwlMREZMQUdTPSIkc2F2ZV9MREZMQUdTIgorCitmaQorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGx0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdCIgPiY1CitlY2hvICIke0VDSE9fVH0kbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0IiA+JjYKKyAgICBjYXNlICRob3N0X29zIGluCisgICAgcmhhcHNvZHkqIHwgZGFyd2luMS5bMDEyXSkKKyAgICAgIF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkPScke3dsfS11bmRlZmluZWQgJHt3bH1zdXBwcmVzcycgOzsKKyAgICBkYXJ3aW4xLiopCisgICAgICBfbHRfZGFyX2FsbG93X3VuZGVmaW5lZD0nJHt3bH0tZmxhdF9uYW1lc3BhY2UgJHt3bH0tdW5kZWZpbmVkICR7d2x9c3VwcHJlc3MnIDs7CisgICAgZGFyd2luKikgIyBkYXJ3aW4gNS54IG9uCisgICAgICAjIGlmIHJ1bm5pbmcgb24gMTAuNSBvciBsYXRlciwgdGhlIGRlcGxveW1lbnQgdGFyZ2V0IGRlZmF1bHRzCisgICAgICAjIHRvIHRoZSBPUyB2ZXJzaW9uLCBpZiBvbiB4ODYsIGFuZCAxMC40LCB0aGUgZGVwbG95bWVudAorICAgICAgIyB0YXJnZXQgZGVmYXVsdHMgdG8gMTAuNC4gRG9uJ3QgeW91IGxvdmUgaXQ/CisgICAgICBjYXNlICR7TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VULTEwLjB9LCRob3N0IGluCisJMTAuMCwqODYqLWRhcndpbjgqfDEwLjAsKi1kYXJ3aW5bOTFdKikKKwkgIF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkPScke3dsfS11bmRlZmluZWQgJHt3bH1keW5hbWljX2xvb2t1cCcgOzsKKwkxMC5bMDEyXSopCisJICBfbHRfZGFyX2FsbG93X3VuZGVmaW5lZD0nJHt3bH0tZmxhdF9uYW1lc3BhY2UgJHt3bH0tdW5kZWZpbmVkICR7d2x9c3VwcHJlc3MnIDs7CisJMTAuKikKKwkgIF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkPScke3dsfS11bmRlZmluZWQgJHt3bH1keW5hbWljX2xvb2t1cCcgOzsKKyAgICAgIGVzYWMKKyAgICA7OworICBlc2FjCisgICAgaWYgdGVzdCAiJGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2QiID0gInllcyI7IHRoZW4KKyAgICAgIF9sdF9kYXJfc2luZ2xlX21vZD0nJHNpbmdsZV9tb2R1bGUnCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0IiA9ICJ5ZXMiOyB0aGVuCisgICAgICBfbHRfZGFyX2V4cG9ydF9zeW1zPScgJHt3bH0tZXhwb3J0ZWRfc3ltYm9sc19saXN0LCRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0nCisgICAgZWxzZQorICAgICAgX2x0X2Rhcl9leHBvcnRfc3ltcz0nfiROTUVESVQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkRFNZTVVUSUwiICE9ICI6IjsgdGhlbgorICAgICAgX2x0X2RzeW11dGlsPSd+JERTWU1VVElMICRsaWIgfHwgOicKKyAgICBlbHNlCisgICAgICBfbHRfZHN5bXV0aWw9CisgICAgZmkKKyAgICA7OworICBlc2FjCisKKwogZm9yIGFjX2hlYWRlciBpbiBkbGZjbi5oCiBkbwogYXNfYWNfSGVhZGVyPWBlY2hvICJhY19jdl9oZWFkZXJfJGFjX2hlYWRlciIgfCAkYXNfdHJfc2hgCkBAIC02NTYzLDYgKzc0NzUsMTI4IEBACiAKIAogCisjIFNldCBvcHRpb25zCisKKworCisgICAgICAgIGVuYWJsZV9kbG9wZW49bm8KKworCisgIGVuYWJsZV93aW4zMl9kbGw9bm8KKworCisgICAgICAgICAgICAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtc2hhcmVkIG9yIC0tZGlzYWJsZS1zaGFyZWQgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHtlbmFibGVfc2hhcmVkK3NldH0iID0gc2V0OyB0aGVuCisgIGVuYWJsZXZhbD0iJGVuYWJsZV9zaGFyZWQiCisgIHA9JHtQQUNLQUdFLWRlZmF1bHR9CisgICAgY2FzZSAkZW5hYmxldmFsIGluCisgICAgeWVzKSBlbmFibGVfc2hhcmVkPXllcyA7OworICAgIG5vKSBlbmFibGVfc2hhcmVkPW5vIDs7CisgICAgKikKKyAgICAgIGVuYWJsZV9zaGFyZWQ9bm8KKyAgICAgICMgTG9vayBhdCB0aGUgYXJndW1lbnQgd2UgZ290LiAgV2UgdXNlIGFsbCB0aGUgY29tbW9uIGxpc3Qgc2VwYXJhdG9ycy4KKyAgICAgIGx0X3NhdmVfaWZzPSIkSUZTIjsgSUZTPSIke0lGU30kUEFUSF9TRVBBUkFUT1IsIgorICAgICAgZm9yIHBrZyBpbiAkZW5hYmxldmFsOyBkbworCUlGUz0iJGx0X3NhdmVfaWZzIgorCWlmIHRlc3QgIlgkcGtnIiA9ICJYJHAiOyB0aGVuCisJICBlbmFibGVfc2hhcmVkPXllcworCWZpCisgICAgICBkb25lCisgICAgICBJRlM9IiRsdF9zYXZlX2lmcyIKKyAgICAgIDs7CisgICAgZXNhYworZWxzZQorICBlbmFibGVfc2hhcmVkPXllcworZmk7CisKKworCisKKworCisKKworICAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtc3RhdGljIG9yIC0tZGlzYWJsZS1zdGF0aWMgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHtlbmFibGVfc3RhdGljK3NldH0iID0gc2V0OyB0aGVuCisgIGVuYWJsZXZhbD0iJGVuYWJsZV9zdGF0aWMiCisgIHA9JHtQQUNLQUdFLWRlZmF1bHR9CisgICAgY2FzZSAkZW5hYmxldmFsIGluCisgICAgeWVzKSBlbmFibGVfc3RhdGljPXllcyA7OworICAgIG5vKSBlbmFibGVfc3RhdGljPW5vIDs7CisgICAgKikKKyAgICAgZW5hYmxlX3N0YXRpYz1ubworICAgICAgIyBMb29rIGF0IHRoZSBhcmd1bWVudCB3ZSBnb3QuICBXZSB1c2UgYWxsIHRoZSBjb21tb24gbGlzdCBzZXBhcmF0b3JzLgorICAgICAgbHRfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSRQQVRIX1NFUEFSQVRPUiwiCisgICAgICBmb3IgcGtnIGluICRlbmFibGV2YWw7IGRvCisJSUZTPSIkbHRfc2F2ZV9pZnMiCisJaWYgdGVzdCAiWCRwa2ciID0gIlgkcCI7IHRoZW4KKwkgIGVuYWJsZV9zdGF0aWM9eWVzCisJZmkKKyAgICAgIGRvbmUKKyAgICAgIElGUz0iJGx0X3NhdmVfaWZzIgorICAgICAgOzsKKyAgICBlc2FjCitlbHNlCisgIGVuYWJsZV9zdGF0aWM9eWVzCitmaTsKKworCisKKworCisKKworCisKKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtcGljIG9yIC0td2l0aG91dC1waWMgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHt3aXRoX3BpYytzZXR9IiA9IHNldDsgdGhlbgorICB3aXRodmFsPSIkd2l0aF9waWMiCisgIHBpY19tb2RlPSIkd2l0aHZhbCIKK2Vsc2UKKyAgcGljX21vZGU9ZGVmYXVsdAorZmk7CisKK3Rlc3QgLXogIiRwaWNfbW9kZSIgJiYgcGljX21vZGU9ZGVmYXVsdAorCisKKworCisKKworCisgICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1mYXN0LWluc3RhbGwgb3IgLS1kaXNhYmxlLWZhc3QtaW5zdGFsbCB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9mYXN0X2luc3RhbGwrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZW5hYmxldmFsPSIkZW5hYmxlX2Zhc3RfaW5zdGFsbCIKKyAgcD0ke1BBQ0tBR0UtZGVmYXVsdH0KKyAgICBjYXNlICRlbmFibGV2YWwgaW4KKyAgICB5ZXMpIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzIDs7CisgICAgbm8pIGVuYWJsZV9mYXN0X2luc3RhbGw9bm8gOzsKKyAgICAqKQorICAgICAgZW5hYmxlX2Zhc3RfaW5zdGFsbD1ubworICAgICAgIyBMb29rIGF0IHRoZSBhcmd1bWVudCB3ZSBnb3QuICBXZSB1c2UgYWxsIHRoZSBjb21tb24gbGlzdCBzZXBhcmF0b3JzLgorICAgICAgbHRfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSRQQVRIX1NFUEFSQVRPUiwiCisgICAgICBmb3IgcGtnIGluICRlbmFibGV2YWw7IGRvCisJSUZTPSIkbHRfc2F2ZV9pZnMiCisJaWYgdGVzdCAiWCRwa2ciID0gIlgkcCI7IHRoZW4KKwkgIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzCisJZmkKKyAgICAgIGRvbmUKKyAgICAgIElGUz0iJGx0X3NhdmVfaWZzIgorICAgICAgOzsKKyAgICBlc2FjCitlbHNlCisgIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzCitmaTsKKworCisKKworCisKKworCisKKwogIyBUaGlzIGNhbiBiZSB1c2VkIHRvIHJlYnVpbGQgbGlidG9vbCB3aGVuIG5lZWRlZAogTElCVE9PTF9ERVBTPSIkbHRtYWluIgogCkBAIC02OTA5LDcgKzc5NDMsNyBAQAogZWNobyAiJGx0X3NpbXBsZV9saW5rX3Rlc3RfY29kZSIgPmNvbmZ0ZXN0LiRhY19leHQKIGV2YWwgIiRhY19saW5rIiAyPiYxID4vZGV2L251bGwgfCAkU0VEICcvXiQvZDsgL14gKisvZCcgPmNvbmZ0ZXN0LmVycgogX2x0X2xpbmtlcl9ib2lsZXJwbGF0ZT1gY2F0IGNvbmZ0ZXN0LmVycmAKLSRSTSBjb25mdGVzdCoKKyRSTSAtciBjb25mdGVzdCoKIAogCiAjIyBDQVZFQVQgRU1QVE9SOgpAQCAtNjk0MSwxMSArNzk3NSwxMSBAQAogICAgLWUgJ3M6LipGTEFHU31cezAsMVx9IDomJGx0X2NvbXBpbGVyX2ZsYWcgOjsgdCcgXAogICAgLWUgJ3M6IFteIF0qY29uZnRlc3RcLjogJGx0X2NvbXBpbGVyX2ZsYWcmOjsgdCcgXAogICAgLWUgJ3M6JDogJGx0X2NvbXBpbGVyX2ZsYWc6J2AKLSAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo2OTQ0OiAkbHRfY29tcGlsZVwiIiA+JjUpCisgICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6Nzk3ODogJGx0X2NvbXBpbGVcIiIgPiY1KQogICAgKGV2YWwgIiRsdF9jb21waWxlIiAyPmNvbmZ0ZXN0LmVycikKICAgIGFjX3N0YXR1cz0kPwogICAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKLSAgIGVjaG8gIiRhc19tZTo2OTQ4OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgIGVjaG8gIiRhc19tZTo3OTgyOiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKICAgIGlmIChleGl0ICRhY19zdGF0dXMpICYmIHRlc3QgLXMgIiRhY19vdXRmaWxlIjsgdGhlbgogICAgICAjIFRoZSBjb21waWxlciBjYW4gb25seSB3YXJuIGFuZCBpZ25vcmUgdGhlIG9wdGlvbiBpZiBub3QgcmVjb2duaXplZAogICAgICAjIFNvIHNheSBubyBpZiB0aGVyZSBhcmUgd2FybmluZ3Mgb3RoZXIgdGhhbiB0aGUgdXN1YWwgb3V0cHV0LgpAQCAtNjk5NSwxOSArODAyOSwyNSBAQAogICAgICAgOzsKIAogICAgIGFtaWdhb3MqKQotICAgICAgaWYgdGVzdCAiJGhvc3RfY3B1IiA9IG02OGs7IHRoZW4KLSAgICAgICAgIyBGSVhNRTogd2UgbmVlZCBhdCBsZWFzdCA2ODAyMCBjb2RlIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMsIGJ1dAotICAgICAgICAjIGFkZGluZyB0aGUgYC1tNjgwMjAnIGZsYWcgdG8gR0NDIHByZXZlbnRzIGJ1aWxkaW5nIGFueXRoaW5nIGJldHRlciwKLSAgICAgICAgIyBsaWtlIGAtbTY4MDQwJy4KLSAgICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1tNjgwMjAgLXJlc2lkZW50MzIgLW1hbHdheXMtcmVzdG9yZS1hNCcKLSAgICAgIGZpCisgICAgICBjYXNlICRob3N0X2NwdSBpbgorICAgICAgcG93ZXJwYykKKyAgICAgICAgICAgICMgc2VlIGNvbW1lbnQgYWJvdXQgQW1pZ2FPUzQgLnNvIHN1cHBvcnQKKyAgICAgICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctZlBJQycKKyAgICAgICAgOzsKKyAgICAgIG02OGspCisgICAgICAgICAgICAjIEZJWE1FOiB3ZSBuZWVkIGF0IGxlYXN0IDY4MDIwIGNvZGUgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcywgYnV0CisgICAgICAgICAgICAjIGFkZGluZyB0aGUgYC1tNjgwMjAnIGZsYWcgdG8gR0NDIHByZXZlbnRzIGJ1aWxkaW5nIGFueXRoaW5nIGJldHRlciwKKyAgICAgICAgICAgICMgbGlrZSBgLW02ODA0MCcuCisgICAgICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLW02ODAyMCAtcmVzaWRlbnQzMiAtbWFsd2F5cy1yZXN0b3JlLWE0JworICAgICAgICA7OworICAgICAgZXNhYwogICAgICAgOzsKIAogICAgIGJlb3MqIHwgaXJpeDUqIHwgaXJpeDYqIHwgbm9uc3RvcHV4KiB8IG9zZjMqIHwgb3NmNCogfCBvc2Y1KikKICAgICAgICMgUElDIGlzIHRoZSBkZWZhdWx0IGZvciB0aGVzZSBPU2VzLgogICAgICAgOzsKIAotICAgIG1pbmd3KiB8IGN5Z3dpbiogfCBwdzMyKiB8IG9zMiopCisgICAgbWluZ3cqIHwgY3lnd2luKiB8IHB3MzIqIHwgb3MyKiB8IGNlZ2NjKikKICAgICAgICMgVGhpcyBoYWNrIGlzIHNvIHRoYXQgdGhlIHNvdXJjZSBmaWxlIGNhbiB0ZWxsIHdoZXRoZXIgaXQgaXMgYmVpbmcKICAgICAgICMgYnVpbHQgZm9yIGluY2x1c2lvbiBpbiBhIGRsbCAoYW5kIHNob3VsZCBleHBvcnQgc3ltYm9scyBmb3IgZXhhbXBsZSkuCiAgICAgICAjIEFsdGhvdWdoIHRoZSBjeWd3aW4gZ2NjIGlnbm9yZXMgLWZQSUMsIHN0aWxsIG5lZWQgdGhpcyBmb3Igb2xkLXN0eWxlCkBAIC03MDIyLDEwICs4MDYyLDExIEBACiAgICAgICA7OwogCiAgICAgaHB1eCopCi0gICAgICAjIFBJQyBpcyB0aGUgZGVmYXVsdCBmb3IgSUE2NCBIUC1VWCBhbmQgNjQtYml0IEhQLVVYLCBidXQKLSAgICAgICMgbm90IGZvciBQQSBIUC1VWC4KKyAgICAgICMgUElDIGlzIHRoZSBkZWZhdWx0IGZvciA2NC1iaXQgUEEgSFAtVVgsIGJ1dCBub3QgZm9yIDMyLWJpdAorICAgICAgIyBQQSBIUC1VWC4gIE9uIElBNjQgSFAtVVgsIFBJQyBpcyB0aGUgZGVmYXVsdCBidXQgdGhlIHBpYyBmbGFnCisgICAgICAjIHNldHMgdGhlIGRlZmF1bHQgVExTIG1vZGVsIGFuZCBhZmZlY3RzIGlubGluaW5nLgogICAgICAgY2FzZSAkaG9zdF9jcHUgaW4KLSAgICAgIGhwcGEqNjQqfGlhNjQqKQorICAgICAgaHBwYSo2NCopCiAJIyArWiB0aGUgZGVmYXVsdAogCTs7CiAgICAgICAqKQpAQCAtNzA3NCwxOCArODExNSw4IEBACiAJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1ibnNvIC1iSTovbGliL3N5c2NhbGxzLmV4cCcKICAgICAgIGZpCiAgICAgICA7OwotICAgIGRhcndpbiopCi0gICAgICAjIFBJQyBpcyB0aGUgZGVmYXVsdCBvbiB0aGlzIHBsYXRmb3JtCi0gICAgICAjIENvbW1vbiBzeW1ib2xzIG5vdCBhbGxvd2VkIGluIE1IX0RZTElCIGZpbGVzCi0gICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgotICAgICAgeGxjKikKLSAgICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1xbm9jb21tb24nCi0gICAgICAgIGx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCi0gICAgICAgIDs7Ci0gICAgICBlc2FjCi0gICAgICA7OwogCi0gICAgbWluZ3cqIHwgY3lnd2luKiB8IHB3MzIqIHwgb3MyKikKKyAgICBtaW5ndyogfCBjeWd3aW4qIHwgcHczMiogfCBvczIqIHwgY2VnY2MqKQogICAgICAgIyBUaGlzIGhhY2sgaXMgc28gdGhhdCB0aGUgc291cmNlIGZpbGUgY2FuIHRlbGwgd2hldGhlciBpdCBpcyBiZWluZwogICAgICAgIyBidWlsdCBmb3IgaW5jbHVzaW9uIGluIGEgZGxsIChhbmQgc2hvdWxkIGV4cG9ydCBzeW1ib2xzIGZvciBleGFtcGxlKS4KICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctRERMTF9FWFBPUlQnCkBAIC03MTE1LDExICs4MTQ2LDI1IEBACiAKICAgICBsaW51eCogfCBrKmJzZCotZ251KQogICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KLSAgICAgIGljYyogfCBlY2MqKQorICAgICAgIyBvbGQgSW50ZWwgZm9yIHg4Nl82NCB3aGljaCBzdGlsbCBzdXBwb3J0ZWQgLUtQSUMuCisgICAgICBlY2MqKQogCWx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCiAJbHRfcHJvZ19jb21waWxlcl9waWM9Jy1LUElDJwogCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctc3RhdGljJwogICAgICAgICA7OworICAgICAgIyBpY2MgdXNlZCB0byBiZSBpbmNvbXBhdGlibGUgd2l0aCBHQ0MuCisgICAgICAjIElDQyAxMCBkb2Vzbid0IGFjY2VwdCAtS1BJQyBhbnkgbW9yZS4KKyAgICAgIGljYyogfCBpZm9ydCopCisJbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKKwlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLWZQSUMnCisJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1zdGF0aWMnCisgICAgICAgIDs7CisgICAgICAjIExhaGV5IEZvcnRyYW4gOC4xLgorICAgICAgbGY5NSopCisJbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKKwlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLS1zaGFyZWQnCisJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy0tc3RhdGljJworCTs7CiAgICAgICBwZ2NjKiB8IHBnZjc3KiB8IHBnZjkwKiB8IHBnZjk1KikKICAgICAgICAgIyBQb3J0bGFuZCBHcm91cCBjb21waWxlcnMgKCpub3QqIHRoZSBQZW50aXVtIGdjYyBjb21waWxlciwKIAkjIHdoaWNoIGxvb2tzIHRvIGJlIGEgZGVhZCBwcm9qZWN0KQpAQCAtNzEzMiw2ICs4MTc3LDEyIEBACiAgICAgICAgICMgQWxsIEFscGhhIGNvZGUgaXMgUElDLgogICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLW5vbl9zaGFyZWQnCiAgICAgICAgIDs7CisgICAgICB4bCopCisJIyBJQk0gWEwgQyA4LjAvRm9ydHJhbiAxMC4xIG9uIFBQQworCWx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCisJbHRfcHJvZ19jb21waWxlcl9waWM9Jy1xcGljJworCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctcXN0YXRpY2xpbmsnCisJOzsKICAgICAgICopCiAJY2FzZSBgJENDIC1WIDI+JjEgfCBzZWQgNXFgIGluCiAJKlN1blwgQyopCkBAIC03MjQ3LDEwICs4Mjk4LDEwIEBACiBpZiB0ZXN0IC1uICIkbHRfcHJvZ19jb21waWxlcl9waWMiOyB0aGVuCiAgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBpZiAkY29tcGlsZXIgUElDIGZsYWcgJGx0X3Byb2dfY29tcGlsZXJfcGljIHdvcmtzIiA+JjUKIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgaWYgJGNvbXBpbGVyIFBJQyBmbGFnICRsdF9wcm9nX2NvbXBpbGVyX3BpYyB3b3Jrcy4uLiAkRUNIT19DIiA+JjYKLWlmIHRlc3QgIiR7bHRfcHJvZ19jb21waWxlcl9waWNfd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4KK2lmIHRlc3QgIiR7bHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4KICAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKIGVsc2UKLSAgbHRfcHJvZ19jb21waWxlcl9waWNfd29ya3M9bm8KKyAgbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3M9bm8KICAgIGFjX291dGZpbGU9Y29uZnRlc3QuJGFjX29iamV4dAogICAgZWNobyAiJGx0X3NpbXBsZV9jb21waWxlX3Rlc3RfY29kZSIgPiBjb25mdGVzdC4kYWNfZXh0CiAgICBsdF9jb21waWxlcl9mbGFnPSIkbHRfcHJvZ19jb21waWxlcl9waWMgLURQSUMiCkBAIC03MjYzLDI3ICs4MzE0LDI3IEBACiAgICAtZSAnczouKkZMQUdTfVx7MCwxXH0gOiYkbHRfY29tcGlsZXJfZmxhZyA6OyB0JyBcCiAgICAtZSAnczogW14gXSpjb25mdGVzdFwuOiAkbHRfY29tcGlsZXJfZmxhZyY6OyB0JyBcCiAgICAtZSAnczokOiAkbHRfY29tcGlsZXJfZmxhZzonYAotICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjcyNjY6ICRsdF9jb21waWxlXCIiID4mNSkKKyAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo4MzE3OiAkbHRfY29tcGlsZVwiIiA+JjUpCiAgICAoZXZhbCAiJGx0X2NvbXBpbGUiIDI+Y29uZnRlc3QuZXJyKQogICAgYWNfc3RhdHVzPSQ/CiAgICBjYXQgY29uZnRlc3QuZXJyID4mNQotICAgZWNobyAiJGFzX21lOjcyNzA6IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAgZWNobyAiJGFzX21lOjgzMjE6IFwkPyA9ICRhY19zdGF0dXMiID4mNQogICAgaWYgKGV4aXQgJGFjX3N0YXR1cykgJiYgdGVzdCAtcyAiJGFjX291dGZpbGUiOyB0aGVuCiAgICAgICMgVGhlIGNvbXBpbGVyIGNhbiBvbmx5IHdhcm4gYW5kIGlnbm9yZSB0aGUgb3B0aW9uIGlmIG5vdCByZWNvZ25pemVkCiAgICAgICMgU28gc2F5IG5vIGlmIHRoZXJlIGFyZSB3YXJuaW5ncyBvdGhlciB0aGFuIHRoZSB1c3VhbCBvdXRwdXQuCiAgICAgICRFQ0hPICJYJF9sdF9jb21waWxlcl9ib2lsZXJwbGF0ZSIgfCAkWHNlZCAtZSAnL14kL2QnID5jb25mdGVzdC5leHAKICAgICAgJFNFRCAnL14kL2Q7IC9eICorL2QnIGNvbmZ0ZXN0LmVyciA+Y29uZnRlc3QuZXIyCiAgICAgIGlmIHRlc3QgISAtcyBjb25mdGVzdC5lcjIgfHwgZGlmZiBjb25mdGVzdC5leHAgY29uZnRlc3QuZXIyID4vZGV2L251bGw7IHRoZW4KLSAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpY193b3Jrcz15ZXMKKyAgICAgICBsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3Jrcz15ZXMKICAgICAgZmkKICAgIGZpCiAgICAkUk0gY29uZnRlc3QqCiAKIGZpCi1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkbHRfcHJvZ19jb21waWxlcl9waWNfd29ya3MiID4mNQotZWNobyAiJHtFQ0hPX1R9JGx0X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzIiA+JjYKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3JrcyIgPiY1CitlY2hvICIke0VDSE9fVH0kbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3MiID4mNgogCi1pZiB0ZXN0IHgiJGx0X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzIiA9IHh5ZXM7IHRoZW4KK2lmIHRlc3QgeCIkbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3MiID0geHllczsgdGhlbgogICAgIGNhc2UgJGx0X3Byb2dfY29tcGlsZXJfcGljIGluCiAgICAgICIiIHwgIiAiKikgOzsKICAgICAgKikgbHRfcHJvZ19jb21waWxlcl9waWM9IiAkbHRfcHJvZ19jb21waWxlcl9waWMiIDs7CkBAIC03MzA2LDEwICs4MzU3LDEwIEBACiB3bD0kbHRfcHJvZ19jb21waWxlcl93bCBldmFsIGx0X3RtcF9zdGF0aWNfZmxhZz1cIiRsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY1wiCiBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgaWYgJGNvbXBpbGVyIHN0YXRpYyBmbGFnICRsdF90bXBfc3RhdGljX2ZsYWcgd29ya3MiID4mNQogZWNobyAkRUNIT19OICJjaGVja2luZyBpZiAkY29tcGlsZXIgc3RhdGljIGZsYWcgJGx0X3RtcF9zdGF0aWNfZmxhZyB3b3Jrcy4uLiAkRUNIT19DIiA+JjYKLWlmIHRlc3QgIiR7bHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4KK2lmIHRlc3QgIiR7bHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4KICAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKIGVsc2UKLSAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9bm8KKyAgbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9bm8KICAgIHNhdmVfTERGTEFHUz0iJExERkxBR1MiCiAgICBMREZMQUdTPSIkTERGTEFHUyAkbHRfdG1wX3N0YXRpY19mbGFnIgogICAgZWNobyAiJGx0X3NpbXBsZV9saW5rX3Rlc3RfY29kZSIgPiBjb25mdGVzdC4kYWNfZXh0CkBAIC03MzIyLDIwICs4MzczLDIwIEBACiAgICAgICAgJEVDSE8gIlgkX2x0X2xpbmtlcl9ib2lsZXJwbGF0ZSIgfCAkWHNlZCAtZSAnL14kL2QnID4gY29uZnRlc3QuZXhwCiAgICAgICAgJFNFRCAnL14kL2Q7IC9eICorL2QnIGNvbmZ0ZXN0LmVyciA+Y29uZnRlc3QuZXIyCiAgICAgICAgaWYgZGlmZiBjb25mdGVzdC5leHAgY29uZnRlc3QuZXIyID4vZGV2L251bGw7IHRoZW4KLSAgICAgICAgIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzPXllcworICAgICAgICAgbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9eWVzCiAgICAgICAgZmkKICAgICAgZWxzZQotICAgICAgIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzPXllcworICAgICAgIGx0X2N2X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzPXllcwogICAgICBmaQogICAgZmkKLSAgICRSTSBjb25mdGVzdCoKKyAgICRSTSAtciBjb25mdGVzdCoKICAgIExERkxBR1M9IiRzYXZlX0xERkxBR1MiCiAKIGZpCi1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3MiID4mNQotZWNobyAiJHtFQ0hPX1R9JGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzIiA+JjYKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcyIgPiY1CitlY2hvICIke0VDSE9fVH0kbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3MiID4mNgogCi1pZiB0ZXN0IHgiJGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzIiA9IHh5ZXM7IHRoZW4KK2lmIHRlc3QgeCIkbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3MiID0geHllczsgdGhlbgogICAgIDoKIGVsc2UKICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0KQEAgLTczNjgsMTEgKzg0MTksMTEgQEAKICAgIC1lICdzOi4qRkxBR1N9XHswLDFcfSA6JiRsdF9jb21waWxlcl9mbGFnIDo7IHQnIFwKICAgIC1lICdzOiBbXiBdKmNvbmZ0ZXN0XC46ICRsdF9jb21waWxlcl9mbGFnJjo7IHQnIFwKICAgIC1lICdzOiQ6ICRsdF9jb21waWxlcl9mbGFnOidgCi0gICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NzM3MTogJGx0X2NvbXBpbGVcIiIgPiY1KQorICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjg0MjI6ICRsdF9jb21waWxlXCIiID4mNSkKICAgIChldmFsICIkbHRfY29tcGlsZSIgMj5vdXQvY29uZnRlc3QuZXJyKQogICAgYWNfc3RhdHVzPSQ/CiAgICBjYXQgb3V0L2NvbmZ0ZXN0LmVyciA+JjUKLSAgIGVjaG8gIiRhc19tZTo3Mzc1OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgIGVjaG8gIiRhc19tZTo4NDI2OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKICAgIGlmIChleGl0ICRhY19zdGF0dXMpICYmIHRlc3QgLXMgb3V0L2NvbmZ0ZXN0Mi4kYWNfb2JqZXh0CiAgICB0aGVuCiAgICAgICMgVGhlIGNvbXBpbGVyIGNhbiBvbmx5IHdhcm4gYW5kIGlnbm9yZSB0aGUgb3B0aW9uIGlmIG5vdCByZWNvZ25pemVkCkBAIC03NDIzLDExICs4NDc0LDExIEBACiAgICAtZSAnczouKkZMQUdTfVx7MCwxXH0gOiYkbHRfY29tcGlsZXJfZmxhZyA6OyB0JyBcCiAgICAtZSAnczogW14gXSpjb25mdGVzdFwuOiAkbHRfY29tcGlsZXJfZmxhZyY6OyB0JyBcCiAgICAtZSAnczokOiAkbHRfY29tcGlsZXJfZmxhZzonYAotICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjc0MjY6ICRsdF9jb21waWxlXCIiID4mNSkKKyAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo4NDc3OiAkbHRfY29tcGlsZVwiIiA+JjUpCiAgICAoZXZhbCAiJGx0X2NvbXBpbGUiIDI+b3V0L2NvbmZ0ZXN0LmVycikKICAgIGFjX3N0YXR1cz0kPwogICAgY2F0IG91dC9jb25mdGVzdC5lcnIgPiY1Ci0gICBlY2hvICIkYXNfbWU6NzQzMDogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgICBlY2hvICIkYXNfbWU6ODQ4MTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CiAgICBpZiAoZXhpdCAkYWNfc3RhdHVzKSAmJiB0ZXN0IC1zIG91dC9jb25mdGVzdDIuJGFjX29iamV4dAogICAgdGhlbgogICAgICAjIFRoZSBjb21waWxlciBjYW4gb25seSB3YXJuIGFuZCBpZ25vcmUgdGhlIG9wdGlvbiBpZiBub3QgcmVjb2duaXplZApAQCAtNzUxNywxNiArODU2OCwxNyBAQAogICAjIGl0IHdpbGwgYmUgd3JhcHBlZCBieSBgICgnIGFuZCBgKSQnLCBzbyBvbmUgbXVzdCBub3QgbWF0Y2ggYmVnaW5uaW5nIG9yCiAgICMgZW5kIG9mIGxpbmUuICBFeGFtcGxlOiBgYXxiY3wuKmQuKicgd2lsbCBleGNsdWRlIHRoZSBzeW1ib2xzIGBhJyBhbmQgYGJjJywKICAgIyBhcyB3ZWxsIGFzIGFueSBzeW1ib2wgdGhhdCBjb250YWlucyBgZCcuCi0gIGV4Y2x1ZGVfZXhwc3ltcz0iX0dMT0JBTF9PRkZTRVRfVEFCTEVfIgorICBleGNsdWRlX2V4cHN5bXM9J19HTE9CQUxfT0ZGU0VUX1RBQkxFX3xfR0xPQkFMX19GW0lEXV8uKicKICAgIyBBbHRob3VnaCBfR0xPQkFMX09GRlNFVF9UQUJMRV8gaXMgYSB2YWxpZCBzeW1ib2wgQyBuYW1lLCBtb3N0IGEub3V0CiAgICMgcGxhdGZvcm1zIChhYil1c2UgaXQgaW4gUElDIGNvZGUsIGJ1dCB0aGVpciBsaW5rZXJzIGdldCBjb25mdXNlZCBpZgogICAjIHRoZSBzeW1ib2wgaXMgZXhwbGljaXRseSByZWZlcmVuY2VkLiAgU2luY2UgcG9ydGFibGUgY29kZSBjYW5ub3QKICAgIyByZWx5IG9uIHRoaXMgc3ltYm9sIG5hbWUsIGl0J3MgcHJvYmFibHkgZmluZSB0byBuZXZlciBpbmNsdWRlIGl0IGluCiAgICMgcHJlbG9hZGVkIHN5bWJvbCB0YWJsZXMuCisgICMgRXhjbHVkZSBzaGFyZWQgbGlicmFyeSBpbml0aWFsaXphdGlvbi9maW5hbGl6YXRpb24gc3ltYm9scy4KICAgZXh0cmFjdF9leHBzeW1zX2NtZHM9CiAKICAgY2FzZSAkaG9zdF9vcyBpbgotICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiopCisgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgICAjIEZJWE1FOiB0aGUgTVNWQysrIHBvcnQgaGFzbid0IGJlZW4gdGVzdGVkIGluIGEgbG9vb29uZyB0aW1lCiAgICAgIyBXaGVuIG5vdCB1c2luZyBnY2MsIHdlIGN1cnJlbnRseSBhc3N1bWUgdGhhdCB3ZSBhcmUgdXNpbmcKICAgICAjIE1pY3Jvc29mdCBWaXN1YWwgQysrLgpAQCAtNzU4OCwxOSArODY0MCwxOCBAQAogICAgICAgOzsKIAogICAgIGFtaWdhb3MqKQotICAgICAgaWYgdGVzdCAiJGhvc3RfY3B1IiA9IG02OGs7IHRoZW4KLSAgICAgICAgYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBOQU1FICRsaWJuYW1lIiA+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgTElCUkFSWV9JRCAxIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFZFUlNJT04gJG1ham9yIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFJFVklTSU9OICRyZXZpc2lvbiIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kQVIgJEFSX0ZMQUdTICRsaWIgJGxpYm9ianN+JFJBTkxJQiAkbGlifihjZCAkb3V0cHV0X29iamRpciAmJiBhMml4bGlicmFyeSAtMzIpJwotICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCi0gICAgICAgIGhhcmRjb2RlX21pbnVzX0w9eWVzCi0gICAgICBmaQotCi0gICAgICAjIFNhbXVlbCBBLiBGYWx2byBJSSA8a2M1dGphQGRvbHBoaW4ub3BlbnByb2plY3RzLm5ldD4gcmVwb3J0cwotICAgICAgIyB0aGF0IHRoZSBzZW1hbnRpY3Mgb2YgZHluYW1pYyBsaWJyYXJpZXMgb24gQW1pZ2FPUywgYXQgbGVhc3QgdXAKLSAgICAgICMgdG8gdmVyc2lvbiA0LCBpcyB0byBzaGFyZSBkYXRhIGFtb25nIG11bHRpcGxlIHByb2dyYW1zIGxpbmtlZAotICAgICAgIyB3aXRoIHRoZSBzYW1lIGR5bmFtaWMgbGlicmFyeS4gIFNpbmNlIHRoaXMgZG9lc24ndCBtYXRjaCB0aGUKLSAgICAgICMgYmVoYXZpb3Igb2Ygc2hhcmVkIGxpYnJhcmllcyBvbiBvdGhlciBwbGF0Zm9ybXMsIHdlIGNhbid0IHVzZQotICAgICAgIyB0aGVtLgotICAgICAgbGRfc2hsaWJzPW5vCisgICAgICBjYXNlICRob3N0X2NwdSBpbgorICAgICAgcG93ZXJwYykKKyAgICAgICAgICAgICMgc2VlIGNvbW1lbnQgYWJvdXQgQW1pZ2FPUzQgLnNvIHN1cHBvcnQKKyAgICAgICAgICAgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAkd2wkc29uYW1lIC1vICRsaWInCisgICAgICAgICAgICBhcmNoaXZlX2V4cHN5bV9jbWRzPScnCisgICAgICAgIDs7CisgICAgICBtNjhrKQorICAgICAgICAgICAgYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBOQU1FICRsaWJuYW1lIiA+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgTElCUkFSWV9JRCAxIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFZFUlNJT04gJG1ham9yIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFJFVklTSU9OICRyZXZpc2lvbiIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kQVIgJEFSX0ZMQUdTICRsaWIgJGxpYm9ianN+JFJBTkxJQiAkbGlifihjZCAkb3V0cHV0X29iamRpciAmJiBhMml4bGlicmFyeSAtMzIpJworICAgICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLUwkbGliZGlyJworICAgICAgICAgICAgaGFyZGNvZGVfbWludXNfTD15ZXMKKyAgICAgICAgOzsKKyAgICAgIGVzYWMKICAgICAgIDs7CiAKICAgICBiZW9zKikKQEAgLTc2MTQsNyArODY2NSw3IEBACiAgICAgICBmaQogICAgICAgOzsKIAotICAgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKikKKyAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgICAgICAjIF9MVF9UQUdWQVIoaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYywgKSBpcyBhY3R1YWxseSBtZWFuaW5nbGVzcywKICAgICAgICMgYXMgdGhlcmUgaXMgbm8gc2VhcmNoIHBhdGggZm9yIERMTHMuCiAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCkBAIC03NjY1LDYgKzg3MTYsNyBAQAogCSAmJiB0ZXN0ICIkdG1wX2RpZXQiID0gbm8KICAgICAgIHRoZW4KIAl0bXBfYWRkZmxhZz0KKwl0bXBfc2hhcmVkZmxhZz0nLXNoYXJlZCcKIAljYXNlICRjY19iYXNlbmFtZSwkaG9zdF9jcHUgaW4KICAgICAgICAgcGdjYyopCQkJCSMgUG9ydGxhbmQgR3JvdXAgQyBjb21waWxlcgogCSAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9JyR7d2x9LS13aG9sZS1hcmNoaXZlYGZvciBjb252IGluICRjb252ZW5pZW5jZVwiXCI7IGRvIHRlc3QgIC1uIFwiJGNvbnZcIiAmJiBuZXdfY29udmVuaWVuY2U9XCIkbmV3X2NvbnZlbmllbmNlLCRjb252XCI7IGRvbmU7ICRFQ0hPIFwiJG5ld19jb252ZW5pZW5jZVwiYCAke3dsfS0tbm8td2hvbGUtYXJjaGl2ZScKQEAgLTc2NzksNiArODczMSwxMiBAQAogCSAgdG1wX2FkZGZsYWc9JyAtaV9keW5hbWljIC1ub2Zvcl9tYWluJyA7OwogCWlmYyogfCBpZm9ydCopCQkJIyBJbnRlbCBGb3J0cmFuIGNvbXBpbGVyCiAJICB0bXBfYWRkZmxhZz0nIC1ub2Zvcl9tYWluJyA7OworCWxmOTUqKQkJCQkjIExhaGV5IEZvcnRyYW4gOC4xCisJICB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0KKwkgIHRtcF9zaGFyZWRmbGFnPSctLXNoYXJlZCcgOzsKKwl4bFtjQ10qKQkJCSMgSUJNIFhMIEMgOC4wIG9uIFBQQyAoZGVhbCB3aXRoIHhsZiBiZWxvdykKKwkgIHRtcF9zaGFyZWRmbGFnPSctcW1rc2hyb2JqJworCSAgdG1wX2FkZGZsYWc9IDs7CiAJZXNhYwogCWNhc2UgYCRDQyAtViAyPiYxIHwgc2VkIDVxYCBpbgogCSpTdW5cIEMqKQkJCSMgU3VuIEMgNS45CkBAIC03Njg3LDggKzg3NDUsNiBAQAogCSAgdG1wX3NoYXJlZGZsYWc9Jy1HJyA7OwogCSpTdW5cIEYqKQkJCSMgU3VuIEZvcnRyYW4gOC4zCiAJICB0bXBfc2hhcmVkZmxhZz0nLUcnIDs7Ci0JKikKLQkgIHRtcF9zaGFyZWRmbGFnPSctc2hhcmVkJyA7OwogCWVzYWMKIAlhcmNoaXZlX2NtZHM9JyRDQyAnIiR0bXBfc2hhcmVkZmxhZyIiJHRtcF9hZGRmbGFnIicgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAkd2wkc29uYW1lIC1vICRsaWInCiAKQEAgLTc2OTgsNiArODc1NCwyMiBAQAogCSAgICBlY2hvICJsb2NhbDogKjsgfTsiID4+ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlcn4KIAkgICAgJENDICciJHRtcF9zaGFyZWRmbGFnIiIkdG1wX2FkZGZsYWciJyAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR3bCRzb25hbWUgJHt3bH0tdmVyc2lvbi1zY3JpcHQgJHt3bH0kb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXIgLW8gJGxpYicKICAgICAgICAgZmkKKworCWNhc2UgJGNjX2Jhc2VuYW1lIGluCisJeGxmKikKKwkgICMgSUJNIFhMIEZvcnRyYW4gMTAuMSBvbiBQUEMgY2Fubm90IGNyZWF0ZSBzaGFyZWQgbGlicyBpdHNlbGYKKwkgIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSctLXdob2xlLWFyY2hpdmUkY29udmVuaWVuY2UgLS1uby13aG9sZS1hcmNoaXZlJworCSAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0KKwkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQ9Jy1ycGF0aCAkbGliZGlyJworCSAgYXJjaGl2ZV9jbWRzPSckTEQgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIC1vICRsaWInCisJICBpZiB0ZXN0ICJ4JHN1cHBvcnRzX2Fub25fdmVyc2lvbmluZyIgPSB4eWVzOyB0aGVuCisJICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9J2VjaG8gInsgZ2xvYmFsOiIgPiAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXJ+CisJICAgICAgY2F0ICRleHBvcnRfc3ltYm9scyB8IHNlZCAtZSAicy9cKC4qXCkvXDE7LyIgPj4gJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyfgorCSAgICAgIGVjaG8gImxvY2FsOiAqOyB9OyIgPj4gJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyfgorCSAgICAgICRMRCAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgLXZlcnNpb24tc2NyaXB0ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlciAtbyAkbGliJworCSAgZmkKKwkgIDs7CisJZXNhYwogICAgICAgZWxzZQogICAgICAgICBsZF9zaGxpYnM9bm8KICAgICAgIGZpCkBAIC03ODkzLDYgKzg5NjUsNyBAQAogCWZpCiAgICAgICBmaQogCisgICAgICBleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9JyR7d2x9LWJleHBhbGwnCiAgICAgICAjIEl0IHNlZW1zIHRoYXQgLWJleHBhbGwgZG9lcyBub3QgZXhwb3J0IHN5bWJvbHMgYmVnaW5uaW5nIHdpdGgKICAgICAgICMgdW5kZXJzY29yZSAoXyksIHNvIGl0IGlzIGJldHRlciB0byBnZW5lcmF0ZSBhIGxpc3Qgb2Ygc3ltYm9scyB0byBleHBvcnQuCiAgICAgICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9eWVzCkBAIC04MDQ1LDIwICs5MTE4LDI1IEBACiAgICAgICA7OwogCiAgICAgYW1pZ2FvcyopCi0gICAgICBpZiB0ZXN0ICIkaG9zdF9jcHUiID0gbTY4azsgdGhlbgotICAgICAgICBhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIE5BTUUgJGxpYm5hbWUiID4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBMSUJSQVJZX0lEIDEiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgUkVWSVNJT04gJHJldmlzaW9uIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRBUiAkQVJfRkxBR1MgJGxpYiAkbGlib2Jqc34kUkFOTElCICRsaWJ+KGNkICRvdXRwdXRfb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCi0gICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1MJGxpYmRpcicKLSAgICAgICAgaGFyZGNvZGVfbWludXNfTD15ZXMKLSAgICAgIGZpCi0gICAgICAjIHNlZSBjb21tZW50IGFib3V0IGRpZmZlcmVudCBzZW1hbnRpY3Mgb24gdGhlIEdOVSBsZCBzZWN0aW9uCi0gICAgICBsZF9zaGxpYnM9bm8KKyAgICAgIGNhc2UgJGhvc3RfY3B1IGluCisgICAgICBwb3dlcnBjKQorICAgICAgICAgICAgIyBzZWUgY29tbWVudCBhYm91dCBBbWlnYU9TNCAuc28gc3VwcG9ydAorICAgICAgICAgICAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR3bCRzb25hbWUgLW8gJGxpYicKKyAgICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JycKKyAgICAgICAgOzsKKyAgICAgIG02OGspCisgICAgICAgICAgICBhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIE5BTUUgJGxpYm5hbWUiID4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBMSUJSQVJZX0lEIDEiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgUkVWSVNJT04gJHJldmlzaW9uIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRBUiAkQVJfRkxBR1MgJGxpYiAkbGlib2Jqc34kUkFOTElCICRsaWJ+KGNkICRvdXRwdXRfb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCisgICAgICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCisgICAgICAgICAgICBoYXJkY29kZV9taW51c19MPXllcworICAgICAgICA7OworICAgICAgZXNhYwogICAgICAgOzsKIAogICAgIGJzZGlbNDVdKikKICAgICAgIGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYz0tcmR5bmFtaWMKICAgICAgIDs7CiAKLSAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiopCisgICAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgICAgIyBXaGVuIG5vdCB1c2luZyBnY2MsIHdlIGN1cnJlbnRseSBhc3N1bWUgdGhhdCB3ZSBhcmUgdXNpbmcKICAgICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCiAgICAgICAjIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgaXMgYWN0dWFsbHkgbWVhbmluZ2xlc3MsIGFzIHRoZXJlIGlzCkBAIC04MDgwLDczICs5MTU4LDMwIEBACiAgICAgICA7OwogCiAgICAgZGFyd2luKiB8IHJoYXBzb2R5KikKLSAgICAgIGNhc2UgJGhvc3Rfb3MgaW4KLSAgICAgIHJoYXBzb2R5KiB8IGRhcndpbjEuWzAxMl0pCi0JYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyR7d2x9LXVuZGVmaW5lZCAke3dsfXN1cHByZXNzJwotCTs7Ci0gICAgICAqKSAjIERhcndpbiAxLjMgb24KLQljYXNlICR7TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VULTEwLjB9IGluCi0JMTAuWzAxMl0pCi0JICBhbGxvd191bmRlZmluZWRfZmxhZz0nJHt3bH0tZmxhdF9uYW1lc3BhY2UgJHt3bH0tdW5kZWZpbmVkICR7d2x9c3VwcHJlc3MnCi0JICA7OwotCTEwLiopCi0JICBhbGxvd191bmRlZmluZWRfZmxhZz0nJHt3bH0tdW5kZWZpbmVkICR7d2x9ZHluYW1pY19sb29rdXAnCi0JICA7OwotCWVzYWMKLQk7OwotICAgICAgZXNhYwotICAgICAgYXJjaGl2ZV9jbWRzX25lZWRfbGM9bm8KLSAgICAgIGhhcmRjb2RlX2RpcmVjdD1ubwotICAgICAgaGFyZGNvZGVfYXV0b21hdGljPXllcwotICAgICAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj11bnN1cHBvcnRlZAotICAgICAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9JycKLSAgICAgIGxpbmtfYWxsX2RlcGxpYnM9eWVzCi0gICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllcyA7IHRoZW4KLQlpZiB0ZXN0ICIke2x0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Qrc2V0fSIgPSBzZXQ7IHRoZW4KLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKLWVsc2UKLSAgbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZD1ubwotCWlmIHRlc3QgLXogIiR7TFRfTVVMVElfTU9EVUxFfSI7IHRoZW4KLQkgICMgQnkgZGVmYXVsdCB3ZSB3aWxsIGFkZCB0aGUgLXNpbmdsZV9tb2R1bGUgZmxhZy4gWW91IGNhbiBvdmVycmlkZQotCSAgIyBieSBlaXRoZXIgc2V0dGluZyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgTFRfTVVMVElfTU9EVUxFCi0JICAjIG5vbi1lbXB0eSBhdCBjb25maWd1cmUgdGltZSwgb3IgYnkgYWRkaW5nIC1tdWx0aS1tb2R1bGUgdG8gdGhlCi0JICAjIGxpbmsgZmxhZ3MuCi0JICBlY2hvICJpbnQgZm9vKHZvaWQpe3JldHVybiAxO30iID4gY29uZnRlc3QuYwotCSAgJExUQ0MgJExUQ0ZMQUdTICRMREZMQUdTIC1vIGxpYmNvbmZ0ZXN0LmR5bGliIFwKLQkgICAgICAtZHluYW1pY2xpYiAke3dsfS1zaW5nbGVfbW9kdWxlIGNvbmZ0ZXN0LmMKLQkgIGlmIHRlc3QgLWYgbGliY29uZnRlc3QuZHlsaWI7IHRoZW4KLQkgICAgICBsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kPXllcwotCSAgICAgIHJtIGxpYmNvbmZ0ZXN0LmR5bGliCi0JICBmaQotCSAgcm0gY29uZnRlc3QuJGFjX2V4dAotCWZpCi1maQogCi0Jb3V0cHV0X3ZlcmJvc2VfbGlua19jbWQ9ZWNobwotCWlmIHRlc3QgIlgkbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZCIgPSBYeWVzIDsgdGhlbgotCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLWR5bmFtaWNsaWIgJHNpbmdsZV9tb2R1bGUgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgJHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZycKLQkgIGFyY2hpdmVfZXhwc3ltX2NtZHM9J3NlZCAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDICRzaW5nbGVfbW9kdWxlIC1keW5hbWljbGliICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lICRycGF0aC8kc29uYW1lICR2ZXJzdHJpbmd+bm1lZGl0IC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JwotCWVsc2UKLQkgIGFyY2hpdmVfY21kcz0nJENDIC1keW5hbWljbGliICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lICRycGF0aC8kc29uYW1lICR2ZXJzdHJpbmcnCi0JICBhcmNoaXZlX2V4cHN5bV9jbWRzPSdzZWQgInMsXixfLCIgPCAkZXhwb3J0X3N5bWJvbHMgPiAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltfiRDQyAtZHluYW1pY2xpYiAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSAkcnBhdGgvJHNvbmFtZSAkdmVyc3RyaW5nfm5tZWRpdCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKLQlmaQotCW1vZHVsZV9jbWRzPSckQ0MgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgLWJ1bmRsZSAkbGlib2JqcyAkZGVwbGlicyRjb21waWxlcl9mbGFncycKLQltb2R1bGVfZXhwc3ltX2NtZHM9J3NlZCAtZSAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDICRhbGxvd191bmRlZmluZWRfZmxhZyAgLW8gJGxpYiAtYnVuZGxlICRsaWJvYmpzICRkZXBsaWJzJGNvbXBpbGVyX2ZsYWdzfm5tZWRpdCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKLSAgICAgIGVsc2UKLQljYXNlICRjY19iYXNlbmFtZSBpbgotCXhsYyopCi0JICBvdXRwdXRfdmVyYm9zZV9saW5rX2NtZD1lY2hvCi0JICBhcmNoaXZlX2NtZHM9JyRDQyAtcW1rc2hyb2JqICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1pbnN0YWxsX25hbWUgJHt3bH1gJEVDSE8gJHJwYXRoLyRzb25hbWVgICR2ZXJzdHJpbmcnCi0JICBtb2R1bGVfY21kcz0nJENDICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliIC1idW5kbGUgJGxpYm9ianMgJGRlcGxpYnMkY29tcGlsZXJfZmxhZ3MnCi0JICAjIERvbid0IGZpeCB0aGlzIGJ5IHVzaW5nIHRoZSBsZCAtZXhwb3J0ZWRfc3ltYm9sc19saXN0IGZsYWcsIGl0IGRvZXNuJ3QgZXhpc3QgaW4gb2xkZXIgZGFyd2luIGxkcwotCSAgYXJjaGl2ZV9leHBzeW1fY21kcz0nc2VkICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgLXFta3Nocm9iaiAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0taW5zdGFsbF9uYW1lICR7d2x9JHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZ35ubWVkaXQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCi0JICBtb2R1bGVfZXhwc3ltX2NtZHM9J3NlZCAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDICRhbGxvd191bmRlZmluZWRfZmxhZyAgLW8gJGxpYiAtYnVuZGxlICRsaWJvYmpzICRkZXBsaWJzJGNvbXBpbGVyX2ZsYWdzfm5tZWRpdCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKLQkgIDs7Ci0JKikKLQkgIGxkX3NobGlicz1ubwotCSAgOzsKLQllc2FjCi0gICAgICBmaQorCisgIGFyY2hpdmVfY21kc19uZWVkX2xjPW5vCisgIGhhcmRjb2RlX2RpcmVjdD1ubworICBoYXJkY29kZV9hdXRvbWF0aWM9eWVzCisgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9dW5zdXBwb3J0ZWQKKyAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9JycKKyAgbGlua19hbGxfZGVwbGlicz15ZXMKKyAgYWxsb3dfdW5kZWZpbmVkX2ZsYWc9IiRfbHRfZGFyX2FsbG93X3VuZGVmaW5lZCIKKyAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgaWZvcnQqKSBfbHRfZGFyX2Nhbl9zaGFyZWQ9eWVzIDs7CisgICAgICopIF9sdF9kYXJfY2FuX3NoYXJlZD0kR0NDIDs7CisgIGVzYWMKKyAgaWYgdGVzdCAiJF9sdF9kYXJfY2FuX3NoYXJlZCIgPSAieWVzIjsgdGhlbgorICAgIG91dHB1dF92ZXJib3NlX2xpbmtfY21kPWVjaG8KKyAgICBhcmNoaXZlX2NtZHM9IlwkQ0MgLWR5bmFtaWNsaWIgXCRhbGxvd191bmRlZmluZWRfZmxhZyAtbyBcJGxpYiBcJGxpYm9ianMgXCRkZXBsaWJzIFwkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSBcJHJwYXRoL1wkc29uYW1lIFwkdmVyc3RyaW5nICRfbHRfZGFyX3NpbmdsZV9tb2Qke19sdF9kc3ltdXRpbH0iCisgICAgbW9kdWxlX2NtZHM9IlwkQ0MgXCRhbGxvd191bmRlZmluZWRfZmxhZyAtbyBcJGxpYiAtYnVuZGxlIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9mbGFncyR7X2x0X2RzeW11dGlsfSIKKyAgICBhcmNoaXZlX2V4cHN5bV9jbWRzPSJzZWQgJ3MsXixfLCcgPCBcJGV4cG9ydF9zeW1ib2xzID4gXCRvdXRwdXRfb2JqZGlyL1wke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltflwkQ0MgLWR5bmFtaWNsaWIgXCRhbGxvd191bmRlZmluZWRfZmxhZyAtbyBcJGxpYiBcJGxpYm9ianMgXCRkZXBsaWJzIFwkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSBcJHJwYXRoL1wkc29uYW1lIFwkdmVyc3RyaW5nICR7X2x0X2Rhcl9zaW5nbGVfbW9kfSR7X2x0X2Rhcl9leHBvcnRfc3ltc30ke19sdF9kc3ltdXRpbH0iCisgICAgbW9kdWxlX2V4cHN5bV9jbWRzPSJzZWQgLWUgJ3MsXixfLCcgPCBcJGV4cG9ydF9zeW1ib2xzID4gXCRvdXRwdXRfb2JqZGlyL1wke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltflwkQ0MgXCRhbGxvd191bmRlZmluZWRfZmxhZyAtbyBcJGxpYiAtYnVuZGxlIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9mbGFncyR7X2x0X2Rhcl9leHBvcnRfc3ltc30ke19sdF9kc3ltdXRpbH0iCisKKyAgZWxzZQorICBsZF9zaGxpYnM9bm8KKyAgZmkKKwogICAgICAgOzsKIAogICAgIGRndXgqKQpAQCAtODIyOCw3ICs5MjYzLDcgQEAKIAkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJHt3bH0raCAke3dsfSRzb25hbWUgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCiAJICA7OwogCWlhNjQqKQotCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAke3dsfStoICR7d2x9JHNvbmFtZSAke3dsfStub2RlZmF1bHRycGF0aCAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKKwkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgLWZQSUMgJHt3bH0raCAke3dsfSRzb25hbWUgJHt3bH0rbm9kZWZhdWx0cnBhdGggLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCiAJICA7OwogCSopCiAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkIC1mUElDICR7d2x9K2ggJHt3bH0kc29uYW1lICR7d2x9K2IgJHt3bH0kaW5zdGFsbF9saWJkaXIgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCkBAIC04MzQ2LDI1ICs5MzgxLDI5IEBACiAgICAgICA7OwogCiAgICAgb3BlbmJzZCopCi0gICAgICBoYXJkY29kZV9kaXJlY3Q9eWVzCi0gICAgICBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPW5vCi0gICAgICBoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9eWVzCi0gICAgICBpZiB0ZXN0IC16ICJgZWNobyBfX0VMRl9fIHwgJENDIC1FIC0gfCAkR1JFUCBfX0VMRl9fYCIgfHwgdGVzdCAiJGhvc3Rfb3MtJGhvc3RfY3B1IiA9ICJvcGVuYnNkMi44LXBvd2VycGMiOyB0aGVuCi0JYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCi0JYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1zaGFyZWQgJHBpY19mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXJldGFpbi1zeW1ib2xzLWZpbGUsJGV4cG9ydF9zeW1ib2xzJwotCWhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoLCRsaWJkaXInCi0JZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPScke3dsfS1FJwotICAgICAgZWxzZQotICAgICAgICBjYXNlICRob3N0X29zIGluCi0Jb3BlbmJzZFswMV0uKiB8IG9wZW5ic2QyLlswLTddIHwgb3BlbmJzZDIuWzAtN10uKikKLQkgIGFyY2hpdmVfY21kcz0nJExEIC1Cc2hhcmVhYmxlIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKLQkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1SJGxpYmRpcicKLQkgIDs7Ci0JKikKKyAgICAgIGlmIHRlc3QgLWYgL3Vzci9saWJleGVjL2xkLnNvOyB0aGVuCisJaGFyZGNvZGVfZGlyZWN0PXllcworCWhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KKwloYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9eWVzCisJaWYgdGVzdCAteiAiYGVjaG8gX19FTEZfXyB8ICRDQyAtRSAtIHwgJEdSRVAgX19FTEZfX2AiIHx8IHRlc3QgIiRob3N0X29zLSRob3N0X2NwdSIgPSAib3BlbmJzZDIuOC1wb3dlcnBjIjsgdGhlbgogCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCisJICBhcmNoaXZlX2V4cHN5bV9jbWRzPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tcmV0YWluLXN5bWJvbHMtZmlsZSwkZXhwb3J0X3N5bWJvbHMnCiAJICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ycGF0aCwkbGliZGlyJwotCSAgOzsKLSAgICAgICAgZXNhYworCSAgZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPScke3dsfS1FJworCWVsc2UKKwkgIGNhc2UgJGhvc3Rfb3MgaW4KKwkgICBvcGVuYnNkWzAxXS4qIHwgb3BlbmJzZDIuWzAtN10gfCBvcGVuYnNkMi5bMC03XS4qKQorCSAgICAgYXJjaGl2ZV9jbWRzPSckTEQgLUJzaGFyZWFibGUgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzJworCSAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLVIkbGliZGlyJworCSAgICAgOzsKKwkgICAqKQorCSAgICAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCisJICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ycGF0aCwkbGliZGlyJworCSAgICAgOzsKKwkgIGVzYWMKKwlmaQorICAgICAgZWxzZQorCWxkX3NobGlicz1ubwogICAgICAgZmkKICAgICAgIDs7CiAKQEAgLTg4MDMsOCArOTg0Miw4IEBACiAKICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcyIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcy4uLiAkRUNIT19DIiA+JjYKLXdpdGhHQ0M9JEdDQwotaWYgdGVzdCAiJHdpdGhHQ0MiID0geWVzOyB0aGVuCisKK2lmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgIGNhc2UgJGhvc3Rfb3MgaW4KICAgICBkYXJ3aW4qKSBsdF9hd2tfYXJnPSIvXmxpYnJhcmllczovLC9MUi8iIDs7CiAgICAgKikgbHRfYXdrX2FyZz0iL15saWJyYXJpZXM6LyIgOzsKQEAgLTg5MzAsMTMgKzk5NjksMTggQEAKICAgOzsKIAogYW1pZ2FvcyopCi0gIGlmIHRlc3QgIiRob3N0X2NwdSIgPSBtNjhrOyB0aGVuCisgIGNhc2UgJGhvc3RfY3B1IGluCisgIHBvd2VycGMpCisgICAgIyBTaW5jZSBKdWx5IDIwMDcgQW1pZ2FPUzQgb2ZmaWNpYWxseSBzdXBwb3J0cyAuc28gbGlicmFyaWVzLgorICAgICMgV2hlbiBjb21waWxpbmcgdGhlIGV4ZWN1dGFibGUsIGFkZCAtdXNlLWR5bmxkIC1Mc29ianM6IHRvIHRoZSBjb21waWxlbGluZS4KKyAgICBsaWJyYXJ5X25hbWVzX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSR2ZXJzdWZmaXggJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JG1ham9yICRsaWJuYW1lJHtzaGFyZWRfZXh0fScKKyAgICA7OworICBtNjhrKQogICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJGxpYm5hbWUuaXhsaWJyYXJ5ICRsaWJuYW1lLmEnCiAgICAgIyBDcmVhdGUgJHtsaWJuYW1lfV9peGxpYnJhcnkuYSBlbnRyaWVzIGluIC9zeXMvbGlicy4KICAgICBmaW5pc2hfZXZhbD0nZm9yIGxpYiBpbiBgbHMgJGxpYmRpci8qLml4bGlicmFyeSAyPi9kZXYvbnVsbGA7IGRvIGxpYm5hbWU9YCRFQ0hPICJYJGxpYiIgfCAkWHNlZCAtZSAnXCcncyVeLiovXChbXi9dKlwpXC5peGxpYnJhcnkkJVwxJSdcJydgOyB0ZXN0ICRSTSAvc3lzL2xpYnMvJHtsaWJuYW1lfV9peGxpYnJhcnkuYTsgJHNob3cgImNkIC9zeXMvbGlicyAmJiAkTE5fUyAkbGliICR7bGlibmFtZX1faXhsaWJyYXJ5LmEiOyBjZCAvc3lzL2xpYnMgJiYgJExOX1MgJGxpYiAke2xpYm5hbWV9X2l4bGlicmFyeS5hIHx8IGV4aXQgMTsgZG9uZScKLSAgZWxzZQotICAgIGR5bmFtaWNfbGlua2VyPW5vCi0gIGZpCisgICAgOzsKKyAgZXNhYwogICA7OwogCiBiZW9zKikKQEAgLTg5NTksMTQgKzEwMDAzLDE0IEBACiAgICMgbGlidG9vbCB0byBoYXJkLWNvZGUgdGhlc2UgaW50byBwcm9ncmFtcwogICA7OwogCi1jeWd3aW4qIHwgbWluZ3cqIHwgcHczMiopCitjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgIHZlcnNpb25fdHlwZT13aW5kb3dzCiAgIHNocmV4dF9jbWRzPSIuZGxsIgogICBuZWVkX3ZlcnNpb249bm8KICAgbmVlZF9saWJfcHJlZml4PW5vCiAKLSAgY2FzZSAkd2l0aEdDQywkaG9zdF9vcyBpbgotICB5ZXMsY3lnd2luKiB8IHllcyxtaW5ndyogfCB5ZXMscHczMiopCisgIGNhc2UgJEdDQywkaG9zdF9vcyBpbgorICB5ZXMsY3lnd2luKiB8IHllcyxtaW5ndyogfCB5ZXMscHczMiogfCB5ZXMsY2VnY2MqKQogICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJGxpYm5hbWUuZGxsLmEnCiAgICAgIyBETEwgaXMgaW5zdGFsbGVkIHRvICQobGliZGlyKS8uLi9iaW4gYnkgcG9zdGluc3RhbGxfY21kcwogICAgIHBvc3RpbnN0YWxsX2NtZHM9J2Jhc2VfZmlsZT1gYmFzZW5hbWUgXCR7ZmlsZX1gfgpAQCAtODk4OSw3ICsxMDAzMyw3IEBACiAgICAgICBzb25hbWVfc3BlYz0nYGVjaG8gJHtsaWJuYW1lfSB8IHNlZCAtZSAncy9ebGliL2N5Zy8nYGBlY2hvICR7cmVsZWFzZX0gfCAkU0VEIC1lICdzL1suXS8tL2cnYCR7dmVyc3VmZml4fSR7c2hhcmVkX2V4dH0nCiAgICAgICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9Ii91c3IvbGliIC9saWIvdzMyYXBpIC9saWIgL3Vzci9sb2NhbC9saWIiCiAgICAgICA7OwotICAgIG1pbmd3KikKKyAgICBtaW5ndyogfCBjZWdjYyopCiAgICAgICAjIE1pbkdXIERMTHMgdXNlIHRyYWRpdGlvbmFsICdsaWInIHByZWZpeAogICAgICAgc29uYW1lX3NwZWM9JyR7bGlibmFtZX1gZWNobyAke3JlbGVhc2V9IHwgJFNFRCAtZSAncy9bLl0vLS9nJ2Ake3ZlcnN1ZmZpeH0ke3NoYXJlZF9leHR9JwogICAgICAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPWAkQ0MgLXByaW50LXNlYXJjaC1kaXJzIHwgJEdSRVAgIl5saWJyYXJpZXM6IiB8ICRTRUQgLWUgInMvXmxpYnJhcmllczovLyIgLWUgInMsPS8sLyxnImAKQEAgLTkyNTUsNyArMTAyOTksNyBAQAogICBhY19zdGF0dXM9JD8KICAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQogICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgotICBpZiAgKCRPQkpEVU1QIC1wIGNvbmZ0ZXN0JGFjX2V4ZWV4dCkgMj4vZGV2L251bGwgfCBncmVwICJSVU5QQVRILiokbGliZGlyIjsgdGhlbgorICBpZiAgKCRPQkpEVU1QIC1wIGNvbmZ0ZXN0JGFjX2V4ZWV4dCkgMj4vZGV2L251bGwgfCBncmVwICJSVU5QQVRILiokbGliZGlyIiA+L2Rldi9udWxsOyB0aGVuCiAgIHNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aD15ZXMKIGZpCiAKQEAgLTkyNzYsNyArMTAzMjAsNyBAQAogCiAgICMgQXBwZW5kIGxkLnNvLmNvbmYgY29udGVudHMgdG8gdGhlIHNlYXJjaCBwYXRoCiAgIGlmIHRlc3QgLWYgL2V0Yy9sZC5zby5jb25mOyB0aGVuCi0gICAgbHRfbGRfZXh0cmE9YGF3ayAnL15pbmNsdWRlIC8geyBzeXN0ZW0oc3ByaW50ZigiY2QgL2V0YzsgY2F0ICVzIDI+L2Rldi9udWxsIiwgXCQyKSk7IHNraXAgPSAxOyB9IHsgaWYgKCFza2lwKSBwcmludCBcJDA7IHNraXAgPSAwOyB9JyA8IC9ldGMvbGQuc28uY29uZiB8ICRTRUQgLWUgJ3MvIy4qLy87cy9bOiwJXS8gL2c7cy89W149XSokLy87cy89W149IF0qIC8gL2c7L14kL2QnIHwgdHIgJ1xuJyAnICdgCisgICAgbHRfbGRfZXh0cmE9YGF3ayAnL15pbmNsdWRlIC8geyBzeXN0ZW0oc3ByaW50ZigiY2QgL2V0YzsgY2F0ICVzIDI+L2Rldi9udWxsIiwgXCQyKSk7IHNraXAgPSAxOyB9IHsgaWYgKCFza2lwKSBwcmludCBcJDA7IHNraXAgPSAwOyB9JyA8IC9ldGMvbGQuc28uY29uZiB8ICRTRUQgLWUgJ3MvIy4qLy87L15bCSBdKmh3Y2FwWwkgXS9kO3MvWzosCV0vIC9nO3MvPVtePV0qJC8vO3MvPVtePSBdKiAvIC9nOy9eJC9kJyB8IHRyICdcbicgJyAnYAogICAgIHN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjPSIvbGliIC91c3IvbGliICRsdF9sZF9leHRyYSIKICAgZmkKIApAQCAtOTQ2MCw3ICsxMDUwNCw3IEBACiAgIHZlcnNpb25fdHlwZT1saW51eAogICBuZWVkX2xpYl9wcmVmaXg9bm8KICAgbmVlZF92ZXJzaW9uPW5vCi0gIGxpYnJhcnlfbmFtZV9zcGVjPScke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kdmVyc3VmZml4ICR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSRtYWpvciAkbGlibmFtZSR7c2hhcmVkX2V4dH0nCisgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JHZlcnN1ZmZpeCAke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kbWFqb3IgJGxpYm5hbWUke3NoYXJlZF9leHR9JwogICBzaGxpYnBhdGhfdmFyPUxEX0xJQlJBUllfUEFUSAogICBzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9bm8KICAgaGFyZGNvZGVfaW50b19saWJzPXllcwpAQCAtOTQ4Niw2ICsxMDUzMCwxMyBAQAogICB2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluaz0iJHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rIEdDQ19FWEVDX1BSRUZJWCBDT01QSUxFUl9QQVRIIExJQlJBUllfUEFUSCIKIGZpCiAKK2lmIHRlc3QgIiR7bHRfY3Zfc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjK3NldH0iID0gc2V0OyB0aGVuCisgIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz0iJGx0X2N2X3N5c19saWJfc2VhcmNoX3BhdGhfc3BlYyIKK2ZpCitpZiB0ZXN0ICIke2x0X2N2X3N5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjK3NldH0iID0gc2V0OyB0aGVuCisgIHN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjPSIkbHRfY3Zfc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWMiCitmaQorCiAKIAogCkBAIC05NjMwLDcgKzEwNjgxLDcgQEAKICAgICBsdF9jdl9kbG9wZW5fc2VsZj15ZXMKICAgICA7OwogCi0gIG1pbmd3KiB8IHB3MzIqKQorICBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgICBsdF9jdl9kbG9wZW49IkxvYWRMaWJyYXJ5IgogICAgIGx0X2N2X2Rsb3Blbl9saWJzPQogICAgIDs7CkBAIC05ODc3LDcgKzEwOTI4LDcgQEAKIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9saWJfZGxkX3NobF9sb2FkIiA+JjUKIGVjaG8gIiR7RUNIT19UfSRhY19jdl9saWJfZGxkX3NobF9sb2FkIiA+JjYKIGlmIHRlc3QgJGFjX2N2X2xpYl9kbGRfc2hsX2xvYWQgPSB5ZXM7IHRoZW4KLSAgbHRfY3ZfZGxvcGVuPSJzaGxfbG9hZCIgbHRfY3ZfZGxvcGVuX2xpYnM9Ii1kbGQiCisgIGx0X2N2X2Rsb3Blbj0ic2hsX2xvYWQiIGx0X2N2X2Rsb3Blbl9saWJzPSItbGRsZCIKIGVsc2UKICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBkbG9wZW4iID4mNQogZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgZGxvcGVuLi4uICRFQ0hPX0MiID4mNgpAQCAtMTAxNzEsNyArMTEyMjIsNyBAQAogZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2xpYl9kbGRfZGxkX2xpbmsiID4mNQogZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2xpYl9kbGRfZGxkX2xpbmsiID4mNgogaWYgdGVzdCAkYWNfY3ZfbGliX2RsZF9kbGRfbGluayA9IHllczsgdGhlbgotICBsdF9jdl9kbG9wZW49ImRsZF9saW5rIiBsdF9jdl9kbG9wZW5fbGlicz0iLWRsZCIKKyAgbHRfY3ZfZGxvcGVuPSJkbGRfbGluayIgbHRfY3ZfZGxvcGVuX2xpYnM9Ii1sZGxkIgogZmkKIAogCkBAIC0xMDIyMCw3ICsxMTI3MSw3IEBACiAgIGx0X2RsdW5rbm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5lZWRfdXNjb3JlPTIKICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9FT0YKLSNsaW5lIDEwMjIzICJjb25maWd1cmUiCisjbGluZSAxMTI3NCAiY29uZmlndXJlIgogI2luY2x1ZGUgImNvbmZkZWZzLmgiCiAKICNpZiBIQVZFX0RMRkNOX0gKQEAgLTEwMjYxLDEwICsxMTMxMiw2IEBACiAjICBlbmRpZgogI2VuZGlmCiAKLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIiB2b2lkIGV4aXQgKGludCk7Ci0jZW5kaWYKLQogdm9pZCBmbm9yZCgpIHsgaW50IGk9NDI7fQogaW50IG1haW4gKCkKIHsKQEAgLTEwMjgwLDcgKzExMzI3LDcgQEAKICAgZWxzZQogICAgIHB1dHMgKGRsZXJyb3IgKCkpOwogCi0gICAgZXhpdCAoc3RhdHVzKTsKKyAgcmV0dXJuIHN0YXR1czsKIH0KIF9MVF9FT0YKICAgaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfbGlua1wiIikgPiY1CkBAIC0xMDMyMCw3ICsxMTM2Nyw3IEBACiAgIGx0X2RsdW5rbm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5lZWRfdXNjb3JlPTIKICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9FT0YKLSNsaW5lIDEwMzIzICJjb25maWd1cmUiCisjbGluZSAxMTM3MCAiY29uZmlndXJlIgogI2luY2x1ZGUgImNvbmZkZWZzLmgiCiAKICNpZiBIQVZFX0RMRkNOX0gKQEAgLTEwMzYxLDEwICsxMTQwOCw2IEBACiAjICBlbmRpZgogI2VuZGlmCiAKLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIiB2b2lkIGV4aXQgKGludCk7Ci0jZW5kaWYKLQogdm9pZCBmbm9yZCgpIHsgaW50IGk9NDI7fQogaW50IG1haW4gKCkKIHsKQEAgLTEwMzgwLDcgKzExNDIzLDcgQEAKICAgZWxzZQogICAgIHB1dHMgKGRsZXJyb3IgKCkpOwogCi0gICAgZXhpdCAoc3RhdHVzKTsKKyAgcmV0dXJuIHN0YXR1czsKIH0KIF9MVF9FT0YKICAgaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfbGlua1wiIikgPiY1CkBAIC0xMDk3MSw3ICsxMjAxNCw3IEBACiAgIExFWD0ke2FtX21pc3NpbmdfcnVufWZsZXgKIGZpCiAKLUFMTF9MSU5HVUFTPSJmciB0ciBqYSBlcyBzdiBkYSB6aF9DTiBydSBybyBydyB6aF9UVyBmaSB2aSB1ayBzayIKK0FMTF9MSU5HVUFTPSJkYSBlcyBmaSBmciBpZCBqYSBybyBydSBydyBzayBzdiB0ciB1ayB2aSB6aF9DTiB6aF9UVyIKICMgSWYgd2UgaGF2ZW4ndCBnb3QgdGhlIGRhdGEgZnJvbSB0aGUgaW50bCBkaXJlY3RvcnksCiAjIGFzc3VtZSBOTFMgaXMgZGlzYWJsZWQuCiBVU0VfTkxTPW5vCkBAIC0xNTgyOSw2ICsxNjg3Miw3IEBACiBsdF9OTDJTUD0nYCRFQ0hPICJYJGx0X05MMlNQIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiByZWxvYWRfZmxhZz0nYCRFQ0hPICJYJHJlbG9hZF9mbGFnIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiByZWxvYWRfY21kcz0nYCRFQ0hPICJYJHJlbG9hZF9jbWRzIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitPQkpEVU1QPSdgJEVDSE8gIlgkT0JKRFVNUCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogZGVwbGlic19jaGVja19tZXRob2Q9J2AkRUNITyAiWCRkZXBsaWJzX2NoZWNrX21ldGhvZCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogZmlsZV9tYWdpY19jbWQ9J2AkRUNITyAiWCRmaWxlX21hZ2ljX2NtZCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogQVI9J2AkRUNITyAiWCRBUiIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMTU4NDUsNiArMTY4ODksNyBAQAogbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nYCRFQ0hPICJYJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSdgJEVDSE8gIlgkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSdgJEVDSE8gIlgkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKK2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9J2AkRUNITyAiWCRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4IiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBvYmpkaXI9J2AkRUNITyAiWCRvYmpkaXIiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIFNIRUxMPSdgJEVDSE8gIlgkU0hFTEwiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIEVDSE89J2AkRUNITyAiWCRFQ0hPIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0xNTg1NSw2ICsxNjkwMCwxMSBAQAogbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9J2AkRUNITyAiWCRsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogbHRfY3ZfcHJvZ19jb21waWxlcl9jX289J2AkRUNITyAiWCRsdF9jdl9wcm9nX2NvbXBpbGVyX2NfbyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogbmVlZF9sb2Nrcz0nYCRFQ0hPICJYJG5lZWRfbG9ja3MiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKK0RTWU1VVElMPSdgJEVDSE8gIlgkRFNZTVVUSUwiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKK05NRURJVD0nYCRFQ0hPICJYJE5NRURJVCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJworTElQTz0nYCRFQ0hPICJYJExJUE8iIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKK09UT09MPSdgJEVDSE8gIlgkT1RPT0wiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKK09UT09MNjQ9J2AkRUNITyAiWCRPVE9PTDY0IiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBsaWJleHQ9J2AkRUNITyAiWCRsaWJleHQiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIHNocmV4dF9jbWRzPSdgJEVDSE8gIlgkc2hyZXh0X2NtZHMiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIGV4dHJhY3RfZXhwc3ltc19jbWRzPSdgJEVDSE8gIlgkZXh0cmFjdF9leHBzeW1zX2NtZHMiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTE1OTI4LDYgKzE2OTc4LDcgQEAKIGx0X1NQMk5MIFwKIGx0X05MMlNQIFwKIHJlbG9hZF9mbGFnIFwKK09CSkRVTVAgXAogZGVwbGlic19jaGVja19tZXRob2QgXAogZmlsZV9tYWdpY19jbWQgXAogQVIgXApAQCAtMTU5NDAsNiArMTY5OTEsNyBAQAogbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBcCiBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbCBcCiBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyBcCitsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4IFwKIFNIRUxMIFwKIEVDSE8gXAogbHRfcHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWcgXApAQCAtMTU5NDgsNiArMTcwMDAsMTEgQEAKIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljIFwKIGx0X2N2X3Byb2dfY29tcGlsZXJfY19vIFwKIG5lZWRfbG9ja3MgXAorRFNZTVVUSUwgXAorTk1FRElUIFwKK0xJUE8gXAorT1RPT0wgXAorT1RPT0w2NCBcCiBzaHJleHRfY21kcyBcCiBleHBvcnRfZHluYW1pY19mbGFnX3NwZWMgXAogd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMgXApAQCAtMTYyMDMsMTEgKzE3MjYwLDIzIEBACiBzLEBhY19jdF9EVU1QQklOQCwkYWNfY3RfRFVNUEJJTiw7dCB0CiBzLEBOTUAsJE5NLDt0IHQKIHMsQExOX1NALCRMTl9TLDt0IHQKK3MsQE9CSkRVTVBALCRPQkpEVU1QLDt0IHQKK3MsQGFjX2N0X09CSkRVTVBALCRhY19jdF9PQkpEVU1QLDt0IHQKIHMsQEFSQCwkQVIsO3QgdAogcyxAYWNfY3RfQVJALCRhY19jdF9BUiw7dCB0CiBzLEBSQU5MSUJALCRSQU5MSUIsO3QgdAogcyxAYWNfY3RfUkFOTElCQCwkYWNfY3RfUkFOTElCLDt0IHQKIHMsQGx0X0VDSE9ALCRsdF9FQ0hPLDt0IHQKK3MsQERTWU1VVElMQCwkRFNZTVVUSUwsO3QgdAorcyxAYWNfY3RfRFNZTVVUSUxALCRhY19jdF9EU1lNVVRJTCw7dCB0CitzLEBOTUVESVRALCROTUVESVQsO3QgdAorcyxAYWNfY3RfTk1FRElUQCwkYWNfY3RfTk1FRElULDt0IHQKK3MsQExJUE9ALCRMSVBPLDt0IHQKK3MsQGFjX2N0X0xJUE9ALCRhY19jdF9MSVBPLDt0IHQKK3MsQE9UT09MQCwkT1RPT0wsO3QgdAorcyxAYWNfY3RfT1RPT0xALCRhY19jdF9PVE9PTCw7dCB0CitzLEBPVE9PTDY0QCwkT1RPT0w2NCw7dCB0CitzLEBhY19jdF9PVE9PTDY0QCwkYWNfY3RfT1RPT0w2NCw7dCB0CiBzLEBXQVJOX0NGTEFHU0AsJFdBUk5fQ0ZMQUdTLDt0IHQKIHMsQE5PX1dFUlJPUkAsJE5PX1dFUlJPUiw7dCB0CiBzLEBZQUNDQCwkWUFDQyw7dCB0CkBAIC0xNjk1NywzNiArMTgwMjYsMzYgQEAKICMhICRTSEVMTAogCiAjIGAkRUNITyAiJG9maWxlIiB8IHNlZCAncyVeLiovJSUnYCAtIFByb3ZpZGUgZ2VuZXJhbGl6ZWQgbGlicmFyeS1idWlsZGluZyBzdXBwb3J0IHNlcnZpY2VzLgotIyBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSAkYXNfbWUgKEdOVSAkUEFDS0FHRSRUSU1FU1RBTVApICRWRVJTSU9OCisjIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5ICRhc19tZSAoJFBBQ0tBR0UkVElNRVNUQU1QKSAkVkVSU0lPTgogIyBMaWJ0b29sIHdhcyBjb25maWd1cmVkIG9uIGhvc3QgYChob3N0bmFtZSB8fCB1bmFtZSAtbikgMj4vZGV2L251bGwgfCBzZWQgMXFgOgogIyBOT1RFOiBDaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgYmUgbG9zdDogbG9vayBhdCBsdG1haW4uc2guCiAjCi0jIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMywgMjAwNCwgMjAwNSwKLSMgMjAwNiwgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgICBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsCisjICAgICAgICAgICAgICAgICAyMDA2LCAyMDA3LCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyAgIFdyaXR0ZW4gYnkgR29yZG9uIE1hdHppZ2tlaXQsIDE5OTYKICMKLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIExpYnRvb2w6Ci0jIE9yaWdpbmFsbHkgYnkgR29yZG9uIE1hdHppZ2tlaXQgPGdvcmRAZ251LmFpLm1pdC5lZHU+LCAxOTk2CisjICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIExpYnRvb2wuCiAjCi0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0jIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjIEdOVSBMaWJ0b29sIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworIyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorIyB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICMKLSMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAotIyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCisjIGlmIHlvdSBkaXN0cmlidXRlIHRoaXMgZmlsZSBhcyBwYXJ0IG9mIGEgcHJvZ3JhbSBvciBsaWJyYXJ5IHRoYXQKKyMgaXMgYnVpbHQgdXNpbmcgR05VIExpYnRvb2wsIHlvdSBtYXkgaW5jbHVkZSB0aGlzIGZpbGUgdW5kZXIgdGhlCisjIHNhbWUgZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgorIworIyBHTlUgTGlidG9vbCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAjCiAjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIGEgY29weSBjYW4gYmUgZG93bmxvYWRlZCBmcm9tCi0jIGh0dHA6Ly93d3cuZ251Lm9yZy9jb3B5bGVmdC9ncGwuaHRtbCwgb3IgYnkgd3JpdGluZyB0byB0aGUgRnJlZQotIyBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCi0jIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSMKLSMgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGlmIHlvdQotIyBkaXN0cmlidXRlIHRoaXMgZmlsZSBhcyBwYXJ0IG9mIGEgcHJvZ3JhbSB0aGF0IGNvbnRhaW5zIGEKLSMgY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGVkIGJ5IEF1dG9jb25mLCB5b3UgbWF5IGluY2x1ZGUgaXQgdW5kZXIKLSMgdGhlIHNhbWUgZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgorIyBhbG9uZyB3aXRoIEdOVSBMaWJ0b29sOyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgYSBjb3B5CisjIGNhbiBiZSBkb3dubG9hZGVkIGZyb20gaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sLCBvcgorIyBvYnRhaW5lZCBieSB3cml0aW5nIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisjIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogCiAKICMgVGhlIG5hbWVzIG9mIHRoZSB0YWdnZWQgY29uZmlndXJhdGlvbnMgc3VwcG9ydGVkIGJ5IHRoaXMgc2NyaXB0LgpAQCAtMTcwNjMsNiArMTgxMzIsOSBAQAogcmVsb2FkX2ZsYWc9JGx0X3JlbG9hZF9mbGFnCiByZWxvYWRfY21kcz0kbHRfcmVsb2FkX2NtZHMKIAorIyBBbiBvYmplY3Qgc3ltYm9sIGR1bXBlci4KK09CSkRVTVA9JGx0X09CSkRVTVAKKwogIyBNZXRob2QgdG8gY2hlY2sgd2hldGhlciBkZXBlbmRlbnQgbGlicmFyaWVzIGFyZSBzaGFyZWQgb2JqZWN0cy4KIGRlcGxpYnNfY2hlY2tfbWV0aG9kPSRsdF9kZXBsaWJzX2NoZWNrX21ldGhvZAogCkBAIC0xNzA5Niw2ICsxODE2OCw5IEBACiAjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpci4KIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9JGx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzCiAKKyMgVHJhbnNmb3JtIHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBDIG5hbWUgYWRkcmVzcyBwYWlyIHdoZW4gbGliIHByZWZpeCBpcyBuZWVkZWQuCitnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9JGx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgKKwogIyBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5IHRoYXQgY29udGFpbnMgdGVtcG9yYXJ5IGxpYnRvb2wgZmlsZXMuCiBvYmpkaXI9JG9iamRpcgogCkBAIC0xNzExMSw2ICsxODE4NiwyMSBAQAogIyBNdXN0IHdlIGxvY2sgZmlsZXMgd2hlbiBkb2luZyBjb21waWxhdGlvbj8KIG5lZWRfbG9ja3M9JGx0X25lZWRfbG9ja3MKIAorIyBUb29sIHRvIG1hbmlwdWxhdGUgYXJjaGl2ZWQgRFdBUkYgZGVidWcgc3ltYm9sIGZpbGVzIG9uIE1hYyBPUyBYLgorRFNZTVVUSUw9JGx0X0RTWU1VVElMCisKKyMgVG9vbCB0byBjaGFuZ2UgZ2xvYmFsIHRvIGxvY2FsIHN5bWJvbHMgb24gTWFjIE9TIFguCitOTUVESVQ9JGx0X05NRURJVAorCisjIFRvb2wgdG8gbWFuaXB1bGF0ZSBmYXQgb2JqZWN0cyBhbmQgYXJjaGl2ZXMgb24gTWFjIE9TIFguCitMSVBPPSRsdF9MSVBPCisKKyMgbGRkL3JlYWRlbGYgbGlrZSB0b29sIGZvciBNYWNoLU8gYmluYXJpZXMgb24gTWFjIE9TIFguCitPVE9PTD0kbHRfT1RPT0wKKworIyBsZGQvcmVhZGVsZiBsaWtlIHRvb2wgZm9yIDY0IGJpdCBNYWNoLU8gYmluYXJpZXMgb24gTWFjIE9TIFggMTAuNC4KK09UT09MNjQ9JGx0X09UT09MNjQKKwogIyBPbGQgYXJjaGl2ZSBzdWZmaXggKG5vcm1hbGx5ICJhIikuCiBsaWJleHQ9JGxpYmV4dAogCkBAIC0xNzM1MSw2ICsxODQ0MSw3IEBACiAgIGNhc2UgJHhzaV9zaGVsbCBpbgogICB5ZXMpCiAgICAgY2F0IDw8IFxfTFRfRU9GID4+ICIkY2ZnZmlsZSIKKwogIyBmdW5jX2Rpcm5hbWUgZmlsZSBhcHBlbmQgbm9uZGlyX3JlcGxhY2VtZW50CiAjIENvbXB1dGUgdGhlIGRpcm5hbWUgb2YgRklMRS4gIElmIG5vbmVtcHR5LCBhZGQgQVBQRU5EIHRvIHRoZSByZXN1bHQsCiAjIG90aGVyd2lzZSBzZXQgcmVzdWx0IHRvIE5PTkRJUl9SRVBMQUNFTUVOVC4KQEAgLTE3MzY4LDYgKzE4NDU5LDI3IEBACiAgIGZ1bmNfYmFzZW5hbWVfcmVzdWx0PSIkezEjIyovfSIKIH0KIAorIyBmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lIGZpbGUgYXBwZW5kIG5vbmRpcl9yZXBsYWNlbWVudAorIyBwZXJmb3JtIGZ1bmNfYmFzZW5hbWUgYW5kIGZ1bmNfZGlybmFtZSBpbiBhIHNpbmdsZSBmdW5jdGlvbgorIyBjYWxsOgorIyAgIGRpcm5hbWU6ICBDb21wdXRlIHRoZSBkaXJuYW1lIG9mIEZJTEUuICBJZiBub25lbXB0eSwKKyMgICAgICAgICAgICAgYWRkIEFQUEVORCB0byB0aGUgcmVzdWx0LCBvdGhlcndpc2Ugc2V0IHJlc3VsdAorIyAgICAgICAgICAgICB0byBOT05ESVJfUkVQTEFDRU1FTlQuCisjICAgICAgICAgICAgIHZhbHVlIHJldHVybmVkIGluICIkZnVuY19kaXJuYW1lX3Jlc3VsdCIKKyMgICBiYXNlbmFtZTogQ29tcHV0ZSBmaWxlbmFtZSBvZiBGSUxFLgorIyAgICAgICAgICAgICB2YWx1ZSByZXR1bmVkIGluICIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCisjIEltcGxlbWVudGF0aW9uIG11c3QgYmUga2VwdCBzeW5jaHJvbml6ZWQgd2l0aCBmdW5jX2Rpcm5hbWUKKyMgYW5kIGZ1bmNfYmFzZW5hbWUuIEZvciBlZmZpY2llbmN5LCB3ZSBkbyBub3QgZGVsZWdhdGUgdG8KKyMgdGhvc2UgZnVuY3Rpb25zIGJ1dCBpbnN0ZWFkIGR1cGxpY2F0ZSB0aGUgZnVuY3Rpb25hbGl0eSBoZXJlLgorZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSAoKQoreworICBjYXNlICR7MX0gaW4KKyAgICAqLyopIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7MSUvKn0kezJ9IiA7OworICAgICogICkgZnVuY19kaXJuYW1lX3Jlc3VsdD0iJHszfSIgOzsKKyAgZXNhYworICBmdW5jX2Jhc2VuYW1lX3Jlc3VsdD0iJHsxIyMqL30iCit9CisKICMgZnVuY19zdHJpcG5hbWUgcHJlZml4IHN1ZmZpeCBuYW1lCiAjIHN0cmlwIFBSRUZJWCBhbmQgU1VGRklYIG9mZiBvZiBOQU1FLgogIyBQUkVGSVggYW5kIFNVRkZJWCBtdXN0IG5vdCBjb250YWluIGdsb2JiaW5nIG9yIHJlZ2V4IHNwZWNpYWwKQEAgLTE3Mzk3LDEwICsxODUwOSwzMSBAQAogICAgICopICAgIGZ1bmNfbG8yb19yZXN1bHQ9JHsxfSA7OwogICBlc2FjCiB9CisKKyMgZnVuY194Zm9ybSBsaWJvYmotb3Itc291cmNlCitmdW5jX3hmb3JtICgpCit7CisgIGZ1bmNfeGZvcm1fcmVzdWx0PSR7MSUuKn0ubG8KK30KKworIyBmdW5jX2FyaXRoIGFyaXRobWV0aWMtdGVybS4uLgorZnVuY19hcml0aCAoKQoreworICBmdW5jX2FyaXRoX3Jlc3VsdD0kKCggJCogKSkKK30KKworIyBmdW5jX2xlbiBzdHJpbmcKKyMgU1RSSU5HIG1heSBub3Qgc3RhcnQgd2l0aCBhIGh5cGhlbi4KK2Z1bmNfbGVuICgpCit7CisgIGZ1bmNfbGVuX3Jlc3VsdD0keyMxfQorfQorCiBfTFRfRU9GCiAgICAgOzsKICAgKikgIyBCb3VybmUgY29tcGF0aWJsZSBmdW5jdGlvbnMuCiAgICAgY2F0IDw8IFxfTFRfRU9GID4+ICIkY2ZnZmlsZSIKKwogIyBmdW5jX2Rpcm5hbWUgZmlsZSBhcHBlbmQgbm9uZGlyX3JlcGxhY2VtZW50CiAjIENvbXB1dGUgdGhlIGRpcm5hbWUgb2YgRklMRS4gIElmIG5vbmVtcHR5LCBhZGQgQVBQRU5EIHRvIHRoZSByZXN1bHQsCiAjIG90aGVyd2lzZSBzZXQgcmVzdWx0IHRvIE5PTkRJUl9SRVBMQUNFTUVOVC4KQEAgLTE3NDIxLDYgKzE4NTU0LDcgQEAKICAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9YCRFQ0hPICJYJHsxfSIgfCAkWHNlZCAtZSAiJGJhc2VuYW1lImAKIH0KIAorCiAjIGZ1bmNfc3RyaXBuYW1lIHByZWZpeCBzdWZmaXggbmFtZQogIyBzdHJpcCBQUkVGSVggYW5kIFNVRkZJWCBvZmYgb2YgTkFNRS4KICMgUFJFRklYIGFuZCBTVUZGSVggbXVzdCBub3QgY29udGFpbiBnbG9iYmluZyBvciByZWdleCBzcGVjaWFsCkBAIC0xNzQ1Myw2ICsxODU4NywyNiBAQAogewogICBmdW5jX2xvMm9fcmVzdWx0PWAkRUNITyAiWCR7MX0iIHwgJFhzZWQgLWUgIiRsbzJvImAKIH0KKworIyBmdW5jX3hmb3JtIGxpYm9iai1vci1zb3VyY2UKK2Z1bmNfeGZvcm0gKCkKK3sKKyAgZnVuY194Zm9ybV9yZXN1bHQ9YCRFQ0hPICJYJHsxfSIgfCAkWHNlZCAtZSAncy9cLlteLl0qJC8ubG8vJ2AKK30KKworIyBmdW5jX2FyaXRoIGFyaXRobWV0aWMtdGVybS4uLgorZnVuY19hcml0aCAoKQoreworICBmdW5jX2FyaXRoX3Jlc3VsdD1gZXhwciAiJEAiYAorfQorCisjIGZ1bmNfbGVuIHN0cmluZworIyBTVFJJTkcgbWF5IG5vdCBzdGFydCB3aXRoIGEgaHlwaGVuLgorZnVuY19sZW4gKCkKK3sKKyAgZnVuY19sZW5fcmVzdWx0PWBleHByICIkMSIgOiAiLioiIDI+L2Rldi9udWxsIHx8IGVjaG8gJG1heF9jbWRfbGVuYAorfQorCiBfTFRfRU9GCiBlc2FjCiAKQEAgLTE3NDc3LDYgKzE4NjMxLDcgQEAKIHsKICAgZXZhbCAiJDE9XCQkMVwkMiIKIH0KKwogX0xUX0VPRgogICAgIDs7CiAgIGVzYWMKZGlmZiAtLWdpdCBhL2JpbnV0aWxzL2NvbmZpZ3VyZS5pbiBiL2JpbnV0aWxzL2NvbmZpZ3VyZS5pbgppbmRleCBkNjM0NDY1Li5iNGQ0ZGNkIDEwMDY0NAotLS0gYS9iaW51dGlscy9jb25maWd1cmUuaW4KKysrIGIvYmludXRpbHMvY29uZmlndXJlLmluCkBAIC0xNSw2ICsxNSw3IEBACiBBQ19QUk9HX0NDCiBBQ19HTlVfU09VUkNFCiBBQ19VU0VfU1lTVEVNX0VYVEVOU0lPTlMKK0FDX1NZU19MQVJHRUZJTEUKIExUX0lOSVQKIAogQUNfQVJHX0VOQUJMRSh0YXJnZXRzLApAQCAtNDcsNyArNDgsNyBAQAogQUNfUFJPR19ZQUNDCiBBTV9QUk9HX0xFWAogCi1BTExfTElOR1VBUz0iZnIgdHIgamEgZXMgc3YgZGEgemhfQ04gcnUgcm8gcncgemhfVFcgZmkgdmkgdWsgc2siCitBTExfTElOR1VBUz0iZGEgZXMgZmkgZnIgaWQgamEgcm8gcnUgcncgc2sgc3YgdHIgdWsgdmkgemhfQ04gemhfVFciCiBaV19HTlVfR0VUVEVYVF9TSVNURVJfRElSCiBBTV9QT19TVUJESVJTCiAKZGlmZiAtLWdpdCBhL2JpbnV0aWxzL2RsbHRvb2wuYyBiL2JpbnV0aWxzL2RsbHRvb2wuYwppbmRleCA1MDU0MDJiLi4xZTJmMWY5IDEwMDY0NAotLS0gYS9iaW51dGlscy9kbGx0b29sLmMKKysrIGIvYmludXRpbHMvZGxsdG9vbC5jCkBAIC0yNDEsOCArMjQxLDggQEAKIAogI2RlZmluZSBzaG93X2FsbG5hbWVzIDAKIAotI2RlZmluZSBQQUdFX1NJWkUgNDA5NgotI2RlZmluZSBQQUdFX01BU0sgKC1QQUdFX1NJWkUpCisjZGVmaW5lIFBBR0VfU0laRSAoKGJmZF92bWEpIDQwOTYpCisjZGVmaW5lIFBBR0VfTUFTSyAoKGJmZF92bWEpICgtNDA5NikpCiAjaW5jbHVkZSAic3lzZGVwLmgiCiAjaW5jbHVkZSAiYmZkLmgiCiAjaW5jbHVkZSAibGliaWJlcnR5LmgiCkBAIC03MTIsNyArNzEyLDcgQEAKIHN0YXRpYyB2b2lkIHNjYW5fb2JqX2ZpbGUgKGNvbnN0IGNoYXIgKik7CiBzdGF0aWMgdm9pZCBkdW1wX2RlZl9pbmZvIChGSUxFICopOwogc3RhdGljIGludCBzZnVuYyAoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopOwotc3RhdGljIHZvaWQgZmx1c2hfcGFnZSAoRklMRSAqLCBsb25nICosIGludCwgaW50KTsKK3N0YXRpYyB2b2lkIGZsdXNoX3BhZ2UgKEZJTEUgKiwgYmZkX3ZtYSAqLCBiZmRfdm1hLCBpbnQpOwogc3RhdGljIHZvaWQgZ2VuX2RlZl9maWxlICh2b2lkKTsKIHN0YXRpYyB2b2lkIGdlbmVyYXRlX2lkYXRhX29maWxlIChGSUxFICopOwogc3RhdGljIHZvaWQgYXNzZW1ibGVfZmlsZSAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwpAQCAtMTU4NCwxOCArMTU4NCwyMSBAQAogc3RhdGljIGludAogc2Z1bmMgKGNvbnN0IHZvaWQgKmEsIGNvbnN0IHZvaWQgKmIpCiB7Ci0gIHJldHVybiAqKGNvbnN0IGxvbmcgKikgYSAtICooY29uc3QgbG9uZyAqKSBiOworICBpZiAoKihjb25zdCBiZmRfdm1hICopIGEgPT0gKihjb25zdCBiZmRfdm1hICopIGIpCisgICAgcmV0dXJuIDA7CisKKyAgcmV0dXJuICgoKihjb25zdCBiZmRfdm1hICopIGEgPiAqKGNvbnN0IGJmZF92bWEgKikgYikgPyAxIDogLTEpOwogfQogCiBzdGF0aWMgdm9pZAotZmx1c2hfcGFnZSAoRklMRSAqZiwgbG9uZyAqbmVlZCwgaW50IHBhZ2VfYWRkciwgaW50IG9uX3BhZ2UpCitmbHVzaF9wYWdlIChGSUxFICpmLCBiZmRfdm1hICpuZWVkLCBiZmRfdm1hIHBhZ2VfYWRkciwgaW50IG9uX3BhZ2UpCiB7CiAgIGludCBpOwogCiAgIC8qIEZsdXNoIHRoaXMgcGFnZS4gICovCiAgIGZwcmludGYgKGYsICJcdCVzXHQweCUwOHhcdCVzIFN0YXJ0aW5nIFJWQSBmb3IgY2h1bmtcbiIsCiAJICAgQVNNX0xPTkcsCi0JICAgcGFnZV9hZGRyLAorCSAgIChpbnQpIHBhZ2VfYWRkciwKIAkgICBBU01fQyk7CiAgIGZwcmludGYgKGYsICJcdCVzXHQweCV4XHQlcyBTaXplIG9mIGJsb2NrXG4iLAogCSAgIEFTTV9MT05HLApAQCAtMTYwNCwxMiArMTYwNywyMCBAQAogCiAgIGZvciAoaSA9IDA7IGkgPCBvbl9wYWdlOyBpKyspCiAgICAgewotICAgICAgdW5zaWduZWQgbG9uZyBuZWVkZWQgPSBuZWVkW2ldOworICAgICAgYmZkX3ZtYSBuZWVkZWQgPSBuZWVkW2ldOwogCiAgICAgICBpZiAobmVlZGVkKQotCW5lZWRlZCA9ICgobmVlZGVkIC0gcGFnZV9hZGRyKSB8IDB4MzAwMCkgJiAweGZmZmY7CisgICAgICAgIHsKKyNpZm5kZWYgRExMVE9PTF9NWDg2XzY0CisJICAvKiBSZWxvY2F0aW9uIHZpYSBISUdITE9XLiAgKi8KKyAgICAgICAgICBuZWVkZWQgPSAoKG5lZWRlZCAtIHBhZ2VfYWRkcikgfCAweDMwMDApICYgMHhmZmZmOworI2Vsc2UKKwkgIC8qIFJlbG9jYXRpb24gdmlhIERJUjY0LiAgKi8KKwkgIG5lZWRlZCA9ICgobmVlZGVkIC0gcGFnZV9hZGRyKSB8IDB4YTAwMCkgJiAweGZmZmY7CisjZW5kaWYKKwl9CiAKLSAgICAgIGZwcmludGYgKGYsICJcdCVzXHQweCVseFxuIiwgQVNNX1NIT1JULCBuZWVkZWQpOworICAgICAgZnByaW50ZiAoZiwgIlx0JXNcdDB4JWx4XG4iLCBBU01fU0hPUlQsIChsb25nKSBuZWVkZWQpOwogICAgIH0KIAogICAvKiBBbmQgcGFkZGluZyAqLwpAQCAtMTk3NywxMiArMTk4OCwxMiBAQAogICAvKiBEdW1wIHRoZSByZWxvYyBzZWN0aW9uIGlmIGEgYmFzZSBmaWxlIGlzIHByb3ZpZGVkLiAgKi8KICAgaWYgKGJhc2VfZmlsZSkKICAgICB7Ci0gICAgICBpbnQgYWRkcjsKLSAgICAgIGxvbmcgbmVlZFtQQUdFX1NJWkVdOwotICAgICAgbG9uZyBwYWdlX2FkZHI7CisgICAgICBiZmRfdm1hIGFkZHI7CisgICAgICBiZmRfdm1hIG5lZWRbUEFHRV9TSVpFXTsKKyAgICAgIGJmZF92bWEgcGFnZV9hZGRyOwogICAgICAgaW50IG51bWJ5dGVzOwogICAgICAgaW50IG51bV9lbnRyaWVzOwotICAgICAgbG9uZyAqY29weTsKKyAgICAgIGJmZF92bWEgKmNvcHk7CiAgICAgICBpbnQgajsKICAgICAgIGludCBvbl9wYWdlOwogICAgICAgZnByaW50ZiAoZiwgIlx0LnNlY3Rpb25cdC5pbml0XG4iKTsKQEAgLTE5OTMsNyArMjAwNCw3IEBACiAgICAgICBmc2VlayAoYmFzZV9maWxlLCAwLCBTRUVLX1NFVCk7CiAgICAgICBjb3B5ID0geG1hbGxvYyAobnVtYnl0ZXMpOwogICAgICAgZnJlYWQgKGNvcHksIDEsIG51bWJ5dGVzLCBiYXNlX2ZpbGUpOwotICAgICAgbnVtX2VudHJpZXMgPSBudW1ieXRlcyAvIHNpemVvZiAobG9uZyk7CisgICAgICBudW1fZW50cmllcyA9IG51bWJ5dGVzIC8gc2l6ZW9mIChiZmRfdm1hKTsKIAogCiAgICAgICBmcHJpbnRmIChmLCAiXHQuc2VjdGlvblx0LnJlbG9jXG4iKTsKQEAgLTIwMDEsOCArMjAxMiw4IEBACiAJewogCSAgaW50IHNyYzsKIAkgIGludCBkc3QgPSAwOwotCSAgaW50IGxhc3QgPSAtMTsKLQkgIHFzb3J0IChjb3B5LCBudW1fZW50cmllcywgc2l6ZW9mIChsb25nKSwgc2Z1bmMpOworCSAgYmZkX3ZtYSBsYXN0ID0gKGJmZF92bWEpIC0xOworCSAgcXNvcnQgKGNvcHksIG51bV9lbnRyaWVzLCBzaXplb2YgKGJmZF92bWEpLCBzZnVuYyk7CiAJICAvKiBEZWxldGUgZHVwbGljYXRlcyAqLwogCSAgZm9yIChzcmMgPSAwOyBzcmMgPCBudW1fZW50cmllczsgc3JjKyspCiAJICAgIHsKZGlmZiAtLWdpdCBhL2JpbnV0aWxzL2RvYy9NYWtlZmlsZS5pbiBiL2JpbnV0aWxzL2RvYy9NYWtlZmlsZS5pbgppbmRleCBlYzIzZGI3Li43ZjczMDNkIDEwMDY0NAotLS0gYS9iaW51dGlscy9kb2MvTWFrZWZpbGUuaW4KKysrIGIvYmludXRpbHMvZG9jL01ha2VmaWxlLmluCkBAIC01Niw3ICs1Niw3IEBACiAJJCh0b3Bfc3JjZGlyKS8uLi9jb25maWcvcHJvZ3Rlc3QubTQgXAogCSQodG9wX3NyY2RpcikvLi4vbGlidG9vbC5tNCAkKHRvcF9zcmNkaXIpLy4uL2x0b3B0aW9ucy5tNCBcCiAJJCh0b3Bfc3JjZGlyKS8uLi9sdHN1Z2FyLm00ICQodG9wX3NyY2RpcikvLi4vbHR2ZXJzaW9uLm00IFwKLQkkKHRvcF9zcmNkaXIpL2NvbmZpZ3VyZS5pbgorCSQodG9wX3NyY2RpcikvLi4vbHR+b2Jzb2xldGUubTQgJCh0b3Bfc3JjZGlyKS9jb25maWd1cmUuaW4KIGFtX19jb25maWd1cmVfZGVwcyA9ICQoYW1fX2FjbG9jYWxfbTRfZGVwcykgJChDT05GSUdVUkVfREVQRU5ERU5DSUVTKSBcCiAJJChBQ0xPQ0FMX000KQogbWtpbnN0YWxsZGlycyA9ICQoU0hFTEwpICQodG9wX3NyY2RpcikvLi4vbWtpbnN0YWxsZGlycwpAQCAtMTEzLDYgKzExMyw3IEBACiBERU1BTkdMRVJfTkFNRSA9IEBERU1BTkdMRVJfTkFNRUAKIERFUERJUiA9IEBERVBESVJACiBETExUT09MX0RFRlMgPSBARExMVE9PTF9ERUZTQAorRFNZTVVUSUwgPSBARFNZTVVUSUxACiBEVU1QQklOID0gQERVTVBCSU5ACiBFQ0hPX0MgPSBARUNIT19DQAogRUNIT19OID0gQEVDSE9fTkAKQEAgLTE0Niw2ICsxNDcsNyBAQAogTElCT0JKUyA9IEBMSUJPQkpTQAogTElCUyA9IEBMSUJTQAogTElCVE9PTCA9IEBMSUJUT09MQAorTElQTyA9IEBMSVBPQAogTE5fUyA9IEBMTl9TQAogTFRMSUJJQ09OViA9IEBMVExJQklDT05WQAogTFRMSUJPQkpTID0gQExUTElCT0JKU0AKQEAgLTE1OCw5ICsxNjAsMTMgQEAKIE1TR01FUkdFID0gQE1TR01FUkdFQAogTkxNQ09OVl9ERUZTID0gQE5MTUNPTlZfREVGU0AKIE5NID0gQE5NQAorTk1FRElUID0gQE5NRURJVEAKIE5PX1dFUlJPUiA9IEBOT19XRVJST1JACitPQkpEVU1QID0gQE9CSkRVTVBACiBPQkpEVU1QX0RFRlMgPSBAT0JKRFVNUF9ERUZTQAogT0JKRVhUID0gQE9CSkVYVEAKK09UT09MID0gQE9UT09MQAorT1RPT0w2NCA9IEBPVE9PTDY0QAogUEFDS0FHRSA9IEBQQUNLQUdFQAogUEFDS0FHRV9CVUdSRVBPUlQgPSBAUEFDS0FHRV9CVUdSRVBPUlRACiBQQUNLQUdFX05BTUUgPSBAUEFDS0FHRV9OQU1FQApAQCAtMTgxLDcgKzE4NywxMyBAQAogWUFDQyA9IEBZQUNDQAogYWNfY3RfQVIgPSBAYWNfY3RfQVJACiBhY19jdF9DQyA9IEBhY19jdF9DQ0AKK2FjX2N0X0RTWU1VVElMID0gQGFjX2N0X0RTWU1VVElMQAogYWNfY3RfRFVNUEJJTiA9IEBhY19jdF9EVU1QQklOQAorYWNfY3RfTElQTyA9IEBhY19jdF9MSVBPQAorYWNfY3RfTk1FRElUID0gQGFjX2N0X05NRURJVEAKK2FjX2N0X09CSkRVTVAgPSBAYWNfY3RfT0JKRFVNUEAKK2FjX2N0X09UT09MID0gQGFjX2N0X09UT09MQAorYWNfY3RfT1RPT0w2NCA9IEBhY19jdF9PVE9PTDY0QAogYWNfY3RfUkFOTElCID0gQGFjX2N0X1JBTkxJQkAKIGFjX2N0X1NUUklQID0gQGFjX2N0X1NUUklQQAogYW1fX2Zhc3RkZXBDQ19GQUxTRSA9IEBhbV9fZmFzdGRlcENDX0ZBTFNFQApAQCAtMjg2LDkgKzI5OCw5IEBACiAJICAgICAgZXhpdCAxOzsgXAogCSAgZXNhYzsgXAogCWRvbmU7IFwKLQllY2hvICcgY2QgJCh0b3Bfc3JjZGlyKSAmJiAkKEFVVE9NQUtFKSAtLWN5Z251cyAgZG9jL01ha2VmaWxlJzsgXAorCWVjaG8gJyBjZCAkKHRvcF9zcmNkaXIpICYmICQoQVVUT01BS0UpIC0tZm9yZWlnbiAgZG9jL01ha2VmaWxlJzsgXAogCWNkICQodG9wX3NyY2RpcikgJiYgXAotCSAgJChBVVRPTUFLRSkgLS1jeWdudXMgIGRvYy9NYWtlZmlsZQorCSAgJChBVVRPTUFLRSkgLS1mb3JlaWduICBkb2MvTWFrZWZpbGUKIC5QUkVDSU9VUzogTWFrZWZpbGUKIE1ha2VmaWxlOiAkKHNyY2RpcikvTWFrZWZpbGUuaW4gJCh0b3BfYnVpbGRkaXIpL2NvbmZpZy5zdGF0dXMKIAlAY2FzZSAnJD8nIGluIFwKZGlmZiAtLWdpdCBhL2JpbnV0aWxzL2R3YXJmLmMgYi9iaW51dGlscy9kd2FyZi5jCmluZGV4IDNhNWVmMGYuLmY2YTVhNTMgMTAwNjQ0Ci0tLSBhL2JpbnV0aWxzL2R3YXJmLmMKKysrIGIvYmludXRpbHMvZHdhcmYuYwpAQCAtMTY0LDYgKzE2NCwzMCBAQAogICAgIH0KIH0KIAorc3RhdGljIGludAorc2l6ZV9vZl9lbmNvZGVkX3ZhbHVlIChpbnQgZW5jb2RpbmcpCit7CisgIHN3aXRjaCAoZW5jb2RpbmcgJiAweDcpCisgICAgeworICAgIGRlZmF1bHQ6CS8qID8/PyAqLworICAgIGNhc2UgMDoJcmV0dXJuIGVoX2FkZHJfc2l6ZTsKKyAgICBjYXNlIDI6CXJldHVybiAyOworICAgIGNhc2UgMzoJcmV0dXJuIDQ7CisgICAgY2FzZSA0OglyZXR1cm4gODsKKyAgICB9Cit9CisKK3N0YXRpYyBkd2FyZl92bWEKK2dldF9lbmNvZGVkX3ZhbHVlICh1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgZW5jb2RpbmcpCit7CisgIGludCBzaXplID0gc2l6ZV9vZl9lbmNvZGVkX3ZhbHVlIChlbmNvZGluZyk7CisKKyAgaWYgKGVuY29kaW5nICYgRFdfRUhfUEVfc2lnbmVkKQorICAgIHJldHVybiBieXRlX2dldF9zaWduZWQgKGRhdGEsIHNpemUpOworICBlbHNlCisgICAgcmV0dXJuIGJ5dGVfZ2V0IChkYXRhLCBzaXplKTsKK30KKwogLyogUHJpbnQgYSBkd2FyZl92bWEgdmFsdWUgKHR5cGljYWxseSBhbiBhZGRyZXNzLCBvZmZzZXQgb3IgbGVuZ3RoKSBpbgogICAgaGV4YWRlY2ltYWwgZm9ybWF0LCBmb2xsb3dlZCBieSBhIHNwYWNlLiAgVGhlIGxlbmd0aCBvZiB0aGUgdmFsdWUgKGFuZAogICAgaGVuY2UgdGhlIHByZWNpc2lvbiBkaXNwbGF5ZWQpIGlzIGRldGVybWluZWQgYnkgdGhlIGJ5dGVfc2l6ZSBwYXJhbWV0ZXIuICAqLwpAQCAtMTg2LDcgKzIxMCw3IEBACiAgIHNucHJpbnRmIChidWZmLCBzaXplb2YgKGJ1ZmYpLCAiJTE2LjE2bHggIiwgdmFsKTsKICNlbmRpZgogCi0gIHByaW50ZiAoYnVmZiArIChieXRlX3NpemUgPT0gNCA/IDggOiAwKSk7CisgIGZwdXRzIChidWZmICsgKGJ5dGVfc2l6ZSA9PSA0ID8gOCA6IDApLCBzdGRvdXQpOwogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBpbnQKQEAgLTY1MSw3ICs2NzUsOCBAQAogZGVjb2RlX2xvY2F0aW9uX2V4cHJlc3Npb24gKHVuc2lnbmVkIGNoYXIgKiBkYXRhLAogCQkJICAgIHVuc2lnbmVkIGludCBwb2ludGVyX3NpemUsCiAJCQkgICAgdW5zaWduZWQgbG9uZyBsZW5ndGgsCi0JCQkgICAgdW5zaWduZWQgbG9uZyBjdV9vZmZzZXQpCisJCQkgICAgdW5zaWduZWQgbG9uZyBjdV9vZmZzZXQsCisJCQkgICAgc3RydWN0IGR3YXJmX3NlY3Rpb24gKiBzZWN0aW9uKQogewogICB1bnNpZ25lZCBvcDsKICAgdW5zaWduZWQgaW50IGJ5dGVzX3JlYWQ7CkBAIC05ODksNiArMTAxNCwyMSBAQAogCSAgcHJpbnRmICgiRFdfT1BfR05VX3VuaW5pdCIpOwogCSAgLyogRklYTUU6IElzIHRoZXJlIGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoaXMgT1AgPyAgKi8KIAkgIGJyZWFrOworCWNhc2UgRFdfT1BfR05VX2VuY29kZWRfYWRkcjoKKwkgIHsKKwkgICAgaW50IGVuY29kaW5nOworCSAgICBkd2FyZl92bWEgYWRkcjsKKwkKKwkgICAgZW5jb2RpbmcgPSAqZGF0YSsrOworCSAgICBhZGRyID0gZ2V0X2VuY29kZWRfdmFsdWUgKGRhdGEsIGVuY29kaW5nKTsKKwkgICAgaWYgKChlbmNvZGluZyAmIDB4NzApID09IERXX0VIX1BFX3BjcmVsKQorCSAgICAgIGFkZHIgKz0gc2VjdGlvbi0+YWRkcmVzcyArIChkYXRhIC0gc2VjdGlvbi0+c3RhcnQpOworCSAgICBkYXRhICs9IHNpemVfb2ZfZW5jb2RlZF92YWx1ZSAoZW5jb2RpbmcpOworCisJICAgIHByaW50ZiAoIkRXX09QX0dOVV9lbmNvZGVkX2FkZHI6IGZtdDolMDJ4IGFkZHI6IiwgZW5jb2RpbmcpOworCSAgICBwcmludF9kd2FyZl92bWEgKGFkZHIsIHBvaW50ZXJfc2l6ZSk7CisJICB9CisJICBicmVhazsKIAogCSAgLyogSFAgZXh0ZW5zaW9ucy4gICovCiAJY2FzZSBEV19PUF9IUF9pc192YWx1ZToKQEAgLTE1MDgsNyArMTU0OCw3IEBACiAJICBuZWVkX2ZyYW1lX2Jhc2UgPSBkZWNvZGVfbG9jYXRpb25fZXhwcmVzc2lvbiAoYmxvY2tfc3RhcnQsCiAJCQkJCQkJcG9pbnRlcl9zaXplLAogCQkJCQkJCXV2YWx1ZSwKLQkJCQkJCQljdV9vZmZzZXQpOworCQkJCQkJCWN1X29mZnNldCwgc2VjdGlvbik7CiAJICBwcmludGYgKCIpIik7CiAJICBpZiAobmVlZF9mcmFtZV9iYXNlICYmICFoYXZlX2ZyYW1lX2Jhc2UpCiAJICAgIHByaW50ZiAoXygiIFt3aXRob3V0IERXX0FUX2ZyYW1lX2Jhc2VdIikpOwpAQCAtMTc5OSw3ICsxODM5LDcgQEAKIAogICBpZiAoIWRvX2xvYykKICAgICB7Ci0gICAgICBwcmludGYgKF8oIlRoZSBzZWN0aW9uICVzIGNvbnRhaW5zOlxuXG4iKSwgc2VjdGlvbi0+bmFtZSk7CisgICAgICBwcmludGYgKF8oIkNvbnRlbnRzIG9mIHRoZSAlcyBzZWN0aW9uOlxuXG4iKSwgc2VjdGlvbi0+bmFtZSk7CiAKICAgICAgIGxvYWRfZGVidWdfc2VjdGlvbiAoc3RyLCBmaWxlKTsKICAgICB9CkBAIC0yODY0LDcgKzI5MDQsNyBAQAogCSAgaWYgKG9mZnNldCAhPSAwKQogCSAgICB7CiAJICAgICAgZGF0YSArPSBvZmZzZXRfc2l6ZTsKLQkgICAgICBwcmludGYgKCIgICAgJS02bGRcdFx0JXNcbiIsIG9mZnNldCwgZGF0YSk7CisJICAgICAgcHJpbnRmICgiICAgICUtNmx4XHQlc1xuIiwgb2Zmc2V0LCBkYXRhKTsKIAkgICAgICBkYXRhICs9IHN0cmxlbiAoKGNoYXIgKikgZGF0YSkgKyAxOwogCSAgICB9CiAJfQpAQCAtMzE4Niw3ICszMjI2LDcgQEAKIAkgICAgICBuZWVkX2ZyYW1lX2Jhc2UgPSBkZWNvZGVfbG9jYXRpb25fZXhwcmVzc2lvbiAoc3RhcnQsCiAJCQkJCQkJICAgIHBvaW50ZXJfc2l6ZSwKIAkJCQkJCQkgICAgbGVuZ3RoLAotCQkJCQkJCSAgICBjdV9vZmZzZXQpOworCQkJCQkJCSAgICBjdV9vZmZzZXQsIHNlY3Rpb24pOwogCSAgICAgIHB1dGNoYXIgKCcpJyk7CiAKIAkgICAgICBpZiAobmVlZF9mcmFtZV9iYXNlICYmICFoYXNfZnJhbWVfYmFzZSkKQEAgLTMyODIsNyArMzMyMiw3IEBACiAgIHVuc2lnbmVkIGNoYXIgKnN0YXJ0ID0gc2VjdGlvbi0+c3RhcnQ7CiAgIHVuc2lnbmVkIGNoYXIgKmVuZCA9IHN0YXJ0ICsgc2VjdGlvbi0+c2l6ZTsKIAotICBwcmludGYgKF8oIlRoZSBzZWN0aW9uICVzIGNvbnRhaW5zOlxuXG4iKSwgc2VjdGlvbi0+bmFtZSk7CisgIHByaW50ZiAoXygiQ29udGVudHMgb2YgdGhlICVzIHNlY3Rpb246XG5cbiIpLCBzZWN0aW9uLT5uYW1lKTsKIAogICAvKiBJdCBkb2VzIG5vdCBtYXR0ZXIgaWYgdGhpcyBsb2FkIGZhaWxzLAogICAgICB3ZSB0ZXN0IGZvciB0aGF0IGxhdGVyIG9uLiAgKi8KQEAgLTMzODMsNiArMzQyMyw3IEBACiAKIAkgIHJhbmdlcyArPSBhZGRyZXNzX3NpemU7CiAKKwkgIHByaW50ZiAoIiAgICAiKTsKIAkgIHByaW50X2R3YXJmX3ZtYSAoYWRkcmVzcywgYWRkcmVzc19zaXplKTsKIAkgIHByaW50X2R3YXJmX3ZtYSAobGVuZ3RoLCBhZGRyZXNzX3NpemUpOwogCSAgcHV0Y2hhciAoJ1xuJyk7CkBAIC0zNzU2LDMwICszNzk3LDYgQEAKICAgcHJpbnRmICgiXG4iKTsKIH0KIAotc3RhdGljIGludAotc2l6ZV9vZl9lbmNvZGVkX3ZhbHVlIChpbnQgZW5jb2RpbmcpCi17Ci0gIHN3aXRjaCAoZW5jb2RpbmcgJiAweDcpCi0gICAgewotICAgIGRlZmF1bHQ6CS8qID8/PyAqLwotICAgIGNhc2UgMDoJcmV0dXJuIGVoX2FkZHJfc2l6ZTsKLSAgICBjYXNlIDI6CXJldHVybiAyOwotICAgIGNhc2UgMzoJcmV0dXJuIDQ7Ci0gICAgY2FzZSA0OglyZXR1cm4gODsKLSAgICB9Ci19Ci0KLXN0YXRpYyBkd2FyZl92bWEKLWdldF9lbmNvZGVkX3ZhbHVlICh1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgZW5jb2RpbmcpCi17Ci0gIGludCBzaXplID0gc2l6ZV9vZl9lbmNvZGVkX3ZhbHVlIChlbmNvZGluZyk7Ci0KLSAgaWYgKGVuY29kaW5nICYgRFdfRUhfUEVfc2lnbmVkKQotICAgIHJldHVybiBieXRlX2dldF9zaWduZWQgKGRhdGEsIHNpemUpOwotICBlbHNlCi0gICAgcmV0dXJuIGJ5dGVfZ2V0IChkYXRhLCBzaXplKTsKLX0KLQogI2RlZmluZSBHRVQoTikJYnl0ZV9nZXQgKHN0YXJ0LCBOKTsgc3RhcnQgKz0gTgogI2RlZmluZSBMRUIoKQlyZWFkX2xlYjEyOCAoc3RhcnQsICYgbGVuZ3RoX3JldHVybiwgMCk7IHN0YXJ0ICs9IGxlbmd0aF9yZXR1cm4KICNkZWZpbmUgU0xFQigpCXJlYWRfbGViMTI4IChzdGFydCwgJiBsZW5ndGhfcmV0dXJuLCAxKTsgc3RhcnQgKz0gbGVuZ3RoX3JldHVybgpAQCAtMzc5OCw3ICszODE1LDcgQEAKICAgdW5zaWduZWQgaW50IGxlbmd0aF9yZXR1cm47CiAgIGludCBtYXhfcmVncyA9IDA7CiAKLSAgcHJpbnRmIChfKCJUaGUgc2VjdGlvbiAlcyBjb250YWluczpcbiIpLCBzZWN0aW9uLT5uYW1lKTsKKyAgcHJpbnRmIChfKCJDb250ZW50cyBvZiB0aGUgJXMgc2VjdGlvbjpcbiIpLCBzZWN0aW9uLT5uYW1lKTsKIAogICB3aGlsZSAoc3RhcnQgPCBlbmQpCiAgICAgewpAQCAtNDM3OSw3ICs0Mzk2LDggQEAKIAkgICAgICBpZiAoISBkb19kZWJ1Z19mcmFtZXNfaW50ZXJwKQogCQl7CiAJCSAgcHJpbnRmICgiICBEV19DRkFfZGVmX2NmYV9leHByZXNzaW9uICgiKTsKLQkJICBkZWNvZGVfbG9jYXRpb25fZXhwcmVzc2lvbiAoc3RhcnQsIGVoX2FkZHJfc2l6ZSwgdWwsIDApOworCQkgIGRlY29kZV9sb2NhdGlvbl9leHByZXNzaW9uIChzdGFydCwgZWhfYWRkcl9zaXplLCB1bCwgMCwKKwkJCQkJICAgICAgc2VjdGlvbik7CiAJCSAgcHJpbnRmICgiKVxuIik7CiAJCX0KIAkgICAgICBmYy0+Y2ZhX2V4cCA9IDE7CkBAIC00Mzk0LDcgKzQ0MTIsNyBAQAogCQkgIHByaW50ZiAoIiAgRFdfQ0ZBX2V4cHJlc3Npb246ICVzICgiLAogCQkJICByZWduYW1lIChyZWcsIDApKTsKIAkJICBkZWNvZGVfbG9jYXRpb25fZXhwcmVzc2lvbiAoc3RhcnQsIGVoX2FkZHJfc2l6ZSwKLQkJCQkJICAgICAgdWwsIDApOworCQkJCQkgICAgICB1bCwgMCwgc2VjdGlvbik7CiAJCSAgcHJpbnRmICgiKVxuIik7CiAJCX0KIAkgICAgICBmYy0+Y29sX3R5cGVbcmVnXSA9IERXX0NGQV9leHByZXNzaW9uOwpAQCAtNDQwOCw3ICs0NDI2LDggQEAKIAkJewogCQkgIHByaW50ZiAoIiAgRFdfQ0ZBX3ZhbF9leHByZXNzaW9uOiAlcyAoIiwKIAkJCSAgcmVnbmFtZSAocmVnLCAwKSk7Ci0JCSAgZGVjb2RlX2xvY2F0aW9uX2V4cHJlc3Npb24gKHN0YXJ0LCBlaF9hZGRyX3NpemUsIHVsLCAwKTsKKwkJICBkZWNvZGVfbG9jYXRpb25fZXhwcmVzc2lvbiAoc3RhcnQsIGVoX2FkZHJfc2l6ZSwgdWwsIDAsCisJCQkJCSAgICAgIHNlY3Rpb24pOwogCQkgIHByaW50ZiAoIilcbiIpOwogCQl9CiAJICAgICAgZmMtPmNvbF90eXBlW3JlZ10gPSBEV19DRkFfdmFsX2V4cHJlc3Npb247CmRpZmYgLS1naXQgYS9iaW51dGlscy9lbWJlZHNwdS5zaCBiL2JpbnV0aWxzL2VtYmVkc3B1LnNoCmluZGV4IDVmOWQyMGMuLjhiMTllNzYgMTAwNjQ0Ci0tLSBhL2JpbnV0aWxzL2VtYmVkc3B1LnNoCisrKyBiL2JpbnV0aWxzL2VtYmVkc3B1LnNoCkBAIC0xNDYsNyArMTQ2LDcgQEAKICAgIyA0LiBXcml0ZSBhIHN0cnVjdCBzcGVfcHJvZ3JhbV9oYW5kbGUgdG8gLmRhdGEuCiAgICMgNS4gV3JpdGUgYSB0YWJsZSBvZiBfU1BVRUFSXyBzeW1ib2xzLgogICAke0NDfSAke0ZMQUdTfSAteCBhc3NlbWJsZXItd2l0aC1jcHAgLW5vc3RhcnRmaWxlcyAtbm9zdGRsaWIgXAotCS1XYSwtbWJpZyAtV2wsLXIgLVdsLC14IC1vICR7T1VURklMRX0gLSA8PEVPRgorCS1XYSwtbWJpZyAtV2EsLW5vZXhlY3N0YWNrIC1XbCwtciAtV2wsLXggLW8gJHtPVVRGSUxFfSAtIDw8RU9GCiAgLnNlY3Rpb24gLmRhdGEuc3BldG9lLCJhdyIsQHByb2diaXRzCiAgLnAyYWxpZ24gNwogX19zcGV0b2VfXzoKZGlmZiAtLWdpdCBhL2JpbnV0aWxzL29iamNvcHkuYyBiL2JpbnV0aWxzL29iamNvcHkuYwppbmRleCBkZWZmMTY5Li5mOGMxNzMyIDEwMDY0NAotLS0gYS9iaW51dGlscy9vYmpjb3B5LmMKKysrIGIvYmludXRpbHMvb2JqY29weS5jCkBAIC0yMzQ0LDYgKzIzNDQsMTggQEAKICAgaWYgKGV4dHJhY3Rfc3ltYm9sKQogICAgIHJldHVybjsKIAorICBpZiAoKGlzZWN0aW9uLT5mbGFncyAmIFNFQ19HUk9VUCkgIT0gMCkKKyAgICB7CisgICAgICBhc3ltYm9sICpnc3ltID0gZ3JvdXBfc2lnbmF0dXJlIChpc2VjdGlvbik7CisKKyAgICAgIGlmIChnc3ltICE9IE5VTEwpCisJeworCSAgZ3N5bS0+ZmxhZ3MgfD0gQlNGX0tFRVA7CisJICBpZiAoaWJmZC0+eHZlYy0+Zmxhdm91ciA9PSBiZmRfdGFyZ2V0X2VsZl9mbGF2b3VyKQorCSAgICBlbGZfZ3JvdXBfaWQgKGlzZWN0aW9uKSA9IGdzeW07CisJfQorICAgIH0KKwogICAvKiBBbGxvdyB0aGUgQkZEIGJhY2tlbmQgdG8gY29weSBhbnkgcHJpdmF0ZSBkYXRhIGl0IHVuZGVyc3RhbmRzCiAgICAgIGZyb20gdGhlIGlucHV0IHNlY3Rpb24gdG8gdGhlIG91dHB1dCBzZWN0aW9uLiAgKi8KICAgaWYgKCFiZmRfY29weV9wcml2YXRlX3NlY3Rpb25fZGF0YSAoaWJmZCwgaXNlY3Rpb24sIG9iZmQsIG9zZWN0aW9uKSkKQEAgLTIzNTEsMTMgKzIzNjMsNiBAQAogICAgICAgZXJyID0gXygiZmFpbGVkIHRvIGNvcHkgcHJpdmF0ZSBkYXRhIik7CiAgICAgICBnb3RvIGxvc2VyOwogICAgIH0KLSAgZWxzZSBpZiAoKGlzZWN0aW9uLT5mbGFncyAmIFNFQ19HUk9VUCkgIT0gMCkKLSAgICB7Ci0gICAgICBhc3ltYm9sICpnc3ltID0gZ3JvdXBfc2lnbmF0dXJlIChpc2VjdGlvbik7Ci0KLSAgICAgIGlmIChnc3ltICE9IE5VTEwpCi0JZ3N5bS0+ZmxhZ3MgfD0gQlNGX0tFRVA7Ci0gICAgfQogCiAgIC8qIEFsbCB3ZW50IHdlbGwuICAqLwogICByZXR1cm47CmRpZmYgLS1naXQgYS9iaW51dGlscy9wby9pZC5wbyBiL2JpbnV0aWxzL3BvL2lkLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzOWUyNjcKLS0tIC9kZXYvbnVsbAorKysgYi9iaW51dGlscy9wby9pZC5wbwpAQCAtMCwwICsxLDYyNDggQEAKKyMgUGVzYW4gQmFoYXNhIEluZG9uZXNpYSB1bnR1ayBiaW51dGlscworIyBDb3B5cmlnaHQgKEMpIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBiaW51dGlscyBwYWNrYWdlLgorIyBBcmlmIEUuIE51Z3JvaG8gPGFyaWZfZW5kcm9AeWFob28uY29tPiwgMjAwOC4KKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGJpbnV0aWxzIDIuMTguOTBcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWJpbnV0aWxzQGdudS5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOC0wOS0wOSAxNTo1NiswOTMwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0xMC0yMSAxNzo0NSswNzAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBBcmlmIEUuIE51Z3JvaG8gPGFyaWZfZW5kcm9AeWFob28uY29tPlxuIgorIkxhbmd1YWdlLVRlYW06IEluZG9uZXNpYW4gPHRyYW5zbGF0aW9uLXRlYW0taWRAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisKKyM6IGFkZHIybGluZS5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uKHMpXSBbYWRkcihzKV1cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW29wc2ldIFthbGFtYXRdXG4iCisKKyM6IGFkZHIybGluZS5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiBDb252ZXJ0IGFkZHJlc3NlcyBpbnRvIGxpbmUgbnVtYmVyL2ZpbGUgbmFtZSBwYWlycy5cbiIKK21zZ3N0ciAiIE1lbmd1YmFoIGFsYW1hdCBrZWRhbGFtIHBhc2FuZ2FuIG5vbW9yIGJhcmlzIC8gbmFtYSBiZXJrYXMuXG4iCisKKyM6IGFkZHIybGluZS5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiBJZiBubyBhZGRyZXNzZXMgYXJlIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLCB0aGV5IHdpbGwgYmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiBKaWthIHRpZGFrIGFkYSBhbGFtYXQgeWFuZyBkaXNwZXNpZmlrYXNpa2FuIGRhbGFtIGJhcmlzIHBlcmludGFoLCBtZXJla2EgYWthbiBkaWJhY2EgZGFyaSBzdGRpblxuIgorCisjOiBhZGRyMmxpbmUuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIFRoZSBvcHRpb25zIGFyZTpcbiIKKyIgIEA8ZmlsZT4gICAgICAgICAgICAgICAgUmVhZCBvcHRpb25zIGZyb20gPGZpbGU+XG4iCisiICAtYiAtLXRhcmdldD08YmZkbmFtZT4gIFNldCB0aGUgYmluYXJ5IGZpbGUgZm9ybWF0XG4iCisiICAtZSAtLWV4ZT08ZXhlY3V0YWJsZT4gIFNldCB0aGUgaW5wdXQgZmlsZSBuYW1lIChkZWZhdWx0IGlzIGEub3V0KVxuIgorIiAgLWkgLS1pbmxpbmVzICAgICAgICAgICBVbndpbmQgaW5saW5lZCBmdW5jdGlvbnNcbiIKKyIgIC1qIC0tc2VjdGlvbj08bmFtZT4gICAgUmVhZCBzZWN0aW9uLXJlbGF0aXZlIG9mZnNldHMgaW5zdGVhZCBvZiBhZGRyZXNzZXNcbiIKKyIgIC1zIC0tYmFzZW5hbWVzICAgICAgICAgU3RyaXAgZGlyZWN0b3J5IG5hbWVzXG4iCisiICAtZiAtLWZ1bmN0aW9ucyAgICAgICAgIFNob3cgZnVuY3Rpb24gbmFtZXNcbiIKKyIgIC1DIC0tZGVtYW5nbGVbPXN0eWxlXSAgRGVtYW5nbGUgZnVuY3Rpb24gbmFtZXNcbiIKKyIgIC1oIC0taGVscCAgICAgICAgICAgICAgRGlzcGxheSB0aGlzIGluZm9ybWF0aW9uXG4iCisiICAtdiAtLXZlcnNpb24gICAgICAgICAgIERpc3BsYXkgdGhlIHByb2dyYW0ncyB2ZXJzaW9uXG4iCisiXG4iCittc2dzdHIgIiIKKyIgT3BzaSBhZGFsYWg6XG4iCisiICBAPGJlcmthcz4gICAgICAgICAgICAgIEJhY2Egb3BzaSBkYXJpIDxiZXJrYXM+XG4iCisiICAtYiAtLXRhcmdldD08YmZkbmFtZT4gIFNldCBmb3JtYXQgYmVya2FzIGJpbmFyeVxuIgorIiAgLWUgLS1leGU9ZXhlY3V0YWJsZT4gICBTZXQgbmFtYSBiZXJrYXMgbWFzdWthbiAoYmFrdSBhLm91dClcbiIKKyIgIC1pIC0taW5saW5lcyAgICAgICAgICAgQnVrYSBmdW5nc2kgaW5saW5lXG4iCisiICAtaiAtLXNlY3Rpb249PG5hbWE+ICAgIEJhY2Egc2VjdGlvbi1yZWxhdGl2ZSBvZnNldCBkYXJpcGFkYSBhbGFtYXRcbiIKKyIgIC1zIC0tYmFzZW5hbWVzICAgICAgICAgU3RyaXAgbmFtYSBkaXJla3RvcmlcbiIKKyIgIC1mIC0tZnVuY3Rpb25zICAgICAgICAgVGFtcGlsa2FuIG5hbWEgZnVuZ3NpXG4iCisiICAtQyAtLWRlbWFuZ2xlWz1zdHlsZV0gIERlbWFuZ2xlIG5hbWEgZnVuZ3NpXG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgaW5pXG4iCisiICAtdiAtLXZlcnNpb24gICAgICAgICAgIFRhbXBpbGthbiB2ZXJzaSBhcGxpa2FzaVxuIgorIlxuIgorCisjOiBhZGRyMmxpbmUuYzo5NCBhci5jOjI3NCBjb2ZmZHVtcC5jOjQ2OSBkbGx0b29sLmM6MzE3MyBkbGx3cmFwLmM6NTEwCisjOiBubG1jb252LmM6MTExMyBvYmpjb3B5LmM6NTEzIG9iamNvcHkuYzo1NDggcmVhZGVsZi5jOjI4Njggc2l6ZS5jOjk5CisjOiBzcmNvbnYuYzoxNzQxIHN0cmluZ3MuYzo2NjQgc3lzZHVtcC5jOjY1NCB3aW5kbWMuYzoyMzMgd2luZHJlcy5jOjY5OAorIywgYy1mb3JtYXQKK21zZ2lkICJSZXBvcnQgYnVncyB0byAlc1xuIgorbXNnc3RyICJMYXBvcmthbiBidWdzIGtlICVzXG4iCisKKyM6IGFkZHIybGluZS5jOjI4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGdldCBhZGRyZXNzZXMgZnJvbSBhcmNoaXZlIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBhbGFtYXQgZGFyaSBhcmNoaXZlIgorCisjOiBhZGRyMmxpbmUuYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBmaW5kIHNlY3Rpb24gJXMiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gZGFlcmFoICVzIgorCisjOiBhZGRyMmxpbmUuYzozNjQgbm0uYzoxNTQyIG9iamR1bXAuYzozMjIzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGVtYW5nbGluZyBzdHlsZSBgJXMnIgorbXNnc3RyICJnYXlhIGRlbWFuZ2xpbmcgYCVzJyB0aWRhayBkaWtldGFodWkiCisKKyM6IGFyLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGVudHJ5ICVzIGluIGFyY2hpdmVcbiIKK21zZ3N0ciAidGlkYWsgYWRhIG1hc3VrYW4gJXMgZGFsYW0gYXJjaGl2ZVxuIgorCisjOiBhci5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW2VtdWxhdGlvbiBvcHRpb25zXSBbLV17ZG1wcXJzdHh9W2FiY2ZpbE5vUHNTdXZWXSBbbWVtYmVyLW5hbWVdIFtjb3VudF0gYXJjaGl2ZS1maWxlIGZpbGUuLi5cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW29wc2kgZW11bGFzaV0gWy1de2RtcHFyc3R4fVthYmNmaWxOb1BzU3V2Vl0gW25hbWEtYW5nZ290YV0gW2p1bWxhaF0gYmVya2FzLWFyY2hpdmUgYmVya2FzLi4uXG4iCisKKyM6IGFyLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAlcyAtTSBbPG1yaS1zY3JpcHRdXG4iCittc2dzdHIgIiAgICAgICAlcyAtTSBbPG1yaS1zY3JpcF1cbiIKKworIzogYXIuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIGNvbW1hbmRzOlxuIgorbXNnc3RyICIgcGVyaW50YWg6XG4iCisKKyM6IGFyLmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgZCAgICAgICAgICAgIC0gZGVsZXRlIGZpbGUocykgZnJvbSB0aGUgYXJjaGl2ZVxuIgorbXNnc3RyICIgIGQgICAgICAgICAgICAtIGhhcHVzIGJlcmthcyBkYXJpIGFyY2hpdmVcbiIKKworIzogYXIuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBtW2FiXSAgICAgICAgLSBtb3ZlIGZpbGUocykgaW4gdGhlIGFyY2hpdmVcbiIKK21zZ3N0ciAiICBtW2FiXSAgICAgICAgLSBwaW5kYWhrYW4gYmVya2FzIGRhbGFtIGFyY2hpdmVcbiIKKworIzogYXIuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBwICAgICAgICAgICAgLSBwcmludCBmaWxlKHMpIGZvdW5kIGluIHRoZSBhcmNoaXZlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICAgIC0gdGFtcGlsa2FuIGJlcmthcyBkaXRlbXVrYW4gZGFsYW0gYXJjaGl2ZVxuIgorCisjOiBhci5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIgIHFbZl0gICAgICAgICAtIHF1aWNrIGFwcGVuZCBmaWxlKHMpIHRvIHRoZSBhcmNoaXZlXG4iCittc2dzdHIgIiAgcVtmXSAgICAgICAgIC0gdGFtYmFoa2FuIGJlcmthcyBjZXBhdCBrZWRhbGFtIGFyY2hpdmVcbiIKKworIzogYXIuYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICByW2FiXVtmXVt1XSAgLSByZXBsYWNlIGV4aXN0aW5nIG9yIGluc2VydCBuZXcgZmlsZShzKSBpbnRvIHRoZSBhcmNoaXZlXG4iCittc2dzdHIgIiAgclthYl1bZl1bdV0gIC0gZ2FudGlrYW4gdGVsYWggYWRhIGF0YXUgbWFzdWthbiBiZXJrYXMgYmFydSBrZWRhbGFtIGFyY2hpdmVcbiIKKworIzogYXIuYzoyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICB0ICAgICAgICAgICAgLSBkaXNwbGF5IGNvbnRlbnRzIG9mIGFyY2hpdmVcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgICAgLSB0YW1waWxrYW4gaXNpIGRhcmkgYXJjaGl2ZVxuIgorCisjOiBhci5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIHhbb10gICAgICAgICAtIGV4dHJhY3QgZmlsZShzKSBmcm9tIHRoZSBhcmNoaXZlXG4iCittc2dzdHIgIiAgeFtvXSAgICAgICAgIC0gZWtzdHJhayBiZXJrYXMgZGFyaSBhcmNoaXZlXG4iCisKKyM6IGFyLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiBjb21tYW5kIHNwZWNpZmljIG1vZGlmaWVyczpcbiIKK21zZ3N0ciAiIG1vZGlmaWthc2kgc3Blc2lmaWsgcGVyaW50YWg6XG4iCisKKyM6IGFyLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgW2FdICAgICAgICAgIC0gcHV0IGZpbGUocykgYWZ0ZXIgW21lbWJlci1uYW1lXVxuIgorbXNnc3RyICIgIFthXSAgICAgICAgICAtIHRlbXBhdGthbiBiZXJrYXMgc2V0ZWxhaCBbbmFtYS1hbmdnb3RhXVxuIgorCisjOiBhci5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIFtiXSAgICAgICAgICAtIHB1dCBmaWxlKHMpIGJlZm9yZSBbbWVtYmVyLW5hbWVdIChzYW1lIGFzIFtpXSlcbiIKK21zZ3N0ciAiICBbYl0gICAgICAgICAgLSB0ZW1wYXRrYW4gYmVya2FzIHNlYmVsdW0gW25hbWEtYW5nZ290YV0gKHNhbWEgc2VwZXJ0aSBbaV0pXG4iCisKKyM6IGFyLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgW05dICAgICAgICAgIC0gdXNlIGluc3RhbmNlIFtjb3VudF0gb2YgbmFtZVxuIgorbXNnc3RyICIgIFtOXSAgICAgICAgICAtIGd1bmFrYW4gaW5zdGFuY2UgW2p1bWxhaF0gZGFyaSBuYW1hXG4iCisKKyM6IGFyLmM6MjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgW2ZdICAgICAgICAgIC0gdHJ1bmNhdGUgaW5zZXJ0ZWQgZmlsZSBuYW1lc1xuIgorbXNnc3RyICIgIFtmXSAgICAgICAgICAtIHBvdG9uZyBtYXN1a2FuIG5hbWEgYmVya2FzXG4iCisKKyM6IGFyLmM6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgW1BdICAgICAgICAgIC0gdXNlIGZ1bGwgcGF0aCBuYW1lcyB3aGVuIG1hdGNoaW5nXG4iCittc2dzdHIgIiAgW1BdICAgICAgICAgIC0gZ3VuYWthbiBuYW1hIGphbHVyIGxlbmdrYXAga2V0aWthIG1lbmNvY29rYW5cbiIKKworIzogYXIuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBbb10gICAgICAgICAgLSBwcmVzZXJ2ZSBvcmlnaW5hbCBkYXRlc1xuIgorbXNnc3RyICIgIFtvXSAgICAgICAgICAtIGphZ2EgdGFuZ2dhbCBhc2xpXG4iCisKKyM6IGFyLmM6MjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgW3VdICAgICAgICAgIC0gb25seSByZXBsYWNlIGZpbGVzIHRoYXQgYXJlIG5ld2VyIHRoYW4gY3VycmVudCBhcmNoaXZlIGNvbnRlbnRzXG4iCittc2dzdHIgIiAgW3VdICAgICAgICAgIC0gaGFueWEgZ2FudGlrYW4gYmVya2FzIHlhbmcgbGViaWggYmFydSBkYXJpIGlzaSBhcmNoaXZlIHNla2FyYW5nXG4iCisKKyM6IGFyLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiBnZW5lcmljIG1vZGlmaWVyczpcbiIKK21zZ3N0ciAiIHBlbW9kaWZpa2FzaSB1bXVtOlxuIgorCisjOiBhci5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICIgIFtjXSAgICAgICAgICAtIGRvIG5vdCB3YXJuIGlmIHRoZSBsaWJyYXJ5IGhhZCB0byBiZSBjcmVhdGVkXG4iCittc2dzdHIgIiAgW2NdICAgICAgICAgIC0gamFuZ2FuIHBlcmluZ2F0a2FuIGppa2EgcGVycHVzdGFrYWFuIGhhcnVzIGRpYnVhdFxuIgorCisjOiBhci5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIFtzXSAgICAgICAgICAtIGNyZWF0ZSBhbiBhcmNoaXZlIGluZGV4IChjZi4gcmFubGliKVxuIgorbXNnc3RyICIgIFtzXSAgICAgICAgICAtIGJ1YXQgc2VidWFoIGluZGVrcyBhcmNoaXZlIChjZi4gcmFubGliKVxuIgorCisjOiBhci5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgIFtTXSAgICAgICAgICAtIGRvIG5vdCBidWlsZCBhIHN5bWJvbCB0YWJsZVxuIgorbXNnc3RyICIgIFtTXSAgICAgICAgICAtIGphbmdhbiBidWFoIHNlYnVhaCB0YWJlbCBzaW1ib2xcbiIKKworIzogYXIuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBbVF0gICAgICAgICAgLSBtYWtlIGEgdGhpbiBhcmNoaXZlXG4iCittc2dzdHIgIiAgW1RdICAgICAgICAgIC0gYnVhdCBzZWJ1YWggYXJjaGl2ZSB0aXBpc1xuIgorCisjOiBhci5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICIgIFt2XSAgICAgICAgICAtIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiICBbdl0gICAgICAgICAgLSB2ZXJib3NlXG4iCisKKyM6IGFyLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgW1ZdICAgICAgICAgIC0gZGlzcGxheSB0aGUgdmVyc2lvbiBudW1iZXJcbiIKK21zZ3N0ciAiICBbVl0gICAgICAgICAgLSB0YW1waWxrYW4gbm9tb3IgdmVyc2lcbiIKKworIzogYXIuYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBAPGZpbGU+ICAgICAgLSByZWFkIG9wdGlvbnMgZnJvbSA8ZmlsZT5cbiIKK21zZ3N0ciAiICBAPGJlcmthcz4gICAgLSBiYWNhIG9wc2kgZGFyaSA8YmVya2FzPlxuIgorCisjOiBhci5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGFyY2hpdmVcbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW29wc2ldIGFyY2hpdmVcbiIKKworIzogYXIuYzoyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIEdlbmVyYXRlIGFuIGluZGV4IHRvIHNwZWVkIGFjY2VzcyB0byBhcmNoaXZlc1xuIgorbXNnc3RyICIgQnVhdCBzZWJ1YWggaW5kZWtzIHVudHVrIG1lbXBlcmNlcGF0IGFrc2VzIGtlIGFyY2hpdmVcbiIKKworIzogYXIuYzoyNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiBUaGUgb3B0aW9ucyBhcmU6XG4iCisiICBAPGZpbGU+ICAgICAgICAgICAgICAgICAgICAgIFJlYWQgb3B0aW9ucyBmcm9tIDxmaWxlPlxuIgorIiAgLXQgICAgICAgICAgICAgICAgICAgICAgICAgICBVcGRhdGUgdGhlIGFyY2hpdmUncyBzeW1ib2wgbWFwIHRpbWVzdGFtcFxuIgorIiAgLWggLS1oZWxwICAgICAgICAgICAgICAgICAgICBQcmludCB0aGlzIGhlbHAgbWVzc2FnZVxuIgorIiAgLXYgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBQcmludCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiIKKyIgT3BzaSBhZGFsYWg6XG4iCisiICBAPGJlcmthcz4gICAgICAgICAgICAgICAgICAgIEJhY2Egb3BzaSBkYXJpIDxiZXJrYXM+XG4iCisiICAtdCAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwZGF0ZSBhcmNoaXZlIHBldGEgc2ltYm9sIHRhbmRhLXdha3R1XG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIFRhbXBpbGthbiBwZXNhbiBiYW50dWFuIGluaVxuIgorIiAgLXYgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IGFyLmM6NDk5Cittc2dpZCAidHdvIGRpZmZlcmVudCBvcGVyYXRpb24gb3B0aW9ucyBzcGVjaWZpZWQiCittc2dzdHIgImR1YSBvcHNpIG9wZXJhc2kgYmVyYmVkYSBkaXNwZXNpZmlrYXNpa2FuIgorCisjOiBhci5jOjU3NworIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlYyIKK21zZ3N0ciAib3BzaSB0aWRhayBsZWdhbCAtLSAlYyIKKworIzogYXIuYzo2MjAKK21zZ2lkICJubyBvcGVyYXRpb24gc3BlY2lmaWVkIgorbXNnc3RyICJ0aWRhayBhZGEgb3BlcmFzaSB5YW5nIGRpc3Blc2lmaWthc2lrYW4iCisKKyM6IGFyLmM6NjIzCittc2dpZCAiYHUnIGlzIG9ubHkgbWVhbmluZ2Z1bCB3aXRoIHRoZSBgcicgb3B0aW9uLiIKK21zZ3N0ciAiYHUnIGhhbnlhIGJlcmFydGkgZGVuZ2FuIG9wc2kgYHInLiIKKworIzogYXIuYzo2MzEKK21zZ2lkICJgTicgaXMgb25seSBtZWFuaW5nZnVsIHdpdGggdGhlIGB4JyBhbmQgYGQnIG9wdGlvbnMuIgorbXNnc3RyICJgTicgaGFueWEgYmVyYXJ0aSBkZW5nYW4gb3BzaSBgeCcgZGFuIGBkJy4iCisKKyM6IGFyLmM6NjM0Cittc2dpZCAiVmFsdWUgZm9yIGBOJyBtdXN0IGJlIHBvc2l0aXZlLiIKK21zZ3N0ciAiTmlsYWkgdW50dWsgYE4nIGhhcnVzIHBvc2l0aWYuIgorCisjOiBhci5jOjY0NgorbXNnaWQgImB4JyBjYW5ub3QgYmUgdXNlZCBvbiB0aGluIGFyY2hpdmVzLiIKK21zZ3N0ciAiYHgnIHRpZGFrIGRhcGF0IGRpZ3VuYWthbiBkYWxhbSBhcmNoaXZlIHRpcGlzLiIKKworIzogYXIuYzo2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IgLS0gdGhpcyBvcHRpb24gbm90IGltcGxlbWVudGVkIgorbXNnc3RyICJpbnRlcm5hbCBlcnJvciAtLSBvcHNpIGluaSB0aWRhayB0ZXJpbXBsZW1lbnRhc2kiCisKKyM6IGFyLmM6NzU2CisjLCBjLWZvcm1hdAorbXNnaWQgImNyZWF0aW5nICVzIgorbXNnc3RyICJtZW1idWF0ICVzIgorCisjOiBhci5jOjgwNSBhci5jOjg2MCBhci5jOjExODUgb2JqY29weS5jOjE5MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgc3RhdCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiaW50ZXJuYWwgc3RhdCBlcnJvciBkaSAlcyIKKworIzogYXIuYzo4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIjwlcz5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIjwlcz5cbiIKKyJcbiIKKworIzogYXIuYzo4MjUgYXIuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYXJjaGl2ZSIKK21zZ3N0ciAiJXMgYnVrYW4gc2VidWFoIGFyY2hpdmUgdmFsaWQiCisKKyM6IGFyLmM6MTA5MAorIywgYy1mb3JtYXQKK21zZ2lkICJObyBtZW1iZXIgbmFtZWQgYCVzJ1xuIgorbXNnc3RyICJUaWRhayBhZGEgYW5nZ290YSBiZXJuYW1hIGAlcydcbiIKKworIzogYXIuYzoxMTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGVudHJ5ICVzIGluIGFyY2hpdmUgJXMhIgorbXNnc3RyICJ0aWRhayBhZGEgbWFzdWthbiAlcyBkYWxhbSBhcmNoaXZlICVzISIKKworIzogYXIuYzoxMjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBhcmNoaXZlIG1hcCB0byB1cGRhdGUiCittc2dzdHIgIiVzOiB0aWRhayBhZGEgcGV0YSBhcmNoaXZlIHVudHVrIHVwZGF0ZSIKKworIzogYXJzdXAuYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICJObyBlbnRyeSAlcyBpbiBhcmNoaXZlLlxuIgorbXNnc3RyICJUaWRhayBhZGEgbWFzdWthbiAlcyBkYWxhbSBhcmNoaXZlLlxuIgorCisjOiBhcnN1cC5jOjExNAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBvcGVuIGZpbGUgJXNcbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBiZXJrYXMgJXNcbiIKKworIzogYXJzdXAuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENhbid0IG9wZW4gb3V0cHV0IGFyY2hpdmUgJXNcbiIKK21zZ3N0ciAiJXM6IFRpZGFrIGRhcGF0IG1lbWJ1YXQga2VsdWFyYW4gYXJjaGl2ZSAlc1xuIgorCisjOiBhcnN1cC5jOjE4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ2FuJ3Qgb3BlbiBpbnB1dCBhcmNoaXZlICVzXG4iCittc2dzdHIgIiVzOiBUaWRhayBkYXBhdCBtZW1idWFrIG1hc3VrYW4gYXJjaGl2ZSAlc1xuIgorCisjOiBhcnN1cC5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZSAlcyBpcyBub3QgYW4gYXJjaGl2ZVxuIgorbXNnc3RyICIlczogYmVya2FzICVzIGJ1a2FuIHNlYnVhaCBhcmNoaXZlXG4iCisKKyM6IGFyc3VwLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBvdXRwdXQgYXJjaGl2ZSBzcGVjaWZpZWQgeWV0XG4iCittc2dzdHIgIiVzOiBiZWx1bSBhZGEga2VsdWFyYW4gYXJjaGl2ZSB5YW5nIGRpc3Blc2lmaWthc2lrYW5cbiIKKworIzogYXJzdXAuYzoyNTAgYXJzdXAuYzoyODggYXJzdXAuYzozMzAgYXJzdXAuYzozNTAgYXJzdXAuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIG9wZW4gb3V0cHV0IGFyY2hpdmVcbiIKK21zZ3N0ciAiJXM6IHRpZGFrIGFkYSBrZWx1YXJhbiBhcmNoaXZlXG4iCisKKyM6IGFyc3VwLmM6MjYxIGFyc3VwLmM6MzcxIGFyc3VwLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgJXNcbiIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbWJ1a2EgYmVya2FzICVzXG4iCisKKyM6IGFyc3VwLmM6MzE1IGFyc3VwLmM6MzkzIGFyc3VwLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBmaW5kIG1vZHVsZSBmaWxlICVzXG4iCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gYmVya2FzIG1vZHVsZSAlc1xuIgorCisjOiBhcnN1cC5jOjQyNQorIywgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IG9wZW4gYXJjaGl2ZSBpcyAlc1xuIgorbXNnc3RyICJPcGVuIGFyY2hpdmUgc2VrYXJhbmcgYWRhbGFoICVzXG4iCisKKyM6IGFyc3VwLmM6NDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBvcGVuIGFyY2hpdmVcbiIKK21zZ3N0ciAiJXM6IHRpZGFrIGFkYSBvcGVuIGFyY2hpdmVcbiIKKworIzogYmluMmMuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPCBpbnB1dF9maWxlID4gb3V0cHV0X2ZpbGVcbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgPCBpbnB1dF9maWxlID4gb3V0cHV0X2ZpbGVcbiIKKworIzogYmluMmMuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmludHMgYnl0ZXMgZnJvbSBzdGRpbiBpbiBoZXggZm9ybWF0LlxuIgorbXNnc3RyICJUYW1waWxrYW4gYnl0ZXMgZGFyaSBzdGRpbiBkYWxhbSBmb3JtYXQgaGV4LlxuIgorCisjOiBiaW5lbXVsLmM6MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBObyBlbXVsYXRpb24gc3BlY2lmaWMgb3B0aW9uc1xuIgorbXNnc3RyICIgIFRpZGFrIGFkYSBvcHNpIHNwZXNpZmlrIGVtdWxhc2lcbiIKKworIy4gTWFjcm9zIGZvciBjb21tb24gb3V0cHV0LgorIzogYmluZW11bC5oOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiBlbXVsYXRpb24gb3B0aW9uczogXG4iCittc2dzdHIgIiBvcHNpIGVtdWxhc2k6IFxuIgorCisjOiBidWNvbW0uYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IEJGRCBkZWZhdWx0IHRhcmdldCB0byBgJXMnOiAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuc2V0IGRlZmF1bHQgdGFyZ2V0IEJGRCBrZSBgJXMnOiAlcyIKKworIzogYnVjb21tLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBNYXRjaGluZyBmb3JtYXRzOiIKK21zZ3N0ciAiJXM6IEZvcm1hdCB5YW5nIGNvY29rOiIKKworIzogYnVjb21tLmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBvcnRlZCB0YXJnZXRzOiIKK21zZ3N0ciAiVGFyZ2V0IHlhbmcgZGlkdWt1bmc6IgorCisjOiBidWNvbW0uYzoxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1cHBvcnRlZCB0YXJnZXRzOiIKK21zZ3N0ciAiJXM6IHRhcmdldCB5YW5nIGRpZHVrdW5nOiIKKworIzogYnVjb21tLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBvcnRlZCBhcmNoaXRlY3R1cmVzOiIKK21zZ3N0ciAiQXJzaXRla3R1ciB5YW5nIGRpZHVrdW5nOiIKKworIzogYnVjb21tLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlczoiCittc2dzdHIgIiVzOiBhcnNpdGVrdHVyIHlhbmcgZGlkdWt1bmc6IgorCisjOiBidWNvbW0uYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkZEIGhlYWRlciBmaWxlIHZlcnNpb24gJXNcbiIKK21zZ3N0ciAidmVyc2kgYmVya2FzIGhlYWRlciBCRkQgJXNcbiIKKworIzogYnVjb21tLmM6NTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgbnVtYmVyOiAlcyIKK21zZ3N0ciAiJXM6IG5vbW9yIGJ1cnVrOiAlcyIKKworIzogYnVjb21tLmM6NTY0IHN0cmluZ3MuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJzogTm8gc3VjaCBmaWxlIgorbXNnc3RyICInJXMnOiBUaWRhayBhZGEgYmVya2FzIHNlcGVydGkgaXR1IgorCisjOiBidWNvbW0uYzo1NjYgc3RyaW5ncy5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBjb3VsZCBub3QgbG9jYXRlICclcycuICByZWFzb246ICVzIgorbXNnc3RyICJQZXJpbmdhdGFuOiBUaWRhayBkYXBhdCBtZW5lbXVrYW4gJyVzJy4gYWxhc2FuOiAlcyIKKworIzogYnVjb21tLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6ICclcycgaXMgbm90IGFuIG9yZGluYXJ5IGZpbGUiCittc2dzdHIgIlBlcmluZ2F0YW46ICclcycgYnVrYW4gc2VidWFoIGJlcmthcyBiaWFzYSIKKworIzogY29mZmR1bXAuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiI2xpbmVzICVkICIKK21zZ3N0ciAiI2JhcmlzICVkICIKKworIzogY29mZmR1bXAuYzo0NjAgc3lzZHVtcC5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbihzKV0gaW4tZmlsZVxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbb3BzaVsgaW4tYmVya2FzXG4iCisKKyM6IGNvZmZkdW1wLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiBQcmludCBhIGh1bWFuIHJlYWRhYmxlIGludGVycHJldGF0aW9uIG9mIGEgU1lTUk9GRiBvYmplY3QgZmlsZVxuIgorbXNnc3RyICIgVGFtcGlsa2FuIGRhbGFtIGludGVycHJldGFzaSB5YW5nIG11ZGFoIGRpcGFoYW1pIGRhcmkgc2VidWFoIGJlcmthcyBvYmplayBTWVNST0ZGXG4iCisKKyM6IGNvZmZkdW1wLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgVGhlIG9wdGlvbnMgYXJlOlxuIgorIiAgQDxmaWxlPiAgICAgICAgICAgICAgICBSZWFkIG9wdGlvbnMgZnJvbSA8ZmlsZT5cbiIKKyIgIC1oIC0taGVscCAgICAgICAgICAgICAgRGlzcGxheSB0aGlzIGluZm9ybWF0aW9uXG4iCisiICAtdiAtLXZlcnNpb24gICAgICAgICAgIERpc3BsYXkgdGhlIHByb2dyYW0ncyB2ZXJzaW9uXG4iCisiXG4iCittc2dzdHIgIiIKKyIgT3BzaSBhZGFsYWg6XG4iCisiICBAPGJlcmthcz4gICAgICAgICAgICAgIEJhY2Egb3BzaSBkYXJpIDxiZXJrYXM+XG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgaW5pXG4iCisiICAtdiAtLXZlcnNpb24gICAgICAgICAgIFRhbXBpbGthbiB2ZXJzaSBhcGxpa2FzaVxuIgorIlxuIgorCisjOiBjb2ZmZHVtcC5jOjUzMSBzcmNvbnYuYzoxODMxIHN5c2R1bXAuYzo3MTEKK21zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAidGlkYWsgYWRhIGJlcmthcyBtYXN1a2FuIHlhbmcgZGlzcGVzaWZpa2FzaWthbiIKKworIzogY3h4ZmlsdC5jOjExOSBubS5jOjI1NiBvYmpkdW1wLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlcG9ydCBidWdzIHRvICVzLlxuIgorbXNnc3RyICJMYXBvcmthbiBidWdzIGtlICVzLlxuIgorCisjOiBkZWJ1Zy5jOjY0NworbXNnaWQgImRlYnVnX2FkZF90b19jdXJyZW50X25hbWVzcGFjZTogbm8gY3VycmVudCBmaWxlIgorbXNnc3RyICJkZWJ1Z19hZGRfdG9fY3VycmVudF9uYW1lc3BhY2U6IHRpZGFrIGFkYSBiZXJrYXMgc2VrYXJhbmciCisKKyM6IGRlYnVnLmM6NzI2Cittc2dpZCAiZGVidWdfc3RhcnRfc291cmNlOiBubyBkZWJ1Z19zZXRfZmlsZW5hbWUgY2FsbCIKK21zZ3N0ciAiZGVidWdfc3RhcnRfc291cmNlOiB0aWRhayBhZGEgZGVidWdfc2V0X2ZpbGVuYW1lIGNhbGwiCisKKyM6IGRlYnVnLmM6NzgyCittc2dpZCAiZGVidWdfcmVjb3JkX2Z1bmN0aW9uOiBubyBkZWJ1Z19zZXRfZmlsZW5hbWUgY2FsbCIKK21zZ3N0ciAiZGVidWdfcmVjb3JkX2Z1bmN0aW9uOiB0aWRhayBhZGEgZGVidWdfc2V0X2ZpbGVuYW1lIGNhbGwiCisKKyM6IGRlYnVnLmM6ODM0Cittc2dpZCAiZGVidWdfcmVjb3JkX3BhcmFtZXRlcjogbm8gY3VycmVudCBmdW5jdGlvbiIKK21zZ3N0ciAiZGVidWdfcmVjb3JkX3BhcmFtZXRlcjogdGlkYWsgYWRhIGZ1bmdzaSBzZWthcmFuZyIKKworIzogZGVidWcuYzo4NjYKK21zZ2lkICJkZWJ1Z19lbmRfZnVuY3Rpb246IG5vIGN1cnJlbnQgZnVuY3Rpb24iCittc2dzdHIgImRlYnVnX2VuZF9mdW5jdGlvbjogdGlkYWsgYWRhIGZ1bmdzaSBzZWthcmFuZyIKKworIzogZGVidWcuYzo4NzIKK21zZ2lkICJkZWJ1Z19lbmRfZnVuY3Rpb246IHNvbWUgYmxvY2tzIHdlcmUgbm90IGNsb3NlZCIKK21zZ3N0ciAiZGVidWdfZW5kX2Z1bmN0aW9uOiBiZWJlcmFwYSBibG9rIHRpZGFrIGRpdHV0dXAiCisKKyM6IGRlYnVnLmM6OTAwCittc2dpZCAiZGVidWdfc3RhcnRfYmxvY2s6IG5vIGN1cnJlbnQgYmxvY2siCittc2dzdHIgImRlYnVnX3N0YXJ0X2Jsb2NrOiB0aWRhayBhZGEgYmxvayBzZWthcmFuZyIKKworIzogZGVidWcuYzo5MzYKK21zZ2lkICJkZWJ1Z19lbmRfYmxvY2s6IG5vIGN1cnJlbnQgYmxvY2siCittc2dzdHIgImRlYnVnX2VuZF9ibG9jazogdGlkYWsgYWRhIGJsb2NrIHNla2FyYW5nIgorCisjOiBkZWJ1Zy5jOjk0MworbXNnaWQgImRlYnVnX2VuZF9ibG9jazogYXR0ZW1wdCB0byBjbG9zZSB0b3AgbGV2ZWwgYmxvY2siCittc2dzdHIgImRlYnVnX2VuZF9ibG9jazogbWVuY29iYSBtZW51dHVwIHRpbmdrYXQgdGVyYXRhcyBibG9rIgorCisjOiBkZWJ1Zy5jOjk2NgorbXNnaWQgImRlYnVnX3JlY29yZF9saW5lOiBubyBjdXJyZW50IHVuaXQiCittc2dzdHIgImRlYnVnX3JlY29yZF9saW5lOiB0aWRhayBhZGEgc2F0dWFuIHNla2FyYW5nIgorCisjLiBGSVhNRQorIzogZGVidWcuYzoxMDE5Cittc2dpZCAiZGVidWdfc3RhcnRfY29tbW9uX2Jsb2NrOiBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgImRlYnVnX3N0YXJ0X2NvbW1vbl9ibG9jazogdGlkYWsgdGVyaW1wbGVtZW50YXNpIgorCisjLiBGSVhNRQorIzogZGVidWcuYzoxMDMwCittc2dpZCAiZGVidWdfZW5kX2NvbW1vbl9ibG9jazogbm90IGltcGxlbWVudGVkIgorbXNnc3RyICJkZWJ1Z19lbmRfY29tbW9uX2Jsb2NrOiB0aWRhayB0ZXJpbXBsZW1lbnRhc2kiCisKKyMuIEZJWE1FLgorIzogZGVidWcuYzoxMTE0Cittc2dpZCAiZGVidWdfcmVjb3JkX2xhYmVsOiBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgImRlYnVnX3JlY29yZF9sYWJlbDogdGlkYWsgdGVyaW1wbGVtZW50YXNpIgorCisjOiBkZWJ1Zy5jOjExMzYKK21zZ2lkICJkZWJ1Z19yZWNvcmRfdmFyaWFibGU6IG5vIGN1cnJlbnQgZmlsZSIKK21zZ3N0ciAiZGVidWdfcmVjb3JkX3ZhcmlhYmVsOiB0aWRhayBhZGEgYmVya2FzIHNla2FyYW5nIgorCisjOiBkZWJ1Zy5jOjE2NjQKK21zZ2lkICJkZWJ1Z19tYWtlX3VuZGVmaW5lZF90eXBlOiB1bnN1cHBvcnRlZCBraW5kIgorbXNnc3RyICJkZWJ1Z19tYWtlX3VuZGVmaW5lZF90eXBlOiBraW5kIHRpZGFrIGRpZHVrdW5nIgorCisjOiBkZWJ1Zy5jOjE4NDEKK21zZ2lkICJkZWJ1Z19uYW1lX3R5cGU6IG5vIGN1cnJlbnQgZmlsZSIKK21zZ3N0ciAiZGVidWdfbmFtZV90eXBlOiB0aWRhayBhZGEgYmVya2FzIHNla2FyYW5nIgorCisjOiBkZWJ1Zy5jOjE4ODYKK21zZ2lkICJkZWJ1Z190YWdfdHlwZTogbm8gY3VycmVudCBmaWxlIgorbXNnc3RyICJkZWJ1Z190YWdfdHlwZTogdGlkYWsgYWRhIGJlcmthcyBzZWthcmFuZyIKKworIzogZGVidWcuYzoxODk0Cittc2dpZCAiZGVidWdfdGFnX3R5cGU6IGV4dHJhIHRhZyBhdHRlbXB0ZWQiCittc2dzdHIgImRlYnVnX3RhZ190eXBlOiBla3N0cmEgdGFnIGRpY29iYSIKKworIzogZGVidWcuYzoxOTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGNoYW5naW5nIHR5cGUgc2l6ZSBmcm9tICVkIHRvICVkXG4iCittc2dzdHIgIlBlcmluZ2F0YW46IG1lbmd1YmFoIHVrdXJhbiB0aXBlIGRhcmkgJWQga2UgJWRcbiIKKworIzogZGVidWcuYzoxOTUzCittc2dpZCAiZGVidWdfZmluZF9uYW1lZF90eXBlOiBubyBjdXJyZW50IGNvbXBpbGF0aW9uIHVuaXQiCittc2dzdHIgImRlYnVnX2ZpbmRfbmFtZWRfdHlwZTo6IHRpZGFrIGFkYSBzYXR1YW4ga29tcGlsYXNpIHNla2FyYW5nIgorCisjOiBkZWJ1Zy5jOjIwNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVidWdfZ2V0X3JlYWxfdHlwZTogY2lyY3VsYXIgZGVidWcgaW5mb3JtYXRpb24gZm9yICVzXG4iCittc2dzdHIgImRlYnVnX2dldF9yZWFsX3R5cGU6IGNpcmN1bGFyIGluZm9ybWFzaSBkZWJ1ZyB1bnR1ayAlc1xuIgorCisjOiBkZWJ1Zy5jOjI0ODMKK21zZ2lkICJkZWJ1Z193cml0ZV90eXBlOiBpbGxlZ2FsIHR5cGUgZW5jb3VudGVyZWQiCittc2dzdHIgImRlYnVnX3dyaXRlX3R5cGU6IHRpcGUgdGlkYWsgbGVnYWwgZGl0ZW11aSIKKworIzogZGxsdG9vbC5jOjc5NyBkbGx0b29sLmM6ODIzIGRsbHRvb2wuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJuYWwgZXJyb3I6IFVua25vd24gbWFjaGluZSB0eXBlOiAlZCIKK21zZ3N0ciAiSW50ZXJuYWwgZXJyb3I6IHRpcGUgbWVzaW4gdGlkYWsgZGlrZXRhaHVpOiAlZCIKKworIzogZGxsdG9vbC5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBvcGVuIGRlZiBmaWxlOiAlcyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBiZXJrYXMgZGVmOiAlcyIKKworIzogZGxsdG9vbC5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJQcm9jZXNzaW5nIGRlZiBmaWxlOiAlcyIKK21zZ3N0ciAiTWVtcHJvc2VzIGJlcmthcyBkZWY6ICVzIgorCisjOiBkbGx0b29sLmM6ODk5Cittc2dpZCAiUHJvY2Vzc2VkIGRlZiBmaWxlIgorbXNnc3RyICJCZXJrYXMgZGVmIHRlbGFoIGRpcHJvc2VzIgorCisjOiBkbGx0b29sLmM6OTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIlN5bnRheCBlcnJvciBpbiBkZWYgZmlsZSAlczolZCIKK21zZ3N0ciAiU2ludGFrcyBlcnJvciBkYWxhbSBiZXJrYXMgZGVmICVzOiAlZCIKKworIzogZGxsdG9vbC5jOjk1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogUGF0aCBjb21wb25lbnRzIHN0cmlwcGVkIGZyb20gaW1hZ2UgbmFtZSwgJyVzJy4iCittc2dzdHIgIiVzOiBQYXRoIGtvbXBvbmVuIHN0cmlwcGVkIGRhcmkgbmFtYSBnYW1iYXIsICclcycuIgorCisjOiBkbGx0b29sLmM6OTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5BTUU6ICVzIGJhc2U6ICV4IgorbXNnc3RyICJOQU1BOiAlcyBkYXNhcjogJXgiCisKKyM6IGRsbHRvb2wuYzo5NzAgZGxsdG9vbC5jOjk4NgorbXNnaWQgIkNhbid0IGhhdmUgTElCUkFSWSBhbmQgTkFNRSIKK21zZ3N0ciAiVGlkYSBkYXBhdCBtZW1pbGlraSBQRVJQVVNUQUtBQU4gZGFuIE5BTUEiCisKKyM6IGRsbHRvb2wuYzo5ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTElCUkFSWTogJXMgYmFzZTogJXgiCittc2dzdHIgIlBFUlBVU1RBS0FBTjogJXMgZGFzYXI6ICV4IgorCisjOiBkbGx0b29sLmM6MTIxOSByZXNyYy5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0OiAlcyIKK21zZ3N0ciAidHVuZ2d1OiAlcyIKKworIzogZGxsdG9vbC5jOjEyMjQgZGxsd3JhcC5jOjQxMCByZXNyYy5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdWJwcm9jZXNzIGdvdCBmYXRhbCBzaWduYWwgJWQiCittc2dzdHIgInN1YnByb3NlcyBtZW5kYXBhdCBzaW55YWwgZmF0YWwgJWQiCisKKyM6IGRsbHRvb2wuYzoxMjMwIGRsbHdyYXAuYzo0MTcgcmVzcmMuYzozMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhpdGVkIHdpdGggc3RhdHVzICVkIgorbXNnc3RyICIlcyBrZWx1YXIgZGVuZ2FuIHN0YXR1cyAlZCIKKworIzogZGxsdG9vbC5jOjEyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3Vja2luZyBpbiBpbmZvIGZyb20gJXMgc2VjdGlvbiBpbiAlcyIKK21zZ3N0ciAiU3Vja2luIGRhbGFtIGluZm8gZGFyaSAlcyBkYWVyYWggZGFsYW0gJXMiCisKKyM6IGRsbHRvb2wuYzoxMzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4Y2x1ZGluZyBzeW1ib2w6ICVzIgorbXNnc3RyICJNZW5nYWJhaWthbiBzaW1ib2w6ICVzIgorCisjOiBkbGx0b29sLmM6MTQ3NSBkbGx0b29sLmM6MTQ4NiBubS5jOjk5MiBubS5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHN5bWJvbHMiCittc2dzdHIgIiVzOiB0aWRhayBhZGEgc2ltYm9sIgorCisjLiBGSVhNRTogd2Ugb3VnaHQgdG8gcmVhZCBpbiBhbmQgYmxvY2sgb3V0IHRoZSBiYXNlIHJlbG9jYXRpb25zLgorIzogZGxsdG9vbC5jOjE1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRG9uZSByZWFkaW5nICVzIgorbXNnc3RyICJTZWxlc2FpIG1lbWJhY2EgJXMiCisKKyM6IGRsbHRvb2wuYzoxNTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBvcGVuIG9iamVjdCBmaWxlOiAlcyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBiZXJrYXMgb2JqZWs6ICVzIgorCisjOiBkbGx0b29sLmM6MTUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJTY2FubmluZyBvYmplY3QgZmlsZSAlcyIKK21zZ3N0ciAiTWVuc2thbiBiZXJrYXMgb2JqZWsgJXMiCisKKyM6IGRsbHRvb2wuYzoxNTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBwcm9kdWNlIG1jb3JlLWVsZiBkbGwgZnJvbSBhcmNoaXZlIGZpbGU6ICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5naGFzaWxrYW4gbWNvcmUtZWxmIGRsbCBkYXJpIGJlcmthcyBhcmNoaXZlOiAlcyIKKworIzogZGxsdG9vbC5jOjE2MjYKK21zZ2lkICJBZGRpbmcgZXhwb3J0cyB0byBvdXRwdXQgZmlsZSIKK21zZ3N0ciAiTWVuYW1iYWhrYW4gZWtzcG9yIGtlIGJlcmthcyBrZWx1YXJhbiIKKworIzogZGxsdG9vbC5jOjE2NzQKK21zZ2lkICJBZGRlZCBleHBvcnRzIHRvIG91dHB1dCBmaWxlIgorbXNnc3RyICJNZW5hbWJhaGthbiBla3Nwb3Iga2UgYmVya2FzIGtlbHVhcmFuIgorCisjOiBkbGx0b29sLmM6MTgxMworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0aW5nIGV4cG9ydCBmaWxlOiAlcyIKK21zZ3N0ciAiTWVuZ2hhc2lsa2FuIGJlcmthcyBla3Nwb3I6ICVzIgorCisjOiBkbGx0b29sLmM6MTgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gb3BlbiB0ZW1wb3JhcnkgYXNzZW1ibGVyIGZpbGU6ICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIGJlcmthcyBwZXJha2l0IHNlbWVudGFyYTogJXMiCisKKyM6IGRsbHRvb2wuYzoxODIxCisjLCBjLWZvcm1hdAorbXNnaWQgIk9wZW5lZCB0ZW1wb3JhcnkgZmlsZTogJXMiCittc2dzdHIgIkJlcmthcyBzZW1lbnRhcmEgdGVyYnVrYTogJXMiCisKKyM6IGRsbHRvb2wuYzoyMDQzCittc2dpZCAiR2VuZXJhdGVkIGV4cG9ydHMgZmlsZSIKK21zZ3N0ciAiTWVuZ2hhc2lsa2FuIGJlcmthcyBla3Nwb3IiCisKKyM6IGRsbHRvb2wuYzoyMjUxCisjLCBjLWZvcm1hdAorbXNnaWQgImJmZF9vcGVuIGZhaWxlZCBvcGVuIHN0dWIgZmlsZTogJXMiCittc2dzdHIgImJmZF9vcGVuIGdhZ2FsIG1lbWJ1a2EgYmVya2FzIHN0dWI6ICVzIgorCisjOiBkbGx0b29sLmM6MjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGluZyBzdHViIGZpbGU6ICVzIgorbXNnc3RyICJNZW1idWF0IGJlcmthcyBzdHViOiAlcyIKKworIzogZGxsdG9vbC5jOjI2NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gdGVtcG9yYXJ5IGhlYWQgZmlsZTogJXMiCittc2dzdHIgImdhZ2FsIG1lbWJ1a2EgYmVya2FzIHNlbWVudGFyYSBoZWFkOiAlcyIKKworIzogZGxsdG9vbC5jOjI3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gdGVtcG9yYXJ5IHRhaWwgZmlsZTogJXMiCittc2dzdHIgImdhZ2FsIG1lbWJ1a2EgYmVya2FzIHNlbWVudGFyYSB0YWlsOiAlcyIKKworIzogZGxsdG9vbC5jOjI4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgb3BlbiAubGliIGZpbGU6ICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIGJlcmthcyAubGliOiAlcyIKKworIzogZGxsdG9vbC5jOjI4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRpbmcgbGlicmFyeSBmaWxlOiAlcyIKK21zZ3N0ciAiTWVtYnVhdCBiZXJrYXMgcGVycHVzdGFrYWFuOiAlcyIKKworIzogZGxsdG9vbC5jOjI4OTYgZGxsdG9vbC5jOjI5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRlbGV0ZSAlczogJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdoYXB1cyAlczogJXMiCisKKyM6IGRsbHRvb2wuYzoyOTA3Cittc2dpZCAiQ3JlYXRlZCBsaWIgZmlsZSIKK21zZ3N0ciAiTWVtYnVhdCBiZXJrYXMgbGliIgorCisjOiBkbGx0b29sLmM6Mjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLCBpZ25vcmluZyBkdXBsaWNhdGUgRVhQT1JUICVzICVkLCVkIgorbXNnc3RyICJQZXJpbmdhdGFuLCBtZW5nYWJhaWthbiBkdXBsaWthc2kgRVhQT1JUICVzICVkLCVkIgorCisjOiBkbGx0b29sLmM6Mjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICJFcnJvciwgZHVwbGljYXRlIEVYUE9SVCB3aXRoIG9yZGluYWxzOiAlcyIKK21zZ3N0ciAiRXJyb3IsIGR1cGxpa2FzaSBFWFBPUlQgZGVuZ2FuIG9yZGluYWxzOiAlcyIKKworIzogZGxsdG9vbC5jOjMwOTcKK21zZ2lkICJQcm9jZXNzaW5nIGRlZmluaXRpb25zIgorbXNnc3RyICJNZW1wcm9zZXMgZGVmaW5pc2kiCisKKyM6IGRsbHRvb2wuYzozMTI5Cittc2dpZCAiUHJvY2Vzc2VkIGRlZmluaXRpb25zIgorbXNnc3RyICJEZWZpbmlzaSB0ZWxhaCB0ZXJwcm9zZXMiCisKKyMuIHhnZXRleHQ6Yy1mb3JtYXQKKyM6IGRsbHRvb2wuYzozMTM2IGRsbHdyYXAuYzo0NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2UgJXMgPG9wdGlvbihzKT4gPG9iamVjdC1maWxlKHMpPlxuIgorbXNnc3RyICJQZW5nZ3VuYWFuICVzIDxvcHNpPiA8YmVya2FzLW9iamVrPlxuIgorCisjLiB4Z2V0ZXh0OmMtZm9ybWF0CisjOiBkbGx0b29sLmM6MzEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtbSAtLW1hY2hpbmUgPG1hY2hpbmU+ICAgIENyZWF0ZSBhcyBETEwgZm9yIDxtYWNoaW5lPi4gIFtkZWZhdWx0OiAlc11cbiIKK21zZ3N0ciAiICAgLW0gLS1tYWNoaW5lIDxtZXNpbj4gICAgICBCdWF0IHNlYmFnYWkgRExMIHVudHVrIDxtZXNpbj4uIFtiYWt1OiAlc11cbiIKKworIzogZGxsdG9vbC5jOjMxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICBwb3NzaWJsZSA8bWFjaGluZT46IGFybVtfaW50ZXJ3b3JrXSwgaTM4NiwgbWNvcmVbLWVsZl17LWxlfC1iZX0sIHBwYywgdGh1bWJcbiIKK21zZ3N0ciAiICAgICAgICA8bWVzaW4+IG11bmdraW46IGFybVtfaW50ZXJ3b3JrXSwgaTM4NiwgbWNvcmVbLWVsZl17LWxlfC1iZX0sIHBwYywgdGh1bWJcbiIKKworIzogZGxsdG9vbC5jOjMxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLWUgLS1vdXRwdXQtZXhwIDxvdXRuYW1lPiBHZW5lcmF0ZSBhbiBleHBvcnQgZmlsZS5cbiIKK21zZ3N0ciAiICAgLWUgLS1vdXRwdXQtZXhwdCA8b3V0bmFtZT4gSGFzaWxrYW4gc2VidWFoIGJlcmthcyBla3Nwb3IuXG4iCisKKyM6IGRsbHRvb2wuYzozMTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIC1sIC0tb3V0cHV0LWxpYiA8b3V0bmFtZT4gR2VuZXJhdGUgYW4gaW50ZXJmYWNlIGxpYnJhcnkuXG4iCittc2dzdHIgIiAgIC1sIC0tb3V0cHV0LWxpYiA8b3V0bmFtZT4gSGFzaWxrYW4gc2VidWFoIHBlcnB1c3Rha2FhbiBhbnRhci1tdWthLlxuIgorCisjOiBkbGx0b29sLmM6MzE0MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtYSAtLWFkZC1pbmRpcmVjdCAgICAgICAgIEFkZCBkbGwgaW5kaXJlY3RzIHRvIGV4cG9ydCBmaWxlLlxuIgorbXNnc3RyICIgICAtYSAtLWFkZC1pbmRpcmVjdCAgICAgICAgIFRhbWJhaGthbiBkbGwgdGlkYWsgbGFuZ3N1bmcga2UgYmVya2FzIGVrc3Bvci5cbiIKKworIzogZGxsdG9vbC5jOjMxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLUQgLS1kbGxuYW1lIDxuYW1lPiAgICAgICBOYW1lIG9mIGlucHV0IGRsbCB0byBwdXQgaW50byBpbnRlcmZhY2UgbGliLlxuIgorbXNnc3RyICIgICAtRCAtLWRsbG5hbWUgPG5hbWE+ICAgICAgIE5hbWEgZGFyaSBtYXN1a2FuIGRsbCBrZSBwdXQgZGFsYW0gYW50YXItbXVrYSBsaWIuXG4iCisKKyM6IGRsbHRvb2wuYzozMTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIC1kIC0taW5wdXQtZGVmIDxkZWZmaWxlPiAgTmFtZSBvZiAuZGVmIGZpbGUgdG8gYmUgcmVhZCBpbi5cbiIKK21zZ3N0ciAiICAgLWQgLS1pbnB1dC1kZWYgPGRlZmZpbGU+ICBOYW1hIGRhcmkgYmVya2FzIC5kZWYgeWFuZyBha2FuIGRpYmFjYS5cbiIKKworIzogZGxsdG9vbC5jOjMxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLXogLS1vdXRwdXQtZGVmIDxkZWZmaWxlPiBOYW1lIG9mIC5kZWYgZmlsZSB0byBiZSBjcmVhdGVkLlxuIgorbXNnc3RyICIgICAteiAtLW91dHB1dC1kZWYgPGRlZmZpbGU+IE5hbWEgZGFyaSBiZXJrYXMgLmRlZiB5YW5nIGFrYW4gZGlidWF0LlxuIgorCisjOiBkbGx0b29sLmM6MzE0NgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAtLWV4cG9ydC1hbGwtc3ltYm9scyAgIEV4cG9ydCBhbGwgc3ltYm9scyB0byAuZGVmXG4iCittc2dzdHIgIiAgICAgIC0tZXhwb3J0LWFsbC1zeW1ib2xzICAgRWtzcG9yIHNlbHVydWggc2ltYm9sIGtlIC5kZWZcbiIKKworIzogZGxsdG9vbC5jOjMxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgLS1uby1leHBvcnQtYWxsLXN5bWJvbHMgIE9ubHkgZXhwb3J0IGxpc3RlZCBzeW1ib2xzXG4iCittc2dzdHIgIiAgICAgIC0tbm8tZXhwb3J0LWFsbC1zeW1ib2xzICBIYW55YSBla3Nwb3Igc2ltYm9sIHlhbmcgdGVyZGFmdGFyXG4iCisKKyM6IGRsbHRvb2wuYzozMTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgIC0tZXhjbHVkZS1zeW1ib2xzIDxsaXN0PiBEb24ndCBleHBvcnQgPGxpc3Q+XG4iCittc2dzdHIgIiAgICAgIC0tZXhjbHVkZS1zeW1ib2xzIDxsaXN0PiBKYW5nYW4gZWtzcG9yIDxkYWZ0YXI+XG4iCisKKyM6IGRsbHRvb2wuYzozMTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgIC0tbm8tZGVmYXVsdC1leGNsdWRlcyAgQ2xlYXIgZGVmYXVsdCBleGNsdWRlIHN5bWJvbHNcbiIKK21zZ3N0ciAiICAgICAgLS1uby1kZWZhdWx0LWV4Y2x1ZGVzICBIYXB1cyBkZWZhdWx0IGV4Y2x1ZGUgc3ltYm9sc1xuIgorCisjOiBkbGx0b29sLmM6MzE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtYiAtLWJhc2UtZmlsZSA8YmFzZWZpbGU+IFJlYWQgbGlua2VyIGdlbmVyYXRlZCBiYXNlIGZpbGUuXG4iCittc2dzdHIgIiAgIC1iIC0tYmFzZS1maWxlIDxiYXNlZmlsZT4gQmFjYSBiZXJrYXMgZGFzYXIgeWFuZyBkaWhhc2lsa2FuIGxpbmtlci5cbiIKKworIzogZGxsdG9vbC5jOjMxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLXggLS1uby1pZGF0YTQgICAgICAgICAgICBEb24ndCBnZW5lcmF0ZSBpZGF0YSQ0IHNlY3Rpb24uXG4iCittc2dzdHIgIiAgIC14IC0tbm8taWRhdGE0ICAgICAgICAgICAgSmFuZ2FuIGhhc2lsa2FuIGRhZXJhaCBpZGF0YSQ0LlxuIgorCisjOiBkbGx0b29sLmM6MzE1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtYyAtLW5vLWlkYXRhNSAgICAgICAgICAgIERvbid0IGdlbmVyYXRlIGlkYXRhJDUgc2VjdGlvbi5cbiIKK21zZ3N0ciAiICAgLWMgLS1uby1pZGF0YTUgICAgICAgICAgICAgSmFuZ2FuIGhhc2lsa2FuIGRhZXJhaCBpZGF0YSQ1LlxuIgorCisjOiBkbGx0b29sLmM6MzE1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAtVSAtLWFkZC11bmRlcnNjb3JlICAgICAgIEFkZCB1bmRlcnNjb3JlcyB0byBhbGwgc3ltYm9scyBpbiBpbnRlcmZhY2UgbGlicmFyeS5cbiIKK21zZ3N0ciAiICAgLVUgLS1hZGQtdW5kZXJzY29yZSAgICAgICBUYW1iYWhrYW4gZ2FyaXMtYmF3YWgga2Ugc2VtdWEgc2ltYm9sIGRhbGFtIGFudGFyLW11a2EgcGVycHVzdGFrYWFuLlxuIgorCisjOiBkbGx0b29sLmM6MzE1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAtLWFkZC1zdGRjYWxsLXVuZGVyc2NvcmUgQWRkIHVuZGVyc2NvcmVzIHRvIHN0ZGNhbGwgc3ltYm9scyBpbiBpbnRlcmZhY2UgbGlicmFyeS5cbiIKK21zZ3N0ciAiICAgICAgLS1hZGQtc3RkY2FsbC11bmRlcnNjb3JlIFRhbWJhaGthbiBnYXJpcy1iYXdhaCBrZSBzdGRjYWxsIHNpbWJvbCBkYWxhbSBhbnRhci1tdWthIHBlcnB1c3Rha2Fhbi5cbiIKKworIzogZGxsdG9vbC5jOjMxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLWsgLS1raWxsLWF0ICAgICAgICAgICAgICBLaWxsIEA8bj4gZnJvbSBleHBvcnRlZCBuYW1lcy5cbiIKK21zZ3N0ciAiICAgLWsgLS1raWxsLWF0ICAgICAgICAgICAgICBNYXRpa2FuIEA8bj4gZGFyaSBuYW1hIHRlcmVrc3Bvci5cbiIKKworIzogZGxsdG9vbC5jOjMxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLUEgLS1hZGQtc3RkY2FsbC1hbGlhcyAgICBBZGQgYWxpYXNlcyB3aXRob3V0IEA8bj4uXG4iCittc2dzdHIgIiAgIC1BIC0tYWRkLXN0ZGNhbGwtYWxpYXMgICAgVGFtYmFoa2FuIGFsaWFzIHRhbnBhIEA8bj4uXG4iCisKKyM6IGRsbHRvb2wuYzozMTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIC1wIC0tZXh0LXByZWZpeC1hbGlhcyA8cHJlZml4PiBBZGQgYWxpYXNlcyB3aXRoIDxwcmVmaXg+LlxuIgorbXNnc3RyICIgICAtcCAtLWV4dC1wcmVmaXgtYWxpYXMgPHByZWZpeD4gVGFtYmFoa2FuIGFsaWFzIGRlbmdhbiA8cHJlZml4Pi5cbiIKKworIzogZGxsdG9vbC5jOjMxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLVMgLS1hcyA8bmFtZT4gICAgICAgICAgICBVc2UgPG5hbWU+IGZvciBhc3NlbWJsZXIuXG4iCittc2dzdHIgIiAgIC1TIC0tYXMgPG5hbWE+ICAgICAgICAgICAgR3VuYWthbiA8bmFtYT4gdW50dWsgcGVyYWtpdC5cbiIKKworIzogZGxsdG9vbC5jOjMxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLWYgLS1hcy1mbGFncyA8ZmxhZ3M+ICAgICBQYXNzIDxmbGFncz4gdG8gdGhlIGFzc2VtYmxlci5cbiIKK21zZ3N0ciAiICAgLWYgLS1hcy1mbGFncyA8ZmxhZ3M+ICAgICBMZXdhdGthbiA8ZmxhZ3M+IGtlIHBlcmFraXQuXG4iCisKKyM6IGRsbHRvb2wuYzozMTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIC1DIC0tY29tcGF0LWltcGxpYiAgICAgICAgQ3JlYXRlIGJhY2t3YXJkIGNvbXBhdGlibGUgaW1wb3J0IGxpYnJhcnkuXG4iCittc2dzdHIgIiAgIC1DIC0tY29tcGF0LWltcGxpYiAgICAgICAgQnVhdCBrb21wYWJpbGl0YWFzIGtlYmVsYWthbmcgaW1wb3IgcGVycHVzdGFrYWFuLlxuIgorCisjOiBkbGx0b29sLmM6MzE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtbiAtLW5vLWRlbGV0ZSAgICAgICAgICAgIEtlZXAgdGVtcCBmaWxlcyAocmVwZWF0IGZvciBleHRyYSBwcmVzZXJ2YXRpb24pLlxuIgorbXNnc3RyICIgICAtbiAtLW5vLWRlbGV0ZSAgICAgICAgICAgIFNpbXBhbiBiZXJrYXMgc2VtZW50YXJhICh1bGFuZyB1bnR1ayBla3N0cmEgcHJlc2VydmF0aW9uKS5cbiIKKworIzogZGxsdG9vbC5jOjMxNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLXQgLS10ZW1wLXByZWZpeCA8cHJlZml4PiBVc2UgPHByZWZpeD4gdG8gY29uc3RydWN0IHRlbXAgZmlsZSBuYW1lcy5cbiIKK21zZ3N0ciAiICAgLXQgLS10ZW1wLXByZWZpeCA8cHJlZml4PiBHdW5ha2FuIDxwcmVmaXggdW50dWsgbWVuZ2tvbnN0cnVrc2kgbmFtYSBiZXJrYXMgc2VtZW50YXJhLlxuIgorCisjOiBkbGx0b29sLmM6MzE2MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAtdiAtLXZlcmJvc2UgICAgICAgICAgICAgIEJlIHZlcmJvc2UuXG4iCittc2dzdHIgIiAgIC12IC0tdmVyYm9zZSAgICAgICAgICAgICAgVmVyYm9zZS5cbiIKKworIzogZGxsdG9vbC5jOjMxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLVYgLS12ZXJzaW9uICAgICAgICAgICAgICBEaXNwbGF5IHRoZSBwcm9ncmFtIHZlcnNpb24uXG4iCittc2dzdHIgIiAgIC1WIC0tdmVyc2lvbiAgICAgICAgICAgICAgVGFtcGlsa2FuIHZlcnNpIGRhcmkgYXBsaWthc2kuXG4iCisKKyM6IGRsbHRvb2wuYzozMTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIC1oIC0taGVscCAgICAgICAgICAgICAgICAgRGlzcGxheSB0aGlzIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIgICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgaW5pLlxuIgorCisjOiBkbGx0b29sLmM6MzE2NgorIywgYy1mb3JtYXQKK21zZ2lkICIgICBAPGZpbGU+ICAgICAgICAgICAgICAgICAgIFJlYWQgb3B0aW9ucyBmcm9tIDxmaWxlPi5cbiIKK21zZ3N0ciAiICAgQDxiZXJrYXM+ICAgICAgICAgICAgICAgICBCYWNhIG9wc2kgZGFyaSA8YmVya2FzPi5cbiIKKworIzogZGxsdG9vbC5jOjMxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLU0gLS1tY29yZS1lbGYgPG91dG5hbWU+ICBQcm9jZXNzIG1jb3JlLWVsZiBvYmplY3QgZmlsZXMgaW50byA8b3V0bmFtZT4uXG4iCittc2dzdHIgIiAgIC1NIC0tbWNvcmUtZWxmIDxvdXRuYW1lPiAgUHJvc2VzIG1jb3JlLWVsZiBiZXJrYXMgb2JqZWsga2VkYWxhbSA8b3V0bmFtZT4uXG4iCisKKyM6IGRsbHRvb2wuYzozMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIC1MIC0tbGlua2VyIDxuYW1lPiAgICAgICAgVXNlIDxuYW1lPiBhcyB0aGUgbGlua2VyLlxuIgorbXNnc3RyICIgICAtTCAtLWxpbmtlciA8bmFtYT4gICAgICAgIEd1bmFrYW4gPG5hbWE+IHNlYmFnYWkgbGlua2VyLlxuIgorCisjOiBkbGx0b29sLmM6MzE3MAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtRiAtLWxpbmtlci1mbGFncyA8ZmxhZ3M+IFBhc3MgPGZsYWdzPiB0byB0aGUgbGlua2VyLlxuIgorbXNnc3RyICIgICAtRiAtLWxpbmtlci1mbGFncyA8ZmxhZ3M+IExld2F0a2FuIDxmbGFncz4ga2UgbGlua2VyLlxuIgorCisjOiBkbGx0b29sLmM6MzI5MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXRoIGNvbXBvbmVudHMgc3RyaXBwZWQgZnJvbSBkbGxuYW1lLCAnJXMnLiIKK21zZ3N0ciAiSmFsdXIga29tcG9uZW4gZGloYXB1cyBkYXJpIGRsbG5hbWUsICclcycuIgorCisjOiBkbGx0b29sLmM6MzMzOAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gb3BlbiBiYXNlLWZpbGU6ICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIGJlcmthcy1kYXNhcjogJXMiCisKKyM6IGRsbHRvb2wuYzozMzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1hY2hpbmUgJyVzJyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJNZXNpbiAnJXMnIHRpZGFrIGRpZHVrdW5nIgorCisjOiBkbGx0b29sLmM6MzQ3NCBkbGx3cmFwLmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWVkIGZpbGU6ICVzIgorbXNnc3RyICJCZXJrYXMgeWFuZyBkaWNvYmE6ICVzIgorCisjOiBkbGx0b29sLmM6MzQ4MSBkbGx3cmFwLmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGZpbGU6ICVzIgorbXNnc3RyICJNZW5nZ3VuYWthbiBiZXJrYXM6ICVzIgorCisjOiBkbGx3cmFwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIktlZXBpbmcgdGVtcG9yYXJ5IGJhc2UgZmlsZSAlcyIKK21zZ3N0ciAiTWVuamFnYSBiZXJrYXMgZGFzYWFyIHNlbWVudGFyYSAlcyIKKworIzogZGxsd3JhcC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJEZWxldGluZyB0ZW1wb3JhcnkgYmFzZSBmaWxlICVzIgorbXNnc3RyICJNZW5naGFwdXMgYmVya2FzIGRhc2FyIHNlbWVudGFyYSAlcyIKKworIzogZGxsd3JhcC5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJLZWVwaW5nIHRlbXBvcmFyeSBleHAgZmlsZSAlcyIKK21zZ3N0ciAiTWVuamFnYSBiZXJrYXMgZWtzIHNlbWVudGFyYSAlcyIKKworIzogZGxsd3JhcC5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJEZWxldGluZyB0ZW1wb3JhcnkgZXhwIGZpbGUgJXMiCittc2dzdHIgIk1lbmdoYXB1cyBiZXJrYXMgZWtzcCBzZW1lbnRhcmEgJXMiCisKKyM6IGRsbHdyYXAuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VlcGluZyB0ZW1wb3JhcnkgZGVmIGZpbGUgJXMiCittc2dzdHIgIk1lbmphZ2EgYmVya2FzIGRlZiBzZW1lbnRhcmEgJXMiCisKKyM6IGRsbHdyYXAuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGVsZXRpbmcgdGVtcG9yYXJ5IGRlZiBmaWxlICVzIgorbXNnc3RyICJNZW5naGFwdXMgYmVya2FzIGRlIHNlbWVudGFyYSAlcyIKKworIzogZGxsd3JhcC5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIEdlbmVyaWMgb3B0aW9uczpcbiIKK21zZ3N0ciAiICBPcHNpIHVtdW06XG4iCisKKyM6IGRsbHdyYXAuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgQDxmaWxlPiAgICAgICAgICAgICAgICBSZWFkIG9wdGlvbnMgZnJvbSA8ZmlsZT5cbiIKK21zZ3N0ciAiICAgQDxiZXJrYXM+ICAgICAgICAgICAgICBCYWNhIG9wc2kgZGFyaSA8YmVya2FzPlxuIgorCisjOiBkbGx3cmFwLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIC0tcXVpZXQsIC1xICAgICAgICAgICAgV29yayBxdWlldGx5XG4iCittc2dzdHIgIiAgIC0tcXVpZXQsIC1xICAgICAgICAgICAgS2VyamEgc2VjYXJhIHRlbmFuZ1xuIgorCisjOiBkbGx3cmFwLmM6NDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIC0tdmVyYm9zZSwgLXYgICAgICAgICAgVmVyYm9zZVxuIgorbXNnc3RyICIgICAtLXZlcmJvc2UsIC12ICAgICAgICAgIFZlcmJvc2VcbiIKKworIzogZGxsd3JhcC5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtLXZlcnNpb24gICAgICAgICAgICAgIFByaW50IGRsbHdyYXAgdmVyc2lvblxuIgorbXNnc3RyICIgICAtLXZlcnNpb24gICAgICAgICAgICAgIFRhbXBpbGthbiB2ZXJzaSBkbGx3cmFwXG4iCisKKyM6IGRsbHdyYXAuYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLS1pbXBsaWIgPG91dG5hbWU+ICAgICBTeW5vbnltIGZvciAtLW91dHB1dC1saWJcbiIKK21zZ3N0ciAiICAgLS1pbXBsaWIgPG91dG5hbWU+ICAgICBTaW5vbmltIHVudHVrIC0tb3V0cHV0LWxpYlxuIgorCisjOiBkbGx3cmFwLmM6NDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgT3B0aW9ucyBmb3IgJXM6XG4iCittc2dzdHIgIiAgT3BzaSB1bnR1ayAlczpcbiIKKworIzogZGxsd3JhcC5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtLWRyaXZlci1uYW1lIDxkcml2ZXI+IERlZmF1bHRzIHRvIFwiZ2NjXCJcbiIKK21zZ3N0ciAiICAgLS1kcml2ZXItbmFtZSA8ZHJpdmVyPiBCYWt1IGtlIFwiZ2NjXCJcbiIKKworIzogZGxsd3JhcC5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtLWRyaXZlci1mbGFncyA8ZmxhZ3M+IE92ZXJyaWRlIGRlZmF1bHQgbGQgZmxhZ3NcbiIKK21zZ3N0ciAiICAgLS1kcml2ZXItZmxhZ3MgPGZsYWdzPiBPdmVycmlkZSBiYWt1IElkIGZsYWdzXG4iCisKKyM6IGRsbHdyYXAuYzo0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLS1kbGx0b29sLW5hbWUgPGRsbHRvb2w+IERlZmF1bHRzIHRvIFwiZGxsdG9vbFwiXG4iCittc2dzdHIgIiAgIC0tZGxsdG9vbC1uYW1lIDxkbGx0b29sPiBCYWt1IGt1IFwiZGxsdG9vbFwiXG4iCisKKyM6IGRsbHdyYXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLS1lbnRyeSA8ZW50cnk+ICAgICAgICBTcGVjaWZ5IGFsdGVybmF0ZSBETEwgZW50cnkgcG9pbnRcbiIKK21zZ3N0ciAiICAgLS1lbnRyeSA8bWFzdWthbj4gICAgICBTcGVzaWZpa2FzaWthbiBhbHRlcm5hdGlmIHRpdGlrIG1hc3VrYW4gRExMXG4iCisKKyM6IGRsbHdyYXAuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLS1pbWFnZS1iYXNlIDxiYXNlPiAgICBTcGVjaWZ5IGltYWdlIGJhc2UgYWRkcmVzc1xuIgorbXNnc3RyICIgICAtLWltYWdlLWJhc2UgPGJhc2U+ICAgIFNwZXNpZmlrYXNpa2FuIGFsYW1hdCBkYXNhciBpbWFnZVxuIgorCisjOiBkbGx3cmFwLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIC0tdGFyZ2V0IDxtYWNoaW5lPiAgICAgaTM4Ni1jeWd3aW4zMiBvciBpMzg2LW1pbmd3MzJcbiIKK21zZ3N0ciAiICAgLS10YXJnZXQgPG1lc2luPiAgICAgICBpMzg2LWN5Z3dpbjMyIGF0YXUgaTM4Ni1taW5ndzMyXG4iCisKKyM6IGRsbHdyYXAuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLS1kcnktcnVuICAgICAgICAgICAgICBTaG93IHdoYXQgbmVlZHMgdG8gYmUgcnVuXG4iCittc2dzdHIgIiAgIC0tZHJ5LXJ1biAgICAgICAgICAgICAgVGFtcGlsa2FuIGFwYSB5YW5nIGRpYnV0dWhrYW4gdW50dWsgYmVyamFsYW5cbiIKKworIzogZGxsd3JhcC5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtLW1uby1jeWd3aW4gICAgICAgICAgIENyZWF0ZSBNaW5ndyBETExcbiIKK21zZ3N0ciAiICAgLS1tbm8tY3lnd2luICAgICAgICAgICBCdWF0IE1pbmd3IERMTFxuIgorCisjOiBkbGx3cmFwLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgT3B0aW9ucyBwYXNzZWQgdG8gRExMVE9PTDpcbiIKK21zZ3N0ciAiICBPcHNpIGRpbGV3YXRrYW4ga2UgRExMVE9PTDpcbiIKKworIzogZGxsd3JhcC5jOjQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtLW1hY2hpbmUgPG1hY2hpbmU+XG4iCittc2dzdHIgIiAgIC0tbWFjaGluZSA8bWVzaW4+XG4iCisKKyM6IGRsbHdyYXAuYzo0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLS1vdXRwdXQtZXhwIDxvdXRuYW1lPiBHZW5lcmF0ZSBleHBvcnQgZmlsZS5cbiIKK21zZ3N0ciAiICAgLS1vdXRwdXQtZXhwIDxvdXRuYW1lPiBIYXNpbGthbiBiZXJrYXMgZWtzcG9yLlxuIgorCisjOiBkbGx3cmFwLmM6NDkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIC0tb3V0cHV0LWxpYiA8b3V0bmFtZT4gR2VuZXJhdGUgaW5wdXQgbGlicmFyeS5cbiIKK21zZ3N0ciAiICAgLS1vdXRwdXQtbGliIDxvdXRuYW1lPiBIYXNpbGthbiBwZXJwdXN0YWthYW4gbWFzdWthbi5cbiIKKworIzogZGxsd3JhcC5jOjQ5MQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtLWFkZC1pbmRpcmVjdCAgICAgICAgIEFkZCBkbGwgaW5kaXJlY3RzIHRvIGV4cG9ydCBmaWxlLlxuIgorbXNnc3RyICIgICAtLWFkZC1pbmRpcmVjdCAgICAgICAgIFRhbWJhaGthbiBkbGwgdGlkYWsgbGFuZ3N1bmcga2UgYmVya2FzIGVrc3Bvci5cbiIKKworIzogZGxsd3JhcC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtLWRsbG5hbWUgPG5hbWU+ICAgICAgIE5hbWUgb2YgaW5wdXQgZGxsIHRvIHB1dCBpbnRvIG91dHB1dCBsaWIuXG4iCittc2dzdHIgIiAgIC0tZGxsbmFtZSA8bmFtYT4gICAgICAgTmFtYSBkYXJpIG1hc3VrYW4gZGxsIGtlIHB1dCBkYWxhbSBsaWIga2VsdWFyYW4uXG4iCisKKyM6IGRsbHdyYXAuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgLS1kZWYgPGRlZmZpbGU+ICAgICAgICBOYW1lIGlucHV0IC5kZWYgZmlsZVxuIgorbXNnc3RyICIgICAtLWRlZiA8ZGVmZmlsZT4gICAgICAgIE5hbWEgYmVya2FzIG1hc3VrYW4gLmRlZlxuIgorCisjOiBkbGx3cmFwLmM6NDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIC0tb3V0cHV0LWRlZiA8ZGVmZmlsZT4gTmFtZSBvdXRwdXQgLmRlZiBmaWxlXG4iCittc2dzdHIgIiAgIC0tb3V0cHV0LWRlZiA8ZGVmZmlsZT4gTmFtYSBiZXJrYXMga2VsdWFyYW4gLmRlZlxuIgorCisjOiBkbGx3cmFwLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIC0tZXhwb3J0LWFsbC1zeW1ib2xzICAgICBFeHBvcnQgYWxsIHN5bWJvbHMgdG8gLmRlZlxuIgorbXNnc3RyICIgICAtLWV4cG9ydC1hbGwtc3ltYm9scyAgICAgRWtzcG9yIHNlbHVydWggc2ltYm9sIGtlIC5kZWZcbiIKKworIzogZGxsd3JhcC5jOjQ5NgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtLW5vLWV4cG9ydC1hbGwtc3ltYm9scyAgT25seSBleHBvcnQgLmRyZWN0dmUgc3ltYm9sc1xuIgorbXNnc3RyICIgICAtLW5vLWV4cG9ydC1hbGwtc3ltYm9scyAgSGFueWEgZWtzcG9yIC5kcmVjdHZlIHNpbWJvbHNcbiIKKworIzogZGxsd3JhcC5jOjQ5NworIywgYy1mb3JtYXQKK21zZ2lkICIgICAtLWV4Y2x1ZGUtc3ltYm9scyA8bGlzdD4gRXhjbHVkZSA8bGlzdD4gZnJvbSAuZGVmXG4iCittc2dzdHIgIiAgIC0tZXhjbHVkZS1zeW1ib2xzIDxsaXN0PiBFeGNsdWRlIDxsaXN0PiBkYXJpIC5kZWZcbiIKKworIzogZGxsd3JhcC5jOjQ5OAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtLW5vLWRlZmF1bHQtZXhjbHVkZXMgICAgWmFwIGRlZmF1bHQgZXhjbHVkZSBzeW1ib2xzXG4iCittc2dzdHIgIiAgIC0tbm8tZGVmYXVsdC1leGNsdWRlcyAgICBaYXAgZGVmYXVsdCBleGNsdWRlIHNpbWJvbFxuIgorCisjOiBkbGx3cmFwLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIC0tYmFzZS1maWxlIDxiYXNlZmlsZT4gUmVhZCBsaW5rZXIgZ2VuZXJhdGVkIGJhc2UgZmlsZVxuIgorbXNnc3RyICIgICAtLWJhc2UtZmlsZSA8YmFzZWZpbGU+IEJhY2EgbGlua2VyIHlhbmcgZGloYXNpbGthbiBiZXJrYXMgZGFzYXJcbiIKKworIzogZGxsd3JhcC5jOjUwMAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtLW5vLWlkYXRhNCAgICAgICAgICAgRG9uJ3QgZ2VuZXJhdGUgaWRhdGEkNCBzZWN0aW9uXG4iCittc2dzdHIgIiAgIC0tbm8taWRhdGE0ICAgICAgICAgICBKYW5nYW4gaGFzaWxrYW4gZGFlcmFoIGlkYXRhJDRcbiIKKworIzogZGxsd3JhcC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtLW5vLWlkYXRhNSAgICAgICAgICAgRG9uJ3QgZ2VuZXJhdGUgaWRhdGEkNSBzZWN0aW9uXG4iCittc2dzdHIgIiAgIC0tbm8taWRhdGE1ICAgICAgICAgICBKYW5nYW4gaGFzaWxrYW4gZGFlcmFoIGlkYXRhJDRcbiIKKworIzogZGxsd3JhcC5jOjUwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtVSAgICAgICAgICAgICAgICAgICAgIEFkZCB1bmRlcnNjb3JlcyB0byAubGliXG4iCittc2dzdHIgIiAgIC1VICAgICAgICAgICAgICAgICAgICAgVGFtYmFoa2FuIGdhcmlzLWJhd2FoIGtlIC5saWJcbiIKKworIzogZGxsd3JhcC5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIgICAtayAgICAgICAgICAgICAgICAgICAgIEtpbGwgQDxuPiBmcm9tIGV4cG9ydGVkIG5hbWVzXG4iCittc2dzdHIgIiAgIC1rICAgICAgICAgICAgICAgICAgICAgTm9uLWFrdGlma2FuIEA8bj4gZGFyaSBuYW1hIHRlcmVrc3BvclxuIgorCisjOiBkbGx3cmFwLmM6NTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIC0tYWRkLXN0ZGNhbGwtYWxpYXMgICAgQWRkIGFsaWFzZXMgd2l0aG91dCBAPG4+XG4iCittc2dzdHIgIiAgIC0tYWRkLXN0ZGNhbGwtYWxpYXMgICAgVGFtYmFoa2FuIGFsaWFzIHRhbnBhIEA8bj5cbiIKKworIzogZGxsd3JhcC5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtLWFzIDxuYW1lPiAgICAgICAgICAgIFVzZSA8bmFtZT4gZm9yIGFzc2VtYmxlclxuIgorbXNnc3RyICIgICAtLWFzIDxuYW1hPiAgICAgICAgICAgIEd1bmFrYW4gPG5hbWE+IHVudHVrIHBlcmFraXRcbiIKKworIzogZGxsd3JhcC5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAtLW5vZGVsZXRlICAgICAgICAgICAgIEtlZXAgdGVtcCBmaWxlcy5cbiIKK21zZ3N0ciAiICAgLS1ub2RlbGV0ZSAgICAgICAgICAgICBTaW1wYW4gYmVya2FzIHNlbWVudGFyYS5cbiIKKworIzogZGxsd3JhcC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIgIFJlc3QgYXJlIHBhc3NlZCB1bm1vZGlmaWVkIHRvIHRoZSBsYW5ndWFnZSBkcml2ZXJcbiIKK21zZ3N0ciAiICBTaXNhbnlhIGRpbGV3YXRrYW4gdGlkYWsgdGVybW9kaWZpa2FzaSBrZSBkcml2ZXIgYmFoYXNhXG4iCisKKyM6IGRsbHdyYXAuYzo3ODEKK21zZ2lkICJNdXN0IHByb3ZpZGUgYXQgbGVhc3Qgb25lIG9mIC1vIG9yIC0tZGxsbmFtZSBvcHRpb25zIgorbXNnc3RyICJIYXJ1cyBtZW55ZWRpYWthbiBwYWxpbmcgdGlkYWsgc2F0dSBkYXJpIG9wc2kgLW8gYXRhdSAtLWRsbG5hbWUiCisKKyM6IGRsbHdyYXAuYzo4MTAKK21zZ2lkICIiCisibm8gZXhwb3J0IGRlZmluaXRpb24gZmlsZSBwcm92aWRlZC5cbiIKKyJDcmVhdGluZyBvbmUsIGJ1dCB0aGF0IG1heSBub3QgYmUgd2hhdCB5b3Ugd2FudCIKK21zZ3N0ciAiIgorInRpZGFrIGFkYSBiZXJrYXMgZGVmaW5pc2kgZWtzcG9yIHlhbmcgZGliZXJpa2FuLlxuIgorIk1lbWJ1YXQgc2F0dSwgdGV0YXBpIGl0dSBtdW5na2luIGJ1a2FuIGFwYSB5YW5nIGFuZGEgaW5naW5rYW4iCisKKyM6IGRsbHdyYXAuYzo5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRExMVE9PTCBuYW1lICAgIDogJXNcbiIKK21zZ3N0ciAibmFtYSBETExUT09MICAgIDogJXNcbiIKKworIzogZGxsd3JhcC5jOjk3MAorIywgYy1mb3JtYXQKK21zZ2lkICJETExUT09MIG9wdGlvbnMgOiAlc1xuIgorbXNnc3RyICJvcHNpIERMTFRPT0wgICAgOiAlc1xuIgorCisjOiBkbGx3cmFwLmM6OTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRSSVZFUiBuYW1lICAgICA6ICVzXG4iCittc2dzdHIgIm5hbWEgRFJJVkVSICAgICA6ICVzXG4iCisKKyM6IGRsbHdyYXAuYzo5NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRFJJVkVSIG9wdGlvbnMgIDogJXNcbiIKK21zZ3N0ciAib3BzaSBEUklWRVIgICAgIDogJXNcbiIKKworIzogZHdhcmYuYzo5OCBkd2FyZi5jOjE0MiByZWFkZWxmLmM6MzcwIHJlYWRlbGYuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5oYW5kbGVkIGRhdGEgbGVuZ3RoOiAlZFxuIgorbXNnc3RyICJQYW5qYW5nIGRhdGEgdGlkYWsgdGVydGFuZ2FuaTogJWRcbiIKKworIzogZHdhcmYuYzoyNjcgZHdhcmYuYzoyNTYzCittc2dpZCAiYmFkbHkgZm9ybWVkIGV4dGVuZGVkIGxpbmUgb3AgZW5jb3VudGVyZWQhXG4iCittc2dzdHIgImJhcmlzIGVrc3RlbiB0ZXJiZW50dWsgYnVydWsgb3AgZGl0ZW11aSFcbiIKKworIzogZHdhcmYuYzoyNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBFeHRlbmRlZCBvcGNvZGUgJWQ6ICIKK21zZ3N0ciAiICBFa3N0ZW4gb3Brb2RlICVkOiAiCisKKyM6IGR3YXJmLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbmQgb2YgU2VxdWVuY2VcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkFraGlyIGRhcmkgVXJ1dGFuXG4iCisiXG4iCisKKyM6IGR3YXJmLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgInNldCBBZGRyZXNzIHRvIDB4JWx4XG4iCittc2dzdHIgInNldCBBbGFtYXQga2UgMHglbHhcbiIKKworIzogZHdhcmYuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBkZWZpbmUgbmV3IEZpbGUgVGFibGUgZW50cnlcbiIKK21zZ3N0ciAiICBkZWZpbmlzaWthbiBtYXN1a2FuIEJlcmthcyBUYWJlbCBiYXJ1XG4iCisKKyM6IGR3YXJmLmM6MjkxIGR3YXJmLmM6MjE3OAorIywgYy1mb3JtYXQKK21zZ2lkICIgIEVudHJ5XHREaXJcdFRpbWVcdFNpemVcdE5hbWVcbiIKK21zZ3N0ciAiICBNYXN1a2FuXHREaXJcdFdha3R1XHRVa3VyYW5cdE5hbWFcbiIKKworIzogZHdhcmYuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgJWRcdCIKK21zZ3N0ciAiICAgJWRcdCIKKworIzogZHdhcmYuYzoyOTYgZHdhcmYuYzoyOTggZHdhcmYuYzozMDAgZHdhcmYuYzoyMTkwIGR3YXJmLmM6MjE5MiBkd2FyZi5jOjIxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1XHQiCittc2dzdHIgIiVsdVx0IgorCisjOiBkd2FyZi5jOjMwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiVzXG4iCisiXG4iCisKKyMuIFRoZSB0ZXN0IGFnYWluc3QgRFdfTE5XX2hpX3VzZXIgaXMgcmVkdW5kYW50IGR1ZSB0bworIy4gdGhlIGxpbWl0ZWQgcmFuZ2Ugb2YgdGhlIHVuc2lnbmVkIGNoYXIgZGF0YSB0eXBlIHVzZWQKKyMuIGZvciBvcF9jb2RlLgorIy4gJiYgb3BfY29kZSA8PSBEV19MTkVfaGlfdXNlcgorIzogZHdhcmYuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBkZWZpbmVkOiBsZW5ndGggJWRcbiIKK21zZ3N0ciAidGVyZGVmaW5pc2kgb2xlaCBwZW5nZ3VuYTogcGFuamFuZyAlZFxuIgorCisjOiBkd2FyZi5jOjM0NCBkd2FyZi5jOjI1OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVU5LTk9XTjogbGVuZ3RoICVkXG4iCittc2dzdHIgIlRJREFLIERJS0VUQUhVSTogcGFuamFuZyAlZFxuIgorCisjOiBkd2FyZi5jOjM1NworbXNnaWQgIjxubyAuZGVidWdfc3RyIHNlY3Rpb24+IgorbXNnc3RyICI8dGlkYWsgYWRhIGRhZXJhaCAuZGVidWdfc3RyPiIKKworIzogZHdhcmYuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRFdfRk9STV9zdHJwIG9mZnNldCB0b28gYmlnOiAlbHhcbiIKK21zZ3N0ciAiRFdfRk9STV9zdHJwIG9mc2V0IHRlcmxhbHUgYmVzYXI6ICVseFxuIgorCisjOiBkd2FyZi5jOjM2NAorbXNnaWQgIjxvZmZzZXQgaXMgdG9vIGJpZz4iCittc2dzdHIgIjxvZnNldCB0ZXJsYWx1IGJlc2FyPiIKKworIzogZHdhcmYuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBUQUcgdmFsdWU6ICVseCIKK21zZ3N0ciAiTmlsYWkgVEFHIHRpZGFrIGRpa2V0YWh1aTogJWx4IgorCisjOiBkd2FyZi5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIEZPUk0gdmFsdWU6ICVseCIKK21zZ3N0ciAiTmlsYWkgRk9STSB0aWRhayBkaWtldGFodWk6ICVseCIKKworIzogZHdhcmYuYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVsdSBieXRlIGJsb2NrOiAiCittc2dzdHIgIiAlbHUgYnl0ZSBibG9rOiAiCisKKyM6IGR3YXJmLmM6MTAzMQorIywgYy1mb3JtYXQKK21zZ2lkICIoVXNlciBkZWZpbmVkIGxvY2F0aW9uIG9wKSIKK21zZ3N0ciAiKExva2FzaSBkZWZpbmlzaSBvbGVoIHBlbmdndW5hIG9wKSIKKworIzogZHdhcmYuYzoxMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIihVbmtub3duIGxvY2F0aW9uIG9wKSIKK21zZ3N0ciAiKExva2FzaSBvcCB0aWRhayBkaWtldGFodWkpIgorCisjOiBkd2FyZi5jOjEwODEKK21zZ2lkICJJbnRlcm5hbCBlcnJvcjogRFdBUkYgdmVyc2lvbiBpcyBub3QgMiBvciAzLlxuIgorbXNnc3RyICJJbnRlcm5hbCBlcnJvcjogdmVyc2kgRFdBUkYgYnVrYW4gMiBhdGF1IDMuXG4iCisKKyM6IGR3YXJmLmM6MTE4MAorbXNnaWQgIkRXX0ZPUk1fZGF0YTggaXMgdW5zdXBwb3J0ZWQgd2hlbiBzaXplb2YgKHVuc2lnbmVkIGxvbmcpICE9IDhcbiIKK21zZ3N0ciAiRFdfRk9STV9kYXRhOCB0aWRhayBkaWR1a3VuZyBrZXRpa2Egc2l6ZW9mICh1bnNpZ25lZCBsb25nKSAhPSA4XG4iCisKKyM6IGR3YXJmLmM6MTIyOQorIywgYy1mb3JtYXQKK21zZ2lkICIgKGluZGlyZWN0IHN0cmluZywgb2Zmc2V0OiAweCVseCk6ICVzIgorbXNnc3RyICIgKGluZGlyZWN0IHN0cmluZywgb2ZzZXQ6IDB4JWx4KTogJXMiCisKKyM6IGR3YXJmLmM6MTIzOAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnJlY29nbml6ZWQgZm9ybTogJWx1XG4iCittc2dzdHIgIkJlbnR1ayB0aWRhayBkaWtlbmFsaTogJWx1XG4iCisKKyM6IGR3YXJmLmM6MTMyMgorIywgYy1mb3JtYXQKK21zZ2lkICIobm90IGlubGluZWQpIgorbXNnc3RyICIodGlkYWsgaW5saW5lKSIKKworIzogZHdhcmYuYzoxMzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIihpbmxpbmVkKSIKK21zZ3N0ciAiKGlubGluZSkiCisKKyM6IGR3YXJmLmM6MTMyOAorIywgYy1mb3JtYXQKK21zZ2lkICIoZGVjbGFyZWQgYXMgaW5saW5lIGJ1dCBpZ25vcmVkKSIKK21zZ3N0ciAiKHRlcmRla2xhcmFzaSBzZWJhZ2FpIGlubGluZSB0ZXRhcGkgZGlhYmFpa2FuKSIKKworIzogZHdhcmYuYzoxMzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIihkZWNsYXJlZCBhcyBpbmxpbmUgYW5kIGlubGluZWQpIgorbXNnc3RyICIodGVyZGVrbGFyYXNpIHNlYmFnYWkgaW5saW5lIGRhbiBkaWlubGluZSkiCisKKyM6IGR3YXJmLmM6MTMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgIChVbmtub3duIGlubGluZSBhdHRyaWJ1dGUgdmFsdWU6ICVseCkiCittc2dzdHIgIiAgKE5pbGFpIGF0cmlidXQgaW5saW5lIHRpZGFrIGRpa2V0YWh1aTogJWx4KSIKKworIzogZHdhcmYuYzoxNDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIihsb2NhdGlvbiBsaXN0KSIKK21zZ3N0ciAiKGRhZnRhciBsb2thc2kpIgorCisjOiBkd2FyZi5jOjE1MTQgZHdhcmYuYzozMTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiBbd2l0aG91dCBEV19BVF9mcmFtZV9iYXNlXSIKK21zZ3N0ciAiIFt0YW5wYSBEV19BVF9mcmFtZV9iYXNlXSIKKworIzogZHdhcmYuYzoxNTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIk9mZnNldCAlbHggdXNlZCBhcyB2YWx1ZSBmb3IgRFdfQVRfaW1wb3J0IGF0dHJpYnV0ZSBvZiBESUUgYXQgb2Zmc2V0ICVseCBpcyB0b28gYmlnLlxuIgorbXNnc3RyICJPZnNldCAlbHggeWFuZyBkaWd1bmFrYW4gc2ViYWdhaSBuaWxhaSB1bnR1ayBEV19BVF9pbXBvcnQgYXRyaWJ1dCBkYXJpIERJRSBkaSBvZnNldCAlbHggdGVybGFsdSBiZXNhci5cbiIKKworIzogZHdhcmYuYzoxNzAwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gQVQgdmFsdWU6ICVseCIKK21zZ3N0ciAiTmlsYWkgQVQgdGlkYWsgZGlrZXRhaHVpOiAlbHgiCisKKyM6IGR3YXJmLmM6MTc2NworIywgYy1mb3JtYXQKK21zZ2lkICJSZXNlcnZlZCBsZW5ndGggdmFsdWUgKCVseCkgZm91bmQgaW4gc2VjdGlvbiAlc1xuIgorbXNnc3RyICJOaWxhaSBwYW5qYW5nIHRlcnBlc2FuICglbHgpIGRpdGVtdWthbiBkaSBkYWVyYWggJXNcbiIKKworIzogZHdhcmYuYzoxNzc4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvcnJ1cHQgdW5pdCBsZW5ndGggKCVseCkgZm91bmQgaW4gc2VjdGlvbiAlc1xuIgorbXNnc3RyICJQYW5qYW5nIHNhdHVhbiB0ZXJrb3J1cHNpICglbHgpIGRpdGVtdWthbiBkaSBkYWVyYWggJXNcbiIKKworIzogZHdhcmYuYzoxNzg1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIGNvbXAgdW5pdHMgaW4gJXMgc2VjdGlvbiA/IgorbXNnc3RyICJUaWRhayBhZGEgc2F0dWFuIGNvbXAgZGFsYW0gZGFlcmFoICVzPyIKKworIzogZHdhcmYuYzoxNzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBlbm91Z2ggbWVtb3J5IGZvciBhIGRlYnVnIGluZm8gYXJyYXkgb2YgJXUgZW50cmllcyIKK21zZ3N0ciAiVGlkYWsgY3VrdXAgbWVtb3JpIHVudHVrIGluZm9ybWFzaSBkZWJ1ZyBkYXJpIG1hc3VrYW4gJXUiCisKKyM6IGR3YXJmLmM6MTgwMiBkd2FyZi5jOjMyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBzZWN0aW9uICVzIGNvbnRhaW5zOlxuIgorIlxuIgorbXNnc3RyICIiCisiRGFlcmFoICVzIGJlcmlzaTpcbiIKKyJcbiIKKworIzogZHdhcmYuYzoxODEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBsb2NhdGUgJXMgc2VjdGlvbiFcbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gZGFlcmFoICVzIVxuIgorCisjOiBkd2FyZi5jOjE4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBDb21waWxhdGlvbiBVbml0IEAgb2Zmc2V0IDB4JWx4OlxuIgorbXNnc3RyICIgIEtvbXBpbGFzaSBkYXJpIFVuaXQgQCBvZnNldCAweCVseDpcbiIKKworIzogZHdhcmYuYzoxODc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIExlbmd0aDogICAgICAgIDB4JWx4ICglcylcbiIKK21zZ3N0ciAiICAgUGFuamFuZzogICAgICAgMHglbHggKCVzKVxuIgorCisjOiBkd2FyZi5jOjE4NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgVmVyc2lvbjogICAgICAgJWRcbiIKK21zZ3N0ciAiICAgVmVyc2k6ICAgICAgICAgJWRcbiIKKworIzogZHdhcmYuYzoxODc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIEFiYnJldiBPZmZzZXQ6ICVsZFxuIgorbXNnc3RyICIgICBPZnNldCBLZXBlbmRla2FuOiAlbGRcbiIKKworIzogZHdhcmYuYzoxODc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIFBvaW50ZXIgU2l6ZTogICVkXG4iCittc2dzdHIgIiAgIFVrdXJhbiBQb2ludGVyOiAlZFxuIgorCisjOiBkd2FyZi5jOjE4ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGVidWcgaW5mbyBpcyBjb3JydXB0ZWQsIGxlbmd0aCBvZiBDVSBhdCAlbHggZXh0ZW5kcyBiZXlvbmQgZW5kIG9mIHNlY3Rpb24gKGxlbmd0aCA9ICVseClcbiIKK21zZ3N0ciAiSW5mb3JtYXNpIGRlYnVnIHRlcmtvcnVwc2ksIHBhbmphbmcgZGFyaSBDVSBkaSAlbHggZWtzdGVuIGRpbHVhciBha2hpciBkYXJpIGRhZXJhaCAocGFuamFuZyA9ICVseClcbiIKKworIzogZHdhcmYuYzoxODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNVIGF0IG9mZnNldCAlbHggY29udGFpbnMgY29ycnVwdCBvciB1bnN1cHBvcnRlZCB2ZXJzaW9uIG51bWJlcjogJWQuXG4iCittc2dzdHIgIkNVIGRpIG9mc2V0ICVseCBiZXJpc2kgbm9tb3IgdmVyc2kgeWFuZyB0ZXJrb3J1cHNpIGF0YXUgdGlkYWsgZGlkdWt1bmc6ICAlZC5cbiIKKworIzogZHdhcmYuYzoxOTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRlYnVnIGluZm8gaXMgY29ycnVwdGVkLCBhYmJyZXYgb2Zmc2V0ICglbHgpIGlzIGxhcmdlciB0aGFuIGFiYnJldiBzZWN0aW9uIHNpemUgKCVseClcbiIKK21zZ3N0ciAiSW5mb3JtYXNpIGRlYnVnIHRlcmtvcnVwc2ksIG9mc2V0IGtlcGVuZGVrYW4gKCVseCkgbGViaWggYmVzYXIgIGRhcmkgZGFlcmFoIGtlcGVuZGVrYW4gdWt1cmFuICglbHgpXG4iCisKKyM6IGR3YXJmLmM6MTkzNworIywgYy1mb3JtYXQKK21zZ2lkICJCb2d1cyBlbmQtb2Ytc2libGluZ3MgbWFya2VyIGRldGVjdGVkIGF0IG9mZnNldCAlbHggaW4gLmRlYnVnX2luZm8gc2VjdGlvblxuIgorbXNnc3RyICJQYWxzdSBwZW5hbmRhIGFraGlyLWRhcmktc2libGluZ3MgdGVyZGV0ZWtzaSBkaSBvZnNldCAlbHggZGFsYW0gZGFlcmFoIC5kZWJ1Z19pbmZvXG4iCisKKyM6IGR3YXJmLmM6MTk0MQorbXNnaWQgIkZ1cnRoZXIgd2FybmluZ3MgYWJvdXQgYm9ndXMgZW5kLW9mLXNpYmxpbmcgbWFya2VycyBzdXBwcmVzc2VkXG4iCittc2dzdHIgIlRpZGFrIGFkYSBwZXJpbmdhdGFuIGxlYmloIGxhbmp1dCBtZW5nZW5haSBwZW5hbmRhIHBhbHN1IGFraGlyLWRhcmktc2libGluZyBkaXRla2FuXG4iCisKKyM6IGR3YXJmLmM6MTk0OAorIywgYy1mb3JtYXQKK21zZ2lkICIgPCVkPjwlbHg+OiBBYmJyZXYgTnVtYmVyOiAlbHUiCittc2dzdHIgIiA8JWQ+PCVseD46IE5vbW9yIEtlcGVuZGVrYW46ICVsdSIKKworIzogZHdhcmYuYzoxOTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRJRSBhdCBvZmZzZXQgJWx4IHJlZmVycyB0byBhYmJyZXZpYXRpb24gbnVtYmVyICVsdSB3aGljaCBkb2VzIG5vdCBleGlzdFxuIgorbXNnc3RyICJESUUgZGkgb2ZzZXQgJWx4IG1lcmVmZXJlbnNpa2FuIG5vbW9yIGtlcGVuZGVrYW4gJWx1IGRpbWFuYSBpdHUgdGlkYWsgYWRhXG4iCisKKyM6IGR3YXJmLmM6MTk3MQorIywgYy1mb3JtYXQKK21zZ2lkICIgKCVzKVxuIgorbXNnc3RyICIgKCVzKVxuIgorCisjOiBkd2FyZi5jOjIwNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlJhdyBkdW1wIG9mIGRlYnVnIGNvbnRlbnRzIG9mIHNlY3Rpb24gJXM6XG4iCisiXG4iCittc2dzdHIgIiIKKyJJc2kgbWVudGFoIGRhcmkgaXNpIGRlYnVnIGRhcmkgZGFlcmFoICVzOlxuIgorIlxuIgorCisjOiBkd2FyZi5jOjIxMDAgZHdhcmYuYzoyMzg3Cittc2dpZCAiVGhlIGxpbmUgaW5mbyBhcHBlYXJzIHRvIGJlIGNvcnJ1cHQgLSB0aGUgc2VjdGlvbiBpcyB0b28gc21hbGxcbiIKK21zZ3N0ciAiQmFyaXMgaW5mb3Igc2VwZXJ0aW55YSB0ZXJrb3J1cHNpIC0gZGFlcmFoIHRlcmxhbHUga2VjaWxcbiIKKworIzogZHdhcmYuYzoyMTA5IGR3YXJmLmM6MjM5NworbXNnaWQgIk9ubHkgRFdBUkYgdmVyc2lvbiAyIGFuZCAzIGxpbmUgaW5mbyBpcyBjdXJyZW50bHkgc3VwcG9ydGVkLlxuIgorbXNnc3RyICJIYW55YSBEV0FSRiB2ZXJzaSAyIGRhbiAzIGJhcmlzIGluZm8geWFuZyBzYWF0IGluaSBkaWR1a3VuZy5cbiIKKworIzogZHdhcmYuYzoyMTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgT2Zmc2V0OiAgICAgICAgICAgICAgICAgICAgICAweCVseFxuIgorbXNnc3RyICIgIE9mc2V0OiAgICAgICAgICAgICAgICAgICAgICAgMHglbHhcbiIKKworIzogZHdhcmYuYzoyMTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgTGVuZ3RoOiAgICAgICAgICAgICAgICAgICAgICAlbGRcbiIKK21zZ3N0ciAiICBQYW5qYW5nOiAgICAgICAgICAgICAgICAgICAgICVsZFxuIgorCisjOiBkd2FyZi5jOjIxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBEV0FSRiBWZXJzaW9uOiAgICAgICAgICAgICAgICVkXG4iCittc2dzdHIgIiAgVmVyc2kgRFdBUkY6ICAgICAgICAgICAgICAgICAlZFxuIgorCisjOiBkd2FyZi5jOjIxMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBQcm9sb2d1ZSBMZW5ndGg6ICAgICAgICAgICAgICVkXG4iCittc2dzdHIgIiAgUGFuamFuZyBQcm9sb2d1ZTogICAgICAgICAgICAlZFxuIgorCisjOiBkd2FyZi5jOjIxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBNaW5pbXVtIEluc3RydWN0aW9uIExlbmd0aDogICVkXG4iCittc2dzdHIgIiAgUGFuamFuZyBJbnN0cnVrc2kgTWluaW1hbDogICAlZFxuIgorCisjOiBkd2FyZi5jOjIxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBJbml0aWFsIHZhbHVlIG9mICdpc19zdG10JzogICVkXG4iCittc2dzdHIgIiAgTmlsYWkgaW5pc2lhbCBkYXJpICdpc19zdG10JzogJWRcbiIKKworIzogZHdhcmYuYzoyMTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgTGluZSBCYXNlOiAgICAgICAgICAgICAgICAgICAlZFxuIgorbXNnc3RyICIgIERhc2FyIEJhcmlzOiAgICAgICAgICAgICAgICAgJWRcbiIKKworIzogZHdhcmYuYzoyMTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgTGluZSBSYW5nZTogICAgICAgICAgICAgICAgICAlZFxuIgorbXNnc3RyICIgIEphbmdrYXVhbiBCYXJpczogICAgICAgICAgICAgJWRcbiIKKworIzogZHdhcmYuYzoyMTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgT3Bjb2RlIEJhc2U6ICAgICAgICAgICAgICAgICAlZFxuIgorbXNnc3RyICIgIERhc2FyIE9wa29kZTogICAgICAgICAgICAgICAgJWRcbiIKKworIzogZHdhcmYuYzoyMTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgT3Bjb2RlczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiBPcGtvZGU6XG4iCisKKyM6IGR3YXJmLmM6MjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIE9wY29kZSAlZCBoYXMgJWQgYXJnc1xuIgorbXNnc3RyICIgIE9wa29kZSAlZCBtZW1pbGlraSAlZCBhcmdzXG4iCisKKyM6IGR3YXJmLmM6MjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiIFRoZSBEaXJlY3RvcnkgVGFibGUgaXMgZW1wdHkuXG4iCittc2dzdHIgIiIKKyJcbiIKKyIgVGFiZWwgRGlyZWt0b3JpIGtvc29uZy5cbiIKKworIzogZHdhcmYuYzoyMTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgVGhlIERpcmVjdG9yeSBUYWJsZTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiBUYWJlbCBEaXJla3Rvcmk6XG4iCisKKyM6IGR3YXJmLmM6MjE2MworIywgYy1mb3JtYXQKK21zZ2lkICIgICVzXG4iCittc2dzdHIgIiAgJXNcbiIKKworIzogZHdhcmYuYzoyMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgVGhlIEZpbGUgTmFtZSBUYWJsZSBpcyBlbXB0eS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIiBUYWJlbCBOYW1hIEJlcmthcyBrb3NvbmcuXG4iCisKKyM6IGR3YXJmLmM6MjE3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiIFRoZSBGaWxlIE5hbWUgVGFibGU6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIgVGFiZWwgTmFtYSBCZXJrYXM6XG4iCisKKyM6IGR3YXJmLmM6MjE4NQorIywgYy1mb3JtYXQKK21zZ2lkICIgICVkXHQiCittc2dzdHIgIiAgJWRcdCIKKworIzogZHdhcmYuYzoyMTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXG4iCittc2dzdHIgIiVzXG4iCisKKyMuIE5vdyBkaXNwbGF5IHRoZSBzdGF0ZW1lbnRzLgorIzogZHdhcmYuYzoyMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgTGluZSBOdW1iZXIgU3RhdGVtZW50czpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiBQZXJueWF0YWFuIE5vbW9yIEJhcmlzOlxuIgorCisjOiBkd2FyZi5jOjIyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBTcGVjaWFsIG9wY29kZSAlZDogYWR2YW5jZSBBZGRyZXNzIGJ5ICVsdSB0byAweCVseCIKK21zZ3N0ciAiICBPcGtvZGUgc3Blc2lhbCAlZDogYWR2YW5jZSBBbGFtYXQgZGVuZ2FuICVsdSBrZSAweCVseCIKKworIzogZHdhcmYuYzoyMjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiBhbmQgTGluZSBieSAlZCB0byAlZFxuIgorbXNnc3RyICIgZGFuIEJhcmlzIGRlbmdhbiAlZCBrZSAlZFxuIgorCisjOiBkd2FyZi5jOjIyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBDb3B5XG4iCittc2dzdHIgIiAgU2FsaW5cbiIKKworIzogZHdhcmYuYzoyMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgQWR2YW5jZSBQQyBieSAlbHUgdG8gMHglbHhcbiIKK21zZ3N0ciAiICBMYW5qdXQgUEMgZGVuZ2FuICVsdSBrZSAweCVseFxuIgorCisjOiBkd2FyZi5jOjIyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBBZHZhbmNlIExpbmUgYnkgJWQgdG8gJWRcbiIKK21zZ3N0ciAiICBMYW5qdXQgQmFyaXMgZGVuZ2FuICVkIGtlICVkXG4iCisKKyM6IGR3YXJmLmM6MjI1NworIywgYy1mb3JtYXQKK21zZ2lkICIgIFNldCBGaWxlIE5hbWUgdG8gZW50cnkgJWQgaW4gdGhlIEZpbGUgTmFtZSBUYWJsZVxuIgorbXNnc3RyICIgIFNldCBOYW1hIEJlcmthcyBrZSBtYXN1a2FuICVkIGRhbGFtIFRhYmVsIE5hbWEgQmVya2FzXG4iCisKKyM6IGR3YXJmLmM6MjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICIgIFNldCBjb2x1bW4gdG8gJWx1XG4iCittc2dzdHIgIiAgU2V0IGtvbG9tIGtlICVsdVxuIgorCisjOiBkd2FyZi5jOjIyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBTZXQgaXNfc3RtdCB0byAlZFxuIgorbXNnc3RyICIgIFNldCBpc19zdG10IGtlICVkXG4iCisKKyM6IGR3YXJmLmM6MjI3NworIywgYy1mb3JtYXQKK21zZ2lkICIgIFNldCBiYXNpYyBibG9ja1xuIgorbXNnc3RyICIgIFNldCBiYXNpayBibG9rXG4iCisKKyM6IGR3YXJmLmM6MjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIgIEFkdmFuY2UgUEMgYnkgY29uc3RhbnQgJWx1IHRvIDB4JWx4XG4iCittc2dzdHIgIiAgTGFuanV0IFBDIGRlbmdhbiBrb25zdGFuICVsdSBrZSAweCVseFxuIgorCisjOiBkd2FyZi5jOjIyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBBZHZhbmNlIFBDIGJ5IGZpeGVkIHNpemUgYW1vdW50ICVsdSB0byAweCVseFxuIgorbXNnc3RyICIgIExhbmp1dCBQQyBkZW5nYW4ganVtbGFoIHRldGFwICVsdSBrZSAweCVseFxuIgorCisjOiBkd2FyZi5jOjIyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBTZXQgcHJvbG9ndWVfZW5kIHRvIHRydWVcbiIKK21zZ3N0ciAiICBTZXQgcHJvbG9ndWVfZW5kIGtlIHRydWVcbiIKKworIzogZHdhcmYuYzoyMzAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgU2V0IGVwaWxvZ3VlX2JlZ2luIHRvIHRydWVcbiIKK21zZ3N0ciAiICBTZXQgZXBpbG9ndWVfYmVnaW4ga2UgdHJ1ZVxuIgorCisjOiBkd2FyZi5jOjIzMDggZHdhcmYuYzoyNjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgU2V0IElTQSB0byAlbHVcbiIKK21zZ3N0ciAiICBTZXQgSVNBIGtlICVsdVxuIgorCisjOiBkd2FyZi5jOjIzMTIgZHdhcmYuYzoyNjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgVW5rbm93biBvcGNvZGUgJWQgd2l0aCBvcGVyYW5kczogIgorbXNnc3RyICIgIE9wa29kZSAlZCB0aWRhayBkaWtlbmFsIGRlbmdhbiBvcGVyYW46ICIKKworIzogZHdhcmYuYzoyMzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJEZWNvZGVkIGR1bXAgb2YgZGVidWcgY29udGVudHMgb2Ygc2VjdGlvbiAlczpcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkR1bXAgdGVyZGVrb2RlIGRhcmkgaXNpIGRlYnVnIGRhcmkgZGFlcmFoICVzOlxuIgorIlxuIgorCisjOiBkd2FyZi5jOjI1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1U6ICVzOlxuIgorbXNnc3RyICJDVTogJXM6XG4iCisKKyM6IGR3YXJmLmM6MjUwNyBkd2FyZi5jOjI1MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZSBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpbmUgbnVtYmVyICAgIFN0YXJ0aW5nIGFkZHJlc3NcbiIKK21zZ3N0ciAiTmFtYSBCZXJrYXMgICAgICAgICAgICAgICAgICAgICAgICAgIE5vbW9yIEJhcmlzICAgIEF3YWwgYWxhbWF0XG4iCisKKyM6IGR3YXJmLmM6MjUxMworIywgYy1mb3JtYXQKK21zZ2lkICJDVTogJXMvJXM6XG4iCittc2dzdHIgIkNVOiAlcy8lczpcbiIKKworIzogZHdhcmYuYzoyNTE4IGR3YXJmLmM6MjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczpcbiIKK21zZ3N0ciAiJXM6XG4iCisKKyMuIElmIGRpcmVjdG9yeSBpbmRleCBpcyAwLCB0aGF0IG1lYW5zIGN1cnJlbnQgZGlyZWN0b3J5LgorIzogZHdhcmYuYzoyNjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIuLyVzOlsrK11cbiIKK21zZ3N0ciAiIgorIlxuIgorIi4vJXM6WysrXVxuIgorCisjLiBUaGUgZGlyZWN0b3J5IGluZGV4IHN0YXJ0cyBjb3VudGluZyBhdCAxLgorIzogZHdhcmYuYzoyNjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcy8lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVzLyVzOlxuIgorCisjOiBkd2FyZi5jOjI3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0zNXMgICUxMWQgICUjMThseFxuIgorbXNnc3RyICIlLTM1cyAlMTFkICAlIzE4bHhcbiIKKworIzogZHdhcmYuYzoyNzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICAlMTFkICAlIzE4bHhcbiIKK21zZ3N0ciAiJXMgJTExZCAgJSMxOGx4XG4iCisKKyM6IGR3YXJmLmM6Mjc0OSBkd2FyZi5jOjMwMjQgZHdhcmYuYzozNDI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBsb2FkL3BhcnNlIHRoZSAuZGVidWdfaW5mbyBzZWN0aW9uLCBzbyBjYW5ub3QgaW50ZXJwcmV0IHRoZSAlcyBzZWN0aW9uLlxuIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZWxvYWQvcGFyc2UgZGFlcmFoIC5kZWJ1Z19pbmZvLCBqYWRpIHRpZGFrIGRhcGF0IG1lbmludGVycHJldGFzaWthbiBkYWVyYWggJXMuXG4iCisKKyM6IGR3YXJmLmM6Mjc5NCBkd2FyZi5jOjI4ODggZHdhcmYuYzoyOTYyIGR3YXJmLmM6MzA3OSBkd2FyZi5jOjMyMjcKKyM6IGR3YXJmLmM6MzQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ29udGVudHMgb2YgdGhlICVzIHNlY3Rpb246XG4iCisiXG4iCittc2dzdHIgIiIKKyJJc2kgZGFyaSBkYWVyYWggJXM6XG4iCisiXG4iCisKKyM6IGR3YXJmLmM6MjgyOCBkd2FyZi5jOjMzMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLmRlYnVnX2luZm8gb2Zmc2V0IG9mIDB4JWx4IGluICVzIHNlY3Rpb24gZG9lcyBub3QgcG9pbnQgdG8gYSBDVSBoZWFkZXIuXG4iCittc2dzdHIgIi5kZWJ1Z19pbmZvIG9mc2V0IGRhcmkgMHglbHggZGFsYW0gZGFlcmFoICVzIHRpZGFrIG1lbnVuanVrIGtlIGhlYWRlciBDVS5cbiIKKworIzogZHdhcmYuYzoyODQyCittc2dpZCAiT25seSBEV0FSRiAyIGFuZCAzIHB1Ym5hbWVzIGFyZSBjdXJyZW50bHkgc3VwcG9ydGVkXG4iCittc2dzdHIgIkhhbnlhIERXQVJGIDIgZGFuIDMgcHVibmFtZXMgeWFuZyBzYWF0IGluaSBkaWR1a3VuZ1xuIgorCisjOiBkd2FyZi5jOjI4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBMZW5ndGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWxkXG4iCittc2dzdHIgIiAgUGFuamFuZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICVsZFxuIgorCisjOiBkd2FyZi5jOjI4NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBWZXJzaW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWRcbiIKK21zZ3N0ciAiICBWZXJzaTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWRcbiIKKworIzogZHdhcmYuYzoyODUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgT2Zmc2V0IGludG8gLmRlYnVnX2luZm8gc2VjdGlvbjogICAgIDB4JWx4XG4iCittc2dzdHIgIiAgT2ZzZXQgZGFsYW0gZGFlcmFoIC5kZWJ1Z19pbmZvOiAgICAgIDB4JWx4XG4iCisKKyM6IGR3YXJmLmM6Mjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICIgIFNpemUgb2YgYXJlYSBpbiAuZGVidWdfaW5mbyBzZWN0aW9uOiAlbGRcbiIKK21zZ3N0ciAiICBVa3VyYW4gZGFyaSBkYWVyYWggZGFsYW0gLmRlYnVnX2luZm86ICVsZFxuIgorCisjOiBkd2FyZi5jOjI4NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiAgICBPZmZzZXRcdE5hbWVcbiIKK21zZ3N0ciAiIgorIlxuIgorIiAgICBPZnNldFx0TmFtYVxuIgorCisjOiBkd2FyZi5jOjI5MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIERXX01BQ0lORk9fc3RhcnRfZmlsZSAtIGxpbmVubzogJWQgZmlsZW51bTogJWRcbiIKK21zZ3N0ciAiIERXX01BQ0lORk9fc3RhcnRfZmlsZSAtIGxpbmVubzogJWQgZmlsZW51bTogJWRcbiIKKworIzogZHdhcmYuYzoyOTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiBEV19NQUNJTkZPX2VuZF9maWxlXG4iCittc2dzdHIgIiBEV19NQUNJTkZPX2VuZF9maWxlXG4iCisKKyM6IGR3YXJmLmM6MjkyMworIywgYy1mb3JtYXQKK21zZ2lkICIgRFdfTUFDSU5GT19kZWZpbmUgLSBsaW5lbm8gOiAlZCBtYWNybyA6ICVzXG4iCittc2dzdHIgIiBEV19NQUNJTkZPX2RlZmluZSAtIGxpbmVubyA6ICVkIG1ha3JvIDogJXNcbiIKKworIzogZHdhcmYuYzoyOTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiBEV19NQUNJTkZPX3VuZGVmIC0gbGluZW5vIDogJWQgbWFjcm8gOiAlc1xuIgorbXNnc3RyICIgRFdfTUFDSU5GT191bmRlZiAtIGxpbmVubyA6ICVkIG1ha3JvIDogJXNcbiIKKworIzogZHdhcmYuYzoyOTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiBEV19NQUNJTkZPX3ZlbmRvcl9leHQgLSBjb25zdGFudCA6ICVkIHN0cmluZyA6ICVzXG4iCittc2dzdHIgIiBEV19NQUNJTkZPX3ZlbmRvcl9leHQgLSBrb25zdGFuIDogJWQgc3RyaW5nIDogJXNcbiIKKworIzogZHdhcmYuYzoyOTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgTnVtYmVyIFRBR1xuIgorbXNnc3RyICIgIE5vbW9yIFRBR1xuIgorCisjOiBkd2FyZi5jOjI5NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgJWxkICAgICAgJXMgICAgWyVzXVxuIgorbXNnc3RyICIgICAlbGQgICAgICAlcyAgICBbJXNdXG4iCisKKyM6IGR3YXJmLmM6Mjk4MgorbXNnaWQgImhhcyBjaGlsZHJlbiIKK21zZ3N0ciAibWVtaWxpa2kgYW5hayIKKworIzogZHdhcmYuYzoyOTgyCittc2dpZCAibm8gY2hpbGRyZW4iCittc2dzdHIgInRpZGFrIG1lbWlsaWtpIGFuYWsiCisKKyM6IGR3YXJmLmM6Mjk4NQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgJS0xOHMgJXNcbiIKK21zZ3N0ciAiICAgICUtMThzICVzXG4iCisKKyM6IGR3YXJmLmM6MzAxOCBkd2FyZi5jOjMyMjMgZHdhcmYuYzozNDE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgJXMgc2VjdGlvbiBpcyBlbXB0eS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkRhZXJhaCAlcyBpbmkga29zb25nLlxuIgorCisjLiBGSVhNRTogU2hvdWxkIHdlIGhhbmRsZSB0aGlzIGNhc2U/CisjOiBkd2FyZi5jOjMwNjgKK21zZ2lkICJMb2NhdGlvbiBsaXN0cyBpbiAuZGVidWdfaW5mbyBzZWN0aW9uIGFyZW4ndCBpbiBhc2NlbmRpbmcgb3JkZXIhXG4iCittc2dzdHIgIkRhZnRhciBsb2thc2kgZGFsYW0gZGFlcmFoIC5kZWJ1Z19pbmZvIHRpZGFrIGRhbGFtIHVydXRhbiBtZW5pbmdrYXQhXG4iCisKKyM6IGR3YXJmLmM6MzA3MQorbXNnaWQgIk5vIGxvY2F0aW9uIGxpc3RzIGluIC5kZWJ1Z19pbmZvIHNlY3Rpb24hXG4iCittc2dzdHIgIlRpZGFrIGFkYSBkYWZ0YXIgbG9rYXNpIGRhbGFtIGRhZXJhaCAuZGVidWdfaW5mbyFcbiIKKworIzogZHdhcmYuYzozMDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxvY2F0aW9uIGxpc3RzIGluICVzIHNlY3Rpb24gc3RhcnQgYXQgMHglbHhcbiIKK21zZ3N0ciAiRGFmdGFyIGxva2FzaSBkYWxhbSBkYWVyYWggJXMgZGltdWxhaSBkaSAweCVseFxuIgorCisjOiBkd2FyZi5jOjMwODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgIE9mZnNldCAgIEJlZ2luICAgIEVuZCAgICAgIEV4cHJlc3Npb25cbiIKK21zZ3N0ciAiICAgIE9mc2V0ICAgIEF3YWwgICAgIEFraGlyICAgIFBlcm55YXRhYW5cbiIKKworIzogZHdhcmYuYzozMTExCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIGEgaG9sZSBbMHglbHggLSAweCVseF0gaW4gLmRlYnVnX2xvYyBzZWN0aW9uLlxuIgorbXNnc3RyICJEaXNhbmEgYWRhIGhvbGUgWzB4JWx4IC0gMHglbHhdIGRhbGFtIGRhZXJhaCAuZGVidWdfbG9jLlxuIgorCisjOiBkd2FyZi5jOjMxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgYW4gb3ZlcmxhcCBbMHglbHggLSAweCVseF0gaW4gLmRlYnVnX2xvYyBzZWN0aW9uLlxuIgorbXNnc3RyICJEaXNhbmEgYWRhIHR1bXBhbmcgdGluZGloIFsweCVseCAtIDB4JWx4XSBkYWxhbSBkYWVyYWggLmRlYnVnX2xvY1xuIgorCisjOiBkd2FyZi5jOjMxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiT2Zmc2V0IDB4JWx4IGlzIGJpZ2dlciB0aGFuIC5kZWJ1Z19sb2Mgc2VjdGlvbiBzaXplLlxuIgorbXNnc3RyICJPZnNldCAweCVseCBsZWJpaCBiZXNhciBkYXJpIHVrdXJhbiBkYWVyYWggLmRlYnVnX2xvYy5cbiIKKworIzogZHdhcmYuYzozMTMyIGR3YXJmLmM6MzE2NyBkd2FyZi5jOjMxNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9jYXRpb24gbGlzdCBzdGFydGluZyBhdCBvZmZzZXQgMHglbHggaXMgbm90IHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIkRhZnRhciBsb2thc2kgZGltdWxhaSBkaSBvZnNldCAweCVseCB0aWRhayBkaWFraGlyaS5cbiIKKworIzogZHdhcmYuYzozMTUxIGR3YXJmLmM6MzUzMgorIywgYy1mb3JtYXQKK21zZ2lkICI8RW5kIG9mIGxpc3Q+XG4iCittc2dzdHIgIjxBa2hpciBkYXJpIGRhZnRhcj5cbiIKKworIzogZHdhcmYuYzozMTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIihiYXNlIGFkZHJlc3MpXG4iCittc2dzdHIgIihhbGFtYXQgZGFzYXIpXG4iCisKKyM6IGR3YXJmLmM6MzE5NgorbXNnaWQgIiAoc3RhcnQgPT0gZW5kKSIKK21zZ3N0ciAiIChhd2FsID09IGFraGlyKSIKKworIzogZHdhcmYuYzozMTk4Cittc2dpZCAiIChzdGFydCA+IGVuZCkiCittc2dzdHIgIiAoYXdhbCA+IGFraGlyKSIKKworIzogZHdhcmYuYzozMjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGFyZSAlbGQgdW51c2VkIGJ5dGVzIGF0IHRoZSBlbmQgb2Ygc2VjdGlvbiAlc1xuIgorbXNnc3RyICJEaXNhbmEgYWRhICVsZCBieXRlIHRpZGFrIGRpZ3VuYWthbiBkaWFraGlyIGRhcmkgZGFlcmFoICVzXG4iCisKKyM6IGR3YXJmLmM6MzM0MQorbXNnaWQgIk9ubHkgRFdBUkYgMiBhbmQgMyBhcmFuZ2VzIGFyZSBjdXJyZW50bHkgc3VwcG9ydGVkLlxuIgorbXNnc3RyICJIYW55YSBEV0FSRiAyIGRhbiAzIHlhbmcgc2FhdCBpbmkgZGlkdWt1bmcuXG4iCisKKyM6IGR3YXJmLmM6MzM0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgIExlbmd0aDogICAgICAgICAgICAgICAgICAgJWxkXG4iCittc2dzdHIgIiAgUGFuamFuZzogICAgICAgICAgICAgICAgICAlbGRcbiIKKworIzogZHdhcmYuYzozMzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgVmVyc2lvbjogICAgICAgICAgICAgICAgICAlZFxuIgorbXNnc3RyICIgIFZlcnNpOiAgICAgICAgICAgICAgICAgICAgJWRcbiIKKworIzogZHdhcmYuYzozMzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgT2Zmc2V0IGludG8gLmRlYnVnX2luZm86ICAweCVseFxuIgorbXNnc3RyICIgIE9mc2V0IGtlZGFsYW0gLmRlYnVnX2luZm86IDB4JWx4XG4iCisKKyM6IGR3YXJmLmM6MzM0OAorIywgYy1mb3JtYXQKK21zZ2lkICIgIFBvaW50ZXIgU2l6ZTogICAgICAgICAgICAgJWRcbiIKK21zZ3N0ciAiICBVa3VyYW4gUGVudW5qdWs6ICAgICAgICAgICVkXG4iCisKKyM6IGR3YXJmLmM6MzM0OQorIywgYy1mb3JtYXQKK21zZ2lkICIgIFNlZ21lbnQgU2l6ZTogICAgICAgICAgICAgJWRcbiIKK21zZ3N0ciAiICBVa3VyYW4gU2VnbWVuOiAgICAgICAgICAgICVkXG4iCisKKyM6IGR3YXJmLmM6MzM1OAorbXNnaWQgIlBvaW50ZXIgc2l6ZSArIFNlZ21lbnQgc2l6ZSBpcyBub3QgYSBwb3dlciBvZiB0d28uXG4iCittc2dzdHIgIlVrdXJhbiBwZW51bmp1ayArIFVrdXJhbiBzZWdtZW4gYnVrYW4ga2VsaXBhdGFuIGRhcmkgZHVhLlxuIgorCisjOiBkd2FyZi5jOjMzNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiAgICBBZGRyZXNzICAgICAgICAgICAgTGVuZ3RoXG4iCittc2dzdHIgIiIKKyJcbiIKKyIgICAgQWxhbWF0ICAgICAgICAgICAgIFBhbmphbmdcbiIKKworIzogZHdhcmYuYzozMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgQWRkcmVzcyAgICBMZW5ndGhcbiIKK21zZ3N0ciAiIgorIlxuIgorIiAgICBBbGFtYXQgICAgIFBhbmphbmdcbiIKKworIy4gRklYTUU6IFNob3VsZCB3ZSBoYW5kbGUgdGhpcyBjYXNlPworIzogZHdhcmYuYzozNDY5Cittc2dpZCAiUmFuZ2UgbGlzdHMgaW4gLmRlYnVnX2luZm8gc2VjdGlvbiBhcmVuJ3QgaW4gYXNjZW5kaW5nIG9yZGVyIVxuIgorbXNnc3RyICJEYWZ0YXIgamFuZ2thdWFuIGRhbGFtIGRhZXJhaCAuZGVidWdfaW5mbyB0aWRhayBkYWxhbSB1cnV0YW4gbWVuaW5na2F0IVxuIgorCisjOiBkd2FyZi5jOjM0NzIKK21zZ2lkICJObyByYW5nZSBsaXN0cyBpbiAuZGVidWdfaW5mbyBzZWN0aW9uIVxuIgorbXNnc3RyICJUaWRhayBhZGEgZGFmdGFyIGphbmdrYXVhbiBkYWxhbSBkYWVyYWggLmRlYnVnX2luZm8hXG4iCisKKyM6IGR3YXJmLmM6MzQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJSYW5nZSBsaXN0cyBpbiAlcyBzZWN0aW9uIHN0YXJ0IGF0IDB4JWx4XG4iCittc2dzdHIgIkRhZnRhciBqYW5na2F1YW4gZGFsYW0gZGFlcmFoICVzIGRpbXVsYWkgZGFyaSAweCVseFxuIgorCisjOiBkd2FyZi5jOjM0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgIE9mZnNldCAgIEJlZ2luICAgIEVuZFxuIgorbXNnc3RyICIgICAgT2ZzZXQgICAgQXdhbCAgICAgQWtoaXJcbiIKKworIzogZHdhcmYuYzozNTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIGEgaG9sZSBbMHglbHggLSAweCVseF0gaW4gJXMgc2VjdGlvbi5cbiIKK21zZ3N0ciAiRGlzYW5hIHRlcmRhcGF0IHNlYnVhaCBsdWJhbmcgWzB4JWx4IC0weCVseF0gZGFsYW0gZGFlcmFoICVzLlxuIgorCisjOiBkd2FyZi5jOjM1MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgYW4gb3ZlcmxhcCBbMHglbHggLSAweCVseF0gaW4gJXMgc2VjdGlvbi5cbiIKK21zZ3N0ciAiRGlzYW5hIHRlcmRhcGF0IHNlYnVhaCB0dW1wYW5nIHRpbmRpaCBbMHglbHggLSAweCVseF0gZGFsYW0gZGFlcmFoICVzLlxuIgorCisjOiBkd2FyZi5jOjM1NDgKK21zZ2lkICIoc3RhcnQgPT0gZW5kKSIKK21zZ3N0ciAiKGF3YWwgPT0gYWtoaXIpIgorCisjOiBkd2FyZi5jOjM1NTAKK21zZ2lkICIoc3RhcnQgPiBlbmQpIgorbXNnc3RyICIoYXdhbCA+IGFraGlyKSIKKworIzogZHdhcmYuYzozODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzZWN0aW9uICVzIGNvbnRhaW5zOlxuIgorbXNnc3RyICJEYWVyYWggJXMgYmVyaXNpOlxuIgorCisjOiBkd2FyZi5jOjQ0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBEV19DRkFfPz8/IChVc2VyIGRlZmluZWQgY2FsbCBmcmFtZSBvcDogJSN4KVxuIgorbXNnc3RyICIgIERXX0NGQV8/Pz8gKERlZmluaXNpIG9sZWggcGVuZ2d1bmEgbWVtYW5nZ2lsIGZyYW1lIG9wOiAlI3gpXG4iCisKKyM6IGR3YXJmLmM6NDQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvciB1bmtub3duIER3YXJmIENhbGwgRnJhbWUgSW5zdHJ1Y3Rpb24gbnVtYmVyOiAlI3hcbiIKK21zZ3N0ciAidGlkYWsgZGlkdWt1bmcgYXRhdSB0aWRhayBkaWtlbmFsIER3YXJmIENhbGwgRnJhbWUgbm9tb3IgSW5zdHJ1a3NpOiAlI3hcbiIKKworIzogZHdhcmYuYzo0NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc3BsYXlpbmcgdGhlIGRlYnVnIGNvbnRlbnRzIG9mIHNlY3Rpb24gJXMgaXMgbm90IHlldCBzdXBwb3J0ZWQuXG4iCittc2dzdHIgIk1lbmFtcGlsa2FuIGlzaSBkZWJ1ZyBkYXJpIGRhZXJhaCAlcyBiZWx1bSBkaWR1a3VuZy5cbiIKKworIzogZHdhcmYuYzo0NTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBFcnJvcjogIgorbXNnc3RyICIlczogRXJyb3I6ICIKKworIzogZHdhcmYuYzo0NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiAiCittc2dzdHIgIiVzOiBQZXJpbmdhdGFuOiAiCisKKyM6IGVtdWxfYWl4LmM6NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBbLWddICAgICAgICAgLSAzMiBiaXQgc21hbGwgYXJjaGl2ZVxuIgorbXNnc3RyICIgIFstZ10gICAgICAgICAtIDMyIGJpdCBhcmNoaXZlIGtlY2lsXG4iCisKKyM6IGVtdWxfYWl4LmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBbLVgzMl0gICAgICAgLSBpZ25vcmVzIDY0IGJpdCBvYmplY3RzXG4iCittc2dzdHIgIiAgWy1YMzJdICAgICAgIC0gYWJhaWthbiBvYmplayA2NCBiaXRcbiIKKworIzogZW11bF9haXguYzo0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgIFstWDY0XSAgICAgICAtIGlnbm9yZXMgMzIgYml0IG9iamVjdHNcbiIKK21zZ3N0ciAiICBbLVg2NF0gICAgICAgLSBhYmFpa2FuIG9iamVrIDMyIGJpdFxuIgorCisjOiBlbXVsX2FpeC5jOjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgWy1YMzJfNjRdICAgIC0gYWNjZXB0cyAzMiBhbmQgNjQgYml0IG9iamVjdHNcbiIKK21zZ3N0ciAiICBbLVgzMl82NF0gICAgLSB0ZXJpbWEgb2JqZWsgMzIgZGFuIDY0IGJpdFxuIgorCisjOiBpZWVlLmM6MzA5Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZGVidWdnaW5nIGluZm9ybWF0aW9uIgorbXNnc3RyICJ0aWRhayB0ZXJkdWdhIGFraGlyIGRhcmkgaW5mb3JtYXNpIGRlYnVnIgorCisjOiBpZWVlLmM6Mzk2Cittc2dpZCAiaW52YWxpZCBudW1iZXIiCittc2dzdHIgIm5vbW9yIHRpZGFrIHZhbGlkIgorCisjOiBpZWVlLmM6NDQ5Cittc2dpZCAiaW52YWxpZCBzdHJpbmcgbGVuZ3RoIgorbXNnc3RyICJwYW5qYW5nIHN0cmluZyB0aWRhayB2YWxpZCIKKworIzogaWVlZS5jOjUwNCBpZWVlLmM6NTQ1Cittc2dpZCAiZXhwcmVzc2lvbiBzdGFjayBvdmVyZmxvdyIKK21zZ3N0ciAiZWtzcHJlc2kgc3RhY2sgb3ZlcmZsb3ciCisKKyM6IGllZWUuYzo1MjQKK21zZ2lkICJ1bnN1cHBvcnRlZCBJRUVFIGV4cHJlc3Npb24gb3BlcmF0b3IiCittc2dzdHIgIm9wZXJhdG9yIGVrc3ByZXNpIElFRUUgdGlkYWsgZGlkdWt1bmciCisKKyM6IGllZWUuYzo1MzkKK21zZ2lkICJ1bmtub3duIHNlY3Rpb24iCittc2dzdHIgImRhZXJhaCB0aWRhayBkaWtlbmFsIgorCisjOiBpZWVlLmM6NTYwCittc2dpZCAiZXhwcmVzc2lvbiBzdGFjayB1bmRlcmZsb3ciCittc2dzdHIgImVrc3ByZXNpIHN0YWNrIHVuZGVyZmxvdyIKKworIzogaWVlZS5jOjU3NAorbXNnaWQgImV4cHJlc3Npb24gc3RhY2sgbWlzbWF0Y2giCittc2dzdHIgImVrc3ByZXNpIHN0YWNrIHRpZGFrIGNvY29rIgorCisjOiBpZWVlLmM6NjExCittc2dpZCAidW5rbm93biBidWlsdGluIHR5cGUiCittc2dzdHIgInRpcGUgYnVpbHRpbiB0aWRhayBkaWtlbmFsIgorCisjOiBpZWVlLmM6NzU2Cittc2dpZCAiQkNEIGZsb2F0IHR5cGUgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAidGlwZSBwZWNhaGFuIEJDRCB0aWRhayBkaWR1a3VuZyIKKworIzogaWVlZS5jOjg5MworbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIgorbXNnc3RyICJub21vciB0aWRhayB0ZXJkdWdhIgorCisjOiBpZWVlLmM6OTAwCittc2dpZCAidW5leHBlY3RlZCByZWNvcmQgdHlwZSIKK21zZ3N0ciAidGlwZSByZWthbWFuIHRpZGFrIHRlcmR1Z2EiCisKKyM6IGllZWUuYzo5MzMKK21zZ2lkICJibG9ja3MgbGVmdCBvbiBzdGFjayBhdCBlbmQiCittc2dzdHIgInNpc2EgYmxvayBwYWRhIHN0YWNrIGRpIGFraGlyIgorCisjOiBpZWVlLmM6MTE5NgorbXNnaWQgInVua25vd24gQkIgdHlwZSIKK21zZ3N0ciAidGlwZSBCQiB0aWRhayBkaWtldGFodWkiCisKKyM6IGllZWUuYzoxMjA1Cittc2dpZCAic3RhY2sgb3ZlcmZsb3ciCittc2dzdHIgInN0YWNrIG92ZXJmbG93IgorCisjOiBpZWVlLmM6MTIyOAorbXNnaWQgInN0YWNrIHVuZGVyZmxvdyIKK21zZ3N0ciAic3RhY2sgdW5kZXJmbG93IgorCisjOiBpZWVlLmM6MTM0MCBpZWVlLmM6MTQxMCBpZWVlLmM6MjEwNworbXNnaWQgImlsbGVnYWwgdmFyaWFibGUgaW5kZXgiCittc2dzdHIgInZhcmlhYmVsIGluZGVrcyB0aWRhayBsZWdhbCIKKworIzogaWVlZS5jOjEzODgKK21zZ2lkICJpbGxlZ2FsIHR5cGUgaW5kZXgiCittc2dzdHIgInRpcGUgaW5kZWtzIHRpZGFrIGxlZ2FsIgorCisjOiBpZWVlLmM6MTM5OCBpZWVlLmM6MTQzNQorbXNnaWQgInVua25vd24gVFkgY29kZSIKK21zZ3N0ciAia29kZSBUWSB0aWRhayBkaWtlbmFsIgorCisjOiBpZWVlLmM6MTQxNworbXNnaWQgInVuZGVmaW5lZCB2YXJpYWJsZSBpbiBUWSIKK21zZ3N0ciAidmFyaWFiZWwgZGFsYW0gVFkgdGlkYWsgZGlrZW5hbCIKKworIy4gUGFzY2FsIGZpbGUgbmFtZS4gIEZJWE1FLgorIzogaWVlZS5jOjE4MjgKK21zZ2lkICJQYXNjYWwgZmlsZSBuYW1lIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIk5hbWEgYmVya2FzIFBhc2NhbCB0aWRhayBkaWR1a3VuZyIKKworIzogaWVlZS5jOjE4NzYKK21zZ2lkICJ1bnN1cHBvcnRlZCBxdWFsaWZpZXIiCittc2dzdHIgImt1YWxpZmllciB0aWRhayBkaWR1a3VuZyIKKworIzogaWVlZS5jOjIxNDUKK21zZ2lkICJ1bmRlZmluZWQgdmFyaWFibGUgaW4gQVROIgorbXNnc3RyICJ2YXJpYWJlbCBkYWxhbSBBVE4gdGlkYWsgdGVyZGVmaW5pc2kiCisKKyM6IGllZWUuYzoyMTg4Cittc2dpZCAidW5rbm93biBBVE4gdHlwZSIKK21zZ3N0ciAidGlwZSBBVE4gdGlkYWsgZGlkdWt1bmciCisKKyMuIFJlc2VydmVkIGZvciBGT1JUUkFOIGNvbW1vbi4KKyM6IGllZWUuYzoyMzEwCittc2dpZCAidW5zdXBwb3J0ZWQgQVROMTEiCittc2dzdHIgIkFUTjExIHRpZGFrIGRpZHVrdW5nIgorCisjLiBXZSBoYXZlIG5vIHdheSB0byByZWNvcmQgdGhpcyBpbmZvcm1hdGlvbi4gIEZJWE1FLgorIzogaWVlZS5jOjIzMzcKK21zZ2lkICJ1bnN1cHBvcnRlZCBBVE4xMiIKK21zZ3N0ciAiQVROMTIgdGlkYWsgZGlkdWt1bmciCisKKyM6IGllZWUuYzoyMzk3Cittc2dpZCAidW5leHBlY3RlZCBzdHJpbmcgaW4gQysrIG1pc2MiCittc2dzdHIgInN0cmluZyBkYWxhbSBtaXNjIEMrKyB0aWRhayB0ZXJkdWdhIgorCisjOiBpZWVlLmM6MjQxMAorbXNnaWQgImJhZCBtaXNjIHJlY29yZCIKK21zZ3N0ciAicmVrYW1hbiBtaXNjIGJ1cnVrIgorCisjOiBpZWVlLmM6MjQ1MQorbXNnaWQgInVucmVjb2duaXplZCBDKysgbWlzYyByZWNvcmQiCittc2dzdHIgInJla2FtYW4gbWlzYyBDKysgdGlkYWsgZGlrZW5hbCIKKworIzogaWVlZS5jOjI1NjYKK21zZ2lkICJ1bmRlZmluZWQgQysrIG9iamVjdCIKK21zZ3N0ciAib2JqZWsgQysrIHRpZGFrIHRlcmRlZmluaXNpIgorCisjOiBpZWVlLmM6MjYwMAorbXNnaWQgInVucmVjb2duaXplZCBDKysgb2JqZWN0IHNwZWMiCittc2dzdHIgInNwZXNpZmlrYXNpIG9iamVrIEMrKyB0aWRhayBkaWtlbmFsIgorCisjOiBpZWVlLmM6MjYzNgorbXNnaWQgInVuc3VwcG9ydGVkIEMrKyBvYmplY3QgdHlwZSIKK21zZ3N0ciAidGlwZSBvYmplayBDKysgdGlkYWsgZGlkdWt1bmciCisKKyM6IGllZWUuYzoyNjQ2Cittc2dpZCAiQysrIGJhc2UgY2xhc3Mgbm90IGRlZmluZWQiCittc2dzdHIgIkMrKyBrZWxhcyBkYXNhciB0aWRhayB0ZXJkZWZpbmlzaSIKKworIzogaWVlZS5jOjI2NTggaWVlZS5jOjI3NjMKK21zZ2lkICJDKysgb2JqZWN0IGhhcyBubyBmaWVsZHMiCittc2dzdHIgIkMrKyBvYmplayB0aWRhayBtZW1pbGlraSBmaWVsZCIKKworIzogaWVlZS5jOjI2NzcKK21zZ2lkICJDKysgYmFzZSBjbGFzcyBub3QgZm91bmQgaW4gY29udGFpbmVyIgorbXNnc3RyICJDKysga2VsYXMgZGFzYXIgdGlkYWsgZGl0ZW11a2FuIGRhbGFtIGtvbnRhaW5lciIKKworIzogaWVlZS5jOjI3ODQKK21zZ2lkICJDKysgZGF0YSBtZW1iZXIgbm90IGZvdW5kIGluIGNvbnRhaW5lciIKK21zZ3N0ciAiQysrIGRhdGEgYW5nZ290YSB0aWRhayBkaXRlbXVrYW4gZGFsYW0ga29udGFpbmVyIgorCisjOiBpZWVlLmM6MjgyNSBpZWVlLmM6Mjk3NQorbXNnaWQgInVua25vd24gQysrIHZpc2liaWxpdHkiCittc2dzdHIgInZpc2liaWxpdHkgQysrIHRpZGFrIGRpa2V0YWh1aSIKKworIzogaWVlZS5jOjI4NTkKK21zZ2lkICJiYWQgQysrIGZpZWxkIGJpdCBwb3Mgb3Igc2l6ZSIKK21zZ3N0ciAiQysrIGJpdCBmaWVsZCBwb3Npc2kgYXRhdSB1a3VyYW4gYnVydWsiCisKKyM6IGllZWUuYzoyOTUxCittc2dpZCAiYmFkIHR5cGUgZm9yIEMrKyBtZXRob2QgZnVuY3Rpb24iCittc2dzdHIgInRpcGUgdW50dWsgZnVuZ3NpIG1ldG9kZSBDKysgYnVydWsiCisKKyM6IGllZWUuYzoyOTYxCittc2dpZCAibm8gdHlwZSBpbmZvcm1hdGlvbiBmb3IgQysrIG1ldGhvZCBmdW5jdGlvbiIKK21zZ3N0ciAidGlkYWsgYWRhIGluZm9ybWFzaSB1bnR1ayBDKysgZnVuZ3NpIG1ldG9kZSIKKworIzogaWVlZS5jOjMwMDAKK21zZ2lkICJDKysgc3RhdGljIHZpcnR1YWwgbWV0aG9kIgorbXNnc3RyICJDKysgc3RhdGljIHZpcnR1YWwgbWV0b2RlIgorCisjOiBpZWVlLmM6MzA5NQorbXNnaWQgInVucmVjb2duaXplZCBDKysgb2JqZWN0IG92ZXJoZWFkIHNwZWMiCittc2dzdHIgInRpZGFrIGRpa2VuYWwgQysrIG9iamVrIG92ZXJoZWFkIHNwZWMiCisKKyM6IGllZWUuYzozMTM0Cittc2dpZCAidW5kZWZpbmVkIEMrKyB2dGFibGUiCittc2dzdHIgInZ0YWJlbCBDKysgdGlkYWsgdGVyZGVmaW5pc2kiCisKKyM6IGllZWUuYzozMjAzCittc2dpZCAiQysrIGRlZmF1bHQgdmFsdWVzIG5vdCBpbiBhIGZ1bmN0aW9uIgorbXNnc3RyICJuaWxhaSBiYWt1IEMrKyB0aWRhayBkYWxhbSBzZWJ1YWggZnVuZ3NpIgorCisjOiBpZWVlLmM6MzI0MworbXNnaWQgInVucmVjb2duaXplZCBDKysgZGVmYXVsdCB0eXBlIgorbXNnc3RyICJ0aXBlIGJha3UgQysrIHRpZGFrIGRpa2VuYWwiCisKKyM6IGllZWUuYzozMjc0Cittc2dpZCAicmVmZXJlbmNlIHBhcmFtZXRlciBpcyBub3QgYSBwb2ludGVyIgorbXNnc3RyICJwYXJhbWV0ZXIgcmVmZXJlbnNpIGJ1a2FuIHNlYnVhaCBwZW51bmp1ayIKKworIzogaWVlZS5jOjMzNTcKK21zZ2lkICJ1bnJlY29nbml6ZWQgQysrIHJlZmVyZW5jZSB0eXBlIgorbXNnc3RyICJ0aXBlIHJlZmVyZW5zaSBDKysgdGlkYWsgZGlrZW5hbCIKKworIzogaWVlZS5jOjM0MzkKK21zZ2lkICJDKysgcmVmZXJlbmNlIG5vdCBmb3VuZCIKK21zZ3N0ciAicmVmZXJlbnNpIEMrKyB0aWRhayBkaXRlbXVrYW4iCisKKyM6IGllZWUuYzozNDQ3Cittc2dpZCAiQysrIHJlZmVyZW5jZSBpcyBub3QgcG9pbnRlciIKK21zZ3N0ciAicmVmZXJlbnNpIEMrKyBidWthbiBzZWJ1YWggcGVudW5qdWsiCisKKyM6IGllZWUuYzozNDczIGllZWUuYzozNDgxCittc2dpZCAibWlzc2luZyByZXF1aXJlZCBBU04iCittc2dzdHIgImhpbGFuZyBBU04geWFuZyBkaWJ1dHVoa2FuIgorCisjOiBpZWVlLmM6MzUwOCBpZWVlLmM6MzUxNgorbXNnaWQgIm1pc3NpbmcgcmVxdWlyZWQgQVRONjUiCittc2dzdHIgImhpbGFuZyBBVE42NSB5YW5nIGRpYnV0dWhrYW4iCisKKyM6IGllZWUuYzozNTMwCittc2dpZCAiYmFkIEFUTjY1IHJlY29yZCIKK21zZ3N0ciAicmVrYW1hbiBBVE42NSBidXJ1ayIKKworIzogaWVlZS5jOjQxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSUVFRSBudW1lcmljIG92ZXJmbG93OiAweCIKK21zZ3N0ciAibnVtZXJpayBJRUVFIG92ZXJmbG93OyAweCIKKworIzogaWVlZS5jOjQyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSUVFRSBzdHJpbmcgbGVuZ3RoIG92ZXJmbG93OiAldVxuIgorbXNnc3RyICJwYW5qYW5nIHN0cmluZyBJRUVFIG92ZXJmbG93OiAldVxuIgorCisjOiBpZWVlLmM6NTE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJJRUVFIHVuc3VwcG9ydGVkIGludGVnZXIgdHlwZSBzaXplICV1XG4iCittc2dzdHIgInVrdXJhbiB0aXBlIGJpbGFuZ2FuIGJ1bGF0ICV1IElFRUUgdGlkYWsgZGlkdWt1bmdcbiIKKworIzogaWVlZS5jOjUyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSUVFRSB1bnN1cHBvcnRlZCBmbG9hdCB0eXBlIHNpemUgJXVcbiIKK21zZ3N0ciAidWt1cmFuIHRpcGUgYmlsYW5nYW4gcGVjYWhhbiAldSBJRUVFIHRpZGFrIGRpZHVrdW5nXG4iCisKKyM6IGllZWUuYzo1MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIklFRUUgdW5zdXBwb3J0ZWQgY29tcGxleCB0eXBlIHNpemUgJXVcbiIKK21zZ3N0ciAidWt1cmFuIHRpcGUga29tcGxla3MgJXUgSUVFRSB0aWRhayBkaWR1a3VuZ1xuIgorCisjOiBtY2xleC5jOjI0MQorbXNnaWQgIkR1cGxpY2F0ZSBzeW1ib2wgZW50ZXJlZCBpbnRvIGtleXdvcmQgbGlzdC4iCittc2dzdHIgIkR1cGxpa2FzaSBzaW1ib2wgZGltYXN1a2FuIGRhbGFtIGRhZnRhciBrZXl3b3JkLiIKKworIzogbmxtY29udi5jOjI3MyBzcmNvbnYuYzoxODIyCittc2dpZCAiaW5wdXQgYW5kIG91dHB1dCBmaWxlcyBtdXN0IGJlIGRpZmZlcmVudCIKK21zZ3N0ciAiYmVya2FzIG1hc3VrYW4gZGFuIGtlbHVhcmFuIGhhcnVzIGJlcmJlZGEiCisKKyM6IG5sbWNvbnYuYzozMjAKK21zZ2lkICJpbnB1dCBmaWxlIG5hbWVkIGJvdGggb24gY29tbWFuZCBsaW5lIGFuZCB3aXRoIElOUFVUIgorbXNnc3RyICJuYW1hIGtlZHVhIGJlcmthcyBtYXN1a2FuIGRpIGJhcmlzIHBlcmludGFoIGRhbiBkZW5nYW4gSU5QVVQiCisKKyM6IG5sbWNvbnYuYzozMjkKK21zZ2lkICJubyBpbnB1dCBmaWxlIgorbXNnc3RyICJ0aWRhayBhZGEgYmVya2FzIG1hc3VrYW4iCisKKyM6IG5sbWNvbnYuYzozNTkKK21zZ2lkICJubyBuYW1lIGZvciBvdXRwdXQgZmlsZSIKK21zZ3N0ciAidGlkYWsgYWRhIG5hbWEgdW50dWsgYmVya2FzIGtlbHVhcmFuIgorCisjOiBubG1jb252LmM6MzczCittc2dpZCAid2FybmluZzogaW5wdXQgYW5kIG91dHB1dCBmb3JtYXRzIGFyZSBub3QgY29tcGF0aWJsZSIKK21zZ3N0ciAicGVyaW5nYXRhbjogZm9ybWF0IG1hc3VrYW4gZGFuIGtlbHVhcmFuIHRpZGFrIGtvbXBhdGliZWwiCisKKyM6IG5sbWNvbnYuYzo0MDMKK21zZ2lkICJtYWtlIC5ic3Mgc2VjdGlvbiIKK21zZ3N0ciAiYnVhdCBkYWVyYWggLmJzcyIKKworIzogbmxtY29udi5jOjQxMworbXNnaWQgIm1ha2UgLm5sbXNlY3Rpb25zIHNlY3Rpb24iCittc2dzdHIgImJ1YXQgZGFlcmFoIC5ubG1zZWN0aW9ucyIKKworIzogbmxtY29udi5jOjQ0MQorbXNnaWQgInNldCAuYnNzIHZtYSIKK21zZ3N0ciAic2V0IHZtYSAuYnNzIgorCisjOiBubG1jb252LmM6NDQ4Cittc2dpZCAic2V0IC5kYXRhIHNpemUiCittc2dzdHIgInNldCB1a3VyYW4gLmRhdGEiCisKKyM6IG5sbWNvbnYuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogc3ltYm9sICVzIGltcG9ydGVkIGJ1dCBub3QgaW4gaW1wb3J0IGxpc3QiCittc2dzdHIgInBlcmluZ2F0YW46IHNpbWJvbCAlcyBkaWltcG9yIHRldGFwaSB0aWRhayBkYWxhbSBkYWZ0YXIgaW1wb3IiCisKKyM6IG5sbWNvbnYuYzo2NDgKK21zZ2lkICJzZXQgc3RhcnQgYWRkcmVzcyIKK21zZ3N0ciAic2V0IGF3YWwgYWxhbWF0IgorCisjOiBubG1jb252LmM6Njk3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IFNUQVJUIHByb2NlZHVyZSAlcyBub3QgZGVmaW5lZCIKK21zZ3N0ciAicGVyaW5nYXRhbjogQVdBTCBwcm9zZWR1ciAlcyB0aWRhayB0ZXJkZWZpbmlzaSIKKworIzogbmxtY29udi5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBFWElUIHByb2NlZHVyZSAlcyBub3QgZGVmaW5lZCIKK21zZ3N0ciAicGVyaW5nYXRhbjogS0VMVUFSIHByb3NlZHVyICVzIHRpZGFrIHRlcmRlZmluaXNpIgorCisjOiBubG1jb252LmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IENIRUNLIHByb2NlZHVyZSAlcyBub3QgZGVmaW5lZCIKK21zZ3N0ciAicGVyaW5nYXRhbjogUEVSSUtTQSBwcm9zZWR1ciAlcyB0aWRhayB0ZXJkZWZpbmlzaSIKKworIzogbmxtY29udi5jOjcyMSBubG1jb252LmM6OTA3Cittc2dpZCAiY3VzdG9tIHNlY3Rpb24iCittc2dzdHIgImRhZXJhaCBrdXN0b20iCisKKyM6IG5sbWNvbnYuYzo3NDEgbmxtY29udi5jOjkzNgorbXNnaWQgImhlbHAgc2VjdGlvbiIKK21zZ3N0ciAiZGFlcmFoIGJhbnR1YW4iCisKKyM6IG5sbWNvbnYuYzo3NjMgbmxtY29udi5jOjk1NAorbXNnaWQgIm1lc3NhZ2Ugc2VjdGlvbiIKK21zZ3N0ciAiZGFlcmFoIHBlc2FuIgorCisjOiBubG1jb252LmM6Nzc4IG5sbWNvbnYuYzo5ODcKK21zZ2lkICJtb2R1bGUgc2VjdGlvbiIKK21zZ3N0ciAiZGFlcmFoIG1vZHVsIgorCisjOiBubG1jb252LmM6Nzk3IG5sbWNvbnYuYzoxMDAzCittc2dpZCAicnBjIHNlY3Rpb24iCittc2dzdHIgImRhZXJhaCBycGMiCisKKyMuIFRoZXJlIGlzIG5vIHBsYWNlIHRvIHJlY29yZCB0aGlzIGluZm9ybWF0aW9uLgorIzogbmxtY29udi5jOjgzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogc2hhcmVkIGxpYnJhcmllcyBjYW4gbm90IGhhdmUgdW5pbml0aWFsaXplZCBkYXRhIgorbXNnc3RyICIlczogcGVyaW5nYXRhbjogcGVycHVzdGFrYWFuIHRlcmJhZ2kgdGlkYWsgZGFwYXQgbWVtaWxpa2kgZGF0YSB0aWRhayB0ZXJpbmlzaWFsaXNhc2kiCisKKyM6IG5sbWNvbnYuYzo4NTQgbmxtY29udi5jOjEwMjIKK21zZ2lkICJzaGFyZWQgc2VjdGlvbiIKK21zZ3N0ciAiZGFlcmFoIHRlcmJhZ2kiCisKKyM6IG5sbWNvbnYuYzo4NjIKK21zZ2lkICJ3YXJuaW5nOiBObyB2ZXJzaW9uIG51bWJlciBnaXZlbiIKK21zZ3N0ciAicGVyaW5nYXRhbjogVGlkYWsgYWRhIG5vbW9yIHZlcnNpIHlhbmcgZGliZXJpa2FuIgorCisjOiBubG1jb252LmM6OTAyIG5sbWNvbnYuYzo5MzEgbmxtY29udi5jOjk0OSBubG1jb252LmM6OTk4IG5sbWNvbnYuYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlcyIKK21zZ3N0ciAiJXM6IGJhY2E6ICVzIgorCisjOiBubG1jb252LmM6OTI0Cittc2dpZCAid2FybmluZzogRlVMTE1BUCBpcyBub3Qgc3VwcG9ydGVkOyB0cnkgbGQgLU0iCittc2dzdHIgInBlcmluZ2F0YW46IEZVTExNQVAgdGlkYWsgZGlkdWt1bmc6IGNvYmEgbGQgLU0iCisKKyM6IG5sbWNvbnYuYzoxMTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uKHMpXSBbaW4tZmlsZSBbb3V0LWZpbGVdXVxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbb3BzaV0gW2Jlcmthcy1tYXN1ayBbYmVya2FzLWtlbHVhcl1dXG4iCisKKyM6IG5sbWNvbnYuYzoxMTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiBDb252ZXJ0IGFuIG9iamVjdCBmaWxlIGludG8gYSBOZXRXYXJlIExvYWRhYmxlIE1vZHVsZVxuIgorbXNnc3RyICIgVWJhaCBzZWJ1YWggYmVya2FzIG9iamVrIGtlIHNlYnVhaCBOZXRXYXJlIExvYWRhYmxlIE1vZHVsXG4iCisKKyM6IG5sbWNvbnYuYzoxMTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgVGhlIG9wdGlvbnMgYXJlOlxuIgorIiAgLUkgLS1pbnB1dC10YXJnZXQ9PGJmZG5hbWU+ICAgU2V0IHRoZSBpbnB1dCBiaW5hcnkgZmlsZSBmb3JtYXRcbiIKKyIgIC1PIC0tb3V0cHV0LXRhcmdldD08YmZkbmFtZT4gIFNldCB0aGUgb3V0cHV0IGJpbmFyeSBmaWxlIGZvcm1hdFxuIgorIiAgLVQgLS1oZWFkZXItZmlsZT08ZmlsZT4gICAgICAgUmVhZCA8ZmlsZT4gZm9yIE5MTSBoZWFkZXIgaW5mb3JtYXRpb25cbiIKKyIgIC1sIC0tbGlua2VyPTxsaW5rZXI+ICAgICAgICAgIFVzZSA8bGlua2VyPiBmb3IgYW55IGxpbmtpbmdcbiIKKyIgIC1kIC0tZGVidWcgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgb24gc3RkZXJyIHRoZSBsaW5rZXIgY29tbWFuZCBsaW5lXG4iCisiICBAPGZpbGU+ICAgICAgICAgICAgICAgICAgICAgICBSZWFkIG9wdGlvbnMgZnJvbSA8ZmlsZT4uXG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgaW5mb3JtYXRpb25cbiIKKyIgIC12IC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgIERpc3BsYXkgdGhlIHByb2dyYW0ncyB2ZXJzaW9uXG4iCittc2dzdHIgIiIKKyIgT3BzaSBhZGFsYWg6XG4iCisiICAtSSAtLWlucHV0LXRhcmdldD08YmZkbmFtZT4gICBTZXQgZm9ybWF0IGJlcmthcyBtYXN1a2FuIGJpbmFyaVxuIgorIiAgLU8gLS1vdXRwdXQtdGFyZ2V0PTxiZmRuYW1lPiAgU2V0IGZvcm1hdCBiZXJrYXMga2VsdWFyYW4gYmluYXJpXG4iCisiICAtVCAtLWhlYWRlci1maWxlPTxmaWxlPiAgICAgICBCYWNhIDxiZXJrYXM+IHVudHVrIGluZm9ybWFzaSBoZWFkZXIgTkxNXG4iCisiICAtbCAtLWxpbmtlcj08bGlua2VyPiAgICAgICAgICBHdW5ha2FuIDxsaW5rZXI+IHVudHVrIGxpbmtpbmcgYXBhcHVuXG4iCisiICAtZCAtLWRlYnVnICAgICAgICAgICAgICAgICAgICBUYW1waWxrYW4gZGkgc3RkZXJyIGJhcmlzIHBlcmludGFoIGxpbmtlclxuIgorIiAgQDxiZXJrYXM+ICAgICAgICAgICAgICAgICAgICAgQmFjYSBvcHNpIGRhcmkgPGJlcmthcz4uXG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIGluaVxuIgorIiAgLXYgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgVGFtcGlsa2FuIHZlcnNpIGFwbGlrYXNpXG4iCisKKyM6IG5sbWNvbnYuYzoxMTQzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1cHBvcnQgbm90IGNvbXBpbGVkIGluIGZvciAlcyIKK21zZ3N0ciAiZHVrdW5nYW4gdGlkYWsgZGlrb21waWxlIHVudHVrICVzIgorCisjOiBubG1jb252LmM6MTE4MAorbXNnaWQgIm1ha2Ugc2VjdGlvbiIKK21zZ3N0ciAiYnVhdCBkYWVyYWgiCisKKyM6IG5sbWNvbnYuYzoxMTk0Cittc2dpZCAic2V0IHNlY3Rpb24gc2l6ZSIKK21zZ3N0ciAic2V0IHVrdXJhbiBkYWVyYWgiCisKKyM6IG5sbWNvbnYuYzoxMjAwCittc2dpZCAic2V0IHNlY3Rpb24gYWxpZ25tZW50IgorbXNnc3RyICJzZXQgYWxpZ25tZW4gZGFlcmFoIgorCisjOiBubG1jb252LmM6MTIwNAorbXNnaWQgInNldCBzZWN0aW9uIGZsYWdzIgorbXNnc3RyICJzZXQgdGFuZGEgZGFlcmFoIgorCisjOiBubG1jb252LmM6MTIxNQorbXNnaWQgInNldCAubmxtc2VjdGlvbnMgc2l6ZSIKK21zZ3N0ciAic2V0IHVrdXJhbiAubmxtc2VjdGlvbnMiCisKKyM6IG5sbWNvbnYuYzoxMjk2IG5sbWNvbnYuYzoxMzA0IG5sbWNvbnYuYzoxMzEzIG5sbWNvbnYuYzoxMzE4Cittc2dpZCAic2V0IC5ubG1zZWN0aW9uIGNvbnRlbnRzIgorbXNnc3RyICJzZXQgaXNpIC5ubG1zZWN0aW9uIgorCisjOiBubG1jb252LmM6MTc5NQorbXNnaWQgInN0dWIgc2VjdGlvbiBzaXplcyIKK21zZ3N0ciAidWt1cmFuIHN0dWIgZGFlcmFoIgorCisjOiBubG1jb252LmM6MTg0MgorbXNnaWQgIndyaXRpbmcgc3R1YiIKK21zZ3N0ciAibWVudWxpcyBzdHViIgorCisjOiBubG1jb252LmM6MTkyNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlc29sdmVkIFBDIHJlbGF0aXZlIHJlbG9jIGFnYWluc3QgJXMiCittc2dzdHIgInRpZGFrIHRlcnNlbGVzYWlrYW4gUEMgcmVsYXRpZiByZWxva2FzaSB0ZXJoYWRhcCAlcyIKKworIzogbmxtY29udi5jOjE5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3ZlcmZsb3cgd2hlbiBhZGp1c3RpbmcgcmVsb2NhdGlvbiBhZ2FpbnN0ICVzIgorbXNnc3RyICJvdmVyZmxvdyBrZXRpa2EgbWVueWVzdWFpa2FuIHJlbG9rYXNpIHRlcmhhZGFwICVzIgorCisjOiBubG1jb252LmM6MjExNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW9uIG9mICVzIGZhaWxlZDogIgorbXNnc3RyICIlczogZWtzZWt1c2kgZGFyaSAlcyBnYWdhbDogIgorCisjOiBubG1jb252LmM6MjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRpb24gb2YgJXMgZmFpbGVkIgorbXNnc3RyICJFa3Nla3VzaSBkYXJpICVzIGdhZ2FsIgorCisjOiBubS5jOjIxNyBzaXplLmM6Nzggc3RyaW5ncy5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbihzKV0gW2ZpbGUocyldXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtvcHNpXSBbYmVya2FzXVxuIgorCisjOiBubS5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIgTGlzdCBzeW1ib2xzIGluIFtmaWxlKHMpXSAoYS5vdXQgYnkgZGVmYXVsdCkuXG4iCittc2dzdHIgIiBEYWZ0YXIgc2ltYm9sIGRhbGFtIFtiZXJrYXNdIChhLm91dCBzZWNhcmEgYmFrdSkuXG4iCisKKyM6IG5tLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgVGhlIG9wdGlvbnMgYXJlOlxuIgorIiAgLWEsIC0tZGVidWctc3ltcyAgICAgICBEaXNwbGF5IGRlYnVnZ2VyLW9ubHkgc3ltYm9sc1xuIgorIiAgLUEsIC0tcHJpbnQtZmlsZS1uYW1lICBQcmludCBuYW1lIG9mIHRoZSBpbnB1dCBmaWxlIGJlZm9yZSBldmVyeSBzeW1ib2xcbiIKKyIgIC1CICAgICAgICAgICAgICAgICAgICAgU2FtZSBhcyAtLWZvcm1hdD1ic2RcbiIKKyIgIC1DLCAtLWRlbWFuZ2xlWz1TVFlMRV0gRGVjb2RlIGxvdy1sZXZlbCBzeW1ib2wgbmFtZXMgaW50byB1c2VyLWxldmVsIG5hbWVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgU1RZTEUsIGlmIHNwZWNpZmllZCwgY2FuIGJlIGBhdXRvJyAodGhlIGRlZmF1bHQpLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgYGdudScsIGBsdWNpZCcsIGBhcm0nLCBgaHAnLCBgZWRnJywgYGdudS12MycsIGBqYXZhJ1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgYGduYXQnXG4iCisiICAgICAgLS1uby1kZW1hbmdsZSAgICAgIERvIG5vdCBkZW1hbmdsZSBsb3ctbGV2ZWwgc3ltYm9sIG5hbWVzXG4iCisiICAtRCwgLS1keW5hbWljICAgICAgICAgIERpc3BsYXkgZHluYW1pYyBzeW1ib2xzIGluc3RlYWQgb2Ygbm9ybWFsIHN5bWJvbHNcbiIKKyIgICAgICAtLWRlZmluZWQtb25seSAgICAgRGlzcGxheSBvbmx5IGRlZmluZWQgc3ltYm9sc1xuIgorIiAgLWUgICAgICAgICAgICAgICAgICAgICAoaWdub3JlZClcbiIKKyIgIC1mLCAtLWZvcm1hdD1GT1JNQVQgICAgVXNlIHRoZSBvdXRwdXQgZm9ybWF0IEZPUk1BVC4gIEZPUk1BVCBjYW4gYmUgYGJzZCcsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgYHN5c3YnIG9yIGBwb3NpeCcuICBUaGUgZGVmYXVsdCBpcyBgYnNkJ1xuIgorIiAgLWcsIC0tZXh0ZXJuLW9ubHkgICAgICBEaXNwbGF5IG9ubHkgZXh0ZXJuYWwgc3ltYm9sc1xuIgorIiAgLWwsIC0tbGluZS1udW1iZXJzICAgICBVc2UgZGVidWdnaW5nIGluZm9ybWF0aW9uIHRvIGZpbmQgYSBmaWxlbmFtZSBhbmRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lIG51bWJlciBmb3IgZWFjaCBzeW1ib2xcbiIKKyIgIC1uLCAtLW51bWVyaWMtc29ydCAgICAgU29ydCBzeW1ib2xzIG51bWVyaWNhbGx5IGJ5IGFkZHJlc3NcbiIKKyIgIC1vICAgICAgICAgICAgICAgICAgICAgU2FtZSBhcyAtQVxuIgorIiAgLXAsIC0tbm8tc29ydCAgICAgICAgICBEbyBub3Qgc29ydCB0aGUgc3ltYm9sc1xuIgorIiAgLVAsIC0tcG9ydGFiaWxpdHkgICAgICBTYW1lIGFzIC0tZm9ybWF0PXBvc2l4XG4iCisiICAtciwgLS1yZXZlcnNlLXNvcnQgICAgIFJldmVyc2UgdGhlIHNlbnNlIG9mIHRoZSBzb3J0XG4iCisiICAtUywgLS1wcmludC1zaXplICAgICAgIFByaW50IHNpemUgb2YgZGVmaW5lZCBzeW1ib2xzXG4iCisiICAtcywgLS1wcmludC1hcm1hcCAgICAgIEluY2x1ZGUgaW5kZXggZm9yIHN5bWJvbHMgZnJvbSBhcmNoaXZlIG1lbWJlcnNcbiIKKyIgICAgICAtLXNpemUtc29ydCAgICAgICAgU29ydCBzeW1ib2xzIGJ5IHNpemVcbiIKKyIgICAgICAtLXNwZWNpYWwtc3ltcyAgICAgSW5jbHVkZSBzcGVjaWFsIHN5bWJvbHMgaW4gdGhlIG91dHB1dFxuIgorIiAgICAgIC0tc3ludGhldGljICAgICAgICBEaXNwbGF5IHN5bnRoZXRpYyBzeW1ib2xzIGFzIHdlbGxcbiIKKyIgIC10LCAtLXJhZGl4PVJBRElYICAgICAgVXNlIFJBRElYIGZvciBwcmludGluZyBzeW1ib2wgdmFsdWVzXG4iCisiICAgICAgLS10YXJnZXQ9QkZETkFNRSAgIFNwZWNpZnkgdGhlIHRhcmdldCBvYmplY3QgZm9ybWF0IGFzIEJGRE5BTUVcbiIKKyIgIC11LCAtLXVuZGVmaW5lZC1vbmx5ICAgRGlzcGxheSBvbmx5IHVuZGVmaW5lZCBzeW1ib2xzXG4iCisiICAtWCAzMl82NCAgICAgICAgICAgICAgIChpZ25vcmVkKVxuIgorIiAgQEZJTEUgICAgICAgICAgICAgICAgICBSZWFkIG9wdGlvbnMgZnJvbSBGSUxFXG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgIERpc3BsYXkgdGhpcyBpbmZvcm1hdGlvblxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICBEaXNwbGF5IHRoaXMgcHJvZ3JhbSdzIHZlcnNpb24gbnVtYmVyXG4iCisiXG4iCittc2dzdHIgIiIKKyIgT3BzaSBhZGFsYWg6XG4iCisiICAtYSwgLS1kZWJ1Zy1zeW1zICAgICAgIFRhbXBpbGthbiBkZWJ1Z2dlci1vbmx5IHNpbWJvbFxuIgorIiAgLUEsIC0tcHJpbnQtZmlsZS1uYW1lICBUYW1waWxrYW4gbmFtYSBkYXJpIGJlcmthcyBtYXN1a2FuIHNlYmVsdW0gc2V0aWFwIHNpbWJvbFxuIgorIiAgLUIgICAgICAgICAgICAgICAgICAgICBTYW1hIHNlcGVydGkgLS1mb3JtYXQ9YnNkXG4iCisiICAtQywgLS1kZW1hbmdsZVs9U1RZTEVdIERla29kZSB0aW5na2F0LWJhd2FoIG5hbWEgc2ltYm9sIGRhbGFtIG5hbWEgdGluZ2thdC1wZW5nZ3VuYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBTVFlMRSwgamlrYSBkaXNwZXNpZmlrYXNpa2FuLCBkYXBhdCBiZXJ1cGEgYGF1dG8nKGJha3UpLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBgZ251JywgYGx1Y2lkJywgYGFybScsIGBocCcsIGBlZGcnLCBgZ251LXYzJywgYGphdmEnXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGF0YXUgYGduYXQnXG4iCisiICAgICAgLS1uby1kZW1hbmdsZSAgICAgIEphbmdhbiBkZW1hbmdsZSB0aW5na2F0LWJhd2FoIG5hbWEgc2ltYm9sXG4iCisiICAtRCwgLS1keW5hbWljICAgICAgICAgIFRhbXBpbGthbiBzaW1ib2wgZGluYW1pcyBkYXJpcGFkYSBub3JtYWwgc2ltYm9sXG4iCisiICAgICAgLS1kZWZpbmVkLW9ubHkgICAgIFRhbXBpbGthbiBoYW55YSBzaW1ib2wgdGVyZGVmaW5pc2lcbiIKKyIgIC1lICAgICAgICAgICAgICAgICAgICAgKGRpYWJhaWthbilcbiIKKyIgIC1mLCAtLWZvcm1hdD1GT1JNQVQgICAgR3VuYWthbiBmb3JtYXQga2VsdWFyYW4gRk9STUFULiBGT1JNQVQgZGFwYXQgYmVydXBhIGBic2QnLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBgc3lzdicgYXRhdSBgcG9zaXgnLiBCYWt1IGFkYWxhaCBgYnNkJ1xuIgorIiAgLWcsIC0tZXh0ZXJuLW9ubHkgICAgICBUYW1waWxrYW4gaGFueWEgc2ltYm9sIGVrc3Rlcm5hbFxuIgorIiAgLWwsIC0tbGluZS1udW1iZXJzICAgICBHdW5ha2FuIGluZm9ybWFzaSBkZWJ1ZyB1bnR1ayBtZW5jYXJpIHNlYnVhaCBuYW1hIGJlcmthcyBkYW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgbm9tb3IgYmFyaXMgdW50dWsgc2V0aWFwIHNpbWJvbFxuIgorIiAgLW4sIC0tbnVtZXJpYy1zb3J0ICAgICBVcnV0a2FuIHNpbWJvbCBzZWNhcmEgbnVtZXJpayBkZW5nYW4gYWxhbWF0XG4iCisiICAtbyAgICAgICAgICAgICAgICAgICAgIFNhbWEgc2VwZXJ0aSAtQVxuIgorIiAgLXAsIC0tbm8tc29ydCAgICAgICAgICBKYW5nYW4gdXJ1dGthbiBzaW1ib2xcbiIKKyIgIC1QLCAtLXBvcnRhYmlsaXR5ICAgICAgU2FtYSBzZXBlcnRpIC0tZm9ybWF0PXBvc2l4XG4iCisiICAtciwgLS1yZXZlcnNlLXNvcnQgICAgIEJhbGlrIHNlbnNlIGRhcmkgc29ydFxuIgorIiAgLVMsIC0tcHJpbnQtc2l6ZSAgICAgICBUYW1waWxrYW4gdWt1cmFuIGRhcmkgc2ltYm9sIHlhbmcgdGVyZGVmaW5pc2lcbiIKKyIgIC1zLCAtLXByaW50LWFybWFwICAgICAgTWFzdWthbiBpbmRla3MgdW50dWsgc2ltYm9sIGRhcmkgYW5nZ290YSBhcmNoaXZlXG4iCisiICAgICAgLS1zaXplLXNvcnQgICAgICAgIFVydXRrYW4gc2ltYm9sIGJlcmRhc2Fya2FuIHVrdXJhblxuIgorIiAgICAgIC0tc3BlY2lhbC1zeW1zICAgICBNYXN1a2FuIHNpbWJvbCBiZXJkYXNhcmthbiB1a3VyYW5cbiIKKyIgICAgICAtLXN5bnRoZXRpYyAgICAgICAgVGFtcGlsa2FuIHN5bnRoZXRpYyBzaW1ib2wganVnYVxuIgorIiAgLXQsIC0tcmFkaXg9UkFESVggICAgICBHdW5ha2FuIFJBRElYIHVudHVrIG1lbmFtcGlsa2FuIG5pbGFpIHNpbWJvbFxuIgorIiAgICAgIC0tdGFyZ2V0PUJGRE5BTUUgICBTcGVzaWZpa2FzaWthbiBmb3JtYXQgb2JqZWsgdGFyZ2V0IHNlYmFnYWkgQkZETkFNRVxuIgorIiAgLXUsIC0tdW5kZWZpbmVkLW9ubHkgICBUYW1waWxrYW4gaGFueWEgc2ltYm9sIHRpZGFrIHRlcmRlZmluaXNpXG4iCisiICAtWCAzMl82NCAgICAgICAgICAgICAgIChkaWFiYWlrYW4pXG4iCisiICBAQkVSS0FTICAgICAgICAgICAgICAgIEJhY2Egb3BzaSBkYXJpIEJFUktBU1xuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIGluaVxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICBUYW1waWxrYW4gbm9tb3IgdmVyc2kgYXBsaWthc2kgaW5pXG4iCisiXG4iCisKKyM6IG5tLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHJhZGl4IgorbXNnc3RyICIlczogcmFkaXggdGlkYWsgdmFsaWQiCisKKyM6IG5tLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiVzOiBmb3JtYXQga2VsdWFyYW4gdGlkYWsgdmFsaWQiCisKKyM6IG5tLmM6MzI5IHJlYWRlbGYuYzo2OTcxIHJlYWRlbGYuYzo3MDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIjxwcm9jZXNzb3Igc3BlY2lmaWM+OiAlZCIKK21zZ3N0ciAiPHByb3Nlc29yIHNwZXNpZmlrPjogJWQiCisKKyM6IG5tLmM6MzMxIHJlYWRlbGYuYzo2OTc0IHJlYWRlbGYuYzo3MDIxCisjLCBjLWZvcm1hdAorbXNnaWQgIjxPUyBzcGVjaWZpYz46ICVkIgorbXNnc3RyICI8T1Mgc3Blc2lmaWs+OiAlZCIKKworIzogbm0uYzozMzMgcmVhZGVsZi5jOjY5NzYgcmVhZGVsZi5jOjcwMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiPHVua25vd24+OiAlZCIKK21zZ3N0ciAiPHRpZGFrIGRpa2V0YWh1aT46ICVkIgorCisjOiBubS5jOjM3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXJjaGl2ZSBpbmRleDpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkluZGVrcyBhcmNoaXZlOlxuIgorCisjOiBubS5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlxuIgorIlVuZGVmaW5lZCBzeW1ib2xzIGZyb20gJXM6XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJcbiIKKyJTaW1ib2wgdGlkYWsgdGVyZGVmaW5pc2kgZGFyaSAlczpcbiIKKyJcbiIKKworIzogbm0uYzoxMjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJcbiIKKyJTeW1ib2xzIGZyb20gJXM6XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJcbiIKKyJTaW1ib2wgZGFyaSAlczpcbiIKKyJcbiIKKworIzogbm0uYzoxMjM3IG5tLmM6MTI4OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTmFtZSAgICAgICAgICAgICAgICAgIFZhbHVlICAgQ2xhc3MgICAgICAgIFR5cGUgICAgICAgICBTaXplICAgICBMaW5lICBTZWN0aW9uXG4iCisiXG4iCittc2dzdHIgIiIKKyJOYW1hICAgICAgICAgICAgICAgICAgTmlsYWkgICBLZWxhcyAgICAgICAgIFRpcGUgICAgICAgIFVrdXJhbiAgIEJhcmlzICBEYWVyYWhcbiIKKyJcbiIKKworIzogbm0uYzoxMjQwIG5tLmM6MTI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTmFtZSAgICAgICAgICAgICAgICAgIFZhbHVlICAgICAgICAgICBDbGFzcyAgICAgICAgVHlwZSAgICAgICAgIFNpemUgICAgICAgICAgICAgTGluZSAgU2VjdGlvblxuIgorIlxuIgorbXNnc3RyICIiCisiTmFtYSAgICAgICAgICAgICAgICAgIE5pbGFpICAgICAgICAgICBLZWxhcyAgICAgICAgIFRpcGUgICAgICAgIFVrdXJhbiAgICAgICAgICAgQmFyaXMgRGFlcmFoXG4iCisiXG4iCisKKyM6IG5tLmM6MTI4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiXG4iCisiVW5kZWZpbmVkIHN5bWJvbHMgZnJvbSAlc1slc106XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJcbiIKKyJTaW1ib2wgdGlkYWsgdGVyZGVmaW5pc2kgZGFyaSAlc1slc106XG4iCisiXG4iCisKKyM6IG5tLmM6MTI4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiXG4iCisiU3ltYm9scyBmcm9tICVzWyVzXTpcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIlxuIgorIlNpbWJvbCBkYXJpICVzWyVzXTpcbiIKKyJcbiIKKworIzogbm0uYzoxMzc4CisjLCBjLWZvcm1hdAorbXNnaWQgIlByaW50IHdpZHRoIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCAoJWQpIgorbXNnc3RyICJUYW1waWxrYW4gbGViYXIgeWFuZyBiZWx1bSB0ZXJpbmlzaWFsaXNhc2kgKCVkKSIKKworIzogbm0uYzoxNjAzCittc2dpZCAiT25seSAtWCAzMl82NCBpcyBzdXBwb3J0ZWQiCittc2dzdHIgIkhhbnlhIC1YIDMyXzY0IHlhbmcgZGlkdWt1bmciCisKKyM6IG5tLmM6MTYyMworbXNnaWQgIlVzaW5nIHRoZSAtLXNpemUtc29ydCBhbmQgLS11bmRlZmluZWQtb25seSBvcHRpb25zIHRvZ2V0aGVyIgorbXNnc3RyICJHdW5ha2FuIC0tc2l6ZS1zb3J0IGRhbiAtLXVuZGVmaW5lZC1vbmx5IG9wc2kgc2VjYXJhIGJlcnNhbWFhbiIKKworIzogbm0uYzoxNjI0Cittc2dpZCAid2lsbCBwcm9kdWNlIG5vIG91dHB1dCwgc2luY2UgdW5kZWZpbmVkIHN5bWJvbHMgaGF2ZSBubyBzaXplLiIKK21zZ3N0ciAidGlkYWsgYWthbiBtZW5naGFzaWxrYW4ga2VsdWFyYW4sIGthcmVuYSBzaW1ib2wgdGlkYWsgdGVyZGVmaW5pc2kgdGlkYWsgbWVtaWxpa2kgdWt1cmFuLiIKKworIzogbm0uYzoxNjUyCisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGEgc2l6ZSAlbGQiCittc2dzdHIgInVrdXJhbiBkYXRhICVsZCIKKworIzogb2JqY29weS5jOjQyNCBzcmNvbnYuYzoxNzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uKHMpXSBpbi1maWxlIFtvdXQtZmlsZV1cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW29wc2ldIGJlcmthcy1tYXN1a2FuIFtiZXJrYXMta2VsdWFyYW5dXG4iCisKKyM6IG9iamNvcHkuYzo0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIENvcGllcyBhIGJpbmFyeSBmaWxlLCBwb3NzaWJseSB0cmFuc2Zvcm1pbmcgaXQgaW4gdGhlIHByb2Nlc3NcbiIKK21zZ3N0ciAiIE1lbnlhbGluIHNlYnVhaCBiZXJrYXMgYmluYXJpLCBrZW11bmdraW5hbiBtZW5ndWJhaG55YSBkYWxhbSBwcm9zZXMgaW5pXG4iCisKKyM6IG9iamNvcHkuYzo0MjYgb2JqY29weS5jOjUyMgorIywgYy1mb3JtYXQKK21zZ2lkICIgVGhlIG9wdGlvbnMgYXJlOlxuIgorbXNnc3RyICIgT3BzaSBhZGFsYWg6XG4iCisKKyM6IG9iamNvcHkuYzo0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgLUkgLS1pbnB1dC10YXJnZXQgPGJmZG5hbWU+ICAgICAgQXNzdW1lIGlucHV0IGZpbGUgaXMgaW4gZm9ybWF0IDxiZmRuYW1lPlxuIgorIiAgLU8gLS1vdXRwdXQtdGFyZ2V0IDxiZmRuYW1lPiAgICAgQ3JlYXRlIGFuIG91dHB1dCBmaWxlIGluIGZvcm1hdCA8YmZkbmFtZT5cbiIKKyIgIC1CIC0tYmluYXJ5LWFyY2hpdGVjdHVyZSA8YXJjaD4gIFNldCBhcmNoIG9mIG91dHB1dCBmaWxlLCB3aGVuIGlucHV0IGlzIGJpbmFyeVxuIgorIiAgLUYgLS10YXJnZXQgPGJmZG5hbWU+ICAgICAgICAgICAgU2V0IGJvdGggaW5wdXQgYW5kIG91dHB1dCBmb3JtYXQgdG8gPGJmZG5hbWU+XG4iCisiICAgICAtLWRlYnVnZ2luZyAgICAgICAgICAgICAgICAgICBDb252ZXJ0IGRlYnVnZ2luZyBpbmZvcm1hdGlvbiwgaWYgcG9zc2libGVcbiIKKyIgIC1wIC0tcHJlc2VydmUtZGF0ZXMgICAgICAgICAgICAgIENvcHkgbW9kaWZpZWQvYWNjZXNzIHRpbWVzdGFtcHMgdG8gdGhlIG91dHB1dFxuIgorIiAgLWogLS1vbmx5LXNlY3Rpb24gPG5hbWU+ICAgICAgICAgT25seSBjb3B5IHNlY3Rpb24gPG5hbWU+IGludG8gdGhlIG91dHB1dFxuIgorIiAgICAgLS1hZGQtZ251LWRlYnVnbGluaz08ZmlsZT4gICAgQWRkIHNlY3Rpb24gLmdudV9kZWJ1Z2xpbmsgbGlua2luZyB0byA8ZmlsZT5cbiIKKyIgIC1SIC0tcmVtb3ZlLXNlY3Rpb24gPG5hbWU+ICAgICAgIFJlbW92ZSBzZWN0aW9uIDxuYW1lPiBmcm9tIHRoZSBvdXRwdXRcbiIKKyIgIC1TIC0tc3RyaXAtYWxsICAgICAgICAgICAgICAgICAgIFJlbW92ZSBhbGwgc3ltYm9sIGFuZCByZWxvY2F0aW9uIGluZm9ybWF0aW9uXG4iCisiICAtZyAtLXN0cmlwLWRlYnVnICAgICAgICAgICAgICAgICBSZW1vdmUgYWxsIGRlYnVnZ2luZyBzeW1ib2xzICYgc2VjdGlvbnNcbiIKKyIgICAgIC0tc3RyaXAtdW5uZWVkZWQgICAgICAgICAgICAgIFJlbW92ZSBhbGwgc3ltYm9scyBub3QgbmVlZGVkIGJ5IHJlbG9jYXRpb25zXG4iCisiICAtTiAtLXN0cmlwLXN5bWJvbCA8bmFtZT4gICAgICAgICBEbyBub3QgY29weSBzeW1ib2wgPG5hbWU+XG4iCisiICAgICAtLXN0cmlwLXVubmVlZGVkLXN5bWJvbCA8bmFtZT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERvIG5vdCBjb3B5IHN5bWJvbCA8bmFtZT4gdW5sZXNzIG5lZWRlZCBieVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxvY2F0aW9uc1xuIgorIiAgICAgLS1vbmx5LWtlZXAtZGVidWcgICAgICAgICAgICAgU3RyaXAgZXZlcnl0aGluZyBidXQgdGhlIGRlYnVnIGluZm9ybWF0aW9uXG4iCisiICAgICAtLWV4dHJhY3Qtc3ltYm9sICAgICAgICAgICAgICBSZW1vdmUgc2VjdGlvbiBjb250ZW50cyBidXQga2VlcCBzeW1ib2xzXG4iCisiICAtSyAtLWtlZXAtc3ltYm9sIDxuYW1lPiAgICAgICAgICBEbyBub3Qgc3RyaXAgc3ltYm9sIDxuYW1lPlxuIgorIiAgICAgLS1rZWVwLWZpbGUtc3ltYm9scyAgICAgICAgICAgRG8gbm90IHN0cmlwIGZpbGUgc3ltYm9sKHMpXG4iCisiICAgICAtLWxvY2FsaXplLWhpZGRlbiAgICAgICAgICAgICBUdXJuIGFsbCBFTEYgaGlkZGVuIHN5bWJvbHMgaW50byBsb2NhbHNcbiIKKyIgIC1MIC0tbG9jYWxpemUtc3ltYm9sIDxuYW1lPiAgICAgIEZvcmNlIHN5bWJvbCA8bmFtZT4gdG8gYmUgbWFya2VkIGFzIGEgbG9jYWxcbiIKKyIgICAgIC0tZ2xvYmFsaXplLXN5bWJvbCA8bmFtZT4gICAgIEZvcmNlIHN5bWJvbCA8bmFtZT4gdG8gYmUgbWFya2VkIGFzIGEgZ2xvYmFsXG4iCisiICAtRyAtLWtlZXAtZ2xvYmFsLXN5bWJvbCA8bmFtZT4gICBMb2NhbGl6ZSBhbGwgc3ltYm9scyBleGNlcHQgPG5hbWU+XG4iCisiICAtVyAtLXdlYWtlbi1zeW1ib2wgPG5hbWU+ICAgICAgICBGb3JjZSBzeW1ib2wgPG5hbWU+IHRvIGJlIG1hcmtlZCBhcyBhIHdlYWtcbiIKKyIgICAgIC0td2Vha2VuICAgICAgICAgICAgICAgICAgICAgIEZvcmNlIGFsbCBnbG9iYWwgc3ltYm9scyB0byBiZSBtYXJrZWQgYXMgd2Vha1xuIgorIiAgLXcgLS13aWxkY2FyZCAgICAgICAgICAgICAgICAgICAgUGVybWl0IHdpbGRjYXJkIGluIHN5bWJvbCBjb21wYXJpc29uXG4iCisiICAteCAtLWRpc2NhcmQtYWxsICAgICAgICAgICAgICAgICBSZW1vdmUgYWxsIG5vbi1nbG9iYWwgc3ltYm9sc1xuIgorIiAgLVggLS1kaXNjYXJkLWxvY2FscyAgICAgICAgICAgICAgUmVtb3ZlIGFueSBjb21waWxlci1nZW5lcmF0ZWQgc3ltYm9sc1xuIgorIiAgLWkgLS1pbnRlcmxlYXZlIDxudW1iZXI+ICAgICAgICAgT25seSBjb3B5IG9uZSBvdXQgb2YgZXZlcnkgPG51bWJlcj4gYnl0ZXNcbiIKKyIgIC1iIC0tYnl0ZSA8bnVtPiAgICAgICAgICAgICAgICAgIFNlbGVjdCBieXRlIDxudW0+IGluIGV2ZXJ5IGludGVybGVhdmVkIGJsb2NrXG4iCisiICAgICAtLWdhcC1maWxsIDx2YWw+ICAgICAgICAgICAgICBGaWxsIGdhcHMgYmV0d2VlbiBzZWN0aW9ucyB3aXRoIDx2YWw+XG4iCisiICAgICAtLXBhZC10byA8YWRkcj4gICAgICAgICAgICAgICBQYWQgdGhlIGxhc3Qgc2VjdGlvbiB1cCB0byBhZGRyZXNzIDxhZGRyPlxuIgorIiAgICAgLS1zZXQtc3RhcnQgPGFkZHI+ICAgICAgICAgICAgU2V0IHRoZSBzdGFydCBhZGRyZXNzIHRvIDxhZGRyPlxuIgorIiAgICB7LS1jaGFuZ2Utc3RhcnR8LS1hZGp1c3Qtc3RhcnR9IDxpbmNyPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkIDxpbmNyPiB0byB0aGUgc3RhcnQgYWRkcmVzc1xuIgorIiAgICB7LS1jaGFuZ2UtYWRkcmVzc2VzfC0tYWRqdXN0LXZtYX0gPGluY3I+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGQgPGluY3I+IHRvIExNQSwgVk1BIGFuZCBzdGFydCBhZGRyZXNzZXNcbiIKKyIgICAgey0tY2hhbmdlLXNlY3Rpb24tYWRkcmVzc3wtLWFkanVzdC1zZWN0aW9uLXZtYX0gPG5hbWU+ez18K3wtfTx2YWw+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFuZ2UgTE1BIGFuZCBWTUEgb2Ygc2VjdGlvbiA8bmFtZT4gYnkgPHZhbD5cbiIKKyIgICAgIC0tY2hhbmdlLXNlY3Rpb24tbG1hIDxuYW1lPns9fCt8LX08dmFsPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbmdlIHRoZSBMTUEgb2Ygc2VjdGlvbiA8bmFtZT4gYnkgPHZhbD5cbiIKKyIgICAgIC0tY2hhbmdlLXNlY3Rpb24tdm1hIDxuYW1lPns9fCt8LX08dmFsPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbmdlIHRoZSBWTUEgb2Ygc2VjdGlvbiA8bmFtZT4gYnkgPHZhbD5cbiIKKyIgICAgey0tW25vLV1jaGFuZ2Utd2FybmluZ3N8LS1bbm8tXWFkanVzdC13YXJuaW5nc31cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdhcm4gaWYgYSBuYW1lZCBzZWN0aW9uIGRvZXMgbm90IGV4aXN0XG4iCisiICAgICAtLXNldC1zZWN0aW9uLWZsYWdzIDxuYW1lPj08ZmxhZ3M+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXQgc2VjdGlvbiA8bmFtZT4ncyBwcm9wZXJ0aWVzIHRvIDxmbGFncz5cbiIKKyIgICAgIC0tYWRkLXNlY3Rpb24gPG5hbWU+PTxmaWxlPiAgIEFkZCBzZWN0aW9uIDxuYW1lPiBmb3VuZCBpbiA8ZmlsZT4gdG8gb3V0cHV0XG4iCisiICAgICAtLXJlbmFtZS1zZWN0aW9uIDxvbGQ+PTxuZXc+Wyw8ZmxhZ3M+XSBSZW5hbWUgc2VjdGlvbiA8b2xkPiB0byA8bmV3PlxuIgorIiAgICAgLS1jaGFuZ2UtbGVhZGluZy1jaGFyICAgICAgICAgRm9yY2Ugb3V0cHV0IGZvcm1hdCdzIGxlYWRpbmcgY2hhcmFjdGVyIHN0eWxlXG4iCisiICAgICAtLXJlbW92ZS1sZWFkaW5nLWNoYXIgICAgICAgICBSZW1vdmUgbGVhZGluZyBjaGFyYWN0ZXIgZnJvbSBnbG9iYWwgc3ltYm9sc1xuIgorIiAgICAgLS1yZXZlcnNlLWJ5dGVzPTxudW0+ICAgICAgICAgUmV2ZXJzZSA8bnVtPiBieXRlcyBhdCBhIHRpbWUsIGluIG91dHB1dCBzZWN0aW9ucyB3aXRoIGNvbnRlbnRcbiIKKyIgICAgIC0tcmVkZWZpbmUtc3ltIDxvbGQ+PTxuZXc+ICAgIFJlZGVmaW5lIHN5bWJvbCBuYW1lIDxvbGQ+IHRvIDxuZXc+XG4iCisiICAgICAtLXJlZGVmaW5lLXN5bXMgPGZpbGU+ICAgICAgICAtLXJlZGVmaW5lLXN5bSBmb3IgYWxsIHN5bWJvbCBwYWlycyBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdGVkIGluIDxmaWxlPlxuIgorIiAgICAgLS1zcmVjLWxlbiA8bnVtYmVyPiAgICAgICAgICAgUmVzdHJpY3QgdGhlIGxlbmd0aCBvZiBnZW5lcmF0ZWQgU3JlY29yZHNcbiIKKyIgICAgIC0tc3JlYy1mb3JjZVMzICAgICAgICAgICAgICAgIFJlc3RyaWN0IHRoZSB0eXBlIG9mIGdlbmVyYXRlZCBTcmVjb3JkcyB0byBTM1xuIgorIiAgICAgLS1zdHJpcC1zeW1ib2xzIDxmaWxlPiAgICAgICAgLU4gZm9yIGFsbCBzeW1ib2xzIGxpc3RlZCBpbiA8ZmlsZT5cbiIKKyIgICAgIC0tc3RyaXAtdW5uZWVkZWQtc3ltYm9scyA8ZmlsZT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tc3RyaXAtdW5uZWVkZWQtc3ltYm9sIGZvciBhbGwgc3ltYm9scyBsaXN0ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gPGZpbGU+XG4iCisiICAgICAtLWtlZXAtc3ltYm9scyA8ZmlsZT4gICAgICAgICAtSyBmb3IgYWxsIHN5bWJvbHMgbGlzdGVkIGluIDxmaWxlPlxuIgorIiAgICAgLS1sb2NhbGl6ZS1zeW1ib2xzIDxmaWxlPiAgICAgLUwgZm9yIGFsbCBzeW1ib2xzIGxpc3RlZCBpbiA8ZmlsZT5cbiIKKyIgICAgIC0tZ2xvYmFsaXplLXN5bWJvbHMgPGZpbGU+ICAgIC0tZ2xvYmFsaXplLXN5bWJvbCBmb3IgYWxsIGluIDxmaWxlPlxuIgorIiAgICAgLS1rZWVwLWdsb2JhbC1zeW1ib2xzIDxmaWxlPiAgLUcgZm9yIGFsbCBzeW1ib2xzIGxpc3RlZCBpbiA8ZmlsZT5cbiIKKyIgICAgIC0td2Vha2VuLXN5bWJvbHMgPGZpbGU+ICAgICAgIC1XIGZvciBhbGwgc3ltYm9scyBsaXN0ZWQgaW4gPGZpbGU+XG4iCisiICAgICAtLWFsdC1tYWNoaW5lLWNvZGUgPGluZGV4PiAgICBVc2UgdGhlIHRhcmdldCdzIDxpbmRleD4ndGggYWx0ZXJuYXRpdmUgbWFjaGluZVxuIgorIiAgICAgLS13cml0YWJsZS10ZXh0ICAgICAgICAgICAgICAgTWFyayB0aGUgb3V0cHV0IHRleHQgYXMgd3JpdGFibGVcbiIKKyIgICAgIC0tcmVhZG9ubHktdGV4dCAgICAgICAgICAgICAgIE1ha2UgdGhlIG91dHB1dCB0ZXh0IHdyaXRlIHByb3RlY3RlZFxuIgorIiAgICAgLS1wdXJlICAgICAgICAgICAgICAgICAgICAgICAgTWFyayB0aGUgb3V0cHV0IGZpbGUgYXMgZGVtYW5kIHBhZ2VkXG4iCisiICAgICAtLWltcHVyZSAgICAgICAgICAgICAgICAgICAgICBNYXJrIHRoZSBvdXRwdXQgZmlsZSBhcyBpbXB1cmVcbiIKKyIgICAgIC0tcHJlZml4LXN5bWJvbHMgPHByZWZpeD4gICAgIEFkZCA8cHJlZml4PiB0byBzdGFydCBvZiBldmVyeSBzeW1ib2wgbmFtZVxuIgorIiAgICAgLS1wcmVmaXgtc2VjdGlvbnMgPHByZWZpeD4gICAgQWRkIDxwcmVmaXg+IHRvIHN0YXJ0IG9mIGV2ZXJ5IHNlY3Rpb24gbmFtZVxuIgorIiAgICAgLS1wcmVmaXgtYWxsb2Mtc2VjdGlvbnMgPHByZWZpeD5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZCA8cHJlZml4PiB0byBzdGFydCBvZiBldmVyeSBhbGxvY2F0YWJsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN0aW9uIG5hbWVcbiIKKyIgIC12IC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgICAgIExpc3QgYWxsIG9iamVjdCBmaWxlcyBtb2RpZmllZFxuIgorIiAgQDxmaWxlPiAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhZCBvcHRpb25zIGZyb20gPGZpbGU+XG4iCisiICAtViAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgcHJvZ3JhbSdzIHZlcnNpb24gbnVtYmVyXG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgb3V0cHV0XG4iCisiICAgICAtLWluZm8gICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9iamVjdCBmb3JtYXRzICYgYXJjaGl0ZWN0dXJlcyBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIgorIiAgLUkgLS1pbnB1dC10YXJnZXQgPGJmZG5hbWU+ICAgICAgQXN1bXNpa2FuIGJlcmthcyBtYXN1a2FuIGJlcmFkYSBkYWxhbSBmb3JtYXQgPGJmZG5hbWU+XG4iCisiICAtTyAtLW91dHB1dC10YXJnZXQgPGJmZG5hbWU+ICAgICBCdWF0IHNlYnVhaCBiZXJrYXMga2VsdWFyYW4gZGFsYW0gZm9ybWF0IDxiZmRuYW1lPlxuIgorIiAgLUIgLS1iaW5hcnktYXJjaGl0ZWN0dXJlIDxhcmNoPiAgU2V0IGFyc2l0ZWt0dXIgZGFyaSBiZXJrYXMga2VsdWFyYW4sIGtldGlrYSBtYXN1a2FuIGFkYWxhaCBiaW5hcmlcbiIKKyIgIC1GIC0tdGFyZ2V0IDxiZmRuYW1lPiAgICAgICAgICAgIFNldCBrZWR1YSBmb3JtYXQgbWFzdWthbiBkYW4ga2VsdWFyYW4ga2UgPGJmZG5hbWU+XG4iCisiICAgICAtLWRlYnVnZ2luZyAgICAgICAgICAgICAgICAgICBVYmFoIGluZm9ybWFzaSBkZWJ1ZywgamlrYSBtZW11bmdraW5rYW5cbiIKKyIgIC1wIC0tcHJlc2VydmUtZGF0ZXMgICAgICAgICAgICAgIFNhbGluIG1vZGlmaWthc2kvYWtzZXMgcGVuYW5kYS13YWt0dSBrZSBrZWx1YXJhblxuIgorIiAgLWogLS1vbmx5LXNlY3Rpb24gPG5hbWU+ICAgICAgICAgU2FsaW4gaGFueWEgYmFnaWFuIDxuYW1hPiBrZWRhbGFtIGtlbHVhcmFuXG4iCisiICAgICAtLWFkZC1nbnUtZGVidWdsaW5rPTxmaWxlPiAgICBUYW1iYWhrYW4gYmFnaWFuIC5nbnVfZGVidWdsaW5rIGxpbmtpbmcga2UgPGJlcmthcz5cbiIKKyIgIC1SIC0tcmVtb3ZlLXNlY3Rpb24gPG5hbWE+ICAgICAgIEhhcHVzIGJhZ2lhbiA8bmFtYT4gZGFyaSBrZWx1YXJhblxuIgorIiAgLVMgLS1zdHJpcC1hbGwgICAgICAgICAgICAgICAgICAgSGFwdXMgc2VsdXJ1aCBpbmZvcm1hc2kgc2ltYm9sIGRhbiByZWxva2FzaVxuIgorIiAgLWcgLS1zdHJpcC1kZWJ1ZyAgICAgICAgICAgICAgICAgSGFwdXMgc2VsdXJ1aCBkZWJ1ZyBzaW1ib2wgZGFuIGJhZ2lhblxuIgorIiAgICAgLS1zdHJpcC11bm5lZWRlZCAgICAgICAgICAgICAgSGFwdXMgc2VsdXJ1aCBzaW1ib2wgdGlkYWsgZGlidXR1aGthbiBvbGVoIHJlbG9rYXNpXG4iCisiICAtTiAtLXN0cmlwLXNpbWJvbCA8bmFtYT4gICAgICAgICBKYW5nYW4gbWVueWFsaW4gc2ltYm9sIDxuYW1hPlxuIgorIiAgICAgLS1zdHJpcC11bm5lZWRlZC1zeW1ib2wgPG5hbWE+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKYW5nYW4gbWVueWFsaW4gc2ltYm9sIDxuYW1hPiBrZWN1YWxpIGRpYnV0dWhrYW4gb2xlaFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsb2thc2lcbiIKKyIgICAgIC0tb25seS1rZWVwLWRlYnVnICAgICAgICAgICAgIFN0cmlwIHNlbHVydWhueWEga2VjdWFsaSBpbmZvcm1hc2kgZGVidWdcbiIKKyIgICAgIC0tZXh0cmFjdC1zeW1ib2wgICAgICAgICAgICAgIEhhcHVzIGlzaSBiYWdpYW4gdGV0YXBpIHNpbXBhbiBzaW1ib2xcbiIKKyIgIC1LIC0ta2VlcC1zeW1ib2wgPG5hbWE+ICAgICAgICAgIEphbmdhbiBzdHJpcCBzaW1ib2wgPG5hbWE+XG4iCisiICAgICAtLWtlZXAtZmlsZS1zeW1ib2xzICAgICAgICAgICBKYW5nYW4gc3RyaXAgZmlsZSBzaW1ib2xcbiIKKyIgICAgIC0tbG9jYWxpemUtaGlkZGVuICAgICAgICAgICAgIFViYWggc2VsdXJ1aCBFTEYgc2ltYm9sIHRlcnNlbWJ1bnlpIGtlIGxva2FsXG4iCisiICAtTCAtLWxvY2FsaXplLXN5bWJvbCA8bmFtYT4gICAgICBQYWtzYSBzaW1ib2wgPG5hbWE+IHVudHVrIGRpdGFuZGFpIHNlYmFnYWkgbG9rYWxcbiIKKyIgICAgIC0tZ2xvYmFsaXplLXN5bWJvbCA8bmFtYT4gICAgIFBha3NhIHNpbWJvbCA8bmFtYT4gdW50dWsgZGl0YW5kYWkgc2ViYWdhaSBnbG9iYWxcbiIKKyIgIC1HIC0ta2VlcC1nbG9iYWwtc3ltYm9sIDxuYW1hPiAgIExva2FsaXNhc2kgc2VsdXJ1aCBzaW1ib2wga2VjdWFsaSA8bmFtYT5cbiIKKyIgIC1XIC0td2Vha2VuLXN5bWJvbCA8bmFtYT4gICAgICAgIFBha3NhIHNpbWJvbCA8bmFtYT4gdW50dWsgZGl0YW5kYWkgc2ViYWdhaSBsZW1haFxuIgorIiAgICAgLS13ZWFrZW4gICAgICAgICAgICAgICAgICAgICAgUGFrc2Egc2VsdXJ1aCBzaW1ib2wgZ2xvYmFsIHVudHVrIGRpdGFuZGFpIHNlYmFnYWkgbGVtYWhcbiIKKyIgIC13IC0td2lsZGNhcmQgICAgICAgICAgICAgICAgICAgIElqaW5rYW4gd2lsZGNhcmQgZGFsYW0gcGVyYmFuZGluZ2FuIHNpbWJvbFxuIgorIiAgLXggLS1kaXNjYXJkLWFsbCAgICAgICAgICAgICAgICAgSGFwdXMgc2VsdXJ1aCBzaW1ib2wgYnVrYW4tZ2xvYmFsXG4iCisiICAtaSAtLWludGVybGVhdmUgPG5vbW9yPiAgICAgICAgICBTYWxpbiBoYW55YSBzYXR1IGRhcmkgc2V0aWFwIDxub21vcj4gYnl0ZXNcbiIKKyIgIC1iIC0tYnl0ZSA8bm9tb3I+ICAgICAgICAgICAgICAgIFBpbGloIGJ5dGUgPG5vbW9yPiBkYWxhbSBzZXRpYXAgaW50ZXJsZWF2ZWQgYmxva1xuIgorIiAgICAgLS1nYXAtZmlsbCA8bmlsYWk+ICAgICAgICAgICAgSXNpIGdhcCBkaWFudGFyYSBiYWdpYW4gZGVuZ2FuIDxuaWxhaT5cbiIKKyIgICAgIC0tcGFkLXRvIDxhbGFtYXQ+ICAgICAgICAgICAgIFBhZCBiYWdpYW4gdGVyYWtoaXIgc2FtcGFpIGtlIGFsYW1hdCA8YWRkcj5cbiIKKyIgICAgIC0tc2V0LXN0YXJ0IDxhbGFtYXQ+ICAgICAgICAgIFNldCBhd2FsIGRhcmkgYWxhbWF0IGtlIDxhbGFtYXQ+XG4iCisiICAgIHstLWNoYW5nZS1zdGFydHwtLWFkanVzdC1zdGFydH0gPGluY3I+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYW1iYWhrYW4gPGluY3I+IGtlIGF3YWwgZGFyaSBhbGFtYXRcbiIKKyIgICAgey0tY2hhbmdlLWFkZHJlc3Nlc3wtLWFkanVzdC12bWF9IDxpbmNyPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFtYmFoa2FuIDxpbmNyPiBrZSBMTUEsIFZNQSwgZGFuIGF3YWwgYWxhbWF0XG4iCisiICAgIHstLWNoYW5nZS1zZWN0aW9uLWFkZHJlc3N8LS1hZGp1c3Qtc2VjdGlvbi12bWF9IDxuYW1hPns9fCt8LX08bmlsYWk+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVYmFoIExNQSBkYW4gVk1BIGRhcmkgYmFnaWFuIDxuYW1hPiBkZW5nYW4gPG5pbGFpPlxuIgorIiAgICAgLS1jaGFuZ2Utc2VjdGlvbi1sbWEgPG5hbWE+ez18K3wtfTxuaWxhaT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFViYWggTE1BIGJhZ2lhbiA8bmFtYT4gZGVuZ2FuIDxuaWxhaT5cbiIKKyIgICAgIC0tY2hhbmdlLXNlY3Rpb24tdm1hIDxuYW1hPns9fCt8LX08bmlsYWk+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVYmFoIFZNQSBiYWdpYW4gPG5hbWE+IGRlbmdhbiA8bmlsYWk+XG4iCisiICAgIHstLVtuby1dY2hhbmdlLXdhcm5pbmdzfC0tW25vLV1hZGp1c3Qtd2FybmluZ3N9XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZXJpbmdhdGthbiBqaWthIHNlYnVhaCBiYWdpYW4gYmVybmFtYSB0aWRhayBhZGFcbiIKKyIgICAgIC0tc2V0LXNlY3Rpb24tZmxhZ3MgPG5hbWE+PTxmbGFncz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNldCBiYWdpYW4gPG5hbWE+IHByb3BlcnRpIGtlIDx0YW5kYT5cbiIKKyIgICAgIC0tYWRkLXNlY3Rpb24gPG5hbWE+PTxmaWxlPiAgIFRhbWJhaGthbiBiYWdpYW4gPG5hbWE+IGRpdGVtdWthbiBkYWxhbSA8YmVya2FzPiBrZSBrZWx1YXJhblxuIgorIiAgICAgLS1yZW5hbWUtc2VjdGlvbiA8b2xkPj08bmV3PlssPGZsYWdzPl0gVWJhaCBuYW1hIGJhZ2lhbiA8bGFtYT4ga2UgPGJhcnU+XG4iCisiICAgICAtLWNoYW5nZS1sZWFkaW5nLWNoYXIgICAgICAgICBQYWtzYSBmb3JtYXQga2VsdWFyYW4gZ2F5YSBhd2FsIGthcmFrdGVyXG4iCisiICAgICAtLXJlbW92ZS1sZWFkaW5nLWNoYXIgICAgICAgICBIYXB1cyBhd2FsIGthcmFrdGVyIGRhcmkgZ2xvYmFsIHNpbWJvbFxuIgorIiAgICAgLS1yZXZlcnNlLWJ5dGVzPTxudW0+ICAgICAgICAgQmFsaWsgPG5vbW9yPiBieXRlcyBkYWxhbSBzYXR1IHdha3R1LCBkYWxhbSBiYWdpYW4ga2VsdWFyYSBkZW5nYW4gaXNpXG4iCisiICAgICAtLXJlZGVmaW5lLXN5bSA8b2xkPj08bmV3PiAgICBSZWRlZmluaXNpa2FuIG5hbWEgc2ltYm9sIDxsYW1hPiBrZSA8YmFydT5cbiIKKyIgICAgIC0tcmVkZWZpbmUtc3ltcyA8ZmlsZT4gICAgICAgIC0tcmVkZWZpbmUtc3ltIHVudHVrIHNlbHVydWggcGFzYW5nYW4gc2ltYm9sXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXJkYWZ0YXIgZGFsYW0gPGJlcmthcz5cbiIKKyIgICAgIC0tc3JlYy1sZW4gPG5vbW9yPiAgICAgICAgICAgIEJhdGFzaSBwYW5qYW5nIGRhcmkgU3JlY29yZHMgeWFuZyBkaWhhc2lsa2FuXG4iCisiICAgICAtLXNyZWMtZm9yY2VTMyAgICAgICAgICAgICAgICBCYXRhc2kgdGlwZSBkYXJpIFNyZWNvcmQgeWFuZyBkaWhhc2lsa2FuIGtlIFMzXG4iCisiICAgICAtLXN0cmlwLXN5bWJvbHMgPGZpbGU+ICAgICAgICAtTiB1bnR1ayBzZWx1cnVoIHNpbWJvbCB0ZXJkYWZ0YXIgZGFsYW0gPGJlcmthcz5cbiIKKyIgICAgIC0tc3RyaXAtdW5uZWVkZWQtc3ltYm9scyA8ZmlsZT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tc3RyaXAtdW5uZWVkZWQtc3ltYm9sIHVudHVrIHNlbHVydWggc2ltYm9sIHRlcmRhZnRhclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFsYW0gPGJlcmthcz5cbiIKKyIgICAgIC0ta2VlcC1zeW1ib2xzIDxmaWxlPiAgICAgICAgIC1LIHVudHVrIHNlbHVydWggc2ltYm9sIHRlcmRhZnRhciBkYWxhbSA8YmVya2FzPlxuIgorIiAgICAgLS1sb2NhbGl6ZS1zeW1ib2xzIDxiZXJrYXM+ICAgLUwgdW50dWsgc2VsdXJ1aCBzaW1ib2wgdGVyZGFmdGFyIGRhbGFtIDxiZXJrYXM+XG4iCisiICAgICAtLWdsb2JhbGl6ZS1zeW1ib2xzIDxiZXJrYXM+ICAtLWdsb2JhbGl6ZS1zeW1ib2wgdW50dWsgc2VsdXJ1aCBkYWxhbSA8YmVya2FzPlxuIgorIiAgICAgLS1rZWVwLWdsb2JhbC1zeW1ib2xzIDxiZXJrYXM+LUcgdW50dWsgc2VsdXJ1aCBzaW1ib2wgdGVyZGFmdGFyIGRhbGFtIDxiZXJrYXM+XG4iCisiICAgICAtLXdlYWtlbi1zeW1ib2xzIDxiZXJrYXM+ICAgICAtVyB1bnR1ayBzZWx1cnVoIHNpbWJvbCB0ZXJkYWZ0YXIgZGFsYW0gPGJlcmthcz5cbiIKKyIgICAgIC0tYWx0LW1hY2hpbmUtY29kZSA8aW5kZWtzPiAgIEd1bmFrYW4gYXJzaXRla3R1ciB0YXJnZXQgPGluZGVrcz4gbWVzaW5cbiIKKyIgICAgIC0td3JpdGVhYmxlLXRleHQgICAgICAgICAgICAgIFRhbmRhaSB0ZWtzIGtlbHVhcmFuIHNlYmFnYWkgZGFwYXQtZGl0dWxpc1xuIgorIiAgICAgLS1yZWFkb25seS10ZXh0ICAgICAgICAgICAgICAgVGFuZGFpIHRla3Mga2VsdWFyYW4gc2ViYWdhaSB0dWxpcy10ZXJwcm90ZWtzaVxuIgorIiAgICAgLS1wdXJlICAgICAgICAgICAgICAgICAgICAgICAgVGFuZGFpIGJlcmthcyBrZWx1YXJhbiBzZWJhZ2FpIGRlbWFuZCBwYWdlZFxuIgorIiAgICAgLS1pbXB1cmUgICAgICAgICAgICAgICAgICAgICAgVGFuZGFpIGJlcmthcyBrZWx1YXJhbiBzZWJhZ2FpIGltcHVyZVxuIgorIiAgICAgLS1wcmVmaXgtc3ltYm9scyA8cHJlZml4PiAgICAgVGFtYmFoa2FuIDxhd2FsYW4+IGtlIGF3YWwgZGFyaSBzZXRpYXAgc2ltYm9sIG5hbWFcbiIKKyIgICAgIC0tcHJlZml4LXNlY3Rpb25zIDxwcmVmaXg+ICAgIFRhbWJhaGthbiA8YXdhbGFuPiBrZSBhd2FsIGRhcmkgc2V0aWFwIG5hbWEgYmFnaWFuXG4iCisiICAgICAtLXByZWZpeC1hbGxvYy1zZWN0aW9uIDxwcmVmaXg+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYW1iYWhrYW4gPGF3YWxhbj4ga2UgYXdhbCBkYXJpIHNldGlhcCBhbG9rYXNpXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1hIGJhZ2lhblxuIgorIiAgLXYgLS12ZXJib3NlICAgICAgICAgICAgICAgICAgICAgRGFmdGFyIHNlbHVydWggYmVya2FzIG9iamVrIHRlcm1vZGlmaWthc2lcbiIKKyIgIEA8YmVya2FzPiAgICAgICAgICAgICAgICAgICAgICAgIEJhY2Egb3BzaSBkYXJpIDxiZXJrYXM+XG4iCisiICAtViAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICBUYW1waWxrYW4gbm9tb3IgdmVyc2kgYXBsaWthc2kgaW5pXG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICBUYW1waWxrYW4ga2VsdWFyYW4gaW5pXG4iCisiICAgICAtLWluZm8gICAgICAgICAgICAgICAgICAgICAgICBEYWZ0YXIgb2JqZWsgZm9ybWF0IGRhbiBhcnNpdGVrdHVyIHlhbmcgZGlkdWt1bmdcbiIKKworIzogb2JqY29weS5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPG9wdGlvbihzKT4gaW4tZmlsZShzKVxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyA8b3BzaT4gYmVya2FzLW1hc3VrYW5cbiIKKworIzogb2JqY29weS5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIgUmVtb3ZlcyBzeW1ib2xzIGFuZCBzZWN0aW9ucyBmcm9tIGZpbGVzXG4iCittc2dzdHIgIiBIYXB1cyBzaW1ib2wgZGFuIGRhZXJhaCBkYXJpIGJlcmthc1xuIgorCisjOiBvYmpjb3B5LmM6NTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIC1JIC0taW5wdXQtdGFyZ2V0PTxiZmRuYW1lPiAgICAgIEFzc3VtZSBpbnB1dCBmaWxlIGlzIGluIGZvcm1hdCA8YmZkbmFtZT5cbiIKKyIgIC1PIC0tb3V0cHV0LXRhcmdldD08YmZkbmFtZT4gICAgIENyZWF0ZSBhbiBvdXRwdXQgZmlsZSBpbiBmb3JtYXQgPGJmZG5hbWU+XG4iCisiICAtRiAtLXRhcmdldD08YmZkbmFtZT4gICAgICAgICAgICBTZXQgYm90aCBpbnB1dCBhbmQgb3V0cHV0IGZvcm1hdCB0byA8YmZkbmFtZT5cbiIKKyIgIC1wIC0tcHJlc2VydmUtZGF0ZXMgICAgICAgICAgICAgIENvcHkgbW9kaWZpZWQvYWNjZXNzIHRpbWVzdGFtcHMgdG8gdGhlIG91dHB1dFxuIgorIiAgLVIgLS1yZW1vdmUtc2VjdGlvbj08bmFtZT4gICAgICAgUmVtb3ZlIHNlY3Rpb24gPG5hbWU+IGZyb20gdGhlIG91dHB1dFxuIgorIiAgLXMgLS1zdHJpcC1hbGwgICAgICAgICAgICAgICAgICAgUmVtb3ZlIGFsbCBzeW1ib2wgYW5kIHJlbG9jYXRpb24gaW5mb3JtYXRpb25cbiIKKyIgIC1nIC1TIC1kIC0tc3RyaXAtZGVidWcgICAgICAgICAgIFJlbW92ZSBhbGwgZGVidWdnaW5nIHN5bWJvbHMgJiBzZWN0aW9uc1xuIgorIiAgICAgLS1zdHJpcC11bm5lZWRlZCAgICAgICAgICAgICAgUmVtb3ZlIGFsbCBzeW1ib2xzIG5vdCBuZWVkZWQgYnkgcmVsb2NhdGlvbnNcbiIKKyIgICAgIC0tb25seS1rZWVwLWRlYnVnICAgICAgICAgICAgIFN0cmlwIGV2ZXJ5dGhpbmcgYnV0IHRoZSBkZWJ1ZyBpbmZvcm1hdGlvblxuIgorIiAgLU4gLS1zdHJpcC1zeW1ib2w9PG5hbWU+ICAgICAgICAgRG8gbm90IGNvcHkgc3ltYm9sIDxuYW1lPlxuIgorIiAgLUsgLS1rZWVwLXN5bWJvbD08bmFtZT4gICAgICAgICAgRG8gbm90IHN0cmlwIHN5bWJvbCA8bmFtZT5cbiIKKyIgICAgIC0ta2VlcC1maWxlLXN5bWJvbHMgICAgICAgICAgIERvIG5vdCBzdHJpcCBmaWxlIHN5bWJvbChzKVxuIgorIiAgLXcgLS13aWxkY2FyZCAgICAgICAgICAgICAgICAgICAgUGVybWl0IHdpbGRjYXJkIGluIHN5bWJvbCBjb21wYXJpc29uXG4iCisiICAteCAtLWRpc2NhcmQtYWxsICAgICAgICAgICAgICAgICBSZW1vdmUgYWxsIG5vbi1nbG9iYWwgc3ltYm9sc1xuIgorIiAgLVggLS1kaXNjYXJkLWxvY2FscyAgICAgICAgICAgICAgUmVtb3ZlIGFueSBjb21waWxlci1nZW5lcmF0ZWQgc3ltYm9sc1xuIgorIiAgLXYgLS12ZXJib3NlICAgICAgICAgICAgICAgICAgICAgTGlzdCBhbGwgb2JqZWN0IGZpbGVzIG1vZGlmaWVkXG4iCisiICAtViAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgcHJvZ3JhbSdzIHZlcnNpb24gbnVtYmVyXG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgb3V0cHV0XG4iCisiICAgICAtLWluZm8gICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9iamVjdCBmb3JtYXRzICYgYXJjaGl0ZWN0dXJlcyBzdXBwb3J0ZWRcbiIKKyIgIC1vIDxmaWxlPiAgICAgICAgICAgICAgICAgICAgICAgIFBsYWNlIHN0cmlwcGVkIG91dHB1dCBpbnRvIDxmaWxlPlxuIgorbXNnc3RyICIiCisiICAtSSAtLWlucHV0LXRhcmdldD08YmZkbmFtZT4gICAgICBBc3Vtc2lrYW4gYmVya2FzIG1hc3VrYW4gYWRhbGFoIGRhbGFtIGZvcm1hdCA8YmZkbmFtZT5cbiIKKyIgIC1PIC0tb3V0cHV0LXRhcmdldD08YmZkbmFtZT4gICAgIEJ1YWggc2VidWFoIGJlcmthcyBrZWx1YXJhbiBkYWxhbSBmb3JtYXQgPGJmZG5hbWU+XG4iCisiICAtRiAtLXRhcmdldD08YmZkbmFtZT4gICAgICAgICAgICBTZXQga2VkdWEgZm9ybWF0IG1hc3VrYW4gZGFuIGtlbHVhcmFuIGtlIDxiZmRuYW1lPlxuIgorIiAgLXAgLS1wcmVzZXJ2ZS1kYXRlcyAgICAgICAgICAgICAgU2FsaW4gcGVuYW5kYS13YWt0dSBtb2RpZmlrYXNpL2Frc2VzIGtlIGtlbHVhcmFuXG4iCisiICAtUiAtLXJlbW92ZS1zZWN0aW9uPTxuYW1hPiAgICAgICBIYXB1cyBiYWdpYW4gPG5hbWE+IGRhcmkga2VsdWFyYW5cbiIKKyIgIC1zIC0tc3RyaXAtYWxsICAgICAgICAgICAgICAgICAgIEhhcHVzIHNlbHVydWggaW5mb3JtYXNpIHNpbWJvbCBkYW4gcmVsb2thc2lcbiIKKyIgIC1nIC1TIC1kIC0tc3RyaXAtZGVidWcgICAgICAgICAgIEhhcHVzIHNlbHVydWggZGVidWcgc2ltYm9sIGRhbiBzZWN0aW9uXG4iCisiICAgICAtLXN0cmlwLXVubmVlZGVkICAgICAgICAgICAgICBIYXB1cyBzZWx1cnVoIHNpbWJvbCB0aWRhayBkaWJ1dHVoa2FuIG9sZWggcmVsb2thc2lcbiIKKyIgICAgIC0tb25seS1rZWVwLWRlYnVnICAgICAgICAgICAgIFN0cmlwIHNlbHVydWggdGV0YXBpIHNpbXBhbiBpbmZvcm1hc2kgZGVidWdcbiIKKyIgIC1OIC0tc3RyaXAtc3ltYm9sPTxuYW1hPiAgICAgICAgIEphbmdhbiBzYWxpbiBzaW1ib2wgPG5hbWE+XG4iCisiICAtSyAtLWtlZXAtc3ltYm9sPTxuYW1hPiAgICAgICAgICBKYW5nYW4gc3RyaXAgc2ltYm9sIDxuYW1hPlxuIgorIiAgICAgLS1rZWVwLWZpbGUtc3ltYm9scyAgICAgICAgICAgSmFuZ2FuIHN0cmlwIGJlcmthcyBzaW1ib2xcbiIKKyIgIC13IC0td2lsZGNhcmQgICAgICAgICAgICAgICAgICAgIElqaW5rYW4gd2lsZGNhcmQgZGFsYW0gcGVyYmFuZGluZ2FuIHNpbWJvbFxuIgorIiAgLXggLS1kaXNjYXJkLWFsbCAgICAgICAgICAgICAgICAgSGFwdXMgc2VsdXJ1aCBzaW1ib2wgYnVrYW4tZ2xvYmFsXG4iCisiICAtWCAtLWRpc2NhcmQtbG9jYWxzICAgICAgICAgICAgICBIYXB1cyBzaW1ib2wgYXBhcHVuIHlhbmcgZGloYXNpbGthbiBrb21waWxlclxuIgorIiAgLXYgLS12ZXJib3NlICAgICAgICAgICAgICAgICAgICAgRGFmdGFyIHNlbHVydWggYmVya2FzIG9iamVrIHlhbmcgdGVybW9kaWZpa2FzaVxuIgorIiAgLVYgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgVGFtcGlsa2FuIG5vbW9yIHZlcnNpIGFwbGlrYXNpIGluaVxuIgorIiAgLWggLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgVGFtcGlsa2FuIGJhbnR1YW4gaW5pXG4iCisiICAgICAtLWluZm8gICAgICAgICAgICAgICAgICAgICAgICBEYWZ0YXIgZm9ybWF0IGRhbiBhcnNpdGVrdHVyIG9iamVrIHlhbmcgZGlkdWt1bmdcbiIKKyIgIC1vIDxiZXJrYXM+ICAgICAgICAgICAgICAgICAgICAgIFRlbXBhdGthbiBrZWx1YXJhbiB0ZXItc3RyaXAga2VkYWxhbSA8YmVya2FzPlxuIgorCisjOiBvYmpjb3B5LmM6NTk2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzZWN0aW9uIGZsYWcgYCVzJyIKK21zZ3N0ciAidGFuZGEgYCVzJyBkYWVyYWggdGlkYWsgZGlrZW5hbCIKKworIzogb2JqY29weS5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXBwb3J0ZWQgZmxhZ3M6ICVzIgorbXNnc3RyICJ0YW5kYSB5YW5nIGRpZHVrdW5nOiAlcyIKKworIzogb2JqY29weS5jOjY5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnOiAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAnJXMnOiAlcyIKKworIzogb2JqY29weS5jOjcwMSBvYmpjb3B5LmM6MzA2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlYWQgZmFpbGVkIgorbXNnc3RyICIlczogZnJlYWQgZ2FnYWwiCisKKyM6IG9iamNvcHkuYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6JWQ6IElnbm9yaW5nIHJ1YmJpc2ggZm91bmQgb24gdGhpcyBsaW5lIgorbXNnc3RyICIlczolZDogTWVuZ2FiYWlrYW4gc2FtcGFoIGRpdGVtdWthbiBkaSBiYXJpcyBpbmkiCisKKyM6IG9iamNvcHkuYzoxMDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBzdHJpcHBpbmcgc3ltYm9sIGAlcycgYmVjYXVzZSBpdCBpcyBuYW1lZCBpbiBhIHJlbG9jYXRpb24iCittc2dzdHIgImJ1a2FuIHN0cmlwcGluZyBzaW1ib2wgYCVzJyBrYXJlbmEgaW5pIGRpbmFtYWthbiBkYWxhbSBzZWJ1YWggcmVsb2thc2kiCisKKyM6IG9iamNvcHkuYzoxMTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBNdWx0aXBsZSByZWRlZmluaXRpb24gb2Ygc3ltYm9sIFwiJXNcIiIKK21zZ3N0ciAiJXM6IE11bHRpcGxlIHJlZGVmaW5pc2kgZGFyaSBzaW1ib2wgXCIlc1wiIgorCisjOiBvYmpjb3B5LmM6MTE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogU3ltYm9sIFwiJXNcIiBpcyB0YXJnZXQgb2YgbW9yZSB0aGFuIG9uZSByZWRlZmluaXRpb24iCittc2dzdHIgIiVzOiBTaW1ib2wgXCIlc1wiIGFkYWxhaCB0YXJnZXQgZGFyaSBsZWJpaCBzYXR1IHJlZGVmaW5pc2kiCisKKyM6IG9iamNvcHkuYzoxMTg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IG9wZW4gc3ltYm9sIHJlZGVmaW5pdGlvbiBmaWxlICVzIChlcnJvcjogJXMpIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthIGJlcmthcyByZWRlZmluaXNpICVzIChlcnJvcjogJXMpIgorCisjOiBvYmpjb3B5LmM6MTI2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczolZDogZ2FyYmFnZSBmb3VuZCBhdCBlbmQgb2YgbGluZSIKK21zZ3N0ciAiJXM6JWQ6IHNhbXBhaCBkaXRlbXVrYW4gZGlha2hpciBkYXJpIGJhcmlzIgorCisjOiBvYmpjb3B5LmM6MTI2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczolZDogbWlzc2luZyBuZXcgc3ltYm9sIG5hbWUiCittc2dzdHIgIiVzOiVkOiBoaWxhbmcgbmFtYSBzaW1ib2wgYmFydSIKKworIzogb2JqY29weS5jOjEyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6JWQ6IHByZW1hdHVyZSBlbmQgb2YgZmlsZSIKK21zZ3N0ciAiJXM6JWQ6IHByZW1hdHVyIGFraGlyIGRhcmkgYmVya2FzIgorCisjOiBvYmpjb3B5LmM6MTMwMQorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IHJldHVybnMgbmVnYXRpdmUgc2l6ZSBmb3IgYCVzJyIKK21zZ3N0ciAic3RhdCBtZW5nZW1iYWxpa2FuIHVrdXJhbiBuZWdhdGlmIHVudHVrIGAlcyciCisKKyM6IG9iamNvcHkuYzoxMzEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvcHkgZnJvbSBgJXMnIFt1bmtub3duXSB0byBgJXMnIFt1bmtub3duXVxuIgorbXNnc3RyICJzYWxpbiBkYXJpIGAlcycgW3RpZGFrIGRpa2VuYWxdIGtlIGAlcycgW3RpZGFrIGRpa2VuYWxdXG4iCisKKyM6IG9iamNvcHkuYzoxMzY5Cittc2dpZCAiVW5hYmxlIHRvIGNoYW5nZSBlbmRpYW5uZXNzIG9mIGlucHV0IGZpbGUocykiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmd1YmFoIGVuZGlhbm5lc3MgZGFyaSBiZXJrYXMgbWFzdWthbiIKKworIzogb2JqY29weS5jOjEzNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29weSBmcm9tIGAlcycgWyVzXSB0byBgJXMnIFslc11cbiIKK21zZ3N0ciAic2FsaW4gZGFyaSBgJXMnIFslc10ga2UgYCVzJyBbJXNdXG4iCisKKyM6IG9iamNvcHkuYzoxNDIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byByZWNvZ25pc2UgdGhlIGZvcm1hdCBvZiB0aGUgaW5wdXQgZmlsZSBgJXMnIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5nZW5hbGkgZm9ybWF0IGRhcmkgYmVya2FzIG1hc3VrYW4gYCVzJyIKKworIzogb2JqY29weS5jOjE0MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogT3V0cHV0IGZpbGUgY2Fubm90IHJlcHJlc2VudCBhcmNoaXRlY3R1cmUgYCVzJyIKK21zZ3N0ciAiUGVyaW5nYXRhbjogQmVya2FzIGtlbHVhcmFuIHRpZGFrIGRhcGF0IG1lcmVwcmVzZW50YXNpa2FuIGFyc2l0ZWt0dXIgYCVzJyIKKworIzogb2JqY29weS5jOjE0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgYWRkIHNlY3Rpb24gJyVzJyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuYW1iYWhrYW4gZGFlcmFoICAnJXMnIgorCisjOiBvYmpjb3B5LmM6MTQ5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBjcmVhdGUgc2VjdGlvbiBgJXMnIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWF0IGRhZXJhaCBgJXMnIgorCisjOiBvYmpjb3B5LmM6MTU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGRlYnVnIGxpbmsgc2VjdGlvbiBgJXMnIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWF0IGRlYnVnIGxpbmsgZGFlcmFoIGAlcyciCisKKyM6IG9iamNvcHkuYzoxNjM3Cittc2dpZCAiQ2FuJ3QgZmlsbCBnYXAgYWZ0ZXIgc2VjdGlvbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2lzaSBnYXAgc2V0ZWxhaCBkYWVyYWgiCisKKyM6IG9iamNvcHkuYzoxNjYxCittc2dpZCAiY2FuJ3QgYWRkIHBhZGRpbmciCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmFtYmFoa2FuIHBhZGRpbmciCisKKyM6IG9iamNvcHkuYzoxNzUyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaWxsIGRlYnVnIGxpbmsgc2VjdGlvbiBgJXMnIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5naXNpIGRlYnVnIGxpbmsgc2VjdGlvbiBgJXMnIgorCisjOiBvYmpjb3B5LmM6MTgxNQorbXNnaWQgImVycm9yIGNvcHlpbmcgcHJpdmF0ZSBCRkQgZGF0YSIKK21zZ3N0ciAiZXJyb3IgbWVueWFsaW4gcHJpdmF0ZSBCRkQgZGF0YSIKKworIzogb2JqY29weS5jOjE4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhpcyB0YXJnZXQgZG9lcyBub3Qgc3VwcG9ydCAlbHUgYWx0ZXJuYXRpdmUgbWFjaGluZSBjb2RlcyIKK21zZ3N0ciAidGFyZ2V0IGluaSB0aWRhayBtZW5kdWt1bmcgJWx1IGFsdGVybmF0aWYga29kZSBtZXNpbiIKKworIzogb2JqY29weS5jOjE4MzAKK21zZ2lkICJ0cmVhdGluZyB0aGF0IG51bWJlciBhcyBhbiBhYnNvbHV0ZSBlX21hY2hpbmUgdmFsdWUgaW5zdGVhZCIKK21zZ3N0ciAibWVtYnVhdCBub21vciBpdHUgc2ViYWdhaSBzZWJ1YWggbmlsYWkgZV9tYWNoaW5lIGFic29sdXQiCisKKyM6IG9iamNvcHkuYzoxODM0Cittc2dpZCAiaWdub3JpbmcgdGhlIGFsdGVybmF0aXZlIHZhbHVlIgorbXNnc3RyICJtZW5nYWJhaWthbiBuaWxhaSBhbHRlcm5hdGlmIgorCisjOiBvYmpjb3B5LmM6MTg2NCBvYmpjb3B5LmM6MTg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIHRlbXBkaXIgZm9yIGFyY2hpdmUgY29weWluZyAoZXJyb3I6ICVzKSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVhdCB0ZW1wZGlyIHVudHVrIGFyY2hpdmUgbWVueWFsaW4gKGVycm9yOiAlcykiCisKKyM6IG9iamNvcHkuYzoxOTU3Cittc2dpZCAiVW5hYmxlIHRvIHJlY29nbmlzZSB0aGUgZm9ybWF0IG9mIGZpbGUiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdlbmFsaSBmb3JtYXQgZGFyaSBiZXJrYXMiCisKKyM6IG9iamNvcHkuYzoyMTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIk11bHRpcGxlIHJlbmFtZXMgb2Ygc2VjdGlvbiAlcyIKK21zZ3N0ciAiTXVsdGlwbGUgcGVyZ2FudGlhbiBuYW1hIGRhcmkgZGFlcmFoICVzIgorCisjOiBvYmpjb3B5LmM6MjE5OAorbXNnaWQgImVycm9yIGluIHByaXZhdGUgaFx0ZWFkZXIgZGF0YSIKK21zZ3N0ciAiZXJyb3IgZGFsYW0gcHJpdmF0ZSBoZWFkZXIgZGF0YSIKKworIzogb2JqY29weS5jOjIyNzYKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBzZWN0aW9uIgorbXNnc3RyICJnYWdhbCB1bnR1ayBtZW1idWF0IGRhZXJhaCBrZWx1YXJhbiIKKworIzogb2JqY29weS5jOjIyOTAKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHNpemUiCittc2dzdHIgImdhZ2FsIHVudHVrIG1lbnNldCB1a3VyYW4iCisKKyM6IG9iamNvcHkuYzoyMzA0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB2bWEiCittc2dzdHIgImdhZ2FsIHVudHVrIG1lbnNldCB2bWEiCisKKyM6IG9iamNvcHkuYzoyMzI5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBhbGlnbm1lbnQiCittc2dzdHIgImdhZ2FsIHVudHVrIG1lbnNldCBhbGlnbm1lbiIKKworIzogb2JqY29weS5jOjIzNTEKK21zZ2lkICJmYWlsZWQgdG8gY29weSBwcml2YXRlIGRhdGEiCittc2dzdHIgImdhZ2FsIHVudHVrIG1lbnlhbGluIHByaXZhdGUgZGF0YSIKKworIzogb2JqY29weS5jOjI0NDAKK21zZ2lkICJyZWxvY2F0aW9uIGNvdW50IGlzIG5lZ2F0aXZlIgorbXNnc3RyICJqdW1sYWggcmVsb2thc2kgbmVnYXRpZiIKKworIy4gVXNlciBtdXN0IHBhZCB0aGUgc2VjdGlvbiB1cCBpbiBvcmRlciB0byBkbyB0aGlzLgorIzogb2JqY29weS5jOjI1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJldmVyc2UgYnl0ZXM6IGxlbmd0aCBvZiBzZWN0aW9uICVzIG11c3QgYmUgZXZlbmx5IGRpdmlzaWJsZSBieSAlZCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYmFsaWsgYnl0ZXM6IHBhbmphbmcgZGFyaSBkYWVyYWggJXMgaGFydXMgc2VjYXJhIGdlbmFwIHRlcmJhZ2kgb2xlaCAlZCIKKworIzogb2JqY29weS5jOjI2ODUKK21zZ2lkICJjYW4ndCBjcmVhdGUgZGVidWdnaW5nIHNlY3Rpb24iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1YXQgZGFlcmFoIGRlYnVnIgorCisjOiBvYmpjb3B5LmM6MjY5OAorbXNnaWQgImNhbid0IHNldCBkZWJ1Z2dpbmcgc2VjdGlvbiBjb250ZW50cyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuc2V0IGlzaSBkYWVyYWggZGVidWciCisKKyM6IG9iamNvcHkuYzoyNzA2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbid0IGtub3cgaG93IHRvIHdyaXRlIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBmb3IgJXMiCittc2dzdHIgInRpZGFrIHRhaHUgYmFnYWltYW5hIG1lbnVsaXMgaW5mb3JtYXNpIGRlYnVnIHVudHVrICVzIgorCisjOiBvYmpjb3B5LmM6Mjg0OAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgdG8gaG9sZCBzdHJpcHBlZCBjb3B5IgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWF0IGJlcmthcyBzZW1lbnRhcmEgdW50dWsgbWVuamFnYSBzYWxpbmFuIHRlcnN0cmlwIgorCisjOiBvYmpjb3B5LmM6Mjg5NworbXNnaWQgImJ5dGUgbnVtYmVyIG11c3QgYmUgbm9uLW5lZ2F0aXZlIgorbXNnc3RyICJub21vciBieXRlIGhhcnVzIHRpZGFrIG5lZ2F0aWYiCisKKyM6IG9iamNvcHkuYzoyOTA3Cittc2dpZCAiaW50ZXJsZWF2ZSBtdXN0IGJlIHBvc2l0aXZlIgorbXNnc3RyICJpbnRlcmxlYXZlIGhhcnVzIHBvc2l0aWYiCisKKyM6IG9iamNvcHkuYzoyOTI3IG9iamNvcHkuYzoyOTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGJvdGggY29waWVkIGFuZCByZW1vdmVkIgorbXNnc3RyICIlcyBrZWR1YSBkaXNhbGluIGRhbiBkaWhhcHVzIgorCisjOiBvYmpjb3B5LmM6MzAzNiBvYmpjb3B5LmM6MzExMCBvYmpjb3B5LmM6MzIxMCBvYmpjb3B5LmM6MzI0MSBvYmpjb3B5LmM6MzI2NQorIzogb2JqY29weS5jOjMyNjkgb2JqY29weS5jOjMyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCBmb3IgJXMiCittc2dzdHIgImZvcm1hdCBidXJ1ayB1bnR1ayAlcyIKKworIzogb2JqY29weS5jOjMwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW46ICVzOiAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlczogJXMiCisKKyM6IG9iamNvcHkuYzozMTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IHRydW5jYXRpbmcgZ2FwLWZpbGwgZnJvbSAweCVzIHRvIDB4JXgiCittc2dzdHIgIlBlcmluZ2F0YW46IG1lbW90b25nIGdhcC1maWxsIGRhcmkgMHglcyBrZSAweCV4IgorCisjOiBvYmpjb3B5LmM6MzM0NworbXNnaWQgInVuYWJsZSB0byBwYXJzZSBhbHRlcm5hdGl2ZSBtYWNoaW5lIGNvZGUiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBhcnNlIGtvZGUgbWVzaW4gYWx0ZXJuYXRpZiIKKworIzogb2JqY29weS5jOjMzOTIKK21zZ2lkICJudW1iZXIgb2YgYnl0ZXMgdG8gcmV2ZXJzZSBtdXN0IGJlIHBvc2l0aXZlIGFuZCBldmVuIgorbXNnc3RyICJub21vciBkYXJpIGJ5dGUgdW50dWsgbWVtYmFsaWsgaGFydXMgcG9zaXRpZiBkYW4gZ2VuYXAiCisKKyM6IG9iamNvcHkuYzozMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGlnbm9yaW5nIHByZXZpb3VzIC0tcmV2ZXJzZS1ieXRlcyB2YWx1ZSBvZiAlZCIKK21zZ3N0ciAiUGVyaW5nYXRhbjogbWVuZ2FiYWlrYW4gc2ViZWx1bW55YSAtLXJldmVyc2UtYnl0ZSBuaWxhaSBkYXJpICVkIgorCisjOiBvYmpjb3B5LmM6MzQyMworbXNnaWQgImJ5dGUgbnVtYmVyIG11c3QgYmUgbGVzcyB0aGFuIGludGVybGVhdmUiCittc2dzdHIgImJ5dGUgbnVtYmVyIGhhcnVzIGxlYmloIGtlY2lsIGRhcmkgaW50ZXJsZWF2ZSIKKworIzogb2JqY29weS5jOjM0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJjaGl0ZWN0dXJlICVzIHVua25vd24iCittc2dzdHIgImFyc2l0ZWt0dXIgJXMgdGlkYWsgZGlrZW5hbCIKKworIzogb2JqY29weS5jOjM0NTcKK21zZ2lkICJXYXJuaW5nOiBpbnB1dCB0YXJnZXQgJ2JpbmFyeScgcmVxdWlyZWQgZm9yIGJpbmFyeSBhcmNoaXRlY3R1cmUgcGFyYW1ldGVyLiIKK21zZ3N0ciAiUGVyaW5nYXRhbjogdGFyZ2V0IG1hc3VrYW4gJ2JpbmFyeScgZGlidXR1aGthbiB1bnR1ayBwYXJhbWV0ZXIgYXJzaXRla3R1ciBiaW5hcmkuIgorCisjOiBvYmpjb3B5LmM6MzQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICIgQXJndW1lbnQgJXMgaWdub3JlZCIKK21zZ3N0ciAiIEFyZ3VtZW4gJXMgZGlhYmFpa2FuIgorCisjOiBvYmpjb3B5LmM6MzQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjb3VsZCBub3QgbG9jYXRlICclcycuICBTeXN0ZW0gZXJyb3IgbWVzc2FnZTogJXMiCittc2dzdHIgInBlcmluZ2F0YW46IHRpZGFrIGRhcGF0IG1lbmdhbG9rYXNpa2FuICclcycuIFBlc2FuIGVycm9yIHNpc3RlbTogJXMiCisKKyM6IG9iamNvcHkuYzozNDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgd2hpbHN0IGNvcHlpbmcgJyVzJywgKGVycm9yOiAlcykiCittc2dzdHIgInBlcmluZ2F0YW46IHRpZGFrIGRhcGF0IG1lbWJ1YXQgYmVya2FzIHNlbWVudGFyYSBrZXRpa2EgbWVueWFsaW4gJyVzJywgKGVycm9yOiAlcykiCisKKyM6IG9iamNvcHkuYzozNTAyIG9iamNvcHkuYzozNTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzJWMweCVzIG5ldmVyIHVzZWQiCittc2dzdHIgIiVzICVzJWMweCVzIHRpZGFrIHBlcm5haCBkaWd1bmFrYW4iCisKKyM6IG9iamR1bXAuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxvcHRpb24ocyk+IDxmaWxlKHMpPlxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyA8b3BzaT4gPGJlcmthcz5cbiIKKworIzogb2JqZHVtcC5jOjE4MworIywgYy1mb3JtYXQKK21zZ2lkICIgRGlzcGxheSBpbmZvcm1hdGlvbiBmcm9tIG9iamVjdCA8ZmlsZShzKT4uXG4iCittc2dzdHIgIiBNZW5hbXBpbGthbiBpbmZvcm1hc2kgZGFyaSBvYmplayA8YmVya2FzPi5cbiIKKworIzogb2JqZHVtcC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIgQXQgbGVhc3Qgb25lIG9mIHRoZSBmb2xsb3dpbmcgc3dpdGNoZXMgbXVzdCBiZSBnaXZlbjpcbiIKK21zZ3N0ciAiIFBhbGluZyB0aWRhayBzYXR1IGRhcmkgc3dpdGNoIGJlcmlrdXQgaGFydXMgZGliZXJpa2FuOlxuIgorCisjOiBvYmpkdW1wLmM6MTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIC1hLCAtLWFyY2hpdmUtaGVhZGVycyAgICBEaXNwbGF5IGFyY2hpdmUgaGVhZGVyIGluZm9ybWF0aW9uXG4iCisiICAtZiwgLS1maWxlLWhlYWRlcnMgICAgICAgRGlzcGxheSB0aGUgY29udGVudHMgb2YgdGhlIG92ZXJhbGwgZmlsZSBoZWFkZXJcbiIKKyIgIC1wLCAtLXByaXZhdGUtaGVhZGVycyAgICBEaXNwbGF5IG9iamVjdCBmb3JtYXQgc3BlY2lmaWMgZmlsZSBoZWFkZXIgY29udGVudHNcbiIKKyIgIC1oLCAtLVtzZWN0aW9uLV1oZWFkZXJzICBEaXNwbGF5IHRoZSBjb250ZW50cyBvZiB0aGUgc2VjdGlvbiBoZWFkZXJzXG4iCisiICAteCwgLS1hbGwtaGVhZGVycyAgICAgICAgRGlzcGxheSB0aGUgY29udGVudHMgb2YgYWxsIGhlYWRlcnNcbiIKKyIgIC1kLCAtLWRpc2Fzc2VtYmxlICAgICAgICBEaXNwbGF5IGFzc2VtYmxlciBjb250ZW50cyBvZiBleGVjdXRhYmxlIHNlY3Rpb25zXG4iCisiICAtRCwgLS1kaXNhc3NlbWJsZS1hbGwgICAgRGlzcGxheSBhc3NlbWJsZXIgY29udGVudHMgb2YgYWxsIHNlY3Rpb25zXG4iCisiICAtUywgLS1zb3VyY2UgICAgICAgICAgICAgSW50ZXJtaXggc291cmNlIGNvZGUgd2l0aCBkaXNhc3NlbWJseVxuIgorIiAgLXMsIC0tZnVsbC1jb250ZW50cyAgICAgIERpc3BsYXkgdGhlIGZ1bGwgY29udGVudHMgb2YgYWxsIHNlY3Rpb25zIHJlcXVlc3RlZFxuIgorIiAgLWcsIC0tZGVidWdnaW5nICAgICAgICAgIERpc3BsYXkgZGVidWcgaW5mb3JtYXRpb24gaW4gb2JqZWN0IGZpbGVcbiIKKyIgIC1lLCAtLWRlYnVnZ2luZy10YWdzICAgICBEaXNwbGF5IGRlYnVnIGluZm9ybWF0aW9uIHVzaW5nIGN0YWdzIHN0eWxlXG4iCisiICAtRywgLS1zdGFicyAgICAgICAgICAgICAgRGlzcGxheSAoaW4gcmF3IGZvcm0pIGFueSBTVEFCUyBpbmZvIGluIHRoZSBmaWxlXG4iCisiICAtVywgLS1kd2FyZiAgICAgICAgICAgICAgRGlzcGxheSBEV0FSRiBpbmZvIGluIHRoZSBmaWxlXG4iCisiICAtdCwgLS1zeW1zICAgICAgICAgICAgICAgRGlzcGxheSB0aGUgY29udGVudHMgb2YgdGhlIHN5bWJvbCB0YWJsZShzKVxuIgorIiAgLVQsIC0tZHluYW1pYy1zeW1zICAgICAgIERpc3BsYXkgdGhlIGNvbnRlbnRzIG9mIHRoZSBkeW5hbWljIHN5bWJvbCB0YWJsZVxuIgorIiAgLXIsIC0tcmVsb2MgICAgICAgICAgICAgIERpc3BsYXkgdGhlIHJlbG9jYXRpb24gZW50cmllcyBpbiB0aGUgZmlsZVxuIgorIiAgLVIsIC0tZHluYW1pYy1yZWxvYyAgICAgIERpc3BsYXkgdGhlIGR5bmFtaWMgcmVsb2NhdGlvbiBlbnRyaWVzIGluIHRoZSBmaWxlXG4iCisiICBAPGZpbGU+ICAgICAgICAgICAgICAgICAgUmVhZCBvcHRpb25zIGZyb20gPGZpbGU+XG4iCisiICAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgRGlzcGxheSB0aGlzIHByb2dyYW0ncyB2ZXJzaW9uIG51bWJlclxuIgorIiAgLWksIC0taW5mbyAgICAgICAgICAgICAgIExpc3Qgb2JqZWN0IGZvcm1hdHMgYW5kIGFyY2hpdGVjdHVyZXMgc3VwcG9ydGVkXG4iCisiICAtSCwgLS1oZWxwICAgICAgICAgICAgICAgRGlzcGxheSB0aGlzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiIKKyIgIC1hLCAtLWFyY2hpdmUtaGVhZGVycyAgICBUYW1waWxrYW4gaW5mb3JtYXNpIGFyY2hpdmUgaGVhZGVyXG4iCisiICAtZiwgLS1maWxlLWhlYWRlcnMgICAgICAgVGFtcGlsa2FuIGlzaSBkYXJpIHNlbHVydWggYmVya2FzIGhlYWRlclxuIgorIiAgLXAsIC0tcHJpdmF0ZS1oZWFkZXJzICAgIFRhbXBpbGthbiBmb3JtYXQgb2JqZWsgc3Blc2lmaWsgaXNpIGJlcmthcyBoZWFkZXJcbiIKKyIgIC1oLCAtLVtzZWN0aW9uLV1oZWFkZXJzICBUYW1waWxrYW4gaXNpIGRhcmkgZGFlcmFoIGhlYWRlclxuIgorIiAgLXgsIC0tYWxsLWhlYWRlcnMgICAgICAgIFRhbXBpbGthbiBpc2kgZGFyaSBzZWx1cnVoIGhlYWRlclxuIgorIiAgLWQsIC0tZGlzYXNzZW1ibGUgICAgICAgIFRhbXBpbGthbiBpc2kgcmFraXRhbiBkYXJpIGRhZXJhaCBleGVjdXRhYmxlXG4iCisiICAtRCwgLS1kaXNhc3NlbWJsZS1hbGwgICAgVGFtcGlsa2FuIGlzaSByYWtpdGFuIGRhcmkgc2VsdXJ1aCBiYWdpYW5cbiIKKyIgIC1TLCAtLXNvdXJjZSAgICAgICAgICAgICBDYW1wdXIga29kZSBwcm9ncmFtIGRlbmdhbiBwZW1ib25na2FyYW5cbiIKKyIgIC1zLCAtLWZ1bGwtY29udGVudHMgICAgICBUYW1waWxrYW4gaXNpIHBlbnVoIGRhcmkgc2VsdXJ1aCBiYWdpYW4geWFuZyBkaW1pbnRhXG4iCisiICAtZywgLS1kZWJ1Z2dpbmcgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSBkZWJ1ZyBkYWxhbSBiZXJrYXMgb2JqZWtcbiIKKyIgIC1lLCAtLWRlYnVnZ2luZy10YWdzICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIGRlYnVnIG1lbmdndW5ha2FuIGdheWEgY3RhZ3NcbiIKKyIgIC1HLCAtLXN0YWJzICAgICAgICAgICAgICBUYW1waWxrYW4gKGRhbGFtIGJlbnR1ayBtZW50YWgpIGluZm9ybWFzaSBTVEFCUyBhcGFwdW4gZGFsYW0gYmVya2FzXG4iCisiICAtVywgLS1kd2FyZiAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSBEV0FSRiBkYWxhbSBiZXJrYXNcbiIKKyIgIC10LCAtLXN5bXMgICAgICAgICAgICAgICBUYW1waWxrYW4gaXNpIGRhcmkgdGFiZWwgc2ltYm9sXG4iCisiICAtVCwgLS1keW5hbWljLXN5bXMgICAgICAgVGFtcGlsa2FuIGlzaSBkYXJpIHRhYmVsIHNpbWJvbCBkaW5hbWlzXG4iCisiICAtciwgLS1yZWxvYyAgICAgICAgICAgICAgVGFtcGlsa2FuIG1hc3VrYW4gcmVsb2thc2kgZGFsYW0gYmVya2FzXG4iCisiICAtUiwgLS1keW5hbWljLXJlbG9jICAgICAgVGFtcGlsa2FuIG1hc3VrYW4gcmVsb2thc2kgZGluYW1pcyBkYWxhbSBiZXJrYXNcbiIKKyIgIEA8YmVya2FzPiAgICAgICAgICAgICAgICBCYWNhIG9wc2kgZGFyaSA8YmVya2FzPlxuIgorIiAgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgIFRhbXBpbGthbiBub21vciB2ZXJzaSBhcGxpa2FzaSBpbmlcbiIKKyIgIC1pLCAtLWluZm8gICAgICAgICAgICAgICBEYWZ0YXIgZm9ybWF0IGRhbiBhcnNpdGVrdHVyIG9iamVrIHlhbmcgZGlkdWt1bmdcbiIKKyIgIC1ILCAtLWhlbHAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIGluaVxuIgorCisjOiBvYmpkdW1wLmM6MjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgVGhlIGZvbGxvd2luZyBzd2l0Y2hlcyBhcmUgb3B0aW9uYWw6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIgU3dpdGNoIGJlcmlrdXQgYWRhbGFoIG9wc2lvbmFsOlxuIgorCisjOiBvYmpkdW1wLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIC1iLCAtLXRhcmdldD1CRkROQU1FICAgICAgICAgICBTcGVjaWZ5IHRoZSB0YXJnZXQgb2JqZWN0IGZvcm1hdCBhcyBCRkROQU1FXG4iCisiICAtbSwgLS1hcmNoaXRlY3R1cmU9TUFDSElORSAgICAgU3BlY2lmeSB0aGUgdGFyZ2V0IGFyY2hpdGVjdHVyZSBhcyBNQUNISU5FXG4iCisiICAtaiwgLS1zZWN0aW9uPU5BTUUgICAgICAgICAgICAgT25seSBkaXNwbGF5IGluZm9ybWF0aW9uIGZvciBzZWN0aW9uIE5BTUVcbiIKKyIgIC1NLCAtLWRpc2Fzc2VtYmxlci1vcHRpb25zPU9QVCBQYXNzIHRleHQgT1BUIG9uIHRvIHRoZSBkaXNhc3NlbWJsZXJcbiIKKyIgIC1FQiAtLWVuZGlhbj1iaWcgICAgICAgICAgICAgICBBc3N1bWUgYmlnIGVuZGlhbiBmb3JtYXQgd2hlbiBkaXNhc3NlbWJsaW5nXG4iCisiICAtRUwgLS1lbmRpYW49bGl0dGxlICAgICAgICAgICAgQXNzdW1lIGxpdHRsZSBlbmRpYW4gZm9ybWF0IHdoZW4gZGlzYXNzZW1ibGluZ1xuIgorIiAgICAgIC0tZmlsZS1zdGFydC1jb250ZXh0ICAgICAgIEluY2x1ZGUgY29udGV4dCBmcm9tIHN0YXJ0IG9mIGZpbGUgKHdpdGggLVMpXG4iCisiICAtSSwgLS1pbmNsdWRlPURJUiAgICAgICAgICAgICAgQWRkIERJUiB0byBzZWFyY2ggbGlzdCBmb3Igc291cmNlIGZpbGVzXG4iCisiICAtbCwgLS1saW5lLW51bWJlcnMgICAgICAgICAgICAgSW5jbHVkZSBsaW5lIG51bWJlcnMgYW5kIGZpbGVuYW1lcyBpbiBvdXRwdXRcbiIKKyIgIC1GLCAtLWZpbGUtb2Zmc2V0cyAgICAgICAgICAgICBJbmNsdWRlIGZpbGUgb2Zmc2V0cyB3aGVuIGRpc3BsYXlpbmcgaW5mb3JtYXRpb25cbiIKKyIgIC1DLCAtLWRlbWFuZ2xlWz1TVFlMRV0gICAgICAgICBEZWNvZGUgbWFuZ2xlZC9wcm9jZXNzZWQgc3ltYm9sIG5hbWVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBTVFlMRSwgaWYgc3BlY2lmaWVkLCBjYW4gYmUgYGF1dG8nLCBgZ251JyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGx1Y2lkJywgYGFybScsIGBocCcsIGBlZGcnLCBgZ251LXYzJywgYGphdmEnXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGBnbmF0J1xuIgorIiAgLXcsIC0td2lkZSAgICAgICAgICAgICAgICAgICAgIEZvcm1hdCBvdXRwdXQgZm9yIG1vcmUgdGhhbiA4MCBjb2x1bW5zXG4iCisiICAteiwgLS1kaXNhc3NlbWJsZS16ZXJvZXMgICAgICAgRG8gbm90IHNraXAgYmxvY2tzIG9mIHplcm9lcyB3aGVuIGRpc2Fzc2VtYmxpbmdcbiIKKyIgICAgICAtLXN0YXJ0LWFkZHJlc3M9QUREUiAgICAgICBPbmx5IHByb2Nlc3MgZGF0YSB3aG9zZSBhZGRyZXNzIGlzID49IEFERFJcbiIKKyIgICAgICAtLXN0b3AtYWRkcmVzcz1BRERSICAgICAgICBPbmx5IHByb2Nlc3MgZGF0YSB3aG9zZSBhZGRyZXNzIGlzIDw9IEFERFJcbiIKKyIgICAgICAtLXByZWZpeC1hZGRyZXNzZXMgICAgICAgICBQcmludCBjb21wbGV0ZSBhZGRyZXNzIGFsb25nc2lkZSBkaXNhc3NlbWJseVxuIgorIiAgICAgIC0tW25vLV1zaG93LXJhdy1pbnNuICAgICAgIERpc3BsYXkgaGV4IGFsb25nc2lkZSBzeW1ib2xpYyBkaXNhc3NlbWJseVxuIgorIiAgICAgIC0tYWRqdXN0LXZtYT1PRkZTRVQgICAgICAgIEFkZCBPRkZTRVQgdG8gYWxsIGRpc3BsYXllZCBzZWN0aW9uIGFkZHJlc3Nlc1xuIgorIiAgICAgIC0tc3BlY2lhbC1zeW1zICAgICAgICAgICAgIEluY2x1ZGUgc3BlY2lhbCBzeW1ib2xzIGluIHN5bWJvbCBkdW1wc1xuIgorIlxuIgorbXNnc3RyICIiCisiICAtYiwgLS10YXJnZXQ9QkZETkFNRSAgICAgICAgICAgU3Blc2lmaWthc2lrYW4gZm9ybWF0IG9iamVrIHRhcmdldCBzZWJhZ2FpIEJGRE5BTUVcbiIKKyIgIC1tLCAtLWFyY2hpdGVjdHVyZT1NQUNISU5FICAgICBTcGVzaWZpa2FzaWthbiB0YXJnZXQgYXJzaXRla3R1ciBzZWJhZ2FpIE1FU0lOXG4iCisiICAtaiwgLS1zZWN0aW9uPU5BTUUgICAgICAgICAgICAgSGFueWEgdGFtcGlsa2FuIGluZm9ybWFzaSB1bnR1ayBkYWVyYWggTkFNQVxuIgorIiAgLU0sIC0tZGlzYXNzZW1ibGVyLW9wdGlvbnM9T1BUIExld2F0a2FuIHRla3MgT1BUIGtlIHBlbWJvbmdrYXJcbiIKKyIgIC1FQiAtLWVuZGlhbj1iaWcgICAgICAgICAgICAgICBBc3Vtc2lrYW4gZm9ybWF0IGJpZyBlbmRpYW4ga2V0aWthIG1lbWJvbmdrYXJcbiIKKyIgIC1FTCAtLWVuZGlhbj1saXR0bGUgICAgICAgICAgICBBc3Vtc2lrYW4gZm9ybWF0IGxpdHRsZSBlbmRpYW4ga2V0aWthIG1lbWJvbmdrYXJcbiIKKyIgICAgICAtLWZpbGUtc3RhcnQtY29udGV4dCAgICAgICBNYXN1a2FuIGtvbnRla3MgZGFyaSBhd2FsIGRhcmkgYmVya2FzIChkZW5nYW4gLVMpXG4iCisiICAtSSwgLS1pbmNsdWRlPURJUiAgICAgICAgICAgICAgVGFtYmFoa2FuIGtlIGRhZnRhciBwZW5jYXJpYW4gRElSIHVudHVrIGJlcmthcyBzdW1iZXJcbiIKKyIgIC1sLCAtLWxpbmUtbnVtYmVycyAgICAgICAgICAgICBNYXN1a2FuIG5vbW9yIGJhcmlzIGRhbiBuYW1hIGJlcmthcyBkYWxhbSBrZWx1YXJhblxuIgorIiAgLUYsIC0tZmlsZS1vZmZzZXRzICAgICAgICAgICAgIE1hc3VrYW4gYmVya2FzIG9mc2V0IGtldGlrYSBtZW5hbXBpbGthbiBpbmZvcm1hc2lcbiIKKyIgIC1DLCAtLWRpbWFuZ2xlWz1HQVlBXSAgICAgICAgICBEZWtvZGUgbWFuZ2xlZC9wcm9zZXMgbmFtYSBzaW1ib2xcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQVlBLCBqaWthIGRpc3Blc2lmaWthc2lrYW4sIGRhcGF0IGJlcnVwYSBgYXV0bycsIGBnbnUnLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBsdWNpZCcsIGBhcm0nLCBgaHAnLCBgZWRnJywgYGdudS12MycsIGBqYXZhJ1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0YXUgYGduYXQnXG4iCisiICAtdywgLS13aWRlICAgICAgICAgICAgICAgICAgICAgRm9ybWF0IGtlbHVhcmFuIHVudHVrIGxlYmloIGRhcmkgODAga29sb21cbiIKKyIgIC16LCAtLWRpc2Fzc2VtYmxlLXplcm9lcyAgICAgICBKYW5nYW4gbGV3YXRpIGJsb2sgZGFyaSBub2wga2V0aWthIG1lbWJvbmdrYXJcbiIKKyIgICAgICAtLXN0YXJ0LWFkZHJlc3M9QUREUiAgICAgICBIYW55YSBwcm9zZXMgZGF0YSB5YW5nIGFsYW1hdG55YSA+PSBBRERSXG4iCisiICAgICAgLS1zdG9wLWFkZHJlc3M9QUREUiAgICAgICAgSGFueWEgcHJvc2VzIGRhdGEgeWFuZyBhbGFtYXRueWEgPD0gQUREUlxuIgorIiAgICAgIC0tcHJlZml4LWFkZHJlc3NlcyAgICAgICAgIFRhbXBpbGthbiBhbGFtYXQgbGVuZ2thcCBkaXNhbXBpbmcgcGVtYm9uZ2thcmFuXG4iCisiICAgICAgLS1bbm8tXXNob3ctcmF3LWluc24gICAgICAgVGFtcGlsa2FuIGhla3NhIGRpc2FtcGluZyBzaW1ib2wgdGVyYm9uZ2thclxuIgorIiAgICAgIC0tYWRqdXN0LXZtYT1PRkZTRVQgICAgICAgIFRhbWJhaGthbiBPRkZTRVQga2Ugc2VsdXJ1aCBhbGFtYXQgZGFlcmFoIHlhbmcgZGl0YW1waWxrYW5cbiIKKyIgICAgICAtLXNwZWNpYWwtc3ltcyAgICAgICAgICAgICBNYXN1a2FuIHNpbWJvbCBzcGVzaWFsIGRhbGFtIHNpbWJvbCBkdW1wc1xuIgorIlxuIgorCisjOiBvYmpkdW1wLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3Rpb25zOlxuIgorbXNnc3RyICJEYWVyYWg6XG4iCisKKyM6IG9iamR1bXAuYzozOTggb2JqZHVtcC5jOjQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJJZHggTmFtZSAgICAgICAgICBTaXplICAgICAgVk1BICAgICAgIExNQSAgICAgICBGaWxlIG9mZiAgQWxnbiIKK21zZ3N0ciAiSWR4IE5hbWEgICAgICAgICAgVWt1cmFuICAgIFZNQSAgICAgICBMTUEgICAgICAgQmVya2FzIG9mZiBBbGduIgorCisjOiBvYmpkdW1wLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIklkeCBOYW1lICAgICAgICAgIFNpemUgICAgICBWTUEgICAgICAgICAgICAgICBMTUEgICAgICAgICAgICAgICBGaWxlIG9mZiAgQWxnbiIKK21zZ3N0ciAiSWR4IE5hbWEgICAgICAgICAgVWt1cmFuICAgIFZNQSAgICAgICAgICAgICAgIExNQSAgICAgICAgICAgICAgIEJlcmthcyBvZmYgICBBbGduIgorCisjOiBvYmpkdW1wLmM6NDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgRmxhZ3MiCittc2dzdHIgIiAgVGFuZGEiCisKKyM6IG9iamR1bXAuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBQZyIKK21zZ3N0ciAiICBQZyIKKworIzogb2JqZHVtcC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZHluYW1pYyBvYmplY3QiCittc2dzdHIgIiVzOiBidWthbiBzZWJ1YWggb2JqZWsgZGluYW1pcyIKKworIzogb2JqZHVtcC5jOjg3OCBvYmpkdW1wLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAoRmlsZSBPZmZzZXQ6IDB4JWx4KSIKK21zZ3N0ciAiIChCZXJrYXMgT2ZzZXQ6IDB4JWx4KSIKKworIzogb2JqZHVtcC5jOjE4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkRpc2Fzc2VtYmx5IG9mIHNlY3Rpb24gJXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJQZW1ib25na2FyYW4gZGFyaSBkYWVyYWggJXM6XG4iCisKKyM6IG9iamR1bXAuYzoxOTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHVzZSBzdXBwbGllZCBtYWNoaW5lICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5nZ3VuYWthbiBtZXNpbiAlcyB5YW5nIGRpYmVyaWthbiIKKworIzogb2JqZHVtcC5jOjE5OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZGlzYXNzZW1ibGUgZm9yIGFyY2hpdGVjdHVyZSAlc1xuIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1ib25na2FyIHVudHVrIGFyc2l0ZWt0dXIgJXNcbiIKKworIzogb2JqZHVtcC5jOjIxMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbid0IGdldCBjb250ZW50cyBmb3Igc2VjdGlvbiAnJXMnLlxuIgorbXNnc3RyICIiCisiXG4iCisiVGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBpc2kgZGFyaSBkYWVyYWggJyVzJy5cbiIKKworIzogb2JqZHVtcC5jOjIxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbid0IHVuY29tcHJlc3Mgc2VjdGlvbiAnJXMnLlxuIgorbXNnc3RyICIiCisiXG4iCisiVGlkYWsgZGFwYXQgbWVuZ2Vrc3RyYWsgZGFlcmFoICclcycuXG4iCisKKyM6IG9iamR1bXAuYzoyMzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJObyAlcyBzZWN0aW9uIHByZXNlbnRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlRpZGFrIGFkYSAlcyBkYWVyYWggYWRhXG4iCisiXG4iCisKKyM6IG9iamR1bXAuYzoyMzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWRpbmcgJXMgc2VjdGlvbiBvZiAlcyBmYWlsZWQ6ICVzIgorbXNnc3RyICJNZW1iYWNhIGRhZXJhaCAlcyBkYXJpICVzIGdhZ2FsOiAlcyIKKworIzogb2JqZHVtcC5jOjIzNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNvbnRlbnRzIG9mICVzIHNlY3Rpb246XG4iCisiXG4iCittc2dzdHIgIiIKKyJJc2kgZGFyaSBkYWVyYWggJXM6XG4iCisiXG4iCisKKyM6IG9iamR1bXAuYzoyNDg5CisjLCBjLWZvcm1hdAorbXNnaWQgImFyY2hpdGVjdHVyZTogJXMsICIKK21zZ3N0ciAiYXJzaXRla3R1cjogJXMsICIKKworIzogb2JqZHVtcC5jOjI0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmxhZ3MgMHglMDh4OlxuIgorbXNnc3RyICJ0YW5kYSAweCUwOHg6XG4iCisKKyM6IG9iamR1bXAuYzoyNTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzdGFydCBhZGRyZXNzIDB4IgorbXNnc3RyICIiCisiXG4iCisiYXdhbCBhbGFtYXQgMHgiCisKKyM6IG9iamR1bXAuYzoyNTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRlbnRzIG9mIHNlY3Rpb24gJXM6IgorbXNnc3RyICJJc2kgZGFyaSBkYWVyYWggJXM6IgorCisjOiBvYmpkdW1wLmM6MjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIgIChTdGFydGluZyBhdCBmaWxlIG9mZnNldDogMHglbHgpIgorbXNnc3RyICIgIChBd2FsIGRhcmkgYmVya2FzIG9mc2V0OiAweCVseCkiCisKKyM6IG9iamR1bXAuYzoyNjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN5bWJvbHNcbiIKK21zZ3N0ciAidGlkYWsgYWRhIHNpbWJvbFxuIgorCisjOiBvYmpkdW1wLmM6MjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJubyBpbmZvcm1hdGlvbiBmb3Igc3ltYm9sIG51bWJlciAlbGRcbiIKK21zZ3N0ciAidGlkYWsgYWRhIGluZm9ybWFzaSB1bnR1ayBub21vciBzaW1ib2wgJWxkXG4iCisKKyM6IG9iamR1bXAuYzoyNjg4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIHR5cGUgb2Ygc3ltYm9sIG51bWJlciAlbGRcbiIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW50dWthbiB0aXBlIGRhcmkgbm9tb3Igc2ltYm9sICVsZFxuIgorCisjOiBvYmpkdW1wLmM6Mjk2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6ICAgICBmaWxlIGZvcm1hdCAlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJXM6ICAgICBmb3JtYXQgYmVya2FzICVzXG4iCisKKyM6IG9iamR1bXAuYzozMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmludGluZyBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gZmFpbGVkIgorbXNnc3RyICIlczogbWVuYW1waWxrYW4gaW5mb3JtYXNpIGRlYnVnIGdhZ2FsIgorCisjOiBvYmpkdW1wLmM6MzEyMworIywgYy1mb3JtYXQKK21zZ2lkICJJbiBhcmNoaXZlICVzOlxuIgorbXNnc3RyICJEYWxhbSBhcmNoaXZlICVzOlxuIgorCisjOiBvYmpkdW1wLmM6MzIzOAorbXNnaWQgImVycm9yOiB0aGUgc3RhcnQgYWRkcmVzcyBzaG91bGQgYmUgYmVmb3JlIHRoZSBlbmQgYWRkcmVzcyIKK21zZ3N0ciAiZXJyb3I6IGF3YWwgZGFyaSBhbGFtYXQgc2VoYXJ1c255YSBzZWJlbHVtIGFraGlyIGRhcmkgYWxhbWF0IgorCisjOiBvYmpkdW1wLmM6MzI0MworbXNnaWQgImVycm9yOiB0aGUgc3RvcCBhZGRyZXNzIHNob3VsZCBiZSBhZnRlciB0aGUgc3RhcnQgYWRkcmVzcyIKK21zZ3N0ciAiZXJyb3I6IHN0b3AgYWxhbWF0IHNlaGFydXNueWEgc2V0ZWxhaCBhd2FsIGFsYW1hdCIKKworIzogb2JqZHVtcC5jOjMyNTIKK21zZ2lkICJ1bnJlY29nbml6ZWQgLUUgb3B0aW9uIgorbXNnc3RyICJvcHNpIC1FIHRpZGFrIGRpa2VuYWwiCisKKyM6IG9iamR1bXAuYzozMjYzCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAtLWVuZGlhbiB0eXBlIGAlcyciCittc2dzdHIgInRpcGUgLS1lbmRpYW4gYCVzJyB0aWRhayBkaWtlbmFsIgorCisjOiByY2xleC5jOjE5NworbXNnaWQgImludmFsaWQgdmFsdWUgc3BlY2lmaWVkIGZvciBwcmFnbWEgY29kZV9wYWdlLlxuIgorbXNnc3RyICJuaWxhaSB5YW5nIGRpc3Blc2lmaWthc2lrYW4gdW50dWsgcHJhbWEgY29kZV9wYWdlIHRpZGFrIHZhbGlkLlxuIgorCisjOiByZGNvZmYuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2VfY29mZl90eXBlOiBCYWQgdHlwZSBjb2RlIDB4JXgiCittc2dzdHIgInBhcnNlX2NvZmZfdHlwZTogVGlwZSBrb2RlIDB4JXggYnVydWsiCisKKyM6IHJkY29mZi5jOjQwNiByZGNvZmYuYzo1MTEgcmRjb2ZmLmM6Njk5CisjLCBjLWZvcm1hdAorbXNnaWQgImJmZF9jb2ZmX2dldF9zeW1lbnQgZmFpbGVkOiAlcyIKK21zZ3N0ciAiYmZkX2NvZmZfZ2V0X3N5bWVudCBnYWdhbDogJXMiCisKKyM6IHJkY29mZi5jOjQyMiByZGNvZmYuYzo3MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmZkX2NvZmZfZ2V0X2F1eGVudCBmYWlsZWQ6ICVzIgorbXNnc3RyICJiZmRfY29mZl9nZXRfYXV4ZW50IGdhZ2FsOiAlcyIKKworIzogcmRjb2ZmLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZDogLmJmIHdpdGhvdXQgcHJlY2VkaW5nIGZ1bmN0aW9uIgorbXNnc3RyICIlbGQ6IC5iZiB0YW5wYSBmdW5nc2kgeWFuZyBtZW5nYXdhbGkiCisKKyM6IHJkY29mZi5jOjgzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQ6IHVuZXhwZWN0ZWQgLmVmXG4iCittc2dzdHIgIiVsZDogdGlkYWsgZGlkdWdhIC5lZlxuIgorCisjOiByZGRiZy5jOjg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyByZWNvZ25pemVkIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiJXM6IHRpZGFrIGRpa2VuYWxpIGluZm9ybWFzaSBkZWJ1ZyIKKworIzogcmRkYmcuYzo0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBzdGFicyBlbnRyaWVzIGJlZm9yZSBlcnJvcjpcbiIKK21zZ3N0ciAiQWtoaXIgbWFzdWthbiBzdGFiIHNlYmVsdW0gZXJyb3I6XG4iCisKKyM6IHJlYWRlbGYuYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNlZWsgdG8gMHglbHggZm9yICVzXG4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmNhcmkga2UgMHglbHggdW50dWsgJXNcbiIKKworIzogcmVhZGVsZi5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJPdXQgb2YgbWVtb3J5IGFsbG9jYXRpbmcgMHglbHggYnl0ZXMgZm9yICVzXG4iCittc2dzdHIgIktlaGFiaXNhbiBhbG9rYXNpIGRhcmkgbWVtb3JpIDB4JWx4IGJ5dGVzIHVudHVrICVzXG4iCisKKyM6IHJlYWRlbGYuYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW4gMHglbHggYnl0ZXMgb2YgJXNcbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYmFjYSBkYWxhbSAweCVseCBieXRlcyBkYXJpICVzXG4iCisKKyM6IHJlYWRlbGYuYzo2NDIKK21zZ2lkICJEb24ndCBrbm93IGFib3V0IHJlbG9jYXRpb25zIG9uIHRoaXMgbWFjaGluZSBhcmNoaXRlY3R1cmVcbiIKK21zZ3N0ciAiVGlkYWsgdGFodSBtZW5nZW5haSByZWxva2FzaSBkaSBhcnNpdGVrdHVyIG1lc2luIGluaVxuIgorCisjOiByZWFkZWxmLmM6NjYyIHJlYWRlbGYuYzo2OTAgcmVhZGVsZi5jOjc1NiByZWFkZWxmLmM6Nzg0Cittc2dpZCAicmVsb2NzIgorbXNnc3RyICJyZWxva2FzaSIKKworIzogcmVhZGVsZi5jOjY3MyByZWFkZWxmLmM6NzAxIHJlYWRlbGYuYzo3NjcgcmVhZGVsZi5jOjc5NQorbXNnaWQgIm91dCBvZiBtZW1vcnkgcGFyc2luZyByZWxvY3NcbiIKK21zZ3N0ciAia2VoYWJpc2FuIG1lbW9yaSBwYXJzaW5nIHJlbG9rYXNpXG4iCisKKyM6IHJlYWRlbGYuYzo5MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIE9mZnNldCAgICAgSW5mbyAgICBUeXBlICAgICAgICAgICAgICAgIFN5bS4gVmFsdWUgIFN5bWJvbCdzIE5hbWUgKyBBZGRlbmRcbiIKK21zZ3N0ciAiIE9mc2V0ICAgICAgSW5mbyAgICBUaXBlICAgICAgICAgICAgICAgIFNpbS4gTmlsYWkgIE5hbWEgU2ltYm9sICAgKyBBZGRlbmRcbiIKKworIzogcmVhZGVsZi5jOjkwMworIywgYy1mb3JtYXQKK21zZ2lkICIgT2Zmc2V0ICAgICBJbmZvICAgIFR5cGUgICAgICAgICAgICBTeW0uVmFsdWUgIFN5bS4gTmFtZSArIEFkZGVuZFxuIgorbXNnc3RyICIgT2ZzZXQgICAgICBJbmZvICAgIFRpcGUgICAgICAgICAgICBOaWxhaS5TaW0gIE5hbWEgU2ltICArIEFkZGVuZFxuIgorCisjOiByZWFkZWxmLmM6OTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiBPZmZzZXQgICAgIEluZm8gICAgVHlwZSAgICAgICAgICAgICAgICBTeW0uIFZhbHVlICBTeW1ib2wncyBOYW1lXG4iCittc2dzdHIgIiBPZnNldCAgICAgIEluZm8gICAgVGlwZSAgICAgICAgICAgICAgICBOaWxhaSBTaW0gICBOYW1hIFNpbWJvbFxuIgorCisjOiByZWFkZWxmLmM6OTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiBPZmZzZXQgICAgIEluZm8gICAgVHlwZSAgICAgICAgICAgIFN5bS5WYWx1ZSAgU3ltLiBOYW1lXG4iCittc2dzdHIgIiBPZnNldCAgICAgIEluZm8gICAgVGlwZSAgICAgICAgICAgIE5pbGFpLlNpbSAgTmFtYSBTaW0uXG4iCisKKyM6IHJlYWRlbGYuYzo5MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgIE9mZnNldCAgICAgICAgICAgICBJbmZvICAgICAgICAgICAgIFR5cGUgICAgICAgICAgICAgICBTeW1ib2wncyBWYWx1ZSAgU3ltYm9sJ3MgTmFtZSArIEFkZGVuZFxuIgorbXNnc3RyICIgICAgT2ZzZXQgICAgICAgICAgICAgIEluZm8gICAgICAgICAgICAgVGlwZSAgICAgICAgICAgICAgIE5pbGFpIFNpbWJvbCAgIE5hbWEgU2ltYm9sICsgQWRkZW5kXG4iCisKKyM6IHJlYWRlbGYuYzo5MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBPZmZzZXQgICAgICAgICAgSW5mbyAgICAgICAgICAgVHlwZSAgICAgICAgICAgU3ltLiBWYWx1ZSAgICBTeW0uIE5hbWUgKyBBZGRlbmRcbiIKK21zZ3N0ciAiICBPZnNldCAgICAgICAgICAgSW5mbyAgICAgICAgICAgVGlwZSAgICAgICAgICAgTmlsYWkgU2ltLiAgICBOYW1hIFNpbS4gKyBBZGRlbmRcbiIKKworIzogcmVhZGVsZi5jOjkyNQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgT2Zmc2V0ICAgICAgICAgICAgIEluZm8gICAgICAgICAgICAgVHlwZSAgICAgICAgICAgICAgIFN5bWJvbCdzIFZhbHVlICBTeW1ib2wncyBOYW1lXG4iCittc2dzdHIgIiAgICBPZnNldCAgICAgICAgICAgICAgSW5mbyAgICAgICAgICAgICBUaXBlICAgICAgICAgICAgICAgTmlsYWkgU2ltYm9sIE5hbWEgU2ltYm9sXG4iCisKKyM6IHJlYWRlbGYuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBPZmZzZXQgICAgICAgICAgSW5mbyAgICAgICAgICAgVHlwZSAgICAgICAgICAgU3ltLiBWYWx1ZSAgICBTeW0uIE5hbWVcbiIKK21zZ3N0ciAiICBPZnNldCAgICAgICAgICAgSW5mbyAgICAgICAgICAgVGlwZSAgICAgICAgICAgTmlsYWkgU2ltLiAgICBOYW1hIFNpbS5cbiIKKworIzogcmVhZGVsZi5jOjEyMDQgcmVhZGVsZi5jOjEzMjQgcmVhZGVsZi5jOjEzMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkOiAlLTdseCIKK21zZ3N0ciAidGlkYWsgZGlrZW5hbDogJS03bHgiCisKKyM6IHJlYWRlbGYuYzoxMjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIjx1bmtub3duIGFkZGVuZDogJWx4PiIKK21zZ3N0ciAiPHRpZGFrIGRpa2VuYWwgYWRkZW5kOiAlbHg+IgorCisjOiByZWFkZWxmLmM6MTI4OQorIywgYy1mb3JtYXQKK21zZ2lkICI8c3RyaW5nIHRhYmxlIGluZGV4OiAlM2xkPiIKK21zZ3N0ciAiPHN0cmluZyB0YWJlbCBpbmRla3M6ICUzbGQ+IgorCisjOiByZWFkZWxmLmM6MTI5MQorIywgYy1mb3JtYXQKK21zZ2lkICI8Y29ycnVwdCBzdHJpbmcgdGFibGUgaW5kZXg6ICUzbGQ+IgorbXNnc3RyICI8a29ydXAgaW5kZWtzIHRhYmVsIHN0cmluZzogJTNsZD4iCisKKyM6IHJlYWRlbGYuYzoxNjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIlByb2Nlc3NvciBTcGVjaWZpYzogJWx4IgorbXNnc3RyICJQcm9zZXNvciBTcGVzaWZpazogJWx4IgorCisjOiByZWFkZWxmLmM6MTY4MQorIywgYy1mb3JtYXQKK21zZ2lkICJPcGVyYXRpbmcgU3lzdGVtIHNwZWNpZmljOiAlbHgiCittc2dzdHIgIlNpc3RlbSBPcGVyYXNpIHNwZXNpZmlrOiAlbHgiCisKKyM6IHJlYWRlbGYuYzoxNjg1IHJlYWRlbGYuYzoyNTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIjx1bmtub3duPjogJWx4IgorbXNnc3RyICI8dGlkYWsgZGlrZXRhaHVpPjogJWx4IgorCisjOiByZWFkZWxmLmM6MTY5OAorbXNnaWQgIk5PTkUgKE5vbmUpIgorbXNnc3RyICJLT1NPTkcgKEtvc29uZykiCisKKyM6IHJlYWRlbGYuYzoxNjk5Cittc2dpZCAiUkVMIChSZWxvY2F0YWJsZSBmaWxlKSIKK21zZ3N0ciAiUkVMIChCZXJrYXMgZGFwYXQgZGlyZWxva2FzaSkiCisKKyM6IHJlYWRlbGYuYzoxNzAwCittc2dpZCAiRVhFQyAoRXhlY3V0YWJsZSBmaWxlKSIKK21zZ3N0ciAiRVhFQyAoQmVya2FzIGRhcGF0IGRpZWtzZWt1c2kpIgorCisjOiByZWFkZWxmLmM6MTcwMQorbXNnaWQgIkRZTiAoU2hhcmVkIG9iamVjdCBmaWxlKSIKK21zZ3N0ciAiRFlOIChCZXJrYXMgb2JqZWsgdGVyYmFnaSkiCisKKyM6IHJlYWRlbGYuYzoxNzAyCittc2dpZCAiQ09SRSAoQ29yZSBmaWxlKSIKK21zZ3N0ciAiQ09SRSAoQmVya2FzIGNvcmUpIgorCisjOiByZWFkZWxmLmM6MTcwNgorIywgYy1mb3JtYXQKK21zZ2lkICJQcm9jZXNzb3IgU3BlY2lmaWM6ICgleCkiCittc2dzdHIgIlByb3Nlc29yIFNwZXNpZmlrOiAoJXgpIgorCisjOiByZWFkZWxmLmM6MTcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJPUyBTcGVjaWZpYzogKCV4KSIKK21zZ3N0ciAiT1MgU3Blc2lmaWs6ICgleCkiCisKKyM6IHJlYWRlbGYuYzoxNzEwIHJlYWRlbGYuYzoyNzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIjx1bmtub3duPjogJXgiCittc2dzdHIgIjx0aWRhayBkaWtlbmFsPjogJXgiCisKKyM6IHJlYWRlbGYuYzoxNzIyCittc2dpZCAiTm9uZSIKK21zZ3N0ciAiS29zb25nIgorCisjOiByZWFkZWxmLmM6MTgyOQorIywgYy1mb3JtYXQKK21zZ2lkICI8dW5rbm93bj46IDB4JXgiCittc2dzdHIgIjx0aWRhayBkaWtlbmFsPjogMHgleCIKKworIzogcmVhZGVsZi5jOjIwODYKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJ0aWRhayBkaWtlbmFsIgorCisjOiByZWFkZWxmLmM6MjA4NworbXNnaWQgInVua25vd24gbWFjIgorbXNnc3RyICJ0aWRhayBkaWtlbmFsIG1hYyIKKworIzogcmVhZGVsZi5jOjIzOTkKK21zZ2lkICJTdGFuZGFsb25lIEFwcCIKK21zZ3N0ciAiU3RhbmRhbG9uZSBBcHAiCisKKyM6IHJlYWRlbGYuYzoyNDAyIHJlYWRlbGYuYzozMjIxIHJlYWRlbGYuYzozMjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIjx1bmtub3duOiAleD4iCittc2dzdHIgIjx0aWRhayBkaWtlbmFsOiAleD4iCisKKyM6IHJlYWRlbGYuYzoyODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiByZWFkZWxmIDxvcHRpb24ocyk+IGVsZi1maWxlKHMpXG4iCittc2dzdHIgIlBlbmdndW5hYW46IHJlYWRlbGYgPG9wc2k+IGJlcmthcy1lbGZcbiIKKworIzogcmVhZGVsZi5jOjI4MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIERpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbnRlbnRzIG9mIEVMRiBmb3JtYXQgZmlsZXNcbiIKK21zZ3N0ciAiIE1lbmFtcGlsa2FuIGluZm9ybWFzaSBtZW5nZW5haSBpc2kgZGFyaSBiZXJrYXMgZm9ybWF0IEVMRlxuIgorCisjOiByZWFkZWxmLmM6MjgyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIE9wdGlvbnMgYXJlOlxuIgorIiAgLWEgLS1hbGwgICAgICAgICAgICAgICBFcXVpdmFsZW50IHRvOiAtaCAtbCAtUyAtcyAtciAtZCAtViAtQSAtSVxuIgorIiAgLWggLS1maWxlLWhlYWRlciAgICAgICBEaXNwbGF5IHRoZSBFTEYgZmlsZSBoZWFkZXJcbiIKKyIgIC1sIC0tcHJvZ3JhbS1oZWFkZXJzICAgRGlzcGxheSB0aGUgcHJvZ3JhbSBoZWFkZXJzXG4iCisiICAgICAtLXNlZ21lbnRzICAgICAgICAgIEFuIGFsaWFzIGZvciAtLXByb2dyYW0taGVhZGVyc1xuIgorIiAgLVMgLS1zZWN0aW9uLWhlYWRlcnMgICBEaXNwbGF5IHRoZSBzZWN0aW9ucycgaGVhZGVyXG4iCisiICAgICAtLXNlY3Rpb25zICAgICAgICAgIEFuIGFsaWFzIGZvciAtLXNlY3Rpb24taGVhZGVyc1xuIgorIiAgLWcgLS1zZWN0aW9uLWdyb3VwcyAgICBEaXNwbGF5IHRoZSBzZWN0aW9uIGdyb3Vwc1xuIgorIiAgLXQgLS1zZWN0aW9uLWRldGFpbHMgICBEaXNwbGF5IHRoZSBzZWN0aW9uIGRldGFpbHNcbiIKKyIgIC1lIC0taGVhZGVycyAgICAgICAgICAgRXF1aXZhbGVudCB0bzogLWggLWwgLVNcbiIKKyIgIC1zIC0tc3ltcyAgICAgICAgICAgICAgRGlzcGxheSB0aGUgc3ltYm9sIHRhYmxlXG4iCisiICAgICAgLS1zeW1ib2xzICAgICAgICAgIEFuIGFsaWFzIGZvciAtLXN5bXNcbiIKKyIgIC1uIC0tbm90ZXMgICAgICAgICAgICAgRGlzcGxheSB0aGUgY29yZSBub3RlcyAoaWYgcHJlc2VudClcbiIKKyIgIC1yIC0tcmVsb2NzICAgICAgICAgICAgRGlzcGxheSB0aGUgcmVsb2NhdGlvbnMgKGlmIHByZXNlbnQpXG4iCisiICAtdSAtLXVud2luZCAgICAgICAgICAgIERpc3BsYXkgdGhlIHVud2luZCBpbmZvIChpZiBwcmVzZW50KVxuIgorIiAgLWQgLS1keW5hbWljICAgICAgICAgICBEaXNwbGF5IHRoZSBkeW5hbWljIHNlY3Rpb24gKGlmIHByZXNlbnQpXG4iCisiICAtViAtLXZlcnNpb24taW5mbyAgICAgIERpc3BsYXkgdGhlIHZlcnNpb24gc2VjdGlvbnMgKGlmIHByZXNlbnQpXG4iCisiICAtQSAtLWFyY2gtc3BlY2lmaWMgICAgIERpc3BsYXkgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGluZm9ybWF0aW9uIChpZiBhbnkpLlxuIgorIiAgLWMgLS1hcmNoaXZlLWluZGV4ICAgICBEaXNwbGF5IHRoZSBzeW1ib2wvZmlsZSBpbmRleCBpbiBhbiBhcmNoaXZlXG4iCisiICAtRCAtLXVzZS1keW5hbWljICAgICAgIFVzZSB0aGUgZHluYW1pYyBzZWN0aW9uIGluZm8gd2hlbiBkaXNwbGF5aW5nIHN5bWJvbHNcbiIKKyIgIC14IC0taGV4LWR1bXA9PG51bWJlcnxuYW1lPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBEdW1wIHRoZSBjb250ZW50cyBvZiBzZWN0aW9uIDxudW1iZXJ8bmFtZT4gYXMgYnl0ZXNcbiIKKyIgIC1wIC0tc3RyaW5nLWR1bXA9PG51bWJlcnxuYW1lPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBEdW1wIHRoZSBjb250ZW50cyBvZiBzZWN0aW9uIDxudW1iZXJ8bmFtZT4gYXMgc3RyaW5nc1xuIgorIiAgLXdbbExpYXBybWZGc29SXSBvclxuIgorIiAgLS1kZWJ1Zy1kdW1wWz1yYXdsaW5lLD1kZWNvZGVkbGluZSw9aW5mbyw9YWJicmV2LD1wdWJuYW1lcyw9YXJhbmdlcyw9bWFjcm8sPWZyYW1lcyw9c3RyLD1sb2MsPVJhbmdlc11cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSB0aGUgY29udGVudHMgb2YgRFdBUkYyIGRlYnVnIHNlY3Rpb25zXG4iCittc2dzdHIgIiIKKyIgT3BzaSBhZGFsYWg6XG4iCisiICAtYSAtLWFsbCAgICAgICAgICAgICAgIFNhbWEgZGVuZ2FuOiAtaCAtbCAtUyAtcyAtciAtZCAtViAtQSAtSVxuIgorIiAgLWggLS1maWxlLWhlYWRlciAgICAgICBUYW1waWxrYW4gRUxGIGZpbGUgaGVhZGVyXG4iCisiICAtbCAtLXByb2dyYW0taGVhZGVycyAgIFRhbXBpbGthbiBwcm9ncmFtIGhlYWRlclxuIgorIiAgICAgLS1zZWdtZW50cyAgICAgICAgICBTZWJ1YWggYWxpYXMgdW50dWsgLS1wcm9ncmFtLWhlYWRlcnNcbiIKKyIgIC1TIC0tc2VjdGlvbi1oZWFkZXJzICAgVGFtcGlsa2FuIHNlY3Rpb24gaGVhZGVyc1xuIgorIiAgICAgLS1zZWN0aW9ucyAgICAgICAgICBTZWJ1YWggYWxpYXMgdW50dWsgLS1zZWN0aW9uLWhlYWRlcnNcbiIKKyIgIC1nIC0tc2VjdGlvbi1ncm91cHMgICAgVGFtcGlsa2FuIHNlY3Rpb24gZ3JvdXBzXG4iCisiICAtdCAtLXNlY3Rpb24tZGV0YWlscyAgIFRhbXBpbGthbiBkZXRhaWwgZGFlcmFoXG4iCisiICAtZSAtLWhlYWRlcnMgICAgICAgICAgIFNhbWEgZGVuZ2FuOiAtaCAtbCAtU1xuIgorIiAgLXMgLS1zeW1zICAgICAgICAgICAgICBUYW1waWxrYW4gdGFiZWwgc2ltYm9sXG4iCisiICAgICAtLXN5bWJvbHMgICAgICAgICAgIFNlYnVhaCBhbGlhcyB1bnR1ayAtLXN5bXNcbiIKKyIgIC1uIC0tbm90ZXMgICAgICAgICAgICAgVGFtcGlsa2FuIGNvcmUgbm90ZXMgKGppa2EgYWRhKVxuIgorIiAgLXIgLS1yZWxvY3MgICAgICAgICAgICBUYW1waWxrYW4gcmVsb2thc2kgKGppa2EgYWRhKVxuIgorIiAgLXUgLS11bndpbmQgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHVud2luZCAoamlrYSBhZGEpXG4iCisiICAtZCAtLWR5bmFtaWMgICAgICAgICAgIFRhbXBpbGthbiBkYWVyYWggZGluYW1pcyAoamlrYSBhZGEpXG4iCisiICAtViAtLXZlcnNpb24taW5mbyAgICAgIFRhbXBpbGthbiBkYWVyYWggdmVyc2kgKGppa2EgYWRhKVxuIgorIiAgLUEgLS1hcmNoLXNwZWNpZmljICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHNwZXNpZmlrIGFyc2l0ZWt0dXIgKGppa2EgYWRhKS5cbiIKKyIgIC1jIC0tYXJjaGl2ZS1pbmRleCAgICAgVGFtcGlsa2FuIHNpbWJvbC9iZXJrYXMgaW5kZWtzIGRhbGFtIHNlYnVhaCBhcmNoaXZlXG4iCisiICAtRCAtLXVzZS1keW5hbWljICAgICAgIEd1bmFrYW4gaW5mb3JtYXNpIGRhZXJhaCBkaW5hbWlzIGtldGlrYSBtZW5hbXBpbGthbiBzaW1ib2xcbiIKKyIgIC14IC0taGV4LWR1bXA9PG5vbW9yfG5hbWE+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIER1bXAgaXNpIGRhcmkgZGFlcmFoIDxub21vcnxuYW1hPiBzZWJhZ2FpIGJ5dGVzXG4iCisiICAtcCAtLXN0cmluZy1kdW1wPTxub21vcnxuYW1hPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBEdW1wIGlzaSBkYXJpIGRhZXJhaCA8bm9tb3J8bmFtYT4gc2ViYWdhaSBzdHJpbmdzXG4iCisiICAtd1tsTGlhcHJtZkZzb1JdIGF0YXVcbiIKKyIgIC0tZGVidWctZHVtcFs9cmF3bGluZSw9ZGVjb2RlZGxpbmUsPWluZm8sPWFiYnJldiw9cHVibmFtZXMsPWFyYW5nZXMsPW1hY3JvLD1mcmFtZXMsPXN0ciw9bG9jLD1SYW5nZXNdXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpc2kgZGFyaSBkYWVyYWggZGVidWcgRFdBUkYyXG4iCisKKyM6IHJlYWRlbGYuYzoyODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIC1pIC0taW5zdHJ1Y3Rpb24tZHVtcD08bnVtYmVyfG5hbWU+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIERpc2Fzc2VtYmxlIHRoZSBjb250ZW50cyBvZiBzZWN0aW9uIDxudW1iZXJ8bmFtZT5cbiIKK21zZ3N0ciAiIgorIiAgLWkgLS1pbnN0cnVjdGlvbi1kdW1wPTxub21vcnxuYW1hPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBCb25na2FyIGlzaSBkYXJpIGRhZXJhaCA8bm9tb3J8bmFtYT5cbiIKKworIzogcmVhZGVsZi5jOjI4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgLUkgLS1oaXN0b2dyYW0gICAgICAgICBEaXNwbGF5IGhpc3RvZ3JhbSBvZiBidWNrZXQgbGlzdCBsZW5ndGhzXG4iCisiICAtVyAtLXdpZGUgICAgICAgICAgICAgIEFsbG93IG91dHB1dCB3aWR0aCB0byBleGNlZWQgODAgY2hhcmFjdGVyc1xuIgorIiAgQDxmaWxlPiAgICAgICAgICAgICAgICBSZWFkIG9wdGlvbnMgZnJvbSA8ZmlsZT5cbiIKKyIgIC1IIC0taGVscCAgICAgICAgICAgICAgRGlzcGxheSB0aGlzIGluZm9ybWF0aW9uXG4iCisiICAtdiAtLXZlcnNpb24gICAgICAgICAgIERpc3BsYXkgdGhlIHZlcnNpb24gbnVtYmVyIG9mIHJlYWRlbGZcbiIKK21zZ3N0ciAiIgorIiAgLUkgLS1oaXN0b2dyYW0gICAgICAgICBUYW1waWxrYW4gaGlzdG9ncmFtIGRhcmkgZGFmdGFyIHBhbmphbmcgYnVja2V0XG4iCisiICAtVyAtLXdpZGUgICAgICAgICAgICAgIElqaW5rYW4gbGViYXIga2VsdWFyYW4gdW50dWsgbWVsZWJpaGkgODAga2FyYWt0ZXJcbiIKKyIgIEA8YmVya2FzPiAgICAgICAgICAgICAgQmFjYSBvcHNpIGRhcmkgPGJlcmthcz5cbiIKKyIgIC1IIC0taGVscCAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSBpbmlcbiIKKyIgIC12IC0tdmVyc2lvbiAgICAgICAgICAgVGFtcGlsa2FuIG5vbW9yIHZlcnNpIGRhcmkgcmVhZGVsZlxuIgorCisjOiByZWFkZWxmLmM6Mjg4OCByZWFkZWxmLmM6MjkxNiByZWFkZWxmLmM6MjkyMCByZWFkZWxmLmM6MTEwMDcKK21zZ2lkICJPdXQgb2YgbWVtb3J5IGFsbG9jYXRpbmcgZHVtcCByZXF1ZXN0IHRhYmxlLlxuIgorbXNnc3RyICJLZWhhYmlzYW4gbWVtb3JpIG1lbmdhbG9rYXNpa2FuIHBlcm1pbnRhYW4gZHVtcCB0YWJlbC5cbiIKKworIzogcmVhZGVsZi5jOjMwOTAgcmVhZGVsZi5jOjMxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5yZWNvZ25pemVkIGRlYnVnIG9wdGlvbiAnJXMnXG4iCittc2dzdHIgIk9wc2kgZGVidWcgJyVzJyB0aWRhayBkaWtlbmFsXG4iCisKKyM6IHJlYWRlbGYuYzozMTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3B0aW9uICctJWMnXG4iCittc2dzdHIgIk9wc2kgdGlkYWsgdmFsaWQgJy0lYydcbiIKKworIzogcmVhZGVsZi5jOjMyMDUKK21zZ2lkICJOb3RoaW5nIHRvIGRvLlxuIgorbXNnc3RyICJUaWRhayBhZGEgeWFuZyBkaWxha3VrYW4uXG4iCisKKyM6IHJlYWRlbGYuYzozMjE3IHJlYWRlbGYuYzozMjMzIHJlYWRlbGYuYzo2NDk1Cittc2dpZCAibm9uZSIKK21zZ3N0ciAia29zb25nIgorCisjOiByZWFkZWxmLmM6MzIzNAorbXNnaWQgIjIncyBjb21wbGVtZW50LCBsaXR0bGUgZW5kaWFuIgorbXNnc3RyICIyJ3Mga29tcGxlbWVuLCBsaXR0bGUgZW5kaWFuIgorCisjOiByZWFkZWxmLmM6MzIzNQorbXNnaWQgIjIncyBjb21wbGVtZW50LCBiaWcgZW5kaWFuIgorbXNnc3RyICIyJ3Mga29tcGxlbWVuLCBiaWcgZW5kaWFuIgorCisjOiByZWFkZWxmLmM6MzI1MworbXNnaWQgIk5vdCBhbiBFTEYgZmlsZSAtIGl0IGhhcyB0aGUgd3JvbmcgbWFnaWMgYnl0ZXMgYXQgdGhlIHN0YXJ0XG4iCittc2dzdHIgIkJ1a2FuIHNlYnVhaCBiZXJrYXMgRUxGIC0gaW5pIG1lbWlsaWtpIG1hZ2ljIGJ5dGVzIHlhbmcgc2FsYWggZGkgYXdhbFxuIgorCisjOiByZWFkZWxmLmM6MzI2MworIywgYy1mb3JtYXQKK21zZ2lkICJFTEYgSGVhZGVyOlxuIgorbXNnc3RyICJFTEYgSGVhZGVyOlxuIgorCisjOiByZWFkZWxmLmM6MzI2NAorIywgYy1mb3JtYXQKK21zZ2lkICIgIE1hZ2ljOiAgICIKK21zZ3N0ciAiICBNYWdpazogICAiCisKKyM6IHJlYWRlbGYuYzozMjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgQ2xhc3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlc1xuIgorbXNnc3RyICIgIEtlbGFzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIKKworIzogcmVhZGVsZi5jOjMyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBEYXRhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVzXG4iCittc2dzdHIgIiAgRGF0YTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlc1xuIgorCisjOiByZWFkZWxmLmM6MzI3MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIFZlcnNpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgJWQgJXNcbiIKK21zZ3N0ciAiICBWZXJzaTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICVkICVzXG4iCisKKyM6IHJlYWRlbGYuYzozMjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgT1MvQUJJOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAlc1xuIgorbXNnc3RyICIgIE9TL0FCSTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIKKworIzogcmVhZGVsZi5jOjMyODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBBQkkgVmVyc2lvbjogICAgICAgICAgICAgICAgICAgICAgICVkXG4iCittc2dzdHIgIiAgVmVyc2kgQUJJOiAgICAgICAgICAgICAgICAgICAgICAgICAlZFxuIgorCisjOiByZWFkZWxmLmM6MzI4MworIywgYy1mb3JtYXQKK21zZ2lkICIgIFR5cGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIKK21zZ3N0ciAiICBUaXBlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVzXG4iCisKKyM6IHJlYWRlbGYuYzozMjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgTWFjaGluZTogICAgICAgICAgICAgICAgICAgICAgICAgICAlc1xuIgorbXNnc3RyICIgIE1lc2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIKKworIzogcmVhZGVsZi5jOjMyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBWZXJzaW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4JWx4XG4iCittc2dzdHIgIiAgVmVyc2k6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweCVseFxuIgorCisjOiByZWFkZWxmLmM6MzI5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIEVudHJ5IHBvaW50IGFkZHJlc3M6ICAgICAgICAgICAgICAgIgorbXNnc3RyICIgIEFsYW1hdCB0aXRpayBtYXN1azogICAgICAgICAgICAgICAgIgorCisjOiByZWFkZWxmLmM6MzI5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiICBTdGFydCBvZiBwcm9ncmFtIGhlYWRlcnM6ICAgICAgICAgICIKK21zZ3N0ciAiIgorIlxuIgorIiAgQXdhbCBkYXJpIGFwbGlrYXNpIGhlYWRlcnM6ICAgICAgICAgIgorCisjOiByZWFkZWxmLmM6MzI5NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIChieXRlcyBpbnRvIGZpbGUpXG4iCisiICBTdGFydCBvZiBzZWN0aW9uIGhlYWRlcnM6ICAgICAgICAgICIKK21zZ3N0ciAiIgorIiAoYnl0ZXMga2VkYWxhbSBiZXJrYXMpXG4iCisiICBBd2FsIGRhcmkgaGVhZGVyIGJhZ2lhbjogICAgICAgICAgICIKKworIzogcmVhZGVsZi5jOjMyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIChieXRlcyBpbnRvIGZpbGUpXG4iCittc2dzdHIgIiAoYnl0ZXMga2VkYWxhbSBiZXJrYXMpXG4iCisKKyM6IHJlYWRlbGYuYzozMjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgRmxhZ3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweCVseCVzXG4iCittc2dzdHIgIiAgVGFuZGE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweCVseCVzXG4iCisKKyM6IHJlYWRlbGYuYzozMzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgU2l6ZSBvZiB0aGlzIGhlYWRlcjogICAgICAgICAgICAgICAlbGQgKGJ5dGVzKVxuIgorbXNnc3RyICIgIFVrdXJhbiBkYXJpIGhlYWRlciBpbmk6ICAgICAgICAgICAgJWxkIChieXRlcylcbiIKKworIzogcmVhZGVsZi5jOjMzMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBTaXplIG9mIHByb2dyYW0gaGVhZGVyczogICAgICAgICAgICVsZCAoYnl0ZXMpXG4iCittc2dzdHIgIiAgVWt1cmFuIGRhcmkgYXBsaWthc2kgaGVhZGVyOiAgICAgICAlbGQgKGJ5dGVzKVxuIgorCisjOiByZWFkZWxmLmM6MzMwNQorIywgYy1mb3JtYXQKK21zZ2lkICIgIE51bWJlciBvZiBwcm9ncmFtIGhlYWRlcnM6ICAgICAgICAgJWxkXG4iCittc2dzdHIgIiAgSnVtbGFoIGRhcmkgYXBsaWthc2kgaGVhZGVyOiAgICAgICAlbGRcbiIKKworIzogcmVhZGVsZi5jOjMzMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBTaXplIG9mIHNlY3Rpb24gaGVhZGVyczogICAgICAgICAgICVsZCAoYnl0ZXMpXG4iCittc2dzdHIgIiAgVWt1cmFuIGRhcmkgaGVhZGVyIGRhZXJhaDogICAgICAgICAlbGQgKGJ5dGVzKVxuIgorCisjOiByZWFkZWxmLmM6MzMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIE51bWJlciBvZiBzZWN0aW9uIGhlYWRlcnM6ICAgICAgICAgJWxkIgorbXNnc3RyICIgIEp1bWxhaCBkYXJpIGhlYWRlciBkYWVyYWg6ICAgICAgICAgJWxkIgorCisjOiByZWFkZWxmLmM6MzMxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgIFNlY3Rpb24gaGVhZGVyIHN0cmluZyB0YWJsZSBpbmRleDogJWxkIgorbXNnc3RyICIgIEluZGVrcyB0YWJlbCBzdHJpbmcgZGFlcmFoIGhlYWRlcjogJWxkIgorCisjOiByZWFkZWxmLmM6MzM1MCByZWFkZWxmLmM6MzM4MworbXNnaWQgInByb2dyYW0gaGVhZGVycyIKK21zZ3N0ciAiYXBsaWthc2kgaGVhZGVyIgorCisjOiByZWFkZWxmLmM6MzQyMSByZWFkZWxmLmM6MzcxOSByZWFkZWxmLmM6Mzc2MCByZWFkZWxmLmM6MzgxOSByZWFkZWxmLmM6Mzg4NAorIzogcmVhZGVsZi5jOjQ1NTMgcmVhZGVsZi5jOjQ1NzcgcmVhZGVsZi5jOjU4MjcgcmVhZGVsZi5jOjU4NzEgcmVhZGVsZi5jOjYwNjkKKyM6IHJlYWRlbGYuYzo3MTI3IHJlYWRlbGYuYzo3MTQxIHJlYWRlbGYuYzo3NjM1IHJlYWRlbGYuYzo3NjUxIHJlYWRlbGYuYzo3Njk0CisjOiByZWFkZWxmLmM6NzcxOSByZWFkZWxmLmM6OTQ3NSByZWFkZWxmLmM6OTY2NyByZWFkZWxmLmM6MTAxOTQKKyM6IHJlYWRlbGYuYzoxMDg1NworbXNnaWQgIk91dCBvZiBtZW1vcnlcbiIKK21zZ3N0ciAiS2VoYWJpc2FuIG1lbW9yaVxuIgorCisjOiByZWFkZWxmLmM6MzQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVGhlcmUgYXJlIG5vIHByb2dyYW0gaGVhZGVycyBpbiB0aGlzIGZpbGUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaWRhayBhZGEgYXBsaWthc2kgaGVhZGVyIGRhbGFtIGJlcmthcyBpbmkuXG4iCisKKyM6IHJlYWRlbGYuYzozNDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJFbGYgZmlsZSB0eXBlIGlzICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaXBlIGJlcmthcyBFTEYgYWRhbGFoICVzXG4iCisKKyM6IHJlYWRlbGYuYzozNDU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkVudHJ5IHBvaW50ICIKK21zZ3N0ciAiVGl0aWsgbWFzdWthbiAiCisKKyM6IHJlYWRlbGYuYzozNDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJUaGVyZSBhcmUgJWQgcHJvZ3JhbSBoZWFkZXJzLCBzdGFydGluZyBhdCBvZmZzZXQgIgorbXNnc3RyICIiCisiXG4iCisiVGlkYWsgYWRhICVkIGFwbGlrYXNpIGhlYWRlciwgZGltdWxhaSBkaSBvZnNldCAiCisKKyM6IHJlYWRlbGYuYzozNDY5IHJlYWRlbGYuYzozNDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJQcm9ncmFtIEhlYWRlcnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBcGxpa2FzaSBoZWFkZXI6XG4iCisKKyM6IHJlYWRlbGYuYzozNDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgVHlwZSAgICAgICAgICAgT2Zmc2V0ICAgVmlydEFkZHIgICBQaHlzQWRkciAgIEZpbGVTaXogTWVtU2l6ICBGbGcgQWxpZ25cbiIKK21zZ3N0ciAiICBUaXBlICAgICAgICAgICBPZnNldCAgICBBbGFtYXRNYXlhIEFsYW1hdFBpc2lrIFVrdXJhbkJlcmthcyBVa3VyYW5NZW1vcmkgRmxnIEFsaWduXG4iCisKKyM6IHJlYWRlbGYuYzozNDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgVHlwZSAgICAgICAgICAgT2Zmc2V0ICAgVmlydEFkZHIgICAgICAgICAgIFBoeXNBZGRyICAgICAgICAgICBGaWxlU2l6ICBNZW1TaXogICBGbGcgQWxpZ25cbiIKK21zZ3N0ciAiICBUaXBlICAgICAgICAgICBPZnNldCAgICBBbGFtYXRNYXlhICAgICAgICAgQWxhbWF0UGlzaWsgICAgICAgIFVrdXJhbkJlcmthcyBVa3VyYW5NZW1vcmkgRmxnIEFsaWduXG4iCisKKyM6IHJlYWRlbGYuYzozNDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgVHlwZSAgICAgICAgICAgT2Zmc2V0ICAgICAgICAgICAgIFZpcnRBZGRyICAgICAgICAgICBQaHlzQWRkclxuIgorbXNnc3RyICIgIFRpcGUgICAgICAgICAgIE9mc2V0ICAgICAgICAgICAgICBBbGFtYXRNYXlhICAgICAgICAgQWxhbWF0UGlzaWtcbiIKKworIzogcmVhZGVsZi5jOjM0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICBGaWxlU2l6ICAgICAgICAgICAgTWVtU2l6ICAgICAgICAgICAgICBGbGFncyAgQWxpZ25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICBVa3VyYW5CZXJrYXMgICAgICAgVWt1cmFuTWVtb3JpICAgICAgICBUYW5kYSAgQWxpZ25cbiIKKworIzogcmVhZGVsZi5jOjM1NzcKK21zZ2lkICJtb3JlIHRoYW4gb25lIGR5bmFtaWMgc2VnbWVudFxuIgorbXNnc3RyICJsZWJpaCBkYXJpIHNhdHUgYXJndW1lbiBkaW5hbWlzXG4iCisKKyM6IHJlYWRlbGYuYzozNTkzCittc2dpZCAibm8gLmR5bmFtaWMgc2VjdGlvbiBpbiB0aGUgZHluYW1pYyBzZWdtZW50XG4iCittc2dzdHIgInRpZGFrIGFkYSBkYWVyYWggLmRpbmFtaXMgZGFsYW0gc2VnbWVuIGRpbmFtaXNcbiIKKworIzogcmVhZGVsZi5jOjM2MDgKK21zZ2lkICJ0aGUgLmR5bmFtaWMgc2VjdGlvbiBpcyBub3QgY29udGFpbmVkIHdpdGhpbiB0aGUgZHluYW1pYyBzZWdtZW50XG4iCittc2dzdHIgImRhZXJhaCBkaW5hbWlzIHRpZGFrIGJlcmlzaSBkYWxhbSBzZWdtZW4gZGluYW1pc1xuIgorCisjOiByZWFkZWxmLmM6MzYxMQorbXNnaWQgInRoZSAuZHluYW1pYyBzZWN0aW9uIGlzIG5vdCB0aGUgZmlyc3Qgc2VjdGlvbiBpbiB0aGUgZHluYW1pYyBzZWdtZW50LlxuIgorbXNnc3RyICJkYWVyYWggZGlubWFzaSBidWthbiBkYWVyYWggcGVydGFtYSBkYWxhbSBzZWdtZW4gZGluYW1pc1xuIgorCisjOiByZWFkZWxmLmM6MzYxOQorbXNnaWQgIlVuYWJsZSB0byBmaW5kIHByb2dyYW0gaW50ZXJwcmV0ZXIgbmFtZVxuIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5lbXVrYW4gbmFtYSBhcGxpa2FzaSBpbnRlcnByZXRhc2lcbiIKKworIzogcmVhZGVsZi5jOjM2MjYKK21zZ2lkICJJbnRlcm5hbCBlcnJvcjogZmFpbGVkIHRvIGNyZWF0ZSBmb3JtYXQgc3RyaW5nIHRvIGRpc3BsYXkgcHJvZ3JhbSBpbnRlcnByZXRlclxuIgorbXNnc3RyICJJbnRlcm5hbCBlcnJvcjogZ2FnYWwgbWVtYnVhdCBzdHJpbmcgZm9ybWF0IHVudHVrIG1lbmFtcGlsa2FuIGFwbGlrYXNpIGludGVycHJldGFzaVxuIgorCisjOiByZWFkZWxmLmM6MzYzMAorbXNnaWQgIlVuYWJsZSB0byByZWFkIHByb2dyYW0gaW50ZXJwcmV0ZXIgbmFtZVxuIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1iYWNhIG5hbWEgYXBsaWthc2kgaW50ZXJwcmV0YXNpXG4iCisKKyM6IHJlYWRlbGYuYzozNjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICBbUmVxdWVzdGluZyBwcm9ncmFtIGludGVycHJldGVyOiAlc10iCittc2dzdHIgIiIKKyJcbiIKKyIgICAgICBbTWVtaW50YSBhcGxpa2FzaSBpbnRlcnByZXRhc2k6ICVzXSIKKworIzogcmVhZGVsZi5jOjM2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiBTZWN0aW9uIHRvIFNlZ21lbnQgbWFwcGluZzpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiBQZW1ldGFhbiBkYWVyYWgga2Ugc2VnbWVuOlxuIgorCisjOiByZWFkZWxmLmM6MzY0NgorIywgYy1mb3JtYXQKK21zZ2lkICIgIFNlZ21lbnQgU2VjdGlvbnMuLi5cbiIKK21zZ3N0ciAiICBEYWVyYWggU2VnbWVuLi4uXG4iCisKKyM6IHJlYWRlbGYuYzozNjgxCittc2dpZCAiQ2Fubm90IGludGVycHJldCB2aXJ0dWFsIGFkZHJlc3NlcyB3aXRob3V0IHByb2dyYW0gaGVhZGVycy5cbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2ludGVycHJldGFzaWthbiBhbGFtYXQgbWF5YSB0YW5wYSBhcGxpa2FzaSBoZWFkZXIuXG4iCisKKyM6IHJlYWRlbGYuYzozNjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlZpcnR1YWwgYWRkcmVzcyAweCVseCBub3QgbG9jYXRlZCBpbiBhbnkgUFRfTE9BRCBzZWdtZW50LlxuIgorbXNnc3RyICJBbGFtYXQgbWF5YSAweCVseCB0aWRhayBkYXBhdCBkaWxva2FzaWthbiBkYWxhbSBzZWdtZW4gUFRfTE9BRCBhcGFwdW4uXG4iCisKKyM6IHJlYWRlbGYuYzozNzExIHJlYWRlbGYuYzozNzUyCittc2dpZCAic2VjdGlvbiBoZWFkZXJzIgorbXNnc3RyICJoZWFkZXIgZGFlcmFoIgorCisjOiByZWFkZWxmLmM6Mzc5NiByZWFkZWxmLmM6Mzg2MQorbXNnaWQgInN5bWJvbHMiCittc2dzdHIgInNpbWJvbCIKKworIzogcmVhZGVsZi5jOjM4MDYgcmVhZGVsZi5jOjM4NzEKK21zZ2lkICJzeW10YWIgc2huZHgiCittc2dzdHIgInNpbXRhYiBzaG5keCIKKworIzogcmVhZGVsZi5jOjQxMzAgcmVhZGVsZi5jOjQ1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlRoZXJlIGFyZSBubyBzZWN0aW9ucyBpbiB0aGlzIGZpbGUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaWRhayBhZGEgZGFlcmFoIGRhbGFtIGJlcmthcyBpbmkuXG4iCisKKyM6IHJlYWRlbGYuYzo0MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGFyZSAlZCBzZWN0aW9uIGhlYWRlcnMsIHN0YXJ0aW5nIGF0IG9mZnNldCAweCVseDpcbiIKK21zZ3N0ciAiVGlkYWsgYWRhIGhlYWRlciBkYWVyYWggJWQsIGRpbXVsYWkgZGkgb2ZzZXQgMHglbHg6XG4iCisKKyM6IHJlYWRlbGYuYzo0MTU2IHJlYWRlbGYuYzo0NjUzIHJlYWRlbGYuYzo0ODc5IHJlYWRlbGYuYzo1MTc4IHJlYWRlbGYuYzo1NTg0CisjOiByZWFkZWxmLmM6NzQ0NQorbXNnaWQgInN0cmluZyB0YWJsZSIKK21zZ3N0ciAidGFiZWwgc3RyaW5nIgorCisjOiByZWFkZWxmLmM6NDIyMworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0aW9uICVkIGhhcyBpbnZhbGlkIHNoX2VudHNpemUgJWx4IChleHBlY3RlZCAlbHgpXG4iCittc2dzdHIgIkRhZXJhaCAlZCBtZW1pbGlraSBzaF9lbnRzaXplICVseCB0aWRhayB2YWxpZCAoZGlkdWdhICVseClcbiIKKworIzogcmVhZGVsZi5jOjQyNDMKK21zZ2lkICJGaWxlIGNvbnRhaW5zIG11bHRpcGxlIGR5bmFtaWMgc3ltYm9sIHRhYmxlc1xuIgorbXNnc3RyICJCZXJrYXMgYmVyaXNpIG11bHRpcGxlIHRhYmVsIHNpbWJvbCBkaW5hbWlzXG4iCisKKyM6IHJlYWRlbGYuYzo0MjU2Cittc2dpZCAiRmlsZSBjb250YWlucyBtdWx0aXBsZSBkeW5hbWljIHN0cmluZyB0YWJsZXNcbiIKK21zZ3N0ciAiQmVya2FzIGJlcmlzaSBtdWx0aXBsZSB0YWJlbCBzdHJpbmcgZGluYW1pc1xuIgorCisjOiByZWFkZWxmLmM6NDI2MQorbXNnaWQgImR5bmFtaWMgc3RyaW5ncyIKK21zZ3N0ciAic3RyaW5nIGRpbmFtaXMiCisKKyM6IHJlYWRlbGYuYzo0MjY4Cittc2dpZCAiRmlsZSBjb250YWlucyBtdWx0aXBsZSBzeW10YWIgc2huZHggdGFibGVzXG4iCittc2dzdHIgIkJlcmtzYSBiZXJpc2kgbXVsdGlwbGUgc2ltdGFiIHNobmR4IHRhYmVsXG4iCisKKyM6IHJlYWRlbGYuYzo0MzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZWN0aW9uIEhlYWRlcnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJIZWFkZXIgRGFlcmFoOlxuIgorCisjOiByZWFkZWxmLmM6NDMyMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VjdGlvbiBIZWFkZXI6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJIZWFkZXIgRGFlcmFoOlxuIgorCisjOiByZWFkZWxmLmM6NDMyOCByZWFkZWxmLmM6NDMzOSByZWFkZWxmLmM6NDM1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIFtOcl0gTmFtZVxuIgorbXNnc3RyICIgIFtOcl0gTmFtYVxuIgorCisjOiByZWFkZWxmLmM6NDMyOQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgVHlwZSAgICAgICAgICAgIEFkZHIgICAgIE9mZiAgICBTaXplICAgRVMgICBMayBJbmYgQWxcbiIKK21zZ3N0ciAiICAgICAgIFRpcGUgICAgICAgICAgICBBbGFtYXQgICBPZnNldCAgVWt1cmFuIEVTICAgTGsgSW5mIEFsXG4iCisKKyM6IHJlYWRlbGYuYzo0MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgW05yXSBOYW1lICAgICAgICAgICAgICBUeXBlICAgICAgICAgICAgQWRkciAgICAgT2ZmICAgIFNpemUgICBFUyBGbGcgTGsgSW5mIEFsXG4iCittc2dzdHIgIiAgW05yXSBOYW1hICAgICAgICAgICAgICBUaXBlICAgICAgICAgICAgQWxhbWF0ICAgT2ZzZXQgIFVrdXJhbiBFUyBGbGcgTGsgSW5mIEFsXG4iCisKKyM6IHJlYWRlbGYuYzo0MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICBUeXBlICAgICAgICAgICAgQWRkcmVzcyAgICAgICAgICBPZmYgICAgU2l6ZSAgIEVTICAgTGsgSW5mIEFsXG4iCittc2dzdHIgIiAgICAgICBUaXBlICAgICAgICAgICAgQWxhbWF0ICAgICAgICAgICBPZnNldCAgVWt1cmFuIEVTICAgTGsgSW5mIEFsXG4iCisKKyM6IHJlYWRlbGYuYzo0MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgW05yXSBOYW1lICAgICAgICAgICAgICBUeXBlICAgICAgICAgICAgQWRkcmVzcyAgICAgICAgICBPZmYgICAgU2l6ZSAgIEVTIEZsZyBMayBJbmYgQWxcbiIKK21zZ3N0ciAiICBbTnJdIE5hbWEgICAgICAgICAgICAgIFRpcGUgICAgICAgICAgICBBbGFtYXQgICAgICAgICAgIE9mc2V0ICBVa3VyYW4gRVMgRmxnIExrIEluZiBBbFxuIgorCisjOiByZWFkZWxmLmM6NDM1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgVHlwZSAgICAgICAgICAgICAgQWRkcmVzcyAgICAgICAgICBPZmZzZXQgICAgICAgICAgICBMaW5rXG4iCittc2dzdHIgIiAgICAgICBUaXBlICAgICAgICAgICAgICBBbGFtYXQgICAgICAgICAgIE9mc2V0ICAgICAgICAgICAgIExpbmtcbiIKKworIzogcmVhZGVsZi5jOjQzNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgIFNpemUgICAgICAgICAgICAgIEVudFNpemUgICAgICAgICAgSW5mbyAgICAgICAgICAgICAgQWxpZ25cbiIKK21zZ3N0ciAiICAgICAgIFVrdXJhbiAgICAgICAgICAgIFVrdXJhbk1hc3VrICAgICAgSW5mbyAgICAgICAgICAgICAgQWxpZ25cbiIKKworIzogcmVhZGVsZi5jOjQzNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBbTnJdIE5hbWUgICAgICAgICAgICAgIFR5cGUgICAgICAgICAgICAgQWRkcmVzcyAgICAgICAgICAgT2Zmc2V0XG4iCittc2dzdHIgIiAgW05yXSBOYW1hICAgICAgICAgICAgICBUaXBlICAgICAgICAgICAgIEFsYW1hdCAgICAgICAgICAgIE9mc2V0XG4iCisKKyM6IHJlYWRlbGYuYzo0MzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICBTaXplICAgICAgICAgICAgICBFbnRTaXplICAgICAgICAgIEZsYWdzICBMaW5rICBJbmZvICBBbGlnblxuIgorbXNnc3RyICIgICAgICAgVWt1cmFuICAgICAgICAgICAgVWt1cmFuTWFzdWsgICAgICBUYW5kYSAgTGluayAgSW5mbyAgQWxpZ25cbiIKKworIzogcmVhZGVsZi5jOjQzNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgIEZsYWdzXG4iCittc2dzdHIgIiAgICAgICBUYW5kYVxuIgorCisjOiByZWFkZWxmLmM6NDQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiS2V5IHRvIEZsYWdzOlxuIgorIiAgVyAod3JpdGUpLCBBIChhbGxvYyksIFggKGV4ZWN1dGUpLCBNIChtZXJnZSksIFMgKHN0cmluZ3MpXG4iCisiICBJIChpbmZvKSwgTCAobGluayBvcmRlciksIEcgKGdyb3VwKSwgeCAodW5rbm93bilcbiIKKyIgIE8gKGV4dHJhIE9TIHByb2Nlc3NpbmcgcmVxdWlyZWQpIG8gKE9TIHNwZWNpZmljKSwgcCAocHJvY2Vzc29yIHNwZWNpZmljKVxuIgorbXNnc3RyICIiCisiS3VuY2kga2UgVGFuZGE6XG4iCisiICBXICh0dWxpcyksIEEgKGFsb2thc2kpLCBYIChleGVjdXRlKSwgTSAoZ2FidW5nKSwgUyAoc3RyaW5ncylcbiIKKyIgIEkgKGluZm8pLCBMICh1cnV0YW4gcGVuZ2dhYnVuZ2FuKSwgRyAoZ3J1cCksIHggKHRpZGFrIGRpa2V0YWh1aSlcbiIKKyIgIE8gKGVrc3RyYSBwZW1yb3Nlc2FuIE9TIGRpYnV0dWhrYW4pIG8gKE9TIHNwZXNpZmlrKSwgcCAocHJvc2Vzb3Igc3Blc2lmaWspXG4iCisKKyM6IHJlYWRlbGYuYzo0NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIls8dW5rbm93bj46IDB4JXhdIgorbXNnc3RyICJbPHRpZGFrIGRpa2V0YWh1aT46IDB4JXhdIgorCisjOiByZWFkZWxmLmM6NDU0NAorbXNnaWQgIlNlY3Rpb24gaGVhZGVycyBhcmUgbm90IGF2YWlsYWJsZSFcbiIKK21zZ3N0ciAiSGVhZGVyIERhZXJhaCB0aWRhayB0ZXJzZWRpYSFcbiIKKworIzogcmVhZGVsZi5jOjQ1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlRoZXJlIGFyZSBubyBzZWN0aW9uIGdyb3VwcyBpbiB0aGlzIGZpbGUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaWRhayBhZGEgZGFlcmFoIGdydXAgZGFsYW0gYmVya2FzIGluaS5cbiIKKworIzogcmVhZGVsZi5jOjQ2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHNoX2xpbmsgaW4gZ3JvdXAgc2VjdGlvbiBgJXMnXG4iCittc2dzdHIgInNoX2xpbmsgYnVydWsgZGFsYW0gZGFlcmFoIGdydXAgYCVzJ1xuIgorCisjOiByZWFkZWxmLmM6NDYyMworIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgc2hfaW5mbyBpbiBncm91cCBzZWN0aW9uIGAlcydcbiIKK21zZ3N0ciAic2hfaW5mbyBidXJ1ayBkYWxhaCBkYWVyYWggZ3J1cCBgJXMnXG4iCisKKyM6IHJlYWRlbGYuYzo0NjYxIHJlYWRlbGYuYzo3ODUxIHJlYWRlbGYuYzo3OTMyCittc2dpZCAic2VjdGlvbiBkYXRhIgorbXNnc3RyICJkYWVyYWggZGF0YSIKKworIzogcmVhZGVsZi5jOjQ2NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgW0luZGV4XSAgICBOYW1lXG4iCittc2dzdHIgIiAgIFtJbmRla3NdICAgTmFtYVxuIgorCisjOiByZWFkZWxmLmM6NDY4NworIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0aW9uIFslNXVdIGluIGdyb3VwIHNlY3Rpb24gWyU1dV0gPiBtYXhpbXVtIHNlY3Rpb24gWyU1dV1cbiIKK21zZ3N0ciAiZGFlcmFoIFslNXVdIGRhbGFoIGRhZXJhaCBncnVwIFslNXVdID4gZGFlcmFoIG1ha3NpbWFsIFslNXVdXG4iCisKKyM6IHJlYWRlbGYuYzo0Njk2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3Rpb24gWyU1dV0gaW4gZ3JvdXAgc2VjdGlvbiBbJTV1XSBhbHJlYWR5IGluIGdyb3VwIHNlY3Rpb24gWyU1dV1cbiIKK21zZ3N0ciAiZGFlcmFoIFslNXVdIGRhbGFtIGRhZXJhaCBncnVwIFslNXVdIHRlbGFoIGRhbGFtIGRhZXJhaCBncnVwIFslNXVdXG4iCisKKyM6IHJlYWRlbGYuYzo0NzA5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3Rpb24gMCBpbiBncm91cCBzZWN0aW9uIFslNXVdXG4iCittc2dzdHIgImRhZXJhaCAwIGRhbGFtIGdydXAgZGVhcmFoIFslNXVdXG4iCisKKyM6IHJlYWRlbGYuYzo0ODA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyInJXMnIHJlbG9jYXRpb24gc2VjdGlvbiBhdCBvZmZzZXQgMHglbHggY29udGFpbnMgJWxkIGJ5dGVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiJyVzJyByZWxva2FzaSBkYWVyYWggZGkgb2ZzZXQgMHglbHggYmVyaXNpICVsZCBieXRlczpcbiIKKworIzogcmVhZGVsZi5jOjQ4MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlRoZXJlIGFyZSBubyBkeW5hbWljIHJlbG9jYXRpb25zIGluIHRoaXMgZmlsZS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlRpZGFrIGFkYSByZWxva2FzaSBkaW5hbWlzIGRhbGFtIGJlcmthcyBpbmkuXG4iCisKKyM6IHJlYWRlbGYuYzo0ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJSZWxvY2F0aW9uIHNlY3Rpb24gIgorbXNnc3RyICIiCisiXG4iCisiRGFlcmFoIHJlbG9rYXNpICIKKworIzogcmVhZGVsZi5jOjQ4NDUgcmVhZGVsZi5jOjUyNTQgcmVhZGVsZi5jOjUyNjggcmVhZGVsZi5jOjU1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyIKK21zZ3N0ciAiJyVzJyIKKworIzogcmVhZGVsZi5jOjQ4NDcgcmVhZGVsZi5jOjUyNzAgcmVhZGVsZi5jOjU2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIGF0IG9mZnNldCAweCVseCBjb250YWlucyAlbHUgZW50cmllczpcbiIKK21zZ3N0ciAiIGRpIG9mc2V0IDB4JWx4IGJlcmlzaSAlbHUgbWFzdWthbjpcbiIKKworIzogcmVhZGVsZi5jOjQ4OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlRoZXJlIGFyZSBubyByZWxvY2F0aW9ucyBpbiB0aGlzIGZpbGUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEaXNhbmEgdGlkYWsgYWRhIHJlbG9rYXNpIGRhbGFtIGJlcmthcyBpbmkuXG4iCisKKyM6IHJlYWRlbGYuYzo1MDc3IHJlYWRlbGYuYzo1NDUwCittc2dpZCAidW53aW5kIHRhYmxlIgorbXNnc3RyICJ0YWJlbCB1bndpbmQiCisKKyM6IHJlYWRlbGYuYzo1MTI3IHJlYWRlbGYuYzo1NTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIHVuZXhwZWN0ZWQgcmVsb2NhdGlvbiB0eXBlICVzXG4iCittc2dzdHIgIk1lbGV3YXRpIHRpcGUgcmVsb2thc2kgJXMgdGlkYWsgdGVyZHVnYVxuIgorCisjOiByZWFkZWxmLmM6NTE4NiByZWFkZWxmLmM6NTU5MiByZWFkZWxmLmM6NTY0MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVGhlcmUgYXJlIG5vIHVud2luZCBzZWN0aW9ucyBpbiB0aGlzIGZpbGUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEaXNhbmEgdGlkYWsgYWRhIGRhZXJhaCB1bndpbmQgZGFsYW0gYmVya2FzIGluaS5cbiIKKworIzogcmVhZGVsZi5jOjUyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNvdWxkIG5vdCBmaW5kIHVud2luZCBpbmZvIHNlY3Rpb24gZm9yICIKK21zZ3N0ciAiIgorIlxuIgorIlRpZGFrIGRhcGF0IG1lbmVtdWthbiBpbmZvcm1hc2kgdW53aW5kIGRhZXJhaCB1bnR1ayAiCisKKyM6IHJlYWRlbGYuYzo1MjYxCittc2dpZCAidW53aW5kIGluZm8iCittc2dzdHIgImluZm9ybWFzaSB1bndpbmQiCisKKyM6IHJlYWRlbGYuYzo1MjYzIHJlYWRlbGYuYzo1NTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVbndpbmQgc2VjdGlvbiAiCittc2dzdHIgIiIKKyJcbiIKKyJEYWVyYWggdW53aW5kICIKKworIzogcmVhZGVsZi5jOjU4MDggcmVhZGVsZi5jOjU4NTIKK21zZ2lkICJkeW5hbWljIHNlY3Rpb24iCittc2dzdHIgImRhZXJhaCBkaW5hbWlzIgorCisjOiByZWFkZWxmLmM6NTkyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVGhlcmUgaXMgbm8gZHluYW1pYyBzZWN0aW9uIGluIHRoaXMgZmlsZS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkRpc2FuYSB0aWRhayBhZGEgZGFlcmFoIGRpbmFtaXMgZGFsYW0gYmVya2FzIGluaS5cbiIKKworIzogcmVhZGVsZi5jOjU5NjcKK21zZ2lkICJVbmFibGUgdG8gc2VlayB0byBlbmQgb2YgZmlsZSFcbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuY2FyaSBrZSBha2hpciBkYXJpIGJlcmthcyFcbiIKKworIzogcmVhZGVsZi5jOjU5ODAKK21zZ2lkICJVbmFibGUgdG8gZGV0ZXJtaW5lIHRoZSBudW1iZXIgb2Ygc3ltYm9scyB0byBsb2FkXG4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmVudHVrYW4ganVtbGFoIGRhcmkgc2ltYm9sIHVudHVrIGRpbG9hZFxuIgorCisjOiByZWFkZWxmLmM6NjAxNQorbXNnaWQgIlVuYWJsZSB0byBzZWVrIHRvIGVuZCBvZiBmaWxlXG4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmNhcmkga2UgYWtoaXIgZGFyaSBiZXJrYXNcbiIKKworIzogcmVhZGVsZi5jOjYwMjIKK21zZ2lkICJVbmFibGUgdG8gZGV0ZXJtaW5lIHRoZSBsZW5ndGggb2YgdGhlIGR5bmFtaWMgc3RyaW5nIHRhYmxlXG4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmVudHVrYW4gcGFuamFuZyBkYXJpIHRhYmVsIGRpbmFtaXMgc3RyaW5nXG4iCisKKyM6IHJlYWRlbGYuYzo2MDI3Cittc2dpZCAiZHluYW1pYyBzdHJpbmcgdGFibGUiCittc2dzdHIgInRhYmVsIHN0cmluZyBkaW5hbWlzIgorCisjOiByZWFkZWxmLmM6NjA2MgorbXNnaWQgInN5bWJvbCBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiaW5mb3JtYXNpIHNpbWJvbCIKKworIzogcmVhZGVsZi5jOjYwODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkR5bmFtaWMgc2VjdGlvbiBhdCBvZmZzZXQgMHglbHggY29udGFpbnMgJXUgZW50cmllczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRhZXJhaCBkaW5hbWlzIGRpIG9mc2V0IDB4JWx4IGJlcmlzaSAldSBtYXN1a2FuOlxuIgorCisjOiByZWFkZWxmLmM6NjA5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIFRhZyAgICAgICAgVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lL1ZhbHVlXG4iCittc2dzdHIgIiAgVGFuZGEgICAgICBUaXBlICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWEvTmlsYWlcbiIKKworIzogcmVhZGVsZi5jOjYxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXV4aWxpYXJ5IGxpYnJhcnkiCittc2dzdHIgIkF1eGlsaWFyeSBsaWJyYXJ5IgorCisjOiByZWFkZWxmLmM6NjEzMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWx0ZXIgbGlicmFyeSIKK21zZ3N0ciAiRmlsdGVyIGxpYnJhcnkiCisKKyM6IHJlYWRlbGYuYzo2MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbmZpZ3VyYXRpb24gZmlsZSIKK21zZ3N0ciAiQmVya2FzIGtvbmZpZ3VyYXNpIgorCisjOiByZWFkZWxmLmM6NjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXBlbmRlbmN5IGF1ZGl0IGxpYnJhcnkiCittc2dzdHIgIkRlcGVuZGVuc2kgYXVkaXQgcGVycHVzdGFrYWFuIgorCisjOiByZWFkZWxmLmM6NjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICJBdWRpdCBsaWJyYXJ5IgorbXNnc3RyICJQZXJwdXN0YWthYW4gYXVkaXQiCisKKyM6IHJlYWRlbGYuYzo2MTYwIHJlYWRlbGYuYzo2MTg4IHJlYWRlbGYuYzo2MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAiVGFuZGE6IgorCisjOiByZWFkZWxmLmM6NjE2MyByZWFkZWxmLmM6NjE5MSByZWFkZWxmLmM6NjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIgTm9uZVxuIgorbXNnc3RyICIgS29zb25nXG4iCisKKyM6IHJlYWRlbGYuYzo2MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBsaWJyYXJ5OiBbJXNdIgorbXNnc3RyICJQZXJwdXN0YWthYW4gdGVyYmFnaTogWyVzXSIKKworIzogcmVhZGVsZi5jOjYzNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIHByb2dyYW0gaW50ZXJwcmV0ZXIiCittc2dzdHIgIiBhcGxpa2FzaSBpbnRlcnByZXRhc2kiCisKKyM6IHJlYWRlbGYuYzo2MzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxpYnJhcnkgc29uYW1lOiBbJXNdIgorbXNnc3RyICJQZXJwdXN0YWthYW4gc29uYW1lOiBbJXNdIgorCisjOiByZWFkZWxmLmM6NjM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJMaWJyYXJ5IHJwYXRoOiBbJXNdIgorbXNnc3RyICJQZXJwdXN0YWthYW4gcnBhdGg6IFslc10iCisKKyM6IHJlYWRlbGYuYzo2MzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxpYnJhcnkgcnVucGF0aDogWyVzXSIKK21zZ3N0ciAiUGVycHVzdGFrYWFuIHJ1bnBhdGg6IFslc10iCisKKyM6IHJlYWRlbGYuYzo2NDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBuZWVkZWQgb2JqZWN0OiBbJXNdXG4iCittc2dzdHIgIk9iamVrIHRpZGFrIGRpYnV0dWhrYW46IFslc11cbiIKKworIzogcmVhZGVsZi5jOjY1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlZlcnNpb24gZGVmaW5pdGlvbiBzZWN0aW9uICclcycgY29udGFpbnMgJXUgZW50cmllczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRlZmluaXNpIHZlcnNpIGRhZXJhaCAnJXMnIGJlcmlzaSAldSBtYXN1a2FuOlxuIgorCisjOiByZWFkZWxmLmM6NjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgIEFkZHI6IDB4IgorbXNnc3RyICIgIEFsYW1hdDogMHgiCisKKyM6IHJlYWRlbGYuYzo2NTQ2IHJlYWRlbGYuYzo2NjQ4IHJlYWRlbGYuYzo2NzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgT2Zmc2V0OiAlIzA4bHggIExpbms6ICV1ICglcylcbiIKK21zZ3N0ciAiICBPZnNldDogICUjMDhseCAgTGluazogJXUgKCVzKVxuIgorCisjOiByZWFkZWxmLmM6NjU1NAorbXNnaWQgInZlcnNpb24gZGVmaW5pdGlvbiBzZWN0aW9uIgorbXNnc3RyICJkYWVyYWggZGVmaW5pc2kgdmVyc2kiCisKKyM6IHJlYWRlbGYuYzo2NTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgJSMwNng6IFJldjogJWQgIEZsYWdzOiAlcyIKK21zZ3N0ciAiICAlIzA2eDogUmV2OiAlZCAgVGFuZGE6ICVzIgorCisjOiByZWFkZWxmLmM6NjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICIgIEluZGV4OiAlZCAgQ250OiAlZCAgIgorbXNnc3RyICIgIEluZGVrczogJWQgQ250OiAlZCAgIgorCisjOiByZWFkZWxmLmM6NjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJOYW1lOiAlc1xuIgorbXNnc3RyICJOYW1hOiAlc1xuIgorCisjOiByZWFkZWxmLmM6NjU5OQorIywgYy1mb3JtYXQKK21zZ2lkICJOYW1lIGluZGV4OiAlbGRcbiIKK21zZ3N0ciAiTmFtYSBpbmRla3M6ICVsZFxuIgorCisjOiByZWFkZWxmLmM6NjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICUjMDZ4OiBQYXJlbnQgJWQ6ICVzXG4iCittc2dzdHIgIiAgJSMwNng6IFBhcmVudCAlZDogJXNcbiIKKworIzogcmVhZGVsZi5jOjY2MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAlIzA2eDogUGFyZW50ICVkLCBuYW1lIGluZGV4OiAlbGRcbiIKK21zZ3N0ciAiICAlIzA2eDogUGFyZW50ICVkLCBuYW1hIGluZGVrczogJWxkXG4iCisKKyM6IHJlYWRlbGYuYzo2NjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgVmVyc2lvbiBkZWYgYXV4IHBhc3QgZW5kIG9mIHNlY3Rpb25cbiIKK21zZ3N0ciAiICBWZXJzaSBkZWYgYXV4IG1lbGV3YXRpIGFraGlyIGRhcmkgZGFlcmFoXG4iCisKKyM6IHJlYWRlbGYuYzo2NjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgVmVyc2lvbiBkZWZpbml0aW9uIHBhc3QgZW5kIG9mIHNlY3Rpb25cbiIKK21zZ3N0ciAiICBWZXJzaSBkZWZpbmlzaSBtZWxld2F0aSBha2hpciBkYXJpIGRhZXJhaFxuIgorCisjOiByZWFkZWxmLmM6NjY0MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVmVyc2lvbiBuZWVkcyBzZWN0aW9uICclcycgY29udGFpbnMgJXUgZW50cmllczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlZlcnNpIG1lbWJ1dHVoa2FuIGRhZXJhaCAnJXMnIGJlcmlzaSAldSBtYXN1a2FuOlxuIgorCisjOiByZWFkZWxmLmM6NjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICIgQWRkcjogMHgiCittc2dzdHIgIiBBbGFtYXQ6IDB4IgorCisjOiByZWFkZWxmLmM6NjY1NgorbXNnaWQgInZlcnNpb24gbmVlZCBzZWN0aW9uIgorbXNnc3RyICJ2ZXJzaSBtZW1idXR1aGthbiBkYWVyYWgiCisKKyM6IHJlYWRlbGYuYzo2NjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgJSMwNng6IFZlcnNpb246ICVkIgorbXNnc3RyICIgICUjMDZ4OiBWZXJzaTogJWQiCisKKyM6IHJlYWRlbGYuYzo2Njg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgRmlsZTogJXMiCittc2dzdHIgIiAgQmVya2FzOiAlcyIKKworIzogcmVhZGVsZi5jOjY2ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBGaWxlOiAlbHgiCittc2dzdHIgIiAgQmVya2FzOiAlbHgiCisKKyM6IHJlYWRlbGYuYzo2Njg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgQ250OiAlZFxuIgorbXNnc3RyICIgIENudDogJWRcbiIKKworIzogcmVhZGVsZi5jOjY3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAlIzA2eDogICBOYW1lOiAlcyIKK21zZ3N0ciAiICAlIzA2eDogICBOYW1hOiAlcyIKKworIzogcmVhZGVsZi5jOjY3MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAlIzA2eDogICBOYW1lIGluZGV4OiAlbHgiCittc2dzdHIgIiAgJSMwNng6ICAgTmFtYSBpbmRla3M6ICVseCIKKworIzogcmVhZGVsZi5jOjY3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBGbGFnczogJXMgIFZlcnNpb246ICVkXG4iCittc2dzdHIgIiAgVGFuZGE6ICVzICBWZXJzaTogICAlZFxuIgorCisjOiByZWFkZWxmLmM6NjcyMQorIywgYy1mb3JtYXQKK21zZ2lkICIgIFZlcnNpb24gbmVlZCBhdXggcGFzdCBlbmQgb2Ygc2VjdGlvblxuIgorbXNnc3RyICIgIFZlcnNpIG1lbWJ1dHVoa2FuIGF1eCBtZWxld2F0aSBha2hpciBkYXJpIGRhZXJhaFxuIgorCisjOiByZWFkZWxmLmM6NjcyNgorIywgYy1mb3JtYXQKK21zZ2lkICIgIFZlcnNpb24gbmVlZCBwYXN0IGVuZCBvZiBzZWN0aW9uXG4iCittc2dzdHIgIiAgVmVyc2kgbWVtYnV0dWhrYW4gbWVsZXdhdGkgYWtoaXIgZGFyaSBkYWVyYWhcbiIKKworIzogcmVhZGVsZi5jOjY3NjAKK21zZ2lkICJ2ZXJzaW9uIHN0cmluZyB0YWJsZSIKK21zZ3N0ciAidGFiZWwgdmVyc2kgdHJpbmciCisKKyM6IHJlYWRlbGYuYzo2NzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJWZXJzaW9uIHN5bWJvbHMgc2VjdGlvbiAnJXMnIGNvbnRhaW5zICVkIGVudHJpZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJWZXJzaSBzaW1ib2wgZGFlcmFoICclcycgYmVyaXNpICVkIG1hc3VrYW46XG4iCisKKyM6IHJlYWRlbGYuYzo2NzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiBBZGRyOiAiCittc2dzdHIgIiBBbGFtYXQ6ICIKKworIzogcmVhZGVsZi5jOjY3NzcKK21zZ2lkICJ2ZXJzaW9uIHN5bWJvbCBkYXRhIgorbXNnc3RyICJ2ZXJzaSBzaW1ib2wgZGF0YSIKKworIzogcmVhZGVsZi5jOjY4MDQKK21zZ2lkICIgICAwICgqbG9jYWwqKSAgICAiCittc2dzdHIgIiAgIDAgKCpsb2NhbCopICAgICIKKworIzogcmVhZGVsZi5jOjY4MDgKK21zZ2lkICIgICAxICgqZ2xvYmFsKikgICAiCittc2dzdHIgIiAgIDEgKCpnbG9iYWwqKSAgICIKKworIzogcmVhZGVsZi5jOjY4NDUgcmVhZGVsZi5jOjc1MTIKK21zZ2lkICJ2ZXJzaW9uIG5lZWQiCittc2dzdHIgInZlcnNpIG1lbWJ1dHVoa2FuIgorCisjOiByZWFkZWxmLmM6Njg1NQorbXNnaWQgInZlcnNpb24gbmVlZCBhdXggKDIpIgorbXNnc3RyICJ2ZXJzaSBtZW1idXR1aGthbiBhdXggKDIpIgorCisjOiByZWFkZWxmLmM6Njg3MCByZWFkZWxmLmM6NjkyNQorbXNnaWQgIippbnZhbGlkKiIKK21zZ3N0ciAiKnRpZGFrIHZhbGlkKiIKKworIzogcmVhZGVsZi5jOjY5MDAgcmVhZGVsZi5jOjc1NzcKK21zZ2lkICJ2ZXJzaW9uIGRlZiIKK21zZ3N0ciAidmVyc2kgZGVmIgorCisjOiByZWFkZWxmLmM6NjkyMCByZWFkZWxmLmM6NzU5MgorbXNnaWQgInZlcnNpb24gZGVmIGF1eCIKK21zZ3N0ciAidmVyc2kgZGVmIGF1eCIKKworIzogcmVhZGVsZi5jOjY5NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk5vIHZlcnNpb24gaW5mb3JtYXRpb24gZm91bmQgaW4gdGhpcyBmaWxlLlxuIgorbXNnc3RyICIiCisiXG4iCisiVGlkYWsgYWRhIGluZm9ybWFzaSB2ZXJzaSBkaXRlbXVrYW4gZGFsYW0gYmVya2FzIGluaS5cbiIKKworIzogcmVhZGVsZi5jOjcwNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiPG90aGVyPjogJXgiCittc2dzdHIgIjx5YW5nIGxhaW4+OiAleCIKKworIzogcmVhZGVsZi5jOjcxMzMKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbiBkeW5hbWljIGRhdGFcbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYmFjYSBkYWxhbSBkYXRhIGRpbmFtaXNcbiIKKworIzogcmVhZGVsZi5jOjcyMjQgcmVhZGVsZi5jOjcyNjQgcmVhZGVsZi5jOjcyODggcmVhZGVsZi5jOjczMTggcmVhZGVsZi5jOjczNDIKK21zZ2lkICJVbmFibGUgdG8gc2VlayB0byBzdGFydCBvZiBkeW5hbWljIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmNhcmkgYXdhbCBkYXJpIGluZm9ybWFzaSBkaW5hbWlzXG4iCisKKyM6IHJlYWRlbGYuYzo3MjMwIHJlYWRlbGYuYzo3MjcwCittc2dpZCAiRmFpbGVkIHRvIHJlYWQgaW4gbnVtYmVyIG9mIGJ1Y2tldHNcbiIKK21zZ3N0ciAiR2FnYWwgdW50dWsgbWVtYmFjYSBkYWxhbSBqdW1sYWggZGFyaSBidWNrZXRzXG4iCisKKyM6IHJlYWRlbGYuYzo3MjM2Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgaW4gbnVtYmVyIG9mIGNoYWluc1xuIgorbXNnc3RyICJHYWdhbCB1bnR1ayBtZW1iYWNhIGRhbGFtIGp1bWxhaCBkYXJpIHJhbnRhaVxuIgorCisjOiByZWFkZWxmLmM6NzMyNgorbXNnaWQgIkZhaWxlZCB0byBkZXRlcm1pbmUgbGFzdCBjaGFpbiBsZW5ndGhcbiIKK21zZ3N0ciAiR2FnYWwgdW50dWsgbWVuZW50dWthbiBha2hpciBkYXJpIHBhbmphbmcgcmFudGFpXG4iCisKKyM6IHJlYWRlbGYuYzo3MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTeW1ib2wgdGFibGUgZm9yIGltYWdlOlxuIgorbXNnc3RyICIiCisiXG4iCisiVGFiZWwgc2ltYm9sIHVudHVrIGdhbWJhcjpcbiIKKworIzogcmVhZGVsZi5jOjczNjUgcmVhZGVsZi5jOjczODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBOdW0gQnVjOiAgICBWYWx1ZSAgU2l6ZSAgIFR5cGUgICBCaW5kIFZpcyAgICAgIE5keCBOYW1lXG4iCittc2dzdHIgIiAgTnVtIEJ1YzogICAgTmlsYWkgIFVrdXJhbiBUaXBlICAgQmluZCBWaXMgICAgICBOZHggTmFtYVxuIgorCisjOiByZWFkZWxmLmM6NzM2NyByZWFkZWxmLmM6NzM4NQorIywgYy1mb3JtYXQKK21zZ2lkICIgIE51bSBCdWM6ICAgIFZhbHVlICAgICAgICAgIFNpemUgICBUeXBlICAgQmluZCBWaXMgICAgICBOZHggTmFtZVxuIgorbXNnc3RyICIgIE51bSBCdWM6ICAgIE5pbGFpICAgICAgICAgIFVrdXJhbiBUaXBlICAgQmluZCBWaXMgICAgICBOZHggTmFtYVxuIgorCisjOiByZWFkZWxmLmM6NzM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3ltYm9sIHRhYmxlIG9mIGAuZ251Lmhhc2gnIGZvciBpbWFnZTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlRhYmVsIHNpbWJvbCBkYXJpIGAuZ251Lmhhc2gnIHVudHVrIGltYWdlOlxuIgorCisjOiByZWFkZWxmLmM6NzQyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3ltYm9sIHRhYmxlICclcycgY29udGFpbnMgJWx1IGVudHJpZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUYWJlbCBzaW1ib2wgJyVzJyBiZXJpc2kgJWx1IG1hc3VrYW46XG4iCisKKyM6IHJlYWRlbGYuYzo3NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgIE51bTogICAgVmFsdWUgIFNpemUgVHlwZSAgICBCaW5kICAgVmlzICAgICAgTmR4IE5hbWVcbiIKK21zZ3N0ciAiICAgSnVtbGFoOiBOaWxhaSAgVWt1cmFuIFRJcGUgIEJpbmQgICBWaXMgICAgICBOZHggTmFtYVxuIgorCisjOiByZWFkZWxmLmM6NzQyNworIywgYy1mb3JtYXQKK21zZ2lkICIgICBOdW06ICAgIFZhbHVlICAgICAgICAgIFNpemUgVHlwZSAgICBCaW5kICAgVmlzICAgICAgTmR4IE5hbWVcbiIKK21zZ3N0ciAiICAgSnVtbGFoOiBOaWxhaSAgICAgICAgICBVa3VyYW4gVGlwZSAgQmluZCAgIFZpcyAgICAgIE5keCBOYW1hXG4iCisKKyM6IHJlYWRlbGYuYzo3NDgzCittc2dpZCAidmVyc2lvbiBkYXRhIgorbXNnc3RyICJ2ZXJzaSBkYXRhIgorCisjOiByZWFkZWxmLmM6NzUyNQorbXNnaWQgInZlcnNpb24gbmVlZCBhdXggKDMpIgorbXNnc3RyICJ2ZXJzaSBtZW1idXR1aGthbiBhdXggKDMpIgorCisjOiByZWFkZWxmLmM6NzU1MgorbXNnaWQgImJhZCBkeW5hbWljIHN5bWJvbFxuIgorbXNnc3RyICJzaW1ib2wgZGluYW1pcyBidXJ1a1xuIgorCisjOiByZWFkZWxmLmM6NzYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRHluYW1pYyBzeW1ib2wgaW5mb3JtYXRpb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgZGlzcGxheWluZyBzeW1ib2xzLlxuIgorbXNnc3RyICIiCisiXG4iCisiSW5mb3JtYXNpIHNpbWJvbCBkaW5hbWlzIHRpZGFrIHRlcnNlZGlhIHVudHVrIG1lbmFtcGlsa2FuIHNpbWJvbC5cbiIKKworIzogcmVhZGVsZi5jOjc2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhpc3RvZ3JhbSBmb3IgYnVja2V0IGxpc3QgbGVuZ3RoICh0b3RhbCBvZiAlbHUgYnVja2V0cyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJIaXN0b2dyYW0gdW50dWsgZGFmdGFyIHBhbmphbmcgYnVja2V0ICh0b3RhbCBkYXJpICVsdSBidWNrZXRzKTpcbiIKKworIzogcmVhZGVsZi5jOjc2MzAgcmVhZGVsZi5jOjc3MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIExlbmd0aCAgTnVtYmVyICAgICAlJSBvZiB0b3RhbCAgQ292ZXJhZ2VcbiIKK21zZ3N0ciAiIFBhbmphbmcgTm9tb3IgICAgICAlJSBkYXJpIHRvdGFsIENvdmVyYWdlXG4iCisKKyM6IHJlYWRlbGYuYzo3Njk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIaXN0b2dyYW0gZm9yIGAuZ251Lmhhc2gnIGJ1Y2tldCBsaXN0IGxlbmd0aCAodG90YWwgb2YgJWx1IGJ1Y2tldHMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiSGlzdG9ncmFtIHVudHVrIGAuZ251Lmhhc2gnIGRhZnRhciBwYW5qYW5nIGJ1Y2tldCAodG90YWwgZGFyaSAlbHUgYnVja2V0KTpcbiIKKworIzogcmVhZGVsZi5jOjc3NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkR5bmFtaWMgaW5mbyBzZWdtZW50IGF0IG9mZnNldCAweCVseCBjb250YWlucyAlZCBlbnRyaWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiU2VnbWVuIGluZm8gZGluYW1pcyBkaSBvZnNldCAweCVseCBiZXJpc2kgJWQgbWFzdWthbjpcbiIKKworIzogcmVhZGVsZi5jOjc3NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIE51bTogTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJvdW5kVG8gICAgIEZsYWdzXG4iCittc2dzdHIgIiBKdW1sYWg6IE5hbWEgICAgICAgICAgICAgICAgICAgICAgICBCb3VuZFRvICAgICBUYW5kYVxuIgorCisjOiByZWFkZWxmLmM6NzgxOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXNzZW1ibHkgZHVtcCBvZiBzZWN0aW9uICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEYWVyYWggcGVyYWtpdGFuIGR1bXAgZGFyaSAlc1xuIgorCisjOiByZWFkZWxmLmM6Nzg0NCByZWFkZWxmLmM6NzkyMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VjdGlvbiAnJXMnIGhhcyBubyBkYXRhIHRvIGR1bXAuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEYWVyYWggJyVzJyB0aWRhayBtZW1pbGlraSBkYXRhIHVudHVrIGRpIGR1bXAuXG4iCisKKyM6IHJlYWRlbGYuYzo3ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdHJpbmcgZHVtcCBvZiBzZWN0aW9uICclcyc6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTdHJpbmcgZHVtcCBkYXJpIGRhZXJhaCAnJXMnOlxuIgorCisjOiByZWFkZWxmLmM6Nzg3MworIywgYy1mb3JtYXQKK21zZ2lkICIgIE5vdGU6IFRoaXMgc2VjdGlvbiBoYXMgcmVsb2NhdGlvbnMgYWdhaW5zdCBpdCwgYnV0IHRoZXNlIGhhdmUgTk9UIGJlZW4gYXBwbGllZCB0byB0aGlzIGR1bXAuXG4iCittc2dzdHIgIiAgQ2F0YXRhbjogRGFlcmFoIGluaSBtZW1pbGlraSByZWxva2FzaSB0ZXJoYWRhdG55YSwgdGV0YXBpIGluaSBCRUxVTSBwZXJuYWggZGlhcGxpa2FzaWthbiBrZSBkdW1wIGluaS5cbiIKKworIzogcmVhZGVsZi5jOjc5MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBObyBzdHJpbmdzIGZvdW5kIGluIHRoaXMgc2VjdGlvbi4iCittc2dzdHIgIiAgVGlkYWsgYWRhIHN0cmluZyB5YW5nIGRpdGVtdWthbiBkYWxhbSBkYWVyYWggaW5pLiIKKworIzogcmVhZGVsZi5jOjc5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhleCBkdW1wIG9mIHNlY3Rpb24gJyVzJzpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkhleCBkdW1wIGRhcmkgZGFlcmFoICclcyc6XG4iCisKKyM6IHJlYWRlbGYuYzo3OTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiBOT1RFOiBUaGlzIHNlY3Rpb24gaGFzIHJlbG9jYXRpb25zIGFnYWluc3QgaXQsIGJ1dCB0aGVzZSBoYXZlIE5PVCBiZWVuIGFwcGxpZWQgdG8gdGhpcyBkdW1wLlxuIgorbXNnc3RyICIgQ0FUQVRBTjogRGFlcmFoIGluaSBtZW1pbGlraSByZWxva2FzaSB0ZXJoYWRhcCBpbmksIHRldGFwaSBpbmkgQkVMVU0gZGlhcGxpa2FzaWthbiBrZSBkdW1wIGluaS5cbiIKKworIzogcmVhZGVsZi5jOjgxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWlzc2luZyBrbm93bGVkZ2Ugb2YgMzItYml0IHJlbG9jIHR5cGVzIHVzZWQgaW4gRFdBUkYgc2VjdGlvbnMgb2YgbWFjaGluZSBudW1iZXIgJWRcbiIKK21zZ3N0ciAiSGlsYW5nIHBlbmdldGFodWFuIGRhcmkgMzItYml0IHRpcGUgcmVsb2thc2kgeWFuZyBkaWd1bmFrYW4gZGFsYW0gZGFlcmFoIERXQVJGIGRhcmkgbWVzaW4gbm9tb3IgJWRcbiIKKworIzogcmVhZGVsZi5jOjg0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFwcGx5IHVuc3VwcG9ydGVkIHJlbG9jIHR5cGUgJWQgdG8gc2VjdGlvbiAlc1xuIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5nYXBsaWthc2lrYW4gdGlwZSByZWxva2FzaSAlZCB0aWRhayBkaWR1a3VuZyBrZSBkYWVyYWggJXNcbiIKKworIzogcmVhZGVsZi5jOjg0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2tpcHBpbmcgaW52YWxpZCByZWxvY2F0aW9uIG9mZnNldCAweCVseCBpbiBzZWN0aW9uICVzXG4iCittc2dzdHIgIm1lbGV3YXRpIHJlbG9rYXNpIG9mc2V0IDB4JWx4IHRpZGFrIHZhbGlkIGRhbGFtIGRhZXJhaCAlc1xuIgorCisjOiByZWFkZWxmLmM6ODQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJza2lwcGluZyB1bmV4cGVjdGVkIHN5bWJvbCB0eXBlICVzIGluICVsZCd0aCByZWxvY2F0aW9uIGluIHNlY3Rpb24gJXNcbiIKK21zZ3N0ciAibWVsZXdhdGkgdGlwZSBzaW1ib2wgJXMgdGlkYWsgdGVyZHVnYSBkYWxhbSByZWxva2FzaSBrZSAlbGQgZGFsYW0gZGFlcmFoICVzXG4iCisKKyM6IHJlYWRlbGYuYzo4NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlY3Rpb24gZGF0YSIKK21zZ3N0ciAiZGFlcmFoIGRhdGEgJXMiCisKKyM6IHJlYWRlbGYuYzo4NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZWN0aW9uICclcycgaGFzIG5vIGRlYnVnZ2luZyBkYXRhLlxuIgorbXNnc3RyICIiCisiXG4iCisiRGFlcmFoICclcycgdGlkYWsgbWVtaWxpa2kgZGF0YSBkZWJ1Z2dpbmcuXG4iCisKKyM6IHJlYWRlbGYuYzo4NjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVucmVjb2duaXplZCBkZWJ1ZyBzZWN0aW9uOiAlc1xuIgorbXNnc3RyICJEYWVyYWggZGVidWcgdGlkYWsgZGlrZW5hbDogJXNcbiIKKworIzogcmVhZGVsZi5jOjg2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdGlvbiAnJXMnIHdhcyBub3QgZHVtcGVkIGJlY2F1c2UgaXQgZG9lcyBub3QgZXhpc3QhXG4iCittc2dzdHIgIkRhZXJhaCAnJXMnIHRpZGFrIGRpZHVtcCBrYXJlbmEgaW5pIHRpZGFrIGFkYSFcbiIKKworIzogcmVhZGVsZi5jOjg2NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdGlvbiAlZCB3YXMgbm90IGR1bXBlZCBiZWNhdXNlIGl0IGRvZXMgbm90IGV4aXN0IVxuIgorbXNnc3RyICJEYWVyYWggJWQgdGlkYWsgZGlkdW1wIGthcmVuYSBpbmkgdGlkYWsgYWRhIVxuIgorCisjOiByZWFkZWxmLmM6OTExOAorbXNnaWQgImF0dHJpYnV0ZXMiCittc2dzdHIgImF0cmlidXQiCisKKyM6IHJlYWRlbGYuYzo5MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkVSUk9SOiBCYWQgc2VjdGlvbiBsZW5ndGggKCVkID4gJWQpXG4iCittc2dzdHIgIkVSUk9SOiBQYW5qYW5nIGRhZXJhaCBidXJ1ayAoJWQgPiAlZClcbiIKKworIzogcmVhZGVsZi5jOjkxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRVJST1I6IEJhZCBzdWJzZWN0aW9uIGxlbmd0aCAoJWQgPiAlZClcbiIKK21zZ3N0ciAiRVJST1I6IHBhbmphbmcgc3Vic2VjdGlvbiBidXJ1ayAoJWQgPiAlZClcbiIKKworIzogcmVhZGVsZi5jOjkyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBmb3JtYXQgJyVjJ1xuIgorbXNnc3RyICJGb3JtYXQgJyVjJyB0aWRhayBkaWtldGFodWlcbiIKKworIzogcmVhZGVsZi5jOjkzODIgcmVhZGVsZi5jOjk4OTcKK21zZ2lkICJsaWJsaXN0IgorbXNnc3RyICJsaWJsaXN0IgorCisjOiByZWFkZWxmLmM6OTQ2OQorbXNnaWQgIm9wdGlvbnMiCittc2dzdHIgIm9wc2kiCisKKyM6IHJlYWRlbGYuYzo5NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZWN0aW9uICclcycgY29udGFpbnMgJWQgZW50cmllczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRhZXJhaCAnJXMnIGJlcmlzaSAlZCBtYXN1a2FuOlxuIgorCisjOiByZWFkZWxmLmM6OTY2MAorbXNnaWQgImNvbmZsaWN0IGxpc3QgZm91bmQgd2l0aG91dCBhIGR5bmFtaWMgc3ltYm9sIHRhYmxlXG4iCittc2dzdHIgImRhZnRhciBrb25mbGlrIGRpdGVtdWthbiB0YW5wYSBzZWJ1YWggdGFiZWwgc2ltYm9sIGRpbmFtaXNcbiIKKworIzogcmVhZGVsZi5jOjk2NzYgcmVhZGVsZi5jOjk2OTAKK21zZ2lkICJjb25mbGljdCIKK21zZ3N0ciAia29uZmxpayIKKworIzogcmVhZGVsZi5jOjk3MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlY3Rpb24gJy5jb25mbGljdCcgY29udGFpbnMgJWx1IGVudHJpZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJEYWVyYWggJy5jb25mbGljdCcgYmVyaXNpICVsdSBtYXN1a2FuOlxuIgorCisjOiByZWFkZWxmLmM6OTcwMgorbXNnaWQgIiAgTnVtOiAgICBJbmRleCAgICAgICBWYWx1ZSAgTmFtZSIKK21zZ3N0ciAiICBOdW06ICAgIEluZGVrcyAgICAgIE5pbGFpICBOYW1hIgorCisjOiByZWFkZWxmLmM6OTczNAorbXNnaWQgIkdPVCIKK21zZ3N0ciAiR09UIgorCisjOiByZWFkZWxmLmM6OTczNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiUHJpbWFyeSBHT1Q6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJHT1QgVXRhbWE6XG4iCisKKyM6IHJlYWRlbGYuYzo5NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiBDYW5vbmljYWwgZ3AgdmFsdWU6ICIKK21zZ3N0ciAiIEthbm9uaWthbCBuaWxhaSBncDogIgorCisjOiByZWFkZWxmLmM6OTc0MCByZWFkZWxmLmM6OTgzMQorIywgYy1mb3JtYXQKK21zZ2lkICIgUmVzZXJ2ZWQgZW50cmllczpcbiIKK21zZ3N0ciAiIE1hc3VrYW4gdGVycGVzYW46XG4iCisKKyM6IHJlYWRlbGYuYzo5NzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgJSpzICUxMHMgJSpzIFB1cnBvc2VcbiIKK21zZ3N0ciAiICAlKnMgJTEwcyAlKnMgVHVqdWFuXG4iCisKKyM6IHJlYWRlbGYuYzo5NzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiBMb2NhbCBlbnRyaWVzOlxuIgorbXNnc3RyICIgTWFzdWthbiBsb2thbDpcbiIKKworIzogcmVhZGVsZi5jOjk3NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAlKnMgJTEwcyAlKnNcbiIKK21zZ3N0ciAiICAlKnMgJTEwcyAlKnNcbiIKKworIzogcmVhZGVsZi5jOjk3NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIEdsb2JhbCBlbnRyaWVzOlxuIgorbXNnc3RyICIgTWFzdWthbiBnbG9iYWw6XG4iCisKKyM6IHJlYWRlbGYuYzo5Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgJSpzICUxMHMgJSpzICUqcyAlLTdzICUzcyAlc1xuIgorbXNnc3RyICIgICUqcyAlMTBzICUqcyAlKnMgJS03cyAlM3MgJXNcbiIKKworIzogcmVhZGVsZi5jOjk4MjkKK21zZ2lkICJQTFQgR09UIgorbXNnc3RyICJQTFQgR09UIgorCisjOiByZWFkZWxmLmM6OTgzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiUExUIEdPVDpcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBMVCBHT1Q6XG4iCisiXG4iCisKKyM6IHJlYWRlbGYuYzo5ODMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgJSpzICUqcyBQdXJwb3NlXG4iCittc2dzdHIgIiAgJSpzICAlKnMgVHVqdWFuXG4iCisKKyM6IHJlYWRlbGYuYzo5ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiBFbnRyaWVzOlxuIgorbXNnc3RyICIgTWFzdWthbjpcbiIKKworIzogcmVhZGVsZi5jOjk4NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAlKnMgJSpzICUqcyAlLTdzICUzcyAlc1xuIgorbXNnc3RyICIgICUqcyAlKnMgJSpzICUtN3MgJTNzICVzXG4iCisKKyM6IHJlYWRlbGYuYzo5OTA0Cittc2dpZCAibGlibGlzdCBzdHJpbmcgdGFibGUiCittc2dzdHIgImxpYmxpc3QgdGFiZWwgc3RyaW5nIgorCisjOiByZWFkZWxmLmM6OTkxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGlicmFyeSBsaXN0IHNlY3Rpb24gJyVzJyBjb250YWlucyAlbHUgZW50cmllczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRhZnRhciBwZXJwdXN0YWthYW4gZGFlcmFoICclcycgYmVyaXNpICVsdSBtYXN1a2FuOlxuIgorCisjOiByZWFkZWxmLmM6OTk2NworbXNnaWQgIk5UX0FVWFYgKGF1eGlsaWFyeSB2ZWN0b3IpIgorbXNnc3RyICJOVF9BVVhWIChhdXhpbGlhcnkgdmVjdG9yKSIKKworIzogcmVhZGVsZi5jOjk5NjkKK21zZ2lkICJOVF9QUlNUQVRVUyAocHJzdGF0dXMgc3RydWN0dXJlKSIKK21zZ3N0ciAiTlRfUFJTVEFUVVMgKHByc3RhdHVzIHN0cnVrdHVyKSIKKworIzogcmVhZGVsZi5jOjk5NzEKK21zZ2lkICJOVF9GUFJFR1NFVCAoZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzKSIKK21zZ3N0ciAiTlRfRlBSRUdTRVQgKHJlZ2lzdGVyIGJpbGFuZ2FuIHBlY2FoYW4pIgorCisjOiByZWFkZWxmLmM6OTk3MworbXNnaWQgIk5UX1BSUFNJTkZPIChwcnBzaW5mbyBzdHJ1Y3R1cmUpIgorbXNnc3RyICJOVF9QUlBTSU5GTyAocHJwc2luZm8gc3RydWt0dXIpIgorCisjOiByZWFkZWxmLmM6OTk3NQorbXNnaWQgIk5UX1RBU0tTVFJVQ1QgKHRhc2sgc3RydWN0dXJlKSIKK21zZ3N0ciAiTlRfVEFTS1NUUlVDVCAoc3RydWt0dXIgdHVnYXMpIgorCisjOiByZWFkZWxmLmM6OTk3NworbXNnaWQgIk5UX1BSWEZQUkVHICh1c2VyX3hmcHJlZ3Mgc3RydWN0dXJlKSIKK21zZ3N0ciAiTlRfUFJYRlBSRUcgKHN0cnVrdHVyIHVzZXJfeGZwcmVncykiCisKKyM6IHJlYWRlbGYuYzo5OTc5Cittc2dpZCAiTlRfUFBDX1ZNWCAocHBjIEFsdGl2ZWMgcmVnaXN0ZXJzKSIKK21zZ3N0ciAiTlRfUFBDX1ZNWCAocmVnaXN0ZXIgcHBjIEFsdGl2ZWMpIgorCisjOiByZWFkZWxmLmM6OTk4MQorbXNnaWQgIk5UX1BQQ19WU1ggKHBwYyBWU1ggcmVnaXN0ZXJzKSIKK21zZ3N0ciAiTlRfUFBDX1ZTWCAocmVnaXN0ZXIgcHBjIFZTWCkiCisKKyM6IHJlYWRlbGYuYzo5OTgzCittc2dpZCAiTlRfUFNUQVRVUyAocHN0YXR1cyBzdHJ1Y3R1cmUpIgorbXNnc3RyICJOVF9QU1RBVFVTIChzdHJ1a3R1ciBwc3RhdHVzKSIKKworIzogcmVhZGVsZi5jOjk5ODUKK21zZ2lkICJOVF9GUFJFR1MgKGZsb2F0aW5nIHBvaW50IHJlZ2lzdGVycykiCittc2dzdHIgIk5UX0ZQUkVHUyAocmVnaXN0ZXIgYmlsYW5nYW4gcGVjYWhhbikiCisKKyM6IHJlYWRlbGYuYzo5OTg3Cittc2dpZCAiTlRfUFNJTkZPIChwc2luZm8gc3RydWN0dXJlKSIKK21zZ3N0ciAiTlRfUFNJTkZPIChzdHJ1a3R1ciBwc2luZm8pIgorCisjOiByZWFkZWxmLmM6OTk4OQorbXNnaWQgIk5UX0xXUFNUQVRVUyAobHdwc3RhdHVzX3Qgc3RydWN0dXJlKSIKK21zZ3N0ciAiTlRfTFdQU1RBVFVTIChzdHJ1a3R1ciBsd3BzdGF0dXNfdCkiCisKKyM6IHJlYWRlbGYuYzo5OTkxCittc2dpZCAiTlRfTFdQU0lORk8gKGx3cHNpbmZvX3Qgc3RydWN0dXJlKSIKK21zZ3N0ciAiTlRfTFdQU0lORk8gKHN0cnVrdHVyIGx3cHNpbmZvX3QpIgorCisjOiByZWFkZWxmLmM6OTk5MworbXNnaWQgIk5UX1dJTjMyUFNUQVRVUyAod2luMzJfcHN0YXR1cyBzdHJ1Y3R1cmUpIgorbXNnc3RyICJOVF9XSU4zMlBTVEFUVVMgKHN0cnVrdHVyIHdpbjMyX3BzdGF0dXMpIgorCisjOiByZWFkZWxmLmM6MTAwMDEKK21zZ2lkICJOVF9WRVJTSU9OICh2ZXJzaW9uKSIKK21zZ3N0ciAiTlRfVkVSU0lPTiAodmVyc2kpIgorCisjOiByZWFkZWxmLmM6MTAwMDMKK21zZ2lkICJOVF9BUkNIIChhcmNoaXRlY3R1cmUpIgorbXNnc3RyICJOVF9BUkNIIChhcnNpdGVrdHVyKSIKKworIzogcmVhZGVsZi5jOjEwMDA4IHJlYWRlbGYuYzoxMDAzMSByZWFkZWxmLmM6MTAwNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBub3RlIHR5cGU6ICgweCUwOHgpIgorbXNnc3RyICJUaXBlIGNhdGF0YW4gdGlkYWsgZGlrZW5hbDogKDB4JTA4eCkiCisKKyM6IHJlYWRlbGYuYzoxMDAyMAorbXNnaWQgIk5UX0dOVV9BQklfVEFHIChBQkkgdmVyc2lvbiB0YWcpIgorbXNnc3RyICJOVF9HTlVfQUJJX1RBRyAoVGFuZGEgdmVyc2kgQUJJKSIKKworIzogcmVhZGVsZi5jOjEwMDIyCittc2dpZCAiTlRfR05VX0hXQ0FQIChEU08tc3VwcGxpZWQgc29mdHdhcmUgSFdDQVAgaW5mbykiCittc2dzdHIgIk5UX0dOVV9IV0NBUCAoRFNPLXN1cHBsaWVkIHNvZnR3YXJlIEhXQ0FQIGluZm8pIgorCisjOiByZWFkZWxmLmM6MTAwMjQKK21zZ2lkICJOVF9HTlVfQlVJTERfSUQgKHVuaXF1ZSBidWlsZCBJRCBiaXRzdHJpbmcpIgorbXNnc3RyICJOVF9HTlVfQlVJTERfSUQgKHVuaWsgSUQgcGVtYnVhdGFuIGJpdHN0cmluZykiCisKKyM6IHJlYWRlbGYuYzoxMDAyNgorbXNnaWQgIk5UX0dOVV9HT0xEX1ZFUlNJT04gKGdvbGQgdmVyc2lvbikiCittc2dzdHIgIk5UX0dOVV9HT0xEX1ZFUlNJT04gKHZlcnNpIGVtYXMpIgorCisjLiBOZXRCU0QgY29yZSAicHJvY2luZm8iIHN0cnVjdHVyZS4KKyM6IHJlYWRlbGYuYzoxMDA0MworbXNnaWQgIk5ldEJTRCBwcm9jaW5mbyBzdHJ1Y3R1cmUiCittc2dzdHIgIk5ldEJTRCBzdHJ1a3R1ciBwcm9jaW5mbyIKKworIzogcmVhZGVsZi5jOjEwMDcwIHJlYWRlbGYuYzoxMDA4NAorbXNnaWQgIlBUX0dFVFJFR1MgKHJlZyBzdHJ1Y3R1cmUpIgorbXNnc3RyICJQVF9HRVRSRUdTIChzdHJ1a3R1ciByZWcpIgorCisjOiByZWFkZWxmLmM6MTAwNzIgcmVhZGVsZi5jOjEwMDg2Cittc2dpZCAiUFRfR0VURlBSRUdTIChmcHJlZyBzdHJ1Y3R1cmUpIgorbXNnc3RyICJQVF9HRVRGUFJFR1MgKHN0cnVrdHVyIGZwcmVnKSIKKworIzogcmVhZGVsZi5jOjEwMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBUX0ZJUlNUTUFDSCslZCIKK21zZ3N0ciAiUFRfRklSU1RNQUNIKyVkIgorCisjOiByZWFkZWxmLmM6MTAxNDgKK21zZ2lkICJub3RlcyIKK21zZ3N0ciAiY2F0YXRhbiIKKworIzogcmVhZGVsZi5jOjEwMTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJOb3RlcyBhdCBvZmZzZXQgMHglMDhseCB3aXRoIGxlbmd0aCAweCUwOGx4OlxuIgorbXNnc3RyICIiCisiXG4iCisiQ2F0YXRhbiBkaSBvZnNldCAweCUwOGx4IGRlbmdhbiBwYW5qYW5nIDB4JTA4bHg6XG4iCisKKyM6IHJlYWRlbGYuYzoxMDE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIgIE93bmVyXHRcdERhdGEgc2l6ZVx0RGVzY3JpcHRpb25cbiIKK21zZ3N0ciAiICBQZW1pbGlrXHRcdEJlc2FyIERhdGFcdERlc2tyaXBzaVxuIgorCisjOiByZWFkZWxmLmM6MTAxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29ycnVwdCBub3RlIGZvdW5kIGF0IG9mZnNldCAlbHggaW50byBjb3JlIG5vdGVzXG4iCittc2dzdHIgImNhdGF0YW4gdGVya29ydXBzaSBkaXRlbXVrYW4gZGkgb2ZzZXQgJWx4IGtlZGFsYW0gY29yZSBub3Rlc1xuIgorCisjOiByZWFkZWxmLmM6MTAxNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIHR5cGU6ICVseCwgbmFtZXNpemU6ICUwOGx4LCBkZXNjc2l6ZTogJTA4bHhcbiIKK21zZ3N0ciAiIHRpcGU6ICVseCwgbmFtZXNpemU6ICUwOGx4LCBkZXNjc2l6ZTogJTA4bHhcbiIKKworIzogcmVhZGVsZi5jOjEwMjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIG5vdGUgc2VnbWVudHMgcHJlc2VudCBpbiB0aGUgY29yZSBmaWxlLlxuIgorbXNnc3RyICJUaWRhayBhZGEgY2F0YXRhbiBzZWdtZW4gaGFkaXIgZGFsYW0gYmVya2FzIGludGkuXG4iCisKKyM6IHJlYWRlbGYuYzoxMDM1OQorbXNnaWQgIiIKKyJUaGlzIGluc3RhbmNlIG9mIHJlYWRlbGYgaGFzIGJlZW4gYnVpbHQgd2l0aG91dCBzdXBwb3J0IGZvciBhXG4iCisiNjQgYml0IGRhdGEgdHlwZSBhbmQgc28gaXQgY2Fubm90IHJlYWQgNjQgYml0IEVMRiBmaWxlcy5cbiIKK21zZ3N0ciAiIgorIkluc3RhbmNlIGluaSBkYXJpIHJlYWRlbGYgdGVsYWggZGlidWF0IHRhbnBhIGR1a3VuZ2FuIHVudHVrXG4iCisidGlwZSBkYXRhIDY0IGJpdCBkYW4gamFkaSBpbmkgdGlkYWsgZGFwYXQgbWVtYmFjYSBiZXJrYXMgRUxGIDY0IGJpdC5cbiIKKworIzogcmVhZGVsZi5jOjEwNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGYWlsZWQgdG8gcmVhZCBmaWxlIGhlYWRlclxuIgorbXNnc3RyICIlczogR2FnYWwgdW50dWsgbWVtYmFjYSBiZXJrYXMgaGVhZGVyXG4iCisKKyM6IHJlYWRlbGYuYzoxMDQxOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRmlsZTogJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIkJlcmthczogJXNcbiIKKworIzogcmVhZGVsZi5jOjEwNTcyIHJlYWRlbGYuYzoxMDg5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgYXJjaGl2ZSBoZWFkZXJcbiIKK21zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIG1lbWJhY2EgaGVhZGVyIGFyY2hpdmVcbiIKKworIzogcmVhZGVsZi5jOjEwNTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgYXJjaGl2ZSBpbmRleCBpcyBlbXB0eVxuIgorbXNnc3RyICIlczogaW5kZWtzIGFyY2hpdmUga29zb25nXG4iCisKKyM6IHJlYWRlbGYuYzoxMDYwMyByZWFkZWxmLmM6MTA2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGFyY2hpdmUgaW5kZXhcbiIKK21zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIG1lbWJhY2EgYXJjaGl2ZSBpbmRla3NcbiIKKworIzogcmVhZGVsZi5jOjEwNjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgYXJjaGl2ZSBpbmRleCBpcyBzdXBwb3NlZCB0byBoYXZlICVsZCBlbnRyaWVzLCBidXQgdGhlIHNpemUgaW4gdGhlIGhlYWRlciBpcyB0b28gc21hbGxcbiIKK21zZ3N0ciAiJXM6IGFyY2hpdmUgaW5kZWtzIHNlaGFydXNueWEgbWVtaWxpa2kgJWxkIG1hc3VrYW4sIHRldGFwaSB1a3VyYW4gZGFsYW0gaGVhZGVyIHRlcmxhbHUga2VjaWxcbiIKKworIzogcmVhZGVsZi5jOjEwNjE5Cittc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGlsc3QgdHJ5aW5nIHRvIHJlYWQgYXJjaGl2ZSBzeW1ib2wgaW5kZXhcbiIKK21zZ3N0ciAiS2VoYWJpc2FuIG1lbWVyaSBrZXRpa2EgbWVuY29iYSBtZW1iYWNhIGluZGVrcyBzaW1ib2wgYXJjaGl2ZVxuIgorCisjOiByZWFkZWxmLmM6MTA2MzcKK21zZ2lkICJPdXQgb2YgbWVtb3J5IHdoaWxzdCB0cnlpbmcgdG8gY29udmVydCB0aGUgYXJjaGl2ZSBzeW1ib2wgaW5kZXhcbiIKK21zZ3N0ciAiS2VoYWJpc2FuIG1lbW9yaSBrZXRpa2EgbWVuY29iYSBtZW5ndWJhayBpbmRla3Mgc2ltYm9sIGFyY2hpdmVcbiIKKworIzogcmVhZGVsZi5jOjEwNjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgYXJjaGl2ZSBoYXMgYW4gaW5kZXggYnV0IG5vIHN5bWJvbHNcbiIKK21zZ3N0ciAiJXM6IGFyY2hpdmUgbWVtaWxpa2kgc2VidWFoIGluZGVrcyB0ZXRhcGkgYnVrYW4gc2ltYm9sXG4iCisKKyM6IHJlYWRlbGYuYzoxMDY1NworbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hpbHN0IHRyeWluZyB0byByZWFkIGFyY2hpdmUgaW5kZXggc3ltYm9sIHRhYmxlXG4iCittc2dzdHIgIktlaGFiaXNhbiBtZW1vcmkga2V0aWthIG1lbmNvYmEgdW50dWsgbWVtYmFjYSBpbmRla3MgdGFiZWwgc2ltYm9sIGFyY2hpdmVcbiIKKworIzogcmVhZGVsZi5jOjEwNjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBhcmNoaXZlIGluZGV4IHN5bWJvbCB0YWJsZVxuIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYmFjYSBpbmRla3Mgc2ltYm9sIHRhYmVsIGFyY2hpdmVcbiIKKworIzogcmVhZGVsZi5jOjEwNjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2tpcCBhcmNoaXZlIHN5bWJvbCB0YWJsZVxuIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVsZXdhdGkgc2ltYm9sIHRhYmVsIGFyY2hpdmVcbiIKKworIzogcmVhZGVsZi5jOjEwNjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBhcmNoaXZlIGhlYWRlciBmb2xsb3dpbmcgYXJjaGl2ZSBpbmRleFxuIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYmFjYSBhcmNoaXZlIGhlYWRlciBkYXJpIGluZGVrcyBhcmNoaXZlIGJlcmlrdXRcbiIKKworIzogcmVhZGVsZi5jOjEwNjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBubyBhcmNoaXZlIGluZGV4XG4iCittc2dzdHIgIiVzIHRpZGFrIG1lbWlsaWtpIGluZGVrcyBhcmNoaXZlXG4iCisKKyM6IHJlYWRlbGYuYzoxMDcwNAorbXNnaWQgIk91dCBvZiBtZW1vcnkgcmVhZGluZyBsb25nIHN5bWJvbCBuYW1lcyBpbiBhcmNoaXZlXG4iCittc2dzdHIgIktlaGFiaXNhbiBtZW1vcmkgbWVtYmFjYSBuYW1hIHNpbWJvbCBwYW5qYW5nIGRhbGFtIGFyY2hpdmVcbiIKKworIzogcmVhZGVsZi5jOjEwNzEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBsb25nIHN5bWJvbCBuYW1lIHN0cmluZyB0YWJsZVxuIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYmFjYSBuYW1hIHNpbWJvbCBwYW5qYW5nIHRhYmVsIHN0cmluZ1xuIgorCisjOiByZWFkZWxmLmM6MTA3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGFyY2hpdmUgaGVhZGVyIGZvbGxvd2luZyBsb25nIHN5bWJvbCBuYW1lc1xuIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYmFjYSBhcmNoaXZlIGhlYWRlciBkYXJpIG5hbWEgc2ltYm9sIHBhbmphbmcgYmVyaWt1dFxuIgorCisjOiByZWFkZWxmLmM6MTA3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBkdW1wIHRoZSBpbmRleCBhcyBub25lIHdhcyBmb3VuZFxuIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVuZGV1bXAgaW5kZWtzIHNlYmFnYWkga29zb25nIHRlbGFoIGRpdGVtdWthblxuIgorCisjOiByZWFkZWxmLmM6MTA3NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5kZXggb2YgYXJjaGl2ZSAlczogKCVsZCBlbnRyaWVzLCAweCVseCBieXRlcyBpbiB0aGUgc3ltYm9sIHRhYmxlKVxuIgorbXNnc3RyICJJbmRla3MgZGFyaSBhcmNoaXZlICVzOiAoJWxkIG1hc3VrYW4sIDB4JWx4IGJ5dGVzIGRhbGFtIHRhYmVsIHNpbWJvbClcbiIKKworIzogcmVhZGVsZi5jOjEwNzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBuZXh0IGZpbGUgbmFtZVxuIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVuY2FyaSBuYW1hIGJlcmthcyBzZWxhbmp1dG55YVxuIgorCisjOiByZWFkZWxmLmM6MTA3NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGZpbGUgbmFtZVxuIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYmFjYSBuYW1hIGJlcmthc1xuIgorCisjOiByZWFkZWxmLmM6MTA3NzMgcmVhZGVsZi5jOjEwNzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJpbmFyeSAlcyBjb250YWluczpcbiIKK21zZ3N0ciAiQmluYXJpICVzIGJlcmlzaTpcbiIKKworIzogcmVhZGVsZi5jOjEwNzg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmQgb2YgdGhlIHN5bWJvbCB0YWJsZSByZWFjaGVkIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSBpbmRleFxuIgorbXNnc3RyICIlczogYWtoaXIgZGFyaSBzaW1iZWwgdGFiZWwgZGljYXBhaSBzZWJlbHVtIGFraGlyIGRhcmkgaW5kZWtzXG4iCisKKyM6IHJlYWRlbGYuYzoxMDc5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3ltYm9scyByZW1haW4gaW4gdGhlIGluZGV4IHN5bWJvbCB0YWJsZSwgYnV0IHdpdGhvdXQgY29ycmVzcG9uZGluZyBlbnRyaWVzIGluIHRoZSBpbmRleCB0YWJsZVxuIgorbXNnc3RyICIlczogc2ltYm9sIHRldGFwIGJlcmFkYSBkYWxhbSB0YWJlbCBzaW1ib2wgaW5kZWtzLCB0ZXRhcGkgdGFucGEgbWFzdWthbiB5YW5nIGJlcmh1YnVuZ2EgZGFsYW0gdGFiZWwgaW5kZWtzXG4iCisKKyM6IHJlYWRlbGYuYzoxMDgwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgYmFjayB0byBzdGFydCBvZiBvYmplY3QgZmlsZXMgaW4gdGhlIGFyY2hpdmVcbiIKK21zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIHNlZWsgYmFjayBrZSBhd2FsIGRhcmkgYmVya2FzIG9iamVrIGRhbGFtIGFyY2hpdmVcbiIKKworIzogcmVhZGVsZi5jOjEwODMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGFyY2hpdmUgc3RyaW5nIHRhYmxlIG9mZnNldCAlbHVcbiIKK21zZ3N0ciAiJXM6IG9mc2V0IHRhYmVsIHN0cmluZyBhcmNoaXZlIHRpZGFrIHZhbGlkICVsdVxuIgorCisjOiByZWFkZWxmLmM6MTA4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBhcmNoaXZlIGZpbGUgbmFtZVxuIgorbXNnc3RyICIlczogbmFtYSBiZXJrYXMgYXJjaGl2ZSBidXJ1a1xuIgorCisjOiByZWFkZWxmLmM6MTA4ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIG5leHQgYXJjaGl2ZSBoZWFkZXJcbiIKK21zZ3N0ciAiJXM6IGdhZ2FrIHVudHVrIG1lbmNhcmFpIGhlYWRlciBhcmNoaXZlIHNlbGFuanV0bnlhXG4iCisKKyM6IHJlYWRlbGYuYzoxMDkyMAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnOiBObyBzdWNoIGZpbGVcbiIKK21zZ3N0ciAiJyVzJzogVGlkYWsgYWRhIGJlcmthcyBzZXBlcnRpIGl0dVxuIgorCisjOiByZWFkZWxmLmM6MTA5MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGxvY2F0ZSAnJXMnLiAgU3lzdGVtIGVycm9yIG1lc3NhZ2U6ICVzXG4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmVtdWthbiAnJXMnLiBQZXNhbiBlcnJvciBzaXN0ZW06ICVzXG4iCisKKyM6IHJlYWRlbGYuYzoxMDkyOQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhbiBvcmRpbmFyeSBmaWxlXG4iCittc2dzdHIgIiclcycgYnVrYW4gc2VidWFoIGJlcmthcyBiaWFzYVxuIgorCisjOiByZWFkZWxmLmM6MTA5MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5wdXQgZmlsZSAnJXMnIGlzIG5vdCByZWFkYWJsZS5cbiIKK21zZ3N0ciAiQmVya2FzIG1hc3VrYW4gJyVzJyB0aWRhayBkYXBhdCBkaWJhY2EuXG4iCisKKyM6IHJlYWRlbGYuYzoxMDk0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRmFpbGVkIHRvIHJlYWQgZmlsZSdzIG1hZ2ljIG51bWJlclxuIgorbXNnc3RyICIlczogR2FnYWwgbWVtYmFjYSBiZXJrYXMgbm9tb3IgbWFnaWtcbiIKKworIzogcmVhZGVsZi5jOjEwOTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGUgJXMgaXMgbm90IGFuIGFyY2hpdmUgc28gaXRzIGluZGV4IGNhbm5vdCBiZSBkaXNwbGF5ZWQuXG4iCittc2dzdHIgIkJlcmthcyAlcyBidWthbiBzZWJ1YWggYXJjaGl2ZSBqYWRpIGluZGVrc255YSB0aWRhayBkYXBhdCBkaXRhbXBpbGthbi5cbiIKKworIzogcmVuYW1lLmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3Qgc2V0IHRpbWU6ICVzIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVuc2V0IHdha3R1OiAlcyIKKworIy4gV2UgaGF2ZSB0byBjbGVhbiB1cCBoZXJlLgorIzogcmVuYW1lLmM6MTU5IHJlbmFtZS5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVuYW1lICclcyc7IHJlYXNvbjogJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmd1YmFoIG5hbWEgJyVzJzsgYWxhc2FuOiAlcyIKKworIzogcmVuYW1lLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjb3B5IGZpbGUgJyVzJzsgcmVhc29uOiAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVueWFsaW4gYmVya2FzICclcyc7IGFsYXNhbjogJXMiCisKKyM6IHJlc2Jpbi5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBiaW5hcnkgZGF0YSIKK21zZ3N0ciAiJXM6IHRpZGFrIGN1a3VwIGRhdGEgYmluYXJpIgorCisjOiByZXNiaW4uYzoxMzYKK21zZ2lkICJudWxsIHRlcm1pbmF0ZWQgdW5pY29kZSBzdHJpbmciCittc2dzdHIgImtvc29uZyBkaWFraGlyIHN0cmluZyB1bmljb2RlIgorCisjOiByZXNiaW4uYzoxNjMgcmVzYmluLmM6MTY5Cittc2dpZCAicmVzb3VyY2UgSUQiCittc2dzdHIgIklEIHN1bWJlciBkYXlhIgorCisjOiByZXNiaW4uYzoyMDgKK21zZ2lkICJjdXJzb3IiCittc2dzdHIgImt1cnNvciIKKworIzogcmVzYmluLmM6MjM5IHJlc2Jpbi5jOjI0NgorbXNnaWQgIm1lbnUgaGVhZGVyIgorbXNnc3RyICJtZW51IGhlYWRlciIKKworIzogcmVzYmluLmM6MjU1Cittc2dpZCAibWVudWV4IGhlYWRlciIKK21zZ3N0ciAibWVudWV4IGhlYWRlciIKKworIzogcmVzYmluLmM6MjU5Cittc2dpZCAibWVudWV4IG9mZnNldCIKK21zZ3N0ciAibWVudWV4IG9mc2V0IgorCisjOiByZXNiaW4uYzoyNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbWVudSB2ZXJzaW9uICVkIgorbXNnc3RyICJ2ZXJzaSBtZW51ICVkIHRpZGFrIGRpZHVrdW5nIgorCisjOiByZXNiaW4uYzoyODkgcmVzYmluLmM6MzA0IHJlc2Jpbi5jOjM2NgorbXNnaWQgIm1lbnVpdGVtIGhlYWRlciIKK21zZ3N0ciAibWVudWl0ZW0gaGVhZGVyIgorCisjOiByZXNiaW4uYzozOTYKK21zZ2lkICJtZW51aXRlbSIKK21zZ3N0ciAibWVudWl0ZW0iCisKKyM6IHJlc2Jpbi5jOjQzMyByZXNiaW4uYzo0NjEKK21zZ2lkICJkaWFsb2cgaGVhZGVyIgorbXNnc3RyICJoZWFkZXIgZGlhbG9nIgorCisjOiByZXNiaW4uYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBESUFMT0dFWCB2ZXJzaW9uICVkIgorbXNnc3RyICJ2ZXJzaSAlZCBESUFMT0dFWCB0aWRhayB0ZXJkdWdhIgorCisjOiByZXNiaW4uYzo0OTYKK21zZ2lkICJkaWFsb2cgZm9udCBwb2ludCBzaXplIgorbXNnc3RyICJkaWFsb2cgdWt1cmFuIHRpdGlrIGZvbnQiCisKKyM6IHJlc2Jpbi5jOjUwNAorbXNnaWQgImRpYWxvZ2V4IGZvbnQgaW5mb3JtYXRpb24iCittc2dzdHIgImluZm9ybWFzaSBmb250IGRpYWxvZ2V4IgorCisjOiByZXNiaW4uYzo1MzAgcmVzYmluLmM6NTQ4Cittc2dpZCAiZGlhbG9nIGNvbnRyb2wiCittc2dzdHIgImtvbnRyb2wgZGlhbG9nIgorCisjOiByZXNiaW4uYzo1NDAKK21zZ2lkICJkaWFsb2dleCBjb250cm9sIgorbXNnc3RyICJrb250cm9sIGRpYWxvZ2V4IgorCisjOiByZXNiaW4uYzo1NjkKK21zZ2lkICJkaWFsb2cgY29udHJvbCBlbmQiCittc2dzdHIgImFraGlyIGtvbnRyb2wgZGlhbG9nIgorCisjOiByZXNiaW4uYzo1ODEKK21zZ2lkICJkaWFsb2cgY29udHJvbCBkYXRhIgorbXNnc3RyICJrb250cm9sIGRhdGEgZGlhbG9nIgorCisjOiByZXNiaW4uYzo2MjEKK21zZ2lkICJzdHJpbmd0YWJsZSBzdHJpbmcgbGVuZ3RoIgorbXNnc3RyICJwYW5qYW5nIHN0cmluZyBzdHJpbmd0YWJlbCIKKworIzogcmVzYmluLmM6NjMxCittc2dpZCAic3RyaW5ndGFibGUgc3RyaW5nIgorbXNnc3RyICJzdHJpbmd0YWJlbCBzdHJpbmciCisKKyM6IHJlc2Jpbi5jOjY2MQorbXNnaWQgImZvbnRkaXIgaGVhZGVyIgorbXNnc3RyICJmb250ZGlyIGhlYWRlciIKKworIzogcmVzYmluLmM6Njc1Cittc2dpZCAiZm9udGRpciIKK21zZ3N0ciAiZm9udGRpciIKKworIzogcmVzYmluLmM6NjkyCittc2dpZCAiZm9udGRpciBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiZm9udGRpciBuYW1hIHBlcmFuZ2thdCIKKworIzogcmVzYmluLmM6Njk4Cittc2dpZCAiZm9udGRpciBmYWNlIG5hbWUiCittc2dzdHIgImZvbnRkaXIgbmFtYSBtdWthIgorCisjOiByZXNiaW4uYzo3MzgKK21zZ2lkICJhY2NlbGVyYXRvciIKK21zZ3N0ciAiYWtzZWxlcmF0b3IiCisKKyM6IHJlc2Jpbi5jOjc5NworbXNnaWQgImdyb3VwIGN1cnNvciBoZWFkZXIiCittc2dzdHIgImdydXAga3Vyc29yIGhlYWRlciIKKworIzogcmVzYmluLmM6ODAxIHJlc3JjLmM6MTM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGdyb3VwIGN1cnNvciB0eXBlICVkIgorbXNnc3RyICJ0aXBlIGt1cnNvciAlZCBncnVwIHRpZGFrIHRlcmR1Z2EiCisKKyM6IHJlc2Jpbi5jOjgxNgorbXNnaWQgImdyb3VwIGN1cnNvciIKK21zZ3N0ciAiZ3J1cCBrdXJzb3IiCisKKyM6IHJlc2Jpbi5jOjg1MgorbXNnaWQgImdyb3VwIGljb24gaGVhZGVyIgorbXNnc3RyICJncnVwIGlrb24gaGVhZGVyIgorCisjOiByZXNiaW4uYzo4NTYgcmVzcmMuYzoxMzAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZ3JvdXAgaWNvbiB0eXBlICVkIgorbXNnc3RyICJ0aXBlIGlrb24gZ3J1cCAlZCB0aWRhayB0ZXJkdWdhIgorCisjOiByZXNiaW4uYzo4NzEKK21zZ2lkICJncm91cCBpY29uIgorbXNnc3RyICJncnVwIGlrb24iCisKKyM6IHJlc2Jpbi5jOjkzNSByZXNiaW4uYzoxMTUxCittc2dpZCAidW5leHBlY3RlZCB2ZXJzaW9uIHN0cmluZyIKK21zZ3N0ciAic3RyaW5nIHZlcnNpIHRpZGFrIHRlcmR1Z2EiCisKKyM6IHJlc2Jpbi5jOjk2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ2ZXJzaW9uIGxlbmd0aCAlZCBkb2VzIG5vdCBtYXRjaCByZXNvdXJjZSBsZW5ndGggJWx1IgorbXNnc3RyICJwYW5qYW5nIHZlcnNpICVkIHRpZGFrIGNvY29rIGRlbmdhbiBwYW5qYW5nIHN1bWJlciBkYXlhICVsdSIKKworIzogcmVzYmluLmM6OTcwCisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmVyc2lvbiB0eXBlICVkIgorbXNnc3RyICJ0aXBlIHZlcnNpICVkIHRpZGFrIHRlcmR1Z2EiCisKKyM6IHJlc2Jpbi5jOjk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGZpeGVkIHZlcnNpb24gaW5mb3JtYXRpb24gbGVuZ3RoICVsZCIKK21zZ3N0ciAicGFuamFuZyBpbmZvcm1hc2kgdmVyc2kgJWxkIHRldGFwIHRpZGFrIHRlcmR1Z2EiCisKKyM6IHJlc2Jpbi5jOjk4NQorbXNnaWQgImZpeGVkIHZlcnNpb24gaW5mbyIKK21zZ3N0ciAiaW5mbyB2ZXJzaSB0ZXRhcCIKKworIzogcmVzYmluLmM6OTg5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZml4ZWQgdmVyc2lvbiBzaWduYXR1cmUgJWx1IgorbXNnc3RyICJ0YW5kYSB0YW5nYW4gdmVyc2kgJWx1IHRldGFwIHRpZGFrIHRlcmR1Z2EiCisKKyM6IHJlc2Jpbi5jOjk5MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGZpeGVkIHZlcnNpb24gaW5mbyB2ZXJzaW9uICVsdSIKK21zZ3N0ciAiaW5mbyB2ZXJzaSAlbHUgdmVyc2kgdGV0YXAgdGlkYWsgdGVyZHVnYSIKKworIzogcmVzYmluLmM6MTAyMgorbXNnaWQgInZlcnNpb24gdmFyIGluZm8iCittc2dzdHIgImluZm8gdmFyIHZlcnNpIgorCisjOiByZXNiaW4uYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgc3RyaW5nZmlsZWluZm8gdmFsdWUgbGVuZ3RoICVsZCIKK21zZ3N0ciAibmlsYWkgcGFuamFuZyAlbGQgc3RyaW5nZmlsZWluZm8gdGlkYWsgdGVyZHVnYSIKKworIzogcmVzYmluLmM6MTA0OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZlcnNpb24gc3RyaW5ndGFibGUgdmFsdWUgbGVuZ3RoICVsZCIKK21zZ3N0ciAibmlsYWkgcGFuamFuZyAlbGQgdmVyc2kgc3RyaW5ndGFiZWwgdGlkYWsgdGVyZHVnYSIKKworIzogcmVzYmluLmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZlcnNpb24gc3RyaW5nIGxlbmd0aCAlbGQgIT0gJWxkICsgJWxkIgorbXNnc3RyICJ2ZXJzaSBwYW5qYW5nIHN0cmluZyAlbGQgIT0gJWxkICsgJWxkIHRpZGFrIHRlcmR1Z2EiCisKKyM6IHJlc2Jpbi5jOjEwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2ZXJzaW9uIHN0cmluZyBsZW5ndGggJWxkIDwgJWxkIgorbXNnc3RyICJ2ZXJzaSBwYW5qYW5nIHN0cmluZyAlbGQgPCAlbGQgdGlkYWsgdGVyZHVnYSIKKworIzogcmVzYmluLmM6MTExMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhcmZpbGVpbmZvIHZhbHVlIGxlbmd0aCAlbGQiCittc2dzdHIgIm5pbGFpIHBhbmphbmcgdmFyZmlsZWluZm8gJWxkIHRpZGFrIHRlcmR1Z2EiCisKKyM6IHJlc2Jpbi5jOjExMzAKK21zZ2lkICJ2ZXJzaW9uIHZhcmZpbGVpbmZvIgorbXNnc3RyICJ2ZXJzaSB2YXJmaWxlaW5mbyIKKworIzogcmVzYmluLmM6MTE0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZlcnNpb24gdmFsdWUgbGVuZ3RoICVsZCIKK21zZ3N0ciAibmlsYWkgcGFuamFuZyB2ZXJzaSAlbGQgdGlkYWsgdGVyZHVnYSIKKworIzogcmVzY29mZi5jOjEyNAorbXNnaWQgImZpbGVuYW1lIHJlcXVpcmVkIGZvciBDT0ZGIGlucHV0IgorbXNnc3RyICJuYW1hIGJlcmthcyBkaWJ1dHVoa2FuIHVudHVrIG1hc3VrYW4gQ09GRiIKKworIzogcmVzY29mZi5jOjE0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcmVzb3VyY2Ugc2VjdGlvbiIKK21zZ3N0ciAiJXM6IGRhZXJhaCB0aWRhayBhZGEgc3VtYmVyIGRheWEiCisKKyM6IHJlc2NvZmYuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBhZGRyZXNzIG91dCBvZiBib3VuZHMiCittc2dzdHIgIiVzOiAlczogYWxhbWF0IGRpbHVhciBkYXJpIGlrYXRhbiIKKworIzogcmVzY29mZi5jOjE5MAorbXNnaWQgImRpcmVjdG9yeSIKK21zZ3N0ciAiZGlyZWt0b3JpIgorCisjOiByZXNjb2ZmLmM6MjE4Cittc2dpZCAibmFtZWQgZGlyZWN0b3J5IGVudHJ5IgorbXNnc3RyICJuYW1hIGRhcmkgbWFzdWthbiBkaXJla3RvcmkiCisKKyM6IHJlc2NvZmYuYzoyMjcKK21zZ2lkICJkaXJlY3RvcnkgZW50cnkgbmFtZSIKK21zZ3N0ciAibmFtYSBtYXN1a2FuIGRpcmVrdG9yaSIKKworIzogcmVzY29mZi5jOjI0NworbXNnaWQgIm5hbWVkIHN1YmRpcmVjdG9yeSIKK21zZ3N0ciAibmFtYSBzdWJkaXJla3RvcmkiCisKKyM6IHJlc2NvZmYuYzoyNTUKK21zZ2lkICJuYW1lZCByZXNvdXJjZSIKK21zZ3N0ciAibmFtYSBzdW1iZXIgZGF5YSIKKworIzogcmVzY29mZi5jOjI3MAorbXNnaWQgIklEIGRpcmVjdG9yeSBlbnRyeSIKK21zZ3N0ciAiSUQgbWFzdWthbiBkaXJla3RvcmkiCisKKyM6IHJlc2NvZmYuYzoyODcKK21zZ2lkICJJRCBzdWJkaXJlY3RvcnkiCittc2dzdHIgIklEIHN1YmRpcmVrdG9yaSIKKworIzogcmVzY29mZi5jOjI5NQorbXNnaWQgIklEIHJlc291cmNlIgorbXNnc3RyICJJRCBzdW1iZXIgZGF5YSIKKworIzogcmVzY29mZi5jOjMyMAorbXNnaWQgInJlc291cmNlIHR5cGUgdW5rbm93biIKK21zZ3N0ciAidGlwZSBzdW1iZXIgZGF5YSB0aWRhayBkaWtlbmFsIgorCisjOiByZXNjb2ZmLmM6MzIzCittc2dpZCAiZGF0YSBlbnRyeSIKK21zZ3N0ciAibWFzdWthbiBkYXRhIgorCisjOiByZXNjb2ZmLmM6MzMxCittc2dpZCAicmVzb3VyY2UgZGF0YSIKK21zZ3N0ciAic3VtYmVyIGRheWEgZGF0YSIKKworIzogcmVzY29mZi5jOjMzNgorbXNnaWQgInJlc291cmNlIGRhdGEgc2l6ZSIKK21zZ3N0ciAidWt1cmFuIGRhdGEgc3VtYmVyIGRheWEiCisKKyM6IHJlc2NvZmYuYzo0MzEKK21zZ2lkICJmaWxlbmFtZSByZXF1aXJlZCBmb3IgQ09GRiBvdXRwdXQiCittc2dzdHIgIm5hbWEgYmVya2FzIGRpYnV0dWhrYW4gdW50dWsgb3V0cHV0IENPRkYiCisKKyM6IHJlc2NvZmYuYzo3MTUKK21zZ2lkICJjYW4ndCBnZXQgQkZEX1JFTE9DX1JWQSByZWxvY2F0aW9uIHR5cGUiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBlcm9sZWggdGlwZSByZWxva2FzaSBCRkRfUkVMT0NfUlZBIgorCisjOiByZXNyYy5jOjI2MiByZXNyYy5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIGAlcyc6ICVzIgorbXNnc3RyICJ0aWRhIGRhcGF0IG1lbWJ1a2EgYmVya2FzIHNlbWVudGFyYSBgJXMnOiAlcyIKKworIzogcmVzcmMuYzoyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVkaXJlY3Qgc3Rkb3V0OiBgJXMnOiAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVyZWRpcmVrIHN0ZG91dDogYCVzJzogJXMiCisKKyM6IHJlc3JjLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiAlcyIKK21zZ3N0ciAiJXMgJXM6ICVzIgorCisjOiByZXNyYy5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBleGVjdXRlIGAlcyc6ICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5qYWxhbmthbiBgJXMnOiAlcyIKKworIzogcmVzcmMuYzozMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdGVtcG9yYXJ5IGZpbGUgYCVzJyB0byByZWFkIHByZXByb2Nlc3NvciBvdXRwdXRcbiIKK21zZ3N0ciAiTWVuZ2d1bmFrYW4gYmVya2FzIHNlbWVudGFyYSBgJXMnIHVudHVrIG1lbWJhY2Ega2VsdWFyYW4gcHJlcHJvc2Vzb3JcbiIKKworIzogcmVzcmMuYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcG9wZW4gYCVzJzogJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IHBvcGVuIGAlcyc6ICVzIgorCisjOiByZXNyYy5jOjM0NworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBwb3BlbiB0byByZWFkIHByZXByb2Nlc3NvciBvdXRwdXRcbiIKK21zZ3N0ciAiTWVuZ2d1bmFrYW4gcG9wZW4gdW50dWsgbWVtYmFjYSBrZWx1YXJhbiBwcmVwcm9zZXNvclxuIgorCisjOiByZXNyYy5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICJUcmllZCBgJXMnXG4iCittc2dzdHIgIk1lbmNvYmEgYCVzJ1xuIgorCisjOiByZXNyYy5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBgJXMnXG4iCittc2dzdHIgIk1lbmdndW5ha2FuIGAlcydcbiIKKworIzogcmVzcmMuYzo2MDgKK21zZ2lkICJwcmVwcm9jZXNzaW5nIGZhaWxlZC4iCittc2dzdHIgInByZXByb3Nlc2luZyBnYWdhbC4iCisKKyM6IHJlc3JjLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiVkOiAlc1xuIgorbXNnc3RyICIlczolZDogJXNcbiIKKworIzogcmVzcmMuYzo2MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZXhwZWN0ZWQgRU9GIgorbXNnc3RyICIlczogdGlkYWsgdGVyZHVnYSBFT0YiCisKKyM6IHJlc3JjLmM6Njg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIG9mICVsdSByZXR1cm5lZCAlbHUiCittc2dzdHIgIiVzOiBtZW1iYWNhIGRhcmkgJWx1IGRpa2VtYmFsaWthbiAlbHUiCisKKyM6IHJlc3JjLmM6NzI3IHJlc3JjLmM6MTUwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IGZhaWxlZCBvbiBiaXRtYXAgZmlsZSBgJXMnOiAlcyIKK21zZ3N0ciAic3RhdCBnYWdhbCBkYWxhbSBiZXJrYXMgYml0bWFwIGAlcyc6ICVzIgorCisjOiByZXNyYy5jOjc3OAorIywgYy1mb3JtYXQKK21zZ2lkICJjdXJzb3IgZmlsZSBgJXMnIGRvZXMgbm90IGNvbnRhaW4gY3Vyc29yIGRhdGEiCittc2dzdHIgImJlcmthcyBrdXJzb3IgYCVzJyB0aWRhayBiZXJpc2kgZGF0YSBrdXJzb3IiCisKKyM6IHJlc3JjLmM6ODEwIHJlc3JjLmM6MTIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZnNlZWsgdG8gJWx1IGZhaWxlZDogJXMiCittc2dzdHIgIiVzOiBmc2VlayBrZSAlbHUgZ2FnYWw6ICVzIgorCisjOiByZXNyYy5jOjkzNgorbXNnaWQgImhlbHAgSUQgcmVxdWlyZXMgRElBTE9HRVgiCittc2dzdHIgImhlbHAgSUQgbWVtYnV0dWhrYW4gRElBTE9HRVgiCisKKyM6IHJlc3JjLmM6OTM4Cittc2dpZCAiY29udHJvbCBkYXRhIHJlcXVpcmVzIERJQUxPR0VYIgorbXNnc3RyICJrb250cm9sIGRhdGEgbWVtYnV0dWhrYW4gRElBTE9HRVgiCisKKyM6IHJlc3JjLmM6OTY2CisjLCBjLWZvcm1hdAorbXNnaWQgInN0YXQgZmFpbGVkIG9uIGZvbnQgZmlsZSBgJXMnOiAlcyIKK21zZ3N0ciAic3RhdCBnYWdhbCBkYWxhbSBiZXJrYXMgZm9udCBgJXMnOiAlcyIKKworIzogcmVzcmMuYzoxMTc5CisjLCBjLWZvcm1hdAorbXNnaWQgImljb24gZmlsZSBgJXMnIGRvZXMgbm90IGNvbnRhaW4gaWNvbiBkYXRhIgorbXNnc3RyICJiZXJrYXMgaWtvbiBgJXMnIHRpZGFrIGJlcmlzaSBkYXRhIGlrb24iCisKKyM6IHJlc3JjLmM6MTcyNCByZXNyYy5jOjE3NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RhdCBmYWlsZWQgb24gZmlsZSBgJXMnOiAlcyIKK21zZ3N0ciAic3RhdCBnYWdhbCBkaSBiZXJrYXMgYCVzJzogJXMiCisKKyM6IHJlc3JjLmM6MTk0MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBvcGVuIGAlcycgZm9yIG91dHB1dDogJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgYCVzJyB1bnR1ayBrZWx1YXJhbjogJXMiCisKKyM6IHNpemUuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIgRGlzcGxheXMgdGhlIHNpemVzIG9mIHNlY3Rpb25zIGluc2lkZSBiaW5hcnkgZmlsZXNcbiIKK21zZ3N0ciAiIE1lbmFtcGlsa2FuIHVrdXJhbiBkYXJpIGRhZXJhaCBkaWRhbGFtIGJlcmthcyBiaW5hcmlcbiIKKworIzogc2l6ZS5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiBJZiBubyBpbnB1dCBmaWxlKHMpIGFyZSBzcGVjaWZpZWQsIGEub3V0IGlzIGFzc3VtZWRcbiIKK21zZ3N0ciAiIEppa2EgdGlkYWsgYWRhIGJlcmthcyBtYXN1a2FuIHlhbmcgZGlzcGVzaWZpa2FzaWthbiwgYS5vdXQgZGlhc3Vtc2lrYW5cbiIKKworIzogc2l6ZS5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgVGhlIG9wdGlvbnMgYXJlOlxuIgorIiAgLUF8LUIgICAgIC0tZm9ybWF0PXtzeXN2fGJlcmtlbGV5fSAgU2VsZWN0IG91dHB1dCBzdHlsZSAoZGVmYXVsdCBpcyAlcylcbiIKKyIgIC1vfC1kfC14ICAtLXJhZGl4PXs4fDEwfDE2fSAgICAgICAgIERpc3BsYXkgbnVtYmVycyBpbiBvY3RhbCwgZGVjaW1hbCBvciBoZXhcbiIKKyIgIC10ICAgICAgICAtLXRvdGFscyAgICAgICAgICAgICAgICAgIERpc3BsYXkgdGhlIHRvdGFsIHNpemVzIChCZXJrZWxleSBvbmx5KVxuIgorIiAgICAgICAgICAgIC0tY29tbW9uICAgICAgICAgICAgICAgICAgRGlzcGxheSB0b3RhbCBzaXplIGZvciAqQ09NKiBzeW1zXG4iCisiICAgICAgICAgICAgLS10YXJnZXQ9PGJmZG5hbWU+ICAgICAgICBTZXQgdGhlIGJpbmFyeSBmaWxlIGZvcm1hdFxuIgorIiAgICAgICAgICAgIEA8ZmlsZT4gICAgICAgICAgICAgICAgICAgUmVhZCBvcHRpb25zIGZyb20gPGZpbGU+XG4iCisiICAtaCAgICAgICAgLS1oZWxwICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgaW5mb3JtYXRpb25cbiIKKyIgIC12ICAgICAgICAtLXZlcnNpb24gICAgICAgICAgICAgICAgIERpc3BsYXkgdGhlIHByb2dyYW0ncyB2ZXJzaW9uXG4iCisiXG4iCittc2dzdHIgIiIKKyIgT3BzaSBhZGFsYWg6XG4iCisiICAtQXwtQiAgICAgLS1mb3JtYXQ9e3N5c3Z8YmVya2VsZXl9ICBQaWxpaCBnYXlhIGtlbHVhcmFuIChiYWt1IGFkYWxhaCAlcylcbiIKKyIgIC1vfC1kfC14ICAtLXJhZGl4PXs4fDEwfDE2fSAgICAgICAgIFRhbXBpbGthbiBub21vciBkYWxhbSBva3RhbCwgZGVzaW1hbCBhdGF1IGhla3NhZGVzaW1hbFxuIgorIiAgLXQgICAgICAgIC0tdG90YWxzICAgICAgICAgICAgICAgICAgVGFtcGlsa2FuIGp1bWxhaCB0b3RhbCAoQmVya2VsZXkgc2FqYSlcbiIKKyIgICAgICAgICAgICAtLWNvbW1vbiAgICAgICAgICAgICAgICAgIFRhbXBpbGthbiBqdW1sYWggdG90YWwgdW50dWsgKkNPTSogc3ltc1xuIgorIiAgICAgICAgICAgIC0tdGFyZ2V0PTxiZmRuYW1lPiAgICAgICAgU2V0IGZvcm1hdCBiZXJrYXMgYmluYXJpXG4iCisiICAgICAgICAgICAgQDxiZXJrYXM+ICAgICAgICAgICAgICAgICBCYWNhIG9wc2kgZGFyaSA8YmVya2FzPlxuIgorIiAgLWggICAgICAgIC0taGVscCAgICAgICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSBpbmlcbiIKKyIgIC12ICAgICAgICAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFRhbXBpbGthbiB2ZXJzaSBhcGxpa2FzaVxuIgorIlxuIgorCisjOiBzaXplLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1mb3JtYXQ6ICVzIgorbXNnc3RyICJhcmd1bWVuIHRpZGFrIHZhbGlkIGtlIC0tZm9ybWF0OiAlcyIKKworIzogc2l6ZS5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHJhZGl4OiAlc1xuIgorbXNnc3RyICJSYWRpeCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogc3Jjb252LmM6MTczMQorIywgYy1mb3JtYXQKK21zZ2lkICJDb252ZXJ0IGEgQ09GRiBvYmplY3QgZmlsZSBpbnRvIGEgU1lTUk9GRiBvYmplY3QgZmlsZVxuIgorbXNnc3RyICJNZW5ndWJhaCBzZWJ1YWggYmVya2FzIG9iamVrIENPRkYga2VkYWxhbSBzZWJ1YWggYmVya2FzIG9iamVrIFNZU1JPRkZcbiIKKworIzogc3Jjb252LmM6MTczMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIFRoZSBvcHRpb25zIGFyZTpcbiIKKyIgIC1xIC0tcXVpY2sgICAgICAgKE9ic29sZXRlIC0gaWdub3JlZClcbiIKKyIgIC1uIC0tbm9wcmVzY2FuICAgRG8gbm90IHBlcmZvcm0gYSBzY2FuIHRvIGNvbnZlcnQgY29tbW9ucyBpbnRvIGRlZnNcbiIKKyIgIC1kIC0tZGVidWcgICAgICAgRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgIEA8ZmlsZT4gICAgICAgICAgUmVhZCBvcHRpb25zIGZyb20gPGZpbGU+XG4iCisiICAtaCAtLWhlbHAgICAgICAgIERpc3BsYXkgdGhpcyBpbmZvcm1hdGlvblxuIgorIiAgLXYgLS12ZXJzaW9uICAgICBQcmludCB0aGUgcHJvZ3JhbSdzIHZlcnNpb24gbnVtYmVyXG4iCittc2dzdHIgIiIKKyIgT3BzaSBhZGFsYWg6XG4iCisiICAtcSAtLXF1aWNrICAgICAgIChLYWRhbHVhcnNhYSAtIGRpYWJhaWthbilcbiIKKyIgIC1uIC0tbm9wcmVzY2FuICAgSmFuZ2FuIGxha3VrYW4gc2VidWFoIHNjYW4gdW50dWsgbWVuZ3ViYWggY29tbW9uIG1lbmphZGkgZGVmXG4iCisiICAtZCAtLWRlYnVnICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgbWVuZ2VuYWkgYXBhIHlhbmcgc2VkYW5nIGRpa2VyamFrYW5cbiIKKyIgIEA8YmVya2FzPiAgICAgICAgQmFjYSBvcHNpIGRhcmkgPGJlcmthcz5cbiIKKyIgIC1oIC0taGVscCAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSBpbmlcbiIKKyIgIC12IC0tdmVyc2lvbiAgICAgVGFtcGlsa2FuIG5vbW9yIHZlcnNpIGFwbGlrYXNpXG4iCisKKyM6IHNyY29udi5jOjE4NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG9wZW4gb3V0cHV0IGZpbGUgJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgYmVya2FzIGtlbHVhcmFuICVzIgorCisjOiBzdGFicy5jOjMyOCBzdGFicy5jOjE3MDYKK21zZ2lkICJudW1lcmljIG92ZXJmbG93IgorbXNnc3RyICJudW1lcmlrIG92ZXJmbG93IgorCisjOiBzdGFicy5jOjMzOAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgc3RhYjogJXNcbiIKK21zZ3N0ciAiQmFkIHN0YWI6ICVzXG4iCisKKyM6IHN0YWJzLmM6MzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6ICVzOiAlc1xuIgorbXNnc3RyICJQZXJpbmdhdGFuOiAlczogJXNcbiIKKworIzogc3RhYnMuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTl9MQlJBQyBub3Qgd2l0aGluIGZ1bmN0aW9uXG4iCittc2dzdHIgIk5fTEJSQUMgdGlkYWsgZGFsYW0gZnVuZ3NpXG4iCisKKyM6IHN0YWJzLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRvbyBtYW55IE5fUkJSQUNzXG4iCittc2dzdHIgIlRlcmxhbHUgYmFueWFrIE5fUkJSQUNcbiIKKworIzogc3RhYnMuYzo3MzYKK21zZ2lkICJ1bmtub3duIEMrKyBlbmNvZGVkIG5hbWUiCittc2dzdHIgIm5hbWEgQysrIHRlcmVua29kZSB0aWRhayBkaWtlbmFsIgorCisjLiBDb21wbGFpbiBhbmQga2VlcCBnb2luZywgc28gY29tcGlsZXJzIGNhbiBpbnZlbnQgbmV3CisjLiBjcm9zcy1yZWZlcmVuY2UgdHlwZXMuCisjOiBzdGFicy5jOjEyNTEKK21zZ2lkICJ1bnJlY29nbml6ZWQgY3Jvc3MgcmVmZXJlbmNlIHR5cGUiCittc2dzdHIgInRpcGUgcmVmZXJlbnNpIHNpbGFuZyB0aWRhayBkaWtlbmFsIgorCisjLiBEb2VzIHRoaXMgYWN0dWFsbHkgZXZlciBoYXBwZW4/ICBJcyB0aGF0IHdoeSB3ZSBhcmUgd29ycnlpbmcKKyMuIGFib3V0IGRlYWxpbmcgd2l0aCBpdCByYXRoZXIgdGhhbiBqdXN0IGNhbGxpbmcgZXJyb3JfdHlwZT8KKyM6IHN0YWJzLmM6MTc5OAorbXNnaWQgIm1pc3NpbmcgaW5kZXggdHlwZSIKK21zZ3N0ciAiaGlsYW5nIHRpcGUgaW5kZWtzIgorCisjOiBzdGFicy5jOjIxMTIKK21zZ2lkICJ1bmtub3duIHZpcnR1YWwgY2hhcmFjdGVyIGZvciBiYXNlY2xhc3MiCittc2dzdHIgImthcmFrdGVyIG1heWEgdW50dWsgYmFzZWNsYXNzIHRpZGFrIGRpa2VuYWwiCisKKyM6IHN0YWJzLmM6MjEzMAorbXNnaWQgInVua25vd24gdmlzaWJpbGl0eSBjaGFyYWN0ZXIgZm9yIGJhc2VjbGFzcyIKK21zZ3N0ciAia2FyYWt0ZXIgdmlzaWJlbCB1bnR1ayBiYXNlY2xhc3MgdGlkYWsgZGlrZW5hbCIKKworIzogc3RhYnMuYzoyMzE2Cittc2dpZCAidW5uYW1lZCAkdmIgdHlwZSIKK21zZ3N0ciAidW5uYW1lZCB0aXBlICR2YiIKKworIzogc3RhYnMuYzoyMzIyCittc2dpZCAidW5yZWNvZ25pemVkIEMrKyBhYmJyZXZpYXRpb24iCittc2dzdHIgImtlcGVuZGVrYW4gQysrIHRpZGFrIGRpa2VuYWwiCisKKyM6IHN0YWJzLmM6MjM5OAorbXNnaWQgInVua25vd24gdmlzaWJpbGl0eSBjaGFyYWN0ZXIgZm9yIGZpZWxkIgorbXNnc3RyICJrYXJha3RlciB2aXNpYmVsIHVudHVrIGZpZWxkIHRpZGFrIGRpa2VuYWwiCisKKyM6IHN0YWJzLmM6MjY1MAorbXNnaWQgImNvbnN0L3ZvbGF0aWxlIGluZGljYXRvciBtaXNzaW5nIgorbXNnc3RyICJjb25zdC92b2xhdGlsZSBpbmRpa2F0b3IgaGlsYW5nIgorCisjOiBzdGFicy5jOjI4ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gbWFuZ2xpbmcgZm9yIFwiJXNcIlxuIgorbXNnc3RyICJUaWRhayBhZGEgbWFuZ2xpbmcgdW50dWsgXCIlc1wiXG4iCisKKyM6IHN0YWJzLmM6MzE4NgorbXNnaWQgIlVuZGVmaW5lZCBOX0VYQ0wiCittc2dzdHIgIlRpZGFrIHRlcmRlZmluaXNpIE5fRVhDTCIKKworIzogc3RhYnMuYzozMjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgZmlsZSBudW1iZXIgJWQgb3V0IG9mIHJhbmdlXG4iCittc2dzdHIgIlRpcGUgbm9tb3IgYmVya2FzICVkIGRpbHVhciBkYXJpIGphbmdrYXVhblxuIgorCisjOiBzdGFicy5jOjMyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBpbmRleCBudW1iZXIgJWQgb3V0IG9mIHJhbmdlXG4iCittc2dzdHIgIlRpcGUgbm9tb3IgaW5kZWtzICVkIGRpbHVhciBkYXJpIGphbmdrYXVhblxuIgorCisjOiBzdGFicy5jOjMzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5yZWNvZ25pemVkIFhDT0ZGIHR5cGUgJWRcbiIKK21zZ3N0ciAiVGlwZSBYQ09GRiAlZCB0aWRhayBkaWtlbmFsXG4iCisKKyM6IHN0YWJzLmM6MzY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbWFuZ2xlZCBuYW1lIGAlcydcbiIKK21zZ3N0ciAibmFtYSBtYW5nbGVkIGAlcycgYnVydWtcbiIKKworIzogc3RhYnMuYzozNzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGFyZ3VtZW50IHR5cGVzIGluIG1hbmdsZWQgc3RyaW5nXG4iCittc2dzdHIgInRpZGFrIGFkYSB0aXBlIGFyZ3VtZW4gZGFsYW0gc3RyaW5nIG1hbmdsZVxuIgorCisjOiBzdGFicy5jOjUwOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGVtYW5nbGVkIG5hbWUgaXMgbm90IGEgZnVuY3Rpb25cbiIKK21zZ3N0ciAiTmFtYSBkZW1hbmdsZSBidWthbiBzZWJ1YWggZnVuZ3NpXG4iCisKKyM6IHN0YWJzLmM6NTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHR5cGUgaW4gdjMgYXJnbGlzdCBkZW1hbmdsaW5nXG4iCittc2dzdHIgIlRpcGUgdGlkYWsgdGVyZHVnYSBkYWxhbSBkYWZ0YXIgYXJndW1lbiB2MyBkZW1hbmdsaW5nXG4iCisKKyM6IHN0YWJzLmM6NTIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnJlY29nbml6ZWQgZGVtYW5nbGUgY29tcG9uZW50ICVkXG4iCittc2dzdHIgIktvbXBvbmVuICVkIGRlbWFuZ2xlIHRpZGFrIGRpa2VuYWxcbiIKKworIzogc3RhYnMuYzo1MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwcmludCBkZW1hbmdsZWQgdGVtcGxhdGVcbiIKK21zZ3N0ciAiR2FnYWwgdW50dWsgbWVuYW1waWxrYW4gdGVtcGxhdGUgZGVtYW5nbGVcbiIKKworIzogc3RhYnMuYzo1MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGdldCBkZW1hbmdsZWQgYnVpbHRpbiB0eXBlXG4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbXBlcm9sZWggZGVtYW5nbGUgdGlwZSBidWlsdGluXG4iCisKKyM6IHN0YWJzLmM6NTM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIGRlbWFuZ2xlZCB2YXJhcmdzXG4iCittc2dzdHIgInZhcmFncyBkZW1hbmdsZWQgdGlkYWsgdGVyZHVnYVxuIgorCisjOiBzdGFicy5jOjUzODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5yZWNvZ25pemVkIGRlbWFuZ2xlZCBidWlsdGluIHR5cGVcbiIKK21zZ3N0ciAidGlwZSBidWlsdGluZyBkZW1hbmdsZSB0aWRhayBkaWtlbmFsXG4iCisKKyM6IHN0cmluZ3MuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBtaW5pbXVtIHN0cmluZyBsZW5ndGggJWQiCittc2dzdHIgInBhbmphbmcgc3RyaW5nIG1pbmltYWwgJWQgdGlkYWsgdmFsaWQiCisKKyM6IHN0cmluZ3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIERpc3BsYXkgcHJpbnRhYmxlIHN0cmluZ3MgaW4gW2ZpbGUocyldIChzdGRpbiBieSBkZWZhdWx0KVxuIgorbXNnc3RyICIgTWVuYW1waWxrYW4gc3RyaW5nIHlhbmcgZGFwYXQgZGljZXRhayBkYWxhbSBbYmVya2FzXSAoc3RkaW4gc2VjYXJhIGJha3UpXG4iCisKKyM6IHN0cmluZ3MuYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiBUaGUgb3B0aW9ucyBhcmU6XG4iCisiICAtYSAtIC0tYWxsICAgICAgICAgICAgICAgIFNjYW4gdGhlIGVudGlyZSBmaWxlLCBub3QganVzdCB0aGUgZGF0YSBzZWN0aW9uXG4iCisiICAtZiAtLXByaW50LWZpbGUtbmFtZSAgICAgIFByaW50IHRoZSBuYW1lIG9mIHRoZSBmaWxlIGJlZm9yZSBlYWNoIHN0cmluZ1xuIgorIiAgLW4gLS1ieXRlcz1bbnVtYmVyXSAgICAgICBMb2NhdGUgJiBwcmludCBhbnkgTlVMLXRlcm1pbmF0ZWQgc2VxdWVuY2Ugb2YgYXRcbiIKKyIgIC08bnVtYmVyPiAgICAgICAgICAgICAgICAgICBsZWFzdCBbbnVtYmVyXSBjaGFyYWN0ZXJzIChkZWZhdWx0IDQpLlxuIgorIiAgLXQgLS1yYWRpeD17byxkLHh9ICAgICAgICBQcmludCB0aGUgbG9jYXRpb24gb2YgdGhlIHN0cmluZyBpbiBiYXNlIDgsIDEwIG9yIDE2XG4iCisiICAtbyAgICAgICAgICAgICAgICAgICAgICAgIEFuIGFsaWFzIGZvciAtLXJhZGl4PW9cbiIKKyIgIC1UIC0tdGFyZ2V0PTxCRkROQU1FPiAgICAgU3BlY2lmeSB0aGUgYmluYXJ5IGZpbGUgZm9ybWF0XG4iCisiICAtZSAtLWVuY29kaW5nPXtzLFMsYixsLEIsTH0gU2VsZWN0IGNoYXJhY3RlciBzaXplIGFuZCBlbmRpYW5uZXNzOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzID0gNy1iaXQsIFMgPSA4LWJpdCwge2IsbH0gPSAxNi1iaXQsIHtCLEx9ID0gMzItYml0XG4iCisiICBAPGZpbGU+ICAgICAgICAgICAgICAgICAgIFJlYWQgb3B0aW9ucyBmcm9tIDxmaWxlPlxuIgorIiAgLWggLS1oZWxwICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgaW5mb3JtYXRpb25cbiIKKyIgIC12IC0tdmVyc2lvbiAgICAgICAgICAgICAgUHJpbnQgdGhlIHByb2dyYW0ncyB2ZXJzaW9uIG51bWJlclxuIgorbXNnc3RyICIiCisiIE9wc2kgYWRhbGFoOlxuIgorIiAtYSAtLWFsbCAgICAgICAgICAgICAgICAgICBQZXJpa3NhIHNlbHVydWggYmVya2FzLCB0aWRhayBoYW55YSBkYWVyYWggZGF0YVxuIgorIiAtZiAtLXByaW50LWZpbGUtbmFtZSAgICAgICBUYW1waWxrYW4gbmFtYSBkYXJpIGJlcmthcyBzZWJlbHVtIHNldGlhcCBzdHJpbmdcbiIKKyIgLW4gLS1ieXRlcz1bbm9tb3JdICAgICAgICAgTG9rYXNpa2FuIGRhbiB0YW1waWxrYW4gdXJ1dGFuIE5VTC10ZXJha2hpcmkgYXBhcHVuIGRhcmkgZGlcbiIKKyIgLTxub21vcj4gICAgICAgICAgICAgICAgICAgYWtoaXIgW25vbW9yXSBrYXJha3RlciAoYmFrdSA0KS5cbiIKKyIgLXQgLS1yYWRpeD17byxkLHh9ICAgICAgICAgVGFtcGlsa2FuIGxva2FzaSBkYXJpIHN0cmluZyBkYWxhbSBiYXNpcyA4LCAxMCBhdGF1IDE2XG4iCisiIC1vICAgICAgICAgICAgICAgICAgICAgICAgIFNlYnVhaCBhbGlhcyB1bnR1ayAtLXJhZGl4PW9cbiIKKyIgLVQgLS10YXJnZXQ9PEJGRE5BTUU+ICAgICAgU3Blc2lmaWthc2lrYW4gZm9ybWF0IGJlcmthcyBiaW5hcmlcbiIKKyIgLWUgLS1lbmNvZGluZz17cyxTLGIsbCxCLEx9IFBpbGloIHVrdXJhbiBrYXJha3RlciBkYW4gdGlwZSBlbmRpYW46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMgPSA3LWJpdCwgUyA9IDgtYml0LCB7YixsfSA9IDE2LWJpdCwge0IsTH0gPSAzMi1iaXRcbiIKKyIgQDxiZXJrYXM+ICAgICAgICAgICAgICAgICAgQmFjYSBvcHNpIGRhcmkgPGJlcmthcz5cbiIKKyIgLWggLS1oZWxwICAgICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSBpbmlcbiIKKyIgLXYgLS12ZXJzaW9uICAgICAgICAgICAgICAgVGFtcGlsa2FuIG5vbW9yIHZlcnNpIGFwbGlrYXNpXG4iCisKKyM6IHN5c2R1bXAuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJpbnQgYSBodW1hbiByZWFkYWJsZSBpbnRlcnByZXRhdGlvbiBvZiBhIFNZU1JPRkYgb2JqZWN0IGZpbGVcbiIKK21zZ3N0ciAiTWVuYW1waWxrYW4gc2VidWFoIGludGVycHJldGFzaSBtdWRhaCBkaWJhY2EgZGFyaSBzZWJ1YWggYmVya2FzIG9iamVrIFNZU1JPRkZcbiIKKworIzogc3lzZHVtcC5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIFRoZSBvcHRpb25zIGFyZTpcbiIKKyIgIC1oIC0taGVscCAgICAgICAgRGlzcGxheSB0aGlzIGluZm9ybWF0aW9uXG4iCisiICAtdiAtLXZlcnNpb24gICAgIFByaW50IHRoZSBwcm9ncmFtJ3MgdmVyc2lvbiBudW1iZXJcbiIKK21zZ3N0ciAiIgorIiBPcHNpIGFkYWxhaDpcbiIKKyIgIC1oIC0taGVscCAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSBpbmlcbiIKKyIgIC12IC0tdmVyc2lvbiAgICAgVGFtcGlsa2FuIG5vbW9yIHZlcnNpIGFwbGlrYXNpXG4iCisKKyM6IHN5c2R1bXAuYzo3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gaW5wdXQgZmlsZSAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSBiZXJrYXMgbWFzdWthbiAlcyIKKworIzogdmVyc2lvbi5jOjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgorbXNnc3RyICJIYWsgQ2lwdGEgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKKworIzogdmVyc2lvbi5jOjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IG1heSByZWRpc3RyaWJ1dGUgaXQgdW5kZXIgdGhlIHRlcm1zIG9mXG4iCisidGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMyBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuIgorIlRoaXMgcHJvZ3JhbSBoYXMgYWJzb2x1dGVseSBubyB3YXJyYW50eS5cbiIKK21zZ3N0ciAiIgorIkFwbGlrYXNpIGluaSBhZGFsYWggc29mdHdhcmUgYmViYXM7IGFuZGEgYm9sZWggbWVyZWRpc3RyaWJ1c2lrYW5ueWEgZGliYXdhaCBpamluIGRhcmlcbiIKKyJMaXNlbnNpIEdOVSBHZW5lcmFsIFB1YmxpYyAgdmVyc2kgMyBhdGF1IChtZW51cnV0IG9wc2kgYW5kYSkgbXVuZ2tpbiB2ZXJzaSBzZWxhbmp1dG55YS5cbiIKKyJBcGxpa2FzaSBpbmkgdGlkYWsgbWVtaWxpa2kgZ2FyYW5zaSBhcGFwdW4uXG4iCisKKyM6IHdpbmRtYy5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBjcmVhdGUgJXMgZmlsZSAsJXMnIGZvciBvdXRwdXQuXG4iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1YXQgYmVya2FzICVzLCAlcycgdW50dWsga2VsdWFyYW4uXG4iCisKKyM6IHdpbmRtYy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbihzKV0gW2lucHV0LWZpbGVdXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtvcHNpXSBbYmVya2FzLW1hc3VrYW5dXG4iCisKKyM6IHdpbmRtYy5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIFRoZSBvcHRpb25zIGFyZTpcbiIKKyIgIC1hIC0tYXNjaWlfaW4gICAgICAgICAgICAgICAgUmVhZCBpbnB1dCBmaWxlIGFzIEFTQ0lJIGZpbGVcbiIKKyIgIC1BIC0tYXNjaWlfb3V0ICAgICAgICAgICAgICAgV3JpdGUgYmluYXJ5IG1lc3NhZ2VzIGFzIEFTQ0lJXG4iCisiICAtYiAtLWJpbnByZWZpeCAgICAgICAgICAgICAgIC5iaW4gZmlsZW5hbWUgaXMgcHJlZml4ZWQgYnkgLm1jIGZpbGVuYW1lXyBmb3IgdW5pcXVlbmVzcy5cbiIKKyIgIC1jIC0tY3VzdG9tZmxhZyAgICAgICAgICAgICAgU2V0IGN1c3RvbSBmbGFncyBmb3IgbWVzc2FnZXNcbiIKKyIgIC1DIC0tY29kZXBhZ2VfaW49PHZhbD4gICAgICAgU2V0IGNvZGVwYWdlIHdoZW4gcmVhZGluZyBtYyB0ZXh0IGZpbGVcbiIKKyIgIC1kIC0tZGVjaW1hbF92YWx1ZXMgICAgICAgICAgUHJpbnQgdmFsdWVzIHRvIHRleHQgZmlsZXMgZGVjaW1hbFxuIgorIiAgLWUgLS1leHRlbnNpb249PGV4dGVuc2lvbj4gICBTZXQgaGVhZGVyIGV4dGVuc2lvbiB1c2VkIG9uIGV4cG9ydCBoZWFkZXIgZmlsZVxuIgorIiAgLUYgLS10YXJnZXQgPHRhcmdldD4gICAgICAgICBTcGVjaWZ5IG91dHB1dCB0YXJnZXQgZm9yIGVuZGlhbmVzcy5cbiIKKyIgIC1oIC0taGVhZGVyZGlyPTxkaXJlY3Rvcnk+ICAgU2V0IHRoZSBleHBvcnQgZGlyZWN0b3J5IGZvciBoZWFkZXJzXG4iCisiICAtdSAtLXVuaWNvZGVfaW4gICAgICAgICAgICAgIFJlYWQgaW5wdXQgZmlsZSBhcyBVVEYxNiBmaWxlXG4iCisiICAtVSAtLXVuaWNvZGVfb3V0ICAgICAgICAgICAgIFdyaXRlIGJpbmFyeSBtZXNzYWdlcyBhcyBVRlQxNlxuIgorIiAgLW0gLS1tYXhsZW5ndGg9PHZhbD4gICAgICAgICBTZXQgdGhlIG1heGltYWwgYWxsb3dlZCBtZXNzYWdlIGxlbmd0aFxuIgorIiAgLW4gLS1udWxsdGVybWluYXRlICAgICAgICAgICBBdXRvbWF0aWMgYWRkIGEgemVybyB0ZXJtaW5hdGlvbiB0byBzdHJpbmdzXG4iCisiICAtbyAtLWhyZXN1bHRfdXNlICAgICAgICAgICAgIFVzZSBIUkVTVUxUIGRlZmluaXRpb24gaW5zdGVhZCBvZiBzdGF0dXMgY29kZSBkZWZpbml0aW9uXG4iCisiICAtTyAtLWNvZGVwYWdlX291dD08dmFsPiAgICAgIFNldCBjb2RlcGFnZSB1c2VkIGZvciB3cml0aW5nIHRleHQgZmlsZVxuIgorIiAgLXIgLS1yY2Rpcj08ZGlyZWN0b3J5PiAgICAgICBTZXQgdGhlIGV4cG9ydCBkaXJlY3RvcnkgZm9yIHJjIGZpbGVzXG4iCisiICAteCAtLXhkYmc9PGRpcmVjdG9yeT4gICAgICAgIFdoZXJlIHRvIGNyZWF0ZSB0aGUgLmRiZyBDIGluY2x1ZGUgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0IG1hcHMgbWVzc2FnZSBJRCdzIHRvIHRoZWlyIHN5bWJvbGljIG5hbWUuXG4iCittc2dzdHIgIiIKKyIgT3BzaSBhZGFsYWg6XG4iCisiICAtYSAtLWFzY2lpX2luICAgICAgICAgICAgICAgIEJhY2EgYmVya2FzIG1hc3VrYW4gc2ViYWdhaSBiZXJrYXMgQVNDSUlcbiIKKyIgIC1BIC0tYXNjaWlfb3V0ICAgICAgICAgICAgICAgVHVsaXMgcGVzYW4gYmluYXJpIHNlYmFnYWkgQVNDSUlcbiIKKyIgIC1iIC0tYmlucHJlZml4ICAgICAgICAgICAgICAgbmFtYSBiZXJrYXMgLmJpbiBkaWF3YWxpIHNlYmFnYWkgbmFtYSBiZXJrYXMgLm1jIHN1cGF5YSB1bmlrLlxuIgorIiAgLWMgLS1jdXN0b21mbGFnICAgICAgICAgICAgICBTZXQgdGFuZGEga3VzdG9tIHVudHVrIHBlc2FuXG4iCisiICAtQyAtLWNvZGVwYWdlX2luPTx2YWw+ICAgICAgIFNldCBrb2RlIGhhbGFtYW4ga2V0aWthIG1lbWJhY2EgbWMgYmVya2FzIHRla3NcbiIKKyIgIC1kIC0tZGVjaW1hbF92YWx1ZXMgICAgICAgICAgVGFtcGlsa2FuIG5pbGFpIGtlIGJlcmthcyB0ZWtzIGRlc2ltYWxcbiIKKyIgIC1lIC0tZXh0ZW5zaW9uPTxleHRlbnNpb24+ICAgU2V0IGhlYWRlciBleHRlbnNpb24gZGlndW5ha2FuIGRhbGFtIG1lbmVrc3BvciBiZXJrYXMgaGVhZGVyXG4iCisiICAtRiAtLXRhcmdldCA8dGFyZ2V0PiAgICAgICAgIFNwZXNpZmlrYXNpa2FuIHRhcmdldCBrZWx1YXJhbiB1bnR1ayB0aXBlIGVuZGlhbi5cbiIKKyIgIC1oIC0taGVhZGVyZGlyPTxkaXJla3Rvcmk+ICAgU2V0IGRpcmVrdG9yaSBla3Nwb3IgdW50dWsgaGVhZGVyXG4iCisiICAtdSAtLXVuaWNvZGVfaW4gICAgICAgICAgICAgIEJhY2EgYmVya2FzIG1hc3VrYW4gc2ViYWdhaSBiZXJrYXMgVVRGMTZcbiIKKyIgIC1VIC0tdW5pY29kZV9vdXQgICAgICAgICAgICAgVHVsaXMgcGVzYW4gYmluYXJpIHNlYmFnYWkgVVRGMTZcbiIKKyIgIC1tIC0tbWF4bGVuZ3RoPTxuaWxhaT4gICAgICAgU2V0IG1ha3NpbWFsIHBhbmphbmcgcGVzYW4geWFuZyBkaWlqaW5rYW5cbiIKKyIgIC1uIC0tbnVsbHRlcm1pbmF0ZSAgICAgICAgICAgT3RvbWF0aXMgdGFtYmFoa2FuIHNlYnVhaCBub2wga2Ugc3RyaW5nXG4iCisiICAtbyAtLWhyZXN1bHRfdXNlICAgICAgICAgICAgIEd1bmFrYW4gZGVmaW5pc2kgSFJFU1VMVCBkYXJpcGFkYSBrb2RlIHN0YXR1cyBkZWZpbmlzaVxuIgorIiAgLU8gLS1jb2RlcGFnZV9vdXQ9PG5pbGFpPiAgICBTZXQga29kZSBoYWxhbWFuIGRpZ3VuYWtuIHVudHVrIG1lbnVsaXMgYmVya2FzIHRla3NcbiIKKyIgIC1yIC0tcmNkaXI9PGRpcmVrdG9yaT4gICAgICAgU2V0IGRpcmVrdG9yaSBla3Nwb3IgdW50dWsgYmVya2FzIHJjXG4iCisiICAteCAtLXhkYmc9PGRpcmVrdG9yaT4gICAgICAgIERpbWFuYSB1bnR1ayBtZW1idWF0IGJlcmthcyAuZGJnIEMgaW5jbHVkZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5YW5nIG1lbWV0YWthbiBwZXNhbiBJRCBrZSBuYW1hIHNpbWJvbGlrbnlhLlxuIgorCisjOiB3aW5kbWMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgLUggLS1oZWxwICAgICAgICAgICAgICAgICAgICBQcmludCB0aGlzIGhlbHAgbWVzc2FnZVxuIgorIiAgLXYgLS12ZXJib3NlICAgICAgICAgICAgICAgICBWZXJib3NlIC0gdGVsbHMgeW91IHdoYXQgaXQncyBkb2luZ1xuIgorIiAgLVYgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBQcmludCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiIKKyIgIC1IIC0taGVscCAgICAgICAgICAgICAgICAgICAgVGFtcGlsa2FuIHBlc2FuIGJhbnR1YW4gaW5pXG4iCisiICAtdiAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIFZlcmJvc2UgLSBCZXJpdGFodSBhbmRhIGFwYSB5YW5nIHNlZGFuZyBkaWtlcmpha2FuXG4iCisiICAtViAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogd2luZG1jLmM6Mjk2IHdpbmRyZXMuYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6ICIKK21zZ3N0ciAiJXM6IHBlcmluZ2F0YW46ICIKKworIzogd2luZG1jLmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIkEgY29kZXBhZ2Ugd2FzIHNwZWNpZmllZCBzd2l0Y2ggLCVzJyBhbmQgVVRGMTYuXG4iCittc2dzdHIgIlNlYnVhaCBrb2RlIGhhbGFtYW4gdGVsYWggZGlzcGVzaWZpa2FzaWthbiBwZXJwaW5kYWhhbiAsJXMnIGRhbiBVVEYxNi5cbiIKKworIzogd2luZG1jLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0Y29kZXBhZ2Ugc2V0dGluZ3MgYXJlIGlnbm9yZWQuXG4iCittc2dzdHIgIlx0a29uZmlndXJhc2kga29kZSBoYWxhbWFuIGRpYWJhaWthbi5cbiIKKworIzogd2luZG1jLmM6MzQyCittc2dpZCAidHJ5IHRvIGFkZCBhIGlsbCBsYW5ndWFnZS4iCittc2dzdHIgImNvYmEgdGFtYmFoa2FuIHNlYnVhaCBiYWhhc2Egc2FraXQuIgorCisjOiB3aW5kbWMuYzoxMTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuIGZpbGUgLCVzJyBmb3IgaW5wdXQuXG4iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgYmVya2FzLCAlcycgdW50dWsgbWFzdWthbi5cbiIKKworIzogd2luZG1jLmM6MTE3MAorbXNnaWQgImlucHV0IGZpbGUgZG9lcyBub3Qgc2VlbXMgdG8gYmUgVUZUMTYuXG4iCittc2dzdHIgImJlcmthcyBtYXN1a2FuIHRpZGFrIGRhcGF0IHRlcmxpaGF0IHNlYmFnYWkgVVRGMTYuXG4iCisKKyM6IHdpbmRyZXMuYzoyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgb3BlbiAlcyBgJXMnOiAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlcyBgJXMnOiAlcyIKKworIzogd2luZHJlcy5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICI6IGV4cGVjdGVkIHRvIGJlIGEgZGlyZWN0b3J5XG4iCittc2dzdHIgIjogZGlkdWdhIHNlYnVhaCBkaXJla3RvcmlcbiIKKworIzogd2luZHJlcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICI6IGV4cGVjdGVkIHRvIGJlIGEgbGVhZlxuIgorbXNnc3RyICI6IGRpZHVnYSBzZWJ1YWggZGF1blxuIgorCisjOiB3aW5kcmVzLmM6NDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIjogZHVwbGljYXRlIHZhbHVlXG4iCittc2dzdHIgIjogbmlsYWkgdGVyZHVwbGlrYXNpXG4iCisKKyM6IHdpbmRyZXMuYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmb3JtYXQgdHlwZSBgJXMnIgorbXNnc3RyICJ0aXBlIGZvcm1hdCBgJXMnIHRpZGFrIGRpa2V0YWh1aSIKKworIzogd2luZHJlcy5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3VwcG9ydGVkIGZvcm1hdHM6IgorbXNnc3RyICIlczogZm9ybWF0IHlhbmcgZGlkdWt1bmc6IgorCisjLiBPdGhlcndpc2UsIHdlIGdpdmUgdXAuCisjOiB3aW5kcmVzLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbiBub3QgZGV0ZXJtaW5lIHR5cGUgb2YgZmlsZSBgJXMnOyB1c2UgdGhlIC1KIG9wdGlvbiIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW50dWthbiB0aXBlIGRhcmkgYmVya2FzIGAlcyc7IGd1bmFrYW4gb3BzaSAtSiIKKworIzogd2luZHJlcy5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbihzKV0gW2lucHV0LWZpbGVdIFtvdXRwdXQtZmlsZV1cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW29wc2ldIFtiZXJrYXMtbWFzdWthbl0gW2Jlcmthcy1rZWx1YXJhbl1cbiIKKworIzogd2luZHJlcy5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIFRoZSBvcHRpb25zIGFyZTpcbiIKKyIgIC1pIC0taW5wdXQ9PGZpbGU+ICAgICAgICAgICAgTmFtZSBpbnB1dCBmaWxlXG4iCisiICAtbyAtLW91dHB1dD08ZmlsZT4gICAgICAgICAgIE5hbWUgb3V0cHV0IGZpbGVcbiIKKyIgIC1KIC0taW5wdXQtZm9ybWF0PTxmb3JtYXQ+ICAgU3BlY2lmeSBpbnB1dCBmb3JtYXRcbiIKKyIgIC1PIC0tb3V0cHV0LWZvcm1hdD08Zm9ybWF0PiAgU3BlY2lmeSBvdXRwdXQgZm9ybWF0XG4iCisiICAtRiAtLXRhcmdldD08dGFyZ2V0PiAgICAgICAgIFNwZWNpZnkgQ09GRiB0YXJnZXRcbiIKKyIgICAgIC0tcHJlcHJvY2Vzc29yPTxwcm9ncmFtPiAgUHJvZ3JhbSB0byB1c2UgdG8gcHJlcHJvY2VzcyByYyBmaWxlXG4iCisiICAtSSAtLWluY2x1ZGUtZGlyPTxkaXI+ICAgICAgIEluY2x1ZGUgZGlyZWN0b3J5IHdoZW4gcHJlcHJvY2Vzc2luZyByYyBmaWxlXG4iCisiICAtRCAtLWRlZmluZSA8c3ltPls9PHZhbD5dICAgIERlZmluZSBTWU0gd2hlbiBwcmVwcm9jZXNzaW5nIHJjIGZpbGVcbiIKKyIgIC1VIC0tdW5kZWZpbmUgPHN5bT4gICAgICAgICAgVW5kZWZpbmUgU1lNIHdoZW4gcHJlcHJvY2Vzc2luZyByYyBmaWxlXG4iCisiICAtdiAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIFZlcmJvc2UgLSB0ZWxscyB5b3Ugd2hhdCBpdCdzIGRvaW5nXG4iCisiICAtYyAtLWNvZGVwYWdlPTxjb2RlcGFnZT4gICAgIFNwZWNpZnkgZGVmYXVsdCBjb2RlcGFnZVxuIgorIiAgLWwgLS1sYW5ndWFnZT08dmFsPiAgICAgICAgICBTZXQgbGFuZ3VhZ2Ugd2hlbiByZWFkaW5nIHJjIGZpbGVcbiIKKyIgICAgIC0tdXNlLXRlbXAtZmlsZSAgICAgICAgICAgVXNlIGEgdGVtcG9yYXJ5IGZpbGUgaW5zdGVhZCBvZiBwb3BlbiB0byByZWFkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBwcmVwcm9jZXNzb3Igb3V0cHV0XG4iCisiICAgICAtLW5vLXVzZS10ZW1wLWZpbGUgICAgICAgIFVzZSBwb3BlbiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiBPcHNpIGFkYWxhaDpcbiIKKyIgIC1pIC0taW5wdXQ9PGJlcmthcz4gICAgICAgICAgTmFtYSBiZXJrYXMgbWFzdWthblxuIgorIiAgLW8gLS1vdXRwdXQ9PGJlcmthcz4gICAgICAgICBOYW1hIGJlcmthcyBrZWx1YXJhblxuIgorIiAgLUogLS1pbnB1dC1mb3JtYXQ9PGZvcm1hdD4gICBTcGVzaWZpa2FzaWthbiBmb3JtYXQgbWFzdWthblxuIgorIiAgLU8gLS1vdXRwdXQtZm9ybWF0PTxmb3JtYXQ+ICBTcGVzaWZpa2FzaWthbiBmb3JtYXQga2VsdWFyYW5cbiIKKyIgIC1GIC0tdGFyZ2V0PTx0YXJnZXQ+ICAgICAgICAgU3Blc2lmaWthc2lrYW4gdGFyZ2V0IENPRkZcbiIKKyIgICAgIC0tcHJlcHJvY2Vzc29yPTxwcm9ncmFtPiAgQXBsaWthc2kgeWFuZyBkaWd1bmFrYW4gdW50dWsgbWVtcHJvc2VzIGJlcmthcyByY1xuIgorIiAgLUkgLS1pbmNsdWRlLWRpcj08ZGlyPiAgICAgICBNYXN1a2FuIGRpcmVrdG9yaSBrZXRpa2EgbWVtcHJvc2VzIGJlcmthcyByY1xuIgorIiAgLUQgLS1kZWZpbmUgPHN5bT5bPTx2YWw+XSAgICBEZWZpbmlzaWthbiBTWU0ga2V0aWthIG1lbXByb3NlcyBiZXJrYXMgcmNcbiIKKyIgIC1VIC0tdW5kZWZpbmUgPHN5bT4gICAgICAgICAgVW5kZWZpbmUgU1lNIGtldGlrYSBtZW1wcm9zZXMgYmVya2FzIHJjXG4iCisiICAtdiAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIFZlcmJvc2UgLSBiZXJpdGFodSBhbmRhIGFwYSB5YW5nIHNlZGFuZyBkaWtlcmpha2FuXG4iCisiICAtYyAtLWNvZGVwYWdlPTxjb2RlcGFnZT4gICAgIFNwZXNpZmlrYXNpa2FuIGtvZGUgaGFsYW1hbiBiYWt1XG4iCisiICAtbCAtLWxhbmd1YWdlPTx2YWw+ICAgICAgICAgIFNldCBiYWhhc2Ega2V0aWthIG1lbWJhY2EgYmVya2FzIHJjXG4iCisiICAgICAtLXVzZS10ZW1wLWZpbGUgICAgICAgICAgIEd1bmFrYW4gc2VidWFoIGJlcmthcyBzZW1lbnRhcmEgZGFyaXBhZGEgcG9wZW4gdW50dWsgbWVtYmFjYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZWx1YXJhbiBwcmVwcm9zZXNvclxuIgorIiAgICAgLS1uby11c2UtdGVtcC1maWxlICAgICAgICBVc2UgcG9wZW4gKGJha3UpXG4iCisKKyM6IHdpbmRyZXMuYzo2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLXl5ZGVidWcgICAgICAgICAgICAgICAgIFR1cm4gb24gcGFyc2VyIGRlYnVnZ2luZ1xuIgorbXNnc3RyICIgICAgIC0teXlkZWJ1ZyAgICAgICAgICAgICAgICAgQWt0aWZrYW4gcGFyc2UgZGVidWdnaW5nXG4iCisKKyM6IHdpbmRyZXMuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgLXIgICAgICAgICAgICAgICAgICAgICAgICAgICBJZ25vcmVkIGZvciBjb21wYXRpYmlsaXR5IHdpdGggcmNcbiIKKyIgIEA8ZmlsZT4gICAgICAgICAgICAgICAgICAgICAgUmVhZCBvcHRpb25zIGZyb20gPGZpbGU+XG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIFByaW50IHRoaXMgaGVscCBtZXNzYWdlXG4iCisiICAtViAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFByaW50IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIgorIiAgLXIgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW5nYWJhaWthbiB1bnR1ayBrb21wYWJpbGl0YXMgZGVuZ2FuIHJjXG4iCisiICBAPGJlcmthcz4gICAgICAgICAgICAgICAgICAgIEJhY2Egb3BzaSBkYXJpIDxiZXJrYXM+XG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIFRhbXBpbGthbiBwZXNhbiBiYW50dWFuIGluaVxuIgorIiAgLVYgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHdpbmRyZXMuYzo2OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZPUk1BVCBpcyBvbmUgb2YgcmMsIHJlcywgb3IgY29mZiwgYW5kIGlzIGRlZHVjZWQgZnJvbSB0aGUgZmlsZSBuYW1lXG4iCisiZXh0ZW5zaW9uIGlmIG5vdCBzcGVjaWZpZWQuICBBIHNpbmdsZSBmaWxlIG5hbWUgaXMgYW4gaW5wdXQgZmlsZS5cbiIKKyJObyBpbnB1dC1maWxlIGlzIHN0ZGluLCBkZWZhdWx0IHJjLiAgTm8gb3V0cHV0LWZpbGUgaXMgc3Rkb3V0LCBkZWZhdWx0IHJjLlxuIgorbXNnc3RyICIiCisiRk9STUFSIGFkYWxhaCBzYWxhaCBzYXR1IGRhcmkgcmMsIHJlcywgYXRhdSBjb2ZmLCwgZGFuIGRpZGVkdWtzaSBkYXJpIG5hbWEgYmVya2FzXG4iCisiZWtzdGVuc2kgamlrYSB0aWRhayBkaXNwZXNpZmlrYXNpa2FuLiBTZWJ1YWggbmFtYSBiZXJrYXMgdHVuZ2dhbCBhZGFsYWggc2VidWFoIGJlcmthcyBtYXN1a2FuLlxuIgorIlRpZGFrIGFkYSBiZXJrYXMtbWFzdWthbiBhZGFsYWggc3RkaW4sIGRlZmF1bHQgcmMuIFRpZGFrIGFkYSBiZXJrYXMta2VsdWFyYWFuIGFkYWxhaCBzdGRvdXQsIGRlZmF1bHQgcmMuXG4iCisKKyM6IHdpbmRyZXMuYzo4NDgKK21zZ2lkICJpbnZhbGlkIGNvZGVwYWdlIHNwZWNpZmllZC5cbiIKK21zZ3N0ciAia29kZSBoYWxhbWFuIHlhbmcgZGlzcGVzaWZpa2FzaWthbiB0aWRhayB2YWxpZC5cbiIKKworIzogd2luZHJlcy5jOjg2MworbXNnaWQgImludmFsaWQgb3B0aW9uIC1mXG4iCittc2dzdHIgIm9wc2kgLWYgdGlkYWsgdmFsaWRcbiIKKworIzogd2luZHJlcy5jOjg2OAorbXNnaWQgIk5vIGZpbGVuYW1lIGZvbGxvd2luZyB0aGUgLWZvIG9wdGlvbi5cbiIKK21zZ3N0ciAiVGlkYWsgYWRhIG5hbWEgYmVya2FzIHlhbmcgbWVuZ2lrdXRpIG9wc2kgLWZvLlxuIgorCisjOiB3aW5kcmVzLmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIk9wdGlvbiAtSSBpcyBkZXByZWNhdGVkIGZvciBzZXR0aW5nIHRoZSBpbnB1dCBmb3JtYXQsIHBsZWFzZSB1c2UgLUogaW5zdGVhZC5cbiIKK21zZ3N0ciAiT3BzaSAtSSBrYWRhbHVhcnNhIHVudHVrIGtvbmZpZ3VyYXNpIGZvcm1hdCBtYXN1a2FuLCB0b2xvbmcgZ3VuYWthbiAtSiBsZWJpaCBiYWlrLlxuIgorCisjOiB3aW5kcmVzLmM6MTAzNworbXNnaWQgIm5vIHJlc291cmNlcyIKK21zZ3N0ciAidGlkYWsgYWRhIHN1bWJlciBkYXlhIgorCisjOiB3cnN0YWJzLmM6MzUzIHdyc3RhYnMuYzoxOTE2CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cmluZ19oYXNoX2xvb2t1cCBmYWlsZWQ6ICVzIgorbXNnc3RyICJzdHJpbmdfaGFzaF9sb29rdXAgZ2FnYWw6ICVzIgorCisjOiB3cnN0YWJzLmM6NjM2CisjLCBjLWZvcm1hdAorbXNnaWQgInN0YWJfaW50X3R5cGU6IGJhZCBzaXplICV1IgorbXNnc3RyICJzdGFiX2ludF90eXBlOiB1a3VyYW4gJXUgYnVydWsiCisKKyM6IHdyc3RhYnMuYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB1bmtub3duIHNpemUgZm9yIGZpZWxkIGAlcycgaW4gc3RydWN0IgorbXNnc3RyICIlczogcGVyaW5nYXRhbjogdWt1cmFuIHRpZGFrIGRpa2V0YWh1aSB1bnR1ayBmaWVsZCBgJXMnIGRhbGFtIHN0cnVrdHVyIgpkaWZmIC0tZ2l0IGEvYmludXRpbHMvcG8vc3YucG8gYi9iaW51dGlscy9wby9zdi5wbwppbmRleCA1ZjM3ZmI1Li45YTBmNzA3IDEwMDY0NAotLS0gYS9iaW51dGlscy9wby9zdi5wbworKysgYi9iaW51dGlscy9wby9zdi5wbwpAQCAtMSwyMzUgKzEsMjMwIEBACiAjIFN3ZWRpc2ggbWVzc2FnZXMgZm9yIGJpbnV0aWxzLgogIyBDb3B5cmlnaHQgKEMpIDIwMDEsIDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0jIFRvbW15IFBldHRlcnNzb24gPHB0cEBseXNhdG9yLmxpdS5zZT4sIDIwMDEsIDIwMDIuCisjIFRvbW15IFBldHRlcnNzb24gPHB0cEBseXNhdG9yLmxpdS5zZT4sIDIwMDEsIDIwMDIsIDIwMDQuCiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBiaW51dGlscyAyLjEyLjFcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwMi0wMS0xNyAxMzo1OCswMDAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAwMi0wOC0wNSAwMDowMyswMjAwXG4iCisiUHJvamVjdC1JZC1WZXJzaW9uOiBiaW51dGlscyAyLjE0cmVsMDMwNzEyXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDMtMDctMTEgMTM6NTYrMDkzMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMDQtMTAtMDggMTc6MTgrMDIwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogVG9tbXkgUGV0dGVyc3NvbiA8cHRwQGx5c2F0b3IubGl1LnNlPlxuIgogIkxhbmd1YWdlLVRlYW06IFN3ZWRpc2ggPHN2QGxpLm9yZz5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgotIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1pc28tODg1OS0xXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04XG4iCiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgogCi0jCi0jOiBhZGRyMmxpbmUuYzo3MworIzogYWRkcjJsaW5lLmM6NzQKICMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIlVzYWdlOiAlcyBbLUNmc0hWXSBbLWIgYmZkbmFtZV0gWy0tdGFyZ2V0PWJmZG5hbWVdXG4iCi0iICAgICAgIFstZSBleGVjdXRhYmxlXSBbLS1leGU9ZXhlY3V0YWJsZV0gWy0tZGVtYW5nbGVbPXN0eWxlXV1cbiIKLSIgICAgICAgWy0tYmFzZW5hbWVzXSBbLS1mdW5jdGlvbnNdIFthZGRyIGFkZHIgLi4uXVxuIgotbXNnc3RyICIiCi0iQW525G5kbmluZzogJXMgWy1DZnNIVl0gWy1iIGJmZC1uYW1uXSBbLS10YXJnZXQ9YmZkLW5hbW5dXG4iCi0iICAgICAgIFstZSBwcm9ncmFtZmlsXSBbLS1leGU9cHJvZ3JhbWZpbF0gWy0tZGVtYW5nbGVbPXN0aWxdXVxuIgotIiAgICAgICBbLS1iYXNlbmFtZXNdIFstLWZ1bmN0aW9uc10gW2FkcmVzcyBhZHJlc3MgLi4uXVxuIgorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uKHMpXSBbYWRkcihzKV1cbiIKK21zZ3N0ciAiQW52w6RuZG5pbmc6ICVzIFtmbGFnZ29yXSBbYWRyZXNzKGVyKV1dXG4iCiAKLSMKLSM6IGFkZHIybGluZS5jOjgwIGFyLmM6Mjg5IG5sbWNvbnYuYzoxMTIxIG9iamNvcHkuYzo0MjMgb2JqY29weS5jOjQ1NQotIzogcmVhZGVsZi5jOjIxODEgc2l6ZS5jOjkxIHN0cmluZ3MuYzo2NTUgd2luZHJlcy5jOjczNworIzogYWRkcjJsaW5lLmM6NzUKK21zZ2lkICIgQ29udmVydCBhZGRyZXNzZXMgaW50byBsaW5lIG51bWJlci9maWxlIG5hbWUgcGFpcnMuXG4iCittc2dzdHIgIiBLb252ZXJ0ZXJhIGFkcmVzc2VyIHRpbGwgcmFkbnVtbWVyL2ZpbG5hbW4tcGFyLlxuIgorCisjOiBhZGRyMmxpbmUuYzo3NgorbXNnaWQgIiBJZiBubyBhZGRyZXNzZXMgYXJlIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLCB0aGV5IHdpbGwgYmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiBPbSBpbmdhIGFkcmVzc2VyIMOkciB2YWxkYSBww6Uga29tbWFuZG9yYWRlbiBsw6RzZXMgZGUgZnLDpW4gc3RhbmRhcmQgaW5cbiIKKworIzogYWRkcjJsaW5lLmM6NzcKK21zZ2lkICIiCisiIFRoZSBvcHRpb25zIGFyZTpcbiIKKyIgIC1iIC0tdGFyZ2V0PTxiZmRuYW1lPiAgU2V0IHRoZSBiaW5hcnkgZmlsZSBmb3JtYXRcbiIKKyIgIC1lIC0tZXhlPTxleGVjdXRhYmxlPiAgU2V0IHRoZSBpbnB1dCBmaWxlIG5hbWUgKGRlZmF1bHQgaXMgYS5vdXQpXG4iCisiICAtcyAtLWJhc2VuYW1lcyAgICAgICAgIFN0cmlwIGRpcmVjdG9yeSBuYW1lc1xuIgorIiAgLWYgLS1mdW5jdGlvbnMgICAgICAgICBTaG93IGZ1bmN0aW9uIG5hbWVzXG4iCisiICAtQyAtLWRlbWFuZ2xlWz1zdHlsZV0gIERlbWFuZ2xlIGZ1bmN0aW9uIG5hbWVzXG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgIERpc3BsYXkgdGhpcyBpbmZvcm1hdGlvblxuIgorIiAgLXYgLS12ZXJzaW9uICAgICAgICAgICBEaXNwbGF5IHRoZSBwcm9ncmFtJ3MgdmVyc2lvblxuIgorIlxuIgorbXNnc3RyICIiCisiIEZsYWdnb3JuYSDDpHI6XG4iCisiICAtYiAtLXRhcmdldD08YmZkbmFtbj4gIFbDpGxqIGZvcm1hdCBww6UgYmluw6RyZmlsZW5cbiIKKyIgIC1lIC0tZXhlPTxrw7ZyZmlsPiAgICAgIEFuZ2UgaW5maWxlbnMgbmFtbiAoc3RhbmRhcmQgw6RyIGEub3V0KVxuIgorIiAgLXMgLS1iYXNlbmFtZXMgICAgICAgICBWaXNhIGludGUga2F0YWxvZ25hbW5cbiIKKyIgIC1mIC0tZnVuY3Rpb25zICAgICAgICAgVmlzYSBmdW5rdGlvbnNuYW1uXG4iCisiICAtQyAtLWRlbWFuZ2xlWz1zdGlsXSAgIEF2a29kYSBtYW5nbGFkZSBmdW5rdGlvbnNuYW1uXG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgIFZpc2EgZGVubmEgaGrDpGxwXG4iCisiICAtdiAtLXZlcnNpb24gICAgICAgICAgIFZpc2EgcHJvZ3JhbW1ldHMgdmVyc2lvbnNpbmZvcm1hdGlvblxuIgorIlxuIgorCisjOiBhZGRyMmxpbmUuYzo4OSBhci5jOjI5NyBjb2ZmZHVtcC5jOjQ3OSBubG1jb252LmM6MTEyMSBvYmpjb3B5LmM6NDg0CisjOiBvYmpjb3B5LmM6NTE4IHJlYWRlbGYuYzoyNjQ5IHNpemUuYzoxMDQgc3Jjb252LmM6MTk2MiBzdHJpbmdzLmM6NjczCisjOiBzeXNkdW1wLmM6Nzc0IHdpbmRyZXMuYzo3MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVwb3J0IGJ1Z3MgdG8gJXNcbiIKIG1zZ3N0ciAiIgogIlJhcHBvcnRlcmEgZmVsIHRpbGwgJXNcbiIKLSJTa2lja2Egc3lucHVua3RlciBw5SD2dmVyc+R0dG5pbmdlbiB0aWxsIHN2QGxpLm9yZ1xuIgorIlJhcHBvcnRlcmEgc3lucHVua3RlciBww6Ugw7Z2ZXJzw6R0dG5pbmdlbiB0aWxsIHN2QGxpLm9yZ1xuIgogCi0jCi0jOiBhZGRyMmxpbmUuYzoyNDAKKyM6IGFkZHIybGluZS5jOjI0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2FuIG5vdCBnZXQgYWRkcmVzc2VzIGZyb20gYXJjaGl2ZSIKLW1zZ3N0ciAiJXM6IGtvbW1lciBpbnRlIOV0IGFkcmVzc2VybmEgaSBhcmtpdmV0IgorbXNnc3RyICIlczoga29tbWVyIGludGUgw6V0IGFkcmVzc2VybmEgaSBhcmtpdmV0IgogCi0jCi0jOiBhZGRyMmxpbmUuYzozMTIgbm0uYzo0NDcgb2JqZHVtcC5jOjI4MDAKKyM6IGFkZHIybGluZS5jOjMxNyBubS5jOjQzMyBvYmpkdW1wLmM6MjY5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGRlbWFuZ2xpbmcgc3R5bGUgYCVzJyIKLW1zZ3N0ciAib2vkbmQgYXZrb2RuaW5nc3N0aWwgXCIlc1wiIgorbXNnc3RyICJva8OkbmQgYXZrb2RuaW5nc3N0aWwgXCIlc1wiIgogCi0jCi0jOiBhci5jOjIzNworIzogYXIuYzoyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gZW50cnkgJXMgaW4gYXJjaGl2ZVxuIgogbXNnc3RyICJpbmdlbiBwb3N0ICVzIGkgYXJraXZldFxuIgogCi0jCi0jOiBhci5jOjI1NAorIzogYXIuYzoyNTUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVXNhZ2U6ICVzIFstWDMyXzY0XSBbLV17ZG1wcXJzdHh9W2FiY2ZpbE5vUHNTdXZWXSBbbWVtYmVyLW5hbWVdIFtjb3VudF0gYXJjaGl2ZS1maWxlIGZpbGUuLi5cbiIKLW1zZ3N0ciAiQW525G5kbmluZzogJXMgWy1YMzJfNjRdIFstXXtkbXBxcnN0eH1bYWJjZmlsTm9Qc1N1dlZdIFttZWRsZW1zbmFtbl0gW251bW1lcl0gYXJraXZmaWwgZmlsLi4uXG4iCittc2dpZCAiVXNhZ2U6ICVzIFtlbXVsYXRpb24gb3B0aW9uc10gWy1de2RtcHFyc3R4fVthYmNmaWxOb1BzU3V2Vl0gW21lbWJlci1uYW1lXSBbY291bnRdIGFyY2hpdmUtZmlsZSBmaWxlLi4uXG4iCittc2dzdHIgIkFudsOkbmRuaW5nOiAlcyBbZW11bGVyaW5nc2ZsYWdnb3JdIFstXXtkbXBxcnN0eH1bYWJjZmlsTm9Qc1N1dlZdIFttZWRsZW1zbmFtbl0gW251bW1lcl0gYXJraXZmaWwgZmlsLi4uXG4iCiAKLSMKLSM6IGFyLmM6MjU3CisjOiBhci5jOjI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgICAgJXMgLU0gWzxtcmktc2NyaXB0XVxuIgogbXNnc3RyICIgICAgICAgJXMgLU0gWzxtcmktc2tyaXB0XVxuIgogCi0jCi0jOiBhci5jOjI1OAorIzogYXIuYzoyNTkKIG1zZ2lkICIgY29tbWFuZHM6XG4iCiBtc2dzdHIgIiBrb21tYW5kb246XG4iCiAKLSMKLSM6IGFyLmM6MjU5Ci1tc2dpZCAiICBkICAgICAgICAgICAgLSBkZWxldGUgZmlsZShzKSBmcm9tIHRoZSBhcmNoaXZlXG4iCi1tc2dzdHIgIiAgZCAgICAgICAgICAgIC0gdGEgYm9ydCBmaWwoZXIpIGkgYXJraXZldFxuIgotCi0jCiAjOiBhci5jOjI2MAorbXNnaWQgIiAgZCAgICAgICAgICAgIC0gZGVsZXRlIGZpbGUocykgZnJvbSB0aGUgYXJjaGl2ZVxuIgorbXNnc3RyICIgIGQgICAgICAgICAgICAtIHJhZGVyYSBmaWwoZXIpIGkgYXJraXZldFxuIgorCisjOiBhci5jOjI2MQogbXNnaWQgIiAgbVthYl0gICAgICAgIC0gbW92ZSBmaWxlKHMpIGluIHRoZSBhcmNoaXZlXG4iCiBtc2dzdHIgIiAgbVthYl0gICAgICAgIC0gZmx5dHRhIGZpbChlcikgaSBhcmtpdmV0XG4iCiAKLSMKLSM6IGFyLmM6MjYxCi1tc2dpZCAiICBwICAgICAgICAgICAgLSBwcmludCBmaWxlKHMpIGZvdW5kIGluIHRoZSBhcmNoaXZlXG4iCi1tc2dzdHIgIiAgcCAgICAgICAgICAgIC0gc2tyaXYgdXQgZmlsKGVyKSBzb20gcOV0cuRmZmFzIGkgYXJraXZldFxuIgotCi0jCiAjOiBhci5jOjI2MgorbXNnaWQgIiAgcCAgICAgICAgICAgIC0gcHJpbnQgZmlsZShzKSBmb3VuZCBpbiB0aGUgYXJjaGl2ZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgICAtIHNrcml2IHV0IGZpbChlcikgc29tIHDDpXRyw6RmZmFzIGkgYXJraXZldFxuIgorCisjOiBhci5jOjI2MwogbXNnaWQgIiAgcVtmXSAgICAgICAgIC0gcXVpY2sgYXBwZW5kIGZpbGUocykgdG8gdGhlIGFyY2hpdmVcbiIKIG1zZ3N0ciAiICBxW2ZdICAgICAgICAgLSBzbmFiYmZvZ2EgZmlsKGVyKSB0aWxsIHNsdXRldCBhdiBhcmtpdmV0XG4iCiAKLSMKLSM6IGFyLmM6MjYzCi1tc2dpZCAiICByW2FiXVtmXVt1XSAgLSByZXBsYWNlIGV4aXN0aW5nIG9yIGluc2VydCBuZXcgZmlsZShzKSBpbnRvIHRoZSBhcmNoaXZlXG4iCi1tc2dzdHIgIiAgclthYl1bZl1bdV0gIC0gZXJz5HR0IGV4aXN0ZXJhbmRlIGVsbGVyIGluZm9nYSBueShhKSBmaWwoZXIpIGkgYXJraXZldFxuIgotCi0jCiAjOiBhci5jOjI2NAotbXNnaWQgIiAgdCAgICAgICAgICAgIC0gZGlzcGxheSBjb250ZW50cyBvZiBhcmNoaXZlXG4iCi1tc2dzdHIgIiAgdCAgICAgICAgICAgIC0gdmlzYSBpbm5laOVsbGV0IGkgYXJraXZldFxuIgorbXNnaWQgIiAgclthYl1bZl1bdV0gIC0gcmVwbGFjZSBleGlzdGluZyBvciBpbnNlcnQgbmV3IGZpbGUocykgaW50byB0aGUgYXJjaGl2ZVxuIgorbXNnc3RyICIgIHJbYWJdW2ZdW3VdICAtIGVyc8OkdHQgZXhpc3RlcmFuZGUgZWxsZXIgaW5mb2dhIG55KGEpIGZpbChlcikgaSBhcmtpdmV0XG4iCiAKLSMKICM6IGFyLmM6MjY1Ci1tc2dpZCAiICB4W29dICAgICAgICAgLSBleHRyYWN0IGZpbGUocykgZnJvbSB0aGUgYXJjaGl2ZVxuIgotbXNnc3RyICIgIHhbb10gICAgICAgICAtIGjkbXRhIGZpbChlcikgZnLlbiBhcmtpdmV0XG4iCittc2dpZCAiICB0ICAgICAgICAgICAgLSBkaXNwbGF5IGNvbnRlbnRzIG9mIGFyY2hpdmVcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgICAgLSB2aXNhIGlubmVow6VsbGV0IGkgYXJraXZldFxuIgogCi0jCiAjOiBhci5jOjI2NgotbXNnaWQgIiBjb21tYW5kIHNwZWNpZmljIG1vZGlmaWVyczpcbiIKLW1zZ3N0ciAiIG1vZGlmaWVyYXJlIHNwZWNpZmlrYSBm9nIga29tbWFuZG9uYTpcbiIKK21zZ2lkICIgIHhbb10gICAgICAgICAtIGV4dHJhY3QgZmlsZShzKSBmcm9tIHRoZSBhcmNoaXZlXG4iCittc2dzdHIgIiAgeFtvXSAgICAgICAgIC0gaMOkbXRhIGZpbChlcikgZnLDpW4gYXJraXZldFxuIgogCi0jCiAjOiBhci5jOjI2NworbXNnaWQgIiBjb21tYW5kIHNwZWNpZmljIG1vZGlmaWVyczpcbiIKK21zZ3N0ciAiIG1vZGlmaWVyYXJlIHNwZWNpZmlrYSBmw7ZyIGtvbW1hbmRvbmE6XG4iCisKKyM6IGFyLmM6MjY4CiBtc2dpZCAiICBbYV0gICAgICAgICAgLSBwdXQgZmlsZShzKSBhZnRlciBbbWVtYmVyLW5hbWVdXG4iCiBtc2dzdHIgIiAgW2FdICAgICAgICAgIC0gaW5mb2dhIGZpbChlcikgZWZ0ZXIgW21lZGxlbXNuYW1uXVxuIgogCi0jCi0jOiBhci5jOjI2OAotbXNnaWQgIiAgW2JdICAgICAgICAgIC0gcHV0IGZpbGUocykgYmVmb3JlIFttZW1iZXItbmFtZV0gKHNhbWUgYXMgW2ldKVxuIgotbXNnc3RyICIgIFtiXSAgICAgICAgICAtIGluZm9nYSBmaWwoZXIpIGb2cmUgW21lZGxlbXNuYW1uXSAoc2FtbWEgc29tIFtpXSlcbiIKLQotIwogIzogYXIuYzoyNjkKLW1zZ2lkICIgIFtOXSAgICAgICAgICAtIHVzZSBpbnN0YW5jZSBbY291bnRdIG9mIG5hbWVcbiIKLW1zZ3N0ciAiICBbTl0gICAgICAgICAgLSBhbnbkbmQgZvZyZWtvbXN0IFtudW1tZXJdIGF2IG5hbW5cbiIKK21zZ2lkICIgIFtiXSAgICAgICAgICAtIHB1dCBmaWxlKHMpIGJlZm9yZSBbbWVtYmVyLW5hbWVdIChzYW1lIGFzIFtpXSlcbiIKK21zZ3N0ciAiICBbYl0gICAgICAgICAgLSBpbmZvZ2EgZmlsKGVyKSBmw7ZyZSBbbWVkbGVtc25hbW5dIChzYW1tYSBzb20gW2ldKVxuIgogCi0jCiAjOiBhci5jOjI3MAorbXNnaWQgIiAgW05dICAgICAgICAgIC0gdXNlIGluc3RhbmNlIFtjb3VudF0gb2YgbmFtZVxuIgorbXNnc3RyICIgIFtOXSAgICAgICAgICAtIGFudsOkbmQgZsO2cmVrb21zdCBbbnVtbWVyXSBhdiBuYW1uXG4iCisKKyM6IGFyLmM6MjcxCiBtc2dpZCAiICBbZl0gICAgICAgICAgLSB0cnVuY2F0ZSBpbnNlcnRlZCBmaWxlIG5hbWVzXG4iCiBtc2dzdHIgIiAgW2ZdICAgICAgICAgIC0ga29ydGEgYXYgaW5mb2dhZGUgZmlsbmFtblxuIgogCi0jCi0jOiBhci5jOjI3MQotbXNnaWQgIiAgW1BdICAgICAgICAgIC0gdXNlIGZ1bGwgcGF0aCBuYW1lcyB3aGVuIG1hdGNoaW5nXG4iCi1tc2dzdHIgIiAgW1BdICAgICAgICAgIC0gYW525G5kIGZ1bGxzdORuZGlnYSBz9mt25GdlbiB2aWQgauRtZvZyZWxzZXJcbiIKLQotIwogIzogYXIuYzoyNzIKK21zZ2lkICIgIFtQXSAgICAgICAgICAtIHVzZSBmdWxsIHBhdGggbmFtZXMgd2hlbiBtYXRjaGluZ1xuIgorbXNnc3RyICIgIFtQXSAgICAgICAgICAtIG3Dtm5zdGVycGFzc2EgbW90IG5hbW5ldHMgaGVsYSBzw7ZrdsOkZ1xuIgorCisjOiBhci5jOjI3MwogbXNnaWQgIiAgW29dICAgICAgICAgIC0gcHJlc2VydmUgb3JpZ2luYWwgZGF0ZXNcbiIKIG1zZ3N0ciAiICBbb10gICAgICAgICAgLSBiZXZhcmEgdXJzcHJ1bmdsaWdhIGRhdHVtXG4iCiAKLSMKLSM6IGFyLmM6MjczCi1tc2dpZCAiICBbdV0gICAgICAgICAgLSBvbmx5IHJlcGxhY2UgZmlsZXMgdGhhdCBhcmUgbmV3ZXIgdGhhbiBjdXJyZW50IGFyY2hpdmUgY29udGVudHNcbiIKLW1zZ3N0ciAiICBbdV0gICAgICAgICAgLSBlcnPkdHQgYmFyYSBmaWxlciBzb20g5HIgbnlhcmUg5G4gaSBhcmtpdmV0XG4iCi0KLSMKICM6IGFyLmM6Mjc0Cittc2dpZCAiICBbdV0gICAgICAgICAgLSBvbmx5IHJlcGxhY2UgZmlsZXMgdGhhdCBhcmUgbmV3ZXIgdGhhbiBjdXJyZW50IGFyY2hpdmUgY29udGVudHNcbiIKK21zZ3N0ciAiICBbdV0gICAgICAgICAgLSBlcnPDpHR0IGJhcmEgZmlsZXIgc29tIMOkciBueWFyZSDDpG4gaSBhcmtpdmV0XG4iCisKKyM6IGFyLmM6Mjc1CiBtc2dpZCAiIGdlbmVyaWMgbW9kaWZpZXJzOlxuIgogbXNnc3RyICIgZ2VuZXJlbGxhIG1vZGlmaWVyYXJlOlxuIgogCi0jCi0jOiBhci5jOjI3NQotbXNnaWQgIiAgW2NdICAgICAgICAgIC0gZG8gbm90IHdhcm4gaWYgdGhlIGxpYnJhcnkgaGFkIHRvIGJlIGNyZWF0ZWRcbiIKLW1zZ3N0ciAiICBbY10gICAgICAgICAgLSB2YXJuYSBpbnRlIG9tIGJpYmxpb3Rla2V0IG3lc3RlIHNrYXBhc1xuIgotCi0jCiAjOiBhci5jOjI3NgotbXNnaWQgIiAgW3NdICAgICAgICAgIC0gY3JlYXRlIGFuIGFyY2hpdmUgaW5kZXggKGNmLiByYW5saWIpXG4iCi1tc2dzdHIgIiAgW3NdICAgICAgICAgIC0gc2thcGEgZXR0IGluZGV4IPZ2ZXIgYXJraXZldCAoamZyLiByYW5saWIpXG4iCittc2dpZCAiICBbY10gICAgICAgICAgLSBkbyBub3Qgd2FybiBpZiB0aGUgbGlicmFyeSBoYWQgdG8gYmUgY3JlYXRlZFxuIgorbXNnc3RyICIgIFtjXSAgICAgICAgICAtIHZhcm5hIGludGUgb20gYmlibGlvdGVrZXQgbcOlc3RlIHNrYXBhc1xuIgogCi0jCiAjOiBhci5jOjI3NwotbXNnaWQgIiAgW1NdICAgICAgICAgIC0gZG8gbm90IGJ1aWxkIGEgc3ltYm9sIHRhYmxlXG4iCi1tc2dzdHIgIiAgW1NdICAgICAgICAgIC0gc2thcGEgaW5nZXQgaW5kZXgg9nZlciBhcmtpdmV0XG4iCittc2dpZCAiICBbc10gICAgICAgICAgLSBjcmVhdGUgYW4gYXJjaGl2ZSBpbmRleCAoY2YuIHJhbmxpYilcbiIKK21zZ3N0ciAiICBbc10gICAgICAgICAgLSBza2FwYSBldHQgaW5kZXggw7Z2ZXIgYXJraXZldCAoamZyLiByYW5saWIpXG4iCiAKLSMKICM6IGFyLmM6Mjc4Ci1tc2dpZCAiICBbdl0gICAgICAgICAgLSBiZSB2ZXJib3NlXG4iCi1tc2dzdHIgIiAgW3ZdICAgICAgICAgIC0gdmFyIG3lbmdvcmRpZ1xuIgorbXNnaWQgIiAgW1NdICAgICAgICAgIC0gZG8gbm90IGJ1aWxkIGEgc3ltYm9sIHRhYmxlXG4iCittc2dzdHIgIiAgW1NdICAgICAgICAgIC0gc2thcGEgaW5nZXQgaW5kZXggw7Z2ZXIgYXJraXZldFxuIgogCi0jCiAjOiBhci5jOjI3OQorbXNnaWQgIiAgW3ZdICAgICAgICAgIC0gYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIFt2XSAgICAgICAgICAtIGJlc2tyaXYgdXRmw7ZybGlndFxuIgorCisjOiBhci5jOjI4MAogbXNnaWQgIiAgW1ZdICAgICAgICAgIC0gZGlzcGxheSB0aGUgdmVyc2lvbiBudW1iZXJcbiIKIG1zZ3N0ciAiICBbVl0gICAgICAgICAgLSB2aXNhIHZlcnNpb25zaW5mb3JtYXRpb25cbiIKIAotIwotIzogYXIuYzoyODAKLW1zZ2lkICIgIFstWDMyXzY0XSAgICAtIChpZ25vcmVkKVxuIgotbXNnc3RyICIgIFstWDMyXzY0XSAgICAtIChpZ25vcmVyYWQpXG4iCi0KLSMKLSM6IGFyLmM6Mjg0CisjOiBhci5jOjI4NwogIywgYy1mb3JtYXQKLW1zZ2lkICJVc2FnZTogJXMgWy12Vl0gYXJjaGl2ZVxuIgotbXNnc3RyICJBbnbkbmRuaW5nOiAlcyBbLXZWXSBhcmtpdlxuIgorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gYXJjaGl2ZVxuIgorbXNnc3RyICJBbnbDpG5kbmluZzogJXMgW2ZsYWdnb3JdIGFya2l2XG4iCiAKLSMKLSM6IGFyLmM6NTA1CisjOiBhci5jOjI4OAorbXNnaWQgIiBHZW5lcmF0ZSBhbiBpbmRleCB0byBzcGVlZCBhY2Nlc3MgdG8gYXJjaGl2ZXNcbiIKK21zZ3N0ciAiIEdlbmVyZXJhIGV0dCBpbmRleCBmw7ZyIGF0dCBzbmFiYmEgdXBwIHVwcHNsYWduaW5nYXIgaSBhcmtpdmV0XG4iCisKKyM6IGFyLmM6Mjg5Cittc2dpZCAiIgorIiBUaGUgb3B0aW9ucyBhcmU6XG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIFByaW50IHRoaXMgaGVscCBtZXNzYWdlXG4iCisiICAtViAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFByaW50IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIgorIiBGbGFnZ29ybmEgw6RyOlxuIgorIiAgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBWaXNhIGRlbm5hIGhqw6RscFxuIgorIiAgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWaXNhIHZlcnNpb25zaW5mb3JtYXRpb25cbiIKKworIzogYXIuYzo1MTIKIG1zZ2lkICJ0d28gZGlmZmVyZW50IG9wZXJhdGlvbiBvcHRpb25zIHNwZWNpZmllZCIKLW1zZ3N0ciAidHblIG9saWthIGtvbW1hbmRvZmxhZ2dvciBhbmdhdnMiCittc2dzdHIgInR2w6Ugb2xpa2Ega29tbWFuZG9mbGFnZ29yIGdhdnMiCiAKLSMKLSM6IGFyLmM6NTgwCisjOiBhci5jOjU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlYyIKLW1zZ3N0ciAib3RpbGzldGVuIGZsYWdnYSAtLSAlYyIKK21zZ3N0ciAib3RpbGzDpXRlbiBmbGFnZ2EgLS0gJWMiCiAKLSMKLSM6IGFyLmM6NjEyCisjOiBhci5jOjYxOQogbXNnaWQgIm5vIG9wZXJhdGlvbiBzcGVjaWZpZWQiCi1tc2dzdHIgImluZ2V0IGtvbW1hbmRvIGFuZ2F2cyIKK21zZ3N0ciAiaW5nZW4ga29tbWFuZG9mbGFnZ2EgZ2F2cyIKIAotIwotIzogYXIuYzo2MTUKKyM6IGFyLmM6NjIyCiBtc2dpZCAiYHUnIGlzIG9ubHkgbWVhbmluZ2Z1bCB3aXRoIHRoZSBgcicgb3B0aW9uLiIKLW1zZ3N0ciAiXCJ1XCIg5HIgYmFyYSBtZW5pbmdzZnVsbCB0aWxsc2FtbWFucyBtZWQgZmxhZ2dhbiBcInJcIi4iCittc2dzdHIgIlwidVwiIMOkciBiYXJhIG1lbmluZ3NmdWxsIHRpbGxzYW1tYW5zIG1lZCBcInJcIi4iCiAKLSMKLSM6IGFyLmM6NjI1CisjOiBhci5jOjYzMgogbXNnaWQgImBOJyBpcyBvbmx5IG1lYW5pbmdmdWwgd2l0aCB0aGUgYHgnIGFuZCBgZCcgb3B0aW9ucy4iCi1tc2dzdHIgIlwiTlwiIORyIGJhcmEgbWVuaW5nc2Z1bGwgdGlsbHNhbW1hbnMgbWVkIGZsYWdnYW4gXCJ4XCIgZWxsZXIgXCJkXCIuIgorbXNnc3RyICJcIk5cIiDDpHIgYmFyYSBtZW5pbmdzZnVsbCB0aWxsc2FtbWFucyBtZWQgXCJ4XCIgZWxsZXIgXCJkXCIuIgogCi0jCi0jOiBhci5jOjYyOAorIzogYXIuYzo2MzUKIG1zZ2lkICJWYWx1ZSBmb3IgYE4nIG11c3QgYmUgcG9zaXRpdmUuIgotbXNnc3RyICJBcmd1bWVudCB0aWxsIFwiTlwiIG3lc3RlIHZhcmEgcG9zaXRpdnQuIgorbXNnc3RyICJBcmd1bWVudGV0IHRpbGwgXCJOXCIgbcOlc3RlIHZhcmEgcG9zaXRpdnQuIgogCi0jCi0jOiBhci5jOjcxMQorIzogYXIuYzo3MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IgLS0gdGhpcyBvcHRpb24gbm90IGltcGxlbWVudGVkIgotbXNnc3RyICJpbnRlcm50IGZlbCAtLSBkZW5uYSBmbGFnZ2Eg5HIgaW50ZSBpbXBsZW1lbnRlcmFkIgorbXNnc3RyICJpbnRlcm50IGZlbCAtLSBmbGFnZ2FuIMOkciBpbnRlIGltcGxlbWVudGVyYWQiCiAKLSMKLSM6IGFyLmM6ODMwIGFyLmM6ODgxIGFyLmM6MTMyNyBvYmpjb3B5LmM6MTMyMgorIzogYXIuYzo4MzcgYXIuYzo4ODggYXIuYzoxMzMzIG9iamNvcHkuYzoxNTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludGVybmFsIHN0YXQgZXJyb3Igb24gJXMiCi1tc2dzdHIgImludGVybnQgc3RhdC1mZWwgZvZyICVzIgorbXNnc3RyICJpbnRlcm50IHN0YXQtZmVsIGbDtnIgJXMiCiAKLSMKLSM6IGFyLmM6ODM0CisjOiBhci5jOjg0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0yNDAsMTQ4NyArMjM1LDEyNjkgQEAKICI8bWVkbGVtICVzPlxuIgogIlxuIgogCi0jCi0jOiBhci5jOjg1MCBhci5jOjkxOAorIzogYXIuYzo4NTcgYXIuYzo5MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYXJjaGl2ZSIKLW1zZ3N0ciAiJXMg5HIgaW50ZSBldHQgZ2lsdGlndCBhcmtpdiIKK21zZ3N0ciAiJXMgw6RyIGludGUgZXR0IGdpbHRpZ3QgYXJraXYiCiAKLSMKLSM6IGFyLmM6ODg2CisjOiBhci5jOjg5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJzdGF0IHJldHVybnMgbmVnYXRpdmUgc2l6ZSBmb3IgJXMiCi1tc2dzdHIgInN0YXQgcmV0dXJuZXJhciBuZWdhdGl2IHN0b3JsZWsgcOUgJXMiCittc2dzdHIgInN0YXQgcmV0dXJuZXJhciBuZWdhdGl2IHN0b3JsZWsgcMOlICVzIgogCi0jCi0jOiBhci5jOjEwMTMKKyM6IGFyLmM6MTAyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBub3QgYW4gYXJjaGl2ZSIKLW1zZ3N0ciAiJXMg5HIgaW50ZSBldHQgYXJraXYiCittc2dzdHIgIiVzIMOkciBpbnRlIGV0dCBhcmtpdiIKIAotIwotIzogYXIuYzoxMDIwCisjOiBhci5jOjEwMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3JlYXRpbmcgJXMiCiBtc2dzdHIgInNrYXBhciAlcyIKIAotIwotIzogYXIuYzoxMjI2CisjOiBhci5jOjEyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVtYmVyIG5hbWVkIGAlcydcbiIKIG1zZ3N0ciAiSW5nZW4gbWVkbGVtIGhldGVyIFwiJXNcIlxuIgogCi0jCi0jOiBhci5jOjEyNzgKKyM6IGFyLmM6MTI4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBlbnRyeSAlcyBpbiBhcmNoaXZlICVzISIKIG1zZ3N0ciAiaW5nZW4gcG9zdCAlcyBpIGFya2l2ICVzISIKIAotIwotIyBhcmNoaXZlIG1hcCB2ZXJrYXIgdmFyYSB2YWQgaW5kZXhldCBrYWxsYXMgaSBr5Gxsa29kZW4KLSM6IGFyLmM6MTQzOQorIyBhcmNoaXZlIG1hcCB2ZXJrYXIgdmFyYSB2YWQgaW5kZXhldCBrYWxsYXMgaSBrw6RsbGtvZGVuCisjOiBhci5jOjE0MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vIGFyY2hpdmUgbWFwIHRvIHVwZGF0ZSIKLW1zZ3N0ciAiJXM6IGluZ2V0IGFya2l2aW5kZXggYXR0IHVwcGRhdGVyYSIKK21zZ3N0ciAiJXM6IGluZ2V0IGluZGV4IGF0dCB1cHBkYXRlcmEiCiAKLSMKLSM6IGFyc3VwLmM6ODgKKyM6IGFyc3VwLmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gZW50cnkgJXMgaW4gYXJjaGl2ZS5cbiIKIG1zZ3N0ciAiSW5nZW4gcG9zdCAlcyBpIGFya2l2ZXQuXG4iCiAKLSMKLSM6IGFyc3VwLmM6MTIwCisjOiBhcnN1cC5jOjExNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4ndCBvcGVuIGZpbGUgJXNcbiIKLW1zZ3N0ciAiS2FuIGludGUg9nBwbmEgZmlsICVzXG4iCittc2dzdHIgIkthbiBpbnRlIMO2cHBuYSBmaWwgJXNcbiIKIAotIwotIzogYXJzdXAuYzoxNzEKKyM6IGFyc3VwLmM6MTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBDYW4ndCBvcGVuIG91dHB1dCBhcmNoaXZlICVzXG4iCi1tc2dzdHIgIiVzOiBLYW4gaW50ZSD2cHBuYSB1dGRhdGFhcmtpdiAlc1xuIgorbXNnc3RyICIlczogS2FuIGludGUgw7ZwcG5hIHV0ZGF0YWFrcml2ZXQgJXNcbiIKIAotIwotIzogYXJzdXAuYzoxODMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IENhbid0IG9wZW4gaW5wdXQgYXJjaGl2ZSAlc1xuIgotbXNnc3RyICIlczogS2FuIGludGUg9nBwbmEgaW5kYXRhYXJraXYgJXNcbiIKLQotIwogIzogYXJzdXAuYzoxODkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGZpbGUgJXMgaXMgbm90IGFuIGFyY2hpdmVcbiIKLW1zZ3N0ciAiJXM6IGZpbCAlcyDkciBpbnRlIGV0dCBhcmtpdlxuIgorbXNnaWQgIiVzOiBDYW4ndCBvcGVuIGlucHV0IGFyY2hpdmUgJXNcbiIKK21zZ3N0ciAiJXM6IEthbiBpbnRlIMO2cHBuYSBpbmRhdGFhcmtpdmV0ICVzXG4iCiAKLSMKLSM6IGFyc3VwLmM6MjMwCisjOiBhcnN1cC5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZSAlcyBpcyBub3QgYW4gYXJjaGl2ZVxuIgorbXNnc3RyICIlczogZmlsICVzIMOkciBpbnRlIGV0dCBhcmtpdlxuIgorCisjOiBhcnN1cC5jOjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gb3V0cHV0IGFyY2hpdmUgc3BlY2lmaWVkIHlldFxuIgotbXNnc3RyICIlczogaW5nZXQgdXRkYXRhYXJraXYgYW5naXZldCDkblxuIgorbXNnc3RyICIlczogaW5nZXQgdXRkYXRhYXJraXYgYW52aXNhdCDDpG5cbiIKIAotIwotIzogYXJzdXAuYzoyNTAgYXJzdXAuYzoyODUgYXJzdXAuYzozMjEgYXJzdXAuYzozNDEgYXJzdXAuYzozOTkKKyM6IGFyc3VwLmM6MjYyIGFyc3VwLmM6MzAxIGFyc3VwLmM6MzQzIGFyc3VwLmM6MzY0IGFyc3VwLmM6NDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBubyBvcGVuIG91dHB1dCBhcmNoaXZlXG4iCi1tc2dzdHIgIiVzOiBpbmdldCD2cHBldCB1dGRhdGFhcmtpdlxuIgorbXNnc3RyICIlczogaW5nZXQgw7ZwcGV0IHV0ZGF0YWFya2l2XG4iCiAKLSMKLSM6IGFyc3VwLmM6MjU4IGFyc3VwLmM6MzU5IGFyc3VwLmM6Mzc5CisjOiBhcnN1cC5jOjI3MyBhcnN1cC5jOjM4NSBhcnN1cC5jOjQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlICVzXG4iCi1tc2dzdHIgIiVzOiBrYW4gaW50ZSD2cHBuYSBmaWwgJXNcbiIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIMO2cHBuYSBmaWwgJXNcbiIKIAotIwotIyBtb2R1bGUgZmlsZSDkciBkZXRzYW1tYSBzb20gbWVtYmVyCi0jOiBhcnN1cC5jOjMwNiBhcnN1cC5jOjM3NSBhcnN1cC5jOjQ1NAorIyBtb2R1bGUgZmlsZSDDpHIgZGV0c2FtbWEgc29tIG1lbWJlcgorIzogYXJzdXAuYzozMjggYXJzdXAuYzo0MDcgYXJzdXAuYzo0ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGZpbmQgbW9kdWxlIGZpbGUgJXNcbiIKLW1zZ3N0ciAiJXM6IGhpdHRhciBpbnRlIG1vZHVsZmlsICVzXG4iCittc2dzdHIgIiVzOiBoaXR0YXIgaW50ZSBtZWRsZW0gJXNcbiIKIAotIwotIzogYXJzdXAuYzo0MDYKKyM6IGFyc3VwLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgb3BlbiBhcmNoaXZlIGlzICVzXG4iCi1tc2dzdHIgIkRldCBha3R1ZWxsYSD2cHBuYSBhcmtpdmV0IORyICVzXG4iCittc2dzdHIgIkRldCBha3R1ZWxsYSDDtnBwbmEgYXJraXZldCDDpHIgJXNcbiIKIAotIwotIyAgQlVHRzogZHViYmVsdCBibGFua3N0ZWcKLSM6IGFyc3VwLmM6NDMzCisjOiBhcnN1cC5jOjQ2NAogIywgYy1mb3JtYXQKLW1zZ2lkICIlczogbm8gb3BlbiAgYXJjaGl2ZVxuIgotbXNnc3RyICIlczogaW5nZXQg9nBwZXQgYXJraXZcbiIKK21zZ2lkICIlczogbm8gb3BlbiBhcmNoaXZlXG4iCittc2dzdHIgIiVzOiBpbmdldCDDtnBwZXQgYXJraXZcbiIKIAotIwotIzogYnVjb21tLmM6MTA2CisjOiBiaW5lbXVsLmM6MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBObyBlbXVsYXRpb24gc3BlY2lmaWMgb3B0aW9uc1xuIgorbXNnc3RyICIgIEluZ2EgZW11bGVyaW5nc3NwZWNpZmlrYSBmbGFnZ29yXG4iCisKKyMuIE1hY3JvcyBmb3IgY29tbW9uIG91dHB1dC4KKyM6IGJpbmVtdWwuaDo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgZW11bGF0aW9uIG9wdGlvbnM6IFxuIgorbXNnc3RyICIgIGVtdWxlcmluZ3NmbGFnZ29yOlxuIgorCisjOiBidWNvbW0uYzoxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgc2V0IEJGRCBkZWZhdWx0IHRhcmdldCB0byBgJXMnOiAlcyIKLW1zZ3N0ciAia2FuIGludGUgc+R0dGEgQkZEOnMgc3RhbmRhcmRt5WwgdGlsbCBcIiVzXCI6ICVzIgorbXNnc3RyICJrYW4gaW50ZSBzw6R0dGEgQkZEOnMgc3RhbmRhcmRtw6VsIHRpbGwgXCIlc1wiOiAlcyIKIAotIwotIzogYnVjb21tLmM6MTE4CisjOiBidWNvbW0uYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IE1hdGNoaW5nIGZvcm1hdHM6IgogbXNnc3RyICIlczogUGFzc2FuZGUgZm9ybWF0OiIKIAotIwotIzogYnVjb21tLmM6MTM1CisjOiBidWNvbW0uYzoxNDIKIG1zZ2lkICJTdXBwb3J0ZWQgdGFyZ2V0czoiCi1tc2dzdHIgIk3lbCBzb20gaGFudGVyYXM6IgorbXNnc3RyICJNw6VsIHNvbSBoYW50ZXJhczoiCiAKLSMKLSM6IGJ1Y29tbS5jOjEzNworIzogYnVjb21tLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdXBwb3J0ZWQgdGFyZ2V0czoiCi1tc2dzdHIgIiVzOiBt5Wwgc29tIGhhbnRlcmFzOiIKK21zZ3N0ciAiJXM6IG3DpWwgc29tIGhhbnRlcmFzOiIKIAotIwotIzogYnVjb21tLmM6MTUzCisjOiBidWNvbW0uYzoxNjIKIG1zZ2lkICJTdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlczoiCiBtc2dzdHIgIkFya2l0ZWt0dXJlciBzb20gaGFudGVyYXM6IgogCi0jCi0jOiBidWNvbW0uYzoxNTUKKyM6IGJ1Y29tbS5jOjE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3VwcG9ydGVkIGFyY2hpdGVjdHVyZXM6IgogbXNnc3RyICIlczogYXJraXRla3R1cmVyIHNvbSBoYW50ZXJhczoiCiAKLSMKLSM6IGJ1Y29tbS5jOjI2MgorIzogYnVjb21tLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJGRCBoZWFkZXIgZmlsZSB2ZXJzaW9uICVzXG4iCittc2dzdHIgIkJGRC1odXZ1ZGZpbCB2ZXJzaW9uICVzXG4iCisKKyM6IGJ1Y29tbS5jOjQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIG51bWJlcjogJXMiCiBtc2dzdHIgIiVzOiBmZWxha3RpZ3QgdGFsOiAlcyIKIAotIwotIzogY29mZmR1bXAuYzoxMDYKKyM6IGNvZmZkdW1wLmM6MTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiNsaW5lcyAlZCAiCiBtc2dzdHIgIiNyYWRlciAlZCAiCiAKLSMKLSM6IGNvZmZkdW1wLmM6NDY4IHN5c2R1bXAuYzo3NDAKKyM6IGNvZmZkdW1wLmM6NDcxIHN5c2R1bXAuYzo3NjcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IFByaW50IGEgaHVtYW4gcmVhZGFibGUgaW50ZXJwcmV0YXRpb24gb2YgYSBTWVNST0ZGIG9iamVjdCBmaWxlXG4iCi1tc2dzdHIgIiVzOiBTa3JpdiBlbiBt5G5za2xpZ3QgbORzYmFyIHRvbGtuaW5nIGF2IGVuIFNZU1JPRkYtb2JqZWt0ZmlsXG4iCittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb24ocyldIGluLWZpbGVcbiIKK21zZ3N0ciAiQW52w6RuZG5pbmc6ICVzIFtmbGFnZ29yXSBpbmZpbFxuIgogCi0jCi0jOiBjb2ZmZHVtcC5jOjUzMSBzcmNvbnYuYzoyMDI5IHN5c2R1bXAuYzo3OTkKKyM6IGNvZmZkdW1wLmM6NDcyCittc2dpZCAiIFByaW50IGEgaHVtYW4gcmVhZGFibGUgaW50ZXJwcmV0YXRpb24gb2YgYSBTWVNST0ZGIG9iamVjdCBmaWxlXG4iCittc2dzdHIgIiBTa3JpdiBlbiBtw6Ruc2tsaWd0IGzDpHNiYXIgdG9sa25pbmcgYXYgZW4gU1lTUk9GRi1vYmpla3RmaWxcbiIKKworIzogY29mZmR1bXAuYzo0NzMKK21zZ2lkICIiCisiIFRoZSBvcHRpb25zIGFyZTpcbiIKKyIgIC1oIC0taGVscCAgICAgICAgICAgICAgRGlzcGxheSB0aGlzIGluZm9ybWF0aW9uXG4iCisiICAtdiAtLXZlcnNpb24gICAgICAgICAgIERpc3BsYXkgdGhlIHByb2dyYW0ncyB2ZXJzaW9uXG4iCisiXG4iCittc2dzdHIgIiIKKyIgRmxhZ2dvcm5hIMOkcjpcbiIKKyIgIC1oIC0taGVscCAgICAgICAgICAgICAgVmlzYSBkZW5uYSBoasOkbHBcbiIKKyIgIC12IC0tdmVyc2lvbiAgICAgICAgICAgVmlzYSBwcm9ncmFtbWV0cyB2ZXJzaW9uc2luZm9ybWF0aW9uXG4iCisiXG4iCisKKyM6IGNvZmZkdW1wLmM6NTQxIHNyY29udi5jOjIwNTIgc3lzZHVtcC5jOjgzMQogbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgotbXNnc3RyICJpbmdlbiBpbmRhdGFmaWwgYW5nYXZzIgorbXNnc3RyICJpbmdlbiBpbmZpbCB2YWxkZXMiCiAKLSMKLSM6IGRlYnVnLmM6NjUzCisjOiBkZWJ1Zy5jOjY1NAogbXNnaWQgImRlYnVnX2FkZF90b19jdXJyZW50X25hbWVzcGFjZTogbm8gY3VycmVudCBmaWxlIgogbXNnc3RyICJkZWJ1Z19hZGRfdG9fY3VycmVudF9uYW1lc3BhY2U6IGluZ2VuIGFrdHVlbGwgZmlsIgogCi0jCi0jOiBkZWJ1Zy5jOjczNgorIzogZGVidWcuYzo3MzcKIG1zZ2lkICJkZWJ1Z19zdGFydF9zb3VyY2U6IG5vIGRlYnVnX3NldF9maWxlbmFtZSBjYWxsIgogbXNnc3RyICJkZWJ1Z19zdGFydF9zb3VyY2U6IGluZ2V0IGFucm9wIHRpbGwgZGVidWdfc2V0X2ZpbGVuYW1lIgogCi0jCi0jOiBkZWJ1Zy5jOjc5NQorIzogZGVidWcuYzo3OTYKIG1zZ2lkICJkZWJ1Z19yZWNvcmRfZnVuY3Rpb246IG5vIGRlYnVnX3NldF9maWxlbmFtZSBjYWxsIgogbXNnc3RyICJkZWJ1Z19yZWNvcmRfZnVuY3Rpb246IGluZ2V0IGFucm9wIHRpbGwgZGVidWdfc2V0X2ZpbGVuYW1lIgogCi0jCi0jOiBkZWJ1Zy5jOjg1MQorIzogZGVidWcuYzo4NTIKIG1zZ2lkICJkZWJ1Z19yZWNvcmRfcGFyYW1ldGVyOiBubyBjdXJyZW50IGZ1bmN0aW9uIgogbXNnc3RyICJkZWJ1Z19yZWNvcmRfcGFyYW1ldGVyOiBpbmdlbiBha3R1ZWxsIGZ1bmt0aW9uIgogCi0jCi0jOiBkZWJ1Zy5jOjg4NQorIzogZGVidWcuYzo4ODYKIG1zZ2lkICJkZWJ1Z19lbmRfZnVuY3Rpb246IG5vIGN1cnJlbnQgZnVuY3Rpb24iCiBtc2dzdHIgImRlYnVnX2VuZF9mdW5jdGlvbjogaW5nZW4gYWt0dWVsbCBmdW5rdGlvbiIKIAotIwotIzogZGVidWcuYzo4OTEKKyM6IGRlYnVnLmM6ODkyCiBtc2dpZCAiZGVidWdfZW5kX2Z1bmN0aW9uOiBzb21lIGJsb2NrcyB3ZXJlIG5vdCBjbG9zZWQiCi1tc2dzdHIgImRlYnVnX2VuZF9mdW5jdGlvbjogbuVncmEgYmxvY2sgYXZzbHV0YWRlcyBpbnRlIgorbXNnc3RyICJkZWJ1Z19lbmRfZnVuY3Rpb246IG7DpWdyYSBibG9jayBhdnNsdXRhZGVzIGludGUiCiAKLSMKLSM6IGRlYnVnLmM6OTIxCisjOiBkZWJ1Zy5jOjkyMgogbXNnaWQgImRlYnVnX3N0YXJ0X2Jsb2NrOiBubyBjdXJyZW50IGJsb2NrIgogbXNnc3RyICJkZWJ1Z19zdGFydF9ibG9jazogaW5nZXQgYWt0dWVsbHQgYmxvY2siCiAKLSMKLSM6IGRlYnVnLmM6OTU5CisjOiBkZWJ1Zy5jOjk2MAogbXNnaWQgImRlYnVnX2VuZF9ibG9jazogbm8gY3VycmVudCBibG9jayIKIG1zZ3N0ciAiZGVidWdfZW5kX2Jsb2NrOiBpbmdldCBha3R1ZWxsdCBibG9jayIKIAotIwotIzogZGVidWcuYzo5NjYKKyM6IGRlYnVnLmM6OTY3CiBtc2dpZCAiZGVidWdfZW5kX2Jsb2NrOiBhdHRlbXB0IHRvIGNsb3NlIHRvcCBsZXZlbCBibG9jayIKLW1zZ3N0ciAiZGVidWdfZW5kX2Jsb2NrOiBm9nJz9msgZ2pvcmRlcyBhdHQgYXZzbHV0YSB5dHRlcnN0YSBibG9ja2V0IgorbXNnc3RyICJkZWJ1Z19lbmRfYmxvY2s6IGbDtnJzw7ZrIGdqb3JkZXMgYXR0IGF2c2x1dGEgeXR0ZXJzdGEgYmxvY2tldCIKIAotIwotIzogZGVidWcuYzo5OTIKKyM6IGRlYnVnLmM6OTkzCiBtc2dpZCAiZGVidWdfcmVjb3JkX2xpbmU6IG5vIGN1cnJlbnQgdW5pdCIKIG1zZ3N0ciAiZGVidWdfcmVjb3JkX2xpbmU6IGluZ2VuIGFrdHVlbGwga29tcGlsZXJpbmdzZW5oZXQiCiAKLSMKICMuIEZJWE1FCi0jOiBkZWJ1Zy5jOjEwNDYKKyM6IGRlYnVnLmM6MTA0NwogbXNnaWQgImRlYnVnX3N0YXJ0X2NvbW1vbl9ibG9jazogbm90IGltcGxlbWVudGVkIgogbXNnc3RyICJkZWJ1Z19zdGFydF9jb21tb25fYmxvY2s6IGludGUgaW1wbGVtZW50ZXJhdCIKIAotIwogIy4gRklYTUUKLSM6IGRlYnVnLmM6MTA1OAorIzogZGVidWcuYzoxMDU5CiBtc2dpZCAiZGVidWdfZW5kX2NvbW1vbl9ibG9jazogbm90IGltcGxlbWVudGVkIgogbXNnc3RyICJkZWJ1Z19lbmRfY29tbW9uX2Jsb2NrOiBpbnRlIGltcGxlbWVudGVyYXQiCiAKLSMKLSMgIEJVR0c6IEtvbG9uIHNha25hcyBhbnRhZ2xpZ2VuCiAjLiBGSVhNRS4KLSM6IGRlYnVnLmM6MTE1MgotbXNnaWQgImRlYnVnX3JlY29yZF9sYWJlbCBub3QgaW1wbGVtZW50ZWQiCisjOiBkZWJ1Zy5jOjExNTMKK21zZ2lkICJkZWJ1Z19yZWNvcmRfbGFiZWw6IG5vdCBpbXBsZW1lbnRlZCIKIG1zZ3N0ciAiZGVidWdfcmVjb3JkX2xhYmVsOiBpbnRlIGltcGxlbWVudGVyYXQiCiAKLSMKLSM6IGRlYnVnLmM6MTE3OAorIzogZGVidWcuYzoxMTc5CiBtc2dpZCAiZGVidWdfcmVjb3JkX3ZhcmlhYmxlOiBubyBjdXJyZW50IGZpbGUiCiBtc2dzdHIgImRlYnVnX3JlY29yZF92YXJpYWJsZTogaW5nZW4gYWt0dWVsbCBmaWwiCiAKLSMKLSM6IGRlYnVnLmM6MTE5NAotbXNnaWQgImRlYnVnX3JlY29yZF92YXJpYWJsZTogbm8gY3VycmVudCBibG9jayIKLW1zZ3N0ciAiZGVidWdfcmVjb3JkX3ZhcmlhYmxlOiBpbmdldCBha3R1ZWxsdCBibG9jayIKLQotIwotIzogZGVidWcuYzoxNzY0CisjOiBkZWJ1Zy5jOjE3NjIKIG1zZ2lkICJkZWJ1Z19tYWtlX3VuZGVmaW5lZF90eXBlOiB1bnN1cHBvcnRlZCBraW5kIgotbXNnc3RyICJkZWJ1Z19tYWtlX3VuZGVmaW5lZF90eXBlOiBzb3J0ZW4ga2FuIGludGUgaGFudGVyYXMiCittc2dzdHIgImRlYnVnX21ha2VfdW5kZWZpbmVkX3R5cGU6IHNvcnRlbiBoYW50ZXJhcyBpbnRlIgogCi0jCi0jOiBkZWJ1Zy5jOjE5NzAKKyM6IGRlYnVnLmM6MTk2MwogbXNnaWQgImRlYnVnX25hbWVfdHlwZTogbm8gY3VycmVudCBmaWxlIgogbXNnc3RyICJkZWJ1Z19uYW1lX3R5cGU6IGluZ2VuIGFrdHVlbGwgZmlsIgogCi0jCi0jOiBkZWJ1Zy5jOjIwMTgKKyM6IGRlYnVnLmM6MjAxMQogbXNnaWQgImRlYnVnX3RhZ190eXBlOiBubyBjdXJyZW50IGZpbGUiCiBtc2dzdHIgImRlYnVnX3RhZ190eXBlOiBpbmdlbiBha3R1ZWxsIGZpbCIKIAotIwotIzogZGVidWcuYzoyMDI2CisjOiBkZWJ1Zy5jOjIwMTkKIG1zZ2lkICJkZWJ1Z190YWdfdHlwZTogZXh0cmEgdGFnIGF0dGVtcHRlZCIKLW1zZ3N0ciAiZGVidWdfdGFnX3R5cGU6IGb2cnP2ayBnam9yZGVzIGF0dCBz5HR0YSBlbiBleHRyYSB0YWdnIgorbXNnc3RyICJkZWJ1Z190YWdfdHlwZTogZsO2cnPDtmsgZ2pvcmRlcyBhdHQgc8OkdHRhIGVuIGV4dHJhIHRhZ2ciCiAKLSMKLSM6IGRlYnVnLmM6MjA2NgorIzogZGVidWcuYzoyMDU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIldhcm5pbmc6IGNoYW5naW5nIHR5cGUgc2l6ZSBmcm9tICVkIHRvICVkXG4iCi1tc2dzdHIgIlZhcm5pbmc6IORuZHJhciBkYXRhdHlwZW5zIHN0b3JsZWsgZnLlbiAlZCB0aWxsICVkXG4iCittc2dzdHIgIlZhcm5pbmc6IMOkbmRyYXIgZGF0YXR5cGVucyBzdG9ybGVrIGZyw6VuICVkIHRpbGwgJWRcbiIKIAotIwotIzogZGVidWcuYzoyMDkwCisjOiBkZWJ1Zy5jOjIwODIKIG1zZ2lkICJkZWJ1Z19maW5kX25hbWVkX3R5cGU6IG5vIGN1cnJlbnQgY29tcGlsYXRpb24gdW5pdCIKIG1zZ3N0ciAiZGVidWdfZmluZF9uYW1lZF90eXBlOiBpbmdlbiBha3R1ZWxsIGtvbXBpbGVyaW5nc2VuaGV0IgogCi0jCi0jOiBkZWJ1Zy5jOjIxOTcKKyM6IGRlYnVnLmM6MjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWJ1Z19nZXRfcmVhbF90eXBlOiBjaXJjdWxhciBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgJXNcbiIKLW1zZ3N0ciAiZGVidWdfZ2V0X3JlYWxfdHlwZTogJXMgaGFyIGNpcmt1bORyIGZlbHP2a25pbmdzaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiZGVidWdfZ2V0X3JlYWxfdHlwZTogJXMgaGFyIGNpcmt1bMOkciBmZWxzw7ZrbmluZ3NpbmZvcm1hdGlvblxuIgogCi0jCi0jOiBkZWJ1Zy5jOjI2NjIKKyM6IGRlYnVnLmM6MjY1MAogbXNnaWQgImRlYnVnX3dyaXRlX3R5cGU6IGlsbGVnYWwgdHlwZSBlbmNvdW50ZXJlZCIKLW1zZ3N0ciAiZGVidWdfd3JpdGVfdHlwZTogcOV0cuRmZmFkZSBlbiBvZ2lsdGlnIHR5cCIKK21zZ3N0ciAiZGVidWdfd3JpdGVfdHlwZTogcMOldHLDpGZmYWRlIGVuIG9naWx0aWcgdHlwIgogCi0jCi0jOiBkbGx0b29sLmM6NzQzIGRsbHRvb2wuYzo3NjggZGxsdG9vbC5jOjc5NAorIzogZGxsdG9vbC5jOjgxMiBkbGx0b29sLmM6ODM3IGRsbHRvb2wuYzo4NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW50ZXJuYWwgZXJyb3I6IFVua25vd24gbWFjaGluZSB0eXBlOiAlZCIKLW1zZ3N0ciAiSW50ZXJudCBmZWw6IE9r5G5kIG1hc2tpbnR5cDogJWQiCittc2dzdHIgIkludGVybnQgZmVsOiBPa8OkbmQgbWFza2ludHlwOiAlZCIKIAotIwotIzogZGxsdG9vbC5jOjgzMQorIzogZGxsdG9vbC5jOjkwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4ndCBvcGVuIGRlZiBmaWxlOiAlcyIKLW1zZ3N0ciAiS2FuIGludGUg9nBwbmEgZGVmLWZpbDogJXMiCittc2dzdHIgIkthbiBpbnRlIMO2cHBuYSBkZWYtZmlsOiAlcyIKIAotIwotIyBI5HIgcGFyc2FzIGRlZi1maWxlbiBiYXJhLCBz5SBkZW4gYmVhcmJldGFzIGludGUKLSM6IGRsbHRvb2wuYzo4MzYKKyM6IGRsbHRvb2wuYzo5MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJvY2Vzc2luZyBkZWYgZmlsZTogJXMiCi1tc2dzdHIgIkJlaGFuZGxhciBkZWYtZmlsOiAlcyIKK21zZ3N0ciAiQmVhcmJldGFyIGRlZi1maWw6ICVzIgogCi0jCi0jOiBkbGx0b29sLmM6ODQwCisjOiBkbGx0b29sLmM6OTA5CiBtc2dpZCAiUHJvY2Vzc2VkIGRlZiBmaWxlIgotbXNnc3RyICJEZWYtZmlsZW4g5HIgYmVoYW5kbGFkIgorbXNnc3RyICJEZWYtZmlsZW4gw6RyIGJlYXJiZXRhZCIKIAotIwotIzogZGxsdG9vbC5jOjg2NgorIzogZGxsdG9vbC5jOjkzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJTeW50YXggZXJyb3IgaW4gZGVmIGZpbGUgJXM6JWQiCiBtc2dzdHIgIlN5bnRha3Rpc2t0IGZlbCBpIGRlZi1maWwgJXM6JWQiCiAKLSMKLSM6IGRsbHRvb2wuYzo5MDUKKyM6IGRsbHRvb2wuYzo5NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTkFNRTogJXMgYmFzZTogJXgiCiBtc2dzdHIgIk5BTUU6ICVzIGJhczogJXgiCiAKLSMKLSM6IGRsbHRvb2wuYzo5MDggZGxsdG9vbC5jOjkyNworIzogZGxsdG9vbC5jOjk3NyBkbGx0b29sLmM6OTk2CiBtc2dpZCAiQ2FuJ3QgaGF2ZSBMSUJSQVJZIGFuZCBOQU1FIgotbXNnc3RyICJLYW4gaW50ZSBoYSBi5WRlIExJQlJBUlkgb2NoIE5BTUUiCittc2dzdHIgIkthbiBpbnRlIGhhIGLDpWRlIExJQlJBUlkgb2NoIE5BTUUiCiAKLSMKLSM6IGRsbHRvb2wuYzo5MjQKKyM6IGRsbHRvb2wuYzo5OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTElCUkFSWTogJXMgYmFzZTogJXgiCiBtc2dzdHIgIkxJQlJBUlk6ICVzIGJhczogJXgiCiAKLSMKLSM6IGRsbHRvb2wuYzoxMTgyIHJlc3JjLmM6MjcxCisjOiBkbGx0b29sLmM6MTI1MSByZXNyYy5jOjI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiAlcyIKIG1zZ3N0ciAid2FpdDogJXMiCiAKLSMKLSM6IGRsbHRvb2wuYzoxMTg3IGRsbHdyYXAuYzo0NTUgcmVzcmMuYzoyNzYKKyM6IGRsbHRvb2wuYzoxMjU2IGRsbHdyYXAuYzo0MzAgcmVzcmMuYzoyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VicHJvY2VzcyBnb3QgZmF0YWwgc2lnbmFsICVkIgotbXNnc3RyICJiYXJucHJvY2Vzc2VuIGZpY2sgZmF0YWwgc2lnbmFsICVkIgorbXNnc3RyICJzdWJwcm9jZXNzZW4gZmljayBmYXRhbCBzaWduYWwgJWQiCiAKLSMKLSM6IGRsbHRvb2wuYzoxMTkzIGRsbHdyYXAuYzo0NjIgcmVzcmMuYzoyODMKKyM6IGRsbHRvb2wuYzoxMjYyIGRsbHdyYXAuYzo0MzcgcmVzcmMuYzoyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpdGVkIHdpdGggc3RhdHVzICVkIgogbXNnc3RyICIlcyBhdnNsdXRhZGUgbWVkIHN0YXR1cyAlZCIKIAotIwotIzogZGxsdG9vbC5jOjEyMjUKKyM6IGRsbHRvb2wuYzoxMjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Y2tpbmcgaW4gaW5mbyBmcm9tICVzIHNlY3Rpb24gaW4gJXMiCi1tc2dzdHIgIlN1Z2VyIOV0IG1pZyBpbmZvIGZy5W4gc2VrdGlvbiAlcyBpICVzIgorbXNnc3RyICJTdWdlciDDpXQgbWlnIGluZm8gZnLDpW4gc2VrdGlvbiAlcyBpICVzIgogCi0jCi0jOiBkbGx0b29sLmM6MTM0OQorIzogZGxsdG9vbC5jOjE0MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhjbHVkaW5nIHN5bWJvbDogJXMiCiBtc2dzdHIgIlVuZGFudGFyIHN5bWJvbDogJXMiCiAKLSMKLSM6IGRsbHRvb2wuYzoxNDQ0IGRsbHRvb2wuYzoxNDU1IG5tLmM6OTU4IG5tLmM6OTY5IG9iamR1bXAuYzozODMgb2JqZHVtcC5jOjQwMAorIzogZGxsdG9vbC5jOjE1MTggZGxsdG9vbC5jOjE1Mjkgbm0uYzoxMDA0IG5tLmM6MTAxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gc3ltYm9scyIKIG1zZ3N0ciAiJXM6IGluZ2Egc3ltYm9sZXIiCiAKLSMKLSMuIEZJWE1FOiB3ZSBvdWdodCB0byByZWFkIGluIGFuZCBibG9jayBvdXQgdGhlIGJhc2UgcmVsb2NhdGlvbnMKLSM6IGRsbHRvb2wuYzoxNDgyCisjLiBGSVhNRTogd2Ugb3VnaHQgdG8gcmVhZCBpbiBhbmQgYmxvY2sgb3V0IHRoZSBiYXNlIHJlbG9jYXRpb25zLgorIzogZGxsdG9vbC5jOjE1NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uZSByZWFkaW5nICVzIgotbXNnc3RyICJLbGFyIG1lZCBhdHQgbORzYSAlcyIKK21zZ3N0ciAiS2xhciBtZWQgYXR0IGzDpHNhICVzIgogCi0jCi0jOiBkbGx0b29sLmM6MTQ5MworIzogZGxsdG9vbC5jOjE1NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gb2JqZWN0IGZpbGU6ICVzIgotbXNnc3RyICJLYW4gaW50ZSD2cHBuYSBvYmpla3RmaWw6ICVzIgorbXNnc3RyICJLYW4gaW50ZSDDtnBwbmEgb2JqZWt0ZmlsOiAlcyIKIAotIwotIzogZGxsdG9vbC5jOjE0OTYKKyM6IGRsbHRvb2wuYzoxNTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNjYW5uaW5nIG9iamVjdCBmaWxlICVzIgotbXNnc3RyICJHZW5vbXP2a2VyIG9iamVrdGZpbCAlcyIKK21zZ3N0ciAiQXZsw6RzZXIgb2JqZWt0ZmlsICVzIgogCi0jCi0jOiBkbGx0b29sLmM6MTUxMQorIzogZGxsdG9vbC5jOjE1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHByb2R1Y2UgbWNvcmUtZWxmIGRsbCBmcm9tIGFyY2hpdmUgZmlsZTogJXMiCi1tc2dzdHIgIkthbiBpbnRlIHByb2R1Y2VyYSBlbiBtY29yZS1lbGYtZGxsIGZy5W4gYXJraXZmaWw6ICVzIgorbXNnc3RyICJLYW4gaW50ZSBwcm9kdWNlcmEgZW4gbWNvcmUtZWxmLWRsbCBmcsOlbiBhcmtpdmZpbDogJXMiCiAKLSMKLSM6IGRsbHRvb2wuYzoxNjAzCisjOiBkbGx0b29sLmM6MTY3NwogbXNnaWQgIkFkZGluZyBleHBvcnRzIHRvIG91dHB1dCBmaWxlIgotbXNnc3RyICJM5GdnZXIgdGlsbCBleHBvcnRlciB0aWxsIHV0ZGF0YWZpbGVuIgorbXNnc3RyICJMw6RnZ2VyIHRpbGwgZXhwb3J0ZXIgdGlsbCB1dGZpbGVuIgogCi0jCi0jOiBkbGx0b29sLmM6MTY0OAorIzogZGxsdG9vbC5jOjE3MjQKIG1zZ2lkICJBZGRlZCBleHBvcnRzIHRvIG91dHB1dCBmaWxlIgotbXNnc3RyICJMYSB0aWxsIGV4cG9ydGVyIHRpbGwgdXRkYXRhZmlsZW4iCittc2dzdHIgIkxhIHRpbGwgZXhwb3J0ZXIgdGlsbCB1dGZpbGVuIgogCi0jCi0jOiBkbGx0b29sLmM6MTc3MgorIzogZGxsdG9vbC5jOjE4NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiR2VuZXJhdGluZyBleHBvcnQgZmlsZTogJXMiCiBtc2dzdHIgIkdlbmVyZXJhciBleHBvcnRmaWw6ICVzIgogCi0jCi0jOiBkbGx0b29sLmM6MTc3NworIzogZGxsdG9vbC5jOjE4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gdGVtcG9yYXJ5IGFzc2VtYmxlciBmaWxlOiAlcyIKLW1zZ3N0ciAiS2FuIGludGUg9nBwbmEgdGVtcG9y5HIgYXNzZW1ibGVyZmlsOiAlcyIKK21zZ3N0ciAiS2FuIGludGUgw7ZwcG5hIHRlbXBvcsOkciBhc3NlbWJsZXJmaWw6ICVzIgogCi0jCi0jOiBkbGx0b29sLmM6MTc4MAorIzogZGxsdG9vbC5jOjE4NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3BlbmVkIHRlbXBvcmFyeSBmaWxlOiAlcyIKLW1zZ3N0ciAi1nBwbmFkZSB0ZW1wb3LkciBmaWw6ICVzIgorbXNnc3RyICLDlnBwbmFkZSB0ZW1wb3LDpHIgZmlsOiAlcyIKIAotIwotIzogZGxsdG9vbC5jOjIwMDQKKyM6IGRsbHRvb2wuYzoyMDg2CiBtc2dpZCAiR2VuZXJhdGVkIGV4cG9ydHMgZmlsZSIKIG1zZ3N0ciAiR2VuZXJlcmFkZSBleHBvcnRmaWwiCiAKLSMKLSM6IGRsbHRvb2wuYzoyMjY2CisjOiBkbGx0b29sLmM6MjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiZmRfb3BlbiBmYWlsZWQgb3BlbiBzdHViIGZpbGU6ICVzIgotbXNnc3RyICJiZmRfb3BlbiBtaXNzbHlja2FkZXMgYXR0IPZwcG5hIHN0dWJiZmlsOiAlcyIKK21zZ3N0ciAiYmZkX29wZW4gbHlja2FkZXMgaW50ZSDDtnBwbmEgc3R1YmJmaWw6ICVzIgogCi0jCi0jOiBkbGx0b29sLmM6MjI2OQorIzogZGxsdG9vbC5jOjIzODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ3JlYXRpbmcgc3R1YiBmaWxlOiAlcyIKIG1zZ3N0ciAiU2thcGFyIHN0dWJiZmlsOiAlcyIKIAotIwotIzogZGxsdG9vbC5jOjI2NTgKKyM6IGRsbHRvb2wuYzoyNzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuIHRlbXBvcmFyeSBoZWFkIGZpbGU6ICVzIgotbXNnc3RyICJtaXNzbHlja2FkZXMgYXR0IPZwcG5hIHRlbXBvcuRyIGh1dnVkZmlsOiAlcyIKK21zZ3N0ciAibHlja2FkZXMgaW50ZSDDtnBwbmEgdGVtcG9yw6RyIGh1dnVkZmlsOiAlcyIKIAotIwotIzogZGxsdG9vbC5jOjI3MTcKKyM6IGRsbHRvb2wuYzoyODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuIHRlbXBvcmFyeSB0YWlsIGZpbGU6ICVzIgotbXNnc3RyICJtaXNzbHlja2FkZXMgYXR0IPZwcG5hIHRlbXBvcuRyIHN2YW5zZmlsOiAlcyIKK21zZ3N0ciAibHlja2FkZXMgaW50ZSDDtnBwbmEgdGVtcG9yw6RyIHN2YW5zZmlsOiAlcyIKIAotIwotIzogZGxsdG9vbC5jOjI3ODUKKyM6IGRsbHRvb2wuYzoyODkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbid0IG9wZW4gLmxpYiBmaWxlOiAlcyIKLW1zZ3N0ciAiS2FuIGludGUg9nBwbmEgLmxpYi1maWw6ICVzIgorbXNnc3RyICJLYW4gaW50ZSDDtnBwbmEgLmxpYi1maWw6ICVzIgogCi0jCi0jOiBkbGx0b29sLmM6Mjc4OAorIzogZGxsdG9vbC5jOjI4OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ3JlYXRpbmcgbGlicmFyeSBmaWxlOiAlcyIKIG1zZ3N0ciAiU2thcGFyIGJpYmxpb3Rla3NmaWw6ICVzIgogCi0jCi0jOiBkbGx0b29sLmM6Mjg0NworIzogZGxsdG9vbC5jOjI5NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGRlbGV0ZSAlczogJXMiCi1tc2dzdHIgImthbiBpbnRlIHRhIGJvcnQgJXM6ICVzIgorbXNnc3RyICJrYW4gaW50ZSByYWRlcmEgJXM6ICVzIgogCi0jCi0jOiBkbGx0b29sLmM6Mjg1MQorIzogZGxsdG9vbC5jOjI5NTUKIG1zZ2lkICJDcmVhdGVkIGxpYiBmaWxlIgogbXNnc3RyICJTa2FwYWRlIGJpYmxpb3Rla3NmaWxlbiIKIAotIwotIzogZGxsdG9vbC5jOjI5NTYKKyM6IGRsbHRvb2wuYzozMDYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIldhcm5pbmcsIGlnbm9yaW5nIGR1cGxpY2F0ZSBFWFBPUlQgJXMgJWQsJWQiCiBtc2dzdHIgIlZhcm5pbmcsIGlnbm9yZXJhciBkdWJiZWwgRVhQT1JUICVzICVkLCVkIgogCi0jCi0jOiBkbGx0b29sLmM6Mjk2MgorIzogZGxsdG9vbC5jOjMwNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IsIGR1cGxpY2F0ZSBFWFBPUlQgd2l0aCBvcmlkaW5hbHM6ICVzIgogbXNnc3RyICJGZWwsIGR1YmJlbCBFWFBPUlQgbWVkIG9yZG5pbmdzdGFsOiAlcyIKIAotIwotIyBI5HIgYmVhcmJldGFzIGRlZmluaXRpb25lcm5hIChzb3J0ZXJhcyBibC5hLikKLSM6IGRsbHRvb2wuYzozMDg5CisjOiBkbGx0b29sLmM6MzE5MQogbXNnaWQgIlByb2Nlc3NpbmcgZGVmaW5pdGlvbnMiCiBtc2dzdHIgIkJlYXJiZXRhciBkZWZpbml0aW9uZXIiCiAKLSMKLSM6IGRsbHRvb2wuYzozMTI3CisjOiBkbGx0b29sLmM6MzIyMwogbXNnaWQgIlByb2Nlc3NlZCBkZWZpbml0aW9ucyIKLW1zZ3N0ciAiRGVmaW5pdGlvbmVybmEg5HIgYmVhcmJldGFkZSIKK21zZ3N0ciAiRGVmaW5pdGlvbmVybmEgw6RyIGJlYXJiZXRhZGUiCiAKLSMKLSMgIEJVR0c6IEtvbG9uIGZhdHRhcwogIy4geGdldGV4dDpjLWZvcm1hdAotIzogZGxsdG9vbC5jOjMxMzggZGxsd3JhcC5jOjUxOQorIzogZGxsdG9vbC5jOjMyMzQgZGxsd3JhcC5jOjQ5NQogIywgYy1mb3JtYXQKLW1zZ2lkICJVc2FnZSAlcyA8b3B0aW9ucz4gPG9iamVjdC1maWxlcz5cbiIKLW1zZ3N0ciAiQW525G5kbmluZzogJXMgPGZsYWdnb3I+IDxvYmpla3RmaWxlcj5cbiIKK21zZ2lkICJVc2FnZSAlcyA8b3B0aW9uKHMpPiA8b2JqZWN0LWZpbGUocyk+XG4iCittc2dzdHIgIkFudsOkbmRuaW5nOiAlcyA8ZmxhZ2dvcj4gPG9iamVrdGZpbChlcik+XG4iCiAKLSMKICMuIHhnZXRleHQ6Yy1mb3JtYXQKLSM6IGRsbHRvb2wuYzozMTQwCisjOiBkbGx0b29sLmM6MzIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAtbSAtLW1hY2hpbmUgPG1hY2hpbmU+ICAgIENyZWF0ZSBhcyBETEwgZm9yIDxtYWNoaW5lPi4gIFtkZWZhdWx0OiAlc11cbiIKLW1zZ3N0ciAiICAgLW0gLS1tYWNoaW5lIDxtYXNraW4+ICAgICBTa2FwYSBzb20gRExMIGb2ciA8bWFza2luPi4gIFtm9nJ2YWw6ICVzXVxuIgorbXNnc3RyICIgICAtbSAtLW1hY2hpbmUgPG1hc2tpbj4gICAgIFNrYXBhIHNvbSBETEwgZsO2ciA8bWFza2luPi4gIFtmw7ZydmFsOiAlc11cbiIKIAotIwotIzogZGxsdG9vbC5jOjMxNDEKKyM6IGRsbHRvb2wuYzozMjM3CiBtc2dpZCAiICAgICAgICBwb3NzaWJsZSA8bWFjaGluZT46IGFybVtfaW50ZXJ3b3JrXSwgaTM4NiwgbWNvcmVbLWVsZl17LWxlfC1iZX0sIHBwYywgdGh1bWJcbiIKLW1zZ3N0ciAiICAgICAgICBt9mpsaWdhIDxtYXNraW4+OiBhcm1bX2ludGVyd29ya10sIGkzODYsIG1jb3JlWy1lbGZdey1sZXwtYmV9LCBwcGMsIHRodW1iXG4iCittc2dzdHIgIiAgICAgICAgbcO2amxpZ2EgPG1hc2tpbj46IGFybVtfaW50ZXJ3b3JrXSwgaTM4NiwgbWNvcmVbLWVsZl17LWxlfC1iZX0sIHBwYywgdGh1bWJcbiIKIAotIwotIzogZGxsdG9vbC5jOjMxNDIKKyM6IGRsbHRvb2wuYzozMjM4CiBtc2dpZCAiICAgLWUgLS1vdXRwdXQtZXhwIDxvdXRuYW1lPiBHZW5lcmF0ZSBhbiBleHBvcnQgZmlsZS5cbiIKIG1zZ3N0ciAiICAgLWUgLS1vdXRwdXQtZXhwIDx1dG5hbW4+IEdlbmVyZXJhIGVuIGV4cG9ydGZpbC5cbiIKIAotIwotIzogZGxsdG9vbC5jOjMxNDMKKyM6IGRsbHRvb2wuYzozMjM5CiBtc2dpZCAiICAgLWwgLS1vdXRwdXQtbGliIDxvdXRuYW1lPiBHZW5lcmF0ZSBhbiBpbnRlcmZhY2UgbGlicmFyeS5cbiIKLW1zZ3N0ciAiICAgLWwgLS1vdXRwdXQtbGliIDx1dG5hbW4+IEdlbmVyZXJhIGV0dCBncuRuc3NuaXR0c2JpYmxpb3Rlay5cbiIKK21zZ3N0ciAiICAgLWwgLS1vdXRwdXQtbGliIDx1dG5hbW4+IEdlbmVyZXJhIGV0dCBncsOkbnNzbml0dHNiaWJsaW90ZWsuXG4iCiAKLSMKLSM6IGRsbHRvb2wuYzozMTQ0CisjOiBkbGx0b29sLmM6MzI0MAogbXNnaWQgIiAgIC1hIC0tYWRkLWluZGlyZWN0ICAgICAgICAgQWRkIGRsbCBpbmRpcmVjdHMgdG8gZXhwb3J0IGZpbGUuXG4iCi1tc2dzdHIgIiAgIC1hIC0tYWRkLWluZGlyZWN0ICAgICAgICAgTORnZyB0aWxsIGluZGlyZWt0YSBkbGwgdGlsbCBleHBvcnRmaWxlbi5cbiIKK21zZ3N0ciAiICAgLWEgLS1hZGQtaW5kaXJlY3QgICAgICAgICBMw6RnZyB0aWxsIGluZGlyZWt0YSBkbGwgdGlsbCBleHBvcnRmaWxlbi5cbiIKIAotIwotIzogZGxsdG9vbC5jOjMxNDUKKyM6IGRsbHRvb2wuYzozMjQxCiBtc2dpZCAiICAgLUQgLS1kbGxuYW1lIDxuYW1lPiAgICAgICBOYW1lIG9mIGlucHV0IGRsbCB0byBwdXQgaW50byBpbnRlcmZhY2UgbGliLlxuIgotbXNnc3RyICIgICAtRCAtLWRsbG5hbWUgPG5hbW4+ICAgICAgIE5hbW4gcOUgaW5kYXRhLWRsbCBhdHQgaW5mb2dhIGkgZ3LkbnNzbml0dHNiaWJsaW90ZWtldC5cbiIKK21zZ3N0ciAiICAgLUQgLS1kbGxuYW1lIDxuYW1uPiAgICAgICBOYW1uIHDDpSBpbmRhdGEtZGxsIGF0dCBpbmZvZ2EgaSBncsOkbnNzbml0dHNiaWJsaW90ZWtldC5cbiIKIAotIwotIzogZGxsdG9vbC5jOjMxNDYKKyM6IGRsbHRvb2wuYzozMjQyCiBtc2dpZCAiICAgLWQgLS1pbnB1dC1kZWYgPGRlZmZpbGU+ICBOYW1lIG9mIC5kZWYgZmlsZSB0byBiZSByZWFkIGluLlxuIgotbXNnc3RyICIgICAtZCAtLWlucHV0LWRlZiA8ZGVmLWZpbD4gIE5hbW4gcOUgLmRlZi1maWwgYXR0IGzkc2EgaW4uXG4iCittc2dzdHIgIiAgIC1kIC0taW5wdXQtZGVmIDxkZWYtZmlsPiAgTmFtbiBww6UgLmRlZi1maWwgYXR0IGzDpHNhIGluLlxuIgogCi0jCi0jOiBkbGx0b29sLmM6MzE0NworIzogZGxsdG9vbC5jOjMyNDMKIG1zZ2lkICIgICAteiAtLW91dHB1dC1kZWYgPGRlZmZpbGU+IE5hbWUgb2YgLmRlZiBmaWxlIHRvIGJlIGNyZWF0ZWQuXG4iCi1tc2dzdHIgIiAgIC16IC0tb3V0cHV0LWRlZiA8ZGVmLWZpbD4gTmFtbiBw5SAuZGVmLWZpbCBhdHQgc2thcGEuXG4iCittc2dzdHIgIiAgIC16IC0tb3V0cHV0LWRlZiA8ZGVmLWZpbD4gTmFtbiBww6UgLmRlZi1maWwgYXR0IHNrYXBhLlxuIgogCi0jCi0jOiBkbGx0b29sLmM6MzE0OAorIzogZGxsdG9vbC5jOjMyNDQKIG1zZ2lkICIgICAgICAtLWV4cG9ydC1hbGwtc3ltYm9scyAgIEV4cG9ydCBhbGwgc3ltYm9scyB0byAuZGVmXG4iCiBtc2dzdHIgIiAgICAgIC0tZXhwb3J0LWFsbC1zeW1ib2xzICAgRXhwb3J0ZXJhIGFsbGEgc3ltYm9sZXIgdGlsbCAuZGVmXG4iCiAKLSMKLSMgIEb2bGphbmRlIHN0cuRuZyBoYXIgZGVuIGJlc2tyaXZhbmRlIGRlbGVuIGluZGVudGVyYWQgdHblIHRlY2tlbgotIyAgZXh0cmEgaSBkZW4gZW5nZWxza2EgdGV4dGVuIGb2ciBhdHQgdHblIGZsYWdnb3Ig5HIgZvZyIGzlbmdhLiBJIGRlbgotIyAgc3ZlbnNrYSD2dmVyc+R0dG5pbmdlbiDkciBkZSBpbmRlbnRlcmFkZSB0cmUgdGVja2VuIGV4dHJhIGb2ciBhdHQKLSMgIGRlbiBlbmEgZmxhZ2dhbiBibGV2IHl0dGVybGlnYXJlIGV0dCB0ZWNrZW4gZvZyIGzlbmcuCi0jOiBkbGx0b29sLmM6MzE0OQorIyAgRsO2bGphbmRlIHN0csOkbmcgaGFyIGRlbiBiZXNrcml2YW5kZSBkZWxlbiBpbmRlbnRlcmFkIHR2w6UgdGVja2VuCisjICBleHRyYSBpIGRlbiBlbmdlbHNrYSB0ZXh0ZW4gZsO2ciBhdHQgdHbDpSBmbGFnZ29yIMOkciBmw7ZyIGzDpW5nYS4gSSBkZW4KKyMgIHN2ZW5za2Egw7Z2ZXJzw6R0dG5pbmdlbiDDpHIgZGUgaW5kZW50ZXJhZGUgdHJlIHRlY2tlbiBleHRyYSBmw7ZyIGF0dAorIyAgZGVuIGVuYSBmbGFnZ2FuIGJsZXYgeXR0ZXJsaWdhcmUgZXR0IHRlY2tlbiBmw7ZyIGzDpW5nLgorIzogZGxsdG9vbC5jOjMyNDUKIG1zZ2lkICIgICAgICAtLW5vLWV4cG9ydC1hbGwtc3ltYm9scyAgT25seSBleHBvcnQgbGlzdGVkIHN5bWJvbHNcbiIKIG1zZ3N0ciAiICAgICAgLS1uby1leHBvcnQtYWxsLXN5bWJvbHMgICBFeHBvcnRlcmEgZW5kYXN0IGFudmlzYWRlIHN5bWJvbGVyXG4iCiAKLSMKLSMgIEb2bGphbmRlIHN0cuRuZyBoYXIgZGVuIGJlc2tyaXZhbmRlIGRlbGVuIGluZGVudGVyYWQgdHblIHRlY2tlbgotIyAgZXh0cmEgaSBkZW4gZW5nZWxza2EgdGV4dGVuIGb2ciBhdHQgdHblIGZsYWdnb3Ig5HIgZvZyIGzlbmdhLiBJIGRlbgotIyAgc3ZlbnNrYSD2dmVyc+R0dG5pbmdlbiDkciBkZSBpbmRlbnRlcmFkZSB0cmUgdGVja2VuIGV4dHJhIGb2ciBhdHQKLSMgIGRlbiBlbmEgZmxhZ2dhbiBibGV2IHl0dGVybGlnYXJlIGV0dCB0ZWNrZW4gZvZyIGzlbmcuCi0jOiBkbGx0b29sLmM6MzE1MAorIyAgRsO2bGphbmRlIHN0csOkbmcgaGFyIGRlbiBiZXNrcml2YW5kZSBkZWxlbiBpbmRlbnRlcmFkIHR2w6UgdGVja2VuCisjICBleHRyYSBpIGRlbiBlbmdlbHNrYSB0ZXh0ZW4gZsO2ciBhdHQgdHbDpSBmbGFnZ29yIMOkciBmw7ZyIGzDpW5nYS4gSSBkZW4KKyMgIHN2ZW5za2Egw7Z2ZXJzw6R0dG5pbmdlbiDDpHIgZGUgaW5kZW50ZXJhZGUgdHJlIHRlY2tlbiBleHRyYSBmw7ZyIGF0dAorIyAgZGVuIGVuYSBmbGFnZ2FuIGJsZXYgeXR0ZXJsaWdhcmUgZXR0IHRlY2tlbiBmw7ZyIGzDpW5nLgorIzogZGxsdG9vbC5jOjMyNDYKIG1zZ2lkICIgICAgICAtLWV4Y2x1ZGUtc3ltYm9scyA8bGlzdD4gRG9uJ3QgZXhwb3J0IDxsaXN0PlxuIgogbXNnc3RyICIgICAgICAtLWV4Y2x1ZGUtc3ltYm9scyA8bGlzdGE+IEV4cG9ydGVyYSBpbnRlIHN5bWJvbGVyIGkgPGxpc3RhPlxuIgogCi0jCi0jOiBkbGx0b29sLmM6MzE1MQorIzogZGxsdG9vbC5jOjMyNDcKIG1zZ2lkICIgICAgICAtLW5vLWRlZmF1bHQtZXhjbHVkZXMgIENsZWFyIGRlZmF1bHQgZXhjbHVkZSBzeW1ib2xzXG4iCi1tc2dzdHIgIiAgICAgIC0tbm8tZGVmYXVsdC1leGNsdWRlcyAgSW5nYSBhdXRvbWF0aXNrdCB1bmRhbnRhZ25hIHN5bWJvbGVyXG4iCittc2dzdHIgIiAgICAgIC0tbm8tZGVmYXVsdC1leGNsdWRlcyAgTMOldCBibGkgYXR0IGludGUgZXhwb3J0ZXJhIHZpc3NhIHN0YW5kYXJkc3ltYm9sZXJcbiIKIAotIwotIzogZGxsdG9vbC5jOjMxNTIKKyM6IGRsbHRvb2wuYzozMjQ4CiBtc2dpZCAiICAgLWIgLS1iYXNlLWZpbGUgPGJhc2VmaWxlPiBSZWFkIGxpbmtlciBnZW5lcmF0ZWQgYmFzZSBmaWxlLlxuIgotbXNnc3RyICIgICAtYiAtLWJhc2UtZmlsZSA8YmFzZmlsPiAgIEzkcyBkZW4gbORua2FyZ2VuZXJlcmFkZSBiYXNmaWxlbi5cbiIKK21zZ3N0ciAiICAgLWIgLS1iYXNlLWZpbGUgPGJhc2ZpbD4gICBMw6RzIGRlbiBsw6Rua2dlbmVyZXJhZGUgYmFzZmlsZW4uXG4iCiAKLSMKLSM6IGRsbHRvb2wuYzozMTUzCisjOiBkbGx0b29sLmM6MzI0OQogbXNnaWQgIiAgIC14IC0tbm8taWRhdGE0ICAgICAgICAgICAgRG9uJ3QgZ2VuZXJhdGUgaWRhdGEkNCBzZWN0aW9uLlxuIgogbXNnc3RyICIgICAteCAtLW5vLWlkYXRhNCAgICAgICAgICAgIEdlbmVyZXJhIGluZ2VuIGlkYXRhJDQtc2VrdGlvbi5cbiIKIAotIwotIzogZGxsdG9vbC5jOjMxNTQKKyM6IGRsbHRvb2wuYzozMjUwCiBtc2dpZCAiICAgLWMgLS1uby1pZGF0YTUgICAgICAgICAgICBEb24ndCBnZW5lcmF0ZSBpZGF0YSQ1IHNlY3Rpb24uXG4iCiBtc2dzdHIgIiAgIC1jIC0tbm8taWRhdGE1ICAgICAgICAgICAgR2VuZXJlcmEgaW5nZW4gaWRhdGEkNS1zZWt0aW9uLlxuIgogCi0jCi0jOiBkbGx0b29sLmM6MzE1NQorIzogZGxsdG9vbC5jOjMyNTEKIG1zZ2lkICIgICAtVSAtLWFkZC11bmRlcnNjb3JlICAgICAgIEFkZCB1bmRlcnNjb3JlcyB0byBzeW1ib2xzIGluIGludGVyZmFjZSBsaWJyYXJ5LlxuIgotbXNnc3RyICIgICAtVSAtLWFkZC11bmRlcnNjb3JlICAgICAgIEzkZ2cgdGlsbCB1bmRlcnN0cmVjayBw5SBzeW1ib2xlciBpIGdy5G5zc25pdHRzYmlibGlvdGVrZXQuXG4iCittc2dzdHIgIiAgIC1VIC0tYWRkLXVuZGVyc2NvcmUgICAgICAgU8OkdHQgZGl0IHVuZGVyc3RyZWNrIHDDpSBzeW1ib2xlciBpIGdyw6Ruc3NuaXR0c2JpYmxpb3Rla2V0LlxuIgogCi0jCi0jOiBkbGx0b29sLmM6MzE1NgorIzogZGxsdG9vbC5jOjMyNTIKIG1zZ2lkICIgICAtayAtLWtpbGwtYXQgICAgICAgICAgICAgIEtpbGwgQDxuPiBmcm9tIGV4cG9ydGVkIG5hbWVzLlxuIgotbXNnc3RyICIgICAtayAtLWtpbGwtYXQgICAgICAgICAgICAgIFV0cGzlbmEgQDxuPiBmcuVuIGV4cG9ydGVyYWRlIG5hbW4uXG4iCittc2dzdHIgIiAgIC1rIC0ta2lsbC1hdCAgICAgICAgICAgICAgVXRwbMOlbmEgQDxuPiBmcsOlbiBleHBvcnRlcmFkZSBuYW1uLlxuIgogCi0jCi0jOiBkbGx0b29sLmM6MzE1NworIzogZGxsdG9vbC5jOjMyNTMKIG1zZ2lkICIgICAtQSAtLWFkZC1zdGRjYWxsLWFsaWFzICAgIEFkZCBhbGlhc2VzIHdpdGhvdXQgQDxuPi5cbiIKLW1zZ3N0ciAiICAgLUEgLS1hZGQtc3RkY2FsbC1hbGlhcyAgICBM5GdnIHRpbGwgYWxpYXMgdXRhbiBAPG4+LlxuIgorbXNnc3RyICIgICAtQSAtLWFkZC1zdGRjYWxsLWFsaWFzICAgIFRpbGxmw7ZyIGFsaWFzIHV0YW4gQDxuPi5cbiIKIAotIwotIzogZGxsdG9vbC5jOjMxNTgKKyM6IGRsbHRvb2wuYzozMjU0CiBtc2dpZCAiICAgLVMgLS1hcyA8bmFtZT4gICAgICAgICAgICBVc2UgPG5hbWU+IGZvciBhc3NlbWJsZXIuXG4iCi1tc2dzdHIgIiAgIC1TIC0tYXMgPG5hbW4+ICAgICAgICAgICAgQW525G5kIDxuYW1uPiBzb20gYXNzZW1ibGVyYXJlLlxuIgorbXNnc3RyICIgICAtUyAtLWFzIDxuYW1uPiAgICAgICAgICAgIEFudsOkbmQgPG5hbW4+IHNvbSBhc3NlbWJsZXJhcmUuXG4iCiAKLSMKLSM6IGRsbHRvb2wuYzozMTU5CisjOiBkbGx0b29sLmM6MzI1NQogbXNnaWQgIiAgIC1mIC0tYXMtZmxhZ3MgPGZsYWdzPiAgICAgUGFzcyA8ZmxhZ3M+IHRvIHRoZSBhc3NlbWJsZXIuXG4iCiBtc2dzdHIgIiAgIC1mIC0tYXMtZmxhZ3MgPGZsYWdnb3I+ICAgU2tpY2thIDxmbGFnZ29yPiB0aWxsIGFzc2VtYmxlcmFyZW4uXG4iCiAKLSMKLSM6IGRsbHRvb2wuYzozMTYwCisjOiBkbGx0b29sLmM6MzI1NgogbXNnaWQgIiAgIC1DIC0tY29tcGF0LWltcGxpYiAgICAgICAgQ3JlYXRlIGJhY2t3YXJkIGNvbXBhdGlibGUgaW1wb3J0IGxpYnJhcnkuXG4iCi1tc2dzdHIgIiAgIC1DIC0tY29tcGF0LWltcGxpYiAgICAgICAgU2thcGEgYmFr5XRrb21wYXRpYmVsdCBpbXBvcnRiaWJsaW90ZWsuXG4iCittc2dzdHIgIiAgIC1DIC0tY29tcGF0LWltcGxpYiAgICAgICAgU2thcGEgYmFrw6V0a29tcGF0aWJlbHQgaW1wb3J0YmlibGlvdGVrLlxuIgogCi0jCi0jOiBkbGx0b29sLmM6MzE2MQorIzogZGxsdG9vbC5jOjMyNTcKIG1zZ2lkICIgICAtbiAtLW5vLWRlbGV0ZSAgICAgICAgICAgIEtlZXAgdGVtcCBmaWxlcyAocmVwZWF0IGZvciBleHRyYSBwcmVzZXJ2YXRpb24pLlxuIgotbXNnc3RyICIgICAtbiAtLW5vLWRlbGV0ZSAgICAgICAgICAgIEJlaOVsbCB0ZW1wLi1maWxlciAocmVwZXRlcmEgZvZyIPZrYXQgYW50YWwpLlxuIgorbXNnc3RyICIgICAtbiAtLW5vLWRlbGV0ZSAgICAgICAgICAgIEJlaMOlbGwgdGVtcG9yw6RyZmlsZXIgKHJlcGV0ZXJhIGbDtnIgw7ZrYXQgYW50YWwpLlxuIgogCi0jCi0jOiBkbGx0b29sLmM6MzE2MgorIzogZGxsdG9vbC5jOjMyNTgKIG1zZ2lkICIgICAtdiAtLXZlcmJvc2UgICAgICAgICAgICAgIEJlIHZlcmJvc2UuXG4iCi1tc2dzdHIgIiAgIC12IC0tdmVyYm9zZSAgICAgICAgICAgICAgVmFyIG3lbmdvcmRpZy5cbiIKK21zZ3N0ciAiICAgLXYgLS12ZXJib3NlICAgICAgICAgICAgICBCZXNrcml2IHV0ZsO2cmxpZ3QuXG4iCiAKLSMKLSM6IGRsbHRvb2wuYzozMTYzCisjOiBkbGx0b29sLmM6MzI1OQogbXNnaWQgIiAgIC1WIC0tdmVyc2lvbiAgICAgICAgICAgICAgRGlzcGxheSB0aGUgcHJvZ3JhbSB2ZXJzaW9uLlxuIgogbXNnc3RyICIgICAtViAtLXZlcnNpb24gICAgICAgICAgICAgIFZpc2EgdmVyc2lvbnNpbmZvcm1hdGlvbiBvbSBwcm9ncmFtbWV0LlxuIgogCi0jCi0jOiBkbGx0b29sLmM6MzE2NAorIzogZGxsdG9vbC5jOjMyNjAKIG1zZ2lkICIgICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgIERpc3BsYXkgdGhpcyBpbmZvcm1hdGlvbi5cbiIKLW1zZ3N0ciAiICAgLWggLS1oZWxwICAgICAgICAgICAgICAgICBWaXNhIGRlbiBo5HIgaW5mb3JtYXRpb25lbi5cbiIKK21zZ3N0ciAiICAgLWggLS1oZWxwICAgICAgICAgICAgICAgICBWaXNhIGRlbiBow6RyIGluZm9ybWF0aW9uZW4uXG4iCiAKLSMKLSM6IGRsbHRvb2wuYzozMTY2CisjOiBkbGx0b29sLmM6MzI2MgogbXNnaWQgIiAgIC1NIC0tbWNvcmUtZWxmIDxvdXRuYW1lPiAgUHJvY2VzcyBtY29yZS1lbGYgb2JqZWN0IGZpbGVzIGludG8gPG91dG5hbWU+LlxuIgogbXNnc3RyICIgICAtTSAtLW1jb3JlLWVsZiA8dXRuYW1uPiAgIEJlaGFuZGxhIG1jb3JlLWVsZi1vYmpla3RmaWxlciB0aWxsIDx1dG5hbW4+LlxuIgogCi0jCi0jOiBkbGx0b29sLmM6MzE2NworIzogZGxsdG9vbC5jOjMyNjMKIG1zZ2lkICIgICAtTCAtLWxpbmtlciA8bmFtZT4gICAgICAgIFVzZSA8bmFtZT4gYXMgdGhlIGxpbmtlci5cbiIKLW1zZ3N0ciAiICAgLUwgLS1saW5rZXIgPG5hbW4+ICAgICAgICBBbnbkbmQgPG5hbW4+IHNvbSBs5G5rYXJlLlxuIgorbXNnc3RyICIgICAtTCAtLWxpbmtlciA8bmFtbj4gICAgICAgIEFudsOkbmQgPG5hbW4+IHNvbSBsw6Rua2FyZS5cbiIKIAotIwotIyAgSnVzdGVyaW5nZW4gYmxpciBmZWwgaORyIGb2ciBmbGFnZ2FuIORyIGb2ciBs5W5nLgotIzogZGxsdG9vbC5jOjMxNjgKKyMgIEluZGVudGVyaW5nZW4gYmxpciBmZWwgaMOkciBmw7ZyIDxmbGFnZ29yPiDDpHIgZsO2ciBsw6VuZy4KKyM6IGRsbHRvb2wuYzozMjY0CiBtc2dpZCAiICAgLUYgLS1saW5rZXItZmxhZ3MgPGZsYWdzPiBQYXNzIDxmbGFncz4gdG8gdGhlIGxpbmtlci5cbiIKLW1zZ3N0ciAiICAgLUYgLS1saW5rZXItZmxhZ3MgPGZsYWdnb3I+IFNraWNrYSA8ZmxhZ2dvcj4gdGlsbCBs5G5rYXJlbi5cbiIKK21zZ3N0ciAiICAgLUYgLS1saW5rZXItZmxhZ3MgPGZsYWdnb3I+IFNraWNrYSA8ZmxhZ2dvcj4gdGlsbCBsw6Rua2FyZW4uXG4iCiAKLSMKLSM6IGRsbHRvb2wuYzozMzE1CisjOiBkbGx0b29sLmM6MzQxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gb3BlbiBiYXNlLWZpbGU6ICVzIgotbXNnc3RyICJLYW4gaW50ZSD2cHBuYSBiYXNmaWxlbjogJXMiCittc2dzdHIgIkthbiBpbnRlIMO2cHBuYSBiYXNmaWxlbjogJXMiCiAKLSMKLSM6IGRsbHRvb2wuYzozMzQ0CisjOiBkbGx0b29sLmM6MzQ1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWNoaW5lICclcycgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiTWFza2luIFwiJXNcIiBoYW50ZXJhcyBpbnRlIgogCi0jCi0jOiBkbGx0b29sLmM6MzQ0NyBkbGx3cmFwLmM6MjQwCisjOiBkbGx0b29sLmM6MzU1MyBkbGx3cmFwLmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyaWVkIGZpbGU6ICVzIgogbXNnc3RyICJQcm92YWRlIGZpbDogJXMiCiAKLSMKLSM6IGRsbHRvb2wuYzozNDU0IGRsbHdyYXAuYzoyNDcKKyM6IGRsbHRvb2wuYzozNTYwIGRsbHdyYXAuYzoyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNpbmcgZmlsZTogJXMiCi1tc2dzdHIgIkFuduRuZGVyIGZpbDogJXMiCittc2dzdHIgIkFudsOkbmRlciBmaWw6ICVzIgogCi0jCi0jOiBkbGx3cmFwLmM6MzM0CisjOiBkbGx3cmFwLmM6MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIktlZXBpbmcgdGVtcG9yYXJ5IGJhc2UgZmlsZSAlcyIKLW1zZ3N0ciAiQmVo5WxsZXIgdGVtcG9y5HIgYmFzZmlsICVzIgorbXNnc3RyICJCZWjDpWxsZXIgdGVtcG9yw6RyIGJhc2ZpbCAlcyIKIAotIwotIzogZGxsd3JhcC5jOjMzNgorIzogZGxsd3JhcC5jOjMxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGluZyB0ZW1wb3JhcnkgYmFzZSBmaWxlICVzIgotbXNnc3RyICJUYXIgYm9ydCB0ZW1wb3LkciBiYXNmaWwgJXMiCittc2dzdHIgIlRhciBib3J0IHRlbXBvcsOkciBiYXNmaWwgJXMiCiAKLSMKLSM6IGRsbHdyYXAuYzozNTAKKyM6IGRsbHdyYXAuYzozMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiS2VlcGluZyB0ZW1wb3JhcnkgZXhwIGZpbGUgJXMiCi1tc2dzdHIgIkJlaOVsbGVyIHRlbXBvcuRyIGV4cG9ydGZpbCAlcyIKK21zZ3N0ciAiQmVow6VsbGVyIHRlbXBvcsOkciBleHBvcnRmaWwgJXMiCiAKLSMKLSM6IGRsbHdyYXAuYzozNTIKKyM6IGRsbHdyYXAuYzozMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRpbmcgdGVtcG9yYXJ5IGV4cCBmaWxlICVzIgotbXNnc3RyICJUYXIgYm9ydCB0ZW1wb3LkciBleHBvcnRmaWwgJXMiCittc2dzdHIgIlRhciBib3J0IHRlbXBvcsOkciBleHBvcnRmaWwgJXMiCiAKLSMKLSM6IGRsbHdyYXAuYzozNjUKKyM6IGRsbHdyYXAuYzozMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiS2VlcGluZyB0ZW1wb3JhcnkgZGVmIGZpbGUgJXMiCi1tc2dzdHIgIkJlaOVsbGVyIHRlbXBvcuRyIGRlZi1maWwgJXMiCittc2dzdHIgIkJlaMOlbGxlciB0ZW1wb3LDpHIgZGVmLWZpbCAlcyIKIAotIwotIzogZGxsd3JhcC5jOjM2NworIzogZGxsd3JhcC5jOjM0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGluZyB0ZW1wb3JhcnkgZGVmIGZpbGUgJXMiCi1tc2dzdHIgIlRhciBib3J0IHRlbXBvcuRyIGRlZi1maWwgJXMiCittc2dzdHIgIlRhciBib3J0IHRlbXBvcsOkciBkZWYtZmlsICVzIgogCi0jCi0jOiBkbGx3cmFwLmM6NTIwCisjOiBkbGx3cmFwLmM6NDk2CiBtc2dpZCAiICBHZW5lcmljIG9wdGlvbnM6XG4iCiBtc2dzdHIgIiAgR2VuZXJlbGxhIGZsYWdnb3I6XG4iCiAKLSMKLSM6IGRsbHdyYXAuYzo1MjEKKyM6IGRsbHdyYXAuYzo0OTcKIG1zZ2lkICIgICAtLXF1aWV0LCAtcSAgICAgICAgICAgIFdvcmsgcXVpZXRseVxuIgogbXNnc3RyICIgICAtLXF1aWV0LCAtcSAgICAgICAgICAgIEFyYmV0YSB1bmRlciB0eXN0bmFkXG4iCiAKLSMKLSM6IGRsbHdyYXAuYzo1MjIKKyM6IGRsbHdyYXAuYzo0OTgKIG1zZ2lkICIgICAtLXZlcmJvc2UsIC12ICAgICAgICAgIFZlcmJvc2VcbiIKLW1zZ3N0ciAiICAgLS12ZXJib3NlLCAtdiAgICAgICAgICBN5W5nb3JkaWdcbiIKK21zZ3N0ciAiICAgLS12ZXJib3NlLCAtdiAgICAgICAgICBVdGbDtnJsaWdcbiIKIAotIwotIzogZGxsd3JhcC5jOjUyMworIzogZGxsd3JhcC5jOjQ5OQogbXNnaWQgIiAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgUHJpbnQgZGxsd3JhcCB2ZXJzaW9uXG4iCi1tc2dzdHIgIiAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgVmlzYSB2ZXJzaW9uc2luZm9ybWF0aW9uIGb2ciBkbGx3cmFwXG4iCittc2dzdHIgIiAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgVmlzYSB2ZXJzaW9uc2luZm9ybWF0aW9uIGbDtnIgZGxsd3JhcFxuIgogCi0jCi0jOiBkbGx3cmFwLmM6NTI0CisjOiBkbGx3cmFwLmM6NTAwCiBtc2dpZCAiICAgLS1pbXBsaWIgPG91dG5hbWU+ICAgICBTeW5vbnltIGZvciAtLW91dHB1dC1saWJcbiIKLW1zZ3N0ciAiICAgLS1pbXBsaWIgPHV0bmFtbj4gICAgICBTeW5vbnltIGb2ciAtLW91dHB1dC1saWJcbiIKK21zZ3N0ciAiICAgLS1pbXBsaWIgPHV0bmFtbj4gICAgICBTeW5vbnltIGbDtnIgLS1vdXRwdXQtbGliXG4iCiAKLSMKLSM6IGRsbHdyYXAuYzo1MjUKKyM6IGRsbHdyYXAuYzo1MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBPcHRpb25zIGZvciAlczpcbiIKLW1zZ3N0ciAiICBGbGFnZ29yIGb2ciAlczpcbiIKK21zZ3N0ciAiICBGbGFnZ29yIGbDtnIgJXM6XG4iCiAKLSMKLSM6IGRsbHdyYXAuYzo1MjYKKyM6IGRsbHdyYXAuYzo1MDIKIG1zZ2lkICIgICAtLWRyaXZlci1uYW1lIDxkcml2ZXI+IERlZmF1bHRzIHRvIFwiZ2NjXCJcbiIKLW1zZ3N0ciAiICAgLS1kcml2ZXItbmFtZSA8ZW5oZXQ+ICBG9nJ2YWxkIHRpbGwgXCJnY2NcIlxuIgorbXNnc3RyICIgICAtLWRyaXZlci1uYW1lIDxlbmhldD4gIEbDtnJ2YWxkIHRpbGwgXCJnY2NcIlxuIgogCi0jCi0jOiBkbGx3cmFwLmM6NTI3CisjOiBkbGx3cmFwLmM6NTAzCiBtc2dpZCAiICAgLS1kcml2ZXItZmxhZ3MgPGZsYWdzPiBPdmVycmlkZSBkZWZhdWx0IGxkIGZsYWdzXG4iCi1tc2dzdHIgIiAgIC0tZHJpdmVyLWZsYWdzIDxmbGFnZ29yPiBG9nJiaWflIGb2cnZhbGRhIGZsYWdnb3IgZvZyIGxkXG4iCittc2dzdHIgIiAgIC0tZHJpdmVyLWZsYWdzIDxmbGFnZ29yPiBGw7ZyYmlnw6UgZsO2cnZhbGRhIGZsYWdnb3IgZsO2ciBsZFxuIgogCi0jCi0jOiBkbGx3cmFwLmM6NTI4CisjOiBkbGx3cmFwLmM6NTA0CiBtc2dpZCAiICAgLS1kbGx0b29sLW5hbWUgPGRsbHRvb2w+IERlZmF1bHRzIHRvIFwiZGxsdG9vbFwiXG4iCi1tc2dzdHIgIiAgIC0tZGxsdG9vbC1uYW1lIDxkbGx2ZXJrdHlnPiBG9nJ2YWx0IHRpbGwgXCJkbGx0b29sXCJcbiIKK21zZ3N0ciAiICAgLS1kbGx0b29sLW5hbWUgPGRsbHZlcmt0eWc+IEbDtnJ2YWx0IHRpbGwgXCJkbGx0b29sXCJcbiIKIAotIwotIzogZGxsd3JhcC5jOjUyOQorIzogZGxsd3JhcC5jOjUwNQogbXNnaWQgIiAgIC0tZW50cnkgPGVudHJ5PiAgICAgICAgU3BlY2lmeSBhbHRlcm5hdGUgRExMIGVudHJ5IHBvaW50XG4iCi1tc2dzdHIgIiAgIC0tZW50cnkgPGluZ+VuZz4gICAgICAgQW5nZSBhbHRlcm5hdGl2IGluZ+VuZ3NwdW5rdCBpIERMTDplblxuIgorbXNnc3RyICIgICAtLWVudHJ5IDxpbmfDpW5nPiAgICAgICBHZSBhbHRlcm5hdGl2IGluZ8OlbmdzcHVua3QgaSBETEw6ZW5cbiIKIAotIwotIzogZGxsd3JhcC5jOjUzMAorIzogZGxsd3JhcC5jOjUwNgogbXNnaWQgIiAgIC0taW1hZ2UtYmFzZSA8YmFzZT4gICAgU3BlY2lmeSBpbWFnZSBiYXNlIGFkZHJlc3NcbiIKLW1zZ3N0ciAiICAgLS1pbWFnZS1iYXNlIDxiYXM+ICAgICBBbmdlIGJpbGRlbnMgYmFzYWRyZXNzXG4iCittc2dzdHIgIiAgIC0taW1hZ2UtYmFzZSA8YmFzPiAgICAgR2UgYXZiaWxkZW5zIGJhc2FkcmVzc1xuIgogCi0jCi0jOiBkbGx3cmFwLmM6NTMxCisjOiBkbGx3cmFwLmM6NTA3CiBtc2dpZCAiICAgLS10YXJnZXQgPG1hY2hpbmU+ICAgICBpMzg2LWN5Z3dpbjMyIG9yIGkzODYtbWluZ3czMlxuIgogbXNnc3RyICIgICAtLXRhcmdldCA8bWFza2luPiAgICAgIGkzODYtY3lnd2luMzIgZWxsZXIgaTM4Ni1taW5ndzMyXG4iCiAKLSMKLSM6IGRsbHdyYXAuYzo1MzIKKyM6IGRsbHdyYXAuYzo1MDgKIG1zZ2lkICIgICAtLWRyeS1ydW4gICAgICAgICAgICAgIFNob3cgd2hhdCBuZWVkcyB0byBiZSBydW5cbiIKLW1zZ3N0ciAiICAgLS1kcnktcnVuICAgICAgICAgICAgICBH9nIgaW5nZXQgYW5uYXQg5G4gYXR0IHZpc2EgdmFkIHNvbSBt5XN0ZSBr9nJhc1xuIgorbXNnc3RyICIgICAtLWRyeS1ydW4gICAgICAgICAgICAgIFZpc2EgZW5kYXN0IHZhZCBzb20gYmVow7Z2ZXIgZ8O2cmFzLCB2ZXJrc3TDpGxsIGludGVcbiIKIAotIwotIzogZGxsd3JhcC5jOjUzMworIzogZGxsd3JhcC5jOjUwOQogbXNnaWQgIiAgIC0tbW5vLWN5Z3dpbiAgICAgICAgICAgQ3JlYXRlIE1pbmd3IERMTFxuIgogbXNnc3RyICIgICAtLW1uby1jeWd3aW4gICAgICAgICAgIFNrYXBhIE1pbmd3LURMTFxuIgogCi0jCi0jOiBkbGx3cmFwLmM6NTM0CisjOiBkbGx3cmFwLmM6NTEwCiBtc2dpZCAiICBPcHRpb25zIHBhc3NlZCB0byBETExUT09MOlxuIgogbXNnc3RyICIgIEZsYWdnb3Igc29tIHNraWNrYXMgdGlsbCBETExWRVJLVFlHOlxuIgogCi0jCi0jOiBkbGx3cmFwLmM6NTM1CisjOiBkbGx3cmFwLmM6NTExCiBtc2dpZCAiICAgLS1tYWNoaW5lIDxtYWNoaW5lPlxuIgogbXNnc3RyICIgICAtLW1hY2hpbmUgPG1hc2tpbj5cbiIKIAotIwotIzogZGxsd3JhcC5jOjUzNgorIzogZGxsd3JhcC5jOjUxMgogbXNnaWQgIiAgIC0tb3V0cHV0LWV4cCA8b3V0bmFtZT4gR2VuZXJhdGUgZXhwb3J0IGZpbGUuXG4iCiBtc2dzdHIgIiAgIC0tb3V0cHV0LWV4cCA8dXRuYW1uPiAgR2VuZXJlcmEgZXhwb3J0ZmlsLlxuIgogCi0jCi0jOiBkbGx3cmFwLmM6NTM3CisjOiBkbGx3cmFwLmM6NTEzCiBtc2dpZCAiICAgLS1vdXRwdXQtbGliIDxvdXRuYW1lPiBHZW5lcmF0ZSBpbnB1dCBsaWJyYXJ5LlxuIgogbXNnc3RyICIgICAtLW91dHB1dC1saWIgPHV0bmFtbj4gIEdlbmVyZXJhIGluZGF0YWJpYmxpb3Rlay5cbiIKIAotIwotIzogZGxsd3JhcC5jOjUzOAorIzogZGxsd3JhcC5jOjUxNAogbXNnaWQgIiAgIC0tYWRkLWluZGlyZWN0ICAgICAgICAgQWRkIGRsbCBpbmRpcmVjdHMgdG8gZXhwb3J0IGZpbGUuXG4iCi1tc2dzdHIgIiAgIC0tYWRkLWluZGlyZWN0ICAgICAgICAgTORnZyB0aWxsIGluZGlyZWt0YSBkbGwgdGlsbCBleHBvcnRmaWxlbi5cbiIKK21zZ3N0ciAiICAgLS1hZGQtaW5kaXJlY3QgICAgICAgICBMw6RnZyB0aWxsIGluZGlyZWt0YSBkbGwgdGlsbCBleHBvcnRmaWxlbi5cbiIKIAotIwotIzogZGxsd3JhcC5jOjUzOQorIzogZGxsd3JhcC5jOjUxNQogbXNnaWQgIiAgIC0tZGxsbmFtZSA8bmFtZT4gICAgICAgTmFtZSBvZiBpbnB1dCBkbGwgdG8gcHV0IGludG8gb3V0cHV0IGxpYi5cbiIKLW1zZ3N0ciAiICAgLS1kbGxuYW1lIDxuYW1uPiAgICAgICBOYW1uIHDlIGluZGF0YS1kbGwgc29tIHNrYSBpbmZvZ2FzIGkgdXRkYXRhYmlibGlvdGVrZXQuXG4iCittc2dzdHIgIiAgIC0tZGxsbmFtZSA8bmFtbj4gICAgICAgTmFtbiBww6UgaW5kYXRhLWRsbCBzb20gc2thIGluZm9nYXMgaSB1dGRhdGFiaWJsaW90ZWtldC5cbiIKIAotIwotIzogZGxsd3JhcC5jOjU0MAorIzogZGxsd3JhcC5jOjUxNgogbXNnaWQgIiAgIC0tZGVmIDxkZWZmaWxlPiAgICAgICAgTmFtZSBpbnB1dCAuZGVmIGZpbGVcbiIKLW1zZ3N0ciAiICAgLS1kZWYgPGRlZmZpbD4gICAgICAgICBOYW1uZ2UgLmRlZi1pbmRhdGFmaWxlblxuIgorbXNnc3RyICIgICAtLWRlZiA8ZGVmZmlsPiAgICAgICAgIFbDpGxqIC5kZWYtaW5maWxcbiIKIAotIwotIzogZGxsd3JhcC5jOjU0MQorIzogZGxsd3JhcC5jOjUxNwogbXNnaWQgIiAgIC0tb3V0cHV0LWRlZiA8ZGVmZmlsZT4gTmFtZSBvdXRwdXQgLmRlZiBmaWxlXG4iCi1tc2dzdHIgIiAgIC0tb3V0cHV0LWRlZiA8ZGVmZmlsPiAgTmFtbmdlIC5kZWYtdXRkYXRhZmlsZW5cbiIKK21zZ3N0ciAiICAgLS1vdXRwdXQtZGVmIDxkZWZmaWw+ICBWw6RsaiAuZGVmLXV0ZmlsXG4iCiAKLSMKLSM6IGRsbHdyYXAuYzo1NDIKKyM6IGRsbHdyYXAuYzo1MTgKIG1zZ2lkICIgICAtLWV4cG9ydC1hbGwtc3ltYm9scyAgICAgRXhwb3J0IGFsbCBzeW1ib2xzIHRvIC5kZWZcbiIKIG1zZ3N0ciAiICAgLS1leHBvcnQtYWxsLXN5bWJvbHMgICAgIEV4cG9ydGVyYSBhbGxhIHN5bWJvbGVyIHRpbGwgLmRlZlxuIgogCi0jCi0jOiBkbGx3cmFwLmM6NTQzCisjOiBkbGx3cmFwLmM6NTE5CiBtc2dpZCAiICAgLS1uby1leHBvcnQtYWxsLXN5bWJvbHMgIE9ubHkgZXhwb3J0IC5kcmVjdHZlIHN5bWJvbHNcbiIKIG1zZ3N0ciAiICAgLS1uby1leHBvcnQtYWxsLXN5bWJvbHMgIEV4cG9ydGVyYSBlbmRhc3QgLmRyZWN0dmUtc3ltYm9sZXJcbiIKIAotIwotIzogZGxsd3JhcC5jOjU0NAorIzogZGxsd3JhcC5jOjUyMAogbXNnaWQgIiAgIC0tZXhjbHVkZS1zeW1ib2xzIDxsaXN0PiBFeGNsdWRlIDxsaXN0PiBmcm9tIC5kZWZcbiIKLW1zZ3N0ciAiICAgLS1leGNsdWRlLXN5bWJvbHMgPGxpc3RhPiBVbmRhbnRhIHN5bWJvbGVybmEgaSA8bGlzdGE+IGZy5W4gLmRlZlxuIgorbXNnc3RyICIgICAtLWV4Y2x1ZGUtc3ltYm9scyA8bGlzdGE+IFVuZGFudGEgc3ltYm9sZXJuYSBpIDxsaXN0YT4gZnLDpW4gLmRlZlxuIgogCi0jCi0jOiBkbGx3cmFwLmM6NTQ1CisjOiBkbGx3cmFwLmM6NTIxCiBtc2dpZCAiICAgLS1uby1kZWZhdWx0LWV4Y2x1ZGVzICAgIFphcCBkZWZhdWx0IGV4Y2x1ZGUgc3ltYm9sc1xuIgotbXNnc3RyICIgICAtLW5vLWRlZmF1bHQtZXhjbHVkZXMgICAgSW5nYSBhdXRvbWF0aXNrdCB1bmRhbnRhZ25hIHN5bWJvbGVyXG4iCittc2dzdHIgIiAgIC0tbm8tZGVmYXVsdC1leGNsdWRlcyAgICBCb3J0c2UgZnLDpW4gZsO2cnZhbHQgdW5kYW50YWduYSBzeW1ib2xlclxuIgogCi0jCi0jOiBkbGx3cmFwLmM6NTQ2CisjOiBkbGx3cmFwLmM6NTIyCiBtc2dpZCAiICAgLS1iYXNlLWZpbGUgPGJhc2VmaWxlPiBSZWFkIGxpbmtlciBnZW5lcmF0ZWQgYmFzZSBmaWxlXG4iCi1tc2dzdHIgIiAgIC0tYmFzZS1maWxlIDxiYXNmaWw+ICAgTORzIGzkbmthcmdlbmVyZXJhZCBiYXNmaWxcbiIKK21zZ3N0ciAiICAgLS1iYXNlLWZpbGUgPGJhc2ZpbD4gICBMw6RzIGRlbiBsw6Rua2dlbmVyZXJhZCBiYXNmaWxcbiIKIAotIwotIzogZGxsd3JhcC5jOjU0NworIzogZGxsd3JhcC5jOjUyMwogbXNnaWQgIiAgIC0tbm8taWRhdGE0ICAgICAgICAgICBEb24ndCBnZW5lcmF0ZSBpZGF0YSQ0IHNlY3Rpb25cbiIKIG1zZ3N0ciAiICAgLS1uby1pZGF0YTQgICAgICAgICAgIEdlbmVyZXJhIGluZ2VuIGlkYXRhJDQtc2VrdGlvblxuIgogCi0jCi0jOiBkbGx3cmFwLmM6NTQ4CisjOiBkbGx3cmFwLmM6NTI0CiBtc2dpZCAiICAgLS1uby1pZGF0YTUgICAgICAgICAgIERvbid0IGdlbmVyYXRlIGlkYXRhJDUgc2VjdGlvblxuIgogbXNnc3RyICIgICAtLW5vLWlkYXRhNSAgICAgICAgICAgR2VuZXJlcmEgaW5nZW4gaWRhdGEkNS1zZWt0aW9uXG4iCiAKLSMKLSM6IGRsbHdyYXAuYzo1NDkKKyM6IGRsbHdyYXAuYzo1MjUKIG1zZ2lkICIgICAtVSAgICAgICAgICAgICAgICAgICAgIEFkZCB1bmRlcnNjb3JlcyB0byAubGliXG4iCi1tc2dzdHIgIiAgIC1VICAgICAgICAgICAgICAgICAgICAgTORnZyB0aWxsIHVuZGVyc3RyZWNrIGkgLmxpYlxuIgorbXNnc3RyICIgICAtVSAgICAgICAgICAgICAgICAgICAgIFPDpHR0IGRpdCB1bmRlcnN0cmVjayBpIC5saWJcbiIKIAotIwotIzogZGxsd3JhcC5jOjU1MAorIzogZGxsd3JhcC5jOjUyNgogbXNnaWQgIiAgIC1rICAgICAgICAgICAgICAgICAgICAgS2lsbCBAPG4+IGZyb20gZXhwb3J0ZWQgbmFtZXNcbiIKLW1zZ3N0ciAiICAgLWsgICAgICAgICAgICAgICAgICAgICBVdHBs5W5hIEA8bj4gZnLlbiBleHBvcnRlcmFkZSBuYW1uXG4iCittc2dzdHIgIiAgIC1rICAgICAgICAgICAgICAgICAgICAgVXRwbMOlbmEgQDxuPiBmcsOlbiBleHBvcnRlcmFkZSBuYW1uXG4iCiAKLSMKLSM6IGRsbHdyYXAuYzo1NTEKKyM6IGRsbHdyYXAuYzo1MjcKIG1zZ2lkICIgICAtLWFkZC1zdGRjYWxsLWFsaWFzICAgIEFkZCBhbGlhc2VzIHdpdGhvdXQgQDxuPlxuIgotbXNnc3RyICIgICAtLWFkZC1zdGRjYWxsLWFsaWFzICAgIEzkZ2cgdGlsbCBhbGlhcyB1dGFuIEA8bj5cbiIKK21zZ3N0ciAiICAgLS1hZGQtc3RkY2FsbC1hbGlhcyAgICBUaWxsZsO2ciBhbGlhcyB1dGFuIEA8bj5cbiIKIAotIwotIzogZGxsd3JhcC5jOjU1MgorIzogZGxsd3JhcC5jOjUyOAogbXNnaWQgIiAgIC0tYXMgPG5hbWU+ICAgICAgICAgICAgVXNlIDxuYW1lPiBmb3IgYXNzZW1ibGVyXG4iCi1tc2dzdHIgIiAgIC0tYXMgPG5hbW4+ICAgICAgICAgICAgQW525G5kIDxuYW1uPiBzb20gYXNzZW1ibGVyYXJlXG4iCittc2dzdHIgIiAgIC0tYXMgPG5hbW4+ICAgICAgICAgICAgQW52w6RuZCA8bmFtbj4gc29tIGFzc2VtYmxlcmFyZVxuIgogCi0jCi0jOiBkbGx3cmFwLmM6NTUzCisjOiBkbGx3cmFwLmM6NTI5CiBtc2dpZCAiICAgLS1ub2RlbGV0ZSAgICAgICAgICAgICBLZWVwIHRlbXAgZmlsZXMuXG4iCi1tc2dzdHIgIiAgIC0tbm9kZWxldGUgICAgICAgICAgICAgQmVo5WxsIHRlbXBvcuRyYSBmaWxlci5cbiIKK21zZ3N0ciAiICAgLS1ub2RlbGV0ZSAgICAgICAgICAgICBCZWjDpWxsIHRlbXBvcsOkcmEgZmlsZXIuXG4iCiAKLSMKLSM6IGRsbHdyYXAuYzo1NTQKKyM6IGRsbHdyYXAuYzo1MzAKIG1zZ2lkICIgIFJlc3QgYXJlIHBhc3NlZCB1bm1vZGlmaWVkIHRvIHRoZSBsYW5ndWFnZSBkcml2ZXJcbiIKLW1zZ3N0ciAiICDWdnJpZ2EgZmxhZ2dvciBza2lja2FzIG9m9nLkbmRyYWRlIHRpbGwgcHJvZ3JhbXNwcuVrc2VuaGV0ZW5cbiIKK21zZ3N0ciAiICDDlnZyaWdhIGZsYWdnb3Igc2tpY2thcyBvZsO2csOkbmRyYWRlIHRpbGwgcHJvZ3JhbXNwcsOla3NlbmhldGVuXG4iCiAKLSMKLSM6IGRsbHdyYXAuYzo4MjQKKyM6IGRsbHdyYXAuYzo4MDIKIG1zZ2lkICJNdXN0IHByb3ZpZGUgYXQgbGVhc3Qgb25lIG9mIC1vIG9yIC0tZGxsbmFtZSBvcHRpb25zIgotbXNnc3RyICJBbmdlIG1pbnN0IGVuIGF2IGZsYWdnb3JuYSAtbyBlbGxlciAtLWRsbG5hbWUiCittc2dzdHIgIkR1IG3DpXN0ZSBhbmdlIG1pbnN0IGVuIGF2IGZsYWdnb3JuYSAtbyBvY2ggLS1kbGxuYW1lIgogCi0jCi0jOiBkbGx3cmFwLmM6ODUyCisjOiBkbGx3cmFwLmM6ODMwCiBtc2dpZCAiIgogIm5vIGV4cG9ydCBkZWZpbml0aW9uIGZpbGUgcHJvdmlkZWQuXG4iCiAiQ3JlYXRpbmcgb25lLCBidXQgdGhhdCBtYXkgbm90IGJlIHdoYXQgeW91IHdhbnQiCiBtc2dzdHIgIiIKLSJpbmdlbiBleHBvcnQtZGVmaW5pdGlvbnNmaWwgYW5nYXZzLlxuIgotIkVuIHPlZGFuIHNrYXBhcywgbWVuIGRldCDkciBrYW5za2UgaW50ZSB2YWQgZHUgdmlsbCIKKyJpbmdlbiBleHBvcnQtZGVmaW5pdGlvbnNmaWwgZ2F2cy5cbiIKKyJFbiBzw6VkYW4gc2thcGFzLCBtZW4gZGV0IMOkciBrYW5za2UgaW50ZSB2YWQgZHUgdmlsbCIKIAotIwotIyBJbmRlbnRlcmluZ2VuIORyIPZrYWQgZvZyIGF0dCD2dmVyc+R0dG5pbmdlbiBza2EgZuUgcGxhdHMgZnJhbWb2cgotIyBrb2xvbmV0IHDlIGFsbGEgNCBzdHLkbmdhci4KLSM6IGRsbHdyYXAuYzoxMDE0CisjIEluZGVudGVyaW5nZW4gw6RyIMO2a2FkIGbDtnIgYXR0IMO2dmVyc8OkdHRuaW5nZW4gc2thIGbDpSBwbGF0cyBmcmFtZsO2cgorIyBrb2xvbmV0IHDDpSBhbGxhIDQgc3Ryw6RuZ2FyLgorIzogZGxsd3JhcC5jOjk5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJETExUT09MIG5hbWUgICAgOiAlc1xuIgogbXNnc3RyICJETExWRVJLVFlHIG5hbW4gICA6ICVzXG4iCiAKLSMKLSMgSW5kZW50ZXJpbmdlbiDkciD2a2FkIGb2ciBhdHQg9nZlcnPkdHRuaW5nZW4gc2thIGblIHBsYXRzIGZyYW1m9nIKLSMga29sb25ldCBw5SBhbGxhIDQgc3Ry5G5nYXIuCi0jOiBkbGx3cmFwLmM6MTAxNQorIyBJbmRlbnRlcmluZ2VuIMOkciDDtmthZCBmw7ZyIGF0dCDDtnZlcnPDpHR0bmluZ2VuIHNrYSBmw6UgcGxhdHMgZnJhbWbDtnIKKyMga29sb25ldCBww6UgYWxsYSA0IHN0csOkbmdhci4KKyM6IGRsbHdyYXAuYzo5OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRExMVE9PTCBvcHRpb25zIDogJXNcbiIKIG1zZ3N0ciAiRExMVkVSS1RZRyBmbGFnZ29yOiAlc1xuIgogCi0jCi0jIEluZGVudGVyaW5nZW4g5HIg9mthZCBm9nIgYXR0IPZ2ZXJz5HR0bmluZ2VuIHNrYSBm5SBwbGF0cyBmcmFtZvZyCi0jIGtvbG9uZXQgcOUgYWxsYSA0IHN0cuRuZ2FyLgotIzogZGxsd3JhcC5jOjEwMTYKKyMgSW5kZW50ZXJpbmdlbiDDpHIgw7ZrYWQgZsO2ciBhdHQgw7Z2ZXJzw6R0dG5pbmdlbiBza2EgZsOlIHBsYXRzIGZyYW1mw7ZyCisjIGtvbG9uZXQgcMOlIGFsbGEgNCBzdHLDpG5nYXIuCisjOiBkbGx3cmFwLmM6OTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRSSVZFUiBuYW1lICAgICA6ICVzXG4iCi1tc2dzdHIgIkRSSVZSVVRJTiBuYW1uICAgIDogJXNcbiIKK21zZ3N0ciAiRU5IRVQgbmFtbiAgICAgICAgOiAlc1xuIgogCi0jCi0jIEluZGVudGVyaW5nZW4g5HIg9mthZCBm9nIgYXR0IPZ2ZXJz5HR0bmluZ2VuIHNrYSBm5SBwbGF0cyBmcmFtZvZyCi0jIGtvbG9uZXQgcOUgYWxsYSA0IHN0cuRuZ2FyLgotIzogZGxsd3JhcC5jOjEwMTcKKyMgSW5kZW50ZXJpbmdlbiDDpHIgw7ZrYWQgZsO2ciBhdHQgw7Z2ZXJzw6R0dG5pbmdlbiBza2EgZsOlIHBsYXRzIGZyYW1mw7ZyCisjIGtvbG9uZXQgcMOlIGFsbGEgNCBzdHLDpG5nYXIuCisjOiBkbGx3cmFwLmM6OTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRSSVZFUiBvcHRpb25zICA6ICVzXG4iCi1tc2dzdHIgIkRSSVZSVVRJTiBmbGFnZ29yIDogJXNcbiIKK21zZ3N0ciAiRU5IRVQgZmxhZ2dvciAgICAgOiAlc1xuIgogCi0jCi0jOiBpZWVlLmM6MzE3CisjOiBlbXVsX2FpeC5jOjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgWy1nXSAgICAgICAgIC0gMzIgYml0IHNtYWxsIGFyY2hpdmVcbiIKK21zZ3N0ciAiICBbLWddICAgICAgICAgLSAzMi1iaXRhcnMgbGl0ZXQgYXJraXZcbiIKKworIzogZW11bF9haXguYzo1OQorbXNnaWQgIiAgWy1YMzJdICAgICAgIC0gaWdub3JlcyA2NCBiaXQgb2JqZWN0c1xuIgorbXNnc3RyICIgIFstWDMyXSAgICAgICAtIGlnbm9yZXJhciA2NC1iaXRhcnNvYmpla3RcbiIKKworIzogZW11bF9haXguYzo2MAorbXNnaWQgIiAgWy1YNjRdICAgICAgIC0gaWdub3JlcyAzMiBiaXQgb2JqZWN0c1xuIgorbXNnc3RyICIgIFstWDY0XSAgICAgICAtIGlnbm9yZXJhciAzMi1iaXRhcnNvYmplY3RcbiIKKworIzogZW11bF9haXguYzo2MQorbXNnaWQgIiAgWy1YMzJfNjRdICAgIC0gYWNjZXB0cyAzMiBhbmQgNjQgYml0IG9iamVjdHNcbiIKK21zZ3N0ciAiICBbLVgzMl82NF0gICAgLSBhY2NlcHRlcmFyIDMyLSBvY2ggNjQtYml0YXJzb2JqZWt0XG4iCisKKyM6IGllZWUuYzozMjYKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24iCi1tc2dzdHIgIm925G50YXQgc2x1dCBw5SBmZWxz9mtuaW5nc2luZm9ybWF0aW9uZW4iCittc2dzdHIgIm92w6RudGF0IHNsdXQgcMOlIGZlbHPDtmtuaW5nc2luZm9ybWF0aW9uZW4iCiAKLSMKLSM6IGllZWUuYzo0MTIKKyM6IGllZWUuYzo0MjEKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAib2dpbHRpZ3QgdGFsIgogCi0jCi0jOiBpZWVlLmM6NDcxCisjOiBpZWVlLmM6NDgwCiBtc2dpZCAiaW52YWxpZCBzdHJpbmcgbGVuZ3RoIgotbXNnc3RyICJvZ2lsdGlnIHN0cuRuZ2zkbmdkIgorbXNnc3RyICJvZ2lsdGlnIHN0csOkbmdsw6RuZ2QiCiAKLSMKLSM6IGllZWUuYzo1MjggaWVlZS5jOjU2OQorIzogaWVlZS5jOjUzNyBpZWVlLmM6NTc4CiBtc2dpZCAiZXhwcmVzc2lvbiBzdGFjayBvdmVyZmxvdyIKLW1zZ3N0ciAi9nZlcnNwaWxsIGkgdXR0cnlja3NzdGFja2VuIgorbXNnc3RyICLDtnZlcnNwaWxsIGkgdXR0cnlja3NzdGFja2VuIgogCi0jCi0jOiBpZWVlLmM6NTQ4CisjOiBpZWVlLmM6NTU3CiBtc2dpZCAidW5zdXBwb3J0ZWQgSUVFRSBleHByZXNzaW9uIG9wZXJhdG9yIgotbXNnc3RyICJJRUVFLXV0dHJ5Y2tzb3BlcmF0b3Igc29tIGludGUgc3T2ZHMiCittc2dzdHIgIklFRUUtdXR0cnlja3NvcGVyYXRvciBzb20gaW50ZSBoYW50ZXJhcyIKIAotIwotIzogaWVlZS5jOjU2MworIzogaWVlZS5jOjU3MgogbXNnaWQgInVua25vd24gc2VjdGlvbiIKLW1zZ3N0ciAib2vkbmQgc2VrdGlvbiIKK21zZ3N0ciAib2vDpG5kIHNla3Rpb24iCiAKLSMKLSM6IGllZWUuYzo1ODQKKyM6IGllZWUuYzo1OTMKIG1zZ2lkICJleHByZXNzaW9uIHN0YWNrIHVuZGVyZmxvdyIKIG1zZ3N0ciAidW5kZXJzcGlsbCBpIHV0dHJ5Y2tzc3RhY2tlbiIKIAotIwotIzogaWVlZS5jOjU5OAorIzogaWVlZS5jOjYwNwogbXNnaWQgImV4cHJlc3Npb24gc3RhY2sgbWlzbWF0Y2giCiBtc2dzdHIgImZlbGJhbGFuc2VyYWQgdXR0cnlja3NzdGFjayIKIAotIwotIzogaWVlZS5jOjYzNworIzogaWVlZS5jOjY0NgogbXNnaWQgInVua25vd24gYnVpbHRpbiB0eXBlIgotbXNnc3RyICJva+RuZCBpbmJ5Z2dkIHR5cCIKK21zZ3N0ciAib2vDpG5kIGluYnlnZ2QgdHlwIgogCi0jCi0jOiBpZWVlLmM6NzgyCisjOiBpZWVlLmM6NzkxCiBtc2dpZCAiQkNEIGZsb2F0IHR5cGUgbm90IHN1cHBvcnRlZCIKLW1zZ3N0ciAiZmx5dHRhbHN0eXAgQkNEIHN09mRzIGludGUiCittc2dzdHIgImZseXR0YWxzdHlwZW4gQkNEIGhhbnRlcmFzIGludGUiCiAKLSMKLSM6IGllZWUuYzo5MjgKKyM6IGllZWUuYzo5MzcKIG1zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciIKLW1zZ3N0ciAib3bkbnRhdCB0YWwiCittc2dzdHIgIm92w6RudGF0IHRhbCIKIAotIwotIzogaWVlZS5jOjkzNQorIzogaWVlZS5jOjk0NAogbXNnaWQgInVuZXhwZWN0ZWQgcmVjb3JkIHR5cGUiCi1tc2dzdHIgIm925G50YWQgcG9zdHR5cCIKK21zZ3N0ciAib3bDpG50YWQgcG9zdHR5cCIKIAotIwotIzogaWVlZS5jOjk2OAorIzogaWVlZS5jOjk3NwogbXNnaWQgImJsb2NrcyBsZWZ0IG9uIHN0YWNrIGF0IGVuZCIKLW1zZ3N0ciAiYmxvY2sga3ZhciBw5SBzdGFja2VuIHDlIHNsdXRldCIKK21zZ3N0ciAiYmxvY2sga3ZhciBww6Ugc3RhY2tlbiBww6Ugc2x1dGV0IgogCi0jCi0jOiBpZWVlLmM6MTIzMwotbXNnaWQgInVua25vd24gQkIgdHlwZSIKLW1zZ3N0ciAib2vkbmQgQkItdHlwIgotCi0jCiAjOiBpZWVlLmM6MTI0MgotbXNnaWQgInN0YWNrIG92ZXJmbG93IgotbXNnc3RyICL2dmVyc3BpbGwgaSBzdGFja2VuIgorbXNnaWQgInVua25vd24gQkIgdHlwZSIKK21zZ3N0ciAib2vDpG5kIEJCLXR5cCIKIAotIwotIzogaWVlZS5jOjEyNjcKKyM6IGllZWUuYzoxMjUxCittc2dpZCAic3RhY2sgb3ZlcmZsb3ciCittc2dzdHIgIsO2dmVyc3BpbGwgaSBzdGFja2VuIgorCisjOiBpZWVlLmM6MTI3NgogbXNnaWQgInN0YWNrIHVuZGVyZmxvdyIKIG1zZ3N0ciAidW5kZXJzcGlsbCBpIHN0YWNrZW4iCiAKLSMKLSM6IGllZWUuYzoxMzgxIGllZWUuYzoxNDUzIGllZWUuYzoyMTUyCisjOiBpZWVlLmM6MTM5MCBpZWVlLmM6MTQ2MiBpZWVlLmM6MjE2MQogbXNnaWQgImlsbGVnYWwgdmFyaWFibGUgaW5kZXgiCi1tc2dzdHIgIm90aWxs5XRldCB2YXJpYWJlbGluZGV4IgorbXNnc3RyICJvdGlsbMOldGV0IHZhcmlhYmVsaW5kZXgiCiAKLSMKLSM6IGllZWUuYzoxNDMxCisjOiBpZWVlLmM6MTQ0MAogbXNnaWQgImlsbGVnYWwgdHlwZSBpbmRleCIKLW1zZ3N0ciAib3RpbGzldGV0IHR5cGluZGV4IgorbXNnc3RyICJvdGlsbMOldGV0IHR5cGluZGV4IgogCi0jCi0jOiBpZWVlLmM6MTQ0MSBpZWVlLmM6MTQ3OAorIzogaWVlZS5jOjE0NTAgaWVlZS5jOjE0ODcKIG1zZ2lkICJ1bmtub3duIFRZIGNvZGUiCi1tc2dzdHIgIm9r5G5kIFRZLWtvZCIKK21zZ3N0ciAib2vDpG5kIFRZLWtvZCIKIAotIwotIzogaWVlZS5jOjE0NjAKKyM6IGllZWUuYzoxNDY5CiBtc2dpZCAidW5kZWZpbmVkIHZhcmlhYmxlIGluIFRZIgogbXNnc3RyICJvZGVmaW5pZXJhZCB2YXJpYWJlbCBpIFRZIgogCi0jCiAjLiBQYXNjYWwgZmlsZSBuYW1lLiAgRklYTUUuCi0jOiBpZWVlLmM6MTg3MQorIzogaWVlZS5jOjE4ODAKIG1zZ2lkICJQYXNjYWwgZmlsZSBuYW1lIG5vdCBzdXBwb3J0ZWQiCi1tc2dzdHIgIlBhc2NhbC1maWxuYW1uIHN09mRzIGludGUiCittc2dzdHIgIlBhc2NhbGZpbG5hbW4gaGFudGVyYXMgaW50ZSIKIAotIwotIyAgQlVHRzogcXVhbGlmPmk8ZXIKLSM6IGllZWUuYzoxOTE5Ci1tc2dpZCAidW5zdXBwb3J0ZWQgcXVhbGlmZXIiCi1tc2dzdHIgImJlc3TkbW5pbmdlbiBzdPZkcyBpbnRlIgorIzogaWVlZS5jOjE5MjgKK21zZ2lkICJ1bnN1cHBvcnRlZCBxdWFsaWZpZXIiCittc2dzdHIgImJlc3TDpG1uaW5nZW4gaGFudGVyYXMgaW50ZSIKIAotIwotIzogaWVlZS5jOjIxOTAKKyM6IGllZWUuYzoyMTk5CiBtc2dpZCAidW5kZWZpbmVkIHZhcmlhYmxlIGluIEFUTiIKIG1zZ3N0ciAib2RlZmluaWVyYWQgdmFyaWFiZWwgaSBBVE4iCiAKLSMKLSM6IGllZWUuYzoyMjMzCisjOiBpZWVlLmM6MjI0MgogbXNnaWQgInVua25vd24gQVROIHR5cGUiCi1tc2dzdHIgIm9r5G5kIEFUTi10eXAiCittc2dzdHIgIm9rw6RuZCBBVE4tdHlwIgogCi0jCiAjLiBSZXNlcnZlZCBmb3IgRk9SVFJBTiBjb21tb24uCi0jOiBpZWVlLmM6MjM1NQorIzogaWVlZS5jOjIzNjQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBBVE4xMSIKLW1zZ3N0ciAiQVROMTEgc3T2ZHMgaW50ZSIKK21zZ3N0ciAiQVROMTEgaGFudGVyYXMgaW50ZSIKIAotIwogIy4gV2UgaGF2ZSBubyB3YXkgdG8gcmVjb3JkIHRoaXMgaW5mb3JtYXRpb24uICBGSVhNRS4KLSM6IGllZWUuYzoyMzgyCisjOiBpZWVlLmM6MjM5MQogbXNnaWQgInVuc3VwcG9ydGVkIEFUTjEyIgotbXNnc3RyICJBVE4xMiBzdPZkcyBpbnRlIgorbXNnc3RyICJBVE4xMiBoYW50ZXJhcyBpbnRlIgogCi0jCi0jOiBpZWVlLmM6MjQ0MgorIzogaWVlZS5jOjI0NTEKIG1zZ2lkICJ1bmV4cGVjdGVkIHN0cmluZyBpbiBDKysgbWlzYyIKLW1zZ3N0ciAib3bkbnRhZCBzdHLkbmcgaSBDKystbWlzYyIKK21zZ3N0ciAib3bDpG50YWQgc3Ryw6RuZyBpIEMrKy1taXNjIgogCi0jCi0jOiBpZWVlLmM6MjQ1NQorIzogaWVlZS5jOjI0NjQKIG1zZ2lkICJiYWQgbWlzYyByZWNvcmQiCiBtc2dzdHIgImZlbGFrdGlnIG1pc2MtcG9zdCIKIAotIwotIzogaWVlZS5jOjI0OTgKKyM6IGllZWUuYzoyNTA3CiBtc2dpZCAidW5yZWNvZ25pemVkIEMrKyBtaXNjIHJlY29yZCIKLW1zZ3N0ciAib2vkbmQgQysrLW1pc2MtcG9zdCIKK21zZ3N0ciAib2vDpG5kIEMrKy1taXNjLXBvc3QiCiAKLSMKLSM6IGllZWUuYzoyNjE1CisjOiBpZWVlLmM6MjYyNAogbXNnaWQgInVuZGVmaW5lZCBDKysgb2JqZWN0IgogbXNnc3RyICJvZGVmaW5pZXJhdCBDKystb2JqZWt0IgogCi0jCi0jOiBpZWVlLmM6MjY0OQorIzogaWVlZS5jOjI2NTgKIG1zZ2lkICJ1bnJlY29nbml6ZWQgQysrIG9iamVjdCBzcGVjIgotbXNnc3RyICJva+RuZCBDKystb2JqZWt0c3BlY2lmaWthdGlvbiIKK21zZ3N0ciAib2vDpG5kIEMrKy1vYmpla3RzcGVjaWZpa2F0aW9uIgogCi0jCi0jOiBpZWVlLmM6MjY4NQorIzogaWVlZS5jOjI2OTQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBDKysgb2JqZWN0IHR5cGUiCi1tc2dzdHIgIkMrKy1vYmpla3R0eXAgc29tIGludGUgc3T2ZHMiCittc2dzdHIgIkMrKy1vYmpla3R0eXBlbiBoYW50ZXJhcyBpbnRlIgogCi0jCi0jOiBpZWVlLmM6MjY5NQorIzogaWVlZS5jOjI3MDQKIG1zZ2lkICJDKysgYmFzZSBjbGFzcyBub3QgZGVmaW5lZCIKIG1zZ3N0ciAib2RlZmluaWVyYWQgQysrLWJhc2tsYXNzIgogCi0jCi0jOiBpZWVlLmM6MjcwNyBpZWVlLmM6MjgxMgorIzogaWVlZS5jOjI3MTYgaWVlZS5jOjI4MjEKIG1zZ2lkICJDKysgb2JqZWN0IGhhcyBubyBmaWVsZHMiCi1tc2dzdHIgIkMrKy1vYmpla3RldCBoYXIgaW5nYSBm5Gx0IgorbXNnc3RyICJDKystb2JqZWt0ZXQgaGFyIGluZ2EgZsOkbHQiCiAKLSMKLSMgIEZJWE1FOiBiZWjlbGxhcmU/PwotIzogaWVlZS5jOjI3MjYKKyM6IGllZWUuYzoyNzM1CiBtc2dpZCAiQysrIGJhc2UgY2xhc3Mgbm90IGZvdW5kIGluIGNvbnRhaW5lciIKLW1zZ3N0ciAiSGl0dGFkZSBpbnRlIEMrKy1iYXNrbGFzc2VuIGkgYmVo5WxsYXJlbiIKK21zZ3N0ciAiSGl0dGFkZSBpbnRlIEMrKy1iYXNrbGFzc2VuIGkgYmVow6VsbGFyZW4iCiAKLSMKLSMgIEZJWE1FOiBiZWjlbGxhcmU/PwotIzogaWVlZS5jOjI4MzMKKyM6IGllZWUuYzoyODQyCiBtc2dpZCAiQysrIGRhdGEgbWVtYmVyIG5vdCBmb3VuZCBpbiBjb250YWluZXIiCi1tc2dzdHIgIkhpdHRhZGUgaW50ZSBDKystZGF0YW1lZGxlbW1lbiBpIGJlaOVsbGFyZW4iCittc2dzdHIgIkhpdHRhZGUgaW50ZSBDKystZGF0YW1lZGxlbW1lbiBpIGJlaMOlbGxhcmVuIgogCi0jCi0jOiBpZWVlLmM6Mjg3NCBpZWVlLmM6MzAyNAorIzogaWVlZS5jOjI4ODMgaWVlZS5jOjMwMzMKIG1zZ2lkICJ1bmtub3duIEMrKyB2aXNpYmlsaXR5IgotbXNnc3RyICJva+RuZCBDKystc3lubGlnaGV0IgorbXNnc3RyICJva8OkbmQgQysrLXN5bmxpZ2hldCIKIAotIwotIzogaWVlZS5jOjI5MDgKKyM6IGllZWUuYzoyOTE3CiBtc2dpZCAiYmFkIEMrKyBmaWVsZCBiaXQgcG9zIG9yIHNpemUiCi1tc2dzdHIgIkMrKy1m5Gx0ZXRzIGJpdHBvc2l0aW9uIGVsbGVyIGJpdHN0b3JsZWsg5HIgZmVsYWt0aWciCittc2dzdHIgIkMrKy1mw6RsdGV0cyBiaXQtcG9zaXRpb24gZWxsZXIgYml0LXN0b3JsZWsgw6RyIGZlbGFrdGlnIgogCi0jCi0jOiBpZWVlLmM6MzAwMAorIzogaWVlZS5jOjMwMDkKIG1zZ2lkICJiYWQgdHlwZSBmb3IgQysrIG1ldGhvZCBmdW5jdGlvbiIKLW1zZ3N0ciAiZmVsYWt0aWcgdHlwIHDlIEMrKy1tZXRvZGZ1bmt0aW9uIgorbXNnc3RyICJmZWxha3RpZyB0eXAgcMOlIEMrKy1tZXRvZGZ1bmt0aW9uIgogCi0jCi0jOiBpZWVlLmM6MzAxMAorIzogaWVlZS5jOjMwMTkKIG1zZ2lkICJubyB0eXBlIGluZm9ybWF0aW9uIGZvciBDKysgbWV0aG9kIGZ1bmN0aW9uIgogbXNnc3RyICJpbmdlbiB0eXBpbmZvcm1hdGlvbiBvbSBDKystbWV0b2RmdW5rdGlvbiIKIAotIwotIzogaWVlZS5jOjMwNDkKKyM6IGllZWUuYzozMDU4CiBtc2dpZCAiQysrIHN0YXRpYyB2aXJ0dWFsIG1ldGhvZCIKIG1zZ3N0ciAic3RhdGlzayB2aXJ0dWVsbCBDKystbWV0b2QiCiAKLSMKLSM6IGllZWUuYzozMTQ0CisjOiBpZWVlLmM6MzE1MwogbXNnaWQgInVucmVjb2duaXplZCBDKysgb2JqZWN0IG92ZXJoZWFkIHNwZWMiCi1tc2dzdHIgIm9r5G5kIEMrKy1vYmpla3T2dmVyc2lrdHNzcGVjIgorbXNnc3RyICJva8OkbmQgQysrLW9iamVrdMO2dmVyc2lrdHNzcGVjIgogCi0jCi0jOiBpZWVlLmM6MzE4MworIzogaWVlZS5jOjMxOTIKIG1zZ2lkICJ1bmRlZmluZWQgQysrIHZ0YWJsZSIKIG1zZ3N0ciAib2RlZmluaWVyYWQgQysrLXYtdGFiZWxsIgogCi0jCi0jOiBpZWVlLmM6MzI1NAorIzogaWVlZS5jOjMyNjMKIG1zZ2lkICJDKysgZGVmYXVsdCB2YWx1ZXMgbm90IGluIGEgZnVuY3Rpb24iCi1tc2dzdHIgIkMrKy1zdGFuZGFyZHbkcmRlbiBpbnRlIGlub20gZW4gZnVua3Rpb24iCittc2dzdHIgIkMrKy1zdGFuZGFyZHbDpHJkZW4gaW50ZSBpbm9tIGVuIGZ1bmt0aW9uIgogCi0jCi0jOiBpZWVlLmM6MzI5NAorIzogaWVlZS5jOjMzMDMKIG1zZ2lkICJ1bnJlY29nbml6ZWQgQysrIGRlZmF1bHQgdHlwZSIKLW1zZ3N0ciAib2vkbmQgQysrLXN0YW5kYXJkdHlwIgorbXNnc3RyICJva8OkbmQgQysrLXN0YW5kYXJkdHlwIgogCi0jCi0jOiBpZWVlLmM6MzMyNQorIzogaWVlZS5jOjMzMzQKIG1zZ2lkICJyZWZlcmVuY2UgcGFyYW1ldGVyIGlzIG5vdCBhIHBvaW50ZXIiCi1tc2dzdHIgInJlZmVyZW5zcGFyYW1ldGVybiDkciBpbnRlIGVuIHBla2FyZSIKK21zZ3N0ciAicmVmZXJlbnNwYXJhbWV0ZXJuIMOkciBpbnRlIGVuIHBla2FyZSIKIAotIwotIzogaWVlZS5jOjM0MTAKKyM6IGllZWUuYzozNDE5CiBtc2dpZCAidW5yZWNvZ25pemVkIEMrKyByZWZlcmVuY2UgdHlwZSIKLW1zZ3N0ciAib2vkbmQgQysrLXJlZmVyZW5zdHlwIgorbXNnc3RyICJva8OkbmQgQysrLXJlZmVyZW5zdHlwIgogCi0jCi0jOiBpZWVlLmM6MzQ5MgorIzogaWVlZS5jOjM1MDEKIG1zZ2lkICJDKysgcmVmZXJlbmNlIG5vdCBmb3VuZCIKIG1zZ3N0ciAiaGl0dGFkZSBpbnRlIEMrKy1yZWZlcmVuc2VuIgogCi0jCi0jOiBpZWVlLmM6MzUwMAorIzogaWVlZS5jOjM1MDkKIG1zZ2lkICJDKysgcmVmZXJlbmNlIGlzIG5vdCBwb2ludGVyIgotbXNnc3RyICJDKystcmVmZXJlbnNlbiDkciBpbmdlbiBwZWthcmUiCittc2dzdHIgIkMrKy1yZWZlcmVuc2VuIMOkciBpbmdlbiBwZWthcmUiCiAKLSMKLSM6IGllZWUuYzozNTI5IGllZWUuYzozNTM3CisjOiBpZWVlLmM6MzUzOCBpZWVlLmM6MzU0NgogbXNnaWQgIm1pc3NpbmcgcmVxdWlyZWQgQVNOIgotbXNnc3RyICJzYWtuYXIgbvZkduRuZGlnIEFTTiIKK21zZ3N0ciAic2FrbmFyIG7DtmR2w6RuZGlnIEFTTiIKIAotIwotIzogaWVlZS5jOjM1NjcgaWVlZS5jOjM1NzUKKyM6IGllZWUuYzozNTc2IGllZWUuYzozNTg0CiBtc2dpZCAibWlzc2luZyByZXF1aXJlZCBBVE42NSIKLW1zZ3N0ciAic2FrbmFyIG72ZHbkbmRpZyBBVE42NSIKK21zZ3N0ciAic2FrbmFyIG7DtmR2w6RuZGlnIEFUTjY1IgogCi0jCi0jOiBpZWVlLmM6MzU4OQorIzogaWVlZS5jOjM1OTgKIG1zZ2lkICJiYWQgQVRONjUgcmVjb3JkIgogbXNnc3RyICJmZWxha3RpZyBBVE42NS1wb3N0IgogCi0jCi0jOiBpZWVlLmM6NDIzNgorIzogaWVlZS5jOjQyODYKIG1zZ2lkICJJRUVFIG51bWVyaWMgb3ZlcmZsb3c6IDB4IgotbXNnc3RyICJJRUVFIG51bWVyaXNrdCD2dmVyc3BpbGw6IDB4IgorbXNnc3RyICJJRUVFIG51bWVyaXNrdCDDtnZlcnNwaWxsOiAweCIKIAotIwotIzogaWVlZS5jOjQyODIKKyM6IGllZWUuYzo0MzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIklFRUUgc3RyaW5nIGxlbmd0aCBvdmVyZmxvdzogJXVcbiIKLW1zZ3N0ciAiSUVFRSD2dmVyc3BpbGwgaSBzdHLkbmds5G5nZGVuOiAldVxuIgorbXNnc3RyICJJRUVFIMO2dmVyc3BpbGwgaSBzdHLDpG5nbMOkbmdkZW46ICV1XG4iCiAKLSMKLSM6IGllZWUuYzo1MzMzCisjOiBpZWVlLmM6NTM4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJJRUVFIHVuc3VwcG9ydGVkIGludGVnZXIgdHlwZSBzaXplICV1XG4iCiBtc2dzdHIgIklFRUUga2xhcmFyIGludGUgaGVsdGFsc3R5cGVyIGF2IHN0b3JsZWsgJXVcbiIKIAotIwotIzogaWVlZS5jOjUzNjkKKyM6IGllZWUuYzo1NDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIklFRUUgdW5zdXBwb3J0ZWQgZmxvYXQgdHlwZSBzaXplICV1XG4iCiBtc2dzdHIgIklFRUUga2xhcmFyIGludGUgZmx5dHRhbHN0eXBlciBhdiBzdG9ybGVrICV1XG4iCiAKLSMKLSM6IGllZWUuYzo1NDA1CisjOiBpZWVlLmM6NTQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJJRUVFIHVuc3VwcG9ydGVkIGNvbXBsZXggdHlwZSBzaXplICV1XG4iCiBtc2dzdHIgIklFRUUga2xhcmFyIGludGUga29tcGxleHR5cGVyIGF2IHN0b3JsZWsgJXVcbiIKIAotIwotIzogbmxtY29udi5jOjI3OCBzcmNvbnYuYzoyMDIwCisjOiBubG1jb252LmM6MjgyIHNyY29udi5jOjIwNDMKIG1zZ2lkICJpbnB1dCBhbmQgb3V0cHV0IGZpbGVzIG11c3QgYmUgZGlmZmVyZW50IgotbXNnc3RyICJ1dGRhdGFmaWxlbiBt5XN0ZSB2YXJhIGVuIGFubmFuIORuIGluZGF0YWZpbGVuIgorbXNnc3RyICJpbi0gb2NoIHV0LSBtw6VzdGUgdmFyYSBvbGlrYSBmaWxlciIKIAotIwotIzogbmxtY29udi5jOjMyNQorIzogbmxtY29udi5jOjMyOQogbXNnaWQgImlucHV0IGZpbGUgbmFtZWQgYm90aCBvbiBjb21tYW5kIGxpbmUgYW5kIHdpdGggSU5QVVQiCi1tc2dzdHIgImluZGF0YWZpbGVuIG7kbW5kIGLlZGUgcOUga29tbWFuZG9yYWRlbiBvY2ggdmlhIElOUFVUIgorbXNnc3RyICJpbmZpbCDDpHIgdmFsZCBiw6VkZSBww6Uga29tbWFuZG9yYWRlbiBvY2ggdmlhIElOUFVUIgogCi0jCi0jOiBubG1jb252LmM6MzM0CisjOiBubG1jb252LmM6MzM4CiBtc2dpZCAibm8gaW5wdXQgZmlsZSIKLW1zZ3N0ciAiaW5nZW4gaW5kYXRhZmlsIgorbXNnc3RyICJpbmdlbiBpbmZpbCIKIAotIwotIzogbmxtY29udi5jOjM2NAorIzogbmxtY29udi5jOjM2OAogbXNnaWQgIm5vIG5hbWUgZm9yIG91dHB1dCBmaWxlIgotbXNnc3RyICJpbmdldCBuYW1uIHDlIHV0ZGF0YWZpbGVuIgorbXNnc3RyICJpbmdldCBuYW1uIHDDpSB1dGZpbGVuIgogCi0jCi0jOiBubG1jb252LmM6Mzc3CisjOiBubG1jb252LmM6MzgyCiBtc2dpZCAid2FybmluZzogaW5wdXQgYW5kIG91dHB1dCBmb3JtYXRzIGFyZSBub3QgY29tcGF0aWJsZSIKLW1zZ3N0ciAidmFybmluZzogZm9ybWF0ZW4gZvZyIGluLSBvY2ggdXRkYXRhIORyIGludGUga29tcGF0aWJsYSIKK21zZ3N0ciAidmFybmluZzogZm9ybWF0ZW4gZsO2ciBpbi0gb2NoIHV0ZGF0YSDDpHIgaW50ZSBrb21wYXRpYmxhIgogCi0jCi0jOiBubG1jb252LmM6NDA2CisjOiBubG1jb252LmM6NDExCiBtc2dpZCAibWFrZSAuYnNzIHNlY3Rpb24iCiBtc2dzdHIgInNrYXBhIC5ic3Mtc2VrdGlvbiIKIAotIwotIzogbmxtY29udi5jOjQxNQorIzogbmxtY29udi5jOjQyMAogbXNnaWQgIm1ha2UgLm5sbXNlY3Rpb25zIHNlY3Rpb24iCiBtc2dzdHIgInNrYXBhIC5ubG1zZWN0aW9ucy1zZWt0aW9uIgogCi0jCi0jOiBubG1jb252LmM6NDE3CisjOiBubG1jb252LmM6NDIyCiBtc2dpZCAic2V0IC5ubG1zZWN0aW9ucyBmbGFncyIKLW1zZ3N0ciAic+R0dCAubmxtc2VjdGlvbnMtZmxhZ2dvciIKK21zZ3N0ciAic8OkdHQgZmxhZ2dvciBpIC5ubG1zZWN0aW9ucyIKIAotIwotIzogbmxtY29udi5jOjQ0NQorIzogbmxtY29udi5jOjQ1MAogbXNnaWQgInNldCAuYnNzIHZtYSIKLW1zZ3N0ciAic+R0dCB2bWEgZvZyIC5ic3MiCittc2dzdHIgInPDpHR0IHZtYSBpIC5ic3MiCiAKLSMKLSM6IG5sbWNvbnYuYzo0NTIKKyM6IG5sbWNvbnYuYzo0NTcKIG1zZ2lkICJzZXQgLmRhdGEgc2l6ZSIKLW1zZ3N0ciAic+R0dCAuZGF0YS1zdG9ybGVrIgorbXNnc3RyICJzw6R0dCBzdG9ybGVrIHDDpSAuZGF0YSIKIAotIwotIzogbmxtY29udi5jOjYzMgorIzogbmxtY29udi5jOjYzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzeW1ib2wgJXMgaW1wb3J0ZWQgYnV0IG5vdCBpbiBpbXBvcnQgbGlzdCIKIG1zZ3N0ciAidmFybmluZzogc3ltYm9sZW4gJXMgaW1wb3J0ZXJhZGVzIG1lbiBmaW5ucyBpbnRlIG1lZCBpIGltcG9ydGxpc3RhbiIKIAotIwotIzogbmxtY29udi5jOjY1MgorIzogbmxtY29udi5jOjY1NwogbXNnaWQgInNldCBzdGFydCBhZGRyZXNzIgotbXNnc3RyICJz5HR0IHN0YXJ0YWRyZXNzIgorbXNnc3RyICJzw6R0dCBzdGFydGFkcmVzcyIKIAotIwotIzogbmxtY29udi5jOjcwMQorIzogbmxtY29udi5jOjcwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBTVEFSVCBwcm9jZWR1cmUgJXMgbm90IGRlZmluZWQiCi1tc2dzdHIgInZhcm5pbmc6IFNUQVJULXByb2NlZHVyICVzIORyIGludGUgZGVmaW5pZXJhZCIKK21zZ3N0ciAidmFybmluZzogU1RBUlQtcHJvY2VkdXIgJXMgw6RyIGludGUgZGVmaW5pZXJhZCIKIAotIwotIzogbmxtY29udi5jOjcwMworIzogbmxtY29udi5jOjcwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBFWElUIHByb2NlZHVyZSAlcyBub3QgZGVmaW5lZCIKLW1zZ3N0ciAidmFybmluZzogRVhJVC1wcm9jZWR1ciAlcyDkciBpbnRlIGRlZmluaWVyYWQiCittc2dzdHIgInZhcm5pbmc6IEVYSVQtcHJvY2VkdXIgJXMgw6RyIGludGUgZGVmaW5pZXJhZCIKIAotIwotIzogbmxtY29udi5jOjcwNQorIzogbmxtY29udi5jOjcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBDSEVDSyBwcm9jZWR1cmUgJXMgbm90IGRlZmluZWQiCi1tc2dzdHIgInZhcm5pbmc6IENIRUNLLXByb2NlZHVyICVzIORyIGludGUgZGVmaW5pZXJhZCIKK21zZ3N0ciAidmFybmluZzogQ0hFQ0stcHJvY2VkdXIgJXMgw6RyIGludGUgZGVmaW5pZXJhZCIKIAotIwotIzogbmxtY29udi5jOjcyNiBubG1jb252LmM6OTE1CisjOiBubG1jb252LmM6NzMxIG5sbWNvbnYuYzo5MjAKIG1zZ2lkICJjdXN0b20gc2VjdGlvbiIKIG1zZ3N0ciAiYW5wYXNzbmluZ3NiYXIgc2VrdGlvbiIKIAotIwotIzogbmxtY29udi5jOjc0NyBubG1jb252LmM6OTQ0CisjOiBubG1jb252LmM6NzUyIG5sbWNvbnYuYzo5NDkKIG1zZ2lkICJoZWxwIHNlY3Rpb24iCi1tc2dzdHIgImhq5Gxwc2VrdGlvbiIKK21zZ3N0ciAiaGrDpGxwc2VrdGlvbiIKIAotIwotIzogbmxtY29udi5jOjc2OSBubG1jb252LmM6OTYyCisjOiBubG1jb252LmM6Nzc0IG5sbWNvbnYuYzo5NjcKIG1zZ2lkICJtZXNzYWdlIHNlY3Rpb24iCiBtc2dzdHIgIm1lZGRlbGFuZGVzZWt0aW9uIgogCi0jCi0jOiBubG1jb252LmM6Nzg1IG5sbWNvbnYuYzo5OTUKKyM6IG5sbWNvbnYuYzo3OTAgbmxtY29udi5jOjEwMDAKIG1zZ2lkICJtb2R1bGUgc2VjdGlvbiIKIG1zZ3N0ciAibW9kdWxzZWt0aW9uIgogCi0jCi0jOiBubG1jb252LmM6ODA1IG5sbWNvbnYuYzoxMDExCisjOiBubG1jb252LmM6ODEwIG5sbWNvbnYuYzoxMDE2CiBtc2dpZCAicnBjIHNlY3Rpb24iCiBtc2dzdHIgInJwYy1zZWN0aW9uIgogCi0jCiAjLiBUaGVyZSBpcyBubyBwbGFjZSB0byByZWNvcmQgdGhpcyBpbmZvcm1hdGlvbi4KLSM6IG5sbWNvbnYuYzo4NDEKKyM6IG5sbWNvbnYuYzo4NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHdhcm5pbmc6IHNoYXJlZCBsaWJyYXJpZXMgY2FuIG5vdCBoYXZlIHVuaW5pdGlhbGl6ZWQgZGF0YSIKIG1zZ3N0ciAiJXM6IHZhcm5pbmc6IGRlbGFkZSBiaWJsaW90ZWsga2FuIGludGUgaGEgb2luaXRpZXJhZCBkYXRhIgogCi0jCi0jOiBubG1jb252LmM6ODYyIG5sbWNvbnYuYzoxMDMwCisjOiBubG1jb252LmM6ODY3IG5sbWNvbnYuYzoxMDM1CiBtc2dpZCAic2hhcmVkIHNlY3Rpb24iCiBtc2dzdHIgImRlbGFkIHNla3Rpb24iCiAKLSMKLSM6IG5sbWNvbnYuYzo4NzAKKyM6IG5sbWNvbnYuYzo4NzUKIG1zZ2lkICJ3YXJuaW5nOiBObyB2ZXJzaW9uIG51bWJlciBnaXZlbiIKLW1zZ3N0ciAidmFybmluZzogSW5nZXQgdmVyc2lvbnNudW1tZXIgYW5naXZldCIKK21zZ3N0ciAidmFybmluZzogSW5nZXQgdmVyc2lvbnNudW1tZXIgZ2l2ZXQiCiAKLSMKLSM6IG5sbWNvbnYuYzo5MTAgbmxtY29udi5jOjkzOSBubG1jb252LmM6OTU3IG5sbWNvbnYuYzoxMDA2IG5sbWNvbnYuYzoxMDI1CisjOiBubG1jb252LmM6OTE1IG5sbWNvbnYuYzo5NDQgbmxtY29udi5jOjk2MiBubG1jb252LmM6MTAxMSBubG1jb252LmM6MTAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZDogJXMiCi1tc2dzdHIgIiVzOiBs5HNmZWw6ICVzIgorbXNnc3RyICIlczogbMOkc2ZlbDogJXMiCiAKLSMKLSM6IG5sbWNvbnYuYzo5MzIKKyM6IG5sbWNvbnYuYzo5MzcKIG1zZ2lkICJ3YXJuaW5nOiBNQVAgYW5kIEZVTExNQVAgYXJlIG5vdCBzdXBwb3J0ZWQ7IHRyeSBsZCAtTSIKLW1zZ3N0ciAidmFybmluZzogTUFQIG9jaCBGVUxMTUFQIHN09mRzIGludGU7IGb2cnP2ayBtZWQgbGQgLU0iCittc2dzdHIgInZhcm5pbmc6IE1BUCBvY2ggRlVMTE1BUCBoYW50ZXJhcyBpbnRlOyBwcm92YSBtZWQgbGQgLU0iCiAKLSMKLSM6IG5sbWNvbnYuYzoxMTAxCisjOiBubG1jb252LmM6MTEwOQogIywgYy1mb3JtYXQKLW1zZ2lkICIlczogQ29udmVydCBhbiBvYmplY3QgZmlsZSBpbnRvIGEgTmV0V2FyZSBMb2FkYWJsZSBNb2R1bGVcbiIKLW1zZ3N0ciAiJXM6IEtvbnZlcnRlcmEgZW4gb2JqZWt0ZmlsIHRpbGwgZW4gaW5s5HNuaW5nc2JhciBOZXRXYXJlLW1vZHVsXG4iCittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb24ocyldIFtpbi1maWxlIFtvdXQtZmlsZV1dXG4iCittc2dzdHIgIkFudsOkbmRuaW5nOiAlcyBbZmxhZ2dvcl0gW2luZmlsIFt1dGZpbF1dXG4iCiAKLSMKLSM6IG5sbWNvbnYuYzoxMTEzCi0jLCBjLWZvcm1hdAorIzogbmxtY29udi5jOjExMTAKK21zZ2lkICIgQ29udmVydCBhbiBvYmplY3QgZmlsZSBpbnRvIGEgTmV0V2FyZSBMb2FkYWJsZSBNb2R1bGVcbiIKK21zZ3N0ciAiIEtvbnZlcnRlcmEgZW4gb2JqZWt0ZmlsIHRpbGwgZW4gbGFkZGJhciBOZXRXYXJlLW1vZHVsXG4iCisKKyM6IG5sbWNvbnYuYzoxMTExCiBtc2dpZCAiIgotIlVzYWdlOiAlcyBbLWRoVl0gWy1JIGJmZG5hbWVdIFstTyBiZmRuYW1lXSBbLVQgaGVhZGVyLWZpbGVdIFstbCBsaW5rZXJdXG4iCi0iICAgICAgIFstLWlucHV0LXRhcmdldD1iZmRuYW1lXSBbLS1vdXRwdXQtdGFyZ2V0PWJmZG5hbWVdXG4iCi0iICAgICAgIFstLWhlYWRlci1maWxlPWZpbGVdIFstLWxpbmtlcj1saW5rZXJdIFstLWRlYnVnXVxuIgotIiAgICAgICBbLS1oZWxwXSBbLS12ZXJzaW9uXVxuIgotIiAgICAgICBbaW4tZmlsZSBbb3V0LWZpbGVdXVxuIgorIiBUaGUgb3B0aW9ucyBhcmU6XG4iCisiICAtSSAtLWlucHV0LXRhcmdldD08YmZkbmFtZT4gICBTZXQgdGhlIGlucHV0IGJpbmFyeSBmaWxlIGZvcm1hdFxuIgorIiAgLU8gLS1vdXRwdXQtdGFyZ2V0PTxiZmRuYW1lPiAgU2V0IHRoZSBvdXRwdXQgYmluYXJ5IGZpbGUgZm9ybWF0XG4iCisiICAtVCAtLWhlYWRlci1maWxlPTxmaWxlPiAgICAgICBSZWFkIDxmaWxlPiBmb3IgTkxNIGhlYWRlciBpbmZvcm1hdGlvblxuIgorIiAgLWwgLS1saW5rZXI9PGxpbmtlcj4gICAgICAgICAgVXNlIDxsaW5rZXI+IGZvciBhbnkgbGlua2luZ1xuIgorIiAgLWQgLS1kZWJ1ZyAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBvbiBzdGRlcnIgdGhlIGxpbmtlciBjb21tYW5kIGxpbmVcbiIKKyIgIC1oIC0taGVscCAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgdGhpcyBpbmZvcm1hdGlvblxuIgorIiAgLXYgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgRGlzcGxheSB0aGUgcHJvZ3JhbSdzIHZlcnNpb25cbiIKIG1zZ3N0ciAiIgotIkFuduRuZG5pbmc6ICVzIFstZGhWXSBbLUkgYmZkLW5hbW5dIFstTyBiZmQtbmFtbl0gWy1UIGh1dnVkZmlsXSBbLWwgbORua2FyZV1cbiIKLSIgICAgICAgWy0taW5wdXQtdGFyZ2V0PWJmZC1uYW1uXSBbLS1vdXRwdXQtdGFyZ2V0PWJmZC1uYW1uXVxuIgotIiAgICAgICBbLS1oZWFkZXItZmlsZT1maWxdIFstLWxpbmtlcj1s5G5rYXJlXSBbLS1kZWJ1Z11cbiIKLSIgICAgICAgWy0taGVscF0gWy0tdmVyc2lvbl1cbiIKLSIgICAgICAgW2luZGF0YWZpbCBbdXRkYXRhZmlsXV1cbiIKKyIgRmxhZ2dvcm5hIMOkcjpcbiIKKyIgIC1JIC0taW5wdXQtdGFyZ2V0PTxiZmRuYW1uPiAgIFPDpHR0IGZvcm1hdGV0IHDDpSBpbmJpbsOkcmZpbGVuXG4iCisiICAtTyAtLW91dHB1dC10YXJnZXQ9PGJmZG5hbW4+ICBTw6R0dCBmb3JtYXRldCBww6UgdXRiaW7DpHJmaWxlblxuIgorIiAgLVQgLS1oZWFkZXItZmlsZT08ZmlsPiAgICAgICAgTMOkcyBOTE0taHV2dWRlbiBmcsOlbiA8ZmlsPlxuIgorIiAgLWwgLS1saW5rZXI9PGzDpG5rYXJlPiAgICAgICAgIEFudsOkbmQgPGzDpG5rYXJlPiBmw7ZyIGF0dCBsw6Rua2FcbiIKKyIgIC1kIC0tZGVidWcgICAgICAgICAgICAgICAgICAgIFZpc2EgbMOkbmtrb21tYW5kb3QgcMOlIHN0YW5kYXJkIGVycm9yXG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICBWaXNhIGRlbm5hIGhqw6RscFxuIgorIiAgLXYgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgVmlzYSBwcm9ncmFtbWV0cyB2ZXJzaW9uc2luZm9ybWF0aW9uXG4iCiAKLSMKICM6IG5sbWNvbnYuYzoxMTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgInN1cHBvcnQgbm90IGNvbXBpbGVkIGluIGZvciAlcyIKLW1zZ3N0ciAiaW50ZSBrb21waWxlcmFkIG1lZCBzdPZkIGb2ciAlcyIKK21zZ3N0ciAiaGFudGVyaW5nIGF2ICVzIHV0ZXNsw7Z0cyB2aWQga29tcGlsZXJpbmdlbiIKIAotIwogIzogbmxtY29udi5jOjExOTMKIG1zZ2lkICJtYWtlIHNlY3Rpb24iCiBtc2dzdHIgInNrYXBhIHNla3Rpb24iCiAKLSMKICM6IG5sbWNvbnYuYzoxMjA3CiBtc2dpZCAic2V0IHNlY3Rpb24gc2l6ZSIKLW1zZ3N0ciAic+R0dCBzZWt0aW9uc3N0b3JsZWsiCittc2dzdHIgInPDpHR0IHNla3Rpb25zc3RvcmxlayIKIAotIwogIzogbmxtY29udi5jOjEyMTMKIG1zZ2lkICJzZXQgc2VjdGlvbiBhbGlnbm1lbnQiCi1tc2dzdHIgInPkdHQgauRtbiBncuRucyBm9nIgc2VrdGlvbiIKK21zZ3N0ciAic8OkdHQgc2VrdGlvbnNqdXN0ZXJpbmciCiAKLSMKICM6IG5sbWNvbnYuYzoxMjE3CiBtc2dpZCAic2V0IHNlY3Rpb24gZmxhZ3MiCi1tc2dzdHIgInPkdHQgc2VrdGlvbnNmbGFnZ29yIgorbXNnc3RyICJzw6R0dCBzZWt0aW9uc2ZsYWdnb3IiCiAKLSMKICM6IG5sbWNvbnYuYzoxMjI4CiBtc2dpZCAic2V0IC5ubG1zZWN0aW9ucyBzaXplIgotbXNnc3RyICJz5HR0IHN0b3JsZWsgcOUgLm5sbXNla3Rpb25lbiIKK21zZ3N0ciAic8OkdHQgc3RvcmxlayBww6UgLm5sbXNlY3Rpb25zIgogCi0jCiAjOiBubG1jb252LmM6MTMxNiBubG1jb252LmM6MTMyNCBubG1jb252LmM6MTMzMyBubG1jb252LmM6MTMzOAogbXNnaWQgInNldCAubmxtc2VjdGlvbiBjb250ZW50cyIKLW1zZ3N0ciAic+R0dCBpbmVo5WxsIGkgLm5sbXNla3Rpb25lbiIKK21zZ3N0ciAic8OkdHQgaW5laMOlbGwgaSAubmxtc2VjdGlvbiIKIAotIwotIzogbmxtY29udi5jOjE4NDEKKyM6IG5sbWNvbnYuYzoxODM5CiBtc2dpZCAic3R1YiBzZWN0aW9uIHNpemVzIgogbXNnc3RyICJzdHViYnNla3Rpb25zc3RvcmxlayIKIAotIwotIzogbmxtY29udi5jOjE4OTAKKyM6IG5sbWNvbnYuYzoxODg4CiBtc2dpZCAid3JpdGluZyBzdHViIgogbXNnc3RyICJza3JpdmVyIHN0dWJiZSIKIAotIwotIzogbmxtY29udi5jOjE5ODAKKyMgRklYTUUKKyM6IG5sbWNvbnYuYzoxOTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVzb2x2ZWQgUEMgcmVsYXRpdmUgcmVsb2MgYWdhaW5zdCAlcyIKLW1zZ3N0ciAib2z2c3QgUEMtcmVsYXRpdiBvbWxva2FsaXNlcmluZyBtb3QgJXMiCittc2dzdHIgIm91cHBrbGFyYWQgcHJvZ3JhbXLDpGtuYXJyZWxhdGl2IHJlbG9rZXJpbmcgbW90ICVzIgogCi0jCi0jOiBubG1jb252LmM6MjA0NAorIyBGSVhNRQorIzogbmxtY29udi5jOjIwNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAib3ZlcmZsb3cgd2hlbiBhZGp1c3RpbmcgcmVsb2NhdGlvbiBhZ2FpbnN0ICVzIgotbXNnc3RyICL2dmVyc3BpbGwgdmlkIGp1c3RlcmluZ2VuIGF2IG9tbG9rYWxpc2VyaW5nIG1vdCAlcyIKK21zZ3N0ciAiw7Z2ZXJzcGlsbCB2aWQganVzdGVyaW5nZW4gYXYgcmVsb2tlcmluZyBtb3QgJXMiCiAKLSMKLSM6IG5sbWNvbnYuYzoyMTYxCisjOiBubG1jb252LmM6MjE1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZXhlY3V0aW9uIG9mICVzIGZhaWxlZDogIgotbXNnc3RyICIlczogZXhla3ZlcmluZyBhdiAlcyBtaXNzbHlja2FkZXM6ICIKK21zZ3N0ciAiJXM6IGx5Y2thZGVzIGludGUga8O2cmEgJXM6ICIKIAotIwotIzogbmxtY29udi5jOjIxNzYKKyM6IG5sbWNvbnYuYzoyMTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBvZiAlcyBmYWlsZWQiCi1tc2dzdHIgIkV4ZWt2ZXJpbmcgYXYgJXMgbWlzc2x5Y2thZGVzIgorbXNnc3RyICJMeWNrYWRlcyBpbnRlIGvDtnJhICVzIgogCi0jCi0jOiBubS5jOjMwMAorIzogbm0uYzoyODMgc2l6ZS5jOjg1IHN0cmluZ3MuYzo2NTcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVXNhZ2U6ICVzIFtPUFRJT05dLi4uIFtGSUxFXS4uLlxuIgotbXNnc3RyICJBbnbkbmRuaW5nOiAlcyBbRkxBR0dBXS4uLiBbRklMXS4uLlxuIgorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uKHMpXSBbZmlsZShzKV1cbiIKK21zZ3N0ciAiQW52w6RuZG5pbmc6ICVzIFtmbGFnZ29yXSBbZmlsKGVyKV1cbiIKIAotIwotIzogbm0uYzozMDEKLW1zZ2lkICJMaXN0IHN5bWJvbHMgZnJvbSBGSUxFcyAoYS5vdXQgYnkgZGVmYXVsdCkuXG4iCi1tc2dzdHIgIkxpc3RhIHN5bWJvbGVyIGkgRklMZXJuYSAoZWxsZXIgYS5vdXQpLlxuIgorIzogbm0uYzoyODQKK21zZ2lkICIgTGlzdCBzeW1ib2xzIGluIFtmaWxlKHMpXSAoYS5vdXQgYnkgZGVmYXVsdCkuXG4iCittc2dzdHIgIkxpc3RhIHN5bWJvbGVyIGkgW2ZpbChlcildIChhLm91dCBzb20gc3RhbmRhcmQpLlxuIgogCi0jCi0jOiBubS5jOjMwMgorIzogbm0uYzoyODUKIG1zZ2lkICIiCi0iXG4iCisiIFRoZSBvcHRpb25zIGFyZTpcbiIKICIgIC1hLCAtLWRlYnVnLXN5bXMgICAgICAgRGlzcGxheSBkZWJ1Z2dlci1vbmx5IHN5bWJvbHNcbiIKICIgIC1BLCAtLXByaW50LWZpbGUtbmFtZSAgUHJpbnQgbmFtZSBvZiB0aGUgaW5wdXQgZmlsZSBiZWZvcmUgZXZlcnkgc3ltYm9sXG4iCiAiICAtQiAgICAgICAgICAgICAgICAgICAgIFNhbWUgYXMgLS1mb3JtYXQ9YnNkXG4iCiAiICAtQywgLS1kZW1hbmdsZVs9U1RZTEVdIERlY29kZSBsb3ctbGV2ZWwgc3ltYm9sIG5hbWVzIGludG8gdXNlci1sZXZlbCBuYW1lc1xuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIFNUWUxFLCBpZiBzcGVjaWZpZWQsIGNhbiBiZSBgYXV0bycgKHRoZSBkZWZhdWx0KSxcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgIGBnbnUnLCAnbHVjaWQnLCAnYXJtJywgJ2hwJywgJ2VkZycgb3IgJ2dudS1uZXctYWJpJ1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgYGdudScsIGBsdWNpZCcsIGBhcm0nLCBgaHAnLCBgZWRnJywgYGdudS12MycsIGBqYXZhJ1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgYGduYXQnXG4iCiAiICAgICAgLS1uby1kZW1hbmdsZSAgICAgIERvIG5vdCBkZW1hbmdsZSBsb3ctbGV2ZWwgc3ltYm9sIG5hbWVzXG4iCiAiICAtRCwgLS1keW5hbWljICAgICAgICAgIERpc3BsYXkgZHluYW1pYyBzeW1ib2xzIGluc3RlYWQgb2Ygbm9ybWFsIHN5bWJvbHNcbiIKICIgICAgICAtLWRlZmluZWQtb25seSAgICAgRGlzcGxheSBvbmx5IGRlZmluZWQgc3ltYm9sc1xuIgpAQCAtMTcyOCw3ICsxNTA1LDYgQEAKICIgIC1mLCAtLWZvcm1hdD1GT1JNQVQgICAgVXNlIHRoZSBvdXRwdXQgZm9ybWF0IEZPUk1BVC4gIEZPUk1BVCBjYW4gYmUgYGJzZCcsXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgYHN5c3YnIG9yIGBwb3NpeCcuICBUaGUgZGVmYXVsdCBpcyBgYnNkJ1xuIgogIiAgLWcsIC0tZXh0ZXJuLW9ubHkgICAgICBEaXNwbGF5IG9ubHkgZXh0ZXJuYWwgc3ltYm9sc1xuIgotIiAgLWgsIC0taGVscCAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgaW5mb3JtYXRpb25cbiIKICIgIC1sLCAtLWxpbmUtbnVtYmVycyAgICAgVXNlIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiB0byBmaW5kIGEgZmlsZW5hbWUgYW5kXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZSBudW1iZXIgZm9yIGVhY2ggc3ltYm9sXG4iCiAiICAtbiwgLS1udW1lcmljLXNvcnQgICAgIFNvcnQgc3ltYm9scyBudW1lcmljYWxseSBieSBhZGRyZXNzXG4iCkBAIC0xNzM2LDc5ICsxNTEyLDEwMCBAQAogIiAgLXAsIC0tbm8tc29ydCAgICAgICAgICBEbyBub3Qgc29ydCB0aGUgc3ltYm9sc1xuIgogIiAgLVAsIC0tcG9ydGFiaWxpdHkgICAgICBTYW1lIGFzIC0tZm9ybWF0PXBvc2l4XG4iCiAiICAtciwgLS1yZXZlcnNlLXNvcnQgICAgIFJldmVyc2UgdGhlIHNlbnNlIG9mIHRoZSBzb3J0XG4iCisiICAtUywgLS1wcmludC1zaXplICAgICAgIFByaW50IHNpemUgb2YgZGVmaW5lZCBzeW1ib2xzXG4iCiAiICAtcywgLS1wcmludC1hcm1hcCAgICAgIEluY2x1ZGUgaW5kZXggZm9yIHN5bWJvbHMgZnJvbSBhcmNoaXZlIG1lbWJlcnNcbiIKICIgICAgICAtLXNpemUtc29ydCAgICAgICAgU29ydCBzeW1ib2xzIGJ5IHNpemVcbiIKICIgIC10LCAtLXJhZGl4PVJBRElYICAgICAgVXNlIFJBRElYIGZvciBwcmludGluZyBzeW1ib2wgdmFsdWVzXG4iCiAiICAgICAgLS10YXJnZXQ9QkZETkFNRSAgIFNwZWNpZnkgdGhlIHRhcmdldCBvYmplY3QgZm9ybWF0IGFzIEJGRE5BTUVcbiIKICIgIC11LCAtLXVuZGVmaW5lZC1vbmx5ICAgRGlzcGxheSBvbmx5IHVuZGVmaW5lZCBzeW1ib2xzXG4iCi0iICAtViwgLS12ZXJzaW9uICAgICAgICAgIERpc3BsYXkgdGhpcyBwcm9ncmFtJ3MgdmVyc2lvbiBudW1iZXJcbiIKICIgIC1YIDMyXzY0ICAgICAgICAgICAgICAgKGlnbm9yZWQpXG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgIERpc3BsYXkgdGhpcyBpbmZvcm1hdGlvblxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICBEaXNwbGF5IHRoaXMgcHJvZ3JhbSdzIHZlcnNpb24gbnVtYmVyXG4iCiAiXG4iCiBtc2dzdHIgIiIKLSJcbiIKLSIgIC1hLCAtLWRlYnVnLXN5bXMgICAgICAgVmlzYSBlbmRhc3QgZmVsc/ZrbmluZ3NzeW1ib2xlclxuIgotIiAgLUEsIC0tcHJpbnQtZmlsZS1uYW1lICBTa3JpdiBuYW1uZXQgcOUgaW5kYXRhZmlsZW4gZvZyZSB2YXJqZSBzeW1ib2xcbiIKKyIgRmxhZ2dvcm5hIMOkcjpcbiIKKyIgIC1hLCAtLWRlYnVnLXN5bXMgICAgICAgVmlzYSBlbmRhc3QgZmVsc8O2a25pbmdzc3ltYm9sZXJcbiIKKyIgIC1BLCAtLXByaW50LWZpbGUtbmFtZSAgU2tyaXYgaW5maWxlbnMgbmFtbiBmw7ZyZSB2YXJqZSBzeW1ib2xcbiIKICIgIC1CICAgICAgICAgICAgICAgICAgICAgU2FtbWEgc29tIC0tZm9ybWF0PWJzZFxuIgotIiAgLUMsIC0tZGVtYW5nbGVbPVNUSUxdICBBdmtvZGEgbOVnbml25XN5bWJvbG5hbW4gdGlsbCBhbnbkbmRhcm5pduVuYW1uXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICBTVElMIGthbiB2YXJhIFwiYXV0b1wiIChkZXQgZvZydmFsZGEpLCBcImdudVwiLFxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsdWNpZFwiLCBcImFybVwiLCBcImhwXCIsIFwiZWRnXCIgZWxsZXIgXCJnbnUtbmV3LWFiaVwiXG4iCi0iICAgICAgLS1uby1kZW1hbmdsZSAgICAgIEF2a29kYSBpbnRlIGzlZ25pduVzeW1ib2xuYW1uXG4iCi0iICAtRCwgLS1keW5hbWljICAgICAgICAgIFZpc2EgZHluYW1pc2thIHN5bWJvbGVyIGlzdORsbGV0IGb2ciB2YW5saWdhIHN5bWJvbGVyXG4iCisiICAtQywgLS1kZW1hbmdsZVs9U1RJTF0gIE9ta29kYSBtYW5nbGFkZSBzeW1ib2xuYW1uIHRpbGwgYW52w6RuZGFyZm9ybVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgU1RJTCBrYW4gdmFyYSBcImF1dG9cIiAoZsO2cnZhbCksIFwiZ251XCIsIFwibHVjaWRcIixcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXJtXCIsIFwiaHBcIiwgXCJlZGdcIiwgXCJnbnUtdjNcIiwgXCJqYXZhXCIsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGVsbGVyIFwiZ25hdFwiXG4iCisiICAgICAgLS1uby1kZW1hbmdsZSAgICAgIEF2a29kYSBpbnRlIG1hbmdsYWRlIHN5bWJvbG5hbW5cbiIKKyIgIC1ELCAtLWR5bmFtaWMgICAgICAgICAgVmlzYSBkeW5hbWlza2Egc3ltYm9sZXIgaXN0w6RsbGV0IGbDtnIgdmFubGlnYSBzeW1ib2xlclxuIgogIiAgICAgIC0tZGVmaW5lZC1vbmx5ICAgICBWaXNhIGVuZGFzdCBkZWZpbmllcmFkZSBzeW1ib2xlclxuIgotIiAgLWUgICAgICAgICAgICAgICAgICAgICAoaWdub3JlcmFzKVxuIgotIiAgLWYsIC0tZm9ybWF0PUZPUk1BVCAgICBBbnbkbmQgRk9STUFUIHNvbSB1dGRhdGFmb3JtYXQuICBGT1JNQVQga2FuIHZhcmFcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJzZFwiLCBcInN5c3ZcIiBlbGxlciBcInBvc2l4XCIuICBG9nJ2YWxldCDkciBcImJzZFwiXG4iCisiICAtZSAgICAgICAgICAgICAgICAgICAgIChpZ25vcmVyYWQpXG4iCisiICAtZiwgLS1mb3JtYXQ9Rk9STUFUICAgIEFudsOkbmQgRk9STUFUIHNvbSB1dGRhdGFmb3JtYXQuICBGT1JNQVQga2FuIHZhcmFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJzZFwiLCBcInN5c3ZcIiBlbGxlciBcInBvc2l4XCIuICBGw7ZydmFsZXQgw6RyIFwiYnNkXCJcbiIKICIgIC1nLCAtLWV4dGVybi1vbmx5ICAgICAgVmlzYSBlbmRhc3QgZXh0ZXJuYSBzeW1ib2xlclxuIgotIiAgLWgsIC0taGVscCAgICAgICAgICAgICBWaXNhIGRlbiBo5HIgaGrkbHBlblxuIgotIiAgLWwsIC0tbGluZS1udW1iZXJzICAgICBBbnbkbmQgZmVsc/ZrbmluZ3NpbmZvcm1hdGlvbmVuIGb2ciBhdHQgc2zlIHVwcFxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbG5hbW4gb2NoIHJhZG51bW1lciBm9nIgdmFyamUgc3ltYm9sXG4iCisiICAtbCwgLS1saW5lLW51bWJlcnMgICAgIEFudsOkbmQgZmVsc8O2a25pbmdzaW5mb3JtYXRpb25lbiBmw7ZyIGF0dCBzbMOlIHVwcFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbG5hbW4gb2NoIHJhZG51bW1lciBmw7ZyIHZhcmplIHN5bWJvbFxuIgogIiAgLW4sIC0tbnVtZXJpYy1zb3J0ICAgICBTb3J0ZXJhIHN5bWJvbGVyIG51bWVyaXNrdCBlZnRlciBhZHJlc3NcbiIKICIgIC1vICAgICAgICAgICAgICAgICAgICAgU2FtbWEgc29tIC1BXG4iCiAiICAtcCwgLS1uby1zb3J0ICAgICAgICAgIFNvcnRlcmEgaW50ZSBzeW1ib2xlcm5hXG4iCiAiICAtUCwgLS1wb3J0YWJpbGl0eSAgICAgIFNhbW1hIHNvbSAtLWZvcm1hdD1wb3NpeFxuIgotIiAgLXIsIC0tcmV2ZXJzZS1zb3J0ICAgICBTb3J0ZXJhIOV0IGFuZHJhIGjlbGxldFxuIgotIiAgLXMsIC0tcHJpbnQtYXJtYXAgICAgICBUYSBtZWQgaW5kZXggZvZyIHN5bWJvbGVyIGkgYXJraXZtZWRsZW1tYXJcbiIKKyIgIC1yLCAtLXJldmVyc2Utc29ydCAgICAgU29ydGVyYSBiYWtsw6RuZ2VzXG4iCisiICAtUywgLS1wcmludC1zaXplICAgICAgIFNrcml2IHV0IHN0b3JsZWtlbiBww6UgZGVmaW5pZXJhZGUgc3ltYm9sZXJcbiIKKyIgIC1zLCAtLXByaW50LWFybWFwICAgICAgVGEgbWVkIGluZGV4IGbDtnIgc3ltYm9sZXIgaSBhcmtpdm1lZGxlbW1hclxuIgogIiAgICAgIC0tc2l6ZS1zb3J0ICAgICAgICBTb3J0ZXJhIHN5bWJvbGVyIGVmdGVyIHN0b3JsZWtcbiIKLSIgIC10LCAtLXJhZGl4PUJBUyAgICAgICAgU2tyaXYgdGFsIGkgdGFsYmFzZW4gQkFTXG4iCi0iICAgICAgLS10YXJnZXQ9QkZELU5BTU4gIEFuZ2UgbeVsb2JqZWt0ZXRzIGZvcm1hdCBzb20gQkZELU5BTU5cbiIKKyIgIC10LCAtLXJhZGl4PUJBUyAgICAgICAgU2tyaXYgdXQgc2lmZmVydsOkcmRlbiBpIHRhbGJhcyBCQVNcbiIKKyIgICAgICAtLXRhcmdldD1CRkQtTkFNTiAgVsOkbGogQkZELU5BTU4gc29tIG3DpWxvYmpla3RldHMgZm9ybWF0XG4iCiAiICAtdSwgLS11bmRlZmluZWQtb25seSAgIFZpc2EgZW5kYXN0IG9kZWZpbmllcmFkZSBzeW1ib2xlclxuIgorIiAgLVggMzJfNjQgICAgICAgICAgICAgICAoaWdub3JlcmFkKVxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICBWaXNhIGRlbm5hIGhqw6RscHRleHRcbiIKICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgVmlzYSBwcm9ncmFtbWV0cyB2ZXJzaW9uc2luZm9ybWF0aW9uXG4iCi0iICAtWCAzMl82NCAgICAgICAgICAgICAgIChpZ25vcmVyYXMpXG4iCiAiXG4iCiAKLSMKLSM6IG5tLmM6MzM0IG9iamR1bXAuYzoyMTYKKyM6IG5tLmM6MzE5IG9iamR1bXAuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVwb3J0IGJ1Z3MgdG8gJXMuXG4iCiBtc2dzdHIgIiIKICJSYXBwb3J0ZXJhIGZlbCB0aWxsICVzLlxuIgotIlNraWNrYSBzeW5wdW5rdGVyIHDlIPZ2ZXJz5HR0bmluZ2VuIHRpbGwgc3ZAbGkub3JnLlxuIgorIlJhcHBvcnRlcmEgc3lucHVua3RlciBww6Ugw7Z2ZXJzw6R0dG5pbmdlbiB0aWxsIHN2QGxpLm9yZy5cbiIKIAotIwotIzogbm0uYzozNjcKKyM6IG5tLmM6MzUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHJhZGl4IgogbXNnc3RyICIlczogb2dpbHRpZyB0YWxiYXMiCiAKLSMKLSM6IG5tLmM6MzkyCisjOiBubS5jOjM3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvdXRwdXQgZm9ybWF0IgogbXNnc3RyICIlczogb2dpbHRpZ3QgdXRkYXRhZm9ybWF0IgogCi0jCi0jOiBubS5jOjUwNAorIzogbm0uYzo0OTQKIG1zZ2lkICJPbmx5IC1YIDMyXzY0IGlzIHN1cHBvcnRlZCIKLW1zZ3N0ciAiRW5kYXN0IC1YIDMyXzY0IHN09mRzIgorbXNnc3RyICJFbmRhc3QgLVggMzJfNjQgaGFudGVyYXMiCiAKLSMKLSM6IG5tLmM6NTQ2CisjOiBubS5jOjUxNAorbXNnaWQgIlVzaW5nIHRoZSAtLXNpemUtc29ydCBhbmQgLS11bmRlZmluZWQtb25seSBvcHRpb25zIHRvZ2V0aGVyIgorbXNnc3RyICJBbnbDpG5kbmluZyBhdiAtLXNpemUtc29ydCBvY2ggLS11bmRpZmluZWQtb25seSBzYW10aWRpZ3QiCisKKyM6IG5tLmM6NTE1Cittc2dpZCAid2lsbCBwcm9kdWNlIG5vIG91dHB1dCwgc2luY2UgdW5kZWZpbmVkIHN5bWJvbHMgaGF2ZSBubyBzaXplLiIKK21zZ3N0ciAiZ2VyIGluZ2VuIHV0ZGF0YSwgZWZ0ZXJzb20gb2RlZmluaWVyYWRlIHN5bWJvbGVyIGludGUgaGFyIG7DpWdvbiBzdG9ybGVrIgorCisjOiBubS5jOjU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJkYXRhIHNpemUgJWxkIgogbXNnc3RyICJkYXRhc3RvcmxlayAlbGQiCiAKLSMKLSM6IG5tLmM6MTM0MAorIzogbm0uYzo1NjggcmVhZGVsZi5jOjU4MDkgcmVhZGVsZi5jOjU4NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiPHByb2Nlc3NvciBzcGVjaWZpYz46ICVkIgorbXNnc3RyICI8cHJvY2Vzc29yc3BlY2lmaWs+OiAlZCIKKworIzogbm0uYzo1NzAgcmVhZGVsZi5jOjU4MTEgcmVhZGVsZi5jOjU4NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiPE9TIHNwZWNpZmljPjogJWQiCittc2dzdHIgIjxPUy1zcGVjaWZpaz46ICVkIgorCisjOiBubS5jOjU3MiByZWFkZWxmLmM6NTgxMyByZWFkZWxmLmM6NTg2MAorIywgYy1mb3JtYXQKK21zZ2lkICI8dW5rbm93bj46ICVkIgorbXNnc3RyICI8b2vDpG5kPjogJWQiCisKKyM6IG5tLmM6MTM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xODE4LDExICsxNjE1LDEwIEBACiBtc2dzdHIgIiIKICJcbiIKICJcbiIKLSJPZGVmaW5pZXJhZGUgc3ltYm9sZXIgZnLlbiAlczpcbiIKKyJPZGVmaW5pZXJhZGUgc3ltYm9sZXIgZnLDpW4gJXM6XG4iCiAiXG4iCiAKLSMKLSM6IG5tLmM6MTM0MgorIzogbm0uYzoxMzc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTE4MzIsMjAgKzE2MjgsMjYgQEAKIG1zZ3N0ciAiIgogIlxuIgogIlxuIgotIlN5bWJvbGVyIGZy5W4gJXM6XG4iCisiU3ltYm9sZXIgZnLDpW4gJXM6XG4iCiAiXG4iCiAKLSMKLSM6IG5tLmM6MTM0MyBubS5jOjEzOTcKKyM6IG5tLmM6MTM4MCBubS5jOjE0MzgKIG1zZ2lkICIiCi0iTmFtZSAgICAgICAgICAgICAgICAgIFZhbHVlICAgQ2xhc3MgICAgICAgIFR5cGUgICAgICAgICBTaXplICAgTGluZSAgU2VjdGlvblxuIgorIk5hbWUgICAgICAgICAgICAgICAgICBWYWx1ZSAgIENsYXNzICAgICAgICBUeXBlICAgICAgICAgU2l6ZSAgICAgTGluZSAgU2VjdGlvblxuIgogIlxuIgogbXNnc3RyICIiCi0iTmFtbiAgICAgICAgICAgICAgICAgIFbkcmRlICAgS2xhc3MgICAgICAgIFR5cCAgICAgICAgICBTdG9ybC4gUmFkICAgU2VrdGlvblxuIgorIk5hbW4gICAgICAgICAgICAgICAgICBWw6RyZGUgICBLbGFzcyAgICAgICAgVHlwICAgICAgICAgIFN0b3JsZWsgIFJhZCAgIFNla3Rpb25cbiIKICJcbiIKIAotIwotIzogbm0uYzoxMzk0CisjOiBubS5jOjEzODMgbm0uYzoxNDQxCittc2dpZCAiIgorIk5hbWUgICAgICAgICAgICAgICAgICBWYWx1ZSAgICAgICAgICAgQ2xhc3MgICAgICAgIFR5cGUgICAgICAgICBTaXplICAgICAgICAgICAgIExpbmUgIFNlY3Rpb25cbiIKKyJcbiIKK21zZ3N0ciAiIgorIk5hbW4gICAgICAgICAgICAgICAgICBWw6RyZGUgICAgICAgICAgIEtsYXNzICAgICAgICBUeXAgICAgICAgICAgU3RvcmxlayAgICAgICAgICBSYWQgICBTZWt0aW9uXG4iCisiXG4iCisKKyM6IG5tLmM6MTQzNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xODU1LDExICsxNjU3LDEwIEBACiBtc2dzdHIgIiIKICJcbiIKICJcbiIKLSJPZGVmaW5pZXJhZGUgc3ltYm9sZXIgZnLlbiAlc1slc106XG4iCisiT2RlZmluaWVyYWRlIHN5bWJvbGVyIGZyw6VuICVzWyVzXTpcbiIKICJcbiIKIAotIwotIzogbm0uYzoxMzk2CisjOiBubS5jOjE0MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTg2OSwxMSArMTY3MCwxMCBAQAogbXNnc3RyICIiCiAiXG4iCiAiXG4iCi0iU3ltYm9sZXIgZnLlbiAlc1slc106XG4iCisiU3ltYm9sZXIgZnLDpW4gJXNbJXNdOlxuIgogIlxuIgogCi0jCi0jOiBubS5jOjE1NjQKKyM6IG5tLmM6MTY1OAogbXNnaWQgIiIKICJcbiIKICJBcmNoaXZlIGluZGV4OlxuIgpAQCAtMTg4MSwxOSArMTY4MSwyMCBAQAogIlxuIgogIkFya2l2aW5kZXg6XG4iCiAKLSMKLSM6IG9iamNvcHkuYzozNjMKKyM6IG9iamNvcHkuYzo0MTQgc3Jjb252LmM6MTk1MgogIywgYy1mb3JtYXQKLW1zZ2lkICJVc2FnZTogJXMgPG9wdGlvbnM+IGluLWZpbGUgW291dC1maWxlXVxuIgotbXNnc3RyICJBbnbkbmRuaW5nOiAlcyA8ZmxhZ2dvcj4gaW5kYXRhZmlsIFt1dGRhdGFmaWxdXG4iCittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb24ocyldIGluLWZpbGUgW291dC1maWxlXVxuIgorbXNnc3RyICJBbnbDpG5kbmluZzogJXMgW2ZsYWdnb3JdIGluZmlsIFt1dGZpbF1cbiIKIAotIwotIzogb2JqY29weS5jOjM2NCBvYmpjb3B5LmM6NDMzCisjOiBvYmpjb3B5LmM6NDE1Cittc2dpZCAiIENvcGllcyBhIGJpbmFyeSBmaWxlLCBwb3NzaWJseSB0cmFuc2Zvcm1pbmcgaXQgaW4gdGhlIHByb2Nlc3NcbiIKK21zZ3N0ciAiIEtvcGllcmFyIGVuIGJpbsOkcmZpbCwgb2NoIGZvcm1hciBtw7ZqbGlnZW4gb20gZGVuXG4iCisKKyM6IG9iamNvcHkuYzo0MTYgb2JqY29weS5jOjQ5NQogbXNnaWQgIiBUaGUgb3B0aW9ucyBhcmU6XG4iCi1tc2dzdHIgIiBGbGFnZ29ybmEg5HI6XG4iCittc2dzdHIgIiBGbGFnZ29ybmEgw6RyOlxuIgogCi0jCi0jOiBvYmpjb3B5LmM6MzY1CisjOiBvYmpjb3B5LmM6NDE3CiBtc2dpZCAiIgogIiAgLUkgLS1pbnB1dC10YXJnZXQgPGJmZG5hbWU+ICAgICAgQXNzdW1lIGlucHV0IGZpbGUgaXMgaW4gZm9ybWF0IDxiZmRuYW1lPlxuIgogIiAgLU8gLS1vdXRwdXQtdGFyZ2V0IDxiZmRuYW1lPiAgICAgQ3JlYXRlIGFuIG91dHB1dCBmaWxlIGluIGZvcm1hdCA8YmZkbmFtZT5cbiIKQEAgLTE5MDIsOSArMTcwMywxMCBAQAogIiAgICAgLS1kZWJ1Z2dpbmcgICAgICAgICAgICAgICAgICAgQ29udmVydCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24sIGlmIHBvc3NpYmxlXG4iCiAiICAtcCAtLXByZXNlcnZlLWRhdGVzICAgICAgICAgICAgICBDb3B5IG1vZGlmaWVkL2FjY2VzcyB0aW1lc3RhbXBzIHRvIHRoZSBvdXRwdXRcbiIKICIgIC1qIC0tb25seS1zZWN0aW9uIDxuYW1lPiAgICAgICAgIE9ubHkgY29weSBzZWN0aW9uIDxuYW1lPiBpbnRvIHRoZSBvdXRwdXRcbiIKKyIgICAgIC0tYWRkLWdudS1kZWJ1Z2xpbms9PGZpbGU+ICAgIEFkZCBzZWN0aW9uIC5nbnVfZGVidWdsaW5rIGxpbmtpbmcgdG8gPGZpbGU+XG4iCiAiICAtUiAtLXJlbW92ZS1zZWN0aW9uIDxuYW1lPiAgICAgICBSZW1vdmUgc2VjdGlvbiA8bmFtZT4gZnJvbSB0aGUgb3V0cHV0XG4iCiAiICAtUyAtLXN0cmlwLWFsbCAgICAgICAgICAgICAgICAgICBSZW1vdmUgYWxsIHN5bWJvbCBhbmQgcmVsb2NhdGlvbiBpbmZvcm1hdGlvblxuIgotIiAgLWcgLS1zdHJpcC1kZWJ1ZyAgICAgICAgICAgICAgICAgUmVtb3ZlIGFsbCBkZWJ1Z2dpbmcgc3ltYm9sc1xuIgorIiAgLWcgLS1zdHJpcC1kZWJ1ZyAgICAgICAgICAgICAgICAgUmVtb3ZlIGFsbCBkZWJ1Z2dpbmcgc3ltYm9scyAmIHNlY3Rpb25zXG4iCiAiICAgICAtLXN0cmlwLXVubmVlZGVkICAgICAgICAgICAgICBSZW1vdmUgYWxsIHN5bWJvbHMgbm90IG5lZWRlZCBieSByZWxvY2F0aW9uc1xuIgogIiAgLU4gLS1zdHJpcC1zeW1ib2wgPG5hbWU+ICAgICAgICAgRG8gbm90IGNvcHkgc3ltYm9sIDxuYW1lPlxuIgogIiAgLUsgLS1rZWVwLXN5bWJvbCA8bmFtZT4gICAgICAgICAgT25seSBjb3B5IHN5bWJvbCA8bmFtZT5cbiIKQEAgLTE5MzgsNiArMTc0MCw4IEBACiAiICAgICAtLWNoYW5nZS1sZWFkaW5nLWNoYXIgICAgICAgICBGb3JjZSBvdXRwdXQgZm9ybWF0J3MgbGVhZGluZyBjaGFyYWN0ZXIgc3R5bGVcbiIKICIgICAgIC0tcmVtb3ZlLWxlYWRpbmctY2hhciAgICAgICAgIFJlbW92ZSBsZWFkaW5nIGNoYXJhY3RlciBmcm9tIGdsb2JhbCBzeW1ib2xzXG4iCiAiICAgICAtLXJlZGVmaW5lLXN5bSA8b2xkPj08bmV3PiAgICBSZWRlZmluZSBzeW1ib2wgbmFtZSA8b2xkPiB0byA8bmV3PlxuIgorIiAgICAgLS1yZWRlZmluZS1zeW1zIDxmaWxlPiAgICAgICAgLS1yZWRlZmluZS1zeW0gZm9yIGFsbCBzeW1ib2wgcGFpcnMgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RlZCBpbiA8ZmlsZT5cbiIKICIgICAgIC0tc3JlYy1sZW4gPG51bWJlcj4gICAgICAgICAgIFJlc3RyaWN0IHRoZSBsZW5ndGggb2YgZ2VuZXJhdGVkIFNyZWNvcmRzXG4iCiAiICAgICAtLXNyZWMtZm9yY2VTMyAgICAgICAgICAgICAgICBSZXN0cmljdCB0aGUgdHlwZSBvZiBnZW5lcmF0ZWQgU3JlY29yZHMgdG8gUzNcbiIKICIgICAgIC0tc3RyaXAtc3ltYm9scyA8ZmlsZT4gICAgICAgIC1OIGZvciBhbGwgc3ltYm9scyBsaXN0ZWQgaW4gPGZpbGU+XG4iCkBAIC0xOTQ2LDM2NCArMTc1MCwzNTUgQEAKICIgICAgIC0ta2VlcC1nbG9iYWwtc3ltYm9scyA8ZmlsZT4gIC1HIGZvciBhbGwgc3ltYm9scyBsaXN0ZWQgaW4gPGZpbGU+XG4iCiAiICAgICAtLXdlYWtlbi1zeW1ib2xzIDxmaWxlPiAgICAgICAtVyBmb3IgYWxsIHN5bWJvbHMgbGlzdGVkIGluIDxmaWxlPlxuIgogIiAgICAgLS1hbHQtbWFjaGluZS1jb2RlIDxpbmRleD4gICAgVXNlIGFsdGVybmF0ZSBtYWNoaW5lIGNvZGUgZm9yIG91dHB1dFxuIgorIiAgICAgLS1wcmVmaXgtc3ltYm9scyA8cHJlZml4PiAgICAgQWRkIDxwcmVmaXg+IHRvIHN0YXJ0IG9mIGV2ZXJ5IHN5bWJvbCBuYW1lXG4iCisiICAgICAtLXByZWZpeC1zZWN0aW9ucyA8cHJlZml4PiAgICBBZGQgPHByZWZpeD4gdG8gc3RhcnQgb2YgZXZlcnkgc2VjdGlvbiBuYW1lXG4iCisiICAgICAtLXByZWZpeC1hbGxvYy1zZWN0aW9ucyA8cHJlZml4PlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkIDxwcmVmaXg+IHRvIHN0YXJ0IG9mIGV2ZXJ5IGFsbG9jYXRhYmxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24gbmFtZVxuIgogIiAgLXYgLS12ZXJib3NlICAgICAgICAgICAgICAgICAgICAgTGlzdCBhbGwgb2JqZWN0IGZpbGVzIG1vZGlmaWVkXG4iCiAiICAtViAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgcHJvZ3JhbSdzIHZlcnNpb24gbnVtYmVyXG4iCiAiICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgb3V0cHV0XG4iCisiICAgICAtLWluZm8gICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9iamVjdCBmb3JtYXRzICYgYXJjaGl0ZWN0dXJlcyBzdXBwb3J0ZWRcbiIKIG1zZ3N0ciAiIgotIiAgLUkgLS1pbnB1dC10YXJnZXQgPGJmZC1uYW1uPiAgICBBbnRhZyBpbmRhdGFmaWxlbnMgZm9ybWF0IORyIDxiZmQtbmFtbj5cbiIKLSIgIC1PIC0tb3V0cHV0LXRhcmdldCA8YmZkLW5hbW4+ICAgU2thcGEgdXRkYXRhZmlsZW4gaSBmb3JtYXRldCA8YmZkLW5hbW4+XG4iCi0iICAtQiAtLWJpbmFyeS1hcmNoaXRlY3R1cmUgPGFyaz4gIFbkbGogYXJraXRla3R1ciBm9nIgdXRmaWwgbuRyIGluZGF0YSDkciBiaW7kclxuIgotIiAgLUYgLS10YXJnZXQgPGJmZC1uYW1uPiAgICAgICAgICBT5HR0IGLlZGUgaW4tIG9jaCB1dGZvcm1hdGV0IHRpbGwgPGJmZC1uYW1uPlxuIgotIiAgICAgLS1kZWJ1Z2dpbmcgICAgICAgICAgICAgICAgICBLb252ZXJ0ZXJhIGZlbHP2a25pbmdzaW5mbywgb20gbfZqbGlndFxuIgotIiAgLXAgLS1wcmVzZXJ2ZS1kYXRlcyAgICAgICAgICAgICBLb3BpZXJhIORuZHJpbmdzL+V0a29tc3R0aWRlciB0aWxsIHV0ZGF0YW5cbiIKKyIgIC1JIC0taW5wdXQtdGFyZ2V0IDxiZmQtbmFtbj4gICAgQW50YWcgaW5maWxlbnMgZm9ybWF0IHRpbGwgPGJmZC1uYW1uPlxuIgorIiAgLU8gLS1vdXRwdXQtdGFyZ2V0IDxiZmQtbmFtbj4gICBTa2FwYSB1dGZpbGVuIGkgZm9ybWF0IDxiZmQtbmFtbj5cbiIKKyIgIC1CIC0tYmluYXJ5LWFyY2hpdGVjdHVyZSA8YXJrPiAgVsOkbGogYXJraXRla3R1ciBmw7ZyIHV0ZmlsIG7DpHIgaW5kYXRhIMOkciBiaW7DpHJcbiIKKyIgIC1GIC0tdGFyZ2V0IDxiZmQtbmFtbj4gICAgICAgICAgU8OkdHQgYsOlZGUgaW4tIG9jaCB1dGZvcm1hdGV0IHRpbGwgPGJmZC1uYW1uPlxuIgorIiAgICAgLS1kZWJ1Z2dpbmcgICAgICAgICAgICAgICAgICBLb252ZXJ0ZXJhIGZlbHPDtmtuaW5nc2luZm8sIG9tIG3DtmpsaWd0XG4iCisiICAtcCAtLXByZXNlcnZlLWRhdGVzICAgICAgICAgICAgIEtvcGllcmEgw6RuZHJpbmdzL8OldGtvbXN0dGlkZXIgdGlsbCB1dGRhdGFuXG4iCiAiICAtaiAtLW9ubHktc2VjdGlvbiA8bmFtbj4gICAgICAgIEtvcGllcmEgZW5kYXN0IHNla3Rpb24gPG5hbW4+IHRpbGwgdXRkYXRhblxuIgotIiAgLVIgLS1yZW1vdmUtc2VjdGlvbiA8bmFtbj4gICAgICBUYSBib3J0IHNla3Rpb24gPG5hbW4+IGZy5W4gdXRkYXRhblxuIgotIiAgLVMgLS1zdHJpcC1hbGwgICAgICAgICAgICAgICAgICBUYSBib3J0IGFsbCBzeW1ib2wtIG9jaCBvbWxva2FsaXNlcmluZ3NpbmZvXG4iCi0iICAtZyAtLXN0cmlwLWRlYnVnICAgICAgICAgICAgICAgIFRhIGJvcnQgYWxsYSBmZWxz9mtuaW5nc3N5bWJvbGVyXG4iCi0iICAgICAtLXN0cmlwLXVubmVlZGVkICAgICAgICAgICAgIFRhIGJvcnQgc3ltYm9sZXIgb272ZGlnYSBm9nIgb21sb2thbGlzZXJpbmdcbiIKKyIgICAgIC0tYWRkLWdudS1kZWJ1Z2xpbms9PGZpbD4gICAgTMOkZ2cgdGlsbCAuZ251X2RlYnVnbGluay1zZWt0aW9uIHRpbGwgPGZpbD5cbiIKKyIgIC1SIC0tcmVtb3ZlLXNlY3Rpb24gPG5hbW4+ICAgICAgVGEgYm9ydCBzZWt0aW9uIDxuYW1uPiBmcsOlbiB1dGRhdGFuXG4iCisiICAtUyAtLXN0cmlwLWFsbCAgICAgICAgICAgICAgICAgIFJlbnNhIGJvcnQgYWxsIHN5bWJvbC0gb2NoIHJlbG9rZXJpbmdzaW5mb1xuIgorIiAgLWcgLS1zdHJpcC1kZWJ1ZyAgICAgICAgICAgICAgICBSZW5zYSBib3J0IGFsbGEgZmVsc8O2a3NzeW1ib2xlciBvY2ggLXNla3Rpb25lclxuIgorIiAgICAgLS1zdHJpcC11bm5lZWRlZCAgICAgICAgICAgICBSZW5zYSBib3J0IGFsbGEgc3ltYm9sZXIgc29tIGludGUgYmVow7Z2cyBmw7ZyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbG9rZXJpbmdlblxuIgogIiAgLU4gLS1zdHJpcC1zeW1ib2wgPG5hbW4+ICAgICAgICBLb3BpZXJhIGludGUgc3ltYm9sIDxuYW1uPlxuIgogIiAgLUsgLS1rZWVwLXN5bWJvbCA8bmFtbj4gICAgICAgICBLb3BpZXJhIGVuZGFzdCBzeW1ib2wgPG5hbW4+XG4iCiAiICAtTCAtLWxvY2FsaXplLXN5bWJvbCA8bmFtbj4gICAgIE1hcmtlcmEgc3ltYm9sIDxuYW1uPiBzb20gbG9rYWxcbiIKLSIgIC1HIC0ta2VlcC1nbG9iYWwtc3ltYm9sIDxuYW1uPiAgR/ZyIGFsbGEgc3ltYm9sZXIgbG9rYWxhLCBm9nJ1dG9tIDxuYW1uPlxuIgorIiAgLUcgLS1rZWVwLWdsb2JhbC1zeW1ib2wgPG5hbW4+ICBHw7ZyIGFsbGEgc3ltYm9sZXIgbG9rYWxhLCBmw7ZydXRvbSA8bmFtbj5cbiIKICIgIC1XIC0td2Vha2VuLXN5bWJvbCA8bmFtbj4gICAgICAgTWFya2VyYSBzeW1ib2wgPG5hbW4+IHNvbSB2ZWtcbiIKICIgICAgIC0td2Vha2VuICAgICAgICAgICAgICAgICAgICAgTWFya2VyYSBhbGxhIGdsb2JhbGEgc3ltYm9sZXIgc29tIHZla2FcbiIKICIgIC14IC0tZGlzY2FyZC1hbGwgICAgICAgICAgICAgICAgVGEgYm9ydCBhbGxhIGlja2UtZ2xvYmFsYSBzeW1ib2xlclxuIgogIiAgLVggLS1kaXNjYXJkLWxvY2FscyAgICAgICAgICAgICBUYSBib3J0IGFsbGEga29tcGlsYXRvcmdlbmVyZXJhZGUgc3ltYm9sZXJcbiIKICIgIC1pIC0taW50ZXJsZWF2ZSA8YW50YWw+ICAgICAgICAgS29waWVyYSBlbmRhc3QgZW4gYXYgdmFyamUgPGFudGFsPiBieXRlXG4iCi0iICAtYiAtLWJ5dGUgPG5yPiAgICAgICAgICAgICAgICAgIFbkbGogdXQgPG5yPjplIGJ5dGVuIGkgdmFyamUgaW50ZXJ2YWxsXG4iCisiICAtYiAtLWJ5dGUgPG5yPiAgICAgICAgICAgICAgICAgIFbDpGxqIHV0IDxucj46ZSBieXRlbiBpIHZhcmplIGludGVydmFsbFxuIgogIiAgICAgLS1nYXAtZmlsbCA8dGFsPiAgICAgICAgICAgICBGeWxsIGx1Y2tvciBtZWxsYW4gc2VrdGlvbmVybmEgbWVkIDx0YWw+XG4iCiAiICAgICAtLXBhZC10byA8YWRyPiAgICAgICAgICAgICAgIEZ5bGwgdXQgZWZ0ZXIgc2lzdGEgc2VrdGlvbmVuIGZyYW0gdGlsbCA8YWRyPlxuIgotIiAgICAgLS1zZXQtc3RhcnQgPGFkcj4gICAgICAgICAgICBT5HR0IHN0YXJ0YWRyZXNzZW4gdGlsbCA8YWRyPlxuIgotIiAgICB7LS1jaGFuZ2Utc3RhcnR8LS1hZGp1c3Qtc3RhcnR9IDz2a24+XG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEzkZ2cgdGlsbCA89mtuPiB0aWxsIHN0YXJ0YWRyZXNzZW5cbiIKLSIgICAgey0tY2hhbmdlLWFkZHJlc3Nlc3wtLWFkanVzdC12bWF9IDz2a24+XG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEzkZ2cgdGlsbCA89mtuPiB0aWxsIExNQSwgVk1BIG9jaCBzdGFydGFkci5cbiIKKyIgICAgIC0tc2V0LXN0YXJ0IDxhZHI+ICAgICAgICAgICAgU8OkdHQgc3RhcnRhZHJlc3NlbiB0aWxsIDxhZHI+XG4iCisiICAgIHstLWNoYW5nZS1zdGFydHwtLWFkanVzdC1zdGFydH0gPMO2a24+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEzDpGdnIHRpbGwgPMO2a24+IHRpbGwgc3RhcnRhZHJlc3NlblxuIgorIiAgICB7LS1jaGFuZ2UtYWRkcmVzc2VzfC0tYWRqdXN0LXZtYX0gPMO2a24+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEzDpGdnIHRpbGwgPMO2a24+IHRpbGwgTE1BLCBWTUEgb2NoIHN0YXJ0YWRyLlxuIgogIiAgICB7LS1jaGFuZ2Utc2VjdGlvbi1hZGRyZXNzfC0tYWRqdXN0LXNlY3Rpb24tdm1hfSA8bmFtbj57PXwrfC19PHRhbD5cbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgxG5kcmEgTE1BIG9jaCBWTUEgcOUgc2VrdGlvbiA8bmFtbj4gbWVkIDx0YWw+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMOEbmRyYSBMTUEgb2NoIFZNQSBww6Ugc2VrdGlvbiA8bmFtbj4gbWVkIDx0YWw+XG4iCiAiICAgICAtLWNoYW5nZS1zZWN0aW9uLWxtYSA8bmFtbj57PXwrfC19PHRhbD5cbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgxG5kcmEgTE1BIHDlIHNla3Rpb24gPG5hbW4+IG1lZCA8dGFsPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDDhG5kcmEgTE1BIHDDpSBzZWt0aW9uIDxuYW1uPiBtZWQgPHRhbD5cbiIKICIgICAgIC0tY2hhbmdlLXNlY3Rpb24tdm1hIDxuYW1uPns9fCt8LX08dGFsPlxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDEbmRyYSBWTUEgcOUgc2VrdGlvbiA8bmFtbj4gbWVkIDx0YWw+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMOEbmRyYSBWTUEgcMOlIHNla3Rpb24gPG5hbW4+IG1lZCA8dGFsPlxuIgogIiAgICB7LS1bbm8tXWNoYW5nZS13YXJuaW5nc3wtLVtuby1dYWRqdXN0LXdhcm5pbmdzfVxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYXJuYSAoaW50ZS9bbm8tXSkgb20gZW4gc2VrdGlvbiBpbnRlIGZpbm5zXG4iCiAiICAgICAtLXNldC1zZWN0aW9uLWZsYWdzIDxuYW1uPj08ZmxhZ2dvcj5cbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU+R0dCBzZWt0aW9uIDxuYW1uPnMgYXR0cmlidXQgdGlsbCA8ZmxhZ2dvcj5cbiIKLSIgICAgIC0tYWRkLXNlY3Rpb24gPG5hbW4+PTxmaWw+ICAgTORnZyB0aWxsIHNla3Rpb24gPG5hbW4+IGkgPGZpbD4gdGlsbCB1dGRhdGFuXG4iCi0iICAgICAtLXJlbmFtZS1zZWN0aW9uIDxnYW0+PTxueT5bLDxmbGFnZ29yPl0gQnl0IG5hbW4gcOUgc2VrdGlvbiA8Z2FtPiB0aWxsIDxueT5cbiIKLSIgICAgIC0tY2hhbmdlLWxlYWRpbmctY2hhciAgICAgICAgxG5kcmEgdGlsbCB1dGZvcm1hdGV0cyB0eXAgYXYgaW5sZWRuaW5nc3RlY2tlblxuIgotIiAgICAgLS1yZW1vdmUtbGVhZGluZy1jaGFyICAgICAgICBUYSBib3J0IGlubGVkbmluZ3N0ZWNrZW4gZnLlbiBnbG9iYWxhIHN5bWJvbGVyXG4iCi0iICAgICAtLXJlZGVmaW5lLXN5bSA8Z2FtPj08bnk+ICAgIERlZmluaWVyYSBvbSBzeW1ib2xlbiBtZWQgbmFtbiA8Z2FtPiB0aWxsIDxueT5cbiIKLSIgICAgIC0tc3JlYy1sZW4gPG5yPiAgICAgICAgICAgICAgQmVncuRuc2EgbORuZ2RlbiBw5SBnZW5lcmVyYWRlIFMtcG9zdGVyXG4iCi0iICAgICAtLXNyZWMtZm9yY2VTMyAgICAgICAgICAgICAgIEJlZ3LkbnNhIHR5cGVuIGF2IGdlbmVyZXJhZGUgUy1wb3N0ZXIgdGlsbCBTM1xuIgotIiAgICAgLS1zdHJpcC1zeW1ib2xzIDxmaWw+ICAgICAgICAtTiBm9nIgYWxsYSBzeW1ib2xlciBzb20gbGlzdGFzIGkgPGZpbD5cbiIKLSIgICAgIC0ta2VlcC1zeW1ib2xzIDxmaWw+ICAgICAgICAgLUsgZvZyIGFsbGEgc3ltYm9sZXIgc29tIGxpc3RhcyBpIDxmaWw+XG4iCi0iICAgICAtLWxvY2FsaXplLXN5bWJvbHMgPGZpbD4gICAgIC1MIGb2ciBhbGxhIHN5bWJvbGVyIHNvbSBsaXN0YXMgaSA8ZmlsPlxuIgotIiAgICAgLS1rZWVwLWdsb2JhbC1zeW1ib2xzIDxmaWw+ICAtRyBm9nIgYWxsYSBzeW1ib2xlciBzb20gbGlzdGFzIGkgPGZpbD5cbiIKLSIgICAgIC0td2Vha2VuLXN5bWJvbHMgPGZpbD4gICAgICAgLVcgZvZyIGFsbGEgc3ltYm9sZXIgc29tIGxpc3RhcyBpIDxmaWw+XG4iCi0iICAgICAtLWFsdC1tYWNoaW5lLWNvZGUgPGluZGV4PiAgIEFuduRuZCBhbHRlcm5hdGl2IG1hc2tpbmtvZCBm9nIgdXRkYXRhXG4iCi0iICAtdiAtLXZlcmJvc2UgICAgICAgICAgICAgICAgICAgIExpc3RhIGFsbGEgZvZy5G5kcmFkZSBvYmpla3RmaWxlclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTw6R0dCBzZWt0aW9uIDxuYW1uPnMgYXR0cmlidXQgdGlsbCA8ZmxhZ2dvcj5cbiIKKyIgICAgIC0tYWRkLXNlY3Rpb24gPG5hbW4+PTxmaWw+ICAgTMOkZ2cgdGlsbCBzZWt0aW9uIDxuYW1uPiBpIDxmaWw+IHRpbGwgdXRkYXRhblxuIgorIiAgICAgLS1yZW5hbWUtc2VjdGlvbiA8Z2FtPj08bnk+Wyw8ZmxhZ2dvcj5dIEJ5dCBuYW1uIHDDpSBzZWt0aW9uIDxnYW0+IHRpbGwgPG55PlxuIgorIiAgICAgLS1jaGFuZ2UtbGVhZGluZy1jaGFyICAgICAgICBGcmFtdHZpbmdhIHV0Zm9ybWF0ZXRzIGlubGVkYW5kZSB0ZWNrZW50eXBcbiIKKyIgICAgIC0tcmVtb3ZlLWxlYWRpbmctY2hhciAgICAgICAgVGEgYm9ydCBpbmxlZG5pbmdzdGVja2VuIGZyw6VuIGdsb2JhbGEgc3ltYm9sZXJcbiIKKyIgICAgIC0tcmVkZWZpbmUtc3ltIDxnYW0+PTxueT4gICAgRGVmaW5pZXJhIG9tIHN5bWJvbG5hbW4gPGdhbT4gdGlsbCA8bnk+XG4iCisiICAgICAtLXJlZGVmaW5lLXN5bXMgPGZpbD4gICAgICAgIC0tcmVkZWZpbmUtc3ltIGbDtnIgYWxsYSBzeW1ib2xwYXIgaSA8ZmlsPlxuIgorIiAgICAgLS1zcmVjLWxlbiA8bnI+ICAgICAgICAgICAgICBCZWdyw6Ruc2EgbMOkbmdkZW4gcMOlIGdlbmVyZXJhZGUgUy1wb3N0ZXJcbiIKKyIgICAgIC0tc3JlYy1mb3JjZVMzICAgICAgICAgICAgICAgQmVncsOkbnNhIHR5cGVuIGF2IGdlbmVyZXJhZGUgUy1wb3N0ZXIgdGlsbCBTM1xuIgorIiAgICAgLS1zdHJpcC1zeW1ib2xzIDxmaWw+ICAgICAgICAtTiBmw7ZyIGFsbGEgc3ltYm9sZXIgc29tIGxpc3RhcyBpIDxmaWw+XG4iCisiICAgICAtLWtlZXAtc3ltYm9scyA8ZmlsPiAgICAgICAgIC1LIGbDtnIgYWxsYSBzeW1ib2xlciBzb20gbGlzdGFzIGkgPGZpbD5cbiIKKyIgICAgIC0tbG9jYWxpemUtc3ltYm9scyA8ZmlsPiAgICAgLUwgZsO2ciBhbGxhIHN5bWJvbGVyIHNvbSBsaXN0YXMgaSA8ZmlsPlxuIgorIiAgICAgLS1rZWVwLWdsb2JhbC1zeW1ib2xzIDxmaWw+ICAtRyBmw7ZyIGFsbGEgc3ltYm9sZXIgc29tIGxpc3RhcyBpIDxmaWw+XG4iCisiICAgICAtLXdlYWtlbi1zeW1ib2xzIDxmaWw+ICAgICAgIC1XIGbDtnIgYWxsYSBzeW1ib2xlciBzb20gbGlzdGFzIGkgPGZpbD5cbiIKKyIgICAgIC0tYWx0LW1hY2hpbmUtY29kZSA8aW5kZXg+ICAgQW52w6RuZCBhbHRlcm5hdGl2IG1hc2tpbmtvZCBmw7ZyIHV0ZGF0YVxuIgorIiAgICAgLS1wcmVmaXgtc3ltYm9scyA8cHJlZml4PiAgICAgQsO2cmphIHZhcmplIHN5bWJvbG5hbW4gbWVkIDxwcmVmaXg+XG4iCisiICAgICAtLXByZWZpeC1zZWN0aW9ucyA8cHJlZml4PiAgICBCw7ZyamEgdmFyamUgc2VrdGlvbnNuYW1uIG1lZCA8cHJlZml4PlxuIgorIiAgICAgLS1wcmVmaXgtYWxsb2Mtc2VjdGlvbnMgPHByZWZpeD5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIELDtnJqYSB2YXJqZSBhbGxva2VyYmFyIHNla3Rpb25zIG5hbW4gbWVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJlZml4PlxuIgorIiAgLXYgLS12ZXJib3NlICAgICAgICAgICAgICAgICAgICBMaXN0YSBhbGxhIGbDtnLDpG5kcmFkZSBvYmpla3RmaWxlclxuIgogIiAgLVYgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWaXNhIHByb2dyYW1tZXRzIHZlcnNpb25zaW5mb3JtYXRpb25cbiIKLSIgIC1oIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgVmlzYSBkZW5uYSBoauRscFxuIgorIiAgLWggLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBWaXNhIGRlbm5hIGhqw6RscFxuIgorIiAgICAgLS1pbmZvICAgICAgICAgICAgICAgICAgICAgICAgTGlzdGEgb2JqZWt0Zm9ybWF0ICYgYXJraXRla3R1cmVyIHNvbSBzdMO2ZHNcbiIKIAotIwotIzogb2JqY29weS5jOjQzMgorIzogb2JqY29weS5jOjQ5MwogIywgYy1mb3JtYXQKLW1zZ2lkICJVc2FnZTogJXMgPG9wdGlvbnM+IGluLWZpbGUocylcbiIKLW1zZ3N0ciAiQW525G5kbmluZzogJXMgPGZsYWdnb3I+IGluZGF0YWZpbChlcilcbiIKK21zZ2lkICJVc2FnZTogJXMgPG9wdGlvbihzKT4gaW4tZmlsZShzKVxuIgorbXNnc3RyICJBbnbDpG5kbmluZzogJXMgPGZsYWdnb3I+IGluZmlsKGVyKVxuIgogCi0jCi0jOiBvYmpjb3B5LmM6NDM0CisjOiBvYmpjb3B5LmM6NDk0Cittc2dpZCAiIFJlbW92ZXMgc3ltYm9scyBhbmQgc2VjdGlvbnMgZnJvbSBmaWxlc1xuIgorbXNnc3RyICIgVGFyIGJvcnQgc3ltYm9sZXIgb2NoIHNla3Rpb25lciBmcsOlbiBmaWxlclxuIgorCisjOiBvYmpjb3B5LmM6NDk2CiBtc2dpZCAiIgotIiAgLUkgLS1pbnB1dC10YXJnZXQgPGJmZG5hbWU+ICAgICAgQXNzdW1lIGlucHV0IGZpbGUgaXMgaW4gZm9ybWF0IDxiZmRuYW1lPlxuIgotIiAgLU8gLS1vdXRwdXQtdGFyZ2V0IDxiZmRuYW1lPiAgICAgQ3JlYXRlIGFuIG91dHB1dCBmaWxlIGluIGZvcm1hdCA8YmZkbmFtZT5cbiIKLSIgIC1GIC0tdGFyZ2V0IDxiZmRuYW1lPiAgICAgICAgICAgIFNldCBib3RoIGlucHV0IGFuZCBvdXRwdXQgZm9ybWF0IHRvIDxiZmRuYW1lPlxuIgorIiAgLUkgLS1pbnB1dC10YXJnZXQ9PGJmZG5hbWU+ICAgICAgQXNzdW1lIGlucHV0IGZpbGUgaXMgaW4gZm9ybWF0IDxiZmRuYW1lPlxuIgorIiAgLU8gLS1vdXRwdXQtdGFyZ2V0PTxiZmRuYW1lPiAgICAgQ3JlYXRlIGFuIG91dHB1dCBmaWxlIGluIGZvcm1hdCA8YmZkbmFtZT5cbiIKKyIgIC1GIC0tdGFyZ2V0PTxiZmRuYW1lPiAgICAgICAgICAgIFNldCBib3RoIGlucHV0IGFuZCBvdXRwdXQgZm9ybWF0IHRvIDxiZmRuYW1lPlxuIgogIiAgLXAgLS1wcmVzZXJ2ZS1kYXRlcyAgICAgICAgICAgICAgQ29weSBtb2RpZmllZC9hY2Nlc3MgdGltZXN0YW1wcyB0byB0aGUgb3V0cHV0XG4iCi0iICAtUiAtLXJlbW92ZS1zZWN0aW9uIDxuYW1lPiAgICAgICBSZW1vdmUgc2VjdGlvbiA8bmFtZT4gZnJvbSB0aGUgb3V0cHV0XG4iCisiICAtUiAtLXJlbW92ZS1zZWN0aW9uPTxuYW1lPiAgICAgICBSZW1vdmUgc2VjdGlvbiA8bmFtZT4gZnJvbSB0aGUgb3V0cHV0XG4iCiAiICAtcyAtLXN0cmlwLWFsbCAgICAgICAgICAgICAgICAgICBSZW1vdmUgYWxsIHN5bWJvbCBhbmQgcmVsb2NhdGlvbiBpbmZvcm1hdGlvblxuIgotIiAgLWcgLVMgLS1zdHJpcC1kZWJ1ZyAgICAgICAgICAgICAgUmVtb3ZlIGFsbCBkZWJ1Z2dpbmcgc3ltYm9sc1xuIgorIiAgLWcgLVMgLWQgLS1zdHJpcC1kZWJ1ZyAgICAgICAgICAgUmVtb3ZlIGFsbCBkZWJ1Z2dpbmcgc3ltYm9scyAmIHNlY3Rpb25zXG4iCiAiICAgICAtLXN0cmlwLXVubmVlZGVkICAgICAgICAgICAgICBSZW1vdmUgYWxsIHN5bWJvbHMgbm90IG5lZWRlZCBieSByZWxvY2F0aW9uc1xuIgotIiAgLU4gLS1zdHJpcC1zeW1ib2wgPG5hbWU+ICAgICAgICAgRG8gbm90IGNvcHkgc3ltYm9sIDxuYW1lPlxuIgotIiAgLUsgLS1rZWVwLXN5bWJvbCA8bmFtZT4gICAgICAgICAgT25seSBjb3B5IHN5bWJvbCA8bmFtZT5cbiIKKyIgIC1OIC0tc3RyaXAtc3ltYm9sPTxuYW1lPiAgICAgICAgIERvIG5vdCBjb3B5IHN5bWJvbCA8bmFtZT5cbiIKKyIgIC1LIC0ta2VlcC1zeW1ib2w9PG5hbWU+ICAgICAgICAgIE9ubHkgY29weSBzeW1ib2wgPG5hbWU+XG4iCiAiICAteCAtLWRpc2NhcmQtYWxsICAgICAgICAgICAgICAgICBSZW1vdmUgYWxsIG5vbi1nbG9iYWwgc3ltYm9sc1xuIgogIiAgLVggLS1kaXNjYXJkLWxvY2FscyAgICAgICAgICAgICAgUmVtb3ZlIGFueSBjb21waWxlci1nZW5lcmF0ZWQgc3ltYm9sc1xuIgogIiAgLXYgLS12ZXJib3NlICAgICAgICAgICAgICAgICAgICAgTGlzdCBhbGwgb2JqZWN0IGZpbGVzIG1vZGlmaWVkXG4iCiAiICAtViAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgcHJvZ3JhbSdzIHZlcnNpb24gbnVtYmVyXG4iCiAiICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgb3V0cHV0XG4iCisiICAgICAtLWluZm8gICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9iamVjdCBmb3JtYXRzICYgYXJjaGl0ZWN0dXJlcyBzdXBwb3J0ZWRcbiIKICIgIC1vIDxmaWxlPiAgICAgICAgICAgICAgICAgICAgICAgIFBsYWNlIHN0cmlwcGVkIG91dHB1dCBpbnRvIDxmaWxlPlxuIgogbXNnc3RyICIiCi0iICAtSSAtLWlucHV0LXRhcmdldCA8YmZkLW5hbW4+ICAgICBBbnRhZyBpbmRhdGFmaWxlbnMgZm9ybWF0IORyIDxiZmQtbmFtbj5cbiIKLSIgIC1PIC0tb3V0cHV0LXRhcmdldCA8YmZkLW5hbW4+ICAgIFNrYXBhIHV0ZGF0YWZpbGVuIGkgZm9ybWF0ZXQgPGJmZC1uYW1uPlxuIgotIiAgLUYgLS10YXJnZXQgPGJmZC1uYW1uPiAgICAgICAgICAgU+R0dCBi5WRlIGluLSBvY2ggdXRmb3JtYXRldCB0aWxsIDxiZmQtbmFtbj5cbiIKLSIgIC1wIC0tcHJlc2VydmUtZGF0ZXMgICAgICAgICAgICAgIEtvcGllcmEg5G5kcmluZ3Mv5XRrb21zdHRpZGVyIHRpbGwgdXRkYXRhblxuIgotIiAgLVIgLS1yZW1vdmUtc2VjdGlvbiA8bmFtbj4gICAgICAgVGEgYm9ydCBzZWt0aW9uIDxuYW1uPiBmcuVuIHV0ZGF0YW5cbiIKLSIgIC1zIC0tc3RyaXAtYWxsICAgICAgICAgICAgICAgICAgIFRhIGJvcnQgYWxsIHN5bWJvbC0gb2NoIG9tbG9rYWxpc2VyaW5nc2luZm9cbiIKLSIgIC1nIC1TIC0tc3RyaXAtZGVidWcgICAgICAgICAgICAgIFRhIGJvcnQgYWxsYSBmZWxz9mtuaW5nc3N5bWJvbGVyXG4iCi0iICAgICAtLXN0cmlwLXVubmVlZGVkICAgICAgICAgICAgICBUYSBib3J0IHN5bWJvbGVyIG9u9mRpZ2EgZvZyIG9tbG9rYWxpc2VyaW5nZW5cbiIKLSIgIC1OIC0tc3RyaXAtc3ltYm9sIDxuYW1uPiAgICAgICAgIEtvcGllcmEgaW50ZSBzeW1ib2wgPG5hbW4+XG4iCi0iICAtSyAtLWtlZXAtc3ltYm9sIDxuYW1uPiAgICAgICAgICBLb3BpZXJhIGVuZGFzdCBzeW1ib2wgPG5hbW4+XG4iCisiICAtSSAtLWlucHV0LXRhcmdldD08YmZkLW5hbW4+ICAgICBBbnRhZyBpbmZpbGVucyBmb3JtYXQgdGlsbCA8YmZkLW5hbW4+XG4iCisiICAtTyAtLW91dHB1dC10YXJnZXQ9PGJmZC1uYW1uPiAgICBTa2FwYSB1dGZpbGVuIGkgZm9ybWF0IDxiZmQtbmFtbj5cbiIKKyIgIC1GIC0tdGFyZ2V0PTxiZmQtbmFtbj4gICAgICAgICAgIFPDpHR0IGLDpWRlIGluLSBvY2ggdXRmb3JtYXRldCB0aWxsIDxiZmQtbmFtbj5cbiIKKyIgIC1wIC0tcHJlc2VydmUtZGF0ZXMgICAgICAgICAgICAgIEtvcGllcmEgw6RuZHJpbmdzL8OldGtvbXN0dGlkZXIgdGlsbCB1dGRhdGFuXG4iCisiICAtUiAtLXJlbW92ZS1zZWN0aW9uPTxuYW1uPiAgICAgICBUYSBib3J0IHNla3Rpb24gPG5hbW4+IGZyw6VuIHV0ZGF0YW5cbiIKKyIgIC1zIC0tc3RyaXAtYWxsICAgICAgICAgICAgICAgICAgIFJlbnNhIGJvcnQgYWxsIHN5bWJvbC0gb2NoIHJlbG9rZXJpbmdzaW5mb1xuIgorIiAgLWcgLVMgLWQgLS1zdHJpcC1kZWJ1ZyAgICAgICAgICAgUmVuc2EgYm9ydCBhbGxhIGZlbHPDtmtzc3ltYm9sZXIgJiAtc2VrdGlvbmVyXG4iCisiICAgICAtLXN0cmlwLXVubmVlZGVkICAgICAgICAgICAgICBSZW5zYSBib3J0IGFsbGEgc3ltYm9sZXIgc29tIGludGUgw6RyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuw7ZkdsOkbmRpZ2EgZsO2ciByZWxva2VyaW5nZW5cbiIKKyIgIC1OIC0tc3RyaXAtc3ltYm9sPTxuYW1uPiAgICAgICAgIEtvcGllcmEgaW50ZSBzeW1ib2wgPG5hbW4+XG4iCisiICAtSyAtLWtlZXAtc3ltYm9sPTxuYW1uPiAgICAgICAgICBLb3BpZXJhIGVuZGFzdCBzeW1ib2wgPG5hbW4+XG4iCiAiICAteCAtLWRpc2NhcmQtYWxsICAgICAgICAgICAgICAgICBUYSBib3J0IGFsbGEgaWNrZS1nbG9iYWxhIHN5bWJvbGVyXG4iCiAiICAtWCAtLWRpc2NhcmQtbG9jYWxzICAgICAgICAgICAgICBUYSBib3J0IGFsbGEga29tcGlsYXRvcmdlbmVyZXJhZGUgc3ltYm9sZXJcbiIKLSIgIC12IC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgICAgIExpc3RhIGFsbGEgZvZy5G5kcmFkZSBvYmpla3RmaWxlclxuIgorIiAgLXYgLS12ZXJib3NlICAgICAgICAgICAgICAgICAgICAgTGlzdGEgYWxsYSBmw7Zyw6RuZHJhZGUgb2JqZWt0ZmlsZXJcbiIKICIgIC1WIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgIFZpc2EgcHJvZ3JhbW1ldHMgdmVyc2lvbnNpbmZvcm1hdGlvblxuIgotIiAgLWggLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgVmlzYSBkZW5uYSBoauRscFxuIgotIiAgLW8gPGZpbD4gICAgICAgICAgICAgICAgICAgICAgICAgU3BhcmEgZGVuIHV0cmVuc2FkZSB1dGRhdGFuIGkgPGZpbD5cbiIKKyIgIC1oIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgIFZpc2EgZGVubmEgaGrDpGxwXG4iCisiICAgICAtLWluZm8gICAgICAgICAgICAgICAgICAgICAgICBMaXN0YSBvYmpla3Rmb3JtYXQgJiBhcmtpdGVrdHVyZXIgc29tIHN0w7Zkc1xuIgorIiAgLW8gPGZpbD4gICAgICAgICAgICAgICAgICAgICAgICAgU3BhcmEgZGVuIHJlbnNhZGUgdXRkYXRhbiBpIDxmaWw+XG4iCiAKLSMKLSM6IG9iamNvcHkuYzo1MDQKKyM6IG9iamNvcHkuYzo1NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHNlY3Rpb24gZmxhZyBgJXMnIgotbXNnc3RyICJva+RuZCBzZWt0aW9uc2ZsYWdnYSBcIiVzXCIiCittc2dzdHIgIm9rw6RuZCBzZWt0aW9uc2ZsYWdnYSBcIiVzXCIiCiAKLSMKLSM6IG9iamNvcHkuYzo1MDUKKyM6IG9iamNvcHkuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VwcG9ydGVkIGZsYWdzOiAlcyIKIG1zZ3N0ciAiZmxhZ2dvciBzb20gaGFudGVyYXM6ICVzIgogCi0jCi0jOiBvYmpjb3B5LmM6NTgyIG9iamNvcHkuYzoyMjA2CisjOiBvYmpjb3B5LmM6NjQ1IG9iamNvcHkuYzoyNTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0OiAlczogJXMiCiBtc2dzdHIgImthbiBpbnRlIHRhIHN0YXR1czogJXM6ICVzIgogCi0jCi0jOiBvYmpjb3B5LmM6NTg5IG9iamNvcHkuYzoyMjI0CisjOiBvYmpjb3B5LmM6NjUyIG9iamNvcHkuYzoyNTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuOiAlczogJXMiCi1tc2dzdHIgImthbiBpbnRlIPZwcG5hOiAlczogJXMiCittc2dzdHIgImthbiBpbnRlIMO2cHBuYTogJXM6ICVzIgogCi0jCi0jOiBvYmpjb3B5LmM6NTkyIG9iamNvcHkuYzoyMjI4CisjOiBvYmpjb3B5LmM6NjU1IG9iamNvcHkuYzoyNTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmcmVhZCBmYWlsZWQiCiBtc2dzdHIgIiVzOiBmcmVhZCBtaXNzbHlja2FkZXMiCiAKLSMKLSM6IG9iamNvcHkuYzo2NjUKKyM6IG9iamNvcHkuYzo3MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSWdub3JpbmcgcnViYmlzaCBmb3VuZCBvbiBsaW5lICVkIG9mICVzIgotbXNnc3RyICJJZ25vcmVyYXIgc2ty5HAgaGl0dGF0IHDlIHJhZCAlZCBpICVzIgorbXNnc3RyICJJZ25vcmVyYXIgc2tyw6RwIGhpdHRhdCBww6UgcmFkICVkIGkgJXMiCiAKLSMKLSM6IG9iamNvcHkuYzo4ODYKKyM6IG9iamNvcHkuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IE11bHRpcGxlIHJlZGVmaW5pdGlvbiBvZiBzeW1ib2wgXCIlc1wiIgogbXNnc3RyICIlczogRmxlcmEgb21kZWZpbmllcmluZ2FyIGF2IHN5bWJvbCBcIiVzXCIiCiAKLSMKLSM6IG9iamNvcHkuYzo4OTEKKyM6IG9iamNvcHkuYzo5ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFN5bWJvbCBcIiVzXCIgaXMgdGFyZ2V0IG9mIG1vcmUgdGhhbiBvbmUgcmVkZWZpbml0aW9uIgotbXNnc3RyICIlczogU3ltYm9sIFwiJXNcIiDkciBt5WwgZvZyIG1lciDkbiBlbiBvbWRlZmluaWVyaW5nIgorbXNnc3RyICIlczogTWVyIMOkbiBlbiBzeW1ib2wgb21kZWZpbmllcmFzIHRpbGwgXCIlc1wiIgogCi0jCi0jOiBvYmpjb3B5LmM6OTQzCisjOiBvYmpjb3B5LmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBvcGVuIHN5bWJvbCByZWRlZmluaXRpb24gZmlsZSAlcyAoZXJyb3I6ICVzKSIKK21zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgZmlsIFwiJXNcIiBtZWQgc3ltYm9sb21kZWZpbmllcmluZ2FyIChmZWw6ICVzKSIKKworIzogb2JqY29weS5jOjEwODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdhcmJhZ2UgYXQgZW5kIG9mIGxpbmUgJWQiCittc2dzdHIgIiVzOiBza3LDpHAgaSBzbHV0ZXQgcMOlIHJhZCAlZCIKKworIzogb2JqY29weS5jOjEwOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pc3NpbmcgbmV3IHN5bWJvbCBuYW1lIGF0IGxpbmUgJWQiCittc2dzdHIgIiVzOiBueXR0IHN5bWJvbG5hbW4gc2FrbmFzIHDDpSByYWQgJWQiCisKKyM6IG9iamNvcHkuYzoxMTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmVtYXR1cmUgZW5kIG9mIGZpbGUgYXQgbGluZSAlZCIKK21zZ3N0ciAiJXM6IGbDtnIgdGlkaWd0IGZpbHNsdXQgcMOlIHJhZCAlZCIKKworIzogb2JqY29weS5jOjExNDcKIG1zZ2lkICJVbmFibGUgdG8gY2hhbmdlIGVuZGlhbm5lc3Mgb2YgaW5wdXQgZmlsZShzKSIKLW1zZ3N0ciAiS2FuIGludGUg5G5kcmEgZW5kaWFuLXR5cCBw5SBpbmRhdGFmaWxlbihlcm5hKSIKK21zZ3N0ciAiS2FuIGludGUgw6RuZHJhIGVuZGlhbi10eXAgcMOlIGluZmlsZW4oZXJuYSkiCiAKLSMKLSM6IG9iamNvcHkuYzo5NTEKKyM6IG9iamNvcHkuYzoxMTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcHkgZnJvbSAlcyglcykgdG8gJXMoJXMpXG4iCi1tc2dzdHIgImtvcGllcmFyIGZy5W4gJXMoJXMpIHRpbGwgJXMoJXMpXG4iCittc2dzdHIgImtvcGllcmFyIGZyw6VuICVzKCVzKSB0aWxsICVzKCVzKVxuIgogCi0jCi0jOiBvYmpjb3B5LmM6OTc1CisjOiBvYmpjb3B5LmM6MTE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJXYXJuaW5nOiBPdXRwdXQgZmlsZSBjYW5ub3QgcmVwcmVzZW50IGFyY2hpdGVjdHVyZSAlcyIKLW1zZ3N0ciAiVmFybmluZzogVXRkYXRhZmlsZW4ga2FuIGludGUgcmVwcmVzZW50ZXJhIGFya2l0ZWt0dXIgJXMiCittc2dzdHIgIlZhcm5pbmc6IFV0ZmlsZW4ga2FuIGludGUgcmVwcmVzZW50ZXJhIGFya2l0ZWt0dXIgJXMiCiAKLSMKLSM6IG9iamNvcHkuYzoxMDAyCisjOiBvYmpjb3B5LmM6MTIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBjcmVhdGUgc2VjdGlvbiBgJXMnOiAlcyIKIG1zZ3N0ciAia2FuIGludGUgc2thcGEgc2VrdGlvbiBcIiVzXCI6ICVzIgogCi0jCi0jOiBvYmpjb3B5LmM6MTA4OAorIzogb2JqY29weS5jOjEzMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2FuJ3QgZmlsbCBnYXAgYWZ0ZXIgJXM6ICVzIgogbXNnc3RyICJLYW4gaW50ZSBmeWxsYSBsdWNrYW4gZWZ0ZXIgJXM6ICVzIgogCi0jCi0jOiBvYmpjb3B5LmM6MTExMworIzogb2JqY29weS5jOjEzMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2FuJ3QgYWRkIHBhZGRpbmcgdG8gJXM6ICVzIgogbXNnc3RyICJLYW4gaW50ZSBmeWxsYSB1dCBlZnRlciAlczogJXMiCiAKLSMKLSM6IG9iamNvcHkuYzoxMjUyCisjOiBvYmpjb3B5LmM6MTQ4NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZXJyb3IgY29weWluZyBwcml2YXRlIEJGRCBkYXRhOiAlcyIKIG1zZ3N0ciAiJXM6IGZlbCB2aWQga29waWVyaW5nIGF2IHByaXZhdCBCRkQtZGF0YTogJXMiCiAKLSMKLSM6IG9iamNvcHkuYzoxMjY1CisjOiBvYmpjb3B5LmM6MTQ5OAogbXNnaWQgInVua25vd24gYWx0ZXJuYXRlIG1hY2hpbmUgY29kZSwgaWdub3JlZCIKLW1zZ3N0ciAib2vkbmQgYWx0ZXJuYXRpdiBtYXNraW5rb2QsIGlnbm9yZXJhZCIKK21zZ3N0ciAib2vDpG5kIGFsdGVybmF0aXYgbWFza2lua29kLCBpZ25vcmVyYWQiCiAKLSMKLSM6IG9iamNvcHkuYzoxMjk1CisjOiBvYmpjb3B5LmM6MTUzMSBvYmpjb3B5LmM6MTU2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMgZm9yIGFyY2hpdmUgY29weWluZyAoZXJyb3I6ICVzKSIKLW1zZ3N0ciAia2FuIGludGUgc2thcGEga2F0YWxvZyAlcyBm9nIgYXJraXZrb3BpZXJpbmcgKGZlbDogJXMpIgorbXNnc3RyICJrYW4gaW50ZSBza2FwYSBrYXRhbG9nICVzIGbDtnIgYXJraXZrb3BpZXJpbmcgKGZlbDogJXMpIgogCi0jCi0jOiBvYmpjb3B5LmM6MTQ2NgorIzogb2JqY29weS5jOjE3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTXVsdGlwbGUgcmVuYW1lcyBvZiBzZWN0aW9uICVzIgotbXNnc3RyICJGbGVyYSBuYW1uYnl0ZW4gcOUgc2VrdGlvbiAlcyIKK21zZ3N0ciAiRmxlcmEgbmFtbmJ5dGVuIHDDpSBzZWt0aW9uICVzIgogCi0jCi0jOiBvYmpjb3B5LmM6MTU1MAorIzogb2JqY29weS5jOjE4NDAKIG1zZ2lkICJtYWtpbmciCiBtc2dzdHIgInRpbGx2ZXJrbmluZyIKIAotIwotIzogb2JqY29weS5jOjE1NTkKKyM6IG9iamNvcHkuYzoxODQ5CiBtc2dpZCAic2l6ZSIKIG1zZ3N0ciAic3RvcmxlayIKIAotIwotIzogb2JqY29weS5jOjE1NzMKKyM6IG9iamNvcHkuYzoxODYzCiBtc2dpZCAidm1hIgogbXNnc3RyICJ2bWEiCiAKLSMKLSM6IG9iamNvcHkuYzoxNTk5CisjOiBvYmpjb3B5LmM6MTg4OAogbXNnaWQgImFsaWdubWVudCIKLW1zZ3N0ciAiauRtbiBncuRucyIKK21zZ3N0ciAianVzdGVyaW5nIgogCi0jCi0jOiBvYmpjb3B5LmM6MTYwNworIzogb2JqY29weS5jOjE4OTYKIG1zZ2lkICJmbGFncyIKIG1zZ3N0ciAiZmxhZ2dvciIKIAotIwotIzogb2JqY29weS5jOjE2MjQKKyM6IG9iamNvcHkuYzoxOTE4CiBtc2dpZCAicHJpdmF0ZSBkYXRhIgogbXNnc3RyICJwcml2YXQgZGF0YSIKIAotIwotIzogb2JqY29weS5jOjE2MzIKKyM6IG9iamNvcHkuYzoxOTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzZWN0aW9uIGAlcyc6IGVycm9yIGluICVzOiAlcyIKLW1zZ3N0ciAiJXM6IHNla3Rpb24gXCIlc1wiOiBmZWwgcOUgJXM6ICVzIgorbXNnc3RyICIlczogc2VrdGlvbiBcIiVzXCI6IGZlbCBww6UgJXM6ICVzIgogCi0jCi0jOiBvYmpjb3B5LmM6MTkxMAorIzogb2JqY29weS5jOjIxOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNyZWF0ZSBkZWJ1Z2dpbmcgc2VjdGlvbjogJXMiCi1tc2dzdHIgIiVzOiBrYW4gaW50ZSBza2FwYSBmZWxz9mtuaW5nc3Nla3Rpb246ICVzIgorbXNnc3RyICIlczoga2FuIGludGUgc2thcGEgZmVsc8O2a25pbmdzc2VrdGlvbjogJXMiCiAKLSMKLSM6IG9iamNvcHkuYzoxOTI1CisjOiBvYmpjb3B5LmM6MjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2FuJ3Qgc2V0IGRlYnVnZ2luZyBzZWN0aW9uIGNvbnRlbnRzOiAlcyIKLW1zZ3N0ciAiJXM6IGthbiBpbnRlIHPkdHRhIGlubmVo5WxsZXQgaSBmZWxz9mtuaW5nc3Nla3Rpb25lbjogJXMiCittc2dzdHIgIiVzOiBrYW4gaW50ZSBzw6R0dGEgaW5uZWjDpWxsZXQgaSBmZWxzw7ZrbmluZ3NzZWt0aW9uZW46ICVzIgogCi0jCi0jOiBvYmpjb3B5LmM6MTkzNAorIzogb2JqY29weS5jOjIyMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvbid0IGtub3cgaG93IHRvIHdyaXRlIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBmb3IgJXMiCi1tc2dzdHIgIiVzOiB2ZXQgaW50ZSBodXIgbWFuIHNrcml2ZXIgZmVsc/ZrbmluZ3NpbmZvcm1hdGlvbiBm9nIgJXMiCittc2dzdHIgIiVzOiB2ZXQgaW50ZSBodXIgbWFuIHNrcml2ZXIgZmVsc8O2a25pbmdzaW5mb3JtYXRpb24gZsO2ciAlcyIKIAotIwotIzogb2JqY29weS5jOjIwNDEKKyM6IG9iamNvcHkuYzoyMzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgc3RhdDogJXMiCiBtc2dzdHIgIiVzOiBrYW4gaW50ZSB0YSBzdGF0dXM6ICVzIgogCi0jCi0jOiBvYmpjb3B5LmM6MjA5MgorIzogb2JqY29weS5jOjI0MDAKIG1zZ2lkICJieXRlIG51bWJlciBtdXN0IGJlIG5vbi1uZWdhdGl2ZSIKLW1zZ3N0ciAiYnl0ZW51bW1lciBm5XIgaW50ZSB2YXJhIG5lZ2F0aXZ0IgorbXNnc3RyICJieXRlbnVtbWVyIGbDpXIgaW50ZSB2YXJhIG5lZ2F0aXZ0IgogCi0jCi0jOiBvYmpjb3B5LmM6MjEwMgorIzogb2JqY29weS5jOjI0MTAKIG1zZ2lkICJpbnRlcmxlYXZlIG11c3QgYmUgcG9zaXRpdmUiCi1tc2dzdHIgImludGVydmFsbHN0b3JsZWtlbiBt5XN0ZSB2YXJhIHBvc2l0aXYiCittc2dzdHIgImludGVydmFsbHN0b3JsZWtlbiBtw6VzdGUgdmFyYSBwb3NpdGl2IgogCi0jCi0jOiBvYmpjb3B5LmM6MjEyMiBvYmpjb3B5LmM6MjEzMAorIzogb2JqY29weS5jOjI0MzAgb2JqY29weS5jOjI0MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYm90aCBjb3BpZWQgYW5kIHJlbW92ZWQiCi1tc2dzdHIgIiVzIGLlZGUga29waWVyYWQgb2NoIGJvcnR0YWdlbiIKK21zZ3N0ciAiJXMgYsOlZGUga29waWVyYWQgb2NoIGJvcnR0YWdlbiIKIAotIwotIzogb2JqY29weS5jOjIyMDMgb2JqY29weS5jOjIyNzMgb2JqY29weS5jOjIzNzMgb2JqY29weS5jOjI0MDAgb2JqY29weS5jOjI0MjQKLSM6IG9iamNvcHkuYzoyNDI4IG9iamNvcHkuYzoyNDQ4CisjOiBvYmpjb3B5LmM6MjUyMyBvYmpjb3B5LmM6MjU5MyBvYmpjb3B5LmM6MjY5MyBvYmpjb3B5LmM6MjcyNCBvYmpjb3B5LmM6Mjc0OAorIzogb2JqY29weS5jOjI3NTIgb2JqY29weS5jOjI3NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGZvcm1hdCBmb3IgJXMiCi1tc2dzdHIgImZlbGFrdGlndCBmb3JtYXQgcOUgJXMiCittc2dzdHIgImZlbGFrdGlndCBmb3JtYXQgcMOlICVzIgogCi0jCi0jOiBvYmpjb3B5LmM6MjM0MgorIzogb2JqY29weS5jOjI2NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2FybmluZzogdHJ1bmNhdGluZyBnYXAtZmlsbCBmcm9tIDB4JXMgdG8gMHgleCIKLW1zZ3N0ciAiVmFybmluZzoga29ydGFyIGF2IHV0ZnlsbG5hZHN25HJkZXQgZnLlbiAweCVzIHRpbGwgMHgleCIKK21zZ3N0ciAiVmFybmluZzoga29ydGFyIGF2IHV0ZnlsbG5hZHN2w6RyZGV0IGZyw6VuIDB4JXMgdGlsbCAweCV4IgogCi0jCi0jOiBvYmpjb3B5LmM6MjQ5NAorIzogb2JqY29weS5jOjI4MTgKIG1zZ2lkICJhbHRlcm5hdGUgbWFjaGluZSBjb2RlIGluZGV4IG11c3QgYmUgcG9zaXRpdmUiCi1tc2dzdHIgImluZGV4IGb2ciBhbHRlcm5hdGl2IG1hc2tpbmtvZCBt5XN0ZSB2YXJhIHBvc2l0aXZ0IgorbXNnc3RyICJpbmRleCBmw7ZyIGFsdGVybmF0aXYgbWFza2lua29kIG3DpXN0ZSB2YXJhIHBvc2l0aXZ0IgogCi0jCi0jOiBvYmpjb3B5LmM6MjUxMgorIzogb2JqY29weS5jOjI4NTYKIG1zZ2lkICJieXRlIG51bWJlciBtdXN0IGJlIGxlc3MgdGhhbiBpbnRlcmxlYXZlIgotbXNnc3RyICJieXRlbnVtbWVyIG3lc3RlIHZhcmEgbWluZHJlIORuIGFudGFsZXQgYnl0ZSBpIGludGVydmFsbGV0IgorbXNnc3RyICJieXRlbnVtbWVyIG3DpXN0ZSB2YXJhIG1pbmRyZSDDpG4gYW50YWxldCBieXRlIGkgaW50ZXJ2YWxsZXQiCiAKLSMKLSM6IG9iamNvcHkuYzoyNTM5CisjOiBvYmpjb3B5LmM6Mjg4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhcmNoaXRlY3R1cmUgJXMgdW5rbm93biIKLW1zZ3N0ciAiYXJraXRla3R1ciAlcyDkciBva+RuZCIKK21zZ3N0ciAiYXJraXRla3R1ciAlcyDDpHIgb2vDpG5kIgogCi0jCi0jOiBvYmpjb3B5LmM6MjU0MworIzogb2JqY29weS5jOjI4ODcKIG1zZ2lkICJXYXJuaW5nOiBpbnB1dCB0YXJnZXQgJ2JpbmFyeScgcmVxdWlyZWQgZm9yIGJpbmFyeSBhcmNoaXRlY3R1cmUgcGFyYW1ldGVyLiIKLW1zZ3N0ciAiVmFybmluZzogaW5kYXRhIG3lc3RlIGhhIGZvcm1hdGV0IFwiYmluYXJ5XCIgZvZyIGJpbuRyYXJraXRla3R1cnNwYXJhbWV0ZXJuLiIKK21zZ3N0ciAiVmFybmluZzogaW5kYXRhIG3DpXN0ZSBoYSBmb3JtYXRldCAnYmluYXJ5JyBmw7ZyIGJpbsOkcmFya2l0ZWt0dXJzcGFyYW1ldHJhci4iCiAKLSMKLSM6IG9iamNvcHkuYzoyNTQ0CisjOiBvYmpjb3B5LmM6Mjg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgQXJndW1lbnQgJXMgaWdub3JlZCIKLW1zZ3N0ciAiIEFyZ3VtZW50ICVzIGlnbm9yZXJhcyIKK21zZ3N0ciAiIEFyZ3VtZW50ICVzIGlnbm9yZXJhdCIKIAotIwotIzogb2JqY29weS5jOjI1NTAKKyM6IG9iamNvcHkuYzoyODk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzdGF0OiAlczogJXMiCiBtc2dzdHIgIkthbiBpbnRlIHRhIHN0YXR1czogJXM6ICVzIgogCi0jCi0jOiBvYmpjb3B5LmM6MjU5MCBvYmpjb3B5LmM6MjYwNAorIzogb2JqY29weS5jOjI5MzQgb2JqY29weS5jOjI5NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgJXMlYzB4JXMgbmV2ZXIgdXNlZCIKLW1zZ3N0ciAiJXMgJXMlYzB4JXMgYW525G5kZXMgYWxkcmlnIgorbXNnc3RyICIlcyAlcyVjMHglcyBhbnbDpG5kZXMgYWxkcmlnIgogCi0jCi0jOiBvYmpkdW1wLmM6MTY0CisjOiBvYmpkdW1wLmM6MTk3CiAjLCBjLWZvcm1hdAotbXNnaWQgIlVzYWdlOiAlcyBPUFRJT04uLi4gRklMRS4uLlxuIgotbXNnc3RyICJBbnbkbmRuaW5nOiAlcyBGTEFHR0EuLi4gRklMLi4uXG4iCittc2dpZCAiVXNhZ2U6ICVzIDxvcHRpb24ocyk+IDxmaWxlKHMpPlxuIgorbXNnc3RyICJBbnbDpG5kbmluZzogJXMgPGZsYWdnb3I+IDxmaWwoZXIpPlxuIgogCi0jCi0jOiBvYmpkdW1wLmM6MTY1Ci1tc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBmcm9tIG9iamVjdCBGSUxFLlxuIgotbXNnc3RyICJWaXNhIGluZm9ybWF0aW9uIGZy5W4gZW4gb2JqZWt0RklMLlxuIgorIzogb2JqZHVtcC5jOjE5OAorbXNnaWQgIiBEaXNwbGF5IGluZm9ybWF0aW9uIGZyb20gb2JqZWN0IDxmaWxlKHMpPi5cbiIKK21zZ3N0ciAiVmlzYSBpbmZvcm1hdGlvbiBmcsOlbiBvYmpla3Q8ZmlsKGVyKT4uXG4iCiAKLSMKLSM6IG9iamR1bXAuYzoxNjYKLW1zZ2lkICIiCi0iXG4iCi0iIEF0IGxlYXN0IG9uZSBvZiB0aGUgZm9sbG93aW5nIHN3aXRjaGVzIG11c3QgYmUgZ2l2ZW46XG4iCi1tc2dzdHIgIiIKLSJcbiIKLSIgTWluc3QgZW4gYXYgZvZsamFuZGUgZmxhZ2dvciBt5XN0ZSBhbmdlczpcbiIKKyM6IG9iamR1bXAuYzoxOTkKK21zZ2lkICIgQXQgbGVhc3Qgb25lIG9mIHRoZSBmb2xsb3dpbmcgc3dpdGNoZXMgbXVzdCBiZSBnaXZlbjpcbiIKK21zZ3N0ciAiIE1pbnN0IGVuIGF2IGbDtmxqYW5kZSBmbGFnZ29yIG3DpXN0ZSBnZXM6XG4iCiAKLSMKLSM6IG9iamR1bXAuYzoxNjcKKyM6IG9iamR1bXAuYzoyMDAKIG1zZ2lkICIiCiAiICAtYSwgLS1hcmNoaXZlLWhlYWRlcnMgICAgRGlzcGxheSBhcmNoaXZlIGhlYWRlciBpbmZvcm1hdGlvblxuIgogIiAgLWYsIC0tZmlsZS1oZWFkZXJzICAgICAgIERpc3BsYXkgdGhlIGNvbnRlbnRzIG9mIHRoZSBvdmVyYWxsIGZpbGUgaGVhZGVyXG4iCkBAIC0yMzIwLDQwICsyMTE1LDM4IEBACiAiICAtVCwgLS1keW5hbWljLXN5bXMgICAgICAgRGlzcGxheSB0aGUgY29udGVudHMgb2YgdGhlIGR5bmFtaWMgc3ltYm9sIHRhYmxlXG4iCiAiICAtciwgLS1yZWxvYyAgICAgICAgICAgICAgRGlzcGxheSB0aGUgcmVsb2NhdGlvbiBlbnRyaWVzIGluIHRoZSBmaWxlXG4iCiAiICAtUiwgLS1keW5hbWljLXJlbG9jICAgICAgRGlzcGxheSB0aGUgZHluYW1pYyByZWxvY2F0aW9uIGVudHJpZXMgaW4gdGhlIGZpbGVcbiIKLSIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICBEaXNwbGF5IHRoaXMgcHJvZ3JhbSdzIHZlcnNpb24gbnVtYmVyXG4iCisiICAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgRGlzcGxheSB0aGlzIHByb2dyYW0ncyB2ZXJzaW9uIG51bWJlclxuIgogIiAgLWksIC0taW5mbyAgICAgICAgICAgICAgIExpc3Qgb2JqZWN0IGZvcm1hdHMgYW5kIGFyY2hpdGVjdHVyZXMgc3VwcG9ydGVkXG4iCiAiICAtSCwgLS1oZWxwICAgICAgICAgICAgICAgRGlzcGxheSB0aGlzIGluZm9ybWF0aW9uXG4iCiBtc2dzdHIgIiIKLSIgIC1hLCAtLWFyY2hpdmUtaGVhZGVycyAgICBWaXNhIGluZm9ybWF0aW9uIGZy5W4gYXJraXZodXZ1ZGVuXG4iCi0iICAtZiwgLS1maWxlLWhlYWRlcnMgICAgICAgVmlzYSBpbm5laOVsbGV0IGkgZGV0IPZ2ZXJncmlwYW5kZSBmaWxodXZ1ZGV0XG4iCi0iICAtcCwgLS1wcml2YXRlLWhlYWRlcnMgICAgVmlzYSBpbm5laOVsbGV0IGkgb2JqZWt0Zm9ybWF0c3BlY2lmaWthIGZpbGh1dnVkZW5cbiIKLSIgIC1oLCAtLVtzZWN0aW9uLV1oZWFkZXJzICBWaXNhIGlubmVo5WxsZXQgaSBzZWt0aW9uc2h1dnVkZW5cbiIKLSIgIC14LCAtLWFsbC1oZWFkZXJzICAgICAgICBWaXNhIGlubmVo5WxsZXQgaSBhbGxhIGh1dnVkZW5cbiIKKyIgIC1hLCAtLWFyY2hpdmUtaGVhZGVycyAgICBWaXNhIGluZm9ybWF0aW9uIGZyw6VuIGFya2l2aHV2dWRlblxuIgorIiAgLWYsIC0tZmlsZS1oZWFkZXJzICAgICAgIFZpc2EgaW5uZWjDpWxsZXQgaSBkZXQgw7Z2ZXJncmlwYW5kZSBmaWxodXZ1ZGV0XG4iCisiICAtcCwgLS1wcml2YXRlLWhlYWRlcnMgICAgVmlzYSBpbm5laMOlbGxldCBpIG9iamVrdGZvcm1hdHNwZWNpZmlrYSBmaWxodXZ1ZGVuXG4iCisiICAtaCwgLS1bc2VjdGlvbi1daGVhZGVycyAgVmlzYSBpbm5laMOlbGxldCBpIHNla3Rpb25zaHV2dWRlblxuIgorIiAgLXgsIC0tYWxsLWhlYWRlcnMgICAgICAgIFZpc2EgaW5uZWjDpWxsZXQgaSBhbGxhIGh1dnVkZW5cbiIKICIgIC1kLCAtLWRpc2Fzc2VtYmxlICAgICAgICBWaXNhIGRpc2Fzc2VtYmxlcmluZyBhdiBleGVrdmVyYmFyYSBzZWt0aW9uZXJcbiIKICIgIC1ELCAtLWRpc2Fzc2VtYmxlLWFsbCAgICBWaXNhIGRpc2Fzc2VtYmxlcmluZyBhdiBhbGxhIHNla3Rpb25lclxuIgotIiAgLVMsIC0tc291cmNlICAgICAgICAgICAgIFZhcnZhIGvkbGxrb2QgbWVkIGRpc2Fzc2VtYmxlcmluZ1xuIgotIiAgLXMsIC0tZnVsbC1jb250ZW50cyAgICAgIFZpc2EgaGVsYSBpbm5laOVsbGV0IGkgYWxsYSB1dHZhbGRhIHNla3Rpb25lclxuIgotIiAgLWcsIC0tZGVidWdnaW5nICAgICAgICAgIFZpc2EgZmVsc/ZrbmluZ3NpbmZvcm1hdGlvbiBmcuVuIG9iamVrdGZpbGVuXG4iCi0iICAtRywgLS1zdGFicyAgICAgICAgICAgICAgVmlzYSAob2JlaGFuZGxhdCkgZXZlbnR1ZWxsIFNUQUJTLWluZm8gZnLlbiBmaWxlblxuIgotIiAgLXQsIC0tc3ltcyAgICAgICAgICAgICAgIFZpc2EgaW5uZWjlbGxldCBpIHN5bWJvbHRhYmVsbGVuKGVybmEpXG4iCi0iICAtVCwgLS1keW5hbWljLXN5bXMgICAgICAgVmlzYSBpbm5laOVsbGV0IGkgdGFiZWxsZW4gbWVkIGR5bmFtaXNrYSBzeW1ib2xlclxuIgotIiAgLXIsIC0tcmVsb2MgICAgICAgICAgICAgIFZpc2Egb21sb2thbGlzZXJpbmdzcG9zdGVybmEgaSBmaWxlblxuIgotIiAgLVIsIC0tZHluYW1pYy1yZWxvYyAgICAgIFZpc2EgZGUgZHluYW1pc2thIG9tbG9rYWxpc2VyaW5nc3Bvc3Rlcm5hIGkgZmlsZW5cbiIKLSIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICBWaXNhIHByb2dyYW1tZXRzIHZlcnNpb25zaW5mb3JtYXRpb25cbiIKKyIgIC1TLCAtLXNvdXJjZSAgICAgICAgICAgICBWYXJ2YSBrw6RsbGtvZCBtZWQgZGlzYXNzZW1ibGVyaW5nXG4iCisiICAtcywgLS1mdWxsLWNvbnRlbnRzICAgICAgVmlzYSBoZWxhIGlubmVow6VsbGV0IGkgYWxsYSB1dHZhbGRhIHNla3Rpb25lclxuIgorIiAgLWcsIC0tZGVidWdnaW5nICAgICAgICAgIFZpc2EgZmVsc8O2a25pbmdzaW5mb3JtYXRpb24gZnLDpW4gb2JqZWt0ZmlsZW5cbiIKKyIgIC1HLCAtLXN0YWJzICAgICAgICAgICAgICBWaXNhIChvZm9ybWF0ZXJhdCkgZXZlbnR1ZWxsIFNUQUJTLWluZm8gZnLDpW4gZmlsZW5cbiIKKyIgIC10LCAtLXN5bXMgICAgICAgICAgICAgICBWaXNhIGlubmVow6VsbGV0IGkgc3ltYm9sdGFiZWxsZW4oZXJuYSlcbiIKKyIgIC1ULCAtLWR5bmFtaWMtc3ltcyAgICAgICBWaXNhIGlubmVow6VsbGV0IGkgdGFiZWxsZW4gbWVkIGR5bmFtaXNrYSBzeW1ib2xlclxuIgorIiAgLXIsIC0tcmVsb2MgICAgICAgICAgICAgIFZpc2EgcmVsb2tlcmluZ3Nwb3N0ZXJuYSBpIGZpbGVuXG4iCisiICAtUiwgLS1keW5hbWljLXJlbG9jICAgICAgVmlzYSBkZSBkeW5hbWlza2EgcmVsb2tlcmluZ3Nwb3N0ZXJuYSBpIGZpbGVuXG4iCisiICAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgVmlzYSBwcm9ncmFtbWV0cyB2ZXJzaW9uc2luZm9ybWF0aW9uXG4iCiAiICAtaSwgLS1pbmZvICAgICAgICAgICAgICAgTGlzdGEgZGUgb2JqZWt0Zm9ybWF0IG9jaCBhcmtpdGVrdHVyZXIgc29tIGhhbnRlcmFzXG4iCi0iICAtSCwgLS1oZWxwICAgICAgICAgICAgICAgVmlzYSBkZW5uYSBoauRscFxuIgorIiAgLUgsIC0taGVscCAgICAgICAgICAgICAgIFZpc2EgZGVubmEgaGrDpGxwXG4iCiAKLSMKLSM6IG9iamR1bXAuYzoxODkKKyM6IG9iamR1bXAuYzoyMjIKIG1zZ2lkICIiCiAiXG4iCiAiIFRoZSBmb2xsb3dpbmcgc3dpdGNoZXMgYXJlIG9wdGlvbmFsOlxuIgogbXNnc3RyICIiCiAiXG4iCi0iIEb2bGphbmRlIGZsYWdnb3Ig5HIgZnJpdmlsbGlnYTpcbiIKKyIgRsO2bGphbmRlIGZsYWdnb3Igw6RyIGZyaXZpbGxpZ2E6XG4iCiAKLSMKLSM6IG9iamR1bXAuYzoxOTAKKyM6IG9iamR1bXAuYzoyMjMKIG1zZ2lkICIiCiAiICAtYiwgLS10YXJnZXQ9QkZETkFNRSAgICAgICAgICAgU3BlY2lmeSB0aGUgdGFyZ2V0IG9iamVjdCBmb3JtYXQgYXMgQkZETkFNRVxuIgogIiAgLW0sIC0tYXJjaGl0ZWN0dXJlPU1BQ0hJTkUgICAgIFNwZWNpZnkgdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUgYXMgTUFDSElORVxuIgpAQCAtMjM2NCw5NSArMjE1Nyw4NSBAQAogIiAgICAgIC0tZmlsZS1zdGFydC1jb250ZXh0ICAgICAgIEluY2x1ZGUgY29udGV4dCBmcm9tIHN0YXJ0IG9mIGZpbGUgKHdpdGggLVMpXG4iCiAiICAtbCwgLS1saW5lLW51bWJlcnMgICAgICAgICAgICAgSW5jbHVkZSBsaW5lIG51bWJlcnMgYW5kIGZpbGVuYW1lcyBpbiBvdXRwdXRcbiIKICIgIC1DLCAtLWRlbWFuZ2xlWz1TVFlMRV0gICAgICAgICBEZWNvZGUgbWFuZ2xlZC9wcm9jZXNzZWQgc3ltYm9sIG5hbWVzXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBTVFlMRSwgaWYgc3BlY2lmaWVkLCBjYW4gYmUgYGF1dG8nLCAnZ251JyxcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2x1Y2lkJywgJ2FybScsICdocCcsICdlZGcnLCBvciAnZ251LW5ldy1hYmknXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBTVFlMRSwgaWYgc3BlY2lmaWVkLCBjYW4gYmUgYGF1dG8nLCBgZ251JyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGx1Y2lkJywgYGFybScsIGBocCcsIGBlZGcnLCBgZ251LXYzJywgYGphdmEnXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGBnbmF0J1xuIgogIiAgLXcsIC0td2lkZSAgICAgICAgICAgICAgICAgICAgIEZvcm1hdCBvdXRwdXQgZm9yIG1vcmUgdGhhbiA4MCBjb2x1bW5zXG4iCiAiICAteiwgLS1kaXNhc3NlbWJsZS16ZXJvZXMgICAgICAgRG8gbm90IHNraXAgYmxvY2tzIG9mIHplcm9lcyB3aGVuIGRpc2Fzc2VtYmxpbmdcbiIKLSIgICAgICAtLXN0YXJ0LWFkZHJlc3M9QUREUiAgICAgICBPbmx5IHByb2Nlc3MgZGF0YSB3aG9lcyBhZGRyZXNzIGlzID49IEFERFJcbiIKLSIgICAgICAtLXN0b3AtYWRkcmVzcz1BRERSICAgICAgICBPbmx5IHByb2Nlc3MgZGF0YSB3aG9lcyBhZGRyZXNzIGlzIDw9IEFERFJcbiIKKyIgICAgICAtLXN0YXJ0LWFkZHJlc3M9QUREUiAgICAgICBPbmx5IHByb2Nlc3MgZGF0YSB3aG9zZSBhZGRyZXNzIGlzID49IEFERFJcbiIKKyIgICAgICAtLXN0b3AtYWRkcmVzcz1BRERSICAgICAgICBPbmx5IHByb2Nlc3MgZGF0YSB3aG9zZSBhZGRyZXNzIGlzIDw9IEFERFJcbiIKICIgICAgICAtLXByZWZpeC1hZGRyZXNzZXMgICAgICAgICBQcmludCBjb21wbGV0ZSBhZGRyZXNzIGFsb25nc2lkZSBkaXNhc3NlbWJseVxuIgogIiAgICAgIC0tW25vLV1zaG93LXJhdy1pbnNuICAgICAgIERpc3BsYXkgaGV4IGFsb25nc2lkZSBzeW1ib2xpYyBkaXNhc3NlbWJseVxuIgogIiAgICAgIC0tYWRqdXN0LXZtYT1PRkZTRVQgICAgICAgIEFkZCBPRkZTRVQgdG8gYWxsIGRpc3BsYXllZCBzZWN0aW9uIGFkZHJlc3Nlc1xuIgogIlxuIgogbXNnc3RyICIiCi0iICAtYiwgLS10YXJnZXQ9QkZETkFNTiAgICAgICAgICAgQW5nZSBhdHQgbeVsb2JqZWt0ZXRzIGZvcm1hdCDkciBCRkROQU1OXG4iCi0iICAtbSwgLS1hcmNoaXRlY3R1cmU9TUFTS0lOICAgICAgQW5nZSBhdHQgbeVsYXJraXRla3R1cmVuIORyIE1BU0tJTlxuIgorIiAgLWIsIC0tdGFyZ2V0PUJGRE5BTU4gICAgICAgICAgIFbDpGxqIEJGRE5BTU4gc29tIG3DpWxvYmpla3RldHMgZm9ybWF0XG4iCisiICAtbSwgLS1hcmNoaXRlY3R1cmU9TUFTS0lOICAgICAgVsOkbGogbcOlbGFya2l0ZWt0dXIgTUFTS0lOXG4iCiAiICAtaiwgLS1zZWN0aW9uPU5BTU4gICAgICAgICAgICAgVmlzYSBlbmRhc3QgaW5mb3JtYXRpb24gb20gc2VrdGlvbiBOQU1OXG4iCiAiICAtTSwgLS1kaXNhc3NlbWJsZXItb3B0aW9ucz1GTEcgU2tpY2thIHZpZGFyZSBGTEcgdGlsbCBkaXNhc3NlbWJsZXJhcmVuXG4iCiAiICAtRUIgLS1lbmRpYW49YmlnICAgICAgICAgICAgICAgQW50YWcgYmlnIGVuZGlhbi1mb3JtYXQgdmlkIGRpc2Fzc2VtYmxlcmluZ1xuIgogIiAgLUVMIC0tZW5kaWFuPWxpdHRsZSAgICAgICAgICAgIEFudGFnIGxpdHRsZSBlbmRpYW4tZm9ybWF0IHZpZCBkaXNhc3NlbWJsZXJpbmdcbiIKLSIgICAgICAtLWZpbGUtc3RhcnQtY29udGV4dCAgICAgICBUYSBtZWQgb21naXZuaW5nZW4gaSBi9nJqYW4gYXYgZmlsZW4gKG1lZCAtUylcbiIKKyIgICAgICAtLWZpbGUtc3RhcnQtY29udGV4dCAgICAgICBUYSBtZWQgb21naXZuaW5nZW4gaSBiw7ZyamFuIGF2IGZpbGVuIChtZWQgLVMpXG4iCiAiICAtbCwgLS1saW5lLW51bWJlcnMgICAgICAgICAgICAgVGEgbWVkIHJhZG51bW1lciBvY2ggZmlsbmFtbiBpIHV0ZGF0YW5cbiIKLSIgIC1DLCAtLWRlbWFuZ2xlWz1TVElMXSAgICAgICAgICBBdmtvZGEga29kYWRlIHN5bWJvbG5hbW5cbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RJTCwgb20gYW5naXZldCwga2FuIHZhcmE6IFwiYXV0b1wiLCBcImdudVwiLFxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImx1Y2lkXCIsIFwiYXJtXCIsIFwiaHBcIiwgXCJlZGdcIiwgXCJnbnUtbmV3LWFiaVwiXG4iCi0iICAtdywgLS13aWRlICAgICAgICAgICAgICAgICAgICAgQW5wYXNzYSB1dGRhdGFuIGb2ciBtZXIg5G4gODAga29sdW1uZXJcbiIKLSIgIC16LCAtLWRpc2Fzc2VtYmxlLXplcm9lcyAgICAgICBIb3BwYSBpbnRlIPZ2ZXIgYmxvY2sgYXYgbm9sbG9yIHZpZFxuIgorIiAgLUMsIC0tZGVtYW5nbGVbPVNUSUxdICAgICAgICAgIEF2a29kYSBtYW5nbGFkZSBzeW1ib2xuYW1uXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUSUwsIG9tIGdpdmV0LCBrYW4gdmFyYTogXCJhdXRvXCIsIFwiZ251XCIsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibHVjaWRcIiwgXCJhcm1cIiwgXCJocFwiLCBcImVkZ1wiLCBcImdudS12M1wiXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiamF2YVwiIGVsbGVyIGBnbmF0J1xuIgorIiAgLXcsIC0td2lkZSAgICAgICAgICAgICAgICAgICAgIEZvcm1hdGVyYSB1dGRhdGFuIGbDtnIgbWVyIMOkbiA4MCBrb2x1bW5lclxuIgorIiAgLXosIC0tZGlzYXNzZW1ibGUtemVyb2VzICAgICAgIEhvcHBhIGludGUgw7Z2ZXIgYmxvY2sgYXYgbm9sbG9yIHZpZFxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2Fzc2VtYmxlcmluZ1xuIgotIiAgICAgIC0tc3RhcnQtYWRkcmVzcz1BRFIgICAgICAgIEJlaGFuZGxhIGVuZGFzdCBkYXRhIHDlIGFkcmVzc2VyID49IEFEUlxuIgotIiAgICAgIC0tc3RvcC1hZGRyZXNzPUFEUiAgICAgICAgIEJlaGFuZGxhIGVuZGFzdCBkYXRhIHDlIGFkcmVzc2VyIDw9IEFEUlxuIgotIiAgICAgIC0tcHJlZml4LWFkZHJlc3NlcyAgICAgICAgIFZpc2EgZnVsbHN05G5kaWdhIGFkcmVzc2VyIGrkbXRlIGRpc2Fzc2VtYmxlci5cbiIKLSIgICAgICAtLVtuby1dc2hvdy1yYXctaW5zbiAgICAgICBWaXNhIGhleC4ta29kIGrkbXRlIGRpc2Fzc2VtYmxlcmluZ1xuIgotIiAgICAgIC0tYWRqdXN0LXZtYT1PRkZTRVQgICAgICAgIEzkZ2cgdGlsbCBPRkZTRVQgdGlsbCBhbGxhIHZpc2FkZSBzZWt0aW9uc2FkcmVzc2VyXG4iCisiICAgICAgLS1zdGFydC1hZGRyZXNzPUFEUiAgICAgICAgQmVoYW5kbGEgZW5kYXN0IGRhdGEgcMOlIGFkcmVzc2VyID49IEFEUlxuIgorIiAgICAgIC0tc3RvcC1hZGRyZXNzPUFEUiAgICAgICAgIEJlaGFuZGxhIGVuZGFzdCBkYXRhIHDDpSBhZHJlc3NlciA8PSBBRFJcbiIKKyIgICAgICAtLXByZWZpeC1hZGRyZXNzZXMgICAgICAgICBWaXNhIGZ1bGxzdMOkbmRpZ2EgYWRyZXNzZXIgasOkbXRlIGRpc2Fzc2VtYmxlci5cbiIKKyIgICAgICAtLVtuby1dc2hvdy1yYXctaW5zbiAgICAgICBWaXNhIGhleC4ta29kIGrDpG10ZSBkaXNhc3NlbWJsZXJpbmdcbiIKKyIgICAgICAtLWFkanVzdC12bWE9T0ZGU0VUICAgICAgICBMw6RnZyB0aWxsIE9GRlNFVCB0aWxsIGFsbGEgdmlzYWRlIHNla3Rpb25zYWRyZXNzZXJcbiIKICJcbiIKIAotIwotIzogb2JqZHVtcC5jOjM1OQorIzogb2JqZHVtcC5jOjM5MQogbXNnaWQgIlNlY3Rpb25zOlxuIgogbXNnc3RyICJTZWt0aW9uZXI6XG4iCiAKLSMKLSM6IG9iamR1bXAuYzozNjIKKyM6IG9iamR1bXAuYzozOTQgb2JqZHVtcC5jOjM5OAogbXNnaWQgIklkeCBOYW1lICAgICAgICAgIFNpemUgICAgICBWTUEgICAgICAgTE1BICAgICAgIEZpbGUgb2ZmICBBbGduIgogbXNnc3RyICJJZHggTmFtbiAgICAgICAgICBTdG9ybGVrICAgVk1BICAgICAgIExNQSAgICAgICBGaWxvZmZzICAgSnVzdCIKIAotIwotIzogb2JqZHVtcC5jOjM2NAorIzogb2JqZHVtcC5jOjQwMAogbXNnaWQgIklkeCBOYW1lICAgICAgICAgIFNpemUgICAgICBWTUEgICAgICAgICAgICAgICBMTUEgICAgICAgICAgICAgICBGaWxlIG9mZiAgQWxnbiIKIG1zZ3N0ciAiSWR4IE5hbW4gICAgICAgICAgU3RvcmxlayAgIFZNQSAgICAgICAgICAgICAgIExNQSAgICAgICAgICAgICAgIEZpbG9mZnMgICBKdXN0IgogCi0jCi0jOiBvYmpkdW1wLmM6MzY4CisjOiBvYmpkdW1wLmM6NDA0CiBtc2dpZCAiICBGbGFncyIKIG1zZ3N0ciAiICBGbGFnZ29yIgogCi0jCi0jOiBvYmpkdW1wLmM6NDE4CisjOiBvYmpkdW1wLmM6NDA2Cittc2dpZCAiICBQZyIKK21zZ3N0ciAiIFNpZCIKKworIzogb2JqZHVtcC5jOjQ1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgZHluYW1pYyBvYmplY3QiCiBtc2dzdHIgIiVzOiBpbnRlIGV0dCBkeW5hbWlza3Qgb2JqZWt0IgogCi0jCi0jOiBvYmpkdW1wLmM6NDM0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBObyBkeW5hbWljIHN5bWJvbHMiCi1tc2dzdHIgIiVzOiBJbmdhIGR5bmFtaXNrYSBzeW1ib2xlciIKLQotIwotIzogb2JqZHVtcC5jOjExMjQKKyM6IG9iamR1bXAuYzoxMTQ0CiBtc2dpZCAiT3V0IG9mIHZpcnR1YWwgbWVtb3J5IgotbXNnc3RyICJTbHV0IHDlIHZpcnR1ZWxsdCBtaW5uZSIKK21zZ3N0ciAiU2x1dCBww6UgdmlydHVlbGx0IG1pbm5lIgogCi0jCi0jOiBvYmpkdW1wLmM6MTU1MworIzogb2JqZHVtcC5jOjE1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2FuJ3QgdXNlIHN1cHBsaWVkIG1hY2hpbmUgJXMiCi1tc2dzdHIgIkthbiBpbnRlIGFuduRuZGEgZGVuIHRpbGxoYW5kYWjlbGxuYSBtYXNraW5lbiAlcyIKK21zZ3N0ciAiS2FuIGludGUgYW52w6RuZGEgZGVuIHRpbGxoYW5kYWjDpWxsbmEgbWFza2luZW4gJXMiCiAKLSMKLSM6IG9iamR1bXAuYzoxNTcxCisjOiBvYmpkdW1wLmM6MTU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4ndCBkaXNhc3NlbWJsZSBmb3IgYXJjaGl0ZWN0dXJlICVzXG4iCi1tc2dzdHIgIkthbiBpbnRlIGRpc2Fzc2VtYmxlcmEgZvZyIGFya2l0ZWt0dXIgJXNcbiIKK21zZ3N0ciAiS2FuIGludGUgZGlzYXNzZW1ibGVyYSBmw7ZyIGFya2l0ZWt0dXIgJXNcbiIKIAotIwotIzogb2JqZHVtcC5jOjE2NTMKKyM6IG9iamR1bXAuYzoxNjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpc2Fzc2VtYmx5IG9mIHNlY3Rpb24gJXM6XG4iCiBtc2dzdHIgIkRpc2Fzc2VtYmxlcmluZyBhdiBzZWt0aW9uICVzOlxuIgogCi0jCi0jOiBvYmpkdW1wLmM6MTgyOAorIzogb2JqZHVtcC5jOjE4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vICVzIHNlY3Rpb24gcHJlc2VudFxuIgpAQCAtMjQ2MSw0OCArMjI0NCw0MSBAQAogIkRldCBmaW5ucyBpbmdlbiAlcy1zZWt0aW9uXG4iCiAiXG4iCiAKLSMKLSM6IG9iamR1bXAuYzoxODM1CisjOiBvYmpkdW1wLmM6MTg1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbm8gJXMgc2VjdGlvbiIKIG1zZ3N0ciAiJXMgaGFyIGluZ2VuICVzLXNla3Rpb24iCiAKLSMKLSM6IG9iamR1bXAuYzoxODQ5CisjOiBvYmpkdW1wLmM6MTg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWFkaW5nICVzIHNlY3Rpb24gb2YgJXMgZmFpbGVkOiAlcyIKLW1zZ3N0ciAiTORzYSAlcy1zZWt0aW9uZW4gaSAlcyBtaXNzbHlja2FkZXM6ICVzIgorbXNnc3RyICJMeWNrYWRlcyBpbnRlIGzDpHNhICVzLXNla3Rpb25lbiBpICVzOiAlcyIKIAotIwotIzogb2JqZHVtcC5jOjE4NjEKKyM6IG9iamR1bXAuYzoxODgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlYWRpbmcgJXMgc2VjdGlvbiBvZiAlcyBmYWlsZWQ6ICVzXG4iCi1tc2dzdHIgIkzkc2EgJXMtc2VrdGlvbmVuIGkgJXMgbWlzc2x5Y2thZGVzOiAlc1xuIgorbXNnc3RyICJMeWNrYWRlcyBpbnRlIGzDpHNhICVzLXNla3Rpb25lbiBpICVzOiAlc1xuIgogCi0jCi0jOiBvYmpkdW1wLmM6MTkwNAorIzogb2JqZHVtcC5jOjE5MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvbnRlbnRzIG9mICVzIHNlY3Rpb246XG4iCiAiXG4iCiBtc2dzdHIgIiIKLSJJbm5laOVsbCBpICVzLXNla3Rpb25lbjpcbiIKKyJJbm5laMOlbGwgaSAlcy1zZWt0aW9uZW46XG4iCiAiXG4iCiAKLSMKLSM6IG9iamR1bXAuYzoyMDA0CisjOiBvYmpkdW1wLmM6MjAyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJhcmNoaXRlY3R1cmU6ICVzLCAiCiBtc2dzdHIgImFya2l0ZWt0dXI6ICVzLCAiCiAKLSMKLSM6IG9iamR1bXAuYzoyMDA3CisjOiBvYmpkdW1wLmM6MjAyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmbGFncyAweCUwOHg6XG4iCiBtc2dzdHIgImZsYWdnb3IgMHglMDh4OlxuIgogCi0jCi0jOiBvYmpkdW1wLmM6MjAyMAorIzogb2JqZHVtcC5jOjIwMzgKIG1zZ2lkICIiCiAiXG4iCiAic3RhcnQgYWRkcmVzcyAweCIKQEAgLTI1MTAsOCArMjI4Niw3IEBACiAiXG4iCiAic3RhcnRhZHJlc3MgMHgiCiAKLSMKLSM6IG9iamR1bXAuYzoyMDUyCisjOiBvYmpkdW1wLmM6MjA3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0yNTIwLDU1NiArMjI5NSw0NjAgQEAKICJcbiIKICIlczogICAgIGZpbGZvcm1hdCAlc1xuIgogCi0jCi0jOiBvYmpkdW1wLmM6MjA5NAorIzogb2JqZHVtcC5jOjIxMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHByaW50aW5nIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBmYWlsZWQiCi1tc2dzdHIgIiVzOiB2aXNhIGZlbHP2a25pbmdzaW5mb3JtYXRpb25lbiBtaXNzbHlja2FkZXMiCittc2dzdHIgIiVzOiBseWNrYWRlcyBpbnRlIHZpc2EgZmVsc8O2a25pbmdzaW5mb3JtYXRpb25lbiIKIAotIwotIzogb2JqZHVtcC5jOjIxNzEKKyM6IG9iamR1bXAuYzoyMTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkluIGFyY2hpdmUgJXM6XG4iCiBtc2dzdHIgIkkgYXJraXYgJXM6XG4iCiAKLSMKLSM6IG9iamR1bXAuYzoyMjIzCisjOiBvYmpkdW1wLmM6MjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb250ZW50cyBvZiBzZWN0aW9uICVzOlxuIgotbXNnc3RyICJJbm5laOVsbCBpICVzLXNla3Rpb25lbjpcbiIKK21zZ3N0ciAiSW5uZWjDpWxsIGkgJXMtc2VrdGlvbmVuOlxuIgogCi0jCi0jOiBvYmpkdW1wLmM6MjczNgotIywgYy1mb3JtYXQKLW1zZ2lkICJCRkQgaGVhZGVyIGZpbGUgdmVyc2lvbiAlc1xuIgotbXNnc3RyICJCRkQtaHV2dWRmaWwgdmVyc2lvbiAlc1xuIgorIzogb2JqZHVtcC5jOjIzNjkKK21zZ2lkICJubyBzeW1ib2xzXG4iCittc2dzdHIgImluZ2Egc3ltYm9sZXJcbiIKIAotIwotIzogb2JqZHVtcC5jOjI4MjUKKyM6IG9iamR1bXAuYzoyNzE4CiBtc2dpZCAidW5yZWNvZ25pemVkIC1FIG9wdGlvbiIKLW1zZ3N0ciAib2vkbmQgLUUtZmxhZ2dhIgorbXNnc3RyICJva8OkbmQgLUUtZmxhZ2dhIgogCi0jCi0jOiBvYmpkdW1wLmM6MjgzNgorIzogb2JqZHVtcC5jOjI3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIC0tZW5kaWFuIHR5cGUgYCVzJyIKLW1zZ3N0ciAib2vkbmQgLS1lbmRpYW4tdHlwIFwiJXNcIiIKK21zZ3N0ciAib2vDpG5kIC0tZW5kaWFuLXR5cCBcIiVzXCIiCiAKLSMKLSM6IHJkY29mZi5jOjIwNQorIzogcmRjb2ZmLmM6MjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhcnNlX2NvZmZfdHlwZTogQmFkIHR5cGUgY29kZSAweCV4IgogbXNnc3RyICJwYXJzZV9jb2ZmX3R5cGU6IEZlbGFrdGlnIHR5cGtvZCAweCV4IgogCi0jCi0jOiByZGNvZmYuYzo0MjMgcmRjb2ZmLmM6NTMxIHJkY29mZi5jOjczMAorIzogcmRjb2ZmLmM6NDI0IHJkY29mZi5jOjUzMiByZGNvZmYuYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmZkX2NvZmZfZ2V0X3N5bWVudCBmYWlsZWQ6ICVzIgogbXNnc3RyICJiZmRfY29mZl9nZXRfc3ltZW50IG1pc3NseWNrYWRlczogJXMiCiAKLSMKLSM6IHJkY29mZi5jOjQzOSByZGNvZmYuYzo3NTAKKyM6IHJkY29mZi5jOjQ0MCByZGNvZmYuYzo3NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmZkX2NvZmZfZ2V0X2F1eGVudCBmYWlsZWQ6ICVzIgogbXNnc3RyICJiZmRfY29mZl9nZXRfYXV4ZW50IG1pc3NseWNrYWRlczogJXMiCiAKLSMKLSM6IHJkY29mZi5jOjgxNworIzogcmRjb2ZmLmM6ODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsZDogLmJmIHdpdGhvdXQgcHJlY2VkaW5nIGZ1bmN0aW9uIgogbXNnc3RyICIlbGQ6IC5iZiBzYWtuYXIgaW5sZWRhbmRlIGZ1bmt0aW9uIgogCi0jCi0jOiByZGNvZmYuYzo4NjcKKyM6IHJkY29mZi5jOjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbGQ6IHVuZXhwZWN0ZWQgLmVmXG4iCi1tc2dzdHIgIiVsZDogb3bkbnRhZCAuZWZcbiIKK21zZ3N0ciAiJWxkOiBvdsOkbnRhZCAuZWZcbiIKIAotIwotIzogcmRkYmcuYzo4NworIzogcmRkYmcuYzo5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gcmVjb2duaXplZCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24iCi1tc2dzdHIgIiVzOiBpbmdlbiBr5G5kIGZlbHP2a25pbmdzaW5mb3JtYXRpb24iCittc2dzdHIgIiVzOiBpbmdlbiBrw6RuZCBmZWxzw7ZrbmluZ3NpbmZvcm1hdGlvbiIKIAotIwotIzogcmRkYmcuYzo0MTAKKyM6IHJkZGJnLmM6NDE1CiBtc2dpZCAiTGFzdCBzdGFicyBlbnRyaWVzIGJlZm9yZSBlcnJvcjpcbiIKLW1zZ3N0ciAiRGUgc2lzdGEgc3RhYnMtcG9zdGVybmEgaW5uYW4gZmVsZXQ6XG4iCittc2dzdHIgIkRlIHNpc3RhIHN0YWJzLXBvc3Rlcm5hIGbDtnJlIGZlbGV0OlxuIgogCi0jCi0jOiByZWFkZWxmLmM6MzE4CisjOiByZWFkZWxmLmM6NDU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBFcnJvcjogIgogbXNnc3RyICIlczogRmVsOiAiCiAKLSMKLSM6IHJlYWRlbGYuYzozMjkKKyM6IHJlYWRlbGYuYzo0NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFdhcm5pbmc6ICIKIG1zZ3N0ciAiJXM6IFZhcm5pbmc6ICIKIAotIwotIzogcmVhZGVsZi5jOjM1MQorIzogcmVhZGVsZi5jOjQ4OAogIywgYy1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gc2VlayB0byAleCBmb3IgJXNcbiIKLW1zZ3N0ciAiS2FuIGludGUgdXBwc/ZrYSAlMiRzIHDlICUxJHhcbiIKK21zZ2lkICJVbmFibGUgdG8gc2VlayB0byAweCV4IGZvciAlc1xuIgorbXNnc3RyICJLYW4gaW50ZSB1cHBzw7ZrYSAlMiRzIHDDpSAweCUxJHhcbiIKIAotIwotIzogcmVhZGVsZi5jOjM2MgorIzogcmVhZGVsZi5jOjQ5OQogIywgYy1mb3JtYXQKLW1zZ2lkICJPdXQgb2YgbWVtb3J5IGFsbG9jYXRpbmcgJWQgYnl0ZXMgZm9yICVzXG4iCi1tc2dzdHIgIlNsdXQgcOUgbWlubmUgdmlkIGFsbG9rZXJpbmcgYXYgJWQgYnl0ZSBm9nIgJXNcbiIKK21zZ2lkICJPdXQgb2YgbWVtb3J5IGFsbG9jYXRpbmcgMHgleCBieXRlcyBmb3IgJXNcbiIKK21zZ3N0ciAiU2x1dCBww6UgbWlubmUgdmlkIGFsbG9rZXJpbmcgYXYgMHgleCBieXRlIGbDtnIgJXNcbiIKIAotIwotIzogcmVhZGVsZi5jOjM3MAorIzogcmVhZGVsZi5jOjUwNwogIywgYy1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gcmVhZCBpbiAlZCBieXRlcyBvZiAlc1xuIgotbXNnc3RyICJLYW4gaW50ZSBs5HNhIGluICVkIGJ5dGUgZnLlbiAlc1xuIgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGluIDB4JXggYnl0ZXMgb2YgJXNcbiIKK21zZ3N0ciAiS2FuIGludGUgbMOkc2EgaW4gMHgleCBieXRlICVzXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo0MjMgcmVhZGVsZi5jOjU4MQorIzogcmVhZGVsZi5jOjU2MCByZWFkZWxmLmM6NjE0IHJlYWRlbGYuYzo3OTggcmVhZGVsZi5jOjgzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmhhbmRsZWQgZGF0YSBsZW5ndGg6ICVkXG4iCi1tc2dzdHIgIlN0b3JsZWsgcOUgZGF0YSBzb20gaW50ZSBrYW4gYmVoYW5kbGFzOiAlZFxuIgorbXNnc3RyICJTdG9ybGVrIHDDpSBkYXRhIHNvbSBpbnRlIGthbiBiZWhhbmRsYXM6ICVkXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo2NjAKKyM6IHJlYWRlbGYuYzo5MjQKIG1zZ2lkICJEb24ndCBrbm93IGFib3V0IHJlbG9jYXRpb25zIG9uIHRoaXMgbWFjaGluZSBhcmNoaXRlY3R1cmVcbiIKLW1zZ3N0ciAiVmV0IGludGUgaHVyIG1hbiBvbWxva2FsaXNlcmFyIHDlIGRlbiBo5HIgbWFza2luYXJraXRla3R1cmVuXG4iCittc2dzdHIgIlZldCBpbmdldCBvbSByZWxva2VyaW5nIHDDpSBkZW5uYSBtYXNraW5hcmtpdGVrdHVyXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo2ODIgcmVhZGVsZi5jOjcxMSByZWFkZWxmLmM6NzU3IHJlYWRlbGYuYzo3ODQKKyM6IHJlYWRlbGYuYzo5NDYgcmVhZGVsZi5jOjk3NSByZWFkZWxmLmM6MTAyMSByZWFkZWxmLmM6MTA0OQogbXNnaWQgInJlbG9jcyIKLW1zZ3N0ciAib21sb2thbGlzZXJpbmdhciIKK21zZ3N0ciAicmVsb2tlcmluZ2FyIgogCi0jCi0jOiByZWFkZWxmLmM6NjkzIHJlYWRlbGYuYzo3MjIgcmVhZGVsZi5jOjc2NyByZWFkZWxmLmM6Nzk0CisjOiByZWFkZWxmLmM6OTU3IHJlYWRlbGYuYzo5ODYgcmVhZGVsZi5jOjEwMzEgcmVhZGVsZi5jOjEwNTkKIG1zZ2lkICJvdXQgb2YgbWVtb3J5IHBhcnNpbmcgcmVsb2NzIgotbXNnc3RyICJzbHV0IHDlIG1pbm5lIHZpZCB0b2xrbmluZyBhdiBvbWxva2FsaXNlcmluZ2FyIgorbXNnc3RyICJzbHV0IHDDpSBtaW5uZSB2aWQgdG9sa25pbmcgYXYgcmVsb2tlcmluZ2FyIgogCi0jCi0jOiByZWFkZWxmLmM6ODQ1Ci1tc2dpZCAiIE9mZnNldCAgICAgSW5mbyAgICBUeXBlICAgICAgICAgICAgU3ltYm9sJ3MgVmFsdWUgIFN5bWJvbCdzIE5hbWUgICAgICAgICAgQWRkZW5kXG4iCi1tc2dzdHIgIiBPZmZzZXQgICAgIEluZm8gICAgVHlwICAgICAgICAgICAgIFN5bWJvbHbkcmRlICAgICBTeW1ib2xuYW1uICAgICAgICAgICAgIFRpbGzkZ2dcbiIKKyM6IHJlYWRlbGYuYzoxMTEyCittc2dpZCAiIE9mZnNldCAgICAgSW5mbyAgICBUeXBlICAgICAgICAgICAgICAgIFN5bS4gVmFsdWUgIFN5bWJvbCdzIE5hbWUgKyBBZGRlbmRcbiIKK21zZ3N0ciAiIE9mZnNldCAgICAgSW5mbyAgICBUeXAgICAgICAgICAgICAgICAgIFN5bWJvbHbDpHJkZSBTeW1ib2xuYW1uICsgVGlsbMOkZ2dcbiIKIAotIwotIzogcmVhZGVsZi5jOjg0OAotbXNnaWQgIiBPZmZzZXQgICAgIEluZm8gICAgVHlwZSAgICAgICAgICAgIFN5bWJvbCdzIFZhbHVlICBTeW1ib2wncyBOYW1lXG4iCi1tc2dzdHIgIiBPZmZzZXQgICAgIEluZm8gICAgVHlwICAgICAgICAgICAgIFN5bWJvbHbkcmRlICAgICBTeW1ib2xuYW1uXG4iCisjOiByZWFkZWxmLmM6MTExNAorbXNnaWQgIiBPZmZzZXQgICAgIEluZm8gICAgVHlwZSAgICAgICAgICAgIFN5bS5WYWx1ZSAgU3ltLiBOYW1lICsgQWRkZW5kXG4iCittc2dzdHIgIiBPZmZzZXQgICAgIEluZm8gICAgVHlwICAgICAgICAgICAgIFN5bS52w6RyZGUgIFN5bWJvbG5hbW4gKyBUaWxsw6RnZ1xuIgogCi0jCi0jOiByZWFkZWxmLmM6ODU0Ci1tc2dpZCAiICAgIE9mZnNldCAgICAgICAgICAgICBJbmZvICAgICAgICAgICAgVHlwZSAgICAgICAgICAgICAgIFN5bWJvbCdzIFZhbHVlICAgU3ltYm9sJ3MgTmFtZSAgICAgICAgICAgQWRkZW5kXG4iCi1tc2dzdHIgIiAgICBPZmZzZXQgICAgICAgICAgICAgSW5mbyAgICAgICAgICAgIFR5cCAgICAgICAgICAgICAgICBTeW1ib2x25HJkZSAgICAgIFN5bWJvbG5hbW4gICAgICAgICAgICAgIFRpbGzkZ2dcbiIKKyM6IHJlYWRlbGYuYzoxMTE5Cittc2dpZCAiIE9mZnNldCAgICAgSW5mbyAgICBUeXBlICAgICAgICAgICAgICAgIFN5bS4gVmFsdWUgIFN5bWJvbCdzIE5hbWVcbiIKK21zZ3N0ciAiIE9mZnNldCAgICAgSW5mbyAgICBUeXAgICAgICAgICAgICAgICAgIFN5bS52w6RyZGUgICBTeW1ib2xuYW1uXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo4NTcKLW1zZ2lkICIgICAgT2Zmc2V0ICAgICAgICAgICAgIEluZm8gICAgICAgICAgICBUeXBlICAgICAgICAgICAgICAgU3ltYm9sJ3MgVmFsdWUgICBTeW1ib2wncyBOYW1lXG4iCi1tc2dzdHIgIiAgICBPZmZzZXQgICAgICAgICAgICAgSW5mbyAgICAgICAgICAgIFR5cCAgICAgICAgICAgICAgICBTeW1ib2x25HJkZSAgICAgIFN5bWJvbG5hbW5cbiIKKyM6IHJlYWRlbGYuYzoxMTIxCittc2dpZCAiIE9mZnNldCAgICAgSW5mbyAgICBUeXBlICAgICAgICAgICAgU3ltLlZhbHVlICBTeW0uIE5hbWVcbiIKK21zZ3N0ciAiIE9mZnNldCAgICAgSW5mbyAgICBUeXAgICAgICAgICAgICAgU3ltLnbDpHJkZSAgU3ltYm9sbmFtblxuIgogCi0jCi0jOiByZWFkZWxmLmM6MTA2MSByZWFkZWxmLmM6MTA2MworIzogcmVhZGVsZi5jOjExMjkKK21zZ2lkICIgICAgT2Zmc2V0ICAgICAgICAgICAgIEluZm8gICAgICAgICAgICAgVHlwZSAgICAgICAgICAgICAgIFN5bWJvbCdzIFZhbHVlICBTeW1ib2wncyBOYW1lICsgQWRkZW5kXG4iCittc2dzdHIgIiAgICBPZmZzZXQgICAgICAgICAgICAgSW5mbyAgICAgICAgICAgICBUeXAgICAgICAgICAgICAgICAgU3ltYm9sdsOkcmRlICAgICBTeW1ib2xuYW1uICsgVGlsbMOkZ2dcbiIKKworIzogcmVhZGVsZi5jOjExMzEKK21zZ2lkICIgIE9mZnNldCAgICAgICAgICBJbmZvICAgICAgICAgICBUeXBlICAgICAgICAgICBTeW0uIFZhbHVlICAgIFN5bS4gTmFtZSArIEFkZGVuZFxuIgorbXNnc3RyICIgIE9mZnNldCAgICAgICAgICBJbmZvICAgICAgICAgICBUeXAgICAgICAgICAgICBTeW1ib2x2w6RyZGUgICBTeW1ib2xuYW1uICsgVGlsbMOkZ2dcbiIKKworIzogcmVhZGVsZi5jOjExMzYKK21zZ2lkICIgICAgT2Zmc2V0ICAgICAgICAgICAgIEluZm8gICAgICAgICAgICAgVHlwZSAgICAgICAgICAgICAgIFN5bWJvbCdzIFZhbHVlICBTeW1ib2wncyBOYW1lXG4iCittc2dzdHIgIiAgICBPZmZzZXQgICAgICAgICAgICAgSW5mbyAgICAgICAgICAgICBUeXAgICAgICAgICAgICAgICAgU3ltYm9sdsOkcmRlICAgICBTeW1ib2xuYW1uXG4iCisKKyM6IHJlYWRlbGYuYzoxMTM4Cittc2dpZCAiICBPZmZzZXQgICAgICAgICAgSW5mbyAgICAgICAgICAgVHlwZSAgICAgICAgICAgU3ltLiBWYWx1ZSAgICBTeW0uIE5hbWVcbiIKK21zZ3N0ciAiICBPZmZzZXQgICAgICAgICAgSW5mbyAgICAgICAgICAgVHlwICAgICAgICAgICAgU3ltYm9sdsOkcmRlICAgU3ltYm9sbmFtblxuIgorCisjOiByZWFkZWxmLmM6MTQxNCByZWFkZWxmLmM6MTQxNiByZWFkZWxmLmM6MTQ5MiByZWFkZWxmLmM6MTQ5NCByZWFkZWxmLmM6MTUwMworIzogcmVhZGVsZi5jOjE1MDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pc2VkOiAlLTdseCIKLW1zZ3N0ciAib2vkbmQ6ICUtN2x4IgorbXNnaWQgInVucmVjb2duaXplZDogJS03bHgiCittc2dzdHIgIm9rw6RuZDogJS03bHgiCiAKLSMKLSM6IHJlYWRlbGYuYzoxMDg1CisjOiByZWFkZWxmLmM6MTQ2NgogIywgYy1mb3JtYXQKIG1zZ2lkICI8c3RyaW5nIHRhYmxlIGluZGV4ICUzbGQ+IgotbXNnc3RyICI8c3Ry5G5ndGFiZWxsc2luZGV4ICAlM2xkPiIKK21zZ3N0ciAiPHN0csOkbmd0YWJlbGxzaW5kZXggICUzbGQ+IgogCi0jCi0jOiByZWFkZWxmLmM6MTMxNQorIzogcmVhZGVsZi5jOjE3NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJvY2Vzc29yIFNwZWNpZmljOiAlbHgiCiBtc2dzdHIgInByb2Nlc3NvcnNwZWNpZmlrOiAlbHgiCiAKLSMKLSM6IHJlYWRlbGYuYzoxMzM0CisjOiByZWFkZWxmLmM6MTc2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJPcGVyYXRpbmcgU3lzdGVtIHNwZWNpZmljOiAlbHgiCiBtc2dzdHIgIm9wZXJhdGl2c3lzdGVtc3NwZWNpZmlrOiAlbHgiCiAKLSMKLSM6IHJlYWRlbGYuYzoxMzM3IHJlYWRlbGYuYzoxOTYxCisjOiByZWFkZWxmLmM6MTc2NSByZWFkZWxmLmM6MjQxNwogIywgYy1mb3JtYXQKIG1zZ2lkICI8dW5rbm93bj46ICVseCIKLW1zZ3N0ciAiPG9r5G5kPjogJWx4IgorbXNnc3RyICI8b2vDpG5kPjogJWx4IgogCi0jCi0jOiByZWFkZWxmLmM6MTM1MQorIzogcmVhZGVsZi5jOjE3NzkKIG1zZ2lkICJOT05FIChOb25lKSIKIG1zZ3N0ciAiTk9ORSAoaW5nZW4pIgogCi0jCi0jOiByZWFkZWxmLmM6MTM1MgorIzogcmVhZGVsZi5jOjE3ODAKIG1zZ2lkICJSRUwgKFJlbG9jYXRhYmxlIGZpbGUpIgotbXNnc3RyICJSRUwgKG9tbG9rYWxpc2VyaW5nc2JhciBmaWwpIgorbXNnc3RyICJSRUwgKHJlbG9rZXJpbmdzYmFyIGZpbCkiCiAKLSMKLSM6IHJlYWRlbGYuYzoxMzUzCisjOiByZWFkZWxmLmM6MTc4MQogbXNnaWQgIkVYRUMgKEV4ZWN1dGFibGUgZmlsZSkiCiBtc2dzdHIgIkVYRUMgKGV4ZWt2ZXJiYXIgZmlsKSIKIAotIwotIzogcmVhZGVsZi5jOjEzNTQKKyM6IHJlYWRlbGYuYzoxNzgyCiBtc2dpZCAiRFlOIChTaGFyZWQgb2JqZWN0IGZpbGUpIgogbXNnc3RyICJEWU4gKGRlbGFkIG9iamVrdGZpbCkiCiAKLSMKLSM6IHJlYWRlbGYuYzoxMzU1CisjOiByZWFkZWxmLmM6MTc4MwogbXNnaWQgIkNPUkUgKENvcmUgZmlsZSkiCiBtc2dzdHIgIkNPUkUgKG1pbm5lc2ZpbCkiCiAKLSMKLSM6IHJlYWRlbGYuYzoxMzU5CisjOiByZWFkZWxmLmM6MTc4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJQcm9jZXNzb3IgU3BlY2lmaWM6ICgleCkiCiBtc2dzdHIgInByb2Nlc3NvcnNwZWNpZmlrOiAoJXgpIgogCi0jCi0jOiByZWFkZWxmLmM6MTM2MQorIzogcmVhZGVsZi5jOjE3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiT1MgU3BlY2lmaWM6ICgleCkiCiBtc2dzdHIgIk9TLXNwZWNpZmlrOiAoJXgpIgogCi0jCi0jOiByZWFkZWxmLmM6MTM2MyByZWFkZWxmLmM6MTQ2MCByZWFkZWxmLmM6MjExMgorIzogcmVhZGVsZi5jOjE3OTEgcmVhZGVsZi5jOjE4OTggcmVhZGVsZi5jOjI1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiPHVua25vd24+OiAleCIKLW1zZ3N0ciAiPG9r5G5kPjogJXgiCittc2dzdHIgIjxva8OkbmQ+OiAleCIKIAotIwotIzogcmVhZGVsZi5jOjEzNzYKKyM6IHJlYWRlbGYuYzoxODA0CiBtc2dpZCAiTm9uZSIKIG1zZ3N0ciAiaW5nZW4iCiAKLSMKLSM6IHJlYWRlbGYuYzoyMTUyCi1tc2dpZCAiVXNhZ2U6IHJlYWRlbGYge29wdGlvbnN9IGVsZi1maWxlKHMpXG4iCi1tc2dzdHIgIkFuduRuZG5pbmc6IHJlYWRlbGYge2ZsYWdnb3J9IGVsZi1maWwoZXIpXG4iCisjOiByZWFkZWxmLmM6MjYxNgorbXNnaWQgIlVzYWdlOiByZWFkZWxmIDxvcHRpb24ocyk+IGVsZi1maWxlKHMpXG4iCittc2dzdHIgIkFudsOkbmRuaW5nOiByZWFkZWxmIDxmbGFnZ29yPiBlbGYtZmlsKGVyKVxuIgogCi0jCi0jOiByZWFkZWxmLmM6MjE1MwotbXNnaWQgIiAgT3B0aW9ucyBhcmU6XG4iCi1tc2dzdHIgIiAgRmxhZ2dvcm5hIORyOlxuIgorIzogcmVhZGVsZi5jOjI2MTcKK21zZ2lkICIgRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29udGVudHMgb2YgRUxGIGZvcm1hdCBmaWxlc1xuIgorbXNnc3RyICIgVmlzYSBpbmZvcm1hdGlvbiBvbSBpbm5laMOlbGxldCBpIGZpbGVyIGkgRUxGLWZvcm1hdFxuIgogCi0jCi0jOiByZWFkZWxmLmM6MjE1NAotbXNnaWQgIiAgLWEgb3IgLS1hbGwgICAgICAgICAgICAgICBFcXVpdmFsZW50IHRvOiAtaCAtbCAtUyAtcyAtciAtZCAtViAtQSAtSVxuIgotbXNnc3RyICIgIC1hIGVsbGVyIC0tYWxsICAgICAgICAgICAgU2FtbWEgc29tOiAtaCAtbCAtUyAtcyAtciAtZCAtViAtQSAtSVxuIgotCi0jCi0jOiByZWFkZWxmLmM6MjE1NQotbXNnaWQgIiAgLWggb3IgLS1maWxlLWhlYWRlciAgICAgICBEaXNwbGF5IHRoZSBFTEYgZmlsZSBoZWFkZXJcbiIKLW1zZ3N0ciAiICAtaCBlbGxlciAtLWZpbGUtaGVhZGVyICAgIFZpc2EgRUxGLWZpbGVucyBodXZ1ZFxuIgotCi0jCi0jOiByZWFkZWxmLmM6MjE1NgotbXNnaWQgIiAgLWwgb3IgLS1wcm9ncmFtLWhlYWRlcnMgb3IgLS1zZWdtZW50c1xuIgotbXNnc3RyICIgIC1sIGVsbGVyIC0tcHJvZ3JhbS1oZWFkZXJzIGVsbGVyIC0tc2VnbWVudHNcbiIKLQotIwotIzogcmVhZGVsZi5jOjIxNTcKLW1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSB0aGUgcHJvZ3JhbSBoZWFkZXJzXG4iCi1tc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaXNhIHByb2dyYW1odXZ1ZGVuYVxuIgotCi0jCi0jOiByZWFkZWxmLmM6MjE1OAotbXNnaWQgIiAgLVMgb3IgLS1zZWN0aW9uLWhlYWRlcnMgb3IgLS1zZWN0aW9uc1xuIgotbXNnc3RyICIgIC1TIGVsbGVyIC0tc2VjdGlvbi1oZWFkZXJzIGVsbGVyIC0tc2VjdGlvbnNcbiIKLQotIwotIzogcmVhZGVsZi5jOjIxNTkKLW1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSB0aGUgc2VjdGlvbnMnIGhlYWRlclxuIgotbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlzYSBzZWt0aW9uZXJuYXMgaHV2dWRcbiIKLQotIwotIzogcmVhZGVsZi5jOjIxNjAKLW1zZ2lkICIgIC1lIG9yIC0taGVhZGVycyAgICAgICAgICAgRXF1aXZhbGVudCB0bzogLWggLWwgLVNcbiIKLW1zZ3N0ciAiICAtZSBlbGxlciAtLWhlYWRlcnMgICAgICAgIFNhbW1hIHNvbTogLWggLWwgLVNcbiIKLQotIwotIzogcmVhZGVsZi5jOjIxNjEKLW1zZ2lkICIgIC1zIG9yIC0tc3ltcyBvciAtLXN5bWJvbHMgRGlzcGxheSB0aGUgc3ltYm9sIHRhYmxlXG4iCisjOiByZWFkZWxmLmM6MjYxOAorbXNnaWQgIiIKKyIgT3B0aW9ucyBhcmU6XG4iCisiICAtYSAtLWFsbCAgICAgICAgICAgICAgIEVxdWl2YWxlbnQgdG86IC1oIC1sIC1TIC1zIC1yIC1kIC1WIC1BIC1JXG4iCisiICAtaCAtLWZpbGUtaGVhZGVyICAgICAgIERpc3BsYXkgdGhlIEVMRiBmaWxlIGhlYWRlclxuIgorIiAgLWwgLS1wcm9ncmFtLWhlYWRlcnMgICBEaXNwbGF5IHRoZSBwcm9ncmFtIGhlYWRlcnNcbiIKKyIgICAgIC0tc2VnbWVudHMgICAgICAgICAgQW4gYWxpYXMgZm9yIC0tcHJvZ3JhbS1oZWFkZXJzXG4iCisiICAtUyAtLXNlY3Rpb24taGVhZGVycyAgIERpc3BsYXkgdGhlIHNlY3Rpb25zJyBoZWFkZXJcbiIKKyIgICAgIC0tc2VjdGlvbnMgICAgICAgICAgQW4gYWxpYXMgZm9yIC0tc2VjdGlvbi1oZWFkZXJzXG4iCisiICAtZSAtLWhlYWRlcnMgICAgICAgICAgIEVxdWl2YWxlbnQgdG86IC1oIC1sIC1TXG4iCisiICAtcyAtLXN5bXMgICAgICAgICAgICAgIERpc3BsYXkgdGhlIHN5bWJvbCB0YWJsZVxuIgorIiAgICAgIC0tc3ltYm9scyAgICAgICAgICBBbiBhbGlhcyBmb3IgLS1zeW1zXG4iCisiICAtbiAtLW5vdGVzICAgICAgICAgICAgIERpc3BsYXkgdGhlIGNvcmUgbm90ZXMgKGlmIHByZXNlbnQpXG4iCisiICAtciAtLXJlbG9jcyAgICAgICAgICAgIERpc3BsYXkgdGhlIHJlbG9jYXRpb25zIChpZiBwcmVzZW50KVxuIgorIiAgLXUgLS11bndpbmQgICAgICAgICAgICBEaXNwbGF5IHRoZSB1bndpbmQgaW5mbyAoaWYgcHJlc2VudClcbiIKKyIgIC1kIC0tZHluYW1pYyAgICAgICAgICAgRGlzcGxheSB0aGUgZHluYW1pYyBzZWdtZW50IChpZiBwcmVzZW50KVxuIgorIiAgLVYgLS12ZXJzaW9uLWluZm8gICAgICBEaXNwbGF5IHRoZSB2ZXJzaW9uIHNlY3Rpb25zIChpZiBwcmVzZW50KVxuIgorIiAgLUEgLS1hcmNoLXNwZWNpZmljICAgICBEaXNwbGF5IGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBpbmZvcm1hdGlvbiAoaWYgYW55KS5cbiIKKyIgIC1EIC0tdXNlLWR5bmFtaWMgICAgICAgVXNlIHRoZSBkeW5hbWljIHNlY3Rpb24gaW5mbyB3aGVuIGRpc3BsYXlpbmcgc3ltYm9sc1xuIgorIiAgLXggLS1oZXgtZHVtcD08bnVtYmVyPiBEdW1wIHRoZSBjb250ZW50cyBvZiBzZWN0aW9uIDxudW1iZXI+XG4iCisiICAtd1tsaWFwcm1mRnNvXSBvclxuIgorIiAgLS1kZWJ1Zy1kdW1wWz1saW5lLD1pbmZvLD1hYmJyZXYsPXB1Ym5hbWVzLD1yYW5nZXMsPW1hY3JvLD1mcmFtZXMsPXN0ciw9bG9jXVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoZSBjb250ZW50cyBvZiBEV0FSRjIgZGVidWcgc2VjdGlvbnNcbiIKIG1zZ3N0ciAiIgotIiAgLXMgZWxsZXIgLS1zeW1zIGVsbGVyIC0tc3ltYm9sc1xuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaXNhIHN5bWJvbHRhYmVsbGVuXG4iCisiIEZsYWdnb3Igw6RyOlxuIgorIiAgLWEgLS1hbGwgICAgICAgICAgICAgICBTYW1tYSBzb206IC1oIC1sIC1TIC1zIC1yIC1kIC1WIC1BIC1JXG4iCisiICAtaCAtLWZpbGUtaGVhZGVyICAgICAgIFZpc2EgRUxGLWZpbGVucyBodXZ1ZFxuIgorIiAgLWwgLS1wcm9ncmFtLWhlYWRlcnMgICBWaXNhIHByb2dyYW1odXZ1ZGVuXG4iCisiICAgICAtLXNlZ21lbnRzICAgICAgICAgIFN5bm9ueW0gZsO2ciAtLXByb2dyYW0taGVhZGVyc1xuIgorIiAgLVMgLS1zZWN0aW9uLWhlYWRlcnMgICBWaXNhIHNla3Rpb25lcm5hcyBodXZ1ZGVuXG4iCisiICAgICAtLXNlY3Rpb25zICAgICAgICAgIFN5bm9ueW0gZsO2ciAtLXNlY3Rpb24taGVhZGVyc1xuIgorIiAgLWUgLS1oZWFkZXJzICAgICAgICAgICBTYW1tYSBzb206IC1oIC1sIC1TXG4iCisiICAtcyAtLXN5bXMgICAgICAgICAgICAgIFZpc2Egc3ltYm9sdGFiZWxsZW5cbiIKKyIgICAgICAtLXN5bWJvbHMgICAgICAgICAgU3lub255bSBmw7ZyIC0tc3ltc1xuIgorIiAgLW4gLS1ub3RlcyAgICAgICAgICAgICBWaXNhIGtvbW1lbnRhcmVyIGZyw6VuIG1pbm5lc3V0c2tyaWZ0ZW4gKG9tIGRlIGZpbm5zKVxuIgorIiAgLXIgLS1yZWxvY3MgICAgICAgICAgICBWaXNhIHJlbG9rZXJpbmdzaW5mb3JtYXRpb25lbiAob20gZGVuIGZpbm5zKVxuIgorIiAgLXUgLS11bndpbmQgICAgICAgICAgICBWaXNhIHRpbGxiYWthcnVsbG5pbmdzaW5mb3JtYXRpb25lbiAob20gZGVuIGZpbm5zKVxuIgorIiAgLWQgLS1keW5hbWljICAgICAgICAgICBWaXNhIGRldCBkeW5hbWlza2Egc2VnbWVudGV0IChvbSBkZXQgZmlubnMpXG4iCisiICAtViAtLXZlcnNpb24taW5mbyAgICAgIFZpc2EgdmVyc2lvbnNzZWt0aW9uZXIgKG9tIGRlIGZpbm5zKVxuIgorIiAgLUEgLS1hcmNoLXNwZWNpZmljICAgICBWaXNhIGFya2l0ZWt0dXJzcGVjaWZpayBpbmZvcm1hdGlvbiAob20gZGVuIGZpbm5zKVxuIgorIiAgLUQgLS11c2UtZHluYW1pYyAgICAgICBBbnbDpG5kIGRlbiBkeW5hbWlza2Egc2VrdGlvbmVuIGbDtnIgYXR0IHZpc2Egc3ltYm9sZXJcbiIKKyIgIC14IC0taGV4LWR1bXA9PG51bW1lcj4gVmlzYSBpbm5laMOlbGxldCBpIHNla3Rpb24gPG51bW1lcj5cbiIKKyIgIC13W2xpYXBybWZGc29dIGVsbGVyXG4iCisiICAtLWRlYnVnLWR1bXBbPWxpbmUsPWluZm8sPWFiYnJldiw9cHVibmFtZXMsPXJhbmdlcyw9bWFjcm8sPWZyYW1lcyw9c3RyLD1sb2NdXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIFZpc2EgaW5uZWjDpWxsZXQgaSBEV0FSRjItZmVsc8O2a25pbmdzc2VrdGlvbmVyXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzoyMTYyCi1tc2dpZCAiICAtbiBvciAtLW5vdGVzICAgICAgICAgICAgIERpc3BsYXkgdGhlIGNvcmUgbm90ZXMgKGlmIHByZXNlbnQpXG4iCi1tc2dzdHIgIiAgLW4gZWxsZXIgLS1ub3RlcyAgICAgICAgICBWaXNhIGtvbW1lbnRhcmVyIGZy5W4gbWlubmVzdXRza3JpZnRlbiAob20gZGUgZmlubnMpXG4iCisjOiByZWFkZWxmLmM6MjY0MAorbXNnaWQgIiIKKyIgIC1pIC0taW5zdHJ1Y3Rpb24tZHVtcD08bnVtYmVyPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBEaXNhc3NlbWJsZSB0aGUgY29udGVudHMgb2Ygc2VjdGlvbiA8bnVtYmVyPlxuIgorbXNnc3RyICIiCisiICAtaSAtLWluc3RydWN0aW9uLWR1bXA9PG51bW1lcj5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgRGlzYXNzZW1ibGVyYSBpbm5laMOlbGxldCBpIHNla3Rpb24gPG51bW1lcj5cbiIKIAotIwotIzogcmVhZGVsZi5jOjIxNjMKLW1zZ2lkICIgIC1yIG9yIC0tcmVsb2NzICAgICAgICAgICAgRGlzcGxheSB0aGUgcmVsb2NhdGlvbnMgKGlmIHByZXNlbnQpXG4iCi1tc2dzdHIgIiAgLXIgZWxsZXIgLS1yZWxvY3MgICAgICAgICBWaXNhIG9tbG9rYWxpc2VyaW5nc2luZm9ybWF0aW9uZW4gKG9tIGRlbiBmaW5ucylcbiIKKyM6IHJlYWRlbGYuYzoyNjQ0Cittc2dpZCAiIgorIiAgLUkgLS1oaXN0b2dyYW0gICAgICAgICBEaXNwbGF5IGhpc3RvZ3JhbSBvZiBidWNrZXQgbGlzdCBsZW5ndGhzXG4iCisiICAtVyAtLXdpZGUgICAgICAgICAgICAgIEFsbG93IG91dHB1dCB3aWR0aCB0byBleGNlZWQgODAgY2hhcmFjdGVyc1xuIgorIiAgLUggLS1oZWxwICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgaW5mb3JtYXRpb25cbiIKKyIgIC12IC0tdmVyc2lvbiAgICAgICAgICAgRGlzcGxheSB0aGUgdmVyc2lvbiBudW1iZXIgb2YgcmVhZGVsZlxuIgorbXNnc3RyICIiCisiICAtSSAtLWhpc3RvZ3JhbSAgICAgICAgIFZpc2EgZXR0IGhpc3RvZ3JhbSDDtnZlciBoaW5rYXJuYXMgbGlzdGzDpG5nZGVyXG4iCisiICAtVyAtLXdpZGUgICAgICAgICAgICAgIFRpbGzDpXQgdXRza3JpZnQgYnJlZGFyZSDDpG4gODAgdGVja2VuXG4iCisiICAtSCAtLWhlbHAgICAgICAgICAgICAgIFZpc2EgZGVubmEgaGrDpGxwXG4iCisiICAtdiAtLXZlcnNpb24gICAgICAgICAgIFZpc2EgdmVyc2lvbnNpbmZvcm1hdGlvbiBmw7ZyIHJlYWRlbGZcbiIKIAotIwotIzogcmVhZGVsZi5jOjIxNjQKLW1zZ2lkICIgIC11IG9yIC0tdW53aW5kICAgICAgICAgICAgRGlzcGxheSB0aGUgdW53aW5kIGluZm8gKGlmIHByZXNlbnQpXG4iCi1tc2dzdHIgIiAgLXUgZWxsZXIgLS11bndpbmQgICAgICAgICBWaXNhIHRpbGxiYWthcnVsbG5pbmdzaW5mb3JtYXRpb24gKG9tIGRlbiBmaW5ucylcbiIKLQotIwotIzogcmVhZGVsZi5jOjIxNjUKLW1zZ2lkICIgIC1kIG9yIC0tZHluYW1pYyAgICAgICAgICAgRGlzcGxheSB0aGUgZHluYW1pYyBzZWdtZW50IChpZiBwcmVzZW50KVxuIgotbXNnc3RyICIgIC1kIGVsbGVyIC0tZHluYW1pYyAgICAgICAgVmlzYSBkZXQgZHluYW1pc2thIHNlZ21lbnRldCAob20gZGV0IGZpbm5zKVxuIgotCi0jCi0jOiByZWFkZWxmLmM6MjE2NgotbXNnaWQgIiAgLVYgb3IgLS12ZXJzaW9uLWluZm8gICAgICBEaXNwbGF5IHRoZSB2ZXJzaW9uIHNlY3Rpb25zIChpZiBwcmVzZW50KVxuIgotbXNnc3RyICIgIC1WIGVsbGVyIC0tdmVyc2lvbi1pbmZvICAgVmlzYSB2ZXJzaW9uc3Nla3Rpb25lbiAob20gZGVuIGZpbm5zKVxuIgotCi0jCi0jOiByZWFkZWxmLmM6MjE2NwotbXNnaWQgIiAgLUEgb3IgLS1hcmNoLXNwZWNpZmljICAgICBEaXNwbGF5IGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBpbmZvcm1hdGlvbiAoaWYgYW55KS5cbiIKLW1zZ3N0ciAiICAtQSBlbGxlciAtLWFyY2gtc3BlY2lmaWMgIFZpc2EgYXJraXRla3R1cnNwZWNpZmlrIGluZm9ybWF0aW9uIChvbSBkZW4gZmlubnMpXG4iCi0KLSMKLSM6IHJlYWRlbGYuYzoyMTY4Ci1tc2dpZCAiICAtRCBvciAtLXVzZS1keW5hbWljICAgICAgIFVzZSB0aGUgZHluYW1pYyBzZWN0aW9uIGluZm8gd2hlbiBkaXNwbGF5aW5nIHN5bWJvbHNcbiIKLW1zZ3N0ciAiICAtRCBlbGxlciAtLXVzZS1keW5hbWljICAgIEFuduRuZCBkZW4gZHluYW1pc2thIHNla3Rpb25lbiBm9nIgYXR0IHZpc2Egc3ltYm9sZXJcbiIKLQotIwotIzogcmVhZGVsZi5jOjIxNjkKLW1zZ2lkICIgIC14IDxudW1iZXI+IG9yIC0taGV4LWR1bXA9PG51bWJlcj5cbiIKLW1zZ3N0ciAiICAteCA8bnI+IGVsbGVyIC0taGV4LWR1bXA9PG5yPlxuIgotCi0jCi0jOiByZWFkZWxmLmM6MjE3MAotbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEdW1wIHRoZSBjb250ZW50cyBvZiBzZWN0aW9uIDxudW1iZXI+XG4iCi1tc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaXNhIGlubmVo5WxsZXQgaSBzZWt0aW9uIDxucj5cbiIKLQotIwotIzogcmVhZGVsZi5jOjIxNzEKLW1zZ2lkICIgIC13W2xpYXBybWZzXSBvciAtLWRlYnVnLWR1bXBbPWxpbmUsPWluZm8sPWFiYnJldiw9cHVibmFtZXMsPXJhbmdlcyw9bWFjcm8sPWZyYW1lcyw9c3RyXVxuIgotbXNnc3RyICIgIC13W2xpYXBybWZzXSBlbGxlciAtLWRlYnVnLWR1bXBbPWxpbmUsPWluZm8sPWFiYnJldiw9cHVibmFtZXMsPXJhbmdlcyw9bWFjcm8sPWZyYW1lcyw9c3RyXVxuIgotCi0jCi0jOiByZWFkZWxmLmM6MjE3MgotbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoZSBjb250ZW50cyBvZiBEV0FSRjIgZGVidWcgc2VjdGlvbnNcbiIKLW1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpc2EgaW5uZWjlbGxldCBpIERXQVJGMi1mZWxz9mtuaW5nc3Nla3Rpb25lclxuIgotCi0jCi0jOiByZWFkZWxmLmM6MjE3NAotbXNnaWQgIiAgLWkgPG51bWJlcj4gb3IgLS1pbnN0cnVjdGlvbi1kdW1wPTxudW1iZXI+XG4iCi1tc2dzdHIgIiAgLWkgPG5yPiBlbGxlciAtLWluc3RydWN0aW9uLWR1bXA9PG5yPlxuIgotCi0jCi0jOiByZWFkZWxmLmM6MjE3NQotbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXNhc3NlbWJsZSB0aGUgY29udGVudHMgb2Ygc2VjdGlvbiA8bnVtYmVyPlxuIgotbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzYXNzZW1ibGVyYSBpbm5laOVsbGV0IGkgc2VrdGlvbiA8bnI+XG4iCi0KLSMKLSM6IHJlYWRlbGYuYzoyMTc3Ci1tc2dpZCAiICAtSSBvciAtLWhpc3RvZ3JhbSAgICAgICAgIERpc3BsYXkgaGlzdG9ncmFtIG9mIGJ1Y2tldCBsaXN0IGxlbmd0aHNcbiIKLW1zZ3N0ciAiICAtSSBlbGxlciAtLWhpc3RvZ3JhbSAgICAgIFZpc2EgZXR0IGhpc3RvZ3JhbSD2dmVyIGhpbmthcm5hcyBsaXN0bORuZ2RlclxuIgotCi0jCi0jOiByZWFkZWxmLmM6MjE3OAotbXNnaWQgIiAgLXYgb3IgLS12ZXJzaW9uICAgICAgICAgICBEaXNwbGF5IHRoZSB2ZXJzaW9uIG51bWJlciBvZiByZWFkZWxmXG4iCi1tc2dzdHIgIiAgLXYgZWxsZXIgLS12ZXJzaW9uICAgICAgICBWaXNhIHZlcnNpb25zaW5mb3JtYXRpb24gb20gcmVhZGVsZlxuIgotCi0jCi0jOiByZWFkZWxmLmM6MjE3OQotbXNnaWQgIiAgLVcgb3IgLS13aWRlICAgICAgICAgICAgICBEb24ndCBzcGxpdCBsaW5lcyBvciB0cnVuY2F0ZSBzeW1ib2xzIHRvIGZpdCBpbnRvIDgwIGNvbHVtbnNcbiIKLW1zZ3N0ciAiICAtVyBlbGxlciAtLXdpZGUgICAgICAgICAgIEJyeXQgaW5nYSByYWRlciBvY2gga2FwYSBpbmdhIHN5bWJvbGVyIGb2ciBhdHQgcGFzc2EgODAga29sdW1uZXJcbiIKLQotIwotIzogcmVhZGVsZi5jOjIxODAKLW1zZ2lkICIgIC1IIG9yIC0taGVscCAgICAgICAgICAgICAgRGlzcGxheSB0aGlzIGluZm9ybWF0aW9uXG4iCi1tc2dzdHIgIiAgLUggZWxsZXIgLS1oZWxwICAgICAgICAgICBWaXNhIGRlbm5hIGhq5GxwXG4iCi0KLSMKLSM6IHJlYWRlbGYuYzoyMTk4CisjOiByZWFkZWxmLmM6MjY2NiByZWFkZWxmLmM6MTA3NjUKIG1zZ2lkICJPdXQgb2YgbWVtb3J5IGFsbG9jYXRpbmcgZHVtcCByZXF1ZXN0IHRhYmxlLiIKLW1zZ3N0ciAiU2x1dCBw5SBtaW5uZSB2aWQgYWxsb2tlcmluZyBhdiB0YWJlbGwgZvZyIPZuc2thZGUgdXRza3JpZnRlci4iCittc2dzdHIgIlNsdXQgcMOlIG1pbm5lIHZpZCBhbGxva2VyaW5nIGF2IHRhYmVsbCBmw7ZyIMO2bnNrYWRlIHV0c2tyaWZ0ZXIuIgogCi0jCi0jOiByZWFkZWxmLmM6MjM1NworIzogcmVhZGVsZi5jOjI4MzAgcmVhZGVsZi5jOjI5MDYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5yZWNvZ25pc2VkIGRlYnVnIG9wdGlvbiAnJXMnXG4iCi1tc2dzdHIgIk9r5G50IGZlbHP2a25pbmdzYXJndW1lbnQgXCIlc1wiXG4iCittc2dpZCAiVW5yZWNvZ25pemVkIGRlYnVnIG9wdGlvbiAnJXMnXG4iCittc2dzdHIgIk9rw6RudCBmZWxzw7ZrbmluZ3Nhcmd1bWVudCBcIiVzXCJcbiIKIAotIwotIzogcmVhZGVsZi5jOjIzODUKKyM6IHJlYWRlbGYuYzoyOTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgb3B0aW9uICctJWMnXG4iCiBtc2dzdHIgIk9naWx0aWcgZmxhZ2dhIFwiLSVjXCJcbiIKIAotIwotIzogcmVhZGVsZi5jOjIzOTgKKyM6IHJlYWRlbGYuYzoyOTUzCiBtc2dpZCAiTm90aGluZyB0byBkby5cbiIKLW1zZ3N0ciAiSW5nZXQgYXR0IGf2cmEuXG4iCittc2dzdHIgIkluZ2V0IGF0dCBnw7ZyYS5cbiIKIAotIwotIzogcmVhZGVsZi5jOjI0MTEgcmVhZGVsZi5jOjI0MjggcmVhZGVsZi5jOjQ3MDAKKyM6IHJlYWRlbGYuYzoyOTY2IHJlYWRlbGYuYzoyOTgzIHJlYWRlbGYuYzo1MzY2CiBtc2dpZCAibm9uZSIKIG1zZ3N0ciAiaW5nZW4iCiAKLSMKLSM6IHJlYWRlbGYuYzoyNDE1IHJlYWRlbGYuYzoyNDMyIHJlYWRlbGYuYzoyNDYwCisjOiByZWFkZWxmLmM6Mjk3MCByZWFkZWxmLmM6Mjk4NyByZWFkZWxmLmM6MzAxOAogIywgYy1mb3JtYXQKIG1zZ2lkICI8dW5rbm93bjogJXg+IgotbXNnc3RyICI8b2vkbmQ6ICV4PiIKK21zZ3N0ciAiPG9rw6RuZDogJXg+IgogCi0jCi0jOiByZWFkZWxmLmM6MjQyOQorIzogcmVhZGVsZi5jOjI5ODQKIG1zZ2lkICIyJ3MgY29tcGxlbWVudCwgbGl0dGxlIGVuZGlhbiIKLW1zZ3N0ciAidHbla29tcGxlbWVudCwgbGl0dGxlIGVuZGlhbiIKK21zZ3N0ciAiMi1rb21wbGVtZW50LCBsaXR0bGUgZW5kaWFuIgogCi0jCi0jOiByZWFkZWxmLmM6MjQzMAorIzogcmVhZGVsZi5jOjI5ODUKIG1zZ2lkICIyJ3MgY29tcGxlbWVudCwgYmlnIGVuZGlhbiIKLW1zZ3N0ciAidHbla29tcGxlbWVudCwgYmlnIGVuZGlhbiIKK21zZ3N0ciAiMi1rb21wbGVtZW50LCBiaWcgZW5kaWFuIgogCi0jCi0jOiByZWFkZWxmLmM6MjQ1NworIzogcmVhZGVsZi5jOjMwMTUKIG1zZ2lkICJTdGFuZGFsb25lIEFwcCIKLW1zZ3N0ciAiU2rkbHZzdORuZGlndCBwcm9ncmFtIgorbXNnc3RyICJTasOkbHZzdMOkbmRpZ3QgcHJvZ3JhbSIKIAotIwotIzogcmVhZGVsZi5jOjI0NzUKKyM6IHJlYWRlbGYuYzozMDM0CiBtc2dpZCAiTm90IGFuIEVMRiBmaWxlIC0gaXQgaGFzIHRoZSB3cm9uZyBtYWdpYyBieXRlcyBhdCB0aGUgc3RhcnRcbiIKLW1zZ3N0ciAiSW50ZSBlbiBFTEYtZmlsIC0gZGVuIGhhciBmZWwgbWFnaXNrYSBieXRlIGkgYvZyamFuXG4iCittc2dzdHIgIkludGUgZW4gRUxGLWZpbCAtIGRlbiBoYXIgZmVsIG1hZ2lza2EgYnl0ZSBpIGLDtnJqYW5cbiIKIAotIwotIzogcmVhZGVsZi5jOjI0ODMKKyM6IHJlYWRlbGYuYzozMDQyCiBtc2dpZCAiRUxGIEhlYWRlcjpcbiIKIG1zZ3N0ciAiRUxGLWh1dnVkOlxuIgogCi0jCi0jOiByZWFkZWxmLmM6MjQ4NAorIzogcmVhZGVsZi5jOjMwNDMKIG1zZ2lkICIgIE1hZ2ljOiAgICIKIG1zZ3N0ciAiICBNYWdpOiAgICAiCiAKLSMKLSM6IHJlYWRlbGYuYzoyNDg4CisjIDM3IHRlY2tlbiBpICJ2w6Ruc3RyYSIga29sdW1uZW4KKyM6IHJlYWRlbGYuYzozMDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgQ2xhc3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlc1xuIgogbXNnc3RyICIgIEtsYXNzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIKIAotIwotIzogcmVhZGVsZi5jOjI0OTAKKyMgMzcgdGVja2VuIGkgInbDpG5zdHJhIiBrb2x1bW5lbgorIzogcmVhZGVsZi5jOjMwNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBEYXRhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVzXG4iCiBtc2dzdHIgIiAgRGF0YTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlc1xuIgogCi0jCi0jOiByZWFkZWxmLmM6MjQ5MgorIyAzNyB0ZWNrZW4gaSAidsOkbnN0cmEiIGtvbHVtbmVuCisjOiByZWFkZWxmLmM6MzA1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFZlcnNpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgJWQgJXNcbiIKIG1zZ3N0ciAiICBWZXJzaW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICVkICVzXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzoyNDk5CisjIDM3IHRlY2tlbiBpICJ2w6Ruc3RyYSIga29sdW1uZW4KKyM6IHJlYWRlbGYuYzozMDU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgT1MvQUJJOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAlc1xuIgogbXNnc3RyICIgIE9TL0FCSTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIKIAotIwotIzogcmVhZGVsZi5jOjI1MDEKKyMgMzcgdGVja2VuIGkgInbDpG5zdHJhIiBrb2x1bW5lbgorIzogcmVhZGVsZi5jOjMwNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBBQkkgVmVyc2lvbjogICAgICAgICAgICAgICAgICAgICAgICVkXG4iCiBtc2dzdHIgIiAgQUJJLXZlcnNpb246ICAgICAgICAgICAgICAgICAgICAgICAlZFxuIgogCi0jCi0jOiByZWFkZWxmLmM6MjUwMworIyAzNyB0ZWNrZW4gaSAidsOkbnN0cmEiIGtvbHVtbmVuCisjOiByZWFkZWxmLmM6MzA2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFR5cGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIKIG1zZ3N0ciAiICBUeXA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVzXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzoyNTA1CisjIDM3IHRlY2tlbiBpICJ2w6Ruc3RyYSIga29sdW1uZW4KKyM6IHJlYWRlbGYuYzozMDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTWFjaGluZTogICAgICAgICAgICAgICAgICAgICAgICAgICAlc1xuIgogbXNnc3RyICIgIE1hc2tpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIKIAotIwotIzogcmVhZGVsZi5jOjI1MDcKKyMgMzcgdGVja2VuIGkgInbDpG5zdHJhIiBrb2x1bW5lbgorIzogcmVhZGVsZi5jOjMwNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBWZXJzaW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4JWx4XG4iCiBtc2dzdHIgIiAgVmVyc2lvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAweCVseFxuIgogCi0jCi0jOiByZWFkZWxmLmM6MjUxMAorIyAzNyB0ZWNrZW4gaSAidsOkbnN0cmEiIGtvbHVtbmVuCisjOiByZWFkZWxmLmM6MzA2OQogbXNnaWQgIiAgRW50cnkgcG9pbnQgYWRkcmVzczogICAgICAgICAgICAgICAiCi1tc2dzdHIgIiAgSW5n5W5nc2FkcmVzczogICAgICAgICAgICAgICAgICAgICAiCittc2dzdHIgIiAgSW5nw6VuZ3NhZHJlc3M6ICAgICAgICAgICAgICAgICAgICAgIgogCi0jCi0jOiByZWFkZWxmLmM6MjUxMgorIyAzNyB0ZWNrZW4gaSAidsOkbnN0cmEiIGtvbHVtbmVuCisjOiByZWFkZWxmLmM6MzA3MQogbXNnaWQgIiIKICJcbiIKICIgIFN0YXJ0IG9mIHByb2dyYW0gaGVhZGVyczogICAgICAgICAgIgogbXNnc3RyICIiCiAiXG4iCi0iICBTdGFydCBm9nIgcHJvZ3JhbWh1dnVkZW46ICAgICAgICAgICIKKyIgIFN0YXJ0IGbDtnIgcHJvZ3JhbWh1dnVkZW46ICAgICAgICAgICIKIAotIwotIzogcmVhZGVsZi5jOjI1MTQKKyMgMzcgdGVja2VuIGkgInbDpG5zdHJhIiBrb2x1bW5lbgorIzogcmVhZGVsZi5jOjMwNzMKIG1zZ2lkICIiCiAiIChieXRlcyBpbnRvIGZpbGUpXG4iCiAiICBTdGFydCBvZiBzZWN0aW9uIGhlYWRlcnM6ICAgICAgICAgICIKIG1zZ3N0ciAiIgogIiAoYnl0ZSBpbiBpIGZpbGVuKVxuIgotIiAgU3RhcnQgZvZyIHNla3Rpb25zaHV2dWRlbjogICAgICAgICAiCisiICBTdGFydCBmw7ZyIHNla3Rpb25zaHV2dWRlbjogICAgICAgICAiCiAKLSMKLSM6IHJlYWRlbGYuYzoyNTE2CisjOiByZWFkZWxmLmM6MzA3NQogbXNnaWQgIiAoYnl0ZXMgaW50byBmaWxlKVxuIgogbXNnc3RyICIgKGJ5dGUgaW4gaSBmaWxlbilcbiIKIAotIwotIzogcmVhZGVsZi5jOjI1MTgKKyMgMzcgdGVja2VuIGkgInbDpG5zdHJhIiBrb2x1bW5lbgorIzogcmVhZGVsZi5jOjMwNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGbGFnczogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4JWx4JXNcbiIKIG1zZ3N0ciAiICBGbGFnZ29yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4JWx4JXNcbiIKIAotIwotIzogcmVhZGVsZi5jOjI1MjEKKyMgMzcgdGVja2VuIGkgInbDpG5zdHJhIiBrb2x1bW5lbgorIzogcmVhZGVsZi5jOjMwODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBTaXplIG9mIHRoaXMgaGVhZGVyOiAgICAgICAgICAgICAgICVsZCAoYnl0ZXMpXG4iCiBtc2dzdHIgIiAgRGV0dGEgaHV2dWRzIHN0b3JsZWs6ICAgICAgICAgICAgICAlbGQgKGJ5dGUpXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzoyNTIzCisjIDM3IHRlY2tlbiBpICJ2w6Ruc3RyYSIga29sdW1uZW4KKyM6IHJlYWRlbGYuYzozMDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgU2l6ZSBvZiBwcm9ncmFtIGhlYWRlcnM6ICAgICAgICAgICAlbGQgKGJ5dGVzKVxuIgogbXNnc3RyICIgIFByb2dyYW1odXZ1ZGVuYXMgc3RvcmxlazogICAgICAgICAgJWxkIChieXRlKVxuIgogCi0jCi0jOiByZWFkZWxmLmM6MjUyNQorIyAzNyB0ZWNrZW4gaSAidsOkbnN0cmEiIGtvbHVtbmVuCisjOiByZWFkZWxmLmM6MzA4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIE51bWJlciBvZiBwcm9ncmFtIGhlYWRlcnM6ICAgICAgICAgJWxkXG4iCiBtc2dzdHIgIiAgQW50YWwgcHJvZ3JhbWh1dnVkZW46ICAgICAgICAgICAgICAlbGRcbiIKIAotIwotIzogcmVhZGVsZi5jOjI1MjcKKyMgMzcgdGVja2VuIGkgInbDpG5zdHJhIiBrb2x1bW5lbgorIzogcmVhZGVsZi5jOjMwODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBTaXplIG9mIHNlY3Rpb24gaGVhZGVyczogICAgICAgICAgICVsZCAoYnl0ZXMpXG4iCiBtc2dzdHIgIiAgU2VrdGlvbnNodXZ1ZGVuYXMgc3RvcmxlazogICAgICAgICAlbGQgKGJ5dGUpXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzoyNTI5CisjIDM3IHRlY2tlbiBpICJ2w6Ruc3RyYSIga29sdW1uZW4KKyM6IHJlYWRlbGYuYzozMDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTnVtYmVyIG9mIHNlY3Rpb24gaGVhZGVyczogICAgICAgICAlbGQiCiBtc2dzdHIgIiAgQW50YWwgc2VrdGlvbnNodXZ1ZGVuOiAgICAgICAgICAgICAlbGQiCiAKLSMKLSM6IHJlYWRlbGYuYzoyNTM0CisjIDM3IHRlY2tlbiBpICJ2w6Ruc3RyYSIga29sdW1uZW4KKyM6IHJlYWRlbGYuYzozMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgU2VjdGlvbiBoZWFkZXIgc3RyaW5nIHRhYmxlIGluZGV4OiAlbGQiCi1tc2dzdHIgIiAgU2VrdGlvbnNodXZ1ZGV0cyBzdHLkbmd0YWJlbGxzbmR4OiAlbGQiCittc2dzdHIgIiAgU2VrdGlvbnNodXZ1ZGV0cyBzdHLDpG5ndGFiZWxsbmR4OiAgJWxkIgogCi0jCi0jOiByZWFkZWxmLmM6MjU2OCByZWFkZWxmLmM6MjYwNAorIzogcmVhZGVsZi5jOjMxMjcgcmVhZGVsZi5jOjMxNjMKIG1zZ2lkICJwcm9ncmFtIGhlYWRlcnMiCiBtc2dzdHIgInByb2dyYW1odXZ1ZGVuIgogCi0jCi0jOiByZWFkZWxmLmM6MjYzOAorIzogcmVhZGVsZi5jOjMyMDMgcmVhZGVsZi5jOjM0ODAgcmVhZGVsZi5jOjM1MjYgcmVhZGVsZi5jOjM1ODkgcmVhZGVsZi5jOjM2NTYKKyM6IHJlYWRlbGYuYzo0NzE1IHJlYWRlbGYuYzo0NzU4IHJlYWRlbGYuYzo0OTQ4IHJlYWRlbGYuYzo1OTE3IHJlYWRlbGYuYzo1OTMxCisjOiByZWFkZWxmLmM6MTA0MTEKK21zZ2lkICJPdXQgb2YgbWVtb3J5XG4iCittc2dzdHIgIlNsdXQgcMOlIG1pbm5lXG4iCisKKyM6IHJlYWRlbGYuYzozMjMxCiBtc2dpZCAiIgogIlxuIgogIlRoZXJlIGFyZSBubyBwcm9ncmFtIGhlYWRlcnMgaW4gdGhpcyBmaWxlLlxuIgpAQCAtMzA3Nyw5MSArMjc1Niw3MSBAQAogIlxuIgogIkRldCBmaW5ucyBpbmdhIHByb2dyYW1odXZ1ZGVuIGkgZGVubmEgZmlsLlxuIgogCi0jCi0jOiByZWFkZWxmLmM6MjY0NAorIzogcmVhZGVsZi5jOjMyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgogIkVsZiBmaWxlIHR5cGUgaXMgJXNcbiIKIG1zZ3N0ciAiIgogIlxuIgotIkVsZi1maWx0eXAg5HIgJXNcbiIKKyJFbGYtZmlsdHlwIMOkciAlc1xuIgogCi0jCi0jOiByZWFkZWxmLmM6MjY0NQorIzogcmVhZGVsZi5jOjMyMzgKIG1zZ2lkICJFbnRyeSBwb2ludCAiCi1tc2dzdHIgIkluZ+VuZ3NwdW5rdCAiCittc2dzdHIgIkluZ8OlbmdzcHVua3QgIgogCi0jCi0jOiByZWFkZWxmLmM6MjY0NworIzogcmVhZGVsZi5jOjMyNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgogIlRoZXJlIGFyZSAlZCBwcm9ncmFtIGhlYWRlcnMsIHN0YXJ0aW5nIGF0IG9mZnNldCAiCiBtc2dzdHIgIiIKICJcbiIKLSJEZXQgZmlubnMgJWQgcHJvZ3JhbWh1dnVkZW4sIG1lZCBi9nJqYW4gcOUgb2Zmc2V0ICIKKyJEZXQgZmlubnMgJWQgcHJvZ3JhbWh1dnVkZW4sIG1lZCBiw7ZyamFuIHDDpSBvZmZzZXQgIgogCi0jCi0jOiByZWFkZWxmLmM6MjY1OCByZWFkZWxmLmM6Mjg4MyByZWFkZWxmLmM6MjkyOSByZWFkZWxmLmM6Mjk5MiByZWFkZWxmLmM6MzA1OQotIzogcmVhZGVsZi5jOjQwODcgcmVhZGVsZi5jOjQxMzAgcmVhZGVsZi5jOjQzMTAgcmVhZGVsZi5jOjUyNDYgcmVhZGVsZi5jOjUyNjAKLSM6IHJlYWRlbGYuYzo5MjQ2IHJlYWRlbGYuYzo5Mjg2Ci1tc2dpZCAiT3V0IG9mIG1lbW9yeVxuIgotbXNnc3RyICJTbHV0IHDlIG1pbm5lXG4iCi0KLSMKICMgIEJVR0c6IHBsdXJhbC1zCi0jOiByZWFkZWxmLmM6MjY3NgotIywgYy1mb3JtYXQKKyM6IHJlYWRlbGYuYzozMjUyIHJlYWRlbGYuYzozMjU0CiBtc2dpZCAiIgogIlxuIgotIlByb2dyYW0gSGVhZGVyJXM6XG4iCisiUHJvZ3JhbSBIZWFkZXJzOlxuIgogbXNnc3RyICIiCiAiXG4iCi0iUHJvZ3JhbWh1dnVkJTAuczpcbiIKKyJQcm9ncmFtaHV2dWRlbjpcbiIKIAotIwotIzogcmVhZGVsZi5jOjI2ODAKKyM6IHJlYWRlbGYuYzozMjU4CiBtc2dpZCAiICBUeXBlICAgICAgICAgICBPZmZzZXQgICBWaXJ0QWRkciAgIFBoeXNBZGRyICAgRmlsZVNpeiBNZW1TaXogIEZsZyBBbGlnblxuIgogbXNnc3RyICIgIFR5cCAgICAgICAgICAgIE9mZnNldCAgIFZpcnRBZHIgICAgRnlzQWRyICAgICBGaWxTdCAgIE1pbm5lU3QgRmxnIEp1c3RcbiIKIAotIwotIzogcmVhZGVsZi5jOjI2ODMKKyM6IHJlYWRlbGYuYzozMjYxCiBtc2dpZCAiICBUeXBlICAgICAgICAgICBPZmZzZXQgICBWaXJ0QWRkciAgICAgICAgICAgUGh5c0FkZHIgICAgICAgICAgIEZpbGVTaXogIE1lbVNpeiAgIEZsZyBBbGlnblxuIgotbXNnc3RyICIgIFR5cCAgICAgICAgICAgIE9mZnNldCAgIFZpcnRBZHJlc3MgICAgICAgICBGeXNBZHJlc3MgICAgICAgICAgRmlsU3RybCAgTWlubmVTdCAgRmxnIEp1c3RcbiIKK21zZ3N0ciAiICBUeXAgICAgICAgICAgICBPZmZzZXQgICBWaXJ0QWRyICAgICAgICAgICAgRnlzQWRyICAgICAgICAgICAgIEZpbFN0cmwgIE1pbm5lU3QgIEZsZyBKdXN0XG4iCiAKLSMKLSM6IHJlYWRlbGYuYzoyNjg3CisjOiByZWFkZWxmLmM6MzI2NQogbXNnaWQgIiAgVHlwZSAgICAgICAgICAgT2Zmc2V0ICAgICAgICAgICAgIFZpcnRBZGRyICAgICAgICAgICBQaHlzQWRkclxuIgotbXNnc3RyICIgIFR5cCAgICAgICAgICAgIE9mZnNldCAgICAgICAgICAgICBWaXJ0QWRyZXNzICAgICAgICAgRnlzQWRyZXNzXG4iCittc2dzdHIgIiAgVHlwICAgICAgICAgICAgT2Zmc2V0ICAgICAgICAgICAgIFZpcnRBZHIgICAgICAgICAgICBGeXNBZHJcbiIKIAotIwotIzogcmVhZGVsZi5jOjI2ODkKKyM6IHJlYWRlbGYuYzozMjY3CiBtc2dpZCAiICAgICAgICAgICAgICAgICBGaWxlU2l6ICAgICAgICAgICAgTWVtU2l6ICAgICAgICAgICAgICBGbGFncyAgQWxpZ25cbiIKLW1zZ3N0ciAiICAgICAgICAgICAgICAgICBGaWxTdG9ybGVrICAgICAgICAgTWlubmVTdG9ybGVrICAgICAgICBGbGFnZyAgSnVzdGVyaW5nXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgRmlsU3RybCAgICAgICAgICAgIE1pbm5lU3RybCAgICAgICAgICAgRmxhZ2cgIEp1c3RcbiIKIAotIwotIzogcmVhZGVsZi5jOjI3ODkKKyM6IHJlYWRlbGYuYzozMzYwCiBtc2dpZCAibW9yZSB0aGFuIG9uZSBkeW5hbWljIHNlZ21lbnRcbiIKLW1zZ3N0ciAibWVyIORuIGV0dCBkeW5hbWlza3Qgc2VnbWVudFxuIgorbXNnc3RyICJtZXIgw6RuIGV0dCBkeW5hbWlza3Qgc2VnbWVudFxuIgogCi0jCi0jOiByZWFkZWxmLmM6Mjc5NworIzogcmVhZGVsZi5jOjMzNjgKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBwcm9ncmFtIGludGVycHJldGVyIG5hbWVcbiIKLW1zZ3N0ciAiS2FuIGludGUgaGl0dGEgbmFtbmV0IHDlIHByb2dyYW10b2xrZW5cbiIKK21zZ3N0ciAiS2FuIGludGUgaGl0dGEgbmFtbmV0IHDDpSBwcm9ncmFtdG9sa2VuXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzoyODA0CisjOiByZWFkZWxmLmM6MzM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCiAiICAgICAgW1JlcXVlc3RpbmcgcHJvZ3JhbSBpbnRlcnByZXRlcjogJXNdIgogbXNnc3RyICIiCiAiXG4iCi0iICAgICAgW0JlZ+RyIHByb2dyYW10b2xrYXJlOiAlc10iCisiICAgICAgW0JlZ8OkciBwcm9ncmFtdG9sa2FyZTogJXNdIgogCi0jCi0jOiByZWFkZWxmLmM6MjgyMgorIzogcmVhZGVsZi5jOjMzODcKIG1zZ2lkICIiCiAiXG4iCiAiIFNlY3Rpb24gdG8gU2VnbWVudCBtYXBwaW5nOlxuIgpAQCAtMzE2OSwyOCArMjgyOCwzMiBAQAogIlxuIgogIiBTZWt0aW9uIHRpbGwgc2VnbWVudC1hdmJpbGRuaW5nOlxuIgogCi0jCi0jOiByZWFkZWxmLmM6MjgyMworIzogcmVhZGVsZi5jOjMzODgKIG1zZ2lkICIgIFNlZ21lbnQgU2VjdGlvbnMuLi5cbiIKIG1zZ3N0ciAiICBTZWdtZW50c2VrdGlvbmVyLi4uXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzoyODc0IHJlYWRlbGYuYzoyOTIwCisjOiByZWFkZWxmLmM6MzQzNworbXNnaWQgIkNhbm5vdCBpbnRlcnByZXQgdmlydHVhbCBhZGRyZXNzZXMgd2l0aG91dCBwcm9ncmFtIGhlYWRlcnMuXG4iCittc2dzdHIgIkthbiBpbnRlIHRvbGthIHZpcnR1ZWxsYSBhZHJlc3NlciB1dGFuIHByb2dyYW1odXZ1ZC5cbiIKKworIzogcmVhZGVsZi5jOjM0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmlydHVhbCBhZGRyZXNzIDB4JWx4IG5vdCBsb2NhdGVkIGluIGFueSBQVF9MT0FEIHNlZ21lbnQuXG4iCittc2dzdHIgIlZpcnR1ZWxsIGFkcmVzcyAweCVseCBmaW5ucyBlaiBpIG7DpWdvdCBQVF9MT0FELXNlZ21lbnQuXG4iCisKKyM6IHJlYWRlbGYuYzozNDcxIHJlYWRlbGYuYzozNTE3CiBtc2dpZCAic2VjdGlvbiBoZWFkZXJzIgogbXNnc3RyICJzZWt0aW9uc2h1dnVkZW4iCiAKLSMKLSM6IHJlYWRlbGYuYzoyOTY4IHJlYWRlbGYuYzozMDM1CisjOiByZWFkZWxmLmM6MzU2NSByZWFkZWxmLmM6MzYzMgogbXNnaWQgInN5bWJvbHMiCiBtc2dzdHIgInN5bWJvbGVyIgogCi0jCi0jOiByZWFkZWxmLmM6Mjk3OSByZWFkZWxmLmM6MzA0NgorIzogcmVhZGVsZi5jOjM1NzYgcmVhZGVsZi5jOjM2NDMKIG1zZ2lkICJzeW10YWIgc2huZHgiCiBtc2dzdHIgInN5bXRhYiBzaG5keCIKIAotIwotIzogcmVhZGVsZi5jOjMxNDcKKyM6IHJlYWRlbGYuYzozNzQ1CiBtc2dpZCAiIgogIlxuIgogIlRoZXJlIGFyZSBubyBzZWN0aW9ucyBpbiB0aGlzIGZpbGUuXG4iCkBAIC0zMTk4LDcwICsyODYxLDY0IEBACiAiXG4iCiAiRGV0IGZpbm5zIGluZ2Egc2VrdGlvbmVyIGkgZGVubmEgZmlsLlxuIgogCi0jCi0jOiByZWFkZWxmLmM6MzE1MworIzogcmVhZGVsZi5jOjM3NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgYXJlICVkIHNlY3Rpb24gaGVhZGVycywgc3RhcnRpbmcgYXQgb2Zmc2V0IDB4JWx4OlxuIgotbXNnc3RyICJEZXQgZmlubnMgJWQgc2VrdGlvbnNodXZ1ZGVuLCBtZWQgYvZyamFuIHDlIG9mZnNldCAweCVseDpcbiIKK21zZ3N0ciAiRGV0IGZpbm5zICVkIHNla3Rpb25zaHV2dWRlbiwgbWVkIGLDtnJqYW4gcMOlIG9mZnNldCAweCVseDpcbiIKIAotIwotIzogcmVhZGVsZi5jOjMxNzAgcmVhZGVsZi5jOjM0NzkgcmVhZGVsZi5jOjM4MjYgcmVhZGVsZi5jOjUzOTcKKyM6IHJlYWRlbGYuYzozNzY4IHJlYWRlbGYuYzo0MDk4IHJlYWRlbGYuYzo0NDMzIHJlYWRlbGYuYzo2MDcwCiBtc2dpZCAic3RyaW5nIHRhYmxlIgotbXNnc3RyICJzdHLkbmd0YWJlbGwiCittc2dzdHIgInN0csOkbmd0YWJlbGwiCiAKLSMKLSM6IHJlYWRlbGYuYzozMTkxCisjOiByZWFkZWxmLmM6Mzc5MwogbXNnaWQgIkZpbGUgY29udGFpbnMgbXVsdGlwbGUgZHluYW1pYyBzeW1ib2wgdGFibGVzXG4iCi1tc2dzdHIgIkZpbGVuIGlubmVo5WxsZXIgZmxlcmEgdGFiZWxsZXIgbWVkIGR5bmFtaXNrYSBzeW1ib2xlclxuIgorbXNnc3RyICJGaWxlbiBpbm5laMOlbGxlciBmbGVyYSB0YWJlbGxlciBtZWQgZHluYW1pc2thIHN5bWJvbGVyXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzozMjAzCisjOiByZWFkZWxmLmM6MzgwNQogbXNnaWQgIkZpbGUgY29udGFpbnMgbXVsdGlwbGUgZHluYW1pYyBzdHJpbmcgdGFibGVzXG4iCi1tc2dzdHIgIkZpbGVuIGlubmVo5WxsZXIgZmxlcmEgZHluYW1pc2thIHN0cuRuZ3RhYmVsbGVyXG4iCittc2dzdHIgIkZpbGVuIGlubmVow6VsbGVyIGZsZXJhIGR5bmFtaXNrYSBzdHLDpG5ndGFiZWxsZXJcbiIKIAotIwotIzogcmVhZGVsZi5jOjMyMDkKKyM6IHJlYWRlbGYuYzozODExCiBtc2dpZCAiZHluYW1pYyBzdHJpbmdzIgotbXNnc3RyICJkeW5hbWlza2Egc3Ry5G5nYXIiCittc2dzdHIgImR5bmFtaXNrYSBzdHLDpG5nYXIiCiAKLSMKLSM6IHJlYWRlbGYuYzozMjE1CisjOiByZWFkZWxmLmM6MzgxNwogbXNnaWQgIkZpbGUgY29udGFpbnMgbXVsdGlwbGUgc3ltdGFiIHNobmR4IHRhYmxlc1xuIgotbXNnc3RyICJGaWxlbiBpbm5laOVsbGVyIGZsZXJhIHN5bXRhYi1zaG5keC10YWJlbGxlclxuIgorbXNnc3RyICJGaWxlbiBpbm5laMOlbGxlciBmbGVyYSBzeW10YWItc2huZHgtdGFiZWxsZXJcbiIKIAotIwotIyAgQlVHRzogcGx1cmFsLXMKLSM6IHJlYWRlbGYuYzozMjUwCi0jLCBjLWZvcm1hdAorIzogcmVhZGVsZi5jOjM4NTUKIG1zZ2lkICIiCiAiXG4iCi0iU2VjdGlvbiBIZWFkZXIlczpcbiIKKyJTZWN0aW9uIEhlYWRlcnM6XG4iCiBtc2dzdHIgIiIKICJcbiIKLSJTZWt0aW9uc2h1dnVkJTAuczpcbiIKKyJTZWt0aW9uc2h1dnVkZW46XG4iCiAKLSMKLSM6IHJlYWRlbGYuYzozMjU0CisjOiByZWFkZWxmLmM6Mzg1NworbXNnaWQgIiIKKyJcbiIKKyJTZWN0aW9uIEhlYWRlcjpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNla3Rpb25zaHV2dWQ6XG4iCisKKyM6IHJlYWRlbGYuYzozODYxCiBtc2dpZCAiICBbTnJdIE5hbWUgICAgICAgICAgICAgIFR5cGUgICAgICAgICAgICBBZGRyICAgICBPZmYgICAgU2l6ZSAgIEVTIEZsZyBMayBJbmYgQWxcbiIKLW1zZ3N0ciAiICBbTnJdIE5hbW4gICAgICAgICAgICAgIFR5cCAgICAgICAgICAgICBBZHJlc3MgICBPZmYgICAgU3RybCAgIFBTIEZsZyBMayBJbmYgSnVcbiIKK21zZ3N0ciAiICBbTnJdIE5hbW4gICAgICAgICAgICAgIFR5cCAgICAgICAgICAgICBBZHIgICAgICBPZmYgICAgU3RybCAgIFBTIEZsZyBMayBJbmYgSnVcbiIKIAotIwotIzogcmVhZGVsZi5jOjMyNTcKKyM6IHJlYWRlbGYuYzozODY0CiBtc2dpZCAiICBbTnJdIE5hbWUgICAgICAgICAgICAgIFR5cGUgICAgICAgICAgICBBZGRyZXNzICAgICAgICAgIE9mZiAgICBTaXplICAgRVMgRmxnIExrIEluZiBBbFxuIgogbXNnc3RyICIgIFtOcl0gTmFtbiAgICAgICAgICAgICAgVHlwICAgICAgICAgICAgIEFkcmVzcyAgICAgICAgICAgT2ZmICAgIFN0cmwgICBQUyBGbGcgTGsgSW5mIEp1XG4iCiAKLSMKLSM6IHJlYWRlbGYuYzozMjYwCisjOiByZWFkZWxmLmM6Mzg2NwogbXNnaWQgIiAgW05yXSBOYW1lICAgICAgICAgICAgICBUeXBlICAgICAgICAgICAgIEFkZHJlc3MgICAgICAgICAgIE9mZnNldFxuIgogbXNnc3RyICIgIFtOcl0gTmFtbiAgICAgICAgICAgICAgVHlwICAgICAgICAgICAgICBBZHJlc3MgICAgICAgICAgICBPZmZzZXRcbiIKIAotIwotIzogcmVhZGVsZi5jOjMyNjEKKyM6IHJlYWRlbGYuYzozODY4CiBtc2dpZCAiICAgICAgIFNpemUgICAgICAgICAgICAgIEVudFNpemUgICAgICAgICAgRmxhZ3MgIExpbmsgIEluZm8gIEFsaWduXG4iCi1tc2dzdHIgIiAgICAgICBTdG9ybGVrICAgICAgICAgICBQb3N0c3RvcmxlayAgICAgIEZsYWdnICBM5G5rICBJbmZvICBKdXN0XG4iCittc2dzdHIgIiAgICAgICBTdG9ybGVrICAgICAgICAgICBQb3N0c3RvcmxlayAgICAgIEZsYWdnICBMw6RuayAgSW5mbyAgSnVzdFxuIgogCi0jCi0jOiByZWFkZWxmLmM6MzM1NgorIzogcmVhZGVsZi5jOjM5NjMKIG1zZ2lkICIiCiAiS2V5IHRvIEZsYWdzOlxuIgogIiAgVyAod3JpdGUpLCBBIChhbGxvYyksIFggKGV4ZWN1dGUpLCBNIChtZXJnZSksIFMgKHN0cmluZ3MpXG4iCkBAIC0zMjY5LDcyICsyOTI2LDY4IEBACiAiICBPIChleHRyYSBPUyBwcm9jZXNzaW5nIHJlcXVpcmVkKSBvIChPUyBzcGVjaWZpYyksIHAgKHByb2Nlc3NvciBzcGVjaWZpYylcbiIKIG1zZ3N0ciAiIgogIk55Y2tlbCB0aWxsIGZsYWdnb3JuYTpcbiIKLSIgIFcgKHNrcml2KSwgQSAoYWxsb2tlcmEpLCBYIChleGVrdmVyYSksIE0gKGb2cmVuYSksIFMgKHN0cuRuZ2FyKVxuIgotIiAgSSAoaW5mbyksIEwgKGzkbmtvcmRuaW5nKSwgRyAoZ3J1cHApLCB4IChva+RuZClcbiIKLSIgIE8gKGV4dHJhIE9TLWJlYXJiZXRuaW5nIGty5HZzKSBvIChPUy1zcGVjaWZpayksIHAgKHByb2Nlc3NvcnNwZWNpZmlrKVxuIgorIiAgVyAoc2tyaXYpLCBBIChhbGxva2VyYSksIFggKGV4ZWt2ZXJhKSwgTSAoZsO2cmVuYSksIFMgKHN0csOkbmdhcilcbiIKKyIgIEkgKGluZm8pLCBMIChsw6Rua29yZG5pbmcpLCBHIChncnVwcCksIHggKG9rw6RuZClcbiIKKyIgIE8gKGV4dHJhIE9TLWJlYXJiZXRuaW5nIGtyw6R2cykgbyAoT1Mtc3BlY2lmaWspLCBwIChwcm9jZXNzb3JzcGVjaWZpaylcbiIKIAotIwotIzogcmVhZGVsZi5jOjM0MTcKKyM6IHJlYWRlbGYuYzo0MDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKLSJSZWxvY2F0aW9uIHNlY3Rpb24gYXQgb2Zmc2V0IDB4JWx4IGNvbnRhaW5zICVsZCBieXRlczpcbiIKKyInJXMnIHJlbG9jYXRpb24gc2VjdGlvbiBhdCBvZmZzZXQgMHglbHggY29udGFpbnMgJWxkIGJ5dGVzOlxuIgogbXNnc3RyICIiCiAiXG4iCi0iT21sb2thbGlzZXJpbmdzc2VrdGlvbmVuIHDlIG9mZnNldCAweCVseCBpbm5laOVsbGVyICVsZCBieXRlOlxuIgorIlwiJXNcIiByZWxva2VyaW5nc3Nla3Rpb24gcMOlIG9mZnNldCAweCVseCBpbm5laMOlbGxlciAlbGQgYnl0ZTpcbiIKIAotIwotIzogcmVhZGVsZi5jOjM0MjQKKyM6IHJlYWRlbGYuYzo0MDQzCiBtc2dpZCAiIgogIlxuIgogIlRoZXJlIGFyZSBubyBkeW5hbWljIHJlbG9jYXRpb25zIGluIHRoaXMgZmlsZS5cbiIKIG1zZ3N0ciAiIgogIlxuIgotIkRldCBmaW5ucyBpbmdhIGR5bmFtaXNrYSBvbWxva2FsaXNlcmluZ2FyIGkgZGVubmEgZmlsLlxuIgorIkRldCBmaW5ucyBpbmdhIGR5bmFtaXNrYSByZWxva2VyaW5nYXIgaSBkZW5uYSBmaWwuXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzozNDUxCisjOiByZWFkZWxmLmM6NDA3MAogbXNnaWQgIiIKICJcbiIKICJSZWxvY2F0aW9uIHNlY3Rpb24gIgogbXNnc3RyICIiCiAiXG4iCi0iT21sb2thbGlzZXJpbmdzc2VrdGlvbiAiCisiT21yZWxva2VyaW5nc3Nla3Rpb24gIgogCi0jCi0jOiByZWFkZWxmLmM6MzQ1OCByZWFkZWxmLmM6MzkwNQorIzogcmVhZGVsZi5jOjQwNzUgcmVhZGVsZi5jOjQ0OTYgcmVhZGVsZi5jOjQ1MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyIKK21zZ3N0ciAiXCIlc1wiIgorCisjOiByZWFkZWxmLmM6NDA3NyByZWFkZWxmLmM6NDUxMgogIywgYy1mb3JtYXQKIG1zZ2lkICIgYXQgb2Zmc2V0IDB4JWx4IGNvbnRhaW5zICVsdSBlbnRyaWVzOlxuIgotbXNnc3RyICIgcOUgb2Zmc2V0IDB4JWx4IGlubmVo5WxsZXIgJWx1IHBvc3RlcjpcbiIKK21zZ3N0ciAiIHDDpSBvZmZzZXQgMHglbHggaW5uZWjDpWxsZXIgJWx1IHBvc3RlcjpcbiIKIAotIwotIzogcmVhZGVsZi5jOjM0OTYKKyM6IHJlYWRlbGYuYzo0MTE1CiBtc2dpZCAiIgogIlxuIgogIlRoZXJlIGFyZSBubyByZWxvY2F0aW9ucyBpbiB0aGlzIGZpbGUuXG4iCiBtc2dzdHIgIiIKICJcbiIKLSJEZXQgZmlubnMgaW5nYSBvbWxva2FsaXNlcmluZ2FyIGkgZGVubmEgZmlsLlxuIgorIkRldCBmaW5ucyBpbmdhIHJlbG9rZXJpbmdhciBpIGRlbm5hIGZpbC5cbiIKIAotIwotIzogcmVhZGVsZi5jOjM2OTIKKyM6IHJlYWRlbGYuYzo0Mjk5CiBtc2dpZCAidW53aW5kIHRhYmxlIgogbXNnc3RyICJ0aWxsYmFrYXJ1bGxuaW5nc3RhYmVsbCIKIAotIwotIzogcmVhZGVsZi5jOjM3NDMgcmVhZGVsZi5jOjM3NTUgcmVhZGVsZi5jOjc2MDggcmVhZGVsZi5jOjc2MTkKKyM6IHJlYWRlbGYuYzo0MzUwIHJlYWRlbGYuYzo0MzYyIHJlYWRlbGYuYzo4NDk5IHJlYWRlbGYuYzo4NTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHVuZXhwZWN0ZWQgc3ltYm9sIHR5cGUgJXVcbiIKLW1zZ3N0ciAiSG9wcGFyIPZ2ZXIgb3bkbnRhZCBzeW1ib2x0eXAgJXVcbiIKK21zZ3N0ciAiSG9wcGFyIMO2dmVyIG92w6RudGFkIHN5bWJvbHR5cCAldVxuIgogCi0jCi0jOiByZWFkZWxmLmM6Mzc2MworIzogcmVhZGVsZi5jOjQzNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgdW5leHBlY3RlZCByZWxvY2F0aW9uIHR5cGUgJXNcbiIKLW1zZ3N0ciAiSG9wcGFyIPZ2ZXIgb3bkbnRhZCBvbWxva2FsaXNlcmluZ3N0eXAgJXNcbiIKK21zZ3N0ciAiSG9wcGFyIMO2dmVyIG92w6RudGFkIHJlbG9rZXJpbmdzdHlwICVzXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzozODA4IHJlYWRlbGYuYzozODMzCisjOiByZWFkZWxmLmM6NDQxNSByZWFkZWxmLmM6NDQ0MAogbXNnaWQgIiIKICJcbiIKICJUaGVyZSBhcmUgbm8gdW53aW5kIHNlY3Rpb25zIGluIHRoaXMgZmlsZS5cbiIKQEAgLTMzNDIsOSArMjk5NSw4IEBACiAiXG4iCiAiRGV0IGZpbm5zIGluZ2EgdGlsbGJha2FydWxsbmluZ3NzZWt0aW9uZXIgaSBkZW5uYSBmaWwuXG4iCiAKLSMKLSMgIEJVR0c6IEZvcnRz5HR0bmluZ2VuIORyIGludGUgbWFya2VyYWQgZvZyIPZ2ZXJz5HR0bmluZyBpIGtvZGVuIG9jaCBpbm5laOVsbGVyICctY2l0YXR0ZWNrZW4uCi0jOiByZWFkZWxmLmM6Mzg4NAorIyAgQlVHRzogRm9ydHPDpHR0bmluZ2VuIMOkciBpbnRlIG1hcmtlcmFkIGbDtnIgw7Z2ZXJzw6R0dG5pbmcgaSBrb2RlbiBvY2ggaW5uZWjDpWxsZXIgJy1jaXRhdHRlY2tlbi4KKyM6IHJlYWRlbGYuYzo0NDkxCiBtc2dpZCAiIgogIlxuIgogIkNvdWxkIG5vdCBmaW5kIHVud2luZCBpbmZvIHNlY3Rpb24gZm9yICIKQEAgLTMzNTIsMTMgKzMwMDQsMTEgQEAKICJcbiIKICJLdW5kZSBpbnRlIGhpdHRhIHRpbGxiYWthcnVsbG5pbmdzc2VrdGlvbiB0aWxsICIKIAotIwotIzogcmVhZGVsZi5jOjM4OTYKKyM6IHJlYWRlbGYuYzo0NTAzCiBtc2dpZCAidW53aW5kIGluZm8iCiBtc2dzdHIgInRpbGxiYWthcnVsbG5pbmdzaW5mbyIKIAotIwotIzogcmVhZGVsZi5jOjM4OTgKKyM6IHJlYWRlbGYuYzo0NTA1CiBtc2dpZCAiIgogIlxuIgogIlVud2luZCBzZWN0aW9uICIKQEAgLTMzNjYsMTMgKzMwMTYsMTEgQEAKICJcbiIKICJUaWxsYmFrYXJ1bGxuaW5nc3Nla3Rpb24gIgogCi0jCi0jOiByZWFkZWxmLmM6NDA3MSByZWFkZWxmLmM6NDExNAorIzogcmVhZGVsZi5jOjQ2OTkgcmVhZGVsZi5jOjQ3NDIKIG1zZ2lkICJkeW5hbWljIHNlZ21lbnQiCiBtc2dzdHIgImR5bmFtaXNrdCBzZWdtZW50IgogCi0jCi0jOiByZWFkZWxmLmM6NDE4MworIzogcmVhZGVsZi5jOjQ4MjAKIG1zZ2lkICIiCiAiXG4iCiAiVGhlcmUgaXMgbm8gZHluYW1pYyBzZWdtZW50IGluIHRoaXMgZmlsZS5cbiIKQEAgLTMzODAsMzA4ICszMDI4LDI1NSBAQAogIlxuIgogIkRldCBmaW5ucyBpbmdldCBkeW5hbWlza3Qgc2VnbWVudCBpIGRlbm5hIGZpbC5cbiIKIAotIwotIzogcmVhZGVsZi5jOjQyMTcKKyM6IHJlYWRlbGYuYzo0ODU0CiBtc2dpZCAiVW5hYmxlIHRvIHNlZWsgdG8gZW5kIG9mIGZpbGUhIgotbXNnc3RyICJLYW4gaW50ZSB1cHBz9mthIHNsdXRldCBhdiBmaWxlbiEiCittc2dzdHIgIkthbiBpbnRlIHVwcHPDtmthIHNsdXRldCBhdiBmaWxlbiEiCiAKLSMKLSM6IHJlYWRlbGYuYzo0MjI4CisjOiByZWFkZWxmLmM6NDg2NQogbXNnaWQgIlVuYWJsZSB0byBkZXRlcm1pbmUgdGhlIG51bWJlciBvZiBzeW1ib2xzIHRvIGxvYWRcbiIKLW1zZ3N0ciAiS2FuIGludGUgZmFzdHN05GxsYSBodXIgbeVuZ2Egc3ltYm9sZXIgc29tIHNrYSBs5HNhcyBpblxuIgorbXNnc3RyICJLYW4gaW50ZSBmYXN0c3TDpGxsYSBodXIgbcOlbmdhIHN5bWJvbGVyIHNvbSBza2EgbMOkc2FzIGluXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo0MjU4CisjOiByZWFkZWxmLmM6NDg5NQogbXNnaWQgIlVuYWJsZSB0byBzZWVrIHRvIGVuZCBvZiBmaWxlXG4iCi1tc2dzdHIgIkthbiBpbnRlIHVwcHP2a2Egc2x1dGV0IGF2IGZpbGVuXG4iCittc2dzdHIgIkthbiBpbnRlIHVwcHPDtmthIHNsdXRldCBhdiBmaWxlblxuIgogCi0jCi0jOiByZWFkZWxmLmM6NDI2NAorIzogcmVhZGVsZi5jOjQ5MDEKIG1zZ2lkICJVbmFibGUgdG8gZGV0ZXJtaW5lIHRoZSBsZW5ndGggb2YgdGhlIGR5bmFtaWMgc3RyaW5nIHRhYmxlXG4iCi1tc2dzdHIgIkthbiBpbnRlIGZhc3RzdORsbGEgbORuZ2RlbiBw5SBkZW4gZHluYW1pc2thIHN0cuRuZ3RhYmVsbGVuXG4iCittc2dzdHIgIkthbiBpbnRlIGZhc3RzdMOkbGxhIGzDpG5nZGVuIHDDpSBkZW4gZHluYW1pc2thIHN0csOkbmd0YWJlbGxlblxuIgogCi0jCi0jOiByZWFkZWxmLmM6NDI2OQorIzogcmVhZGVsZi5jOjQ5MDYKIG1zZ2lkICJkeW5hbWljIHN0cmluZyB0YWJsZSIKLW1zZ3N0ciAiZHluYW1pc2sgc3Ry5G5ndGFiZWxsIgorbXNnc3RyICJkeW5hbWlzayBzdHLDpG5ndGFiZWxsIgogCi0jCi0jOiByZWFkZWxmLmM6NDMwMworIzogcmVhZGVsZi5jOjQ5NDEKIG1zZ2lkICJzeW1ib2wgaW5mb3JtYXRpb24iCiBtc2dzdHIgInN5bWJvbGluZm9ybWF0aW9uIgogCi0jCi0jOiByZWFkZWxmLmM6NDMyNworIzogcmVhZGVsZi5jOjQ5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgotIkR5bmFtaWMgc2VnbWVudCBhdCBvZmZzZXQgMHgleCBjb250YWlucyAlbGQgZW50cmllczpcbiIKKyJEeW5hbWljIHNlZ21lbnQgYXQgb2Zmc2V0IDB4JWx4IGNvbnRhaW5zICVsZCBlbnRyaWVzOlxuIgogbXNnc3RyICIiCiAiXG4iCi0iRHluYW1pc2t0IHNlZ21lbnQgcOUgb2Zmc2V0IDB4JXggaW5uZWjlbGxlciAlbGQgcG9zdGVyOlxuIgorIkR5bmFtaXNrdCBzZWdtZW50IHDDpSBvZmZzZXQgMHglbHggaW5uZWjDpWxsZXIgJWxkIHBvc3RlcjpcbiIKIAotIwotIzogcmVhZGVsZi5jOjQzMzAKKyM6IHJlYWRlbGYuYzo0OTY4CiBtc2dpZCAiICBUYWcgICAgICAgIFR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZS9WYWx1ZVxuIgotbXNnc3RyICIgIFRhZ2cgICAgICAgVHlwICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1uL1bkcmRlXG4iCittc2dzdHIgIiAgVGFnZyAgICAgICBUeXAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbW4vVsOkcmRlXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo0MzY2CisjOiByZWFkZWxmLmM6NTAwNAogbXNnaWQgIkF1eGlsaWFyeSBsaWJyYXJ5IgogbXNnc3RyICJ5dHRyZSBiaWJsaW90ZWsiCiAKLSMKLSM6IHJlYWRlbGYuYzo0MzcwCisjOiByZWFkZWxmLmM6NTAwOAogbXNnaWQgIkZpbHRlciBsaWJyYXJ5IgogbXNnc3RyICJmaWx0ZXJiaWJsaW90ZWsiCiAKLSMKLSM6IHJlYWRlbGYuYzo0Mzc0CisjOiByZWFkZWxmLmM6NTAxMgogbXNnaWQgIkNvbmZpZ3VyYXRpb24gZmlsZSIKIG1zZ3N0ciAia29uZmlndXJhdGlvbnNmaWwiCiAKLSMKLSM6IHJlYWRlbGYuYzo0Mzc4CisjOiByZWFkZWxmLmM6NTAxNgogbXNnaWQgIkRlcGVuZGVuY3kgYXVkaXQgbGlicmFyeSIKLW1zZ3N0ciAiYmVyb2VuZPZ2ZXJ2YWtuaW5nc2JpYmxpb3RlayIKK21zZ3N0ciAiYmVyb2VuZMO2dmVydmFrbmluZ3NiaWJsaW90ZWsiCiAKLSMKLSM6IHJlYWRlbGYuYzo0MzgyCisjOiByZWFkZWxmLmM6NTAyMAogbXNnaWQgIkF1ZGl0IGxpYnJhcnkiCi1tc2dzdHIgIvZ2ZXJ2YWtuaW5nc2JpYmxpb3RlayIKK21zZ3N0ciAiw7Z2ZXJ2YWtuaW5nc2JpYmxpb3RlayIKIAotIwotIzogcmVhZGVsZi5jOjQ0MDAgcmVhZGVsZi5jOjQ0MjYgcmVhZGVsZi5jOjQ0NTIKKyM6IHJlYWRlbGYuYzo1MDM4IHJlYWRlbGYuYzo1MDY2IHJlYWRlbGYuYzo1MDk0CiBtc2dpZCAiRmxhZ3M6IgogbXNnc3RyICJmbGFnZ29yOiIKIAotIwotIzogcmVhZGVsZi5jOjQ0MDIgcmVhZGVsZi5jOjQ0MjggcmVhZGVsZi5jOjQ0NTQKKyM6IHJlYWRlbGYuYzo1MDQxIHJlYWRlbGYuYzo1MDY5IHJlYWRlbGYuYzo1MDk2CiBtc2dpZCAiIE5vbmVcbiIKIG1zZ3N0ciAiIGluZ2FcbiIKIAotIwotIzogcmVhZGVsZi5jOjQ1NzMKKyM6IHJlYWRlbGYuYzo1MjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNoYXJlZCBsaWJyYXJ5OiBbJXNdIgogbXNnc3RyICJkZWxhdCBiaWJsaW90ZWs6IFslc10iCiAKLSMKLSM6IHJlYWRlbGYuYzo0NTc2CisjOiByZWFkZWxmLmM6NTIyMAogbXNnaWQgIiBwcm9ncmFtIGludGVycHJldGVyIgogbXNnc3RyICIgcHJvZ3JhbXRvbGsiCiAKLSMKLSM6IHJlYWRlbGYuYzo0NTgwCisjOiByZWFkZWxmLmM6NTIyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJMaWJyYXJ5IHNvbmFtZTogWyVzXSIKIG1zZ3N0ciAiYmlibGlvdGVrcyBzby1uYW1uOiBbJXNdIgogCi0jCi0jOiByZWFkZWxmLmM6NDU4NAorIzogcmVhZGVsZi5jOjUyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTGlicmFyeSBycGF0aDogWyVzXSIKIG1zZ3N0ciAiYmlibGlvdGVrZXRzIHJwYXRoOiBbJXNdIgogCi0jCi0jOiByZWFkZWxmLmM6NDU4OAorIzogcmVhZGVsZi5jOjUyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTGlicmFyeSBydW5wYXRoOiBbJXNdIgogbXNnc3RyICJiaWJsaW90ZWtldHMgcnVucGF0aDogWyVzXSIKIAotIwotIzogcmVhZGVsZi5jOjQ2NDkKKyM6IHJlYWRlbGYuYzo1Mjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBuZWVkZWQgb2JqZWN0OiBbJXNdXG4iCi1tc2dzdHIgIm9u9mRpZ3Qgb2JqZWt0OiBbJXNdXG4iCittc2dzdHIgIm9uw7ZkaWd0IG9iamVrdDogWyVzXVxuIgogCi0jCi0jOiByZWFkZWxmLmM6NDc0NgorIzogcmVhZGVsZi5jOjU0MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgogIlZlcnNpb24gZGVmaW5pdGlvbiBzZWN0aW9uICclcycgY29udGFpbnMgJWxkIGVudHJpZXM6XG4iCiBtc2dzdHIgIiIKICJcbiIKLSJWZXJzaW9uZGVmaW5pdGlvbnNzZWt0aW9uIFwiJXNcIiBpbm5laOVsbGVyICVsZCBwb3N0ZXI6XG4iCisiVmVyc2lvbmRlZmluaXRpb25zc2VrdGlvbiBcIiVzXCIgaW5uZWjDpWxsZXIgJWxkIHBvc3RlcjpcbiIKIAotIwotIzogcmVhZGVsZi5jOjQ3NDkKKyM6IHJlYWRlbGYuYzo1NDE1CiBtc2dpZCAiICBBZGRyOiAweCIKIG1zZ3N0ciAiICBBZHI6IDB4IgogCi0jCi0jOiByZWFkZWxmLmM6NDc1MSByZWFkZWxmLmM6NDk0NgorIzogcmVhZGVsZi5jOjU0MTcgcmVhZGVsZi5jOjU2MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBPZmZzZXQ6ICUjMDhseCAgTGluazogJWx4ICglcylcbiIKLW1zZ3N0ciAiICBPZmZzZXQ6ICUjMDhseCAgTORuazogJWx4ICglcylcbiIKK21zZ3N0ciAiICBPZmZzZXQ6ICUjMDhseCAgTMOkbms6ICVseCAoJXMpXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo0NzU4CisjOiByZWFkZWxmLmM6NTQyNAogbXNnaWQgInZlcnNpb24gZGVmaW5pdGlvbiBzZWN0aW9uIgogbXNnc3RyICJ2ZXJzaW9uZGVmaW5pdGlvbnNzZWt0aW9uIgogCi0jCi0jOiByZWFkZWxmLmM6NDc4NAorIzogcmVhZGVsZi5jOjU0NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAlIzA2eDogUmV2OiAlZCAgRmxhZ3M6ICVzIgogbXNnc3RyICIgICUjMDZ4OiBSZXY6ICVkICBGbGFnZ29yOiAlcyIKIAotIwotIzogcmVhZGVsZi5jOjQ3ODcKKyM6IHJlYWRlbGYuYzo1NDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgSW5kZXg6ICVkICBDbnQ6ICVkICAiCiBtc2dzdHIgIiAgSW5kZXg6ICVkICBBbnQ6ICVkICAiCiAKLSMKLSM6IHJlYWRlbGYuYzo0Nzk4CisjOiByZWFkZWxmLmM6NTQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJOYW1lOiAlc1xuIgogbXNnc3RyICJOYW1uOiAlc1xuIgogCi0jCi0jOiByZWFkZWxmLmM6NDgwMAorIzogcmVhZGVsZi5jOjU0NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTmFtZSBpbmRleDogJWxkXG4iCiBtc2dzdHIgIk5hbW5pbmRleDogJWxkXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo0ODE1CisjOiByZWFkZWxmLmM6NTQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICUjMDZ4OiBQYXJlbnQgJWQ6ICVzXG4iCi1tc2dzdHIgIiAgJSMwNng6IEb2cuRsZGVyICVkOiAlc1xuIgorbXNnc3RyICIgICUjMDZ4OiBGw7Zyw6RsZGVyICVkOiAlc1xuIgogCi0jCi0jOiByZWFkZWxmLmM6NDgxOAorIzogcmVhZGVsZi5jOjU0ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAlIzA2eDogUGFyZW50ICVkLCBuYW1lIGluZGV4OiAlbGRcbiIKLW1zZ3N0ciAiICAlIzA2eDogRvZy5GxkZXIgJWQsIG5hbW5pbmRleDogJWxkXG4iCittc2dzdHIgIiAgJSMwNng6IEbDtnLDpGxkZXIgJWQsIG5hbW5pbmRleDogJWxkXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo0ODM3CisjOiByZWFkZWxmLmM6NTUwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCiAiVmVyc2lvbiBuZWVkcyBzZWN0aW9uICclcycgY29udGFpbnMgJWxkIGVudHJpZXM6XG4iCiBtc2dzdHIgIiIKICJcbiIKLSJWZXJzaW9uYmVob3Zzc2VrdGlvbiBcIiVzXCIgaW5uZWjlbGxlciAlbGQgcG9zdGVyOlxuIgorIlZlcnNpb25iZWhvdnNzZWt0aW9uIFwiJXNcIiBpbm5laMOlbGxlciAlbGQgcG9zdGVyOlxuIgogCi0jCi0jOiByZWFkZWxmLmM6NDg0MAorIzogcmVhZGVsZi5jOjU1MDYKIG1zZ2lkICIgQWRkcjogMHgiCiBtc2dzdHIgIiBBZHI6IDB4IgogCi0jCi0jOiByZWFkZWxmLmM6NDg0MgorIzogcmVhZGVsZi5jOjU1MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBPZmZzZXQ6ICUjMDhseCAgTGluayB0byBzZWN0aW9uOiAlbGQgKCVzKVxuIgotbXNnc3RyICIgIE9mZnNldDogJSMwOGx4ICBM5G5rIHRpbGwgc2VrdGlvbjogJWxkICglcylcbiIKK21zZ3N0ciAiICBPZmZzZXQ6ICUjMDhseCAgTMOkbmsgdGlsbCBzZWt0aW9uOiAlbGQgKCVzKVxuIgogCi0jCi0jOiByZWFkZWxmLmM6NDg0OAorIzogcmVhZGVsZi5jOjU1MTQKIG1zZ2lkICJ2ZXJzaW9uIG5lZWQgc2VjdGlvbiIKIG1zZ3N0ciAidmVyc2lvbnNiZWhvdnNzZWt0aW9uIgogCi0jCi0jOiByZWFkZWxmLmM6NDg3MAorIzogcmVhZGVsZi5jOjU1MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAlIzA2eDogVmVyc2lvbjogJWQiCiBtc2dzdHIgIiAlIzA2eDogVmVyc2lvbjogJWQiCiAKLSMKLSM6IHJlYWRlbGYuYzo0ODczCisjOiByZWFkZWxmLmM6NTUzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZpbGU6ICVzIgogbXNnc3RyICIgIEZpbDogJXMiCiAKLSMKLSM6IHJlYWRlbGYuYzo0ODc1CisjOiByZWFkZWxmLmM6NTU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZpbGU6ICVseCIKIG1zZ3N0ciAiICBGaWw6ICVseCIKIAotIwotIzogcmVhZGVsZi5jOjQ4NzcKKyM6IHJlYWRlbGYuYzo1NTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgQ250OiAlZFxuIgogbXNnc3RyICIgQW50OiAlZFxuIgogCi0jCi0jOiByZWFkZWxmLmM6NDg5NQorIzogcmVhZGVsZi5jOjU1NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAlIzA2eDogTmFtZTogJXMiCiBtc2dzdHIgIiAgJSMwNng6IE5hbW46ICVzIgogCi0jCi0jOiByZWFkZWxmLmM6NDg5OAorIzogcmVhZGVsZi5jOjU1NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAlIzA2eDogTmFtZSBpbmRleDogJWx4IgogbXNnc3RyICIgICUjMDZ4OiBOYW1uaW5kZXg6ICVseCIKIAotIwotIzogcmVhZGVsZi5jOjQ5MDEKKyM6IHJlYWRlbGYuYzo1NTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmxhZ3M6ICVzICBWZXJzaW9uOiAlZFxuIgogbXNnc3RyICIgIEZsYWdnb3I6ICVzICBWZXJzaW9uOiAlZFxuIgogCi0jCi0jOiByZWFkZWxmLmM6NDkzNworIzogcmVhZGVsZi5jOjU2MDMKIG1zZ2lkICJ2ZXJzaW9uIHN0cmluZyB0YWJsZSIKLW1zZ3N0ciAidmVyc2lvbnNzdHLkbmd0YWJlbGwiCittc2dzdHIgInZlcnNpb25zc3Ryw6RuZ3RhYmVsbCIKIAotIwotIzogcmVhZGVsZi5jOjQ5NDEKKyM6IHJlYWRlbGYuYzo1NjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKICJWZXJzaW9uIHN5bWJvbHMgc2VjdGlvbiAnJXMnIGNvbnRhaW5zICVkIGVudHJpZXM6XG4iCiBtc2dzdHIgIiIKICJcbiIKLSJWZXJzaW9uc3ltYm9sc3Nla3Rpb24gXCIlc1wiIGlubmVo5WxsZXIgJWQgcG9zdGVyOlxuIgorIlZlcnNpb25zeW1ib2xzc2VrdGlvbiBcIiVzXCIgaW5uZWjDpWxsZXIgJWQgcG9zdGVyOlxuIgogCi0jCi0jOiByZWFkZWxmLmM6NDk0NAorIzogcmVhZGVsZi5jOjU2MTAKIG1zZ2lkICIgQWRkcjogIgogbXNnc3RyICIgQWRyOiAiCiAKLSMKLSM6IHJlYWRlbGYuYzo0OTU0CisjOiByZWFkZWxmLmM6NTYyMgogbXNnaWQgInZlcnNpb24gc3ltYm9sIGRhdGEiCiBtc2dzdHIgInZlcnNpb25zeW1ib2xzZGF0YSIKIAotIwotIzogcmVhZGVsZi5jOjQ5ODEKKyM6IHJlYWRlbGYuYzo1NjQ5CiBtc2dpZCAiICAgMCAoKmxvY2FsKikgICAgIgogbXNnc3RyICIgICAwICgqbG9rYWwqKSAgICAiCiAKLSMKLSM6IHJlYWRlbGYuYzo0OTg1CisjOiByZWFkZWxmLmM6NTY1MwogbXNnaWQgIiAgIDEgKCpnbG9iYWwqKSAgICIKIG1zZ3N0ciAiICAgMSAoKmdsb2JhbCopICAgIgogCi0jCi0jOiByZWFkZWxmLmM6NTAyMCByZWFkZWxmLmM6NTQ1NAorIzogcmVhZGVsZi5jOjU2ODkgcmVhZGVsZi5jOjYxMjkKIG1zZ2lkICJ2ZXJzaW9uIG5lZWQiCiBtc2dzdHIgInZlcnNpb25zYmVob3YiCiAKLSMKLSM6IHJlYWRlbGYuYzo1MDMwCisjOiByZWFkZWxmLmM6NTY5OQogbXNnaWQgInZlcnNpb24gbmVlZCBhdXggKDIpIgogbXNnc3RyICJ5dHRyZSB2ZXJzaW9uc2JlaG92ICgyKSIKIAotIwotIzogcmVhZGVsZi5jOjUwNzEgcmVhZGVsZi5jOjU1MTYKKyM6IHJlYWRlbGYuYzo1NzQxIHJlYWRlbGYuYzo2MTkyCiBtc2dpZCAidmVyc2lvbiBkZWYiCiBtc2dzdHIgInZlcnNpb25zZGVmLiIKIAotIwotIzogcmVhZGVsZi5jOjUwOTAgcmVhZGVsZi5jOjU1MzEKKyM6IHJlYWRlbGYuYzo1NzYwIHJlYWRlbGYuYzo2MjA3CiBtc2dpZCAidmVyc2lvbiBkZWYgYXV4IgogbXNnc3RyICJ5dHRyZSB2ZXJzaW9uc2RlZi4iCiAKLSMKLSM6IHJlYWRlbGYuYzo1MTIxCisjOiByZWFkZWxmLmM6NTc5MQogbXNnaWQgIiIKICJcbiIKICJObyB2ZXJzaW9uIGluZm9ybWF0aW9uIGZvdW5kIGluIHRoaXMgZmlsZS5cbiIKQEAgLTM2ODksMTQ1ICszMjg0LDEwNyBAQAogIlxuIgogIkRldCBmYW5ucyBpbmdlbiB2ZXJzaW9uc2luZm9ybWF0aW9uIGkgZGVubmEgZmlsLlxuIgogCi0jCi0jOiByZWFkZWxmLmM6NTEzOSByZWFkZWxmLmM6NTE3NAotIywgYy1mb3JtYXQKLW1zZ2lkICI8cHJvY2Vzc29yIHNwZWNpZmljPjogJWQiCi1tc2dzdHIgIjxwcm9jZXNzb3JzcGVjaWZpaz46ICVkIgotCi0jCi0jOiByZWFkZWxmLmM6NTE0MSByZWFkZWxmLmM6NTE4NgotIywgYy1mb3JtYXQKLW1zZ2lkICI8T1Mgc3BlY2lmaWM+OiAlZCIKLW1zZ3N0ciAiPE9TLXNwZWNpZmlrPjogJWQiCi0KLSMKLSM6IHJlYWRlbGYuYzo1MTQzIHJlYWRlbGYuYzo1MTg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIjx1bmtub3duPjogJWQiCi1tc2dzdHIgIjxva+RuZD46ICVkIgotCi0jCi0jOiByZWFkZWxmLmM6NTI1MgorIzogcmVhZGVsZi5jOjU5MjMKIG1zZ2lkICJVbmFibGUgdG8gcmVhZCBpbiBkeW5hbWljIGRhdGFcbiIKLW1zZ3N0ciAiS2FuIGludGUgbORzYSBpbiBkeW5hbWlzayBkYXRhXG4iCittc2dzdHIgIkthbiBpbnRlIGzDpHNhIGluIGRlbiBkeW5hbWlza2EgZGF0YW5cbiIKIAotIwotIzogcmVhZGVsZi5jOjUyOTQKKyM6IHJlYWRlbGYuYzo1OTY3CiBtc2dpZCAiVW5hYmxlIHRvIHNlZWsgdG8gc3RhcnQgb2YgZHluYW1pYyBpbmZvcm1hdGlvbiIKLW1zZ3N0ciAiS2FuIGludGUgdXBwc/ZrYSBi9nJqYW4gYXYgZGVuIGR5bmFtaXNrYSBpbmZvcm1hdGlvbmVuIgorbXNnc3RyICJLYW4gaW50ZSB1cHBzw7ZrYSBiw7ZyamFuIGF2IGRlbiBkeW5hbWlza2EgaW5mb3JtYXRpb25lbiIKIAotIwotIzogcmVhZGVsZi5jOjUzMDAKKyM6IHJlYWRlbGYuYzo1OTczCiBtc2dpZCAiRmFpbGVkIHRvIHJlYWQgaW4gbnVtYmVyIG9mIGJ1Y2tldHNcbiIKLW1zZ3N0ciAiTWlzc2x5Y2thZGVzIGzkc2EgaW4gYW50YWxldCBoaW5rYXJcbiIKK21zZ3N0ciAiTHlja2FkZXMgaW50ZSBsw6RzYSBhbnRhbCBoaW5rYXJcbiIKIAotIwotIzogcmVhZGVsZi5jOjUzMDYKKyM6IHJlYWRlbGYuYzo1OTc5CiBtc2dpZCAiRmFpbGVkIHRvIHJlYWQgaW4gbnVtYmVyIG9mIGNoYWluc1xuIgotbXNnc3RyICJNaXNzbHlja2FkZXMgTORzYSBpbiBhbnRhbGV0IGtlZGpvclxuIgorbXNnc3RyICJMeWNrYWRlcyBpbnRlIGzDpHNhIGFudGFsIGtlZGpvclxuIgogCi0jCi0jOiByZWFkZWxmLmM6NTMyNgorIzogcmVhZGVsZi5jOjU5OTkKIG1zZ2lkICIiCiAiXG4iCiAiU3ltYm9sIHRhYmxlIGZvciBpbWFnZTpcbiIKIG1zZ3N0ciAiIgogIlxuIgotIlN5bWJvbHRhYmVsbCBm9nIgZmlsYmlsZGVuOlxuIgorIlN5bWJvbHRhYmVsbCBmw7ZyIGF2YmlsZGVuOlxuIgogCi0jCi0jOiByZWFkZWxmLmM6NTMyOAorIzogcmVhZGVsZi5jOjYwMDEKIG1zZ2lkICIgIE51bSBCdWM6ICAgIFZhbHVlICBTaXplICAgVHlwZSAgIEJpbmQgVmlzICAgICAgTmR4IE5hbWVcbiIKLW1zZ3N0ciAiICBOciAgSGluOiAgICBW5HJkZSAgU3RybCAgIFR5cCAgICBCaW5kIFN5bmwgICAgIElkeCBOYW1uXG4iCittc2dzdHIgIiAgTnIgIEhpbjogICAgVsOkcmRlICBTdHJsICAgVHlwICAgIEJpbmQgU3lubCAgICAgSWR4IE5hbW5cbiIKIAotIwotIzogcmVhZGVsZi5jOjUzMzAKKyM6IHJlYWRlbGYuYzo2MDAzCiBtc2dpZCAiICBOdW0gQnVjOiAgICBWYWx1ZSAgICAgICAgICBTaXplICAgVHlwZSAgIEJpbmQgVmlzICAgICAgTmR4IE5hbWVcbiIKLW1zZ3N0ciAiICBOciAgSGluOiAgICBW5HJkZSAgICAgICAgICBTdHJsICAgVHlwICAgIEJpbmQgU3lubCAgICAgSWR4IE5hbW5cbiIKK21zZ3N0ciAiICBOciAgSGluOiAgICBWw6RyZGUgICAgICAgICAgU3RybCAgIFR5cCAgICBCaW5kIFN5bmwgICAgIElkeCBOYW1uXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo1Mzc1CisjOiByZWFkZWxmLmM6NjA0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCiAiU3ltYm9sIHRhYmxlICclcycgY29udGFpbnMgJWx1IGVudHJpZXM6XG4iCiBtc2dzdHIgIiIKICJcbiIKLSJTeW1ib2x0YWJlbGwgXCIlc1wiIGlubmVo5WxsZXIgJWx1IHBvc3RlcjpcbiIKKyJTeW1ib2x0YWJlbGwgXCIlc1wiIGlubmVow6VsbGVyICVsdSBwb3N0ZXI6XG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo1Mzc5CisjOiByZWFkZWxmLmM6NjA1MgogbXNnaWQgIiAgIE51bTogICAgVmFsdWUgIFNpemUgVHlwZSAgICBCaW5kICAgVmlzICAgICAgTmR4IE5hbWVcbiIKLW1zZ3N0ciAiICAgIE5yOiAgICBW5HJkZSAgU3RybCBUeXAgICAgIEJpbmQgICBTeW5sICAgICBJZHggTmFtblxuIgorbXNnc3RyICIgICAgTnI6ICAgIFbDpHJkZSAgU3RybCBUeXAgICAgIEJpbmQgICBTeW5sICAgICBJZHggTmFtblxuIgogCi0jCi0jOiByZWFkZWxmLmM6NTM4MQorIzogcmVhZGVsZi5jOjYwNTQKIG1zZ2lkICIgICBOdW06ICAgIFZhbHVlICAgICAgICAgIFNpemUgVHlwZSAgICBCaW5kICAgVmlzICAgICAgTmR4IE5hbWVcbiIKLW1zZ3N0ciAiICAgIE5yOiAgICBW5HJkZSAgICAgICAgICBTdHJsIFR5cCAgICAgQmluZCAgIFN5bmwgICAgIElkeCBOYW1uXG4iCittc2dzdHIgIiAgICBOcjogICAgVsOkcmRlICAgICAgICAgIFN0cmwgVHlwICAgICBCaW5kICAgU3lubCAgICAgSWR4IE5hbW5cbiIKIAotIwotIzogcmVhZGVsZi5jOjU0MjcKKyM6IHJlYWRlbGYuYzo2MTAxCiBtc2dpZCAidmVyc2lvbiBkYXRhIgogbXNnc3RyICJ2ZXJzaW9uc2RhdGEiCiAKLSMKLSM6IHJlYWRlbGYuYzo1NDY3CisjOiByZWFkZWxmLmM6NjE0MgogbXNnaWQgInZlcnNpb24gbmVlZCBhdXggKDMpIgogbXNnc3RyICJ5dHRyZSB2ZXJzaW9uc2JlaG92ICgzKSIKIAotIwotIzogcmVhZGVsZi5jOjU0OTIKKyM6IHJlYWRlbGYuYzo2MTY3CiBtc2dpZCAiYmFkIGR5bmFtaWMgc3ltYm9sIgogbXNnc3RyICJmZWxha3RpZyBkeW5hbWlzayBzeW1ib2wiCiAKLSMKLSM6IHJlYWRlbGYuYzo1NTU0CisjOiByZWFkZWxmLmM6NjIzMAogbXNnaWQgIiIKICJcbiIKICJEeW5hbWljIHN5bWJvbCBpbmZvcm1hdGlvbiBpcyBub3QgYXZhaWxhYmxlIGZvciBkaXNwbGF5aW5nIHN5bWJvbHMuXG4iCiBtc2dzdHIgIiIKICJcbiIKLSJJbmZvcm1hdGlvbmVuIG9tIGR5bmFtaXNrYSBzeW1ib2xlciDkciBpbnRlIHRpbGxn5G5nbGlnIGb2ciBhdHQgdmlzYSBzeW1ib2xlci5cbiIKKyJJbmZvcm1hdGlvbmVuIG9tIGR5bmFtaXNrYSBzeW1ib2xlciDDpHIgaW50ZSB0aWxsZ8OkbmdsaWcgZsO2ciBhdHQgdmlzYSBzeW1ib2xlci5cbiIKIAotIwotIzogcmVhZGVsZi5jOjU1NjYKKyM6IHJlYWRlbGYuYzo2MjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKICJIaXN0b2dyYW0gZm9yIGJ1Y2tldCBsaXN0IGxlbmd0aCAodG90YWwgb2YgJWQgYnVja2V0cyk6XG4iCiBtc2dzdHIgIiIKICJcbiIKLSJIaXN0b2dyYW0g9nZlciBoaW5rYXJuYXMgbGlzdGzkbmdkICh0b3RhbHQgJWQgaGlua2FyKTpcbiIKKyJIaXN0b2dyYW0gw7Z2ZXIgaGlua2FybmFzIGxpc3Rsw6RuZ2QgKHRvdGFsdCAlZCBoaW5rYXIpOlxuIgogCi0jCi0jOiByZWFkZWxmLmM6NTU2OAorIzogcmVhZGVsZi5jOjYyNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIExlbmd0aCAgTnVtYmVyICAgICAlJSBvZiB0b3RhbCAgQ292ZXJhZ2VcbiIKLW1zZ3N0ciAiIEzkbmdkICAgTnVtbWVyICAgICAlJSBhdiBhbGxhICAgVORja25pbmdcbiIKK21zZ3N0ciAiIEzDpG5nZCAgIE51bW1lciAgICAgJSUgYXYgYWxsYSAgIFTDpGNrbmluZ1xuIgogCi0jCi0jOiByZWFkZWxmLmM6NTU3MyByZWFkZWxmLmM6NTU5MiByZWFkZWxmLmM6ODgyNSByZWFkZWxmLmM6OTAxNworIzogcmVhZGVsZi5jOjYyNDkgcmVhZGVsZi5jOjYyNjggcmVhZGVsZi5jOjk4OTggcmVhZGVsZi5jOjEwMDkwCiBtc2dpZCAiT3V0IG9mIG1lbW9yeSIKLW1zZ3N0ciAiU2x1dCBw5SBtaW5uZSIKK21zZ3N0ciAiU2x1dCBww6UgbWlubmUiCiAKLSMKLSM6IHJlYWRlbGYuYzo1NjQxCisjOiByZWFkZWxmLmM6NjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCiAiRHluYW1pYyBpbmZvIHNlZ21lbnQgYXQgb2Zmc2V0IDB4JWx4IGNvbnRhaW5zICVkIGVudHJpZXM6XG4iCiBtc2dzdHIgIiIKICJcbiIKLSJEeW5hbWlza3QgaW5mby1zZWdtZW50IHDlIG9mZnNldCAweCVseCBpbm5laOVsbGVyICVkIHBvc3RlcjpcbiIKKyJEeW5hbWlza3QgaW5mby1zZWdtZW50IHDDpSBvZmZzZXQgMHglbHggaW5uZWjDpWxsZXIgJWQgcG9zdGVyOlxuIgogCi0jCi0jOiByZWFkZWxmLmM6NTY0NAorIzogcmVhZGVsZi5jOjYzMjAKIG1zZ2lkICIgTnVtOiBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgQm91bmRUbyAgICAgRmxhZ3NcbiIKLW1zZ3N0ciAiICBOcjogTmFtbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1bmRlblRpbGwgIEZsYWdnb3JcbiIKK21zZ3N0ciAiICBOcjogTmFtbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEJpbmQgdGlsbCAgIEZsYWdnXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo1Njk2CisjOiByZWFkZWxmLmM6NjM3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zODM2LDggKzMzOTMsNyBAQAogIlxuIgogIkRpc2Fzc2VtYmxlcmluZ3N1dHNrcmlmdCBhdiBzZWt0aW9uICVzXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo1NzE5CisjOiByZWFkZWxmLmM6NjM5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zODQ2LDggKzM0MDIsNyBAQAogIlxuIgogIlNla3Rpb24gXCIlc1wiIGhhciBpbmdlbiBkYXRhIGF0dCBza3JpdmEgdXQuXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo1NzI0CisjOiByZWFkZWxmLmM6NjQwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zODU2LDYyICszNDExLDUyIEBACiAiXG4iCiAiSGV4YWRlY2ltYWwgdXRza3JpZnQgYXYgc2VrdGlvbiBcIiVzXCI6XG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo1NzI5CisjOiByZWFkZWxmLmM6NjQwNgogbXNnaWQgInNlY3Rpb24gZGF0YSIKIG1zZ3N0ciAic2VrdGlvbnNkYXRhIgogCi0jCi0jOiByZWFkZWxmLmM6NTg3OAorIzogcmVhZGVsZi5jOjY1NTUKIG1zZ2lkICJiYWRseSBmb3JtZWQgZXh0ZW5kZWQgbGluZSBvcCBlbmNvdW50ZXJlZCFcbiIKLW1zZ3N0ciAiZmVsYWt0aWd0IHV0Zm9ybWFkIHV09mthZCByYWQtb3AgcOV0cuRmZmFkZXMhXG4iCittc2dzdHIgImZlbGFrdGlndCB1dGZvcm1hZCB1dMO2a2FkIHJhZC1vcCBww6V0csOkZmZhZGVzIVxuIgogCi0jCi0jOiByZWFkZWxmLmM6NTg4NQorIzogcmVhZGVsZi5jOjY1NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBFeHRlbmRlZCBvcGNvZGUgJWQ6ICIKLW1zZ3N0ciAiICBVdPZrYWQgb3Ata29kICVkOiAiCittc2dzdHIgIiAgVXTDtmthZCBvcC1rb2QgJWQ6ICIKIAotIwotIzogcmVhZGVsZi5jOjU4OTAKKyM6IHJlYWRlbGYuYzo2NTY3CiBtc2dpZCAiIgogIkVuZCBvZiBTZXF1ZW5jZVxuIgogIlxuIgogbXNnc3RyICIiCi0iU2x1dCBw5SBzZWt2ZW5zZW5cbiIKKyJTbHV0IHDDpSBzZWt2ZW5zZW5cbiIKICJcbiIKIAotIwotIzogcmVhZGVsZi5jOjU4OTYKKyM6IHJlYWRlbGYuYzo2NTczCiAjLCBjLWZvcm1hdAogbXNnaWQgInNldCBBZGRyZXNzIHRvIDB4JWx4XG4iCi1tc2dzdHIgInPkdHQgQWRyZXNzIHRpbGwgMHglbHhcbiIKK21zZ3N0ciAic8OkdHQgQWRyZXNzIHRpbGwgMHglbHhcbiIKIAotIwotIzogcmVhZGVsZi5jOjU5MDEKKyM6IHJlYWRlbGYuYzo2NTc4CiBtc2dpZCAiICBkZWZpbmUgbmV3IEZpbGUgVGFibGUgZW50cnlcbiIKIG1zZ3N0ciAiICBkZWZpbmllcmEgbnkgZmlsdGFiZWxsc3Bvc3RcbiIKIAotIwotIzogcmVhZGVsZi5jOjU5MDIgcmVhZGVsZi5jOjYwMzEKKyM6IHJlYWRlbGYuYzo2NTc5IHJlYWRlbGYuYzo2NzI2CiBtc2dpZCAiICBFbnRyeVx0RGlyXHRUaW1lXHRTaXplXHROYW1lXG4iCiBtc2dzdHIgIiAgUG9zdFx0S2F0YWxvZ1x0VGlkXHRTdG9ybC5cdE5hbW5cbiIKIAotIwotIzogcmVhZGVsZi5jOjU5MDQKKyM6IHJlYWRlbGYuYzo2NTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICVkXHQiCiBtc2dzdHIgIiAgICVkXHQiCiAKLSMKLSM6IHJlYWRlbGYuYzo1OTA3IHJlYWRlbGYuYzo1OTA5IHJlYWRlbGYuYzo1OTExIHJlYWRlbGYuYzo2MDQzIHJlYWRlbGYuYzo2MDQ1Ci0jOiByZWFkZWxmLmM6NjA0NworIzogcmVhZGVsZi5jOjY1ODQgcmVhZGVsZi5jOjY1ODYgcmVhZGVsZi5jOjY1ODggcmVhZGVsZi5jOjY3MzggcmVhZGVsZi5jOjY3NDAKKyM6IHJlYWRlbGYuYzo2NzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdVx0IgogbXNnc3RyICIlbHVcdCIKIAotIwotIzogcmVhZGVsZi5jOjU5MTIKKyM6IHJlYWRlbGYuYzo2NTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlc1xuIgpAQCAtMzkyMCwxNCArMzQ2NSwxMiBAQAogIiVzXG4iCiAiXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo1OTE2CisjOiByZWFkZWxmLmM6NjU5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJVTktOT1dOOiBsZW5ndGggJWRcbiIKLW1zZ3N0ciAiT0vETkQ6IGzkbmdkICVkXG4iCittc2dzdHIgIk9Lw4RORDogbMOkbmdkICVkXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo1OTQyCisjOiByZWFkZWxmLmM6NjYyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zOTM1LDc1ICszNDc4LDU5IEBACiAiXG4iCiBtc2dzdHIgIiIKICJcbiIKLSJVdHNrcmlmdCBhdiBmZWxz9mtuaW5nc2lubmVo5WxsIGkgc2VrdGlvbiAlczpcbiIKKyJVdHNrcmlmdCBhdiBmZWxzw7ZrbmluZ3Npbm5laMOlbGwgaSBzZWt0aW9uICVzOlxuIgogIlxuIgogCi0jCi0jOiByZWFkZWxmLmM6NTk1NAotbXNnaWQgIjY0LWJpdCBEV0FSRiBsaW5lIGluZm8gaXMgbm90IHN1cHBvcnRlZCB5ZXQuXG4iCi1tc2dzdHIgIjY0LWJpdGFycyBEV0FSRi1yYWRpbmZvcm1hdGlvbiBzdPZkcyBpbnRlIORuLlxuIgotCi0jCi0jOiByZWFkZWxmLmM6NTk2MQorIzogcmVhZGVsZi5jOjY2NDkKIG1zZ2lkICJUaGUgbGluZSBpbmZvIGFwcGVhcnMgdG8gYmUgY29ycnVwdCAtIHRoZSBzZWN0aW9uIGlzIHRvbyBzbWFsbFxuIgotbXNnc3RyICJSYWRpbmZvcm1hdGlvbmVuIHZlcmthciB2YXJhIHRyYXNpZyAtIHNla3Rpb25lbiDkciBm9nIgbGl0ZW5cbiIKK21zZ3N0ciAiUmFkaW5mb3JtYXRpb25lbiB2ZXJrYXIgdmFyYSB0cmFzaWcgLSBzZWt0aW9uZW4gw6RyIGbDtnIgbGl0ZW5cbiIKIAotIwotIzogcmVhZGVsZi5jOjU5NjkKLW1zZ2lkICJPbmx5IERXQVJGIHZlcnNpb24gMiBsaW5lIGluZm8gaXMgY3VycmVudGx5IHN1cHBvcnRlZC5cbiIKLW1zZ3N0ciAiRW5kYXN0IERXQVJGIHZlcnNpb24gMjpzIHJhZGluZm8gc3T2ZHMgZvZyIG7kcnZhcmFuZGUuXG4iCisjOiByZWFkZWxmLmM6NjY1OAorbXNnaWQgIk9ubHkgRFdBUkYgdmVyc2lvbiAyIGFuZCAzIGxpbmUgaW5mbyBpcyBjdXJyZW50bHkgc3VwcG9ydGVkLlxuIgorbXNnc3RyICJFbmRhc3QgRFdBUkYgMiBvY2ggMyByYWRpbmZvIGhhbnRlcmFzIGbDtnIgbsOkcnZhcmFuZGUuXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo1OTg0CisjOiByZWFkZWxmLmM6NjY3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIExlbmd0aDogICAgICAgICAgICAgICAgICAgICAgJWxkXG4iCi1tc2dzdHIgIiAgbORuZ2Q6ICAgICAgICAgICAgICAgICAgICAgICAlbGRcbiIKK21zZ3N0ciAiICBsw6RuZ2Q6ICAgICAgICAgICAgICAgICAgICAgICAlbGRcbiIKIAotIwotIzogcmVhZGVsZi5jOjU5ODUKKyM6IHJlYWRlbGYuYzo2NjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRFdBUkYgVmVyc2lvbjogICAgICAgICAgICAgICAlZFxuIgogbXNnc3RyICIgIERXQVJGIHZlcnNpb246ICAgICAgICAgICAgICAgJWRcbiIKIAotIwotIzogcmVhZGVsZi5jOjU5ODYKKyM6IHJlYWRlbGYuYzo2NjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUHJvbG9ndWUgTGVuZ3RoOiAgICAgICAgICAgICAlZFxuIgotbXNnc3RyICIgIHByb2xvZ2zkbmdkOiAgICAgICAgICAgICAgICAgJWRcbiIKK21zZ3N0ciAiICBwcm9sb2dsw6RuZ2Q6ICAgICAgICAgICAgICAgICAlZFxuIgogCi0jCi0jOiByZWFkZWxmLmM6NTk4NworIzogcmVhZGVsZi5jOjY2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBNaW5pbXVtIEluc3RydWN0aW9uIExlbmd0aDogICVkXG4iCi1tc2dzdHIgIiAgbWluc3RhIGluc3RydWt0aW9uc2zkbmdkOiAgICAlZFxuIgorbXNnc3RyICIgIG1pbnN0YSBpbnN0cnVrdGlvbnNsw6RuZ2Q6ICAgICVkXG4iCiAKLSMKLSMgIEJVR0c6IFNrYSBkZXQgaW50ZSB2YXJhIGAnIHDlIGVuZ2Vsc2thPwotIzogcmVhZGVsZi5jOjU5ODgKKyMgIEJVR0c6IFNrYSBkZXQgaW50ZSB2YXJhIGAnIHDDpSBlbmdlbHNrYT8KKyM6IHJlYWRlbGYuYzo2NjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgSW5pdGlhbCB2YWx1ZSBvZiAnaXNfc3RtdCc6ICAlZFxuIgotbXNnc3RyICIgIGluaXRpYWx25HJkZSBw5SBcImlzX3N0bXRcIjogJWRcbiIKK21zZ3N0ciAiICBpbml0aWFsdsOkcmRlIHDDpSBcImlzX3N0bXRcIjogJWRcbiIKIAotIwotIzogcmVhZGVsZi5jOjU5ODkKKyM6IHJlYWRlbGYuYzo2Njg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTGluZSBCYXNlOiAgICAgICAgICAgICAgICAgICAlZFxuIgogbXNnc3RyICIgIHJhZGJhczogICAgICAgICAgICAgICAgICAgICAgJWRcbiIKIAotIwotIzogcmVhZGVsZi5jOjU5OTAKKyM6IHJlYWRlbGYuYzo2Njg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTGluZSBSYW5nZTogICAgICAgICAgICAgICAgICAlZFxuIgotbXNnc3RyICIgIHJhZGludGVydmFsbDogICAgICAgICAgICAgICAgJWRcbiIKK21zZ3N0ciAiICByYWRvbWbDpW5nOiAgICAgICAgICAgICAgICAgICAlZFxuIgogCi0jCi0jOiByZWFkZWxmLmM6NTk5MQorIzogcmVhZGVsZi5jOjY2ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBPcGNvZGUgQmFzZTogICAgICAgICAgICAgICAgICVkXG4iCiBtc2dzdHIgIiAgb3Ata29kYmFzOiAgICAgICAgICAgICAgICAgICAlZFxuIgogCi0jCi0jOiByZWFkZWxmLmM6NjAwMAorIzogcmVhZGVsZi5jOjY2OTUKIG1zZ2lkICIiCiAiXG4iCiAiIE9wY29kZXM6XG4iCkBAIC00MDExLDIzICszNTM4LDIwIEBACiAiXG4iCiAiIE9wLWtvZGVyOlxuIgogCi0jCi0jOiByZWFkZWxmLmM6NjAwMworIzogcmVhZGVsZi5jOjY2OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBPcGNvZGUgJWQgaGFzICVkIGFyZ3NcbiIKIG1zZ3N0ciAiICBPcC1rb2QgJWQgaGFyICVkIGFyZ3VtZW50XG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo2MDA5CisjOiByZWFkZWxmLmM6NjcwNAogbXNnaWQgIiIKICJcbiIKICIgVGhlIERpcmVjdG9yeSBUYWJsZSBpcyBlbXB0eS5cbiIKIG1zZ3N0ciAiIgogIlxuIgotIiBLYXRhbG9ndGFiZWxsZW4g5HIgdG9tLlxuIgorIiBLYXRhbG9ndGFiZWxsZW4gw6RyIHRvbS5cbiIKIAotIwotIzogcmVhZGVsZi5jOjYwMTIKKyM6IHJlYWRlbGYuYzo2NzA3CiBtc2dpZCAiIgogIlxuIgogIiBUaGUgRGlyZWN0b3J5IFRhYmxlOlxuIgpAQCAtNDAzNSwyMyArMzU1OSwyMCBAQAogIlxuIgogIiBLYXRhbG9ndGFiZWxsZW46XG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo2MDE2CisjOiByZWFkZWxmLmM6NjcxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICVzXG4iCiBtc2dzdHIgIiAgJXNcbiIKIAotIwotIzogcmVhZGVsZi5jOjYwMjcKKyM6IHJlYWRlbGYuYzo2NzIyCiBtc2dpZCAiIgogIlxuIgogIiBUaGUgRmlsZSBOYW1lIFRhYmxlIGlzIGVtcHR5LlxuIgogbXNnc3RyICIiCiAiXG4iCi0iIEZpbG5hbW5zdGFiZWxsZW4g5HIgdG9tLlxuIgorIiBGaWxuYW1uc3RhYmVsbGVuIMOkciB0b20uXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo2MDMwCisjOiByZWFkZWxmLmM6NjcyNQogbXNnaWQgIiIKICJcbiIKICIgVGhlIEZpbGUgTmFtZSBUYWJsZTpcbiIKQEAgLTQwNTksMjEgKzM1ODAsMTggQEAKICJcbiIKICIgRmlsbmFtbnN0YWJlbGxlbjpcbiIKIAotIwotIzogcmVhZGVsZi5jOjYwMzgKKyM6IHJlYWRlbGYuYzo2NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgJWRcdCIKIG1zZ3N0ciAiICAlZFx0IgogCi0jCi0jOiByZWFkZWxmLmM6NjA0OQorIzogcmVhZGVsZi5jOjY3NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNcbiIKIG1zZ3N0ciAiJXNcbiIKIAotIwogIy4gTm93IGRpc3BsYXkgdGhlIHN0YXRlbWVudHMuCi0jOiByZWFkZWxmLmM6NjA1NworIzogcmVhZGVsZi5jOjY3NTIKIG1zZ2lkICIiCiAiXG4iCiAiIExpbmUgTnVtYmVyIFN0YXRlbWVudHM6XG4iCkBAIC00MDgxLDEzOCArMzU5OSwxMTEgQEAKICJcbiIKICIgUmFkbnVtbWVyc2F0c2VyOlxuIgogCi0jCi0jOiByZWFkZWxmLmM6NjA3MworIzogcmVhZGVsZi5jOjY3NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBTcGVjaWFsIG9wY29kZSAlZDogYWR2YW5jZSBBZGRyZXNzIGJ5ICVkIHRvIDB4JWx4IgotbXNnc3RyICIgIFPkcnNraWxkIG9wLWtvZCAlZDog9mthIGFkcmVzc2VuIG1lZCAlZCB0aWxsIDB4JWx4IgorbXNnc3RyICIgIFPDpHJza2lsZCBvcC1rb2QgJWQ6IMO2a2EgYWRyZXNzZW4gbWVkICVkIHRpbGwgMHglbHgiCiAKLSMKLSM6IHJlYWRlbGYuYzo2MDc3CisjOiByZWFkZWxmLmM6Njc3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgYW5kIExpbmUgYnkgJWQgdG8gJWRcbiIKIG1zZ3N0ciAiIG9jaCByYWRudW1yZXQgbWVkICVkIHRpbGwgJWRcbiIKIAotIwotIzogcmVhZGVsZi5jOjYwODgKKyM6IHJlYWRlbGYuYzo2NzgzCiBtc2dpZCAiICBDb3B5XG4iCiBtc2dzdHIgIiAgS29waWVyYVxuIgogCi0jCi0jOiByZWFkZWxmLmM6NjA5NQorIzogcmVhZGVsZi5jOjY3OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBBZHZhbmNlIFBDIGJ5ICVkIHRvICVseFxuIgotbXNnc3RyICIgINZrYSBQQyBtZWQgJWQgdGlsbCAlbHhcbiIKK21zZ3N0ciAiICDDlmthIHByb2dyYW1yw6RrbmFyZW4gbWVkICVkIHRpbGwgJWx4XG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo2MTAzCisjOiByZWFkZWxmLmM6Njc5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEFkdmFuY2UgTGluZSBieSAlZCB0byAlZFxuIgotbXNnc3RyICIgINZrYSByYWRudW1yZXQgbWVkICVkIHRpbGwgJWRcbiIKK21zZ3N0ciAiICDDlmthIHJhZG51bXJldCBtZWQgJWQgdGlsbCAlZFxuIgogCi0jCi0jOiByZWFkZWxmLmM6NjExMAorIzogcmVhZGVsZi5jOjY4MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBTZXQgRmlsZSBOYW1lIHRvIGVudHJ5ICVkIGluIHRoZSBGaWxlIE5hbWUgVGFibGVcbiIKLW1zZ3N0ciAiICBT5HR0IGZpbG5hbW5ldCB0aWxsIHBvc3QgJWQgaSBmaWxuYW1uc3RhYmVsbGVuXG4iCittc2dzdHIgIiAgU8OkdHQgZmlsbmFtbmV0IHRpbGwgcG9zdCAlZCBpIGZpbG5hbW5zdGFiZWxsZW5cbiIKIAotIwotIzogcmVhZGVsZi5jOjYxMTgKKyM6IHJlYWRlbGYuYzo2ODEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgU2V0IGNvbHVtbiB0byAlZFxuIgotbXNnc3RyICIgIFPkdHQga29sdW1uZW4gdGlsbCAlZFxuIgorbXNnc3RyICIgIFPDpHR0IGtvbHVtbmVuIHRpbGwgJWRcbiIKIAotIwotIzogcmVhZGVsZi5jOjYxMjUKKyM6IHJlYWRlbGYuYzo2ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgU2V0IGlzX3N0bXQgdG8gJWRcbiIKLW1zZ3N0ciAiICBT5HR0IGlzX3N0bXQgdGlsbCAlZFxuIgorbXNnc3RyICIgIFPDpHR0IGlzX3N0bXQgdGlsbCAlZFxuIgogCi0jCi0jOiByZWFkZWxmLmM6NjEzMAorIzogcmVhZGVsZi5jOjY4MjUKIG1zZ2lkICIgIFNldCBiYXNpYyBibG9ja1xuIgotbXNnc3RyICIgIFPkdHQgYmFzYmxvY2tldFxuIgorbXNnc3RyICIgIFPDpHR0IGJhc2Jsb2NrZXRcbiIKIAotIwotIzogcmVhZGVsZi5jOjYxMzgKKyM6IHJlYWRlbGYuYzo2ODMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgQWR2YW5jZSBQQyBieSBjb25zdGFudCAlZCB0byAweCVseFxuIgotbXNnc3RyICIgINZrYSBQQyBtZWQga29uc3RhbnQgJWQgdGlsbCAweCVseFxuIgorbXNnc3RyICIgIMOWa2EgcHJvZ3JhbXLDpGtuYXJlbiBtZWQga29uc3RhbnQgJWQgdGlsbCAweCVseFxuIgogCi0jCi0jOiByZWFkZWxmLmM6NjE0NgorIzogcmVhZGVsZi5jOjY4NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBBZHZhbmNlIFBDIGJ5IGZpeGVkIHNpemUgYW1vdW50ICVkIHRvIDB4JWx4XG4iCi1tc2dzdHIgIiAg1mthIFBDIG1lZCBmYXN0bORuZ2RzYW50YWwgJWQgdGlsbCAweCVseFxuIgorbXNnc3RyICIgIMOWa2EgcHJvZ3JhbXLDpGtuYXJlbiBtZWQgZmFzdGzDpG5nZHNhbnRhbCAlZCB0aWxsIDB4JWx4XG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo2MTUxCisjOiByZWFkZWxmLmM6Njg0NgogbXNnaWQgIiAgU2V0IHByb2xvZ3VlX2VuZCB0byB0cnVlXG4iCi1tc2dzdHIgIiAgU+R0dCBwcm9sb2d1ZV9lbmQgdGlsbCBzYW5udFxuIgorbXNnc3RyICIgIFPDpHR0IHByb2xvZ3VlX2VuZCB0aWxsIHNhbm5cbiIKIAotIwotIzogcmVhZGVsZi5jOjYxNTUKKyM6IHJlYWRlbGYuYzo2ODUwCiBtc2dpZCAiICBTZXQgZXBpbG9ndWVfYmVnaW4gdG8gdHJ1ZVxuIgotbXNnc3RyICIgIFPkdHQgZXBpbG9ndWVfYmVnaW4gdGlsbCBzYW5udFxuIgorbXNnc3RyICIgIFPDpHR0IGVwaWxvZ3VlX2JlZ2luIHRpbGwgc2FublxuIgogCi0jCi0jOiByZWFkZWxmLmM6NjE2MQorIzogcmVhZGVsZi5jOjY4NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBTZXQgSVNBIHRvICVkXG4iCi1tc2dzdHIgIiAgU+R0dCBJU0EgdGlsbCAlZFxuIgorbXNnc3RyICIgIFPDpHR0IElTQSB0aWxsICVkXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo2MTY1CisjOiByZWFkZWxmLmM6Njg2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFVua25vd24gb3Bjb2RlICVkIHdpdGggb3BlcmFuZHM6ICIKLW1zZ3N0ciAiICBPa+RuZCBvcC1rb2QgJWQgbWVkIG9wZXJhbmQ6ICIKK21zZ3N0ciAiICBPa8OkbmQgb3Ata29kICVkIG1lZCBvcGVyYW5kOiAiCiAKLSMKLSM6IHJlYWRlbGYuYzo2MTk3IHJlYWRlbGYuYzo2NjU4IHJlYWRlbGYuYzo2NzMwCisjOiByZWFkZWxmLmM6Njg5MSByZWFkZWxmLmM6NzM3MSByZWFkZWxmLmM6NzQ0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ29udGVudHMgb2YgdGhlICVzIHNlY3Rpb246XG4iCiAiXG4iCiBtc2dzdHIgIiIKLSIlcy1zZWt0aW9uZW5zIGlubmVo5WxsOlxuIgorIiVzLXNla3Rpb25lbnMgaW5uZWjDpWxsOlxuIgogIlxuIgogCi0jCi0jOiByZWFkZWxmLmM6NjIxNgotbXNnaWQgIjY0LWJpdCBEV0FSRiBwdWJuYW1lcyBhcmUgbm90IHN1cHBvcnRlZCB5ZXQuXG4iCi1tc2dzdHIgIjY0LWJpdGFycyBwdWJsaWthIERXQVJGLW5hbW4gc3T2ZHMgaW50ZSDkbi5cbiIKKyM6IHJlYWRlbGYuYzo2OTMxCittc2dpZCAiT25seSBEV0FSRiAyIGFuZCAzIHB1Ym5hbWVzIGFyZSBjdXJyZW50bHkgc3VwcG9ydGVkXG4iCittc2dzdHIgIkVuZGFzdCBEV0FSRiAyIG9jaCAzIHB1Yi4tbmFtbiBoYW50ZXJhcyBmw7ZyIG7DpHJ2YXJhbmRlXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo2MjI2Ci1tc2dpZCAiT25seSBEV0FSRiAyIHB1Ym5hbWVzIGFyZSBjdXJyZW50bHkgc3VwcG9ydGVkXG4iCi1tc2dzdHIgIkVuZGFzdCBwdWJsaWthIERXQVJGIDItbmFtbiBzdPZkcyBm9nIgbuRydmFyYW5kZVxuIgotCi0jCi0jOiByZWFkZWxmLmM6NjIzMworIzogcmVhZGVsZi5jOjY5MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBMZW5ndGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWxkXG4iCi1tc2dzdHIgIiAgbORuZ2Q6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVsZFxuIgorbXNnc3RyICIgIGzDpG5nZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWxkXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo2MjM1CisjOiByZWFkZWxmLmM6Njk0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFZlcnNpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlZFxuIgogbXNnc3RyICIgIHZlcnNpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlZFxuIgogCi0jCi0jOiByZWFkZWxmLmM6NjIzNworIzogcmVhZGVsZi5jOjY5NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBPZmZzZXQgaW50byAuZGVidWdfaW5mbyBzZWN0aW9uOiAgICAgJWxkXG4iCiBtc2dzdHIgIiAgb2Zmc2V0IGkgLmRlYnVnX2luZm8tc2VrdGlvbmVuOiAgICAgICVsZFxuIgogCi0jCi0jOiByZWFkZWxmLmM6NjIzOQorIzogcmVhZGVsZi5jOjY5NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBTaXplIG9mIGFyZWEgaW4gLmRlYnVnX2luZm8gc2VjdGlvbjogJWxkXG4iCi1tc2dzdHIgIiAgc3RvcmwuIHDlIG9tci4gaSAuZGVidWdfaW5mby1zZWt0LjogICVsZFxuIgorbXNnc3RyICIgIHN0b3JsLiBww6Ugb21yLiBpIC5kZWJ1Z19pbmZvLXNla3QuOiAgJWxkXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo2MjQyCisjOiByZWFkZWxmLmM6Njk0NwogbXNnaWQgIiIKICJcbiIKICIgICAgT2Zmc2V0XHROYW1lXG4iCkBAIC00MjIwLDUxOSArMzcxMSw0NzAgQEAKICJcbiIKICIgICAgT2Zmc2V0XHROYW1uXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo2MzMzCisjOiByZWFkZWxmLmM6NzA0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIFRBRyB2YWx1ZTogJWx4IgotbXNnc3RyICJPa+RudCBUQUctduRyZGU6ICVseCIKK21zZ3N0ciAiT2vDpG50IFRBRy12w6RyZGU6ICVseCIKIAotIwotIzogcmVhZGVsZi5jOjY0NDMKKyM6IHJlYWRlbGYuYzo3MTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gQVQgdmFsdWU6ICVseCIKLW1zZ3N0ciAiT2vkbnQgQVQtduRyZGU6ICVseCIKK21zZ3N0ciAiT2vDpG50IEFULXbDpHJkZTogJWx4IgogCi0jCi0jOiByZWFkZWxmLmM6NjQ4MAorIzogcmVhZGVsZi5jOjcxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBGT1JNIHZhbHVlOiAlbHgiCi1tc2dzdHIgIk9r5G50IEZPUk0tduRyZGU6ICVseCIKK21zZ3N0ciAiT2vDpG50IEZPUk0tdsOkcmRlOiAlbHgiCiAKLSMKLSM6IHJlYWRlbGYuYzo2Njc5CisjOiByZWFkZWxmLmM6NzM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgRFdfTUFDSU5GT19zdGFydF9maWxlIC0gbGluZW5vOiAlZCBmaWxlbnVtOiAlZFxuIgotbXNnc3RyICIgRFdfTUFDSU5GT19zdGFydF9maWxlIC0gcmFkOiAlZCBmaWxudW1tZXI6ICVkXG4iCittc2dzdHIgIiBEV19NQUNJTkZPX3N0YXJ0X2ZpbGUgLSByYWQ6ICVkIGZpbG5yOiAlZFxuIgogCi0jCi0jOiByZWFkZWxmLmM6NjY4NAorIzogcmVhZGVsZi5jOjczOTcKIG1zZ2lkICIgRFdfTUFDSU5GT19lbmRfZmlsZVxuIgogbXNnc3RyICIgRFdfTUFDSU5GT19lbmRfZmlsZVxuIgogCi0jCi0jOiByZWFkZWxmLmM6NjY5MgorIzogcmVhZGVsZi5jOjc0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIERXX01BQ0lORk9fZGVmaW5lIC0gbGluZW5vIDogJWQgbWFjcm8gOiAlc1xuIgotbXNnc3RyICIgRFdfTUFDSU5GT19kZWZpbmUgLSByYWQ6ICVkIG1ha3JvOiAlc1xuIgorbXNnc3RyICIgRFdfTUFDSU5GT19kZWZpbmUgLSByYWQgOiAlZCBtYWtybyA6ICVzXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo2NzAwCisjOiByZWFkZWxmLmM6NzQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgRFdfTUFDSU5GT191bmRlZiAtIGxpbmVubyA6ICVkIG1hY3JvIDogJXNcbiIKLW1zZ3N0ciAiIERXX01BQ0lORk9fdW5kZWYgLSByYWQ6ICVkIG1ha3JvOiAlc1xuIgorbXNnc3RyICIgRFdfTUFDSU5GT191bmRlZiAtIHJhZCA6ICVkIG1ha3JvIDogJXNcbiIKIAotIwotIzogcmVhZGVsZi5jOjY3MTEKKyM6IHJlYWRlbGYuYzo3NDI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBEV19NQUNJTkZPX3ZlbmRvcl9leHQgLSBjb25zdGFudCA6ICVkIHN0cmluZyA6ICVzXG4iCi1tc2dzdHIgIiBEV19NQUNJTkZPX3ZlbmRvcl9leHQgLSBrb25zdGFudDogJWQgc3Ry5G5nOiAlc1xuIgorbXNnc3RyICIgRFdfTUFDSU5GT192ZW5kb3JfZXh0IC0ga29uc3RhbnQgOiAlZCBzdHLDpG5nIDogJXNcbiIKIAotIwotIyBEZXR0YSDkciBldHQgdGFiZWxsaHV2dWQgbWVkIHR25SBrb2x1bW5lci4KLSM6IHJlYWRlbGYuYzo2NzM5CisjOiByZWFkZWxmLmM6NzQ1MgogbXNnaWQgIiAgTnVtYmVyIFRBR1xuIgogbXNnc3RyICIgIE51bW1lciBUQUdHXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo2NzQ1CisjOiByZWFkZWxmLmM6NzQ1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAlbGQgICAgICAlcyAgICBbJXNdXG4iCiBtc2dzdHIgIiAgICVsZCAgICAgICVzICAgIFslc11cbiIKIAotIwotIzogcmVhZGVsZi5jOjY3NDgKKyM6IHJlYWRlbGYuYzo3NDYxCiBtc2dpZCAiaGFzIGNoaWxkcmVuIgogbXNnc3RyICJoYXIgYmFybiIKIAotIwotIzogcmVhZGVsZi5jOjY3NDgKKyM6IHJlYWRlbGYuYzo3NDYxCiBtc2dpZCAibm8gY2hpbGRyZW4iCiBtc2dzdHIgImluZ2EgYmFybiIKIAotIwotIzogcmVhZGVsZi5jOjY3NTIKKyM6IHJlYWRlbGYuYzo3NDY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLTE4cyAlc1xuIgogbXNnc3RyICIgICAgJS0xOHMgJXNcbiIKIAotIwotIzogcmVhZGVsZi5jOjY3NzMKKyM6IHJlYWRlbGYuYzo3NDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlbHUgYnl0ZSBibG9jazogIgogbXNnc3RyICIgJWx1IGJ5dGUtYmxvY2s6ICIKIAotIwotIzogcmVhZGVsZi5jOjcwOTYKKyM6IHJlYWRlbGYuYzo3ODE0CiBtc2dpZCAiKFVzZXIgZGVmaW5lZCBsb2NhdGlvbiBvcCkiCi1tc2dzdHIgIihhbnbkbmRhcmRlZmluaWVyYWQgcGxhdHMtb3ApIgorbXNnc3RyICIoYW52w6RuZGFyZGVmaW5pZXJhZCBwbGF0cy1vcCkiCiAKLSMKLSM6IHJlYWRlbGYuYzo3MDk4CisjOiByZWFkZWxmLmM6NzgxNgogbXNnaWQgIihVbmtub3duIGxvY2F0aW9uIG9wKSIKLW1zZ3N0ciAiKG9r5G5kIHBsYXRzLW9wKSIKK21zZ3N0ciAiKG9rw6RuZCBwbGF0cy1vcCkiCiAKLSMKLSM6IHJlYWRlbGYuYzo3MTM3CisjOiByZWFkZWxmLmM6Nzg1NQorbXNnaWQgImRlYnVnX2xvYyBzZWN0aW9uIGRhdGEiCittc2dzdHIgImRlYnVnX2xvYy1zZWt0aW9uc2RhdGEiCisKKyM6IHJlYWRlbGYuYzo3ODg3Cittc2dpZCAiIgorIlxuIgorIlRoZSAuZGVidWdfbG9jIHNlY3Rpb24gaXMgZW1wdHkuXG4iCittc2dzdHIgIiIKKyJcbiIKKyIuZGVidWdfbG9jLXNla3Rpb25lbiDDpHIgdG9tLlxuIgorCisjOiByZWFkZWxmLmM6Nzg5MQorbXNnaWQgIiIKKyJDb250ZW50cyBvZiB0aGUgLmRlYnVnX2xvYyBzZWN0aW9uOlxuIgorIlxuIgorbXNnc3RyICIiCisiSW5uZWjDpWxsIGkgLmRlYnVnX2xvYy1zZWt0aW9uZW46XG4iCisiXG4iCisKKyMgRXhwcmVzc2lvbiDDpHIgZW4gbWFza2lua29kc2luc3RydWt0aW9uCisjOiByZWFkZWxmLmM6Nzg5MgorbXNnaWQgIiIKKyJcbiIKKyIgICAgT2Zmc2V0ICAgQmVnaW4gICAgRW5kICAgICAgRXhwcmVzc2lvblxuIgorbXNnc3RyICIiCisiXG4iCisiICAgIE9mZnNldCAgIFN0YXJ0ICAgIFNsdXQgICAgIEluc3RydWt0aW9uXG4iCisKKyM6IHJlYWRlbGYuYzo3OTY4CiBtc2dpZCAiZGVidWdfc3RyIHNlY3Rpb24gZGF0YSIKIG1zZ3N0ciAiZGVidWdfc3RyIHNla3Rpb25zZGF0YSIKIAotIwotIzogcmVhZGVsZi5jOjcxNTYKKyM6IHJlYWRlbGYuYzo3OTg3CiBtc2dpZCAiPG5vIC5kZWJ1Z19zdHIgc2VjdGlvbj4iCiBtc2dzdHIgIjxpbmdlbiAuZGVidWdfc3RyLXNla3Rpb24+IgogCi0jCi0jOiByZWFkZWxmLmM6NzE1OQorIzogcmVhZGVsZi5jOjc5OTAKIG1zZ2lkICI8b2Zmc2V0IGlzIHRvbyBiaWc+IgotbXNnc3RyICI8b2Zmc2V0ZW4g5HIgZvZyIHN0b3I+IgorbXNnc3RyICI8b2Zmc2V0ZW4gw6RyIGbDtnIgc3Rvcj4iCiAKLSMKLSM6IHJlYWRlbGYuYzo3MTc5CisjOiByZWFkZWxmLmM6ODAwOQogbXNnaWQgIiIKICJcbiIKICJUaGUgLmRlYnVnX3N0ciBzZWN0aW9uIGlzIGVtcHR5LlxuIgogbXNnc3RyICIiCiAiXG4iCi0iLmRlYnVnX3N0ci1zZWt0aW9uZW4g5HIgdG9tLlxuIgorIi5kZWJ1Z19zdHItc2VrdGlvbmVuIMOkciB0b20uXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo3MTgzCisjOiByZWFkZWxmLmM6ODAxMwogbXNnaWQgIiIKICJDb250ZW50cyBvZiB0aGUgLmRlYnVnX3N0ciBzZWN0aW9uOlxuIgogIlxuIgogbXNnc3RyICIiCi0iSW5uZWjlbGwgaSAuZGVidWdfc3RyLXNla3Rpb25lbjpcbiIKKyJJbm5laMOlbGwgaSAuZGVidWdfc3RyLXNla3Rpb25lbjpcbiIKICJcbiIKIAotIwotIzogcmVhZGVsZi5jOjczNTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIChpbmRpcmVjdCBzdHJpbmcsIG9mZnNldDogMHglbHgpOiAiCi1tc2dzdHIgIiAoaW5kaXJla3Qgc3Ry5G5nLCBvZmZzZXQ6IDB4JWx4KTogIgorIzogcmVhZGVsZi5jOjgwODgKK21zZ2lkICJJbnRlcm5hbCBlcnJvcjogRFdBUkYgdmVyc2lvbiBpcyBub3QgMiBvciAzLlxuIgorbXNnc3RyICJJbnRlcm50IGZlbDogRFdBUkYtdmVyc2lvbiBpbnRlIDIgZWxsZXIgMy5cbiIKIAotIwotIzogcmVhZGVsZi5jOjczNjMKKyM6IHJlYWRlbGYuYzo4MjAzCiAjLCBjLWZvcm1hdAotbXNnaWQgIlVucmVjb2duaXNlZCBmb3JtOiAlZFxuIgotbXNnc3RyICJPa+RudCBmb3JtdWzkcjogJWRcbiIKK21zZ2lkICIgKGluZGlyZWN0IHN0cmluZywgb2Zmc2V0OiAweCVseCk6ICVzIgorbXNnc3RyICIgKGluZGlyZWt0IHN0csOkbmcsIG9mZnNldDogMHglbHgpOiAlcyIKIAotIwotIzogcmVhZGVsZi5jOjczNzYKKyM6IHJlYWRlbGYuYzo4MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVucmVjb2duaXplZCBmb3JtOiAlZFxuIgorbXNnc3RyICJPa8OkbmQgZm9ybXR5cDogJWRcbiIKKworIzogcmVhZGVsZi5jOjgyMjYKIG1zZ2lkICIobm90IGlubGluZWQpIgogbXNnc3RyICIoaW50ZSBpbmxham5hZCkiCiAKLSMKLSM6IHJlYWRlbGYuYzo3Mzc3CisjOiByZWFkZWxmLmM6ODIyOQogbXNnaWQgIihpbmxpbmVkKSIKIG1zZ3N0ciAiKGlubGFqbmFkKSIKIAotIwotIzogcmVhZGVsZi5jOjczNzgKKyM6IHJlYWRlbGYuYzo4MjMyCiBtc2dpZCAiKGRlY2xhcmVkIGFzIGlubGluZSBidXQgaWdub3JlZCkiCiBtc2dzdHIgIihkZWtsYXJlcmFkIHNvbSBpbmxham4gbWVuIGlnbm9yZXJhZCkiCiAKLSMKLSM6IHJlYWRlbGYuYzo3Mzc5CisjOiByZWFkZWxmLmM6ODIzNQogbXNnaWQgIihkZWNsYXJlZCBhcyBpbmxpbmUgYW5kIGlubGluZWQpIgogbXNnc3RyICIoZGVrbGFyZXJhZCBzb20gaW5sYWpuIG9jaCBpbmxham5hZCkiCiAKLSMKLSM6IHJlYWRlbGYuYzo3MzgwCisjOiByZWFkZWxmLmM6ODIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIChVbmtub3duIGlubGluZSBhdHRyaWJ1dGUgdmFsdWU6ICVseCkiCi1tc2dzdHIgIiAgKG9r5G50IGlubGFqbmF0dHJpYnV0duRyZGU6ICVseCkiCittc2dzdHIgIiAgKG9rw6RudCBpbmxham5hdHRyaWJ1dHbDpHJkZTogJWx4KSIKIAotIwotIzogcmVhZGVsZi5jOjc1NDUgcmVhZGVsZi5jOjc3NDYKKyM6IHJlYWRlbGYuYzo4NDE5IHJlYWRlbGYuYzo4NjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgc2VjdGlvbiAlcyBjb250YWluczpcbiIKICJcbiIKIG1zZ3N0ciAiIgotIlNla3Rpb24gJXMgaW5uZWjlbGxlcjpcbiIKKyJTZWt0aW9uICVzIGlubmVow6VsbGVyOlxuIgogIlxuIgogCi0jCi0jOiByZWFkZWxmLmM6NzU2OAotbXNnaWQgIjY0LWJpdCBEV0FSRiBkZWJ1ZyBpbmZvIGlzIG5vdCBzdXBwb3J0ZWQgeWV0LlxuIgotbXNnc3RyICI2NC1iaXRhcnMgRFdBUkYtZmVsc/ZrbmluZ3NpbmZvIHN09mRzIGludGUg5G4uXG4iCi0KLSMKLSM6IHJlYWRlbGYuYzo3NjM3CisjOiByZWFkZWxmLmM6ODUzNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIENvbXBpbGF0aW9uIFVuaXQgQCAlbHg6XG4iCiBtc2dzdHIgIiAgS29tcGlsZXJpbmdzZW5oZXQgQCAlbHg6XG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo3NjM4CisjOiByZWFkZWxmLmM6ODUzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBMZW5ndGg6ICAgICAgICAlbGRcbiIKLW1zZ3N0ciAiICAgbORuZ2Q6ICAgICAgICAgJWxkXG4iCittc2dzdHIgIiAgIGzDpG5nZDogICAgICAgICAlbGRcbiIKIAotIwotIzogcmVhZGVsZi5jOjc2MzkKKyM6IHJlYWRlbGYuYzo4NTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgIFZlcnNpb246ICAgICAgICVkXG4iCiBtc2dzdHIgIiAgIHZlcnNpb246ICAgICAgICVkXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo3NjQwCisjOiByZWFkZWxmLmM6ODUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBBYmJyZXYgT2Zmc2V0OiAlbGRcbiIKLW1zZ3N0ciAiICAgZvZyay4tb2Zmc2V0OiAgJWxkXG4iCittc2dzdHIgIiAgIGbDtnJrLi1vZmZzZXQ6ICAlbGRcbiIKIAotIwotIzogcmVhZGVsZi5jOjc2NDEKKyM6IHJlYWRlbGYuYzo4NTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgIFBvaW50ZXIgU2l6ZTogICVkXG4iCiBtc2dzdHIgIiAgIHBla2Fyc3RvcmxlazogICVkXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo3NjQ1Ci1tc2dpZCAiT25seSB2ZXJzaW9uIDIgRFdBUkYgZGVidWcgaW5mb3JtYXRpb24gaXMgY3VycmVudGx5IHN1cHBvcnRlZC5cbiIKLW1zZ3N0ciAiRW5kYXN0IHZlcnNpb24gMiBhdiBEV0FSRi1mZWxz9mtuaW5nc2luZm9ybWF0aW9uIHN09mRzIGb2ciBu5HJ2YXJhbmRlLlxuIgorIzogcmVhZGVsZi5jOjg1NDMKK21zZ2lkICJPbmx5IHZlcnNpb24gMiBhbmQgMyBEV0FSRiBkZWJ1ZyBpbmZvcm1hdGlvbiBpcyBjdXJyZW50bHkgc3VwcG9ydGVkLlxuIgorbXNnc3RyICJFbmRhc3QgRFdBUkYgMiBvY2ggMyBmZWxzw7ZrbmluZ3NpbmZvcm1hdGlvbiBoYW50ZXJhcyBmw7ZyIG7DpHJ2YXJhbmRlLlxuIgogCi0jCi0jOiByZWFkZWxmLmM6NzY2NgorIzogcmVhZGVsZi5jOjg1NjMKIG1zZ2lkICJVbmFibGUgdG8gbG9jYXRlIC5kZWJ1Z19hYmJyZXYgc2VjdGlvbiFcbiIKLW1zZ3N0ciAiS2FuIGludGUgaGl0dGEgbuVnb24gLmRlYnVnX2FiYnJldi1zZWt0aW9uIVxuIgorbXNnc3RyICJLYW4gaW50ZSBoaXR0YSBuw6Vnb24gLmRlYnVnX2FiYnJldi1zZWt0aW9uIVxuIgogCi0jCi0jOiByZWFkZWxmLmM6NzY3MgorIzogcmVhZGVsZi5jOjg1NjkKIG1zZ2lkICJkZWJ1Z19hYmJyZXYgc2VjdGlvbiBkYXRhIgotbXNnc3RyICJkZWJ1Z19hYmJyZXYtc2VrdGlvbnNkYXRhIgorbXNnc3RyICJkZWJ1Z19hYmJyZXYgc2VrdGlvbnNkYXRhIgogCi0jCi0jOiByZWFkZWxmLmM6NzcwOQorIzogcmVhZGVsZi5jOjg2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGxvY2F0ZSBlbnRyeSAlbHUgaW4gdGhlIGFiYnJldmlhdGlvbiB0YWJsZVxuIgotbXNnc3RyICJLYW4gaW50ZSBoaXR0YSBwb3N0ICVsdSBpIGb2cmtvcnRuaW5nc3RhYmVsbGVuXG4iCittc2dzdHIgIkthbiBpbnRlIGhpdHRhIHBvc3QgJWx1IGkgZsO2cmtvcnRuaW5nc3RhYmVsbGVuXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo3NzE0CisjOiByZWFkZWxmLmM6ODYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgPCVkPjwlbHg+OiBBYmJyZXYgTnVtYmVyOiAlbHUgKCVzKVxuIgotbXNnc3RyICIgPCVkPjwlbHg+OiBG9nJrb3J0bmluZ3NudW1tZXI6ICVsdSAoJXMpXG4iCittc2dzdHIgIiA8JWQ+PCVseD46IEbDtnJrb3J0bmluZ3NudW1tZXI6ICVsdSAoJXMpXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo3NzY3Ci1tc2dpZCAiNjQtYml0IERXQVJGIGFyYW5nZXMgYXJlIG5vdCBzdXBwb3J0ZWQgeWV0LlxuIgotbXNnc3RyICI2NC1iaXRhcnMgRFdBUkYtYS1pbnRlcnZhbGwgc3T2ZHMgaW50ZSDkbi5cbiIKKyM6IHJlYWRlbGYuYzo4NjkxCittc2dpZCAiT25seSBEV0FSRiAyIGFuZCAzIGFyYW5nZXMgYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQuXG4iCittc2dzdHIgIkVuZGFzdCBEV0FSRiAyIG9jaCAzIGEtaW50ZXJ2YWxsIGhhbnRlcmFzIGbDtnIgbsOkcnZhcmFuZGUuXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo3NzczCi1tc2dpZCAiT25seSBEV0FSRiAyIGFyYW5nZXMgYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQuXG4iCi1tc2dzdHIgIkVuZGFzdCBEV0FSRjI6cyBhLWludGVydmFsbCBzdPZkcyBm9nIgbuRydmFyYW5kZS5cbiIKLQotIwotIzogcmVhZGVsZi5jOjc3NzcKKyM6IHJlYWRlbGYuYzo4Njk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTGVuZ3RoOiAgICAgICAgICAgICAgICAgICAlbGRcbiIKLW1zZ3N0ciAiICBs5G5nZDogICAgICAgICAgICAgICAgICAgICVsZFxuIgorbXNnc3RyICIgIGzDpG5nZDogICAgICAgICAgICAgICAgICAgICVsZFxuIgogCi0jCi0jOiByZWFkZWxmLmM6Nzc3OAorIzogcmVhZGVsZi5jOjg2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBWZXJzaW9uOiAgICAgICAgICAgICAgICAgICVkXG4iCiBtc2dzdHIgIiAgdmVyc2lvbjogICAgICAgICAgICAgICAgICAlZFxuIgogCi0jCi0jOiByZWFkZWxmLmM6Nzc3OQorIzogcmVhZGVsZi5jOjg2OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBPZmZzZXQgaW50byAuZGVidWdfaW5mbzogICVseFxuIgogbXNnc3RyICIgIG9mZnNldCBpIC5kZWJ1Z19pbmZvOiAgICAgJWx4XG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo3NzgwCisjOiByZWFkZWxmLmM6ODY5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFBvaW50ZXIgU2l6ZTogICAgICAgICAgICAgJWRcbiIKIG1zZ3N0ciAiICBwZWthcnN0b3JsZWs6ICAgICAgICAgICAgICVkXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo3NzgxCisjOiByZWFkZWxmLmM6ODY5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFNlZ21lbnQgU2l6ZTogICAgICAgICAgICAgJWRcbiIKIG1zZ3N0ciAiICBzZWdtZW50c3RvcmxlazogICAgICAgICAgICVkXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo3NzgzCisjOiByZWFkZWxmLmM6ODcwMQogbXNnaWQgIiIKICJcbiIKICIgICAgQWRkcmVzcyAgTGVuZ3RoXG4iCiBtc2dzdHIgIiIKICJcbiIKLSIgICAgYWRyZXNzbORuZ2RcbiIKKyIgICAgYWRyZXNzbMOkbmdkXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo3OTY1CisjOiByZWFkZWxmLmM6ODkwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgc2VjdGlvbiAlcyBjb250YWluczpcbiIKLW1zZ3N0ciAiU2VrdGlvbiAlcyBpbm5laOVsbGVyOlxuIgorbXNnc3RyICJTZWt0aW9uICVzIGlubmVow6VsbGVyOlxuIgogCi0jCi0jOiByZWFkZWxmLmM6Nzk4OAotbXNnaWQgIjY0LWJpdCBEV0FSRiBmb3JtYXQgZnJhbWVzIGFyZSBub3Qgc3VwcG9ydGVkIHlldC5cbiIKLW1zZ3N0ciAiNjQtYml0YXJzIERXQVJGLWZvcm1hdG1hbGxhciBzdPZkcyBpbnRlIORuLlxuIgotCi0jCi0jOiByZWFkZWxmLmM6ODQ5OQorIzogcmVhZGVsZi5jOjk1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlzcGxheWluZyB0aGUgZGVidWcgY29udGVudHMgb2Ygc2VjdGlvbiAlcyBpcyBub3QgeWV0IHN1cHBvcnRlZC5cbiIKLW1zZ3N0ciAiVmlzYSBmZWxz9mtuaW5nc2lubmVo5WxsZXQgaSBzZWt0aW9uICVzIHN09mRzIGludGUg5G4uXG4iCittc2dzdHIgIlZpc2EgZmVsc8O2a25pbmdzaW5uZWjDpWxsZXQgaSBzZWt0aW9uICVzIGhhbnRlcmFzIGludGUgw6RuLlxuIgogCi0jCi0jOiByZWFkZWxmLmM6ODU2NQorIzogcmVhZGVsZi5jOjk2MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgogIlNlY3Rpb24gJyVzJyBoYXMgbm8gZGVidWdnaW5nIGRhdGEuXG4iCiBtc2dzdHIgIiIKICJcbiIKLSJTZWt0aW9uIFwiJXNcIiBpbm5laOVsbGVyIGluZ2VuIGZlbHP2a25pbmdzZGF0YS5cbiIKKyJTZWt0aW9uIFwiJXNcIiBpbm5laMOlbGxlciBpbmdlbiBmZWxzw7ZrbmluZ3NkYXRhLlxuIgogCi0jCi0jOiByZWFkZWxmLmM6ODU3MCByZWFkZWxmLmM6ODYzMgorIzogcmVhZGVsZi5jOjk2MzkgcmVhZGVsZi5jOjk3MDEKIG1zZ2lkICJkZWJ1ZyBzZWN0aW9uIGRhdGEiCi1tc2dzdHIgImZlbHP2a25pbmdzc2VrdGlvbnNkYXRhIgorbXNnc3RyICJmZWxzw7ZrbmluZ3NzZWt0aW9uc2RhdGEiCiAKLSMKLSM6IHJlYWRlbGYuYzo4NTg2CisjOiByZWFkZWxmLmM6OTY1NQogIywgYy1mb3JtYXQKLW1zZ2lkICJVbnJlY29nbmlzZWQgZGVidWcgc2VjdGlvbjogJXNcbiIKLW1zZ3N0ciAiT2vkbmQgZmVsc/ZrbmluZ3NzZWt0aW9uOiAlc1xuIgorbXNnaWQgIlVucmVjb2duaXplZCBkZWJ1ZyBzZWN0aW9uOiAlc1xuIgorbXNnc3RyICJPa8OkbmQgZmVsc8O2a25pbmdzc2VrdGlvbjogJXNcbiIKIAotIwotIzogcmVhZGVsZi5jOjg2NjAKKyM6IHJlYWRlbGYuYzo5NzI5CiBtc2dpZCAiU29tZSBzZWN0aW9ucyB3ZXJlIG5vdCBkdW1wZWQgYmVjYXVzZSB0aGV5IGRvIG5vdCBleGlzdCFcbiIKLW1zZ3N0ciAiTuVncmEgc2VrdGlvbmVyIHNrcmV2cyBpbnRlIHV0IGVmdGVyc29tIGRlIGludGUgZXhpc3RlcmFyIVxuIgorbXNnc3RyICJOw6VncmEgc2VrdGlvbmVyIHNrcmV2cyBpbnRlIHV0IGVmdGVyc29tIGRlIGludGUgZXhpc3RlcmFyIVxuIgogCi0jCi0jOiByZWFkZWxmLmM6ODczMworIzogcmVhZGVsZi5jOjk4MDYgcmVhZGVsZi5jOjEwMTcwCiBtc2dpZCAibGlibGlzdCIKIG1zZ3N0ciAiYmlibGlvdGVrc2xpc3RhIgogCi0jCi0jOiByZWFkZWxmLmM6ODgxOAorIzogcmVhZGVsZi5jOjk4OTEKIG1zZ2lkICJvcHRpb25zIgogbXNnc3RyICJmbGFnZ29yIgogCi0jCi0jOiByZWFkZWxmLmM6ODg0OQorIzogcmVhZGVsZi5jOjk5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgogIlNlY3Rpb24gJyVzJyBjb250YWlucyAlZCBlbnRyaWVzOlxuIgogbXNnc3RyICIiCiAiXG4iCi0iU2VrdGlvbiBcIiVzXCIgaW5uZWjlbGxlciAlZCBwb3N0ZXI6XG4iCisiU2VrdGlvbiBcIiVzXCIgaW5uZWjDpWxsZXIgJWQgcG9zdGVyOlxuIgogCi0jCi0jICBCVUdHOiBGZWwgaSBvcmlnaW5hbGV0PwotIzogcmVhZGVsZi5jOjkwMTAKLW1zZ2lkICJjb25mbGljdCBsaXN0IHdpdGggd2l0aG91dCB0YWJsZSIKLW1zZ3N0ciAia29uZmxpa3RsaXN0YSB1dGFuIHRhYmVsbCIKKyM6IHJlYWRlbGYuYzoxMDA4MworbXNnaWQgImNvbmZsaWN0IGxpc3QgZm91bmQgd2l0aG91dCBhIGR5bmFtaWMgc3ltYm9sIHRhYmxlIgorbXNnc3RyICJmYW5uIGtvbmZsaWt0bGlzdGEgdXRhbiBkeW5hbWlzayBzeW1ib2x0YWJlbGwiCiAKLSMKLSM6IHJlYWRlbGYuYzo5MDI4IHJlYWRlbGYuYzo5MDQ0CisjOiByZWFkZWxmLmM6MTAxMDEgcmVhZGVsZi5jOjEwMTE3CiBtc2dpZCAiY29uZmxpY3QiCiBtc2dzdHIgImtvbmZsaWt0IgogCi0jCi0jOiByZWFkZWxmLmM6OTA1NAorIzogcmVhZGVsZi5jOjEwMTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKICJTZWN0aW9uICcuY29uZmxpY3QnIGNvbnRhaW5zICVsZCBlbnRyaWVzOlxuIgogbXNnc3RyICIiCiAiXG4iCi0iU2VrdGlvbiBcIi5jb25mbGljdFwiIGlubmVo5WxsZXIgJWxkIHBvc3RlcjpcbiIKKyJTZWt0aW9uIFwiLmNvbmZsaWN0XCIgaW5uZWjDpWxsZXIgJWxkIHBvc3RlcjpcbiIKIAotIwotIzogcmVhZGVsZi5jOjkwNTYKKyM6IHJlYWRlbGYuYzoxMDEyOQogbXNnaWQgIiAgTnVtOiAgICBJbmRleCAgICAgICBWYWx1ZSAgTmFtZSIKLW1zZ3N0ciAiICBOdW06ICAgIEluZGV4ICAgICAgIFbkcmRlICBOYW1uIgorbXNnc3RyICIgIE51bTogICAgSW5kZXggICAgICAgVsOkcmRlICBOYW1uIgogCi0jCi0jOiByZWFkZWxmLmM6OTA4MworIzogcmVhZGVsZi5jOjEwMTc4Cittc2dpZCAibGlibGlzdCBzdHJpbmcgdGFibGUiCittc2dzdHIgImxpYmxpc3Qtc3Ryw6RuZ3RhYmVsbCIKKworIzogcmVhZGVsZi5jOjEwMTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMaWJyYXJ5IGxpc3Qgc2VjdGlvbiAnJXMnIGNvbnRhaW5zICVsdSBlbnRyaWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiQmlibGlvdGVrc2xpc3RzZWt0aW9uIFwiJXNcIiBpbm5laMOlbGxlciAlbHUgcG9zdGVyOlxuIgorCisjOiByZWFkZWxmLmM6MTAyMzYKIG1zZ2lkICJOVF9QUlNUQVRVUyAocHJzdGF0dXMgc3RydWN0dXJlKSIKIG1zZ3N0ciAiTlRfUFJTVEFUVVMgKHByc3RhdHVzLXN0cnVrdHVyKSIKIAotIwotIzogcmVhZGVsZi5jOjkwODQKKyM6IHJlYWRlbGYuYzoxMDIzNwogbXNnaWQgIk5UX0ZQUkVHU0VUIChmbG9hdGluZyBwb2ludCByZWdpc3RlcnMpIgogbXNnc3RyICJOVF9GUFJFR1NFVCAoZmx5dHRhbHNyZWdpc3RlcikiCiAKLSMKLSM6IHJlYWRlbGYuYzo5MDg1CisjOiByZWFkZWxmLmM6MTAyMzgKIG1zZ2lkICJOVF9QUlBTSU5GTyAocHJwc2luZm8gc3RydWN0dXJlKSIKIG1zZ3N0ciAiTlRfUFJQU0lORk8gKHBycHNpbmZvLXN0cnVrdHVyKSIKIAotIwotIzogcmVhZGVsZi5jOjkwODYKKyM6IHJlYWRlbGYuYzoxMDIzOQogbXNnaWQgIk5UX1RBU0tTVFJVQ1QgKHRhc2sgc3RydWN0dXJlKSIKLW1zZ3N0ciAiTlRfVEFTS1NUUlVDVCAodXBwZ2lmdHNzdHJ1a3R1cikiCittc2dzdHIgIk5UX1RBU0tTVFJVQ1QgKHRhc2stc3RydWt0dXIpIgogCi0jCi0jOiByZWFkZWxmLmM6OTA4NworIzogcmVhZGVsZi5jOjEwMjQwCiBtc2dpZCAiTlRfUFJYRlBSRUcgKHVzZXJfeGZwcmVncyBzdHJ1Y3R1cmUpIgogbXNnc3RyICJOVF9QUlhGUFJFRyAodXNlcl94ZnByZWdzLXN0cnVrdHVyKSIKIAotIwotIzogcmVhZGVsZi5jOjkwODgKKyM6IHJlYWRlbGYuYzoxMDI0MQogbXNnaWQgIk5UX1BTVEFUVVMgKHBzdGF0dXMgc3RydWN0dXJlKSIKIG1zZ3N0ciAiTlRfUFNUQVRVUyAocHN0YXR1cy1zdHJ1a3R1cikiCiAKLSMKLSM6IHJlYWRlbGYuYzo5MDg5CisjOiByZWFkZWxmLmM6MTAyNDIKIG1zZ2lkICJOVF9GUFJFR1MgKGZsb2F0aW5nIHBvaW50IHJlZ2lzdGVycykiCiBtc2dzdHIgIk5UX0ZQUkVHUyAoZmx5dHRhbHNyZWdpc3RlcikiCiAKLSMKLSM6IHJlYWRlbGYuYzo5MDkwCisjOiByZWFkZWxmLmM6MTAyNDMKIG1zZ2lkICJOVF9QU0lORk8gKHBzaW5mbyBzdHJ1Y3R1cmUpIgogbXNnc3RyICJOVF9QU0lORk8gKHBzaW5mby1zdHJ1a3R1cikiCiAKLSMKLSM6IHJlYWRlbGYuYzo5MDkxCisjOiByZWFkZWxmLmM6MTAyNDQKIG1zZ2lkICJOVF9MV1BTVEFUVVMgKGx3cHN0YXR1c190IHN0cnVjdHVyZSkiCiBtc2dzdHIgIk5UX0xXUFNUQVRVUyAobHdwc3RhdHVzX3Qtc3RydWt0dXIpIgogCi0jCi0jOiByZWFkZWxmLmM6OTA5MgorIzogcmVhZGVsZi5jOjEwMjQ1CiBtc2dpZCAiTlRfTFdQU0lORk8gKGx3cHNpbmZvX3Qgc3RydWN0dXJlKSIKIG1zZ3N0ciAiTlRfTFdQU0lORk8gKGx3cHNpbmZvX3Qtc3RydWt0dXIpIgogCi0jCi0jICBCVUdHOiBTdGF2ZmVsIGkgb3JpZ2luYWxldCAoc3RyPnVjPHR1cmUpCi0jOiByZWFkZWxmLmM6OTA5MwotbXNnaWQgIk5UX1dJTjMyUFNUQVRVUyAod2luMzJfcHN0YXR1cyBzdHJjdXR1cmUpIgorIzogcmVhZGVsZi5jOjEwMjQ2Cittc2dpZCAiTlRfV0lOMzJQU1RBVFVTICh3aW4zMl9wc3RhdHVzIHN0cnVjdHVyZSkiCiBtc2dzdHIgIk5UX1dJTjMyUFNUQVRVUyAod2luMzJfcHN0YXR1cy1zdHJ1a3R1cikiCiAKLSMKLSM6IHJlYWRlbGYuYzo5MDk1IHJlYWRlbGYuYzo5MTE5CisjOiByZWFkZWxmLmM6MTAyNDggcmVhZGVsZi5jOjEwMjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gbm90ZSB0eXBlOiAoMHglMDh4KSIKLW1zZ3N0ciAiT2vkbmQga29tbWVudGFyc3R5cDogKDB4JTA4eCkiCittc2dzdHIgIk9rw6RuZCBrb21tZW50YXJzdHlwOiAoMHglMDh4KSIKIAotIwogIy4gTmV0QlNEIGNvcmUgInByb2NpbmZvIiBzdHJ1Y3R1cmUuCi0jOiByZWFkZWxmLmM6OTEwOQorIzogcmVhZGVsZi5jOjEwMjYyCiBtc2dpZCAiTmV0QlNEIHByb2NpbmZvIHN0cnVjdHVyZSIKIG1zZ3N0ciAiTmV0QlNEIHByb2Nlc3NpbmZvLXN0cnVrdHVyIgogCi0jCi0jICBGSVhNRQotIzogcmVhZGVsZi5jOjkxMzYgcmVhZGVsZi5jOjkxNTAKKyM6IHJlYWRlbGYuYzoxMDI4OSByZWFkZWxmLmM6MTAzMDMKIG1zZ2lkICJQVF9HRVRSRUdTIChyZWcgc3RydWN0dXJlKSIKLW1zZ3N0ciAiUFRfR0VUUkVHUyAocmVnaXN0ZXJzdHJ1a3R1cikiCittc2dzdHIgIlBUX0dFVFJFR1MgKHJlZy1zdHJ1a3R1cikiCiAKLSMKLSMgIEZJWE1FCi0jOiByZWFkZWxmLmM6OTEzOCByZWFkZWxmLmM6OTE1MgorIzogcmVhZGVsZi5jOjEwMjkxIHJlYWRlbGYuYzoxMDMwNQogbXNnaWQgIlBUX0dFVEZQUkVHUyAoZnByZWcgc3RydWN0dXJlKSIKIG1zZ3N0ciAiUFRfR0VURlBSRUdTIChmcHJlZy1zdHJ1a3R1cikiCiAKLSMKLSMgIEZJWE1FCi0jOiByZWFkZWxmLmM6OTE1OAorIzogcmVhZGVsZi5jOjEwMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlBUX0ZJUlNUTUFDSCslZCIKIG1zZ3N0ciAiUFRfRklSU1RNQUNIKyVkIgogCi0jCi0jOiByZWFkZWxmLmM6OTIxMgorIzogcmVhZGVsZi5jOjEwMzY1CiBtc2dpZCAibm90ZXMiCiBtc2dzdHIgImtvbW1lbnRhcmVyIgogCi0jCi0jOiByZWFkZWxmLmM6OTIxOAorIzogcmVhZGVsZi5jOjEwMzcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKICJOb3RlcyBhdCBvZmZzZXQgMHglMDhseCB3aXRoIGxlbmd0aCAweCUwOGx4OlxuIgogbXNnc3RyICIiCiAiXG4iCi0iS29tbWVudGFyZXIgcOUgb2Zmc2V0IDB4JTA4bHggYXYgbORuZ2QgMHglMDhseDpcbiIKKyJLb21tZW50YXJlciBww6Ugb2Zmc2V0IDB4JTA4bHggYXYgbMOkbmdkIDB4JTA4bHg6XG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo5MjIwCisjOiByZWFkZWxmLmM6MTAzNzMKIG1zZ2lkICIgIE93bmVyXHRcdERhdGEgc2l6ZVx0RGVzY3JpcHRpb25cbiIKLW1zZ3N0ciAiICDEZ2FyZVx0XHREYXRhLXN0b3JsZWtcdEJlc2tyaXZuaW5nXG4iCittc2dzdHIgIiAgw4RnYXJlXHRcdERhdGEtc3Rvcmxla1x0QmVza3Jpdm5pbmdcbiIKIAotIwotIzogcmVhZGVsZi5jOjkzMzEKKyM6IHJlYWRlbGYuYzoxMDM5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IG5vdGUgZm91bmQgYXQgb2Zmc2V0ICV4IGludG8gY29yZSBub3Rlc1xuIgorbXNnc3RyICJmYW5uIHRyYXNpZyBrb21tZW50YXIgcMOlIG9mZnNldCAleCBpIG1pbm5lc3V0c2tyaWZ0c2tvbW1lbnRhcmVybmFcbiIKKworIzogcmVhZGVsZi5jOjEwMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlOiAleCwgbmFtZXNpemU6ICUwOGx4LCBkZXNjc2l6ZTogJTA4bHhcbiIKK21zZ3N0ciAiIHR5cDogJXgsIG5hbW5zdG9ybGVrOiAlMDhseCwgYmVza3Jpdm5pbmdzc3RvcmxlazogJTA4bHhcbiIKKworIzogcmVhZGVsZi5jOjEwNDc2CiBtc2dpZCAiTm8gbm90ZSBzZWdtZW50cyBwcmVzZW50IGluIHRoZSBjb3JlIGZpbGUuXG4iCiBtc2dzdHIgIkRldCBmaW5ucyBpbmdhIGtvbW1lbnRhcmVyIGkgbWlubmVzZmlsZW4uXG4iCiAKLSMKLSM6IHJlYWRlbGYuYzo5NDA5CisjOiByZWFkZWxmLmM6MTA1NjAKIG1zZ2lkICIiCiAiVGhpcyBpbnN0YW5jZSBvZiByZWFkZWxmIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3IgYVxuIgogIjY0IGJpdCBkYXRhIHR5cGUgYW5kIHNvIGl0IGNhbm5vdCByZWFkIDY0IGJpdCBFTEYgZmlsZXMuXG4iCiBtc2dzdHIgIiIKLSJEZW4gaORyIGJpbuRyZW4gYXYgcmVhZGVsZiBoYXIgYnlnZ3RzIHV0YW4gc3T2ZCBm9nIgZW4gNjQtYml0YXJzXG4iCi0iZGF0YXR5cCBvY2gga2FuIGTkcmb2ciBpbnRlIGzkc2EgNjQtYml0YXJzIEVMRi1maWxlci5cbiIKKyJEZW4gaMOkciBiaW7DpHJlbiBhdiByZWFkZWxmIGhhciBieWdndHMgdXRhbiBoYW50ZXJpbmcgYXYgNjQtYml0YXJzXG4iCisiZGF0YXR5cGVyIG9jaCBrYW4gZMOkcmbDtnIgaW50ZSBsw6RzYSA2NC1iaXRhcnMgRUxGLWZpbGVyLlxuIgogCi0jCi0jOiByZWFkZWxmLmM6OTQ1MgorIzogcmVhZGVsZi5jOjEwNjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzdGF0IGlucHV0IGZpbGUgJXMuXG4iCi1tc2dzdHIgIkthbiBpbnRlIHRhIHN0YXR1cyBm9nIgaW5kYXRhZmlsICVzLlxuIgorbXNnc3RyICJLYW4gaW50ZSB0YSBzdGF0dXMgcMOlIGluZmlsICVzLlxuIgogCi0jCi0jOiByZWFkZWxmLmM6OTQ1OQorIzogcmVhZGVsZi5jOjEwNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIklucHV0IGZpbGUgJXMgbm90IGZvdW5kLlxuIgotbXNnc3RyICJJbmRhdGFmaWwgJXMgZmlubnMgaW50ZS5cbiIKK21zZ3N0ciAiSW5maWwgJXMgZmlubnMgaW50ZS5cbiIKIAotIwotIzogcmVhZGVsZi5jOjk0NjUKKyM6IHJlYWRlbGYuYzoxMDYxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogRmFpbGVkIHRvIHJlYWQgZmlsZSBoZWFkZXJcbiIKLW1zZ3N0ciAiJXM6IE1pc3NseWNrYWRlcyBs5HNhIGZpbGh1dnVkXG4iCittc2dzdHIgIiVzOiBMeWNrYWRlcyBpbnRlIGzDpHNhIGZpbGh1dnVkZXRcbiIKIAotIwotIzogcmVhZGVsZi5jOjk0NzkKKyM6IHJlYWRlbGYuYzoxMDYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC00NzQxLDgzMSArNDE4Myw3NDkgQEAKICJcbiIKICJGaWw6ICVzXG4iCiAKLSMKLSM6IHJlbmFtZS5jOjEzMQorIzogcmVuYW1lLmM6MTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgc2V0IHRpbWU6ICVzIgotbXNnc3RyICIlczoga2FuIGludGUgc+R0dGEgdGlkZW46ICVzIgorbXNnc3RyICIlczoga2FuIGludGUgc8OkdHRhIHRpZGVuOiAlcyIKIAotIwogIy4gV2UgaGF2ZSB0byBjbGVhbiB1cCBoZXJlLgotIzogcmVuYW1lLmM6MTcwIHJlbmFtZS5jOjIwMworIzogcmVuYW1lLmM6MTcxIHJlbmFtZS5jOjIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVuYW1lOiAlcyIKIG1zZ3N0ciAiJXM6IGthbiBpbnRlIGJ5dGEgbmFtbjogJXMiCiAKLSMKLSM6IHJlbmFtZS5jOjIxMQorIzogcmVuYW1lLmM6MjEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzaW1wbGVfY29weTogJXMiCiBtc2dzdHIgIiVzOiBrb3BpZXJpbmdzZmVsOiAlcyIKIAotIwotIzogcmVzYmluLmM6MTMwCisjOiByZXNiaW4uYzoxMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBlbm91Z2ggYmluYXJ5IGRhdGEiCi1tc2dzdHIgIiVzOiBpbnRlIHRpbGxy5GNrbGlndCBtZWQgYmlu5HJkYXRhIgorbXNnc3RyICIlczogaW50ZSB0aWxscsOkY2tsaWd0IG1lZCByw6VkYXRhIgogCi0jCi0jOiByZXNiaW4uYzoxNDkKKyM6IHJlc2Jpbi5jOjE1MwogbXNnaWQgIm51bGwgdGVybWluYXRlZCB1bmljb2RlIHN0cmluZyIKLW1zZ3N0ciAibm9sbHRlcm1pbmVyYWQgdW5pY29kZS1zdHLkbmciCittc2dzdHIgIm5vbGx0ZXJtaW5lcmFkIHVuaWNvZGUtc3Ryw6RuZyIKIAotIwotIzogcmVzYmluLmM6MTc5IHJlc2Jpbi5jOjE4NQorIzogcmVzYmluLmM6MTgzIHJlc2Jpbi5jOjE4OQogbXNnaWQgInJlc291cmNlIElEIgogbXNnc3RyICJyZXN1cnMtSUQiCiAKLSMKLSM6IHJlc2Jpbi5jOjIyOQorIzogcmVzYmluLmM6MjMzCiBtc2dpZCAiY3Vyc29yIgotbXNnc3RyICJtYXJr9nIiCittc2dzdHIgIm1hcmvDtnIiCiAKLSMKLSM6IHJlc2Jpbi5jOjI2MyByZXNiaW4uYzoyNzAKKyM6IHJlc2Jpbi5jOjI2NyByZXNiaW4uYzoyNzQKIG1zZ2lkICJtZW51IGhlYWRlciIKIG1zZ3N0ciAibWVueWh1dnVkIgogCi0jCi0jOiByZXNiaW4uYzoyODAKKyM6IHJlc2Jpbi5jOjI4NAogbXNnaWQgIm1lbnVleCBoZWFkZXIiCiBtc2dzdHIgIm1lbnktZXh0Li1odXZ1ZCIKIAotIwotIzogcmVzYmluLmM6Mjg0CisjOiByZXNiaW4uYzoyODgKIG1zZ2lkICJtZW51ZXggb2Zmc2V0IgogbXNnc3RyICJtZW55LWV4dC4tb2Zmc2V0IgogCi0jCi0jOiByZXNiaW4uYzoyOTEKKyM6IHJlc2Jpbi5jOjI5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBtZW51IHZlcnNpb24gJWQiCi1tc2dzdHIgIm1lbnl2ZXJzaW9uICVkIHN09mRzIGludGUiCittc2dzdHIgIm1lbnl2ZXJzaW9uICVkIGhhbnRlcmFzIGludGUiCiAKLSMKLSM6IHJlc2Jpbi5jOjMxOSByZXNiaW4uYzozMzQgcmVzYmluLmM6NDAwCisjOiByZXNiaW4uYzozMjMgcmVzYmluLmM6MzM4IHJlc2Jpbi5jOjQwNAogbXNnaWQgIm1lbnVpdGVtIGhlYWRlciIKIG1zZ3N0ciAibWVueW9iamVrdHNodXZ1ZCIKIAotIwotIzogcmVzYmluLmM6NDMwCisjOiByZXNiaW4uYzo0MzQKIG1zZ2lkICJtZW51aXRlbSIKIG1zZ3N0ciAibWVueW9iamVrdCIKIAotIwotIzogcmVzYmluLmM6NDcxIHJlc2Jpbi5jOjQ5OQorIzogcmVzYmluLmM6NDc1IHJlc2Jpbi5jOjUwMwogbXNnaWQgImRpYWxvZyBoZWFkZXIiCiBtc2dzdHIgImRpYWxvZ2h1dnVkIgogCi0jCi0jOiByZXNiaW4uYzo0ODkKKyM6IHJlc2Jpbi5jOjQ5MwogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmV4cGVjdGVkIGRpYWxvZyBzaWduYXR1cmUgJWQiCi1tc2dzdHIgIm925G50YWQgZGlhbG9nc2lnbmF0dXIgJWQiCittc2dpZCAidW5leHBlY3RlZCBESUFMT0dFWCB2ZXJzaW9uICVkIgorbXNnc3RyICJvdsOkbnRhZCBESUFMT0dFWC12ZXJzaW9uc3R5cCAlZCIKIAotIwotIzogcmVzYmluLmM6NTMxCisjOiByZXNiaW4uYzo1MzgKIG1zZ2lkICJkaWFsb2cgZm9udCBwb2ludCBzaXplIgotbXNnc3RyICJkaWFsb2d0eXBzbml0dHNzdG9ybGVrIgorbXNnc3RyICJ0eXBzbml0dGV0cyBwdW5rdHN0b3JsZWsgaSBkaWFsb2ciCiAKLSMKLSM6IHJlc2Jpbi5jOjUzOQorIzogcmVzYmluLmM6NTQ2CiBtc2dpZCAiZGlhbG9nZXggZm9udCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiZGlhbG9nLWV4dC4tdHlwc25pdHRzaW5mb3JtYXRpb24iCiAKLSMKLSM6IHJlc2Jpbi5jOjU2NCByZXNiaW4uYzo1ODIKKyM6IHJlc2Jpbi5jOjU3MiByZXNiaW4uYzo1OTAKIG1zZ2lkICJkaWFsb2cgY29udHJvbCIKIG1zZ3N0ciAiZGlhbG9na29udHJvbGwiCiAKLSMKLSM6IHJlc2Jpbi5jOjU3NAorIzogcmVzYmluLmM6NTgyCiBtc2dpZCAiZGlhbG9nZXggY29udHJvbCIKIG1zZ3N0ciAiZGlvYWxvZy1leHQua29udHJvbGwiCiAKLSMKLSM6IHJlc2Jpbi5jOjYwMworIzogcmVzYmluLmM6NjExCiBtc2dpZCAiZGlhbG9nIGNvbnRyb2wgZW5kIgogbXNnc3RyICJkaWFsb2drb250cm9sbHNzbHV0IgogCi0jCi0jOiByZXNiaW4uYzo2MTUKKyM6IHJlc2Jpbi5jOjYyMwogbXNnaWQgImRpYWxvZyBjb250cm9sIGRhdGEiCiBtc2dzdHIgImRpYWxvZ2tvbnRyb2xsc2RhdGEiCiAKLSMKLSM6IHJlc2Jpbi5jOjY1OAorIzogcmVzYmluLmM6NjY2CiBtc2dpZCAic3RyaW5ndGFibGUgc3RyaW5nIGxlbmd0aCIKLW1zZ3N0ciAic3Ry5G5ndGFiZWxsc3N0cuRuZ2zkbmdkIgorbXNnc3RyICJsw6RuZ2QgcMOlIHN0csOkbmcgaSBzdHLDpG5ndGFiZWxsZW4iCiAKLSMKLSM6IHJlc2Jpbi5jOjY2OAorIzogcmVzYmluLmM6Njc2CiBtc2dpZCAic3RyaW5ndGFibGUgc3RyaW5nIgotbXNnc3RyICJzdHLkbmd0YWJlbGxzc3Ry5G5nIgorbXNnc3RyICJzdHLDpG5nIGkgc3Ryw6RuZ3RhYmVsbGVuIgogCi0jCi0jOiByZXNiaW4uYzo3MDEKKyM6IHJlc2Jpbi5jOjcwOQogbXNnaWQgImZvbnRkaXIgaGVhZGVyIgotbXNnc3RyICJ0eXBzbml0dHNrYXRhbG9nc2h1dnVkIgorbXNnc3RyICJ0eXBzbml0dHNrYXRhbG9nZW5zIGh1dnVkIgogCi0jCi0jOiByZXNiaW4uYzo3MTQKKyM6IHJlc2Jpbi5jOjcyMgogbXNnaWQgImZvbnRkaXIiCiBtc2dzdHIgInR5cHNuaXR0c2thdGFsb2ciCiAKLSMKLSM6IHJlc2Jpbi5jOjczMAorIzogcmVzYmluLmM6NzM4CiBtc2dpZCAiZm9udGRpciBkZXZpY2UgbmFtZSIKLW1zZ3N0ciAidHlwc25pdHRza2F0YWxvZ3NlbmhldHNuYW1uIgorbXNnc3RyICJ0eXBzbml0dHNrYXRhbG9nZW5zIGVuaGV0c25hbW4iCiAKLSMKLSM6IHJlc2Jpbi5jOjczNgorIzogcmVzYmluLmM6NzQ0CiBtc2dpZCAiZm9udGRpciBmYWNlIG5hbWUiCi1tc2dzdHIgInR5cHNuaXR0c2thdGFsb2dzdHlwc25pdHRzbmFtbiIKK21zZ3N0ciAidHlwc25pdHRza2F0YWxvZ2VucyBmb3JtbmFtbiIKIAotIwotIzogcmVzYmluLmM6Nzc5CisjOiByZXNiaW4uYzo3ODcKIG1zZ2lkICJhY2NlbGVyYXRvciIKIG1zZ3N0ciAiYWNjZWxlcmVyYXJlIgogCi0jCi0jOiByZXNiaW4uYzo4NDMKKyM6IHJlc2Jpbi5jOjg1MQogbXNnaWQgImdyb3VwIGN1cnNvciBoZWFkZXIiCi1tc2dzdHIgImdydXBwbWFya/Zyc2h1dnVkIgorbXNnc3RyICJncnVwcG1hcmvDtnJzaHV2dWQiCiAKLSMKLSM6IHJlc2Jpbi5jOjg0NworIzogcmVzYmluLmM6ODU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZ3JvdXAgY3Vyc29yIHR5cGUgJWQiCi1tc2dzdHIgIm925G50YWQgZ3J1cHBtYXJr9nJzdHlwICVkIgorbXNnc3RyICJvdsOkbnRhZCBncnVwcG1hcmvDtnJzdHlwICVkIgogCi0jCi0jOiByZXNiaW4uYzo4NjIKKyM6IHJlc2Jpbi5jOjg3MAogbXNnaWQgImdyb3VwIGN1cnNvciIKLW1zZ3N0ciAiZ3J1cHBtYXJr9nIiCittc2dzdHIgImdydXBwbWFya8O2ciIKIAotIwotIzogcmVzYmluLmM6OTAxCisjOiByZXNiaW4uYzo5MDkKIG1zZ2lkICJncm91cCBpY29uIGhlYWRlciIKIG1zZ3N0ciAiZ3J1cHBpa29uc2h1dnVkIgogCi0jCi0jOiByZXNiaW4uYzo5MDUKKyM6IHJlc2Jpbi5jOjkxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGdyb3VwIGljb24gdHlwZSAlZCIKLW1zZ3N0ciAib3bkbnRhZCBncnVwcGlrb25zdHlwICVkIgorbXNnc3RyICJvdsOkbnRhZCBncnVwcGlrb25zdHlwICVkIgogCi0jCi0jOiByZXNiaW4uYzo5MjAKKyM6IHJlc2Jpbi5jOjkyOAogbXNnaWQgImdyb3VwIGljb24iCiBtc2dzdHIgImdydXBwaWtvbiIKIAotIwotIzogcmVzYmluLmM6OTkxIHJlc2Jpbi5jOjEyMTAKKyM6IHJlc2Jpbi5jOjk5OSByZXNiaW4uYzoxMjE4CiBtc2dpZCAidW5leHBlY3RlZCB2ZXJzaW9uIHN0cmluZyIKLW1zZ3N0ciAib3bkbnRhZCB2ZXJzaW9uc3N0cuRuZyIKK21zZ3N0ciAib3bDpG50YWQgdmVyc2lvbnNzdHLDpG5nIgogCi0jCi0jOiByZXNiaW4uYzoxMDI1CisjOiByZXNiaW4uYzoxMDMzCiAjLCBjLWZvcm1hdAogbXNnaWQgInZlcnNpb24gbGVuZ3RoICVkIGRvZXMgbm90IG1hdGNoIHJlc291cmNlIGxlbmd0aCAlbHUiCi1tc2dzdHIgInZlcnNpb25zbORuZ2QgJWQgcGFzc2FyIGludGUgbWVkIHJlc3Vyc2zkbmdkICVsdSIKK21zZ3N0ciAidmVyc2lvbnNsw6RuZ2QgJWQgw7Z2ZXJlbnNzdMOkbW1lciBpbnRlIG1lZCByZXN1cnNsw6RuZ2QgJWx1IgogCi0jCi0jOiByZXNiaW4uYzoxMDI5CisjOiByZXNiaW4uYzoxMDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdmVyc2lvbiB0eXBlICVkIgotbXNnc3RyICJvduRudGFkIHZlcnNpb25zdHlwICVkIgorbXNnc3RyICJvdsOkbnRhZCB2ZXJzaW9uc3R5cCAlZCIKIAotIwotIzogcmVzYmluLmM6MTA0MQorIzogcmVzYmluLmM6MTA0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGZpeGVkIHZlcnNpb24gaW5mb3JtYXRpb24gbGVuZ3RoICVkIgotbXNnc3RyICJvduRudGFkIGzkbmdkICVkIHDlIGZhc3QgdmVyc2lvbnNpbmZvcm1hdGlvbiIKK21zZ3N0ciAib3bDpG50YWQgbMOkbmdkICVkIHDDpSBmYXN0IHZlcnNpb25zaW5mb3JtYXRpb24iCiAKLSMKLSM6IHJlc2Jpbi5jOjEwNDQKKyM6IHJlc2Jpbi5jOjEwNTIKIG1zZ2lkICJmaXhlZCB2ZXJzaW9uIGluZm8iCiBtc2dzdHIgImZhc3QgdmVyc2lvbnNpbmZvIgogCi0jCi0jOiByZXNiaW4uYzoxMDQ4CisjOiByZXNiaW4uYzoxMDU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZml4ZWQgdmVyc2lvbiBzaWduYXR1cmUgJWx1IgotbXNnc3RyICJvduRudGFkIGZhc3QgdmVyc2lvbnNzaWduYXR1ciAlbHUiCittc2dzdHIgIm92w6RudGFkIGZhc3QgdmVyc2lvbnNzaWduYXR1ciAlbHUiCiAKLSMKLSM6IHJlc2Jpbi5jOjEwNTIKKyM6IHJlc2Jpbi5jOjEwNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBmaXhlZCB2ZXJzaW9uIGluZm8gdmVyc2lvbiAlbHUiCi1tc2dzdHIgIm925G50YWQgdmVyc2lvbiAlbHUgYXYgZmFzdCB2ZXJzaW9uc2luZm9ybWF0aW9uIgorbXNnc3RyICJvdsOkbnRhZCB2ZXJzaW9uICVsdSBhdiBmYXN0IHZlcnNpb25zaW5mb3JtYXRpb24iCiAKLSMKLSM6IHJlc2Jpbi5jOjEwODEKKyM6IHJlc2Jpbi5jOjEwODkKIG1zZ2lkICJ2ZXJzaW9uIHZhciBpbmZvIgogbXNnc3RyICJ2YXJpYWJlbCB2ZXJzaW9uc2luZm8iCiAKLSMKLSM6IHJlc2Jpbi5jOjEwOTgKKyM6IHJlc2Jpbi5jOjExMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBzdHJpbmdmaWxlaW5mbyB2YWx1ZSBsZW5ndGggJWQiCi1tc2dzdHIgIm925G50YWQgbORuZ2QgJWQgcOUgduRyZGUgZvZyIHN0cuRuZ2ZpbHNpbmZvIgorbXNnc3RyICJvdsOkbnRhZCBsw6RuZ2QgJWQgcMOlIHbDpHJkZSBmw7ZyIHN0csOkbmdmaWxzaW5mbyIKIAotIwotIzogcmVzYmluLmM6MTEwOAorIzogcmVzYmluLmM6MTExNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHZlcnNpb24gc3RyaW5ndGFibGUgdmFsdWUgbGVuZ3RoICVkIgotbXNnc3RyICJvduRudGFkIGzkbmdkICVkIHDlIHbkcmRlIGb2ciB2ZXJzaW9uc3N0cuRuZ3RhYmVsbCIKK21zZ3N0ciAib3bDpG50YWQgbMOkbmdkICVkIHDDpSB2w6RyZGUgZsO2ciB2ZXJzaW9uc3N0csOkbmd0YWJlbGwiCiAKLSMKLSM6IHJlc2Jpbi5jOjExNDIKKyM6IHJlc2Jpbi5jOjExNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB2ZXJzaW9uIHN0cmluZyBsZW5ndGggJWQgIT0gJWQgKyAlZCIKLW1zZ3N0ciAib3bkbnRhZCBs5G5nZCAlZCAhPSAlZCArICVkIHDlIHZlcnNpb25zc3Ry5G5nIgorbXNnc3RyICJvdsOkbnRhZCBsw6RuZ2QgJWQgIT0gJWQgKyAlZCBww6UgdmVyc2lvbnNzdHLDpG5nIgogCi0jCi0jOiByZXNiaW4uYzoxMTUzCisjOiByZXNiaW4uYzoxMTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdmVyc2lvbiBzdHJpbmcgbGVuZ3RoICVkIDwgJWQiCi1tc2dzdHIgIm925G50YWQgbORuZ2QgJWQgPCAlZCBw5SB2ZXJzaW9uc3N0cuRuZyIKK21zZ3N0ciAib3bDpG50YWQgbMOkbmdkICVkIDwgJWQgcMOlIHZlcnNpb25zc3Ryw6RuZyIKIAotIwotIzogcmVzYmluLmM6MTE3MAorIzogcmVzYmluLmM6MTE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHZhcmZpbGVpbmZvIHZhbHVlIGxlbmd0aCAlZCIKLW1zZ3N0ciAib3bkbnRhZCBs5G5nZCAlZCBw5SB25HJkZSBm9nIgdmFyLmZpbGluZm8iCittc2dzdHIgIm92w6RudGFkIGzDpG5nZCAlZCBww6UgdsOkcmRlIGbDtnIgdmFyLmZpbGluZm8iCiAKLSMKLSM6IHJlc2Jpbi5jOjExODkKKyM6IHJlc2Jpbi5jOjExOTcKIG1zZ2lkICJ2ZXJzaW9uIHZhcmZpbGVpbmZvIgogbXNnc3RyICJ2ZXJzaW9uc3Zhci5maWxpbmZvIgogCi0jCi0jOiByZXNiaW4uYzoxMjA0CisjOiByZXNiaW4uYzoxMjEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdmVyc2lvbiB2YWx1ZSBsZW5ndGggJWQiCi1tc2dzdHIgIm925G50YWQgbORuZ2QgJWQgcOUgduRyZGUgZvZyIHZlcnNpb24iCittc2dzdHIgIm92w6RudGFkIGzDpG5nZCAlZCBww6UgdsOkcmRlIGbDtnIgdmVyc2lvbiIKIAotIwogIzogcmVzY29mZi5jOjEyOAogbXNnaWQgImZpbGVuYW1lIHJlcXVpcmVkIGZvciBDT0ZGIGlucHV0IgotbXNnc3RyICJmaWxuYW1uIGty5HZzIGb2ciBDT0ZGLWluZGF0YSIKK21zZ3N0ciAiZmlsbmFtbiBrcsOkdnMgZsO2ciBDT0ZGLWluZGF0YSIKIAotIwogIzogcmVzY29mZi5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gcmVzb3VyY2Ugc2VjdGlvbiIKIG1zZ3N0ciAiJXM6IGluZ2VuIHJlc3Vyc3Nla3Rpb24iCiAKLSMKICM6IHJlc2NvZmYuYzoxNTIKIG1zZ2lkICJjYW4ndCByZWFkIHJlc291cmNlIHNlY3Rpb24iCi1tc2dzdHIgImthbiBpbnRlIGzkc2EgcmVzdXJzc2VrdGlvbmVuIgorbXNnc3RyICJrYW4gaW50ZSBsw6RzYSByZXN1cnNzZWt0aW9uZW4iCiAKLSMKICM6IHJlc2NvZmYuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBhZGRyZXNzIG91dCBvZiBib3VuZHMiCi1tc2dzdHIgIiVzOiAlczogYWRyZXNzIHV0YW5m9nIgYmVncuRuc25pbmdlbiIKK21zZ3N0ciAiJXM6ICVzOiBhZHJlc3MgdXRhbmbDtnIgYmVncsOkbnNuaW5nZW4iCiAKLSMKICM6IHJlc2NvZmYuYzoxOTcKIG1zZ2lkICJkaXJlY3RvcnkiCiBtc2dzdHIgImthdGFsb2ciCiAKLSMKICM6IHJlc2NvZmYuYzoyMjUKIG1zZ2lkICJuYW1lZCBkaXJlY3RvcnkgZW50cnkiCiBtc2dzdHIgIm5hbW5naXZlbiBrYXRhbG9ncG9zdCIKIAotIwogIzogcmVzY29mZi5jOjIzNAogbXNnaWQgImRpcmVjdG9yeSBlbnRyeSBuYW1lIgogbXNnc3RyICJrYXRhbG9ncG9zdG5hbW4iCiAKLSMKICM6IHJlc2NvZmYuYzoyNTQKIG1zZ2lkICJuYW1lZCBzdWJkaXJlY3RvcnkiCiBtc2dzdHIgIm5hbW5naXZlbiB1bmRlcmthdGFsb2ciCiAKLSMKICM6IHJlc2NvZmYuYzoyNjIKIG1zZ2lkICJuYW1lZCByZXNvdXJjZSIKIG1zZ3N0ciAibmFtbmdpdmVuIHJlc3VycyIKIAotIwogIzogcmVzY29mZi5jOjI3NwogbXNnaWQgIklEIGRpcmVjdG9yeSBlbnRyeSIKIG1zZ3N0ciAiSUQta2F0YWxvZ3Bvc3QiCiAKLSMKICM6IHJlc2NvZmYuYzoyOTQKIG1zZ2lkICJJRCBzdWJkaXJlY3RvcnkiCiBtc2dzdHIgIklELXVuZGVya2F0YWxvZyIKIAotIwogIzogcmVzY29mZi5jOjMwMgogbXNnaWQgIklEIHJlc291cmNlIgogbXNnc3RyICJJRC1yZXN1cnMiCiAKLSMKICM6IHJlc2NvZmYuYzozMjgKIG1zZ2lkICJyZXNvdXJjZSB0eXBlIHVua25vd24iCi1tc2dzdHIgIm9r5G5kIHJlc3Vyc3R5cCIKK21zZ3N0ciAib2vDpG5kIHJlc3Vyc3R5cCIKIAotIwogIzogcmVzY29mZi5jOjMzMQogbXNnaWQgImRhdGEgZW50cnkiCiBtc2dzdHIgImRhdGFwb3N0IgogCi0jCiAjOiByZXNjb2ZmLmM6MzM5CiBtc2dpZCAicmVzb3VyY2UgZGF0YSIKIG1zZ3N0ciAicmVzdXJzZGF0YSIKIAotIwogIzogcmVzY29mZi5jOjM0NAogbXNnaWQgInJlc291cmNlIGRhdGEgc2l6ZSIKLW1zZ3N0ciAic3RvcmxlayBw5SByZXN1cnNkYXRhIgorbXNnc3RyICJzdG9ybGVrIHDDpSByZXN1cnNkYXRhIgogCi0jCiAjOiByZXNjb2ZmLmM6NDM5CiBtc2dpZCAiZmlsZW5hbWUgcmVxdWlyZWQgZm9yIENPRkYgb3V0cHV0IgotbXNnc3RyICJmaWxuYW1uIGty5HZzIGb2ciBDT0ZGLXV0ZGF0YSIKK21zZ3N0ciAiZmlsbmFtbiBrcsOkdnMgZsO2ciBDT0ZGLXV0ZGF0YSIKIAotIwogIzogcmVzY29mZi5jOjczOAogbXNnaWQgImNhbid0IGdldCBCRkRfUkVMT0NfUlZBIHJlbG9jYXRpb24gdHlwZSIKLW1zZ3N0ciAia2FuIGludGUgdGEgZnJhbSBCRkRfUkVMT0NfUlZBLXJlbG9rZXJpbmdzdHlwIgorbXNnc3RyICJrYW4gaW50ZSBmw6UgZnJhbSBCRkRfUkVMT0NfUlZBLXJlbG9rZXJpbmdzdHlwIgogCi0jCiAjOiByZXNyYy5jOjI0MCByZXNyYy5jOjMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIGAlcyc6ICVzIgotbXNnc3RyICJrYW4gaW50ZSD2cHBuYSB0ZW1wb3LkcmZpbCBcIiVzXCI6ICVzIgorbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgdGVtcG9yw6RyZmlsIFwiJXNcIjogJXMiCiAKLSMKICM6IHJlc3JjLmM6MjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IHJlZGlyZWN0IHN0ZG91dDogYCVzJzogJXMiCiBtc2dzdHIgImthbiBpbnRlIG9tZGlyaWdlcmEgc3RhbmRhcmQgdXQ6IFwiJXNcIjogJXMiCiAKLSMKICM6IHJlc3JjLmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzICVzOiAlcyIKIG1zZ3N0ciAiJXMgJXM6ICVzIgogCi0jCiAjOiByZXNyYy5jOjMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBleGVjdXRlIGAlcyc6ICVzIgogbXNnc3RyICJrYW4gaW50ZSBleGVrdmVyYSBcIiVzXCI6ICVzIgogCi0jCiAjOiByZXNyYy5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0ZW1wb3JhcnkgZmlsZSBgJXMnIHRvIHJlYWQgcHJlcHJvY2Vzc29yIG91dHB1dFxuIgotbXNnc3RyICJVdG55dHRqYXIgdGVtcG9y5HJmaWwgXCIlc1wiIHRpbGwgYXR0IGzkc2EgcHJlcHJvY2Vzc29ydXRkYXRhXG4iCittc2dzdHIgIkzDpHNlciB1dGRhdGEgZnLDpW4gZsO2cmJlaGFuZGxhcmVuIHZpYSB0ZW1wb3LDpHJmaWwgXCIlc1wiXG4iCiAKLSMKICM6IHJlc3JjLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IHBvcGVuIGAlcyc6ICVzIgogbXNnc3RyICJrYW4gaW50ZSBhbnJvcGEgcG9wZW4gXCIlc1wiOiAlcyIKIAotIwogIzogcmVzcmMuYzozMjYKIG1zZ2lkICJVc2luZyBwb3BlbiB0byByZWFkIHByZXByb2Nlc3NvciBvdXRwdXRcbiIKLW1zZ3N0ciAiQW525G5kZXIgcG9wZW4gZvZyIGF0dCBs5HNhIHV0ZGF0YSBmcuVuIHByZXByb2Nlc3Nvcm5cbiIKK21zZ3N0ciAiTMOkc2VyIHV0ZGF0YSBmcsOlbiBmw7ZyYmVoYW5kbGFyZW4gdmlhIHBvcGVuXG4iCiAKLSMKICM6IHJlc3JjLmM6MzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyaWVkIGAlcydcbiIKIG1zZ3N0ciAiUHJvdmFkZSBcIiVzXCJcbiIKIAotIwogIzogcmVzcmMuYzozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNpbmcgYCVzJ1xuIgotbXNnc3RyICJBbnbkbmRlciBcIiVzXCJcbiIKK21zZ3N0ciAiQW52w6RuZGVyIFwiJXNcIlxuIgogCi0jCi0jOiByZXNyYy5jOjU0MQorIzogcmVzcmMuYzo1NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6JWQ6ICVzXG4iCiBtc2dzdHIgIiVzOiVkOiAlc1xuIgogCi0jCi0jOiByZXNyYy5jOjU1MAorIzogcmVzcmMuYzo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuZXhwZWN0ZWQgRU9GIgotbXNnc3RyICIlczogb3bkbnRhdCBmaWxzbHV0IgorbXNnc3RyICIlczogb3bDpG50YXQgZmlsc2x1dCIKIAotIwotIzogcmVzcmMuYzo2MDcKKyM6IHJlc3JjLmM6NjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkIG9mICVsdSByZXR1cm5lZCAlbHUiCi1tc2dzdHIgIiVzOiBs5HNuaW5nIGF2ICVsdSBieXRlIGdhdiAlbHUiCittc2dzdHIgIiVzOiBsw6RzbmluZyBhdiAlbHUgYnl0ZSBnYXYgJWx1IgogCi0jCi0jOiByZXNyYy5jOjY0OSByZXNyYy5jOjkwMyByZXNyYy5jOjExNzYgcmVzcmMuYzoxMzMwCisjOiByZXNyYy5jOjY1MCByZXNyYy5jOjkwNSByZXNyYy5jOjExNzggcmVzcmMuYzoxMzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInN0YXQgZmFpbGVkIG9uIGJpdG1hcCBmaWxlIGAlcyc6ICVzIgotbXNnc3RyICJzdGF0IG1pc3NseWNrYWRlcyBw5SBiaWxkZmlsIFwiJXNcIjogJXMiCittc2dzdHIgInN0YXQgbWlzc2x5Y2thZGVzIHDDpSBiaWxkZmlsIFwiJXNcIjogJXMiCiAKLSMKLSM6IHJlc3JjLmM6NzAyCisjOiByZXNyYy5jOjcwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjdXJzb3IgZmlsZSBgJXMnIGRvZXMgbm90IGNvbnRhaW4gY3Vyc29yIGRhdGEiCi1tc2dzdHIgIm1hcmv2cmZpbCBcIiVzXCIgaW5uZWjlbGxlciBpbnRlIG1hcmv2cmRhdGEiCittc2dzdHIgIm1hcmvDtnJmaWwgXCIlc1wiIGlubmVow6VsbGVyIGludGUgbWFya8O2cmRhdGEiCiAKLSMKLSM6IHJlc3JjLmM6NzM0IHJlc3JjLmM6MTA0NworIzogcmVzcmMuYzo3MzUgcmVzcmMuYzoxMDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmc2VlayB0byAlbHUgZmFpbGVkOiAlcyIKIG1zZ3N0ciAiJXM6IGZzZWVrIHRpbGwgJWx1IG1pc3NseWNrYWRlczogJXMiCiAKLSMKLSM6IHJlc3JjLmM6ODcxCi1tc2dpZCAiaGVscCBJRCByZXF1aXJlcyBESUFMT0dFWCIKLW1zZ3N0ciAiaGrkbHAtSUQga3LkdmVyIERJQUxPR0VYIgotCi0jCiAjOiByZXNyYy5jOjg3MwotbXNnaWQgImNvbnRyb2wgZGF0YSByZXF1aXJlcyBESUFMT0dFWCIKLW1zZ3N0ciAia29udHJvbGxkYXRhIGty5HZlciBESUFMT0dFWCIKK21zZ2lkICJoZWxwIElEIHJlcXVpcmVzIERJQUxPR0VYIgorbXNnc3RyICJoasOkbHAtSUQga3LDpHZlciBESUFMT0dFWCIKIAotIwotIzogcmVzcmMuYzoxMDE2CisjOiByZXNyYy5jOjg3NQorbXNnaWQgImNvbnRyb2wgZGF0YSByZXF1aXJlcyBESUFMT0dFWCIKK21zZ3N0ciAia29udHJvbGxkYXRhIGtyw6R2ZXIgRElBTE9HRVgiCisKKyM6IHJlc3JjLmM6MTAxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJpY29uIGZpbGUgYCVzJyBkb2VzIG5vdCBjb250YWluIGljb24gZGF0YSIKLW1zZ3N0ciAiaWtvbmZpbCBcIiVzXCIgaW5uZWjlbGxlciBpbnRlIGlrb25kYXRhIgorbXNnc3RyICJpa29uZmlsIFwiJXNcIiBpbm5laMOlbGxlciBpbnRlIGlrb25kYXRhIgogCi0jCi0jOiByZXNyYy5jOjE1MzUKKyM6IHJlc3JjLmM6MTUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBvcGVuIGAlcycgZm9yIG91dHB1dDogJXMiCi1tc2dzdHIgImthbiBpbnRlIPZwcG5hIFwiJXNcIiBm9nIgdXRtYXRuaW5nOiAlcyIKK21zZ3N0ciAia2FuIGludGUgw7ZwcG5hIFwiJXNcIiBmw7ZyIHV0bWF0bmluZzogJXMiCiAKLSMKLSM6IHNpemUuYzo3OQorIzogc2l6ZS5jOjg2Cittc2dpZCAiIERpc3BsYXlzIHRoZSBzaXplcyBvZiBzZWN0aW9ucyBpbnNpZGUgYmluYXJ5IGZpbGVzXG4iCittc2dzdHIgIiBWaXNhIHN0b3JsZWtlbiBww6Ugc2VrdGlvbmVyIGkgYmluw6RyZmlsZXJcbiIKKworIzogc2l6ZS5jOjg3Cittc2dpZCAiIElmIG5vIGlucHV0IGZpbGUocykgYXJlIHNwZWNpZmllZCwgYS5vdXQgaXMgYXNzdW1lZFxuIgorbXNnc3RyICIgT20gaW5nZW4gaW5maWwgw6RyIHZhbGQgYW52w6RuZHMgYS5vdXRcbiIKKworIzogc2l6ZS5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJVc2FnZTogJXMgWy1BIHwgLS1mb3JtYXQ9c3lzdiB8IC1CIHwgLS1mb3JtYXQ9YmVya2VsZXldXG4iCi0iICAgICAgIFstbyB8IC0tcmFkaXg9OCB8IC1kIHwgLS1yYWRpeD0xMCB8IC1oIHwgLS1yYWRpeD0xNl1cbiIKLSIgICAgICAgWy1WIHwgLS12ZXJzaW9uXSBbLS10YXJnZXQ9YmZkbmFtZV0gWy0taGVscF0gW2ZpbGUuLi5dXG4iCisiIFRoZSBvcHRpb25zIGFyZTpcbiIKKyIgIC1BfC1CICAgICAtLWZvcm1hdD17c3lzdnxiZXJrZWxleX0gIFNlbGVjdCBvdXRwdXQgc3R5bGUgKGRlZmF1bHQgaXMgJXMpXG4iCisiICAtb3wtZHwteCAgLS1yYWRpeD17OHwxMHwxNn0gICAgICAgICBEaXNwbGF5IG51bWJlcnMgaW4gb2N0YWwsIGRlY2ltYWwgb3IgaGV4XG4iCisiICAtdCAgICAgICAgLS10b3RhbHMgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoZSB0b3RhbCBzaXplcyAoQmVya2VsZXkgb25seSlcbiIKKyIgICAgICAgICAgICAtLXRhcmdldD08YmZkbmFtZT4gICAgICAgIFNldCB0aGUgYmluYXJ5IGZpbGUgZm9ybWF0XG4iCisiICAtaCAgICAgICAgLS1oZWxwICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgaW5mb3JtYXRpb25cbiIKKyIgIC12ICAgICAgICAtLXZlcnNpb24gICAgICAgICAgICAgICAgIERpc3BsYXkgdGhlIHByb2dyYW0ncyB2ZXJzaW9uXG4iCisiXG4iCiBtc2dzdHIgIiIKLSJBbnbkbmRuaW5nOiAlcyBbLUEgfCAtLWZvcm1hdD1zeXN2IHwgLUIgfCAtLWZvcm1hdD1iZXJrZWxleV1cbiIKLSIgICAgICAgICAgICBbLW8gfCAtLXJhZGl4PTggfCAtZCB8IC0tcmFkaXg9MTAgfCAtaCB8IC0tcmFkaXg9MTZdXG4iCi0iICAgICAgICAgICAgWy1WIHwgLS12ZXJzaW9uXSBbLS10YXJnZXQ9YmZkbmFtbl0gWy0taGVscF0gW2ZpbC4uLl1cbiIKKyIgRmxhZ2dvcm5hIMOkcjpcbiIKKyIgIC1BfC1CICAgICAtLWZvcm1hdD17c3lzdnxiZXJrZWxleX0gIFbDpGxqIHV0ZGF0YXN0aWwgKHN0YW5kYXJkIMOkciAlcylcbiIKKyIgIC1vfC1kfC14ICAtLXJhZGl4PXs4fDEwfDE2fSAgICAgICAgIFZpc2EgdGFsIG9rdGFsdCwgZGVjaW1hbHQgZWxsZXIgaGV4YWRlY2ltYWx0XG4iCisiICAtdCAgICAgICAgLS10b3RhbHMgICAgICAgICAgICAgICAgICBWaXNhIHNhbWFubGFnZCBzdG9ybGVrIChlbmRhc3QgQmVya2VsZXkpXG4iCisiICAgICAgICAgICAgLS10YXJnZXQ9PGJmZG5hbW4+ICAgICAgICBWw6RsaiBiaW7DpHJmaWxlbnMgZm9ybWF0XG4iCisiICAtaCAgICAgICAgLS1oZWxwICAgICAgICAgICAgICAgICAgICBWaXNhIGRlbm5hIGhqw6RscFxuIgorIiAgLXYgICAgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgVmlzYSBwcm9ncmFtbWV0cyB2ZXJzaW9uc2luZm9ybWF0aW9uXG4iCisiXG4iCiAKLSMKLSM6IHNpemUuYzo4NQotbXNnaWQgImRlZmF1bHQgaXMgLS1mb3JtYXQ9YmVya2VsZXlcbiIKLW1zZ3N0ciAic3RhbmRhcmR25HJkZXQg5HIgLS1mb3JtYXQ9YmVya2VsZXlcbiIKLQotIwotIzogc2l6ZS5jOjg3Ci1tc2dpZCAiZGVmYXVsdCBpcyAtLWZvcm1hdD1zeXN2XG4iCi1tc2dzdHIgInN0YW5kYXJkduRyZGV0IORyIC0tZm9ybWF0PXN5c3ZcbiIKLQotIwotIzogc2l6ZS5jOjE0NgorIzogc2l6ZS5jOjE2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tZm9ybWF0OiAlcyIKIG1zZ3N0ciAib2dpbHRpZ3QgYXJndW1lbnQgdGlsbCAtLWZvcm1hdDogJXMiCiAKLSMKLSM6IHNpemUuYzoxNzMKKyM6IHNpemUuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCByYWRpeDogJXNcbiIKIG1zZ3N0ciAiT2dpbHRpZyB0YWxiYXM6ICVzXG4iCiAKLSMKLSM6IHNyY29udi5jOjE5MzEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVXNhZ2U6ICVzIFstZGhWcV0gaW4tZmlsZSBbb3V0LWZpbGVdXG4iCi1tc2dzdHIgIkFuduRuZG5pbmc6ICVzIFstZGhWcV0gaW5maWwgW3V0ZmlsXVxuIgorIzogc3Jjb252LmM6MTk1MworbXNnaWQgIkNvbnZlcnQgYSBDT0ZGIG9iamVjdCBmaWxlIGludG8gYSBTWVNST0ZGIG9iamVjdCBmaWxlXG4iCittc2dzdHIgIktvbnZlcnRlcmFyIGVuIENPRkYtb2JqZWt0ZmlsIHRpbGwgZW4gU1lTUk9GRi1vYmpla3RmaWxcbiIKIAotIwotIzogc3Jjb252LmM6MTkzOAotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogQ29udmVydCBhIENPRkYgb2JqZWN0IGZpbGUgaW50byBhIFNZU1JPRkYgb2JqZWN0IGZpbGVcbiIKLW1zZ3N0ciAiJXM6IEtvbnZlcnRlcmFyIGVuIENPRkYtb2JqZWt0ZmlsIHRpbGwgZW4gU1lTUk9GRi1vYmpla3RmaWxcbiIKKyM6IHNyY29udi5jOjE5NTQKK21zZ2lkICIiCisiIFRoZSBvcHRpb25zIGFyZTpcbiIKKyIgIC1xIC0tcXVpY2sgICAgICAgKE9ic29sZXRlIC0gaWdub2VyZClcbiIKKyIgIC1uIC0tbm9wcmVzY2FuICAgRG8gbm90IHBlcmZvcm0gYSBzY2FuIHRvIGNvbnZlcnQgY29tbW9ucyBpbnRvIGRlZnNcbiIKKyIgIC1kIC0tZGVidWcgICAgICAgRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgIC1oIC0taGVscCAgICAgICAgRGlzcGxheSB0aGlzIGluZm9ybWF0aW9uXG4iCisiICAtdiAtLXZlcnNpb24gICAgIFByaW50IHRoZSBwcm9ncmFtJ3MgdmVyc2lvbiBudW1iZXJcbiIKK21zZ3N0ciAiIgorIiBGbGFnZ29ybmEgw6RyOlxuIgorIiAgLXEgLS1xdWljayAgICAgICAoVXRnw6V0dCAtIGlnbm9yZXJhcylcbiIKKyIgIC1uIC0tbm9wcmVzY2FuICAgR8O2ciBpbnRlIHPDtmstb2NoLWVyc8OkdHQgZnLDpW4gY29tbW9ucyB0aWxsIGRlZnNcbiIKKyIgIC1kIC0tZGVidWcgICAgICAgVmlzYSBpbmZvcm1hdGlvbiBvbSB2YWQgc29tIGjDpG5kZXJcbiIKKyIgIC1oIC0taGVscCAgICAgICAgVmlzYSBkZW5uYSBoasOkbHBcbiIKKyIgIC12IC0tdmVyc2lvbiAgICAgVmlzYSBwcm9ncmFtZXRzIHZlcnNpb25zaW5mb3JtYXRpb25cbiIKIAotIwotIzogc3Jjb252LmM6MjA3NAorIzogc3Jjb252LmM6MjA5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiBvdXRwdXQgZmlsZSAlcyIKLW1zZ3N0ciAia2FuIGludGUg9nBwbmEgdXRkYXRhZmlsICVzIgorbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgdXRmaWwgJXMiCiAKLSMKLSM6IHN0YWJzLmM6MzQzIHN0YWJzLmM6MTc2MAorIzogc3RhYnMuYzozNDYgc3RhYnMuYzoxNzU1CiBtc2dpZCAibnVtZXJpYyBvdmVyZmxvdyIKLW1zZ3N0ciAibnVtZXJpc2t0IPZ2ZXJzcGlsbCIKK21zZ3N0ciAibnVtZXJpc2t0IMO2dmVyc3BpbGwiCiAKLSMKLSMgIEZJWE1FCi0jOiBzdGFicy5jOjM1NAorIzogc3RhYnMuYzozNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIHN0YWI6ICVzXG4iCiBtc2dzdHIgIkZlbGFrdGlnIHN0YWI6ICVzXG4iCiAKLSMKLSM6IHN0YWJzLmM6MzY0CisjOiBzdGFicy5jOjM2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJXYXJuaW5nOiAlczogJXNcbiIKIG1zZ3N0ciAiVmFybmluZzogJXM6ICVzXG4iCiAKLSMKLSM6IHN0YWJzLmM6NDg2CisjOiBzdGFicy5jOjQ4OAogbXNnaWQgIk5fTEJSQUMgbm90IHdpdGhpbiBmdW5jdGlvblxuIgogbXNnc3RyICJOX0xCUkFDIGludGUgaW51dGkgZnVua3Rpb25cbiIKIAotIwotIzogc3RhYnMuYzo1MjUKKyM6IHN0YWJzLmM6NTI3CiBtc2dpZCAiVG9vIG1hbnkgTl9SQlJBQ3NcbiIKLW1zZ3N0ciAiRvZyIG3lbmdhIE5fUkJSQUM6c1xuIgorbXNnc3RyICJGw7ZyIG3DpW5nYSBOX1JCUkFDOnNcbiIKIAotIwotIzogc3RhYnMuYzo3NzAKKyM6IHN0YWJzLmM6NzczCiBtc2dpZCAidW5rbm93biBDKysgZW5jb2RlZCBuYW1lIgotbXNnc3RyICJva+RudCBDKysta29kYXQgbmFtbiIKK21zZ3N0ciAib2vDpG50IEMrKy1rb2RhdCBuYW1uIgogCi0jCiAjLiBDb21wbGFpbiBhbmQga2VlcCBnb2luZywgc28gY29tcGlsZXJzIGNhbiBpbnZlbnQgbmV3CiAjLiBjcm9zcy1yZWZlcmVuY2UgdHlwZXMuCi0jOiBzdGFicy5jOjEyOTcKKyM6IHN0YWJzLmM6MTI5MwogbXNnaWQgInVucmVjb2duaXplZCBjcm9zcyByZWZlcmVuY2UgdHlwZSIKLW1zZ3N0ciAib2vkbmQga29yc3JlZmVyZW5zdHlwIgorbXNnc3RyICJva8OkbmQga29yc3JlZmVyZW5zdHlwIgogCi0jCiAjLiBEb2VzIHRoaXMgYWN0dWFsbHkgZXZlciBoYXBwZW4/ICBJcyB0aGF0IHdoeSB3ZSBhcmUgd29ycnlpbmcKICMuIGFib3V0IGRlYWxpbmcgd2l0aCBpdCByYXRoZXIgdGhhbiBqdXN0IGNhbGxpbmcgZXJyb3JfdHlwZT8KLSM6IHN0YWJzLmM6MTg1MgorIzogc3RhYnMuYzoxODQ3CiBtc2dpZCAibWlzc2luZyBpbmRleCB0eXBlIgogbXNnc3RyICJ1dGVibGl2ZW4gaW5kZXh0eXAiCiAKLSMKLSM6IHN0YWJzLmM6MjE3OQorIzogc3RhYnMuYzoyMTc0CiBtc2dpZCAidW5rbm93biB2aXJ0dWFsIGNoYXJhY3RlciBmb3IgYmFzZWNsYXNzIgotbXNnc3RyICJva+RudCB2aXJ0dWVsbHQgdGVja2VuIGb2ciBiYXNrbGFzcyIKK21zZ3N0ciAib2vDpG50IHZpcnR1ZWxsdCB0ZWNrZW4gZsO2ciBiYXNrbGFzcyIKIAotIwotIyAgRklYTUUKLSM6IHN0YWJzLmM6MjE5NworIzogc3RhYnMuYzoyMTkyCiBtc2dpZCAidW5rbm93biB2aXNpYmlsaXR5IGNoYXJhY3RlciBmb3IgYmFzZWNsYXNzIgotbXNnc3RyICJva+RuZCBzeW5saWdoZXRzdGVja2VuIGb2ciBiYXNrbGFzcyIKK21zZ3N0ciAib2vDpG50IHN5bmxpZ2hldHN0ZWNrZW4gZsO2ciBiYXNrbGFzcyIKIAotIwotIzogc3RhYnMuYzoyMzg5CisjOiBzdGFicy5jOjIzODQKIG1zZ2lkICJ1bm5hbWVkICR2YiB0eXBlIgogbXNnc3RyICIkdmItdHlwIHV0YW4gbmFtbiIKIAotIwotIzogc3RhYnMuYzoyMzk1CisjOiBzdGFicy5jOjIzOTAKIG1zZ2lkICJ1bnJlY29nbml6ZWQgQysrIGFiYnJldmlhdGlvbiIKLW1zZ3N0ciAib2vkbmQgQysrLWb2cmtvcnRuaW5nIgorbXNnc3RyICJva8OkbmQgQysrLWbDtnJrb3J0bmluZyIKIAotIwotIyAgRklYTUUKLSM6IHN0YWJzLmM6MjQ3NQorIzogc3RhYnMuYzoyNDcwCiBtc2dpZCAidW5rbm93biB2aXNpYmlsaXR5IGNoYXJhY3RlciBmb3IgZmllbGQiCi1tc2dzdHIgIm9r5G5kIHN5bmxpZ2hldHN0ZWNrZW4gZvZyIGbkbHQiCittc2dzdHIgIm9rw6RudCBzeW5saWdoZXRzdGVja2VuIGbDtnIgZsOkbHQiCiAKLSMKLSM6IHN0YWJzLmM6MjczMQorIzogc3RhYnMuYzoyNzI2CiBtc2dpZCAiY29uc3Qvdm9sYXRpbGUgaW5kaWNhdG9yIG1pc3NpbmciCiBtc2dzdHIgImNvbnN0L3ZvbGF0aWxlLWluZGlrYXRvciBzYWtuYXMiCiAKLSMKLSM6IHN0YWJzLmM6Mjk3MQorIzogc3RhYnMuYzoyOTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1hbmdsaW5nIGZvciBcIiVzXCJcbiIKIG1zZ3N0ciAiSW5nZW4ga29kbmluZyBhdiBcIiVzXCJcbiIKIAotIwotIzogc3RhYnMuYzozMjg0CisjOiBzdGFicy5jOjMyODEKIG1zZ2lkICJVbmRlZmluZWQgTl9FWENMIgogbXNnc3RyICJPZGVmaW5pZXJhZCBOX0VYQ0wiCiAKLSMKLSM6IHN0YWJzLmM6MzM3MgorIzogc3RhYnMuYzozMzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgZmlsZSBudW1iZXIgJWQgb3V0IG9mIHJhbmdlXG4iCi1tc2dzdHIgIlR5cGVucyBmaWxudW1tZXIgJWQgdXRhbmb2ciBzaXR0IGludGVydmFsbFxuIgorbXNnc3RyICJUeXBzIGZpbG51bW1lciAlZCB1dGFuZsO2ciBzaXR0IGludGVydmFsbFxuIgogCi0jCi0jOiBzdGFicy5jOjMzNzcKKyM6IHN0YWJzLmM6MzM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGluZGV4IG51bWJlciAlZCBvdXQgb2YgcmFuZ2VcbiIKLW1zZ3N0ciAiVHlwZW5zIGluZGV4bnVtbWVyICVkIHV0YW5m9nIgc2l0dCBpbnRlcnZhbGxcbiIKK21zZ3N0ciAiVHlwcyBpbmRleG51bW1lciAlZCB1dGFuZsO2ciBzaXR0IGludGVydmFsbFxuIgogCi0jCi0jOiBzdGFicy5jOjM0NjQKKyM6IHN0YWJzLmM6MzQ2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnJlY29nbml6ZWQgWENPRkYgdHlwZSAlZFxuIgotbXNnc3RyICJPa+RuZCBYQ09GRi10eXAgJWRcbiIKK21zZ3N0ciAiT2vDpG5kIFhDT0ZGLXR5cCAlZFxuIgogCi0jCi0jOiBzdGFicy5jOjM3NjMKKyM6IHN0YWJzLmM6Mzc2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbWFuZ2xlZCBuYW1lIGAlcydcbiIKLW1zZ3N0ciAiZmVsYWt0aWd0IGtvZGF0IG5hbW4gXCIlc1wiXG4iCittc2dzdHIgImZlbGFrdGlndCBtYW5nbGF0IG5hbW4gXCIlc1wiXG4iCiAKLSMKICM6IHN0YWJzLmM6Mzg1OQogbXNnaWQgIm5vIGFyZ3VtZW50IHR5cGVzIGluIG1hbmdsZWQgc3RyaW5nXG4iCi1tc2dzdHIgImluZ2VuIGFyZ3VtZW50dHlwIGkga29kYWQgc3Ry5G5nXG4iCittc2dzdHIgImluZ2EgYXJndW1lbnR0eXBlciBpIGRlbiBtYW5nbGFkZSBzdHLDpG5nZW5cbiIKIAotIwotIzogc3RyaW5ncy5jOjE5OQorIzogc3RyaW5ncy5jOjIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciAlcyIKIG1zZ3N0ciAib2dpbHRpZ3QgdGFsICVzIgogCi0jCi0jOiBzdHJpbmdzLmM6NjM4CisjOiBzdHJpbmdzLmM6NjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaW50ZWdlciBhcmd1bWVudCAlcyIKIG1zZ3N0ciAib2dpbHRpZ3QgaGVsdGFsc2FyZ3VtZW50ICVzIgogCi0jCi0jOiBzdHJpbmdzLmM6NjQ4Ci0jLCBjLWZvcm1hdAorIzogc3RyaW5ncy5jOjY1OAorbXNnaWQgIiBEaXNwbGF5IHByaW50YWJsZSBzdHJpbmdzIGluIFtmaWxlKHMpXSAoc3RkaW4gYnkgZGVmYXVsdClcbiIKK21zZ3N0ciAiIFZpc2EgbMOkc2JhcmEgc3Ryw6RuZ2FyIGkgW2ZpbChlcildIChlbGxlciBmcsOlbiBzdGFuZGFyZCBpbilcbiIKKworIzogc3RyaW5ncy5jOjY1OQogbXNnaWQgIiIKLSJVc2FnZTogJXMgWy1hZm92XSBbLW4gbWluLWxlbl0gWy1taW4tbGVuXSBbLXQge28seCxkfV0gWy1lIHtzLGIsbCxCLEx9XVxuIgotIiAgICAgICBbLV0gWy0tYWxsXSBbLS1wcmludC1maWxlLW5hbWVdIFstLWJ5dGVzPW1pbi1sZW5dIFstLXJhZGl4PXtvLHgsZH1dXG4iCi0iICAgICAgIFstLXRhcmdldD1iZmRuYW1lXSBbLS1lbmNvZGluZyB7cyxiLGwsQixMfV0gWy0taGVscF0gWy0tdmVyc2lvbl0gZmlsZS4uLlxuIgorIiBUaGUgb3B0aW9ucyBhcmU6XG4iCisiICAtYSAtIC0tYWxsICAgICAgICAgICAgICAgIFNjYW4gdGhlIGVudGlyZSBmaWxlLCBub3QganVzdCB0aGUgZGF0YSBzZWN0aW9uXG4iCisiICAtZiAtLXByaW50LWZpbGUtbmFtZSAgICAgIFByaW50IHRoZSBuYW1lIG9mIHRoZSBmaWxlIGJlZm9yZSBlYWNoIHN0cmluZ1xuIgorIiAgLW4gLS1ieXRlcz1bbnVtYmVyXSAgICAgICBMb2NhdGUgJiBwcmludCBhbnkgTlVMLXRlcm1pbmF0ZWQgc2VxdWVuY2Ugb2YgYXRcbiIKKyIgIC08bnVtYmVyPiAgICAgICAgICAgICAgICAgbGVhc3QgW251bWJlcl0gY2hhcmFjdGVycyAoZGVmYXVsdCA0KS5cbiIKKyIgIC10IC0tcmFkaXg9e28seCxkfSAgICAgICAgUHJpbnQgdGhlIGxvY2F0aW9uIG9mIHRoZSBzdHJpbmcgaW4gYmFzZSA4LCAxMCBvciAxNlxuIgorIiAgLW8gICAgICAgICAgICAgICAgICAgICAgICBBbiBhbGlhcyBmb3IgLS1yYWRpeD1vXG4iCisiICAtVCAtLXRhcmdldD08QkZETkFNRT4gICAgIFNwZWNpZnkgdGhlIGJpbmFyeSBmaWxlIGZvcm1hdFxuIgorIiAgLWUgLS1lbmNvZGluZz17cyxTLGIsbCxCLEx9IFNlbGVjdCBjaGFyYWN0ZXIgc2l6ZSBhbmQgZW5kaWFubmVzczpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgcyA9IDctYml0LCBTID0gOC1iaXQsIHtiLGx9ID0gMTYtYml0LCB7QixMfSA9IDMyLWJpdFxuIgorIiAgLWggLS1oZWxwICAgICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgaW5mb3JtYXRpb25cbiIKKyIgIC12IC0tdmVyc2lvbiAgICAgICAgICAgICAgUHJpbnQgdGhlIHByb2dyYW0ncyB2ZXJzaW9uIG51bWJlclxuIgogbXNnc3RyICIiCi0iQW525G5kbmluZzogJXMgWy1hZm92XSBbLW4gbWluLWzkbmdkXSBbLW1pbi1sZW5dIFstdCB7byx4LGR9XSBbLWUge3MsYixsLEIsTH1dXG4iCi0iICAgICAgIFstXSBbLS1hbGxdIFstLXByaW50LWZpbGUtbmFtZV0gWy0tYnl0ZXM9bWluLWzkbmdkXSBbLS1yYWRpeD17byx4LGR9XVxuIgotIiAgICAgICBbLS10YXJnZXQ9YmZkbmFtbl0gWy0tZW5jb2Rpbmcge3MsYixsLEIsTH1dIFstLWhlbHBdIFstLXZlcnNpb25dIGZpbC4uLlxuIgorIiBGbGFnZ29ybmEgw6RyOlxuIgorIiAgLWEgLSAtLWFsbCAgICAgICAgICAgICAgICBVbmRlcnPDtmsgaGVsYSBmaWxlbiwgaW50ZSBiYXJhIGRhdGFzZWt0aW9uZW5cbiIKKyIgIC1mIC0tcHJpbnQtZmlsZS1uYW1lICAgICAgU2tyaXYgZmlsZW5zIG5hbW4gZsO2cmUgdmFyamUgc3Ryw6RuZ1xuIgorIiAgLW4gLS1ieXRlcz1bYW50YWxdICAgICAgICBIaXR0YSBvY2ggc2tyaXYgdXQgdmFyamUgTlVMLXRlcm1pbmVyYWQgc2VrdmVuc1xuIgorIiAgLTxhbnRhbD4gICAgICAgICAgICAgICAgICBtZWQgbWluc3QgW2FudGFsXSB0ZWNrZW4gKHN0YW5kYXJkIDQpLlxuIgorIiAgLXQgLS1yYWRpeD17byxkLHh9ICAgICAgICBTa3JpdiBzdHLDpG5nZW5zIHBvc2l0aW9uIGkgdGFsYmFzIDgsIDEwIGVsbGVyIDE2XG4iCisiICAtbyAgICAgICAgICAgICAgICAgICAgICAgIFN5bm9ueW0gZsO2ciAtLXJhZGl4PW9cbiIKKyIgIC1UIC0tdGFyZ2V0PTxCRkROQU1OPiAgICAgVsOkbGogYmluw6RyZmlsZW5zIGZvcm1hdFxuIgorIiAgLWUgLS1lbmNvZGluZz17cyxTLGIsbCxCLEx9IFbDpGxqIHRlY2tlbnN0b3JsZWsgb2NoIHR5cCBhdiBlbmRpYW46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHM9Ny1iaXQsIFM9OC1iaXQsIHtiLGx9PTE2LWJpdCwge0IsTH09MzItYml0XG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgIFZpc2EgZGVubmEgaGrDpGxwXG4iCisiICAtdiAtLXZlcnNpb24gICAgICAgICAgICAgIFZpc2EgcHJvZ3JhbW1ldHMgdmVyc2lvbnNpbmZvcm1hdGlvblxuIgogCi0jCi0jOiBzeXNkdW1wLmM6NzMzCi0jLCBjLWZvcm1hdAotbXNnaWQgIlVzYWdlOiAlcyBbLWhWXSBpbi1maWxlXG4iCi1tc2dzdHIgIkFuduRuZG5pbmc6ICVzIFstaFZdIGluZmlsXG4iCisjOiBzeXNkdW1wLmM6NzY4Cittc2dpZCAiUHJpbnQgYSBodW1hbiByZWFkYWJsZSBpbnRlcnByZXRhdGlvbiBvZiBhIFNZU1JPRkYgb2JqZWN0IGZpbGVcbiIKK21zZ3N0ciAiU2tyaXYgZW4gbcOkbnNrbGlndCBsw6RzYmFyIHRvbGtuaW5nIGF2IGVuIFNZU1JPRkYtb2JqZWt0ZmlsXG4iCiAKLSMKLSM6IHN5c2R1bXAuYzo4MDUKKyM6IHN5c2R1bXAuYzo3NjkKK21zZ2lkICIiCisiIFRoZSBvcHRpb25zIGFyZTpcbiIKKyIgIC1oIC0taGVscCAgICAgICAgRGlzcGxheSB0aGlzIGluZm9ybWF0aW9uXG4iCisiICAtdiAtLXZlcnNpb24gICAgIFByaW50IHRoZSBwcm9ncmFtJ3MgdmVyc2lvbiBudW1iZXJcbiIKK21zZ3N0ciAiIgorIiBGbGFnZ29ybmEgw6RyOlxuIgorIiAgLWggLS1oZWxwICAgICAgICBWaXNhIGRlbm5hIGhqw6RscFxuIgorIiAgLXYgLS12ZXJzaW9uICAgICBWaXNhIHByb2dyYW1tZW50IHZlcnNpb25zaW5mb3JtYXRpb25cbiIKKworIzogc3lzZHVtcC5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBpbnB1dCBmaWxlICVzIgotbXNnc3RyICJrYW4gaW50ZSD2cHBuYSBpbmRhdGFmaWwgJXMiCittc2dzdHIgImthbiBpbnRlIMO2cHBuYSBpbmZpbCAlcyIKIAotIwotIzogdmVyc2lvbi5jOjM1Ci1tc2dpZCAiQ29weXJpZ2h0IDIwMDEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCi1tc2dzdHIgIkNvcHlyaWdodCAyMDAxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgotCi0jCiAjOiB2ZXJzaW9uLmM6MzYKK21zZ2lkICJDb3B5cmlnaHQgMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKK21zZ3N0ciAiQ29weXJpZ2h0IDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCisKKyM6IHZlcnNpb24uYzozNwogbXNnaWQgIiIKICJUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IG1heSByZWRpc3RyaWJ1dGUgaXQgdW5kZXIgdGhlIHRlcm1zIG9mXG4iCiAidGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgVGhpcyBwcm9ncmFtIGhhcyBhYnNvbHV0ZWx5IG5vIHdhcnJhbnR5LlxuIgogbXNnc3RyICIiCi0iRGV0dGEgcHJvZ3JhbSDkciBmcmkgcHJvZ3JhbXZhcmE7IGR1IGthbiBzcHJpZGEgZGV0IHZpZGFyZSB1bmRlciB2aWxsa29yZW5cbiIKKyJEZXR0YSBwcm9ncmFtIMOkciBmcmkgcHJvZ3JhbXZhcmE7IGR1IGthbiBzcHJpZGEgZGV0IHZpZGFyZSB1bmRlciB2aWxsa29yZW5cbiIKICJpIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgRGV0dGEgcHJvZ3JhbSBoYXIgaW5nYSBzb20gaGVsc3QgZ2FyYW50aWVyLlxuIgogCi0jCi0jOiB3aW5kcmVzLmM6MjM3CisjOiB3aW5kcmVzLmM6MjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gJXMgYCVzJzogJXMiCi1tc2dzdHIgImthbiBpbnRlIPZwcG5hICVzIFwiJXNcIjogJXMiCittc2dzdHIgImthbiBpbnRlIMO2cHBuYSAlcyBcIiVzXCI6ICVzIgogCi0jCi0jOiB3aW5kcmVzLmM6NDE2CisjOiB3aW5kcmVzLmM6Mzg0CiBtc2dpZCAiOiBleHBlY3RlZCB0byBiZSBhIGRpcmVjdG9yeVxuIgotbXNnc3RyICI6IGb2cnbkbnRhZGVzIHZhcmEgZW4ga2F0YWxvZ1xuIgorbXNnc3RyICI6IGbDtnJ2w6RudGFkZXMgdmFyYSBlbiBrYXRhbG9nXG4iCiAKLSMKLSM6IHdpbmRyZXMuYzo0MjgKKyM6IHdpbmRyZXMuYzozOTYKIG1zZ2lkICI6IGV4cGVjdGVkIHRvIGJlIGEgbGVhZlxuIgotbXNnc3RyICI6IGb2cnbkbnRhZGVzIHZhcmEgZXR0IGz2dlxuIgorbXNnc3RyICI6IGbDtnJ2w6RudGFkZXMgdmFyYSBldHQgbMO2dlxuIgogCi0jCi0jOiB3aW5kcmVzLmM6NDM3CisjOiB3aW5kcmVzLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB3YXJuaW5nOiAiCiBtc2dzdHIgIiVzOiB2YXJuaW5nOiAiCiAKLSMKLSM6IHdpbmRyZXMuYzo0MzkKKyM6IHdpbmRyZXMuYzo0MDcKIG1zZ2lkICI6IGR1cGxpY2F0ZSB2YWx1ZVxuIgotbXNnc3RyICI6IGR1YmxldHQgYXYgduRyZGV0XG4iCittc2dzdHIgIjogZHVibGV0dCBhdiB2w6RyZGV0XG4iCiAKLSMKLSM6IHdpbmRyZXMuYzo2MDIKKyM6IHdpbmRyZXMuYzo1NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBmb3JtYXQgdHlwZSBgJXMnIgotbXNnc3RyICJva+RuZCBmb3JtYXR0eXAgXCIlc1wiIgorbXNnc3RyICJva8OkbmQgZm9ybWF0dHlwIFwiJXNcIiIKIAotIwotIzogd2luZHJlcy5jOjYwMworIzogd2luZHJlcy5jOjU3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3VwcG9ydGVkIGZvcm1hdHM6IgogbXNnc3RyICIlczogZm9ybWF0IHNvbSBoYW50ZXJhczoiCiAKLSMKICMuIE90aGVyd2lzZSwgd2UgZ2l2ZSB1cC4KLSM6IHdpbmRyZXMuYzo2OTAKKyM6IHdpbmRyZXMuYzo2NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuIG5vdCBkZXRlcm1pbmUgdHlwZSBvZiBmaWxlIGAlcyc7IHVzZSB0aGUgLUkgb3B0aW9uIgotbXNnc3RyICJrYW4gaW50ZSBmYXN0c3TkbGxhIGZpbHR5cCBw5SBmaWwgXCIlc1wiOyBhbnbkbmQgZmxhZ2dhIC1JIgorbXNnc3RyICJrYW4gaW50ZSBmYXN0c3TDpGxsYSBmaWx0eXAgcMOlIFwiJXNcIjsgYW52w6RuZCBmbGFnZ2EgLUkiCiAKLSMKLSM6IHdpbmRyZXMuYzo3MDQKKyM6IHdpbmRyZXMuYzo2NjkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbaW5wdXQtZmlsZV0gW291dHB1dC1maWxlXVxuIgotbXNnc3RyICJBbnbkbmRuaW5nOiAlcyBbZmxhZ2dvcl0gW2luZmlsXSBbdXRmaWxdXG4iCittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb24ocyldIFtpbnB1dC1maWxlXSBbb3V0cHV0LWZpbGVdXG4iCittc2dzdHIgIkFudsOkbmRuaW5nOiAlcyBbZmxhZ2dvcl0gW2luZmlsXSBbdXRmaWxdXG4iCiAKLSMKLSM6IHdpbmRyZXMuYzo3MDYKKyM6IHdpbmRyZXMuYzo2NzEKIG1zZ2lkICIiCi0iT3B0aW9uczpcbiIKLSIgIC1pIEZJTEUsIC0taW5wdXQgRklMRSAgICAgICBOYW1lIGlucHV0IGZpbGVcbiIKLSIgIC1vIEZJTEUsIC0tb3V0cHV0IEZJTEUgICAgICBOYW1lIG91dHB1dCBmaWxlXG4iCi0iICAtSSBGT1JNQVQsIC0taW5wdXQtZm9ybWF0IEZPUk1BVFxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNwZWNpZnkgaW5wdXQgZm9ybWF0XG4iCi0iICAtTyBGT1JNQVQsIC0tb3V0cHV0LWZvcm1hdCBGT1JNQVRcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTcGVjaWZ5IG91dHB1dCBmb3JtYXRcbiIKLSIgIC1GIFRBUkdFVCwgLS10YXJnZXQgVEFSR0VUICBTcGVjaWZ5IENPRkYgdGFyZ2V0XG4iCi0iICAtLXByZXByb2Nlc3NvciBQUk9HUkFNICAgICAgUHJvZ3JhbSB0byB1c2UgdG8gcHJlcHJvY2VzcyByYyBmaWxlXG4iCi0iICAtLWluY2x1ZGUtZGlyIERJUiAgICAgICAgICAgSW5jbHVkZSBkaXJlY3Rvcnkgd2hlbiBwcmVwcm9jZXNzaW5nIHJjIGZpbGVcbiIKLSIgIC1EU1lNWz1WQUxdLCAtLWRlZmluZSBTWU1bPVZBTF1cbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZpbmUgU1lNIHdoZW4gcHJlcHJvY2Vzc2luZyByYyBmaWxlXG4iCi0iICAtdiAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyYm9zZSAtIHRlbGxzIHlvdSB3aGF0IGl0J3MgZG9pbmdcbiIKLSIgIC0tbGFuZ3VhZ2UgVkFMICAgICAgICAgICAgICBTZXQgbGFuZ3VhZ2Ugd2hlbiByZWFkaW5nIHJjIGZpbGVcbiIKLSIgIC0tdXNlLXRlbXAtZmlsZSAgICAgICAgICAgICBVc2UgYSB0ZW1wb3JhcnkgZmlsZSBpbnN0ZWFkIG9mIHBvcGVuIHRvIHJlYWRcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgcHJlcHJvY2Vzc29yIG91dHB1dFxuIgotIiAgLS1uby11c2UtdGVtcC1maWxlICAgICAgICAgIFVzZSBwb3BlbiAoZGVmYXVsdClcbiIKKyIgVGhlIG9wdGlvbnMgYXJlOlxuIgorIiAgLWkgLS1pbnB1dD08ZmlsZT4gICAgICAgICAgICBOYW1lIGlucHV0IGZpbGVcbiIKKyIgIC1vIC0tb3V0cHV0PTxmaWxlPiAgICAgICAgICAgTmFtZSBvdXRwdXQgZmlsZVxuIgorIiAgLUogLS1pbnB1dC1mb3JtYXQ9PGZvcm1hdD4gICBTcGVjaWZ5IGlucHV0IGZvcm1hdFxuIgorIiAgLU8gLS1vdXRwdXQtZm9ybWF0PTxmb3JtYXQ+ICBTcGVjaWZ5IG91dHB1dCBmb3JtYXRcbiIKKyIgIC1GIC0tdGFyZ2V0PTx0YXJnZXQ+ICAgICAgICAgU3BlY2lmeSBDT0ZGIHRhcmdldFxuIgorIiAgICAgLS1wcmVwcm9jZXNzb3I9PHByb2dyYW0+ICBQcm9ncmFtIHRvIHVzZSB0byBwcmVwcm9jZXNzIHJjIGZpbGVcbiIKKyIgIC1JIC0taW5jbHVkZS1kaXI9PGRpcj4gICAgICAgSW5jbHVkZSBkaXJlY3Rvcnkgd2hlbiBwcmVwcm9jZXNzaW5nIHJjIGZpbGVcbiIKKyIgIC1EIC0tZGVmaW5lIDxzeW0+Wz08dmFsPl0gICAgRGVmaW5lIFNZTSB3aGVuIHByZXByb2Nlc3NpbmcgcmMgZmlsZVxuIgorIiAgLVUgLS11bmRlZmluZSA8c3ltPiAgICAgICAgICBVbmRlZmluZSBTWU0gd2hlbiBwcmVwcm9jZXNzaW5nIHJjIGZpbGVcbiIKKyIgIC12IC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgVmVyYm9zZSAtIHRlbGxzIHlvdSB3aGF0IGl0J3MgZG9pbmdcbiIKKyIgIC1sIC0tbGFuZ3VhZ2U9PHZhbD4gICAgICAgICAgU2V0IGxhbmd1YWdlIHdoZW4gcmVhZGluZyByYyBmaWxlXG4iCisiICAgICAtLXVzZS10ZW1wLWZpbGUgICAgICAgICAgIFVzZSBhIHRlbXBvcmFyeSBmaWxlIGluc3RlYWQgb2YgcG9wZW4gdG8gcmVhZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgcHJlcHJvY2Vzc29yIG91dHB1dFxuIgorIiAgICAgLS1uby11c2UtdGVtcC1maWxlICAgICAgICBVc2UgcG9wZW4gKGRlZmF1bHQpXG4iCiBtc2dzdHIgIiIKLSJGbGFnZ29yOlxuIgotIiAgLWkgRklMLCAtLWlucHV0IEZJTCAgICAgICAgIE5hbW5nZSBpbmRhdGFmaWxlblxuIgotIiAgLW8gRklMLCAtLW91dHB1dCBGSUwgICAgICAgIE5hbW5nZSB1dGRhdGFmaWxlblxuIgotIiAgLUkgRk9STUFULCAtLWlucHV0LWZvcm1hdCBGT1JNQVRcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmdlIGluZGF0YWZvcm1hdGV0XG4iCi0iICAtTyBGT1JNQVQsIC0tb3V0cHV0LWZvcm1hdCBGT1JNQVRcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmdlIHV0ZGF0YWZvcm1hdGV0XG4iCi0iICAtRiBNxUwsIC0tdGFyZ2V0IE3FTCAgICAgICAgQW5nZSBDT0ZGLW3lbGV0XG4iCi0iICAtLXByZXByb2Nlc3NvciBQUk9HUkFNICAgICAgUHJvZ3JhbSBhdHQgYW525G5kYSBzb20gcHJlcHJvY2Vzc29yIHDlIHJjLWZpbGVuXG4iCi0iICAtLWluY2x1ZGUtZGlyIEtBVEFMT0cgICAgICAgSW5rbHVkZXJhIGthdGFsb2cgbuRyIHJjLWZpbGVuIHByZXByb2Nlc3Nhc1xuIgotIiAgLURTWU1bPVbEUkRFXSwgLS1kZWZpbmUgU1lNWz1WxFJERV1cbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZpbmllcmEgU1lNIG7kciByYy1maWxlbiBwcmVwb3JvY2Vzc2FzXG4iCi0iICAtdiAgICAgICAgICAgICAgICAgICAgICAgICAgTeVuZ29yZGlnIC0gYmVy5HR0YXIgdmFkIGRlbiBn9nJcbiIKLSIgIC0tbGFuZ3VhZ2UgU1BSxUsgICAgICAgICAgICBT5HR0IHNwcuVrZXQgbuRyIHJjLWZpbGVuIGzkc2VzXG4iCi0iICAtLXVzZS10ZW1wLWZpbGUgICAgICAgICAgICAgQW525G5kIGVuIHRlbS5maWwgaXN05GxsZXQgZvZyIHBvcGVuIHZpZCBs5HNuaW5nXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXYgdXRkYXRhIGZy5W4gcHJlcHJvY2Vzc29yblxuIgotIiAgLS1uby11c2UtdGVtcC1maWxlICAgICAgICAgIEFuduRuZCBwb3BlbiAoZvZydmFsKVxuIgorIiBGbGFnZ29ybmEgw6RyOlxuIgorIiAgLWkgLS1pbnB1dD08ZmlsPiAgICAgICAgICAgICBWw6RsaiBpbmZpbFxuIgorIiAgLW8gLS1vdXRwdXQ9PGZpbD4gICAgICAgICAgICBWw6RsaiB1dGZpbFxuIgorIiAgLUogLS1pbnB1dC1mb3JtYXQ9PGZvcm1hdD4gICBWw6RsaiBpbmRhdGFmb3JtYXRcbiIKKyIgIC1PIC0tb3V0cHV0LWZvcm1hdD08Zm9ybWF0PiAgVsOkbGogdXRkYXRhZm9ybWF0XG4iCisiICAtRiAtLXRhcmdldD08bcOlbD4gICAgICAgICAgICBWw6RsaiBDT0ZGLW3DpWxcbiIKKyIgICAgIC0tcHJlcHJvY2Vzc29yPTxwcm9ncmFtPiAgUHJvZ3JhbSBhdHQgZsO2cmJlaGFuZGxhIHJjLWZpbGVuIG1lZFxuIgorIiAgLUkgLS1pbmNsdWRlLWRpcj08a2F0YWxvZz4gICBJbmtsdWRlcmEgdXIga2F0YWxvZyBuw6RyIHJjLWZpbGVuIGbDtnJiZWhhbmRsYXNcbiIKKyIgIC1EIC0tZGVmaW5lIDxzeW0+Wz08dsOkcmRlPl0gIERlZmluaWVyYSBTWU0gbsOkciByYy1maWxlbiBmw7ZyYmVoYW5kbGFzXG4iCisiICAtVSAtLXVuZGVmaW5lIDxzeW0+ICAgICAgICAgIE9kZWZpbmllcmEgU1lNIG7DpHIgcmMtZmlsZW4gZsO2cmJlaGFuZGxhc1xuIgorIiAgLXYgLS12ZXJib3NlICAgICAgICAgICAgICAgICBVdGbDtnJsaWcgLSBiZXLDpHR0YXIgdmFkIGRlbiBnw7ZyXG4iCisiICAtbCAtLWxhbmd1YWdlPTx2w6RyZGU+ICAgICAgICBWw6RsaiBzcHLDpWsgbsOkciByYy1maWxlbiBsw6RzZXNcbiIKKyIgICAgIC0tdXNlLXRlbXAtZmlsZSAgICAgICAgICAgQW52w6RuZCBlbiB0ZW1wZmlsIGlzdMOkbGxldCBmw7ZyIHBvcGVuIGbDtnIgYXR0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGzDpHNhIHV0ZGF0YSBmcsOlbiBmw7ZyYmVoYW5kbGFyZW5cbiIKKyIgICAgIC0tbm8tdXNlLXRlbXAtZmlsZSAgICAgICAgQW52w6RuZCBwb3BlbiAoc3RhbmRhcmQpXG4iCiAKLSMKLSM6IHdpbmRyZXMuYzo3MjUKLW1zZ2lkICIgIC0teXlkZWJ1ZyAgICAgICAgICAgICAgICAgICBUdXJuIG9uIHBhcnNlciBkZWJ1Z2dpbmdcbiIKLW1zZ3N0ciAiICAtLXl5ZGVidWcgICAgICAgICAgICAgICAgICAgU2zlIHDlIHRvbGtlbnMgZmVsc/ZrbmluZ1xuIgorIzogd2luZHJlcy5jOjY4NworbXNnaWQgIiAgICAgLS15eWRlYnVnICAgICAgICAgICAgICAgICBUdXJuIG9uIHBhcnNlciBkZWJ1Z2dpbmdcbiIKK21zZ3N0ciAiICAgICAtLXl5ZGVidWcgICAgICAgICAgICAgICAgIFNsw6UgcMOlIHRvbGtlbnMgZmVsc8O2a25pbmdcbiIKIAotIwotIzogd2luZHJlcy5jOjcyOAorIzogd2luZHJlcy5jOjY5MAogbXNnaWQgIiIKLSIgIC0taGVscCAgICAgICAgICAgICAgICAgICAgICBQcmludCB0aGlzIGhlbHAgbWVzc2FnZVxuIgotIiAgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgIFByaW50IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyIgIC1yICAgICAgICAgICAgICAgICAgICAgICAgICAgSWdub3JlZCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIHJjXG4iCisiICAtaCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIFByaW50IHRoaXMgaGVscCBtZXNzYWdlXG4iCisiICAtViAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFByaW50IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKIG1zZ3N0ciAiIgotIiAgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgIFZpc2EgZGVubmEgaGrkbHBcbiIKLSIgIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICBWaXNhIHZlcnNpb25zaW5mb3JtYXRpb25cbiIKKyIgIC1yICAgICAgICAgICAgICAgICAgICAgICAgICAgSWdub3JlcmFkLCBmw7ZyIGtvbXBhYmlsaXRldCBtZWQgcmNcbiIKKyIgIC1oIC0taGVscCAgICAgICAgICAgICAgICAgICAgVmlzYSBkZW5uYSBoasOkbHBcbiIKKyIgIC1WIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgVmlzYSB2ZXJzaW9uc2luZm9ybWF0aW9uXG4iCiAKLSMKLSM6IHdpbmRyZXMuYzo3MzEKKyM6IHdpbmRyZXMuYzo2OTQKIG1zZ2lkICIiCiAiRk9STUFUIGlzIG9uZSBvZiByYywgcmVzLCBvciBjb2ZmLCBhbmQgaXMgZGVkdWNlZCBmcm9tIHRoZSBmaWxlIG5hbWVcbiIKICJleHRlbnNpb24gaWYgbm90IHNwZWNpZmllZC4gIEEgc2luZ2xlIGZpbGUgbmFtZSBpcyBhbiBpbnB1dCBmaWxlLlxuIgogIk5vIGlucHV0LWZpbGUgaXMgc3RkaW4sIGRlZmF1bHQgcmMuICBObyBvdXRwdXQtZmlsZSBpcyBzdGRvdXQsIGRlZmF1bHQgcmMuXG4iCiBtc2dzdHIgIiIKLSJGT1JNQVQg5HIgbuVnb24gYXYgcmMsIHJlcyBlbGxlciBjb2ZmLCBvY2ggaORybGVkcyBmcuVuIGZpbG5hbW5z5G5kZWxzZW5cbiIKLSJvbSBkZXQgaW50ZSBhbmdlcy4gIEV0dCBlbnNhbXQgZmlsbmFtbiDkciBlbiBpbmRhdGFmaWwuICBJbmdlbiBpbmRhdGFmaWxcbiIKLSJiZXR5ZGVyIHN0YW5kYXJkIGluLCBtZWQgZm9ybWF0IHJjLiAgSW5nZW4gdXRkYXRhZmlsIGJldHlkZXIgc3RhbmRhcmQgdXQsXG4iCi0ibWVkIGZvcm1hdCByYy5cbiIKKyJGT1JNQVQgw6RyIGV0dCBhdiByYywgcmVzIGVsbGVyIGNvZmYsIG9jaCBow6RybGVkcyBmcsOlbiBmaWzDpG5kZWxzZW5cbiIKKyJvbSBkZXQgaW50ZSBhbmdlcy4gIEV0dCBlbnNhbXQgZmlsbmFtbiDDpHIgZW4gaW5maWwuICBJbmdlbiBpbmZpbFxuIgorImJldHlkZXIgc3RhbmRhcmQgaW4sIG1lZCBmb3JtYXRldCByYy4gIEluZ2VuIHV0ZmlsIGJldHlkZXIgc3RhbmRhcmQgdXQsXG4iCisibWVkIGZvcm1hdGV0IHJjLlxuIgogCi0jCi0jOiB3aW5kcmVzLmM6OTgzCisjOiB3aW5kcmVzLmM6ODMzCittc2dpZCAiaW52YWxpZCBvcHRpb24gLWZcbiIKK21zZ3N0ciAib2dpbHRpZyBmbGFnZ2EgLWZcbiIKKworIzogd2luZHJlcy5jOjgzOAorbXNnaWQgIk5vIGZpbGVuYW1lIGZvbGxvd2luZyB0aGUgLWZvIG9wdGlvbi5cbiIKK21zZ3N0ciAiSW5nZXQgZmlsbmFtbiBlZnRlciBmbGFnZ2FuIC1mby5cbiIKKworIzogd2luZHJlcy5jOjg5NgorbXNnaWQgIk9wdGlvbiAtSSBpcyBkZXByZWNhdGVkIGZvciBzZXR0aW5nIHRoZSBpbnB1dCBmb3JtYXQsIHBsZWFzZSB1c2UgLUogaW5zdGVhZC5cbiIKK21zZ3N0ciAiRmxhZ2dhIC1JIGbDtnIgYXR0IHbDpGxqYSBpbmZvcm1hdCBoYXIgdXRnw6V0dCwgdsOkbmxpZ2VuIGFudsOkbmQgLUogaXN0w6RsbGV0LlxuIgorCisjOiB3aW5kcmVzLmM6MTAxNAogbXNnaWQgIm5vIHJlc291cmNlcyIKIG1zZ3N0ciAiaW5nYSByZXN1cnNlciIKIAotIwotIzogd3JzdGFicy5jOjM2NiB3cnN0YWJzLmM6MjAyNworIzogd3JzdGFicy5jOjM5NSB3cnN0YWJzLmM6MjA1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJzdHJpbmdfaGFzaF9sb29rdXAgZmFpbGVkOiAlcyIKIG1zZ3N0ciAic3RyaW5nX2hhc2hfbG9va3VwIG1pc3NseWNrYWRlczogJXMiCiAKLSMKLSM6IHdyc3RhYnMuYzo2NjYKKyM6IHdyc3RhYnMuYzo2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RhYl9pbnRfdHlwZTogYmFkIHNpemUgJXUiCiBtc2dzdHIgInN0YWJfaW50X3R5cGU6IGZlbGFrdGlnIHN0b3JsZWsgJXUiCiAKLSMKLSM6IHdyc3RhYnMuYzoxNDY3CisjOiB3cnN0YWJzLmM6MTQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogd2FybmluZzogdW5rbm93biBzaXplIGZvciBmaWVsZCBgJXMnIGluIHN0cnVjdCIKLW1zZ3N0ciAiJXM6IHZhcm5pbmc6IG9r5G5kIHN0b3JsZWtlbiBw5SBm5Gx0IFwiJXNcIiBpIHN0cnVrdHVyZW4iCittc2dzdHIgIiVzOiB2YXJuaW5nOiBva8OkbmQgc3Rvcmxla2VuIHDDpSBmw6RsdCBcIiVzXCIgaSBzdHJ1a3R1cmVuIgpkaWZmIC0tZ2l0IGEvYmludXRpbHMvcmVhZGVsZi5jIGIvYmludXRpbHMvcmVhZGVsZi5jCmluZGV4IDlmMTAwOGMuLmVjYzU0YmYgMTAwNjQ0Ci0tLSBhL2JpbnV0aWxzL3JlYWRlbGYuYworKysgYi9iaW51dGlscy9yZWFkZWxmLmMKQEAgLTUwLDEzICs1MCwxMyBAQAogI2luY2x1ZGUgPHpsaWIuaD4KICNlbmRpZgogCi0vKiBmb3IgUEFUSF9NQVggKi8KKy8qIEZvciBQQVRIX01BWC4gICovCiAjaWZkZWYgSEFWRV9MSU1JVFNfSAogI2luY2x1ZGUgPGxpbWl0cy5oPgogI2VuZGlmCiAKICNpZm5kZWYgUEFUSF9NQVgKLS8qIGZvciBNQVhQQVRITEVOICovCisvKiBGb3IgTUFYUEFUSExFTi4gICovCiAjIGlmZGVmIEhBVkVfU1lTX1BBUkFNX0gKICMgIGluY2x1ZGUgPHN5cy9wYXJhbS5oPgogIyBlbmRpZgpAQCAtMzczLDYgKzM3Myw3IEBACiB9CiAKIC8qIFByaW50IGEgVk1BIHZhbHVlLiAgKi8KKwogc3RhdGljIGludAogcHJpbnRfdm1hIChiZmRfdm1hIHZtYSwgcHJpbnRfbW9kZSBtb2RlKQogewpAQCAtNDYyLDcgKzQ2Myw3IEBACiAJewogCSAgaWYgKGxlbiA+IHdpZHRoKQogCSAgICBsZW4gPSB3aWR0aDsKLQkgIAorCiAJICBwcmludGYgKGZvcm1hdF9zdHJpbmcsIGxlbiwgc3ltYm9sKTsKIAogCSAgd2lkdGggLT0gbGVuOwpAQCAtNDg2LDcgKzQ4Nyw3IEBACiAJewogCSAgaWYgKHdpZHRoIDwgNikKIAkgICAgYnJlYWs7Ci0JICAKKwogCSAgcHJpbnRmICgiPDB4JS4yeD4iLCAqYyk7CiAKIAkgIHdpZHRoIC09IDY7CkBAIC0xMjcyLDcgKzEyNzMsNyBAQAogCQkJICAgICAgICYmIHBzeW0tPnN0X3NobmR4ID09IFNITl9JQV82NF9BTlNJX0NPTU1PTikKIAkJCXNlY19uYW1lID0gIkFOU0lfQ09NIjsKIAkJICAgICAgZWxzZSBpZiAoZWxmX2hlYWRlci5lX21hY2hpbmUgPT0gRU1fSUFfNjQKLQkJCSAgICAgICAmJiAoZWxmX2hlYWRlci5lX2lkZW50W0VJX09TQUJJXSAKKwkJCSAgICAgICAmJiAoZWxmX2hlYWRlci5lX2lkZW50W0VJX09TQUJJXQogCQkJCSAgID09IEVMRk9TQUJJX09QRU5WTVMpCiAJCQkgICAgICAgJiYgcHN5bS0+c3Rfc2huZHggPT0gU0hOX0lBXzY0X1ZNU19TWU1WRUMpCiAJCQlzZWNfbmFtZSA9ICJWTVNfU1lNVkVDIjsKQEAgLTE4MjMsNyArMTgyNCw3IEBACiAgICAgY2FzZSBFTV9BTFRFUkFfTklPUzI6CXJldHVybiAiQWx0ZXJhIE5pb3MgSUkiOwogICAgIGNhc2UgRU1fWEMxNlg6CQlyZXR1cm4gIkluZmluZW9uIFRlY2hub2xvZ2llcyB4YzE2eCI7CiAgICAgY2FzZSBFTV9DWUdOVVNfTUVQOiAgICAgICAgIHJldHVybiAiVG9zaGliYSBNZVAgTWVkaWEgRW5naW5lIjsKLSAgICBjYXNlIEVNX0NSMTY6CQkKKyAgICBjYXNlIEVNX0NSMTY6CiAgICAgY2FzZSBFTV9DUjE2X09MRDoJCXJldHVybiAiTmF0aW9uYWwgU2VtaWNvbmR1Y3RvcidzIENSMTYiOwogICAgIGRlZmF1bHQ6CiAgICAgICBzbnByaW50ZiAoYnVmZiwgc2l6ZW9mIChidWZmKSwgXygiPHVua25vd24+OiAweCV4IiksIGVfbWFjaGluZSk7CkBAIC00Mjc5LDggKzQyODAsOCBAQAogICAgICAgZWxzZSBpZiAoc2VjdGlvbi0+c2hfdHlwZSA9PSBTSFRfUkVMQSkKIAlDSEVDS19FTlRTSVpFIChzZWN0aW9uLCBpLCBSZWxhKTsKICAgICAgIGVsc2UgaWYgKChkb19kZWJ1Z2dpbmcgfHwgZG9fZGVidWdfaW5mbyB8fCBkb19kZWJ1Z19hYmJyZXZzCi0JCXx8IGRvX2RlYnVnX2xpbmVzIHx8IGRvX2RlYnVnX2xpbmVzX2RlY29kZWQgfHwgZG9fZGVidWdfcHVibmFtZXMgCi0JCXx8IGRvX2RlYnVnX2FyYW5nZXMgfHwgZG9fZGVidWdfZnJhbWVzIHx8IGRvX2RlYnVnX21hY2luZm8gCisJCXx8IGRvX2RlYnVnX2xpbmVzIHx8IGRvX2RlYnVnX2xpbmVzX2RlY29kZWQgfHwgZG9fZGVidWdfcHVibmFtZXMKKwkJfHwgZG9fZGVidWdfYXJhbmdlcyB8fCBkb19kZWJ1Z19mcmFtZXMgfHwgZG9fZGVidWdfbWFjaW5mbwogCQl8fCBkb19kZWJ1Z19zdHIgfHwgZG9fZGVidWdfbG9jIHx8IGRvX2RlYnVnX3JhbmdlcykKIAkgICAgICAgJiYgKGNvbnN0X3N0cm5lcSAobmFtZSwgIi5kZWJ1Z18iKQogICAgICAgICAgICAgICAgICAgIHx8IGNvbnN0X3N0cm5lcSAobmFtZSwgIi56ZGVidWdfIikpKQpAQCAtNDI5Myw3ICs0Mjk0LDcgQEAKIAkgIGlmIChkb19kZWJ1Z2dpbmcKIAkgICAgICB8fCAoZG9fZGVidWdfaW5mbyAgICAgJiYgc3RyZXEgKG5hbWUsICJpbmZvIikpCiAJICAgICAgfHwgKGRvX2RlYnVnX2FiYnJldnMgICYmIHN0cmVxIChuYW1lLCAiYWJicmV2IikpCi0JICAgICAgfHwgKChkb19kZWJ1Z19saW5lcyB8fCBkb19kZWJ1Z19saW5lc19kZWNvZGVkKSAKKwkgICAgICB8fCAoKGRvX2RlYnVnX2xpbmVzIHx8IGRvX2RlYnVnX2xpbmVzX2RlY29kZWQpCiAJCSAgJiYgc3RyZXEgKG5hbWUsICJsaW5lIikpCiAJICAgICAgfHwgKGRvX2RlYnVnX3B1Ym5hbWVzICYmIHN0cmVxIChuYW1lLCAicHVibmFtZXMiKSkKIAkgICAgICB8fCAoZG9fZGVidWdfYXJhbmdlcyAgJiYgc3RyZXEgKG5hbWUsICJhcmFuZ2VzIikpCkBAIC00Mzc1LDcgKzQzNzYsOCBAQAogCQkgICAgZ2V0X3NlY3Rpb25fdHlwZV9uYW1lIChzZWN0aW9uLT5zaF90eXBlKSk7CiAJfQogICAgICAgZWxzZQotCXByaW50ZiAoIiAgWyUydV0gJS0xNy4xN3MgJS0xNS4xNXMgIiwKKwlwcmludGYgKChkb193aWRlID8gIiAgWyUydV0gJS0xN3MgJS0xNXMgIgorCQkJIDogIiAgWyUydV0gJS0xNy4xN3MgJS0xNS4xNXMgIiksCiAJCWksCiAJCVNFQ1RJT05fTkFNRSAoc2VjdGlvbiksCiAJCWdldF9zZWN0aW9uX3R5cGVfbmFtZSAoc2VjdGlvbi0+c2hfdHlwZSkpOwpAQCAtODAyNyw3ICs4MDI5LDcgQEAKICAgICAgIHJldHVybiByZWxvY190eXBlID09IDE7IC8qIFJfQVJDXzMyLiAgKi8KICAgICBjYXNlIEVNX0FSTToKICAgICAgIHJldHVybiByZWxvY190eXBlID09IDI7IC8qIFJfQVJNX0FCUzMyICovCi0gICAgY2FzZSBFTV9BVlJfT0xEOiAKKyAgICBjYXNlIEVNX0FWUl9PTEQ6CiAgICAgY2FzZSBFTV9BVlI6CiAgICAgICByZXR1cm4gcmVsb2NfdHlwZSA9PSAxOwogICAgIGNhc2UgRU1fQkxBQ0tGSU46CkBAIC04Mjg0LDggKzgyODYsNDAgQEAKICAgICB9CiB9CiAKKy8qIFJldHVybnMgVFJVRSBpZmYgUkVMT0NfVFlQRSBpcyBhIE5PTkUgcmVsb2NhdGlvbiB1c2VkIGZvciBkaXNjYXJkZWQKKyAgIHJlbG9jYXRpb24gZW50cmllcyAocG9zc2libHkgZm9ybWVybHkgdXNlZCBmb3IgU0hUX0dST1VQIHNlY3Rpb25zKS4gICovCisKK3N0YXRpYyBiZmRfYm9vbGVhbgoraXNfbm9uZV9yZWxvYyAodW5zaWduZWQgaW50IHJlbG9jX3R5cGUpCit7CisgIHN3aXRjaCAoZWxmX2hlYWRlci5lX21hY2hpbmUpCisgICAgeworICAgIGNhc2UgRU1fNjhLOiAgICAgLyogUl82OEtfTk9ORS4gICovCisgICAgY2FzZSBFTV8zODY6ICAgICAvKiBSXzM4Nl9OT05FLiAgKi8KKyAgICBjYXNlIEVNX1NQQVJDMzJQTFVTOgorICAgIGNhc2UgRU1fU1BBUkNWOToKKyAgICBjYXNlIEVNX1NQQVJDOiAgIC8qIFJfU1BBUkNfTk9ORS4gICovCisgICAgY2FzZSBFTV9NSVBTOiAgICAvKiBSX01JUFNfTk9ORS4gICovCisgICAgY2FzZSBFTV9QQVJJU0M6ICAvKiBSX1BBUklTQ19OT05FLiAgKi8KKyAgICBjYXNlIEVNX0FMUEhBOiAgIC8qIFJfQUxQSEFfTk9ORS4gICovCisgICAgY2FzZSBFTV9QUEM6ICAgICAvKiBSX1BQQ19OT05FLiAgKi8KKyAgICBjYXNlIEVNX1BQQzY0OiAgIC8qIFJfUFBDNjRfTk9ORS4gICovCisgICAgY2FzZSBFTV9BUk06ICAgICAvKiBSX0FSTV9OT05FLiAgKi8KKyAgICBjYXNlIEVNX0lBXzY0OiAgIC8qIFJfSUE2NF9OT05FLiAgKi8KKyAgICBjYXNlIEVNX1NIOiAgICAgIC8qIFJfU0hfTk9ORS4gICovCisgICAgY2FzZSBFTV9TMzkwX09MRDoKKyAgICBjYXNlIEVNX1MzOTA6ICAgIC8qIFJfMzkwX05PTkUuICAqLworICAgIGNhc2UgRU1fQ1JJUzogICAgLyogUl9DUklTX05PTkUuICAqLworICAgIGNhc2UgRU1fWDg2XzY0OiAgLyogUl9YODZfNjRfTk9ORS4gICovCisgICAgY2FzZSBFTV9NTjEwMzAwOiAvKiBSX01OMTAzMDBfTk9ORS4gICovCisgICAgY2FzZSBFTV9NMzJSOiAgICAvKiBSX00zMlJfTk9ORS4gICovCisgICAgICByZXR1cm4gcmVsb2NfdHlwZSA9PSAwOworICAgIH0KKyAgcmV0dXJuIEZBTFNFOworfQorCiAvKiBVbmNvbXByZXNzZXMgYSBzZWN0aW9uIHRoYXQgd2FzIGNvbXByZXNzZWQgdXNpbmcgemxpYiwgaW4gcGxhY2UuCi0gKiBUaGlzIGlzIGEgY29weSBvZiBiZmRfdW5jb21wcmVzc19zZWN0aW9uX2NvbnRlbnRzLCBpbiBiZmQvY29tcHJlc3MuYyAgKi8KKyAgIFRoaXMgaXMgYSBjb3B5IG9mIGJmZF91bmNvbXByZXNzX3NlY3Rpb25fY29udGVudHMsIGluIGJmZC9jb21wcmVzcy5jICAqLwogCiBzdGF0aWMgaW50CiB1bmNvbXByZXNzX3NlY3Rpb25fY29udGVudHMgKHVuc2lnbmVkIGNoYXIgKipidWZmZXIsIGR3YXJmX3NpemVfdHlwZSAqc2l6ZSkKQEAgLTgyOTcsOSArODMzMSw5IEBACiAgIHJldHVybiBGQUxTRTsKICNlbHNlCiAgIGR3YXJmX3NpemVfdHlwZSBjb21wcmVzc2VkX3NpemUgPSAqc2l6ZTsKLSAgdW5zaWduZWQgY2hhciogY29tcHJlc3NlZF9idWZmZXIgPSAqYnVmZmVyOworICB1bnNpZ25lZCBjaGFyICogY29tcHJlc3NlZF9idWZmZXIgPSAqYnVmZmVyOwogICBkd2FyZl9zaXplX3R5cGUgdW5jb21wcmVzc2VkX3NpemU7Ci0gIHVuc2lnbmVkIGNoYXIqIHVuY29tcHJlc3NlZF9idWZmZXI7CisgIHVuc2lnbmVkIGNoYXIgKiB1bmNvbXByZXNzZWRfYnVmZmVyOwogICB6X3N0cmVhbSBzdHJtOwogICBpbnQgcmM7CiAgIGR3YXJmX3NpemVfdHlwZSBoZWFkZXJfc2l6ZSA9IDEyOwpAQCAtODMwNyw4ICs4MzQxLDkgQEAKICAgLyogUmVhZCB0aGUgemxpYiBoZWFkZXIuICBJbiB0aGlzIGNhc2UsIGl0IHNob3VsZCBiZSAiWkxJQiIgZm9sbG93ZWQKICAgICAgYnkgdGhlIHVuY29tcHJlc3NlZCBzZWN0aW9uIHNpemUsIDggYnl0ZXMgaW4gYmlnLWVuZGlhbiBvcmRlci4gICovCiAgIGlmIChjb21wcmVzc2VkX3NpemUgPCBoZWFkZXJfc2l6ZQotICAgICAgfHwgISBzdHJlcSAoKGNoYXIqKSBjb21wcmVzc2VkX2J1ZmZlciwgIlpMSUIiKSkKKyAgICAgIHx8ICEgc3RyZXEgKChjaGFyICopIGNvbXByZXNzZWRfYnVmZmVyLCAiWkxJQiIpKQogICAgIHJldHVybiAwOworCiAgIHVuY29tcHJlc3NlZF9zaXplID0gY29tcHJlc3NlZF9idWZmZXJbNF07IHVuY29tcHJlc3NlZF9zaXplIDw8PSA4OwogICB1bmNvbXByZXNzZWRfc2l6ZSArPSBjb21wcmVzc2VkX2J1ZmZlcls1XTsgdW5jb21wcmVzc2VkX3NpemUgPDw9IDg7CiAgIHVuY29tcHJlc3NlZF9zaXplICs9IGNvbXByZXNzZWRfYnVmZmVyWzZdOyB1bmNvbXByZXNzZWRfc2l6ZSA8PD0gODsKQEAgLTgzMjQsMjMgKzgzNTksMjMgQEAKICAgc3RybS56ZnJlZSA9IE5VTEw7CiAgIHN0cm0ub3BhcXVlID0gTlVMTDsKICAgc3RybS5hdmFpbF9pbiA9IGNvbXByZXNzZWRfc2l6ZSAtIGhlYWRlcl9zaXplOwotICBzdHJtLm5leHRfaW4gPSAoQnl0ZWYqKSBjb21wcmVzc2VkX2J1ZmZlciArIGhlYWRlcl9zaXplOworICBzdHJtLm5leHRfaW4gPSAoQnl0ZWYgKikgY29tcHJlc3NlZF9idWZmZXIgKyBoZWFkZXJfc2l6ZTsKICAgc3RybS5hdmFpbF9vdXQgPSB1bmNvbXByZXNzZWRfc2l6ZTsKICAgdW5jb21wcmVzc2VkX2J1ZmZlciA9IHhtYWxsb2MgKHVuY29tcHJlc3NlZF9zaXplKTsKIAotICByYyA9IGluZmxhdGVJbml0ICgmc3RybSk7CisgIHJjID0gaW5mbGF0ZUluaXQgKCYgc3RybSk7CiAgIHdoaWxlIChzdHJtLmF2YWlsX2luID4gMCkKICAgICB7CiAgICAgICBpZiAocmMgIT0gWl9PSykKICAgICAgICAgZ290byBmYWlsOwotICAgICAgc3RybS5uZXh0X291dCA9ICgoQnl0ZWYqKSB1bmNvbXByZXNzZWRfYnVmZmVyCisgICAgICBzdHJtLm5leHRfb3V0ID0gKChCeXRlZiAqKSB1bmNvbXByZXNzZWRfYnVmZmVyCiAgICAgICAgICAgICAgICAgICAgICAgICsgKHVuY29tcHJlc3NlZF9zaXplIC0gc3RybS5hdmFpbF9vdXQpKTsKICAgICAgIHJjID0gaW5mbGF0ZSAoJnN0cm0sIFpfRklOSVNIKTsKICAgICAgIGlmIChyYyAhPSBaX1NUUkVBTV9FTkQpCiAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgIHJjID0gaW5mbGF0ZVJlc2V0ICgmc3RybSk7CisgICAgICByYyA9IGluZmxhdGVSZXNldCAoJiBzdHJtKTsKICAgICB9Ci0gIHJjID0gaW5mbGF0ZUVuZCAoJnN0cm0pOworICByYyA9IGluZmxhdGVFbmQgKCYgc3RybSk7CiAgIGlmIChyYyAhPSBaX09LCiAgICAgICB8fCBzdHJtLmF2YWlsX291dCAhPSAwKQogICAgIGdvdG8gZmFpbDsKQEAgLTg0MTksNiArODQ1NCw5IEBACiAKIAkgIHJlbG9jX3R5cGUgPSBnZXRfcmVsb2NfdHlwZSAocnAtPnJfaW5mbyk7CiAKKwkgIGlmIChpc19ub25lX3JlbG9jIChyZWxvY190eXBlKSkKKwkgICAgY29udGludWU7CisKIAkgIGlmIChpc18zMmJpdF9hYnNfcmVsb2MgKHJlbG9jX3R5cGUpCiAJICAgICAgfHwgaXNfMzJiaXRfcGNyZWxfcmVsb2MgKHJlbG9jX3R5cGUpKQogCSAgICByZWxvY19zaXplID0gNDsKQEAgLTg0NjYsNyArODUwNCw3IEBACiAJICAgIH0KIAogCSAgYWRkZW5kID0gaXNfcmVsYSA/IHJwLT5yX2FkZGVuZCA6IGJ5dGVfZ2V0IChsb2MsIHJlbG9jX3NpemUpOwotCSAgCisKIAkgIGlmIChpc18zMmJpdF9wY3JlbF9yZWxvYyAocmVsb2NfdHlwZSkKIAkgICAgICB8fCBpc182NGJpdF9wY3JlbF9yZWxvYyAocmVsb2NfdHlwZSkpCiAJICAgIHsKQEAgLTkwMTIsNiArOTA1MCwyOSBAQAogICAgICAgcmV0dXJuIHA7CiAgICB9CiAKKyAgaWYgKHRhZyA9PSBUYWdfR05VX1Bvd2VyX0FCSV9TdHJ1Y3RfUmV0dXJuKQorICAgIHsKKyAgICAgIHZhbCA9IHJlYWRfdWxlYjEyOCAocCwgJmxlbik7CisgICAgICBwICs9IGxlbjsKKyAgICAgIHByaW50ZiAoIiAgVGFnX0dOVV9Qb3dlcl9BQklfU3RydWN0X1JldHVybjogIik7CisgICAgICBzd2l0Y2ggKHZhbCkKKyAgICAgICB7CisgICAgICAgY2FzZSAwOgorICAgICAgICAgcHJpbnRmICgiQW55XG4iKTsKKyAgICAgICAgIGJyZWFrOworICAgICAgIGNhc2UgMToKKyAgICAgICAgIHByaW50ZiAoInIzL3I0XG4iKTsKKyAgICAgICAgIGJyZWFrOworICAgICAgIGNhc2UgMjoKKyAgICAgICAgIHByaW50ZiAoIk1lbW9yeVxuIik7CisgICAgICAgICBicmVhazsKKyAgICAgICBkZWZhdWx0OgorICAgICAgICAgcHJpbnRmICgiPz8/ICglZClcbiIsIHZhbCk7CisgICAgICAgICBicmVhazsKKyAgICAgICB9CisgICAgICByZXR1cm4gcDsKKyAgICB9CisKICAgaWYgKHRhZyAmIDEpCiAgICAgdHlwZSA9IDE7IC8qIFN0cmluZy4gICovCiAgIGVsc2UKQEAgLTEwNjMwLDcgKzEwNjkxLDcgQEAKIAkgIHNpemUgLT0gaW5kZXhfbnVtICogU0laRU9GX0FSX0lOREVYX05VTUJFUlM7CiAKIAkgIC8qIENvbnZlcnQgdGhlIGluZGV4IG51bWJlcnMgaW50byB0aGUgaG9zdCdzIG51bWVyaWMgZm9ybWF0LiAgKi8KLQkgIGluZGV4X2FycmF5ID0gbWFsbG9jIChpbmRleF9udW0gKiBzaXplb2YgKCogaW5kZXhfYXJyYXkpKTsJICAKKwkgIGluZGV4X2FycmF5ID0gbWFsbG9jIChpbmRleF9udW0gKiBzaXplb2YgKCogaW5kZXhfYXJyYXkpKTsKIAkgIGlmIChpbmRleF9hcnJheSA9PSBOVUxMKQogCSAgICB7CiAJICAgICAgZnJlZSAoaW5kZXhfYnVmZmVyKTsKQEAgLTEwNjY0LDcgKzEwNzI1LDcgQEAKIAkgICAgICBlcnJvciAoXygiJXM6IGZhaWxlZCB0byByZWFkIGFyY2hpdmUgaW5kZXggc3ltYm9sIHRhYmxlXG4iKSwgZmlsZV9uYW1lKTsKIAkgICAgICByZXQgPSAxOwogCSAgICAgIGdvdG8gb3V0OwotCSAgICB9CSAgCisJICAgIH0KICAgCX0KICAgICAgIGVsc2UKIAl7CkBAIC0xMDc4Niw3ICsxMDg0Nyw3IEBACiAJCXsKIAkJICBlcnJvciAoXygiJXM6IGVuZCBvZiB0aGUgc3ltYm9sIHRhYmxlIHJlYWNoZWQgYmVmb3JlIHRoZSBlbmQgb2YgdGhlIGluZGV4XG4iKSwKIAkJCSBmaWxlX25hbWUpOwotCQkgIGJyZWFrOwkJCSAKKwkJICBicmVhazsKIAkJfQogCSAgICAgIHByaW50ZiAoIlx0JXNcbiIsIHN5bV90YWJsZSArIGwpOwogCSAgICAgIGwgKz0gc3RybGVuIChzeW1fdGFibGUgKyBsKSArIDE7CmRpZmYgLS1naXQgYS9iaW51dGlscy9zdGFicy5jIGIvYmludXRpbHMvc3RhYnMuYwppbmRleCBlYTBhNjFlLi4wNjk3NTFiIDEwMDY0NAotLS0gYS9iaW51dGlscy9zdGFicy5jCisrKyBiL2JpbnV0aWxzL3N0YWJzLmMKQEAgLTEsNiArMSw2IEBACiAvKiBzdGFicy5jIC0tIFBhcnNlIHN0YWJzIGRlYnVnZ2luZyBpbmZvcm1hdGlvbgogICAgQ29weXJpZ2h0IDE5OTUsIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsCi0gICAyMDA2LCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgMjAwNiwgMjAwNywgMjAwOCAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAgICBXcml0dGVuIGJ5IElhbiBMYW5jZSBUYXlsb3IgPGlhbkBjeWdudXMuY29tPi4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJpbnV0aWxzLgpAQCAtMTEwNSw2ICsxMTA1LDI2IEBACiAJcmV0dXJuIEZBTFNFOwogICAgICAgYnJlYWs7CiAKKyAgICBjYXNlICdZJzoKKyAgICAgIC8qIFNVTlBybyBDKysgTmFtZXNwYWNlID1ZbjAuICAqLworICAgICAgLyogU2tpcCB0aGUgbmFtZXNwYWNlIG1hcHBpbmcsIGFzIGl0IGlzIG5vdCB1c2VkIG5vdy4gICovCisgICAgICBpZiAoKigrK3ApID09ICduJyAmJiAqKCsrcCkgPT0gJzAnKQorCXsKKwkgIC8qID1ZbjBuYW1lOyAqLworCSAgd2hpbGUgKCpwICE9ICc7JykKKwkgICAgKytwOworCSAgKytwOworCSAgcmV0dXJuIFRSVUU7CisJfQorICAgICAgLyogVE9ETyBTVU5Qcm8gQysrIHN1cHBvcnQ6CisgICAgICAgICBTdXBwb3J0IGRlZmF1bHQgYXJndW1lbnRzIGFmdGVyIEYsUCBwYXJhbWV0ZXJzCisgICAgICAgICBZYSA9IEFub255bW91cyB1bmlvbnMKKyAgICAgICAgIFlNLFlEID0gUG9pbnRlcnMgdG8gY2xhc3MgbWVtYmVycworICAgICAgICAgWVQsWUkgPSBUZW1wbGF0ZXMKKyAgICAgICAgIFlSID0gUnVuLXRpbWUgdHlwZSBpbmZvcm1hdGlvbiAoUlRUSSkgICovCisKKyAgICAgIC8qIEZhbGwgdGhyb3VnaC4gICovCisKICAgICBkZWZhdWx0OgogICAgICAgYmFkX3N0YWIgKHN0cmluZyk7CiAgICAgICByZXR1cm4gRkFMU0U7CkBAIC0xODM3LDExICsxODU3LDEzIEBACiAgICAgfQogICArKypwcDsKIAotICAvKiBGb3Igc29tZSBvZGQgcmVhc29uLCBhbGwgZm9ybXMgb2YgY2hhciBwdXQgYSBjIGhlcmUuICBUaGlzIGlzIHN0cmFuZ2UKLSAgICAgYmVjYXVzZSBubyBvdGhlciB0eXBlIGhhcyB0aGlzIGhvbm9yLiAgV2UgY2FuIHNhZmVseSBpZ25vcmUgdGhpcyBiZWNhdXNlCi0gICAgIHdlIGFjdHVhbGx5IGRldGVybWluZSAnY2hhcidhY3Rlcm5lc3MgYnkgdGhlIG51bWJlciBvZiBiaXRzIHNwZWNpZmllZCBpbgotICAgICB0aGUgZGVzY3JpcHRvci4gICovCi0gIGlmICgqKnBwID09ICdjJykKKyAgLyogT3BlblNvbGFyaXMgc291cmNlIGNvZGUgaW5kaWNhdGVzIHRoYXQgb25lIG9mICJjYnYiIGNoYXJhY3RlcnMKKyAgICAgY2FuIGNvbWUgbmV4dCBhbmQgc3BlY2lmeSB0aGUgaW50cmluc2ljICdpZm9ybWF0JyBlbmNvZGluZy4KKyAgICAgJ2MnIGlzIGNoYXJhY3RlciBlbmNvZGluZywgJ2InIGlzIGJvb2xlYW4gZW5jb2RpbmcsIGFuZCAndicgaXMKKyAgICAgdmFyYXJncyBlbmNvZGluZy4gIFRoaXMgZmllbGQgY2FuIGJlIHNhZmVseSBpZ25vcmVkIGJlY2F1c2UKKyAgICAgdGhlIHR5cGUgb2YgdGhlIGZpZWxkIGlzIGRldGVybWluZWQgZnJvbSB0aGUgYml0d2lkdGggZXh0cmFjdGVkCisgICAgIGJlbG93LiAgKi8KKyAgaWYgKCoqcHAgPT0gJ2MnIHx8ICoqcHAgPT0gJ2InIHx8ICoqcHAgPT0gJ3YnKQogICAgICsrKnBwOwogCiAgIC8qIFRoZSBmaXJzdCBudW1iZXIgYXBwZWFycyB0byBiZSB0aGUgbnVtYmVyIG9mIGJ5dGVzIG9jY3VwaWVkCmRpZmYgLS1naXQgYS9iaW51dGlscy90ZXN0c3VpdGUvQ2hhbmdlTG9nIGIvYmludXRpbHMvdGVzdHN1aXRlL0NoYW5nZUxvZwppbmRleCAyYjRmZGFjLi5iOGNlZTI0YiAxMDA2NDQKLS0tIGEvYmludXRpbHMvdGVzdHN1aXRlL0NoYW5nZUxvZworKysgYi9iaW51dGlscy90ZXN0c3VpdGUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMDgtMTAtMDYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KKworCSogYmludXRpbHMtYWxsL29iamR1bXAuVzogVXBkYXRlLgorCisyMDA4LTEwLTAzICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CisKKwkqIGJpbnV0aWxzLWFsbC9ncm91cC5zOiBVcGRhdGVkLgorCSogYmludXRpbHMtYWxsL2dyb3VwLTIuczogTGlrZXdpc2UuCisJKiBiaW51dGlscy1hbGwvZ3JvdXAtMy5zOiBMaWtld2lzZS4KKwkqIGJpbnV0aWxzLWFsbC9ncm91cC00LnM6IExpa2V3aXNlLgorCSogYmludXRpbHMtYWxsL3N0cmlwLTcuZDogTGlrZXdpc2UuCisJKiBiaW51dGlscy1hbGwvc3RyaXAtOS5kOiBMaWtld2lzZS4KKworMjAwOC0xMC0wMSAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgorCisJKiBiaW51dGlscy1hbGwvZ3JvdXAtNC5zOiBOZXcuCisJKiBiaW51dGlscy1hbGwvc3RyaXAtOC5kOiBMaWtld2lzZS4KKwkqIGJpbnV0aWxzLWFsbC9zdHJpcC05LmQ6IExpa2V3aXNlLgorCisJKiBiaW51dGlscy1hbGwvb2JqY29weS5leHA6IFRlc3Qgb2JqY29weSBvbiBncm91cC00LnMuICBSdW4KKwlzdHJpcC04IGFuZCBzdHJpcC05LgorCisyMDA4LTEwLTAxICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CisKKwkqIGJpbnV0aWxzLWFsbC9ncm91cC0zLnM6IE5ldy4KKwkqIGJpbnV0aWxzLWFsbC9zdHJpcC02LmQ6IExpa2V3aXNlLgorCSogYmludXRpbHMtYWxsL3N0cmlwLTcuZDogTGlrZXdpc2UuCisKKwkqIGJpbnV0aWxzLWFsbC9vYmpjb3B5LmV4cDogVGVzdCBvYmpjb3B5IG9uIGdyb3VwLTMucy4gIFJ1bgorCXN0cmlwLTYgYW5kIHN0cmlwLTcuCisKKzIwMDgtMTAtMDEgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KKworCSogYmludXRpbHMtYWxsL2dyb3VwLTIuczogTmV3LgorCSogYmludXRpbHMtYWxsL3N0cmlwLTQuZDogTGlrZXdpc2UuCisJKiBiaW51dGlscy1hbGwvc3RyaXAtNS5kOiBMaWtld2lzZS4KKworCSogYmludXRpbHMtYWxsL29iamNvcHkuZXhwOiBUZXN0IG9iamNvcHkgb24gZ3JvdXAtMi5zLiAgUnVuCisJc3RyaXAtNCBhbmQgc3RyaXAtNS4KKwogMjAwOC0wNy0yNiAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KIAogCSogYmludXRpbHMtYWxsL29iamR1bXAuZXhwOiBSdW4gY29tcHJlc3NlZCBkZWJ1ZyB0ZXN0IG9ubHkgZm9yIEVMRi4KZGlmZiAtLWdpdCBhL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZ3JvdXAtMi5zIGIvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9ncm91cC0yLnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg3ZWVkYQotLS0gL2Rldi9udWxsCisrKyBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZ3JvdXAtMi5zCkBAIC0wLDAgKzEsOCBAQAorCS5zZWN0aW9uIC50ZXh0LmZvbywiYXhHIiwlcHJvZ2JpdHMsLnRleHQuZm9vLGNvbWRhdAorCS5nbG9iYWwgZm9vMgorZm9vMjoKKwkud29yZCAwCisJLnNlY3Rpb24gLmRhdGEuYmFyLCJhd0ciLCVwcm9nYml0cywudGV4dC5mb28sY29tZGF0CisJLmdsb2JhbCBiYXIyCitiYXIyOgorCS53b3JkIDAKZGlmZiAtLWdpdCBhL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZ3JvdXAtMy5zIGIvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9ncm91cC0zLnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWIyMzVlOAotLS0gL2Rldi9udWxsCisrKyBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZ3JvdXAtMy5zCkBAIC0wLDAgKzEsOCBAQAorCS5zZWN0aW9uIC50ZXh0LmZvbzMsImF4RyIsJXByb2diaXRzLGZvbzMsY29tZGF0CisJLmdsb2JhbCBmb28zCitmb28zOgorCS53b3JkIDAKKwkuc2VjdGlvbiAuZGF0YS5iYXIzLCJhd0ciLCVwcm9nYml0cyxmb28zLGNvbWRhdAorCS5nbG9iYWwgYmFyMworYmFyMzoKKwkud29yZCAwCmRpZmYgLS1naXQgYS9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2dyb3VwLTQucyBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZ3JvdXAtNC5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxYzg3MzYKLS0tIC9kZXYvbnVsbAorKysgYi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2dyb3VwLTQucwpAQCAtMCwwICsxLDYgQEAKKwkuc2VjdGlvbiAudGV4dC5mb280LCJheEciLCVwcm9nYml0cyxmb280LGNvbWRhdAorZm9vNDoKKwkud29yZCAwCisJLnNlY3Rpb24gLmRhdGEuZm9vNCwiYXdHIiwlcHJvZ2JpdHMsZm9vNCxjb21kYXQKK2JhcjQ6CisJLndvcmQgMApkaWZmIC0tZ2l0IGEvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9ncm91cC5zIGIvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9ncm91cC5zCmluZGV4IDIxYWE0YmUuLmNjMWZmYjYgMTAwNjQ0Ci0tLSBhL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZ3JvdXAucworKysgYi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2dyb3VwLnMKQEAgLTEsOCArMSw4IEBACi0JLnNlY3Rpb24gLnRleHQsImF4RyIsJXByb2diaXRzLGZvb19ncm91cCxjb21kYXQKKwkuc2VjdGlvbiAudGV4dC5mb28sImF4RyIsJXByb2diaXRzLGZvb19ncm91cCxjb21kYXQKIAkuZ2xvYmFsIGZvbwogZm9vOgogCS53b3JkIDAKLQkuc2VjdGlvbiAuZGF0YSwiYXdHIiwlcHJvZ2JpdHMsZm9vX2dyb3VwLGNvbWRhdAorCS5zZWN0aW9uIC5kYXRhLmZvbywiYXdHIiwlcHJvZ2JpdHMsZm9vX2dyb3VwLGNvbWRhdAogCS5nbG9iYWwgYmFyCiBiYXI6CiAJLndvcmQgMApkaWZmIC0tZ2l0IGEvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9vYmpjb3B5LmV4cCBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvb2JqY29weS5leHAKaW5kZXggZTZlZTE0Mi4uOTk3YjU0MyAxMDA2NDQKLS0tIGEvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9vYmpjb3B5LmV4cAorKysgYi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL29iamNvcHkuZXhwCkBAIC04MjcsNiArODI3LDkgQEAKIGlmIFtpc19lbGZfZm9ybWF0XSB7CiAgICAgb2JqY29weV90ZXN0ICJFTEYgdW5rbm93biBzZWN0aW9uIHR5cGUiIHVua25vd24ucwogICAgIG9iamNvcHlfdGVzdF9yZWFkZWxmICJFTEYgZ3JvdXAiIGdyb3VwLnMKKyAgICBvYmpjb3B5X3Rlc3RfcmVhZGVsZiAiRUxGIGdyb3VwIiBncm91cC0yLnMKKyAgICBvYmpjb3B5X3Rlc3RfcmVhZGVsZiAiRUxGIGdyb3VwIiBncm91cC0zLnMKKyAgICBvYmpjb3B5X3Rlc3RfcmVhZGVsZiAiRUxGIGdyb3VwIiBncm91cC00LnMKICAgICBydW5fZHVtcF90ZXN0ICJjb3B5LTEiCiB9CiAKQEAgLTgzNyw2ICs4NDAsMTIgQEAKICAgICBydW5fZHVtcF90ZXN0ICJzdHJpcC0xIgogICAgIHJ1bl9kdW1wX3Rlc3QgInN0cmlwLTIiCiAgICAgcnVuX2R1bXBfdGVzdCAic3RyaXAtMyIKKyAgICBydW5fZHVtcF90ZXN0ICJzdHJpcC00IgorICAgIHJ1bl9kdW1wX3Rlc3QgInN0cmlwLTUiCisgICAgcnVuX2R1bXBfdGVzdCAic3RyaXAtNiIKKyAgICBydW5fZHVtcF90ZXN0ICJzdHJpcC03IgorICAgIHJ1bl9kdW1wX3Rlc3QgInN0cmlwLTgiCisgICAgcnVuX2R1bXBfdGVzdCAic3RyaXAtOSIKIAogICAgIGlmIHsgW2lzdGFyZ2V0ICJpKjg2LSoiXSB8fCBbaXN0YXJnZXQgIng4Nl82NC0qLSoiXSB9IHsKIAkjIENoZWNrIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBzdHJpcCBhIHN5bWJvbCBuYW1lZCBpbiByZWxvY2F0aW9ucy4KZGlmZiAtLWdpdCBhL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvb2JqZHVtcC5XIGIvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9vYmpkdW1wLlcKaW5kZXggZGZjYTU2Mi4uNzYxNzQ3MCAxMDA2NDQKLS0tIGEvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9vYmpkdW1wLlcKKysrIGIvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9vYmpkdW1wLlcKQEAgLTEsNyArMSw3IEBACiAKIHRtcGRpci9kdzItY29tcHJlc3NlZC5vOiAgICAgZmlsZSBmb3JtYXQgLioKIAotVGhlIHNlY3Rpb24gLmRlYnVnX2luZm8gY29udGFpbnM6CitDb250ZW50cyBvZiB0aGUgLmRlYnVnX2luZm8gc2VjdGlvbjoKIAogICBDb21waWxhdGlvbiBVbml0IEAgb2Zmc2V0IDB4MDoKICAgIExlbmd0aDogICAgICAgIDB4NGUgXCgzMi1iaXRcKQpkaWZmIC0tZ2l0IGEvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9zdHJpcC00LmQgYi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL3N0cmlwLTQuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOGMyNTA5Ci0tLSAvZGV2L251bGwKKysrIGIvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9zdHJpcC00LmQKQEAgLTAsMCArMSwxMSBAQAorI1BST0c6IHN0cmlwCisjc291cmNlOiBncm91cC0yLnMKKyNyZWFkZWxmOiAtU2cgLS13aWRlCisjbmFtZTogc3RyaXAgd2l0aCBzZWN0aW9uIGdyb3VwIDQKKworIy4uLgorICBcW1sgMC05XStcXSBcLnRleHQuKlsgXHRdK1BST0dCSVRTWyBcdDAtOWEtZl0rQVhbIFx0XSsuKgorIy4uLgorICBcW1sgMC05XStcXSBcLmRhdGEuKlsgXHRdK1BST0dCSVRTWyBcdDAtOWEtZl0rV0FbIFx0XSsuKgorIy4uLgorVGhlcmUgYXJlIG5vIHNlY3Rpb24gZ3JvdXBzIGluIHRoaXMgZmlsZS4KZGlmZiAtLWdpdCBhL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvc3RyaXAtNS5kIGIvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9zdHJpcC01LmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRkMjMzMQotLS0gL2Rldi9udWxsCisrKyBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvc3RyaXAtNS5kCkBAIC0wLDAgKzEsMTggQEAKKyNQUk9HOiBzdHJpcAorI3NvdXJjZTogZ3JvdXAtMi5zCisjc3RyaXA6IC0tc3RyaXAtdW5uZWVkZWQKKyNyZWFkZWxmOiAtU2cgLS13aWRlCisjbmFtZTogc3RyaXAgd2l0aCBzZWN0aW9uIGdyb3VwIDUKKworIy4uLgorICBcW1sgMC05XStcXSAuZ3JvdXBbIFx0XStHUk9VUFsgXHRdKy4qCisjLi4uCisgIFxbWyAwLTldK1xdIFwudGV4dC4qWyBcdF0rUFJPR0JJVFNbIFx0MC05YS1mXStBWEdbIFx0XSsuKgorIy4uLgorICBcW1sgMC05XStcXSBcLmRhdGEuKlsgXHRdK1BST0dCSVRTWyBcdDAtOWEtZl0rV0FHWyBcdF0rLioKKyMuLi4KK0NPTURBVCBncm91cCBzZWN0aW9uIFxbWyAwLTldK1xdIGAuZ3JvdXAnIFxbLnRleHQuZm9vXF0gY29udGFpbnMgMiBzZWN0aW9uczoKKyAgIFxbSW5kZXhcXSAgICBOYW1lCisgICBcW1sgMC05XStcXSAgIC50ZXh0LioKKyAgIFxbWyAwLTldK1xdICAgLmRhdGEuKgorI3Bhc3MKZGlmZiAtLWdpdCBhL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvc3RyaXAtNi5kIGIvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9zdHJpcC02LmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzVkNDI4OAotLS0gL2Rldi9udWxsCisrKyBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvc3RyaXAtNi5kCkBAIC0wLDAgKzEsMTEgQEAKKyNQUk9HOiBzdHJpcAorI3NvdXJjZTogZ3JvdXAtMy5zCisjcmVhZGVsZjogLVNnIC0td2lkZQorI25hbWU6IHN0cmlwIHdpdGggc2VjdGlvbiBncm91cCA2CisKKyMuLi4KKyAgXFtbIDAtOV0rXF0gXC50ZXh0LipbIFx0XStQUk9HQklUU1sgXHQwLTlhLWZdK0FYWyBcdF0rLioKKyMuLi4KKyAgXFtbIDAtOV0rXF0gXC5kYXRhLipbIFx0XStQUk9HQklUU1sgXHQwLTlhLWZdK1dBWyBcdF0rLioKKyMuLi4KK1RoZXJlIGFyZSBubyBzZWN0aW9uIGdyb3VwcyBpbiB0aGlzIGZpbGUuCmRpZmYgLS1naXQgYS9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL3N0cmlwLTcuZCBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvc3RyaXAtNy5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5MTQ2M2IKLS0tIC9kZXYvbnVsbAorKysgYi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL3N0cmlwLTcuZApAQCAtMCwwICsxLDE4IEBACisjUFJPRzogc3RyaXAKKyNzb3VyY2U6IGdyb3VwLTMucworI3N0cmlwOiAtLXN0cmlwLXVubmVlZGVkCisjcmVhZGVsZjogLVNnIC0td2lkZQorI25hbWU6IHN0cmlwIHdpdGggc2VjdGlvbiBncm91cCA3CisKKyMuLi4KKyAgXFtbIDAtOV0rXF0gLmdyb3VwWyBcdF0rR1JPVVBbIFx0XSsuKgorIy4uLgorICBcW1sgMC05XStcXSBcLnRleHQuKlsgXHRdK1BST0dCSVRTWyBcdDAtOWEtZl0rQVhHWyBcdF0rLioKKyMuLi4KKyAgXFtbIDAtOV0rXF0gXC5kYXRhLipbIFx0XStQUk9HQklUU1sgXHQwLTlhLWZdK1dBR1sgXHRdKy4qCisjLi4uCitDT01EQVQgZ3JvdXAgc2VjdGlvbiBcW1sgMC05XStcXSBgLmdyb3VwJyBcW2ZvbzNcXSBjb250YWlucyAyIHNlY3Rpb25zOgorICAgXFtJbmRleFxdICAgIE5hbWUKKyAgIFxbWyAwLTldK1xdICAgLnRleHQuKgorICAgXFtbIDAtOV0rXF0gICAuZGF0YS4qCisjcGFzcwpkaWZmIC0tZ2l0IGEvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9zdHJpcC04LmQgYi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL3N0cmlwLTguZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjE4NTEwCi0tLSAvZGV2L251bGwKKysrIGIvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9zdHJpcC04LmQKQEAgLTAsMCArMSwxMSBAQAorI1BST0c6IHN0cmlwCisjc291cmNlOiBncm91cC00LnMKKyNyZWFkZWxmOiAtU2cgLS13aWRlCisjbmFtZTogc3RyaXAgd2l0aCBzZWN0aW9uIGdyb3VwIDgKKworIy4uLgorICBcW1sgMC05XStcXSBcLnRleHQuKlsgXHRdK1BST0dCSVRTWyBcdDAtOWEtZl0rQVhbIFx0XSsuKgorIy4uLgorICBcW1sgMC05XStcXSBcLmRhdGEuKlsgXHRdK1BST0dCSVRTWyBcdDAtOWEtZl0rV0FbIFx0XSsuKgorIy4uLgorVGhlcmUgYXJlIG5vIHNlY3Rpb24gZ3JvdXBzIGluIHRoaXMgZmlsZS4KZGlmZiAtLWdpdCBhL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvc3RyaXAtOS5kIGIvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9zdHJpcC05LmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2YwN2EwZAotLS0gL2Rldi9udWxsCisrKyBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvc3RyaXAtOS5kCkBAIC0wLDAgKzEsMTggQEAKKyNQUk9HOiBzdHJpcAorI3NvdXJjZTogZ3JvdXAtNC5zCisjc3RyaXA6IC0tc3RyaXAtdW5uZWVkZWQKKyNyZWFkZWxmOiAtU2cgLS13aWRlCisjbmFtZTogc3RyaXAgd2l0aCBzZWN0aW9uIGdyb3VwIDkKKworIy4uLgorICBcW1sgMC05XStcXSAuZ3JvdXBbIFx0XStHUk9VUFsgXHRdKy4qCisjLi4uCisgIFxbWyAwLTldK1xdIFwudGV4dC4qWyBcdF0rUFJPR0JJVFNbIFx0MC05YS1mXStBWEdbIFx0XSsuKgorIy4uLgorICBcW1sgMC05XStcXSBcLmRhdGEuKlsgXHRdK1BST0dCSVRTWyBcdDAtOWEtZl0rV0FHWyBcdF0rLioKKyMuLi4KK0NPTURBVCBncm91cCBzZWN0aW9uIFxbWyAwLTldK1xdIGAuZ3JvdXAnIFxbZm9vNFxdIGNvbnRhaW5zIDIgc2VjdGlvbnM6CisgICBcW0luZGV4XF0gICAgTmFtZQorICAgXFtbIDAtOV0rXF0gICAudGV4dC4qCisgICBcW1sgMC05XStcXSAgIC5kYXRhLioKKyNwYXNzCmRpZmYgLS1naXQgYS9iaW51dGlscy93aW5kbWMuYyBiL2JpbnV0aWxzL3dpbmRtYy5jCmluZGV4IDI4M2MyNjUuLjkzOTJkNjUgMTAwNjQ0Ci0tLSBhL2JpbnV0aWxzL3dpbmRtYy5jCisrKyBiL2JpbnV0aWxzL3dpbmRtYy5jCkBAIC0xNzUsNyArMTc1LDcgQEAKIHZvaWQgKgogcmVzX2FsbG9jIChyY191aW50X3R5cGUgYnl0ZXMpCiB7Ci0gIHJldHVybiAodm9pZCAqKSBvYnN0YWNrX2FsbG9jICgmcmVzX29ic3RhY2ssIChzaXplX3QpIGJ5dGVzKTsKKyAgcmV0dXJuIG9ic3RhY2tfYWxsb2MgKCZyZXNfb2JzdGFjaywgKHNpemVfdCkgYnl0ZXMpOwogfQogCiBzdGF0aWMgRklMRSAqCmRpZmYgLS1naXQgYS9iaW51dGlscy93aW5kcmVzLmMgYi9iaW51dGlscy93aW5kcmVzLmMKaW5kZXggZTY4YTUwNC4uOThjZTE2NSAxMDA2NDQKLS0tIGEvYmludXRpbHMvd2luZHJlcy5jCisrKyBiL2JpbnV0aWxzL3dpbmRyZXMuYwpAQCAtMTU3LDcgKzE1Nyw3IEBACiB2b2lkICoKIHJlc19hbGxvYyAocmNfdWludF90eXBlIGJ5dGVzKQogewotICByZXR1cm4gKHZvaWQgKikgb2JzdGFja19hbGxvYyAoJnJlc19vYnN0YWNrLCAoc2l6ZV90KSBieXRlcyk7CisgIHJldHVybiBvYnN0YWNrX2FsbG9jICgmcmVzX29ic3RhY2ssIChzaXplX3QpIGJ5dGVzKTsKIH0KIAogLyogV2UgYWxzbyB1c2UgYW4gb2JzdGFjayB0byBzYXZlIG1lbW9yeSB1c2VkIHdoaWxlIHdyaXRpbmcgb3V0IGEgc2V0CkBAIC0xNzgsNyArMTc4LDcgQEAKIHZvaWQgKgogcmVzd3JfYWxsb2MgKHJjX3VpbnRfdHlwZSBieXRlcykKIHsKLSAgcmV0dXJuICh2b2lkICopIG9ic3RhY2tfYWxsb2MgKCZyZXN3cl9vYnN0YWNrLCAoc2l6ZV90KSBieXRlcyk7CisgIHJldHVybiBvYnN0YWNrX2FsbG9jICgmcmVzd3Jfb2JzdGFjaywgKHNpemVfdCkgYnl0ZXMpOwogfQogDAogLyogT3BlbiBhIGZpbGUgdXNpbmcgdGhlIGluY2x1ZGUgZGlyZWN0b3J5IHNlYXJjaCBsaXN0LiAgKi8KZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCBhOGNmNjgwLi4wMDAwZWE4IDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC0yNzIsNyArMjcyLDcgQEAKIFBBQ0tBR0VfQlVHUkVQT1JUPQogCiBhY191bmlxdWVfZmlsZT0ibW92ZS1pZi1jaGFuZ2UiCi1hY19zdWJzdF92YXJzPSdTSEVMTCBQQVRIX1NFUEFSQVRPUiBQQUNLQUdFX05BTUUgUEFDS0FHRV9UQVJOQU1FIFBBQ0tBR0VfVkVSU0lPTiBQQUNLQUdFX1NUUklORyBQQUNLQUdFX0JVR1JFUE9SVCBleGVjX3ByZWZpeCBwcmVmaXggcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSBiaW5kaXIgc2JpbmRpciBsaWJleGVjZGlyIGRhdGFkaXIgc3lzY29uZmRpciBzaGFyZWRzdGF0ZWRpciBsb2NhbHN0YXRlZGlyIGxpYmRpciBpbmNsdWRlZGlyIG9sZGluY2x1ZGVkaXIgaW5mb2RpciBtYW5kaXIgYnVpbGRfYWxpYXMgaG9zdF9hbGlhcyB0YXJnZXRfYWxpYXMgREVGUyBFQ0hPX0MgRUNIT19OIEVDSE9fVCBMSUJTIFRPUExFVkVMX0NPTkZJR1VSRV9BUkdVTUVOVFMgYnVpbGQgYnVpbGRfY3B1IGJ1aWxkX3ZlbmRvciBidWlsZF9vcyBidWlsZF9ub25jYW5vbmljYWwgaG9zdF9ub25jYW5vbmljYWwgdGFyZ2V0X25vbmNhbm9uaWNhbCBob3N0IGhvc3RfY3B1IGhvc3RfdmVuZG9yIGhvc3Rfb3MgdGFyZ2V0IHRhcmdldF9jcHUgdGFyZ2V0X3ZlbmRvciB0YXJnZXRfb3MgSU5TVEFMTF9QUk9HUkFNIElOU1RBTExfU0NSSVBUIElOU1RBTExfREFUQSBMTiBMTl9TIGJ1aWxkX2xpYnN1YmRpciBidWlsZF9zdWJkaXIgaG9zdF9zdWJkaXIgdGFyZ2V0X3N1YmRpciBDQyBDRkxBR1MgTERGTEFHUyBDUFBGTEFHUyBhY19jdF9DQyBFWEVFWFQgT0JKRVhUIENYWCBDWFhGTEFHUyBhY19jdF9DWFggR05BVEJJTkQgYWNfY3RfR05BVEJJTkQgR05BVE1BS0UgYWNfY3RfR05BVE1BS0UgZG9fY29tcGFyZSBnbXBsaWJzIGdtcGluYyBzdGFnZTFfbGFuZ3VhZ2VzIFNZU1JPT1RfQ0ZMQUdTX0ZPUl9UQVJHRVQgREVCVUdfUFJFRklYX0NGTEFHU19GT1JfVEFSR0VUIENGTEFHU19GT1JfVEFSR0VUIENYWEZMQUdTX0ZPUl9UQVJHRVQgUlBBVEhfRU5WVkFSIEdDQ19TSExJQl9TVUJESVIgdG9vbGRpciBidWlsZF90b29sZGlyIENPTkZJR1VSRV9HREJfVEsgR0RCX1RLIElOU1RBTExfR0RCX1RLIGJ1aWxkX2NvbmZpZ2FyZ3MgYnVpbGRfY29uZmlnZGlycyBob3N0X2NvbmZpZ2FyZ3MgY29uZmlnZGlycyB0YXJnZXRfY29uZmlnYXJncyBBUl9GT1JfQlVJTEQgQVNfRk9SX0JVSUxEIENDX0ZPUl9CVUlMRCBDRkxBR1NfRk9SX0JVSUxEIENYWEZMQUdTX0ZPUl9CVUlMRCBDWFhfRk9SX0JVSUxEIERMTFRPT0xfRk9SX0JVSUxEIEdDSl9GT1JfQlVJTEQgR0ZPUlRSQU5fRk9SX0JVSUxEIExERkxBR1NfRk9SX0JVSUxEIExEX0ZPUl9CVUlMRCBOTV9GT1JfQlVJTEQgUkFOTElCX0ZPUl9CVUlMRCBXSU5ETUNfRk9SX0JVSUxEIFdJTkRSRVNfRk9SX0JVSUxEIGNvbmZpZ19zaGVsbCBZQUNDIEJJU09OIE00IExFWCBGTEVYIE1BS0VJTkZPIEVYUEVDVCBSVU5URVNUIEFSIEFTIERMTFRPT0wgTEQgTElQTyBOTSBSQU5MSUIgU1RSSVAgV0lORFJFUyBXSU5ETUMgT0JKQ09QWSBPQkpEVU1QIENDX0ZPUl9UQVJHRVQgQ1hYX0ZPUl9UQVJHRVQgR0NDX0ZPUl9UQVJHRVQgR0NKX0ZPUl9UQVJHRVQgR0ZPUlRSQU5fRk9SX1RBUkdFVCBBUl9GT1JfVEFSR0VUIEFTX0ZPUl9UQVJHRVQgRExMVE9PTF9GT1JfVEFSR0VUIExEX0ZPUl9UQVJHRVQgTElQT19GT1JfVEFSR0VUIE5NX0ZPUl9UQVJHRVQgT0JKRFVNUF9GT1JfVEFSR0VUIFJBTkxJQl9GT1JfVEFSR0VUIFNUUklQX0ZPUl9UQVJHRVQgV0lORFJFU19GT1JfVEFSR0VUIFdJTkRNQ19GT1JfVEFSR0VUIFJBV19DWFhfRk9SX1RBUkdFVCBGTEFHU19GT1JfVEFSR0VUIENPTVBJTEVSX0FTX0ZPUl9UQVJHRVQgQ09NUElMRVJfTERfRk9SX1RBUkdFVCBDT01QSUxFUl9OTV9GT1JfVEFSR0VUIE1BSU5UQUlORVJfTU9ERV9UUlVFIE1BSU5UQUlORVJfTU9ERV9GQUxTRSBNQUlOVCBzdGFnZTFfY2ZsYWdzIHN0YWdlMV9jaGVja2luZyBzdGFnZTJfd2Vycm9yX2ZsYWcgZGF0YXJvb3RkaXIgZG9jZGlyIHBkZmRpciBodG1sZGlyIExJQk9CSlMgTFRMSUJPQkpTJworYWNfc3Vic3RfdmFycz0nU0hFTEwgUEFUSF9TRVBBUkFUT1IgUEFDS0FHRV9OQU1FIFBBQ0tBR0VfVEFSTkFNRSBQQUNLQUdFX1ZFUlNJT04gUEFDS0FHRV9TVFJJTkcgUEFDS0FHRV9CVUdSRVBPUlQgZXhlY19wcmVmaXggcHJlZml4IHByb2dyYW1fdHJhbnNmb3JtX25hbWUgYmluZGlyIHNiaW5kaXIgbGliZXhlY2RpciBkYXRhZGlyIHN5c2NvbmZkaXIgc2hhcmVkc3RhdGVkaXIgbG9jYWxzdGF0ZWRpciBsaWJkaXIgaW5jbHVkZWRpciBvbGRpbmNsdWRlZGlyIGluZm9kaXIgbWFuZGlyIGJ1aWxkX2FsaWFzIGhvc3RfYWxpYXMgdGFyZ2V0X2FsaWFzIERFRlMgRUNIT19DIEVDSE9fTiBFQ0hPX1QgTElCUyBUT1BMRVZFTF9DT05GSUdVUkVfQVJHVU1FTlRTIGJ1aWxkIGJ1aWxkX2NwdSBidWlsZF92ZW5kb3IgYnVpbGRfb3MgYnVpbGRfbm9uY2Fub25pY2FsIGhvc3Rfbm9uY2Fub25pY2FsIHRhcmdldF9ub25jYW5vbmljYWwgaG9zdCBob3N0X2NwdSBob3N0X3ZlbmRvciBob3N0X29zIHRhcmdldCB0YXJnZXRfY3B1IHRhcmdldF92ZW5kb3IgdGFyZ2V0X29zIElOU1RBTExfUFJPR1JBTSBJTlNUQUxMX1NDUklQVCBJTlNUQUxMX0RBVEEgTE4gTE5fUyBidWlsZF9saWJzdWJkaXIgYnVpbGRfc3ViZGlyIGhvc3Rfc3ViZGlyIHRhcmdldF9zdWJkaXIgQ0MgQ0ZMQUdTIExERkxBR1MgQ1BQRkxBR1MgYWNfY3RfQ0MgRVhFRVhUIE9CSkVYVCBDWFggQ1hYRkxBR1MgYWNfY3RfQ1hYIEdOQVRCSU5EIGFjX2N0X0dOQVRCSU5EIEdOQVRNQUtFIGFjX2N0X0dOQVRNQUtFIGRvX2NvbXBhcmUgZ21wbGlicyBnbXBpbmMgc3RhZ2UxX2xhbmd1YWdlcyBTWVNST09UX0NGTEFHU19GT1JfVEFSR0VUIERFQlVHX1BSRUZJWF9DRkxBR1NfRk9SX1RBUkdFVCBDRkxBR1NfRk9SX1RBUkdFVCBDWFhGTEFHU19GT1JfVEFSR0VUIENQUEZMQUdTX0ZPUl9UQVJHRVQgTERGTEFHU19GT1JfVEFSR0VUIFJQQVRIX0VOVlZBUiBHQ0NfU0hMSUJfU1VCRElSIHRvb2xkaXIgYnVpbGRfdG9vbGRpciBDT05GSUdVUkVfR0RCX1RLIEdEQl9USyBJTlNUQUxMX0dEQl9USyBidWlsZF9jb25maWdhcmdzIGJ1aWxkX2NvbmZpZ2RpcnMgaG9zdF9jb25maWdhcmdzIGNvbmZpZ2RpcnMgdGFyZ2V0X2NvbmZpZ2FyZ3MgQVJfRk9SX0JVSUxEIEFTX0ZPUl9CVUlMRCBDQ19GT1JfQlVJTEQgQ0ZMQUdTX0ZPUl9CVUlMRCBDUFBGTEFHU19GT1JfQlVJTEQgQ1hYRkxBR1NfRk9SX0JVSUxEIENYWF9GT1JfQlVJTEQgRExMVE9PTF9GT1JfQlVJTEQgR0NKX0ZPUl9CVUlMRCBHRk9SVFJBTl9GT1JfQlVJTEQgTERGTEFHU19GT1JfQlVJTEQgTERfRk9SX0JVSUxEIE5NX0ZPUl9CVUlMRCBSQU5MSUJfRk9SX0JVSUxEIFdJTkRNQ19GT1JfQlVJTEQgV0lORFJFU19GT1JfQlVJTEQgY29uZmlnX3NoZWxsIFlBQ0MgQklTT04gTTQgTEVYIEZMRVggTUFLRUlORk8gRVhQRUNUIFJVTlRFU1QgQVIgQVMgRExMVE9PTCBMRCBMSVBPIE5NIFJBTkxJQiBTVFJJUCBXSU5EUkVTIFdJTkRNQyBPQkpDT1BZIE9CSkRVTVAgQ0NfRk9SX1RBUkdFVCBDWFhfRk9SX1RBUkdFVCBHQ0NfRk9SX1RBUkdFVCBHQ0pfRk9SX1RBUkdFVCBHRk9SVFJBTl9GT1JfVEFSR0VUIEFSX0ZPUl9UQVJHRVQgQVNfRk9SX1RBUkdFVCBETExUT09MX0ZPUl9UQVJHRVQgTERfRk9SX1RBUkdFVCBMSVBPX0ZPUl9UQVJHRVQgTk1fRk9SX1RBUkdFVCBPQkpEVU1QX0ZPUl9UQVJHRVQgUkFOTElCX0ZPUl9UQVJHRVQgU1RSSVBfRk9SX1RBUkdFVCBXSU5EUkVTX0ZPUl9UQVJHRVQgV0lORE1DX0ZPUl9UQVJHRVQgUkFXX0NYWF9GT1JfVEFSR0VUIEZMQUdTX0ZPUl9UQVJHRVQgQ09NUElMRVJfQVNfRk9SX1RBUkdFVCBDT01QSUxFUl9MRF9GT1JfVEFSR0VUIENPTVBJTEVSX05NX0ZPUl9UQVJHRVQgTUFJTlRBSU5FUl9NT0RFX1RSVUUgTUFJTlRBSU5FUl9NT0RFX0ZBTFNFIE1BSU5UIHN0YWdlMV9jZmxhZ3Mgc3RhZ2UxX2NoZWNraW5nIHN0YWdlMl93ZXJyb3JfZmxhZyBkYXRhcm9vdGRpciBkb2NkaXIgcGRmZGlyIGh0bWxkaXIgTElCT0JKUyBMVExJQk9CSlMnCiBhY19zdWJzdF9maWxlcz0nc2VyaWFsaXphdGlvbl9kZXBlbmRlbmNpZXMgaG9zdF9tYWtlZmlsZV9mcmFnIHRhcmdldF9tYWtlZmlsZV9mcmFnIGFscGhhaWVlZV9mcmFnIG9zcGFjZV9mcmFnJwogYWNfcHdkPWBwd2RgCiAKQEAgLTI2NDMsNyArMjY0Myw2IEBACiAgIHNwYXJjLSotc29sYXJpcyogfCBzcGFyYzY0LSotc29sYXJpcyogfCBzcGFyY3Y5LSotc29sYXJpcyopCiAgICAgOzsKICAgc3B1LSotKikKLSAgICBza2lwZGlycz0idGFyZ2V0LWxpYnNzcCIKICAgICA7OwogICB2ODEwLSotKikKICAgICBub2NvbmZpZ2RpcnM9IiRub2NvbmZpZ2RpcnMgYmZkIGJpbnV0aWxzIGdhcyBnY2MgZ2RiIGxkIHRhcmdldC1saWJzdGRjKystdjMgb3Bjb2RlcyB0YXJnZXQtbGliZ2xvc3MgJHtsaWJnY2p9IgpAQCAtNTI4Nyw2ICs1Mjg2LDEyIEBACiBmaQogCiAKKyMgT3RoZXIgdGFyZ2V0IHRvb2xzLgorQ1BQRkxBR1NfRk9SX1RBUkdFVD0ke0NQUEZMQUdTX0ZPUl9UQVJHRVQtJHtDUFBGTEFHU319CisKK0xERkxBR1NfRk9SX1RBUkdFVD0ke0xERkxBR1NfRk9SX1RBUkdFVC0ke0xERkxBR1N9fQorCisKICMgSGFuZGxlIC0td2l0aC1oZWFkZXJzPVhYWC4gIElmIHRoZSB2YWx1ZSBpcyBub3QgInllcyIsIHRoZSBjb250ZW50cyBvZgogIyB0aGUgbmFtZWQgZGlyZWN0b3J5IGFyZSBjb3BpZWQgdG8gJCh0b29sZGlyKS9zeXMtaW5jbHVkZS4KIGlmIHRlc3QgeCIke3dpdGhfaGVhZGVyc30iICE9IHggJiYgdGVzdCB4IiR7d2l0aF9oZWFkZXJzfSIgIT0geG5vIDsgdGhlbgpAQCAtNjAzNCw2ICs2MDM5LDcgQEAKICMgb3VyIGJ1aWxkIGNvbXBpbGVyIGlmIGRlc2lyZWQuCiBpZiB0ZXN0IHgiJHtidWlsZH0iID0geCIke2hvc3R9IiA7IHRoZW4KICAgQ0ZMQUdTX0ZPUl9CVUlMRD0ke0NGTEFHU19GT1JfQlVJTEQtJHtDRkxBR1N9fQorICBDUFBGTEFHU19GT1JfQlVJTEQ9JHtDUFBGTEFHU19GT1JfQlVJTEQtJHtDUFBGTEFHU319CiAgIENYWEZMQUdTX0ZPUl9CVUlMRD0ke0NYWEZMQUdTX0ZPUl9CVUlMRC0ke0NYWEZMQUdTfX0KICAgTERGTEFHU19GT1JfQlVJTEQ9JHtMREZMQUdTX0ZPUl9CVUlMRC0ke0xERkxBR1N9fQogZmkKQEAgLTYxMTIsNiArNjExOCw3IEBACiAKIAogCisKICMgR2VuZXJhdGUgZGVmYXVsdCBkZWZpbml0aW9ucyBmb3IgWUFDQywgTTQsIExFWCBhbmQgb3RoZXIgcHJvZ3JhbXMgdGhhdCBydW4KICMgb24gdGhlIGJ1aWxkIG1hY2hpbmUuICBUaGVzZSBhcmUgdXNlZCBpZiB0aGUgTWFrZWZpbGUgY2FuJ3QgbG9jYXRlIHRoZXNlCiAjIHByb2dyYW1zIGluIG9iamRpci4KQEAgLTEyOTgwLDYgKzEyOTg3LDggQEAKIHMsQERFQlVHX1BSRUZJWF9DRkxBR1NfRk9SX1RBUkdFVEAsJERFQlVHX1BSRUZJWF9DRkxBR1NfRk9SX1RBUkdFVCw7dCB0CiBzLEBDRkxBR1NfRk9SX1RBUkdFVEAsJENGTEFHU19GT1JfVEFSR0VULDt0IHQKIHMsQENYWEZMQUdTX0ZPUl9UQVJHRVRALCRDWFhGTEFHU19GT1JfVEFSR0VULDt0IHQKK3MsQENQUEZMQUdTX0ZPUl9UQVJHRVRALCRDUFBGTEFHU19GT1JfVEFSR0VULDt0IHQKK3MsQExERkxBR1NfRk9SX1RBUkdFVEAsJExERkxBR1NfRk9SX1RBUkdFVCw7dCB0CiBzLEBSUEFUSF9FTlZWQVJALCRSUEFUSF9FTlZWQVIsO3QgdAogcyxAR0NDX1NITElCX1NVQkRJUkAsJEdDQ19TSExJQl9TVUJESVIsO3QgdAogcyxAdG9vbGRpckAsJHRvb2xkaXIsO3QgdApAQCAtMTI5OTYsNiArMTMwMDUsNyBAQAogcyxAQVNfRk9SX0JVSUxEQCwkQVNfRk9SX0JVSUxELDt0IHQKIHMsQENDX0ZPUl9CVUlMREAsJENDX0ZPUl9CVUlMRCw7dCB0CiBzLEBDRkxBR1NfRk9SX0JVSUxEQCwkQ0ZMQUdTX0ZPUl9CVUlMRCw7dCB0CitzLEBDUFBGTEFHU19GT1JfQlVJTERALCRDUFBGTEFHU19GT1JfQlVJTEQsO3QgdAogcyxAQ1hYRkxBR1NfRk9SX0JVSUxEQCwkQ1hYRkxBR1NfRk9SX0JVSUxELDt0IHQKIHMsQENYWF9GT1JfQlVJTERALCRDWFhfRk9SX0JVSUxELDt0IHQKIHMsQERMTFRPT0xfRk9SX0JVSUxEQCwkRExMVE9PTF9GT1JfQlVJTEQsO3QgdApkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IGZiODU5YzEuLjcyNmE1OGYgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTg5Miw3ICs4OTIsNiBAQAogICBzcGFyYy0qLXNvbGFyaXMqIHwgc3BhcmM2NC0qLXNvbGFyaXMqIHwgc3BhcmN2OS0qLXNvbGFyaXMqKQogICAgIDs7CiAgIHNwdS0qLSopCi0gICAgc2tpcGRpcnM9InRhcmdldC1saWJzc3AiCiAgICAgOzsKICAgdjgxMC0qLSopCiAgICAgbm9jb25maWdkaXJzPSIkbm9jb25maWdkaXJzIGJmZCBiaW51dGlscyBnYXMgZ2NjIGdkYiBsZCB0YXJnZXQtbGlic3RkYysrLXYzIG9wY29kZXMgdGFyZ2V0LWxpYmdsb3NzICR7bGliZ2NqfSIKQEAgLTE3NDMsNiArMTc0MiwxMiBAQAogZmkKIEFDX1NVQlNUKENYWEZMQUdTX0ZPUl9UQVJHRVQpCiAKKyMgT3RoZXIgdGFyZ2V0IHRvb2xzLgorQ1BQRkxBR1NfRk9SX1RBUkdFVD0ke0NQUEZMQUdTX0ZPUl9UQVJHRVQtJHtDUFBGTEFHU319CitBQ19TVUJTVChDUFBGTEFHU19GT1JfVEFSR0VUKQorTERGTEFHU19GT1JfVEFSR0VUPSR7TERGTEFHU19GT1JfVEFSR0VULSR7TERGTEFHU319CitBQ19TVUJTVChMREZMQUdTX0ZPUl9UQVJHRVQpCisKICMgSGFuZGxlIC0td2l0aC1oZWFkZXJzPVhYWC4gIElmIHRoZSB2YWx1ZSBpcyBub3QgInllcyIsIHRoZSBjb250ZW50cyBvZgogIyB0aGUgbmFtZWQgZGlyZWN0b3J5IGFyZSBjb3BpZWQgdG8gJCh0b29sZGlyKS9zeXMtaW5jbHVkZS4KIGlmIHRlc3QgeCIke3dpdGhfaGVhZGVyc30iICE9IHggJiYgdGVzdCB4IiR7d2l0aF9oZWFkZXJzfSIgIT0geG5vIDsgdGhlbgpAQCAtMjQ4MSw2ICsyNDg2LDcgQEAKICMgb3VyIGJ1aWxkIGNvbXBpbGVyIGlmIGRlc2lyZWQuCiBpZiB0ZXN0IHgiJHtidWlsZH0iID0geCIke2hvc3R9IiA7IHRoZW4KICAgQ0ZMQUdTX0ZPUl9CVUlMRD0ke0NGTEFHU19GT1JfQlVJTEQtJHtDRkxBR1N9fQorICBDUFBGTEFHU19GT1JfQlVJTEQ9JHtDUFBGTEFHU19GT1JfQlVJTEQtJHtDUFBGTEFHU319CiAgIENYWEZMQUdTX0ZPUl9CVUlMRD0ke0NYWEZMQUdTX0ZPUl9CVUlMRC0ke0NYWEZMQUdTfX0KICAgTERGTEFHU19GT1JfQlVJTEQ9JHtMREZMQUdTX0ZPUl9CVUlMRC0ke0xERkxBR1N9fQogZmkKQEAgLTI1NDYsNiArMjU1Miw3IEBACiBBQ19TVUJTVChBU19GT1JfQlVJTEQpCiBBQ19TVUJTVChDQ19GT1JfQlVJTEQpCiBBQ19TVUJTVChDRkxBR1NfRk9SX0JVSUxEKQorQUNfU1VCU1QoQ1BQRkxBR1NfRk9SX0JVSUxEKQogQUNfU1VCU1QoQ1hYRkxBR1NfRk9SX0JVSUxEKQogQUNfU1VCU1QoQ1hYX0ZPUl9CVUlMRCkKIEFDX1NVQlNUKERMTFRPT0xfRk9SX0JVSUxEKQpkaWZmIC0tZ2l0IGEvZ2FzL0NoYW5nZUxvZyBiL2dhcy9DaGFuZ2VMb2cKaW5kZXggZGEyNGFjNi4uYjU4ZWFkYyAxMDA2NDQKLS0tIGEvZ2FzL0NoYW5nZUxvZworKysgYi9nYXMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgyIEBACisyMDA4LTEwLTMxICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJKiBwby9pZC5wbzogVXBkYXRlLgorCisyMDA4LTEwLTI0ICBNYWNpZWogVy4gUm96eWNraSAgPG1hY3JvQGxpbnV4LW1pcHMub3JnPgorCisJKiBjb25maWcvdGMtbWlwcy5jIChtaXBzX2NwdV9pbmZvX3RhYmxlKTogTW92ZSB0aGUgTUlQUzY0cjIKKwljb21tZW50IHNvIHRoYXQgQnJvYWRjb20gU0ItMSBjb3JlcyBhcmUgaW4gdGhlIE1JUFM2NCBzZWN0aW9uLgorCisyMDA4LTEwLTIxICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJKiBjb25maWcvdGMtYmZpbi5jIChnZW5jb2RlLCBhbGxvY2F0ZSk6IFJlbW92ZSB1bm5lY2Vzc2FyeSBjYXN0LgorCSogY29uZmlnL3RjLW5zMzJrLmMgKGJpdF9maXhfbmV3KTogTGlrZXdpc2UuCisJKiBjb25maWcvdGMtbTY4ay5jIChtZF9iZWdpbik6IExpa2V3aXNlLgorCSogaGFzaC5jIChoYXNoX2luc2VydCwgaGFzaF9qYW0pOiBMaWtld2lzZS4KKwkqIHN5bWJvbHMuYyAoc3ltYm9sX2NyZWF0ZSwgbG9jYWxfc3ltYm9sX21ha2UpOiBMaWtld2lzZS4KKwkqIGZyYWdzLmMgKGZyYWdfYWxsb2MpOiBMaWtld2lzZS4KKworMjAwOC0xMC0yMCAgSmF5IEtyZWxsICA8amF5LmtyZWxsQGNvcm5lbGwuZWR1PgorCisJKiBjb25maWcvYmZpbi1wYXJzZS55OiBVc2UgQyBzdHlsZSBjb21tZW50cy4KKwkqIGNvbmZpZy90Yy1iZmluLmM6IExpa2V3aXNlLgorCSogY29uZmlnL3RjLW02OGsuYzogTGlrZXdpc2UuCisJKiBjb25maWcvdGMtbWlwcy5jOiBMaWtld2lzZS4KKworMjAwOC0xMC0xMiAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgorCisJKiBjb25maWcvdGMtaTM4Ni5jIChwcm9jZXNzb3JfdHlwZSk6IE1vdmVkIHRvIHRjLWkzODYuaC4KKwkoY3B1X2FyY2hfdHVuZSk6IE1ha2UgaXQgZ2xvYmFsLgorCShjcHVfYXJjaF9pc2EpOiBMaWtld2lzZS4KKwkoY3B1X2FyY2hfaXNhX2ZsYWdzKTogTGlrZXdpc2UuCisJKGkzODZfYWxpZ25fY29kZSk6IENoZWNrIGZyYWdQLT50Y19mcmFnX2RhdGEuaXNhLAorCWZyYWdQLT50Y19mcmFnX2RhdGEuaXNhX2ZsYWdzIGFuZCBjcHVfYXJjaF90dW5lIGluc3RlYWQgb2YKKwljcHVfYXJjaF9pc2EsIGNwdV9hcmNoX2lzYV9mbGFncyBhbmQgY3B1X2FyY2hfdHVuZSwKKwlyZXNwZWN0aXZlbHkuCisKKwkqIGNvbmZpZy90Yy1pMzg2LmggKHByb2Nlc3Nvcl90eXBlKTogTW92ZWQgZnJvbSB0Yy1pMzg2LmMuCisJKGNwdV9hcmNoX3R1bmUpOiBOZXcuCisJKGNwdV9hcmNoX2lzYSk6IExpa2V3aXNlLgorCShjcHVfYXJjaF9pc2FfZmxhZ3MpOiBMaWtld2lzZS4KKwkoaTM4Nl90Y19mcmFnX2RhdGEpOiBMaWtld2lzZS4KKwkoVENfRlJBR19UWVBFKTogTGlrZXdpc2UuCisJKFRDX0ZSQUdfSU5JVCk6IExpa2V3aXNlLgorCisyMDA4LTEwLTA5ICBCb2IgV2lsc29uICA8Ym9iLndpbHNvbkBhY20ub3JnPgorCisJKiBkb2MvYXMudGV4aW5mbyAoUHNldWRvIE9wcyk6IFN3YXAgb3JkZXIgb2YgQ29tbSBhbmQgQ0ZJIG1lbnUgZW50cmllcy4KKwkoQWx0bWFjcm8sIENvbW0sIExvYywgTG9jX21hcmtfbGFiZWxzLCBMaXN0LCBNUkksIFBvcFNlY3Rpb24sIFNsZWIxMjgpOgorCU1vdmVkIGludG8gYWxwaGFiZXRpY2FsIG9yZGVyLgorCisyMDA4LTEwLTA5ICBCb2IgV2lsc29uICA8Ym9iLndpbHNvbkBhY20ub3JnPgorCisJKiBkb2MvYXMudGV4aW5mbyAoRG90KTogRXhwYW5kIG5vLXNwYWNlLWRpciBjb25kaXRpb25hbCB0byBpbmNsdWRlCisJYSBjb21wbGV0ZSBzZW50ZW5jZS4KKwkoUHNldWRvIE9wcyk6IFB1dCBjb25kaXRpb25hbHMgYXJvdW5kIFNraXAgYW5kIFNwYWNlIG1lbnUgZW50cmllcy4KKwkoTGluZSk6IFJlbW92ZSBjb25kaXRpb25hbCBkZWNsYXJhdGlvbiBvZiBMbiBub2RlIGFuZCBzZWN0aW9uIGhlcmUuCisJUHV0IGFvdXQtYm91dCBkZXNjcmlwdGlvbiBpbnNpZGUgdGhlIG5vLWxpbmUtZGlyIGNvbmRpdGlvbmFsLgorCShTa2lwLCBTcGFjZSk6IFVzZSBhIHNlcGFyYXRlIGNvbmRpdGlvbmFsIGZvciBlYWNoIG5vZGUuCisKKzIwMDgtMTAtMDkgIEJvYiBXaWxzb24gIDxib2Iud2lsc29uQGFjbS5vcmc+CisKKwkqIGRvYy9hcy50ZXhpbmZvIChQc2V1ZG8gT3BzKTogUmVtb3ZlIG5vLWZpbGUtZGlyIGNvbmRpdGlvbmFsIGFyb3VuZAorCW1lbnUgZW50cnkgZm9yIEZpbGU7IHJlbW92ZSB2ZXJzaW9uLXNwZWNpZmljIC5maWxlIG9wZXJhbmRzIGZyb20gbWVudQorCWRlc2NyaXB0aW9uLiAgUmVwbGFjZSAiTE5TIGRpcmVjdGl2ZXMiIG1lbnUgZW50cnkgd2l0aCBuZXcgZW50cmllcworCWZvciAiTG9jIiBhbmQgIkxvY19tYXJrX2xhYmVscyIuCisJKExOUyBkaXJlY3RpdmVzKTogU3BsaXQgaW50byBzZXBhcmF0ZSBub2RlcyBmb3IgZWFjaCBkaXJlY3RpdmUuCisJKExvYyk6IE5ldyBub2RlIGZvciAubG9jIGRpcmVjdGl2ZS4gIE1lbnRpb24gdGhhdCB0aGlzIGRpcmVjdGl2ZQorCWlzIGZvciBEV0FSRjIgYW5kIGFkZCBhIG1pc3NpbmcgYXJ0aWNsZS4KKwkoTG9jX21hcmtfbGFiZWxzKTogTGlrZXdpc2UgZm9yIC5sb2NfbWFya19sYWJlbHMuCisJKEZpbGUpOiBDaGFuZ2UgdGhpcyBub2RlIHRvIGRlc2NyaWJlIGJvdGggdGhlIGRlZmF1bHQgdmVyc2lvbiBhbmQKKwl0aGUgRFdBUkYyIHZlcnNpb24gb2YgLmZpbGUuICBNb3ZlIHRoZSBuby1maWxlLWRpciBjb25kaXRpb25hbCB0bworCWluY2x1ZGUgb25seSB0aGUgZGVmYXVsdCB2ZXJzaW9uLgorCisyMDA4LTEwLTA5ICBFcmljIEJvdGNhem91ICA8ZWJvdGNhem91QGFkYWNvcmUuY29tPgorCisJKiBkdzJnZW5jZmkuYyAoY2ZpX2ZpbmlzaCk6IERlYWwgd2l0aCBtZF9maXhfdXBfZWhfZnJhbWUuCisJKiBjb25maWcvdGMtaTM4Ni5oIChtZF9maXhfdXBfZWhfZnJhbWUpOiBEZWZpbmUgb24gU29sYXJpcy4KKwkoaTM4Nl9zb2xhcmlzX2ZpeF91cF9laF9mcmFtZSk6IERlY2xhcmUuCisJKiBjb25maWcvdGMtaTM4Ni5jIChpMzg2X3NvbGFyaXNfZml4X3VwX2VoX2ZyYW1lKTogTmV3IGZ1bmN0aW9uLgorCisyMDA4LTEwLTA5ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgorCisJUFIgNjk0NAorCSogZG9jL2FzLnRleGluZm8gKERvbGxhciBMb2NhbCBMYWJlbHMpOiBDb3JyZWN0IGRlc2NyaXB0aW9uIG9mCisJZG9sbGFyIGxvY2FsIGxhYmVscyB0byBzaG93IHRoYXQgdGhlIGNvbG9uIHN1ZmZpeCBpcyBzdGlsbAorCW5lZWRlZC4KKworMjAwOC0xMC0wOCAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KKworCSogY29uZmlndXJlLmluIChBTExfTElOR1VBUyk6IEFkZCAiaWQiLgorCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgorCSogcG8vaWQucG86IE5ldyBJbmRvbmVzaWFuIHRyYW5zbGF0aW9uLgorCisyMDA4LTEwLTA3ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CisKKwkqIHJlYWQuYyAocHNldWRvX3NldCk6IERvbid0IGFsbG93IGdsb2JhbCByZWdpc3RlciBzeW1ib2wgb25seQorCWlmIFRDX0dMT0JBTF9SRUdJU1RFUl9TWU1CT0xfT0sgaXMgdW5kZWZpbmVkLgorCSogc3ltYm9scy5jIChTX1NFVF9FWFRFUk5BTCk6IExpa2V3aXNlLgorCisJKiBjb25maWcvdGMtbW1peC5oIChUQ19HTE9CQUxfUkVHSVNURVJfU1lNQk9MX09LKTogRGVmaW5lZC4KKworCSogZG9jL2ludGVybmFscy50ZXhpOiBEb2N1bWVudCBUQ19HTE9CQUxfUkVHSVNURVJfU1lNQk9MX09LLgorCisyMDA4LTEwLTA2ICBCb2IgV2lsc29uICA8Ym9iLndpbHNvbkBhY20ub3JnPgorCisJKiBkb2MvYXMudGV4aW5mbyAoTG9jYWwpOiBOZXcgZGVzY3JpcHRpb24gb2YgRUxGIC5sb2NhbCBkaXJlY3RpdmUuCisKKzIwMDgtMTAtMDYgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CisKKwlQUiA2OTI2CisJKiByZWFkLmMgKGdldF9saW5lX3NiKTogUmVuYW1lZCB0byBnZXRfbm9uX21hY3JvX2xpbmVfc2IuCisJKF9maW5kX2VuZF9vZl9saW5lKTogQWRkIGV4dHJhIHBhcmFtZXRlciBpbmRpY2F0aW5nIGlmIHRoZSBsaW5lIGlzCisJaW5zaWRlIGEgbWFjcm8uICBJZiBpdCBpcyB0aGVuIGRvIG5vdCBhbGxvdyB0aGUgQCBjaGFyYWN0ZXIgdG8gYmUKKwl0cmVhdGVkIGFzIGEgbGluZSBzZXBhcmF0b3IgY2hhcmFjdGVyLgorCShyZWFkX2Ffc291cmNlKTogVXBkYXRlIHVzZSBvZiBfZmluZF9lbmRfb2ZfbGluZS4KKwkoZmluZF9lbmRfb2ZfbGluZSk6IExpa2V3aXNlLgorCShzX2lycCk6IFVwZGF0ZSB1c2Ugb2YgZ2V0X2xpbmVfc2IuCisJKHNfbWFjcm8pOiBMaWtld2lzZS4KKwkoZG9fcmVwZWF0KTogTGlrZXdpc2UuCisJKGdldF9saW5lX3NiKTogTmV3IGZ1bmN0aW9uLiAgTGlrZSB0aGUgb2xkIHZlcnNpb24gb2YgZ2V0X2xpbmVfc2IKKwlleGNlcHQgdGhhdCBpdCB0YWtlcyBhbiBleHRyYSBwYXJhbWV0ZXIgaW5kaWNhdGluZyB3aGV0aGVyIHRoZQorCWxpbmUgaXMgaW5zaWRlIGEgbWFjcm8uCisJKGdldF9tYWNyb19saW5lX3NiKTogTmV3IGZ1bmN0aW9uLgorCisyMDA4LTEwLTA0ICBIYW5zLVBldGVyIE5pbHNzb24gIDxocEBheGlzLmNvbT4KKworCSogY29uZmlnL3RjLWNyaXMuYzogVXBkYXRlIGFsbCBjb21tZW50cyByZWdhcmRpbmcgZXhwbGljaXQgcmVsb2NhdGlvbnMKKwl0bywgYmVzaWRlcyBQSUMsIGFsc28gaW1wbHkgVExTIG9yIHRvIHNheSAicmVsb2NhdGlvbiBzcGVjaWZpZXIiIG9yCisJc2ltaWxhci4KKwkoUkVMT0NfU1VGRklYX0NIQVIpOiBSZW5hbWUgZnJvbSBQSUNfU1VGRklYX0NIQVIuICBDaGFuZ2UgYWxsIGNhbGxlcnMuCisJKGNyaXNfZ2V0X3JlbG9jX3N1ZmZpeCk6IFJlbmFtZSBmcm9tIGNyaXNfZ2V0X3BpY19zdWZmaXguICBDaGFuZ2UgYWxsCisJY2FsbGVycy4gIEFsc28gaGFuZGxlIFRMUyByZWxvY3MuCisJKGNyaXNfZ2V0X3NwZWNpZmllZF9yZWxvY19zaXplKTogUmVuYW1lIGZyb20gY3Jpc19nZXRfcGljX3JlbG9jX3NpemUuCisJQ2hhbmdlIGFsbCBjYWxsZXJzLiAgQWxzbyBoYW5kbGUgVExTIHJlbG9jcy4KKwkodGxzKTogTmV3IGNvbnN0YW50LgorCShjcmlzX3Byb2Nlc3NfaW5zdHJ1Y3Rpb24pOiBDaGVjayBmb3Igbm9uLVBJQyBUTFMgcmVsb2NhdGlvbnMgYW5kCisJYWRqdXN0IG1lc3NhZ2Ugd2hlbiBlbWl0dGluZyBlcnJvciBtZXNzYWdlIGFib3V0IHJlbG9jYXRpb24gbm90CisJZml0dGluZy4KKwkoZ2V0X2F1dG9pbmNfcHJlZml4X29yX2luZGlyX29wKTogQWxzbyBjaGVjayBmb3IgcmVsb2NhdGlvbiBzdWZmaXgKKwl3aGVuIHRscyBpcyB0cnVlLgorCShnZXRfM29wX29yX2RpcF9wcmVmaXhfb3ApOiBEaXR0by4KKwkoY3Jpc19udW1iZXJfdG9faW1tLCB0Y19nZW5fcmVsb2MpOiBIYW5kbGUgVExTIHJlbG9jcyBsaWtlIFBJQyByZWxvY3MuCisKKzIwMDgtMTAtMDMgIEthenUgSGlyYXRhICA8a2F6dUBjb2Rlc291cmNlcnkuY29tPgorCisJKiBsaXN0aW5nLmMgKGJ1ZmZlcl9saW5lKTogT3BlbiB0aGUgc291cmNlIGZpbGUgd2l0aCBGT1BFTl9SQi4KKwlNYW51YWxseSBwcm9jZXNzIGxpbmUgZW5kcy4KKworMjAwOC0wOS0zMCAgV2VzbGV5IFcuIFRlcnBzdHJhICA8d2VzbGV5QHRlcnBzdHJhLmNhPgorCSAgICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgorCisJKiBjb25maWcvdGMtdGljNHguYyAodGljNHhfZ2xvYmwpOiBDYWxsIFNfU0VUX0VYVEVSTkFMIGFzIHdlbGwgYXMKKwlTX1NFVF9TVE9SQUdFX0NMQVNTLgorCisyMDA4LTA5LTMwICBXZXNsZXkgVy4gVGVycHN0cmEgIDx3ZXNsZXlAdGVycHN0cmEuY2E+CisJICAgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CisKKwkqIGNvZmZnZW4uYyAoY29mZl93cml0ZV9zeW1ib2xzKTogQ2hlY2sgdG8gc2VlIGlmIGEgc3ltYm9sJ3MgZmxhZ3MKKwlkbyBub3QgbWF0Y2ggaXQgY2xhc3MgYW5kIGlmIG5lY2Vzc2FyeSB1cGRhdGUgdGhlIGNsYXNzLgorCShudWxsX2Vycm9yX2hhbmRsZXIpOiBOZXcgZnVuY3Rpb24uICBTdXBwcmVzc2VzIHRoZSBnZW5lcmF0aW9uIG9mCisJYmZkIGVycm9yIG1lc3NhZ2VzLgorCSogY29mZjY0LXJzNjAwMC5jIChiZmRfeGNvZmZfYmFja2VuZF9kYXRhKTogVXBkYXRlIGNvbW1lbnQuCisKKzIwMDgtMDktMzAgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CisKKwkqIE1ha2VmaWxlLmFtOiBSdW4gIm1ha2UgZGVwLWFtIi4KKwkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgorCisyMDA4LTA5LTI5ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgorCisJKiBkdzJnZW5jZmkuYyAob3V0cHV0X2NmaV9pbnNuKTogRml4IHR5cG8gaW4gaW52b2NhdGlvbiBvZgorCXRjX2NmaV9lbWl0X3BjcmVsX2V4cHIgbWFjcm8uCisKKzIwMDgtMDktMjkgIFBldGVyIE8nR29ybWFuICA8cG9nbWFAdGhld3JpdHRlbndvcmQuY29tPgorCSAgICBTdGV2ZSBFbGxjZXkgIDxzamVAY3VwLmhwLmNvbT4KKworCSogY29uZmlndXJlOiBSZWdlbmVyYXRlIGZvciBuZXcgbGlidG9vbC4KKwkqIGFjbG9jYWwubTQ6IERpdHRvLgorCSogTWFrZWZpbGUuaW46IERpdHRvLgorCSogZG9jL01ha2VmaWxlLmluOiBEaXR0by4KKworMjAwOC0wOS0yOSAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KKworCVBSIDY4NzgKKwkqIGFwcC5jIChkb19zY3J1Yl9jaGFycyk6IE9ubHkgaXNzdWUgd2FybmluZ3MgYWJvdXQgdGljaworCWNoYXJhY3RlcnMgZGV0ZWN0ZWQgaW4gc3ltYm9sIHN0cmluZ3MgaWYgaGV4IHRpY2tzIGFyZSBzdXBwb3J0ZWQuCisKKzIwMDgtMDktMjkgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CisKKwkqIGR3MmdlbmNmaS5jIChvdXRwdXRfY2ZpX2luc24pOiBGaXggdHlwbyBpbiBpbnZvY2F0aW9uIG9mCisJdGNfY2ZpX2VtaXRfcGNyZWxfZXhwciBtYWNyby4KKworMjAwOC0wOS0yOCAgRGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KKworCSogTkVXUzogTWVudGlvbiAuY2ZpX3ZhbF9lbmNvZGVkX2FkZHIuCisKKzIwMDgtMDktMjYgIEVyaWMgQm90Y2F6b3UgIDxlYm90Y2F6b3VAYWRhY29yZS5jb20+CisKKwkqIE1ha2VmaWxlLmFtIChUQVJHX0VOVl9IRklMRVMpOiBBZGQgY29uZmlnL3RlLXNvbGFyaXMuaC4KKwkqIE1ha2VmaWxlLmluIChUQVJHX0VOVl9IRklMRVMpOiBMaWtld2lzZS4KKwkqIGNvbmZpZ3VyZS50Z3QgKFNvbGFyaXMgdGFyZ2V0cyk6IFNldCBlbT1zb2xhcmlzLgorCSogY29uZmlnL3RlLXNvbGFyaXMuaDogTmV3IGZpbGUuCisKKzIwMDgtMDktMjYgIEppZSBaaGFuZyAgPGppZS56aGFuZ0BhbmFsb2cuY29tPgorCisJKiBjb25maWcvYmZpbi1wYXJzZS55IChhc21fMSk6IEZpeCByZWR1Y2UvcmVkdWNlIGNvbmZsaWN0cy4KKworMjAwOC0wOS0yNCAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KKworCSogZHcyZ2VuY2ZpLmMgKERXQVJGMl9BRERSX1NJWkUpOiBQcm92aWRlIGRlZmF1bHQuCisJKHN0cnVjdCBjZmlfaW5zbl9kYXRhKTogQWRkIGVhIG1lbWJlci4KKwkoQ0ZJX3ZhbF9lbmNvZGVkX2FkZHIsIGRvdF9jZmlfdmFsX2VuY29kZWRfYWRkcik6IE5ldy4KKwkob3V0cHV0X2NmaV9pbnNuKTogSGFuZGxlIENGSV92YWxfZW5jb2RlZF9hZGRyLgorCShzZWxlY3RfY2llX2Zvcl9mZGUpOiBEb24ndCBtYXRjaCBDRklfdmFsX2VuY29kZWRfYWRkci4KKwkqIGRvYy9hcy50ZXhpbmZvICguY2ZpX3ZhbF9lbmNvZGVkX2FkZHIpOiBEb2N1bWVudC4KKworMjAwOC0wOS0yNSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KKworCVBSIDY5MTMKKwkqIGxpc3RpbmcuYyAocHJpbnRfb3B0aW9ucyk6IERvbid0IGNhbGwgZnByaW50ZiB3aXRob3V0IGZvcm1hdCBzdHJpbmcuCisKKzIwMDgtMDktMTkgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CisKKwkqIHdyaXRlLmMgKFRDX0ZPUkNFX1JFTE9DQVRJT05fU1VCX0xPQ0FMKTogSGVlZCBtZF9yZWdpc3Rlcl9hcml0aG1ldGljLgorCShUQ19WQUxJREFURV9GSVhfU1VCKTogTGlrZXdpc2UuCisJKiBjb25maWcvdGMtZnJ2LmggKFRDX0ZPUkNFX1JFTE9DQVRJT05fU1VCX0xPQ0FMKTogTGlrZXdpc2UuCisJKiBjb25maWcvdGMtaHBwYS5oIChUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9MT0NBTCk6IExpa2V3aXNlLgorCSogY29uZmlnL3RjLW1uMTAzMDAuaCAoVENfVkFMSURBVEVfRklYX1NVQik6IExpa2V3aXNlLgorCSogY29uZmlnL3RjLXNoLmggKFRDX1ZBTElEQVRFX0ZJWF9TVUIpOiBMaWtld2lzZS4KKwkoVENfRk9SQ0VfUkVMT0NBVElPTl9TVUJfTE9DQUwpOiBMaWtld2lzZS4KKwkqIGNvbmZpZy90Yy1zaDY0LmggKFRDX1ZBTElEQVRFX0ZJWF9TVUIpOiBMaWtld2lzZS4KKwkqIGNvbmZpZy90Yy14dGVuc2EuaCAoVENfVkFMSURBVEVfRklYX1NVQik6IExpa2V3aXNlLgorCSogZG9jL2ludGVybmFscy50ZXhpIChUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9BQlMsCisJVENfRk9SQ0VfUkVMT0NBVElPTl9TVUJfTE9DQUwsIFRDX1ZBTElEQVRFX0ZJWF9TVUIpOiBTaG93IG5ldyBwYXJhbS4KKworCSogd3JpdGUuYyAobWRfcmVnaXN0ZXJfYXJpdGhtZXRpYyk6IERlZmluZS4KKwkoZml4dXBfc2VnbWVudCk6IEFkanVzdCBUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9BQlMgaW52b2NhdGlvbi4KKwlNb2RpZnkgZXJyb3IgbWVzc2FnZSB3aGVuIHJlZ2lzdGVycyBpbnZvbHZlZC4KKwkoVENfRk9SQ0VfUkVMT0NBVElPTl9TVUJfQUJTKTogSGVlZCBtZF9yZWdpc3Rlcl9hcml0aG1ldGljLgorCSogY29uZmlnL3RjLXNoLmggKFRDX0ZPUkNFX1JFTE9DQVRJT05fU1VCX0FCUyk6IExpa2V3aXNlLgorCisyMDA4LTA5LTE1ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJKiB3cml0ZS5jIChpbnN0YWxsX3JlbG9jKTogQ29ycmVjdCBFTUlUX1NFQ1RJT05fU1lNQk9MUyB0ZXN0LgorCisyMDA4LTA5LTE1ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJKiBjb25maWcvdGMtZnJ2LmMgKG1kX2FwcGx5X2ZpeCk6IFVzZSBhYnNfc2VjdGlvbl9zeW0gZm9yCisJcmVsb2NzIHdpdGggbm8gc3ltYm9sLgorCSogY29uZmlnL3RjLW1taXguYyAobWRfYXNzZW1ibGUpOiBNYXJrIGZha2Ugc3ltYm9sIG9uCisJQkZEX1JFTE9DX01NSVhfQkFTRV9QTFVTX09GRlNFVCBhcyBPSyBmb3IgdXNlIGJ5IHJlbG9jcy4KKwkobW1peF9tZF9lbmQpOiBMaWtld2lzZSBtYXJrIG1taXggcmVnIGNvbnRlbnRzIHNlY3Rpb24gc3ltYm9sLgorCisyMDA4LTA5LTE0ICBDaHJpcyBTbWl0aCA8Y2hyaXNAenhkZXNpZ24uaW5mbz4KKworCSogY29uZmlnL3RjLXo4MC5jOiBPcGNvZGUgZ2VuZXJhdGlvbiBvZiBsZCBhLChiYykgYW5kIGxkIGEsKGRlKSB3YXMKKwlicm9rZW4sIGFzIHRoZSBvcGNvZGUgb2YgbGQgYSwoZGUpIHdhcyBiZWluZyBlbWl0dGVkIGZvciBib3RoLgorCisyMDA4LTA5LTEyICBTdGVybGluZyBBdWd1c3RpbmUgIDxzdGVybGluZ0B0ZW5zaWxpY2EuY29tPgorCisJKiBjb25maWcvdGMteHRlbnNhLmMgKGluaXRfb3BfcGxhY2VtZW50X2luZm9fdGFibGUpOiBBbGxvdyBudW1iZXIgb2YKKwlvcGVyYW5kcyBlcXVhbCB0byBNQVhfSU5TTl9BUkdTLgorCisyMDA4LTA5LTExICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogQ2FsbCBBQ19TWVNfTEFSR0VGSUxFLgorCSogY29uZmlnLmluOiBSZWdlbmVyYXRlLgorCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgorCisyMDA4LTA5LTA5ICBQZXRlciBCZXJnbmVyICA8YmVyZ25lckB2bmV0LmlibS5jb20+CisKKwkqIGNvbmZpZy90Yy1wcGMuYyAocHBjX3NldHVwX29wY29kZXMpOiBTaW1wbGlmeSBQT1dFUjQvTk9QT1dFUjQgdGVzdC4KKwlSZW1vdmUgUE9XRVI1IGFuZCBQT1dFUjYgdGVzdHMuCisKKzIwMDgtMDktMDggIEpvaG4gRGF2aWQgQW5nbGluICA8ZGF2ZS5hbmdsaW5AbnJjLWNucmMuZ2MuY2E+CisKKwkqIGNvbmZpZy90Yy1ocHBhLmMgKGhwcGFfcmVnbmFtZV90b19kdzJyZWdudW0pOiBBZGQgcmVnaXN0ZXIgbmFtZSB0bworCW51bWJlciBzdXBwb3J0IGZvciAzMi1iaXQgdGFyZ2V0cy4KKwogMjAwOC0wOS0wOCAgVHJpc3RhbiBHaW5nb2xkICA8Z2luZ29sZEBhZGFjb3JlLmNvbT4KIAogCSogTkVXUzogQWRkIGEgbWFya2VyIGZvciB0aGUgMi4xOSBmZWF0dXJlcy4KZGlmZiAtLWdpdCBhL2dhcy9NYWtlZmlsZS5hbSBiL2dhcy9NYWtlZmlsZS5hbQppbmRleCBhOGI2MWNmLi4zOGZlMjU1IDEwMDY0NAotLS0gYS9nYXMvTWFrZWZpbGUuYW0KKysrIGIvZ2FzL01ha2VmaWxlLmFtCkBAIC00MDYsNiArNDA2LDcgQEAKIAljb25maWcvdGUtcGUuaCBcCiAJY29uZmlnL3RlLXBzb3MuaCBcCiAJY29uZmlnL3RlLXJpc2NpeC5oIFwKKwljb25maWcvdGUtc29sYXJpcy5oIFwKIAljb25maWcvdGUtc3BhcmNhb3V0LmggXAogCWNvbmZpZy90ZS1zdW4zLmggXAogCWNvbmZpZy90ZS1zdnI0LmggXApAQCAtMTAzMiw5ICsxMDMzLDkgQEAKIEFNS0RFUCA9ICNETyBOT1QgUFVUIEFOWVRISU5HIEJFVFdFRU4gVEhJUyBMSU5FIEFORCBUSEUgTUFUQ0hJTkcgV0FSTklORyBCRUxPVy4KIERFUFRDX2FscGhhX2Vjb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLWFscGhhLmggXAogICBlY29mZi5oICQoSU5DRElSKS9jb2ZmL3N5bS5oICQoSU5DRElSKS9jb2ZmL2Vjb2ZmLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBlY29mZi5oIFwKLSAgJChJTkNESVIpL29wY29kZS9hbHBoYS5oIGR3MmdlbmNmaS5oICQoSU5DRElSKS9lbGYvZHdhcmYyLmggXAotICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oICQoc3JjZGlyKS9jb25maWcvYXRvZi12YXguYworICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvb3Bjb2RlL2FscGhhLmggXAorICBkdzJnZW5jZmkuaCAkKElOQ0RJUikvZWxmL2R3YXJmMi5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAorICAkKHNyY2RpcikvY29uZmlnL2F0b2YtdmF4LmMKIERFUFRDX2FscGhhX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtYWxwaGEuaCBzdWJzZWdzLmggXApAQCAtMTA1MSwyMCArMTA1MiwyMCBAQAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtYXJjLmggZHdhcmYyZGJnLmggXAogICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKICAgJChJTkNESVIpL29wY29kZS9hcmMuaCAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9hcmMtZXh0LmggXAotICAkKElOQ0RJUikvZWxmL2FyYy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggZHdhcmYyZGJnLmgKKyAgJChJTkNESVIpL2VsZi9hcmMuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCiBERVBUQ19hcm1fYW91dCA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWFvdXQuaCAkKHNyY2RpcikvY29uZmlnL3RjLWFybS5oIFwKICAgJChCRkRESVIpL2xpYmFvdXQuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vcGNvZGUvYXJtLmggXAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb3Bjb2RlL2FybS5oIFwKICAgZHdhcmYyZGJnLmgKIERFUFRDX2FybV9jb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtYXJtLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL2FybS5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXAogICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29wY29kZS9hcm0uaCBcCisgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vcGNvZGUvYXJtLmggXAogICBkd2FyZjJkYmcuaAogREVQVENfYXJtX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtYXJtLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29wY29kZS9hcm0uaCBcCisgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vcGNvZGUvYXJtLmggXAogICAkKElOQ0RJUikvZWxmL2FybS5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggZHcyZ2VuY2ZpLmggXAogICAkKElOQ0RJUikvZWxmL2R3YXJmMi5oIGR3YXJmMmRiZy5oCiBERVBUQ19hdnJfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCkBAIC0xMDc2LDE1ICsxMDc3LDE0IEBACiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1iZmluLmggZHdhcmYyZGJnLmggXAogICBzdHJ1Yy1zeW1ib2wuaCAkKHNyY2RpcikvY29uZmlnL2JmaW4tZGVmcy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIGR3YXJmMmRiZy5oICQoQkZERElSKS9saWJiZmQuaCBcCi0gICQoSU5DRElSKS9oYXNodGFiLmggJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2JmaW4uaCBcCi0gICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChzcmNkaXIpL2NvbmZpZy9iZmluLWF1eC5oIFwKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCAkKEJGRERJUikvbGliYmZkLmggJChJTkNESVIpL2hhc2h0YWIuaCBcCisgICQoSU5DRElSKS9lbGYvYmZpbi5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChzcmNkaXIpL2NvbmZpZy9iZmluLWF1eC5oIFwKICAgJChzcmNkaXIpL2NvbmZpZy9iZmluLWRlZnMuaCAkKElOQ0RJUikvb3Bjb2RlL2JmaW4uaAogREVQVENfY3IxNl9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWNyMTYuaCBkd2FyZjJkYmcuaCBcCi0gICQoSU5DRElSKS9zYWZlLWN0eXBlLmggZHdhcmYyZGJnLmggJChJTkNESVIpL29wY29kZS9jcjE2LmggXAotICAkKElOQ0RJUikvZWxmL2NyMTYuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCisgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggJChJTkNESVIpL29wY29kZS9jcjE2LmggJChJTkNESVIpL2VsZi9jcjE2LmggXAorICAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCiBERVBUQ19jcmlzX2FvdXQgPSAkKHNyY2RpcikvY29uZmlnL29iai1hb3V0LmggJChzcmNkaXIpL2NvbmZpZy90Yy1jcmlzLmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCiAgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vcGNvZGUvY3Jpcy5oIFwKQEAgLTEwOTMsMTIgKzEwOTMsMTIgQEAKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWNyaXMuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2NyaXMuaCBkd2FyZjJkYmcuaAorICAkKElOQ0RJUikvb3Bjb2RlL2NyaXMuaAogREVQVENfY3J4X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtY3J4LmggZHdhcmYyZGJnLmggXAotICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9vcGNvZGUvY3J4LmggXAotICAkKElOQ0RJUikvZWxmL2NyeC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCAkKElOQ0RJUikvb3Bjb2RlL2NyeC5oICQoSU5DRElSKS9lbGYvY3J4LmggXAorICAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCiBERVBUQ19kMTB2X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtZDEwdi5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXApAQCAtMTExMSw3ICsxMTExLDcgQEAKIERFUFRDX2RseF9lbGYgPSAkKElOQ0RJUikvc2FmZS1jdHlwZS5oICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oIFwKICAgJChCRkRESVIpL2VsZi1iZmQuaCAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtZGx4LmggXAotICBkd2FyZjJkYmcuaCAkKHNyY2RpcikvY29uZmlnL3RjLWRseC5oICQoSU5DRElSKS9vcGNvZGUvZGx4LmgKKyAgZHdhcmYyZGJnLmggJChJTkNESVIpL29wY29kZS9kbHguaAogREVQVENfZnIzMF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWZyMzAuaCBkd2FyZjJkYmcuaCBcCkBAIC0xMTI1LDggKzExMjUsOCBAQAogICAkKElOQ0RJUikvb2JzdGFjay5oICQoc3JjZGlyKS8uLi9vcGNvZGVzL2Zydi1kZXNjLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChzcmNkaXIpLy4uL29wY29kZXMvZnJ2LW9wYy5oIFwKLSAgY2dlbi5oICQoQkZERElSKS9saWJiZmQuaCAkKElOQ0RJUikvaGFzaHRhYi5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggXAotICAkKElOQ0RJUikvZWxmL2Zydi5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKKyAgY2dlbi5oICQoQkZERElSKS9saWJiZmQuaCAkKElOQ0RJUikvaGFzaHRhYi5oICQoSU5DRElSKS9lbGYvZnJ2LmggXAorICAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCiBERVBUQ19oODMwMF9jb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtaDgzMDAuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvaDgzMDAuaCAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oIFwKICAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKQEAgLTExMzQsNyArMTEzNCw3IEBACiBERVBUQ19oODMwMF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWg4MzAwLmggZHdhcmYyZGJnLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvb3Bjb2RlL2g4MzAwLmggXAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb3Bjb2RlL2g4MzAwLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oICQoSU5DRElSKS9lbGYvaDguaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCiBERVBUQ19ocHBhX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXApAQCAtMTE2Niw4ICsxMTY2LDggQEAKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWkzODYuaCAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9pMzg2LW9wYy5oIFwKICAgJChJTkNESVIpL29wY29kZS9pMzg2LmggZHdhcmYyZGJnLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIGR3YXJmMmRiZy5oIGR3MmdlbmNmaS5oIFwKLSAgJChJTkNESVIpL2VsZi9kd2FyZjIuaCAkKElOQ0RJUikvZWxmL3g4Ni02NC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggXAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBkdzJnZW5jZmkuaCAkKElOQ0RJUikvZWxmL2R3YXJmMi5oIFwKKyAgJChJTkNESVIpL2VsZi94ODYtNjQuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKICAgJChzcmNkaXIpLy4uL29wY29kZXMvaTM4Ni1pbml0LmgKIERFUFRDX2k4NjBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCkBAIC0xMTg2LDE2ICsxMTg2LDE1IEBACiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1pYTY0LmggJChJTkNESVIpL29wY29kZS9pYTY0LmggXAogICAkKElOQ0RJUikvZWxmL2lhNjQuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBkd2FyZjJkYmcuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb3Bjb2RlL2lhNjQuaCBcCi0gICQoSU5DRElSKS9lbGYvaWE2NC5oCisgIGR3YXJmMmRiZy5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oCiBERVBUQ19pcDJrX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtaXAyay5oIGR3YXJmMmRiZy5oIFwKICAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChzcmNkaXIpLy4uL29wY29kZXMvaXAyay1kZXNjLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChzcmNkaXIpLy4uL29wY29kZXMvaXAyay1vcGMuaCBcCi0gIGNnZW4uaCAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvaXAyay5oIFwKLSAgJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCAkKEJGRERJUikvbGliYmZkLmggJChJTkNESVIpL2hhc2h0YWIuaAorICBjZ2VuLmggJChJTkNESVIpL2VsZi9pcDJrLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBcCisgICQoQkZERElSKS9saWJiZmQuaCAkKElOQ0RJUikvaGFzaHRhYi5oCiBERVBUQ19tMzJjX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtbTMyYy5oIGR3YXJmMmRiZy5oIFwKQEAgLTEyMDMsOSArMTIwMiw5IEBACiAgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9tMzJjLW9wYy5oIFwKICAgJChzcmNkaXIpLy4uL29wY29kZXMvY2dlbi10eXBlcy5oIC4uL2JmZC9iZmRfc3RkaW50LmggXAotICAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9jZ2VuLW9wcy5oIGNnZW4uaCAkKElOQ0RJUikvZWxmL2NvbW1vbi5oIFwKLSAgJChJTkNESVIpL2VsZi9tMzJjLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCAkKEJGRERJUikvbGliYmZkLmggXAotICAkKElOQ0RJUikvaGFzaHRhYi5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKKyAgJChzcmNkaXIpLy4uL29wY29kZXMvY2dlbi1vcHMuaCBjZ2VuLmggJChJTkNESVIpL2VsZi9tMzJjLmggXAorICAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oICQoQkZERElSKS9saWJiZmQuaCAkKElOQ0RJUikvaGFzaHRhYi5oIFwKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaAogREVQVENfbTMycl9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW0zMnIuaCBkd2FyZjJkYmcuaCBcCkBAIC0xMjE4LDMxICsxMjE3LDI3IEBACiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tNjhoYzExLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29wY29kZS9tNjhoYzExLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2VsZi9tNjhoYzExLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL202OGhjMTEuaCAkKElOQ0RJUikvZWxmL202OGhjMTEuaCBcCiAgICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKIERFUFRDX202OGtfYW91dCA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWFvdXQuaCAkKHNyY2RpcikvY29uZmlnL3RjLW02OGsuaCBcCiAgICQoQkZERElSKS9saWJhb3V0LmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBkd2FyZjJkYmcuaCBcCi0gIGR3MmdlbmNmaS5oICQoSU5DRElSKS9lbGYvZHdhcmYyLmggJChJTkNESVIpL29wY29kZS9tNjhrLmggXAotICAkKHNyY2RpcikvY29uZmlnL202OGstcGFyc2UuaAorICAkKElOQ0RJUikvb2JzdGFjay5oIHN1YnNlZ3MuaCBkd2FyZjJkYmcuaCBkdzJnZW5jZmkuaCBcCisgICQoSU5DRElSKS9lbGYvZHdhcmYyLmggJChJTkNESVIpL29wY29kZS9tNjhrLmggJChzcmNkaXIpL2NvbmZpZy9tNjhrLXBhcnNlLmgKIERFUFRDX202OGtfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLW02OGsuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvbTY4ay5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXAogICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggZHdhcmYyZGJnLmggXAotICBkdzJnZW5jZmkuaCAkKElOQ0RJUikvZWxmL2R3YXJmMi5oICQoSU5DRElSKS9vcGNvZGUvbTY4ay5oIFwKLSAgJChzcmNkaXIpL2NvbmZpZy9tNjhrLXBhcnNlLmgKKyAgJChJTkNESVIpL29ic3RhY2suaCBzdWJzZWdzLmggZHdhcmYyZGJnLmggZHcyZ2VuY2ZpLmggXAorICAkKElOQ0RJUikvZWxmL2R3YXJmMi5oICQoSU5DRElSKS9vcGNvZGUvbTY4ay5oICQoc3JjZGlyKS9jb25maWcvbTY4ay1wYXJzZS5oCiBERVBUQ19tNjhrX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtbTY4ay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIGR3YXJmMmRiZy5oIFwKLSAgZHcyZ2VuY2ZpLmggJChJTkNESVIpL2VsZi9kd2FyZjIuaCAkKElOQ0RJUikvb3Bjb2RlL202OGsuaCBcCi0gICQoc3JjZGlyKS9jb25maWcvbTY4ay1wYXJzZS5oICQoSU5DRElSKS9lbGYvbTY4ay5oIFwKLSAgJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaAorICAkKElOQ0RJUikvb2JzdGFjay5oIHN1YnNlZ3MuaCBkd2FyZjJkYmcuaCBkdzJnZW5jZmkuaCBcCisgICQoSU5DRElSKS9lbGYvZHdhcmYyLmggJChJTkNESVIpL29wY29kZS9tNjhrLmggJChzcmNkaXIpL2NvbmZpZy9tNjhrLXBhcnNlLmggXAorICAkKElOQ0RJUikvZWxmL202OGsuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCiBERVBUQ19tYXhxX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tYXhxLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL21heHEuaCAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oIFwKICAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBkd2FyZjJkYmcuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1heHEuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvbWF4cS5oCisgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9vcGNvZGUvbWF4cS5oCiBERVBUQ19tY29yZV9jb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtbWNvcmUuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvbWNvcmUuaCAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oIFwKICAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKQEAgLTEyNTUsMTAgKzEyNTAsMTAgQEAKIERFUFRDX21lcF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1lcC5oIGR3YXJmMmRiZy5oIFwKLSAgZHdhcmYyZGJnLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChzcmNkaXIpLy4uL29wY29kZXMvbWVwLWRlc2MuaCBcCisgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoc3JjZGlyKS8uLi9vcGNvZGVzL21lcC1kZXNjLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChzcmNkaXIpLy4uL29wY29kZXMvbWVwLW9wYy5oIFwKLSAgY2dlbi5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9tZXAuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKKyAgY2dlbi5oICQoSU5DRElSKS9lbGYvbWVwLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBcCiAgICQoQkZERElSKS9saWJiZmQuaCAkKElOQ0RJUikvaGFzaHRhYi5oICQoSU5DRElSKS94cmVnZXguaCBcCiAgICQoSU5DRElSKS94cmVnZXgyLmgKIERFUFRDX21pcHNfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1pcHMuaCBcCkBAIC0xMjc1LDIxICsxMjcwLDIwIEBACiAgICQoSU5DRElSKS9vcGNvZGUvbWlwcy5oIGl0Ymwtb3BzLmggZHdhcmYyZGJnLmggZHcyZ2VuY2ZpLmggXAogICAkKElOQ0RJUikvZWxmL2R3YXJmMi5oICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAotICAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9lbGYvbWlwcy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggXAotICBlY29mZi5oCisgICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL2VsZi9taXBzLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaAogREVQVENfbWlwc19lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1pcHMuaCBzdWJzZWdzLmggXAogICAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggJChJTkNESVIpL29wY29kZS9taXBzLmggXAogICBpdGJsLW9wcy5oIGR3YXJmMmRiZy5oIGR3MmdlbmNmaS5oICQoSU5DRElSKS9lbGYvZHdhcmYyLmggXAotICAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKElOQ0RJUikvZWxmL21pcHMuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKLSAgZWNvZmYuaCAkKElOQ0RJUikvY29mZi9zeW0uaCAkKElOQ0RJUikvY29mZi9lY29mZi5oCisgICQoSU5DRElSKS9lbGYvbWlwcy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggZWNvZmYuaCBcCisgICQoSU5DRElSKS9jb2ZmL3N5bS5oICQoSU5DRElSKS9jb2ZmL2Vjb2ZmLmgKIERFUFRDX21taXhfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tbWl4LmggZHdhcmYyZGJnLmggXAogICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvZWxmL21taXguaCBcCiAgICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChJTkNESVIpL29wY29kZS9tbWl4LmggXAotICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaAogREVQVENfbW4xMDIwMF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1uMTAyMDAuaCBkd2FyZjJkYmcuaCBcCkBAIC0xMjk5LDE5ICsxMjkzLDE5IEBACiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tbjEwMzAwLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29wY29kZS9tbjEwMzAwLmggZHdhcmYyZGJnLmgKKyAgJChJTkNESVIpL29wY29kZS9tbjEwMzAwLmgKIERFUFRDX21zcDQzMF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1zcDQzMC5oIGR3YXJmMmRiZy5oIFwKICAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29wY29kZS9tc3A0MzAuaCBcCi0gICQoSU5DRElSKS9zYWZlLWN0eXBlLmggZHdhcmYyZGJnLmgKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaAogREVQVENfbXRfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tdC5oIGR3YXJmMmRiZy5oIFwKLSAgZHdhcmYyZGJnLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChzcmNkaXIpLy4uL29wY29kZXMvbXQtZGVzYy5oIFwKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChzcmNkaXIpLy4uL29wY29kZXMvbXQtZGVzYy5oIFwKICAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKICAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoc3JjZGlyKS8uLi9vcGNvZGVzL210LW9wYy5oIFwKLSAgY2dlbi5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9tdC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggXAorICBjZ2VuLmggJChJTkNESVIpL2VsZi9tdC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggXAogICAkKEJGRERJUikvbGliYmZkLmggJChJTkNESVIpL2hhc2h0YWIuaAogREVQVENfbnMzMmtfYW91dCA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWFvdXQuaCAkKHNyY2RpcikvY29uZmlnL3RjLW5zMzJrLmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29wY29kZS9uczMyay5oIFwKQEAgLTEzNDQsMjkgKzEzMzgsMjcgQEAKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLXBqLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oICQoSU5DRElSKS9vcGNvZGUvcGouaAogREVQVENfcHBjX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy1wcGMuaCBcCi0gICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvcnM2MDAwLmggJChCRkRESVIpL2xpYmNvZmYuaCBcCi0gICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIGR3MmdlbmNmaS5oICQoSU5DRElSKS9lbGYvZHdhcmYyLmggXAotICAkKElOQ0RJUikvb3Bjb2RlL3BwYy5oCisgICQoSU5DRElSKS9vcGNvZGUvcHBjLmggJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi9yczYwMDAuaCBcCisgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggZHcyZ2VuY2ZpLmggJChJTkNESVIpL2VsZi9kd2FyZjIuaAogREVQVENfcHBjX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAotICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtcHBjLmggZHdhcmYyZGJnLmggXAotICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgZHcyZ2VuY2ZpLmggJChJTkNESVIpL2VsZi9kd2FyZjIuaCAkKElOQ0RJUikvb3Bjb2RlL3BwYy5oIFwKLSAgJChJTkNESVIpL2VsZi9wcGMuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIGR3YXJmMmRiZy5oCisgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1wcGMuaCAkKElOQ0RJUikvb3Bjb2RlL3BwYy5oIFwKKyAgZHdhcmYyZGJnLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCisgIGR3MmdlbmNmaS5oICQoSU5DRElSKS9lbGYvZHdhcmYyLmggJChJTkNESVIpL2VsZi9wcGMuaCBcCisgICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKIERFUFRDX3MzOTBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1zMzkwLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggZHcyZ2VuY2ZpLmggJChJTkNESVIpL2VsZi9kd2FyZjIuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvczM5MC5oICQoSU5DRElSKS9lbGYvczM5MC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKKyAgc3RydWMtc3ltYm9sLmggZHcyZ2VuY2ZpLmggJChJTkNESVIpL2VsZi9kd2FyZjIuaCAkKElOQ0RJUikvb3Bjb2RlL3MzOTAuaCBcCisgICQoSU5DRElSKS9lbGYvczM5MC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKIERFUFRDX3Njb3JlX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtc2NvcmUuaCBkd2FyZjJkYmcuaCBcCiAgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL3Njb3JlLWluc3QuaCAkKElOQ0RJUikvb3Bjb2RlL3Njb3JlLWRhdGFkZXAuaCBcCi0gIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9lbGYvc2NvcmUuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKLSAgZHdhcmYyZGJnLmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2VsZi9zY29yZS5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKIERFUFRDX3NoX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy1zaC5oIFwKICAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi9zaC5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXAogICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXApAQCAtMTM4NCw4ICsxMzc2LDggQEAKICAgJChJTkNESVIpL2VsZi9zaC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChCRkRESVIpL2VsZjMyLXNoNjQuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggJChzcmNkaXIpLy4uL29wY29kZXMvc2g2NC1vcGMuaCBcCiAgICQoc3JjZGlyKS9jb25maWcvdGMtc2guYyBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoc3JjZGlyKS8uLi9vcGNvZGVzL3NoLW9wYy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCBkdzJnZW5jZmkuaCAkKElOQ0RJUikvZWxmL2R3YXJmMi5oCisgICQoc3JjZGlyKS8uLi9vcGNvZGVzL3NoLW9wYy5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oIFwKKyAgZHcyZ2VuY2ZpLmggJChJTkNESVIpL2VsZi9kd2FyZjIuaAogREVQVENfc3BhcmNfYW91dCA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWFvdXQuaCAkKHNyY2RpcikvY29uZmlnL3RjLXNwYXJjLmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCiAgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vcGNvZGUvc3BhcmMuaCBcCkBAIC0xNDAwLDEzICsxMzkyLDEyIEBACiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1zcGFyYy5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvc3BhcmMuaCBkdzJnZW5jZmkuaCAkKElOQ0RJUikvZWxmL2R3YXJmMi5oIFwKLSAgJChJTkNESVIpL2VsZi9zcGFyYy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggXAotICBkd2FyZjJkYmcuaAorICAkKElOQ0RJUikvZWxmL3NwYXJjLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaAogREVQVENfc3B1X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtc3B1LmggJChJTkNESVIpL29wY29kZS9zcHUuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvc3B1LWluc25zLmggZHdhcmYyZGJnLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9vcGNvZGUvc3B1LWluc25zLmgKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKIERFUFRDX3RpYzMwX2FvdXQgPSAkKHNyY2RpcikvY29uZmlnL29iai1hb3V0LmggJChzcmNkaXIpL2NvbmZpZy90Yy10aWMzMC5oIFwKICAgJChCRkRESVIpL2xpYmFvdXQuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL3RpYzMwLmgKQEAgLTE0MTgsMzYgKzE0MDksMzUgQEAKICAgJChzcmNkaXIpL2NvbmZpZy90Yy10aWM0eC5oICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvY29mZi90aWM0eC5oICQoSU5DRElSKS9jb2ZmL3RpLmggJChCRkRESVIpL2xpYmNvZmYuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29wY29kZS90aWM0eC5oIHN1YnNlZ3MuaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29ic3RhY2suaAorICAkKElOQ0RJUikvb2JzdGFjay5oCiBERVBUQ190aWM1NHhfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLXRpYzU0eC5oIFwKICAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi90aWM1NHguaCAkKElOQ0RJUikvY29mZi90aS5oIFwKICAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAogICBzYi5oIG1hY3JvLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggXAotICAkKElOQ0RJUikvb3Bjb2RlL3RpYzU0eC5oICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaAorICAkKElOQ0RJUikvb3Bjb2RlL3RpYzU0eC5oCiBERVBUQ192ODUwX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtdjg1MC5oICQoSU5DRElSKS9lbGYvdjg1MC5oIFwKICAgJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29wY29kZS92ODUwLmggXAotICBkd2FyZjJkYmcuaAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb3Bjb2RlL3Y4NTAuaAogREVQVENfdmF4X2FvdXQgPSAkKHNyY2RpcikvY29uZmlnL29iai1hb3V0LmggJChzcmNkaXIpL2NvbmZpZy90Yy12YXguaCBcCiAgICQoQkZERElSKS9saWJhb3V0LmggJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3ZheC1pbnN0LmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAorICAkKElOQ0RJUikvb2JzdGFjay5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKICAgJChJTkNESVIpL29wY29kZS92YXguaAogREVQVENfdmF4X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtdmF4LmggZHdhcmYyZGJnLmggXAogICAkKHNyY2RpcikvY29uZmlnL3ZheC1pbnN0LmggJChJTkNESVIpL29ic3RhY2suaCBzdWJzZWdzLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggJChJTkNESVIpL2VsZi92YXguaCBcCi0gICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChJTkNESVIpL29wY29kZS92YXguaAorICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oICQoSU5DRElSKS9lbGYvdmF4LmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvdmF4LmgKIERFUFRDX3hjMTZ4X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMteGMxNnguaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAogICAkKHNyY2RpcikvLi4vb3Bjb2Rlcy94YzE2eC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKICAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgJChzcmNkaXIpLy4uL29wY29kZXMveGMxNngtb3BjLmggY2dlbi5oIGR3YXJmMmRiZy5oIFwKLSAgJChJTkNESVIpL2VsZi94YzE2eC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKKyAgJChzcmNkaXIpLy4uL29wY29kZXMveGMxNngtb3BjLmggY2dlbi5oICQoSU5DRElSKS9lbGYveGMxNnguaCBcCisgICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKIERFUFRDX3hzdG9ybXkxNl9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLXhzdG9ybXkxNi5oIFwKQEAgLTE0NTksOSArMTQ0OSw4IEBACiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy14dGVuc2EuaCAkKElOQ0RJUikveHRlbnNhLWlzYS5oIFwKICAgJChJTkNESVIpL3h0ZW5zYS1jb25maWcuaCBzYi5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICAkKHNyY2RpcikvY29uZmlnL3RjLXh0ZW5zYS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChzcmNkaXIpL2NvbmZpZy94dGVuc2EtcmVsYXguaCBkd2FyZjJkYmcuaCAkKHNyY2RpcikvY29uZmlnL3h0ZW5zYS1pc3RhY2suaCBcCi0gIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS94dGVuc2EtY29uZmlnLmgKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChzcmNkaXIpL2NvbmZpZy94dGVuc2EtcmVsYXguaCBcCisgIGR3YXJmMmRiZy5oICQoc3JjZGlyKS9jb25maWcveHRlbnNhLWlzdGFjay5oIHN0cnVjLXN5bWJvbC5oCiBERVBUQ196ODBfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLXo4MC5oIFwKICAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi96ODAuaCAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oIFwKICAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXApAQCAtMTQ4NSw4ICsxNDc0LDggQEAKIERFUE9CSl9hbHBoYV9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWFscGhhLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggXAotICBkd2FyZjJkYmcuaCBlY29mZi5oICQoSU5DRElSKS9jb2ZmL3N5bS5oICQoSU5DRElSKS9jb2ZmL2Vjb2ZmLmggXAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCBcCisgIGVjb2ZmLmggJChJTkNESVIpL2NvZmYvc3ltLmggJChJTkNESVIpL2NvZmYvZWNvZmYuaCBcCiAgICQoSU5DRElSKS9lbGYvYWxwaGEuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKICAgJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9hbHBoYV9ldmF4ID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZXZheC5oICQoc3JjZGlyKS9jb25maWcvdGMtYWxwaGEuaApAQCAtMTQ5NCwzNCArMTQ4MywzNCBAQAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtYXJjLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogREVQT0JKX2FybV9hb3V0ID0gJChzcmNkaXIpL2NvbmZpZy9vYmotYW91dC5oICQoc3JjZGlyKS9jb25maWcvdGMtYXJtLmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmggXAogICAkKElOQ0RJUikvb2JzdGFjay5oCiBERVBPQkpfYXJtX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy1hcm0uaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvYXJtLmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgc3Vic2Vncy5oCiBERVBPQkpfYXJtX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtYXJtLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggXAotICBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCBcCisgICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfYXZyX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtYXZyLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogREVQT0JKX2JmaW5fZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1iZmluLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogREVQT0JKX2NyMTZfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1jcjE2LmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogREVQT0JKX2NyaXNfYW91dCA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWFvdXQuaCAkKHNyY2RpcikvY29uZmlnL3RjLWNyaXMuaCBcCiAgICQoQkZERElSKS9saWJhb3V0LmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaCBcCiAgICQoSU5DRElSKS9vYnN0YWNrLmgKQEAgLTE1MjksNTkgKzE1MTgsNTkgQEAKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWNyaXMuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfY3J4X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtY3J4LmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogREVQT0JKX2QxMHZfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1kMTB2LmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggXAotICBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCBcCisgICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfZDMwdl9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWQzMHYuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBcCi0gIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oIFwKKyAgJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9kbHhfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1kbHguaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfZnIzMF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWZyMzAuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfZnJ2X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtZnJ2LmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggXAotICBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCBcCisgICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfaDgzMDBfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLWg4MzAwLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL2g4MzAwLmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgc3Vic2Vncy5oCiBERVBPQkpfaDgzMDBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1oODMwMC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9ocHBhX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtaHBwYS5oICQoQkZERElSKS9lbGYzMi1ocHBhLmggXAogICAkKEJGRERJUikvZWxmLWJmZC5oICQoQkZERElSKS9saWJocHBhLmggJChJTkNESVIpL2VsZi9ocHBhLmggXAogICAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIFwKLSAgZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggXAorICAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogREVQT0JKX2kzNzBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1pMzcwLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvZWxmL2kzNzAuaCBcCi0gICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2VsZi9pMzcwLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBcCisgICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfaTM4Nl9hb3V0ID0gJChzcmNkaXIpL2NvbmZpZy9vYmotYW91dC5oICQoc3JjZGlyKS9jb25maWcvdGMtaTM4Ni5oIFwKICAgJChzcmNkaXIpLy4uL29wY29kZXMvaTM4Ni1vcGMuaCAkKElOQ0RJUikvb3Bjb2RlL2kzODYuaCBcCiAgICQoQkZERElSKS9saWJhb3V0LmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaCBcCkBAIC0xNTkwLDg4ICsxNTc5LDg3IEBACiAgICQoc3JjZGlyKS8uLi9vcGNvZGVzL2kzODYtb3BjLmggJChJTkNESVIpL29wY29kZS9pMzg2LmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL3g4Nl82NC5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXAogICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oCisgIHN1YnNlZ3MuaAogREVQT0JKX2kzODZfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1pMzg2LmggJChzcmNkaXIpLy4uL29wY29kZXMvaTM4Ni1vcGMuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvaTM4Ni5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIFwKLSAgZHdhcmYyZGJnLmggJChJTkNESVIpL2VsZi94ODYtNjQuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKLSAgJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2VsZi94ODYtNjQuaCBcCisgICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9pODYwX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtaTg2MC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9pOTYwX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy1pOTYwLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL2k5NjAuaCAkKEJGRERJUikvbGliY29mZi5oIFwKLSAgJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oCisgICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29ic3RhY2suaCBzdWJzZWdzLmgKIERFUE9CSl9pOTYwX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtaTk2MC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9pYTY0X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtaWE2NC5oICQoSU5DRElSKS9vcGNvZGUvaWE2NC5oIFwKICAgJChJTkNESVIpL2VsZi9pYTY0LmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBcCi0gIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oIFwKKyAgJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9pcDJrX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtaXAyay5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9tMzJjX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtbTMyYy5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9tMzJyX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtbTMyci5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9tNjhoYzExX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtbTY4aGMxMS5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9tNjhrX2FvdXQgPSAkKHNyY2RpcikvY29uZmlnL29iai1hb3V0LmggJChzcmNkaXIpL2NvbmZpZy90Yy1tNjhrLmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmggXAogICAkKElOQ0RJUikvb2JzdGFjay5oCiBERVBPQkpfbTY4a19jb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtbTY4ay5oIFwKICAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi9tNjhrLmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgc3Vic2Vncy5oCiBERVBPQkpfbTY4a19lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW02OGsuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBcCi0gIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oIFwKKyAgJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9tYXhxX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tYXhxLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL21heHEuaCAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oIFwKICAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaAorICBzdWJzZWdzLmgKIERFUE9CSl9tY29yZV9jb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtbWNvcmUuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvbWNvcmUuaCAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oIFwKICAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaAorICBzdWJzZWdzLmgKIERFUE9CSl9tY29yZV9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1jb3JlLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogREVQT0JKX21lcF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1lcC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2VsZi9tZXAuaCBcCi0gICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2VsZi9tZXAuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKKyAgJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9taXBzX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy1taXBzLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL21pcHNwZS5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXAogICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oCisgIHN1YnNlZ3MuaAogREVQT0JKX21pcHNfZWNvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtbWlwcy5oIFwKICAgZWNvZmYuaCAkKElOQ0RJUikvY29mZi9zeW0uaCAkKElOQ0RJUikvY29mZi9lY29mZi5oIFwKICAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggXApAQCAtMTY3OSwzNCArMTY2NywzNCBAQAogREVQT0JKX21pcHNfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1taXBzLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggXAotICBkd2FyZjJkYmcuaCBlY29mZi5oICQoSU5DRElSKS9jb2ZmL3N5bS5oICQoSU5DRElSKS9jb2ZmL2Vjb2ZmLmggXAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCBcCisgIGVjb2ZmLmggJChJTkNESVIpL2NvZmYvc3ltLmggJChJTkNESVIpL2NvZmYvZWNvZmYuaCBcCiAgICQoSU5DRElSKS9lbGYvbWlwcy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9tbWl4X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtbW1peC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9tbjEwMjAwX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtbW4xMDIwMC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9tbjEwMzAwX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtbW4xMDMwMC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9tc3A0MzBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tc3A0MzAuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfbXRfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tdC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9uczMya19hb3V0ID0gJChzcmNkaXIpL2NvbmZpZy9vYmotYW91dC5oICQoc3JjZGlyKS9jb25maWcvdGMtbnMzMmsuaCBcCiAgICQoQkZERElSKS9saWJhb3V0LmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaCBcCiAgICQoSU5DRElSKS9vYnN0YWNrLmgKQEAgLTE3MTQsMTUgKzE3MDIsMTUgQEAKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW9wZW5yaXNjLmggXAogICBkd2FyZjJkYmcuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogREVQT0JKX29yMzJfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLW9yMzIuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvb3IzMi5oICQoQkZERElSKS9saWJjb2ZmLmggXAotICAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9vYnN0YWNrLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIHN1YnNlZ3MuaAogREVQT0JKX29yMzJfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1vcjMyLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogREVQT0JKX3BkcDExX2FvdXQgPSAkKHNyY2RpcikvY29uZmlnL29iai1hb3V0LmggJChzcmNkaXIpL2NvbmZpZy90Yy1wZHAxMS5oIFwKICAgJChCRkRESVIpL2xpYmFvdXQuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oIFwKICAgJChJTkNESVIpL29ic3RhY2suaApAQCAtMTczMCw4NSArMTcxOCw4NCBAQAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtcGRwMTEuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfcGpfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1wai5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9wcGNfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLXBwYy5oIFwKLSAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi9yczYwMDAuaCAkKEJGRERJUikvbGliY29mZi5oIFwKLSAgJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oCisgICQoSU5DRElSKS9vcGNvZGUvcHBjLmggJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi9yczYwMDAuaCBcCisgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKKyAgc3Vic2Vncy5oCiBERVBPQkpfcHBjX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAotICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtcHBjLmggZHdhcmYyZGJnLmggXAotICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvZWxmL3BwYy5oIFwKLSAgJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtcHBjLmggJChJTkNESVIpL29wY29kZS9wcGMuaCBcCisgIGR3YXJmMmRiZy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvZWxmL3BwYy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggXAorICAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogREVQT0JKX3MzOTBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1zMzkwLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogREVQT0JKX3Njb3JlX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtc2NvcmUuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfc2hfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLXNoLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL3NoLmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgc3Vic2Vncy5oCiBERVBPQkpfc2hfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1zaC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIFwKLSAgZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggXAorICAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogREVQT0JKX3NoNjRfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1zaDY0LmggJChzcmNkaXIpL2NvbmZpZy90Yy1zaC5oIFwKICAgJChJTkNESVIpL2VsZi9zaC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChCRkRESVIpL2VsZjMyLXNoNjQuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfc3BhcmNfYW91dCA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWFvdXQuaCAkKHNyY2RpcikvY29uZmlnL3RjLXNwYXJjLmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmggXAogICAkKElOQ0RJUikvb2JzdGFjay5oCiBERVBPQkpfc3BhcmNfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLXNwYXJjLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL3NwYXJjLmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgc3Vic2Vncy5oCiBERVBPQkpfc3BhcmNfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1zcGFyYy5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl9zcHVfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1zcHUuaCAkKElOQ0RJUikvb3Bjb2RlL3NwdS5oIFwKICAgJChJTkNESVIpL29wY29kZS9zcHUtaW5zbnMuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBcCi0gIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfdGljMzBfYW91dCA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWFvdXQuaCAkKHNyY2RpcikvY29uZmlnL3RjLXRpYzMwLmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmggXAogICAkKElOQ0RJUikvb2JzdGFjay5oCiBERVBPQkpfdGljMzBfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLXRpYzMwLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL3RpYzMwLmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgc3Vic2Vncy5oCiBERVBPQkpfdGljNHhfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLXRpYzR4LmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL3RpYzR4LmggJChJTkNESVIpL2NvZmYvdGkuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgc3Vic2Vncy5oCiBERVBPQkpfdGljNTR4X2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy10aWM1NHguaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvdGljNTR4LmggJChJTkNESVIpL2NvZmYvdGkuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgc3Vic2Vncy5oCiBERVBPQkpfdjg1MF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLXY4NTAuaCAkKElOQ0RJUikvZWxmL3Y4NTAuaCBcCiAgICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggZHdhcmYyZGJnLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggXAotICBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogREVQT0JKX3ZheF9hb3V0ID0gJChzcmNkaXIpL2NvbmZpZy9vYmotYW91dC5oICQoc3JjZGlyKS9jb25maWcvdGMtdmF4LmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmggXAogICAkKElOQ0RJUikvb2JzdGFjay5oCkBAIC0xODE2LDMxICsxODAzLDMwIEBACiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy12YXguaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfeGMxNnhfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy14YzE2eC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIERFUE9CSl94c3Rvcm15MTZfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy14c3Rvcm15MTYuaCBcCiAgIGR3YXJmMmRiZy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfeHRlbnNhX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMteHRlbnNhLmggJChJTkNESVIpL3h0ZW5zYS1pc2EuaCBcCiAgICQoSU5DRElSKS94dGVuc2EtY29uZmlnLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggXAotICBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiBERVBPQkpfejgwX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy16ODAuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvejgwLmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgc3Vic2Vncy5oCiBERVBPQkpfejhrX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy16OGsuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvejhrLmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgc3Vic2Vncy5oCiBERVBPQkpfaHBwYV9zb20gPSAkKHNyY2RpcikvY29uZmlnL29iai1zb20uaCBzdWJzZWdzLmggXAogICAkKElOQ0RJUikvb2JzdGFjay5oICQoQkZERElSKS9saWJocHBhLmggJChCRkRESVIpL3NvbS5oIFwKICAgJChJTkNESVIpL2FvdXQvc3RhYl9nbnUuaCAkKElOQ0RJUikvYW91dC9zdGFiLmRlZgpAQCAtMjA2NywxMiArMjA1MywxMiBAQAogICAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmgKIERFUF9wcGNfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLXBwYy5oIFwKLSAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi9yczYwMDAuaCAkKEJGRERJUikvbGliY29mZi5oIFwKLSAgJChJTkNESVIpL2JmZGxpbmsuaAorICAkKElOQ0RJUikvb3Bjb2RlL3BwYy5oICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvcnM2MDAwLmggXAorICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmgKIERFUF9wcGNfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCi0gICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1wcGMuaCBkd2FyZjJkYmcuaCBcCi0gICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oIFwKKyAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLXBwYy5oICQoSU5DRElSKS9vcGNvZGUvcHBjLmggXAorICBkd2FyZjJkYmcuaCAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9jb2ZmL3JzNjAwMC5oICQoQkZERElSKS9saWJjb2ZmLmgKIERFUF9zMzkwX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXApkaWZmIC0tZ2l0IGEvZ2FzL01ha2VmaWxlLmluIGIvZ2FzL01ha2VmaWxlLmluCmluZGV4IDZiNjhhOTguLjU3MzVhMGEgMTAwNjQ0Ci0tLSBhL2dhcy9NYWtlZmlsZS5pbgorKysgYi9nYXMvTWFrZWZpbGUuaW4KQEAgLTY0LDcgKzY0LDggQEAKIAkkKHRvcF9zcmNkaXIpLy4uL2NvbmZpZy9wcm9ndGVzdC5tNCBcCiAJJCh0b3Bfc3JjZGlyKS8uLi9saWJ0b29sLm00ICQodG9wX3NyY2RpcikvLi4vbHRvcHRpb25zLm00IFwKIAkkKHRvcF9zcmNkaXIpLy4uL2x0c3VnYXIubTQgJCh0b3Bfc3JjZGlyKS8uLi9sdHZlcnNpb24ubTQgXAotCSQodG9wX3NyY2RpcikvYWNpbmNsdWRlLm00ICQodG9wX3NyY2RpcikvY29uZmlndXJlLmluCisJJCh0b3Bfc3JjZGlyKS8uLi9sdH5vYnNvbGV0ZS5tNCAkKHRvcF9zcmNkaXIpL2FjaW5jbHVkZS5tNCBcCisJJCh0b3Bfc3JjZGlyKS9jb25maWd1cmUuaW4KIGFtX19jb25maWd1cmVfZGVwcyA9ICQoYW1fX2FjbG9jYWxfbTRfZGVwcykgJChDT05GSUdVUkVfREVQRU5ERU5DSUVTKSBcCiAJJChBQ0xPQ0FMX000KQogYW1fX0NPTkZJR19ESVNUQ0xFQU5fRklMRVMgPSBjb25maWcuc3RhdHVzIGNvbmZpZy5jYWNoZSBjb25maWcubG9nIFwKQEAgLTE0NCw2ICsxNDUsNyBAQAogREFUQURJUk5BTUUgPSBAREFUQURJUk5BTUVACiBERUZTID0gQERFRlNACiBERVBESVIgPSBAREVQRElSQAorRFNZTVVUSUwgPSBARFNZTVVUSUxACiBEVU1QQklOID0gQERVTVBCSU5ACiBFQ0hPX0MgPSBARUNIT19DQAogRUNIT19OID0gQEVDSE9fTkAKQEAgLTE3NCw2ICsxNzYsNyBAQAogTElCT0JKUyA9IEBMSUJPQkpTQAogTElCUyA9IEBMSUJTQAogTElCVE9PTCA9IEBMSUJUT09MQAorTElQTyA9IEBMSVBPQAogTE5fUyA9IEBMTl9TQAogTFRMSUJPQkpTID0gQExUTElCT0JKU0AKIE1BSU5UID0gQE1BSU5UQApAQCAtMTg0LDkgKzE4NywxMyBAQAogTVNHRk1UID0gQE1TR0ZNVEAKIE1TR01FUkdFID0gQE1TR01FUkdFQAogTk0gPSBATk1ACitOTUVESVQgPSBATk1FRElUQAogTk9fV0VSUk9SID0gQE5PX1dFUlJPUkAKK09CSkRVTVAgPSBAT0JKRFVNUEAKIE9CSkVYVCA9IEBPQkpFWFRACiBPUENPREVTX0xJQiA9IEBPUENPREVTX0xJQkAKK09UT09MID0gQE9UT09MQAorT1RPT0w2NCA9IEBPVE9PTDY0QAogUEFDS0FHRSA9IEBQQUNLQUdFQAogUEFDS0FHRV9CVUdSRVBPUlQgPSBAUEFDS0FHRV9CVUdSRVBPUlRACiBQQUNLQUdFX05BTUUgPSBAUEFDS0FHRV9OQU1FQApAQCAtMjA3LDcgKzIxNCwxMyBAQAogWUFDQyA9IGBpZiBbIC1mIC4uL2Jpc29uL2Jpc29uIF0gOyB0aGVuIGVjaG8gLi4vYmlzb24vYmlzb24gLXkgLUwuLi9iaXNvbi9iaXNvbiA7IGVsc2UgZWNobyBAWUFDQ0AgOyBmaWAKIGFjX2N0X0FSID0gQGFjX2N0X0FSQAogYWNfY3RfQ0MgPSBAYWNfY3RfQ0NACithY19jdF9EU1lNVVRJTCA9IEBhY19jdF9EU1lNVVRJTEAKIGFjX2N0X0RVTVBCSU4gPSBAYWNfY3RfRFVNUEJJTkAKK2FjX2N0X0xJUE8gPSBAYWNfY3RfTElQT0AKK2FjX2N0X05NRURJVCA9IEBhY19jdF9OTUVESVRACithY19jdF9PQkpEVU1QID0gQGFjX2N0X09CSkRVTVBACithY19jdF9PVE9PTCA9IEBhY19jdF9PVE9PTEAKK2FjX2N0X09UT09MNjQgPSBAYWNfY3RfT1RPT0w2NEAKIGFjX2N0X1JBTkxJQiA9IEBhY19jdF9SQU5MSUJACiBhY19jdF9TVFJJUCA9IEBhY19jdF9TVFJJUEAKIGFtX19mYXN0ZGVwQ0NfRkFMU0UgPSBAYW1fX2Zhc3RkZXBDQ19GQUxTRUAKQEAgLTY1Myw2ICs2NjYsNyBAQAogCWNvbmZpZy90ZS1wZS5oIFwKIAljb25maWcvdGUtcHNvcy5oIFwKIAljb25maWcvdGUtcmlzY2l4LmggXAorCWNvbmZpZy90ZS1zb2xhcmlzLmggXAogCWNvbmZpZy90ZS1zcGFyY2FvdXQuaCBcCiAJY29uZmlnL3RlLXN1bjMuaCBcCiAJY29uZmlnL3RlLXN2cjQuaCBcCkBAIC03OTIsOSArODA2LDkgQEAKIEFNS0RFUCA9ICNETyBOT1QgUFVUIEFOWVRISU5HIEJFVFdFRU4gVEhJUyBMSU5FIEFORCBUSEUgTUFUQ0hJTkcgV0FSTklORyBCRUxPVy4KIERFUFRDX2FscGhhX2Vjb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLWFscGhhLmggXAogICBlY29mZi5oICQoSU5DRElSKS9jb2ZmL3N5bS5oICQoSU5DRElSKS9jb2ZmL2Vjb2ZmLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBlY29mZi5oIFwKLSAgJChJTkNESVIpL29wY29kZS9hbHBoYS5oIGR3MmdlbmNmaS5oICQoSU5DRElSKS9lbGYvZHdhcmYyLmggXAotICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oICQoc3JjZGlyKS9jb25maWcvYXRvZi12YXguYworICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvb3Bjb2RlL2FscGhhLmggXAorICBkdzJnZW5jZmkuaCAkKElOQ0RJUikvZWxmL2R3YXJmMi5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAorICAkKHNyY2RpcikvY29uZmlnL2F0b2YtdmF4LmMKIAogREVQVENfYWxwaGFfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCkBAIC04MTQsMjMgKzgyOCwyMyBAQAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtYXJjLmggZHdhcmYyZGJnLmggXAogICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKICAgJChJTkNESVIpL29wY29kZS9hcmMuaCAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9hcmMtZXh0LmggXAotICAkKElOQ0RJUikvZWxmL2FyYy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggZHdhcmYyZGJnLmgKKyAgJChJTkNESVIpL2VsZi9hcmMuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCiAKIERFUFRDX2FybV9hb3V0ID0gJChzcmNkaXIpL2NvbmZpZy9vYmotYW91dC5oICQoc3JjZGlyKS9jb25maWcvdGMtYXJtLmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29wY29kZS9hcm0uaCBcCisgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vcGNvZGUvYXJtLmggXAogICBkd2FyZjJkYmcuaAogCiBERVBUQ19hcm1fY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLWFybS5oIFwKICAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi9hcm0uaCAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oIFwKICAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vcGNvZGUvYXJtLmggXAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb3Bjb2RlL2FybS5oIFwKICAgZHdhcmYyZGJnLmgKIAogREVQVENfYXJtX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtYXJtLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29wY29kZS9hcm0uaCBcCisgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vcGNvZGUvYXJtLmggXAogICAkKElOQ0RJUikvZWxmL2FybS5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggZHcyZ2VuY2ZpLmggXAogICAkKElOQ0RJUikvZWxmL2R3YXJmMi5oIGR3YXJmMmRiZy5oCiAKQEAgLTg0NCwxNiArODU4LDE1IEBACiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1iZmluLmggZHdhcmYyZGJnLmggXAogICBzdHJ1Yy1zeW1ib2wuaCAkKHNyY2RpcikvY29uZmlnL2JmaW4tZGVmcy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIGR3YXJmMmRiZy5oICQoQkZERElSKS9saWJiZmQuaCBcCi0gICQoSU5DRElSKS9oYXNodGFiLmggJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2JmaW4uaCBcCi0gICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChzcmNkaXIpL2NvbmZpZy9iZmluLWF1eC5oIFwKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCAkKEJGRERJUikvbGliYmZkLmggJChJTkNESVIpL2hhc2h0YWIuaCBcCisgICQoSU5DRElSKS9lbGYvYmZpbi5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChzcmNkaXIpL2NvbmZpZy9iZmluLWF1eC5oIFwKICAgJChzcmNkaXIpL2NvbmZpZy9iZmluLWRlZnMuaCAkKElOQ0RJUikvb3Bjb2RlL2JmaW4uaAogCiBERVBUQ19jcjE2X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtY3IxNi5oIGR3YXJmMmRiZy5oIFwKLSAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvb3Bjb2RlL2NyMTYuaCBcCi0gICQoSU5DRElSKS9lbGYvY3IxNi5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCAkKElOQ0RJUikvb3Bjb2RlL2NyMTYuaCAkKElOQ0RJUikvZWxmL2NyMTYuaCBcCisgICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKIAogREVQVENfY3Jpc19hb3V0ID0gJChzcmNkaXIpL2NvbmZpZy9vYmotYW91dC5oICQoc3JjZGlyKS9jb25maWcvdGMtY3Jpcy5oIFwKICAgJChCRkRESVIpL2xpYmFvdXQuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXApAQCAtODY0LDEzICs4NzcsMTMgQEAKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWNyaXMuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2NyaXMuaCBkd2FyZjJkYmcuaAorICAkKElOQ0RJUikvb3Bjb2RlL2NyaXMuaAogCiBERVBUQ19jcnhfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1jcnguaCBkd2FyZjJkYmcuaCBcCi0gICQoSU5DRElSKS9zYWZlLWN0eXBlLmggZHdhcmYyZGJnLmggJChJTkNESVIpL29wY29kZS9jcnguaCBcCi0gICQoSU5DRElSKS9lbGYvY3J4LmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaAorICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oICQoSU5DRElSKS9vcGNvZGUvY3J4LmggJChJTkNESVIpL2VsZi9jcnguaCBcCisgICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKIAogREVQVENfZDEwdl9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKQEAgLTg4Niw3ICs4OTksNyBAQAogREVQVENfZGx4X2VsZiA9ICQoSU5DRElSKS9zYWZlLWN0eXBlLmggJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggXAogICAkKEJGRERJUikvZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oIFwKICAgJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1kbHguaCBcCi0gIGR3YXJmMmRiZy5oICQoc3JjZGlyKS9jb25maWcvdGMtZGx4LmggJChJTkNESVIpL29wY29kZS9kbHguaAorICBkd2FyZjJkYmcuaCAkKElOQ0RJUikvb3Bjb2RlL2RseC5oCiAKIERFUFRDX2ZyMzBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCkBAIC05MDIsOCArOTE1LDggQEAKICAgJChJTkNESVIpL29ic3RhY2suaCAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9mcnYtZGVzYy5oIFwKICAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKICAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoc3JjZGlyKS8uLi9vcGNvZGVzL2Zydi1vcGMuaCBcCi0gIGNnZW4uaCAkKEJGRERJUikvbGliYmZkLmggJChJTkNESVIpL2hhc2h0YWIuaCAkKElOQ0RJUikvZWxmL2NvbW1vbi5oIFwKLSAgJChJTkNESVIpL2VsZi9mcnYuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCisgIGNnZW4uaCAkKEJGRERJUikvbGliYmZkLmggJChJTkNESVIpL2hhc2h0YWIuaCAkKElOQ0RJUikvZWxmL2Zydi5oIFwKKyAgJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaAogCiBERVBUQ19oODMwMF9jb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtaDgzMDAuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvaDgzMDAuaCAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oIFwKQEAgLTkxMyw3ICs5MjYsNyBAQAogREVQVENfaDgzMDBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1oODMwMC5oIGR3YXJmMmRiZy5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggZHdhcmYyZGJnLmggJChJTkNESVIpL29wY29kZS9oODMwMC5oIFwKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29wY29kZS9oODMwMC5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCAkKElOQ0RJUikvZWxmL2g4LmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaAogCiBERVBUQ19ocHBhX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXApAQCAtOTUwLDggKzk2Myw4IEBACiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1pMzg2LmggJChzcmNkaXIpLy4uL29wY29kZXMvaTM4Ni1vcGMuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvaTM4Ni5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBkd2FyZjJkYmcuaCBkdzJnZW5jZmkuaCBcCi0gICQoSU5DRElSKS9lbGYvZHdhcmYyLmggJChJTkNESVIpL2VsZi94ODYtNjQuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggZHcyZ2VuY2ZpLmggJChJTkNESVIpL2VsZi9kd2FyZjIuaCBcCisgICQoSU5DRElSKS9lbGYveDg2LTY0LmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBcCiAgICQoc3JjZGlyKS8uLi9vcGNvZGVzL2kzODYtaW5pdC5oCiAKIERFUFRDX2k4NjBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCkBAIC05NzQsOCArOTg3LDcgQEAKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWlhNjQuaCAkKElOQ0RJUikvb3Bjb2RlL2lhNjQuaCBcCiAgICQoSU5DRElSKS9lbGYvaWE2NC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIGR3YXJmMmRiZy5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vcGNvZGUvaWE2NC5oIFwKLSAgJChJTkNESVIpL2VsZi9pYTY0LmgKKyAgZHdhcmYyZGJnLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKIAogREVQVENfaXAya19lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKQEAgLTk4Myw4ICs5OTUsOCBAQAogICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9pcDJrLWRlc2MuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9pcDJrLW9wYy5oIFwKLSAgY2dlbi5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9pcDJrLmggXAotICAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oICQoQkZERElSKS9saWJiZmQuaCAkKElOQ0RJUikvaGFzaHRhYi5oCisgIGNnZW4uaCAkKElOQ0RJUikvZWxmL2lwMmsuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKKyAgJChCRkRESVIpL2xpYmJmZC5oICQoSU5DRElSKS9oYXNodGFiLmgKIAogREVQVENfbTMyY19lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKQEAgLTk5Myw5ICsxMDA1LDkgQEAKICAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKICAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoc3JjZGlyKS8uLi9vcGNvZGVzL20zMmMtb3BjLmggXAogICAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9jZ2VuLXR5cGVzLmggLi4vYmZkL2JmZF9zdGRpbnQuaCBcCi0gICQoc3JjZGlyKS8uLi9vcGNvZGVzL2NnZW4tb3BzLmggY2dlbi5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggXAotICAkKElOQ0RJUikvZWxmL20zMmMuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oICQoQkZERElSKS9saWJiZmQuaCBcCi0gICQoSU5DRElSKS9oYXNodGFiLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAorICAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9jZ2VuLW9wcy5oIGNnZW4uaCAkKElOQ0RJUikvZWxmL20zMmMuaCBcCisgICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChCRkRESVIpL2xpYmJmZC5oICQoSU5DRElSKS9oYXNodGFiLmggXAorICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCiAKIERFUFRDX20zMnJfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCkBAIC0xMDEwLDM1ICsxMDIyLDMxIEBACiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tNjhoYzExLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29wY29kZS9tNjhoYzExLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2VsZi9tNjhoYzExLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL202OGhjMTEuaCAkKElOQ0RJUikvZWxmL202OGhjMTEuaCBcCiAgICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKIAogREVQVENfbTY4a19hb3V0ID0gJChzcmNkaXIpL2NvbmZpZy9vYmotYW91dC5oICQoc3JjZGlyKS9jb25maWcvdGMtbTY4ay5oIFwKICAgJChCRkRESVIpL2xpYmFvdXQuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIGR3YXJmMmRiZy5oIFwKLSAgZHcyZ2VuY2ZpLmggJChJTkNESVIpL2VsZi9kd2FyZjIuaCAkKElOQ0RJUikvb3Bjb2RlL202OGsuaCBcCi0gICQoc3JjZGlyKS9jb25maWcvbTY4ay1wYXJzZS5oCisgICQoSU5DRElSKS9vYnN0YWNrLmggc3Vic2Vncy5oIGR3YXJmMmRiZy5oIGR3MmdlbmNmaS5oIFwKKyAgJChJTkNESVIpL2VsZi9kd2FyZjIuaCAkKElOQ0RJUikvb3Bjb2RlL202OGsuaCAkKHNyY2RpcikvY29uZmlnL202OGstcGFyc2UuaAogCiBERVBUQ19tNjhrX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tNjhrLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL202OGsuaCAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oIFwKICAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIGR3YXJmMmRiZy5oIFwKLSAgZHcyZ2VuY2ZpLmggJChJTkNESVIpL2VsZi9kd2FyZjIuaCAkKElOQ0RJUikvb3Bjb2RlL202OGsuaCBcCi0gICQoc3JjZGlyKS9jb25maWcvbTY4ay1wYXJzZS5oCisgICQoSU5DRElSKS9vYnN0YWNrLmggc3Vic2Vncy5oIGR3YXJmMmRiZy5oIGR3MmdlbmNmaS5oIFwKKyAgJChJTkNESVIpL2VsZi9kd2FyZjIuaCAkKElOQ0RJUikvb3Bjb2RlL202OGsuaCAkKHNyY2RpcikvY29uZmlnL202OGstcGFyc2UuaAogCiBERVBUQ19tNjhrX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtbTY4ay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIGR3YXJmMmRiZy5oIFwKLSAgZHcyZ2VuY2ZpLmggJChJTkNESVIpL2VsZi9kd2FyZjIuaCAkKElOQ0RJUikvb3Bjb2RlL202OGsuaCBcCi0gICQoc3JjZGlyKS9jb25maWcvbTY4ay1wYXJzZS5oICQoSU5DRElSKS9lbGYvbTY4ay5oIFwKLSAgJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaAorICAkKElOQ0RJUikvb2JzdGFjay5oIHN1YnNlZ3MuaCBkd2FyZjJkYmcuaCBkdzJnZW5jZmkuaCBcCisgICQoSU5DRElSKS9lbGYvZHdhcmYyLmggJChJTkNESVIpL29wY29kZS9tNjhrLmggJChzcmNkaXIpL2NvbmZpZy9tNjhrLXBhcnNlLmggXAorICAkKElOQ0RJUikvZWxmL202OGsuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCiAKIERFUFRDX21heHFfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1heHEuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvbWF4cS5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXAogICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIGR3YXJmMmRiZy5oICQoc3JjZGlyKS9jb25maWcvdGMtbWF4cS5oIFwKLSAgJChJTkNESVIpL29wY29kZS9tYXhxLmgKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggZHdhcmYyZGJnLmggJChJTkNESVIpL29wY29kZS9tYXhxLmgKIAogREVQVENfbWNvcmVfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1jb3JlLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL21jb3JlLmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCkBAIC0xMDU0LDEwICsxMDYyLDEwIEBACiBERVBUQ19tZXBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tZXAuaCBkd2FyZjJkYmcuaCBcCi0gIGR3YXJmMmRiZy5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoc3JjZGlyKS8uLi9vcGNvZGVzL21lcC1kZXNjLmggXAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9tZXAtZGVzYy5oIFwKICAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKICAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoc3JjZGlyKS8uLi9vcGNvZGVzL21lcC1vcGMuaCBcCi0gIGNnZW4uaCAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvbWVwLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBcCisgIGNnZW4uaCAkKElOQ0RJUikvZWxmL21lcC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggXAogICAkKEJGRERJUikvbGliYmZkLmggJChJTkNESVIpL2hhc2h0YWIuaCAkKElOQ0RJUikveHJlZ2V4LmggXAogICAkKElOQ0RJUikveHJlZ2V4Mi5oCiAKQEAgLTEwNzYsMjMgKzEwODQsMjIgQEAKICAgJChJTkNESVIpL29wY29kZS9taXBzLmggaXRibC1vcHMuaCBkd2FyZjJkYmcuaCBkdzJnZW5jZmkuaCBcCiAgICQoSU5DRElSKS9lbGYvZHdhcmYyLmggJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCi0gICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL2VsZi9taXBzLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBcCi0gIGVjb2ZmLmgKKyAgJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvZWxmL21pcHMuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCiAKIERFUFRDX21pcHNfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1taXBzLmggc3Vic2Vncy5oIFwKICAgJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oICQoSU5DRElSKS9vcGNvZGUvbWlwcy5oIFwKICAgaXRibC1vcHMuaCBkd2FyZjJkYmcuaCBkdzJnZW5jZmkuaCAkKElOQ0RJUikvZWxmL2R3YXJmMi5oIFwKLSAgJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChJTkNESVIpL2VsZi9taXBzLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBcCi0gIGVjb2ZmLmggJChJTkNESVIpL2NvZmYvc3ltLmggJChJTkNESVIpL2NvZmYvZWNvZmYuaAorICAkKElOQ0RJUikvZWxmL21pcHMuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIGVjb2ZmLmggXAorICAkKElOQ0RJUikvY29mZi9zeW0uaCAkKElOQ0RJUikvY29mZi9lY29mZi5oCiAKIERFUFRDX21taXhfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tbWl4LmggZHdhcmYyZGJnLmggXAogICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvZWxmL21taXguaCBcCiAgICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChJTkNESVIpL29wY29kZS9tbWl4LmggXAotICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaAogCiBERVBUQ19tbjEwMjAwX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXApAQCAtMTEwNCwyMSArMTExMSwyMSBAQAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtbW4xMDMwMC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvbW4xMDMwMC5oIGR3YXJmMmRiZy5oCisgICQoSU5DRElSKS9vcGNvZGUvbW4xMDMwMC5oCiAKIERFUFRDX21zcDQzMF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1zcDQzMC5oIGR3YXJmMmRiZy5oIFwKICAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29wY29kZS9tc3A0MzAuaCBcCi0gICQoSU5DRElSKS9zYWZlLWN0eXBlLmggZHdhcmYyZGJnLmgKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaAogCiBERVBUQ19tdF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW10LmggZHdhcmYyZGJnLmggXAotICBkd2FyZjJkYmcuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9tdC1kZXNjLmggXAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9tdC1kZXNjLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChzcmNkaXIpLy4uL29wY29kZXMvbXQtb3BjLmggXAotICBjZ2VuLmggJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL210LmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBcCisgIGNnZW4uaCAkKElOQ0RJUikvZWxmL210LmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBcCiAgICQoQkZERElSKS9saWJiZmQuaCAkKElOQ0RJUikvaGFzaHRhYi5oCiAKIERFUFRDX25zMzJrX2FvdXQgPSAkKHNyY2RpcikvY29uZmlnL29iai1hb3V0LmggJChzcmNkaXIpL2NvbmZpZy90Yy1uczMyay5oIFwKQEAgLTExNTksMzIgKzExNjYsMzAgQEAKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCAkKElOQ0RJUikvb3Bjb2RlL3BqLmgKIAogREVQVENfcHBjX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy1wcGMuaCBcCi0gICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvcnM2MDAwLmggJChCRkRESVIpL2xpYmNvZmYuaCBcCi0gICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIGR3MmdlbmNmaS5oICQoSU5DRElSKS9lbGYvZHdhcmYyLmggXAotICAkKElOQ0RJUikvb3Bjb2RlL3BwYy5oCisgICQoSU5DRElSKS9vcGNvZGUvcHBjLmggJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi9yczYwMDAuaCBcCisgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggZHcyZ2VuY2ZpLmggJChJTkNESVIpL2VsZi9kd2FyZjIuaAogCiBERVBUQ19wcGNfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCi0gICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1wcGMuaCBkd2FyZjJkYmcuaCBcCi0gICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICBkdzJnZW5jZmkuaCAkKElOQ0RJUikvZWxmL2R3YXJmMi5oICQoSU5DRElSKS9vcGNvZGUvcHBjLmggXAotICAkKElOQ0RJUikvZWxmL3BwYy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggZHdhcmYyZGJnLmgKKyAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLXBwYy5oICQoSU5DRElSKS9vcGNvZGUvcHBjLmggXAorICBkd2FyZjJkYmcuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKKyAgZHcyZ2VuY2ZpLmggJChJTkNESVIpL2VsZi9kd2FyZjIuaCAkKElOQ0RJUikvZWxmL3BwYy5oIFwKKyAgJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaAogCiBERVBUQ19zMzkwX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtczM5MC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oIGR3MmdlbmNmaS5oICQoSU5DRElSKS9lbGYvZHdhcmYyLmggXAotICAkKElOQ0RJUikvb3Bjb2RlL3MzOTAuaCAkKElOQ0RJUikvZWxmL3MzOTAuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCisgIHN0cnVjLXN5bWJvbC5oIGR3MmdlbmNmaS5oICQoSU5DRElSKS9lbGYvZHdhcmYyLmggJChJTkNESVIpL29wY29kZS9zMzkwLmggXAorICAkKElOQ0RJUikvZWxmL3MzOTAuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCiAKIERFUFRDX3Njb3JlX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtc2NvcmUuaCBkd2FyZjJkYmcuaCBcCiAgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL3Njb3JlLWluc3QuaCAkKElOQ0RJUikvb3Bjb2RlL3Njb3JlLWRhdGFkZXAuaCBcCi0gIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9lbGYvc2NvcmUuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKLSAgZHdhcmYyZGJnLmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2VsZi9zY29yZS5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKIAogREVQVENfc2hfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLXNoLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL3NoLmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCkBAIC0xMjA1LDggKzEyMTAsOCBAQAogICAkKElOQ0RJUikvZWxmL3NoLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCAkKEJGRERJUikvZWxmMzItc2g2NC5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9zaDY0LW9wYy5oIFwKICAgJChzcmNkaXIpL2NvbmZpZy90Yy1zaC5jIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChzcmNkaXIpLy4uL29wY29kZXMvc2gtb3BjLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oIGR3MmdlbmNmaS5oICQoSU5DRElSKS9lbGYvZHdhcmYyLmgKKyAgJChzcmNkaXIpLy4uL29wY29kZXMvc2gtb3BjLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggXAorICBkdzJnZW5jZmkuaCAkKElOQ0RJUikvZWxmL2R3YXJmMi5oCiAKIERFUFRDX3NwYXJjX2FvdXQgPSAkKHNyY2RpcikvY29uZmlnL29iai1hb3V0LmggJChzcmNkaXIpL2NvbmZpZy90Yy1zcGFyYy5oIFwKICAgJChCRkRESVIpL2xpYmFvdXQuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXApAQCAtMTIyNCwxNCArMTIyOSwxMyBAQAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtc3BhcmMuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL3NwYXJjLmggZHcyZ2VuY2ZpLmggJChJTkNESVIpL2VsZi9kd2FyZjIuaCBcCi0gICQoSU5DRElSKS9lbGYvc3BhcmMuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKLSAgZHdhcmYyZGJnLmgKKyAgJChJTkNESVIpL2VsZi9zcGFyYy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKIAogREVQVENfc3B1X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtc3B1LmggJChJTkNESVIpL29wY29kZS9zcHUuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvc3B1LWluc25zLmggZHdhcmYyZGJnLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9vcGNvZGUvc3B1LWluc25zLmgKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKIAogREVQVENfdGljMzBfYW91dCA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWFvdXQuaCAkKHNyY2RpcikvY29uZmlnL3RjLXRpYzMwLmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCkBAIC0xMjQ2LDMyICsxMjUwLDMxIEBACiAgICQoc3JjZGlyKS9jb25maWcvdGMtdGljNHguaCAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2NvZmYvdGljNHguaCAkKElOQ0RJUikvY29mZi90aS5oICQoQkZERElSKS9saWJjb2ZmLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9vcGNvZGUvdGljNHguaCBzdWJzZWdzLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgJChJTkNESVIpL29ic3RhY2suaAogCiBERVBUQ190aWM1NHhfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLXRpYzU0eC5oIFwKICAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi90aWM1NHguaCAkKElOQ0RJUikvY29mZi90aS5oIFwKICAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAogICBzYi5oIG1hY3JvLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggXAotICAkKElOQ0RJUikvb3Bjb2RlL3RpYzU0eC5oICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaAorICAkKElOQ0RJUikvb3Bjb2RlL3RpYzU0eC5oCiAKIERFUFRDX3Y4NTBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy12ODUwLmggJChJTkNESVIpL2VsZi92ODUwLmggXAogICAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb3Bjb2RlL3Y4NTAuaCBcCi0gIGR3YXJmMmRiZy5oCisgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vcGNvZGUvdjg1MC5oCiAKIERFUFRDX3ZheF9hb3V0ID0gJChzcmNkaXIpL2NvbmZpZy9vYmotYW91dC5oICQoc3JjZGlyKS9jb25maWcvdGMtdmF4LmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy92YXgtaW5zdC5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKKyAgJChJTkNESVIpL29ic3RhY2suaCBzdWJzZWdzLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvdmF4LmgKIAogREVQVENfdmF4X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtdmF4LmggZHdhcmYyZGJnLmggXAogICAkKHNyY2RpcikvY29uZmlnL3ZheC1pbnN0LmggJChJTkNESVIpL29ic3RhY2suaCBzdWJzZWdzLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggJChJTkNESVIpL2VsZi92YXguaCBcCi0gICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChJTkNESVIpL29wY29kZS92YXguaAorICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oICQoSU5DRElSKS9lbGYvdmF4LmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvdmF4LmgKIAogREVQVENfeGMxNnhfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCkBAIC0xMjc5LDggKzEyODIsOCBAQAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKICAgJChzcmNkaXIpLy4uL29wY29kZXMveGMxNngtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCi0gICQoc3JjZGlyKS8uLi9vcGNvZGVzL3hjMTZ4LW9wYy5oIGNnZW4uaCBkd2FyZjJkYmcuaCBcCi0gICQoSU5DRElSKS9lbGYveGMxNnguaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCisgICQoc3JjZGlyKS8uLi9vcGNvZGVzL3hjMTZ4LW9wYy5oIGNnZW4uaCAkKElOQ0RJUikvZWxmL3hjMTZ4LmggXAorICAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCiAKIERFUFRDX3hzdG9ybXkxNl9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKQEAgLTEyOTQsOSArMTI5Nyw4IEBACiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy14dGVuc2EuaCAkKElOQ0RJUikveHRlbnNhLWlzYS5oIFwKICAgJChJTkNESVIpL3h0ZW5zYS1jb25maWcuaCBzYi5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICAkKHNyY2RpcikvY29uZmlnL3RjLXh0ZW5zYS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChzcmNkaXIpL2NvbmZpZy94dGVuc2EtcmVsYXguaCBkd2FyZjJkYmcuaCAkKHNyY2RpcikvY29uZmlnL3h0ZW5zYS1pc3RhY2suaCBcCi0gIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS94dGVuc2EtY29uZmlnLmgKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChzcmNkaXIpL2NvbmZpZy94dGVuc2EtcmVsYXguaCBcCisgIGR3YXJmMmRiZy5oICQoc3JjZGlyKS9jb25maWcveHRlbnNhLWlzdGFjay5oIHN0cnVjLXN5bWJvbC5oCiAKIERFUFRDX3o4MF9jb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtejgwLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL3o4MC5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXApAQCAtMTMyNyw4ICsxMzI5LDggQEAKIERFUE9CSl9hbHBoYV9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWFscGhhLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggXAotICBkd2FyZjJkYmcuaCBlY29mZi5oICQoSU5DRElSKS9jb2ZmL3N5bS5oICQoSU5DRElSKS9jb2ZmL2Vjb2ZmLmggXAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCBcCisgIGVjb2ZmLmggJChJTkNESVIpL2NvZmYvc3ltLmggJChJTkNESVIpL2NvZmYvZWNvZmYuaCBcCiAgICQoSU5DRElSKS9lbGYvYWxwaGEuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKICAgJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIApAQCAtMTMzNyw3ICsxMzM5LDcgQEAKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWFyYy5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIAogREVQT0JKX2FybV9hb3V0ID0gJChzcmNkaXIpL2NvbmZpZy9vYmotYW91dC5oICQoc3JjZGlyKS9jb25maWcvdGMtYXJtLmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmggXApAQCAtMTM0NiwzMSArMTM0OCwzMSBAQAogREVQT0JKX2FybV9jb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtYXJtLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL2FybS5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXAogICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oCisgIHN1YnNlZ3MuaAogCiBERVBPQkpfYXJtX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtYXJtLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggXAotICBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCBcCisgICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9hdnJfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1hdnIuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9iZmluX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtYmZpbi5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIAogREVQT0JKX2NyMTZfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1jcjE2LmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfY3Jpc19hb3V0ID0gJChzcmNkaXIpL2NvbmZpZy9vYmotYW91dC5oICQoc3JjZGlyKS9jb25maWcvdGMtY3Jpcy5oIFwKICAgJChCRkRESVIpL2xpYmFvdXQuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oIFwKQEAgLTEzODAsNjkgKzEzODIsNjkgQEAKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWNyaXMuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9jcnhfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1jcnguaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9kMTB2X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtZDEwdi5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIFwKLSAgZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggXAorICAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfZDMwdl9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWQzMHYuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBcCi0gIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oIFwKKyAgJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIAogREVQT0JKX2RseF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWRseC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIAogREVQT0JKX2ZyMzBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1mcjMwLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfZnJ2X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtZnJ2LmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggXAotICBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCBcCisgICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9oODMwMF9jb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtaDgzMDAuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvaDgzMDAuaCAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oIFwKICAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaAorICBzdWJzZWdzLmgKIAogREVQT0JKX2g4MzAwX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtaDgzMDAuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9ocHBhX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtaHBwYS5oICQoQkZERElSKS9lbGYzMi1ocHBhLmggXAogICAkKEJGRERJUikvZWxmLWJmZC5oICQoQkZERElSKS9saWJocHBhLmggJChJTkNESVIpL2VsZi9ocHBhLmggXAogICAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIFwKLSAgZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggXAorICAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfaTM3MF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWkzNzAuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9lbGYvaTM3MC5oIFwKLSAgJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvZWxmL2kzNzAuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKKyAgJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIAogREVQT0JKX2kzODZfYW91dCA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWFvdXQuaCAkKHNyY2RpcikvY29uZmlnL3RjLWkzODYuaCBcCiAgICQoc3JjZGlyKS8uLi9vcGNvZGVzL2kzODYtb3BjLmggJChJTkNESVIpL29wY29kZS9pMzg2LmggXApAQCAtMTQ1Myw2MiArMTQ1NSw2MSBAQAogICAkKHNyY2RpcikvLi4vb3Bjb2Rlcy9pMzg2LW9wYy5oICQoSU5DRElSKS9vcGNvZGUvaTM4Ni5oIFwKICAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi94ODZfNjQuaCAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oIFwKICAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaAorICBzdWJzZWdzLmgKIAogREVQT0JKX2kzODZfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1pMzg2LmggJChzcmNkaXIpLy4uL29wY29kZXMvaTM4Ni1vcGMuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvaTM4Ni5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIFwKLSAgZHdhcmYyZGJnLmggJChJTkNESVIpL2VsZi94ODYtNjQuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKLSAgJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2VsZi94ODYtNjQuaCBcCisgICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIAogREVQT0JKX2k4NjBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1pODYwLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfaTk2MF9jb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtaTk2MC5oIFwKICAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi9pOTYwLmggJChCRkRESVIpL2xpYmNvZmYuaCBcCi0gICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29ic3RhY2suaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaAorICAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9vYnN0YWNrLmggc3Vic2Vncy5oCiAKIERFUE9CSl9pOTYwX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtaTk2MC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIAogREVQT0JKX2lhNjRfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1pYTY0LmggJChJTkNESVIpL29wY29kZS9pYTY0LmggXAogICAkKElOQ0RJUikvZWxmL2lhNjQuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIFwKLSAgZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggXAorICAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfaXAya19lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLWlwMmsuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9tMzJjX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtbTMyYy5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIAogREVQT0JKX20zMnJfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tMzJyLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfbTY4aGMxMV9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW02OGhjMTEuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9tNjhrX2FvdXQgPSAkKHNyY2RpcikvY29uZmlnL29iai1hb3V0LmggJChzcmNkaXIpL2NvbmZpZy90Yy1tNjhrLmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmggXApAQCAtMTUxNyw0MSArMTUxOCw0MSBAQAogREVQT0JKX202OGtfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLW02OGsuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvbTY4ay5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXAogICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oCisgIHN1YnNlZ3MuaAogCiBERVBPQkpfbTY4a19lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW02OGsuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBcCi0gIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oIFwKKyAgJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIAogREVQT0JKX21heHFfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1heHEuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvbWF4cS5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXAogICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oCisgIHN1YnNlZ3MuaAogCiBERVBPQkpfbWNvcmVfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1jb3JlLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL21jb3JlLmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgc3Vic2Vncy5oCiAKIERFUE9CSl9tY29yZV9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1jb3JlLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfbWVwX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtbWVwLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvZWxmL21lcC5oIFwKLSAgJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvZWxmL21lcC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggXAorICAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfbWlwc19jb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtbWlwcy5oIFwKICAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi9taXBzcGUuaCAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oIFwKICAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaAorICBzdWJzZWdzLmgKIAogREVQT0JKX21pcHNfZWNvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtbWlwcy5oIFwKICAgZWNvZmYuaCAkKElOQ0RJUikvY29mZi9zeW0uaCAkKElOQ0RJUikvY29mZi9lY29mZi5oIFwKQEAgLTE1NjEsMzkgKzE1NjIsMzkgQEAKIERFUE9CSl9taXBzX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtbWlwcy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIFwKLSAgZHdhcmYyZGJnLmggZWNvZmYuaCAkKElOQ0RJUikvY29mZi9zeW0uaCAkKElOQ0RJUikvY29mZi9lY29mZi5oIFwKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggXAorICBlY29mZi5oICQoSU5DRElSKS9jb2ZmL3N5bS5oICQoSU5DRElSKS9jb2ZmL2Vjb2ZmLmggXAogICAkKElOQ0RJUikvZWxmL21pcHMuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9tbWl4X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtbW1peC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIAogREVQT0JKX21uMTAyMDBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tbjEwMjAwLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfbW4xMDMwMF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW1uMTAzMDAuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9tc3A0MzBfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1tc3A0MzAuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9tdF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLW10LmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfbnMzMmtfYW91dCA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWFvdXQuaCAkKHNyY2RpcikvY29uZmlnL3RjLW5zMzJrLmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmggXApAQCAtMTYwMywxNyArMTYwNCwxNyBAQAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtb3BlbnJpc2MuaCBcCiAgIGR3YXJmMmRiZy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9vcjMyX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy1vcjMyLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL29yMzIuaCAkKEJGRERJUikvbGliY29mZi5oIFwKLSAgJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oCisgICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29ic3RhY2suaCBzdWJzZWdzLmgKIAogREVQT0JKX29yMzJfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1vcjMyLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfcGRwMTFfYW91dCA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWFvdXQuaCAkKHNyY2RpcikvY29uZmlnL3RjLXBkcDExLmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmggXApAQCAtMTYyMyw1NCArMTYyNCw1NSBAQAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtcGRwMTEuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9wal9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLXBqLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfcHBjX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy1wcGMuaCBcCi0gICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvcnM2MDAwLmggJChCRkRESVIpL2xpYmNvZmYuaCBcCi0gICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29ic3RhY2suaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaAorICAkKElOQ0RJUikvb3Bjb2RlL3BwYy5oICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvcnM2MDAwLmggXAorICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29ic3RhY2suaCBcCisgIHN1YnNlZ3MuaAogCiBERVBPQkpfcHBjX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAotICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtcHBjLmggZHdhcmYyZGJnLmggXAotICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvZWxmL3BwYy5oIFwKLSAgJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtcHBjLmggJChJTkNESVIpL29wY29kZS9wcGMuaCBcCisgIGR3YXJmMmRiZy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvZWxmL3BwYy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggXAorICAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfczM5MF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLXMzOTAuaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9zY29yZV9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLXNjb3JlLmggZHdhcmYyZGJnLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfc2hfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLXNoLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL3NoLmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgc3Vic2Vncy5oCiAKIERFUE9CSl9zaF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLXNoLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggXAotICBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCBcCisgICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl9zaDY0X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtc2g2NC5oICQoc3JjZGlyKS9jb25maWcvdGMtc2guaCBcCiAgICQoSU5DRElSKS9lbGYvc2guaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oICQoQkZERElSKS9lbGYzMi1zaDY0LmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAorICBzdHJ1Yy1zeW1ib2wuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvYW91dC9hb3V0NjQuaAogCiBERVBPQkpfc3BhcmNfYW91dCA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWFvdXQuaCAkKHNyY2RpcikvY29uZmlnL3RjLXNwYXJjLmggXAogICAkKEJGRERJUikvbGliYW91dC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmggXApAQCAtMTY3OSwyMCArMTY4MSwxOSBAQAogREVQT0JKX3NwYXJjX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy1zcGFyYy5oIFwKICAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi9zcGFyYy5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXAogICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oCisgIHN1YnNlZ3MuaAogCiBERVBPQkpfc3BhcmNfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy1zcGFyYy5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIAogREVQT0JKX3NwdV9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLXNwdS5oICQoSU5DRElSKS9vcGNvZGUvc3B1LmggXAogICAkKElOQ0RJUikvb3Bjb2RlL3NwdS1pbnNucy5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIFwKLSAgZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIAogREVQT0JKX3RpYzMwX2FvdXQgPSAkKHNyY2RpcikvY29uZmlnL29iai1hb3V0LmggJChzcmNkaXIpL2NvbmZpZy90Yy10aWMzMC5oIFwKICAgJChCRkRESVIpL2xpYmFvdXQuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oIFwKQEAgLTE3MDEsMjQgKzE3MDIsMjMgQEAKIERFUE9CSl90aWMzMF9jb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtdGljMzAuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvdGljMzAuaCAkKElOQ0RJUikvY29mZi9leHRlcm5hbC5oIFwKICAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaAorICBzdWJzZWdzLmgKIAogREVQT0JKX3RpYzR4X2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy10aWM0eC5oIFwKICAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi90aWM0eC5oICQoSU5DRElSKS9jb2ZmL3RpLmggXAogICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oCisgIHN1YnNlZ3MuaAogCiBERVBPQkpfdGljNTR4X2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy10aWM1NHguaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvdGljNTR4LmggJChJTkNESVIpL2NvZmYvdGkuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgc3Vic2Vncy5oCiAKIERFUE9CSl92ODUwX2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtdjg1MC5oICQoSU5DRElSKS9lbGYvdjg1MC5oIFwKICAgJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBkd2FyZjJkYmcuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBcCi0gIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl92YXhfYW91dCA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWFvdXQuaCAkKHNyY2RpcikvY29uZmlnL3RjLXZheC5oIFwKICAgJChCRkRESVIpL2xpYmFvdXQuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oIFwKQEAgLTE3MjgsMzYgKzE3MjgsMzUgQEAKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLXZheC5oIGR3YXJmMmRiZy5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaCBzdWJzZWdzLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKKyAgc3RydWMtc3ltYm9sLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIAogREVQT0JKX3hjMTZ4X2VsZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWVsZi5oICQoQkZERElSKS9lbGYtYmZkLmggXAogICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMteGMxNnguaCBkd2FyZjJkYmcuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl94c3Rvcm15MTZfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy14c3Rvcm15MTYuaCBcCiAgIGR3YXJmMmRiZy5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmggXAotICAkKElOQ0RJUikvb2JzdGFjay5oIHN0cnVjLXN5bWJvbC5oIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgIHN0cnVjLXN5bWJvbC5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCiAKIERFUE9CSl94dGVuc2FfZWxmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotZWxmLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCiAgICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9iZmRsaW5rLmggJChzcmNkaXIpL2NvbmZpZy90Yy14dGVuc2EuaCAkKElOQ0RJUikveHRlbnNhLWlzYS5oIFwKICAgJChJTkNESVIpL3h0ZW5zYS1jb25maWcuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN1YnNlZ3MuaCBcCi0gICQoSU5DRElSKS9vYnN0YWNrLmggJChJTkNESVIpL29ic3RhY2suaCBzdHJ1Yy1zeW1ib2wuaCBcCi0gIGR3YXJmMmRiZy5oICQoSU5DRElSKS9hb3V0L2FvdXQ2NC5oCisgICQoSU5DRElSKS9vYnN0YWNrLmggc3RydWMtc3ltYm9sLmggZHdhcmYyZGJnLmggJChJTkNESVIpL2FvdXQvYW91dDY0LmgKIAogREVQT0JKX3o4MF9jb2ZmID0gJChzcmNkaXIpL2NvbmZpZy9vYmotY29mZi5oICQoc3JjZGlyKS9jb25maWcvdGMtejgwLmggXAogICAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoSU5DRElSKS9jb2ZmL3o4MC5oICQoSU5DRElSKS9jb2ZmL2V4dGVybmFsLmggXAogICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL29ic3RhY2suaCBcCi0gIHN1YnNlZ3MuaCAkKElOQ0RJUikvb2JzdGFjay5oCisgIHN1YnNlZ3MuaAogCiBERVBPQkpfejhrX2NvZmYgPSAkKHNyY2RpcikvY29uZmlnL29iai1jb2ZmLmggJChzcmNkaXIpL2NvbmZpZy90Yy16OGsuaCBcCiAgICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvejhrLmggJChJTkNESVIpL2NvZmYvZXh0ZXJuYWwuaCBcCiAgICQoQkZERElSKS9saWJjb2ZmLmggJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvb2JzdGFjay5oIFwKLSAgc3Vic2Vncy5oICQoSU5DRElSKS9vYnN0YWNrLmgKKyAgc3Vic2Vncy5oCiAKIERFUE9CSl9ocHBhX3NvbSA9ICQoc3JjZGlyKS9jb25maWcvb2JqLXNvbS5oIHN1YnNlZ3MuaCBcCiAgICQoSU5DRElSKS9vYnN0YWNrLmggJChCRkRESVIpL2xpYmhwcGEuaCAkKEJGRERJUikvc29tLmggXApAQCAtMjA0MiwxMyArMjA0MSwxMyBAQAogICAkKEJGRERJUikvbGliY29mZi5oCiAKIERFUF9wcGNfY29mZiA9ICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKHNyY2RpcikvY29uZmlnL3RjLXBwYy5oIFwKLSAgJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKElOQ0RJUikvY29mZi9yczYwMDAuaCAkKEJGRERJUikvbGliY29mZi5oIFwKLSAgJChJTkNESVIpL2JmZGxpbmsuaAorICAkKElOQ0RJUikvb3Bjb2RlL3BwYy5oICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggJChJTkNESVIpL2NvZmYvcnM2MDAwLmggXAorICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmgKIAogREVQX3BwY19lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKICAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKLSAgJChJTkNESVIpL2JmZGxpbmsuaCAkKHNyY2RpcikvY29uZmlnL3RjLXBwYy5oIGR3YXJmMmRiZy5oIFwKLSAgJChzcmNkaXIpL2NvbmZpZy9vYmotY29mZi5oICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggXAorICAkKElOQ0RJUikvYmZkbGluay5oICQoc3JjZGlyKS9jb25maWcvdGMtcHBjLmggJChJTkNESVIpL29wY29kZS9wcGMuaCBcCisgIGR3YXJmMmRiZy5oICQoc3JjZGlyKS9jb25maWcvb2JqLWNvZmYuaCAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oIFwKICAgJChJTkNESVIpL2NvZmYvcnM2MDAwLmggJChCRkRESVIpL2xpYmNvZmYuaAogCiBERVBfczM5MF9lbGYgPSAkKHNyY2RpcikvY29uZmlnL29iai1lbGYuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKZGlmZiAtLWdpdCBhL2dhcy9ORVdTIGIvZ2FzL05FV1MKaW5kZXggM2M4MDRjMy4uMTYzMjRkNiAxMDA2NDQKLS0tIGEvZ2FzL05FV1MKKysrIGIvZ2FzL05FV1MKQEAgLTIsNiArMiw5IEBACiAKIENoYW5nZXMgaW4gMi4xOToKIAorKiBOZXcgcHNldWRvIG9wIC5jZmlfdmFsX2VuY29kZWRfYWRkciwgdG8gcmVjb3JkIGNvbnN0YW50IGFkZHJlc3NlcyBpbiB1bndpbmQKKyAgdGFibGVzIHdpdGhvdXQgcnVudGltZSByZWxvY2F0aW9uLgorCiAqIE5ldyBjb21tYW5kIGxpbmUgb3B0aW9uLCAtaC10aWNrLWhleCwgZm9yIHNoLCBtMzJjLCBhbmQgaDgvMzAwIHRhcmdldHMsIHdoaWNoCiAgIGFkZHMgY29tcGF0aWJpbGl0eSB3aXRoIEgnMDAgc3R5bGUgaGV4IGNvbnN0YW50cy4KIApkaWZmIC0tZ2l0IGEvZ2FzL2FjbG9jYWwubTQgYi9nYXMvYWNsb2NhbC5tNAppbmRleCAyZThjOTliLi4wN2E5ZjQxIDEwMDY0NAotLS0gYS9nYXMvYWNsb2NhbC5tNAorKysgYi9nYXMvYWNsb2NhbC5tNApAQCAtODkyLDQgKzg5Miw1IEBACiBtNF9pbmNsdWRlKFsuLi9sdG9wdGlvbnMubTRdKQogbTRfaW5jbHVkZShbLi4vbHRzdWdhci5tNF0pCiBtNF9pbmNsdWRlKFsuLi9sdHZlcnNpb24ubTRdKQorbTRfaW5jbHVkZShbLi4vbHR+b2Jzb2xldGUubTRdKQogbTRfaW5jbHVkZShbYWNpbmNsdWRlLm00XSkKZGlmZiAtLWdpdCBhL2dhcy9hcHAuYyBiL2dhcy9hcHAuYwppbmRleCA2ZmE2MDRmLi5iOTgzMmQxIDEwMDY0NAotLS0gYS9nYXMvYXBwLmMKKysrIGIvZ2FzL2FwcC5jCkBAIC0xMDI0LDcgKzEwMjQsOCBAQAogCiAjaWZuZGVmIElFRUVfU1RZTEUKIAljYXNlIExFWF9JU19PTkVDSEFSX1FVT1RFOgotCSAgaWYgKHN0YXRlID09IDkpCisjaWZkZWYgSF9USUNLX0hFWAorCSAgaWYgKHN0YXRlID09IDkgJiYgZW5hYmxlX2hfdGlja19oZXgpCiAJICAgIHsKIAkgICAgICBjaGFyIGM7CiAKQEAgLTEwMzIsNiArMTAzMyw3IEBACiAJICAgICAgYXNfd2FybiAoIiclYyBmb3VuZCBhZnRlciBzeW1ib2wiLCBjKTsKIAkgICAgICBVTkdFVCAoYyk7CiAJICAgIH0KKyNlbmRpZgogCSAgaWYgKHN0YXRlID09IDEwKQogCSAgICB7CiAJICAgICAgLyogUHJlc2VydmUgdGhlIHdoaXRlc3BhY2UgaW4gZm9vICdiJy4gICovCmRpZmYgLS1naXQgYS9nYXMvY29uZmlnLmluIGIvZ2FzL2NvbmZpZy5pbgppbmRleCBhN2I2NDM0Li4xYTc0NDM3IDEwMDY0NAotLS0gYS9nYXMvY29uZmlnLmluCisrKyBiL2dhcy9jb25maWcuaW4KQEAgLTI0NywxMSArMjQ3LDE3IEBACiAgICBgY2hhcltdJy4gKi8KICN1bmRlZiBZWVRFWFRfUE9JTlRFUgogCisvKiBOdW1iZXIgb2YgYml0cyBpbiBhIGZpbGUgb2Zmc2V0LCBvbiBob3N0cyB3aGVyZSB0aGlzIGlzIHNldHRhYmxlLiAqLworI3VuZGVmIF9GSUxFX09GRlNFVF9CSVRTCisKIC8qIEVuYWJsZSBHTlUgZXh0ZW5zaW9ucyBvbiBzeXN0ZW1zIHRoYXQgaGF2ZSB0aGVtLiAgKi8KICNpZm5kZWYgX0dOVV9TT1VSQ0UKICMgdW5kZWYgX0dOVV9TT1VSQ0UKICNlbmRpZgogCisvKiBEZWZpbmUgZm9yIGxhcmdlIGZpbGVzLCBvbiBBSVgtc3R5bGUgaG9zdHMuICovCisjdW5kZWYgX0xBUkdFX0ZJTEVTCisKIC8qIERlZmluZSB0byAxIGlmIG9uIE1JTklYLiAqLwogI3VuZGVmIF9NSU5JWAogCmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL2JmaW4tcGFyc2UueSBiL2dhcy9jb25maWcvYmZpbi1wYXJzZS55CmluZGV4IDI4M2I4MTMuLjgzY2M2ODggMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvYmZpbi1wYXJzZS55CisrKyBiL2dhcy9jb25maWcvYmZpbi1wYXJzZS55CkBAIC0xLDUgKzEsNSBAQAogLyogYmZpbi1wYXJzZS55ICBBREkgQmxhY2tmaW4gcGFyc2VyCi0gICBDb3B5cmlnaHQgMjAwNSwgMjAwNiwgMjAwNworICAgQ29weXJpZ2h0IDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgKICAgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHQVMsIHRoZSBHTlUgQXNzZW1ibGVyLgpAQCAtMjMsNyArMjMsNyBAQAogI2luY2x1ZGUgImFzLmgiCiAjaW5jbHVkZSA8b2JzdGFjay5oPgogCi0jaW5jbHVkZSAiYmZpbi1hdXguaCIgIC8vIG9wY29kZSBnZW5lcmF0aW5nIGF1eGlsaWFyaWVzCisjaW5jbHVkZSAiYmZpbi1hdXguaCIgIC8qIE9wY29kZSBnZW5lcmF0aW5nIGF1eGlsaWFyaWVzLiAgKi8KICNpbmNsdWRlICJsaWJiZmQuaCIKICNpbmNsdWRlICJlbGYvY29tbW9uLmgiCiAjaW5jbHVkZSAiZWxmL2JmaW4uaCIKQEAgLTE5MzIsMjIgKzE5MzIsMjAgQEAKIAkgIGVsc2UKIAkgICAgcmV0dXJuIHl5ZXJyb3IgKCJCYWQgc2hpZnQgdmFsdWUgb3IgcmVnaXN0ZXIiKTsKIAl9Ci0JfCBIQUxGX1JFRyBBU1NJR04gSEFMRl9SRUcgTEVTU19MRVNTIGV4cHIKLQl7Ci0JICBpZiAoSVNfVUlNTSAoJDUsIDQpKQotCSAgICB7Ci0JICAgICAgbm90ZXRoYXQgKCJkc3AzMnNoaWZ0aW1tOiBkcmVnc19oYWxmID0gZHJlZ3NfaGFsZiA8PCB1aW1tNFxuIik7Ci0JICAgICAgJCQgPSBEU1AzMlNISUZUSU1NICgweDAsICYkMSwgaW1tNSAoJDUpLCAmJDMsIDIsIEhMMiAoJDEsICQzKSk7Ci0JICAgIH0KLQkgIGVsc2UKLQkgICAgcmV0dXJuIHl5ZXJyb3IgKCJCYWQgc2hpZnQgdmFsdWUiKTsKLQl9CiAJfCBIQUxGX1JFRyBBU1NJR04gSEFMRl9SRUcgTEVTU19MRVNTIGV4cHIgc21vZCAKIAl7CiAJICBpZiAoSVNfVUlNTSAoJDUsIDQpKQogCSAgICB7Ci0JICAgICAgbm90ZXRoYXQgKCJkc3AzMnNoaWZ0aW1tOiBkcmVnc19oYWxmID0gZHJlZ3NfaGFsZiA8PCB1aW1tNFxuIik7Ci0JICAgICAgJCQgPSBEU1AzMlNISUZUSU1NICgweDAsICYkMSwgaW1tNSAoJDUpLCAmJDMsICQ2LnMwLCBITDIgKCQxLCAkMykpOworCSAgICAgIGlmICgkNi5zMCkKKwkJeworCQkgIG5vdGV0aGF0ICgiZHNwMzJzaGlmdGltbTogZHJlZ3NfaGFsZiA9IGRyZWdzX2hhbGYgPDwgdWltbTQgKFMpXG4iKTsKKwkJICAkJCA9IERTUDMyU0hJRlRJTU0gKDB4MCwgJiQxLCBpbW01ICgkNSksICYkMywgJDYuczAsIEhMMiAoJDEsICQzKSk7CisJCX0KKwkgICAgICBlbHNlCisJCXsKKwkJICBub3RldGhhdCAoImRzcDMyc2hpZnRpbW06IGRyZWdzX2hhbGYgPSBkcmVnc19oYWxmIDw8IHVpbW00XG4iKTsKKwkJICAkJCA9IERTUDMyU0hJRlRJTU0gKDB4MCwgJiQxLCBpbW01ICgkNSksICYkMywgMiwgSEwyICgkMSwgJDMpKTsKKwkJfQogCSAgICB9CiAJICBlbHNlCiAJICAgIHJldHVybiB5eWVycm9yICgiQmFkIHNoaWZ0IHZhbHVlIik7CmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLWJmaW4uYyBiL2dhcy9jb25maWcvdGMtYmZpbi5jCmluZGV4IDhkY2NkYmMuLmMzYjhhZWYgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtYmZpbi5jCisrKyBiL2dhcy9jb25maWcvdGMtYmZpbi5jCkBAIC05NjAsNyArOTYwLDcgQEAKIElOU1RSX1QKIGdlbmNvZGUgKHVuc2lnbmVkIGxvbmcgeCkKIHsKLSAgSU5TVFJfVCBjZWxsID0gKElOU1RSX1QpIG9ic3RhY2tfYWxsb2MgKCZtZW1wb29sLCBzaXplb2YgKHN0cnVjdCBiZmluX2luc24pKTsKKyAgSU5TVFJfVCBjZWxsID0gb2JzdGFja19hbGxvYyAoJm1lbXBvb2wsIHNpemVvZiAoc3RydWN0IGJmaW5faW5zbikpOwogICBtZW1zZXQgKGNlbGwsIDAsIHNpemVvZiAoc3RydWN0IGJmaW5faW5zbikpOwogICBjZWxsLT52YWx1ZSA9ICh4KTsKICAgcmV0dXJuIGNlbGw7CkBAIC05NzMsNyArOTczLDcgQEAKIHN0YXRpYyB2b2lkICoKIGFsbG9jYXRlIChpbnQgbikKIHsKLSAgcmV0dXJuICh2b2lkICopIG9ic3RhY2tfYWxsb2MgKCZtZW1wb29sLCBuKTsKKyAgcmV0dXJuIG9ic3RhY2tfYWxsb2MgKCZtZW1wb29sLCBuKTsKIH0KIAogRXhwcl9Ob2RlICoKQEAgLTE0NTIsMTQgKzE0NTIsMTQgQEAKICAgICB7CiAgICAgICBpbnQgdmFsdWUsIG9mZnNldDsKICAgICAgIHN3aXRjaCAoc3opCi0JewkJCQkvLyBsb2FkL3N0b3JlIGFjY2VzcyBzaXplCi0JY2FzZSAwOgkJCS8vIDMyIGJpdAorCXsJCQkJLyogbG9hZC9zdG9yZSBhY2Nlc3Mgc2l6ZSAqLworCWNhc2UgMDoJCQkvKiAzMiBiaXQgKi8KIAkgIHZhbHVlID0gRVhQUl9WQUxVRSAocG9mZnNldCkgPj4gMjsKIAkgIGJyZWFrOwotCWNhc2UgMToJCQkvLyAxNiBiaXQKKwljYXNlIDE6CQkJLyogMTYgYml0ICovCiAJICB2YWx1ZSA9IEVYUFJfVkFMVUUgKHBvZmZzZXQpID4+IDE7CiAJICBicmVhazsKLQljYXNlIDI6CQkJLy8gOCBiaXQKKwljYXNlIDI6CQkJLyogOCBiaXQgKi8KIAkgIHZhbHVlID0gRVhQUl9WQUxVRSAocG9mZnNldCk7CiAJICBicmVhazsKIAlkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1jcmlzLmMgYi9nYXMvY29uZmlnL3RjLWNyaXMuYwppbmRleCAzMjVmODQyLi5jNzZlMGQ0IDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLWNyaXMuYworKysgYi9nYXMvY29uZmlnL3RjLWNyaXMuYwpAQCAtNTIsNyArNTIsNyBAQAogCiAvKiBMaWtlIGluICI6R09UIiwgIjpHT1RPRkYiIGV0Yy4gIE90aGVyIHBvcnRzIHVzZSAnQCcsIGJ1dCB0aGF0J3MgaW4KICAgIGxpbmVfc2VwYXJhdG9yX2NoYXJzIGZvciBDUklTLCBzbyB3ZSBhdm9pZCBpdC4gICovCi0jZGVmaW5lIFBJQ19TVUZGSVhfQ0hBUiAnOicKKyNkZWZpbmUgUkVMT0NfU1VGRklYX0NIQVIgJzonCiAKIC8qIFRoaXMgbWlnaHQgYmUgQ1JJU19JTlNOX05PTkUgaWYgd2UncmUgYXNzZW1ibGluZyBhIHByZWZpeC1pbnNuIG9ubHkuCiAgICBOb3RlIHRoYXQgc29tZSBwcmVmaXgtaW5zbnMgbWlnaHQgYmUgYXNzZW1ibGVkIGFzIENSSVNfSU5TTl9OT1JNQUwuICAqLwpAQCAtMTUwLDkgKzE1MCw5IEBACiBzdGF0aWMgdm9pZCBzX2NyaXNfYXJjaCAoaW50KTsKIAogLyogR2V0ICI6R09UIiwgIjpHT1RPRkYiLCAiOlBMVCIgZXRjLiBzdWZmaXhlcy4gICovCi1zdGF0aWMgdm9pZCBjcmlzX2dldF9waWNfc3VmZml4IChjaGFyICoqLCBiZmRfcmVsb2NfY29kZV9yZWFsX3R5cGUgKiwKLQkJCQkgZXhwcmVzc2lvblMgKik7Ci1zdGF0aWMgdW5zaWduZWQgaW50IGNyaXNfZ2V0X3BpY19yZWxvY19zaXplIChiZmRfcmVsb2NfY29kZV9yZWFsX3R5cGUpOworc3RhdGljIHZvaWQgY3Jpc19nZXRfcmVsb2Nfc3VmZml4IChjaGFyICoqLCBiZmRfcmVsb2NfY29kZV9yZWFsX3R5cGUgKiwKKwkJCQkgICBleHByZXNzaW9uUyAqKTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgY3Jpc19nZXRfc3BlY2lmaWVkX3JlbG9jX3NpemUgKGJmZF9yZWxvY19jb2RlX3JlYWxfdHlwZSk7CiAKIC8qIEFsbCB0aGUgLnN5bnRheCBmdW5jdGlvbnMuICAqLwogc3RhdGljIHZvaWQgY3Jpc19mb3JjZV9yZWdfcHJlZml4ICh2b2lkKTsKQEAgLTE4Myw2ICsxODMsOSBAQAogLyogV2hldGhlciBvciBub3Qgd2UgYWxsb3cgUElDLCBhbmQgZXhwYW5kIHRvIFBJQy1mcmllbmRseSBjb25zdHJ1Y3RzLiAgKi8KIHN0YXRpYyBiZmRfYm9vbGVhbiBwaWMgPSBGQUxTRTsKIAorLyogV2hldGhlciBvciBub3Qgd2UgYWxsb3cgVExTIHN1ZmZpeGVzLiAgRm9yIHRoZSBtb21lbnQsIHdlIGFsd2F5cyBkby4gICovCitzdGF0aWMgY29uc3QgYmZkX2Jvb2xlYW4gdGxzID0gVFJVRTsKKwogLyogSWYgd2UncmUgY29uZmlndXJlZCBmb3IgImNyaXMiLCBkZWZhdWx0IHRvIGFsbG93IGFsbCB2MC4udjEwCiAgICBpbnN0cnVjdGlvbnMgYW5kIHJlZ2lzdGVyIG5hbWVzLiAgKi8KICNpZm5kZWYgREVGQVVMVF9DUklTX0FSQ0gKQEAgLTEyNTIsNyArMTI1NSw3IEBACiAgICAgICAvKiBXaGVuIHRoZSBleHByZXNzaW9uIGlzIHVua25vd24gZm9yIGEgQkRBUCwgaXQgY2FuIG5lZWQgMCwgMiBvciA0CiAJIGV4dHJhIGJ5dGVzLCBzbyB3ZSBoYW5kbGUgaXQgc2VwYXJhdGVseS4gICovCiAgICAgY2FzZSBQUkVGSVhfQkRBUF9JTU06Ci0gICAgICAvKiBXZSBvbmx5IGRvIGl0IGlmIHRoZSByZWxvY2F0aW9uIGlzIHVuc3BlY2lmaWVkLCBpLmUuIG5vdCBhIFBJQworICAgICAgLyogV2Ugb25seSBkbyBpdCBpZiB0aGUgcmVsb2NhdGlvbiBpcyB1bnNwZWNpZmllZCwgaS5lLiBub3QgYSBQSUMgb3IgVExTCiAJIHJlbG9jYXRpb24uICAqLwogICAgICAgaWYgKHByZWZpeC5yZWxvYyA9PSBCRkRfUkVMT0NfTk9ORSkKIAl7CkBAIC0xMjY5LDEzICsxMjcyLDEzIEBACiAgICAgICBtZF9udW1iZXJfdG9fY2hhcnMgKG9wY29kZXAsIChsb25nKSBwcmVmaXgub3Bjb2RlLCAyKTsKIAogICAgICAgLyogSGF2aW5nIGEgc3BlY2lmaWVkIHJlbG9jIG9ubHkgaGFwcGVucyBmb3IgRElQIGFuZCBmb3IgQkRBUCB3aXRoCi0JIFBJQyBvcGVyYW5kcywgYnV0IGl0IGlzIG9rIHRvIGRyb3AgdGhyb3VnaCBoZXJlIGZvciB0aGUgb3RoZXIKKwkgUElDIG9yIFRMUyBvcGVyYW5kcywgYnV0IGl0IGlzIG9rIHRvIGRyb3AgdGhyb3VnaCBoZXJlIGZvciB0aGUgb3RoZXIKIAkgcHJlZml4ZXMgYXMgdGhleSBjYW4gaGF2ZSBubyByZWxvY3Mgc3BlY2lmaWVkLiAgKi8KICAgICAgIGlmIChwcmVmaXgucmVsb2MgIT0gQkZEX1JFTE9DX05PTkUpCiAJewogCSAgdW5zaWduZWQgaW50IHJlbG9jc2l6ZQogCSAgICA9IChwcmVmaXgua2luZCA9PSBQUkVGSVhfRElQCi0JICAgICAgID8gNCA6IGNyaXNfZ2V0X3BpY19yZWxvY19zaXplIChwcmVmaXgucmVsb2MpKTsKKwkgICAgICAgPyA0IDogY3Jpc19nZXRfc3BlY2lmaWVkX3JlbG9jX3NpemUgKHByZWZpeC5yZWxvYykpOwogCiAJICBwID0gZnJhZ19tb3JlIChyZWxvY3NpemUpOwogCSAgZml4X25ld19leHAgKGZyYWdfbm93LCAocCAtIGZyYWdfbm93LT5mcl9saXRlcmFsKSwgcmVsb2NzaXplLApAQCAtMTg4OSw3ICsxODkyLDcgQEAKIAkJCSB3aGV0aGVyIG9yIG5vdCB0aGlzIGlzIGF1dG9pbmNyZW1lbnQgbW9kZS4gICovCiAJCSAgICAgIG91dF9pbnNucC0+b3Bjb2RlIHw9IChtb2RlIDw8IDEwKTsKIAotCQkgICAgICAvKiBJZiB0aGVyZSB3YXMgYSBQSUMgcmVsb2Mgc3BlY2lmaWVyLCB0aGVuIGl0IHdhcworCQkgICAgICAvKiBJZiB0aGVyZSB3YXMgYSByZWxvYyBzcGVjaWZpZXIsIHRoZW4gaXQgd2FzCiAJCQkgYXR0YWNoZWQgdG8gdGhlIHByZWZpeC4gIE5vdGUgdGhhdCB3ZSBjYW4ndCBjaGVjawogCQkJIHRoYXQgdGhlIHJlbG9jIHNpemUgbWF0Y2hlcywgc2luY2Ugd2UgZG9uJ3QgaGF2ZQogCQkJIGFsbCB0aGUgb3BlcmFuZHMgeWV0IGluIGFsbCBjYXNlcy4gICovCkBAIC0xOTAzLDggKzE5MDYsOCBAQAogCiAJICAgIGNhc2UgJ04nOgogCSAgICBjYXNlICdZJzoKLQkgICAgICAvKiBMaWtlICdzJywgYnV0IGltbWVkaWF0ZSBvcGVyYW5kIG9ubHkuICBBbHNvIGRvZXMgbm90Ci0JCSBtb2RpZnkgaW5zbi4gIFRoZXJlIGFyZSBubyBpbnNucyB3aGVyZSBhIFBJQyByZWxvYworCSAgICAgIC8qIExpa2UgJ3MnLCBidXQgaW1tZWRpYXRlIG9wZXJhbmQgb25seS4gIEFsc28gZG8gbm90CisJCSBtb2RpZnkgaW5zbi4gIFRoZXJlIGFyZSBubyBpbnNucyB3aGVyZSBhbiBleHBsaWNpdCByZWxvYwogCQkgc3BlY2lmaWVyIG1ha2VzIHNlbnNlLiAgKi8KIAkgICAgICBpZiAoY3Jpc19nZXRfZXhwcmVzc2lvbiAoJnMsICZvdXRfaW5zbnAtPmV4cHIpKQogCQl7CkBAIC0xOTI3LDkgKzE5MzAsMTAgQEAKIAkJICAgICByZWxvY2F0aW9uLiAgKi8KIAkJICBvdXRfaW5zbnAtPmV4cHIuWF9hZGRfbnVtYmVyICs9IDY7CiAKLQkJICBpZiAocGljICYmICpzID09IFBJQ19TVUZGSVhfQ0hBUikKLQkJICAgIGNyaXNfZ2V0X3BpY19zdWZmaXggKCZzLCAmb3V0X2luc25wLT5yZWxvYywKLQkJCQkJICZvdXRfaW5zbnAtPmV4cHIpOworCQkgIC8qIFRMUyBzcGVjaWZpZXJzIGRvIG5vdCBtYWtlIHNlbnNlIGhlcmUuICAqLworCQkgIGlmIChwaWMgJiYgKnMgPT0gUkVMT0NfU1VGRklYX0NIQVIpCisJCSAgICBjcmlzX2dldF9yZWxvY19zdWZmaXggKCZzLCAmb3V0X2luc25wLT5yZWxvYywKKwkJCQkJICAgJm91dF9pbnNucC0+ZXhwcik7CiAKIAkJICBjb250aW51ZTsKIAkJfQpAQCAtMjE5NCwxMyArMjE5OCwxNyBAQAogCQl9CiAKIAkgICAgICAvKiBJZiB0aGVyZSB3YXMgYSByZWxvY2F0aW9uIHNwZWNpZmllZCBmb3IgdGhlIGltbWVkaWF0ZQotCQkgZXhwcmVzc2lvbiAoaS5lLiBpdCBoYWQgYSBQSUMgbW9kaWZpZXIpIGNoZWNrIHRoYXQgdGhlCi0JCSBzaXplIG9mIHRoZSBQSUMgcmVsb2NhdGlvbiBtYXRjaGVzIHRoZSBzaXplIHNwZWNpZmllZCBieQorCQkgZXhwcmVzc2lvbiAoaS5lLiBpdCBoYWQgYSBQSUMgb3IgVExTIG1vZGlmaWVyKSBjaGVjayB0aGF0IHRoZQorCQkgc2l6ZSBvZiB0aGUgcmVsb2NhdGlvbiBtYXRjaGVzIHRoZSBzaXplIHNwZWNpZmllZCBieQogCQkgdGhlIG9wY29kZS4gICovCiAJICAgICAgaWYgKG91dF9pbnNucC0+cmVsb2MgIT0gQkZEX1JFTE9DX05PTkUKLQkJICAmJiAoY3Jpc19nZXRfcGljX3JlbG9jX3NpemUgKG91dF9pbnNucC0+cmVsb2MpCisJCSAgJiYgKGNyaXNfZ2V0X3NwZWNpZmllZF9yZWxvY19zaXplIChvdXRfaW5zbnAtPnJlbG9jKQogCQkgICAgICAhPSAodW5zaWduZWQgaW50KSBvdXRfaW5zbnAtPmltbV9vcHJuZF9zaXplKSkKLQkJYXNfYmFkIChfKCJQSUMgcmVsb2NhdGlvbiBzaXplIGRvZXMgbm90IG1hdGNoIG9wZXJhbmQgc2l6ZSIpKTsKKwkJYXNfYmFkIChvdXRfaW5zbnAtPnJlbG9jID09IEJGRF9SRUxPQ19DUklTXzMyX0dECisJCQl8fCBvdXRfaW5zbnAtPnJlbG9jID09IEJGRF9SRUxPQ19DUklTXzMyX1RQUkVMCisJCQl8fCBvdXRfaW5zbnAtPnJlbG9jID09IEJGRF9SRUxPQ19DUklTXzE2X1RQUkVMCisJCQk/IF8oIlRMUyByZWxvY2F0aW9uIHNpemUgZG9lcyBub3QgbWF0Y2ggb3BlcmFuZCBzaXplIikKKwkJCTogXygiUElDIHJlbG9jYXRpb24gc2l6ZSBkb2VzIG5vdCBtYXRjaCBvcGVyYW5kIHNpemUiKSk7CiAJICAgIH0KIAkgIGVsc2UgaWYgKGluc3RydWN0aW9uLT5vcCA9PSBjcmlzX211bHNfb3AKIAkJICAgfHwgaW5zdHJ1Y3Rpb24tPm9wID09IGNyaXNfbXVsdV9vcCkKQEAgLTI3MTUsOCArMjcyMyw4IEBACiAKIAkJCSAgLyogV2UgdGVudGF0aXZlbHkgcHV0IGFuIG9wY29kZSBjb3JyZXNwb25kaW5nIHRvCiAJCQkgICAgIGEgMzItYml0IG9wZXJhbmQgaGVyZSwgYWx0aG91Z2ggaXQgbWF5IGJlCi0JCQkgICAgIHJlbGF4ZWQgd2hlbiB0aGVyZSdzIG5vIFBJQyBzcGVjaWZpZXIgZm9yIHRoZQotCQkJICAgICBvcGVyYW5kLiAgKi8KKwkJCSAgICAgcmVsYXhlZCB3aGVuIHRoZXJlJ3Mgbm8gcmVsb2NhdGlvbgorCQkJICAgICBzcGVjaWZpZXIgZm9yIHRoZSBvcGVyYW5kLiAgKi8KIAkJCSAgcHJlZml4cC0+b3Bjb2RlCiAJCQkgICAgPSAoQkRBUF9JTkRJUl9PUENPREUKIAkJCSAgICAgICB8IChwcmVmaXhwLT5iYXNlX3JlZ19udW1iZXIgPDwgMTIpCkBAIC0yNzI2LDE4ICsyNzM0LDE4IEBACiAKIAkJCSAgLyogVGhpcyBjYW4gaGF2ZSBhIFBJQyBzdWZmaXgsIHNwZWNpZnlpbmcgcmVsb2MKIAkJCSAgICAgdHlwZSB0byB1c2UuICAqLwotCQkJICBpZiAocGljICYmICoqY1BQID09IFBJQ19TVUZGSVhfQ0hBUikKKwkJCSAgaWYgKChwaWMgfHwgdGxzKSAmJiAqKmNQUCA9PSBSRUxPQ19TVUZGSVhfQ0hBUikKIAkJCSAgICB7CiAJCQkgICAgICB1bnNpZ25lZCBpbnQgcmVsb2NzaXplOwogCi0JCQkgICAgICBjcmlzX2dldF9waWNfc3VmZml4IChjUFAsICZwcmVmaXhwLT5yZWxvYywKLQkJCQkJCSAgICZwcmVmaXhwLT5leHByKTsKKwkJCSAgICAgIGNyaXNfZ2V0X3JlbG9jX3N1ZmZpeCAoY1BQLCAmcHJlZml4cC0+cmVsb2MsCisJCQkJCQkgICAgICZwcmVmaXhwLT5leHByKTsKIAogCQkJICAgICAgLyogVHdlYWsgdGhlIHNpemUgb2YgdGhlIGltbWVkaWF0ZSBvcGVyYW5kCiAJCQkJIGluIHRoZSBwcmVmaXggb3Bjb2RlIGlmIGl0IGlzbid0IHdoYXQgd2UKIAkJCQkgc2V0LiAgKi8KIAkJCSAgICAgIHJlbG9jc2l6ZQotCQkJCT0gY3Jpc19nZXRfcGljX3JlbG9jX3NpemUgKHByZWZpeHAtPnJlbG9jKTsKKwkJCQk9IGNyaXNfZ2V0X3NwZWNpZmllZF9yZWxvY19zaXplIChwcmVmaXhwLT5yZWxvYyk7CiAJCQkgICAgICBpZiAocmVsb2NzaXplICE9IDQpCiAJCQkJcHJlZml4cC0+b3Bjb2RlCiAJCQkJICA9ICgocHJlZml4cC0+b3Bjb2RlICYgfigzIDw8IDQpKQpAQCAtMjc2Myw4ICsyNzcxLDkgQEAKIAkJCSAgICAgaW4gdGhlIGJsYW5rcyBhbmQgYnJlYWsgb3V0IHRvIG1hdGNoIHRoZQogCQkJICAgICBmaW5hbCAnXScuCiAKLQkJCSAgICAgTm90ZSB0aGF0IHdlIGRvbid0IGFsbG93IGEgUElDIHN1ZmZpeCBmb3IgYW4KLQkJCSAgICAgb3BlcmFuZCB3aXRoIGEgbWludXMgc2lnbi4gICovCisJCQkgICAgIE5vdGUgdGhhdCB3ZSBkb24ndCBhbGxvdyBhIHJlbG9jYXRpb24KKwkJCSAgICAgc3VmZml4IGZvciBhbiBvcGVyYW5kIHdpdGggYSBtaW51cworCQkJICAgICBzaWduLiAgKi8KIAkJCSAgcHJlZml4cC0+a2luZCA9IFBSRUZJWF9CREFQX0lNTTsKIAkJCSAgYnJlYWs7CiAJCQl9CkBAIC0yODAyLDggKzI4MTEsOCBAQAogCiAgICAgICAvKiBUaGlzIGNhbiBoYXZlIGEgUElDIHN1ZmZpeCwgc3BlY2lmeWluZyByZWxvYyB0eXBlIHRvIHVzZS4gIFRoZQogCSBjYWxsZXIgbXVzdCBjaGVjayB0aGF0IHRoZSByZWxvYyBzaXplIG1hdGNoZXMgdGhlIG9wZXJhbmQgc2l6ZS4gICovCi0gICAgICBpZiAocGljICYmICoqY1BQID09IFBJQ19TVUZGSVhfQ0hBUikKLQljcmlzX2dldF9waWNfc3VmZml4IChjUFAsICZwcmVmaXhwLT5yZWxvYywgaW1tX2V4cHJQKTsKKyAgICAgIGlmICgocGljIHx8IHRscykgJiYgKipjUFAgPT0gUkVMT0NfU1VGRklYX0NIQVIpCisJY3Jpc19nZXRfcmVsb2Nfc3VmZml4IChjUFAsICZwcmVmaXhwLT5yZWxvYywgaW1tX2V4cHJQKTsKIAogICAgICAgcmV0dXJuIDE7CiAgICAgfQpAQCAtMjk3MSwxNSArMjk4MCwxNSBAQAogCQkgICB8IFJFR19QQyAvKiA8PCAwICovKTsKIAogCSAgICAgIC8qIFRoaXMgY2FuIGhhdmUgYSBQSUMgc3VmZml4LCBzcGVjaWZ5aW5nIHJlbG9jIHR5cGUgdG8gdXNlLiAgKi8KLQkgICAgICBpZiAocGljICYmICoqY1BQID09IFBJQ19TVUZGSVhfQ0hBUikKKwkgICAgICBpZiAoKHBpYyB8fCB0bHMpICYmICoqY1BQID09IFJFTE9DX1NVRkZJWF9DSEFSKQogCQl7CiAJCSAgdW5zaWduZWQgaW50IHJlbG9jc2l6ZTsKIAotCQkgIGNyaXNfZ2V0X3BpY19zdWZmaXggKGNQUCwgJnByZWZpeHAtPnJlbG9jLCAmcHJlZml4cC0+ZXhwcik7CisJCSAgY3Jpc19nZXRfcmVsb2Nfc3VmZml4IChjUFAsICZwcmVmaXhwLT5yZWxvYywgJnByZWZpeHAtPmV4cHIpOwogCiAJCSAgLyogVHdlYWsgdGhlIHNpemUgb2YgdGhlIGltbWVkaWF0ZSBvcGVyYW5kIGluIHRoZSBwcmVmaXgKIAkJICAgICBvcGNvZGUgaWYgaXQgaXNuJ3Qgd2hhdCB3ZSBzZXQuICAqLwotCQkgIHJlbG9jc2l6ZSA9IGNyaXNfZ2V0X3BpY19yZWxvY19zaXplIChwcmVmaXhwLT5yZWxvYyk7CisJCSAgcmVsb2NzaXplID0gY3Jpc19nZXRfc3BlY2lmaWVkX3JlbG9jX3NpemUgKHByZWZpeHAtPnJlbG9jKTsKIAkJICBpZiAocmVsb2NzaXplICE9IDQpCiAJCSAgICBwcmVmaXhwLT5vcGNvZGUKIAkJICAgICAgPSAoKHByZWZpeHAtPm9wY29kZSAmIH4oMyA8PCA0KSkKQEAgLTM0MjYsMTMgKzM0MzUsMTkgQEAKICAgICBtZF9udW1iZXJfdG9fY2hhcnMgKHdyaXRlcCArIDgsIE1PVkVfUENfSU5DUl9PUENPREVfU1VGRklYLCAyKTsKIH0KIAotLyogR2V0IHRoZSBzaXplIG9mIGFuIGltbWVkaWF0ZS1yZWxvYyBpbiBieXRlcy4gIE9ubHkgdmFsaWQgZm9yIFBJQwotICAgcmVsb2NzLiAgKi8KKy8qIEdldCB0aGUgc2l6ZSBvZiBhbiBpbW1lZGlhdGUtcmVsb2MgaW4gYnl0ZXMuICBPbmx5IHZhbGlkIGZvcgorICAgc3BlY2lmaWVkIHJlbG9jcyAoVExTLCBQSUMpLiAgKi8KIAogc3RhdGljIHVuc2lnbmVkIGludAotY3Jpc19nZXRfcGljX3JlbG9jX3NpemUgKGJmZF9yZWxvY19jb2RlX3JlYWxfdHlwZSByZWxvYykKK2NyaXNfZ2V0X3NwZWNpZmllZF9yZWxvY19zaXplIChiZmRfcmVsb2NfY29kZV9yZWFsX3R5cGUgcmVsb2MpCiB7Ci0gIHJldHVybiByZWxvYyA9PSBCRkRfUkVMT0NfQ1JJU18xNl9HT1RQTFQgfHwgcmVsb2MgPT0gQkZEX1JFTE9DX0NSSVNfMTZfR09UCisgIHJldHVybgorICAgIHJlbG9jID09IEJGRF9SRUxPQ19DUklTXzE2X0dPVFBMVAorICAgIHx8IHJlbG9jID09IEJGRF9SRUxPQ19DUklTXzE2X0dPVAorICAgIHx8IHJlbG9jID09IEJGRF9SRUxPQ19DUklTXzE2X0dPVF9HRAorICAgIHx8IHJlbG9jID09IEJGRF9SRUxPQ19DUklTXzE2X0RUUFJFTAorICAgIHx8IHJlbG9jID09IEJGRF9SRUxPQ19DUklTXzE2X0dPVF9UUFJFTAorICAgIHx8IHJlbG9jID09IEJGRF9SRUxPQ19DUklTXzE2X1RQUkVMCiAgICAgPyAyIDogNDsKIH0KIApAQCAtMzQ0MCw4ICszNDU1LDggQEAKICAgIEFkanVzdCAqRVhQUlAgd2l0aCBhbnkgYWRkZW5kIGZvdW5kIGFmdGVyIHRoZSBQSUMgc3VmZml4LiAgKi8KIAogc3RhdGljIHZvaWQKLWNyaXNfZ2V0X3BpY19zdWZmaXggKGNoYXIgKipjUFAsIGJmZF9yZWxvY19jb2RlX3JlYWxfdHlwZSAqcmVsb2NwLAotCQkgICAgIGV4cHJlc3Npb25TICpleHByUCkKK2NyaXNfZ2V0X3JlbG9jX3N1ZmZpeCAoY2hhciAqKmNQUCwgYmZkX3JlbG9jX2NvZGVfcmVhbF90eXBlICpyZWxvY3AsCisJCSAgICAgICBleHByZXNzaW9uUyAqZXhwclApCiB7CiAgIGNoYXIgKnMgPSAqY1BQOwogICB1bnNpZ25lZCBpbnQgaTsKQEAgLTM0NTIsMTAgKzM0NjcsMTQgQEAKICAgICBjb25zdCBjaGFyICpjb25zdCBzdWZmaXg7CiAgICAgdW5zaWduZWQgaW50IGxlbjsKICAgICBiZmRfcmVsb2NfY29kZV9yZWFsX3R5cGUgcmVsb2M7CisgICAgYmZkX2Jvb2xlYW4gcGljX3A7CisgICAgYmZkX2Jvb2xlYW4gdGxzX3A7CiAgIH0gcGljX3N1ZmZpeGVzW10gPQogICAgIHsKICN1bmRlZiBQSUNNQVAKLSNkZWZpbmUgUElDTUFQKHMsIHIpIHtzLCBzaXplb2YgKHMpIC0gMSwgcn0KKyNkZWZpbmUgUElDTUFQKHMsIHIpIHtzLCBzaXplb2YgKHMpIC0gMSwgciwgVFJVRSwgRkFMU0V9CisjZGVmaW5lIFBJQ1RMU01BUChzLCByKSB7cywgc2l6ZW9mIChzKSAtIDEsIHIsIFRSVUUsIFRSVUV9CisjZGVmaW5lIFRMU01BUChzLCByKSB7cywgc2l6ZW9mIChzKSAtIDEsIHIsIEZBTFNFLCBUUlVFfQogICAgICAgLyogS2VlcCB0aGlzIGluIG9yZGVyIHdpdGggbG9uZ2VzdCB1bmFtYmlndW91cyBwcmVmaXggZmlyc3QuICAqLwogICAgICAgUElDTUFQICgiR09UUExUMTYiLCBCRkRfUkVMT0NfQ1JJU18xNl9HT1RQTFQpLAogICAgICAgUElDTUFQICgiR09UUExUIiwgQkZEX1JFTE9DX0NSSVNfMzJfR09UUExUKSwKQEAgLTM0NjMsNyArMzQ4MiwxNiBAQAogICAgICAgUElDTUFQICgiUExUIiwgQkZEX1JFTE9DX0NSSVNfMzJfUExUX1BDUkVMKSwKICAgICAgIFBJQ01BUCAoIkdPVE9GRiIsIEJGRF9SRUxPQ19DUklTXzMyX0dPVFJFTCksCiAgICAgICBQSUNNQVAgKCJHT1QxNiIsIEJGRF9SRUxPQ19DUklTXzE2X0dPVCksCi0gICAgICBQSUNNQVAgKCJHT1QiLCBCRkRfUkVMT0NfQ1JJU18zMl9HT1QpCisgICAgICBQSUNNQVAgKCJHT1QiLCBCRkRfUkVMT0NfQ1JJU18zMl9HT1QpLAorICAgICAgUElDVExTTUFQICgiR0RHT1RSRUwxNiIsIEJGRF9SRUxPQ19DUklTXzE2X0dPVF9HRCksCisgICAgICBQSUNUTFNNQVAgKCJHREdPVFJFTCIsIEJGRF9SRUxPQ19DUklTXzMyX0dPVF9HRCksCisgICAgICBUTFNNQVAgKCJHRCIsIEJGRF9SRUxPQ19DUklTXzMyX0dEKSwKKyAgICAgIFBJQ1RMU01BUCAoIkRUUFJFTDE2IiwgQkZEX1JFTE9DX0NSSVNfMTZfRFRQUkVMKSwKKyAgICAgIFBJQ1RMU01BUCAoIkRUUFJFTCIsIEJGRF9SRUxPQ19DUklTXzMyX0RUUFJFTCksCisgICAgICBQSUNUTFNNQVAgKCJUUE9GRkdPVDE2IiwgQkZEX1JFTE9DX0NSSVNfMTZfR09UX1RQUkVMKSwKKyAgICAgIFBJQ1RMU01BUCAoIlRQT0ZGR09UIiwgQkZEX1JFTE9DX0NSSVNfMzJfR09UX1RQUkVMKSwKKyAgICAgIFRMU01BUCAoIlRQT0ZGMTYiLCBCRkRfUkVMT0NfQ1JJU18xNl9UUFJFTCksCisgICAgICBUTFNNQVAgKCJUUE9GRiIsIEJGRF9SRUxPQ19DUklTXzMyX1RQUkVMKQogICAgIH07CiAKICAgLyogV2UndmUgYWxyZWFkeSBzZWVuIHRoZSAnOicsIHNvIGNvbnN1bWUgaXQuICAqLwpAQCAtMzQ3Miw3ICszNTAwLDExIEBACiAgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YgKHBpY19zdWZmaXhlcykvc2l6ZW9mIChwaWNfc3VmZml4ZXNbMF0pOyBpKyspCiAgICAgewogICAgICAgaWYgKHN0cm5jbXAgKHMsIHBpY19zdWZmaXhlc1tpXS5zdWZmaXgsIHBpY19zdWZmaXhlc1tpXS5sZW4pID09IDAKLQkgICYmICEgaXNfcGFydF9vZl9uYW1lIChzW3BpY19zdWZmaXhlc1tpXS5sZW5dKSkKKwkgICYmICEgaXNfcGFydF9vZl9uYW1lIChzW3BpY19zdWZmaXhlc1tpXS5sZW5dKQorCSAgLyogUElDIGFuZCBub24tUElDIHJlbG9jYXRpb25zIGFyZSBleGNsdXNpdmUuICAqLworCSAgJiYgKHBpYyAhPSAwKSA9PSAocGljX3N1ZmZpeGVzW2ldLnBpY19wICE9IDApCisJICAvKiBCdXQgVExTIGNhbiBiZSBhY3RpdmUgZm9yIG5vbi1UTFMgcmVsb2NhdGlvbnMgdG9vLiAgKi8KKwkgICYmIChwaWNfc3VmZml4ZXNbaV0udGxzX3AgPT0gMCB8fCB0bHMpKQogCXsKIAkgIC8qIFdlIGhhdmUgYSBtYXRjaC4gIENvbnN1bWUgdGhlIHN1ZmZpeCBhbmQgc2V0IHRoZSByZWxvY2F0aW9uCiAJICAgICB0eXBlLiAgICovCkBAIC0zNTk5LDYgKzM2MzEsMTUgQEAKICAgICBjYXNlIEJGRF9SRUxPQ19DUklTXzMyX0dPVFBMVDoKICAgICBjYXNlIEJGRF9SRUxPQ19DUklTXzMyX1BMVF9HT1RSRUw6CiAgICAgY2FzZSBCRkRfUkVMT0NfQ1JJU18zMl9QTFRfUENSRUw6CisgICAgY2FzZSBCRkRfUkVMT0NfQ1JJU18zMl9HT1RfR0Q6CisgICAgY2FzZSBCRkRfUkVMT0NfQ1JJU18xNl9HT1RfR0Q6CisgICAgY2FzZSBCRkRfUkVMT0NfQ1JJU18zMl9HRDoKKyAgICBjYXNlIEJGRF9SRUxPQ19DUklTXzMyX0RUUFJFTDoKKyAgICBjYXNlIEJGRF9SRUxPQ19DUklTXzE2X0RUUFJFTDoKKyAgICBjYXNlIEJGRF9SRUxPQ19DUklTXzMyX0dPVF9UUFJFTDoKKyAgICBjYXNlIEJGRF9SRUxPQ19DUklTXzE2X0dPVF9UUFJFTDoKKyAgICBjYXNlIEJGRF9SRUxPQ19DUklTXzMyX1RQUkVMOgorICAgIGNhc2UgQkZEX1JFTE9DX0NSSVNfMTZfVFBSRUw6CiAgICAgICAvKiBXZSBkb24ndCB3YW50IHRvIHB1dCBpbiBhbnkga2luZCBvZiBub24temVybyBiaXRzIGluIHRoZSBkYXRhCiAJIGJlaW5nIHJlbG9jYXRlZCBmb3IgdGhlc2UuICAqLwogICAgICAgYnJlYWs7CkBAIC0zODcwLDYgKzM5MTEsMTUgQEAKICAgICBjYXNlIEJGRF9SRUxPQ19DUklTX1VOU0lHTkVEXzg6CiAgICAgY2FzZSBCRkRfUkVMT0NfQ1JJU19VTlNJR05FRF8xNjoKICAgICBjYXNlIEJGRF9SRUxPQ19DUklTX0xBUENRX09GRlNFVDoKKyAgICBjYXNlIEJGRF9SRUxPQ19DUklTXzMyX0dPVF9HRDoKKyAgICBjYXNlIEJGRF9SRUxPQ19DUklTXzE2X0dPVF9HRDoKKyAgICBjYXNlIEJGRF9SRUxPQ19DUklTXzMyX0dEOgorICAgIGNhc2UgQkZEX1JFTE9DX0NSSVNfMzJfRFRQUkVMOgorICAgIGNhc2UgQkZEX1JFTE9DX0NSSVNfMTZfRFRQUkVMOgorICAgIGNhc2UgQkZEX1JFTE9DX0NSSVNfMzJfR09UX1RQUkVMOgorICAgIGNhc2UgQkZEX1JFTE9DX0NSSVNfMTZfR09UX1RQUkVMOgorICAgIGNhc2UgQkZEX1JFTE9DX0NSSVNfMzJfVFBSRUw6CisgICAgY2FzZSBCRkRfUkVMT0NfQ1JJU18xNl9UUFJFTDoKICAgICAgIGNvZGUgPSBmaXhQLT5meF9yX3R5cGU7CiAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1mcnYuYyBiL2dhcy9jb25maWcvdGMtZnJ2LmMKaW5kZXggZTU4ZGVmOS4uNDU1MWQ3NSAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1mcnYuYworKysgYi9nYXMvY29uZmlnL3RjLWZydi5jCkBAIC0xNDc1LDcgKzE0NzUsNyBAQAogICAgICAgY2FzZSBCRkRfUkVMT0NfRlJWX1RMU0RFU0NfUkVMQVg6CiAgICAgICBjYXNlIEJGRF9SRUxPQ19GUlZfR0VUVExTT0ZGX1JFTEFYOgogICAgICAgY2FzZSBCRkRfUkVMT0NfRlJWX1RMU09GRl9SRUxBWDoKLQlmaXhQLT5meF9hZGRzeSA9IGV4cHJfYnVpbGRfdWNvbnN0YW50ICgwKTsKKwlmaXhQLT5meF9hZGRzeSA9IGFic19zZWN0aW9uX3N5bTsKIAlicmVhazsKICAgICAgIH0KICAgZWxzZQpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1mcnYuaCBiL2dhcy9jb25maWcvdGMtZnJ2LmgKaW5kZXggYWQ3ZWVlMC4uNzMyZGFjZCAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1mcnYuaAorKysgYi9nYXMvY29uZmlnL3RjLWZydi5oCkBAIC02MSw3ICs2MSw3IEBACiAvKiBJZiB3ZSBzaW1wbGlmeSBzdWJ0cmFjdGlvbnMgdGhhdCBhcmVuJ3QgU1VCX1NBTUUgb3IgU1VCX0FCUywgd2UgZW5kCiAgICB1cCB3aXRoIFBDcmVsIGZpeHVwcywgYnV0IHNpbmNlIHdlIGRvbid0IGhhdmUgYW55IFBDcmVsIHJlbG9jcywgd2UKICAgIGNyYXNoLiAgUHJldmVudGluZyBzaW1wbGlmaWNhdGlvbiBnZXRzIHVzIGEgZ29vZCwgZWFybHkgZXJyb3IuICAqLwotI2RlZmluZSBUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9MT0NBTChmaXhQKSAxCisjZGVmaW5lIFRDX0ZPUkNFX1JFTE9DQVRJT05fU1VCX0xPQ0FMKEZJWCwgU0VHKSAxCiAKICN1bmRlZiBHQVNfQ0dFTl9NQVhfRklYVVBTCiAjZGVmaW5lIEdBU19DR0VOX01BWF9GSVhVUFMgMQpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1ocHBhLmMgYi9nYXMvY29uZmlnL3RjLWhwcGEuYwppbmRleCBkYTg0NTI2Li43YmI3OTY2IDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLWhwcGEuYworKysgYi9nYXMvY29uZmlnL3RjLWhwcGEuYwpAQCAtODY3Niw5ICs4Njc2LDE5IEBACiAgICAgewogICAgICAgcCA9IHJlZ25hbWUgKyAyOwogICAgICAgcmVnbnVtID0gc3RydG91bCAocCwgJnEsIDEwKTsKKyNpZiBUQVJHRVRfQVJDSF9TSVpFID09IDY0CiAgICAgICBpZiAocCA9PSBxIHx8ICpxIHx8IHJlZ251bSA8PSA0IHx8IHJlZ251bSA+PSAzMikKIAlyZXR1cm4gLTE7CiAgICAgICByZWdudW0gKz0gMzIgLSA0OworI2Vsc2UKKyAgICAgIGlmIChwID09IHEKKwkgIHx8ICgqcSAgJiYgKCgqcSAhPSAnTCcgJiYgKnEgIT0gJ1InKSB8fCAqKHEgKyAxKSkpCisJICB8fCByZWdudW0gPD0gNCB8fCByZWdudW0gPj0gMzIpCisJcmV0dXJuIC0xOworICAgICAgcmVnbnVtID0gKHJlZ251bSAtIDQpICogMiArIDMyOworICAgICAgaWYgKCpxID09ICdSJykKKwlyZWdudW0rKzsKKyNlbmRpZgogICAgIH0KICAgcmV0dXJuIHJlZ251bTsKIH0KZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtaHBwYS5oIGIvZ2FzL2NvbmZpZy90Yy1ocHBhLmgKaW5kZXggNDk4Y2IyNS4uMDUxNjhiMSAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1ocHBhLmgKKysrIGIvZ2FzL2NvbmZpZy90Yy1ocHBhLmgKQEAgLTE1NSw3ICsxNTUsNyBAQAogICAgZGlmZmVyZW5jZSBleHByZXNzaW9uIGNhbid0IGJlIHVzZWQgYmV0d2VlbiB0ZXh0IGFuZCBkYXRhIHN5bWJvbHMsCiAgICBvciBiZXR3ZWVuIHN5bWJvbHMgaW4gZGlmZmVyZW50IGV4ZWN1dGFibGUgbW9kdWxlcy4gICovCiAjZGVmaW5lIERJRkZfRVhQUl9PSyAxCi0jZGVmaW5lIFRDX0ZPUkNFX1JFTE9DQVRJT05fU1VCX0xPQ0FMKEZJWCkgMQorI2RlZmluZSBUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9MT0NBTChGSVgsIFNFRykgMQogI2RlZmluZSBVTkRFRklORURfRElGRkVSRU5DRV9PSwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtaTM4Ni5jIGIvZ2FzL2NvbmZpZy90Yy1pMzg2LmMKaW5kZXggNTM5ZWE3OS4uNzFhYmIwMSAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1pMzg2LmMKKysrIGIvZ2FzL2NvbmZpZy90Yy1pMzg2LmMKQEAgLTE1MCwyNSArMTUwLDYgQEAKIH0KIHNpYl9ieXRlOwogCi1lbnVtIHByb2Nlc3Nvcl90eXBlCi17Ci0gIFBST0NFU1NPUl9VTktOT1dOLAotICBQUk9DRVNTT1JfSTM4NiwKLSAgUFJPQ0VTU09SX0k0ODYsCi0gIFBST0NFU1NPUl9QRU5USVVNLAotICBQUk9DRVNTT1JfUEVOVElVTVBSTywKLSAgUFJPQ0VTU09SX1BFTlRJVU00LAotICBQUk9DRVNTT1JfTk9DT05BLAotICBQUk9DRVNTT1JfQ09SRSwKLSAgUFJPQ0VTU09SX0NPUkUyLAotICBQUk9DRVNTT1JfSzYsCi0gIFBST0NFU1NPUl9BVEhMT04sCi0gIFBST0NFU1NPUl9LOCwKLSAgUFJPQ0VTU09SX0dFTkVSSUMzMiwKLSAgUFJPQ0VTU09SX0dFTkVSSUM2NCwKLSAgUFJPQ0VTU09SX0FNREZBTTEwCi19OwotCiAvKiB4ODYgYXJjaCBuYW1lcywgdHlwZXMgYW5kIGZlYXR1cmVzICovCiB0eXBlZGVmIHN0cnVjdAogewpAQCAtNDY4LDE2ICs0NDksMTYgQEAKIHN0YXRpYyBpbnQgY3B1X2FyY2hfdHVuZV9zZXQgPSAwOwogCiAvKiBDcHUgd2UgYXJlIGdlbmVyYXRpbmcgaW5zdHJ1Y3Rpb25zIGZvci4gICovCi1zdGF0aWMgZW51bSBwcm9jZXNzb3JfdHlwZSBjcHVfYXJjaF90dW5lID0gUFJPQ0VTU09SX1VOS05PV047CitlbnVtIHByb2Nlc3Nvcl90eXBlIGNwdV9hcmNoX3R1bmUgPSBQUk9DRVNTT1JfVU5LTk9XTjsKIAogLyogQ1BVIGZlYXR1cmUgZmxhZ3Mgb2YgY3B1IHdlIGFyZSBnZW5lcmF0aW5nIGluc3RydWN0aW9ucyBmb3IuICAqLwogc3RhdGljIGkzODZfY3B1X2ZsYWdzIGNwdV9hcmNoX3R1bmVfZmxhZ3M7CiAKIC8qIENQVSBpbnN0cnVjdGlvbiBzZXQgYXJjaGl0ZWN0dXJlIHVzZWQuICAqLwotc3RhdGljIGVudW0gcHJvY2Vzc29yX3R5cGUgY3B1X2FyY2hfaXNhID0gUFJPQ0VTU09SX1VOS05PV047CitlbnVtIHByb2Nlc3Nvcl90eXBlIGNwdV9hcmNoX2lzYSA9IFBST0NFU1NPUl9VTktOT1dOOwogCiAvKiBDUFUgZmVhdHVyZSBmbGFncyBvZiBpbnN0cnVjdGlvbiBzZXQgYXJjaGl0ZWN0dXJlIHVzZWQuICAqLwotc3RhdGljIGkzODZfY3B1X2ZsYWdzIGNwdV9hcmNoX2lzYV9mbGFnczsKK2kzODZfY3B1X2ZsYWdzIGNwdV9hcmNoX2lzYV9mbGFnczsKIAogLyogSWYgc2V0LCBjb25kaXRpb25hbCBqdW1wcyBhcmUgbm90IGF1dG9tYXRpY2FsbHkgcHJvbW90ZWQgdG8gaGFuZGxlCiAgICBsYXJnZXIgdGhhbiBhIGJ5dGUgb2Zmc2V0LiAgKi8KQEAgLTk5Myw3ICs5NzQsNyBAQAogICAgIHsKICAgICAgIGNvbnN0IGNoYXIgKmNvbnN0ICpwYXR0ID0gTlVMTDsKIAotICAgICAgaWYgKGNwdV9hcmNoX2lzYSA9PSBQUk9DRVNTT1JfVU5LTk9XTikKKyAgICAgIGlmIChmcmFnUC0+dGNfZnJhZ19kYXRhLmlzYSA9PSBQUk9DRVNTT1JfVU5LTk9XTikKIAl7CiAJICAvKiBQUk9DRVNTT1JfVU5LTk9XTiBtZWFucyB0aGF0IGFsbCBJU0FzIG1heSBiZSB1c2VkLiAgKi8KIAkgIHN3aXRjaCAoY3B1X2FyY2hfdHVuZSkKQEAgLTEwMDEsNyArOTgyLDcgQEAKIAkgICAgY2FzZSBQUk9DRVNTT1JfVU5LTk9XTjoKIAkgICAgICAvKiBXZSB1c2UgY3B1X2FyY2hfaXNhX2ZsYWdzIHRvIGNoZWNrIGlmIHdlIFNIT1VMRAogCQkgb3B0aW1pemUgZm9yIENwdTY4Ni4gICovCi0JICAgICAgaWYgKGNwdV9hcmNoX2lzYV9mbGFncy5iaXRmaWVsZC5jcHVpNjg2KQorCSAgICAgIGlmIChmcmFnUC0+dGNfZnJhZ19kYXRhLmlzYV9mbGFncy5iaXRmaWVsZC5jcHVpNjg2KQogCQlwYXR0ID0gYWx0X2xvbmdfcGF0dDsKIAkgICAgICBlbHNlCiAJCXBhdHQgPSBmMzJfcGF0dDsKQEAgLTEwMzAsNyArMTAxMSw3IEBACiAJfQogICAgICAgZWxzZQogCXsKLQkgIHN3aXRjaCAoY3B1X2FyY2hfdHVuZSkKKwkgIHN3aXRjaCAoZnJhZ1AtPnRjX2ZyYWdfZGF0YS50dW5lKQogCSAgICB7CiAJICAgIGNhc2UgUFJPQ0VTU09SX1VOS05PV046CiAJICAgICAgLyogV2hlbiBjcHVfYXJjaF9pc2EgaXMgc2V0LCBjcHVfYXJjaF90dW5lIHNob3VsZG4ndCBiZQpAQCAtMTA0OCw3ICsxMDI5LDcgQEAKIAkgICAgY2FzZSBQUk9DRVNTT1JfR0VORVJJQzMyOgogCSAgICAgIC8qIFdlIHVzZSBjcHVfYXJjaF9pc2FfZmxhZ3MgdG8gY2hlY2sgaWYgd2UgQ0FOIG9wdGltaXplCiAJCSBmb3IgQ3B1Njg2LiAgKi8KLQkgICAgICBpZiAoY3B1X2FyY2hfaXNhX2ZsYWdzLmJpdGZpZWxkLmNwdWk2ODYpCisJICAgICAgaWYgKGZyYWdQLT50Y19mcmFnX2RhdGEuaXNhX2ZsYWdzLmJpdGZpZWxkLmNwdWk2ODYpCiAJCXBhdHQgPSBhbHRfc2hvcnRfcGF0dDsKIAkgICAgICBlbHNlCiAJCXBhdHQgPSBmMzJfcGF0dDsKQEAgLTEwNTgsNyArMTAzOSw3IEBACiAJICAgIGNhc2UgUFJPQ0VTU09SX05PQ09OQToKIAkgICAgY2FzZSBQUk9DRVNTT1JfQ09SRToKIAkgICAgY2FzZSBQUk9DRVNTT1JfQ09SRTI6Ci0JICAgICAgaWYgKGNwdV9hcmNoX2lzYV9mbGFncy5iaXRmaWVsZC5jcHVpNjg2KQorCSAgICAgIGlmIChmcmFnUC0+dGNfZnJhZ19kYXRhLmlzYV9mbGFncy5iaXRmaWVsZC5jcHVpNjg2KQogCQlwYXR0ID0gYWx0X2xvbmdfcGF0dDsKIAkgICAgICBlbHNlCiAJCXBhdHQgPSBmMzJfcGF0dDsKQEAgLTEwMTA1LDYgKzEwMDg2LDE1IEBACiAgIHJldHVybiAtMTsKIH0KIAorI2lmZGVmIFRFX1NPTEFSSVMKK3ZvaWQKK2kzODZfc29sYXJpc19maXhfdXBfZWhfZnJhbWUgKHNlZ1Qgc2VjKQoreworICBpZiAoZmxhZ19jb2RlID09IENPREVfNjRCSVQpCisgICAgZWxmX3NlY3Rpb25fdHlwZSAoc2VjKSA9IFNIVF9YODZfNjRfVU5XSU5EOworfQorI2VuZGlmCisKICNpZmRlZiBURV9QRQogdm9pZAogdGNfcGVfZHdhcmYyX2VtaXRfb2Zmc2V0IChzeW1ib2xTICpzeW1ib2wsIHVuc2lnbmVkIGludCBzaXplKQpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1pMzg2LmggYi9nYXMvY29uZmlnL3RjLWkzODYuaAppbmRleCBhNjcwZmY5Li5mN2Y4MjljIDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLWkzODYuaAorKysgYi9nYXMvY29uZmlnL3RjLWkzODYuaApAQCAtMTg3LDYgKzE4Nyw1MCBAQAogCiAjZGVmaW5lIG1kX251bWJlcl90b19jaGFycyBudW1iZXJfdG9fY2hhcnNfbGl0dGxlZW5kaWFuCiAKK2VudW0gcHJvY2Vzc29yX3R5cGUKK3sKKyAgUFJPQ0VTU09SX1VOS05PV04sCisgIFBST0NFU1NPUl9JMzg2LAorICBQUk9DRVNTT1JfSTQ4NiwKKyAgUFJPQ0VTU09SX1BFTlRJVU0sCisgIFBST0NFU1NPUl9QRU5USVVNUFJPLAorICBQUk9DRVNTT1JfUEVOVElVTTQsCisgIFBST0NFU1NPUl9OT0NPTkEsCisgIFBST0NFU1NPUl9DT1JFLAorICBQUk9DRVNTT1JfQ09SRTIsCisgIFBST0NFU1NPUl9LNiwKKyAgUFJPQ0VTU09SX0FUSExPTiwKKyAgUFJPQ0VTU09SX0s4LAorICBQUk9DRVNTT1JfR0VORVJJQzMyLAorICBQUk9DRVNTT1JfR0VORVJJQzY0LAorICBQUk9DRVNTT1JfQU1ERkFNMTAKK307CisKK2V4dGVybiBlbnVtIHByb2Nlc3Nvcl90eXBlIGNwdV9hcmNoX3R1bmU7CitleHRlcm4gZW51bSBwcm9jZXNzb3JfdHlwZSBjcHVfYXJjaF9pc2E7CitleHRlcm4gaTM4Nl9jcHVfZmxhZ3MgY3B1X2FyY2hfaXNhX2ZsYWdzOworCitzdHJ1Y3QgaTM4Nl90Y19mcmFnX2RhdGEKK3sKKyAgZW51bSBwcm9jZXNzb3JfdHlwZSBpc2E7CisgIGkzODZfY3B1X2ZsYWdzIGlzYV9mbGFnczsKKyAgZW51bSBwcm9jZXNzb3JfdHlwZSB0dW5lOworfTsKKworLyogV2UgbmVlZCB0byBlbWl0IHRoZSByaWdodCBOT1AgcGF0dGVybiBpbiAuYWxpZ24gZnJhZ3MuICBUaGlzIGlzCisgICBkb25lIGFmdGVyIHRoZSB0ZXh0LXRvLWJpdHMgYXNzZW1ibHkgcGFzcywgc28gd2UgbmVlZCB0byBtYXJrIGl0IHdpdGgKKyAgIHRoZSBpc2EvdHVuZSBzZXR0aW5ncyBhdCB0aGUgdGltZSB0aGUgLmFsaWduIHdhcyBhc3NlbWJsZWQuICAqLworI2RlZmluZSBUQ19GUkFHX1RZUEUgc3RydWN0IGkzODZfdGNfZnJhZ19kYXRhCisKKyNkZWZpbmUgVENfRlJBR19JTklUKEZSQUdQKQkJCQkJXAorIGRvCQkJCQkJCQlcCisgICB7CQkJCQkJCQlcCisgICAgIChGUkFHUCktPnRjX2ZyYWdfZGF0YS5pc2EgPSBjcHVfYXJjaF9pc2E7CQkJXAorICAgICAoRlJBR1ApLT50Y19mcmFnX2RhdGEuaXNhX2ZsYWdzID0gY3B1X2FyY2hfaXNhX2ZsYWdzOwlcCisgICAgIChGUkFHUCktPnRjX2ZyYWdfZGF0YS50dW5lID0gY3B1X2FyY2hfdHVuZTsJCVwKKyAgIH0JCQkJCQkJCVwKKyB3aGlsZSAoMCkKKwogI2lmZGVmIFNDT19FTEYKICNkZWZpbmUgdGNfaW5pdF9hZnRlcl9hcmdzKCkgc2NvX2lkICgpCiBleHRlcm4gdm9pZCBzY29faWQgKHZvaWQpOwpAQCAtMjEyLDYgKzI1NiwxMSBAQAogI2RlZmluZSBtZF9lbGZfc2VjdGlvbl90eXBlKHN0cixsZW4pIGkzODZfZWxmX3NlY3Rpb25fdHlwZSAoc3RyLCBsZW4pCiBleHRlcm4gaW50IGkzODZfZWxmX3NlY3Rpb25fdHlwZSAoY29uc3QgY2hhciAqLCBzaXplX3QpOwogCisjaWZkZWYgVEVfU09MQVJJUworI2RlZmluZSBtZF9maXhfdXBfZWhfZnJhbWUoc2VjKSBpMzg2X3NvbGFyaXNfZml4X3VwX2VoX2ZyYW1lIChzZWMpCitleHRlcm4gdm9pZCBpMzg2X3NvbGFyaXNfZml4X3VwX2VoX2ZyYW1lIChzZWdUKTsKKyNlbmRpZgorCiAvKiBTdXBwb3J0IGZvciBTSEZfWDg2XzY0X0xBUkdFICovCiBleHRlcm4gaW50IHg4Nl82NF9zZWN0aW9uX3dvcmQgKGNoYXIgKiwgc2l6ZV90KTsKIGV4dGVybiBpbnQgeDg2XzY0X3NlY3Rpb25fbGV0dGVyIChpbnQsIGNoYXIgKiopOwpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1tNjhrLmMgYi9nYXMvY29uZmlnL3RjLW02OGsuYwppbmRleCBmM2UzY2Y1Li40ZjJlMmY4IDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLW02OGsuYworKysgYi9nYXMvY29uZmlnL3RjLW02OGsuYwpAQCAtNDQyMiw3ICs0NDIyLDcgQEAKICAgb2JzdGFja19iZWdpbiAoJnJvYnluLCA0MDAwKTsKICAgZm9yIChpID0gMDsgaSA8IG02OGtfbnVtb3Bjb2RlczsgaSsrKQogICAgIHsKLSAgICAgIGhhY2sgPSBzbGFrID0gKHN0cnVjdCBtNjhrX2luY2FudCAqKSBvYnN0YWNrX2FsbG9jICgmcm9ieW4sIHNpemVvZiAoc3RydWN0IG02OGtfaW5jYW50KSk7CisgICAgICBoYWNrID0gc2xhayA9IG9ic3RhY2tfYWxsb2MgKCZyb2J5biwgc2l6ZW9mIChzdHJ1Y3QgbTY4a19pbmNhbnQpKTsKICAgICAgIGRvCiAJewogCSAgaW5zID0gbTY4a19zb3J0ZWRfb3Bjb2Rlc1tpXTsKQEAgLTYxODQsOCArNjE4NCw4IEBACiAgICAgY2FzZSBNQ0MgKCdnJywgJ3QnKTogcmV0dXJuIE1DQyAoJ2wnLCAndCcpOwogICAgIGNhc2UgTUNDICgnbCcsICdlJyk6IHJldHVybiBNQ0MgKCdnJywgJ2UnKTsKICAgICAvKiBJc3N1ZSBhIHdhcm5pbmcgZm9yIGNvbmRpdGlvbnMgd2UgY2FuIG5vdCBzd2FwLiAgKi8KLSAgICBjYXNlIE1DQyAoJ24nLCAnZScpOiByZXR1cm4gTUNDICgnbicsICdlJyk7IC8vIG5vIHByb2JsZW0gaGVyZQotICAgIGNhc2UgTUNDICgnZScsICdxJyk6IHJldHVybiBNQ0MgKCdlJywgJ3EnKTsgLy8gYWxzbyBubyBwcm9ibGVtCisgICAgY2FzZSBNQ0MgKCduJywgJ2UnKTogcmV0dXJuIE1DQyAoJ24nLCAnZScpOyAvKiBubyBwcm9ibGVtIGhlcmUgKi8KKyAgICBjYXNlIE1DQyAoJ2UnLCAncScpOiByZXR1cm4gTUNDICgnZScsICdxJyk7IC8qIGFsc28gbm8gcHJvYmxlbSAqLwogICAgIGNhc2UgTUNDICgndicsICdjJyk6CiAgICAgY2FzZSBNQ0MgKCd2JywgJ3MnKToKICAgICBkZWZhdWx0IDoKZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtbWlwcy5jIGIvZ2FzL2NvbmZpZy90Yy1taXBzLmMKaW5kZXggZjU1OTYxYi4uNWM2NTM4NCAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1taXBzLmMKKysrIGIvZ2FzL2NvbmZpZy90Yy1taXBzLmMKQEAgLTE5NDksMTcgKzE5NDksMTcgQEAKICAgICAgaGVscHMgdXMgZGV0ZWN0IGludmFsaWQgdXNlcyBvZiB0aGVtLiAgKi8KICAgZm9yIChpID0gMDsgcmVnX25hbWVzW2ldLm5hbWU7IGkrKykgCiAgICAgc3ltYm9sX3RhYmxlX2luc2VydCAoc3ltYm9sX25ldyAocmVnX25hbWVzW2ldLm5hbWUsIHJlZ19zZWN0aW9uLAotCQkJCSAgICAgcmVnX25hbWVzW2ldLm51bSwgLy8gJiBSTlVNX01BU0ssCisJCQkJICAgICByZWdfbmFtZXNbaV0ubnVtLCAvKiAmIFJOVU1fTUFTSywgKi8KIAkJCQkgICAgICZ6ZXJvX2FkZHJlc3NfZnJhZykpOwogICBpZiAoSEFWRV9ORVdBQkkpCiAgICAgZm9yIChpID0gMDsgcmVnX25hbWVzX24zMm42NFtpXS5uYW1lOyBpKyspIAogICAgICAgc3ltYm9sX3RhYmxlX2luc2VydCAoc3ltYm9sX25ldyAocmVnX25hbWVzX24zMm42NFtpXS5uYW1lLCByZWdfc2VjdGlvbiwKLQkJCQkgICAgICAgcmVnX25hbWVzX24zMm42NFtpXS5udW0sIC8vICYgUk5VTV9NQVNLLAorCQkJCSAgICAgICByZWdfbmFtZXNfbjMybjY0W2ldLm51bSwgLyogJiBSTlVNX01BU0ssICovCiAJCQkJICAgICAgICZ6ZXJvX2FkZHJlc3NfZnJhZykpOwogICBlbHNlCiAgICAgZm9yIChpID0gMDsgcmVnX25hbWVzX28zMltpXS5uYW1lOyBpKyspIAogICAgICAgc3ltYm9sX3RhYmxlX2luc2VydCAoc3ltYm9sX25ldyAocmVnX25hbWVzX28zMltpXS5uYW1lLCByZWdfc2VjdGlvbiwKLQkJCQkgICAgICAgcmVnX25hbWVzX28zMltpXS5udW0sIC8vICYgUk5VTV9NQVNLLAorCQkJCSAgICAgICByZWdfbmFtZXNfbzMyW2ldLm51bSwgLyogJiBSTlVNX01BU0ssICovCiAJCQkJICAgICAgICZ6ZXJvX2FkZHJlc3NfZnJhZykpOwogCiAgIG1pcHNfbm9fcHJldl9pbnNuICgpOwpAQCAtMTUxNjMsOCArMTUxNjMsNiBAQAogICB7ICIyMGtjIiwgICAgICAgICAgIE1JUFNfQ1BVX0FTRV9NSVBTM0QsCUlTQV9NSVBTNjQsCUNQVV9NSVBTNjQgfSwKICAgeyAiMjVrZiIsICAgICAgICAgICBNSVBTX0NQVV9BU0VfTUlQUzNELAlJU0FfTUlQUzY0LCAgICAgQ1BVX01JUFM2NCB9LAogCi0gIC8qIE1JUFMgNjQgUmVsZWFzZSAyICovCi0KICAgLyogQnJvYWRjb20gU0ItMSBDUFUgY29yZSAqLwogICB7ICJzYjEiLCAgICAgICAgICAgIE1JUFNfQ1BVX0FTRV9NSVBTM0QgfCBNSVBTX0NQVV9BU0VfTURNWCwKIAkJCQkJCUlTQV9NSVBTNjQsCUNQVV9TQjEgfSwKQEAgLTE1MTcyLDYgKzE1MTcwLDggQEAKICAgeyAic2IxYSIsICAgICAgICAgICBNSVBTX0NQVV9BU0VfTUlQUzNEIHwgTUlQU19DUFVfQVNFX01ETVgsCiAJCQkJCQlJU0FfTUlQUzY0LAlDUFVfU0IxIH0sCiAKKyAgLyogTUlQUyA2NCBSZWxlYXNlIDIgKi8KKwogICAvKiBDYXZpdW0gTmV0d29ya3MgT2N0ZW9uIENQVSBjb3JlICovCiAgIHsgIm9jdGVvbiIsCSAgICAgIDAsICAgICAgSVNBX01JUFM2NFIyLCAgIENQVV9PQ1RFT04gfSwKIApkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1tbWl4LmMgYi9nYXMvY29uZmlnL3RjLW1taXguYwppbmRleCBjMmIzNzg5Li4zMjBlZDJiIDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLW1taXguYworKysgYi9nYXMvY29uZmlnL3RjLW1taXguYwpAQCAtMTM2NSw2ICsxMzY1LDkgQEAKIAkgICAgIHBhc3MgZXhwcmVzc2lvbnMgYXMgc3ltYm9scyBhbmQgdXNlIGZpeF9uZXcsIG5vdCBmaXhfbmV3X2V4cC4gICovCiAJICBzeW0gPSBtYWtlX2V4cHJfc3ltYm9sIChleHAgKyAxKTsKIAorCSAgLyogTWFyayB0aGUgc3ltYm9sIGFzIGJlaW5nIE9LIGZvciBhIHJlbG9jLiAgKi8KKwkgIHN5bWJvbF9nZXRfYmZkc3ltIChzeW0pLT5mbGFncyB8PSBCU0ZfS0VFUDsKKwogCSAgLyogTm93IHdlIGtub3cgaXQgY2FuIGJlIGEgImJhc2UgYWRkcmVzcyBwbHVzIG9mZnNldCIuICBBZGQKIAkgICAgIHByb3BlciBmaXh1cCB0eXBlcyBzbyB3ZSBjYW4gaGFuZGxlIHRoaXMgbGF0ZXIsIHdoZW4gd2UndmUKIAkgICAgIHBhcnNlZCBldmVyeXRoaW5nLiAgKi8KQEAgLTM0NDgsNiArMzQ1MSw3IEBACiB7CiAgIGZyYWdTICpmcmFnUDsKICAgc3ltYm9sUyAqbWFpbnN5bTsKKyAgYXNlY3Rpb24gKnJlZ3NlYzsKICAgaW50IGk7CiAKICAgLyogVGhlIGZpcnN0IGZyYWcgb2YgR1JFRzpzIGdvaW5nIGludG8gdGhlIHJlZ2lzdGVyIGNvbnRlbnRzIHNlY3Rpb24uICAqLwpAQCAtMzUxMiw5ICszNTE2LDkgQEAKIAkgYW5kIHRoZSBzYW1lIGFsbG9jYXRpb24gb3JkZXIgKHdpdGhpbiBhIGZpbGUpIGFzIG1taXhhbC4gICovCiAgICAgICBzZWdUIHRoaXNfc2VnbWVudCA9IG5vd19zZWc7CiAgICAgICBzdWJzZWdUIHRoaXNfc3Vic2VnbWVudCA9IG5vd19zdWJzZWc7Ci0gICAgICBhc2VjdGlvbiAqcmVnc2VjCi0JPSBiZmRfbWFrZV9zZWN0aW9uX29sZF93YXkgKHN0ZG91dHB1dCwKLQkJCQkgICAgTU1JWF9SRUdfQ09OVEVOVFNfU0VDVElPTl9OQU1FKTsKKworICAgICAgcmVnc2VjID0gYmZkX21ha2Vfc2VjdGlvbl9vbGRfd2F5IChzdGRvdXRwdXQsCisJCQkJCSBNTUlYX1JFR19DT05URU5UU19TRUNUSU9OX05BTUUpOwogICAgICAgc3Vic2VnX3NldCAocmVnc2VjLCAwKTsKIAogICAgICAgLyogRmluYWxseSBlbWl0IHRoZSBpbml0aWFsaXphdGlvbi12YWx1ZS4gIEVtaXQgYSB2YXJpYWJsZSBmcmFnLCB3aGljaApAQCAtMzU0MSw2ICszNTQ1LDExIEBACiAgICAgICBzdWJzZWdfc2V0ICh0aGlzX3NlZ21lbnQsIHRoaXNfc3Vic2VnbWVudCk7CiAgICAgfQogCisgIHJlZ3NlYyA9IGJmZF9nZXRfc2VjdGlvbl9ieV9uYW1lIChzdGRvdXRwdXQsIE1NSVhfUkVHX0NPTlRFTlRTX1NFQ1RJT05fTkFNRSk7CisgIC8qIE1hcmsgdGhlIHNlY3Rpb24gc3ltYm9sIGFzIGJlaW5nIE9LIGZvciBhIHJlbG9jLiAgKi8KKyAgaWYgKHJlZ3NlYyAhPSBOVUxMKQorICAgIHJlZ3NlYy0+c3ltYm9sLT5mbGFncyB8PSBCU0ZfS0VFUDsKKwogICAvKiBJdGVyYXRlIG92ZXIgZnJhZ3MgcmVzdWx0aW5nIGZyb20gR1JFR3MgYW5kIG1vdmUgdGhvc2UgdGhhdCBldmlkZW50bHkKICAgICAgaGF2ZSB0aGUgc2FtZSB2YWx1ZSB0b2dldGhlciBhbmQgcG9pbnQgb25lIHRvIGFub3RoZXIuCiAKZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtbW1peC5oIGIvZ2FzL2NvbmZpZy90Yy1tbWl4LmgKaW5kZXggMGU3MmQ5OC4uMWZhMzQ2MyAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1tbWl4LmgKKysrIGIvZ2FzL2NvbmZpZy90Yy1tbWl4LmgKQEAgLTIyNCwzICsyMjQsNiBAQAogCiAvKiBUaGlzIHRhcmdldCBpcyBidWdneSwgYW5kIHNldHMgZml4IHNpemUgdG9vIGxhcmdlLiAgKi8KICNkZWZpbmUgVENfRlhfU0laRV9TTEFDSyhGSVgpIDYKKworLyogTU1JWCBoYXMgZ2xvYmFsIHJlZ2lzdGVyIHN5bWJvbHMuICAqLworI2RlZmluZSBUQ19HTE9CQUxfUkVHSVNURVJfU1lNQk9MX09LCmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLW1uMTAzMDAuaCBiL2dhcy9jb25maWcvdGMtbW4xMDMwMC5oCmluZGV4IDYzY2E3NGEuLjJmZmZhYTMgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtbW4xMDMwMC5oCisrKyBiL2dhcy9jb25maWcvdGMtbW4xMDMwMC5oCkBAIC03MCw3ICs3MCw3IEBACiAKIC8qIFdlIHZhbGlkYXRlIHN1YnRyYWN0IGFyZ3VtZW50cyB3aXRoaW4gdGNfZ2VuX3JlbG9jKCksIHNvIGRvbid0CiAgICByZXBvcnQgZXJyb3JzIGF0IHRoaXMgcG9pbnQuICAqLwotI2RlZmluZSBUQ19WQUxJREFURV9GSVhfU1VCKEZJWCkgMQorI2RlZmluZSBUQ19WQUxJREFURV9GSVhfU1VCKEZJWCwgU0VHKSAxCiAKIC8qIEZpeHVwIGRlYnVnIHNlY3Rpb25zIHNpbmNlIHdlIHdpbGwgbmV2ZXIgcmVsYXggdGhlbS4gIElkZWFsbHksIHdlCiAgICBjb3VsZCBkbyBhd2F5IHdpdGggdGhpcyBhbmQgaW5zdGVhZCBjaGVjayBldmVyeSBzaW5nbGUgZml4dXAgd2l0aApkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1uczMyay5jIGIvZ2FzL2NvbmZpZy90Yy1uczMyay5jCmluZGV4IDY2YWVhZTguLjUwOTIzOWIgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtbnMzMmsuYworKysgYi9nYXMvY29uZmlnL3RjLW5zMzJrLmMKQEAgLTg4MCw3ICs4ODAsNyBAQAogewogICBiaXRfZml4UyAqYml0X2ZpeFA7CiAKLSAgYml0X2ZpeFAgPSAoYml0X2ZpeFMgKikgb2JzdGFja19hbGxvYyAoJm5vdGVzLCBzaXplb2YgKGJpdF9maXhTKSk7CisgIGJpdF9maXhQID0gb2JzdGFja19hbGxvYyAoJm5vdGVzLCBzaXplb2YgKGJpdF9maXhTKSk7CiAKICAgYml0X2ZpeFAtPmZ4X2JpdF9zaXplID0gc2l6ZTsKICAgYml0X2ZpeFAtPmZ4X2JpdF9vZmZzZXQgPSBvZmZzZXQ7CmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLXBwYy5jIGIvZ2FzL2NvbmZpZy90Yy1wcGMuYwppbmRleCA3NmE5ZThlLi42NDhlZDcyIDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLXBwYy5jCisrKyBiL2dhcy9jb25maWcvdGMtcHBjLmMKQEAgLTE0MjgsMTUgKzE0MjgsOCBAQAogCSAgJiYgKChvcC0+ZmxhZ3MgJiBQUENfT1BDT0RFX0JPT0tFNjQpID09IDAKIAkgICAgICB8fCAocHBjX2NwdSAmIFBQQ19PUENPREVfQk9PS0U2NCkgPT0gUFBDX09QQ09ERV9CT09LRTY0CiAJICAgICAgfHwgKHBwY19jcHUgJiBQUENfT1BDT0RFX0JPT0tFKSA9PSAwKQotCSAgJiYgKChvcC0+ZmxhZ3MgJiAoUFBDX09QQ09ERV9QT1dFUjQgfCBQUENfT1BDT0RFX05PUE9XRVI0KSkgPT0gMAotCSAgICAgIHx8ICgob3AtPmZsYWdzICYgUFBDX09QQ09ERV9QT1dFUjQpCi0JCSAgPT0gKHBwY19jcHUgJiBQUENfT1BDT0RFX1BPV0VSNCkpKQotCSAgJiYgKChvcC0+ZmxhZ3MgJiBQUENfT1BDT0RFX1BPV0VSNSkgPT0gMAotCSAgICAgIHx8ICgob3AtPmZsYWdzICYgUFBDX09QQ09ERV9QT1dFUjUpCi0JCSAgPT0gKHBwY19jcHUgJiBQUENfT1BDT0RFX1BPV0VSNSkpKQotCSAgJiYgKChvcC0+ZmxhZ3MgJiBQUENfT1BDT0RFX1BPV0VSNikgPT0gMAotCSAgICAgIHx8ICgob3AtPmZsYWdzICYgUFBDX09QQ09ERV9QT1dFUjYpCi0JCSAgPT0gKHBwY19jcHUgJiBQUENfT1BDT0RFX1BPV0VSNikpKSkKKwkgICYmICgocHBjX2NwdSAmIFBQQ19PUENPREVfUE9XRVI0KSA9PSAwCisJICAgICAgfHwgKG9wLT5mbGFncyAmIFBQQ19PUENPREVfTk9QT1dFUjQpID09IDApKQogCXsKIAkgIGNvbnN0IGNoYXIgKnJldHZhbDsKIApkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1zaC5oIGIvZ2FzL2NvbmZpZy90Yy1zaC5oCmluZGV4IGRmZGFiZDQuLjUxYjY1NjEgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtc2guaAorKysgYi9nYXMvY29uZmlnL3RjLXNoLmgKQEAgLTgzLDggKzgzLDkgQEAKICAgIHx8IChzaF9yZWxheCAmJiBTV0lUQ0hfVEFCTEUgKEZJWCkpKQogCiAvKiBEb24ndCBjb21wbGFpbiB3aGVuIHdlIGxlYXZlIGZ4X3N1YnN5IGFyb3VuZC4gICovCi0jZGVmaW5lIFRDX1ZBTElEQVRFX0ZJWF9TVUIoRklYKQkJCVwKLSAgKHNoX3JlbGF4ICYmIFNXSVRDSF9UQUJMRSAoRklYKSkKKyNkZWZpbmUgVENfVkFMSURBVEVfRklYX1NVQihGSVgsIFNFRykJCQlcCisgICgobWRfcmVnaXN0ZXJfYXJpdGhtZXRpYyB8fCAoU0VHKSAhPSByZWdfc2VjdGlvbikJXAorICAgJiYgc2hfcmVsYXggJiYgU1dJVENIX1RBQkxFIChGSVgpKQogCiAjZGVmaW5lIE1EX1BDUkVMX0ZST01fU0VDVElPTihGSVgsIFNFQykgbWRfcGNyZWxfZnJvbV9zZWN0aW9uIChGSVgsIFNFQykKIGV4dGVybiBsb25nIG1kX3BjcmVsX2Zyb21fc2VjdGlvbiAoc3RydWN0IGZpeCAqLCBzZWdUKTsKQEAgLTIwNywxOCArMjA4LDIyIEBACiAgICB8fCAoRklYKS0+Znhfcl90eXBlID09IEJGRF9SRUxPQ19TSF9HT1RQQwkJXAogICAgfHwgVENfRk9SQ0VfUkVMT0NBVElPTiAoRklYKSkKIAotI2RlZmluZSBUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9MT0NBTChGSVgpIChzaF9yZWxheCAmJiBTV0lUQ0hfVEFCTEUgKEZJWCkpCisjZGVmaW5lIFRDX0ZPUkNFX1JFTE9DQVRJT05fU1VCX0xPQ0FMKEZJWCwgU0VHKQkJXAorICAoKCFtZF9yZWdpc3Rlcl9hcml0aG1ldGljICYmIChTRUcpID09IHJlZ19zZWN0aW9uKQlcCisgICB8fCAoc2hfcmVsYXggJiYgU1dJVENIX1RBQkxFIChGSVgpKSkKIAogLyogVGhpcyBrZWVwcyB0aGUgc3VidHJhY3RlZCBzeW1ib2wgYXJvdW5kLCBmb3IgdXNlIGJ5IFBMVF9QQ1JFTAogICAgcmVsb2NzLiAgKi8KLSNkZWZpbmUgVENfRk9SQ0VfUkVMT0NBVElPTl9TVUJfQUJTKEZJWCkJCVwKLSAgKChGSVgpLT5meF9yX3R5cGUgPT0gQkZEX1JFTE9DXzMyX1BMVF9QQ1JFTCkKKyNkZWZpbmUgVENfRk9SQ0VfUkVMT0NBVElPTl9TVUJfQUJTKEZJWCwgU0VHKQkJXAorICAoKEZJWCktPmZ4X3JfdHlwZSA9PSBCRkRfUkVMT0NfMzJfUExUX1BDUkVMCQlcCisgICB8fCAoIW1kX3JlZ2lzdGVyX2FyaXRobWV0aWMgJiYgKFNFRykgPT0gcmVnX3NlY3Rpb24pKQogCiAvKiBEb24ndCBjb21wbGFpbiB3aGVuIHdlIGxlYXZlIGZ4X3N1YnN5IGFyb3VuZC4gICovCiAjdW5kZWYgVENfVkFMSURBVEVfRklYX1NVQgotI2RlZmluZSBUQ19WQUxJREFURV9GSVhfU1VCKEZJWCkJCQlcCi0gICgoRklYKS0+Znhfcl90eXBlID09IEJGRF9SRUxPQ18zMl9QTFRfUENSRUwJCVwKLSAgIHx8IChzaF9yZWxheCAmJiBTV0lUQ0hfVEFCTEUgKEZJWCkpKQorI2RlZmluZSBUQ19WQUxJREFURV9GSVhfU1VCKEZJWCwgU0VHKQkJCVwKKyAgKChtZF9yZWdpc3Rlcl9hcml0aG1ldGljIHx8IChTRUcpICE9IHJlZ19zZWN0aW9uKQlcCisgICAmJiAoKEZJWCktPmZ4X3JfdHlwZSA9PSBCRkRfUkVMT0NfMzJfUExUX1BDUkVMCVwKKyAgICAgICB8fCAoc2hfcmVsYXggJiYgU1dJVENIX1RBQkxFIChGSVgpKSkpCiAKICNkZWZpbmUgbWRfcGFyc2VfbmFtZShuYW1lLCBleHByUCwgbW9kZSwgbmV4dGNoYXJQKSBcCiAgIHNoX3BhcnNlX25hbWUgKChuYW1lKSwgKGV4cHJQKSwgKG1vZGUpLCAobmV4dGNoYXJQKSkKZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtc2g2NC5oIGIvZ2FzL2NvbmZpZy90Yy1zaDY0LmgKaW5kZXggMjNlNzJmNi4uMTdmMDkwMCAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1zaDY0LmgKKysrIGIvZ2FzL2NvbmZpZy90Yy1zaDY0LmgKQEAgLTExNSwxMCArMTE1LDExIEBACiAKIC8qIERvbid0IGNvbXBsYWluIHdoZW4gd2UgbGVhdmUgZnhfc3Vic3kgYXJvdW5kLiAgKi8KICN1bmRlZiBUQ19WQUxJREFURV9GSVhfU1VCCi0jZGVmaW5lIFRDX1ZBTElEQVRFX0ZJWF9TVUIoRklYKQkJCVwKLSAgKChGSVgpLT5meF9yX3R5cGUgPT0gQkZEX1JFTE9DXzMyX1BMVF9QQ1JFTAkJXAotICAgfHwgKHNoX3JlbGF4ICYmIFNXSVRDSF9UQUJMRSAoRklYKSkJCQlcCi0gICB8fCAqc3ltYm9sX2dldF90YyAoKEZJWCktPmZ4X2FkZHN5KSAhPSBOVUxMKQorI2RlZmluZSBUQ19WQUxJREFURV9GSVhfU1VCKEZJWCwgU0VHKQkJCVwKKyAgKChtZF9yZWdpc3Rlcl9hcml0aG1ldGljIHx8IChTRUcpICE9IHJlZ19zZWN0aW9uKQlcCisgICAmJiAoKEZJWCktPmZ4X3JfdHlwZSA9PSBCRkRfUkVMT0NfMzJfUExUX1BDUkVMCVwKKyAgICAgICB8fCAoc2hfcmVsYXggJiYgU1dJVENIX1RBQkxFIChGSVgpKQkJXAorICAgICAgIHx8ICpzeW1ib2xfZ2V0X3RjICgoRklYKS0+ZnhfYWRkc3kpICE9IE5VTEwpKQogCiAvKiBOb3RlIHRoZSBrbHVkZ2U6IHdlIHdhbnQgdG8gcHV0IGJhY2sgQywgYW5kIHdlIGFsc28gd2FudCB0byBjb25zdW1lIHRoZQogICAgZXhwcmVzc2lvbiwgc2luY2Ugd2UgaGF2ZSBoYW5kbGVkIGl0IG91cnNlbHZlcy4gIEZJWE1FOiBXaGF0IHdlIHJlYWxseQpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy10aWM0eC5jIGIvZ2FzL2NvbmZpZy90Yy10aWM0eC5jCmluZGV4IGMzNzNlMjAuLmJjOTJkZTIgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtdGljNHguYworKysgYi9nYXMvY29uZmlnL3RjLXRpYzR4LmMKQEAgLTgyMSw2ICs4MjEsNyBAQAogICAgICAgKmlucHV0X2xpbmVfcG9pbnRlciA9IGM7CiAgICAgICBTS0lQX1dISVRFU1BBQ0UgKCk7CiAgICAgICBTX1NFVF9TVE9SQUdFX0NMQVNTIChzeW1ib2xQLCBDX0VYVCk7CisgICAgICBTX1NFVF9FWFRFUk5BTCAoc3ltYm9sUCk7CiAgICAgICBpZiAoYyA9PSAnLCcpCiAJewogCSAgaW5wdXRfbGluZV9wb2ludGVyKys7CmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLXh0ZW5zYS5jIGIvZ2FzL2NvbmZpZy90Yy14dGVuc2EuYwppbmRleCBiODkzY2VmLi5iNmMzNWVjIDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLXh0ZW5zYS5jCisrKyBiL2dhcy9jb25maWcvdGMteHRlbnNhLmMKQEAgLTExMDU4LDcgKzExMDU4LDcgQEAKICAgICB7CiAgICAgICBvcF9wbGFjZW1lbnRfaW5mbyAqb3BpID0gJm9wX3BsYWNlbWVudF90YWJsZVtvcGNvZGVdOwogICAgICAgLyogRklYTUU6IE1ha2UgdGluc24gYWxsb2NhdGlvbiBkeW5hbWljLiAgKi8KLSAgICAgIGlmICh4dGVuc2Ffb3Bjb2RlX251bV9vcGVyYW5kcyAoaXNhLCBvcGNvZGUpID49IE1BWF9JTlNOX0FSR1MpCisgICAgICBpZiAoeHRlbnNhX29wY29kZV9udW1fb3BlcmFuZHMgKGlzYSwgb3Bjb2RlKSA+IE1BWF9JTlNOX0FSR1MpCiAJYXNfZmF0YWwgKF8oInRvbyBtYW55IG9wZXJhbmRzIGluIGluc3RydWN0aW9uIikpOwogICAgICAgb3BpLT5uYXJyb3dlc3QgPSBYVEVOU0FfVU5ERUZJTkVEOwogICAgICAgb3BpLT5uYXJyb3dlc3Rfc2l6ZSA9IDB4N0Y7CmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLXh0ZW5zYS5oIGIvZ2FzL2NvbmZpZy90Yy14dGVuc2EuaAppbmRleCA5ODdiODJhLi5kYmI1MjY3IDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLXh0ZW5zYS5oCisrKyBiL2dhcy9jb25maWcvdGMteHRlbnNhLmgKQEAgLTMzNSw3ICszMzUsNyBAQAogI2RlZmluZSBUQ19GT1JDRV9SRUxPQ0FUSU9OKGZpeCkJeHRlbnNhX2ZvcmNlX3JlbG9jYXRpb24gKGZpeCkKICNkZWZpbmUgVENfRk9SQ0VfUkVMT0NBVElPTl9TVUJfU0FNRShmaXgsIHNlZykgXAogICAoISBTRUdfTk9STUFMIChzZWcpIHx8IHh0ZW5zYV9mb3JjZV9yZWxvY2F0aW9uIChmaXgpKQotI2RlZmluZQlUQ19WQUxJREFURV9GSVhfU1VCKGZpeCkJeHRlbnNhX3ZhbGlkYXRlX2ZpeF9zdWIgKGZpeCkKKyNkZWZpbmUJVENfVkFMSURBVEVfRklYX1NVQihmaXgsIHNlZykJeHRlbnNhX3ZhbGlkYXRlX2ZpeF9zdWIgKGZpeCkKICNkZWZpbmUgTk9fUFNFVURPX0RPVAkJCXh0ZW5zYV9jaGVja19pbnNpZGVfYnVuZGxlICgpCiAjZGVmaW5lIHRjX2Nhbm9uaWNhbGl6ZV9zeW1ib2xfbmFtZShzKQl4dGVuc2Ffc2VjdGlvbl9yZW5hbWUgKHMpCiAjZGVmaW5lIHRjX2Nhbm9uaWNhbGl6ZV9zZWN0aW9uX25hbWUocykJeHRlbnNhX3NlY3Rpb25fcmVuYW1lIChzKQpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy16ODAuYyBiL2dhcy9jb25maWcvdGMtejgwLmMKaW5kZXggODlhNDYwMy4uODI1ZDkyMCAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy16ODAuYworKysgYi9nYXMvY29uZmlnL3RjLXo4MC5jCkBAIC0xNDcxLDcgKzE0NzEsNyBAQAogCSAgJiYgKHNyYy0+WF9hZGRfbnVtYmVyID09IFJFR19CQyB8fCBzcmMtPlhfYWRkX251bWJlciA9PSBSRUdfREUpKQogCXsKIAkgIHEgPSBmcmFnX21vcmUgKDEpOwotCSAgKnEgPSAweDBBICsgKChkZXN0ICYgMSkgPDwgNCk7CisJICAqcSA9IDB4MEEgKyAoKHNyYy0+WF9hZGRfbnVtYmVyICYgMSkgPDwgNCk7CiAJICBicmVhazsKIAl9CiAKZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGUtc29sYXJpcy5oIGIvZ2FzL2NvbmZpZy90ZS1zb2xhcmlzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTNjMmNlYQotLS0gL2Rldi9udWxsCisrKyBiL2dhcy9jb25maWcvdGUtc29sYXJpcy5oCkBAIC0wLDAgKzEsMzAgQEAKKy8qIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHQVMsIHRoZSBHTlUgQXNzZW1ibGVyLgorCisgICBHQVMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMsCisgICBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBHQVMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisgICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUKKyAgIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCBHQVM7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZQorICAgU29mdHdhcmUgRm91bmRhdGlvbiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEKKyAgIDAyMTEwLTEzMDEsIFVTQS4gICovCisKKyNkZWZpbmUgVEVfU09MQVJJUworCisjZGVmaW5lIExPQ0FMX0xBQkVMU19ET0xMQVIgMQorI2RlZmluZSBMT0NBTF9MQUJFTFNfRkIgMQorCisvKiBUaGUgU3VuIGxpbmtlciBkb2Vzbid0IG1lcmdlIHJlYWQtb25seSBhbmQgcmVhZC13cml0ZSBzZWN0aW9ucyBpbnRvCisgICBhIHNpbmdsZSByZWFkLXdyaXRlIHNlY3Rpb24gc28gd2UgbXVzdCBmb3JjZSBhbGwgRUggZnJhbWUgc2VjdGlvbnMKKyAgIHRvIGJlIHJlYWQtd3JpdGUuICAqLworI2RlZmluZSBEV0FSRjJfRUhfRlJBTUVfUkVBRF9PTkxZIDAKKworI2luY2x1ZGUgIm9iai1mb3JtYXQuaCIKZGlmZiAtLWdpdCBhL2dhcy9jb25maWd1cmUgYi9nYXMvY29uZmlndXJlCmluZGV4IGExNTk0ZGQuLjg5MmJmYjggMTAwNzU1Ci0tLSBhL2dhcy9jb25maWd1cmUKKysrIGIvZ2FzL2NvbmZpZ3VyZQpAQCAtNDU4LDcgKzQ1OCw3IEBACiAjIGluY2x1ZGUgPHVuaXN0ZC5oPgogI2VuZGlmIgogCi1hY19zdWJzdF92YXJzPSdTSEVMTCBQQVRIX1NFUEFSQVRPUiBQQUNLQUdFX05BTUUgUEFDS0FHRV9UQVJOQU1FIFBBQ0tBR0VfVkVSU0lPTiBQQUNLQUdFX1NUUklORyBQQUNLQUdFX0JVR1JFUE9SVCBleGVjX3ByZWZpeCBwcmVmaXggcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSBiaW5kaXIgc2JpbmRpciBsaWJleGVjZGlyIGRhdGFkaXIgc3lzY29uZmRpciBzaGFyZWRzdGF0ZWRpciBsb2NhbHN0YXRlZGlyIGxpYmRpciBpbmNsdWRlZGlyIG9sZGluY2x1ZGVkaXIgaW5mb2RpciBtYW5kaXIgYnVpbGRfYWxpYXMgaG9zdF9hbGlhcyB0YXJnZXRfYWxpYXMgREVGUyBFQ0hPX0MgRUNIT19OIEVDSE9fVCBMSUJTIGJ1aWxkIGJ1aWxkX2NwdSBidWlsZF92ZW5kb3IgYnVpbGRfb3MgaG9zdCBob3N0X2NwdSBob3N0X3ZlbmRvciBob3N0X29zIHRhcmdldCB0YXJnZXRfY3B1IHRhcmdldF92ZW5kb3IgdGFyZ2V0X29zIENDIENGTEFHUyBMREZMQUdTIENQUEZMQUdTIGFjX2N0X0NDIEVYRUVYVCBPQkpFWFQgSU5TVEFMTF9QUk9HUkFNIElOU1RBTExfU0NSSVBUIElOU1RBTExfREFUQSBDWUdQQVRIX1cgUEFDS0FHRSBWRVJTSU9OIEFDTE9DQUwgQVVUT0NPTkYgQVVUT01BS0UgQVVUT0hFQURFUiBNQUtFSU5GTyBpbnN0YWxsX3NoIFNUUklQIGFjX2N0X1NUUklQIElOU1RBTExfU1RSSVBfUFJPR1JBTSBta2Rpcl9wIEFXSyBTRVRfTUFLRSBhbV9fbGVhZGluZ19kb3QgQU1UQVIgYW1fX3RhciBhbV9fdW50YXIgREVQRElSIGFtX19pbmNsdWRlIGFtX19xdW90ZSBBTURFUF9UUlVFIEFNREVQX0ZBTFNFIEFNREVQQkFDS1NMQVNIIENDREVQTU9ERSBhbV9fZmFzdGRlcENDX1RSVUUgYW1fX2Zhc3RkZXBDQ19GQUxTRSBDUFAgRUdSRVAgTElCVE9PTCBTRUQgRkdSRVAgR1JFUCBMRCBEVU1QQklOIGFjX2N0X0RVTVBCSU4gTk0gTE5fUyBBUiBhY19jdF9BUiBSQU5MSUIgYWNfY3RfUkFOTElCIGx0X0VDSE8gV0FSTl9DRkxBR1MgTk9fV0VSUk9SIEdEQklOSVQgY2dlbl9jcHVfcHJlZml4IGV4dHJhX29iamVjdHMgdGFyZ2V0X2NwdV90eXBlIG9ial9mb3JtYXQgdGVfZmlsZSBpbnN0YWxsX3Rvb2xkaXIgYXRvZiBPUENPREVTX0xJQiBZQUNDIExFWCBMRVhMSUIgTEVYX09VVFBVVF9ST09UIFVTRV9OTFMgTElCSU5UTCBMSUJJTlRMX0RFUCBJTkNJTlRMIFhHRVRURVhUIEdNU0dGTVQgUE9TVUIgQ0FUQUxPR1MgREFUQURJUk5BTUUgSU5TVE9CSkVYVCBHRU5DQVQgQ0FUT0JKRVhUIE1LSU5TVEFMTERJUlMgTVNHRk1UIE1TR01FUkdFIE1BSU5UQUlORVJfTU9ERV9UUlVFIE1BSU5UQUlORVJfTU9ERV9GQUxTRSBNQUlOVCBHRU5JTlNSQ19ORVZFUl9UUlVFIEdFTklOU1JDX05FVkVSX0ZBTFNFIEFMTE9DQSBMSUJNIGRhdGFyb290ZGlyIGRvY2RpciBodG1sZGlyIExJQk9CSlMgTFRMSUJPQkpTJworYWNfc3Vic3RfdmFycz0nU0hFTEwgUEFUSF9TRVBBUkFUT1IgUEFDS0FHRV9OQU1FIFBBQ0tBR0VfVEFSTkFNRSBQQUNLQUdFX1ZFUlNJT04gUEFDS0FHRV9TVFJJTkcgUEFDS0FHRV9CVUdSRVBPUlQgZXhlY19wcmVmaXggcHJlZml4IHByb2dyYW1fdHJhbnNmb3JtX25hbWUgYmluZGlyIHNiaW5kaXIgbGliZXhlY2RpciBkYXRhZGlyIHN5c2NvbmZkaXIgc2hhcmVkc3RhdGVkaXIgbG9jYWxzdGF0ZWRpciBsaWJkaXIgaW5jbHVkZWRpciBvbGRpbmNsdWRlZGlyIGluZm9kaXIgbWFuZGlyIGJ1aWxkX2FsaWFzIGhvc3RfYWxpYXMgdGFyZ2V0X2FsaWFzIERFRlMgRUNIT19DIEVDSE9fTiBFQ0hPX1QgTElCUyBidWlsZCBidWlsZF9jcHUgYnVpbGRfdmVuZG9yIGJ1aWxkX29zIGhvc3QgaG9zdF9jcHUgaG9zdF92ZW5kb3IgaG9zdF9vcyB0YXJnZXQgdGFyZ2V0X2NwdSB0YXJnZXRfdmVuZG9yIHRhcmdldF9vcyBDQyBDRkxBR1MgTERGTEFHUyBDUFBGTEFHUyBhY19jdF9DQyBFWEVFWFQgT0JKRVhUIElOU1RBTExfUFJPR1JBTSBJTlNUQUxMX1NDUklQVCBJTlNUQUxMX0RBVEEgQ1lHUEFUSF9XIFBBQ0tBR0UgVkVSU0lPTiBBQ0xPQ0FMIEFVVE9DT05GIEFVVE9NQUtFIEFVVE9IRUFERVIgTUFLRUlORk8gaW5zdGFsbF9zaCBTVFJJUCBhY19jdF9TVFJJUCBJTlNUQUxMX1NUUklQX1BST0dSQU0gbWtkaXJfcCBBV0sgU0VUX01BS0UgYW1fX2xlYWRpbmdfZG90IEFNVEFSIGFtX190YXIgYW1fX3VudGFyIERFUERJUiBhbV9faW5jbHVkZSBhbV9fcXVvdGUgQU1ERVBfVFJVRSBBTURFUF9GQUxTRSBBTURFUEJBQ0tTTEFTSCBDQ0RFUE1PREUgYW1fX2Zhc3RkZXBDQ19UUlVFIGFtX19mYXN0ZGVwQ0NfRkFMU0UgQ1BQIEVHUkVQIExJQlRPT0wgU0VEIEZHUkVQIEdSRVAgTEQgRFVNUEJJTiBhY19jdF9EVU1QQklOIE5NIExOX1MgT0JKRFVNUCBhY19jdF9PQkpEVU1QIEFSIGFjX2N0X0FSIFJBTkxJQiBhY19jdF9SQU5MSUIgbHRfRUNITyBEU1lNVVRJTCBhY19jdF9EU1lNVVRJTCBOTUVESVQgYWNfY3RfTk1FRElUIExJUE8gYWNfY3RfTElQTyBPVE9PTCBhY19jdF9PVE9PTCBPVE9PTDY0IGFjX2N0X09UT09MNjQgV0FSTl9DRkxBR1MgTk9fV0VSUk9SIEdEQklOSVQgY2dlbl9jcHVfcHJlZml4IGV4dHJhX29iamVjdHMgdGFyZ2V0X2NwdV90eXBlIG9ial9mb3JtYXQgdGVfZmlsZSBpbnN0YWxsX3Rvb2xkaXIgYXRvZiBPUENPREVTX0xJQiBZQUNDIExFWCBMRVhMSUIgTEVYX09VVFBVVF9ST09UIFVTRV9OTFMgTElCSU5UTCBMSUJJTlRMX0RFUCBJTkNJTlRMIFhHRVRURVhUIEdNU0dGTVQgUE9TVUIgQ0FUQUxPR1MgREFUQURJUk5BTUUgSU5TVE9CSkVYVCBHRU5DQVQgQ0FUT0JKRVhUIE1LSU5TVEFMTERJUlMgTVNHRk1UIE1TR01FUkdFIE1BSU5UQUlORVJfTU9ERV9UUlVFIE1BSU5UQUlORVJfTU9ERV9GQUxTRSBNQUlOVCBHRU5JTlNSQ19ORVZFUl9UUlVFIEdFTklOU1JDX05FVkVSX0ZBTFNFIEFMTE9DQSBMSUJNIGRhdGFyb290ZGlyIGRvY2RpciBodG1sZGlyIExJQk9CSlMgTFRMSUJPQkpTJwogYWNfc3Vic3RfZmlsZXM9JycKIGFjX3B3ZD1gcHdkYAogCkBAIC0xMDAyLDYgKzEwMDIsNyBAQAogICAtLWVuYWJsZS1GRUFUVVJFWz1BUkddICBpbmNsdWRlIEZFQVRVUkUgW0FSRz15ZXNdCiAgIC0tZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nICBzcGVlZHMgdXAgb25lLXRpbWUgYnVpbGQKICAgLS1lbmFibGUtZGVwZW5kZW5jeS10cmFja2luZyAgIGRvIG5vdCByZWplY3Qgc2xvdyBkZXBlbmRlbmN5IGV4dHJhY3RvcnMKKyAgLS1kaXNhYmxlLWxhcmdlZmlsZSAgICAgb21pdCBzdXBwb3J0IGZvciBsYXJnZSBmaWxlcwogICAtLWVuYWJsZS1zaGFyZWRbPVBLR1NdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMgW2RlZmF1bHQ9eWVzXQogICAtLWVuYWJsZS1zdGF0aWNbPVBLR1NdCkBAIC00NzMyLDExICs0NzMzLDM4MiBAQAogX0FDRU9GCiAKIAorIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxhcmdlZmlsZSBvciAtLWRpc2FibGUtbGFyZ2VmaWxlIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7ZW5hYmxlX2xhcmdlZmlsZStzZXR9IiA9IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRlbmFibGVfbGFyZ2VmaWxlIgorCitmaTsKK2lmIHRlc3QgIiRlbmFibGVfbGFyZ2VmaWxlIiAhPSBubzsgdGhlbgorCisgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3Igc3BlY2lhbCBDIGNvbXBpbGVyIG9wdGlvbnMgbmVlZGVkIGZvciBsYXJnZSBmaWxlcyIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBzcGVjaWFsIEMgY29tcGlsZXIgb3B0aW9ucyBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9zeXNfbGFyZ2VmaWxlX0NDK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGFjX2N2X3N5c19sYXJnZWZpbGVfQ0M9bm8KKyAgICAgaWYgdGVzdCAiJEdDQyIgIT0geWVzOyB0aGVuCisgICAgICAgYWNfc2F2ZV9DQz0kQ0MKKyAgICAgICB3aGlsZSA6OyBkbworICAgICAJICMgSVJJWCA2LjIgYW5kIGxhdGVyIGRvIG5vdCBzdXBwb3J0IGxhcmdlIGZpbGVzIGJ5IGRlZmF1bHQsCisgICAgIAkgIyBzbyB1c2UgdGhlIEMgY29tcGlsZXIncyAtbjMyIG9wdGlvbiBpZiB0aGF0IGhlbHBzLgorCSBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGNvbmZkZWZzLmguICAqLworX0FDRU9GCitjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK2NhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4KKyAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCisgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycworICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KKyNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQorICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKKwkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQorCQkgICAgICA/IDEgOiAtMV07CitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCisgICAgIAkgcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CisgIChldmFsICRhY19jb21waWxlKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorICBicmVhaworZWxzZQorICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQKKyAgICAgCSBDQz0iJENDIC1uMzIiCisgICAgIAkgcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CisgIChldmFsICRhY19jb21waWxlKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorICBhY19jdl9zeXNfbGFyZ2VmaWxlX0NDPScgLW4zMic7IGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dAorCSBicmVhaworICAgICAgIGRvbmUKKyAgICAgICBDQz0kYWNfc2F2ZV9DQworICAgICAgIHJtIC1mIGNvbmZ0ZXN0LiRhY19leHQKKyAgICBmaQorZmkKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9zeXNfbGFyZ2VmaWxlX0NDIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdl9zeXNfbGFyZ2VmaWxlX0NDIiA+JjYKKyAgaWYgdGVzdCAiJGFjX2N2X3N5c19sYXJnZWZpbGVfQ0MiICE9IG5vOyB0aGVuCisgICAgQ0M9JENDJGFjX2N2X3N5c19sYXJnZWZpbGVfQ0MKKyAgZmkKKworICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIF9GSUxFX09GRlNFVF9CSVRTIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgX0ZJTEVfT0ZGU0VUX0JJVFMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcy4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHMrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgd2hpbGUgOjsgZG8KKyAgYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHM9bm8KKyAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBjb25mZGVmcy5oLiAgKi8KK19BQ0VPRgorY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CitjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgLyogQ2hlY2sgdGhhdCBvZmZfdCBjYW4gcmVwcmVzZW50IDIqKjYzIC0gMSBjb3JyZWN0bHkuCisgICAgV2UgY2FuJ3Qgc2ltcGx5IGRlZmluZSBMQVJHRV9PRkZfVCB0byBiZSA5MjIzMzcyMDM2ODU0Nzc1ODA3LAorICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBjb21waWxlcnMKKyAgICBpbmNvcnJlY3RseSByZWplY3QgOTIyMzM3MjAzNjg1NDc3NTgwNy4gICovCisjZGVmaW5lIExBUkdFX09GRl9UICgoKG9mZl90KSAxIDw8IDYyKSAtIDEgKyAoKG9mZl90KSAxIDw8IDYyKSkKKyAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCisJCSAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKKwkJICAgICAgPyAxIDogLTFdOworaW50CittYWluICgpCit7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CisgIChldmFsICRhY19jb21waWxlKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorICBicmVhaworZWxzZQorICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGNvbmZkZWZzLmguICAqLworX0FDRU9GCitjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK2NhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4KKyAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCisgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycworICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KKyNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQorICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKKwkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQorCQkgICAgICA/IDEgOiAtMV07CitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzPTY0OyBicmVhaworZWxzZQorICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorICBicmVhaworZG9uZQorZmkKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cyIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHMiID4mNgoraWYgdGVzdCAiJGFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzIiAhPSBubzsgdGhlbgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTICRhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cworX0FDRU9GCisKK2ZpCitybSAtZiBjb25mdGVzdCoKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBfTEFSR0VfRklMRVMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcyIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBfTEFSR0VfRklMRVMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcy4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3Zfc3lzX2xhcmdlX2ZpbGVzK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIHdoaWxlIDo7IGRvCisgIGFjX2N2X3N5c19sYXJnZV9maWxlcz1ubworICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGNvbmZkZWZzLmguICAqLworX0FDRU9GCitjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK2NhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4KKyAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCisgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycworICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KKyNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQorICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKKwkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQorCQkgICAgICA/IDEgOiAtMV07CitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CisgIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogY29uZmRlZnMuaC4gICovCitfQUNFT0YKK2NhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2RlZmluZSBfTEFSR0VfRklMRVMgMQorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIC8qIENoZWNrIHRoYXQgb2ZmX3QgY2FuIHJlcHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5LgorICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKKyAgICBzaW5jZSBzb21lIEMrKyBjb21waWxlcnMgbWFzcXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCisgICAgaW5jb3JyZWN0bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLworI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCisgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQorCQkgICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCisJCSAgICAgID8gMSA6IC0xXTsKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK3JtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKK2lmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorICAoZXZhbCAkYWNfY29tcGlsZSkgMj5jb25mdGVzdC5lcjEKKyAgYWNfc3RhdHVzPSQ/CisgIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCisgIHJtIC1mIGNvbmZ0ZXN0LmVyMQorICBjYXQgY29uZnRlc3QuZXJyID4mNQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC16ICIkYWNfY193ZXJyb3JfZmxhZyIKKwkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyJworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKyAgYWNfY3Zfc3lzX2xhcmdlX2ZpbGVzPTE7IGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CisgIGJyZWFrCitkb25lCitmaQorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X3N5c19sYXJnZV9maWxlcyIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3Zfc3lzX2xhcmdlX2ZpbGVzIiA+JjYKK2lmIHRlc3QgIiRhY19jdl9zeXNfbGFyZ2VfZmlsZXMiICE9IG5vOyB0aGVuCisKK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgX0xBUkdFX0ZJTEVTICRhY19jdl9zeXNfbGFyZ2VfZmlsZXMKK19BQ0VPRgorCitmaQorcm0gLWYgY29uZnRlc3QqCitmaQorCisKK2Nhc2UgYHB3ZGAgaW4KKyAgKlwgKiB8ICpcCSopCisgICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogTGlidG9vbCBkb2VzIG5vdCBjb3BlIHdlbGwgd2l0aCB3aGl0ZXNwYWNlIGluIFxgcHdkXGAiID4mNQorZWNobyAiJGFzX21lOiBXQVJOSU5HOiBMaWJ0b29sIGRvZXMgbm90IGNvcGUgd2VsbCB3aXRoIHdoaXRlc3BhY2UgaW4gXGBwd2RcYCIgPiYyO30gOzsKK2VzYWMKIAogCiAKLW1hY3JvX3ZlcnNpb249JzIuMWEnCi1tYWNyb19yZXZpc2lvbj0nMS4yNDM1JworbWFjcm9fdmVyc2lvbj0nMi4yLjYnCittYWNyb19yZXZpc2lvbj0nMS4zMDEyJworCiAKIAogCkBAIC00NzUxLDEyNCArNTEyMyw2IEBACiAKIGx0bWFpbj0iJGFjX2F1eF9kaXIvbHRtYWluLnNoIgogCi0jIFNldCBvcHRpb25zCi0KLWVuYWJsZV9kbG9wZW49bm8KLQotCi1lbmFibGVfd2luMzJfZGxsPW5vCi0KLQotIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXNoYXJlZCBvciAtLWRpc2FibGUtc2hhcmVkIHdhcyBnaXZlbi4KLWlmIHRlc3QgIiR7ZW5hYmxlX3NoYXJlZCtzZXR9IiA9IHNldDsgdGhlbgotICBlbmFibGV2YWw9IiRlbmFibGVfc2hhcmVkIgotICBwPSR7UEFDS0FHRS1kZWZhdWx0fQotICAgIGNhc2UgJGVuYWJsZXZhbCBpbgotICAgIHllcykgZW5hYmxlX3NoYXJlZD15ZXMgOzsKLSAgICBubykgZW5hYmxlX3NoYXJlZD1ubyA7OwotICAgICopCi0gICAgICBlbmFibGVfc2hhcmVkPW5vCi0gICAgICAjIExvb2sgYXQgdGhlIGFyZ3VtZW50IHdlIGdvdC4gIFdlIHVzZSBhbGwgdGhlIGNvbW1vbiBsaXN0IHNlcGFyYXRvcnMuCi0gICAgICBsdF9zYXZlX2lmcz0iJElGUyI7IElGUz0iJHtJRlN9JFBBVEhfU0VQQVJBVE9SLCIKLSAgICAgIGZvciBwa2cgaW4gJGVuYWJsZXZhbDsgZG8KLQlJRlM9IiRsdF9zYXZlX2lmcyIKLQlpZiB0ZXN0ICJYJHBrZyIgPSAiWCRwIjsgdGhlbgotCSAgZW5hYmxlX3NoYXJlZD15ZXMKLQlmaQotICAgICAgZG9uZQotICAgICAgSUZTPSIkbHRfc2F2ZV9pZnMiCi0gICAgICA7OwotICAgIGVzYWMKLWVsc2UKLSAgZW5hYmxlX3NoYXJlZD15ZXMKLWZpOwotCi0KLQotCi0KLQotCi0KLSMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1zdGF0aWMgb3IgLS1kaXNhYmxlLXN0YXRpYyB3YXMgZ2l2ZW4uCi1pZiB0ZXN0ICIke2VuYWJsZV9zdGF0aWMrc2V0fSIgPSBzZXQ7IHRoZW4KLSAgZW5hYmxldmFsPSIkZW5hYmxlX3N0YXRpYyIKLSAgcD0ke1BBQ0tBR0UtZGVmYXVsdH0KLSAgICBjYXNlICRlbmFibGV2YWwgaW4KLSAgICB5ZXMpIGVuYWJsZV9zdGF0aWM9eWVzIDs7Ci0gICAgbm8pIGVuYWJsZV9zdGF0aWM9bm8gOzsKLSAgICAqKQotICAgICBlbmFibGVfc3RhdGljPW5vCi0gICAgICAjIExvb2sgYXQgdGhlIGFyZ3VtZW50IHdlIGdvdC4gIFdlIHVzZSBhbGwgdGhlIGNvbW1vbiBsaXN0IHNlcGFyYXRvcnMuCi0gICAgICBsdF9zYXZlX2lmcz0iJElGUyI7IElGUz0iJHtJRlN9JFBBVEhfU0VQQVJBVE9SLCIKLSAgICAgIGZvciBwa2cgaW4gJGVuYWJsZXZhbDsgZG8KLQlJRlM9IiRsdF9zYXZlX2lmcyIKLQlpZiB0ZXN0ICJYJHBrZyIgPSAiWCRwIjsgdGhlbgotCSAgZW5hYmxlX3N0YXRpYz15ZXMKLQlmaQotICAgICAgZG9uZQotICAgICAgSUZTPSIkbHRfc2F2ZV9pZnMiCi0gICAgICA7OwotICAgIGVzYWMKLWVsc2UKLSAgZW5hYmxlX3N0YXRpYz15ZXMKLWZpOwotCi0KLQotCi0KLQotCi0KLQotIyBDaGVjayB3aGV0aGVyIC0td2l0aC1waWMgb3IgLS13aXRob3V0LXBpYyB3YXMgZ2l2ZW4uCi1pZiB0ZXN0ICIke3dpdGhfcGljK3NldH0iID0gc2V0OyB0aGVuCi0gIHdpdGh2YWw9IiR3aXRoX3BpYyIKLSAgcGljX21vZGU9IiR3aXRodmFsIgotZWxzZQotICBwaWNfbW9kZT1kZWZhdWx0Ci1maTsKLQotdGVzdCAteiAiJHBpY19tb2RlIiAmJiBwaWNfbW9kZT1kZWZhdWx0Ci0KLQotCi0KLQotCi0KLSMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1mYXN0LWluc3RhbGwgb3IgLS1kaXNhYmxlLWZhc3QtaW5zdGFsbCB3YXMgZ2l2ZW4uCi1pZiB0ZXN0ICIke2VuYWJsZV9mYXN0X2luc3RhbGwrc2V0fSIgPSBzZXQ7IHRoZW4KLSAgZW5hYmxldmFsPSIkZW5hYmxlX2Zhc3RfaW5zdGFsbCIKLSAgcD0ke1BBQ0tBR0UtZGVmYXVsdH0KLSAgICBjYXNlICRlbmFibGV2YWwgaW4KLSAgICB5ZXMpIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzIDs7Ci0gICAgbm8pIGVuYWJsZV9mYXN0X2luc3RhbGw9bm8gOzsKLSAgICAqKQotICAgICAgZW5hYmxlX2Zhc3RfaW5zdGFsbD1ubwotICAgICAgIyBMb29rIGF0IHRoZSBhcmd1bWVudCB3ZSBnb3QuICBXZSB1c2UgYWxsIHRoZSBjb21tb24gbGlzdCBzZXBhcmF0b3JzLgotICAgICAgbHRfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSRQQVRIX1NFUEFSQVRPUiwiCi0gICAgICBmb3IgcGtnIGluICRlbmFibGV2YWw7IGRvCi0JSUZTPSIkbHRfc2F2ZV9pZnMiCi0JaWYgdGVzdCAiWCRwa2ciID0gIlgkcCI7IHRoZW4KLQkgIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzCi0JZmkKLSAgICAgIGRvbmUKLSAgICAgIElGUz0iJGx0X3NhdmVfaWZzIgotICAgICAgOzsKLSAgICBlc2FjCi1lbHNlCi0gIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzCi1maTsKLQotCi0KLQotCi0KLQotCiBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIGEgc2VkIHRoYXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0IiA+JjUKIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIGEgc2VkIHRoYXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0Li4uICRFQ0hPX0MiID4mNgogaWYgdGVzdCAiJHtsdF9jdl9wYXRoX1NFRCtzZXR9IiA9IHNldDsgdGhlbgpAQCAtNTA4OSw3ICs1MzQzLDYgQEAKIAogCiAKLQogZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBCU0QtIG9yIE1TLWNvbXBhdGlibGUgbmFtZSBsaXN0ZXIgKG5tKSIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBCU0QtIG9yIE1TLWNvbXBhdGlibGUgbmFtZSBsaXN0ZXIgKG5tKS4uLiAkRUNIT19DIiA+JjYKIGlmIHRlc3QgIiR7bHRfY3ZfcGF0aF9OTStzZXR9IiA9IHNldDsgdGhlbgpAQCAtNTI1MSwxMyArNTUwNCwxMyBAQAogZWxzZQogICBsdF9jdl9ubV9pbnRlcmZhY2U9IkJTRCBubSIKICAgZWNobyAiaW50IHNvbWVfdmFyaWFibGUgPSAwOyIgPiBjb25mdGVzdC4kYWNfZXh0Ci0gIChldmFsIGVjaG8gIlwiXCRhc19tZTo1MjU0OiAkYWNfY29tcGlsZVwiIiA+JjUpCisgIChldmFsIGVjaG8gIlwiXCRhc19tZTo1NTA3OiAkYWNfY29tcGlsZVwiIiA+JjUpCiAgIChldmFsICIkYWNfY29tcGlsZSIgMj5jb25mdGVzdC5lcnIpCiAgIGNhdCBjb25mdGVzdC5lcnIgPiY1Ci0gIChldmFsIGVjaG8gIlwiXCRhc19tZTo1MjU3OiAkTk0gXFxcImNvbmZ0ZXN0LiRhY19vYmpleHRcXFwiXCIiID4mNSkKKyAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjU1MTA6ICROTSBcXFwiY29uZnRlc3QuJGFjX29iamV4dFxcXCJcIiIgPiY1KQogICAoZXZhbCAiJE5NIFwiY29uZnRlc3QuJGFjX29iamV4dFwiIiAyPmNvbmZ0ZXN0LmVyciA+IGNvbmZ0ZXN0Lm91dCkKICAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKLSAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjUyNjA6IG91dHB1dFwiIiA+JjUpCisgIChldmFsIGVjaG8gIlwiXCRhc19tZTo1NTEzOiBvdXRwdXRcIiIgPiY1KQogICBjYXQgY29uZnRlc3Qub3V0ID4mNQogICBpZiAkR1JFUCAnRXh0ZXJuYWwuKnNvbWVfdmFyaWFibGUnIGNvbmZ0ZXN0Lm91dCA+IC9kZXYvbnVsbDsgdGhlbgogICAgIGx0X2N2X25tX2ludGVyZmFjZT0iTVMgZHVtcGJpbiIKQEAgLTUzMDMsNyArNTU1Niw3IEBACiAgICAgbHRfY3Zfc3lzX21heF9jbWRfbGVuPS0xOwogICAgIDs7CiAKLSAgY3lnd2luKiB8IG1pbmd3KikKKyAgY3lnd2luKiB8IG1pbmd3KiB8IGNlZ2NjKikKICAgICAjIE9uIFdpbjl4L01FLCB0aGlzIHRlc3QgYmxvd3MgdXAgLS0gaXQgc3VjY2VlZHMsIGJ1dCB0YWtlcwogICAgICMgYWJvdXQgNSBtaW51dGVzIGFzIHRoZSB0ZXN0c3RyaW5nIGdyb3dzIGV4cG9uZW50aWFsbHkuCiAgICAgIyBXb3JzZSwgc2luY2UgOXgvTUUgYXJlIG5vdCBwcmUtZW1wdGl2ZWx5IG11bHRpdGFza2luZywKQEAgLTUzNjQsOCArNTYxNyw4IEBACiAgICAgZmkKICAgICA7OwogICAqKQotICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj1gZ2V0Y29uZiBBUkdfTUFYIDI+IC9kZXYvbnVsbGAKLSAgICBpZiB0ZXN0IC1uICRsdF9jdl9zeXNfbWF4X2NtZF9sZW47IHRoZW4KKyAgICBsdF9jdl9zeXNfbWF4X2NtZF9sZW49YChnZXRjb25mIEFSR19NQVgpIDI+IC9kZXYvbnVsbGAKKyAgICBpZiB0ZXN0IC1uICIkbHRfY3Zfc3lzX21heF9jbWRfbGVuIjsgdGhlbgogICAgICAgbHRfY3Zfc3lzX21heF9jbWRfbGVuPWBleHByICRsdF9jdl9zeXNfbWF4X2NtZF9sZW4gXC8gNGAKICAgICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj1gZXhwciAkbHRfY3Zfc3lzX21heF9jbWRfbGVuIFwqIDNgCiAgICAgZWxzZQpAQCAtNTQxMiw3ICs1NjY1LDYgQEAKIAogCiAKLQogOiAke0NQPSJjcCAtZiJ9CiA6ICR7TVY9Im12IC1mIn0KIDogJHtSTT0icm0gLWYifQpAQCAtNTQyMyw3ICs1Njc1LDkgQEAKIHhzaV9zaGVsbD1ubwogKCBfbHRfZHVtbXk9ImEvYi9jIgogICB0ZXN0ICIke19sdF9kdW1teSMjKi99LCR7X2x0X2R1bW15JS8qfSwiJHtfbHRfZHVtbXklIiRfbHRfZHVtbXkifSwgXAotICAgICAgPSBjLGEvYiwsICkgPi9kZXYvbnVsbCAyPiYxIFwKKyAgICAgID0gYyxhL2IsLCBcCisgICAgJiYgZXZhbCAndGVzdCAkKCggMSArIDEgKSkgLWVxIDIgXAorICAgICYmIHRlc3QgIiR7I19sdF9kdW1teX0iIC1lcSA1JyApID4vZGV2L251bGwgMj4mMSBcCiAgICYmIHhzaV9zaGVsbD15ZXMKIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICR4c2lfc2hlbGwiID4mNQogZWNobyAiJHtFQ0hPX1R9JHhzaV9zaGVsbCIgPiY2CkBAIC01NTAzLDYgKzU3NTcsOTUgQEAKIAogCiAKK2lmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW9iamR1bXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9b2JqZHVtcDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PQkpEVU1QK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRPQkpEVU1QIjsgdGhlbgorICBhY19jdl9wcm9nX09CSkRVTVA9IiRPQkpEVU1QIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19PQkpEVU1QPSIke2FjX3Rvb2xfcHJlZml4fW9iamR1bXAiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitPQkpEVU1QPSRhY19jdl9wcm9nX09CSkRVTVAKK2lmIHRlc3QgLW4gIiRPQkpEVU1QIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkT0JKRFVNUCIgPiY1CitlY2hvICIke0VDSE9fVH0kT0JKRFVNUCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKK2ZpCitpZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19PQkpEVU1QIjsgdGhlbgorICBhY19jdF9PQkpEVU1QPSRPQkpEVU1QCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAib2JqZHVtcCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgb2JqZHVtcDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PQkpEVU1QK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRhY19jdF9PQkpEVU1QIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09CSkRVTVA9IiRhY19jdF9PQkpEVU1QIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19hY19jdF9PQkpEVU1QPSJvYmpkdW1wIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUCIgJiYgYWNfY3ZfcHJvZ19hY19jdF9PQkpEVU1QPSJmYWxzZSIKK2ZpCitmaQorYWNfY3RfT0JKRFVNUD0kYWNfY3ZfcHJvZ19hY19jdF9PQkpEVU1QCitpZiB0ZXN0IC1uICIkYWNfY3RfT0JKRFVNUCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X09CSkRVTVAiID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N0X09CSkRVTVAiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCisgIE9CSkRVTVA9JGFjX2N0X09CSkRVTVAKK2Vsc2UKKyAgT0JKRFVNUD0iJGFjX2N2X3Byb2dfT0JKRFVNUCIKK2ZpCisKK3Rlc3QgLXogIiRPQkpEVU1QIiAmJiBPQkpEVU1QPW9iamR1bXAKKworCisKKworCisKKworCiAKIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBob3cgdG8gcmVjb2duaXplIGRlcGVuZGVudCBsaWJyYXJpZXMiID4mNQogZWNobyAkRUNIT19OICJjaGVja2luZyBob3cgdG8gcmVjb2duaXplIGRlcGVuZGVudCBsaWJyYXJpZXMuLi4gJEVDSE9fQyIgPiY2CkBAIC01NTU3LDYgKzU5MDAsMTIgQEAKICAgZmkKICAgOzsKIAorY2VnY2MpCisgICMgdXNlIHRoZSB3ZWFrZXIgdGVzdCBiYXNlZCBvbiAnb2JqZHVtcCcuIFNlZSBtaW5ndyouCisgIGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kPSdmaWxlX21hZ2ljIGZpbGUgZm9ybWF0IHBlLWFybS0uKmxpdHRsZSguKmFyY2hpdGVjdHVyZTogYXJtKT8nCisgIGx0X2N2X2ZpbGVfbWFnaWNfY21kPSckT0JKRFVNUCAtZicKKyAgOzsKKwogZGFyd2luKiB8IHJoYXBzb2R5KikKICAgbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2Q9cGFzc19hbGwKICAgOzsKQEAgLTU5NzksNyArNjMyOCw3IEBACiAKIAogIyBEZXRlcm1pbmUgY29tbWFuZHMgdG8gY3JlYXRlIG9sZC1zdHlsZSBzdGF0aWMgYXJjaGl2ZXMuCi1vbGRfYXJjaGl2ZV9jbWRzPSckQVIgJEFSX0ZMQUdTICRvbGRsaWIkb2xkb2JqcyRvbGRfZGVwbGlicycKK29sZF9hcmNoaXZlX2NtZHM9JyRBUiAkQVJfRkxBR1MgJG9sZGxpYiRvbGRvYmpzJwogb2xkX3Bvc3RpbnN0YWxsX2NtZHM9J2NobW9kIDY0NCAkb2xkbGliJwogb2xkX3Bvc3R1bmluc3RhbGxfY21kcz0KIApAQCAtNjA1OSw3ICs2NDA4LDcgQEAKIGFpeCopCiAgIHN5bWNvZGU9J1tCQ0RUXScKICAgOzsKLWN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKikKK2N5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgc3ltY29kZT0nW0FCQ0RHSVNUV10nCiAgIDs7CiBocHV4KikKQEAgLTYxMDMsNiArNjQ1Miw3IEBACiAKICMgVHJhbnNmb3JtIGFuIGV4dHJhY3RlZCBzeW1ib2wgbGluZSBpbnRvIHN5bWJvbCBuYW1lIGFuZCBzeW1ib2wgYWRkcmVzcwogbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9InNlZCAtbiAtZSAncy9eOiBcKFteIF0qXCkgJC8gIHtcXFwiXDFcXFwiLCAodm9pZCAqKSAwfSwvcCcgLWUgJ3MvXiRzeW1jb2RlKiBcKFteIF0qXCkgXChbXiBdKlwpJC8gIHtcIlwyXCIsICh2b2lkICopIFwmXDJ9LC9wJyIKK2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9InNlZCAtbiAtZSAncy9eOiBcKFteIF0qXCkgJC8gIHtcXFwiXDFcXFwiLCAodm9pZCAqKSAwfSwvcCcgLWUgJ3MvXiRzeW1jb2RlKiBcKFteIF0qXCkgXChsaWJbXiBdKlwpJC8gIHtcIlwyXCIsICh2b2lkICopIFwmXDJ9LC9wJyAtZSAncy9eJHN5bWNvZGUqIFwoW14gXSpcKSBcKFteIF0qXCkkLyAge1wibGliXDJcIiwgKHZvaWQgKikgXCZcMn0sL3AnIgogCiAjIEhhbmRsZSBDUkxGIGluIG1pbmd3IHRvb2wgY2hhaW4KIG9wdF9jcj0KQEAgLTYyNDIsNyArNjU5Miw3IEBACiAgICAgZWNobyAiJHByb2duYW1lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKICAgICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKICAgZmkKLSAgcm0gLWYgY29uZnRlc3QqIGNvbmZ0c3QqCisgIHJtIC1yZiBjb25mdGVzdCogY29uZnRzdCoKIAogICAjIERvIG5vdCB1c2UgdGhlIGdsb2JhbF9zeW1ib2xfcGlwZSB1bmxlc3MgaXQgd29ya3MuCiAgIGlmIHRlc3QgIiRwaXBlX3dvcmtzIiA9IHllczsgdGhlbgpAQCAtNjI4MSw2ICs2NjMxLDExIEBACiAKIAogCisKKworCisKKwogIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxpYnRvb2wtbG9jayBvciAtLWRpc2FibGUtbGlidG9vbC1sb2NrIHdhcyBnaXZlbi4KIGlmIHRlc3QgIiR7ZW5hYmxlX2xpYnRvb2xfbG9jaytzZXR9IiA9IHNldDsgdGhlbgogICBlbmFibGV2YWw9IiRlbmFibGVfbGlidG9vbF9sb2NrIgpAQCAtNjMxMiw3ICs2NjY3LDcgQEAKICAgOzsKICotKi1pcml4NiopCiAgICMgRmluZCBvdXQgd2hpY2ggQUJJIHdlIGFyZSB1c2luZy4KLSAgZWNobyAnI2xpbmUgNjMxNSAiY29uZmlndXJlIicgPiBjb25mdGVzdC4kYWNfZXh0CisgIGVjaG8gJyNsaW5lIDY2NzAgImNvbmZpZ3VyZSInID4gY29uZnRlc3QuJGFjX2V4dAogICBpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKICAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKICAgYWNfc3RhdHVzPSQ/CkBAIC02NDg3LDcgKzY4NDIsMTEgQEAKICAgICAqNjQtYml0KikKICAgICAgIGNhc2UgJGx0X2N2X3Byb2dfZ251X2xkIGluCiAgICAgICB5ZXMqKSBMRD0iJHtMRC1sZH0gLW0gZWxmNjRfc3BhcmMiIDs7Ci0gICAgICAqKSAgICBMRD0iJHtMRC1sZH0gLTY0IiA7OworICAgICAgKikKKwlpZiAke0xELWxkfSAtNjQgLXIgLW8gY29uZnRlc3QyLm8gY29uZnRlc3QubyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKwkgIExEPSIke0xELWxkfSAtNjQiCisJZmkKKwk7OwogICAgICAgZXNhYwogICAgICAgOzsKICAgICBlc2FjCkBAIC02NDk5LDYgKzY4NTgsNTU5IEBACiBuZWVkX2xvY2tzPSIkZW5hYmxlX2xpYnRvb2xfbG9jayIKIAogCisgIGNhc2UgJGhvc3Rfb3MgaW4KKyAgICByaGFwc29keSogfCBkYXJ3aW4qKQorICAgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWRzeW11dGlsIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWRzeW11dGlsOyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX0RTWU1VVElMK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiREU1lNVVRJTCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19EU1lNVVRJTD0iJERTWU1VVElMIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19EU1lNVVRJTD0iJHthY190b29sX3ByZWZpeH1kc3ltdXRpbCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCitmaQorZmkKK0RTWU1VVElMPSRhY19jdl9wcm9nX0RTWU1VVElMCitpZiB0ZXN0IC1uICIkRFNZTVVUSUwiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICREU1lNVVRJTCIgPiY1CitlY2hvICIke0VDSE9fVH0kRFNZTVVUSUwiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfRFNZTVVUSUwiOyB0aGVuCisgIGFjX2N0X0RTWU1VVElMPSREU1lNVVRJTAorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImRzeW11dGlsIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBkc3ltdXRpbDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9EU1lNVVRJTCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfRFNZTVVUSUwiOyB0aGVuCisgIGFjX2N2X3Byb2dfYWNfY3RfRFNZTVVUSUw9IiRhY19jdF9EU1lNVVRJTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfRFNZTVVUSUw9ImRzeW11dGlsIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfRFNZTVVUSUwiICYmIGFjX2N2X3Byb2dfYWNfY3RfRFNZTVVUSUw9IjoiCitmaQorZmkKK2FjX2N0X0RTWU1VVElMPSRhY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMCitpZiB0ZXN0IC1uICIkYWNfY3RfRFNZTVVUSUwiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9EU1lNVVRJTCIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3RfRFNZTVVUSUwiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCisgIERTWU1VVElMPSRhY19jdF9EU1lNVVRJTAorZWxzZQorICBEU1lNVVRJTD0iJGFjX2N2X3Byb2dfRFNZTVVUSUwiCitmaQorCisgICAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9bm1lZGl0Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW5tZWRpdDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19OTUVESVQrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJE5NRURJVCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19OTUVESVQ9IiROTUVESVQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX05NRURJVD0iJHthY190b29sX3ByZWZpeH1ubWVkaXQiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitOTUVESVQ9JGFjX2N2X3Byb2dfTk1FRElUCitpZiB0ZXN0IC1uICIkTk1FRElUIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkTk1FRElUIiA+JjUKK2VjaG8gIiR7RUNIT19UfSROTUVESVQiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfTk1FRElUIjsgdGhlbgorICBhY19jdF9OTUVESVQ9JE5NRURJVAorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm5tZWRpdCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgbm1lZGl0OyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X05NRURJVCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfTk1FRElUIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X05NRURJVD0iJGFjX2N0X05NRURJVCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfTk1FRElUPSJubWVkaXQiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworICB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19hY19jdF9OTUVESVQiICYmIGFjX2N2X3Byb2dfYWNfY3RfTk1FRElUPSI6IgorZmkKK2ZpCithY19jdF9OTUVESVQ9JGFjX2N2X3Byb2dfYWNfY3RfTk1FRElUCitpZiB0ZXN0IC1uICIkYWNfY3RfTk1FRElUIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfTk1FRElUIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdF9OTUVESVQiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCisgIE5NRURJVD0kYWNfY3RfTk1FRElUCitlbHNlCisgIE5NRURJVD0iJGFjX2N2X3Byb2dfTk1FRElUIgorZmkKKworICAgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWxpcG8iLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9bGlwbzsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19MSVBPK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRMSVBPIjsgdGhlbgorICBhY19jdl9wcm9nX0xJUE89IiRMSVBPIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19MSVBPPSIke2FjX3Rvb2xfcHJlZml4fWxpcG8iCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitMSVBPPSRhY19jdl9wcm9nX0xJUE8KK2lmIHRlc3QgLW4gIiRMSVBPIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkTElQTyIgPiY1CitlY2hvICIke0VDSE9fVH0kTElQTyIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKK2ZpCitpZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19MSVBPIjsgdGhlbgorICBhY19jdF9MSVBPPSRMSVBPCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAibGlwbyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgbGlwbzsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9MSVBPK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRhY19jdF9MSVBPIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X0xJUE89IiRhY19jdF9MSVBPIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19hY19jdF9MSVBPPSJsaXBvIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfTElQTyIgJiYgYWNfY3ZfcHJvZ19hY19jdF9MSVBPPSI6IgorZmkKK2ZpCithY19jdF9MSVBPPSRhY19jdl9wcm9nX2FjX2N0X0xJUE8KK2lmIHRlc3QgLW4gIiRhY19jdF9MSVBPIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfTElQTyIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3RfTElQTyIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKKyAgTElQTz0kYWNfY3RfTElQTworZWxzZQorICBMSVBPPSIkYWNfY3ZfcHJvZ19MSVBPIgorZmkKKworICAgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW90b29sIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW90b29sOyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX09UT09MK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRPVE9PTCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19PVE9PTD0iJE9UT09MIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19PVE9PTD0iJHthY190b29sX3ByZWZpeH1vdG9vbCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCitmaQorZmkKK09UT09MPSRhY19jdl9wcm9nX09UT09MCitpZiB0ZXN0IC1uICIkT1RPT0wiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRPVE9PTCIgPiY1CitlY2hvICIke0VDSE9fVH0kT1RPT0wiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfT1RPT0wiOyB0aGVuCisgIGFjX2N0X09UT09MPSRPVE9PTAorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm90b29sIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBvdG9vbDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PVE9PTCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfT1RPT0wiOyB0aGVuCisgIGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w9IiRhY19jdF9PVE9PTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w9Im90b29sIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfT1RPT0wiICYmIGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w9IjoiCitmaQorZmkKK2FjX2N0X09UT09MPSRhY19jdl9wcm9nX2FjX2N0X09UT09MCitpZiB0ZXN0IC1uICIkYWNfY3RfT1RPT0wiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9PVE9PTCIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3RfT1RPT0wiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCisgIE9UT09MPSRhY19jdF9PVE9PTAorZWxzZQorICBPVE9PTD0iJGFjX2N2X3Byb2dfT1RPT0wiCitmaQorCisgICAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9b3Rvb2w2NCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vdG9vbDY0OyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX09UT09MNjQrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJE9UT09MNjQiOyB0aGVuCisgIGFjX2N2X3Byb2dfT1RPT0w2ND0iJE9UT09MNjQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX09UT09MNjQ9IiR7YWNfdG9vbF9wcmVmaXh9b3Rvb2w2NCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCitmaQorZmkKK09UT09MNjQ9JGFjX2N2X3Byb2dfT1RPT0w2NAoraWYgdGVzdCAtbiAiJE9UT09MNjQiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRPVE9PTDY0IiA+JjUKK2VjaG8gIiR7RUNIT19UfSRPVE9PTDY0IiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworZmkKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX09UT09MNjQiOyB0aGVuCisgIGFjX2N0X09UT09MNjQ9JE9UT09MNjQKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJvdG9vbDY0Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBvdG9vbDY0OyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X09UT09MNjQrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X09UT09MNjQiOyB0aGVuCisgIGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w2ND0iJGFjX2N0X09UT09MNjQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X09UT09MNjQ9Im90b29sNjQiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworICB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19hY19jdF9PVE9PTDY0IiAmJiBhY19jdl9wcm9nX2FjX2N0X09UT09MNjQ9IjoiCitmaQorZmkKK2FjX2N0X09UT09MNjQ9JGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w2NAoraWYgdGVzdCAtbiAiJGFjX2N0X09UT09MNjQiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9PVE9PTDY0IiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdF9PVE9PTDY0IiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBPVE9PTDY0PSRhY19jdF9PVE9PTDY0CitlbHNlCisgIE9UT09MNjQ9IiRhY19jdl9wcm9nX09UT09MNjQiCitmaQorCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworICAgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgLXNpbmdsZV9tb2R1bGUgbGlua2VyIGZsYWciID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgLXNpbmdsZV9tb2R1bGUgbGlua2VyIGZsYWcuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2x0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Qrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZD1ubworICAgICAgaWYgdGVzdCAteiAiJHtMVF9NVUxUSV9NT0RVTEV9IjsgdGhlbgorCSMgQnkgZGVmYXVsdCB3ZSB3aWxsIGFkZCB0aGUgLXNpbmdsZV9tb2R1bGUgZmxhZy4gWW91IGNhbiBvdmVycmlkZQorCSMgYnkgZWl0aGVyIHNldHRpbmcgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIExUX01VTFRJX01PRFVMRQorCSMgbm9uLWVtcHR5IGF0IGNvbmZpZ3VyZSB0aW1lLCBvciBieSBhZGRpbmcgLW11bHRpX21vZHVsZSB0byB0aGUKKwkjIGxpbmsgZmxhZ3MuCisJcm0gLXJmIGxpYmNvbmZ0ZXN0LmR5bGliKgorCWVjaG8gImludCBmb28odm9pZCl7cmV0dXJuIDE7fSIgPiBjb25mdGVzdC5jCisJZWNobyAiJExUQ0MgJExUQ0ZMQUdTICRMREZMQUdTIC1vIGxpYmNvbmZ0ZXN0LmR5bGliIFwKKy1keW5hbWljbGliIC1XbCwtc2luZ2xlX21vZHVsZSBjb25mdGVzdC5jIiA+JjUKKwkkTFRDQyAkTFRDRkxBR1MgJExERkxBR1MgLW8gbGliY29uZnRlc3QuZHlsaWIgXAorCSAgLWR5bmFtaWNsaWIgLVdsLC1zaW5nbGVfbW9kdWxlIGNvbmZ0ZXN0LmMgMj5jb25mdGVzdC5lcnIKKyAgICAgICAgX2x0X3Jlc3VsdD0kPworCWlmIHRlc3QgLWYgbGliY29uZnRlc3QuZHlsaWIgJiYgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVyciAmJiB0ZXN0ICRfbHRfcmVzdWx0ID0gMDsgdGhlbgorCSAgbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZD15ZXMKKwllbHNlCisJICBjYXQgY29uZnRlc3QuZXJyID4mNQorCWZpCisJcm0gLXJmIGxpYmNvbmZ0ZXN0LmR5bGliKgorCXJtIC1mIGNvbmZ0ZXN0LioKKyAgICAgIGZpCitmaQorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2QiID4mNQorZWNobyAiJHtFQ0hPX1R9JGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2QiID4mNgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgLWV4cG9ydGVkX3N5bWJvbHNfbGlzdCBsaW5rZXIgZmxhZyIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAtZXhwb3J0ZWRfc3ltYm9sc19saXN0IGxpbmtlciBmbGFnLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHtsdF9jdl9sZF9leHBvcnRlZF9zeW1ib2xzX2xpc3Qrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0PW5vCisgICAgICBzYXZlX0xERkxBR1M9JExERkxBR1MKKyAgICAgIGVjaG8gIl9tYWluIiA+IGNvbmZ0ZXN0LnN5bQorICAgICAgTERGTEFHUz0iJExERkxBR1MgLVdsLC1leHBvcnRlZF9zeW1ib2xzX2xpc3QsY29uZnRlc3Quc3ltIgorICAgICAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBjb25mZGVmcy5oLiAgKi8KK19BQ0VPRgorY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CitjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK3JtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QkYWNfZXhlZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19saW5rXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2xpbmspIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdCRhY19leGVleHQnCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKyAgbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0PXllcworZWxzZQorICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorCitsdF9jdl9sZF9leHBvcnRlZF9zeW1ib2xzX2xpc3Q9bm8KK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCisgICAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorCUxERkxBR1M9IiRzYXZlX0xERkxBR1MiCisKK2ZpCitlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0IiA+JjUKK2VjaG8gIiR7RUNIT19UfSRsdF9jdl9sZF9leHBvcnRlZF9zeW1ib2xzX2xpc3QiID4mNgorICAgIGNhc2UgJGhvc3Rfb3MgaW4KKyAgICByaGFwc29keSogfCBkYXJ3aW4xLlswMTJdKQorICAgICAgX2x0X2Rhcl9hbGxvd191bmRlZmluZWQ9JyR7d2x9LXVuZGVmaW5lZCAke3dsfXN1cHByZXNzJyA7OworICAgIGRhcndpbjEuKikKKyAgICAgIF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkPScke3dsfS1mbGF0X25hbWVzcGFjZSAke3dsfS11bmRlZmluZWQgJHt3bH1zdXBwcmVzcycgOzsKKyAgICBkYXJ3aW4qKSAjIGRhcndpbiA1Lnggb24KKyAgICAgICMgaWYgcnVubmluZyBvbiAxMC41IG9yIGxhdGVyLCB0aGUgZGVwbG95bWVudCB0YXJnZXQgZGVmYXVsdHMKKyAgICAgICMgdG8gdGhlIE9TIHZlcnNpb24sIGlmIG9uIHg4NiwgYW5kIDEwLjQsIHRoZSBkZXBsb3ltZW50CisgICAgICAjIHRhcmdldCBkZWZhdWx0cyB0byAxMC40LiBEb24ndCB5b3UgbG92ZSBpdD8KKyAgICAgIGNhc2UgJHtNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQtMTAuMH0sJGhvc3QgaW4KKwkxMC4wLCo4NiotZGFyd2luOCp8MTAuMCwqLWRhcndpbls5MV0qKQorCSAgX2x0X2Rhcl9hbGxvd191bmRlZmluZWQ9JyR7d2x9LXVuZGVmaW5lZCAke3dsfWR5bmFtaWNfbG9va3VwJyA7OworCTEwLlswMTJdKikKKwkgIF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkPScke3dsfS1mbGF0X25hbWVzcGFjZSAke3dsfS11bmRlZmluZWQgJHt3bH1zdXBwcmVzcycgOzsKKwkxMC4qKQorCSAgX2x0X2Rhcl9hbGxvd191bmRlZmluZWQ9JyR7d2x9LXVuZGVmaW5lZCAke3dsfWR5bmFtaWNfbG9va3VwJyA7OworICAgICAgZXNhYworICAgIDs7CisgIGVzYWMKKyAgICBpZiB0ZXN0ICIkbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZCIgPSAieWVzIjsgdGhlbgorICAgICAgX2x0X2Rhcl9zaW5nbGVfbW9kPSckc2luZ2xlX21vZHVsZScKKyAgICBmaQorICAgIGlmIHRlc3QgIiRsdF9jdl9sZF9leHBvcnRlZF9zeW1ib2xzX2xpc3QiID0gInllcyI7IHRoZW4KKyAgICAgIF9sdF9kYXJfZXhwb3J0X3N5bXM9JyAke3dsfS1leHBvcnRlZF9zeW1ib2xzX2xpc3QsJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bScKKyAgICBlbHNlCisgICAgICBfbHRfZGFyX2V4cG9ydF9zeW1zPSd+JE5NRURJVCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKKyAgICBmaQorICAgIGlmIHRlc3QgIiREU1lNVVRJTCIgIT0gIjoiOyB0aGVuCisgICAgICBfbHRfZHN5bXV0aWw9J34kRFNZTVVUSUwgJGxpYiB8fCA6JworICAgIGVsc2UKKyAgICAgIF9sdF9kc3ltdXRpbD0KKyAgICBmaQorICAgIDs7CisgIGVzYWMKKworCiBmb3IgYWNfaGVhZGVyIGluIGRsZmNuLmgKIGRvCiBhc19hY19IZWFkZXI9YGVjaG8gImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVyIiB8ICRhc190cl9zaGAKQEAgLTY1NjEsNiArNzQ3MywxMjggQEAKIAogCiAKKyMgU2V0IG9wdGlvbnMKKworCisKKyAgICAgICAgZW5hYmxlX2Rsb3Blbj1ubworCisKKyAgZW5hYmxlX3dpbjMyX2RsbD1ubworCisKKyAgICAgICAgICAgICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1zaGFyZWQgb3IgLS1kaXNhYmxlLXNoYXJlZCB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9zaGFyZWQrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZW5hYmxldmFsPSIkZW5hYmxlX3NoYXJlZCIKKyAgcD0ke1BBQ0tBR0UtZGVmYXVsdH0KKyAgICBjYXNlICRlbmFibGV2YWwgaW4KKyAgICB5ZXMpIGVuYWJsZV9zaGFyZWQ9eWVzIDs7CisgICAgbm8pIGVuYWJsZV9zaGFyZWQ9bm8gOzsKKyAgICAqKQorICAgICAgZW5hYmxlX3NoYXJlZD1ubworICAgICAgIyBMb29rIGF0IHRoZSBhcmd1bWVudCB3ZSBnb3QuICBXZSB1c2UgYWxsIHRoZSBjb21tb24gbGlzdCBzZXBhcmF0b3JzLgorICAgICAgbHRfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSRQQVRIX1NFUEFSQVRPUiwiCisgICAgICBmb3IgcGtnIGluICRlbmFibGV2YWw7IGRvCisJSUZTPSIkbHRfc2F2ZV9pZnMiCisJaWYgdGVzdCAiWCRwa2ciID0gIlgkcCI7IHRoZW4KKwkgIGVuYWJsZV9zaGFyZWQ9eWVzCisJZmkKKyAgICAgIGRvbmUKKyAgICAgIElGUz0iJGx0X3NhdmVfaWZzIgorICAgICAgOzsKKyAgICBlc2FjCitlbHNlCisgIGVuYWJsZV9zaGFyZWQ9eWVzCitmaTsKKworCisKKworCisKKworCisgICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1zdGF0aWMgb3IgLS1kaXNhYmxlLXN0YXRpYyB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9zdGF0aWMrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZW5hYmxldmFsPSIkZW5hYmxlX3N0YXRpYyIKKyAgcD0ke1BBQ0tBR0UtZGVmYXVsdH0KKyAgICBjYXNlICRlbmFibGV2YWwgaW4KKyAgICB5ZXMpIGVuYWJsZV9zdGF0aWM9eWVzIDs7CisgICAgbm8pIGVuYWJsZV9zdGF0aWM9bm8gOzsKKyAgICAqKQorICAgICBlbmFibGVfc3RhdGljPW5vCisgICAgICAjIExvb2sgYXQgdGhlIGFyZ3VtZW50IHdlIGdvdC4gIFdlIHVzZSBhbGwgdGhlIGNvbW1vbiBsaXN0IHNlcGFyYXRvcnMuCisgICAgICBsdF9zYXZlX2lmcz0iJElGUyI7IElGUz0iJHtJRlN9JFBBVEhfU0VQQVJBVE9SLCIKKyAgICAgIGZvciBwa2cgaW4gJGVuYWJsZXZhbDsgZG8KKwlJRlM9IiRsdF9zYXZlX2lmcyIKKwlpZiB0ZXN0ICJYJHBrZyIgPSAiWCRwIjsgdGhlbgorCSAgZW5hYmxlX3N0YXRpYz15ZXMKKwlmaQorICAgICAgZG9uZQorICAgICAgSUZTPSIkbHRfc2F2ZV9pZnMiCisgICAgICA7OworICAgIGVzYWMKK2Vsc2UKKyAgZW5hYmxlX3N0YXRpYz15ZXMKK2ZpOworCisKKworCisKKworCisKKworIyBDaGVjayB3aGV0aGVyIC0td2l0aC1waWMgb3IgLS13aXRob3V0LXBpYyB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke3dpdGhfcGljK3NldH0iID0gc2V0OyB0aGVuCisgIHdpdGh2YWw9IiR3aXRoX3BpYyIKKyAgcGljX21vZGU9IiR3aXRodmFsIgorZWxzZQorICBwaWNfbW9kZT1kZWZhdWx0CitmaTsKKwordGVzdCAteiAiJHBpY19tb2RlIiAmJiBwaWNfbW9kZT1kZWZhdWx0CisKKworCisKKworCisKKyAgIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWZhc3QtaW5zdGFsbCBvciAtLWRpc2FibGUtZmFzdC1pbnN0YWxsIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7ZW5hYmxlX2Zhc3RfaW5zdGFsbCtzZXR9IiA9IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRlbmFibGVfZmFzdF9pbnN0YWxsIgorICBwPSR7UEFDS0FHRS1kZWZhdWx0fQorICAgIGNhc2UgJGVuYWJsZXZhbCBpbgorICAgIHllcykgZW5hYmxlX2Zhc3RfaW5zdGFsbD15ZXMgOzsKKyAgICBubykgZW5hYmxlX2Zhc3RfaW5zdGFsbD1ubyA7OworICAgICopCisgICAgICBlbmFibGVfZmFzdF9pbnN0YWxsPW5vCisgICAgICAjIExvb2sgYXQgdGhlIGFyZ3VtZW50IHdlIGdvdC4gIFdlIHVzZSBhbGwgdGhlIGNvbW1vbiBsaXN0IHNlcGFyYXRvcnMuCisgICAgICBsdF9zYXZlX2lmcz0iJElGUyI7IElGUz0iJHtJRlN9JFBBVEhfU0VQQVJBVE9SLCIKKyAgICAgIGZvciBwa2cgaW4gJGVuYWJsZXZhbDsgZG8KKwlJRlM9IiRsdF9zYXZlX2lmcyIKKwlpZiB0ZXN0ICJYJHBrZyIgPSAiWCRwIjsgdGhlbgorCSAgZW5hYmxlX2Zhc3RfaW5zdGFsbD15ZXMKKwlmaQorICAgICAgZG9uZQorICAgICAgSUZTPSIkbHRfc2F2ZV9pZnMiCisgICAgICA7OworICAgIGVzYWMKK2Vsc2UKKyAgZW5hYmxlX2Zhc3RfaW5zdGFsbD15ZXMKK2ZpOworCisKKworCisKKworCisKKworCiAjIFRoaXMgY2FuIGJlIHVzZWQgdG8gcmVidWlsZCBsaWJ0b29sIHdoZW4gbmVlZGVkCiBMSUJUT09MX0RFUFM9IiRsdG1haW4iCiAKQEAgLTY5MDcsNyArNzk0MSw3IEBACiBlY2hvICIkbHRfc2ltcGxlX2xpbmtfdGVzdF9jb2RlIiA+Y29uZnRlc3QuJGFjX2V4dAogZXZhbCAiJGFjX2xpbmsiIDI+JjEgPi9kZXYvbnVsbCB8ICRTRUQgJy9eJC9kOyAvXiAqKy9kJyA+Y29uZnRlc3QuZXJyCiBfbHRfbGlua2VyX2JvaWxlcnBsYXRlPWBjYXQgY29uZnRlc3QuZXJyYAotJFJNIGNvbmZ0ZXN0KgorJFJNIC1yIGNvbmZ0ZXN0KgogCiAKICMjIENBVkVBVCBFTVBUT1I6CkBAIC02OTM5LDExICs3OTczLDExIEBACiAgICAtZSAnczouKkZMQUdTfVx7MCwxXH0gOiYkbHRfY29tcGlsZXJfZmxhZyA6OyB0JyBcCiAgICAtZSAnczogW14gXSpjb25mdGVzdFwuOiAkbHRfY29tcGlsZXJfZmxhZyY6OyB0JyBcCiAgICAtZSAnczokOiAkbHRfY29tcGlsZXJfZmxhZzonYAotICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjY5NDI6ICRsdF9jb21waWxlXCIiID4mNSkKKyAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo3OTc2OiAkbHRfY29tcGlsZVwiIiA+JjUpCiAgICAoZXZhbCAiJGx0X2NvbXBpbGUiIDI+Y29uZnRlc3QuZXJyKQogICAgYWNfc3RhdHVzPSQ/CiAgICBjYXQgY29uZnRlc3QuZXJyID4mNQotICAgZWNobyAiJGFzX21lOjY5NDY6IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAgZWNobyAiJGFzX21lOjc5ODA6IFwkPyA9ICRhY19zdGF0dXMiID4mNQogICAgaWYgKGV4aXQgJGFjX3N0YXR1cykgJiYgdGVzdCAtcyAiJGFjX291dGZpbGUiOyB0aGVuCiAgICAgICMgVGhlIGNvbXBpbGVyIGNhbiBvbmx5IHdhcm4gYW5kIGlnbm9yZSB0aGUgb3B0aW9uIGlmIG5vdCByZWNvZ25pemVkCiAgICAgICMgU28gc2F5IG5vIGlmIHRoZXJlIGFyZSB3YXJuaW5ncyBvdGhlciB0aGFuIHRoZSB1c3VhbCBvdXRwdXQuCkBAIC02OTkzLDE5ICs4MDI3LDI1IEBACiAgICAgICA7OwogCiAgICAgYW1pZ2FvcyopCi0gICAgICBpZiB0ZXN0ICIkaG9zdF9jcHUiID0gbTY4azsgdGhlbgotICAgICAgICAjIEZJWE1FOiB3ZSBuZWVkIGF0IGxlYXN0IDY4MDIwIGNvZGUgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcywgYnV0Ci0gICAgICAgICMgYWRkaW5nIHRoZSBgLW02ODAyMCcgZmxhZyB0byBHQ0MgcHJldmVudHMgYnVpbGRpbmcgYW55dGhpbmcgYmV0dGVyLAotICAgICAgICAjIGxpa2UgYC1tNjgwNDAnLgotICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLW02ODAyMCAtcmVzaWRlbnQzMiAtbWFsd2F5cy1yZXN0b3JlLWE0JwotICAgICAgZmkKKyAgICAgIGNhc2UgJGhvc3RfY3B1IGluCisgICAgICBwb3dlcnBjKQorICAgICAgICAgICAgIyBzZWUgY29tbWVudCBhYm91dCBBbWlnYU9TNCAuc28gc3VwcG9ydAorICAgICAgICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1mUElDJworICAgICAgICA7OworICAgICAgbTY4aykKKyAgICAgICAgICAgICMgRklYTUU6IHdlIG5lZWQgYXQgbGVhc3QgNjgwMjAgY29kZSB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzLCBidXQKKyAgICAgICAgICAgICMgYWRkaW5nIHRoZSBgLW02ODAyMCcgZmxhZyB0byBHQ0MgcHJldmVudHMgYnVpbGRpbmcgYW55dGhpbmcgYmV0dGVyLAorICAgICAgICAgICAgIyBsaWtlIGAtbTY4MDQwJy4KKyAgICAgICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctbTY4MDIwIC1yZXNpZGVudDMyIC1tYWx3YXlzLXJlc3RvcmUtYTQnCisgICAgICAgIDs7CisgICAgICBlc2FjCiAgICAgICA7OwogCiAgICAgYmVvcyogfCBpcml4NSogfCBpcml4NiogfCBub25zdG9wdXgqIHwgb3NmMyogfCBvc2Y0KiB8IG9zZjUqKQogICAgICAgIyBQSUMgaXMgdGhlIGRlZmF1bHQgZm9yIHRoZXNlIE9TZXMuCiAgICAgICA7OwogCi0gICAgbWluZ3cqIHwgY3lnd2luKiB8IHB3MzIqIHwgb3MyKikKKyAgICBtaW5ndyogfCBjeWd3aW4qIHwgcHczMiogfCBvczIqIHwgY2VnY2MqKQogICAgICAgIyBUaGlzIGhhY2sgaXMgc28gdGhhdCB0aGUgc291cmNlIGZpbGUgY2FuIHRlbGwgd2hldGhlciBpdCBpcyBiZWluZwogICAgICAgIyBidWlsdCBmb3IgaW5jbHVzaW9uIGluIGEgZGxsIChhbmQgc2hvdWxkIGV4cG9ydCBzeW1ib2xzIGZvciBleGFtcGxlKS4KICAgICAgICMgQWx0aG91Z2ggdGhlIGN5Z3dpbiBnY2MgaWdub3JlcyAtZlBJQywgc3RpbGwgbmVlZCB0aGlzIGZvciBvbGQtc3R5bGUKQEAgLTcwMjAsMTAgKzgwNjAsMTEgQEAKICAgICAgIDs7CiAKICAgICBocHV4KikKLSAgICAgICMgUElDIGlzIHRoZSBkZWZhdWx0IGZvciBJQTY0IEhQLVVYIGFuZCA2NC1iaXQgSFAtVVgsIGJ1dAotICAgICAgIyBub3QgZm9yIFBBIEhQLVVYLgorICAgICAgIyBQSUMgaXMgdGhlIGRlZmF1bHQgZm9yIDY0LWJpdCBQQSBIUC1VWCwgYnV0IG5vdCBmb3IgMzItYml0CisgICAgICAjIFBBIEhQLVVYLiAgT24gSUE2NCBIUC1VWCwgUElDIGlzIHRoZSBkZWZhdWx0IGJ1dCB0aGUgcGljIGZsYWcKKyAgICAgICMgc2V0cyB0aGUgZGVmYXVsdCBUTFMgbW9kZWwgYW5kIGFmZmVjdHMgaW5saW5pbmcuCiAgICAgICBjYXNlICRob3N0X2NwdSBpbgotICAgICAgaHBwYSo2NCp8aWE2NCopCisgICAgICBocHBhKjY0KikKIAkjICtaIHRoZSBkZWZhdWx0CiAJOzsKICAgICAgICopCkBAIC03MDcyLDE4ICs4MTEzLDggQEAKIAlsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLWJuc28gLWJJOi9saWIvc3lzY2FsbHMuZXhwJwogICAgICAgZmkKICAgICAgIDs7Ci0gICAgZGFyd2luKikKLSAgICAgICMgUElDIGlzIHRoZSBkZWZhdWx0IG9uIHRoaXMgcGxhdGZvcm0KLSAgICAgICMgQ29tbW9uIHN5bWJvbHMgbm90IGFsbG93ZWQgaW4gTUhfRFlMSUIgZmlsZXMKLSAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCi0gICAgICB4bGMqKQotICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLXFub2NvbW1vbicKLSAgICAgICAgbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKLSAgICAgICAgOzsKLSAgICAgIGVzYWMKLSAgICAgIDs7CiAKLSAgICBtaW5ndyogfCBjeWd3aW4qIHwgcHczMiogfCBvczIqKQorICAgIG1pbmd3KiB8IGN5Z3dpbiogfCBwdzMyKiB8IG9zMiogfCBjZWdjYyopCiAgICAgICAjIFRoaXMgaGFjayBpcyBzbyB0aGF0IHRoZSBzb3VyY2UgZmlsZSBjYW4gdGVsbCB3aGV0aGVyIGl0IGlzIGJlaW5nCiAgICAgICAjIGJ1aWx0IGZvciBpbmNsdXNpb24gaW4gYSBkbGwgKGFuZCBzaG91bGQgZXhwb3J0IHN5bWJvbHMgZm9yIGV4YW1wbGUpLgogICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1ERExMX0VYUE9SVCcKQEAgLTcxMTMsMTEgKzgxNDQsMjUgQEAKIAogICAgIGxpbnV4KiB8IGsqYnNkKi1nbnUpCiAgICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgotICAgICAgaWNjKiB8IGVjYyopCisgICAgICAjIG9sZCBJbnRlbCBmb3IgeDg2XzY0IHdoaWNoIHN0aWxsIHN1cHBvcnRlZCAtS1BJQy4KKyAgICAgIGVjYyopCiAJbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKIAlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLUtQSUMnCiAJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1zdGF0aWMnCiAgICAgICAgIDs7CisgICAgICAjIGljYyB1c2VkIHRvIGJlIGluY29tcGF0aWJsZSB3aXRoIEdDQy4KKyAgICAgICMgSUNDIDEwIGRvZXNuJ3QgYWNjZXB0IC1LUElDIGFueSBtb3JlLgorICAgICAgaWNjKiB8IGlmb3J0KikKKwlsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJworCWx0X3Byb2dfY29tcGlsZXJfcGljPSctZlBJQycKKwlsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLXN0YXRpYycKKyAgICAgICAgOzsKKyAgICAgICMgTGFoZXkgRm9ydHJhbiA4LjEuCisgICAgICBsZjk1KikKKwlsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJworCWx0X3Byb2dfY29tcGlsZXJfcGljPSctLXNoYXJlZCcKKwlsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLS1zdGF0aWMnCisJOzsKICAgICAgIHBnY2MqIHwgcGdmNzcqIHwgcGdmOTAqIHwgcGdmOTUqKQogICAgICAgICAjIFBvcnRsYW5kIEdyb3VwIGNvbXBpbGVycyAoKm5vdCogdGhlIFBlbnRpdW0gZ2NjIGNvbXBpbGVyLAogCSMgd2hpY2ggbG9va3MgdG8gYmUgYSBkZWFkIHByb2plY3QpCkBAIC03MTMwLDYgKzgxNzUsMTIgQEAKICAgICAgICAgIyBBbGwgQWxwaGEgY29kZSBpcyBQSUMuCiAgICAgICAgIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctbm9uX3NoYXJlZCcKICAgICAgICAgOzsKKyAgICAgIHhsKikKKwkjIElCTSBYTCBDIDguMC9Gb3J0cmFuIDEwLjEgb24gUFBDCisJbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKKwlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLXFwaWMnCisJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1xc3RhdGljbGluaycKKwk7OwogICAgICAgKikKIAljYXNlIGAkQ0MgLVYgMj4mMSB8IHNlZCA1cWAgaW4KIAkqU3VuXCBDKikKQEAgLTcyNDUsMTAgKzgyOTYsMTAgQEAKIGlmIHRlc3QgLW4gIiRsdF9wcm9nX2NvbXBpbGVyX3BpYyI7IHRoZW4KICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGlmICRjb21waWxlciBQSUMgZmxhZyAkbHRfcHJvZ19jb21waWxlcl9waWMgd29ya3MiID4mNQogZWNobyAkRUNIT19OICJjaGVja2luZyBpZiAkY29tcGlsZXIgUElDIGZsYWcgJGx0X3Byb2dfY29tcGlsZXJfcGljIHdvcmtzLi4uICRFQ0hPX0MiID4mNgotaWYgdGVzdCAiJHtsdF9wcm9nX2NvbXBpbGVyX3BpY193b3JrcytzZXR9IiA9IHNldDsgdGhlbgoraWYgdGVzdCAiJHtsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3JrcytzZXR9IiA9IHNldDsgdGhlbgogICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgogZWxzZQotICBsdF9wcm9nX2NvbXBpbGVyX3BpY193b3Jrcz1ubworICBsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3Jrcz1ubwogICAgYWNfb3V0ZmlsZT1jb25mdGVzdC4kYWNfb2JqZXh0CiAgICBlY2hvICIkbHRfc2ltcGxlX2NvbXBpbGVfdGVzdF9jb2RlIiA+IGNvbmZ0ZXN0LiRhY19leHQKICAgIGx0X2NvbXBpbGVyX2ZsYWc9IiRsdF9wcm9nX2NvbXBpbGVyX3BpYyAtRFBJQyIKQEAgLTcyNjEsMjcgKzgzMTIsMjcgQEAKICAgIC1lICdzOi4qRkxBR1N9XHswLDFcfSA6JiRsdF9jb21waWxlcl9mbGFnIDo7IHQnIFwKICAgIC1lICdzOiBbXiBdKmNvbmZ0ZXN0XC46ICRsdF9jb21waWxlcl9mbGFnJjo7IHQnIFwKICAgIC1lICdzOiQ6ICRsdF9jb21waWxlcl9mbGFnOidgCi0gICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NzI2NDogJGx0X2NvbXBpbGVcIiIgPiY1KQorICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjgzMTU6ICRsdF9jb21waWxlXCIiID4mNSkKICAgIChldmFsICIkbHRfY29tcGlsZSIgMj5jb25mdGVzdC5lcnIpCiAgICBhY19zdGF0dXM9JD8KICAgIGNhdCBjb25mdGVzdC5lcnIgPiY1Ci0gICBlY2hvICIkYXNfbWU6NzI2ODogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgICBlY2hvICIkYXNfbWU6ODMxOTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CiAgICBpZiAoZXhpdCAkYWNfc3RhdHVzKSAmJiB0ZXN0IC1zICIkYWNfb3V0ZmlsZSI7IHRoZW4KICAgICAgIyBUaGUgY29tcGlsZXIgY2FuIG9ubHkgd2FybiBhbmQgaWdub3JlIHRoZSBvcHRpb24gaWYgbm90IHJlY29nbml6ZWQKICAgICAgIyBTbyBzYXkgbm8gaWYgdGhlcmUgYXJlIHdhcm5pbmdzIG90aGVyIHRoYW4gdGhlIHVzdWFsIG91dHB1dC4KICAgICAgJEVDSE8gIlgkX2x0X2NvbXBpbGVyX2JvaWxlcnBsYXRlIiB8ICRYc2VkIC1lICcvXiQvZCcgPmNvbmZ0ZXN0LmV4cAogICAgICAkU0VEICcvXiQvZDsgL14gKisvZCcgY29uZnRlc3QuZXJyID5jb25mdGVzdC5lcjIKICAgICAgaWYgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVyMiB8fCBkaWZmIGNvbmZ0ZXN0LmV4cCBjb25mdGVzdC5lcjIgPi9kZXYvbnVsbDsgdGhlbgotICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzPXllcworICAgICAgIGx0X2N2X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzPXllcwogICAgICBmaQogICAgZmkKICAgICRSTSBjb25mdGVzdCoKIAogZmkKLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRsdF9wcm9nX2NvbXBpbGVyX3BpY193b3JrcyIgPiY1Ci1lY2hvICIke0VDSE9fVH0kbHRfcHJvZ19jb21waWxlcl9waWNfd29ya3MiID4mNgorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGx0X2N2X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3JrcyIgPiY2CiAKLWlmIHRlc3QgeCIkbHRfcHJvZ19jb21waWxlcl9waWNfd29ya3MiID0geHllczsgdGhlbgoraWYgdGVzdCB4IiRsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3JrcyIgPSB4eWVzOyB0aGVuCiAgICAgY2FzZSAkbHRfcHJvZ19jb21waWxlcl9waWMgaW4KICAgICAgIiIgfCAiICIqKSA7OwogICAgICAqKSBsdF9wcm9nX2NvbXBpbGVyX3BpYz0iICRsdF9wcm9nX2NvbXBpbGVyX3BpYyIgOzsKQEAgLTczMDQsMTAgKzgzNTUsMTAgQEAKIHdsPSRsdF9wcm9nX2NvbXBpbGVyX3dsIGV2YWwgbHRfdG1wX3N0YXRpY19mbGFnPVwiJGx0X3Byb2dfY29tcGlsZXJfc3RhdGljXCIKIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBpZiAkY29tcGlsZXIgc3RhdGljIGZsYWcgJGx0X3RtcF9zdGF0aWNfZmxhZyB3b3JrcyIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGlmICRjb21waWxlciBzdGF0aWMgZmxhZyAkbHRfdG1wX3N0YXRpY19mbGFnIHdvcmtzLi4uICRFQ0hPX0MiID4mNgotaWYgdGVzdCAiJHtsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcytzZXR9IiA9IHNldDsgdGhlbgoraWYgdGVzdCAiJHtsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcytzZXR9IiA9IHNldDsgdGhlbgogICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgogZWxzZQotICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3Jrcz1ubworICBsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3Jrcz1ubwogICAgc2F2ZV9MREZMQUdTPSIkTERGTEFHUyIKICAgIExERkxBR1M9IiRMREZMQUdTICRsdF90bXBfc3RhdGljX2ZsYWciCiAgICBlY2hvICIkbHRfc2ltcGxlX2xpbmtfdGVzdF9jb2RlIiA+IGNvbmZ0ZXN0LiRhY19leHQKQEAgLTczMjAsMjAgKzgzNzEsMjAgQEAKICAgICAgICAkRUNITyAiWCRfbHRfbGlua2VyX2JvaWxlcnBsYXRlIiB8ICRYc2VkIC1lICcvXiQvZCcgPiBjb25mdGVzdC5leHAKICAgICAgICAkU0VEICcvXiQvZDsgL14gKisvZCcgY29uZnRlc3QuZXJyID5jb25mdGVzdC5lcjIKICAgICAgICBpZiBkaWZmIGNvbmZ0ZXN0LmV4cCBjb25mdGVzdC5lcjIgPi9kZXYvbnVsbDsgdGhlbgotICAgICAgICAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9eWVzCisgICAgICAgICBsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3Jrcz15ZXMKICAgICAgICBmaQogICAgICBlbHNlCi0gICAgICAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9eWVzCisgICAgICAgbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9eWVzCiAgICAgIGZpCiAgICBmaQotICAgJFJNIGNvbmZ0ZXN0KgorICAgJFJNIC1yIGNvbmZ0ZXN0KgogICAgTERGTEFHUz0iJHNhdmVfTERGTEFHUyIKIAogZmkKLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcyIgPiY1Ci1lY2hvICIke0VDSE9fVH0kbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3MiID4mNgorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGx0X2N2X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcyIgPiY2CiAKLWlmIHRlc3QgeCIkbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3MiID0geHllczsgdGhlbgoraWYgdGVzdCB4IiRsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcyIgPSB4eWVzOyB0aGVuCiAgICAgOgogZWxzZQogICAgIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljPQpAQCAtNzM2NiwxMSArODQxNywxMSBAQAogICAgLWUgJ3M6LipGTEFHU31cezAsMVx9IDomJGx0X2NvbXBpbGVyX2ZsYWcgOjsgdCcgXAogICAgLWUgJ3M6IFteIF0qY29uZnRlc3RcLjogJGx0X2NvbXBpbGVyX2ZsYWcmOjsgdCcgXAogICAgLWUgJ3M6JDogJGx0X2NvbXBpbGVyX2ZsYWc6J2AKLSAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo3MzY5OiAkbHRfY29tcGlsZVwiIiA+JjUpCisgICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6ODQyMDogJGx0X2NvbXBpbGVcIiIgPiY1KQogICAgKGV2YWwgIiRsdF9jb21waWxlIiAyPm91dC9jb25mdGVzdC5lcnIpCiAgICBhY19zdGF0dXM9JD8KICAgIGNhdCBvdXQvY29uZnRlc3QuZXJyID4mNQotICAgZWNobyAiJGFzX21lOjczNzM6IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAgZWNobyAiJGFzX21lOjg0MjQ6IFwkPyA9ICRhY19zdGF0dXMiID4mNQogICAgaWYgKGV4aXQgJGFjX3N0YXR1cykgJiYgdGVzdCAtcyBvdXQvY29uZnRlc3QyLiRhY19vYmpleHQKICAgIHRoZW4KICAgICAgIyBUaGUgY29tcGlsZXIgY2FuIG9ubHkgd2FybiBhbmQgaWdub3JlIHRoZSBvcHRpb24gaWYgbm90IHJlY29nbml6ZWQKQEAgLTc0MjEsMTEgKzg0NzIsMTEgQEAKICAgIC1lICdzOi4qRkxBR1N9XHswLDFcfSA6JiRsdF9jb21waWxlcl9mbGFnIDo7IHQnIFwKICAgIC1lICdzOiBbXiBdKmNvbmZ0ZXN0XC46ICRsdF9jb21waWxlcl9mbGFnJjo7IHQnIFwKICAgIC1lICdzOiQ6ICRsdF9jb21waWxlcl9mbGFnOidgCi0gICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NzQyNDogJGx0X2NvbXBpbGVcIiIgPiY1KQorICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjg0NzU6ICRsdF9jb21waWxlXCIiID4mNSkKICAgIChldmFsICIkbHRfY29tcGlsZSIgMj5vdXQvY29uZnRlc3QuZXJyKQogICAgYWNfc3RhdHVzPSQ/CiAgICBjYXQgb3V0L2NvbmZ0ZXN0LmVyciA+JjUKLSAgIGVjaG8gIiRhc19tZTo3NDI4OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgIGVjaG8gIiRhc19tZTo4NDc5OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKICAgIGlmIChleGl0ICRhY19zdGF0dXMpICYmIHRlc3QgLXMgb3V0L2NvbmZ0ZXN0Mi4kYWNfb2JqZXh0CiAgICB0aGVuCiAgICAgICMgVGhlIGNvbXBpbGVyIGNhbiBvbmx5IHdhcm4gYW5kIGlnbm9yZSB0aGUgb3B0aW9uIGlmIG5vdCByZWNvZ25pemVkCkBAIC03NTE1LDE2ICs4NTY2LDE3IEBACiAgICMgaXQgd2lsbCBiZSB3cmFwcGVkIGJ5IGAgKCcgYW5kIGApJCcsIHNvIG9uZSBtdXN0IG5vdCBtYXRjaCBiZWdpbm5pbmcgb3IKICAgIyBlbmQgb2YgbGluZS4gIEV4YW1wbGU6IGBhfGJjfC4qZC4qJyB3aWxsIGV4Y2x1ZGUgdGhlIHN5bWJvbHMgYGEnIGFuZCBgYmMnLAogICAjIGFzIHdlbGwgYXMgYW55IHN5bWJvbCB0aGF0IGNvbnRhaW5zIGBkJy4KLSAgZXhjbHVkZV9leHBzeW1zPSJfR0xPQkFMX09GRlNFVF9UQUJMRV8iCisgIGV4Y2x1ZGVfZXhwc3ltcz0nX0dMT0JBTF9PRkZTRVRfVEFCTEVffF9HTE9CQUxfX0ZbSURdXy4qJwogICAjIEFsdGhvdWdoIF9HTE9CQUxfT0ZGU0VUX1RBQkxFXyBpcyBhIHZhbGlkIHN5bWJvbCBDIG5hbWUsIG1vc3QgYS5vdXQKICAgIyBwbGF0Zm9ybXMgKGFiKXVzZSBpdCBpbiBQSUMgY29kZSwgYnV0IHRoZWlyIGxpbmtlcnMgZ2V0IGNvbmZ1c2VkIGlmCiAgICMgdGhlIHN5bWJvbCBpcyBleHBsaWNpdGx5IHJlZmVyZW5jZWQuICBTaW5jZSBwb3J0YWJsZSBjb2RlIGNhbm5vdAogICAjIHJlbHkgb24gdGhpcyBzeW1ib2wgbmFtZSwgaXQncyBwcm9iYWJseSBmaW5lIHRvIG5ldmVyIGluY2x1ZGUgaXQgaW4KICAgIyBwcmVsb2FkZWQgc3ltYm9sIHRhYmxlcy4KKyAgIyBFeGNsdWRlIHNoYXJlZCBsaWJyYXJ5IGluaXRpYWxpemF0aW9uL2ZpbmFsaXphdGlvbiBzeW1ib2xzLgogICBleHRyYWN0X2V4cHN5bXNfY21kcz0KIAogICBjYXNlICRob3N0X29zIGluCi0gIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKikKKyAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgICMgRklYTUU6IHRoZSBNU1ZDKysgcG9ydCBoYXNuJ3QgYmVlbiB0ZXN0ZWQgaW4gYSBsb29vb25nIHRpbWUKICAgICAjIFdoZW4gbm90IHVzaW5nIGdjYywgd2UgY3VycmVudGx5IGFzc3VtZSB0aGF0IHdlIGFyZSB1c2luZwogICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCkBAIC03NTg2LDE5ICs4NjM4LDE4IEBACiAgICAgICA7OwogCiAgICAgYW1pZ2FvcyopCi0gICAgICBpZiB0ZXN0ICIkaG9zdF9jcHUiID0gbTY4azsgdGhlbgotICAgICAgICBhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIE5BTUUgJGxpYm5hbWUiID4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBMSUJSQVJZX0lEIDEiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgUkVWSVNJT04gJHJldmlzaW9uIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRBUiAkQVJfRkxBR1MgJGxpYiAkbGlib2Jqc34kUkFOTElCICRsaWJ+KGNkICRvdXRwdXRfb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCi0gICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1MJGxpYmRpcicKLSAgICAgICAgaGFyZGNvZGVfbWludXNfTD15ZXMKLSAgICAgIGZpCi0KLSAgICAgICMgU2FtdWVsIEEuIEZhbHZvIElJIDxrYzV0amFAZG9scGhpbi5vcGVucHJvamVjdHMubmV0PiByZXBvcnRzCi0gICAgICAjIHRoYXQgdGhlIHNlbWFudGljcyBvZiBkeW5hbWljIGxpYnJhcmllcyBvbiBBbWlnYU9TLCBhdCBsZWFzdCB1cAotICAgICAgIyB0byB2ZXJzaW9uIDQsIGlzIHRvIHNoYXJlIGRhdGEgYW1vbmcgbXVsdGlwbGUgcHJvZ3JhbXMgbGlua2VkCi0gICAgICAjIHdpdGggdGhlIHNhbWUgZHluYW1pYyBsaWJyYXJ5LiAgU2luY2UgdGhpcyBkb2Vzbid0IG1hdGNoIHRoZQotICAgICAgIyBiZWhhdmlvciBvZiBzaGFyZWQgbGlicmFyaWVzIG9uIG90aGVyIHBsYXRmb3Jtcywgd2UgY2FuJ3QgdXNlCi0gICAgICAjIHRoZW0uCi0gICAgICBsZF9zaGxpYnM9bm8KKyAgICAgIGNhc2UgJGhvc3RfY3B1IGluCisgICAgICBwb3dlcnBjKQorICAgICAgICAgICAgIyBzZWUgY29tbWVudCBhYm91dCBBbWlnYU9TNCAuc28gc3VwcG9ydAorICAgICAgICAgICAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR3bCRzb25hbWUgLW8gJGxpYicKKyAgICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JycKKyAgICAgICAgOzsKKyAgICAgIG02OGspCisgICAgICAgICAgICBhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIE5BTUUgJGxpYm5hbWUiID4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBMSUJSQVJZX0lEIDEiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgUkVWSVNJT04gJHJldmlzaW9uIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRBUiAkQVJfRkxBR1MgJGxpYiAkbGlib2Jqc34kUkFOTElCICRsaWJ+KGNkICRvdXRwdXRfb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCisgICAgICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCisgICAgICAgICAgICBoYXJkY29kZV9taW51c19MPXllcworICAgICAgICA7OworICAgICAgZXNhYwogICAgICAgOzsKIAogICAgIGJlb3MqKQpAQCAtNzYxMiw3ICs4NjYzLDcgQEAKICAgICAgIGZpCiAgICAgICA7OwogCi0gICAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqKQorICAgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgICAgICMgX0xUX1RBR1ZBUihoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjLCApIGlzIGFjdHVhbGx5IG1lYW5pbmdsZXNzLAogICAgICAgIyBhcyB0aGVyZSBpcyBubyBzZWFyY2ggcGF0aCBmb3IgRExMcy4KICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1MJGxpYmRpcicKQEAgLTc2NjMsNiArODcxNCw3IEBACiAJICYmIHRlc3QgIiR0bXBfZGlldCIgPSBubwogICAgICAgdGhlbgogCXRtcF9hZGRmbGFnPQorCXRtcF9zaGFyZWRmbGFnPSctc2hhcmVkJwogCWNhc2UgJGNjX2Jhc2VuYW1lLCRob3N0X2NwdSBpbgogICAgICAgICBwZ2NjKikJCQkJIyBQb3J0bGFuZCBHcm91cCBDIGNvbXBpbGVyCiAJICB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0nJHt3bH0tLXdob2xlLWFyY2hpdmVgZm9yIGNvbnYgaW4gJGNvbnZlbmllbmNlXCJcIjsgZG8gdGVzdCAgLW4gXCIkY29udlwiICYmIG5ld19jb252ZW5pZW5jZT1cIiRuZXdfY29udmVuaWVuY2UsJGNvbnZcIjsgZG9uZTsgJEVDSE8gXCIkbmV3X2NvbnZlbmllbmNlXCJgICR7d2x9LS1uby13aG9sZS1hcmNoaXZlJwpAQCAtNzY3Nyw2ICs4NzI5LDEyIEBACiAJICB0bXBfYWRkZmxhZz0nIC1pX2R5bmFtaWMgLW5vZm9yX21haW4nIDs7CiAJaWZjKiB8IGlmb3J0KikJCQkjIEludGVsIEZvcnRyYW4gY29tcGlsZXIKIAkgIHRtcF9hZGRmbGFnPScgLW5vZm9yX21haW4nIDs7CisJbGY5NSopCQkJCSMgTGFoZXkgRm9ydHJhbiA4LjEKKwkgIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjPQorCSAgdG1wX3NoYXJlZGZsYWc9Jy0tc2hhcmVkJyA7OworCXhsW2NDXSopCQkJIyBJQk0gWEwgQyA4LjAgb24gUFBDIChkZWFsIHdpdGggeGxmIGJlbG93KQorCSAgdG1wX3NoYXJlZGZsYWc9Jy1xbWtzaHJvYmonCisJICB0bXBfYWRkZmxhZz0gOzsKIAllc2FjCiAJY2FzZSBgJENDIC1WIDI+JjEgfCBzZWQgNXFgIGluCiAJKlN1blwgQyopCQkJIyBTdW4gQyA1LjkKQEAgLTc2ODUsOCArODc0Myw2IEBACiAJICB0bXBfc2hhcmVkZmxhZz0nLUcnIDs7CiAJKlN1blwgRiopCQkJIyBTdW4gRm9ydHJhbiA4LjMKIAkgIHRtcF9zaGFyZWRmbGFnPSctRycgOzsKLQkqKQotCSAgdG1wX3NoYXJlZGZsYWc9Jy1zaGFyZWQnIDs7CiAJZXNhYwogCWFyY2hpdmVfY21kcz0nJENDICciJHRtcF9zaGFyZWRmbGFnIiIkdG1wX2FkZGZsYWciJyAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR3bCRzb25hbWUgLW8gJGxpYicKIApAQCAtNzY5Niw2ICs4NzUyLDIyIEBACiAJICAgIGVjaG8gImxvY2FsOiAqOyB9OyIgPj4gJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyfgogCSAgICAkQ0MgJyIkdG1wX3NoYXJlZGZsYWciIiR0bXBfYWRkZmxhZyInICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1zb25hbWUgJHdsJHNvbmFtZSAke3dsfS12ZXJzaW9uLXNjcmlwdCAke3dsfSRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlciAtbyAkbGliJwogICAgICAgICBmaQorCisJY2FzZSAkY2NfYmFzZW5hbWUgaW4KKwl4bGYqKQorCSAgIyBJQk0gWEwgRm9ydHJhbiAxMC4xIG9uIFBQQyBjYW5ub3QgY3JlYXRlIHNoYXJlZCBsaWJzIGl0c2VsZgorCSAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9Jy0td2hvbGUtYXJjaGl2ZSRjb252ZW5pZW5jZSAtLW5vLXdob2xlLWFyY2hpdmUnCisJICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPQorCSAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19sZD0nLXJwYXRoICRsaWJkaXInCisJICBhcmNoaXZlX2NtZHM9JyRMRCAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgLW8gJGxpYicKKwkgIGlmIHRlc3QgIngkc3VwcG9ydHNfYW5vbl92ZXJzaW9uaW5nIiA9IHh5ZXM7IHRoZW4KKwkgICAgYXJjaGl2ZV9leHBzeW1fY21kcz0nZWNobyAieyBnbG9iYWw6IiA+ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlcn4KKwkgICAgICBjYXQgJGV4cG9ydF9zeW1ib2xzIHwgc2VkIC1lICJzL1woLipcKS9cMTsvIiA+PiAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXJ+CisJICAgICAgZWNobyAibG9jYWw6ICo7IH07IiA+PiAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXJ+CisJICAgICAgJExEIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSAtdmVyc2lvbi1zY3JpcHQgJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyIC1vICRsaWInCisJICBmaQorCSAgOzsKKwllc2FjCiAgICAgICBlbHNlCiAgICAgICAgIGxkX3NobGlicz1ubwogICAgICAgZmkKQEAgLTc4OTEsNiArODk2Myw3IEBACiAJZmkKICAgICAgIGZpCiAKKyAgICAgIGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYz0nJHt3bH0tYmV4cGFsbCcKICAgICAgICMgSXQgc2VlbXMgdGhhdCAtYmV4cGFsbCBkb2VzIG5vdCBleHBvcnQgc3ltYm9scyBiZWdpbm5pbmcgd2l0aAogICAgICAgIyB1bmRlcnNjb3JlIChfKSwgc28gaXQgaXMgYmV0dGVyIHRvIGdlbmVyYXRlIGEgbGlzdCBvZiBzeW1ib2xzIHRvIGV4cG9ydC4KICAgICAgIGFsd2F5c19leHBvcnRfc3ltYm9scz15ZXMKQEAgLTgwNDMsMjAgKzkxMTYsMjUgQEAKICAgICAgIDs7CiAKICAgICBhbWlnYW9zKikKLSAgICAgIGlmIHRlc3QgIiRob3N0X2NwdSIgPSBtNjhrOyB0aGVuCi0gICAgICAgIGFyY2hpdmVfY21kcz0nJFJNICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgTkFNRSAkbGlibmFtZSIgPiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIExJQlJBUllfSUQgMSIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBWRVJTSU9OICRtYWpvciIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBSRVZJU0lPTiAkcmV2aXNpb24iID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEFSICRBUl9GTEFHUyAkbGliICRsaWJvYmpzfiRSQU5MSUIgJGxpYn4oY2QgJG91dHB1dF9vYmpkaXIgJiYgYTJpeGxpYnJhcnkgLTMyKScKLSAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLUwkbGliZGlyJwotICAgICAgICBoYXJkY29kZV9taW51c19MPXllcwotICAgICAgZmkKLSAgICAgICMgc2VlIGNvbW1lbnQgYWJvdXQgZGlmZmVyZW50IHNlbWFudGljcyBvbiB0aGUgR05VIGxkIHNlY3Rpb24KLSAgICAgIGxkX3NobGlicz1ubworICAgICAgY2FzZSAkaG9zdF9jcHUgaW4KKyAgICAgIHBvd2VycGMpCisgICAgICAgICAgICAjIHNlZSBjb21tZW50IGFib3V0IEFtaWdhT1M0IC5zbyBzdXBwb3J0CisgICAgICAgICAgICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1zb25hbWUgJHdsJHNvbmFtZSAtbyAkbGliJworICAgICAgICAgICAgYXJjaGl2ZV9leHBzeW1fY21kcz0nJworICAgICAgICA7OworICAgICAgbTY4aykKKyAgICAgICAgICAgIGFyY2hpdmVfY21kcz0nJFJNICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgTkFNRSAkbGlibmFtZSIgPiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIExJQlJBUllfSUQgMSIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBWRVJTSU9OICRtYWpvciIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBSRVZJU0lPTiAkcmV2aXNpb24iID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEFSICRBUl9GTEFHUyAkbGliICRsaWJvYmpzfiRSQU5MSUIgJGxpYn4oY2QgJG91dHB1dF9vYmpkaXIgJiYgYTJpeGxpYnJhcnkgLTMyKScKKyAgICAgICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1MJGxpYmRpcicKKyAgICAgICAgICAgIGhhcmRjb2RlX21pbnVzX0w9eWVzCisgICAgICAgIDs7CisgICAgICBlc2FjCiAgICAgICA7OwogCiAgICAgYnNkaVs0NV0qKQogICAgICAgZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPS1yZHluYW1pYwogICAgICAgOzsKIAotICAgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKikKKyAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgICAgICAjIFdoZW4gbm90IHVzaW5nIGdjYywgd2UgY3VycmVudGx5IGFzc3VtZSB0aGF0IHdlIGFyZSB1c2luZwogICAgICAgIyBNaWNyb3NvZnQgVmlzdWFsIEMrKy4KICAgICAgICMgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyBpcyBhY3R1YWxseSBtZWFuaW5nbGVzcywgYXMgdGhlcmUgaXMKQEAgLTgwNzgsNzMgKzkxNTYsMzAgQEAKICAgICAgIDs7CiAKICAgICBkYXJ3aW4qIHwgcmhhcHNvZHkqKQotICAgICAgY2FzZSAkaG9zdF9vcyBpbgotICAgICAgcmhhcHNvZHkqIHwgZGFyd2luMS5bMDEyXSkKLQlhbGxvd191bmRlZmluZWRfZmxhZz0nJHt3bH0tdW5kZWZpbmVkICR7d2x9c3VwcHJlc3MnCi0JOzsKLSAgICAgICopICMgRGFyd2luIDEuMyBvbgotCWNhc2UgJHtNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQtMTAuMH0gaW4KLQkxMC5bMDEyXSkKLQkgIGFsbG93X3VuZGVmaW5lZF9mbGFnPScke3dsfS1mbGF0X25hbWVzcGFjZSAke3dsfS11bmRlZmluZWQgJHt3bH1zdXBwcmVzcycKLQkgIDs7Ci0JMTAuKikKLQkgIGFsbG93X3VuZGVmaW5lZF9mbGFnPScke3dsfS11bmRlZmluZWQgJHt3bH1keW5hbWljX2xvb2t1cCcKLQkgIDs7Ci0JZXNhYwotCTs7Ci0gICAgICBlc2FjCi0gICAgICBhcmNoaXZlX2NtZHNfbmVlZF9sYz1ubwotICAgICAgaGFyZGNvZGVfZGlyZWN0PW5vCi0gICAgICBoYXJkY29kZV9hdXRvbWF0aWM9eWVzCi0gICAgICBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPXVuc3VwcG9ydGVkCi0gICAgICB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0nJwotICAgICAgbGlua19hbGxfZGVwbGlicz15ZXMKLSAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzIDsgdGhlbgotCWlmIHRlc3QgIiR7bHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZCtzZXR9IiA9IHNldDsgdGhlbgotICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgotZWxzZQotICBsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kPW5vCi0JaWYgdGVzdCAteiAiJHtMVF9NVUxUSV9NT0RVTEV9IjsgdGhlbgotCSAgIyBCeSBkZWZhdWx0IHdlIHdpbGwgYWRkIHRoZSAtc2luZ2xlX21vZHVsZSBmbGFnLiBZb3UgY2FuIG92ZXJyaWRlCi0JICAjIGJ5IGVpdGhlciBzZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBMVF9NVUxUSV9NT0RVTEUKLQkgICMgbm9uLWVtcHR5IGF0IGNvbmZpZ3VyZSB0aW1lLCBvciBieSBhZGRpbmcgLW11bHRpLW1vZHVsZSB0byB0aGUKLQkgICMgbGluayBmbGFncy4KLQkgIGVjaG8gImludCBmb28odm9pZCl7cmV0dXJuIDE7fSIgPiBjb25mdGVzdC5jCi0JICAkTFRDQyAkTFRDRkxBR1MgJExERkxBR1MgLW8gbGliY29uZnRlc3QuZHlsaWIgXAotCSAgICAgIC1keW5hbWljbGliICR7d2x9LXNpbmdsZV9tb2R1bGUgY29uZnRlc3QuYwotCSAgaWYgdGVzdCAtZiBsaWJjb25mdGVzdC5keWxpYjsgdGhlbgotCSAgICAgIGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Q9eWVzCi0JICAgICAgcm0gbGliY29uZnRlc3QuZHlsaWIKLQkgIGZpCi0JICBybSBjb25mdGVzdC4kYWNfZXh0Ci0JZmkKLWZpCiAKLQlvdXRwdXRfdmVyYm9zZV9saW5rX2NtZD1lY2hvCi0JaWYgdGVzdCAiWCRsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kIiA9IFh5ZXMgOyB0aGVuCi0JICBhcmNoaXZlX2NtZHM9JyRDQyAtZHluYW1pY2xpYiAkc2luZ2xlX21vZHVsZSAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSAkcnBhdGgvJHNvbmFtZSAkdmVyc3RyaW5nJwotCSAgYXJjaGl2ZV9leHBzeW1fY21kcz0nc2VkICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgJHNpbmdsZV9tb2R1bGUgLWR5bmFtaWNsaWIgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgJHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZ35ubWVkaXQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCi0JZWxzZQotCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLWR5bmFtaWNsaWIgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgJHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZycKLQkgIGFyY2hpdmVfZXhwc3ltX2NtZHM9J3NlZCAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDIC1keW5hbWljbGliICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lICRycGF0aC8kc29uYW1lICR2ZXJzdHJpbmd+bm1lZGl0IC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JwotCWZpCi0JbW9kdWxlX2NtZHM9JyRDQyAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAtYnVuZGxlICRsaWJvYmpzICRkZXBsaWJzJGNvbXBpbGVyX2ZsYWdzJwotCW1vZHVsZV9leHBzeW1fY21kcz0nc2VkIC1lICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgJGFsbG93X3VuZGVmaW5lZF9mbGFnICAtbyAkbGliIC1idW5kbGUgJGxpYm9ianMgJGRlcGxpYnMkY29tcGlsZXJfZmxhZ3N+bm1lZGl0IC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JwotICAgICAgZWxzZQotCWNhc2UgJGNjX2Jhc2VuYW1lIGluCi0JeGxjKikKLQkgIG91dHB1dF92ZXJib3NlX2xpbmtfY21kPWVjaG8KLQkgIGFyY2hpdmVfY21kcz0nJENDIC1xbWtzaHJvYmogJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LWluc3RhbGxfbmFtZSAke3dsfWAkRUNITyAkcnBhdGgvJHNvbmFtZWAgJHZlcnN0cmluZycKLQkgIG1vZHVsZV9jbWRzPSckQ0MgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgLWJ1bmRsZSAkbGlib2JqcyAkZGVwbGlicyRjb21waWxlcl9mbGFncycKLQkgICMgRG9uJ3QgZml4IHRoaXMgYnkgdXNpbmcgdGhlIGxkIC1leHBvcnRlZF9zeW1ib2xzX2xpc3QgZmxhZywgaXQgZG9lc24ndCBleGlzdCBpbiBvbGRlciBkYXJ3aW4gbGRzCi0JICBhcmNoaXZlX2V4cHN5bV9jbWRzPSdzZWQgInMsXixfLCIgPCAkZXhwb3J0X3N5bWJvbHMgPiAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltfiRDQyAtcW1rc2hyb2JqICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1pbnN0YWxsX25hbWUgJHt3bH0kcnBhdGgvJHNvbmFtZSAkdmVyc3RyaW5nfm5tZWRpdCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKLQkgIG1vZHVsZV9leHBzeW1fY21kcz0nc2VkICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgJGFsbG93X3VuZGVmaW5lZF9mbGFnICAtbyAkbGliIC1idW5kbGUgJGxpYm9ianMgJGRlcGxpYnMkY29tcGlsZXJfZmxhZ3N+bm1lZGl0IC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JwotCSAgOzsKLQkqKQotCSAgbGRfc2hsaWJzPW5vCi0JICA7OwotCWVzYWMKLSAgICAgIGZpCisKKyAgYXJjaGl2ZV9jbWRzX25lZWRfbGM9bm8KKyAgaGFyZGNvZGVfZGlyZWN0PW5vCisgIGhhcmRjb2RlX2F1dG9tYXRpYz15ZXMKKyAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj11bnN1cHBvcnRlZAorICB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0nJworICBsaW5rX2FsbF9kZXBsaWJzPXllcworICBhbGxvd191bmRlZmluZWRfZmxhZz0iJF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkIgorICBjYXNlICRjY19iYXNlbmFtZSBpbgorICAgICBpZm9ydCopIF9sdF9kYXJfY2FuX3NoYXJlZD15ZXMgOzsKKyAgICAgKikgX2x0X2Rhcl9jYW5fc2hhcmVkPSRHQ0MgOzsKKyAgZXNhYworICBpZiB0ZXN0ICIkX2x0X2Rhcl9jYW5fc2hhcmVkIiA9ICJ5ZXMiOyB0aGVuCisgICAgb3V0cHV0X3ZlcmJvc2VfbGlua19jbWQ9ZWNobworICAgIGFyY2hpdmVfY21kcz0iXCRDQyAtZHluYW1pY2xpYiBcJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vIFwkbGliIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lIFwkcnBhdGgvXCRzb25hbWUgXCR2ZXJzdHJpbmcgJF9sdF9kYXJfc2luZ2xlX21vZCR7X2x0X2RzeW11dGlsfSIKKyAgICBtb2R1bGVfY21kcz0iXCRDQyBcJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vIFwkbGliIC1idW5kbGUgXCRsaWJvYmpzIFwkZGVwbGlicyBcJGNvbXBpbGVyX2ZsYWdzJHtfbHRfZHN5bXV0aWx9IgorICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9InNlZCAncyxeLF8sJyA8IFwkZXhwb3J0X3N5bWJvbHMgPiBcJG91dHB1dF9vYmpkaXIvXCR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+XCRDQyAtZHluYW1pY2xpYiBcJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vIFwkbGliIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lIFwkcnBhdGgvXCRzb25hbWUgXCR2ZXJzdHJpbmcgJHtfbHRfZGFyX3NpbmdsZV9tb2R9JHtfbHRfZGFyX2V4cG9ydF9zeW1zfSR7X2x0X2RzeW11dGlsfSIKKyAgICBtb2R1bGVfZXhwc3ltX2NtZHM9InNlZCAtZSAncyxeLF8sJyA8IFwkZXhwb3J0X3N5bWJvbHMgPiBcJG91dHB1dF9vYmpkaXIvXCR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+XCRDQyBcJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vIFwkbGliIC1idW5kbGUgXCRsaWJvYmpzIFwkZGVwbGlicyBcJGNvbXBpbGVyX2ZsYWdzJHtfbHRfZGFyX2V4cG9ydF9zeW1zfSR7X2x0X2RzeW11dGlsfSIKKworICBlbHNlCisgIGxkX3NobGlicz1ubworICBmaQorCiAgICAgICA7OwogCiAgICAgZGd1eCopCkBAIC04MjI2LDcgKzkyNjEsNyBAQAogCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAke3dsfStoICR7d2x9JHNvbmFtZSAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKIAkgIDs7CiAJaWE2NCopCi0JICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lICR7d2x9K25vZGVmYXVsdHJwYXRoIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJworCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAtZlBJQyAke3dsfStoICR7d2x9JHNvbmFtZSAke3dsfStub2RlZmF1bHRycGF0aCAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKIAkgIDs7CiAJKikKIAkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgLWZQSUMgJHt3bH0raCAke3dsfSRzb25hbWUgJHt3bH0rYiAke3dsfSRpbnN0YWxsX2xpYmRpciAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKQEAgLTgzNDQsMjUgKzkzNzksMjkgQEAKICAgICAgIDs7CiAKICAgICBvcGVuYnNkKikKLSAgICAgIGhhcmRjb2RlX2RpcmVjdD15ZXMKLSAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLSAgICAgIGhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZT15ZXMKLSAgICAgIGlmIHRlc3QgLXogImBlY2hvIF9fRUxGX18gfCAkQ0MgLUUgLSB8ICRHUkVQIF9fRUxGX19gIiB8fCB0ZXN0ICIkaG9zdF9vcy0kaG9zdF9jcHUiID0gIm9wZW5ic2QyLjgtcG93ZXJwYyI7IHRoZW4KLQlhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKLQlhcmNoaXZlX2V4cHN5bV9jbWRzPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tcmV0YWluLXN5bWJvbHMtZmlsZSwkZXhwb3J0X3N5bWJvbHMnCi0JaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tcnBhdGgsJGxpYmRpcicKLQlleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9JyR7d2x9LUUnCi0gICAgICBlbHNlCi0gICAgICAgIGNhc2UgJGhvc3Rfb3MgaW4KLQlvcGVuYnNkWzAxXS4qIHwgb3BlbmJzZDIuWzAtN10gfCBvcGVuYnNkMi5bMC03XS4qKQotCSAgYXJjaGl2ZV9jbWRzPSckTEQgLUJzaGFyZWFibGUgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzJwotCSAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLVIkbGliZGlyJwotCSAgOzsKLQkqKQorICAgICAgaWYgdGVzdCAtZiAvdXNyL2xpYmV4ZWMvbGQuc287IHRoZW4KKwloYXJkY29kZV9kaXJlY3Q9eWVzCisJaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj1ubworCWhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZT15ZXMKKwlpZiB0ZXN0IC16ICJgZWNobyBfX0VMRl9fIHwgJENDIC1FIC0gfCAkR1JFUCBfX0VMRl9fYCIgfHwgdGVzdCAiJGhvc3Rfb3MtJGhvc3RfY3B1IiA9ICJvcGVuYnNkMi44LXBvd2VycGMiOyB0aGVuCiAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKKwkgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1yZXRhaW4tc3ltYm9scy1maWxlLCRleHBvcnRfc3ltYm9scycKIAkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoLCRsaWJkaXInCi0JICA7OwotICAgICAgICBlc2FjCisJICBleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9JyR7d2x9LUUnCisJZWxzZQorCSAgY2FzZSAkaG9zdF9vcyBpbgorCSAgIG9wZW5ic2RbMDFdLiogfCBvcGVuYnNkMi5bMC03XSB8IG9wZW5ic2QyLlswLTddLiopCisJICAgICBhcmNoaXZlX2NtZHM9JyRMRCAtQnNoYXJlYWJsZSAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3MnCisJICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCisJICAgICA7OworCSAgICopCisJICAgICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKKwkgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoLCRsaWJkaXInCisJICAgICA7OworCSAgZXNhYworCWZpCisgICAgICBlbHNlCisJbGRfc2hsaWJzPW5vCiAgICAgICBmaQogICAgICAgOzsKIApAQCAtODgwMSw4ICs5ODQwLDggQEAKIAogICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzIiA+JjUKIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzLi4uICRFQ0hPX0MiID4mNgotd2l0aEdDQz0kR0NDCi1pZiB0ZXN0ICIkd2l0aEdDQyIgPSB5ZXM7IHRoZW4KKworaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAgY2FzZSAkaG9zdF9vcyBpbgogICAgIGRhcndpbiopIGx0X2F3a19hcmc9Ii9ebGlicmFyaWVzOi8sL0xSLyIgOzsKICAgICAqKSBsdF9hd2tfYXJnPSIvXmxpYnJhcmllczovIiA7OwpAQCAtODkyOCwxMyArOTk2NywxOCBAQAogICA7OwogCiBhbWlnYW9zKikKLSAgaWYgdGVzdCAiJGhvc3RfY3B1IiA9IG02OGs7IHRoZW4KKyAgY2FzZSAkaG9zdF9jcHUgaW4KKyAgcG93ZXJwYykKKyAgICAjIFNpbmNlIEp1bHkgMjAwNyBBbWlnYU9TNCBvZmZpY2lhbGx5IHN1cHBvcnRzIC5zbyBsaWJyYXJpZXMuCisgICAgIyBXaGVuIGNvbXBpbGluZyB0aGUgZXhlY3V0YWJsZSwgYWRkIC11c2UtZHlubGQgLUxzb2JqczogdG8gdGhlIGNvbXBpbGVsaW5lLgorICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JHZlcnN1ZmZpeCAke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kbWFqb3IgJGxpYm5hbWUke3NoYXJlZF9leHR9JworICAgIDs7CisgIG02OGspCiAgICAgbGlicmFyeV9uYW1lc19zcGVjPSckbGlibmFtZS5peGxpYnJhcnkgJGxpYm5hbWUuYScKICAgICAjIENyZWF0ZSAke2xpYm5hbWV9X2l4bGlicmFyeS5hIGVudHJpZXMgaW4gL3N5cy9saWJzLgogICAgIGZpbmlzaF9ldmFsPSdmb3IgbGliIGluIGBscyAkbGliZGlyLyouaXhsaWJyYXJ5IDI+L2Rldi9udWxsYDsgZG8gbGlibmFtZT1gJEVDSE8gIlgkbGliIiB8ICRYc2VkIC1lICdcJydzJV4uKi9cKFteL10qXClcLml4bGlicmFyeSQlXDElJ1wnJ2A7IHRlc3QgJFJNIC9zeXMvbGlicy8ke2xpYm5hbWV9X2l4bGlicmFyeS5hOyAkc2hvdyAiY2QgL3N5cy9saWJzICYmICRMTl9TICRsaWIgJHtsaWJuYW1lfV9peGxpYnJhcnkuYSI7IGNkIC9zeXMvbGlicyAmJiAkTE5fUyAkbGliICR7bGlibmFtZX1faXhsaWJyYXJ5LmEgfHwgZXhpdCAxOyBkb25lJwotICBlbHNlCi0gICAgZHluYW1pY19saW5rZXI9bm8KLSAgZmkKKyAgICA7OworICBlc2FjCiAgIDs7CiAKIGJlb3MqKQpAQCAtODk1NywxNCArMTAwMDEsMTQgQEAKICAgIyBsaWJ0b29sIHRvIGhhcmQtY29kZSB0aGVzZSBpbnRvIHByb2dyYW1zCiAgIDs7CiAKLWN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKikKK2N5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgdmVyc2lvbl90eXBlPXdpbmRvd3MKICAgc2hyZXh0X2NtZHM9Ii5kbGwiCiAgIG5lZWRfdmVyc2lvbj1ubwogICBuZWVkX2xpYl9wcmVmaXg9bm8KIAotICBjYXNlICR3aXRoR0NDLCRob3N0X29zIGluCi0gIHllcyxjeWd3aW4qIHwgeWVzLG1pbmd3KiB8IHllcyxwdzMyKikKKyAgY2FzZSAkR0NDLCRob3N0X29zIGluCisgIHllcyxjeWd3aW4qIHwgeWVzLG1pbmd3KiB8IHllcyxwdzMyKiB8IHllcyxjZWdjYyopCiAgICAgbGlicmFyeV9uYW1lc19zcGVjPSckbGlibmFtZS5kbGwuYScKICAgICAjIERMTCBpcyBpbnN0YWxsZWQgdG8gJChsaWJkaXIpLy4uL2JpbiBieSBwb3N0aW5zdGFsbF9jbWRzCiAgICAgcG9zdGluc3RhbGxfY21kcz0nYmFzZV9maWxlPWBiYXNlbmFtZSBcJHtmaWxlfWB+CkBAIC04OTg3LDcgKzEwMDMxLDcgQEAKICAgICAgIHNvbmFtZV9zcGVjPSdgZWNobyAke2xpYm5hbWV9IHwgc2VkIC1lICdzL15saWIvY3lnLydgYGVjaG8gJHtyZWxlYXNlfSB8ICRTRUQgLWUgJ3MvWy5dLy0vZydgJHt2ZXJzdWZmaXh9JHtzaGFyZWRfZXh0fScKICAgICAgIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz0iL3Vzci9saWIgL2xpYi93MzJhcGkgL2xpYiAvdXNyL2xvY2FsL2xpYiIKICAgICAgIDs7Ci0gICAgbWluZ3cqKQorICAgIG1pbmd3KiB8IGNlZ2NjKikKICAgICAgICMgTWluR1cgRExMcyB1c2UgdHJhZGl0aW9uYWwgJ2xpYicgcHJlZml4CiAgICAgICBzb25hbWVfc3BlYz0nJHtsaWJuYW1lfWBlY2hvICR7cmVsZWFzZX0gfCAkU0VEIC1lICdzL1suXS8tL2cnYCR7dmVyc3VmZml4fSR7c2hhcmVkX2V4dH0nCiAgICAgICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9YCRDQyAtcHJpbnQtc2VhcmNoLWRpcnMgfCAkR1JFUCAiXmxpYnJhcmllczoiIHwgJFNFRCAtZSAicy9ebGlicmFyaWVzOi8vIiAtZSAicyw9LywvLGciYApAQCAtOTI1Myw3ICsxMDI5Nyw3IEBACiAgIGFjX3N0YXR1cz0kPwogICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CiAgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCi0gIGlmICAoJE9CSkRVTVAgLXAgY29uZnRlc3QkYWNfZXhlZXh0KSAyPi9kZXYvbnVsbCB8IGdyZXAgIlJVTlBBVEguKiRsaWJkaXIiOyB0aGVuCisgIGlmICAoJE9CSkRVTVAgLXAgY29uZnRlc3QkYWNfZXhlZXh0KSAyPi9kZXYvbnVsbCB8IGdyZXAgIlJVTlBBVEguKiRsaWJkaXIiID4vZGV2L251bGw7IHRoZW4KICAgc2hsaWJwYXRoX292ZXJyaWRlc19ydW5wYXRoPXllcwogZmkKIApAQCAtOTI3NCw3ICsxMDMxOCw3IEBACiAKICAgIyBBcHBlbmQgbGQuc28uY29uZiBjb250ZW50cyB0byB0aGUgc2VhcmNoIHBhdGgKICAgaWYgdGVzdCAtZiAvZXRjL2xkLnNvLmNvbmY7IHRoZW4KLSAgICBsdF9sZF9leHRyYT1gYXdrICcvXmluY2x1ZGUgLyB7IHN5c3RlbShzcHJpbnRmKCJjZCAvZXRjOyBjYXQgJXMgMj4vZGV2L251bGwiLCBcJDIpKTsgc2tpcCA9IDE7IH0geyBpZiAoIXNraXApIHByaW50IFwkMDsgc2tpcCA9IDA7IH0nIDwgL2V0Yy9sZC5zby5jb25mIHwgJFNFRCAtZSAncy8jLiovLztzL1s6LAldLyAvZztzLz1bXj1dKiQvLztzLz1bXj0gXSogLyAvZzsvXiQvZCcgfCB0ciAnXG4nICcgJ2AKKyAgICBsdF9sZF9leHRyYT1gYXdrICcvXmluY2x1ZGUgLyB7IHN5c3RlbShzcHJpbnRmKCJjZCAvZXRjOyBjYXQgJXMgMj4vZGV2L251bGwiLCBcJDIpKTsgc2tpcCA9IDE7IH0geyBpZiAoIXNraXApIHByaW50IFwkMDsgc2tpcCA9IDA7IH0nIDwgL2V0Yy9sZC5zby5jb25mIHwgJFNFRCAtZSAncy8jLiovLzsvXlsJIF0qaHdjYXBbCSBdL2Q7cy9bOiwJXS8gL2c7cy89W149XSokLy87cy89W149IF0qIC8gL2c7L14kL2QnIHwgdHIgJ1xuJyAnICdgCiAgICAgc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWM9Ii9saWIgL3Vzci9saWIgJGx0X2xkX2V4dHJhIgogICBmaQogCkBAIC05NDU4LDcgKzEwNTAyLDcgQEAKICAgdmVyc2lvbl90eXBlPWxpbnV4CiAgIG5lZWRfbGliX3ByZWZpeD1ubwogICBuZWVkX3ZlcnNpb249bm8KLSAgbGlicmFyeV9uYW1lX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSR2ZXJzdWZmaXggJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JG1ham9yICRsaWJuYW1lJHtzaGFyZWRfZXh0fScKKyAgbGlicmFyeV9uYW1lc19zcGVjPScke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kdmVyc3VmZml4ICR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSRtYWpvciAkbGlibmFtZSR7c2hhcmVkX2V4dH0nCiAgIHNobGlicGF0aF92YXI9TERfTElCUkFSWV9QQVRICiAgIHNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aD1ubwogICBoYXJkY29kZV9pbnRvX2xpYnM9eWVzCkBAIC05NDg0LDYgKzEwNTI4LDEzIEBACiAgIHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rPSIkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbmsgR0NDX0VYRUNfUFJFRklYIENPTVBJTEVSX1BBVEggTElCUkFSWV9QQVRIIgogZmkKIAoraWYgdGVzdCAiJHtsdF9jdl9zeXNfbGliX3NlYXJjaF9wYXRoX3NwZWMrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIkbHRfY3Zfc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjIgorZmkKK2lmIHRlc3QgIiR7bHRfY3Zfc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWMrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWM9IiRsdF9jdl9zeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYyIKK2ZpCisKIAogCiAKQEAgLTk2MjgsNyArMTA2NzksNyBAQAogICAgIGx0X2N2X2Rsb3Blbl9zZWxmPXllcwogICAgIDs7CiAKLSAgbWluZ3cqIHwgcHczMiopCisgIG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgIGx0X2N2X2Rsb3Blbj0iTG9hZExpYnJhcnkiCiAgICAgbHRfY3ZfZGxvcGVuX2xpYnM9CiAgICAgOzsKQEAgLTk4NzUsNyArMTA5MjYsNyBAQAogZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2xpYl9kbGRfc2hsX2xvYWQiID4mNQogZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2xpYl9kbGRfc2hsX2xvYWQiID4mNgogaWYgdGVzdCAkYWNfY3ZfbGliX2RsZF9zaGxfbG9hZCA9IHllczsgdGhlbgotICBsdF9jdl9kbG9wZW49InNobF9sb2FkIiBsdF9jdl9kbG9wZW5fbGlicz0iLWRsZCIKKyAgbHRfY3ZfZGxvcGVuPSJzaGxfbG9hZCIgbHRfY3ZfZGxvcGVuX2xpYnM9Ii1sZGxkIgogZWxzZQogICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIGRsb3BlbiIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBkbG9wZW4uLi4gJEVDSE9fQyIgPiY2CkBAIC0xMDE2OSw3ICsxMTIyMCw3IEBACiBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfbGliX2RsZF9kbGRfbGluayIgPiY1CiBlY2hvICIke0VDSE9fVH0kYWNfY3ZfbGliX2RsZF9kbGRfbGluayIgPiY2CiBpZiB0ZXN0ICRhY19jdl9saWJfZGxkX2RsZF9saW5rID0geWVzOyB0aGVuCi0gIGx0X2N2X2Rsb3Blbj0iZGxkX2xpbmsiIGx0X2N2X2Rsb3Blbl9saWJzPSItZGxkIgorICBsdF9jdl9kbG9wZW49ImRsZF9saW5rIiBsdF9jdl9kbG9wZW5fbGlicz0iLWxkbGQiCiBmaQogCiAKQEAgLTEwMjE4LDcgKzExMjY5LDcgQEAKICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotI2xpbmUgMTAyMjEgImNvbmZpZ3VyZSIKKyNsaW5lIDExMjcyICJjb25maWd1cmUiCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIKIAogI2lmIEhBVkVfRExGQ05fSApAQCAtMTAyNTksMTAgKzExMzEwLDYgQEAKICMgIGVuZGlmCiAjZW5kaWYKIAotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHZvaWQgZXhpdCAoaW50KTsKLSNlbmRpZgotCiB2b2lkIGZub3JkKCkgeyBpbnQgaT00Mjt9CiBpbnQgbWFpbiAoKQogewpAQCAtMTAyNzgsNyArMTEzMjUsNyBAQAogICBlbHNlCiAgICAgcHV0cyAoZGxlcnJvciAoKSk7CiAKLSAgICBleGl0IChzdGF0dXMpOworICByZXR1cm4gc3RhdHVzOwogfQogX0xUX0VPRgogICBpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19saW5rXCIiKSA+JjUKQEAgLTEwMzE4LDcgKzExMzY1LDcgQEAKICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotI2xpbmUgMTAzMjEgImNvbmZpZ3VyZSIKKyNsaW5lIDExMzY4ICJjb25maWd1cmUiCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIKIAogI2lmIEhBVkVfRExGQ05fSApAQCAtMTAzNTksMTAgKzExNDA2LDYgQEAKICMgIGVuZGlmCiAjZW5kaWYKIAotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHZvaWQgZXhpdCAoaW50KTsKLSNlbmRpZgotCiB2b2lkIGZub3JkKCkgeyBpbnQgaT00Mjt9CiBpbnQgbWFpbiAoKQogewpAQCAtMTAzNzgsNyArMTE0MjEsNyBAQAogICBlbHNlCiAgICAgcHV0cyAoZGxlcnJvciAoKSk7CiAKLSAgICBleGl0IChzdGF0dXMpOworICByZXR1cm4gc3RhdHVzOwogfQogX0xUX0VPRgogICBpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19saW5rXCIiKSA+JjUKQEAgLTExOTIzLDcgKzEyOTY2LDcgQEAKICAgTEVYPSR7YW1fbWlzc2luZ19ydW59ZmxleAogZmkKIAotQUxMX0xJTkdVQVM9ImZyIHRyIGVzIHJ3IgorQUxMX0xJTkdVQVM9ImZyIHRyIGVzIHJ3IGlkIgogIyBJZiB3ZSBoYXZlbid0IGdvdCB0aGUgZGF0YSBmcm9tIHRoZSBpbnRsIGRpcmVjdG9yeSwKICMgYXNzdW1lIE5MUyBpcyBkaXNhYmxlZC4KIFVTRV9OTFM9bm8KQEAgLTE0Njk4LDYgKzE1NzQxLDcgQEAKIGx0X05MMlNQPSdgJEVDSE8gIlgkbHRfTkwyU1AiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIHJlbG9hZF9mbGFnPSdgJEVDSE8gIlgkcmVsb2FkX2ZsYWciIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIHJlbG9hZF9jbWRzPSdgJEVDSE8gIlgkcmVsb2FkX2NtZHMiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKK09CSkRVTVA9J2AkRUNITyAiWCRPQkpEVU1QIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBkZXBsaWJzX2NoZWNrX21ldGhvZD0nYCRFQ0hPICJYJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBmaWxlX21hZ2ljX2NtZD0nYCRFQ0hPICJYJGZpbGVfbWFnaWNfY21kIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBBUj0nYCRFQ0hPICJYJEFSIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0xNDcxNCw2ICsxNTc1OCw3IEBACiBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIlgkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J2AkRUNITyAiWCRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9J2AkRUNITyAiWCRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJworbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0nYCRFQ0hPICJYJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIG9iamRpcj0nYCRFQ0hPICJYJG9iamRpciIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogU0hFTEw9J2AkRUNITyAiWCRTSEVMTCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogRUNITz0nYCRFQ0hPICJYJEVDSE8iIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTE0NzI0LDYgKzE1NzY5LDExIEBACiBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nYCRFQ0hPICJYJGx0X3Byb2dfY29tcGlsZXJfc3RhdGljIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBsdF9jdl9wcm9nX2NvbXBpbGVyX2Nfbz0nYCRFQ0hPICJYJGx0X2N2X3Byb2dfY29tcGlsZXJfY19vIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBuZWVkX2xvY2tzPSdgJEVDSE8gIlgkbmVlZF9sb2NrcyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJworRFNZTVVUSUw9J2AkRUNITyAiWCREU1lNVVRJTCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJworTk1FRElUPSdgJEVDSE8gIlgkTk1FRElUIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitMSVBPPSdgJEVDSE8gIlgkTElQTyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJworT1RPT0w9J2AkRUNITyAiWCRPVE9PTCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJworT1RPT0w2ND0nYCRFQ0hPICJYJE9UT09MNjQiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIGxpYmV4dD0nYCRFQ0hPICJYJGxpYmV4dCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogc2hyZXh0X2NtZHM9J2AkRUNITyAiWCRzaHJleHRfY21kcyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogZXh0cmFjdF9leHBzeW1zX2NtZHM9J2AkRUNITyAiWCRleHRyYWN0X2V4cHN5bXNfY21kcyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMTQ3OTcsNiArMTU4NDcsNyBAQAogbHRfU1AyTkwgXAogbHRfTkwyU1AgXAogcmVsb2FkX2ZsYWcgXAorT0JKRFVNUCBcCiBkZXBsaWJzX2NoZWNrX21ldGhvZCBcCiBmaWxlX21hZ2ljX2NtZCBcCiBBUiBcCkBAIC0xNDgwOSw2ICsxNTg2MCw3IEBACiBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIFwKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIFwKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIFwKK2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXggXAogU0hFTEwgXAogRUNITyBcCiBsdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZyBcCkBAIC0xNDgxNyw2ICsxNTg2OSwxMSBAQAogbHRfcHJvZ19jb21waWxlcl9zdGF0aWMgXAogbHRfY3ZfcHJvZ19jb21waWxlcl9jX28gXAogbmVlZF9sb2NrcyBcCitEU1lNVVRJTCBcCitOTUVESVQgXAorTElQTyBcCitPVE9PTCBcCitPVE9PTDY0IFwKIHNocmV4dF9jbWRzIFwKIGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYyBcCiB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYyBcCkBAIC0xNTA3OSwxMSArMTYxMzYsMjMgQEAKIHMsQGFjX2N0X0RVTVBCSU5ALCRhY19jdF9EVU1QQklOLDt0IHQKIHMsQE5NQCwkTk0sO3QgdAogcyxATE5fU0AsJExOX1MsO3QgdAorcyxAT0JKRFVNUEAsJE9CSkRVTVAsO3QgdAorcyxAYWNfY3RfT0JKRFVNUEAsJGFjX2N0X09CSkRVTVAsO3QgdAogcyxAQVJALCRBUiw7dCB0CiBzLEBhY19jdF9BUkAsJGFjX2N0X0FSLDt0IHQKIHMsQFJBTkxJQkAsJFJBTkxJQiw7dCB0CiBzLEBhY19jdF9SQU5MSUJALCRhY19jdF9SQU5MSUIsO3QgdAogcyxAbHRfRUNIT0AsJGx0X0VDSE8sO3QgdAorcyxARFNZTVVUSUxALCREU1lNVVRJTCw7dCB0CitzLEBhY19jdF9EU1lNVVRJTEAsJGFjX2N0X0RTWU1VVElMLDt0IHQKK3MsQE5NRURJVEAsJE5NRURJVCw7dCB0CitzLEBhY19jdF9OTUVESVRALCRhY19jdF9OTUVESVQsO3QgdAorcyxATElQT0AsJExJUE8sO3QgdAorcyxAYWNfY3RfTElQT0AsJGFjX2N0X0xJUE8sO3QgdAorcyxAT1RPT0xALCRPVE9PTCw7dCB0CitzLEBhY19jdF9PVE9PTEAsJGFjX2N0X09UT09MLDt0IHQKK3MsQE9UT09MNjRALCRPVE9PTDY0LDt0IHQKK3MsQGFjX2N0X09UT09MNjRALCRhY19jdF9PVE9PTDY0LDt0IHQKIHMsQFdBUk5fQ0ZMQUdTQCwkV0FSTl9DRkxBR1MsO3QgdAogcyxATk9fV0VSUk9SQCwkTk9fV0VSUk9SLDt0IHQKIHMsQEdEQklOSVRALCRHREJJTklULDt0IHQKQEAgLTE1ODI0LDM2ICsxNjg5MywzNiBAQAogIyEgJFNIRUxMCiAKICMgYCRFQ0hPICIkb2ZpbGUiIHwgc2VkICdzJV4uKi8lJSdgIC0gUHJvdmlkZSBnZW5lcmFsaXplZCBsaWJyYXJ5LWJ1aWxkaW5nIHN1cHBvcnQgc2VydmljZXMuCi0jIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5ICRhc19tZSAoR05VICRQQUNLQUdFJFRJTUVTVEFNUCkgJFZFUlNJT04KKyMgR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgJGFzX21lICgkUEFDS0FHRSRUSU1FU1RBTVApICRWRVJTSU9OCiAjIExpYnRvb2wgd2FzIGNvbmZpZ3VyZWQgb24gaG9zdCBgKGhvc3RuYW1lIHx8IHVuYW1lIC1uKSAyPi9kZXYvbnVsbCB8IHNlZCAxcWA6CiAjIE5PVEU6IENoYW5nZXMgbWFkZSB0byB0aGlzIGZpbGUgd2lsbCBiZSBsb3N0OiBsb29rIGF0IGx0bWFpbi5zaC4KICMKLSMgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAzLCAyMDA0LCAyMDA1LAotIyAyMDA2LCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyAgIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMywgMjAwNCwgMjAwNSwKKyMgICAgICAgICAgICAgICAgIDIwMDYsIDIwMDcsIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjICAgV3JpdHRlbiBieSBHb3Jkb24gTWF0emlna2VpdCwgMTk5NgogIwotIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgTGlidG9vbDoKLSMgT3JpZ2luYWxseSBieSBHb3Jkb24gTWF0emlna2VpdCA8Z29yZEBnbnUuYWkubWl0LmVkdT4sIDE5OTYKKyMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgTGlidG9vbC4KICMKLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMgR05VIExpYnRvb2wgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisjIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCisjIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0Ci0jIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwKKyMgaWYgeW91IGRpc3RyaWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIG9yIGxpYnJhcnkgdGhhdAorIyBpcyBidWlsdCB1c2luZyBHTlUgTGlidG9vbCwgeW91IG1heSBpbmNsdWRlIHRoaXMgZmlsZSB1bmRlciB0aGUKKyMgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUgcmVzdCBvZiB0aGF0IHByb2dyYW0uCisjCisjIEdOVSBMaWJ0b29sIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICMKICMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgYSBjb3B5IGNhbiBiZSBkb3dubG9hZGVkIGZyb20KLSMgaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2dwbC5odG1sLCBvciBieSB3cml0aW5nIHRvIHRoZSBGcmVlCi0jIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKLSMgTUEgMDIxMTAtMTMwMSwgVVNBLgotIwotIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91Ci0jIGRpc3RyaWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIHRoYXQgY29udGFpbnMgYQotIyBjb25maWd1cmF0aW9uIHNjcmlwdCBnZW5lcmF0ZWQgYnkgQXV0b2NvbmYsIHlvdSBtYXkgaW5jbHVkZSBpdCB1bmRlcgotIyB0aGUgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUgcmVzdCBvZiB0aGF0IHByb2dyYW0uCisjIGFsb25nIHdpdGggR05VIExpYnRvb2w7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCBhIGNvcHkKKyMgY2FuIGJlIGRvd25sb2FkZWQgZnJvbSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwsIG9yCisjIG9idGFpbmVkIGJ5IHdyaXRpbmcgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyMgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAKIAogIyBUaGUgbmFtZXMgb2YgdGhlIHRhZ2dlZCBjb25maWd1cmF0aW9ucyBzdXBwb3J0ZWQgYnkgdGhpcyBzY3JpcHQuCkBAIC0xNTkzMCw2ICsxNjk5OSw5IEBACiByZWxvYWRfZmxhZz0kbHRfcmVsb2FkX2ZsYWcKIHJlbG9hZF9jbWRzPSRsdF9yZWxvYWRfY21kcwogCisjIEFuIG9iamVjdCBzeW1ib2wgZHVtcGVyLgorT0JKRFVNUD0kbHRfT0JKRFVNUAorCiAjIE1ldGhvZCB0byBjaGVjayB3aGV0aGVyIGRlcGVuZGVudCBsaWJyYXJpZXMgYXJlIHNoYXJlZCBvYmplY3RzLgogZGVwbGlic19jaGVja19tZXRob2Q9JGx0X2RlcGxpYnNfY2hlY2tfbWV0aG9kCiAKQEAgLTE1OTYzLDYgKzE3MDM1LDkgQEAKICMgVHJhbnNmb3JtIHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBDIG5hbWUgYWRkcmVzcyBwYWlyLgogZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKIAorIyBUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIgd2hlbiBsaWIgcHJlZml4IGlzIG5lZWRlZC4KK2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAorCiAjIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0ZW1wb3JhcnkgbGlidG9vbCBmaWxlcy4KIG9iamRpcj0kb2JqZGlyCiAKQEAgLTE1OTc4LDYgKzE3MDUzLDIxIEBACiAjIE11c3Qgd2UgbG9jayBmaWxlcyB3aGVuIGRvaW5nIGNvbXBpbGF0aW9uPwogbmVlZF9sb2Nrcz0kbHRfbmVlZF9sb2NrcwogCisjIFRvb2wgdG8gbWFuaXB1bGF0ZSBhcmNoaXZlZCBEV0FSRiBkZWJ1ZyBzeW1ib2wgZmlsZXMgb24gTWFjIE9TIFguCitEU1lNVVRJTD0kbHRfRFNZTVVUSUwKKworIyBUb29sIHRvIGNoYW5nZSBnbG9iYWwgdG8gbG9jYWwgc3ltYm9scyBvbiBNYWMgT1MgWC4KK05NRURJVD0kbHRfTk1FRElUCisKKyMgVG9vbCB0byBtYW5pcHVsYXRlIGZhdCBvYmplY3RzIGFuZCBhcmNoaXZlcyBvbiBNYWMgT1MgWC4KK0xJUE89JGx0X0xJUE8KKworIyBsZGQvcmVhZGVsZiBsaWtlIHRvb2wgZm9yIE1hY2gtTyBiaW5hcmllcyBvbiBNYWMgT1MgWC4KK09UT09MPSRsdF9PVE9PTAorCisjIGxkZC9yZWFkZWxmIGxpa2UgdG9vbCBmb3IgNjQgYml0IE1hY2gtTyBiaW5hcmllcyBvbiBNYWMgT1MgWCAxMC40LgorT1RPT0w2ND0kbHRfT1RPT0w2NAorCiAjIE9sZCBhcmNoaXZlIHN1ZmZpeCAobm9ybWFsbHkgImEiKS4KIGxpYmV4dD0kbGliZXh0CiAKQEAgLTE2MjE4LDYgKzE3MzA4LDcgQEAKICAgY2FzZSAkeHNpX3NoZWxsIGluCiAgIHllcykKICAgICBjYXQgPDwgXF9MVF9FT0YgPj4gIiRjZmdmaWxlIgorCiAjIGZ1bmNfZGlybmFtZSBmaWxlIGFwcGVuZCBub25kaXJfcmVwbGFjZW1lbnQKICMgQ29tcHV0ZSB0aGUgZGlybmFtZSBvZiBGSUxFLiAgSWYgbm9uZW1wdHksIGFkZCBBUFBFTkQgdG8gdGhlIHJlc3VsdCwKICMgb3RoZXJ3aXNlIHNldCByZXN1bHQgdG8gTk9ORElSX1JFUExBQ0VNRU5ULgpAQCAtMTYyMzUsNiArMTczMjYsMjcgQEAKICAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9IiR7MSMjKi99IgogfQogCisjIGZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgZmlsZSBhcHBlbmQgbm9uZGlyX3JlcGxhY2VtZW50CisjIHBlcmZvcm0gZnVuY19iYXNlbmFtZSBhbmQgZnVuY19kaXJuYW1lIGluIGEgc2luZ2xlIGZ1bmN0aW9uCisjIGNhbGw6CisjICAgZGlybmFtZTogIENvbXB1dGUgdGhlIGRpcm5hbWUgb2YgRklMRS4gIElmIG5vbmVtcHR5LAorIyAgICAgICAgICAgICBhZGQgQVBQRU5EIHRvIHRoZSByZXN1bHQsIG90aGVyd2lzZSBzZXQgcmVzdWx0CisjICAgICAgICAgICAgIHRvIE5PTkRJUl9SRVBMQUNFTUVOVC4KKyMgICAgICAgICAgICAgdmFsdWUgcmV0dXJuZWQgaW4gIiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgorIyAgIGJhc2VuYW1lOiBDb21wdXRlIGZpbGVuYW1lIG9mIEZJTEUuCisjICAgICAgICAgICAgIHZhbHVlIHJldHVuZWQgaW4gIiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIKKyMgSW1wbGVtZW50YXRpb24gbXVzdCBiZSBrZXB0IHN5bmNocm9uaXplZCB3aXRoIGZ1bmNfZGlybmFtZQorIyBhbmQgZnVuY19iYXNlbmFtZS4gRm9yIGVmZmljaWVuY3ksIHdlIGRvIG5vdCBkZWxlZ2F0ZSB0bworIyB0aG9zZSBmdW5jdGlvbnMgYnV0IGluc3RlYWQgZHVwbGljYXRlIHRoZSBmdW5jdGlvbmFsaXR5IGhlcmUuCitmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lICgpCit7CisgIGNhc2UgJHsxfSBpbgorICAgICovKikgZnVuY19kaXJuYW1lX3Jlc3VsdD0iJHsxJS8qfSR7Mn0iIDs7CisgICAgKiAgKSBmdW5jX2Rpcm5hbWVfcmVzdWx0PSIkezN9IiA7OworICBlc2FjCisgIGZ1bmNfYmFzZW5hbWVfcmVzdWx0PSIkezEjIyovfSIKK30KKwogIyBmdW5jX3N0cmlwbmFtZSBwcmVmaXggc3VmZml4IG5hbWUKICMgc3RyaXAgUFJFRklYIGFuZCBTVUZGSVggb2ZmIG9mIE5BTUUuCiAjIFBSRUZJWCBhbmQgU1VGRklYIG11c3Qgbm90IGNvbnRhaW4gZ2xvYmJpbmcgb3IgcmVnZXggc3BlY2lhbApAQCAtMTYyNjQsMTAgKzE3Mzc2LDMxIEBACiAgICAgKikgICAgZnVuY19sbzJvX3Jlc3VsdD0kezF9IDs7CiAgIGVzYWMKIH0KKworIyBmdW5jX3hmb3JtIGxpYm9iai1vci1zb3VyY2UKK2Z1bmNfeGZvcm0gKCkKK3sKKyAgZnVuY194Zm9ybV9yZXN1bHQ9JHsxJS4qfS5sbworfQorCisjIGZ1bmNfYXJpdGggYXJpdGhtZXRpYy10ZXJtLi4uCitmdW5jX2FyaXRoICgpCit7CisgIGZ1bmNfYXJpdGhfcmVzdWx0PSQoKCAkKiApKQorfQorCisjIGZ1bmNfbGVuIHN0cmluZworIyBTVFJJTkcgbWF5IG5vdCBzdGFydCB3aXRoIGEgaHlwaGVuLgorZnVuY19sZW4gKCkKK3sKKyAgZnVuY19sZW5fcmVzdWx0PSR7IzF9Cit9CisKIF9MVF9FT0YKICAgICA7OwogICAqKSAjIEJvdXJuZSBjb21wYXRpYmxlIGZ1bmN0aW9ucy4KICAgICBjYXQgPDwgXF9MVF9FT0YgPj4gIiRjZmdmaWxlIgorCiAjIGZ1bmNfZGlybmFtZSBmaWxlIGFwcGVuZCBub25kaXJfcmVwbGFjZW1lbnQKICMgQ29tcHV0ZSB0aGUgZGlybmFtZSBvZiBGSUxFLiAgSWYgbm9uZW1wdHksIGFkZCBBUFBFTkQgdG8gdGhlIHJlc3VsdCwKICMgb3RoZXJ3aXNlIHNldCByZXN1bHQgdG8gTk9ORElSX1JFUExBQ0VNRU5ULgpAQCAtMTYyODgsNiArMTc0MjEsNyBAQAogICBmdW5jX2Jhc2VuYW1lX3Jlc3VsdD1gJEVDSE8gIlgkezF9IiB8ICRYc2VkIC1lICIkYmFzZW5hbWUiYAogfQogCisKICMgZnVuY19zdHJpcG5hbWUgcHJlZml4IHN1ZmZpeCBuYW1lCiAjIHN0cmlwIFBSRUZJWCBhbmQgU1VGRklYIG9mZiBvZiBOQU1FLgogIyBQUkVGSVggYW5kIFNVRkZJWCBtdXN0IG5vdCBjb250YWluIGdsb2JiaW5nIG9yIHJlZ2V4IHNwZWNpYWwKQEAgLTE2MzIwLDYgKzE3NDU0LDI2IEBACiB7CiAgIGZ1bmNfbG8yb19yZXN1bHQ9YCRFQ0hPICJYJHsxfSIgfCAkWHNlZCAtZSAiJGxvMm8iYAogfQorCisjIGZ1bmNfeGZvcm0gbGlib2JqLW9yLXNvdXJjZQorZnVuY194Zm9ybSAoKQoreworICBmdW5jX3hmb3JtX3Jlc3VsdD1gJEVDSE8gIlgkezF9IiB8ICRYc2VkIC1lICdzL1wuW14uXSokLy5sby8nYAorfQorCisjIGZ1bmNfYXJpdGggYXJpdGhtZXRpYy10ZXJtLi4uCitmdW5jX2FyaXRoICgpCit7CisgIGZ1bmNfYXJpdGhfcmVzdWx0PWBleHByICIkQCJgCit9CisKKyMgZnVuY19sZW4gc3RyaW5nCisjIFNUUklORyBtYXkgbm90IHN0YXJ0IHdpdGggYSBoeXBoZW4uCitmdW5jX2xlbiAoKQoreworICBmdW5jX2xlbl9yZXN1bHQ9YGV4cHIgIiQxIiA6ICIuKiIgMj4vZGV2L251bGwgfHwgZWNobyAkbWF4X2NtZF9sZW5gCit9CisKIF9MVF9FT0YKIGVzYWMKIApAQCAtMTYzNDQsNiArMTc0OTgsNyBAQAogewogICBldmFsICIkMT1cJCQxXCQyIgogfQorCiBfTFRfRU9GCiAgICAgOzsKICAgZXNhYwpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZ3VyZS5pbiBiL2dhcy9jb25maWd1cmUuaW4KaW5kZXggMTIwMzg5My4uMmIxMDI5NiAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZ3VyZS5pbgorKysgYi9nYXMvY29uZmlndXJlLmluCkBAIC0yNCw2ICsyNCw3IEBACiBBQ19QUk9HX0NDCiBBQ19HTlVfU09VUkNFCiBBQ19VU0VfU1lTVEVNX0VYVEVOU0lPTlMKK0FDX1NZU19MQVJHRUZJTEUKIAogTFRfSU5JVAogCkBAIC02MDMsNyArNjA0LDcgQEAKIEFDX1BST0dfWUFDQwogQU1fUFJPR19MRVgKIAotQUxMX0xJTkdVQVM9ImZyIHRyIGVzIHJ3IgorQUxMX0xJTkdVQVM9ImZyIHRyIGVzIHJ3IGlkIgogWldfR05VX0dFVFRFWFRfU0lTVEVSX0RJUgogQU1fUE9fU1VCRElSUwogCmRpZmYgLS1naXQgYS9nYXMvY29uZmlndXJlLnRndCBiL2dhcy9jb25maWd1cmUudGd0CmluZGV4IGZkMzU1YzkuLjc2YjEwYmUgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWd1cmUudGd0CisrKyBiL2dhcy9jb25maWd1cmUudGd0CkBAIC0xOTgsNyArMTk4LDcgQEAKICAgaTM4Ni0qLWxpbnV4LSopCQkJZm10PWVsZiBlbT1saW51eCA7OwogICBpMzg2LSotbHlueG9zKikJCQlmbXQ9ZWxmIGVtPWx5bnggOzsKICAgaTM4Ni0qLXN5c3ZbNDVdKikJCQlmbXQ9ZWxmIDs7Ci0gIGkzODYtKi1zb2xhcmlzKikJCQlmbXQ9ZWxmIDs7CisgIGkzODYtKi1zb2xhcmlzKikJCQlmbXQ9ZWxmIGVtPXNvbGFyaXMgOzsKICAgaTM4Ni0qLWZyZWVic2Rhb3V0KikJCQlmbXQ9YW91dCBlbT0zODZic2QgOzsKICAgaTM4Ni0qLWZyZWVic2RbMTJdLiopCQkJZm10PWFvdXQgZW09Mzg2YnNkIDs7CiAgIGkzODYtKi1mcmVlYnNkWzEyXSkJCQlmbXQ9YW91dCBlbT0zODZic2QgOzsKQEAgLTMyMiw3ICszMjIsNyBAQAogICBwcGMtKi0qbipic2QqIHwgcHBjLSotZWxmKikJCWZtdD1lbGYgOzsKICAgcHBjLSotZWFiaSogfCBwcGMtKi1zeXN2NCopCQlmbXQ9ZWxmIDs7CiAgIHBwYy0qLWxpbnV4LSopCQkJZm10PWVsZiBlbT1saW51eCA7OwotICBwcGMtKi1zb2xhcmlzKikJCQlmbXQ9ZWxmIDs7CisgIHBwYy0qLXNvbGFyaXMqKQkJCWZtdD1lbGYgZW09c29sYXJpcyA7OwogICBwcGMtKi1ydGVtcyopCQkJCWZtdD1lbGYgOzsKICAgcHBjLSotbWFjb3MqKQkJCQlmbXQ9Y29mZiBlbT1tYWNvcyA7OwogICBwcGMtKi1udG8qKQkJCQlmbXQ9ZWxmIDs7CkBAIC0zNjIsNyArMzYyLDcgQEAKICAgc3BhcmMtZnVqaXRzdS1ub25lKQkJCWZtdD1hb3V0IDs7CiAgIHNwYXJjLSotZWxmKQkJCQlmbXQ9ZWxmIDs7CiAgIHNwYXJjLSotc3lzdjQqKQkJCWZtdD1lbGYgOzsKLSAgc3BhcmMtKi1zb2xhcmlzKikJCQlmbXQ9ZWxmIDs7CisgIHNwYXJjLSotc29sYXJpcyopCQkJZm10PWVsZiBlbT1zb2xhcmlzIDs7CiAgIHNwYXJjLSotbmV0YnNkZWxmKikJCQlmbXQ9ZWxmIGVtPW5ic2QgOzsKICAgc3BhcmMtKi1uZXRic2QqKQogICAgIGNhc2UgJHtjcHV9IGluCkBAIC00MDgsNyArNDA4LDggQEAKICAgKi0qLWdlbmVyaWMpCQkJCWZtdD1nZW5lcmljIDs7CiAgICotKi14cmF5IHwgKi0qLWhtcykJCQlmbXQ9Y29mZiA7OwogICAqLSotc2ltKQkJCQlmbXQ9Y29mZiA7OwotICAqLSotZWxmIHwgKi0qLXN5c3Y0KiB8ICotKi1zb2xhcmlzKikJZm10PWVsZiA7OworICAqLSotZWxmIHwgKi0qLXN5c3Y0KikJCQlmbXQ9ZWxmIDs7CisgICotKi1zb2xhcmlzKikJCQkJZm10PWVsZiBlbT1zb2xhcmlzIDs7CiAgICotKi1hcm9zKikJCQkJZm10PWVsZiBlbT1saW51eCA7OwogICAqLSotdnh3b3JrcyogfCAqLSotd2luZGlzcykJCWZtdD1lbGYgZW09dnh3b3JrcyA7OwogICAqLSotbmV0d2FyZSkJCQkJZm10PWVsZiBlbT1uZXR3YXJlIDs7CmRpZmYgLS1naXQgYS9nYXMvZG9jL01ha2VmaWxlLmluIGIvZ2FzL2RvYy9NYWtlZmlsZS5pbgppbmRleCA0ZTAyYzU4Li4zMTIyZjdjIDEwMDY0NAotLS0gYS9nYXMvZG9jL01ha2VmaWxlLmluCisrKyBiL2dhcy9kb2MvTWFrZWZpbGUuaW4KQEAgLTUzLDcgKzUzLDggQEAKIAkkKHRvcF9zcmNkaXIpLy4uL2NvbmZpZy9wcm9ndGVzdC5tNCBcCiAJJCh0b3Bfc3JjZGlyKS8uLi9saWJ0b29sLm00ICQodG9wX3NyY2RpcikvLi4vbHRvcHRpb25zLm00IFwKIAkkKHRvcF9zcmNkaXIpLy4uL2x0c3VnYXIubTQgJCh0b3Bfc3JjZGlyKS8uLi9sdHZlcnNpb24ubTQgXAotCSQodG9wX3NyY2RpcikvYWNpbmNsdWRlLm00ICQodG9wX3NyY2RpcikvY29uZmlndXJlLmluCisJJCh0b3Bfc3JjZGlyKS8uLi9sdH5vYnNvbGV0ZS5tNCAkKHRvcF9zcmNkaXIpL2FjaW5jbHVkZS5tNCBcCisJJCh0b3Bfc3JjZGlyKS9jb25maWd1cmUuaW4KIGFtX19jb25maWd1cmVfZGVwcyA9ICQoYW1fX2FjbG9jYWxfbTRfZGVwcykgJChDT05GSUdVUkVfREVQRU5ERU5DSUVTKSBcCiAJJChBQ0xPQ0FMX000KQogbWtpbnN0YWxsZGlycyA9ICQoU0hFTEwpICQodG9wX3NyY2RpcikvLi4vbWtpbnN0YWxsZGlycwpAQCAtOTksNiArMTAwLDcgQEAKIERBVEFESVJOQU1FID0gQERBVEFESVJOQU1FQAogREVGUyA9IEBERUZTQAogREVQRElSID0gQERFUERJUkAKK0RTWU1VVElMID0gQERTWU1VVElMQAogRFVNUEJJTiA9IEBEVU1QQklOQAogRUNIT19DID0gQEVDSE9fQ0AKIEVDSE9fTiA9IEBFQ0hPX05ACkBAIC0xMjksNiArMTMxLDcgQEAKIExJQk9CSlMgPSBATElCT0JKU0AKIExJQlMgPSBATElCU0AKIExJQlRPT0wgPSBATElCVE9PTEAKK0xJUE8gPSBATElQT0AKIExOX1MgPSBATE5fU0AKIExUTElCT0JKUyA9IEBMVExJQk9CSlNACiBNQUlOVCA9IEBNQUlOVEAKQEAgLTEzOSw5ICsxNDIsMTMgQEAKIE1TR0ZNVCA9IEBNU0dGTVRACiBNU0dNRVJHRSA9IEBNU0dNRVJHRUAKIE5NID0gQE5NQAorTk1FRElUID0gQE5NRURJVEAKIE5PX1dFUlJPUiA9IEBOT19XRVJST1JACitPQkpEVU1QID0gQE9CSkRVTVBACiBPQkpFWFQgPSBAT0JKRVhUQAogT1BDT0RFU19MSUIgPSBAT1BDT0RFU19MSUJACitPVE9PTCA9IEBPVE9PTEAKK09UT09MNjQgPSBAT1RPT0w2NEAKIFBBQ0tBR0UgPSBAUEFDS0FHRUAKIFBBQ0tBR0VfQlVHUkVQT1JUID0gQFBBQ0tBR0VfQlVHUkVQT1JUQAogUEFDS0FHRV9OQU1FID0gQFBBQ0tBR0VfTkFNRUAKQEAgLTE2Miw3ICsxNjksMTMgQEAKIFlBQ0MgPSBAWUFDQ0AKIGFjX2N0X0FSID0gQGFjX2N0X0FSQAogYWNfY3RfQ0MgPSBAYWNfY3RfQ0NACithY19jdF9EU1lNVVRJTCA9IEBhY19jdF9EU1lNVVRJTEAKIGFjX2N0X0RVTVBCSU4gPSBAYWNfY3RfRFVNUEJJTkAKK2FjX2N0X0xJUE8gPSBAYWNfY3RfTElQT0AKK2FjX2N0X05NRURJVCA9IEBhY19jdF9OTUVESVRACithY19jdF9PQkpEVU1QID0gQGFjX2N0X09CSkRVTVBACithY19jdF9PVE9PTCA9IEBhY19jdF9PVE9PTEAKK2FjX2N0X09UT09MNjQgPSBAYWNfY3RfT1RPT0w2NEAKIGFjX2N0X1JBTkxJQiA9IEBhY19jdF9SQU5MSUJACiBhY19jdF9TVFJJUCA9IEBhY19jdF9TVFJJUEAKIGFtX19mYXN0ZGVwQ0NfRkFMU0UgPSBAYW1fX2Zhc3RkZXBDQ19GQUxTRUAKZGlmZiAtLWdpdCBhL2dhcy9kb2MvYXMudGV4aW5mbyBiL2dhcy9kb2MvYXMudGV4aW5mbwppbmRleCA5MmI0Y2RlLi43OGIyNDFlNyAxMDA2NDQKLS0tIGEvZ2FzL2RvYy9hcy50ZXhpbmZvCisrKyBiL2dhcy9kb2MvYXMudGV4aW5mbwpAQCAtMzM1NCw4ICszMzU0LDggQEAKIHRoZSBzYW1lIGxvY2FsIGxhYmVsLgogCiBEb2xsYXIgbGFiZWxzIGFyZSBkZWZpbmVkIGluIGV4YWN0bHkgdGhlIHNhbWUgd2F5IGFzIG9yZGluYXJ5IGxvY2FsIGxhYmVscywKLWV4Y2VwdCB0aGF0IGluc3RlYWQgb2YgYmVpbmcgdGVybWluYXRlZCBieSBhIGNvbG9uLCB0aGV5IGFyZSB0ZXJtaW5hdGVkIGJ5IGEKLWRvbGxhciBzaWduLCBlLmcuLCBAc2FtcHtAYns1NSR9fS4KK2V4Y2VwdCB0aGF0IHRoZXkgaGF2ZSBhIGRvbGxhciBzaWduIHN1ZmZpeCB0byB0aGVpciBudW1lcmljIHZhbHVlLCBlLmcuLAorQHNhbXB7QGJ7NTUkOn19LgogCiBUaGV5IGNhbiBhbHNvIGJlIGRpc3Rpbmd1aXNoZWQgZnJvbSBvcmRpbmFyeSBsb2NhbCBsYWJlbHMgYnkgdGhlaXIgdHJhbnNmb3JtZWQKIG5hbWVzIHdoaWNoIHVzZSBBU0NJSSBjaGFyYWN0ZXIgQHNhbXB7XDAwMX0gKGNvbnRyb2wtQSkgYXMgdGhlIG1hZ2ljIGNoYXJhY3RlcgpAQCAtMzM3Myw4ICszMzczLDkgQEAKIEBjb21tYW5ke0B2YWx1ZXtBU319IGlzIGFzc2VtYmxpbmcgaW50by4gIFRodXMsIHRoZSBleHByZXNzaW9uIEBzYW1we21lbHZpbjoKIC5sb25nIC59IGRlZmluZXMgQGNvZGV7bWVsdmlufSB0byBjb250YWluIGl0cyBvd24gYWRkcmVzcy4KIEFzc2lnbmluZyBhIHZhbHVlIHRvIEBjb2Rley59IGlzIHRyZWF0ZWQgdGhlIHNhbWUgYXMgYSBAY29kZXsub3JnfQotZGlyZWN0aXZlLiAgVGh1cywgdGhlIGV4cHJlc3Npb24gQHNhbXB7Lj0uKzR9IGlzIHRoZSBzYW1lIGFzIHNheWluZworZGlyZWN0aXZlLgogQGlmY2xlYXIgbm8tc3BhY2UtZGlyCitUaHVzLCB0aGUgZXhwcmVzc2lvbiBAc2FtcHsuPS4rNH0gaXMgdGhlIHNhbWUgYXMgc2F5aW5nCiBAc2FtcHsuc3BhY2UgNH0uCiBAZW5kIGlmY2xlYXIKIApAQCAtMzgwNywxMCArMzgwOCw4IEBACiAqIEFzY2l6OjogICAgICAgICAgICAgICAgICAgICAgIEBjb2Rley5hc2NpeiAiQHZhcntzdHJpbmd9In1AZG90c3t9CiAqIEJhbGlnbjo6ICAgICAgICAgICAgICAgICAgICAgIEBjb2Rley5iYWxpZ24gQHZhcnthYnMtZXhwcn0gLCBAdmFye2Ficy1leHByfX0KICogQnl0ZTo6ICAgICAgICAgICAgICAgICAgICAgICAgQGNvZGV7LmJ5dGUgQHZhcntleHByZXNzaW9uc319Ci0qIENvbW06OiAgICAgICAgICAgICAgICAgICAgICAgIEBjb2Rley5jb21tIEB2YXJ7c3ltYm9sfSAsIEB2YXJ7bGVuZ3RofSB9Ci0KICogQ0ZJIGRpcmVjdGl2ZXM6OgkJQGNvZGV7LmNmaV9zdGFydHByb2MgW3NpbXBsZV19LCBAY29kZXsuY2ZpX2VuZHByb2N9LCBldGMuCi0KKyogQ29tbTo6ICAgICAgICAgICAgICAgICAgICAgICAgQGNvZGV7LmNvbW0gQHZhcntzeW1ib2x9ICwgQHZhcntsZW5ndGh9IH0KICogRGF0YTo6ICAgICAgICAgICAgICAgICAgICAgICAgQGNvZGV7LmRhdGEgQHZhcntzdWJzZWN0aW9ufX0KIEBpZnNldCBDT0ZGCiAqIERlZjo6ICAgICAgICAgICAgICAgICAgICAgICAgIEBjb2Rley5kZWYgQHZhcntuYW1lfX0KQEAgLTM4NDEsMTAgKzM4NDAsNyBAQAogKiBFeGl0bTo6CQkJQGNvZGV7LmV4aXRtfQogKiBFeHRlcm46OiAgICAgICAgICAgICAgICAgICAgICBAY29kZXsuZXh0ZXJufQogKiBGYWlsOjoJCQlAY29kZXsuZmFpbH0KLUBpZmNsZWFyIG5vLWZpbGUtZGlyCi0qIEZpbGU6OiAgICAgICAgICAgICAgICAgICAgICAgIEBjb2Rley5maWxlIEB2YXJ7c3RyaW5nfX0KLUBlbmQgaWZjbGVhcgotCisqIEZpbGU6OiAgICAgICAgICAgICAgICAgICAgICAgIEBjb2Rley5maWxlfQogKiBGaWxsOjogICAgICAgICAgICAgICAgICAgICAgICBAY29kZXsuZmlsbCBAdmFye3JlcGVhdH0gLCBAdmFye3NpemV9ICwgQHZhcnt2YWx1ZX19CiAqIEZsb2F0OjogICAgICAgICAgICAgICAgICAgICAgIEBjb2Rley5mbG9hdCBAdmFye2Zsb251bXN9fQogKiBGdW5jOjogICAgICAgICAgICAgICAgICAgICAgICBAY29kZXsuZnVuY30gIApAQCAtMzg3NSw4ICszODcxLDExIEBACiAqIExpbmtvbmNlOjoJCQlAY29kZXsubGlua29uY2UgW0B2YXJ7dHlwZX1dfQogKiBMaXN0OjogICAgICAgICAgICAgICAgICAgICAgICBAY29kZXsubGlzdH0KICogTG46OiAgICAgICAgICAgICAgICAgICAgICAgICAgQGNvZGV7LmxuIEB2YXJ7bGluZS1udW1iZXJ9fQotCi0qIExOUyBkaXJlY3RpdmVzOjogICAgICAgICAgICAgIEBjb2Rley5maWxlfSwgQGNvZGV7LmxvY30sIGV0Yy4KKyogTG9jOjogICAgICAgICAgICAgICAgICAgICAgICAgQGNvZGV7LmxvYyBAdmFye2ZpbGVub30gQHZhcntsaW5lbm99fQorKiBMb2NfbWFya19sYWJlbHM6OiAgICAgICAgICAgICBAY29kZXsubG9jX21hcmtfbGFiZWxzIEB2YXJ7ZW5hYmxlfX0KK0BpZnNldCBFTEYKKyogTG9jYWw6OiAgICAgICAgICAgICAgICAgICAgICAgQGNvZGV7LmxvY2FsIEB2YXJ7bmFtZXN9fQorQGVuZCBpZnNldAogCiAqIExvbmc6OiAgICAgICAgICAgICAgICAgICAgICAgIEBjb2Rley5sb25nIEB2YXJ7ZXhwcmVzc2lvbnN9fQogQGlnbm9yZQpAQCAtMzkyMywxMCArMzkyMiwxNCBAQAogQGlmc2V0IENPRkYtRUxGCiAqIFNpemU6OiAgICAgICAgICAgICAgICAgICAgICAgIEBjb2Rley5zaXplIFtAdmFye25hbWV9ICwgQHZhcntleHByZXNzaW9ufV19CiBAZW5kIGlmc2V0Ci0KK0BpZmNsZWFyIG5vLXNwYWNlLWRpcgogKiBTa2lwOjogICAgICAgICAgICAgICAgICAgICAgICBAY29kZXsuc2tpcCBAdmFye3NpemV9ICwgQHZhcntmaWxsfX0KK0BlbmQgaWZjbGVhcgorCiAqIFNsZWIxMjg6OgkJCUBjb2Rley5zbGViMTI4IEB2YXJ7ZXhwcmVzc2lvbnN9fQorQGlmY2xlYXIgbm8tc3BhY2UtZGlyCiAqIFNwYWNlOjogICAgICAgICAgICAgICAgICAgICAgIEBjb2Rley5zcGFjZSBAdmFye3NpemV9ICwgQHZhcntmaWxsfX0KK0BlbmQgaWZjbGVhcgogQGlmc2V0IGhhdmUtc3RhYnMKICogU3RhYjo6ICAgICAgICAgICAgICAgICAgICAgICAgQGNvZGV7LnN0YWJkLCAuc3RhYm4sIC5zdGFic30KIEBlbmQgaWZzZXQKQEAgLTQwMzUsNiArNDAzOCw0MiBAQAogZGVzY3JpYmVkIGxhdGVyLCB3aGljaCBoYXZlIGEgY29uc2lzdGVudCBiZWhhdmlvciBhY3Jvc3MgYWxsCiBhcmNoaXRlY3R1cmVzIChidXQgYXJlIHNwZWNpZmljIHRvIEdBUykuCiAKK0Bub2RlIEFsdG1hY3JvCitAc2VjdGlvbiBAY29kZXsuYWx0bWFjcm99CitFbmFibGUgYWx0ZXJuYXRlIG1hY3JvIG1vZGUsIGVuYWJsaW5nOgorCitAZnRhYmxlIEBjb2RlCitAaXRlbSBMT0NBTCBAdmFye25hbWV9IFsgLCBAZG90c3t9IF0KK09uZSBhZGRpdGlvbmFsIGRpcmVjdGl2ZSwgQGNvZGV7TE9DQUx9LCBpcyBhdmFpbGFibGUuICBJdCBpcyB1c2VkIHRvCitnZW5lcmF0ZSBhIHN0cmluZyByZXBsYWNlbWVudCBmb3IgZWFjaCBvZiB0aGUgQHZhcntuYW1lfSBhcmd1bWVudHMsIGFuZAorcmVwbGFjZSBhbnkgaW5zdGFuY2VzIG9mIEB2YXJ7bmFtZX0gaW4gZWFjaCBtYWNybyBleHBhbnNpb24uICBUaGUKK3JlcGxhY2VtZW50IHN0cmluZyBpcyB1bmlxdWUgaW4gdGhlIGFzc2VtYmx5LCBhbmQgZGlmZmVyZW50IGZvciBlYWNoCitzZXBhcmF0ZSBtYWNybyBleHBhbnNpb24uICBAY29kZXtMT0NBTH0gYWxsb3dzIHlvdSB0byB3cml0ZSBtYWNyb3MgdGhhdAorZGVmaW5lIHN5bWJvbHMsIHdpdGhvdXQgZmVhciBvZiBjb25mbGljdCBiZXR3ZWVuIHNlcGFyYXRlIG1hY3JvIGV4cGFuc2lvbnMuCisKK0BpdGVtIFN0cmluZyBkZWxpbWl0ZXJzCitZb3UgY2FuIHdyaXRlIHN0cmluZ3MgZGVsaW1pdGVkIGluIHRoZXNlIG90aGVyIHdheXMgYmVzaWRlcworQGNvZGV7IkB2YXJ7c3RyaW5nfSJ9OgorCitAdGFibGUgQGNvZGUKK0BpdGVtICdAdmFye3N0cmluZ30nCitZb3UgY2FuIGRlbGltaXQgc3RyaW5ncyB3aXRoIHNpbmdsZS1xdW90ZSBjaGFyYWN0ZXJzLgorCitAaXRlbSA8QHZhcntzdHJpbmd9PgorWW91IGNhbiBkZWxpbWl0IHN0cmluZ3Mgd2l0aCBtYXRjaGluZyBhbmdsZSBicmFja2V0cy4KK0BlbmQgdGFibGUKKworQGl0ZW0gc2luZ2xlLWNoYXJhY3RlciBzdHJpbmcgZXNjYXBlCitUbyBpbmNsdWRlIGFueSBzaW5nbGUgY2hhcmFjdGVyIGxpdGVyYWxseSBpbiBhIHN0cmluZyAoZXZlbiBpZiB0aGUKK2NoYXJhY3RlciB3b3VsZCBvdGhlcndpc2UgaGF2ZSBzb21lIHNwZWNpYWwgbWVhbmluZyksIHlvdSBjYW4gcHJlZml4IHRoZQorY2hhcmFjdGVyIHdpdGggQHNhbXB7IX0gKGFuIGV4Y2xhbWF0aW9uIG1hcmspLiAgRm9yIGV4YW1wbGUsIHlvdSBjYW4KK3dyaXRlIEBzYW1wezw0LjMgIT4gNS40ISE+fSB0byBnZXQgdGhlIGxpdGVyYWwgdGV4dCBAc2FtcHs0LjMgPiA1LjQhfS4KKworQGl0ZW0gRXhwcmVzc2lvbiByZXN1bHRzIGFzIHN0cmluZ3MKK1lvdSBjYW4gd3JpdGUgQHNhbXB7JUB2YXJ7ZXhwcn19IHRvIGV2YWx1YXRlIHRoZSBleHByZXNzaW9uIEB2YXJ7ZXhwcn0KK2FuZCB1c2UgdGhlIHJlc3VsdCBhcyBhIHN0cmluZy4gIAorQGVuZCBmdGFibGUKKwogQG5vZGUgQXNjaWkKIEBzZWN0aW9uIEBjb2Rley5hc2NpaSAiQHZhcntzdHJpbmd9In1AZG90c3t9CiAKQEAgLTQwOTcsMzcgKzQxMzYsNiBAQAogQGNvZGV7LmJ5dGV9IGV4cGVjdHMgemVybyBvciBtb3JlIGV4cHJlc3Npb25zLCBzZXBhcmF0ZWQgYnkgY29tbWFzLgogRWFjaCBleHByZXNzaW9uIGlzIGFzc2VtYmxlZCBpbnRvIHRoZSBuZXh0IGJ5dGUuCiAKLUBub2RlIENvbW0KLUBzZWN0aW9uIEBjb2Rley5jb21tIEB2YXJ7c3ltYm9sfSAsIEB2YXJ7bGVuZ3RofSB9Ci0KLUBjaW5kZXggQGNvZGV7Y29tbX0gZGlyZWN0aXZlCi1AY2luZGV4IHN5bWJvbCwgY29tbW9uCi1AY29kZXsuY29tbX0gZGVjbGFyZXMgYSBjb21tb24gc3ltYm9sIG5hbWVkIEB2YXJ7c3ltYm9sfS4gIFdoZW4gbGlua2luZywgYQotY29tbW9uIHN5bWJvbCBpbiBvbmUgb2JqZWN0IGZpbGUgbWF5IGJlIG1lcmdlZCB3aXRoIGEgZGVmaW5lZCBvciBjb21tb24gc3ltYm9sCi1vZiB0aGUgc2FtZSBuYW1lIGluIGFub3RoZXIgb2JqZWN0IGZpbGUuICBJZiBAY29kZXtAdmFsdWV7TER9fSBkb2VzIG5vdCBzZWUgYQotZGVmaW5pdGlvbiBmb3IgdGhlIHN5bWJvbC0tanVzdCBvbmUgb3IgbW9yZSBjb21tb24gc3ltYm9scy0tdGhlbiBpdCB3aWxsCi1hbGxvY2F0ZSBAdmFye2xlbmd0aH0gYnl0ZXMgb2YgdW5pbml0aWFsaXplZCBtZW1vcnkuICBAdmFye2xlbmd0aH0gbXVzdCBiZSBhbgotYWJzb2x1dGUgZXhwcmVzc2lvbi4gIElmIEBjb2Rle0B2YWx1ZXtMRH19IHNlZXMgbXVsdGlwbGUgY29tbW9uIHN5bWJvbHMgd2l0aAotdGhlIHNhbWUgbmFtZSwgYW5kIHRoZXkgZG8gbm90IGFsbCBoYXZlIHRoZSBzYW1lIHNpemUsIGl0IHdpbGwgYWxsb2NhdGUgc3BhY2UKLXVzaW5nIHRoZSBsYXJnZXN0IHNpemUuCi0KLUBpZnNldCBFTEYKLVdoZW4gdXNpbmcgRUxGLCB0aGUgQGNvZGV7LmNvbW19IGRpcmVjdGl2ZSB0YWtlcyBhbiBvcHRpb25hbCB0aGlyZCBhcmd1bWVudC4KLVRoaXMgaXMgdGhlIGRlc2lyZWQgYWxpZ25tZW50IG9mIHRoZSBzeW1ib2wsIHNwZWNpZmllZCBhcyBhIGJ5dGUgYm91bmRhcnkgKGZvcgotZXhhbXBsZSwgYW4gYWxpZ25tZW50IG9mIDE2IG1lYW5zIHRoYXQgdGhlIGxlYXN0IHNpZ25pZmljYW50IDQgYml0cyBvZiB0aGUKLWFkZHJlc3Mgc2hvdWxkIGJlIHplcm8pLiAgVGhlIGFsaWdubWVudCBtdXN0IGJlIGFuIGFic29sdXRlIGV4cHJlc3Npb24sIGFuZCBpdAotbXVzdCBiZSBhIHBvd2VyIG9mIHR3by4gIElmIEBjb2Rle0B2YWx1ZXtMRH19IGFsbG9jYXRlcyB1bmluaXRpYWxpemVkIG1lbW9yeQotZm9yIHRoZSBjb21tb24gc3ltYm9sLCBpdCB3aWxsIHVzZSB0aGUgYWxpZ25tZW50IHdoZW4gcGxhY2luZyB0aGUgc3ltYm9sLiAgSWYKLW5vIGFsaWdubWVudCBpcyBzcGVjaWZpZWQsIEBjb21tYW5ke0B2YWx1ZXtBU319IHdpbGwgc2V0IHRoZSBhbGlnbm1lbnQgdG8gdGhlCi1sYXJnZXN0IHBvd2VyIG9mIHR3byBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHNpemUgb2YgdGhlIHN5bWJvbCwgdXAgdG8gYQotbWF4aW11bSBvZiAxNi4KLUBlbmQgaWZzZXQKLQotQGlmc2V0IEhQUEEKLVRoZSBzeW50YXggZm9yIEBjb2Rley5jb21tfSBkaWZmZXJzIHNsaWdodGx5IG9uIHRoZSBIUFBBLiAgVGhlIHN5bnRheCBpcwotQHNhbXB7QHZhcntzeW1ib2x9IC5jb21tLCBAdmFye2xlbmd0aH19OyBAdmFye3N5bWJvbH0gaXMgb3B0aW9uYWwuCi1AZW5kIGlmc2V0Ci0KIEBub2RlIENGSSBkaXJlY3RpdmVzCiBAc2VjdGlvbiBAY29kZXsuY2ZpX3N0YXJ0cHJvYyBbc2ltcGxlXX0KIEBjaW5kZXggQGNvZGV7Y2ZpX3N0YXJ0cHJvY30gZGlyZWN0aXZlCkBAIC00MjMwLDYwICs0MjM4LDQ3IEBACiBtaWdodCB1c2UgdGhpcyB0byBhZGQgT1Mtc3BlY2lmaWMgQ0ZJIG9wY29kZXMsIG9yIGdlbmVyaWMgQ0ZJCiBvcGNvZGVzIHRoYXQgR0FTIGRvZXMgbm90IHlldCBzdXBwb3J0LgogCi1Abm9kZSBMTlMgZGlyZWN0aXZlcwotQHNlY3Rpb24gQGNvZGV7LmZpbGUgQHZhcntmaWxlbm99IEB2YXJ7ZmlsZW5hbWV9fQotQGNpbmRleCBAY29kZXtmaWxlfSBkaXJlY3RpdmUKLVdoZW4gZW1pdHRpbmcgZHdhcmYyIGxpbmUgbnVtYmVyIGluZm9ybWF0aW9uIEBjb2Rley5maWxlfSBhc3NpZ25zIGZpbGVuYW1lcwotdG8gdGhlIEBjb2Rley5kZWJ1Z19saW5lfSBmaWxlIG5hbWUgdGFibGUuICBUaGUgQHZhcntmaWxlbm99IG9wZXJhbmQgc2hvdWxkCi1iZSBhIHVuaXF1ZSBwb3NpdGl2ZSBpbnRlZ2VyIHRvIHVzZSBhcyB0aGUgaW5kZXggb2YgdGhlIGVudHJ5IGluIHRoZSB0YWJsZS4KLVRoZSBAdmFye2ZpbGVuYW1lfSBvcGVyYW5kIGlzIGEgQyBzdHJpbmcgbGl0ZXJhbC4KK0BzZWN0aW9uIEBjb2Rley5jZmlfdmFsX2VuY29kZWRfYWRkciBAdmFye3JlZ2lzdGVyfSwgQHZhcntlbmNvZGluZ30sIEB2YXJ7bGFiZWx9fQorVGhlIGN1cnJlbnQgdmFsdWUgb2YgQHZhcntyZWdpc3Rlcn0gaXMgQHZhcntsYWJlbH0uICBUaGUgdmFsdWUgb2YgQHZhcntsYWJlbH0KK3dpbGwgYmUgZW5jb2RlZCBpbiB0aGUgb3V0cHV0IGZpbGUgYWNjb3JkaW5nIHRvIEB2YXJ7ZW5jb2Rpbmd9OyBzZWUgdGhlCitkZXNjcmlwdGlvbiBvZiBAY29kZXsuY2ZpX3BlcnNvbmFsaXR5fSBmb3IgZGV0YWlscyBvbiB0aGlzIGVuY29kaW5nLgogCi1UaGUgZGV0YWlsIG9mIGZpbGVuYW1lIGluZGljZXMgaXMgZXhwb3NlZCB0byB0aGUgdXNlciBiZWNhdXNlIHRoZSBmaWxlbmFtZQotdGFibGUgaXMgc2hhcmVkIHdpdGggdGhlIEBjb2Rley5kZWJ1Z19pbmZvfSBzZWN0aW9uIG9mIHRoZSBkd2FyZjIgZGVidWdnaW5nCi1pbmZvcm1hdGlvbiwgYW5kIHRodXMgdGhlIHVzZXIgbXVzdCBrbm93IHRoZSBleGFjdCBpbmRpY2VzIHRoYXQgdGFibGUKLWVudHJpZXMgd2lsbCBoYXZlLgorVGhlIHVzZWZ1bG5lc3Mgb2YgZXF1YXRpbmcgYSByZWdpc3RlciB0byBhIGZpeGVkIGxhYmVsIGlzIHByb2JhYmx5CitsaW1pdGVkIHRvIHRoZSByZXR1cm4gYWRkcmVzcyByZWdpc3Rlci4gIEhlcmUsIGl0IGNhbiBiZSB1c2VmdWwgdG8KK21hcmsgYSBjb2RlIHNlZ21lbnQgdGhhdCBoYXMgb25seSBvbmUgcmV0dXJuIGFkZHJlc3Mgd2hpY2ggaXMgcmVhY2hlZAorYnkgYSBkaXJlY3QgYnJhbmNoIGFuZCBubyBjb3B5IG9mIHRoZSByZXR1cm4gYWRkcmVzcyBleGlzdHMgaW4gbWVtb3J5CitvciBhbm90aGVyIHJlZ2lzdGVyLgogCi1Ac2VjdGlvbiBAY29kZXsubG9jIEB2YXJ7ZmlsZW5vfSBAdmFye2xpbmVub30gW0B2YXJ7Y29sdW1ufV0gW0B2YXJ7b3B0aW9uc31dfQotQGNpbmRleCBAY29kZXtsb2N9IGRpcmVjdGl2ZQotVGhlIEBjb2Rley5sb2N9IGRpcmVjdGl2ZSB3aWxsIGFkZCByb3cgdG8gdGhlIEBjb2Rley5kZWJ1Z19saW5lfSBsaW5lCi1udW1iZXIgbWF0cml4IGNvcnJlc3BvbmRpbmcgdG8gdGhlIGltbWVkaWF0ZWx5IGZvbGxvd2luZyBhc3NlbWJseQotaW5zdHJ1Y3Rpb24uICBUaGUgQHZhcntmaWxlbm99LCBAdmFye2xpbmVub30sIGFuZCBvcHRpb25hbCBAdmFye2NvbHVtbn0KLWFyZ3VtZW50cyB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIEBjb2Rley5kZWJ1Z19saW5lfSBzdGF0ZSBtYWNoaW5lIGJlZm9yZQotdGhlIHJvdyBpcyBhZGRlZC4KK0Bub2RlIENvbW0KK0BzZWN0aW9uIEBjb2Rley5jb21tIEB2YXJ7c3ltYm9sfSAsIEB2YXJ7bGVuZ3RofSB9CiAKLVRoZSBAdmFye29wdGlvbnN9IGFyZSBhIHNlcXVlbmNlIG9mIHRoZSBmb2xsb3dpbmcgdG9rZW5zIGluIGFueSBvcmRlcjoKK0BjaW5kZXggQGNvZGV7Y29tbX0gZGlyZWN0aXZlCitAY2luZGV4IHN5bWJvbCwgY29tbW9uCitAY29kZXsuY29tbX0gZGVjbGFyZXMgYSBjb21tb24gc3ltYm9sIG5hbWVkIEB2YXJ7c3ltYm9sfS4gIFdoZW4gbGlua2luZywgYQorY29tbW9uIHN5bWJvbCBpbiBvbmUgb2JqZWN0IGZpbGUgbWF5IGJlIG1lcmdlZCB3aXRoIGEgZGVmaW5lZCBvciBjb21tb24gc3ltYm9sCitvZiB0aGUgc2FtZSBuYW1lIGluIGFub3RoZXIgb2JqZWN0IGZpbGUuICBJZiBAY29kZXtAdmFsdWV7TER9fSBkb2VzIG5vdCBzZWUgYQorZGVmaW5pdGlvbiBmb3IgdGhlIHN5bWJvbC0tanVzdCBvbmUgb3IgbW9yZSBjb21tb24gc3ltYm9scy0tdGhlbiBpdCB3aWxsCithbGxvY2F0ZSBAdmFye2xlbmd0aH0gYnl0ZXMgb2YgdW5pbml0aWFsaXplZCBtZW1vcnkuICBAdmFye2xlbmd0aH0gbXVzdCBiZSBhbgorYWJzb2x1dGUgZXhwcmVzc2lvbi4gIElmIEBjb2Rle0B2YWx1ZXtMRH19IHNlZXMgbXVsdGlwbGUgY29tbW9uIHN5bWJvbHMgd2l0aAordGhlIHNhbWUgbmFtZSwgYW5kIHRoZXkgZG8gbm90IGFsbCBoYXZlIHRoZSBzYW1lIHNpemUsIGl0IHdpbGwgYWxsb2NhdGUgc3BhY2UKK3VzaW5nIHRoZSBsYXJnZXN0IHNpemUuCiAKLUB0YWJsZSBAY29kZQotQGl0ZW0gYmFzaWNfYmxvY2sKLVRoaXMgb3B0aW9uIHdpbGwgc2V0IHRoZSBAY29kZXtiYXNpY19ibG9ja30gcmVnaXN0ZXIgaW4gdGhlCi1AY29kZXsuZGVidWdfbGluZX0gc3RhdGUgbWFjaGluZSB0byBAY29kZXt0cnVlfS4KK0BpZnNldCBFTEYKK1doZW4gdXNpbmcgRUxGLCB0aGUgQGNvZGV7LmNvbW19IGRpcmVjdGl2ZSB0YWtlcyBhbiBvcHRpb25hbCB0aGlyZCBhcmd1bWVudC4KK1RoaXMgaXMgdGhlIGRlc2lyZWQgYWxpZ25tZW50IG9mIHRoZSBzeW1ib2wsIHNwZWNpZmllZCBhcyBhIGJ5dGUgYm91bmRhcnkgKGZvcgorZXhhbXBsZSwgYW4gYWxpZ25tZW50IG9mIDE2IG1lYW5zIHRoYXQgdGhlIGxlYXN0IHNpZ25pZmljYW50IDQgYml0cyBvZiB0aGUKK2FkZHJlc3Mgc2hvdWxkIGJlIHplcm8pLiAgVGhlIGFsaWdubWVudCBtdXN0IGJlIGFuIGFic29sdXRlIGV4cHJlc3Npb24sIGFuZCBpdAorbXVzdCBiZSBhIHBvd2VyIG9mIHR3by4gIElmIEBjb2Rle0B2YWx1ZXtMRH19IGFsbG9jYXRlcyB1bmluaXRpYWxpemVkIG1lbW9yeQorZm9yIHRoZSBjb21tb24gc3ltYm9sLCBpdCB3aWxsIHVzZSB0aGUgYWxpZ25tZW50IHdoZW4gcGxhY2luZyB0aGUgc3ltYm9sLiAgSWYKK25vIGFsaWdubWVudCBpcyBzcGVjaWZpZWQsIEBjb21tYW5ke0B2YWx1ZXtBU319IHdpbGwgc2V0IHRoZSBhbGlnbm1lbnQgdG8gdGhlCitsYXJnZXN0IHBvd2VyIG9mIHR3byBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHNpemUgb2YgdGhlIHN5bWJvbCwgdXAgdG8gYQorbWF4aW11bSBvZiAxNi4KK0BlbmQgaWZzZXQKIAotQGl0ZW0gcHJvbG9ndWVfZW5kCi1UaGlzIG9wdGlvbiB3aWxsIHNldCB0aGUgQGNvZGV7cHJvbG9ndWVfZW5kfSByZWdpc3RlciBpbiB0aGUKLUBjb2Rley5kZWJ1Z19saW5lfSBzdGF0ZSBtYWNoaW5lIHRvIEBjb2Rle3RydWV9LgotCi1AaXRlbSBlcGlsb2d1ZV9iZWdpbgotVGhpcyBvcHRpb24gd2lsbCBzZXQgdGhlIEBjb2Rle2VwaWxvZ3VlX2JlZ2lufSByZWdpc3RlciBpbiB0aGUKLUBjb2Rley5kZWJ1Z19saW5lfSBzdGF0ZSBtYWNoaW5lIHRvIEBjb2Rle3RydWV9LgotCi1AaXRlbSBpc19zdG10IEB2YXJ7dmFsdWV9Ci1UaGlzIG9wdGlvbiB3aWxsIHNldCB0aGUgQGNvZGV7aXNfc3RtdH0gcmVnaXN0ZXIgaW4gdGhlCi1AY29kZXsuZGVidWdfbGluZX0gc3RhdGUgbWFjaGluZSB0byBAY29kZXt2YWx1ZX0sIHdoaWNoIG11c3QgYmUgCi1laXRoZXIgMCBvciAxLgotCi1AaXRlbSBpc2EgQHZhcnt2YWx1ZX0KLVRoaXMgZGlyZWN0aXZlIHdpbGwgc2V0IHRoZSBAY29kZXtpc2F9IHJlZ2lzdGVyIGluIHRoZSBAY29kZXsuZGVidWdfbGluZX0KLXN0YXRlIG1hY2hpbmUgdG8gQHZhcnt2YWx1ZX0sIHdoaWNoIG11c3QgYmUgYW4gdW5zaWduZWQgaW50ZWdlci4KLQotQGVuZCB0YWJsZQotCi1Ac2VjdGlvbiBAY29kZXsubG9jX21hcmtfbGFiZWxzIEB2YXJ7ZW5hYmxlfX0KLUBjaW5kZXggQGNvZGV7bG9jX21hcmtfbGFiZWxzfSBkaXJlY3RpdmUKLVRoZSBAY29kZXsubG9jX21hcmtfbGFiZWxzfSBkaXJlY3RpdmUgbWFrZXMgdGhlIGFzc2VtYmxlciBlbWl0IGFuIGVudHJ5Ci10byB0aGUgQGNvZGV7LmRlYnVnX2xpbmV9IGxpbmUgbnVtYmVyIG1hdHJpeCB3aXRoIHRoZSBAY29kZXtiYXNpY19ibG9ja30KLXJlZ2lzdGVyIGluIHRoZSBzdGF0ZSBtYWNoaW5lIHNldCB3aGVuZXZlciBhIGNvZGUgbGFiZWwgaXMgc2Vlbi4KLVRoZSBAdmFye2VuYWJsZX0gYXJndW1lbnQgc2hvdWxkIGJlIGVpdGhlciAxIG9yIDAsIHRvIGVuYWJsZSBvciBkaXNhYmxlCi10aGlzIGZ1bmN0aW9uIHJlc3BlY3RpdmVseS4KK0BpZnNldCBIUFBBCitUaGUgc3ludGF4IGZvciBAY29kZXsuY29tbX0gZGlmZmVycyBzbGlnaHRseSBvbiB0aGUgSFBQQS4gIFRoZSBzeW50YXggaXMKK0BzYW1we0B2YXJ7c3ltYm9sfSAuY29tbSwgQHZhcntsZW5ndGh9fTsgQHZhcntzeW1ib2x9IGlzIG9wdGlvbmFsLgorQGVuZCBpZnNldAogCiBAbm9kZSBEYXRhCiBAc2VjdGlvbiBAY29kZXsuZGF0YSBAdmFye3N1YnNlY3Rpb259fQpAQCAtNDUxNSwyMSArNDUxMCw1MSBAQAogaW5jbHVkZSB0aGUgdmFsdWUgb2YgQHZhcntleHByZXNzaW9ufS4gIFRoaXMgY2FuIG9jY2FzaW9uYWxseSBiZSB1c2VmdWwgaW5zaWRlCiBjb21wbGV4IG5lc3RlZCBtYWNyb3Mgb3IgY29uZGl0aW9uYWwgYXNzZW1ibHkuCiAKLUBpZmNsZWFyIG5vLWZpbGUtZGlyCiBAbm9kZSBGaWxlCi1Ac2VjdGlvbiBAY29kZXsuZmlsZSBAdmFye3N0cmluZ319Ci0KK0BzZWN0aW9uIEBjb2Rley5maWxlfQogQGNpbmRleCBAY29kZXtmaWxlfSBkaXJlY3RpdmUKKworQGlmY2xlYXIgbm8tZmlsZS1kaXIKK1RoZXJlIGFyZSB0d28gZGlmZmVyZW50IHZlcnNpb25zIG9mIHRoZSBAY29kZXsuZmlsZX0gZGlyZWN0aXZlLiAgVGFyZ2V0cwordGhhdCBzdXBwb3J0IERXQVJGMiBsaW5lIG51bWJlciBpbmZvcm1hdGlvbiB1c2UgdGhlIERXQVJGMiB2ZXJzaW9uIG9mCitAY29kZXsuZmlsZX0uICBPdGhlciB0YXJnZXRzIHVzZSB0aGUgZGVmYXVsdCB2ZXJzaW9uLgorCitAc3ViaGVhZGluZyBEZWZhdWx0IFZlcnNpb24KKwogQGNpbmRleCBsb2dpY2FsIGZpbGUgbmFtZQogQGNpbmRleCBmaWxlIG5hbWUsIGxvZ2ljYWwKLUBjb2Rley5maWxlfSB0ZWxscyBAY29tbWFuZHtAdmFsdWV7QVN9fSB0aGF0IHdlIGFyZSBhYm91dCB0byBzdGFydCBhIG5ldyBsb2dpY2FsCi1maWxlLiAgQHZhcntzdHJpbmd9IGlzIHRoZSBuZXcgZmlsZSBuYW1lLiAgSW4gZ2VuZXJhbCwgdGhlIGZpbGVuYW1lIGlzCitUaGlzIHZlcnNpb24gb2YgdGhlIEBjb2Rley5maWxlfSBkaXJlY3RpdmUgdGVsbHMgQGNvbW1hbmR7QHZhbHVle0FTfX0gdGhhdCB3ZQorYXJlIGFib3V0IHRvIHN0YXJ0IGEgbmV3IGxvZ2ljYWwgZmlsZS4gIFRoZSBzeW50YXggaXM6CisKK0BzbWFsbGV4YW1wbGUKKy5maWxlIEB2YXJ7c3RyaW5nfQorQGVuZCBzbWFsbGV4YW1wbGUKKworQHZhcntzdHJpbmd9IGlzIHRoZSBuZXcgZmlsZSBuYW1lLiAgSW4gZ2VuZXJhbCwgdGhlIGZpbGVuYW1lIGlzCiByZWNvZ25pemVkIHdoZXRoZXIgb3Igbm90IGl0IGlzIHN1cnJvdW5kZWQgYnkgcXVvdGVzIEBzYW1weyJ9OyBidXQgaWYgeW91IHdpc2gKIHRvIHNwZWNpZnkgYW4gZW1wdHkgZmlsZSBuYW1lLCB5b3UgbXVzdCBnaXZlIHRoZSBxdW90ZXMtLUBjb2RleyIifS4gIFRoaXMKIHN0YXRlbWVudCBtYXkgZ28gYXdheSBpbiBmdXR1cmU6IGl0IGlzIG9ubHkgcmVjb2duaXplZCB0byBiZSBjb21wYXRpYmxlIHdpdGgKIG9sZCBAY29tbWFuZHtAdmFsdWV7QVN9fSBwcm9ncmFtcy4KKworQHN1YmhlYWRpbmcgRFdBUkYyIFZlcnNpb24KIEBlbmQgaWZjbGVhcgogCitXaGVuIGVtaXR0aW5nIERXQVJGMiBsaW5lIG51bWJlciBpbmZvcm1hdGlvbiwgQGNvZGV7LmZpbGV9IGFzc2lnbnMgZmlsZW5hbWVzCit0byB0aGUgQGNvZGV7LmRlYnVnX2xpbmV9IGZpbGUgbmFtZSB0YWJsZS4gIFRoZSBzeW50YXggaXM6CisKK0BzbWFsbGV4YW1wbGUKKy5maWxlIEB2YXJ7ZmlsZW5vfSBAdmFye2ZpbGVuYW1lfQorQGVuZCBzbWFsbGV4YW1wbGUKKworVGhlIEB2YXJ7ZmlsZW5vfSBvcGVyYW5kIHNob3VsZCBiZSBhIHVuaXF1ZSBwb3NpdGl2ZSBpbnRlZ2VyIHRvIHVzZSBhcyB0aGUKK2luZGV4IG9mIHRoZSBlbnRyeSBpbiB0aGUgdGFibGUuICBUaGUgQHZhcntmaWxlbmFtZX0gb3BlcmFuZCBpcyBhIEMgc3RyaW5nCitsaXRlcmFsLgorCitUaGUgZGV0YWlsIG9mIGZpbGVuYW1lIGluZGljZXMgaXMgZXhwb3NlZCB0byB0aGUgdXNlciBiZWNhdXNlIHRoZSBmaWxlbmFtZQordGFibGUgaXMgc2hhcmVkIHdpdGggdGhlIEBjb2Rley5kZWJ1Z19pbmZvfSBzZWN0aW9uIG9mIHRoZSBEV0FSRjIgZGVidWdnaW5nCitpbmZvcm1hdGlvbiwgYW5kIHRodXMgdGhlIHVzZXIgbXVzdCBrbm93IHRoZSBleGFjdCBpbmRpY2VzIHRoYXQgdGFibGUKK2VudHJpZXMgd2lsbCBoYXZlLgorCiBAbm9kZSBGaWxsCiBAc2VjdGlvbiBAY29kZXsuZmlsbCBAdmFye3JlcGVhdH0gLCBAdmFye3NpemV9ICwgQHZhcnt2YWx1ZX19CiAKQEAgLTQ5MTAsMTMgKzQ5MzUsNiBAQAogQHNlY3Rpb24gQGNvZGV7LmxpbmUgQHZhcntsaW5lLW51bWJlcn19CiAKIEBjaW5kZXggQGNvZGV7bGluZX0gZGlyZWN0aXZlCi1AZW5kIGlmY2xlYXIKLUBpZnNldCBuby1saW5lLWRpcgotQG5vZGUgTG4KLUBzZWN0aW9uIEBjb2Rley5sbiBAdmFye2xpbmUtbnVtYmVyfX0KLQotQGNpbmRleCBAY29kZXtsbn0gZGlyZWN0aXZlCi1AZW5kIGlmc2V0CiBAY2luZGV4IGxvZ2ljYWwgbGluZSBudW1iZXIKIEBpZnNldCBhb3V0LWJvdXQKIENoYW5nZSB0aGUgbG9naWNhbCBsaW5lIG51bWJlci4gIEB2YXJ7bGluZS1udW1iZXJ9IG11c3QgYmUgYW4gYWJzb2x1dGUKQEAgLTQ5MjUsMTAgKzQ5NDMsOCBAQAogcmVwb3J0ZWQgYXMgb24gbG9naWNhbCBsaW5lIG51bWJlciBAdmFye2xpbmUtbnVtYmVyfSBAbWludXN7fSAxLiAgT25lIGRheQogQGNvbW1hbmR7QHZhbHVle0FTfX0gd2lsbCBubyBsb25nZXIgc3VwcG9ydCB0aGlzIGRpcmVjdGl2ZTogaXQgaXMgcmVjb2duaXplZCBvbmx5CiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIGFzc2VtYmxlciBwcm9ncmFtcy4KLQogQGVuZCBpZnNldAogCi1AaWZjbGVhciBuby1saW5lLWRpcgogRXZlbiB0aG91Z2ggdGhpcyBpcyBhIGRpcmVjdGl2ZSBhc3NvY2lhdGVkIHdpdGggdGhlIEBjb2Rle2Eub3V0fSBvcgogQGNvZGV7Yi5vdXR9IG9iamVjdC1jb2RlIGZvcm1hdHMsIEBjb21tYW5ke0B2YWx1ZXtBU319IHN0aWxsIHJlY29nbml6ZXMgaXQKIHdoZW4gcHJvZHVjaW5nIENPRkYgb3V0cHV0LCBhbmQgdHJlYXRzIEBzYW1wey5saW5lfSBhcyB0aG91Z2ggaXQKQEAgLTQ5NzcsNiArNDk5MywyMSBAQAogV2FybiBpZiBhbnkgb2YgdGhlIGR1cGxpY2F0ZXMgZG8gbm90IGhhdmUgZXhhY3RseSB0aGUgc2FtZSBjb250ZW50cy4KIEBlbmQgdGFibGUKIAorQG5vZGUgTGlzdAorQHNlY3Rpb24gQGNvZGV7Lmxpc3R9CisKK0BjaW5kZXggQGNvZGV7bGlzdH0gZGlyZWN0aXZlCitAY2luZGV4IGxpc3RpbmcgY29udHJvbCwgdHVybmluZyBvbgorQ29udHJvbCAoaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQGNvZGV7Lm5vbGlzdH0gZGlyZWN0aXZlKSB3aGV0aGVyIG9yCitub3QgYXNzZW1ibHkgbGlzdGluZ3MgYXJlIGdlbmVyYXRlZC4gIFRoZXNlIHR3byBkaXJlY3RpdmVzIG1haW50YWluIGFuCitpbnRlcm5hbCBjb3VudGVyICh3aGljaCBpcyB6ZXJvIGluaXRpYWxseSkuICAgQGNvZGV7Lmxpc3R9IGluY3JlbWVudHMgdGhlCitjb3VudGVyLCBhbmQgQGNvZGV7Lm5vbGlzdH0gZGVjcmVtZW50cyBpdC4gIEFzc2VtYmx5IGxpc3RpbmdzIGFyZQorZ2VuZXJhdGVkIHdoZW5ldmVyIHRoZSBjb3VudGVyIGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLgorCitCeSBkZWZhdWx0LCBsaXN0aW5ncyBhcmUgZGlzYWJsZWQuICBXaGVuIHlvdSBlbmFibGUgdGhlbSAod2l0aCB0aGUKK0BzYW1wey1hfSBjb21tYW5kIGxpbmUgb3B0aW9uOyBAcHhyZWZ7SW52b2tpbmcsLENvbW1hbmQtTGluZSBPcHRpb25zfSksCit0aGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgbGlzdGluZyBjb3VudGVyIGlzIG9uZS4KKwogQG5vZGUgTG4KIEBzZWN0aW9uIEBjb2Rley5sbiBAdmFye2xpbmUtbnVtYmVyfX0KIApAQCAtNDk5OCwzMCArNTAyOSw2NyBAQAogQGVuZCBpZnNldAogQGVuZCBpZnNldAogCi1Abm9kZSBNUkkKLUBzZWN0aW9uIEBjb2Rley5tcmkgQHZhcnt2YWx9fQorQG5vZGUgTG9jCitAc2VjdGlvbiBAY29kZXsubG9jIEB2YXJ7ZmlsZW5vfSBAdmFye2xpbmVub30gW0B2YXJ7Y29sdW1ufV0gW0B2YXJ7b3B0aW9uc31dfQorQGNpbmRleCBAY29kZXtsb2N9IGRpcmVjdGl2ZQorV2hlbiBlbWl0dGluZyBEV0FSRjIgbGluZSBudW1iZXIgaW5mb3JtYXRpb24sCit0aGUgQGNvZGV7LmxvY30gZGlyZWN0aXZlIHdpbGwgYWRkIGEgcm93IHRvIHRoZSBAY29kZXsuZGVidWdfbGluZX0gbGluZQorbnVtYmVyIG1hdHJpeCBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbW1lZGlhdGVseSBmb2xsb3dpbmcgYXNzZW1ibHkKK2luc3RydWN0aW9uLiAgVGhlIEB2YXJ7ZmlsZW5vfSwgQHZhcntsaW5lbm99LCBhbmQgb3B0aW9uYWwgQHZhcntjb2x1bW59Cithcmd1bWVudHMgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBAY29kZXsuZGVidWdfbGluZX0gc3RhdGUgbWFjaGluZSBiZWZvcmUKK3RoZSByb3cgaXMgYWRkZWQuCiAKLUBjaW5kZXggQGNvZGV7bXJpfSBkaXJlY3RpdmUKLUBjaW5kZXggTVJJIG1vZGUsIHRlbXBvcmFyaWx5Ci1JZiBAdmFye3ZhbH0gaXMgbm9uLXplcm8sIHRoaXMgdGVsbHMgQGNvbW1hbmR7QHZhbHVle0FTfX0gdG8gZW50ZXIgTVJJIG1vZGUuICBJZgotQHZhcnt2YWx9IGlzIHplcm8sIHRoaXMgdGVsbHMgQGNvbW1hbmR7QHZhbHVle0FTfX0gdG8gZXhpdCBNUkkgbW9kZS4gIFRoaXMgY2hhbmdlCi1hZmZlY3RzIGNvZGUgYXNzZW1ibGVkIHVudGlsIHRoZSBuZXh0IEBjb2Rley5tcml9IGRpcmVjdGl2ZSwgb3IgdW50aWwgdGhlIGVuZAotb2YgdGhlIGZpbGUuICBAeHJlZntNLCBNUkkgbW9kZSwgTVJJIG1vZGV9LgorVGhlIEB2YXJ7b3B0aW9uc30gYXJlIGEgc2VxdWVuY2Ugb2YgdGhlIGZvbGxvd2luZyB0b2tlbnMgaW4gYW55IG9yZGVyOgogCi1Abm9kZSBMaXN0Ci1Ac2VjdGlvbiBAY29kZXsubGlzdH0KK0B0YWJsZSBAY29kZQorQGl0ZW0gYmFzaWNfYmxvY2sKK1RoaXMgb3B0aW9uIHdpbGwgc2V0IHRoZSBAY29kZXtiYXNpY19ibG9ja30gcmVnaXN0ZXIgaW4gdGhlCitAY29kZXsuZGVidWdfbGluZX0gc3RhdGUgbWFjaGluZSB0byBAY29kZXt0cnVlfS4KIAotQGNpbmRleCBAY29kZXtsaXN0fSBkaXJlY3RpdmUKLUBjaW5kZXggbGlzdGluZyBjb250cm9sLCB0dXJuaW5nIG9uCi1Db250cm9sIChpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBAY29kZXsubm9saXN0fSBkaXJlY3RpdmUpIHdoZXRoZXIgb3IKLW5vdCBhc3NlbWJseSBsaXN0aW5ncyBhcmUgZ2VuZXJhdGVkLiAgVGhlc2UgdHdvIGRpcmVjdGl2ZXMgbWFpbnRhaW4gYW4KLWludGVybmFsIGNvdW50ZXIgKHdoaWNoIGlzIHplcm8gaW5pdGlhbGx5KS4gICBAY29kZXsubGlzdH0gaW5jcmVtZW50cyB0aGUKLWNvdW50ZXIsIGFuZCBAY29kZXsubm9saXN0fSBkZWNyZW1lbnRzIGl0LiAgQXNzZW1ibHkgbGlzdGluZ3MgYXJlCi1nZW5lcmF0ZWQgd2hlbmV2ZXIgdGhlIGNvdW50ZXIgaXMgZ3JlYXRlciB0aGFuIHplcm8uCitAaXRlbSBwcm9sb2d1ZV9lbmQKK1RoaXMgb3B0aW9uIHdpbGwgc2V0IHRoZSBAY29kZXtwcm9sb2d1ZV9lbmR9IHJlZ2lzdGVyIGluIHRoZQorQGNvZGV7LmRlYnVnX2xpbmV9IHN0YXRlIG1hY2hpbmUgdG8gQGNvZGV7dHJ1ZX0uCiAKLUJ5IGRlZmF1bHQsIGxpc3RpbmdzIGFyZSBkaXNhYmxlZC4gIFdoZW4geW91IGVuYWJsZSB0aGVtICh3aXRoIHRoZQotQHNhbXB7LWF9IGNvbW1hbmQgbGluZSBvcHRpb247IEBweHJlZntJbnZva2luZywsQ29tbWFuZC1MaW5lIE9wdGlvbnN9KSwKLXRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBsaXN0aW5nIGNvdW50ZXIgaXMgb25lLgorQGl0ZW0gZXBpbG9ndWVfYmVnaW4KK1RoaXMgb3B0aW9uIHdpbGwgc2V0IHRoZSBAY29kZXtlcGlsb2d1ZV9iZWdpbn0gcmVnaXN0ZXIgaW4gdGhlCitAY29kZXsuZGVidWdfbGluZX0gc3RhdGUgbWFjaGluZSB0byBAY29kZXt0cnVlfS4KKworQGl0ZW0gaXNfc3RtdCBAdmFye3ZhbHVlfQorVGhpcyBvcHRpb24gd2lsbCBzZXQgdGhlIEBjb2Rle2lzX3N0bXR9IHJlZ2lzdGVyIGluIHRoZQorQGNvZGV7LmRlYnVnX2xpbmV9IHN0YXRlIG1hY2hpbmUgdG8gQGNvZGV7dmFsdWV9LCB3aGljaCBtdXN0IGJlIAorZWl0aGVyIDAgb3IgMS4KKworQGl0ZW0gaXNhIEB2YXJ7dmFsdWV9CitUaGlzIGRpcmVjdGl2ZSB3aWxsIHNldCB0aGUgQGNvZGV7aXNhfSByZWdpc3RlciBpbiB0aGUgQGNvZGV7LmRlYnVnX2xpbmV9CitzdGF0ZSBtYWNoaW5lIHRvIEB2YXJ7dmFsdWV9LCB3aGljaCBtdXN0IGJlIGFuIHVuc2lnbmVkIGludGVnZXIuCisKK0BlbmQgdGFibGUKKworQG5vZGUgTG9jX21hcmtfbGFiZWxzCitAc2VjdGlvbiBAY29kZXsubG9jX21hcmtfbGFiZWxzIEB2YXJ7ZW5hYmxlfX0KK0BjaW5kZXggQGNvZGV7bG9jX21hcmtfbGFiZWxzfSBkaXJlY3RpdmUKK1doZW4gZW1pdHRpbmcgRFdBUkYyIGxpbmUgbnVtYmVyIGluZm9ybWF0aW9uLAordGhlIEBjb2Rley5sb2NfbWFya19sYWJlbHN9IGRpcmVjdGl2ZSBtYWtlcyB0aGUgYXNzZW1ibGVyIGVtaXQgYW4gZW50cnkKK3RvIHRoZSBAY29kZXsuZGVidWdfbGluZX0gbGluZSBudW1iZXIgbWF0cml4IHdpdGggdGhlIEBjb2Rle2Jhc2ljX2Jsb2NrfQorcmVnaXN0ZXIgaW4gdGhlIHN0YXRlIG1hY2hpbmUgc2V0IHdoZW5ldmVyIGEgY29kZSBsYWJlbCBpcyBzZWVuLgorVGhlIEB2YXJ7ZW5hYmxlfSBhcmd1bWVudCBzaG91bGQgYmUgZWl0aGVyIDEgb3IgMCwgdG8gZW5hYmxlIG9yIGRpc2FibGUKK3RoaXMgZnVuY3Rpb24gcmVzcGVjdGl2ZWx5LgorCitAaWZzZXQgRUxGCitAbm9kZSBMb2NhbAorQHNlY3Rpb24gQGNvZGV7LmxvY2FsIEB2YXJ7bmFtZXN9fQorCitAY2luZGV4IEBjb2Rle2xvY2FsfSBkaXJlY3RpdmUKK1RoaXMgZGlyZWN0aXZlLCB3aGljaCBpcyBhdmFpbGFibGUgZm9yIEVMRiB0YXJnZXRzLCBtYXJrcyBlYWNoIHN5bWJvbCBpbgordGhlIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIEBjb2Rle25hbWVzfSBhcyBhIGxvY2FsIHN5bWJvbCBzbyB0aGF0IGl0Cit3aWxsIG5vdCBiZSBleHRlcm5hbGx5IHZpc2libGUuICBJZiB0aGUgc3ltYm9scyBkbyBub3QgYWxyZWFkeSBleGlzdCwKK3RoZXkgd2lsbCBiZSBjcmVhdGVkLgorCitGb3IgdGFyZ2V0cyB3aGVyZSB0aGUgQGNvZGV7Lmxjb21tfSBkaXJlY3RpdmUgKEBweHJlZntMY29tbX0pIGRvZXMgbm90CithY2NlcHQgYW4gYWxpZ25tZW50IGFyZ3VtZW50LCB3aGljaCBpcyB0aGUgY2FzZSBmb3IgbW9zdCBFTEYgdGFyZ2V0cywKK3RoZSBAY29kZXsubG9jYWx9IGRpcmVjdGl2ZSBjYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIEBjb2Rley5jb21tfQorKEBweHJlZntDb21tfSkgdG8gZGVmaW5lIGFsaWduZWQgbG9jYWwgY29tbW9uIGRhdGEuCitAZW5kIGlmc2V0CiAKIEBub2RlIExvbmcKIEBzZWN0aW9uIEBjb2Rley5sb25nIEB2YXJ7ZXhwcmVzc2lvbnN9fQpAQCAtNTIyNCw0MSArNTI5MiwxNSBAQAogQHhyZWZ7QWx0bWFjcm8sLEBjb2Rley5hbHRtYWNyb319LgogQGVuZCBmdGFibGUKIAotQG5vZGUgQWx0bWFjcm8KLUBzZWN0aW9uIEBjb2Rley5hbHRtYWNyb30KLUVuYWJsZSBhbHRlcm5hdGUgbWFjcm8gbW9kZSwgZW5hYmxpbmc6CitAbm9kZSBNUkkKK0BzZWN0aW9uIEBjb2Rley5tcmkgQHZhcnt2YWx9fQogCi1AZnRhYmxlIEBjb2RlCi1AaXRlbSBMT0NBTCBAdmFye25hbWV9IFsgLCBAZG90c3t9IF0KLU9uZSBhZGRpdGlvbmFsIGRpcmVjdGl2ZSwgQGNvZGV7TE9DQUx9LCBpcyBhdmFpbGFibGUuICBJdCBpcyB1c2VkIHRvCi1nZW5lcmF0ZSBhIHN0cmluZyByZXBsYWNlbWVudCBmb3IgZWFjaCBvZiB0aGUgQHZhcntuYW1lfSBhcmd1bWVudHMsIGFuZAotcmVwbGFjZSBhbnkgaW5zdGFuY2VzIG9mIEB2YXJ7bmFtZX0gaW4gZWFjaCBtYWNybyBleHBhbnNpb24uICBUaGUKLXJlcGxhY2VtZW50IHN0cmluZyBpcyB1bmlxdWUgaW4gdGhlIGFzc2VtYmx5LCBhbmQgZGlmZmVyZW50IGZvciBlYWNoCi1zZXBhcmF0ZSBtYWNybyBleHBhbnNpb24uICBAY29kZXtMT0NBTH0gYWxsb3dzIHlvdSB0byB3cml0ZSBtYWNyb3MgdGhhdAotZGVmaW5lIHN5bWJvbHMsIHdpdGhvdXQgZmVhciBvZiBjb25mbGljdCBiZXR3ZWVuIHNlcGFyYXRlIG1hY3JvIGV4cGFuc2lvbnMuCi0KLUBpdGVtIFN0cmluZyBkZWxpbWl0ZXJzCi1Zb3UgY2FuIHdyaXRlIHN0cmluZ3MgZGVsaW1pdGVkIGluIHRoZXNlIG90aGVyIHdheXMgYmVzaWRlcwotQGNvZGV7IkB2YXJ7c3RyaW5nfSJ9OgotCi1AdGFibGUgQGNvZGUKLUBpdGVtICdAdmFye3N0cmluZ30nCi1Zb3UgY2FuIGRlbGltaXQgc3RyaW5ncyB3aXRoIHNpbmdsZS1xdW90ZSBjaGFyYWN0ZXJzLgotCi1AaXRlbSA8QHZhcntzdHJpbmd9PgotWW91IGNhbiBkZWxpbWl0IHN0cmluZ3Mgd2l0aCBtYXRjaGluZyBhbmdsZSBicmFja2V0cy4KLUBlbmQgdGFibGUKLQotQGl0ZW0gc2luZ2xlLWNoYXJhY3RlciBzdHJpbmcgZXNjYXBlCi1UbyBpbmNsdWRlIGFueSBzaW5nbGUgY2hhcmFjdGVyIGxpdGVyYWxseSBpbiBhIHN0cmluZyAoZXZlbiBpZiB0aGUKLWNoYXJhY3RlciB3b3VsZCBvdGhlcndpc2UgaGF2ZSBzb21lIHNwZWNpYWwgbWVhbmluZyksIHlvdSBjYW4gcHJlZml4IHRoZQotY2hhcmFjdGVyIHdpdGggQHNhbXB7IX0gKGFuIGV4Y2xhbWF0aW9uIG1hcmspLiAgRm9yIGV4YW1wbGUsIHlvdSBjYW4KLXdyaXRlIEBzYW1wezw0LjMgIT4gNS40ISE+fSB0byBnZXQgdGhlIGxpdGVyYWwgdGV4dCBAc2FtcHs0LjMgPiA1LjQhfS4KLQotQGl0ZW0gRXhwcmVzc2lvbiByZXN1bHRzIGFzIHN0cmluZ3MKLVlvdSBjYW4gd3JpdGUgQHNhbXB7JUB2YXJ7ZXhwcn19IHRvIGV2YWx1YXRlIHRoZSBleHByZXNzaW9uIEB2YXJ7ZXhwcn0KLWFuZCB1c2UgdGhlIHJlc3VsdCBhcyBhIHN0cmluZy4gIAotQGVuZCBmdGFibGUKK0BjaW5kZXggQGNvZGV7bXJpfSBkaXJlY3RpdmUKK0BjaW5kZXggTVJJIG1vZGUsIHRlbXBvcmFyaWx5CitJZiBAdmFye3ZhbH0gaXMgbm9uLXplcm8sIHRoaXMgdGVsbHMgQGNvbW1hbmR7QHZhbHVle0FTfX0gdG8gZW50ZXIgTVJJIG1vZGUuICBJZgorQHZhcnt2YWx9IGlzIHplcm8sIHRoaXMgdGVsbHMgQGNvbW1hbmR7QHZhbHVle0FTfX0gdG8gZXhpdCBNUkkgbW9kZS4gIFRoaXMgY2hhbmdlCithZmZlY3RzIGNvZGUgYXNzZW1ibGVkIHVudGlsIHRoZSBuZXh0IEBjb2Rley5tcml9IGRpcmVjdGl2ZSwgb3IgdW50aWwgdGhlIGVuZAorb2YgdGhlIGZpbGUuICBAeHJlZntNLCBNUkkgbW9kZSwgTVJJIG1vZGV9LgogCiBAbm9kZSBOb2FsdG1hY3JvCiBAc2VjdGlvbiBAY29kZXsubm9hbHRtYWNyb30KQEAgLTUzNjIsNiArNTQwNCwyMiBAQAogdW5kZWZpbmVkLgogCiBAaWZzZXQgRUxGCitAbm9kZSBQb3BTZWN0aW9uCitAc2VjdGlvbiBAY29kZXsucG9wc2VjdGlvbn0KKworQGNpbmRleCBAY29kZXtwb3BzZWN0aW9ufSBkaXJlY3RpdmUKK0BjaW5kZXggU2VjdGlvbiBTdGFjaworVGhpcyBpcyBvbmUgb2YgdGhlIEVMRiBzZWN0aW9uIHN0YWNrIG1hbmlwdWxhdGlvbiBkaXJlY3RpdmVzLiAgVGhlIG90aGVycyBhcmUKK0Bjb2Rley5zZWN0aW9ufSAoQHB4cmVme1NlY3Rpb259KSwgQGNvZGV7LnN1YnNlY3Rpb259IChAcHhyZWZ7U3ViU2VjdGlvbn0pLCAKK0Bjb2Rley5wdXNoc2VjdGlvbn0gKEBweHJlZntQdXNoU2VjdGlvbn0pLCBhbmQgQGNvZGV7LnByZXZpb3VzfSAKKyhAcHhyZWZ7UHJldmlvdXN9KS4KKworVGhpcyBkaXJlY3RpdmUgcmVwbGFjZXMgdGhlIGN1cnJlbnQgc2VjdGlvbiAoYW5kIHN1YnNlY3Rpb24pIHdpdGggdGhlIHRvcAorc2VjdGlvbiAoYW5kIHN1YnNlY3Rpb24pIG9uIHRoZSBzZWN0aW9uIHN0YWNrLiAgVGhpcyBzZWN0aW9uIGlzIHBvcHBlZCBvZmYgdGhlCitzdGFjay4gCitAZW5kIGlmc2V0CisKK0BpZnNldCBFTEYKIEBub2RlIFByZXZpb3VzCiBAc2VjdGlvbiBAY29kZXsucHJldmlvdXN9CiAKQEAgLTU0MTQsMjIgKzU0NzIsNiBAQAogdGhlIHRvcCBzZWN0aW9uIG9uIHRoZSBzZWN0aW9uIHN0YWNrLgogQGVuZCBpZnNldAogCi1AaWZzZXQgRUxGCi1Abm9kZSBQb3BTZWN0aW9uCi1Ac2VjdGlvbiBAY29kZXsucG9wc2VjdGlvbn0KLQotQGNpbmRleCBAY29kZXtwb3BzZWN0aW9ufSBkaXJlY3RpdmUKLUBjaW5kZXggU2VjdGlvbiBTdGFjawotVGhpcyBpcyBvbmUgb2YgdGhlIEVMRiBzZWN0aW9uIHN0YWNrIG1hbmlwdWxhdGlvbiBkaXJlY3RpdmVzLiAgVGhlIG90aGVycyBhcmUKLUBjb2Rley5zZWN0aW9ufSAoQHB4cmVme1NlY3Rpb259KSwgQGNvZGV7LnN1YnNlY3Rpb259IChAcHhyZWZ7U3ViU2VjdGlvbn0pLCAKLUBjb2Rley5wdXNoc2VjdGlvbn0gKEBweHJlZntQdXNoU2VjdGlvbn0pLCBhbmQgQGNvZGV7LnByZXZpb3VzfSAKLShAcHhyZWZ7UHJldmlvdXN9KS4KLQotVGhpcyBkaXJlY3RpdmUgcmVwbGFjZXMgdGhlIGN1cnJlbnQgc2VjdGlvbiAoYW5kIHN1YnNlY3Rpb24pIHdpdGggdGhlIHRvcAotc2VjdGlvbiAoYW5kIHN1YnNlY3Rpb24pIG9uIHRoZSBzZWN0aW9uIHN0YWNrLiAgVGhpcyBzZWN0aW9uIGlzIHBvcHBlZCBvZmYgdGhlCi1zdGFjay4gCi1AZW5kIGlmc2V0Ci0KIEBub2RlIFByaW50CiBAc2VjdGlvbiBAY29kZXsucHJpbnQgQHZhcntzdHJpbmd9fQogCkBAIC01ODg3LDE0ICs1OTI5LDYgQEAKIEBlbmQgaWZzZXQKIEBlbmQgaWZzZXQKIAotQG5vZGUgU2xlYjEyOAotQHNlY3Rpb24gQGNvZGV7LnNsZWIxMjggQHZhcntleHByZXNzaW9uc319Ci0KLUBjaW5kZXggQGNvZGV7c2xlYjEyOH0gZGlyZWN0aXZlCi1AdmFye3NsZWIxMjh9IHN0YW5kcyBmb3IgYGBzaWduZWQgbGl0dGxlIGVuZGlhbiBiYXNlIDEyOC4nJyAgVGhpcyBpcyBhIAotY29tcGFjdCwgdmFyaWFibGUgbGVuZ3RoIHJlcHJlc2VudGF0aW9uIG9mIG51bWJlcnMgdXNlZCBieSB0aGUgRFdBUkYKLXN5bWJvbGljIGRlYnVnZ2luZyBmb3JtYXQuICBAeHJlZntVbGViMTI4LCAsQGNvZGV7LnVsZWIxMjh9fS4KLQogQGlmY2xlYXIgbm8tc3BhY2UtZGlyCiBAbm9kZSBTa2lwCiBAc2VjdGlvbiBAY29kZXsuc2tpcCBAdmFye3NpemV9ICwgQHZhcntmaWxsfX0KQEAgLTU5MDUsNyArNTkzOSwxNyBAQAogQHZhcntzaXplfSBhbmQgQHZhcntmaWxsfSBhcmUgYWJzb2x1dGUgZXhwcmVzc2lvbnMuICBJZiB0aGUgY29tbWEgYW5kCiBAdmFye2ZpbGx9IGFyZSBvbWl0dGVkLCBAdmFye2ZpbGx9IGlzIGFzc3VtZWQgdG8gYmUgemVyby4gIFRoaXMgaXMgdGhlIHNhbWUgYXMKIEBzYW1wey5zcGFjZX0uCitAZW5kIGlmY2xlYXIKIAorQG5vZGUgU2xlYjEyOAorQHNlY3Rpb24gQGNvZGV7LnNsZWIxMjggQHZhcntleHByZXNzaW9uc319CisKK0BjaW5kZXggQGNvZGV7c2xlYjEyOH0gZGlyZWN0aXZlCitAdmFye3NsZWIxMjh9IHN0YW5kcyBmb3IgYGBzaWduZWQgbGl0dGxlIGVuZGlhbiBiYXNlIDEyOC4nJyAgVGhpcyBpcyBhIAorY29tcGFjdCwgdmFyaWFibGUgbGVuZ3RoIHJlcHJlc2VudGF0aW9uIG9mIG51bWJlcnMgdXNlZCBieSB0aGUgRFdBUkYKK3N5bWJvbGljIGRlYnVnZ2luZyBmb3JtYXQuICBAeHJlZntVbGViMTI4LCAsQGNvZGV7LnVsZWIxMjh9fS4KKworQGlmY2xlYXIgbm8tc3BhY2UtZGlyCiBAbm9kZSBTcGFjZQogQHNlY3Rpb24gQGNvZGV7LnNwYWNlIEB2YXJ7c2l6ZX0gLCBAdmFye2ZpbGx9fQogCmRpZmYgLS1naXQgYS9nYXMvZG9jL2ludGVybmFscy50ZXhpIGIvZ2FzL2RvYy9pbnRlcm5hbHMudGV4aQppbmRleCBjZmI5YTkzLi44OWU5MTk4IDEwMDY0NAotLS0gYS9nYXMvZG9jL2ludGVybmFscy50ZXhpCisrKyBiL2dhcy9kb2MvaW50ZXJuYWxzLnRleGkKQEAgLTEzMDksMjIgKzEzMDksMjcgQEAKIEB3e0Bjb2RleyEgU0VHX05PUk1BTCAoQHZhcntzZWd9KSB8fCBUQ19GT1JDRV9SRUxPQ0FUSU9OIChAdmFye2ZpeH0pfX0gd2lsbAogYmUgdXNlZC4KIAotQGl0ZW0gVENfRk9SQ0VfUkVMT0NBVElPTl9TVUJfQUJTIChAdmFye2ZpeH0pCitAaXRlbSBUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9BQlMgKEB2YXJ7Zml4fSwgQHZhcntzZWcpCiBAY2luZGV4IFRDX0ZPUkNFX1JFTE9DQVRJT05fU1VCX0FCUwogTGlrZSBAY29kZXtUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9TQU1FfSwgYnV0IHVzZWQgd2hlbiB0aGUgc3VidHJhaGVuZCBpcyBhbgogYWJzb2x1dGUgc3ltYm9sLiAgSWYgdGhlIG1hY3JvIGlzIHVuZGVmaW5lZCBhIGRlZmF1bHQgb2YgQGNvZGV7MH0gaXMgdXNlZC4KIAotQGl0ZW0gVENfRk9SQ0VfUkVMT0NBVElPTl9TVUJfTE9DQUwgKEB2YXJ7Zml4fSkKK0BpdGVtIFRDX0ZPUkNFX1JFTE9DQVRJT05fU1VCX0xPQ0FMIChAdmFye2ZpeH0sIEB2YXJ7c2VnKQogQGNpbmRleCBUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9MT0NBTAogTGlrZSBAY29kZXtUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9BQlN9LCBidXQgdGhlIHN1YnRyYWhlbmQgaXMgYSBzeW1ib2wgaW4gdGhlCiBzYW1lIHNlY3Rpb24gYXMgdGhlIGZpeHVwLgogCi1AaXRlbSBUQ19WQUxJREFURV9GSVhfU1VCIChAdmFye2ZpeH0pCitAaXRlbSBUQ19WQUxJREFURV9GSVhfU1VCIChAdmFye2ZpeH0sIEB2YXJ7c2VnfSkKIEBjaW5kZXggVENfVkFMSURBVEVfRklYX1NVQgogVGhpcyBtYWNybyBpcyBldmFsdWF0ZWQgZm9yIGFueSBmaXh1cCB3aXRoIGEgQGNvZGV7Znhfc3Vic3l9IHRoYXQKIEBjb2Rle2ZpeHVwX3NlZ21lbnR9IGNhbm5vdCByZWR1Y2UgdG8gYSBudW1iZXIuICBJZiB0aGUgbWFjcm8gcmV0dXJucwogQGNvZGV7ZmFsc2V9IGFuIGVycm9yIHdpbGwgYmUgcmVwb3J0ZWQuCiAKK0BpdGVtIFRDX0dMT0JBTF9SRUdJU1RFUl9TWU1CT0xfT0sKK0BjaW5kZXggVENfR0xPQkFMX1JFR0lTVEVSX1NZTUJPTF9PSworRGVmaW5lIHRoaXMgbWFjcm8gaWYgZ2xvYmFsIHJlZ2lzdGVyIHN5bWJvbHMgYXJlIHN1cHBvcnRlZC4gVGhlIGRlZmF1bHQKK2lzIHRvIGRpc2FsbG93IGdsb2JhbCByZWdpc3RlciBzeW1ib2xzLgorCiBAaXRlbSBNRF9BUFBMWV9TWU1fVkFMVUUgKEB2YXJ7Zml4fSkKIEBjaW5kZXggTURfQVBQTFlfU1lNX1ZBTFVFCiBUaGlzIG1hY3JvIGNvbnRyb2xzIHdoZXRoZXIgdGhlIHN5bWJvbCB2YWx1ZSBiZWNvbWVzIHBhcnQgb2YgdGhlIHZhbHVlIHBhc3NlZApkaWZmIC0tZ2l0IGEvZ2FzL2R3MmdlbmNmaS5jIGIvZ2FzL2R3MmdlbmNmaS5jCmluZGV4IDQ5YTIzYWQuLjRhZGZlYWIgMTAwNjQ0Ci0tLSBhL2dhcy9kdzJnZW5jZmkuYworKysgYi9nYXMvZHcyZ2VuY2ZpLmMKQEAgLTU4LDYgKzU4LDEwIEBACiAjIGRlZmluZSB0Y19jZmlfZnJhbWVfaW5pdGlhbF9pbnN0cnVjdGlvbnMoKSAoKHZvaWQpMCkKICNlbmRpZgogCisjaWZuZGVmIERXQVJGMl9BRERSX1NJWkUKKyMgZGVmaW5lIERXQVJGMl9BRERSX1NJWkUoYmZkKSAoYmZkX2FyY2hfYml0c19wZXJfYWRkcmVzcyAoYmZkKSAvIDgpCisjZW5kaWYKKwogCiBzdHJ1Y3QgY2ZpX2luc25fZGF0YQogewpAQCAtODYsNiArOTAsMTEgQEAKICAgICAgIHN0cnVjdCBjZmlfZXNjYXBlX2RhdGEgKm5leHQ7CiAgICAgICBleHByZXNzaW9uUyBleHA7CiAgICAgfSAqZXNjOworCisgICAgc3RydWN0IHsKKyAgICAgIHVuc2lnbmVkIHJlZywgZW5jb2Rpbmc7CisgICAgICBleHByZXNzaW9uUyBleHA7CisgICAgfSBlYTsKICAgfSB1OwogfTsKIApAQCAtMzc2LDYgKzM4NSw3IEBACiBzdGF0aWMgdm9pZCBkb3RfY2ZpX2VuZHByb2MgKGludCk7CiBzdGF0aWMgdm9pZCBkb3RfY2ZpX3BlcnNvbmFsaXR5IChpbnQpOwogc3RhdGljIHZvaWQgZG90X2NmaV9sc2RhIChpbnQpOworc3RhdGljIHZvaWQgZG90X2NmaV92YWxfZW5jb2RlZF9hZGRyIChpbnQpOwogCiAvKiBGYWtlIENGSSB0eXBlOyBvdXRzaWRlIHRoZSBieXRlIHJhbmdlIG9mIGFueSByZWFsIENGSSBpbnNuLiAgKi8KICNkZWZpbmUgQ0ZJX2FkanVzdF9jZmFfb2Zmc2V0CTB4MTAwCkBAIC0zODMsNiArMzkzLDcgQEAKICNkZWZpbmUgQ0ZJX3JlbF9vZmZzZXQJCTB4MTAyCiAjZGVmaW5lIENGSV9lc2NhcGUJCTB4MTAzCiAjZGVmaW5lIENGSV9zaWduYWxfZnJhbWUJMHgxMDQKKyNkZWZpbmUgQ0ZJX3ZhbF9lbmNvZGVkX2FkZHIJMHgxMDUKIAogY29uc3QgcHNldWRvX3R5cGVTIGNmaV9wc2V1ZG9fdGFibGVbXSA9CiAgIHsKQEAgLTQwNiw2ICs0MTcsNyBAQAogICAgIHsgImNmaV9zaWduYWxfZnJhbWUiLCBkb3RfY2ZpLCBDRklfc2lnbmFsX2ZyYW1lIH0sCiAgICAgeyAiY2ZpX3BlcnNvbmFsaXR5IiwgZG90X2NmaV9wZXJzb25hbGl0eSwgMCB9LAogICAgIHsgImNmaV9sc2RhIiwgZG90X2NmaV9sc2RhLCAwIH0sCisgICAgeyAiY2ZpX3ZhbF9lbmNvZGVkX2FkZHIiLCBkb3RfY2ZpX3ZhbF9lbmNvZGVkX2FkZHIsIDAgfSwKICAgICB7IE5VTEwsIE5VTEwsIDAgfQogICB9OwogCkBAIC02NTQsNyArNjY2LDcgQEAKICAgICB9CiAKICAgZmRlID0gZnJjaGFpbl9ub3ctPmZyY2hfY2ZpX2RhdGEtPmN1cl9mZGVfZGF0YTsKLSAgZW5jb2RpbmcgPSBnZXRfYWJzb2x1dGVfZXhwcmVzc2lvbiAoKTsKKyAgZW5jb2RpbmcgPSBjZmlfcGFyc2VfY29uc3QgKCk7CiAgIGlmIChlbmNvZGluZyA9PSBEV19FSF9QRV9vbWl0KQogICAgIHsKICAgICAgIGRlbWFuZF9lbXB0eV9yZXN0X29mX2xpbmUgKCk7CkBAIC03MjQsNyArNzM2LDcgQEAKICAgICB9CiAKICAgZmRlID0gZnJjaGFpbl9ub3ctPmZyY2hfY2ZpX2RhdGEtPmN1cl9mZGVfZGF0YTsKLSAgZW5jb2RpbmcgPSBnZXRfYWJzb2x1dGVfZXhwcmVzc2lvbiAoKTsKKyAgZW5jb2RpbmcgPSBjZmlfcGFyc2VfY29uc3QgKCk7CiAgIGlmIChlbmNvZGluZyA9PSBEV19FSF9QRV9vbWl0KQogICAgIHsKICAgICAgIGRlbWFuZF9lbXB0eV9yZXN0X29mX2xpbmUgKCk7CkBAIC03ODMsNiArNzk1LDcxIEBACiB9CiAKIHN0YXRpYyB2b2lkCitkb3RfY2ZpX3ZhbF9lbmNvZGVkX2FkZHIgKGludCBpZ25vcmVkIEFUVFJJQlVURV9VTlVTRUQpCit7CisgIHN0cnVjdCBjZmlfaW5zbl9kYXRhICppbnNuX3B0cjsKKyAgb2Zmc2V0VCBlbmNvZGluZzsKKworICBpZiAoZnJjaGFpbl9ub3ctPmZyY2hfY2ZpX2RhdGEgPT0gTlVMTCkKKyAgICB7CisgICAgICBhc19iYWQgKF8oIkNGSSBpbnN0cnVjdGlvbiB1c2VkIHdpdGhvdXQgcHJldmlvdXMgLmNmaV9zdGFydHByb2MiKSk7CisgICAgICBpZ25vcmVfcmVzdF9vZl9saW5lICgpOworICAgICAgcmV0dXJuOworICAgIH0KKworICAvKiBJZiB0aGUgbGFzdCBhZGRyZXNzIHdhcyBub3QgYXQgdGhlIGN1cnJlbnQgUEMsIGFkdmFuY2UgdG8gY3VycmVudC4gICovCisgIGlmIChzeW1ib2xfZ2V0X2ZyYWcgKGZyY2hhaW5fbm93LT5mcmNoX2NmaV9kYXRhLT5sYXN0X2FkZHJlc3MpICE9IGZyYWdfbm93CisgICAgICB8fCBTX0dFVF9WQUxVRSAoZnJjaGFpbl9ub3ctPmZyY2hfY2ZpX2RhdGEtPmxhc3RfYWRkcmVzcykKKwkgIT0gZnJhZ19ub3dfZml4ICgpKQorICAgIGNmaV9hZGRfYWR2YW5jZV9sb2MgKHN5bWJvbF90ZW1wX25ld19ub3cgKCkpOworCisgIGluc25fcHRyID0gYWxsb2NfY2ZpX2luc25fZGF0YSAoKTsKKyAgaW5zbl9wdHItPmluc24gPSBDRklfdmFsX2VuY29kZWRfYWRkcjsKKyAgCisgIGluc25fcHRyLT51LmVhLnJlZyA9IGNmaV9wYXJzZV9yZWcgKCk7CisKKyAgY2ZpX3BhcnNlX3NlcGFyYXRvciAoKTsKKyAgZW5jb2RpbmcgPSBjZmlfcGFyc2VfY29uc3QgKCk7CisgIGlmICgoZW5jb2RpbmcgJiAweGZmKSAhPSBlbmNvZGluZworICAgICAgfHwgKChlbmNvZGluZyAmIDB4NzApICE9IDAKKyNpZiBDRklfRElGRl9FWFBSX09LIHx8IGRlZmluZWQgdGNfY2ZpX2VtaXRfcGNyZWxfZXhwcgorCSAgJiYgKGVuY29kaW5nICYgMHg3MCkgIT0gRFdfRUhfUEVfcGNyZWwKKyNlbmRpZgorCSAgKQorCSAvKiBsZWIxMjggY2FuIGJlIGhhbmRsZWQsIGJ1dCBkb2VzIHNvbWV0aGluZyBhY3R1YWxseSBuZWVkIGl0PyAgKi8KKyAgICAgIHx8IChlbmNvZGluZyAmIDcpID09IERXX0VIX1BFX3VsZWIxMjgKKyAgICAgIHx8IChlbmNvZGluZyAmIDcpID4gRFdfRUhfUEVfdWRhdGE4KQorICAgIHsKKyAgICAgIGFzX2JhZCAoXygiaW52YWxpZCBvciB1bnN1cHBvcnRlZCBlbmNvZGluZyBpbiAuY2ZpX2xzZGEiKSk7CisgICAgICBlbmNvZGluZyA9IERXX0VIX1BFX29taXQ7CisgICAgfQorCisgIGNmaV9wYXJzZV9zZXBhcmF0b3IgKCk7CisgIGV4cHJlc3Npb25fYW5kX2V2YWx1YXRlICgmaW5zbl9wdHItPnUuZWEuZXhwKTsKKyAgc3dpdGNoIChpbnNuX3B0ci0+dS5lYS5leHAuWF9vcCkKKyAgICB7CisgICAgY2FzZSBPX3N5bWJvbDoKKyAgICAgIGJyZWFrOworICAgIGNhc2UgT19jb25zdGFudDoKKyAgICAgIGlmICgoZW5jb2RpbmcgJiAweDcwKSAhPSBEV19FSF9QRV9wY3JlbCkKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgIGVuY29kaW5nID0gRFdfRUhfUEVfb21pdDsKKyAgICAgIGJyZWFrOworICAgIH0KKworICBpbnNuX3B0ci0+dS5lYS5lbmNvZGluZyA9IGVuY29kaW5nOworICBpZiAoZW5jb2RpbmcgPT0gRFdfRUhfUEVfb21pdCkKKyAgICB7CisgICAgICBhc19iYWQgKF8oIndyb25nIHRoaXJkIGFyZ3VtZW50IHRvIC5jZmlfdmFsX2VuY29kZWRfYWRkciIpKTsKKyAgICAgIGlnbm9yZV9yZXN0X29mX2xpbmUgKCk7CisgICAgICByZXR1cm47CisgICAgfQorCisgIGRlbWFuZF9lbXB0eV9yZXN0X29mX2xpbmUgKCk7Cit9CisKK3N0YXRpYyB2b2lkCiBkb3RfY2ZpX3N0YXJ0cHJvYyAoaW50IGlnbm9yZWQgQVRUUklCVVRFX1VOVVNFRCkKIHsKICAgaW50IHNpbXBsZSA9IDA7CkBAIC0xMDI4LDYgKzExMDUsNjQgQEAKIAlicmVhazsKICAgICAgIH0KIAorICAgIGNhc2UgQ0ZJX3ZhbF9lbmNvZGVkX2FkZHI6CisgICAgICB7CisgICAgICAgIHVuc2lnbmVkIGVuY29kaW5nID0gaW5zbi0+dS5lYS5lbmNvZGluZzsKKyAgICAgICAgb2Zmc2V0VCBlbmNvZGluZ19zaXplOworCisJaWYgKGVuY29kaW5nID09IERXX0VIX1BFX29taXQpCisJICBicmVhazsKKwlvdXRfb25lIChEV19DRkFfdmFsX2V4cHJlc3Npb24pOworCW91dF91bGViMTI4IChpbnNuLT51LmVhLnJlZyk7CisKKyAgICAgICAgc3dpdGNoIChlbmNvZGluZyAmIDB4NykKKwkgIHsKKwkgIGNhc2UgRFdfRUhfUEVfYWJzcHRyOgorCSAgICBlbmNvZGluZ19zaXplID0gRFdBUkYyX0FERFJfU0laRSAoc3Rkb3V0cHV0KTsKKwkgICAgYnJlYWs7CisJICBjYXNlIERXX0VIX1BFX3VkYXRhMjoKKwkgICAgZW5jb2Rpbmdfc2l6ZSA9IDI7CisJICAgIGJyZWFrOworCSAgY2FzZSBEV19FSF9QRV91ZGF0YTQ6CisJICAgIGVuY29kaW5nX3NpemUgPSA0OworCSAgICBicmVhazsKKwkgIGNhc2UgRFdfRUhfUEVfdWRhdGE4OgorCSAgICBlbmNvZGluZ19zaXplID0gODsKKwkgICAgYnJlYWs7CisJICBkZWZhdWx0OgorCSAgICBhYm9ydCAoKTsKKwkgIH0KKworCS8qIElmIHRoZSB1c2VyIGhhcyByZXF1ZXN0ZWQgYWJzb2x1dGUgZW5jb2RpbmcsCisJICAgdGhlbiB1c2UgdGhlIHNtYWxsZXIgRFdfT1BfYWRkciBlbmNvZGluZy4gICovCisJaWYgKGluc24tPnUuZWEuZW5jb2RpbmcgPT0gRFdfRUhfUEVfYWJzcHRyKQorCSAgeworCSAgICBvdXRfdWxlYjEyOCAoMSArIGVuY29kaW5nX3NpemUpOworCSAgICBvdXRfb25lIChEV19PUF9hZGRyKTsKKwkgIH0KKwllbHNlCisJICB7CisJICAgIG91dF91bGViMTI4ICgxICsgMSArIGVuY29kaW5nX3NpemUpOworCSAgICBvdXRfb25lIChEV19PUF9HTlVfZW5jb2RlZF9hZGRyKTsKKwkgICAgb3V0X29uZSAoZW5jb2RpbmcpOworCisJICAgIGlmICgoZW5jb2RpbmcgJiAweDcwKSA9PSBEV19FSF9QRV9wY3JlbCkKKwkgICAgICB7CisjaWYgQ0ZJX0RJRkZfRVhQUl9PSworCQlpbnNuLT51LmVhLmV4cC5YX29wID0gT19zdWJ0cmFjdDsKKwkJaW5zbi0+dS5lYS5leHAuWF9vcF9zeW1ib2wgPSBzeW1ib2xfdGVtcF9uZXdfbm93ICgpOworI2VsaWYgZGVmaW5lZCAodGNfY2ZpX2VtaXRfcGNyZWxfZXhwcikKKwkJdGNfY2ZpX2VtaXRfcGNyZWxfZXhwciAoJmluc24tPnUuZWEuZXhwLCBlbmNvZGluZ19zaXplKTsKKwkJYnJlYWs7CisjZWxzZQorCQlhYm9ydCAoKTsKKyNlbmRpZgorCSAgICAgIH0KKwkgIH0KKwllbWl0X2V4cHIgKCZpbnNuLT51LmVhLmV4cCwgZW5jb2Rpbmdfc2l6ZSk7CisgICAgICB9CisgICAgICBicmVhazsKKyAgICAgIAogICAgIGRlZmF1bHQ6CiAgICAgICBhYm9ydCAoKTsKICAgICB9CkBAIC0xMjkyLDYgKzE0MjcsNyBAQAogCSAgICAgIGJyZWFrOwogCiAJICAgIGNhc2UgQ0ZJX2VzY2FwZToKKwkgICAgY2FzZSBDRklfdmFsX2VuY29kZWRfYWRkcjoKIAkgICAgICAvKiBEb24ndCBib3RoZXIgbWF0Y2hpbmcgdGhlc2UgZm9yIG5vdy4gICovCiAJICAgICAgZ290byBmYWlsOwogCkBAIC0xMzA3LDcgKzE0NDMsOCBAQAogCSAgJiYgKCFqCiAJICAgICAgfHwgai0+aW5zbiA9PSBEV19DRkFfYWR2YW5jZV9sb2MKIAkgICAgICB8fCBqLT5pbnNuID09IERXX0NGQV9yZW1lbWJlcl9zdGF0ZQotCSAgICAgIHx8IGotPmluc24gPT0gQ0ZJX2VzY2FwZSkpCisJICAgICAgfHwgai0+aW5zbiA9PSBDRklfZXNjYXBlCisJICAgICAgfHwgai0+aW5zbiA9PSBDRklfdmFsX2VuY29kZWRfYWRkcikpCiAJewogCSAgKnBmaXJzdCA9IGo7CiAJICByZXR1cm4gY2llOwpAQCAtMTMyOSw3ICsxNDY2LDggQEAKICAgZm9yIChpID0gY2llLT5maXJzdDsgaSA7IGkgPSBpLT5uZXh0KQogICAgIGlmIChpLT5pbnNuID09IERXX0NGQV9hZHZhbmNlX2xvYwogCXx8IGktPmluc24gPT0gRFdfQ0ZBX3JlbWVtYmVyX3N0YXRlCi0JfHwgaS0+aW5zbiA9PSBDRklfZXNjYXBlKQorCXx8IGktPmluc24gPT0gQ0ZJX2VzY2FwZQorCXx8IGktPmluc24gPT0gQ0ZJX3ZhbF9lbmNvZGVkX2FkZHIpCiAgICAgICBicmVhazsKIAogICBjaWUtPmxhc3QgPSBpOwpAQCAtMTM1OCw2ICsxNDk2LDEwIEBACiAgIHN1YnNlZ19zZXQgKGNmaV9zZWcsIDApOwogICByZWNvcmRfYWxpZ25tZW50IChjZmlfc2VnLCBFSF9GUkFNRV9BTElHTk1FTlQpOwogCisjaWZkZWYgbWRfZml4X3VwX2VoX2ZyYW1lCisgIG1kX2ZpeF91cF9laF9mcmFtZSAoY2ZpX3NlZyk7CisjZW5kaWYKKwogICAvKiBNYWtlIHN1cmUgY2hlY2tfZWhfZnJhbWUgZG9lc24ndCBkbyBhbnl0aGluZyB3aXRoIG91ciBvdXRwdXQuICAqLwogICBzYXZlX2ZsYWdfdHJhZGl0aW9uYWxfZm9ybWF0ID0gZmxhZ190cmFkaXRpb25hbF9mb3JtYXQ7CiAgIGZsYWdfdHJhZGl0aW9uYWxfZm9ybWF0ID0gMTsKZGlmZiAtLWdpdCBhL2dhcy9mcmFncy5jIGIvZ2FzL2ZyYWdzLmMKaW5kZXggMDUyZTc2Zi4uMWNhZDZhNyAxMDA2NDQKLS0tIGEvZ2FzL2ZyYWdzLmMKKysrIGIvZ2FzL2ZyYWdzLmMKQEAgLTY5LDcgKzY5LDcgQEAKICAgKHZvaWQpIG9ic3RhY2tfYWxsb2MgKG9iLCAwKTsKICAgb2FsaWduID0gb2JzdGFja19hbGlnbm1lbnRfbWFzayAob2IpOwogICBvYnN0YWNrX2FsaWdubWVudF9tYXNrIChvYikgPSAwOwotICBwdHIgPSAoZnJhZ1MgKikgb2JzdGFja19hbGxvYyAob2IsIFNJWkVPRl9TVFJVQ1RfRlJBRyk7CisgIHB0ciA9IG9ic3RhY2tfYWxsb2MgKG9iLCBTSVpFT0ZfU1RSVUNUX0ZSQUcpOwogICBvYnN0YWNrX2FsaWdubWVudF9tYXNrIChvYikgPSBvYWxpZ247CiAgIG1lbXNldCAocHRyLCAwLCBTSVpFT0ZfU1RSVUNUX0ZSQUcpOwogICByZXR1cm4gcHRyOwpkaWZmIC0tZ2l0IGEvZ2FzL2hhc2guYyBiL2dhcy9oYXNoLmMKaW5kZXggNGE0NzY4Yy4uMDZmYWRjYiAxMDA2NDQKLS0tIGEvZ2FzL2hhc2guYworKysgYi9nYXMvaGFzaC5jCkBAIC0yMzcsNyArMjM3LDcgQEAKICAgKyt0YWJsZS0+aW5zZXJ0aW9uczsKICNlbmRpZgogCi0gIHAgPSAoc3RydWN0IGhhc2hfZW50cnkgKikgb2JzdGFja19hbGxvYyAoJnRhYmxlLT5tZW1vcnksIHNpemVvZiAoKnApKTsKKyAgcCA9IG9ic3RhY2tfYWxsb2MgKCZ0YWJsZS0+bWVtb3J5LCBzaXplb2YgKCpwKSk7CiAgIHAtPnN0cmluZyA9IGtleTsKICAgcC0+aGFzaCA9IGhhc2g7CiAgIHAtPmRhdGEgPSB2YWx1ZTsKQEAgLTI3NCw3ICsyNzQsNyBAQAogICAgICAgKyt0YWJsZS0+aW5zZXJ0aW9uczsKICNlbmRpZgogCi0gICAgICBwID0gKHN0cnVjdCBoYXNoX2VudHJ5ICopIG9ic3RhY2tfYWxsb2MgKCZ0YWJsZS0+bWVtb3J5LCBzaXplb2YgKCpwKSk7CisgICAgICBwID0gb2JzdGFja19hbGxvYyAoJnRhYmxlLT5tZW1vcnksIHNpemVvZiAoKnApKTsKICAgICAgIHAtPnN0cmluZyA9IGtleTsKICAgICAgIHAtPmhhc2ggPSBoYXNoOwogICAgICAgcC0+ZGF0YSA9IHZhbHVlOwpkaWZmIC0tZ2l0IGEvZ2FzL2xpc3RpbmcuYyBiL2dhcy9saXN0aW5nLmMKaW5kZXggNjkzMmU4Ni4uMDI1YTJjYSAxMDA2NDQKLS0tIGEvZ2FzL2xpc3RpbmcuYworKysgYi9nYXMvbGlzdGluZy5jCkBAIC00NzEsOCArNDcxLDEwIEBACiAJICBmY2xvc2UgKGxhc3Rfb3Blbl9maWxlKTsKIAl9CiAKKyAgICAgIC8qIE9wZW4gdGhlIGZpbGUgaW4gdGhlIGJpbmFyeSBtb2RlIHNvIHRoYXQgZnRlbGwgYWJvdmUgY2FuCisJIHJldHVybiBhIHJlbGlhYmxlIHZhbHVlIHRoYXQgd2UgY2FuIGZlZWQgdG8gZnNlZWsgYmVsb3cuICAqLwogICAgICAgbGFzdF9vcGVuX2ZpbGVfaW5mbyA9IGZpbGU7Ci0gICAgICBsYXN0X29wZW5fZmlsZSA9IGZvcGVuIChmaWxlLT5maWxlbmFtZSwgRk9QRU5fUlQpOworICAgICAgbGFzdF9vcGVuX2ZpbGUgPSBmb3BlbiAoZmlsZS0+ZmlsZW5hbWUsIEZPUEVOX1JCKTsKICAgICAgIGlmIChsYXN0X29wZW5fZmlsZSA9PSBOVUxMKQogCXsKIAkgIGZpbGUtPmF0X2VuZCA9IDE7CkBAIC00ODksNyArNDkxLDcgQEAKICAgLyogTGVhdmUgcm9vbSBmb3IgbnVsbC4gICovCiAgIHNpemUgLT0gMTsKIAotICB3aGlsZSAoYyAhPSBFT0YgJiYgYyAhPSAnXG4nKQorICB3aGlsZSAoYyAhPSBFT0YgJiYgYyAhPSAnXG4nICYmIGMgIT0gJ1xyJykKICAgICB7CiAgICAgICBpZiAoY291bnQgPCBzaXplKQogCSpwKysgPSBjOwpAQCAtNDk4LDYgKzUwMCwxNyBAQAogICAgICAgYyA9IGZnZXRjIChsYXN0X29wZW5fZmlsZSk7CiAKICAgICB9CisKKyAgLyogSWYgJ1xyJyBpcyBmb2xsb3dlZCBieSAnXG4nLCBzd2FsbG93IHRoYXQuICBMaWtld2lzZSwgaWYgJ1xuJworICAgICBpcyBmb2xsb3dlZCBieSAnXHInLCBzd2FsbG93IHRoYXQgYXMgd2VsbC4gICovCisgIGlmIChjID09ICdccicgfHwgYyA9PSAnXG4nKQorICAgIHsKKyAgICAgIGludCBuZXh0ID0gZmdldGMgKGxhc3Rfb3Blbl9maWxlKTsKKyAgICAgIGlmICgoYyA9PSAnXHInICYmIG5leHQgIT0gJ1xuJykKKwkgIHx8IChjID09ICdcbicgJiYgbmV4dCAhPSAnXHInKSkKKwl1bmdldGMgKG5leHQsIGxhc3Rfb3Blbl9maWxlKTsKKyAgICB9CisKICAgaWYgKGMgPT0gRU9GKQogICAgIHsKICAgICAgIGZpbGUtPmF0X2VuZCA9IDE7CkBAIC0xMTAwLDcgKzExMTMsNyBAQAogICBpbnQgcG9zID0gc3RybGVuIChmaWVsZF9uYW1lKTsKICAgY2hhciAqKnA7CiAKLSAgZnByaW50ZiAobGlzdF9maWxlLCBmaWVsZF9uYW1lKTsKKyAgZnB1dHMgKGZpZWxkX25hbWUsIGxpc3RfZmlsZSk7CiAgIGZvciAocCA9ICZhcmd2WzFdOyAqcCAhPSBOVUxMOyBwKyspCiAgICAgaWYgKCoqcCA9PSAnLScpCiAgICAgICB7CmRpZmYgLS1naXQgYS9nYXMvcG8vaWQucG8gYi9nYXMvcG8vaWQucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2M2Y2Q1OAotLS0gL2Rldi9udWxsCisrKyBiL2dhcy9wby9pZC5wbwpAQCAtMCwwICsxLDE1MzEwIEBACisjIFBlc2FuIEJhaGFzYSBJbmRvbmVzaWEgdW50dWsgR0FTCisjIENvcHlyaWdodCAoQykgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGJpbnV0aWxzIHBhY2thZ2UuCisjIEFyaWYgRS4gTnVncm9obyA8YXJpZl9lbmRyb0B5YWhvby5jb20+LCAyMDA4LgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogZ2FzIDIuMTguOTBcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWJpbnV0aWxzQGdudS5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOC0wOS0wOSAxNTo1NiswOTMwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0xMC0xNiAxMDowMCswNzAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBBcmlmIEUuIE51Z3JvaG8gPGFyaWZfZW5kcm9AeWFob28uY29tPlxuIgorIkxhbmd1YWdlLVRlYW06IEluZG9uZXNpYW4gPHRyYW5zbGF0aW9uLXRlYW0taWRAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisKKyM6IGFwcC5jOjQ4OCBhcHAuYzo1MDIKK21zZ2lkICJlbmQgb2YgZmlsZSBpbiBjb21tZW50IgorbXNnc3RyICJha2hpciBkYXJpIGJlcmthcyBkYWxhbSBrb21lbnRhciIKKworIzogYXBwLmM6NTgwIGFwcC5jOjYyNworIywgYy1mb3JtYXQKK21zZ2lkICJlbmQgb2YgZmlsZSBpbiBzdHJpbmc7ICclYycgaW5zZXJ0ZWQiCittc2dzdHIgImFraGlyIGRhcmkgYmVya2FzIGRhbGFtIHN0cmluZzsgJyVjJyBkaW1hc3VrYW4iCisKKyM6IGFwcC5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSAnXFwlYycgaW4gc3RyaW5nOyBpZ25vcmVkIgorbXNnc3RyICJlc2NhcGUgJ1xcJWMnIHRpZGFrIGRpa2VuYWwgZGFsYW0gc3RyaW5nOyBkaWFiYWlrYW4iCisKKyM6IGFwcC5jOjgxNgorbXNnaWQgImVuZCBvZiBmaWxlIG5vdCBhdCBlbmQgb2YgYSBsaW5lOyBuZXdsaW5lIGluc2VydGVkIgorbXNnc3RyICJha2hpciBkYXJpIGJlcmthcyBidWthbiBkaSBha2hpciBkYXJpIGJhcmlzOyBiYXJpcy1iYXJ1IGRpbWFzdWthbiIKKworIzogYXBwLmM6OTczCittc2dpZCAiZW5kIG9mIGZpbGUgaW4gbXVsdGlsaW5lIGNvbW1lbnQiCittc2dzdHIgImFraGlyIGRhcmkgYmVya2FzIGRhbGFtIG11bHRpLWJhcmlzIGtvbWVudGFyIgorCisjOiBhcHAuYzoxMDQ2Cittc2dpZCAiZW5kIG9mIGZpbGUgYWZ0ZXIgYSBvbmUtY2hhcmFjdGVyIHF1b3RlOyBcXDAgaW5zZXJ0ZWQiCittc2dzdHIgImFraGlyIGRhcmkgYmVya2FzIHNlc3VkYWggc2F0dS1rYXJhdGVyIHF1b3RlOyBcXDAgZGltYXN1a2FuIgorCisjOiBhcHAuYzoxMDU0Cittc2dpZCAiZW5kIG9mIGZpbGUgaW4gZXNjYXBlIGNoYXJhY3RlciIKK21zZ3N0ciAiYWtoaXIgZGFyaSBiZXJrYXMgZGFsYW0ga2FyYWt0ZXIgZXNjYXBlIgorCisjOiBhcHAuYzoxMDY2Cittc2dpZCAibWlzc2luZyBjbG9zZSBxdW90ZTsgKGFzc3VtZWQpIgorbXNnc3RyICJoaWxhbmcgY2xvc2UgcXVvdGU7IChkaWFzdW1zaWthbikiCisKKyM6IGFwcC5jOjExMzUgYXBwLmM6MTE5MCBhcHAuYzoxMjAxIGFwcC5jOjEyNzUKK21zZ2lkICJlbmQgb2YgZmlsZSBpbiBjb21tZW50OyBuZXdsaW5lIGluc2VydGVkIgorbXNnc3RyICJha2hpciBkYXJpIGJlcmthcyBkYWxhbSBrb21lbnRhcjsgYmFyaXMtYmFydSBkaW1hc3VrYW4iCisKKyM6IGFzLmM6MTU4Cittc2dpZCAibWlzc2luZyBlbXVsYXRpb24gbW9kZSBuYW1lIgorbXNnc3RyICJoaWxhbmcgbmFtYSBtb2RlIGVtdWxhc2kiCisKKyM6IGFzLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBlbXVsYXRpb24gbmFtZSBgJXMnIgorbXNnc3RyICJuYW1hIGVtdWxhc2kgYCVzJyB0aWRhayBkaWtlbmFsIgorCisjOiBhcy5jOjIyMAorIywgYy1mb3JtYXQKK21zZ2lkICJHTlUgYXNzZW1ibGVyIHZlcnNpb24gJXMgKCVzKSB1c2luZyBCRkQgdmVyc2lvbiAlc1xuIgorbXNnc3RyICJHTlUgYXNzZW1ibGVyIHZlcnNpICVzICglcykgbWVuZ2d1bmFrYW4gQkZEIHZlcnNpICVzXG4iCisKKyM6IGFzLmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uLi4uXSBbYXNtZmlsZS4uLl1cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW29wc2kuLi5dIFthc21maWxlLi4uXVxuIgorCisjOiBhcy5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgIC1hW3N1Yi1vcHRpb24uLi5dXHQgIHR1cm4gb24gbGlzdGluZ3NcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgXHQgIFN1Yi1vcHRpb25zIFtkZWZhdWx0IGhsc106XG4iCisiICAgICAgICAgICAgICAgICAgICAgIFx0ICBjICAgICAgb21pdCBmYWxzZSBjb25kaXRpb25hbHNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgXHQgIGQgICAgICBvbWl0IGRlYnVnZ2luZyBkaXJlY3RpdmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgIFx0ICBnICAgICAgaW5jbHVkZSBnZW5lcmFsIGluZm9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgXHQgIGggICAgICBpbmNsdWRlIGhpZ2gtbGV2ZWwgc291cmNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgIFx0ICBsICAgICAgaW5jbHVkZSBhc3NlbWJseVxuIgorIiAgICAgICAgICAgICAgICAgICAgICBcdCAgbSAgICAgIGluY2x1ZGUgbWFjcm8gZXhwYW5zaW9uc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBcdCAgbiAgICAgIG9taXQgZm9ybXMgcHJvY2Vzc2luZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBcdCAgcyAgICAgIGluY2x1ZGUgc3ltYm9sc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBcdCAgPUZJTEUgIGxpc3QgdG8gRklMRSAobXVzdCBiZSBsYXN0IHN1Yi1vcHRpb24pXG4iCittc2dzdHIgIiIKKyJPcHNpOlxuIgorIiAgLWFbc3ViLW9wc2kuLi5dXHQgICAgYWt0aWZrYW4gbGlzdGluZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBcdCAgU3ViLW9wc2kgW2RlZmF1bHQgaGxzXTpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgXHQgIGMgICAgICBhYmFpa2FuIGtvbmRpc2lvbmFsIHNhbGFoXG4iCisiICAgICAgICAgICAgICAgICAgICAgIFx0ICBkICAgICAgYWJhaWthbiBkZWJ1Z2dpbmcgZGlyZWt0aWZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgXHQgIGcgICAgICBtYXN1a2FuIGluZm9ybWFzaSB1bXVtXG4iCisiICAgICAgICAgICAgICAgICAgICAgIFx0ICBoICAgICAgbWFzdWthbiBzdW1iZXIgdGluZ2thdC10aW5nZ2lcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgXHQgIGwgICAgICBtYXN1a2FuIGFzc2VtYmx5XG4iCisiICAgICAgICAgICAgICAgICAgICAgIFx0ICBtICAgICAgbWFzdWthbiBla3NwYW5zaSBtYWNyb1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBcdCAgbiAgICAgIGFiYWlrYW4gcGVtcm9zZXNhbiBmb3JtXG4iCisiICAgICAgICAgICAgICAgICAgICAgIFx0ICBzICAgICAgbWFzdWthbiBzaW1ib2xcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgXHQgID1GSUxFICBkYWZ0YXIgZGFyaSBCRVJLQVMgKGhhcnVzIGFraGlyIGRhcmkgc3ViLW9wc2kpXG4iCisKKyM6IGFzLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1hbHRlcm5hdGUgICAgICAgICAgICAgaW5pdGlhbGx5IHR1cm4gb24gYWx0ZXJuYXRlIG1hY3JvIHN5bnRheFxuIgorbXNnc3RyICIgIC0tYWx0ZXJuYXRlICAgICAgICAgICAgIGluaXNpYWxpc2FzaSBha3RpZmthbiBhbHRlcm5hdGlmIHNpbnRheCBtYWNyb1xuIgorCisjOiBhcy5jOjI0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1EICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y2UgYXNzZW1ibGVyIGRlYnVnZ2luZyBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1EICAgICAgICAgICAgICAgICAgICAgIGhhc2lsa2FuIHBlc2FuIGRlYnVnIGFzc2VtYmxlclxuIgorCisjOiBhcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tZGVidWctcHJlZml4LW1hcCBPTEQ9TkVXICBNYXAgT0xEIHRvIE5FVyBpbiBkZWJ1ZyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgIC0tZGVidWctcHJlZml4LW1hcCBMQU1BPUJBUlUgIFBldGEgTEFNQSBrZSBCQVJVIGRhbGFtIGluZm9ybWFzaSBkZWJ1Z1xuIgorCisjOiBhcy5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tZGVmc3ltIFNZTT1WQUwgICAgICAgIGRlZmluZSBzeW1ib2wgU1lNIHRvIGdpdmVuIHZhbHVlXG4iCittc2dzdHIgIiAgLS1kZWZzeW0gU1VNPVZBTCAgICAgICAgZGVmaW5pc2lrYW4gc2ltYm9sIFNJTSBrZSBuaWxhaSB5YW5nIGRpYmVyaWthblxuIgorCisjOiBhcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgIGVtdWxhdGUgb3V0cHV0IChkZWZhdWx0ICVzKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgIGVtdWxhc2lrYW4ga2VsdWFyYW4gKGRlZmF1bHQgJXMpXG4iCisKKyM6IGFzLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1leGVjc3RhY2sgICAgICAgICAgICAgcmVxdWlyZSBleGVjdXRhYmxlIHN0YWNrIGZvciB0aGlzIG9iamVjdFxuIgorbXNnc3RyICIgIC0tZXhlY3N0YWNrICAgICAgICAgICAgIG1lbWJ1dHVoa2FuIGV4ZWN1dGFibGUgc3RhY2sgdW50dWsgb2JqZWsgaW5pXG4iCisKKyM6IGFzLmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1ub2V4ZWNzdGFjayAgICAgICAgICAgZG9uJ3QgcmVxdWlyZSBleGVjdXRhYmxlIHN0YWNrIGZvciB0aGlzIG9iamVjdFxuIgorbXNnc3RyICIgIC0tbm9uZXhlY3N0YWNrICAgICAgICAgICB0aWRhayBtZW1idXR1aGthbiBleGVjdXRhYmxlIHN0YWNrIHVudHVrIG9iamVrIGluaVxuIgorCisjOiBhcy5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1mICAgICAgICAgICAgICAgICAgICAgIHNraXAgd2hpdGVzcGFjZSBhbmQgY29tbWVudCBwcmVwcm9jZXNzaW5nXG4iCittc2dzdHIgIiAgLWYgICAgICAgICAgICAgICAgICAgICAgbGV3YXRpIHdoaXRlc3BhY2UgZGFuIHBlbXJvc2VzIGtvbWVudGFyXG4iCisKKyM6IGFzLmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLWcgLS1nZW4tZGVidWcgICAgICAgICAgZ2VuZXJhdGUgZGVidWdnaW5nIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLWcgLS1nZW4tZGVidWcgICAgICAgICAgIGhhc2lsa2FuIGluZm9ybWFzaSBkZWJ1Z1xuIgorCisjOiBhcy5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tZ3N0YWJzICAgICAgICAgICAgICAgIGdlbmVyYXRlIFNUQUJTIGRlYnVnZ2luZyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgIC0tZ3N0YWJzICAgICAgICAgICAgICAgIGhhc2lsa2FuIGluZm9ybWFzaSBTVEFCIGRlYnVnXG4iCisKKyM6IGFzLmM6MjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1nc3RhYnMrICAgICAgICAgICAgICAgZ2VuZXJhdGUgU1RBQlMgZGVidWcgaW5mbyB3aXRoIEdOVSBleHRlbnNpb25zXG4iCittc2dzdHIgIiAgLS1nc3RhYnMrICAgICAgICAgICAgICAgaGFzaWxrYW4gaW5mb3JtYXNpIGRlYnVnIFNUQUJTIGRlbmdhbiBla3N0ZW5zaSBHTlVcbiIKKworIzogYXMuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLWdkd2FyZi0yICAgICAgICAgICAgICBnZW5lcmF0ZSBEV0FSRjIgZGVidWdnaW5nIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLS1nZHdhcmYtMiAgICAgICAgICAgICAgaGFzaWxrYW4gRFdBUkYyIGluZm9ybWFzaSBkZWJ1Z1xuIgorCisjOiBhcy5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0taGFzaC1zaXplPTx2YWx1ZT4gICAgIHNldCB0aGUgaGFzaCB0YWJsZSBzaXplIGNsb3NlIHRvIDx2YWx1ZT5cbiIKK21zZ3N0ciAiICAtLWhhc2gtc2l6ZT08bmlsYWk+ICAgICBzZXQgdWt1cmFuIHRhYmVsIGhhc2ggbWVuZGVrYXRpIGtlIDxuaWxhaT5cbiIKKworIzogYXMuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLWhlbHAgICAgICAgICAgICAgICAgICBzaG93IHRoaXMgbWVzc2FnZSBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC0taGVscCAgICAgICAgICAgICAgICAgIHRhbXBpbGthbiBwZXNhbiBpbmkgZGFuIGtlbHVhclxuIgorCisjOiBhcy5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tdGFyZ2V0LWhlbHAgICAgICAgICAgIHNob3cgdGFyZ2V0IHNwZWNpZmljIG9wdGlvbnNcbiIKK21zZ3N0ciAiICAtLXRhcmdldC1oZWxwICAgICAgICAgICB0YW1waWxrYW4gb3BzaSBzcGVzaWZpayB0YXJnZXRcbiIKKworIzogYXMuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtSSBESVIgICAgICAgICAgICAgICAgICBhZGQgRElSIHRvIHNlYXJjaCBsaXN0IGZvciAuaW5jbHVkZSBkaXJlY3RpdmVzXG4iCittc2dzdHIgIiAgLUkgRElSICAgICAgICAgICAgICAgICAgdGFtYmFoa2FuIERJUiBrZSBkYWZ0YXIgcGVuY2FyaWFuIHVudHVrIGRpcmVrdGlmIC5pbmNsdWRlXG4iCisKKyM6IGFzLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLUogICAgICAgICAgICAgICAgICAgICAgZG9uJ3Qgd2FybiBhYm91dCBzaWduZWQgb3ZlcmZsb3dcbiIKK21zZ3N0ciAiICAtSiAgICAgICAgICAgICAgICAgICAgICBqYW5nYW4gcGVyaW5nYXRrYW4gdGVudGFuZyBzaWduZWQgb3ZlcmZsb3dcbiIKKworIzogYXMuYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtSyAgICAgICAgICAgICAgICAgICAgICB3YXJuIHdoZW4gZGlmZmVyZW5jZXMgYWx0ZXJlZCBmb3IgbG9uZyBkaXNwbGFjZW1lbnRzXG4iCittc2dzdHIgIiAgLUsgICAgICAgICAgICAgICAgICAgICAgcGVyaW5nYXRrYW4ga2V0aWthIHBlcmJlZGFhbiBtZW5ndWJhaCB1bnR1ayBsb25nIGRpc3BsYWNlbWVudHNcbiIKKworIzogYXMuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtTCwtLWtlZXAtbG9jYWxzICAgICAgICBrZWVwIGxvY2FsIHN5bWJvbHMgKGUuZy4gc3RhcnRpbmcgd2l0aCBgTCcpXG4iCittc2dzdHIgIiAgLUwsLS1rZWVwLWxvY2FscyAgICAgICAgamFnYSBzaW1ib2wgbG9rYWwgKGNvbnRvaCBkaW11bGFpIGRlbmdhbiBgTCcpXG4iCisKKyM6IGFzLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLU0sLS1tcmkgICAgICAgICAgICAgICAgYXNzZW1ibGUgaW4gTVJJIGNvbXBhdGliaWxpdHkgbW9kZVxuIgorbXNnc3RyICIgIC1NLC0tbXJpICAgICAgICAgICAgICAgIGt1bXB1bGthbiBkYWxhbSBtb2RlIGtvbXBhYmlsaXRhcyBNUklcbiIKKworIzogYXMuYzozMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLU1EIEZJTEUgICAgICAgICAgICAgICB3cml0ZSBkZXBlbmRlbmN5IGluZm9ybWF0aW9uIGluIEZJTEUgKGRlZmF1bHQgbm9uZSlcbiIKK21zZ3N0ciAiICAtLU1EIEJFUktBUyAgICAgICAgICAgICB0dWxpcyBpbmZvcm1hc2kgZGVwZW5kZW5zaSBkYWxhbSBCRVJLQVMgKGJha3UgIGtvc29uZylcbiIKKworIzogYXMuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtbm9jcHAgICAgICAgICAgICAgICAgICBpZ25vcmVkXG4iCittc2dzdHIgIiAgLW5vY3BwICAgICAgICAgICAgICAgICAgZGlhYmFpa2FuXG4iCisKKyM6IGFzLmM6MzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLW8gT0JKRklMRSAgICAgICAgICAgICAgbmFtZSB0aGUgb2JqZWN0LWZpbGUgb3V0cHV0IE9CSkZJTEUgKGRlZmF1bHQgYS5vdXQpXG4iCittc2dzdHIgIiAgLW8gT0JKRklMRSAgICAgICAgICAgICAgbmFtYSBkYXJpIGJlcmthcy1vYmplayBtZW5nZWx1YXJrYW4gT0JKRklMRSAoYmFrdSBhLm91dClcbiIKKworIzogYXMuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtUiAgICAgICAgICAgICAgICAgICAgICBmb2xkIGRhdGEgc2VjdGlvbiBpbnRvIHRleHQgc2VjdGlvblxuIgorbXNnc3RyICIgIC1SICAgICAgICAgICAgICAgICAgICAgIGZvbGQgZGFlcmFoIGRhdGEga2VkYWxhbSBkYWVyYWggdGV4dFxuIgorCisjOiBhcy5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAtLXJlZHVjZS1tZW1vcnktb3ZlcmhlYWRzIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZmVyIHNtYWxsZXIgbWVtb3J5IHVzZSBhdCB0aGUgY29zdCBvZiBsb25nZXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VtYmx5IHRpbWVzXG4iCittc2dzdHIgIiIKKyIgIC0ta3VyYW5naS1tZW1vcnktb3ZlcmhlYWRzIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgbGViaWggc3VrYSBtZW5nZ3VuYWthbiBsZWJpaCBrZWNpbCBtZW1vcmkgZGVuZ2FuIGtvbnNla3VlbnNpXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3YWt0dSBwZXJha2l0YW4gbGViaWggbGFtYVxuIgorCisjOiBhcy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tc3RhdGlzdGljcyAgICAgICAgICAgIHByaW50IHZhcmlvdXMgbWVhc3VyZWQgc3RhdGlzdGljcyBmcm9tIGV4ZWN1dGlvblxuIgorbXNnc3RyICIgIC0tc3RhdGlzdGljcyAgICAgICAgICAgIHRhbXBpbGthbiBiZXJiYWdhaSBzdGF0aXN0aWsgeWFuZyBkaXVrdXIgZGFyaSBla3Nla3VzaVxuIgorCisjOiBhcy5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tc3RyaXAtbG9jYWwtYWJzb2x1dGUgIHN0cmlwIGxvY2FsIGFic29sdXRlIHN5bWJvbHNcbiIKK21zZ3N0ciAiICAtLXN0cmlwLWxvY2FsLWFic29sdXRlICBzdHJpcCBsb2NhbCBhYnNvbHV0ZSBzeW1ib2xzXG4iCisKKyM6IGFzLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS10cmFkaXRpb25hbC1mb3JtYXQgICAgVXNlIHNhbWUgZm9ybWF0IGFzIG5hdGl2ZSBhc3NlbWJsZXIgd2hlbiBwb3NzaWJsZVxuIgorbXNnc3RyICIgIC0tdHJhZGl0aW9uYWwtZm9ybWF0ICAgIEd1bmFrYW4gZm9ybWF0IHNhbWEgc2VwZXJ0aSBuYXRpdmUgYXNzZW1ibGVyIGtldGlrYSBtZW11bmdraW5rYW5cbiIKKworIzogYXMuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLXZlcnNpb24gICAgICAgICAgICAgICBwcmludCBhc3NlbWJsZXIgdmVyc2lvbiBudW1iZXIgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtLXZlcnNpb24gICAgICAgICAgICAgICB0YW1waWxrYW4gbm9tb3IgdmVyc2kgcGVyYWtpdCBkYW4ga2VsdWFyXG4iCisKKyM6IGFzLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLVcgIC0tbm8td2FybiAgICAgICAgICAgc3VwcHJlc3Mgd2FybmluZ3NcbiIKK21zZ3N0ciAiICAtVyAgLS1uby13YXJuICAgICAgICAgICB0ZWthbiBwZXJpbmdhdGFuXG4iCisKKyM6IGFzLmM6MzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS13YXJuICAgICAgICAgICAgICAgICAgZG9uJ3Qgc3VwcHJlc3Mgd2FybmluZ3NcbiIKK21zZ3N0ciAiICAtLXdhcm4gICAgICAgICAgICAgICAgICBqYW5nYW4gdGVrYW4gcGVyaW5nYXRhblxuIgorCisjOiBhcy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tZmF0YWwtd2FybmluZ3MgICAgICAgIHRyZWF0IHdhcm5pbmdzIGFzIGVycm9yc1xuIgorbXNnc3RyICIgIC0tZmF0YWwtd2FybmluZ3MgICAgICAgIHBlcmxha3VrYW4gcGVyaW5nYXRhbiBzZWJhZ2FpIGVycm9zXG4iCisKKyM6IGFzLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIC0taXRibCBJTlNUVEJMICAgICAgICAgIGV4dGVuZCBpbnN0cnVjdGlvbiBzZXQgdG8gaW5jbHVkZSBpbnN0cnVjdGlvbnNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoaW5nIHRoZSBzcGVjaWZpY2F0aW9ucyBkZWZpbmVkIGluIGZpbGUgSU5TVFRCTFxuIgorbXNnc3RyICIiCisiICAtLWl0YmwgSU5TVFRCTCAgICAgICAgICBla3N0ZW4gaW5zdHJ1a3NpIHNldCB0ZXJtYXN1ayBpbnN0cnVrc2lcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNvY29rIGRlbmdhbiBzcGVzaWZpa2FzaSB5YW5nIGRpZGVmaW5pc2lrYW4gZGFsYW0gYmVya2FzIElOU1RUQkxcbiIKKworIzogYXMuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtdyAgICAgICAgICAgICAgICAgICAgICBpZ25vcmVkXG4iCittc2dzdHIgIiAgLXcgICAgICAgICAgICAgICAgICAgICAgYWJhaWthblxuIgorCisjOiBhcy5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1YICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZWRcbiIKK21zZ3N0ciAiICAtWCAgICAgICAgICAgICAgICAgICAgICBhYmFpa2FuXG4iCisKKyM6IGFzLmM6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLVogICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUgb2JqZWN0IGZpbGUgZXZlbiBhZnRlciBlcnJvcnNcbiIKK21zZ3N0ciAiICAtWiAgICAgICAgICAgICAgICAgICAgICBoYXNpbGthbiBiZXJrYXMgb2JqZWsgd2FsYXVwdW4gc2V0ZWxhaCBlcnJvcnNcbiIKKworIzogYXMuYzozMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgLS1saXN0aW5nLWxocy13aWR0aCAgICAgc2V0IHRoZSB3aWR0aCBpbiB3b3JkcyBvZiB0aGUgb3V0cHV0IGRhdGEgY29sdW1uIG9mXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgbGlzdGluZ1xuIgorbXNnc3RyICIiCisiICAtLWxpc3RpbmctbGhzLXdpZHRoICAgICBzZXQgbGViYXIgZGFsYW0ga2F0YSBkYXJpIGtlbHVhcmFuIGRhdGEga29sb20gZGFyaVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdGluZ1xuIgorCisjOiBhcy5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAtLWxpc3RpbmctbGhzLXdpZHRoMiAgICBzZXQgdGhlIHdpZHRoIGluIHdvcmRzIG9mIHRoZSBjb250aW51YXRpb24gbGluZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSBvdXRwdXQgZGF0YSBjb2x1bW47IGlnbm9yZWQgaWYgc21hbGxlciB0aGFuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgd2lkdGggb2YgdGhlIGZpcnN0IGxpbmVcbiIKK21zZ3N0ciAiIgorIiAgLS1saXN0aW5nLWxocy13aWR0aDIgICAgc2V0IGxlYmFyIGRhcmkga2F0YSBkYXJpIGJhcmlzIGtlbGFuanV0YW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGRhcmkga29sb20ga2VsdWFyYW4gZGF0YTsgYWJhaWthbiBqaWthIGxlYmloIGtlY2lsIGRhcmlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGxlYmFyIGRhcmkgYmFyaXMgcGVydGFtYVxuIgorCisjOiBhcy5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAtLWxpc3RpbmctcmhzLXdpZHRoICAgICBzZXQgdGhlIG1heCB3aWR0aCBpbiBjaGFyYWN0ZXJzIG9mIHRoZSBsaW5lcyBmcm9tXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgc291cmNlIGZpbGVcbiIKK21zZ3N0ciAiIgorIiAgLS1saXN0aW5nLXJocy13aWR0aCAgICAgc2V0IGxlYmFyIG1ha3NpbWFsIGRhbGFtIGthcmFrdGVyIGRhcmkgYmFyaXMgZGFyaVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgYmVya2FzIHN1bWJlclxuIgorCisjOiBhcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAtLWxpc3RpbmctY29udC1saW5lcyAgICBzZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbnRpbnVhdGlvbiBsaW5lcyB1c2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgdGhlIG91dHB1dCBkYXRhIGNvbHVtbiBvZiB0aGUgbGlzdGluZ1xuIgorbXNnc3RyICIiCisiICAtLWxpc3RpbmctY29udC1saW5lcyAgICBzZXQganVtbGFoIG1ha3NpbWFsIGRhcmkgYmFyaXMga2VsYW5qdXRhbiB5YW5nIGRpZ3VuYWthblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdW50dWsga29sb20ga2VsdWFyYW4gZGF0YSBkYXJpIGxpc3RpbmdcbiIKKworIzogYXMuYzozNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBARklMRSAgICAgICAgICAgICAgICAgICByZWFkIG9wdGlvbnMgZnJvbSBGSUxFXG4iCittc2dzdHIgIiAgQEJFUktBUyAgICAgICAgICAgICAgICAgYmFjYSBvcHNpIGRhcmkgQkVSS0FTXG4iCisKKyM6IGFzLmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlcG9ydCBidWdzIHRvICVzXG4iCittc2dzdHIgIkxhcG9ya2FuIGJ1Z3Mga2UgJXNcbiIKKworIzogYXMuYzo1NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAtJWMlcyIKK21zZ3N0ciAib3BzaSB0aWRhayBkaWtlbmFsIC0lYyVzIgorCisjLiBUaGlzIG91dHB1dCBpcyBpbnRlbmRlZCB0byBmb2xsb3cgdGhlIEdOVSBzdGFuZGFyZHMgZG9jdW1lbnQuCisjOiBhcy5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJHTlUgYXNzZW1ibGVyICVzXG4iCittc2dzdHIgIkdOVSBwZXJha2l0ICVzXG4iCisKKyM6IGFzLmM6NjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgorbXNnc3RyICJIYWsgY2lwdGEgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKKworIzogYXMuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgbWF5IHJlZGlzdHJpYnV0ZSBpdCB1bmRlciB0aGUgdGVybXMgb2ZcbiIKKyJ0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzIG9yIGxhdGVyLlxuIgorIlRoaXMgcHJvZ3JhbSBoYXMgYWJzb2x1dGVseSBubyB3YXJyYW50eS5cbiIKK21zZ3N0ciAiIgorIkFwbGlrYXNpIGluaSBhZGFsYWggcGVyYW5na2F0IGx1bmFrIGJlYmFzOyBhbmRhIGJvbGVoIG1lbmRpc3RyaWJ1c2lrYW5ueWEgZGliYXdhaCBrZXRlbnR1YW4gZGFyaVxuIgorIkxpc2Vuc2kgVW11bSBQdWJsaWsgR05VIHZlcnNpIDMgYXRhdSBsZWJpaCBsYW5qdXQuXG4iCisiQXBsaWthc2kgaW5pIHRpZGFrIG1lbWlsaWtpIGdhcmFuc2kgYXBhcHVuLlxuIgorCisjOiBhcy5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFzc2VtYmxlciB3YXMgY29uZmlndXJlZCBmb3IgYSB0YXJnZXQgb2YgYCVzJy5cbiIKK21zZ3N0ciAiUGVyYWtpdCBpbmkgZGlrb25maWd1cmFzaWthbiB1bnR1ayBzZWJ1YWggdGFyZ2V0IGRhcmkgYCVzJy5cbiIKKworIzogYXMuYzo2MTUKK21zZ2lkICJtdWx0aXBsZSBlbXVsYXRpb24gbmFtZXMgc3BlY2lmaWVkIgorbXNnc3RyICJtdWx0aXBsZSBuYW1hIGVtdWxhc2kgZGlzcGVzaWZpa2FzaWthbiIKKworIzogYXMuYzo2MTcKK21zZ2lkICJlbXVsYXRpb25zIG5vdCBoYW5kbGVkIGluIHRoaXMgY29uZmlndXJhdGlvbiIKK21zZ3N0ciAiZW11bGFzaSB0aWRhayBkaXRhbmdhbmkgZGFsYW0ga29uZmlndXJhc2kgaW5pIgorCisjOiBhcy5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJhbGlhcyA9ICVzXG4iCittc2dzdHIgImFsaWFzID0gJXNcbiIKKworIzogYXMuYzo2MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fub25pY2FsID0gJXNcbiIKK21zZ3N0ciAia2Fub25pa2FsID0gJXNcbiIKKworIzogYXMuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3B1LXR5cGUgPSAlc1xuIgorbXNnc3RyICJ0aXBlLWNwdSA9ICVzXG4iCisKKyM6IGFzLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdCA9ICVzXG4iCittc2dzdHIgImZvcm1hdCA9ICVzXG4iCisKKyM6IGFzLmM6NjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImJmZC10YXJnZXQgPSAlc1xuIgorbXNnc3RyICJ0YXJnZXQtYmZkID0gJXNcbiIKKworIzogYXMuYzo2NDYKK21zZ2lkICJiYWQgZGVmc3ltOyBmb3JtYXQgaXMgLS1kZWZzeW0gbmFtZT12YWx1ZSIKK21zZ3N0ciAiYmFkIGRlZnN5bTsgZm9ybWF0IGFkYWxhaCAtLWRlZnN5bSBuYW1hPW5pbGFpIgorCisjOiBhcy5jOjY2NgorbXNnaWQgIm5vIGZpbGUgbmFtZSBmb2xsb3dpbmcgLXQgb3B0aW9uIgorbXNnc3RyICJ0aWRhayBhZGEgbmFtYSBiZXJrYXMgbWVuZ2lrdXRpIG9wc2kgLXQiCisKKyM6IGFzLmM6NjgxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIGluc3RydWN0aW9uIHRhYmxlICVzXG4iCittc2dzdHIgImdhZ2FsIHVudHVrIG1lbWJhY2EgdGFiZWwgaW5zdHJ1a3NpICVzXG4iCisKKyM6IGFzLmM6ODUyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbGlzdGluZyBvcHRpb24gYCVjJyIKK21zZ3N0ciAib3BzaSBsaXN0aW5nIGAlYycgdGlkYWsgdmFsaWQiCisKKyM6IGFzLmM6OTA1Cittc2dpZCAiLS1oYXNoLXNpemUgbmVlZHMgYSBudW1lcmljIGFyZ3VtZW50IgorbXNnc3RyICItLWhhc2gtc2l6ZSBtZW1idXR1aGthbiBzZWJ1YWggYXJndW1lbiBudW1lcmlrIgorCisjOiBhcy5jOjkzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG90YWwgdGltZSBpbiBhc3NlbWJseTogJWxkLiUwNmxkXG4iCittc2dzdHIgIiVzOiB0b3RhbCB3YWt0dSBkYWxhbSBwZXJha2l0YW46ICVsZC4lMDZsZFxuIgorCisjOiBhcy5jOjkzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGF0YSBzaXplICVsZFxuIgorbXNnc3RyICIlczogdWt1cmFuIGRhdGEgJWxkXG4iCisKKyM6IGFzLmM6MTI0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB3YXJuaW5ncywgdHJlYXRpbmcgd2FybmluZ3MgYXMgZXJyb3JzIgorbXNnc3RyICIlZCBwZXJpbmdhdGFuLCBtZW1wZXJsYWt1a2FuIHBlcmluZ2F0YW4gc2ViYWdhaSBlcnJvcnMiCisKKyM6IGFzLmg6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhc2UgdmFsdWUgJWxkIHVuZXhwZWN0ZWQgYXQgbGluZSAlZCBvZiBmaWxlIFwiJXNcIlxuIgorbXNnc3RyICJNYXNhbGFoIG5pbGFpICVsZCB0aWRhayBkaWR1Z2EgZGkgYmFyaXMgJWQgZGFyaSBiZXJrYXMgXCIlc1wiXG4iCisKKyMuCisjLiAqIFdlIGhhdmUgYSBHUk9TUyBpbnRlcm5hbCBlcnJvci4KKyMuICogVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLgorIy4KKyM6IGF0b2YtZ2VuZXJpYy5jOjQxNyBjb25maWcvdGMtbTY4ay5jOjMzOTYKK21zZ2lkICJmYWlsZWQgc2FuaXR5IGNoZWNrIgorbXNnc3RyICJnYWdhbCBwZW1lcmlrc2FhbiBrZWFkYWFuIgorCisjOiBjZ2VuLmM6MTEzIGNvbmZpZy90Yy1hbHBoYS5jOjE5MjYgY29uZmlnL3RjLWFscGhhLmM6MTk1MAorIzogY29uZmlnL3RjLWFyYy5jOjE2ODEgY29uZmlnL3RjLWQxMHYuYzo1NTAgY29uZmlnL3RjLWQzMHYuYzo1MzgKKyM6IGNvbmZpZy90Yy1tbjEwMjAwLmM6MTEwMCBjb25maWcvdGMtbW4xMDMwMC5jOjE3NDkgY29uZmlnL3RjLXBwYy5jOjI1MTAKKyM6IGNvbmZpZy90Yy1wcGMuYzoyNzM0IGNvbmZpZy90Yy1wcGMuYzoyNzQ2IGNvbmZpZy90Yy1zMzkwLmM6MTIwMQorIzogY29uZmlnL3RjLXMzOTAuYzoxMzAxIGNvbmZpZy90Yy1zMzkwLmM6MTQzMCBjb25maWcvdGMtdjg1MC5jOjE3MzAKKyM6IGNvbmZpZy90Yy12ODUwLmM6MTc1MyBjb25maWcvdGMtdjg1MC5jOjE5NTYKK21zZ2lkICJ0b28gbWFueSBmaXh1cHMiCittc2dzdHIgInRlcmxhbHUgYmFueWFrIHBlcmJhaWthbiIKKworIzogY2dlbi5jOjQwMCBjZ2VuLmM6NDIwIGNvbmZpZy90Yy1hcmMuYzoxNjYyIGNvbmZpZy90Yy1kMTB2LmM6NDYxCisjOiBjb25maWcvdGMtZDMwdi5jOjQ1MyBjb25maWcvdGMtbW4xMDIwMC5jOjEwNDIgY29uZmlnL3RjLW1uMTAzMDAuYzoxNjc0CisjOiBjb25maWcvdGMtcHBjLmM6MjU0OSBjb25maWcvdGMtczM5MC5jOjExODkgY29uZmlnL3RjLXY4NTAuYzoxOTMyCisjOiBjb25maWcvdGMtejgwLmM6NDIyCittc2dpZCAiaWxsZWdhbCBvcGVyYW5kIgorbXNnc3RyICJvcGVyYW4gdGlkYWsgbGVnYWwiCisKKyM6IGNnZW4uYzo0MjQgY29uZmlnL3RjLWFyYy5jOjE2NjQgY29uZmlnL3RjLWF2ci5jOjUzOSBjb25maWcvdGMtZDEwdi5jOjQ2MworIzogY29uZmlnL3RjLWQzMHYuYzo0NTUgY29uZmlnL3RjLWg4MzAwLmM6NDQ5IGNvbmZpZy90Yy1tY29yZS5jOjY2MgorIzogY29uZmlnL3RjLW1taXguYzo0ODggY29uZmlnL3RjLW1uMTAyMDAuYzoxMDQ1IGNvbmZpZy90Yy1tbjEwMzAwLmM6MTY3NworIzogY29uZmlnL3RjLW1zcDQzMC5jOjQ1MiBjb25maWcvdGMtb3IzMi5jOjMwNyBjb25maWcvdGMtcHBjLmM6MjU1MQorIzogY29uZmlnL3RjLXMzOTAuYzoxMTkxIGNvbmZpZy90Yy1zaC5jOjEzNTkgY29uZmlnL3RjLXNoNjQuYzoyMjEzCisjOiBjb25maWcvdGMtdjg1MC5jOjE5MzUgY29uZmlnL3RjLXo4MC5jOjU3NSBjb25maWcvdGMtejhrLmM6MzUwCittc2dpZCAibWlzc2luZyBvcGVyYW5kIgorbXNnc3RyICJvcGVyYW4gaGlsYW5nIgorCisjOiBjZ2VuLmM6Nzk4Cittc2dpZCAiYSByZWxvYyBvbiB0aGlzIG9wZXJhbmQgaW1wbGllcyBhbiBvdmVyZmxvdyIKK21zZ3N0ciAic2VidWFoIHJlbG9rYXNpIGRpIG9wZXJhbiBpbmkgbWVuZ2luZGlrYXNpa2FuIHNlYnVhaCBvdmVyZmxvdyIKKworIzogY2dlbi5jOjgyMQorbXNnaWQgIm9wZXJhbmQgbWFzayBvdmVyZmxvdyIKK21zZ3N0ciAib3BlcmFuIG1hc2sgb3ZlcmZsb3ciCisKKyMuIFdlIGNhbid0IGFjdHVhbGx5IHN1cHBvcnQgc3VidHJhY3RpbmcgYSBzeW1ib2wuCisjOiBjZ2VuLmM6ODg0IGNvbmZpZy90Yy1hcmMuYzoxMjQ3IGNvbmZpZy90Yy1hcm0uYzoxNTI3IGNvbmZpZy90Yy1hcm0uYzo4MTgyCisjOiBjb25maWcvdGMtYXJtLmM6ODIzMyBjb25maWcvdGMtYXJtLmM6ODQ2NiBjb25maWcvdGMtYXJtLmM6OTE4OQorIzogY29uZmlnL3RjLWFybS5jOjk5OTIgY29uZmlnL3RjLWFybS5jOjEwMDIwIGNvbmZpZy90Yy1hcm0uYzoxMDI3OAorIzogY29uZmlnL3RjLWFybS5jOjEwMjk1IGNvbmZpZy90Yy1hcm0uYzoxMDQxNyBjb25maWcvdGMtYXZyLmM6MTA1NworIzogY29uZmlnL3RjLWNyaXMuYzozOTg0IGNvbmZpZy90Yy1kMTB2LmM6MTUwMiBjb25maWcvdGMtZDMwdi5jOjE5MDMKKyM6IGNvbmZpZy90Yy1taXBzLmM6NDM0NiBjb25maWcvdGMtbWlwcy5jOjU0NzAgY29uZmlnL3RjLW1pcHMuYzo2NDA4CisjOiBjb25maWcvdGMtbWlwcy5jOjY5ODQgY29uZmlnL3RjLW1zcDQzMC5jOjE5MzcgY29uZmlnL3RjLXBwYy5jOjU2NjEKKyM6IGNvbmZpZy90Yy1zcHUuYzo5MDcgY29uZmlnL3RjLXNwdS5jOjkzMSBjb25maWcvdGMtdjg1MC5jOjIyNzEKKyM6IGNvbmZpZy90Yy14c3Rvcm15MTYuYzo0ODQgY29uZmlnL3RjLXh0ZW5zYS5jOjU3NTYgY29uZmlnL3RjLXh0ZW5zYS5jOjExNjk3Cittc2dpZCAiZXhwcmVzc2lvbiB0b28gY29tcGxleCIKK21zZ3N0ciAiZWtzcHJlc2kgdGVybGFsdSBrb21wbGVrcyIKKworIzogY2dlbi5jOjk3OCBjb25maWcvdGMtYXJjLmM6MTMwOCBjb25maWcvdGMtcHBjLmM6NTc4NiBjb25maWcvdGMtczM5MC5jOjIwMDYKKyM6IGNvbmZpZy90Yy12ODUwLmM6MjMxMSBjb25maWcvdGMteHN0b3JteTE2LmM6NTM4Cittc2dpZCAidW5yZXNvbHZlZCBleHByZXNzaW9uIHRoYXQgbXVzdCBiZSByZXNvbHZlZCIKK21zZ3N0ciAiZWtzcHJlc2kgdGlkYWsgdGVyc2VsZXNhaWthbiBoYXJ1cyBkaXNlbGVzYWlrYW4iCisKKyM6IGNnZW4uYzoxMDAzIGNvbmZpZy90Yy14c3Rvcm15MTYuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNhbid0IGluc3RhbGwgZml4IGZvciByZWxvYyB0eXBlICVkIChgJXMnKSIKK21zZ3N0ciAiaW50ZXJuYWwgZXJyb3I6IHRpZGFrIGRhcGF0IG1lbWFzYW5nIGZpeCB1bnR1ayB0aXBlIHJlbG9rYXNpICVkIChgJXMnKSIKKworIzogY2dlbi5jOjEwMzMKK21zZ2lkICJyZWxvY2F0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgInJlbG9rYXNpIHRpZGFrIGRpZHVrdW5nIgorCisjOiBjb25kLmM6ODMKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXIgZm9yIFwiLmlmZGVmXCIiCittc2dzdHIgImlkZW50aWZpZXIgdGlkYWsgdmFsaWQgdW50dWsgXCIuaWZkZWZcIiIKKworIzogY29uZC5jOjE1MAorbXNnaWQgIm5vbi1jb25zdGFudCBleHByZXNzaW9uIGluIFwiLmlmXCIgc3RhdGVtZW50IgorbXNnc3RyICJidWthbi1rb25zdGFuIGVrc3ByZXNpIGRhbGFtIHBlcm55YXRhYW4gXCIuaWZcIiIKKworIzogY29uZC5jOjI3NworbXNnaWQgImJhZCBmb3JtYXQgZm9yIGlmYyBvciBpZm5jIgorbXNnc3RyICJmb3JtYXQgYnVydWsgdW50dWsgaWZjIGF0YXUgaWZuYyIKKworIzogY29uZC5jOjMwNworbXNnaWQgIlwiLmVsc2VpZlwiIHdpdGhvdXQgbWF0Y2hpbmcgXCIuaWZcIiIKK21zZ3N0ciAiXCIuZWxzZWlmXCIgdGFucGEgcGVuY29jb2thbiBcIi5pZlwiIgorCisjOiBjb25kLmM6MzExCittc2dpZCAiXCIuZWxzZWlmXCIgYWZ0ZXIgXCIuZWxzZVwiIgorbXNnc3RyICJcIi5lbHNlaWZcIiBzZXN1ZGFoIFwiLmVsc2VcIiIKKworIzogY29uZC5jOjMxNCBjb25kLmM6NDIwCittc2dpZCAiaGVyZSBpcyB0aGUgcHJldmlvdXMgXCJlbHNlXCIiCittc2dzdHIgImRpc2luaSBhZGFsYWggc2ViZWx1bSBcImVsc2VcIiIKKworIzogY29uZC5jOjMxNyBjb25kLmM6NDIzCittc2dpZCAiaGVyZSBpcyB0aGUgcHJldmlvdXMgXCJpZlwiIgorbXNnc3RyICJkaXNpbmkgYWRhbGFoIHNlYmVsdW0gXCJpZlwiIgorCisjOiBjb25kLmM6MzQ2Cittc2dpZCAibm9uLWNvbnN0YW50IGV4cHJlc3Npb24gaW4gXCIuZWxzZWlmXCIgc3RhdGVtZW50IgorbXNnc3RyICJidWthbi1rb25zdGFuIGVrc3ByZXNpIGRhbGFtIHBlcm55YXRhYW4gXCIuZWxzZWlmXCIiCisKKyM6IGNvbmQuYzozODQKK21zZ2lkICJcIi5lbmRpZlwiIHdpdGhvdXQgXCIuaWZcIiIKK21zZ3N0ciAiXCIuZW5kaWZcIiB0YW5wYSBcIi5pZlwiIgorCisjOiBjb25kLmM6NDEzCittc2dpZCAiXCIuZWxzZVwiIHdpdGhvdXQgbWF0Y2hpbmcgXCIuaWZcIiIKK21zZ3N0ciAiXCIuZWxzZVwiIHRhbnBhIHBlbmNvY29rYW4gXCIuaWZcIiIKKworIzogY29uZC5jOjQxNworbXNnaWQgImR1cGxpY2F0ZSBcImVsc2VcIiIKK21zZ3N0ciAiZHVwbGlrYXNpIFwiZWxzZVwiIgorCisjOiBjb25kLmM6NDY4Cittc2dpZCAiLmlmZXFzIHN5bnRheCBlcnJvciIKK21zZ3N0ciAiLmlmZXFzIHN5bnRheCBlcnJvciIKKworIzogY29uZC5jOjU0OQorbXNnaWQgImVuZCBvZiBtYWNybyBpbnNpZGUgY29uZGl0aW9uYWwiCittc2dzdHIgImVuZCBkYXJpIG1ha3JvIGRhbGFtIGtvbmRpc2lvbmFsIgorCisjOiBjb25kLmM6NTUxCittc2dpZCAiZW5kIG9mIGZpbGUgaW5zaWRlIGNvbmRpdGlvbmFsIgorbXNnc3RyICJlbmQgZGFyaSBiZXJrYXMgZGlkYWxhbSBrb25kaXNpb25hbCIKKworIzogY29uZC5jOjU1NAorbXNnaWQgImhlcmUgaXMgdGhlIHN0YXJ0IG9mIHRoZSB1bnRlcm1pbmF0ZWQgY29uZGl0aW9uYWwiCittc2dzdHIgImRpc2luaSBhZGFsYWggYXdhbCBkYXJpIGtvbmRpc2lvbmFsIHRpZGFrIHRlcnNlbGVzYWlrYW4iCisKKyM6IGNvbmQuYzo1NTgKK21zZ2lkICJoZXJlIGlzIHRoZSBcImVsc2VcIiBvZiB0aGUgdW50ZXJtaW5hdGVkIGNvbmRpdGlvbmFsIgorbXNnc3RyICJkaXNpbmkgYWRhbGFoIFwiZWxzZVwiIGRhcmkga29uZGlzaW9uYWwgdGlkYWsgdGVyc2VsZXNhaWthbiIKKworIzogY29uZmlnL2F0b2YtaWVlZS5jOjE0MQorbXNnaWQgImNhbm5vdCBjcmVhdGUgZmxvYXRpbmctcG9pbnQgbnVtYmVyIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWF0IG5vbW9yIGZsb2F0aW5nLXBvaW50IgorCisjOiBjb25maWcvYXRvZi1pZWVlLmM6Nzg0IGNvbmZpZy9hdG9mLXZheC5jOjQ1MCBjb25maWcvdGMtYXJtLmM6OTIzCisjOiBjb25maWcvdGMtaWE2NC5jOjExMzE2IGNvbmZpZy90Yy10aWMzMC5jOjEyNjEgY29uZmlnL3RjLXRpYzR4LmM6MjU5OAorbXNnaWQgIlVucmVjb2duaXplZCBvciB1bnN1cHBvcnRlZCBmbG9hdGluZyBwb2ludCBjb25zdGFudCIKK21zZ3N0ciAiVGlkYWsgZGlrZW5hbCBhdGF1IHRpZGFrIGRpZHVrdW5nIGtvbnN0YW50YSBmbG9hdGluZyBwb2ludCIKKworIzogY29uZmlnL29iai1hb3V0LmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXR0ZW1wdCB0byBwdXQgYSBjb21tb24gc3ltYm9sIGludG8gc2V0ICVzIgorbXNnc3RyICJNZW5jb2JhIHVudHVrIG1lbGV0YWthbiBzZWJ1YWggc2ltYm9sIHVtdW0ga2VkYWxhbSBzZXQgJXMiCisKKyM6IGNvbmZpZy9vYmotYW91dC5jOjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkF0dGVtcHQgdG8gcHV0IGFuIHVuZGVmaW5lZCBzeW1ib2wgaW50byBzZXQgJXMiCittc2dzdHIgIk1lbmNvYmEgdW50dWsgbWVsZXRha2FuIHNlYnVhaCBzaW1ib2wgdGlkYWsgdGVyZGVmaW5pc2kgZGFsYW0gc2V0ICVzIgorCisjOiBjb25maWcvb2JqLWFvdXQuYzoxMTYgY29uZmlnL29iai1jb2ZmLmM6MTMzOQorIywgYy1mb3JtYXQKK21zZ2lkICJTeW1ib2wgYCVzJyBjYW4gbm90IGJlIGJvdGggd2VhayBhbmQgY29tbW9uIgorbXNnc3RyICJTaW1ib2wgYCVzJyB0aWRhayBkYXBhdCBrZWR1YW55YSBsZW1haCBkYW4gdW11bSIKKworIzogY29uZmlnL29iai1jb2ZmLmM6MTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkluc2VydGluZyBcIiVzXCIgaW50byBzdHJ1Y3R1cmUgdGFibGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAiTWVtYXN1a2FuIFwiJXNcIiBrZWRhbGFtIHRhYmVsIHN0cnVrdHVyIGdhZ2FsOiAlcyIKKworIy4gWmVybyBpcyB1c2VkIGFzIGFuIGVuZCBtYXJrZXIgaW4gdGhlIGZpbGUuCisjOiBjb25maWcvb2JqLWNvZmYuYzozNjYKK21zZ2lkICJMaW5lIG51bWJlcnMgbXVzdCBiZSBwb3NpdGl2ZSBpbnRlZ2Vyc1xuIgorbXNnc3RyICJOb21vciBiYXJpcyBoYXJ1cyBiZXJ1cGEgaW50ZWdlciBwb3NpdGlmXG4iCisKKyM6IGNvbmZpZy9vYmotY29mZi5jOjM5OAorbXNnaWQgIi5sbiBwc2V1ZG8tb3AgaW5zaWRlIC5kZWYvLmVuZGVmOiBpZ25vcmVkLiIKK21zZ3N0ciAiLmxuIHBzZXVkby1vcCBkaWRhbGFtIC5kZWYvLmVuZGVmOyBkaWFiYWlrYW4uIgorCisjOiBjb25maWcvb2JqLWNvZmYuYzo0NDAgZWNvZmYuYzozMjQwCittc2dpZCAiLmxvYyBvdXRzaWRlIG9mIC50ZXh0IgorbXNnc3RyICIubG9jIGRpbHVhciBkYXJpIC50ZXh0IgorCisjOiBjb25maWcvb2JqLWNvZmYuYzo0NDcKK21zZ2lkICIubG9jIHBzZXVkby1vcCBpbnNpZGUgLmRlZi8uZW5kZWY6IGlnbm9yZWQuIgorbXNnc3RyICIubG9jIHBzZXVkby1vcCBkaWRhbGFtIC5kZWYvLmVuZGVmOiBkaWFiYWlrYW4uIgorCisjOiBjb25maWcvb2JqLWNvZmYuYzo1MjgKK21zZ2lkICIuZGVmIHBzZXVkby1vcCB1c2VkIGluc2lkZSBvZiAuZGVmLy5lbmRlZjogaWdub3JlZC4iCittc2dzdHIgIi5kZWYgcHNldWRvLW9wIGRpZ3VuYWthbiBkaWRhbGFtIGRhcmkgLmRlZi8uZW5kZWY6IGRpYWJhaWthbi4iCisKKyM6IGNvbmZpZy9vYmotY29mZi5jOjU2NworbXNnaWQgIi5lbmRlZiBwc2V1ZG8tb3AgdXNlZCBvdXRzaWRlIG9mIC5kZWYvLmVuZGVmOiBpZ25vcmVkLiIKK21zZ3N0ciAiLmVuZGVmIHBzZXVkby1vcCBkaWd1bmFrYW4gZGlsdWFyIGRhcmkgLmRlZi8uZW5kZWY6IGRpYWJhaWthbi4iCisKKyM6IGNvbmZpZy9vYmotY29mZi5jOjYwNgorIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnIHN5bWJvbCB3aXRob3V0IHByZWNlZGluZyBmdW5jdGlvbiIKK21zZ3N0ciAiYCVzJyBzaW1ib2wgdGFucGEgZnVuZ3NpIHlhbmcgbWVuZ2F3YWxpIgorCisjOiBjb25maWcvb2JqLWNvZmYuYzo2OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBzdG9yYWdlIGNsYXNzICVkIgorbXNnc3RyICJrZWxhcyBwZW55aW1wYW5hbiB0aWRhayBkaWR1Z2EgJWQiCisKKyM6IGNvbmZpZy9vYmotY29mZi5jOjgwMQorbXNnaWQgIi5kaW0gcHNldWRvLW9wIHVzZWQgb3V0c2lkZSBvZiAuZGVmLy5lbmRlZjogaWdub3JlZC4iCittc2dzdHIgIi5kaW0gcHNldWRvLW9wIGRpZ3VuYWthbiBkaWx1YXIgZGFyaSAuZGVmLy5lbmRlZjogZGlhYmFpa2FuLiIKKworIzogY29uZmlnL29iai1jb2ZmLmM6ODIxCittc2dpZCAiYmFkbHkgZm9ybWVkIC5kaW0gZGlyZWN0aXZlIGlnbm9yZWQiCittc2dzdHIgImJhZGx5IGZvcm1lZCAuZGltIGRpcmVrdGl2ZSBkaWFiYWlrYW4iCisKKyM6IGNvbmZpZy9vYmotY29mZi5jOjg3MAorbXNnaWQgIi5zaXplIHBzZXVkby1vcCB1c2VkIG91dHNpZGUgb2YgLmRlZi8uZW5kZWYgaWdub3JlZC4iCittc2dzdHIgIi5zaXplIHBzZXVkby1vcCBkaWd1bmFrYW4gZGlsdWFyIGRlYXJpIC5kZWYvLmVuZGVmIGRpYWJhaWthbi4iCisKKyM6IGNvbmZpZy9vYmotY29mZi5jOjg4NQorbXNnaWQgIi5zY2wgcHNldWRvLW9wIHVzZWQgb3V0c2lkZSBvZiAuZGVmLy5lbmRlZiBpZ25vcmVkLiIKK21zZ3N0ciAiLnNjbCBwc3Vkby1vcCBkaWd1bmFrYW4gZGlsdWFyIGRhcmkgLmRlZi8uZW5kZWYgZGlhYmFpa2FuLiIKKworIzogY29uZmlnL29iai1jb2ZmLmM6OTAyCittc2dpZCAiLnRhZyBwc2V1ZG8tb3AgdXNlZCBvdXRzaWRlIG9mIC5kZWYvLmVuZGVmIGlnbm9yZWQuIgorbXNnc3RyICIudGFnIHBzZXVkby1vcCBkaWd1bmFrYW4gZGlsdWFyIGRhcmkgLmRlZi8uZW5kZWYgZGlhYmFpa2FuLiIKKworIzogY29uZmlnL29iai1jb2ZmLmM6OTIwCisjLCBjLWZvcm1hdAorbXNnaWQgInRhZyBub3QgZm91bmQgZm9yIC50YWcgJXMiCittc2dzdHIgInRhZyB0aWRhayBkaXRlbXVrYW4gdW50dWsgLnRhZyAlcyIKKworIzogY29uZmlnL29iai1jb2ZmLmM6OTMzCittc2dpZCAiLnR5cGUgcHNldWRvLW9wIHVzZWQgb3V0c2lkZSBvZiAuZGVmLy5lbmRlZiBpZ25vcmVkLiIKK21zZ3N0ciAiLnR5cGUgcHNldWRvLW9wIGRpZ3VuYWthbiBkaWx1YXIgZGFyaSAuZGVmLy5lbmRlZiBkaWFiYWlrYW4uIgorCisjOiBjb25maWcvb2JqLWNvZmYuYzo5NTIKK21zZ2lkICIudmFsIHBzZXVkby1vcCB1c2VkIG91dHNpZGUgb2YgLmRlZi8uZW5kZWYgaWdub3JlZC4iCittc2dzdHIgIi52YWwgcHNldWRvLW9wIGRpZ3VuYWthbiBkaWx1YXIgZGFyaSAuZGVmLy5lbmRlZiBkaWFiYWlrYW4uIgorCisjOiBjb25maWcvb2JqLWNvZmYuYzoxMTE5Cittc2dpZCAiYmFkbHkgZm9ybWVkIC53ZWFrIGRpcmVjdGl2ZSBpZ25vcmVkIgorbXNnc3RyICJiYWRseSBmb3JtZWQgLndlayBkaXJla3RpdmUgZGlhYmFpa2FuIgorCisjOiBjb25maWcvb2JqLWNvZmYuYzoxMjk3Cittc2dpZCAibWlzbWF0Y2hlZCAuZWIiCittc2dzdHIgInRpZGFrIGNvY29rIC5lYiIKKworIzogY29uZmlnL29iai1jb2ZmLmM6MTMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJDX0VGQ04gc3ltYm9sIGZvciAlcyBvdXQgb2Ygc2NvcGUiCittc2dzdHIgIkNfRUZDTiBzaW1ib2wgdW50dWsgJXMgZGlsdWFyIGRhcmkgamFuZ2thdWFuIgorCisjLiBTVFlQX0lORk8KKyMuIFNUWVBfTElCCisjLiBTVFlQX09WRVIKKyM6IGNvbmZpZy9vYmotY29mZi5jOjE1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc2VjdGlvbiBhdHRyaWJ1dGUgJyVjJyIKK21zZ3N0ciAiZGFlcmFoIGF0cmlidXQgdGlkYWsgZGlkdWt1bmcgJyVjJyIKKworIzogY29uZmlnL29iai1jb2ZmLmM6MTU5NCBjb25maWcvdGMtcHBjLmM6NDc0MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNlY3Rpb24gYXR0cmlidXRlICclYyciCittc2dzdHIgImRhZXJhaCBhdHJpYnV0IHRpZGFrIGRpa2VuYWwgJyVjJyIKKworIzogY29uZmlnL29iai1jb2ZmLmM6MTYyMiBjb25maWcvdGMtcHBjLmM6NDc1OSBjb25maWcvdGMtdGljNTR4LmM6NDAxMQorIzogcmVhZC5jOjI3NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igc2V0dGluZyBmbGFncyBmb3IgXCIlc1wiOiAlcyIKK21zZ3N0ciAiZXJyb3IgbWVuc2V0IHRhbmRhIHVudHVrIFwiJXNcIjogJXMiCisKKyM6IGNvbmZpZy9vYmotY29mZi5jOjE2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgY2hhbmdlZCBzZWN0aW9uIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJNZW5nYWJhaWthbiBwZXJ1YmFoYW4gZGFlcmFoIGF0cmlidXQgdW50dWsgJXMiCisKKyM6IGNvbmZpZy9vYmotY29mZi5jOjE3NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiMHglbHg6IFwiJXNcIiB0eXBlID0gJWxkLCBjbGFzcyA9ICVkLCBzZWdtZW50ID0gJWRcbiIKK21zZ3N0ciAiMHglbHg6IFwiJXNcIiB0aXBlID0gJWxkLCBrZWxhcyA9ICVkLCBzZWdtZW4gPSAlZFxuIgorCisjOiBjb25maWcvb2JqLWVjb2ZmLmM6MTI1Cittc2dpZCAiQ2FuJ3Qgc2V0IEdQIHZhbHVlIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5zZXQgbmlsYWkgR1AiCisKKyM6IGNvbmZpZy9vYmotZWNvZmYuYzoxMzIKK21zZ2lkICJDYW4ndCBzZXQgcmVnaXN0ZXIgbWFza3MiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnNldCBtYXNrIHJlZ2lzdGVyIgorCisjOiBjb25maWcvb2JqLWVsZi5jOjMyMyBjb25maWcvdGMtc3BhcmMuYzozOTQ2IGNvbmZpZy90Yy12ODUwLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAuY29tbW9uIHNlZ21lbnQgJXMiCittc2dzdHIgInNlZ21lbiAuJXMgLmNvbW1vbiBidXJ1ayIKKworIzogY29uZmlnL29iai1lbGYuYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBpbmNvcnJlY3Qgc2VjdGlvbiB0eXBlIGZvciAlcyIKK21zZ3N0ciAia29uZmlndXJhc2kgdGlwZSBkYWVyYWggdGlkYWsgYmVuYXIgdW50dWsgJXMiCisKKyM6IGNvbmZpZy9vYmotZWxmLmM6NjA2CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIGluY29ycmVjdCBzZWN0aW9uIHR5cGUgZm9yICVzIgorbXNnc3RyICJtZW5nYWJhaWthbiB0aXBlIGRhZXJhaCB0aWRhayBiZW5hciB1bnR1ayAlcyIKKworIzogY29uZmlnL29iai1lbGYuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBpbmNvcnJlY3Qgc2VjdGlvbiBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAia29uZmlndXJhc2kgYXRyaWJ1dCBkYWVyYWggdGlkYWsgYmVuYXIgdW50dWsgJXMiCisKKyM6IGNvbmZpZy9vYmotZWxmLmM6NzAwCisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIGNoYW5nZWQgc2VjdGlvbiB0eXBlIGZvciAlcyIKK21zZ3N0ciAibWVuZ2FiYWlrYW4gcGVydWJhaGFuIHRpcGUgZGFlcmFoIHVudHVrICVzIgorCisjOiBjb25maWcvb2JqLWVsZi5jOjcxMgorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyBjaGFuZ2VkIHNlY3Rpb24gYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIm1lbmdhYmFpa2FuIHBlcnViYWhhbiBhdHJpYnV0IGRhZXJhaCB1bnR1ayAlcyIKKworIzogY29uZmlnL29iai1lbGYuYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgY2hhbmdlZCBzZWN0aW9uIGVudGl0eSBzaXplIGZvciAlcyIKK21zZ3N0ciAibWVuZ2FiYWlrYW4gcGVydWJhaGFuIGJlc2FyIGRhZXJhaCBlbnRpdHkgdW50dWsgJXMiCisKKyM6IGNvbmZpZy9vYmotZWxmLmM6NzY3Cittc2dpZCAidW5yZWNvZ25pemVkIC5zZWN0aW9uIGF0dHJpYnV0ZTogd2FudCBhLHcseCxNLFMsRyxUIgorbXNnc3RyICJ0aWRhayBkaWtlbmFsIGF0cmlidXQgLnNlY3Rpb246IGluZ2luIGEsdyx4LE0sUyxHLFQiCisKKyM6IGNvbmZpZy9vYmotZWxmLmM6ODA5IHJlYWQuYzoyNzQ0Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3Rpb24gdHlwZSIKK21zZ3N0ciAidGlwZSBkYWVyYWggdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL29iai1lbGYuYzo4MzkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdGlvbiBhdHRyaWJ1dGUiCittc2dzdHIgImF0cmlidXQgZGFlcmFoIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy9vYmotZWxmLmM6ODcwCittc2dpZCAibWlzc2luZyBuYW1lIgorbXNnc3RyICJuYW1hIGhpbGFuZyIKKworIzogY29uZmlnL29iai1lbGYuYzo5OTgKK21zZ2lkICJpbnZhbGlkIG1lcmdlIGVudGl0eSBzaXplIgorbXNnc3RyICJ1a3VyYW4gZ2FidW5nYW4gZW50aXR5IHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvb2JqLWVsZi5jOjEwMDUKK21zZ2lkICJlbnRpdHkgc2l6ZSBmb3IgU0hGX01FUkdFIG5vdCBzcGVjaWZpZWQiCittc2dzdHIgInVrdXJhbiBlbnRpdHkgdW50dWsgU0hGX01FUkdFIHRpZGFrIGRpc3Blc2lmaWthc2lrYW4iCisKKyM6IGNvbmZpZy9vYmotZWxmLmM6MTAyNQorbXNnaWQgImdyb3VwIG5hbWUgZm9yIFNIRl9HUk9VUCBub3Qgc3BlY2lmaWVkIgorbXNnc3RyICJuYW1hIGdydXAgdW50dWsgU0hGX0dST1VQIHRpZGFrIGRpc3Blc2lmaWthc2lrYW4iCisKKyM6IGNvbmZpZy9vYmotZWxmLmM6MTAzOAorbXNnaWQgImNoYXJhY3RlciBmb2xsb3dpbmcgbmFtZSBpcyBub3QgJyMnIgorbXNnc3RyICJrYXJha3RlciBtZW5naWt1dGkgbmFtYSBidWthbiAnIyciCisKKyM6IGNvbmZpZy9vYmotZWxmLmM6MTE1NworbXNnaWQgIi5wcmV2aW91cyB3aXRob3V0IGNvcnJlc3BvbmRpbmcgLnNlY3Rpb247IGlnbm9yZWQiCittc2dzdHIgIi5wcmV2aW91cyB0YW5wYSAuc2VjdGlvbiB5YW5nIGJlcmh1YnVuZ2FuOyBkaWFiYWlrYW4iCisKKyM6IGNvbmZpZy9vYmotZWxmLmM6MTE4MworbXNnaWQgIi5wb3BzZWN0aW9uIHdpdGhvdXQgY29ycmVzcG9uZGluZyAucHVzaHNlY3Rpb247IGlnbm9yZWQiCittc2dzdHIgIi5wb3BzZWN0aW9uIHRhbnBhdCAucHVzaHNlY3Rpb24geWFuZyBiZXJodWJ1bmdhbjsgZGlhYmFpa2FuIgorCisjOiBjb25maWcvb2JqLWVsZi5jOjEyMzUKK21zZ2lkICJleHBlY3RlZCBjb21tYSBhZnRlciBuYW1lIGluIC5zeW12ZXIiCittc2dzdHIgImRpZHVnYSBrb21hIHNldGVsYWggbmFtYSBkYWxhbSAuc3ltdmVyIgorCisjOiBjb25maWcvb2JqLWVsZi5jOjEyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyB2ZXJzaW9uIG5hbWUgaW4gYCVzJyBmb3Igc3ltYm9sIGAlcyciCittc2dzdHIgImhpbGFuZyBuYW1hIHZlcnNpIGRhbGFtIGAlcycgdW50dWsgc2ltYm9sIGAlcyciCisKKyM6IGNvbmZpZy9vYmotZWxmLmM6MTI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJtdWx0aXBsZSB2ZXJzaW9ucyBbYCVzJ3xgJXMnXSBmb3Igc3ltYm9sIGAlcyciCittc2dzdHIgIm11bHRpcGxlIHZlcnNpIFtgJXMnfGAlcyddIHVudHVrIHNpbWJvbCBgJXMnIgorCisjOiBjb25maWcvb2JqLWVsZi5jOjEzMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0ZWQgYCVzJyB0byBoYXZlIGFscmVhZHkgYmVlbiBzZXQgZm9yIC52dGFibGVfaW5oZXJpdCIKK21zZ3N0ciAiZGlkdWdhIGAlcycgdGVsYWggZGlzZXQgdW50dWsgLnZ0YWJsZV9pbmhlcml0IgorCisjOiBjb25maWcvb2JqLWVsZi5jOjEzMTcKK21zZ2lkICJleHBlY3RlZCBjb21tYSBhZnRlciBuYW1lIGluIC52dGFibGVfaW5oZXJpdCIKK21zZ3N0ciAiZGlkdWdhIGtvbWEgc2V0ZWxhaCBuYW1hIGRhbGFtIC52dGFibGVfaW5oZXJpdCIKKworIzogY29uZmlnL29iai1lbGYuYzoxMzc3Cittc2dpZCAiZXhwZWN0ZWQgY29tbWEgYWZ0ZXIgbmFtZSBpbiAudnRhYmxlX2VudHJ5IgorbXNnc3RyICJkaWR1Z2Ega29tYSBzZXRlbGFoIG5hbWEgZGFsYW0gLnZ0YWJsZV9lbnRyeSIKKworIzogY29uZmlnL29iai1lbGYuYzoxNTAwCittc2dpZCAiZXhwZWN0ZWQgcXVvdGVkIHN0cmluZyIKK21zZ3N0ciAiZGlkdWdhIHF1b3RlZCBzdHJpbmciCisKKyM6IGNvbmZpZy9vYmotZWxmLmM6MTUyMAorIywgYy1mb3JtYXQKK21zZ2lkICJleHBlY3RlZCBjb21tYSBhZnRlciBuYW1lIGAlcycgaW4gLnNpemUgZGlyZWN0aXZlIgorbXNnc3RyICJkaWR1Z2Ega29tYSBzZXRlbGFoIG5hbWEgYCVzJyBkYWxhbSAuc2l6ZSBkaXJla3RpZiIKKworIzogY29uZmlnL29iai1lbGYuYzoxNTI5Cittc2dpZCAibWlzc2luZyBleHByZXNzaW9uIGluIC5zaXplIGRpcmVjdGl2ZSIKK21zZ3N0ciAiaGlsYW5nIGVrc3ByZXNpIGRhbGFtIC5zaXplIGRpcmVrdGlmIgorCisjOiBjb25maWcvb2JqLWVsZi5jOjE2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltYm9sICclcycgaXMgYWxyZWFkeSBkZWZpbmVkIgorbXNnc3RyICJzaW1ib2wgJyVzJyB0ZWxhaCB0ZXJkZWZpbmlzaSIKKworIzogY29uZmlnL29iai1lbGYuYzoxNjcxCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzeW1ib2wgdHlwZSBcIiVzXCIiCittc2dzdHIgInRpcGUgc2ltYm9sIFwiJXNcIiB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvb2JqLWVsZi5jOjE4NDIKK21zZ2lkICIuc2l6ZSBleHByZXNzaW9uIHRvbyBjb21wbGljYXRlZCB0byBmaXggdXAiCittc2dzdHIgImVrc3ByZXNpIC5zaXplIHRlcmxhbHUga29tcGxla3MgdW50dWsgZGlwZXJiYWlraSIKKworIzogY29uZmlnL29iai1lbGYuYzoxODc0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXR0ZW1wdCB0byBkZWNsYXJlIGV4dGVybmFsIHZlcnNpb24gbmFtZSBhcyBkZWZhdWx0IGluIHN5bWJvbCBgJXMnIgorbXNnc3RyICJ0aWRhayB2YWxpZCBhdHRlbXQgdW50dWsgbWVuZGVrbGFyYXNpa2FuIHZlcnNpIG5hbWEgZWtzdGVybmFsIHNlYmFnYWkgZGVmYXVsdCBkYWxhbSBzaW1ib2wgYCVzJyIKKworIzogY29uZmlnL29iai1lbGYuYzoxOTM1IGVjb2ZmLmM6MzU5OAorIywgYy1mb3JtYXQKK21zZ2lkICJzeW1ib2wgYCVzJyBjYW4gbm90IGJlIGJvdGggd2VhayBhbmQgY29tbW9uIgorbXNnc3RyICJzaW1ib2wgYCVzJyB0aWRhayBkYXBhdCBrZWR1YW55YSBsZW1haCBkYW4gdW11bSIKKworIzogY29uZmlnL29iai1lbGYuYzoyMDQyCisjLCBjLWZvcm1hdAorbXNnaWQgImFzc3VtaW5nIGFsbCBtZW1iZXJzIG9mIGdyb3VwIGAlcycgYXJlIENPTURBVCIKK21zZ3N0ciAibWVuZ2FzdW1zaWthbiBzZWx1cnVoIGFuZ2dvdGEgZGFyaSBncnVwIGAlcycgYWRhbGFoIENPTURBVCIKKworIzogY29uZmlnL29iai1lbGYuYzoyMDY0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGNyZWF0ZSBncm91cDogJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1YXQgZ3J1cDogJXMiCisKKyM6IGNvbmZpZy9vYmotZWxmLmM6MjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVwIGRlYnVnZ2luZyBpbmZvcm1hdGlvbjogJXMiCittc2dzdHIgImdhZ2FsIG1lbiBzZXQgdXAgaW5mb3JtYXNpIGRlYnVnOiAlcyIKKworIzogY29uZmlnL29iai1lbGYuYzoyMTk0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHN0YXJ0IHdyaXRpbmcgLm1kZWJ1ZyBzZWN0aW9uOiAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtdWxhaSBtZW51bGlzIGRhZXJhaCAubWRlYnVnOiAlcyIKKworIzogY29uZmlnL29iai1lbGYuYzoyMjAyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAubWRlYnVnIHNlY3Rpb246ICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW51bGlzIGRhZXJhaCAubWRlYnVnOiAlcyIKKworIzogY29uZmlnL29iai1zb20uYzo1OAorbXNnaWQgIk9ubHkgb25lIC5jb21waWxlciBwc2V1ZG8tb3AgcGVyIGZpbGUhIgorbXNnc3RyICJIYW55YSBzYXR1IC5jb21waWxlciBwc2V1ZG8tb3Agc2V0aWFwIGJlcmthcyEiCisKKyM6IGNvbmZpZy9vYmotc29tLmM6NzUgY29uZmlnL29iai1zb20uYzoxNDYgY29uZmlnL29iai1zb20uYzoxODgKK21zZ2lkICJFeHBlY3RlZCBxdW90ZWQgc3RyaW5nIgorbXNnc3RyICJkaWR1Z2EgcXVvdGVkIHN0cmluZyIKKworIzogY29uZmlnL29iai1zb20uYzo4OAorbXNnaWQgIi5jb21waWxlciBkaXJlY3RpdmUgbWlzc2luZyBsYW5ndWFnZSBhbmQgdmVyc2lvbiIKK21zZ3N0ciAiLmNvbXBpbGVyIGRpcmVrdGlmIGhpbGFuZyBiYWhhc2EgZGFuIHZlcnNpIgorCisjOiBjb25maWcvb2JqLXNvbS5jOjk4Cittc2dpZCAiLmNvbXBpbGVyIGRpcmVjdGl2ZSBtaXNzaW5nIHZlcnNpb24iCittc2dzdHIgIi5jb21waWxlciBkaXJla3RpZiBoaWxhbmcgdmVyc2kiCisKKyM6IGNvbmZpZy9vYmotc29tLmM6MTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBBdHRhY2hpbmcgY29tcGlsZXIgaGVhZGVyICVzIgorbXNnc3RyICJGQVRBTDogQXR0YWNoaW5nIGtvbXBpbGVyIGhlYWRlciAlcyIKKworIzogY29uZmlnL29iai1zb20uYzoxMjkKK21zZ2lkICJPbmx5IG9uZSAudmVyc2lvbiBwc2V1ZG8tb3AgcGVyIGZpbGUhIgorbXNnc3RyICJoYW55YSBzYXR1IC52ZXJzaW9uIHBzZXVkby1vcCBzZXRpYXAgYmVya2FzISIKKworIzogY29uZmlnL29iai1zb20uYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0YWNoaW5nIHZlcnNpb24gaGVhZGVyICVzOiAlcyIKK21zZ3N0ciAibWVtYXNhbmcgaGVhZGVyIHZlcnNpICVzOiAlcyIKKworIzogY29uZmlnL29iai1zb20uYzoxNzEKK21zZ2lkICJPbmx5IG9uZSAuY29weXJpZ2h0IHBzZXVkby1vcCBwZXIgZmlsZSEiCittc2dzdHIgIkhhbnlhIHNhdHUgLmNvcHlyaWdodCBwc2V1ZG8tb3Agc2V0aWFwIGJlcmthcyEiCisKKyM6IGNvbmZpZy9vYmotc29tLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dGFjaGluZyBjb3B5cmlnaHQgaGVhZGVyICVzOiAlcyIKK21zZ3N0ciAiYXR0YWNoaW5nIGNvcHlyaWdodCBoZWFkZXIgJXM6ICVzIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gIWxpdGVyYWwhJWxkIHdhcyBmb3VuZCIKK21zZ3N0ciAiVGlkYWsgYWRhICFsaXRlcmFsISVsZCBkaXRlbXVrYW4iCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjU5OQorIywgYy1mb3JtYXQKK21zZ2lkICJObyAhdGxzZ2QhJWxkIHdhcyBmb3VuZCIKK21zZ3N0ciAiVGlkYWsgYWRhICF0bHNnZCElbGQgZGl0ZW11a2FuIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo2MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gIXRsc2xkbSElbGQgd2FzIGZvdW5kIgorbXNnc3RyICJUaWRhayBhZGEgIXRsc2xkbSElbGQgZGl0ZW11a2FuIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gbGRhaCAhZ3BkaXNwISVsZCB3YXMgZm91bmQiCittc2dzdHIgIlRpZGFrIGFkYSBsZGFoICFncGRpc3AhJWxkIGRpdGVtdWthbiIKKworIzogY29uZmlnL3RjLWFscGhhLmM6NjY1CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55ICFsaXRlcmFsISVsZCBmb3IgJXMiCittc2dzdHIgInRlcmxhbHUgYmFueWFrICFsaXRlcmFsISVsZCB1bnR1ayAlcyIKKworIzogY29uZmlnL3RjLWFscGhhLmM6Njk1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIGxkYSAhZ3BkaXNwISVsZCB3YXMgZm91bmQiCittc2dzdHIgIlRpZGFrIGFkYSBsZGEgIWdwZGlzcCElbGQgZGl0ZW11a2FuIgorCisjLiBPbmx5IHN1cHBvcnQgb25lIHJlbG9jYXRpb24gb3AgcGVyIGluc24uCisjOiBjb25maWcvdGMtYWxwaGEuYzo4NTIKK21zZ2lkICJNb3JlIHRoYW4gb25lIHJlbG9jYXRpb24gb3AgcGVyIGluc24iCittc2dzdHIgIkxlYmloIGRhcmkgc2F0dSByZWxva2FzaSBvcCBwZXIgaW5zbiIKKworIzogY29uZmlnL3RjLWFscGhhLmM6ODY4Cittc2dpZCAiTm8gcmVsb2NhdGlvbiBvcGVyYW5kIgorbXNnc3RyICJUaWRhayBhZGEgb3BlcmFuZCByZWxva2FzaSIKKworIzogY29uZmlnL3RjLWFscGhhLmM6ODc4CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gcmVsb2NhdGlvbiBvcGVyYW5kOiAhJXMiCittc2dzdHIgIm9wZXJhbiByZWxva2FzaSB0aWRhayBkaWtldGFodWk6ICElcyIKKworIzogY29uZmlnL3RjLWFscGhhLmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHNlcXVlbmNlIG51bWJlciBhZnRlciAhJXMiCittc2dzdHIgInRpZGFrIGFkYSBub21vciBwZW5ndXJ1dGFuIHNldGVsYWggISVzIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo4OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiISVzIGRvZXMgbm90IHVzZSBhIHNlcXVlbmNlIG51bWJlciIKK21zZ3N0ciAiISVzIHRpZGFrIG1lbmdndW5ha2FuIHNlYnVhaCBub21vciBwZW5ndXJ1dGFuIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo5MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHNlcXVlbmNlIG51bWJlcjogISVzISVzIgorbXNnc3RyICJOb21vciBwZW5ndXJ1dGFuIGJ1cnVrOiAhJXMhJXMiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjExMjMgY29uZmlnL3RjLWFscGhhLmM6MzE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbmFwcHJvcHJpYXRlIGFyZ3VtZW50cyBmb3Igb3Bjb2RlIGAlcyciCittc2dzdHIgImFyZ3VtZW4gdGlkYWsgc2VzdWFpIHVudHVrIG9wY29kZSBgJXMnIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzoxMTI1IGNvbmZpZy90Yy1hbHBoYS5jOjMxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3Bjb2RlIGAlcycgbm90IHN1cHBvcnRlZCBmb3IgdGFyZ2V0ICVzIgorbXNnc3RyICJvcGNvZGUgYCVzJyB0aWRhayBkaWR1a3VuZyB1bnR1ayB0YXJnZXQgJXMiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjExMjkgY29uZmlnL3RjLWFscGhhLmM6MzE0NiBjb25maWcvdGMtYXZyLmM6MTMyNgorIzogY29uZmlnL3RjLW1zcDQzMC5jOjE4MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcGNvZGUgYCVzJyIKK21zZ3N0ciAib3Bjb2RlIGAlcycgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MTIwOSBjb25maWcvdGMtYWxwaGEuYzoxMzg0Cittc2dpZCAib3ZlcmZsb3cgaW4gbGl0ZXJhbCAoLmxpdGEpIHRhYmxlIgorbXNnc3RyICJvdmVyZmxvdyBkYWxhbSBsaXRlcmFsICgubGl0YSkgdGFiZWwiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjEyMTYgY29uZmlnL3RjLWFscGhhLmM6MTI0MCBjb25maWcvdGMtYWxwaGEuYzoxMzk3CisjOiBjb25maWcvdGMtYWxwaGEuYzoyMDUwIGNvbmZpZy90Yy1hbHBoYS5jOjIwOTQgY29uZmlnL3RjLWFscGhhLmM6MjE2MworIzogY29uZmlnL3RjLWFscGhhLmM6MjI0NiBjb25maWcvdGMtYWxwaGEuYzoyNDcxIGNvbmZpZy90Yy1hbHBoYS5jOjI1NjkKK21zZ2lkICJtYWNybyByZXF1aXJlcyAkYXQgcmVnaXN0ZXIgd2hpbGUgbm9hdCBpbiBlZmZlY3QiCittc2dzdHIgIm1ha3JvIG1lbWJ1dHVoa2FuICRhdCByZWdpc3RlciBrZXRpa2EgdGlkYSBiZXJhZGEgZGFsYW0gZWZlayIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MTIxOCBjb25maWcvdGMtYWxwaGEuYzoxMjQyIGNvbmZpZy90Yy1hbHBoYS5jOjEzOTkKK21zZ2lkICJtYWNybyByZXF1aXJlcyAkYXQgd2hpbGUgJGF0IGluIHVzZSIKK21zZ3N0ciAibWFrcm8gbWVtYnV0dWhrYW4gJGF0IGtldGlrYSAkYXQgc2VkYW5nIGRpZ3VuYWthbiIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MTM0NgorbXNnaWQgImJpZ251bSBpbnZhbGlkOyB6ZXJvIGFzc3VtZWQiCittc2dzdHIgImJpZ251bSB0aWRhayB2YWxpZCB6ZXJvIGRpYXN1bXNpa2FuIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzoxMzQ4Cittc2dpZCAiZmxvYXRpbmcgcG9pbnQgbnVtYmVyIGludmFsaWQ7IHplcm8gYXNzdW1lZCIKK21zZ3N0ciAibm9tb3IgZmxvYXRpbmcgcG9pbnQgdGlkYWsgdmFsaWQ7IG5vbCBkaWFzdW1zaWthbiIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MTM1MworbXNnaWQgImNhbid0IGhhbmRsZSBleHByZXNzaW9uIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5hbmdhbmkgZWtzcHJlc2kiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjEzOTAKK21zZ2lkICJvdmVyZmxvdyBpbiBsaXRlcmFsICgubGl0OCkgdGFibGUiCittc2dzdHIgIm92ZXJmbG93IGRhbGFtIHRhYmVsIGxpdGVyYWwgKC5saXQ4KSIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MTY3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBsZGFoIGluc25zIGZvciAhZ3BkaXNwISVsZCIKK21zZ3N0ciAidGVybGFsdSBiYW55YWsgbGRhaCBpbnNucyB1bnR1ayAhZ3BkaXNwISVsZCIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MTY3NiBjb25maWcvdGMtYWxwaGEuYzoxNjg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJvdGggaW5zbnMgZm9yICFncGRpc3AhJWxkIG11c3QgYmUgaW4gdGhlIHNhbWUgc2VjdGlvbiIKK21zZ3N0ciAia2VkdWEgaW5zbnMgdW50dWsgIWdwZGlzcCElbGQgaGFydXMgYmVyYWRhIGRhbGFtIGRhZXJhaCB5YW5nIHNhbWEiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjE2ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgbGRhIGluc25zIGZvciAhZ3BkaXNwISVsZCIKK21zZ3N0ciAidGVybGFsdSBiYW55YWsgbGRhIGluc25zIHVudHVrICFncGRpc3AhJWxkIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzoxNzQyCisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGxpdHVzZSBpbnNucyBmb3IgIWxpdHVzZV90bHNnZCElbGQiCittc2dzdHIgInRlcmxhbHUgYmFueWFrIGxpdHVzZSBpbnNucyB1bnR1ayAhbGl0dXNlX3Rsc2dkISVsZCIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MTc0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBsaXR1c2UgaW5zbnMgZm9yICFsaXR1c2VfdGxzbGRtISVsZCIKK21zZ3N0ciAidGVybGFsdSBiYW55YWsgbGl0dXNlIGluc25zIHVudHVrICFsaXR1c2VfdGxzbGRtISVsZCIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MTc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJkdXBsaWNhdGUgIXRsc2dkISVsZCIKK21zZ3N0ciAiZHVwbGlrYXNpICF0bHNnZCElbGQiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjE3NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VxdWVuY2UgbnVtYmVyIGluIHVzZSBmb3IgIXRsc2xkbSElbGQiCittc2dzdHIgIm5vbW9yIHBlbmd1cnV0YW4gc2VkYW5nIGRpZ3VuYWthbiB1bnR1ayAhdGxzbGRtISVsZCIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MTc3OAorIywgYy1mb3JtYXQKK21zZ2lkICJkdXBsaWNhdGUgIXRsc2xkbSElbGQiCittc2dzdHIgImR1cGxpa2FzaSAhdGxzbGRtISVsZCIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MTc4MAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXF1ZW5jZSBudW1iZXIgaW4gdXNlIGZvciAhdGxzZ2QhJWxkIgorbXNnc3RyICJub21vciBwZW5ndXJ1dGFuIHNlZGFuZyBkaWd1bmFrYW4gdW50dWsgIXRsc2dkISVsZCIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MTgyMyBjb25maWcvdGMtYXJjLmM6MjkyIGNvbmZpZy90Yy1tbjEwMjAwLmM6ODU2CisjOiBjb25maWcvdGMtbW4xMDMwMC5jOjExNDYgY29uZmlnL3RjLXBwYy5jOjE2NDkgY29uZmlnL3RjLXMzOTAuYzo2MDQKKyM6IGNvbmZpZy90Yy12ODUwLmM6MTU1NgorbXNnaWQgIm9wZXJhbmQiCittc2dzdHIgIm9wZXJhbiIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MTk2MgorbXNnaWQgImludmFsaWQgcmVsb2NhdGlvbiBmb3IgaW5zdHJ1Y3Rpb24iCittc2dzdHIgInJlbG9rYXNpIHVudHVrIGluc3RydWtzaSB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MTk3NAorbXNnaWQgImludmFsaWQgcmVsb2NhdGlvbiBmb3IgZmllbGQiCittc2dzdHIgInJlbG9rYXNpIHVudHVrIGRhZXJhaCB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWFscGhhLmM6Mjc2MQorbXNnaWQgImNhbiBub3QgcmVzb2x2ZSBleHByZXNzaW9uIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW55ZWxlc2Fpa2FuIGVrc3ByZXNpIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzozMjc2IGNvbmZpZy90Yy1wcGMuYzoxOTQ4IGNvbmZpZy90Yy1wcGMuYzo0NTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIi5DT01Nb24gbGVuZ3RoICglbGQuKSA8MCEgSWdub3JlZC4iCittc2dzdHIgIi5DT01Nb24gbGVuZ3RoICglbGQuKSA8ISBEaWFiYWlrYW4uIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzozMzA1IGNvbmZpZy90Yy1zcGFyYy5jOjM4MTYgY29uZmlnL3RjLXY4NTAuYzoyNDUKK21zZ2lkICJJZ25vcmluZyBhdHRlbXB0IHRvIHJlLWRlZmluZSBzeW1ib2wiCittc2dzdHIgIk1lbmdhYmFpa2FuIHBlcmNvYmFhbiB1bnR1ayBtZXJlZGVmaW5pIHNpbWJvbCIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MzMxNCBjb25maWcvdGMtYWxwaGEuYzozMzIzIGNvbmZpZy90Yy1wcGMuYzo0NTQxCisjOiBjb25maWcvdGMtc3BhcmMuYzozODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxlbmd0aCBvZiAuY29tbSBcIiVzXCIgaXMgYWxyZWFkeSAlbGQuIE5vdCBjaGFuZ2VkIHRvICVsZC4iCittc2dzdHIgIlBhbmphbmcgZGFyaSAuY29tbSBcIiVzXCIgdGVsYWggJWxkLiBUaWRhayBkYXBhdCBtZW5ndWJhaCBrZSAlbGQuIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzozNDQwIGVjb2ZmLmM6MzA1NAorbXNnaWQgIi5lbnQgZGlyZWN0aXZlIGhhcyBubyBuYW1lIgorbXNnc3RyICIuZW50IGRpcmVrdGlmIHRpZGFrIG1lbWlsaWtpIG5hbWEiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjM0NDgKK21zZ2lkICJuZXN0ZWQgLmVudCBkaXJlY3RpdmVzIgorbXNnc3RyICJiZXJ0ZWx1ciAuZW50IGRpcmVrdGlmIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzozNDkyIGVjb2ZmLmM6MzAwNQorbXNnaWQgIi5lbmQgZGlyZWN0aXZlIGhhcyBubyBuYW1lIgorbXNnc3RyICIuZW5kIGRpcmVrdGlmIHRpZGFrIG1lbWlsaWtpIG5hbWEiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjM1MDEKK21zZ2lkICIuZW5kIGRpcmVjdGl2ZSB3aXRob3V0IG1hdGNoaW5nIC5lbnQiCittc2dzdHIgIi5lbmQgZGlyZWt0aWYgdGFucGEgcGVuY29jb2thbiAuZW50IgorCisjOiBjb25maWcvdGMtYWxwaGEuYzozNTAzCittc2dpZCAiLmVuZCBkaXJlY3RpdmUgbmFtZXMgZGlmZmVyZW50IHN5bWJvbCB0aGFuIC5lbnQiCittc2dzdHIgIm5hbWEgLmVuZCBkaXJla3RpZiBtZW1pbGlraSBzaW1ib2wgYmVyYmVkYSBkYXJpIC5lbnQiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjM1NDYgZWNvZmYuYzozMTQwCittc2dpZCAiLmZtYXNrIG91dHNpZGUgb2YgLmVudCIKK21zZ3N0ciAiLmZtYXNrIGRpbHVhciBkYXJpIC5lbnQiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjM1NDggY29uZmlnL3RjLXNjb3JlLmM6NTgxNiBlY29mZi5jOjMyMDQKK21zZ2lkICIubWFzayBvdXRzaWRlIG9mIC5lbnQiCittc2dzdHIgIi5tYXNrIGRpbHVhciBkYXJpIC5lbnQiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjM1NTYgZWNvZmYuYzozMTQ3Cittc2dpZCAiYmFkIC5mbWFzayBkaXJlY3RpdmUiCittc2dzdHIgImRpcmVrdGlmIC5mbWFzayBidXJ1ayIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MzU1OCBlY29mZi5jOjMyMTEKK21zZ2lkICJiYWQgLm1hc2sgZGlyZWN0aXZlIgorbXNnc3RyICJkaXJla3RpZiAubWFzayBidXJ1ayIKKworIzogY29uZmlnL3RjLWFscGhhLmM6MzU5MSBjb25maWcvdGMtbWlwcy5jOjE0OTY3IGNvbmZpZy90Yy1zY29yZS5jOjU5NTkKKyM6IGVjb2ZmLmM6MzE2OAorbXNnaWQgIi5mcmFtZSBvdXRzaWRlIG9mIC5lbnQiCittc2dzdHIgIi5mcmFtZSBkaWx1YXIgZGFyaSAuZW50IgorCisjOiBjb25maWcvdGMtYWxwaGEuYzozNjAyIGVjb2ZmLmM6MzE3OQorbXNnaWQgImJhZCAuZnJhbWUgZGlyZWN0aXZlIgorbXNnc3RyICIuZnJhbWUgZGlyZWt0aWYgYnVydWsiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjM2MzQKK21zZ2lkICIucHJvbG9ndWUgZGlyZWN0aXZlIHdpdGhvdXQgYSBwcmVjZWRpbmcgLmVudCBkaXJlY3RpdmUiCittc2dzdHIgIi5wcm9sb2d1ZSBkaXJla3RpZiB0YW5wYSBkaWF3YWxpIC5lbnQgZGlyZWt0aWYiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjM2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBhcmd1bWVudCAlZCB0byAucHJvbG9ndWUuIgorbXNnc3RyICJBcmd1bWVuICVkIHRpZGFrIHZhbGlkIGtlIC5wcm9sb2d1ZS4iCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjM3NDMKK21zZ2lkICJFQ09GRiBkZWJ1Z2dpbmcgaXMgZGlzYWJsZWQuIgorbXNnc3RyICJFQ09GRiBkZWJ1ZyBkaXNhYmxlZCIKKworIzogY29uZmlnL3RjLWFscGhhLmM6Mzc1NworbXNnaWQgIi5lbnQgZGlyZWN0aXZlIHdpdGhvdXQgbWF0Y2hpbmcgLmVuZCIKK21zZ3N0ciAiLmVudCBkaXJla3RpZiB0YW5wYSBwZW5jb2Nva2FuIC5lbmQiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjM4NDIKK21zZ2lkICIudXNlcHYgZGlyZWN0aXZlIGhhcyBubyBuYW1lIgorbXNnc3RyICIudXNlcHYgZGlyZWt0aWYgdGlkYWsgbWVtaWxpa2kgbmFtYSIKKworIzogY29uZmlnL3RjLWFscGhhLmM6Mzg1MworbXNnaWQgIi51c2VwdiBkaXJlY3RpdmUgaGFzIG5vIHR5cGUiCittc2dzdHIgIi51c2VwdiBkaXJla3RpZiB0aWRhayBtZW1pbGlraSB0aXBlIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzozODY4Cittc2dpZCAidW5rbm93biBhcmd1bWVudCBmb3IgLnVzZXB2IgorbXNnc3RyICJhcmd1bWVuIHRpZGFrIGRpa2VuYWwgdW50dWsgLnVzZXB2IgorCisjOiBjb25maWcvdGMtYWxwaGEuYzozOTAxCittc2dpZCAiVW5rbm93biBzZWN0aW9uIGRpcmVjdGl2ZSIKK21zZ3N0ciAiRGFlcmFoIGRpcmVrdGlmIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjM5MzYKK21zZ2lkICIuZW50IGRpcmVjdGl2ZSBoYXMgbm8gc3ltYm9sIgorbXNnc3RyICIuZW50IGRpcmVrdGlmIHRpZGFrIG1lbWlsaWtpIHNpbWJvbCIKKworIzogY29uZmlnL3RjLWFscGhhLmM6Mzk2MQorbXNnaWQgIkJhZCAuZnJhbWUgZGlyZWN0aXZlIDEuLzIuIHBhcmFtIgorbXNnc3RyICIuZnJhbWUgZGlyZWt0aWYgYnVydWsgMS4vMi4gcGFyYW0iCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjM5NzMKK21zZ2lkICJCYWQgLmZyYW1lIGRpcmVjdGl2ZSAzLi80LiBwYXJhbSIKK21zZ3N0ciAiLmZyYW0gZGlyZWt0aWYgYnVydWsgMy4vNC4gcGFyYW0iCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjM5OTUKK21zZ2lkICIucGRlc2MgZGlyZWN0aXZlIG5vdCBpbiBsaW5rICgubGluaykgc2VjdGlvbiIKK21zZ3N0ciAiLnBkZXNjIGRpcmVrdGlmIHRpZGFrIGRhbGFtIGRhZXJhaCBsaW5rICgubGluaykiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjQwMDMKK21zZ2lkICIucGRlc2MgaGFzIG5vIG1hdGNoaW5nIC5lbnQiCittc2dzdHIgIi5wZGVzYyB0aWRhayBtZW1pbGlraSBwZW5jb2Nva2FuIC5lbnQiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjQwMTQKK21zZ2lkICIucGRlc2MgZGlyZWN0aXZlIGhhcyBubyBlbnRyeSBzeW1ib2wiCittc2dzdHIgIi5wZGVzYyBkaXJla3RpZiB0aWRhayBtZW1pbGlraSBzaW1ib2wgbWFzdWthbiIKKworIzogY29uZmlnL3RjLWFscGhhLmM6NDAyNworbXNnaWQgIk5vIGNvbW1hIGFmdGVyIC5wZGVzYyA8ZW50cnluYW1lPiIKK21zZ3N0ciAidGlkYWsgYWRhIGtvbWEgc2V0ZWxhaCAucGRlc2MgPGVudHJ5bmFtZT4iCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjQwNDcKK21zZ2lkICJ1bmtub3duIHByb2NlZHVyZSBraW5kIgorbXNnc3RyICJwcm9zZWR1cmUga2luZCB0aWRhayBkaWtldGFodWkiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjQxMzcKK21zZ2lkICIubmFtZSBkaXJlY3RpdmUgbm90IGluIGxpbmsgKC5saW5rKSBzZWN0aW9uIgorbXNnc3RyICIubmFtZSBkaXJla3RpZiB0aWRhayBkYWxhbSBkYWVyYWggbGluayAoLmxpbmspIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo0MTQ1Cittc2dpZCAiLm5hbWUgZGlyZWN0aXZlIGhhcyBubyBzeW1ib2wiCittc2dzdHIgIi5uYW1lIGRpcmVrdGlmIHRpZGFrIG1lbWlsaWtpIHNpbWJvbCIKKworIzogY29uZmlnL3RjLWFscGhhLmM6NDE3NgorbXNnaWQgIk5vIHN5bWJvbCBhZnRlciAubGlua2FnZSIKK21zZ3N0ciAiVGlkYWsgYWRhIHNpbWJvbCBzZXRlbGFoIC5saW5rYWdlIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo0MjAwCittc2dpZCAiTm8gc3ltYm9sIGFmdGVyIC5jb2RlX2FkZHJlc3MiCittc2dzdHIgIlRpZGFrIGFkYSBzaW1ib2wgc2V0ZWxhaCAuY29kZV9hZGRyZXNzIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo0MjI3IGNvbmZpZy90Yy1zY29yZS5jOjU4MjIKK21zZ2lkICJCYWQgLm1hc2sgZGlyZWN0aXZlIgorbXNnc3RyICIubWFzayBkaXJla3RpZiBidXJ1ayIKKworIzogY29uZmlnL3RjLWFscGhhLmM6NDI0NQorbXNnaWQgIkJhZCAuZm1hc2sgZGlyZWN0aXZlIgorbXNnc3RyICIuZm1hc2sgZGlyZWt0aWYgYnVydWsiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjQ0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhwZWN0ZWQgY29tbWEgYWZ0ZXIgbmFtZSBcIiVzXCIiCittc2dzdHIgIkRpZHVnYSBrb21hIHNldGVsYWggbmFtYSBcIiVzXCIiCisKKyMuICpzeW1ib2xfZ2V0X29iaiAoc3ltYm9sUCkgPSAoc2lnbmVkIGNoYXIpIHRlbXA7CisjOiBjb25maWcvdGMtYWxwaGEuYzo0NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuaGFuZGxlZDogLnByb2MgJXMsJWQiCittc2dzdHIgInRpZGFrIHRlcnRhbmdhbmk6IC5wcm9jICVzLCVkIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo0NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWVkIHRvIC5zZXQgdW5yZWNvZ25pemVkIG1vZGUgYCVzJyIKK21zZ3N0ciAiTWVuY29iYSB1bnR1ayAuc2V0IG1vZGUgdGlkYWsgZGlrZW5hbCBgJXMnIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo0NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCBiYXNlIHJlZ2lzdGVyLCB1c2luZyAkJWQuIgorbXNnc3RyICJEYXNhciByZWdpc3RlciBidXJ1aywgbWVuZ2d1bmFrYW4gJCVkLiIKKworIzogY29uZmlnL3RjLWFscGhhLmM6NDQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgdG9vIGxhcmdlOiAlZC4gYXNzdW1lZCIKK21zZ3N0ciAiQWxpZ21lbnQgdGVybGFsdSBiZXNhcjogJWQuIGRpYXN1bXNpa2FuIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo0NDk4IGNvbmZpZy90Yy1kMzB2LmM6MjA0OAorbXNnaWQgIkFsaWdubWVudCBuZWdhdGl2ZTogMCBhc3N1bWVkIgorbXNnc3RyICJBbGlnbm1lbnQgbmVnYXRpZjogMCBkaWFzdW1zaWthbiIKKworIzogY29uZmlnL3RjLWFscGhhLmM6NDc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJDaG9zZSBHUCB2YWx1ZSBvZiAlbHhcbiIKK21zZ3N0ciAiTWVtaWxpaCBuaWxhaSBHUCBkYXJpICVseFxuIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo0Nzg5Cittc2dpZCAiQmFkIC5zZWN0aW9uIGRpcmVjdGl2ZTogd2FudCBhLHMsdyx4LE0sUyxHLFQgaW4gc3RyaW5nIgorbXNnc3RyICJEaXJla3RpZiAuc2VjdGlvbiBidXJ1azogaW5naW4gYSxzLHcseCxNLFMsRyxUIGRhbGFtIHN0cmluZyIKKworIzogY29uZmlnL3RjLWFscGhhLmM6NDg3OAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY2FuJ3QgaGFzaCBvcGNvZGUgYCVzJzogJXMiCittc2dzdHIgImludGVybmFsIGVycm9yOiB0aWRhayBkYXBhdCBoYXNoIG9wY29kZSBgJXMnOiAlcyIKKworIzogY29uZmlnL3RjLWFscGhhLmM6NDkxNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY2FuJ3QgaGFzaCBtYWNybyBgJXMnOiAlcyIKK21zZ3N0ciAiaW50ZXJuYWwgZXJyb3I6IHRpZGFrIGRhcGF0IGhhc2ggbWFrcm8gYCVzJzogJXMiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjQ5OTggY29uZmlnL3RjLWFybS5jOjYwNzMgY29uZmlnL3RjLWFybS5jOjYwODUKKyM6IGNvbmZpZy90Yy1pOTYwLmM6NzA4IGNvbmZpZy90Yy14dGVuc2EuYzo1MjUxIGNvbmZpZy90Yy14dGVuc2EuYzo1MzI5CisjOiBjb25maWcvdGMteHRlbnNhLmM6NTQyNSBjb25maWcvdGMtejgwLmM6MTg5MworbXNnaWQgInN5bnRheCBlcnJvciIKK21zZ3N0ciAic3ludGF4IGVycm9yIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo1MDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gQ1BVIGlkZW50aWZpZXIgYCVzJyIKK21zZ3N0ciAiQ1BVIGlkZW50aWZpZXIgdGlkYWsgZGlrZW5hbCBgJXMnIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo1MTE5Cittc2dpZCAiIgorIkFscGhhIG9wdGlvbnM6XG4iCisiLTMyYWRkclx0XHRcdHRyZWF0IGFkZHJlc3NlcyBhcyAzMi1iaXQgdmFsdWVzXG4iCisiLUZcdFx0XHRsYWNrIGZsb2F0aW5nIHBvaW50IGluc3RydWN0aW9ucyBzdXBwb3J0XG4iCisiLW1ldjQgfCAtbWV2NDUgfCAtbWV2NSB8IC1tZXY1NiB8IC1tcGNhNTYgfCAtbWV2NiB8IC1tZXY2NyB8IC1tZXY2OCB8IC1tYWxsXG4iCisiXHRcdFx0c3BlY2lmeSB2YXJpYW50IG9mIEFscGhhIGFyY2hpdGVjdHVyZVxuIgorIi1tMjEwNjQgfCAtbTIxMDY2IHwgLW0yMTE2NCB8IC1tMjExNjRhIHwgLW0yMTE2NHBjIHwgLW0yMTI2NCB8IC1tMjEyNjRhIHwgLW0yMTI2NGJcbiIKKyJcdFx0XHR0aGVzZSB2YXJpYW50cyBpbmNsdWRlIFBBTGNvZGUgb3Bjb2Rlc1xuIgorbXNnc3RyICIiCisiQWxwaGEgb3BzaTpcbiIKKyItMzJhZGRyXHRcdFx0cGVybGFrdWthbiBhbGFtYXQgc2ViYWdhaSBuaWxhaSAzMi1iaXRcbiIKKyItRlx0XHRcdHRpZGFrIGFkYSBkdWt1bmdhbiBpbnN0cnVrc2kgZmxvYXRpbmcgcG9pbnRcbiIKKyItbWV2NCB8IC1tZXY0NSB8IC1tZXY1IHwgLW1ldjU2IHwgLW1wY2E1NiB8IC1tZXY2IHwgLW1ldjY3IHwgLW1ldjY4IHwgLW1hbGxcbiIKKyJcdFx0XHRzcGVzaWZpa2FzaWthbiB2YXJpYXNpIGRhcmkgYXJzaXRla3R1ciBBbHBoYVxuIgorIi1tMjEwNjQgfCAtbTIxMDY2IHwgLW0yMTE2NCB8IC1tMjExNjRhIHwgLW0yMTE2NHBjIHwgLW0yMTI2NCB8IC1tMjEyNjRhIHwgLW0yMTI2NGJcbiIKKyJcdFx0XHR2YXJpYW4gaW5pIHRlcm1hc3VrIFBBTGNvZGUgb3Bjb2Rlc1xuIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo1MTI5Cittc2dpZCAiIgorIlZNUyBvcHRpb25zOlxuIgorIi0rXHRcdFx0aGFzaCBlbmNvZGUgKGRvbid0IHRydW5jYXRlKSBuYW1lcyBsb25nZXIgdGhhbiA2NCBjaGFyYWN0ZXJzXG4iCisiLUhcdFx0XHRzaG93IG5ldyBzeW1ib2wgYWZ0ZXIgaGFzaCB0cnVuY2F0aW9uXG4iCittc2dzdHIgIiIKKyJWTVMgb3BzaTpcbiIKKyItK1x0XHRcdGhhc2ggZW5rb2RlIChqYW5nYW4gcG90b25nKSBuYW1hIGxlYmloIHBhbmphbmcgZGFyaSA2NCBrYXJha3RlclxuIgorIi1IXHRcdFx0cGVybGloYXRrYW4gc2ltYm9sIGJhcnUgc2V0ZWxhaCBwZW1vdG9uZ2FuIGhhc2hcbiIKKworIzogY29uZmlnL3RjLWFscGhhLmM6NTMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmhhbmRsZWQgcmVsb2NhdGlvbiB0eXBlICVzIgorbXNnc3RyICJ0aXBlIHJlbG9rYXNpICVzIHRpZGFrIHRlcnRhbmdhbmkiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjUzMTkKK21zZ2lkICJub24tYWJzb2x1dGUgZXhwcmVzc2lvbiBpbiBjb25zdGFudCBmaWVsZCIKK21zZ3N0ciAiYnVrYW4tYWJzb2x1dGUgZWtzcHJlc2kgZGFsYW0gZGFlcmFoIGtvbnN0YW4iCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjUzMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidHlwZSAlZCByZWxvYyBkb25lP1xuIgorbXNnc3RyICJ0aXBlICVkIHJlbG9rYXNpIHNlbGVzYWk/XG4iCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjUzODAgY29uZmlnL3RjLWFscGhhLmM6NTM4NworbXNnaWQgIlVzZWQgJGF0IHdpdGhvdXQgXCIuc2V0IG5vYXRcIiIKK21zZ3N0ciAiTWVuZ2d1bmFrYW4gJGF0IHRhbnBhIFwiLnNldCBub2F0XCIiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjU1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIXNhbWVncCByZWxvYyBhZ2FpbnN0IHN5bWJvbCB3aXRob3V0IC5wcm9sb2d1ZTogJXMiCittc2dzdHIgIiFzYW1lZ3AgcmVsb2thc2kgdGVyaGFkYXAgc2ltYm9sIHRhbnBhIC5wcm9sb2d1ZTogJXMiCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjU1ODYgY29uZmlnL3RjLXh0ZW5zYS5jOjU5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlcHJlc2VudCBgJXMnIHJlbG9jYXRpb24gaW4gb2JqZWN0IGZpbGUiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lcmVwcmVzZW50YXNpa2FuIHJlbG9rYXNpIGAlcycgZGFsYW0gYmVya2FzIG9iamVrIgorCisjOiBjb25maWcvdGMtYWxwaGEuYzo1NTkyCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yPyBjYW5ub3QgZ2VuZXJhdGUgYCVzJyByZWxvY2F0aW9uIgorbXNnc3RyICJpbnRlcm5hbCBlcnJvcj8gdGlkYWsgZGFwYXQgbWVuZ2hhc2lsa2FuIHJlbG9rYXNpIGAlcyciCisKKyM6IGNvbmZpZy90Yy1hbHBoYS5jOjU2NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJhbWUgcmVnIGV4cGVjdGVkLCB1c2luZyAkJWQuIgorbXNnc3RyICJmcmFtZSByZWcgZGlwZXJraXJha2FuLCBtZW5nZ3VuYWthbiAkJWQuIgorCisjOiBjb25maWcvdGMtYXJjLmM6MTk0IGNvbmZpZy90Yy1hcmMuYzoyMTUgY29uZmlnL3RjLWFyYy5jOjk5MQorIzogY29uZmlnL3RjLWg4MzAwLmM6NzYgY29uZmlnL3RjLWg4MzAwLmM6ODUgY29uZmlnL3RjLWg4MzAwLmM6OTUKKyM6IGNvbmZpZy90Yy1oODMwMC5jOjEwNSBjb25maWcvdGMtaDgzMDAuYzoxMTUgY29uZmlnL3RjLWg4MzAwLmM6MTI2CisjOiBjb25maWcvdGMtaDgzMDAuYzoxOTMgY29uZmlnL3RjLWhwcGEuYzo2Nzg5IGNvbmZpZy90Yy1ocHBhLmM6Njc5NQorIzogY29uZmlnL3RjLWhwcGEuYzo2ODAxIGNvbmZpZy90Yy1ocHBhLmM6NjgwNyBjb25maWcvdGMtaHBwYS5jOjgyMTQKKyM6IGNvbmZpZy90Yy1tbjEwMzAwLmM6OTM1IGNvbmZpZy90Yy1tbjEwMzAwLmM6OTQwIGNvbmZpZy90Yy1tbjEwMzAwLmM6MjQzMworIzogY29uZmlnL3RjLXhjMTZ4LmM6NzkgY29uZmlnL3RjLXhjMTZ4LmM6ODYgY29uZmlnL3RjLXhjMTZ4LmM6OTMKK21zZ2lkICJjb3VsZCBub3Qgc2V0IGFyY2hpdGVjdHVyZSBhbmQgbWFjaGluZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuc2V0IGFyc2l0ZWt0dXIgZGFuIG1lc2luIgorCisjOiBjb25maWcvdGMtYXJjLmM6MjEyIGNvbmZpZy90Yy1hcm0uYzoxOTYwMiBjb25maWcvdGMtc2NvcmUuYzo2NTIyCisjOiBjb25maWcvdGMtc2NvcmUuYzo2NTM4IGNvbmZpZy90Yy1zY29yZS5jOjY1NDMKK21zZ2lkICJ2aXJ0dWFsIG1lbW9yeSBleGhhdXN0ZWQiCittc2dzdHIgImtlaGFiaXNhbiB2aXJ0dWFsIG1lbW9yaSIKKworIzogY29uZmlnL3RjLWFyYy5jOjQzMiBjb25maWcvdGMtYXJjLmM6NjcwCittc2dpZCAiZXhwZWN0ZWQgY29tbWEgYWZ0ZXIgb3BlcmFuZCBuYW1lIgorbXNnc3RyICJkaWR1Z2Ega29tYSBzZXRlbGFoIG5hbWEgb3BlcmFuIgorCisjOiBjb25maWcvdGMtYXJjLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIm5lZ2F0aXZlIG9wZXJhbmQgbnVtYmVyICVkIgorbXNnc3RyICJuZWdhdGlmIG5vbW9yIG9wZXJhbiAlZCIKKworIzogY29uZmlnL3RjLWFyYy5jOjQ1NQorbXNnaWQgImV4cGVjdGVkIGNvbW1hIGFmdGVyIHJlZ2lzdGVyLW51bWJlciIKK21zZ3N0ciAiZGlkdWdhIGtvbWEgc2V0ZWxhaCBub21vci1yZWdpc3RlciIKKworIzogY29uZmlnL3RjLWFyYy5jOjQ4MAorbXNnaWQgImludmFsaWQgbW9kZSIKK21zZ3N0ciAibW9kZSB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWFyYy5jOjQ5NworbXNnaWQgImV4cGVjdGVkIGNvbW1hIGFmdGVyIHJlZ2lzdGVyLW1vZGUiCittc2dzdHIgImRpZHVnYSBrb21hIHNldGVsYWggbW9kZS1yZWdpc3RlciIKKworIzogY29uZmlnL3RjLWFyYy5jOjUxNAorbXNnaWQgInNob3J0Y3V0IGRlc2lnbmF0b3IgaW52YWxpZCIKK21zZ3N0ciAic2hvcnRjdXQgZGVzaWduYXRvciB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWFyYy5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JlIHJlZ2lzdGVyIHZhbHVlICglZCkgdG9vIGxhcmdlIgorbXNnc3RyICJuaWxhaSByZWdpc3RlciBjb3JlICglZCkgdGVybGFsdSBiZXNhciIKKworIzogY29uZmlnL3RjLWFyYy5jOjUzNworIywgYy1mb3JtYXQKK21zZ2lkICJjb25kaXRpb24gY29kZSB2YWx1ZSAoJWQpIHRvbyBsYXJnZSIKK21zZ3N0ciAibmlsYWkga29kZSBrb25kaXNpICglZCkgdGVybGFsdSBiZXNhciIKKworIzogY29uZmlnL3RjLWFyYy5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRlbXB0IHRvIG92ZXJyaWRlIHN5bWJvbDogJXMiCittc2dzdHIgIm1lbmNvYmEgbWVtYWtzYSBzaW1ib2w6ICVzIgorCisjOiBjb25maWcvdGMtYXJjLmM6NjI1Cittc2dpZCAiaW52YWxpZCBvcGVydHlwZSIKK21zZ3N0ciAib3BlcnR5cGUgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1hcmMuYzo2ODIKK21zZ2lkICJleHBlY3RlZCBjb21tYSBhZnRlciBvcGNvZGUiCittc2dzdHIgImRpZHVnYSBrb21hIHNldGVhbCBvcGNvZGUiCisKKyM6IGNvbmZpZy90Yy1hcmMuYzo2OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVnYXRpdmUgc3Vib3Bjb2RlICVkIgorbXNnc3RyICJzdWJvcGNvZGUgJWQgbmVnYXRpZiIKKworIzogY29uZmlnL3RjLWFyYy5jOjcwMQorbXNnaWQgInN1YmNvZGUgdmFsdWUgZm91bmQgd2hlbiBvcGNvZGUgbm90IGVxdWFsIDB4MDMiCittc2dzdHIgIm5pbGFpIHN1YmNvZGUgZGl0ZW11a2FuIGtldGlrYSBvcGNvZGUgdGlkYWsgc2FtYSAweDAzIgorCisjOiBjb25maWcvdGMtYXJjLmM6NzA5CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3Vib3Bjb2RlICVkIgorbXNnc3RyICJzdWJvcGNvZGUgJWQgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1hcmMuYzo3MjAKK21zZ2lkICJleHBlY3RlZCBjb21tYSBhZnRlciBzdWJvcGNvZGUiCittc2dzdHIgImRpZHVnYSBrb21hIHNldGVsYWggc3Vib3Bjb2RlIgorCisjOiBjb25maWcvdGMtYXJjLmM6NzM5Cittc2dpZCAiaW52YWxpZCBzdWZmaXggY2xhc3MiCittc2dzdHIgImtlbGFzIGFraGlyYW4gdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1hcmMuYzo3NDgKK21zZ2lkICJleHBlY3RlZCBjb21tYSBhZnRlciBzdWZmaXggY2xhc3MiCittc2dzdHIgImRpZHVnYSBrb21hIHNldGVsYWgga2VsYXMgYWtoaXJhIgorCisjOiBjb25maWcvdGMtYXJjLmM6NzY3Cittc2dpZCAiaW52YWxpZCBzeW50YXggY2xhc3MiCittc2dzdHIgImtlbGFzIHN5bnRheCB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWFyYy5jOjc3NAorbXNnaWQgIm9wY29kZSAweDMgYW5kIFNZTlRBWF8zT1AgaW52YWxpZCIKK21zZ3N0ciAib3Bjb2RlIDB4MyBkYW4gU1lOVEFYXzNPUCB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWFyYy5jOjc5NAorbXNnaWQgInVua25vd24gc3VmZml4IGNsYXNzIgorbXNnc3RyICJrZWxhcyBzdWZmaXggdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLWFyYy5jOjg2MQorbXNnaWQgImV4cGVjdGVkIGNvbW1hIGFmdGVyIHN5bWJvbCBuYW1lIgorbXNnc3RyICJkaWR1Z2Ega29tYSBzZXRlbGFoIG5hbWEgc2ltYm9sIgorCisjOiBjb25maWcvdGMtYXJjLmM6ODcxCittc2dpZCAibmVnYXRpdmUgc3ltYm9sIGxlbmd0aCIKK21zZ3N0ciAicGFuamFuZyBzaW1ib2wgbmVnYXRpZiIKKworIzogY29uZmlnL3RjLWFyYy5jOjg4MgorbXNnaWQgImlnbm9yaW5nIGF0dGVtcHQgdG8gcmUtZGVmaW5lIHN5bWJvbCIKK21zZ3N0ciAibWVuZ2FiYWlrYW4gcGVyY29iYWFuIHVudHVrIG1lcmVkZWZpbmlzaSBzaW1ib2wiCisKKyM6IGNvbmZpZy90Yy1hcmMuYzo4ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAibGVuZ3RoIG9mIHN5bWJvbCBcIiVzXCIgYWxyZWFkeSAlbGQsIGlnbm9yaW5nICVkIgorbXNnc3RyICJwYW5qYW5nIGRhcmkgc2ltYm9sIFwiJXNcIiB0ZWxhaCAlbGQsIG1lbmdhYmFpa2FuICVkIgorCisjOiBjb25maWcvdGMtYXJjLmM6OTAzCittc2dpZCAiYXNzdW1pbmcgc3ltYm9sIGFsaWdubWVudCBvZiB6ZXJvIgorbXNnc3RyICJtZW5nYXN1bXNpa2FuIHNpbWJvbCBhbGlnbm1lbiBkYXJpIG5vbCIKKworIzogY29uZmlnL3RjLWFyYy5jOjk3MAorbXNnaWQgIlwiLm9wdGlvblwiIGRpcmVjdGl2ZSBtdXN0IGFwcGVhciBiZWZvcmUgYW55IGluc3RydWN0aW9ucyIKK21zZ3N0ciAiXCIub3B0aW9uXCIgZGlyZWt0aWYgaGFydXMgbXVuY3VsIHNlYmVsdW0gaW5zdHJ1a3NpIGFwYXB1biIKKworIzogY29uZmlnL3RjLWFyYy5jOjk4MAorbXNnaWQgIlwiLm9wdGlvblwiIGRpcmVjdGl2ZSBjb25mbGljdHMgd2l0aCBpbml0aWFsIGRlZmluaXRpb24iCittc2dzdHIgIlwiLm9wdGlvblwiIGRpcmVrdGlmIGtvbmZsaWsgZGVuZ2FuIGluaXNpYWwgZGVmaW5pc2kiCisKKyM6IGNvbmZpZy90Yy1hcmMuYzo5ODgKK21zZ2lkICJcIi5vcHRpb25cIiBkaXJlY3RpdmUgb3ZlcnJpZGVzIGNvbW1hbmQtbGluZSAoZGVmYXVsdCkgdmFsdWUiCittc2dzdHIgIlwiLm9wdGlvblwiIGRpcmVrdGlmIG1lbWFrc2EgbmlsYWkgYmFyaXMtcGVyaW50YWggKGJha3UpIgorCisjOiBjb25maWcvdGMtYXJjLmM6OTk4Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyIGZvciBcIi5vcHRpb25cIiIKK21zZ3N0ciAiaWRlbnRpZmllciB0aWRhayB2YWxpZCB1bnR1ayBcIi5vcHRpb25cIiIKKworIzogY29uZmlnL3RjLWFyYy5jOjEwMzYgY29uZmlnL3RjLWk4NjAuYzoxMDM0IGNvbmZpZy90Yy1pcDJrLmM6MjQ5Cittc2dpZCAicmVsYXhhdGlvbiBub3Qgc3VwcG9ydGVkXG4iCittc2dzdHIgInJlbGF4YXRpb24gdGlkYWsgZGlkdWt1bmdcbiIKKworIzogY29uZmlnL3RjLWFyYy5jOjEwODAKK21zZ2lkICJleHByZXNzaW9uIHRvbyBjb21wbGV4IGNvZGUgc3ltYm9sIgorbXNnc3RyICJla3NwcmVzaSB0ZXJsYWx1IGtvbXBsZWtzIHVudHVrIGtvZGUgc2ltYm9sIgorCisjOiBjb25maWcvdGMtYXJjLmM6MTEwNworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nICcpJyBpbiAlJS1vcCIKK21zZ3N0ciAiaGlsYW5nICcpJyBkYWxhbSAlJS1vcCIKKworIzogY29uZmlnL3RjLWFyYy5jOjEzNjIgY29uZmlnL3RjLWRseC5jOjEyMDAgY29uZmlnL3RjLW0zMnIuYzoyMjgxCisjOiBjb25maWcvdGMtc3BhcmMuYzozNTA0CisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiBjYW4ndCBleHBvcnQgcmVsb2MgdHlwZSAlZCAoYCVzJykiCittc2dzdHIgImludGVybmFsIGVycm9yOiB0aWRhayBkYXBhdCBtZW5la3Nwb3IgcmVsb2thc2kgdGlwZSAlZCAoYCVzJykiCisKKyM6IGNvbmZpZy90Yy1hcmMuYzoxNDk0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc3ludGF4IGZvcm1hdCBjaGFyYWN0ZXIgYCVjJyIKK21zZ3N0ciAic2ludGFrcyBmb3JtYXQga2FyYWt0ZXIgYCVjJyB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtYXJjLmM6MTYzMgorbXNnaWQgInRvbyBtYW55IHN1ZmZpeGVzIgorbXNnc3RyICJ0ZXJsYWx1IGJhbnlhayBha2hpcmFuIgorCisjOiBjb25maWcvdGMtYXJjLmM6MTY3MQorbXNnaWQgInN5bWJvbCBhcyBkZXN0aW5hdGlvbiByZWdpc3RlciIKK21zZ3N0ciAic2ltYm9sIHNlYmFnYWkgcmVnaXN0ZXIgdHVqdWFuIgorCisjOiBjb25maWcvdGMtYXJjLmM6MTc1NiBjb25maWcvdGMtbW4xMDIwMC5jOjExNDEgY29uZmlnL3RjLW1uMTAzMDAuYzoxODIwCisjOiBjb25maWcvdGMtcHBjLmM6Mjc5MSBjb25maWcvdGMtczM5MC5jOjE0NDMgY29uZmlnL3RjLXY4NTAuYzoyMDA5CisjLCBjLWZvcm1hdAorbXNnaWQgImp1bmsgYXQgZW5kIG9mIGxpbmU6IGAlcyciCittc2dzdHIgInNhbXBhaCBkaWFraGlyIGRhcmkgYmFyaXM6IGAlcyciCisKKyM6IGNvbmZpZy90Yy1hcmMuYzoxNzk1Cittc2dpZCAiOCBieXRlIGluc3RydWN0aW9uIGluIGRlbGF5IHNsb3QiCittc2dzdHIgIjggYnl0ZSBpbnN0cnVrc2kgZGFsYW0gZGVsYXUgc2xvdCIKKworIy4gZXhjZXB0IGZvciBqbCAgYWRkcgorIzogY29uZmlnL3RjLWFyYy5jOjE3OTgKK21zZ2lkICI4IGJ5dGUganVtcCBpbnN0cnVjdGlvbiB3aXRoIGRlbGF5IHNsb3QiCittc2dzdHIgIjggYnl0ZSBqdW1wIGluc3RydWtzaSBkZW5nYW4gZGVsYXkgc2xvdCIKKworIzogY29uZmlnL3RjLWFyYy5jOjE4MDYKK21zZ2lkICJjb25kaXRpb25hbCBicmFuY2ggZm9sbG93cyBzZXQgb2YgZmxhZ3MiCittc2dzdHIgImtvbmRpc2lvbmFsIGJyYW5jaCBtZW5naWt1dGkgc2V0IGRhcmkgZmxhZ3MiCisKKyM6IGNvbmZpZy90Yy1hcmMuYzoxODkwIGNvbmZpZy90Yy1hcm0uYzoxNDIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgaW5zdHJ1Y3Rpb24gYCVzJyIKK21zZ3N0ciAiaW5zdHJ1a3NpIGAlcycgYnVydWsiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo0ODkKK21zZ2lkICJBUk0gcmVnaXN0ZXIgZXhwZWN0ZWQiCittc2dzdHIgIkFSTSByZWdpc3RlciBkaWR1Z2EiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo0OTAKK21zZ2lkICJiYWQgb3IgbWlzc2luZyBjby1wcm9jZXNzb3IgbnVtYmVyIgorbXNnc3RyICJidXJ1ayBhdGF1IGhpbGFuZyBub21vciBjby1wcm9zZXNvciIKKworIzogY29uZmlnL3RjLWFybS5jOjQ5MQorbXNnaWQgImNvLXByb2Nlc3NvciByZWdpc3RlciBleHBlY3RlZCIKK21zZ3N0ciAiY28tcHJvc2Vzb3IgcmVnaXN0ZXIgZGlkdWdhIgorCisjOiBjb25maWcvdGMtYXJtLmM6NDkyCittc2dpZCAiRlBBIHJlZ2lzdGVyIGV4cGVjdGVkIgorbXNnc3RyICJGUEEgcmVnaXN0ZXIgZGlkdWdhIgorCisjOiBjb25maWcvdGMtYXJtLmM6NDkzCittc2dpZCAiVkZQIHNpbmdsZSBwcmVjaXNpb24gcmVnaXN0ZXIgZXhwZWN0ZWQiCittc2dzdHIgIlZGUCBzaW5nbGUgcHJlc2lzaSByZWdpc3RlciBkaWR1Z2EiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo0OTQKK21zZ2lkICJWRlAvTmVvbiBkb3VibGUgcHJlY2lzaW9uIHJlZ2lzdGVyIGV4cGVjdGVkIgorbXNnc3RyICJWRlAvTmVvbiBkb3VibGUgcHJlc2lzaSByZWdpc3RlciBkaWR1Z2EiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo0OTUKK21zZ2lkICJOZW9uIHF1YWQgcHJlY2lzaW9uIHJlZ2lzdGVyIGV4cGVjdGVkIgorbXNnc3RyICJOZW9uIHF1YWQgcHJlc2lzaSByZWdpc3RlciBkaWR1Z2EiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo0OTYKK21zZ2lkICJWRlAgc2luZ2xlIG9yIGRvdWJsZSBwcmVjaXNpb24gcmVnaXN0ZXIgZXhwZWN0ZWQiCittc2dzdHIgIlZGUCBzaW5nbGUgYXRhdSBkb3VibGUgcHJlc2lzaSByZWdpc3RlciBkaWR1Z2EiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo0OTcKK21zZ2lkICJOZW9uIGRvdWJsZSBvciBxdWFkIHByZWNpc2lvbiByZWdpc3RlciBleHBlY3RlZCIKK21zZ3N0ciAiTmVvbiBkb3VibGUgYXRhdSBxdWFkIHByZXNpc2lzIHJlZ2lzdGVyIGRpZHVnYSIKKworIzogY29uZmlnL3RjLWFybS5jOjQ5OAorbXNnaWQgIlZGUCBzaW5nbGUsIGRvdWJsZSBvciBOZW9uIHF1YWQgcHJlY2lzaW9uIHJlZ2lzdGVyIGV4cGVjdGVkIgorbXNnc3RyICJWRlAgc2luZ2xlLCBkb3VibGUgYXRhdSBOZW9uIHF1YWQgcHJlc2lzaSByZWdpc3RlciBkaWR1Z2EiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo0OTkKK21zZ2lkICJWRlAgc3lzdGVtIHJlZ2lzdGVyIGV4cGVjdGVkIgorbXNnc3RyICJWRlAgc2lzdGVtIHJlZ2lzdGVyIGRpZHVnYSIKKworIzogY29uZmlnL3RjLWFybS5jOjUwMAorbXNnaWQgIk1hdmVyaWNrIE1WRiByZWdpc3RlciBleHBlY3RlZCIKK21zZ3N0ciAiTWF2ZXJpY2sgTVZGIHJlZ2lzdGVyIGRpZHVnYSIKKworIzogY29uZmlnL3RjLWFybS5jOjUwMQorbXNnaWQgIk1hdmVyaWNrIE1WRCByZWdpc3RlciBleHBlY3RlZCIKK21zZ3N0ciAiTWF2ZXJpY2sgTVZEIHJlZ2lzdGVyIGRpZHVnYSIKKworIzogY29uZmlnL3RjLWFybS5jOjUwMgorbXNnaWQgIk1hdmVyaWNrIE1WRlggcmVnaXN0ZXIgZXhwZWN0ZWQiCittc2dzdHIgIk1hdmVyaWNrIE1WRlggcmVnaXN0ZXIgZGlkdWdhIgorCisjOiBjb25maWcvdGMtYXJtLmM6NTAzCittc2dpZCAiTWF2ZXJpY2sgTVZEWCByZWdpc3RlciBleHBlY3RlZCIKK21zZ3N0ciAiTWF2ZXJpYyBNVkRYIHJlZ2lzdGVyIGRpZHVnYSIKKworIzogY29uZmlnL3RjLWFybS5jOjUwNAorbXNnaWQgIk1hdmVyaWNrIE1WQVggcmVnaXN0ZXIgZXhwZWN0ZWQiCittc2dzdHIgIk1hdmVyaWNrIE1WQVggcmVnaXN0ZXIgZGlkdWdhIgorCisjOiBjb25maWcvdGMtYXJtLmM6NTA1Cittc2dpZCAiTWF2ZXJpY2sgRFNQU0MgcmVnaXN0ZXIgZXhwZWN0ZWQiCittc2dzdHIgIk1hdmVyaWNrIERTUFNDIHJlZ2lzdGVyIGRpZHVnYSIKKworIzogY29uZmlnL3RjLWFybS5jOjUwNgorbXNnaWQgImlXTU1YdCBkYXRhIHJlZ2lzdGVyIGV4cGVjdGVkIgorbXNnc3RyICJpV01NWHQgZGF0YSByZWdpc3RlciBkaWR1Z2EiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo1MDcgY29uZmlnL3RjLWFybS5jOjU4ODIKK21zZ2lkICJpV01NWHQgY29udHJvbCByZWdpc3RlciBleHBlY3RlZCIKK21zZ3N0ciAiaVdNTVh0IGtvbnRyb2wgcmVnaXN0ZXIgZGlkdWdhIgorCisjOiBjb25maWcvdGMtYXJtLmM6NTA4Cittc2dpZCAiaVdNTVh0IHNjYWxhciByZWdpc3RlciBleHBlY3RlZCIKK21zZ3N0ciAiaVdNTVh0IHNjYWxhciByZWdpc3RlciBkaWR1Z2EiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo1MDkKK21zZ2lkICJYU2NhbGUgYWNjdW11bGF0b3IgcmVnaXN0ZXIgZXhwZWN0ZWQiCittc2dzdHIgIlhTY2FsZSBha3VtdWxhdG9yIHJlZ2lzdGVyIGRpZHVnYSIKKworIy4gRm9yIHNjb3JlNXUgOiBkaXYvbXVsIHdpbGwgcG9wIHdhcm5pbmcgbWVzc2FnZSwgbW11L2Fsdy9hc3cgd2lsbCBwb3AgZXJyb3IgbWVzc2FnZS4KKyM6IGNvbmZpZy90Yy1hcm0uYzo2NTggY29uZmlnL3RjLXNjb3JlLmM6NDcKK21zZ2lkICJiYWQgYXJndW1lbnRzIHRvIGluc3RydWN0aW9uIgorbXNnc3RyICJhcmd1bWVuIGJ1cnVrIHRlcmhhZGFwIGluc3RydWtzaSIKKworIzogY29uZmlnL3RjLWFybS5jOjY1OSBjb25maWcvdGMtc2NvcmUuYzo0OAorbXNnaWQgInIxNSBub3QgYWxsb3dlZCBoZXJlIgorbXNnc3RyICJyMTUgdGlkYWsgZGlwZXJib2xlaGthbiBkaXNpbmkiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo2NjAKK21zZ2lkICJpbnN0cnVjdGlvbiBjYW5ub3QgYmUgY29uZGl0aW9uYWwiCittc2dzdHIgImluc3RydWtzaSB0aWRhayBkYXBhdCBiZXJ1cGEga29uZGlzaW9uYWwiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo2NjEKK21zZ2lkICJyZWdpc3RlcnMgbWF5IG5vdCBiZSB0aGUgc2FtZSIKK21zZ3N0ciAicmVnaXN0ZXIgbXVuZ2tpbiB0aWRhayBzYW1hIgorCisjOiBjb25maWcvdGMtYXJtLmM6NjYyCittc2dpZCAibG8gcmVnaXN0ZXIgcmVxdWlyZWQiCittc2dzdHIgImxvIHJlZ2lzdGVyIGRpYnV0dWhrYW4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo2NjMKK21zZ2lkICJpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSIKK21zZ3N0ciAiaW5zdHJ1a3NpIHRpZGFrIGRpZHVrdW5nIGRhbGFtIG1vZGUgVGh1bWIxNiIKKworIzogY29uZmlnL3RjLWFybS5jOjY2NAorbXNnaWQgImluc3RydWN0aW9uIGRvZXMgbm90IGFjY2VwdCB0aGlzIGFkZHJlc3NpbmcgbW9kZSIKK21zZ3N0ciAiaW5zdHJ1a3NpIHRpZGFrIG1lbmVyaW1hIG1vZGUgcGVuZ2FsYW1hdGFuIGluaSIKKworIzogY29uZmlnL3RjLWFybS5jOjY2NQorbXNnaWQgImJyYW5jaCBtdXN0IGJlIGxhc3QgaW5zdHJ1Y3Rpb24gaW4gSVQgYmxvY2siCittc2dzdHIgInBlbmNhYmFuZ2FuIGhhcnVzIGFraGlyIGluc3RydWtzaSBkYWxhbSBJVCBibG9rIgorCisjOiBjb25maWcvdGMtYXJtLmM6NjY2Cittc2dpZCAiaW5zdHJ1Y3Rpb24gbm90IGFsbG93ZWQgaW4gSVQgYmxvY2siCittc2dzdHIgImluc3RydWtzaSB0aWRhayBkaXBlcmJvbGVoa2FuIGRhbGFtIGJsb2sgSVQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo2NjcKK21zZ2lkICJzZWxlY3RlZCBGUFUgZG9lcyBub3Qgc3VwcG9ydCBpbnN0cnVjdGlvbiIKK21zZ3N0ciAiRlBVIHlhbmcgZGlwaWxpaCB0aWRhayBtZW5kdWt1bmcgaW5zdHJ1a3NpIgorCisjOiBjb25maWcvdGMtYXJtLmM6ODA3Cittc2dpZCAiaW1tZWRpYXRlIGV4cHJlc3Npb24gcmVxdWlyZXMgYSAjIHByZWZpeCIKK21zZ3N0ciAiZWtzcHJlc2kgbGFuZ3N1bmcgbWVtYnV0dWhrYW4gc2VidWFoIGF3YWxhaCAjIgorCisjOiBjb25maWcvdGMtYXJtLmM6ODM0IGNvbmZpZy90Yy1zY29yZS5jOjU2MDUgZXhwci5jOjEzMDAgcmVhZC5jOjI0NDAKK21zZ2lkICJiYWQgZXhwcmVzc2lvbiIKK21zZ3N0ciAiZWtwcmVzaSBidXJ1ayIKKworIzogY29uZmlnL3RjLWFybS5jOjg0NSBjb25maWcvdGMtaTg2MC5jOjEwMDMgY29uZmlnL3RjLXNwYXJjLmM6Mjg3NgorbXNnaWQgImJhZCBzZWdtZW50IgorbXNnc3RyICJzZWdtZW4gYnVydWsiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo4NjIgY29uZmlnL3RjLWFybS5jOjQzOTkgY29uZmlnL3RjLWk5NjAuYzoxMzAwCisjOiBjb25maWcvdGMtc2NvcmUuYzo5ODAKK21zZ2lkICJpbnZhbGlkIGNvbnN0YW50IgorbXNnc3RyICJrb25zdGFudGEgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo5OTIKK21zZ2lkICJleHBlY3RlZCAjY29uc3RhbnQiCittc2dzdHIgImRpZHVnYSAjY29uc3RhbnQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMTUzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgY2hhcmFjdGVyIGAlYycgaW4gdHlwZSBzcGVjaWZpZXIiCittc2dzdHIgImthcmFrdGVyIGAlYycgdGlkYWsgZGlkdWdhIGRhbGFtIHRpcGUgc3Blc2lmaWthc2kiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMTcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzaXplICVkIGluIHR5cGUgc3BlY2lmaWVyIgorbXNnc3RyICJ1a3VyYW4gJWQgYnVydWsgZGFsYW0gdGlwZSBzcGVzaWZpa2FzaSIKKworIzogY29uZmlnL3RjLWFybS5jOjEyMjAKK21zZ2lkICJvbmx5IG9uZSB0eXBlIHNob3VsZCBiZSBzcGVjaWZpZWQgZm9yIG9wZXJhbmQiCittc2dzdHIgImhhbnlhIHNhdHUgdGlwZSB5YW5nIGhhcnVzIGRpc3Blc2lmaWthc2lrYW4gdW50dWsgb3BlcmFuIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTIyNgorbXNnaWQgInZlY3RvciB0eXBlIGV4cGVjdGVkIgorbXNnc3RyICJ0aXBlIHZlY3RvciBkaWR1Z2EiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMjk4Cittc2dpZCAiY2FuJ3QgcmVkZWZpbmUgdHlwZSBmb3Igb3BlcmFuZCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZGVmaW5pc2lrYW4gdGlwZSB1bnR1ayBvcGVyYW4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMzA5Cittc2dpZCAib25seSBEIHJlZ2lzdGVycyBtYXkgYmUgaW5kZXhlZCIKK21zZ3N0ciAiaGFueWEgRCByZWdpc3RlciB5YW5nIGJvbGVoIGRpaW5kZWtzIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTMxNQorbXNnaWQgImNhbid0IGNoYW5nZSBpbmRleCBmb3Igb3BlcmFuZCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ3ViYWggaW5kZWtzIHVudHVrIG9wZXJhbiIKKworIzogY29uZmlnL3RjLWFybS5jOjEzMzEgY29uZmlnL3RjLWFybS5jOjQwMDAKK21zZ2lkICJjb25zdGFudCBleHByZXNzaW9uIHJlcXVpcmVkIgorbXNnc3RyICJwZXJueWF0YWFuIGtvbnN0YW50YSBkaWJ1dHVoa2FuIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTM3NAorbXNnaWQgInJlZ2lzdGVyIG9wZXJhbmQgZXhwZWN0ZWQsIGJ1dCBnb3Qgc2NhbGFyIgorbXNnc3RyICJkaWR1Z2EgcmVnaXN0ZXIgb3BlcmFuLCB0ZXRhcGkgZGlwZXJvbGVoIHNrYWxhciIKKworIzogY29uZmlnL3RjLWFybS5jOjE0MDcKK21zZ2lkICJzY2FsYXIgbXVzdCBoYXZlIGFuIGluZGV4IgorbXNnc3RyICJza2FsYXIgaGFydXMgbWVtaWxpa2kgc2VidWFoIGluZGVrcyIKKworIzogY29uZmlnL3RjLWFybS5jOjE0MTIgY29uZmlnL3RjLWFybS5jOjEzMTc1IGNvbmZpZy90Yy1hcm0uYzoxMzIyMworIzogY29uZmlnL3RjLWFybS5jOjEzNjI1Cittc2dpZCAic2NhbGFyIGluZGV4IG91dCBvZiByYW5nZSIKK21zZ3N0ciAic2thbGFyIGluZGVrcyBkaWx1YXIgZGFyaSBqYW5na2F1YW4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxNDU5Cittc2dpZCAiYmFkIHJhbmdlIGluIHJlZ2lzdGVyIGxpc3QiCittc2dzdHIgImphbmdrYXVhbiBidXJ1ayBkYWxhbSBkYWZ0YXIgcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxNDY3IGNvbmZpZy90Yy1hcm0uYzoxNDc2IGNvbmZpZy90Yy1hcm0uYzoxNTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGR1cGxpY2F0ZWQgcmVnaXN0ZXIgKHIlZCkgaW4gcmVnaXN0ZXIgbGlzdCIKK21zZ3N0ciAiUGVyaW5nYXRhbjogZHVwbGlrYXNpIHJlZ2lzdGVyIChyJWQpIGRhbGFtIGRhZnRhciByZWdpc3RlciIKKworIzogY29uZmlnL3RjLWFybS5jOjE0NzkKK21zZ2lkICJXYXJuaW5nOiByZWdpc3RlciByYW5nZSBub3QgaW4gYXNjZW5kaW5nIG9yZGVyIgorbXNnc3RyICJQZXJpbmdhdGFuOiBqYW5na2F1YW4gcmVnaXN0ZXIgdGlkYWsgZGFsYW0gdXJ1dGFuIG1lbmluZ2thdCIKKworIzogY29uZmlnL3RjLWFybS5jOjE0OTAKK21zZ2lkICJtaXNzaW5nIGB9JyIKK21zZ3N0ciAiaGlsYW5nIGB9JyIKKworIzogY29uZmlnL3RjLWFybS5jOjE1MDYKK21zZ2lkICJpbnZhbGlkIHJlZ2lzdGVyIG1hc2siCittc2dzdHIgInJlZ2lzdGVyIG1hc2sgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxNTg4Cittc2dpZCAiZXhwZWN0aW5nIHsiCittc2dzdHIgImRpZHVnYSB7IgorCisjOiBjb25maWcvdGMtYXJtLmM6MTY0MyBjb25maWcvdGMtYXJtLmM6MTY4NworbXNnaWQgInJlZ2lzdGVyIG91dCBvZiByYW5nZSBpbiBsaXN0IgorbXNnc3RyICJyZWdpc3RlciBkaWx1YXIgZGFyaSBqYW5na2F1YW4gZGFsYW0gZGFmdGFyIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTY1OSBjb25maWcvdGMtYXJtLmM6MTcwNCBjb25maWcvdGMtaDgzMDAuYzo5ODkKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTA0NzEgY29uZmlnL3RjLW1pcHMuYzoxMDQ5MworbXNnaWQgImludmFsaWQgcmVnaXN0ZXIgbGlzdCIKK21zZ3N0ciAiZGFmdGFyIHJlZ2lzdGVyIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTY2NSBjb25maWcvdGMtYXJtLmM6MzQ2NCBjb25maWcvdGMtYXJtLmM6MzU5NworbXNnaWQgInJlZ2lzdGVyIGxpc3Qgbm90IGluIGFzY2VuZGluZyBvcmRlciIKK21zZ3N0ciAiZGFmdGFyIHJlZ2lzdGVyIHRpZGFrIGRhbGFtIHVydXRhbiBtZW5pbmdrYXQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxNjk2Cittc2dpZCAicmVnaXN0ZXIgcmFuZ2Ugbm90IGluIGFzY2VuZGluZyBvcmRlciIKK21zZ3N0ciAiamFuZ2thdWFuIHJlZ2lzdGVyIHRpZGEgZGFsYW0gdXJ1dGFuIG1lbmluZ2thdCIKKworIzogY29uZmlnL3RjLWFybS5jOjE3MjkKK21zZ2lkICJub24tY29udGlndW91cyByZWdpc3RlciByYW5nZSIKK21zZ3N0ciAiamFuZ2thdWFuIHJlZ2lzdGVyIHRpZGFrLWtvbnRpbnUiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxODU1Cittc2dpZCAiZG9uJ3QgdXNlIFJuLVJtIHN5bnRheCB3aXRoIG5vbi11bml0IHN0cmlkZSIKK21zZ3N0ciAiamFuZ2FuIG1lbmdndW5ha2FuIFJuLVJtIHNpbnRha3MgZGVuZ2FuIGJ1a2FuLXNhdHVhbiBzdHJpZGUiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTEwCittc2dpZCAiZXJyb3IgcGFyc2luZyBlbGVtZW50L3N0cnVjdHVyZSBsaXN0IgorbXNnc3RyICJlcnJvciBwYXJzaW5nIGRhZnRhciBlbGVtZW4vc3RydWt0dXIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTE2Cittc2dpZCAiZXhwZWN0ZWQgfSIKK21zZ3N0ciAiZGlkdWdhIH0iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTcyCisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIGF0dGVtcHQgdG8gcmVkZWZpbmUgYnVpbHQtaW4gcmVnaXN0ZXIgJyVzJyIKK21zZ3N0ciAibWVuZ2FiYWlrYW4gcGVyY29iYWFuIHVudHVrIG1lbmRlZmluaXNpa2FuIGJ1aWx0LWluIHJlZ2lzdGVyICclcyciCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTc3CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHJlZGVmaW5pdGlvbiBvZiByZWdpc3RlciBhbGlhcyAnJXMnIgorbXNnc3RyICJtZW5nYWJhaWthbiByZWRlZmluaXNpIGRhcmkgcmVnaXN0ZXIgYWxpYXMgJyVzJyIKKworIzogY29uZmlnL3RjLWFybS5jOjIwMDUKK21zZ2lkICJhdHRlbXB0IHRvIHJlZGVmaW5lIHR5cGVkIGFsaWFzIgorbXNnc3RyICJtZW5jb2JhIHVudHVrIG1lbmRlZmluaXNpa2FuIHRpcGUgYWxpYXMiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMDQzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcmVnaXN0ZXIgJyVzJyAtLSAucmVxIGlnbm9yZWQiCittc2dzdHIgInJlZ2lzdGVyICclcycgdGlkYWsgZGlrZW5hbCAtLSAucmVxIGRpYWJhaWthbiIKKworIzogY29uZmlnL3RjLWFybS5jOjIxMzgKK21zZ2lkICJiYWQgdHlwZSBmb3IgcmVnaXN0ZXIiCittc2dzdHIgInRpcGUgYnVydWsgdW50dWsgcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMTQ5Cittc2dpZCAiZXhwcmVzc2lvbiBtdXN0IGJlIGNvbnN0YW50IgorbXNnc3RyICJwZXJueWF0YWFuIGhhcnVzIGJlcnVwYSBrb25zdGFudGEiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMTY2Cittc2dpZCAiY2FuJ3QgcmVkZWZpbmUgdGhlIHR5cGUgb2YgYSByZWdpc3RlciBhbGlhcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVyZWRlZmluaXNpIHRpcGUgZGFyaSBzZWJ1YWggYWxpYXMgcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMTczCittc2dpZCAieW91IG11c3Qgc3BlY2lmeSBhIHNpbmdsZSB0eXBlIG9ubHkiCittc2dzdHIgImFuZGEgaGFydXMgbWVuc3Blc2lmaWthc2lrYW4gc2VidWFoIHRpcGUgdHVuZ2dhbCBzYWphIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjE4NgorbXNnaWQgImNhbid0IHJlZGVmaW5lIHRoZSBpbmRleCBvZiBhIHNjYWxhciBhbGlhcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVyZWRlZmluaXNpa2FuIGluZGVrcyBkYXJpIHNrYWxhciBhbGlhcyIKKworIzogY29uZmlnL3RjLWFybS5jOjIxOTQKK21zZ2lkICJzY2FsYXIgaW5kZXggbXVzdCBiZSBjb25zdGFudCIKK21zZ3N0ciAic2thbGFyIGluZGVrcyBoYXJ1cyBiZXJ1cGEga29uc3RhbnRhIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjIwMworbXNnaWQgImV4cGVjdGluZyBdIgorbXNnc3RyICJkaWR1Z2EgXSIKKworIzogY29uZmlnL3RjLWFybS5jOjIyNDAKK21zZ2lkICJpbnZhbGlkIHN5bnRheCBmb3IgLnJlcSBkaXJlY3RpdmUiCittc2dzdHIgInN5bnRha3MgdGlkYWsgdmFsaWQgdW50dWsgZGlyZWt0aWYgLnJlcSIKKworIzogY29uZmlnL3RjLWFybS5jOjIyNDYKK21zZ2lkICJpbnZhbGlkIHN5bnRheCBmb3IgLmRuIGRpcmVjdGl2ZSIKK21zZ3N0ciAic2ludGFrcyB0aWRhayB2YWxpZCB1bnR1ayAuZG4gZGlyZWt0aWYiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMjUyCittc2dpZCAiaW52YWxpZCBzeW50YXggZm9yIC5xbiBkaXJlY3RpdmUiCittc2dzdHIgInNpbnRha3MgdGlkYWsgdmFsaWQgdW50dWsgLnFuIGRpcmVrdGlmIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjI3OAorbXNnaWQgImludmFsaWQgc3ludGF4IGZvciAudW5yZXEgZGlyZWN0aXZlIgorbXNnc3RyICJzaW50YWtzIHRpZGFrIHZhbGlkIHVudHVrIC51bnJlcSBkaXJla3RpZiIKKworIzogY29uZmlnL3RjLWFybS5jOjIyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biByZWdpc3RlciBhbGlhcyAnJXMnIgorbXNnc3RyICJyZWdpc3RlciBhbGlhcyAnJXMnIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIGF0dGVtcHQgdG8gdW5kZWZpbmUgYnVpbHQtaW4gcmVnaXN0ZXIgJyVzJyIKK21zZ3N0ciAibWVuZ2FiYWlrYW4gcGVyY29iYWFuIHVudHVrIHRpZGFrIG1lbmRlZmluaXNpa2FuIGJ1aWx0LWluIHJlZ2lzdGVyICclcyciCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyNDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBmaW5kIHJlYWwgc3RhcnQgb2YgZnVuY3Rpb246ICVzXG4iCittc2dzdHIgIkdhZ2FsIHVudHVrIG1lbmNhcmkgYXdhbCBkYXJpIGZ1bmdzaSBueWF0YTogJXNcbiIKKworIzogY29uZmlnL3RjLWFybS5jOjI0NTMKK21zZ2lkICJzZWxlY3RlZCBwcm9jZXNzb3IgZG9lcyBub3Qgc3VwcG9ydCBUSFVNQiBvcGNvZGVzIgorbXNnc3RyICJwcm9zZXNvciB5YW5nIGRpcGlsaWggdGlkYWsgbWVuZHVrdW5nIFRIVU1CIG9wY29kZXMiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyNDY3Cittc2dpZCAic2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgQVJNIG9wY29kZXMiCittc2dzdHIgInByb3Nlc29yIHlhbmcgZGlwaWxpaCB0aWRhayBtZW5kdWt1bmcgQVJNIG9wY29kZXMiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaW5zdHJ1Y3Rpb24gc2l6ZSBzZWxlY3RlZCAoJWQpIgorbXNnc3RyICJ1a3VyYW4gaW5zdHJ1a3NpIHlhbmcgZGlwaWxpaCAoJWQpIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG9wZXJhbmQgdG8gLmNvZGUgZGlyZWN0aXZlICglZCkgKGV4cGVjdGluZyAxNiBvciAzMikiCittc2dzdHIgIm9wZXJhbiB0aWRhayB2YWxpZCB1bnR1ayAuY29kZSBkaXJla3RpZiAoJWQpIGRpZHVnYSAxNiBhdGF1IDMyKSIKKworIzogY29uZmlnL3RjLWFybS5jOjI1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0ZWQgY29tbWEgYWZ0ZXIgbmFtZSBcIiVzXCIiCittc2dzdHIgImRpZHVnYSBrb21hIHNlc3VkYWggbmFtYSBcIiVzXCIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyNjE4IGNvbmZpZy90Yy1tMzJyLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWJvbCBgJXMnIGFscmVhZHkgZGVmaW5lZCIKK21zZ3N0ciAic2ltYm9sIGAlcycgdGVsYWggZGlkZWZpbmlzaWthbiIKKworIzogY29uZmlnL3RjLWFybS5jOjI2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN5bnRheCBtb2RlIFwiJXNcIiIKK21zZ3N0ciAic2ludGFrcyBtb2RlIFwiJXNcIiB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGlnbm1lbnQgdG9vIGxhcmdlOiAlZCBhc3N1bWVkIgorbXNnc3RyICJhbGlnbm1lbnQgdGVybGFsdSBiZXNhcjogJWQgZGlkdWdhIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjY3NgorbXNnaWQgImFsaWdubWVudCBuZWdhdGl2ZS4gMCBhc3N1bWVkLiIKK21zZ3N0ciAiYWxpZ25tZW50IG5lZ2F0aXZlLiAwIGRpZHVnYS4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyODIzCittc2dpZCAibGl0ZXJhbCBwb29sIG92ZXJmbG93IgorbXNnc3RyICJsaXRlcmFsIHBvb2wgb3ZlcmZsb3ciCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyOTc5IGNvbmZpZy90Yy1hcm0uYzo1ODE3Cittc2dpZCAidW5yZWNvZ25pemVkIHJlbG9jYXRpb24gc3VmZml4IgorbXNnc3RyICJha2hpcmFuIHJlbG9rYXNpIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyOTkyCittc2dpZCAiKHBsdCkgaXMgb25seSB2YWxpZCBvbiBicmFuY2ggdGFyZ2V0cyIKK21zZ3N0ciAiKHBsdCkgaGFueWEgdmFsaWQgZGFsYW0gdGFyZ2V0IHBlcmNhYmFuZ2FuIgorCisjOiBjb25maWcvdGMtYXJtLmM6Mjk5OCBjb25maWcvdGMtczM5MC5jOjExMDAgY29uZmlnL3RjLXMzOTAuYzoxNzA4CisjOiBjb25maWcvdGMteHRlbnNhLmM6MTU2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZWxvY2F0aW9ucyBkbyBub3QgZml0IGluICVkIGJ5dGVzIgorbXNnc3RyICIlcyByZWxva2FzaSB0aWRhayBjb2NvayBkYWxhbSAlZCBieXRlcyIKKworIzogY29uZmlnL3RjLWFybS5jOjMwNDYgZHdhcmYyZGJnLmM6NjcwCittc2dpZCAiZXhwZWN0ZWQgMCBvciAxIgorbXNnc3RyICJkaWR1Z2EgMCBhdGF1IDEiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzozMDUwCittc2dpZCAibWlzc2luZyBjb21tYSIKK21zZ3N0ciAiaGlsYW5nIGtvbWEiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzozMTA1Cittc2dpZCAiZHVwbGljYXRlIC5oYW5kbGVyZGF0YSBkaXJlY3RpdmUiCittc2dzdHIgImR1cGxpa2FzaSAuaGFuZGxlcmRhdGEgZGlyZWt0aWYiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzozMTc3Cittc2dpZCAicGVyc29uYWxpdHkgcm91dGluZSBzcGVjaWZpZWQgZm9yIGNhbnR1bndpbmQgZnJhbWUiCittc2dzdHIgInBlcnNvbmFsaXR5IHJ1dGluIGRpc3Blc2lmaWthc2lrYW4gdW50dWsgY2FudHVud2luZCBmcmFtZSIKKworIzogY29uZmlnL3RjLWFybS5jOjMxOTEKK21zZ2lkICJkdXBsaWNhdGUgLnBlcnNvbmFsaXR5aW5kZXggZGlyZWN0aXZlIgorbXNnc3RyICJkdXBsaWthc2kgLnBlcnNvbmFsaXR5aW5kZXggZGlyZWt0aWYiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzozMTk4Cittc2dpZCAiYmFkIHBlcnNvbmFsaXR5IHJvdXRpbmUgbnVtYmVyIgorbXNnc3RyICJwZXJzb25hbGl0eSBidXJ1ayBub21vciBydXRpbiIKKworIzogY29uZmlnL3RjLWFybS5jOjMyMTcKK21zZ2lkICJkdXBsaWNhdGUgLnBlcnNvbmFsaXR5IGRpcmVjdGl2ZSIKK21zZ3N0ciAiZHVwbGlrYXNpIC5wZXJzb25hbGl0eSBkaXJla3RpZiIKKworIzogY29uZmlnL3RjLWFybS5jOjMyNDAgY29uZmlnL3RjLWFybS5jOjMzNjggY29uZmlnL3RjLWFybS5jOjM0MTYKK21zZ2lkICJleHBlY3RlZCByZWdpc3RlciBsaXN0IgorbXNnc3RyICJkaWR1Z2EgZGFmdGFyIHJlZ2lzdGVyIgorCisjOiBjb25maWcvdGMtYXJtLmM6MzMyMgorbXNnaWQgImV4cGVjdGVkICwgPGNvbnN0YW50PiIKK21zZ3N0ciAiZGlkdWdhICwgPGtvbnN0YW50YT4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzozMzMxCittc2dpZCAibnVtYmVyIG9mIHJlZ2lzdGVycyBtdXN0IGJlIGluIHRoZSByYW5nZSBbMTo0XSIKK21zZ3N0ciAianVtbGFoIGRhcmkgcmVnaXN0ZXIgaGFydXMgZGFsYW0gamFuZ2thdWFuIFsxOjRdIgorCisjOiBjb25maWcvdGMtYXJtLmM6MzQ3OCBjb25maWcvdGMtYXJtLmM6MzYxMQorbXNnaWQgImJhZCByZWdpc3RlciByYW5nZSIKK21zZ3N0ciAiamFuZ2thdWFuIHJlZ2lzdGVyIGJ1cnVrIgorCisjOiBjb25maWcvdGMtYXJtLmM6MzY2NQorbXNnaWQgInJlZ2lzdGVyIGV4cGVjdGVkIgorbXNnc3RyICJyZWdpc3RlciBkaWR1Z2EiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzozNjc1Cittc2dpZCAiRlBBIC51bndpbmRfc2F2ZSBkb2VzIG5vdCB0YWtlIGEgcmVnaXN0ZXIgbGlzdCIKK21zZ3N0ciAiRlBHQSAudW53aW5kX3NhdmUgdGlkYWsgbWVtYnV0dWhrYW4gc2VidWFoIGRhZnRhciByZWdpc3RlciIKKworIzogY29uZmlnL3RjLWFybS5jOjM2OTQKK21zZ2lkICIudW53aW5kX3NhdmUgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIGtpbmQgb2YgcmVnaXN0ZXIiCittc2dzdHIgIi51bndpbmRlX3NhdmUgdGlkYWsgbWVuZHVrdW5nIHJlZ2lzdGVyIHNlcGVydGkgaW5pIgorCisjOiBjb25maWcvdGMtYXJtLmM6MzczMAorbXNnaWQgIlNQIGFuZCBQQyBub3QgcGVybWl0dGVkIGluIC51bndpbmRfbW92c3AgZGlyZWN0aXZlIgorbXNnc3RyICJTUCBkYW4gUEMgdGlkYSBkaXBlcmJvbGVoa2FuIGRhbGFtIC51bndpbmRfbW92c3AgZGlyZWt0aWYiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzozNzM1Cittc2dpZCAidW5leHBlY3RlZCAudW53aW5kX21vdnNwIGRpcmVjdGl2ZSIKK21zZ3N0ciAidGlkYWsgZGlkdWdhIC51bndpbmRfbW92c3AgZGlyZWt0aWYiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzozNzU5Cittc2dpZCAic3RhY2sgaW5jcmVtZW50IG11c3QgYmUgbXVsdGlwbGUgb2YgNCIKK21zZ3N0ciAicGVuaW5na2F0YW4gc3RhY2sgaGFydXMga2VsaXBhdGFuIGRhcmkgNCIKKworIzogY29uZmlnL3RjLWFybS5jOjM3ODgKK21zZ2lkICJleHBlY3RlZCA8cmVnPiwgPHJlZz4iCittc2dzdHIgImRpZHVnYSA8cmVnPiwgPHJlZz4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzozODA2Cittc2dpZCAicmVnaXN0ZXIgbXVzdCBiZSBlaXRoZXIgc3Agb3Igc2V0IGJ5IGEgcHJldmlvdXN1bndpbmRfbW92c3AgZGlyZWN0aXZlIgorbXNnc3RyICJyZWdpc3RlciBoYXJ1cyBiZXJ1cGEgc3AgYXRhdSBzZXQgZGVuZ2FuIHNlYnVhaCBwcmV2aW91c3Vud2luZF9tb3ZzcCBkaXJla3RpZiIKKworIzogY29uZmlnL3RjLWFybS5jOjM4NDIKK21zZ2lkICJleHBlY3RlZCA8b2Zmc2V0PiwgPG9wY29kZT4iCittc2dzdHIgImRpZHVnYSA8b2Zmc2V0PiwgPG9wY29kZT4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzozODU0Cittc2dpZCAidW53aW5kIG9wY29kZSB0b28gbG9uZyIKK21zZ3N0ciAidW53aW5kIG9wY29kZSB0ZXJsYWx1IHBhbmphbmciCisKKyM6IGNvbmZpZy90Yy1hcm0uYzozODU5Cittc2dpZCAiaW52YWxpZCB1bndpbmQgb3Bjb2RlIgorbXNnc3RyICJ1bndpbmQgb3Bjb2RlIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtYXJtLmM6NDAwNiBjb25maWcvdGMtYXJtLmM6NDg2OCBjb25maWcvdGMtYXJtLmM6ODQ2OQorIzogY29uZmlnL3RjLWFybS5jOjg5NTEgY29uZmlnL3RjLWFybS5jOjExNzQ4IGNvbmZpZy90Yy1hcm0uYzoxODc0MQorIzogY29uZmlnL3RjLWFybS5jOjE4NzY2IGNvbmZpZy90Yy1hcm0uYzoxODc3NCBjb25maWcvdGMtejhrLmM6MTE0NAorIzogY29uZmlnL3RjLXo4ay5jOjExNTQKK21zZ2lkICJpbW1lZGlhdGUgdmFsdWUgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJuaWxhaSBsYW5nc3VuZyBkaWx1YXIgZGFyaSBqYW5na2F1YW4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo0MTUzCittc2dpZCAiaW52YWxpZCBGUEEgaW1tZWRpYXRlIGV4cHJlc3Npb24iCittc2dzdHIgIkZQQSB0aWRhayB2YWxpZCBwZXJueWF0YWFuIGxhbmdzdW5nIgorCisjOiBjb25maWcvdGMtYXJtLmM6NDI3NyBjb25maWcvdGMtYXJtLmM6NDI4NQorbXNnaWQgInNoaWZ0IGV4cHJlc3Npb24gZXhwZWN0ZWQiCittc2dzdHIgImRpZHVnYSBwZXJueWF0YWFuIHNoaWZ0IgorCisjOiBjb25maWcvdGMtYXJtLmM6NDI5OQorbXNnaWQgIidMU0wnIG9yICdBU1InIHJlcXVpcmVkIgorbXNnc3RyICInTFNMJyBhdGF1ICdBU1InIGRpYnV0dWhrYW4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo0MzA3Cittc2dpZCAiJ0xTTCcgcmVxdWlyZWQiCittc2dzdHIgIidMU0wnIGRpYnV0dWhrYW4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo0MzE1Cittc2dpZCAiJ0FTUicgcmVxdWlyZWQiCittc2dzdHIgIidBU1InIGRpYnV0dWhrYW4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo0Mzg3IGNvbmZpZy90Yy1hcm0uYzo0ODYyIGNvbmZpZy90Yy1hcm0uYzo2NDQzCisjOiBjb25maWcvdGMtdjg1MC5jOjE4MjcgY29uZmlnL3RjLXY4NTAuYzoxODQ4Cittc2dpZCAiY29uc3RhbnQgZXhwcmVzc2lvbiBleHBlY3RlZCIKK21zZ3N0ciAicGVybnlhdGFhbiBrb25zdGFudGEgZGlkdWdhIgorCisjOiBjb25maWcvdGMtYXJtLmM6NDM5NAorbXNnaWQgImludmFsaWQgcm90YXRpb24iCittc2dzdHIgInJvdGFzaSB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWFybS5jOjQ1NTQgY29uZmlnL3RjLWFybS5jOjQ2OTgKK21zZ2lkICJ1bmtub3duIGdyb3VwIHJlbG9jYXRpb24iCittc2dzdHIgInJlbG9rYXNpIGdydXAgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLWFybS5jOjQ2NjcKK21zZ2lkICJhbGlnbm1lbnQgbXVzdCBiZSBjb25zdGFudCIKK21zZ3N0ciAiYWxpZ25tZW4gaGFydXMgYmVydXBhIGtvbnN0YW50YSIKKworIzogY29uZmlnL3RjLWFybS5jOjQ3MjkKK21zZ2lkICJ0aGlzIGdyb3VwIHJlbG9jYXRpb24gaXMgbm90IGFsbG93ZWQgb24gdGhpcyBpbnN0cnVjdGlvbiIKK21zZ3N0ciAicmVsb2thc2kgZ3J1cCBpbmkgdGlkYWsgZGlwZXJib2xlaGthbiBkYWxhbSBpbnN0cnVrc2kgaW5pIgorCisjOiBjb25maWcvdGMtYXJtLmM6NDc0MSBjb25maWcvdGMtYXJtLmM6NTE0MQorbXNnaWQgIiddJyBleHBlY3RlZCIKK21zZ3N0ciAiJ10nIGRpZHVnYSIKKworIzogY29uZmlnL3RjLWFybS5jOjQ3NTkKK21zZ2lkICInfScgZXhwZWN0ZWQgYXQgZW5kIG9mICdvcHRpb24nIGZpZWxkIgorbXNnc3RyICInfScgZGlkdWdhIGRpIGFraGlyIGRhcmkgZGFlcmFoICdvcHRpb24nIgorCisjOiBjb25maWcvdGMtYXJtLmM6NDc2NAorbXNnaWQgImNhbm5vdCBjb21iaW5lIGluZGV4IHdpdGggb3B0aW9uIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5rb21iaW5hc2lrYW4gaW5kZWtzIGRlbmdhbiBvcHNpIgorCisjOiBjb25maWcvdGMtYXJtLmM6NDc3NworbXNnaWQgImNhbm5vdCBjb21iaW5lIHByZS0gYW5kIHBvc3QtaW5kZXhpbmciCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmtvbWJpbmFzaWthbiBwcmUtIGRhbiBwb3N0LWluZGV4aW5nIgorCisjOiBjb25maWcvdGMtYXJtLmM6NDkzOAorbXNnaWQgImZsYWcgZm9yIHtjfXBzciBpbnN0cnVjdGlvbiBleHBlY3RlZCIKK21zZ3N0ciAiZmxhZyB1bnR1ayB7Y31wc3IgaW5zdHJ1a3NpIGRpZHVnYSIKKworIzogY29uZmlnL3RjLWFybS5jOjQ5NjMKK21zZ2lkICJ1bnJlY29nbml6ZWQgQ1BTIGZsYWciCittc2dzdHIgInRhbmRhIENQUyB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtYXJtLmM6NDk3MAorbXNnaWQgIm1pc3NpbmcgQ1BTIGZsYWdzIgorbXNnc3RyICJoaWxhbmcgdGFuZGEgQ1BTIgorCisjOiBjb25maWcvdGMtYXJtLmM6NDk5MyBjb25maWcvdGMtYXJtLmM6NDk5OQorbXNnaWQgInZhbGlkIGVuZGlhbiBzcGVjaWZpZXJzIGFyZSBiZSBvciBsZSIKK21zZ3N0ciAidmFsaWQgZW5kaWFuIHNwZXNpa2FzaSBhZGFsYWggYmUgYXRhdSBsZSIKKworIzogY29uZmlnL3RjLWFybS5jOjUwMjEKK21zZ2lkICJtaXNzaW5nIHJvdGF0aW9uIGZpZWxkIGFmdGVyIGNvbW1hIgorbXNnc3RyICJoaWxhbmcgZGFlcmFoIHJvdGFzaSBzZXRlbGFoIGtvbWEiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo1MDM2Cittc2dpZCAicm90YXRpb24gY2FuIG9ubHkgYmUgMCwgOCwgMTYsIG9yIDI0IgorbXNnc3RyICJyb3Rhc2kgaGFueWEgZGFwYXQgYmVydXBhIDAsIDgsIDE2LCBhdGF1IDI0IgorCisjOiBjb25maWcvdGMtYXJtLmM6NTA2NQorbXNnaWQgImNvbmRpdGlvbiByZXF1aXJlZCIKK21zZ3N0ciAia29uZGlzaSBkaWJ1dHVoa2FuIgorCisjOiBjb25maWcvdGMtYXJtLmM6NTEwMyBjb25maWcvdGMtYXJtLmM6Njk1MworbXNnaWQgIidbJyBleHBlY3RlZCIKK21zZ3N0ciAiJ1snIGRpZHVnYSIKKworIzogY29uZmlnL3RjLWFybS5jOjUxMTYKK21zZ2lkICInLCcgZXhwZWN0ZWQiCittc2dzdHIgIicsJyBkaWR1Z2EiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo1MTMzCittc2dpZCAiaW52YWxpZCBzaGlmdCIKK21zZ3N0ciAic2hpZnQgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo1MjA2Cittc2dpZCAiY2FuJ3QgdXNlIE5lb24gcXVhZCByZWdpc3RlciBoZXJlIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5nZ3VuYWthbiBOZW9uIHF1YWQgcmVnaXN0ZXIgZGlzaW5pIgorCisjOiBjb25maWcvdGMtYXJtLmM6NTI3MgorbXNnaWQgImV4cGVjdGVkIDxSbT4gb3IgPERtPiBvciA8UW0+IG9wZXJhbmQiCittc2dzdHIgImRpZHVnYSA8Um0+IGF0YXUgPERtPiBhdGF1IDxRbT4gb3BlcmFuZCIKKworIzogY29uZmlnL3RjLWFybS5jOjUzNTIKK21zZ2lkICJwYXJzZSBlcnJvciIKK21zZ3N0ciAicGFyc2UgZXJyb3IiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo1MzYyIHJlYWQuYzoyMDk3Cittc2dpZCAiZXhwZWN0ZWQgY29tbWEiCittc2dzdHIgImRpZHVnYSBrb21hIgorCisjOiBjb25maWcvdGMtYXJtLmM6NTY1MiBjb25maWcvdGMtYXJtLmM6NTcyMgorbXNnaWQgImltbWVkaWF0ZSB2YWx1ZSBpcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIm5pbGFpIGxhbmdzdW5nIGFkYWxhaCBkaWx1YXIgZGFyaSBqYW5na2F1YW4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo1ODY3Cittc2dpZCAiaVdNTVh0IGRhdGEgb3IgY29udHJvbCByZWdpc3RlciBleHBlY3RlZCIKK21zZ3N0ciAiaVdNTVh0IGRhdGEgYXRhdSBrb250cm9sIHJlZ2lzdGVyIGRpZHVnYSIKKworIzogY29uZmlnL3RjLWFybS5jOjYwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5oYW5kbGVkIG9wZXJhbmQgY29kZSAlZCIKK21zZ3N0ciAia29kZSBvcGVyYW4gJWQgdGlkYWsgdGVydGFuZ2FuaSIKKworIzogY29uZmlnL3RjLWFybS5jOjYwOTkgY29uZmlnL3RjLXNjb3JlLmM6NTYKK21zZ2lkICJnYXJiYWdlIGZvbGxvd2luZyBpbnN0cnVjdGlvbiIKK21zZ3N0ciAic2FtcGFoIG1lbmdpa3V0aSBpbnN0cnVrc2kiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo2MTg2Cittc2dpZCAiRCByZWdpc3RlciBvdXQgb2YgcmFuZ2UgZm9yIHNlbGVjdGVkIFZGUCB2ZXJzaW9uIgorbXNnc3RyICJEIHJlZ2lzdGVyIGRpbHVhciBkYXJpIGphbmdrYXVhbiB1bnR1ayB2ZXJzaSBWRlAgeWFuZyBkaXBpbGloIgorCisjOiBjb25maWcvdGMtYXJtLmM6NjI2NQorbXNnaWQgImluc3RydWN0aW9uIGRvZXMgbm90IGFjY2VwdCBwcmVpbmRleGVkIGFkZHJlc3NpbmciCittc2dzdHIgImluc3RydWtzaSB0aWRhayBtZW5lcmltYSBwZW5nYWxhbWF0YW4geWFuZyB0ZXJpbmRla3MgdGVybGViaWggZGFodWx1IgorCisjLiB1bmluZGV4ZWQgLSBvbmx5IGZvciBjb3Byb2Nlc3NvcgorIzogY29uZmlnL3RjLWFybS5jOjYyODEgY29uZmlnL3RjLWFybS5jOjgyNzUKK21zZ2lkICJpbnN0cnVjdGlvbiBkb2VzIG5vdCBhY2NlcHQgdW5pbmRleGVkIGFkZHJlc3NpbmciCittc2dzdHIgImluc3RydWtzaSB0aWRhayBtZW5lcmltYSBwZW5nYWxhbWF0YW4gdW5pbmRleGVkIgorCisjOiBjb25maWcvdGMtYXJtLmM6NjI4OQorbXNnaWQgImRlc3RpbmF0aW9uIHJlZ2lzdGVyIHNhbWUgYXMgd3JpdGUtYmFjayBiYXNlIgorbXNnc3RyICJyZWdpc3RlciB0dWp1YW4gc2FtYSBkZW5nYW4gd3JpdGUtYmFjayBiYXNlIgorCisjOiBjb25maWcvdGMtYXJtLmM6NjI5MAorbXNnaWQgInNvdXJjZSByZWdpc3RlciBzYW1lIGFzIHdyaXRlLWJhY2sgYmFzZSIKK21zZ3N0ciAicmVnaXN0ZXIgYXNhbCBzYW1hIGRlbmdhbiB3cml0ZS1iYWNrIGJhc2UiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo2MzM2Cittc2dpZCAiaW5zdHJ1Y3Rpb24gZG9lcyBub3QgYWNjZXB0IHNjYWxlZCByZWdpc3RlciBpbmRleCIKK21zZ3N0ciAiaW5zdHJ1a3NpIHRpZGFrIG1lbmVyaW1hIGluZGVrIHJlZ2lzdGVyIHRlcnNrYWxhIgorCisjOiBjb25maWcvdGMtYXJtLmM6NjM3NgorbXNnaWQgImluc3RydWN0aW9uIGRvZXMgbm90IHN1cHBvcnQgdW5pbmRleGVkIGFkZHJlc3NpbmciCittc2dzdHIgImluc3RydWtzaSB0aWRhayBtZWxheWFuaSBwZW5nYWxhbWF0YW4gdW5pbmRleGVkIgorCisjOiBjb25maWcvdGMtYXJtLmM6NjM5MQorbXNnaWQgInBjIG1heSBub3QgYmUgdXNlZCB3aXRoIHdyaXRlLWJhY2siCittc2dzdHIgInBjIG11bmdraW4gdGlkYWsgZGFwYXQgZGlndW5ha2FuIGRlbmdhbiB3cml0ZS1iYWNrIgorCisjOiBjb25maWcvdGMtYXJtLmM6NjM5NgorbXNnaWQgImluc3RydWN0aW9uIGRvZXMgbm90IHN1cHBvcnQgd3JpdGViYWNrIgorbXNnc3RyICJpbnN0cnVrc2kgdGlkYWsgZGFwYXQgbWVuZHVrdW5nIHdyaXRlYmFjayIKKworIzogY29uZmlnL3RjLWFybS5jOjY0MzgKK21zZ2lkICJpbnZhbGlkIHBzZXVkbyBvcGVyYXRpb24iCittc2dzdHIgIm9wZXJhc2kgcHNldWRvIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtYXJtLmM6NjQ4NAorbXNnaWQgImxpdGVyYWwgcG9vbCBpbnNlcnRpb24gZmFpbGVkIgorbXNnc3RyICJsaXRlcmFsIHBvb2wgaW5zZXJ0aW9uIGdhZ2FsIgorCisjOiBjb25maWcvdGMtYXJtLmM6NjU0MgorbXNnaWQgIlJuIG11c3Qgbm90IG92ZXJsYXAgb3RoZXIgb3BlcmFuZHMiCittc2dzdHIgIlJuIGhhcnVzIHRpZGFrIHR1bXBhbmcgdGluZGloIGRlbmdhbiBvcGVyYW4gbGFpbiIKKworIzogY29uZmlnL3RjLWFybS5jOjY2MzEgY29uZmlnL3RjLWFybS5jOjg4MDcKK21zZ2lkICJiYWQgYmFycmllciB0eXBlIgorbXNnc3RyICJ0aXBlIGJhcnJpZXIgYnVydWsiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo2NjQyIGNvbmZpZy90Yy1hcm0uYzo2NjYxIGNvbmZpZy90Yy1hcm0uYzo2Njc0CisjOiBjb25maWcvdGMtYXJtLmM6ODgxOCBjb25maWcvdGMtYXJtLmM6ODgzOCBjb25maWcvdGMtYXJtLmM6ODg1MgorbXNnaWQgImJpdC1maWVsZCBleHRlbmRzIHBhc3QgZW5kIG9mIHJlZ2lzdGVyIgorbXNnc3RyICJiaXQtZmllbGQgZXh0ZW5kIGFraGlyIGRhcmkgcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo2NzAzCittc2dpZCAidGhlIG9ubHkgc3VmZml4IHZhbGlkIGhlcmUgaXMgJyhwbHQpJyIKK21zZ3N0ciAiaGFueWEgYWtoaXJhbiAnKHBsdCknIHNhamEgeWFuZyB2YWxpZCBkaXNpbmkiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo2NzU2Cittc2dpZCAidXNlIG9mIHIxNSBpbiBibHggaW4gQVJNIG1vZGUgaXMgbm90IHJlYWxseSB1c2VmdWwiCittc2dzdHIgInBlbmdndW5hYW4gZGFyaSByMTUgZGFsYW0gYmx4IGRhbGFtIG1vZGUgQVJNIHRpZGFrIHRlcmxhbHUgYmVyZ3VuYSIKKworIzogY29uZmlnL3RjLWFybS5jOjY3ODEKK21zZ2lkICJ1c2Ugb2YgcjE1IGluIGJ4IGluIEFSTSBtb2RlIGlzIG5vdCByZWFsbHkgdXNlZnVsIgorbXNnc3RyICJwZW5nZ3VuYWFuIGRhcmkgcjE1IGRhbGFtIGJ4IGRhbGFtIG1vZGUgQVJNIHRpZGFrIHRlcmxhbHUgYmVyZ3VuYSIKKworIzogY29uZmlnL3RjLWFybS5jOjY4MDYgY29uZmlnL3RjLWFybS5jOjg5OTAKK21zZ2lkICJ1c2Ugb2YgcjE1IGluIGJ4aiBpcyBub3QgcmVhbGx5IHVzZWZ1bCIKK21zZ3N0ciAicGVuZ2d1bmFhbiBkYXJpIHIxNSBkYWxhbSBianggdGlkYWsgdGVybGFsdSBiZXJndW5hIgorCisjOiBjb25maWcvdGMtYXJtLmM6NjkyMCBjb25maWcvdGMtYXJtLmM6NjkyOQorbXNnaWQgIndyaXRlYmFjayBvZiBiYXNlIHJlZ2lzdGVyIGlzIFVOUFJFRElDVEFCTEUiCittc2dzdHIgIndyaXRlYmFjayBkYXJpIGJhc2UgcmVnaXN0ZXIgYWRhbGFoIFRJREFLLVRFUkRVR0EiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo2OTIzCittc2dpZCAid3JpdGViYWNrIG9mIGJhc2UgcmVnaXN0ZXIgd2hlbiBpbiByZWdpc3RlciBsaXN0IGlzIFVOUFJFRElDVEFCTEUiCittc2dzdHIgIndyaXRlYmFjayBkYXJpIGJhc2UgcmVnaXN0ZXIga2V0aWthIGRhbGFtIGRhZnRhciByZWdpc3RlciBhZGFsYWggVElEQUstVEVSRFVHQSIKKworIzogY29uZmlnL3RjLWFybS5jOjY5MzMKK21zZ2lkICJpZiB3cml0ZWJhY2sgcmVnaXN0ZXIgaXMgaW4gbGlzdCwgaXQgbXVzdCBiZSB0aGUgbG93ZXN0IHJlZyBpbiB0aGUgbGlzdCIKK21zZ3N0ciAiamlrYSB3cml0ZWJhY2sgcmVnaXN0ZXIgYmVyYWRhIGRhbGFtIGRhZnRhciwgaW5pIGhhcnVzIGJlcmFkYSBkYWxhbSByZWcgcGFsaW5nIHJlbmRhaCBkYWxhbSBkYWZ0YXIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo2OTQ4Cittc2dpZCAiZmlyc3QgZGVzdGluYXRpb24gcmVnaXN0ZXIgbXVzdCBiZSBldmVuIgorbXNnc3RyICJyZWdpc3RlciB0dWp1YW4gcGVydGFtYSBoYXJ1cyBnZW5hcCIKKworIzogY29uZmlnL3RjLWFybS5jOjY5NTEgY29uZmlnL3RjLWFybS5jOjcwMTgKK21zZ2lkICJjYW4gb25seSBsb2FkIHR3byBjb25zZWN1dGl2ZSByZWdpc3RlcnMiCittc2dzdHIgImhhbnlhIGRhcGF0IGxvYWQgZHVhIHJlZ2lzdGVyIHNla2FsaWd1cyIKKworIy4gSWYgb3AgMSB3ZXJlIHByZXNlbnQgYW5kIGVxdWFsIHRvIFBDLCB0aGlzIGZ1bmN0aW9uIHdvdWxkbid0CisjLiBoYXZlIGJlZW4gY2FsbGVkIGluIHRoZSBmaXJzdCBwbGFjZS4KKyMuIElmIG9wIDIgd2VyZSBwcmVzZW50IGFuZCBlcXVhbCB0byBQQywgdGhpcyBmdW5jdGlvbiB3b3VsZG4ndAorIy4gaGF2ZSBiZWVuIGNhbGxlZCBpbiB0aGUgZmlyc3QgcGxhY2UuCisjOiBjb25maWcvdGMtYXJtLmM6Njk1MiBjb25maWcvdGMtYXJtLmM6NzAyMSBjb25maWcvdGMtYXJtLmM6NzU0NworIzogY29uZmlnL3RjLWFybS5jOjk0NjgKK21zZ2lkICJyMTQgbm90IGFsbG93ZWQgaGVyZSIKK21zZ3N0ciAicjE0IHRpZGFrIGRpcGVyYm9sZWhrYW4gZGlzaW5pIgorCisjOiBjb25maWcvdGMtYXJtLmM6Njk2NgorbXNnaWQgImJhc2UgcmVnaXN0ZXIgd3JpdHRlbiBiYWNrLCBhbmQgb3ZlcmxhcHMgc2Vjb25kIGRlc3RpbmF0aW9uIHJlZ2lzdGVyIgorbXNnc3RyICJiYXNlIHJlZ2lzdGVyIHdyaXR0ZW4gYmFjaywgZGFuIHR1bXBhbmcgdGluZGloIHJlZ2lzdGVyIHR1anVhbiBrZWR1YSIKKworIzogY29uZmlnL3RjLWFybS5jOjY5NzQKK21zZ2lkICJpbmRleCByZWdpc3RlciBvdmVybGFwcyBkZXN0aW5hdGlvbiByZWdpc3RlciIKK21zZ3N0ciAicmVnaXN0ZXIgaW5kZWtzIHR1bXBhbmcgdGluZGluZyByZWdpc3RlciB0dWp1YW4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo3MDA0IGNvbmZpZy90Yy1hcm0uYzo3NTI5Cittc2dpZCAib2Zmc2V0IG11c3QgYmUgemVybyBpbiBBUk0gZW5jb2RpbmciCittc2dzdHIgIm9mc2V0IGhhcnVzIG5vbCBkYWxhbSBwZW5na29kZWFuIEFSTSIKKworIzogY29uZmlnL3RjLWFybS5jOjcwMTUgY29uZmlnL3RjLWFybS5jOjc1NDEKK21zZ2lkICJldmVuIHJlZ2lzdGVyIHJlcXVpcmVkIgorbXNnc3RyICJyZWdpc3RlciBnZW5hcCBkaWJ1dHVoa2FuIgorCisjOiBjb25maWcvdGMtYXJtLmM6NzA0NiBjb25maWcvdGMtYXJtLmM6NzA3NworbXNnaWQgInRoaXMgaW5zdHJ1Y3Rpb24gcmVxdWlyZXMgYSBwb3N0LWluZGV4ZWQgYWRkcmVzcyIKK21zZ3N0ciAiaW5zdHJ1a3NpIGluaSBtZW1idXR1aGthbiBzZWJ1YWggcGVuZ2FsYW1hdGFuIHBvc3QtaW5kZXhlZCIKKworIzogY29uZmlnL3RjLWFybS5jOjcxMDQKK21zZ2lkICJSZCBhbmQgUm0gc2hvdWxkIGJlIGRpZmZlcmVudCBpbiBtbGEiCittc2dzdHIgIlJkIGRhbiBSbSBzZWhhcnVzbnlhIGJlcmJlZGEgZGFsYW0gbWxhIgorCisjOiBjb25maWcvdGMtYXJtLmM6NzEyOCBjb25maWcvdGMtYXJtLmM6OTcyNQorbXNnaWQgIjpsb3dlcjE2OiBub3QgYWxsb3dlZCB0aGlzIGluc3RydWN0aW9uIgorbXNnc3RyICI6bG93ZXIxNjogdGlkYWsgZGlwZXJib2xlaGthbiBkYWxhbSBpbnN0cnVrc2kgaW5pIgorCisjOiBjb25maWcvdGMtYXJtLmM6NzEzMAorbXNnaWQgIjp1cHBlcjE2OiBub3QgYWxsb3dlZCBpbnN0cnVjdGlvbiIKK21zZ3N0ciAiOnVwcGVyMTY6IGluc3RydWtzaSB0aWRhayBkaXBlcmJvbGVoa2FuIgorCisjOiBjb25maWcvdGMtYXJtLmM6NzE0OQorbXNnaWQgIm9wZXJhbmQgMSBtdXN0IGJlIEZQU0NSIgorbXNnc3RyICJvcGVyYW4gMSBoYXJ1cyBiZXJ1cGEgRlBTQ1IiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo3MTgyIGNvbmZpZy90Yy1hcm0uYzo5ODM0Cittc2dpZCAiJ0NQU1InIG9yICdTUFNSJyBleHBlY3RlZCIKK21zZ3N0ciAiZGlkdWdhICdDUFNSJyBhdGF1ICdTUFNSJyIKKworIzogY29uZmlnL3RjLWFybS5jOjcyMTkKK21zZ2lkICJSZCBhbmQgUm0gc2hvdWxkIGJlIGRpZmZlcmVudCBpbiBtdWwiCittc2dzdHIgIlJkIGRhbiBSbSBzZWhhcnVzbnlhIGJlcmJlZGEgZGFsYW0gbXVsIgorCisjOiBjb25maWcvdGMtYXJtLmM6NzIzOCBjb25maWcvdGMtYXJtLmM6NzQ3NCBjb25maWcvdGMtYXJtLmM6OTkxNAorbXNnaWQgInJkaGkgYW5kIHJkbG8gbXVzdCBiZSBkaWZmZXJlbnQiCittc2dzdHIgInJkaGkgZGFuIHJkbG8gaGFydXMgYmVyYmVkYSIKKworIzogY29uZmlnL3RjLWFybS5jOjcyNDQKK21zZ2lkICJyZGhpLCByZGxvIGFuZCBybSBtdXN0IGFsbCBiZSBkaWZmZXJlbnQiCittc2dzdHIgInJkaGksIHJkbG8gZGFuIHJtIHNlbXVhbnlhIGhhcnVzIGJlcmJlZGEiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo3MzA2Cittc2dpZCAiJ1snIGV4cGVjdGVkIGFmdGVyIFBMRCBtbmVtb25pYyIKK21zZ3N0ciAiJ1snIGRpZHVnYSBzZXRlbGFoIFBMRCBtbmVtb25pYyIKKworIzogY29uZmlnL3RjLWFybS5jOjczMDggY29uZmlnL3RjLWFybS5jOjczMjMKK21zZ2lkICJwb3N0LWluZGV4ZWQgZXhwcmVzc2lvbiB1c2VkIGluIHByZWxvYWQgaW5zdHJ1Y3Rpb24iCittc2dzdHIgInBvc3QtaW5kZXggZWtzcHJlc2kgZGlndW5ha2FuIGRhbGFtIGluc3RydWtzaSBwcmVsb2FkIgorCisjOiBjb25maWcvdGMtYXJtLmM6NzMxMCBjb25maWcvdGMtYXJtLmM6NzMyNQorbXNnaWQgIndyaXRlYmFjayB1c2VkIGluIHByZWxvYWQgaW5zdHJ1Y3Rpb24iCittc2dzdHIgIndyaXRlYmFjayBkaWd1bmFrYW4gZGFsYW0gaW5zdHJ1a3NpIHByZWxvYWQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo3MzEyIGNvbmZpZy90Yy1hcm0uYzo3MzI3Cittc2dpZCAidW5pbmRleGVkIGFkZHJlc3NpbmcgdXNlZCBpbiBwcmVsb2FkIGluc3RydWN0aW9uIgorbXNnc3RyICJwZW5nYWxhbWF0YW4gdW5pbmRleGVkIGRpZ3VuYWthbiBkYWxhbSBpbnN0cnVrc2kgcHJlbG9hZCIKKworIzogY29uZmlnL3RjLWFybS5jOjczMjEKK21zZ2lkICInWycgZXhwZWN0ZWQgYWZ0ZXIgUExJIG1uZW1vbmljIgorbXNnc3RyICInWycgZGlkdWdhIHNldGVsYWggUExJIG1uZW1vbmljIgorCisjOiBjb25maWcvdGMtYXJtLmM6NzUwMAorbXNnaWQgIlNSUyBiYXNlIHJlZ2lzdGVyIG11c3QgYmUgcjEzIgorbXNnc3RyICJTUlMgYmFzZSByZWdpc3RlciBoYXJ1cyByMTMiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo3NTQ0Cittc2dpZCAiY2FuIG9ubHkgc3RvcmUgdHdvIGNvbnNlY3V0aXZlIHJlZ2lzdGVycyIKK21zZ3N0ciAiaGFueWEgZGFwYXQgbWVueWltcGFuIGR1YSByZWdpc3RlciBiZXJ1cnV0YW4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo3NjM5IGNvbmZpZy90Yy1hcm0uYzo3NjU2Cittc2dpZCAib25seSB0d28gY29uc2VjdXRpdmUgVkZQIFNQIHJlZ2lzdGVycyBhbGxvd2VkIGhlcmUiCittc2dzdHIgImhhbnlhIGR1YSBWRlAgU1AgcmVnaXN0ZXIgYmVydXJ1dGFuIHlhbmcgZGlwZXJib2xlaGthbiBkaXNpbmkiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo3Njg0IGNvbmZpZy90Yy1hcm0uYzo3Njk5Cittc2dpZCAidGhpcyBhZGRyZXNzaW5nIG1vZGUgcmVxdWlyZXMgYmFzZS1yZWdpc3RlciB3cml0ZWJhY2siCittc2dzdHIgIm1vZGUgcGVuZ2FsYW1hdGFuIGluaSBtZW1idXR1aGthbiBiYXNlLXJlZ2lzdGVyIHdyaXRlYmFjayIKKworIzogY29uZmlnL3RjLWFybS5jOjc4NzMKK21zZ2lkICJ0aGlzIGluc3RydWN0aW9uIGRvZXMgbm90IHN1cHBvcnQgaW5kZXhpbmciCittc2dzdHIgImluc3RydWtzaSBpbmkgdGlkYWsgbWVuZHVrdW5nIHBlbmdpbmRla3NhbiIKKworIzogY29uZmlnL3RjLWFybS5jOjc4OTYKK21zZ2lkICJvbmx5IHIxNSBhbGxvd2VkIGhlcmUiCittc2dzdHIgImhhbnlhIHIxNSB5YW5nIGRpcGVyYm9sZWhrYW4gZGlzaW5pIgorCisjOiBjb25maWcvdGMtYXJtLmM6ODAzMQorbXNnaWQgImltbWVkaWF0ZSBvcGVyYW5kIHJlcXVpcmVzIGlXTU1YdDIiCittc2dzdHIgIm9wZXJhbiBsYW5nc3VuZyBtZW1idXR1aGthbiBpV01NWHQyIgorCisjOiBjb25maWcvdGMtYXJtLmM6ODE3NQorbXNnaWQgInNoaWZ0IGJ5IHJlZ2lzdGVyIG5vdCBhbGxvd2VkIGluIHRodW1iIG1vZGUiCittc2dzdHIgInNoaWZ0IGRlbmdhbiByZWdpc3RlciB0aWRhayBkaXBlcmJvbGVoa2FuIGRhbGFtIG1vZGUgdGh1bWIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo4MTg3IGNvbmZpZy90Yy1hcm0uYzoxODI0OAorbXNnaWQgInNoaWZ0IGV4cHJlc3Npb24gaXMgdG9vIGxhcmdlIgorbXNnc3RyICJzaGlmdCBla3NwcmVzaSB0ZXJsYWx1IGJlc2FyIgorCisjOiBjb25maWcvdGMtYXJtLmM6ODIxMworbXNnaWQgIkluc3RydWN0aW9uIGRvZXMgbm90IHN1cHBvcnQgPU4gYWRkcmVzc2VzIgorbXNnc3RyICJJbnN0cnVrc2kgdGlkYWsgbWVuZHVrdW5nIHBlbmdhbGFtYXRhbiA9TiIKKworIzogY29uZmlnL3RjLWFybS5jOjgyMTgKK21zZ2lkICJjYW5ub3QgdXNlIHJlZ2lzdGVyIGluZGV4IHdpdGggUEMtcmVsYXRpdmUgYWRkcmVzc2luZyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ2d1bmFrYW4gaW5kZWtzIHJlZ2lzdGVyIGRlbmdhbiBwZW5nYWxhbWF0YW4gUEMtcmVsYXRpdmUiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo4MjE5Cittc2dpZCAiY2Fubm90IHVzZSByZWdpc3RlciBpbmRleCB3aXRoIHRoaXMgaW5zdHJ1Y3Rpb24iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdndW5ha2FuIHJlZ2lzdGVyIGluZGVrcyBkZW5nYW4gaW5zdHJ1a3NpIGluaSIKKworIzogY29uZmlnL3RjLWFybS5jOjgyMjEKK21zZ2lkICJUaHVtYiBkb2VzIG5vdCBzdXBwb3J0IG5lZ2F0aXZlIHJlZ2lzdGVyIGluZGV4aW5nIgorbXNnc3RyICJUaHVtYnMgdGlkYWsgbWVuZHVrdW5nIHBlbmdpbmRla3NhbiByZWdpc3RlciBuZWdhdGlmIgorCisjOiBjb25maWcvdGMtYXJtLmM6ODIyMworbXNnaWQgIlRodW1iIGRvZXMgbm90IHN1cHBvcnQgcmVnaXN0ZXIgcG9zdC1pbmRleGluZyIKK21zZ3N0ciAiVGh1bWIgdGlkYWsgbWVuZHVrdW5nIHBvc3QtaW5kZXhpbmcgcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo4MjI1Cittc2dpZCAiVGh1bWIgZG9lcyBub3Qgc3VwcG9ydCByZWdpc3RlciBpbmRleGluZyB3aXRoIHdyaXRlYmFjayIKK21zZ3N0ciAiVGh1bWIgdGlkYWsgbWVuZHVrdW5nIHBlbmdpbmRla3NhbiByZWdpc3RlciBkZW5nYW4gd3JpdGViYWNrIgorCisjOiBjb25maWcvdGMtYXJtLmM6ODIyNworbXNnaWQgIlRodW1iIHN1cHBvcnRzIG9ubHkgTFNMIGluIHNoaWZ0ZWQgcmVnaXN0ZXIgaW5kZXhpbmciCittc2dzdHIgIlRodW1iIGhhbnlhIG1lbmR1a3VuZyBMU0wgZGFsYW0gc2hpZnRlZCByZWdpc3RlciBpbmRleGluZyIKKworIzogY29uZmlnL3RjLWFybS5jOjgyMzYgY29uZmlnL3RjLWFybS5jOjEyOTc4Cittc2dpZCAic2hpZnQgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJzaGlmdCBkaWx1YXIgZGFyaSBqYW5na2F1YW4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo4MjQ0Cittc2dpZCAiY2Fubm90IHVzZSB3cml0ZWJhY2sgd2l0aCBQQy1yZWxhdGl2ZSBhZGRyZXNzaW5nIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5nZ3VuYWthbiB3cml0ZWJhY2sgZGVuZ2FuIHBlbmdhbGFtYXRhbiBQQy1yZWxhdGl2ZSIKKworIzogY29uZmlnL3RjLWFybS5jOjgyNDYKK21zZ2lkICJjYW5ub3QgdXNlIHdyaXRlYmFjayB3aXRoIHRoaXMgaW5zdHJ1Y3Rpb24iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdndW5ha2FuIHdyaXRlYmFjayBkZW5nYW4gaW5zdHJ1a3NpIGluaSIKKworIzogY29uZmlnL3RjLWFybS5jOjgyNjUKK21zZ2lkICJjYW5ub3QgdXNlIHBvc3QtaW5kZXhpbmcgd2l0aCBQQy1yZWxhdGl2ZSBhZGRyZXNzaW5nIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5nZ3VuYWthbiBwb3N0LWluZGV4aW5nIGRlbmdhbiBwZW5nYWxhbWF0YW4gUEMtcmVsYXRpdmUiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo4MjY2Cittc2dpZCAiY2Fubm90IHVzZSBwb3N0LWluZGV4aW5nIHdpdGggdGhpcyBpbnN0cnVjdGlvbiIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ2d1bmFrYW4gcG9zdC1pbmRleGluZyBkZW5nYW4gaW5zdHJ1a3NpIGluaSIKKworIzogY29uZmlnL3RjLWFybS5jOjgzOTMKK21zZ2lkICJQQyBub3QgYWxsb3dlZCBhcyBkZXN0aW5hdGlvbiIKK21zZ3N0ciAiUEMgdGlkYWsgZGlwZXJib2xlaGthbiBzZWJhZ2FpIHR1anVhbiIKKworIzogY29uZmlnL3RjLWFybS5jOjg0NjQKK21zZ2lkICJvbmx5IFNVQlMgUEMsIExSLCAjY29uc3QgYWxsb3dlZCIKK21zZ3N0ciAiaGFueWEgU1VCUyBQQywgTFIsICNjb25zdCBkaXBlcmJvbGVoa2FuIgorCisjOiBjb25maWcvdGMtYXJtLmM6ODUzNyBjb25maWcvdGMtYXJtLmM6ODY3OCBjb25maWcvdGMtYXJtLmM6ODc3MAorIzogY29uZmlnL3RjLWFybS5jOjk3ODkKK21zZ2lkICJzaGlmdCBtdXN0IGJlIGNvbnN0YW50IgorbXNnc3RyICJnZXNlciBoYXJ1cyBiZXJ1cGEgc2VidWFoIGtvbnN0YW50YSIKKworIzogY29uZmlnL3RjLWFybS5jOjg1NjQgY29uZmlnL3RjLWFybS5jOjg2OTMgY29uZmlnL3RjLWFybS5jOjg3ODUKKyM6IGNvbmZpZy90Yy1hcm0uYzo5ODAyCittc2dpZCAidW5zaGlmdGVkIHJlZ2lzdGVyIHJlcXVpcmVkIgorbXNnc3RyICJ1bnNoaWZ0ZWQgcmVnaXN0ZXIgZGlidXR1aGthbiIKKworIzogY29uZmlnL3RjLWFybS5jOjg1NzkgY29uZmlnL3RjLWFybS5jOjg3OTYgY29uZmlnL3RjLWFybS5jOjk5MDEKK21zZ2lkICJkZXN0IG11c3Qgb3ZlcmxhcCBvbmUgc291cmNlIHJlZ2lzdGVyIgorbXNnc3RyICJ0dWp1YW4gaGFydXMgb3ZlcmxhcCBkZW5nYSBzYXR1IHJlZ2lzdGVyIGFzYWwiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo4Njk2Cittc2dpZCAiZGVzdCBhbmQgc291cmNlMSBtdXN0IGJlIHRoZSBzYW1lIHJlZ2lzdGVyIgorbXNnc3RyICJ0dWp1YW4gZGFuIGFzYWwxIGhhcnVzIHJlZ2lzdGVyIHlhbmcgc2FtYSIKKworIzogY29uZmlnL3RjLWFybS5jOjg5NDcKK21zZ2lkICJpbnN0cnVjdGlvbiBpcyBhbHdheXMgdW5jb25kaXRpb25hbCIKK21zZ3N0ciAiaW5zdHJ1a3NpIHNlbGFsdSB0aWRhayBrb25kaXNpb25hbCIKKworIzogY29uZmlnL3RjLWFybS5jOjkwMjkKK21zZ2lkICJzZWxlY3RlZCBwcm9jZXNzb3IgZG9lcyBub3Qgc3VwcG9ydCAnQScgZm9ybSBvZiB0aGlzIGluc3RydWN0aW9uIgorbXNnc3RyICJwcm9zZXNvciB5YW5nIGRpcGlsaWggdGlkYWsgbWVuZHVrdW5nICdBJyBmb3JtIGRhcmkgaW5zdHJ1a3NpIGluaSIKKworIzogY29uZmlnL3RjLWFybS5jOjkwMzIKK21zZ2lkICJUaHVtYiBkb2VzIG5vdCBzdXBwb3J0IHRoZSAyLWFyZ3VtZW50IGZvcm0gb2YgdGhpcyBpbnN0cnVjdGlvbiIKK21zZ3N0ciAiVGh1bWIgdGlkYWsgbWVuZHVrdW5nIDIgYXJndW1lbiBmb3JtIGRhcmkgaW5zdHJ1a3NpIGluaSIKKworIzogY29uZmlnL3RjLWFybS5jOjkxMzEKK21zZ2lkICJTUCBub3QgYWxsb3dlZCBpbiByZWdpc3RlciBsaXN0IgorbXNnc3RyICJTUCB0aWRhayBkaXBlcmJvbGVoa2FuIGRhbGFtIGRhZnRhciByZWdpc3RlciIKKworIzogY29uZmlnL3RjLWFybS5jOjkxMzYKK21zZ2lkICJMUiBhbmQgUEMgc2hvdWxkIG5vdCBib3RoIGJlIGluIHJlZ2lzdGVyIGxpc3QiCittc2dzdHIgIkxSIGRhbiBQQyBrZWR1YW55YSB0aWRhayBib2xlaCBkYWxhbSBkYWZ0YXIgcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo5MTQwCittc2dpZCAiYmFzZSByZWdpc3RlciBzaG91bGQgbm90IGJlIGluIHJlZ2lzdGVyIGxpc3Qgd2hlbiB3cml0dGVuIGJhY2siCittc2dzdHIgImJhc2UgcmVnaXN0ZXIgc2VoYXJ1c255YSB0aWRhayBkYWxhbSBkYWZ0YXIgcmVnaXN0ZXIga2V0aWthIG1lbnVsaXMga2VtYmFsaSIKKworIzogY29uZmlnL3RjLWFybS5jOjkxNDYKK21zZ2lkICJQQyBub3QgYWxsb3dlZCBpbiByZWdpc3RlciBsaXN0IgorbXNnc3RyICJQQyB0aWRhayBkaXBlcmJvbGVoa2FuIGRhbGFtIGRhZnRhciByZWdpc3RlciIKKworIzogY29uZmlnL3RjLWFybS5jOjkxNDkgY29uZmlnL3RjLWFybS5jOjkyMTUgY29uZmlnL3RjLWFybS5jOjkyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidmFsdWUgc3RvcmVkIGZvciByJWQgaXMgVU5QUkVESUNUQUJMRSIKK21zZ3N0ciAibmlsYWkgZGlzaW1wYW4gdW50dWsgciVkIHRpZGFrIHRlcnByZWRpa3NpIgorCisjOiBjb25maWcvdGMtYXJtLmM6OTE5MQorbXNnaWQgIlRodW1iIGxvYWQvc3RvcmUgbXVsdGlwbGUgZG9lcyBub3Qgc3VwcG9ydCB7cmVnbGlzdH1eIgorbXNnc3RyICJUaHVtYiBsb2FkL3N0b3JlIG11bHRpcGxlIHRpZGFrIG1lbmR1a3VuZyB7cmVnbGlzdH1eIgorCisjOiBjb25maWcvdGMtYXJtLmM6OTI0OAorbXNnaWQgIlRodW1iLTIgaW5zdHJ1Y3Rpb24gb25seSB2YWxpZCBpbiB1bmlmaWVkIHN5bnRheCIKK21zZ3N0ciAiSW5zdHJ1a3NpIFRodW1iLTIgaGFueWEgdmFsaWQgZGFsYW0gdW5pZmllZCBzeW50YXgiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzo5MjUyIGNvbmZpZy90Yy1hcm0uYzo5MjYyCittc2dpZCAidGhpcyBpbnN0cnVjdGlvbiB3aWxsIHdyaXRlIGJhY2sgdGhlIGJhc2UgcmVnaXN0ZXIiCittc2dzdHIgImluc3RydWtzaSBpbmkgYWthbiBtZW51bGlzIGtlbWJhbGkgYmFzZSByZWdpc3RlciIKKworIzogY29uZmlnL3RjLWFybS5jOjkyNjUKK21zZ2lkICJ0aGlzIGluc3RydWN0aW9uIHdpbGwgbm90IHdyaXRlIGJhY2sgdGhlIGJhc2UgcmVnaXN0ZXIiCittc2dzdHIgImluc3RydWtzaSBpbmkgdGlkYWsgYWthbiBtZW51bGlzIGtlbWJhbGkgYmFzZSByZWdpc3RlciIKKworIzogY29uZmlnL3RjLWFybS5jOjkyOTQKK21zZ2lkICJyMTQgbm90IGFsbG93ZWQgYXMgZmlyc3QgcmVnaXN0ZXIgd2hlbiBzZWNvbmQgcmVnaXN0ZXIgaXMgb21pdHRlZCIKK21zZ3N0ciAicjE0IHRpZGFrIGRpcGVyYm9sZWhrYW4gc2ViYWdhIHJlZ2lzdGVyIHBlcnRhbWEga2V0aWthIHJlZ2lzdGVyIGtlZHVhIGRpYWJhaWthbiIKKworIzogY29uZmlnL3RjLWFybS5jOjkzOTEgY29uZmlnL3RjLWFybS5jOjk0MDQgY29uZmlnL3RjLWFybS5jOjk0NDAKK21zZ2lkICJUaHVtYiBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgYWRkcmVzc2luZyBtb2RlIgorbXNnc3RyICJUaHVtYiB0aWRhayBtZW5kdWt1bmcgbW9kZSBwZW5nYWxhbWF0YW4gaW5pIgorCisjOiBjb25maWcvdGMtYXJtLmM6OTQwOAorbXNnaWQgImJ5dGUgb3IgaGFsZndvcmQgbm90IHZhbGlkIGZvciBiYXNlIHJlZ2lzdGVyIgorbXNnc3RyICJieXRlIGF0YXUgaGFsZndvcmQgdGlkYWsgdmFsaWQgdW50dWsgdmFzZSByZWdpc3RlciIKKworIzogY29uZmlnL3RjLWFybS5jOjk0MTEKK21zZ2lkICJyMTUgYmFzZWQgc3RvcmUgbm90IGFsbG93ZWQiCittc2dzdHIgInIxNSBiYXNlZCBzdG9yZSB0aWRhayBkaXBlcmJvbGVoa2FuIgorCisjOiBjb25maWcvdGMtYXJtLmM6OTQxMworbXNnaWQgImludmFsaWQgYmFzZSByZWdpc3RlciBmb3IgcmVnaXN0ZXIgb2Zmc2V0IgorbXNnc3RyICJiYXNlIHJlZ2lzdGVyIHRpZGFrIHZhbGlkIHVudHVrIHJlZ2lzdGVyIG9mc2V0IgorCisjOiBjb25maWcvdGMtYXJtLmM6OTcxMAorbXNnaWQgIm9ubHkgbG8gcmVncyBhbGxvd2VkIHdpdGggaW1tZWRpYXRlIgorbXNnc3RyICJoYW55YSBsbyByZWdzIGRpcGVyYm9sZWhrYW4gZGVuZ2FuIGltbWVkaWF0ZSIKKworIzogY29uZmlnL3RjLWFybS5jOjk3MzAKK21zZ2lkICI6dXBwZXIxNjogbm90IGFsbG93ZWQgdGhpcyBpbnN0cnVjdGlvbiIKK21zZ3N0ciAiOnVwcGVyMTY6IGluc3RydWtzaSBpbmkgdGlkYWsgZGlwZXJib2xlaGthbiIKKworIzogY29uZmlnL3RjLWFybS5jOjk4MjQgY29uZmlnL3RjLWFybS5jOjk4MzAgY29uZmlnL3RjLWFybS5jOjk4NTYKKyM6IGNvbmZpZy90Yy1hcm0uYzo5ODYyCittc2dpZCAic2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgcmVxdWVzdGVkIHNwZWNpYWwgcHVycG9zZSByZWdpc3RlciIKK21zZ3N0ciAicHJvc2Vzb3IgeWFuZyBkaXBpbGloIHRpZGFrIG1lbmR1a3VuZyByZWdpc3RlciBzcGVzaWFsIHlhbmcgZGltaW50YSIKKworIzogY29uZmlnL3RjLWFybS5jOjk4NTEKK21zZ2lkICJUaHVtYiBlbmNvZGluZyBkb2VzIG5vdCBzdXBwb3J0IGFuIGltbWVkaWF0ZSBoZXJlIgorbXNnc3RyICJUaHVtYiBlbmtvZGluZyB0aWRhayBtZW5kdWt1bmcgbGFuZ3N1bmcgZGlzaW5pIgorCisjOiBjb25maWcvdGMtYXJtLmM6OTkzNgorbXNnaWQgIlRodW1iIGRvZXMgbm90IHN1cHBvcnQgTk9QIHdpdGggaGludHMiCittc2dzdHIgIlRodW1iIHRpZGFrIG1lbmR1a3VuZyBOT1AgZGVuZ2FuIGhpbnRzIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTAwMTgKK21zZ2lkICJwdXNoL3BvcCBkbyBub3Qgc3VwcG9ydCB7cmVnbGlzdH1eIgorbXNnc3RyICJwdXNoL3BvcCB0aWRhayBtZW5kdWt1bmcge3JlZ2xpc3R9XiIKKworIzogY29uZmlnL3RjLWFybS5jOjEwMDQxCittc2dpZCAiaW52YWxpZCByZWdpc3RlciBsaXN0IHRvIHB1c2gvcG9wIGluc3RydWN0aW9uIgorbXNnc3RyICJkYWZ0YXIgcmVnaXN0ZXIgdGlkYWsgdmFsaWQgdW50dWsgaW5zdHJ1a3NpIHB1c2gvcG9wIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTAyMzQKK21zZ2lkICJzb3VyY2UxIGFuZCBkZXN0IG11c3QgYmUgc2FtZSByZWdpc3RlciIKK21zZ3N0ciAiYXNhbDEgZGFuIHR1anVhbiBoYXJ1cyByZWdpc3RlciB5YW5nIHNhbWEiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMDI1NQorbXNnaWQgInJvciAjaW1tIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgInJvciAjaW1tIHRpZGFrIGRpZHVrdW5nIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTAzODAKK21zZ2lkICJUaHVtYiBlbmNvZGluZyBkb2VzIG5vdCBzdXBwb3J0IHJvdGF0aW9uIgorbXNnc3RyICJUaHVtYiBlbmtvZGluZyB0aWRhayBtZW5kdWt1bmcgcm90YXNpIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTAzOTkKK21zZ2lkICJpbnN0cnVjdGlvbiByZXF1aXJlcyByZWdpc3RlciBpbmRleCIKK21zZ3N0ciAiaW5zdHJ1a3NpIG1lbWJ1dHVoa2FuIHJlZ2lzdGVyIGluZGVrcyIKKworIzogY29uZmlnL3RjLWFybS5jOjEwNDAxCittc2dpZCAiUEMgaXMgbm90IGEgdmFsaWQgaW5kZXggcmVnaXN0ZXIiCittc2dzdHIgIlBDIGJ1a2FuIHNlYnVhaCByZWdpc3RlciBpbmRla3MgeWFuZyB2YWxpZCIKKworIzogY29uZmlnL3RjLWFybS5jOjEwNDAzCittc2dpZCAiaW5zdHJ1Y3Rpb24gZG9lcyBub3QgYWxsb3cgc2hpZnRlZCBpbmRleCIKK21zZ3N0ciAiaW5zdHJ1a3NpIHRpZGFrIG1lbmdpamlua2FuIHNoaWZ0ZWQgaW5kZWtzIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTA4MjEKK21zZ2lkICJpbnZhbGlkIGluc3RydWN0aW9uIHNoYXBlIgorbXNnc3RyICJiZW50dWsgaW5zdHJ1a3NpIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTEwNjMKK21zZ2lkICJ0eXBlcyBzcGVjaWZpZWQgaW4gYm90aCB0aGUgbW5lbW9uaWMgYW5kIG9wZXJhbmRzIgorbXNnc3RyICJ0aXBlIHlhbmcgZGlzcGVzaWZpa2FzaWthbiBkYWxhbSBrZWR1YSBtbmVtb25pYyBkYW4gb3BlcmFuZHMiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMTEwMAorbXNnaWQgIm9wZXJhbmQgdHlwZXMgY2FuJ3QgYmUgaW5mZXJyZWQiCittc2dzdHIgInRpcGUgb3BlcmFuZCB0aWRhayBkYXBhdCBkaXRlbnR1a2FuIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTExMDYKK21zZ2lkICJ0eXBlIHNwZWNpZmllciBoYXMgdGhlIHdyb25nIG51bWJlciBvZiBwYXJ0cyIKK21zZ3N0ciAicGVuc3Blc2lmaWthc2kgdGlwZSBtZW1pbGlraSBub21vciBzYWxhaCBkYXJpIGJhZ2lhbiIKKworIzogY29uZmlnL3RjLWFybS5jOjExMTYxCittc2dpZCAib3BlcmFuZCBzaXplIG11c3QgbWF0Y2ggcmVnaXN0ZXIgd2lkdGgiCittc2dzdHIgInVrdXJhbiBvcGVyYW4gaGFydXMgY29jb2sgZGVuZ2FuIGxlYmFyIHJlZ2lzdGVyIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTExNzIKK21zZ2lkICJiYWQgdHlwZSBpbiBOZW9uIGluc3RydWN0aW9uIgorbXNnc3RyICJ0aXBlIGJ1cnVrIGRhbGFtIGluc3RydWtzaSBOZW9uIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTExODMKK21zZ2lkICJpbmNvbnNpc3RlbnQgdHlwZXMgaW4gTmVvbiBpbnN0cnVjdGlvbiIKK21zZ3N0ciAidGlwZSB0aWRhayBrb25zaXN0ZW4gZGFsYW0gaW5zdHJ1a3NpIE5lb24iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMjIzMgorbXNnaWQgInNjYWxhciBvdXQgb2YgcmFuZ2UgZm9yIG11bHRpcGx5IGluc3RydWN0aW9uIgorbXNnc3RyICJza2FsYXIgZGlsdWFyIGRhcmkgamFuZ2thdWFuIHVudHVrIG11bHRpcGxlIGluc3RydWtzaSIKKworIzogY29uZmlnL3RjLWFybS5jOjEyMzk2IGNvbmZpZy90Yy1hcm0uYzoxMjQwOAorbXNnaWQgImltbWVkaWF0ZSBvdXQgb2YgcmFuZ2UgZm9yIGluc2VydCIKK21zZ3N0ciAiaW1tZWRpYXRlIGRpbHVhciBkYXJpIGphbmdrYXVhbiB1bnR1ayBpbnNlcnQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMjQyMCBjb25maWcvdGMtYXJtLmM6MTMzMjMKK21zZ2lkICJpbW1lZGlhdGUgb3V0IG9mIHJhbmdlIGZvciBzaGlmdCIKK21zZ3N0ciAiaW1tZWRpYXRlIGRpbHVhciBkYXJpIGphbmdrYXVhbiB1bnR1ayBzaGlmdCIKKworIzogY29uZmlnL3RjLWFybS5jOjEyNDc3IGNvbmZpZy90Yy1hcm0uYzoxMjUwNCBjb25maWcvdGMtYXJtLmM6MTI4MjQKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMzI2OQorbXNnaWQgImltbWVkaWF0ZSBvdXQgb2YgcmFuZ2UiCittc2dzdHIgImltbWVkaWF0ZSBkaWx1YXIgZGFyaSBqYW5na2F1YW4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMjU0MQorbXNnaWQgImltbWVkaWF0ZSBvdXQgb2YgcmFuZ2UgZm9yIG5hcnJvd2luZyBvcGVyYXRpb24iCittc2dzdHIgImltbWVkaWF0ZSBkaWx1YXIgZGFyaSBqYW5na2F1YW4gdW50dWsgb3BlcmFzaSBwZW5nZWNpbGFuIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTI2NjEKK21zZ2lkICJvcGVyYW5kcyAwIGFuZCAxIG11c3QgYmUgdGhlIHNhbWUgcmVnaXN0ZXIiCittc2dzdHIgIm9wZXJhbiAwIGRhbiAxIGhhcnVzIHJlZ2lzdGVyIHlhbmcgc2FtYSIKKworIzogY29uZmlnL3RjLWFybS5jOjEyNzk4Cittc2dpZCAib3BlcmFuZCBzaXplIG11c3QgYmUgc3BlY2lmaWVkIGZvciBpbW1lZGlhdGUgVk1PViIKK21zZ3N0ciAidWt1cmFuIG9wZXJhbiBoYXJ1cyBkaXNwZXNpZmlrYXNpa2FuIHVudHVrIFZNT1YgbGFuZ3N1bmciCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMjgwOAorbXNnaWQgImltbWVkaWF0ZSBoYXMgYml0cyBzZXQgb3V0c2lkZSB0aGUgb3BlcmFuZCBzaXplIgorbXNnc3RyICJpbW1lZGlhdGUgbWVtaWxpa2kgYml0cyBkaXNldCBkaWx1YXIgdWt1cmFuIG9wZXJhbiIKKworIzogY29uZmlnL3RjLWFybS5jOjEzMDA0Cittc2dpZCAiZWxlbWVudHMgbXVzdCBiZSBzbWFsbGVyIHRoYW4gcmV2ZXJzYWwgcmVnaW9uIgorbXNnc3RyICJlbGVtZW4gaGFydXMgbGViaWgga2VjaWwgZGFyaSBkYWVyYWgga2ViYWxpa2FuIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTMxNzQgY29uZmlnL3RjLWFybS5jOjEzMjIyCittc2dpZCAiYmFkIHR5cGUgZm9yIHNjYWxhciIKK21zZ3N0ciAidGlwZSBidXJ1ayB1bnR1ayBza2FsYXIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMzI4NiBjb25maWcvdGMtYXJtLmM6MTMyOTQKK21zZ2lkICJWRlAgcmVnaXN0ZXJzIG11c3QgYmUgYWRqYWNlbnQiCittc2dzdHIgIlZGUCByZWdpc3RlciBoYXJ1cyBiZXJkZWthdGFuIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTM0MzUKK21zZ2lkICJiYWQgbGlzdCBsZW5ndGggZm9yIHRhYmxlIGxvb2t1cCIKK21zZ3N0ciAicGFuamFnIGRhZnRhciBidXJ1ayB1bnR1ayBwZW5jYXJpYW4gdGFiZWwiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMzQ2NQorbXNnaWQgIndyaXRlYmFjayAoISkgbXVzdCBiZSB1c2VkIGZvciBWTERNREIgYW5kIFZTVE1EQiIKK21zZ3N0ciAid3JpdGViYWNrICghKSBoYXJ1cyBkaWd1bmFrYW4gdW50dWsgVkxETURCIGRhbiBWU1RNREIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMzQ2OAorbXNnaWQgInJlZ2lzdGVyIGxpc3QgbXVzdCBjb250YWluIGF0IGxlYXN0IDEgYW5kIGF0IG1vc3QgMTYgcmVnaXN0ZXJzIgorbXNnc3RyICJkYWZ0YXIgcmVnaXN0ZXIgaGFydXMgYmVyaXNpIHBhbGluZyB0aWRhayAxIGRhbiBoYW1waXIgMTYgcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMzU0NQorbXNnaWQgImJhZCBhbGlnbm1lbnQiCittc2dzdHIgImJhZCBhbGlnbm1lbnQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMzU2MgorbXNnaWQgImJhZCBsaXN0IHR5cGUgZm9yIGluc3RydWN0aW9uIgorbXNnc3RyICJkYWZ0YXIgdGlwZSBidXJ1ayB1bnR1ayBpbnN0cnVrc2kiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMzYwNAorbXNnaWQgInVuc3VwcG9ydGVkIGFsaWdubWVudCBmb3IgaW5zdHJ1Y3Rpb24iCittc2dzdHIgImFsaWdubWVuIHRpZGFrIGRpZHVrdW5nIHVudHVrIGluc3RydWtzaSIKKworIzogY29uZmlnL3RjLWFybS5jOjEzNjIzIGNvbmZpZy90Yy1hcm0uYzoxMzcxNyBjb25maWcvdGMtYXJtLmM6MTM3MjgKKyM6IGNvbmZpZy90Yy1hcm0uYzoxMzczOCBjb25maWcvdGMtYXJtLmM6MTM3NTIKK21zZ2lkICJiYWQgbGlzdCBsZW5ndGgiCittc2dzdHIgInBhbmphbmcgZGFmdGFyIGJ1cnVrIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTM2MjgKK21zZ2lkICJzdHJpZGUgb2YgMiB1bmF2YWlsYWJsZSB3aGVuIGVsZW1lbnQgc2l6ZSBpcyA4IgorbXNnc3RyICJzdHJpZGUgZGFyaSAyIHRpZGFrIHRlcnNlZGlhIGtldGlrYSB1a3VyYW4gZWxlbWVuIGFkYWxhaCA4IgorCisjOiBjb25maWcvdGMtYXJtLmM6MTM2NjEgY29uZmlnL3RjLWFybS5jOjEzNzM2Cittc2dpZCAiY2FuJ3QgdXNlIGFsaWdubWVudCB3aXRoIHRoaXMgaW5zdHJ1Y3Rpb24iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdndW5ha2FuIGFsaWdubWVuIGRlbmdhbiBpbnN0cnVrc2kgaW5pIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTM4MDAKK21zZ2lkICJwb3N0LWluZGV4IG11c3QgYmUgYSByZWdpc3RlciIKK21zZ3N0ciAicG9zdC1pbmRla3MgaGFydXMgYmVydXBhIHNlYnVhaCByZWdpc3RlciIKKworIzogY29uZmlnL3RjLWFybS5jOjEzODAyCittc2dpZCAiYmFkIHJlZ2lzdGVyIGZvciBwb3N0LWluZGV4IgorbXNnc3RyICJyZWdpc3RlciBidXJ1ayB1bnR1ayBwb3N0LWluZGVrcyIKKworIzogY29uZmlnL3RjLWFybS5jOjE0MDg5IGNvbmZpZy90Yy1hcm0uYzoxNDE3NQorbXNnaWQgImNvbmRpdGlvbmFsIGluZml4ZXMgYXJlIGRlcHJlY2F0ZWQgaW4gdW5pZmllZCBzeW50YXgiCittc2dzdHIgImtvbmRpc2lvbmFsIGluZml4ZWQgZGVwcmVjYXRlZCBkYWxhbSBzaW50YWtzIHVuaWZpZWQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxNDIxNAorbXNnaWQgInMgc3VmZml4IG9uIGNvbXBhcmlzb24gaW5zdHJ1Y3Rpb24gaXMgZGVwcmVjYXRlZCIKK21zZ3N0ciAicyBzdWZmaXggZGFsYW0gcGVyYmFuZGluZ2FuIGluc3RydWtzaSBrYWRhbHVhcnNhIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTQyMzMgY29uZmlnL3RjLWFybS5jOjE0MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IGAlcyciCittc2dzdHIgInByb3Nlc29yIHlhbmcgZGlwaWxpaCB0aWRhayBtZW5kdWt1bmcgYCVzJyIKKworIzogY29uZmlnL3RjLWFybS5jOjE0MjM5Cittc2dpZCAiVGh1bWIgZG9lcyBub3Qgc3VwcG9ydCBjb25kaXRpb25hbCBleGVjdXRpb24iCittc2dzdHIgIlRodW1iIHRpZGFrIG1lbmR1a3VuZyBla3Nla3VzaSBrb25kaXNpb25hbCIKKworIzogY29uZmlnL3RjLWFybS5jOjE0MjYzCittc2dpZCAiaW5jb3JyZWN0IGNvbmRpdGlvbiBpbiBJVCBibG9jayIKK21zZ3N0ciAia29uZGlzaSBkYWxhbSBJVCBibG9rIHRpZGFrIGJlbmFyIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTQyNjkKK21zZ2lkICJ0aHVtYiBjb25kaXRpb25hbCBpbnN0cnVjdGlvbiBub3QgaW4gSVQgYmxvY2siCittc2dzdHIgInRodW1iIGluc3RydWtzaSBrb25kaXNpb25hbCB0aWRhayBkYWxhbSBibG9rIElUIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTQyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhvbm9yIHdpZHRoIHN1ZmZpeCAtLSBgJXMnIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5naGFyZ2FpIGxlYmFyIGFraGlyIC0tIGAlcyciCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxNDMyNworIywgYy1mb3JtYXQKK21zZ2lkICJ3aWR0aCBzdWZmaXhlcyBhcmUgaW52YWxpZCBpbiBBUk0gbW9kZSAtLSBgJXMnIgorbXNnc3RyICJsZWJhciBha2hpcmFuIHRpZGFrIHZsYWlkIGRhbGFtIG1vZGUgQVJNIC0tIGAlcyciCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxNDM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRlbXB0IHRvIHVzZSBhbiBBUk0gaW5zdHJ1Y3Rpb24gb24gYSBUaHVtYi1vbmx5IHByb2Nlc3NvciAtLSBgJXMnIgorbXNnc3RyICJtZW5jb2JhIG1lbmdndW5ha2FuIHNlYnVhaCBpbnN0cnVrc2kgQVJNIGRpIFRodW1iLW9ubHkgcHJvc2Vzb3IgLS0gYCVzJyIKKworIzogY29uZmlnL3RjLWFybS5jOjE3MTE0Cittc2dpZCAiYWxpZ25tZW50cyBncmVhdGVyIHRoYW4gMzIgYnl0ZXMgbm90IHN1cHBvcnRlZCBpbiAudGV4dCBzZWN0aW9ucy4iCittc2dzdHIgImFsaWdubWVudHMgbGViaWggYmVzYXIgZGFyaSAzMiBieXRlcyB0aWRhayBkaWR1a3VuZyBkYWxhbSBkYWVyYWggLnRleHQuIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTczNjMgY29uZmlnL3RjLWlhNjQuYzozNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdyb3VwIHNlY3Rpb24gYCVzJyBoYXMgbm8gZ3JvdXAgc2lnbmF0dXJlIgorbXNnc3RyICJEYWVyYWggZ3J1cCBgJXMnIHRpZGFrIG1lbWlsaWtpIHRhbmRhIHRhbmdhbiBncnVwIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTc0MDgKK21zZ2lkICJoYW5kbGVyZGF0YSBpbiBjYW50dW53aW5kIGZyYW1lIgorbXNnc3RyICJoYW5kbGVyZGF0YSBkYWxhbSBmcmFtZSBjYW50dW53aW5kIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTc0MjUKK21zZ2lkICJ0b28gbWFueSB1bndpbmQgb3Bjb2RlcyBmb3IgcGVyc29uYWxpdHkgcm91dGluZSAwIgorbXNnc3RyICJ0ZXJsYWx1IGJhbnlhayB1bndpbmQgb3Bjb2RlcyB1bnR1ayBydXRpbml0YXMgMCIKKworIzogY29uZmlnL3RjLWFybS5jOjE3NDU3Cittc2dpZCAidG9vIG1hbnkgdW53aW5kIG9wY29kZXMiCittc2dzdHIgInRlcmxhbHUgYmFueWFrIHVud2luZCBvcGNvZGVzIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTc2ODEKK21zZ2lkICJHT1QgYWxyZWFkeSBpbiB0aGUgc3ltYm9sIHRhYmxlIgorbXNnc3RyICJHT1QgdGVsYWggYmVyYWRhIGRhbGFtIHRhYmVsIHNpbWJvbCIKKworIzogY29uZmlnL3RjLWFybS5jOjE3OTkxIGNvbmZpZy90Yy1hcm0uYzoxODI3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmRlZmluZWQgc3ltYm9sICVzIHVzZWQgYXMgYW4gaW1tZWRpYXRlIHZhbHVlIgorbXNnc3RyICJzaW1ib2wgJXMgdGlkYWsgdGVyZGVmaW5pc2kgZGlndW5ha2FuIHNlYmFnYWkgbmlsYWkgbGFuZ3N1bmciCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxODAwNSBjb25maWcvdGMtYXJtLmM6MTgzMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb25zdGFudCAoJWx4KSBhZnRlciBmaXh1cCIKK21zZ3N0ciAia29uc3RhbnRhICglbHgpIHRpZGFrIHZhbGlkIHNldGVsYWggZml4dXAiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxODA0MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY29tcHV0ZSBBRFJMIGluc3RydWN0aW9ucyBmb3IgUEMgb2Zmc2V0IG9mIDB4JWx4IgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5naGl0dW5nIGluc3RydWtzaSBBRFJMIHVudHVrIFBDIG9mc2V0IGRpIDB4JWx4IgorCisjOiBjb25maWcvdGMtYXJtLmM6MTgwNzcgY29uZmlnL3RjLWFybS5jOjE4MTAyCittc2dpZCAiaW52YWxpZCBsaXRlcmFsIGNvbnN0YW50OiBwb29sIG5lZWRzIHRvIGJlIGNsb3NlciIKK21zZ3N0ciAibGl0ZXJhbCBrb25zdGFudGEgdGlkYWsgdmFsaWQ6IHBvb2wgYnV0dWggbGViaWggZGVrYXQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxODA4MCBjb25maWcvdGMtYXJtLmM6MTgxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGltbWVkaWF0ZSB2YWx1ZSBmb3Igb2Zmc2V0ICglbGQpIgorbXNnc3RyICJuaWxhaSBsYW5nc3VuZyBidXJ1ayB1bnR1ayBvZnNldCAoJWxkKSIKKworIzogY29uZmlnL3RjLWFybS5jOjE4MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBpbW1lZGlhdGUgdmFsdWUgZm9yIDgtYml0IG9mZnNldCAoJWxkKSIKK21zZ3N0ciAibmlsYWkgbGFuZ3N1bmcgYnVydWsgdW50dWsgb2ZzZXQgOC1iaXQgKCVsZCkiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxODE1OQorbXNnaWQgIm9mZnNldCBub3QgYSBtdWx0aXBsZSBvZiA0IgorbXNnc3RyICJvZnNldCBidWthbiBrZWxpcGF0YW4gZGFyaSA0IgorCisjOiBjb25maWcvdGMtYXJtLmM6MTgxNjYgY29uZmlnL3RjLWFybS5jOjE4MTgxIGNvbmZpZy90Yy1hcm0uYzoxODE5NgorIzogY29uZmlnL3RjLWFybS5jOjE4MjA3IGNvbmZpZy90Yy1hcm0uYzoxODIzMCBjb25maWcvdGMtYXJtLmM6MTg4MjUKKyM6IGNvbmZpZy90Yy1wai5jOjQ1MCBjb25maWcvdGMtc2guYzo0MTg3Cittc2dpZCAib2Zmc2V0IG91dCBvZiByYW5nZSIKK21zZ3N0ciAib2ZzZXQgZGlsdWFyIGRhcmkgamFuZ2thdWFuIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTgzMzAKK21zZ2lkICJpbnZhbGlkIHNtYyBleHByZXNzaW9uIgorbXNnc3RyICJla3NwcmVzaSBzbWMgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxODM0MSBjb25maWcvdGMtYXJtLmM6MTgzNTAKK21zZ2lkICJpbnZhbGlkIHN3aSBleHByZXNzaW9uIgorbXNnc3RyICJla3NwcmVzaSBzd2kgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxODM2MAorbXNnaWQgImludmFsaWQgZXhwcmVzc2lvbiBpbiBsb2FkL3N0b3JlIG11bHRpcGxlIgorbXNnc3RyICJla3NwcmVzaSBkYWxhbSBsb2FkL3N0b3JlIG11bHRpcGxlIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTgzOTAKK21zZ2lkICJtaXNhbGlnbmVkIGJyYW5jaCBkZXN0aW5hdGlvbiIKK21zZ3N0ciAiY2FiYW5nIHR1anVhbiBtaXNhbGlnbmVkIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTgzOTQgY29uZmlnL3RjLWFybS5jOjE4NDMxIGNvbmZpZy90Yy1hcm0uYzoxODQ0NQorIzogY29uZmlnL3RjLWFybS5jOjE4NDU4IGNvbmZpZy90Yy1hcm0uYzoxODQ5NyBjb25maWcvdGMtYXJtLmM6MTg1MjIKK21zZ2lkICJicmFuY2ggb3V0IG9mIHJhbmdlIgorbXNnc3RyICJwZXJjYWJhbmdhbiBkaWx1YXIgZGFyaSBqYW5na2F1YW4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxODQ3MQorbXNnaWQgImNvbmRpdGlvbmFsIGJyYW5jaCBvdXQgb2YgcmFuZ2UiCittc2dzdHIgInBlcmNhYmFuZ2FuIGtvbmRpc2lvbmFsIGRpbHVhciBkYXJpIGphbmdrYXVhbiIKKworIzogY29uZmlnL3RjLWFybS5jOjE4NTk5Cittc2dpZCAicmVsMzEgcmVsb2NhdGlvbiBvdmVyZmxvdyIKK21zZ3N0ciAicmVsMzIgcmVsb2thc2kgb3ZlcmZsb3ciCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxODYxMSBjb25maWcvdGMtYXJtLmM6MTg2MzQKK21zZ2lkICJjby1wcm9jZXNzb3Igb2Zmc2V0IG91dCBvZiByYW5nZSIKK21zZ3N0ciAiY28tcHJvc2Vzb3Igb2ZzZXQgZGlsdWFyIGRhcmkgamFuZ2thdWFuIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTg2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBvZmZzZXQsIHRhcmdldCBub3Qgd29yZCBhbGlnbmVkICgweCUwOGxYKSIKK21zZ3N0ciAib2ZzZXQgdGlkYWsgdmFsaWQsIHRhcmdldCB0aWRhayB3b3JkIGFsaWduZWQgKDB4JTA4bHgpIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTg2NTggY29uZmlnL3RjLWFybS5jOjE4NjY3IGNvbmZpZy90Yy1hcm0uYzoxODY3NQorIzogY29uZmlnL3RjLWFybS5jOjE4NjgzIGNvbmZpZy90Yy1hcm0uYzoxODY5MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG9mZnNldCwgdmFsdWUgdG9vIGJpZyAoMHglMDhsWCkiCittc2dzdHIgIm9mc2V0IHRpZGFrIHZhbGlkLCBuaWxhaSB0ZXJsYWx1IGJlc2FyICgweCUwOGx4KSIKKworIzogY29uZmlnL3RjLWFybS5jOjE4NzMyCittc2dpZCAiaW52YWxpZCBIaSByZWdpc3RlciB3aXRoIGltbWVkaWF0ZSIKK21zZ3N0ciAicmVnaXN0ZXIgSGkgdGlkYWsgdmFsaWQgZGVuZ2FuIGxhbmdzdW5nIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTg3NDgKK21zZ2lkICJpbnZhbGlkIGltbWVkaWF0ZSBmb3Igc3RhY2sgYWRkcmVzcyBjYWxjdWxhdGlvbiIKK21zZ3N0ciAidGlkYWsgdmFsaWQgaW1tZWRpYXRlIHVudHVrIHBlcmhpdHVuZ2FuIGFsYW1hdCBzdGFjayIKKworIzogY29uZmlnL3RjLWFybS5jOjE4NzU2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaW1tZWRpYXRlIGZvciBhZGRyZXNzIGNhbGN1bGF0aW9uICh2YWx1ZSA9IDB4JTA4bFgpIgorbXNnc3RyICJpbW1lZGlhdGUgdGlkYWsgdmFsaWQgdW50dWsgcGVyaGl0dW5nYW4gYWxhbWF0IChuaWxhaSA9IDB4JTA4bHgpIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTg3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpbW1lZGlhdGU6ICVsZCBpcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgImxhbmdzdW5nIHRpZGFrIHZhbGlkOiAlbGQgZGlsdWFyIGRhcmkgamFuZ2thdWFuIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTg3OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaGlmdCB2YWx1ZTogJWxkIgorbXNnc3RyICJuaWxhaSBzaGlmdCB0aWRhayB2YWxpZDogJWxkIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTg4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG9mZnNldCAweCUwOGxYIGlzIG5vdCByZXByZXNlbnRhYmxlIgorbXNnc3RyICJvZnNldCAweCUwOGx4IHRpZGFrIGRpcmVwcmVzZW50YXNpa2FuIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTg5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9mZnNldCAweCUwOGxYIChvbmx5IDEyIGJpdHMgYXZhaWxhYmxlIGZvciB0aGUgbWFnbml0dWRlKSIKK21zZ3N0ciAib2ZzZXQgYnVydWsgMHglMDhseCAoaGFueWEgMTIgYml0IHlhbmcgdGVyc2VkaWEgdW50dWsgbWFnbml0dWRlKSIKKworIzogY29uZmlnL3RjLWFybS5jOjE4OTU2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvZmZzZXQgMHglMDhsWCAob25seSA4IGJpdHMgYXZhaWxhYmxlIGZvciB0aGUgbWFnbml0dWRlKSIKK21zZ3N0ciAib2ZzZXQgYnVydWsgMHglMDhseCAoaGFueWEgOCBiaXQgdGVyc2VkaWEgdW50dWsgbWFnbml0dWRlKSIKKworIzogY29uZmlnL3RjLWFybS5jOjE4OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvZmZzZXQgMHglMDhsWCAobXVzdCBiZSB3b3JkLWFsaWduZWQpIgorbXNnc3RyICJvZnNldCBidXJ1ayAweCUwOGx4IChoYXJ1cyB3b3JkLWFsaWduZWQpIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTkwMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9mZnNldCAweCUwOGxYIChtdXN0IGJlIGFuIDgtYml0IG51bWJlciBvZiB3b3JkcykiCittc2dzdHIgIm9mc2V0IGJ1cnVrIDB4JTA4bHggKGhhcnVzIGJlcnVwYSBzZWJ1YWggbm9tb3IgOC1iaXQga2F0YSkiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTAzMiBjb25maWcvdGMtc2NvcmUuYzo1NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByZWxvY2F0aW9uIGZpeHVwIHR5cGUgKCVkKSIKK21zZ3N0ciAicmVsb2thc2kgYnVydWsgdGlwZSBwZXJiYWlrYW4gKCVkKSIKKworIzogY29uZmlnL3RjLWFybS5jOjE5MTM1Cittc2dpZCAibGl0ZXJhbCByZWZlcmVuY2VkIGFjcm9zcyBzZWN0aW9uIGJvdW5kYXJ5IgorbXNnc3RyICJsaXRlcmFsIGRpcmVmZXJlbnNpa2FuIG1lbGV3YXRpIGJhdGFzIGJhZ2lhbiIKKworIzogY29uZmlnL3RjLWFybS5jOjE5MTk2Cittc2dpZCAiaW50ZXJuYWwgcmVsb2NhdGlvbiAodHlwZTogSU1NRURJQVRFKSBub3QgZml4ZWQgdXAiCittc2dzdHIgInJlbG9rYXNpIGludGVybmFsICh0aXBlOiBJTU1FRElBVEUpIGJ1a2FuIGZpeGVkIHVwIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTkyMDEKK21zZ2lkICJBRFJMIHVzZWQgZm9yIGEgc3ltYm9sIG5vdCBkZWZpbmVkIGluIHRoZSBzYW1lIGZpbGUiCittc2dzdHIgIkFEUkwgZGlndW5ha2FuIHVudHVrIHNpbWJvbCB0aWRhayBkaWRlZmluaXNpa2FuIGRhbGFtIGJlcmthcyB5YW5nIHNhbWEiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmRlZmluZWQgbG9jYWwgbGFiZWwgYCVzJyIKK21zZ3N0ciAidGFiZWwgbG9rYWwgYCVzJyB0aWRhayB0ZXJkZWZpbmlzaSIKKworIzogY29uZmlnL3RjLWFybS5jOjE5MjIyCittc2dpZCAiaW50ZXJuYWxfcmVsb2NhdGlvbiAodHlwZTogT0ZGU0VUX0lNTSkgbm90IGZpeGVkIHVwIgorbXNnc3RyICJpbnRlcm5hbF9yZWxvY2F0aW9uICh0aXBlOiBPRkZTRVRfSU1NKSBidWthbiBwZXJiYWlrYW4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTI0MyBjb25maWcvdGMtY3Jpcy5jOjM5MjUgY29uZmlnL3RjLW1jb3JlLmM6MTkyNgorIzogY29uZmlnL3RjLW1taXguYzoyODU5IGNvbmZpZy90Yy1uczMyay5jOjIyNDggY29uZmlnL3RjLXNjb3JlLmM6NTUwMQorbXNnaWQgIjx1bmtub3duPiIKK21zZ3N0ciAiPHRpZGFrIGRpa2V0YWh1aT4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTI0NiBjb25maWcvdGMtYXJtLmM6MTkyNjcgY29uZmlnL3RjLXNjb3JlLmM6NTUwMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVwcmVzZW50ICVzIHJlbG9jYXRpb24gaW4gdGhpcyBvYmplY3QgZmlsZSBmb3JtYXQiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lcmVwcmVzZW50YXNpa2FuICVzIHJlbG9rYXNpIGRhbGFtIGZvcm1hdCBiZXJrYXMgb2JqZWsgaW5pIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZXhwZWN0ZWQgZnVuY3Rpb24gdHlwZTogJWQiCittc2dzdHIgIiVzOiB0aWRhayBkaWR1Z2EgdGlwZSBmdW5nc2k6ICVkIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk2MzUKK21zZ2lkICJ1c2Ugb2Ygb2xkIGFuZCBuZXctc3R5bGUgb3B0aW9ucyB0byBzZXQgQ1BVIHR5cGUiCittc2dzdHIgImd1bmFrYW4gb3BzaSBnYXlhIGxhbWEgZGFuIGJhcnUgdW50dWsgbWVuc2V0IHRpcGUgQ1BVIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk2NDUKK21zZ2lkICJ1c2Ugb2Ygb2xkIGFuZCBuZXctc3R5bGUgb3B0aW9ucyB0byBzZXQgRlBVIHR5cGUiCittc2dzdHIgImd1bmFrYW4gb3BzaSBnYXlhIGxhbWEgZGFuIGJhcnUgdW50dWsgbWVuc2V0IHRpcGUgRlBVIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk3MjAKK21zZ2lkICJoYXJkLWZsb2F0IGNvbmZsaWN0cyB3aXRoIHNwZWNpZmllZCBmcHUiCittc2dzdHIgImhhcmQtZmxvYXQga29uZmxpayBkZW5nYW4gZnB1IHlhbmcgZGlzcGVzaWZpa2FzaWthbiIKKworIzogY29uZmlnL3RjLWFybS5jOjE5OTA1Cittc2dpZCAiZ2VuZXJhdGUgUElDIGNvZGUiCittc2dzdHIgImhhc2lsa2FuIGtvZGUgUElDIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5MDYKK21zZ2lkICJhc3NlbWJsZSBUaHVtYiBjb2RlIgorbXNnc3RyICJyYWtpdCBrb2RlIFRodW1iIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5MDcKK21zZ2lkICJzdXBwb3J0IEFSTS9UaHVtYiBpbnRlcndvcmtpbmciCittc2dzdHIgImR1a3VuZyBhbnRhci1rZXJqYSBBUk0vVGh1bWIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTkwOQorbXNnaWQgImNvZGUgdXNlcyAzMi1iaXQgcHJvZ3JhbSBjb3VudGVyIgorbXNnc3RyICJrb2RlIG1lbmdndW5ha2FuIDMyLWJpdCBwcm9ncmFtIGNvdW50ZXIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTkxMAorbXNnaWQgImNvZGUgdXNlcyAyNi1iaXQgcHJvZ3JhbSBjb3VudGVyIgorbXNnc3RyICJrb2RlIG1lbmdndW5ha2FuIDI2LWJpdCBwcm9ncmFtIGNvdW50ZXIiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTkxMQorbXNnaWQgImZsb2F0aW5nIHBvaW50IGFyZ3MgYXJlIGluIGZwIHJlZ3MiCittc2dzdHIgImZsb2F0aW5nIHBvaW50IGFyZ3MgYmVyYWRhIGRhbGFtIGZwIHJlZ2lzdGVyIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5MTMKK21zZ2lkICJyZS1lbnRyYW50IGNvZGUiCittc2dzdHIgImtvZGUgcmUtZW50cmFudCIKKworIzogY29uZmlnL3RjLWFybS5jOjE5OTE0Cittc2dpZCAiY29kZSBpcyBBVFBDUyBjb25mb3JtYW50IgorbXNnc3RyICJrb2RlIGFkYWxhaCBBVFBDUyBjb25mb3JtYW50IgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5MTUKK21zZ2lkICJhc3NlbWJsZSBmb3IgYmlnLWVuZGlhbiIKK21zZ3N0ciAibWVyYWtpdCB1bnR1ayBiaWctZW5kaWFuIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5MTYKK21zZ2lkICJhc3NlbWJsZSBmb3IgbGl0dGxlLWVuZGlhbiIKK21zZ3N0ciAibWVyYWtpdCB1bnR1ayBsaXR0bGUtZW5kaWFuIgorCisjLiBUaGVzZSBhcmUgcmVjb2duaXplZCBieSB0aGUgYXNzZW1ibGVyLCBidXQgaGF2ZSBubyBhZmZlY3Qgb24gY29kZS4KKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTkyMAorbXNnaWQgInVzZSBmcmFtZSBwb2ludGVyIgorbXNnc3RyICJtZW5nZ3VuYWthbiBmcmFtZSBwb2ludGVyIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5MjEKK21zZ2lkICJ1c2Ugc3RhY2sgc2l6ZSBjaGVja2luZyIKK21zZ3N0ciAibWVuZ2d1bmFrYW4gdWt1cmFuIHN0YWNrIHVudHVrIG1lbWVyaWtzYSIKKworIy4gRE9OJ1QgYWRkIGFueSBuZXcgcHJvY2Vzc29ycyB0byB0aGlzIGxpc3QgLS0gd2Ugd2FudCB0aGUgd2hvbGUgbGlzdAorIy4gdG8gZ28gYXdheS4uLiAgQWRkIHRoZW0gdG8gdGhlIHByb2Nlc3NvcnMgdGFibGUgaW5zdGVhZC4KKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTkzNyBjb25maWcvdGMtYXJtLmM6MTk5MzgKK21zZ2lkICJ1c2UgLW1jcHU9YXJtMSIKK21zZ3N0ciAiZ3VuYWthbiAtbWNwdT1hcm0xIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5MzkgY29uZmlnL3RjLWFybS5jOjE5OTQwCittc2dpZCAidXNlIC1tY3B1PWFybTIiCittc2dzdHIgImd1bmFrYW4gLW1jdT1hcm0yIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5NDEgY29uZmlnL3RjLWFybS5jOjE5OTQyCittc2dpZCAidXNlIC1tY3B1PWFybTI1MCIKK21zZ3N0ciAiZ3VuYWthbiAtbWNwdT1hcm0yNTAiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTk0MyBjb25maWcvdGMtYXJtLmM6MTk5NDQKK21zZ2lkICJ1c2UgLW1jcHU9YXJtMyIKK21zZ3N0ciAiZ3VuYWthbiAtbWNwdT1hcm0zIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5NDUgY29uZmlnL3RjLWFybS5jOjE5OTQ2Cittc2dpZCAidXNlIC1tY3B1PWFybTYiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtNiIKKworIzogY29uZmlnL3RjLWFybS5jOjE5OTQ3IGNvbmZpZy90Yy1hcm0uYzoxOTk0OAorbXNnaWQgInVzZSAtbWNwdT1hcm02MDAiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtNjAwIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5NDkgY29uZmlnL3RjLWFybS5jOjE5OTUwCittc2dpZCAidXNlIC1tY3B1PWFybTYxMCIKK21zZ3N0ciAiZ3VuYWthbiAtbWNwdT1hcm02MTAiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTk1MSBjb25maWcvdGMtYXJtLmM6MTk5NTIKK21zZ2lkICJ1c2UgLW1jcHU9YXJtNjIwIgorbXNnc3RyICJndW5ha2FuIC1tY3U9YXJtNjIwIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5NTMgY29uZmlnL3RjLWFybS5jOjE5OTU0Cittc2dpZCAidXNlIC1tY3B1PWFybTciCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtNyIKKworIzogY29uZmlnL3RjLWFybS5jOjE5OTU1IGNvbmZpZy90Yy1hcm0uYzoxOTk1NgorbXNnaWQgInVzZSAtbWNwdT1hcm03MCIKK21zZ3N0ciAiZ3VuYWthbiAtbWNwdT1hcm03MCIKKworIzogY29uZmlnL3RjLWFybS5jOjE5OTU3IGNvbmZpZy90Yy1hcm0uYzoxOTk1OAorbXNnaWQgInVzZSAtbWNwdT1hcm03MDAiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtNzAwIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5NTkgY29uZmlnL3RjLWFybS5jOjE5OTYwCittc2dpZCAidXNlIC1tY3B1PWFybTcwMGkiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtNzAwaSIKKworIzogY29uZmlnL3RjLWFybS5jOjE5OTYxIGNvbmZpZy90Yy1hcm0uYzoxOTk2MgorbXNnaWQgInVzZSAtbWNwdT1hcm03MTAiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtNzEwIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5NjMgY29uZmlnL3RjLWFybS5jOjE5OTY0Cittc2dpZCAidXNlIC1tY3B1PWFybTcxMGMiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtNzEwYyIKKworIzogY29uZmlnL3RjLWFybS5jOjE5OTY1IGNvbmZpZy90Yy1hcm0uYzoxOTk2NgorbXNnaWQgInVzZSAtbWNwdT1hcm03MjAiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtNzIwIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5NjcgY29uZmlnL3RjLWFybS5jOjE5OTY4Cittc2dpZCAidXNlIC1tY3B1PWFybTdkIgorbXNnc3RyICJndW5ha2FuIC1tY3B1PWFybTdkIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5NjkgY29uZmlnL3RjLWFybS5jOjE5OTcwCittc2dpZCAidXNlIC1tY3B1PWFybTdkaSIKK21zZ3N0ciAiZ3VuYWthbiAtbWNwdT1hcm03ZGkiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTk3MSBjb25maWcvdGMtYXJtLmM6MTk5NzIKK21zZ2lkICJ1c2UgLW1jcHU9YXJtN20iCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtN20iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTk3MyBjb25maWcvdGMtYXJtLmM6MTk5NzQKK21zZ2lkICJ1c2UgLW1jcHU9YXJtN2RtIgorbXNnc3RyICJndW5ha2FuIC1tY3B1PWFybTdkbSIKKworIzogY29uZmlnL3RjLWFybS5jOjE5OTc1IGNvbmZpZy90Yy1hcm0uYzoxOTk3NgorbXNnaWQgInVzZSAtbWNwdT1hcm03ZG1pIgorbXNnc3RyICJndW5ha2FuIC1tY3B1PWFybTdkbWkiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTk3NyBjb25maWcvdGMtYXJtLmM6MTk5NzgKK21zZ2lkICJ1c2UgLW1jcHU9YXJtNzEwMCIKK21zZ3N0ciAiZ3VuYWthbiAtbWNwdT1hcm03MTAwIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5NzkgY29uZmlnL3RjLWFybS5jOjE5OTgwCittc2dpZCAidXNlIC1tY3B1PWFybTc1MDAiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtNzUwMCIKKworIzogY29uZmlnL3RjLWFybS5jOjE5OTgxIGNvbmZpZy90Yy1hcm0uYzoxOTk4MgorbXNnaWQgInVzZSAtbWNwdT1hcm03NTAwZmUiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtNzUwMGZlIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5ODMgY29uZmlnL3RjLWFybS5jOjE5OTg0IGNvbmZpZy90Yy1hcm0uYzoxOTk4NQorIzogY29uZmlnL3RjLWFybS5jOjE5OTg2Cittc2dpZCAidXNlIC1tY3B1PWFybTd0ZG1pIgorbXNnc3RyICJndW5ha2FuIC1tY3B1PWFybTd0ZG1pIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5ODcgY29uZmlnL3RjLWFybS5jOjE5OTg4Cittc2dpZCAidXNlIC1tY3B1PWFybTcxMHQiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtNzEwdCIKKworIzogY29uZmlnL3RjLWFybS5jOjE5OTg5IGNvbmZpZy90Yy1hcm0uYzoxOTk5MAorbXNnaWQgInVzZSAtbWNwdT1hcm03MjB0IgorbXNnc3RyICJndW5ha2FuIC1tY3B1PWFybTcyMHQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoxOTk5MSBjb25maWcvdGMtYXJtLmM6MTk5OTIKK21zZ2lkICJ1c2UgLW1jcHU9YXJtNzQwdCIKK21zZ3N0ciAiZ3VuYWthbiAtbWNwdT1hcm03NDB0IgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5OTMgY29uZmlnL3RjLWFybS5jOjE5OTk0Cittc2dpZCAidXNlIC1tY3B1PWFybTgiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtOCIKKworIzogY29uZmlnL3RjLWFybS5jOjE5OTk1IGNvbmZpZy90Yy1hcm0uYzoxOTk5NgorbXNnaWQgInVzZSAtbWNwdT1hcm04MTAiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtODEwIgorCisjOiBjb25maWcvdGMtYXJtLmM6MTk5OTcgY29uZmlnL3RjLWFybS5jOjE5OTk4Cittc2dpZCAidXNlIC1tY3B1PWFybTkiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtOSIKKworIzogY29uZmlnL3RjLWFybS5jOjE5OTk5IGNvbmZpZy90Yy1hcm0uYzoyMDAwMAorbXNnaWQgInVzZSAtbWNwdT1hcm05dGRtaSIKK21zZ3N0ciAiZ3VuYWthbiAtbWNwdT1hcm05dGRtaSIKKworIzogY29uZmlnL3RjLWFybS5jOjIwMDAxIGNvbmZpZy90Yy1hcm0uYzoyMDAwMgorbXNnaWQgInVzZSAtbWNwdT1hcm05MjAiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9YXJtOTIwIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjAwMDMgY29uZmlnL3RjLWFybS5jOjIwMDA0Cittc2dpZCAidXNlIC1tY3B1PWFybTk0MCIKK21zZ3N0ciAiZ3VuYWthbiAtbWNwdT1hcm05NDAiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMDAwNQorbXNnaWQgInVzZSAtbWNwdT1zdHJvbmdhcm0iCittc2dzdHIgImd1bmFrYW4gLW1jcHU9c3Ryb25nYXJtIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjAwMDcKK21zZ2lkICJ1c2UgLW1jcHU9c3Ryb25nYXJtMTEwIgorbXNnc3RyICJndW5ha2FuIC1tY3B1PXN0cm9uZ2FybTExMCIKKworIzogY29uZmlnL3RjLWFybS5jOjIwMDA5Cittc2dpZCAidXNlIC1tY3B1PXN0cm9uZ2FybTExMDAiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9c3Ryb25nYXJtMTEwMCIKKworIzogY29uZmlnL3RjLWFybS5jOjIwMDExCittc2dpZCAidXNlIC1tY3B1PXN0cm9uZ2FybTExMTAiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9c3Ryb25nYXJtMTExMCIKKworIzogY29uZmlnL3RjLWFybS5jOjIwMDEyCittc2dpZCAidXNlIC1tY3B1PXhzY2FsZSIKK21zZ3N0ciAiZ3VuYWthbiAtbWNwdT14c2NhbGUiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMDAxMworbXNnaWQgInVzZSAtbWNwdT1pd21teHQiCittc2dzdHIgImd1bmFrYW4gLW1jcHU9aXdtbXh0IgorCisjOiBjb25maWcvdGMtYXJtLmM6MjAwMTQKK21zZ2lkICJ1c2UgLW1jcHU9YWxsIgorbXNnc3RyICJndW5ha2FuIC1tY3B1PWFsbCIKKworIy4gQXJjaGl0ZWN0dXJlIHZhcmlhbnRzIC0tIGRvbid0IGFkZCBhbnkgbW9yZSB0byB0aGlzIGxpc3QgZWl0aGVyLgorIzogY29uZmlnL3RjLWFybS5jOjIwMDE3IGNvbmZpZy90Yy1hcm0uYzoyMDAxOAorbXNnaWQgInVzZSAtbWFyY2g9YXJtdjIiCittc2dzdHIgImd1bmFrYW4gLW1hcmNoPWFybXYyIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjAwMTkgY29uZmlnL3RjLWFybS5jOjIwMDIwCittc2dpZCAidXNlIC1tYXJjaD1hcm12MmEiCittc2dzdHIgImd1bmFrYW4gLW1hcmNoPWFybXYyYSIKKworIzogY29uZmlnL3RjLWFybS5jOjIwMDIxIGNvbmZpZy90Yy1hcm0uYzoyMDAyMgorbXNnaWQgInVzZSAtbWFyY2g9YXJtdjMiCittc2dzdHIgImd1bmFrYW4gLW1hcmNoPWFybXYzIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjAwMjMgY29uZmlnL3RjLWFybS5jOjIwMDI0Cittc2dpZCAidXNlIC1tYXJjaD1hcm12M20iCittc2dzdHIgImd1bmFrYW4gLW1hcmNoPWFybXYzbSIKKworIzogY29uZmlnL3RjLWFybS5jOjIwMDI1IGNvbmZpZy90Yy1hcm0uYzoyMDAyNgorbXNnaWQgInVzZSAtbWFyY2g9YXJtdjQiCittc2dzdHIgImd1bmFrYW4gLW1hcmNoPWFybXY0IgorCisjOiBjb25maWcvdGMtYXJtLmM6MjAwMjcgY29uZmlnL3RjLWFybS5jOjIwMDI4Cittc2dpZCAidXNlIC1tYXJjaD1hcm12NHQiCittc2dzdHIgImd1bmFrYW4gLW1hcmNoPWFybXY0dCIKKworIzogY29uZmlnL3RjLWFybS5jOjIwMDI5IGNvbmZpZy90Yy1hcm0uYzoyMDAzMAorbXNnaWQgInVzZSAtbWFyY2g9YXJtdjUiCittc2dzdHIgImd1bmFrYW4gLW1hcmNoPWFybXY1IgorCisjOiBjb25maWcvdGMtYXJtLmM6MjAwMzEgY29uZmlnL3RjLWFybS5jOjIwMDMyCittc2dpZCAidXNlIC1tYXJjaD1hcm12NXQiCittc2dzdHIgImd1bmFrYW4gLW1hcmNoPWFybXY1dCIKKworIzogY29uZmlnL3RjLWFybS5jOjIwMDMzIGNvbmZpZy90Yy1hcm0uYzoyMDAzNAorbXNnaWQgInVzZSAtbWFyY2g9YXJtdjV0ZSIKK21zZ3N0ciAiZ3VuYWthbiAtbWFyY2g9YXJtdjV0ZSIKKworIy4gRmxvYXRpbmcgcG9pbnQgdmFyaWFudHMgLS0gZG9uJ3QgYWRkIGFueSBtb3JlIHRvIHRoaXMgbGlzdCBlaXRoZXIuCisjOiBjb25maWcvdGMtYXJtLmM6MjAwMzcKK21zZ2lkICJ1c2UgLW1mcHU9ZnBlIgorbXNnc3RyICJndW5ha2FuIC1tZnB1PWZwZSIKKworIzogY29uZmlnL3RjLWFybS5jOjIwMDM4Cittc2dpZCAidXNlIC1tZnB1PWZwYTEwIgorbXNnc3RyICJndW5ha2FuIC1tZnB1PWZwYTEwIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjAwMzkKK21zZ2lkICJ1c2UgLW1mcHU9ZnBhMTEiCittc2dzdHIgImd1bmFrYW4gLW1mcHU9ZnBhMTEiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMDA0MQorbXNnaWQgInVzZSBlaXRoZXIgLW1mcHU9c29mdGZwYSBvciAtbWZwdT1zb2Z0dmZwIgorbXNnc3RyICJndW5ha2FuIGJhaWsgbWZwdT1zb2Z0cGEgYXRhdSAtbWZwdT1zb2Z0dnAiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMDMxNAorbXNnaWQgImludmFsaWQgYXJjaGl0ZWN0dXJhbCBleHRlbnNpb24iCittc2dzdHIgImVrc3RlbnNpIGFyc2l0ZWt0dXIgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMDMyOAorbXNnaWQgIm1pc3NpbmcgYXJjaGl0ZWN0dXJhbCBleHRlbnNpb24iCittc2dzdHIgImVrc3RlbnNpIGFyc2l0ZWt0dXIgaGlsYW5nIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjAzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmNoaXRlY3R1cmFsIGV4dGVuc2lvbiBgJXMnIgorbXNnc3RyICJla3N0ZW5zaSBhcnNpdGVrdHVyIGAlcycgdGlkYWsgZGlrZXRhaHVpIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjAzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyBjcHUgbmFtZSBgJXMnIgorbXNnc3RyICJuYW1hIGNwdSBgJXMnIGhpbGFuZyIKKworIzogY29uZmlnL3RjLWFybS5jOjIwMzkwIGNvbmZpZy90Yy1hcm0uYzoyMDc4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNwdSBgJXMnIgorbXNnc3RyICJjcHUgYCVzJyB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjA0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyBhcmNoaXRlY3R1cmUgbmFtZSBgJXMnIgorbXNnc3RyICJuYW1hIGFyc2l0ZWt0dXIgYCVzJyBoaWxhbmciCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMDQyNSBjb25maWcvdGMtYXJtLmM6MjA4MjAgY29uZmlnL3RjLWFybS5jOjIwODUxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJjaGl0ZWN0dXJlIGAlcydcbiIKK21zZ3N0ciAiYXJzaXRla3R1ciBgJXMnIHRpZGFrIGRpa2VuYWxcbiIKKworIzogY29uZmlnL3RjLWFybS5jOjIwNDQxIGNvbmZpZy90Yy1hcm0uYzoyMDg4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsb2F0aW5nIHBvaW50IGZvcm1hdCBgJXMnXG4iCittc2dzdHIgImZvcm1hdCBmbG9hdGluZyBwb2ludCBgJXMnIHRpZGFrIGRpa2VuYWxcbiIKKworIzogY29uZmlnL3RjLWFybS5jOjIwNDU3CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxvYXRpbmcgcG9pbnQgYWJpIGAlcydcbiIKK21zZ3N0ciAiZmxvYXRpbmcgcG9pbnQgYWJpIGAlcycgdGlkYWsgZGlrZW5hbFxuIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjA0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBFQUJJIGAlcydcbiIKK21zZ3N0ciAiRUFCSSBgJXMnIHRpZGFrIGRpa2VuYWxcbiIKKworIzogY29uZmlnL3RjLWFybS5jOjIwNDgwCittc2dpZCAiPGNwdSBuYW1lPlx0ICBhc3NlbWJsZSBmb3IgQ1BVIDxjcHUgbmFtZT4iCittc2dzdHIgIjxuYW1hIGNwdT5cdCAgcmFraXQgdW50dWsgQ1BVIDxuYW1hIGNwdT4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMDQ4MgorbXNnaWQgIjxhcmNoIG5hbWU+XHQgIGFzc2VtYmxlIGZvciBhcmNoaXRlY3R1cmUgPGFyY2ggbmFtZT4iCittc2dzdHIgIjxuYW1hIGFyY2g+XHQgIHJha2l0IHVudHVrIGFyc2l0ZWt0dXIgPG5hbWEgYXJjaD4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMDQ4NAorbXNnaWQgIjxmcHUgbmFtZT5cdCAgYXNzZW1ibGUgZm9yIEZQVSBhcmNoaXRlY3R1cmUgPGZwdSBuYW1lPiIKK21zZ3N0ciAiPG5hbWEgZnB1Plx0ICByYWtpdCB1bnR1ayBhcnNpdGVrdHVyIEZQVSA8bmFtYSBmcHU+IgorCisjOiBjb25maWcvdGMtYXJtLmM6MjA0ODYKK21zZ2lkICI8YWJpPlx0ICBhc3NlbWJsZSBmb3IgZmxvYXRpbmcgcG9pbnQgQUJJIDxhYmk+IgorbXNnc3RyICI8YWJpPlx0ICByYWtpdCB1bnR1ayBmbG9hdGluZyBwb2ludCBBQkkgPGFiaT4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMDQ4OQorbXNnaWQgIjx2ZXI+XHRcdCAgYXNzZW1ibGUgZm9yIGVhYmkgdmVyc2lvbiA8dmVyPiIKK21zZ3N0ciAiPHZlcj5cdFx0ICByYWtpdCB1bnR1ayBlYWJpIHZlcnNpIDx2ZXI+IgorCisjOiBjb25maWcvdGMtYXJtLmM6MjA1MzUgY29uZmlnL3RjLWFybS5jOjIwNTU1IGNvbmZpZy90Yy1hcm0uYzoyMDU3NworIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYC0lYyVzJyBpcyBkZXByZWNhdGVkOiAlcyIKK21zZ3N0ciAib3BzaSBgLSVjJXMnIGthZGFsdWFyc2E6ICVzIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjA1OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIEFSTS1zcGVjaWZpYyBhc3NlbWJsZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiIG9wc2kgcGVyYWtpdCBBUk0tc3Blc2lmaWs6XG4iCisKKyM6IGNvbmZpZy90Yy1hcm0uYzoyMDYwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1FQiAgICAgICAgICAgICAgICAgICAgIGFzc2VtYmxlIGNvZGUgZm9yIGEgYmlnLWVuZGlhbiBjcHVcbiIKK21zZ3N0ciAiICAtRUIgICAgICAgICAgICAgICAgICAgICByYWtpdCBrb2RlIHVudHVrIHNlYnVhaCBjcHUgYmlnLWVuZGlhblxuIgorCisjOiBjb25maWcvdGMtYXJtLmM6MjA2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtRUwgICAgICAgICAgICAgICAgICAgICBhc3NlbWJsZSBjb2RlIGZvciBhIGxpdHRsZS1lbmRpYW4gY3B1XG4iCittc2dzdHIgIiAgLUVMICAgICAgICAgICAgICAgICAgICAgcmFraXQga29kZSB1bnR1ayBzZWJ1YWggY3B1IGxpdHRsZS1lbmRpYW5cbiIKKworIzogY29uZmlnL3RjLWFybS5jOjIwNjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1maXgtdjRieCAgICAgICAgICAgICAgQWxsb3cgQlggaW4gQVJNdjQgY29kZVxuIgorbXNnc3RyICIgIC0tZml4LXY0YnggICAgICAgICAgICAgIElqaW5rYW4gQlggZGFsYW0ga29kZSBBUk12NFxuIgorCisjOiBjb25maWcvdGMtYXZyLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIktub3duIE1DVSBuYW1lczoiCittc2dzdHIgIk5hbWEgTUNVIHlhbmcgZGlrZW5hbDoiCisKKyM6IGNvbmZpZy90Yy1hdnIuYzozNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkFWUiBvcHRpb25zOlxuIgorIiAgLW1tY3U9W2F2ci1uYW1lXSBzZWxlY3QgbWljcm9jb250cm9sbGVyIHZhcmlhbnRcbiIKKyIgICAgICAgICAgICAgICAgICAgW2F2ci1uYW1lXSBjYW4gYmU6XG4iCisiICAgICAgICAgICAgICAgICAgIGF2cjEgIC0gY2xhc3NpYyBBVlIgY29yZSB3aXRob3V0IGRhdGEgUkFNXG4iCisiICAgICAgICAgICAgICAgICAgIGF2cjIgIC0gY2xhc3NpYyBBVlIgY29yZSB3aXRoIHVwIHRvIDhLIHByb2dyYW0gbWVtb3J5XG4iCisiICAgICAgICAgICAgICAgICAgIGF2cjI1IC0gY2xhc3NpYyBBVlIgY29yZSB3aXRoIHVwIHRvIDhLIHByb2dyYW0gbWVtb3J5XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgcGx1cyB0aGUgTU9WVyBpbnN0cnVjdGlvblxuIgorIiAgICAgICAgICAgICAgICAgICBhdnIzICAtIGNsYXNzaWMgQVZSIGNvcmUgd2l0aCB1cCB0byA2NEsgcHJvZ3JhbSBtZW1vcnlcbiIKKyIgICAgICAgICAgICAgICAgICAgYXZyMzEgLSBjbGFzc2ljIEFWUiBjb3JlIHdpdGggdXAgdG8gMTI4SyBwcm9ncmFtIG1lbW9yeVxuIgorIiAgICAgICAgICAgICAgICAgICBhdnIzNSAtIGNsYXNzaWMgQVZSIGNvcmUgd2l0aCB1cCB0byA2NEsgcHJvZ3JhbSBtZW1vcnlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBwbHVzIHRoZSBNT1ZXIGluc3RydWN0aW9uXG4iCisiICAgICAgICAgICAgICAgICAgIGF2cjQgIC0gZW5oYW5jZWQgQVZSIGNvcmUgd2l0aCB1cCB0byA4SyBwcm9ncmFtIG1lbW9yeVxuIgorIiAgICAgICAgICAgICAgICAgICBhdnI1ICAtIGVuaGFuY2VkIEFWUiBjb3JlIHdpdGggdXAgdG8gNjRLIHByb2dyYW0gbWVtb3J5XG4iCisiICAgICAgICAgICAgICAgICAgIGF2cjUxIC0gZW5oYW5jZWQgQVZSIGNvcmUgd2l0aCB1cCB0byAxMjhLIHByb2dyYW0gbWVtb3J5XG4iCisiICAgICAgICAgICAgICAgICAgIGF2cjYgIC0gZW5oYW5jZWQgQVZSIGNvcmUgd2l0aCB1cCB0byAyNTZLIHByb2dyYW0gbWVtb3J5XG4iCisiICAgICAgICAgICAgICAgICAgIG9yIGltbWVkaWF0ZSBtaWNyb2NvbnRyb2xsZXIgbmFtZS5cbiIKK21zZ3N0ciAiIgorIk9wc2kgQVZSOlxuIgorIiAgLW1tY3U9W25hbWEtYXZyXSBwaWxpaCB2YXJpYXNpIG1pa3JvLWtvbnRyb2xsZXJcbiIKKyIgICAgICAgICAgICAgICAgICAgW25hbWEtYXZyXSAgZGFwYXQgYmVydXBhOlxuIgorIiAgICAgICAgICAgICAgICAgICBhdnIxICAtIGtsYXNpayBBVlIgY29yZSB0YW5wYSBkYXRhIFJBTVxuIgorIiAgICAgICAgICAgICAgICAgICBhdnIyICAtIGtsYXNpayBBVlIgY29yZSBkZW5nYW4gc2FtcGFpIDhLIG1lbW9yaSBhcGxpa2FzaVxuIgorIiAgICAgICAgICAgICAgICAgICBhdnIyNSAtIGtsYXNpayBBVlIgY29yZSBkZW5nYW4gc2FtcGFpIDhLIG1lbW9yaSBhcGxpa2FzaVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpdGFtYmFoIGluc3RydWtzaSBNT1ZXXG4iCisiICAgICAgICAgICAgICAgICAgIGF2cjMgIC0ga2xhc2lrIEFWUiBjb3JlIGRlbmdhbiBzYW1wYWkgNjRLIG1lbW9yaSBhcGxpa2FzaVxuIgorIiAgICAgICAgICAgICAgICAgICBhdnIzMSAtIGtsYXNpayBBVlIgY29yZSBkZW5nYW4gc2FtcGFpIDEyOEsgbWVtb3JpIGFwbGlrYXNpXG4iCisiICAgICAgICAgICAgICAgICAgIGF2cjM1IC0ga2xhc2lrIEFWUiBjb3JlIGRlbmdhbiBzYW1wYWkgNjRLIG1lbW9yaSBhcGxpa2FzaVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpdGFtYmFoIGluc3RydWtzaSBNT1ZXXG4iCisiICAgICAgICAgICAgICAgICAgIGF2cjQgIC0gZW5oYW5jZWQgQVZSIGNvcmUgZGVuZ2FuIHNhbXBhaSA4SyBwcm9ncmFtIG1lbW9yaVxuIgorIiAgICAgICAgICAgICAgICAgICBhdnI1ICAtIGVuaGFuY2VkIEFWUiBjb3JlIGRlbmdhbiBzYW1wYWkgNjRLIHByb2dyYW0gbWVtb3JpXG4iCisiICAgICAgICAgICAgICAgICAgIGF2cjUxIC0gZW5oYW5jZWQgQVZSIGNvcmUgZGVuZ2FuIHNhbXBhaSAxMjhLIHByb2dyYW0gbWVtb3JpXG4iCisiICAgICAgICAgICAgICAgICAgIGF2cjYgIC0gZW5oYW5jZWQgQVZSIGNvcmUgZGVuZ2FuIHNhbXBhaSAyNTZLIHByb2dyYW0gbWVtb3JpXG4iCisiICAgICAgICAgICAgICAgICAgIGF0YXUgbmFtYSBtaWtyby1rb250cm9sbGVyIGxhbmdzdW5nLlxuIgorCisjOiBjb25maWcvdGMtYXZyLmM6MzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIC1tYWxsLW9wY29kZXMgICAgYWNjZXB0IGFsbCBBVlIgb3Bjb2RlcywgZXZlbiBpZiBub3Qgc3VwcG9ydGVkIGJ5IE1DVVxuIgorIiAgLW1uby1za2lwLWJ1ZyAgICBkaXNhYmxlIHdhcm5pbmdzIGZvciBza2lwcGluZyB0d28td29yZCBpbnN0cnVjdGlvbnNcbiIKKyIgICAgICAgICAgICAgICAgICAgKGRlZmF1bHQgZm9yIGF2cjQsIGF2cjUpXG4iCisiICAtbW5vLXdyYXAgICAgICAgIHJlamVjdCByam1wL3JjYWxsIGluc3RydWN0aW9ucyB3aXRoIDhLIHdyYXAtYXJvdW5kXG4iCisiICAgICAgICAgICAgICAgICAgIChkZWZhdWx0IGZvciBhdnIzLCBhdnI1KVxuIgorbXNnc3RyICIiCisiICAtbWFsbC1vcGNvZGVzICAgIHRlcmltYSBzZWx1cnVoIEFWUiBvcGNvZGVzLCB3YWxhdXB1biBpdHUgdGlkYWsgZGlkdWt1bmcgb2xlaCBNQ1VcbiIKKyIgIC1tbm8tc2tpcC1idWcgICAgbm9uLWFrdGlma2FuIHBlcmluZ2F0YW4gdW50dWsgbWVsZXdhdGkgaW5zdHJ1a3NpIGR1YS1rYXRhXG4iCisiICAgICAgICAgICAgICAgICAgIChiYWt1IHVudHVrIGF2cjQsIGF2cjUpXG4iCisiICAtbW5vLXdyYXAgICAgICAgIHRvbGFrIHJqbXAvcmNhbGwgaW5zdHJ1a3NpIGRlbmdhbiA4SyB3cmFwLXJvdW5kXG4iCisiICAgICAgICAgICAgICAgICAgIChiYWt1IHVudHVrIGF2cjMsIGF2cjUpXG4iCisKKyM6IGNvbmZpZy90Yy1hdnIuYzo0MTEgY29uZmlnL3RjLW1zcDQzMC5jOjc0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIE1DVTogJXNcbiIKK21zZ3N0ciAiTUNVIHRpZGFrIGRpa2VuYWw6ICVzXG4iCisKKyM6IGNvbmZpZy90Yy1hdnIuYzo0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVkZWZpbml0aW9uIG9mIG1jdSB0eXBlIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAicmVkZWZpbmlzaSBkYXJpIHRpcGUgbWN1IGAlcycga2UgYCVzJyIKKworIzogY29uZmlnL3RjLWF2ci5jOjQ5OAorbXNnaWQgImNvbnN0YW50IHZhbHVlIHJlcXVpcmVkIgorbXNnc3RyICJuaWxhaSBrb25zdGFudGEgZGlidXR1aGthbiIKKworIzogY29uZmlnL3RjLWF2ci5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJudW1iZXIgbXVzdCBiZSBwb3NpdGl2ZSBhbmQgbGVzcyB0aGFuICVkIgorbXNnc3RyICJub21vciBoYXJ1cyBwb3NpdGlmIGRhbiBsZWJpaCBrZWNpbCBkYXJpICVkIgorCisjOiBjb25maWcvdGMtYXZyLmM6NTI3IGNvbmZpZy90Yy1hdnIuYzo2NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29uc3RhbnQgb3V0IG9mIDgtYml0IHJhbmdlOiAlZCIKK21zZ3N0ciAia29uc3RhbnRhIGRpbHVhciBkYXJpIGphbmdrYXVhbiA4LWJpdDogJWQiCisKKyM6IGNvbmZpZy90Yy1hdnIuYzo1OTUgY29uZmlnL3RjLXNjb3JlLmM6OTY5IHJlYWQuYzozNTcxCittc2dpZCAiaWxsZWdhbCBleHByZXNzaW9uIgorbXNnc3RyICJla3NwcmVzaSBpbGVnYWwiCisKKyM6IGNvbmZpZy90Yy1hdnIuYzo2MjQgY29uZmlnL3RjLWF2ci5jOjEzOTEKK21zZ2lkICJgKScgcmVxdWlyZWQiCittc2dzdHIgImApJyBkaWJ1dHVoa2FuIgorCisjOiBjb25maWcvdGMtYXZyLmM6NzE5Cittc2dpZCAicmVnaXN0ZXIgcjE2LXIyMyByZXF1aXJlZCIKK21zZ3N0ciAicmVnaXN0ZXIgcjE2LXIyMyBkaWJ1dHVoa2FuIgorCisjOiBjb25maWcvdGMtYXZyLmM6NzI1Cittc2dpZCAicmVnaXN0ZXIgbnVtYmVyIGFib3ZlIDE1IHJlcXVpcmVkIgorbXNnc3RyICJub21vciByZWdpc3RlciBkaWF0YXMgMTUgZGlidXR1aGthbiIKKworIzogY29uZmlnL3RjLWF2ci5jOjczMQorbXNnaWQgImV2ZW4gcmVnaXN0ZXIgbnVtYmVyIHJlcXVpcmVkIgorbXNnc3RyICJub21vciByZWdpc3RlciBnZW5hcCBkaWJ1dHVoa2FuIgorCisjOiBjb25maWcvdGMtYXZyLmM6NzM3Cittc2dpZCAicmVnaXN0ZXIgcjI0LCByMjYsIHIyOCBvciByMzAgcmVxdWlyZWQiCittc2dzdHIgInJlZ2lzdGVyIHIyNCwgcjI2LCByMjggYXRhdSByMzAgZGlidXR1aGthbiIKKworIzogY29uZmlnL3RjLWF2ci5jOjc0MworbXNnaWQgInJlZ2lzdGVyIG5hbWUgb3IgbnVtYmVyIGZyb20gMCB0byAzMSByZXF1aXJlZCIKK21zZ3N0ciAibmFtYSBhdGF1IG5vbW9yIHJlZ2lzdGVyIGRhcmkgMCBzYW1wYWkgMzEgZGlidXR1aGthbiIKKworIzogY29uZmlnL3RjLWF2ci5jOjc2MQorbXNnaWQgInBvaW50ZXIgcmVnaXN0ZXIgKFgsIFkgb3IgWikgcmVxdWlyZWQiCittc2dzdHIgInJlZ2lzdGVyIHBldHVuanVrIChYLCBZLCBhdGF1IFopIGRpYnV0dWhrYW4iCisKKyM6IGNvbmZpZy90Yy1hdnIuYzo3NjgKK21zZ2lkICJjYW5ub3QgYm90aCBwcmVkZWNyZW1lbnQgYW5kIHBvc3RpbmNyZW1lbnQiCittc2dzdHIgInRpZGFrIGRhcGF0IGtlZHVhbnlhIHByZWRlY3JlbWVudCBkYW4gcG9zdGluY3JlbWVudCIKKworIzogY29uZmlnL3RjLWF2ci5jOjc3NgorbXNnaWQgImFkZHJlc3NpbmcgbW9kZSBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJtb2RlIHBlbmdhbGFtYXRhbiB0aWRhayBkaWR1a3VuZyIKKworIzogY29uZmlnL3RjLWF2ci5jOjc4MgorbXNnaWQgImNhbid0IHByZWRlY3JlbWVudCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgcHJlZHJlY2VtZW50IgorCisjOiBjb25maWcvdGMtYXZyLmM6Nzg1Cittc2dpZCAicG9pbnRlciByZWdpc3RlciBaIHJlcXVpcmVkIgorbXNnc3RyICJwb2ludGVyIHJlZ2lzdGVyIFogZGlidXR1aGthbiIKKworIzogY29uZmlnL3RjLWF2ci5jOjc5OQorbXNnaWQgInBvc3RpbmNyZW1lbnQgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAicG9zdGluY3JlbWVudCB0aWRhayBkaWR1a3VuZyIKKworIzogY29uZmlnL3RjLWF2ci5jOjgwOQorbXNnaWQgInBvaW50ZXIgcmVnaXN0ZXIgKFkgb3IgWikgcmVxdWlyZWQiCittc2dzdHIgInJlZ2lzdGVyIHBldHVuanVrIChZIGF0YXUgWikgZGlidXR1aGthbiIKKworIzogY29uZmlnL3RjLWF2ci5jOjkxMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbnN0cmFpbnQgYCVjJyIKK21zZ3N0ciAia29uc3RyYWludCBgJWMnIHRpZGFrIGRpa2V0YWh1aSIKKworIzogY29uZmlnL3RjLWF2ci5jOjk2NQorbXNnaWQgImAsJyByZXF1aXJlZCIKK21zZ3N0ciAiYCwnIGRpYnV0dWhrYW4iCisKKyM6IGNvbmZpZy90Yy1hdnIuYzo5ODMKK21zZ2lkICJ1bmRlZmluZWQgY29tYmluYXRpb24gb2Ygb3BlcmFuZHMiCittc2dzdHIgImtvbWJpbmFzaSBkYXJpIG9wZXJhbiB0aWRhayB0ZXJkZWZpbmlzaSIKKworIzogY29uZmlnL3RjLWF2ci5jOjk5MgorbXNnaWQgInNraXBwaW5nIHR3by13b3JkIGluc3RydWN0aW9uIgorbXNnc3RyICJtZWxld2F0aSBpbnN0cnVrc2kgZHVhLWthdGEiCisKKyM6IGNvbmZpZy90Yy1hdnIuYzoxMDg0IGNvbmZpZy90Yy1hdnIuYzoxMTAwIGNvbmZpZy90Yy1hdnIuYzoxMjE0CisjOiBjb25maWcvdGMtbXNwNDMwLmM6MTk3MCBjb25maWcvdGMtbXNwNDMwLmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICJvZGQgYWRkcmVzcyBvcGVyYW5kOiAlbGQiCittc2dzdHIgImFsYW1hdCBvcGVyYW4gYW5laDogJWxkIgorCisjOiBjb25maWcvdGMtYXZyLmM6MTA5MiBjb25maWcvdGMtYXZyLmM6MTExMSBjb25maWcvdGMtYXZyLmM6MTEzMworIzogY29uZmlnL3RjLWF2ci5jOjExNDAgY29uZmlnL3RjLWF2ci5jOjExNDcgY29uZmlnL3RjLWQxMHYuYzo1MDMKKyM6IGNvbmZpZy90Yy1kMzB2LmM6NTU0IGNvbmZpZy90Yy1tc3A0MzAuYzoxOTc4IGNvbmZpZy90Yy1tc3A0MzAuYzoxOTkzCisjOiBjb25maWcvdGMtbXNwNDMwLmM6MjAwMworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZTogJWxkIgorbXNnc3RyICJvcGVyYW4gZGlsdWFyIGRhcmkgamFuZ2thdWFuOiAlbGQiCisKKyM6IGNvbmZpZy90Yy1hdnIuYzoxMjIzIGNvbmZpZy90Yy1kMTB2LmM6MTU4NSBjb25maWcvdGMtZDMwdi5jOjIwMjUKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzoyMDIxCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVua25vd24gcmVsb2NhdGlvbiB0eXBlOiAweCV4IgorbXNnc3RyICJiYXJpcyAlZDogdGlwZSByZWxva2FzaSB0aWRhayBkaWtlbmFsOiAweCV4IgorCisjOiBjb25maWcvdGMtYXZyLmM6MTIzNworbXNnaWQgIm9ubHkgY29uc3RhbnQgZXhwcmVzc2lvbiBhbGxvd2VkIgorbXNnc3RyICJoYW55YSBla3NwcmVzaSBrb25zdGFudGEgeWFuZyBkaWlqaW5rYW4iCisKKyMuIHhnZXR0ZXh0OmMtZm9ybWF0LgorIzogY29uZmlnL3RjLWF2ci5jOjEyOTcgY29uZmlnL3RjLWJmaW4uYzo3MzQgY29uZmlnL3RjLWQxMHYuYzoxNDU3CisjOiBjb25maWcvdGMtZDMwdi5jOjE3NjkgY29uZmlnL3RjLW1uMTAyMDAuYzo3ODEgY29uZmlnL3RjLW1uMTAzMDAuYzoyMTcxCisjOiBjb25maWcvdGMtbXNwNDMwLmM6MjA1NiBjb25maWcvdGMtb3IzMi5jOjk1OCBjb25maWcvdGMtcHBjLmM6NjE2MworIzogY29uZmlnL3RjLXNwdS5jOjgzMCBjb25maWcvdGMtc3B1LmM6MTAyNiBjb25maWcvdGMtdjg1MC5jOjIxODcKKyM6IGNvbmZpZy90Yy16ODAuYzoyMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbG9jICVkIG5vdCBzdXBwb3J0ZWQgYnkgb2JqZWN0IGZpbGUgZm9ybWF0IgorbXNnc3RyICJyZWxva2FzaSAlZCB0aWRhayBkaWR1a3VuZyBvbGVoIGZvcm1hdCBiZXJrYXMgb2JqZWsiCisKKyM6IGNvbmZpZy90Yy1hdnIuYzoxMzIwIGNvbmZpZy90Yy1oODMwMC5jOjE4NzEgY29uZmlnL3RjLW1jb3JlLmM6ODgxCisjOiBjb25maWcvdGMtbXNwNDMwLmM6MTgyMSBjb25maWcvdGMtcGouYzoyNTMgY29uZmlnL3RjLXNoLmM6MjU0NAorIzogY29uZmlnL3RjLXo4ay5jOjEyMTYKK21zZ2lkICJjYW4ndCBmaW5kIG9wY29kZSAiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmVtdWthbiBvcGNvZGUiCisKKyM6IGNvbmZpZy90Yy1hdnIuYzoxMzM3CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3Bjb2RlICVzIGZvciBtY3UgJXMiCittc2dzdHIgIm9wY29kZSAlcyB1bnR1ayBtY3UgJXMgdGlkYWsgbGVnYWwiCisKKyM6IGNvbmZpZy90Yy1hdnIuYzoxMzQ2Cittc2dpZCAiZ2FyYmFnZSBhdCBlbmQgb2YgbGluZSIKK21zZ3N0ciAic2FtcGFoIGRpYWtoaXIgZGFyaSBiYXJpcyIKKworIzogY29uZmlnL3RjLWF2ci5jOjE0MTggY29uZmlnL3RjLWF2ci5jOjE0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCAlc3JlbG9jYXRpb24gc2l6ZTogJWQiCittc2dzdHIgInRpZGFrIGxlZ2FsICVzIHVrdXJhbiByZWxva2FzaTogJWQiCisKKyM6IGNvbmZpZy90Yy1iZmluLmM6MjUzIGNvbmZpZy90Yy1mcnYuYzoxNjA2IGNvbmZpZy90Yy1mcnYuYzoxNjE2Cittc2dpZCAibWlzc2luZyAnKSciCittc2dzdHIgImhpbGFuZyAnKSciCisKKyM6IGNvbmZpZy90Yy1iZmluLmM6MzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiBCRklOIHNwZWNpZmljIGNvbW1hbmQgbGluZSBvcHRpb25zOlxuIgorbXNnc3RyICIgb3BzaSBiYXJpcyBwZXJpbnRhaCBzcGVzaWZpayBCRklOOlxuIgorCisjOiBjb25maWcvdGMtYmZpbi5jOjM2MworbXNnaWQgIkNvdWxkIG5vdCBzZXQgYXJjaGl0ZWN0dXJlIGFuZCBtYWNoaW5lLiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuc2V0IGFyc2l0ZWt0dXIgZGFuIG1lc2luLiIKKworIzogY29uZmlnL3RjLWJmaW4uYzo1MDgKK21zZ2lkICJQYXJzZSBmYWlsZWQuIgorbXNnc3RyICJQYXJzZSBnYWdhbC4iCisKKyM6IGNvbmZpZy90Yy1iZmluLmM6NTgzCittc2dpZCAicGNyZWwgdG9vIGZhciBCRkRfUkVMT0NfQkZJTl8xMCIKK21zZ3N0ciAicGNyZWwgdGVybGFsdSBqYXVoIEJGRF9SRUxPQ19CRklOXzEwIgorCisjOiBjb25maWcvdGMtYmZpbi5jOjU5OQorbXNnaWQgInBjcmVsIHRvbyBmYXIgQkZEX1JFTE9DX0JGSU5fMTIiCittc2dzdHIgInBjcmVsIHRlcmxhbHUgamF1aCBCRkRfUkVMT0NfQkZJTl8xMiIKKworIzogY29uZmlnL3RjLWJmaW4uYzo2MTkKK21zZ2lkICJwY3JlbCB0b28gZmFyIEJGRF9SRUxPQ19CRklOXzI0IgorbXNnc3RyICJwY3JlbCB0ZXJsYWx1IGphdWggQkZEX1JFTE9DX0JGSU5fMjQiCisKKyM6IGNvbmZpZy90Yy1iZmluLmM6NjM0Cittc2dpZCAicGNyZWwgdG9vIGZhciBCRkRfUkVMT0NfQkZJTl81IgorbXNnc3RyICJwY3JlbCB0ZXJsYWx1IGphdWggQkZEX1JFTE9DX0JGSU5fNSIKKworIzogY29uZmlnL3RjLWJmaW4uYzo2NDYKK21zZ2lkICJwY3JlbCB0b28gZmFyIEJGRF9SRUxPQ19CRklOXzExX1BDUkVMIgorbXNnc3RyICJwY3JlbCB0ZXJsYWx1IGphdWggQkZEX1JFTE9DX0JGSU5fMTFfUENSRUwiCisKKyM6IGNvbmZpZy90Yy1iZmluLmM6NjU2Cittc2dpZCAicmVsIHRvbyBmYXIgQkZEX1JFTE9DXzgiCittc2dzdHIgInJlbCB0ZXJsYWx1IGphdWggQkZEX1JFTE9DXzAiCisKKyM6IGNvbmZpZy90Yy1iZmluLmM6NjYzCittc2dpZCAicmVsIHRvbyBmYXIgQkZEX1JFTE9DXzE2IgorbXNnc3RyICJyZWwgdGVybGFsdSBqYXVoIEJGRF9SRUxPQ18xNiIKKworIzogY29uZmlnL3RjLWNyMTYuYzoxNTkgcmVhZC5jOjQyOTcKK21zZ2lkICJ1c2luZyBhIGJpdCBmaWVsZCB3aWR0aCBvZiB6ZXJvIgorbXNnc3RyICJtZW5nZ3VuYWthbiBzZWJ1YWggbGViYXIgZGFlcmFoIGJpdCBkYXJpIG5vbCIKKworIzogY29uZmlnL3RjLWNyMTYuYzoxNjcgcmVhZC5jOjQzMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgd2lkdGggXCIlc1wiIHRvbyBjb21wbGV4IGZvciBhIGJpdGZpZWxkIgorbXNnc3RyICJsZWJhciBmaWVsZCBcIiVzXCIgdGVybGFsdSBrb21wbGVrcyB1bnR1ayBzZWJ1YWggYml0ZmllbGQiCisKKyM6IGNvbmZpZy90Yy1jcjE2LmM6MTc2IHJlYWQuYzo0MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkIHdpZHRoICVsdSB0b28gYmlnIHRvIGZpdCBpbiAlZCBieXRlczogdHJ1bmNhdGVkIHRvICVkIGJpdHMiCittc2dzdHIgImxlYmFyIGZpZWxkICVsdSB0ZXJsYWx1IGJlc2FyIHVudHVrIG1hc3VrIGRhbGFtICVkIGJ5dGVzOiBkaXBvdG9uZyBrZSAlZCBiaXRzIgorCisjOiBjb25maWcvdGMtY3IxNi5jOjE5OCByZWFkLmM6NDMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWVsZCB2YWx1ZSBcIiVzXCIgdG9vIGNvbXBsZXggZm9yIGEgYml0ZmllbGQiCittc2dzdHIgIm5pbGFpIGZpZWxkIFwiJXNcIiB0ZXJsYWx1IGtvbXBsZWtzIHVudHVrIHNlYnVhaCBiaXRmaWVsZCIKKworIzogY29uZmlnL3RjLWNyMTYuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biByZWdpc3RlciBwYWlyIC0gaW5kZXggcmVsYXRpdmUgbW9kZTogYCVkJyIKK21zZ3N0ciAiUGFzYW5nYW4gcmVnaXN0ZXIgdGlkYWsgZGlrZW5hbCAtIG1vZGUgcmVsYXRpZiBpbmRla3M6IGAlZCciCisKKyM6IGNvbmZpZy90Yy1jcjE2LmM6NTU2IGNvbmZpZy90Yy1jcnguYzozNDQgY29uZmlnL3RjLW1uMTAyMDAuYzo3NjgKKyM6IHdyaXRlLmM6OTU5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlc29sdmUgYCVzJyB7JXMgc2VjdGlvbn0gLSBgJXMnIHslcyBzZWN0aW9ufSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVueWVsZXNhaWthbiBgJXMne2JhZ2lhbiAlc30gLSBgJXMnIHtiYWdpYW4gJXN9IgorCisjOiBjb25maWcvdGMtY3IxNi5jOjU3MiBjb25maWcvdGMtY3J4LmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiByZWxvYyAlZCAoYCVzJykgbm90IHN1cHBvcnRlZCBieSBvYmplY3QgZmlsZSBmb3JtYXQiCittc2dzdHIgImludGVybmFsIGVycm9yOiByZWxva2FzaSAlZCAoYCVzJykgdGlkYWsgZGlkdWt1bmcgb2xlaCBmb3JtYXQgYmVya2FzIG9iamVrIgorCisjOiBjb25maWcvdGMtY3IxNi5jOjc0MyBjb25maWcvdGMtY3IxNi5jOjc2NiBjb25maWcvdGMtY3Jpcy5jOjExODEKKyM6IGNvbmZpZy90Yy1jcnguYzo1MzQgY29uZmlnL3RjLWNyeC5jOjU2MSBjb25maWcvdGMtY3J4LmM6NTc5Cittc2dpZCAiVmlydHVhbCBtZW1vcnkgZXhoYXVzdGVkIgorbXNnc3RyICJLZWhhYmlzYW4gbWVtb3JpIG1heWEiCisKKyM6IGNvbmZpZy90Yy1jcjE2LmM6NzUxIGNvbmZpZy90Yy1jcnguYzo1NzEgY29uZmlnL3RjLWNyeC5jOjU5MAorIzogY29uZmlnL3RjLWkzODYuYzoyMDgwIGNvbmZpZy90Yy1pMzg2LmM6MjEwMiBjb25maWcvdGMtbTY4ay5jOjQ0NjYKKyM6IGNvbmZpZy90Yy1tYXhxLmM6Mjg2NQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcm5hbCBFcnJvcjogIENhbid0IGhhc2ggJXM6ICVzIgorbXNnc3RyICJJbnRlcm5hbCBFcnJvcjogVGlkYWsgZGFwYXQgaGFzaCAlczogJXMiCisKKyM6IGNvbmZpZy90Yy1jcjE2LmM6Nzc3IGNvbmZpZy90Yy1jcmlzLmM6MTIxNSBjb25maWcvdGMtY3J4LmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGhhc2ggYCVzJzogJXNcbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgaGFzaCBgJXMnOiAlc1xuIgorCisjOiBjb25maWcvdGMtY3IxNi5jOjc3OCBjb25maWcvdGMtY3Jpcy5jOjEyMTYgY29uZmlnL3RjLWNyeC5jOjU0NQorbXNnaWQgIih1bmtub3duIHJlYXNvbikiCittc2dzdHIgIihhbGFzYW4gdGlkYWsgZGlrZXRhaHVpKSIKKworIy4gTWlzc2luZyBvciBiYWQgZXhwciBiZWNvbWVzIGFic29sdXRlIDAuCisjOiBjb25maWcvdGMtY3IxNi5jOjgyOCBjb25maWcvdGMtY3J4LmM6NjE4IGNvbmZpZy90Yy1tYXhxLmM6MTQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIG9yIGludmFsaWQgZGlzcGxhY2VtZW50IGV4cHJlc3Npb24gYCVzJyB0YWtlbiBhcyAwIgorbXNnc3RyICJoaWxhbmcgYXRhdSBla3NwcmVzaSBwZXJwaW5kYWhhbiB0aWRhayB2YWxpZCBgJXMnIGRpYW1iaWwgc2ViYWdhaSAwIgorCisjOiBjb25maWcvdGMtY3IxNi5jOjk0MAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYW5kICVkOiBpbGxlZ2FsIHVzZSBleHByZXNzaW9uOiBgJXNgIgorbXNnc3RyICJvcGVyYW4gJWQ6IG1lbmdndW5ha2FuIHBlcm55YXRhYW4gdGlkYWsgbGVnYWw6IGAlcyciCisKKyM6IGNvbmZpZy90Yy1jcjE2LmM6OTk3IGNvbmZpZy90Yy1jcnguYzoxMTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gcmVnaXN0ZXI6IGAlZCciCittc2dzdHIgIlJlZ2lzdGVyIHRpZGFrIGRpa2V0YWh1aTogYCVkJyIKKworIy4gSXNzdWUgYSBlcnJvciBtZXNzYWdlIHdoZW4gcmVnaXN0ZXIgaXMgaWxsZWdhbC4KKyM6IGNvbmZpZy90Yy1jcjE2LmM6MTAwNSBjb25maWcvdGMtY3J4LmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsIHJlZ2lzdGVyIChgJXMnKSBpbiBJbnN0cnVjdGlvbjogYCVzJyIKK21zZ3N0ciAiUmVnaXN0ZXIgKGAlcycpIHRpZGFrIGxlZ2FsIGRhbGFtIEluc3RydWtzaTogYCVzJyIKKworIzogY29uZmlnL3RjLWNyMTYuYzoxMDc2IGNvbmZpZy90Yy1jcjE2LmM6MTE1MSBjb25maWcvdGMtY3J4LmM6NzU2CisjOiBjb25maWcvdGMtY3J4LmM6Nzc2IGNvbmZpZy90Yy1jcnguYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCByZWdpc3RlciBgJXMnIGluIEluc3RydWN0aW9uIGAlcyciCittc2dzdHIgIlJlZ2lzdGVyIGAlcycgdGlkYWsgbGVnYWwgZGFsYW0gSW5zdHJ1a3NpIGAlcyciCisKKyM6IGNvbmZpZy90Yy1jcjE2LmM6MTEwNCBjb25maWcvdGMtY3IxNi5jOjExMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCByZWdpc3RlciBwYWlyIGAlcycgaW4gSW5zdHJ1Y3Rpb24gYCVzJyIKK21zZ3N0ciAiUGFzYW5nYW4gcmVnaXN0ZXIgYCVzJyB0aWRhayBsZWdhbCBkYWxhbSBpbnN0cnVrc2kgYCVzJyIKKworIzogY29uZmlnL3RjLWNyMTYuYzoxMTQwIGNvbmZpZy90Yy1pOTYwLmM6ODM1Cittc2dpZCAidW5tYXRjaGVkICdbJyIKK21zZ3N0ciAidGlkYWsgY29jb2sgJ1snIgorCisjOiBjb25maWcvdGMtY3IxNi5jOjExNDYgY29uZmlnL3RjLWk5NjAuYzo4NDIKK21zZ2lkICJnYXJiYWdlIGFmdGVyIGluZGV4IHNwZWMgaWdub3JlZCIKK21zZ3N0ciAic2FtcGFoIHNlc3VkYWggc3Blc2lmaWthc2kgaW5kZWtzIGRpYWJhaWthbiIKKworIzogY29uZmlnL3RjLWNyMTYuYzoxMjk0IGNvbmZpZy90Yy1jcnguYzo5MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCBvcGVyYW5kcyAod2hpdGVzcGFjZSk6IGAlcyciCittc2dzdHIgIm9wZXJhbiB0aWRhayBsZWdhbCAoc3Bhc2kpOiBgJXMnIgorCisjOiBjb25maWcvdGMtY3IxNi5jOjEzMDYgY29uZmlnL3RjLWNyMTYuYzoxMzEzIGNvbmZpZy90Yy1jcjE2LmM6MTMzMAorIzogY29uZmlnL3RjLWNyeC5jOjk0NyBjb25maWcvdGMtY3J4LmM6OTU0IGNvbmZpZy90Yy1jcnguYzo5NzEKKyM6IGNvbmZpZy90Yy1jcnguYzoxNzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1pc3NpbmcgbWF0Y2hpbmcgYnJhY2tldHMgOiBgJXMnIgorbXNnc3RyICJIaWxhbmcgcGVuY29jb2thbiBicmFja2V0cyA6IGAlcyciCisKKyM6IGNvbmZpZy90Yy1jcjE2LmM6MTM2MiBjb25maWcvdGMtY3J4LmM6OTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXhjZXB0aW9uOiBgJXMnIgorbXNnc3RyICJQZXJueWF0YWFuIHRpZGFrIGRpa2V0YWh1aTogYCVzJyIKKworIzogY29uZmlnL3RjLWNyMTYuYzoxNDQ5IGNvbmZpZy90Yy1jcnguYzoxMDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIklsbGVnYWwgYGNpbnYnIHBhcmFtZXRlcjogYCVjJyIKK21zZ3N0ciAiUGFyYW1ldGVyIGBjaW52JyB0aWRhayBsZWdhbDogYCVjJyIKKworIzogY29uZmlnL3RjLWNyMTYuYzoxNDcxIGNvbmZpZy90Yy1jcjE2LmM6MTUxMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIHJlZ2lzdGVyIHBhaXI6IGAlZCciCittc2dzdHIgIlBhc2FuZ2FuIHJlZ2lzdGVyIHRpZGFrIGRpa2VuYWw6IGAlZCciCisKKyMuIElzc3VlIGEgZXJyb3IgbWVzc2FnZSB3aGVuIHJlZ2lzdGVyICBwYWlyIGlzIGlsbGVnYWwuCisjOiBjb25maWcvdGMtY3IxNi5jOjE0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCByZWdpc3RlciBwYWlyIChgJXMnKSBpbiBJbnN0cnVjdGlvbjogYCVzJyIKK21zZ3N0ciAiUGFzYW5nYW4gcmVnaXN0ZXIgKGAlcycpIHRpZGFrIGxlZ2FsIGRhbGFtIEluc3RydWtzaTogYCVzJyIKKworIy4gSXNzdWUgYSBlcnJvciBtZXNzYWdlIHdoZW4gcmVnaXN0ZXIgIHBhaXIgaXMgaWxsZWdhbC4KKyM6IGNvbmZpZy90Yy1jcjE2LmM6MTUxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsIGluZGV4IHJlZ2lzdGVyIHBhaXIgKGAlcycpIGluIEluc3RydWN0aW9uOiBgJXMnIgorbXNnc3RyICJQYXNhbmdhbiBpbmRla3MgcmVnaXN0ZXIgKGAlcycpIHRpZGFrIGxlZ2FsIGRhbGFtIEluc3RydWtzaTogYCVzJyIKKworIzogY29uZmlnL3RjLWNyMTYuYzoxNTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gcHJvY2Vzc29yIHJlZ2lzdGVyIDogYCVkJyIKK21zZ3N0ciAicmVnaXN0ZXIgcHJvc2Vzb3IgdGlkYWsgZGlrZW5hbDogYCVkJyIKKworIy4gSXNzdWUgYSBlcnJvciBtZXNzYWdlIHdoZW4gcmVnaXN0ZXIgIHBhaXIgaXMgaWxsZWdhbC4KKyM6IGNvbmZpZy90Yy1jcjE2LmM6MTU2NQorIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsIHByb2Nlc3NvciByZWdpc3RlciAoYCVzJykgaW4gSW5zdHJ1Y3Rpb246IGAlcyciCittc2dzdHIgInJlZ2lzdGVyIHByb3Nlc29yIChgJXMnKSB0aWRhayBsZWdhbCBkYWxhbSBpbnN0cnVrc2k6IGAlcyciCisKKyM6IGNvbmZpZy90Yy1jcjE2LmM6MTYxMworIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIHByb2Nlc3NvciByZWdpc3RlciAoMzIgYml0KSA6IGAlZCciCittc2dzdHIgInJlZ2lzdGVyIHByb3Nlc29yICgzMiBiaXQpIHRpZGFrIGRpa2VuYWw6IGAlZCciCisKKyMuIElzc3VlIGEgZXJyb3IgbWVzc2FnZSB3aGVuIHJlZ2lzdGVyICBwYWlyIGlzIGlsbGVnYWwuCisjOiBjb25maWcvdGMtY3IxNi5jOjE2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCAzMiBiaXQgLSBwcm9jZXNzb3IgcmVnaXN0ZXIgKGAlcycpIGluIEluc3RydWN0aW9uOiBgJXMnIgorbXNnc3RyICIzMiBiaXQgdGlkYWsgbGVnYWwgLSBwcm9zZXNvciByZWdpc3RlciAoYCVzJykgZGFsYW0gSW5zdHJ1a3NpOiBgJXMnIgorCisjOiBjb25maWcvdGMtY3IxNi5jOjE5ODUgY29uZmlnL3RjLWNyeC5jOjE2NjEgY29uZmlnL3RjLWNyeC5jOjE2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2FtZSBzcmMvZGVzdCByZWdpc3RlciBpcyB1c2VkIChgciVkJyksIHJlc3VsdCBpcyB1bmRlZmluZWQiCittc2dzdHIgIlJlZ2lzdGVyIHN1bWJlci90dWp1YW4gc2FtYSBtZW5nZ3VuYWthbiAoYHIlZCcpLCBoYXNpbCB0aWRhayB0ZXJkZWZpbmlzaSIKKworIzogY29uZmlnL3RjLWNyMTYuYzoyMDA2Cittc2dpZCAiUkEgcmVnaXN0ZXIgaXMgc2F2ZWQgdHdpY2UuIgorbXNnc3RyICJSZWdpc3RlciBSQSBkaXNpbXBhbiBkdWEga2FsaS4iCisKKyM6IGNvbmZpZy90Yy1jcjE2LmM6MjAxMAorIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnIElsbGVnYWwgdXNlIG9mIHJlZ2lzdGVycy4iCittc2dzdHIgImAlcycgdGlkYWsgbGVnYWwgZGlndW5ha2FuIGRhcmkgcmVnaXN0ZXIuIgorCisjOiBjb25maWcvdGMtY3IxNi5jOjIwMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJyBJbGxlZ2FsIGNvdW50LXJlZ2lzdGVyIGNvbWJpbmF0aW9uLiIKK21zZ3N0ciAiYCVzJyB0aWRhayBsZWdhbCBrb21iaW5hc2kgY291bnQtcmVnaXN0ZXIuIgorCisjOiBjb25maWcvdGMtY3IxNi5jOjIwMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJyBJbGxlZ2FsIHVzZSBvZiByZWdpc3Rlci4iCittc2dzdHIgImAlcycgdGlkYWwgbGVnYWwgcGVuZ2d1bmFhbiBkYXJpIHJlZ2lzdGVyLiIKKworIzogY29uZmlnL3RjLWNyMTYuYzoyMDM5IGNvbmZpZy90Yy1jcnguYzoxNjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImAlcycgaGFzIHVuZGVmaW5lZCByZXN1bHQiCittc2dzdHIgImAlcycgbWVtaWxpa2kgaGFzaWwgeWFuZyB0aWRhayB0ZXJkZWZpbmlzaSIKKworIzogY29uZmlnL3RjLWNyMTYuYzoyMDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbWUgc3JjL2Rlc3QgcmVnaXN0ZXIgaXMgdXNlZCAoYHIlZCcpLHJlc3VsdCBpcyB1bmRlZmluZWQiCittc2dzdHIgIlJlZ2lzdGVyIGFzYWwvdHVqdWFuIHNhbWEgbWVuZ2d1bmFrYW4gKGByJWQnKSwgaGFzaWwgdGlkYWsgdGVyZGVmaW5pc2kiCisKKyM6IGNvbmZpZy90Yy1jcjE2LmM6MjIxOCBjb25maWcvdGMtY3J4LmM6MTU3NQorbXNnaWQgIkluY29ycmVjdCBudW1iZXIgb2Ygb3BlcmFuZHMiCittc2dzdHIgIkp1bWxhaCBkYXJpIG9wZXJhbiB0aWRhayBiZW5hciIKKworIzogY29uZmlnL3RjLWNyMTYuYzoyMjIwIGNvbmZpZy90Yy1jcnguYzoxNTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIklsbGVnYWwgdHlwZSBvZiBvcGVyYW5kIChhcmcgJWQpIgorbXNnc3RyICJUaXBlIGRhcmkgb3BlcmFuIChhcmcgJWQpIHRpZGFrIGxlZ2EiCisKKyM6IGNvbmZpZy90Yy1jcjE2LmM6MjIyNiBjb25maWcvdGMtY3J4LmM6MTU4MworIywgYy1mb3JtYXQKK21zZ2lkICJPcGVyYW5kIG91dCBvZiByYW5nZSAoYXJnICVkKSIKK21zZ3N0ciAiT3BlcmFuIGRpbHVhciBkYXJpIGphbmdrYXVhbiAoYXJnICVkKSIKKworIzogY29uZmlnL3RjLWNyMTYuYzoyMjI5IGNvbmZpZy90Yy1jcnguYzoxNTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIk9wZXJhbmQgaGFzIG9kZCBkaXNwbGFjZW1lbnQgKGFyZyAlZCkiCittc2dzdHIgIk9wZXJhbiBtZW1pbGlraSBkaXNwbGFjZW1lbnQgYW5laCAoYXJnICVkKSIKKworIzogY29uZmlnL3RjLWNyMTYuYzoyMjMyIGNvbmZpZy90Yy1jcjE2LmM6MjI2MyBjb25maWcvdGMtY3J4LmM6MTU5OQorIzogY29uZmlnL3RjLWNyeC5jOjE2MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCBvcGVyYW5kIChhcmcgJWQpIgorbXNnc3RyICJvcGVyYW4gdGlkYWsgbGVnYWwgKGFyZyAlZCkiCisKKyMuIEdpdmUgYW4gZXJyb3IgaWYgYSBmcmFnIGNvbnRhaW5pbmcgY29kZSBpcyBub3QgYWxpZ25lZCB0byBhIDItYnl0ZQorIy4gYm91bmRhcnkuCisjOiBjb25maWcvdGMtY3IxNi5jOjIzNjUgY29uZmlnL3RjLWNyMTYuaDo3MSBjb25maWcvdGMtY3J4LmM6MTk1MgorIzogY29uZmlnL3RjLWNyeC5oOjc2Cittc2dpZCAiaW5zdHJ1Y3Rpb24gYWRkcmVzcyBpcyBub3QgYSBtdWx0aXBsZSBvZiAyIgorbXNnc3RyICJhbGFtYXQgaW5zdHJ1a3NpIGJ1a2FuIGtlbGlwYXRhbiBkYXJpIDIiCisKKyM6IGNvbmZpZy90Yy1jcjE2LmM6MjQ0MiBjb25maWcvdGMtY3Jpcy5jOjE1MjkgY29uZmlnL3RjLWNyaXMuYzoxNTM3CisjOiBjb25maWcvdGMtY3J4LmM6MTk4OCBjb25maWcvdGMtZGx4LmM6Njg1IGNvbmZpZy90Yy1ocHBhLmM6MzIyOQorIzogY29uZmlnL3RjLWk4NjAuYzo0OTAgY29uZmlnL3RjLWk4NjAuYzo1MDcgY29uZmlnL3RjLWk4NjAuYzo5ODcKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjE0MDYgY29uZmlnL3RjLXNwYXJjLmM6MTQxNAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIG9wY29kZTogYCVzJyIKK21zZ3N0ciAib3Bjb2RlIHRpZGFrIGRpa2VuYWw6IGAlcyciCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6NTQ3IGNvbmZpZy90Yy1tNjhoYzExLmM6Mjc0NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBpbmNvbnNpc3RlbmN5IHByb2JsZW0gaW4gJXM6IGZyX3N5bWJvbCAlbHgiCittc2dzdHIgIm1hbGFoIGtldGlkYWsta29uc2lzdGVuYW4gaW50ZXJuYWwgZGFsYW0gJXM6IGZyX3N5bWJvbCAlbHgiCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6NTUxIGNvbmZpZy90Yy1tNjhoYzExLmM6Mjc0OCBjb25maWcvdGMtbXNwNDMwLmM6MjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBpbmNvbnNpc3RlbmN5IHByb2JsZW0gaW4gJXM6IHJlc29sdmVkIHN5bWJvbCIKK21zZ3N0ciAibWFzYWxhaCBrZXRpZGFrLWtvbnNpc3RlbmFuIGludGVybmFsIGRhbGFtICVzOiBzaW1ib2wgdGVyc2VsZXNhaWthbiIKKworIzogY29uZmlnL3RjLWNyaXMuYzo1NjEgY29uZmlnL3RjLW02OGhjMTEuYzoyNzU0CisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGluY29uc2lzdGVuY3kgcHJvYmxlbSBpbiAlczogZnJfc3VidHlwZSAlZCIKK21zZ3N0ciAibWFzYWxhaCBrZXRpZGFrLWtvbnNpc3RlbmFuIGludGVybmFsIGRhbGFtICVzOiBmcl9zdWJ0eXBlICVkIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjkwMQorbXNnaWQgIlJlbGF4YXRpb24gdG8gbG9uZyBicmFuY2hlcyBmb3IgLmFyY2ggY29tbW9uX3YxMF92MzIgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICJSZWxha3Nhc2kga2UgcGVyY2FiYW5nYW4gcGFuamFuZyB1bnR1ayAuYXJjaCBjb21tb25fdjEwX3YzMiB0aWRhayB0ZXJpbXBsZW1lbnRhc2kiCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6OTMxCittc2dpZCAiQ29tcGxpY2F0ZWQgTEFQQyB0YXJnZXQgb3BlcmFuZCBpcyBub3QgYSBtdWx0aXBsZSBvZiB0d28uICBVc2UgTEFQQy5EIgorbXNnc3RyICJLb21wbGlrYXNpIHRhcmdldCBvcGVyYW4gTEFQQyBidWthbiBrZWxpcGF0YW4gZGFyaSBkdWEuIEd1bmFrYW4gTEFQQy5EIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjkzNgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcm5hbCBlcnJvciBmb3VuZCBpbiBtZF9jb252ZXJ0X2ZyYWc6IG9mZnNldCAlbGQuICBQbGVhc2UgcmVwb3J0IHRoaXMuIgorbXNnc3RyICJJbnRlcm5hbCBlcnJvciBkaXRlbXVrYW4gZGFsYW0gbWRfY29udmVydF9mcmFoOiBvZnNldCAlbGQuIFRvbG9uZyBsYXBvcmthbiBpbmkuIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjk2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBpbmNvbnNpc3RlbmN5IGluICVzOiBiZGFwcSBubyBzeW1ib2wiCittc2dzdHIgImtldGlkYWsta29uc2lzdGVuYW4gaW50ZXJuYWwgZGFsYW0gJXM6IGJkYXBxIGJ1a2FuIHNpbWJvbCIKKworIzogY29uZmlnL3RjLWNyaXMuYzo5NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgaW5jb25zaXN0ZW5jeSBpbiAlczogYmRhcC53IHdpdGggbm8gc3ltYm9sIgorbXNnc3RyICJrZXRpZGFrLWtvbnNpc3RlbmFuIGludGVybmFsIGRhbGFtICVzOiBiZGFwLncgZGVuZ2FuIGJ1a2FuIHNpbWJvbCIKKworIzogY29uZmlnL3RjLWNyaXMuYzo5OTgKK21zZ2lkICJzZWN0aW9uIGFsaWdubWVudCBtdXN0IGJlID49IDQgYnl0ZXMgdG8gY2hlY2sgTVVMUy9NVUxVIHNhZmVuZXNzIgorbXNnc3RyICJiYWdpYW4gYWxpZ21lbiBoYXJ1cyA+PSA0IGJ5dGVzIHVudHVrIG1lbWVyaWtzYSBrZWFtYW5hbiBNVUxTL01VTFUiCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6MTAwNworbXNnaWQgImRhbmdlcm91cyBNVUxTL01VTFUgbG9jYXRpb247IGdpdmUgaXQgaGlnaGVyIGFsaWdubWVudCIKK21zZ3N0ciAiYmVyYmFoYXlhIGxva2FzaSBNVUxTL01VTFU6IG1lbWJlcmlrYW4gYWxpZ25tZW50IGxlYmloIHRpbmdnaSIKKworIzogY29uZmlnL3RjLWNyaXMuYzoxMTEyCittc2dpZCAiT3V0LW9mLXJhbmdlIC53b3JkIG9mZnNldCBoYW5kbGluZyBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIC5hcmNoIGNvbW1vbl92MTBfdjMyIgorbXNnc3RyICJEaWx1YXItZGFyaS1qYW5na2F1YW4gcGVuYW5nYW5hbiBvZnNldCAud29yZCB0aWRhayB0ZXJpbXBsZW1lbnRhc2kgdW50dWsgLmFyY2ggY29tbW9uX3YxMF92MzIiCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6MTIyMAorIywgYy1mb3JtYXQKK21zZ2lkICJCdWdneSBvcGNvZGU6IGAlcycgXCIlc1wiXG4iCittc2dzdHIgIkJ1Z2d5IG9wY29kZTogYCVzJyBcIiVzXCJcbiIKKworIzogY29uZmlnL3RjLWNyaXMuYzoxNjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkltbWVkaWF0ZSB2YWx1ZSBub3QgaW4gNSBiaXQgdW5zaWduZWQgcmFuZ2U6ICVsZCIKK21zZ3N0ciAiTmlsYWkgbGFuZ3N1bmcgdGlkYWsgZGFsYW0gamFuZ2thdWFuIDUgYml0IHVuc2lnbmVkOiAlbGQiCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6MTY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbW1lZGlhdGUgdmFsdWUgbm90IGluIDQgYml0IHVuc2lnbmVkIHJhbmdlOiAlbGQiCittc2dzdHIgIk5pbGFpIGxhbmdzdW5nIHRpZGFrIGRhbGFtIGphbmdrYXVhbiA0IGJpdCB1bnNpZ25lZDogJWxkIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjE3MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW1tZWRpYXRlIHZhbHVlIG5vdCBpbiA2IGJpdCByYW5nZTogJWxkIgorbXNnc3RyICJOaWxhaSBsYW5nc3VuZyB0aWRhayBkYWxhbSBqYW5na2F1YW4gNiBiaXQ6ICVsZCIKKworIzogY29uZmlnL3RjLWNyaXMuYzoxNzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkltbWVkaWF0ZSB2YWx1ZSBub3QgaW4gNiBiaXQgdW5zaWduZWQgcmFuZ2U6ICVsZCIKK21zZ3N0ciAibmlsYWkgbGFuZ3N1bmcgdGlkYWsgZGFsYW0gamFuZ2thdWFuIDYgYml0IHVuc2lnbmVkOiAlbGQiCisKKyMuIE90aGVycyBoYXZlIGEgZ2VuZXJpYyB3YXJuaW5nLgorIzogY29uZmlnL3RjLWNyaXMuYzoxODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaW1wbGVtZW50ZWQgcmVnaXN0ZXIgYCVzJyBzcGVjaWZpZWQiCittc2dzdHIgIlJlZ2lzdGVyIGAlcycgdGlkYWsgdGVyaW1wbGVtZW50YXNpIGRpc3Blc2lmaWthc2lrYW4iCisKKyMuIFdlJ3ZlIGNvbWUgdG8gdGhlIGVuZCBvZiBpbnN0cnVjdGlvbnMgd2l0aCB0aGlzCisjLiBvcGNvZGUsIHNvIGl0IG11c3QgYmUgYW4gZXJyb3IuCisjOiBjb25maWcvdGMtY3Jpcy5jOjIwNjkKK21zZ2lkICJJbGxlZ2FsIG9wZXJhbmRzIgorbXNnc3RyICJvcGVyYW4gdGlkYWsgbGVnYWwiCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6MjExMCBjb25maWcvdGMtY3Jpcy5jOjIxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW1tZWRpYXRlIHZhbHVlIG5vdCBpbiA4IGJpdCByYW5nZTogJWxkIgorbXNnc3RyICJOaWxhaSBsYW5nc3VuZyBidWthbiBkYWxhbSBqYW5na2F1YW4gOCBiaXQ6ICVsZCIKKworIzogY29uZmlnL3RjLWNyaXMuYzoyMTIwIGNvbmZpZy90Yy1jcmlzLmM6MjE3MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbW1lZGlhdGUgdmFsdWUgbm90IGluIDE2IGJpdCByYW5nZTogJWxkIgorbXNnc3RyICJOaWxhaSBsYW5nc3VuZyBidWthbiBkYWxhbSBqYW5na2F1YW4gMTZiaXQ6ICVsZCIKKworIzogY29uZmlnL3RjLWNyaXMuYzoyMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkltbWVkaWF0ZSB2YWx1ZSBub3QgaW4gOCBiaXQgc2lnbmVkIHJhbmdlOiAlbGQiCittc2dzdHIgIk5pbGFpIGxhbmdzdW5nIHRpZGFrIGRhbGFtIGphbmdrYXVhbiA4Yml0IHNpZ25lZDogJWxkIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjIxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW1tZWRpYXRlIHZhbHVlIG5vdCBpbiA4IGJpdCB1bnNpZ25lZCByYW5nZTogJWxkIgorbXNnc3RyICJOaWxhaSBsYW5nc3VuZyB0aWRhayBkYWxhbSBqYW5na2F1YW4gOCBiaXQgdW5zaWduZWQ6ICVsZCIKKworIzogY29uZmlnL3RjLWNyaXMuYzoyMTc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkltbWVkaWF0ZSB2YWx1ZSBub3QgaW4gMTYgYml0IHNpZ25lZCByYW5nZTogJWxkIgorbXNnc3RyICJOaWxhaSBsYW5nc3VuZyB0aWRhayBkYWxhbSBqYW5na2F1YW4gMTYgYml0IHNpZ25lZDogJWxkIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjIxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW1tZWRpYXRlIHZhbHVlIG5vdCBpbiAxNiBiaXQgdW5zaWduZWQgcmFuZ2U6ICVsZCIKK21zZ3N0ciAiTmlsYWkgbGFuZ3N1bmcgdGlkYWsgZGFsYW0gamFuZ2thdWFuIDE2IGJpdCB1bnNpZ25lZDogJWxkIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjIyMDMKK21zZ2lkICJQSUMgcmVsb2NhdGlvbiBzaXplIGRvZXMgbm90IG1hdGNoIG9wZXJhbmQgc2l6ZSIKK21zZ3N0ciAiVWt1cmFuIHJlbG9rYXNpIFBJQyB0aWRhayBjb2NvayBkZW5nYW4gdWt1cmFuIG9wZXJhbiIKKworIzogY29uZmlnL3RjLWNyaXMuYzozMzQ2Cittc2dpZCAiQ2FsbGluZyBnZW5fY29uZF9icmFuY2hfMzIgZm9yIC5hcmNoIGNvbW1vbl92MTBfdjMyXG4iCittc2dzdHIgIk1lbWFuZ2dpbCBnZW5fY29uZF9icmFuY2hfMzIgdW50dWsgLmFyY2ggY29tbW9uX3YxMF92MzJcbiIKKworIzogY29uZmlnL3RjLWNyaXMuYzozMzUwCittc2dpZCAiMzItYml0IGNvbmRpdGlvbmFsIGJyYW5jaCBnZW5lcmF0ZWQiCittc2dzdHIgIjMyLWJpdCBwZXJjYWJhbmdhbiBrb25kaXNpb25hbCBkaWhhc2lsa2FuIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjM0MTEKK21zZ2lkICJDb21wbGV4IGV4cHJlc3Npb24gbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiUGVybnlhdGFhbiBrb21wbGVrcyB0aWRhayBkaWR1a3VuZyIKKworIy4gRklYTUU6ICBJcyB0aGlzIGZ1bmN0aW9uIG1lbnRpb25lZCBpbiB0aGUgaW50ZXJuYWxzLnRleGkgbWFudWFsPyAgSWYKKyMuIG5vdCwgYWRkIGl0LgorIzogY29uZmlnL3RjLWNyaXMuYzozNTM3Cittc2dpZCAiQmFkIGNhbGwgdG8gbWRfYXRvZiAoKSAtIGZsb2F0aW5nIHBvaW50IGZvcm1hdHMgYXJlIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIlBhbmdnaWxhbiBidXJ1ayBrZSBtZF9hdG9mICgpIC0gZmxvYXRpbmcgcG9pbnQgZm9ybWF0IHRpZGFrIGRpZHVrdW5nIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjM1NzgKK21zZ2lkICJQQy1yZWxhdGl2ZSByZWxvY2F0aW9uIG11c3QgYmUgdHJpdmlhbGx5IHJlc29sdmVkIgorbXNnc3RyICJQQyAtIHJlbGF0aWYgcmVsb2thc2kgaGFydXMgc2VjYXJhIHRyaXZpYWwgZGlyZXNvbGYiCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6MzYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJWYWx1ZSBub3QgaW4gMTYgYml0IHJhbmdlOiAlbGQiCittc2dzdHIgIk5pbGFpIHRpZGFrIGRhbGFtIGphbmdrYXVhbiAxNiBiaXQ6ICVsZCIKKworIzogY29uZmlnL3RjLWNyaXMuYzozNjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlZhbHVlIG5vdCBpbiAxNiBiaXQgc2lnbmVkIHJhbmdlOiAlbGQiCittc2dzdHIgIk5pbGFpIHRpZGFrIGRhbGFtIGphbmdrYXVhbiAxNiBiaXQgc2lnbmVkOiAlbGQiCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6MzY1MworIywgYy1mb3JtYXQKK21zZ2lkICJWYWx1ZSBub3QgaW4gOCBiaXQgcmFuZ2U6ICVsZCIKK21zZ3N0ciAiTmlsYWkgdGlkYWsgZGFsYW0gamFuZ2thdWFuIDggYml0OiAlbGQiCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6MzY2MQorIywgYy1mb3JtYXQKK21zZ2lkICJWYWx1ZSBub3QgaW4gOCBiaXQgc2lnbmVkIHJhbmdlOiAlbGQiCittc2dzdHIgIk5pbGFpIHRpZGFrIGRhbGFtIGphbmdrYXVhbiA4IGJpdCBzaWduZWQ6ICVsZCIKKworIzogY29uZmlnL3RjLWNyaXMuYzozNjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlZhbHVlIG5vdCBpbiA0IGJpdCB1bnNpZ25lZCByYW5nZTogJWxkIgorbXNnc3RyICJOaWxhaSB0aWRhayBkYWxhbSBqYW5na2F1YW4gNGJpdCB1bnNpZ25lZDogJWxkIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjM2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmFsdWUgbm90IGluIDUgYml0IHVuc2lnbmVkIHJhbmdlOiAlbGQiCittc2dzdHIgIk5pbGFpIHRpZGFrIGRhbGFtIGphbmdrYXVhbiA1IGJpdCB1bnNpZ25lZDogJWxkIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjM2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmFsdWUgbm90IGluIDYgYml0IHJhbmdlOiAlbGQiCittc2dzdHIgIk5pbGFpIHRpZGFrIGRhbGFtIGphbmdrYXVhbiA2IGJpdDogJWxkIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjM2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmFsdWUgbm90IGluIDYgYml0IHVuc2lnbmVkIHJhbmdlOiAlbGQiCittc2dzdHIgIk5pbGFpIHRpZGFrIGRhbGFtIGphbmdrYXVhbiA2IGJpdCB1bnNpZ25lZDogJWxkIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjM3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGxlYXNlIHVzZSAtLWhlbHAgdG8gc2VlIHVzYWdlIGFuZCBvcHRpb25zIGZvciB0aGlzIGFzc2VtYmxlci5cbiIKK21zZ3N0ciAiVG9sb25nIGd1bmFrYW4gLS1oZWxwIHVudHVrIG1lbGloYXQgcGVuZ2d1bmFhbiBkYW4gb3BzaSB1bnR1ayBwZXJha2l0IGluaS5cbiIKKworIzogY29uZmlnL3RjLWNyaXMuYzozNzU0Cittc2dpZCAiLS1uby11bmRlcnNjb3JlIGlzIGludmFsaWQgd2l0aCBhLm91dCBmb3JtYXQiCittc2dzdHIgIi0tbm8tdW5kZXJzY29yZSBhZGFsYWggdGlkYWsgdmFsaWQgZGVuZ2FuIGZvcm1hdCBhLm91dCIKKworIzogY29uZmlnL3RjLWNyaXMuYzozNzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgPGFyY2g+IGluIC0tbWFyY2g9PGFyY2g+OiAlcyIKK21zZ3N0ciAiPGFyY2g+IHRpZGFrIHZhbGlkIGRhbGFtIC0tbWFyY2g9PGFyY2g+OiAlcyIKKworIzogY29uZmlnL3RjLWNyaXMuYzozODc3Cittc2dpZCAiU2VtYW50aWNzIGVycm9yLiAgVGhpcyB0eXBlIG9mIG9wZXJhbmQgY2FuIG5vdCBiZSByZWxvY2F0ZWQsIGl0IG11c3QgYmUgYW4gYXNzZW1ibHktdGltZSBjb25zdGFudCIKK21zZ3N0ciAiU2VtYXRpayBlcnJvci4gVGlwZSBkYXJpIG9wZXJhbiBpbmkgdGlkYWsgZGFwYXQgZGlyZWxva2FzaWthbiwgaW5pIGhhcnVzIGJlcnVwYSBzZWJ1YWgga29uc3RhbnRhIHdha3R1LXBlcmFraXQiCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6MzkyNgorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2VuZXJhdGUgcmVsb2NhdGlvbiB0eXBlIGZvciBzeW1ib2wgJXMsIGNvZGUgJXMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdoYXNpbGthbiB0aXBlIHJlbG9rYXNpIHVudHVrIHNpbWJvbCAlcywga29kZSAlcyIKKworIy4gVGhlIG1lc3NhZ2VzIGFyZSBmb3JtYXR0ZWQgdG8gbGluZSB1cCB3aXRoIHRoZSBnZW5lcmljIG9wdGlvbnMuCisjOiBjb25maWcvdGMtY3Jpcy5jOjM5MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JJUy1zcGVjaWZpYyBvcHRpb25zOlxuIgorbXNnc3RyICJPcHNpIENSSVMtc3Blc2lmaWs6XG4iCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6Mzk0MQorbXNnaWQgIiAgLWgsIC1IICAgICAgICAgICAgICAgICAgRG9uJ3QgZXhlY3V0ZSwgcHJpbnQgdGhpcyBoZWxwIHRleHQuICBEZXByZWNhdGVkLlxuIgorbXNnc3RyICIgIC1oLCAtSCAgICAgICAgICAgICAgICAgIEphbmdhbiBqYWxhbmthbiwgdGFtcGlsa2FuIHBlc2FuIGJhbnR1YW4gaW5pLiBLYWRhbHVhcnNhLlxuIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjM5NDMKK21zZ2lkICIgIC1OICAgICAgICAgICAgICAgICAgICAgIFdhcm4gd2hlbiBicmFuY2hlcyBhcmUgZXhwYW5kZWQgdG8ganVtcHMuXG4iCittc2dzdHIgIiAgLU4gICAgICAgICAgICAgICAgICAgICAgUGVyaW5nYXRrYW4ga2V0aWthIHBlcmNhYmFuZ2FuIGRpZWtzcGFuIGtlIGxvbXBhdC5cbiIKKworIzogY29uZmlnL3RjLWNyaXMuYzozOTQ1Cittc2dpZCAiICAtLXVuZGVyc2NvcmUgICAgICAgICAgICBVc2VyIHN5bWJvbHMgYXJlIG5vcm1hbGx5IHByZXBlbmRlZCB3aXRoIHVuZGVyc2NvcmUuXG4iCittc2dzdHIgIiAgLS11bmRlcnNjb3JlICAgICAgICAgICAgU2ltYm9sIHBlbmdndW5hIGJpYXNhbnlhIGRpYXdhbGkgZGVuZ2FuIGJhcmlzLWJhd2FoLlxuIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjM5NDcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgIFJlZ2lzdGVycyB3aWxsIG5vdCBuZWVkIGFueSBwcmVmaXguXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgdGlkYWsgbWVtYnV0dWhrYW4gYXdhbGFuIGFwYXB1bi5cbiIKKworIzogY29uZmlnL3RjLWNyaXMuYzozOTQ5Cittc2dpZCAiICAtLW5vLXVuZGVyc2NvcmUgICAgICAgICBVc2VyIHN5bWJvbHMgZG8gbm90IGhhdmUgYW55IHByZWZpeC5cbiIKK21zZ3N0ciAiICAtLW5vLXVuZGVyc2NvcmUgICAgICAgICBTaW1ib2wgcGVuZ2d1bmEgdGlkYWsgbWVtaWxpa2kgcHJlZml4IGFwYXB1bi5cbiIKKworIzogY29uZmlnL3RjLWNyaXMuYzozOTUxCittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICBSZWdpc3RlcnMgd2lsbCByZXF1aXJlIGEgYCQnLXByZWZpeC5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICBSZWdpc3RlciBha2FuIG1lbWJ1dHVoa2FuIHNlYnVhaCBhd2FsYW4tYCQnLlxuIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjM5NTMKK21zZ2lkICIgIC0tcGljXHRcdFx0RW5hYmxlIGdlbmVyYXRpb24gb2YgcG9zaXRpb24taW5kZXBlbmRlbnQgY29kZS5cbiIKK21zZ3N0ciAiICAtLXBpY1x0XHRcdEFrdGlma2FuIHBlbWJ1YXRhbiBrb2RlIGJlYmFzIHBvc2lzaS5cbiIKKworIzogY29uZmlnL3RjLWNyaXMuYzozOTU1Cittc2dpZCAiIgorIiAgLS1tYXJjaD08YXJjaD5cdFx0R2VuZXJhdGUgY29kZSBmb3IgPGFyY2g+LiAgVmFsaWQgY2hvaWNlcyBmb3IgPGFyY2g+XG4iCisiXHRcdFx0XHRhcmUgdjBfdjEwLCB2MTAsIHYzMiBhbmQgY29tbW9uX3YxMF92MzIuXG4iCittc2dzdHIgIiIKKyIgIC0tbWFyY2g9PGFyY2g+XHRcdEhhc2lsa2FuIGtvZGUgdW50dWsgPGFyY2g+LiBQaWxpaGFuIHZhbGlkIHVudHVrIDxhcmNoPlxuIgorIlx0XHRcdFx0YWRhbGFoIHYwX3YxMCwgdjEwLCB2MzIgZGFuIGNvbW1vbl92MTBfdjMyLlxuIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjM5NzYKK21zZ2lkICJJbnZhbGlkIHJlbG9jYXRpb24iCittc2dzdHIgIlJlbG9rYXNpIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjQwMTMKK21zZ2lkICJJbnZhbGlkIHBjLXJlbGF0aXZlIHJlbG9jYXRpb24iCittc2dzdHIgIlJlbG9rYXNpIHBjLXJlbGF0aWYgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6NDA1OAorIywgYy1mb3JtYXQKK21zZ2lkICJBZGp1c3RlZCBzaWduZWQgLndvcmQgKCVsZCkgb3ZlcmZsb3dzOiBgc3dpdGNoJy1zdGF0ZW1lbnQgdG9vIGxhcmdlLiIKK21zZ3N0ciAiTWVtYmV0dWxrYW4gc2lnbmVkIC53b3JkICglbGQpIG92ZXJmbG93czogcGVybnlhdGFhbi1gc3dpdGNoJyB0ZXJsYWx1IGJlc2FyLiIKKworIzogY29uZmlnL3RjLWNyaXMuYzo0MDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIi5zeW50YXggJXMgcmVxdWlyZXMgY29tbWFuZC1saW5lIG9wdGlvbiBgLS11bmRlcnNjb3JlJyIKK21zZ3N0ciAiLnN5bnRheCAlcyBtZW1idXR1aGthbiBvcHNpIGJhcmlzLXBlcmludGFoIGAtLXVuZGVyc2NvcmUnIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjQwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLnN5bnRheCAlcyByZXF1aXJlcyBjb21tYW5kLWxpbmUgb3B0aW9uIGAtLW5vLXVuZGVyc2NvcmUnIgorbXNnc3RyICIuc3ludGF4ICVzIG1lbWJ1dHVoa2FuIG9wc2kgYmFyaXMtcGVyaW50YWggYC0tbm8tdW5kZXJzY29yZSciCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6NDEzNAorbXNnaWQgIlVua25vd24gLnN5bnRheCBvcGVyYW5kIgorbXNnc3RyICJPcGVyYW4gLnN5bnRheCB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtY3Jpcy5jOjQxNDQKK21zZ2lkICJQc2V1ZG9kaXJlY3RpdmUgLmZpbGUgaXMgb25seSB2YWxpZCB3aGVuIGdlbmVyYXRpbmcgRUxGIgorbXNnc3RyICIuZmlsZSBwc2V1ZG9kaXJlY3RpdmUgaGFueWEgdmFsaWQga2V0aWthIG1lbmdoYXNpbGthbiBFTEYiCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6NDE1NgorbXNnaWQgIlBzZXVkb2RpcmVjdGl2ZSAubG9jIGlzIG9ubHkgdmFsaWQgd2hlbiBnZW5lcmF0aW5nIEVMRiIKK21zZ3N0ciAiLmxvYyBwc2V1ZG9kaXJlY3RpdmUgaGFueWEgdmFsaWQga2V0aWthIG1lbmdoYXNpbGthbiBFTEYiCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6NDI5OQorbXNnaWQgInVua25vd24gb3BlcmFuZCB0byAuYXJjaCIKK21zZ3N0ciAib3BlcmFuIGtlIC5hcmNoIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy1jcmlzLmM6NDMwOAorbXNnaWQgIi5hcmNoIDxhcmNoPiByZXF1aXJlcyBhIG1hdGNoaW5nIC0tbWFyY2g9Li4uIG9wdGlvbiIKK21zZ3N0ciAiLmFyY2ggPGFyY2g+IG1lbWJ1dHVoa2FuIHNlYnVhaCBwZW5jb2Nva2FuIG9wc2kgLS1tYXJjaD0uLi4iCisKKyM6IGNvbmZpZy90Yy1jcnguYzo4MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCBTY2FsZSAtIGAlZCciCittc2dzdHIgIlNrYWxhIHRpZGFrIGxlZ2FsIC0gYCVkJyIKKworIzogY29uZmlnL3RjLWNyeC5jOjEyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCBDby1wcm9jZXNzb3IgcmVnaXN0ZXIgaW4gSW5zdHJ1Y3Rpb24gYCVzJyAiCittc2dzdHIgIlJlZ2lzdGVyIGNvLXByb3Nlc29yIHRpZGFrIGxlZ2FsIGRhbGFtIGluc3RydWtzaSBgJXMnIgorCisjOiBjb25maWcvdGMtY3J4LmM6MTI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsIENvLXByb2Nlc3NvciBzcGVjaWFsIHJlZ2lzdGVyIGluIEluc3RydWN0aW9uIGAlcycgIgorbXNnc3RyICJSZWdpc3RlciBzcGVzaWFsIGNvLXByb3Nlc29yIHRpZGFrIGxlZ2FsIGRhbGFtIEluc3RydWtzaSBgJXMnIgorCisjOiBjb25maWcvdGMtY3J4LmM6MTU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIERJU1BVNCBvcGVyYW5kIHZhbHVlIChhcmcgJWQpIgorbXNnc3RyICJOaWxhaSBvcGVyYW4gKGFyZyAlZCkgRElTUFU0IHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtY3J4LmM6MTU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIENTVDQgb3BlcmFuZCB2YWx1ZSAoYXJnICVkKSIKK21zZ3N0ciAiTmlsYWkgb3BlcmFuIChhcmcgJWQpIENTVDQgVGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1jcnguYzoxNTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIk9wZXJhbmQgdmFsdWUgaXMgbm90IHdpdGhpbiB1cHBlciA2NCBLQiAoYXJnICVkKSIKK21zZ3N0ciAiTmlsYWkgb3BlcmFuIHRpZGFrIGRhbGFtIGphbmdrYXVhbiA2NCBLQiBhdGFzIChhcmcgJWQpIgorCisjOiBjb25maWcvdGMtY3J4LmM6MTczMgorbXNnaWQgIkludmFsaWQgUmVnaXN0ZXIgaW4gUmVnaXN0ZXIgTGlzdCIKK21zZ3N0ciAiUmVnaXN0ZXIgdGlkYWsgdmFsaWQgZGFsYW0gRGFmdGFyIFJlZ2lzdGVyIgorCisjOiBjb25maWcvdGMtY3J4LmM6MTc4NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsIHJlZ2lzdGVyIGAlcycgaW4gY29wLXJlZ2lzdGVyIGxpc3QiCittc2dzdHIgIlJlZ2lzdGVyIGAlcycgdGlkYWsgbGVnYWwgZGFsYW0gZGFmdGFyIGNvcC1yZWdpc3RlciAiCisKKyM6IGNvbmZpZy90Yy1jcnguYzoxNzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIklsbGVnYWwgcmVnaXN0ZXIgYCVzJyBpbiBjb3Atc3BlY2lhbC1yZWdpc3RlciBsaXN0IgorbXNnc3RyICJSZWdpc3RlciBgJXMnIHRpZGFrIGxlZ2FsIGRhbGFtIGRhZnRhciBjb3Atc3BlY2lhbC1yZWdpc3RlciIKKworIzogY29uZmlnL3RjLWNyeC5jOjE4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCByZWdpc3RlciBgJXMnIGluIHVzZXIgcmVnaXN0ZXIgbGlzdCIKK21zZ3N0ciAiUmVnaXN0ZXIgYCVzJyB0aWRhayBsZWdhbCBkYWxhbSBkYWZ0YXIgcmVnaXN0ZXIgcGVuZ2d1bmEiCisKKyM6IGNvbmZpZy90Yy1jcnguYzoxODMyCisjLCBjLWZvcm1hdAorbXNnaWQgIklsbGVnYWwgcmVnaXN0ZXIgYCVzJyBpbiByZWdpc3RlciBsaXN0IgorbXNnc3RyICJSZWdpc3RlciBgJXMnIHRpZGFrIGxlZ2FsIGRhbGFtIGRhZnRhciByZWdpc3RlciBwZW5nZ3VuYSIKKworIzogY29uZmlnL3RjLWNyeC5jOjE4MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSAlZCBiaXRzIG1heSBiZSBzZXQgaW4gYG1hc2sxNicgb3BlcmFuZCIKK21zZ3N0ciAiTWFrc2ltdW0gJWQgYml0cyBtdW5na2luIGRpIHNldCBkYWxhbSBvcGVyYW4gYG1hc2sxNiciCisKKyM6IGNvbmZpZy90Yy1jcnguYzoxODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc3Qgb2YgbGluZSBpZ25vcmVkOyBmaXJzdCBpZ25vcmVkIGNoYXJhY3RlciBpcyBgJWMnIgorbXNnc3RyICJha2hpciBkYXJpIGJhcmlzIGRpYWJhaWthbjoga2FyYWt0ZXIgcGVydGFtYSB5YW5nIGRpYWJhaWthbiBhZGFsYWggYCVjJyIKKworIzogY29uZmlnL3RjLWNyeC5jOjE4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCBgbWFzazE2JyBvcGVyYW5kLCBvcGVyYXRpb24gaXMgdW5kZWZpbmVkIC0gYCVzJyIKK21zZ3N0ciAiT3BlcmFuIGBtYXNrMTYnIHRpZGFrIGxlZ2FsLCBvcGVyYXNpIHRpZGFrIHRlcmRlZmluaXNpIC0gYCVzJyIKKworIy4gSEkgY2FuJ3QgYmUgc3BlY2lmaWVkIHdpdGhvdXQgTE8gKGFuZCB2aXNlLXZlcnNhKS4KKyM6IGNvbmZpZy90Yy1jcnguYzoxODYxCittc2dpZCAiSEkvTE8gcmVnaXN0ZXJzIHNob3VsZCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIiCittc2dzdHIgIkhJL0xPIHJlZ2lzdGVyIHNlaGFydXNueWEgZGlzcGVzaWZpa2FzaWthbiBiZXJzYW1hIgorCisjOiBjb25maWcvdGMtY3J4LmM6MTg2NworbXNnaWQgIkhJL0xPIHJlZ2lzdGVycyBzaG91bGQgYmUgc3BlY2lmaWVkIHdpdGhvdXQgYWRkaXRpb25hbCByZWdpc3RlcnMiCittc2dzdHIgIkhJL0xPIHJlZ2lzdGVyIHNlaGFydXNueWEgZGlzcGVzaWZpa2FzaWthbiB0YW5wYSB0YW1iYWhhbiByZWdpc3RlciIKKworIzogY29uZmlnL3RjLWQxMHYuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkQxMFYgb3B0aW9uczpcbiIKKyItTyAgICAgICAgICAgICAgICAgICAgICBPcHRpbWl6ZS4gIFdpbGwgZG8gc29tZSBvcGVyYXRpb25zIGluIHBhcmFsbGVsLlxuIgorIi0tZ3N0YWJzLXBhY2tpbmcgICAgICAgIFBhY2sgYWRqYWNlbnQgc2hvcnQgaW5zdHJ1Y3Rpb25zIHRvZ2V0aGVyIGV2ZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIC0tZ3N0YWJzIGlzIHNwZWNpZmllZC4gIE9uIGJ5IGRlZmF1bHQuXG4iCisiLS1uby1nc3RhYnMtcGFja2luZyAgICAgSWYgLS1nc3RhYnMgaXMgc3BlY2lmaWVkLCBkbyBub3QgcGFjayBhZGphY2VudFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGluc3RydWN0aW9ucyB0b2dldGhlci5cbiIKK21zZ3N0ciAiIgorIk9wc2kgRDEwVjpcbiIKKyItTyAgICAgICAgICAgICAgICAgICAgICBPcHRpbWFzaS4gQWthbiBtZWxha3VrYW4gYmViZXJhcGEgb3BlcmFzaSBkYWxhbSBwYXJhbGVsLlxuIgorIi0tZ3N0YWJzLXBhY2tpbmcgICAgICAgIFBhY2sgYWRqYWNlbnQgaW5zdHJ1a3NpIHBlbmRlayBiZXJzYW1hIHdhbGF1cHVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAga2V0aWthIC0tZ3N0YWJzIGRpc3Blc2lmaWthc2lrYW4uIEFrdGlmIHNlY2FyYSBkZWZhdWx0LlxuIgorIi0tbm8tZ3N0YWJzLXBhY2tpbmcgICAgIEppa2EgLS1nc3RhYnMgZGlzcGVzaWZpa2FzaWthbiwgamFuZ2FuIHBhY2sgYWRqYWNlbnRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBpbnN0cnVrc2kgYmVyc2FtYS5cbiIKKworIzogY29uZmlnL3RjLWQxMHYuYzo1NzMKK21zZ2lkICJvcGVyYW5kIGlzIG5vdCBhbiBpbW1lZGlhdGUiCittc2dzdHIgIm9wZXJhbiB0aWRhayBsYW5nc3VuZyIKKworIzogY29uZmlnL3RjLWQxMHYuYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmFuZCBvdXQgb2YgcmFuZ2U6ICVsdSIKK21zZ3N0ciAib3BlcmFuIGRpbHVhciBqYW5na2F1YW46ICVsdSIKKworIzogY29uZmlnL3RjLWQxMHYuYzo2NDkKK21zZ2lkICJJbnN0cnVjdGlvbiBtdXN0IGJlIGV4ZWN1dGVkIGluIHBhcmFsbGVsIHdpdGggYW5vdGhlciBpbnN0cnVjdGlvbi4iCittc2dzdHIgIkluc3RydWtzaSBoYXJ1cyBkaWphbGFua2FuIGRhbGFtIHBhcmFsZWwgZGVuZ2FuIGluc3RydWtzaSBsYWluLiIKKworIzogY29uZmlnL3RjLWQxMHYuYzo3MDMgY29uZmlnL3RjLWQxMHYuYzo3MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFja2luZyBjb25mbGljdDogJXMgbXVzdCBkaXNwYXRjaCBzZXF1ZW50aWFsbHkiCittc2dzdHIgInBhY2tpbmcga29uZmxpazogJXMgaGFydXMgZGlzcGF0Y2ggc2VjYXJhIGJlcnVydXRhbiIKKworIzogY29uZmlnL3RjLWQxMHYuYzo4MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UgY29uZmxpY3QgKFIlZCkiCittc2dzdHIgImtvbmZsaWsgc3VtYmVyLWRheWEgKFIlZCkiCisKKyM6IGNvbmZpZy90Yy1kMTB2LmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlIGNvbmZsaWN0IChBJWQpIgorbXNnc3RyICJrb25mbGlrIHN1bWJlci1kYXlhIChBJWQpIgorCisjOiBjb25maWcvdGMtZDEwdi5jOjgxNQorbXNnaWQgInJlc291cmNlIGNvbmZsaWN0IChQU1cpIgorbXNnc3RyICJrb25mbGlrIHN1bWJlci1kYXlhIChQU1cpIgorCisjOiBjb25maWcvdGMtZDEwdi5jOjgxNworbXNnaWQgInJlc291cmNlIGNvbmZsaWN0IChDIGZsYWcpIgorbXNnc3RyICJrb25mbGlrIHN1bWJlci1kYXlhIChiZW5kZXJhIEMpIgorCisjOiBjb25maWcvdGMtZDEwdi5jOjgxOQorbXNnaWQgInJlc291cmNlIGNvbmZsaWN0IChGIGZsYWcpIgorbXNnc3RyICJrb25mbGlrIHN1bWJlci1kYXlhIChiZW5kZXJhIEYpIgorCisjOiBjb25maWcvdGMtZDEwdi5jOjk2OQorbXNnaWQgIkluc3RydWN0aW9uIG11c3QgYmUgZXhlY3V0ZWQgaW4gcGFyYWxsZWwiCittc2dzdHIgIkluc3RydWtzaSBoYXJ1cyBkaWphbGFua2FuIGRhbGFtIHBhcmFsZWwiCisKKyM6IGNvbmZpZy90Yy1kMTB2LmM6OTcyCittc2dpZCAiTG9uZyBpbnN0cnVjdGlvbnMgbWF5IG5vdCBiZSBjb21iaW5lZC4iCittc2dzdHIgIkluc3RydWtzaSBwYW5qYW5nIHRpZGFrIGJvbGVrIGRpa29tYmluYXNpa2FuLiIKKworIzogY29uZmlnL3RjLWQxMHYuYzoxMDA1Cittc2dpZCAiT25lIG9mIHRoZXNlIGluc3RydWN0aW9ucyBtYXkgbm90IGJlIGV4ZWN1dGVkIGluIHBhcmFsbGVsLiIKK21zZ3N0ciAiU2FsYWggc2F0dSBkYXJpIGluc3RydWtzaSBpbmkgbXVuZ2tpbiBkaWphbGFua2FuIGRhbGFtIHBhcmFsZWwuIgorCisjOiBjb25maWcvdGMtZDEwdi5jOjEwMDkgY29uZmlnL3RjLWQzMHYuYzoxMDM2Cittc2dpZCAiVHdvIElVIGluc3RydWN0aW9ucyBtYXkgbm90IGJlIGV4ZWN1dGVkIGluIHBhcmFsbGVsIgorbXNnc3RyICJEdWEgSVUgaW5zdHJ1a3NpIHRpZGFrIGJvbGVoIGRpamFsYW5rYW4gZGFsYW0gcGFyYWxlbCIKKworIzogY29uZmlnL3RjLWQxMHYuYzoxMDExIGNvbmZpZy90Yy1kMTB2LmM6MTAxOSBjb25maWcvdGMtZDEwdi5jOjEwMzMKKyM6IGNvbmZpZy90Yy1kMTB2LmM6MTA0OCBjb25maWcvdGMtZDMwdi5jOjEwMzcgY29uZmlnL3RjLWQzMHYuYzoxMDQ2Cittc2dpZCAiU3dhcHBpbmcgaW5zdHJ1Y3Rpb24gb3JkZXIiCittc2dzdHIgIlN3YXBwaW5nIHVydXRhbiBpbnN0cnVrc2kiCisKKyM6IGNvbmZpZy90Yy1kMTB2LmM6MTAxNyBjb25maWcvdGMtZDMwdi5jOjEwNDMKK21zZ2lkICJUd28gTVUgaW5zdHJ1Y3Rpb25zIG1heSBub3QgYmUgZXhlY3V0ZWQgaW4gcGFyYWxsZWwiCittc2dzdHIgIkR1YSBNVSBpbnN0cnVrc2kgdGlkYWsgYm9sZWggZGlqYWxhbmthbiBkYWxhbSBwYXJhbGVsIgorCisjOiBjb25maWcvdGMtZDEwdi5jOjEwMzcgY29uZmlnL3RjLWQzMHYuYzoxMDYzCittc2dpZCAiSVUgaW5zdHJ1Y3Rpb24gbWF5IG5vdCBiZSBpbiB0aGUgbGVmdCBjb250YWluZXIiCittc2dzdHIgIklVIGluc3RydWtzaSB0aWRhayBib2xlaCBkYWxhbSBrb250YWluZXIga2lyaSIKKworIzogY29uZmlnL3RjLWQxMHYuYzoxMDM5IGNvbmZpZy90Yy1kMTB2LmM6MTA1NAorbXNnaWQgIkluc3RydWN0aW9uIGluIFIgY29udGFpbmVyIGlzIHNxdWFzaGVkIGJ5IGZsb3cgY29udHJvbCBpbnN0cnVjdGlvbiBpbiBMIGNvbnRhaW5lci4iCittc2dzdHIgIkluc3RydWtzaSBkYWxhbSBSIGtvbnRhaW5lciBzcXVhc2hlZCBvbGVoIGZsb3cgY29udHJvbCBpbnN0cnVrc2kgZGFsYW0gTCBrb250YWluZXIuIgorCisjOiBjb25maWcvdGMtZDEwdi5jOjEwNTIgY29uZmlnL3RjLWQzMHYuYzoxMDc0Cittc2dpZCAiTVUgaW5zdHJ1Y3Rpb24gbWF5IG5vdCBiZSBpbiB0aGUgcmlnaHQgY29udGFpbmVyIgorbXNnc3RyICJNVSBpbnN0cnVrc2kgdGlkYWsgYm9sZWggZGFsYW0ga29udGFpbmVyIGthbmFuIgorCisjOiBjb25maWcvdGMtZDEwdi5jOjEwNTggY29uZmlnL3RjLWQzMHYuYzoxMDg2Cittc2dpZCAidW5rbm93biBleGVjdXRpb24gdHlwZSBwYXNzZWQgdG8gd3JpdGVfMl9zaG9ydCgpIgorbXNnc3RyICJ0aXBlIGVrc2VrdXNpIHRpZGFrIGRpa2VuYWwgZGlsZXdhdGthbiBrZSB3cml0ZV8yX3Nob3J0KCkiCisKKyM6IGNvbmZpZy90Yy1kMTB2LmM6MTE4NiBjb25maWcvdGMtZDEwdi5jOjEzNTkKK21zZ2lkICJiYWQgb3Bjb2RlIG9yIG9wZXJhbmRzIgorbXNnc3RyICJvcGNvZGUgYXRhdSBvcGVyYW4gYnVydWsiCisKKyM6IGNvbmZpZy90Yy1kMTB2LmM6MTI2MQorbXNnaWQgInZhbHVlIG91dCBvZiByYW5nZSIKK21zZ3N0ciAibmlsYWkgZGlsdWFyIGRhcmkgamFuZ2thdWFuIgorCisjOiBjb25maWcvdGMtZDEwdi5jOjEzMzUKK21zZ2lkICJpbGxlZ2FsIG9wZXJhbmQgLSByZWdpc3RlciBuYW1lIGZvdW5kIHdoZXJlIG5vbmUgZXhwZWN0ZWQiCittc2dzdHIgIm9wZXJhbiB0aWRhayBsZWdhbCAtIG5hbWEgcmVnaXN0ZXIgZGl0ZW11a2FuIGRpbWFuYSBub25lIGRpZHVnYSIKKworIzogY29uZmlnL3RjLWQxMHYuYzoxMzcwCittc2dpZCAiUmVnaXN0ZXIgbnVtYmVyIG11c3QgYmUgRVZFTiIKK21zZ3N0ciAiTm9tb3IgcmVnaXN0ZXIgaGFydXMgR0VOQVAiCisKKyM6IGNvbmZpZy90Yy1kMTB2LmM6MTM3MworbXNnaWQgIlVuc3VwcG9ydGVkIHVzZSBvZiBzcCIKK21zZ3N0ciAiUGVuZ2d1bmFhbiBkYXJpIHNwIHRpZGFrIGRpZHVrdW5nIgorCisjOiBjb25maWcvdGMtZDEwdi5jOjEzOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3IlbGQgaXMgYSByZXNlcnZlZCBjb250cm9sIHJlZ2lzdGVyIgorbXNnc3RyICJjciVsZCBhZGFsYWggc2VidWFoIHJlc2VydmVkIGNvbnRyb2wgcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1kMTB2LmM6MTU2NQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiByZXAgb3IgcmVwaSBtdXN0IGluY2x1ZGUgYXQgbGVhc3QgNCBpbnN0cnVjdGlvbnMiCittc2dzdHIgImJhcmlzICVkOiByZXAgYXRhdSByZXBpIGhhcnVzIHRlcm1hc3VrIDQgaW5zdHJ1a3NpIHRlcmFraGlyIgorCisjOiBjb25maWcvdGMtZDEwdi5jOjE3NDUKK21zZ2lkICJjYW4ndCBmaW5kIHByZXZpb3VzIG9wY29kZSAiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmVtdWthbiBvcGNvZGUgc2ViZWx1bW55YSAiCisKKyM6IGNvbmZpZy90Yy1kMTB2LmM6MTc1NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgYXNzZW1ibGU6ICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZXJha2l0OiAlcyIKKworIzogY29uZmlnL3RjLWQxMHYuYzoxNzcyIGNvbmZpZy90Yy1kMTB2LmM6MTc5NCBjb25maWcvdGMtZDMwdi5jOjE3NDIKK21zZ2lkICJVbmFibGUgdG8gbWl4IGluc3RydWN0aW9ucyBhcyBzcGVjaWZpZWQiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdnYWJ1bmdrYSBpbnN0cnVrc2kgc2VwZXJ0aSB5YW5nIGRpc3Blc2lmaWthc2lrYW4iCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlZ2lzdGVyIG5hbWUgJXMgY29uZmxpY3RzIHdpdGggc3ltYm9sIG9mIHRoZSBzYW1lIG5hbWUiCittc2dzdHIgIk5hbWEgcmVnaXN0ZXIgJXMga29uZmxpayBkZW5nYW4gbmFtIGRhcmkgc2ltYm9sIHlhbmcgc2FtYSIKKworIzogY29uZmlnL3RjLWQzMHYuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkQzMFYgb3B0aW9uczpcbiIKKyItTyAgICAgICAgICAgICAgICAgICAgICBNYWtlIGFkamFjZW50IHNob3J0IGluc3RydWN0aW9ucyBwYXJhbGxlbCBpZiBwb3NzaWJsZS5cbiIKKyItbiAgICAgICAgICAgICAgICAgICAgICBXYXJuIGFib3V0IGFsbCBOT1BzIGluc2VydGVkIGJ5IHRoZSBhc3NlbWJsZXIuXG4iCisiLU5cdFx0XHRXYXJuIGFib3V0IE5PUHMgaW5zZXJ0ZWQgYWZ0ZXIgd29yZCBtdWx0aXBsaWVzLlxuIgorIi1jICAgICAgICAgICAgICAgICAgICAgIFdhcm4gYWJvdXQgc3ltYm9scyB3aG9lcyBuYW1lcyBtYXRjaCByZWdpc3RlciBuYW1lcy5cbiIKKyItQyAgICAgICAgICAgICAgICAgICAgICBPcHBvc2l0ZSBvZiAtQy4gIC1jIGlzIHRoZSBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BzaSBEMzBWOlxuIgorIi1PICAgICAgICAgICAgICAgICAgICAgIEJ1YXQgYWRqYWNlbnQgaW5zdHJ1a3NpIHBlbmRlayBwYXJhbGVsIGppa2EgbWVtdW5na2lua2FuLlxuIgorIi1uICAgICAgICAgICAgICAgICAgICAgIFBlcmluZ2F0a2FuIG1lbmdlbmFpIHNlbHVydWggTk9QIHlhbmcgZGltYXN1a2FuIGRlbmdhbiBwZXJha2l0LlxuIgorIi1OXHRcdFx0UGVyaW5nYXRrYW4gbWVuZ2VuYWkgTk9QIHlhbmcgZGltYXN1a2FuIHNldGVsYWgga2VsaXBhdGFuIGthdGEuXG4iCisiLWMgICAgICAgICAgICAgICAgICAgICAgUGVyaW5nYXRrYW4gbWVuZ2VuYWlsIHNpbWJvbCB5YW5nIG5hbWFueWEgY29jb2sgZGVuZ2FuIG5hbWEgcmVnaXN0ZXIuXG4iCisiLUMgICAgICAgICAgICAgICAgICAgICAgS2ViYWxpa2FuIGRhcmkgLUMuIC1jIGFkYWxhaCBiYWt1LlxuIgorCisjOiBjb25maWcvdGMtZDMwdi5jOjM2NworbXNnaWQgInVuZXhwZWN0ZWQgMTItYml0IHJlbG9jIHR5cGUiCittc2dzdHIgInRpcGUgcmVsb2thc2kgMTItYml0IHRpZGFrIGRpZHVnYSIKKworIzogY29uZmlnL3RjLWQzMHYuYzozNzQKK21zZ2lkICJ1bmV4cGVjdGVkIDE4LWJpdCByZWxvYyB0eXBlIgorbXNnc3RyICJ0aXBlIHJlbG9rYXNpIDE4LWJpdCB0aWRhayBkaWR1Z2EiCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIE5PUCBpbnNlcnRlZCIKK21zZ3N0ciAiTk9QIGRpbWFzdWthbiAlcyIKKworIzogY29uZmlnL3RjLWQzMHYuYzo2MjUKK21zZ2lkICJzZXF1ZW50aWFsIgorbXNnc3RyICJiZXJ1cnV0YW4iCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6NjI1Cittc2dpZCAicGFyYWxsZWwiCittc2dzdHIgInBhcmFsZWwiCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MTAzMgorbXNnaWQgIkluc3RydWN0aW9ucyBtYXkgbm90IGJlIGV4ZWN1dGVkIGluIHBhcmFsbGVsIgorbXNnc3RyICJJbnN0cnVrc2kgbXVuZ2tpbiB0aWRhayBkaWphbGFua2FuIGRhbGFtIHBhcmFsZWwiCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MTA0NQorIywgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRpbmcgJXMgaW4gSVUgbWF5IG5vdCB3b3JrIgorbXNnc3RyICJNZW5qYWxhbmthbiAlcyBkYWxhbSBJVSBtdW5na2luIHRpZGFrIGJla2VyamEiCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MTA1MgorIywgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRpbmcgJXMgaW4gSVUgbWF5IG5vdCB3b3JrIGluIHBhcmFsbGVsIGV4ZWN1dGlvbiIKK21zZ3N0ciAiTWVuamFsYW5rYW4gJXMgZGFsYW0gSVUgbXVuZ2tpbiB0aWRhayBiZWtlcmphIGRhbGFtIGVrc2VrdXNpIHBhcmFsZWwiCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MTA2NQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGxlZnQgaW5zdHJ1Y3Rpb24gYCVzJyBraWxscyBpbnN0cnVjdGlvbiBgJXMnIGluIHJpZ2h0IGNvbnRhaW5lciIKK21zZ3N0ciAiaW5zdHJ1a3NpIGtpcmkgc3Blc2lhbCBgJXMnIG1lbWF0aWthbiBpbnN0cnVrc2kgYCVzJyBkYWxhbSBrb250YWluZXIga2FuYW4iCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRpbmcgJXMgaW4gcmV2ZXJzZSBzZXJpYWwgd2l0aCAlcyBtYXkgbm90IHdvcmsiCittc2dzdHIgIk1lbmphbGFua2FuICVzIGRhbGFtIHVydXRhbiB0ZXJiYWxpayBkZW5nYW4gJXMgbXVuZ2tpbiB0aWRhayBiZWtlcmphIgorCisjOiBjb25maWcvdGMtZDMwdi5jOjEwNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0aW5nICVzIGluIElVIGluIHJldmVyc2Ugc2VyaWFsIG1heSBub3Qgd29yayIKK21zZ3N0ciAiTWVuamFsYW5rYW4gJXMgZGFsYW0gSVUgZGFsYW0gdXJ1dGFuIHRlcmJhbGlrIG11bmdraW4gdGlkYWsgYmVrZXJqYSIKKworIzogY29uZmlnL3RjLWQzMHYuYzoxMjY4Cittc2dpZCAiT2RkIG51bWJlcmVkIHJlZ2lzdGVyIHVzZWQgYXMgdGFyZ2V0IG9mIG11bHRpLXJlZ2lzdGVyIGluc3RydWN0aW9uIgorbXNnc3RyICJOb21vciByZWdpc3RlciBnYWppbCBkaWd1bmFrYW4gc2ViYWdhaSB0YXJnZXQgZGFyaSBpbnN0cnVrc2kgbXVsdGktcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MTMzMiBjb25maWcvdGMtZDMwdi5jOjEzNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb25kaXRpb24gY29kZTogJXMiCittc2dzdHIgImtvZGUga29uZGlzaW9uYWwgdGlkYWsgZGlrZXRhaHVpOiAlcyIKKworIzogY29uZmlnL3RjLWQzMHYuYzoxMzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImNtcHUgZG9lc24ndCBzdXBwb3J0IGNvbmRpdGlvbiBjb2RlICVzIgorbXNnc3RyICJjbXB1IHRpZGFrIG1lbmR1a3VuZyBrb2RlIGtvbmRpc2lvbmFsICVzIgorCisjOiBjb25maWcvdGMtZDMwdi5jOjEzOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcGNvZGU6ICVzIgorbXNnc3RyICJvcGNvZGUgdGlkYWsgZGlrZW5hbDogJXMiCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MTQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYW5kcyBmb3Igb3Bjb2RlIGAlcycgZG8gbm90IG1hdGNoIGFueSB2YWxpZCBmb3JtYXQiCittc2dzdHIgIm9wZXJhbiB1bnR1ayBvcGNvZGUgYCVzJyB0aWRhayBjb2NvayBkZW5nYW4gZm9ybWF0IHZhbGlkIGFwYXB1biIKKworIzogY29uZmlnL3RjLWQzMHYuYzoxNjIxIGNvbmZpZy90Yy1kMzB2LmM6MTYzOAorbXNnaWQgIkNhbm5vdCBhc3NlbWJsZSBpbnN0cnVjdGlvbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVyYWtpdCBpbnN0cnVrc2kiCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MTYyMworbXNnaWQgIkZpcnN0IG9wY29kZSBpcyBsb25nLiAgVW5hYmxlIHRvIG1peCBpbnN0cnVjdGlvbnMgYXMgc3BlY2lmaWVkLiIKK21zZ3N0ciAiT3Bjb2RlIHBlcnRhbWEgYWRhbGFoIHBhbmphbmcuIFRpZGFrIGRhcGF0IG1lbmdnYWJ1bmdrYW4gaW5zdHJ1a3NpIHNlcGVydGkgeWFuZyBkaXNwZXNpZmlrYXNpa2FuLiIKKworIzogY29uZmlnL3RjLWQzMHYuYzoxNjkyCittc2dpZCAid29yZCBvZiBOT1BzIGFkZGVkIGJldHdlZW4gd29yZCBtdWx0aXBseSBhbmQgbG9hZCIKK21zZ3N0ciAia2F0YSBkYXJpIE5PUCBkaXRhbWJhaGthbiBkaWFudGFyYSBrYXRhIG11bHRpcGx5IGRhbiBsb2FkIgorCisjOiBjb25maWcvdGMtZDMwdi5jOjE2OTQKK21zZ2lkICJ3b3JkIG9mIE5PUHMgYWRkZWQgYmV0d2VlbiB3b3JkIG11bHRpcGx5IGFuZCAxNi1iaXQgbXVsdGlwbHkiCittc2dzdHIgImthdGEgZGFyaSBOT1AgZGl0YW1iYWhrYW4gZGlhbnRhcmEga2F0YSBtdWx0aXBseSBkYW4gMTYtYml0IG11bHRpcGx5IgorCisjOiBjb25maWcvdGMtZDMwdi5jOjE3MjYKK21zZ2lkICJJbnN0cnVjdGlvbiB1c2VzIGxvbmcgdmVyc2lvbiwgc28gaXQgY2Fubm90IGJlIG1peGVkIGFzIHNwZWNpZmllZCIKK21zZ3N0ciAiSW5zdHJ1a3NpIG1lbmdndW5ha2FuIHZlcnNpIHBhbmphbmcsIGphZGkgaW5pIHRpZGFrIGRhcGF0IGRpZ2FidW5na2FuIHNlcGVydGkgeWFuZyBkaXNwZXNpZmlrYXNpa2FuIgorCisjOiBjb25maWcvdGMtZDMwdi5jOjE4NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidmFsdWUgdG9vIGxhcmdlIHRvIGZpdCBpbiAlZCBiaXRzIgorbXNnc3RyICJuaWxhaSB0ZXJsYWx1IGJlc2FyIHVudHVrIG1hc3VrIGRhbGFtICVkIGJpdHMiCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MTkxNAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bmFibGUgdG8gcGxhY2UgYWRkcmVzcyBvZiBzeW1ib2wgJyVzJyBpbnRvIGEgYnl0ZSIKK21zZ3N0ciAiYmFyaXMgJWQ6IHRpZGFrIGRhcGF0IG1lbmVtcGF0a2FuIGFsYW1hdCBkYXJpIHNpbWJvbCAnJXMnIGtlZGFsYW0gc2VidWFoIGJ5dGUiCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MTkxNworIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bmFibGUgdG8gcGxhY2UgdmFsdWUgJWx4IGludG8gYSBieXRlIgorbXNnc3RyICJiYXJpcyAlZDogdGlkYWsgZGFwYXQgbWVuZW1wYXRrYW4gbmlsYWkgJWx4IGtlZGFsYW0gc2VidWFoIGJ5dGUiCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MTkyNQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bmFibGUgdG8gcGxhY2UgYWRkcmVzcyBvZiBzeW1ib2wgJyVzJyBpbnRvIGEgc2hvcnQiCittc2dzdHIgImJhcmlzICVkOiB0aWRhayBkYXBhdCBtZW5lbXBhdGthbiBhbGFtYXQgZGFyaSBzaW1ib2wgJyVzJyBrZWRhbGFtIHNlYnVhaCBwZW5kZWsiCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MTkyOAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bmFibGUgdG8gcGxhY2UgdmFsdWUgJWx4IGludG8gYSBzaG9ydCIKK21zZ3N0ciAiYmFyaXMgJWQ6IHRpZGFrIGRhcGF0IG1lbmVtcGF0a2FuIG5pbGFpICVseCBrZWRhbGFtIHNlYnVhaCBwZW5kZWsiCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MTkzNgorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bmFibGUgdG8gcGxhY2UgYWRkcmVzcyBvZiBzeW1ib2wgJyVzJyBpbnRvIGEgcXVhZCIKK21zZ3N0ciAiYmFyaXMgJWQ6IHRpZGFrIGRhcGF0IG1lbmVtcGF0a2FuIGFsYW1hdCBkYXJpIHNpbWJvbCAnJXMnIGtlZGFsYW0gc2VidWFoIHF1YWQiCisKKyM6IGNvbmZpZy90Yy1kMzB2LmM6MjA0NAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgdG9vIGxhcmdlOiAlZCBhc3N1bWVkIgorbXNnc3RyICJBbGlnbWVudCB0ZXJsYWx1IGJlc2FyOiAlZCBkaWFzdW1zaWthbiIKKworIzogY29uZmlnL3RjLWRseC5jOjIxMQorbXNnaWQgIm1pc3NpbmcgLnByb2MiCittc2dzdHIgImhpbGFuZyAucHJvYyIKKworIzogY29uZmlnL3RjLWRseC5jOjIyOAorbXNnaWQgIi5lbmRmdW5jIG1pc3NpbmcgZm9yIHByZXZpb3VzIC5wcm9jIgorbXNnc3RyICIuZW5kZnVuYyBoaWxhbmcgdW50dWsgLnByb2Mgc2ViZWx1bW55YSIKKworIzogY29uZmlnL3RjLWRseC5jOjI5MCBjb25maWcvdGMtaTg2MC5jOjIyNyBjb25maWcvdGMtbWlwcy5jOjE4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNhbid0IGhhc2ggYCVzJzogJXNcbiIKK21zZ3N0ciAiaW50ZXJuYWwgZXJyb3I6IHRpZGFrIGRhcGF0IGhhc2ggYCVzJzogJXNcbiIKKworIy4gUHJvYmFibHkgYSBtZW1vcnkgYWxsb2NhdGlvbiBwcm9ibGVtPyAgR2l2ZSB1cCBub3cuCisjOiBjb25maWcvdGMtZGx4LmM6Mjk3IGNvbmZpZy90Yy1ocHBhLmM6ODI1NiBjb25maWcvdGMtbWlwcy5jOjE4OTQKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTk0NiBjb25maWcvdGMtb3IzMi5jOjIxMSBjb25maWcvdGMtc3BhcmMuYzo4NTYKK21zZ2lkICJCcm9rZW4gYXNzZW1ibGVyLiAgTm8gYXNzZW1ibHkgYXR0ZW1wdGVkLiIKK21zZ3N0ciAiUGVyYWtpdCBydXNhay4gVGlkYWsgYWRhIHBlcmFraXRhbiB5YW5nIGFrYW4gZGlsYWt1a2FuLiIKKworIzogY29uZmlnL3RjLWRseC5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgb3BlcmFuZCBmb3IgYSBsb2FkIGluc3RydWN0aW9uOiA8JXM+IgorbXNnc3RyICJPcGVyYW4gYnVydWsgdW50dWsgc2VidWFoIGluc3RydWtzaSBsb2FkOiA8JXM+IgorCisjOiBjb25maWcvdGMtZGx4LmM6NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCBvcGVyYW5kIGZvciBhIHN0b3JlIGluc3RydWN0aW9uOiA8JXM+IgorbXNnc3RyICJPcGVyYW4gYnV0dWsgdW50dWsgc2VidWFoIGluc3RydWtzaSBzdG9yZTogPCVzPiIKKworIzogY29uZmlnL3RjLWRseC5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJFeHByZXNzaW9uIEVycm9yIGZvciBvcGVyYW5kIG1vZGlmaWVyICUlaGkvJSVsb1xuIgorbXNnc3RyICJFa3NwcmVzaSBlcnJvciB1bnR1ayBwZW1vZGlmaWthc2kgb3BlcmFuICUlaGkvJSVsb1xuIgorCisjOiBjb25maWcvdGMtZGx4LmM6NjM0IGNvbmZpZy90Yy1vcjMyLmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZXhwcmVzc2lvbiBhZnRlciAlJSUlXG4iCittc2dzdHIgIkVrc3ByZXNpIHRpZGFrIHZhbGlkIHNlc3VkYWggJSUlJVxuIgorCisjOiBjb25maWcvdGMtZGx4LmM6NzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gb3Bjb2RlIGAlcycuIgorbXNnc3RyICJPcGNvZGUgdGlkYWsgZGlrZW5hbCBgJXMnLiIKKworIzogY29uZmlnL3RjLWRseC5jOjcxNgorbXNnaWQgIkNhbiBub3Qgc2V0IGRseF9za2lwX2hpMTZfZmxhZyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuc2V0IGRseF9za2lwX2hpMTZfZmxhZyIKKworIzogY29uZmlnL3RjLWRseC5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICJNaXNzaW5nIGFyZ3VtZW50cyBmb3Igb3Bjb2RlIDwlcz4uIgorbXNnc3RyICJIaWxhbmcgYXJndW1lbiBrYXJlbmEgb3Bjb2RlIDwlcz4uIgorCisjOiBjb25maWcvdGMtZGx4LmM6NzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRvbyBtYW55IG9wZXJhbmRzOiAlcyIKK21zZ3N0ciAiVGVybGFsdSBiYW55YWsgb3BlcmFuOiAlcyIKKworIzogY29uZmlnL3RjLWRseC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICJCb3RoIHRoZV9pbnNuLkhJIGFuZCB0aGVfaW5zbi5MTyBhcmUgc2V0IDogJXMiCittc2dzdHIgIktlZHVhIHRoZV9pbnNuLkhJIGRhbiB0aGVfaW5zbi5MTyBkaXNldCA6ICVzIgorCisjOiBjb25maWcvdGMtZGx4LmM6ODcxCittc2dpZCAiZmFpbGVkIHJlZ251bSBzYW5pdHkgY2hlY2suIgorbXNnc3RyICJnYWdhbCBwZW1lcmlrc2FhbiBrZWFkYWFuIHJlZ251bS4iCisKKyM6IGNvbmZpZy90Yy1kbHguYzo4ODQKK21zZ2lkICJmYWlsZWQgZ2VuZXJhbCByZWdpc3RlciBzYW5pdHkgY2hlY2suIgorbXNnc3RyICJnYWdhbCBwZW1lcmlrc2FhbiBrZWFkYWFuIHJlZ2lzdGVyIHVtdW0uIgorCisjLiBUeXBlcyBvciB2YWx1ZXMgb2YgYXJncyBkb24ndCBtYXRjaC4KKyM6IGNvbmZpZy90Yy1kbHguYzo4OTIKK21zZ2lkICJJbnZhbGlkIG9wZXJhbmRzIgorbXNnc3RyICJPcGVyYW4gdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1kbHguYzoxMTE5IGNvbmZpZy90Yy1vcjMyLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIFwiJCVkXCIgcmVkZWZpbmVkIgorbXNnc3RyICJsYWJlbCBcIiQlZFwiIHRlcmVkZWZpbmlzaSIKKworIzogY29uZmlnL3RjLWRseC5jOjExNTcKK21zZ2lkICJJbnZhbGlkIGV4cHJlc3Npb24gYWZ0ZXIgIyBudW1iZXJcbiIKK21zZ3N0ciAiRWtzcHJlc2kgdGlkYWsgdmFsaWQgc2VzdWRhaCAjIG51bWJlclxuIgorCisjOiBjb25maWcvdGMtZnIzMC5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiBGUjMwIHNwZWNpZmljIGNvbW1hbmQgbGluZSBvcHRpb25zOlxuIgorbXNnc3RyICIgT3BzaSBzcGVzaWZpayBiYXJpcyBwZXJpbnRhaCBGUjMwOlxuIgorCisjOiBjb25maWcvdGMtZnIzMC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnN0cnVjdGlvbiAlcyBub3QgYWxsb3dlZCBpbiBhIGRlbGF5IHNsb3QuIgorbXNnc3RyICJJbnN0cnVrc2kgJXMgdGlkYWsgZGlwZXJib2xlaGthbiBkYWxhbSBzZWJ1YWggZGVsYXkgc2xvdC4iCisKKyM6IGNvbmZpZy90Yy1mcnYuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjcHUgLW1jcHU9JXMiCittc2dzdHIgImNwdSAtbWNwdT0lcyB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtZnJ2LmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZSViBzcGVjaWZpYyBjb21tYW5kIGxpbmUgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3BzaSBzcGVzaWZpayBiYXJpcyBwZXJpbnRhaCBGUlY6XG4iCisKKyM6IGNvbmZpZy90Yy1mcnYuYzo0NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLUcgbiAgICAgICAgICAgIFB1dCBkYXRhIDw9IG4gYnl0ZXMgaW4gdGhlIHNtYWxsIGRhdGEgYXJlYVxuIgorbXNnc3RyICItRyBuICAgICAgICAgICAgTGV0YWthbiBkYXRhIDw9IG4gYnl0ZXMgZGFsYW0gc2VidWFoIGRhZXJhaCBkYXRhIGtlY2lsXG4iCisKKyM6IGNvbmZpZy90Yy1mcnYuYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLW1ncHItMzIgICAgICAgIE1hcmsgZ2VuZXJhdGVkIGZpbGUgYXMgb25seSB1c2luZyAzMiBHUFJzXG4iCittc2dzdHIgIi1tZ3ByLTMyICAgICAgICBUYW5kYWkgYmVya2FzIHlhbmcgZGloYXNpbGthbiBoYW55YSBtZW5nZ3VuYWthbiAzMiBHUFJcbiIKKworIzogY29uZmlnL3RjLWZydi5jOjQ2MAorIywgYy1mb3JtYXQKK21zZ2lkICItbWdwci02NCAgICAgICAgTWFyayBnZW5lcmF0ZWQgZmlsZSBhcyB1c2luZyBhbGwgNjQgR1BSc1xuIgorbXNnc3RyICItbWdwci02NCAgICAgICAgVGFuZGFpIGJlcmthcyB5YW5nIGRpaGFzaWxrYW4gbWVuZ2d1bmFrYSBzZWx1cnVoIDY0IEdQUlxuIgorCisjOiBjb25maWcvdGMtZnJ2LmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgIi1tZnByLTMyICAgICAgICBNYXJrIGdlbmVyYXRlZCBmaWxlIGFzIG9ubHkgdXNpbmcgMzIgRlBSc1xuIgorbXNnc3RyICItbWZwci0zMiAgICAgICAgVGFuZGFpIGJlcmthcyB5YW5nIGRpaGFzaWxrYW4gaGFueWEgbWVuZ2d1bmFrYW4gMzIgRlBSXG4iCisKKyM6IGNvbmZpZy90Yy1mcnYuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLW1mcHItNjQgICAgICAgIE1hcmsgZ2VuZXJhdGVkIGZpbGUgYXMgdXNpbmcgYWxsIDY0IEZQUnNcbiIKK21zZ3N0ciAiLW1mcHItNjQgICAgICAgIFRhbmRhaSBiZXJrYXMgeWFuZyBkaWhhc2lsa2FuIHNlYmFnYWkgbWVuZ2d1bmFrYW4gc2VsdXJ1aCA2NCBGUFJcbiIKKworIzogY29uZmlnL3RjLWZydi5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICItbXNvZnQtZmxvYXQgICAgTWFyayBnZW5lcmF0ZWQgZmlsZSBhcyB1c2luZyBzb2Z0d2FyZSBGUFxuIgorbXNnc3RyICItbXNvZnQtZmxvYXQgICAgVGFuZGFpIGJlcmthcyB5YW5nIGRpaGFzaWxrYW4gZGVuZ2FuIG1lbmdndW5ha2FuIHNvZnR3YXJlIEZQXG4iCisKKyM6IGNvbmZpZy90Yy1mcnYuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLW1kd29yZCAgICAgICAgIE1hcmsgZ2VuZXJhdGVkIGZpbGUgYXMgdXNpbmcgYSA4LWJ5dGUgc3RhY2sgYWxpZ25tZW50XG4iCittc2dzdHIgIi1tZHdvcmQgICAgICAgICBUYW5kYWkgYmVya2FzIHlhbmcgZGloYXNpbGthbiBtZW5nZ3VuYWthbiBzZWJ1YWggOC1ieXRlIGFsaWdubWVuIHN0YWNrXG4iCisKKyM6IGNvbmZpZy90Yy1mcnYuYzo0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLW1uby1kd29yZCAgICAgIE1hcmsgZ2VuZXJhdGVkIGZpbGUgYXMgdXNpbmcgYSA0LWJ5dGUgc3RhY2sgYWxpZ25tZW50XG4iCittc2dzdHIgIi1tbm8tZHdvcmQgICAgICBUYW5kYWkgYmVya2FzIHlhbmcgZGloYXNpbGthbiBtZW5nZ3VuYWthbiA0LWJ5dGUgYWxpZ25tZW4gc3RhY2tcbiIKKworIzogY29uZmlnL3RjLWZydi5jOjQ2NgorIywgYy1mb3JtYXQKK21zZ2lkICItbWRvdWJsZSAgICAgICAgTWFyayBnZW5lcmF0ZWQgZmlsZSBhcyB1c2luZyBkb3VibGUgcHJlY2lzaW9uIEZQIGluc25zXG4iCittc2dzdHIgIi1tZG91YmxlICAgICAgICBUYW5kYWkgYmVya2FzIHlhbmcgZGloYXNpbGthbiBzZWJhZ2FpIHByZXNpc2kgZ2FuZGEgRlAgaW5zbnNcbiIKKworIzogY29uZmlnL3RjLWZydi5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICItbW1lZGlhICAgICAgICAgTWFyayBnZW5lcmF0ZWQgZmlsZSBhcyB1c2luZyBtZWRpYSBpbnNuc1xuIgorbXNnc3RyICItbW1lZGlhICAgICAgICAgVGFuZGFpIGJlcmthcyB5YW5nIGRpaGFzaWxrYW4gbWVuZ2d1bmFrYW4gbWVkaWEgaW5zbnNcbiIKKworIzogY29uZmlnL3RjLWZydi5jOjQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICItbW11bGFkZCAgICAgICAgTWFyayBnZW5lcmF0ZWQgZmlsZSBhcyB1c2luZyBtdWx0aXBseSBhZGQvc3VidHJhY3QgaW5zbnNcbiIKK21zZ3N0ciAiLW1tdWxhZGQgICAgICAgIFRhbmRhaSBiZXJrYXMgeWFuZyBkaWhhc2lsa2FuIG1lbmdndW5ha2FuIHBlcmthbGlhbiBhZGQvc3VidHJhY3QgaW5zbnNcbiIKKworIzogY29uZmlnL3RjLWZydi5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICItbXBhY2sgICAgICAgICAgQWxsb3cgaW5zdHJ1Y3Rpb25zIHRvIGJlIHBhY2tlZFxuIgorbXNnc3RyICItbXBhY2sgICAgICAgICAgQm9sZWhrYW4gaW5zdHJ1a3NpIHVudHVrIGRpcGFja1xuIgorCisjOiBjb25maWcvdGMtZnJ2LmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIi1tbm8tcGFjayAgICAgICBEbyBub3QgYWxsb3cgaW5zdHJ1Y3Rpb25zIHRvIGJlIHBhY2tlZFxuIgorbXNnc3RyICItbW5vLXBhY2sgICAgICAgSmFuZ2FuIGlqaW5rYW4gaW5zdHJ1a3NpIHVudHVrIGRpcGFja1xuIgorCisjOiBjb25maWcvdGMtZnJ2LmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIi1tcGljICAgICAgICAgICBNYXJrIGdlbmVyYXRlZCBmaWxlIGFzIHVzaW5nIHNtYWxsIHBvc2l0aW9uIGluZGVwZW5kZW50IGNvZGVcbiIKK21zZ3N0ciAiLW1waWMgICAgICAgICAgIFRhbmRhaSBiZXJrYXMgeWFuZyBkaWhhc2lsa2FuIG1lbmdndW5ha2FuIGtvZGUgYmViYXMgcG9zaXNpIGtlY2lsXG4iCisKKyM6IGNvbmZpZy90Yy1mcnYuYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLW1QSUMgICAgICAgICAgIE1hcmsgZ2VuZXJhdGVkIGZpbGUgYXMgdXNpbmcgbGFyZ2UgcG9zaXRpb24gaW5kZXBlbmRlbnQgY29kZVxuIgorbXNnc3RyICItbVBJQyAgICAgICAgICAgVGFuZGFpIGJlcmthcyB5YW5nIGRpaGFzaWxrYW4gbWVuZ2d1bmFrYW4ga29kZSBiZWJhcyBwb3Npc2kgYmVzYXJcbiIKKworIzogY29uZmlnL3RjLWZydi5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICItbWxpYnJhcnktcGljICAgTWFyayBnZW5lcmF0ZWQgZmlsZSBhcyB1c2luZyBwb3NpdGlvbiBpbmRlcGVkZW50IGNvZGUgZm9yIGxpYnJhcmllc1xuIgorbXNnc3RyICItbWxpYnJhcnktcGljICAgVGFuZGFpIGJlcmthcyB5YW5nIGRpaGFzaWxrYW4gbWVuZ2d1bmFrYW4ga29kZSBiZWJhcyBwb3Npc2kgdW50dWsgcGVycHVzdGFrYWFuXG4iCisKKyM6IGNvbmZpZy90Yy1mcnYuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLW1mZHBpYyAgICAgICAgIEFzc2VtYmxlIGZvciB0aGUgRkRQSUMgQUJJXG4iCittc2dzdHIgIi1tZmRwaWMgICAgICAgICBSYWtpdCB1bnR1ayBGRFBJQyBBQklcbiIKKworIzogY29uZmlnL3RjLWZydi5jOjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICItbW5vcGljICAgICAgICAgRGlzYWJsZSAtbXBpYywgLW1QSUMsIC1tbGlicmFyeS1waWMgYW5kIC1tZmRwaWNcbiIKK21zZ3N0ciAiLW1ub3BpYyAgICAgICAgIE5vbi1ha3RpZmthbiAtbXBpYywgLW1QSUMsIC1tbGlicmFyeS1waWMgZGFuIC1tZmRwaWNcbiIKKworIzogY29uZmlnL3RjLWZydi5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICItbWNwdT17ZnI1MDB8ZnI1NTB8ZnI0MDB8ZnI0MDV8ZnI0NTB8ZnIzMDB8ZnJ2fHNpbXBsZXx0b21jYXR9XG4iCittc2dzdHIgIi1tY3B1PXtmcjUwMHxmcjU1MHxmcjQwMHxmcjQwNXxmcjQ1MHxmcjMwMHxmcnZ8c2ltcGxlfHRvbWNhdH1cbiIKKworIzogY29uZmlnL3RjLWZydi5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgUmVjb3JkIHRoZSBjcHUgdHlwZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgU2ltcGFuIHRpcGUgY3B1XG4iCisKKyM6IGNvbmZpZy90Yy1mcnYuYzo0NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLW10b21jYXQtc3RhdHMgIFByaW50IG91dCBzdGF0cyBmb3IgdG9tY2F0IHdvcmthcm91bmRzXG4iCittc2dzdHIgIi1tdG9tY2F0LXN0YXRzICBUYW1waWxrYXMgc3RhdGlzdGlrIHVudHVrIHBlcmJhaWthbiB0b21jYXRcbiIKKworIzogY29uZmlnL3RjLWZydi5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICItbXRvbWNhdC1kZWJ1ZyAgRGVidWcgdG9tY2F0IHdvcmthcm91bmRzXG4iCittc2dzdHIgIi1tdG9tY2F0LWRlYnVnICBEZWJ1ZyBwZXJiYWlrYW4gdG9tY2F0XG4iCisKKyM6IGNvbmZpZy90Yy1mcnYuYzoxMTYzCittc2dpZCAiVkxJVyBwYWNraW5nIHVzZWQgZm9yIC1tbm8tcGFjayIKK21zZ3N0ciAiVkxJVyBwYWNraW5nIGRpZ3VuYWthbiB1bnR1ayAtbW5vLXBhY2siCisKKyM6IGNvbmZpZy90Yy1mcnYuYzoxMTczCittc2dpZCAiSW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRlZCBieSB0aGlzIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiSW5zdHJ1a3NpIHRpZGFrIGRpZHVrdW5nIG9sZWggYXJzaXRla3R1ciBpbmkiCisKKyM6IGNvbmZpZy90Yy1mcnYuYzoxMTgzCittc2dpZCAiVkxJVyBwYWNraW5nIGNvbnN0cmFpbnQgdmlvbGF0aW9uIgorbXNnc3RyICJwZWxhbmdnYXJhbiBiYXRhc2FuIHBlbWJ1bmdrdXNhbiBWTElXIgorCisjOiBjb25maWcvdGMtZnJ2LmM6MTc3NAorIywgYy1mb3JtYXQKK21zZ2lkICJSZWxvY2F0aW9uICVzIGlzIG5vdCBzYWZlIGZvciAlcyIKK21zZ3N0ciAiUmVsb2thc2kgJXMgdGlkYWsgYW1hbiB1bnR1ayAlcyIKKworIzogY29uZmlnL3RjLWg4MzAwLmM6Mzk1IGNvbmZpZy90Yy1oODMwMC5jOjQwMworbXNnaWQgIlJlZyBub3QgdmFsaWQgZm9yIEg4LzMwMCIKK21zZ3N0ciAiUmVnIHRpZGFrIHZhbGlkIHVudHVrIEg4LzMwMCIKKworIzogY29uZmlnL3RjLWg4MzAwLmM6NDg0Cittc2dpZCAiaW52YWxpZCBvcGVyYW5kIHNpemUgcmVxdWVzdGVkIgorbXNnc3RyICJ1a3VyYW4gb3BlcmFuIHRpZGFrIHZhbGlkIGRpbWludGEiCisKKyM6IGNvbmZpZy90Yy1oODMwMC5jOjU4MworbXNnaWQgIkludmFsaWQgcmVnaXN0ZXIgbGlzdCBmb3IgbGRtL3N0bVxuIgorbXNnc3RyICJEYWZ0YXIgcmVnaXN0ZXIgdGlkYWsgdmFsaWQgdW50dWsgbGRtL3N0bVxuIgorCisjOiBjb25maWcvdGMtaDgzMDAuYzo2MDkgY29uZmlnL3RjLWg4MzAwLmM6NjE0IGNvbmZpZy90Yy1oODMwMC5jOjYyMQorbXNnaWQgIm1pc21hdGNoIGJldHdlZW4gcmVnaXN0ZXIgYW5kIHN1ZmZpeCIKK21zZ3N0ciAidGlkYWsgY29jb2sgYW50YXJhIHJlZ2lzdGVyIGRhbiBha2hpcmFuIgorCisjOiBjb25maWcvdGMtaDgzMDAuYzo2NDgKK21zZ2lkICJhZGRyZXNzIHRvbyBoaWdoIGZvciB2ZWN0b3IgdGFibGUgam1wL2pzciIKK21zZ3N0ciAiYWxhbWF0IHRlcmxhbHUgdGluZ2dpIHVudHVrIHRhYmVsIHZla3RvciBqbXAvanNyIgorCisjOiBjb25maWcvdGMtaDgzMDAuYzo2NzUgY29uZmlnL3RjLWg4MzAwLmM6Nzg3IGNvbmZpZy90Yy1oODMwMC5jOjc5NworbXNnaWQgIldyb25nIHNpemUgcG9pbnRlciByZWdpc3RlciBmb3IgYXJjaGl0ZWN0dXJlLiIKK21zZ3N0ciAiQmVzYXIgcmVnaXN0ZXIgcGV0dW5qdWsgc2FsYWggdW50dWsgYXJzaXRla3R1ci4iCisKKyM6IGNvbmZpZy90Yy1oODMwMC5jOjczNCBjb25maWcvdGMtaDgzMDAuYzo3NDIgY29uZmlnL3RjLWg4MzAwLmM6NzcxCittc2dpZCAiZXhwZWN0ZWQgQChleHAsIHJlZzE2KSIKK21zZ3N0ciAiZGlkdWdhIEAoZXhwLCByZWcxNikiCisKKyM6IGNvbmZpZy90Yy1oODMwMC5jOjc2MAorbXNnaWQgImV4cGVjdGVkIC5MLCAuVyBvciAuQiBmb3IgcmVnaXN0ZXIgaW4gaW5kZXhlZCBhZGRyZXNzaW5nIG1vZGUiCittc2dzdHIgImRpZHVnYSAuTCwgLlcgYXRhdSAuQiB1bnR1ayByZWdpc3RlciBkYWxhbSBtb2RlIHBlbmdhbGFtYXRhbiB0ZXJpbmRla3MiCisKKyM6IGNvbmZpZy90Yy1oODMwMC5jOjk1NAorbXNnaWQgImV4cGVjdGVkIHZhbGlkIGFkZHJlc3NpbmcgbW9kZSBmb3IgbW92YTogXCJAKGRpc3AsIGVhLnN6KSxFUm5cIiIKK21zZ3N0ciAiZGlkdWdhIG1vZGUgcGVuZ2FsYW1hdGFuIHZhbGlkIHVudHVrIG1vdmE6IFwiQChkaXNwLCBlYS5zeiksIEVSblwiIgorCisjOiBjb25maWcvdGMtaDgzMDAuYzo5NzIgY29uZmlnL3RjLWg4MzAwLmM6OTgxCittc2dpZCAiZXhwZWN0ZWQgcmVnaXN0ZXIiCittc2dzdHIgImRpZHVnYSByZWdpc3RlciIKKworIzogY29uZmlnL3RjLWg4MzAwLmM6OTk3Cittc2dpZCAiZXhwZWN0ZWQgY2xvc2luZyBwYXJlbiIKK21zZ3N0ciAiZGlkdWdhIHBlbnV0dXBhbiBwYXJlbiIKKworIzogY29uZmlnL3RjLWg4MzAwLmM6MTA1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCB1c2UgaGlnaCBwYXJ0IG9mIHJlZ2lzdGVyIGluIG9wZXJhbmQgJWQiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdndW5ha2FuIGJhZ2lhbiB0aW5nZ2kgZGFyaSByZWdpc3RlciBkYWxhbSBvcGVyYW4gJWQiCisKKyM6IGNvbmZpZy90Yy1oODMwMC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3Bjb2RlIGAlcycgd2l0aCB0aGVzZSBvcGVyYW5kIHR5cGVzIG5vdCBhdmFpbGFibGUgaW4gJXMgbW9kZSIKK21zZ3N0ciAiT3Brb2RlIGAlcycgZGVuZ2FuIG9wZXJhbiB0aXBlIGluaSB0aWRhayB0ZXJzZWRpYSBkYWxhbSBtb2RlICVzIgorCisjOiBjb25maWcvdGMtaDgzMDAuYzoxMjIyCittc2dpZCAibWlzbWF0Y2ggYmV0d2VlbiBvcGNvZGUgc2l6ZSBhbmQgb3BlcmFuZCBzaXplIgorbXNnc3RyICJ0aWRhayBjb2NvayBkaWFudGFyYSB1a3VyYW4gb3Brb2RlIGRhbiB1a3VyYW4gb3BlcmFuIgorCisjOiBjb25maWcvdGMtaDgzMDAuYzoxMjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhbmQgJXMweCVseCBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJvcGVyYW4gJXMweCVseCBkaWx1YXIgZGFyaSBqYW5na2F1YW4uIgorCisjOiBjb25maWcvdGMtaDgzMDAuYzoxMzU0Cittc2dpZCAiQ2FuJ3Qgd29yayBvdXQgc2l6ZSBvZiBvcGVyYW5kLlxuIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW55ZWxlc2Fpa2FuIHVrdXJhbiBkYXJpIG9wZXJhbi5cbiIKKworIzogY29uZmlnL3RjLWg4MzAwLmM6MTQwMworIywgYy1mb3JtYXQKK21zZ2lkICJPcGNvZGUgYCVzJyB3aXRoIHRoZXNlIG9wZXJhbmQgdHlwZXMgbm90IGF2YWlsYWJsZSBpbiBIOC8zMDAgbW9kZSIKK21zZ3N0ciAiT3Brb2RlIGAlcycgZGVuZ2FuIG9wZXJhbiB0aXBlIGluaSB0aWRhayB0ZXJzZWRpYSBkYWxhbSBtb2RlIEg4LzMwMCIKKworIzogY29uZmlnL3RjLWg4MzAwLmM6MTQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJPcGNvZGUgYCVzJyB3aXRoIHRoZXNlIG9wZXJhbmQgdHlwZXMgbm90IGF2YWlsYWJsZSBpbiBIOC8zMDBIIG1vZGUiCittc2dzdHIgIk9wa29kZSBgJXMnIGRlbmdhbiBvcGVyYW4gdGlwZSBpbmkgdGlkYWsgdGVyc2VkaWEgZGFsYW0gbW9kZSBIOC8zMDBIIgorCisjOiBjb25maWcvdGMtaDgzMDAuYzoxNDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIk9wY29kZSBgJXMnIHdpdGggdGhlc2Ugb3BlcmFuZCB0eXBlcyBub3QgYXZhaWxhYmxlIGluIEg4LzMwMFMgbW9kZSIKK21zZ3N0ciAiT3Brb2RlIGAlcycgZGVuZ2FuIG9wZXJhbiB0aXBlIGluaSB0aWRhayB0ZXJzZWRpYSBkYWxhbSBtb2RlIEg4LzMwMFMiCisKKyM6IGNvbmZpZy90Yy1oODMwMC5jOjE0NzUgY29uZmlnL3RjLWg4MzAwLmM6MTQ5NQorbXNnaWQgIk5lZWQgIzEgb3IgIzIgaGVyZSIKK21zZ3N0ciAiQnV0dWggIzEgYXRhdSAjMiBkaXNpbmkiCisKKyM6IGNvbmZpZy90Yy1oODMwMC5jOjE0OTAKK21zZ2lkICIjNCBub3QgdmFsaWQgb24gSDgvMzAwLiIKK21zZ3N0ciAiIzQgdGlkYWsgdmFsaWQgZGkgSDgvMzAwLiIKKworIzogY29uZmlnL3RjLWg4MzAwLmM6MTU5NiBjb25maWcvdGMtaDgzMDAuYzoxNjc4CisjLCBjLWZvcm1hdAorbXNnaWQgImJyYW5jaCBvcGVyYW5kIGhhcyBvZGQgb2Zmc2V0ICglbHgpXG4iCittc2dzdHIgIm9wZXJhbiBwZXJjYWJhbmdhbiBtZW1pbGlraSBvZnNldCAoJWx4KSBnYW5qaWxcbiIKKworIzogY29uZmlnL3RjLWg4MzAwLmM6MTcxNgorbXNnaWQgImRlc3RpbmF0aW9uIG9wZXJhbmQgbXVzdCBiZSAxNiBiaXQgcmVnaXN0ZXIiCittc2dzdHIgIm9wZXJhbiB0dWp1YW4gaGFydXMgYmVydXBhIHJlZ2lzdGVyIDE2IGJpdCIKKworIzogY29uZmlnL3RjLWg4MzAwLmM6MTcyNQorbXNnaWQgInNvdXJjZSBvcGVyYW5kIG11c3QgYmUgOCBiaXQgcmVnaXN0ZXIiCittc2dzdHIgInN1bWJlciBvcGVyYW4gaGFydXMgYmVydXBhIHJlZ2lzdGVyIDggYml0IgorCisjOiBjb25maWcvdGMtaDgzMDAuYzoxNzMzCittc2dpZCAiZGVzdGluYXRpb24gb3BlcmFuZCBtdXN0IGJlIDE2Yml0IGFic29sdXRlIGFkZHJlc3MiCittc2dzdHIgIm9wZXJhbiB0dWp1YW4gaGFydXMgYmVydXBhIGFsYW1hdCBhYnNvbHV0IDE2IGJpdCIKKworIzogY29uZmlnL3RjLWg4MzAwLmM6MTc0MAorbXNnaWQgImRlc3RpbmF0aW9uIG9wZXJhbmQgbXVzdCBiZSA4IGJpdCByZWdpc3RlciIKK21zZ3N0ciAib3BlcmFuIHR1anVhbiBoYXJ1cyBiZXJ1cGEgcmVnaXN0ZXIgOCBiaXQiCisKKyM6IGNvbmZpZy90Yy1oODMwMC5jOjE3NDgKK21zZ2lkICJzb3VyY2Ugb3BlcmFuZCBtdXN0IGJlIDE2Yml0IGFic29sdXRlIGFkZHJlc3MiCittc2dzdHIgIm9wZXJhbiBzdW1iZXIgaGFydXMgYmVydXBhIGFsYW1hdCBhYnNvbHV0IDE2IGJpdCIKKworIy4gVGhpcyBzZWVtcyBtb3JlIHNhbmUgdGhhbiBzYXlpbmcgInRvbyBtYW55IG9wZXJhbmRzIi4gIFdlJ2xsCisjLiBnZXQgaGVyZSBvbmx5IGlmIHRoZSB0cmFpbGluZyB0cmFzaCBzdGFydHMgd2l0aCBhIGNvbW1hLgorIy4gVHlwZXMgb3IgdmFsdWVzIG9mIGFyZ3MgZG9uJ3QgbWF0Y2guCisjOiBjb25maWcvdGMtaDgzMDAuYzoxNzU2IGNvbmZpZy90Yy1tbWl4LmM6NDcyIGNvbmZpZy90Yy1tbWl4LmM6NDg0CisjOiBjb25maWcvdGMtbW1peC5jOjI0OTcgY29uZmlnL3RjLW1taXguYzoyNTIxIGNvbmZpZy90Yy1tbWl4LmM6Mjc5NAorIzogY29uZmlnL3RjLW9yMzIuYzo1MjgKK21zZ2lkICJpbnZhbGlkIG9wZXJhbmRzIgorbXNnc3RyICJvcGVyYW4gdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1oODMwMC5jOjE3ODcKK21zZ2lkICJvcGVyYW5kL3NpemUgbWlzLW1hdGNoIgorbXNnc3RyICJvcGVyYW4vdWt1cmFuIHRpZGFrLWNvY29rIgorCisjOiBjb25maWcvdGMtaDgzMDAuYzoxODg4IGNvbmZpZy90Yy1taXBzLmM6MTAwNjYgY29uZmlnL3RjLXNoLmM6MjkyNQorIzogY29uZmlnL3RjLXNoNjQuYzoyNzk1IGNvbmZpZy90Yy16OGsuYzoxMjI2Cittc2dpZCAidW5rbm93biBvcGNvZGUiCittc2dzdHIgIm9wa29kZSB0aWRhayBkaWtldGFodWkiCisKKyM6IGNvbmZpZy90Yy1oODMwMC5jOjE5MjEKK21zZ2lkICJpbnZhbGlkIG9wZXJhbmQgaW4gbGRtIgorbXNnc3RyICJvcGVyYW4gdGlkYWsgdmFsaWQgZGFsYW0gbGRtIgorCisjOiBjb25maWcvdGMtaDgzMDAuYzoxOTMwCittc2dpZCAiaW52YWxpZCBvcGVyYW5kIGluIHN0bSIKK21zZ3N0ciAib3BlcmFuIHRpZGFrIHZhbGlkIGRhbGFtIHN0bSIKKworIzogY29uZmlnL3RjLWg4MzAwLmM6MjA1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYWxsIHRvIHRjX2FvdXRfZml4X3RvX2NoYXJzIFxuIgorbXNnc3RyICJtZW1hbmdnaWwgdGNfYW91dF9maXhfdG9fY2hhcnMgXG4iCisKKyM6IGNvbmZpZy90Yy1oODMwMC5jOjIwNjUgY29uZmlnL3RjLXhjMTZ4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbGwgdG8gbWRfY29udmVydF9mcmFnIFxuIgorbXNnc3RyICJtZW1hbmdnaWwgbWRfY29udmVydF9mcmFnIFxuIgorCisjOiBjb25maWcvdGMtaDgzMDAuYzoyMTE2IGNvbmZpZy90Yy14YzE2eC5jOjI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYWxsIHRvIG1kX2VzdGltYXRlX3NpemVfYmVmb3JlX3JlbGF4IFxuIgorbXNnc3RyICJtZW1hbmdnaWwgbWRfZXN0aW1hdGVfc2l6ZV9iZWZvcmVfcmVsYXggXG4iCisKKyM6IGNvbmZpZy90Yy1oODMwMC5jOjIxNDUgY29uZmlnL3RjLXhjMTZ4LmM6Mjg1Cittc2dpZCAiRGlmZmVyZW5jZSBvZiBzeW1ib2xzIGluIGRpZmZlcmVudCBzZWN0aW9ucyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJQZXJiZWRhYW4gZGFyaSBzaW1ib2wgZGFsYW0gZGFlcmFoIGJlcmJlZGEgdGlkYWsgZGlkdWt1bmciCisKKyM6IGNvbmZpZy90Yy1oODMwMC5jOjIxNjcgY29uZmlnL3RjLW1jb3JlLmM6MjE5OSBjb25maWcvdGMtcGouYzo0ODkKKyM6IGNvbmZpZy90Yy1zaC5jOjQzNzQgY29uZmlnL3RjLXhjMTZ4LmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCByZXByZXNlbnQgcmVsb2NhdGlvbiB0eXBlICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZXJlcHJlc2VudGFzaWthbiB0aXBlIHJlbG9rYXNpICVzIgorCisjLiBTaW1wbGUgcmFuZ2UgY2hlY2tpbmcgZm9yIEZJRUxEIGFnYWluc3QgSElHSCBhbmQgTE9XIGJvdW5kcy4KKyMuIElHTk9SRSBpcyB1c2VkIHRvIHN1cHByZXNzIHRoZSBlcnJvciBtZXNzYWdlLgorIy4gVmFyaWFudCBvZiBDSEVDS19GSUVMRCBmb3IgdXNlIGluIG1kX2FwcGx5X2ZpeCBhbmQgb3RoZXIgcGxhY2VzIHdoZXJlCisjLiB0aGUgY3VycmVudCBmaWxlIGFuZCBsaW5lIG51bWJlciBhcmUgbm90IHZhbGlkLgorIzogY29uZmlnL3RjLWhwcGEuYzoxMDE1IGNvbmZpZy90Yy1ocHBhLmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICJGaWVsZCBvdXQgb2YgcmFuZ2UgWyVkLi4lZF0gKCVkKS4iCittc2dzdHIgIkZpZWxkIGRpbHVhciBkYXJpIGphbmdrYXVhbiBbJWQuLiVkXSAoJWQpLiIKKworIy4gU2ltcGxlIGFsaWdubWVudCBjaGVja2luZyBmb3IgRklFTEQgYWdhaW5zdCBBTElHTiAoYSBwb3dlciBvZiB0d28pLgorIy4gSUdOT1JFIGlzIHVzZWQgdG8gc3VwcHJlc3MgdGhlIGVycm9yIG1lc3NhZ2UuCisjOiBjb25maWcvdGMtaHBwYS5jOjEwNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmllbGQgbm90IHByb3Blcmx5IGFsaWduZWQgWyVkXSAoJWQpLiIKK21zZ3N0ciAiRmllbGQgdGlkYWsgc2VjYXJhIGJlbmFyIHRlcmFsaWduIFslZF0gKCVkKS4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6MTA5NgorbXNnaWQgIk1pc3NpbmcgLmV4aXRcbiIKK21zZ3N0ciAiSGlsYW5nIC5leGl0XG4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6MTA5OQorbXNnaWQgIk1pc3NpbmcgLnByb2NlbmRcbiIKK21zZ3N0ciAiSGlsYW5nIC5wcm9jZW5kXG4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6MTI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZpZWxkIHNlbGVjdG9yLiAgQXNzdW1pbmcgRiUlLiIKK21zZ3N0ciAicGVtaWxpaCBmaWVsZCB0aWRhayB2YWxpZC4gTWVuZ2FzdW1zaWthbiBGJSUuIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjEzMTEKK21zZ2lkICJCYWQgc2VnbWVudCBpbiBleHByZXNzaW9uLiIKK21zZ3N0ciAiU2VnbWVuIGJ1cnVrIGRhbGFtIGVrc3ByZXNpLiIKKworIzogY29uZmlnL3RjLWhwcGEuYzoxMzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgTnVsbGlmaWNhdGlvbjogKCVjKSIKK21zZ3N0ciAiUGVuZ29zb25nYW4gdGlkYWsgdmFsaWQ6ICglYykiCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6MTQwNgorbXNnaWQgIkNhbm5vdCBoYW5kbGUgZml4dXAiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmFuZ2FuaSBwZXJiYWlrYW4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6MTcwNAorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1RICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZWRcbiIKK21zZ3N0ciAiICAtUSAgICAgICAgICAgICAgICAgICAgICBkaWFiYWlrYW5cbiIKKworIzogY29uZmlnL3RjLWhwcGEuYzoxNzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLWMgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgYSB3YXJuaW5nIGlmIGEgY29tbWVudCBpcyBmb3VuZFxuIgorbXNnc3RyICIgIC1jICAgICAgICAgICAgICAgICAgICAgIHRhbXBpbGthbiBwZXJpbmdhdGFuIGppa2Egc2VidWFoIGtvbXBlbnRhciBkaXRlbXVrYW5cbiIKKworIzogY29uZmlnL3RjLWhwcGEuYzoxNzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGhwcGFfZml4dXAgZW50cnkgZm9yIGZpeHVwIHR5cGUgMHgleCIKK21zZ3N0ciAidGlkYWsgYWRhIG1hc3VrYW4gaHBwYV9maXh1cCB1bnR1ayB0aXBlIHBlcmJhaWthbiAweCV4IgorCisjOiBjb25maWcvdGMtaHBwYS5jOjE5NTMKK21zZ2lkICJVbmtub3duIHJlbG9jYXRpb24gZW5jb3VudGVyZWQgaW4gbWRfYXBwbHlfZml4LiIKK21zZ3N0ciAiUmVsb2thc2kgdGlkYWsgZGlrZXRhaHVpIGRpdGVtdWkgZGFsYW0gbWRfYXBwbHlfZml4LiIKKworIzogY29uZmlnL3RjLWhwcGEuYzoyMTQxIGNvbmZpZy90Yy1ocHBhLmM6MjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmRlZmluZWQgcmVnaXN0ZXI6ICclcycuIgorbXNnc3RyICJSZWdpc3RlciB0aWRhayB0ZXJkZWZpbmlzaTogJyVzJy4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6MjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJOb24tYWJzb2x1dGUgc3ltYm9sOiAnJXMnLiIKK21zZ3N0ciAiU2ltYm9sIGJ1a2FuLWFic29sdXQ6ICclcycuIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjIyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5kZWZpbmVkIGFic29sdXRlIGNvbnN0YW50OiAnJXMnLiIKK21zZ3N0ciAiS29uc3RhbnRhIGFic29sdXQgdGlkYWsgdGVyZGVmaW5pc2k6ICclcycuIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjIyNDYgY29uZmlnL3RjLWhwcGEuYzo1NjY1Cittc2dpZCAiY291bGQgbm90IHVwZGF0ZSBhcmNoaXRlY3R1cmUgYW5kIG1hY2hpbmUiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmd1cGRhdGUgYXJzaXRla3R1ciBkYW4gbWVzaW4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6MjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIEZQIENvbXBhcmUgQ29uZGl0aW9uOiAlcyIKK21zZ3N0ciAiS29uZGlzaSBwZXJiYW5kaW5nYW4gRlAgdGlkYWsgdmFsaWQ6ICVzIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjIzMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBGVEVTVCBjb21wbGV0ZXI6ICVzIgorbXNnc3RyICJwZWxlbmdrYXAgRlRFU1QgdGlkYWsgdmFsaWQ6ICVzIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjI0MDUgY29uZmlnL3RjLWhwcGEuYzoyNDQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgRlAgT3BlcmFuZCBGb3JtYXQ6ICUzcyIKK21zZ3N0ciAiRm9ybWF0IG9wZXJhbiBGUCB0aWRhayB2YWxpZDogJTNzIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjI1NzcKK21zZ2lkICJCYWQgc2VnbWVudCAoc2hvdWxkIGJlIGFic29sdXRlKS4iCittc2dzdHIgIlNlZ21lbiBidXJ1ayAoc2VoYXJ1c255YSBhYnNvbHV0KS4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6MjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGFyZ3VtZW50IGxvY2F0aW9uOiAlc1xuIgorbXNnc3RyICJBcmd1bWVuIGxva2FzaSB0aWRhayB2YWxpZDogJXNcbiIKKworIzogY29uZmlnL3RjLWhwcGEuYzoyNjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgYXJndW1lbnQgZGVzY3JpcHRpb246ICVkIgorbXNnc3RyICJBcmd1bWVuIGRlc2tyaXBzaSB0aWRhayB2YWxpZDogJWQiCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6MzQ1OAorbXNnaWQgIkludmFsaWQgSW5kZXhlZCBMb2FkIENvbXBsZXRlci4iCittc2dzdHIgIlBlbGVuZ2thcCBCZWJhbiBUZXJpbmRla3MgdGlkYWsgdmFsaWQuIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjM0NjMKK21zZ2lkICJJbnZhbGlkIEluZGV4ZWQgTG9hZCBDb21wbGV0ZXIgU3ludGF4LiIKK21zZ3N0ciAiU3ludGF4IFBlbGVuZ2thcCBCZWJhbiBUZXJpbmRla3MgdGlkYWsgdmFsaWQuIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjM0OTcKK21zZ2lkICJJbnZhbGlkIFNob3J0IExvYWQvU3RvcmUgQ29tcGxldGVyLiIKK21zZ3N0ciAiUGVsZW5na2FwIExvYWQvU3RvcmUgUGVuZGVrIHRpZGFrIHZhbGlkLiIKKworIzogY29uZmlnL3RjLWhwcGEuYzozNTU3IGNvbmZpZy90Yy1ocHBhLmM6MzU2MgorbXNnaWQgIkludmFsaWQgU3RvcmUgQnl0ZXMgU2hvcnQgQ29tcGxldGVyIgorbXNnc3RyICJQZWxlbmdrYXAgU2ltcGFuIEJ5dGVzIFBlbmRlayB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWhwcGEuYzozODczIGNvbmZpZy90Yy1ocHBhLmM6Mzg3OQorbXNnaWQgIkludmFsaWQgbGVmdC9yaWdodCBjb21iaW5hdGlvbiBjb21wbGV0ZXIiCittc2dzdHIgIlBlbGVuZ2thcCBrb21iaW5hc2kga2lyaS9rYW5hbiB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWhwcGEuYzozOTI4IGNvbmZpZy90Yy1ocHBhLmM6MzkzNQorbXNnaWQgIkludmFsaWQgcGVybXV0YXRpb24gY29tcGxldGVyIgorbXNnc3RyICJQZWxlbmdrYXAgcGVybXV0YXNpIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjQwMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBBZGQgQ29uZGl0aW9uOiAlcyIKK21zZ3N0ciAiS29kaXNpIFRhbWJhaCB0aWRhayB2YWxpZDogJXMiCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NDA0NiBjb25maWcvdGMtaHBwYS5jOjQwNTYKK21zZ2lkICJJbnZhbGlkIEFkZCBhbmQgQnJhbmNoIENvbmRpdGlvbiIKK21zZ3N0ciAiS29uZGlzaSBUYW1iYWggZGFuIENhYmFuZyB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWhwcGEuYzo0MDc3IGNvbmZpZy90Yy1ocHBhLmM6NDIxNAorbXNnaWQgIkludmFsaWQgQ29tcGFyZS9TdWJ0cmFjdCBDb25kaXRpb24iCittc2dzdHIgIktvZGlzaSBCYW5kaW5nL0t1cmFuZyB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWhwcGEuYzo0MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgQml0IEJyYW5jaCBDb25kaXRpb246ICVjIgorbXNnc3RyICJLb25kaXNpIEJpdCBDYWJhbmcgdGlkYWsgdmFsaWQ6ICVjIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjQyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBDb21wYXJlL1N1YnRyYWN0IENvbmRpdGlvbjogJXMiCittc2dzdHIgIktvbmRpc2kgQmFuZGluZy9LdXJhbmcgdGlkYWsgdmFsaWQ6ICVzIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjQyMjkKK21zZ2lkICJJbnZhbGlkIENvbXBhcmUgYW5kIEJyYW5jaCBDb25kaXRpb24iCittc2dzdHIgIktvbmRpc2kgQmFuZGluZyBkYW4gQ2FiYW5nIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjQzMjUKK21zZ2lkICJJbnZhbGlkIExvZ2ljYWwgSW5zdHJ1Y3Rpb24gQ29uZGl0aW9uLiIKK21zZ3N0ciAiS29uZGlzaSBJbnN0cnVrc2kgTG9naWthbCB0aWRhayB2YWxpZC4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NDM4MAorbXNnaWQgIkludmFsaWQgU2hpZnQvRXh0cmFjdC9EZXBvc2l0IENvbmRpdGlvbi4iCittc2dzdHIgIktvbmRpc2kgU2hpZnQvRWtzdHJhay9EZXBvc2l0IHRpZGFrIHZhbGlkLiIKKworIzogY29uZmlnL3RjLWhwcGEuYzo0NDkyCittc2dpZCAiSW52YWxpZCBVbml0IEluc3RydWN0aW9uIENvbmRpdGlvbi4iCittc2dzdHIgIktvbmRpc2kgU2F0dWFuIEluc3RydWtzaSB0aWRhayB2YWxpZC4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NDk2NyBjb25maWcvdGMtaHBwYS5jOjQ5OTkgY29uZmlnL3RjLWhwcGEuYzo1MDMwCisjOiBjb25maWcvdGMtaHBwYS5jOjUwNjAKK21zZ2lkICJCcmFuY2ggdG8gdW5hbGlnbmVkIGFkZHJlc3MiCittc2dzdHIgIkNhYmFuZyBrZSBhbGFtYXQgdGlkYWsgdGVyYWxpZ24iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NTIzOAorbXNnaWQgIkludmFsaWQgU0ZVIGlkZW50aWZpZXIiCittc2dzdHIgIklkZW50aWZpZXIgU0ZVIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjUyODgKK21zZ2lkICJJbnZhbGlkIENPUFIgaWRlbnRpZmllciIKK21zZ3N0ciAiSWRlbnRpZmllciBDT1BSIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjU0MTcKK21zZ2lkICJJbnZhbGlkIEZsb2F0aW5nIFBvaW50IE9wZXJhbmQgRm9ybWF0LiIKK21zZ3N0ciAiRm9ybWF0IE9wZXJhbiBGbG9hdGluZyBQb2ludCB0aWRhayB2YWxpZC4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NTUzNCBjb25maWcvdGMtaHBwYS5jOjU1NTQgY29uZmlnL3RjLWhwcGEuYzo1NTc0CisjOiBjb25maWcvdGMtaHBwYS5jOjU1OTQgY29uZmlnL3RjLWhwcGEuYzo1NjE0Cittc2dpZCAiSW52YWxpZCByZWdpc3RlciBmb3Igc2luZ2xlIHByZWNpc2lvbiBmbXB5YWRkIG9yIGZtcHlzdWIiCittc2dzdHIgIlJlZ2lzdGVyIHVudHVrIHByZXNpc2kgdHVuZ2dhbCBmbXB5YWRkIGF0YXUgZm1weXN1YiB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWhwcGEuYzo1NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmFuZHMgJXMiCittc2dzdHIgIm9wZXJhbiB0aWRhayB2YWxpZCAlcyIKKworIzogY29uZmlnL3RjLWhwcGEuYzo1NzM3IGNvbmZpZy90Yy1ocHBhLmM6NjkyNSBjb25maWcvdGMtaHBwYS5jOjY5ODAKK21zZ2lkICJNaXNzaW5nIGZ1bmN0aW9uIG5hbWUgZm9yIC5QUk9DIChjb3JydXB0ZWQgbGFiZWwgY2hhaW4pIgorbXNnc3RyICJIaWxhbmcgbmFtYSBmdW5nc2kgdW50dWsgLlBST0MgKHJhbnRhaSBuYW1hIHRlcmtvcnVwc2kpIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjU3NDAgY29uZmlnL3RjLWhwcGEuYzo2OTgzCittc2dpZCAiTWlzc2luZyBmdW5jdGlvbiBuYW1lIGZvciAuUFJPQyIKK21zZ3N0ciAiSGlsYW5nIG5hbWEgZnVuZ3NpIHVudHVrIC5QUk9DIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjU3OTkKK21zZ2lkICJBcmd1bWVudCB0byAuQkxPQ0svLkJMT0NLWiBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMHgzZmZmZmZmZiIKK21zZ3N0ciAiQXJndW1lbiBrZSAuQkxPQ0svLkJMT0NLWiBoYXJ1cyBkaWFudGFyYSAwIGRhbiAweDNmZmZmZmZmIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjU4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCAuQ0FMTCBhcmd1bWVudDogJXMiCittc2dzdHIgIkFyZ3VtZW4gLkNBTEwgdGlkYWsgdmFsaWQ6ICVzIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjYwMTEKK21zZ2lkICIuY2FsbGluZm8gaXMgbm90IHdpdGhpbiBhIHByb2NlZHVyZSBkZWZpbml0aW9uIgorbXNnc3RyICIuY2FsbGluZm8gdGlkYWsgZGFsYW0gc2VidWFoIGRlZmluaXNpIHByb3NlZHVyIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjYwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlJBTUUgcGFyYW1ldGVyIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA4OiAlZFxuIgorbXNnc3RyICJwYXJhbWV0ZXIgRlJBTUUgaGFydXMga2VsaXBhdGFuIGRhcmkgODogJWRcbiIKKworIzogY29uZmlnL3RjLWhwcGEuYzo2MDUwCittc2dpZCAiVmFsdWUgZm9yIEVOVFJZX0dSIG11c3QgYmUgaW4gdGhlIHJhbmdlIDMuLjE4XG4iCittc2dzdHIgIk5pbGFpIHVudHVrIEVOVFJZX0dSIGhhcnVzIGJlcmFkYSBkYWxhbSBqYW5na2F1YW4gMy4uMThcbiIKKworIzogY29uZmlnL3RjLWhwcGEuYzo2MDYyCittc2dpZCAiVmFsdWUgZm9yIEVOVFJZX0ZSIG11c3QgYmUgaW4gdGhlIHJhbmdlIDEyLi4yMVxuIgorbXNnc3RyICJOaWxhaSB1bnR1ayBFTlRSWV9GUiBoYXJ1cyBiZXJhZGEgZGFsYW0gamFuZ2thdWFuIDEyLi4yMVxuIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjYwNzIKK21zZ2lkICJWYWx1ZSBmb3IgRU5UUllfU1IgbXVzdCBiZSAzXG4iCittc2dzdHIgIk5pbGFpIHVudHVrIEVOVFJZX1NSIGhhcnVzIGJlcnVwYSAzXG4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIC5DQUxMSU5GTyBhcmd1bWVudDogJXMiCittc2dzdHIgImFyZ3VtZW4gLkNBTExJTkZPIHRpZGFrIHZhbGlkOiAlcyIKKworIzogY29uZmlnL3RjLWhwcGEuYzo2MjM4Cittc2dpZCAiVGhlIC5FTlRFUiBwc2V1ZG8tb3AgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiUHNldWRvLW9wIC5FTlRFUiB0aWRhayBkaWR1a3VuZyIKKworIzogY29uZmlnL3RjLWhwcGEuYzo2MjU0Cittc2dpZCAiTWlzcGxhY2VkIC5lbnRyeS4gSWdub3JlZC4iCittc2dzdHIgIlNhbGFoIHRlbXBhdCAuZW50cnkuIERpYWJhaWthbi4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NjI1OAorbXNnaWQgIk1pc3NpbmcgLmNhbGxpbmZvLiIKK21zZ3N0ciAiSGlsYW5nIC5jYWxsaW5mby4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NjMyMgorbXNnaWQgIi5SRUcgZXhwcmVzc2lvbiBtdXN0IGJlIGEgcmVnaXN0ZXIiCittc2dzdHIgImVrcHJlc2kgLlJFRyBoYXJ1cyBiZXJ1cGEgc2VidWFoIHJlZ2lzdGVyIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjYzMzgKK21zZ2lkICJiYWQgb3IgaXJyZWR1Y2libGUgYWJzb2x1dGUgZXhwcmVzc2lvbjsgemVybyBhc3N1bWVkIgorbXNnc3RyICJidXJ1ayBhdGF1IHRpZGFrIHRlcmVkdWtzaSBla3NwcmVzaSBhYnNvbHV0OiBub2wgZGlhc3Vtc2lrYW4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NjM0OQorbXNnaWQgIi5SRUcgbXVzdCB1c2UgYSBsYWJlbCIKK21zZ3N0ciAiLlJFRyBoYXJ1cyBtZW5nZ3VuYWthbiBzZWJ1YWggbGFiZWwiCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NjM1MQorbXNnaWQgIi5FUVUgbXVzdCB1c2UgYSBsYWJlbCIKK21zZ3N0ciAiLkVRVSBoYXJ1cyBtZW5nZ3VuYWthbiBzZWJ1YWggbGFiZWwiCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NjQxMworIywgYy1mb3JtYXQKK21zZ2lkICJTeW1ib2wgJyVzJyBjb3VsZCBub3QgYmUgY3JlYXRlZC4iCittc2dzdHIgIlNpbWJvbCAnJXMnIHRpZGFrIGRhcGF0IGRpYnVhdC4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NjQxNworbXNnaWQgIk5vIG1lbW9yeSBmb3Igc3ltYm9sIG5hbWUuIgorbXNnc3RyICJUaWRhayBhZGEgbWVtb3JpIHVudHVrIG5hbWEgc2ltYm9sLiIKKworIzogY29uZmlnL3RjLWhwcGEuYzo2NDY2Cittc2dpZCAiLkVYSVQgbXVzdCBhcHBlYXIgd2l0aGluIGEgcHJvY2VkdXJlIgorbXNnc3RyICIuRVhJVCBoYXJ1cyB0YW1waWwgZGFsYW0gc2VidWFoIHByb3NlZHVyIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjY0NzAKK21zZ2lkICJNaXNzaW5nIC5jYWxsaW5mbyIKK21zZ3N0ciAiSGlsYW5nIC5jYWxsaW5mbyIKKworIzogY29uZmlnL3RjLWhwcGEuYzo2NDc0Cittc2dpZCAiTm8gLkVOVFJZIGZvciB0aGlzIC5FWElUIgorbXNnc3RyICJUaWRhayBhZGEgLkVOVFJZIHVudHVrIC5FWElUIGluaSIKKworIzogY29uZmlnL3RjLWhwcGEuYzo2NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIEVOVFJZIHJhdGhlciB0aGFuIENPREUgaW4gZXhwb3J0IGRpcmVjdGl2ZSBmb3IgJXMiCittc2dzdHIgIk1lbmdndW5ha2FuIEVOVFJZIGRhcmlwYWRhIENPREUgZGFsYW0gZGlyZWt0aWYgZWtzcG9yIHVudHVrICVzIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjY2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5kZWZpbmVkIC5FWFBPUlQvLklNUE9SVCBhcmd1bWVudCAoaWdub3JlZCk6ICVzIgorbXNnc3RyICJUaWRhayB0ZXJkZWZpbmlzaSAuRUtTUE9SLy5JTVBPUiBhcmd1bWVuIChkaWFiYWlrYW4pOiAlcyIKKworIzogY29uZmlnL3RjLWhwcGEuYzo2NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBkZWZpbmUgZXhwb3J0IHN5bWJvbDogJXNcbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZGVmaW5pc2kgc2ltYm9sIGVrc3BvcjogJXNcbiIKKworIzogY29uZmlnL3RjLWhwcGEuYzo2NzUyCittc2dpZCAiTWlzc2luZyBsYWJlbCBuYW1lIG9uIC5MQUJFTCIKK21zZ3N0ciAiSGlsYW5nIG5hbWEgbGFiZWwgZGkgLkxBQkVMIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjY3NTcKK21zZ2lkICJleHRyYSAuTEFCRUwgYXJndW1lbnRzIGlnbm9yZWQuIgorbXNnc3RyICJrZWxlYmloYW4gYXJndW1lbiAuTEFCRUwgZGlhYmFpa2FuLiIKKworIzogY29uZmlnL3RjLWhwcGEuYzo2NzczCittc2dpZCAiVGhlIC5MRUFWRSBwc2V1ZG8tb3AgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAicHNldWRvIC5MRUFWRSB0aWRhayBkaWR1a3VuZyIKKworIzogY29uZmlnL3RjLWhwcGEuYzo2ODExCittc2dpZCAiVW5yZWNvZ25pemVkIC5MRVZFTCBhcmd1bWVudFxuIgorbXNnc3RyICJBcmd1bWVuIC5MRVZFTCB0aWRhayBkaWtlbmFsXG4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6Njg0NQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZGVmaW5lIHN0YXRpYyBzeW1ib2w6ICVzXG4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmRlZmluaXNpa2FuIHNpbWJvbCBzdGF0aXM6ICVzXG4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6Njg3OQorbXNnaWQgIk5lc3RlZCBwcm9jZWR1cmVzIgorbXNnc3RyICJQcm9zZWR1ciBuZXN0ZWQiCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6Njg4OQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSB1bndpbmQgZGVzY3JpcHRvclxuIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiBkZXNrcmlwc2kgdW53aW5kXG4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6Njk4NworbXNnaWQgIm1pc3BsYWNlZCAucHJvY2VuZCIKK21zZ3N0ciAic2FsYWggdGVtcGF0IC5wcm9jZW5kIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjY5OTAKK21zZ2lkICJNaXNzaW5nIC5jYWxsaW5mbyBmb3IgdGhpcyBwcm9jZWR1cmUiCittc2dzdHIgIkhpbGFuZyAuY2FsbGluZm8gdW50dWsgcHJvc2VkdXIgaW5pIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjY5OTMKK21zZ2lkICJNaXNzaW5nIC5FWElUIGZvciBhIC5FTlRSWSIKK21zZ3N0ciAiSGlsYW5nIC5FWElUIHVudHVrIHNlYnVhaCAuRU5UUlkiCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NzAzMAorbXNnaWQgIk5vdCBpbiBhIHNwYWNlLlxuIgorbXNnc3RyICJUaWRhayBkYWxhbSBzZWJ1YWggc3BhY2UuXG4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NzAzMworbXNnaWQgIk5vdCBpbiBhIHN1YnNwYWNlLlxuIgorbXNnc3RyICJUaWRhayBkYXBhbCBzZWJ1YWggc3Vic3BhY2UuXG4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NzEyMgorbXNnaWQgIkludmFsaWQgLlNQQUNFIGFyZ3VtZW50IgorbXNnc3RyICJBcmd1bWVuIC5TUEFDRSB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWhwcGEuYzo3MTY4Cittc2dpZCAiQ2FuJ3QgY2hhbmdlIHNwYWNlcyB3aXRoaW4gYSBwcm9jZWR1cmUgZGVmaW5pdGlvbi4gSWdub3JlZCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ3ViYWggcnVhbmcgZGFsYW0gc2VidWFoIGRlZmluaXNpIHByb3NlZHVyLiBEaWFiYWlrYW4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NzI5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmRlZmluZWQgc3BhY2U6ICclcycgQXNzdW1pbmcgc3BhY2UgbnVtYmVyID0gMC4iCittc2dzdHIgIlJ1YW5nOiAnJXMnIHRpZGFrIHRlcmRlZmluaXNpLiBNZW5nYXN1bXNpa2FuIG5vbW9yIHNwYXNpID0gMC4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NzMxOQorbXNnaWQgIk11c3QgYmUgaW4gYSBzcGFjZSBiZWZvcmUgY2hhbmdpbmcgb3IgZGVjbGFyaW5nIHN1YnNwYWNlcy5cbiIKK21zZ3N0ciAiSGFydXMgZGFsYW0gc2VidWFoIHNwYXNpIHNlYmVsdW0gbWVuZ3ViYWggYXRhdSBtZW5kZWtsYXJhc2lrYW4gc3Vic3BhY2UuXG4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NzMyMworbXNnaWQgIkNhbid0IGNoYW5nZSBzdWJzcGFjZXMgd2l0aGluIGEgcHJvY2VkdXJlIGRlZmluaXRpb24uIElnbm9yZWQiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmd1YmFoIHN1YnNwYWNlcyBkYWxhbSBzZWJ1YWggZGVmaW5pc2kgcHJvc2VkdXIuIERpYWJhaWthbiIKKworIzogY29uZmlnL3RjLWhwcGEuYzo3MzU5Cittc2dpZCAiUGFyYW1ldGVycyBvZiBhbiBleGlzdGluZyBzdWJzcGFjZSBjYW4ndCBiZSBtb2RpZmllZCIKK21zZ3N0ciAiUGFyYW1ldGVyIGRhcmkgc2VidWFoIHN1YnNwYWNlIHlhbmcgc3VkYWggYWRhIHRpZGFrIGRhcGF0IGRpbW9kaWZpa2FzaSIKKworIzogY29uZmlnL3RjLWhwcGEuYzo3NDExCittc2dpZCAiQWxpZ25tZW50IG11c3QgYmUgYSBwb3dlciBvZiAyIgorbXNnc3RyICJBbGlnbm1lbiBoYXJ1cyBrZWxpcGF0YW4gZGFyaSAyIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjc0NTgKK21zZ2lkICJGSVJTVCBub3Qgc3VwcG9ydGVkIGFzIGEgLlNVQlNQQUNFIGFyZ3VtZW50IgorbXNnc3RyICJGSVJTVCB0aWRhayBkaWR1a3VuZyBzZWJhZ2FpIHNlYnVhaCBhcmd1bWVuIC5TVUJTUEFDRSIKKworIzogY29uZmlnL3RjLWhwcGEuYzo3NDYwCittc2dpZCAiSW52YWxpZCAuU1VCU1BBQ0UgYXJndW1lbnQiCittc2dzdHIgIkFyZ3VtZW4gLlNVQlNQQUNFIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjc2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJuYWwgZXJyb3I6IFVuYWJsZSB0byBmaW5kIGNvbnRhaW5pbmcgc3BhY2UgZm9yICVzLiIKK21zZ3N0ciAiSW50ZXJuYWwgZXJyb3I6IFRpZGFrIGRhcGF0IG1lbmVtdWthbiBydWFuZyB5YW5nIGJlcmlzaSAlcy4iCisKKyM6IGNvbmZpZy90Yy1ocHBhLmM6NzY4NworIywgYy1mb3JtYXQKK21zZ2lkICJPdXQgb2YgbWVtb3J5OiBjb3VsZCBub3QgYWxsb2NhdGUgbmV3IHNwYWNlIGNoYWluIGVudHJ5OiAlc1xuIgorbXNnc3RyICJLZWhhYmlzYW4gbWVtb3JpOiB0aWRhayBkYXBhdCBtZW5nYWxva2FzaSByYW50YWkgbWFzdWthbiBydWFuZyBiYXJ1OiAlc1xuIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjc3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3V0IG9mIG1lbW9yeTogY291bGQgbm90IGFsbG9jYXRlIG5ldyBzdWJzcGFjZSBjaGFpbiBlbnRyeTogJXNcbiIKK21zZ3N0ciAiS2VoYWJpc2FuIG1lbW9yaTogdGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gcmFudGFpIG1hc3VrYW4gc3Vic3BhY2UgYmFydTogJXNcbiIKKworIzogY29uZmlnL3RjLWhwcGEuYzo4MjIwCittc2dpZCAiLVIgb3B0aW9uIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyB0YXJnZXQuIgorbXNnc3RyICItUiBvcHNpIHRpZGFrIGRpZHVrdW5nIGRpIHRhcmdldCBpbmkuIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjgyMzcgY29uZmlnL3RjLXNwYXJjLmM6ODExIGNvbmZpZy90Yy1zcGFyYy5jOjg0OAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcm5hbCBlcnJvcjogY2FuJ3QgaGFzaCBgJXMnOiAlc1xuIgorbXNnc3RyICJJbnRlcm5hbCBlcnJvcjogdGlkYWsgZGFwYXQgaGFzaCBgJXMnOiAlc1xuIgorCisjOiBjb25maWcvdGMtaHBwYS5jOjgyNDYgY29uZmlnL3RjLWk4NjAuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGxvc2luZyBvcGNvZGU6IGAlcycgXCIlc1wiXG4iCittc2dzdHIgImludGVybmFsIGVycm9yOiBrZWhpbGFuZ2FuIG9wa29kZTogYCVzJyBcIiVzXCJcbiIKKworIzogY29uZmlnL3RjLWkzODYuYzoxNzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHNob3J0ZW5lZCB0byAlcyIKK21zZ3N0ciAiJXMgZGlwZW5kZWthbiBrZSAlcyIKKworIzogY29uZmlnL3RjLWkzODYuYzoxODM0Cittc2dpZCAic2FtZSB0eXBlIG9mIHByZWZpeCB1c2VkIHR3aWNlIgorbXNnc3RyICJ0aXBlIHNhbWEgdW50dWsgcHJlZmlrIGRpZ3VuYWthbiBkdWEga2FsaSIKKworIzogY29uZmlnL3RjLWkzODYuYzoxODU1Cittc2dpZCAiNjRiaXQgbW9kZSBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgQ1BVLiIKK21zZ3N0ciAibW9kZSA2NCBiaXQgdGlkYWsgZGlkdWt1bmcgZGFsYW0gQ1BVIGluaS4iCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6MTg1OQorbXNnaWQgIjMyYml0IG1vZGUgbm90IHN1cHBvcnRlZCBvbiB0aGlzIENQVS4iCittc2dzdHIgIm1vZGUgMzIgYml0IHRpZGFrIGRpZHVrdW5nIGRhbGFtIENQVSBpbmkuIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjE4OTIKK21zZ2lkICJiYWQgYXJndW1lbnQgdG8gc3ludGF4IGRpcmVjdGl2ZS4iCittc2dzdHIgImFyZ3VtZW4gYnVydWsgdW50dWsgZGlyZWt0aWYgc2ludGFrcy4iCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6MTkzOQorbXNnaWQgImJhZCBhcmd1bWVudCB0byBzc2VfY2hlY2sgZGlyZWN0aXZlLiIKK21zZ3N0ciAiYXJndW1lbiBidXJ1ayBrZSBkaXJla3RpZiBzc2VfY2hlY2suIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjE5NDMKK21zZ2lkICJtaXNzaW5nIGFyZ3VtZW50IGZvciBzc2VfY2hlY2sgZGlyZWN0aXZlIgorbXNnc3RyICJoaWxhbmcgYXJndW1lbiB1bnR1ayBkaXJla3RpZiBzc2VfY2hlY2siCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6MjAxMQorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIGFyY2hpdGVjdHVyZTogYCVzJyIKK21zZ3N0ciAidGlkYWsgYWRhIGFyc2l0ZWt0dXIgc2VwZXJ0aSBpdHU6IGAlcyciCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6MjAxNgorbXNnaWQgIm1pc3NpbmcgY3B1IGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiaGlsYW5nIGFyc2l0ZWt0dXIgY3B1IgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjIwMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCBhcmNoaXRlY3R1cmUgbW9kaWZpZXI6IGAlcyciCittc2dzdHIgInRpZGFrIGFkYSBtb2RpZmllciBhcnNpdGVrdHVyIHNlcGVydGkgaXR1OiBgJXMnIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjIwNDYgY29uZmlnL3RjLWkzODYuYzo4MzU0IGNvbmZpZy90Yy1tYXhxLmM6MjIzCittc2dpZCAiVW5rbm93biBhcmNoaXRlY3R1cmUiCittc2dzdHIgIkFyc2l0ZWt0dXIgdGlkYWsgZGlrZXRhaHVpIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjIzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biByZWxvY2F0aW9uICgldSkiCittc2dzdHIgInJlbG9rYXNpICgldSkgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLWkzODYuYzoyMzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LWJ5dGUgcmVsb2NhdGlvbiBjYW5ub3QgYmUgYXBwbGllZCB0byAldS1ieXRlIGZpZWxkIgorbXNnc3RyICIldS1ieXRlIHJlbG9rYXNpIHRpZGFrIGRhcGF0IGRpYXBsaWthc2lrYW4ga2UgZmllbGQgJXUtYnl0ZSIKKworIzogY29uZmlnL3RjLWkzODYuYzoyNDAwCittc2dpZCAibm9uLXBjLXJlbGF0aXZlIHJlbG9jYXRpb24gZm9yIHBjLXJlbGF0aXZlIGZpZWxkIgorbXNnc3RyICJub24tcGMtcmVsYXRpdmUgcmVsb2thc2kgdW50dWsgZmllbGQgcGMtcmVsYXRpdmUiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6MjQwNQorbXNnaWQgInJlbG9jYXRlZCBmaWVsZCBhbmQgcmVsb2NhdGlvbiB0eXBlIGRpZmZlciBpbiBzaWduZWRuZXNzIgorbXNnc3RyICJmaWVsZCByZWxva2FzaSBkYW4gdGlwZSByZWxva2FzaSBiZXJiZWRhIGRhbGFtIHNpZ25lZG5lc3MiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6MjQxNAorbXNnaWQgInRoZXJlIGFyZSBubyB1bnNpZ25lZCBwYy1yZWxhdGl2ZSByZWxvY2F0aW9ucyIKK21zZ3N0ciAidGlkYWsgYWRhIHJlbG9rYXNpIHVuc2lnbmVkIHBjLXJlbGF0aXZlIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjI0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRvICV1IGJ5dGUgcGMtcmVsYXRpdmUgcmVsb2NhdGlvbiIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVsYWt1a2FuICV1IGJ5dGUgcGMtcmVsYXRpdmUgcmVsb2thc2kiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6MjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZG8gJXMgJXUgYnl0ZSByZWxvY2F0aW9uIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZWxha3VrYW4gcmVsb2thc2kgJXMgJXUgYnl0ZSIKKworIzogY29uZmlnL3RjLWkzODYuYzoyNjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHVzZSByZWdpc3RlciAnJXMlcycgYXMgb3BlcmFuZCAlZCBpbiAnJXMnLiIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ2d1bmFrYW4gcmVnaXN0ZXIgJyVzJXMnIHNlYmFnYWkgb3BlcmFuICVkIGRhbGFtICclcycuIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjI3ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU1NFIGluc3RydWN0aW9uIGAlcycgaXMgdXNlZCIKK21zZ3N0ciAiaW5zdHJ1a3NpIFNTRSBgJXMnIGRpZ3VuYWthbiIKKworIzogY29uZmlnL3RjLWkzODYuYzoyNzk1IGNvbmZpZy90Yy1pMzg2LmM6NDExMworIywgYy1mb3JtYXQKK21zZ2lkICJhbWJpZ3VvdXMgb3BlcmFuZCBzaXplIGZvciBgJXMnIgorbXNnc3RyICJ1a3VyYW4gb3BlcmFuIGFtYmlndSB1bnR1ayBgJXMnIgorCisjLiBVbml4V2FyZSBmc3ViIG5vIGFyZ3MgaXMgYWxpYXMgZm9yIGZzdWJwLCBmYWRkIC0+IGZhZGRwLCBldGMuCisjOiBjb25maWcvdGMtaTM4Ni5jOjI4NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJhbnNsYXRpbmcgdG8gYCVzcCciCittc2dzdHIgIm1lbmVyamVtYWhrYW4ga2UgYCVzcCciCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6Mjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBlbmNvZGUgcmVnaXN0ZXIgJyVzJXMnIGluIGFuIGluc3RydWN0aW9uIHJlcXVpcmluZyBSRVggcHJlZml4LiIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ2Vua29kZSByZWdpc3RlciAnJXMlcycgZGFsYW0gc2VidWFoIGluc3RydWtzaSB5YW5nIG1lbWJ1dHVoa2FuIGF3YWxhbiBSRVguIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjI5NDIgY29uZmlnL3RjLWkzODYuYzozMDUwIGNvbmZpZy90Yy1tYXhxLmM6ODAwCisjOiBjb25maWcvdGMtbWF4cS5jOjgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIGluc3RydWN0aW9uOiBgJXMnIgorbXNnc3RyICJ0aWRhayBhZGEgaW5zdHJ1a3NpIHNlcGVydGkgaXR1OiBgJXMnIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjI5NTMgY29uZmlnL3RjLWkzODYuYzozMDgzIGNvbmZpZy90Yy1tYXhxLmM6ODA4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVzIGluIG1uZW1vbmljIgorbXNnc3RyICJrYXJha3RlciAlcyBkYWxhbSBtbmVtb25pYyB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWkzODYuYzoyOTYwCittc2dpZCAiZXhwZWN0aW5nIHByZWZpeDsgZ290IG5vdGhpbmciCittc2dzdHIgIm1lbmR1Z2EgYXdhbGFuOyB0aWRhayBkaXBlcm9sZWggYXBhcHVuIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjI5NjIKK21zZ2lkICJleHBlY3RpbmcgbW5lbW9uaWM7IGdvdCBub3RoaW5nIgorbXNnc3RyICJtZW5kdWdhIG1uZW1vbmljOiB0aWRhayBkaXBlcm9sZWggYXBhcHVuIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjI5NzcgY29uZmlnL3RjLWkzODYuYzozMTAxCisjLCBjLWZvcm1hdAorbXNnaWQgImAlcycgaXMgb25seSBzdXBwb3J0ZWQgaW4gNjQtYml0IG1vZGUiCittc2dzdHIgImAlcycgaGFueWEgZGlkdWt1bmcgZGFsYW0gbW9kZSA2NCBiaXQiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6Mjk3OCBjb25maWcvdGMtaTM4Ni5jOjMxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJyBpcyBub3Qgc3VwcG9ydGVkIGluIDY0LWJpdCBtb2RlIgorbXNnc3RyICJgJXMnIHRpZGFrIGRpZHVrdW5nIGRhbGFtIG1vZGUgNjQgYml0IgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjI5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVkdW5kYW50ICVzIHByZWZpeCIKK21zZ3N0ciAiYXdhbGFuICVzIHJlZHVuZGFuIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjMxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJyBpcyBub3Qgc3VwcG9ydGVkIG9uIGAlcyVzJyIKK21zZ3N0ciAiYCVzJyB0aWRhayBkaWR1a3VuZyBkYWxhbSBgJXMlcyciCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6MzExNworbXNnaWQgInVzZSAuY29kZTE2IHRvIGVuc3VyZSBjb3JyZWN0IGFkZHJlc3NpbmcgbW9kZSIKK21zZ3N0ciAibWVuZ2d1bmFrYW4gLmNvZGUxNiB1bnR1ayBtZW1hc3Rpa2FuIG1vZGUgcGVuZ2FsYW1hdGFuIGJlbmFyIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjMxMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0aW5nIHN0cmluZyBpbnN0cnVjdGlvbiBhZnRlciBgJXMnIgorbXNnc3RyICJtZW5kdWdhIGluc3RydWtzaSBzdHJpbmcgc2VzdWRhaCBgJXMnIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjMxNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJXMgYmVmb3JlIG9wZXJhbmQgJWQiCittc2dzdHIgImthcmFrdGVyICVzIHRpZGFrIHZhbGlkIHNlYmVsdW0gb3BlcmFuICVkIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjMxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5iYWxhbmNlZCBwYXJlbnRoZXNpcyBpbiBvcGVyYW5kICVkLiIKK21zZ3N0ciAicGFyYW50aGVzaXMgZGFsYW0gb3BlcmFuICVkIHRpZGFrIHNlaW1iYW5nLiIKKworIzogY29uZmlnL3RjLWkzODYuYzozMTc5IGNvbmZpZy90Yy1tYXhxLmM6MTg1MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmJhbGFuY2VkIGJyYWNrZXRzIGluIG9wZXJhbmQgJWQuIgorbXNnc3RyICJicmFja2V0IGRhbGFtIG9wZXJhbiAlZCB0aWRhayBzZWltYmFuZy4iCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6MzE4OAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlcyBpbiBvcGVyYW5kICVkIgorbXNnc3RyICJrYXJha3RlciAlcyBkYWxhbSBvcGVyYW4gJWQgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6MzIxNiBjb25maWcvdGMtbWF4cS5jOjE4NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3B1cmlvdXMgb3BlcmFuZHM7ICglZCBvcGVyYW5kcy9pbnN0cnVjdGlvbiBtYXgpIgorbXNnc3RyICJzcHVyaW91cyBvcGVyYW46ICglZCBvcGVyYW4vaW5zdHJ1a3NpIG1ha3MpIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjMyMzkgY29uZmlnL3RjLW1heHEuYzoxODk2Cittc2dpZCAiZXhwZWN0aW5nIG9wZXJhbmQgYWZ0ZXIgJywnOyBnb3Qgbm90aGluZyIKK21zZ3N0ciAibWVuZHVnYSBvcGVyYW4gc2VzdWRhaCAnLCc7IHRpZGFrIGRpcGVyb2xlaCBhcGEgYXBhIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjMyNDQKK21zZ2lkICJleHBlY3Rpbmcgb3BlcmFuZCBiZWZvcmUgJywnOyBnb3Qgbm90aGluZyIKK21zZ3N0ciAibWVuZHVnYSBvcGVyYW4gc2ViZWx1bSAnLCc7IHRpZGFrIGRpcGVyb2xlaCBhcGEgYXBhIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjM4NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYW1iaWd1b3VzIG9wZXJhbmQgc2l6ZSBvciBvcGVyYW5kcyBpbnZhbGlkIGZvciBgJXMnIgorbXNnc3RyICJ1a3VyYW4gb3BlcmFuIGFtYmlndSB1bnR1ayBvcGVyYW4gdGlkYWsgdmFsaWQgdW50dWsgYCVzJyIKKworIzogY29uZmlnL3RjLWkzODYuYzozODU2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1ZmZpeCBvciBvcGVyYW5kcyBpbnZhbGlkIGZvciBgJXMnIgorbXNnc3RyICJha2hpcmFuIGF0YXUgb3BlcmFuIHRpZGFrIHZhbGlkIHVudHVrIGAlcyciCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6Mzg2NworIywgYy1mb3JtYXQKK21zZ2lkICJpbmRpcmVjdCAlcyB3aXRob3V0IGAqJyIKK21zZ3N0ciAiaW5kaXJlayAlcyB0YW5wYSBgKiciCisKKyMuIFdhcm4gdGhlbSB0aGF0IGEgZGF0YSBvciBhZGRyZXNzIHNpemUgcHJlZml4IGRvZXNuJ3QKKyMuIGFmZmVjdCBhc3NlbWJseSBvZiB0aGUgbmV4dCBsaW5lIG9mIGNvZGUuCisjOiBjb25maWcvdGMtaTM4Ni5jOjM4NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RhbmQtYWxvbmUgYCVzJyBwcmVmaXgiCittc2dzdHIgImF3YWxhbiBgJXMnIHN0YW5kLWFsb25lIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjM5MDkgY29uZmlnL3RjLWkzODYuYzozOTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcycgb3BlcmFuZCAlZCBtdXN0IHVzZSBgJXNlcycgc2VnbWVudCIKK21zZ3N0ciAiYCVzJyBvcGVyYW4gJWQgaGFydXMgbWVuZ2d1bmFrYW4gc2VnbWVuIGAlc2VzJyIKKworIy4gV2UgaGF2ZSB0byBrbm93IHRoZSBvcGVyYW5kIHNpemUgZm9yIGNyYzMyLgorIzogY29uZmlnL3RjLWkzODYuYzozOTc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFtYmlndW91cyBtZW1vcnkgb3BlcmFuZCBzaXplIGZvciBgJXNgIgorbXNnc3RyICJ1a3VyYW4gbWVtb3JpIG9wZXJhbiBhbWJpZ3UgdW50dWsgYCVzYCIKKworIzogY29uZmlnL3RjLWkzODYuYzo0MDg2Cittc2dpZCAibm8gaW5zdHJ1Y3Rpb24gbW5lbW9uaWMgc3VmZml4IGdpdmVuIGFuZCBubyByZWdpc3RlciBvcGVyYW5kczsgY2FuJ3Qgc2l6ZSBpbnN0cnVjdGlvbiIKK21zZ3N0ciAidGlkYWsgYWRhIGluc3RydWtzaSBtbmVtb25pYyB1bnR1ayBha2hpcmFuIHlhbmcgZGliZXJpa2FuIGRhbiB0aWRhayBhZGEgb3BlcmFuIHJlZ2lzdGVyO3RpZGFrIGRhcGF0IG1lbmd1YmFoIHVrdXJhbiBpbnN0cnVrc2kiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NDIyNyBjb25maWcvdGMtaTM4Ni5jOjQzMDIgY29uZmlnL3RjLWkzODYuYzo0MzMxCisjOiBjb25maWcvdGMtaTM4Ni5jOjQzNzcgY29uZmlnL3RjLWkzODYuYzo0NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIkluY29ycmVjdCByZWdpc3RlciBgJXMlcycgdXNlZCB3aXRoIGAlYycgc3VmZml4IgorbXNnc3RyICJSZWdpc3RlciBgJXMlcycgdGlkYWsgYmVuYXIgZGlndW5ha2FuIGRlbmdhbiBha2hpcmFuIGAlYyciCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NDIzNSBjb25maWcvdGMtaTM4Ni5jOjQzMDkgY29uZmlnL3RjLWkzODYuYzo0NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGAlcyVzJyBpbnN0ZWFkIG9mIGAlcyVzJyBkdWUgdG8gYCVjJyBzdWZmaXgiCittc2dzdHIgIm1lbmdndW5ha2FuIGAlcyVzJyBkYXJpcGFkYSBgJXMlcycga2FyZW5hIGFraGlyYW4gYCVjJyIKKworIzogY29uZmlnL3RjLWkzODYuYzo0MjYxIGNvbmZpZy90Yy1pMzg2LmM6NDI4NSBjb25maWcvdGMtaTM4Ni5jOjQzNTMKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NDM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJgJXMlcycgbm90IGFsbG93ZWQgd2l0aCBgJXMlYyciCittc2dzdHIgImAlcyVzJyB0aWRhayBkaXBlcmJvbGVoa2FuIGRlbmdhbiBgJXMlYyciCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NDQ4OQorbXNnaWQgIm5vIGluc3RydWN0aW9uIG1uZW1vbmljIHN1ZmZpeCBnaXZlbjsgY2FuJ3QgZGV0ZXJtaW5lIGltbWVkaWF0ZSBzaXplIgorbXNnc3RyICJ0aWRhayBhZGEgYWtoaXJhbiBpbnN0cnVrc2kgbW5lbW9uaWMgeWFuZyBkaWJlcmlrYW47IHRpZGFrIGRhcGF0IG1lbmVudHVrYW4gdWt1cmFuIGxhbmdzdW5nIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjQ2NzkgY29uZmlnL3RjLWkzODYuYzo0NzE0IGNvbmZpZy90Yy1pMzg2LmM6NDc4MworIzogY29uZmlnL3RjLWkzODYuYzo0ODM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkluY29ycmVjdCBvcGVyYW5kcyBmb3IgdGhlICclcycgaW5zdHJ1Y3Rpb24iCittc2dzdHIgIk9wZXJhbiB0aWRhayBiZW5hciB1bnR1ayBpbnN0cnVrc2kgJyVzJyIKKworIzogY29uZmlnL3RjLWkzODYuYzo0ODQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVybmFsIGVycm9yIGZvciB0aGUgJyVzJyBpbnN0cnVjdGlvbiIKK21zZ3N0ciAiSW50ZXJuYWwgZXJyb3IgdW50dWsgaW5zdHJ1a3NpICclcyciCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NDg0OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGFzdCBvcGVyYW5kIG9mIGAlcycgbXVzdCBiZSBgJXMlcyciCittc2dzdHIgIm9wZXJhbiB0ZXJha2hpciBkYXJpIGAlcycgaGFydXMgYCVzJXMnIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjQ4NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGZpcnN0IG9wZXJhbmQgb2YgYCVzJyBtdXN0IGJlIGAlcyVzJyIKK21zZ3N0ciAib3BlcmFuIHBlcnRhbWEgZGFyaSBgJXMnIGhhcnVzIGAlcyVzJyIKKworIzogY29uZmlnL3RjLWkzODYuYzo1MDA3CisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSBjYW4ndCBgcG9wICVzY3MnIgorbXNnc3RyICJhbmRhIHRpZGFrIGRhcGF0IGBwb3AgJXNjcyciCisKKyMuIFJldmVyc2VkIGFyZ3VtZW50cyBvbiBmYWRkcCwgZnN1YnAsIGV0Yy4KKyM6IGNvbmZpZy90Yy1pMzg2LmM6NTAzNgorIywgYy1mb3JtYXQKK21zZ2lkICJ0cmFuc2xhdGluZyB0byBgJXMgJXMlcywlcyVzJyIKK21zZ3N0ciAibWVuZXJqZW1haGthbiBrZSBgJXMgJXMlcywlcyVzJyIKKworIy4gRXh0cmFuZW91cyBgbCcgc3VmZml4IG9uIGZwIGluc24uCisjOiBjb25maWcvdGMtaTM4Ni5jOjUwNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJhbnNsYXRpbmcgdG8gYCVzICVzJXMnIgorbXNnc3RyICJtZW5lcmplbWFoa2FuIGtlIGAlcyAlcyVzJyIKKworIzogY29uZmlnL3RjLWkzODYuYzo1MDcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlZ21lbnQgb3ZlcnJpZGUgb24gYCVzJyBpcyBpbmVmZmVjdHVhbCIKK21zZ3N0ciAic2VnbWVuIG92ZXJyaWRlIGRpIGAlcycgYWRhbGFoIHRpZGFrIGVmZWt0aWYiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NTcyNyBjb25maWcvdGMtaTM4Ni5jOjU4MjEgY29uZmlnL3RjLWkzODYuYzo1ODY2Cittc2dpZCAic2tpcHBpbmcgcHJlZml4ZXMgb24gdGhpcyBpbnN0cnVjdGlvbiIKK21zZ3N0ciAibWVsZXdhdGthbiBwcmVmaXggZGkgaW5zdHJ1a3NpIGluaSIKKworIzogY29uZmlnL3RjLWkzODYuYzo1ODg2Cittc2dpZCAiMTYtYml0IGp1bXAgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJsb21wYXQgMTYtYml0IGRpbHVhciBkYXJpIGphbmdrYXVhbiIKKworIzogY29uZmlnL3RjLWkzODYuYzo1ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGhhbmRsZSBub24gYWJzb2x1dGUgc2VnbWVudCBpbiBgJXMnIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5hbmdhbmkgc2VnbWVuIHRpZGFrIGFic29sdXQgZGFsYW0gYCVzJyIKKworIzogY29uZmlnL3RjLWkzODYuYzo2NDk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkAlcyByZWxvYyBpcyBub3Qgc3VwcG9ydGVkIHdpdGggJWQtYml0IG91dHB1dCBmb3JtYXQiCittc2dzdHIgIkAlcyByZWxva2FzaSB0aWRhayBkaWR1a3VuZyBkZW5nYW4gZm9ybWF0IGtlbHVhcmFuICVkLWJpdCIKKworIzogY29uZmlnL3RjLWkzODYuYzo2NTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3Npbmcgb3IgaW52YWxpZCBleHByZXNzaW9uIGAlcyciCittc2dzdHIgImVrc3ByZXNpIGAlcycgaGlsYW5nIGF0YXUgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NjU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJhdCBtb3N0ICVkIGltbWVkaWF0ZSBvcGVyYW5kcyBhcmUgYWxsb3dlZCIKK21zZ3N0ciAiaGFtcGlyIHNlbHVydWggb3BlcmFuICVkIGxhbmdzdW5nIGRpcGVyYm9sZWhrYW4iCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NjYxNyBjb25maWcvdGMtaTM4Ni5jOjY4NTUgY29uZmlnL3RjLW1heHEuYzoxNDYyCisjLCBjLWZvcm1hdAorbXNnaWQgImp1bmsgYCVzJyBhZnRlciBleHByZXNzaW9uIgorbXNnc3RyICJzYW1wYWggYCVzJyBzZXN1ZGFoIHBlcm55YXRhYW4iCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NjYzMAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIG9yIGludmFsaWQgaW1tZWRpYXRlIGV4cHJlc3Npb24gYCVzJyIKK21zZ3N0ciAiaGlsYW5nIGF0YXUgdGlkYWsgdmFsaWQgcGVybnlhdGFhbiBsYW5nc3VuZyBgJXMnIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjY2NTMgY29uZmlnL3RjLWkzODYuYzo2OTEwIGNvbmZpZy90Yy1tYXhxLmM6MTQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmltcGxlbWVudGVkIHNlZ21lbnQgJXMgaW4gb3BlcmFuZCIKK21zZ3N0ciAidGlkYWsgdGVyaW1wbGVtZW50YXNpIHNlZ21lbiAlcyBkYWxhbSBvcGVyYW4iCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NjY1OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGltbWVkaWF0ZSByZWdpc3RlciBvcGVyYW5kICVzIgorbXNnc3RyICJyZWdpc3RlciBvcGVyYW4gJXMgbGFuZ3N1bmcgdGlkYWsgbGVnYWwiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NjcwNworIywgYy1mb3JtYXQKK21zZ2lkICJleHBlY3Rpbmcgc2NhbGUgZmFjdG9yIG9mIDEsIDIsIDQsIG9yIDg6IGdvdCBgJXMnIgorbXNnc3RyICJtZW5kdWdhIGZha3RvciBza2FsYSBkYXJpIDEsIDIsIDQsIGF0YXUgODogZGlwZXJvbGVoIGAlcyciCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NjcxNgorIywgYy1mb3JtYXQKK21zZ2lkICJzY2FsZSBmYWN0b3Igb2YgJWQgd2l0aG91dCBhbiBpbmRleCByZWdpc3RlciIKK21zZ3N0ciAiZmFrdG9yIHNrYWxhIGRhcmkgJWQgdGFucGEgc2VidWFoIHJlZ2lzdGVyIGluZGV4IgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjY3MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXQgbW9zdCAlZCBkaXNwbGFjZW1lbnQgb3BlcmFuZHMgYXJlIGFsbG93ZWQiCittc2dzdHIgImhhbXBpciBzZWx1cnVoIG9wZXJhbiAlZCBwZXJwaW5kYWhhbiBkaXBlcmJvbGVoa2FuIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjY4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyBvciBpbnZhbGlkIGRpc3BsYWNlbWVudCBleHByZXNzaW9uIGAlcyciCittc2dzdHIgImVrc3ByZXNpIGAlcycgcGVycGluZGFoYW4gaGlsYW5nIGF0YXUgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6Njk5OQorIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnIGlzIG5vdCB2YWxpZCBoZXJlIChleHBlY3RlZCBgJWMlcyVzJWMnKSIKK21zZ3N0ciAiJyVzJyB0aWRhayB2YWxpZCBkaXNpbmkgKGRpZHVnYSBgJWMlcyVzJWMnKSIKKworIzogY29uZmlnL3RjLWkzODYuYzo3MDc5CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcycgaXMgbm90IGEgdmFsaWQgJXMgZXhwcmVzc2lvbiIKK21zZ3N0ciAiYCVzJyBidWthbiBzZWJ1YWggZWtzcHJlc2kgJXMgeWFuZyB2YWxpZCIKKworIzogY29uZmlnL3RjLWkzODYuYzo3MDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcycgaXMgbm90IGEgdmFsaWQgJXMtYml0ICVzIGV4cHJlc3Npb24iCittc2dzdHIgImAlcycgYnVrYW5nIHNlYnVhaCBla3NwcmVzaSAlcyAlcy1iaXQgeWFuZyB2YWxpZCIKKworIzogY29uZmlnL3RjLWkzODYuYzo3MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBtZW1vcnkgb3BlcmFuZCBgJXMnIgorbXNnc3RyICJvcGVyYW4gYCVzJyBtZW1vcmkgYnVydWsiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NzE4MAorIywgYy1mb3JtYXQKK21zZ2lkICJqdW5rIGAlcycgYWZ0ZXIgcmVnaXN0ZXIiCittc2dzdHIgInNhbXBhaCBgJXMnIHNlc3VkYWggcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NzE5MyBjb25maWcvdGMtaTM4Ni5jOjczMDkgY29uZmlnL3RjLWkzODYuYzo3MzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByZWdpc3RlciBuYW1lIGAlcyciCittc2dzdHIgIm5hbWEgcmVnaXN0ZXIgYCVzJyBidXJ1ayIKKworIzogY29uZmlnL3RjLWkzODYuYzo3MjAxCittc2dpZCAiaW1tZWRpYXRlIG9wZXJhbmQgaWxsZWdhbCB3aXRoIGFic29sdXRlIGp1bXAiCittc2dzdHIgIm9wZXJhbiBsYW5nc3VuZyB0aWRhayBsZWdhbCBkZW5nYW4gbG9tcGF0IGFic29sdXQiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NzIyMworIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBtZW1vcnkgcmVmZXJlbmNlcyBmb3IgYCVzJyIKK21zZ3N0ciAidGVybGFsdSBiYW55YWsgcmVmZXJlbnNpIG1lbW9yaSB1bnR1ayBgJXMnIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjczMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0aW5nIGAsJyBvciBgKScgYWZ0ZXIgaW5kZXggcmVnaXN0ZXIgaW4gYCVzJyIKK21zZ3N0ciAibWVuZHVnYSBgLCcgYXRhdSBgKScgc2VzdWRhaCByZWdpc3RlciBpbmRla3MgZGFsYW0gYCVzJyIKKworIzogY29uZmlnL3RjLWkzODYuYzo3MzI2CisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGluZyBgKScgYWZ0ZXIgc2NhbGUgZmFjdG9yIGluIGAlcyciCittc2dzdHIgIm1lbmR1Z2EgYCknIHNlc3VkYWggZmFrdG9yIHNrYWxhIGRhbGFtIGAlcyciCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NzMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJleHBlY3RpbmcgaW5kZXggcmVnaXN0ZXIgb3Igc2NhbGUgZmFjdG9yIGFmdGVyIGAsJzsgZ290ICclYyciCittc2dzdHIgIm1lbmR1Z2EgaW5kZWtzIHJlZ2lzdGVyIGF0YXUgZmFrdG9yIHNrYWxhIHNlc3VkYWggYCwnOyBkaXBlcm9sZWggJyVjJyIKKworIzogY29uZmlnL3RjLWkzODYuYzo3MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGluZyBgLCcgb3IgYCknIGFmdGVyIGJhc2UgcmVnaXN0ZXIgaW4gYCVzJyIKK21zZ3N0ciAibWVuZHVnYSBgLCcgYXRhdSBgKScgc2VzdWRhaCByZWdpc3RlciBkYXNhciBkYWxhbSBgJXMnIgorCisjLiBJdCdzIG5vdCBhIG1lbW9yeSBvcGVyYW5kOyBhcmdoIQorIzogY29uZmlnL3RjLWkzODYuYzo3Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY2hhciAlcyBiZWdpbm5pbmcgb3BlcmFuZCAlZCBgJXMnIgorbXNnc3RyICJrYXJha3RlciAlcyB0aWRhayB2YWxpZCBkaWF3YWwgb3BlcmFuICVkIGAlcyciCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6NzU2MgorbXNnaWQgImxvbmcganVtcCByZXF1aXJlZCIKK21zZ3N0ciAibG9tcGF0IGphdWggZGlidXR1aGthbiIKKworIzogY29uZmlnL3RjLWkzODYuYzo3NjE3Cittc2dpZCAianVtcCB0YXJnZXQgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJ0YXJnZXQgbG9tcGF0IGRpbHVhciBkYXJpIGphbmdrYXVhbiIKKworIzogY29uZmlnL3RjLWkzODYuYzo4MDgzCittc2dpZCAiTm8gY29tcGlsZWQgaW4gc3VwcG9ydCBmb3IgeDg2XzY0IgorbXNnc3RyICJUaWRhayBkaWtvbXBpbGUgdW50dWsgbWVuZHVrdW5nIHg4Nl82NCIKKworIzogY29uZmlnL3RjLWkzODYuYzo4MTE1IGNvbmZpZy90Yy1pMzg2LmM6ODE2MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIC1tYXJjaD0gb3B0aW9uOiBgJXMnIgorbXNnc3RyICJPcHNpIC1tYXJjaD0gdGlkYWsgdmFsaWQ6IGAlcyciCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6ODE3MSBjb25maWcvdGMtaTM4Ni5jOjgxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCAtbXR1bmU9IG9wdGlvbjogYCVzJyIKK21zZ3N0ciAiT3BzaSAtbXR1bmU9IHRpZGFrIHZhbGlkOiBgJXMnIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjgxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCAtbW1uZW1vbmljPSBvcHRpb246IGAlcyciCittc2dzdHIgIk9wc2kgLW1tbmVtb25pYyB0aWRhayB2YWxpZDogYCVzJyIKKworIzogY29uZmlnL3RjLWkzODYuYzo4MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgLW1zeW50YXg9IG9wdGlvbjogYCVzJyIKK21zZ3N0ciAiT3BzaSAtbXN5bnRheD0gdGlkYWsgdmFsaWQ6IGAlcyciCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6ODIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIC1tc3NlLWNoZWNrPSBvcHRpb246IGAlcyciCittc2dzdHIgIk9wc2kgLW1zc2UtY2hlY2s9IHRpZGFrIHZhbGlkOiBgJXMnIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjgyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgLVEgICAgICAgICAgICAgICAgICAgICAgaWdub3JlZFxuIgorIiAgLVYgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgYXNzZW1ibGVyIHZlcnNpb24gbnVtYmVyXG4iCisiICAtayAgICAgICAgICAgICAgICAgICAgICBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyIgIC1RICAgICAgICAgICAgICAgICAgICAgIGRpYWJhaWthblxuIgorIiAgLVYgICAgICAgICAgICAgICAgICAgICAgbWVuYW1waWxrYW4gbm9tb3IgdmVyc2kgcGVyYWtpdFxuIgorIiAgLWsgICAgICAgICAgICAgICAgICAgICAgZGlhYmFpa2FuXG4iCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6ODI0NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAtbiAgICAgICAgICAgICAgICAgICAgICBEbyBub3Qgb3B0aW1pemUgY29kZSBhbGlnbm1lbnRcbiIKKyIgIC1xICAgICAgICAgICAgICAgICAgICAgIHF1aWV0ZW4gc29tZSB3YXJuaW5nc1xuIgorbXNnc3RyICIiCisiICAtbiAgICAgICAgICAgICAgICAgICAgICBKYW5nYW4gb3B0aW1hc2kga29kZSBhbGlnbm1lblxuIgorIiAgLXEgICAgICAgICAgICAgICAgICAgICAgaGlsYW5na2FuIGJlYmVyYXBhIHBlcmluZ2F0YW5cbiIKKworIzogY29uZmlnL3RjLWkzODYuYzo4MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLXMgICAgICAgICAgICAgICAgICAgICAgaWdub3JlZFxuIgorbXNnc3RyICIgIC1zICAgICAgICAgICAgICAgICAgICAgIGRpYWJhaWthblxuIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjgyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLTMyLy0tNjQgICAgICAgICAgICAgICBnZW5lcmF0ZSAzMmJpdC82NGJpdCBjb2RlXG4iCittc2dzdHIgIiAgLS0zMi8tLTY0ICAgICAgICAgICAgICAgbWVuZ2hhc2lsa2FuIGtvZGUgMzIgYml0LyA2NCBiaXRcbiIKKworIzogY29uZmlnL3RjLWkzODYuYzo4MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1kaXZpZGUgICAgICAgICAgICAgICAgZG8gbm90IHRyZWF0IGAvJyBhcyBhIGNvbW1lbnQgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAgLS1kaXZpZGUgICAgICAgICAgICAgICAgamFuZ2FuIHBlcmxha3VrYW4gJy8nIHNlYmFnYWkgc2VidWFoIGthcmFrdGVyIGtvbWVudGFyXG4iCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6ODI2MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tZGl2aWRlICAgICAgICAgICAgICAgIGlnbm9yZWRcbiIKK21zZ3N0ciAiICAtLWRpdmlkZSAgICAgICAgICAgICAgICBkaWFiYWlrYW5cbiIKKworIzogY29uZmlnL3RjLWkzODYuYzo4MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIC1tYXJjaD1DUFVbLCtFWFRFTlNJT04uLi5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZSBjb2RlIGZvciBDUFUgYW5kIEVYVEVOU0lPTiwgQ1BVIGlzIG9uZSBvZjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBpODA4NiwgaTE4NiwgaTI4NiwgaTM4NiwgaTQ4NiwgcGVudGl1bSwgcGVudGl1bXBybyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBwZW50aXVtaWksIHBlbnRpdW1paWksIHBlbnRpdW00LCBwcmVzY290dCwgbm9jb25hLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcmUsIGNvcmUyLCBrNiwgazZfMiwgYXRobG9uLCBrOCwgYW1kZmFtMTAsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJpYzMyLCBnZW5lcmljNjRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIEVYVEVOU0lPTiBpcyBjb21iaW5hdGlvbiBvZjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtbXgsIHNzZSwgc3NlMiwgc3NlMywgc3NzZTMsIHNzZTQuMSwgc3NlNC4yLCBzc2U0LFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2eCwgdm14LCBzbXgsIHhzYXZlLCBtb3ZiZSwgZXB0LCBhZXMsIHBjbG11bCwgZm1hLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDNkbm93LCAzZG5vd2EsIHNzZTRhLCBzc2U1LCBzdm1lLCBhYm0sIHBhZGxvY2tcbiIKK21zZ3N0ciAiIgorIiAgLW1hcmNoPUNQVVssK0VLU1RFTlNJT04uLi5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIG1lbmdoYXNpbGthbiBrb2RlIHVudHVrIENQVSBkYW4gRUtTVEVOU0ksIENQVSBhZGFsYWggc2F0dSBkYXJpOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGk4MDg2LCBpMTg2LCBpMjg2LCBpMzg2LCBpNDg2LCBwZW50aXVtLCBwZW50aXVtcHJvLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlbnRpdW1paSwgcGVudGl1bWlpaSwgcGVudGl1bTQsIHByZXNjb3R0LCBub2NvbmEsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29yZSwgY29yZTIsIGs2LCBrNl8yLCBhdGhsb24sIGs4LCBhbWRmYW0xMCxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmljMzIsIGdlbmVyaWM2NFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBFS1NURU5TSSBhZGFsYWgga29tYmluYXNpIGRhcmk6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW14LCBzc2UsIHNzZTIsIHNzZTMsIHNzc2UzLCBzc2U0LjEsIHNzZTQuMiwgc3NlNCxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBhdngsIHZteCwgc214LCB4c2F2ZSwgbW92YmUsIGVwdCwgYWVzLCBwY2xtdWwsIGZtYSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAzZG5vdywgM2Rub3dhLCBzc2U0YSwgc3NlNSwgc3ZtZSwgYWJtLCBwYWRsb2NrXG4iCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6ODI3NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAtbXR1bmU9Q1BVICAgICAgICAgICAgICBvcHRpbWl6ZSBmb3IgQ1BVLCBDUFUgaXMgb25lIG9mOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGk4MDg2LCBpMTg2LCBpMjg2LCBpMzg2LCBpNDg2LCBwZW50aXVtLCBwZW50aXVtcHJvLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlbnRpdW1paSwgcGVudGl1bWlpaSwgcGVudGl1bTQsIHByZXNjb3R0LCBub2NvbmEsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29yZSwgY29yZTIsIGs2LCBrNl8yLCBhdGhsb24sIGs4LCBhbWRmYW0xMCxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmljMzIsIGdlbmVyaWM2NFxuIgorbXNnc3RyICIiCisiICAtbXR1bmU9Q1BVICAgICAgICAgICAgICBvcHRpbWFzaSB1bnR1ayBDUFUsIENQVSBhZGFsYWggc2FsYWggc2F0dSBkYXJpOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGk4MDg2LCBpMTg2LCBpMjg2LCBpMzg2LCBpNDg2LCBwZW50aXVtLCBwZW50aXVtcHJvLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlbnRpdW1paSwgcGVudGl1bWlpaSwgcGVudGl1bTQsIHByZXNjb3R0LCBub2NvbmEsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29yZSwgY29yZTIsIGs2LCBrNl8yLCBhdGhsb24sIGs4LCBhbWRmYW0xMCxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmljMzIsIGdlbmVyaWM2NFxuIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjgyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtbXNzZTJhdnggICAgICAgICAgICAgICBlbmNvZGUgU1NFIGluc3RydWN0aW9ucyB3aXRoIFZFWCBwcmVmaXhcbiIKK21zZ3N0ciAiICAtbXNzZTJhdnggICAgICAgICAgICAgICBlbmtvZGUgaW5zdHJ1a3NpIFNTRSBkZW5nYW4gYXdhbGFuIFZFWFxuIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjgyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgLW1zc2UtY2hlY2s9W25vbmV8ZXJyb3J8d2FybmluZ11cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrIFNTRSBpbnN0cnVjdGlvbnNcbiIKK21zZ3N0ciAiIgorIiAgLW1zc2UtY2hlY2s9W25vbmV8ZXJyb3J8d2FybmluZ11cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmlrc2EgaW5zdHJ1a3NpIFNTRVxuIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjgyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtbW1uZW1vbmljPVthdHR8aW50ZWxdICB1c2UgQVQmVC9JbnRlbCBtbmVtb25pY1xuIgorbXNnc3RyICIgIC1tbW5lbW9uaWM9W2F0dHxpbnRlbF0gIGd1bmFrYW4gQVQmVC9JbnRlbCBtbmVtb25pY1xuIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjgyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtbXN5bnRheD1bYXR0fGludGVsXSAgICB1c2UgQVQmVC9JbnRlbCBzeW50YXhcbiIKK21zZ3N0ciAiICAtbXN5bnRheD1bYXR0fGludGVsXSAgICBndW5ha2FuIHN5bnRha3MgQVQmVC9JbnRlbFxuIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjgyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtbWluZGV4LXJlZyAgICAgICAgICAgICBzdXBwb3J0IHBzZXVkbyBpbmRleCByZWdpc3RlcnNcbiIKK21zZ3N0ciAiICAtbWluZGV4LXJlZyAgICAgICAgICAgICBkdWt1bmcgcHNldWRvIGluZGVrcyByZWdpc3RlclxuIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjgyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtbW5ha2VkLXJlZyAgICAgICAgICAgICBkb24ndCByZXF1aXJlIGAlJScgcHJlZml4IGZvciByZWdpc3RlcnNcbiIKK21zZ3N0ciAiICAtbW5ha2VkLXJlZyAgICAgICAgICAgICBqYW5nYW4gYnV0dWhrYW4gYCUlJyBwcmVmaXggdW50dWsgcmVnaXN0ZXJcbiIKKworIzogY29uZmlnL3RjLWkzODYuYzo4Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLW1vbGQtZ2NjICAgICAgICAgICAgICAgc3VwcG9ydCBvbGQgKDw9IDIuOC4xKSB2ZXJzaW9ucyBvZiBnY2NcbiIKK21zZ3N0ciAiICAtbW9sZC1nY2MgICAgICAgICAgICAgICBkdWt1bmcgdmVyaXMgZ2NjIGxhbWEgKDw9IDIuOC4xKVxuIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjg0NDMgY29uZmlnL3RjLXMzOTAuYzoxNzgyCittc2dpZCAiR09UIGFscmVhZHkgaW4gc3ltYm9sIHRhYmxlIgorbXNnc3RyICJHT1QgdGVsYWggYmVyYWRhIGRhbGFtIHRhYmVsIHNpbWJvbCIKKworIzogY29uZmlnL3RjLWkzODYuYzo4NTkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbiBub3QgZG8gJWQgYnl0ZSBwYy1yZWxhdGl2ZSByZWxvY2F0aW9uIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZWxha3VrYW4gJWQgYnl0ZSBwYy1yZWxhdGlmIHJlbG9rYXNpIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjg2MTAgY29uZmlnL3RjLW1heHEuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuIG5vdCBkbyAlZCBieXRlIHJlbG9jYXRpb24iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbGFrdWthbiAlZCBieXRlIHJlbG9rYXNpIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjg2ODkgY29uZmlnL3RjLW1heHEuYzoyNzQgY29uZmlnL3RjLXMzOTAuYzoyMjE5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZXByZXNlbnQgcmVsb2NhdGlvbiB0eXBlICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZXJlcHJlc2VudGFzaSB0aXBlIHJlbG9rYXNpICVzIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjg5NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBvcGVyYW5kIGZvciAnJXMnICgnJXMnIHVuZXhwZWN0ZWQpIgorbXNnc3RyICJvcGVyYW4gdGlkYWsgdmFsaWQgdW50dWsgJyVzJyAoZGlkdWdhICclcycpIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjg5NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgbWVtb3J5IHJlZmVyZW5jZXMgZm9yICclcyciCittc2dzdHIgInRlcmxhbHUgYmFueWFrIHJlZmVyZW5zaSBtZW1vcmkgdW50dWsgJyVzJyIKKworIy4gU2VlIHRoZSBjb21tZW50cyBpbiBpbnRlbF9icmFja2V0X2V4cHIuCisjOiBjb25maWcvdGMtaTM4Ni5jOjg5NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJlYXRpbmcgYCVzJyBhcyBtZW1vcnkgcmVmZXJlbmNlIgorbXNnc3RyICJNZW1wZXJsYWt1a2FuIGAlcycgc2ViYWdhaSByZWZlcmVuc2kgbWVtb3JpIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjkwMDkgY29uZmlnL3RjLWkzODYuYzo5NTY3Cittc2dpZCAiU2VnbWVudCBvdmVycmlkZSBpZ25vcmVkIgorbXNnc3RyICJNZW5nYWJhaWthbiBwZW1ha3NhYW4gc2VnbWVudGFzaSIKKworIzogY29uZmlnL3RjLWkzODYuYzo5MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gb3BlcmFuZCBtb2RpZmllciBgJXMnIgorbXNnc3RyICJQZW1vZGlmaWthc2kgb3BlcmFuICclcycgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLWkzODYuYzo5MzQ2Cittc2dpZCAiQ29uZmxpY3Rpbmcgb3BlcmFuZCBtb2RpZmllcnMiCittc2dzdHIgIktvbmZsaWsgcGVtb2RpZmlrYXNpIG9wZXJhbiIKKworIzogY29uZmlnL3RjLWkzODYuYzo5Mzk1Cittc2dpZCAiSW52YWxpZCBvcGVyYW5kIHRvIGBPRkZTRVQnIgorbXNnc3RyICJPcGVyYW4gdGlkYWsgdmFsaWQga2UgYE9GRlNFVCciCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6OTQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICJgWyUuKnNdJyB0YWtlbiB0byBtZWFuIGp1c3QgYCUuKnMnIgorbXNnc3RyICJgWyUuKnNdJyBkaWFtYmlsIHlhbmcgaGFueWEgYmVyYXJ0aSAnJS4qcyciCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6OTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnIGlzIG5vdCBhIHZhbGlkIHNlZ21lbnQgcmVnaXN0ZXIiCittc2dzdHIgImAlcycgYnVrYW4gc2VidWFoIHNlZ21lbnRhc2kgcmVnaXN0ZXIgeWFuZyB2YWxpZCIKKworIzogY29uZmlnL3RjLWkzODYuYzo5NTY5Cittc2dpZCAiRXh0cmEgc2VnbWVudCBvdmVycmlkZSBpZ25vcmVkIgorbXNnc3RyICJQZW1ha3NhYW4gc2VnbWVudGFzaSBsZWJpaCBkaWFiYWlrYW4iCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6OTYwMAorbXNnaWQgImNhbm5vdCB1c2UgYEZMQVQnIGhlcmUiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdndW5ha2FuIGBGTEFUJyBkaXNpbmkiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6OTYwOSBjb25maWcvdGMtaTM4Ni5jOjk3NzcKK21zZ2lkICJSZWdpc3RlciBzY2FsaW5nIG9ubHkgYWxsb3dlZCBpbiBtZW1vcnkgb3BlcmFuZHMiCittc2dzdHIgIlJlZ2lzdGVyIHNjYWxpbmcgaGFueWEgZGlwZXJib2xlaGthbiBkYWxhbSBvcGVyYW4gbWVtb3JpIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjk2MzEgY29uZmlnL3RjLWkzODYuYzo5NzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIlN5bnRheCBlcnJvcjogRXhwZWN0aW5nIGEgY29uc3RhbnQsIGdvdCBgJXMnIgorbXNnc3RyICJTaW50YWtzIGVycm9yOiBtZW5kdWdhIHNlYnVhaCBrb25zdGFudGEsIGRpcGVyb2xlaCBgJXMnIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjk2NTkKK21zZ2lkICJUb28gbWFueSByZWdpc3RlciByZWZlcmVuY2VzIGluIG1lbW9yeSBvcGVyYW5kIgorbXNnc3RyICJUZXJsYWx1IGJhbnlhayByZWZlcmVuc2kgcmVnaXN0ZXIgZGFsYW0gb3BlcmFuIG1lbW9yaSIKKworIzogY29uZmlnL3RjLWkzODYuYzo5Njc5Cittc2dpZCAiSW52YWxpZCB1c2Ugb2YgcmVnaXN0ZXIiCittc2dzdHIgIlBlbmdndW5hYW4gcmVnaXN0ZXIgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6OTgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnJlY29nbml6ZWQgdG9rZW4gJyVzJyIKK21zZ3N0ciAiVGFuZGEgJyVzJyB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjk4NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCB0b2tlbiBgJXMnIgorbXNnc3RyICJUYW5kYSBgJXMnIHRpZGFrIGRpZHVnYSIKKworIzogY29uZmlnL3RjLWkzODYuYzoxMDAyMgorIywgYy1mb3JtYXQKK21zZ2lkICJVbnJlY29nbml6ZWQgdG9rZW4gYCVzJyIKK21zZ3N0ciAiVGFuZGEgYCVzJyB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjEwMTMyCittc2dpZCAiQmFkIC5zZWN0aW9uIGRpcmVjdGl2ZTogd2FudCBhLGwsdyx4LE0sUyxHLFQgaW4gc3RyaW5nIgorbXNnc3RyICJEaXJla3RpZiAuc2VjdGlvbiBidXJ1azogZGlpbmdpbmthbiBzdHJpbmcgYSxsLHcseCxNLFMsRyxUIgorCisjOiBjb25maWcvdGMtaTM4Ni5jOjEwMTM1Cittc2dpZCAiQmFkIC5zZWN0aW9uIGRpcmVjdGl2ZTogd2FudCBhLHcseCxNLFMsRyxUIGluIHN0cmluZyIKK21zZ3N0ciAiRGlyZWt0aWYgLnNlY3Rpb24gYnVydWs6IGRpaW5naW5rYW4gc3RyaW5nIGEsdyx4LE0sUyxHLFQiCisKKyM6IGNvbmZpZy90Yy1pMzg2LmM6MTAxNTQKK21zZ2lkICIubGFyZ2Vjb21tIHN1cHBvcnRlZCBvbmx5IGluIDY0Yml0IG1vZGUsIHByb2R1Y2luZyAuY29tbSIKK21zZ3N0ciAiLmxhcmdlY29tbSBoYW55YSBkaWR1a3VuZyBkYWxhbSBtb2RlIDY0IGJpdCwgbWVuZ2hhc2lsa2FuIC5jb21tIgorCisjOiBjb25maWcvdGMtaTg2MC5jOjEyMgorbXNnaWQgIkRpcmVjdGl2ZSAuZHVhbCBhdmFpbGFibGUgb25seSB3aXRoIC1taW50ZWwtc3ludGF4IG9wdGlvbiIKK21zZ3N0ciAiRGlyZWt0aWYgLmR1YWwgaGFueWEgdGVyc2VkaWEgZGVuZ2FuIG9wc2kgLW1pbnRlbC1zeW50YXgiCisKKyM6IGNvbmZpZy90Yy1pODYwLmM6MTMyCittc2dpZCAiRGlyZWN0aXZlIC5lbmRkdWFsIGF2YWlsYWJsZSBvbmx5IHdpdGggLW1pbnRlbC1zeW50YXggb3B0aW9uIgorbXNnc3RyICJEaXJla3RpZiAuZW5kZHVhbCBoYW55YSB0ZXJzZWRpYSBkZW5nYW4gb3BzaSAtbWludGVsLXN5bnRheCIKKworIzogY29uZmlnL3RjLWk4NjAuYzoxNDUKK21zZ2lkICJEaXJlY3RpdmUgLmF0bXAgYXZhaWxhYmxlIG9ubHkgd2l0aCAtbWludGVsLXN5bnRheCBvcHRpb24iCittc2dzdHIgIkRpcmVrdGlmIC5hdG1wIGhhbnlhIHRlcnNlZGlhIGRlbmdhbiBvcHNpIC1taW50ZWwtc3ludGF4IgorCisjOiBjb25maWcvdGMtaTg2MC5jOjE2NyBjb25maWcvdGMtaTg2MC5jOjE3MQorbXNnaWQgIlVua25vd24gdGVtcG9yYXJ5IHBzZXVkbyByZWdpc3RlciIKK21zZ3N0ciAiUHNldWRvIHJlZ2lzdGVyIHNlbWVudGFyYSB0aWRhayBkaWtldGFodWkiCisKKyM6IGNvbmZpZy90Yy1pODYwLmM6MjQ3Cittc2dpZCAiRGVmZWN0aXZlIGFzc2VtYmxlci4gIE5vIGFzc2VtYmx5IGF0dGVtcHRlZC4iCittc2dzdHIgIlBlcmFraXQgdGlkYWsgc2VtcHVybmEuIFRpZGFrIGFkYSBwZXJha2l0YW4geWFuZyBha2FuIGRpY29iYS4iCisKKyM6IGNvbmZpZy90Yy1pODYwLmM6MzkzIGNvbmZpZy90Yy1pODYwLmM6OTM4IGNvbmZpZy90Yy1tNjhrLmM6MzczMQorIzogY29uZmlnL3RjLW02OGsuYzozNzYzIGNvbmZpZy90Yy1zcGFyYy5jOjI2OTMKK21zZ2lkICJmYWlsZWQgc2FuaXR5IGNoZWNrLiIKK21zZ3N0ciAiZ2FnYWwgcGVtZXJpa3NhYW4ga2VhZGFhbi4iCisKKyM6IGNvbmZpZy90Yy1pODYwLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGFuZGVkIG9wY29kZSBhZnRlciBkZWxheWVkIGJyYW5jaDogYCVzJyIKK21zZ3N0ciAiRWtzcGFuZGVkIG9wa29kZSBzZXN1ZGFoIHBlbmNhYmFuZ2FuIHRlcnR1bmRhOiBgJXMnIgorCisjOiBjb25maWcvdGMtaTg2MC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJFeHBhbmRlZCBvcGNvZGUgaW4gZHVhbCBtb2RlOiBgJXMnIgorbXNnc3RyICJFa3NwYW5kZWQgb3Brb2RlIGRhbGFtIG1vZGUgZ2FuZGE6IGAlcyciCisKKyM6IGNvbmZpZy90Yy1pODYwLmM6NDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIkFuIGluc3RydWN0aW9uIHdhcyBleHBhbmRlZCAoJXMpIgorbXNnc3RyICJTZWJ1YWggaW5zdHJ1a3NpIHRlbGFoIGRpZWtzcGFuICglcykiCisKKyM6IGNvbmZpZy90Yy1pODYwLmM6Njc0Cittc2dpZCAiUGlwZWxpbmVkIGluc3RydWN0aW9uOiBmc3JjMSA9IGZkZXN0IgorbXNnc3RyICJJbnN0cnVrc2kgcGlwZWxpbmU6IGZzcmMxID0gZmRlc3QiCisKKyM6IGNvbmZpZy90Yy1pODYwLmM6ODc3IGNvbmZpZy90Yy1pODYwLmM6ODg0IGNvbmZpZy90Yy1pODYwLmM6ODkxCittc2dpZCAiQXNzZW1ibGVyIGRvZXMgbm90IHlldCBzdXBwb3J0IFBJQyIKK21zZ3N0ciAiUGVyYWtpdCBiZWx1bSBtZW5kdWt1bmcgUElDIgorCisjOiBjb25maWcvdGMtaTg2MC5jOjk1NQorIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsIG9wZXJhbmRzIGZvciAlcyIKK21zZ3N0ciAiT3BlcmFuIHRpZGFrIGxlZ2FsIHVudHVrICVzIgorCisjOiBjb25maWcvdGMtaTg2MC5jOjk3MgorIywgYy1mb3JtYXQKK21zZ2lkICInZC4lcycgbXVzdCBiZSA4LWJ5dGUgYWxpZ25lZCIKK21zZ3N0ciAiJ2QuJXMnIGhhcnVzIGJlcnVwYSA4LWJ5dGUgYWxpZ25lZCIKKworIzogY29uZmlnL3RjLWk4NjAuYzo5ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlZml4ICdkLicgaW52YWxpZCBmb3IgaW5zdHJ1Y3Rpb24gYCVzJyIKK21zZ3N0ciAiQXdhbGFuICdkLicgdGlkYWsgdmFsaWQgdW50dWsgaW5zdHJ1a3NpIGAlcyciCisKKyM6IGNvbmZpZy90Yy1pODYwLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAtRUxcdFx0XHQgIGdlbmVyYXRlIGNvZGUgZm9yIGxpdHRsZSBlbmRpYW4gbW9kZSAoZGVmYXVsdClcbiIKKyIgIC1FQlx0XHRcdCAgZ2VuZXJhdGUgY29kZSBmb3IgYmlnIGVuZGlhbiBtb2RlXG4iCisiICAtbXdhcm4tZXhwYW5kXHRcdCAgd2FybiBpZiBwc2V1ZG8gb3BlcmF0aW9ucyBhcmUgZXhwYW5kZWRcbiIKKyIgIC1teHBcdFx0XHQgIGVuYWJsZSBpODYwWFAgc3VwcG9ydCAoZGlzYWJsZWQgYnkgZGVmYXVsdClcbiIKKyIgIC1taW50ZWwtc3ludGF4XHQgIGVuYWJsZSBJbnRlbCBzeW50YXggKGRlZmF1bHQgdG8gQVQmVC9TVlI0KVxuIgorbXNnc3RyICIiCisiICAtRUxcdFx0XHQgIG1lbmdoYXNpbGthbiBrb2RlIHVudHVrIG1vZGUgbGl0dGxlIGVuZGlhbiAoZGVmYXVsdClcbiIKKyIgIC1FQlx0XHRcdCAgbWVuZ2hhc2lsa2FuIGtvZGUgdW50dWsgbW9kZSBiaWcgZW5kaWFuXG4iCisiICAtbXdhcm4tZXhwYW5kXHRcdCBwZXJpbmdhdGthbiBqaWthIG9wZXJhc2kgcHNldWRvIHRlbGFoIGRpZWtzcGFuXG4iCisiICAtbXhwXHRcdFx0IGFrdGlma2FuIGR1a3VuZ2FuIGk4NjBYUCAobm9uLWFrdGlmIHNlY2FyYSBiYWt1KVxuIgorIiAgLW1pbnRlbC1zeW50YXNcdCAgYWt0aWZrYW4gSW50ZWwgc3ludGF4IChiYWt1IGtlIEFUJlQvU1ZSNClcbiIKKworIy4gU1ZSNCBjb21wYXRpYmlsaXR5IGZsYWdzLgorIzogY29uZmlnL3RjLWk4NjAuYzoxMTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIC1WXHRcdFx0ICBwcmludCBhc3NlbWJsZXIgdmVyc2lvbiBudW1iZXJcbiIKKyIgIC1ReSwgLVFuXHRcdCAgaWdub3JlZFxuIgorbXNnc3RyICIiCisiICAtVlx0XHRcdCAgdGFtcGlsa2FuIG5vbW9yIHZlcnNpIHBlcmFraXRcbiIKKyIgIC1ReSwgLVFuXHRcdCAgZGlhYmFpa2FuXG4iCisKKyM6IGNvbmZpZy90Yy1pODYwLmM6MTIwNAorbXNnaWQgIlRoaXMgaW1tZWRpYXRlIHJlcXVpcmVzIDAgTU9EIDIgYWxpZ25tZW50IgorbXNnc3RyICJJbW1lZGlhdGUgaW5pIG1lbWJ1dHVoa2FuIDAgTU9EIDIgYWxpZ25tZW4iCisKKyM6IGNvbmZpZy90Yy1pODYwLmM6MTIwNworbXNnaWQgIlRoaXMgaW1tZWRpYXRlIHJlcXVpcmVzIDAgTU9EIDQgYWxpZ25tZW50IgorbXNnc3RyICJJbW1lZGlhdGUgaW5pIG1lbWJ1dHVoa2FuIDAgTU9EIDQgYWxpZ25tZW4iCisKKyM6IGNvbmZpZy90Yy1pODYwLmM6MTIxMAorbXNnaWQgIlRoaXMgaW1tZWRpYXRlIHJlcXVpcmVzIDAgTU9EIDggYWxpZ25tZW50IgorbXNnc3RyICJJbW1lZGlhdGUgaW5pIG1lbWJ1dHVoa2FuIDAgTU9EIDggYWxpZ25tZW4iCisKKyM6IGNvbmZpZy90Yy1pODYwLmM6MTIxMworbXNnaWQgIlRoaXMgaW1tZWRpYXRlIHJlcXVpcmVzIDAgTU9EIDE2IGFsaWdubWVudCIKK21zZ3N0ciAiSW1tZWRpYXRlIGluaSBtZW1idXR1aGthbiAwIE1PRCAxNiBhbGlnbm1lbiIKKworIzogY29uZmlnL3RjLWk4NjAuYzoxMzA4Cittc2dpZCAiNS1iaXQgaW1tZWRpYXRlIHRvbyBsYXJnZSIKK21zZ3N0ciAiaW1tZWRpYXRlIDUtYml0IHRlcmxhbHUgYmVzYXIiCisKKyM6IGNvbmZpZy90Yy1pODYwLmM6MTMxMQorbXNnaWQgIjUtYml0IGZpZWxkIG11c3QgYmUgYWJzb2x1dGUiCittc2dzdHIgImZpZWxkIDUtYml0IGhhcnVzIGFic29sdXQiCisKKyM6IGNvbmZpZy90Yy1pODYwLmM6MTM1NiBjb25maWcvdGMtaTg2MC5jOjEzNzkKK21zZ2lkICJBIGJyYW5jaCBvZmZzZXQgcmVxdWlyZXMgMCBNT0QgNCBhbGlnbm1lbnQiCittc2dzdHIgIlNlYnVhaCBvZnNldCBwZXJjYWJhbmdhbiBtZW1idXR1aGthbiAwIE1PRCA0IGFsaWdubWVuIgorCisjOiBjb25maWcvdGMtaTg2MC5jOjE0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5yZWNvZ25pemVkIGZpeC11cCAoMHglMDhseCkiCittc2dzdHIgIlBlcmJhaWthbiAoMHglMDhseCkgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLWk5NjAuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFzaGluZyByZXR1cm5lZCBcIiVzXCIuIgorbXNnc3RyICJIYXNpbmcgZGlrZW1iYWxpa2FuIFwiJXNcIi4iCisKKyM6IGNvbmZpZy90Yy1pOTYwLmM6NTgyIGNvbmZpZy90Yy1pOTYwLmM6MTExMgorbXNnaWQgImV4cHJlc3Npb24gc3ludGF4IGVycm9yIgorbXNnc3RyICJla3NwcmVzaSBzaW50YWtzIGVycm9yIgorCisjOiBjb25maWcvdGMtaTk2MC5jOjYxOAorbXNnaWQgImF0dGVtcHQgdG8gYnJhbmNoIGludG8gZGlmZmVyZW50IHNlZ21lbnQiCittc2dzdHIgIm1lbmNvYmEgcGVyY2FiYW5nYW4ga2Ugc2VnbWVuIGJlcmJlZGEiCisKKyM6IGNvbmZpZy90Yy1pOTYwLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInRhcmdldCBvZiAlcyBpbnN0cnVjdGlvbiBtdXN0IGJlIGEgbGFiZWwiCittc2dzdHIgInRhcmdldCBkYXJpIGluc3RydWtzaSAlcyBoYXJ1cyBiZXJ1cGEgc2VidWFoIGxhYmVsIgorCisjOiBjb25maWcvdGMtaTk2MC5jOjczMgorbXNnaWQgInVuYWxpZ25lZCByZWdpc3RlciIKK21zZ3N0ciAicmVnaXN0ZXIgdGlkYWsgdGVyYWxpZ24iCisKKyM6IGNvbmZpZy90Yy1pOTYwLmM6NzU0Cittc2dpZCAibm8gc3VjaCBzZnIgaW4gdGhpcyBhcmNoaXRlY3R1cmUiCittc2dzdHIgInRpZGFrIHNmciBzZXBlcnRpIGl0dSBkYWxhbSBhcnNpdGVrdHVyIGluaSIKKworIzogY29uZmlnL3RjLWk5NjAuYzo3OTIKK21zZ2lkICJpbGxlZ2FsIGxpdGVyYWwiCittc2dzdHIgImxpdGVyYWwgdGlkYWsgbGVnYWwiCisKKyM6IGNvbmZpZy90Yy1pOTYwLmM6OTQyCittc2dpZCAiaW52YWxpZCBpbmRleCByZWdpc3RlciIKK21zZ3N0ciAiaW5kZWtzIHJlZ2lzdGVyIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtaTk2MC5jOjk2NQorbXNnaWQgImludmFsaWQgc2NhbGUgZmFjdG9yIgorbXNnc3RyICJmYWt0b3Igc2thbGEgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1pOTYwLmM6MTE4OQorbXNnaWQgImFyY2hpdGVjdHVyZSBvZiBvcGNvZGUgY29uZmxpY3RzIHdpdGggdGhhdCBvZiBlYXJsaWVyIGluc3RydWN0aW9uKHMpIgorbXNnc3RyICJhcnNpdGVrdHVyIGRhcmkgb3Brb2RlIGtvbmZsaWsgZGVuZ2FuIGluc3RydWtzaSBzZWJlbHVtbnlhIgorCisjOiBjb25maWcvdGMtaTk2MC5jOjE0MjMgY29uZmlnL3RjLXh0ZW5zYS5jOjExNDQ2Cittc2dpZCAidG9vIG1hbnkgb3BlcmFuZHMiCittc2dzdHIgInRlcmxhbHUgYmFueWFrIG9wZXJhbiIKKworIy4gV2UgbmV2ZXIgbW92ZWQ6IHRoZXJlIHdhcyBubyBvcGNvZGUgZWl0aGVyIQorIzogY29uZmlnL3RjLWk5NjAuYzoxNDcxCittc2dpZCAibWlzc2luZyBvcGNvZGUiCittc2dzdHIgImhpbGFuZyBvcGtvZGUiCisKKyM6IGNvbmZpZy90Yy1pOTYwLmM6MTYxMQorbXNnaWQgImJyYW5jaCBwcmVkaWN0aW9uIGludmFsaWQgb24gdGhpcyBvcGNvZGUiCittc2dzdHIgInJhbWFsYW4gcGVyY2FiYW5nYW4gdGlkYWsgdmFsaWQgZGFsYW0gb3Brb2RlIGluaSIKKworIzogY29uZmlnL3RjLWk5NjAuYzoxNjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgb3Bjb2RlLCBcIiVzXCIuIgorbXNnc3RyICJvcGtvZGUgdGlkYWsgdmFsaWQsIFwiJXNcIi4iCisKKyM6IGNvbmZpZy90Yy1pOTYwLmM6MTY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbXByb3BlciBudW1iZXIgb2Ygb3BlcmFuZHMuICBleHBlY3RpbmcgJWQsIGdvdCAlZCIKK21zZ3N0ciAianVtbGFoIGRhcmkgb3BlcmFuIHRpZGFrIHNlc3VhaS4gTWVuZHVnYSAlZCwgZGlwZXJvbGVoICVkIgorCisjOiBjb25maWcvdGMtaTk2MC5jOjE3NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRml4dXAgb2YgJWxkIHRvbyBsYXJnZSBmb3IgZmllbGQgd2lkdGggb2YgJWQiCittc2dzdHIgIlBlcmJhaWthbiBkYXJpICVsZCB0ZXJsYWx1IGJlc2FyIHVudHVrIGxlYmFyIGZpZWxkIGRhcmkgJWQiCisKKyM6IGNvbmZpZy90Yy1pOTYwLmM6MTg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyY2hpdGVjdHVyZSAlcyIKK21zZ3N0ciAiYXJzaXRla3R1ciAlcyB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWk5NjAuYzoxODgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkk5NjAgb3B0aW9uczpcbiIKK21zZ3N0ciAib3BzaSBJOTYwOlxuIgorCisjOiBjb25maWcvdGMtaTk2MC5jOjE4ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlx0XHRcdHNwZWNpZnkgdmFyaWFudCBvZiA5NjAgYXJjaGl0ZWN0dXJlXG4iCisiLWJcdFx0XHRhZGQgY29kZSB0byBjb2xsZWN0IHN0YXRpc3RpY3MgYWJvdXQgYnJhbmNoZXMgdGFrZW5cbiIKKyItbGluay1yZWxheFx0XHRwcmVzZXJ2ZSBpbmRpdmlkdWFsIGFsaWdubWVudCBkaXJlY3RpdmVzIHNvIGxpbmtlclxuIgorIlx0XHRcdGNhbiBkbyByZWxheGluZyAoYi5vdXQgZm9ybWF0IG9ubHkpXG4iCisiLW5vLXJlbGF4XHRcdGRvbid0IGFsdGVyIGNvbXBhcmUtYW5kLWJyYW5jaCBpbnN0cnVjdGlvbnMgZm9yXG4iCisiXHRcdFx0bG9uZyBkaXNwbGFjZW1lbnRzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJcdFx0XHRzcGVzaWZpa2FzaWthbiB2YXJpYXNpIGRhcmkgYXJzaXRla3R1ciA5NjBcbiIKKyItYlx0XHRcdHRhbWJhaGthbiBrb2RlIHVudHVrIG1lbmd1bXB1bGthbiBzdGF0aXN0aWsgdGVudGFuZyBwZXJjYWJhbmdhbiB5YW5nIGRpYW1iaWxcbiIKKyItbGluay1yZWxheFx0XHRqYWdhIGFsaWdubWVuIGluZGl2aWR1IGRpcmVrdGlmIHNlaGluZ2dhIGxpbmtlclxuIgorIlx0XHRcdGRhcGF0IG1lbGFrdWthbiByZWxheGluZyAoaGFueWEgdW50dWsgZm9ybWF0IGIub3V0IHNhamEpXG4iCisiLW5vLXJlbGF4XHRcdGphbmdhbiB1YmFoIGNvbXBhcmUtYW5kLWJyYW5jaCBpbnN0cnVrc2kgdW50dWtcbiIKKyJcdFx0XHRsb25nIGRpc3BsYWNlbWVudFxuIgorCisjOiBjb25maWcvdGMtaTk2MC5jOjIxNDgKK21zZ2lkICJzaG91bGQgaGF2ZSAxIG9yIDIgb3BlcmFuZHMiCittc2dzdHIgInNlaGFydXNueWEgMSBhdGF1IDIgb3BlcmFuIgorCisjOiBjb25maWcvdGMtaTk2MC5jOjIxNTYgY29uZmlnL3RjLWk5NjAuYzoyMTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlZGVmaW5pbmcgbGVhZnByb2MgJXMiCittc2dzdHIgIk1lbmRlZmluaXNpa2FuIGxlYWZwcm9jICVzIgorCisjOiBjb25maWcvdGMtaTk2MC5jOjIyMDEKK21zZ2lkICJzaG91bGQgaGF2ZSB0d28gb3BlcmFuZHMiCittc2dzdHIgInNlaGFydXNueWEgZHVhIG9wZXJhbiIKKworIzogY29uZmlnL3RjLWk5NjAuYzoyMjExCittc2dpZCAiJ2VudHJ5X251bScgbXVzdCBiZSBhYnNvbHV0ZSBudW1iZXIgaW4gWzAsMzFdIgorbXNnc3RyICInZW50cnlfbnVtJyBoYXJ1cyBiZXJ1cGEgbm9tb3IgYWJzb2x1dCBkYWxhbSBbMCwzMV0iCisKKyM6IGNvbmZpZy90Yy1pOTYwLmM6MjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWRlZmluaW5nIGVudHJ5bnVtIGZvciBzeXNwcm9jICVzIgorbXNnc3RyICJNZW5kZWZpbmlzaWthbiBlbnRyeW51bSB1bnR1ayBzeXNwcm9jICVzIgorCisjLiBTaG91bGQgbm90IGhhcHBlbjogc2VlIGJsb2NrIGNvbW1lbnQgYWJvdmUuCisjOiBjb25maWcvdGMtaTk2MC5jOjIzMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvICdiYWwnIHRvICVzIgorbXNnc3RyICJNZW5jb2JhIHVudHVrICdiYWwnIGtlICVzIgorCisjOiBjb25maWcvdGMtaTk2MC5jOjIzMjkKK21zZ2lkICJMb29rcyBsaWtlIGEgcHJvYywgYnV0IGNhbid0IHRlbGwgd2hhdCBraW5kLlxuIgorbXNnc3RyICJTZXBlcnRpIHNlYnVhaCBwcm9jLCB0ZXRhcGkgdGlkYWsgZGFwYXQgbWVuY2VyaXRha2FuIHNlcGVydGkgYXBhLlxuIgorCisjOiBjb25maWcvdGMtaTk2MC5jOjIzNDgKK21zZ2lkICJiaWcgZW5kaWFuIG1vZGUgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAibW9kZSBiaWcgZW5kaWFuIHRpZGFrIGRpZHVrdW5nIgorCisjOiBjb25maWcvdGMtaTk2MC5jOjIzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5yZWNvZ25pemVkIC5lbmRpYW4gdHlwZSBgJXMnIgorbXNnc3RyICJtZW5nYWJhaWthbiAuZW5kaWFuIHRpcGUgYCVzJyB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtaTk2MC5jOjIzOTUKK21zZ2lkICJjYW4ndCB1c2UgQ09CUiBmb3JtYXQgd2l0aCBleHRlcm5hbCBsYWJlbCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ2d1bmFrYW4gZm9ybWF0IENPQlIgZGVuZ2FuIGxhYmVsIGVrc3Rlcm5hbCIKKworIzogY29uZmlnL3RjLWk5NjAuYzoyNTcwCittc2dpZCAib3B0aW9uIC0tbGluay1yZWxheCBpcyBvbmx5IHN1cHBvcnRlZCBpbiBiLm91dCBmb3JtYXQiCittc2dzdHIgIm9wc2kgLS1saW5rLXJlbGF4IGhhbnlhIGRpZHVrdW5nIGRhbGFtIGZvcm1hdCBiLm91dCIKKworIzogY29uZmlnL3RjLWk5NjAuYzoyNTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vICdiYWwnIGVudHJ5IHBvaW50IGZvciBsZWFmcHJvYyAlcyIKK21zZ3N0ciAiVGlkYWsgYWRhIHRpdGlrIG1hc3VrYW4gJ2JhbCcgdW50dWsgbGVhZnByb2MgJXMiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6ODQ1Cittc2dpZCAiQmFkIC5zZWN0aW9uIGRpcmVjdGl2ZTogd2FudCBhLG8scyx3LHgsTSxTLEcsVCBpbiBzdHJpbmciCittc2dzdHIgIkRpcmVrdGlmIC5zZWN0aW9uIGJ1cnVrOiBkaWluZ2lua2FuIGRhbGFtIHN0cmluZyBhLG8scyx3LHgsTSxTLEcsVCIKKworIzogY29uZmlnL3RjLWlhNjQuYzo4OTcKK21zZ2lkICJTaXplIG9mIGZyYW1lIGV4Y2VlZHMgbWF4aW11bSBvZiA5NiByZWdpc3RlcnMiCittc2dzdHIgIlVrdXJhbiBkYXJpIGZyYW1lIG1lbGViaWhpIG1ha3NpbWFsIGRhcmkgOTYgcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6OTAyCittc2dpZCAiU2l6ZSBvZiByb3RhdGluZyByZWdpc3RlcnMgZXhjZWVkcyBmcmFtZSBzaXplIgorbXNnc3RyICJVa3VyYW4gZGFyaSByZWdpc3RlciB5YW5nIGJlcm90YXNpIG1lbGViaWhpIHVrdXJhbiBmcmFtZSIKKworIzogY29uZmlnL3RjLWlhNjQuYzo5ODkKK21zZ2lkICJVbndpbmQgZGlyZWN0aXZlIG5vdCBmb2xsb3dlZCBieSBhbiBpbnN0cnVjdGlvbi4iCittc2dzdHIgIlVud2luZCBkaXJla3RpZiB0aWRhayBkaWlrdXRpIG9sZWggc2VidWFoIGluc3RydWtzaS4iCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6OTk4IGNvbmZpZy90Yy1pYTY0LmM6NzM4MAorbXNnaWQgInF1YWxpZnlpbmcgcHJlZGljYXRlIG5vdCBmb2xsb3dlZCBieSBpbnN0cnVjdGlvbiIKK21zZ3N0ciAiTWVuZ2t1YWxpZmlrYXNpIHByZWRpa2F0IHRpZGFrIGRpaWt1dGkgb2xlaCBpbnN0cnVrc2kiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MTA2MyBjb25maWcvdGMtaWE2NC5jOjEwOTcKK21zZ2lkICJyZWNvcmQgdHlwZSBpcyBub3QgdmFsaWQiCittc2dzdHIgInRpcGUgcmVrYW1hbiB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLWlhNjQuYzoxMTY2Cittc2dpZCAiSW52YWxpZCByZWNvcmQgdHlwZSBmb3IgUDMgZm9ybWF0LiIKK21zZ3N0ciAidGlwZSByZWthbWFuIHRpZGFrIHZhbGlkIHVudHVrIGZvcm1hdCBQMyIKKworIzogY29uZmlnL3RjLWlhNjQuYzoxMjAyCittc2dpZCAiSW52YWxpZCByZWNvcmQgdHlwZSBmb3IgZm9ybWF0IFA2IgorbXNnc3RyICJUaXBlIHJla2FtYW4gdGlkYWsgdmFsaWQgdW50dWsgZm9ybWF0IFA2IgorCisjOiBjb25maWcvdGMtaWE2NC5jOjEzODIgY29uZmlnL3RjLWlhNjQuYzoxNDM0Cittc2dpZCAiSW52YWxpZCByZWNvcmQgdHlwZSBmb3IgZm9ybWF0IEIxIgorbXNnc3RyICJUaXBlIHJla2FtYW4gdGlkYWsgdmFsaWQgdW50dWsgZm9ybWF0IEIxIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjE0NjcKK21zZ2lkICJJbnZhbGlkIHJlY29yZCB0eXBlIGZvciBmb3JtYXQgWDEiCittc2dzdHIgIlRpcGUgcmVrYW1hbiB0aWRhayB2YWxpZCB1bnR1ayBmb3JtYXQgWDEiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MTUwOQorbXNnaWQgIkludmFsaWQgcmVjb3JkIHR5cGUgZm9yIGZvcm1hdCBYMyIKK21zZ3N0ciAiVGlwZSByZWthbWFuIHRpZGFrIHZhbGlkIHVudHVrIGZvcm1hdCBYMyIKKworIzogY29uZmlnL3RjLWlhNjQuYzoxNTQ3Cittc2dpZCAiUHJldmlvdXMgLnNhdmUgaW5jb21wbGV0ZSIKK21zZ3N0ciAiU2ViZWx1bW55YSAuc2F2ZSB0aWRhayBsZW5na2FwIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjIzNzIKK21zZ2lkICJzcGlsbF9tYXNrIHJlY29yZCB1bmltcGxlbWVudGVkLiIKK21zZ3N0ciAicmVrYW1hbiBzcGlsbF9tYXNrIHRpZGFrIHRlcmltcGxlbWVudGFzaS4iCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MjQyOQorbXNnaWQgInJlY29yZF90eXBlX25vdF92YWxpZCIKK21zZ3N0ciAicmVjb3JkX3R5cGVfbm90X3ZhbGlkIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjI1MTQKK21zZ2lkICJJZ25vcmluZyBhdHRlbXB0IHRvIHNwaWxsIGJleW9uZCBlbmQgb2YgcmVnaW9uIgorbXNnc3RyICJNZW5nYWJhaWthbiBwZXJjb2JhYW4gdW50dWsgc3BpbGwgZGlsdWFyIGRhcmkgZGFlcmFoIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjI1NzMKK21zZ2lkICJPbmx5IGNvbnN0YW50IHNwYWNlIGFsbG9jYXRpb24gaXMgc3VwcG9ydGVkIgorbXNnc3RyICJIYW55YSBhbG9rYXNpIGtvbnN0YW50YSBydWFuZyB5YW5nIGRpZHVrdW5nIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjI1ODcKK21zZ2lkICJPbmx5IGNvbnN0YW50IG9mZnNldHMgYXJlIHN1cHBvcnRlZCIKK21zZ3N0ciAiSGFueWEga29uc3RhbnRhIG9mc2V0IHlhbmcgZGlkdWt1bmciCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MjYxMAorbXNnaWQgIlNlY3Rpb24gc3dpdGNoaW5nIGluIGNvZGUgaXMgbm90IHN1cHBvcnRlZC4iCittc2dzdHIgIlBlcnBpbmRhaGFuIGJhZ2lhbiBkYWxhbSBrb2RlIHRpZGFrIGRpZHVrdW5nLiIKKworIzogY29uZmlnL3RjLWlhNjQuYzoyNjUyCittc2dpZCAiIEluc24gc2xvdCBub3Qgc2V0IGluIHVud2luZCByZWNvcmQuIgorbXNnc3RyICIgSW5zbiBzbG90IHRpZGFrIGRpc2V0IGRhbGFtIHJla2FtYSB1bndpbmQuIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjI3MjYKK21zZ2lkICJmcmdyX21lbSByZWNvcmQgYmVmb3JlIHJlZ2lvbiByZWNvcmQhIgorbXNnc3RyICJmcmdyX21lbSByZWNvcmQgc2ViZWx1bSBkYWVyYWggcmVjb3JkISIKKworIzogY29uZmlnL3RjLWlhNjQuYzoyNzM3Cittc2dpZCAiZnJfbWVtIHJlY29yZCBiZWZvcmUgcmVnaW9uIHJlY29yZCEiCittc2dzdHIgImZyX21lbSByZWNvcmQgc2ViZWx1bSBkYWVyYWggcmVjb3JkISIKKworIzogY29uZmlnL3RjLWlhNjQuYzoyNzQ2Cittc2dpZCAiZ3JfbWVtIHJlY29yZCBiZWZvcmUgcmVnaW9uIHJlY29yZCEiCittc2dzdHIgImdyX21lbSByZWNvcmQgc2ViZWx1bSByZWdpb24gcmVjb3JkISIKKworIzogY29uZmlnL3RjLWlhNjQuYzoyNzU1Cittc2dpZCAiYnJfbWVtIHJlY29yZCBiZWZvcmUgcmVnaW9uIHJlY29yZCEiCittc2dzdHIgImJyX21lbSByZWNvcmQgc2ViZWx1bSByZWdpb24gcmVjb3JkISIKKworIzogY29uZmlnL3RjLWlhNjQuYzoyNzY1Cittc2dpZCAiZ3JfZ3IgcmVjb3JkIGJlZm9yZSByZWdpb24gcmVjb3JkISIKK21zZ3N0ciAiZ3JfZ3IgcmVjb3JkIHNlYmVsdW0gcmVnaW9uIHJlY29yZCEiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6Mjc3MworbXNnaWQgImJyX2dyIHJlY29yZCBiZWZvcmUgcmVnaW9uIHJlY29yZCEiCittc2dzdHIgImJyX2dyIHJlY29yZCBzZWJlbHVtIHJlZ2lvbiByZWNvcmQhIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjI4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3Qgb3BlcmFuZCB0byAuJXMgbXVzdCBiZSBhIHByZWRpY2F0ZSIKK21zZ3N0ciAiT3BlcmFuIHBlcnRhbWEga2UgLiVzIGhhcnVzIGJlcnVwYSBzZWJ1YWggcHJlZGlrYXQiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6Mjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJQb2ludGxlc3MgdXNlIG9mIHAwIGFzIGZpcnN0IG9wZXJhbmQgdG8gLiVzIgorbXNnc3RyICJUaWRhayBiZXJhcnRpIG1lbmdndW5ha2FuIHAwIHNlYmFnYWkgb3BlcmFuIHBlcnRhbWEga2UgLiVzIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjI5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3BlcmFuZCAlZCB0byAuJXMgbXVzdCBiZSBhIHByZXNlcnZlZCByZWdpc3RlciIKK21zZ3N0ciAiT3BlcmFuICVkIGtlIC4lcyBoYXJ1cyBiZXJ1cGEgcHJlc2VydmVkIHJlZ2lzdGVyIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjI5ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3BlcmFuZCAlZCB0byAuJXMgbXVzdCBiZSBhIHdyaXRhYmxlIHJlZ2lzdGVyIgorbXNnc3RyICJPcGVyYW4gJWQga2UgLiVzIGhhcnVzIGJlcnVwYSBzZWJ1YWggcmVnaXN0ZXIgZGFwYXQgZGl0dWxpcyIKKworIzogY29uZmlnL3RjLWlhNjQuYzozMDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJhZGl4IGAlcycgdW5zdXBwb3J0ZWQgb3IgaW52YWxpZCIKK21zZ3N0ciAiUmFkaXggYCVzJyB0aWRhayBkaWR1a3VuZyBhdGF1IHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjMwNDIgY29uZmlnL3RjLWlhNjQuYzozMDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIi4lcyBvdXRzaWRlIG9mICVzIgorbXNnc3RyICIuJXMgZGlsdWFyIGRhcmkgJXMiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MzEzMgorbXNnaWQgIlRhZ3Mgb24gdW53aW5kIHBzZXVkby1vcHMgYXJlbid0IHN1cHBvcnRlZCwgeWV0IgorbXNnc3RyICJUYWdzIGRhbGFtIHVud2luZCBwc2V1ZG8tb3BzIGJlbHVtIGRpZHVrdW5nIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjMxNTQKK21zZ2lkICJGaXJzdCBvcGVyYW5kIHRvIC5mZnJhbWUgbXVzdCBiZSBhIGNvbnN0YW50IgorbXNnc3RyICJPcGVyYW4gcGVydGFtYSBrZSAuZmZyYW1lIGhhcnVzIGJlcnVwYSBzZWJ1YWgga29uc3RhbnRhIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjMxNzQKK21zZ2lkICJGaXJzdCBvcGVyYW5kIHRvIC52ZnJhbWUgbXVzdCBiZSBhIGdlbmVyYWwgcmVnaXN0ZXIiCittc2dzdHIgIk9wZXJhbiBwZXJ0YW1hIGtlIC52ZnJhbWUgaGFydXMgYmVydXBhIHNlYnVhaCByZWdpc3RlciB1bXVtIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjMxODIKK21zZ2lkICJPcGVyYW5kIG9mIC52ZnJhbWUgY29udHJhZGljdHMgLnByb2xvZ3VlIgorbXNnc3RyICJPcGVyYW4gZGFyaSAudmZyYW1lIGJlcnRlbnRhbmdhbiAucHJvbG9ndWUiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MzE5MgorbXNnaWQgIi52ZnJhbWVwc3AgaXMgbWVhbmluZ2xlc3MsIGFzc3VtaW5nIC52ZnJhbWVzcCB3YXMgbWVhbnQiCittc2dzdHIgIi52ZnJhbWVzcCB0aWRhayBiZXJhcnRpLCBtZW5nYXN1bXNpa2FuIC52ZnJhbWVzcCB5YW5nIGJlcmFydGkiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MzIwMAorbXNnaWQgIk9wZXJhbmQgdG8gLnZmcmFtZXNwIG11c3QgYmUgYSBjb25zdGFudCAoc3AtcmVsYXRpdmUgb2Zmc2V0KSIKK21zZ3N0ciAiT3BlcmFuIGtlIC52ZnJhbWVzcCBoYXJ1cyBiZXJ1cGEgc2VidWFoIGtvbnN0YW50YSAoc3AtcmVsYXRpZiBvZnNldCkiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MzIyNworbXNnaWQgIkZpcnN0IG9wZXJhbmQgdG8gLnNhdmUgbm90IGEgcmVnaXN0ZXIiCittc2dzdHIgIk9wZXJhbiBwZXJ0YW1hIGtlIC5zYXZlIGJ1a2FuIHNlYnVhaCByZWdpc3RlciIKKworIzogY29uZmlnL3RjLWlhNjQuYzozMjMzCittc2dpZCAiU2Vjb25kIG9wZXJhbmQgdG8gLnNhdmUgbm90IGEgdmFsaWQgcmVnaXN0ZXIiCittc2dzdHIgIk9wZXJhbiBrZWR1YSBrZSAuc2F2ZSBidWthbiBzZWJ1YWggcmVnaXN0ZXIgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MzI2NCBjb25maWcvdGMtaWE2NC5jOjMyNzUgY29uZmlnL3RjLWlhNjQuYzozMjgzCittc2dpZCAiU2Vjb25kIG9wZXJhbmQgb2YgLnNhdmUgY29udHJhZGljdHMgLnByb2xvZ3VlIgorbXNnc3RyICJPcGVyYW4ga2VkdWEgZGFyaSAuc2F2ZSBiZXJ0ZW50YW5nYW4gLnByb2xvZ3VlIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjMyOTAKK21zZ2lkICJGaXJzdCBvcGVyYW5kIHRvIC5zYXZlIG5vdCBhIHZhbGlkIHJlZ2lzdGVyIgorbXNnc3RyICJPcGVyYW4gcGVydGFtYSBrZSAuc2F2ZSBidWthbiBzZWJ1YWggcmVnaXN0ZXIgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MzMwOAorbXNnaWQgIkZpcnN0IG9wZXJhbmQgdG8gLnJlc3RvcmUgbXVzdCBiZSBzdGFjayBwb2ludGVyIChzcCkiCittc2dzdHIgIk9wZXJhbiBwZXJ0YW1hIGtlIC5yZXN0b3JlIGhhcnVzIGJlcnVwYSBzdGFjayBwb2ludGVyIChzcCkiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MzMxNworbXNnaWQgIlNlY29uZCBvcGVyYW5kIHRvIC5yZXN0b3JlIG11c3QgYmUgYSBjb25zdGFudCA+PSAwIgorbXNnc3RyICJPcGVyYW4ga2VkdWEga2UgLnJlc3RvcmUgaGFydXMgYmVydXBhIHNlYnVhaCBrb25zdGFudGEgPj0gMCIKKworIzogY29uZmlnL3RjLWlhNjQuYzozMzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkVwaWxvZ3VlIGNvdW50IG9mICVsdSBleGNlZWRzIG51bWJlciBvZiBuZXN0ZWQgcHJvbG9ndWVzICgldSkiCittc2dzdHIgIkVwaWxvZyB0ZXJoaXR1bmcgZGFyaSAlbHUgbWVsZWJpaGkganVtbGFoIGRhcmkgbmVzdGVkIHByb2xvZ3VlICgldSkiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MzQxNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsIHNlY3Rpb24gbmFtZSBgJXMnIChjYXVzZXMgdW53aW5kIHNlY3Rpb24gbmFtZSBjbGFzaCkiCittc2dzdHIgIk5hbWEgYmFnaWFuIGAlcycgdGlkYWsgbGVnYWwgKG1lbnllYmFia2FuIHVud2luZCBuYW1hIGRhZXJhaCBjbGFzaCkiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MzYwNQorbXNnaWQgIkZpcnN0IG9wZXJhbmQgdG8gLmFsdHJwIG5vdCBhIHZhbGlkIGJyYW5jaCByZWdpc3RlciIKK21zZ3N0ciAiT3BlcmFuIHBlcnRhbWEga2UgLmFsdHJwIGJ1a2FuIHNlYnVhaCBwZXJjYWJhbmdhbiB5YW5nIHZhbGlkIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjM2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3Qgb3BlcmFuZCB0byAuJXMgbm90IGEgcmVnaXN0ZXIiCittc2dzdHIgIk9wZXJhbiBwZXJ0YW1hIGtlIC4lcyBidWthbiBzZWJ1YWggcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MzYzOQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWNvbmQgb3BlcmFuZCB0byAuJXMgbm90IGEgY29uc3RhbnQiCittc2dzdHIgIk9wZXJhbiBrZWR1YSBrZSAuJXMgYnVrYW4gc2VidWFoIGtvbnN0YW50YSIKKworIzogY29uZmlnL3RjLWlhNjQuYzozNzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0IG9wZXJhbmQgdG8gLiVzIG5vdCBhIHZhbGlkIHJlZ2lzdGVyIgorbXNnc3RyICJPcGVyYW4gcGVydGFtYSBrZSAuJXMgYnVrYW4gc2VidWFoIHJlZ2lzdGVyIHlhbmcgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MzcyOQorbXNnaWQgIkZpcnN0IG9wZXJhbmQgdG8gLnNhdmUuZyBtdXN0IGJlIGEgcG9zaXRpdmUgNC1iaXQgY29uc3RhbnQiCittc2dzdHIgIk9wZXJhbiBwZXJ0YW1hIGtlIC5zYXZlLmcgaGFydXMgYmVydXBhIHNlYnVhaCBrb25zdGFudGEgNC1iaXQiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6Mzc0MgorbXNnaWQgIlNlY29uZCBvcGVyYW5kIHRvIC5zYXZlLmcgbXVzdCBiZSBhIGdlbmVyYWwgcmVnaXN0ZXIiCittc2dzdHIgIk9wZXJhbiBrZWR1YSBrZSAuc2F2ZS1nIGhhcnVzIGJlcnVwYSByZWdpc3RlciB1bXVtIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjM3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2Vjb25kIG9wZXJhbmQgdG8gLnNhdmUuZyBtdXN0IGJlIHRoZSBmaXJzdCBvZiAlZCBnZW5lcmFsIHJlZ2lzdGVycyIKK21zZ3N0ciAiT3BlcmFuIGtlZHVhIGtlIC5zYXZlLmcgaGFydXMgcmVnaXN0ZXIgdW11bSAlZCBwZXJ0YW1hIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjM3NzAKK21zZ2lkICJPcGVyYW5kIHRvIC5zYXZlLmYgbXVzdCBiZSBhIHBvc2l0aXZlIDIwLWJpdCBjb25zdGFudCIKK21zZ3N0ciAiT3BlcmFuIGtlIC5zYXZlLmYgaGFydXMga29uc3RhbnRhIHBvc2l0aWYgMjAtYml0IgorCisjOiBjb25maWcvdGMtaWE2NC5jOjM3OTMKK21zZ2lkICJGaXJzdCBvcGVyYW5kIHRvIC5zYXZlLmIgbXVzdCBiZSBhIHBvc2l0aXZlIDUtYml0IGNvbnN0YW50IgorbXNnc3RyICJPcGVyYW4gcGVydGFtYSBrZSAuc2F2ZS5iIGhhcnVzIGJlcnVwYSBrb25zdGFudGEgcG9zaXRpZiA1LWJpdCIKKworIzogY29uZmlnL3RjLWlhNjQuYzozODA2Cittc2dpZCAiU2Vjb25kIG9wZXJhbmQgdG8gLnNhdmUuYiBtdXN0IGJlIGEgZ2VuZXJhbCByZWdpc3RlciIKK21zZ3N0ciAiT3BlcmFuIGtlZHVhIGtlIC5zYXZlLmIgaGFydXMgYmVydXBhIHJlZ2lzdGVyIHVtdW0iCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MzgxMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWNvbmQgb3BlcmFuZCB0byAuc2F2ZS5iIG11c3QgYmUgdGhlIGZpcnN0IG9mICVkIGdlbmVyYWwgcmVnaXN0ZXJzIgorbXNnc3RyICJPcGVyYW4ga2VkdWEga2UgLnNhdmUuYiBoYXJ1cyByZWdpc3RlciB1bXVtICVkIHBlcnRhbWEiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MzgzNworbXNnaWQgIkZpcnN0IG9wZXJhbmQgdG8gLnNhdmUuZ2YgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSA0LWJpdCBjb25zdGFudCIKK21zZ3N0ciAiT3BlcmFuIHBlcnRhbWEga2UgLnNhdmUuZ2YgaGFydXMgYmVydXBhIGtvbnN0YW50YSB0aWRhayBuZWdhdGlmIDQtYml0IgorCisjOiBjb25maWcvdGMtaWE2NC5jOjM4NDUKK21zZ2lkICJTZWNvbmQgb3BlcmFuZCB0byAuc2F2ZS5nZiBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIDIwLWJpdCBjb25zdGFudCIKK21zZ3N0ciAiT3BlcmFuIGtlZHVhIGtlIC5zYXZlLmdmIGhhcnVzIGJlcnVwYSBzZWJ1YWgga29uc3RhbnRhIHRpZGFrIG5lZ2F0aWYgMjAtYml0IgorCisjOiBjb25maWcvdGMtaWE2NC5jOjM4NTMKK21zZ2lkICJPcGVyYW5kcyB0byAuc2F2ZS5nZiBtYXkgbm90IGJlIGJvdGggemVybyIKK21zZ3N0ciAiT3BlcmFuIGtlIC5zYXZlLmdmIHRpZGFrIGJvbGVoIGtlZHVhbnlhIG5vbCIKKworIzogY29uZmlnL3RjLWlhNjQuYzozODcwCittc2dpZCAiT3BlcmFuZCB0byAuc3BpbGwgbXVzdCBiZSBhIGNvbnN0YW50IgorbXNnc3RyICJPcGVyYW4ga2UgLnNwaWxsIGhhcnVzIGJlcnVwYSBzZWJ1YWgga29uc3RhbnRhIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjM5MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3BlcmFuZCAlZCB0byAuJXMgbXVzdCBiZSBhIGNvbnN0YW50IgorbXNnc3RyICJPcGVyYW4gJWQga2UgLiVzIGhhcnVzIGJlcnVwYSBzZWJ1YWgga29uc3RhbnRhIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjM5NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWlzc2luZyAubGFiZWxfc3RhdGUgJWxkIgorbXNnc3RyICJIaWxhbmcgLmxhYmVsX3N0YXRlICVsZCIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0MDE0Cittc2dpZCAiT3BlcmFuZCB0byAubGFiZWxfc3RhdGUgbXVzdCBiZSBhIGNvbnN0YW50IgorbXNnc3RyICJPcGVyYW4ga2UgLmxhYmVsX3N0YXRlIGhhcnVzIGJlcnVwYSBzZWJ1YWgga29uc3RhbnRhIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjQwMzMKK21zZ2lkICJPcGVyYW5kIHRvIC5jb3B5X3N0YXRlIG11c3QgYmUgYSBjb25zdGFudCIKK21zZ3N0ciAiT3BlcmFuIGtlIC5jb3B5X3N0YXRlIGhhcnVzIGJlcnVwYSBzZWJ1YWgga29uc3RhbnRhIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjQwNTYKK21zZ2lkICJGaXJzdCBvcGVyYW5kIHRvIC51bndhYmkgbXVzdCBiZSBhIGNvbnN0YW50IgorbXNnc3RyICJPcGVyYW4gcGVydGFtYSBrZSAudW53YWJpIGhhcnVzIGJlcnVwYSBzZWJ1YWgga29uc3RhbnRhIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjQwNjIKK21zZ2lkICJTZWNvbmQgb3BlcmFuZCB0byAudW53YWJpIG11c3QgYmUgYSBjb25zdGFudCIKK21zZ3N0ciAiT3BlcmFuIGtlZHVhIGtlIC51bndhYmkgaGFydXMgYmVydXBhIHNlYnVhaCBrb25zdGFudGEiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NDA5NworbXNnaWQgIk1pc3NpbmcgLmVuZHAgYWZ0ZXIgcHJldmlvdXMgLnByb2MiCittc2dzdHIgIkhpbGFuZyAuZW5kcCBzZXRlbGFoIHNlYmVsdW1ueWEgLnByb2MiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NDExNgorbXNnaWQgIkVtcHR5IGFyZ3VtZW50IG9mIC5wcm9jIgorbXNnc3RyICJIaWxhbmcgYXJndW1lbiBkYXJpIC5wcm9jIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjQxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJyB3YXMgYWxyZWFkeSBkZWZpbmVkIgorbXNnc3RyICJgJXMnIHRlbGFoIHRlcmRlZmluaXNpIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjQxNjQKK21zZ2lkICJJbml0aWFsIC5ib2R5IHNob3VsZCBwcmVjZWRlIGFueSBpbnN0cnVjdGlvbnMiCittc2dzdHIgIkluaXNpYWwgLmJvZHkgc2VoYXJ1c255YSBtZW5nYXdhbGkgaW5zdHJ1a3NpIGFwYXB1biIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0MTgzCittc2dpZCAiLnByb2xvZ3VlIHdpdGhpbiBwcm9sb2d1ZSIKK21zZ3N0ciAiLnByb2xvZ3VlIGRpZGFsYW0gcHJvbG9ndWUiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NDE4OAorbXNnaWQgIkluaXRpYWwgLnByb2xvZ3VlIHNob3VsZCBwcmVjZWRlIGFueSBpbnN0cnVjdGlvbnMiCittc2dzdHIgIkluaXNpYWwgLnByb2xvZ3VlIHNlaGFydXNueWEgbWVuZ2F3YWxpIGluc3RydWtzaSBhcGFwdW4iCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NDE5OAorbXNnaWQgIkZpcnN0IG9wZXJhbmQgdG8gLnByb2xvZ3VlIG11c3QgYmUgYSBwb3NpdGl2ZSA0LWJpdCBjb25zdGFudCIKK21zZ3N0ciAiT3BlcmFuIHBlcnRhbWEga2UgLnByb2xvZ3VlIGhhcnVzIGJlcnVwYSBzZWJ1YWgga29uc3RhbnRhIHBvc2l0aWYgNC1iaXQiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NDIwMAorbXNnaWQgIlBvaW50bGVzcyB1c2Ugb2YgemVybyBmaXJzdCBvcGVyYW5kIHRvIC5wcm9sb2d1ZSIKK21zZ3N0ciAiVGlkYWsgYmVyYXJ0aSBtZW5nZ3VuYWthbiBvcGVyYW4gcGVydGFtYSBub2wga2UgLnByb2xvZ3VlIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjQyMTQKK21zZ2lkICJVc2luZyBhIGNvbnN0YW50IGFzIHNlY29uZCBvcGVyYW5kIHRvIC5wcm9sb2d1ZSBpcyBkZXByZWNhdGVkIgorbXNnc3RyICJNZW5nZ3VuYWthbiBzZWJ1YWgga29uc3RhbnRhIHNlYmFnYWkgb3BlcmFuIGtlZHVhIGtlIC5wcm9sb2d1ZSBhZGFsYWgga2FkYWx1YXJzYSIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0MjIwCittc2dpZCAiU2Vjb25kIG9wZXJhbmQgdG8gLnByb2xvZ3VlIG11c3QgYmUgYSBnZW5lcmFsIHJlZ2lzdGVyIgorbXNnc3RyICJPcGVyYW4ga2VkdWEga2UgLnByb2xvZ3VlIGhhcnVzIGJlcnVwYSBzZWJ1YWggcmVnaXN0ZXIgdW11bSIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY29uZCBvcGVyYW5kIHRvIC5wcm9sb2d1ZSBtdXN0IGJlIHRoZSBmaXJzdCBvZiAlZCBnZW5lcmFsIHJlZ2lzdGVycyIKK21zZ3N0ciAiT3BlcmFuIGtlZHVhIGtlIC5wcm9sb2d1ZSBoYXJ1cyByZWdpc3RlciB1bXVtIHBlcnRhbWEgZGFyaSAlZCIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcycgd2FzIG5vdCBkZWZpbmVkIHdpdGhpbiBwcm9jZWR1cmUiCittc2dzdHIgIiclcycgdGlkYWsgZGlkZWZpbmlzaWthbiBkYWxhbSBwcm9zZWR1ciIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0Mzc1Cittc2dpZCAiRW1wdHkgYXJndW1lbnQgb2YgLmVuZHAiCittc2dzdHIgIkFyZ3VtZW4ga29zb25nIGRhcmkgLmVuZHAiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NDM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnIHdhcyBub3Qgc3BlY2lmaWVkIHdpdGggcHJldmlvdXMgLnByb2MiCittc2dzdHIgImAlcycgdGlkYWsgZGlzcGVzaWZpa2FzaWthbiBkZW5nYW4gLnByb2Mgc2ViZWx1bW55YSIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcycgc2hvdWxkIGJlIGFuIG9wZXJhbmQgdG8gdGhpcyAuZW5kcCIKK21zZ3N0ciAiYCVzJyBzZWhhcnVzbnlhIGJlcnVwYSBzZWJ1YWggb3BlcmFuIGRhbGFtIC5lbmRwIGluaSIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0NDQ1IGNvbmZpZy90Yy1pYTY0LmM6NDc4MyBjb25maWcvdGMtaWE2NC5jOjUwOTAKK21zZ2lkICJDb21tYSBleHBlY3RlZCIKK21zZ3N0ciAiRGlkdWdhIHNlYnVhaCBrb21hIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjQ0ODYKK21zZ2lkICJFeHBlY3RlZCAnWyciCittc2dzdHIgIkRpZHVnYSAnWyciCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NDQ5NSBjb25maWcvdGMtaWE2NC5jOjc1MTUKK21zZ2lkICJFeHBlY3RlZCAnXSciCittc2dzdHIgIkRpZHVnYSAnXSciCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NDUwMAorbXNnaWQgIk51bWJlciBvZiBlbGVtZW50cyBtdXN0IGJlIHBvc2l0aXZlIgorbXNnc3RyICJKdW1sYWggZGFyaSBlbGVtZW4gaGFydXMgcG9zaXRpZiIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZWQgbW9yZSB0aGFuIHRoZSBkZWNsYXJlZCAlZCByb3RhdGluZyByZWdpc3RlcnMiCittc2dzdHIgIk1lbmdndW5ha2FuIGxlYmloIGRhcmkgeWFuZyBkaWRla2xhcmFzaWthbiByZWdpc3RlciBiZXJvdGFzaSAlZCIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0NTE5Cittc2dpZCAiVXNlZCBtb3JlIHRoYW4gdGhlIGF2YWlsYWJsZSA5NiByb3RhdGluZyByZWdpc3RlcnMiCittc2dzdHIgIk1lbmdndW5ha2FuIGxlYmloIGRhcmkgOTYgcmVnaXN0ZXIgYmVyb3Rhc2kgeWFuZyB0ZXJzZWRpYSIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0NTI2Cittc2dpZCAiVXNlZCBtb3JlIHRoYW4gdGhlIGF2YWlsYWJsZSA0OCByb3RhdGluZyByZWdpc3RlcnMiCittc2dzdHIgIk1lbmdndW5ha2FuIGxlYmloIGRhcmkgNDggcmVnaXN0ZXIgYmVyb3Rhc2kgeWFuZyB0ZXJzZWRpYSIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkF0dGVtcHQgdG8gcmVkZWZpbmUgcmVnaXN0ZXIgc2V0IGAlcyciCittc2dzdHIgIk1lbmNvYmEgdW50dWsgbWVyZWRlZmluaXNpIHJlZ2lzdGVyIHNldCBgJXMnIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjQ2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBwc3Igb3B0aW9uIGAlcyciCittc2dzdHIgIk9wc2kgcHNyIGAlcycgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0NjY4Cittc2dpZCAiTWlzc2luZyBzZWN0aW9uIG5hbWUiCittc2dzdHIgIkhpbGFuIG5hbWEgYmFnaWFuIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjQ2NzgKK21zZ2lkICJDb21tYSBleHBlY3RlZCBhZnRlciBzZWN0aW9uIG5hbWUiCittc2dzdHIgIktvbWEgZGlkdWdhIHNldGVsYWggbmFtYSBiYWdpYW4iCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NDY4OQorbXNnaWQgIkNyZWF0aW5nIHNlY3Rpb25zIHdpdGggLnhkYXRhTi8ueHJlYWxOLy54c3RyaW5nWiBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiTWVtYnVhdCBiYWdpYW4gZGVuZ2FuIC54ZGF0YU4vLnhyZWFsTi8ueHN0cmluZ1ogYWRhbGFoIGthZGFsdWFyc2EuIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjQ3NzgKK21zZ2lkICJSZWdpc3RlciBuYW1lIGV4cGVjdGVkIgorbXNnc3RyICJOYW1hIHJlZ2lzdGVyIGRpZHVnYSIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0NzkxCittc2dpZCAiUmVnaXN0ZXIgdmFsdWUgYW5ub3RhdGlvbiBpZ25vcmVkIgorbXNnc3RyICJOaWxhaSBhbm90YXNpIHJlZ2lzdGVyIGRpYWJhaWthbiIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0ODMwCittc2dpZCAiRGlyZWN0aXZlIGludmFsaWQgd2l0aGluIGEgYnVuZGxlIgorbXNnc3RyICJEaXJla3RpZiB0aWRhayB2YWxpZCBkYWxhbSBzZWJ1YWggYnVuZGxlIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjQ5MjEKK21zZ2lkICJNaXNzaW5nIHByZWRpY2F0ZSByZWxhdGlvbiB0eXBlIgorbXNnc3RyICJIaWxhbmcgdGlwZSByZWxhdGlvbiBwcmVkaWthdCIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0OTI3Cittc2dpZCAiVW5yZWNvZ25pemVkIHByZWRpY2F0ZSByZWxhdGlvbiB0eXBlIgorbXNnc3RyICJUaXBlIHJlbGFzaSBwcmVkaWthdCB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjQ5NzMKK21zZ2lkICJCYWQgcmVnaXN0ZXIgcmFuZ2UiCittc2dzdHIgIkphbmdrYXVhbiByZWdpc3RlciBidXJ1ayIKKworIzogY29uZmlnL3RjLWlhNjQuYzo0OTgyIGNvbmZpZy90Yy1pYTY0LmM6NzQ2MAorbXNnaWQgIlByZWRpY2F0ZSByZWdpc3RlciBleHBlY3RlZCIKK21zZ3N0ciAiRGlkdWdhIHJlZ2lzdGVyIHByZWRpa2F0IgorCisjOiBjb25maWcvdGMtaWE2NC5jOjQ5ODcKK21zZ2lkICJEdXBsaWNhdGUgcHJlZGljYXRlIHJlZ2lzdGVyIGlnbm9yZWQiCittc2dzdHIgIk1lbmdhYmFpa2FuIGR1cGxpa2FzaSByZWdpc3RlciBwcmVkaWthdCIKKworIzogY29uZmlnL3RjLWlhNjQuYzo1MDAzCittc2dpZCAiUHJlZGljYXRlIHNvdXJjZSBhbmQgdGFyZ2V0IHJlcXVpcmVkIgorbXNnc3RyICJQcmVkaWthdCBzdW1iZXIgZGFuIHRhcmdldCBkaWJ1dHVoa2FuIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjUwMDUgY29uZmlnL3RjLWlhNjQuYzo1MDE3Cittc2dpZCAiVXNlIG9mIHAwIGlzIG5vdCB2YWxpZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIlBlbmdndW5hYW4gcDAgYWRhbGFoIHRpZGFrIHZhbGlkIGRhbGFtIGtvbnRla3MgaW5pIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjUwMTIKK21zZ2lkICJBdCBsZWFzdCB0d28gUFIgYXJndW1lbnRzIGV4cGVjdGVkIgorbXNnc3RyICJQYWxpbmcgdGlkYWsgZHVhIFBSIGFyZ3VtZW4gZGlkdWdhIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjUwMjYKK21zZ2lkICJBdCBsZWFzdCBvbmUgUFIgYXJndW1lbnQgZXhwZWN0ZWQiCittc2dzdHIgIlBhbGluZyB0aWRhayBzYXR1IFBSIGFyZ3VtZW4gZGlkdWdhIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjUwNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5zZXJ0aW5nIFwiJXNcIiBpbnRvIGVudHJ5IGhpbnQgdGFibGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAiTWVtYXN1a2FuIFwiJXNcIiBrZWRhbGFtIHRhYmVsIHBldHVuanVrIGdhZ2FsOiAlcyIKKworIy4gRklYTUUgLS0gbmVlZCA2Mi1iaXQgcmVsb2NhdGlvbiB0eXBlCisjOiBjb25maWcvdGMtaWE2NC5jOjU1MjkKK21zZ2lkICI2Mi1iaXQgcmVsb2NhdGlvbiBub3QgeWV0IGltcGxlbWVudGVkIgorbXNnc3RyICJyZWxva2FzaSA2Mi1iaXQgYmVsdW0gZGlpbXBsZW1lbnRhc2lrYW4iCisKKyMuIFhYWCB0ZWNobmljYWxseSwgdGhpcyBpcyB3cm9uZzogd2Ugc2hvdWxkIG5vdCBiZSBpc3N1aW5nIHdhcm5pbmcKKyMuIG1lc3NhZ2VzIHVudGlsIHdlJ3JlIHN1cmUgdGhpcyBpbnN0cnVjdGlvbiBwYXR0ZXJuIGlzIGdvaW5nIHRvCisjLiBiZSB1c2VkIQorIzogY29uZmlnL3RjLWlhNjQuYzo1NjEzCittc2dpZCAibG93ZXIgMTYgYml0cyBvZiBtYXNrIGlnbm9yZWQiCittc2dzdHIgInRvcGVuZyAxNiBiaXQgYmFnaWFuIGJhd2FoIGRpYWJhaWthbiIKKworIzogY29uZmlnL3RjLWlhNjQuYzo1ODk1Cittc2dpZCAiRXhwZWN0ZWQgc2VwYXJhdG9yIGA9JyIKK21zZ3N0ciAiRGlkdWdhIHBlbWlzYWggYD0nIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjU5MjgKK21zZ2lkICJEdXBsaWNhdGUgZXF1YWwgc2lnbiAoPSkgaW4gaW5zdHJ1Y3Rpb24iCittc2dzdHIgIkR1cGxpa2FzaSB0YW5kYSBzYW1hIGRlbmdhbiAoPSkgZGFsYW0gaW5zdHJ1a3NpIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjU5MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCBvcGVyYW5kIHNlcGFyYXRvciBgJWMnIgorbXNnc3RyICJPcGVyYW4gcGVtaXNhaCBgJWMnIHRpZGFrIGxlZ2FsIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjYwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3BlcmFuZCAldSBvZiBgJXMnIHNob3VsZCBiZSAlcyIKK21zZ3N0ciAiT3BlcmFuICV1IGRhcmkgYCVzJyBzZWhhcnVzbnlhICVzIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjYwNTMKK21zZ2lkICJXcm9uZyBudW1iZXIgb2Ygb3V0cHV0IG9wZXJhbmRzIgorbXNnc3RyICJKdW1sYWggc2FsYWggZGFyaSBrZWx1YXJhbiBvcGVyYW4iCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NjA1NQorbXNnaWQgIldyb25nIG51bWJlciBvZiBpbnB1dCBvcGVyYW5kcyIKK21zZ3N0ciAiSnVtbGFoIHNhbGFoIGRhcmkgbWFzdWthbiBvcGVyYW4iCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NjA1NworbXNnaWQgIk9wZXJhbmQgbWlzbWF0Y2giCittc2dzdHIgIk9wZXJhbiB0aWRhayBjb2NvayIKKworIzogY29uZmlnL3RjLWlhNjQuYzo2MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlIG9mIGAlYyVkJyBhcyBvdXRwdXQgb3BlcmFuZCIKK21zZ3N0ciAiUGVuZ2d1bmFhbiBgJWMlZCcgdGlkYWsgdmFsaWQgc2ViYWdhaSBvcGVyYW4ga2VsdWFyYW4iCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZSBvZiBgciVkJyBhcyBiYXNlIHVwZGF0ZSBhZGRyZXNzIG9wZXJhbmQiCittc2dzdHIgIlBlbmdndW5hYW4gYHIlZCcgdGlkYWsgdmFsaWQgc2ViYWdhaSBkYXNhciBhbGFtYXQgdXBkYXRlIG9wZXJhbiIKKworIzogY29uZmlnL3RjLWlhNjQuYzo2MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZHVwbGljYXRlIHVzZSBvZiBgJWMlZCciCittc2dzdHIgIlBlbmdndW5hYW4gZ2FuZGEgZGFyaSBgJWMlZCcgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NjE3MworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHNpbXVsdGFuZW91cyB1c2Ugb2YgYGYlZCcgYW5kIGBmJWQnIgorbXNnc3RyICJQZW5nZ3VuYWFuIGJlcnNhbWFhbiBgZiVkJyBkYW4gYGYlZCcgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJEYW5nZXJvdXMgc2ltdWx0YW5lb3VzIHVzZSBvZiBgZiVkJyBhbmQgYGYlZCciCittc2dzdHIgIlBlbmdndW5hYW4gZ2FuZGEgYGYlZCcgZGFuIGBmJWQnIGJlcmJhaGF5YSIKKworIzogY29uZmlnL3RjLWlhNjQuYzo2MjIzCittc2dpZCAiVmFsdWUgdHJ1bmNhdGVkIHRvIDYyIGJpdHMiCittc2dzdHIgIk5pbGFpIGRpcG90b25nIGtlIDYyIGJpdHMiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgb3BlcmFuZCB2YWx1ZTogJXMiCittc2dzdHIgIk5pbGFpIG9wZXJhbiBidXJ1azogJXMiCisKKyMuIEdpdmUgYW4gZXJyb3IgaWYgYSBmcmFnIGNvbnRhaW5pbmcgY29kZSBpcyBub3QgYWxpZ25lZCB0byBhIDE2IGJ5dGUKKyMuIGJvdW5kYXJ5LgorIzogY29uZmlnL3RjLWlhNjQuYzo2MzYxIGNvbmZpZy90Yy1pYTY0Lmg6MTcwCittc2dpZCAiaW5zdHJ1Y3Rpb24gYWRkcmVzcyBpcyBub3QgYSBtdWx0aXBsZSBvZiAxNiIKK21zZ3N0ciAiYWxhbWF0IGluc3RydWtzaSB0aWRhayBkYWxhbSBrZWxpcGF0YW4gZGFyaSAxNiIKKworIzogY29uZmlnL3RjLWlhNjQuYzo2NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcycgbXVzdCBiZSBsYXN0IGluIGJ1bmRsZSIKK21zZ3N0ciAiYCVzJyBoYXJ1cyBha2hpciBkYXJpIGJ1bmRsZSIKKworIzogY29uZmlnL3RjLWlhNjQuYzo2NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVybmFsIGVycm9yOiBkb24ndCBrbm93IGhvdyB0byBmb3JjZSAlcyB0byBlbmQgb2YgaW5zdHJ1Y3Rpb24gZ3JvdXAiCittc2dzdHIgIkludGVybmFsIGVycm9yOiB0aWRhayB0YWh1IGJhZ2FpbWFuYSBtZW1ha3NhICVzIGtlIGFraGlyIGRhcmkgZ3J1cCBpbnN0cnVrc2kiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnIG11c3QgYmUgbGFzdCBpbiBpbnN0cnVjdGlvbiBncm91cCIKK21zZ3N0ciAiYCVzJyBoYXJ1cyBha2hpciBkYXJpIGdydXAgaW5zdHJ1a3NpIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjY1MDQKK21zZ2lkICJMYWJlbCBtdXN0IGJlIGZpcnN0IGluIGEgYnVuZGxlIgorbXNnc3RyICJMYWJlbCBoYXJ1cyBwZXJ0YW1hIGRhbGFtIHNlYnVhaCBidW5kbGUiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NjU4MQorbXNnaWQgImhpbnQgaW4gQiB1bml0IG1heSBiZSB0cmVhdGVkIGFzIG5vcCIKK21zZ3N0ciAicGV0dW5qdWsgZGFsYW0gdW5pdCBCIG11bmdraW4gZGlwZXJsYWt1a2FuIHNlYmFnYWkgbm9wIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjY1OTIKK21zZ2lkICJoaW50IGluIEIgdW5pdCBjYW4ndCBiZSB1c2VkIgorbXNnc3RyICJwZXR1bmp1ayBkYWxhbSB1bml0IEIgdGlkYWsgZGFwYXQgZGlndW5ha2FuIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjY2MDYKK21zZ2lkICJlbWl0X29uZV9idW5kbGU6IHVuZXhwZWN0ZWQgZHluYW1pYyBvcCIKK21zZ3N0ciAiZW1pdF9vbmVfYnVuZGxlOiBkaWR1Z2Egb3AgZGluYW1pcyIKKworIzogY29uZmlnL3RjLWlhNjQuYzo2NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcycgZG9lcyBub3QgZml0IGludG8gJXMgdGVtcGxhdGUiCittc2dzdHIgImAlcycgdGlkYWsgY29jb2sga2VkYWxhbSB0ZW1wbGF0ZSAlcyIKKworIzogY29uZmlnL3RjLWlhNjQuYzo2NzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcycgZG9lcyBub3QgZml0IGludG8gYnVuZGxlIgorbXNnc3RyICJgJXMnIHRpZGFrIGNvY29rIGtlZGFsYW0gYnVuZGxlIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjY3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJyBjYW4ndCBnbyBpbiAlcyBvZiAlcyB0ZW1wbGF0ZSIKK21zZ3N0ciAiYCVzJyB0aWRhayBkYXBhdCBwZXJnaSBrZWRhbGFtICVzIGRhcmkgJXMgdGVtcGxhdGUiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6Njc2MgorbXNnaWQgIk1pc3NpbmcgJ30nIGF0IGVuZCBvZiBmaWxlIgorbXNnc3RyICJIaWxhbmcgJ30nIGRpYWtoaXIgZGFyaSBiZXJrYXMiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NjkwOQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnJlY29nbml6ZWQgb3B0aW9uICcteCVzJyIKK21zZ3N0ciAiT3BzaSAnLXglcycgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLWlhNjQuYzo2OTM2Cittc2dpZCAiIgorIklBLTY0IG9wdGlvbnM6XG4iCisiICAtLW1jb25zdGFudC1ncFx0ICBtYXJrIG91dHB1dCBmaWxlIGFzIHVzaW5nIHRoZSBjb25zdGFudC1HUCBtb2RlbFxuIgorIlx0XHRcdCAgKHNldHMgRUxGIGhlYWRlciBmbGFnIEVGX0lBXzY0X0NPTlNfR1ApXG4iCisiICAtLW1hdXRvLXBpY1x0XHQgIG1hcmsgb3V0cHV0IGZpbGUgYXMgdXNpbmcgdGhlIGNvbnN0YW50LUdQIG1vZGVsXG4iCisiXHRcdFx0ICB3aXRob3V0IGZ1bmN0aW9uIGRlc2NyaXB0b3JzIChzZXRzIEVMRiBoZWFkZXIgZmxhZ1xuIgorIlx0XHRcdCAgRUZfSUFfNjRfTk9GVU5DREVTQ19DT05TX0dQKVxuIgorIiAgLW1pbHAzMnwtbWlscDY0fC1tbHA2NHwtbXA2NFx0c2VsZWN0IGRhdGEgbW9kZWwgKGRlZmF1bHQgLW1scDY0KVxuIgorIiAgLW1sZSB8IC1tYmVcdFx0ICBzZWxlY3QgbGl0dGxlLSBvciBiaWctZW5kaWFuIGJ5dGUgb3JkZXIgKGRlZmF1bHQgLW1sZSlcbiIKKyIgIC1tdHVuZT1baXRhbml1bTF8aXRhbml1bTJdXG4iCisiXHRcdFx0ICB0dW5lIGZvciBhIHNwZWNpZmljIENQVSAoZGVmYXVsdCAtbXR1bmU9aXRhbml1bTIpXG4iCisiICAtbXVud2luZC1jaGVjaz1bd2FybmluZ3xlcnJvcl1cbiIKKyJcdFx0XHQgIHVud2luZCBkaXJlY3RpdmUgY2hlY2sgKGRlZmF1bHQgLW11bndpbmQtY2hlY2s9d2FybmluZylcbiIKKyIgIC1taGludC5iPVtva3x3YXJuaW5nfGVycm9yXVxuIgorIlx0XHRcdCAgaGludC5iIGNoZWNrIChkZWZhdWx0IC1taGludC5iPWVycm9yKVxuIgorIiAgLXggfCAteGV4cGxpY2l0XHQgIHR1cm4gb24gZGVwZW5kZW5jeSB2aW9sYXRpb24gY2hlY2tpbmdcbiIKKyIgIC14YXV0b1x0XHQgIGF1dG9tYWdpY2FsbHkgcmVtb3ZlIGRlcGVuZGVuY3kgdmlvbGF0aW9ucyAoZGVmYXVsdClcbiIKKyIgIC14bm9uZVx0XHQgIHR1cm4gb2ZmIGRlcGVuZGVuY3kgdmlvbGF0aW9uIGNoZWNraW5nXG4iCisiICAteGRlYnVnXHRcdCAgZGVidWcgZGVwZW5kZW5jeSB2aW9sYXRpb24gY2hlY2tlclxuIgorIiAgLXhkZWJ1Z25cdFx0ICBkZWJ1ZyBkZXBlbmRlbmN5IHZpb2xhdGlvbiBjaGVja2VyIGJ1dCB0dXJuIG9mZlxuIgorIlx0XHRcdCAgZGVwZW5kZW5jeSB2aW9sYXRpb24gY2hlY2tpbmdcbiIKKyIgIC14ZGVidWd4XHRcdCAgZGVidWcgZGVwZW5kZW5jeSB2aW9sYXRpb24gY2hlY2tlciBhbmQgdHVybiBvblxuIgorIlx0XHRcdCAgZGVwZW5kZW5jeSB2aW9sYXRpb24gY2hlY2tpbmdcbiIKK21zZ3N0ciAiIgorIk9wc2kgSUEtNjQ6XG4iCisiICAtLW1jb25zdGFudC1ncFx0ICAgdGFuZGFpIGtlbHVhcmFuIGJlcmthcyBtZW5nZ3VuYWthbiBtb2RlbCBrb25zdGFudGEtR1BcbiIKKyJcdFx0XHQgIChzZXRzIHRhbmRhIGhlYWRlciBFTEYgRUZfSUFfNjRfQ09OU19HUClcbiIKKyIgIC0tbWF1dG8tcGljXHRcdCAgdGFuZGFpIGtlbHVhcmFuIGRhcmkgYmVya2FzIGRlbmdhbiBtZW5nZ3VuYWthbiBtb2RlbCBrb25zdGFudGEtR0dcbiIKKyJcdFx0XHQgIHRhbnBhIGRlc2tyaXBzaSBmdW5nc2kgKHNldCB0YW5kYSBFTEYgaGVhZGVyXG4iCisiXHRcdFx0ICBFRl9JQV82NF9OT0ZVTkNERVNDX0NPTlNfR1ApXG4iCisiICAtbWlscDMyfC1taWxwNjR8LW1scDY0fC1tcDY0XHQgcGlsaWggbW9kZWwgZGF0YSAoYmFrdSAtbWxwNjQpXG4iCisiICAtbWxlIHwgLW1iZVx0XHQgICBwaWxpaCBsaXR0bGUtIGF0YXUgYmlnLWVuZGlhbiBwZW5ndXJ1dGFuIGJ5dGUgKGJha3UgLW1sZSlcbiIKKyIgIC1tdHVuZT1baXRhbml1bTF8aXRhbml1bTJdXG4iCisiXHRcdFx0ICB0dW5lIGtlIENQVSBzcGVzaWZpayAoYmFrdSAtbXR1bmU9aXRhbml1bTIpXG4iCisiICAtbXVud2luZC1jaGVjaz1bd2FybmluZ3xlcnJvcl1cbiIKKyJcdFx0XHQgdW53aW5kIGRpcmVrdGlmIHBlbWVyaWtzYWFuIChiYWt1IC1tdW53aW5kLWNoZWNrPXdhcm5pbmcpXG4iCisiICAtbWhpbnQuYj1bb2t8d2FybmluZ3xlcnJvcl1cbiIKKyJcdFx0XHQgIGhpbnQuYiBjaGVjayAoYmFrdSAtbWhpbnQuYj1lcnJvcilcbiIKKyIgIC14IHwgLXhleHBsaWNpdFx0ICBha3RpZmthbiBwZW1lcmlrc2FhbiBwZWxhbmdnYXJhbiBkZXBlbmRlbnNpXG4iCisiICAteGF1dG9cdFx0ICBhdXRvbWFnaWNhbGx5IGhhcHVzIHBlbGFuZ2dhcmFuIGRlcGVuZGVuc2kgKGJha3UpXG4iCisiICAteG5vbmVcdFx0ICBub24tYWt0aWZrYW4gcGVtZXJpa3NhYW4gcGVsYW5nZ2FyYW4gZGVwZW5kZW5zaVxuIgorIiAgLXhkZWJ1Z1x0XHQgZGVidWcgcGVtZXJpa3NhYW4gcGVsYW5nZ2FyYW4gZGVwZW5kZW5zaVxuIgorIiAgLXhkZWJ1Z25cdFx0IGRlYnVnIHBlbWVyaWtzYSBwZWxhbmdnYXJhbiBkZXBlbmRlbnNpIHRldGFwaSBub24tYWt0aWZrYW5cbiIKKyJcdFx0XHQgIHBlbWVyaWtzYWFuIHBlbGFuZ2dhcmFuIGRlcGVuZGVuc2lcbiIKKyIgIC14ZGVidWd4XHRcdCBkZWJ1ZyBwZW1lcmlrc2EgcGVsYW5nZ2FyYW4gZGVwZW5kZW5zaSBkYW4gbm9uLWFrdGlma2FuXG4iCisiXHRcdFx0IHBlbWVyaWtzYWFuIHBlbGFuZ2dhcmFuIGRlcGVuZGVuc2lcbiIKKworIzogY29uZmlnL3RjLWlhNjQuYzo2OTY2Cittc2dpZCAiLS1nc3RhYnMgaXMgbm90IHN1cHBvcnRlZCBmb3IgaWE2NCIKK21zZ3N0ciAiLS1nc3RhYnMgdGlkYWsgZGlkdWt1bmcgdW50dWsgaWE2NCIKKworIzogY29uZmlnL3RjLWlhNjQuYzo3MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgImlhNjQubWRfYmVnaW46IGNhbid0IGhhc2ggYCVzJzogJXMiCittc2dzdHIgImlhNjQubWRfYmVnaW46IHRpZGFrIGRhcGF0IGhhc2ggYCVzJzolcyIKKworIzogY29uZmlnL3RjLWlhNjQuYzo3MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIkluc2VydGluZyBcIiVzXCIgaW50byBjb25zdGFudCBoYXNoIHRhYmxlIGZhaWxlZDogJXMiCittc2dzdHIgIk1lbWFzdWthbiBcIiVzXCIga2VkYWxhbSB0YWJlbCBrb25zdGFudGEgaGFzaCBnYWdhbDogJXMiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NzI3MSBjb25maWcvdGMtbWlwcy5jOjE4ODAKK21zZ2lkICJDb3VsZCBub3Qgc2V0IGFyY2hpdGVjdHVyZSBhbmQgbWFjaGluZSIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuc2V0IGFyc2l0ZWt0dXIgZGFuIG1lc2luIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjczOTUKK21zZ2lkICJFeHBsaWNpdCBzdG9wcyBhcmUgaWdub3JlZCBpbiBhdXRvIG1vZGUiCittc2dzdHIgIkVrc3BsaXNpIHN0b3BzIGRpYWJhaWthbiBkYWxhbSBtb2RlIGF1dG8iCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NzQwNAorbXNnaWQgIkZvdW5kICd7JyB3aGVuIG1hbnVhbCBidW5kbGluZyBpcyBhbHJlYWR5IHR1cm5lZCBvbiIKK21zZ3N0ciAiRGl0ZW11a2FuICd7JyBrZXRpa2EgYnVuZGxpbmcgbWFudWFsIHRlbGFoIGRpYWt0aWZrYW4iCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NzQxNworbXNnaWQgIkZvdW5kICd7JyBhZnRlciBleHBsaWNpdCBzd2l0Y2ggdG8gYXV0b21hdGljIG1vZGUiCittc2dzdHIgIkRpdGVtdWthbiAneycgc2V0ZWxhaCBwZW5ndWJhaGFuIGVrc3BsaXNpdCBrZSBtb2RlIG90b21hdGlzIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjc0MjMKK21zZ2lkICJGb3VuZCAnfScgd2hlbiBtYW51YWwgYnVuZGxpbmcgaXMgb2ZmIgorbXNnc3RyICJEaXRlbXVrYW4gJ30nIGtldGlrYSBidW5kbGluZyBtYW51YWwgdGlkYWsgYWt0aWYiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NzQ1MAorbXNnaWQgIkV4cGVjdGVkICcpJyIKK21zZ3N0ciAiRGlkdWdhICcpJyIKKworIzogY29uZmlnL3RjLWlhNjQuYzo3NDU1Cittc2dpZCAiUXVhbGlmeWluZyBwcmVkaWNhdGUgZXhwZWN0ZWQiCittc2dzdHIgIk1lbmdrdWFsaWZpa2FzaSBwcmVkaWthdCBkaWR1Z2EiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NzQ3NAorbXNnaWQgIlRhZyBtdXN0IGNvbWUgYmVmb3JlIHF1YWxpZnlpbmcgcHJlZGljYXRlLiIKK21zZ3N0ciAiVGFnIGhhcnVzIGRhdGFuZyBzZWJlbHVtIHF1YWxpZmlrYXNpIHByZWRpa2F0LiIKKworIzogY29uZmlnL3RjLWlhNjQuYzo3NTA0Cittc2dpZCAiRXhwZWN0ZWQgJzonIgorbXNnc3RyICJEaWR1Z2EgJzonIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjc1MjAKK21zZ2lkICJUYWcgbmFtZSBleHBlY3RlZCIKK21zZ3N0ciAiTmFtYSB0YWcgZGlkdWdhIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjc2MjIKK21zZ2lkICJSb3RhdGluZyByZWdpc3RlciBpbmRleCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGNvbnN0YW50IgorbXNnc3RyICJJbmRla3MgcmVnaXN0ZXIgcmV0YXNpIGhhcnVzIGJlcnVwYSBzZWJ1YWgga29uc3RhbnRhIHRpZGFrIG5lZ2F0aWYiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NzYyNworIywgYy1mb3JtYXQKK21zZ2lkICJJbmRleCBvdXQgb2YgcmFuZ2UgMC4uJXUiCittc2dzdHIgIkluZGVrcyBkaWx1YXIgZGFyaSBqYW5na2F1YW4gMC4uJXUiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NzYzOQorbXNnaWQgIkluZGlyZWN0IHJlZ2lzdGVyIGluZGV4IG11c3QgYmUgYSBnZW5lcmFsIHJlZ2lzdGVyIgorbXNnc3RyICJJbmRla3MgcmVnaXN0ZXIgdGlkYWsgbGFuZ3N1bmcgaGFydXMgYmVydXBhIHNlYnVhaCByZWdpc3RlciB1bXVtIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjc2NDgKK21zZ2lkICJJbmRleCBjYW4gb25seSBiZSBhcHBsaWVkIHRvIHJvdGF0aW5nIG9yIGluZGlyZWN0IHJlZ2lzdGVycyIKK21zZ3N0ciAiSW5kZWtzIGhhbnlhIGRhcGF0IGRpYXBsaWthc2lrYW4ga2Ugcm90YXNpIGF0YXUgcmVnaXN0ZXIgdGlkYWsgbGFuZ3N1bmciCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NzY4NAorbXNnaWQgIkV4cGVjdGVkICcoJyIKK21zZ3N0ciAiRGlkdWdhICcoJyIKKworIzogY29uZmlnL3RjLWlhNjQuYzo3NjkyCittc2dpZCAiTWlzc2luZyAnKSciCittc2dzdHIgIkhpbGFuZyAnKSciCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NzcwMQorbXNnaWQgIk5vdCBhIHN5bWJvbGljIGV4cHJlc3Npb24iCittc2dzdHIgIkJ1a2FuIHNlYnVhaCBla3NwcmVzaSBzaW1ib2xpayIKKworIzogY29uZmlnL3RjLWlhNjQuYzo3NzA2IGNvbmZpZy90Yy1pYTY0LmM6NzcyMAorbXNnaWQgIklsbGVnYWwgY29tYmluYXRpb24gb2YgcmVsb2NhdGlvbiBmdW5jdGlvbnMiCittc2dzdHIgIktvbWJpbmFzaSB0aWRhayBsZWdhbCBkYXJpIGZ1bmdzaSByZWxva2FzaSIKKworIzogY29uZmlnL3RjLWlhNjQuYzo3ODA5Cittc2dpZCAiTm8gY3VycmVudCBmcmFtZSIKK21zZ3N0ciAiQnVrYW4gZnJhbWUgc2VrYXJhbmciCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6NzgxMQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWdpc3RlciBudW1iZXIgb3V0IG9mIHJhbmdlIDAuLiV1IgorbXNnc3RyICJOb21vciByZWdpc3RlciBkaWx1YXIgZGFyaSBqYW5na2F1YW4gMC4uJXUiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6Nzg0OQorbXNnaWQgIlN0YW5kYWxvbmUgYCMnIGlzIGlsbGVnYWwiCittc2dzdHIgIlN0YW5kYWxvbmUgYCMnIGFkYWxhaCB0aWRhayBsZWdhbCIKKworIzogY29uZmlnL3RjLWlhNjQuYzo3ODUyCittc2dpZCAiUmVkdW5kYW50IGAjJyBzdWZmaXggb3BlcmF0b3JzIgorbXNnc3RyICJSZWR1bmRhbnNpIGFraWhyYW4gb3BlcmF0b3IgYCMnIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjgwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5oYW5kbGVkIGRlcGVuZGVuY3kgJXMgZm9yICVzICglcyksIG5vdGUgJWQiCittc2dzdHIgIkRlcGVuZGVuc2kgJXMgdGlkYWsgZGl0YW5nYW5pIHVudHVrICVzICglcyksIGNhdGF0ICVkIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjkzMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5yZWNvZ25pemVkIGRlcGVuZGVuY3kgc3BlY2lmaWVyICVkXG4iCittc2dzdHIgIlNwZXNpZmlrYXNpICVkIGRlcGVuZGVuc2kgdGlkYWsgZGlrZW5hbFxuIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjEwMTgxCittc2dpZCAiT25seSB0aGUgZmlyc3QgcGF0aCBlbmNvdW50ZXJpbmcgdGhlIGNvbmZsaWN0IGlzIHJlcG9ydGVkIgorbXNnc3RyICJIYW55YSBqaWthIGRpdGVtdWthbiBrb25mbGlrIGphbHVyIHBlcnRhbWEgeWFuZyBkaWxhcG9ya2FuIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjEwMTgzCittc2dpZCAiVGhpcyBpcyB0aGUgbG9jYXRpb24gb2YgdGhlIGNvbmZsaWN0aW5nIHVzYWdlIgorbXNnc3RyICJJbmkgYWRhbGFoIGxva2FzaSBkaW1hbmEgdGVyamFkaSBrb25mbGlrIHBlbmdndW5hYW4iCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MTA0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBvcGNvZGUgYCVzJyIKK21zZ3N0ciAiT3Brb2RlIGAlcycgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLWlhNjQuYzoxMDUyMgorIywgYy1mb3JtYXQKK21zZ2lkICJBUiAlZCBjYW4gb25seSBiZSBhY2Nlc3NlZCBieSAlYy11bml0IgorbXNnc3RyICJBUiAlZCBoYW55YSBkYXBhdCBkaWFrc2VzIGRlbmdhbiAlYy11bml0IgorCisjOiBjb25maWcvdGMtaWE2NC5jOjEwNTM0Cittc2dpZCAiaGludC5iIG1heSBiZSB0cmVhdGVkIGFzIG5vcCIKK21zZ3N0ciAiaGludC5iIGJvbGVoIGRpcGVybGFrdWthbiBzZWJhZ2FpIG5vcCIKKworIzogY29uZmlnL3RjLWlhNjQuYzoxMDUzNworbXNnaWQgImhpbnQuYiBzaG91bGRuJ3QgYmUgdXNlZCIKK21zZ3N0ciAiaGludC5iIHNlaGFydXNueWEgdGlkYWsgZGlndW5ha2FuIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjEwNTc2CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcycgY2Fubm90IGJlIHByZWRpY2F0ZWQiCittc2dzdHIgImAlcycgdGlkYWsgZGFwYXQgZGlwcmVkaWthdCIKKworIzogY29uZmlnL3RjLWlhNjQuYzoxMDY0OAorbXNnaWQgIkNsb3NpbmcgYnJhY2tldCBtaXNzaW5nIgorbXNnc3RyICJIaWxhbmcgS3VydW5nIHBlbnV0dXAiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MTA2NTcKK21zZ2lkICJJbmRleCBtdXN0IGJlIGEgZ2VuZXJhbCByZWdpc3RlciIKK21zZ3N0ciAiSW5kZWtzIGhhcnVzIGJlcnVwYSBzZWJ1YWggcmVnaXN0ZXIgdW11bSIKKworIzogY29uZmlnL3RjLWlhNjQuYzoxMDgyMgorIywgYy1mb3JtYXQKK21zZ2lkICJVbnN1cHBvcnRlZCBmaXh1cCBzaXplICVkIgorbXNnc3RyICJVa3VyYW4gcGVyYmFpa2FuIGZpeHVwICVkIHRpZGFrIGRpZHVrdW5nIgorCisjLiBUaGlzIHNob3VsZCBiZSBhbiBlcnJvciwgYnV0IHNpbmNlIHByZXZpb3VzbHkgdGhlcmUgd2Fzbid0IGFueQorIy4gZGlhZ25vc3RpYyBoZXJlLCBkb24ndCBtYWtlIGl0IGZhaWwgYmVjYXVzZSBvZiB0aGlzIGZvciBub3cuCisjOiBjb25maWcvdGMtaWE2NC5jOjExMDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBleHByZXNzICVzJWQlcyByZWxvY2F0aW9uIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5nZWtzcHJlc2lrYW4gcmVsb2thc2kgJXMlZCVzIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjExMTA4Cittc2dpZCAiTm8gYWRkZW5kIGFsbG93ZWQgaW4gQGZwdHIoKSByZWxvY2F0aW9uIgorbXNnc3RyICJBZGRlbmQgdGlkYWsgZGlwZXJib2xlaGthbiBkYWxhbSByZWxva2FzaSBAZnB0cigpIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjExMjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG11c3QgaGF2ZSBhIGNvbnN0YW50IHZhbHVlIgorbXNnc3RyICIlcyBoYXJ1cyBtZW1pbGlraSBzZWJ1YWggbmlsYWkga29uc3RhbiIKKworIzogY29uZmlnL3RjLWlhNjQuYzoxMTI2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgcmVwcmVzZW50ICVzIHJlbG9jYXRpb24gaW4gb2JqZWN0IGZpbGUiCittc2dzdHIgIlRpZGFrIGRhcGF0IGRpcmVwcmVzZW50YXNpa2FuIHJlbG9rYXNpICVzIGRhbGFtIGJlcmthcyBvYmplayIKKworIzogY29uZmlnL3RjLWlhNjQuYzoxMTM3OQorbXNnaWQgIkNhbid0IGFkZCBzdG9wIGJpdCB0byBtYXJrIGVuZCBvZiBpbnN0cnVjdGlvbiBncm91cCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuYW1iYWhrYW4gYml0IGhlbnRpIHVudHVrIG1lbmFuZGFpIGFraGlyIGRhcmkgZ3J1cCBpbnN0cnVrc2kiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MTE0NzkgY29uZmlnL3RjLXNjb3JlLmM6NjMyOCByZWFkLmM6MTQ0NyByZWFkLmM6MjQxOAorIzogcmVhZC5jOjMwNTIgcmVhZC5jOjMzODUgcmVhZC5jOjM0MjkKK21zZ2lkICJleHBlY3RlZCBzeW1ib2wgbmFtZSIKK21zZ3N0ciAiZGlkdWdhIG5hbWEgc2ltYm9sIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjExNDg5IHJlYWQuYzoyNDI4IHJlYWQuYzozMDYyIHJlYWQuYzozNDEzIHN0YWJzLmM6NDY4CisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGVkIGNvbW1hIGFmdGVyIFwiJXNcIiIKK21zZ3N0ciAiZGlkdWdhIGtvbWEgc2VzdWRhaCBcIiVzXCIiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MTE1MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJyBpcyBhbHJlYWR5IHRoZSBhbGlhcyBvZiAlcyBgJXMnIgorbXNnc3RyICJgJXMnIHRlbGFoIG1lbmphZGkgYWxpYXMgZGFyaSAlcyBgJXMnIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjExNTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGAlcycgYWxyZWFkeSBoYXMgYW4gYWxpYXMgYCVzJyIKK21zZ3N0ciAiJXMgYCVzJyB0ZWxhaCBtZW5qYWRpIGFsaWFzIGAlcyciCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MTE1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5zZXJ0aW5nIFwiJXNcIiBpbnRvICVzIGFsaWFzIGhhc2ggdGFibGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWVtYXN1a2FuIFwiJXNcIiBrZWRhbGFtIHRhYmVsIGhhc2ggYWxpYXMgJXMgZ2FnYWw6ICVzIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjExNTYwCisjLCBjLWZvcm1hdAorbXNnaWQgImluc2VydGluZyBcIiVzXCIgaW50byAlcyBuYW1lIGhhc2ggdGFibGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWVtYXN1a2FuIFwiJXNcIiBrZWRhbGFtIHRhYmVsIGhhc2ggbmFtYSAlcyBnYWdhbDogJXMiCisKKyM6IGNvbmZpZy90Yy1pYTY0LmM6MTE1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltYm9sIGAlcycgYWxpYXNlZCB0byBgJXMnIGlzIG5vdCB1c2VkIgorbXNnc3RyICJzaW1ib2wgYCVzJyBkaWFsaWFza2FuIGtlIGAlcycgdGlkYWsgZGlndW5ha2FuIgorCisjOiBjb25maWcvdGMtaWE2NC5jOjExNjAxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3Rpb24gYCVzJyBhbGlhc2VkIHRvIGAlcycgaXMgbm90IHVzZWQiCittc2dzdHIgImJhZ2lhbiBgJXMnIGRpYWxpYWthbiBrZSBgJXMnIHRpZGFrIGRpZ3VuYWthbiIKKworIzogY29uZmlnL3RjLWlwMmsuYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSVAySyBzcGVjaWZpYyBjb21tYW5kIGxpbmUgb3B0aW9uczpcbiIKK21zZ3N0ciAib3BzaSBzcGVzaWZpayBiYXJpcyBwZXJpbnRhaCBJUDJLOlxuIgorCisjOiBjb25maWcvdGMtaXAyay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1taXAyMDIyICAgICAgICAgICAgICAgcmVzdHJpY3QgdG8gSVAyMDIyIGluc25zIFxuIgorbXNnc3RyICIgIC1taXAyMDIyICAgICAgICAgICAgICAgYmF0YXNpIGtlIGluc25zIElQMjAyMiBcbiIKKworIzogY29uZmlnL3RjLWlwMmsuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtbWlwMjAyMmV4dCAgICAgICAgICAgIHBlcm1pdCBleHRlbmRlZCBJUDIwMjIgaW5zblxuIgorbXNnc3RyICIgIC1taXAyMDIyZXh0ICAgICAgICAgICAgIGlqaW5rYW4gZWtzdGVuZGVkIGluc24gSVAyMDIyXG4iCisKKyM6IGNvbmZpZy90Yy1pcTIwMDAuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHlpZWxkaW5nIGluc3RydWN0aW9uICVzIG1heSBub3QgYmUgaW4gYSBkZWxheSBzbG90LiIKK21zZ3N0ciAiaW5zdHJ1a3NpIHlhbmcgbWVuZ2hhc2lsa2FuICVzIG11bmdraW4gdGlkYWsgZGFsYW0gc2VidWFoIHNsb3QgdGVydHVuZGEuIgorCisjOiBjb25maWcvdGMtaXEyMDAwLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlZ2lzdGVyIG51bWJlciAoUiVsZCkgZm9yIGRvdWJsZSB3b3JkIGFjY2VzcyBtdXN0IGJlIGV2ZW4uIgorbXNnc3RyICJOb21vciByZWdpc3RlciAoUiVsZCkgdW50dWsgYWtzZXMga2F0YSBnYW5kYSBoYXJ1cyBnZW5hcC4iCisKKyM6IGNvbmZpZy90Yy1pcTIwMDAuYzozODEgY29uZmlnL3RjLWlxMjAwMC5jOjM4NiBjb25maWcvdGMtaXEyMDAwLmM6MzkxCisjOiBjb25maWcvdGMtaXEyMDAwLmM6NDA4IGNvbmZpZy90Yy1tdC5jOjI0NCBjb25maWcvdGMtbXQuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmFuZCByZWZlcmVuY2VzIFIlbGQgb2YgcHJldmlvdXMgbG9hZC4iCittc2dzdHIgInJlZmVyZW5zaSBvcGVyYW4gUiVsZCBkYXJpIGxvYWQgc2ViZWx1bW55YS4iCisKKyM6IGNvbmZpZy90Yy1pcTIwMDAuYzozOTYKK21zZ2lkICJpbnN0cnVjdGlvbiBpbXBsaWNpdGx5IGFjY2Vzc2VzIFIzMSBvZiBwcmV2aW91cyBsb2FkLiIKK21zZ3N0ciAiaW5zdHJ1a3NpIG1lbmdpbXBsaWthc2lrYW4gYWtzZXMgUjMxIGRhcmkgbG9hZCBzZWJlbHVtbnlhLiIKKworIzogY29uZmlnL3RjLWlxMjAwMC5jOjY1MSBjb25maWcvdGMtbWVwLmM6MTY0NworbXNnaWQgIlVubWF0Y2hlZCBoaWdoIHJlbG9jYXRpb24iCittc2dzdHIgInJlbG9rYXNpIHRpbmdnaSB0aWRhayBjb2NvayIKKworIzogY29uZmlnL3RjLWlxMjAwMC5jOjgyOSBjb25maWcvdGMtbWlwcy5jOjE0ODI4IGNvbmZpZy90Yy1zY29yZS5jOjYwMzUKK21zZ2lkICIuZW5kIG5vdCBpbiB0ZXh0IHNlY3Rpb24iCittc2dzdHIgIi5lbmQgdGlkYWsgZGFsYW0gZGFlcmFoIHRleHQiCisKKyM6IGNvbmZpZy90Yy1pcTIwMDAuYzo4MzMgY29uZmlnL3RjLW1pcHMuYzoxNDgzMiBjb25maWcvdGMtc2NvcmUuYzo2MDM4Cittc2dpZCAiLmVuZCBkaXJlY3RpdmUgd2l0aG91dCBhIHByZWNlZGluZyAuZW50IGRpcmVjdGl2ZS4iCittc2dzdHIgIi5lbmQgZGlyZWt0aWYgdGFucGEgc2VidWFoIGF3YWxhbiAuZW50IGRpcmVrdGlmLiIKKworIzogY29uZmlnL3RjLWlxMjAwMC5jOjg0MiBjb25maWcvdGMtbWlwcy5jOjE0ODQxIGNvbmZpZy90Yy1zY29yZS5jOjYwNDYKK21zZ2lkICIuZW5kIHN5bWJvbCBkb2VzIG5vdCBtYXRjaCAuZW50IHN5bWJvbC4iCittc2dzdHIgIi5lbmQgc2ltYm9sIHRpZGFrIGNvY29rIC5lbnQgc2ltYm9sLiIKKworIzogY29uZmlnL3RjLWlxMjAwMC5jOjg0NSBjb25maWcvdGMtbWlwcy5jOjE0ODQ4IGNvbmZpZy90Yy1zY29yZS5jOjYwNTEKK21zZ2lkICIuZW5kIGRpcmVjdGl2ZSBtaXNzaW5nIG9yIHVua25vd24gc3ltYm9sIgorbXNnc3RyICIuZW5kIGRpcmVrdGlmIGhpbGFuZyBhdGF1IHNpbWJvbCB0aWRhayBkaWtldGFodWkiCisKKyM6IGNvbmZpZy90Yy1pcTIwMDAuYzo4NjMKK21zZ2lkICJFeHBlY3RlZCBzaW1wbGUgbnVtYmVyLiIKK21zZ3N0ciAiRGlkdWdhIG5vbW9yIHNpbXBsZS4iCisKKyM6IGNvbmZpZy90Yy1pcTIwMDAuYzo4OTIgY29uZmlnL3RjLW1pcHMuYzoxNDc1MyBjb25maWcvdGMtc2NvcmUuYzo1ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAqaW5wdXRfbGluZV9wb2ludGVyID09ICclYycgMHglMDJ4XG4iCittc2dzdHIgIiAqaW5wdXRfbGluZV9wb2ludGVyID09ICclYycgMHglMDJ4XG4iCisKKyM6IGNvbmZpZy90Yy1pcTIwMDAuYzo4OTQKK21zZ2lkICJJbnZhbGlkIG51bWJlciIKK21zZ3N0ciAiTm9tb3IgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1pcTIwMDAuYzo5MjkgY29uZmlnL3RjLW1pcHMuYzoxNDkyMyBjb25maWcvdGMtc2NvcmUuYzo1OTI0Cittc2dpZCAiLmVudCBvciAuYWVudCBub3QgaW4gdGV4dCBzZWN0aW9uLiIKK21zZ3N0ciAiLmVudCBhdGF1IC5hZW50IHRpZGFrIGRhbGFtIGRhZXJhaCB0ZXh0LiIKKworIzogY29uZmlnL3RjLWlxMjAwMC5jOjkzMgorbXNnaWQgIm1pc3NpbmcgYC5lbmQnIgorbXNnc3RyICJoaWxhbmcgYC5lbmQnIgorCisjOiBjb25maWcvdGMtbTMyYy5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICIgTTMyQyBzcGVjaWZpYyBjb21tYW5kIGxpbmUgb3B0aW9uczpcbiIKK21zZ3N0ciAiIE0zMkMgc3Blc2lmaWsgb3BzaSBiYXJpcyBwZXJpbnRhaDpcbiIKKworIy4gUHJldGVuZCB0aGF0IHdlIGRvIG5vdCByZWNvZ25pc2UgdGhpcyBvcHRpb24uCisjOiBjb25maWcvdGMtbTMyci5jOjMzMQorbXNnaWQgIlVucmVjb2duaXNlZCBvcHRpb246IC1oaWRkZW4iCittc2dzdHIgIk9wc2kgdGlkYWsgZGlrZXRhbmw6IC1oaWRkZW4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6MzU4IGNvbmZpZy90Yy1zcGFyYy5jOjU3OQorbXNnaWQgIlVucmVjb2duaXplZCBvcHRpb24gZm9sbG93aW5nIC1LIgorbXNnc3RyICJPcHNpIGJlcmlrdXQgLUsgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLW0zMnIuYzozNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIE0zMlIgc3BlY2lmaWMgY29tbWFuZCBsaW5lIG9wdGlvbnM6XG4iCittc2dzdHIgIiBPcHNpIHNwZXNpZmlrIE0zMlIgYmFyaXMgcGVyaW50YWg6XG4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6Mzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLW0zMnIgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBzdXBwb3J0IGZvciB0aGUgbTMycnggaW5zdHJ1Y3Rpb24gc2V0XG4iCittc2dzdHIgIiAgLW0zMnIgICAgICAgICAgICAgICAgICAgbm9uLWFrdGlma2FuIGR1a3VuZ2FuIHVudHVrIHNldCBpbnN0cnVrc2kgbTMycnhcbiIKKworIzogY29uZmlnL3RjLW0zMnIuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtbTMycnggICAgICAgICAgICAgICAgICBzdXBwb3J0IHRoZSBleHRlbmRlZCBtMzJyeCBpbnN0cnVjdGlvbiBzZXRcbiIKK21zZ3N0ciAiICAtbTMycnggICAgICAgICAgICAgICAgICBkdWt1bmcgc2V0IGluc3RydWtzaSBla3N0ZW5zaSBtMzJyeFxuIgorCisjOiBjb25maWcvdGMtbTMyci5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1tMzJyMiAgICAgICAgICAgICAgICAgIHN1cHBvcnQgdGhlIGV4dGVuZGVkIG0zMnIyIGluc3RydWN0aW9uIHNldFxuIgorbXNnc3RyICIgIC1tMzJyMiAgICAgICAgICAgICAgICAgIGR1a3VuZyBzZXQgaW5zdHJ1a3NpIGVrc3RlbnNpIG0zMnIyXG4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLUVMLC1saXR0bGUgICAgICAgICAgICAgcHJvZHVjZSBsaXR0bGUgZW5kaWFuIGNvZGUgYW5kIGRhdGFcbiIKK21zZ3N0ciAiICAtRUwsLWxpdHRsZSAgICAgICAgICAgICBtZW5naGFzaWxrYW4ga29kZSBkYW4gZGF0YSBsaXR0bGUgZW5kaWFuXG4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLUVCLC1iaWcgICAgICAgICAgICAgICAgcHJvZHVjZSBiaWcgZW5kaWFuIGNvZGUgYW5kIGRhdGFcbiIKK21zZ3N0ciAiICAtRUIsLWJpZyAgICAgICAgICAgICAgICBtZW5oYXNpbGthbiBrb2RlIGRhbiBkYXRhIGJpZyBlbmRpYW5cbiIKKworIzogY29uZmlnL3RjLW0zMnIuYzozODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtcGFyYWxsZWwgICAgICAgICAgICAgICB0cnkgdG8gY29tYmluZSBpbnN0cnVjdGlvbnMgaW4gcGFyYWxsZWxcbiIKK21zZ3N0ciAiICAtcGFyYWxsZWwgICAgICAgICAgICAgICAgbWVuY29iYSBtZW5na29tYmluYXNpa2FuIGluc3RydWtzaSBkYWxhbSBwYXJhbGVsXG4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLW5vLXBhcmFsbGVsICAgICAgICAgICAgZGlzYWJsZSAtcGFyYWxsZWxcbiIKK21zZ3N0ciAiICAtbm8tcGFyYWxsZWwgICAgICAgICAgICBub24tYWt0aWZrYW4gLXBhcmFsbGVsXG4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLW5vLWJpdGluc3QgICAgICAgICAgICAgZGlzYWxsb3cgdGhlIE0zMlIyJ3MgZXh0ZW5kZWQgYml0LWZpZWxkIGluc3RydWN0aW9uc1xuIgorbXNnc3RyICIgIC1uby1iaXRpbnN0ICAgICAgICAgICAgIGxhcmFuZyBla3N0ZW5zaSBiaXQtYmllbGYgaW5zdHJ1a3NpIE0zMlIyXG4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLU8gICAgICAgICAgICAgICAgICAgICAgdHJ5IHRvIG9wdGltaXplIGNvZGUuICBJbXBsaWVzIC1wYXJhbGxlbFxuIgorbXNnc3RyICIgIC1PICAgICAgICAgICAgICAgICAgICAgIG1lbmNvYmEgdW50dWsgbWVuZ29wdGltYXNpIGtvZGUuIE1lbmdpbXBsaWthc2lrYW4gLXBhcmFsbGVsXG4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6Mzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLXdhcm4tZXhwbGljaXQtcGFyYWxsZWwtY29uZmxpY3RzICAgICB3YXJuIHdoZW4gcGFyYWxsZWwgaW5zdHJ1Y3Rpb25zXG4iCittc2dzdHIgIiAgLXdhcm4tZXhwbGljaXQtcGFyYWxsZWwtY29uZmxpY3RzICAgICBwZXJpbmdhdGthbiBrZXRpa2EgaW5zdHJ1a3NpIHBhcmFsZWxcbiIKKworIzogY29uZmlnL3RjLW0zMnIuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaWdodCB2aW9sYXRlIGNvbnRyYWludHNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdW5na2luIG1lbGFuZ2dhciBrb25zdHJhaW5cbiIKKworIzogY29uZmlnL3RjLW0zMnIuYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtbm8td2Fybi1leHBsaWNpdC1wYXJhbGxlbC1jb25mbGljdHMgIGRvIG5vdCB3YXJuIHdoZW4gcGFyYWxsZWxcbiIKK21zZ3N0ciAiICAtbm8td2Fybi1leHBsaWNpdC1wYXJhbGxlbC1jb25mbGljdHMgIGphbmdhbiBwZXJpbmdhdGthbiBrZXRpa2EgcGFyYWxlbFxuIgorCisjOiBjb25maWcvdGMtbTMyci5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RydWN0aW9ucyBtaWdodCB2aW9sYXRlIGNvbnRyYWludHNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0cnVrc2kgbXVuZ2tpbiBtZWxhbmdnYXIga29uc3RyYWluXG4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6NDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLVdwICAgICAgICAgICAgICAgICAgICAgc3lub255bSBmb3IgLXdhcm4tZXhwbGljaXQtcGFyYWxsZWwtY29uZmxpY3RzXG4iCittc2dzdHIgIiAgLVdwICAgICAgICAgICAgICAgICAgICAgc2lub25pbSB1bnR1ayAtd2Fybi1leHBsaWNpdC1wYXJhbGxlbC1jb25mbGljdHNcbiIKKworIzogY29uZmlnL3RjLW0zMnIuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtV25wICAgICAgICAgICAgICAgICAgICBzeW5vbnltIGZvciAtbm8td2Fybi1leHBsaWNpdC1wYXJhbGxlbC1jb25mbGljdHNcbiIKK21zZ3N0ciAiICAtV25wICAgICAgICAgICAgICAgICAgICBzaW5vbmltIHVudHVrIC1uby13YXJuLWV4cGxpY2l0LXBhcmFsbGVsLWNvbmZsaWN0c1xuIgorCisjOiBjb25maWcvdGMtbTMyci5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1pZ25vcmUtcGFyYWxsZWwtY29uZmxpY3RzICAgICAgICAgICAgZG8gbm90IGNoZWNrIHBhcmFsbGVsIGluc3RydWN0aW9uc1xuIgorbXNnc3RyICIgIC1pZ25vcmUtcGFyYWxsZWwtY29uZmxpY3RzICAgICAgICAgICAgamFuZ2FuIHBlcmlrc2EgaW5zdHJ1a3NpIHBhcmFsZWxcbiIKKworIzogY29uZmlnL3RjLW0zMnIuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbyBjb250cmFpbnQgdmlvbGF0aW9uc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVsYW5nZ2FyYW4ga29uc3RyYWluIGZvXG4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLW5vLWlnbm9yZS1wYXJhbGxlbC1jb25mbGljdHMgICAgICAgICBjaGVjayBwYXJhbGxlbCBpbnN0cnVjdGlvbnMgZm9yXG4iCittc2dzdHIgIiAgLW5vLWlnbm9yZS1wYXJhbGxlbC1jb25mbGljdHMgICAgICAgICBwZXJpa3NhIGluc3RydWtzaSBwYXJhbGVsIHVudHVrXG4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJhaW50IHZpb2xhdGlvbnNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlbGFuZ2dhcmFuIGtvbnN0cmFpblxuIgorCisjOiBjb25maWcvdGMtbTMyci5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1JcCAgICAgICAgICAgICAgICAgICAgIHN5bm9ueW0gZm9yIC1pZ25vcmUtcGFyYWxsZWwtY29uZmxpY3RzXG4iCittc2dzdHIgIiAgLUlwICAgICAgICAgICAgICAgICAgICAgc2lub25pbSB1bnR1ayAtaWdub3JlLXBhcmFsbGVsLWNvbmZsaWN0c1xuIgorCisjOiBjb25maWcvdGMtbTMyci5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1uSXAgICAgICAgICAgICAgICAgICAgIHN5bm9ueW0gZm9yIC1uby1pZ25vcmUtcGFyYWxsZWwtY29uZmxpY3RzXG4iCittc2dzdHIgIiAgLW5JcCAgICAgICAgICAgICAgICAgICAgc2lub25pbSB1bnR1ayAtbm8taWdub3JlLXBhcmFsbGVsLWNvbmZsaWN0c1xuIgorCisjOiBjb25maWcvdGMtbTMyci5jOjQxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC13YXJuLXVubWF0Y2hlZC1oaWdoICAgIHdhcm4gd2hlbiBhbiAocyloaWdoIHJlbG9jIGhhcyBubyBtYXRjaGluZyBsb3cgcmVsb2NcbiIKK21zZ3N0ciAiICAtd2Fybi11bm1hdGNoZWQtaGlnaCAgICBwZXJpbmdhdGthbiBrZXRpa2Egc2VidWFoIHJlbG9rYXNpIHRpbmdnaSB0aWRhayBtZW1pbGlraSBwYXNhbmdhbiByZWxva2FzaSByZW5kYWhcbiIKKworIzogY29uZmlnL3RjLW0zMnIuYzo0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtbm8td2Fybi11bm1hdGNoZWQtaGlnaCBkbyBub3Qgd2FybiBhYm91dCBtaXNzaW5nIGxvdyByZWxvY3NcbiIKK21zZ3N0ciAiICAtbm8td2Fybi11bm1hdGNoZWQtaGlnaCBqYW5nYW4gcGVyaW5nYXRrYW4gbWVuZ2VuYWkgaGlsYW5nbnlhIHJlbG9rYXNpIGJhd2FoXG4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6NDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLVd1aCAgICAgICAgICAgICAgICAgICAgc3lub255bSBmb3IgLXdhcm4tdW5tYXRjaGVkLWhpZ2hcbiIKK21zZ3N0ciAiICAtV3VoICAgICAgICAgICAgICAgICAgICBzaW5vbmltIHVudHVrIC13YXJuLXVubWF0Y2hlZC1oaWdoXG4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLVdudWggICAgICAgICAgICAgICAgICAgc3lub255bSBmb3IgLW5vLXdhcm4tdW5tYXRjaGVkLWhpZ2hcbiIKK21zZ3N0ciAiICAtV251aCAgICAgICAgICAgICAgICAgICBzaW5vbmltIHVudHVrIC1uby13YXJuLXVubWF0Y2hlZC1oaWdoXG4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLUtQSUMgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUgUElDXG4iCittc2dzdHIgIiAgLUtQSUMgICAgICAgICAgICAgICAgICAgbWVuZ2hhc2lsa2FuIFBJQ1xuIgorCisjOiBjb25maWcvdGMtbTMyci5jOjg1MAorbXNnaWQgImluc3RydWN0aW9ucyB3cml0ZSB0byB0aGUgc2FtZSBkZXN0aW5hdGlvbiByZWdpc3Rlci4iCittc2dzdHIgImluc3RydWtzaSB3cml0ZSBrZSByZWdpc3RlciB0dWp1YW4geWFuZyBzYW1hLiIKKworIzogY29uZmlnL3RjLW0zMnIuYzo4NTgKK21zZ2lkICJJbnN0cnVjdGlvbnMgZG8gbm90IHVzZSBwYXJhbGxlbCBleGVjdXRpb24gcGlwZWxpbmVzLiIKK21zZ3N0ciAiSW5zdHJ1a3NpIGphbmdhbiBtZW5nZ3VuYWthbiBla3Nla3VzaSBwYXJhbGVsIHBpcGVsaW5lcy4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6ODY2Cittc2dpZCAiSW5zdHJ1Y3Rpb25zIHNoYXJlIHRoZSBzYW1lIGV4ZWN1dGlvbiBwaXBlbGluZSIKK21zZ3N0ciAiSW5zdHJ1a3NpIG1lbWJhZ2kgZWtzZWt1c2kgcGlwZWxpbmUgeWFuZyBzYW1hIgorCisjOiBjb25maWcvdGMtbTMyci5jOjkzMSBjb25maWcvdGMtbTMyci5jOjEwNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgMTYgYml0IGluc3RydWN0aW9uICclcyciCittc2dzdHIgImJ1a2FuIHNlYnVhaCBpbnN0cnVrc2kgMTYgYml0ICclcyciCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6OTQzIGNvbmZpZy90Yy1tMzJyLmM6MTA1NyBjb25maWcvdGMtbTMyci5jOjEyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5zdHJ1Y3Rpb24gJyVzJyBpcyBmb3IgdGhlIE0zMlIyIG9ubHkiCittc2dzdHIgImluc3RydWtzaSAnJXMnIGhhbnlhIHVudHVrIE0zMlIyIgorCisjOiBjb25maWcvdGMtbTMyci5jOjk1NiBjb25maWcvdGMtbTMyci5jOjEwNzAgY29uZmlnL3RjLW0zMnIuYzoxMjU0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gaW5zdHJ1Y3Rpb24gJyVzJyIKK21zZ3N0ciAiaW5zdHJ1a3NpIHRpZGFrIGRpa2VuYWwgJyVzJyIKKworIzogY29uZmlnL3RjLW0zMnIuYzo5NjUgY29uZmlnL3RjLW0zMnIuYzoxMDc3IGNvbmZpZy90Yy1tMzJyLmM6MTI2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnN0cnVjdGlvbiAnJXMnIGlzIGZvciB0aGUgTTMyUlggb25seSIKK21zZ3N0ciAiaW5zdHJ1a3NpICclcycgaGFueWEgdW50dWsgTTMyUlgiCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6OTc0IGNvbmZpZy90Yy1tMzJyLmM6MTA4NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnN0cnVjdGlvbiAnJXMnIGNhbm5vdCBiZSBleGVjdXRlZCBpbiBwYXJhbGxlbC4iCittc2dzdHIgImluc3RydWtzaSAnJXMnIHRpZGFrIGRhcGF0IGRpamFsYW5rYW4gZGFsYW0gcGFyYWxlbC4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6MTAyOSBjb25maWcvdGMtbTMyci5jOjExMTEgY29uZmlnL3RjLW0zMnIuYzoxMzE4Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGxvb2t1cC9nZXQgb3BlcmFuZHMgZmFpbGVkIgorbXNnc3RyICJpbnRlcm5hbCBlcnJvcjogbG9va3VwL2dldCBvcGVyYW4gZ2FnYWwiCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6MTA5NgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnOiBvbmx5IHRoZSBOT1AgaW5zdHJ1Y3Rpb24gY2FuIGJlIGlzc3VlZCBpbiBwYXJhbGxlbCBvbiB0aGUgbTMyciIKK21zZ3N0ciAiJXMnOiBoYW55YSBpbnN0cnVrc2kgTk9QIGRhcGF0IGRpaXN1a2FuIGRhbGFtIHBhcmFsZWwgZGkgbTMyciIKKworIzogY29uZmlnL3RjLW0zMnIuYzoxMTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdXRwdXQgb2YgMXN0IGluc3RydWN0aW9uIGlzIHRoZSBzYW1lIGFzIGFuIGlucHV0IHRvIDJuZCBpbnN0cnVjdGlvbiAtIGlzIHRoaXMgaW50ZW50aW9uYWwgPyIKK21zZ3N0ciAiJXM6IGtlbHVhcmFuIGRhcmkgaW5zdHJ1a3NpIDFzdCBhZGFsYWggc2FtYSBzZXBlcnRpIG1hc3VrYW4ga2UgMm5kIGluc3RydWtzaSAtIGFwYWthaCBpbmkgc2VuZ2FqYSA/IgorCisjOiBjb25maWcvdGMtbTMyci5jOjExMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG91dHB1dCBvZiAybmQgaW5zdHJ1Y3Rpb24gaXMgdGhlIHNhbWUgYXMgYW4gaW5wdXQgdG8gMXN0IGluc3RydWN0aW9uIC0gaXMgdGhpcyBpbnRlbnRpb25hbCA/IgorbXNnc3RyICIlczoga2VsdWFyYW4gZGFyaSBpbnN0cnVrc2kga2VkdWEgYWRhbGFoIHNhbWEgZGVuZ2FuIG1hc3VrYW4gZGFyaSBpbnN0cnVrc2kgcGVydGFtYSAtIGFwYWthaCBpbmkgc2VuZ2FqYSA/IgorCisjOiBjb25maWcvdGMtbTMyci5jOjE0OTMgY29uZmlnL3RjLXBwYy5jOjE5NDAgY29uZmlnL3RjLXBwYy5jOjQ0OTYKK21zZ2lkICJFeHBlY3RlZCBjb21tYSBhZnRlciBzeW1ib2wtbmFtZTogcmVzdCBvZiBsaW5lIGlnbm9yZWQuIgorbXNnc3RyICJEaWR1Z2Ega29tYSBzZXN1ZGFoIG5hbWEtc2ltYm9sOiBzaXNhIGRhcmkgYmFyaXMgZGlhYmFpa2FuLiIKKworIzogY29uZmlnL3RjLW0zMnIuYzoxNTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIi5TQ09NTW9uIGxlbmd0aCAoJWxkLikgPDAhIElnbm9yZWQuIgorbXNnc3RyICJwYW5qYW5nIC5TQ09NTW9uICglbGQuKSA8MCEgZGlhYmFpa2FuLiIKKworIzogY29uZmlnL3RjLW0zMnIuYzoxNTE3IGNvbmZpZy90Yy1wcGMuYzoxOTYyIGNvbmZpZy90Yy1wcGMuYzozMTE2CisjOiBjb25maWcvdGMtcHBjLmM6NDUyMAorbXNnaWQgImlnbm9yaW5nIGJhZCBhbGlnbm1lbnQiCittc2dzdHIgIm1lbmdhYmFpa2FuIGFsaWdubWVuIGJ1cnVrIgorCisjOiBjb25maWcvdGMtbTMyci5jOjE1MjkgY29uZmlnL3RjLXBwYy5jOjE5OTkgY29uZmlnL3RjLXY4NTAuYzozMjIKK21zZ2lkICJDb21tb24gYWxpZ25tZW50IG5vdCBhIHBvd2VyIG9mIDIiCittc2dzdHIgIkFsaWdubWVuIHVtdW0gYnVrYW4ga2VsaXBhdGFuIGRhcmkgMiIKKworIzogY29uZmlnL3RjLW0zMnIuYzoxNTQ0IGNvbmZpZy90Yy1wcGMuYzoxOTczIGNvbmZpZy90Yy1wcGMuYzo0NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGF0dGVtcHQgdG8gcmUtZGVmaW5lIHN5bWJvbCBgJXMnLiIKK21zZ3N0ciAiTWVuZ2FiYWlrYW4gcGVyY29iYWFuIHVudHVrIG1lcmVkZWZpbmlzaSBzaW1ib2wgYCVzJy4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6MTU1MworIywgYy1mb3JtYXQKK21zZ2lkICJMZW5ndGggb2YgLnNjb21tIFwiJXNcIiBpcyBhbHJlYWR5ICVsZC4gTm90IGNoYW5nZWQgdG8gJWxkLiIKK21zZ3N0ciAiUGFuamFuZyBkYXJpIC5zY29tbSBcIiVzXCIgdGVsYWggJWxkLiBUaWRhayBtZXJ1YmFoIGtlICVsZC4iCisKKyM6IGNvbmZpZy90Yy1tMzJyLmM6MTc4OQorbXNnaWQgIkFkZGVuZCB0byB1bnJlc29sdmVkIHN5bWJvbCBub3Qgb24gd29yZCBib3VuZGFyeS4iCittc2dzdHIgIkFkZGVkIGtlIHNpbWJvbCB0aWRhayB0ZXJlc29sZiB0aWRhayBkYWxhbSBiYXRhcyBrYXRhLiIKKworIzogY29uZmlnL3RjLW0zMnIuYzoxOTMwIGNvbmZpZy90Yy1tMzJyLmM6MTk4MyBjb25maWcvdGMtc2guYzo3NDcKK21zZ2lkICJJbnZhbGlkIFBJQyBleHByZXNzaW9uLiIKK21zZ3N0ciAiRWtzcHJlc2kgUElDIHRpZGFrIHZhbGlkLiIKKworIzogY29uZmlnL3RjLW0zMnIuYzoyMDc0Cittc2dpZCAiVW5tYXRjaGVkIGhpZ2gvc2hpZ2ggcmVsb2MiCittc2dzdHIgIlJlbG9rYXNpIGhpZ2gvc2hpZ2ggdGlkYWsgY29jb2siCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNb3Rvcm9sYSA2OEhDMTEvNjhIQzEyLzY4SENTMTIgb3B0aW9uczpcbiIKKyIgIC1tNjhoYzExIHwgLW02OGhjMTIgfFxuIgorIiAgLW02OGhjczEyICAgICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJvY2Vzc29yIFtkZWZhdWx0ICVzXVxuIgorIiAgLW1zaG9ydCAgICAgICAgICAgICAgICAgdXNlIDE2LWJpdCBpbnQgQUJJIChkZWZhdWx0KVxuIgorIiAgLW1sb25nICAgICAgICAgICAgICAgICAgdXNlIDMyLWJpdCBpbnQgQUJJXG4iCisiICAtbXNob3J0LWRvdWJsZSAgICAgICAgICB1c2UgMzItYml0IGRvdWJsZSBBQklcbiIKKyIgIC1tbG9uZy1kb3VibGUgICAgICAgICAgIHVzZSA2NC1iaXQgZG91YmxlIEFCSSAoZGVmYXVsdClcbiIKKyIgIC0tZm9yY2UtbG9uZy1icmFuY2hlcyAgIGFsd2F5cyB0dXJuIHJlbGF0aXZlIGJyYW5jaGVzIGludG8gYWJzb2x1dGUgb25lc1xuIgorIiAgLVMsLS1zaG9ydC1icmFuY2hlcyAgICAgZG8gbm90IHR1cm4gcmVsYXRpdmUgYnJhbmNoZXMgaW50byBhYnNvbHV0ZSBvbmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIHRoZSBvZmZzZXQgaXMgb3V0IG9mIHJhbmdlXG4iCisiICAtLXN0cmljdC1kaXJlY3QtbW9kZSAgICBkbyBub3QgdHVybiB0aGUgZGlyZWN0IG1vZGUgaW50byBleHRlbmRlZCBtb2RlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIHRoZSBpbnN0cnVjdGlvbiBkb2VzIG5vdCBzdXBwb3J0IGRpcmVjdCBtb2RlXG4iCisiICAtLXByaW50LWluc24tc3ludGF4ICAgICBwcmludCB0aGUgc3ludGF4IG9mIGluc3RydWN0aW9uIGluIGNhc2Ugb2YgZXJyb3JcbiIKKyIgIC0tcHJpbnQtb3Bjb2RlcyAgICAgICAgIHByaW50IHRoZSBsaXN0IG9mIGluc3RydWN0aW9ucyB3aXRoIHN5bnRheFxuIgorIiAgLS1nZW5lcmF0ZS1leGFtcGxlICAgICAgZ2VuZXJhdGUgYW4gZXhhbXBsZSBvZiBlYWNoIGluc3RydWN0aW9uXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAodXNlZCBmb3IgdGVzdGluZylcbiIKK21zZ3N0ciAiIgorIk1vdG9yb2xhIDY4SEMxMS82OEhDMTIvNjhIQ1MxMiBvcHNpOlxuIgorIiAgLW02OGhjMTEgfCAtbTY4aGMxMiB8XG4iCisiICAtbTY4aGNzMTIgICAgICAgICAgICAgICBzcGVzaWZpa2FzaWthbiBwcm9zZXNvciBbYmFrdSAlc11cbiIKKyIgIC1tc2hvcnQgICAgICAgICAgICAgICAgIGd1bmFrYW4gMTYtYml0IGludCBBQkkgKGJha3UpXG4iCisiICAtbWxvbmcgICAgICAgICAgICAgICAgICBndW5ha2FuIDMyLWJpdCBpbnQgQUJJXG4iCisiICAtbXNob3J0LWRvdWJsZSAgICAgICAgICBndW5ha2FuIDMyLWJpdCBkb3VibGUgQUJJXG4iCisiICAtbWxvbmctZG91YmxlICAgICAgICAgICBndW5ha2FuIDY0LWJpdCBkb3VibGUgQUJJIChiYWt1KVxuIgorIiAgLS1mb3JjZS1sb25nLWJyYW5jaGVzICAgc2VsYWx1IHViYWggcGVyY2FiYW5nYW4gcmVsYXRpZiBrZWRhbGFtIGFic29sdXRcbiIKKyIgIC1TLC0tc2hvcnQtYnJhbmNoZXMgICAgIGphbmdhbiB1YmFoIHBlcmNhYmFuZ2FuIHJlbGF0aWYga2VkYWxhbSBhYnNvbHV0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBrZXRpa2Egb2ZzZXQgZGlsdWFyIGRhcmkgamFuZ2thdWFuXG4iCisiICAtLXN0cmljdC1kaXJlY3QtbW9kZSAgICBqYW5nYW4gdWJhaCBtb2RlIGxhbmdzdW5nIGtlZGFsYW0gbW9kZSBla3N0ZW5zaVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAga2V0aWthIGluc3RydWtzaSB0aWRhayBtZW5kdWt1bmcgbW9kZSBsYW5nc3VuZ1xuIgorIiAgLS1wcmludC1pbnNuLXN5bnRheCAgICAgdGFtcGlsa2FuIHN5bnRheCBkYXJpIGluc3RydWtzaSBqaWthIHRlcmphZGkgZXJyb3JcbiIKKyIgIC0tcHJpbnQtb3Bjb2RlcyAgICAgICAgIHRhbXBpbGthbiBkYWZ0YXIgZGFyaSBpbnN0cnVrc2kgZGVuZ2FuIHN5bnRheFxuIgorIiAgLS1nZW5lcmF0ZS1leGFtcGxlICAgICAgYnVhdCBzZWJ1YWggY29udG9oIGRhcmkgc2V0aWFwIGluc3RydWtzaVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKGRpZ3VuYWthbiB1bnR1ayBwZW5nZXRlc2FuKVxuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjQxNworIywgYy1mb3JtYXQKK21zZ2lkICJEZWZhdWx0IHRhcmdldCBgJXMnIGlzIG5vdCBzdXBwb3J0ZWQuIgorbXNnc3RyICJUYXJnZXQgYmFrdSBgJXMnIHRpZGFrIGRpZHVrdW5nLiIKKworIy4gRHVtcCB0aGUgb3Bjb2RlIHN0YXRpc3RpY3MgdGFibGUuCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJOYW1lICAgIyBNb2RlcyAgTWluIG9wcyAgTWF4IG9wcyAgTW9kZXMgbWFzayAgIyBVc2VkXG4iCittc2dzdHIgIk5hbWEgICAjIE1vZGUgICBNaW4gb3BzICBNYWtzIG9wcyBNb2RlICBtYXNrICAjIERpZ3VuYWthblxuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJPcHRpb24gYCVzJyBpcyBub3QgcmVjb2duaXplZC4iCittc2dzdHIgIk9wc2kgYCVzJyB0aWRhayBkaWtlbmFsLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzo2NzEKK21zZ2lkICIjPGltbTg+IgorbXNnc3RyICIjPGltbTg+IgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjY4MAorbXNnaWQgIiM8aW1tMTY+IgorbXNnc3RyICIjPGltbTE2PiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzo2ODkgY29uZmlnL3RjLW02OGhjMTEuYzo2OTgKK21zZ2lkICI8aW1tOD4sWCIKK21zZ3N0ciAiPGltbTg+LFgiCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6NzI1Cittc2dpZCAiKjxhYnM4PiIKK21zZ3N0ciAiKjxhYnM4PiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzo3MzcKK21zZ2lkICIjPG1hc2s+IgorbXNnc3RyICIjPG1hc2s+IgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICJzeW1ib2wlZCIKK21zZ3N0ciAic2ltYm9sJWQiCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6NzQ5Cittc2dpZCAiPGFicz4iCittc2dzdHIgIjxhYnM+IgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjc2OAorbXNnaWQgIjxsYWJlbD4iCittc2dzdHIgIjxsYWJlbD4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6Nzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIEV4YW1wbGUgb2YgYCVzJyBpbnN0cnVjdGlvbnNcbiIKKyJcdC5zZWN0IC50ZXh0XG4iCisiX3N0YXJ0OlxuIgorbXNnc3RyICIiCisiIyBDb250b2ggZGFyaSBpbnN0cnVrc2kgYCVzJ1xuIgorIlx0LnNlY3QgLnRleHRcbiIKKyJfc3RhcnQ6XG4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6ODMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkluc3RydWN0aW9uIGAlcycgaXMgbm90IHJlY29nbml6ZWQuIgorbXNnc3RyICJJbnN0cnVrc2kgYCVzJyB0aWRhayBkaWtlbmFsLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzo4MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5zdHJ1Y3Rpb24gZm9ybWF0cyBmb3IgYCVzJzoiCittc2dzdHIgIkZvcm1hdCBpbnN0cnVrc2kgdW50dWsgYCVzJzoiCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6OTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkltbWVkaWF0ZSBvcGVyYW5kIGlzIG5vdCBhbGxvd2VkIGZvciBvcGVyYW5kICVkLiIKK21zZ3N0ciAiT3BlcmFuIGxhbmdzdW5nIHRpZGFrIGRpcGVyYm9sZWhrYW4gdW50dWsgb3BlcmFuICVkLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoxMDEwCittc2dpZCAiSW5kaXJlY3QgaW5kZXhlZCBhZGRyZXNzaW5nIGlzIG5vdCB2YWxpZCBmb3IgNjhIQzExLiIKK21zZ3N0ciAiUGVuZ2FsYW1hdGFuIGluZGVrcyB0aWRhayBsYW5nc3VuZyB0aWRhayB2YWxpZCB1bnR1ayA2OEhDMTEuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjEwMzAKK21zZ2lkICJTcHVyaW91cyBgLCcgb3IgYmFkIGluZGlyZWN0IHJlZ2lzdGVyIGFkZHJlc3NpbmcgbW9kZS4iCittc2dzdHIgIlNwdXJpb3VzIGAsJyBhdGF1IG1vZGUgcGVuZ2FsYW1hdGFuIHJlZ2lzdGVyIHRpZGFrIGxhbmdzdW5nLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoxMDUyCittc2dpZCAiTWlzc2luZyBzZWNvbmQgcmVnaXN0ZXIgb3Igb2Zmc2V0IGZvciBpbmRleGVkLWluZGlyZWN0IG1vZGUuIgorbXNnc3RyICJIaWxhbmcgcmVnaXN0ZXIga2VkdWEgYXRhdSBvZnNldCB1bnR1ayBtb2RlIGluZGVrc2luZyB0aWRhayBsYW5nc3VuZy4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6MTA2MgorbXNnaWQgIk1pc3Npbmcgc2Vjb25kIHJlZ2lzdGVyIGZvciBpbmRleGVkLWluZGlyZWN0IG1vZGUuIgorbXNnc3RyICJIaWxhbmcgcmVnaXN0ZXIga2VkdWEgdW50dWsgbW9kZSBpbmRla3NpbmcgdGlkYWsgbGFuZ3N1bmcuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjEwNzgKK21zZ2lkICJNaXNzaW5nIGBdJyB0byBjbG9zZSBpbmRleGVkLWluZGlyZWN0IG1vZGUuIgorbXNnc3RyICJIaWxhbmcgYF0nIHVudHVrIG1lbnV0dWsgbW9kZSBpbmRla3NpbmcgdGlkYWsgbGFuZ3N1bmcuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjExMjMKK21zZ2lkICJJbGxlZ2FsIG9wZXJhbmQuIgorbXNnc3RyICJPcGVyYW4gdGlkYWsgbGVnYWwuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjExMjgKK21zZ2lkICJNaXNzaW5nIG9wZXJhbmQuIgorbXNnc3RyICJIaWxhbmcgb3BlcmFuLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoxMTgxCittc2dpZCAiUHJlLWluY3JlbWVudCBtb2RlIGlzIG5vdCB2YWxpZCBmb3IgNjhIQzExIgorbXNnc3RyICJNb2RlIHByZS1pbmNyZW1lbnQgdGlkYWsgdmFsaWQgdW50dWsgNjhIQzExIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjExOTQKK21zZ2lkICJXcm9uZyByZWdpc3RlciBpbiByZWdpc3RlciBpbmRpcmVjdCBtb2RlLiIKK21zZ3N0ciAiUmVnaXN0ZXIgc2FsYWggZGFsYW0gbW9kZSByZWdpc3RlciB0aWRhayBsYW5nc3VuZy4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6MTIwMgorbXNnaWQgIk1pc3NpbmcgYF0nIHRvIGNsb3NlIHJlZ2lzdGVyIGluZGlyZWN0IG9wZXJhbmQuIgorbXNnc3RyICJIaWxhbmcgYF0nIHVudHVrIG1lbnV0dXAgb3BlcmFuIHJlZ2lzdGVyIHRpZGFrIGxhbmdzdW5nLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoxMjIyCittc2dpZCAiUG9zdC1kZWNyZW1lbnQgbW9kZSBpcyBub3QgdmFsaWQgZm9yIDY4SEMxMS4iCittc2dzdHIgIk1vZGUgcG9zdC1kZWNyZW1lbnQgdGlkYWsgdmFsaWQgdW50dWsgNjhIQzExLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoxMjMwCittc2dpZCAiUG9zdC1pbmNyZW1lbnQgbW9kZSBpcyBub3QgdmFsaWQgZm9yIDY4SEMxMS4iCittc2dzdHIgIk1vZGUgcG9zdC1pbmNyZW1lbnQgdGlkYWsgdmFsaWQgdW50dWsgNjhIQzExLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoxMjQ4Cittc2dpZCAiSW52YWxpZCBpbmRleGVkIGluZGlyZWN0IG1vZGUuIgorbXNnc3RyICJNb2RlIGluZGVrc2VkIHRpZGFrIGxhbmdzdW5nIHRpZGFrIHZhbGlkLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoxMzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyYXAgaWQgYCVsZCcgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiVHJhcCBpZCBgJWxkJyBkaWx1YXIgZGFyaSBqYW5na2F1YW4uIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjEzNDQKK21zZ2lkICJUcmFwIGlkIG11c3QgYmUgd2l0aGluIFsweDMwLi4weDM5XSBvciBbMHg0MC4uMHhmZl0uIgorbXNnc3RyICJUcmFwIGlkIGhhcnVzIGJlcmFkYSBkYWxhbSBwMHgzMC4uMHgzOV0gYXRhdSBbMHg0MC4uMHhmZl0uIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjEzNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3BlcmFuZCBvdXQgb2YgOC1iaXQgcmFuZ2U6IGAlbGQnLiIKK21zZ3N0ciAiT3BlcmFuIGRpbHVhciBkYXJpIGphbmdrYXVhbiA4LWJpdDogYCVsZCcuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjEzNTgKK21zZ2lkICJUaGUgdHJhcCBpZCBtdXN0IGJlIGEgY29uc3RhbnQuIgorbXNnc3RyICJUcmFwIGlkIGhhcnVzIGJlcnVwYSBzZWJ1YWgga29uc3RhbnRhLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoxMzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIk9wZXJhbmQgYCV4JyBub3QgcmVjb2duaXplZCBpbiBmaXh1cDguIgorbXNnc3RyICJPcGVyYW4gYCV4JyB0aWRhayBkaWtlbmFsIGRhbGFtIGZpeHVwOC4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6MTQxMCBjb25maWcvdGMtbTY4aGMxMS5jOjE0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3BlcmFuZCBvdXQgb2YgMTYtYml0IHJhbmdlOiBgJWxkJy4iCittc2dzdHIgIk9wZXJhbiBkaWx1YXIgZGFyaSBqYW5na2F1YW4gMTYtYml0OiBgJWxkJy4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6MTQ0MiBjb25maWcvdGMtbTY4aGMxMS5jOjE0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3BlcmFuZCBgJXgnIG5vdCByZWNvZ25pemVkIGluIGZpeHVwMTYuIgorbXNnc3RyICJPcGVyYW4gYCV4JyB0aWRhayBkaWtlbmFsIGRhbGFtIGZpeHVwMTYuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjE0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBicmFuY2ggY29udmVyc2lvbiB3aXRoIGAleCciCittc2dzdHIgIlRpZGFrIGRpZHVnYSBwZW5ndWJhaGFuIHBlcmNhYmFuZ2FuIGRlbmdhbiBgJXgnIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjE1ODMgY29uZmlnL3RjLW02OGhjMTEuYzoxNzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIk9wZXJhbmQgb3V0IG9mIHJhbmdlIGZvciBhIHJlbGF0aXZlIGJyYW5jaDogYCVsZCciCittc2dzdHIgIk9wZXJhbiBkaWx1YXIgZGFyaSBqYW5na2F1YW4gdW50dWsgc2VidWFoIHBlcmNhYmFuZ2FuIHJlbGF0aWY6IGAlbGQnIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjE2ODkKK21zZ2lkICJJbnZhbGlkIHJlZ2lzdGVyIGZvciBkYmNjL3RiY2MgaW5zdHJ1Y3Rpb24uIgorbXNnc3RyICJSZWdpc3RlciB0aWRhayB2YWxpZCB1bnR1ayBpbnN0cnVrc2kgZGJjYy90YmNjLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoxNzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIkluY3JlbWVudC9kZWNyZW1lbnQgdmFsdWUgaXMgb3V0IG9mIHJhbmdlOiBgJWxkJy4iCittc2dzdHIgIk5pbGFpIHBlbmluZ2thdGFuL3Blbmd1cmFuZ2FuIGRpbHVhciBkYXJpIGphbmdrYXVhbjogYCVsZCcuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjE3ODgKK21zZ2lkICJFeHBlY3RpbmcgYSByZWdpc3Rlci4iCittc2dzdHIgIkRpZHVnYSBzZWJ1YWggcmVnaXN0ZXIuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjE4MDMKK21zZ2lkICJJbnZhbGlkIHJlZ2lzdGVyIGZvciBwb3N0L3ByZSBpbmNyZW1lbnQuIgorbXNnc3RyICJSZWdpc3RlciB0aWRhayB2YWxpZCB1bnR1ayBwb3N0L3ByZSBwZW5pbmdrYXRhbi4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6MTgzMworbXNnaWQgIkludmFsaWQgcmVnaXN0ZXIuIgorbXNnc3RyICJSZWdpc3RlciB0aWRhayB2YWxpZC4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6MTg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJPZmZzZXQgb3V0IG9mIDE2LWJpdCByYW5nZTogJWxkLiIKK21zZ3N0ciAiT2ZzZXQgZGlsdWFyIGRhcmkgamFuZ2thdWFuIDE2LWJpdDogJWxkLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoxODQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIk9mZnNldCBvdXQgb2YgNS1iaXQgcmFuZ2UgZm9yIG1vdncvbW92YiBpbnNuOiAlbGQuIgorbXNnc3RyICJPZnNldCBkaWx1YXIgZGFyaSBqYW5na2F1YW4gNS1iaXQgdW50dWsgaW5zdHJ1a3NpIG1vdncvbW92YjogJWxkLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoxOTUxCittc2dpZCAiRXhwZWN0aW5nIHJlZ2lzdGVyIEQgZm9yIGluZGV4ZWQgaW5kaXJlY3QgbW9kZS4iCittc2dzdHIgIkRpZHVnYSByZWdpc3RlciBEIHVudHVrIG1vZGUgaW5kZWtzaW5nIHRpZGFrIGxhbmdzdW5nLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoxOTUzCittc2dpZCAiSW5kZXhlZCBpbmRpcmVjdCBtb2RlIGlzIG5vdCBhbGxvd2VkIGZvciBtb3ZiL21vdncuIgorbXNnc3RyICJNb2RlIGluZGVrc2luZyB0aWRhayBsYW5nc3VuZyB0aWRhayBkaXBlcmJvbGVoa2FuIHVudHVrIG1vdmIvbW92dy4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6MTk3MAorbXNnaWQgIkludmFsaWQgYWNjdW11bGF0b3IgcmVnaXN0ZXIuIgorbXNnc3RyICJSZWdpc3RlciBha3VtdWxhdG9yIHRpZGFrIHZhbGlkLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoxOTk1Cittc2dpZCAiSW52YWxpZCBpbmRleGVkIHJlZ2lzdGVyLiIKK21zZ3N0ciAiUmVnaXN0ZXIgaW5kZWtzIHRpZGFrIHZhbGlkLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoyMDAzCittc2dpZCAiQWRkcmVzc2luZyBtb2RlIG5vdCBpbXBsZW1lbnRlZCB5ZXQuIgorbXNnc3RyICJNb2RlIHBlbmdhbGFtYXRhbiBiZWx1bSBkaWltcGxlbWVudGFzaWthbi4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6MjAxNgorbXNnaWQgIkludmFsaWQgc291cmNlIHJlZ2lzdGVyIGZvciB0aGlzIGluc3RydWN0aW9uLCB1c2UgJ3RmcicuIgorbXNnc3RyICJSZWdpc3RlciBhc2FsIHRpZGFrIHZhbGlkIHVudHVrIGluc3RydWtzaSBpbmksIGd1bmFrYW4gJ3RmcicuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjIwMTgKK21zZ2lkICJJbnZhbGlkIHNvdXJjZSByZWdpc3Rlci4iCittc2dzdHIgIlJlZ2lzdGVyIGFzYWwgdGlkYWsgdmFsaWQuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjIwMjMKK21zZ2lkICJJbnZhbGlkIGRlc3RpbmF0aW9uIHJlZ2lzdGVyIGZvciB0aGlzIGluc3RydWN0aW9uLCB1c2UgJ3RmcicuIgorbXNnc3RyICJSZWdpc3RlciB0dWp1YW4gdGlkYWsgdmFsaWQgdW50dWsgaW5zdHJ1a3NpIGluaSwgZ3VuYWthbiAndGZyJy4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6MjAyNQorbXNnaWQgIkludmFsaWQgZGVzdGluYXRpb24gcmVnaXN0ZXIuIgorbXNnc3RyICJyZWdpc3RlciB0dWp1YW4gdGlkYWsgdmFsaWQuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjIxMjEKK21zZ2lkICJJbnZhbGlkIGluZGV4ZWQgcmVnaXN0ZXIsIGV4cGVjdGluZyByZWdpc3RlciBYLiIKK21zZ3N0ciAicmVnaXN0ZXIgaW5kZWtzIHRpZGFrIHZhbGlkLCBtZW5kdWdhIHJlZ2lzdGVyIFguIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjIxMjMKK21zZ2lkICJJbnZhbGlkIGluZGV4ZWQgcmVnaXN0ZXIsIGV4cGVjdGluZyByZWdpc3RlciBZLiIKK21zZ3N0ciAicmVnaXN0ZXIgaW5kZWtzIHRpZGFrIHZhbGlkLCBtZW5kdWdhIHJlZ2lzdGVyIFkuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjI0MjkKK21zZ2lkICJObyBpbnN0cnVjdGlvbiBvciBtaXNzaW5nIG9wY29kZS4iCittc2dzdHIgIlRpZGFrIGFkYSBpbnN0cnVrc2kgYXRhdSBoaWxhbmcgb3Brb2RlLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoyNDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIk9wY29kZSBgJXMnIGlzIG5vdCByZWNvZ25pemVkLiIKK21zZ3N0ciAiT3Brb2RlIGAlcycgdGlkYWsgZGlrZW5hbC4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6MjUxNgorIywgYy1mb3JtYXQKK21zZ2lkICJHYXJiYWdlIGF0IGVuZCBvZiBpbnN0cnVjdGlvbjogYCVzJy4iCittc2dzdHIgIlNhbXBhaCBkaWFraGlyIGRhcmkgaW5zdHJ1a3NpOiBgJXMnLiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzoyNTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmFuZCBmb3IgYCVzJyIKK21zZ3N0ciAiT3BlcmFuIHRpZGFrIHZhbGlkIHVudHVrIGAlcyciCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6MjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG1vZGU6ICVzXG4iCittc2dzdHIgIk1vZGUgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6MjY1MAorbXNnaWQgImJhZCAucmVsYXggZm9ybWF0IgorbXNnc3RyICJGb3JtYXQgLnJlbGF4IGJ1cnVrIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjI2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVsb2NhdGlvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIGJ5IG9iamVjdCBmaWxlIGZvcm1hdC4iCittc2dzdHIgIlJlbG9rYXNpICVkIHRpZGFrIGRpZHVrdW5nIG9sZWggZm9ybWF0IGJlcmthcyBvYmplay4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6Mjk3MworbXNnaWQgImJyYSBvciBic3Igd2l0aCB1bmRlZmluZWQgc3ltYm9sLiIKK21zZ3N0ciAiYnJhIGF0YXUgYnNyIGRlbmdhbiBzaW1ib2wgdGlkYWsgdGVyZGVmaW5pc2kuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjMwNzYgY29uZmlnL3RjLW02OGhjMTEuYzozMTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1YnR5cGUgJWQgaXMgbm90IHJlY29nbml6ZWQuIgorbXNnc3RyICJTdWJ0aXBlICVkIHRpZGFrIGRpa2VuYWwuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjMxOTIKK21zZ2lkICJFeHByZXNzaW9uIHRvbyBjb21wbGV4LiIKK21zZ3N0ciAiRWtzcHJlc2kgdGVybGFsdSBrb21wbGVrcy4iCisKKyM6IGNvbmZpZy90Yy1tNjhoYzExLmM6MzIyNQorbXNnaWQgIlZhbHVlIG91dCBvZiAxNi1iaXQgcmFuZ2UuIgorbXNnc3RyICJOaWxhaSBkaWx1YXIgZGFyaSBqYW5na2F1YW4gMTYtYml0LiIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzozMjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlZhbHVlICVsZCB0b28gbGFyZ2UgZm9yIDgtYml0IFBDLXJlbGF0aXZlIGJyYW5jaC4iCittc2dzdHIgIk5pbGFpICVsZCB0ZXJsYWx1IGJlc2FyIHVudHVrIHBlcmNhYmFuZ2FuIFBDLXJlbGF0aWYgOC1iaXQuIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjMyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXV0byBpbmNyZW1lbnQvZGVjcmVtZW50IG9mZnNldCAnJWxkJyBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJQZW5pbmdrYXRhbi9wZW5ndXJhbmdhbiBvdG9tYXRpcyBvZnNldCAnJWxkJyBkaWx1YXIgZGFyaSBqYW5na2F1YW4uIgorCisjOiBjb25maWcvdGMtbTY4aGMxMS5jOjMyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiT2Zmc2V0IG91dCBvZiA1LWJpdCByYW5nZSBmb3IgbW92dy9tb3ZiIGluc246ICVsZCIKK21zZ3N0ciAiT2ZzZXQgZGlsdWFyIGRhcmkgamFuZ2thdWFuIDUtYml0IHVudHVrIGluc3RydWtzaSBtb3Z3L21vdmI6ICVsZCIKKworIzogY29uZmlnL3RjLW02OGhjMTEuYzozMjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxpbmUgJWQ6IHVua25vd24gcmVsb2NhdGlvbiB0eXBlOiAweCV4LiIKK21zZ3N0ciAiQmFyaXMgJWQ6IHRpcGUgcmVsb2thc2kgdGlkYWsgZGlrZW5hbDogMHgleC4iCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6MTAzNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW4gbm90IGRvICVkIGJ5dGUgcGMtcmVsYXRpdmUgcmVsb2NhdGlvbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVsYWt1a2FuIHBjLXJlbGF0aWYgcmVsb2thc2kgJWQgYnl0ZSIKKworIzogY29uZmlnL3RjLW02OGsuYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbiBub3QgZG8gJWQgYnl0ZSBwYy1yZWxhdGl2ZSBwaWMgcmVsb2NhdGlvbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVsYWt1a2FuIHBjLXJlbGF0aXZlIHBpYyByZWxva2FzaSAlZCBieXRlIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjEwNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuIG5vdCBkbyAlZCBieXRlIHJlbG9jYXRpb24iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbGFrdWthbiByZWxva2FzaSAlZCBieXRlIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjEwNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuIG5vdCBkbyAlZCBieXRlIHBpYyByZWxvY2F0aW9uIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZWxha3VrYW4gcmVsb2thc2kgcGljICVkIGJ5dGUiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6MTExMQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gcHJvZHVjZSByZWxvYyBhZ2FpbnN0IHN5bWJvbCAnJXMnIgorbXNnc3RyICJUaWRhayBkYXBhdCAgbWVuZ2hhc2lsa2FuIHJlbG9rYXNpIHRlcmhhZGFwIHNpbWJvbCAnJXMnIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjExNTUgY29uZmlnL3RjLXZheC5jOjIzNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG1ha2UgJXMgcmVsb2NhdGlvbiBQQyByZWxhdGl2ZSIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVhdCByZWxva2FzaSBQQyByZWxhdGlmICVzIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjEyNTQgY29uZmlnL3RjLXZheC5jOjE4NzYKK21zZ2lkICJObyBvcGVyYXRvciIKK21zZ3N0ciAiVGlkYWsgYWRhIG9wZXJhdG9yIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjEyODQgY29uZmlnL3RjLXZheC5jOjE4OTIKK21zZ2lkICJVbmtub3duIG9wZXJhdG9yIgorbXNnc3RyICJPcGVyYXRvciB0aWRhayBkaWtldGFodWkiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6MjE4NworbXNnaWQgImludmFsaWQgaW5zdHJ1Y3Rpb24gZm9yIHRoaXMgYXJjaGl0ZWN0dXJlOyBuZWVkcyAiCittc2dzdHIgIkluc3RydWtzaSB0aWRhayB2YWxpZCB1bnR1ayBhcnNpdGVrdHVyIGluaTsgZGlidXR1aGthbiAiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6MjE5NQorbXNnaWQgImhhcmR3YXJlIGRpdmlkZSIKK21zZ3N0ciAicGVyYW5na2F0IHBlbWJhZ2kiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6MjIxNyBjb25maWcvdGMtbTY4ay5jOjIyMjEgY29uZmlnL3RjLW02OGsuYzoyMjI1Cittc2dpZCAib3IgaGlnaGVyIgorbXNnc3RyICJhdGF1IGxlYmloIHRpbmdnaSIKKworIzogY29uZmlnL3RjLW02OGsuYzoyMjc4Cittc2dpZCAib3BlcmFuZHMgbWlzbWF0Y2giCittc2dzdHIgIm9wZXJhbiB0aWRhayBjb2NvayIKKworIzogY29uZmlnL3RjLW02OGsuYzoyMzQyIGNvbmZpZy90Yy1tNjhrLmM6MjM0OCBjb25maWcvdGMtbTY4ay5jOjIzNTQKKyM6IGNvbmZpZy90Yy1tbWl4LmM6MjQ1OSBjb25maWcvdGMtbW1peC5jOjI0ODMKK21zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSIKK21zZ3N0ciAib3BlcmFuIGRpbHVhciBkYXJpIGphbmdrYXVhbiIKKworIzogY29uZmlnL3RjLW02OGsuYzoyNDExCisjLCBjLWZvcm1hdAorbXNnaWQgIkJpZ251bSB0b28gYmlnIGZvciAlYyBmb3JtYXQ7IHRydW5jYXRlZCIKK21zZ3N0ciAiQmlnbnVtIHRlcmxhbHUgYmVzYXIgdW50dWsgZm9ybWF0ICVjOyBkaXBvdG9uZyIKKworIzogY29uZmlnL3RjLW02OGsuYzoyNDg4Cittc2dpZCAiZGlzcGxhY2VtZW50IHRvbyBsYXJnZSBmb3IgdGhpcyBhcmNoaXRlY3R1cmU7IG5lZWRzIDY4MDIwIG9yIGhpZ2hlciIKK21zZ3N0ciAiZGlzcGxhY2VtZW50IHRlcmxhbHUgYmVzYXIgdW50dWsgYXJzaXRla3R1ciBpbmk7IGRpYnV0dWhrYW4gNjgwMjAgYXRhdSBsZWJpaCB0aW5nZ2kiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6MjU5OQorbXNnaWQgInNjYWxlIGZhY3RvciBpbnZhbGlkIG9uIHRoaXMgYXJjaGl0ZWN0dXJlOyBuZWVkcyBjcHUzMiBvciA2ODAyMCBvciBoaWdoZXIiCittc2dzdHIgImZha3RvciBza2FsYSB0aWRhayB2YWxpZCBkaSBhcnNpdGVrdHVyIGluaTsgZGlidXR1aGthbiBjcHUzMiBhdGF1IDY4MDIwIGF0YXUgbGViaWggdGluZ2dpIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjI2MDQKK21zZ2lkICJpbnZhbGlkIGluZGV4IHNpemUgZm9yIGNvbGRmaXJlIgorbXNnc3RyICJ1a3VyYW4gaW5kZWtzIHRpZGFrIHZhbGlkIHVudHVrIGNvbGRmaXJlIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjI2NTcKK21zZ2lkICJGb3JjaW5nIGJ5dGUgZGlzcGxhY2VtZW50IgorbXNnc3RyICJNZW1ha3NhIGJ5dGUgZGlwbGFjZW1lbnQiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6MjY1OQorbXNnaWQgImJ5dGUgZGlzcGxhY2VtZW50IG91dCBvZiByYW5nZSIKK21zZ3N0ciAiYnl0ZSBkaXNwbGFjZW1lbnQgZGlsdWFyIGRhcmkgamFuZ2thdWFuIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjI3MDcgY29uZmlnL3RjLW02OGsuYzoyNzQ1Cittc2dpZCAiaW52YWxpZCBvcGVyYW5kIG1vZGUgZm9yIHRoaXMgYXJjaGl0ZWN0dXJlOyBuZWVkcyA2ODAyMCBvciBoaWdoZXIiCittc2dzdHIgIk1vZGUgb3BlcmFuIHRpZGFrIHZhbGlkIHVudHVrIGFyc2l0ZWt0dXIgaW5pOyBkaWJ1dHVoa2FuIDY4MDIwIGF0YXUgbGViaWggdGluZ2dpIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjI3MzEgY29uZmlnL3RjLW02OGsuYzoyNzY1Cittc2dpZCAiOmIgbm90IHBlcm1pdHRlZDsgZGVmYXVsdGluZyB0byA6dyIKK21zZ3N0ciAiOmIgdGlkYWsgZGlpamlua2FuOyBkZWZhdWx0IGtlIDp3IgorCisjOiBjb25maWcvdGMtbTY4ay5jOjI4NDIKK21zZ2lkICJ1bnN1cHBvcnRlZCBieXRlIHZhbHVlOyB1c2UgYSBkaWZmZXJlbnQgc3VmZml4IgorbXNnc3RyICJuaWxhaSBieXRlIHRpZGFrIGRpZHVrdW5nOyBndW5ha2FuIGFraGlyYW4geWFuZyBiZXJiZWRhIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjI4NTcKK21zZ2lkICJ1bmtub3duL2luY29ycmVjdCBvcGVyYW5kIgorbXNnc3RyICJvcGVyYW4gdGlkYWsgZGlrZW5hbC8gdGlkYWsgYmVuYXIiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6MjkwMCBjb25maWcvdGMtbTY4ay5jOjI5MDggY29uZmlnL3RjLW02OGsuYzoyOTE1CisjOiBjb25maWcvdGMtbTY4ay5jOjI5MjIKK21zZ2lkICJvdXQgb2YgcmFuZ2UiCittc2dzdHIgImRpbHVhciBkYXJpIGphbmdrYXVhbiIKKworIzogY29uZmlnL3RjLW02OGsuYzoyOTk1Cittc2dpZCAiQ2FuJ3QgdXNlIGxvbmcgYnJhbmNoZXMgb24gdGhpcyBhcmNoaXRlY3R1cmUiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdndW5ha2FuIHBlcmNhYmFuZ2FuIHBhbmphbmcgZGkgYXJzaXRla3R1ciBpbmkiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6MzEwMQorbXNnaWQgIkV4cHJlc3Npb24gb3V0IG9mIHJhbmdlLCB1c2luZyAwIgorbXNnc3RyICJFa3NwcmVzaSBkaWx1YXIgZGFyaSBqYW5na2F1YW4sIG1lbmdndW5ha2FuIDAiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6MzI5MiBjb25maWcvdGMtbTY4ay5jOjMzMDgKK21zZ2lkICJGbG9hdGluZyBwb2ludCByZWdpc3RlciBpbiByZWdpc3RlciBsaXN0IgorbXNnc3RyICJGbG9hdGluZyBwb2ludCByZWdpc3RlciBkYWxhbSBkYWZ0YXIgcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6MzI5OAorbXNnaWQgIldyb25nIHJlZ2lzdGVyIGluIGZsb2F0aW5nLXBvaW50IHJlZ2xpc3QiCittc2dzdHIgIlJlZ2lzdGVyIHNhbGFoIGRhbGFtIGZsb2F0aW5nLXBvaW50IHJlZ2xpc3QiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6MzMxNAorbXNnaWQgImluY29ycmVjdCByZWdpc3RlciBpbiByZWdsaXN0IgorbXNnc3RyICJyZWdpc3RlciB0aWRhayBiZW5hciBkYWxhbSBkYWZ0YXIgcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6MzMyMAorbXNnaWQgIndyb25nIHJlZ2lzdGVyIGluIGZsb2F0aW5nLXBvaW50IHJlZ2xpc3QiCittc2dzdHIgInJlZ2lzdGVyIHNhbGFoIGRhbGFtIGRhZnRhciByZWdpc3RlciBmbG9hdGluZy1wb2ludCIKKworIy4gRVJST1IuCisjOiBjb25maWcvdGMtbTY4ay5jOjM3OTMKK21zZ2lkICJFeHRyYSApIgorbXNnc3RyICJLZWxlYmloYW4gKSIKKworIy4gRVJST1IuCisjOiBjb25maWcvdGMtbTY4ay5jOjM4MDQKK21zZ2lkICJNaXNzaW5nICkiCittc2dzdHIgIkhpbGFuZyApIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjM4MjEKK21zZ2lkICJNaXNzaW5nIG9wZXJhbmQiCittc2dzdHIgIkhpbGFuZyBvcGVyYW4iCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NDEzOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgZGVmYXVsdCBjcHUgYCVzJyIKK21zZ3N0ciAidGlkYWsgZGlrZW5hbGkgY3B1IGJha3UgYCVzJyIKKworIzogY29uZmlnL3RjLW02OGsuYzo0MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIC0tIHN0YXRlbWVudCBgJXMnIGlnbm9yZWQiCittc2dzdHIgIiVzIC0tIHBlcm55YXRhYW4gYCVzJyBkaWFiYWlrYW4iCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NDI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmaWd1cmUgd2lkdGggb2YgJWMgaW4gbWRfYXNzZW1ibGUoKSIKK21zZ3N0ciAiVGlkYWsgdGFodSBiYWdhaW1hbmEgbWVtcGVya2lyYWthbiBsZWJhciBkYXJpICVjIGRhbGFtIG1kX2Fzc2VtYmxlKCkiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NDQxMQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcm5hbCBFcnJvcjogIENhbid0IGFsbG9jYXRlIG02OGtfc29ydGVkX29wY29kZXMgb2Ygc2l6ZSAlZCIKK21zZ3N0ciAiSW50ZXJuYWwgRXJyb3I6IFRpZGFrIGRhcGF0IG1lbmdhbG9rYXNpa2FuIG02OGtfc29ydGVkX29wY29kZXMgdW50dWsgdWt1cmFuICVkIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjQ0NzYgY29uZmlnL3RjLW02OGsuYzo0NTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVybmFsIEVycm9yOiBDYW4ndCBmaW5kICVzIGluIGhhc2ggdGFibGUiCittc2dzdHIgIkludGVybmFsIEVycm9yOiBUaWRhayBkYXBhdCBtZW5lbXVrYW4gJXMgZGFsYW0gdGFiZWwgaGFzaCIKKworIzogY29uZmlnL3RjLW02OGsuYzo0NDc5IGNvbmZpZy90Yy1tNjhrLmM6NDUxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcm5hbCBFcnJvcjogQ2FuJ3QgaGFzaCAlczogJXMiCittc2dzdHIgIkludGVybmFsIEVycm9yOiBUaWRhayBkYXBhdCBoYXNoICVzOiAlcyIKKworIzogY29uZmlnL3RjLW02OGsuYzo0NjQzCisjLCBjLWZvcm1hdAorbXNnaWQgInRleHQgbGFiZWwgYCVzJyBhbGlnbmVkIHRvIG9kZCBib3VuZGFyeSIKK21zZ3N0ciAidGV4dCBsYWJlbCBgJXMnIGFsaWduZWQga2UgYmF0YXMgZ2FuamlsIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjQ3OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidmFsdWUgJWxkIG91dCBvZiByYW5nZSIKK21zZ3N0ciAibmlsYWkgJWxkIGRpbHVhciBkYXJpIGphbmdrYXVhbiIKKworIzogY29uZmlnL3RjLW02OGsuYzo0ODA0Cittc2dpZCAiaW52YWxpZCBieXRlIGJyYW5jaCBvZmZzZXQiCittc2dzdHIgImJ5dGUgb2ZzZXQgcGVyY2FiYW5nYW4gdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NDg0MQorbXNnaWQgInNob3J0IGJyYW5jaCB3aXRoIHplcm8gb2Zmc2V0OiB1c2UgOnciCittc2dzdHIgInBlcmNhYmFuZ2FuIHBlbmRlayBkZW5nYW4gb2ZzZXQgbm9sOiBndW5ha2FuIDp3IgorCisjOiBjb25maWcvdGMtbTY4ay5jOjQ4ODUKK21zZ2lkICJDb252ZXJzaW9uIG9mIFBDIHJlbGF0aXZlIEJTUiB0byBhYnNvbHV0ZSBKU1IiCittc2dzdHIgIlBlbmd1YmFoYW4gZGFyaSBQQyByZWxhdGlmIEJTUiBrZSBhYnNvbHV0IEpTUiIKKworIzogY29uZmlnL3RjLW02OGsuYzo0ODk2Cittc2dpZCAiQ29udmVyc2lvbiBvZiBQQyByZWxhdGl2ZSBicmFuY2ggdG8gYWJzb2x1dGUganVtcCIKK21zZ3N0ciAiUGVuZ3ViYWhhbiBkYXJpIHBlcmNhYmFuZ2FuIFBDIHJlbGF0aWYga2UgbG9tcGF0IGFic29sdXQiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NDkxMyBjb25maWcvdGMtbTY4ay5jOjQ5NzQKK21zZ2lkICJDb252ZXJzaW9uIG9mIFBDIHJlbGF0aXZlIGNvbmRpdGlvbmFsIGJyYW5jaCB0byBhYnNvbHV0ZSBqdW1wIgorbXNnc3RyICJQZW5ndWJhaGFuIGRhcmkga29uZGlzaSBQQyByZWxhdGlmIGtlIHBlcmNhYmFuZ2FuIGxvbXBhdCBhYnNvbHV0IgorCisjOiBjb25maWcvdGMtbTY4ay5jOjQ5NTQKK21zZ2lkICJDb252ZXJzaW9uIG9mIERCY2MgdG8gYWJzb2x1dGUganVtcCIKK21zZ3N0ciAiS29udmVyc2kgZGFyaSBEQmNjIGtlIGxvbXBhdCBhYnNvbHV0IgorCisjOiBjb25maWcvdGMtbTY4ay5jOjUwMzkKK21zZ2lkICJDb252ZXJzaW9uIG9mIFBDIHJlbGF0aXZlIGRpc3BsYWNlbWVudCB0byBhYnNvbHV0ZSIKK21zZ3N0ciAiS29udmVyc2kgZGFyaSBQQyByZWxhdGlmIGRpc3BsYWNlbWVudCBrZSBhYnNvbHV0IgorCisjOiBjb25maWcvdGMtbTY4ay5jOjUyNTIKK21zZ2lkICJUcmllZCB0byBjb252ZXJ0IFBDIHJlbGF0aXZlIGJyYW5jaCB0byBhYnNvbHV0ZSBqdW1wIgorbXNnc3RyICJNZW5jb2JhIG1lbmd1YmFoIHBlcmNhYmFuZ2FuIFBDIHJlbGF0aWYga2UgbG9tcGF0IGFic29sdXQiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NTI5NyBjb25maWcvdGMtbTY4ay5jOjUzMDggY29uZmlnL3RjLW02OGsuYzo1MzUyCittc2dpZCAiZXhwcmVzc2lvbiBvdXQgb2YgcmFuZ2U6IGRlZmF1bHRpbmcgdG8gMSIKK21zZ3N0ciAiZWtzcHJlc2kgZGlsdWFyIGRhcmkgamFuZ2thdWFuOiBkZWZhdWx0IGtlIDEiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NTM0NAorbXNnaWQgImV4cHJlc3Npb24gb3V0IG9mIHJhbmdlOiBkZWZhdWx0aW5nIHRvIDAiCittc2dzdHIgImVrc3ByZXNpIGRpbHVhciBkYXJpIGphbmdrYXVhbjogZGVmYXVsdCBrZSAwIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjUzODUgY29uZmlnL3RjLW02OGsuYzo1Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGRlYWwgd2l0aCBleHByZXNzaW9uOyBkZWZhdWx0aW5nIHRvICVsZCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuYW5nYW5pIGRlbmdhbiBwZXJueWF0YWFuOiBiYWt1IGtlICVsZCIKKworIzogY29uZmlnL3RjLW02OGsuYzo1NDExCittc2dpZCAiZXhwcmVzc2lvbiBkb2Vzbid0IGZpdCBpbiBCWVRFIgorbXNnc3RyICJwZXJueWF0YWFuIHRpZGFrIGN1a3VwIGRhbGFtIEJZVEUiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NTQxNQorbXNnaWQgImV4cHJlc3Npb24gZG9lc24ndCBmaXQgaW4gV09SRCIKK21zZ3N0ciAicGVybnlhdGFhbiB0aWRhayBjdWt1cCBkYWxhbSBXT1JEIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjU1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVucmVjb2duaXplZCBwcm9jZXNzb3IgbmFtZSIKK21zZ3N0ciAiJXM6IG5hbWEgcHJvc2Vzb3IgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLW02OGsuYzo1NTYzCittc2dpZCAiYmFkIGNvcHJvY2Vzc29yIGlkIgorbXNnc3RyICJpZCBrb3Byb3Nlc29yIGJ1cnVrIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjU1NjkKK21zZ2lkICJ1bnJlY29nbml6ZWQgZm9wdCBvcHRpb24iCittc2dzdHIgIm9wc2kgZm9wdCB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjU3MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgbWF5IG5vdCBiZSBuZWdhdGVkIgorbXNnc3RyICJvcHNpIGAlcycgdGlkYWsgYm9sZWggZGluZWdhc2lrYW4iCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NTcxMworIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBub3QgcmVjb2duaXplZCIKK21zZ3N0ciAib3BzaSBgJXMnIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NTc0MgorbXNnaWQgImJhZCBmb3JtYXQgb2YgT1BUIE5FU1Q9ZGVwdGgiCittc2dzdHIgImZvcm1hdCBkYXJpIE9QVCBORVNUPWtlZGFsYW1hbiBidXJ1ayIKKworIzogY29uZmlnL3RjLW02OGsuYzo1Nzk4Cittc2dpZCAibWlzc2luZyBsYWJlbCIKK21zZ3N0ciAiaGlsYW5nIGxhYmVsIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjU4MjIgY29uZmlnL3RjLW02OGsuYzo1ODUxCittc2dpZCAiYmFkIHJlZ2lzdGVyIGxpc3QiCittc2dzdHIgImRhZnRhciByZWdpc3RlciBidXJ1ayIKKworIzogY29uZmlnL3RjLW02OGsuYzo1ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByZWdpc3RlciBsaXN0OiAlcyIKK21zZ3N0ciAiZGFmdGFyIHJlZ2lzdGVyIGJ1cnVrOiAlcyIKKworIzogY29uZmlnL3RjLW02OGsuYzo1OTIyCittc2dpZCAicmVzdG9yZSB3aXRob3V0IHNhdmUiCittc2dzdHIgInJlc3RvcmUgdGFucGEgbWVueWltcGFuIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjYwNzYgY29uZmlnL3RjLW02OGsuYzo2NDQ2Cittc2dpZCAic3ludGF4IGVycm9yIGluIHN0cnVjdHVyZWQgY29udHJvbCBkaXJlY3RpdmUiCittc2dzdHIgInNpbnRha3MgZXJyb3IgZGFsYW0ga29udHJvbCBkaXJla3RpZiB0ZXJzdHJ1a3R1ciIKKworIzogY29uZmlnL3RjLW02OGsuYzo2MTIxCittc2dpZCAibWlzc2luZyBjb25kaXRpb24gY29kZSBpbiBzdHJ1Y3R1cmVkIGNvbnRyb2wgZGlyZWN0aXZlIgorbXNnc3RyICJrb2RlIGtvbmRpc2kgaGlsYW5nIGRhbGFtIGRpcmVrdGlmIGtvbnRyb2wgdGVyc3RydWt0dXIiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb25kaXRpb24gPCVjJWM+IGluIHN0cnVjdHVyZWQgY29udHJvbCBkaXJlY3RpdmUgY2FuIG5vdCBiZSBlbmNvZGVkIGNvcnJlY3RseSIKK21zZ3N0ciAiS29uZGlzaSA8JWMlYz4gZGFsYW0gZGlyZWt0aWYga29udHJvbCB0ZXJzdHJ1a3R1ciB0aWRhayBkYXBhdCBkaWVua29kZSBzZWNhcmEgYmVuYXIiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NjQ4OAorbXNnaWQgIm1pc3NpbmcgdGhlbiIKK21zZ3N0ciAiaGlsYW5nIHRoZW4iCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NjU2OQorbXNnaWQgImVsc2Ugd2l0aG91dCBtYXRjaGluZyBpZiIKK21zZ3N0ciAiZWxzZSB0YW5wYXQgcGFzYW5nYW4gaWYiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NjYwMgorbXNnaWQgImVuZGkgd2l0aG91dCBtYXRjaGluZyBpZiIKK21zZ3N0ciAiZW5kaSB0YW5wYSBwYXNhbmdhbiBpZiIKKworIzogY29uZmlnL3RjLW02OGsuYzo2NjQyCittc2dpZCAiYnJlYWsgb3V0c2lkZSBvZiBzdHJ1Y3R1cmVkIGxvb3AiCittc2dzdHIgImJyZWFrIGRpbHVhciBkYXJpIGxvb3AgdGVyc3RydWt0dXIiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NjY4MAorbXNnaWQgIm5leHQgb3V0c2lkZSBvZiBzdHJ1Y3R1cmVkIGxvb3AiCittc2dzdHIgIm5leHQgZGlsdWFyIGRhcmkgbG9vcCB0ZXJzdHJ1a3R1ciIKKworIzogY29uZmlnL3RjLW02OGsuYzo2NzMxCittc2dpZCAibWlzc2luZyA9IgorbXNnc3RyICJoaWxhbmcgPSIKKworIzogY29uZmlnL3RjLW02OGsuYzo2NzY5Cittc2dpZCAibWlzc2luZyB0byBvciBkb3dudG8iCittc2dzdHIgImhpbGFuZyB0byBhdGF1IGRvd250byIKKworIzogY29uZmlnL3RjLW02OGsuYzo2ODA1IGNvbmZpZy90Yy1tNjhrLmM6NjgzOSBjb25maWcvdGMtbTY4ay5jOjcwNTMKK21zZ2lkICJtaXNzaW5nIGRvIgorbXNnc3RyICJoaWxhbmcgZG8iCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6Njk0MAorbXNnaWQgImVuZGYgd2l0aG91dCBmb3IiCittc2dzdHIgImVuZGYgdGFucGEgZm9yIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjY5OTQKK21zZ2lkICJ1bnRpbCB3aXRob3V0IHJlcGVhdCIKK21zZ3N0ciAidW50aWwgdGFucGEgcmVwZWF0IgorCisjOiBjb25maWcvdGMtbTY4ay5jOjcwODgKK21zZ2lkICJlbmR3IHdpdGhvdXQgd2hpbGUiCittc2dzdHIgImVuZHcgdGFucGEgd2hpbGUiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NzEyMSBjb25maWcvdGMtbTY4ay5jOjcxNDkKK21zZ2lkICJhbHJlYWR5IGFzc2VtYmxlZCBpbnN0cnVjdGlvbnMiCittc2dzdHIgImluc3RydWtzaSB0ZWxhaCBkaXJha2l0IgorCisjOiBjb25maWcvdGMtbTY4ay5jOjcyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJyBpcyBkZXByZWNhdGVkLCB1c2UgYCVzJyIKK21zZ3N0ciAiYCVzJyBhZGFsYWgga2FkYWx1YXJzYSwgZ3VuYWthbiBgJXMnIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjcyNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3B1IGAlcycgdW5yZWNvZ25pemVkIgorbXNnc3RyICJjcHUgYCVzJyB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjcyNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJjaGl0ZWN0dXJlIGAlcycgdW5yZWNvZ25pemVkIgorbXNnc3RyICJhcnNpdGVrdHVyIGAlcycgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLW02OGsuYzo3Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgImV4dGVuc2lvbiBgJXMnIHVucmVjb2duaXplZCIKK21zZ3N0ciAiZWtzdGVuc2kgYCVzJyB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjc0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAtQSVzJyBpcyBkZXByZWNhdGVkOiB1c2UgYC0lcyciCittc2dzdHIgIm9wc2kgYC1BJXMnIGthZGFsdWFyc2E6IGd1bmFrYW4gYC0lcyciCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NzQzNgorbXNnaWQgImFyY2hpdGVjdHVyZSBmZWF0dXJlcyBib3RoIGVuYWJsZWQgYW5kIGRpc2FibGVkIgorbXNnc3RyICJmZWF0dXIgYXJzaXRla3R1ciBrZWR1YW55YSBha3RpZiBkYW4gbm8tYWt0aWYiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NzQ2MworbXNnaWQgInNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBoYXZlIGFsbCBmZWF0dXJlcyBvZiBzZWxlY3RlZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgInByb3Nlc29yIHlhbmcgZGlwaWxpaCB0aWRhayBtZW1pbGlraSBzZW11YSBmZWF0dXJlIGRhcmkgYXJzaXRla3R1ciB5YW5nIGRpcGlsaWgiCisKKyM6IGNvbmZpZy90Yy1tNjhrLmM6NzQ3MgorbXNnaWQgIm02OGsgYW5kIGNmIGZlYXR1cmVzIGJvdGggc2VsZWN0ZWQiCittc2dzdHIgIm02OGsgZGFuIGNmIGZlYXR1cmUga2VkdWFueWEgZGlwaWxpaCIKKworIzogY29uZmlnL3RjLW02OGsuYzo3NDg0Cittc2dpZCAiNjgwNDAgYW5kIDY4ODUxIHNwZWNpZmllZDsgbW11IGluc3RydWN0aW9ucyBtYXkgYXNzZW1ibGUgaW5jb3JyZWN0bHkiCittc2dzdHIgIjY4MDQwIGRhbiA2ODg1MSBkaXNwZXNpZmlrYXNpa2FuOyBpbnN0cnVrc2kgbW11IG11bmdraW4gbWVyYWtpdCB0aWRhayBiZW5hciIKKworIzogY29uZmlnL3RjLW02OGsuYzo3NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItbWFyY2g9PGFyY2g+XHRcdHNldCBhcmNoaXRlY3R1cmVcbiIKKyItbWNwdT08Y3B1Plx0XHRzZXQgY3B1IFtkZWZhdWx0ICVzXVxuIgorbXNnc3RyICIiCisiLW1hcmNoPTxhcmNoPlx0XHRzZXQgYXJzaXRla3R1clxuIgorIi1tY3B1PTxhcmNoPlx0XHRzZXQgY3B1IFtiYWt1ICVzXVxuIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjc1MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLW1bbm8tXSUtMTZzIGVuYWJsZS9kaXNhYmxlJXMgYXJjaGl0ZWN0dXJlIGV4dGVuc2lvblxuIgorbXNnc3RyICItbVtuby1dJS0xNnMgYWt0aWZrYW4vbm9uLWFrdGlma2FuJXMgZWtzdGVuc2kgYXJzaXRla3R1clxuIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjc1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi1sXHRcdFx0dXNlIDEgd29yZCBmb3IgcmVmcyB0byB1bmRlZmluZWQgc3ltYm9scyBbZGVmYXVsdCAyXVxuIgorIi1waWMsIC1rXHRcdGdlbmVyYXRlIHBvc2l0aW9uIGluZGVwZW5kZW50IGNvZGVcbiIKKyItU1x0XHRcdHR1cm4gamJzciBpbnRvIGpzclxuIgorIi0tcGNyZWwgICAgICAgICAgICAgICAgIG5ldmVyIHR1cm4gUEMtcmVsYXRpdmUgYnJhbmNoZXMgaW50byBhYnNvbHV0ZSBqdW1wc1xuIgorIi0tcmVnaXN0ZXItcHJlZml4LW9wdGlvbmFsXG4iCisiXHRcdFx0cmVjb2duaXplIHJlZ2lzdGVyIG5hbWVzIHdpdGhvdXQgcHJlZml4IGNoYXJhY3RlclxuIgorIi0tYml0d2lzZS1vclx0XHRkbyBub3QgdHJlYXQgYHwnIGFzIGEgY29tbWVudCBjaGFyYWN0ZXJcbiIKKyItLWJhc2Utc2l6ZS1kZWZhdWx0LTE2XHRiYXNlIHJlZyB3aXRob3V0IHNpemUgaXMgMTYgYml0c1xuIgorIi0tYmFzZS1zaXplLWRlZmF1bHQtMzJcdGJhc2UgcmVnIHdpdGhvdXQgc2l6ZSBpcyAzMiBiaXRzIChkZWZhdWx0KVxuIgorIi0tZGlzcC1zaXplLWRlZmF1bHQtMTZcdGRpc3BsYWNlbWVudCB3aXRoIHVua25vd24gc2l6ZSBpcyAxNiBiaXRzXG4iCisiLS1kaXNwLXNpemUtZGVmYXVsdC0zMlx0ZGlzcGxhY2VtZW50IHdpdGggdW5rbm93biBzaXplIGlzIDMyIGJpdHMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKyItbFx0XHRcdGd1bmFrYW4gMSB3b3JkIHVudHVrIHJlZnMgdW50dWsgc2ltYm9sIHRpZGFrIHRlcmRlZmluaXNpIFtiYWt1IDJdXG4iCisiLXBpYywgLWtcdFx0aGFzaWxrYW4ga29kZSBiZWJhcyBwb3Npc2lcbiIKKyItU1x0XHRcdHViYWggamJzciBrZSBqc3JcbiIKKyItLXBjcmVsICAgICAgICAgICAgICAgICAgamFuZ2FuIHViYWggcGVyY2FiYW5nYW4gUEMtcmVsYXRpZiBrZWRhbGFtIGxvbXBhdCBhYnNvbHV0XG4iCisiLS1yZWdpc3Rlci1wcmVmaXgtb3B0aW9uYWxcbiIKKyJcdFx0XHRrZW5hbGkgbmFtYSByZWdpc3RlciB0YW5wYSBrYXJha3RlciBhd2FsYW5cbiIKKyItLWJpdHdpc2Utb3JcdFx0amFuZ2FuIHBlcmxha3VrYW4gYHwnIHNlYmFnYWkgc2VidWFoIGthcmFrdGVyIGtvbWVudGFyXG4iCisiLS1iYXNlLXNpemUtZGVmYXVsdC0xNlx0cmVnaXN0ZXIgZGFzYXIgdGFucGEgdWt1cmFuIGFkYWxhaCAxNiBiaXRcbiIKKyItLWJhc2Utc2l6ZS1kZWZhdWx0LTMyXHRyZWdpc3RlciBkYXNhciB0YW5wYSB1a3VyYW4gYWRhbGFoIDMyIGJpdCAoYmFrdSlcbiIKKyItLWRpc3Atc2l6ZS1kZWZhdWx0LTE2XHRkaXNwbGFjZW1lbnQgZGVuZ2FuIHVrdXJhbiB0aWRhayBkaWtldGFodWkgYWRhbGFoIDE2IGJpdFxuIgorIi0tZGlzcC1zaXplLWRlZmF1bHQtMzJcdGRpc3BsYWNlbWVudCBkZW5nYW4gdWt1cmFuIHRpZGFrIGRpa2V0YWh1aSBhZGFsYWggIDMyIGJpdCAoYmFrdSlcbiIKKworIzogY29uZmlnL3RjLW02OGsuYzo3NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFyY2hpdGVjdHVyZSB2YXJpYW50cyBhcmU6ICIKK21zZ3N0ciAiVmFyaWFzaSBhcnNpdGVrdHVyIGFkYWxhaDogIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjc1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvY2Vzc29yIHZhcmlhbnRzIGFyZTogIgorbXNnc3RyICJWYXJpYXNpIHByb3Nlc29yIGFkYWxhaDogIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjc1NTkgY29uZmlnL3RjLXh0ZW5zYS5jOjYxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiXG4iCittc2dzdHIgIlxuIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjc1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXJyb3IgJXMgaW4gJXNcbiIKK21zZ3N0ciAiRXJyb3IgJXMgZGFsYW0gJXNcbiIKKworIzogY29uZmlnL3RjLW02OGsuYzo3NTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIk9wY29kZSglZC4lcyk6ICIKK21zZ3N0ciAiT3Brb2RlKCVkLiVzKTogIgorCisjOiBjb25maWcvdGMtbTY4ay5jOjc3NTQKK21zZ2lkICJOb3QgYSBkZWZpbmVkIGNvbGRmaXJlIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiQnVrYW4gc2VidWFoIGFyc2l0ZWt0dXIgdGVyZGVmaW5pc2kgY29sZGZpcmUiCisKKyMuIE92ZXIgaGVyZSB3ZSB3aWxsIGZpbGwgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBtYWNoaW5lIHNwZWNpZmljIG9wdGlvbnMuCisjOiBjb25maWcvdGMtbWF4cS5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgTUFYUS1zcGVjaWZpYyBhc3NlbWJsZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiIE9wc2kgcGVyYWtpdCBNQVhRLXNwZXNpZmlrOlxuIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXHQtTUFYUTIwXHRcdCAgICAgICBnZW5lcmF0ZSBvYmogZm9yIE1BWFEyMChkZWZhdWx0KVxuIgorIlx0LU1BWFExMFx0XHQgICAgICAgZ2VuZXJhdGUgb2JqIGZvciBNQVhRMTBcbiIKKyJcdCIKK21zZ3N0ciAiIgorIlx0LU1BWFEyMFx0XHQgICAgICAgaGFzaWxrYW4gb2JqIHVudHVrIE1BWFEyMChiYWt1KVxuIgorIlx0LU1BWFExMFx0XHQgICAgICAgaGFzaWxrYW4gb2JqIHVudHVrIE1BWFExMFxuIgorIlx0IgorCisjOiBjb25maWcvdGMtbWF4cS5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsIFJlbG9jIHR5cGUgaW4gbWRfZXN0aW1hdGVfc2l6ZV9iZWZvcmVfcmVsYXggZm9yIGxpbmUgOiAlZCIKK21zZ3N0ciAiVGlwZSByZWxva2FzaSB0aWRhayBsZWdhbCBkYWxhbSBtZF9lc3RpbWF0ZV9zaXplX2JlZm9yZV9yZWxheCB1bnR1ayBiYXJpczogJWQiCisKKyM6IGNvbmZpZy90Yy1tYXhxLmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbnQgbWFrZSBsb25nIGp1bXAvY2FsbCBpbnRvIHNob3J0IGp1bXAvY2FsbCA6ICVkIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWF0IGp1bXAvY2FsbCBwYW5qYW5nIGtlZGFsYW0ganVtcC9jYWxsIHBlbmRlazogJWQiCisKKyM6IGNvbmZpZy90Yy1tYXhxLmM6OTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmVnaXN0ZXIgdmFsdWUgJXMiCittc2dzdHIgIk5pbGFpIHJlZ2lzdGVyICVzIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjEwNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBiaXQgbnVtYmVyIDogJyVjJyIKK21zZ3N0ciAiTm9tb3IgYml0IHRpZGFrIHZhbGlkIDogJyVjJyIKKworIzogY29uZmlnL3RjLW1heHEuYzoxMDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIklsbGVnYWwgY2hhcmFjdGVyIGFmdGVyIG9wZXJhbmQgJyVzJyIKK21zZ3N0ciAiS2FyYWt0ZXIgdGlkYWsgbGVnYWwgc2V0ZWxhaCBvcGVyYW4gJyVzJyIKKworIzogY29uZmlnL3RjLW1heHEuYzoxMTM5IGNvbmZpZy90Yy1tYXhxLmM6MTMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIENoYXJhY3RlciBpbiBpbW1lZGlhdGUgVmFsdWUgOiAlYyIKK21zZ3N0ciAiS2FyYWt0ZXIgdGlkYWsgdiBhbGlkIGRhbGFtIG5pbGFpIGxhbmdzdW5nIDogJWMiCisKKyM6IGNvbmZpZy90Yy1tYXhxLmM6MTE1OSBjb25maWcvdGMtbWF4cS5jOjEzMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBDaGFyYWN0ZXIgaW4gaW1tZWRpYXRlIHZhbHVlIDogJWMiCittc2dzdHIgIkthcmFrdGVyIHRpZGFrIHZhbGlkIGRhbGFtIG5pbGFpIGxhbmdzdW5nOiAlYyIKKworIzogY29uZmlnL3RjLW1heHEuYzoxMTc1Cittc2dpZCAiSW1tZWRpYXRlIHZhbHVlIGdyZWF0ZXIgdGhhbiAxNiBiaXRzIgorbXNnc3RyICJOaWxhaSBsYW5nc3VuZyBsZWJpaCBiZXNhciBkYXJpIDE2IGJpdHMiCisKKyM6IGNvbmZpZy90Yy1tYXhxLmM6MTE4OQorbXNnaWQgIkF0dGVtcHQgdG8gbW92ZSBhIHZhbHVlIGluIHRoZSBzdGFjayBwb2ludGVyIGdyZWF0ZXIgdGhhbiB0aGUgc2l6ZSBvZiB0aGUgc3RhY2siCittc2dzdHIgIk1lbmNvYmEgbWVtaW5kYWhrYW4gc2VidWFoIG5pbGFpIGRhbGFtIHN0YWNrIHBvaW50ZXIgbGViaWggYmVzYXIgZGFyaSB1a3VyYW4gZGFyaSBzdGFjayIKKworIzogY29uZmlnL3RjLW1heHEuYzoxMTk4Cittc2dpZCAiQXR0ZW1wdCB0byBtb3ZlIDE2IGJpdCB2YWx1ZSBpbnRvIGFuIDggYml0IHJlZ2lzdGVyLlRydW5jYXRpbmcuLlxuIgorbXNnc3RyICJNZW5jb2JhIG1lbWluZGFoa2FuIG5pbGFpIDE2IGJpdCBrZWRhbGFtIHNlYnVhaCByZWdpc3RlciA4IGJpdC4gRGlwb3RvbmcuLlxuIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjEyNjAKK21zZ2lkICJJbnZhbGlkIGltbWVkaWF0ZSBtb3ZlIG9wZXJhdGlvbiIKK21zZ3N0ciAiT3BlcmFzaSBpbW1lZGlhdGUgbW92ZSB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLW1heHEuYzoxNTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNpemUgb2YgT3BlcmFuZCAnJXMnIGdyZWF0ZXIgdGhhbiAlZCIKK21zZ3N0ciAiVWt1cmFuIGRhcmkgb3BlcmFuICclcycgbGViaWggYmVzYXIgZGFyaSAlZCIKKworIzogY29uZmlnL3RjLW1heHEuYzoxNjg4CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgaW1tZWRpYXRlIG9wZXJhbmQgJyVzJyIKK21zZ3N0ciAiaW1tZWRpYXRlIG9wZXJhbiAnJXMnIHRpZGFrIGxlZ2FsIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjE3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYW5kIGZvciBtZW1vcnkgYWNjZXNzICclcyciCittc2dzdHIgIk9wZXJhbiB0aWRhayB2YWxpZCB1bnR1ayBha3NlcyBtZW1vcmkgJyVzJyIKKworIzogY29uZmlnL3RjLW1heHEuYzoxNzcyCittc2dpZCAiaWxsZWdhbCBkaXNwbGFjZW1lbnQgb3BlcmFuZCAiCittc2dzdHIgImRpc3BsYWNlbWVudCBvcGVyYW4gdGlkYWsgbGVnYWwgIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjE4MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWMgYmVmb3JlIG9wZXJhbmQgJWQiCittc2dzdHIgImthcmFrdGVyICVjIHRpZGFrIHZhbGlkIHNlYmVsdW0gb3BlcmFuICVkIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjE4NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWMgaW4gb3BlcmFuZCAlZCIKK21zZ3N0ciAia2FyYWt0ZXIgJWMgZGFsYW0gb3BlcmFuICVkIHRpZGFrIHZhbGlkIgorCisjLiBXZSBmb3VuZCBubyBtYXRjaC4KKyM6IGNvbmZpZy90Yy1tYXhxLmM6MjAwNAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYW5kICVkIGlzIGludmFsaWQgZm9yIGAlcyciCittc2dzdHIgIm9wZXJhbiAlZCB0aWRhayB2YWxpZCB1bnR1ayBgJXMnIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjIwMzcKK21zZ2lkICJUaGUgQWNjdW11bGF0b3IgY2Fubm90IGJlIHVzZWQgYXMgYSBzb3VyY2UgaW4gQUxVIGluc3RydWN0aW9uc1xuIgorbXNnc3RyICJBa3VtdWxhdG9yIHRpZGFrIGRhcGF0IGRpZ3VuYWthbiBzZWJhZ2FpIHNlYnVhaCBzdW1iZXIgZGFsYW0gaW5zdHJ1a3NpIEFMVVxuIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjIwNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBvcGVyYW5kIGNhbnQgYmUgdXNlZCBhcyBkZXN0aW5hdGlvbiBpbiAlcyIKK21zZ3N0ciAib3BlcmFuICclcycgdGlkYWsgZGFwYXQgZGlndW5ha2FuIHNlYmFnYWkgdHVqdWFuIGRhbGFtICVzIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjIwNzEgY29uZmlnL3RjLW1heHEuYzoyMTAyIGNvbmZpZy90Yy1tYXhxLmM6MjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIEluc3RydWN0aW9uICclcycgb3BlcmFuZCBjYW50IGJlIHVzZWQgd2l0aCAlcyIKK21zZ3N0ciAiSW5zdHJ1a3NpICclcycgdGlkYWsgdmFsaWQgb3BlcmFuIHRpZGFrIGRhcGF0IGRpZ3VuYWthbiBkZW5nYW4gJXMiCisKKyM6IGNvbmZpZy90Yy1tYXhxLmM6MjA4NyBjb25maWcvdGMtbWF4cS5jOjIxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBvcGVyYW5kIGNhbnQgYmUgdXNlZCBhcyBzb3VyY2UgaW4gJXMiCittc2dzdHIgIm9wZXJhbiAnJXMnIHRpZGFrIGRhcGF0IGRpZ3VuYWthbiBzZWJhZ2FpIHN1bWJlciBkYWxhbSAlcyIKKworIzogY29uZmlnL3RjLW1heHEuYzoyMTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaW5zdHJ1Y3Rpb24gY2FudCBoYXZlIGZpcnN0IG9wZXJhbmQgYXMgSW1tZWRpYXRlIHZhbGUiCittc2dzdHIgImluc3RydWtzaSAnJXMnIHRpZGFrIGRhcGF0IG1lbWlsaWtpIG9wZXJhbiBwZXJ0YW1hIHNlYmFnYWkgbmlsYWkgaW1tZWRpYXRlIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjIxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU1AgY2Fubm90IGJlIHVzZWQgd2l0aCAlc1xuIgorbXNnc3RyICJTUCB0aWRhayBkYXBhdCBkaWd1bmFrYW4gZGVuZ2FuICVzXG4iCisKKyM6IGNvbmZpZy90Yy1tYXhxLmM6MjE2NworbXNnaWQgIkBTUC0tIGNhbm5vdCBiZSB1c2VkIHdpdGggUFVTSFxuIgorbXNnc3RyICJAU1AgLS0gdGlkYWsgZGFwYXQgZGlndW5ha2FuIGRlbmdhbiBQVVNIXG4iCisKKyM6IGNvbmZpZy90Yy1tYXhxLmM6MjE4MyBjb25maWcvdGMtbWF4cS5jOjIxOTEKK21zZ2lkICJPcGVyYW5kcyBlaXRoZXIgY29udHJhZGljdG9yeSBvciB1c2UgdGhlIGRhdGEgYnVzIGluIHJlYWQvd3JpdGUgc3RhdGUgdG9nZXRoZXIiCittc2dzdHIgIk9wZXJhbiBiYWlrIGtvbnRyYWRpa3NpIGF0YXUgbWVuZ2d1bmFrYW4gZGF0YSBidXMgZGFsYW0ga2VhZGFhbiBiYWNhL3R1bGlzIHNlY2FyYSBiZXJzYW1hYW4iCisKKyM6IGNvbmZpZy90Yy1tYXhxLmM6MjE5OAorbXNnaWQgIk1PVkUgQ2FudCBVc2UgTlVMIGFzIFNSQyIKK21zZ3N0ciAiTU9WRSB0aWRhayBkYXBhdCBtZW5nZ3VuYWthbiBOVUwgIHNlYmFnYWkgU1JDIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjIyMjAKK21zZ2lkICJDb250cmFkaWN0b3J5IG1vdmVtZW50IGJldHdlZW4gRFAgcmVnaXN0ZXIgYW5kIG1lbW9yeSBhY2Nlc3MgdXNpbmcgRFAiCittc2dzdHIgIktvbnRyYWRpc2lraSBwZXJwaW5kYWhhbiBkaWFudGFyYSByZWdpc3RlciBEUCBkYW4gYWtzZXMgbWVtb3JpIG1lbmdndW5ha2FuIERQIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjIyMjgKK21zZ2lkICJTUCBhbmQgQFNQLS0gY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIgaW4gYSBtb3ZlIGluc3RydWN0aW9uIgorbXNnc3RyICJTUCBkYW4gQFNQLS0gdGlkYWsgZGFwYXQgZGlndW5ha2FuIGJlcnNhbWEgZGFsYW0gc2VidWFoIGluc3RydWtzaSBtb3ZlIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjIyNDcKK21zZ2lkICJPbmx5IE1vZHVsZSA4IHN5c3RlbSByZWdpc3RlcnMgYWxsb3dlZCBpbiB0aGlzIG9wZXJhdGlvbiIKK21zZ3N0ciAiSGFueWEgTW9kdWxlIDggc2lzdGVtIHJlZ2lzdGVyIHlhbmcgZGlwZXJib2xlaGthbiBkYWxhbSBvcGVyYXNpIGluaSIKKworIzogY29uZmlnL3RjLW1heHEuYzoyMjczIGNvbmZpZy90Yy1tYXhxLmM6MjI4MiBjb25maWcvdGMtbWF4cS5jOjIzMDgKK21zZ2lkICJSZWFkIG9ubHkgUmVnaXN0ZXIgdXNlZCBhcyBkZXN0aW5hdGlvbiIKK21zZ3N0ciAiQmFjYS1zYWphIHJlZ2lzdGVyIGRpZ3VuYWthbiBzZWJhZ2FpIHR1anVhbiIKKworIzogY29uZmlnL3RjLW1heHEuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJpdCBObyAnJWQnZXhjZWVkcyByZWdpc3RlciBzaXplIGluIHRoaXMgb3BlcmF0aW9uIgorbXNnc3RyICJCaXQgTm8gJyVkJyBtZWxlYmloaSB1a3VyYW4gcmVnaXN0ZXIgZGFsYW0gb3BlcmFzaSBpbmkiCisKKyM6IGNvbmZpZy90Yy1tYXhxLmM6MjMxNSBjb25maWcvdGMtbWF4cS5jOjIzMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQml0IE5vICclZCcgZXhjZWVkcyByZWdpc3RlciBzaXplIGluIHRoaXMgb3BlcmF0aW9uIgorbXNnc3RyICJCaXQgTm8gJyVkJyBtZWxlYmloaSB1a3VyYW4gcmVnaXN0ZXIgZGFsYW0gb3BlcmFzaSBpbmkiCisKKyM6IGNvbmZpZy90Yy1tYXhxLmM6MjM1MgorbXNnaWQgIk1lbW9yeSBSZWZlcmVuY2VzIGNhbm5vdCBiZSB1c2VkIHdpdGggYnJhbmNoaW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiUmVmZXJlbnNpIG1lbW9yaSB0aWRhayBkYXBhdCBkaWd1bmFrYW4gZGVuZ2FuIG9wZXJhc2kgcGVyY2FiYW5nYW5cbiIKKworIzogY29uZmlnL3RjLW1heHEuYzoyMzYxCittc2dpZCAiREpOWiB1c2VzIG9ubHkgTENbbl0gcmVnaXN0ZXIgXG4iCittc2dzdHIgIkRKTlogaGFueWEgbWVuZ2d1bmFrYW4gcmVnaXN0ZXIgTENbbl1cbiIKKworIzogY29uZmlnL3RjLW1heHEuYzoyMzg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgb3BlcmFuZCBjYW50IGJlIHVzZWQgYXMgZGVzdGluYXRpb24gIGluICVzIgorbXNnc3RyICInJXMnIG9wZXJhbiB0aWRhayBkYXBhdCBkaWd1bmFrYW4gc2ViYWdhaSB0dWp1YW4gZGFsYW0gJXMiCisKKyM6IGNvbmZpZy90Yy1tYXhxLmM6MjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIG9ubHkgcmVnaXN0ZXIgdXNlZCBmb3Igd3JpdGluZyBwdXJwb3NlcyAnJXMnIgorbXNnc3RyICJCYWNhLXNhamEgcmVnaXN0ZXIgZGlndW5ha2FuIHVudHVrIHR1anVhbiBtZW51bGlzIHNhamEgJyVzJyIKKworIzogY29uZmlnL3RjLW1heHEuYzoyNDA5Cittc2dpZCAiSW52YWxpZCBkZXN0aW5hdGlvbiBmb3IgdGhpcyBraW5kIG9mIHNvdXJjZS4iCittc2dzdHIgIlR1anVhbiB0aWRhayB2YWxpZCB1bnR1ayBzdW1iZXIgc2VwZXJ0aSBpbmkuIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjI0MTYKK21zZ2lkICJJbnZhbGlkIHJlZ2lzdGVyIGFzIGRlc3RpbmF0aW9uIGZvciB0aGlzIGtpbmQgb2Ygc291cmNlLk9ubHkgZGF0YSBwb2ludGVycyBjYW4gYmUgdXNlZC4iCittc2dzdHIgIlJlZ2lzdGVyIHRpZGFrIHZhbGlkIHNlYmFnYWkgdHVqdWFuIHVudHVrIHN1bWJlciBzZXBlcnRpIGluaS5IYW55YSBwZXR1bmp1ayBkYXRhIHlhbmcgZGFwYXQgZGlndW5ha2FuLiIKKworIzogY29uZmlnL3RjLW1heHEuYzoyNTA0IGNvbmZpZy90Yy1tYXhxLmM6MjU5MgorbXNnaWQgIkludmFsaWQgSW5zdHJ1Y3Rpb24iCittc2dzdHIgIkluc3RydWtzaSB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLW1heHEuYzoyNzkwCittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gbWVtb3JpIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjI4NjIKK21zZ2lkICJJbnRlcm5hbCBFcnJvcjogSWxsZWdhbCBBcmNoaXRlY3VyZSBzcGVjaWZpZWQiCittc2dzdHIgIkludGVybmFsIEVycm9yOiBBcnNpdGVrdHVyIGlsZWdhbCBkaXNwZXNpZmlrYXNpa2FuIgorCisjOiBjb25maWcvdGMtbWF4cS5jOjI5MDAKK21zZ2lkICJJbnZhbGlkIGFyY2hpdGVjdHVyZSB0eXBlIgorbXNnc3RyICJUaXBlIGFyc2l0ZWt0dXIgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1tYXhxLmM6MjkwNSBjb25maWcvdGMtbWF4cS5jOjI5MTYgY29uZmlnL3RjLW1heHEuYzoyOTI5CisjOiBjb25maWcvdGMtbWF4cS5jOjI5NDEgY29uZmlnL3RjLW1heHEuYzoyOTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVybmFsIEVycm9yIDogQ2FuJ3QgSGFzaCAlcyA6ICVzIgorbXNnc3RyICJJbnRlcm5hbCBFcnJvciA6IHRpZGFrIGRhcGF0IGhhc2ggJXMgOiAlcyIKKworIzogY29uZmlnL3RjLW1heHEuYzozMDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkluZWZmZWN0aXZlIGluc250cnVjdGlvbiAlcyBcbiIKK21zZ3N0ciAiSW5zdHJ1a3NpIHRpZGFrIGVmZWt0aWYgJXNcbiIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZ2lzdGVyIGV4cGVjdGVkLCBidXQgc2F3ICclLjZzJyIKK21zZ3N0ciAiRGlkdWdhIHNlYnVhaCByZWdpc3RlciwgdGV0YXBpIHRlcmxpaGF0ICclLjZzJyIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6NjAzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbnRyb2wgcmVnaXN0ZXIgZXhwZWN0ZWQsIGJ1dCBzYXcgJyUuNnMnIgorbXNnc3RyICJkaWR1Z2EgcmVnaXN0ZXIgcGVuZ290cm9sLCB0ZXRhcGkgdGVybGloYXQgJyUuNnMnIgorCisjOiBjb25maWcvdGMtbWNvcmUuYzo2MzkKK21zZ2lkICJiYWQvbWlzc2luZyBwc3Igc3BlY2lmaWVyIgorbXNnc3RyICJidXJ1ay9oaWxhbmcgcHNyIHNwZWNpZmllciIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6Njg5Cittc2dpZCAibW9yZSB0aGFuIDY1SyBsaXRlcmFsIHBvb2xzIgorbXNnc3RyICJsZWJpaCBkYXJpIDY1SyBsaXRlcmFsIHBvb2xzIgorCisjOiBjb25maWcvdGMtbWNvcmUuYzo3NDMKK21zZ2lkICJtaXNzaW5nICddJyIKK21zZ3N0ciAiaGlsYW5nICddJyIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6NzgyCittc2dpZCAib3BlcmFuZCBtdXN0IGJlIGEgY29uc3RhbnQiCittc2dzdHIgIm9wZXJhbiBoYXJ1cyBiZXJ1cGEgc2VidWFoIGtvbnN0YW50YSIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6Nzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhbmQgbXVzdCBiZSBhYnNvbHV0ZSBpbiByYW5nZSAldS4uJXUsIG5vdCAlbGQiCittc2dzdHIgIm9wZXJhbiBoYXJ1cyBhYnNvbHV0IGRhbGFtIGphbmdrYXVhbiAldS4uJXUsIHRpZGFrICVsZCIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6ODE5Cittc2dpZCAib3BlcmFuZCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNCIKK21zZ3N0ciAib3BlcmFuIGhhcnVzIHNlYnVhaCBrZWxpcGF0YW4gZGFyaSA0IgorCisjOiBjb25maWcvdGMtbWNvcmUuYzo4MjYKK21zZ2lkICJvcGVyYW5kIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAyIgorbXNnc3RyICJvcGVyYW4gaGFydXMgc2VidWFoIGtlbGlwYXRhbiBkYXJpIDIiCisKKyM6IGNvbmZpZy90Yy1tY29yZS5jOjg0MCBjb25maWcvdGMtbWNvcmUuYzoxMzU2IGNvbmZpZy90Yy1tY29yZS5jOjE0MTAKK21zZ2lkICJiYXNlIHJlZ2lzdGVyIGV4cGVjdGVkIgorbXNnc3RyICJkaWR1Z2EgZGFzYXIgcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1tY29yZS5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wY29kZSBcIiVzXCIiCittc2dzdHIgIm9wa29kZSB0aWRhayBkaWtlbmFsIFwiJXNcIiIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6OTMxCittc2dpZCAiaW52YWxpZCByZWdpc3RlcjogcjE1IGlsbGVnYWwiCittc2dzdHIgInJlZ2lzdGVyIHRpZGFrIHZhbGlkOiByMTUgdGlkYWsgbGVnYWwiCisKKyM6IGNvbmZpZy90Yy1tY29yZS5jOjk4MCBjb25maWcvdGMtbWNvcmUuYzoxNTYxCittc2dpZCAiTTM0MCBzcGVjaWZpYyBvcGNvZGUgdXNlZCB3aGVuIGFzc2VtYmxpbmcgZm9yIE0yMTAiCittc2dzdHIgIk0zNDAgc3Blc2lmaWsgb3Brb2RlIGRpZ3VuYWthbiBrZXRpa2EgbWVyYWtpdCB1bnR1ayBNMjEwIgorCisjOiBjb25maWcvdGMtbWNvcmUuYzo5OTggY29uZmlnL3RjLW1jb3JlLmM6MTAzOCBjb25maWcvdGMtbWNvcmUuYzoxMDU3CisjOiBjb25maWcvdGMtbWNvcmUuYzoxMDc2IGNvbmZpZy90Yy1tY29yZS5jOjExMDQgY29uZmlnL3RjLW1jb3JlLmM6MTEzMworIzogY29uZmlnL3RjLW1jb3JlLmM6MTE3MCBjb25maWcvdGMtbWNvcmUuYzoxMjA1IGNvbmZpZy90Yy1tY29yZS5jOjEyMjQKKyM6IGNvbmZpZy90Yy1tY29yZS5jOjEyNDMgY29uZmlnL3RjLW1jb3JlLmM6MTI3NyBjb25maWcvdGMtbWNvcmUuYzoxMzAyCisjOiBjb25maWcvdGMtbWNvcmUuYzoxMzU5IGNvbmZpZy90Yy1tY29yZS5jOjE0MTMgY29uZmlnL3RjLW1jb3JlLmM6MTQ0OQorIzogY29uZmlnL3RjLW1jb3JlLmM6MTUwOCBjb25maWcvdGMtbWNvcmUuYzoxNTMwIGNvbmZpZy90Yy1tY29yZS5jOjE1NTMKK21zZ2lkICJzZWNvbmQgb3BlcmFuZCBtaXNzaW5nIgorbXNnc3RyICJvcGVyYW4ga2VkdWEgaGlsYW5nIgorCisjOiBjb25maWcvdGMtbWNvcmUuYzoxMDE0Cittc2dpZCAiZGVzdGluYXRpb24gcmVnaXN0ZXIgbXVzdCBiZSByMSIKK21zZ3N0ciAicmVnaXN0ZXIgdHVqdWFuIGhhcnVzIGJlcnVwYSByMSIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6MTAzNQorbXNnaWQgInNvdXJjZSByZWdpc3RlciBtdXN0IGJlIHIxIgorbXNnc3RyICJhc2FsIHJlZ2lzdGVyIGhhcnVzIGJlcnVwYSByMSIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6MTA5OSBjb25maWcvdGMtbWNvcmUuYzoxMTU2Cittc2dpZCAiaW1tZWRpYXRlIGlzIG5vdCBhIHBvd2VyIG9mIHR3byIKK21zZ3N0ciAiaW1tZWRpYXRlIGJ1a2FuIGtlbGlwYXRhbiBkYXJpIGR1YSIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6MTEyNworbXNnaWQgInRyYW5zbGF0aW5nIGJnZW5pIHRvIG1vdmkiCittc2dzdHIgIm1lbmVyamVtYWhrYW4gYmdlbmkga2UgbW92aSIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6MTE2NAorbXNnaWQgInRyYW5zbGF0aW5nIG1nZW5pIHRvIG1vdmkiCittc2dzdHIgIm1lbmVyamVtYWhrYW4gbWdlbmkga2UgbW92aSIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6MTE5NgorbXNnaWQgInRyYW5zbGF0aW5nIGJtYXNraSB0byBtb3ZpIgorbXNnc3RyICJtZW5lcmplbWFoa2FuIGJtYXNraSBrZSBtb3ZpIgorCisjOiBjb25maWcvdGMtbWNvcmUuYzoxMjcyCisjLCBjLWZvcm1hdAorbXNnaWQgImRpc3BsYWNlbWVudCB0b28gbGFyZ2UgKCVkKSIKK21zZ3N0ciAiZGlzcGxhY2VtZW50IHRlcmxhbHUgYmVzYXIgKCVkKSIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6MTI4NgorbXNnaWQgIkludmFsaWQgcmVnaXN0ZXI6IHIwIGFuZCByMTUgaWxsZWdhbCIKK21zZ3N0ciAicmVnaXN0ZXIgdGlkYWsgdmFsaWQ6IHIwIGRhbiByMTUgdGlkYWsgbGVnYWwiCisKKyM6IGNvbmZpZy90Yy1tY29yZS5jOjEzMTcKK21zZ2lkICJiYWQgc3RhcnRpbmcgcmVnaXN0ZXI6IHIwIGFuZCByMTUgaW52YWxpZCIKK21zZ3N0ciAiYXdhbCByZWdpc3RlciBidXJ1azogcjAgZGFuIHIxNSB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6MTMzMAorbXNnaWQgImVuZGluZyByZWdpc3RlciBtdXN0IGJlIHIxNSIKK21zZ3N0ciAicmVnaXN0ZXIgYWtoaXIgaGFydXMgcjE1IgorCisjOiBjb25maWcvdGMtbWNvcmUuYzoxMzUwCittc2dpZCAiYmFkIGJhc2UgcmVnaXN0ZXI6IG11c3QgYmUgcjAiCittc2dzdHIgInJlZ2lzdGVyIGRhc2FyIGJ1cnVrOiBoYXJ1cyByMCIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6MTM2OAorbXNnaWQgImZpcnN0IHJlZ2lzdGVyIG11c3QgYmUgcjQiCittc2dzdHIgInJlZ2lzdGVyIHBlcnRhbWEgaGFydXMgcjQiCisKKyM6IGNvbmZpZy90Yy1tY29yZS5jOjEzNzkKK21zZ2lkICJsYXN0IHJlZ2lzdGVyIG11c3QgYmUgcjciCittc2dzdHIgInJlZ2lzdGVyIHRlcmFraGlyIGhhcnVzIHI3IgorCisjOiBjb25maWcvdGMtbWNvcmUuYzoxNDE2Cittc2dpZCAicmVnLXJlZyBleHBlY3RlZCIKK21zZ3N0ciAiZGlkdWdhIHJlZy1yZWciCisKKyM6IGNvbmZpZy90Yy1tY29yZS5jOjE1MjcKK21zZ2lkICJzZWNvbmQgb3BlcmFuZCBtdXN0IGJlIDEiCittc2dzdHIgIm9wZXJhbiBrZWR1YSBoYXJ1cyAxIgorCisjOiBjb25maWcvdGMtbWNvcmUuYzoxNTQ4Cittc2dpZCAiemVybyB1c2VkIGFzIGltbWVkaWF0ZSB2YWx1ZSIKK21zZ3N0ciAibm9sIGRpZ3VuYWthbiBzZWJhZ2FpIG5pbGFpIGxhbmdzdW5nIgorCisjOiBjb25maWcvdGMtbWNvcmUuYzoxNTc1Cittc2dpZCAiZHVwbGljYXRlZCBwc3IgYml0IHNwZWNpZmllciIKK21zZ3N0ciAiZHVwbGlrYXNpIHBzciBiaXQgc3BlY2lmaWVyIgorCisjOiBjb25maWcvdGMtbWNvcmUuYzoxNTgxCittc2dpZCAiYGFmJyBtdXN0IGFwcGVhciBhbG9uZSIKK21zZ3N0ciAiYGFmJyBoYXJ1cyB0ZXJsaWhhdCBzZW5kaXJpIgorCisjOiBjb25maWcvdGMtbWNvcmUuYzoxNTg4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuaW1wbGVtZW50ZWQgb3Bjb2RlIFwiJXNcIiIKK21zZ3N0ciAib3Brb2RlIHRpZGFrIHRlcmltcGxlbWVudGFzaSBcIiVzXCIiCisKKyM6IGNvbmZpZy90Yy1tY29yZS5jOjE1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3Jpbmcgb3BlcmFuZHM6ICVzICIKK21zZ3N0ciAibWVuZ2FiYWlrYW4gb3BlcmFuOiAlcyAiCisKKyM6IGNvbmZpZy90Yy1tY29yZS5jOjE2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pc2VkIGNwdSB0eXBlICclcyciCittc2dzdHIgInRpcGUgY3B1ICclcycgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6MTY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTUNPUkUgc3BlY2lmaWMgb3B0aW9uczpcbiIKKyIgIC17bm8tfWpzcmkyYnNyXHQgIHtkaXN9YWJsZSBqc3JpIHRvIGJzciB0cmFuc2Zvcm1hdGlvbiAoZGVmOiBkaXMpXG4iCisiICAte25vLX1zaWZpbHRlclx0ICB7ZGlzfWFibGUgc2lsaWNvbiBmaWx0ZXIgYmVoYXZpb3IgKGRlZjogZGlzKVxuIgorIiAgLWNwdT1bMjEwfDM0MF0gICAgICAgICAgc2VsZWN0IENQVSB0eXBlXG4iCisiICAtRUIgICAgICAgICAgICAgICAgICAgICBhc3NlbWJsZSBmb3IgYSBiaWcgZW5kaWFuIHN5c3RlbSAoZGVmYXVsdClcbiIKKyIgIC1FTCAgICAgICAgICAgICAgICAgICAgIGFzc2VtYmxlIGZvciBhIGxpdHRsZSBlbmRpYW4gc3lzdGVtXG4iCittc2dzdHIgIiIKKyJPcHNpIHNwZXNpZmlrIE1DT1JFOlxuIgorIiAgLXtuby19anNyaTJic3JcdCAge25vbn1ha3RpZmthbiB0cmFuc2Zvcm1hc2kganNyaSBrZSBic3IgKGJha3U6IG5vbilcbiIKKyIgIC17bm8tfXNpZmlsdGVyXHQgIHtub259YWt0aWZrYW4gcGVybGFrdWFuIGZpbHRlciBzaWxpY29uIChiYWt1OiBub24pXG4iCisiICAtY3B1PVsyMTB8MzQwXSAgICAgICAgICBwaWxpaCB0aXBlIENQVVxuIgorIiAgLUVCICAgICAgICAgICAgICAgICAgICAgcmFraXQgdW50dWsgc2lzdGVtIGJpZyBlbmRpYW4gKGJha3UpXG4iCisiICAtRUwgICAgICAgICAgICAgICAgICAgICByYWtpdCB1bnR1ayBzaXN0ZW0gbGl0dGxlIGVuZGlhblxuIgorCisjOiBjb25maWcvdGMtbWNvcmUuYzoxNzAzCittc2dpZCAiZmFpbGVkIHNhbml0eSBjaGVjazogc2hvcnRfanVtcCIKK21zZ3N0ciAiZ2FnYWwgcGVtZXJpa3NhYW4ga2VhZGFhbjogc2hvcnRfanVtcCIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6MTcxMworbXNnaWQgImZhaWxlZCBzYW5pdHkgY2hlY2s6IGxvbmdfanVtcCIKK21zZ3N0ciAiZ2FnYWwgcGVtZXJpa3NhYW4ga2VhZGFhbjogbG9uZ19qdW1wIgorCisjOiBjb25maWcvdGMtbWNvcmUuYzoxNzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9kZCBkaXNwbGFjZW1lbnQgYXQgJXgiCittc2dzdHIgImRpc3BsYWNlbWVuIGdhbmppbCBkaSAleCIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6MTkyMQorbXNnaWQgInVua25vd24iCittc2dzdHIgInRpZGFrIGRpa2V0YWh1aSIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6MTk0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvZGQgZGlzdGFuY2UgYnJhbmNoICgweCVseCBieXRlcykiCittc2dzdHIgImphcmFrIGNhYmFuZyBhbmVoICgweCVseCBieXRlcykiCisKKyM6IGNvbmZpZy90Yy1tY29yZS5jOjE5NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGNyZWwgZm9yIGJyYW5jaCB0byAlcyB0b28gZmFyICgweCVseCkiCittc2dzdHIgInBjcmVsIHVudHVrIGNhYmFuZyBrZSAlcyB0ZXJsYWx1IGphdWggKDB4JWx4KSIKKworIzogY29uZmlnL3RjLW1jb3JlLmM6MTk3MgorIywgYy1mb3JtYXQKK21zZ2lkICJwY3JlbCBmb3IgbHJ3L2ptcGkvanNyaSB0byAlcyB0b28gZmFyICgweCVseCkiCittc2dzdHIgInBjcmVsIHVudHVrIGxydy9qbXBpL2pzcmkga2UgJXMgdGVybGFsdSBqYXVoICgweCVseCkiCisKKyM6IGNvbmZpZy90Yy1tY29yZS5jOjE5ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGNyZWwgZm9yIGxvb3B0IHRvbyBmYXIgKDB4JWx4KSIKK21zZ3N0ciAicGNyZWwgdW50dWsgbG9vcHQgdGVybGFsdSBqYXVoICgweCVseCkiCisKKyM6IGNvbmZpZy90Yy1tY29yZS5jOjIxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuIG5vdCBkbyAlZCBieXRlICVzcmVsb2NhdGlvbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVsYWt1a2FuICVkIGJ5dGUgJXMgcmVsb2thc2kiCisKKyM6IGNvbmZpZy90Yy1tY29yZS5jOjIxODIKK21zZ2lkICJwYy1yZWxhdGl2ZSIKK21zZ3N0ciAicGMtcmVsYXRpZiIKKworIzogY29uZmlnL3RjLW1lcC5jOjMwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWVQIHNwZWNpZmljIGNvbW1hbmQgbGluZSBvcHRpb25zOlxuIgorIiAgLUVCICAgICAgICAgICAgICAgICAgICAgYXNzZW1ibGUgZm9yIGEgYmlnIGVuZGlhbiBzeXN0ZW0gKGRlZmF1bHQpXG4iCisiICAtRUwgICAgICAgICAgICAgICAgICAgICBhc3NlbWJsZSBmb3IgYSBsaXR0bGUgZW5kaWFuIHN5c3RlbVxuIgorIiAgLW1jb25maWc9PG5hbWU+ICAgICAgICAgc3BlY2lmeSBhIGNoaXAgY29uZmlndXJhdGlvbiB0byB1c2VcbiIKKyIgIC1tYXZlcmFnZSAtbW5vLWF2ZXJhZ2UgLW1tdWx0IC1tbm8tbXVsdCAtbWRpdiAtbW5vLWRpdlxuIgorIiAgLW1iaXRvcHMgLW1uby1iaXRvcHMgLW1sZWFkeiAtbW5vLWxlYWR6IC1tYWJzZGlmZiAtbW5vLWFic2RpZmZcbiIKKyIgIC1tbWlubWF4IC1tbm8tbWlubWF4IC1tY2xpcCAtbW5vLWNsaXAgLW1zYXR1ciAtbW5vLXNhdHVyIC1tY29wMzJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZS9kaXNhYmxlIHRoZSBnaXZlbiBvcGNvZGVzXG4iCisiXG4iCisiICBJZiAtbWNvbmZpZyBpcyBnaXZlbiwgdGhlIG90aGVyIC1tIG9wdGlvbnMgbW9kaWZ5IGl0LiAgT3RoZXJ3aXNlLFxuIgorIiAgaWYgbm8gLW0gb3B0aW9ucyBhcmUgZ2l2ZW4sIGFsbCBjb3JlIG9wY29kZXMgYXJlIGVuYWJsZWQ7XG4iCisiICBpZiBhbnkgZW5hYmxpbmcgLW0gb3B0aW9ucyBhcmUgZ2l2ZW4sIG9ubHkgdGhvc2UgYXJlIGVuYWJsZWQ7XG4iCisiICBpZiBvbmx5IGRpc2FibGluZyAtbSBvcHRpb25zIGFyZSBnaXZlbiwgb25seSB0aG9zZSBhcmUgZGlzYWJsZWQuXG4iCittc2dzdHIgIiIKKyJPcHNpIHNwZXNpZmlrIE1lcCBiYXJpcyBwZXJpbnRhaDpcbiIKKyIgIC1FQiAgICAgICAgICAgICAgICAgICAgIHJha2l0IHVudHVrIHNpc3RlbSBiaWcgZW5kaWFuIChiYWt1KVxuIgorIiAgLUVMICAgICAgICAgICAgICAgICAgICAgcmFraXQgdW50dWsgc2lzdGVtIGxpdHRsZSBlbmRpYW5cbiIKKyIgIC1tY29uZmlnPTxuYW1hPiAgICAgICAgIHNwZXNpZmlrYXNpa2FuIGtvbmZpZ3VyYXNpIGNoaXAgeWFuZyBkaWd1bmFrYW5cbiIKKyIgIC1tYXZlcmFnZSAtbW5vLWF2ZXJhZ2UgLW1tdWx0IC1tbm8tbXVsdCAtbWRpdiAtbW5vLWRpdlxuIgorIiAgLW1iaXRvcHMgLW1uby1iaXRvcHMgLW1sZWFkeiAtbW5vLWxlYWR6IC1tYWJzZGlmZiAtbW5vLWFic2RpZmZcbiIKKyIgIC1tbWlubWF4IC1tbm8tbWlubWF4IC1tY2xpcCAtbW5vLWNsaXAgLW1zYXR1ciAtbW5vLXNhdHVyIC1tY29wMzJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGFrdGlma2FuL25vbi1ha3RpZmthbiBvcGtvZGUgeWFuZyBkaWJlcmlrYW5cbiIKKyJcbiIKKyIgIEppa2EgLW1jb25maWcgZGliZXJpa2FuLCBvcHNpIC1tIGxhaW4gbWVtb2RpZmlrYXNpbnlhLiBKaWthIHRpZGFrLFxuIgorIiAgamlrYSB0aWRhayBhZGEgb3BzaSAtbSB5YW5nIGRpYmVyaWthbiwgc2VsdXJ1aCBjb3JlIG9wa29kZSBkaWFrdGlma2FuO1xuIgorIiAgamlrYSBwZW5nYWt0aWZhbiBvcHNpIC1tIGRpYmVyaWthbiwgaGFueWEgaXR1IHNhamEgeWFuZyBkaWFrdGlma2FuIHNhamE7XG4iCisiICBqaWthIGhhbnlhIG1lbm9uLWFrdGlma2FuIG9wc2kgLW0gZGliZXJpa2FuLCBoYW55YSBpdHUgc2FqYSB5YW5nIGRpbm9uLWFrdGlma2FuLlxuIgorCisjLiBUaGVyZSBhcmUgbm8gaW5zbnMgaW4gdGhlIHF1ZXVlIGFuZCBhIHBsdXMgaXMgcHJlc2VudC4KKyMuIFRoaXMgaXMgYSBzeW50YXggZXJyb3IuICBMZXQncyBub3QgdG9sZXJhdGUgdGhpcy4KKyMuIFdlIGNhbiByZWxheCB0aGlzIGxhdGVyIGlmIG5lY2Vzc2FyeS4KKyM6IGNvbmZpZy90Yy1tZXAuYzoxMDA4Cittc2dpZCAiSW52YWxpZCB1c2Ugb2YgcGFyYWxsZWxpemF0aW9uIG9wZXJhdG9yLiIKK21zZ3N0ciAiUGVuZ3VuYWthbiBkYXJpIG9wZXJhdG9yIHBhcmFsZWxpc2FzaSB0aWRhayB2YWxpZC4iCisKKyM6IGNvbmZpZy90Yy1tZXAuYzoxMDUwCittc2dpZCAiTGVhZGluZyBwbHVzIHNpZ24gbm90IGFsbG93ZWQgaW4gY29yZSBtb2RlIgorbXNnc3RyICJBd2FsYW4gdGFuZGEgcGx1cyB0aWRhayBkaXBlcmJvbGVoa2FuIGRhbGFtIG1vZGUgY29yZSIKKworIzogY29uZmlnL3RjLW1lcC5jOjE1MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gcmVsb2NhdGUgcGxhaW4gb3BlcmFuZHMgb2YgdHlwZSAlcyIKK21zZ3N0ciAiVGlkYWsgdGFodSBiYWdhaW1hbmEgbWVyZWxva2FzaSB0aXBlIG9wZXJhbiAlcyIKKworIzogY29uZmlnL3RjLW1lcC5jOjE1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGVyaGFwcyB5b3UgYXJlIG1pc3NpbmcgJSV0cG9mZigpPyIKK21zZ3N0ciAiTXVuZ2tpbiBhbmRhIGx1cGEgJSV0cG9mZigpPyIKKworIzogY29uZmlnL3RjLW1lcC5jOjE3MjUKK21zZ2lkICJCYWQgLnNlY3Rpb24gZGlyZWN0aXZlOiB3YW50IGEsdix3LHgsTSxTIGluIHN0cmluZyIKK21zZ3N0ciAiRGlyZWt0aWYgLnNlY3Rpb24gYnVydWs6IGRpaW5naW5rYW4gZGFsYW0gc3RyaW5nIGEsdix3LHgsTSxTIgorCisjOiBjb25maWcvdGMtbWVwLmM6MTc4MworbXNnaWQgIi52bGl3IHVuYXZhaWxhYmxlIHdoZW4gVkxJVyBpcyBkaXNhYmxlZC4iCittc2dzdHIgIi52bGl3IHRpZGFrIHRlcnNlZGlhIGtldGlrYSBWTElXIHRpZGFrIGFrdGlmLiIKKworIy4gUHJvdG90eXBlcyBmb3Igc3RhdGljIGZ1bmN0aW9ucy4KKyM6IGNvbmZpZy90Yy1taXBzLmM6MTAzMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBFcnJvciwgbGluZSAlZCwgJXMiCittc2dzdHIgImludGVybmFsIEVycm9yLCBiYXJpcyAlZCwgJXMiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTg3NQorbXNnaWQgIi1HIG1heSBub3QgYmUgdXNlZCBpbiBwb3NpdGlvbi1pbmRlcGVuZGVudCBjb2RlIgorbXNnc3RyICItRyB0aWRhayBib2xlaCBkaWd1bmFrYW4gZGFsYW0ga29kZSBiZWJhcyBwb3Npc2kiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTkyMgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbDogY2FuJ3QgaGFzaCBgJXMnOiAlcyIKK21zZ3N0ciAiaW50ZXJuYWw6IHRpZGFrIGRhcGF0IGhhc2ggYCVzJzogJXMiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTkzMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogYmFkIG1pcHMxNiBvcGNvZGU6ICVzICVzXG4iCittc2dzdHIgImludGVybmFsIGVycm9yOiBvcGtvZGUgbWlwczE2IGJ1cnVrOiAlcyAlc1xuIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjIxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmV0dXJuZWQgZnJvbSBtaXBzX2lwKCVzKSBpbnNuX29wY29kZSA9IDB4JXhcbiIKK21zZ3N0ciAiZGlrZW1iYWxpa2FuIGRhcmkgbWlwc19pcCglcykgaW5zbl9vcGNvZGUgPSAweCV4XG4iCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6Mjg1OCBjb25maWcvdGMtbWlwcy5jOjE0NDE0Cittc2dpZCAiZXh0ZW5kZWQgaW5zdHJ1Y3Rpb24gaW4gZGVsYXkgc2xvdCIKK21zZ3N0ciAiaW5zdHJ1a3NpIGVrc3RlbnNpIGRhbGFtIHNsb3QgdGVydHVuZGEiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MjkyMiBjb25maWcvdGMtbWlwcy5jOjI5MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAianVtcCB0byBtaXNhbGlnbmVkIGFkZHJlc3MgKDB4JWx4KSIKK21zZ3N0ciAibG9tcGF0IGtlIGFsYW1hdCBtaXNhbGlnbmVkICgweCVseCkiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MjkzOSBjb25maWcvdGMtbWlwcy5jOjM2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYnJhbmNoIHRvIG1pc2FsaWduZWQgYWRkcmVzcyAoMHglbHgpIgorbXNnc3RyICJjYWJhbmcga2UgYWxhbWF0IG1pc2FsaWduZWQgKDB4JWx4KSIKKworIzogY29uZmlnL3RjLW1pcHMuYzoyOTQ0IGNvbmZpZy90Yy1taXBzLmM6MzY5NworIywgYy1mb3JtYXQKK21zZ2lkICJicmFuY2ggYWRkcmVzcyByYW5nZSBvdmVyZmxvdyAoMHglbHgpIgorbXNnc3RyICJqYW5na2F1YW4gYWxhbWF0IHBlcmNhYmFuZ2FuIG92ZXJmbG93ICgweCVseCkiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MzQyNworbXNnaWQgIk1hY3JvIGluc3RydWN0aW9uIGV4cGFuZGVkIGludG8gbXVsdGlwbGUgaW5zdHJ1Y3Rpb25zIGluIGEgYnJhbmNoIGRlbGF5IHNsb3QiCittc2dzdHIgImluc3RydWtzaSBtYWtybyBkaWVrc3BhbiBrZWRhbGFtIGJlYmVyYXBhIGluc3RydWtzaSBkYWxhbSBzZWJ1YWggYnJhbmNoIGRlbGF5IHNsb3QiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MzQzMAorbXNnaWQgIk1hY3JvIGluc3RydWN0aW9uIGV4cGFuZGVkIGludG8gbXVsdGlwbGUgaW5zdHJ1Y3Rpb25zIgorbXNnc3RyICJJbnN0cnVrc2kgbWFrcm8gZGlla3NwYW4ga2VkYWxhbSBiZWJlcmFwYSBpbnN0cnVrc2kiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6Mzk2NiBjb25maWcvdGMtbWlwcy5jOjc5MjcgY29uZmlnL3RjLW1pcHMuYzo3OTUxCisjOiBjb25maWcvdGMtbWlwcy5jOjgwMjQgY29uZmlnL3RjLW1pcHMuYzo4MDQ3Cittc2dpZCAib3BlcmFuZCBvdmVyZmxvdyIKK21zZ3N0ciAib3BlcmFuIG92ZXJmbG93IgorCisjOiBjb25maWcvdGMtbWlwcy5jOjM5ODUgY29uZmlnL3RjLW1pcHMuYzo0NTg1IGNvbmZpZy90Yy1taXBzLmM6NzI5OAorIzogY29uZmlnL3RjLW1pcHMuYzo4MTE0Cittc2dpZCAiTWFjcm8gdXNlZCAkYXQgYWZ0ZXIgXCIuc2V0IG5vYXRcIiIKK21zZ3N0ciAiTWFrcm8gbWVuZ2d1bmFrYW4gJGF0IHNlc3VkYWggXCIuc2V0IG5vYXRcIiIKKworIzogY29uZmlnL3RjLW1pcHMuYzo0MDE0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFyZ2UgY29uc3RhbnQiCittc2dzdHIgImtvbnN0YW50YSBiZXNhciB0aWRhayBkaWR1a3VuZyIKKworIzogY29uZmlnL3RjLW1pcHMuYzo0MDE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluc3RydWN0aW9uICVzIHJlcXVpcmVzIGFic29sdXRlIGV4cHJlc3Npb24iCittc2dzdHIgIkluc3RydWtzaSAlcyBtZW1idXR1aGthbiBla3NwcmVzaSBhYnNvbHV0IgorCisjOiBjb25maWcvdGMtbWlwcy5jOjQxNDkgY29uZmlnL3RjLW1pcHMuYzo2NDE4IGNvbmZpZy90Yy1taXBzLmM6Njk5NAorIywgYy1mb3JtYXQKK21zZ2lkICJOdW1iZXIgKDB4JXMpIGxhcmdlciB0aGFuIDMyIGJpdHMiCittc2dzdHIgIk5vbW9yICgweCVzKSBsZWJpaCBiZXNhciBkYXJpIDMyIGJpdCIKKworIzogY29uZmlnL3RjLW1pcHMuYzo0MTY5Cittc2dpZCAiTnVtYmVyIGxhcmdlciB0aGFuIDY0IGJpdHMiCittc2dzdHIgIk5vbW9yIGxlYmloIGJlc2FyIGRhcmkgNjQgYml0IgorCisjOiBjb25maWcvdGMtbWlwcy5jOjQ0NjMgY29uZmlnL3RjLW1pcHMuYzo0NDkxIGNvbmZpZy90Yy1taXBzLmM6NDUyOQorIzogY29uZmlnL3RjLW1pcHMuYzo0NTc0IGNvbmZpZy90Yy1taXBzLmM6NjYyNyBjb25maWcvdGMtbWlwcy5jOjY2NjYKKyM6IGNvbmZpZy90Yy1taXBzLmM6NjcwNSBjb25maWcvdGMtbWlwcy5jOjcxMDkgY29uZmlnL3RjLW1pcHMuYzo3MTYxCisjOiBjb25maWcvdGMtc2NvcmUuYzo0MjM0Cittc2dpZCAiUElDIGNvZGUgb2Zmc2V0IG92ZXJmbG93IChtYXggMTYgc2lnbmVkIGJpdHMpIgorbXNnc3RyICJPZnNldCBrb2RlIFBJQyBvdmVyZmxvdyAobWFrc2ltYWwgMTYgc2lnbmVkIGJpdCkiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6NDg5NiBjb25maWcvdGMtbWlwcy5jOjQ5NjIgY29uZmlnL3RjLW1pcHMuYzo1MDUwCisjOiBjb25maWcvdGMtbWlwcy5jOjUwOTcgY29uZmlnL3RjLW1pcHMuYzo1MTU4IGNvbmZpZy90Yy1taXBzLmM6NTIwNgorIzogY29uZmlnL3RjLW1pcHMuYzo4MjA4IGNvbmZpZy90Yy1taXBzLmM6ODIxNSBjb25maWcvdGMtbWlwcy5jOjgyMjIKKyM6IGNvbmZpZy90Yy1taXBzLmM6ODMyOQorbXNnaWQgIlVuc3VwcG9ydGVkIGxhcmdlIGNvbnN0YW50IgorbXNnc3RyICJLb25zdGFudGEgYmVzYXIgdGlkYWsgZGlkdWt1bmciCisKKyMuIHJlc3VsdCBpcyBhbHdheXMgdHJ1ZQorIzogY29uZmlnL3RjLW1pcHMuYzo0OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAlcyBpcyBhbHdheXMgdHJ1ZSIKK21zZ3N0ciAiQ2FiYW5nICVzIHRpZGFrIHNlbGFsdSBiZW5hciIKKworIzogY29uZmlnL3RjLW1pcHMuYzo1MTY5IGNvbmZpZy90Yy1taXBzLmM6NTIxNyBjb25maWcvdGMtbWlwcy5jOjg5NzgKKyM6IGNvbmZpZy90Yy1taXBzLmM6OTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJJbXByb3BlciBwb3NpdGlvbiAoJWx1KSIKK21zZ3N0ciAiUG9zaXNpIHRpZGFrIHNlc3VhaSAoJWx1KSIKKworIzogY29uZmlnL3RjLW1pcHMuYzo1MTc1IGNvbmZpZy90Yy1taXBzLmM6OTA0NQorIywgYy1mb3JtYXQKK21zZ2lkICJJbXByb3BlciBleHRyYWN0IHNpemUgKCVsdSwgcG9zaXRpb24gJWx1KSIKK21zZ3N0ciAiVWt1cmFuIGVrc3RyYWtzIHRpZGFrIHNlc3VhaSAoJWx1LCBwb3Npc2kgJWx1KSIKKworIzogY29uZmlnL3RjLW1pcHMuYzo1MjIzIGNvbmZpZy90Yy1taXBzLmM6OTAwOQorIywgYy1mb3JtYXQKK21zZ2lkICJJbXByb3BlciBpbnNlcnQgc2l6ZSAoJWx1LCBwb3NpdGlvbiAlbHUpIgorbXNnc3RyICJVa3VyYW4gbWFzdWthbiB0aWRhayBzZXN1YWkgKCVsdSwgcG9zaXNpICVsdSkiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6NTI2MCBjb25maWcvdGMtbWlwcy5jOjUzNTcKK21zZ2lkICJEaXZpZGUgYnkgemVyby4iCittc2dzdHIgIkRpYmFnaSBkZW5nYW4gbm9sLiIKKworIzogY29uZmlnL3RjLW1pcHMuYzo1NDQzCittc2dpZCAiZGxhIHVzZWQgdG8gbG9hZCAzMi1iaXQgcmVnaXN0ZXIiCittc2dzdHIgImRsYSBkaWd1bmFrYW4gdW50dWsgbG9hZCAzMi1iaXQgcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6NTQ0NgorbXNnaWQgImxhIHVzZWQgdG8gbG9hZCA2NC1iaXQgYWRkcmVzcyIKK21zZ3N0ciAibGEgZGlndW5ha2FuIHVudHVrIGxvYWQgYWxhbWF0IDY0IGJpdCIKKworIzogY29uZmlnL3RjLW1pcHMuYzo1NTU4IGNvbmZpZy90Yy16ODAuYzo3MDAKK21zZ2lkICJvZmZzZXQgdG9vIGxhcmdlIgorbXNnc3RyICJvZnNldCB0ZXJsYWx1IGJlc2FyIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjU3MzIgY29uZmlnL3RjLW1pcHMuYzo2MDExCittc2dpZCAiUElDIGNvZGUgb2Zmc2V0IG92ZXJmbG93IChtYXggMzIgc2lnbmVkIGJpdHMpIgorbXNnc3RyICJPZnNldCBrb2RlIFBJQyBvdmVyZmxvdyAobWFrc2ltYWwgMzIgc2lnbmVkIGJpdCkiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6NjA1NworbXNnaWQgIk1JUFMgUElDIGNhbGwgdG8gcmVnaXN0ZXIgb3RoZXIgdGhhbiAkMjUiCittc2dzdHIgIlBhbmdnaWxhbiBNSVBTIFBJQyBrZSByZWdpc3RlciBzZWxhaW4gJDI1IgorCisjOiBjb25maWcvdGMtbWlwcy5jOjYwNjMgY29uZmlnL3RjLW1pcHMuYzo2MDc0IGNvbmZpZy90Yy1taXBzLmM6NjE5NgorIzogY29uZmlnL3RjLW1pcHMuYzo2MjA3Cittc2dpZCAiTm8gLmNwcmVzdG9yZSBwc2V1ZG8tb3AgdXNlZCBpbiBQSUMgY29kZSIKK21zZ3N0ciAiVGlkYWsgYWRhIC5jcHJlc3RvcmUgcHNldWRvLW9wIGRpZ3VuYWthbiBkYWxhbSBrb2RlIFBJQyIKKworIzogY29uZmlnL3RjLW1pcHMuYzo2MDY4IGNvbmZpZy90Yy1taXBzLmM6NjIwMQorbXNnaWQgIk5vIC5mcmFtZSBwc2V1ZG8tb3AgdXNlZCBpbiBQSUMgY29kZSIKK21zZ3N0ciAiVGlkYWsgYWRhIC5mcmFtZSBwc2V1ZG8tb3AgZGlndW5ha2FuIGRhbGFtIGtvZGUgUElDIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjYyMjIKK21zZ2lkICJOb24tUElDIGp1bXAgdXNlZCBpbiBQSUMgbGlicmFyeSIKK21zZ3N0ciAiTm9uLVBJQyBqdW1wIGRpZ3VuYWthbiBkYWxhbSBwZXJwdXN0YWthYW4gUElDIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjYzODUgY29uZmlnL3RjLW1pcHMuYzo3MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wY29kZSBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcHJvY2Vzc29yOiAlcyIKK21zZ3N0ciAib3Brb2RlIHRpZGFrIGRpZHVrdW5nIGRhbGFtIHByb3Nlc29yIGluaTogJXMiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6NzQ2NyBjb25maWcvdGMtbWlwcy5jOjc0OTggY29uZmlnL3RjLW1pcHMuYzo3NTQ5CisjOiBjb25maWcvdGMtbWlwcy5jOjc1NzkKK21zZ2lkICJJbXByb3BlciByb3RhdGUgY291bnQiCittc2dzdHIgImp1bWxhaCByb3Rhc2kgdGlkYWsgc2VzdWFpIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjc2MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5zdHJ1Y3Rpb24gJXM6IHJlc3VsdCBpcyBhbHdheXMgZmFsc2UiCittc2dzdHIgIkluc3RydWtzaSAlczogaGFzaWwgc2VsYWx1IHNhbGFoIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjc3OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5zdHJ1Y3Rpb24gJXM6IHJlc3VsdCBpcyBhbHdheXMgdHJ1ZSIKK21zZ3N0ciAiSW5zdHJ1a3NpICVzOiBoYXNpbCBzZWxhbHUgYmVuYXIiCisKKyMuIEZJWE1FOiBDaGVjayBpZiB0aGlzIGlzIG9uZSBvZiB0aGUgaXRibCBtYWNyb3MsIHNpbmNlIHRoZXkKKyMuIGFyZSBhZGRlZCBkeW5hbWljYWxseS4KKyM6IGNvbmZpZy90Yy1taXBzLmM6ODExMAorIywgYy1mb3JtYXQKK21zZ2lkICJNYWNybyAlcyBub3QgaW1wbGVtZW50ZWQgeWV0IgorbXNnc3RyICJNYWtybyAlcyBiZWx1bSBkaWltcGxlbWVudGFzaWthbiIKKworIzogY29uZmlnL3RjLW1pcHMuYzo4MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsOiBiYWQgbWlwcyBvcGNvZGUgKG1hc2sgZXJyb3IpOiAlcyAlcyIKK21zZ3N0ciAiaW50ZXJuYWw6IG9wa29kZSBtaXBzIGJ1cnVrIChtYXNrIGVycm9yKTogJXMgJXMiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6ODQwMCBjb25maWcvdGMtbWlwcy5jOjkyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWw6IGJhZCBtaXBzIG9wY29kZSAodW5rbm93biBleHRlbnNpb24gb3BlcmFuZCB0eXBlIGArJWMnKTogJXMgJXMiCittc2dzdHIgImludGVybmFsOiBvcGtkZSBtaXBzIGJ1cnVrICh0aXBlIGVrc3RlbnNpIG9wZXJhbiB0aWRhayBkaWtldGFodWkgYCslYycpOiAlcyAlcyIKKworIzogY29uZmlnL3RjLW1pcHMuYzo4NDc4CisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsOiBiYWQgbWlwcyBvcGNvZGUgKHVua25vd24gb3BlcmFuZCB0eXBlIGAlYycpOiAlcyAlcyIKK21zZ3N0ciAiaW50ZXJuYWw6IG9wa29kZSBtaXBzIGJ1cnVrICh0aXBlIG9wZXJhbiB0aWRhayBkaWtldGFodWkgYCVjJyk6ICVzICVzIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjg0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWw6IGJhZCBtaXBzIG9wY29kZSAoYml0cyAweCVseCB1bmRlZmluZWQpOiAlcyAlcyIKK21zZ3N0ciAiaW50ZXJuYWw6IG9wa29kZSBtaXBzIGJ1cnVrIChiaXRzIDB4JWx4IHRpZGFrIHRlcmRlZmluaXNpKTogJXMgJXMiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6ODY0MyBjb25maWcvdGMtbWlwcy5jOjEwMTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wY29kZSBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcHJvY2Vzc29yOiAlcyAoJXMpIgorbXNnc3RyICJvcGtvZGUgdGlkYWsgZGlkdWt1bmcgZGFsYW0gcHJvc2Vzb3IgaW5pOiAlcyAoJXMpIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjg2NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkFMSUdOIGltbWVkaWF0ZSBub3QgMSBvciAzICglbHUpIgorbXNnc3RyICJCQUxJR04gaW1tZWRpYXRlIGJ1a2FuIDEgYXRhdSAzICglbHUpIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjg2ODkgY29uZmlnL3RjLW1pcHMuYzo4NzAyIGNvbmZpZy90Yy1taXBzLmM6ODcxNQorIzogY29uZmlnL3RjLW1pcHMuYzo4NzI4IGNvbmZpZy90Yy1taXBzLmM6ODc1NCBjb25maWcvdGMtbWlwcy5jOjg3OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRFNQIGltbWVkaWF0ZSBub3QgaW4gcmFuZ2UgMC4uJWQgKCVsdSkiCittc2dzdHIgIkRTUCBpbW1lZGlhdGUgdGlkYWsgZGFsYW0gamFuZ2thdWFuIDAuLiVkICglbHUpIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjg3NDYgY29uZmlnL3RjLW1pcHMuYzo4NzczCittc2dpZCAiSW52YWxpZCBkc3AgYWNjIHJlZ2lzdGVyIgorbXNnc3RyICJyZWdpc3RlciBkc3AgYWNjIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjg3ODQgY29uZmlnL3RjLW1pcHMuYzo4ODE1IGNvbmZpZy90Yy1taXBzLmM6ODgzMgorIywgYy1mb3JtYXQKK21zZ2lkICJEU1AgaW1tZWRpYXRlIG5vdCBpbiByYW5nZSAlbGQuLiVsZCAoJWxkKSIKK21zZ3N0ciAiRFNQIGltbWVkaWF0ZSB0aWRhayBkYWxhbSBqYW5na2F1YW4gJWxkLi4lbGQgKCVsZCkiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6ODg0NQorIywgYy1mb3JtYXQKK21zZ2lkICJNVCB1c2VybW9kZSBiaXQgbm90IDAgb3IgMSAoJWx1KSIKK21zZ3N0ciAiTVQgdXNlcm1vZGUgYml0IHRpZGFrIDAgYXRhdSAxICglbHUpIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjg4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTVQgbG9hZCBoaWdoIGJpdCBub3QgMCBvciAxICglbHUpIgorbXNnc3RyICJNVCBsb2FkIGhpZ2ggYml0IGJ1a2FuIDAgYXRhdSAxICglbHUpIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjg4NzMgY29uZmlnL3RjLW1pcHMuYzo4ODg2Cittc2dpZCAiSW52YWxpZCBkc3Avc21hcnRtaXBzIGFjYyByZWdpc3RlciIKK21zZ3N0ciAicmVnaXN0ZXIgYWNjIGRzcC9zbWFydG1pcHMgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6ODk1MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsICVzIG51bWJlciAoJWx1LCAweCVseCkiCittc2dzdHIgIlRpZGFrIGxlZ2FsICVzIG5vbW9yICglbHUsIDB4JWx4KSIKKworIzogY29uZmlnL3RjLW1pcHMuYzo5MDY0IGNvbmZpZy90Yy1taXBzLmM6OTYxNAorbXNnaWQgImFic29sdXRlIGV4cHJlc3Npb24gcmVxdWlyZWQiCittc2dzdHIgImVrc3ByZXNpIGFic29sdXQgZGlidXR1aGthbiIKKworIzogY29uZmlnL3RjLW1pcHMuYzo5MDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmVnaXN0ZXIgbnVtYmVyICglZCkiCittc2dzdHIgIk5vbW9yIHJlZ2lzdGVyIHRpZGFrIHZhbGlkICglZCkiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6OTA5NQorbXNnaWQgIkludmFsaWQgY29wcm9jZXNzb3IgMCByZWdpc3RlciBudW1iZXIiCittc2dzdHIgIk5vbW9yIHJlZ2lzdGVyIGtvcHJvc2Vzb3IgMCB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLW1pcHMuYzo5MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkltcHJvcGVyIGJpdCBpbmRleCAoJWx1KSIKK21zZ3N0ciAiQml0IGluZGVrcyAoJWx1KSB0aWRhayBzZXN1YWkiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6OTE2NiBjb25maWcvdGMtbWlwcy5jOjkxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW1wcm9wZXIgc2l6ZSAoJWx1KSIKK21zZ3N0ciAiVWt1cmFuIHRpZGFrIHNlc3VhaSAoJWx1KSIKKworIzogY29uZmlnL3RjLW1pcHMuYzo5MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkltcHJvcGVyIGltbWVkaWF0ZSAoJWxkKSIKK21zZ3N0ciAiVGlkYWsgc2VzdWFpIGltbWVkaWF0ZSAoJWxkKSIKKworIzogY29uZmlnL3RjLW1pcHMuYzo5MjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIkltcHJvcGVyIHNoaWZ0IGFtb3VudCAoJWx1KSIKK21zZ3N0ciAiSnVtbGFoIHBlcmdlc2VyYW4gdGlkYWsgc2VzdWFpICglbHUpIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjkyNDkgY29uZmlnL3RjLW1pcHMuYzoxMDQyMiBjb25maWcvdGMtbWlwcy5jOjEwNjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIGAlcycgKCVsdSkiCittc2dzdHIgIk5pbGFpIHRpZGFrIHZhbGlkIHVudHVrIGAlcycgKCVsdSkiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6OTI2NAorIywgYy1mb3JtYXQKK21zZ2lkICJDb2RlIGZvciAlcyBub3QgaW4gcmFuZ2UgMC4uMTAyMyAoJWx1KSIKK21zZ3N0ciAiS29kZSB1bnR1ayAlcyB0aWRhayBkYWxhbSBqYW5na2F1YW4gMC4uMTAyMyAoJWx1KSIKKworIzogY29uZmlnL3RjLW1pcHMuYzo5Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxvd2VyIGNvZGUgZm9yICVzIG5vdCBpbiByYW5nZSAwLi4xMDIzICglbHUpIgorbXNnc3RyICJLb2RlIGxlYmloIHJlbmRhaCB1bnR1ayAlcyB0aWRhayBkYWxhbSBkYWVyYWggMC4uMTAyMyAoJWx1KSIKKworIzogY29uZmlnL3RjLW1pcHMuYzo5Mjg4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvZGUgZm9yICVzIG5vdCBpbiByYW5nZSAwLi4xMDQ4NTc1ICglbHUpIgorbXNnc3RyICJLb2RlIHVudHVrICVzIHRpZGFrIGRhbGFtIGRhZXJhaCAwLi4xMDQ4NTc1ICglbHUpIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjkzMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29wcm9jY2Vzb3IgY29kZSA+IDI1IGJpdHMgKCVsdSkiCittc2dzdHIgIktvZGUga29wcm9zZXNvciA+IDI1IGJpdHMgKCVsdSkiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6OTMxNQorIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsIDE5LWJpdCBjb2RlICglbHUpIgorbXNnc3RyICJLb2RlIDE5LWJpdCB0aWRhayBsZWdhbCAoJWx1KSIKKworIzogY29uZmlnL3RjLW1pcHMuYzo5MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGVyZm9ybWFuY2UgcmVnaXN0ZXIgKCVsdSkiCittc2dzdHIgInJlZ2lzdGVyIHBlcmZvcm1hbmNlICglbHUpIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjkzNzEgY29uZmlnL3RjLW1pcHMuYzoxMDI4MgorbXNnaWQgInVzZWQgJGF0IHdpdGhvdXQgXCIuc2V0IG5vYXRcIiIKK21zZ3N0ciAibWVuZ2d1bmFrYW4gJGF0IHRhbnBhIFwiLnNldCBub2F0XCIiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6OTM3MyBjb25maWcvdGMtbWlwcy5jOjEwMjg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgJCV1IHdpdGggXCIuc2V0IGF0PSQldVwiIgorbXNnc3RyICJtZW5nZ3VuYWthbiAkJXUgZGVuZ2FuIFwiLnNldCBhdD0kJXVcIiIKKworIzogY29uZmlnL3RjLW1pcHMuYzo5Mzk5Cittc2dpZCAic291cmNlIGFuZCBkZXN0aW5hdGlvbmF0aW9ucyBtdXN0IGJlIGRpZmZlcmVudCIKK21zZ3N0ciAiYXNhbCBkYW4gdHVqdWFuIGhhcnVzIGJlcmJlZGEiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6OTQwNAorbXNnaWQgImEgZGVzdGluYXRpb24gcmVnaXN0ZXIgbXVzdCBiZSBzdXBwbGllZCIKK21zZ3N0ciAic2VidWFoIHJlZ2lzdGVyIHR1anVhbiBoYXJ1cyBkaWJlcmlrYW4iCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6OTQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIE1ETVggSW1tZWRpYXRlICglbGQpIgorbXNnc3RyICJpbW1lZGlhdGUgTURNWCB0aWRhayB2YWxpZCAoJWxkKSIKKworIzogY29uZmlnL3RjLW1pcHMuYzo5NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZsb2F0IHJlZ2lzdGVyIHNob3VsZCBiZSBldmVuLCB3YXMgJWQiCittc2dzdHIgIkZsb2F0IHJlZ2lzdGVyIHNlaGFydXNueWEgZ2VuYXAsIHNlYmVsdW1ueWEgJWQiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6OTU2NAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgZWxlbWVudCBzZWxlY3RvciAlbGQiCittc2dzdHIgIlBlbWlsaWggZWxlbWVuICVsZCBidXJ1ayIKKworIzogY29uZmlnL3RjLW1pcHMuYzo5NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGluZyAnXScgZm91bmQgJyVzJyIKK21zZ3N0ciAiRGlkdWdhICddJyBkaXRlbXVrYW4gJyVzJyIKKworIzogY29uZmlnL3RjLW1pcHMuYzo5Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCBmbG9hdGluZyBwb2ludCBjb25zdGFudDogJXMiCittc2dzdHIgIktvbnN0YW50YSBmbG9hdGluZyBwb2ludCBidXJ1azogJXMiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6OTc5OAorbXNnaWQgIkNhbid0IHVzZSBmbG9hdGluZyBwb2ludCBpbnNuIGluIHRoaXMgc2VjdGlvbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2d1bmFrYW4gaW5zdHJ1a3NpIGZsb2F0aW5nIHBvaW50IGRhbGFtIGRhZXJhaCBpbmkiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6OTg1OQorbXNnaWQgImV4cHJlc3Npb24gb3V0IG9mIHJhbmdlIgorbXNnc3RyICJwZXJueWF0YWFuIGRpbHVhciBkYXJpIGphbmdrYXVhbiIKKworIzogY29uZmlnL3RjLW1pcHMuYzo5ODk5Cittc2dpZCAibHVpIGV4cHJlc3Npb24gbm90IGluIHJhbmdlIDAuLjY1NTM1IgorbXNnc3RyICJsdWkgZWtzcHJlc2kgdGlkYWsgZGFsYW0gZGFlcmFoIDAuLjY1NTM1IgorCisjOiBjb25maWcvdGMtbWlwcy5jOjk5MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29uZGl0aW9uIGNvZGUgcmVnaXN0ZXIgc2hvdWxkIGJlIGV2ZW4gZm9yICVzLCB3YXMgJWQiCittc2dzdHIgIktvbmRpc2kga29kZSByZWdpc3RlciBzZWhhcnVzbnlhIGdlbmFwIHVudHVrICVzLCBzZWJlbHVtbnlhICVkIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjk5MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29uZGl0aW9uIGNvZGUgcmVnaXN0ZXIgc2hvdWxkIGJlIDAgb3IgNCBmb3IgJXMsIHdhcyAlZCIKK21zZ3N0ciAiS29uZGlzaSBrb2RlIHJlZ2lzdGVyIHNlaGFydXNueWEgMCBhdGF1IDQgdW50dWsgJXMsIHNlYmVsdW1ueWEgJWQiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6OTk1MQorbXNnaWQgImludmFsaWQgY29wcm9jZXNzb3Igc3ViLXNlbGVjdGlvbiB2YWx1ZSAoMC03KSIKK21zZ3N0ciAia29wcm9zZXNvciB0aWRhayB2YWxpZCBuaWxhaSBzdWItc2VsZWN0aW9uICgwLTcpIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjk5NjMgY29uZmlnL3RjLW1pcHMuYzo5OTgwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIHZlY3RvciBpbmRleCAoJWxkKSIKK21zZ3N0ciAiaW5kZWtzICglbGQpIHZla3RvciBieXRlIGJ1cnVrIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjk5OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNoYXIgPSAnJWMnXG4iCittc2dzdHIgImthcmFrdGVyIGJ1cnVrID0gJyVjJ1xuIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjEwMDAyIGNvbmZpZy90Yy1taXBzLmM6MTAwMDcgY29uZmlnL3RjLW1pcHMuYzoxMDcwMAorbXNnaWQgImlsbGVnYWwgb3BlcmFuZHMiCittc2dzdHIgIm9wZXJhbiB0aWRhayBsZWdhbCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMDA3NSBjb25maWcvdGMtc2NvcmUuYzoyNDEzCittc2dpZCAidW5yZWNvZ25pemVkIG9wY29kZSIKK21zZ3N0ciAib3Brb2RlIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTA0NTggY29uZmlnL3RjLW1pcHMuYzoxMDUzOSBjb25maWcvdGMtbWlwcy5jOjEwNTU0Cittc2dpZCAiY2FuJ3QgcGFyc2UgcmVnaXN0ZXIgbGlzdCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgcGFyc2UgZGFmdGFyIHJlZ2lzdGVyIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjEwNTI3Cittc2dpZCAibW9yZSB0aGFuIG9uZSBmcmFtZSBzaXplIGluIGxpc3QiCittc2dzdHIgImxlYmloIGRhcmkgc2F0IHVrdXJhbiBmcmFtZSBkYWxhbSBkYWZ0YXIiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTA1ODIKK21zZ2lkICJ1bmV4cGVjdGVkIHJlZ2lzdGVyIGluIGxpc3QiCittc2dzdHIgInJlZ2lzdGVyIHRpZGFrIGRpZHVnYSBkYWxhbSBkYWZ0YXIiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTA1OTIKK21zZ2lkICJhcmcvc3RhdGljIHJlZ2lzdGVycyBvdmVybGFwIgorbXNnc3RyICJhcmcvc3RhdGlzIHJlZ2lzdGVyIHR1bXBhbmcgdGluZGloIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjEwNjEwCittc2dpZCAiaW52YWxpZCBhcmcgcmVnaXN0ZXIgbGlzdCIKK21zZ3N0ciAiZGFmdGFyIGFyZyByZWdpc3RlciB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMDYxOSBjb25maWcvdGMtbWlwcy5jOjEwNjQyCittc2dpZCAiaW52YWxpZCBzdGF0aWMgcmVnaXN0ZXIgbGlzdCIKK21zZ3N0ciAiZGFmdGFyIHN0YXRpcyByZWdpc3RlciB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMDY0OQorbXNnaWQgIm1pc3NpbmcgZnJhbWUgc2l6ZSIKK21zZ3N0ciAiaGlsYW5nIHVrdXJhbiBmcmFtZSIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMDY1MgorbXNnaWQgImludmFsaWQgZnJhbWUgc2l6ZSIKK21zZ3N0ciAidWt1cmFuIGZyYW1lIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjEwODE4Cittc2dpZCAiZXh0ZW5kZWQgb3BlcmFuZCByZXF1ZXN0ZWQgYnV0IG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiZWtzdGVuc2kgb3BlcmFuIGRpbWludGEgdGV0YXBpIHRpZGFrIGRpYnV0dWhrYW4iCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTA4MjAKK21zZ2lkICJpbnZhbGlkIHVuZXh0ZW5kZWQgb3BlcmFuZCB2YWx1ZSIKK21zZ3N0ciAibmlsYWkgb3BlcmFuIHRpZGFrLWVrc3RlbiB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMDg0OAorbXNnaWQgIm9wZXJhbmQgdmFsdWUgb3V0IG9mIHJhbmdlIGZvciBpbnN0cnVjdGlvbiIKK21zZ3N0ciAibmlsYWkgb3BlcmFuIGRpbHVhciBkYXJpIGphbmdrYXVhbiB1bnR1ayBpbnN0cnVrc2kiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTEyNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQSBkaWZmZXJlbnQgJXMgd2FzIGFscmVhZHkgc3BlY2lmaWVkLCBpcyBub3cgJXMiCittc2dzdHIgIlNlYnVhaCAlcyBiZXJiZWRhIHRlbGFoIGRpc3Blc2lmaWthc2lrYW4sIHNla2FyYW5nICVzIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjExNTEzCittc2dpZCAiLWNhbGxfc2hhcmVkIGlzIHN1cHBvcnRlZCBvbmx5IGZvciBFTEYgZm9ybWF0IgorbXNnc3RyICItY2FsbF9zaGFyZWQgaGFueWEgZGlkdWt1bmcgdW50dWsgZm9ybWF0IEVMRiIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMTUyMworbXNnaWQgIi1jYWxsX25vbnBpYyBpcyBzdXBwb3J0ZWQgb25seSBmb3IgRUxGIGZvcm1hdCIKK21zZ3N0ciAiLWNhbGxfbm9ucGljIGhhbnlhIGRpZHVrdW5nIHVudHVrIGZvcm1hdCBFTEYiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTE1MzMKK21zZ2lkICItbm9uX3NoYXJlZCBpcyBzdXBwb3J0ZWQgb25seSBmb3IgRUxGIGZvcm1hdCIKK21zZ3N0ciAiLW5vbl9zaGFkZXIgaGFueWEgZGlkdWt1bmcgdW50dWsgZm9ybWF0IEVMRiIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMTU1OQorbXNnaWQgIi0zMiBpcyBzdXBwb3J0ZWQgZm9yIEVMRiBmb3JtYXQgb25seSIKK21zZ3N0ciAiLTMyIGhhbnlhIGRpZHVrdW5nIHVudHVrIGZvcm1hdCBFTEYiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTE1NjgKK21zZ2lkICItbjMyIGlzIHN1cHBvcnRlZCBmb3IgRUxGIGZvcm1hdCBvbmx5IgorbXNnc3RyICItbjMyIGhhbnlhIGRpZHVrdW5nIHVudHVrIGZvcm1hdCBFTEYiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTE1NzcKK21zZ2lkICItNjQgaXMgc3VwcG9ydGVkIGZvciBFTEYgZm9ybWF0IG9ubHkiCittc2dzdHIgIi02NCBoYW55YSBkaWR1a3VuZyB1bnR1ayBmb3JtYXQgRUxGIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjExNTgyIGNvbmZpZy90Yy1taXBzLmM6MTE2MzUKK21zZ2lkICJObyBjb21waWxlZCBpbiBzdXBwb3J0IGZvciA2NCBiaXQgb2JqZWN0IGZpbGUgZm9ybWF0IgorbXNnc3RyICJUaWRhayBkaWtvbXBpbGUgZGFsYW0gZHVrdW5nYW4gdW50dWsgYmVya2FzIGZvcm1hdCBvYmplayA2NCBiaXQiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTE2MjIKK21zZ2lkICItbWFiaSBpcyBzdXBwb3J0ZWQgZm9yIEVMRiBmb3JtYXQgb25seSIKK21zZ3N0ciAiLW1hYmkgaGFueWEgZGlkdWt1bmcgdW50dWsgZm9ybWF0IEVMRiIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMTY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFiaSAtbWFiaT0lcyIKK21zZ3N0ciAiYWJpIHRpZGFrIHZhbGlkIC1tYWJpPSVzIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjExNzIwCittc2dpZCAiLUcgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGNvbmZpZ3VyYXRpb24uIgorbXNnc3RyICItRyB0aWRhayBkaWR1a3VuZyBkYWxhbSBrb25maWd1cmFzaSBpbmkuIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjExNzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0lcyBjb25mbGljdHMgd2l0aCB0aGUgb3RoZXIgYXJjaGl0ZWN0dXJlIG9wdGlvbnMsIHdoaWNoIGltcGx5IC0lcyIKK21zZ3N0ciAiLSVzIGtvbmZsaWsgZGVuZ2FuIG9wc2kgYXJzaXRla3R1ciBsYWluLCB5YW5nIG1lbmdpbmRpa2FzaWthbiAtJXMiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTE3NzcKK21zZ2lkICItbWdwNjQgdXNlZCB3aXRoIGEgMzItYml0IHByb2Nlc3NvciIKK21zZ3N0ciAiLW1ncDY0IGRpZ3VuYWthbiBkZW5nYW4gc2VidWFoIHByb3Nlc29yIDMyIGJpdCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMTc3OQorbXNnaWQgIi1tZ3AzMiB1c2VkIHdpdGggYSA2NC1iaXQgQUJJIgorbXNnc3RyICItbWdwMzIgZGlndW5ha2FuIGRlbmdhbiBzZWJ1YWggQUJJIDY0IGJpdCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMTc4MQorbXNnaWQgIi1tZ3A2NCB1c2VkIHdpdGggYSAzMi1iaXQgQUJJIgorbXNnc3RyICItbWdwNjQgZGlndW5ha2FuIGRlbmdhbiBzZWJ1YWggQUJJIDMyIGJpdCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMTgxOQorbXNnaWQgIi1tZnA2NCB1c2VkIHdpdGggYSAzMi1iaXQgZnB1IgorbXNnc3RyICItbWZwNjQgZGlndW5ha2FuIGRlbmdhbiBzYmV1YWggZnB1IDMyIGJpdCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMTgyMgorbXNnaWQgIi1tZnA2NCB1c2VkIHdpdGggYSAzMi1iaXQgQUJJIgorbXNnc3RyICItbWZwNjQgZGlndW5ha2FuIGRlbmdhbiBzZWJ1YWggQUJJIDMyIGJpdCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMTgyNgorbXNnaWQgIi1tZnAzMiB1c2VkIHdpdGggYSA2NC1iaXQgQUJJIgorbXNnc3RyICItbWZwMzIgZGlndW5ha2FuIGRlbmdhbiBzZWJ1YWggQUJJIDY0IGJpdCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMTg0MAorbXNnaWQgInRyYXAgZXhjZXB0aW9uIG5vdCBzdXBwb3J0ZWQgYXQgSVNBIDEiCittc2dzdHIgImV4Y2VwdGlvbiB0cmFwIHRpZGFrIGRpZHVrdW5nIGRpIElTQSAxIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjExODUwCittc2dpZCAiLW1mcDMyIHVzZWQgd2l0aCAtbWlwczNkIgorbXNnc3RyICItbWZwMzIgZGlndW5ha2FuIGRlbmdhbiAtbWlwczNkIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjExODU2Cittc2dpZCAiLW1mcDMyIHVzZWQgd2l0aCAtbWRteCIKK21zZ3N0ciAiLW1mcDMyIGRpZ3VuYWthbiBkZW5nYW4gLW1kbXgiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTE5MzEKK21zZ2lkICJQQyByZWxhdGl2ZSBNSVBTMTYgaW5zdHJ1Y3Rpb24gcmVmZXJlbmNlcyBhIGRpZmZlcmVudCBzZWN0aW9uIgorbXNnc3RyICJQQyByZWxhdGlmIE1JUFMxNiBpbnN0cnVrc2kgcmVmZXJlbnNpIGtlIGRhZXJhaCBiZXJiZWRhIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjEyMjI5IGNvbmZpZy90Yy1zcGFyYy5jOjMxODAgY29uZmlnL3RjLXNwYXJjLmM6MzE4NworIzogY29uZmlnL3RjLXNwYXJjLmM6MzE5NCBjb25maWcvdGMtc3BhcmMuYzozMjAxIGNvbmZpZy90Yy1zcGFyYy5jOjMyMDgKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjMyMTcgY29uZmlnL3RjLXNwYXJjLmM6MzIyOCBjb25maWcvdGMtc3BhcmMuYzozMjUwCisjOiBjb25maWcvdGMtc3BhcmMuYzozMjc0IHdyaXRlLmM6MTEwNQorbXNnaWQgInJlbG9jYXRpb24gb3ZlcmZsb3ciCittc2dzdHIgIm92ZXJmbG93IHJlbG9rYXNpIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjEyMjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCB0byBtaXNhbGlnbmVkIGFkZHJlc3MgKCVseCkiCittc2dzdHIgIkNhYmFuZyBrZSBhbGFtYXQgbWlzYWxpZ25lZCAoJWx4KSIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMjI4NgorbXNnaWQgIkJyYW5jaCBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIkNhYmFuZyBkaWx1YXIgZGFyaSBqYW5na2F1YW4iCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTIzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IHRvbyBsYXJnZTogJWQuIGFzc3VtZWQuIgorbXNnc3RyICJBbGlnbm1lbiB0ZXJsYWx1IGJlc2FyOiAlZC4gZGlhc3Vtc2lrYW4uIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjEyMzcxCittc2dpZCAiQWxpZ25tZW50IG5lZ2F0aXZlOiAwIGFzc3VtZWQuIgorbXNnc3RyICJBbGlnbm1lbiBuZWdhdGlmOiAwIGRpYXN1bXNpa2FuLiIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gc3VjaCBzZWN0aW9uIgorbXNnc3RyICIlczogdGlkYWsgYWRhIGRhZXJhaCBzZXBlcnRpIGl0dSIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIub3B0aW9uIHBpYyVkIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIi5vcHRpb24gcGljJWQgdGlkYWsgZGlkdWt1bmciCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTI2NzAgY29uZmlnL3RjLW1pcHMuYzoxMjk3NworbXNnaWQgIi1HIG1heSBub3QgYmUgdXNlZCB3aXRoIFNWUjQgUElDIGNvZGUiCittc2dzdHIgIi1HIHRpZGFrIGJvbGVoIGRpZ3VuYWthbiBkZW5nYW4ga29kZSBTVlI0IFBJQyIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMjY3NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbnJlY29nbml6ZWQgb3B0aW9uIFwiJXNcIiIKK21zZ3N0ciAiT3BzaSBcIiVzXCIgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMjcxOQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnJlY29nbml6ZWQgcmVnaXN0ZXIgbmFtZSBgJXMnIgorbXNnc3RyICJOYW1hIHJlZ2lzdGVyIGAlcycgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMjczNgorbXNnaWQgImBub3Jlb3JkZXInIG11c3QgYmUgc2V0IGJlZm9yZSBgbm9tYWNybyciCittc2dzdHIgImBub3Jlb3JkZXInIGhhcnVzIGRpc2V0IHNlYmVsdW0gYG5vbWFjcm8nIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjEyODYxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJjaGl0ZWN0dXJlICVzIgorbXNnc3RyICJhcnNpdGVrdHVyICVzIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTI4NzQgY29uZmlnL3RjLW1pcHMuYzoxMjkwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIElTQSBsZXZlbCAlcyIKK21zZ3N0ciAiSVNBIHRpbmdrYXQgJXMgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMjg4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIElTQSBvciBhcmNoaXRlY3R1cmUgJXMiCittc2dzdHIgIklTQSBhdGF1IGFyc2l0ZWt0dXIgJXMgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMjkzMgorbXNnaWQgIi5zZXQgcG9wIHdpdGggbm8gLnNldCBwdXNoIgorbXNnc3RyICIuc2V0IHBvcCB0aWRhayBkZW5nYW4gLnNldCBwdXNoIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjEyOTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWVkIHRvIHNldCB1bnJlY29nbml6ZWQgc3ltYm9sOiAlc1xuIgorbXNnc3RyICJNZW5jb2JhIG1lbnNldCBzaW1ib2wgdGlkYWsgZGlrZW5hbDogJXNcbiIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMzAxOQorbXNnaWQgIi5jcGxvYWQgbm90IGluIG5vcmVvcmRlciBzZWN0aW9uIgorbXNnc3RyICIuY3Bsb2FkIHRpZGFrIGRhbGFtIGRhZXJhaCBub3Jlb3JkZXIiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTMwODcgY29uZmlnL3RjLW1pcHMuYzoxMzEwNgorbXNnaWQgIm1pc3NpbmcgYXJndW1lbnQgc2VwYXJhdG9yICcsJyBmb3IgLmNwc2V0dXAiCittc2dzdHIgImhpbGFuZyBhcmd1bWVuIHBlbWlzYWggJywnIHVudHVrIC5jcHNldHVwIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjEzMjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuc3VwcG9ydGVkIHVzZSBvZiAlcyIKK21zZ3N0ciAiVGlkYWsgZGlkdWt1bmcgcGVuZ2d1bmFhbiBkYXJpICVzIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjEzMzQ2IGNvbmZpZy90Yy1zY29yZS5jOjYyNTMKK21zZ2lkICJVbnN1cHBvcnRlZCB1c2Ugb2YgLmdwd29yZCIKK21zZ3N0ciAiVGlkYWsgZGlkdWt1bmcgcGVuZ2d1bmFhbiBkYXJpIC5ncHdvcmQiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTMzODYKK21zZ2lkICJVbnN1cHBvcnRlZCB1c2Ugb2YgLmdwZHdvcmQiCittc2dzdHIgIlRpZGFrIGRpZHVrdW5nIHBlbmdndW5hYW4gZGFyaSAuZ3Bkd29yZCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxMzczMQorbXNnaWQgInVuc3VwcG9ydGVkIFBDIHJlbGF0aXZlIHJlZmVyZW5jZSB0byBkaWZmZXJlbnQgc2VjdGlvbiIKK21zZ3N0ciAidGlkYWsgZGlkdWt1bmcgcmVmZXJlbnNpIFBDIHJlbGF0aWYga2UgZGFlcmFoIGJlcmJlZGEiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTM4NDQgY29uZmlnL3RjLXh0ZW5zYS5jOjE1NTYgY29uZmlnL3RjLXh0ZW5zYS5jOjE4MzEKK21zZ2lkICJ1bnN1cHBvcnRlZCByZWxvY2F0aW9uIgorbXNnc3RyICJyZWxva2FzaSB0aWRhayBkaWR1a3VuZyIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxNDA5MworIywgYy1mb3JtYXQKK21zZ2lkICJDYW4gbm90IHJlcHJlc2VudCAlcyByZWxvY2F0aW9uIGluIHRoaXMgb2JqZWN0IGZpbGUgZm9ybWF0IgorbXNnc3RyICJUaWRhayBkYXBhdCBtZXJlcHJlc2VudGFzaWthbiByZWxva2FzaSAlcyBkYWxhbSBmb3JtYXQgYmVya2FzIG9iamVrIGluaSIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxNDE3OAorbXNnaWQgInJlbGF4ZWQgb3V0LW9mLXJhbmdlIGJyYW5jaCBpbnRvIGEganVtcCIKK21zZ3N0ciAicmVsYXhlZCBkaWx1YXItZGFyaS1qYW5na2F1YW4gY2FiYW5nIGtlZGFsYW0gc2VidWFoIGxvbXBhdCIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxNDcxMgorbXNnaWQgIm1pc3NpbmcgLmVuZCBhdCBlbmQgb2YgYXNzZW1ibHkiCittc2dzdHIgImhpbGFuZyAuZW5kIGRpIGFraGlyIGRhcmkgcGVyYWtpdGFuIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjE0NzI3IGNvbmZpZy90Yy1zY29yZS5jOjU4NTkKK21zZ2lkICJleHBlY3RlZCBzaW1wbGUgbnVtYmVyIgorbXNnc3RyICJkaWR1Z2Egbm9tb3Igc2VkZXJoYW5hIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjE0NzU1IGNvbmZpZy90Yy1zY29yZS5jOjU4ODYKK21zZ2lkICJpbnZhbGlkIG51bWJlciIKK21zZ3N0ciAibm9tb3IgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTQ5MjYgY29uZmlnL3RjLXNjb3JlLmM6NTkyNgorbXNnaWQgIm1pc3NpbmcgLmVuZCIKK21zZ3N0ciAiaGlsYW5nIC5lbmQiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTQ5NzgKK21zZ2lkICJCYWQgLmZyYW1lIGRpcmVjdGl2ZSIKK21zZ3N0ciAiRGlyZWt0aWYgLmZyYW1lIGJ1cnVrIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjE1MDEwCittc2dpZCAiLm1hc2svLmZtYXNrIG91dHNpZGUgb2YgLmVudCIKK21zZ3N0ciAiLm1hc2svLmZtYXNrIGRpbHVhciBkYXJpIC5lbnQiCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTUwMTcKK21zZ2lkICJCYWQgLm1hc2svLmZtYXNrIGRpcmVjdGl2ZSIKK21zZ3N0ciAiLm1hc2svLmZtYXNrIGRpcmVrdGlmIGJ1cnVrIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjE1MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNSVBTIG9wdGlvbnM6XG4iCisiLUVCXHRcdFx0Z2VuZXJhdGUgYmlnIGVuZGlhbiBvdXRwdXRcbiIKKyItRUxcdFx0XHRnZW5lcmF0ZSBsaXR0bGUgZW5kaWFuIG91dHB1dFxuIgorIi1nLCAtZzJcdFx0XHRkbyBub3QgcmVtb3ZlIHVubmVlZGVkIE5PUHMgb3Igc3dhcCBicmFuY2hlc1xuIgorIi1HIE5VTVx0XHRcdGFsbG93IHJlZmVyZW5jaW5nIG9iamVjdHMgdXAgdG8gTlVNIGJ5dGVzXG4iCisiXHRcdFx0aW1wbGljaXRseSB3aXRoIHRoZSBncCByZWdpc3RlciBbZGVmYXVsdCA4XVxuIgorbXNnc3RyICIiCisiT3BzaSBNSVBTOlxuIgorIi1FQlx0XHRcdGhhc2lsa2FuIGtlbHVhcmFuIGJpZyBlbmRpYW5cbiIKKyItRUxcdFx0XHRoYXNpbGthbiBrZWx1YXJhbiBsaXR0bGUgZW5kaWFuXG4iCisiLWcsIC1nMlx0XHRcdGphbmdhbiBoYXB1cyBOT1BTIHlhbmcgdGlkYWsgZGlidXR1aGthbiBhdGF1IHN3YXAgYnJhbmNoXG4iCisiLUcgTlVNXHRcdFx0aWppbmthbiByZWZlcmVuc2kgb2JqZWsgc2FtcGFpIGtlIE5VTSBieXRlc1xuIgorIlx0XHRcdHNlY2FyYSBpbXBsaXNpdCBkZW5nYW4gZ3AgcmVnaXN0ZXIgW2Jha3UgOF1cbiIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxNTM0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLW1pcHMxXHRcdFx0Z2VuZXJhdGUgTUlQUyBJU0EgSSBpbnN0cnVjdGlvbnNcbiIKKyItbWlwczJcdFx0XHRnZW5lcmF0ZSBNSVBTIElTQSBJSSBpbnN0cnVjdGlvbnNcbiIKKyItbWlwczNcdFx0XHRnZW5lcmF0ZSBNSVBTIElTQSBJSUkgaW5zdHJ1Y3Rpb25zXG4iCisiLW1pcHM0XHRcdFx0Z2VuZXJhdGUgTUlQUyBJU0EgSVYgaW5zdHJ1Y3Rpb25zXG4iCisiLW1pcHM1ICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUgTUlQUyBJU0EgViBpbnN0cnVjdGlvbnNcbiIKKyItbWlwczMyICAgICAgICAgICAgICAgICBnZW5lcmF0ZSBNSVBTMzIgSVNBIGluc3RydWN0aW9uc1xuIgorIi1taXBzMzJyMiAgICAgICAgICAgICAgIGdlbmVyYXRlIE1JUFMzMiByZWxlYXNlIDIgSVNBIGluc3RydWN0aW9uc1xuIgorIi1taXBzNjQgICAgICAgICAgICAgICAgIGdlbmVyYXRlIE1JUFM2NCBJU0EgaW5zdHJ1Y3Rpb25zXG4iCisiLW1pcHM2NHIyICAgICAgICAgICAgICAgZ2VuZXJhdGUgTUlQUzY0IHJlbGVhc2UgMiBJU0EgaW5zdHJ1Y3Rpb25zXG4iCisiLW1hcmNoPUNQVS8tbXR1bmU9Q1BVXHRnZW5lcmF0ZSBjb2RlL3NjaGVkdWxlIGZvciBDUFUsIHdoZXJlIENQVSBpcyBvbmUgb2Y6XG4iCittc2dzdHIgIiIKKyItbWlwczFcdFx0XHRoYXNpbGthbiBNSVBTIElTQSBJIGluc3RydWtzaVxuIgorIi1taXBzMlx0XHRcdGhhc2lsa2FuIE1JUFMgSVNBIElJIGluc3RydWtzaVxuIgorIi1taXBzM1x0XHRcdGhhc2lsa2FuIE1JUFMgSVNBIElJSSBpbnN0cnVrc2lcbiIKKyItbWlwczRcdFx0XHRoYXNpbGthbiBNSVBTIElTQSBJViBpbnN0cnVrc2lcbiIKKyItbWlwczUgICAgICAgICAgICAgICAgICBoYXNpbGthbiBNSVBTIElTQSBWIGluc3RydWtzaVxuIgorIi1taXBzMzIgICAgICAgICAgICAgICAgIGhhc2lsa2FuIE1JUFMzMiBJU0EgaW5zdHJ1a3NpXG4iCisiLW1pcHMzMnIyICAgICAgICAgICAgICAgaGFzaWxrYW4gTUlQUzMyIHJlbGVhc2UgMiBJU0EgaW5zdHJ1a3NpXG4iCisiLW1pcHM2NCAgICAgICAgICAgICAgICAgaGFzaWxrYW4gTUlQUzY0IElTQSBpbnN0cnVrc2lcbiIKKyItbWlwczY0cjIgICAgICAgICAgICAgICBoYXNpbGthbiBNSVBTNjQgcmVsZWFzZSAyIElTQSBpbnN0cnVrc2lcbiIKKyItbWFyY2g9Q1BVLy1tdHVuZT1DUFVcdGhhc2lsa2FuIGtvZGUvc2NoZWR1bGUgdW50dWsgQ1BVLCBkaW1hbmEgQ1BVIGFkYWxhaCBzYWxhaCBzYXR1IGRhcmk6XG4iCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTUzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi1tQ1BVXHRcdFx0ZXF1aXZhbGVudCB0byAtbWFyY2g9Q1BVIC1tdHVuZT1DUFUuIERlcHJlY2F0ZWQuXG4iCisiLW5vLW1DUFVcdFx0ZG9uJ3QgZ2VuZXJhdGUgY29kZSBzcGVjaWZpYyB0byBDUFUuXG4iCisiXHRcdFx0Rm9yIC1tQ1BVIGFuZCAtbm8tbUNQVSwgQ1BVIG11c3QgYmUgb25lIG9mOlxuIgorbXNnc3RyICIiCisiLW1DUFVcdFx0XHRzYW1hIGRlbmdhbiAtbWFyY2g9Q1BVIC1tdHVuZT1DUFUuIEthZGFsdWFyc2EuXG4iCisiLW5vLW1DUFVcdFx0amFuZ2FuIGhhc2lsa2FuIGtvZGUgc3Blc2lmaWsga2UgQ1BVLlxuIgorIlx0XHRcdFVudHVrIC1tQ1BVIGRhbiAtbm8tbUNQVSwgQ1BVIGhhcnVzIHNhbGFoIHNhdHUgZGFyaTpcbiIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxNTM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLW1pcHMxNlx0XHRcdGdlbmVyYXRlIG1pcHMxNiBpbnN0cnVjdGlvbnNcbiIKKyItbm8tbWlwczE2XHRcdGRvIG5vdCBnZW5lcmF0ZSBtaXBzMTYgaW5zdHJ1Y3Rpb25zXG4iCittc2dzdHIgIiIKKyItbWlwczE2XHRcdFx0aGFzaWxrYW4gaW5zdHJ1a3NpIG1pcHMxNlxuIgorIi1uby1taXBzMTZcdFx0amFuZ2FuIGhhc2lsa2FuIGluc3RydWtzaSBtaXBzMTZcbiIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxNTM4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLW1zbWFydG1pcHNcdFx0Z2VuZXJhdGUgc21hcnRtaXBzIGluc3RydWN0aW9uc1xuIgorIi1tbm8tc21hcnRtaXBzXHRcdGRvIG5vdCBnZW5lcmF0ZSBzbWFydG1pcHMgaW5zdHJ1Y3Rpb25zXG4iCittc2dzdHIgIiIKKyItbXNtYXJ0bWlwc1x0XHRoYXNpbGthbiBpbnN0cnVrc2kgc21hcnRtaXBzXG4iCisiLW1uby1zbWFydG1pcHNcdFx0amFuZ2FuIGhhc2lsa2FuIGluc3RydWtzaSBzbWFydG1pcHNcbiIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxNTM4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLW1kc3BcdFx0XHRnZW5lcmF0ZSBEU1AgaW5zdHJ1Y3Rpb25zXG4iCisiLW1uby1kc3BcdFx0ZG8gbm90IGdlbmVyYXRlIERTUCBpbnN0cnVjdGlvbnNcbiIKK21zZ3N0ciAiIgorIi1tZHNwXHRcdFx0aGFzaWxrYW4gaW5zdHJ1a3NpIERTUFxuIgorIi1tbm8tZHNwXHRcdGphbmdhbiBoYXNpbGthbiBpbnN0cnVrc2kgRFNQXG4iCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTUzOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi1tZHNwcjJcdFx0XHRnZW5lcmF0ZSBEU1AgUjIgaW5zdHJ1Y3Rpb25zXG4iCisiLW1uby1kc3ByMlx0XHRkbyBub3QgZ2VuZXJhdGUgRFNQIFIyIGluc3RydWN0aW9uc1xuIgorbXNnc3RyICIiCisiLW1kc3ByMlx0XHRcdGhhc2lsa2FuIGluc3RydWtzaSBEU1AgUjJcbiIKKyItbW5vLWRwc3IyXHRcdGphbmdhbiBoYXNpbGthbiBpbnN0cnVrc2kgRFNQIFIyXG4iCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTUzOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi1tbXRcdFx0XHRnZW5lcmF0ZSBNVCBpbnN0cnVjdGlvbnNcbiIKKyItbW5vLW10XHRcdFx0ZG8gbm90IGdlbmVyYXRlIE1UIGluc3RydWN0aW9uc1xuIgorbXNnc3RyICIiCisiLW1tdFx0XHRcdGhhc2lsa2FuIGluc3RydWtzaSBNVFxuIgorIi1tbm8tbXRcdFx0XHRqYW5nYW4gaGFzaWxrYW4gaW5zdHJ1a3NpIE1UXG4iCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTUzOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi1tZml4LXZyNDEyMFx0XHR3b3JrIGFyb3VuZCBjZXJ0YWluIFZSNDEyMCBlcnJhdGFcbiIKKyItbWZpeC12cjQxMzBcdFx0d29yayBhcm91bmQgVlI0MTMwIG1mbG8vbWZoaSBlcnJhdGFcbiIKKyItbWdwMzJcdFx0XHR1c2UgMzItYml0IEdQUnMsIHJlZ2FyZGxlc3Mgb2YgdGhlIGNob3NlbiBJU0FcbiIKKyItbWZwMzJcdFx0XHR1c2UgMzItYml0IEZQUnMsIHJlZ2FyZGxlc3Mgb2YgdGhlIGNob3NlbiBJU0FcbiIKKyItbXN5bTMyXHRcdFx0YXNzdW1lIGFsbCBzeW1ib2xzIGhhdmUgMzItYml0IHZhbHVlc1xuIgorIi1PMFx0XHRcdHJlbW92ZSB1bm5lZWRlZCBOT1BzLCBkbyBub3Qgc3dhcCBicmFuY2hlc1xuIgorIi1PXHRcdFx0cmVtb3ZlIHVubmVlZGVkIE5PUHMgYW5kIHN3YXAgYnJhbmNoZXNcbiIKKyItLXRyYXAsIC0tbm8tYnJlYWtcdHRyYXAgZXhjZXB0aW9uIG9uIGRpdiBieSAwIGFuZCBtdWx0IG92ZXJmbG93XG4iCisiLS1icmVhaywgLS1uby10cmFwXHRicmVhayBleGNlcHRpb24gb24gZGl2IGJ5IDAgYW5kIG11bHQgb3ZlcmZsb3dcbiIKK21zZ3N0ciAiIgorIi1tZml4LXZyNDEyMFx0XHRwZXJiYWlraSBrZXNhbGFoYW4gZGFsYW0gYmViZXJhcGEgVlI0MTIwXG4iCisiLW1maXgtdnI0MTMwXHRcdHBlcmJhaWtpIGtlc2FsYWhhbiBkYWxhbSBWUjQxMzAgbWZsby9tZmhpXG4iCisiLW1ncDMyXHRcdFx0Z3VuYWthbiAzMiBiaXQgR1BSLCB0aWRhayBwZWR1bGkgSVNBIHlhbmcgZGlwaWxpaFxuIgorIi1tZnAzMlx0XHRcdGd1bmFrYW4gMzIgYml0IEZQUiwgdGlkYWsgcGVkdWxpIElTQSB5YW5nIGRpcGlsaWhcbiIKKyItbXN5bTMyXHRcdFx0YXN1bXNpa2FuIHNlbHVydWggc2ltYm9sIG1lbWlsaWtpIG5pbGFpIDMyIGJpdFxuIgorIi1PMFx0XHRcdGhhcHVzIE5PUCB5YW5nIHRpZGFrIGRpYnV0dWhrYW4sIGphbmdhbiBzd2FwIGJyYW5jaFxuIgorIi1PXHRcdFx0aGFwdXMgTk9QIHlhbmcgdGlkYWsgZGlidXR1aGthbiBkYW4gc3dhcCBicmFuY2hcbiIKKyItLXRyYXAsIC0tbm8tYnJlYWtcdHRyYXAgZXhjZXB0aW9uIGRpIHBlbWJhZ2lhbiBkZW5nYW4gbm9sIGRhbiBvdmVyZmxvdyBtdWx0aXBsaWthc2lcbiIKKyItLWJyZWFrLCAtLW5vLXRyYXBcdGJyZWFrIGV4Y2VwdGlvbiBkaSBwZW1iYWdpYW4gZGVuZ2FuIG5vbCBkYW4gb3ZlcmZsb3cgbXVsdGlwbGlrYXNpXG4iCisKKyM6IGNvbmZpZy90Yy1taXBzLmM6MTU0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi1taGFyZC1mbG9hdFx0XHRhbGxvdyBmbG9hdGluZy1wb2ludCBpbnN0cnVjdGlvbnNcbiIKKyItbXNvZnQtZmxvYXRcdFx0ZG8gbm90IGFsbG93IGZsb2F0aW5nLXBvaW50IGluc3RydWN0aW9uc1xuIgorIi1tc2luZ2xlLWZsb2F0XHRcdG9ubHkgYWxsb3cgMzItYml0IGZsb2F0aW5nLXBvaW50IG9wZXJhdGlvbnNcbiIKKyItbWRvdWJsZS1mbG9hdFx0XHRhbGxvdyAzMi1iaXQgYW5kIDY0LWJpdCBmbG9hdGluZy1wb2ludCBvcGVyYXRpb25zXG4iCisiLS1bbm8tXWNvbnN0cnVjdC1mbG9hdHMgW2Rpc11hbGxvdyBmbG9hdGluZyBwb2ludCB2YWx1ZXMgdG8gYmUgY29uc3RydWN0ZWRcbiIKK21zZ3N0ciAiIgorIi1taGFyZC1mbG9hdFx0XHRpamlua2FuIGluc3RydWtzaSBmbG9hdGluZy1wb2ludFxuIgorIi1tc29mdC1mbG9hdFx0XHRqYW5nYW4gaWppbmthbiBpbnN0cnVrc2kgZmxvYXRpbmctcG9pbnRcbiIKKyItbXNpbmdsZS1mbG9hdFx0XHRoYW55YSBpamlua2FuIG9wZXJhc2kgMzIgYml0IGZsb2F0aW5nLXBvaW50XG4iCisiLW1kb3VibGUtZmxvYXRcdFx0aWppbmthbiBvcGVyYXNpIDMyIGJpdCBkYW4gNjQgYml0IGZsb2F0aW5nLXBvaW50XG4iCisiLS1bbm8tXWNvbnN0cnVjdC1mbG9hdHMgW2Rpc11hbGxvdyBuaWxhaSBmbG9hdGluZyBwb2ludCB1bnR1ayBkaWtvbnN0cnVrc2lcbiIKKworIzogY29uZmlnL3RjLW1pcHMuYzoxNTQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLUtQSUMsIC1jYWxsX3NoYXJlZFx0Z2VuZXJhdGUgU1ZSNCBwb3NpdGlvbiBpbmRlcGVuZGVudCBjb2RlXG4iCisiLWNhbGxfbm9ucGljXHRcdGdlbmVyYXRlIG5vbi1QSUMgY29kZSB0aGF0IGNhbiBvcGVyYXRlIHdpdGggRFNPc1xuIgorIi1tdnh3b3Jrcy1waWNcdFx0Z2VuZXJhdGUgVnhXb3JrcyBwb3NpdGlvbiBpbmRlcGVuZGVudCBjb2RlXG4iCisiLW5vbl9zaGFyZWRcdFx0ZG8gbm90IGdlbmVyYXRlIGNvZGUgdGhhdCBjYW4gb3BlcmF0ZSB3aXRoIERTT3NcbiIKKyIteGdvdFx0XHRcdGFzc3VtZSBhIDMyIGJpdCBHT1RcbiIKKyItbXBkciwgLW1uby1wZHJcdFx0ZW5hYmxlL2Rpc2FibGUgY3JlYXRpb24gb2YgLnBkciBzZWN0aW9uc1xuIgorIi1tc2hhcmVkLCAtbW5vLXNoYXJlZCAgIGRpc2FibGUvZW5hYmxlIC5jcGxvYWQgb3B0aW1pemF0aW9uIGZvclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uIGRlcGVuZGVudCAobm9uIHNoYXJlZCkgY29kZVxuIgorIi1tYWJpPUFCSVx0XHRjcmVhdGUgQUJJIGNvbmZvcm1hbnQgb2JqZWN0IGZpbGUgZm9yOlxuIgorbXNnc3RyICIiCisiLUtQSUMsIC1jYWxsX3NoYXJlZFx0aGFzaWxrYW4ga29kZSBiZWJhcyBwb3Npc2kgU1ZSNFxuIgorIi1jYWxsX25vbnBpY1x0XHRoYXNpbGthbiBrb2RlIGJ1a2FuLVBJQyB5YW5nIGRhcGF0IGJlcm9wZXJhc2kgZGVuZ2FuIERTT1xuIgorIi1tdnh3b3Jrcy1waWNcdFx0aGFzaWxrYW4ga29kZSBiZWJhcyBwb3Npc2kgVnhXb3Jrc1xuIgorIi1ub25fc2hhcmVkXHRcdGphbmdhbiBoYXNpbGthbiBrb2RlIHlhbmcgZGFwYXQgYmVyb3BlcmFzaSBkZW5nYW4gRFNPXG4iCisiLXhnb3RcdFx0XHRhc3Vtc2lrYW4gc2VidWFoIEdPVCAzMiBiaXRcbiIKKyItbXBkciwgLW1uby1wZHJcdFx0YWt0aWZrYW4vbm9uLWFrdGlma2FuIHBlbWJ1YXRhbiBkYXJpIGRhZXJhaCAucGRyXG4iCisiLW1zaGFyZWQsIC1tbm8tc2hhcmVkIG5vbi1ha3RpZmthbi9ha3RpZmthbiBvcHRpbWlzYXNpIC5jcGxvYWQgdW50dWtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIGtvZGUgYmViYXMgcG9zaXNpICh0aWRhayB0ZXJiYWdpKVxuIgorIi1tYWJpPUFCSVx0XHRidWFrIGJlcmthcyBvYmplayBrb25mb3JtYW4gQUJJIHVudHVrOlxuIgorCisjOiBjb25maWcvdGMtbWlwcy5jOjE1NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItMzJcdFx0XHRjcmVhdGUgbzMyIEFCSSBvYmplY3QgZmlsZSAoZGVmYXVsdClcbiIKKyItbjMyXHRcdFx0Y3JlYXRlIG4zMiBBQkkgb2JqZWN0IGZpbGVcbiIKKyItNjRcdFx0XHRjcmVhdGUgNjQgQUJJIG9iamVjdCBmaWxlXG4iCittc2dzdHIgIiIKKyItMzJcdFx0XHRidWF0IG8zMiBBQkkgYmVya2FzIG9iamVrIChiYWt1KVxuIgorIi1uMzJcdFx0XHRidWF0IG4zMiBBQkkgYmVya2FzIG9iamVrXG4iCisiLTY0XHRcdFx0YnVhdCA2NCBBQkkgYmVya2FzIG9iamVrXG4iCisKKyM6IGNvbmZpZy90Yy1tbWl4LmM6NjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiBNTUlYLXNwZWNpZmljIGNvbW1hbmQgbGluZSBvcHRpb25zOlxuIgorbXNnc3RyICIgT3BzaSBNTUlYLXNwZXNpZmlrIGJhcmlzIHBlcmludGFoOlxuIgorCisjOiBjb25maWcvdGMtbW1peC5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAtZml4ZWQtc3BlY2lhbC1yZWdpc3Rlci1uYW1lc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgQWxsb3cgb25seSB0aGUgb3JpZ2luYWwgc3BlY2lhbCByZWdpc3RlciBuYW1lcy5cbiIKK21zZ3N0ciAiIgorIiAgLWZpeGVkLXNwZWNpYWwtcmVnaXRlci1uYW1lc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgSGFueWEgaWppbmthbiBuYW1hIHJlZ2lzdGVyIHNwZXNpYWwgYXNsaS5cbiIKKworIzogY29uZmlnL3RjLW1taXguYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtZ2xvYmFsaXplLXN5bWJvbHMgICAgICBNYWtlIGFsbCBzeW1ib2xzIGdsb2JhbC5cbiIKK21zZ3N0ciAiICAtZ2xvYmFsaXplLXN5bWJvbHMgICAgICBCdWF0IHNlbHVydWggc2ltYm9sIGdsb2JhbC5cbiIKKworIzogY29uZmlnL3RjLW1taXguYzo2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtZ251LXN5bnRheCAgICAgICAgICAgICBUdXJuIG9mZiBtbWl4YWwgc3ludGF4IGNvbXBhdGliaWxpdHkuXG4iCittc2dzdHIgIiAgLWdudS1zeW50YXggICAgICAgICAgICAgTm9uLWFrdGlma2FuIGtvbXBhYmlsaXRhcyBtbXhpYWwgc3ludGF4LlxuIgorCisjOiBjb25maWcvdGMtbW1peC5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1yZWxheCAgICAgICAgICAgICAgICAgIENyZWF0ZSBsaW5rZXIgcmVsYXhhYmxlIGNvZGUuXG4iCittc2dzdHIgIiAgLXJlbGF4ICAgICAgICAgICAgICAgICAgQnVhdCBrb2RlIGxpbmtlciByZWxheGFibGUuXG4iCisKKyM6IGNvbmZpZy90Yy1tbWl4LmM6NzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIC1uby1wcmVkZWZpbmVkLXN5bXMgICAgIERvIG5vdCBwcm92aWRlIG1taXhhbCBidWlsdC1pbiBjb25zdGFudHMuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBJbXBsaWVzIC1maXhlZC1zcGVjaWFsLXJlZ2lzdGVyLW5hbWVzLlxuIgorbXNnc3RyICIiCisiICAtbm8tcHJlZGVmaW5lZC1zeW1zICAgICBKYW5nYW4gc2VkaWFrYW4gbW1peGFsIGtvbnN0YW50YSBidWlsdC1pbi5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbmdpbmRpa2FzaWthbiAtZml4ZWQtc3BlY2lhbC1yZWdpc3Rlci1uYW1lcy5cbiIKKworIzogY29uZmlnL3RjLW1taXguYzo3MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgLW5vLWV4cGFuZCAgICAgICAgICAgICAgRG8gbm90IGV4cGFuZCBHRVRBLCBicmFuY2hlcywgUFVTSEogb3IgSlVNUFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50byBtdWx0aXBsZSBpbnN0cnVjdGlvbnMuXG4iCittc2dzdHIgIiIKKyIgIC1uby1leHBhbmQgICAgICAgICAgICAgIEphbmdhbiBleHBhbiBHRVQsIGJyYW5jaGVzLCBQVVNKIGF0YXUgSlVNUFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAga2VkYWxhbSBpbnN0cnVrc2kgcGVya2FsaWFuLlxuIgorCisjOiBjb25maWcvdGMtbW1peC5jOjcwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1uby1tZXJnZS1ncmVncyAgICAgICAgIERvIG5vdCBtZXJnZSBHUkVHIGRlZmluaXRpb25zIHdpdGggbmVhcmJ5IHZhbHVlcy5cbiIKK21zZ3N0ciAiICAtbm8tbWVyZ2UtZ3JlZ3MgICAgICAgICBKYW5nYW4gZ2FidW5na2FuIGRlZmluZ2lzIEdSRUcgZGVuZ2FuIG5pbGFpIHRlcmRla2F0LlxuIgorCisjOiBjb25maWcvdGMtbW1peC5jOjcxMQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1saW5rZXItYWxsb2NhdGVkLWdyZWdzIElmIHRoZXJlJ3Mgbm8gc3VpdGFibGUgR1JFRyBkZWZpbml0aW9uIGZvciB0aGUgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhbmRzIG9mIGFuIGluc3RydWN0aW9uLCBsZXQgdGhlIGxpbmtlciByZXNvbHZlLlxuIgorbXNnc3RyICIgIC1saW5rZXItYWxsb2NhdGVkLWdyZWdzIEppa2EgZGlzYW5hIHRpZGFrIGFkYSBkZWZpbmlzaSBHUkVHIHlhbmcgc2VzdWFpIHVudHVrIG9wZXJhbiBkYXJpIGluc3RydWtzaSwgYmlhcmthbiBsaW5rZXIgbWVueWVsZXNhaWthbm55YS5cbiIKKworIzogY29uZmlnL3RjLW1taXguYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgLXggICAgICAgICAgICAgICAgICAgICAgRG8gbm90IHdhcm4gd2hlbiBhbiBvcGVyYW5kIHRvIEdFVEEsIGEgYnJhbmNoLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgUFVTSEogb3IgSlVNUCBpcyBub3Qga25vd24gdG8gYmUgd2l0aGluIHJhbmdlLlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGxpbmtlciB3aWxsIGNhdGNoIGFueSBlcnJvcnMuICBJbXBsaWVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAtbGlua2VyLWFsbG9jYXRlZC1ncmVncy4iCittc2dzdHIgIiIKKyIgIC14ICAgICAgICAgICAgICAgICAgICAgIEphbmdhbiBwZXJpbmdhdGthbiBrZXRpa2Egc2VidWFoIG9wZXJhbiBkZW5nYW4gR0VULCBzZWJ1YWggY2FiYW5nLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgUFVTSEogYXRhdSBKVU1QIHRpZGFrIGRpa2V0YWh1aSBkYWxhbSBqYW5na2F1YW4uXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMaW5rZXIgYWthbiBtZW5hbmdrYXAgZXJyb3IgYXBhcHVuLiBNZW5naW5kaWthc2lrYW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIC1saW5rZXItYWxsb2NhdGVkLWdyZWdzLiIKKworIzogY29uZmlnL3RjLW1taXguYzo4NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcGNvZGU6IGAlcyciCittc2dzdHIgIm9wa29kZSB0aWRhayBkaWtlbmFsOiBgJXMnIgorCisjOiBjb25maWcvdGMtbW1peC5jOjk2MiBjb25maWcvdGMtbW1peC5jOjk3NworbXNnaWQgInNwZWNpZmllZCBsb2NhdGlvbiB3YXNuJ3QgVEVUUkEtYWxpZ25lZCIKK21zZ3N0ciAibG9rYXNpIHlhbmcgZGlzcGVzaWZpa2FzaWthbiB0aWRhayBkYWxhbSBURVRSQS1hbGlnbmVkIgorCisjOiBjb25maWcvdGMtbW1peC5jOjk2NCBjb25maWcvdGMtbW1peC5jOjk3OSBjb25maWcvdGMtbW1peC5jOjQxMDAKKyM6IGNvbmZpZy90Yy1tbWl4LmM6NDExNgorbXNnaWQgInVuYWxpZ25lZCBkYXRhIGF0IGFuIGFic29sdXRlIGxvY2F0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgImRhdGEgdGlkYWsgdGVyYWxpZ24gYmVyYWRhIGRhbGFtIGxva2FzaSBhYnNvbHV0IHRpZGFrIGRpZHVrdW5nIgorCisjOiBjb25maWcvdGMtbW1peC5jOjEwODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBvcGVyYW5kIHRvIG9wY29kZSAlczogYCVzJyIKK21zZ3N0ciAib3BlcmFuIGtlIG9wa29kZSAlcyB0aWRhayB2YWxpZDogYCVzJyIKKworIzogY29uZmlnL3RjLW1taXguYzoxMTExIGNvbmZpZy90Yy1tbWl4LmM6MTEzOCBjb25maWcvdGMtbW1peC5jOjExNzEKKyM6IGNvbmZpZy90Yy1tbWl4LmM6MTE3OSBjb25maWcvdGMtbW1peC5jOjExOTYgY29uZmlnL3RjLW1taXguYzoxMjI0CisjOiBjb25maWcvdGMtbW1peC5jOjEyNDUgY29uZmlnL3RjLW1taXguYzoxMjcwIGNvbmZpZy90Yy1tbWl4LmM6MTMxOAorIzogY29uZmlnL3RjLW1taXguYzoxNDE2IGNvbmZpZy90Yy1tbWl4LmM6MTQ0MSBjb25maWcvdGMtbW1peC5jOjE0NzMKKyM6IGNvbmZpZy90Yy1tbWl4LmM6MTUwNSBjb25maWcvdGMtbW1peC5jOjE1MzUgY29uZmlnL3RjLW1taXguYzoxNTg4CisjOiBjb25maWcvdGMtbW1peC5jOjE2MDUgY29uZmlnL3RjLW1taXguYzoxNjMyIGNvbmZpZy90Yy1tbWl4LmM6MTY2MAorIzogY29uZmlnL3RjLW1taXguYzoxNjg3IGNvbmZpZy90Yy1tbWl4LmM6MTcxMyBjb25maWcvdGMtbW1peC5jOjE3MjkKKyM6IGNvbmZpZy90Yy1tbWl4LmM6MTc1NSBjb25maWcvdGMtbW1peC5jOjE3NzEgY29uZmlnL3RjLW1taXguYzoxNzg3CisjOiBjb25maWcvdGMtbW1peC5jOjE4NTAgY29uZmlnL3RjLW1taXguYzoxODY2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgb3BlcmFuZHMgdG8gb3Bjb2RlICVzOiBgJXMnIgorbXNnc3RyICJvcGVyYW4ga2Ugb3Brb2RlICVzIHRpZGFrIHZhbGlkOiBgJXMnIgorCisjOiBjb25maWcvdGMtbW1peC5jOjE4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3BlcmFuZHMgdG8gJXM6IGAlcyciCittc2dzdHIgIm9wZXJhbiBrZSAlcyB0aWRhayBkaWR1a3VuZzogYCVzJyIKKworIzogY29uZmlnL3RjLW1taXguYzoxOTY4Cittc2dpZCAiaW50ZXJuYWw6IG1taXhfcHJlZml4X25hbWUgYnV0IGVtcHR5IHByZWZpeCIKK21zZ3N0ciAiaW50ZXJuYWw6IG1taXhfcHJlZml4X25hbWUgdGV0YXBpIGF3YWxhbiBrb3NvbmciCisKKyM6IGNvbmZpZy90Yy1tbWl4LmM6MjAxMgorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBHUkVHIHJlZ2lzdGVycyBhbGxvY2F0ZWQgKG1heCAlZCkiCittc2dzdHIgInRlcmxhbHUgYmFueWFrIHJlZ2lzdGVyIEdSRUcgeWFuZyBkaWFsb2thc2lrYW4gKG1ha3NpbWFsICVkKSIKKworIzogY29uZmlnL3RjLW1taXguYzoyMDcwCittc2dpZCAiQlNQRUMgYWxyZWFkeSBhY3RpdmUuICBOZXN0aW5nIGlzIG5vdCBzdXBwb3J0ZWQuIgorbXNnc3RyICJCU1BFQyB0ZWxhaCBha3RpZi4gTmVzdGluZyB0aWRhayBkaWR1a3VuZy4iCisKKyM6IGNvbmZpZy90Yy1tbWl4LmM6MjA3OQorbXNnaWQgImludmFsaWQgQlNQRUMgZXhwcmVzc2lvbiIKK21zZ3N0ciAicGVybnlhdGFhbiBCU1BFQyB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLW1taXguYzoyMDk1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGNyZWF0ZSBzZWN0aW9uICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWF0IGRhZXJhaCAlcyIKKworIzogY29uZmlnL3RjLW1taXguYzoyMTAwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBzZWN0aW9uIGZsYWdzIGZvciBzZWN0aW9uICVzIgorbXNnc3RyICJ0aWRhayBkYXB0IG1lbnNldCB0YW5kYSBkYWVyYWggdW50dWsgZGFlcmFoICVzIgorCisjOiBjb25maWcvdGMtbW1peC5jOjIxMjEKK21zZ2lkICJFU1BFQyB3aXRob3V0IHByZWNlZGluZyBCU1BFQyIKK21zZ3N0ciAiRVNQRUMgdGFucGEgYXdhbGFuIEJTUEVDIgorCisjOiBjb25maWcvdGMtbW1peC5jOjIxNTAKK21zZ2lkICJtaXNzaW5nIGxvY2FsIGV4cHJlc3Npb24iCittc2dzdHIgImhpbGFuZyBwZXJueWF0YWFuIGxva2FsIgorCisjOiBjb25maWcvdGMtbW1peC5jOjIzNjAKK21zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSwgaW5zdHJ1Y3Rpb24gZXhwYW5kZWQiCittc2dzdHIgIm9wZXJhbiBkaWx1YXIgZGFyaSBqYW5na2F1YW4sIGluc3RydWtzaSBkaWVrc3BhbiIKKworIy4gVGhlIEJGRF9SRUxPQ19NTUlYX0xPQ0FMLXNwZWNpZmljIG1lc3NhZ2UgaXMgc3VwcG9zZWQgdG8gYmUKKyMuIHVzZXItZnJpZW5kbHksIHRob3VnaCBhIGxpdHRsZSBiaXQgbm9uLXN1YnN0YW50aWFsLgorIzogY29uZmlnL3RjLW1taXguYzoyNjExCittc2dpZCAiZGlyZWN0aXZlIExPQ0FMIG11c3QgYmUgcGxhY2VkIGluIGNvZGUgb3IgZGF0YSIKK21zZ3N0ciAiZGlyZWt0aWYgTE9DQUwgaGFydXMgZGlsZXRha2FuIGRhbGFtIGtvZGUgYXRhdSBkYXRhIgorCisjOiBjb25maWcvdGMtbW1peC5jOjI2MTIKK21zZ2lkICJpbnRlcm5hbCBjb25mdXNpb246IHJlbG9jYXRpb24gaW4gYSBzZWN0aW9uIHdpdGhvdXQgY29udGVudHMiCittc2dzdHIgImludGVybmFsIGNvbmZ1c2lvbjogcmVsb2thc2kgZGFsYW0gc2VidWFoIGRhZXJhaCB0YW5wYSBpc2kiCisKKyM6IGNvbmZpZy90Yy1tbWl4LmM6MjcyNgorbXNnaWQgImludGVybmFsOiBCRkRfUkVMT0NfTU1JWF9CQVNFX1BMVVNfT0ZGU0VUIG5vdCByZXNvbHZlZCB0byBzZWN0aW9uIgorbXNnc3RyICJpbnRlcm5hbDogQkZEX1JFTE9DX01NSVhfQkFTRV9QTFVTX09GRlNFVCB0aWRhayB0ZXJzZWxlc2Fpa2FuIGtlIGRhZXJhaCIKKworIzogY29uZmlnL3RjLW1taXguYzoyNzc0Cittc2dpZCAibm8gc3VpdGFibGUgR1JFRyBkZWZpbml0aW9uIGZvciBvcGVyYW5kcyIKK21zZ3N0ciAidGlkYXAgYWRhIGRlZmluaXNpIEdSRUcgeWFuZyBzZXN1YWkgdW50dWsgb3BlcmFuIgorCisjOiBjb25maWcvdGMtbW1peC5jOjI4MzMKK21zZ2lkICJvcGVyYW5kcyB3ZXJlIG5vdCByZWR1Y2libGUgYXQgYXNzZW1ibHktdGltZSIKK21zZ3N0ciAib3BlcmFuIHRpZGFrIHRlcmJhZ2kgZGkgd2FrdHUtcGVyYWtpdGFuIgorCisjOiBjb25maWcvdGMtbW1peC5jOjI4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdlbmVyYXRlIHJlbG9jYXRpb24gdHlwZSBmb3Igc3ltYm9sICVzLCBjb2RlICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5naGFzaWxrYW4gcmVsb2thc2kgdGlwZSB1bnR1ayBzaW1ib2wgJXMsIGtvZGUgJXMiCisKKyM6IGNvbmZpZy90Yy1tbWl4LmM6Mjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbDogdW5oYW5kbGVkIGxhYmVsICVzIgorbXNnc3RyICJpbnRlcm5hbDogbGFiZWwgdGlkYWsgdGVydGFuZ2FuaSAlcyIKKworIzogY29uZmlnL3RjLW1taXguYzoyOTEwCittc2dpZCAiWzAtOV1IIGxhYmVscyBtYXkgbm90IGFwcGVhciBhbG9uZSBvbiBhIGxpbmUiCittc2dzdHIgIlswLTldSCBsYWJlbCBtdW5na2luIHRpZGFrIHRlcmxpaGF0IHNlbmRpcmkgZGkgc2VidWFoIGJhcmlzIgorCisjOiBjb25maWcvdGMtbW1peC5jOjI5MTkKK21zZ2lkICJbMC05XUggbGFiZWxzIGRvIG5vdCBtaXggd2l0aCBkb3QtcHNldWRvcyIKK21zZ3N0ciAiWzAtOV1IIGphbmdhbiBtZW5jYW1wdXJrYW4gbGFiZWwgZGVuZ2FuIGRvdC1wc2V1ZG8iCisKKyM6IGNvbmZpZy90Yy1tbWl4LmM6MzAwNworbXNnaWQgImludmFsaWQgY2hhcmFjdGVycyBpbiBpbnB1dCIKK21zZ3N0ciAia2FyYWt0ZXIgdGlkYWsgdmFsaWQgZGFsYW0gbWFzdWthbiIKKworIzogY29uZmlnL3RjLW1taXguYzozMTEzCittc2dpZCAiZW1wdHkgbGFiZWwgZmllbGQgZm9yIElTIgorbXNnc3RyICJmaWVsZCBsYWJlbCBrb3NvbmcgdW50dWsgSVMiCisKKyM6IGNvbmZpZy90Yy1tbWl4LmM6MzQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbDogdW5leHBlY3RlZCByZWxheCB0eXBlICVkOiVkIgorbXNnc3RyICJpbnRlcm5hbDogdGlwZSByZWxheCAlZCB0aWRhayBkaWR1Z2E6ICVkIgorCisjOiBjb25maWcvdGMtbW1peC5jOjM0NjEKK21zZ2lkICJCU1BFQyB3aXRob3V0IEVTUEVDLiIKK21zZ3N0ciAiQlNQRUMgdGFucGEgRVNQRUMuIgorCisjOiBjb25maWcvdGMtbW1peC5jOjM2NjEKK21zZ2lkICJHUkVHIGV4cHJlc3Npb24gdG9vIGNvbXBsaWNhdGVkIgorbXNnc3RyICJHUkVHIGVrc3ByZXNpIHRlcmxhbHUga29tcGxlc2siCisKKyM6IGNvbmZpZy90Yy1tbWl4LmM6MzY3NgorbXNnaWQgImludGVybmFsOiBHUkVHIGV4cHJlc3Npb24gbm90IHJlc29sdmVkIHRvIHNlY3Rpb24iCittc2dzdHIgImludGVybmFsOiBwZXJueWF0YWFuIEdSRVAgdGlkYWsgdGVyc2VsZXNhaWthbiBrZSBkYWVyYWgiCisKKyM6IGNvbmZpZy90Yy1tbWl4LmM6MzcyNQorbXNnaWQgInJlZ2lzdGVyIHNlY3Rpb24gaGFzIGNvbnRlbnRzXG4iCittc2dzdHIgImRhZXJhaCByZWdpc3RlciBtZW1pbGlraSBpc2lcbiIKKworIzogY29uZmlnL3RjLW1taXguYzozODUyCittc2dpZCAic2VjdGlvbiBjaGFuZ2UgZnJvbSB3aXRoaW4gYSBCU1BFQy9FU1BFQyBwYWlyIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgImRhZXJhaCBiZXJ1YmFoIGRhcmkgZGFsYW0gc2VidWFoIHBhc2FuZ2FuIEJTUEVDL0VTUEVDIHRpZGFrIGRpZHVrdW5nIgorCisjOiBjb25maWcvdGMtbW1peC5jOjM4NzMKK21zZ2lkICJkaXJlY3RpdmUgTE9DIGZyb20gd2l0aGluIGEgQlNQRUMvRVNQRUMgcGFpciBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJkaXJla3RpZiBMT0MgZGFyaSBkYWxhbSBzZWJ1YWggcGFzYW5nYW4gQlNQRUMvRVNQRUMgdGlkYWsgZGlkdWt1bmciCisKKyM6IGNvbmZpZy90Yy1tbWl4LmM6Mzg4NAorbXNnaWQgImludmFsaWQgTE9DIGV4cHJlc3Npb24iCittc2dzdHIgInBlcm55YXRhYW4gTE9DIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtbW1peC5jOjM5MTEgY29uZmlnL3RjLW1taXguYzozOTM4Cittc2dpZCAiTE9DIGV4cHJlc3Npb24gc3RlcHBpbmcgYmFja3dhcmRzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgInBlcm55YXRhYW4gTE9DIG1lbGFuZ2thaCBrZWJlbGFrYW5nIHRpZGFrIGRpZHVrdW5nIgorCisjLiBXZSB3aWxsIG9ubHkgZ2V0IGhlcmUgaW4gcmFyZSBjYXNlcyBpbnZvbHZpbmcgI05PX0FQUCwKKyMuIHdoZXJlIHRoZSB1bnRlcm1pbmF0ZWQgc3RyaW5nIGlzIG5vdCByZWNvZ25pemVkIGJ5IHRoZQorIy4gcHJlZm9ybWF0dGluZyBwYXNzLgorIzogY29uZmlnL3RjLW1taXguYzo0MDIyIGNvbmZpZy90Yy1tbWl4LmM6NDE4MiBjb25maWcvdGMtejgwLmM6MTY5MQorbXNnaWQgInVudGVybWluYXRlZCBzdHJpbmciCittc2dzdHIgInN0cmluZyB0aWRhayB0ZXJzZWxlc2Fpa2FuIgorCisjOiBjb25maWcvdGMtbW1peC5jOjQwMzkKK21zZ2lkICJCWVRFIGV4cHJlc3Npb24gbm90IGEgcHVyZSBudW1iZXIiCittc2dzdHIgInBlcm55YXRhYW4gQllURSBub3QgYSBwdXJlIG51bWJlciIKKworIy4gTm90ZSB0aGF0IG1taXhhbCBkb2VzIG5vdCBhbGxvdyBuZWdhdGl2ZSBudW1iZXJzIGluCisjLiBCWVRFIHNlcXVlbmNlcywgc28gbmVpdGhlciBzaG91bGQgd2UuCisjOiBjb25maWcvdGMtbW1peC5jOjQwNDgKK21zZ2lkICJCWVRFIGV4cHJlc3Npb24gbm90IGluIHRoZSByYW5nZSAwLi4yNTUiCittc2dzdHIgInBlcm55YXRhYW4gQllURSB0aWRhayBkYWxhbSBkYWVyYWggMC4uMjU1IgorCisjOiBjb25maWcvdGMtbW1peC5jOjQwOTggY29uZmlnL3RjLW1taXguYzo0MTE0Cittc2dpZCAiZGF0YSBpdGVtIHdpdGggYWxpZ25tZW50IGxhcmdlciB0aGFuIGxvY2F0aW9uIgorbXNnc3RyICJpdGVtIGRhdGEgZGVuZ2FuIGFsaWdubWVuIGxlYmloIGJlc2FyIGRhcmkgbG9rYXNpIgorCisjLiBTaW5jZSBpbnRlZ2VyX2NvbnN0YW50IGlzIGxvY2FsIHRvIGV4cHIuYywgd2UgaGF2ZSB0byBtYWtlIHRoaXMgYQorIy4gbWFjcm8uICBGSVhNRTogRG8gaXQgY2xlYW5lci4KKyM6IGNvbmZpZy90Yy1tbWl4Lmg6MTA0Cittc2dpZCAiYCYnIHNlcmlhbCBudW1iZXIgb3BlcmF0b3IgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiYCYnIG9wZXJhdG9yIG5vbW9yIHNlcmlhbCB0aWRhayBkaWR1a3VuZyIKKworIzogY29uZmlnL3RjLW1uMTAyMDAuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk1OMTAyMDAgb3B0aW9uczpcbiIKKyJub25lIHlldFxuIgorbXNnc3RyICIiCisib3BzaSBNTjEwMjAwOlxuIgorImJlbHVtIGFkYVxuIgorCisjOiBjb25maWcvdGMtbW4xMDIwMC5jOjg5OCBjb25maWcvdGMtbW4xMDMwMC5jOjEyNDkgY29uZmlnL3RjLXBwYy5jOjIyOTcKKyM6IGNvbmZpZy90Yy1zMzkwLmM6MTUyNyBjb25maWcvdGMtdjg1MC5jOjE2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5yZWNvZ25pemVkIG9wY29kZTogYCVzJyIKK21zZ3N0ciAiT3Brb2RlIHRpZGFrIGRpa2VuYWw6IGAlcyciCisKKyM6IGNvbmZpZy90Yy1tbjEwMzAwLmM6NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNTjEwMzAwIGFzc2VtYmxlciBvcHRpb25zOlxuIgorIm5vbmUgeWV0XG4iCittc2dzdHIgIiIKKyJPcHNpIHBlcmFraXQgTU4xMDMwMDpcbiIKKyJiZWx1bSBhZGFcbiIKKworIzogY29uZmlnL3RjLW1uMTAzMDAuYzoxMDY1IGNvbmZpZy90Yy1zaC5jOjc3NiBjb25maWcvdGMtejgwLmM6NjcxIHJlYWQuYzo0MjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEJGRCByZWxvY2F0aW9uIHNpemUgJXUiCittc2dzdHIgInVrdXJhbiByZWxva2FzaSBCRkQgJXUgdGlkYWsgZGlkdWt1bmciCisKKyM6IGNvbmZpZy90Yy1tbjEwMzAwLmM6MTI2NgorbXNnaWQgIkludmFsaWQgb3Bjb2RlL29wZXJhbmRzIgorbXNnc3RyICJvcGtvZGUvb3BlcmFuIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtbW4xMDMwMC5jOjE3OTEKK21zZ2lkICJJbnZhbGlkIHJlZ2lzdGVyIHNwZWNpZmljYXRpb24uIgorbXNnc3RyICJTcGVzaWZpa2FzaSByZWdpc3RlciB0aWRhayB2YWxpZC4iCisKKyM6IGNvbmZpZy90Yy1tbjEwMzAwLmM6MjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgcmVsb2NhdGlvbiBmaXh1cCB0eXBlICglZCkiCittc2dzdHIgIlRpcGUgcGVyYmFpa2FuIHJlbG9rYXNpICglZCkgYnVydWsiCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzo1NDcKK21zZ2lkICIucHJvZmlsZXIgcHNldWRvIHJlcXVpcmVzIGF0IGxlYXN0IHR3byBvcGVyYW5kcy4iCittc2dzdHIgIi5wcm9maWxlciBwc2V1ZG8gbWVtYnV0dWhrYW4gcGFsaW5nIHRpZGFrIGR1YSBvcGVyYW4uIgorCisjOiBjb25maWcvdGMtbXNwNDMwLmM6NjA2Cittc2dpZCAidW5rbm93biBwcm9maWxpbmcgZmxhZyAtIGlnbm9yZWQuIgorbXNnc3RyICJ0YW5kYSBwcm9maWxpbmcgdGlkYWsgZGlrZXRhaHVpIC0gZGlhYmFpa2FuLiIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjYyMgorbXNnaWQgImFtYmlndW91cyBmbGFncyBjb21iaW5hdGlvbiAtICcucHJvZmlsZXInIGRpcmVjdGl2ZSBpZ25vcmVkLiIKK21zZ3N0ciAia29tYmluYXNpIHRhbmRhIC0gYW1iaWd1ICcucHJvZmlsZXInIGRpcmVrdGlmIGRpYWJhaWthbi4iCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzo2MzIKK21zZ2lkICJwcm9maWxpbmcgaW4gYWJzb2x1dGUgc2VjdGlvbj8iCittc2dzdHIgInByb2ZpbGluZyBkYWxhbSBkYWVyYWggYWJzb2x1dD8iCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzo3MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiS25vd24gTUNVIG5hbWVzOlxuIgorbXNnc3RyICJOYW1hIE1DVSB5YW5nIGRpa2V0YWh1aTpcbiIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjcyNAorIywgYy1mb3JtYXQKK21zZ2lkICJcdCAlc1xuIgorbXNnc3RyICJcdCAlc1xuIgorCisjOiBjb25maWcvdGMtbXNwNDMwLmM6NzUwCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZGVmaW5pdGlvbiBvZiBtY3UgdHlwZSAlcycgdG8gJXMnIgorbXNnc3RyICJyZWRlZmluaXNpIGRhcmkgdGlwZSBtY3UgJXMnIGtlICVzJyIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjc5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTVNQNDMwIG9wdGlvbnM6XG4iCisiICAtbW1jdT1bbXNwNDMwLW5hbWVdIHNlbGVjdCBtaWNyb2NvbnRyb2xsZXIgdHlwZVxuIgorIiAgICAgICAgICAgICAgICAgIG1zcDQzMHgxMTAgIG1zcDQzMHgxMTJcbiIKKyIgICAgICAgICAgICAgICAgICBtc3A0MzB4MTEwMSBtc3A0MzB4MTExMVxuIgorIiAgICAgICAgICAgICAgICAgIG1zcDQzMHgxMTIxIG1zcDQzMHgxMTIyIG1zcDQzMHgxMTMyXG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweDEyMiAgbXNwNDMweDEyM1xuIgorIiAgICAgICAgICAgICAgICAgIG1zcDQzMHgxMjIyIG1zcDQzMHgxMjMyXG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweDEzMyAgbXNwNDMweDEzNVxuIgorIiAgICAgICAgICAgICAgICAgIG1zcDQzMHgxMzMxIG1zcDQzMHgxMzUxXG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweDE0NyAgbXNwNDMweDE0OCAgbXNwNDMweDE0OVxuIgorIiAgICAgICAgICAgICAgICAgIG1zcDQzMHgxNTUgIG1zcDQzMHgxNTYgIG1zcDQzMHgxNTdcbiIKKyIgICAgICAgICAgICAgICAgICBtc3A0MzB4MTY3ICBtc3A0MzB4MTY4ICBtc3A0MzB4MTY5XG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweDE2MTAgbXNwNDMweDE2MTEgbXNwNDMweDE2MTJcbiIKKyIgICAgICAgICAgICAgICAgICBtc3A0MzB4MzExICBtc3A0MzB4MzEyICBtc3A0MzB4MzEzICBtc3A0MzB4MzE0ICBtc3A0MzB4MzE1XG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweDMyMyAgbXNwNDMweDMyNVxuIgorIiAgICAgICAgICAgICAgICAgIG1zcDQzMHgzMzYgIG1zcDQzMHgzMzdcbiIKKyIgICAgICAgICAgICAgICAgICBtc3A0MzB4NDEyICBtc3A0MzB4NDEzICBtc3A0MzB4NDE1ICBtc3A0MzB4NDE3XG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweEU0MjMgbXNwNDMweEU0MjUgbXNwNDMwRTQyN1xuIgorIiAgICAgICAgICAgICAgICAgIG1zcDQzMHhXNDIzIG1zcDQzMHhXNDI1IG1zcDQzMFc0MjdcbiIKKyIgICAgICAgICAgICAgICAgICBtc3A0MzB4RzQzNyBtc3A0MzB4RzQzOCBtc3A0MzBHNDM5XG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweDQzNSAgbXNwNDMweDQzNiAgbXNwNDMweDQzN1xuIgorIiAgICAgICAgICAgICAgICAgIG1zcDQzMHg0NDcgIG1zcDQzMHg0NDggIG1zcDQzMHg0NDlcbiIKK21zZ3N0ciAiIgorIm9wc2kgTVNQNDMwOlxuIgorIiAgLW1tY3U9W21zcDQzMC1uYW1lXSBwaWxpaCB0aXBlIG1pa3Jva29udHJvbGVyXG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweDExMCAgbXNwNDMweDExMlxuIgorIiAgICAgICAgICAgICAgICAgIG1zcDQzMHgxMTAxIG1zcDQzMHgxMTExXG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweDExMjEgbXNwNDMweDExMjIgbXNwNDMweDExMzJcbiIKKyIgICAgICAgICAgICAgICAgICBtc3A0MzB4MTIyICBtc3A0MzB4MTIzXG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweDEyMjIgbXNwNDMweDEyMzJcbiIKKyIgICAgICAgICAgICAgICAgICBtc3A0MzB4MTMzICBtc3A0MzB4MTM1XG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweDEzMzEgbXNwNDMweDEzNTFcbiIKKyIgICAgICAgICAgICAgICAgICBtc3A0MzB4MTQ3ICBtc3A0MzB4MTQ4ICBtc3A0MzB4MTQ5XG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweDE1NSAgbXNwNDMweDE1NiAgbXNwNDMweDE1N1xuIgorIiAgICAgICAgICAgICAgICAgIG1zcDQzMHgxNjcgIG1zcDQzMHgxNjggIG1zcDQzMHgxNjlcbiIKKyIgICAgICAgICAgICAgICAgICBtc3A0MzB4MTYxMCBtc3A0MzB4MTYxMSBtc3A0MzB4MTYxMlxuIgorIiAgICAgICAgICAgICAgICAgIG1zcDQzMHgzMTEgIG1zcDQzMHgzMTIgIG1zcDQzMHgzMTMgIG1zcDQzMHgzMTQgIG1zcDQzMHgzMTVcbiIKKyIgICAgICAgICAgICAgICAgICBtc3A0MzB4MzIzICBtc3A0MzB4MzI1XG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweDMzNiAgbXNwNDMweDMzN1xuIgorIiAgICAgICAgICAgICAgICAgIG1zcDQzMHg0MTIgIG1zcDQzMHg0MTMgIG1zcDQzMHg0MTUgIG1zcDQzMHg0MTdcbiIKKyIgICAgICAgICAgICAgICAgICBtc3A0MzB4RTQyMyBtc3A0MzB4RTQyNSBtc3A0MzBFNDI3XG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweFc0MjMgbXNwNDMweFc0MjUgbXNwNDMwVzQyN1xuIgorIiAgICAgICAgICAgICAgICAgIG1zcDQzMHhHNDM3IG1zcDQzMHhHNDM4IG1zcDQzMEc0MzlcbiIKKyIgICAgICAgICAgICAgICAgICBtc3A0MzB4NDM1ICBtc3A0MzB4NDM2ICBtc3A0MzB4NDM3XG4iCisiICAgICAgICAgICAgICAgICAgbXNwNDMweDQ0NyAgbXNwNDMweDQ0OCAgbXNwNDMweDQ0OVxuIgorCisjOiBjb25maWcvdGMtbXNwNDMwLmM6ODE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIC1tUSAtIGVuYWJsZSByZWxheGF0aW9uIGF0IGFzc2VtYmx5IHRpbWUuIERBTkdFUk9VUyFcbiIKKyIgIC1tUCAtIGVuYWJsZSBwb2x5bW9ycGggaW5zdHJ1Y3Rpb25zXG4iCittc2dzdHIgIiIKKyIgIC1tUSAtIGFrdGlma2FuIHJlbGFrc2FzaSBkaSB3YWt0dSBwZXJha2l0YW4uIEJFUkJBSEFZQSFcbiIKKyIgIC1tUCAtIGFrdGlma2FuIGluc3RydWtzaSBwb2x5bW9ycGhcbiIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjk3MAorIywgYy1mb3JtYXQKK21zZ2lkICJ2YWx1ZSAlZCBvdXQgb2YgcmFuZ2UuIFVzZSAjbG8oKSBvciAjaGkoKSIKK21zZ3N0ciAibmlsYWkgJWQgZGlsdWFyIGRhcmkgamFuZ2thdWFuLiBHdW5ha2FuICNsbygpIGF0YXUgI2hpKCkiCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzoxMDU4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXhwcmVzc2lvbiBpbiBvcGVyYW5kICVzLiB1c2UgI2xsbygpICNsaGkoKSAjaGxvKCkgI2hoaSgpICIKK21zZ3N0ciAicGVybnlhdGFhbiBkYWxhbSBvcGVyYW4gJXMgdGlkYWsgZGlrZW5hbC4gZ3VuYWthbiAjbGxvKCkgI2xoaSgpIEBoaGkoKSAiCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzoxMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlZ2lzdGVycyBjYW5ub3QgYmUgdXNlZCB3aXRoaW4gaW1tZWRpYXRlIGV4cHJlc3Npb24gWyVzXSIKK21zZ3N0ciAiUmVnaXN0ZXIgdGlkYWsgZGFwYXQgZGlndW5ha2FuIGRhbGFtIGVrc3ByZXNpIGxhbmdzdW5nIFslc10iCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzoxMTExCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3BlcmFuZCAlcyIKK21zZ3N0ciAib3BlcmFuICVzIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzoxMTMzIGNvbmZpZy90Yy1tc3A0MzAuYzoxMjY4CisjLCBjLWZvcm1hdAorbXNnaWQgInZhbHVlIG91dCBvZiByYW5nZTogJWQiCittc2dzdHIgIm5pbGFpIGRpbHVhciBkYXJpIGphbmdrYXVhbjogJWQiCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzoxMTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlZ2lzdGVycyBjYW5ub3QgYmUgdXNlZCB3aXRoaW4gYWJzb2x1dGUgZXhwcmVzc2lvbiBbJXNdIgorbXNnc3RyICJSZWdpc3RlciB0aWRhayBkYXBhdCBkaWd1bmFrYW4gZGFsYW0gZWtzcHJlc2kgYWJzb2x1dCBbJXNdIgorCisjOiBjb25maWcvdGMtbXNwNDMwLmM6MTE0NiBjb25maWcvdGMtbXNwNDMwLmM6MTI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGV4cHJlc3Npb24gaW4gb3BlcmFuZCAlcyIKK21zZ3N0ciAiZWtzcHJlc2kgZGFsYW0gb3BlcmFuICVzIHRpZGFrIGRpa2V0YWh1aSIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjExNjAgY29uZmlnL3RjLW1zcDQzMC5jOjExNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhZGRyZXNzaW5nIG1vZGUgJXMiCittc2dzdHIgIm1vZGUgcGVuZ2FsYW1hdGFuICVzIHRpZGFrIGRpa2V0YWh1aSIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjExNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHJlZ2lzdGVyIG5hbWUgciVzIgorbXNnc3RyICJOYW1hIHJlZ2lzdGVyIHIlcyBidXJ1ayIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjExODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTVNQNDMwIGRvZXMgbm90IGhhdmUgJWQgcmVnaXN0ZXJzIgorbXNnc3RyICJNU1A0MzAgdGlkYWsgbWVtaWxpa2kgcmVnaXN0ZXIgJWQiCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzoxMjA3Cittc2dpZCAiJyknIHJlcXVpcmVkIgorbXNnc3RyICJkaWJ1dHVoa2FuICcpJyIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjEyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcGVyYXRvciAlcy4gRGlkIHlvdSBtZWFuIFgoUm4pIG9yICNbaGxdW2hsXVtvaV0oQ09OU1QpID8iCittc2dzdHIgIm9wZXJhdG9yICVzIHRpZGFrIGRpa2V0YWh1aS4gQXBha2FoIHlhbmcgYW5kYSBtYWtzdWQgWChSbikgYXRhdSAjW2hsXVtobF1bb2ldKENPTlNUKT8iCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzoxMjI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3BlcmF0b3IgKHIlcyBzdWJzdGl0dXRlZCBhcyBhIHJlZ2lzdGVyIG5hbWUiCittc2dzdHIgIm9wZXJhdG9yIHRpZGFrIGRpa2V0YWh1aSAociVzKSBkaWdhbnRpa2FuIHNlYmFnYWkgc2VidWFoIG5hbWEgcmVnaXN0ZXIiCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzoxMjQxIGNvbmZpZy90Yy1tc3A0MzAuYzoxMjUyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3BlcmF0b3IgJXMiCittc2dzdHIgIm9wZXJhdG9yICVzIHRpZGFrIGRpa2V0YWh1aSIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjEyNDYKK21zZ2lkICJyMiBzaG91bGQgbm90IGJlIHVzZWQgaW4gaW5kZXhlZCBhZGRyZXNzaW5nIG1vZGUiCittc2dzdHIgInIyIHNlaGFydXNueWEgdGlkYWsgZGlndW5ha2FuIGRhbGFtIG1vZGUgcGVuZ2FsYW1hdGFuIHRlcmluZGVrcyIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjEyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVnaXN0ZXJzIGNhbm5vdCBiZSB1c2VkIGFzIGEgcHJlZml4IG9mIGluZGV4ZWQgZXhwcmVzc2lvbiBbJXNdIgorbXNnc3RyICJSZWdpc3RlciB0aWRhayBkYXBhdCBkaWd1bmFrYW4gc2ViYWdhaSBzZWJ1YWggYXdhbGFuIGRhcmkgcGVybnlhdGFhbiB0ZXJpbmRla3MgWyVzXSIKKworIy4gVW5yZWFjaGFibGUuCisjOiBjb25maWcvdGMtbXNwNDMwLmM6MTMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFkZHJlc3NpbmcgbW9kZSBmb3Igb3BlcmFuZCAlcyIKK21zZ3N0ciAibW9kZSBwZW5nYWxhbWF0YW4gdGlkYWsgZGlrZXRhaHVpIHVudHVrIG9wZXJhbiAlcyIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJuYWwgYnVnLiBUcnkgdG8gdXNlIDAociVkKSBpbnN0ZWFkIG9mIEByJWQiCittc2dzdHIgIkludGVybmFsIGJ1Zy4gQ29iYSBndW5ha2FuIDAociVkKSBkYXJpcGFkYSBtZW5nZ3VuYWthbiBAciVkIgorCisjOiBjb25maWcvdGMtbXNwNDMwLmM6MTM3MQorbXNnaWQgInRoaXMgYWRkcmVzc2luZyBtb2RlIGlzIG5vdCBhcHBsaWNhYmxlIGZvciBkZXN0aW5hdGlvbiBvcGVyYW5kIgorbXNnc3RyICJtb2RlIHBlbmdhbGFtYXRhbiBpbmkgdGlkYWsgYmVyamFsYW4gdW50dWsgb3BlcmFuIHR1anVhbiIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjE0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5zdHJ1Y3Rpb24gJXMgcmVxdWlyZXMgJWQgb3BlcmFuZChzKSIKK21zZ3N0ciAiaW5zdHJ1a3NpICVzIG1lbWJ1dHVoa2FuICVkIG9wZXJhbiIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjE2NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlbiBudW1iZXIgcmVxdWlyZWQuIFJvdW5kZWQgdG8gJWQiCittc2dzdHIgIm5vbW9yIGdlbmFwIGRpYnV0dWhrYW4uIERpYnVsYXRrYW4ga2UgJWQiCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzoxNjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIldyb25nIGRpc3BsYWNlbWVudCAgJWQiCittc2dzdHIgIkRpc3BsYWNlbWVudCBzYWxhaCAlZCIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjE2OTYKK21zZ2lkICJpbnN0cnVjdGlvbiByZXF1aXJlcyBsYWJlbCBzYW5zICckJyIKK21zZ3N0ciAiaW5zdHJ1a3NpIG1lbWJ1dHVoa2FuIGxhYmVsIHRhbnBhICckJyIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjE3MDEKK21zZ2lkICJpbnN0cnVjdGlvbiByZXF1aXJlcyBsYWJlbCBvciB2YWx1ZSBpbiByYW5nZSAtNTExOjUxMiIKK21zZ3N0ciAiaW5zdHJ1a3NpIG1lbWJ1dHVoa2FuIGxhYmVsIGF0YXUgbmlsYWkgZGFsYW0gamFuZ2thdWFuIC01MTE6NTEyIgorCisjOiBjb25maWcvdGMtbXNwNDMwLmM6MTcwOCBjb25maWcvdGMtbXNwNDMwLmM6MTc1MiBjb25maWcvdGMtbXNwNDMwLmM6MTc5MQorbXNnaWQgImluc3RydWN0aW9uIHJlcXVpcmVzIGxhYmVsIgorbXNnc3RyICJpbnN0cnVrc2kgbWVtYnV0dWhrYW4gbGFiZWwiCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzoxNzE2IGNvbmZpZy90Yy1tc3A0MzAuYzoxNzU4Cittc2dpZCAicG9seW1vcnBocyBhcmUgbm90IGVuYWJsZWQuIFVzZSAtbVAgb3B0aW9uIHRvIGVuYWJsZS4iCittc2dzdHIgInBvbHltb3JwaHMgdGlkYWsgYWt0aWYuIEd1bmFrYW4gb3BzaSAtbVAgdW50dWsgbWVuZy1ha3RpZmthbi4iCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzoxNzk1Cittc2dpZCAiSWxsZWdhbCBpbnN0cnVjdGlvbiBvciBub3QgaW1wbGVtZW50ZWQgb3Bjb2RlLiIKK21zZ3N0ciAiSW5zdHJ1a3NpIHRpZGFrIGxlZ2FsIGF0YXUgb3Brb2RlIHRpZGFrIHRlcmltcGxlbWVudGFzaS4iCisKKyM6IGNvbmZpZy90Yy1tc3A0MzAuYzoyMTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGluY29uc2lzdGVuY3kgcHJvYmxlbSBpbiAlczogaW5zbiAlMDRseCIKK21zZ3N0ciAibWFzYWxhaCBpbnRlcm5hbCB0aWRhayBrb25zaXN0ZW4gZGFsYW0gJXM6IGluc3RydWtzaSAlMDRseCIKKworIzogY29uZmlnL3RjLW1zcDQzMC5jOjIxNzUgY29uZmlnL3RjLW1zcDQzMC5jOjIxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgaW5jb25zaXN0ZW5jeSBwcm9ibGVtIGluICVzOiBleHQuIGluc24gJTA0bHgiCittc2dzdHIgIm1hc2FsYWggaW50ZXJuYWwgdGlkYWsga29uc2lzdGVuIGRhbGFtICVzOiBla3N0ZXJuYWwgaW5zdHJ1a3NpICUwNGx4IgorCisjOiBjb25maWcvdGMtbXNwNDMwLmM6MjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBpbmNvbnNpc3RlbmN5IHByb2JsZW0gaW4gJXM6ICAlbHgiCittc2dzdHIgIm1hc2FsYWggaW50ZXJuYWwgdGlkYWsga29uc2lzdGVuIGRhbGFtICVzOiAlbHgiCisKKyM6IGNvbmZpZy90Yy1tdC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNVCBzcGVjaWZpYyBjb21tYW5kIGxpbmUgb3B0aW9uczpcbiIKK21zZ3N0ciAib3BzaSBNVCBzcGVzaWZpayBiYXJpcyBwZXJpbnRhaDpcbiIKKworIzogY29uZmlnL3RjLW10LmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLW1hcmNoPW1zMS02NC0wMDEgICAgICAgICBhbGxvdyBtczEtNjQtMDAxIGluc3RydWN0aW9uc1xuIgorbXNnc3RyICIgIC1tYXJjaD1tczEtNjQtMDAxICAgICAgICAgaWppbmdrYW4gbXMxLTY0LTAwMSBpbnN0cnVrc2lcbiIKKworIzogY29uZmlnL3RjLW10LmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLW1hcmNoPW1zMS0xNi0wMDIgICAgICAgICBhbGxvdyBtczEtMTYtMDAyIGluc3RydWN0aW9ucyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtbWFyY2g9bXMxLTE2LTAwMiAgICAgICAgIGlqaW5rYW4gbXMxLTE2LTAwMiBpbnN0cnVrc2kgKGJha3UpXG4iCisKKyM6IGNvbmZpZy90Yy1tdC5jOjE1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1tYXJjaD1tczEtMTYtMDAzICAgICAgICAgYWxsb3cgbXMxLTE2LTAwMyBpbnN0cnVjdGlvbnNcbiIKK21zZ3N0ciAiICAtbWFyY2g9bXMxLTE2LTAwMyAgICAgICAgIGlqaW5rYW4gbXMxLTE2LTAwMyBpbnN0cnVrc2lcbiIKKworIzogY29uZmlnL3RjLW10LmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLW1hcmNoPW1zMiAgICAgICAgICAgICAgICBhbGxvdyBtczIgaW5zdHJ1Y3Rpb25zIFxuIgorbXNnc3RyICIgIC1tYXJjaD1tczIgICAgICAgICAgICAgICAgaWppbmthbiBpbnN0cnVrc2kgbXMyXG4iCisKKyM6IGNvbmZpZy90Yy1tdC5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1ub3NjaGVkICAgICAgICAgICAgICAgICAgZGlzYWJsZSBzY2hlZHVsaW5nIHJlc3RyaWN0aW9uc1xuIgorbXNnc3RyICIgIC1ub3NjaGVkICAgICAgICAgICAgICAgICAgbm9uLWFrdGlma2FuIHBlbWJhdGFzYW4gcGVuamFkd2FsYW5cbiIKKworIzogY29uZmlnL3RjLW10LmM6MjI0CisjLCBjLWZvcm1hdAorbXNnaWQgImluc3RydWN0aW9uICVzIG1heSBub3QgZm9sbG93IGFub3RoZXIgbWVtb3J5IGFjY2VzcyBpbnN0cnVjdGlvbi4iCittc2dzdHIgImluc3RydWtzaSAlcyBtdW5na2luIHRpZGFrIGRpaWt1dGkgaW5zdHJ1a3NpIGFrc2VzIG1lbW9yaSBsYWluLiIKKworIzogY29uZmlnL3RjLW10LmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImluc3RydWN0aW9uICVzIG1heSBub3QgZm9sbG93IGFub3RoZXIgSS9PIGluc3RydWN0aW9uLiIKK21zZ3N0ciAiaW5zdHJ1a3NpICVzIG11bmdraW4gdGlkYWsgZGlpa3V0aSBpbnN0cnVrc2kgSS9PIGxhaW4uIgorCisjOiBjb25maWcvdGMtbXQuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWF5IG5vdCBvY2N1cHkgdGhlIGRlbGF5IHNsb3Qgb2YgYW5vdGhlciBicmFuY2ggaW5zbi4iCittc2dzdHIgIiVzIG11bmdraW4gdGlkYWsgbWVuZ2lzaSBkZWxheSBzbG90IGRhcmkgaW5zdHJ1a3NpIGNhYmFuZyBsYWluLiIKKworIzogY29uZmlnL3RjLW10LmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhbmQgcmVmZXJlbmNlcyBSJWxkIG9mIHByZXZpb3VzIGluc3RydXRjaW9uLiIKK21zZ3N0ciAicmVmZXJlbnNpIG9wZXJhbiBSJWxkIGRhcmkgaW5zdHJ1a3NpIHNlYmVsdW1ueWEuIgorCisjOiBjb25maWcvdGMtbXQuYzoyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmFuZCByZWZlcmVuY2VzIFIlbGQgb2YgaW5zdHJ1Y3RjaW9uIGJlZm9yZSBwcmV2aW91cy4iCittc2dzdHIgInJlZmVyZW5zaSBvcGVyYW4gUiVsZCBkYXJpIGluc3RydWtzaSBzZWJlbHVtbnlhLiIKKworIzogY29uZmlnL3RjLW10LmM6MjgxIGNvbmZpZy90Yy1tdC5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb25kaXRpb25hbCBicmFuY2ggb3IgamFsIGluc24ncyBvcGVyYW5kIHJlZmVyZW5jZXMgUiVsZCBvZiBwcmV2aW91cyBhcml0aG1ldGljIG9yIGxvZ2ljIGluc24uIgorbXNnc3RyICJwZXJjYWJhbmdhbiBrb25kaXNpb25hbCBhdGF1IGphbCBpbnN0cnVrc2kgb3BlcmFuIHJlZmVyZW5zaSBSJWxkIGRhcmkgc2ViZWx1bW55YSBhcml0bWV0aWsgYXRhdSBsb2dpayBpbnN0cnVrc2kuIgorCisjOiBjb25maWcvdGMtbXQuYzozNDgKK21zZ2lkICJtZF9lc3RpbWF0ZV9zaXplX2JlZm9yZV9yZWxheFxuIgorbXNnc3RyICJtZF9lc3RpbWF0ZV9zaXplX2JlZm9yZV9yZWxheFxuIgorCisjOiBjb25maWcvdGMtbnMzMmsuYzo0MzkKK21zZ2lkICJJbnZhbGlkIHN5bnRheCBpbiBQQy1yZWxhdGl2ZSBhZGRyZXNzaW5nIG1vZGUiCittc2dzdHIgIlNpbnRha3MgdGlkYWsgdmFsaWQgZGFsYW0gbW9kZSBwZW5nYWxhbWF0YW4gUEMtcmVsYXRpZiIKKworIzogY29uZmlnL3RjLW5zMzJrLmM6NDYzCittc2dpZCAiSW52YWxpZCBzeW50YXggaW4gRXh0ZXJuYWwgYWRkcmVzc2luZyBtb2RlIgorbXNnc3RyICJTaW50YWtzIHRpZGFrIHZhbGlkIGRhbGFtIG1vZGUgcGVuZ2FsYW1hdGFuIGVrc3Rlcm5hbCIKKworIzogY29uZmlnL3RjLW5zMzJrLmM6NTQ0Cittc2dpZCAiSW52YWxpZCBzeW50YXggaW4gTWVtb3J5IFJlbGF0aXZlIGFkZHJlc3NpbmcgbW9kZSIKK21zZ3N0ciAiU2ludGFrcyB0aWRhayB2YWxpZCBkYWxhbSBtb2RlIHBlbmdhbGFtYXRhbiBtZW1vcmkgcmVsYXRpZiIKKworIzogY29uZmlnL3RjLW5zMzJrLmM6NjExCittc2dpZCAiSW52YWxpZCBzY2FsZWQtaW5kZXhlZCBtb2RlLCB1c2UgKGIsdyxkLHEpIgorbXNnc3RyICJNb2RlIHNrYWxlLWluZGVrcyB0aWRhayB2YWxpZCwgZ3VuYWthbiAoYix3LGQscSkiCisKKyM6IGNvbmZpZy90Yy1uczMyay5jOjYxNgorbXNnaWQgIlN5bnRheCBpbiBzY2FsZWQtaW5kZXhlZCBtb2RlLCB1c2UgW1JuOm1dIHdoZXJlIG49WzAuLjddIG09e2IsdyxkLHF9IgorbXNnc3RyICJTaW50YWtzIGRhbGFtIG1vZGUgc2thbGEtaW5kZWtzLCBndW5ha2FuIFtSbjptXSBkaW1hbmEgbj1bMC4uN10gbT17Yix3LGQscX0iCisKKyM6IGNvbmZpZy90Yy1uczMyay5jOjYyMQorbXNnaWQgIlNjYWxlZC1pbmRleGVkIGFkZHJlc3NpbmcgbW9kZSBjb21iaW5lZCB3aXRoIHNjYWxlZC1pbmRleCIKK21zZ3N0ciAiTW9kZSBwZW5nYWxhbWF0YW4gc2thbGEtaW5kZWtzIGRpa29tYmluYXNpa2FuIGRlbmdhbiBza2FsYS1pbmRla3MiCisKKyM6IGNvbmZpZy90Yy1uczMyay5jOjYzMgorbXNnaWQgIkludmFsaWQgb3IgaWxsZWdhbCBhZGRyZXNzaW5nIG1vZGUgY29tYmluZWQgd2l0aCBzY2FsZWQtaW5kZXgiCittc2dzdHIgIk1vZGUgcGVuZ2FsYW1hdGFuIHRpZGFrIHZhbGlkIGF0YXUgdGlkYWsgbGVnYWwgZGlrb21iaW5hc2lrYW4gZGVuZ2FuIHNrYWxhLWluZGVrcyIKKworIzogY29uZmlnL3RjLW5zMzJrLmM6NzU1Cittc2dpZCAiUHJlbWF0dXJlIGVuZCBvZiBzdWZmaXggLS0gRGVmYXVsdGluZyB0byBkIgorbXNnc3RyICJBa2hpciBwcmVtYXR1cyBkYXJpIGFraGlyYW4gLSBCYWt1IGtlIGQiCisKKyM6IGNvbmZpZy90Yy1uczMyay5jOjc2OAorbXNnaWQgIkJhZCBzdWZmaXggYWZ0ZXIgJzonIHVzZSB7Ynx3fGR9IERlZmF1bHRpbmcgdG8gZCIKK21zZ3N0ciAiQWtoaXJhbiBidXJ1ayBzZXRlbGFoICc6JyBndW5ha2FuIHtifHd8ZH0gYmFrdSBrZSBkIgorCisjOiBjb25maWcvdGMtbnMzMmsuYzo4MTMKK21zZ2lkICJWZXJ5IHNob3J0IGluc3RyIHRvIG9wdGlvbiwgaWUgeW91IGNhbid0IGRvIGl0IG9uIGEgTlVMTHN0ciIKK21zZ3N0ciAiU2FuZ2F0IHBlbmRlayBpbnN0cnVrc2kga2Ugb3BzaSwgYW5kYSB0aWRhayBkYXBhdCBtZWxha3VrYW4gaW5pIGRpIE5VTExzdHIiCisKKyM6IGNvbmZpZy90Yy1uczMyay5jOjg2MworbXNnaWQgIk5vIHN1Y2ggZW50cnkgaW4gbGlzdC4gKGNwdS9tbXUgcmVnaXN0ZXIpIgorbXNnc3RyICJUaWRhayBhZGEgbWFzdWthbiBzZXBlcnRpIGl0dSBkYWxhbSBkYWZ0YXIuIChjcHUvbW11IHJlZ2lzdGVyKSIKKworIzogY29uZmlnL3RjLW5zMzJrLmM6OTIwCittc2dpZCAiSW50ZXJuYWwgY29uc2lzdGVuY3kgZXJyb3IuICBjaGVjayBuczMyay1vcGNvZGUuaCIKK21zZ3N0ciAiSW50ZXJuYWwga29uc2lzdGVuc2kgZXJyb3IuIHBlcmlrc2EgbnMzMmstb3Bjb2RlLmgiCisKKyM6IGNvbmZpZy90Yy1uczMyay5jOjk0NAorbXNnaWQgIkFkZHJlc3Mgb2YgaW1tZWRpYXRlIG9wZXJhbmQiCittc2dzdHIgIkFsYW1hdCBkYXJpIG9wZXJhbiBsYW5nc3VuZyIKKworIzogY29uZmlnL3RjLW5zMzJrLmM6OTQ1Cittc2dpZCAiSW52YWxpZCBpbW1lZGlhdGUgd3JpdGUgb3BlcmFuZC4iCittc2dzdHIgIk9wZXJhbiBpbW1lZGlhdGUgd3JpdGUgdGlkYWsgdmFsaWQuIgorCisjOiBjb25maWcvdGMtbnMzMmsuYzoxMDc1Cittc2dpZCAiQmFkIG9wY29kZS10YWJsZS1vcHRpb24sIGNoZWNrIGluIGZpbGUgbnMzMmstb3Bjb2RlLmgiCittc2dzdHIgIm9wY29kZS10YWJsZS1vcHRpb24gYnVydWssIHBlcmlrc2EgZGFsYW0gYmVya2FzIG5zMzJrLW9wY29kZS5oIgorCisjOiBjb25maWcvdGMtbnMzMmsuYzoxMTA4Cittc2dpZCAiTm8gc3VjaCBvcGNvZGUiCittc2dzdHIgIlRpZGFrIGFkYSBvcGtvZGUgc2VwZXJ0aSBpdHUiCisKKyM6IGNvbmZpZy90Yy1uczMyay5jOjExODMKK21zZ2lkICJCYWQgc3VmZml4LCBkZWZhdWx0aW5nIHRvIGQiCittc2dzdHIgIkFraGlyYW4gYnVydWssIGJha3Uga2UgZCIKKworIzogY29uZmlnL3RjLW5zMzJrLmM6MTIxMAorbXNnaWQgIlRvbyBtYW55IG9wZXJhbmRzIHBhc3NlZCB0byBpbnN0cnVjdGlvbiIKK21zZ3N0ciAiVGVybGFsdSBiYW55YWsgb3BlcmFuIGRpbGV3YXRrYW4ga2UgaW5zdHJ1a3NpIgorCisjLiBDaGVjayBlcnJvciBpbiBkZWZhdWx0LgorIzogY29uZmlnL3RjLW5zMzJrLmM6MTIyMgorbXNnaWQgIldyb25nIG51bWJlcnMgb2Ygb3BlcmFuZHMgaW4gZGVmYXVsdCwgY2hlY2sgbnMzMmstb3Bjb2Rlcy5oIgorbXNnc3RyICJOb21vciBzYWxhaCBkYWxhbSBvcGVyYW4gZGFsYW0gZGVmYXVsdCwgcGVyaWtzYSBuczMyay1vcGNvZGVzLmgiCisKKyM6IGNvbmZpZy90Yy1uczMyay5jOjEyMjUKK21zZ2lkICJXcm9uZyBudW1iZXIgb2Ygb3BlcmFuZHMiCittc2dzdHIgIk5vbW9yIHNhbGFoIGRhcmkgb3BlcmFuIgorCisjOiBjb25maWcvdGMtbnMzMmsuYzoxMjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbiBub3QgZG8gJWQgYnl0ZSBwYy1yZWxhdGl2ZSByZWxvY2F0aW9uIGZvciBzdG9yYWdlIHR5cGUgJWQiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbGFrdWthbiAlZCBieXRlIHBjLXJlbGF0aWYgcmVsb2thc2kgdW50dWsgdGlwZSBwZW55aW1wYW5hbiAlZCIKKworIzogY29uZmlnL3RjLW5zMzJrLmM6MTMwMQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4gbm90IGRvICVkIGJ5dGUgcmVsb2NhdGlvbiBmb3Igc3RvcmFnZSB0eXBlICVkIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZWxha3VrYW4gJWQgYnl0ZSByZWxva2FzaSB1bnR1ayB0aXBlIHBlbnlpbXBhbmFuICVkIgorCisjOiBjb25maWcvdGMtbnMzMmsuYzoxMzkzCisjLCBjLWZvcm1hdAorbXNnaWQgInZhbHVlIG9mICVsZCBvdXQgb2YgYnl0ZSBkaXNwbGFjZW1lbnQgcmFuZ2UuIgorbXNnc3RyICJuaWxhaSBkYXJpICVsZCBkaWx1YXIgZGFyaSBqYW5na2F1YW4gYnl0ZSBkaXNwbGFjZW1lbnQuIgorCisjOiBjb25maWcvdGMtbnMzMmsuYzoxNDAzCisjLCBjLWZvcm1hdAorbXNnaWQgInZhbHVlIG9mICVsZCBvdXQgb2Ygd29yZCBkaXNwbGFjZW1lbnQgcmFuZ2UuIgorbXNnc3RyICJuaWxhaSBkYXJpICVsZCBkaWx1YXIgZGFyaSBqYW5na2F1YW4gd29yZCBkaXNwbGFjZW1lbnQuIgorCisjOiBjb25maWcvdGMtbnMzMmsuYzoxNDE4CisjLCBjLWZvcm1hdAorbXNnaWQgInZhbHVlIG9mICVsZCBvdXQgb2YgZG91YmxlIHdvcmQgZGlzcGxhY2VtZW50IHJhbmdlLiIKK21zZ3N0ciAibmlsYWkgZGFyaSAlbGQgZGlsdWFyIGRhcmkgamFuZ2thdWFuIGRvdWJsZSB3b3JkIGRpc3BsYWNlbWVudC4iCisKKyM6IGNvbmZpZy90Yy1uczMyay5jOjE0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJuYWwgbG9naWMgZXJyb3IuICBsaW5lICVkLCBmaWxlIFwiJXNcIiIKK21zZ3N0ciAiSW50ZXJuYWwgbG9naWsgZXJyb3IuIGJhcmlzICVkLCBiZXJrYXMgXCIlc1wiIgorCisjOiBjb25maWcvdGMtbnMzMmsuYzoxNDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVybmFsIGxvZ2ljIGVycm9yLiBsaW5lICVkLCBmaWxlIFwiJXNcIiIKK21zZ3N0ciAiSW50ZXJuYWwgbG9naWsgZXJyb3IuIGJhcmlzICVkLCBiZXJrYXMgXCIlc1wiIgorCisjOiBjb25maWcvdGMtbnMzMmsuYzoxNTg4Cittc2dpZCAiQml0IGZpZWxkIG91dCBvZiByYW5nZSIKK21zZ3N0ciAiQml0IGZpZWxkIGRpbHVhciBkYXJpIGphbmdrYXVhbiIKKworIzogY29uZmlnL3RjLW5zMzJrLmM6MTY4OAorbXNnaWQgImlpZiBjb252ZXJ0IGludGVybmFsIHBjcmVsL2JpbmFyeSIKK21zZ3N0ciAiaWlmIG1lbmd1YmFoIGludGVybmFsIHBjcmVsL2JpbmFyeSIKKworIzogY29uZmlnL3RjLW5zMzJrLmM6MTcwNQorbXNnaWQgIkJpZ251bSB0b28gYmlnIGZvciBsb25nIgorbXNnc3RyICJCaWdudW0gdGVybGFsdSBiZXNhciB1bnR1ayBsb25nIgorCisjOiBjb25maWcvdGMtbnMzMmsuYzoxNzgyCittc2dpZCAiaWlmIGNvbnZlcnQgaW50ZXJuYWwgcGNyZWwvcG9pbnRlciIKK21zZ3N0ciAiaWlmIG1lbmd1YmFoIGludGVybmFsIHBjcmVsL3BvaW50ZXIiCisKKyM6IGNvbmZpZy90Yy1uczMyay5jOjE3ODcKK21zZ2lkICJJbnRlcm5hbCBsb2dpYyBlcnJvciBpbiBpaWYuaWlmUFtuXS50eXBlIgorbXNnc3RyICJJbnRlcm5hbCBsb2dpayBlcnJvciBkYWxhbSBpaWYuaWlmUFtuXS50eXBlIgorCisjLiBXZSBjYW50IHJlbGF4IHRoaXMgY2FzZS4KKyM6IGNvbmZpZy90Yy1uczMyay5jOjE4MjMKK21zZ2lkICJDYW4ndCByZWxheCBkaWZmZXJlbmNlIgorbXNnc3RyICJUaWRhayBkYXBhdCByZWxha3MgcGVyYmVkYWFuIgorCisjOiBjb25maWcvdGMtbnMzMmsuYzoxODY0Cittc2dpZCAiRGlzcGxhY2VtZW50IHRvbyBsYXJnZSBmb3IgOmQiCittc2dzdHIgIkRpc3BsYWNlbWVudCB0ZXJsYWx1IGJlc2FyIHVudHVrIDpkIgorCisjOiBjb25maWcvdGMtbnMzMmsuYzoxODc3Cittc2dpZCAiSW50ZXJuYWwgbG9naWMgZXJyb3IgaW4gaWlmLmlpZlBbXS50eXBlIgorbXNnc3RyICJJbnRlcm5hbCBsb2dpayBlcnJybyBkYWxhbSBpaWYuaWlmUFtdLnR5cGUiCisKKyMuIEZhdGFsLgorIzogY29uZmlnL3RjLW5zMzJrLmM6MTkwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBoYXNoICVzOiAlcyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgaGFzaCAlczogJXMiCisKKyM6IGNvbmZpZy90Yy1uczMyay5jOjIxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmNoaXRlY3R1cmUgb3B0aW9uIC1tJXMsIGlnbm9yZWQiCittc2dzdHIgIm9wc2kgYXJzaXRla3R1ciAtbSVzIHRpZGFrIHZhbGlkLCBkaWFiYWlrYW4iCisKKyM6IGNvbmZpZy90Yy1uczMyay5jOjIxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkZWZhdWx0IGRpc3BsYWNlbWVudCBzaXplIFwiJXNcIi4gRGVmYXVsdGluZyB0byAlZC4iCittc2dzdHIgInVrdXJhbiBkZWZhdWx0IGRpc3BsYWNlbWVudCBcIiVzXCIgdGlkYWsgdmFsaWQuIEJha3Uga2UgJWQuIgorCisjOiBjb25maWcvdGMtbnMzMmsuYzoyMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOUzMySyBvcHRpb25zOlxuIgorIi1tMzIwMzIgfCAtbTMyNTMyXHRzZWxlY3QgdmFyaWFudCBvZiBOUzMySyBhcmNoaXRlY3R1cmVcbiIKKyItLWRpc3Atc2l6ZS1kZWZhdWx0PTwxfDJ8ND5cbiIKK21zZ3N0ciAiIgorIk9wc2kgTlMzMks6XG4iCisiLW0zMjAzMiB8IC1tMzI1MzJcdHBpbGloIHZhcmlhbiBkYXJpIGFyc2l0ZWt0dXIgTlMzMktcbiIKKyItLWRpc3Atc2l6ZS1kZWZhdWx0PTwxfDJ8ND5cbiIKKworIzogY29uZmlnL3RjLW5zMzJrLmM6MjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZmluZCByZWxvY2F0aW9uIHR5cGUgZm9yIHN5bWJvbCAlcywgY29kZSAlZCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZW11a2FuIHRpcGUgcmVsb2thc2kgdW50dWsgc2ltYm9sICVzLCBrb2RlICVkIgorCisjOiBjb25maWcvdGMtb3IzMi5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wY29kZTE6IGAlcyciCittc2dzdHIgIm9wa29kZTEgdGlkYWsgZGlrZW5hbDogYCVzJyIKKworIzogY29uZmlnL3RjLW9yMzIuYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcGNvZGUyIGAlcycuIgorbXNnc3RyICJvcGtvZGUyIGAlcycgdGlkYWsgZGlrZW5hbC4iCisKKyM6IGNvbmZpZy90Yy1vcjMyLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgImluc3RydWN0aW9uIG5vdCBhbGxvd2VkOiAlcyIKK21zZ3N0ciAiaW5zdHJ1a3NpIHRpZGFrIGRpcGVyYm9sZWhrYW46ICVzIgorCisjOiBjb25maWcvdGMtb3IzMi5jOjQwNworIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBvcGVyYW5kczogJXMiCittc2dzdHIgInRlcmxhbHUgYmFueWFrIG9wZXJhbjogJXMiCisKKyM6IGNvbmZpZy90Yy1vcjMyLmM6NDkxCittc2dpZCAiY2FsbC9qbXAgdGFyZ2V0IG91dCBvZiByYW5nZSAoMSkiCittc2dzdHIgImNhbGwvam1wIHRhcmdldCBkaWx1YXIgZGFyaSBqYW5na2F1YW4gKDEpIgorCisjOiBjb25maWcvdGMtb3IzMi5jOjYxMworbXNnaWQgImNhbGwvam1wIHRhcmdldCBvdXQgb2YgcmFuZ2UgKDIpIgorbXNnc3RyICJjYWxsL2ptcCB0YXJnZXQgZGlsdWFyIGRhcmkgamFuZ2thdWFuICgyKSIKKworIzogY29uZmlnL3RjLW9yMzIuYzo2MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJlbG9jYXRpb24gdHlwZTogMHglMDJ4IgorbXNnc3RyICJ0aXBlIHJlbG9rYXNpIGJ1cnVrOiAweCUwMngiCisKKyM6IGNvbmZpZy90Yy1vcjMyLmM6ODI0Cittc2dpZCAiaW52YWxpZCByZWdpc3RlciBpbiAmIGV4cHJlc3Npb24iCittc2dzdHIgInJlZ2lzdGVyIHRpZGFrIHZhbGlkIGRhbGFtIHBlcm55YXRhYW4gJiIKKworIzogY29uZmlnL3RjLXBkcDExLmM6NDkwCittc2dpZCAiTG93IG9yZGVyIGJpdHMgdHJ1bmNhdGVkIGluIGltbWVkaWF0ZSBmbG9hdCBvcGVyYW5kIgorbXNnc3RyICJMb3cgb3JkZXIgYml0IGRpcG90b25nIGRhbGFtIG9wZXJhbiBmbG9hdCBsYW5nc3VuZyIKKworIzogY29uZmlnL3RjLXBkcDExLmM6Njc5IGNvbmZpZy90Yy16ODAuYzoxODkwIGNvbmZpZy90Yy16ODAuYzoxOTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gaW5zdHJ1Y3Rpb24gJyVzJyIKK21zZ3N0ciAiSW5zdHJ1a3NpICclcycgdGlkYWsgZGlrZXRhaHVpIgorCisjOiBjb25maWcvdGMtcGouYzo2NSBjb25maWcvdGMtcGouYzo3NAorbXNnaWQgImNvbmZ1c2luZyByZWxvY2F0aW9uIGV4cHJlc3Npb25zIgorbXNnc3RyICJyZWxva2FzaSBla3NwcmVzaSBtZW1iaW5ndW5na2FuIgorCisjOiBjb25maWcvdGMtcGouYzoxNTcKK21zZ2lkICJjYW4ndCBoYXZlIHJlbG9jYXRpb24gZm9yIGlwdXNoIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1pbGlraSByZWxva2FzaSB1bnR1ayBpcHVzaCIKKworIzogY29uZmlnL3RjLXBqLmM6MjYwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3Bjb2RlICVzIgorbXNnc3RyICJvcGtvZGUgJXMgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLXBqLmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQSiBvcHRpb25zOlxuIgorIi1saXR0bGVcdFx0XHRnZW5lcmF0ZSBsaXR0bGUgZW5kaWFuIGNvZGVcbiIKKyItYmlnXHRcdFx0Z2VuZXJhdGUgYmlnIGVuZGlhbiBjb2RlXG4iCittc2dzdHIgIiIKKyJPcHNpIFBKOlxuIgorIi1saXR0bGVcdFx0XHRtZW5naGFzaWxrYW4ga29kZSBsaXR0bGUgZW5kaWFuXG4iCisiLWJpZ1x0XHRcdG1lbmdoYXNpbGthbiBrb2RlIGJpZyBlbmRpYW5cbiIKKworIzogY29uZmlnL3RjLXBqLmM6MzgyIGNvbmZpZy90Yy1zaC5jOjQwNTkgY29uZmlnL3RjLXNoLmM6NDA2NgorIzogY29uZmlnL3RjLXNoLmM6NDA3MyBjb25maWcvdGMtc2guYzo0MDgwCittc2dpZCAicGNyZWwgdG9vIGZhciIKK21zZ3N0ciAicGNyZWwgdGVybGFsdSBqYXVoIgorCisjOiBjb25maWcvdGMtcGouaDozOAorbXNnaWQgImNvbnZlcnRfZnJhZ1xuIgorbXNnc3RyICJjb252ZXJ0X2ZyYWdcbiIKKworIzogY29uZmlnL3RjLXBqLmg6MzkKK21zZ2lkICJlc3RpbWF0ZSBzaXplXG4iCittc2dzdHIgInBlcmtpcmFrYW4gdWt1cmFuXG4iCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoxMDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIlcyB0aWRhayBkaWR1a3VuZyIKKworIzogY29uZmlnL3RjLXBwYy5jOjEwOTYgY29uZmlnL3RjLXMzOTAuYzo0MDQgY29uZmlnL3RjLXMzOTAuYzo0MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzd2l0Y2ggLW0lcyIKK21zZ3N0ciAic3dpdGNoIC1tJXMgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoxMTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQb3dlclBDIG9wdGlvbnM6XG4iCisiLWEzMlx0XHRcdGdlbmVyYXRlIEVMRjMyL1hDT0ZGMzJcbiIKKyItYTY0XHRcdFx0Z2VuZXJhdGUgRUxGNjQvWENPRkY2NFxuIgorIi11XHRcdFx0aWdub3JlZFxuIgorIi1tcHdyeCwgLW1wd3IyXHRcdGdlbmVyYXRlIGNvZGUgZm9yIFBPV0VSLzIgKFJJT1MyKVxuIgorIi1tcHdyXHRcdFx0Z2VuZXJhdGUgY29kZSBmb3IgUE9XRVIgKFJJT1MxKVxuIgorIi1tNjAxXHRcdFx0Z2VuZXJhdGUgY29kZSBmb3IgUG93ZXJQQyA2MDFcbiIKKyItbXBwYywgLW1wcGMzMiwgLW02MDMsIC1tNjA0XG4iCisiXHRcdFx0Z2VuZXJhdGUgY29kZSBmb3IgUG93ZXJQQyA2MDMvNjA0XG4iCisiLW00MDNcdFx0XHRnZW5lcmF0ZSBjb2RlIGZvciBQb3dlclBDIDQwM1xuIgorIi1tNDA1XHRcdFx0Z2VuZXJhdGUgY29kZSBmb3IgUG93ZXJQQyA0MDVcbiIKKyItbTQ0MFx0XHRcdGdlbmVyYXRlIGNvZGUgZm9yIFBvd2VyUEMgNDQwXG4iCisiLW00NjRcdFx0XHRnZW5lcmF0ZSBjb2RlIGZvciBQb3dlclBDIDQ2NFxuIgorIi1tNzQwMCwgLW03NDEwLCAtbTc0NTAsIC1tNzQ1NVxuIgorIlx0XHRcdGdlbmVyYXRlIGNvZGUgZm9yIFBvd2VyUEMgNzQwMC83NDEwLzc0NTAvNzQ1NVxuIgorIi1tNzUwY2xcdFx0XHRnZW5lcmF0ZSBjb2RlIGZvciBQb3dlclBDIDc1MGNsXG4iCittc2dzdHIgIiIKKyJPcHNpIFBvd2VyUEM6XG4iCisiLWEzMlx0XHRcdG1lbmdoYXNpbGthbiBFTEYzMi9YQ09GRjMyXG4iCisiLWE2NFx0XHRcdG1lbmdoYXNpbGthbiBFTEY2NC9YQ09GRjY0XG4iCisiLXVcdFx0XHRkaWFiYWlrYW5cbiIKKyItbXB3cngsIC1tcHdyMlx0XHRtZW5naGFzaWxrYW4ga29kZSB1bnR1ayBQT1dFUi8yIChSSU9TMilcbiIKKyItbXB3clx0XHRcdG1lbmdoYXNpbGthbiBrb2RlIHVudHVrIFBPV0VSIChSSU9TMSlcbiIKKyItbTYwMVx0XHRcdG1lbmdoYXNpbGthbiBrb2RlIHVudHVrIFBvd2VyUEMgNjAxXG4iCisiLW1wcGMsIC1tcHBjMzIsIC1tNjAzLCAtbTYwNFxuIgorIlx0XHRcdG1lbmdoYXNpbGthbiBrb2RlIHVudHVrIFBvd2VyUEMgNjAzLzYwNFxuIgorIi1tNDAzXHRcdFx0bWVuZ2hhc2lsa2FuIGtvZGUgdW50dWsgUG93ZXJQQyA0MDNcbiIKKyItbTQwNVx0XHRcdG1lbmdoYXNpbGthbiBrb2RlIHVudHVrIFBvd2VyUEMgNDA1XG4iCisiLW00NDBcdFx0XHRtZW5naGFzaWxrYW4ga29kZSB1bnR1ayBQb3dlclBDIDQ0MFxuIgorIi1tNDY0XHRcdFx0bWVuZ2hhc2lsa2FuIGtvZGUgdW50dWsgUG93ZXJQQyA0NjRcbiIKKyItbTc0MDAsIC1tNzQxMCwgLW03NDUwLCAtbTc0NTVcbiIKKyJcdFx0XHRtZW5naGFzaWxrYW4ga29kZSB1bnR1ayBQb3dlclBDIDc0MDAvNzQxMDAvNzQ1MC83NDU1XG4iCisiLW03NDUwY2xcdFx0XHRtZW5naGFzaWxrYW4ga29kZSB1bnR1ayBQb3dlclBDIDc1MGNsXG4iCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoxMTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItbXBwYzY0LCAtbTYyMFx0XHRnZW5lcmF0ZSBjb2RlIGZvciBQb3dlclBDIDYyMC82MjUvNjMwXG4iCisiLW1wcGM2NGJyaWRnZVx0XHRnZW5lcmF0ZSBjb2RlIGZvciBQb3dlclBDIDY0LCBpbmNsdWRpbmcgYnJpZGdlIGluc25zXG4iCisiLW1ib29rZTY0XHRcdGdlbmVyYXRlIGNvZGUgZm9yIDY0LWJpdCBQb3dlclBDIEJvb2tFXG4iCisiLW1ib29rZSwgbWJvb2tlMzJcdGdlbmVyYXRlIGNvZGUgZm9yIDMyLWJpdCBQb3dlclBDIEJvb2tFXG4iCisiLW1wb3dlcjRcdFx0Z2VuZXJhdGUgY29kZSBmb3IgUG93ZXI0IGFyY2hpdGVjdHVyZVxuIgorIi1tcG93ZXI1XHRcdGdlbmVyYXRlIGNvZGUgZm9yIFBvd2VyNSBhcmNoaXRlY3R1cmVcbiIKKyItbXBvd2VyNlx0XHRnZW5lcmF0ZSBjb2RlIGZvciBQb3dlcjYgYXJjaGl0ZWN0dXJlXG4iCisiLW1wb3dlcjdcdFx0Z2VuZXJhdGUgY29kZSBmb3IgUG93ZXI3IGFyY2hpdGVjdHVyZVxuIgorIi1tY2VsbFx0XHRcdGdlbmVyYXRlIGNvZGUgZm9yIENlbGwgQnJvYWRiYW5kIEVuZ2luZSBhcmNoaXRlY3R1cmVcbiIKKyItbWNvbVx0XHRcdGdlbmVyYXRlIGNvZGUgUG93ZXIvUG93ZXJQQyBjb21tb24gaW5zdHJ1Y3Rpb25zXG4iCisiLW1hbnlcdFx0XHRnZW5lcmF0ZSBjb2RlIGZvciBhbnkgYXJjaGl0ZWN0dXJlIChQV1IvUFdSWC9QUEMpXG4iCittc2dzdHIgIiIKKyItbXBwYzY0LCAtbTYyMFx0XHRtZW5naGFzaWxrYW4ga29kZSB1bnR1ayBQb3dlclBDIDYyMC82MjUvNjMwXG4iCisiLW1wcGM2NGJyaWRnZVx0XHRtZW5naGFzaWxrYW4ga29kZSB1bnR1ayBQb3dlclBDIDY0LCB0ZXJtYXN1ayBpbnN0cnVrc2kgaW5zbnNcbiIKKyItbWJvb2tlNjRcdFx0bWVuZ2hhc2lsa2FuIGtvZGUgdW50dWsgNjQgYml0IFBvd2VyUEMgQm9va0VcbiIKKyItbWJvb2tlLCBtYm9va2UzMlx0bWVuZ2hhc2lsa2FuIGtvZGUgdW50dWsgMzIgYml0IFBvd2VyIFBDIEJvb2tFXG4iCisiLW1wb3dlcjRcdFx0bWVuZ2hhc2lsa2FuIGtvZGUgdW50dWsgYXJzaXRla3R1ciBQb3dlcjRcbiIKKyItbXBvd2VyNVx0XHRtZW5naGFzaWxrYW4ga29kZSB1bnR1ayBhcnNpdGVrdHVyIFBvd2VyNVxuIgorIi1tcG93ZXI2XHRcdG1lbmdoYXNpbGthbiBrb2RlIHVudHVrIGFyc2l0ZWt0dXIgUG93ZXI2XG4iCisiLW1wb3dlcjdcdFx0bWVuZ2hhc2lsa2FuIGtvZGUgdW50dWsgYXJzaXRla3R1ciBQb3dlcjdcbiIKKyItbWNlbGxcdFx0XHRtZW5naGFzaWxrYW4ga29kZSB1bnR1ayBhcnNpdGVrdHVyIENlbGwgQnJvYWRiYW5kIEVuZ2luZVxuIgorIi1tY29tXHRcdFx0bWVuZ2hhc2lsa2FuIGtvZGUgdW50dWsgUG93ZXIvUG93ZXJQQyBhcnNpdGVrdHVyIGJlcnNhbWFcbiIKKyItbWFueVx0XHRcdG1lbmdoYXNpbGthbiBrb2RlIHVudHVrIGFyc2l0ZWt0dXIgYXBhcHVuIChQV1IvUFdSWC9QUEMpXG4iCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoxMTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItbWFsdGl2ZWNcdFx0Z2VuZXJhdGUgY29kZSBmb3IgQWx0aVZlY1xuIgorIi1tdnN4XHRcdFx0Z2VuZXJhdGUgY29kZSBmb3IgVmVjdG9yLVNjYWxhciAoVlNYKSBpbnN0cnVjdGlvbnNcbiIKKyItbWUzMDBcdFx0XHRnZW5lcmF0ZSBjb2RlIGZvciBQb3dlclBDIGUzMDAgZmFtaWx5XG4iCisiLW1lNTAwLCAtbWU1MDB4Mlx0Z2VuZXJhdGUgY29kZSBmb3IgTW90b3JvbGEgZTUwMCBjb3JlIGNvbXBsZXhcbiIKKyItbWU1MDBtYywgICAgICAgICAgICAgICBnZW5lcmF0ZSBjb2RlIGZvciBGcmVlc2NhbGUgZTUwMG1jIGNvcmUgY29tcGxleFxuIgorIi1tc3BlXHRcdFx0Z2VuZXJhdGUgY29kZSBmb3IgTW90b3JvbGEgU1BFIGluc3RydWN0aW9uc1xuIgorIi1tcmVnbmFtZXNcdFx0QWxsb3cgc3ltYm9saWMgbmFtZXMgZm9yIHJlZ2lzdGVyc1xuIgorIi1tbm8tcmVnbmFtZXNcdFx0RG8gbm90IGFsbG93IHN5bWJvbGljIG5hbWVzIGZvciByZWdpc3RlcnNcbiIKK21zZ3N0ciAiIgorIi1tYWx0aXZlY1x0XHRtZW5naGFzaWxrYW4ga29kZSB1bnR1ayBBbHRpVmVjXG4iCisiLW12c3hcdFx0XHRtZW5naGFzaWxrYW4ga29kZSB1bnR1ayBWZWN0b3ItU2thbGFyIChWU1gpIGluc3RydWtzaVxuIgorIi1tZTMwMFx0XHRcdG1lbmdoYXNpbGthbiBrb2RlIHVudHVrIGtlbHVhcmdhIFBvd2VyUEMgZTMwMFxuIgorIi1tZTUwMCwgLW1lNTAweDJcdG1lbmdoYXNpbGthbiBrb2RlIHVudHVrIE1vdG9yb2xhIGU1MDAgY29yZSBjb21wbGV4XG4iCisiLW1lNTAwbWMsICAgICAgICAgICAgICAgbWVuZ2hhc2lsa2FuIGtvZGUgdW50dWsgRnJlZXNjYWxlIGU1MDBtYyBjb3JlIGNvbXBsZXhcbiIKKyItbXNwZVx0XHRcdG1lbmdoYXNpbGthbiBrb2RlIHVudHVrIGluc3RydWtzaSBNb3Rvcm9sYSBTUEVcbiIKKyItbXJlZ25hbWVzXHRcdE1lbmdpamlua2FuIG5hbWEgc2ltYm9saWsgdW50dWsgcmVnaXN0ZXJcbiIKKyItbW5vLXJlZ25hbWVzXHRcdEphbmdhbiBpamlua2FuIG5hbWEgc2ltYm9saWsgdW50dWsgcmVnaXN0ZXJcbiIKKworIzogY29uZmlnL3RjLXBwYy5jOjExNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi1tcmVsb2NhdGFibGVcdFx0c3VwcG9ydCBmb3IgR0NDJ3MgLW1yZWxvY2F0YmxlIG9wdGlvblxuIgorIi1tcmVsb2NhdGFibGUtbGliXHRzdXBwb3J0IGZvciBHQ0MncyAtbXJlbG9jYXRibGUtbGliIG9wdGlvblxuIgorIi1tZW1iXHRcdFx0c2V0IFBQQ19FTUIgYml0IGluIEVMRiBmbGFnc1xuIgorIi1tbGl0dGxlLCAtbWxpdHRsZS1lbmRpYW4sIC1sLCAtbGVcbiIKKyJcdFx0XHRnZW5lcmF0ZSBjb2RlIGZvciBhIGxpdHRsZSBlbmRpYW4gbWFjaGluZVxuIgorIi1tYmlnLCAtbWJpZy1lbmRpYW4sIC1iLCAtYmVcbiIKKyJcdFx0XHRnZW5lcmF0ZSBjb2RlIGZvciBhIGJpZyBlbmRpYW4gbWFjaGluZVxuIgorIi1tc29sYXJpc1x0XHRnZW5lcmF0ZSBjb2RlIGZvciBTb2xhcmlzXG4iCisiLW1uby1zb2xhcmlzXHRcdGRvIG5vdCBnZW5lcmF0ZSBjb2RlIGZvciBTb2xhcmlzXG4iCisiLVZcdFx0XHRwcmludCBhc3NlbWJsZXIgdmVyc2lvbiBudW1iZXJcbiIKKyItUXksIC1Rblx0XHRpZ25vcmVkXG4iCittc2dzdHIgIiIKKyItbXJlbG9jYXRhYmxlXHRcdGR1a3VuZyB1bnR1ayBvcHNpIEdDQyAtbXJlbG9jYXRibGVcbiIKKyItbXJlbG9jYXRhYmxlLWxpYlx0ZHVrdW5nIHVudHVrIG9wc2kgR0NDIC1tcmVsb2NhdGJsZVxuIgorIi1tZW1iXHRcdFx0c2V0IFBQQ19FTUIgYml0IGRhbGFtIHRhbmRhIEVMRlxuIgorIi1tbGl0dGxlLCAtbWxpdHRsZS1lbmRpYW4sIC1sLCAtbGVcbiIKKyJcdFx0XHRtZW5naGFzaWxrYW4ga29kZSB1bnR1ayBzZWJ1YWggbWVzaW4gbGl0dGxlIGVuZGlhblxuIgorIi1tYmlnLCAtbWJpZy1lbmRpYW4sIC1iLCAtYmVcbiIKKyJcdFx0XHRtZW5naGFzaWxrYW4ga29kZSB1bnR1ayBzZWJ1YWggbWVzaW4gYmlnIGVuZGlhblxuIgorIi1tc29sYXJpc1x0XHRtZW5naGFzaWxrYW4ga29kZSB1bnR1ayBTb2xhcmlzXG4iCisiLW1uby1zb2xhcmlzXHRcdGphbmdhbiBoYXNpbGthbiBrb2RlIHVudHVrIFNvbGFyaXNcbiIKKyItVlx0XHRcdHRhbXBpbGthbiBub21vciB2ZXJzaSBwZXJha2l0XG4iCisiLVF5LCAtUW5cdFx0ZGlhYmFpa2FuXG4iCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoxMjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZGVmYXVsdCBjcHUgPSAlcywgb3MgPSAlcyIKK21zZ3N0ciAiVGlkYWsgZGlrZXRhaHVpIGJha3UgY3B1ID0gJXMsIG9zID0gJXMiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoxMjM0Cittc2dpZCAiTmVpdGhlciBQb3dlciBub3IgUG93ZXJQQyBvcGNvZGVzIHdlcmUgc2VsZWN0ZWQuIgorbXNnc3RyICJCdWthbiBQb3dlciBhdGF1IFBvd2VyUEMgb3Brb2RlIHlhbmcgZGlwaWxpaC4iCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoxMzEzCisjLCBjLWZvcm1hdAorbXNnaWQgInBvd2VycGNfb3BlcmFuZHNbJWRdLmJpdG0gaW52YWxpZCIKK21zZ3N0ciAicG93ZXJwY19vcGVyYW5kc1slZF0uYml0bSB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXBwYy5jOjEzMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAicG93ZXJwY19vcGVyYW5kc1slZF0gZHVwbGljYXRlcyBwb3dlcnBjX29wZXJhbmRzWyVkXSIKK21zZ3N0ciAicG93ZXJwY19vcGVyYW5kc1slZF0gZHVwbGlrYXNpIHBvd2VycGNfb3BlcmFuZHNbJWRdIgorCisjOiBjb25maWcvdGMtcHBjLmM6MTM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYWpvciBvcGNvZGUgaXMgbm90IHNvcnRlZCBmb3IgJXMiCittc2dzdHIgIm1heW9yIG9wa29kZSB0aWRhayBkaXVydXRrYW4gdW50dWsgJXMiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoxMzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglMDhseCAlMDhseCkgYWZ0ZXIgJXMgKCUwOGx4ICUwOGx4KSIKK21zZ3N0ciAiJXMgKCUwOGx4ICUwOGx4KSBzZXN1ZGFoICVzICglMDhseCAlMDhseCkiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoxMzg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1hc2sgdHJpbXMgb3Bjb2RlIGJpdHMgZm9yICVzIgorbXNnc3RyICJtYXNrIHRyaW1zIG9wa29rZGUgYml0IHVudHVrICVzIgorCisjOiBjb25maWcvdGMtcHBjLmM6MTM5NworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYW5kIGluZGV4IGVycm9yIGZvciAlcyIKK21zZ3N0ciAib3BlcmFuIGluZGVrcyBlcnJvciB1bnR1ayAlcyIKKworIzogY29uZmlnL3RjLXBwYy5jOjE0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmFuZCAlZCBvdmVybGFwIGluICVzIgorbXNnc3RyICJvcGVyYW4gJWQgdHVtcGFuZyB0aW5kaWggZGFsYW0gJXMiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoxNDUxCisjLCBjLWZvcm1hdAorbXNnaWQgImR1cGxpY2F0ZSBpbnN0cnVjdGlvbiAlcyIKK21zZ3N0ciAiZHVwbGlrYXNpIGluc3RydWtzaSAlcyIKKworIzogY29uZmlnL3RjLXBwYy5jOjE0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHVwbGljYXRlIG1hY3JvICVzIgorbXNnc3RyICJkdXBsaWthc2kgbWFrcm8gJXMiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoxODEwCittc2dpZCAiaWRlbnRpZmllcitjb25zdGFudEBnb3QgbWVhbnMgaWRlbnRpZmllckBnb3QrY29uc3RhbnQiCittc2dzdHIgImlkZW50aWZpZXIrY29uc3RhbnRAZ290IGJlcmFydGkgaWRlbnRpZmllckBnb3QrY29uc3RhbnQiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoxODc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlbG9jYXRpb25zIGRvIG5vdCBmaXQgaW4gJWQgYnl0ZXNcbiIKK21zZ3N0ciAiJXMgcmVsb2thc2kgdGlkYWsgY3VrdXAgZGFsYW0gJWQgYnl0ZXNcbiIKKworIzogY29uZmlnL3RjLXBwYy5jOjE5ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGVuZ3RoIG9mIC5sY29tbSBcIiVzXCIgaXMgYWxyZWFkeSAlbGQuIE5vdCBjaGFuZ2VkIHRvICVsZC4iCittc2dzdHIgIlBhbmphbmcgZGFyaSAubGNvbW0gXCIlc1wiIHRlbGFoICVsZC4gVGlkYWsgZGl1YmFoIGtlICVsZC4iCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoyMDYxCittc2dpZCAiUmVsb2NhdGlvbiBjYW5ub3QgYmUgZG9uZSB3aGVuIHVzaW5nIC1tcmVsb2NhdGFibGUiCittc2dzdHIgIlJlbG9rYXNpIHRpZGFrIGRhcGF0IGRpbGFrdWthbiBrZXRpa2EgbWVuZ2d1bmFrYW4gLW1yZWxvY2F0YWJsZSIKKworIzogY29uZmlnL3RjLXBwYy5jOjIxMTAKK21zZ2lkICJUT0Mgc2VjdGlvbiBzaXplIGV4Y2VlZHMgNjRrIgorbXNnc3RyICJUT0Mgc2VjdGlvbiBzaXplIG1lbGViaWhpIDY0ayIKKworIzogY29uZmlnL3RjLXBwYy5jOjIxOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIHRvYyBzcGVjaWZpZXIgYCVzJyIKK21zZ3N0ciAic2ludGFrcyBlcnJvOiBpbnZhbGlkIHRvYyBzcGVjaWZpZXIgYCVzJyIKKworIzogY29uZmlnL3RjLXBwYy5jOjIyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ludGF4IGVycm9yOiBleHBlY3RlZCBgXScsIGZvdW5kICBgJWMnIgorbXNnc3RyICJzaW50YWtzIGVycm9yOiBkaWR1Z2EgYF0nLCAgZGl0ZW11a2FuIGAlYyciCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoyNDgyCittc2dpZCAiW3RvY3ZdIHN5bWJvbCBpcyBub3QgYSB0b2Mgc3ltYm9sIgorbXNnc3RyICJbdG9jdl0gc2ltYm9sIGJ1a2FuIHNlYnVhaCB0b2Mgc2ltYm9sIgorCisjOiBjb25maWcvdGMtcHBjLmM6MjQ5MworbXNnaWQgIlVuaW1wbGVtZW50ZWQgdG9jMzIgZXhwcmVzc2lvbiBtb2RpZmllciIKK21zZ3N0ciAiVGlkYWsgdGVyaW1wbGVtZW50YXNpIHRvYyBla3NwcmVzaSBtb2RpZmllciIKKworIzogY29uZmlnL3RjLXBwYy5jOjI0OTgKK21zZ2lkICJVbmltcGxlbWVudGVkIHRvYzY0IGV4cHJlc3Npb24gbW9kaWZpZXIiCittc2dzdHIgIlRpZGFrIHRlcmltcGxlbWVudGFzaSB0b2M2NCBla3NwcmVzaSBtb2RpZmllciIKKworIzogY29uZmlnL3RjLXBwYy5jOjI1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXR1cm4gdmFsdWUgWyVkXSBmcm9tIHBhcnNlX3RvY19lbnRyeSFcbiIKK21zZ3N0ciAiVGlkYWsgZGlkdWdhIG5pbGFpIGtlbWJhbGkgWyVkXSBkYXJpIHBhcnNlX3RvY19lbnRyeSFcbiIKKworIzogY29uZmlnL3RjLXBwYy5jOjI3MjcKK21zZ2lkICJ1bnN1cHBvcnRlZCByZWxvY2F0aW9uIGZvciBEUyBvZmZzZXQgZmllbGQiCittc2dzdHIgInJlbG9rYXNpIHRpZGFrIGRpZHVrdW5nIHVudHVrIERTIG9mc2V0IGZpZWxkIgorCisjOiBjb25maWcvdGMtcHBjLmM6Mjc3OQorIywgYy1mb3JtYXQKK21zZ2lkICJzeW50YXggZXJyb3I7IGZvdW5kIGAlYycgYnV0IGV4cGVjdGVkIGAlYyciCittc2dzdHIgInNpbnRha3MgZXJyb3I7IGRpdGVtdWthbiBgJWMnIHRldGFwaSBkaWR1Z2EgYCVjJyIKKworIzogY29uZmlnL3RjLXBwYy5jOjI4MjIgY29uZmlnL3RjLXBwYy5oOjk0Cittc2dpZCAiaW5zdHJ1Y3Rpb24gYWRkcmVzcyBpcyBub3QgYSBtdWx0aXBsZSBvZiA0IgorbXNnc3RyICJhbGFtYXQgaW5zdHJ1a3NpIGJ1a2FuIGtlbGlwYXRhbiBkYXJpIDQiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoyOTMxCittc2dpZCAid3JvbmcgbnVtYmVyIG9mIG9wZXJhbmRzIgorbXNnc3RyICJqdW1sYWggZGFyaSBvcGVyYW4gc2FsYWgiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzoyOTg1Cittc2dpZCAiQmFkIC5zZWN0aW9uIGRpcmVjdGl2ZTogd2FudCBhLGUsdyx4LE0sUyxHLFQgaW4gc3RyaW5nIgorbXNnc3RyICJEaXJla3RpZiAuc2VjdGlvbiBidXJ1azogZGlpbmdpbmthbiBkYWxhbSBzdHJpbmcgYSxlLHcseCxNLFMsRyxUIgorCisjOiBjb25maWcvdGMtcHBjLmM6MzA5MQorbXNnaWQgIm1pc3Npbmcgc2l6ZSIKK21zZ3N0ciAiaGlsYW5nIHVrdXJhbiIKKworIzogY29uZmlnL3RjLXBwYy5jOjMxMDAKK21zZ2lkICJuZWdhdGl2ZSBzaXplIgorbXNnc3RyICJ1a3VyYW4gbmVnYXRpZiIKKworIzogY29uZmlnL3RjLXBwYy5jOjMxMzcKK21zZ2lkICJtaXNzaW5nIHJlYWwgc3ltYm9sIG5hbWUiCittc2dzdHIgImhpbGFuZyBuYW1hIHNpbWJvbCByaWwiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzozMTU4Cittc2dpZCAiYXR0ZW1wdCB0byByZWRlZmluZSBzeW1ib2wiCittc2dzdHIgIm1lbmNvYmEgdW50dWsgbWVyZWRlZmluaXNpIHNpbWJvbCIKKworIzogY29uZmlnL3RjLXBwYy5jOjM0MDAKK21zZ2lkICJUaGUgWENPRkYgZmlsZSBmb3JtYXQgZG9lcyBub3Qgc3VwcG9ydCBhcmJpdHJhcnkgc2VjdGlvbnMiCittc2dzdHIgIkZvcm1hdCBiZXJrYXMgWENPRkYgdGlkYWsgZGlkdWt1bmcgZGFsYW0gYmViZXJhcGEgYmFnaWFuIgorCisjOiBjb25maWcvdGMtcHBjLmM6MzQ3NAorbXNnaWQgIm1pc3NpbmcgcmVuYW1lIHN0cmluZyIKK21zZ3N0ciAiaGlsYW5nIHN0cmluZyBwZW5ndWJhaCBuYW1hIgorCisjOiBjb25maWcvdGMtcHBjLmM6MzUwNCBjb25maWcvdGMtcHBjLmM6NDA0NiByZWFkLmM6MzI3MAorbXNnaWQgIm1pc3NpbmcgdmFsdWUiCittc2dzdHIgImhpbGFuZyBuaWxhaSIKKworIzogY29uZmlnL3RjLXBwYy5jOjM1MjIKK21zZ2lkICJpbGxlZ2FsIC5zdGFieCBleHByZXNzaW9uOyB6ZXJvIGFzc3VtZWQiCittc2dzdHIgInBlcm55YXRhYW4gLnN0YWJ4IHRpZGFrIGxlZ2FsOyBkaWFzdW1zaWthbiBub2wiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzozNTU0Cittc2dpZCAibWlzc2luZyBjbGFzcyIKK21zZ3N0ciAiaGlsYW5nIGtlbGFzIgorCisjOiBjb25maWcvdGMtcHBjLmM6MzU2MworbXNnaWQgIm1pc3NpbmcgdHlwZSIKK21zZ3N0ciAiaGlsYW5nIHRpcGUiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzozNjQzCittc2dpZCAibWlzc2luZyBzeW1ib2wgbmFtZSIKK21zZ3N0ciAiaGlsYW5nIG5hbWEgc2ltYm9sIgorCisjOiBjb25maWcvdGMtcHBjLmM6MzgzMworbXNnaWQgIm5lc3RlZCAuYnMgYmxvY2tzIgorbXNnc3RyICJuZXN0ZWQgLmJzIGJsb2siCisKKyM6IGNvbmZpZy90Yy1wcGMuYzozODY1Cittc2dpZCAiLmVzIHdpdGhvdXQgcHJlY2VkaW5nIC5icyIKK21zZ3N0ciAiLmVzIHRhbnBhIGRpYXdhbGkgLmJzIgorCisjOiBjb25maWcvdGMtcHBjLmM6NDAzOAorbXNnaWQgIm5vbi1jb25zdGFudCBieXRlIGNvdW50IgorbXNnc3RyICJidWthbi1rb25zdGFudGEgYnl0ZSBkaWhpdHVuZyIKKworIzogY29uZmlnL3RjLXBwYy5jOjQwODUKK21zZ2lkICIudGMgbm90IGluIC50b2Mgc2VjdGlvbiIKK21zZ3N0ciAiLnRjIHRpZGFrIGRhbGFtIGRhZXJhaCAudG9jIgorCisjOiBjb25maWcvdGMtcHBjLmM6NDEwNAorbXNnaWQgIi50YyB3aXRoIG5vIGxhYmVsIgorbXNnc3RyICIudGMgdGFucGEgbGFiZWwiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzo0MTk2Cittc2dpZCAiLm1hY2hpbmUgc3RhY2sgb3ZlcmZsb3ciCittc2dzdHIgIi4ubWFjaGluZSBzdGFjayBvdmVyZmxvdyIKKworIzogY29uZmlnL3RjLXBwYy5jOjQyMDMKK21zZ2lkICIubWFjaGluZSBzdGFjayB1bmRlcmZsb3ciCittc2dzdHIgIi5tYWNoaW5lIHN0YWNrIHVuZGVyZmxvdyIKKworIzogY29uZmlnL3RjLXBwYy5jOjQyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBtYWNoaW5lIGAlcyciCittc2dzdHIgIm1hY2hpbmUgYCVzJyB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXBwYy5jOjQyNjEKK21zZ2lkICJObyBwcmV2aW91cyBzZWN0aW9uIHRvIHJldHVybiB0by4gRGlyZWN0aXZlIGlnbm9yZWQuIgorbXNnc3RyICJUaWRhayBhZGEgYmFnaWFuIHNlYmVsdW1ueWEga2VtYmFsaSBrZS4gRGlyZWt0aWYgZGlhYmFpa2FuLiIKKworIy4gU2VjdGlvbiBDb250ZW50cworIy4gdW5rbm93bgorIzogY29uZmlnL3RjLXBwYy5jOjQ2NzEKK21zZ2lkICJVbnN1cHBvcnRlZCBzZWN0aW9uIGF0dHJpYnV0ZSAtLSAnYSciCittc2dzdHIgIkF0cmlidXQgZGFlcmFoIHRpZGFrIGRpZHVrdW5nIC0tICdhJyIKKworIzogY29uZmlnL3RjLXBwYy5jOjQ4NTUKK21zZ2lkICJiYWQgc3ltYm9sIHN1ZmZpeCIKK21zZ3N0ciAiYWtoaXJhbiBzaW1ib2wgYnVydWsiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzo0OTQ3Cittc2dpZCAiVW5yZWNvZ25pemVkIHN5bWJvbCBzdWZmaXgiCittc2dzdHIgIkFraGlyYW4gc2ltYm9sIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzo1MDM1Cittc2dpZCAidHdvIC5mdW5jdGlvbiBwc2V1ZG8tb3BzIHdpdGggbm8gaW50ZXJ2ZW5pbmcgLmVmIgorbXNnc3RyICJkdWEgLmZ1bmN0aW9uIHBzZXVkby1vcHMgdGFucGEgaW50ZXJ2ZW5pbmcgLmVmIgorCisjOiBjb25maWcvdGMtcHBjLmM6NTA0OAorbXNnaWQgIi5lZiB3aXRoIG5vIHByZWNlZGluZyAuZnVuY3Rpb24iCittc2dzdHIgIi5lZiB0YW5wYSBkaWF3YWxpIC5mdW5jdGlvbiIKKworIzogY29uZmlnL3RjLXBwYy5jOjUxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogc3ltYm9sICVzIGhhcyBubyBjc2VjdCIKK21zZ3N0ciAicGVyaW5nYXRhbjogc2ltYm9sICVzIHRpZGFrIG1lbWlsaWtpIGNzZWN0IgorCisjOiBjb25maWcvdGMtcHBjLmM6NTQyMQorbXNnaWQgInN5bWJvbCBpbiAudG9jIGRvZXMgbm90IG1hdGNoIGFueSAudGMiCittc2dzdHIgInNpbWJvbCBkYWxhbSAudG9jIHRpZGFrIGNvY29rIGRlbmdhbiAudGMgYXBhcHVuIgorCisjOiBjb25maWcvdGMtcHBjLmM6NTc4OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCByZWxvY2F0aW9uIGFnYWluc3QgJXMiCittc2dzdHIgInJlbG9rYXNpIHRlcmhhZGFwICVzIHRpZGFrIGRpZHVrdW5nIgorCisjOiBjb25maWcvdGMtcHBjLmM6NTg2MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZW1pdCBQQyByZWxhdGl2ZSAlcyByZWxvY2F0aW9uIGFnYWluc3QgJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdlbHVhcmthbiByZWxva2FzaSAlcyBQQyByZWxhdGlmIHRlcmhhZGFwICVzIgorCisjOiBjb25maWcvdGMtcHBjLmM6NTg2NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZW1pdCBQQyByZWxhdGl2ZSAlcyByZWxvY2F0aW9uIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5nZWx1YXJrYW4gcmVsb2thc2kgJXMgUEMgcmVsYXRpZiIKKworIzogY29uZmlnL3RjLXBwYy5jOjYwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGhhbmRsZSByZWZlcmVuY2UgdG8gc3ltYm9sICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5hbmdhbmkgcmVmZXJlbnNpIGtlIHNpbWJvbCAlcyIKKworIzogY29uZmlnL3RjLXBwYy5jOjYwNTIKK21zZ2lkICJVbmFibGUgdG8gcmVzb2x2ZSBleHByZXNzaW9uIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW55ZWxlc2Fpa2FuIHBlcm55YXRhYW4iCisKKyM6IGNvbmZpZy90Yy1wcGMuYzo2MDc5Cittc2dpZCAibXVzdCBicmFuY2ggdG8gYW4gYWRkcmVzcyBhIG11bHRpcGxlIG9mIDQiCittc2dzdHIgImhhcnVzIGJlcmNhYmFuZyBrZSBzZWJ1YWggYWxhbWF0IGtlbGlwYXRhbiBkYXJpIDQiCisKKyM6IGNvbmZpZy90Yy1wcGMuYzo2MDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkBsb2NhbCBvciBAcGx0IGJyYW5jaCBkZXN0aW5hdGlvbiBpcyB0b28gZmFyIGF3YXksICVsZCBieXRlcyIKK21zZ3N0ciAiQGxvY2FsIGF0YXUgQHBsdCBjYWJhbmcgdHVqdWFuIGFkYWxhaCB0ZXJsYWx1IGphdWgsICVsZCBieXRlcyIKKworIzogY29uZmlnL3RjLXBwYy5jOjYxMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2FzIGZhaWx1cmUsIHJlbG9jIHZhbHVlICVkXG4iCittc2dzdHIgIkdhcyBnYWdhbCwgbmlsYWkgcmVsb2thc2kgJWRcbiIKKworIzogY29uZmlnL3RjLXMzOTAuYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgICAgUzM5MCBvcHRpb25zOlxuIgorIiAgICAgICAgLW1yZWduYW1lcyAgICAgICAgQWxsb3cgc3ltYm9saWMgbmFtZXMgZm9yIHJlZ2lzdGVyc1xuIgorIiAgICAgICAgLW13YXJuLWFyZWctemVybyAgV2FybiBhYm91dCB6ZXJvIGJhc2UvaW5kZXggcmVnaXN0ZXJzXG4iCisiICAgICAgICAtbW5vLXJlZ25hbWVzICAgICBEbyBub3QgYWxsb3cgc3ltYm9saWMgbmFtZXMgZm9yIHJlZ2lzdGVyc1xuIgorIiAgICAgICAgLW0zMSAgICAgICAgICAgICAgU2V0IGZpbGUgZm9ybWF0IHRvIDMxIGJpdCBmb3JtYXRcbiIKKyIgICAgICAgIC1tNjQgICAgICAgICAgICAgIFNldCBmaWxlIGZvcm1hdCB0byA2NCBiaXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgICAgICAgIG9wc2kgUzM5MDpcbiIKKyIgICAgICAgIC1tcmVnbmFtZXMgICAgICAgIElqaW5rYW4gbmFtYSBzaW1ib2xpayB1bnR1ayByZWdpc3RlclxuIgorIiAgICAgICAgLW13YXJuLWFyZWctemVybyAgUGVyaW5nYXRrYW4gbWVuZ2VuYWkgcmVnaXN0ZXIgZGFzYXIvaW5kZWtzIG5vbFxuIgorIiAgICAgICAgLW1uby1yZWduYW1lcyAgICAgSmFuZ2FuIGlqaW5rYW4gbmFtYSBzaW1ib2xpayB1bnR1ayByZWdpc3RlclxuIgorIiAgICAgICAgLW0zMSAgICAgICAgICAgICAgU2V0IGJlcmthcyBmb3JtYXQga2UgZm9ybWF0IDMxIGJpdFxuIgorIiAgICAgICAgLW02NCAgICAgICAgICAgICAgU2V0IGJlcmthcyBmb3JtYXQga2UgZm9ybWF0IDY0IGJpdFxuIgorCisjOiBjb25maWcvdGMtczM5MC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAgICAtViAgICAgICAgICAgICAgICBwcmludCBhc3NlbWJsZXIgdmVyc2lvbiBudW1iZXJcbiIKKyIgICAgICAgIC1ReSwgLVFuICAgICAgICAgIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIiAgICAgICAgLVYgICAgICAgICAgICAgICAgdGFtcGlsa2FuIG5vbW9yIHZlcnNpIHBlcmFraXRcbiIKKyIgICAgICAgIC1ReSwgLVFuICAgICAgICAgIGRpYWJhaWthblxuIgorCisjOiBjb25maWcvdGMtczM5MC5jOjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcm5hbCBhc3NlbWJsZXIgZXJyb3IgZm9yIGluc3RydWN0aW9uIGZvcm1hdCAlcyIKK21zZ3N0ciAiSW50ZXJuYWwgcGVyYWtpdCBlcnJvciB1bnR1ayBmb3JtYXQgaW5zdHJ1a3NpICVzIgorCisjOiBjb25maWcvdGMtczM5MC5jOjUxMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcm5hbCBhc3NlbWJsZXIgZXJyb3IgZm9yIGluc3RydWN0aW9uICVzIgorbXNnc3RyICJJbnRlcm5hbCBwZXJha2l0IGVycm9yIHVudHVrIGluc3RydWtzaSAlcyIKKworIzogY29uZmlnL3RjLXMzOTAuYzo3NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWRlbnRpZmllcitjb25zdGFudEAlcyBtZWFucyBpZGVudGlmaWVyQCVzK2NvbnN0YW50IgorbXNnc3RyICJpZGVudGlmaWVyK2NvbnN0YW50QCVzIGJlcmFydGkgaWRlbnRpZmllckAlcytjb25zdGFudCIKKworIzogY29uZmlnL3RjLXMzOTAuYzo4MjUKK21zZ2lkICJDYW4ndCBoYW5kbGUgT19iaWcgaW4gczM5MF9leHBfY29tcGFyZSIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuYW5nYW5pIE9fYmlnIGRhbGFtIHMzOTBfZXhwX2NvbXBhcmUiCisKKyM6IGNvbmZpZy90Yy1zMzkwLmM6OTA2Cittc2dpZCAiSW52YWxpZCBzdWZmaXggZm9yIGxpdGVyYWwgcG9vbCBlbnRyeSIKK21zZ3N0ciAiQWtoaXJhbiB0aWRhayB2YWxpZCB1bnR1ayBtYXN1a2FuIGxpdGVyYWwgcG9vbCIKKworIzogY29uZmlnL3RjLXMzOTAuYzo5NjMKK21zZ2lkICJCaWcgbnVtYmVyIGlzIHRvbyBiaWciCittc2dzdHIgIkJpZyBudW1iZXIgdGVybGFsdSBiZXNhciIKKworIzogY29uZmlnL3RjLXMzOTAuYzoxMTEwCittc2dpZCAicmVsb2NhdGlvbiBub3QgYXBwbGljYWJsZSIKK21zZ3N0ciAicmVsb2thc2kgdGlkYWsgYmlzYSBkaWxha3VrYW4iCisKKyM6IGNvbmZpZy90Yy1zMzkwLmM6MTI5NworbXNnaWQgImludmFsaWQgb3BlcmFuZCBzdWZmaXgiCittc2dzdHIgImFraGlyYSBvcGVyYW4gdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1zMzkwLmM6MTMyMAorbXNnaWQgInN5bnRheCBlcnJvcjsgbWlzc2luZyAnKCcgYWZ0ZXIgZGlzcGxhY2VtZW50IgorbXNnc3RyICJzaW50YWtzIGVycm9yOiBoaWxhbmcgJygnIHNldGVsYWggZGlzcGxhY2VtZW4iCisKKyM6IGNvbmZpZy90Yy1zMzkwLmM6MTMzNiBjb25maWcvdGMtczM5MC5jOjEzODAgY29uZmlnL3RjLXMzOTAuYzoxNDEwCittc2dpZCAic3ludGF4IGVycm9yOyBleHBlY3RlZCAsIgorbXNnc3RyICJzaW50YWtzIGVycm9yOyBkaWR1Z2EgLCIKKworIzogY29uZmlnL3RjLXMzOTAuYzoxMzY4Cittc2dpZCAic3ludGF4IGVycm9yOyBtaXNzaW5nICcpJyBhZnRlciBiYXNlIHJlZ2lzdGVyIgorbXNnc3RyICJzaW50YWtzIGVycm9yOiBoaWxhbmcgJyknIHNldGVsYWggcmVnaXN0ZXIgZGFzYXIiCisKKyM6IGNvbmZpZy90Yy1zMzkwLmM6MTM5NworbXNnaWQgInN5bnRheCBlcnJvcjsgJyknIG5vdCBhbGxvd2VkIGhlcmUiCittc2dzdHIgInNpbnRha3MgZXJyb3I7ICcpJyB0aWRhayBkaWlqaW5rYW4gZGlzaW5pIgorCisjOiBjb25maWcvdGMtczM5MC5jOjE1ODcgY29uZmlnL3RjLXMzOTAuYzoxNjEwIGNvbmZpZy90Yy1zMzkwLmM6MTYyMworbXNnaWQgIkludmFsaWQgLmluc24gZm9ybWF0XG4iCittc2dzdHIgIkZvcm1hdCAuaW5zbiB0aWRhayB2YWxpZFxuIgorCisjOiBjb25maWcvdGMtczM5MC5jOjE1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5yZWNvZ25pemVkIG9wY29kZSBmb3JtYXQ6IGAlcyciCittc2dzdHIgIkZvcm1hdCBvcGtvZGUgdGlkYWsgZGlrZW5hbDogYCVzJyIKKworIzogY29uZmlnL3RjLXMzOTAuYzoxNjI2Cittc2dpZCAic2Vjb25kIG9wZXJhbmQgb2YgLmluc24gbm90IGEgY29uc3RhbnRcbiIKK21zZ3N0ciAib3BlcmFuIGtlZHVhIGRhcmkgLmluc24gdGlkYWsgYmVydXBhIGtvbnN0YW50YVxuIgorCisjOiBjb25maWcvdGMtczM5MC5jOjE2MjkKK21zZ2lkICJtaXNzaW5nIGNvbW1hIGFmdGVyIGluc24gY29uc3RhbnRcbiIKK21zZ3N0ciAiaGlsYW5nIGtvbWEgc2V0ZWxhaCBrb25zdGFudGEgaW5zblxuIgorCisjOiBjb25maWcvdGMtczM5MC5jOjIwMDkKK21zZ2lkICJ1bnN1cHBvcnRlZCByZWxvY2F0aW9uIHR5cGUiCittc2dzdHIgInRpcGUgcmVsb2thc2kgdGlkYWsgZGlkdWt1bmciCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjQ5Cittc2dpZCAiaW5zdHJ1Y3Rpb24gaXMgbm90IGNvbmRpdGlvbmFsIgorbXNnc3RyICJpbnN0cnVrc2kgdGlkYWsga29uZGlzaW9uYWwiCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjUwCittc2dpZCAiYWNjMCBleHBlY3RlZCIKK21zZ3N0ciAiYWNjMCBkaWR1Z2EiCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjUxCittc2dpZCAiZGl2IC8gbXVsIGFyZSByZXNlcnZlZCBpbnN0cnVjdGlvbnMiCittc2dzdHIgImRpdiAvIG11bCByZXNlcnZlZCBpbnN0cnVrc2kiCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjUyCittc2dpZCAiVGhpcyBhcmNoaXRlY3R1cmUgZG9lc24ndCBzdXBwb3J0IG1tdSIKK21zZ3N0ciAiQXJzaXRla3R1ciBpbmkgdGlkYWsgbWVuZHVrdW5nIG1tdSIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6NTMKK21zZ2lkICJUaGlzIGFyY2hpdGVjdHVyZSBkb2Vzbid0IHN1cHBvcnQgYXRvbWljIGluc3RydWN0aW9uIgorbXNnc3RyICJBcnNpdGVrdHVyIGluaSB0aWRhayBtZW5kdWt1bmcgaW5zdHJ1a3NpIGF0b21pYyIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6NTQKK21zZ2lkICJ0aGUgbGFiZWwgbGVuZ3RoIGlzIGxvbmdlciB0aGFuIDEwMjQiCittc2dzdHIgInBhbmphbmcgbGFiZWwgbGViaWggcGFuamFuZyBkYXJpIDEwMjQiCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjIzMworbXNnaWQgIlMrY29yZSByZWdpc3RlciBleHBlY3RlZCIKK21zZ3N0ciAiUytjb3JlIHJlZ2lzdGVyIGRpZHVnYSIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6MjM0Cittc2dpZCAiUytjb3JlIHNwZWNpYWwtcmVnaXN0ZXIgZXhwZWN0ZWQiCittc2dzdHIgIlMrY29yZSBzcGVzaWFsLXJlZ2lzdGVyIGRpZHVnYSIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6MjM1Cittc2dpZCAiUytjb3JlIGNvLXByb2Nlc3NvciByZWdpc3RlciBleHBlY3RlZCIKK21zZ3N0ciAiUytjb3JlIGNvLXByb3Nlc29yIHJlZ2lzdGVyIGRpZHVnYSIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6ODUzIGNvbmZpZy90Yy1zY29yZS5jOjE3NTMKK21zZ2lkICJVc2luZyB0ZW1wIHJlZ2lzdGVyKHIxKSIKK21zZ3N0ciAiTWVuZ2d1bmFrYW4gdGVtcCByZWdpc3RlciAocjEpIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzo4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVnaXN0ZXIgZXhwZWN0ZWQsIG5vdCAnJS4xMDBzJyIKK21zZ3N0ciAicmVnaXN0ZXIgZGlkdWdhLCBidWthbiAnJS4xMDBzJyIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6MTI1OCBjb25maWcvdGMtc2NvcmUuYzoxMjY1IGNvbmZpZy90Yy1zY29yZS5jOjI2NDAKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjI2NDUgY29uZmlnL3RjLXNjb3JlLmM6MjkyMyBjb25maWcvdGMtc2NvcmUuYzoyOTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29uc3RhbnQ6ICVkIGJpdCBleHByZXNzaW9uIG5vdCBpbiByYW5nZSAlZC4uJWQiCittc2dzdHIgImtvbnN0YW50YSB0aWRhayB2YWxpZDogJWQgYml0IGVrc3ByZXNpIHRpZGFrIGRhbGFtIGphbmdrYXVhbiAlZC4uJWQiCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjEzMDUKK21zZ2lkICJpbnZhbGlkIGNvbnN0YW50OiBiaXQgZXhwcmVzc2lvbiBub3QgZGVmaW5lZCIKK21zZ3N0ciAia29uc3RhbnRhIHRpZGFrIHZhbGlkOiBiaXQgZWtzcHJlc2kgdGlkYWsgdGVyZGVmaW5pc2kiCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjE3NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibG93IHJlZ2lzdGVyKHIwLXIxNSlleHBlY3RlZCwgbm90ICclLjEwMHMnIgorbXNnc3RyICJsb3cgcmVnaXN0ZXIgKHIwLXIxNSkgZGlkdWdhLCBidWthbiAnJS4xMDBzJyIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6MTg2MgorIywgYy1mb3JtYXQKK21zZ2lkICJoaWdoIHJlZ2lzdGVyKHIxNi1yMzEpZXhwZWN0ZWQsIG5vdCAnJS4xMDBzJyIKK21zZ3N0ciAiaGlnaCByZWdpc3RlcihyMTYtcjMxKSBkaWR1Z2EsIGJ1a2FuICclLjEwMHMnIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzoyMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpeCBkYXRhIGRlcGVuZGVuY3k6ICVzICVzIC0tICVzICVzICAoaW5zZXJ0ICVkIG5vcCEvJWQpIgorbXNnc3RyICJtZW1iZXR1bGthbiBrZXRlcmdhbnR1bmdhbiBkYXRhOiAlcyAlcyAtLSAlcyAlcyAobWVtYXN1a2FuICVkIG5vcCEvJWQpIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzoyMTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpeCBkYXRhIGRlcGVuZGVuY3k6ICVzICVzIC0tICVzICVzICAoaW5zZXJ0IDEgcGZsdXNoLyVkKSIKK21zZ3N0ciAiTWVtYmV0dWxrYW4ga2V0ZXJnYW50dW5nYW4gZGF0YTogJXMgJXMgLS0gJXMgJXMgKG1hc3VrYW4gMSBwZmx1c2gvJWQpIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzoyMTI5IGNvbmZpZy90Yy1zY29yZS5jOjIxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGF0YSBkZXBlbmRlbmN5OiAlcyAlcyAtLSAlcyAlcyAgKCVkLyVkIGJ1YmJsZSkiCittc2dzdHIgImtldGVyZ2FudHVuZ2FuIGRhdGE6ICVzICVzIC0tICVzICVzICglZC8lZCBidWJibGUpIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzoyNDI2IGNvbmZpZy90Yy1zY29yZS5jOjU1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgLS0gYCVzJyIKK21zZ3N0ciAiJXMgLS0gJyVzJyIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6MjU4MworbXNnaWQgImFkZHJlc3Mgb2Zmc2V0IG11c3QgYmUgaGFsZiB3b3JkIGFsaWdubWVudCIKK21zZ3N0ciAiYWxhbWF0IG9mc2V0IGhhcnVzIHNldGVuZ2FoIGRhcmkgYWxpZ25tZW4ga2F0YSIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6MjU5MQorbXNnaWQgImFkZHJlc3Mgb2Zmc2V0IG11c3QgYmUgd29yZCBhbGlnbm1lbnQiCittc2dzdHIgImFsYW1hdCBvZnNldCBoYXJ1cyB3b3JkIGFsaWdubWVuIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzoyNzMzIGNvbmZpZy90Yy1zY29yZS5jOjI4ODAKK21zZ2lkICJyZWdpc3RlciBzYW1lIGFzIHdyaXRlLWJhY2sgYmFzZSIKK21zZ3N0ciAicmVnaXN0ZXIgc2FtYSBzZXBlcnRpIHdyaXRlLWJhY2sgYmFzZSIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6Mjg1MAorbXNnaWQgInByZS1pbmRleGVkIGV4cHJlc3Npb24gZXhwZWN0ZWQiCittc2dzdHIgInByZS1pbmRla3MgZWtzcHJlc2kgZGlkdWdhIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzoyODYwIGNvbmZpZy90Yy1zY29yZS5jOjMyMTggY29uZmlnL3RjLXNjb3JlLmM6MzIzNAorIzogY29uZmlnL3RjLXNjb3JlLmM6MzMwNSBjb25maWcvdGMtc2NvcmUuYzozMzQ4IGNvbmZpZy90Yy1zY29yZS5jOjM0NzAKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjM1NDQgY29uZmlnL3RjLXNjb3JlLmM6MzU5OCBjb25maWcvdGMtc2NvcmUuYzozNjQ0Cittc2dpZCAibWlzc2luZyBdIgorbXNnc3RyICJoaWxhbmcgXSIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6MzQ2MQorbXNnaWQgImJhc2UgcmVnaXN0ZXIgbnVtcyBhcmUgb3ZlciAzIGJpdCIKK21zZ3N0ciAibm9tb3IgcmVnaXN0ZXIgZGFzYXIgbGViaWggZGFyaSAzIGJpdCIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6MzUzOCBjb25maWcvdGMtc2NvcmUuYzozNTg5Cittc2dpZCAibWlzc2luZyArIgorbXNnc3RyICJoaWxhbmcgKyIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6MzU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZWdpc3RlciBzYW1lIGFzIHdyaXRlLWJhY2sgYmFzZSIKK21zZ3N0ciAiJXMgcmVnaXN0ZXIgc2FtYSBzZXBlcnRpIGRhc2FyIHdyaXRlLWJhY2siCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjM1ODQKK21zZ2lkICJkZXN0aW5hdGlvbiIKK21zZ3N0ciAidHVqdWFuIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzozNTg0Cittc2dpZCAic291cmNlIgorbXNnc3RyICJhc2FsIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzozOTg4Cittc2dpZCAibGkgcmQgbGFiZWwgaXNuJ3QgY29ycmVjdCBpbnN0cnVjdGlvbiBmb3JtIgorbXNnc3RyICJsaSByZCBsYWJlbCB0aWRhayBkYWxhbSBiZW50dWsgaW5zdHJ1a3NpIHlhbmcgYmVuYXIiCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjQ1MDEgY29uZmlnL3RjLXNjb3JlLmM6NDUzMCBjb25maWcvdGMtc2NvcmUuYzo0NTU2Cittc2dpZCAibGFja2luZyBsYWJlbCAgIgorbXNnc3RyICJrdXJhbmcgbGFiZWwgICIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6NDUwOAorbXNnaWQgImludmFsaWQgY29uc3RhbnQ6IDI1IGJpdCBleHByZXNzaW9uIG5vdCBpbiByYW5nZSAtMl4yNC4uMl4yNCIKK21zZ3N0ciAia29uc3RhbnRhIHRpZGFrIHZhbGlkOiBla3NwcmVzaSAyNSBiaXQgdGlkYWsgZGFsYW0gamFuZ2thdWFuIC0yXjI0Li4yXjI0IgorCisjOiBjb25maWcvdGMtc2NvcmUuYzo0NTM2Cittc2dpZCAiaW52YWxpZCBjb25zdGFudDogMTIgYml0IGV4cHJlc3Npb24gbm90IGluIHJhbmdlIC0yXjExLi4yXjExIgorbXNnc3RyICJrb25zdGFudGEgdGlkYWsgdmFsaWQ6IGVrc3ByZXNpIDEyIGJpdCB0aWRhayBkYWxhbSBqYW5na2F1YW4gLTJeMTEuLjJeMTEiCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjQ1NjIKK21zZ2lkICJpbnZhbGlkIGNvbnN0YW50OiAyMCBiaXQgZXhwcmVzc2lvbiBub3QgaW4gcmFuZ2UgLTJeMTkuLjJeMTkiCittc2dzdHIgImtvbnN0YW50YSB0aWRhayB2YWxpZDogMjAgZWtzcHJlc2kgdGlkYWsgZGFsYW0gamFuZ2thdWFuIC0yXjE5Li4yXjE5IgorCisjOiBjb25maWcvdGMtc2NvcmUuYzo0NTk1Cittc2dpZCAibGFja2luZyBsYWJlbCIKK21zZ3N0ciAia3VyYW5nIGxhYmVsIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzo0NjAwCittc2dpZCAiaW52YWxpZCBjb25zdGFudDogOSBiaXQgZXhwcmVzc2lvbiBub3QgaW4gcmFuZ2UgLTJeOC4uMl44IgorbXNnc3RyICJrb25zdGFudGEgdGlkYWsgdmFsaWQ6IDkgYml0IGVrc3ByZXNpIHRpZGFrIGRhbGFtIGphbmdrYXVhbiAtMl44Li4yXjgiCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjUyNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIGJyYW5jaCByZWxvY2F0aW9uIHRydW5jYXRlICgweCV4KSBbLTJeOCB+IDJeOF0iCittc2dzdHIgIiByZWxva2FzaSBjYWJhbmcgdGVycG90b25nICgweCV4KSBbLTJeOCB+IDJeOF0iCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjUyOTEgY29uZmlnL3RjLXNjb3JlLmM6NTMyMQorIywgYy1mb3JtYXQKK21zZ2lkICIgYnJhbmNoIHJlbG9jYXRpb24gdHJ1bmNhdGUgKDB4JXgpIFstMl4xOSB+IDJeMTldIgorbXNnc3RyICIgcmVsb2thc2kgY2FiYW5nIHRlcnBvdG9uZyAoMHgleCkgWy0yXjE5IH4gMl4xOV0iCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjUzNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIGJyYW5jaCByZWxvY2F0aW9uIHRydW5jYXRlICgweCV4KSAgWy0yXjggfiAyXjhdIgorbXNnc3RyICIgcmVsb2thc2kgY2FiYW5nIHRlcnBvdG9uZyAoMHgleCkgIFstMl44IH4gMl44XSIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6NTUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVwcmVzZW50ICVzIHJlbG9jYXRpb24gaW4gdGhpcyBvYmplY3QgZmlsZSBmb3JtYXQxIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZXJlcHJlc2VudGFzaWthbiByZWxva2FzaSAlcyBkYWxhbSBmb3JtYXQxIGJlcmthcyBvYmplayBpbmkiCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjU1NzAKK21zZ2lkICJwY2UgaW5zdHJ1Y3Rpb24gZXJyb3IgKDE2IGJpdCB8fCAxNiBiaXQpJyIKK21zZ3N0ciAiaW5zdHJ1a3NpIHBjZSBlcnJvICgxNiBiaXQgfHwgMTYgYml0KSciCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjU3MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VucGx1cy12Mi0wLTAtMjAwNjA1MTBcbiIKK21zZ3N0ciAiU3VucGx1cy12Mi0wLTAtMjAwNjA1MTBcbiIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6NTcxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgU2NvcmUtc3BlY2lmaWMgYXNzZW1ibGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIiBPcHNpIFNjb3JlLXNwZWNpZmljIHBlcmFraXQ6XG4iCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjU3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAtRUJcdFx0YXNzZW1ibGUgY29kZSBmb3IgYSBiaWctZW5kaWFuIGNwdVxuIgorbXNnc3RyICIgICAgICAgIC1FQlx0XHRyYWtpdCBrb2RlIHVudHVrIHNlYnVhaCBjcHUgYmlnIGVuZGlhblxuIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzo1NzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgLUVMXHRcdGFzc2VtYmxlIGNvZGUgZm9yIGEgbGl0dGxlLWVuZGlhbiBjcHVcbiIKK21zZ3N0ciAiICAgICAgICAtRUxcdFx0cmFraXQga29kZSB1bnR1ayBzZWJ1YWggY3B1IGxpdHRsZSBlbmRpYW5cbiIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6NTcyNworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIC1GSVhERFx0XHRhc3NlbWJsZSBjb2RlIGZvciBmaXggZGF0YSBkZXBlbmRlbmN5XG4iCittc2dzdHIgIiAgICAgICAgLUZJWEREXHRcdHJha2l0IGtvZGUgdW50dWsgbWVtYmV0dWxrYW4ga2V0ZXJnYW50dW5nYW4gZGF0YVxuIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzo1NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgLU5XQVJOXHRcdGFzc2VtYmxlIGNvZGUgZm9yIG5vIHdhcm5pbmcgbWVzc2FnZSBmb3IgZml4IGRhdGEgZGVwZW5kZW5jeVxuIgorbXNnc3RyICIgICAgICAgIC1OV0FSTlx0XHRyYWtpdCBrb2RlIHVudHVrIHRpZGFrIGFkYSBwZXNhbiBwZXJpbmdhdGFuIHVudHVrIG1lbWJldHVsa2FuIGtldGVyZ2FudHVuZ2FuIGRhdGFcbiIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6NTczMQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIC1TQ09SRTVcdFx0YXNzZW1ibGUgY29kZSBmb3IgdGFyZ2V0IGlzIFNDT1JFNVxuIgorbXNnc3RyICIgICAgICAgIC1TQ09SRTVcdFx0cmFraXQga29kZSB1bnR1ayB0YXJnZXQgYWRhbGFoIFNDT1JFNVxuIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzo1NzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgLVNDT1JFNVVcdGFzc2VtYmxlIGNvZGUgZm9yIHRhcmdldCBpcyBTQ09SRTVVXG4iCittc2dzdHIgIiAgICAgICAgLVNDT1JFNVVcdHJha2l0IGtvZGUgdW50dWsgdGFyZ2V0IGFkYWxhaCBTQ09SRTVVXG4iCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjU3MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAtU0NPUkU3XHRcdGFzc2VtYmxlIGNvZGUgZm9yIHRhcmdldCBpcyBTQ09SRTcsIHRoaXMgaXMgZGVmYXVsdCBzZXR0aW5nXG4iCittc2dzdHIgIiAgICAgICAgLVNDT1JFN1x0XHRyYWtpdCBrb2RlIHVudHVrIHRhcmdldCBhZGFsYWggU0NPUkU3LCBpbmkga29uZmlndXJhc2kgYmFrdVxuIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzo1NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgLVVTRV9SMVx0XHRhc3NlbWJsZSBjb2RlIGZvciBubyB3YXJuaW5nIG1lc3NhZ2Ugd2hlbiB1c2luZyB0ZW1wIHJlZ2lzdGVyIHIxXG4iCittc2dzdHIgIiAgICAgICAgLVVTRV9SMVx0XHRyYWtpdCBrb2RlIHVudHVrIHRpZGFrIGFkYSBwZXNhbiBwZXJpbmdhdGFuIGtldGlrYSBtZW5nZ3VuYWthbiByZWdpc3RlciBzZW1lbnRhcmEgcjFcbiIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6NTczOQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIC1LUElDXHRcdGFzc2VtYmxlIGNvZGUgZm9yIFBJQ1xuIgorbXNnc3RyICIgICAgICAgIC1LUElDXHRcdHJha2l0IGtvZGUgdW50dWsgUElDXG4iCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjU3NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAtTzBcdFx0YXNzZW1ibGVyIHdpbGwgbm90IHBlcmZvcm0gYW55IG9wdGltaXphdGlvbnNcbiIKK21zZ3N0ciAiICAgICAgICAtTzBcdFx0cGVyYWtpdCB0aWRhayBha2FuIG1lbGFrdWthbiBvcHRpbWlzYXNpIGFwYXB1blxuIgorCisjOiBjb25maWcvdGMtc2NvcmUuYzo1NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgLUcgZ3BudW1cdGFzc2VtYmxlIGNvZGUgZm9yIHNldHRpbmcgZ3BzaXplIGFuZCBkZWZhdWx0IGlzIDggYnl0ZVxuIgorbXNnc3RyICIgICAgICAgIC1HIGdwbnVtXHRyYWtpdCBrb2RlIHVudHVrIGtvbmZpZ3VyYXNpIGdwc2l6ZSBkYW4gYmFrdSBhZGFsYWggOCBieXRlXG4iCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjU3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAtViBcdFx0U3VucGx1cyByZWxlYXNlIHZlcnNpb24gXG4iCittc2dzdHIgIiAgICAgICAgLVYgXHRcdHZlcnNpIHJlbGVhc2UgU3VucGx1cyBcbiIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6NjM0NSByZWFkLmM6MTQ2NAorbXNnaWQgIm1pc3Npbmcgc2l6ZSBleHByZXNzaW9uIgorbXNnc3RyICJoaWxhbmcgdWt1cmFuIHBlcm55YXRhYW4iCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjYzNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQlNTIGxlbmd0aCAoJWQpIDwgMCBpZ25vcmVkIgorbXNnc3RyICJwYW5qYW5nIEJTUyAoJWQpIDwgMCBkaWFiYWlrYW4iCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjYzNjYgcmVhZC5jOjIyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igc2V0dGluZyBmbGFncyBmb3IgXCIuc2Jzc1wiOiAlcyIKK21zZ3N0ciAiZXJyb3IgbWVuc2V0IHRhbmRhIHVudHVrIFwiLnNic3NcIjogJXMiCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjYzODAgY29uZmlnL3RjLXNwYXJjLmM6MzY5MQorbXNnaWQgIm1pc3NpbmcgYWxpZ25tZW50IgorbXNnc3RyICJoaWxhbmcgYWxpZ25tZW4iCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjY0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxpZ25tZW50IHRvbyBsYXJnZTsgJWQgYXNzdW1lZCIKK21zZ3N0ciAiYWxpZ25tZW4gdGVybGFsdSBiZXNhcjsgJWQgZGlhc3Vtc2lrYW4iCisKKyM6IGNvbmZpZy90Yy1zY29yZS5jOjY0MjIgcmVhZC5jOjIzNDMKK21zZ2lkICJhbGlnbm1lbnQgbmVnYXRpdmU7IDAgYXNzdW1lZCIKK21zZ3N0ciAiYWxpZ25tZW4gbmVnYXRpZjsgMCBkaWFzdW1zaWthbiIKKworIzogY29uZmlnL3RjLXNjb3JlLmM6NjQ4OSBjb25maWcvdGMtejgwLmM6Mjg5IGVjb2ZmLmM6MzM1NSByZWFkLmM6MTQ4MworIzogcmVhZC5jOjE1OTYgcmVhZC5jOjI0NjAgcmVhZC5jOjMwMTIgcmVhZC5jOjMzOTcgc3ltYm9scy5jOjMyNiBzeW1ib2xzLmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWJvbCBgJXMnIGlzIGFscmVhZHkgZGVmaW5lZCIKK21zZ3N0ciAic2ltYm9sIGAlcycgdGVsYWggdGVyZGVmaW5pc2kiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjYzCittc2dpZCAiZGlyZWN0aXZlIC5iaWcgZW5jb3VudGVyZWQgd2hlbiBvcHRpb24gLWJpZyByZXF1aXJlZCIKK21zZ3N0ciAiZGlyZWt0aWYgLmJpZyBkaXRlbXVpIGtldGlrYSBvcHNpIC1iaWcgZGlidXR1aGthbiIKKworIzogY29uZmlnL3RjLXNoLmM6NzMKK21zZ2lkICJkaXJlY3RpdmUgLmxpdHRsZSBlbmNvdW50ZXJlZCB3aGVuIG9wdGlvbiAtbGl0dGxlIHJlcXVpcmVkIgorbXNnc3RyICJkaXJla3RpZiAubGl0dGxlIGRpdGVtdWkga2V0aWthIG9wc2kgLWxpdHRsZSBkaWJ1dHVoa2FuIgorCisjOiBjb25maWcvdGMtc2guYzoxMzY0Cittc2dpZCAibWlzcGxhY2VkIFBJQyBvcGVyYW5kIgorbXNnc3RyICJvcGVyYW4gUElDIHNhbGFoIHRlbXBhdCIKKworIzogY29uZmlnL3RjLXNoLmM6MTQwMgorbXNnaWQgImlsbGVnYWwgZG91YmxlIGluZGlyZWN0aW9uIgorbXNnc3RyICJ0aWRhayBsZWdhbCBkb3VibGUgaW5kaXJlY3Rpb24iCisKKyM6IGNvbmZpZy90Yy1zaC5jOjE0MTEKK21zZ2lkICJpbGxlZ2FsIHJlZ2lzdGVyIGFmdGVyIEAtIgorbXNnc3RyICJyZWdpc3RlciB0aWRhayBsZWdhbCBzZXRlbGFoIEAtIgorCisjOiBjb25maWcvdGMtc2guYzoxNDI3Cittc2dpZCAibXVzdCBiZSBAKHIwLC4uLikiCittc2dzdHIgImhhcnVzIEAocjAsLi4uKSIKKworIzogY29uZmlnL3RjLXNoLmM6MTQ1MQorbXNnaWQgInN5bnRheCBlcnJvciBpbiBAKHIwLC4uLikiCittc2dzdHIgInNpbnRha3MgZXJyb3IgZGFsYW0gQChyMCwuLi4pIgorCisjOiBjb25maWcvdGMtc2guYzoxNDU2Cittc2dpZCAic3ludGF4IGVycm9yIGluIEAocjAuLi4pIgorbXNnc3RyICJzaW50YWtzIGVycm9yIGRhbGFtIEAocjAuLi4pIgorCisjOiBjb25maWcvdGMtc2guYzoxNTAxCittc2dpZCAiRGVwcmVjYXRlZCBzeW50YXguIgorbXNnc3RyICJTaW50YWtzIGthZGFsdWFyc2EuIgorCisjOiBjb25maWcvdGMtc2guYzoxNTEzIGNvbmZpZy90Yy1zaC5jOjE1MTgKK21zZ2lkICJzeW50YXggZXJyb3IgaW4gQChkaXNwLFtSbiwgZ2JyLCBwY10pIgorbXNnc3RyICJzaW50YWtzIGVycm9yIGRhbGFtIEAoZGlzcCxbUm4sIGdiciwgcGNdKSIKKworIzogY29uZmlnL3RjLXNoLmM6MTUyMworbXNnaWQgImV4cGVjdGluZyApIgorbXNnc3RyICJtZW5kdWdhICkiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjE1MzEKK21zZ2lkICJpbGxlZ2FsIHJlZ2lzdGVyIGFmdGVyIEAiCittc2dzdHIgInJlZ2lzdGVyIHRpZGFrIGxlZ2FsIHNldGVsYWggQCIKKworIzogY29uZmlnL3RjLXNoLmM6MjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmhhbmRsZWQgJWRcbiIKK21zZ3N0ciAidGlkYWsgdGVydGFuZ2FuaSAlZFxuIgorCisjOiBjb25maWcvdGMtc2guYzoyMzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmVnaXN0ZXI6ICdyJWQnIgorbXNnc3RyICJSZWdpc3RlciB0aWRhayB2YWxpZDogJ3IlZCciCisKKyM6IGNvbmZpZy90Yy1zaC5jOjI0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIGZvciAlZFxuIgorbXNnc3RyICJnYWdhbCB1bnR1ayAlZFxuIgorCisjOiBjb25maWcvdGMtc2guYzoyNTg1IGNvbmZpZy90Yy1zaC5jOjI5ODQKK21zZ2lkICJpbnZhbGlkIG9wZXJhbmRzIGZvciBvcGNvZGUiCittc2dzdHIgIm9wZXJhbiB0aWRhayB2YWxpZCB1bnR1ayBvcGtvZGUiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjI1OTAKK21zZ2lkICJpbnNuIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcGFyYWxsZWwgcHJvY2Vzc2luZyBpbnNuIgorbXNnc3RyICJpbnN0cnVrc2kgdGlkYWsgZGFwYXQgZGlrb21iaW5hc2lrYW4gZGVuZ2FuIHBlbXJvc2VzYW4gcGFyYWxlbCBpbnN0cnVrc2kiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjI1OTcgY29uZmlnL3RjLXNoLmM6MjYwOCBjb25maWcvdGMtc2guYzoyNjQwCittc2dpZCAibXVsdGlwbGUgbW92eCBzcGVjaWZpY2F0aW9ucyIKK21zZ3N0ciAibXVsdGlwbGUgc3Blc2lmaWthc2kgbW92eCIKKworIzogY29uZmlnL3RjLXNoLmM6MjYwMiBjb25maWcvdGMtc2guYzoyNjI0IGNvbmZpZy90Yy1zaC5jOjI2NjMKK21zZ2lkICJtdWx0aXBsZSBtb3Z5IHNwZWNpZmljYXRpb25zIgorbXNnc3RyICJtdWx0aXBsZSBtb3Z5IHNwZXNpZmlrYXNpIgorCisjOiBjb25maWcvdGMtc2guYzoyNjExIGNvbmZpZy90Yy1zaC5jOjI2NDQKK21zZ2lkICJpbnZhbGlkIG1vdnggYWRkcmVzcyByZWdpc3RlciIKK21zZ3N0ciAiYWxhbWF0IHJlZ2lzdGVyIG1vdnggdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjI2MTMKK21zZ2lkICJpbnNuIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG5vbi1ub3B5IgorbXNnc3RyICJpbnN0cnVrc2kgdGlkYWsgZGFwYXQgZGlrb21iaW5hc2lrYW4gZGVuZ2FuIGJ1a2FuLW5vcHkiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjI2MjcgY29uZmlnL3RjLXNoLmM6MjY4MworbXNnaWQgImludmFsaWQgbW92eSBhZGRyZXNzIHJlZ2lzdGVyIgorbXNnc3RyICJhbGFtYXQgcmVnaXN0ZXIgbW92eSB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXNoLmM6MjYyOQorbXNnaWQgImluc24gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggbm9uLW5vcHgiCittc2dzdHIgImluc3RydWtzaSB0aWRhayBkYXBhdCBkaWtvbWJpbmFzaWthbiBkZW5nYW4gYnVrYW4tbm9weCIKKworIzogY29uZmlnL3RjLXNoLmM6MjY0MgorbXNnaWQgInByZXZpb3VzIG1vdnkgcmVxdWlyZXMgbm9weCIKK21zZ3N0ciAibW92eSBzZWJlbHVtbnlhIGRpYnV0dWhrYW4gbm9weCIKKworIzogY29uZmlnL3RjLXNoLmM6MjY1MCBjb25maWcvdGMtc2guYzoyNjU1Cittc2dpZCAiaW52YWxpZCBtb3Z4IGRzcCByZWdpc3RlciIKK21zZ3N0ciAicmVnaXN0ZXIgZHNwIG1vdnggdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjI2NjUKK21zZ2lkICJwcmV2aW91cyBtb3Z4IHJlcXVpcmVzIG5vcHkiCittc2dzdHIgIm1vdnggc2ViZWx1bW55YSBtZW1idXR1aGthbiBub3B5IgorCisjOiBjb25maWcvdGMtc2guYzoyNjc0IGNvbmZpZy90Yy1zaC5jOjI2NzkKK21zZ2lkICJpbnZhbGlkIG1vdnkgZHNwIHJlZ2lzdGVyIgorbXNnc3RyICJtb3Z5IGRzcCByZWdpc3RlciB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXNoLmM6MjY4OQorbXNnaWQgImRzcCBpbW1lZGlhdGUgc2hpZnQgdmFsdWUgbm90IGNvbnN0YW50IgorbXNnc3RyICJuaWxhaSBwZXJnZXNlcmFuIGRzcCBpbW1lZGlhdGUgdGlkYWsga29uc3RhbiIKKworIzogY29uZmlnL3RjLXNoLmM6MjcwMyBjb25maWcvdGMtc2guYzoyNzI5Cittc2dpZCAibXVsdGlwbGUgcGFyYWxsZWwgcHJvY2Vzc2luZyBzcGVjaWZpY2F0aW9ucyIKK21zZ3N0ciAibXVsdGlwbGUgcGFyYWxlbCBzcGVzaWZpa2FzaSBwZW1yb3Nlc2FuIgorCisjOiBjb25maWcvdGMtc2guYzoyNzIyCittc2dpZCAibXVsdGlwbGUgY29uZGl0aW9uIHNwZWNpZmljYXRpb25zIgorbXNnc3RyICJtdWx0aXBsZSBzcGVzaWZpa2FzaSBrb25kaXNpb25hbCIKKworIzogY29uZmlnL3RjLXNoLmM6Mjc2MAorbXNnaWQgImluc24gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggcG11bHMiCittc2dzdHIgImluc3RydWtzaSB0aWRhayBkYXBhdCBkaWtvbWJpbmFzaWthbiBkZW5nYW4gcG11bHMiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjI3NzYKK21zZ2lkICJiYWQgY29tYmluZWQgcG11bHMgb3V0cHV0IG9wZXJhbmQiCittc2dzdHIgImtvbWJpbmFzaSBidXJ1ayBrZWx1YXJhbiBvcGVyYW4gcG11bHMiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjI3ODYKK21zZ2lkICJkZXN0aW5hdGlvbiByZWdpc3RlciBpcyBzYW1lIGZvciBwYXJhbGxlbCBpbnNucyIKK21zZ3N0ciAicmVnaXN0ZXIgdHVqdWFuIHNhbWEgdW50dWsgcGFyYWxlbCBpbnNucyIKKworIzogY29uZmlnL3RjLXNoLmM6Mjc5NQorbXNnaWQgImNvbmRpdGlvbiBub3QgZm9sbG93ZWQgYnkgY29uZGl0aW9uYWxpemFibGUgaW5zbiIKK21zZ3N0ciAia29kaXNpIHRpZGFrIGRpaWt1dGkgZGVuZ2FuIGtvbmRpc2lvbmFsaXNhc2kgaW5zbiIKKworIzogY29uZmlnL3RjLXNoLmM6MjgwNQorbXNnaWQgInVucmVjb2duaXplZCBjaGFyYWN0ZXJzIGF0IGVuZCBvZiBwYXJhbGxlbCBwcm9jZXNzaW5nIGluc24iCittc2dzdHIgImthcmFrdGVyIHRpZGFrIGRpa2VuYWwgZGlha2hpciBkYXJpIHBlbXJvc2VzYW4gcGFyYWxlbCBpbnNuIgorCisjOiBjb25maWcvdGMtc2guYzoyOTIxCittc2dpZCAib3Bjb2RlIG5vdCB2YWxpZCBmb3IgdGhpcyBjcHUgdmFyaWFudCIKK21zZ3N0ciAib3Brb2RlIHRpZGFrIHZhbGlkIHVudHVrIHZhcmlhc2kgY3B1IGluaSIKKworIzogY29uZmlnL3RjLXNoLmM6Mjk1NAorbXNnaWQgIkRlbGF5ZWQgYnJhbmNoZXMgbm90IGF2YWlsYWJsZSBvbiBTSDEiCittc2dzdHIgIlBlcmNhYmFuZ2FuIHRlcnR1bmRhaCB0aWRhayB0ZXJzZWRpYSBkaSBTSDEiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjI5ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzIG9wZXJhbmRzOiAnJXMnIgorbXNnc3RyICJrZWxlYmloYW4gb3BlcmFuOiAnJXMnIgorCisjOiBjb25maWcvdGMtc2guYzozMDY2Cittc2dpZCAiLnVzZXMgcHNldWRvLW9wIHNlZW4gd2hlbiBub3QgcmVsYXhpbmciCittc2dzdHIgIi51c2VzIHBzZXVkby1vcCB0ZXJsaWhhdCBrZXRpa2EgdGlkYWsgcmVsYXhpbmciCisKKyM6IGNvbmZpZy90Yy1zaC5jOjMwNzIKK21zZ2lkICJiYWQgLnVzZXMgZm9ybWF0IgorbXNnc3RyICJiYWQgLnVzZXMgZm9ybWF0IgorCisjOiBjb25maWcvdGMtc2guYzozMTc2Cittc2dpZCAiSW52YWxpZCBjb21iaW5hdGlvbjogLS1pc2E9U0hjb21wYWN0IHdpdGggLS1pc2E9U0htZWRpYSIKK21zZ3N0ciAiS29tYmluYXNpIHRpZGFrIHZhbGlkOiAtLWlzZT1TSGNvbXBhY3QgZGVuZ2FuIC0taXNlPVNIbWVkaWEiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjMxODIKK21zZ2lkICJJbnZhbGlkIGNvbWJpbmF0aW9uOiAtLWlzYT1TSG1lZGlhIHdpdGggLS1pc2E9U0hjb21wYWN0IgorbXNnc3RyICJLb21iaW5hc2kgdGlkYWsgdmFsaWQ6IC0taXNhPVNIbWVkaWEgZGVuZ2FuIC0taXNhPVNIY29tcGFjdCIKKworIzogY29uZmlnL3RjLXNoLmM6MzE4NAorbXNnaWQgIkludmFsaWQgY29tYmluYXRpb246IC0tYWJpPTY0IHdpdGggLS1pc2E9U0hjb21wYWN0IgorbXNnc3RyICJLb21iaW5hc2kgdGlkYWsgdmFsaWQ6IC0tYWJpPTY0IGRlbmdhbiAtLWlzYT1TSGNvbXBhY3QiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjMyMjUKK21zZ2lkICJJbnZhbGlkIGNvbWJpbmF0aW9uOiAtLWFiaT0zMiB3aXRoIC0tYWJpPTY0IgorbXNnc3RyICJLb21iaW5hc2kgdGlkYWsgdmFsaWQ6IC0tYWJpPTMyIGRlbmdhbiAtLWFiaT02NCIKKworIzogY29uZmlnL3RjLXNoLmM6MzIzMQorbXNnaWQgIkludmFsaWQgY29tYmluYXRpb246IC0tYWJpPTY0IHdpdGggLS1hYmk9MzIiCittc2dzdHIgIktvbWJpbmFzaSB0aWRhayB2YWxpZDogLS1hYmk9NjQgZGVuZ2FuIC0tYWJpPTMyIgorCisjOiBjb25maWcvdGMtc2guYzozMjMzCittc2dpZCAiSW52YWxpZCBjb21iaW5hdGlvbjogLS1pc2E9U0hjb21wYWN0IHdpdGggLS1hYmk9NjQiCittc2dzdHIgIktvbWJpbmFzaSB0aWRhayB2YWxpZDogLS1pc2E9U0hjb21wYWN0IGRlbmdhbiAtLWFiaT02NCIKKworIzogY29uZmlnL3RjLXNoLmM6MzI3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiU0ggb3B0aW9uczpcbiIKKyItLWxpdHRsZVx0XHRnZW5lcmF0ZSBsaXR0bGUgZW5kaWFuIGNvZGVcbiIKKyItLWJpZ1x0XHRcdGdlbmVyYXRlIGJpZyBlbmRpYW4gY29kZVxuIgorIi0tcmVsYXhcdFx0XHRhbHRlciBqdW1wIGluc3RydWN0aW9ucyBmb3IgbG9uZyBkaXNwbGFjZW1lbnRzXG4iCisiLS1yZW5lc2FzXHRcdGRpc2FibGUgb3B0aW1pemF0aW9uIHdpdGggc2VjdGlvbiBzeW1ib2wgZm9yXG4iCisiXHRcdFx0Y29tcGF0aWJpbGl0eSB3aXRoIFJlbmVzYXMgYXNzZW1ibGVyLlxuIgorIi0tc21hbGxcdFx0XHRhbGlnbiBzZWN0aW9ucyB0byA0IGJ5dGUgYm91bmRhcmllcywgbm90IDE2XG4iCisiLS1kc3BcdFx0XHRlbmFibGUgc2gtZHNwIGluc25zLCBhbmQgZGlzYWJsZSBmbG9hdGluZy1wb2ludCBJU0FzLlxuIgorIi0tYWxsb3ctcmVnLXByZWZpeFx0YWxsb3cgJyQnIGFzIGEgcmVnaXN0ZXIgbmFtZSBwcmVmaXguXG4iCisiLS1pc2E9W2FueVx0XHR1c2UgbW9zdCBhcHByb3ByaWF0ZSBpc2FcbiIKKyIgICAgfCBkc3AgICAgICAgICAgICAgICBzYW1lIGFzICctZHNwJ1xuIgorIiAgICB8IGZwIgorbXNnc3RyICIiCisiT3BzaSBTSDpcbiIKKyItLWxpdHRsZVx0XHRtZW5naGFzaWxrYW4ga29kZSBsaXR0bGUgZW5kaWFuXG4iCisiLS1iaWdcdFx0bWVuZ2hhc2lsa2FuIGtvZGUgYmlnIGVuZGlhblxuIgorIi0tcmVsYXhcdFx0XHR1YmFoIGluc3RydWtzaSBsb21wYXQga2UgbG9uZyBkaXNwbGFjZW1lbnRcbiIKKyItLXJlbmVzYXNcdFx0XHRub24tYWt0aWZrYW4gb3B0aW1pc2FzaSBkZW5nYW4gc2ltYm9sIGRhZXJhaCB1bnR1a1xuIgorIlx0XHRcdGtvbXBhYmlsaXRhcyBkZW5nYW4gcGVyYWtpdCBSZW5lc2FzLlxuIgorIi0tc21hbGxcdFx0XHRhbGlnbiBkYWVyYWgga2UgNCBieXRlIGJvdW5kYXJpZXMsIGJ1a2FuIDE2XG4iCisiLS1kc3BcdFx0XHRha3RpZmthbiBzaC1kc3AgaW5zbnMsIGRhbiBub24tYWt0aWZrYW4gZmxvYXRpbmctcG9pbnQgSVNBLlxuIgorIi0tYWxsb3ctcmVnLXByZWZpeFx0aWppbmthbiAnJCcgc2ViYWdhIGF3YWxhbiBuYW1hIHJlZ2lzdGVyLlxuIgorIi0taXNhPVthbnlcdFx0Z3VuYWthbiBpc2EgeWFuZyBwYWxpbmcgc2VzdWFpXG4iCisiICAgfCBkc3AgICAgICAgICAgICAgICAgc2FtYSBzZXBlcnRpICctZHNwJ1xuIgorIiAgIHwgZnAiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjMyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0taXNhPVtzaG1lZGlhXHRcdHNldCBhcyB0aGUgZGVmYXVsdCBpbnN0cnVjdGlvbiBzZXQgZm9yIFNINjRcbiIKKyIgICAgfCBTSG1lZGlhXG4iCisiICAgIHwgc2hjb21wYWN0XG4iCisiICAgIHwgU0hjb21wYWN0XVxuIgorbXNnc3RyICIiCisiLS1pc2E9W3NobWVkaWFcdFx0c2V0IHNlYmFnYWkgc2V0IGluc3RydWtzaSBiYWt1IHVudHVrIFNINjRcbiIKKyIgICAgfCBTSG1lZGlhXG4iCisiICAgIHwgc2hjb21wYWN0XG4iCisiICAgIHwgU0hjb21wYWN0XVxuIgorCisjOiBjb25maWcvdGMtc2guYzozMzAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLWFiaT1bMzJ8NjRdXHRcdHNldCBzaXplIG9mIGV4cGFuZGVkIFNIbWVkaWEgb3BlcmFuZHMgYW5kIG9iamVjdFxuIgorIlx0XHRcdGZpbGUgdHlwZVxuIgorIi0tc2hjb21wYWN0LWNvbnN0LWNyYW5nZSAgZW1pdCBjb2RlLXJhbmdlIGRlc2NyaXB0b3JzIGZvciBjb25zdGFudHMgaW5cbiIKKyJcdFx0XHRTSGNvbXBhY3QgY29kZSBzZWN0aW9uc1xuIgorIi0tbm8tbWl4XHRcdGRpc2FsbG93IFNIbWVkaWEgY29kZSBpbiB0aGUgc2FtZSBzZWN0aW9uIGFzXG4iCisiXHRcdFx0Y29uc3RhbnRzIGFuZCBTSGNvbXBhY3QgY29kZVxuIgorIi0tbm8tZXhwYW5kXHRcdGRvIG5vdCBleHBhbmQgTU9WSSwgUFQsIFBUQSBvciBQVEIgaW5zdHJ1Y3Rpb25zXG4iCisiLS1leHBhbmQtcHQzMlx0XHR3aXRoIC1hYmk9NjQsIGV4cGFuZCBQVCwgUFRBIGFuZCBQVEIgaW5zdHJ1Y3Rpb25zXG4iCisiXHRcdFx0dG8gMzIgYml0cyBvbmx5XG4iCittc2dzdHIgIiIKKyItLWFiaT1bMzJ8NjRdXHRcdHNldCB1a3VyYW4gZGFyaSBvcGVyYW4gU0htZWRpYSB5YW5nIHRlcmVrc3BhbiBkYW4gdGlwZVxuIgorIlx0XHRcdGJlcmthcyBvYmpla1xuIgorIi0tc2hjb21wYWN0LWNvbnN0LWNyYW5nZSAga2VsdWFya2FuIGRlc2tyaXBzaSBqYW5na2F1YW4ta29kZSB1bnR1ayBrb25zdGFudGEgZGFsYW1cbiIKKyJcdFx0XHRTSGNvbXBhY3QgYmFnaWFuIGtvZGVcbiIKKyItLW5vLW1peFx0XHRsYXJhbmcga29kZSBTSG1lZGlhIGJlcmFkYSBkYWxhbSBkYWVyYWggeWFuZyBzYW1hIGRlbmdhblxuIgorIlx0XHRcdGtvbnN0YW50YSBkYW4ga29kZSBTSGNvbXBhY3RcbiIKKyItLW5vLWV4cGFuZFx0XHRqYW5nYW4gZXhwYW5kIE1PVkksIFBULCBQVEEgYXRhdSBQVEIgaW5zdHJ1a3NpXG4iCisiLS1leHBhbmQtcHQzMlx0XHRkZW5nYW4gLWFiaT02NCwgZXhwYW5kIFBULCBQVEEgZGFuIFBUQiBpbnN0cnVrc2lcbiIKKyJcdFx0XHRrZSAzMiBiaXQgc2FqYVxuIgorCisjOiBjb25maWcvdGMtc2guYzozNDAxCittc2dpZCAiLnVzZXMgZG9lcyBub3QgcmVmZXIgdG8gYSBsb2NhbCBzeW1ib2wgaW4gdGhlIHNhbWUgc2VjdGlvbiIKK21zZ3N0ciAiLnVzZXMgdGlkYWsgbWVyZWZlcmVuc2kga2Ugc2VidWFoIHNpbWJvbCBsb2thbCBkYWxhbSBiYWdpYW4geWFuZyBzYW1hIgorCisjOiBjb25maWcvdGMtc2guYzozNDIwCittc2dpZCAiY2FuJ3QgZmluZCBmaXh1cCBwb2ludGVkIHRvIGJ5IC51c2VzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5lbXVrYW4gZml4dXAgeWFuZyBkaXR1bmp1ayBvbGVoIC51c2VzIgorCisjOiBjb25maWcvdGMtc2guYzozNDQwCittc2dpZCAiLnVzZXMgdGFyZ2V0IGRvZXMgbm90IHJlZmVyIHRvIGEgbG9jYWwgc3ltYm9sIGluIHRoZSBzYW1lIHNlY3Rpb24iCittc2dzdHIgIi51c2VzIHRhcmdldCB0aWRhayBtZXJlZmVyZW5zaWthbiBrZSBzZWJ1YWggc2ltYm9sIGxva2FsIGRhbGFtIGRhZXJhaCB5YW5nIHNhbWEiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjM1MTcKK21zZ2lkICJkaXNwbGFjZW1lbnQgb3ZlcmZsb3dzIDEyLWJpdCBmaWVsZCIKK21zZ3N0ciAiZGlzcGxhY2VtZW50IG92ZXJmbG93IDEyIGJpdCBmaWVsZCIKKworIzogY29uZmlnL3RjLXNoLmM6MzUyMAorIywgYy1mb3JtYXQKK21zZ2lkICJkaXNwbGFjZW1lbnQgdG8gZGVmaW5lZCBzeW1ib2wgJXMgb3ZlcmZsb3dzIDEyLWJpdCBmaWVsZCIKK21zZ3N0ciAiZGlzcGxhY2VtZW50IHVudHVrIG1lbmRlZmluaXNpa2FuIHNpbWJvbCAlcyBvdmVyZmxvdyAxMiBiaXQgZmllbGQiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjM1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlzcGxhY2VtZW50IHRvIHVuZGVmaW5lZCBzeW1ib2wgJXMgb3ZlcmZsb3dzIDEyLWJpdCBmaWVsZCIKK21zZ3N0ciAiZGlzcGxhY2VtZW50IHVudHVrIHNpbWJvbCAlcyB0aWRhayB0ZXJkZWZpbmlzaSBvdmVyZmxvdyAxMiBiaXQgZmllbGQiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjM1OTcKK21zZ2lkICJkaXNwbGFjZW1lbnQgb3ZlcmZsb3dzIDgtYml0IGZpZWxkIgorbXNnc3RyICJkaXNwbGFjZW1lbnQgb3ZlcmZsb3cgOCBiaXQgZmllbGQiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjM2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlzcGxhY2VtZW50IHRvIGRlZmluZWQgc3ltYm9sICVzIG92ZXJmbG93cyA4LWJpdCBmaWVsZCIKK21zZ3N0ciAiZGlzcGxhY2VtZW50IGtlIHNpbWJvbCAlcyB0ZXJkZWZpbmlzaSBvdmVyZmxvdyA4IGJpdCBmaWVsZCIKKworIzogY29uZmlnL3RjLXNoLmM6MzYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJkaXNwbGFjZW1lbnQgdG8gdW5kZWZpbmVkIHN5bWJvbCAlcyBvdmVyZmxvd3MgOC1iaXQgZmllbGQgIgorbXNnc3RyICJkaXNwbGFjZW1lbnQga2Ugc2ltYm9sZSAlcyB0aWRhayB0ZXJkZWZpbmlzaSBvdmVyZmxvdyA4IGJpdCBmaWVsZCIKKworIzogY29uZmlnL3RjLXNoLmM6MzYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJvdmVyZmxvdyBpbiBicmFuY2ggdG8gJXM7IGNvbnZlcnRlZCBpbnRvIGxvbmdlciBpbnN0cnVjdGlvbiBzZXF1ZW5jZSIKK21zZ3N0ciAib3ZlcmZsb3cgZGFsYW0gcGVyY2FiYW5nYW4ga2UgJXM7IGRpdWJhaCBrZSB1cnV0YW5zIGluc3RydWtzaSB5YW5nIGxlYmloIHBhbmphbmciCisKKyM6IGNvbmZpZy90Yy1zaC5jOjM2ODcgY29uZmlnL3RjLXNoLmM6MzczNCBjb25maWcvdGMtc3BhcmMuYzo0MjAwCisjOiBjb25maWcvdGMtc3BhcmMuYzo0MjI0Cittc2dpZCAibWlzYWxpZ25lZCBkYXRhIgorbXNnc3RyICJtaXNhbGlnbmVkIGRhdGEiCisKKyM6IGNvbmZpZy90Yy1zaC5jOjQwMzYKK21zZ2lkICJvZmZzZXQgdG8gdW5hbGlnbmVkIGRlc3RpbmF0aW9uIgorbXNnc3RyICJvZnNldCBrZSB1bmFsaWduZWQgdHVqdWFuIgorCisjOiBjb25maWcvdGMtc2guYzo0MDQxCittc2dpZCAibmVnYXRpdmUgb2Zmc2V0IgorbXNnc3RyICJvZnNldCBuZWdhdGlmIgorCisjOiBjb25maWcvdGMtc2guYzo0MTc5Cittc2dpZCAibWlzYWxpZ25lZCBvZmZzZXQiCittc2dzdHIgIm9mc2V0IHRpZGFrIHRlcmFsaWduIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjU2OAorbXNnaWQgIlRoaXMgb3BlcmFuZCBtdXN0IGJlIGNvbnN0YW50IGF0IGFzc2VtYmx5IHRpbWUiCittc2dzdHIgIk9wZXJhbiBpbmkgaGFydXMgYmVydXBhIGtvbnN0YW50YSBwYWRhIHdha3R1IHBlcmFraXRhbiIKKworIzogY29uZmlnL3RjLXNoNjQuYzo2ODEKK21zZ2lkICJJbnZhbGlkIG9wZXJhbmQgZXhwcmVzc2lvbiIKK21zZ3N0ciAiRWtzcHJlc2kgb3BlcmFuIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjc3MyBjb25maWcvdGMtc2g2NC5jOjg3NworbXNnaWQgIlBUQiBvcGVyYW5kIGlzIGEgU0htZWRpYSBzeW1ib2wiCittc2dzdHIgIlBUQiBvcGVyYW4gYWRhbGFoIHNlYnVhaCBzaW1ib2wgU0htZWRpYSIKKworIzogY29uZmlnL3RjLXNoNjQuYzo3NzYgY29uZmlnL3RjLXNoNjQuYzo4NzQKK21zZ2lkICJQVEEgb3BlcmFuZCBpcyBhIFNIY29tcGFjdCBzeW1ib2wiCittc2dzdHIgIlBUQSBvcGVyYW4gYWRhbGFoIHNlYnVhaCBzaW1ib2wgU0hjb21wYWN0IgorCisjOiBjb25maWcvdGMtc2g2NC5jOjc5MgorbXNnaWQgImludmFsaWQgZXhwcmVzc2lvbiBpbiBvcGVyYW5kIgorbXNnc3RyICJla3NwcmVzaSBkYWxhbSBvcGVyYW4gdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1zaDY0LmM6MTQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG9wZXJhbmQsIG5vdCBhIDUtYml0IHVuc2lnbmVkIHZhbHVlOiAlZCIKK21zZ3N0ciAib3BlcmFuIHRpZGFrIHZhbGlkLCBidWthbiBzZWJ1YWggbmlsYWkgNSBiaXQgdW5zaWduZWQ6ICVkIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjE0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBvcGVyYW5kLCBub3QgYSA2LWJpdCBzaWduZWQgdmFsdWU6ICVkIgorbXNnc3RyICJvcGVyYW4gdGlkYWsgdmFsaWQsIGJ1a2FuIHNlYnVhaCBuaWxhaSA2LWJpdCBzaWduZWQ6ICVkIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjE0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBvcGVyYW5kLCBub3QgYSA2LWJpdCB1bnNpZ25lZCB2YWx1ZTogJWQiCittc2dzdHIgIm9wZXJhbiB0aWRhayB2YWxpZCwgYnVrYW4gc2VidWFuIG5pbGFpIDYgYml0IHVuc2lnbmVkOiAlZCIKKworIzogY29uZmlnL3RjLXNoNjQuYzoxNDk4IGNvbmZpZy90Yy1zaDY0LmM6MTUxMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG9wZXJhbmQsIG5vdCBhIDExLWJpdCBzaWduZWQgdmFsdWU6ICVkIgorbXNnc3RyICJvcGVyYW4gdGlkYWsgdmFsaWQsIGJ1a2FuIHNlYnVhaCBuaWxhaSAxMSBiaXQgc2lnbmVkOiAlZCIKKworIzogY29uZmlnL3RjLXNoNjQuYzoxNTAwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgb3BlcmFuZCwgbm90IGEgbXVsdGlwbGUgb2YgMzI6ICVkIgorbXNnc3RyICJvcGVyYW4gdGlkYWsgdmFsaWQsIGJ1a2FuIGtlbGlwYXRhbiBkYXJpIDMyOiAlZCIKKworIzogY29uZmlnL3RjLXNoNjQuYzoxNTA1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgb3BlcmFuZCwgbm90IGEgMTAtYml0IHNpZ25lZCB2YWx1ZTogJWQiCittc2dzdHIgIm9wZXJhbiB0aWRhayB2YWxpZCwgYnVrYW4gc2VidWFoIG5pbGFpIDEwIGJpdCBzaWduZWQ6ICVkIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjE1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBvcGVyYW5kLCBub3QgYW4gZXZlbiB2YWx1ZTogJWQiCittc2dzdHIgIm9wZXJhbiB0aWRhayB2YWxpZCwgYnVrYW4gc2VidWFoIG5pbGFpOiAlZCIKKworIzogY29uZmlnL3RjLXNoNjQuYzoxNTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgb3BlcmFuZCwgbm90IGEgMTItYml0IHNpZ25lZCB2YWx1ZTogJWQiCittc2dzdHIgIm9wZXJhbiB0aWRhayB2YWxpZCwgYnVrYW4gc2VidWFoIG5pbGFpIDEyIGJpdCBzaWduZWQ6ICVkIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjE1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBvcGVyYW5kLCBub3QgYSBtdWx0aXBsZSBvZiA0OiAlZCIKK21zZ3N0ciAib3BlcmFuIHRpZGFrIHZhbGlkLCBidWthbiBrZWxpcGF0YW4gZGFyaSA0OiAlZCIKKworIzogY29uZmlnL3RjLXNoNjQuYzoxNTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgb3BlcmFuZCwgbm90IGEgMTMtYml0IHNpZ25lZCB2YWx1ZTogJWQiCittc2dzdHIgIm9wZXJhbiB0aWRhayB2YWxpZCwgYnVrYW4gc2VidWFoIG5pbGFpIDEzIGJpdCBzaWduZWQ6ICVkIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjE1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBvcGVyYW5kLCBub3QgYSBtdWx0aXBsZSBvZiA4OiAlZCIKK21zZ3N0ciAib3BlcmFuIHRpZGFrIHZhbGlkLCBidWthbiBrZWxpcGF0YW4gZGFyaSA4OiAlZCIKKworIzogY29uZmlnL3RjLXNoNjQuYzoxNTMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgb3BlcmFuZCwgbm90IGEgMTYtYml0IHNpZ25lZCB2YWx1ZTogJWQiCittc2dzdHIgIm9wZXJhbiB0aWRhayB2YWxpZCwgYnVrYW4gc2VidWFoIG5pbGFpIDE2IHNpZ25lZDogJWQiCisKKyM6IGNvbmZpZy90Yy1zaDY0LmM6MTUzNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG9wZXJhbmQsIG5vdCBhIDE2LWJpdCB1bnNpZ25lZCB2YWx1ZTogJWQiCittc2dzdHIgIm9wZXJhbiB0aWRhayB2YWxpZCwgYnVrYW4gc2VidWFoIG5pbGFpIDE2LWJpdCB1bnNpZ25lZDogJWQiCisKKyM6IGNvbmZpZy90Yy1zaDY0LmM6MTU0MgorbXNnaWQgIm9wZXJhbmQgb3V0IG9mIHJhbmdlIGZvciBQVCwgUFRBIGFuZCBQVEIiCittc2dzdHIgIm9wZXJhbiBkaWx1YXIgZGFyaSBqYW5na2F1YW4gdW50dWsgUFQsIFBUQSBkYW4gUFRCIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjE1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmFuZCBub3QgYSBtdWx0aXBsZSBvZiA0IGZvciBQVCwgUFRBIG9yIFBUQjogJWQiCittc2dzdHIgIm9wZXJhbiBidWthbiBrZWxpcGF0YW4gZGFyaSA0IHVudHVrIFBULCBQVEEgYXRhdSBQVEI6ICVkIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjIwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTU9WSSBvcGVyYW5kIGlzIG5vdCBhIDMyLWJpdCBzaWduZWQgdmFsdWU6IDB4JTh4JTA4eCIKK21zZ3N0ciAiTU9WSSBvcGVyYW4gYnVrYW4gc2VidWFoIG5pbGFpIDMyIGJpdCBzaWduZWQ6IDB4JTh4eCUwOHgiCisKKyM6IGNvbmZpZy90Yy1zaDY0LmM6MjQyMSBjb25maWcvdGMtc2g2NC5jOjI1ODQgY29uZmlnL3RjLXNoNjQuYzoyNTk5Cittc2dpZCAiaW52YWxpZCBQSUMgcmVmZXJlbmNlIgorbXNnc3RyICJyZWZlcmVuc2kgUElDIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjI0NzgKK21zZ2lkICJjYW4ndCBmaW5kIG9wY29kZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW11a2FuIG9wa29kZSIKKworIzogY29uZmlnL3RjLXNoNjQuYzoyNjgxIGNvbmZpZy90Yy1zaDY0LmM6MjcyMQorbXNnaWQgImludmFsaWQgb3BlcmFuZDogZXhwcmVzc2lvbiBpbiBQVCB0YXJnZXQiCittc2dzdHIgIm9wZXJhbiB0aWRhayB2YWxpZDogZWtzcHJlc2kgZGFsYW0gUFQgdGFyZ2V0IgorCisjOiBjb25maWcvdGMtc2g2NC5jOjI4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBvcGVyYW5kcyB0byAlcyIKK21zZ3N0ciAib3BlcmFuIGtlICVzIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjI4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzIG9wZXJhbmRzIHRvICVzIgorbXNnc3RyICJrZWxlYmloYW4gb3BlcmFrIGtlICVzIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjI4NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGAubW9kZSAlcycgZGlyZWN0aXZlIGlzIG5vdCB2YWxpZCB3aXRoIHRoaXMgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICJEaXJla3RpZiBgLm1vZGUgJXMnIHRpZGFrIHZhbGlkIHVudHVrIGFyc2l0ZWt0dXIgaW5pIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjI4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBhcmd1bWVudCB0byAubW9kZTogJXMiCittc2dzdHIgIkFyZ3VtZW4ga2UgLm1vZGU6ICVzIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjI5MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGAuYWJpICVzJyBkaXJlY3RpdmUgaXMgbm90IHZhbGlkIHdpdGggdGhpcyBhcmNoaXRlY3R1cmUiCittc2dzdHIgIkRpcmVrdGlmIGAuYWJpICVzJyB0aWRhayB2YWxpZCB1bnR1ayBhcnNpdGVrdHVyIGluaSIKKworIzogY29uZmlnL3RjLXNoNjQuYzoyOTA3Cittc2dpZCAiYC5hYmkgNjQnIGJ1dCBjb21tYW5kLWxpbmUgb3B0aW9ucyBkbyBub3Qgc3BlY2lmeSA2NC1iaXQgQUJJIgorbXNnc3RyICJgLmFiaSA2NCcgdGV0YXBpIG9wc2kgYmFyaXMtcGVyaW50YWggdGlkYWsgbWVuc3Blc2lmaWthc2lrYW4gNjQtYml0IEFCSSIKKworIzogY29uZmlnL3RjLXNoNjQuYzoyOTEyCittc2dpZCAiYC5hYmkgMzInIGJ1dCBjb21tYW5kLWxpbmUgb3B0aW9ucyBkbyBub3Qgc3BlY2lmeSAzMi1iaXQgQUJJIgorbXNnc3RyICJgLmFiaSAzMicgdGV0YXBpIG9wc2kgYmFyaXMtcGVyaW50YWggdGlkYWsgbWVuc3Blc2lmaWthc2lrYW4gMzItYml0IEFCSSIKKworIzogY29uZmlnL3RjLXNoNjQuYzoyOTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgYXJndW1lbnQgdG8gLmFiaTogJXMiCittc2dzdHIgImFyZ3VtZW4ga2UgLmFiaXQ6ICVzIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjI5NzAKK21zZ2lkICItbm8tbWl4IGlzIGludmFsaWQgd2l0aG91dCBzcGVjaWZ5aW5nIFNIY29tcGFjdCBvciBTSG1lZGlhIgorbXNnc3RyICItbm8tbWl4IHRpZGFrIHZhbGlkIHRhbnBhIG1lbnNwZXNpZmlrYXNpa2FuIFNIY29tcGFjdCBhdGF1IFNIbWVkaWEiCisKKyM6IGNvbmZpZy90Yy1zaDY0LmM6Mjk3NQorbXNnaWQgIi1zaGNvbXBhY3QtY29uc3QtY3JhbmdlIGlzIGludmFsaWQgd2l0aG91dCBTSGNvbXBhY3QiCittc2dzdHIgIi1zaGNvbXBhY3QtY29uc3QtY3JhbmdlIHRpZGFrIHZhbGlkIHRhbnBhIFNIY29tcGFjdCIKKworIzogY29uZmlnL3RjLXNoNjQuYzoyOTc4Cittc2dpZCAiLWV4cGFuZC1wdDMyIG9ubHkgdmFsaWQgd2l0aCAtYWJpPTY0IgorbXNnc3RyICItZXhwYW5kLXB0MzIgaGFueWEgdmFsaWQgZGVuZ2FuIC1hYmk9NjQiCisKKyM6IGNvbmZpZy90Yy1zaDY0LmM6Mjk4MQorbXNnaWQgIi1uby1leHBhbmQgb25seSB2YWxpZCB3aXRoIFNIY29tcGFjdCBvciBTSG1lZGlhIgorbXNnc3RyICItbm8tZXhwYW5kIGhhbnlhIHZhbGlkIGRlbmdhbiBTSGNvbXBhY3QgYXRhdSBTSG1lZGlhIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjI5ODQKK21zZ2lkICItZXhwYW5kLXB0MzIgaW52YWxpZCB0b2dldGhlciB3aXRoIC1uby1leHBhbmQiCittc2dzdHIgIi1leHBhbmQtcHQzMiB0aWRhayB2YWxpZCBiZXJzYW1hIGRlbmdhbiAtbm8tZXhwYW5kIgorCisjOiBjb25maWcvdGMtc2g2NC5jOjMxOTgKK21zZ2lkICJTSG1lZGlhIGNvZGUgbm90IGFsbG93ZWQgaW4gc2FtZSBzZWN0aW9uIGFzIGNvbnN0YW50cyBhbmQgU0hjb21wYWN0IGNvZGUiCittc2dzdHIgImtvZGUgU0htZWRpYSB0aWRhayBkaXBlcmJvbGVoa2FuIGRhbGFtIGRhZXJhaCB5YW5nIHNhbWEgc2ViYWdhaSBrb25zdGFudGEgZGFuIGtvZGUgU0hjb21wYWN0IgorCisjOiBjb25maWcvdGMtc2g2NC5jOjMyMTYKK21zZ2lkICJObyBzZWdtZW50IGluZm8gZm9yIGN1cnJlbnQgc2VjdGlvbiIKK21zZ3N0ciAiVGlkYWsgYWRhIGluZm9ybWFzaSBzZWdtZW4gdW50dWsgZGFlcmFoIGluaSIKKworIzogY29uZmlnL3RjLXNoNjQuYzozMjU1Cittc2dpZCAiZHVwbGljYXRlIGRhdGFsYWJlbCBvcGVyYXRvciBpZ25vcmVkIgorbXNnc3RyICJkdXBsaWthc2kgb3BlcmF0b3IgZGF0YWxhYmVsIGRpYWJhaWthbiIKKworIzogY29uZmlnL3RjLXNoNjQuYzozMzI1Cittc2dpZCAiSW52YWxpZCBEYXRhTGFiZWwgZXhwcmVzc2lvbiIKK21zZ3N0ciAiZWtzcHJlc2kgRGF0YUxhYmVsIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzoyNzIKK21zZ2lkICJJbnZhbGlkIGRlZmF1bHQgYXJjaGl0ZWN0dXJlLCBicm9rZW4gYXNzZW1ibGVyLiIKK21zZ3N0ciAiRGVmYXVsdCBhcmNoaXRlY3R1ciB0aWRhayB2YWxpZCwgcGVyYWtpdCBydXNhay4iCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjI3NiBjb25maWcvdGMtc3BhcmMuYzo0ODEKK21zZ2lkICJCYWQgb3Bjb2RlIHRhYmxlLCBicm9rZW4gYXNzZW1ibGVyLiIKK21zZ3N0ciAiVGFiZWwgb3Brb2RlIGJ1cnVrLCBwZXJha2l0IHJ1c2FrLiIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJjaGl0ZWN0dXJlIC14YXJjaD0lcyIKK21zZ3N0ciAiYXJzaXRla3R1ciAteGFyY2g9JXMgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyY2hpdGVjdHVyZSAtQSVzIgorbXNnc3RyICJhcnNpdGVrdHVyIC1BJXMgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjU0MgorIywgYy1mb3JtYXQKK21zZ2lkICJObyBjb21waWxlZCBpbiBzdXBwb3J0IGZvciAlZCBiaXQgb2JqZWN0IGZpbGUgZm9ybWF0IgorbXNnc3RyICJUaWRhayBkaWtvbXBpbGUgdW50dWsgbWVuZHVrdW5nICVkIGJpdCBmb3JtYXQgYmVya2FzIG9iamVrIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzo2MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU1BBUkMgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3BzaSBTUEFSQzpcbiIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJcdFx0XHRzcGVjaWZ5IHZhcmlhbnQgb2YgU1BBUkMgYXJjaGl0ZWN0dXJlXG4iCisiLWJ1bXBcdFx0XHR3YXJuIHdoZW4gYXNzZW1ibGVyIHN3aXRjaGVzIGFyY2hpdGVjdHVyZXNcbiIKKyItc3BhcmNcdFx0XHRpZ25vcmVkXG4iCisiLS1lbmZvcmNlLWFsaWduZWQtZGF0YVx0Zm9yY2UgLmxvbmcsIGV0Yy4sIHRvIGJlIGFsaWduZWQgY29ycmVjdGx5XG4iCisiLXJlbGF4XHRcdFx0cmVsYXgganVtcHMgYW5kIGJyYW5jaGVzIChkZWZhdWx0KVxuIgorIi1uby1yZWxheFx0XHRhdm9pZCBjaGFuZ2luZyBhbnkganVtcHMgYW5kIGJyYW5jaGVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJcdFx0XHRzcGVzaWZpa2FzaWthbiB2YXJpYXNpIGRhcmkgYXJzaXRla3R1ciBTUEFSQ1xuIgorIi1idW1wXHRcdFx0cGVyaW5nYXRrYW4ga2V0aWthIHBlcmFraXQgYmVydWJhaCBhcnNpdGVrdHVyXG4iCisiLXNwYXJjXHRcdFx0ZGlhYmFpa2FuXG4iCisiLS1lbmZvcmNlLWFsaWduZWQtZGF0YVx0Zm9yY2UgLmxvbmcsIGV0Yy4sIHVudHVrIGRpYWxpZ24gc2VjYXJhIGJlbmFyXG4iCisiLXJlbGF4XHRcdFx0cmVsYXgganVtcCBkYW4gYmVyY2FiYW5nIChiYWt1KVxuIgorIi1uby1yZWxheFx0XHRoaW5kYXJpIG1lbmd1YmFoIGxvbXBhdCBkYW4gY2FiYW5nIGFwYXB1blxuIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLWtcdFx0XHRnZW5lcmF0ZSBQSUNcbiIKK21zZ3N0ciAiLWtcdFx0XHRtZW5naGFzaWxrYW4gUElDXG4iCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLTMyXHRcdFx0Y3JlYXRlIDMyIGJpdCBvYmplY3QgZmlsZVxuIgorIi02NFx0XHRcdGNyZWF0ZSA2NCBiaXQgb2JqZWN0IGZpbGVcbiIKK21zZ3N0ciAiIgorIi0zMlx0XHRcdG1lbWJ1YXQgMzIgYml0IGJlcmthcyBvYmpla1xuIgorIi02NFx0XHRcdG1lbWJ1YXQgNjQgYml0IGJlcmthcyBvYmpla1xuIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHRcdFx0W2RlZmF1bHQgaXMgJWRdXG4iCittc2dzdHIgIlx0XHRcdFtiYWt1IGFkYWxhaCAlZF1cbiIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6NjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItVFNPXHRcdFx0dXNlIFRvdGFsIFN0b3JlIE9yZGVyaW5nXG4iCisiLVBTT1x0XHRcdHVzZSBQYXJ0aWFsIFN0b3JlIE9yZGVyaW5nXG4iCisiLVJNT1x0XHRcdHVzZSBSZWxheGVkIE1lbW9yeSBPcmRlcmluZ1xuIgorbXNnc3RyICIiCisiLVRTT1x0XHRcdGd1bmFrYW4gVG90YWwgU3RvcmUgT3JkZXJpbmdcbiIKKyItUFNPXHRcdFx0Z3VuYWthbiBQYXJ0aWFsIFN0b3JlIE9yZGVyaW5nXG4iCisiLVJNT1x0XHRcdGd1bmFrYW4gUmVsYXhlZCBNZW1vcnkgT3JkZXJpbmdcbiIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6NjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0XHRcdFtkZWZhdWx0IGlzICVzXVxuIgorbXNnc3RyICJcdFx0XHRbZGVmYXVsdCBhZGFsYWggJXNdXG4iCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjY3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLUtQSUNcdFx0XHRnZW5lcmF0ZSBQSUNcbiIKKyItVlx0XHRcdHByaW50IGFzc2VtYmxlciB2ZXJzaW9uIG51bWJlclxuIgorIi11bmRlY2xhcmVkLXJlZ3NcdGlnbm9yZSBhcHBsaWNhdGlvbiBnbG9iYWwgcmVnaXN0ZXIgdXNhZ2Ugd2l0aG91dFxuIgorIlx0XHRcdGFwcHJvcHJpYXRlIC5yZWdpc3RlciBkaXJlY3RpdmUgKGRlZmF1bHQpXG4iCisiLW5vLXVuZGVjbGFyZWQtcmVnc1x0Zm9yY2UgZXJyb3Igb24gYXBwbGljYXRpb24gZ2xvYmFsIHJlZ2lzdGVyIHVzYWdlXG4iCisiXHRcdFx0d2l0aG91dCBhcHByb3ByaWF0ZSAucmVnaXN0ZXIgZGlyZWN0aXZlXG4iCisiLXFcdFx0XHRpZ25vcmVkXG4iCisiLVF5LCAtUW5cdFx0aWdub3JlZFxuIgorIi1zXHRcdFx0aWdub3JlZFxuIgorbXNnc3RyICIiCisiLUtQSUNcdFx0XHRtZW5naGFzaWxrYW4gUElDXG4iCisiLVZcdFx0XHRtZW5hbXBpbGthbiBub21vciB2ZXJzaSBwZXJha2l0XG4iCisiLXVuZGVjbGFyZWQtcmVnc1x0bWVuZ2FiYWlrYW4gcGVuZ2d1bmFhbiBhcGxpa2FzaSBnbG9iYWwgcmVnaXN0ZXIgdGFucGFcbiIKKyJcdFx0XHRkaXJla3RpZiAucmVnaXN0ZXIgeWFuZyBzZXN1YWkgKGJha3UpXG4iCisiLW5vLXVuZGVjbGFyZWQtcmVnc1x0cGFrc2EgZXJyb3IgZGkgcGVuZ2d1bmFhbiBhcGxpa2FzaSBnbG9iYWwgcmVnaXN0ZXJcbiIKKyJcdFx0XHR0YW5wYSBkaXJla3RpZiAucmVnaXN0ZXIgeWFuZyBzZXN1YWlcbiIKKyItcVx0XHRcdGRpYWJhaWthblxuIgorIi1ReSwgLVFuXHRcdGRpYWJhaWthblxuIgorIi1zXHRcdFx0ZGlhYmFpa2FuXG4iCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjY4MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLUVMXHRcdFx0Z2VuZXJhdGUgY29kZSBmb3IgYSBsaXR0bGUgZW5kaWFuIG1hY2hpbmVcbiIKKyItRUJcdFx0XHRnZW5lcmF0ZSBjb2RlIGZvciBhIGJpZyBlbmRpYW4gbWFjaGluZVxuIgorIi0tbGl0dGxlLWVuZGlhbi1kYXRhXHRnZW5lcmF0ZSBjb2RlIGZvciBhIG1hY2hpbmUgaGF2aW5nIGJpZyBlbmRpYW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBpbnN0cnVjdGlvbnMgYW5kIGxpdHRsZSBlbmRpYW4gZGF0YS5cbiIKK21zZ3N0ciAiIgorIi1FTFx0XHRcdG1lbmdoYXNpbGthbiBrb2RlIHVudHVrIHNlYnVhaCBtZXNpbiBsaXR0bGUgZW5kaWFuXG4iCisiLUVCXHRcdFx0bWVuZ2hhc2lsa2FuIGtvZGUgdW50dWsgc2VidWFoIG1lc2luIGJpZyBlbmRpYW5cbiIKKyItLWxpdHRsZS1lbmRpYW4tZGF0YVx0bWVuZ2hhc2lsYW4ga29kZSB1bnR1ayBzZWJ1YWggbWVzaW5nIG1lbWlsaWtpIGluc3RydWtzaVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBiaWcgZW5kaWFuIGRhbiBkYXRhIGxpdHRsZSBlbmRpYW4uXG4iCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjgxOQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcm5hbCBlcnJvcjogbG9zaW5nIG9wY29kZTogYCVzJyBcIiVzXCJcbiIKK21zZ3N0ciAiSW50ZXJuYWwgZXJyb3I6IG9wa29kZSBoaWxhbmc6IGAlcycgXCIlc1wiXG4iCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjgzOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcm5hbCBlcnJvcjogY2FuJ3QgZmluZCBvcGNvZGUgYCVzJyBmb3IgYCVzJ1xuIgorbXNnc3RyICJJbnRlcm5hbCBlcnJvcjogdGlkYWsgZGFwYXQgbWVuZW11a2FuIG9wa29kZSBgJXMnIHVudHVrIGAlcydcbiIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6OTc5Cittc2dpZCAiU3VwcG9ydCBmb3IgNjQtYml0IGFyaXRobWV0aWMgbm90IGNvbXBpbGVkIGluLiIKK21zZ3N0ciAiRHVrdW5nYW4gdW50dWsgYXJpdG1ldGlrIDY0IGJpdCB0aWRhayBkaWtvbXBpbGUuIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzoxMDI1Cittc2dpZCAic2V0OiBudW1iZXIgbm90IGluIDAuLjQyOTQ5NjcyOTUgcmFuZ2UiCittc2dzdHIgInNldDogbm9tb3IgdGlkYWsgZGFsYW0gamFuZ2thdWFuIDAuLjQyOTQ5NjcyOTUiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjEwMzIKK21zZ2lkICJzZXQ6IG51bWJlciBub3QgaW4gLTIxNDc0ODM2NDguLjQyOTQ5NjcyOTUgcmFuZ2UiCittc2dzdHIgInNldDogbm9tb3IgdGlkYWsgZGFsYW0gamFuZ2thdWFuIC0yMTQ3NDgzNjQ4Li40Mjk0OTY3Mjk1IgorCisjOiBjb25maWcvdGMtc3BhcmMuYzoxMDkxCittc2dpZCAic2V0c3c6IG51bWJlciBub3QgaW4gLTIxNDc0ODM2NDguLjQyOTQ5NjcyOTUgcmFuZ2UiCittc2dzdHIgInNldHN3OiBub21vciB0aWRhayBkYWxhbSBqYW5na2F1YW4gLTIxNDc0ODM2NDguLjQyOTQ5NjcyOTUiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjExMzkKK21zZ2lkICJzZXR4OiB0ZW1wb3JhcnkgcmVnaXN0ZXIgc2FtZSBhcyBkZXN0aW5hdGlvbiByZWdpc3RlciIKK21zZ3N0ciAic2V0eDogbmFtYSByZWdpc3RlciBzZW1lbnRhcmEgc2FtYSBkZW5nYW4gcmVnaXN0ZXIgdHVqdWFuIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzoxMjEwCittc2dpZCAic2V0eDogaWxsZWdhbCB0ZW1wb3JhcnkgcmVnaXN0ZXIgZzAiCittc2dzdHIgInNldHg6IHJlZ2lzdGVyIHNlbWVudGFyYSBnMCB0aWRhayBsZWdhbCIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MTMwNworbXNnaWQgIkZQIGJyYW5jaCBpbiBkZWxheSBzbG90IgorbXNnc3RyICJGUCBicmFuY2ggZGFsYW0gZGVsYXkgc2xvdCIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MTMyMgorbXNnaWQgIkZQIGJyYW5jaCBwcmVjZWRlZCBieSBGUCBpbnN0cnVjdGlvbjsgTk9QIGluc2VydGVkIgorbXNnc3RyICJGUCBicmFuY2ggZGlhd2FsaSBvbGVoIGluc3RydWtzaSBGUDsgTk9QIGRpbWFzdWthbiIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MTM2MgorbXNnaWQgImZhaWxlZCBzcGVjaWFsIGNhc2UgaW5zbiBzYW5pdHkgY2hlY2siCittc2dzdHIgImdhZ2FsIGthc3VzIHNwZXNpYWwgcGVtZXJpa3NhYW4gc2FuaXR5IGluc24iCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjE0NTAKK21zZ2lkICI6IGludmFsaWQgbWVtYmFyIG1hc2sgbmFtZSIKK21zZ3N0ciAiOiBuYW1hIG1hc2sgbWVtYmVyIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzoxNDY2Cittc2dpZCAiOiBpbnZhbGlkIG1lbWJhciBtYXNrIGV4cHJlc3Npb24iCittc2dzdHIgIjogZWtwcmVzaSBtYXNrIG1lbWJhciB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MTQ3MQorbXNnaWQgIjogaW52YWxpZCBtZW1iYXIgbWFzayBudW1iZXIiCittc2dzdHIgIjogbm9tb3IgbWFzayBtZW1iYXIgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjE0ODYKK21zZ2lkICI6IGludmFsaWQgc2lhbSBtb2RlIGV4cHJlc3Npb24iCittc2dzdHIgIjogZWtzcHJlc2kgbW9kZSBzaWFtIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzoxNDkxCittc2dpZCAiOiBpbnZhbGlkIHNpYW0gbW9kZSBudW1iZXIiCittc2dzdHIgIjogbm9tb3IgbW9kZSBzaWFtIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzoxNTA3Cittc2dpZCAiOiBpbnZhbGlkIHByZWZldGNoIGZ1bmN0aW9uIG5hbWUiCittc2dzdHIgIjogbmFtYSBmdW5nc2kgcHJlZmV0Y2ggdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjE1MTUKK21zZ2lkICI6IGludmFsaWQgcHJlZmV0Y2ggZnVuY3Rpb24gZXhwcmVzc2lvbiIKK21zZ3N0ciAiOiBla3NwcmVzaSBmdW5nc2kgcHJlZmV0Y2ggdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjE1MjAKK21zZ2lkICI6IGludmFsaWQgcHJlZmV0Y2ggZnVuY3Rpb24gbnVtYmVyIgorbXNnc3RyICI6IG5vbW9yIGZ1bmdzaSBwcmVmZXRjaCB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MTU0OCBjb25maWcvdGMtc3BhcmMuYzoxNTYwCittc2dpZCAiOiB1bnJlY29nbml6YWJsZSBwcml2aWxlZ2VkIHJlZ2lzdGVyIgorbXNnc3RyICI6IHJlZ2lzdGVyIHByaXZpbGVnZWQgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MTU4NCBjb25maWcvdGMtc3BhcmMuYzoxNTk2Cittc2dpZCAiOiB1bnJlY29nbml6YWJsZSBoeXBlcnByaXZpbGVnZWQgcmVnaXN0ZXIiCittc2dzdHIgIjogcmVnaXN0ZXIgaHlwZXJwcml2aWxlZ2VkIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjE2MjAgY29uZmlnL3RjLXNwYXJjLmM6MTY0NQorbXNnaWQgIjogdW5yZWNvZ25pemFibGUgdjlhIG9yIHY5YiBhbmNpbGxhcnkgc3RhdGUgcmVnaXN0ZXIiCittc2dzdHIgIjogdGlkYWsgZGlrZW5hbCB2OWEgYXRhdSB2OWIgYW5jaWxsYXJ5IHN0YXRlIHJlZ2lzdGVyIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzoxNjI1Cittc2dpZCAiOiByZCBvbiB3cml0ZSBvbmx5IGFuY2lsbGFyeSBzdGF0ZSByZWdpc3RlciIKK21zZ3N0ciAiOiByZCBkaSB3cml0ZSBoYW55YSBhbmNpbGxhcnkgc3RhdGUgcmVnaXN0ZXIiCisKKyMuICVzeXNfdGljayBhbmQgJXN5c190aWNrX2NtcHIgYXJlIHY5Ym5vdHY5YQorIzogY29uZmlnL3RjLXNwYXJjLmM6MTYzMworbXNnaWQgIjogdW5yZWNvZ25pemFibGUgdjlhIGFuY2lsbGFyeSBzdGF0ZSByZWdpc3RlciIKK21zZ3N0ciAiOiB0aWRhayBkaWtlbmFsIHY5YSByZWdpc3RlciBrZWFkYWFuIHRhbWJhaGFuIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzoxNjY5Cittc2dpZCAiOiBhc3IgbnVtYmVyIG11c3QgYmUgYmV0d2VlbiAxNiBhbmQgMzEiCittc2dzdHIgIjogYXNyIG5vbW9yIGhhcnVzIGJlcmFkYSBkaWFudGFyYSAxNiBkYW4gMzEiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjE2NzcKK21zZ2lkICI6IGFzciBudW1iZXIgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDMxIgorbXNnc3RyICI6IG5vbW9yIGFzciBoYXJ1cyBiZXJhZGEgZGlhbnRhcmEgMCBkYW4gMzEiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjE2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiOiBleHBlY3RpbmcgJWFzck4iCittc2dzdHIgIjogbWVuZHVnYSAlYXNyTiIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MTg3NCBjb25maWcvdGMtc3BhcmMuYzoxOTEyIGNvbmZpZy90Yy1zcGFyYy5jOjIzMjUKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjIzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCBvcGVyYW5kczogJSUlcyByZXF1aXJlcyBhcmd1bWVudHMgaW4gKCkiCittc2dzdHIgIk9wZXJhbiB0aWRhayBsZWdhOiAlJSVzIG1lbWJ1dHVoa2FuIGFyZ3VtZW4gZGFsYW0gKCkiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjE4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCBvcGVyYW5kczogJSUlcyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIG90aGVyIHJlbG9jcyBpbiB0aGUgaW5zbiAoKSIKK21zZ3N0ciAiT3BlcmFuIHRpZGFrIGxlZ2FsOiAlJSVzIHRpZGFrIGRhcGF0IGRpZ3VuYWthbiBiZXJzYW1hIGRlbmdhbiByZWxva2FzaSBsYWluIGRhbGFtIGluc24gKCkiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjE4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCBvcGVyYW5kczogJSUlcyBjYW4gYmUgb25seSB1c2VkIHdpdGggY2FsbCBfX3Rsc19nZXRfYWRkciIKK21zZ3N0ciAiT3BlcmFuIHRpZGFrIGxlZ2FsOiAlJSVzIGhhbnlhIGRhcGF0IGRpZ3VuYWthbiBkZW5nYW4gY2FsbCBfX3Rsc19nZXRfYWRkciIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MjA5OAorbXNnaWQgImRldGVjdGVkIGdsb2JhbCByZWdpc3RlciB1c2Ugbm90IGNvdmVyZWQgYnkgLnJlZ2lzdGVyIHBzZXVkby1vcCIKK21zZ3N0ciAidGVyZGV0ZWtzaSBwZW5nZ3VuYWFuIGdsb2JhbCByZWdpc3RlciB0aWRhayBkaWxpbmdrdXBpIG9sZWggLnJlZ2lzdGVyIHBzZXVkby1vcCIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MjE2OQorbXNnaWQgIjogVGhlcmUgYXJlIG9ubHkgNjQgZiByZWdpc3RlcnM7IFswLTYzXSIKK21zZ3N0ciAiOiBEaXNhbmEgaGFueWEgYWRhIDY0IGYgcmVnaXN0ZXI7IFswLTYzXSIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MjE3MSBjb25maWcvdGMtc3BhcmMuYzoyMTg5Cittc2dpZCAiOiBUaGVyZSBhcmUgb25seSAzMiBmIHJlZ2lzdGVyczsgWzAtMzFdIgorbXNnc3RyICI6IERpc2FuYSBoYW55YSBhZGEgMzIgZiByZWdpc3RlcjsgWzAtMzFdIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzoyMTgxCittc2dpZCAiOiBUaGVyZSBhcmUgb25seSAzMiBzaW5nbGUgcHJlY2lzaW9uIGYgcmVnaXN0ZXJzOyBbMC0zMV0iCittc2dzdHIgIjogRGlzYW5hIGhhbnlhIGFkYSAzMiBwcmVzaXNpIHR1bmdnYWwgZiByZWdpc3RlcjsgWzAtMzFdIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzoyMzczCisjLCBjLWZvcm1hdAorbXNnaWQgIklsbGVnYWwgb3BlcmFuZHM6IENhbid0IGRvIGFyaXRobWV0aWNzIG90aGVyIHRoYW4gKyBhbmQgLSBpbnZvbHZpbmcgJSUlcygpIgorbXNnc3RyICJPcGVyYW4gdGlkYWsgbGVnYTogVGlkYWsgZGFwYXQgbWVsYWt1a2FuIGFyaXRtZXRpayBzZWxhaW4gKyBkYW4gLSBtZWxpYmF0a2FuICUlJXMoKSIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsIG9wZXJhbmRzOiBDYW4ndCBhZGQgbm9uLWNvbnN0YW50IGV4cHJlc3Npb24gdG8gJSUlcygpIgorbXNnc3RyICJPcGVyYW4gdGlkYWsgbGVnYWw6IFRpZGFrIGRhcGF0IG1lbmFtYmFoa2FuIGVrcHJlc2kgdGlkYWsga29uc3RhbiBrZSAlJSVzKCkiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjI0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCBvcGVyYW5kczogQ2FuJ3QgZG8gYXJpdGhtZXRpY3MgaW52b2x2aW5nICUlJXMoKSBvZiBhIHJlbG9jYXRhYmxlIHN5bWJvbCIKK21zZ3N0ciAiT3BlcmFuIHRpZGFrIGxlZ2FsOiBUaWRhayBkYXBhdCBtZWxha3VrYW4gYXJpdG1ldGlrIG1lbGliYXRrYW4gJSUlcygpIGRhcmkgcmVsb2thc2kgc2ltYm9sIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzoyNTExCittc2dpZCAiOiBQQy1yZWxhdGl2ZSBvcGVyYW5kIGNhbid0IGJlIGEgY29uc3RhbnQiCittc2dzdHIgIjogUEMtcmVsYXRpZiBvcGVyYW4gdGlkYWsgZGFwYXQgYmVydXBhIHNlYnVhaCBrb25zdGFudGEiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjI1MTgKK21zZ2lkICI6IFRMUyBvcGVyYW5kIGNhbid0IGJlIGEgY29uc3RhbnQiCittc2dzdHIgIjogVExTIG9wZXJhbiB0aWRhayBkYXBhdCBiZXJ1cGEgc2VidWFoIGtvbnN0YW50YSIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MjU1MQorbXNnaWQgIjogaW52YWxpZCBBU0kgbmFtZSIKK21zZ3N0ciAiOiBuYW1hIEFTSSB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MjU1OQorbXNnaWQgIjogaW52YWxpZCBBU0kgZXhwcmVzc2lvbiIKK21zZ3N0ciAiOiBla3NwcmVzaSBBU0kgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjI1NjQKK21zZ2lkICI6IGludmFsaWQgQVNJIG51bWJlciIKK21zZ3N0ciAiOiBub21vciBBU0kgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjI2NjEKK21zZ2lkICJPUEYgaW1tZWRpYXRlIG9wZXJhbmQgb3V0IG9mIHJhbmdlICgwLTB4MWZmKSIKK21zZ3N0ciAiT1BGIG9wZXJhbiBsYW5nc3VuZyBkaWx1YXIgZGFyaSBqYW5na2F1YW4gKDAtMHgxZmYpIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzoyNjY2Cittc2dpZCAibm9uLWltbWVkaWF0ZSBPUEYgb3BlcmFuZCwgaWdub3JlZCIKK21zZ3N0ciAiYnVrYW4tbGFuZ3N1bmcgT1BGIG9wZXJhbiwgZGlhYmFpa2FuIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzoyNjg1Cittc2dpZCAiOiBpbnZhbGlkIGNwcmVnIG5hbWUiCittc2dzdHIgIjogbmFtYSBjcHJlZyB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsIG9wZXJhbmRzJXMiCittc2dzdHIgIm9wZXJhbnMlcyB0aWRhbCBsZWdhbCIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6Mjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICJhcmNoaXRlY3R1cmUgYnVtcGVkIGZyb20gXCIlc1wiIHRvIFwiJXNcIiBvbiBcIiVzXCIiCittc2dzdHIgImFyc2l0ZWt0dXIgYnVtcGVkIGRhcmkgXCIlc1wiIGtlIFwiJXNcIiBkaSBcIiVzXCIiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjI3ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXJjaGl0ZWN0dXJlIG1pc21hdGNoIG9uIFwiJXNcIi4iCittc2dzdHIgIkFyc2l0ZWt0dXIgdGlkYWsgY29jb2sgZGkgXCIlc1wiLiIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6Mjc4NQorIywgYy1mb3JtYXQKK21zZ2lkICIgKFJlcXVpcmVzICVzOyByZXF1ZXN0ZWQgYXJjaGl0ZWN0dXJlIGlzICVzLikiCittc2dzdHIgIiAoTWVtYnV0dWhrYW4gJXM7IGFyc2l0ZWt0dXIgeWFuZyBkaWluZ2lua2FuIGFkYWxhaCAlcy4pIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzozMzIwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvciB1bmhhbmRsZWQgcmVsb2NhdGlvbiB0eXBlOiAweCUwMngiCittc2dzdHIgImJ1cnVrIGF0YXUgdGlkYWsgdGVydGFuZ2FuaSB0aXBlIHJlbG9rYXNpOiAweCUwMngiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjM2NTMKK21zZ2lkICJFeHBlY3RlZCBjb21tYSBhZnRlciBuYW1lIgorbXNnc3RyICJEaWR1Z2Ega29tYSBzZXRlbGFoIG5hbWEiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjM2NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQlNTIGxlbmd0aCAoJWQuKSA8MCEgSWdub3JlZC4iCittc2dzdHIgInBhbmphbmcgQlNTICglZC4pIDwwISBEaWFiYWlrYW4uIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzozNjc0Cittc2dpZCAiYmFkIC5yZXNlcnZlIHNlZ21lbnQgLS0gZXhwZWN0ZWQgQlNTIHNlZ21lbnQiCittc2dzdHIgInNlZ21lbiAucmVzZXJ2ZSBidXJ1ayAtLSBkaWR1Z2Egc2VnbWVuIEJTUyIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MzcwMgorIywgYy1mb3JtYXQKK21zZ2lkICJhbGlnbm1lbnQgdG9vIGxhcmdlOyBhc3N1bWluZyAlZCIKK21zZ3N0ciAiYWxnbm1lbiB0ZXJsYWx1IGJlc2FyOyBkaWFzdW1zaWthbiAlZCIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MzcwOCBjb25maWcvdGMtc3BhcmMuYzozODU4Cittc2dpZCAibmVnYXRpdmUgYWxpZ25tZW50IgorbXNnc3RyICJhbGlnbm1lbiBuZWdhdGlmIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzozNzE4IGNvbmZpZy90Yy1zcGFyYy5jOjM4ODEgcmVhZC5jOjEzMjAgcmVhZC5jOjIzNTUKK21zZ2lkICJhbGlnbm1lbnQgbm90IGEgcG93ZXIgb2YgMiIKK21zZ3N0ciAiYWxpZ25tZW4gYnVrYW4ga2VsaXBhdGFuIGRhcmkgMiIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6Mzc5NSBjb25maWcvdGMtdjg1MC5jOjIyMgorbXNnaWQgIkV4cGVjdGVkIGNvbW1hIGFmdGVyIHN5bWJvbC1uYW1lIgorbXNnc3RyICJEaWR1Z2Ega29tYSBzZXRlbGFoIG5hbWEtc2ltYm9sIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzozODA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi5DT01Nb24gbGVuZ3RoICglbHUpIG91dCBvZiByYW5nZSBpZ25vcmVkIgorbXNnc3RyICJwYW5qYW5nIC5DT01Nb24gKCVsdSkgZGlsdWFyIGRhcmkgamFuZ2thdWFuIGRpYWJhaWthbiIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6MzgzOAorbXNnaWQgIkV4cGVjdGVkIGNvbW1hIGFmdGVyIGNvbW1vbiBsZW5ndGgiCittc2dzdHIgIkRpZHVnYSBrb21hIHNldGVsYWggcGFuamFuZyB1bXVtIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzozODUyCisjLCBjLWZvcm1hdAorbXNnaWQgImFsaWdubWVudCB0b28gbGFyZ2U7IGFzc3VtaW5nICVsZCIKK21zZ3N0ciAiYWxpZ25tZW4gdGVybGFsdSBiZXNhcjsgZGlhc3Vtc2lrYW4gJWxkIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzozOTk2Cittc2dpZCAiVW5rbm93biBzZWdtZW50IHR5cGUiCittc2dzdHIgIlRpcGUgc2VnbWVuIHRpZGFrIGRpa2V0YWh1aSIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6NDA3MSBjb25maWcvdGMtc3BhcmMuYzo0MDgxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZ2lzdGVyIHN5bnRheCBpcyAucmVnaXN0ZXIgJSVnWzIzNjddLHsjc2NyYXRjaHxzeW1ib2xuYW1lfCNpZ25vcmV9IgorbXNnc3RyICJzaW50YWtzIHJlZ2lzdGVyIGFkYWxhaCAucmVnaXN0ZXIgJSVnWzIzNjddLHsjc2NyYXRjaHxuYW1hc2ltYm9sfCNpZ25vcmV9IgorCisjOiBjb25maWcvdGMtc3BhcmMuYzo0MDk5Cittc2dpZCAicmVkZWZpbml0aW9uIG9mIGdsb2JhbCByZWdpc3RlciIKK21zZ3N0ciAicmVkZWZpbmlzaSBkYXJpIHJlZ2lzdGVyIGdsb2JhbCIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6NDExMAorIywgYy1mb3JtYXQKK21zZ2lkICJSZWdpc3RlciBzeW1ib2wgJXMgYWxyZWFkeSBkZWZpbmVkLiIKK21zZ3N0ciAiU2ltYm9sIHJlZ2lzdGVyICVzIHRlbGFoIHRlcmRlZmluaXNpLiIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6NDMxNQorIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsIG9wZXJhbmRzOiAlJXJfcGx0IGluICVkLWJ5dGUgZGF0YSBmaWVsZCIKK21zZ3N0ciAiT3BlcmFuIHRpZGFrIGxlZ2FsOiAlJXJfcGx0IGRhbGFtICVkLWJ5dGUgZGF0YSBmaWVsZCIKKworIzogY29uZmlnL3RjLXNwYXJjLmM6NDMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsIG9wZXJhbmRzOiAlJXJfdGxzX2R0cG9mZiBpbiAlZC1ieXRlIGRhdGEgZmllbGQiCittc2dzdHIgIk9wZXJhbiB0aWRhayBsZWdhbDogJSVyX3Rsc19kdHBvZmYgZGFsYW0gJWQtYnl0ZSBkYXRhIGZpZWxkIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzo0MzYyIGNvbmZpZy90Yy12YXguYzozMzEyCisjLCBjLWZvcm1hdAorbXNnaWQgIklsbGVnYWwgb3BlcmFuZHM6IE9ubHkgJSVyXyVzJWQgYWxsb3dlZCBpbiAlZC1ieXRlIGRhdGEgZmllbGRzIgorbXNnc3RyICJPcGVyYW4gdGlkYWsgbGVnYWw6IEhhbnlhICUlcl8lcyVkIGRpaWppbmthbiBkYWxhbSAlZC1ieXRlIGRhdGEgZmllbGRzIgorCisjOiBjb25maWcvdGMtc3BhcmMuYzo0MzcwIGNvbmZpZy90Yy1zcGFyYy5jOjQ0MDEgY29uZmlnL3RjLXNwYXJjLmM6NDQxMAorIzogY29uZmlnL3RjLXZheC5jOjMzMjAgY29uZmlnL3RjLXZheC5jOjMzNTEgY29uZmlnL3RjLXZheC5jOjMzNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCBvcGVyYW5kczogJSVyXyVzJWQgcmVxdWlyZXMgYXJndW1lbnRzIGluICgpIgorbXNnc3RyICJPcGVyYW4gdGlkYWsgbGVnYWw6ICUlcl8lcyVkIG1lbWJ1dHVoa2FuIGFyZ3VtZW4gZGFsYW0gKCkiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5jOjQ0MTkgY29uZmlnL3RjLXZheC5jOjMzNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCBvcGVyYW5kczogZ2FyYmFnZSBhZnRlciAlJXJfJXMlZCgpIgorbXNnc3RyICJPcGVyYW4gdGlkYWsgbGVnYWw6IHNhbXBhaCBzZXN1ZGFoICUlcl8lcyVkKCkiCisKKyM6IGNvbmZpZy90Yy1zcGFyYy5oOjYwCittc2dpZCAic3BhcmMgY29udmVydF9mcmFnXG4iCittc2dzdHIgInNwYXJjIGNvbnZlcnRfZnJhZ1xuIgorCisjOiBjb25maWcvdGMtc3BhcmMuaDo2MiBjb25maWcvdGMtejgwLmg6NTMKK21zZ2lkICJlc3RpbWF0ZV9zaXplX2JlZm9yZV9yZWxheCBjYWxsZWQiCittc2dzdHIgImVzdGltYXRlX3NpemVfYmVmb3JlX3JlbGF4IGRpcGFuZ2dpbCIKKworIzogY29uZmlnL3RjLXNwdS5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBoYXNoIGluc3RydWN0aW9uICclcyc6JXMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdoYXNoIGluc3RydWtzaSAnJXMnOiVzIgorCisjOiBjb25maWcvdGMtc3B1LmM6MTgxCittc2dpZCAiIgorIlNQVSBvcHRpb25zOlxuIgorIiAgLS1hcHVhc21cdFx0ICBlbXVsYXRlIGJlaGF2aW91ciBvZiBhcHVhc21cbiIKK21zZ3N0ciAiIgorIm9wc2kgU1BVOlxuIgorIiAgLS1hcHVhc21cdFx0ICBlbXVsYXNpa2FuIHBlcmlsYWt1IGRhcmkgYXB1YXNtXG4iCisKKyM6IGNvbmZpZy90Yy1zcHUuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBtbmVtb25pYyAnJXMnIgorbXNnc3RyICJtbmVtb25pYyAnJXMnIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtc3B1LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgb25seSBhdmFpbGFibGUgaW4gREQyLjAgb3IgaGlnaGVyLiIKK21zZ3N0ciAiJyVzJyBoYW55YSB0ZXJzZWRpYSBkYWxhbSBERDIuMCBhdGF1IGxlYmloIHRpbmdnaS4iCisKKyM6IGNvbmZpZy90Yy1zcHUuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXJyb3IgaW4gYXJndW1lbnQgJWQuICBFeHBlY3Rpbmc6ICBcIiVzXCIiCittc2dzdHIgIkVycm9yIGRhbGFtIGFyZ3VtZW4gJWQuIERpZHVnYTogXCIlc1wiIgorCisjOiBjb25maWcvdGMtc3B1LmM6MzM2Cittc2dpZCAiTWl4aW5nIHJlZ2lzdGVyIHN5bnRheCwgd2l0aCBhbmQgd2l0aG91dCAnJCcuIgorbXNnc3RyICJNZW5jYW1wdXJrYW4gc2ludGFrcyByZWdpc3RlciwgZGVuZ2FuIGRhbiB0YW5wYSAnJCcuIgorCisjOiBjb25maWcvdGMtc3B1LmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyZWF0aW5nICclLSpzJyBhcyBhIHN5bWJvbC4iCittc2dzdHIgIk1lbXBlcmxha3VrYW4gJyUtKnMnIHNlYmFnYWkgc2VidWFoIHNpbWJvbC4iCisKKyM6IGNvbmZpZy90Yy1zcHUuYzo1NDgKK21zZ2lkICInU1BVX1JkRXZlbnRNYXNrJyAoY2hhbm5lbCAxMSkgaXMgb25seSBhdmFpbGFibGUgaW4gREQyLjAgb3IgaGlnaGVyLiIKK21zZ3N0ciAiJ1NQVV9SZEV2ZW50TWFzaycgKGNoYW5uZWwgMTEpIGhhbnlhIHRlcnNlZGlhIGRhbGFtIEREMi4wIGF0YXUgbGViaWggdGluZ2dpLiIKKworIzogY29uZmlnL3RjLXNwdS5jOjU1MAorbXNnaWQgIidNRkNfUmRUYWdNYXNrJyAoY2hhbm5lbCAxMikgaXMgb25seSBhdmFpbGFibGUgaW4gREQyLjAgb3IgaGlnaGVyLiIKK21zZ3N0ciAiJ01GQ19SZFRhZ01hc2snIChjaGFubmVsIDEyKSBoYW55YSB0ZXJzZWRpYSBkYWxhbSBERDIuMCBhdGF1IGxlYmloIHRpbmdnaS4iCisKKyM6IGNvbmZpZy90Yy1zcHUuYzo1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgb2xkIHN0eWxlLCAlJWxvKGV4cHIpLCBwbGVhc2UgY2hhbmdlIHRvIFBQQyBzdHlsZSwgZXhwckBsLiIKK21zZ3N0ciAiTWVuZ2d1bmFrYW4gZ2F5YSBsYW1hLCAlJWxvKGV4cHIpLCB0b2xvbmcgdWJhaCBrZSBnYXlhIFBQQywgZXhwckBsLiIKKworIzogY29uZmlnL3RjLXNwdS5jOjU5OQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBvbGQgc3R5bGUsICUlaGkoZXhwciksIHBsZWFzZSBjaGFuZ2UgdG8gUFBDIHN0eWxlLCBleHByQGguIgorbXNnc3RyICJNZW5nZ3VuYWthbiBnYXlhIGxhbWEsICUlaGkoZXhwciksIHRvbG9uZyB1YmFoIGtlIGdheWEgUFBDLCBleHByQGgiCisKKyM6IGNvbmZpZy90Yy1zcHUuYzo2NjkgY29uZmlnL3RjLXNwdS5jOjY3MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb25zdGFudCBleHByZXNzaW9uICVkIG91dCBvZiByYW5nZSwgWyVkLCAlZF0uIgorbXNnc3RyICJLb25zdGFuIGVrcHJlc2kgJWQgZGlsdWFyIGRhcmkgamFuZ2thdWFuLCBbJWQsICVkXS4iCisKKyM6IGNvbmZpZy90Yy1zcHUuYzo4MDYKK21zZ2lkICJSZWxheGF0aW9uIHNob3VsZCBuZXZlciBvY2N1ciIKK21zZ3N0ciAiUmVsYWtzYXNpIHNlaGFydXNueWEgdGlkYWsgcGVybmFoIHRlcmphZGkiCisKKyM6IGNvbmZpZy90Yy1zcHUuaDo4MworbXNnaWQgInNwdSBjb252ZXJ0X2ZyYWdcbiIKK21zZ3N0ciAic3B1IGNvbnZlcnRfZnJhZ1xuIgorCisjOiBjb25maWcvdGMtdGljNHguYzoyNzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJUSUM0WCBvcHRpb25zOlxuIgorIiAgLW1jcHU9Q1BVICAtbUNQVSAgICAgICAgc2VsZWN0IGFyY2hpdGVjdHVyZSB2YXJpYW50LiBDUFUgY2FuIGJlOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMCAtIFRNUzMyMEMzMFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMSAtIFRNUzMyMEMzMSwgVE1TMzIwTEMzMVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMiAtIFRNUzMyMEMzMlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMyAtIFRNUzMyMFZDMzNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDAgLSBUTVMzMjBDNDBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQgLSBUTVMzMjBDNDRcbiIKKyIgIC1tcmV2PVJFViAgICAgICAgICAgICAgIHNldCBjcHUgaGFyZHdhcmUgcmV2aXNpb24gKGludGVnZXIgbnVtYmVycykuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBDb21iaW5hdGlvbnMgb2YgLW1jcHUgYW5kIC1tcmV2IHdpbGwgZW5hYmxlL2Rpc2FibGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBhcHByb3ByaWF0ZSBvcHRpb25zICgtbWlkbGUyLCAtbWxvd3Bvd2VyIGFuZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgLW1lbmhhbmNlZCkgYWNjb3JkaW5nIHRvIHRoZSBzZWxlY3RlZCB0eXBlXG4iCisiICAtbWJpZyAgICAgICAgICAgICAgICAgICBzZWxlY3QgYmlnIG1lbW9yeSBtb2RlbFxuIgorIiAgLW1zbWFsbCAgICAgICAgICAgICAgICAgc2VsZWN0IHNtYWxsIG1lbW9yeSBtb2RlbCAoZGVmYXVsdClcbiIKKyIgIC1tcmVncGFybSAgICAgICAgICAgICAgIHNlbGVjdCByZWdpc3RlciBwYXJhbWV0ZXJzIChkZWZhdWx0KVxuIgorIiAgLW1tZW1wYXJtICAgICAgICAgICAgICAgc2VsZWN0IG1lbW9yeSBwYXJhbWV0ZXJzXG4iCisiICAtbWlkbGUyICAgICAgICAgICAgICAgICBlbmFibGUgSURMRTIgc3VwcG9ydFxuIgorIiAgLW1sb3dwb3dlciAgICAgICAgICAgICAgZW5hYmxlIExPUE9XRVIgYW5kIE1BWFNQRUVEIHN1cHBvcnRcbiIKKyIgIC1tZW5oYW5jZWQgICAgICAgICAgICAgIGVuYWJsZSBlbmhhbmNlZCBvcGNvZGUgc3VwcG9ydFxuIgorbXNnc3RyICIiCisiXG4iCisiT3BzaSBUSUM0WDpcbiIKKyIgIC1tY3B1PUNQVSAgLW1DUFUgICAgICAgICAgcGlsaWggdmFyaWFzaSBhcnNpdGVrdHVyLiBDUFUgZGFwYXQgYmVydXBhOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwIC0gVE1TMzIwQzMwXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzEgLSBUTVMzMjBDMzEsIFRNUzMyMExDMzFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMiAtIFRNUzMyMEMzMlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMzIC0gVE1TMzIwVkMzM1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwIC0gVE1TMzIwQzQwXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQgLSBUTVMzMjBDNDRcbiIKKyIgIC1tcmV2PVJFViAgICAgICAgICAgICAgICAgc2V0IHJldmlzaSBwZXJhbmdrYXQgY3B1IChiaWxhbmdhbiBidWxhdCkuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtvbWJpbmFzaSBkYXJpIC1tY3B1IGRhbiAtbXJldiBha2FuIG1lbmFrdGlma2FuL21lbm9uLWFrdGlma2FuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wc2kgeWFuZyBzZXN1YWkgKC1taWRsZTIsIC1tbG93cG93ZXIgZGFuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tZW5oYW5jZWQpIG1lbnVydXQgdGlwZSB5YW5nIGRpcGlsaWhcbiIKKyIgIC1tYmlnICAgICAgICAgICAgICAgICAgICAgcGlsaWggbW9kZWwgbWVtb3JpIGJlc2FyXG4iCisiICAtbXNtYWxsICAgICAgICAgICAgICAgICAgIHBpbGloIG1vZGVsIG1lbW9yaSBrZWNpbCAoYmFrdSlcbiIKKyIgIC1tcmVncGFybSAgICAgICAgICAgICAgICAgcGlsaWggcGFyYW1ldGVyIHJlZ2lzdGVyIChiYWt1KVxuIgorIiAgLW1tZW1wYXJtICAgICAgICAgICAgICAgICBwaWxpaCBwYXJhbWV0ZXIgbWVtb3JpXG4iCisiICAtbWlkbGUyICAgICAgICAgICAgICAgICAgIGFrdGlma2FuIGR1a3VuZ2FuIElETEUyXG4iCisiICAtbWxvd3Bvd2VyICAgICAgICAgICAgICAgIGFrdGlma2FuIGR1a3VuZ2FuIExPUE9XRVIgZGFuIE1BWFNQRUVEXG4iCisiICAtbWVuaGFuY2VkICAgICAgICAgICAgICAgIGFrdGlma2FuIGR1a3VuZ2FuIGVuaGFuY2VkIG9wa29kZVxuIgorCisjLiBPbmx5IHdvcmQgKGV0IGFsLiksIGFsaWduLCBvciBjb25kaXRpb25hbHMgYXJlIGFsbG93ZWQgd2l0aGluCisjLiAuc3RydWN0Ly51bmlvbi4KKyM6IGNvbmZpZy90Yy10aWM1NHguYzoyMjAKK21zZ2lkICJwc2V1ZG8tb3AgaWxsZWdhbCB3aXRoaW4gLnN0cnVjdC8udW5pb24iCittc2dzdHIgInBzZXVkby1vcCB0aWRhayBsZWdhbCBkYWxhbSAuc3RydWN0Ly51bmlvbiIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDNTR4LXNwZWNpZmljIGNvbW1hbmQgbGluZSAgb3B0aW9uczpcbiIKK21zZ3N0ciAib3BzaSBiYXJpcyBwZXJpbnRhaCBDNTR4IHNwZXNpZmlrOlxuIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIi1tZmFyLW1vZGUgfCAtbWYgICAgICAgICAgVXNlIGV4dGVuZGVkIGFkZHJlc3NpbmdcbiIKK21zZ3N0ciAiLW1mYXItbW9kZSB8IC1tZiAgICAgICAgICBNZW5nZ3VuYWthbiBwZW5nYWxhbWF0YW4gZWtzdGVuZGVkXG4iCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLW1jcHU9PENQVSB2ZXJzaW9uPiAgICAgICBTcGVjaWZ5IHRoZSBDUFUgdmVyc2lvblxuIgorbXNnc3RyICItbWNwdT08VmVyc2kgQ1BVPiAgICAgICAgIFNwZXNpZmlrYXNpa2FuIHZlcnNpIENQVVxuIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIi1tZXJyb3JzLXRvLWZpbGUgPGZpbGVuYW1lPlxuIgorbXNnc3RyICItbWVycm9ycy10by1maWxlIDxuYW1hIGJlcmthcz5cbiIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICItbWUgPGZpbGVuYW1lPiAgICAgICAgICAgIFJlZGlyZWN0IGVycm9ycyB0byBhIGZpbGVcbiIKK21zZ3N0ciAiLW1lIDxuYW1hIGJlcmthcz4gICAgICAgICBSZWRpcmVrIGVycm9yIGtlIHNlYnVhaCBiZXJrYXNcbiIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjM1MAorbXNnaWQgIkNvbW1hIGFuZCBzeW1ib2wgZXhwZWN0ZWQgZm9yICcuYXNnIFNUUklORywgU1lNQk9MJyIKK21zZ3N0ciAiS29tYSBkYW4gc2ltYm9sIGRpZHVnYSB1bnR1ayAnLmFzZyBTVFJJTkcsIFNJTUJPTCciCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0MDMKK21zZ2lkICJVbnRlcm1pbmF0ZWQgc3RyaW5nIGFmdGVyIGFic29sdXRlIGV4cHJlc3Npb24iCittc2dzdHIgIlN0cmluZyB0aWRhayBkaXNlbGVzYWlrYW4gc2V0ZWxhaCBla3NwcmVzaSBhYnNvbHV0IgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6NDExCittc2dpZCAiQ29tbWEgYW5kIHN5bWJvbCBleHBlY3RlZCBmb3IgJy5ldmFsIEVYUFIsIFNZTUJPTCciCittc2dzdHIgIktvbWEgZGFuIHNpbWJvbCBkaWR1Z2EgdW50dWsgJy5ldmFsIEVYUFIsIFNJTUJPTCciCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0MjMKK21zZ2lkICJzeW1ib2xzIGFzc2lnbmVkIHdpdGggLmV2YWwgbXVzdCBiZWdpbiB3aXRoIGEgbGV0dGVyIgorbXNnc3RyICJzaW1ib2wgZGlhc3NpZ24gZGVuZ2FuIC5ldmFsIGhhcnVzIGRpYXdhbGkgZGVuZ2FuIHNlYnVhaCBrYXRhIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6Njc3Cittc2dpZCAiT2Zmc2V0IG9uIG5lc3RlZCBzdHJ1Y3R1cmVzIGlzIGlnbm9yZWQiCittc2dzdHIgIk9mc2V0IGRpIHN0cnVrdHVyIG5lc3RlZCBkaWFiYWlrYW4iCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLmVuZCVzIHdpdGhvdXQgcHJlY2VkaW5nIC4lcyIKK21zZ3N0ciAiLmVuZCVzIHRhbnBhIGRpYXdhbGkgLiVzIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6NzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVucmVjb2duaXplZCBzdHJ1Y3QvdW5pb24gdGFnICclcyciCittc2dzdHIgIlRhbmRhIHN0cnVjdC91bmlvbiB0aWRhayBkaWtlbmFsICclcyciCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo3OTUKK21zZ2lkICIudGFnIHJlcXVpcmVzIGEgc3RydWN0dXJlIHRhZyIKK21zZ3N0ciAiLnRhZyBtZW1idXR1aGthbiB0YW5kYSBzdHJ1a3R1ciIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjgwMQorbXNnaWQgIkxhYmVsIHJlcXVpcmVkIGZvciAudGFnIgorbXNnc3RyICJMYWJlbCBkaWJ1dHVoa2FuIHVudHVrIC50YWciCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo4MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLnRhZyB0YXJnZXQgJyVzJyB1bmRlZmluZWQiCittc2dzdHIgIi50YWcgdGFyZ2V0ICclcycgdGlkYWsgdGVyZGVmaW5pc2kiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo4ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLmZpZWxkIGNvdW50ICclZCcgb3V0IG9mIHJhbmdlICgxIDw9IFggPD0gMzIpIgorbXNnc3RyICJqdW1sYWggLmZpZWxkICclZCcgZGlsdWFyIGRhcmkgamFuZ2thdWFuICgxIDw9IFggPD0gMzIpIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6OTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCB0eXBlICclYyciCittc2dzdHIgIlRpcGUgZmllbGQgJyVjJyB0aWRhayBkaWtlbmFsIgorCisjLiBEaXNhbGxvdyAuYnl0ZSB3aXRoIGEgbm9uIGNvbnN0YW50IGV4cHJlc3Npb24gdGhhdCB3aWxsCisjLiByZXF1aXJlIHJlbG9jYXRpb24uCisjOiBjb25maWcvdGMtdGljNTR4LmM6MTA0NgorbXNnaWQgIlJlbG9jYXRhYmxlIHZhbHVlcyByZXF1aXJlIGF0IGxlYXN0IFdPUkQgc3RvcmFnZSIKK21zZ3N0ciAiTmlsYWkgcmVsb2thc2kgbWVtYnV0dWhrYW4gcGFsaW5nIHRpZGFrIHBlbnlpbXBhbmFuIFdPUkQiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzoxMTA3Cittc2dpZCAiVXNlIG9mIC5kZWYvLnJlZiBpcyBkZXByZWNhdGVkLiAgVXNlIC5nbG9iYWwgaW5zdGVhZCIKK21zZ3N0ciAiUGVuZ2d1bmFhbiBkYXJpIC5kZWYvLnJlZiBhZGFsYWgga2FkYWx1YXJzYS4gTGViaWggYmFpayBndW5ha2FuIC5nbG9iYWwiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzoxMzAxCittc2dpZCAiLnNwYWNlLy5iZXMgcmVwZWF0IGNvdW50IGlzIG5lZ2F0aXZlLCBpZ25vcmVkIgorbXNnc3RyICJqdW1sYWggcGVuZ3VsYW5nYW4gLnNwYWNlLy5iZXNzcyBhZGFsYWggbmVnYXRpZiwgZGlhYmFpa2FuIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MTMwNgorbXNnaWQgIi5zcGFjZS8uYmVzIHJlcGVhdCBjb3VudCBpcyB6ZXJvLCBpZ25vcmVkIgorbXNnc3RyICJqdW1sYWggcGVuZ3VsYW5nYW4gLnNwYWNlLy5iZXMgYWRhbGFoIG5vbCwgZGlhYmFpa2FuIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MTM4MworbXNnaWQgIk1pc3Npbmcgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiSGlsYW5nIGFyZ3VtZW4gdWt1cmFuIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MTUxNworbXNnaWQgIkNQVSB2ZXJzaW9uIGhhcyBhbHJlYWR5IGJlZW4gc2V0IgorbXNnc3RyICJWZXJzaSBDUFUgdGVsYWggZGlzZXQiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzoxNTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlVucmVjb2duaXplZCB2ZXJzaW9uICclcyciCittc2dzdHIgIlZlcnNpICclcycgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjE1MjcKK21zZ2lkICJDaGFuZ2luZyBvZiBDUFUgdmVyc2lvbiBvbiB0aGUgZmx5IG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIk1lbmd1YmFoIHZlcnNpIENQVSB3YWt0dSBiZXJqYWxhbiB0aWRhayBkaWR1a3VuZyIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjE2NjAKK21zZ2lkICJwMmFsaWduIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyB0YXJnZXQiCittc2dzdHIgInAyYWxpZ24gdGlkYWsgZGlkdWt1bmcgZGkgdGFyZ2V0IGluaSIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjE2NzIKK21zZ2lkICJBcmd1bWVudCB0byAuZXZlbiBpZ25vcmVkIgorbXNnc3RyICJBcmdtZW4ga2UgLmV2ZW4gZGlhYmFpa2FuIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MTcxOAorbXNnaWQgIkludmFsaWQgZmllbGQgc2l6ZSwgbXVzdCBiZSBmcm9tIDEgdG8gMzIiCittc2dzdHIgIlVrdXJhbiBmaWVsZCB0aWRhayB2YWxpZCwgaGFydXMgZGFyaSAxIGtlIDMyIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MTczMQorbXNnaWQgImZpZWxkIHNpemUgbXVzdCBiZSAxNiB3aGVuIHZhbHVlIGlzIHJlbG9jYXRhYmxlIgorbXNnc3RyICJVa3VyYW4gZmllbGQgaGFydXMgMTYga2V0aWthIG5pbGFpIGRpcmVsb2thc2kiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzoxNzQ2Cittc2dpZCAiZmllbGQgdmFsdWUgdHJ1bmNhdGVkIgorbXNnc3RyICJuaWxhaSBmaWVsZCBkaXBvdG9uZyIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjE4NTMgY29uZmlnL3RjLXRpYzU0eC5jOjIxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5yZWNvZ25pemVkIHNlY3Rpb24gJyVzJyIKK21zZ3N0ciAiRGFlcmFoICclcycgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjE4NjIKK21zZ2lkICJDdXJyZW50IHNlY3Rpb24gaXMgdW5pdGlhbGl6ZWQsIHNlY3Rpb24gbmFtZSByZXF1aXJlZCBmb3IgLmNsaW5rIgorbXNnc3RyICJEYWVyYWggc2VrYXJhbmcgdGlkYWsgdGVyaW5pc2lhbGxpc2FzaSwgbmFtYSBkYWVyYWggZGlidXR1aGthbiB1bnR1ayAuY2xpbmsiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzoyMDY5Cittc2dpZCAiRU5ETE9PUCB3aXRob3V0IGNvcnJlc3BvbmRpbmcgTE9PUCIKK21zZ3N0ciAiRU5ETE9PUCB0YW5wYSBwYXNhbmdhbiBMT09QIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MjExMAorbXNnaWQgIk1peGluZyBvZiBub3JtYWwgYW5kIGV4dGVuZGVkIGFkZHJlc3Npbmcgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiTWVuY2FtcHVya2FuIHBlbmdhbGFtYXRhbiBub3JtYWwgZGFuIGVrc3RlbnNpIHRpZGFrIGRpZHVrdW5nIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MjExNgorbXNnaWQgIkV4dGVuZGVkIGFkZHJlc3Npbmcgbm90IHN1cHBvcnRlZCBvbiB0aGUgc3BlY2lmaWVkIENQVSIKK21zZ3N0ciAiUGVuZ2FsYW1hdGFuIGVrc3RlbnNpIHRpZGFrIGRpZHVrdW5nIGRpIENQVSB5YW5nIGRpc3Blc2lmaWthc2lrYW4iCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzoyMTY1Cittc2dpZCAiLnNibG9jayBtYXkgYmUgdXNlZCBmb3IgaW5pdGlhbGl6ZWQgc2VjdGlvbnMgb25seSIKK21zZ3N0ciAiLnNibG9jayBtdW5na2luIGRpZ3VuYWthbiB1bnR1ayBkYWVyYWggeWFuZyBkaWluaXNpYWxpc2FzaSBzYWphIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MjE5NQorbXNnaWQgIlN5bWJvbCBtaXNzaW5nIGZvciAuc2V0Ly5lcXUiCittc2dzdHIgIlNpbWJvbCB1bnR1ayAuc2V0Ly5lcXUgaGlsYW5nIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MjI1MQorbXNnaWQgIi52YXIgbWF5IG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBtYWNybyBkZWZpbml0aW9uIgorbXNnc3RyICIudmFyIGhhbnlhIGJvbGVoIGRpZ3VuYWthbiBkYWxhbSBzZWJ1YWggZGVmaW5pc2kgbWFrcm8iCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzoyMjU5Cittc2dpZCAiU3Vic3RpdHV0aW9uIHN5bWJvbHMgbXVzdCBiZWdpbiB3aXRoIGEgbGV0dGVyIgorbXNnc3RyICJQZW5nZ2FudGlhbiBzaW1ib2wgaGFydXMgZGlhd2FsaSBkZW5nYW4gc2VidWFoIGthdGEiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzoyMzUyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IG9wZW4gbWFjcm8gbGlicmFyeSBmaWxlICclcycgZm9yIHJlYWRpbmc6ICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthIGJlcmthcyBwZXJwdXN0YWthYW4gbWFrcm8gJyVzJyB1bnR1ayBwZW1iYWNhYW46ICVzIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlICclcycgbm90IGluIG1hY3JvIGFyY2hpdmUgZm9ybWF0IgorbXNnc3RyICJCZXJrYXMgJyVzJyB0aWRhayBkYWxhbSBmb3JtYXQgYXJjaGl2ZSBtYWtybyIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjI0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIENPRkYgdmVyc2lvbiAnJXMnIgorbXNnc3RyICJWZXJzaSBDT0ZGICclcycgYnVydWsiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzoyNDk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCBDUFUgdmVyc2lvbiAnJXMnIgorbXNnc3RyICJWZXJzaSBDUFUgJyVzJyBidXJ1ayIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjI1MTEgY29uZmlnL3RjLXRpYzU0eC5jOjI1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgcmVkaXJlY3Qgc3RkZXJyIHRvIHRoZSBmaWxlICclcyciCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lcmVkaXJla3NpIHN0ZGVyciBrZSBiZXJrYXMgJyVzJyIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjI2MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5kZWZpbmVkIHN1YnN0aXR1dGlvbiBzeW1ib2wgJyVzJyIKK21zZ3N0ciAiUGVuZ2dhbnRpYW4gc2ltYm9sICclcycgdGlkYWsgdGVyZGVmaW5pc2kiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzozMjE4Cittc2dpZCAiQmFkbHkgZm9ybWVkIGFkZHJlc3MgZXhwcmVzc2lvbiIKK21zZ3N0ciAiUGVybnlhdGFhbiBhbGFtYXQgbWVtaWxpa2kgYmVudHVrIGJ1cnVrIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MzQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGRtYWQgc3ludGF4ICclcyciCittc2dzdHIgInNpbnRha3MgZG1hZCAnJXMnIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MzUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgdGhlIC5tbXJlZ3MgZGlyZWN0aXZlIHRvIHVzZSBtZW1vcnktbWFwcGVkIHJlZ2lzdGVyIG5hbWVzIHN1Y2ggYXMgJyVzJyIKK21zZ3N0ciAiUGVuZ2d1bmFhbiBkaXJla3RpZiAubW1yZWdzIHVudHVrIG1lbmdndW5ha2FuIG5hbWEgcmVnaXN0ZXIgbWVtb3JpLW1hcHBlZCBzZXBlcnRpICclcyciCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzozNTg2Cittc2dpZCAiQWRkcmVzcyBtb2RlICorQVJ4IGlzIHdyaXRlLW9ubHkuIFJlc3VsdHMgb2YgcmVhZGluZyBhcmUgdW5kZWZpbmVkLiIKK21zZ3N0ciAiTW9kZSBhbGFtYXQgKitBUnggYWRhbGFoIHR1bGlzLXNhamEuIEhhc2lsIGRhcmkgcGVtYmFjYWFuIHRpZGFrIHRlcmRlZmluaXNpLiIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjM2MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5yZWNvZ25pemVkIGluZGlyZWN0IGFkZHJlc3MgZm9ybWF0IFwiJXNcIiIKK21zZ3N0ciAiRm9ybWF0IGFsYW1hdCBcIiVzXCIgdGlkYWsgbGFuZ3N1bmcgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjM2NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3BlcmFuZCAnJXMnIG91dCBvZiByYW5nZSAoJWQgPD0geCA8PSAlZCkiCittc2dzdHIgIk9wZXJhbiAnJXMnIGRpbHVhciBkYXJpIGphbmdrYXVhbiAoJWQgPD0geCA8PSAlZCkiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzozNjY0Cittc2dpZCAiRXJyb3IgaW4gcmVsb2NhdGlvbiBoYW5kbGluZyIKK21zZ3N0ciAiRXJyb3IgZGFsYW0gcGVuYW5nYW5hbiByZWxva2FzaSIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjM2ODMgY29uZmlnL3RjLXRpYzU0eC5jOjM3NDUgY29uZmlnL3RjLXRpYzU0eC5jOjM3NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5yZWNvZ25pemVkIGNvbmRpdGlvbiBjb2RlIFwiJXNcIiIKK21zZ3N0ciAiS29uZGlzaSBrb2RlIFwiJXNcIiB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MzcwMAorIywgYy1mb3JtYXQKK21zZ2lkICJDb25kaXRpb24gXCIlc1wiIGRvZXMgbm90IG1hdGNoIHByZWNlZGluZyBncm91cCIKK21zZ3N0ciAiS29uZGlzaSBcIiVzXCIgdGlkYWsgY29jb2sgZGVuZ2FuIGdydXAgc2ViZWx1bW55YSIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjM3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29uZGl0aW9uIFwiJXNcIiB1c2VzIGEgZGlmZmVyZW50IGFjY3VtdWxhdG9yIGZyb20gYSBwcmVjZWRpbmcgY29uZGl0aW9uIgorbXNnc3RyICJLb25kaXNpIFwiJXNcIiBtZW5nZ3VuYWthbiBha3VtdWxhdG9yIGJlcmJlZGEgZGFyaSBrb25kaXNpIHNlYmVsdW1ueWEiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzozNzE1Cittc2dpZCAiT25seSBvbmUgY29tcGFyaXNvbiBjb25kaXRpb25hbCBhbGxvd2VkIgorbXNnc3RyICJIYW55YSBzYXR1IHBlcmJhbmRpbmdhbiBrb25kaXNpb25hbCB5YW5nIGRpcGVyYm9sZWhrYW4iCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzozNzIwCittc2dpZCAiT25seSBvbmUgb3ZlcmZsb3cgY29uZGl0aW9uYWwgYWxsb3dlZCIKK21zZ3N0ciAiSGFueWEgc2F0dSBrb25kaXNpb25hbCBvdmVyZmxvdyB5YW5nIGRpcGVyYm9sZWhrYW4iCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzozNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkR1cGxpY2F0ZSAlcyBjb25kaXRpb25hbCIKK21zZ3N0ciAiRHVwbGlrYXNpICVzIGtvbmRpc2lvbmFsIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6Mzc1OQorbXNnaWQgIkludmFsaWQgYXV4aWxpYXJ5IHJlZ2lzdGVyICh1c2UgQVIwLUFSNykiCittc2dzdHIgInJlZ2lzdGVyIHRhbWJhaGFuIHRpZGFrIHZhbGlkIChndW5ha2FuIEFSMC1BUjcpIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6Mzc5MAorbXNnaWQgImxrIGFkZHJlc3NpbmcgbW9kZXMgYXJlIGludmFsaWQgZm9yIG1lbW9yeS1tYXBwZWQgcmVnaXN0ZXIgYWRkcmVzc2luZyIKK21zZ3N0ciAibW9kZSBwZW5nYWxhbWF0YW4gbGsgdGlkYWsgdmFsaWQgdW50dWsgcGVuZ2FsYW1hdGFuIHJlZ2lzdGVyIG1lbW9yaS10ZXJwZXRhIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6Mzc5OAorbXNnaWQgIkFkZHJlc3MgbW9kZSAqK0FSeCBpcyBub3QgYWxsb3dlZCBpbiBtZW1vcnktbWFwcGVkIHJlZ2lzdGVyIGFkZHJlc3NpbmcuICBSZXN1bHRpbmcgYmVoYXZpb3IgaXMgdW5kZWZpbmVkLiIKK21zZ3N0ciAiTW9kZSBhbGFtYXQgKitBUnggdGlkYSBkaXBlcmJvbGVoa2FuIGRhbGFtIHBlbmdhbGFtYXRhbiByZWdpc3RlciBtZW1vcmktdGVycGV0YS4gTWVuZ2hhc2lsa2FuIHBlcmlsYWt1IHlhbmcgdGlkYWsgdGVyZGVmaW5pc2kuIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MzgyNAorbXNnaWQgIkRlc3RpbmF0aW9uIGFjY3VtdWxhdG9yIGZvciBlYWNoIHBhcnQgb2YgdGhpcyBwYXJhbGxlbCBpbnN0cnVjdGlvbiBtdXN0IGJlIGRpZmZlcmVudCIKK21zZ3N0ciAiQWt1bXVsYXRvciB0dWp1YW4gdW50dWsgc2V0aWFwIGJhZ2lhbiBkYXJpIGluc3RydWtzaSBwYXJhbGVsIGluaSBoYXJ1cyBiZXJiZWRhIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6Mzg3MworIywgYy1mb3JtYXQKK21zZ2lkICJNZW1vcnkgbWFwcGVkIHJlZ2lzdGVyIFwiJXNcIiBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIlJlZ2lzdGVyIG1lbW9yaSB0ZXJwZXRhIFwiJXNcIiBkaWx1YXIgZGFyaSBqYW5na2F1YW4iCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzozOTEyCittc2dpZCAiSW52YWxpZCBvcGVyYW5kICh1c2UgMSwgMiwgb3IgMykiCittc2dzdHIgIk9wZXJhbiB0aWRhayB2YWxpZCAoZ3VuYWthbiAxLCAyLCBhdGF1IDMpIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6MzkzNworbXNnaWQgIkEgc3RhdHVzIHJlZ2lzdGVyIG9yIHN0YXR1cyBiaXQgbmFtZSBpcyByZXF1aXJlZCIKK21zZ3N0ciAiU2VidWFoIHJlZ2lzdGVyIHN0YXR1cyBhdGF1IG5hbWEgYml0IHN0YXR1cyBkaWJ1dHVoa2FuIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6Mzk0NworIywgYy1mb3JtYXQKK21zZ2lkICJVbnJlY29nbml6ZWQgc3RhdHVzIGJpdCBcIiVzXCIiCittc2dzdHIgIlN0YXR1cyBiaXQgXCIlc1wiIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzozOTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgc3RhdHVzIHJlZ2lzdGVyIFwiJXNcIiIKK21zZ3N0ciAiUmVnaXN0ZXIgc3RhdHVzIFwiJXNcIiB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjM5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3BlcmFuZCBcIiVzXCIgb3V0IG9mIHJhbmdlICh1c2UgMSBvciAyKSIKK21zZ3N0ciAiT3BlcmFuIFwiJXNcIiBkaWx1YXIgZGFyaSBqYW5na2F1YW4gKGd1bmFrYW4gMSBhdGF1IDIpIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6NDE4NQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnJlY29nbml6ZWQgaW5zdHJ1Y3Rpb24gXCIlc1wiIgorbXNnc3RyICJJbnN0cnVrc2kgXCIlc1wiIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucmVjb2duaXplZCBvcGVyYW5kIGxpc3QgJyVzJyBmb3IgaW5zdHJ1Y3Rpb24gJyVzJyIKK21zZ3N0ciAiRGFmdGFyIG9wZXJhbiAnJXMnIHRpZGFrIGRpa2VuYWwgdW50dWsgaW5zdHJ1a3NpICclcyciCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVucmVjb2duaXplZCBwYXJhbGxlbCBpbnN0cnVjdGlvbiBcIiVzXCIiCittc2dzdHIgIkluc3RydWtzaSBwYXJhbGVsIFwiJXNcIiB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6NDI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhbmQgKHMpIGZvciBwYXJhbGxlbCBpbnN0cnVjdGlvbiBcIiVzXCIiCittc2dzdHIgIm9wZXJhbiB0aWRhayB2YWxpZCB1bnR1ayBpbnN0cnVrc2kgcGFyYWxlbCBcIiVzXCIiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucmVjb2duaXplZCBwYXJhbGxlbCBpbnN0cnVjdGlvbiBjb21iaW5hdGlvbiBcIiVzIHx8ICVzXCIiCittc2dzdHIgIktvbWJpbmFzaSBpbnN0cnVrc2kgcGFyYWxlbCBcIiAlcyB8fCAlc1wiIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0NTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN5bWJvbCByZWN1cnNpb24gc3RvcHBlZCBhdCBzZWNvbmQgYXBwZWFyYW5jZSBvZiAnJXMnIgorbXNnc3RyICJzaW1ib2wgcmVrdXJzaWYgJXMgYmVyaGVudGkgZGkgZGV0aWsgcGVuYW1waWxhbiBkYXJpICclcyciCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0NTYyCittc2dpZCAiVW5yZWNvZ25pemVkIHN1YnN0aXR1dGlvbiBzeW1ib2wgZnVuY3Rpb24iCittc2dzdHIgImZ1bmdzaSBwZW5nZ2FudGlhbiBzaW1ib2wgdGlkYWsgZGlrZW5hbCIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjQ1NjcKK21zZ2lkICJNaXNzaW5nICcoJyBhZnRlciBzdWJzdGl0dXRpb24gc3ltYm9sIGZ1bmN0aW9uIgorbXNnc3RyICJIaWxhbmcgJygnIHNldGVsYWggcGVuZ2dhbnRpYW4gZnVuZ3NpIHNpbWJvbCIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjQ1ODEKK21zZ2lkICJFeHBlY3Rpbmcgc2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICJNZW5kdWdhIGFyZ3VtZW4ga2VkdWEiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0NTk0IGNvbmZpZy90Yy10aWM1NHguYzo0NjQ0Cittc2dpZCAiRXh0cmEganVuayBpbiBmdW5jdGlvbiBjYWxsLCBleHBlY3RpbmcgJyknIgorbXNnc3RyICJLZWxlYmloYW4ganVuayBkYWxhbSBwZW1hbmdnaWxhbiBmdW5nc2ksIG1lbmR1Z2EgJyknIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6NDYyMAorbXNnaWQgIkZ1bmN0aW9uIGV4cGVjdHMgdHdvIGFyZ3VtZW50cyIKK21zZ3N0ciAiRnVuZ3NpIG1lbmR1Z2EgZHVhIGFyZ3VtZW4iCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0NjMzCittc2dpZCAiRXhwZWN0aW5nIGNoYXJhY3RlciBjb25zdGFudCBhcmd1bWVudCIKK21zZ3N0ciAiTWVuZHVnYSBrYXJha3RlciBrb25zdGFuIGFyZ3VtZW4iCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0NjM5Cittc2dpZCAiQm90aCBhcmd1bWVudHMgbXVzdCBiZSBzdWJzdGl0dXRpb24gc3ltYm9scyIKK21zZ3N0ciAiS2VkdWEgYXJndW1lbiBoYXJ1cyBiZXJ1cGEgcGVuZ2dhbnRpYW4gc2ltYm9sIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6NDY5MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHN1YnNjcmlwdCAodXNlIDEgdG8gJWQpIgorbXNnc3RyICJzdWJzY3JpcHQgdGlkYWsgdmFsaWQgKGd1bmFrYW4gMSBrZSAlZCkiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0NzAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgbGVuZ3RoICh1c2UgMCB0byAlZCIKK21zZ3N0ciAiUGFuamFuZyB0aWRhayB2YWxpZCAoZ3VuYWthbiAwIGtlICVkKSIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjQ3MTIKK21zZ2lkICJNaXNzaW5nICcpJyBpbiBzdWJzY3JpcHRlZCBzdWJzdGl0dXRpb24gc3ltYm9sIGV4cHJlc3Npb24iCittc2dzdHIgIkhpbGFuZyAnKScgZGFsbWEgcGVybnlhdGFhbiBwZW5nZ2F0aWFuIHNpbWJvbCB0ZXJzdWJzY3JpcHR0dCIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjQ3MzIKK21zZ2lkICJNaXNzaW5nIGZvcmNlZCBzdWJzdGl0dXRpb24gdGVybWluYXRvciAnOiciCittc2dzdHIgIkhpbGFuZyBwZW1ha3NhIHBlbmdha2hpciBwZW5nZ2FudGlhbiAnOiciCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0ODg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluc3RydWN0aW9uIGRvZXMgbm90IGZpdCBpbiBhdmFpbGFibGUgZGVsYXkgc2xvdHMgKCVkLXdvcmQgaW5zbiwgJWQgc2xvdHMgbGVmdCkiCittc2dzdHIgIkluc3RydWtzaSB0aWRhayBjdWt1cCBkYWxhbSBkZWxheSBzbG90IHlhbmcgdGVyc2VkaWEgKCVkLXdvcmQgaW5zbiwgJWQgc2xvdHMgdGVyc2lzYSkiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucmVjb2duaXplZCBwYXJhbGxlbCBpbnN0cnVjdGlvbiAnJXMnIgorbXNnc3RyICJJbnN0cnVrc2kgcGFyYWxlbCAnJXMnIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0OTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkluc3RydWN0aW9uICclcycgcmVxdWlyZXMgYW4gTFAgY3B1IHZlcnNpb24iCittc2dzdHIgIkluc3RydWtzaSAnJXMnIG1lbWJ1dHVoa2FuIHNlYnVhaCB2ZXJzaSBjcHUgTFAiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0OTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluc3RydWN0aW9uICclcycgcmVxdWlyZXMgZmFyIG1vZGUgYWRkcmVzc2luZyIKK21zZ3N0ciAiSW5zdHJ1a3NpICclcycgbWVtYnV0dWhrYW4gbW9kZSBwZW5nYWxhbWF0YW4gamF1aCIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjQ5NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5zdHJ1Y3Rpb24gZG9lcyBub3QgZml0IGluIGF2YWlsYWJsZSBkZWxheSBzbG90cyAoJWQtd29yZCBpbnNuLCAlZCBzbG90cyBsZWZ0KS4gUmVzdWx0aW5nIGJlaGF2aW9yIGlzIHVuZGVmaW5lZC4iCittc2dzdHIgIkluc3RydWtzaSB0aWRhayBjdWt1cCBkYWxhbSBkZWxheSBzbG90IHlhbmcgdGVyc2VkaWEgKCVkLXdvcmQgaW5zbiwgJWQgc2xvdHMgdGVyc2VkaWEpLiBNZW5naGFzaWxrYW4gcGVyaWxha3UgeWFuZyB0aWRhayB0ZXJkZWZpbmlzaS4iCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo0OTY4Cittc2dpZCAiSW5zdHJ1Y3Rpb25zIHdoaWNoIGNhdXNlIFBDIGRpc2NvbnRpbnVpdHkgYXJlIG5vdCBhbGxvd2VkIGluIGEgZGVsYXkgc2xvdC4gUmVzdWx0aW5nIGJlaGF2aW9yIGlzIHVuZGVmaW5lZC4iCittc2dzdHIgIkluc3RydWtzaSB5YW5nIG1lbnllYmFia2FuIFBDIHRpZGFrIGtvbnRpbnVlIHRpZGFrIGRpcGVyYm9sZWhrYW4gZGFsYW0gc2VidWFoIGRlbGF5IHNsb3QuIE1lbmdoYXNpbGthbiBwZXJpbGFrdSB5YW5nIHRpZGFrIHRlcmRlZmluaXNpLiIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjQ5NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgcmVwZWF0YWJsZS4gUmVzdWx0aW5nIGJlaGF2aW9yIGlzIHVuZGVmaW5lZC4iCittc2dzdHIgIiclcycgdGlkYWsgdGVydWxhbmcuIE1lbmdoYXNpbGthbiBwZXJpbGFrdSB5YW5nIHRpZGFrIHRlcmRlZmluaXNpLiIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjQ5ODMKK21zZ2lkICJJbnN0cnVjdGlvbnMgdXNpbmcgbG9uZyBvZmZzZXQgbW9kaWZpZXJzIG9yIGFic29sdXRlIGFkZHJlc3NlcyBhcmUgbm90IHJlcGVhdGFibGUuIFJlc3VsdGluZyBiZWhhdmlvciBpcyB1bmRlZmluZWQuIgorbXNnc3RyICJJbnN0cnVrc2kgbWVuZ2d1bmFrYW4gbG9uZyBvZnNldCBtb2RpZmllZWVyIGF0YXUgYWxhbWF0IGFic29sdXQgYWRhbGFoIHRpZGFrIHRlcnVsYW5nLiBNZW5naGFzaWxrYW4gcGVyaWxha3UgeWFuZyB0aWRhayB0ZXJkZWZpbmlzaS4iCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo1MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuc3VwcG9ydGVkIHJlbG9jYXRpb24gc2l6ZSAlZCIKK21zZ3N0ciAiVWt1cmFuIHJlbG9rYXNpICVkIHRpZGFrIGRpZHVrdW5nIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6NTI2NgorbXNnaWQgIm5vbi1hYnNvbHV0ZSB2YWx1ZSB1c2VkIHdpdGggLnNwYWNlLy5iZXMiCittc2dzdHIgIm5pbGFpIHRpZGFrLWFic29sdXQgZGlndW5ha2FuIGRlbmdhbiAuc3BhY2UvLmJlcyIKKworIzogY29uZmlnL3RjLXRpYzU0eC5jOjUyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVnYXRpdmUgdmFsdWUgaWdub3JlZCBpbiAlcyIKK21zZ3N0ciAibmlsYWkgbmVnYXRpZiBkaWFiYWlrYW4gZGFsYW0gJXMiCisKKyM6IGNvbmZpZy90Yy10aWM1NHguYzo1MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dGVtcHQgdG8gLnNwYWNlLy5iZXMgYmFja3dhcmRzPyAoJWxkKSIKK21zZ3N0ciAibWVuY29iYSB1bnR1ayAuc3BhY2UvLmJlcyBiYWNrd2FyZHM/ICglbGQpIgorCisjOiBjb25maWcvdGMtdGljNTR4LmM6NTM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGxhYmVsICclcyciCittc2dzdHIgIkxhYmVsIHRpZGFrIHZhbGlkICclcyciCisKKyM6IGNvbmZpZy90Yy12ODUwLmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIi5DT01Nb24gbGVuZ3RoICglZC4pIDwgMCEgSWdub3JlZC4iCittc2dzdHIgInBhbmphbmcgLkNPTU1vbiAoJWQuKSA8MCEhIERpYWJhaWthbi4iCisKKyM6IGNvbmZpZy90Yy12ODUwLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxlbmd0aCBvZiAuY29tbSBcIiVzXCIgaXMgYWxyZWFkeSAlbGQuIE5vdCBjaGFuZ2VkIHRvICVkLiIKK21zZ3N0ciAiUGFuamFuZyBkYXJpIC5jb21tIFwiJXNcIiB0ZWxhaCAlbGQuIFRpZGFrIG1lbmd1YmFoIGtlICVkLiIKKworIzogY29uZmlnL3RjLXY4NTAuYzoyODAKK21zZ2lkICJDb21tb24gYWxpZ25tZW50IG5lZ2F0aXZlOyAwIGFzc3VtZWQiCittc2dzdHIgIkFsaWdubWVuIHVtdW0gbmVnYXRpZjsgMCBkaWFzdW1zaWthbiIKKworIzogY29uZmlnL3RjLXY4NTAuYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcGVyYW5kIHNoaWZ0OiAleFxuIgorbXNnc3RyICJwZXJnZXNlYXJhbiBvcGVyYW4gdGlkYWsgZGlrZW5hbDogJXhcbiIKKworIzogY29uZmlnL3RjLXY4NTAuYzo5MzkKK21zZ2lkICJpbnRlcm5hbCBmYWlsdXJlIGluIHBhcnNlX3JlZ2lzdGVyX2xpc3QiCittc2dzdHIgImludGVybmFsIGZhaWx1cmUgZGFsYW0gcGFyc2VfcmVnaXN0ZXJfbGlzdCIKKworIzogY29uZmlnL3RjLXY4NTAuYzo5NTUKK21zZ2lkICJjb25zdGFudCBleHByZXNzaW9uIG9yIHJlZ2lzdGVyIGxpc3QgZXhwZWN0ZWQiCittc2dzdHIgImVrc3ByZXNpIGtvbnN0YW4gYXRhdSBkYWZ0YXIgcmVnaXN0ZXIgZGlkdWdhIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjk2MCBjb25maWcvdGMtdjg1MC5jOjk3MyBjb25maWcvdGMtdjg1MC5jOjk5MgorbXNnaWQgImhpZ2ggYml0cyBzZXQgaW4gcmVnaXN0ZXIgbGlzdCBleHByZXNzaW9uIgorbXNnc3RyICJoaWdoIGJpdCBzZXQgZGFsYW0gZWtzcHJlc2kgZGFmdGFyIHJlZ2lzdGVyIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjEwMzEgY29uZmlnL3RjLXY4NTAuYzoxMDk0Cittc2dpZCAiaWxsZWdhbCByZWdpc3RlciBpbmNsdWRlZCBpbiBsaXN0IgorbXNnc3RyICJyZWdpc3RlciB0aWRhayBsZWdhbCBkaW1hc3VrYW4gZGFsYW0gZGFmdGFyIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjEwMzcKK21zZ2lkICJzeXN0ZW0gcmVnaXN0ZXJzIGNhbm5vdCBiZSBpbmNsdWRlZCBpbiBsaXN0IgorbXNnc3RyICJzaXN0ZW0gcmVnaXN0ZXIgdGlkYWsgZGFwYXQgZGltYXN1a2FuIGRhbGFtIGRhZnRhciIKKworIzogY29uZmlnL3RjLXY4NTAuYzoxMDQyCittc2dpZCAiUFNXIGNhbm5vdCBiZSBpbmNsdWRlZCBpbiBsaXN0IgorbXNnc3RyICJQU1dXVyB0aWRhayBkYXBhdCBkaW1hc3VrYW4gZGFsYW0gZGFmdGFyIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjEwNDkKK21zZ2lkICJIaWdoIHZhbHVlIHN5c3RlbSByZWdpc3RlcnMgY2Fubm90IGJlIGluY2x1ZGVkIGluIGxpc3QiCittc2dzdHIgIk5pbGFpIHRpbmdnaSBzaXN0ZW0gcmVnaXN0ZXIgdGlkYWsgZGFwYXQgZGltYXN1a2FuIGRhbGFtIGRhZnRhciIKKworIzogY29uZmlnL3RjLXY4NTAuYzoxMDczCittc2dpZCAic2Vjb25kIHJlZ2lzdGVyIHNob3VsZCBmb2xsb3cgZGFzaCBpbiByZWdpc3RlciBsaXN0IgorbXNnc3RyICJyZWdpc3RlciBrZWR1YSBzZWhhcnVzbnlhIG1lbmdpa3V0aSBkYXNoIGRhbGFtIGRhZnRhciByZWdpc3RlciIKKworIzogY29uZmlnL3RjLXY4NTAuYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiBWODUwIG9wdGlvbnM6XG4iCittc2dzdHIgIiBvcHNpIFY4NTA6XG4iCisKKyM6IGNvbmZpZy90Yy12ODUwLmM6MTExOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1td2Fybi1zaWduZWQtb3ZlcmZsb3cgICAgV2FybiBpZiBzaWduZWQgaW1tZWRpYXRlIHZhbHVlcyBvdmVyZmxvd1xuIgorbXNnc3RyICIgIC1td2Fybi1zaWduZWQtb3ZlcmZsb3cgICAgUGVyaW5nYXRrYW4ga2V0aWthIG5pbGFpIGxhbmdzdW5nIHNpZ25lZCBvdmVyZmxvd1xuIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjExMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtbXdhcm4tdW5zaWduZWQtb3ZlcmZsb3cgIFdhcm4gaWYgdW5zaWduZWQgaW1tZWRpYXRlIHZhbHVlcyBvdmVyZmxvd1xuIgorbXNnc3RyICIgIC1td2Fybi11bnNpZ25lZC1vdmVyZmxvdyAgUGVyaW5nYXRrYW4ga2V0aWthIG5pbGFpIGxhbmdzdW5nIHVuc2lnbmVkIG92ZXJmbG93XG4iCisKKyM6IGNvbmZpZy90Yy12ODUwLmM6MTEyMQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1tdjg1MCAgICAgICAgICAgICAgICAgICAgVGhlIGNvZGUgaXMgdGFyZ2V0ZWQgYXQgdGhlIHY4NTBcbiIKK21zZ3N0ciAiICAtbXY4NTAgICAgICAgICAgICAgICAgICAgIEtvZGUgZGl0YXJnZXRrYW4gZGkgdjg1MFxuIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjExMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtbXY4NTBlICAgICAgICAgICAgICAgICAgIFRoZSBjb2RlIGlzIHRhcmdldGVkIGF0IHRoZSB2ODUwZVxuIgorbXNnc3RyICIgIC1tdjg1MGUgICAgICAgICAgICAgICAgICAgS29kZSBkaXRhcmdldGthbiBkaSB2ODUwZVxuIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjExMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtbXY4NTBlMSAgICAgICAgICAgICAgICAgIFRoZSBjb2RlIGlzIHRhcmdldGVkIGF0IHRoZSB2ODUwZTFcbiIKK21zZ3N0ciAiICAtbXY4NTBlMSAgICAgICAgICAgICAgICAgIEtvZGUgZGl0YXJnZXRrYW4gZGkgdjg1MGUxXG4iCisKKyM6IGNvbmZpZy90Yy12ODUwLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1tdjg1MGFueSAgICAgICAgICAgICAgICAgVGhlIGNvZGUgaXMgZ2VuZXJpYywgZGVzcGl0ZSBhbnkgcHJvY2Vzc29yIHNwZWNpZmljIGluc3RydWN0aW9uc1xuIgorbXNnc3RyICIgIC1tdjg1MGFueSAgICAgICAgICAgICAgICAgS29kZSBhZGFsYWggdW11bSwgZGFyaXBhZGEgaW5zdHJ1a3NpIHNwZXNpZmlrIHByb3Nlc29yIGFwYXB1blxuIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjExMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtbXJlbGF4ICAgICAgICAgICAgICAgICAgIEVuYWJsZSByZWxheGF0aW9uXG4iCittc2dzdHIgIiAgLW1yZWxheCAgICAgICAgICAgICAgICAgICBBa3RpZmthbiByZWxha3Nhc2lcbiIKKworIzogY29uZmlnL3RjLXY4NTAuYzoxMjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBkZXRlcm1pbmUgZGVmYXVsdCB0YXJnZXQgcHJvY2Vzc29yIGZyb20gc3RyaW5nOiAlcyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZW50dWthbiB0YXJnZXQgZGVmYXVsdCBwcm9zZXNvciBkYXJpIHN0cmluZzogJXMiCisKKyM6IGNvbmZpZy90Yy12ODUwLmM6MTMyNgorbXNnaWQgImxvKCkgcmVsb2NhdGlvbiB1c2VkIG9uIGFuIGluc3RydWN0aW9uIHdoaWNoIGRvZXMgbm90IHN1cHBvcnQgaXQiCittc2dzdHIgImxvKCkgcmVsb2thc2kgZGlndW5ha2FuIGRpIHNlYnVhaCBpbnN0cnVrc2kgeWFuZyB0aWRhayBtZW1pbGlraSBkdWt1bmdhbiBkaXNpdHUiCisKKyM6IGNvbmZpZy90Yy12ODUwLmM6MTM0MworbXNnaWQgImN0b2ZmKCkgcmVsb2NhdGlvbiB1c2VkIG9uIGFuIGluc3RydWN0aW9uIHdoaWNoIGRvZXMgbm90IHN1cHBvcnQgaXQiCittc2dzdHIgImN0b2ZmKCkgcmVsb2thc2kgZGlndW5ha2FuIGRpc2VidWFoIGluc3RydWtzaSB5YW5nIHRpZGFrIGRpZHVrdW5nbnlhIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjEzNjUKK21zZ2lkICJzZGFvZmYoKSByZWxvY2F0aW9uIHVzZWQgb24gYW4gaW5zdHJ1Y3Rpb24gd2hpY2ggZG9lcyBub3Qgc3VwcG9ydCBpdCIKK21zZ3N0ciAic2Rhb2ZmKCkgcmVsb2thc2kgZGlndW5ha2FuIGRpIHNlYnVhaCBpbnN0cnVrc2kgeWFuZyB0aWRhayBtZW5kdWt1bmdueWEiCisKKyM6IGNvbmZpZy90Yy12ODUwLmM6MTM4NworbXNnaWQgInpkYW9mZigpIHJlbG9jYXRpb24gdXNlZCBvbiBhbiBpbnN0cnVjdGlvbiB3aGljaCBkb2VzIG5vdCBzdXBwb3J0IGl0IgorbXNnc3RyICJ6ZGFvZmYoKSByZWxva2FzaSBkaWd1bmFrYW4gZGkgc2VidWFoIGluc3RydWtzaSB5YW5nIHRpZGFrIG1lbmR1a3VuZ255YSIKKworIzogY29uZmlnL3RjLXY4NTAuYzoxNDIwCittc2dpZCAidGRhb2ZmKCkgcmVsb2NhdGlvbiB1c2VkIG9uIGFuIGluc3RydWN0aW9uIHdoaWNoIGRvZXMgbm90IHN1cHBvcnQgaXQiCittc2dzdHIgInRkYW9mZigpIHJlbG9rYXNpIGRpZ3VuYWthbiBkaSBzZWJ1YWggaW5zdHJ1a3NpIHlhbmcgdGlkYWsgbWVuZHVrdW5nbnlhIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjE2MjUKK21zZ2lkICJUYXJnZXQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgdGhpcyBpbnN0cnVjdGlvbi4iCittc2dzdHIgIlByb3Nlc29yIHRhcmdldCB0aWRhayBtZW5kdWt1bmcgaW5zdHJ1a3NpIGluaS4iCisKKyM6IGNvbmZpZy90Yy12ODUwLmM6MTcxNCBjb25maWcvdGMtdjg1MC5jOjE3NDMgY29uZmlnL3RjLXY4NTAuYzoxOTIzCittc2dpZCAiaW1tZWRpYXRlIG9wZXJhbmQgaXMgdG9vIGxhcmdlIgorbXNnc3RyICJvcGVyYW4gbGFuZ3N1bmcgdGVybGFsdSBiZXNhciIKKworIzogY29uZmlnL3RjLXY4NTAuYzoxNzI1Cittc2dpZCAiQUFBUkcgLT4gdW5oYW5kbGVkIGNvbnN0YW50IHJlbG9jIgorbXNnc3RyICJBQUFSRyAtPiB0aWRhayB0ZXJ0YW5nYW5pIGtvbnN0YW50YSByZWxva2FzaSIKKworIzogY29uZmlnL3RjLXY4NTAuYzoxNzY4Cittc2dpZCAiaW52YWxpZCByZWdpc3RlciBuYW1lIgorbXNnc3RyICJuYW1hIHJlZ2lzdGVyIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjE3NzIKK21zZ2lkICJyZWdpc3RlciByMCBjYW5ub3QgYmUgdXNlZCBoZXJlIgorbXNnc3RyICJyZWdpc3RlciByMCB0aWRhayBkYXBhdCBkaWd1bmFrYW4gZGlzaW5pIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjE3ODMKK21zZ2lkICJpbnZhbGlkIHN5c3RlbSByZWdpc3RlciBuYW1lIgorbXNnc3RyICJuYW1hIHNpc3RlbSByZWdpc3RlciB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXY4NTAuYzoxNzk1Cittc2dpZCAiZXhwZWN0ZWQgRVAgcmVnaXN0ZXIiCittc2dzdHIgImRpZHVnYSBFUCByZWdpc3RlciIKKworIzogY29uZmlnL3RjLXY4NTAuYzoxODExCittc2dpZCAiaW52YWxpZCBjb25kaXRpb24gY29kZSBuYW1lIgorbXNnc3RyICJrb25kaXNpIG5hbWEga29kZSB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXY4NTAuYzoxODMxIGNvbmZpZy90Yy12ODUwLmM6MTgzNQorbXNnaWQgImNvbnN0YW50IHRvbyBiaWcgdG8gZml0IGludG8gaW5zdHJ1Y3Rpb24iCittc2dzdHIgImtvbnN0YW50YSB0ZXJsYWx1IGJlc2FyIHVudHVrIG1hc3VrIGtlZGFsYW0gaW5zdHJ1a3NpIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjE4ODgKK21zZ2lkICJzeW50YXggZXJyb3I6IHZhbHVlIGlzIG1pc3NpbmcgYmVmb3JlIHRoZSByZWdpc3RlciBuYW1lIgorbXNnc3RyICJzaW50YWtzIGVycm9yOiBuaWxhaSBoaWxhbmcgc2ViZWx1bSBuYW1hIHJlZ2lzdGVyIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjE4OTAKK21zZ2lkICJzeW50YXggZXJyb3I6IHJlZ2lzdGVyIG5vdCBleHBlY3RlZCIKK21zZ3N0ciAic2ludGFrcyBlcnJvcjogcmVnaXN0ZXIgdGlkYWsgZGlkdWdhIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjE5MDMKK21zZ2lkICJzeW50YXggZXJyb3I6IHN5c3RlbSByZWdpc3RlciBub3QgZXhwZWN0ZWQiCittc2dzdHIgInNpbnRha3MgZXJyb3I6IHNpc3RlbSByZWdpc3RlciB0aWRhayB0ZXJkdWdhIgorCisjOiBjb25maWcvdGMtdjg1MC5jOjE5MDcKK21zZ2lkICJzeW50YXggZXJyb3I6IGNvbmRpdGlvbiBjb2RlIG5vdCBleHBlY3RlZCIKK21zZ3N0ciAic2ludGFrcyBlcnJvcjoga29uZGlzaSBrb2RlIHRpZGFrIGRpZHVnYSIKKworIzogY29uZmlnL3RjLXY4NTAuYzoxOTQxIGNvbmZpZy90Yy14dGVuc2EuYzoxMTY4MworbXNnaWQgImludmFsaWQgb3BlcmFuZCIKK21zZ3N0ciAib3BlcmFuIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtdmF4LmM6MTM0MworbXNnaWQgIm5vICdbJyB0byBtYXRjaCAnXSciCittc2dzdHIgInRpZGFrIGFkYSAnWycgeWFuZyBjb2NvayBkZW5nYW4gJ10nIgorCisjOiBjb25maWcvdGMtdmF4LmM6MTM1OQorbXNnaWQgImJhZCByZWdpc3RlciBpbiBbXSIKK21zZ3N0ciAicmVnaXN0ZXIgYnVydWsgZGFsYW0gW10iCisKKyM6IGNvbmZpZy90Yy12YXguYzoxMzYxCittc2dpZCAiW1BDXSBpbmRleCBiYW5uZWQiCittc2dzdHIgIltQQ10gaW5kZWtzIGRpYmFuIgorCisjOiBjb25maWcvdGMtdmF4LmM6MTM5NworbXNnaWQgIm5vICcoJyB0byBtYXRjaCAnKSciCittc2dzdHIgInRpZGFrIGFkYSAnKScgeWFuZyBjb2NvayBkZW5nYW4gJyknIgorCisjOiBjb25maWcvdGMtdmF4LmM6MTUxMworbXNnaWQgImludmFsaWQgYnJhbmNoIG9wZXJhbmQiCittc2dzdHIgIm9wZXJhbiBwZXJjYWJhbmdhbiB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXZheC5jOjE1NDAKK21zZ2lkICJhZGRyZXNzIHByb2hpYml0cyBAIgorbXNnc3RyICJhbGFtYXQgbWVsYXJhbmcgQCIKKworIzogY29uZmlnL3RjLXZheC5jOjE1NDIKK21zZ2lkICJhZGRyZXNzIHByb2hpYml0cyAjIgorbXNnc3RyICJhbGFtYXQgbWVsYXJhbmcgIyIKKworIzogY29uZmlnL3RjLXZheC5jOjE1NDYKK21zZ2lkICJhZGRyZXNzIHByb2hpYml0cyAtKCkiCittc2dzdHIgImFsYW1hdCBtZWxhcmFuZyAtKCkiCisKKyM6IGNvbmZpZy90Yy12YXguYzoxNTQ4Cittc2dpZCAiYWRkcmVzcyBwcm9oaWJpdHMgKCkrIgorbXNnc3RyICJhbGFtYXQgbWVsYXJhbmcgKCkrIgorCisjOiBjb25maWcvdGMtdmF4LmM6MTU1MQorbXNnaWQgImFkZHJlc3MgcHJvaGliaXRzICgpIgorbXNnc3RyICJhbGFtYXQgbWVsYXJhbmcgKCkiCisKKyM6IGNvbmZpZy90Yy12YXguYzoxNTUzCittc2dpZCAiYWRkcmVzcyBwcm9oaWJpdHMgW10iCittc2dzdHIgImFsYW1hdCBtZWxhcmFuZyBbXSIKKworIzogY29uZmlnL3RjLXZheC5jOjE1NTUKK21zZ2lkICJhZGRyZXNzIHByb2hpYml0cyByZWdpc3RlciIKK21zZ3N0ciAiYWxhbWF0IG1lbGFyYW5nIHJlZ2lzdGVyIgorCisjOiBjb25maWcvdGMtdmF4LmM6MTU1NworbXNnaWQgImFkZHJlc3MgcHJvaGliaXRzIGRpc3BsYWNlbWVudCBsZW5ndGggc3BlY2lmaWVyIgorbXNnc3RyICJhbGFtYXQgbWVsYXJhbmcgZGlzcGxhY2VtZW50IHBhbmphbmcgc3BlY2lmaWVyIgorCisjOiBjb25maWcvdGMtdmF4LmM6MTU4NQorbXNnaWQgImludmFsaWQgb3BlcmFuZCBvZiBTXiMiCittc2dzdHIgIm9wZXJhbiBkYXJpIFNeIyB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXZheC5jOjE1OTgKK21zZ2lkICJTXiMgbmVlZHMgZXhwcmVzc2lvbiIKK21zZ3N0ciAiU14jIG1lbWJ1dHVoa2FhbiBla3NwcmVzaSIKKworIzogY29uZmlnL3RjLXZheC5jOjE2MDUKK21zZ2lkICJTXiMgbWF5IG9ubHkgcmVhZC1hY2Nlc3MiCittc2dzdHIgIlNeIyBtdW5na2luIGhhbnlhIGJhY2EtYWtzZXMiCisKKyM6IGNvbmZpZy90Yy12YXguYzoxNjI4Cittc2dpZCAiaW52YWxpZCBvcGVyYW5kIG9mIC0oKSIKK21zZ3N0ciAib3BlcmFuIGRhcmkgLSgpIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtdmF4LmM6MTYzNAorbXNnaWQgIi0oUEMpIHVucHJlZGljdGFibGUiCittc2dzdHIgIi0oUEMpIHRpZGFrIHRlcnByZWRpa3NpIgorCisjOiBjb25maWcvdGMtdmF4LmM6MTYzNgorbXNnaWQgIltdaW5kZXggc2FtZSBhcyAtKClyZWdpc3RlcjogdW5wcmVkaWN0YWJsZSIKK21zZ3N0ciAiW11pbmRla3Mgc2FtYSBzZXBlcnRpIC0oKXJlZ2lzdGVyOiB0aWRhayB0ZXJwcmVkaWtzaSIKKworIzogY29uZmlnL3RjLXZheC5jOjE2NjgKK21zZ2lkICJpbnZhbGlkIG9wZXJhbmQgb2YgKCkrIgorbXNnc3RyICJvcGVyYW4gdGlkYWsgdmFsaWQgZGFyaSAoKSsiCisKKyM6IGNvbmZpZy90Yy12YXguYzoxNjc0Cittc2dpZCAiKFBDKSsgdW5wcmVkaWN0YWJsZSIKK21zZ3N0ciAiKFBDKSsgdGlkYWsgdGVycHJlZGlrc2kiCisKKyM6IGNvbmZpZy90Yy12YXguYzoxNjc2Cittc2dpZCAiW11pbmRleCBzYW1lIGFzICgpK3JlZ2lzdGVyOiB1bnByZWRpY3RhYmxlIgorbXNnc3RyICJbaW5kZWtzIHNhbWEgc2VwZXJ0aSAoKStyZWdpc3RlcjogdGlkYWsgdGVycHJlZGlrc2kiCisKKyM6IGNvbmZpZy90Yy12YXguYzoxNjk5Cittc2dpZCAiIyBjb25mbGljdHMgbGVuZ3RoIgorbXNnc3RyICIjIGtvbmZsaWsgcGFuamFuZyIKKworIzogY29uZmlnL3RjLXZheC5jOjE3MDEKK21zZ2lkICIjIGJhcnMgcmVnaXN0ZXIiCittc2dzdHIgIiMgYmFycyByZWdpc3RlciIKKworIzogY29uZmlnL3RjLXZheC5jOjE3MjEKK21zZ2lkICJ3cml0aW5nIG9yIG1vZGlmeWluZyAjIGlzIHVucHJlZGljdGFibGUiCittc2dzdHIgIm1lbnVsaXMgYXRhdSBtZW1vZGlmaWthc2kgIyB0aWRhayB0ZXJwcmVkaWtzaSIKKworIzogY29uZmlnL3RjLXZheC5jOjE3NDcKK21zZ2lkICJsZW5ndGggbm90IG5lZWRlZCIKK21zZ3N0ciAicGFuamFuZyB0aWRhayBkaWJ1dHVoa2FuIgorCisjOiBjb25maWcvdGMtdmF4LmM6MTc1NAorbXNnaWQgImNhbid0IFtdaW5kZXggYSByZWdpc3RlciwgYmVjYXVzZSBpdCBoYXMgbm8gYWRkcmVzcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgW11pbmRla3Mgc2VidWFoIHJlZ2lzdGVyLCBrYXJlbmEgaW5pIHRpZGFrIG1lbWlsaWtpIGFsYW1hdCIKKworIzogY29uZmlnL3RjLXZheC5jOjE3NTYKK21zZ2lkICJhIHJlZ2lzdGVyIGhhcyBubyBhZGRyZXNzIgorbXNnc3RyICJzZWJ1YWggcmVnaXN0ZXIgdGlkYWsgbWVtaWxpa2kgYWxhbWF0IgorCisjOiBjb25maWcvdGMtdmF4LmM6MTc2NQorbXNnaWQgIlBDIHBhcnQgb2Ygb3BlcmFuZCB1bnByZWRpY3RhYmxlIgorbXNnc3RyICJQQyBwYXJ0IGRhcmkgb3BlcmFuIHRpZGFrIHRlcnByZWRpa3NpIgorCisjOiBjb25maWcvdGMtdmF4LmM6MTkyMQorbXNnaWQgIm9kZCBudW1iZXIgb2YgYnl0ZXMgaW4gb3BlcmFuZCBkZXNjcmlwdGlvbiIKK21zZ3N0ciAibm9tb3IgZ2FuamlsIGRhcmkgYnl0ZXMgZGFsYW0gZGVza3JpcHNpIG9wZXJhbiIKKworIzogY29uZmlnL3RjLXZheC5jOjE5MzUKK21zZ2lkICJCYWQgb3BlcmFuZCIKK21zZ3N0ciAiT3BlcmFuIGJ1cnVrIgorCisjOiBjb25maWcvdGMtdmF4LmM6MTk0MAorbXNnaWQgIk5vdCBlbm91Z2ggb3BlcmFuZHMiCittc2dzdHIgIk9wZXJhbiBrdXJhbmciCisKKyM6IGNvbmZpZy90Yy12YXguYzoxOTQ3Cittc2dpZCAiVG9vIG1hbnkgb3BlcmFuZHMiCittc2dzdHIgIlRlcmxhbHUgYmFueWFrIG9wZXJhbiIKKworIzogY29uZmlnL3RjLXZheC5jOjIyMTcKK21zZ2lkICJTWU1CT0wgVEFCTEUgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICJUQUJFTCBTSU1CT0wgdGlkYWsgdGVyaW1wbGVtZW50YXNpIgorCisjOiBjb25maWcvdGMtdmF4LmM6MjIyMQorbXNnaWQgIlRPS0VOIFRSQUNFIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiVE9LRU4gVFJBQ0UgdGlkYWsgdGVyaW1wbGVtZW50YXNpIgorCisjOiBjb25maWcvdGMtdmF4LmM6MjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNwbGFjZW1lbnQgbGVuZ3RoICVzIGlnbm9yZWQhIgorbXNnc3RyICJQYW5qYW5nICVzIGRpc3BsYWNlbWVudCBkaWFiYWlrYW4hIgorCisjOiBjb25maWcvdGMtdmF4LmM6MjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJJIGRvbid0IG5lZWQgb3IgdXNlIHRlbXAuIGZpbGUgXCIlc1wiLiIKK21zZ3N0ciAiU2F5YSB0aWRhayBtZW1idXR1aGthbiBhdGF1IG1lbmdndW5ha2FuIGJlcmthcyBzZW1lbnRhcmEgXCIlc1wiLiIKKworIzogY29uZmlnL3RjLXZheC5jOjIyMzMKK21zZ2lkICJJIGRvbid0IHVzZSBhbiBpbnRlcnBhc3MgZmlsZSEgLVYgaWdub3JlZCIKK21zZ3N0ciAiU2F5YSB0aWRhayBtZW5nZ3VuYWthbiBzZWJ1YWggYmVya2FzIGludGVycGFzcyEgLVYgZGlhYmFpa2FuIgorCisjOiBjb25maWcvdGMtdmF4LmM6MjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVkFYIG9wdGlvbnM6XG4iCisiLWQgTEVOR1RIXHRcdGlnbm9yZWRcbiIKKyItSlx0XHRcdGlnbm9yZWRcbiIKKyItU1x0XHRcdGlnbm9yZWRcbiIKKyItdCBGSUxFXHRcdFx0aWdub3JlZFxuIgorIi1UXHRcdFx0aWdub3JlZFxuIgorIi1WXHRcdFx0aWdub3JlZFxuIgorbXNnc3RyICIiCisib3BzaSBWQVg6XG4iCisiLWQgTEVOR1RIXHRcdGRpYWJhaWthblxuIgorIi1KXHRcdFx0ZGlhYmFpa2FuXG4iCisiLVNcdFx0XHRkaWFiYWlrYW5cbiIKKyItU1x0XHRcdGRpYWJhaWthblxuIgorIi10IEJFUktBU1x0XHRcdGRpYWJhaWthblxuIgorIi1UXHRcdFx0ZGlhYmFpa2FuXG4iCisiLVZcdFx0XHRkaWFiYWlrYW5cbiIKKworIzogY29uZmlnL3RjLXZheC5jOjIyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlZNUyBvcHRpb25zOlxuIgorIi0rXHRcdFx0aGFzaCBlbmNvZGUgbmFtZXMgbG9uZ2VyIHRoYW4gMzEgY2hhcmFjdGVyc1xuIgorIi0xXHRcdFx0YGNvbnN0JyBoYW5kbGluZyBjb21wYXRpYmxlIHdpdGggZ2NjIDEueFxuIgorIi1IXHRcdFx0c2hvdyBuZXcgc3ltYm9sIGFmdGVyIGhhc2ggdHJ1bmNhdGlvblxuIgorIi1oIE5VTVx0XHRcdGRvbid0IGhhc2ggbWl4ZWQtY2FzZSBuYW1lcywgYW5kIGFkanVzdCBjYXNlOlxuIgorIlx0XHRcdDAgPSB1cHBlciwgMiA9IGxvd2VyLCAzID0gcHJlc2VydmUgY2FzZVxuIgorIi12XCJWRVJTSU9OXCJcdFx0Y29kZSBiZWluZyBhc3NlbWJsZWQgd2FzIHByb2R1Y2VkIGJ5IGNvbXBpbGVyIFwiVkVSU0lPTlwiXG4iCittc2dzdHIgIiIKKyJvcHNpIFZNUzpcbiIKKyItK1x0XHRcdGhhc2ggZW5rb2RlIG5hbWEgbGViaWggcGFuamFuZyBkYXJpIDMxIGthcmFrdGVyXG4iCisiLTFcdFx0XHRwZW5hbmdhbmFuIGBjb25zdCcga29tcGF0aWJlbCBkZW5nYW4gZ2NjIDEueFxuIgorIi1IXHRcdFx0dGFtcGlsa2FuIHNpbWJvbCBiYXJ1IHNlc3VkYWggcGVtb3RvbmdhbiBoYXNoXG4iCisiLWggTlVNXHRcdFx0amFuZ2FuIGhhc2ggbmFtYSBtaXhlZC1jYXNlLCBkYW4gYmVuYXJrYXMgY2FzZTpcbiIKKyJcdFx0XHQwID0gaHVydWYgYmVzYXIsIDIgPSBodXJ1ZiBrZWNpbCwgMyA9IGphZ2EgY2FzZVxuIgorIi12XCJWRVJTSU9OXCJcdFx0a29kZSB5YW5nIHNlZGFuZyBkaXJha2l0IGRpaGFzaWxrYW4gb2xlaCBrb21waWxlciBcIlZFUlNJT05cIlxuIgorCisjOiBjb25maWcvdGMtdmF4LmM6MjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBzdGF0ZW1lbnQgZHVlIHRvIFwiJXNcIiIKK21zZ3N0ciAiTWVuZ2FiYWlrYW4gcGVybnlhdGFhbiBrYXJlbmEgXCIlc1wiIgorCisjOiBjb25maWcvdGMtdmF4LmM6MjQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJBYm9ydGluZyBiZWNhdXNlIHN0YXRlbWVudCBoYXMgXCIlc1wiIgorbXNnc3RyICJNZW1iYXRhbGthbiBrYXJlbmEgcGVybnlhdGFhbiBtZW1pbGlraSBcIiVzXCIiCisKKyM6IGNvbmZpZy90Yy12YXguYzoyNTI2Cittc2dpZCAiQ2FuJ3QgcmVsb2NhdGUgZXhwcmVzc2lvbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVyZWxva2FzaSBla3NwcmVzaSIKKworIzogY29uZmlnL3RjLXZheC5jOjI2MjkKK21zZ2lkICJCaWdudW0gbm90IHBlcm1pdHRlZCBpbiBzaG9ydCBsaXRlcmFsLiBJbW1lZGlhdGUgbW9kZSBhc3N1bWVkLiIKK21zZ3N0ciAiQmlnbnVtIHRpZGFrIGRpaWppbmthbiBkYWxhbSBzaG9ydCBsaXRlcmFsLiBNb2RlIGxhbmdzdW5nIGRpYXN1bXNpa2FuLiIKKworIzogY29uZmlnL3RjLXZheC5jOjI2MzgKK21zZ2lkICJDYW4ndCBkbyBmbG9udW0gc2hvcnQgbGl0ZXJhbDogaW1tZWRpYXRlIG1vZGUgdXNlZC4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbGFrdWthbiBmbG9udW0gc2hvcnQgbGl0ZXJhbDogbW9kZSBsYW5nc3VuZyBkaWd1bmFrYW4uIgorCisjOiBjb25maWcvdGMtdmF4LmM6MjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBIGJpZ251bS9mbG9udW0gbWF5IG5vdCBiZSBhIGRpc3BsYWNlbWVudDogMHglbHggdXNlZCIKK21zZ3N0ciAiU2VidWFoIGJpZ251bS9mbG9udW0gbXVuZ2tpbiBidWthbiBzZWJ1YWggZGlzcGxhY2VtZW50OiAweCVseCBkaWd1bmFrYW4iCisKKyM6IGNvbmZpZy90Yy12YXguYzoyOTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNob3J0IGxpdGVyYWwgb3ZlcmZsb3coJWxkLiksIGltbWVkaWF0ZSBtb2RlIGFzc3VtZWQuIgorbXNnc3RyICJMaXRlcmFsIHBlbmRlayBvdmVyZmxvdyglbGQuKSwgbW9kZSBsYW5nc3VuZyBkaWFzdW1zaWthbi4iCisKKyM6IGNvbmZpZy90Yy12YXguYzozMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNlZCBzaG9ydCBsaXRlcmFsIHRvIGltbWVkaWF0ZSBtb2RlLiBub3dfc2VnPSVzIHRvX3NlZz0lcyIKK21zZ3N0ciAiTGl0ZXJhbCBwZW5kZWsgdGVycGFrc2Ega2UgbW9kZSBsYW5nc3VuZy4gbm93X3NlZz0lcyB0b19zZWc9JXMiCisKKyM6IGNvbmZpZy90Yy12YXguYzozMDcwCittc2dpZCAiTGVuZ3RoIHNwZWNpZmljYXRpb24gaWdub3JlZC4gQWRkcmVzcyBtb2RlIDlGIHVzZWQiCittc2dzdHIgIlNwZXNpZmlrYXNpIHBhbmphbmcgZGlhYmFpa2FuLiBNb2RlIGFsYW1hdCA5RiBkaWd1bmFrYW4iCisKKyM6IGNvbmZpZy90Yy12YXguYzozMTI4Cittc2dpZCAiSW52YWxpZCBvcGVyYW5kOiAgaW1tZWRpYXRlIHZhbHVlIHVzZWQgYXMgYmFzZSBhZGRyZXNzLiIKK21zZ3N0ciAiT3BlcmFuIHRpZGFrIHZhbGlkOiBuaWxhaSBsYW5nc3VuZyBkaWd1bmFrYW4gc2ViYWdhaSBhbGFtYXQgZGFzYXIuIgorCisjOiBjb25maWcvdGMtdmF4LmM6MzEzMAorbXNnaWQgIkludmFsaWQgb3BlcmFuZDogIGltbWVkaWF0ZSB2YWx1ZSB1c2VkIGFzIGFkZHJlc3MuIgorbXNnc3RyICJPcGVyYW4gdGlkYWsgdmFsaWQ6IG5pbGFpIGxhbmdzdW5nIGRpZ3VuYWthbiBzZWJhZ2FpIGFsYW1hdC4iCisKKyM6IGNvbmZpZy90Yy12YXguYzozMTU1Cittc2dpZCAiU3ltYm9sIHVzZWQgYXMgaW1tZWRpYXRlIG9wZXJhbmQgaW4gUElDIG1vZGUuIgorbXNnc3RyICJTaW1ib2wgZGlndW5ha2FuIHNlYmFnYWkgb3BlcmFuIGxhbmdzdW5nIGRhbGFtIG1vZGUgUElDLiIKKworIzogY29uZmlnL3RjLXZheC5jOjMyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVklQX0JFR0lOIGVycm9yOiVzIgorbXNnc3RyICJWSVBfQkVHSU4gZXJyb3I6JXMiCisKKyM6IGNvbmZpZy90Yy14YzE2eC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIgWEMxNlggc3BlY2lmaWMgY29tbWFuZCBsaW5lIG9wdGlvbnM6XG4iCittc2dzdHIgIiBYQzE2WCBzcGVzaWZpayBvcHNpIGJhcmlzIHBlcmludGFoOlxuIgorCisjOiBjb25maWcvdGMteHN0b3JteTE2LmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIFhTVE9STVkxNiBzcGVjaWZpYyBjb21tYW5kIGxpbmUgb3B0aW9uczpcbiIKK21zZ3N0ciAiIFhTVE9STVkxNiBzcGVzaWZpayBvcHNpIGJhcmlzIHBlcmludGFoOlxuIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NjE3Cittc2dpZCAiaWxsZWdhbCByYW5nZSBvZiB0YXJnZXQgaGFyZHdhcmUgdmVyc2lvbnMiCittc2dzdHIgImphbmdrYXVhbiB0aWRhayBsZWdhbCBkYXJpIHZlcnNpIHRhcmdldCBwZXJhbmdrYXQiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo3NjYKK21zZ2lkICItLWRlbnNpdHkgb3B0aW9uIGlzIGlnbm9yZWQiCittc2dzdHIgIm9wc2kgLS1kZW5zaXR5IGRpYWJhaWthbiIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjc2OQorbXNnaWQgIi0tbm8tZGVuc2l0eSBvcHRpb24gaXMgaWdub3JlZCIKK21zZ3N0ciAib3BzaSAtLW5vLWRlbnNpdHkgZGlhYmFpa2FuIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6Nzc4Cittc2dpZCAiLS1nZW5lcmljcyBpcyBkZXByZWNhdGVkOyB1c2UgLS10cmFuc2Zvcm0gaW5zdGVhZCIKK21zZ3N0ciAiLS1nZW5lcmljcyBrYWRhbHVhcnNhOyBsZWJpaCBiYWlrIGd1bmFrYW4gLS10cmFuc2Zvcm0iCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo3ODEKK21zZ2lkICItLW5vLWdlbmVyaWNzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAtLW5vLXRyYW5zZm9ybSBpbnN0ZWFkIgorbXNnc3RyICItLW5vLWdlbmVyaWNzIGthZGFsdWFyc2E7IGxlYmloIGJhaWsgZ3VuYWthbiAtLW5vLXRyYW5zZm9ybSIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjc4NAorbXNnaWQgIi0tcmVsYXggaXMgZGVwcmVjYXRlZDsgdXNlIC0tdHJhbnNmb3JtIGluc3RlYWQiCittc2dzdHIgIi0tcmVsYXgga2FkYWx1YXJzYTsgbGViaWggYmFpayBndW5ha2FuIC0tdHJhbnNmb3JtIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6Nzg3Cittc2dpZCAiLS1uby1yZWxheCBpcyBkZXByZWNhdGVkOyB1c2UgLS1uby10cmFuc2Zvcm0gaW5zdGVhZCIKK21zZ3N0ciAiLS1uby1yZWxheCBrYWRhbHVhcnNhOyBsZWJpaCBiYWlrIGd1bmFrYW4gLS1uby10cmFuc2Zvcm0iCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo4MDQKK21zZ2lkICItLWFic29sdXRlLWxpdGVyYWxzIG9wdGlvbiBub3Qgc3VwcG9ydGVkIGluIHRoaXMgWHRlbnNhIGNvbmZpZ3VyYXRpb24iCittc2dzdHIgIm9wc2kgLS1hYnNvbHV0ZS1saXRlcmFscyB0aWRhayBkaWR1a3VuZyBkaSBrb25maWd1cmFzaSBYdGVuc2EgaW5pIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6ODc3Cittc2dpZCAicHJlZmVyLWwzMnIgY29uZmxpY3RzIHdpdGggcHJlZmVyLWNvbnN0MTYiCittc2dzdHIgInByZWZlci1sMzJyIGtvbmZsaWsgZGVuZ2FuIHByZWZlci1jb25zdDE2IgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6ODgzCittc2dpZCAicHJlZmVyLWNvbnN0MTYgY29uZmxpY3RzIHdpdGggcHJlZmVyLWwzMnIiCittc2dzdHIgInByZWZlci1jb25zdDE2IGtvbmZsaWsgZGVuZ2FuIHByZWZlci1sMzJyIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6ODkxIGNvbmZpZy90Yy14dGVuc2EuYzo5MDAgY29uZmlnL3RjLXh0ZW5zYS5jOjkwNAorbXNnaWQgImludmFsaWQgdGFyZ2V0IGhhcmR3YXJlIHZlcnNpb24iCittc2dzdHIgInZlcnNpIHRhcmdldCBwZXJhbmdrYXQgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxMDgzCittc2dpZCAidW5tYXRjaGVkIGVuZCBkaXJlY3RpdmUiCittc2dzdHIgImRpcmVrdGlmIGVuZCB0aWRhayBjb2NvayIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjExMTIKK21zZ2lkICIuYmVnaW4gZGlyZWN0aXZlIHdpdGggbm8gbWF0Y2hpbmcgLmVuZCBkaXJlY3RpdmUiCittc2dzdHIgImRpcmVrdGlmIC5iZWdpbiB0YW5wYSBwYXNhbmdhbiAuZW5kIGRpcmVrdGlmIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MTE1MworbXNnaWQgIltuby1dZ2VuZXJpY3MgaXMgZGVwcmVjYXRlZDsgdXNlIFtuby1ddHJhbnNmb3JtIGluc3RlYWQiCittc2dzdHIgIltuby1dZ2VuZXJpY3Mga2FkYWx1YXJzYTsgbGViaWggYmFpayBndW5ha2FuIFtuby1ddHJhbnNmb3JtIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MTE1OAorbXNnaWQgIltuby1dcmVsYXggaXMgZGVwcmVjYXRlZDsgdXNlIFtuby1ddHJhbnNmb3JtIGluc3RlYWQiCittc2dzdHIgIltuby1dcmVsYXgga2FkYWx1YXJzYTsgbGViaWggYmFpayBndW5ha2FuIFtuby1ddHJhbnNmb3JtIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MTE3MQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RpdmUgJXMgY2Fubm90IGJlIG5lZ2F0ZWQiCittc2dzdHIgImRpcmVrdGlmICVzIHRpZGFrIGRhcGF0IGRpbmVnYXNpa2FuIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MTE3NworbXNnaWQgInVua25vd24gZGlyZWN0aXZlIgorbXNnc3RyICJkaXJla3RpZiB0aWRhayBkaWtlbmFsIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MTE5OCBjb25maWcvdGMteHRlbnNhLmM6MTI5NCBjb25maWcvdGMteHRlbnNhLmM6MTUzNgorIzogY29uZmlnL3RjLXh0ZW5zYS5jOjU2ODkKK21zZ2lkICJkaXJlY3RpdmVzIGFyZSBub3QgdmFsaWQgaW5zaWRlIGJ1bmRsZXMiCittc2dzdHIgImRpcmVrdGlmIHRpZGFrIHZhbGlkIGRpZGFsYW0gYnVuZGxlcyIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjEyMTAKK21zZ2lkICIuYmVnaW4gbGl0ZXJhbCBpcyBkZXByZWNhdGVkOyB1c2UgLmxpdGVyYWwgaW5zdGVhZCIKK21zZ3N0ciAiLmJlZ2luIGxpdGVyYWwga2FkYWx1YXJzYTsgbGViaWggYmFpayBndW5ha2FuIC5saXRlcmFsIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MTIyNAorbXNnaWQgImNhbm5vdCBzZXQgbGl0ZXJhbF9wcmVmaXggaW5zaWRlIGxpdGVyYWwgZnJhZ21lbnQiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbnNldCBsaXRlcmFsX3ByZWZpeCBkaWRhbGFtIGxpdGVyYWwgZnJhZ21lbiIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjEyNTcKK21zZ2lkICIuYmVnaW4gW25vLV1kZW5zaXR5IGlzIGlnbm9yZWQiCittc2dzdHIgIi5iZWdpbiBbbm8tXWRlbnNpdHkgZGlhYmFpa2FuIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MTI2NCBjb25maWcvdGMteHRlbnNhLmM6MTMxNAorbXNnaWQgIlh0ZW5zYSBhYnNvbHV0ZSBsaXRlcmFscyBvcHRpb24gbm90IHN1cHBvcnRlZDsgaWdub3JlZCIKK21zZ3N0ciAiWHRlbnNhIGFic29sdXQgbGl0ZXJhIG9wc2kgdGlkYWsgZGlkdWt1bmc7IGRpYWJhaWthbiIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjEzMDcKK21zZ2lkICIuZW5kIFtuby1dZGVuc2l0eSBpcyBpZ25vcmVkIgorbXNnc3RyICIuZW5kIFtuby1dZGVuc2l0eSBkaWFiYWlrYW4iCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxMzMyCisjLCBjLWZvcm1hdAorbXNnaWQgImRvZXMgbm90IG1hdGNoIGJlZ2luICVzJXMgYXQgJXM6JWQiCittc2dzdHIgInRpZGFrIGNvY29rIGJlZ2luICVzJXMgZGkgJXM6JWQiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxMzg3Cittc2dpZCAiLmxpdGVyYWxfcG9zaXRpb24gaW5zaWRlIGxpdGVyYWwgZGlyZWN0aXZlOyBpZ25vcmluZyIKK21zZ3N0ciAiLmxpdGVyYWxfcG9zaXRpb24gZGlkYWxhbSBsaXRlcmFsIGRpcmVrdGlmOyBkaWFiYWlrYW4iCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxNDA3Cittc2dpZCAiLmxpdGVyYWwgbm90IGFsbG93ZWQgaW5zaWRlIC5iZWdpbiBsaXRlcmFsIHJlZ2lvbiIKK21zZ3N0ciAiLmxpdGVyYWwgdGlkYWsgZGlwZXJib2xlaGthbiBkaWRhbGFtIGRhZXJhaCAuYmVnaW4gbGl0ZXJhbCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjE0NDMKK21zZ2lkICJleHBlY3RlZCBjb21tYSBvciBjb2xvbiBhZnRlciBzeW1ib2wgbmFtZTsgcmVzdCBvZiBsaW5lIGlnbm9yZWQiCittc2dzdHIgImRpZHVnYSBrb21hIGF0YXUga29sb24gc2V0ZWxhaCBuYW1hIHNpbWJvbDsgc2lzYSBkYXJpIGJhcmlzIGRpYWJhaWthbiIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjE1MDUKK21zZ2lkICJmYWxsIHRocm91Z2ggZnJlcXVlbmN5IG11c3QgYmUgZ3JlYXRlciB0aGFuIDAiCittc2dzdHIgImphdHVoIG1lbGV3YXRpIGZyZWt1ZW5zaSBoYXJ1cyBsZWJpaCBiZXNhciBkYXJpIDAiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxNTEzCittc2dpZCAiYnJhbmNoIHRhcmdldCBmcmVxdWVuY3kgbXVzdCBiZSBncmVhdGVyIHRoYW4gMCIKK21zZ3N0ciAidGFyZ2V0IHBlcmNhYmFuZ2FuIGZyZWt1ZW5zaSBoYXJ1cyBsZWJpaCBiZXNhciBkYXJpIDAiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxNTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wY29kZS1zcGVjaWZpYyAlcyByZWxvY2F0aW9uIHVzZWQgb3V0c2lkZSBhbiBpbnN0cnVjdGlvbiIKK21zZ3N0ciAib3Bjb2RlLXNwZWNpZmljICVzIHJlbG9rYXNpIGRpZ3VuYWthbiBkaWx1YXIgZGFyaSBzZWJ1YWggaW5zdHJ1a3NpIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MTU2OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHVzZSBvZiAlcyByZWxvY2F0aW9uIgorbXNnc3RyICJwZW5nZ3VuYWFuIGRhcmkgcmVsb2thc2kgJXMgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxNzY1IGNvbmZpZy90Yy14dGVuc2EuYzoxNzgyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByZWdpc3RlciBuYW1lOiAlcyIKK21zZ3N0ciAibmFtYSByZWdpc3RlcjogJXMgYnVydWsiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxNzcxCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByZWdpc3RlciBudW1iZXI6ICVzIgorbXNnc3RyICJub21vciByZWdpc3RlcjogJXMgYnVydWsiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxODM0Cittc2dpZCAicGNyZWwgcmVsb2NhdGlvbiBub3QgYWxsb3dlZCBpbiBhbiBpbnN0cnVjdGlvbiIKK21zZ3N0ciAicGNyZWwgcmVsb2thc2kgdGlkYWsgZGlwZXJib2xlaGthbiBkYWxhbSBzZWJ1YWggaW5zdHJ1a3NpIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MTg1MQorbXNnaWQgInJlZ2lzdGVyIG51bWJlciBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIm5vbW9yIHJlZ2lzdGVyIGRpbHVhciBkYXJpIGphbmdrYXVhbiIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjE5MzUKK21zZ2lkICJleHRyYSBjb21tYSIKK21zZ3N0ciAia2VsZWJpaGFuIGtvbWEiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxOTM3Cittc2dpZCAiZXh0cmEgY29sb24iCittc2dzdHIgImtlbGViaWhhbiBrb2xvbiIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjE5MzkKK21zZ2lkICJtaXNzaW5nIGFyZ3VtZW50IgorbXNnc3RyICJoaWxhbmcgYXJndW1lbiIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjE5NDEKK21zZ2lkICJtaXNzaW5nIGNvbW1hIG9yIGNvbG9uIgorbXNnc3RyICJoaWxhbmcga29tYSBhdGF1IGtvbG9uIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MTk5OAorbXNnaWQgImluY29ycmVjdCByZWdpc3RlciBudW1iZXIsIGlnbm9yaW5nIgorbXNnc3RyICJub21vciByZWdpc3RlciB0aWRhayBiZW5hciwgbWVuZ2FiYWlrYW4iCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoyMDA1Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICJ0ZXJsYWx1IGJhbnlhayBhcmd1bWVuIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MjA3OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZW5jb2RlIG9wY29kZSBcIiVzXCIiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmVua29kZSBvcGtvZGUgXCIlc1wiIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MjE3MgorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIG9wZXJhbmRzICglZCkgZm9yICclcyc7IGV4cGVjdGVkICVkIgorbXNnc3RyICJ0aWRhayBjdWt1cCBvcGVyYW4gKCVkKSB1bnR1ayAnJXMnOyBkaWR1Z2EgJWQiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoyMTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IG9wZXJhbmRzICglZCkgZm9yICclcyc7IGV4cGVjdGVkICVkIgorbXNnc3RyICJ0ZXJsYWx1IGJhbnlhayBvcGVyYW4gKCVkKSB1bnR1ayAnJXMnOyBkaWR1Z2EgJWQiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoyMjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVnaXN0ZXIgJyVzJyBmb3IgJyVzJyBpbnN0cnVjdGlvbiIKK21zZ3N0ciAicmVnaXN0ZXIgJyVzJyB0aWRhayB2YWxpZCB1bnR1ayBpbnN0cnVrc2kgJyVzJyIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjIyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCByZWdpc3RlciBudW1iZXIgKCVsZCkgZm9yICclcycgaW5zdHJ1Y3Rpb24iCittc2dzdHIgIm5vbW9yIHJlZ2lzdGVyICglbGQpIHRpZGFrIHZhbGlkIHVudHVrIGluc3RydWtzaSAnJXMnIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MjMwNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHJlZ2lzdGVyIG51bWJlciAoJWxkKSBmb3IgJyVzJyIKK21zZ3N0ciAibm9tb3IgcmVnaXN0ZXIgKCVsZCkgdGlkYWsgdmFsaWQgdW50dWsgJyVzJyIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjI2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmFuZCAlZCBvZiAnJXMnIGhhcyBvdXQgb2YgcmFuZ2UgdmFsdWUgJyV1JyIKK21zZ3N0ciAib3BlcmFuICVkIGRhcmkgJyVzJyBtZW1pbGlraSBuaWxhaSBkaWx1YXIgZGFyaSBqYW5na2F1YW4gJyV1JyIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjI3MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmFuZCAlZCBvZiAnJXMnIGhhcyBpbnZhbGlkIHZhbHVlICcldSciCittc2dzdHIgIm9wZXJhbiAlZCBkYXJpICclcycgbWVtaWxpa2kgbmlsYWkgJyV1JyB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjI3NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gb3B0aW9uIG5hbWUgJyVzJyIKK21zZ3N0ciAiaW50ZXJuYWwgZXJyb3I6IG5hbWEgb3BzaSAnJXMnIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzozODUyCittc2dpZCAiY2FuJ3QgaGFuZGxlIGdlbmVyYXRpb24gb2YgbGl0ZXJhbC9sYWJlbHMgeWV0IgorbXNnc3RyICJiZWx1bSBkYXBhdCBtZW5hbmdhbmkgcGVtYnVhdGFuIGRhcmkgbGl0ZXJhbC9sYWJlbCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjM4NTYKK21zZ2lkICJjYW4ndCBoYW5kbGUgdW5kZWZpbmVkIE9QIFRZUEUiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmFuZ2FuaSB1bmRlZmluZWQgT1AgVFlQRSIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjM5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm91bmQgJWQgb3BlcmFuZHMgZm9yICclcyc6ICBFeHBlY3RlZCAlZCIKK21zZ3N0ciAiZGl0ZW11a2FuIG9wZXJhbiAlZCB1bnR1ayAnJXMnOiBESWR1Z2EgJWQiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzozOTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImZvdW5kIHRvbyBtYW55ICglZCkgb3BlcmFuZHMgZm9yICclcyc6ICBFeHBlY3RlZCAlZCIKK21zZ3N0ciAiZGl0ZW11a2FuIHRlcmxhbHUgYmFueWFrIG9wZXJhbiAoJWQpIHVudHVrICclcyc6IERpZHVnYSAlZCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjM5NDUKK21zZ2lkICJpbW1lZGlhdGUgb3BlcmFuZHMgc3VtIHRvIGdyZWF0ZXIgdGhhbiAzMiIKK21zZ3N0ciAib3BlcmFuIGxhbmdzdW5nIHN1bSB0byBsZWJpaCBiZXNhciBkYXJpIDMyIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NDA3NgorbXNnaWQgImludmFsaWQgaW1tZWRpYXRlIgorbXNnc3RyICJpbW1lZGlhdGUgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo0MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVsb2NhdGlvbiBmb3Igb3BlcmFuZCAlaSBvZiAnJXMnIgorbXNnc3RyICJyZWxva2FzaSB1bnR1ayBvcGVyYW4gdGlkYWsgdmFsaWQgJWkgZGFyaSAnJXMnIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NDIwNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGV4cHJlc3Npb24gZm9yIG9wZXJhbmQgJWkgb2YgJyVzJyIKK21zZ3N0ciAiZWtzcHJlc2kgdGlkYWsgdmFsaWQgdW50dWsgb3BlcmFuICVpIGRhcmkgJyVzJyIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjQyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCByZWxvY2F0aW9uIGluIGluc3RydWN0aW9uIHNsb3QgJWkiCittc2dzdHIgInJlbG9rYXNpIHRpZGFrIHZhbGlkIGRhbGFtIGluc3RydWtzaSBzbG90ICVpIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NDIyNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmRlZmluZWQgc3ltYm9sIGZvciBvcGNvZGUgXCIlc1wiIgorbXNnc3RyICJzaW1ib2wgdGlkYWsgdGVyZGVmaW5pc2kgdW50dWsgb3Bjb2RlIFwiJXNcIiIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjQ2OTgKK21zZ2lkICJvcGNvZGUgJ05PUC5OJyB1bmF2YWlsYWJsZSBpbiB0aGlzIGNvbmZpZ3VyYXRpb24iCittc2dzdHIgIm9wa29kZSAnTk9QLk4nIHRpZGFrIHRlcnNlZGlhIGRhbGFtIGtvbmZpZ3VyYXNpIGluaSIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjQ3NTgKK21zZ2lkICJnZXRfZXhwYW5kZWRfbG9vcF9vZmZzZXQ6IGludmFsaWQgb3Bjb2RlIgorbXNnc3RyICJnZXRfZXhwYW5kZWRfbG9vcF9vZmZzZXQ6IG9wa29kZSB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjQ4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXNzZW1ibHkgc3RhdGUgbm90IHNldCBmb3IgZmlyc3QgZnJhZyBpbiBzZWN0aW9uICVzIgorbXNnc3RyICJrZWFkYWFuIHBlcmFraXRhbiB0aWRhayBkaXNldCB1bnR1ayBmcmFnIHBlcnRhbWEgZGFsYW0gZGFlcmFoICVzIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NDk0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFsaWduZWQgYnJhbmNoIHRhcmdldDogJWQgYnl0ZXMgYXQgMHglbHgiCittc2dzdHIgInVuYWxpZ25lZCB0YXJnZXQgcGVyY2FiYW5nYW46ICVkIGJ5dGVzIGRpIDB4JWx4IgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NDk4MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFsaWduZWQgbG9vcDogJWQgYnl0ZXMgYXQgMHglbHgiCittc2dzdHIgInVuYWxpZ25lZCBsb29wOiAlZCBieXRlcyBkaSAweCVseCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjUwMDcKK21zZ2lkICJ1bmV4cGVjdGVkIGZpeCIKK21zZ3N0ciAidGlkYWsgdGVyZHVnYSBmaXgiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo1MDE4IGNvbmZpZy90Yy14dGVuc2EuYzo1MDIyCittc2dpZCAidW5kZWNvZGFibGUgZml4IgorbXNnc3RyICJ0aWRhayB0ZXJkZWtvZGVrYW4gZml4IgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NTE1MQorbXNnaWQgImxhYmVscyBhcmUgbm90IHZhbGlkIGluc2lkZSBidW5kbGVzIgorbXNnc3RyICJsYWJlbCB0aWRhayB2YWxpZCBkaWRhbGFtIGJ1bmRsZXMiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo1MTcxCittc2dpZCAiaW52YWxpZCBsYXN0IGluc3RydWN0aW9uIGZvciBhIHplcm8tb3ZlcmhlYWQgbG9vcCIKK21zZ3N0ciAiaW5zdHJ1a3NpIHRlcmFraGlyIHRpZGFrIHZhbGlkIHVudHVrIGxvb3AgemVyby1vdmVyaGVhZCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjUyMzYKK21zZ2lkICJleHRyYSBvcGVuaW5nIGJyYWNlIgorbXNnc3RyICJrZWxlYmloYW4ga3VydW5nIHBlbWJ1a2EiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo1MjQ2Cittc2dpZCAiZXh0cmEgY2xvc2luZyBicmFjZSIKK21zZ3N0ciAia2VsZWJpaGFuIGt1cnVuZyBwZW51dHVwIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NTI3MworbXNnaWQgIm1pc3NpbmcgY2xvc2luZyBicmFjZSIKK21zZ3N0ciAiaGlsYW5nIGt1cnVuZyBwZW51dHVwIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NTM3MworIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2Ygb3BlcmFuZHMgZm9yICclcyciCittc2dzdHIgImp1bWxhaCBkYXJpIG9wZXJhbiBzYWxhaCB1bnR1ayAnJXMnIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NTM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcmVsb2NhdGlvbiBleHByZXNzaW9uIGZvciAnJXMnIgorbXNnc3RyICJla3ByZXNpIHJlbG9rYXNpIGJ1cnVrIHVudHVrICclcyciCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo1NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3Bjb2RlIG9yIGZvcm1hdCBuYW1lICclcyciCittc2dzdHIgIm9wa29kZSB0aWRhayBkaWtldGFodWkgYXRhdSBuYW1hIGZvcm1hdCAnJXMnIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NTQwOQorbXNnaWQgImZvcm1hdCBuYW1lcyBvbmx5IHZhbGlkIGluc2lkZSBidW5kbGVzIgorbXNnc3RyICJuYW1hIGZvcm1hdCBoYW55YSB2YWxpZCBkaWRhbGFtIGJ1bmRsZXMiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo1NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIm11bHRpcGxlIGZvcm1hdHMgc3BlY2lmaWVkIGZvciBvbmUgYnVuZGxlOyB1c2luZyAnJXMnIgorbXNnc3RyICJtdWx0aXBsZSBmb3JtYXQgZGlzcGVzaWZpa2FzaWthbiB1bnR1ayBzYXR1IGJ1bmRsZXM7IG1lbmdndW5ha2FuICclcyciCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo1NDY0Cittc2dpZCAiZW50cnkgaW5zdHJ1Y3Rpb24gd2l0aCBzdGFjayBkZWNyZW1lbnQgPCAxNiIKK21zZ3N0ciAibWFzdWthbiBpbnN0cnVrc2kgZGVuZ2FuIHN0YWNrIGRlY3JlbWVudCA8IDE2IgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NTUxNworbXNnaWQgInVuYWxpZ25lZCBlbnRyeSBpbnN0cnVjdGlvbiIKK21zZ3N0ciAibWFzdWthbiBpbnN0cnVrc2kgdGlkYWsgdGVyYWxpZ24iCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo1NTgyCittc2dpZCAiYmFkIGluc3RydWN0aW9uIGZvcm1hdCIKK21zZ3N0ciAiZm9ybWF0IGluc3RydWtzaSBidXJ1ayIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjU1ODUKK21zZ2lkICJpbnZhbGlkIHJlbG9jYXRpb24iCittc2dzdHIgInJlbG9rYXNpIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NTU5NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHJlbG9jYXRpb24gZm9yICclcycgaW5zdHJ1Y3Rpb24iCittc2dzdHIgInJlbG9rYXNpIHVudHVrIGluc3RydWtzaSAnJXMnIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NTYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHJlbG9jYXRpb24gZm9yIG9wZXJhbmQgJWQgb2YgJyVzJyIKK21zZ3N0ciAicmVsb2thc2kgdW50dWsgb3BlcmFuICVkIGRhcmkgJyVzJyB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjU3ODgKK21zZ2lkICJjYW5ub3QgcmVwcmVzZW50IHN1YnRyYWN0aW9uIHdpdGggYW4gb2Zmc2V0IgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZXJlcHJlc2VudGFzaWthbiBwZW5ndXJhbmdhbiBkZW5nYW4gc2VidWFoIG9mc2V0IgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NTg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmhhbmRsZWQgbG9jYWwgcmVsb2NhdGlvbiBmaXggJXMiCittc2dzdHIgInVuaGFuZGxlZCBsb2thbCByZWxva2FzaSBmaXggJXMiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo1OTM5CisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOyBjYW5ub3QgZ2VuZXJhdGUgYCVzJyByZWxvY2F0aW9uIgorbXNnc3RyICJpbnRlcm5hbCBlcnJvcjsgdGlkYWsgZGFwYXQgbWVuZ2hhc2lsa2FuIHJlbG9rYXNpIGAlcyciCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo2MTU5Cittc2dpZCAiY291bGRuJ3QgZmluZCBhIHZhbGlkIGluc3RydWN0aW9uIGZvcm1hdCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW11a2FuIHNlYnVhaCBmb3JtYXQgaW5zdHJ1a3NpIHZhbGlkIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgb3BzIHdlcmU6ICIKK21zZ3N0ciAiICAgIG9wcyBhZGFsYWg6ICIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjYxNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzOyIKK21zZ3N0ciAiICVzOyIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjYxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0ICclcycgYWxsb3dzICVkIHNsb3RzLCBidXQgdGhlcmUgYXJlICVkIG9wY29kZXMiCittc2dzdHIgImZvcm1hdCAnJXMnIG1lbmdpamlua2FuICVkIHNsb3RzLCB0ZXRhcGkgZGlzYW5hIGFkYWxhaCAlZCBvcGtvZGUiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo2MTg0IGNvbmZpZy90Yy14dGVuc2EuYzo2MjgyCittc2dpZCAiaWxsZWdhbCByZXNvdXJjZSB1c2FnZSBpbiBidW5kbGUiCittc2dzdHIgInBlbmdndW5hYW4gcmVzb3VyY2UgdGlkYWsgbGVnYWwgZGFsYW0gYnVuZGxlIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGNvZGVzICclcycgKHNsb3QgJWQpIGFuZCAnJXMnIChzbG90ICVkKSB3cml0ZSB0aGUgc2FtZSByZWdpc3RlciIKK21zZ3N0ciAib3Brb2RlICclcycgKHNsb3QgJWQpIGRhbiAnJXMnIChzbG90ICVkKSB0dWxpcyBkaSByZWdpc3RlciB5YW5nIHNhbWEiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo2Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wY29kZXMgJyVzJyAoc2xvdCAlZCkgYW5kICclcycgKHNsb3QgJWQpIHdyaXRlIHRoZSBzYW1lIHN0YXRlIgorbXNnc3RyICJvcGtvZGUgJyVzJyAoc2xvdCAlZCkgZGFuICclcycgKHNsb3QgJWQpIHR1bGlzIHN0YXR1cyBzYW1hIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6NjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGNvZGVzICclcycgKHNsb3QgJWQpIGFuZCAnJXMnIChzbG90ICVkKSB3cml0ZSB0aGUgc2FtZSBwb3J0IgorbXNnc3RyICJvcGtvZGUgJyVzJyAoc2xvdCAlZCkgZGFuICclcycgKHNsb3QgJWQpIHR1bGlzIHBvcnQgc2FtYSIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjYzODQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3Bjb2RlcyAnJXMnIChzbG90ICVkKSBhbmQgJyVzJyAoc2xvdCAlZCkgYm90aCBoYXZlIHZvbGF0aWxlIHBvcnQgYWNjZXNzZXMiCittc2dzdHIgIm9wa29kZSAnJXMnIChzbG90ICVkKSBkYW4gJyVzJyAoc2xvdCAlZCkga2VkdWFueWEgbWVtaWxpa2kgYWtzZXMgcG9ydCB2b2xhdGlsZSIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjY0MDAKK21zZ2lkICJtdWx0aXBsZSBicmFuY2hlcyBvciBqdW1wcyBpbiB0aGUgc2FtZSBidW5kbGUiCittc2dzdHIgIm11bHRpcGxlIHBlcmNhYmFuZ2FuIGF0YXUgbG9tcGF0IGRhbGFtIGJ1bmRsZSBzYW1hIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6Njg1MgorbXNnaWQgImNhbm5vdCBhc3NlbWJsZSBpbnRvIGEgbGl0ZXJhbCBmcmFnbWVudCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVyYWtpdCBrZWRhbGFtIHNlYnVhaCBsaXRlcmFsIGZyYWdtZW4iCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo2ODU0Cittc2dpZCAiLi4uIgorbXNnc3RyICIuLi4iCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo3NDUzCittc2dpZCAiaW5zdHJ1Y3Rpb24gc2VxdWVuY2UgKHdyaXRlIGEwLCBicmFuY2gsIHJldHcpIG1heSB0cmlnZ2VyIGhhcmR3YXJlIGVycmF0YSIKK21zZ3N0ciAidXJ1dGFuIGluc3RydWtzaSAodHVsaXMgYTAsIGJyYW5jaCwgcmV0dykgbXVuZ2tpbiBtZW50cmlnZXIga2VzYWxhaGFuIHBlcmFuZ2thdCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjc1NjUKK21zZ2lkICJicmFuY2hpbmcgb3IganVtcGluZyB0byBhIGxvb3AgZW5kIG1heSB0cmlnZ2VyIGhhcmR3YXJlIGVycmF0YSIKK21zZ3N0ciAicGVyY2FiYW5nYW4gYXRhdSBwZXJsb21wYXRhbiBrZSBzZWJ1YWggbG9vcCBlbmQgbXVuZ2tpbiBtZW50cmlnZXIga2VzYWxhaGFuIHBlcmFuZ2thdCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjc2NDcKK21zZ2lkICJsb29wIGVuZCB0b28gY2xvc2UgdG8gYW5vdGhlciBsb29wIGVuZCBtYXkgdHJpZ2dlciBoYXJkd2FyZSBlcnJhdGEiCittc2dzdHIgImxvb3AgZW5kIHRlcmxhbHUgZGVrYXQgZGVuZ2FuIGxvb3AgZW5kIGxhaW4gbXVuZ2tpbiBtZW50cmlnZ2VyIGtlc2FsYWhhbiBwZXJhbmdrYXQiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo3NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImZyX3ZhciAlbHUgPCBsZW5ndGggJWQiCittc2dzdHIgImZyZV92YXIgJWx1IDwgcGFuamFuZyAlZCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjc4MTUKK21zZ2lkICJsb29wIGNvbnRhaW5pbmcgbGVzcyB0aGFuIHRocmVlIGluc3RydWN0aW9ucyBtYXkgdHJpZ2dlciBoYXJkd2FyZSBlcnJhdGEiCittc2dzdHIgImxvb3AgYmVyaXNpIGt1cmFuZyBkYXJpIHRpZ2EgaW5zdHJ1a3NpIG11bmdraW4gbWVudHJpZ2VyIGtlc2FsYWhhbiBwZXJhbmdrYXQiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo3ODg3Cittc2dpZCAidW5kZWNvZGFibGUgaW5zdHJ1Y3Rpb24gaW4gaW5zdHJ1Y3Rpb24gZnJhZyIKK21zZ3N0ciAiaW5zdHJ1a3NpIHRpZGFrIHRlcmRla29kZSBkYWxhbSBpbnN0cnVrc2kgZnJhZyIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjc5OTcKK21zZ2lkICJpbnZhbGlkIGVtcHR5IGxvb3AiCittc2dzdHIgImxvb3Aga29zb25nIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6ODAwMgorbXNnaWQgImxvb3AgdGFyZ2V0IGRvZXMgbm90IGZvbGxvdyBsb29wIGluc3RydWN0aW9uIGluIHNlY3Rpb24iCittc2dzdHIgInRhcmdldCBsb29wIHRpZGFrIG1lbmdpa3V0aSBpbnN0cnVrc2kgbG9vcCBkYWxhbSBkYWVyYWgiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzo4NTgwCittc2dpZCAiYmFkIHJlbGF4YXRpb24gc3RhdGUiCittc2dzdHIgImtlYWRhYW4gcmVsYWtzYXNpIGJ1cnVrIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6ODYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJmcl92YXIgKCVsZCkgPCBsZW5ndGggKCVkKSIKK21zZ3N0ciAiZnJhX3ZhciAoJWxkKSA8IHBhbmphbmcgKCVkKSIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjkzMzkKK21zZ2lkICJpbnZhbGlkIHJlbGF4YXRpb24gZnJhZ21lbnQgcmVzdWx0IgorbXNnc3RyICJoYXNpbCBmcmFnbWVuIHJlbGFrc2FzaSB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjk0MTgKK21zZ2lkICJ1bmFibGUgdG8gd2lkZW4gaW5zdHJ1Y3Rpb24iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbGViYXJrYW4gaW5zdHJ1a3NpIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6OTU1OAorbXNnaWQgIm11bHRpcGxlIGxpdGVyYWxzIGluIGV4cGFuc2lvbiIKK21zZ3N0ciAibXVsdGlwbGUgbGl0ZXJhbCBkYWxhbSBwZXJueWF0YWFuIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6OTU2MgorbXNnaWQgIm5vIHJlZ2lzdGVyZWQgZnJhZ21lbnQgZm9yIGxpdGVyYWwiCittc2dzdHIgInRpZGFrIGFkYSBmcmFnbWVuIHRlcmRhZnRhciB1bnR1ayBsaXRlcmFsIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6OTU2NAorbXNnaWQgIm51bWJlciBvZiBsaXRlcmFsIHRva2VucyAhPSAxIgorbXNnc3RyICJqdW1sYWggZGFyaSBsaXRlcmFsIHRva2VucyAhPSAxIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6OTY5NCBjb25maWcvdGMteHRlbnNhLmM6OTcwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlc29sdmVkIGxvb3AgdGFyZ2V0IHN5bWJvbDogJXMiCittc2dzdHIgInNpbWJvbCBsb29wIHRhcmdldCB0aWRhayB0ZXJzZWxlc2Fpa2FuOiAlcyIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjk4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBleHByZXNzaW9uIGV2YWx1YXRpb24gdHlwZSAlZCIKK21zZ3N0ciAidGlwZSBldmFsdWFzaSBla3NwcmVzaSB0aWRhayB2YWxpZCAlZCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjk4MjMKK21zZ2lkICJsb29wIHRvbyBsb25nIGZvciBMT09QIGluc3RydWN0aW9uIgorbXNnc3RyICJsb29wIHRlcmxhbHUgcGFuamFuZyB1bnR1ayBpbnN0cnVrc2kgTE9PUCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjEwMDkzCisjLCBjLWZvcm1hdAorbXNnaWQgImZpeGVzIG5vdCBhbGwgbW92ZWQgZnJvbSAlcyIKK21zZ3N0ciAiZml4ZXMgdGlkYWsgc2VsdXJ1aG55YSBkaXBpbmRhaGthbiBkYXJpICVzIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MTAyMjQKK21zZ2lkICJsaXRlcmFsIHBvb2wgbG9jYXRpb24gcmVxdWlyZWQgZm9yIHRleHQtc2VjdGlvbi1saXRlcmFsczsgc3BlY2lmeSB3aXRoIC5saXRlcmFsX3Bvc2l0aW9uIgorbXNnc3RyICJsb2thc2kgbGl0ZXJhbCBwb29sIGRpYnV0dWhrYW4gdW50dWsgdGV4dC1zZWN0aW9uLWxpdGVyYWxzOyBzcGVzaWZpa2FzaWthbiBkZW5nYW4gLmxpdGVyYWxfcG9zaXRpb24iCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxMTA2MgorbXNnaWQgInRvbyBtYW55IG9wZXJhbmRzIGluIGluc3RydWN0aW9uIgorbXNnc3RyICJ0ZXJsYWx1IGJhbnlhayBvcGVyYW4gZGFsYW0gaW5zdHJ1a3NpIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MTEyNzMKK21zZ2lkICJpbnZhbGlkIHN5bWJvbGljIG9wZXJhbmQiCittc2dzdHIgIm9wZXJhbiBzaW1ib2xpayB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjExMzM0Cittc2dpZCAib3BlcmFuZCBudW1iZXIgbWlzbWF0Y2giCittc2dzdHIgIm5vbW9yIG9wZXJhbiB0aWRhayBjb2NvayIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjExMzM4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBlbmNvZGUgb3Bjb2RlIFwiJXNcIiBpbiB0aGUgZ2l2ZW4gZm9ybWF0IFwiJXNcIiIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ2Vua29kZSBvcGtvZGUgXCIlc1wiIHlhbmcgZGliZXJpa2FuIGRlbmdhbiBmb3JtYXQgXCIlc1wiIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MTEzNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRlbnNhLWlzYSBmYWlsdXJlOiAlcyIKK21zZ3N0ciAieHRlbnNhLWlzYSBnYWdhbDogJXMiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxMTQzNAorbXNnaWQgImludmFsaWQgb3Bjb2RlIgorbXNnc3RyICJvcGtvZGUgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxMTQ0MAorbXNnaWQgInRvbyBmZXcgb3BlcmFuZHMiCittc2dzdHIgInRlcmxhbHUgc2VkaWtpdCBvcGVyYW4iCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxMTU1NSBjb25maWcvdGMteHRlbnNhLmM6MTE1NjEKK21zZ2lkICJvdXQgb2YgbWVtb3J5IgorbXNnc3RyICJrZWhhYmlzYW4gbWVtb3JpIgorCisjOiBjb25maWcvdGMteHRlbnNhLmM6MTE2MzkKK21zZ2lkICJUTFMgcmVsb2NhdGlvbiBub3QgYWxsb3dlZCBpbiBGTElYIGJ1bmRsZSIKK21zZ3N0ciAicmVsb2thc2kgVExTIHRpZGFrIGRpaWppbmthbiBkYWxhbSBidW5kbGUgRkxJWCIKKworIy4gSW5zdHJ1Y3Rpb25zIHRoYXQgZ2VuZXJhdGUgVExTIHJlbG9jYXRpb25zIHNob3VsZCBhbHdheXMgYmUKKyMuIHJlbGF4ZWQgaW4gdGhlIGZyb250LWVuZC4gIElmICJyZWNvcmRfZml4dXAiIGlzIHNldCwgdGhlbiB0aGlzCisjLiBmdW5jdGlvbiBpcyBiZWluZyBjYWxsZWQgZHVyaW5nIGJhY2stZW5kIHJlbGF4YXRpb24sIHNvIGZsYWcKKyMuIHRoZSB1bmV4cGVjdGVkIGJlaGF2aW9yIGFzIGFuIGVycm9yLgorIzogY29uZmlnL3RjLXh0ZW5zYS5jOjExNjQ1Cittc2dpZCAidW5leHBlY3RlZCBUTFMgcmVsb2NhdGlvbiIKK21zZ3N0ciAicmVsb2thc2kgVExTIHRpZGFrIHRlcmR1Z2EiCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxMTY4OQorbXNnaWQgInN5bWJvbGljIG9wZXJhbmQgbm90IGFsbG93ZWQiCittc2dzdHIgIm9wZXJhbiBzaW1ib2xpayB0aWRhayBkaWlqaW5rYW4iCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxMTcyNgorbXNnaWQgImNhbm5vdCBkZWNvZGUgaW5zdHJ1Y3Rpb24gZm9ybWF0IgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5kZWtvZGUgZm9ybWF0IGluc3RydWtzaSIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjExODcwCittc2dpZCAiaWdub3JpbmcgZXh0cmEgJy1yZW5hbWUtc2VjdGlvbicgZGVsaW1pdGVyICc6JyIKK21zZ3N0ciAibWVuZ2FiYWlrYW4ga2VsZWJpaGFuICctcmVuYW1lLXNlY3Rpb24nIHBlbWJhdGFzICc6JyIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjExODc1CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIGludmFsaWQgJy1yZW5hbWUtc2VjdGlvbicgc3BlY2lmaWNhdGlvbjogJyVzJyIKK21zZ3N0ciAibWVuZ2FiYWlrYW4gdGlkYWsgdmFsaWQgJy1yZW5hbWUtc2VjdGlvbicgc3Blc2lmaWthc2k6ICclcyciCisKKyM6IGNvbmZpZy90Yy14dGVuc2EuYzoxMTg4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0aW9uICVzIHJlbmFtZWQgbXVsdGlwbGUgdGltZXMiCittc2dzdHIgImRhZXJhaCAlcyBkaWdhbnRpIG5hbWEgYmViZXJhcGEga2FsaSIKKworIzogY29uZmlnL3RjLXh0ZW5zYS5jOjExODg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm11bHRpcGxlIHNlY3Rpb25zIHJlbWFwcGVkIHRvIG91dHB1dCBzZWN0aW9uICVzIgorbXNnc3RyICJiZWJlcmFwYSBkYWVyYWggZGlyZW1hcCBrZSBkYWVyYWgga2VsdWFyYW4gJXMiCisKKyM6IGNvbmZpZy90Yy16ODAuYzoyNDQKK21zZ2lkICItLSB1bnRlcm1pbmF0ZWQgc3RyaW5nIgorbXNnc3RyICItLSBzdHJpbmcgdGlkYWsgdGVyc2VsZXNhaWthbiIKKworIzogY29uZmlnL3RjLXo4MC5jOjMxNAorbXNnaWQgImZsb2F0aW5nIHBvaW50IG51bWJlcnMgYXJlIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHRpZGFrIHRlcmltcGxlbWVudGFzaSIKKworIzogY29uZmlnL3RjLXo4MC5jOjQ5MyBjb25maWcvdGMtejgwLmM6NDk5Cittc2dpZCAibWlzbWF0Y2hlZCBwYXJlbnRoZXNlcyIKK21zZ3N0ciAidGlkYWsgY29jb2sgcGFyZW50aGVzZXMiCisKKyM6IGNvbmZpZy90Yy16ODAuYzo1NTMKK21zZ2lkICJiYWQgb2Zmc2V0IGV4cHJlc3Npb24gc3ludGF4IgorbXNnc3RyICJla3NwcmVzaSBzaW50YWtzIG9mc2V0IGJ1cnVrIgorCisjOiBjb25maWcvdGMtejgwLmM6NTc3Cittc2dpZCAiYmFkIGV4cHJlc3Npb24gc3ludGF4IgorbXNnc3RyICJla3NwcmVzaSBzaW50YWtzIGJ1cnVrIgorCisjOiBjb25maWcvdGMtejgwLmM6NjkwCittc2dpZCAiY2Fubm90IG1ha2UgYSByZWxhdGl2ZSBqdW1wIHRvIGFuIGFic29sdXRlIGxvY2F0aW9uIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWF0IHNlYnVhaCBsb21wYXQgcmVsYXRpZiBrZSBzZWJ1YWggbG9rYXNpIGFic29sdXQiCisKKyM6IGNvbmZpZy90Yy16ODAuYzo3MDIgY29uZmlnL3RjLXo4MC5jOjE5NjAKK21zZ2lkICJvdmVyZmxvdyIKK21zZ3N0ciAib3ZlcmZsb3ciCisKKyM6IGNvbmZpZy90Yy16ODAuYzoxMDcwIGNvbmZpZy90Yy16ODAuYzoxMTEzIGNvbmZpZy90Yy16ODAuYzoxMTU3CisjOiBjb25maWcvdGMtejgwLmM6MTI3NyBjb25maWcvdGMtejgwLmM6MTMzMSBjb25maWcvdGMtejgwLmM6MTYwMAorbXNnaWQgImJhZCBpbnRydWN0aW9uIHN5bnRheCIKK21zZ3N0ciAic2ludGFrcyBpbnN0cnVrc2kgYnVydWsiCisKKyM6IGNvbmZpZy90Yy16ODAuYzoxMjAzCittc2dpZCAiY29uZGl0aW9uIGNvZGUgaW52YWxpZCBmb3IganIiCittc2dzdHIgImtvZGUga29uZGlzaSB0aWRhayB2YWxpZCB1bnR1ayBqciIKKworIzogY29uZmlnL3RjLXo4MC5jOjEyMjUKK21zZ2lkICJiYWQgaW5zdHJ1Y3Rpb24gc3ludGF4IgorbXNnc3RyICJzaW50YWtzIGluc3RydWtzaSBidXJ1ayIKKworIzogY29uZmlnL3RjLXo4MC5jOjE3MDQKK21zZ2lkICJwYXJlbnRoZXNlcyBpZ25vcmVkIgorbXNnc3RyICJwYXJlbnRoZXNlcyBkaWFiYWlrYW4iCisKKyM6IGNvbmZpZy90Yy16ODAuYzoxOTA5IHJlYWQuYzozNTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImp1bmsgYXQgZW5kIG9mIGxpbmUsIGZpcnN0IHVucmVjb2duaXplZCBjaGFyYWN0ZXIgaXMgYCVjJyIKK21zZ3N0ciAic2FtcGFoIGRpYWtoaXIgZGFyaSBiYXJpcywga2FyYWt0ZXIgdGlkYWsgZGlrZW5hbCBwZXJ0YW1hIGFkYWxhaCBgJWMnIgorCisjOiBjb25maWcvdGMtejgwLmM6MTkzNSBjb25maWcvdGMtejhrLmM6MTQ2MSBjb25maWcvdGMtejhrLmM6MTUyNAorbXNnaWQgInJlbGF0aXZlIGp1bXAgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJsb21wYXQgcmVsYXRpZiBkaWx1YXIgZGFyaSBqYW5na2F1YW4iCisKKyM6IGNvbmZpZy90Yy16ODAuYzoxOTUyCittc2dpZCAiaW5kZXggb2Zmc2V0ICBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIm9mc2V0IGluZGVrcyBkaWx1YXIgZGFyaSBqYW5na2F1YW4iCisKKyM6IGNvbmZpZy90Yy16ODAuYzoxOTk0IGNvbmZpZy90Yy16OGsuYzoxNTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1kX2FwcGx5X2ZpeDogdW5rbm93biByX3R5cGUgMHgleFxuIgorbXNnc3RyICJtZF9hcHBseV9maXg6IHRpZGFrIGRpa2V0YWh1aSByX3R5cGUgMHgleFxuIgorCisjOiBjb25maWcvdGMtejhrLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZ2lzdGVyIHJyJWQgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJyZWdpc3RlciByciVkIGRpbHVhciBkYXJpIGphbmdrYXVhbiIKKworIzogY29uZmlnL3RjLXo4ay5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWdpc3RlciByciVkIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJyZWdpc3RlciByciVkIHRpZGFrIGFkYSIKKworIzogY29uZmlnL3RjLXo4ay5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWdpc3RlciByaCVkIG91dCBvZiByYW5nZSIKK21zZ3N0ciAicmVnaXN0ZXIgcmglZCBkaWx1YXIgZGFyaSBqYW5na2F1YW4iCisKKyM6IGNvbmZpZy90Yy16OGsuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVnaXN0ZXIgcmwlZCBvdXQgb2YgcmFuZ2UiCittc2dzdHIgInJlZ2lzdGVyIHJsJWQgZGlsdWFyIGRhcmkgamFuZ2thdWFuIgorCisjOiBjb25maWcvdGMtejhrLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZ2lzdGVyIHJxJWQgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJyZWdpc3RlciBycSVkIGRpbHVhciBkYXJpIGphbmdrYXVhbiIKKworIzogY29uZmlnL3RjLXo4ay5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICJyZWdpc3RlciBycSVkIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJyZWdpc3RlciBycSVkIHRpZGFrIGFkYSIKKworIzogY29uZmlnL3RjLXo4ay5jOjMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWdpc3RlciByJWQgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJyZWdpc3RlciByJWQgZGlsdWFyIGRhcmkgamFuZ2thdWFuIgorCisjOiBjb25maWcvdGMtejhrLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGVkICVjIgorbXNnc3RyICJkaWR1Z2EgJWMiCisKKyM6IGNvbmZpZy90Yy16OGsuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVnaXN0ZXIgaXMgd3Jvbmcgc2l6ZSBmb3IgYSB3b3JkICVzIgorbXNnc3RyICJyZWdpc3RlciBtZW1pbGlraSB1a3VyYW4gc2FsYWggdW50dWsgc2VidWFoIGthdGEgJXMiCisKKyM6IGNvbmZpZy90Yy16OGsuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVnaXN0ZXIgaXMgd3Jvbmcgc2l6ZSBmb3IgYWRkcmVzcyAlcyIKK21zZ3N0ciAicmVnaXN0ZXIgbWVtaWxpa2kgdWt1cmFuIHNhbGFoIHVudHVrIGFsYW1hICVzIgorCisjOiBjb25maWcvdGMtejhrLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gaW50ZXJydXB0ICVzIgorbXNnc3RyICJpbnRlcnVwc2kgJXMgdGlkYWsgZGlrZXRhaHVpIgorCisjLiBObyBpbnRlcnJ1cHQgdHlwZSBzcGVjaWZpZWQsIG9wY29kZSB3b24ndCBkbyBhbnl0aGluZy4KKyM6IGNvbmZpZy90Yy16OGsuYzo1NjIKK21zZ2lkICJvcGNvZGUgaGFzIG5vIGVmZmVjdCIKK21zZ3N0ciAib3Brb2RlIHRpZGFrIG1lbWlsaWtpIGVmZWsiCisKKyM6IGNvbmZpZy90Yy16OGsuYzo2NzMKK21zZ2lkICJNaXNzaW5nICkgaW4gcmEocmIpIgorbXNnc3RyICJIaWxhbmcgKSBkYWxhbSByYShyYikiCisKKyM6IGNvbmZpZy90Yy16OGsuYzo3NTMgY29uZmlnL3RjLXo4ay5jOjc5MgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbmRpdGlvbiBjb2RlICclcyciCittc2dzdHIgImtvbmRpc2kga29kZSAnJXMnIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtejhrLmM6NzY1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZmxhZyAnJXMnIgorbXNnc3RyICJ0YW5kYSAnJXMnIHRpZGFrIHZhbGlkIgorCisjOiBjb25maWcvdGMtejhrLmM6OTE5IGNvbmZpZy90Yy16OGsuYzo5MjUKK21zZ2lkICJpbnZhbGlkIGluZGlyZWN0IHJlZ2lzdGVyIHNpemUiCittc2dzdHIgInVrdXJhbiByZWdpc3RlciB0aWRhayBsYW5nc3VuZyB0aWRhayB2YWxpZCIKKworIzogY29uZmlnL3RjLXo4ay5jOjk0MiBjb25maWcvdGMtejhrLmM6MTA5MCBjb25maWcvdGMtejhrLmM6MTA5NQorbXNnaWQgImludmFsaWQgY29udHJvbCByZWdpc3RlciBuYW1lIgorbXNnc3RyICJuYW1hIHJlZ2lzdGVyIGtvbnRyb2wgdGlkYWsgdmFsaWQiCisKKyM6IGNvbmZpZy90Yy16OGsuYzoxMDc5Cittc2dpZCAiaW1tZWRpYXRlIG11c3QgYmUgMSBvciAyIgorbXNnc3RyICJpbW1lZGlhdGUgaGFydXMgMSBhdGF1IDIiCisKKyM6IGNvbmZpZy90Yy16OGsuYzoxMDgyCittc2dpZCAiaW1tZWRpYXRlIDEgb3IgMiBleHBlY3RlZCIKK21zZ3N0ciAiaW1tZWRpYXRlIGRpZHVnYSAxIGF0YXUgMiIKKworIzogY29uZmlnL3RjLXo4ay5jOjExMTMKK21zZ2lkICJjYW4ndCB1c2UgUjAgaGVyZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ2d1bmFrYW4gUjAgZGlzaW5pIgorCisjOiBjb25maWcvdGMtejhrLmM6MTI3MQorbXNnaWQgIkNhbid0IGZpbmQgb3Bjb2RlIHRvIG1hdGNoIG9wZXJhbmRzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5lbXVrYW4gb3Brb2RlIHlhbmcgY29jb2sgZGVuZ2FuIG9wZXJhbiIKKworIzogY29uZmlnL3RjLXo4ay5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmNoaXRlY3R1cmUgLXolcyIKK21zZ3N0ciAiYXJzaXRla3R1ciAteiVzIHRpZGFrIGNvY29rIgorCisjOiBjb25maWcvdGMtejhrLmM6MTMzOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIFo4SyBvcHRpb25zOlxuIgorIiAgLXo4MDAxICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUgc2VnbWVudGVkIGNvZGVcbiIKKyIgIC16ODAwMiAgICAgICAgICAgICAgICAgIGdlbmVyYXRlIHVuc2VnbWVudGVkIGNvZGVcbiIKKyIgIC1saW5rcmVsYXggICAgICAgICAgICAgIGNyZWF0ZSBsaW5rZXIgcmVsYXhhYmxlIGNvZGVcbiIKK21zZ3N0ciAiIgorIiBvcHNpIFo4SzpcbiIKKyIgIC16ODAwMSAgICAgICAgICAgICAgICAgIG1lbmdoYXNpbGthbiBrb2RlIHRlcnNlZ21lblxuIgorIiAgLXo4MDAyICAgICAgICAgICAgICAgICAgbWVuZ2hhc2lsa2FuIGtvZGUgdGlkYWsgdGVyc2VnbWVuXG4iCisiICAtbGlua3JlbGF4ICAgICAgICAgICAgICBtZW1idWF0IGxpbmtlciByZWxheGFibGUga29kZVxuIgorCisjOiBjb25maWcvdGMtejhrLmM6MTM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYWxsIHRvIG1kX2NvbnZlcnRfZnJhZ1xuIgorbXNnc3RyICJwYW5nZ2lsYW4ga2UgbWRfY29udmVydF9mcmFnXG4iCisKKyM6IGNvbmZpZy90Yy16OGsuYzoxNDU3IGNvbmZpZy90Yy16OGsuYzoxNDk3IGNvbmZpZy90Yy16OGsuYzoxNTIwCittc2dpZCAiY2Fubm90IGJyYW5jaCB0byBvZGQgYWRkcmVzcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgYmVyY2FiYW5nIGtlIGFsYW1hdCBnYW5qaWwiCisKKyM6IGNvbmZpZy90Yy16OGsuYzoxNDc5Cittc2dpZCAicmVsYXRpdmUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgImFsYW1hdCByZWxhdGlmIGRpbHVhciBkYXJpIGphbmdrYXVhbiIKKworIzogY29uZmlnL3RjLXo4ay5jOjE1MDAKK21zZ2lkICJyZWxhdGl2ZSBjYWxsIG91dCBvZiByYW5nZSIKK21zZ3N0ciAicGFuZ2dpbGFuIHJlbGF0aWYgZGlsdWFyIGRhcmkgamFuZ2thdWFuIgorCisjOiBjb25maWcvdGMtejhrLmM6MTU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYWxsIHRvIG1kX2VzdGltYXRlX3NpemVfYmVmb3JlX3JlbGF4XG4iCittc2dzdHIgInBhbmdnaWxhbiBrZSBtZF9lc3RpbWF0ZV9zaXplX2JlZm9yZV9yZWxheFxuIgorCisjOiBjb25maWcveHRlbnNhLXJlbGF4LmM6MTU0NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbmZpZ3VyYXRpb24gb3B0aW9uICclcycgaW4gdHJhbnNpdGlvbiBydWxlICclcyciCittc2dzdHIgIm9wc2kga29uZmlndXJhc2kgJyVzJyB0aWRhayB2YWxpZCBkYWxhbSBhdHVyYW4gdHJhbnNpc2kgJyVzJyIKKworIzogY29uZmlnL3h0ZW5zYS1yZWxheC5jOjE2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3Bjb2RlICclcyc6IG5vIGJvdW5kIG9wbmFtZSAnJXMnIGZvciBwcmVjb25kaXRpb24gaW4gJyVzJyIKK21zZ3N0ciAib3Brb2RlICclcyc6IHRpZGFrIGFkYSBpa2F0YW4gbmFtYS1vcCAnJXMnIHVudHVrIGF3YWwga29uZGlzaSBkYWxhbSAnJXMnIgorCisjOiBjb25maWcveHRlbnNhLXJlbGF4LmM6MTY4MAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGNvZGUgJyVzJzogbm8gYm91bmQgb3BuYW1lICclcycgZm9yIHByZWNvbmRpdGlvbiBpbiAlcyIKK21zZ3N0ciAib3Brb2RlICclcyc6IHRpZGFrIGFkYSBpa2F0YW4gbmFtYS1vcCAnJXMnIHVudHVrIGF3YWwga29uZGlzaSBkYWxhbSAlcyIKKworIzogY29uZmlnL3h0ZW5zYS1yZWxheC5jOjE2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3Bjb2RlICclcyc6IHByZWNvbmRpdGlvbiBvbmx5IGNvbnRhaW5zIGNvbnN0YW50cyBpbiAnJXMnIgorbXNnc3RyICJvcGtvZGUgJyVzJzogaGFueWEgYXdhbCBrb25kaXNpIHNhamEgeWFuZyBiZXJpc2kga29uc3RhbnRhIGRhbGFtICclcyciCisKKyM6IGNvbmZpZy94dGVuc2EtcmVsYXguYzoxNzM0Cittc2dpZCAiZXhwZWN0ZWQgb25lIG9wZXJhbmQgZm9yIGdlbmVyYXRlZCBsaXRlcmFsIgorbXNnc3RyICJkaWR1Z2Egc2VidWFoIG9wZXJhbiB1bnR1ayBsaXRlcmFsIHVtdW0iCisKKyM6IGNvbmZpZy94dGVuc2EtcmVsYXguYzoxNzQxCittc2dpZCAiZXhwZWN0ZWQgMCBvcGVyYW5kcyBmb3IgZ2VuZXJhdGVkIGxhYmVsIgorbXNnc3RyICJkaWR1Z2EgMCBvcGVyYW4gdW50dWsgbGFiZWwgeWFuZyBkaWhhc2lsa2FuIgorCisjOiBjb25maWcveHRlbnNhLXJlbGF4LmM6MTc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG9wY29kZSAnJXMnIGluIHRyYW5zaXRpb24gcnVsZSAnJXMnIgorbXNnc3RyICJvcGtvZGUgJyVzJyB0aWRhayB2YWxpZCBkYWxhbSBhdHVyYW4gdHJhbnNpc2kgJyVzJyIKKworIzogY29uZmlnL3h0ZW5zYS1yZWxheC5jOjE3NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3Bjb2RlICclcyc6IHJlcGxhY2VtZW50IGRvZXMgbm90IGhhdmUgJWQgb3BzIgorbXNnc3RyICJvcGtvZGUgJyVzJzogcmVwbGFjZW1lbnQgdGlkYWsgbWVtaWxpa2kgJWQgb3BzIgorCisjOiBjb25maWcveHRlbnNhLXJlbGF4LmM6MTc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJvcGNvZGUgJyVzJzogY2Fubm90IGZpbmQgbGl0ZXJhbCBkZWZpbml0aW9uIgorbXNnc3RyICJvcGtvZGUgJyVzJzogdGlkYWsgZGFwYXQgbWVuZW11a2FuIGRlZmluaXNpIGxpdGVyYWwiCisKKyM6IGNvbmZpZy94dGVuc2EtcmVsYXguYzoxNzkyIGNvbmZpZy94dGVuc2EtcmVsYXguYzoxODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wY29kZSAlczogdW5pZGVudGlmaWVkIG9wZXJhbmQgJyVzJyBpbiAnJXMnIgorbXNnc3RyICJvcGtvZGUgJXM6IG9wZXJhbiB0aWRhayB0ZXJpZGVudGlmaWthc2kgJyVzJyBkYWxhbSAnJXMnIgorCisjOiBjb25maWcveHRlbnNhLXJlbGF4LmM6MTgxMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXItZGVmaW5lZCBmdW5jdGlvbiAlcyIKK21zZ3N0ciAiZnVuZ3NpICVzIGRlZmluaXNpLXBlbmdndW5hIHRpZGFrIGRpa2VuYWwiCisKKyM6IGNvbmZpZy94dGVuc2EtcmVsYXguYzoxODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wY29kZSAlczogY291bGQgbm90IHBhcnNlIG9wZXJhbmQgJyVzJyBpbiAnJXMnIgorbXNnc3RyICJvcGtvZGUgJXM6IHRpZGFrIGRhcGF0IHBhcnNlIG9wZXJhbiAnJXMnIGRhbGFtICclcyciCisKKyM6IGNvbmZpZy94dGVuc2EtcmVsYXguYzoxODY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBJTlNOX1BBVFRFUk4gJyVzJyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgcGFyc2UgSU5TTl9QQVRURVJOICclcyciCisKKyM6IGNvbmZpZy94dGVuc2EtcmVsYXguYzoxODY5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBJTlNOX1JFUEwgJyVzJyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgcGFyc2UgSU5TTl9SRVBMICclcyciCisKKyM6IGNvbmZpZy94dGVuc2EtcmVsYXguYzoxODgwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBidWlsZCB0cmFuc2l0aW9uIGZvciAlcyA9PiAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVhdCB0cmFuc2lzaSB1bnR1ayAlcyA9PiAlcyIKKworIzogZGVwZW5kLmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IG9wZW4gYCVzJyBmb3Igd3JpdGluZyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSBgJXMnIHVudHVrIG1lbnVsaXMiCisKKyM6IGRlcGVuZC5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBjbG9zZSBgJXMnIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW51dHVwIGAlcyciCisKKyM6IGR3MmdlbmNmaS5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWdpc3RlciBzYXZlIG9mZnNldCBub3QgYSBtdWx0aXBsZSBvZiAldSIKK21zZ3N0ciAib2ZzZXQgcmVnaXN0ZXIgc2F2ZSBidWthbiBrZWxpcGF0YW4gZGFyaSAldSIKKworIzogZHcyZ2VuY2ZpLmM6MzY3Cittc2dpZCAiQ0ZJIHN0YXRlIHJlc3RvcmUgd2l0aG91dCBwcmV2aW91cyByZW1lbWJlciIKK21zZ3N0ciAiQ0ZJIHN0YXRlIHJlc3RvciB0YW5wYSBhbmdnb3RhIHNlYmVsdW1ueWEiCisKKyM6IGR3MmdlbmNmaS5jOjQxOQorbXNnaWQgIm1pc3Npbmcgc2VwYXJhdG9yIgorbXNnc3RyICJoaWxhbmcgcGVtaXNhaCIKKworIzogZHcyZ2VuY2ZpLmM6NDY5Cittc2dpZCAiYmFkIHJlZ2lzdGVyIGV4cHJlc3Npb24iCittc2dzdHIgImVrc3ByZXNpIHJlZ2lzdGVyIGJ1cnVrIgorCisjOiBkdzJnZW5jZmkuYzo0OTAgZHcyZ2VuY2ZpLmM6NjEzIGR3MmdlbmNmaS5jOjY1MSBkdzJnZW5jZmkuYzo3MjEKK21zZ2lkICJDRkkgaW5zdHJ1Y3Rpb24gdXNlZCB3aXRob3V0IHByZXZpb3VzIC5jZmlfc3RhcnRwcm9jIgorbXNnc3RyICJDRkkgaW5zdHJ1a3NpIGRpZ3VuYWthbiB0YW5wYSAuY2ZpX3N0YXJ0cHJvYyBzZWJlbHVtbnlhIgorCisjOiBkdzJnZW5jZmkuYzo2NzUKK21zZ2lkICJpbnZhbGlkIG9yIHVuc3VwcG9ydGVkIGVuY29kaW5nIGluIC5jZmlfcGVyc29uYWxpdHkiCittc2dzdHIgInRpZGFrIHZhbGlkIGF0YXUgdGlkYWsgZGlkdWt1bmcgcGVuZ2tvZGVhbiBkYWxhbSAuY2ZpX3BlcnNvbmFsaXR5IgorCisjOiBkdzJnZW5jZmkuYzo2ODIKK21zZ2lkICIuY2ZpX3BlcnNvbmFsaXR5IHJlcXVpcmVzIGVuY29kaW5nIGFuZCBzeW1ib2wgYXJndW1lbnRzIgorbXNnc3RyICIuY2ZpX3BlcnNvbmFsaXR5IG1lbWJ1dHVoa2FuIHBlbmdrb2RlYW4gZGFuIGFyZ3VtZW4gc2ltYm9sIgorCisjOiBkdzJnZW5jZmkuYzo3MDUKK21zZ2lkICJ3cm9uZyBzZWNvbmQgYXJndW1lbnQgdG8gLmNmaV9wZXJzb25hbGl0eSIKK21zZ3N0ciAiYXJndW1lbiBrZWR1YSBzYWxhaCBrZSAuY2ZpX3BlcnNvbmFsaXR5IgorCisjOiBkdzJnZW5jZmkuYzo3NDUKK21zZ2lkICJpbnZhbGlkIG9yIHVuc3VwcG9ydGVkIGVuY29kaW5nIGluIC5jZmlfbHNkYSIKK21zZ3N0ciAidGlkYWsgdmFsaWQgYXRhdSB0aWRhayBkaWR1a3VuZyBwZW5na29kZWFuIGRhbGFtIC5jZmlfbHNkYSIKKworIzogZHcyZ2VuY2ZpLmM6NzUyCittc2dpZCAiLmNmaV9sc2RhIHJlcXVpcmVzIGVuY29kaW5nIGFuZCBzeW1ib2wgYXJndW1lbnRzIgorbXNnc3RyICIuY2ZpX2xzZGEgbWVtYnV0dWhrYW4gcGVuZ2tvZGVhbiBkYW4gc2ltYm9sIGFyZ3VtZW4iCisKKyM6IGR3MmdlbmNmaS5jOjc3NworbXNnaWQgIndyb25nIHNlY29uZCBhcmd1bWVudCB0byAuY2ZpX2xzZGEiCittc2dzdHIgImFyZ3VtZW4ga2VkdWEgc2FsYWgga2UgLmNmaV9sc2RhIgorCisjOiBkdzJnZW5jZmkuYzo3OTIKK21zZ2lkICJwcmV2aW91cyBDRkkgZW50cnkgbm90IGNsb3NlZCAobWlzc2luZyAuY2ZpX2VuZHByb2MpIgorbXNnc3RyICJtYXN1a2FuIENGSSBzZWJlbHVtbnlhIHRpZGFrIGRpdHV0dXAgKGhpbGFuZyAuY2ZpX2VuZHByb2MpIgorCisjOiBkdzJnZW5jZmkuYzo4MjcKK21zZ2lkICIuY2ZpX2VuZHByb2Mgd2l0aG91dCBjb3JyZXNwb25kaW5nIC5jZmlfc3RhcnRwcm9jIgorbXNnc3RyICIuY2ZpX2VuZHByb2MgdGFucGEgcGFzYW5nYW4gLmNmaV9zdGFydHByb2MiCisKKyM6IGR3MmdlbmNmaS5jOjEzNzIKK21zZ2lkICJvcGVuIENGSSBhdCB0aGUgZW5kIG9mIGZpbGU7IG1pc3NpbmcgLmNmaV9lbmRwcm9jIGRpcmVjdGl2ZSIKK21zZ3N0ciAiYnVrYSBDRkkgZGkgYWtoaXIgZGFyaSBiZXJrYXM7IGhpbGFuZyAuY2ZpX2VuZHByb2MgZGlyZWt0aWYiCisKKyM6IGR3YXJmMmRiZy5jOjUyNCBkd2FyZjJkYmcuYzo1NTkKK21zZ2lkICJmaWxlIG51bWJlciBsZXNzIHRoYW4gb25lIgorbXNnc3RyICJub21vciBiZXJrYXMga3VyYW5nIGRhcmkgc2F0dSIKKworIzogZHdhcmYyZGJnLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgbnVtYmVyICVsZCBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAibm9tb3IgYmVya2FzICVsZCB0ZWxhaCBkaWFsb2thc2lrYW4iCisKKyM6IGR3YXJmMmRiZy5jOjU2NCBkd2FyZjJkYmcuYzoxMjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYXNzaWduZWQgZmlsZSBudW1iZXIgJWxkIgorbXNnc3RyICJub21vciBiZXJrYXMgJWxkIHRpZGFrIGRpYXNzaWduZWQiCisKKyM6IGR3YXJmMmRiZy5jOjYzMgorbXNnaWQgImlzX3N0bXQgdmFsdWUgbm90IDAgb3IgMSIKK21zZ3N0ciAibmlsYWkgaXNfc3RtdCB0aWRhayAwIGF0YXUgMSIKKworIzogZHdhcmYyZGJnLmM6NjQ0Cittc2dpZCAiaXNhIG51bWJlciBsZXNzIHRoYW4gemVybyIKK21zZ3N0ciAibm9tb3IgaXNhIGt1cmFuZyBkYXJpIG5vbCIKKworIzogZHdhcmYyZGJnLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gLmxvYyBzdWItZGlyZWN0aXZlIGAlcyciCittc2dzdHIgInN1Yi1kaXJla3RpZiAubG9jIGAlcycgdGlkYWsgZGlrZXRhaHVpIgorCisjOiBkd2FyZjJkYmcuYzoxMzQzCittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gZHdhcmYyIGZvcm1hdCIKK21zZ3N0ciAiaW50ZXJuYWwgZXJyb3I6IGZvcm1hdCBkd2FyZjIgdGlkYWsgZGlrZW5hbCIKKworIzogZWNvZmYuYzoxNTUyCisjLCBjLWZvcm1hdAorbXNnaWQgInN0cmluZyB0b28gYmlnICglbHUgYnl0ZXMpIgorbXNnc3RyICJzdHJpbmcgdGVybGFsdSBiZXNhciAoJWx1IGJ5dGVzKSIKKworIzogZWNvZmYuYzoxNTc4CisjLCBjLWZvcm1hdAorbXNnaWQgImluc2VydGluZyBcIiVzXCIgaW50byBzdHJpbmcgaGFzaCB0YWJsZTogJXMiCittc2dzdHIgIm1lbWFzdWthbiBcIiVzXCIga2VkYWxhbSB0YWJlbCBoYXNoIHN0cmluZzogJXMiCisKKyM6IGVjb2ZmLmM6MTYwOSBlY29mZi5jOjE4MDIgZWNvZmYuYzoxODI1IGVjb2ZmLmM6MTg1NiBlY29mZi5jOjIwMDkKKyM6IGVjb2ZmLmM6MjEyMAorbXNnaWQgIm5vIGN1cnJlbnQgZmlsZSBwb2ludGVyIgorbXNnc3RyICJ0aWRhayBhZGEgYmVya2FzIHBlbnVuanVrIHNla2FyYW5nIgorCisjOiBlY29mZi5jOjE2OTYKK21zZ2lkICJ0b28gbWFueSBzdF9FbmQncyIKK21zZ3N0ciAidGVybGFsdSBiYW55YWsgc3RfZW5kIgorCisjOiBlY29mZi5jOjIwMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5zZXJ0aW5nIFwiJXNcIiBpbnRvIHRhZyBoYXNoIHRhYmxlOiAlcyIKK21zZ3N0ciAibWVtYXN1a2FuIFwiJXNcIiBrZWRhbGFtIHRhYmVoIHRhbmRhIGhhc2g6ICVzIgorCisjOiBlY29mZi5jOjIxOTUKK21zZ2lkICJmYWtlIC5maWxlIGFmdGVyIHJlYWwgb25lIgorbXNnc3RyICJwYWxzdSAuZmlsZSBzZXRlbGFoIHlhbmcgYXNsaSIKKworIzogZWNvZmYuYzoyMjg1Cittc2dpZCAiZmlsZW5hbWUgZ29lcyBvdmVyIG9uZSBwYWdlIGJvdW5kYXJ5IgorbXNnc3RyICJuYW1hIGJlcmthcyBwZXJnaSBsZWJpaCBkYXJpIGJhdGFzIHNhdHUgaGFsYW1hbiIKKworIzogZWNvZmYuYzoyNDE4Cittc2dpZCAiLmJlZ2luIGRpcmVjdGl2ZSB3aXRob3V0IGEgcHJlY2VkaW5nIC5maWxlIGRpcmVjdGl2ZSIKK21zZ3N0ciAiZGlyZWt0aWYgLmJlZ2luIHRhbnBhIGRpYXdhbGkgZGlyZWt0aWYgLmZpbGUiCisKKyM6IGVjb2ZmLmM6MjQyNQorbXNnaWQgIi5iZWdpbiBkaXJlY3RpdmUgd2l0aG91dCBhIHByZWNlZGluZyAuZW50IGRpcmVjdGl2ZSIKK21zZ3N0ciAiZGlyZWt0aWYgLmJlZ2luIHRhbnBhIGRpYXdhbGkgZGlyZWt0aWYgLmVudCIKKworIzogZWNvZmYuYzoyNDU2Cittc2dpZCAiLmJlbmQgZGlyZWN0aXZlIHdpdGhvdXQgYSBwcmVjZWRpbmcgLmZpbGUgZGlyZWN0aXZlIgorbXNnc3RyICJkaXJla3RpZiAuYmVuZCB0YW5wYSBkaWF3YWxpIGRpcmVrdGlmIC5maWxlIgorCisjOiBlY29mZi5jOjI0NjMKK21zZ2lkICIuYmVuZCBkaXJlY3RpdmUgd2l0aG91dCBhIHByZWNlZGluZyAuZW50IGRpcmVjdGl2ZSIKK21zZ3N0ciAiZGlyZWt0aWYgLmJlbmQgdGFucGEgZGlhd2FsaSBkaXJla3RpZiAuZW50IgorCisjOiBlY29mZi5jOjI0NzYKK21zZ2lkICIuYmVuZCBkaXJlY3RpdmUgbmFtZXMgdW5rbm93biBzeW1ib2wiCittc2dzdHIgIm5hbWEgZGlyZWt0aWYgLmJlbmQgc2ltYm9sIHRpZGFrIGRpa2VuYWwiCisKKyM6IGVjb2ZmLmM6MjUxOQorbXNnaWQgIi5kZWYgcHNldWRvLW9wIHVzZWQgaW5zaWRlIG9mIC5kZWYvLmVuZGVmOyBpZ25vcmVkIgorbXNnc3RyICJwc2V1ZG8tb3AgLmRlZiBkaWd1bmFrYW4gZGlkYWxhbSBkYXJpIC5kZWYvLmVuZGVmOyBkaWFiYWlrYW4iCisKKyM6IGVjb2ZmLmM6MjUyMQorbXNnaWQgImVtcHR5IHN5bWJvbCBuYW1lIGluIC5kZWY7IGlnbm9yZWQiCittc2dzdHIgIm5hbWEgc2ltYm9sIGtvc29uZyBkYWxhbSAuZGVmOyBkaWFiYWlrYW4iCisKKyM6IGVjb2ZmLmM6MjU1OAorbXNnaWQgIi5kaW0gcHNldWRvLW9wIHVzZWQgb3V0c2lkZSBvZiAuZGVmLy5lbmRlZjsgaWdub3JlZCIKK21zZ3N0ciAicHNldWRvLW9wIC5kaW0gZGlndW5ha2FuIGRpbHVhciBkYXJpIC5kZWYvLmVuZGVmOyBkaWFiYWlrYW4iCisKKyM6IGVjb2ZmLmM6MjU3MworbXNnaWQgImJhZGx5IGZvcm1lZCAuZGltIGRpcmVjdGl2ZSIKK21zZ3N0ciAiZGlyZWt0aWYgLmRpbSBtZW1pbGlraSBiZW50dWsgYnVydWsiCisKKyM6IGVjb2ZmLmM6MjU4NgorbXNnaWQgInRvbyBtYW55IC5kaW0gZW50cmllcyIKK21zZ3N0ciAidGVybGFsdSBiYW55YWsgZGlyZWt0aWYgLmRpbSIKKworIzogZWNvZmYuYzoyNjA2Cittc2dpZCAiLnNjbCBwc2V1ZG8tb3AgdXNlZCBvdXRzaWRlIG9mIC5kZWYvLmVuZGVmOyBpZ25vcmVkIgorbXNnc3RyICJwc2V1ZG8tb3AgLnNjbCBkaWd1bmFrYW4gZGlsdWFyIGRhcmkgLmRlZi8uZW5kZWY7IGRpYWJhaWthbiIKKworIzogZWNvZmYuYzoyNjMxCittc2dpZCAiLnNpemUgcHNldWRvLW9wIHVzZWQgb3V0c2lkZSBvZiAuZGVmLy5lbmRlZjsgaWdub3JlZCIKK21zZ3N0ciAiLnNpemUgcHNldWRvLW9wIGRpZ3VuYWthbiBkaWx1YXIgZGFyaSAuZGVmLy5lbmRlZjsgZGlhYmFpa2FuIgorCisjOiBlY29mZi5jOjI2NDYKK21zZ2lkICJiYWRseSBmb3JtZWQgLnNpemUgZGlyZWN0aXZlIgorbXNnc3RyICJkaXJla3RpZiAuc2l6ZSBtZW1pbGlraSBiZW50dWsgYnVydWsiCisKKyM6IGVjb2ZmLmM6MjY1OQorbXNnaWQgInRvbyBtYW55IC5zaXplIGVudHJpZXMiCittc2dzdHIgInRlcmxhbHUgYmFueWFrIG1hc3VrYW4gLnNpemUiCisKKyM6IGVjb2ZmLmM6MjY4MQorbXNnaWQgIi50eXBlIHBzZXVkby1vcCB1c2VkIG91dHNpZGUgb2YgLmRlZi8uZW5kZWY7IGlnbm9yZWQiCittc2dzdHIgInBzZXVkby1vcCAudHlwZSBkaWd1bmFrYW4gZGlsdWFyIGRhcmkgLmRlZi8uZW5kZWY7IGRpYWJhaWthbiIKKworIy4gRklYTUU6IFdlIGNvdWxkIGhhbmRsZSB0aGlzIGJ5IHNldHRpbmcgdGhlIGNvbnRpbnVlZCBiaXQuCisjLiBUaGVyZSB3b3VsZCBzdGlsbCBiZSBhIGxpbWl0OiB0aGUgLnR5cGUgYXJndW1lbnQgY2FuIG5vdAorIy4gYmUgaW5maW5pdGUuCisjOiBlY29mZi5jOjI2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHR5cGUgb2YgJXMgaXMgdG9vIGNvbXBsZXg7IGl0IHdpbGwgYmUgc2ltcGxpZmllZCIKK21zZ3N0ciAidGlwZSBkYXJpICVzIHRlcmxhbHUga29tcGxlczsgaW5pIGFrYW4gZGlzZWRlcmhhbmFrYW4iCisKKyM6IGVjb2ZmLmM6MjcxMAorbXNnaWQgIlVucmVjb2duaXplZCAudHlwZSBhcmd1bWVudCIKK21zZ3N0ciAiQXJndW1lbiAudHlwZSB0aWRhayBkaWtlbmFsIgorCisjOiBlY29mZi5jOjI3NDgKK21zZ2lkICIudGFnIHBzZXVkby1vcCB1c2VkIG91dHNpZGUgb2YgLmRlZi8uZW5kZWY7IGlnbm9yZWQiCittc2dzdHIgInBzZXVkby1vcCAudGFnIGRpZ3VuYWthbiBkaWx1YXIgZGFyaSAuZGVmLy5lbmRlZjsgZGlhYmFpa2FuIgorCisjOiBlY29mZi5jOjI3NzMKK21zZ2lkICIudmFsIHBzZXVkby1vcCB1c2VkIG91dHNpZGUgb2YgLmRlZi8uZW5kZWY7IGlnbm9yZWQiCittc2dzdHIgInBzZXVkby1vcCAudmFsIGRpZ3VuYWthbiBkaWx1YXIgZGFyaSAuZGVmLy5lbmRlZjsgZGlhYmFpa2FuIgorCisjOiBlY29mZi5jOjI3ODEKK21zZ2lkICIudmFsIGV4cHJlc3Npb24gaXMgdG9vIGNvbXBsZXgiCittc2dzdHIgImVrc3ByZXNpIC52YWwgdGVybGFsdSBrb21wbGVrcyIKKworIzogZWNvZmYuYzoyODExCittc2dpZCAiLmVuZGVmIHBzZXVkby1vcCB1c2VkIGJlZm9yZSAuZGVmOyBpZ25vcmVkIgorbXNnc3RyICJwc2V1ZG8tb3AgLmVuZGVmIGRpZ3VuYWthbiBzZWJlbHVtIC5kZWY7IGRpYWJhaWthbiIKKworIzogZWNvZmYuYzoyODM3IGVjb2ZmLmM6MjkxOAorbXNnaWQgImJhZCBDT0ZGIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiaW5mb3JtYXNpIGRlYnVnIENPRkYgYnVydWsiCisKKyM6IGVjb2ZmLmM6Mjg4NgorIywgYy1mb3JtYXQKK21zZ2lkICJubyB0YWcgc3BlY2lmaWVkIGZvciAlcyIKK21zZ3N0ciAidGlkYWsgYWRhIHRhZyB5YW5nIGRpc3Blc2lmaWthc2lrYW4gdW50dWsgJXMiCisKKyM6IGVjb2ZmLmM6Mjk4OAorbXNnaWQgIi5lbmQgZGlyZWN0aXZlIHdpdGhvdXQgYSBwcmVjZWRpbmcgLmZpbGUgZGlyZWN0aXZlIgorbXNnc3RyICJkaXJla3RpZiAuZW5kIHRhbnBhIGRpYXdhbGkgZGlyZWt0aWYgLmZpbGUiCisKKyM6IGVjb2ZmLmM6Mjk5NQorbXNnaWQgIi5lbmQgZGlyZWN0aXZlIHdpdGhvdXQgYSBwcmVjZWRpbmcgLmVudCBkaXJlY3RpdmUiCittc2dzdHIgImRpcmVrdGlmIC5lbmQgdGFucGEgZGlhd2FsaSBkaXJla3RpZiAuZW50IgorCisjOiBlY29mZi5jOjMwMTcKK21zZ2lkICIuZW5kIGRpcmVjdGl2ZSBuYW1lcyB1bmtub3duIHN5bWJvbCIKK21zZ3N0ciAibmFtYSBkaXJla3RpZiAuZW5kIHNpbWJvbCB0aWRhayBkaWtldGFodWkiCisKKyM6IGVjb2ZmLmM6MzA0NAorbXNnaWQgInNlY29uZCAuZW50IGRpcmVjdGl2ZSBmb3VuZCBiZWZvcmUgLmVuZCBkaXJlY3RpdmUiCittc2dzdHIgImRpcmVrdGlmIC5lbmQga2VkdWEgZGl0ZW11a2FuIHNlYmVsdW0gZGlyZWt0aSAuZW5kIgorCisjOiBlY29mZi5jOjMxMTYKK21zZ2lkICJubyB3YXkgdG8gaGFuZGxlIC5maWxlIHdpdGhpbiAuZW50Ly5lbmQgc2VjdGlvbiIKK21zZ3N0ciAidGlkYWsgYWRhIGNhcmEgdW50dWsgbWVuYW5nYW5pIC5maWxlIGRpZGFsYW0gZGFlcmFoIC5lbnQvLmVuZCIKKworIzogZWNvZmYuYzozMjMzCittc2dpZCAiLmxvYyBiZWZvcmUgLmZpbGUiCittc2dzdHIgIi5sb2Mgc2ViZWx1bSAuZmlsZSIKKworIzogZWNvZmYuYzozMzY4Cittc2dpZCAiYmFkIC53ZWFrZXh0IGRpcmVjdGl2ZSIKK21zZ3N0ciAiZGlyZWt0aWYgLndlYWtleHQgYnVydWsiCisKKyM6IGVjb2ZmLmM6MzQzNgorIywgYy1mb3JtYXQKK21zZ2lkICIuc3RhYiVjIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIi5zdGFiJWMgdGlkYWsgZGlkdWt1bmciCisKKyM6IGVjb2ZmLmM6MzQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICIuc3RhYiVjOiBpZ25vcmluZyBub24temVybyBvdGhlciBmaWVsZCIKK21zZ3N0ciAiLnN0YWIlYzogZGlhYmFpa2FuIGJ1a2FuLW5vbCBkaWZpZWxkIGxhaW4iCisKKyM6IGVjb2ZmLmM6MzQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lIG51bWJlciAoJWQpIGZvciAuc3RhYiVjIGRpcmVjdGl2ZSBjYW5ub3QgZml0IGluIGluZGV4IGZpZWxkICgyMCBiaXRzKSIKK21zZ3N0ciAibm9tb3IgYmFyaXMgKCVkKSB1bnR1ayAuc3RhYiVjIGRpcmVrdGlmIHRpZGFrIGRhcGF0IG1hc3VrIGRhbGFtIGluZGVrcyBmaWVsZCAoMjAgYml0KSIKKworIzogZWNvZmYuYzozNTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgLnN0YWIlYyBkaXJlY3RpdmUsIGJhZCBjaGFyYWN0ZXIiCittc2dzdHIgImRpcmVrdGlmIC5zdGFiJWMgdGlkYWsgbGVnYWwsIGthcmFrdGVyIGJ1cnVrIgorCisjOiBlY29mZi5jOjM5NzUgZWNvZmYuYzo0MTY0IGVjb2ZmLmM6NDE4OQorbXNnaWQgIi5iZWdpbi8uYmVuZCBpbiBkaWZmZXJlbnQgc2VnbWVudHMiCittc2dzdHIgIi5iZWdpbi8uYmVuZCBkYWxhbSBzZWdtZW4gYmVyYmVkYSIKKworIzogZWNvZmYuYzo0Njg1Cittc2dpZCAibWlzc2luZyAuZW5kIG9yIC5iZW5kIGF0IGVuZCBvZiBmaWxlIgorbXNnc3RyICJoaWxhbmcgLmVuZCBhdGF1IC5iZW5kIGRpYWtoaXIgZGFyaSBiZXJrYXMiCisKKyM6IGVjb2ZmLmM6NTE3MAorbXNnaWQgIkdQIHByb2xvZ3VlIHNpemUgZXhjZWVkcyBmaWVsZCBzaXplLCB1c2luZyAwIGluc3RlYWQiCittc2dzdHIgIkdQIHByb2xvZ3VlIHVrdXJhbiBtZWxlYmloaSB1a3VyYW4gZmllbGQsIG1lbmdndW5ha2FuIDAiCisKKyM6IGV4cHIuYzo4MSByZWFkLmM6MzU3NworbXNnaWQgImJpZ251bSBpbnZhbGlkIgorbXNnc3RyICJiaWdudW0gdGlkYWsgdmFsaWQiCisKKyM6IGV4cHIuYzo4MyByZWFkLmM6MzU3OSByZWFkLmM6NDA0MiByZWFkLmM6NDkwNAorbXNnaWQgImZsb2F0aW5nIHBvaW50IG51bWJlciBpbnZhbGlkIgorbXNnc3RyICJiaWxhbmdhbiBwZWNhaGFuIHRpZGFrIHZhbGlkIgorCisjOiBleHByLmM6MjA0Cittc2dpZCAiYmFkIGZsb2F0aW5nLXBvaW50IGNvbnN0YW50OiBleHBvbmVudCBvdmVyZmxvdyIKK21zZ3N0ciAia29uc3RhbnRhIGJpbGFuZ2FuIHBlY2FoYW4gYnVydWs6IGV4cG9uZW4gb3ZlcmZsb3ciCisKKyM6IGV4cHIuYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZsb2F0aW5nLXBvaW50IGNvbnN0YW50OiB1bmtub3duIGVycm9yIGNvZGU9JWQiCittc2dzdHIgImtvbnN0YW50YSBiaWxhbmdhbiBwZWNhaGFuIGJ1cnVrOiBrb2RlIGVycm9yPSVkIHRpZGFrIGRpa2V0YWh1aSIKKworIzogZXhwci5jOjM4NworbXNnaWQgImEgYmlnbnVtIHdpdGggdW5kZXJzY29yZXMgbWF5IG5vdCBoYXZlIG1vcmUgdGhhbiA4IGhleCBkaWdpdHMgaW4gYW55IHdvcmQiCittc2dzdHIgInNlYnVhaCBiaWdudW0gZGVuZ2FuIGdhcmlzLWJhd2FoIG11bmdraW4gdGlkYWsgbWVtaWxpa2kgbGViaWggZGFyaSA4IGhleCBkaWdpdHMgZGFsYW0ga2F0YSBhcGFwdW4iCisKKyM6IGV4cHIuYzo0MTAKK21zZ2lkICJhIGJpZ251bSB3aXRoIHVuZGVyc2NvcmVzIG11c3QgaGF2ZSBleGFjdGx5IDQgd29yZHMiCittc2dzdHIgInNlYnVhaCBiaWdudW0gZGVuZ2FuIGdhcmlzLWJhd2FoIGhhcnVzIG1lbWlsaWtpIHRlcGF0IDQga2F0YSIKKworIy4gRWl0aGVyIG5vdCBzZWVuIG9yIG5vdCBkZWZpbmVkLgorIy4gQEAgU2hvdWxkIHByaW50IG91dCB0aGUgb3JpZ2luYWwgc3RyaW5nIGluc3RlYWQgb2YKKyMuIHRoZSBwYXJzZWQgbnVtYmVyLgorIzogZXhwci5jOjUzMworIywgYy1mb3JtYXQKK21zZ2lkICJiYWNrd2FyZCByZWYgdG8gdW5rbm93biBsYWJlbCBcIiVkOlwiIgorbXNnc3RyICJiYWNrd2FyZCByZWYga2UgbGFiZWwgXCIlZDpcIiB0aWRhayBkaWtldGFodWkiCisKKyM6IGV4cHIuYzo2NTEKK21zZ2lkICJjaGFyYWN0ZXIgY29uc3RhbnQgdG9vIGxhcmdlIgorbXNnc3RyICJrb25zdGFudGEga2FyYWt0ZXIgdGVybGFsdSBiZXNhciIKKworIzogZXhwci5jOjg5NworIywgYy1mb3JtYXQKK21zZ2lkICJleHByLmMob3BlcmFuZCk6IGJhZCBhdG9mX2dlbmVyaWMgcmV0dXJuIHZhbCAlZCIKK21zZ3N0ciAiZXhwci5jKG9wZXJhbik6IGJ1cnVrIGF0b2ZfZ2VuZXJpYyBtZW5naGFzaWxrYW4gbmlsYWkgJWQiCisKKyM6IGV4cHIuYzo5NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyAnJWMnIgorbXNnc3RyICJoaWxhbmcgJyVjJyIKKworIzogZXhwci5jOjk2OSByZWFkLmM6NDM4OAorbXNnaWQgIkVCQ0RJQyBjb25zdGFudHMgYXJlIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgImtvbnN0YW50YSBFQkNESUMgdGlkYWsgZGlkdWt1bmciCisKKyM6IGV4cHIuYzoxMDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYXJ5IG9wZXJhdG9yICVjIGlnbm9yZWQgYmVjYXVzZSBiYWQgb3BlcmFuZCBmb2xsb3dzIgorbXNnc3RyICJPcGVyYW4gdW5hcnkgJWMgZGlhYmFpa2FuIGthcmVuYSBkaWlrdXRpIG9wZXJhbiBidXJ1ayIKKworIzogZXhwci5jOjExMjcgZXhwci5jOjExNTIKK21zZ2lkICJzeW50YXggZXJyb3IgaW4gLnN0YXJ0b2YuIG9yIC5zaXplb2YuIgorbXNnc3RyICJzaW50YWtzIGVycm9yIGRhbGFtIC5zdGFydG9mLiBhdGF1IC5zaXplb2YuIgorCisjOiBleHByLmM6MTY2MworbXNnaWQgIm1pc3Npbmcgb3BlcmFuZDsgemVybyBhc3N1bWVkIgorbXNnc3RyICJoaWxhbmcgb3BlcmFuOyBub2wgZGlhc3Vtc2lrYW4iCisKKyM6IGV4cHIuYzoxNjk4Cittc2dpZCAibGVmdCBvcGVyYW5kIGlzIGEgYmlnbnVtOyBpbnRlZ2VyIDAgYXNzdW1lZCIKK21zZ3N0ciAib3BlcmFuIGtpcmkgYWRhbGFoIHNlYnVhaCBiaWdudW07IGludGVnZXIgMCBkaWFzdW1zaWthbiIKKworIzogZXhwci5jOjE3MDAKK21zZ2lkICJsZWZ0IG9wZXJhbmQgaXMgYSBmbG9hdDsgaW50ZWdlciAwIGFzc3VtZWQiCittc2dzdHIgIm9wZXJhbiBraXJpIGFkYWxhaCBzZWJ1YWggZmxvYXQ7IGludGVnZXIgMCBkaWFzdW1zaWthbiIKKworIzogZXhwci5jOjE3MDkKK21zZ2lkICJyaWdodCBvcGVyYW5kIGlzIGEgYmlnbnVtOyBpbnRlZ2VyIDAgYXNzdW1lZCIKK21zZ3N0ciAib3BlcmFuIGthbmFuIGFkYWxhaCBzZWJ1YWggYmlnbnVtOyBpbnRlZ2VyIDAgZGlhc3Vtc2lrYW4iCisKKyM6IGV4cHIuYzoxNzExCittc2dpZCAicmlnaHQgb3BlcmFuZCBpcyBhIGZsb2F0OyBpbnRlZ2VyIDAgYXNzdW1lZCIKK21zZ3N0ciAib3BlcmFuIGthbmFuIGFkYWxhaCBzZWJ1YWggcGVjYWhhbjsgYmlsYW5nYW4gYnVsYXQgMCBkaWFzdW1zaWthbiIKKworIzogZXhwci5jOjE3Nzkgc3ltYm9scy5jOjEzNTYKK21zZ2lkICJkaXZpc2lvbiBieSB6ZXJvIgorbXNnc3RyICJwZW1iYWdpYW4gZGVuZ2FuIG5vbCIKKworIzogZXhwci5jOjE4NzkKK21zZ2lkICJvcGVyYXRpb24gY29tYmluZXMgc3ltYm9scyBpbiBkaWZmZXJlbnQgc2VnbWVudHMiCittc2dzdHIgIm9wZXJhc2kgbWVuZ2dhYnVuZ2thbiBzaW1ib2wgZGFsYW0gc2VnbWVuIGJlcmJlZGEiCisKKyM6IGZyYWdzLmM6NDgKK21zZ2lkICJhdHRlbXB0IHRvIGFsbG9jYXRlIGRhdGEgaW4gYWJzb2x1dGUgc2VjdGlvbiIKK21zZ3N0ciAibWVuY29iYSBtZW5nYWxva2FzaWthbiBkYXRhIGRhbGFtIGRhZXJhaCBhYnNvbHV0IgorCisjOiBmcmFncy5jOjU0Cittc2dpZCAiYXR0ZW1wdCB0byBhbGxvY2F0ZSBkYXRhIGluIGNvbW1vbiBzZWN0aW9uIgorbXNnc3RyICJtZW5jb2JhIG1lbmdhbG9rYXNpa2FuIGRhdGEgZGFsYW0gZGFlcmFoIHVtdW0iCisKKyM6IGZyYWdzLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGV4dGVuZCBmcmFnICV1IGNoYXJzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5la3N0ZW4gZnJhZyAldSBjaGFycyIKKworIy4gRm9yIGVycm9yIG1lc3NhZ2VzLgorIy4gRGV0ZWN0IGlmIHdlIGFyZSByZWFkaW5nIGZyb20gc3RkaW4gYnkgZXhhbWluaW5nIHRoZSBmaWxlCisjLiBuYW1lIHJldHVybmVkIGJ5IGFzX3doZXJlKCkuCisjLgorIy4gW0ZJWE1FOiBXZSByZWx5IHVwb24gdGhlIG5hbWUgaW4gdGhlIHN0cmNtcCBiZWxvdyBiZWluZyB0aGUKKyMuIHNhbWUgYXMgdGhlIG9uZSB1c2VkIGJ5IGlucHV0X3NjcnViX25ld19maWxlKCksIGlmIHRoYXQgaXMKKyMuIG5vdCB0cnVlLCB0aGVuIHRoaXMgY29kZSB3aWxsIGZhaWxdLgorIy4KKyMuIElmIHdlIGFyZSByZWFkaW5nIGZyb20gc3RkaW4sIHRoZW4gd2UgbmVlZCB0byBzYXZlIGVhY2ggaW5wdXQKKyMuIGxpbmUgaGVyZSAoYXNzdW1pbmcgb2YgY291cnNlIHRoYXQgd2UgYWN0dWFsbHkgaGF2ZSBhIGxpbmUgb2YKKyMuIGlucHV0IHRvIHJlYWQpLCBzbyB0aGF0IGl0IGNhbiBiZSBkaXNwbGF5ZWQgaW4gdGhlIGxpc3RpbmcKKyMuIHRoYXQgaXMgcHJvZHVjZWQgYXQgdGhlIGVuZCBvZiB0aGUgYXNzZW1ibHkuCisjOiBpbnB1dC1maWxlLmM6MTM4IGlucHV0LXNjcnViLmM6MjQxIGxpc3RpbmcuYzozMzUKK21zZ2lkICJ7c3RhbmRhcmQgaW5wdXR9IgorbXNnc3RyICJ7bWFzdWthbiBiYWt1fSIKKworIzogaW5wdXQtZmlsZS5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBvcGVuICVzIGZvciByZWFkaW5nOiAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlcyB1bnR1ayBwZW1iYWNhYW46ICVzIgorCisjOiBpbnB1dC1maWxlLmM6MTUyIGlucHV0LWZpbGUuYzoyMTUgaW5wdXQtZmlsZS5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkIGZyb20gJXM6ICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1iYWNhIGRhcmkgJXM6ICVzIgorCisjOiBpbnB1dC1maWxlLmM6MjQ5IGxpc3RpbmcuYzoxMTg4IG91dHB1dC1maWxlLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgY2xvc2UgJXM6ICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW51dHVwICVzOiAlcyIKKworIzogaW5wdXQtc2NydWIuYzoyNjYKK21zZ2lkICJtYWNyb3MgbmVzdGVkIHRvbyBkZWVwbHkiCittc2dzdHIgIm1ha3JvIG5lc3RlZCB0ZXJsYWx1IGRhbGFtIgorCisjOiBpbnB1dC1zY3J1Yi5jOjM2OSBpbnB1dC1zY3J1Yi5jOjM5MworbXNnaWQgInBhcnRpYWwgbGluZSBhdCBlbmQgb2YgZmlsZSBpZ25vcmVkIgorbXNnc3RyICJiYXJpcyBwYXJ0aWFsIGRpYWtoaXIgZGFyaSBiZXJrYXMgZGlhYmFpa2FuIgorCisjOiBpdGJsLW9wcy5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBuZXcgaW5zdHJ1Y3Rpb25zXG4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdhbG9rYXNpa2FuIG1lbW9yaSB1bnR1ayBpbnN0cnVrc2kgYmFydVxuIgorCisjOiBsaXN0aW5nLmM6MjQxCittc2dpZCAiV2FybmluZzoiCittc2dzdHIgIlBlcmluZ2F0YW46IgorCisjOiBsaXN0aW5nLmM6MjQ3Cittc2dpZCAiRXJyb3I6IgorbXNnc3RyICJFcnJvcjoiCisKKyM6IGxpc3RpbmcuYzoxMDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgdGltZSBzdGFtcCAgICBcdDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIiBwZW5hbmRhIHdha3R1IFx0OiAlc1xuIgorIlxuIgorCisjOiBsaXN0aW5nLmM6MTA4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAiCittc2dzdHIgIiVzIgorCisjOiBsaXN0aW5nLmM6MTA4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiXHQlcyAiCittc2dzdHIgIiIKKyJcbiIKKyJcdCVzICIKKworIzogbGlzdGluZy5jOjEwOTkKK21zZ2lkICIiCisiXG4iCisiIG9wdGlvbnMgcGFzc2VkXHQ6ICIKK21zZ3N0ciAiIgorIlxuIgorIiBvcHNpIGRpbGV3YXRpXHQ6ICIKKworIzogbGlzdGluZy5jOjExMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiBHTlUgYXNzZW1ibGVyIHZlcnNpb24gJXMgKCVzKVxuIgorIlx0IHVzaW5nIEJGRCB2ZXJzaW9uICVzLiIKK21zZ3N0ciAiIgorIiBWZXJzaSBHTlUgYXNzZW1ibGVyICVzICglcylcbiIKKyJcdCBtZW5nZ3VuYWthbiB2ZXJzaSBCRkQgJXMuIgorCisjOiBsaXN0aW5nLmM6MTE0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiIGlucHV0IGZpbGUgICAgXHQ6ICVzIgorbXNnc3RyICIiCisiXG4iCisiIGJlcmthcyBtYXN1a2FuXHQ6ICVzIgorCisjOiBsaXN0aW5nLmM6MTE0MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiIG91dHB1dCBmaWxlICAgXHQ6ICVzIgorbXNnc3RyICIiCisiXG4iCisiIGJlcmthcyBrZWx1YXJhblx0OiAlcyIKKworIzogbGlzdGluZy5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiB0YXJnZXQgICAgICAgIFx0OiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIiB0YXJnZXQgICAgICAgIFx0OiAlcyIKKworIzogbGlzdGluZy5jOjExNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgb3BlbiAlczogJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgJXM6ICVzIgorCisjOiBsaXN0aW5nLmM6MTI2MAorbXNnaWQgInN0cmFuZ2UgcGFwZXIgaGVpZ2h0LCBzZXQgdG8gbm8gZm9ybSIKK21zZ3N0ciAidGluZ2dpIGtlcnRhcyBhbmVoLCBzZXQga2UgdGlkYWsgYWRhIGJlbnR1ayIKKworIzogbGlzdGluZy5jOjEzMjQKK21zZ2lkICJuZXcgbGluZSBpbiB0aXRsZSIKK21zZ3N0ciAiYmFyaXMgYmFydXMgZGFsYW0ganVkdWwiCisKKyMuIFR1cm5zIHRoZSBuZXh0IGV4cHJlc3Npb24gaW50byBhIHN0cmluZy4KKyM6IG1hY3JvLmM6MzcxCisjLCBuby1jLWZvcm1hdAorbXNnaWQgIiUgb3BlcmF0b3IgbmVlZHMgYWJzb2x1dGUgZXhwcmVzc2lvbiIKK21zZ3N0ciAiJSBvcGVyYXRvciBtZW1idXR1aGthbiBla3NwcmVzaSBhYnNvbHV0IgorCisjOiBtYWNyby5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICJNaXNzaW5nIHBhcmFtZXRlciBxdWFsaWZpZXIgZm9yIGAlcycgaW4gbWFjcm8gYCVzJyIKK21zZ3N0ciAiSGlsYW5nIGt1YWxpZmlrYXNpIHBhcmFtZXRlciB1bnR1ayBgJXMnIGRhbGFtIG1ha3JvIGAlcyciCisKKyM6IG1hY3JvLmM6NTMxCisjLCBjLWZvcm1hdAorbXNnaWQgImAlcycgaXMgbm90IGEgdmFsaWQgcGFyYW1ldGVyIHF1YWxpZmllciBmb3IgYCVzJyBpbiBtYWNybyBgJXMnIgorbXNnc3RyICJgJXMnIGJ1a2FuIHNlYnVhaCBrdWFsaWZpa2FzaSBwYXJhbWV0ZXIgeWFuZyB2YWxpZCB1bnR1ayBgJXMnIGRhbGFtIG1ha3JvIGAlcyciCisKKyM6IG1hY3JvLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBvaW50bGVzcyBkZWZhdWx0IHZhbHVlIGZvciByZXF1aXJlZCBwYXJhbWV0ZXIgYCVzJyBpbiBtYWNybyBgJXMnIgorbXNnc3RyICJQb2ludGxlc3MgbmlsYWkgZGVmYXVsdCB5YW5nIGRpYnV0dWhrYW4gb2xlaCBwYXJhbWV0ZXIgYCVzJyBkYWxhbSBtYWtybyBgJXMnIgorCisjOiBtYWNyby5jOjU2MAorIywgYy1mb3JtYXQKK21zZ2lkICJBIHBhcmFtZXRlciBuYW1lZCBgJXMnIGFscmVhZHkgZXhpc3RzIGZvciBtYWNybyBgJXMnIgorbXNnc3RyICJTZWJ1YWggcGFyYW1ldGVyIGRpbmFtYWkgYCVzJyB0ZWxhaCBhZGEgdW50dWsgbWFrcm8gYCVzJyIKKworIzogbWFjcm8uYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVzZXJ2ZWQgd29yZCBgJXMnIHVzZWQgYXMgcGFyYW1ldGVyIGluIG1hY3JvIGAlcyciCittc2dzdHIgIkthdGEgeWFuZyBkaXJlc2VydmUgYCVzJyBkaWd1bmFrYW4gc2ViYWdhaSBwYXJhbWV0ZXIgZGFsYW0gbWFrcm8gYCVzJyIKKworIzogbWFjcm8uYzo2MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBpbiBtYWNybyBgJXMnIGRlZmluaXRpb24iCittc2dzdHIgInRpZGFrIHRlcmR1Z2EgYWtoaXIgZGFyaSBiZXJrYXMgZGFsYW0gZGVmaW5pc2kgbWFrcm8gYCVzJyIKKworIzogbWFjcm8uYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyBgKScgYWZ0ZXIgZm9ybWFscyBpbiBtYWNybyBkZWZpbml0aW9uIGAlcyciCittc2dzdHIgImhpbGFuZyBgKScgc2VzdWRhaCBmb3JtYWwgZGFsYW0gZGVmaW5pc2kgbWFrcm8gYCVzJyIKKworIzogbWFjcm8uYzo2NjIKK21zZ2lkICJNaXNzaW5nIG1hY3JvIG5hbWUiCittc2dzdHIgIkhpbGFuZyBuYW1hIG1ha3JvIgorCisjOiBtYWNyby5jOjY3MQorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgcGFyYW1ldGVyIGxpc3QgZm9yIG1hY3JvIGAlcyciCittc2dzdHIgIkRhZnRhciBwYXJhbWV0ZXIgYnVydWsgdW50dWsgbWFrcm8gYCVzJyIKKworIzogbWFjcm8uYzo2NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFjcm8gYCVzJyB3YXMgYWxyZWFkeSBkZWZpbmVkIgorbXNnc3RyICJNYWtybyBgJXMnIHRlbGFoIHRlcmRlZmluaXNpIgorCisjOiBtYWNyby5jOjgwMCBtYWNyby5jOjgwMgorbXNnaWQgIm1pc3NpbmcgYCknIgorbXNnc3RyICJoaWxhbmcgYCknIgorCisjOiBtYWNyby5jOjg5NworIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnIHdhcyBhbHJlYWR5IHVzZWQgYXMgcGFyYW1ldGVyIChvciBhbm90aGVyIGxvY2FsKSBuYW1lIgorbXNnc3RyICJgJXMnIHRlbGFoIGRpZ3VuYWthbiBzZWJhZ2FpIG5hbWEgcGFyYW1ldGVyIChhdGF1IGxva2FsIGxhaW4pIgorCisjOiBtYWNyby5jOjEwNTUKK21zZ2lkICJjb25mdXNpb24gaW4gZm9ybWFsIHBhcmFtZXRlcnMiCittc2dzdHIgImJpbmd1bmcgZGFsYW0gcGFyYW1ldGVyIGZvcm1hbCIKKworIzogbWFjcm8uYzoxMDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcmFtZXRlciBuYW1lZCBgJXMnIGRvZXMgbm90IGV4aXN0IGZvciBtYWNybyBgJXMnIgorbXNnc3RyICJQYXJhbWV0ZXIgYmVybmFtYSBgJXMnIHRpZGFrIGFkYSB1bnR1ayBtYWtybyBgJXMnIgorCisjOiBtYWNyby5jOjEwNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmFsdWUgZm9yIHBhcmFtZXRlciBgJXMnIG9mIG1hY3JvIGAlcycgd2FzIGFscmVhZHkgc3BlY2lmaWVkIgorbXNnc3RyICJOaWxhaSB1bnR1ayBwYXJhbWV0ZXIgYCVzJyBkYXJpIG1ha3JvIGAlcycgdGVsYWggZGlzcGVzaWZpa2FzaWthbiIKKworIzogbWFjcm8uYzoxMDg0Cittc2dpZCAiY2FuJ3QgbWl4IHBvc2l0aW9uYWwgYW5kIGtleXdvcmQgYXJndW1lbnRzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5jYW1wdXJrYW4gcG9zaXNpIGRhbiBhcmd1bWVuIGtleXdvcmQiCisKKyM6IG1hY3JvLmM6MTA5NQorbXNnaWQgInRvbyBtYW55IHBvc2l0aW9uYWwgYXJndW1lbnRzIgorbXNnc3RyICJ0ZXJsYWx1IGJhbnlhayBhcmd1bWVuIHBvc2lzaSIKKworIzogbWFjcm8uYzoxMTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1pc3NpbmcgdmFsdWUgZm9yIHJlcXVpcmVkIHBhcmFtZXRlciBgJXMnIG9mIG1hY3JvIGAlcyciCittc2dzdHIgIkhpbGFuZyBuaWxhaSB1bnR1ayBwYXJhbWV0ZXIgeWFuZyBkaWJ1dHVoa2FuIGAlcycgZGFyaSBtYWtybyBgJXMnIgorCisjOiBtYWNyby5jOjEyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXR0ZW1wdCB0byBwdXJnZSBub24tZXhpc3RhbnQgbWFjcm8gYCVzJyIKK21zZ3N0ciAiTWVuY29iYSB1bnR1ayBtZW5naGFwdXMgbWFrcm8geWFuZyB0aWRhayBhZGEgYCVzJyIKKworIzogbWFjcm8uYzoxMzAxCittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBpbiBpcnAgb3IgaXJwYyIKK21zZ3N0ciAidGlkYWsgdGVyZHVnYSBha2hpciBkYXJpIGJlcmthcyBkYWxhbSBpcnAgYXRhdSBpcnBjIgorCisjOiBtYWNyby5jOjEzMDkKK21zZ2lkICJtaXNzaW5nIG1vZGVsIHBhcmFtZXRlciIKK21zZ3N0ciAiaGlsYW5nIHBhcmFtZXRlciBtb2RlbCIKKworIzogbWVzc2FnZXMuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJBc3NlbWJsZXIgbWVzc2FnZXM6XG4iCittc2dzdHIgIlBlc2FuIHBlcmFraXQ6XG4iCisKKyM6IG1lc3NhZ2VzLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6ICIKK21zZ3N0ciAiUGVyaW5nYXRhbjogIgorCisjOiBtZXNzYWdlcy5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJFcnJvcjogIgorbXNnc3RyICJFcnJvcjogIgorCisjOiBtZXNzYWdlcy5jOjM2MiBtZXNzYWdlcy5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICJGYXRhbCBlcnJvcjogIgorbXNnc3RyICJGYXRhbCBlcnJvcjogIgorCisjOiBtZXNzYWdlcy5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcm5hbCBlcnJvciFcbiIKK21zZ3N0ciAiSW50ZXJuYWwgZXJyb3IhXG4iCisKKyM6IG1lc3NhZ2VzLmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc2VydGlvbiBmYWlsdXJlIGluICVzIGF0ICVzIGxpbmUgJWQuXG4iCittc2dzdHIgIkFzc2VydGlvbiBnYWdhbCBkYWxhbSAlcyBkaSAlcyBiYXJpcyAlZC5cbiIKKworIzogbWVzc2FnZXMuYzo0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzZXJ0aW9uIGZhaWx1cmUgYXQgJXMgbGluZSAlZC5cbiIKK21zZ3N0ciAiQXNzZXJ0aW9uIGdhZ2FsIGRpICVzIGJhcmlzICVkLlxuIgorCisjOiBtZXNzYWdlcy5jOjQwMyBtZXNzYWdlcy5jOjQyMAorIywgYy1mb3JtYXQKK21zZ2lkICJQbGVhc2UgcmVwb3J0IHRoaXMgYnVnLlxuIgorbXNnc3RyICJUb2xvbmcgbGFwb3JrYW4gYnVnIGluaS5cbiIKKworIzogbWVzc2FnZXMuYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJuYWwgZXJyb3IsIGFib3J0aW5nIGF0ICVzIGxpbmUgJWQgaW4gJXNcbiIKK21zZ3N0ciAiSW50ZXJuYWwgZXJyb3IsIG1lbWJhdGFsa2FuIGRpICVzIGJhcmlzICVkIGRhbGFtICVzXG4iCisKKyM6IG1lc3NhZ2VzLmM6NDE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVybmFsIGVycm9yLCBhYm9ydGluZyBhdCAlcyBsaW5lICVkXG4iCittc2dzdHIgIkludGVybmFsIGVycm9yLCBtZW1iYXRhbGthbiBkaSAlcyBiYXJpcyAlZFxuIgorCisjOiBtZXNzYWdlcy5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBvdXQgb2YgZG9tYWluICglZCBpcyBub3QgYSBtdWx0aXBsZSBvZiAlZCkiCittc2dzdHIgIiVzIGRpbHVhciBkYXJpIGRvbWFpbiAoJWQgYnVrYW4ga2VsaXBhdGFuIGRhcmkgJWQpIgorCisjOiBtZXNzYWdlcy5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBvdXQgb2YgcmFuZ2UgKCVkIGlzIG5vdCBiZXR3ZWVuICVkIGFuZCAlZCkiCittc2dzdHIgIiVzIGRpbHVhciBkYXJpIGphbmdrYXVhbiAoJWQgdGlkYWsgZGlhbnRhcmEgJWQgZGFuICVkKSIKKworIy4geGdldHRleHQ6Yy1mb3JtYXQuCisjOiBtZXNzYWdlcy5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBvdXQgb2YgcmFuZ2UgKDB4JXMgaXMgbm90IGJldHdlZW4gMHglcyBhbmQgMHglcykiCittc2dzdHIgIiVzIGRpbHVhciBkYXJpIGphbmdrYXVhbiAoMHglcyB0aWRhayBkaWFudGFyYSAweCVzIGRhbiAweCVzKSIKKworIzogb3V0cHV0LWZpbGUuYzozNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBvcGVuIGEgYmZkIG9uIHN0ZG91dCAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSBzZWJ1YWggYmZkIGRpIHN0ZG91dCAlcyIKKworIzogb3V0cHV0LWZpbGUuYzo0MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3RlZCB0YXJnZXQgZm9ybWF0ICclcycgdW5rbm93biIKK21zZ3N0ciAiZm9ybWF0IHRhcmdldCAnJXMnIHlhbmcgZGlwaWxpaCB0aWRhayBkaWtldGFodWkiCisKKyM6IG91dHB1dC1maWxlLmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgY3JlYXRlICVzOiAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVhdCAlczogJXMiCisKKyM6IHJlYWQuYzo0NjIKK21zZ2lkICJiYWQgb3IgaXJyZWR1Y2libGUgYWJzb2x1dGUgZXhwcmVzc2lvbiIKK21zZ3N0ciAiYnVydWsgYXRhdSB0aWRhayB0ZXJlZHVrc2kgZWtzcHJlc2kgYWJzb2x1dCIKKworIzogcmVhZC5jOjQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjb25zdHJ1Y3RpbmcgJXMgcHNldWRvLW9wIHRhYmxlOiAlcyIKK21zZ3N0ciAiZXJyb3IgbWVtYnVhdCAlcyBwc2V1ZG8tb3AgdGFiZWw6ICVzIgorCisjOiByZWFkLmM6ODk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHNldWRvLW9wOiBgJXMnIgorbXNnc3RyICJ0aWRhayBkaWtldGFodWkgcHNldWRvLW9wOiBgJXMnIgorCisjOiByZWFkLmM6OTg1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIFwiJWQkXCIgcmVkZWZpbmVkIgorbXNnc3RyICJsYWJlbCBcIiVkJFwiIHRlcmVkZWZpbmlzaSIKKworIzogcmVhZC5jOjEyMjAKK21zZ2lkICIuYWJvcnQgZGV0ZWN0ZWQuICBBYmFuZG9uaW5nIHNoaXAuIgorbXNnc3RyICIuYWJvcnQgdGVyZGV0ZWtzaS4gTWVtYmF0YWxrYW4gc2hpcC4iCisKKyM6IHJlYWQuYzoxMjM4IHJlYWQuYzoyNjE1Cittc2dpZCAiaWdub3JpbmcgZmlsbCB2YWx1ZSBpbiBhYnNvbHV0ZSBzZWN0aW9uIgorbXNnc3RyICJtZW5nYWJhaWthbiBmaWxsIHZhbHVlIGRhbGFtIGRhZXJhaCBhYnNvbHV0IgorCisjOiByZWFkLmM6MTMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGlnbm1lbnQgdG9vIGxhcmdlOiAldSBhc3N1bWVkIgorbXNnc3RyICJhbGlnbm1lbiB0ZXJsYWx1IGJlc2FyOiAldSBkaWFzdW1zaWthbiIKKworIzogcmVhZC5jOjEzNjEKK21zZ2lkICJleHBlY3RlZCBmaWxsIHBhdHRlcm4gbWlzc2luZyIKK21zZ3N0ciAibWVuZHVnYSBmaWxsIHBhdHRlcm4gaGlsYW5nIgorCisjOiByZWFkLmM6MTQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICJzaXplICglbGQpIG91dCBvZiByYW5nZSwgaWdub3JlZCIKK21zZ3N0ciAidWt1cmFuICglbGQpIGRpbHVhciBkYXJpIGphbmdrYXVhbiwgZGlhYmFpa2FuIgorCisjOiByZWFkLmM6MTQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJzaXplIG9mIFwiJXNcIiBpcyBhbHJlYWR5ICVsZDsgbm90IGNoYW5naW5nIHRvICVsZCIKK21zZ3N0ciAidWt1cmFuIGRhcmkgXCIlc1wiIHRlbGFoICVsZDsgdGlkYWsgbWVuZ3ViYWgga2UgJWxkIgorCisjLiBTb21lIG9mIHRoZSBiYWNrIGVuZHMgY2FuJ3QgZGVhbCB3aXRoIG5vbi1wb3NpdGl2ZSBsaW5lIG51bWJlcnMuCisjLiBCZXNpZGVzLCBpdCdzIHNpbGx5LiAgR0NDIGhvd2V2ZXIgd2lsbCBnZW5lcmF0ZSBhIGxpbmUgbnVtYmVyIG9mCisjLiB6ZXJvIHdoZW4gaXQgaXMgcHJlLXByb2Nlc3NpbmcgYnVpbHRpbnMgZm9yIGFzc2VtYmxlci13aXRoLWNwcCBmaWxlczoKKyMuCisjLiAjIDAgIjxidWlsdC1pbj4iCisjLgorIy4gV2UgZG8gbm90IHdhbnQgdG8gYmFyZiBvbiB0aGlzLCBlc3BlY2lhbGx5IHNpbmNlIHN1Y2ggZmlsZXMgYXJlIHVzZWQKKyMuIGluIHRoZSBHQ0MgYW5kIEdEQiB0ZXN0c3VpdGVzLiAgU28gd2UgY2hlY2sgZm9yIG5lZ2F0aXZlIGxpbmUgbnVtYmVycworIy4gcmF0aGVyIHRoYW4gbm9uLXBvc2l0aXZlIGxpbmUgbnVtYmVycy4KKyM6IHJlYWQuYzoxNzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgbnVtYmVycyBtdXN0IGJlIHBvc2l0aXZlOyBsaW5lIG51bWJlciAlZCByZWplY3RlZCIKK21zZ3N0ciAibm9tb3IgYmFyaXMgaGFydXMgcG9zaXRpZjsgbm9tb3IgYmFyaXMgJWQgZGl0b2xhayIKKworIzogcmVhZC5jOjE3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5jb21wYXRpYmxlIGZsYWcgJWkgaW4gbGluZSBkaXJlY3RpdmUiCittc2dzdHIgInRhbmRhIHRpZGFrIGtvbXBhdGliZWwgJWkgZGFsYW0gZGlyZWt0aWYgYmFyaXMiCisKKyM6IHJlYWQuYzoxNzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGZsYWcgJWkgaW4gbGluZSBkaXJlY3RpdmUiCittc2dzdHIgInRhbmRhICVpIHRpZGFrIGRpZHVrdW5nIGRhbGFtIGRpcmVrdGlmIGJhcmlzIgorCisjOiByZWFkLmM6MTgzNworbXNnaWQgInN0YXJ0IGFkZHJlc3Mgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiYXdhbCBhbGFtYXQgdGlkYWsgZGlkdWt1bmciCisKKyM6IHJlYWQuYzoxODQ2Cittc2dpZCAiLmVyciBlbmNvdW50ZXJlZCIKK21zZ3N0ciAiLmVyciBkaXRlbXVpIgorCisjOiByZWFkLmM6MTg2MgorbXNnaWQgIi5lcnJvciBkaXJlY3RpdmUgaW52b2tlZCBpbiBzb3VyY2UgZmlsZSIKK21zZ3N0ciAiLmVycm9yIGRpcmVrdGlmIGRpamFsYW5rYW4gZGFsYW0gYmVya2FzIHN1bWJlciIKKworIzogcmVhZC5jOjE4NjMKK21zZ2lkICIud2FybmluZyBkaXJlY3RpdmUgaW52b2tlZCBpbiBzb3VyY2UgZmlsZSIKK21zZ3N0ciAiLndhcm5pbmcgZGlyZWt0aWYgZGlwYW5nZ2lsIGRhbGFtIGJlcmthcyBzdW1iZXIiCisKKyM6IHJlYWQuYzoxODY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmciCittc2dzdHIgIiVzIGFyZ3VtZW4gaGFydXMgYmVydXBhIHNlYnVhaCBzdHJpbmciCisKKyM6IHJlYWQuYzoxOTAxIHJlYWQuYzoxOTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIi5mYWlsICVsZCBlbmNvdW50ZXJlZCIKK21zZ3N0ciAiLmZhaWwgJWxkIGRpdGVtdWkiCisKKyM6IHJlYWQuYzoxOTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIi5maWxsIHNpemUgY2xhbXBlZCB0byAlZCIKK21zZ3N0ciAiLmZpbGwgc2l6ZSBjbGFtcGUga2UgJWQiCisKKyM6IHJlYWQuYzoxOTQ0Cittc2dpZCAic2l6ZSBuZWdhdGl2ZTsgLmZpbGwgaWdub3JlZCIKK21zZ3N0ciAidWt1cmFuIG5lZ2F0aWY7IC5maWxsIGRpYWJhaWthbiIKKworIzogcmVhZC5jOjE5NTAKK21zZ2lkICJyZXBlYXQgPCAwOyAuZmlsbCBpZ25vcmVkIgorbXNnc3RyICJkaXVsYW5nIDwgMDsgLmZpbGwgZGlhYmFpa2FuIgorCisjOiByZWFkLmM6MjA4OAorbXNnaWQgImV4cGVjdGVkIG51bWVyaWMgY29uc3RhbnQiCittc2dzdHIgImRpZHVnYSBrb25zdGFudGEgbnVtZXJpayIKKworIzogcmVhZC5jOjIxNDQKK21zZ2lkICJiYWQgc3RyaW5nIGNvbnN0YW50IgorbXNnc3RyICJrb25zdGFudGEgYnVydWsgc3RyaW5nIgorCisjOiByZWFkLmM6MjE0OAorbXNnaWQgImV4cGVjdGVkIDx0YWc+ICwgPHZhbHVlPiIKK21zZ3N0ciAiZGlkdWdhIDx0YWc+ICwgPG5pbGFpPiIKKworIzogcmVhZC5jOjIyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIC5saW5rb25jZSB0eXBlIGAlcyciCittc2dzdHIgInRpZGFrIGRpa2VuYWwgLmxpbmtvbnZlIHRpcGUgYCVzJyIKKworIzogcmVhZC5jOjIyMzQKK21zZ2lkICIubGlua29uY2UgaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBvYmplY3QgZmlsZSBmb3JtYXQiCittc2dzdHIgIi5saW5rb252ZSB0aWRhayBkaWR1a3VuZyB1bnR1ayBmb3JtYXQgYmVya2FzIG9iamVrIGluaSIKKworIzogcmVhZC5jOjIyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmZkX3NldF9zZWN0aW9uX2ZsYWdzOiAlcyIKK21zZ3N0ciAiYmZkX3NldF9zZWN0aW9uX2ZsYWdzOiAlcyIKKworIzogcmVhZC5jOjIzMjkKK21zZ2lkICJleHBlY3RlZCBhbGlnbm1lbnQgYWZ0ZXIgc2l6ZSIKK21zZ3N0ciAiZGlkdWdhIGFsaWdubWVuIHNlc3VkYWggdWt1cmFuIgorCisjOiByZWFkLmM6MjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRlbXB0IHRvIHJlZGVmaW5lIHBzZXVkby1vcCBgJXMnIGlnbm9yZWQiCittc2dzdHIgIm1lbmNvYmEgbWVyZWRlZmluaXMgcHNldWRvLW9wIGAlcycgZGlhYmFpa2FuIgorCisjOiByZWFkLmM6MjU2MworbXNnaWQgImlnbm9yaW5nIG1hY3JvIGV4aXQgb3V0c2lkZSBhIG1hY3JvIGRlZmluaXRpb24uIgorbXNnc3RyICJtZW5nYWJhaWthbiBtYWtybyBleGl0IGRpbHVhciBkZWZpbmlzaSBtYWtyby4iCisKKyM6IHJlYWQuYzoyNjEwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2VnbWVudCBcIiVzXCIiCittc2dzdHIgInNlZ21lbiBcIiVzXCIgdGlkYWsgdmFsaWQiCisKKyM6IHJlYWQuYzoyNjE4Cittc2dpZCAib25seSBjb25zdGFudCBvZmZzZXRzIHN1cHBvcnRlZCBpbiBhYnNvbHV0ZSBzZWN0aW9uIgorbXNnc3RyICJoYW55YSBrb25zdGFudGEgb2ZzZXQgeWFuZyBkaWR1a3VuZyBkYWxhbSBkYWVyYWggYWJzb2x1dCIKKworIzogcmVhZC5jOjI2NTcKK21zZ2lkICJNUkkgc3R5bGUgT1JHIHBzZXVkby1vcCBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJnYXlhIE1SSSBPUkcgcHNldWRvLW9wIHRpZGFrIGRpZHVrdW5nIgorCisjOiByZWFkLmM6MjgxMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdGlvbiB0eXBlIGAlcyciCittc2dzdHIgInRpcGUgZGFlcmFoIGAlcycgdGlkYWsgZGlrZW5hbCIKKworIzogcmVhZC5jOjI4MjQKK21zZ2lkICJhYnNvbHV0ZSBzZWN0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiZGFlcmFoIGFic29sdXQgdGlkYWsgZGlkdWt1bmciCisKKyM6IHJlYWQuYzoyODM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzZWN0aW9uIGNvbW1hbmQgYCVzJyIKK21zZ3N0ciAiZGFlcmFoIHBlcmludGFoIGAlcycgdGlkYWsgZGlrZW5hbCIKKworIzogcmVhZC5jOjI5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLmVuZCVjIGVuY291bnRlcmVkIHdpdGhvdXQgcHJlY2VlZGluZyAlcyIKK21zZ3N0ciAiLmVuZCVjIGRpdGVtdWkgdGFucGEgZGlhd2FsaSAlcyIKKworIzogcmVhZC5jOjI5MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgd2l0aG91dCAlcyIKK21zZ3N0ciAiJXMgdGFucGEgJXMiCisKKyM6IHJlYWQuYzozMTU3Cittc2dpZCAidW5zdXBwb3J0ZWQgdmFyaWFibGUgc2l6ZSBvciBmaWxsIHZhbHVlIgorbXNnc3RyICJ0aWRhayBkaWR1a3VuIHVrdXJhbiB2YXJpYWJlbCBhdGF1IG5pbGFpIGZpbGwiCisKKyM6IHJlYWQuYzozMTg1Cittc2dpZCAiLnNwYWNlIHJlcGVhdCBjb3VudCBpcyB6ZXJvLCBpZ25vcmVkIgorbXNnc3RyICIuc3BhY2UganVtbGFoIHBlbmd1bGFuZ2FuIGFkYWxhaCBub2wsIGRpYWJhaWthbiIKKworIzogcmVhZC5jOjMxODcKK21zZ2lkICIuc3BhY2UgcmVwZWF0IGNvdW50IGlzIG5lZ2F0aXZlLCBpZ25vcmVkIgorbXNnc3RyICIuc3BhY2UganVtbGFoIHBlbmd1bGFuZ2FuIGFkYWxhaCBuZWdhdGlmLCBkaWFiYWlrYW4iCisKKyM6IHJlYWQuYzozMjE2Cittc2dpZCAic3BhY2UgYWxsb2NhdGlvbiB0b28gY29tcGxleCBpbiBhYnNvbHV0ZSBzZWN0aW9uIgorbXNnc3RyICJhbG9rYXNpIHJ1YW5nIHRlcmxhbHUga29tcGxla3MgZGFsYW0gZGFlcmFoIGFic29sdXQiCisKKyM6IHJlYWQuYzozMjIyCittc2dpZCAic3BhY2UgYWxsb2NhdGlvbiB0b28gY29tcGxleCBpbiBjb21tb24gc2VjdGlvbiIKK21zZ3N0ciAiYWxva2FzaSBydWFuZyB0ZXJsYWx1IGtvbXBsZWtzIGRhbGFtIGRhZXJhaCBzYW1hIgorCisjOiByZWFkLmM6MzMwOSByZWFkLmM6NDYzMAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZmxvYXRpbmcgbGl0ZXJhbDogJXMiCittc2dzdHIgImxpdGVyYWwgZmxvYXRpbmcgYnVydWs6ICVzIgorCisjOiByZWFkLmM6MzQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd291bGQgY2xvc2Ugd2Vha3JlZiBsb29wOiAlcyIKK21zZ3N0ciAiJXM6ICBha2FuIG1lbnV0dXAgbG9vayB3ZWFrcmVmOiAlcyIKKworIzogcmVhZC5jOjM1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAianVuayBhdCBlbmQgb2YgbGluZSwgZmlyc3QgdW5yZWNvZ25pemVkIGNoYXJhY3RlciB2YWx1ZWQgMHgleCIKK21zZ3N0ciAic2FtcGFoIGRpYWtoaXIgZGFyaSBiYXJpcywga2FyYWt0ZXIgcGVydGFtYSB0aWRhayBkaWtlbmFsIG1lbWlsaWtpIG5pbGFpIDB4JXgiCisKKyM6IHJlYWQuYzozNTczCittc2dpZCAibWlzc2luZyBleHByZXNzaW9uIgorbXNnc3RyICJoaWxhbmcgZWtzcHJlc2kiCisKKyM6IHJlYWQuYzozNjQxCisjLCBjLWZvcm1hdAorbXNnaWQgImAlcycgY2FuJ3QgYmUgZXF1YXRlZCB0byBjb21tb24gc3ltYm9sICclcyciCittc2dzdHIgImAlcycgdGlkYWsgZGFwYXQgZGlzYW1ha2FuIGtlIHNpbWJvbCB1bXVtICclcyciCisKKyM6IHJlYWQuYzozNzY5Cittc2dpZCAicnZhIHdpdGhvdXQgc3ltYm9sIgorbXNnc3RyICJydmEgdGFucGEgc2ltYm9sIgorCisjOiByZWFkLmM6MzgyNgorbXNnaWQgIm1pc3Npbmcgb3IgYmFkIG9mZnNldCBleHByZXNzaW9uIgorbXNnc3RyICJoaWxhbmcgYXRhdSBidXJ1ayBla3NwcmVzaSBvZnNldCIKKworIzogcmVhZC5jOjM4NDcKK21zZ2lkICJtaXNzaW5nIHJlbG9jIHR5cGUiCittc2dzdHIgImhpbGFuZyB0aXBlIHJlbG9rYXNpIgorCisjOiByZWFkLmM6Mzg1OQorbXNnaWQgInVucmVjb2duaXplZCByZWxvYyB0eXBlIgorbXNnc3RyICJ0aXBlIHJlbG9rYXNpIHRpZGFrIGRpa2VuYWwiCisKKyM6IHJlYWQuYzozODc1Cittc2dpZCAiYmFkIHJlbG9jIGV4cHJlc3Npb24iCittc2dzdHIgImVrc3ByZXNpIHJlbG9rYXNpIGJ1cnVrIgorCisjOiByZWFkLmM6Mzk5OAorbXNnaWQgImF0dGVtcHQgdG8gc3RvcmUgdmFsdWUgaW4gYWJzb2x1dGUgc2VjdGlvbiIKK21zZ3N0ciAibWVuY29iYSB1bnR1ayBtZW55aW1wYW4gbmlsYWkgZGFsYW0gZGFlcmFoIGFic29sdXQiCisKKyM6IHJlYWQuYzo0MDM2IHJlYWQuYzo0ODk4Cittc2dpZCAiemVybyBhc3N1bWVkIGZvciBtaXNzaW5nIGV4cHJlc3Npb24iCittc2dzdHIgIm5vbCBkaWFzdW1zaWthbiBzZXRlbGFoIGhpbGFuZyBla3NwcmVzaSIKKworIzogcmVhZC5jOjQwNDggcmVhZC5jOjQ5MTAgd3JpdGUuYzoyNjAKK21zZ2lkICJyZWdpc3RlciB2YWx1ZSB1c2VkIGFzIGV4cHJlc3Npb24iCittc2dzdHIgIm5pbGFpIHJlZ2lzdGVyIHlhbmcgZGlndW5ha2FuIHNlYmFnYWkgZWtzcHJlc2kiCisKKyM6IHJlYWQuYzo0MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInZhbHVlIDB4JWxseCB0cnVuY2F0ZWQgdG8gMHglbGx4IgorbXNnc3RyICJuaWxhaSAweCVsbHggZGlwb3Rvbmcga2UgMHglbGx4IgorCisjOiByZWFkLmM6NDEzMQorbXNnaWQgInZhbHVlIDB4JUk2NHggdHJ1bmNhdGVkIHRvIDB4JUk2NHgiCittc2dzdHIgIm5pbGFpIDB4JUk2NHggZGlwb3Rvbmcga2UgMHglSTY0eCIKKworIzogcmVhZC5jOjQxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidmFsdWUgMHglbHggdHJ1bmNhdGVkIHRvIDB4JWx4IgorbXNnc3RyICJuaWxhaSAweCVseCBkaXBvdG9uZyBrZSAweCVseCIKKworIzogcmVhZC5jOjQxNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmlnbnVtIHRydW5jYXRlZCB0byAlZCBieXRlcyIKK21zZ3N0ciAiYmlnbnVtIGRpcG90b25nIGtlICVkIGJ5dGVzIgorCisjOiByZWFkLmM6NDQ2MSByZWFkLmM6NDY1MgorbXNnaWQgInVucmVzb2x2YWJsZSBvciBub25wb3NpdGl2ZSByZXBlYXQgY291bnQ7IHVzaW5nIDEiCittc2dzdHIgInRpZGFrIHRlcnNlbGVzYWlrYW4gYXRhdSB0aWRhayBwb3NpdGlmIGp1bWxhaCBwZW5ndWxhbmdhbjsgbWVuZ2d1bmFrYW4gMSIKKworIzogcmVhZC5jOjQ1MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbG9hdGluZyB0eXBlIHR5cGUgJyVjJyIKK21zZ3N0ciAidGlwZSAnJWMnIHRpcGUgcGVjYWhhbiB0aWRhayBkaWtldGFodWkiCisKKyM6IHJlYWQuYzo0NTMyCittc2dpZCAiZmxvYXRpbmcgcG9pbnQgY29uc3RhbnQgdG9vIGxhcmdlIgorbXNnc3RyICJrb25zdGFudGEgcGVjYWhhbiB0ZXJsYWx1IGJlc2FyIgorCisjOiByZWFkLmM6NTA2MAorbXNnaWQgInN0cmluZ3MgbXVzdCBiZSBwbGFjZWQgaW50byBhIHNlY3Rpb24iCittc2dzdHIgInN0cmluZyBoYXJ1cyBkaWxldGFrYW4gZGFsYW0gc2VidWFoIGRhZXJhaCIKKworIzogcmVhZC5jOjUxMDgKK21zZ2lkICJleHBlY3RlZCA8bm4+IgorbXNnc3RyICJkaWR1Z2EgPG5uPiIKKworIy4gVG8gYmUgY29tcGF0aWJsZSB3aXRoIEJTRCA0LjIgYXM6IGdpdmUgdGhlIGx1c2VyIGEgbGluZWZlZWQhIQorIzogcmVhZC5jOjUxNDEgcmVhZC5jOjUyMjcKK21zZ2lkICJ1bnRlcm1pbmF0ZWQgc3RyaW5nOyBuZXdsaW5lIGluc2VydGVkIgorbXNnc3RyICJzdHJpbmcgdGlkYWsgdGVyc2VsZXNhaWthbjsgYmFyaXMgYmFydSBkaW1hc3VrYW4iCisKKyM6IHJlYWQuYzo1MjM1Cittc2dpZCAiYmFkIGVzY2FwZWQgY2hhcmFjdGVyIGluIHN0cmluZyIKK21zZ3N0ciAia2FyYWt0ZXIgZXNjYXBlZCBkYWxhbSBzdHJpbmcgYnVydWsiCisKKyM6IHJlYWQuYzo1MjYwCittc2dpZCAiZXhwZWN0ZWQgYWRkcmVzcyBleHByZXNzaW9uIgorbXNnc3RyICJkaWR1Z2EgZWtzcHJlc2kgYWxhbWF0IgorCisjOiByZWFkLmM6NTI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJzeW1ib2wgXCIlc1wiIHVuZGVmaW5lZDsgemVybyBhc3N1bWVkIgorbXNnc3RyICJzaW1ib2wgXCIlc1wiIHRpZGFrIHRlcmRlZmluaXNpOyBub2wgZGlhc3Vtc2lrYW4iCisKKyM6IHJlYWQuYzo1MjgyCittc2dpZCAic29tZSBzeW1ib2wgdW5kZWZpbmVkOyB6ZXJvIGFzc3VtZWQiCittc2dzdHIgImJlYmVyYXBhIHNpbWJvbCB0aWRhayB0ZXJkZWZpbmlzaTsgbm9sIGRpYXN1bXNpa2FuIgorCisjOiByZWFkLmM6NTMxOAorbXNnaWQgInRoaXMgc3RyaW5nIG1heSBub3QgY29udGFpbiAnXFwwJyIKK21zZ3N0ciAic3RyaW5nIGluaSB0aWRhayBib2xlaCBiZXJpc2kgJ1xcMCciCisKKyM6IHJlYWQuYzo1MzU0Cittc2dpZCAibWlzc2luZyBzdHJpbmciCittc2dzdHIgImhpbGFuZyBzdHJpbmciCisKKyM6IHJlYWQuYzo1NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgIi5pbmNiaW4gY291bnQgemVybywgaWdub3JpbmcgYCVzJyIKK21zZ3N0ciAianVtbGFoIC5pbmNiaW4gbm9sLCBtZW5nYWJhaWthbiBgJXMnIgorCisjOiByZWFkLmM6NTQ2NworIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlIG5vdCBmb3VuZDogJXMiCittc2dzdHIgImJlcmthcyB0aWRhayBkaXRlbXVrYW46ICVzIgorCisjOiByZWFkLmM6NTQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWVrIHRvIGVuZCBvZiAuaW5jYmluIGZpbGUgZmFpbGVkIGAlcyciCittc2dzdHIgIm1lbmNhcmkgYWtoaXIgZGFyaSBiZXJrYXMgLmluY2JpbiBnYWdhbCBgJXMnIgorCisjOiByZWFkLmM6NTQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJza2lwICglbGQpIG9yIGNvdW50ICglbGQpIGludmFsaWQgZm9yIGZpbGUgc2l6ZSAoJWxkKSIKK21zZ3N0ciAibWVsZXdhdGkgKCVsZCkgYXRhdSBqdW1sYWggKCVsZCkgdGlkYWsgdmFsaWQgdW50dWsgdWt1cmFuIGJlcmthcyAoJWxkKSIKKworIzogcmVhZC5jOjU0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHNraXAgdG8gJWxkIGluIGZpbGUgYCVzJyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVsZXdhdGkga2UgJWxkIGRhbGFtIGJlcmthcyBgJXMnIgorCisjOiByZWFkLmM6NTUwOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0cnVuY2F0ZWQgZmlsZSBgJXMnLCAlbGQgb2YgJWxkIGJ5dGVzIHJlYWQiCittc2dzdHIgIm1lbW90b25nIGJlcmthcyBgJXMnLCAlbGQgZGFyaSAlbGQgYnl0ZXMgZGliYWNhIgorCisjOiByZWFkLmM6NTY2NgorbXNnaWQgIm1pc3NpbmcgLmZ1bmMiCittc2dzdHIgImhpbGFuZyAuZnVuYyIKKworIzogcmVhZC5jOjU2ODMKK21zZ2lkICIuZW5kZnVuYyBtaXNzaW5nIGZvciBwcmV2aW91cyAuZnVuYyIKK21zZ3N0ciAiLmVuZGZ1bmMgaGlsYW5nIHVudHVrIC5mdW5jIHNlYmVsdW1ueWEiCisKKyM6IHJlYWQuYzo1ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgY2xvc2luZyBgJWMnIgorbXNnc3RyICJoaWxhbmcgcGVudXR1cCBgJWMnIgorCisjOiByZWFkLmM6NTgxNAorbXNnaWQgInN0cmF5IGBcXCciCittc2dzdHIgInN0cmF5IGBcXCciCisKKyM6IHJlbWFwLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAnJXMnIHRvIC1mZGVidWctcHJlZml4LW1hcCIKK21zZ3N0ciAiYXJndW1lbiAnJXMnIHRpZGFrIHZhbGlkIGtlIC1mZGVidWctcHJlZml4LW1hcCIKKworIzogc3RhYnMuYzoyMTQgc3RhYnMuYzoyMjIgc3RhYnMuYzoyMzAgc3RhYnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLnN0YWIlYzogbWlzc2luZyBjb21tYSIKK21zZ3N0ciAiLnN0YWIlYzogaGlsYW5nIGtvbWEiCisKKyMuIFRoaXMgY291bGQgaGFwcGVuIGZvciBleGFtcGxlIHdpdGggYSBzb3VyY2UgZmlsZSB3aXRoIGEgaHVnZQorIy4gbnVtYmVyIG9mIGxpbmVzLiAgVGhlIG9ubHkgY3VyZSBpcyB0byB1c2UgYSBkaWZmZXJlbnQgZGVidWcKKyMuIGZvcm1hdCwgcHJvYmFibHkgRFdBUkYuCisjOiBzdGFicy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIuc3RhYiVjOiBkZXNjcmlwdGlvbiBmaWVsZCAnJXgnIHRvbyBiaWcsIHRyeSBhIGRpZmZlcmVudCBkZWJ1ZyBmb3JtYXQiCittc2dzdHIgIi5zdGFiJWM6IGRlc2tyaXBzaSBkYWVyYWggJyV4JyB0ZXJsYWx1IGJlc2FyLCBjb2JhIGZvcm1hdCBkZWJ1ZyBiZXJiZWRhIgorCisjOiBzdGFicy5jOjQyMworbXNnaWQgImNvbW1hIG1pc3NpbmcgaW4gLnhzdGFicyIKK21zZ3N0ciAia29tYSBoaWxhbmcgZGFsYW0gLnhzdGFicyIKKworIzogc3ltYm9scy5jOjI3NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGVmaW5lIHN5bWJvbCBgJXMnIGluIGFic29sdXRlIHNlY3Rpb24iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmRlZmluaXNpa2FuIHNpbWJvbCBgJXMnIGRhbGFtIGRhZXJhaCBhYnNvbHV0IgorCisjOiBzeW1ib2xzLmM6NDE3CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWJvbCBgJXMnIGlzIGFscmVhZHkgZGVmaW5lZCBhcyBcIiVzXCIvJXMlbGQiCittc2dzdHIgInNpbWJvbCBgJXMnIHRlbGFoIGRpZGVmaW5pc2lrYW4gc2ViYWdhaSBcIiVzXCIvJXMlbGQiCisKKyM6IHN5bWJvbHMuYzo0OTQgc3ltYm9scy5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnNlcnRpbmcgXCIlc1wiIGludG8gc3ltYm9sIHRhYmxlIGZhaWxlZDogJXMiCittc2dzdHIgIm1lbWFzdWthbiBcIiVzXCIga2VkYWxhbSB0YWJlbCBzaW1ib2wgZ2FnYWw6ICVzIgorCisjOiBzeW1ib2xzLmM6OTY0IHN5bWJvbHMuYzo5NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5kZWZpbmVkIHN5bWJvbCBgJXMnIGluIG9wZXJhdGlvbiIKK21zZ3N0ciAic2ltYm9sIGAlcycgdGlkYWsgdGVyZGVmaW5pc2kgZGFsYW0gb3BlcmFzaSIKKworIzogc3ltYm9scy5jOjk3NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNlY3Rpb25zIGZvciBvcGVyYXRpb24gb24gYCVzJyBhbmQgYCVzJyIKK21zZ3N0ciAiZGFlcmFoIHRpZGFrIHZhbGlkIHVudHVrIG9wZXJhc2kgZGkgYCVzJyBkYW4gYCVzJyIKKworIzogc3ltYm9scy5jOjk3OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNlY3Rpb24gZm9yIG9wZXJhdGlvbiBvbiBgJXMnIgorbXNnc3RyICJkYWVyYWggdGlkYWsgdmFsaWQgdW50dWsgb3BlcmFzaSBkaSBgJXMnIgorCisjOiBzeW1ib2xzLmM6OTg3IHN5bWJvbHMuYzo5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5kZWZpbmVkIHN5bWJvbCBgJXMnIGluIG9wZXJhdGlvbiBzZXR0aW5nIGAlcyciCittc2dzdHIgInNpbWJvbCBgJXMnIHRpZGFrIHRlcmRlZmluaXNpIGRhbGFtIGtvbmZpZ3VyYXNpIG9wZXJhc2kgYCVzJyIKKworIzogc3ltYm9scy5jOjk5NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNlY3Rpb25zIGZvciBvcGVyYXRpb24gb24gYCVzJyBhbmQgYCVzJyBzZXR0aW5nIGAlcyciCittc2dzdHIgImRhZXJhaCB0aWRhayB2YWxpZCB1bnR1ayBvcGVyYXNpIGRpIGAlcycgZGFuIGAlcycga29uZmlndXJhc2kgYCVzJyIKKworIzogc3ltYm9scy5jOjk5OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNlY3Rpb24gZm9yIG9wZXJhdGlvbiBvbiBgJXMnIHNldHRpbmcgYCVzJyIKK21zZ3N0ciAiZGFlcmFoIHRpZGFrIHZhbGlkIHVudHVrIG9wZXJhc2kgZGkgYCVzJyBrb25maWd1cmFzaSBgJXMnIgorCisjOiBzeW1ib2xzLmM6MTA0OQorIywgYy1mb3JtYXQKK21zZ2lkICJzeW1ib2wgZGVmaW5pdGlvbiBsb29wIGVuY291bnRlcmVkIGF0IGAlcyciCittc2dzdHIgImRlZmluaXNpIHNpbWJvbCBsb29wIGRpdGVtdWkgZGkgYCVzJyIKKworIzogc3ltYm9scy5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNvbnZlcnQgZXhwcmVzc2lvbiBzeW1ib2wgJXMgdG8gY29tcGxleCByZWxvY2F0aW9uIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5ndWJhaCBla3NwcmVzaSBzaW1ib2wgJXMgcmVsb2thc2kgdGVybGFsdSBrb21wbGVrcyIKKworIzogc3ltYm9scy5jOjEzNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGl2aXNpb24gYnkgemVybyB3aGVuIHNldHRpbmcgYCVzJyIKK21zZ3N0ciAicGVtYmFnaWFuIGRlbmdhbiBub2wga2V0aWthIG1lbnNldCBgJXMnIgorCisjOiBzeW1ib2xzLmM6MTQzOSB3cml0ZS5jOjE4MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVzb2x2ZSB2YWx1ZSBmb3Igc3ltYm9sIGAlcyciCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbnllbGVzYWlrYW4gbmlsYWkgdW50dWsgc2ltYm9sIGAlcyciCisKKyM6IHN5bWJvbHMuYzoxODg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJWRcIiAoaW5zdGFuY2UgbnVtYmVyICVkIG9mIGEgJXMgbGFiZWwpIgorbXNnc3RyICJcIiVkXCIgKG5vbW9yIGluc3RhbmNlICVkIGRhcmkgc2VidWFoIGxhYmVsICVzKSIKKworIzogc3ltYm9scy5jOjE5MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0ZW1wdCB0byBnZXQgdmFsdWUgb2YgdW5yZXNvbHZlZCBzeW1ib2wgYCVzJyIKK21zZ3N0ciAibWVuY29iYSB1bnR1ayBtZW1wZXJvbGVoIG5pbGFpIGRhcmkgc2ltYm9sIGAlcycgeWFuZyB0aWRhayB0ZXJzZWxlc2Fpa2FuIgorCisjOiBzeW1ib2xzLmM6MjE5MQorbXNnaWQgInNlY3Rpb24gc3ltYm9scyBhcmUgYWxyZWFkeSBnbG9iYWwiCittc2dzdHIgImRhZXJhaCBzaW1ib2wgdGVsYWggbWVuamFkaSBnbG9iYWwiCisKKyM6IHN5bWJvbHMuYzoyMzAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFjY2Vzc2luZyBmdW5jdGlvbiBgJXMnIGFzIHRocmVhZC1sb2NhbCBvYmplY3QiCittc2dzdHIgIk1lbmdha3NlcyBmdW5nc2kgYCVzJyBzZWJhZ2FpIHRocmVhZC1sb2NhbCBvYmplayIKKworIzogc3ltYm9scy5jOjIzMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWNjZXNzaW5nIGAlcycgYXMgdGhyZWFkLWxvY2FsIG9iamVjdCIKK21zZ3N0ciAiTWVuZ2Frc2VzIGAlcycgc2ViYWdhaSB0aHJlYWQtbG9rYWwgb2JqZWsiCisKKyM6IHdyaXRlLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkIGZ4X3NpemUgdG9vIHNtYWxsIHRvIGhvbGQgJWQiCittc2dzdHIgImRhZXJhaCBmeF9zaXplIHRlcmxhbHUga2VjaWwgdW50dWsgZGlwZWdhbmcgJWQiCisKKyM6IHdyaXRlLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dGVtcHQgdG8gLm9yZy8uc3BhY2UgYmFja3dhcmRzPyAoJWxkKSIKK21zZ3N0ciAibWVuY29iYSB1bnR1ayAub3JnLy5zcGFjZSBiYWNrd2FyZD8gKCVsZCkiCisKKyM6IHdyaXRlLmM6NjY0Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgZXhwcmVzc2lvbiIKK21zZ3N0ciAiZWtzcHJlc2kgb2ZzZXQgdGlkYWsgdmFsaWQiCisKKyM6IHdyaXRlLmM6Njg2Cittc2dpZCAiaW52YWxpZCByZWxvYyBleHByZXNzaW9uIgorbXNnc3RyICJla3NwcmVzaSByZWxva2FzaSB0aWRhayB2YWxpZCIKKworIzogd3JpdGUuYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgInZhbHVlIG9mICVzIHRvbyBsYXJnZSBmb3IgZmllbGQgb2YgJWQgYnl0ZXMgYXQgJXMiCittc2dzdHIgIm5pbGFpIGRhcmkgJXMgdGVybGFsdSBiZXNhciB1bnR1ayBkYWVyYWggZGFyaSAlZCBieXRlcyBkaSAlcyIKKworIzogd3JpdGUuYzoxMDUxCisjLCBjLWZvcm1hdAorbXNnaWQgInNpZ25lZCAud29yZCBvdmVyZmxvdzsgc3dpdGNoIG1heSBiZSB0b28gbGFyZ2U7ICVsZCBhdCAweCVseCIKK21zZ3N0ciAic2lnbmVkIC53b3JkIG92ZXJmbG93OyBzd2l0Y2ggbXVuZ2tpbiB0ZXJsYWx1IGJlc2FyOyAlbGQgZGkgMHglbHgiCisKKyM6IHdyaXRlLmM6MTA5NQorbXNnaWQgInJlZGVmaW5lZCBzeW1ib2wgY2Fubm90IGJlIHVzZWQgb24gcmVsb2MiCittc2dzdHIgInJlZGVmaW5pc2kgc2ltYm9sIHRpZGFrIGRhcGF0IGRpZ3VuYWthbiBkYWxhbSByZWxva2FzaSIKKworIzogd3JpdGUuYzoxMTA4Cittc2dpZCAicmVsb2NhdGlvbiBvdXQgb2YgcmFuZ2UiCittc2dzdHIgInJlbG9rYXNpIGRpbHVhciBkYXJpIGphbmdrYXVhbiIKKworIzogd3JpdGUuYzoxMTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiV1OiBiYWQgcmV0dXJuIGZyb20gYmZkX2luc3RhbGxfcmVsb2NhdGlvbjogJXgiCittc2dzdHIgIiVzOiV1OiBidXJ1ayBrZW1iYWxpIGRhcmkgYmZkX2luc3RhbGxfcmVsb2NhdGlvbjogJXgiCisKKyM6IHdyaXRlLmM6MTE3NQorbXNnaWQgImludGVybmFsIGVycm9yOiBmaXh1cCBub3QgY29udGFpbmVkIHdpdGhpbiBmcmFnIgorbXNnc3RyICJpbnRlcm5hbCBlcnJvcjogZml4dXAgdGlkYWsgYmVyaXNpIGRhbGFtIGZyYWciCisKKyM6IHdyaXRlLmM6MTIyOAorbXNnaWQgInJlbG9jIG5vdCB3aXRoaW4gKGZpeGVkIHBhcnQgb2YpIHNlY3Rpb24iCittc2dzdHIgInJlbG9rYXNpIHRpZGFrIGRhbGFtIChiYWdpYW4gdGV0YXAgZGFyaSkgZGFlcmFoIgorCisjOiB3cml0ZS5jOjEyOTUgd3JpdGUuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHdyaXRlICVzOiAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVudWxpcyAlczogJXMiCisKKyM6IHdyaXRlLmM6MTM0NgorbXNnaWQgImNhbm5vdCB3cml0ZSB0byBvdXRwdXQgZmlsZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVudWxpcyBrZSBiZXJrYXMga2VsdWFyYW4iCisKKyM6IHdyaXRlLmM6MTUwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciVzLCAlZCB3YXJuaW5nJXMsIGdlbmVyYXRpbmcgYmFkIG9iamVjdCBmaWxlIgorbXNnc3RyICIlZCBlcnJvciVzLCAlZCBwZXJpbmdhdGFuJXMsIG1lbmdoYXNpbGthbiBiZXJrYXMgb2JqZWsgYnVydWsiCisKKyM6IHdyaXRlLmM6MTUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciVzLCAlZCB3YXJuaW5nJXMsIG5vIG9iamVjdCBmaWxlIGdlbmVyYXRlZCIKK21zZ3N0ciAiJWQgZXJyb3IlcywgJWQgcGVyaW5nYXRhbiVzLCB0aWRhayBhZGEgYmVya2FzIG9iamVrIHlhbmcgZGloYXNpbGthbiIKKworIzogd3JpdGUuYzoxNzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnbG9iYWwgc3ltYm9scyBub3Qgc3VwcG9ydGVkIGluIGNvbW1vbiBzZWN0aW9ucyIKK21zZ3N0ciAiJXM6IHNpbWJvbCBnbG9iYWwgdGlkYWsgZGlkdWt1bmcgZGFsYW0gZGFlcmFoIHVtdW0iCisKKyM6IHdyaXRlLmM6MTc1NgorIywgYy1mb3JtYXQKK21zZ2lkICJsb2NhbCBsYWJlbCBgJXMnIGlzIG5vdCBkZWZpbmVkIgorbXNnc3RyICJsb2thbCBsYWJlbCBgJXMnIHRpZGFrIHRlcmRlZmluaXNpIgorCisjOiB3cml0ZS5jOjE3NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9jYWwgc3ltYm9sIGAlcycgY2FuJ3QgYmUgZXF1YXRlZCB0byBjb21tb24gc3ltYm9sIGAlcyciCittc2dzdHIgIkxva2FsIHNpbWJvbCBgJXMnIHRpZGFrIGRhcGF0IGRpc2FtYWthbiBkZW5nYW4gc2ltYm9sIHVtdW0gYCVzJyIKKworIzogd3JpdGUuYzoxNzgzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IG1ha2UgZ2xvYmFsIHJlZ2lzdGVyIHN5bWJvbCBgJXMnIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWF0IHNpbWJvbCByZWdpc3RlciBnbG9iYWwgYCVzJyIKKworIzogd3JpdGUuYzoyMDUyCisjLCBjLWZvcm1hdAorbXNnaWQgImFsaWdubWVudCBwYWRkaW5nICglbHUgYnl0ZXMpIG5vdCBhIG11bHRpcGxlIG9mICVsZCIKK21zZ3N0ciAiYWxpZ25tZW4gcGFkZGluZyAoJWx1IGJ5dGVzKSBidWthbiBrZWxpcGF0YW4gZGFyaSAlbGQiCisKKyM6IHdyaXRlLmM6MjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIud29yZCAlcy0lcyslcyBkaWRuJ3QgZml0IgorbXNnc3RyICIud29yZCAlcy0lcyslcyB0aWRhayBtYXN1ayIKKworIzogd3JpdGUuYzoyMjk5Cittc2dpZCAicGFkZGluZyBhZGRlZCIKK21zZ3N0ciAicGFkZGluZyBkaXRhbWJhaGthbiIKKworIzogd3JpdGUuYzoyMzQ5Cittc2dpZCAiYXR0ZW1wdCB0byBtb3ZlIC5vcmcgYmFja3dhcmRzIgorbXNnc3RyICJtZW5jb2JhIG1lbWluZGFoa2FuIC5vcmcga2ViZWxha2FuZyIKKworIzogd3JpdGUuYzoyMzczCittc2dpZCAiLnNwYWNlIHNwZWNpZmllcyBub24tYWJzb2x1dGUgdmFsdWUiCittc2dzdHIgIi5zcGFjZSBtZW5zcGVzaWZpa2FzaWthbiBuaWxhaSB0aWRhay1hYnNvbHV0IgorCisjOiB3cml0ZS5jOjIzODgKK21zZ2lkICIuc3BhY2Ugb3IgLmZpbGwgd2l0aCBuZWdhdGl2ZSB2YWx1ZSwgaWdub3JlZCIKK21zZ3N0ciAiLnNwYWNlIGF0YXUgLmZpbGwgZGVuZ2FuIG5pbGFpIG5lZ2F0aWYsIGRpYWJhaWthbiIKKworIzogd3JpdGUuYzoyNDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIkluZmluaXRlIGxvb3AgZW5jb3VudGVyZWQgd2hpbHN0IGF0dGVtcHRpbmcgdG8gY29tcHV0ZSB0aGUgYWRkcmVzc2VzIG9mIHN5bWJvbHMgaW4gc2VjdGlvbiAlcyIKK21zZ3N0ciAiTG9vcCB0aWRhayB0ZXJoaW5nZ2EgZGl0ZW11aSBrZXRpa2EgbWVuY29iYSB1bnR1ayBtZW5naGl0dW5nIGFsYW1hdCBkYXJpIHNpbWJvbCBkYWxhbSBkYWVyYWggJXMiCmRpZmYgLS1naXQgYS9nYXMvcmVhZC5jIGIvZ2FzL3JlYWQuYwppbmRleCBlYzY5YzRlLi4xMjFjOTdhIDEwMDY0NAotLS0gYS9nYXMvcmVhZC5jCisrKyBiL2dhcy9yZWFkLmMKQEAgLTIyMCw5ICsyMjAsOSBAQAogc3RhdGljIGludCBoZXhfZmxvYXQgKGludCwgY2hhciAqKTsKIHN0YXRpYyBzZWdUIGdldF9rbm93bl9zZWdtZW50ZWRfZXhwcmVzc2lvbiAoZXhwcmVzc2lvblMgKiBleHBQKTsKIHN0YXRpYyB2b2lkIHBvYmVnaW4gKHZvaWQpOwotc3RhdGljIGludCBnZXRfbGluZV9zYiAoc2IgKik7CitzdGF0aWMgaW50IGdldF9ub25fbWFjcm9fbGluZV9zYiAoc2IgKik7CiBzdGF0aWMgdm9pZCBnZW5lcmF0ZV9maWxlX2RlYnVnICh2b2lkKTsKLXN0YXRpYyBjaGFyICpfZmluZF9lbmRfb2ZfbGluZSAoY2hhciAqLCBpbnQsIGludCk7CitzdGF0aWMgY2hhciAqX2ZpbmRfZW5kX29mX2xpbmUgKGNoYXIgKiwgaW50LCBpbnQsIGludCk7CiAMCiB2b2lkCiByZWFkX2JlZ2luICh2b2lkKQpAQCAtNTMwLDcgKzUzMCw3IEBACiAjZGVmaW5lIEhBTkRMRV9DT05ESVRJT05BTF9BU1NFTUJMWSgpCQkJCQlcCiAgIGlmIChpZ25vcmVfaW5wdXQgKCkpCQkJCQkJCVwKICAgICB7CQkJCQkJCQkJXAotICAgICAgY2hhciAqZW9sID0gZmluZF9lbmRfb2ZfbGluZSAoaW5wdXRfbGluZV9wb2ludGVyLCBmbGFnX202OGtfbXJpKTsJXAorICAgICAgY2hhciAqZW9sID0gZmluZF9lbmRfb2ZfbGluZSAoaW5wdXRfbGluZV9wb2ludGVyLCBmbGFnX202OGtfbXJpKTsgXAogICAgICAgaW5wdXRfbGluZV9wb2ludGVyID0gKGlucHV0X2xpbmVfcG9pbnRlciA8PSBidWZmZXJfbGltaXQJCVwKIAkJCSAgICAmJiBlb2wgPj0gYnVmZmVyX2xpbWl0KQkJCVwKIAkJCSAgID8gYnVmZmVyX2xpbWl0CQkJCVwKQEAgLTkyMyw3ICs5MjMsNyBAQAogCQkgICAgICAvKiBXQVJOSU5HOiBjIGhhcyBjaGFyLCB3aGljaCBtYXkgYmUgZW5kLW9mLWxpbmUuICAqLwogCQkgICAgICAvKiBBbHNvOiBpbnB1dF9saW5lX3BvaW50ZXItPmBcMGAgd2hlcmUgYyB3YXMuICAqLwogCQkgICAgICAqaW5wdXRfbGluZV9wb2ludGVyID0gYzsKLQkJICAgICAgaW5wdXRfbGluZV9wb2ludGVyID0gX2ZpbmRfZW5kX29mX2xpbmUgKGlucHV0X2xpbmVfcG9pbnRlciwgZmxhZ19tNjhrX21yaSwgMSk7CisJCSAgICAgIGlucHV0X2xpbmVfcG9pbnRlciA9IF9maW5kX2VuZF9vZl9saW5lIChpbnB1dF9saW5lX3BvaW50ZXIsIGZsYWdfbTY4a19tcmksIDEsIDApOwogCQkgICAgICBjID0gKmlucHV0X2xpbmVfcG9pbnRlcjsKIAkJICAgICAgKmlucHV0X2xpbmVfcG9pbnRlciA9ICdcMCc7CiAKQEAgLTIxNzgsNyArMjE3OCw3IEBACiAKICAgc2JfbmV3ICgmb3V0KTsKIAotICBlcnIgPSBleHBhbmRfaXJwIChpcnBjLCAwLCAmcywgJm91dCwgZ2V0X2xpbmVfc2IpOworICBlcnIgPSBleHBhbmRfaXJwIChpcnBjLCAwLCAmcywgJm91dCwgZ2V0X25vbl9tYWNyb19saW5lX3NiKTsKICAgaWYgKGVyciAhPSBOVUxMKQogICAgIGFzX2JhZF93aGVyZSAoZmlsZSwgbGluZSwgIiVzIiwgZXJyKTsKIApAQCAtMjQ2OCw3ICsyNDY4LDcgQEAKICAgIG9yIHplcm8gaWYgdGhlcmUgYXJlIG5vIG1vcmUgbGluZXMuICAqLwogCiBzdGF0aWMgaW50Ci1nZXRfbGluZV9zYiAoc2IgKmxpbmUpCitnZXRfbGluZV9zYiAoc2IgKmxpbmUsIGludCBpbl9tYWNybykKIHsKICAgY2hhciAqZW9sOwogCkBAIC0yNDgyLDcgKzI0ODIsNyBAQAogCXJldHVybiAwOwogICAgIH0KIAotICBlb2wgPSBmaW5kX2VuZF9vZl9saW5lIChpbnB1dF9saW5lX3BvaW50ZXIsIGZsYWdfbTY4a19tcmkpOworICBlb2wgPSBfZmluZF9lbmRfb2ZfbGluZSAoaW5wdXRfbGluZV9wb2ludGVyLCBmbGFnX202OGtfbXJpLCAwLCBpbl9tYWNybyk7CiAgIHNiX2FkZF9idWZmZXIgKGxpbmUsIGlucHV0X2xpbmVfcG9pbnRlciwgZW9sIC0gaW5wdXRfbGluZV9wb2ludGVyKTsKICAgaW5wdXRfbGluZV9wb2ludGVyID0gZW9sOwogCkBAIC0yNDk0LDYgKzI0OTQsMTggQEAKICAgcmV0dXJuICppbnB1dF9saW5lX3BvaW50ZXIrKzsKIH0KIAorc3RhdGljIGludAorZ2V0X25vbl9tYWNyb19saW5lX3NiIChzYiAqbGluZSkKK3sKKyAgcmV0dXJuIGdldF9saW5lX3NiIChsaW5lLCAwKTsKK30KKworc3RhdGljIGludAorZ2V0X21hY3JvX2xpbmVfc2IgKHNiICpsaW5lKQoreworICByZXR1cm4gZ2V0X2xpbmVfc2IgKGxpbmUsIDEpOworfQorCiAvKiBEZWZpbmUgYSBtYWNyby4gIFRoaXMgaXMgYW4gaW50ZXJmYWNlIHRvIG1hY3JvLmMuICAqLwogCiB2b2lkCkBAIC0yNTE4LDExICsyNTMwLDExIEBACiAKICAgICAgIHNiX25ldyAoJmxhYmVsKTsKICAgICAgIHNiX2FkZF9zdHJpbmcgKCZsYWJlbCwgU19HRVRfTkFNRSAobGluZV9sYWJlbCkpOwotICAgICAgZXJyID0gZGVmaW5lX21hY3JvICgwLCAmcywgJmxhYmVsLCBnZXRfbGluZV9zYiwgZmlsZSwgbGluZSwgJm5hbWUpOworICAgICAgZXJyID0gZGVmaW5lX21hY3JvICgwLCAmcywgJmxhYmVsLCBnZXRfbWFjcm9fbGluZV9zYiwgZmlsZSwgbGluZSwgJm5hbWUpOwogICAgICAgc2Jfa2lsbCAoJmxhYmVsKTsKICAgICB9CiAgIGVsc2UKLSAgICBlcnIgPSBkZWZpbmVfbWFjcm8gKDAsICZzLCBOVUxMLCBnZXRfbGluZV9zYiwgZmlsZSwgbGluZSwgJm5hbWUpOworICAgIGVyciA9IGRlZmluZV9tYWNybyAoMCwgJnMsIE5VTEwsIGdldF9tYWNyb19saW5lX3NiLCBmaWxlLCBsaW5lLCAmbmFtZSk7CiAgIGlmIChlcnIgIT0gTlVMTCkKICAgICBhc19iYWRfd2hlcmUgKGZpbGUsIGxpbmUsIGVyciwgbmFtZSk7CiAgIGVsc2UKQEAgLTI5MjgsNyArMjk0MCw3IEBACiAgIHNiIG1hbnk7CiAKICAgc2JfbmV3ICgmb25lKTsKLSAgaWYgKCFidWZmZXJfYW5kX25lc3QgKHN0YXJ0LCBlbmQsICZvbmUsIGdldF9saW5lX3NiKSkKKyAgaWYgKCFidWZmZXJfYW5kX25lc3QgKHN0YXJ0LCBlbmQsICZvbmUsIGdldF9ub25fbWFjcm9fbGluZV9zYikpCiAgICAgewogICAgICAgYXNfYmFkIChfKCIlcyB3aXRob3V0ICVzIiksIHN0YXJ0LCBlbmQpOwogICAgICAgcmV0dXJuOwpAQCAtMzYwOSwxMiArMzYyMSwxNCBAQAogICAgICAgYnJlYWs7CiAKICAgICBjYXNlIE9fcmVnaXN0ZXI6CisjaWZuZGVmIFRDX0dMT0JBTF9SRUdJU1RFUl9TWU1CT0xfT0sKICAgICAgIGlmIChTX0lTX0VYVEVSTkFMIChzeW1ib2xQKSkKIAl7CiAJICBhc19iYWQgKCJjYW4ndCBlcXVhdGUgZ2xvYmFsIHN5bWJvbCBgJXMnIHdpdGggcmVnaXN0ZXIgbmFtZSIsCiAJCSAgU19HRVRfTkFNRSAoc3ltYm9sUCkpOwogCSAgcmV0dXJuOwogCX0KKyNlbmRpZgogICAgICAgU19TRVRfU0VHTUVOVCAoc3ltYm9sUCwgcmVnX3NlY3Rpb24pOwogICAgICAgU19TRVRfVkFMVUUgKHN5bWJvbFAsICh2YWx1ZVQpIGV4cC5YX2FkZF9udW1iZXIpOwogICAgICAgc2V0X3plcm9fZnJhZyAoc3ltYm9sUCk7CkBAIC01NzgwLDcgKzU3OTQsOCBAQAogI2VuZGlmCiAKIHN0YXRpYyBjaGFyICoKLV9maW5kX2VuZF9vZl9saW5lIChjaGFyICpzLCBpbnQgbXJpX3N0cmluZywgaW50IGluc24gQVRUUklCVVRFX1VOVVNFRCkKK19maW5kX2VuZF9vZl9saW5lIChjaGFyICpzLCBpbnQgbXJpX3N0cmluZywgaW50IGluc24gQVRUUklCVVRFX1VOVVNFRCwKKwkJICAgaW50IGluX21hY3JvKQogewogICBjaGFyIGlucXVvdGUgPSAnXDAnOwogICBpbnQgaW5lc2NhcGUgPSAwOwpAQCAtNTc5MSw2ICs1ODA2LDEzIEBACiAjaWZkZWYgVENfRU9MX0lOX0lOU04KIAkgfHwgKGluc24gJiYgVENfRU9MX0lOX0lOU04gKHMpKQogI2VuZGlmCisJIC8qIFBSIDY5MjY6ICBXaGVuIHdlIGFyZSBwYXJzaW5nIHRoZSBib2R5IG9mIGEgbWFjcm8gdGhlIHNlcXVlbmNlCisJICAgIFxAIGlzIHNwZWNpYWwgLSBpdCByZWZlcnMgdG8gdGhlIGludm9jYXRpb24gY291bnQuICBJZiB0aGUgQAorCSAgICBjaGFyYWN0ZXIgaGFwcGVucyB0byBiZSByZWdpc3RlcmVkIGFzIGEgbGluZS1zZXBhcmF0b3IgY2hhcmFjdGVyCisJICAgIGJ5IHRoZSB0YXJnZXQsIHRoZW4gdGhlIGlzX2VuZF9vZl9saW5lW10gdGVzdCBhYm92ZSB3aWxsIGhhdmUKKwkgICAgcmV0dXJuZWQgdHJ1ZSwgYnV0IHdlIG5lZWQgdG8gaWdub3JlIHRoZSBsaW5lIHNlcGFyYXRpbmcKKwkgICAgc2VtYW50aWNzIGluIHRoaXMgcGFydGljdWxhciBjYXNlLiAgKi8KKwkgfHwgKGluX21hY3JvICYmIGluZXNjYXBlICYmICpzID09ICdAJykKIAkpCiAgICAgewogICAgICAgaWYgKG1yaV9zdHJpbmcgJiYgKnMgPT0gJ1wnJykKQEAgLTU4MTgsNSArNTg0MCw1IEBACiBjaGFyICoKIGZpbmRfZW5kX29mX2xpbmUgKGNoYXIgKnMsIGludCBtcmlfc3RyaW5nKQogewotICByZXR1cm4gX2ZpbmRfZW5kX29mX2xpbmUgKHMsIG1yaV9zdHJpbmcsIDApOworICByZXR1cm4gX2ZpbmRfZW5kX29mX2xpbmUgKHMsIG1yaV9zdHJpbmcsIDAsIDApOwogfQpkaWZmIC0tZ2l0IGEvZ2FzL3N5bWJvbHMuYyBiL2dhcy9zeW1ib2xzLmMKaW5kZXggODRmMzk0Yy4uNjYwYjJhNCAxMDA2NDQKLS0tIGEvZ2FzL3N5bWJvbHMuYworKysgYi9nYXMvc3ltYm9scy5jCkBAIC0xMzcsNyArMTM3LDcgQEAKIAogICBwcmVzZXJ2ZWRfY29weV9vZl9uYW1lID0gc2F2ZV9zeW1ib2xfbmFtZSAobmFtZSk7CiAKLSAgc3ltYm9sUCA9IChzeW1ib2xTICopIG9ic3RhY2tfYWxsb2MgKCZub3Rlcywgc2l6ZW9mIChzeW1ib2xTKSk7CisgIHN5bWJvbFAgPSBvYnN0YWNrX2FsbG9jICgmbm90ZXMsIHNpemVvZiAoc3ltYm9sUykpOwogCiAgIC8qIHN5bWJvbCBtdXN0IGJlIGJvcm4gaW4gc29tZSBmaXhlZCBzdGF0ZS4gIFRoaXMgc2VlbXMgYXMgZ29vZCBhcyBhbnkuICAqLwogICBtZW1zZXQgKHN5bWJvbFAsIDAsIHNpemVvZiAoc3ltYm9sUykpOwpAQCAtMTk3LDcgKzE5Nyw3IEBACiAKICAgbmFtZV9jb3B5ID0gc2F2ZV9zeW1ib2xfbmFtZSAobmFtZSk7CiAKLSAgcmV0ID0gKHN0cnVjdCBsb2NhbF9zeW1ib2wgKikgb2JzdGFja19hbGxvYyAoJm5vdGVzLCBzaXplb2YgKnJldCk7CisgIHJldCA9IG9ic3RhY2tfYWxsb2MgKCZub3Rlcywgc2l6ZW9mICpyZXQpOwogICByZXQtPmxzeV9tYXJrZXIgPSBOVUxMOwogICByZXQtPmxzeV9uYW1lID0gbmFtZV9jb3B5OwogICByZXQtPmxzeV9zZWN0aW9uID0gc2VjdGlvbjsKQEAgLTIxOTEsMTIgKzIxOTEsMTQgQEAKIAkJICAgICBfKCJzZWN0aW9uIHN5bWJvbHMgYXJlIGFscmVhZHkgZ2xvYmFsIikpOwogICAgICAgcmV0dXJuOwogICAgIH0KKyNpZm5kZWYgVENfR0xPQkFMX1JFR0lTVEVSX1NZTUJPTF9PSwogICBpZiAoU19HRVRfU0VHTUVOVCAocykgPT0gcmVnX3NlY3Rpb24pCiAgICAgewogICAgICAgYXNfYmFkICgiY2FuJ3QgbWFrZSByZWdpc3RlciBzeW1ib2wgYCVzJyBnbG9iYWwiLAogCSAgICAgIFNfR0VUX05BTUUgKHMpKTsKICAgICAgIHJldHVybjsKICAgICB9CisjZW5kaWYKICAgcy0+YnN5bS0+ZmxhZ3MgfD0gQlNGX0dMT0JBTDsKICAgcy0+YnN5bS0+ZmxhZ3MgJj0gfihCU0ZfTE9DQUwgfCBCU0ZfV0VBSyk7CiAKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvQ2hhbmdlTG9nIGIvZ2FzL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKaW5kZXggY2E4NDc5OC4uZGEzYjkyOCAxMDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4MCBAQAorMjAwOC0xMC0xMiAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgorCisJKiBnYXMvaTM4Ni9pMzg2LmV4cDogUnVuIG5vcHMtNSwgbm9wcy01LWk2ODYsIHg4Ni02NC1ub3BzLTUgYW5kCisJeDg2LTY0LW5vcHMtNS1rOC4KKworCSogZ2FzL2kzODYvbm9wcy01LmQ6IE5ldy4KKwkqIGdhcy9pMzg2L25vcHMtNS5zOiBMaWtld2lzZS4KKwkqIGdhcy9pMzg2L25vcHMtNS1pNjg2LmQ6IExpa2V3aXNlLgorCSogZ2FzL2kzODYveDg2LTY0LW5vcHMtNS5kOiBMaWtld2lzZS4KKwkqIGdhcy9pMzg2L3g4Ni02NC1ub3BzLTUtazguZDogTGlrZXdpc2UuCisKKzIwMDgtMTAtMDYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KKworCSogZ2FzL2NmaS9jZmktYWxwaGEtMS5kLCBnYXMvY2ZpL2NmaS1hbHBoYS0zLmQsCisJZ2FzL2NmaS9jZmktYXJtLTEuZCwgZ2FzL2NmaS9jZmktY29tbW9uLTEuZCwKKwlnYXMvY2ZpL2NmaS1jb21tb24tMi5kLCBnYXMvY2ZpL2NmaS1jb21tb24tMy5kLAorCWdhcy9jZmkvY2ZpLWNvbW1vbi00LmQsIGdhcy9jZmkvY2ZpLWNvbW1vbi01LmQsCisJZ2FzL2NmaS9jZmktY29tbW9uLTYuZCwgZ2FzL2NmaS9jZmktaHBwYS0xLmQsCisJZ2FzL2NmaS9jZmktaTM4Ni0yLmQsIGdhcy9jZmkvY2ZpLWkzODYuZCwgZ2FzL2NmaS9jZmktbTY4ay5kLAorCWdhcy9jZmkvY2ZpLW1pcHMtMS5kLCBnYXMvY2ZpL2NmaS1wcGMtMS5kLCBnYXMvY2ZpL2NmaS1zMzkwLTEuZCwKKwlnYXMvY2ZpL2NmaS1zMzkweC0xLmQsIGdhcy9jZmkvY2ZpLXNoLTEuZCwgZ2FzL2NmaS9jZmktc3BhcmMtMS5kLAorCWdhcy9jZmkvY2ZpLXNwYXJjNjQtMS5kLCBnYXMvY2ZpL2NmaS14ODZfNjQuZDogVXBkYXRlIGZvciByZWFkZWxmCisJY2hhbmdlLgorCisyMDA4LTEwLTA0ICBIYW5zLVBldGVyIE5pbHNzb24gIDxocEBheGlzLmNvbT4KKworCSogZ2FzL2NyaXMvcmQtdGxzLTEucywgZ2FzL2NyaXMvcmQtdGxzLTEuZCwgZ2FzL2NyaXMvcmQtdGxzLTIucywKKwlnYXMvY3Jpcy9yZC10bHMtMi5kLCBnYXMvY3Jpcy90bHMtZXJyLTEucywgZ2FzL2NyaXMvdGxzLWVyci0yLnMsCisJZ2FzL2NyaXMvdGxzLWVyci0zLnM6IE5ldyB0ZXN0cy4KKworMjAwOC0wOS0yNiAgQW5kcmVhcyBLcmViYmVsICA8a3JlYmJlbDFAZGUuaWJtLmNvbT4KKworCSogZ2FzL3MzOTAvZXNhLWc1LmQ6IEFkanVzdCBhY2NvcmRpbmcgdG8gdGhlIHMzOTAtb3BjIGNoYW5nZXMuCisJKiBnYXMvczM5MC9lc2EtZzUuczogTGlrZXdpc2UuCisJKiBnYXMvczM5MC9lc2Etejk5MC5kOiBMaWtld2lzZS4KKwkqIGdhcy9zMzkwL2VzYS16OTkwLnM6IExpa2V3aXNlLgorCSogZ2FzL3MzOTAvemFyY2gtejkwMC5kOiBMaWtld2lzZS4KKwkqIGdhcy9zMzkwL3phcmNoLXo5MDAuczogTGlrZXdpc2UuCisJKiBnYXMvczM5MC96YXJjaC16OTkwLmQ6IExpa2V3aXNlLgorCSogZ2FzL3MzOTAvemFyY2gtejk5MC5zOiBMaWtld2lzZS4KKworMjAwOC0wOS0xNSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KKworCSogZ2FzL2FsbC9nYXMuZXhwOiBEb24ndCBydW4gcmVkZWYgdGVzdHMgb24gYSBidW5jaCBvZiB0YXJnZXRzLgorCSogZ2FzL2VsZi9lbGYuZXhwOiBMaWtld2lzZS4KKworMjAwOC0wOS0xNCAgQXJub2xkIE1ldHNlbGFhciAgPGFybm9sZC5tZXRzZWxhYXJAcGxhbmV0Lm5sPgorCisJKiBnYXMvejgwL2xkLWdyb3VwLnMsIGdhcy96ODAvbGQtZ3JvdXAuZDogTmV3IHRlc3QuCisJKiBnYXMvejgwL2Jsb2NrLnMsIGdhcy96ODAvYmxvY2suZDogTmV3IHRlc3QKKwkqIGdhcy96ODAvYXJpdGgucywgZ2FzL3o4MC9hcml0aC5kOiBOZXcgdGVzdAorCSogZ2FzL3o4MC9yb3RhdGUucywgZ2FzL3o4MC9yb3RhdGUuZDogTmV3IHRlc3QKKwkqIGdhcy96ODAvYml0LnMsIGdhcy96ODAvYml0LmQ6IE5ldyB0ZXN0CisJKiBnYXMvejgwL2JyYW5jaC5zLCBnYXMvejgwL2JyYW5jaC5kOiBOZXcgdGVzdAorCSogZ2FzL3o4MC9pbm91dC5zLCBnYXMvejgwL2lub3V0LmQ6IE5ldyB0ZXN0CisJKiBnYXMvejgwL21pc2MucywgZ2FzL3o4MC9taXNjLmQ6IE5ldyB0ZXN0CisJKiBnYXMvejgwL3o4MC5leHA6IFJ1biB0aGVtLgorCisyMDA4LTA5LTExICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CisKKwkqIGdhcy9pMzg2L3NzZTJhdnguczogUmVtb3ZlIHBjbG11bFhYWCB0ZXN0cy4gIEFkZCB0ZXN0cyBmb3IKKwlJbnRlbCBzeW50YXguCisJKiBnYXMvaTM4Ni94ODYtNjQtc3NlMmF2eC5zOiBMaWtld2lzZS4KKworCSogZ2FzL2kzODYvc3NlMmF2eC5kOiBVcGRhdGVkLgorCSogZ2FzL2kzODYveDg2LTY0LXNzZTJhdnguZDogTGlrZXdpc2UuIAorCisyMDA4LTA5LTA5ICBQZXRlciBCZXJnbmVyICA8YmVyZ25lckB2bmV0LmlibS5jb20+CisKKwkqIGdhcy9wcGMvY29tbW9uLnM6IE5ldyB0ZXN0LgorCSogZ2FzL3BwYy9jb21tb24uZDogTGlrZXdpc2UuCisJKiBnYXMvcHBjL3Bvd2VyNF8zMi5zOiBMaWtld2lzZS4KKwkqIGdhcy9wcGMvcG93ZXI0XzMyLmQ6IExpa2V3aXNlLgorCSogZ2FzL3BwYy9wb3dlcjYuczogQWRkIGF0dG4sIG10Y3IsIG10Y3JmLCBtZmNyLCBkY2J6LgorCSogZ2FzL3BwYy9wb3dlcjYuZDogTGlrZXdpc2UuCisJKiBnYXMvcHBjL3BwYy5leHA6IFJ1biBwb3dlcjRfMzIgdGVzdC4KKwogMjAwOC0wOS0wNiAgUmljaGFyZCBTYW5kaWZvcmQgIDxyZHNhbmRpZm9yZEBnb29nbGVtYWlsLmNvbT4KIAogCSogZ2FzL21pcHMvY2ZpLW42NC0xLnMsIGdhcy9taXBzL2NmaS1uNjQtMS5kOiBOZXcgdGVzdC4KZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2FsbC9nYXMuZXhwIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvYWxsL2dhcy5leHAKaW5kZXggZjZlMDFmMC4uODc5MDhmYiAxMDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvYWxsL2dhcy5leHAKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvYWxsL2dhcy5leHAKQEAgLTgxLDMwICs4MSwzOSBAQAogfQogCiAjIC5zZXQgd29ya3MgZGlmZmVyZW50bHkgb24gc29tZSB0YXJnZXRzLgorIyBtb3N0IG9mIHRoZSB0ZXN0cyB3b24ndCB3b3JrIG9uIHRhcmdldHMgdGhhdCBzZXQgbGlua3JlbGF4LgorIyA0IG9jdGV0IGJ5dGVzIGNvbmZ1c2UgYWRkcmVzcyBtYXRjaGluZyBvbiB0aSB0YXJnZXRzLgorIyBwZHAxMSBnZXRzIHVuZXhwZWN0ZWQgcmVsb2MgdHlwZXMuCiBjYXNlICR0YXJnZXRfdHJpcGxldCBpbiB7CiAgICAgeyBhbHBoYSotKi0qIH0geyB9CisgICAgeyBjcjE2Ki0qLSogfSB7IH0KKyAgICB7IGNyeCotKi0qIH0geyB9CisgICAgeyBoODMwMC0qLSogfSB7IH0KICAgICB7IG1pcHMqLSotKiB9IHsgfQotICAgIHsgKmM1NHgqLSotKiB9IHsgfQorICAgIHsgbW4xMDIwMC0qLSogfSB7IH0KKyAgICB7IG1uMTAzMDAtKi0qIH0geyB9CisgICAgeyBwZHAxMS0qLSogfSB7IH0KKyAgICB7IHRpYzMwKi0qLSogfSB7IH0KKyAgICB7IHRpYzR4Ki0qLSogfSB7IH0KKyAgICB7IHRpYzU0eCotKi0qIH0geyB9CisgICAgeyB4dGVuc2EqLSotKiB9IHsgfQogICAgIHsgejgwLSotKiB9IHsgfQogICAgIGRlZmF1bHQgewotCXNldHVwX3hmYWlsICIqYzMwKi0qLSoiICIqYzR4Ki0qLSoiICJwZHAxMS0qLSoiICJ4dGVuc2EqLSotKiIKIAlydW5fZHVtcF90ZXN0IHJlZGVmCiAJIyBUaGUgbmV4dCB0d28gdGVzdHMgY2FuIGZhaWwgaWYgdGhlIHRhcmdldCBkb2VzIG5vdCBjb252ZXJ0IGZpeHVwcwogCSMgYWdhaW5zdCBvcmRpbmFyeSBzeW1ib2xzIGludG8gcmVsb2NhdGlvbnMgYWdhaW5zdCBzZWN0aW9uIHN5bWJvbHMuCiAJIyBUaGlzIGlzIHVzdWFsbHkgcmV2ZWFsZWQgYnkgdGhlIGVycm9yIG1lc3NhZ2U6CiAJIyAgc3ltYm9sIGBzeW0nIHJlcXVpcmVkIGJ1dCBub3QgcHJlc2VudAotCXNldHVwX3hmYWlsICIqYzMwKi0qLSoiICIqYzR4Ki0qLSoiICIqYXJtKi0qLSphb3V0KiIgIiphcm0qLSotKmNvZmYiIFwKLQkgICAgIiphcm0qLSotcGUiICJjcngqLSotKiIgImg4MzAwKi0qLSoiICJtNjhoYyotKi0qIiAibWF4cS0qLSoiIFwKLQkgICAgIm1uMTAzMDAtKi0qIiAicGRwMTEtKi0qIiAidmF4Ki0qLSoiICJ6OGstKi0qIiAiY3IxNi0qLSoiCisJc2V0dXBfeGZhaWwgIiphcm0qLSotKmFvdXQqIiAiKmFybSotKi0qY29mZiIgXAorCSAgICAiKmFybSotKi1wZSIgIm02OGhjKi0qLSoiICJtYXhxLSotKiIgXAorCSAgICAidmF4Ki0qLSoiICJ6OGstKi0qIgogCXJ1bl9kdW1wX3Rlc3QgcmVkZWYyCiAJc2V0dXBfeGZhaWwgIiotKi1haXgqIiAiKi0qLWNvZmYiICIqLSotY3lnd2luIiAiKi0qLW1pbmd3KiIgIiotKi1wZSoiIFwKLQkgICAgImJmaW4tKi0qIiAiKmM0eCotKi0qIiAiY3J4Ki0qLSoiICJoODMwMCotKi0qIiAiaHBwYSotKi1ocHV4KiIgXAotCSAgICAibTY4aGMqLSotKiIgIm1heHEtKi0qIiAibW4xMDMwMC0qLSoiICJvcjMyLSotKiIgInBkcDExLSotKiIgXAotCSAgICAidmF4Ki0qLSoiICJ6OGstKi0qIiAiY3IxNi0qLSoiCisJICAgICJiZmluLSotKiIgImhwcGEqLSotaHB1eCoiIFwKKwkgICAgIm02OGhjKi0qLSoiICJtYXhxLSotKiIgIm9yMzItKi0qIiBcCisJICAgICJ2YXgqLSotKiIgIno4ay0qLSoiCiAJcnVuX2R1bXBfdGVzdCByZWRlZjMKLQlzZXR1cF94ZmFpbCAiKmM0eCotKi0qIgogCWdhc190ZXN0X2Vycm9yICJyZWRlZjQucyIgIiIgIi5zZXQgZm9yIHN5bWJvbCBhbHJlYWR5IHVzZWQgYXMgbGFiZWwiCi0Jc2V0dXBfeGZhaWwgIipjNHgqLSotKiIKIAlnYXNfdGVzdF9lcnJvciAicmVkZWY1LnMiICIiICIuc2V0IGZvciBzeW1ib2wgYWxyZWFkeSBkZWZpbmVkIHRocm91Z2ggLmNvbW0iCiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1hbHBoYS0xLmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWFscGhhLTEuZAppbmRleCA1NzAzYzljLi5jMTMyZjg5IDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWFscGhhLTEuZAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWFscGhhLTEuZApAQCAtMSw2ICsxLDYgQEAKICNyZWFkZWxmOiAtd2YKICNuYW1lOiBDRkkgb24gYWxwaGEKLVRoZSBzZWN0aW9uIC5laF9mcmFtZSBjb250YWluczoKK0NvbnRlbnRzIG9mIHRoZSAuZWhfZnJhbWUgc2VjdGlvbjoKIAogMDAwMDAwMDAgMDAwMDAwMTAgMDAwMDAwMDAgQ0lFCiAgIFZlcnNpb246ICAgICAgICAgICAgICAgMQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1hbHBoYS0zLmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWFscGhhLTMuZAppbmRleCA2MWFiNzhiLi4zYzg0Y2U3IDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWFscGhhLTMuZAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWFscGhhLTMuZApAQCAtMSw2ICsxLDYgQEAKICNyZWFkZWxmOiAtd2YKICNuYW1lOiBDRkkgb24gYWxwaGEsIDMKLVRoZSBzZWN0aW9uIC5laF9mcmFtZSBjb250YWluczoKK0NvbnRlbnRzIG9mIHRoZSAuZWhfZnJhbWUgc2VjdGlvbjoKIAogMDAwMDAwMDAgMDAwMDAwMTAgMDAwMDAwMDAgQ0lFCiAgIFZlcnNpb246ICAgICAgICAgICAgICAgMQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1hcm0tMS5kIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1hcm0tMS5kCmluZGV4IDg0NzRlMjAuLmUzYjUzNGMgMTAwNjQ0Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktYXJtLTEuZAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWFybS0xLmQKQEAgLTEsNyArMSw3IEBACiAjcmVhZGVsZjogLXdmCiAjbmFtZTogQ0ZJIG9uIEFSTQogCi1UaGUgc2VjdGlvbiAuZWhfZnJhbWUgY29udGFpbnM6CitDb250ZW50cyBvZiB0aGUgLmVoX2ZyYW1lIHNlY3Rpb246CiAKIDAwMDAwMDAwIDAwMDAwMDEwIDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktY29tbW9uLTEuZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktY29tbW9uLTEuZAppbmRleCAzMmVhZjRiLi4wMTMwM2QzIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWNvbW1vbi0xLmQKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1jb21tb24tMS5kCkBAIC0xLDYgKzEsNiBAQAogI3JlYWRlbGY6IC13ZgogI25hbWU6IENGSSBjb21tb24gMQotVGhlIHNlY3Rpb24gLmVoX2ZyYW1lIGNvbnRhaW5zOgorQ29udGVudHMgb2YgdGhlIC5laF9mcmFtZSBzZWN0aW9uOgogCiAwMDAwMDAwMCAwMDAwMDAxMCAwMDAwMDAwMCBDSUUKICAgVmVyc2lvbjogICAgICAgICAgICAgICAxCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWNvbW1vbi0yLmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWNvbW1vbi0yLmQKaW5kZXggZTkyOWY4Ny4uYzcwMmZiMyAxMDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1jb21tb24tMi5kCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktY29tbW9uLTIuZApAQCAtMSw2ICsxLDYgQEAKICNyZWFkZWxmOiAtd2YKICNuYW1lOiBDRkkgY29tbW9uIDIKLVRoZSBzZWN0aW9uIC5laF9mcmFtZSBjb250YWluczoKK0NvbnRlbnRzIG9mIHRoZSAuZWhfZnJhbWUgc2VjdGlvbjoKIAogMDAwMDAwMDAgMDAwMDAwMTAgMDAwMDAwMDAgQ0lFCiAgIFZlcnNpb246ICAgICAgICAgICAgICAgMQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1jb21tb24tMy5kIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1jb21tb24tMy5kCmluZGV4IDcwMDU1YWEuLmZiNzQ5NWIgMTAwNjQ0Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktY29tbW9uLTMuZAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWNvbW1vbi0zLmQKQEAgLTEsNiArMSw2IEBACiAjcmVhZGVsZjogLXdmCiAjbmFtZTogQ0ZJIGNvbW1vbiAzCi1UaGUgc2VjdGlvbiAuZWhfZnJhbWUgY29udGFpbnM6CitDb250ZW50cyBvZiB0aGUgLmVoX2ZyYW1lIHNlY3Rpb246CiAKIDAwMDAwMDAwIDAwMDAwMDEwIDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktY29tbW9uLTQuZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktY29tbW9uLTQuZAppbmRleCA5ZDY1MjcwLi5jNjkyMjRlIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWNvbW1vbi00LmQKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1jb21tb24tNC5kCkBAIC0xLDYgKzEsNiBAQAogI3JlYWRlbGY6IC13ZgogI25hbWU6IENGSSBjb21tb24gNAotVGhlIHNlY3Rpb24gLmVoX2ZyYW1lIGNvbnRhaW5zOgorQ29udGVudHMgb2YgdGhlIC5laF9mcmFtZSBzZWN0aW9uOgogCiAwMDAwMDAwMCAwMDAwMDAxMCAwMDAwMDAwMCBDSUUKICAgVmVyc2lvbjogICAgICAgICAgICAgICAxCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWNvbW1vbi01LmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWNvbW1vbi01LmQKaW5kZXggYmEyMWUyZi4uODFmYzIxMiAxMDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1jb21tb24tNS5kCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktY29tbW9uLTUuZApAQCAtMSw2ICsxLDYgQEAKICNyZWFkZWxmOiAtd2YKICNuYW1lOiBDRkkgY29tbW9uIDUKLVRoZSBzZWN0aW9uIC5laF9mcmFtZSBjb250YWluczoKK0NvbnRlbnRzIG9mIHRoZSAuZWhfZnJhbWUgc2VjdGlvbjoKIAogMDAwMDAwMDAgMDAwMDAwMTAgMDAwMDAwMDAgQ0lFCiAgIFZlcnNpb246ICAgICAgICAgICAgICAgMQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1jb21tb24tNi5kIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1jb21tb24tNi5kCmluZGV4IDNhZTM1NmUuLjM1ZjIyMWUgMTAwNjQ0Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktY29tbW9uLTYuZAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWNvbW1vbi02LmQKQEAgLTEsNiArMSw2IEBACiAjcmVhZGVsZjogLXdmCiAjbmFtZTogQ0ZJIGNvbW1vbiA2Ci1UaGUgc2VjdGlvbiAuZWhfZnJhbWUgY29udGFpbnM6CitDb250ZW50cyBvZiB0aGUgLmVoX2ZyYW1lIHNlY3Rpb246CiAKIDAwMDAwMDAwIDAwMDAwMDE4IDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktaHBwYS0xLmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWhwcGEtMS5kCmluZGV4IGJlOGJmMzkuLmNiYjA3NjcgMTAwNjQ0Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktaHBwYS0xLmQKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1ocHBhLTEuZApAQCAtMSw2ICsxLDYgQEAKICNyZWFkZWxmOiAtd2YKICNuYW1lOiBDRkkgb24gaHBwYQotVGhlIHNlY3Rpb24gLmVoX2ZyYW1lIGNvbnRhaW5zOgorQ29udGVudHMgb2YgdGhlIC5laF9mcmFtZSBzZWN0aW9uOgogCiAwMDAwMDAwMCAwMDAwMDAxMCAwMDAwMDAwMCBDSUUKICAgVmVyc2lvbjogICAgICAgICAgICAgICAxCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWkzODYtMi5kIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1pMzg2LTIuZAppbmRleCBhNDJlMDg4Li4zMzliNDdiIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWkzODYtMi5kCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktaTM4Ni0yLmQKQEAgLTEsNiArMSw2IEBACiAjcmVhZGVsZjogLXdmCiAjbmFtZTogQ0ZJIG9uIGkzODYsIDIKLVRoZSBzZWN0aW9uIC5laF9mcmFtZSBjb250YWluczoKK0NvbnRlbnRzIG9mIHRoZSAuZWhfZnJhbWUgc2VjdGlvbjoKIAogMDAwMDAwMDAgMDAwMDAwMTQgMDAwMDAwMDAgQ0lFCiAgIFZlcnNpb246ICAgICAgICAgICAgICAgMQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1pMzg2LmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWkzODYuZAppbmRleCBlZjQ3N2QzLi43NzkxOGJhIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWkzODYuZAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLWkzODYuZApAQCAtMSw2ICsxLDYgQEAKICNyZWFkZWxmOiAtd2YKICNuYW1lOiBDRkkgb24gaTM4NgotVGhlIHNlY3Rpb24gLmVoX2ZyYW1lIGNvbnRhaW5zOgorQ29udGVudHMgb2YgdGhlIC5laF9mcmFtZSBzZWN0aW9uOgogCiAwMDAwMDAwMCAwMDAwMDAxNCAwMDAwMDAwMCBDSUUKICAgVmVyc2lvbjogICAgICAgICAgICAgICAxCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLW02OGsuZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktbTY4ay5kCmluZGV4IGU2YjRlYzguLjRiY2VkN2EgMTAwNjQ0Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktbTY4ay5kCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktbTY4ay5kCkBAIC0xLDYgKzEsNiBAQAogI3JlYWRlbGY6IC13ZgogI25hbWU6IENGSSBvbiBtNjhrCi1UaGUgc2VjdGlvbiAuZWhfZnJhbWUgY29udGFpbnM6CitDb250ZW50cyBvZiB0aGUgLmVoX2ZyYW1lIHNlY3Rpb246CiAKIDAwMDAwMDAwIDAwMDAwMDE0IDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktbWlwcy0xLmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLW1pcHMtMS5kCmluZGV4IDIyZDc0ZjYuLmJkMzc3NTIgMTAwNjQ0Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktbWlwcy0xLmQKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1taXBzLTEuZApAQCAtMSw2ICsxLDYgQEAKICNyZWFkZWxmOiAtd2YKICNuYW1lOiBDRkkgb24gbWlwcywgMQotVGhlIHNlY3Rpb24gLmVoX2ZyYW1lIGNvbnRhaW5zOgorQ29udGVudHMgb2YgdGhlIC5laF9mcmFtZSBzZWN0aW9uOgogCiAwMDAwMDAwMCAwMDAwMDAxNCAwMDAwMDAwMCBDSUUKICAgVmVyc2lvbjogICAgICAgICAgICAgICAxCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLXBwYy0xLmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLXBwYy0xLmQKaW5kZXggY2IxZjU1ZS4uNGZhNDEzMSAxMDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1wcGMtMS5kCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktcHBjLTEuZApAQCAtMiw3ICsyLDcgQEAKICNuYW1lOiBDRkkgb24gcHBjCiAjYXM6IC1hMzIKIAotVGhlIHNlY3Rpb24gLmVoX2ZyYW1lIGNvbnRhaW5zOgorQ29udGVudHMgb2YgdGhlIC5laF9mcmFtZSBzZWN0aW9uOgogCiAwMDAwMDAwMCAwMDAwMDAxMCAwMDAwMDAwMCBDSUUKICAgVmVyc2lvbjogICAgICAgICAgICAgICAxCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLXMzOTAtMS5kIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1zMzkwLTEuZAppbmRleCA1Y2YzNjk0Li40YmExMWQ0IDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLXMzOTAtMS5kCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktczM5MC0xLmQKQEAgLTIsNyArMiw3IEBACiAjbmFtZTogQ0ZJIG9uIHMzOTAKICNhczogLW0zMSAtbWFyY2g9ZzUKIAotVGhlIHNlY3Rpb24gLmVoX2ZyYW1lIGNvbnRhaW5zOgorQ29udGVudHMgb2YgdGhlIC5laF9mcmFtZSBzZWN0aW9uOgogCiAwMDAwMDAwMCAwMDAwMDAxMCAwMDAwMDAwMCBDSUUKICAgVmVyc2lvbjogICAgICAgICAgICAgICAxCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLXMzOTB4LTEuZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktczM5MHgtMS5kCmluZGV4IGM1MTVmMzguLmFmMDc2YWIgMTAwNjQ0Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktczM5MHgtMS5kCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktczM5MHgtMS5kCkBAIC0yLDcgKzIsNyBAQAogI25hbWU6IENGSSBvbiBzMzkweAogI2FzOiAtbTY0IC1tYXJjaD16OTAwCiAKLVRoZSBzZWN0aW9uIC5laF9mcmFtZSBjb250YWluczoKK0NvbnRlbnRzIG9mIHRoZSAuZWhfZnJhbWUgc2VjdGlvbjoKIAogMDAwMDAwMDAgMDAwMDAwMTQgMDAwMDAwMDAgQ0lFCiAgIFZlcnNpb246ICAgICAgICAgICAgICAgMQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1zaC0xLmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLXNoLTEuZAppbmRleCA4ZjIyMjQzLi5iMmVlNjM0IDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLXNoLTEuZAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLXNoLTEuZApAQCAtMSw2ICsxLDYgQEAKICNyZWFkZWxmOiAtd2YKICNuYW1lOiBDRkkgb24gU0gKLVRoZSBzZWN0aW9uIC5laF9mcmFtZSBjb250YWluczoKK0NvbnRlbnRzIG9mIHRoZSAuZWhfZnJhbWUgc2VjdGlvbjoKIAogMDAwMDAwMDAgMDAwMDAwMTAgMDAwMDAwMDAgQ0lFCiAgIFZlcnNpb246ICAgICAgICAgICAgICAgMQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1zcGFyYy0xLmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLXNwYXJjLTEuZAppbmRleCBmYTI0YzgyLi5iNGNkNjhkIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLXNwYXJjLTEuZAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLXNwYXJjLTEuZApAQCAtMiw3ICsyLDcgQEAKICNuYW1lOiBDRkkgb24gU1BBUkMgMzItYml0CiAjYXM6IC0zMgogCi1UaGUgc2VjdGlvbiAuZWhfZnJhbWUgY29udGFpbnM6CitDb250ZW50cyBvZiB0aGUgLmVoX2ZyYW1lIHNlY3Rpb246CiAKIDAwMDAwMDAwIDAwMDAwMDEwIDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktc3BhcmM2NC0xLmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLXNwYXJjNjQtMS5kCmluZGV4IGQxMjZmNTAuLjI2ZGJlMTYgMTAwNjQ0Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmktc3BhcmM2NC0xLmQKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS1zcGFyYzY0LTEuZApAQCAtMiw3ICsyLDcgQEAKICNuYW1lOiBDRkkgb24gU1BBUkMgNjQtYml0CiAjYXM6IC02NAogCi1UaGUgc2VjdGlvbiAuZWhfZnJhbWUgY29udGFpbnM6CitDb250ZW50cyBvZiB0aGUgLmVoX2ZyYW1lIHNlY3Rpb246CiAKIDAwMDAwMDAwIDAwMDAwMDE0IDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmkteDg2XzY0LmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9jZmkvY2ZpLXg4Nl82NC5kCmluZGV4IDNmYzdkNTMuLjM2YjQ0MWMgMTAwNjQ0Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NmaS9jZmkteDg2XzY0LmQKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvY2ZpL2NmaS14ODZfNjQuZApAQCAtMSw2ICsxLDYgQEAKICNyZWFkZWxmOiAtd2YKICNuYW1lOiBDRkkgb24geDg2LTY0Ci1UaGUgc2VjdGlvbiAuZWhfZnJhbWUgY29udGFpbnM6CitDb250ZW50cyBvZiB0aGUgLmVoX2ZyYW1lIHNlY3Rpb246CiAKIDAwMDAwMDAwIDAwMDAwMDE0IDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NyaXMvcmQtdGxzLTEuZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NyaXMvcmQtdGxzLTEuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjJjOGY5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvY3Jpcy9yZC10bHMtMS5kCkBAIC0wLDAgKzEsMjggQEAKKyNvYmpkdW1wOiAtZHIKKyNhczogLS1lbT1jcmlzZWxmCisjbmFtZTogVExTIG5vbi1QSUMgcmVsb2NzLgorCisuKjogICAgIGZpbGUgZm9ybWF0IC4qLWNyaXMKKworRGlzYXNzZW1ibHkgb2Ygc2VjdGlvbiBcLnRleHQ6CisKKzArIDxzdGFydD46CitbIAldKzA6WyAJXSthZjFlIDAwMDAgMDAwMFsgCV0rc3ViXC5kIDAgPHN0YXJ0PixcJD9yMQorWyAJXSsyOlsgCV0rUl9DUklTXzMyX0dECVwudGV4dAorWyAJXSs2OlsgCV0rMmY5ZSAwMDAwIDAwMDBbIAldK2FkZFwuZCAwIDxzdGFydD4sXCQ/cjkKK1sgCV0rODpbIAldK1JfQ1JJU18zMl9HRAlleHRzeW0yCitbIAldK2M6WyAJXSs2ZjNkIDAwMDAgMDAwMCA2YWFhWyAJXSttb3ZlXC5kIFxbXCQ/cjNcKzAgPHN0YXJ0PlxdLFwkP3IxMAorWyAJXStlOlsgCV0rUl9DUklTXzMyX1RQUkVMCWV4dHN5bQorWyAJXSsxNDpbIAldKzVmYWUgMDAwMFsgCV0rbW92ZVwudyAweDAsXCQ/cjEwCitbIAldKzE2OlsgCV0rUl9DUklTXzE2X1RQUkVMCWV4dHN5bTE0XCsweDRkCitbIAldKzE4OlsgCV0rYWY5ZSAwMDAwIDAwMDBbIAldK3N1YlwuZCAwIDxzdGFydD4sXCQ/cjkKK1sgCV0rMWE6WyAJXStSX0NSSVNfMzJfR0QJZXh0c3ltNFwrMHgyYQorWyAJXSsxZTpbIAldK2FmM2UgMDAwMCAwMDAwWyAJXStzdWJcLmQgMCA8c3RhcnQ+LFwkP3IzCitbIAldKzIwOlsgCV0rUl9DUklTXzMyX0dECWV4dHN5bTRcKzB4ZmZmZmZmYTAKK1sgCV0rMjQ6WyAJXSs2ZjNkIDAwMDAgMDAwMCA2N2RlWyAJXSttb3ZlXC5kIFxbXCQ/cjc9XCQ/cjNcKzAgPHN0YXJ0PlxdLFwkP3IxMworWyAJXSsyNjpbIAldK1JfQ1JJU18zMl9HRAlleHRzeW0xMFwrMHhmZmZmZmViNgorWyAJXSsyYzpbIAldKzVmYmQgMDAwMCA2OTlhWyAJXSttb3ZlXC5kIFxbXCQ/cjExXCswXF0sXCQ/cjkKK1sgCV0rMmU6WyAJXStSX0NSSVNfMTZfVFBSRUwJZXh0c3ltMTRcKzB4ZmZmZmZmMDAKK1sgCV0rMzI6WyAJXSs2ZmFkIDAwMDAgMDAwMCAyODdhWyAJXSthZGRcLmQgXFtcJD9yMTBcKzAgPHN0YXJ0PlxdLFwkP3I3LFwkP3I4CitbIAldKzM0OlsgCV0rUl9DUklTXzMyX1RQUkVMCWV4dHN5bTNcKzB4MzgKK1sgCV0rXC5cLlwuCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9jcmlzL3JkLXRscy0xLnMgYi9nYXMvdGVzdHN1aXRlL2dhcy9jcmlzL3JkLXRscy0xLnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDViYmVmYQotLS0gL2Rldi9udWxsCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NyaXMvcmQtdGxzLTEucwpAQCAtMCwwICsxLDE2IEBACis7IENoZWNrIHRoYXQgbm9uLVBJQyBUTFMgb3BlcmFuZHMgZ2V0IHRoZWlyIHJpZ2h0IHJlbG9jYXRpb24gdHlwZS4KKzsgRmlyc3Qgc29tZSBleHBlY3RlZCB1c2VzLCBzaW1pbGFyIHRvIHdoYXQgR0NDIHdpbGwgZW1pdC4KKwkudGV4dAorCS5zeW50YXggbm9fcmVnaXN0ZXJfcHJlZml4CitzdGFydDoKKwlzdWIuZCAuOkdELHIxCisJYWRkLmQgZXh0c3ltMjpHRCxyOQorCW1vdmUuZCBbcjMrZXh0c3ltOlRQT0ZGXSxyMTAKKwltb3ZlLncgZXh0c3ltMTQ6VFBPRkYxNis3NyxyMTAKKworOyBPdGhlciBmb3IgR0FTIHZhbGlkIG9wZXJhbmRzIChzb21lIHdpdGggcXVlc3Rpb25hYmxlIFBJQyBzZW1hbnRpY3MpLgorCXN1Yi5kIGV4dHN5bTQ6R0QrNDIscjkKKwlzdWIuZCBleHRzeW00OkdELTk2LHIzCisJbW92ZS5kIFtyNz1yMytleHRzeW0xMDpHRC0zMzBdLHIxMworCW1vdmUuZCBbcjExK2V4dHN5bTE0OlRQT0ZGMTYtMjU2XSxyOQorCWFkZC5kIFtyMTArZXh0c3ltMzpUUE9GRis1Nl0scjcscjgKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NyaXMvcmQtdGxzLTIuZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NyaXMvcmQtdGxzLTIuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNWY4NjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvY3Jpcy9yZC10bHMtMi5kCkBAIC0wLDAgKzEsNDggQEAKKyNvYmpkdW1wOiAtZHIKKyNhczogLS1lbT1jcmlzZWxmIC0tcGljCisjbmFtZTogVExTIFBJQyByZWxvY3MuCisKKy4qOiAgICAgZmlsZSBmb3JtYXQgLiotY3JpcworCitEaXNhc3NlbWJseSBvZiBzZWN0aW9uIFwudGV4dDoKKworMCsgPHN0YXJ0PjoKK1sgCV0rMDoJNmYzZCAwMDAwIDAwMDAgNmFhYVsgCV0rbW92ZVwuZCBcW1wkP3IzXCswIDxzdGFydD5cXSxcJD9yMTAKK1sgCV0rMjogUl9DUklTXzMyX0dPVF9UUFJFTAlleHRzeW0KK1sgCV0rODoJNmY4ZSAwMDAwIDAwMDBbIAldK21vdmVcLmQgMCA8c3RhcnQ+LFwkP3I4CitbIAldK2E6IFJfQ1JJU18zMl9HT1RfVFBSRUwJZXh0c3ltNQorWyAJXStlOgk1ZjhlIDAwMDBbIAldK21vdmVcLncgMHgwLFwkP3I4CitbIAldKzEwOiBSX0NSSVNfMTZfR09UX1RQUkVMCWV4dHN5bTkKK1sgCV0rMTI6CTZmM2QgMDAwMCAwMDAwIDZhYWFbIAldK21vdmVcLmQgXFtcJD9yM1wrMCA8c3RhcnQ+XF0sXCQ/cjEwCitbIAldKzE0OiBSX0NSSVNfMzJfR09UX0dECWV4dHN5bQorWyAJXSsxYToJNWZkZCAwMDAwIDZhYWFbIAldK21vdmVcLmQgXFtcJD9yMTNcKzBcXSxcJD9yMTAKK1sgCV0rMWM6IFJfQ1JJU18xNl9HT1RfVFBSRUwJZXh0c3ltMTMKK1sgCV0rMjA6CTVmYWUgMDAwMFsgCV0rbW92ZVwudyAweDAsXCQ/cjEwCitbIAldKzIyOiBSX0NSSVNfMTZfR09UX0dECWV4dHN5bTE0CitbIAldKzI0OglhZjllIDAwMDAgMDAwMFsgCV0rc3ViXC5kIDAgPHN0YXJ0PixcJD9yOQorWyAJXSsyNjogUl9DUklTXzMyX0RUUFJFTAlleHRzeW00XCsweDE2CitbIAldKzJhOgk5ZjNlIDAwMDBbIAldK3N1YlwudyAweDAsXCQ/cjMKK1sgCV0rMmM6IFJfQ1JJU18xNl9EVFBSRUwJZXh0c3ltNFwrMHhmZmZmZmZhYQorWyAJXSsyZToJNmYzZCAwMDAwIDAwMDAgYWE0YVsgCV0rc3ViXC5kIFxbXCQ/cjNcKzAgPHN0YXJ0PlxdLFwkP3I0LFwkP3IxMAorWyAJXSszMDogUl9DUklTXzMyX0dPVF9UUFJFTAlleHRzeW0zCitbIAldKzM2OglhZjllIDAwMDAgMDAwMFsgCV0rc3ViXC5kIDAgPHN0YXJ0PixcJD9yOQorWyAJXSszODogUl9DUklTXzMyX0dPVF9HRAlleHRzeW00XCsweDJhCitbIAldKzNjOglhZjNlIDAwMDAgMDAwMFsgCV0rc3ViXC5kIDAgPHN0YXJ0PixcJD9yMworWyAJXSszZTogUl9DUklTXzMyX0dPVF9UUFJFTAlleHRzeW00XCsweGZmZmZmZmEwCitbIAldKzQyOgk2ZmFkIDAwMDAgMDAwMCAyODdhWyAJXSthZGRcLmQgXFtcJD9yMTBcKzAgPHN0YXJ0PlxdLFwkP3I3LFwkP3I4CitbIAldKzQ0OiBSX0NSSVNfMzJfR09UX1RQUkVMCWV4dHN5bTNcKzB4MzgKK1sgCV0rNGE6CTZmNWQgMDAwMCAwMDAwIDYxMWFbIAldK21vdmVcLmQgXFtcJD9yNVwrMCA8c3RhcnQ+XF0sXCQ/cjEKK1sgCV0rNGM6IFJfQ1JJU18zMl9HT1RfVFBSRUwJZXh0c3ltNlwrMHhhCitbIAldKzUyOgk2ZmFkIDAwMDAgMDAwMCAyODRhWyAJXSthZGRcLmQgXFtcJD9yMTBcKzAgPHN0YXJ0PlxdLFwkP3I0LFwkP3I4CitbIAldKzU0OiBSX0NSSVNfMzJfR09UX1RQUkVMCWV4dHN5bTNcKzB4ZmZmZmZkZDAKK1sgCV0rNWE6CTZmNWQgMDAwMCAwMDAwIDZjY2FbIAldK21vdmVcLmQgXFtcJD9yNVwrMCA8c3RhcnQ+XF0sXCQ/cjEyCitbIAldKzVjOiBSX0NSSVNfMzJfR09UX1RQUkVMCWV4dHN5bTZcKzB4ZmZmZmZmOTIKK1sgCV0rNjI6CTZmNWQgMDAwMCAwMDAwIDY5Y2VbIAldK21vdmVcLmQgXFtcJD9yOT1cJD9yNVwrMCA8c3RhcnQ+XF0sXCQ/cjEyCitbIAldKzY0OiBSX0NSSVNfMzJfR09UX1RQUkVMCWV4dHN5bTZcKzB4ZmZmZmZmMjQKK1sgCV0rNmE6CTVmY2QgMDAwMCBhODlhWyAJXStzdWJcLmQgXFtcJD9yMTJcKzBcXSxcJD9yOSxcJD9yOAorWyAJXSs2YzogUl9DUklTXzE2X0dPVF9UUFJFTAlleHRzeW0zXCsweGZmZmZmZjY0CitbIAldKzcwOgk1ZmJkIDAwMDAgNjk5YVsgCV0rbW92ZVwuZCBcW1wkP3IxMVwrMFxdLFwkP3I5CitbIAldKzcyOiBSX0NSSVNfMTZfR09UX0dECWV4dHN5bTE0XCsweGZmZmZmZjAwCitbIAldKzc2Ogk2ZmFkIDAwMDAgMDAwMCAyODdhWyAJXSthZGRcLmQgXFtcJD9yMTBcKzAgPHN0YXJ0PlxdLFwkP3I3LFwkP3I4CitbIAldKzc4OiBSX0NSSVNfMzJfR09UX0dECWV4dHN5bTNcKzB4MzgKK1sgCV0rXC5cLlwuCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9jcmlzL3JkLXRscy0yLnMgYi9nYXMvdGVzdHN1aXRlL2dhcy9jcmlzL3JkLXRscy0yLnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjFiYzU1NwotLS0gL2Rldi9udWxsCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2NyaXMvcmQtdGxzLTIucwpAQCAtMCwwICsxLDI2IEBACis7IENoZWNrIHRoYXQgVExTIFBJQyBvcGVyYW5kcyBnZXQgdGhlaXIgcmlnaHQgcmVsb2NhdGlvbiB0eXBlLgorOyBGaXJzdCBzb21lIGV4cGVjdGVkIHVzZXMsIHNpbWlsYXIgdG8gd2hhdCBHQ0Mgd2lsbCBlbWl0LgorCS50ZXh0CisJLnN5bnRheCBub19yZWdpc3Rlcl9wcmVmaXgKK3N0YXJ0OgorCW1vdmUuZCBbcjMrZXh0c3ltOlRQT0ZGR09UXSxyMTAKKwltb3ZlLmQgZXh0c3ltNTpUUE9GRkdPVCxyOAorCW1vdmUudyBleHRzeW05OlRQT0ZGR09UMTYscjgKKwltb3ZlLmQgW3IzK2V4dHN5bTpHREdPVFJFTF0scjEwCisJbW92ZS5kIFtyMTMrZXh0c3ltMTM6VFBPRkZHT1QxNl0scjEwCisJbW92ZS53IGV4dHN5bTE0OkdER09UUkVMMTYscjEwCisJc3ViLmQgZXh0c3ltNDpEVFBSRUwrMjIscjkKKwlzdWIudyBleHRzeW00OkRUUFJFTDE2LTg2LHIzCisKKzsgT3RoZXIgZm9yIEdBUyB2YWxpZCBvcGVyYW5kcyAoc29tZSB3aXRoIHF1ZXN0aW9uYWJsZSBQSUMgc2VtYW50aWNzKS4KKwlzdWIuZCBbcjMrZXh0c3ltMzpUUE9GRkdPVF0scjQscjEwCisJc3ViLmQgZXh0c3ltNDpHREdPVFJFTCs0MixyOQorCXN1Yi5kIGV4dHN5bTQ6VFBPRkZHT1QtOTYscjMKKwlhZGQuZCBbcjEwK2V4dHN5bTM6VFBPRkZHT1QrNTZdLHI3LHI4CisJbW92ZS5kIFtyNStleHRzeW02OlRQT0ZGR09UKzEwXSxyMQorCWFkZC5kIFtyMTArZXh0c3ltMzpUUE9GRkdPVC01NjBdLHI0LHI4CisJbW92ZS5kIFtyNStleHRzeW02OlRQT0ZGR09ULTExMF0scjEyCisJbW92ZS5kIFtyOT1yNStleHRzeW02OlRQT0ZGR09ULTIyMF0scjEyCisJc3ViLmQgW3IxMitleHRzeW0zOlRQT0ZGR09UMTYtMTU2XSxyOSxyOAorCW1vdmUuZCBbcjExK2V4dHN5bTE0OkdER09UUkVMMTYtMjU2XSxyOQorCWFkZC5kIFtyMTArZXh0c3ltMzpHREdPVFJFTCs1Nl0scjcscjgKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NyaXMvdGxzLWVyci0xLnMgYi9nYXMvdGVzdHN1aXRlL2dhcy9jcmlzL3Rscy1lcnItMS5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhNmU5Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9jcmlzL3Rscy1lcnItMS5zCkBAIC0wLDAgKzEsMTYgQEAKKzsgTGlrZSBwaWMtZXJyLTEucyBidXQgZm9yIG5vbi1waWMgVExTIHN1ZmZpeGVzLgorCis7IHsgZGctZG8gYXNzZW1ibGUgfQorOyB7IGRnLW9wdGlvbnMgIi0tbm8tdW5kZXJzY29yZSAtLWVtPWNyaXNlbGYiIH0KKworIC5zeW50YXggbm9fcmVnaXN0ZXJfcHJlZml4CisgLnRleHQKK3N0YXJ0OgorIG1vdmUuYiBleHRzeW06VFBPRkYxNixyNAk7IHsgZGctZXJyb3IgIlRMUyByZWxvY2F0aW9uIHNpemUgZG9lcyBub3QgbWF0Y2giICIiIHsgeGZhaWwgKi0qLSogfSB9CisgbW92ZS5iIGV4dHN5bTEyOlRQT0ZGLHI1CTsgeyBkZy1lcnJvciAiVExTIHJlbG9jYXRpb24gc2l6ZSBkb2VzIG5vdCBtYXRjaCIgfQorIG1vdmUudyBleHRzeW0yOlRQT0ZGLHI1CTsgeyBkZy1lcnJvciAiVExTIHJlbG9jYXRpb24gc2l6ZSBkb2VzIG5vdCBtYXRjaCIgfQorIG1vdmUuZCBleHRzeW0zOlRQT0ZGMTYscjYJOyB7IGRnLWVycm9yICJUTFMgcmVsb2NhdGlvbiBzaXplIGRvZXMgbm90IG1hdGNoIiB9CisgbW92ZSBleHRzeW00OlRQT0ZGMTYsc3JwCTsgeyBkZy1lcnJvciAiVExTIHJlbG9jYXRpb24gc2l6ZSBkb2VzIG5vdCBtYXRjaCIgfQorIG1vdmUuYiBleHRzeW0xNTpHRCxyNwkJOyB7IGRnLWVycm9yICJUTFMgcmVsb2NhdGlvbiBzaXplIGRvZXMgbm90IG1hdGNoIiB9CisgbW92ZS53IGV4dHN5bTY6R0QscjUJCTsgeyBkZy1lcnJvciAiVExTIHJlbG9jYXRpb24gc2l6ZSBkb2VzIG5vdCBtYXRjaCIgfQorIG1vdmUgZXh0c3ltODpUUE9GRjE2LHNycAk7IHsgZGctZXJyb3IgIlRMUyByZWxvY2F0aW9uIHNpemUgZG9lcyBub3QgbWF0Y2giIH0KZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NyaXMvdGxzLWVyci0yLnMgYi9nYXMvdGVzdHN1aXRlL2dhcy9jcmlzL3Rscy1lcnItMi5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzMjA2NTEKLS0tIC9kZXYvbnVsbAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9jcmlzL3Rscy1lcnItMi5zCkBAIC0wLDAgKzEsMTkgQEAKKzsgTGlrZSB0bHMtZXJyLTEucyBidXQgZm9yIFBJQyBUTFMgc3VmZml4ZXMuCisKKzsgeyBkZy1kbyBhc3NlbWJsZSB9Cis7IHsgZGctb3B0aW9ucyAiLS1waWMgLS1uby11bmRlcnNjb3JlIC0tZW09Y3Jpc2VsZiIgfQorCisgLnN5bnRheCBub19yZWdpc3Rlcl9wcmVmaXgKKyAudGV4dAorc3RhcnQ6CisgbW92ZS5iIGV4dHN5bTpHREdPVFJFTDE2LHI0CTsgeyBkZy1lcnJvciAiUElDIHJlbG9jYXRpb24gc2l6ZSBkb2VzIG5vdCBtYXRjaCIgIiIgeyB4ZmFpbCAqLSotKiB9IH0KKyBtb3ZlLmIgZXh0c3ltMTI6R0RHT1RSRUwscjUJOyB7IGRnLWVycm9yICJQSUMgcmVsb2NhdGlvbiBzaXplIGRvZXMgbm90IG1hdGNoIiB9CisgbW92ZS53IGV4dHN5bTI6R0RHT1RSRUwscjUJOyB7IGRnLWVycm9yICJQSUMgcmVsb2NhdGlvbiBzaXplIGRvZXMgbm90IG1hdGNoIiB9CisgbW92ZS5kIGV4dHN5bTM6R0RHT1RSRUwxNixyNgk7IHsgZGctZXJyb3IgIlBJQyByZWxvY2F0aW9uIHNpemUgZG9lcyBub3QgbWF0Y2giIH0KKyBtb3ZlIGV4dHN5bTQ6R0RHT1RSRUwxNixzcnAJOyB7IGRnLWVycm9yICJQSUMgcmVsb2NhdGlvbiBzaXplIGRvZXMgbm90IG1hdGNoIiB9CisgbW92ZS5iIGV4dHN5bTU6VFBPRkZHT1QxNixyNAk7IHsgZGctZXJyb3IgIlBJQyByZWxvY2F0aW9uIHNpemUgZG9lcyBub3QgbWF0Y2giICIiIHsgeGZhaWwgKi0qLSogfSB9CisgbW92ZS5iIGV4dHN5bTE1OlRQT0ZGR09ULHI3CTsgeyBkZy1lcnJvciAiUElDIHJlbG9jYXRpb24gc2l6ZSBkb2VzIG5vdCBtYXRjaCIgfQorIG1vdmUudyBleHRzeW02OkRUUFJFTCxyNQk7IHsgZGctZXJyb3IgIlBJQyByZWxvY2F0aW9uIHNpemUgZG9lcyBub3QgbWF0Y2giIH0KKyBtb3ZlLmQgZXh0c3ltNzpEVFBSRUwxNixyNgk7IHsgZGctZXJyb3IgIlBJQyByZWxvY2F0aW9uIHNpemUgZG9lcyBub3QgbWF0Y2giIH0KKyBtb3ZlLmQgZXh0c3ltNzpUUE9GRkdPVDE2LHI2CTsgeyBkZy1lcnJvciAiUElDIHJlbG9jYXRpb24gc2l6ZSBkb2VzIG5vdCBtYXRjaCIgfQorIG1vdmUgZXh0c3ltODpUUE9GRkdPVDE2LHNycAk7IHsgZGctZXJyb3IgIlBJQyByZWxvY2F0aW9uIHNpemUgZG9lcyBub3QgbWF0Y2giIH0KZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2NyaXMvdGxzLWVyci0zLnMgYi9nYXMvdGVzdHN1aXRlL2dhcy9jcmlzL3Rscy1lcnItMy5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiYzJiNWQKLS0tIC9kZXYvbnVsbAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9jcmlzL3Rscy1lcnItMy5zCkBAIC0wLDAgKzEsMTQgQEAKKzsgQ2hlY2sgdGhhdCBUTFMgUElDIHN1ZmZpeGVzIGFyZW4ndCBhY2NlcHRlZCB3aGVuIG5vbi1QSUMuCisKKzsgeyBkZy1kbyBhc3NlbWJsZSB9Cis7IHsgZGctb3B0aW9ucyAiLS1uby11bmRlcnNjb3JlIC0tZW09Y3Jpc2VsZiIgfQorCisgLnN5bnRheCBub19yZWdpc3Rlcl9wcmVmaXgKKyAudGV4dAorc3RhcnQ6CisgbW92ZS5kIGV4dHN5bTI6R0RHT1RSRUwscjUJOyB7IGRnLWVycm9yICJvcGVyYW5kIiB9CisgbW92ZS53IGV4dHN5bTI6R0RHT1RSRUwxNixyNQk7IHsgZGctZXJyb3IgIm9wZXJhbmQiIH0KKyBtb3ZlLmQgZXh0c3ltMTpEVFBSRUwscjQJOyB7IGRnLWVycm9yICJvcGVyYW5kIiB9CisgbW92ZS53IGV4dHN5bTM6RFRQUkVMMTYscjYJOyB7IGRnLWVycm9yICJvcGVyYW5kIiB9CisgbW92ZS53IGV4dHN5bTEzOlRQT0ZGR09UMTYscjEwCTsgeyBkZy1lcnJvciAib3BlcmFuZCIgfQorIG1vdmUgZXh0c3ltNDpUUE9GRkdPVCxzcnAJOyB7IGRnLWVycm9yICJvcGVyYW5kIiB9CmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9lbGYvZWxmLmV4cCBiL2dhcy90ZXN0c3VpdGUvZ2FzL2VsZi9lbGYuZXhwCmluZGV4IGExMTMyZDMuLjU1MDY5MDMgMTAwNjQ0Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2FzL2VsZi9lbGYuZXhwCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2VsZi9lbGYuZXhwCkBAIC04OCwxNiArODgsMjAgQEAKICAgICBydW5fZHVtcF90ZXN0ICJncm91cDFiIiAKICAgICBjYXNlICR0YXJnZXRfdHJpcGxldCBpbiB7CiAJeyBhbHBoYSotKi0qIH0geyB9CisJeyBjcjE2Ki0qLSogfSB7IH0KKwl7IGNyeCotKi0qIH0geyB9CisJeyBoODMwMC0qLSogfSB7IH0KIAl7IGhwcGEqLSotKiB9IHsgfQogCXsgaXEyMDAwKi0qLSogfSB7IH0KIAl7IG1pcHMqLSotKiB9IHsgfQorCXsgbW4xMDIwMC0qLSogfSB7IH0KKwl7IG1uMTAzMDAtKi0qIH0geyB9CiAJeyAqYzU0eCotKi0qIH0geyB9CiAJZGVmYXVsdCB7CiAJICAgICMgVGhlIG5leHQgdGVzdCBjYW4gZmFpbCBpZiB0aGUgdGFyZ2V0IGRvZXMgbm90IGNvbnZlcnQgZml4dXBzCiAJICAgICMgYWdhaW5zdCBvcmRpbmFyeSBzeW1ib2xzIGludG8gcmVsb2NhdGlvbnMgYWdhaW5zdCBzZWN0aW9uIHN5bWJvbHMuCiAJICAgICMgVGhpcyBpcyB1c3VhbGx5IHJldmVhbGVkIGJ5IHRoZSBlcnJvciBtZXNzYWdlOgogCSAgICAjICBzeW1ib2wgYHN5bScgcmVxdWlyZWQgYnV0IG5vdCBwcmVzZW50Ci0JICAgIHNldHVwX3hmYWlsICJjcjE2LSotKiIgImg4MzAwLSotKiIgIm1uMTAzMDAtKi0qIgogCSAgICBydW5fZHVtcF90ZXN0IHJlZGVmCiAJICAgIHJ1bl9kdW1wX3Rlc3QgZXF1LXJlbG9jCiAJfQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9pMzg2LmV4cCBiL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYvaTM4Ni5leHAKaW5kZXggYzhjZWYyMC4uOGIxYjU1YyAxMDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9pMzg2LmV4cAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L2kzODYuZXhwCkBAIC03OSw2ICs3OSw4IEBACiAgICAgcnVuX2R1bXBfdGVzdCAibm9wcy00IgogICAgIHJ1bl9kdW1wX3Rlc3QgIm5vcHMtNC1pMzg2IgogICAgIHJ1bl9kdW1wX3Rlc3QgIm5vcHMtNC1pNjg2IgorICAgIHJ1bl9kdW1wX3Rlc3QgIm5vcHMtNSIKKyAgICBydW5fZHVtcF90ZXN0ICJub3BzLTUtaTY4NiIKICAgICBydW5fZHVtcF90ZXN0ICJhZGRyMTYiCiAgICAgcnVuX2R1bXBfdGVzdCAiYWRkcjMyIgogICAgIHJ1bl9kdW1wX3Rlc3QgInNzZTRfMSIKQEAgLTI0Miw2ICsyNDQsOCBAQAogICAgIHJ1bl9kdW1wX3Rlc3QgIng4Ni02NC1ub3BzLTQiCiAgICAgcnVuX2R1bXBfdGVzdCAieDg2LTY0LW5vcHMtNC1jb3JlMiIKICAgICBydW5fZHVtcF90ZXN0ICJ4ODYtNjQtbm9wcy00LWs4IgorICAgIHJ1bl9kdW1wX3Rlc3QgIng4Ni02NC1ub3BzLTUiCisgICAgcnVuX2R1bXBfdGVzdCAieDg2LTY0LW5vcHMtNS1rOCIKICAgICBydW5fZHVtcF90ZXN0ICJ4ODYtNjQtc3NlNF8xIgogICAgIHJ1bl9kdW1wX3Rlc3QgIng4Ni02NC1zc2U0XzEtaW50ZWwiCiAgICAgcnVuX2R1bXBfdGVzdCAieDg2LTY0LXNzZTRfMiIKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYvbm9wcy01LWk2ODYuZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYvbm9wcy01LWk2ODYuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDUyY2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9ub3BzLTUtaTY4Ni5kCkBAIC0wLDAgKzEsNzMgQEAKKyNhczogLW1hcmNoPWk2ODYKKyNzb3VyY2U6IG5vcHMtNS5zCisjb2JqZHVtcDogLWRydworI25hbWU6IGkzODYgLW1hcmNoPWk2ODYgbm9wcyA1CisKKy4qOiArZmlsZSBmb3JtYXQgLioKKworRGlzYXNzZW1ibHkgb2Ygc2VjdGlvbiAudGV4dDoKKworMCsgPGkzODY+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk4ZCBiNiAwMCAwMCAwMCAwMCAgICAJbGVhICAgIDB4MFwoJWVzaVwpLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk4ZCBiYyAyNyAwMCAwMCAwMCAwMCAJbGVhICAgIDB4MFwoJWVkaSwlZWl6LDFcKSwlZWRpCisKKzArMTAgPGk0ODY+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk4ZCBiNiAwMCAwMCAwMCAwMCAgICAJbGVhICAgIDB4MFwoJWVzaVwpLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk4ZCBiYyAyNyAwMCAwMCAwMCAwMCAJbGVhICAgIDB4MFwoJWVkaSwlZWl6LDFcKSwlZWRpCisKKzArMjAgPGk1ODY+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk4ZCBiNiAwMCAwMCAwMCAwMCAgICAJbGVhICAgIDB4MFwoJWVzaVwpLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk4ZCBiYyAyNyAwMCAwMCAwMCAwMCAJbGVhICAgIDB4MFwoJWVkaSwlZWl6LDFcKSwlZWRpCisKKzArMzAgPGk2ODY+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk2NiA2NiA2NiA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCAJbm9wdyAgICVjczoweDBcKCVlYXgsJWVheCwxXCkKKworMCs0MCA8cGVudGl1bTQ+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk2NiA2NiA2NiA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCAJbm9wdyAgICVjczoweDBcKCVlYXgsJWVheCwxXCkKKworMCs1MCA8bm9jb25hPjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJNjYgNjYgNjYgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgCW5vcHcgICAlY3M6MHgwXCglZWF4LCVlYXgsMVwpCisKKzArNjAgPGNvcmU+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk2NiA2NiA2NiA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCAJbm9wdyAgICVjczoweDBcKCVlYXgsJWVheCwxXCkKKworMCs3MCA8Y29yZTI+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk2NiA2NiA2NiA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCAJbm9wdyAgICVjczoweDBcKCVlYXgsJWVheCwxXCkKKworMCs4MCA8azY+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk4ZCBiNiAwMCAwMCAwMCAwMCAgICAJbGVhICAgIDB4MFwoJWVzaVwpLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk4ZCBiYyAyNyAwMCAwMCAwMCAwMCAJbGVhICAgIDB4MFwoJWVkaSwlZWl6LDFcKSwlZWRpCisKKzArOTAgPGF0aGxvbj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CTY2IDBmIDFmIDQ0IDAwIDAwICAgIAlub3B3ICAgMHgwXCglZWF4LCVlYXgsMVwpCitbIAldKlthLWYwLTldKzoJMGYgMWYgODAgMDAgMDAgMDAgMDAgCW5vcGwgICAweDBcKCVlYXhcKQorCiswK2EwIDxrOD46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CTY2IDBmIDFmIDQ0IDAwIDAwICAgIAlub3B3ICAgMHgwXCglZWF4LCVlYXgsMVwpCitbIAldKlthLWYwLTldKzoJMGYgMWYgODAgMDAgMDAgMDAgMDAgCW5vcGwgICAweDBcKCVlYXhcKQorCiswK2IwIDxnZW5lcmljMzI+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk4ZCBiNiAwMCAwMCAwMCAwMCAgICAJbGVhICAgIDB4MFwoJWVzaVwpLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk4ZCBiYyAyNyAwMCAwMCAwMCAwMCAJbGVhICAgIDB4MFwoJWVkaSwlZWl6LDFcKSwlZWRpCisKKzArYzAgPGdlbmVyaWM2ND46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CTY2IDY2IDY2IDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIAlub3B3ICAgJWNzOjB4MFwoJWVheCwlZWF4LDFcKQorCiswK2QwIDxhbWRmYW0xMD46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CTY2IDBmIDFmIDQ0IDAwIDAwICAgIAlub3B3ICAgMHgwXCglZWF4LCVlYXgsMVwpCitbIAldKlthLWYwLTldKzoJMGYgMWYgODAgMDAgMDAgMDAgMDAgCW5vcGwgICAweDBcKCVlYXhcKQorI3Bhc3MKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYvbm9wcy01LmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L25vcHMtNS5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5YzQ4YjcKLS0tIC9kZXYvbnVsbAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L25vcHMtNS5kCkBAIC0wLDAgKzEsNzEgQEAKKyNvYmpkdW1wOiAtZHJ3CisjbmFtZTogaTM4NiBub3BzIDUKKworLio6ICtmaWxlIGZvcm1hdCAuKgorCitEaXNhc3NlbWJseSBvZiBzZWN0aW9uIC50ZXh0OgorCiswKyA8aTM4Nj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGI2IDAwIDAwIDAwIDAwICAgIAlsZWEgICAgMHgwXCglZXNpXCksJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGJjIDI3IDAwIDAwIDAwIDAwIAlsZWEgICAgMHgwXCglZWRpLCVlaXosMVwpLCVlZGkKKworMCsxMCA8aTQ4Nj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGI2IDAwIDAwIDAwIDAwICAgIAlsZWEgICAgMHgwXCglZXNpXCksJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGJjIDI3IDAwIDAwIDAwIDAwIAlsZWEgICAgMHgwXCglZWRpLCVlaXosMVwpLCVlZGkKKworMCsyMCA8aTU4Nj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGI2IDAwIDAwIDAwIDAwICAgIAlsZWEgICAgMHgwXCglZXNpXCksJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGJjIDI3IDAwIDAwIDAwIDAwIAlsZWEgICAgMHgwXCglZWRpLCVlaXosMVwpLCVlZGkKKworMCszMCA8aTY4Nj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CTY2IDY2IDY2IDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIAlub3B3ICAgJWNzOjB4MFwoJWVheCwlZWF4LDFcKQorCiswKzQwIDxwZW50aXVtND46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CTY2IDY2IDY2IDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIAlub3B3ICAgJWNzOjB4MFwoJWVheCwlZWF4LDFcKQorCiswKzUwIDxub2NvbmE+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk2NiA2NiA2NiA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCAJbm9wdyAgICVjczoweDBcKCVlYXgsJWVheCwxXCkKKworMCs2MCA8Y29yZT46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CTY2IDY2IDY2IDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIAlub3B3ICAgJWNzOjB4MFwoJWVheCwlZWF4LDFcKQorCiswKzcwIDxjb3JlMj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CTY2IDY2IDY2IDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIAlub3B3ICAgJWNzOjB4MFwoJWVheCwlZWF4LDFcKQorCiswKzgwIDxrNj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGI2IDAwIDAwIDAwIDAwICAgIAlsZWEgICAgMHgwXCglZXNpXCksJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGJjIDI3IDAwIDAwIDAwIDAwIAlsZWEgICAgMHgwXCglZWRpLCVlaXosMVwpLCVlZGkKKworMCs5MCA8YXRobG9uPjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJNjYgMGYgMWYgNDQgMDAgMDAgICAgCW5vcHcgICAweDBcKCVlYXgsJWVheCwxXCkKK1sgCV0qW2EtZjAtOV0rOgkwZiAxZiA4MCAwMCAwMCAwMCAwMCAJbm9wbCAgIDB4MFwoJWVheFwpCisKKzArYTAgPGs4PjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJNjYgMGYgMWYgNDQgMDAgMDAgICAgCW5vcHcgICAweDBcKCVlYXgsJWVheCwxXCkKK1sgCV0qW2EtZjAtOV0rOgkwZiAxZiA4MCAwMCAwMCAwMCAwMCAJbm9wbCAgIDB4MFwoJWVheFwpCisKKzArYjAgPGdlbmVyaWMzMj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGI2IDAwIDAwIDAwIDAwICAgIAlsZWEgICAgMHgwXCglZXNpXCksJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGJjIDI3IDAwIDAwIDAwIDAwIAlsZWEgICAgMHgwXCglZWRpLCVlaXosMVwpLCVlZGkKKworMCtjMCA8Z2VuZXJpYzY0PjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJNjYgNjYgNjYgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgCW5vcHcgICAlY3M6MHgwXCglZWF4LCVlYXgsMVwpCisKKzArZDAgPGFtZGZhbTEwPjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJNjYgMGYgMWYgNDQgMDAgMDAgICAgCW5vcHcgICAweDBcKCVlYXgsJWVheCwxXCkKK1sgCV0qW2EtZjAtOV0rOgkwZiAxZiA4MCAwMCAwMCAwMCAwMCAJbm9wbCAgIDB4MFwoJWVheFwpCisjcGFzcwpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9ub3BzLTUucyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYvbm9wcy01LnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDUzNmM5OAotLS0gL2Rldi9udWxsCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYvbm9wcy01LnMKQEAgLTAsMCArMSw3MCBAQAorCS50ZXh0CisJLmFyY2ggaTM4NgoraTM4NjoKKwltb3ZzYmwgJWFsLCVlc2kKKwkucDJhbGlnbiA0CisKKwkuYXJjaCBpNDg2CitpNDg2OgorCW1vdnNibCAlYWwsJWVzaQorCS5wMmFsaWduIDQKKworCS5hcmNoIGk1ODYKK2k1ODY6CisJbW92c2JsICVhbCwlZXNpCisJLnAyYWxpZ24gNAorCisJLmFyY2ggaTY4NgoraTY4NjoKKwltb3ZzYmwgJWFsLCVlc2kKKwkucDJhbGlnbiA0CisKKwkuYXJjaCBwZW50aXVtNAorcGVudGl1bTQ6CisJbW92c2JsICVhbCwlZXNpCisJLnAyYWxpZ24gNAorCisJLmFyY2ggbm9jb25hCitub2NvbmE6CisJbW92c2JsICVhbCwlZXNpCisJLnAyYWxpZ24gNAorCisJLmFyY2ggY29yZQorY29yZToKKwltb3ZzYmwgJWFsLCVlc2kKKwkucDJhbGlnbiA0CisKKwkuYXJjaCBjb3JlMgorY29yZTI6CisJbW92c2JsICVhbCwlZXNpCisJLnAyYWxpZ24gNAorCisJLmFyY2ggazYKK2s2OgorCW1vdnNibCAlYWwsJWVzaQorCS5wMmFsaWduIDQKKworCS5hcmNoIGF0aGxvbgorYXRobG9uOgorCW1vdnNibCAlYWwsJWVzaQorCS5wMmFsaWduIDQKKworCS5hcmNoIGs4CitrODoKKwltb3ZzYmwgJWFsLCVlc2kKKwkucDJhbGlnbiA0CisKKwkuYXJjaCBnZW5lcmljMzIKK2dlbmVyaWMzMjoKKwltb3ZzYmwgJWFsLCVlc2kKKwkucDJhbGlnbiA0CisKKwkuYXJjaCBnZW5lcmljNjQKK2dlbmVyaWM2NDoKKwltb3ZzYmwgJWFsLCVlc2kKKwkucDJhbGlnbiA0CisKKwkuYXJjaCBhbWRmYW0xMAorYW1kZmFtMTA6CisJbW92c2JsICVhbCwlZXNpCisJLnAyYWxpZ24gNApkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9zc2UyYXZ4LmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3NzZTJhdnguZAppbmRleCBmNTczZjU3Li41YmM0ZjNjIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3NzZTJhdnguZAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3NzZTJhdnguZApAQCAtMTUwLDE0ICsxNTAsNTc0IEBACiBbIAldKlthLWYwLTldKzoJYzUgYzkgZTAgMzEgICAgICAgICAgCXZwYXZnYiBcKCVlY3hcKSwleG1tNiwleG1tNgogWyAJXSpbYS1mMC05XSs6CWM1IGM5IGUzIGY0ICAgICAgICAgIAl2cGF2Z3cgJXhtbTQsJXhtbTYsJXhtbTYKIFsgCV0qW2EtZjAtOV0rOgljNSBjOSBlMyAzMSAgICAgICAgICAJdnBhdmd3IFwoJWVjeFwpLCV4bW02LCV4bW02Ci1bIAldKlthLWYwLTldKzoJNjYgMGYgM2EgNDQgZjQgMDAgICAgCXBjbG11bGxxbHFkcSAleG1tNCwleG1tNgotWyAJXSpbYS1mMC05XSs6CTY2IDBmIDNhIDQ0IDMxIDAwICAgIAlwY2xtdWxscWxxZHEgXCglZWN4XCksJXhtbTYKLVsgCV0qW2EtZjAtOV0rOgk2NiAwZiAzYSA0NCBmNCAwMSAgICAJcGNsbXVsaHFscWRxICV4bW00LCV4bW02Ci1bIAldKlthLWYwLTldKzoJNjYgMGYgM2EgNDQgMzEgMDEgICAgCXBjbG11bGhxbHFkcSBcKCVlY3hcKSwleG1tNgotWyAJXSpbYS1mMC05XSs6CTY2IDBmIDNhIDQ0IGY0IDEwICAgIAlwY2xtdWxscWhxZHEgJXhtbTQsJXhtbTYKLVsgCV0qW2EtZjAtOV0rOgk2NiAwZiAzYSA0NCAzMSAxMCAgICAJcGNsbXVsbHFocWRxIFwoJWVjeFwpLCV4bW02Ci1bIAldKlthLWYwLTldKzoJNjYgMGYgM2EgNDQgZjQgMTEgICAgCXBjbG11bGhxaHFkcSAleG1tNCwleG1tNgotWyAJXSpbYS1mMC05XSs6CTY2IDBmIDNhIDQ0IDMxIDExICAgIAlwY2xtdWxocWhxZHEgXCglZWN4XCksJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3NCBmNCAgICAgICAgICAJdnBjbXBlcWIgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3NCAzMSAgICAgICAgICAJdnBjbXBlcWIgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3NSBmNCAgICAgICAgICAJdnBjbXBlcXcgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3NSAzMSAgICAgICAgICAJdnBjbXBlcXcgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3NiBmNCAgICAgICAgICAJdnBjbXBlcWQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3NiAzMSAgICAgICAgICAJdnBjbXBlcWQgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAyOSBmNCAgICAgICAJdnBjbXBlcXEgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAyOSAzMSAgICAgICAJdnBjbXBlcXEgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2NCBmNCAgICAgICAgICAJdnBjbXBndGIgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2NCAzMSAgICAgICAgICAJdnBjbXBndGIgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2NSBmNCAgICAgICAgICAJdnBjbXBndHcgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2NSAzMSAgICAgICAgICAJdnBjbXBndHcgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2NiBmNCAgICAgICAgICAJdnBjbXBndGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2NiAzMSAgICAgICAgICAJdnBjbXBndGQgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzNyBmNCAgICAgICAJdnBjbXBndHEgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzNyAzMSAgICAgICAJdnBjbXBndHEgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAwMSBmNCAgICAgICAJdnBoYWRkdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDAxIDMxICAgICAgIAl2cGhhZGR3IFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMDIgZjQgICAgICAgCXZwaGFkZGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAwMiAzMSAgICAgICAJdnBoYWRkZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDAzIGY0ICAgICAgIAl2cGhhZGRzdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDAzIDMxICAgICAgIAl2cGhhZGRzdyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDA1IGY0ICAgICAgIAl2cGhzdWJ3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMDUgMzEgICAgICAgCXZwaHN1YncgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAwNiBmNCAgICAgICAJdnBoc3ViZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDA2IDMxICAgICAgIAl2cGhzdWJkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMDcgZjQgICAgICAgCXZwaHN1YnN3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMDcgMzEgICAgICAgCXZwaHN1YnN3IFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjUgZjQgICAgICAgICAgCXZwbWFkZHdkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjUgMzEgICAgICAgICAgCXZwbWFkZHdkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMDQgZjQgICAgICAgCXZwbWFkZHVic3cgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAwNCAzMSAgICAgICAJdnBtYWRkdWJzdyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDNjIGY0ICAgICAgIAl2cG1heHNiICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgM2MgMzEgICAgICAgCXZwbWF4c2IgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlZSBmNCAgICAgICAgICAJdnBtYXhzdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGVlIDMxICAgICAgICAgIAl2cG1heHN3IFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgM2QgZjQgICAgICAgCXZwbWF4c2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzZCAzMSAgICAgICAJdnBtYXhzZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGRlIGY0ICAgICAgICAgIAl2cG1heHViICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZGUgMzEgICAgICAgICAgCXZwbWF4dWIgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzZSBmNCAgICAgICAJdnBtYXh1dyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDNlIDMxICAgICAgIAl2cG1heHV3IFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgM2YgZjQgICAgICAgCXZwbWF4dWQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzZiAzMSAgICAgICAJdnBtYXh1ZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDM4IGY0ICAgICAgIAl2cG1pbnNiICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMzggMzEgICAgICAgCXZwbWluc2IgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlYSBmNCAgICAgICAgICAJdnBtaW5zdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGVhIDMxICAgICAgICAgIAl2cG1pbnN3IFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMzkgZjQgICAgICAgCXZwbWluc2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzOSAzMSAgICAgICAJdnBtaW5zZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGRhIGY0ICAgICAgICAgIAl2cG1pbnViICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZGEgMzEgICAgICAgICAgCXZwbWludWIgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzYSBmNCAgICAgICAJdnBtaW51dyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDNhIDMxICAgICAgIAl2cG1pbnV3IFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgM2IgZjQgICAgICAgCXZwbWludWQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzYiAzMSAgICAgICAJdnBtaW51ZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGU0IGY0ICAgICAgICAgIAl2cG11bGh1dyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGU0IDMxICAgICAgICAgIAl2cG11bGh1dyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDBiIGY0ICAgICAgIAl2cG11bGhyc3cgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAwYiAzMSAgICAgICAJdnBtdWxocnN3IFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZTUgZjQgICAgICAgICAgCXZwbXVsaHcgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlNSAzMSAgICAgICAgICAJdnBtdWxodyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQ1IGY0ICAgICAgICAgIAl2cG11bGx3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZDUgMzEgICAgICAgICAgCXZwbXVsbHcgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSA0MCBmNCAgICAgICAJdnBtdWxsZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDQwIDMxICAgICAgIAl2cG11bGxkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjQgZjQgICAgICAgICAgCXZwbXVsdWRxICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjQgMzEgICAgICAgICAgCXZwbXVsdWRxIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMjggZjQgICAgICAgCXZwbXVsZHEgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAyOCAzMSAgICAgICAJdnBtdWxkcSBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGViIGY0ICAgICAgICAgIAl2cG9yICAgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlYiAzMSAgICAgICAgICAJdnBvciAgIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjYgZjQgICAgICAgICAgCXZwc2FkYncgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBmNiAzMSAgICAgICAgICAJdnBzYWRidyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDAwIGY0ICAgICAgIAl2cHNodWZiICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMDAgMzEgICAgICAgCXZwc2h1ZmIgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAwOCBmNCAgICAgICAJdnBzaWduYiAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDA4IDMxICAgICAgIAl2cHNpZ25iIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMDkgZjQgICAgICAgCXZwc2lnbncgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAwOSAzMSAgICAgICAJdnBzaWdudyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDBhIGY0ICAgICAgIAl2cHNpZ25kICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMGEgMzEgICAgICAgCXZwc2lnbmQgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBmMSBmNCAgICAgICAgICAJdnBzbGx3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjEgMzEgICAgICAgICAgCXZwc2xsdyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGYyIGY0ICAgICAgICAgIAl2cHNsbGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBmMiAzMSAgICAgICAgICAJdnBzbGxkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjMgZjQgICAgICAgICAgCXZwc2xscSAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGYzIDMxICAgICAgICAgIAl2cHNsbHEgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlMSBmNCAgICAgICAgICAJdnBzcmF3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZTEgMzEgICAgICAgICAgCXZwc3JhdyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGUyIGY0ICAgICAgICAgIAl2cHNyYWQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlMiAzMSAgICAgICAgICAJdnBzcmFkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZDEgZjQgICAgICAgICAgCXZwc3JsdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQxIDMxICAgICAgICAgIAl2cHNybHcgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkMiBmNCAgICAgICAgICAJdnBzcmxkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZDIgMzEgICAgICAgICAgCXZwc3JsZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQzIGY0ICAgICAgICAgIAl2cHNybHEgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkMyAzMSAgICAgICAgICAJdnBzcmxxIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjggZjQgICAgICAgICAgCXZwc3ViYiAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGY4IDMxICAgICAgICAgIAl2cHN1YmIgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBmOSBmNCAgICAgICAgICAJdnBzdWJ3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjkgMzEgICAgICAgICAgCXZwc3VidyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGZhIGY0ICAgICAgICAgIAl2cHN1YmQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBmYSAzMSAgICAgICAgICAJdnBzdWJkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZmIgZjQgICAgICAgICAgCXZwc3VicSAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGZiIDMxICAgICAgICAgIAl2cHN1YnEgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlOCBmNCAgICAgICAgICAJdnBzdWJzYiAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGU4IDMxICAgICAgICAgIAl2cHN1YnNiIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZTkgZjQgICAgICAgICAgCXZwc3Vic3cgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlOSAzMSAgICAgICAgICAJdnBzdWJzdyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQ4IGY0ICAgICAgICAgIAl2cHN1YnVzYiAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQ4IDMxICAgICAgICAgIAl2cHN1YnVzYiBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQ5IGY0ICAgICAgICAgIAl2cHN1YnVzdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQ5IDMxICAgICAgICAgIAl2cHN1YnVzdyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDY4IGY0ICAgICAgICAgIAl2cHVucGNraGJ3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNjggMzEgICAgICAgICAgCXZwdW5wY2toYncgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2OSBmNCAgICAgICAgICAJdnB1bnBja2h3ZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDY5IDMxICAgICAgICAgIAl2cHVucGNraHdkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNmEgZjQgICAgICAgICAgCXZwdW5wY2toZHEgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2YSAzMSAgICAgICAgICAJdnB1bnBja2hkcSBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDZkIGY0ICAgICAgICAgIAl2cHVucGNraHFkcSAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDZkIDMxICAgICAgICAgIAl2cHVucGNraHFkcSBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDYwIGY0ICAgICAgICAgIAl2cHVucGNrbGJ3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNjAgMzEgICAgICAgICAgCXZwdW5wY2tsYncgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2MSBmNCAgICAgICAgICAJdnB1bnBja2x3ZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDYxIDMxICAgICAgICAgIAl2cHVucGNrbHdkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNjIgZjQgICAgICAgICAgCXZwdW5wY2tsZHEgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2MiAzMSAgICAgICAgICAJdnB1bnBja2xkcSBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDZjIGY0ICAgICAgICAgIAl2cHVucGNrbHFkcSAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDZjIDMxICAgICAgICAgIAl2cHVucGNrbHFkcSBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGVmIGY0ICAgICAgICAgIAl2cHhvciAgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlZiAzMSAgICAgICAgICAJdnB4b3IgIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNWMgZjQgICAgICAgICAgCXZzdWJwZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDVjIDMxICAgICAgICAgIAl2c3VicGQgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCA1YyBmNCAgICAgICAgICAJdnN1YnBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNWMgMzEgICAgICAgICAgCXZzdWJwcyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDE1IGY0ICAgICAgICAgIAl2dW5wY2tocGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSAxNSAzMSAgICAgICAgICAJdnVucGNraHBkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggMTUgZjQgICAgICAgICAgCXZ1bnBja2hwcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDE1IDMxICAgICAgICAgIAl2dW5wY2tocHMgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSAxNCBmNCAgICAgICAgICAJdnVucGNrbHBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgMTQgMzEgICAgICAgICAgCXZ1bnBja2xwZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDE0IGY0ICAgICAgICAgIAl2dW5wY2tscHMgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCAxNCAzMSAgICAgICAgICAJdnVucGNrbHBzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNTcgZjQgICAgICAgICAgCXZ4b3JwZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDU3IDMxICAgICAgICAgIAl2eG9ycGQgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCA1NyBmNCAgICAgICAgICAJdnhvcnBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNTcgMzEgICAgICAgICAgCXZ4b3JwcyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IGRjIGY0ICAgICAgIAl2YWVzZW5jICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgZGMgMzEgICAgICAgCXZhZXNlbmMgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSBkZCBmNCAgICAgICAJdmFlc2VuY2xhc3QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSBkZCAzMSAgICAgICAJdmFlc2VuY2xhc3QgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSBkZSBmNCAgICAgICAJdmFlc2RlYyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IGRlIDMxICAgICAgIAl2YWVzZGVjIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgZGYgZjQgICAgICAgCXZhZXNkZWNsYXN0ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgZGYgMzEgICAgICAgCXZhZXNkZWNsYXN0IFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgZjQgMDAgICAgICAgCXZjbXBlcXBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgMzEgMDAgICAgICAgCXZjbXBlcXBkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgZjQgMDAgICAgICAgCXZjbXBlcXBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgMzEgMDAgICAgICAgCXZjbXBlcXBzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgZjQgMDEgICAgICAgCXZjbXBsdHBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgMzEgMDEgICAgICAgCXZjbXBsdHBkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgZjQgMDEgICAgICAgCXZjbXBsdHBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgMzEgMDEgICAgICAgCXZjbXBsdHBzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgZjQgMDIgICAgICAgCXZjbXBsZXBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgMzEgMDIgICAgICAgCXZjbXBsZXBkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgZjQgMDIgICAgICAgCXZjbXBsZXBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgMzEgMDIgICAgICAgCXZjbXBsZXBzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgZjQgMDMgICAgICAgCXZjbXB1bm9yZHBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgMzEgMDMgICAgICAgCXZjbXB1bm9yZHBkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgZjQgMDMgICAgICAgCXZjbXB1bm9yZHBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgMzEgMDMgICAgICAgCXZjbXB1bm9yZHBzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgZjQgMDQgICAgICAgCXZjbXBuZXFwZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGMyIDMxIDA0ICAgICAgIAl2Y21wbmVxcGQgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCBjMiBmNCAwNCAgICAgICAJdmNtcG5lcXBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgMzEgMDQgICAgICAgCXZjbXBuZXFwcyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGMyIGY0IDA1ICAgICAgIAl2Y21wbmx0cGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBjMiAzMSAwNSAgICAgICAJdmNtcG5sdHBkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgZjQgMDUgICAgICAgCXZjbXBubHRwcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IGMyIDMxIDA1ICAgICAgIAl2Y21wbmx0cHMgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBjMiBmNCAwNiAgICAgICAJdmNtcG5sZXBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgMzEgMDYgICAgICAgCXZjbXBubGVwZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IGMyIGY0IDA2ICAgICAgIAl2Y21wbmxlcHMgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCBjMiAzMSAwNiAgICAgICAJdmNtcG5sZXBzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgZjQgMDcgICAgICAgCXZjbXBvcmRwZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGMyIDMxIDA3ICAgICAgIAl2Y21wb3JkcGQgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCBjMiBmNCAwNyAgICAgICAJdmNtcG9yZHBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgMzEgMDcgICAgICAgCXZjbXBvcmRwcyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IGRmIGY0IDY0ICAgIAl2YWVza2V5Z2VuYXNzaXN0IFwkMHg2NCwleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IGRmIDMxIDY0ICAgIAl2YWVza2V5Z2VuYXNzaXN0IFwkMHg2NCxcKCVlY3hcKSwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYxIGY0IDY0ICAgIAl2cGNtcGVzdHJpIFwkMHg2NCwleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYxIDMxIDY0ICAgIAl2cGNtcGVzdHJpIFwkMHg2NCxcKCVlY3hcKSwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYwIGY0IDY0ICAgIAl2cGNtcGVzdHJtIFwkMHg2NCwleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYwIDMxIDY0ICAgIAl2cGNtcGVzdHJtIFwkMHg2NCxcKCVlY3hcKSwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYzIGY0IDY0ICAgIAl2cGNtcGlzdHJpIFwkMHg2NCwleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYzIDMxIDY0ICAgIAl2cGNtcGlzdHJpIFwkMHg2NCxcKCVlY3hcKSwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYyIGY0IDY0ICAgIAl2cGNtcGlzdHJtIFwkMHg2NCwleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYyIDMxIDY0ICAgIAl2cGNtcGlzdHJtIFwkMHg2NCxcKCVlY3hcKSwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDcwIGY0IDY0ICAgICAgIAl2cHNodWZkIFwkMHg2NCwleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDcwIDMxIDY0ICAgICAgIAl2cHNodWZkIFwkMHg2NCxcKCVlY3hcKSwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDcwIGY0IDY0ICAgICAgIAl2cHNodWZodyBcJDB4NjQsJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmYSA3MCAzMSA2NCAgICAgICAJdnBzaHVmaHcgXCQweDY0LFwoJWVjeFwpLCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZmIgNzAgZjQgNjQgICAgICAgCXZwc2h1Zmx3IFwkMHg2NCwleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDcwIDMxIDY0ICAgICAgIAl2cHNodWZsdyBcJDB4NjQsXCglZWN4XCksJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA3OSAwOSBmNCA2NCAgICAJdnJvdW5kcGQgXCQweDY0LCV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNzkgMDkgMzEgNjQgICAgCXZyb3VuZHBkIFwkMHg2NCxcKCVlY3hcKSwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDA4IGY0IDY0ICAgIAl2cm91bmRwcyBcJDB4NjQsJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA3OSAwOCAzMSA2NCAgICAJdnJvdW5kcHMgXCQweDY0LFwoJWVjeFwpLCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgMGQgZjQgNjQgICAgCXZibGVuZHBkIFwkMHg2NCwleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDBkIDMxIDY0ICAgIAl2YmxlbmRwZCBcJDB4NjQsXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSAwYyBmNCA2NCAgICAJdmJsZW5kcHMgXCQweDY0LCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgMGMgMzEgNjQgICAgCXZibGVuZHBzIFwkMHg2NCxcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGMyIGY0IDY0ICAgICAgIAl2Y21wcGQgXCQweDY0LCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgMzEgNjQgICAgICAgCXZjbXBwZCBcJDB4NjQsXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCBjMiBmNCA2NCAgICAgICAJdmNtcHBzIFwkMHg2NCwleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IGMyIDMxIDY0ICAgICAgIAl2Y21wcHMgXCQweDY0LFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgNDEgZjQgNjQgICAgCXZkcHBkICBcJDB4NjQsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSA0MSAzMSA2NCAgICAJdmRwcGQgIFwkMHg2NCxcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDQwIGY0IDY0ICAgIAl2ZHBwcyAgXCQweDY0LCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgNDAgMzEgNjQgICAgCXZkcHBzICBcJDB4NjQsXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSA0MiBmNCA2NCAgICAJdm1wc2FkYncgXCQweDY0LCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgNDIgMzEgNjQgICAgCXZtcHNhZGJ3IFwkMHg2NCxcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDBmIGY0IDY0ICAgIAl2cGFsaWduciBcJDB4NjQsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSAwZiAzMSA2NCAgICAJdnBhbGlnbnIgXCQweDY0LFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgMGUgZjQgNjQgICAgCXZwYmxlbmR3IFwkMHg2NCwleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDBlIDMxIDY0ICAgIAl2cGJsZW5kdyBcJDB4NjQsXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBjNiBmNCA2NCAgICAgICAJdnNodWZwZCBcJDB4NjQsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBjNiAzMSA2NCAgICAgICAJdnNodWZwZCBcJDB4NjQsXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCBjNiBmNCA2NCAgICAgICAJdnNodWZwcyBcJDB4NjQsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCBjNiAzMSA2NCAgICAgICAJdnNodWZwcyBcJDB4NjQsXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSA0YiBmNCAwMCAgICAJdmJsZW5kdnBkICV4bW0wLCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgNGIgMzEgMDAgICAgCXZibGVuZHZwZCAleG1tMCxcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDRiIGY0IDAwICAgIAl2YmxlbmR2cGQgJXhtbTAsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSA0YiAzMSAwMCAgICAJdmJsZW5kdnBkICV4bW0wLFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgNGEgZjQgMDAgICAgCXZibGVuZHZwcyAleG1tMCwleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDRhIDMxIDAwICAgIAl2YmxlbmR2cHMgJXhtbTAsXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSA0YSBmNCAwMCAgICAJdmJsZW5kdnBzICV4bW0wLCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgNGEgMzEgMDAgICAgCXZibGVuZHZwcyAleG1tMCxcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDRjIGY0IDAwICAgIAl2cGJsZW5kdmIgJXhtbTAsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSA0YyAzMSAwMCAgICAJdnBibGVuZHZiICV4bW0wLFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgNGMgZjQgMDAgICAgCXZwYmxlbmR2YiAleG1tMCwleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDRjIDMxIDAwICAgIAl2cGJsZW5kdmIgJXhtbTAsXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSAyZiBmNCAgICAgICAgICAJdmNvbWlzZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDJmIDIxICAgICAgICAgIAl2Y29taXNkIFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZmEgZTYgZjQgICAgICAgICAgCXZjdnRkcTJwZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZhIGU2IDIxICAgICAgICAgIAl2Y3Z0ZHEycGQgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCA1YSBmNCAgICAgICAgICAJdmN2dHBzMnBkICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZjggNWEgMjEgICAgICAgICAgCXZjdnRwczJwZCBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDEyIGY0ICAgICAgICAgIAl2bW92ZGR1cCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDEyIDIxICAgICAgICAgIAl2bW92ZGR1cCBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDIwIGY0ICAgICAgIAl2cG1vdnN4YncgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAyMCAyMSAgICAgICAJdnBtb3ZzeGJ3IFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMjMgZjQgICAgICAgCXZwbW92c3h3ZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDIzIDIxICAgICAgIAl2cG1vdnN4d2QgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAyNSBmNCAgICAgICAJdnBtb3ZzeGRxICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMjUgMjEgICAgICAgCXZwbW92c3hkcSBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDMwIGY0ICAgICAgIAl2cG1vdnp4YncgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAzMCAyMSAgICAgICAJdnBtb3Z6eGJ3IFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMzMgZjQgICAgICAgCXZwbW92enh3ZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDMzIDIxICAgICAgIAl2cG1vdnp4d2QgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAzNSBmNCAgICAgICAJdnBtb3Z6eGRxICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMzUgMjEgICAgICAgCXZwbW92enhkcSBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDJlIGY0ICAgICAgICAgIAl2dWNvbWlzZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDJlIDIxICAgICAgICAgIAl2dWNvbWlzZCBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDEwIDIxICAgICAgICAgIAl2bW92c2QgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSAxMyAyMSAgICAgICAgICAJdm1vdmxwZCAleG1tNCxcKCVlY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGY4IDEzIDIxICAgICAgICAgIAl2bW92bHBzICV4bW00LFwoJWVjeFwpCitbIAldKlthLWYwLTldKzoJYzUgZjkgMTcgMjEgICAgICAgICAgCXZtb3ZocGQgJXhtbTQsXCglZWN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCAxNyAyMSAgICAgICAgICAJdm1vdmhwcyAleG1tNCxcKCVlY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDExIDIxICAgICAgICAgIAl2bW92c2QgJXhtbTQsXCglZWN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSBkNiAyMSAgICAgICAgICAJdm1vdnEgICV4bW00LFwoJWVjeFwpCitbIAldKlthLWYwLTldKzoJYzUgZmEgN2UgMjEgICAgICAgICAgCXZtb3ZxICBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDJkIGNjICAgICAgICAgIAl2Y3Z0c2Qyc2kgJXhtbTQsJWVjeAorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDJkIDA5ICAgICAgICAgIAl2Y3Z0c2Qyc2kgXCglZWN4XCksJWVjeAorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDJjIGNjICAgICAgICAgIAl2Y3Z0dHNkMnNpICV4bW00LCVlY3gKK1sgCV0qW2EtZjAtOV0rOgljNSBmYiAyYyAwOSAgICAgICAgICAJdmN2dHRzZDJzaSBcKCVlY3hcKSwlZWN4CitbIAldKlthLWYwLTldKzoJYzUgZDkgMTIgMjEgICAgICAgICAgCXZtb3ZscGQgXCglZWN4XCksJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBkOCAxMiAyMSAgICAgICAgICAJdm1vdmxwcyBcKCVlY3hcKSwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGQ5IDE2IDIxICAgICAgICAgIAl2bW92aHBkIFwoJWVjeFwpLCV4bW00LCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZDggMTYgMjEgICAgICAgICAgCXZtb3ZocHMgXCglZWN4XCksJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiBmNCA2NCAgICAgICAJdmNtcHNkIFwkMHg2NCwleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIGMyIDMxIDY0ICAgICAgIAl2Y21wc2QgXCQweDY0LFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgMGIgZjQgNjQgICAgCXZyb3VuZHNkIFwkMHg2NCwleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDBiIDMxIDY0ICAgIAl2cm91bmRzZCBcJDB4NjQsXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiA1OCBmNCAgICAgICAgICAJdmFkZHNkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgNTggMzEgICAgICAgICAgCXZhZGRzZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIDVhIGY0ICAgICAgICAgIAl2Y3Z0c2Qyc3MgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiA1YSAzMSAgICAgICAgICAJdmN2dHNkMnNzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgNWUgZjQgICAgICAgICAgCXZkaXZzZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIDVlIDMxICAgICAgICAgIAl2ZGl2c2QgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiA1ZiBmNCAgICAgICAgICAJdm1heHNkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgNWYgMzEgICAgICAgICAgCXZtYXhzZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIDVkIGY0ICAgICAgICAgIAl2bWluc2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiA1ZCAzMSAgICAgICAgICAJdm1pbnNkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgNTkgZjQgICAgICAgICAgCXZtdWxzZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIDU5IDMxICAgICAgICAgIAl2bXVsc2QgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiA1MSBmNCAgICAgICAgICAJdnNxcnRzZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIDUxIDMxICAgICAgICAgIAl2c3FydHNkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgNWMgZjQgICAgICAgICAgCXZzdWJzZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIDVjIDMxICAgICAgICAgIAl2c3Vic2QgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiBmNCAwMCAgICAgICAJdmNtcGVxc2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiAzMSAwMCAgICAgICAJdmNtcGVxc2QgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiBmNCAwMSAgICAgICAJdmNtcGx0c2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiAzMSAwMSAgICAgICAJdmNtcGx0c2QgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiBmNCAwMiAgICAgICAJdmNtcGxlc2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiAzMSAwMiAgICAgICAJdmNtcGxlc2QgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiBmNCAwMyAgICAgICAJdmNtcHVub3Jkc2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiAzMSAwMyAgICAgICAJdmNtcHVub3Jkc2QgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiBmNCAwNCAgICAgICAJdmNtcG5lcXNkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgMzEgMDQgICAgICAgCXZjbXBuZXFzZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIGMyIGY0IDA1ICAgICAgIAl2Y21wbmx0c2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiAzMSAwNSAgICAgICAJdmNtcG5sdHNkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgZjQgMDYgICAgICAgCXZjbXBubGVzZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIGMyIDMxIDA2ICAgICAgIAl2Y21wbmxlc2QgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiBmNCAwNyAgICAgICAJdmNtcG9yZHNkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgMzEgMDcgICAgICAgCXZjbXBvcmRzZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIDU4IGY0ICAgICAgICAgIAl2YWRkc3MgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSA1OCAzMSAgICAgICAgICAJdmFkZHNzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgNWEgZjQgICAgICAgICAgCXZjdnRzczJzZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIDVhIDMxICAgICAgICAgIAl2Y3Z0c3Myc2QgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSA1ZSBmNCAgICAgICAgICAJdmRpdnNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgNWUgMzEgICAgICAgICAgCXZkaXZzcyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIDVmIGY0ICAgICAgICAgIAl2bWF4c3MgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSA1ZiAzMSAgICAgICAgICAJdm1heHNzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgNWQgZjQgICAgICAgICAgCXZtaW5zcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIDVkIDMxICAgICAgICAgIAl2bWluc3MgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSA1OSBmNCAgICAgICAgICAJdm11bHNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgNTkgMzEgICAgICAgICAgCXZtdWxzcyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIDUzIGY0ICAgICAgICAgIAl2cmNwc3MgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSA1MyAzMSAgICAgICAgICAJdnJjcHNzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgNTIgZjQgICAgICAgICAgCXZyc3FydHNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgNTIgMzEgICAgICAgICAgCXZyc3FydHNzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgNTEgZjQgICAgICAgICAgCXZzcXJ0c3MgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSA1MSAzMSAgICAgICAgICAJdnNxcnRzcyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIDVjIGY0ICAgICAgICAgIAl2c3Vic3MgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSA1YyAzMSAgICAgICAgICAJdnN1YnNzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgZjQgMDAgICAgICAgCXZjbXBlcXNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgMzEgMDAgICAgICAgCXZjbXBlcXNzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgZjQgMDEgICAgICAgCXZjbXBsdHNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgMzEgMDEgICAgICAgCXZjbXBsdHNzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgZjQgMDIgICAgICAgCXZjbXBsZXNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgMzEgMDIgICAgICAgCXZjbXBsZXNzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgZjQgMDMgICAgICAgCXZjbXB1bm9yZHNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgMzEgMDMgICAgICAgCXZjbXB1bm9yZHNzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgZjQgMDQgICAgICAgCXZjbXBuZXFzcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIDMxIDA0ICAgICAgIAl2Y21wbmVxc3MgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSBjMiBmNCAwNSAgICAgICAJdmNtcG5sdHNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgMzEgMDUgICAgICAgCXZjbXBubHRzcyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIGY0IDA2ICAgICAgIAl2Y21wbmxlc3MgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSBjMiAzMSAwNiAgICAgICAJdmNtcG5sZXNzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgZjQgMDcgICAgICAgCXZjbXBvcmRzcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIDMxIDA3ICAgICAgIAl2Y21wb3Jkc3MgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCAyZiBmNCAgICAgICAgICAJdmNvbWlzcyAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY4IDJmIDIxICAgICAgICAgIAl2Y29taXNzIFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMjEgZjQgICAgICAgCXZwbW92c3hiZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDIxIDIxICAgICAgIAl2cG1vdnN4YmQgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAyNCBmNCAgICAgICAJdnBtb3ZzeHdxICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMjQgMjEgICAgICAgCXZwbW92c3h3cSBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDMxIGY0ICAgICAgIAl2cG1vdnp4YmQgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAzMSAyMSAgICAgICAJdnBtb3Z6eGJkIFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMzQgZjQgICAgICAgCXZwbW92enh3cSAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDM0IDIxICAgICAgIAl2cG1vdnp4d3EgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCAyZSBmNCAgICAgICAgICAJdnVjb21pc3MgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCAyZSAyMSAgICAgICAgICAJdnVjb21pc3MgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmYSAxMCAyMSAgICAgICAgICAJdm1vdnNzIFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZmEgMTEgMjEgICAgICAgICAgCXZtb3ZzcyAleG1tNCxcKCVlY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDdlIGUxICAgICAgICAgIAl2bW92ZCAgJXhtbTQsJWVjeAorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDdlIDIxICAgICAgICAgIAl2bW92ZCAgJXhtbTQsXCglZWN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSA2ZSBlMSAgICAgICAgICAJdm1vdmQgICVlY3gsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSA2ZSAyMSAgICAgICAgICAJdm1vdmQgIFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZmEgMmQgY2MgICAgICAgICAgCXZjdnRzczJzaSAleG1tNCwlZWN4CitbIAldKlthLWYwLTldKzoJYzUgZmEgMmQgMDkgICAgICAgICAgCXZjdnRzczJzaSBcKCVlY3hcKSwlZWN4CitbIAldKlthLWYwLTldKzoJYzUgZmEgMmMgY2MgICAgICAgICAgCXZjdnR0c3Myc2kgJXhtbTQsJWVjeAorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDJjIDA5ICAgICAgICAgIAl2Y3Z0dHNzMnNpIFwoJWVjeFwpLCVlY3gKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA3OSAxNyAyMSA2NCAgICAJdmV4dHJhY3RwcyBcJDB4NjQsJXhtbTQsXCglZWN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA3OSAxNiBlMSA2NCAgICAJdnBleHRyZCBcJDB4NjQsJXhtbTQsJWVjeAorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDE2IDIxIDY0ICAgIAl2cGV4dHJkIFwkMHg2NCwleG1tNCxcKCVlY3hcKQorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDE3IGUxIDY0ICAgIAl2ZXh0cmFjdHBzIFwkMHg2NCwleG1tNCwlZWN4CitbIAldKlthLWYwLTldKzoJYzQgZTMgNzkgMTcgMjEgNjQgICAgCXZleHRyYWN0cHMgXCQweDY0LCV4bW00LFwoJWVjeFwpCitbIAldKlthLWYwLTldKzoJYzUgZGIgMmEgZTEgICAgICAgICAgCXZjdnRzaTJzZCAlZWN4LCV4bW00LCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZGIgMmEgMjEgICAgICAgICAgCXZjdnRzaTJzZGwgXCglZWN4XCksJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBkYSAyYSBlMSAgICAgICAgICAJdmN2dHNpMnNzICVlY3gsJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBkYSAyYSAyMSAgICAgICAgICAJdmN2dHNpMnNzbCBcKCVlY3hcKSwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIGY0IDY0ICAgICAgIAl2Y21wc3MgXCQweDY0LCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgMzEgNjQgICAgICAgCXZjbXBzcyBcJDB4NjQsXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSAyMSBmNCA2NCAgICAJdmluc2VydHBzIFwkMHg2NCwleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDIxIDMxIDY0ICAgIAl2aW5zZXJ0cHMgXCQweDY0LFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgMGEgZjQgNjQgICAgCXZyb3VuZHNzIFwkMHg2NCwleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDBhIDMxIDY0ICAgIAl2cm91bmRzcyBcJDB4NjQsXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAyMiBmNCAgICAgICAJdnBtb3ZzeGJxICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMjIgMjEgICAgICAgCXZwbW92c3hicSBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDMyIGY0ICAgICAgIAl2cG1vdnp4YnEgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAzMiAyMSAgICAgICAJdnBtb3Z6eGJxIFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZjkgYzUgY2MgNjQgICAgICAgCXZwZXh0cncgXCQweDY0LCV4bW00LCVlY3gKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA3OSAxNSAyMSA2NCAgICAJdnBleHRydyBcJDB4NjQsJXhtbTQsXCglZWN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA3OSAxNSAyMSA2NCAgICAJdnBleHRydyBcJDB4NjQsJXhtbTQsXCglZWN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNSBkOSBjNCBlMSA2NCAgICAgICAJdnBpbnNydyBcJDB4NjQsJWVjeCwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGQ5IGM0IDIxIDY0ICAgICAgIAl2cGluc3J3IFwkMHg2NCxcKCVlY3hcKSwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDE0IGUxIDY0ICAgIAl2cGV4dHJiIFwkMHg2NCwleG1tNCwlZWN4CitbIAldKlthLWYwLTldKzoJYzQgZTMgNzkgMTQgMjEgNjQgICAgCXZwZXh0cmIgXCQweDY0LCV4bW00LFwoJWVjeFwpCitbIAldKlthLWYwLTldKzoJYzQgZTMgNTkgMjAgZTEgNjQgICAgCXZwaW5zcmIgXCQweDY0LCVlY3gsJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA1OSAyMCAyMSA2NCAgICAJdnBpbnNyYiBcJDB4NjQsXCglZWN4XCksJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA3OSAxNCAyMSA2NCAgICAJdnBleHRyYiBcJDB4NjQsJXhtbTQsXCglZWN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA1OSAyMCBlMSA2NCAgICAJdnBpbnNyYiBcJDB4NjQsJWVjeCwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDU5IDIwIDIxIDY0ICAgIAl2cGluc3JiIFwkMHg2NCxcKCVlY3hcKSwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGY5IGY3IGY0ICAgICAgICAgIAl2bWFza21vdmRxdSAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDdlIGY0ICAgICAgICAgIAl2bW92cSAgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSA1MCBjYyAgICAgICAgICAJdm1vdm1za3BkICV4bW00LCVlY3gKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCA1MCBjYyAgICAgICAgICAJdm1vdm1za3BzICV4bW00LCVlY3gKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSBkNyBjYyAgICAgICAgICAJdnBtb3Ztc2tiICV4bW00LCVlY3gKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCAxMiBmNCAgICAgICAgICAJdm1vdmhscHMgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCAxNiBmNCAgICAgICAgICAJdm1vdmxocHMgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiAxMCBmNCAgICAgICAgICAJdm1vdnNkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgMTAgZjQgICAgICAgICAgCXZtb3ZzcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGQ5IDcyIGY0IDY0ICAgICAgIAl2cHNsbGQgXCQweDY0LCV4bW00LCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZDkgNzMgZmMgNjQgICAgICAgCXZwc2xsZHEgXCQweDY0LCV4bW00LCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZDkgNzMgZjQgNjQgICAgICAgCXZwc2xscSBcJDB4NjQsJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBkOSA3MSBmNCA2NCAgICAgICAJdnBzbGx3IFwkMHg2NCwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGQ5IDcyIGU0IDY0ICAgICAgIAl2cHNyYWQgXCQweDY0LCV4bW00LCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZDkgNzEgZTQgNjQgICAgICAgCXZwc3JhdyBcJDB4NjQsJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBkOSA3MiBkNCA2NCAgICAgICAJdnBzcmxkIFwkMHg2NCwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGQ5IDczIGRjIDY0ICAgICAgIAl2cHNybGRxIFwkMHg2NCwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGQ5IDczIGQ0IDY0ICAgICAgIAl2cHNybHEgXCQweDY0LCV4bW00LCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZDkgNzEgZDQgNjQgICAgICAgCXZwc3JsdyBcJDB4NjQsJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSBjNSBjYyA2NCAgICAgICAJdnBleHRydyBcJDB4NjQsJXhtbTQsJWVjeAorWyAJXSpbYS1mMC05XSs6CWM1IGY4IGFlIDExICAgICAgICAgIAl2bGRteGNzciBcKCVlY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGY4IGFlIDE5ICAgICAgICAgIAl2c3RteGNzciBcKCVlY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGY4IDViIGY0ICAgICAgICAgIAl2Y3Z0ZHEycHMgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCA1YiAyMSAgICAgICAgICAJdmN2dGRxMnBzIFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZmIgZTYgZjQgICAgICAgICAgCXZjdnRwZDJkcSAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZiIGU2IDIxICAgICAgICAgIAl2Y3Z0cGQyZHF4IFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZjkgNWEgZjQgICAgICAgICAgCXZjdnRwZDJwcyAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDVhIDIxICAgICAgICAgIAl2Y3Z0cGQycHN4IFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZjkgNWIgZjQgICAgICAgICAgCXZjdnRwczJkcSAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDViIDIxICAgICAgICAgIAl2Y3Z0cHMyZHEgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSBlNiBmNCAgICAgICAgICAJdmN2dHRwZDJkcSAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IGU2IDIxICAgICAgICAgIAl2Y3Z0dHBkMmRxeCBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDViIGY0ICAgICAgICAgIAl2Y3Z0dHBzMmRxICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZmEgNWIgMjEgICAgICAgICAgCXZjdnR0cHMyZHEgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSAyOCBmNCAgICAgICAgICAJdm1vdmFwZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDI4IDIxICAgICAgICAgIAl2bW92YXBkIFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZjggMjggZjQgICAgICAgICAgCXZtb3ZhcHMgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCAyOCAyMSAgICAgICAgICAJdm1vdmFwcyBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDZmIGY0ICAgICAgICAgIAl2bW92ZHFhICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZjkgNmYgMjEgICAgICAgICAgCXZtb3ZkcWEgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmYSA2ZiBmNCAgICAgICAgICAJdm1vdmRxdSAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDZmIDIxICAgICAgICAgIAl2bW92ZHF1IFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZmEgMTYgZjQgICAgICAgICAgCXZtb3ZzaGR1cCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDE2IDIxICAgICAgICAgIAl2bW92c2hkdXAgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmYSAxMiBmNCAgICAgICAgICAJdm1vdnNsZHVwICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZmEgMTIgMjEgICAgICAgICAgCXZtb3ZzbGR1cCBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDEwIGY0ICAgICAgICAgIAl2bW92dXBkICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZjkgMTAgMjEgICAgICAgICAgCXZtb3Z1cGQgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCAxMCBmNCAgICAgICAgICAJdm1vdnVwcyAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY4IDEwIDIxICAgICAgICAgIAl2bW92dXBzIFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMWMgZjQgICAgICAgCXZwYWJzYiAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDFjIDIxICAgICAgIAl2cGFic2IgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAxZCBmNCAgICAgICAJdnBhYnN3ICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMWQgMjEgICAgICAgCXZwYWJzdyBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDFlIGY0ICAgICAgIAl2cGFic2QgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAxZSAyMSAgICAgICAJdnBhYnNkIFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgNDEgZjQgICAgICAgCXZwaG1pbnBvc3V3ICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgNDEgMjEgICAgICAgCXZwaG1pbnBvc3V3IFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMTcgZjQgICAgICAgCXZwdGVzdCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDE3IDIxICAgICAgIAl2cHRlc3QgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCA1MyBmNCAgICAgICAgICAJdnJjcHBzICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZjggNTMgMjEgICAgICAgICAgCXZyY3BwcyBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGY4IDUyIGY0ICAgICAgICAgIAl2cnNxcnRwcyAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY4IDUyIDIxICAgICAgICAgIAl2cnNxcnRwcyBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDUxIGY0ICAgICAgICAgIAl2c3FydHBkICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZjkgNTEgMjEgICAgICAgICAgCXZzcXJ0cGQgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCA1MSBmNCAgICAgICAgICAJdnNxcnRwcyAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY4IDUxIDIxICAgICAgICAgIAl2c3FydHBzIFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgZGIgZjQgICAgICAgCXZhZXNpbWMgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSBkYiAyMSAgICAgICAJdmFlc2ltYyBcKCVlY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDI4IGY0ICAgICAgICAgIAl2bW92YXBkICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZjkgMjkgMjEgICAgICAgICAgCXZtb3ZhcGQgJXhtbTQsXCglZWN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCAyOCBmNCAgICAgICAgICAJdm1vdmFwcyAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY4IDI5IDIxICAgICAgICAgIAl2bW92YXBzICV4bW00LFwoJWVjeFwpCitbIAldKlthLWYwLTldKzoJYzUgZjkgNmYgZjQgICAgICAgICAgCXZtb3ZkcWEgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSA3ZiAyMSAgICAgICAgICAJdm1vdmRxYSAleG1tNCxcKCVlY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDZmIGY0ICAgICAgICAgIAl2bW92ZHF1ICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZmEgN2YgMjEgICAgICAgICAgCXZtb3ZkcXUgJXhtbTQsXCglZWN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSAxMCBmNCAgICAgICAgICAJdm1vdnVwZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDExIDIxICAgICAgICAgIAl2bW92dXBkICV4bW00LFwoJWVjeFwpCitbIAldKlthLWYwLTldKzoJYzUgZjggMTAgZjQgICAgICAgICAgCXZtb3Z1cHMgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCAxMSAyMSAgICAgICAgICAJdm1vdnVwcyAleG1tNCxcKCVlY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGZiIGYwIDIxICAgICAgICAgIAl2bGRkcXUgXCglZWN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAyYSAyMSAgICAgICAJdm1vdm50ZHFhIFwoJWVjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZjkgZTcgMjEgICAgICAgICAgCXZtb3ZudGRxICV4bW00LFwoJWVjeFwpCitbIAldKlthLWYwLTldKzoJYzUgZjkgMmIgMjEgICAgICAgICAgCXZtb3ZudHBkICV4bW00LFwoJWVjeFwpCitbIAldKlthLWYwLTldKzoJYzUgZjggMmIgMjEgICAgICAgICAgCXZtb3ZudHBzICV4bW00LFwoJWVjeFwpCitbIAldKlthLWYwLTldKzoJYzUgYzkgNTggZjQgICAgICAgICAgCXZhZGRwZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDU4IDMxICAgICAgICAgIAl2YWRkcGQgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCA1OCBmNCAgICAgICAgICAJdmFkZHBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNTggMzEgICAgICAgICAgCXZhZGRwcyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQwIGY0ICAgICAgICAgIAl2YWRkc3VicGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkMCAzMSAgICAgICAgICAJdmFkZHN1YnBkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgZDAgZjQgICAgICAgICAgCXZhZGRzdWJwcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIGQwIDMxICAgICAgICAgIAl2YWRkc3VicHMgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA1NSBmNCAgICAgICAgICAJdmFuZG5wZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDU1IDMxICAgICAgICAgIAl2YW5kbnBkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNTUgZjQgICAgICAgICAgCXZhbmRucHMgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCA1NSAzMSAgICAgICAgICAJdmFuZG5wcyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDU0IGY0ICAgICAgICAgIAl2YW5kcGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA1NCAzMSAgICAgICAgICAJdmFuZHBkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNTQgZjQgICAgICAgICAgCXZhbmRwcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDU0IDMxICAgICAgICAgIAl2YW5kcHMgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA1ZSBmNCAgICAgICAgICAJdmRpdnBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNWUgMzEgICAgICAgICAgCXZkaXZwZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDVlIGY0ICAgICAgICAgIAl2ZGl2cHMgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCA1ZSAzMSAgICAgICAgICAJdmRpdnBzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgN2MgZjQgICAgICAgICAgCXZoYWRkcGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3YyAzMSAgICAgICAgICAJdmhhZGRwZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIDdjIGY0ICAgICAgICAgIAl2aGFkZHBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgN2MgMzEgICAgICAgICAgCXZoYWRkcHMgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3ZCBmNCAgICAgICAgICAJdmhzdWJwZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDdkIDMxICAgICAgICAgIAl2aHN1YnBkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgN2QgZjQgICAgICAgICAgCXZoc3VicHMgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiA3ZCAzMSAgICAgICAgICAJdmhzdWJwcyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDVmIGY0ICAgICAgICAgIAl2bWF4cGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA1ZiAzMSAgICAgICAgICAJdm1heHBkIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNWYgZjQgICAgICAgICAgCXZtYXhwcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDVmIDMxICAgICAgICAgIAl2bWF4cHMgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA1ZCBmNCAgICAgICAgICAJdm1pbnBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNWQgMzEgICAgICAgICAgCXZtaW5wZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDVkIGY0ICAgICAgICAgIAl2bWlucHMgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCA1ZCAzMSAgICAgICAgICAJdm1pbnBzIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNTkgZjQgICAgICAgICAgCXZtdWxwZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDU5IDMxICAgICAgICAgIAl2bXVscGQgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCA1OSBmNCAgICAgICAgICAJdm11bHBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNTkgMzEgICAgICAgICAgCXZtdWxwcyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDU2IGY0ICAgICAgICAgIAl2b3JwZCAgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA1NiAzMSAgICAgICAgICAJdm9ycGQgIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNTYgZjQgICAgICAgICAgCXZvcnBzICAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDU2IDMxICAgICAgICAgIAl2b3JwcyAgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2MyBmNCAgICAgICAgICAJdnBhY2tzc3diICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNjMgMzEgICAgICAgICAgCXZwYWNrc3N3YiBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDZiIGY0ICAgICAgICAgIAl2cGFja3NzZHcgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2YiAzMSAgICAgICAgICAJdnBhY2tzc2R3IFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNjcgZjQgICAgICAgICAgCXZwYWNrdXN3YiAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDY3IDMxICAgICAgICAgIAl2cGFja3Vzd2IgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAyYiBmNCAgICAgICAJdnBhY2t1c2R3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMmIgMzEgICAgICAgCXZwYWNrdXNkdyBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGZjIGY0ICAgICAgICAgIAl2cGFkZGIgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBmYyAzMSAgICAgICAgICAJdnBhZGRiIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZmQgZjQgICAgICAgICAgCXZwYWRkdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGZkIDMxICAgICAgICAgIAl2cGFkZHcgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBmZSBmNCAgICAgICAgICAJdnBhZGRkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZmUgMzEgICAgICAgICAgCXZwYWRkZCBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQ0IGY0ICAgICAgICAgIAl2cGFkZHEgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkNCAzMSAgICAgICAgICAJdnBhZGRxIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZWMgZjQgICAgICAgICAgCXZwYWRkc2IgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlYyAzMSAgICAgICAgICAJdnBhZGRzYiBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGVkIGY0ICAgICAgICAgIAl2cGFkZHN3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZWQgMzEgICAgICAgICAgCXZwYWRkc3cgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkYyBmNCAgICAgICAgICAJdnBhZGR1c2IgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkYyAzMSAgICAgICAgICAJdnBhZGR1c2IgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkZCBmNCAgICAgICAgICAJdnBhZGR1c3cgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkZCAzMSAgICAgICAgICAJdnBhZGR1c3cgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkYiBmNCAgICAgICAgICAJdnBhbmQgICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZGIgMzEgICAgICAgICAgCXZwYW5kICBcKCVlY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGRmIGY0ICAgICAgICAgIAl2cGFuZG4gJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkZiAzMSAgICAgICAgICAJdnBhbmRuIFwoJWVjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZTAgZjQgICAgICAgICAgCXZwYXZnYiAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGUwIDMxICAgICAgICAgIAl2cGF2Z2IgXCglZWN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlMyBmNCAgICAgICAgICAJdnBhdmd3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZTMgMzEgICAgICAgICAgCXZwYXZndyBcKCVlY3hcKSwleG1tNiwleG1tNgogWyAJXSpbYS1mMC05XSs6CWM1IGM5IDc0IGY0ICAgICAgICAgIAl2cGNtcGVxYiAleG1tNCwleG1tNiwleG1tNgogWyAJXSpbYS1mMC05XSs6CWM1IGM5IDc0IDMxICAgICAgICAgIAl2cGNtcGVxYiBcKCVlY3hcKSwleG1tNiwleG1tNgogWyAJXSpbYS1mMC05XSs6CWM1IGM5IDc1IGY0ICAgICAgICAgIAl2cGNtcGVxdyAleG1tNCwleG1tNiwleG1tNgpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9zc2UyYXZ4LnMgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3NzZTJhdngucwppbmRleCAzYTQ4YjIxLi44MTBhYWViIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3NzZTJhdngucworKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3NzZTJhdngucwpAQCAtMTU3LDE0ICsxNTcsNiBAQAogCXBhdmdiICglZWN4KSwleG1tNgogCXBhdmd3ICV4bW00LCV4bW02CiAJcGF2Z3cgKCVlY3gpLCV4bW02Ci0JcGNsbXVsbHFscWRxICV4bW00LCV4bW02Ci0JcGNsbXVsbHFscWRxICglZWN4KSwleG1tNgotCXBjbG11bGhxbHFkcSAleG1tNCwleG1tNgotCXBjbG11bGhxbHFkcSAoJWVjeCksJXhtbTYKLQlwY2xtdWxscWhxZHEgJXhtbTQsJXhtbTYKLQlwY2xtdWxscWhxZHEgKCVlY3gpLCV4bW02Ci0JcGNsbXVsaHFocWRxICV4bW00LCV4bW02Ci0JcGNsbXVsaHFocWRxICglZWN4KSwleG1tNgogCXBjbXBlcWIgJXhtbTQsJXhtbTYKIAlwY21wZXFiICglZWN4KSwleG1tNgogCXBjbXBlcXcgJXhtbTQsJXhtbTYKQEAgLTY2MCwzICs2NTIsNjU0IEBACiAjIFRlc3RzIGZvciBvcCBpbW04LCB4bW0sIHJlZ2wKIAlwZXh0cncgJDEwMCwleG1tNCwlZWN4CiAKKworCS5pbnRlbF9zeW50YXggbm9wcmVmaXgKKyMgVGVzdHMgZm9yIG9wIG1lbTY0CisJbGRteGNzciBEV09SRCBQVFIgW2VjeF0KKwlzdG14Y3NyIERXT1JEIFBUUiBbZWN4XQorCisjIFRlc3RzIGZvciBvcCB4bW0vbWVtMTI4LCB4bW0KKwljdnRkcTJwcyB4bW02LHhtbTQKKwljdnRkcTJwcyB4bW00LFhNTVdPUkQgUFRSIFtlY3hdCisJY3Z0cGQyZHEgeG1tNix4bW00CisJY3Z0cGQyZHEgeG1tNCxYTU1XT1JEIFBUUiBbZWN4XQorCWN2dHBkMnBzIHhtbTYseG1tNAorCWN2dHBkMnBzIHhtbTQsWE1NV09SRCBQVFIgW2VjeF0KKwljdnRwczJkcSB4bW02LHhtbTQKKwljdnRwczJkcSB4bW00LFhNTVdPUkQgUFRSIFtlY3hdCisJY3Z0dHBkMmRxIHhtbTYseG1tNAorCWN2dHRwZDJkcSB4bW00LFhNTVdPUkQgUFRSIFtlY3hdCisJY3Z0dHBzMmRxIHhtbTYseG1tNAorCWN2dHRwczJkcSB4bW00LFhNTVdPUkQgUFRSIFtlY3hdCisJbW92YXBkIHhtbTYseG1tNAorCW1vdmFwZCB4bW00LFhNTVdPUkQgUFRSIFtlY3hdCisJbW92YXBzIHhtbTYseG1tNAorCW1vdmFwcyB4bW00LFhNTVdPUkQgUFRSIFtlY3hdCisJbW92ZHFhIHhtbTYseG1tNAorCW1vdmRxYSB4bW00LFhNTVdPUkQgUFRSIFtlY3hdCisJbW92ZHF1IHhtbTYseG1tNAorCW1vdmRxdSB4bW00LFhNTVdPUkQgUFRSIFtlY3hdCisJbW92c2hkdXAgeG1tNix4bW00CisJbW92c2hkdXAgeG1tNCxYTU1XT1JEIFBUUiBbZWN4XQorCW1vdnNsZHVwIHhtbTYseG1tNAorCW1vdnNsZHVwIHhtbTQsWE1NV09SRCBQVFIgW2VjeF0KKwltb3Z1cGQgeG1tNix4bW00CisJbW92dXBkIHhtbTQsWE1NV09SRCBQVFIgW2VjeF0KKwltb3Z1cHMgeG1tNix4bW00CisJbW92dXBzIHhtbTQsWE1NV09SRCBQVFIgW2VjeF0KKwlwYWJzYiB4bW02LHhtbTQKKwlwYWJzYiB4bW00LFhNTVdPUkQgUFRSIFtlY3hdCisJcGFic3cgeG1tNix4bW00CisJcGFic3cgeG1tNCxYTU1XT1JEIFBUUiBbZWN4XQorCXBhYnNkIHhtbTYseG1tNAorCXBhYnNkIHhtbTQsWE1NV09SRCBQVFIgW2VjeF0KKwlwaG1pbnBvc3V3IHhtbTYseG1tNAorCXBobWlucG9zdXcgeG1tNCxYTU1XT1JEIFBUUiBbZWN4XQorCXB0ZXN0IHhtbTYseG1tNAorCXB0ZXN0IHhtbTQsWE1NV09SRCBQVFIgW2VjeF0KKwlyY3BwcyB4bW02LHhtbTQKKwlyY3BwcyB4bW00LFhNTVdPUkQgUFRSIFtlY3hdCisJcnNxcnRwcyB4bW02LHhtbTQKKwlyc3FydHBzIHhtbTQsWE1NV09SRCBQVFIgW2VjeF0KKwlzcXJ0cGQgeG1tNix4bW00CisJc3FydHBkIHhtbTQsWE1NV09SRCBQVFIgW2VjeF0KKwlzcXJ0cHMgeG1tNix4bW00CisJc3FydHBzIHhtbTQsWE1NV09SRCBQVFIgW2VjeF0KKwlhZXNpbWMgeG1tNix4bW00CisJYWVzaW1jIHhtbTQsWE1NV09SRCBQVFIgW2VjeF0KKworIyBUZXN0cyBmb3Igb3AgeG1tLCB4bW0vbWVtMTI4CisJbW92YXBkIHhtbTYseG1tNAorCW1vdmFwZCBYTU1XT1JEIFBUUiBbZWN4XSx4bW00CisJbW92YXBzIHhtbTYseG1tNAorCW1vdmFwcyBYTU1XT1JEIFBUUiBbZWN4XSx4bW00CisJbW92ZHFhIHhtbTYseG1tNAorCW1vdmRxYSBYTU1XT1JEIFBUUiBbZWN4XSx4bW00CisJbW92ZHF1IHhtbTYseG1tNAorCW1vdmRxdSBYTU1XT1JEIFBUUiBbZWN4XSx4bW00CisJbW92dXBkIHhtbTYseG1tNAorCW1vdnVwZCBYTU1XT1JEIFBUUiBbZWN4XSx4bW00CisJbW92dXBzIHhtbTYseG1tNAorCW1vdnVwcyBYTU1XT1JEIFBUUiBbZWN4XSx4bW00CisKKyMgVGVzdHMgZm9yIG9wIG1lbTEyOCwgeG1tCisJbGRkcXUgeG1tNCxYTU1XT1JEIFBUUiBbZWN4XQorCW1vdm50ZHFhIHhtbTQsWE1NV09SRCBQVFIgW2VjeF0KKworIyBUZXN0cyBmb3Igb3AgeG1tLCBtZW0xMjgKKwltb3ZudGRxIFhNTVdPUkQgUFRSIFtlY3hdLHhtbTQKKwltb3ZudHBkIFhNTVdPUkQgUFRSIFtlY3hdLHhtbTQKKwltb3ZudHBzIFhNTVdPUkQgUFRSIFtlY3hdLHhtbTQKKworIyBUZXN0cyBmb3Igb3AgeG1tL21lbTEyOCwgeG1tWywgeG1tXQorCWFkZHBkIHhtbTYseG1tNAorCWFkZHBkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlhZGRwcyB4bW02LHhtbTQKKwlhZGRwcyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJYWRkc3VicGQgeG1tNix4bW00CisJYWRkc3VicGQgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCWFkZHN1YnBzIHhtbTYseG1tNAorCWFkZHN1YnBzIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlhbmRucGQgeG1tNix4bW00CisJYW5kbnBkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlhbmRucHMgeG1tNix4bW00CisJYW5kbnBzIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlhbmRwZCB4bW02LHhtbTQKKwlhbmRwZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJYW5kcHMgeG1tNix4bW00CisJYW5kcHMgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCWRpdnBkIHhtbTYseG1tNAorCWRpdnBkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlkaXZwcyB4bW02LHhtbTQKKwlkaXZwcyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJaGFkZHBkIHhtbTYseG1tNAorCWhhZGRwZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJaGFkZHBzIHhtbTYseG1tNAorCWhhZGRwcyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJaHN1YnBkIHhtbTYseG1tNAorCWhzdWJwZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJaHN1YnBzIHhtbTYseG1tNAorCWhzdWJwcyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJbWF4cGQgeG1tNix4bW00CisJbWF4cGQgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCW1heHBzIHhtbTYseG1tNAorCW1heHBzIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwltaW5wZCB4bW02LHhtbTQKKwltaW5wZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJbWlucHMgeG1tNix4bW00CisJbWlucHMgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCW11bHBkIHhtbTYseG1tNAorCW11bHBkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwltdWxwcyB4bW02LHhtbTQKKwltdWxwcyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJb3JwZCB4bW02LHhtbTQKKwlvcnBkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlvcnBzIHhtbTYseG1tNAorCW9ycHMgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBhY2tzc3diIHhtbTYseG1tNAorCXBhY2tzc3diIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlwYWNrc3NkdyB4bW02LHhtbTQKKwlwYWNrc3NkdyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcGFja3Vzd2IgeG1tNix4bW00CisJcGFja3Vzd2IgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBhY2t1c2R3IHhtbTYseG1tNAorCXBhY2t1c2R3IHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlwYWRkYiB4bW02LHhtbTQKKwlwYWRkYiB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcGFkZHcgeG1tNix4bW00CisJcGFkZHcgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBhZGRkIHhtbTYseG1tNAorCXBhZGRkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlwYWRkcSB4bW02LHhtbTQKKwlwYWRkcSB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcGFkZHNiIHhtbTYseG1tNAorCXBhZGRzYiB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcGFkZHN3IHhtbTYseG1tNAorCXBhZGRzdyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcGFkZHVzYiB4bW02LHhtbTQKKwlwYWRkdXNiIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlwYWRkdXN3IHhtbTYseG1tNAorCXBhZGR1c3cgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBhbmQgeG1tNix4bW00CisJcGFuZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcGFuZG4geG1tNix4bW00CisJcGFuZG4geG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBhdmdiIHhtbTYseG1tNAorCXBhdmdiIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlwYXZndyB4bW02LHhtbTQKKwlwYXZndyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcGNtcGVxYiB4bW02LHhtbTQKKwlwY21wZXFiIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlwY21wZXF3IHhtbTYseG1tNAorCXBjbXBlcXcgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBjbXBlcWQgeG1tNix4bW00CisJcGNtcGVxZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcGNtcGVxcSB4bW02LHhtbTQKKwlwY21wZXFxIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlwY21wZ3RiIHhtbTYseG1tNAorCXBjbXBndGIgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBjbXBndHcgeG1tNix4bW00CisJcGNtcGd0dyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcGNtcGd0ZCB4bW02LHhtbTQKKwlwY21wZ3RkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlwY21wZ3RxIHhtbTYseG1tNAorCXBjbXBndHEgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBoYWRkdyB4bW02LHhtbTQKKwlwaGFkZHcgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBoYWRkZCB4bW02LHhtbTQKKwlwaGFkZGQgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBoYWRkc3cgeG1tNix4bW00CisJcGhhZGRzdyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcGhzdWJ3IHhtbTYseG1tNAorCXBoc3VidyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcGhzdWJkIHhtbTYseG1tNAorCXBoc3ViZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcGhzdWJzdyB4bW02LHhtbTQKKwlwaHN1YnN3IHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlwbWFkZHdkIHhtbTYseG1tNAorCXBtYWRkd2QgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtYWRkdWJzdyB4bW02LHhtbTQKKwlwbWFkZHVic3cgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtYXhzYiB4bW02LHhtbTQKKwlwbWF4c2IgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtYXhzdyB4bW02LHhtbTQKKwlwbWF4c3cgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtYXhzZCB4bW02LHhtbTQKKwlwbWF4c2QgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtYXh1YiB4bW02LHhtbTQKKwlwbWF4dWIgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtYXh1dyB4bW02LHhtbTQKKwlwbWF4dXcgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtYXh1ZCB4bW02LHhtbTQKKwlwbWF4dWQgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtaW5zYiB4bW02LHhtbTQKKwlwbWluc2IgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtaW5zdyB4bW02LHhtbTQKKwlwbWluc3cgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtaW5zZCB4bW02LHhtbTQKKwlwbWluc2QgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtaW51YiB4bW02LHhtbTQKKwlwbWludWIgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtaW51dyB4bW02LHhtbTQKKwlwbWludXcgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtaW51ZCB4bW02LHhtbTQKKwlwbWludWQgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtdWxodXcgeG1tNix4bW00CisJcG11bGh1dyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcG11bGhyc3cgeG1tNix4bW00CisJcG11bGhyc3cgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtdWxodyB4bW02LHhtbTQKKwlwbXVsaHcgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtdWxsdyB4bW02LHhtbTQKKwlwbXVsbHcgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtdWxsZCB4bW02LHhtbTQKKwlwbXVsbGQgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBtdWx1ZHEgeG1tNix4bW00CisJcG11bHVkcSB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcG11bGRxIHhtbTYseG1tNAorCXBtdWxkcSB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcG9yIHhtbTYseG1tNAorCXBvciB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHNhZGJ3IHhtbTYseG1tNAorCXBzYWRidyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHNodWZiIHhtbTYseG1tNAorCXBzaHVmYiB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHNpZ25iIHhtbTYseG1tNAorCXBzaWduYiB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHNpZ253IHhtbTYseG1tNAorCXBzaWdudyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHNpZ25kIHhtbTYseG1tNAorCXBzaWduZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHNsbHcgeG1tNix4bW00CisJcHNsbHcgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBzbGxkIHhtbTYseG1tNAorCXBzbGxkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlwc2xscSB4bW02LHhtbTQKKwlwc2xscSB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHNyYXcgeG1tNix4bW00CisJcHNyYXcgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBzcmFkIHhtbTYseG1tNAorCXBzcmFkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlwc3JsdyB4bW02LHhtbTQKKwlwc3JsdyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHNybGQgeG1tNix4bW00CisJcHNybGQgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBzcmxxIHhtbTYseG1tNAorCXBzcmxxIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlwc3ViYiB4bW02LHhtbTQKKwlwc3ViYiB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHN1YncgeG1tNix4bW00CisJcHN1YncgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXBzdWJkIHhtbTYseG1tNAorCXBzdWJkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlwc3VicSB4bW02LHhtbTQKKwlwc3VicSB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHN1YnNiIHhtbTYseG1tNAorCXBzdWJzYiB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHN1YnN3IHhtbTYseG1tNAorCXBzdWJzdyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHN1YnVzYiB4bW02LHhtbTQKKwlwc3VidXNiIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlwc3VidXN3IHhtbTYseG1tNAorCXBzdWJ1c3cgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXB1bnBja2hidyB4bW02LHhtbTQKKwlwdW5wY2toYncgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXB1bnBja2h3ZCB4bW02LHhtbTQKKwlwdW5wY2tod2QgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXB1bnBja2hkcSB4bW02LHhtbTQKKwlwdW5wY2toZHEgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXB1bnBja2hxZHEgeG1tNix4bW00CisJcHVucGNraHFkcSB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHVucGNrbGJ3IHhtbTYseG1tNAorCXB1bnBja2xidyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHVucGNrbHdkIHhtbTYseG1tNAorCXB1bnBja2x3ZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHVucGNrbGRxIHhtbTYseG1tNAorCXB1bnBja2xkcSB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcHVucGNrbHFkcSB4bW02LHhtbTQKKwlwdW5wY2tscWRxIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlweG9yIHhtbTYseG1tNAorCXB4b3IgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXN1YnBkIHhtbTYseG1tNAorCXN1YnBkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlzdWJwcyB4bW02LHhtbTQKKwlzdWJwcyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJdW5wY2tocGQgeG1tNix4bW00CisJdW5wY2tocGQgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXVucGNraHBzIHhtbTYseG1tNAorCXVucGNraHBzIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwl1bnBja2xwZCB4bW02LHhtbTQKKwl1bnBja2xwZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJdW5wY2tscHMgeG1tNix4bW00CisJdW5wY2tscHMgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCXhvcnBkIHhtbTYseG1tNAorCXhvcnBkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwl4b3JwcyB4bW02LHhtbTQKKwl4b3JwcyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJYWVzZW5jIHhtbTYseG1tNAorCWFlc2VuYyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJYWVzZW5jbGFzdCB4bW02LHhtbTQKKwlhZXNlbmNsYXN0IHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlhZXNkZWMgeG1tNix4bW00CisJYWVzZGVjIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwlhZXNkZWNsYXN0IHhtbTYseG1tNAorCWFlc2RlY2xhc3QgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCWNtcGVxcGQgeG1tNix4bW00CisJY21wZXFwZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJY21wZXFwcyB4bW02LHhtbTQKKwljbXBlcXBzIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwljbXBsdHBkIHhtbTYseG1tNAorCWNtcGx0cGQgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCWNtcGx0cHMgeG1tNix4bW00CisJY21wbHRwcyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJY21wbGVwZCB4bW02LHhtbTQKKwljbXBsZXBkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwljbXBsZXBzIHhtbTYseG1tNAorCWNtcGxlcHMgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCWNtcHVub3JkcGQgeG1tNix4bW00CisJY21wdW5vcmRwZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJY21wdW5vcmRwcyB4bW02LHhtbTQKKwljbXB1bm9yZHBzIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwljbXBuZXFwZCB4bW02LHhtbTQKKwljbXBuZXFwZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJY21wbmVxcHMgeG1tNix4bW00CisJY21wbmVxcHMgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCWNtcG5sdHBkIHhtbTYseG1tNAorCWNtcG5sdHBkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwljbXBubHRwcyB4bW02LHhtbTQKKwljbXBubHRwcyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJY21wbmxlcGQgeG1tNix4bW00CisJY21wbmxlcGQgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCWNtcG5sZXBzIHhtbTYseG1tNAorCWNtcG5sZXBzIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0KKwljbXBvcmRwZCB4bW02LHhtbTQKKwljbXBvcmRwZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJY21wb3JkcHMgeG1tNix4bW00CisJY21wb3JkcHMgeG1tNixYTU1XT1JEIFBUUiBbZWN4XQorCisjIFRlc3RzIGZvciBvcCBpbW04LCB4bW0vbWVtMTI4LCB4bW0KKwlhZXNrZXlnZW5hc3Npc3QgeG1tNix4bW00LDEwMAorCWFlc2tleWdlbmFzc2lzdCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdLDEwMAorCXBjbXBlc3RyaSB4bW02LHhtbTQsMTAwCisJcGNtcGVzdHJpIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0sMTAwCisJcGNtcGVzdHJtIHhtbTYseG1tNCwxMDAKKwlwY21wZXN0cm0geG1tNixYTU1XT1JEIFBUUiBbZWN4XSwxMDAKKwlwY21waXN0cmkgeG1tNix4bW00LDEwMAorCXBjbXBpc3RyaSB4bW02LFhNTVdPUkQgUFRSIFtlY3hdLDEwMAorCXBjbXBpc3RybSB4bW02LHhtbTQsMTAwCisJcGNtcGlzdHJtIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0sMTAwCisJcHNodWZkIHhtbTYseG1tNCwxMDAKKwlwc2h1ZmQgeG1tNixYTU1XT1JEIFBUUiBbZWN4XSwxMDAKKwlwc2h1Zmh3IHhtbTYseG1tNCwxMDAKKwlwc2h1Zmh3IHhtbTYsWE1NV09SRCBQVFIgW2VjeF0sMTAwCisJcHNodWZsdyB4bW02LHhtbTQsMTAwCisJcHNodWZsdyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdLDEwMAorCXJvdW5kcGQgeG1tNix4bW00LDEwMAorCXJvdW5kcGQgeG1tNixYTU1XT1JEIFBUUiBbZWN4XSwxMDAKKwlyb3VuZHBzIHhtbTYseG1tNCwxMDAKKwlyb3VuZHBzIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0sMTAwCisKKyMgVGVzdHMgZm9yIG9wIGltbTgsIHhtbS9tZW0xMjgsIHhtbVssIHhtbV0KKwlibGVuZHBkIHhtbTYseG1tNCwxMDAKKwlibGVuZHBkIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0sMTAwCisJYmxlbmRwcyB4bW02LHhtbTQsMTAwCisJYmxlbmRwcyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdLDEwMAorCWNtcHBkIHhtbTYseG1tNCwxMDAKKwljbXBwZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdLDEwMAorCWNtcHBzIHhtbTYseG1tNCwxMDAKKwljbXBwcyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdLDEwMAorCWRwcGQgeG1tNix4bW00LDEwMAorCWRwcGQgeG1tNixYTU1XT1JEIFBUUiBbZWN4XSwxMDAKKwlkcHBzIHhtbTYseG1tNCwxMDAKKwlkcHBzIHhtbTYsWE1NV09SRCBQVFIgW2VjeF0sMTAwCisJbXBzYWRidyB4bW02LHhtbTQsMTAwCisJbXBzYWRidyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdLDEwMAorCXBhbGlnbnIgeG1tNix4bW00LDEwMAorCXBhbGlnbnIgeG1tNixYTU1XT1JEIFBUUiBbZWN4XSwxMDAKKwlwYmxlbmR3IHhtbTYseG1tNCwxMDAKKwlwYmxlbmR3IHhtbTYsWE1NV09SRCBQVFIgW2VjeF0sMTAwCisJc2h1ZnBkIHhtbTYseG1tNCwxMDAKKwlzaHVmcGQgeG1tNixYTU1XT1JEIFBUUiBbZWN4XSwxMDAKKwlzaHVmcHMgeG1tNix4bW00LDEwMAorCXNodWZwcyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdLDEwMAorCisjIFRlc3RzIGZvciBvcCB4bW0wLCB4bW0vbWVtMTI4LCB4bW1bLCB4bW1dCisJYmxlbmR2cGQgeG1tNix4bW00LHhtbTAKKwlibGVuZHZwZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdLHhtbTAKKwlibGVuZHZwZCB4bW02LHhtbTQKKwlibGVuZHZwZCB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJYmxlbmR2cHMgeG1tNix4bW00LHhtbTAKKwlibGVuZHZwcyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdLHhtbTAKKwlibGVuZHZwcyB4bW02LHhtbTQKKwlibGVuZHZwcyB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisJcGJsZW5kdmIgeG1tNix4bW00LHhtbTAKKwlwYmxlbmR2YiB4bW02LFhNTVdPUkQgUFRSIFtlY3hdLHhtbTAKKwlwYmxlbmR2YiB4bW02LHhtbTQKKwlwYmxlbmR2YiB4bW02LFhNTVdPUkQgUFRSIFtlY3hdCisKKyMgVGVzdHMgZm9yIG9wIHhtbS9tZW02NCwgeG1tCisJY29taXNkIHhtbTYseG1tNAorCWNvbWlzZCB4bW00LFFXT1JEIFBUUiBbZWN4XQorCWN2dGRxMnBkIHhtbTYseG1tNAorCWN2dGRxMnBkIHhtbTQsUVdPUkQgUFRSIFtlY3hdCisJY3Z0cHMycGQgeG1tNix4bW00CisJY3Z0cHMycGQgeG1tNCxRV09SRCBQVFIgW2VjeF0KKwltb3ZkZHVwIHhtbTYseG1tNAorCW1vdmRkdXAgeG1tNCxRV09SRCBQVFIgW2VjeF0KKwlwbW92c3hidyB4bW02LHhtbTQKKwlwbW92c3hidyB4bW00LFFXT1JEIFBUUiBbZWN4XQorCXBtb3ZzeHdkIHhtbTYseG1tNAorCXBtb3ZzeHdkIHhtbTQsUVdPUkQgUFRSIFtlY3hdCisJcG1vdnN4ZHEgeG1tNix4bW00CisJcG1vdnN4ZHEgeG1tNCxRV09SRCBQVFIgW2VjeF0KKwlwbW92enhidyB4bW02LHhtbTQKKwlwbW92enhidyB4bW00LFFXT1JEIFBUUiBbZWN4XQorCXBtb3Z6eHdkIHhtbTYseG1tNAorCXBtb3Z6eHdkIHhtbTQsUVdPUkQgUFRSIFtlY3hdCisJcG1vdnp4ZHEgeG1tNix4bW00CisJcG1vdnp4ZHEgeG1tNCxRV09SRCBQVFIgW2VjeF0KKwl1Y29taXNkIHhtbTYseG1tNAorCXVjb21pc2QgeG1tNCxRV09SRCBQVFIgW2VjeF0KKworIyBUZXN0cyBmb3Igb3AgbWVtNjQsIHhtbQorCW1vdnNkIHhtbTQsUVdPUkQgUFRSIFtlY3hdCisKKyMgVGVzdHMgZm9yIG9wIHhtbSwgbWVtNjQKKwltb3ZscGQgUVdPUkQgUFRSIFtlY3hdLHhtbTQKKwltb3ZscHMgUVdPUkQgUFRSIFtlY3hdLHhtbTQKKwltb3ZocGQgUVdPUkQgUFRSIFtlY3hdLHhtbTQKKwltb3ZocHMgUVdPUkQgUFRSIFtlY3hdLHhtbTQKKwltb3ZzZCBRV09SRCBQVFIgW2VjeF0seG1tNAorCisjIFRlc3RzIGZvciBvcCB4bW0sIHJlZ3EvbWVtNjQKKyMgVGVzdHMgZm9yIG9wIHJlZ3EvbWVtNjQsIHhtbQorCW1vdnEgUVdPUkQgUFRSIFtlY3hdLHhtbTQKKwltb3ZxIHhtbTQsUVdPUkQgUFRSIFtlY3hdCisKKyMgVGVzdHMgZm9yIG9wIHhtbS9tZW02NCwgcmVnbAorCWN2dHNkMnNpIGVjeCx4bW00CisJY3Z0c2Qyc2kgZWN4LFFXT1JEIFBUUiBbZWN4XQorCWN2dHRzZDJzaSBlY3gseG1tNAorCWN2dHRzZDJzaSBlY3gsUVdPUkQgUFRSIFtlY3hdCisKKyMgVGVzdHMgZm9yIG9wIG1lbTY0LCB4bW1bLCB4bW1dCisJbW92bHBkIHhtbTQsUVdPUkQgUFRSIFtlY3hdCisJbW92bHBzIHhtbTQsUVdPUkQgUFRSIFtlY3hdCisJbW92aHBkIHhtbTQsUVdPUkQgUFRSIFtlY3hdCisJbW92aHBzIHhtbTQsUVdPUkQgUFRSIFtlY3hdCisKKyMgVGVzdHMgZm9yIG9wIGltbTgsIHhtbS9tZW02NCwgeG1tWywgeG1tXQorCWNtcHNkIHhtbTYseG1tNCwxMDAKKwljbXBzZCB4bW02LFFXT1JEIFBUUiBbZWN4XSwxMDAKKwlyb3VuZHNkIHhtbTYseG1tNCwxMDAKKwlyb3VuZHNkIHhtbTYsUVdPUkQgUFRSIFtlY3hdLDEwMAorCisjIFRlc3RzIGZvciBvcCB4bW0vbWVtNjQsIHhtbVssIHhtbV0KKwlhZGRzZCB4bW02LHhtbTQKKwlhZGRzZCB4bW02LFFXT1JEIFBUUiBbZWN4XQorCWN2dHNkMnNzIHhtbTYseG1tNAorCWN2dHNkMnNzIHhtbTYsUVdPUkQgUFRSIFtlY3hdCisJZGl2c2QgeG1tNix4bW00CisJZGl2c2QgeG1tNixRV09SRCBQVFIgW2VjeF0KKwltYXhzZCB4bW02LHhtbTQKKwltYXhzZCB4bW02LFFXT1JEIFBUUiBbZWN4XQorCW1pbnNkIHhtbTYseG1tNAorCW1pbnNkIHhtbTYsUVdPUkQgUFRSIFtlY3hdCisJbXVsc2QgeG1tNix4bW00CisJbXVsc2QgeG1tNixRV09SRCBQVFIgW2VjeF0KKwlzcXJ0c2QgeG1tNix4bW00CisJc3FydHNkIHhtbTYsUVdPUkQgUFRSIFtlY3hdCisJc3Vic2QgeG1tNix4bW00CisJc3Vic2QgeG1tNixRV09SRCBQVFIgW2VjeF0KKwljbXBlcXNkIHhtbTYseG1tNAorCWNtcGVxc2QgeG1tNixRV09SRCBQVFIgW2VjeF0KKwljbXBsdHNkIHhtbTYseG1tNAorCWNtcGx0c2QgeG1tNixRV09SRCBQVFIgW2VjeF0KKwljbXBsZXNkIHhtbTYseG1tNAorCWNtcGxlc2QgeG1tNixRV09SRCBQVFIgW2VjeF0KKwljbXB1bm9yZHNkIHhtbTYseG1tNAorCWNtcHVub3Jkc2QgeG1tNixRV09SRCBQVFIgW2VjeF0KKwljbXBuZXFzZCB4bW02LHhtbTQKKwljbXBuZXFzZCB4bW02LFFXT1JEIFBUUiBbZWN4XQorCWNtcG5sdHNkIHhtbTYseG1tNAorCWNtcG5sdHNkIHhtbTYsUVdPUkQgUFRSIFtlY3hdCisJY21wbmxlc2QgeG1tNix4bW00CisJY21wbmxlc2QgeG1tNixRV09SRCBQVFIgW2VjeF0KKwljbXBvcmRzZCB4bW02LHhtbTQKKwljbXBvcmRzZCB4bW02LFFXT1JEIFBUUiBbZWN4XQorCisjIFRlc3RzIGZvciBvcCB4bW0vbWVtMzIsIHhtbVssIHhtbV0KKwlhZGRzcyB4bW02LHhtbTQKKwlhZGRzcyB4bW02LERXT1JEIFBUUiBbZWN4XQorCWN2dHNzMnNkIHhtbTYseG1tNAorCWN2dHNzMnNkIHhtbTYsRFdPUkQgUFRSIFtlY3hdCisJZGl2c3MgeG1tNix4bW00CisJZGl2c3MgeG1tNixEV09SRCBQVFIgW2VjeF0KKwltYXhzcyB4bW02LHhtbTQKKwltYXhzcyB4bW02LERXT1JEIFBUUiBbZWN4XQorCW1pbnNzIHhtbTYseG1tNAorCW1pbnNzIHhtbTYsRFdPUkQgUFRSIFtlY3hdCisJbXVsc3MgeG1tNix4bW00CisJbXVsc3MgeG1tNixEV09SRCBQVFIgW2VjeF0KKwlyY3BzcyB4bW02LHhtbTQKKwlyY3BzcyB4bW02LERXT1JEIFBUUiBbZWN4XQorCXJzcXJ0c3MgeG1tNix4bW00CisJcnNxcnRzcyB4bW02LERXT1JEIFBUUiBbZWN4XQorCXNxcnRzcyB4bW02LHhtbTQKKwlzcXJ0c3MgeG1tNixEV09SRCBQVFIgW2VjeF0KKwlzdWJzcyB4bW02LHhtbTQKKwlzdWJzcyB4bW02LERXT1JEIFBUUiBbZWN4XQorCWNtcGVxc3MgeG1tNix4bW00CisJY21wZXFzcyB4bW02LERXT1JEIFBUUiBbZWN4XQorCWNtcGx0c3MgeG1tNix4bW00CisJY21wbHRzcyB4bW02LERXT1JEIFBUUiBbZWN4XQorCWNtcGxlc3MgeG1tNix4bW00CisJY21wbGVzcyB4bW02LERXT1JEIFBUUiBbZWN4XQorCWNtcHVub3Jkc3MgeG1tNix4bW00CisJY21wdW5vcmRzcyB4bW02LERXT1JEIFBUUiBbZWN4XQorCWNtcG5lcXNzIHhtbTYseG1tNAorCWNtcG5lcXNzIHhtbTYsRFdPUkQgUFRSIFtlY3hdCisJY21wbmx0c3MgeG1tNix4bW00CisJY21wbmx0c3MgeG1tNixEV09SRCBQVFIgW2VjeF0KKwljbXBubGVzcyB4bW02LHhtbTQKKwljbXBubGVzcyB4bW02LERXT1JEIFBUUiBbZWN4XQorCWNtcG9yZHNzIHhtbTYseG1tNAorCWNtcG9yZHNzIHhtbTYsRFdPUkQgUFRSIFtlY3hdCisKKyMgVGVzdHMgZm9yIG9wIHhtbS9tZW0zMiwgeG1tCisJY29taXNzIHhtbTYseG1tNAorCWNvbWlzcyB4bW00LERXT1JEIFBUUiBbZWN4XQorCXBtb3ZzeGJkIHhtbTYseG1tNAorCXBtb3ZzeGJkIHhtbTQsRFdPUkQgUFRSIFtlY3hdCisJcG1vdnN4d3EgeG1tNix4bW00CisJcG1vdnN4d3EgeG1tNCxEV09SRCBQVFIgW2VjeF0KKwlwbW92enhiZCB4bW02LHhtbTQKKwlwbW92enhiZCB4bW00LERXT1JEIFBUUiBbZWN4XQorCXBtb3Z6eHdxIHhtbTYseG1tNAorCXBtb3Z6eHdxIHhtbTQsRFdPUkQgUFRSIFtlY3hdCisJdWNvbWlzcyB4bW02LHhtbTQKKwl1Y29taXNzIHhtbTQsRFdPUkQgUFRSIFtlY3hdCisKKyMgVGVzdHMgZm9yIG9wIG1lbTMyLCB4bW0KKwltb3ZzcyB4bW00LERXT1JEIFBUUiBbZWN4XQorCisjIFRlc3RzIGZvciBvcCB4bW0sIG1lbTMyCisJbW92c3MgRFdPUkQgUFRSIFtlY3hdLHhtbTQKKworIyBUZXN0cyBmb3Igb3AgeG1tLCByZWdsL21lbTMyCisjIFRlc3RzIGZvciBvcCByZWdsL21lbTMyLCB4bW0KKwltb3ZkIGVjeCx4bW00CisJbW92ZCBEV09SRCBQVFIgW2VjeF0seG1tNAorCW1vdmQgeG1tNCxlY3gKKwltb3ZkIHhtbTQsRFdPUkQgUFRSIFtlY3hdCisKKyMgVGVzdHMgZm9yIG9wIHhtbS9tZW0zMiwgcmVnbAorCWN2dHNzMnNpIGVjeCx4bW00CisJY3Z0c3Myc2kgZWN4LERXT1JEIFBUUiBbZWN4XQorCWN2dHRzczJzaSBlY3gseG1tNAorCWN2dHRzczJzaSBlY3gsRFdPUkQgUFRSIFtlY3hdCisKKyMgVGVzdHMgZm9yIG9wIGltbTgsIHhtbSwgcmVncS9tZW0zMgorCWV4dHJhY3RwcyBEV09SRCBQVFIgW2VjeF0seG1tNCwxMDAKKyMgVGVzdHMgZm9yIG9wIGltbTgsIHhtbSwgcmVnbC9tZW0zMgorCXBleHRyZCBlY3gseG1tNCwxMDAKKwlwZXh0cmQgRFdPUkQgUFRSIFtlY3hdLHhtbTQsMTAwCisJZXh0cmFjdHBzIGVjeCx4bW00LDEwMAorCWV4dHJhY3RwcyBEV09SRCBQVFIgW2VjeF0seG1tNCwxMDAKKworIyBUZXN0cyBmb3Igb3AgcmVnbC9tZW0zMiwgeG1tWywgeG1tXQorCWN2dHNpMnNkIHhtbTQsZWN4CisJY3Z0c2kyc2QgeG1tNCxEV09SRCBQVFIgW2VjeF0KKwljdnRzaTJzcyB4bW00LGVjeAorCWN2dHNpMnNzIHhtbTQsRFdPUkQgUFRSIFtlY3hdCisKKyMgVGVzdHMgZm9yIG9wIGltbTgsIHhtbS9tZW0zMiwgeG1tWywgeG1tXQorCWNtcHNzIHhtbTYseG1tNCwxMDAKKwljbXBzcyB4bW02LERXT1JEIFBUUiBbZWN4XSwxMDAKKwlpbnNlcnRwcyB4bW02LHhtbTQsMTAwCisJaW5zZXJ0cHMgeG1tNixEV09SRCBQVFIgW2VjeF0sMTAwCisJcm91bmRzcyB4bW02LHhtbTQsMTAwCisJcm91bmRzcyB4bW02LERXT1JEIFBUUiBbZWN4XSwxMDAKKworIyBUZXN0cyBmb3Igb3AgeG1tL20xNiwgeG1tCisJcG1vdnN4YnEgeG1tNix4bW00CisJcG1vdnN4YnEgeG1tNCxXT1JEIFBUUiBbZWN4XQorCXBtb3Z6eGJxIHhtbTYseG1tNAorCXBtb3Z6eGJxIHhtbTQsV09SRCBQVFIgW2VjeF0KKworIyBUZXN0cyBmb3Igb3AgaW1tOCwgeG1tLCByZWdsL21lbTE2CisJcGV4dHJ3IGVjeCx4bW00LDEwMAorCXBleHRydyBXT1JEIFBUUiBbZWN4XSx4bW00LDEwMAorCisjIFRlc3RzIGZvciBvcCBpbW04LCB4bW0sIHJlZ3EvbWVtMTYKKwlwZXh0cncgV09SRCBQVFIgW2VjeF0seG1tNCwxMDAKKworIyBUZXN0cyBmb3Igb3AgaW1tOCwgcmVnbC9tZW0xNiwgeG1tWywgeG1tXQorCXBpbnNydyB4bW00LGVjeCwxMDAKKwlwaW5zcncgeG1tNCxXT1JEIFBUUiBbZWN4XSwxMDAKKworCisjIFRlc3RzIGZvciBvcCBpbW04LCB4bW0sIHJlZ2wvbWVtOAorCXBleHRyYiBlY3gseG1tNCwxMDAKKwlwZXh0cmIgQllURSBQVFIgW2VjeF0seG1tNCwxMDAKKworIyBUZXN0cyBmb3Igb3AgaW1tOCwgcmVnbC9tZW04LCB4bW1bLCB4bW1dCisJcGluc3JiIHhtbTQsZWN4LDEwMAorCXBpbnNyYiB4bW00LEJZVEUgUFRSIFtlY3hdLDEwMAorCisjIFRlc3RzIGZvciBvcCBpbW04LCB4bW0sIHJlZ3EvbWVtOAorCXBleHRyYiBCWVRFIFBUUiBbZWN4XSx4bW00LDEwMAorCisjIFRlc3RzIGZvciBvcCBpbW04LCByZWdsL21lbTgsIHhtbVssIHhtbV0KKwlwaW5zcmIgeG1tNCxlY3gsMTAwCisJcGluc3JiIHhtbTQsQllURSBQVFIgW2VjeF0sMTAwCisKKyMgVGVzdHMgZm9yIG9wIHhtbSwgeG1tCisJbWFza21vdmRxdSB4bW02LHhtbTQKKwltb3ZxIHhtbTYseG1tNAorCisjIFRlc3RzIGZvciBvcCB4bW0sIHJlZ2wKKwltb3Ztc2twZCBlY3gseG1tNAorCW1vdm1za3BzIGVjeCx4bW00CisJcG1vdm1za2IgZWN4LHhtbTQKKyMgVGVzdHMgZm9yIG9wIHhtbSwgeG1tWywgeG1tXQorCW1vdmhscHMgeG1tNix4bW00CisJbW92bGhwcyB4bW02LHhtbTQKKwltb3ZzZCB4bW02LHhtbTQKKwltb3ZzcyB4bW02LHhtbTQKKworIyBUZXN0cyBmb3Igb3AgaW1tOCwgeG1tWywgeG1tXQorCXBzbGxkIHhtbTQsMTAwCisJcHNsbGRxIHhtbTQsMTAwCisJcHNsbHEgeG1tNCwxMDAKKwlwc2xsdyB4bW00LDEwMAorCXBzcmFkIHhtbTQsMTAwCisJcHNyYXcgeG1tNCwxMDAKKwlwc3JsZCB4bW00LDEwMAorCXBzcmxkcSB4bW00LDEwMAorCXBzcmxxIHhtbTQsMTAwCisJcHNybHcgeG1tNCwxMDAKKworIyBUZXN0cyBmb3Igb3AgaW1tOCwgeG1tLCByZWdsCisJcGV4dHJ3IGVjeCx4bW00LDEwMAorCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3g4Ni02NC1ub3BzLTUtazguZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYveDg2LTY0LW5vcHMtNS1rOC5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1ZDFlMmUKLS0tIC9kZXYvbnVsbAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3g4Ni02NC1ub3BzLTUtazguZApAQCAtMCwwICsxLDczIEBACisjYXM6IC1tYXJjaD1rOAorI3NvdXJjZTogbm9wcy01LnMKKyNvYmpkdW1wOiAtZHJ3CisjbmFtZTogeDg2LTY0IC1tYXJjaD1rOCBub3BzIDUKKworLio6ICtmaWxlIGZvcm1hdCAuKgorCitEaXNhc3NlbWJseSBvZiBzZWN0aW9uIC50ZXh0OgorCiswKyA8aTM4Nj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGI2IDAwIDAwIDAwIDAwICAgIAlsZWEgICAgMHgwXCglcnNpXCksJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGJjIDI3IDAwIDAwIDAwIDAwIAlsZWEgICAgMHgwXCglcmRpLCVyaXosMVwpLCVlZGkKKworMCsxMCA8aTQ4Nj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGI2IDAwIDAwIDAwIDAwICAgIAlsZWEgICAgMHgwXCglcnNpXCksJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGJjIDI3IDAwIDAwIDAwIDAwIAlsZWEgICAgMHgwXCglcmRpLCVyaXosMVwpLCVlZGkKKworMCsyMCA8aTU4Nj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGI2IDAwIDAwIDAwIDAwICAgIAlsZWEgICAgMHgwXCglcnNpXCksJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGJjIDI3IDAwIDAwIDAwIDAwIAlsZWEgICAgMHgwXCglcmRpLCVyaXosMVwpLCVlZGkKKworMCszMCA8aTY4Nj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CTY2IDY2IDY2IDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIAlub3B3ICAgJWNzOjB4MFwoJXJheCwlcmF4LDFcKQorCiswKzQwIDxwZW50aXVtND46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CTY2IDY2IDY2IDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIAlub3B3ICAgJWNzOjB4MFwoJXJheCwlcmF4LDFcKQorCiswKzUwIDxub2NvbmE+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk2NiA2NiA2NiA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCAJbm9wdyAgICVjczoweDBcKCVyYXgsJXJheCwxXCkKKworMCs2MCA8Y29yZT46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CTY2IDY2IDY2IDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIAlub3B3ICAgJWNzOjB4MFwoJXJheCwlcmF4LDFcKQorCiswKzcwIDxjb3JlMj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CTY2IDY2IDY2IDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIAlub3B3ICAgJWNzOjB4MFwoJXJheCwlcmF4LDFcKQorCiswKzgwIDxrNj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGI2IDAwIDAwIDAwIDAwICAgIAlsZWEgICAgMHgwXCglcnNpXCksJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGJjIDI3IDAwIDAwIDAwIDAwIAlsZWEgICAgMHgwXCglcmRpLCVyaXosMVwpLCVlZGkKKworMCs5MCA8YXRobG9uPjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJNjYgMGYgMWYgNDQgMDAgMDAgICAgCW5vcHcgICAweDBcKCVyYXgsJXJheCwxXCkKK1sgCV0qW2EtZjAtOV0rOgkwZiAxZiA4MCAwMCAwMCAwMCAwMCAJbm9wbCAgIDB4MFwoJXJheFwpCisKKzArYTAgPGs4PjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJNjYgMGYgMWYgNDQgMDAgMDAgICAgCW5vcHcgICAweDBcKCVyYXgsJXJheCwxXCkKK1sgCV0qW2EtZjAtOV0rOgkwZiAxZiA4MCAwMCAwMCAwMCAwMCAJbm9wbCAgIDB4MFwoJXJheFwpCisKKzArYjAgPGdlbmVyaWMzMj46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGI2IDAwIDAwIDAwIDAwICAgIAlsZWEgICAgMHgwXCglcnNpXCksJWVzaQorWyAJXSpbYS1mMC05XSs6CThkIGJjIDI3IDAwIDAwIDAwIDAwIAlsZWEgICAgMHgwXCglcmRpLCVyaXosMVwpLCVlZGkKKworMCtjMCA8Z2VuZXJpYzY0PjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJNjYgNjYgNjYgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgCW5vcHcgICAlY3M6MHgwXCglcmF4LCVyYXgsMVwpCisKKzArZDAgPGFtZGZhbTEwPjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJNjYgMGYgMWYgNDQgMDAgMDAgICAgCW5vcHcgICAweDBcKCVyYXgsJXJheCwxXCkKK1sgCV0qW2EtZjAtOV0rOgkwZiAxZiA4MCAwMCAwMCAwMCAwMCAJbm9wbCAgIDB4MFwoJXJheFwpCisjcGFzcwpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94ODYtNjQtbm9wcy01LmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3g4Ni02NC1ub3BzLTUuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjA0MDFkCi0tLSAvZGV2L251bGwKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94ODYtNjQtbm9wcy01LmQKQEAgLTAsMCArMSw3MiBAQAorI3NvdXJjZTogbm9wcy01LnMKKyNvYmpkdW1wOiAtZHJ3CisjbmFtZTogeDg2LTY0IG5vcHMgNQorCisuKjogK2ZpbGUgZm9ybWF0IC4qCisKK0Rpc2Fzc2VtYmx5IG9mIHNlY3Rpb24gLnRleHQ6CisKKzArIDxpMzg2PjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJOGQgYjYgMDAgMDAgMDAgMDAgICAgCWxlYSAgICAweDBcKCVyc2lcKSwlZXNpCitbIAldKlthLWYwLTldKzoJOGQgYmMgMjcgMDAgMDAgMDAgMDAgCWxlYSAgICAweDBcKCVyZGksJXJpeiwxXCksJWVkaQorCiswKzEwIDxpNDg2PjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJOGQgYjYgMDAgMDAgMDAgMDAgICAgCWxlYSAgICAweDBcKCVyc2lcKSwlZXNpCitbIAldKlthLWYwLTldKzoJOGQgYmMgMjcgMDAgMDAgMDAgMDAgCWxlYSAgICAweDBcKCVyZGksJXJpeiwxXCksJWVkaQorCiswKzIwIDxpNTg2PjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJOGQgYjYgMDAgMDAgMDAgMDAgICAgCWxlYSAgICAweDBcKCVyc2lcKSwlZXNpCitbIAldKlthLWYwLTldKzoJOGQgYmMgMjcgMDAgMDAgMDAgMDAgCWxlYSAgICAweDBcKCVyZGksJXJpeiwxXCksJWVkaQorCiswKzMwIDxpNjg2PjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJNjYgNjYgNjYgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgCW5vcHcgICAlY3M6MHgwXCglcmF4LCVyYXgsMVwpCisKKzArNDAgPHBlbnRpdW00PjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJNjYgNjYgNjYgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgCW5vcHcgICAlY3M6MHgwXCglcmF4LCVyYXgsMVwpCisKKzArNTAgPG5vY29uYT46CitbIAldKlthLWYwLTldKzoJMGYgYmUgZjAgICAgICAgICAgICAgCW1vdnNibCAlYWwsJWVzaQorWyAJXSpbYS1mMC05XSs6CTY2IDY2IDY2IDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIAlub3B3ICAgJWNzOjB4MFwoJXJheCwlcmF4LDFcKQorCiswKzYwIDxjb3JlPjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJNjYgNjYgNjYgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgCW5vcHcgICAlY3M6MHgwXCglcmF4LCVyYXgsMVwpCisKKzArNzAgPGNvcmUyPjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJNjYgNjYgNjYgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgCW5vcHcgICAlY3M6MHgwXCglcmF4LCVyYXgsMVwpCisKKzArODAgPGs2PjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJOGQgYjYgMDAgMDAgMDAgMDAgICAgCWxlYSAgICAweDBcKCVyc2lcKSwlZXNpCitbIAldKlthLWYwLTldKzoJOGQgYmMgMjcgMDAgMDAgMDAgMDAgCWxlYSAgICAweDBcKCVyZGksJXJpeiwxXCksJWVkaQorCiswKzkwIDxhdGhsb24+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk2NiAwZiAxZiA0NCAwMCAwMCAgICAJbm9wdyAgIDB4MFwoJXJheCwlcmF4LDFcKQorWyAJXSpbYS1mMC05XSs6CTBmIDFmIDgwIDAwIDAwIDAwIDAwIAlub3BsICAgMHgwXCglcmF4XCkKKworMCthMCA8azg+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk2NiAwZiAxZiA0NCAwMCAwMCAgICAJbm9wdyAgIDB4MFwoJXJheCwlcmF4LDFcKQorWyAJXSpbYS1mMC05XSs6CTBmIDFmIDgwIDAwIDAwIDAwIDAwIAlub3BsICAgMHgwXCglcmF4XCkKKworMCtiMCA8Z2VuZXJpYzMyPjoKK1sgCV0qW2EtZjAtOV0rOgkwZiBiZSBmMCAgICAgICAgICAgICAJbW92c2JsICVhbCwlZXNpCitbIAldKlthLWYwLTldKzoJOGQgYjYgMDAgMDAgMDAgMDAgICAgCWxlYSAgICAweDBcKCVyc2lcKSwlZXNpCitbIAldKlthLWYwLTldKzoJOGQgYmMgMjcgMDAgMDAgMDAgMDAgCWxlYSAgICAweDBcKCVyZGksJXJpeiwxXCksJWVkaQorCiswK2MwIDxnZW5lcmljNjQ+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk2NiA2NiA2NiA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCAJbm9wdyAgICVjczoweDBcKCVyYXgsJXJheCwxXCkKKworMCtkMCA8YW1kZmFtMTA+OgorWyAJXSpbYS1mMC05XSs6CTBmIGJlIGYwICAgICAgICAgICAgIAltb3ZzYmwgJWFsLCVlc2kKK1sgCV0qW2EtZjAtOV0rOgk2NiAwZiAxZiA0NCAwMCAwMCAgICAJbm9wdyAgIDB4MFwoJXJheCwlcmF4LDFcKQorWyAJXSpbYS1mMC05XSs6CTBmIDFmIDgwIDAwIDAwIDAwIDAwIAlub3BsICAgMHgwXCglcmF4XCkKKyNwYXNzCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3g4Ni02NC1zc2UyYXZ4LmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3g4Ni02NC1zc2UyYXZ4LmQKaW5kZXggMTIyZWZkMi4uMjc3ZDYwZSAxMDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94ODYtNjQtc3NlMmF2eC5kCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYveDg2LTY0LXNzZTJhdnguZApAQCAtMTUwLDE0ICsxNTAsNjAzIEBACiBbIAldKlthLWYwLTldKzoJYzUgYzkgZTAgMzEgICAgICAgICAgCXZwYXZnYiBcKCVyY3hcKSwleG1tNiwleG1tNgogWyAJXSpbYS1mMC05XSs6CWM1IGM5IGUzIGY0ICAgICAgICAgIAl2cGF2Z3cgJXhtbTQsJXhtbTYsJXhtbTYKIFsgCV0qW2EtZjAtOV0rOgljNSBjOSBlMyAzMSAgICAgICAgICAJdnBhdmd3IFwoJXJjeFwpLCV4bW02LCV4bW02Ci1bIAldKlthLWYwLTldKzoJNjYgMGYgM2EgNDQgZjQgMDAgICAgCXBjbG11bGxxbHFkcSAleG1tNCwleG1tNgotWyAJXSpbYS1mMC05XSs6CTY2IDBmIDNhIDQ0IDMxIDAwICAgIAlwY2xtdWxscWxxZHEgXCglcmN4XCksJXhtbTYKLVsgCV0qW2EtZjAtOV0rOgk2NiAwZiAzYSA0NCBmNCAwMSAgICAJcGNsbXVsaHFscWRxICV4bW00LCV4bW02Ci1bIAldKlthLWYwLTldKzoJNjYgMGYgM2EgNDQgMzEgMDEgICAgCXBjbG11bGhxbHFkcSBcKCVyY3hcKSwleG1tNgotWyAJXSpbYS1mMC05XSs6CTY2IDBmIDNhIDQ0IGY0IDEwICAgIAlwY2xtdWxscWhxZHEgJXhtbTQsJXhtbTYKLVsgCV0qW2EtZjAtOV0rOgk2NiAwZiAzYSA0NCAzMSAxMCAgICAJcGNsbXVsbHFocWRxIFwoJXJjeFwpLCV4bW02Ci1bIAldKlthLWYwLTldKzoJNjYgMGYgM2EgNDQgZjQgMTEgICAgCXBjbG11bGhxaHFkcSAleG1tNCwleG1tNgotWyAJXSpbYS1mMC05XSs6CTY2IDBmIDNhIDQ0IDMxIDExICAgIAlwY2xtdWxocWhxZHEgXCglcmN4XCksJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3NCBmNCAgICAgICAgICAJdnBjbXBlcWIgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3NCAzMSAgICAgICAgICAJdnBjbXBlcWIgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3NSBmNCAgICAgICAgICAJdnBjbXBlcXcgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3NSAzMSAgICAgICAgICAJdnBjbXBlcXcgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3NiBmNCAgICAgICAgICAJdnBjbXBlcWQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3NiAzMSAgICAgICAgICAJdnBjbXBlcWQgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAyOSBmNCAgICAgICAJdnBjbXBlcXEgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAyOSAzMSAgICAgICAJdnBjbXBlcXEgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2NCBmNCAgICAgICAgICAJdnBjbXBndGIgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2NCAzMSAgICAgICAgICAJdnBjbXBndGIgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2NSBmNCAgICAgICAgICAJdnBjbXBndHcgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2NSAzMSAgICAgICAgICAJdnBjbXBndHcgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2NiBmNCAgICAgICAgICAJdnBjbXBndGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2NiAzMSAgICAgICAgICAJdnBjbXBndGQgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzNyBmNCAgICAgICAJdnBjbXBndHEgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzNyAzMSAgICAgICAJdnBjbXBndHEgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAwMSBmNCAgICAgICAJdnBoYWRkdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDAxIDMxICAgICAgIAl2cGhhZGR3IFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMDIgZjQgICAgICAgCXZwaGFkZGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAwMiAzMSAgICAgICAJdnBoYWRkZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDAzIGY0ICAgICAgIAl2cGhhZGRzdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDAzIDMxICAgICAgIAl2cGhhZGRzdyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDA1IGY0ICAgICAgIAl2cGhzdWJ3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMDUgMzEgICAgICAgCXZwaHN1YncgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAwNiBmNCAgICAgICAJdnBoc3ViZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDA2IDMxICAgICAgIAl2cGhzdWJkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMDcgZjQgICAgICAgCXZwaHN1YnN3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMDcgMzEgICAgICAgCXZwaHN1YnN3IFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjUgZjQgICAgICAgICAgCXZwbWFkZHdkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjUgMzEgICAgICAgICAgCXZwbWFkZHdkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMDQgZjQgICAgICAgCXZwbWFkZHVic3cgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAwNCAzMSAgICAgICAJdnBtYWRkdWJzdyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDNjIGY0ICAgICAgIAl2cG1heHNiICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgM2MgMzEgICAgICAgCXZwbWF4c2IgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlZSBmNCAgICAgICAgICAJdnBtYXhzdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGVlIDMxICAgICAgICAgIAl2cG1heHN3IFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgM2QgZjQgICAgICAgCXZwbWF4c2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzZCAzMSAgICAgICAJdnBtYXhzZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGRlIGY0ICAgICAgICAgIAl2cG1heHViICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZGUgMzEgICAgICAgICAgCXZwbWF4dWIgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzZSBmNCAgICAgICAJdnBtYXh1dyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDNlIDMxICAgICAgIAl2cG1heHV3IFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgM2YgZjQgICAgICAgCXZwbWF4dWQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzZiAzMSAgICAgICAJdnBtYXh1ZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDM4IGY0ICAgICAgIAl2cG1pbnNiICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMzggMzEgICAgICAgCXZwbWluc2IgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlYSBmNCAgICAgICAgICAJdnBtaW5zdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGVhIDMxICAgICAgICAgIAl2cG1pbnN3IFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMzkgZjQgICAgICAgCXZwbWluc2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzOSAzMSAgICAgICAJdnBtaW5zZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGRhIGY0ICAgICAgICAgIAl2cG1pbnViICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZGEgMzEgICAgICAgICAgCXZwbWludWIgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzYSBmNCAgICAgICAJdnBtaW51dyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDNhIDMxICAgICAgIAl2cG1pbnV3IFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgM2IgZjQgICAgICAgCXZwbWludWQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAzYiAzMSAgICAgICAJdnBtaW51ZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGU0IGY0ICAgICAgICAgIAl2cG11bGh1dyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGU0IDMxICAgICAgICAgIAl2cG11bGh1dyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDBiIGY0ICAgICAgIAl2cG11bGhyc3cgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAwYiAzMSAgICAgICAJdnBtdWxocnN3IFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZTUgZjQgICAgICAgICAgCXZwbXVsaHcgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlNSAzMSAgICAgICAgICAJdnBtdWxodyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQ1IGY0ICAgICAgICAgIAl2cG11bGx3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZDUgMzEgICAgICAgICAgCXZwbXVsbHcgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSA0MCBmNCAgICAgICAJdnBtdWxsZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDQwIDMxICAgICAgIAl2cG11bGxkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjQgZjQgICAgICAgICAgCXZwbXVsdWRxICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjQgMzEgICAgICAgICAgCXZwbXVsdWRxIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMjggZjQgICAgICAgCXZwbXVsZHEgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAyOCAzMSAgICAgICAJdnBtdWxkcSBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGViIGY0ICAgICAgICAgIAl2cG9yICAgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlYiAzMSAgICAgICAgICAJdnBvciAgIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjYgZjQgICAgICAgICAgCXZwc2FkYncgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBmNiAzMSAgICAgICAgICAJdnBzYWRidyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDAwIGY0ICAgICAgIAl2cHNodWZiICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMDAgMzEgICAgICAgCXZwc2h1ZmIgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAwOCBmNCAgICAgICAJdnBzaWduYiAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDA4IDMxICAgICAgIAl2cHNpZ25iIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMDkgZjQgICAgICAgCXZwc2lnbncgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSAwOSAzMSAgICAgICAJdnBzaWdudyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDBhIGY0ICAgICAgIAl2cHNpZ25kICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMGEgMzEgICAgICAgCXZwc2lnbmQgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBmMSBmNCAgICAgICAgICAJdnBzbGx3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjEgMzEgICAgICAgICAgCXZwc2xsdyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGYyIGY0ICAgICAgICAgIAl2cHNsbGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBmMiAzMSAgICAgICAgICAJdnBzbGxkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjMgZjQgICAgICAgICAgCXZwc2xscSAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGYzIDMxICAgICAgICAgIAl2cHNsbHEgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlMSBmNCAgICAgICAgICAJdnBzcmF3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZTEgMzEgICAgICAgICAgCXZwc3JhdyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGUyIGY0ICAgICAgICAgIAl2cHNyYWQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlMiAzMSAgICAgICAgICAJdnBzcmFkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZDEgZjQgICAgICAgICAgCXZwc3JsdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQxIDMxICAgICAgICAgIAl2cHNybHcgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkMiBmNCAgICAgICAgICAJdnBzcmxkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZDIgMzEgICAgICAgICAgCXZwc3JsZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQzIGY0ICAgICAgICAgIAl2cHNybHEgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkMyAzMSAgICAgICAgICAJdnBzcmxxIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjggZjQgICAgICAgICAgCXZwc3ViYiAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGY4IDMxICAgICAgICAgIAl2cHN1YmIgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBmOSBmNCAgICAgICAgICAJdnBzdWJ3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZjkgMzEgICAgICAgICAgCXZwc3VidyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGZhIGY0ICAgICAgICAgIAl2cHN1YmQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBmYSAzMSAgICAgICAgICAJdnBzdWJkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZmIgZjQgICAgICAgICAgCXZwc3VicSAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGZiIDMxICAgICAgICAgIAl2cHN1YnEgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlOCBmNCAgICAgICAgICAJdnBzdWJzYiAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGU4IDMxICAgICAgICAgIAl2cHN1YnNiIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZTkgZjQgICAgICAgICAgCXZwc3Vic3cgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlOSAzMSAgICAgICAgICAJdnBzdWJzdyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQ4IGY0ICAgICAgICAgIAl2cHN1YnVzYiAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQ4IDMxICAgICAgICAgIAl2cHN1YnVzYiBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQ5IGY0ICAgICAgICAgIAl2cHN1YnVzdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGQ5IDMxICAgICAgICAgIAl2cHN1YnVzdyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDY4IGY0ICAgICAgICAgIAl2cHVucGNraGJ3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNjggMzEgICAgICAgICAgCXZwdW5wY2toYncgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2OSBmNCAgICAgICAgICAJdnB1bnBja2h3ZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDY5IDMxICAgICAgICAgIAl2cHVucGNraHdkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNmEgZjQgICAgICAgICAgCXZwdW5wY2toZHEgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2YSAzMSAgICAgICAgICAJdnB1bnBja2hkcSBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDZkIGY0ICAgICAgICAgIAl2cHVucGNraHFkcSAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDZkIDMxICAgICAgICAgIAl2cHVucGNraHFkcSBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDYwIGY0ICAgICAgICAgIAl2cHVucGNrbGJ3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNjAgMzEgICAgICAgICAgCXZwdW5wY2tsYncgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2MSBmNCAgICAgICAgICAJdnB1bnBja2x3ZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDYxIDMxICAgICAgICAgIAl2cHVucGNrbHdkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNjIgZjQgICAgICAgICAgCXZwdW5wY2tsZHEgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2MiAzMSAgICAgICAgICAJdnB1bnBja2xkcSBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDZjIGY0ICAgICAgICAgIAl2cHVucGNrbHFkcSAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDZjIDMxICAgICAgICAgIAl2cHVucGNrbHFkcSBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGVmIGY0ICAgICAgICAgIAl2cHhvciAgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlZiAzMSAgICAgICAgICAJdnB4b3IgIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNWMgZjQgICAgICAgICAgCXZzdWJwZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDVjIDMxICAgICAgICAgIAl2c3VicGQgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCA1YyBmNCAgICAgICAgICAJdnN1YnBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNWMgMzEgICAgICAgICAgCXZzdWJwcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDE1IGY0ICAgICAgICAgIAl2dW5wY2tocGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSAxNSAzMSAgICAgICAgICAJdnVucGNraHBkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggMTUgZjQgICAgICAgICAgCXZ1bnBja2hwcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDE1IDMxICAgICAgICAgIAl2dW5wY2tocHMgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSAxNCBmNCAgICAgICAgICAJdnVucGNrbHBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgMTQgMzEgICAgICAgICAgCXZ1bnBja2xwZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDE0IGY0ICAgICAgICAgIAl2dW5wY2tscHMgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCAxNCAzMSAgICAgICAgICAJdnVucGNrbHBzIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNTcgZjQgICAgICAgICAgCXZ4b3JwZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDU3IDMxICAgICAgICAgIAl2eG9ycGQgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCA1NyBmNCAgICAgICAgICAJdnhvcnBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNTcgMzEgICAgICAgICAgCXZ4b3JwcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IGRjIGY0ICAgICAgIAl2YWVzZW5jICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgZGMgMzEgICAgICAgCXZhZXNlbmMgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSBkZCBmNCAgICAgICAJdmFlc2VuY2xhc3QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSBkZCAzMSAgICAgICAJdmFlc2VuY2xhc3QgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA0OSBkZSBmNCAgICAgICAJdmFlc2RlYyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IGRlIDMxICAgICAgIAl2YWVzZGVjIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgZGYgZjQgICAgICAgCXZhZXNkZWNsYXN0ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgZGYgMzEgICAgICAgCXZhZXNkZWNsYXN0IFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgZjQgMDAgICAgICAgCXZjbXBlcXBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgMzEgMDAgICAgICAgCXZjbXBlcXBkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgZjQgMDAgICAgICAgCXZjbXBlcXBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgMzEgMDAgICAgICAgCXZjbXBlcXBzIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgZjQgMDEgICAgICAgCXZjbXBsdHBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgMzEgMDEgICAgICAgCXZjbXBsdHBkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgZjQgMDEgICAgICAgCXZjbXBsdHBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgMzEgMDEgICAgICAgCXZjbXBsdHBzIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgZjQgMDIgICAgICAgCXZjbXBsZXBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgMzEgMDIgICAgICAgCXZjbXBsZXBkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgZjQgMDIgICAgICAgCXZjbXBsZXBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgMzEgMDIgICAgICAgCXZjbXBsZXBzIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgZjQgMDMgICAgICAgCXZjbXB1bm9yZHBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgMzEgMDMgICAgICAgCXZjbXB1bm9yZHBkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgZjQgMDMgICAgICAgCXZjbXB1bm9yZHBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgMzEgMDMgICAgICAgCXZjbXB1bm9yZHBzIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgZjQgMDQgICAgICAgCXZjbXBuZXFwZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGMyIDMxIDA0ICAgICAgIAl2Y21wbmVxcGQgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCBjMiBmNCAwNCAgICAgICAJdmNtcG5lcXBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgMzEgMDQgICAgICAgCXZjbXBuZXFwcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGMyIGY0IDA1ICAgICAgIAl2Y21wbmx0cGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBjMiAzMSAwNSAgICAgICAJdmNtcG5sdHBkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgZjQgMDUgICAgICAgCXZjbXBubHRwcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IGMyIDMxIDA1ICAgICAgIAl2Y21wbmx0cHMgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBjMiBmNCAwNiAgICAgICAJdmNtcG5sZXBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgMzEgMDYgICAgICAgCXZjbXBubGVwZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IGMyIGY0IDA2ICAgICAgIAl2Y21wbmxlcHMgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCBjMiAzMSAwNiAgICAgICAJdmNtcG5sZXBzIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgZjQgMDcgICAgICAgCXZjbXBvcmRwZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGMyIDMxIDA3ICAgICAgIAl2Y21wb3JkcGQgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCBjMiBmNCAwNyAgICAgICAJdmNtcG9yZHBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggYzIgMzEgMDcgICAgICAgCXZjbXBvcmRwcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IGRmIGY0IDY0ICAgIAl2YWVza2V5Z2VuYXNzaXN0IFwkMHg2NCwleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IGRmIDMxIDY0ICAgIAl2YWVza2V5Z2VuYXNzaXN0IFwkMHg2NCxcKCVyY3hcKSwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYxIGY0IDY0ICAgIAl2cGNtcGVzdHJpIFwkMHg2NCwleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYxIDMxIDY0ICAgIAl2cGNtcGVzdHJpIFwkMHg2NCxcKCVyY3hcKSwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYwIGY0IDY0ICAgIAl2cGNtcGVzdHJtIFwkMHg2NCwleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYwIDMxIDY0ICAgIAl2cGNtcGVzdHJtIFwkMHg2NCxcKCVyY3hcKSwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYzIGY0IDY0ICAgIAl2cGNtcGlzdHJpIFwkMHg2NCwleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYzIDMxIDY0ICAgIAl2cGNtcGlzdHJpIFwkMHg2NCxcKCVyY3hcKSwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYyIGY0IDY0ICAgIAl2cGNtcGlzdHJtIFwkMHg2NCwleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDYyIDMxIDY0ICAgIAl2cGNtcGlzdHJtIFwkMHg2NCxcKCVyY3hcKSwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDcwIGY0IDY0ICAgICAgIAl2cHNodWZkIFwkMHg2NCwleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDcwIDMxIDY0ICAgICAgIAl2cHNodWZkIFwkMHg2NCxcKCVyY3hcKSwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDcwIGY0IDY0ICAgICAgIAl2cHNodWZodyBcJDB4NjQsJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmYSA3MCAzMSA2NCAgICAgICAJdnBzaHVmaHcgXCQweDY0LFwoJXJjeFwpLCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZmIgNzAgZjQgNjQgICAgICAgCXZwc2h1Zmx3IFwkMHg2NCwleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDcwIDMxIDY0ICAgICAgIAl2cHNodWZsdyBcJDB4NjQsXCglcmN4XCksJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA3OSAwOSBmNCA2NCAgICAJdnJvdW5kcGQgXCQweDY0LCV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNzkgMDkgMzEgNjQgICAgCXZyb3VuZHBkIFwkMHg2NCxcKCVyY3hcKSwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDA4IGY0IDY0ICAgIAl2cm91bmRwcyBcJDB4NjQsJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA3OSAwOCAzMSA2NCAgICAJdnJvdW5kcHMgXCQweDY0LFwoJXJjeFwpLCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgMGQgZjQgNjQgICAgCXZibGVuZHBkIFwkMHg2NCwleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDBkIDMxIDY0ICAgIAl2YmxlbmRwZCBcJDB4NjQsXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSAwYyBmNCA2NCAgICAJdmJsZW5kcHMgXCQweDY0LCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgMGMgMzEgNjQgICAgCXZibGVuZHBzIFwkMHg2NCxcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGMyIGY0IDY0ICAgICAgIAl2Y21wcGQgXCQweDY0LCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgYzIgMzEgNjQgICAgICAgCXZjbXBwZCBcJDB4NjQsXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCBjMiBmNCA2NCAgICAgICAJdmNtcHBzIFwkMHg2NCwleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IGMyIDMxIDY0ICAgICAgIAl2Y21wcHMgXCQweDY0LFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgNDEgZjQgNjQgICAgCXZkcHBkICBcJDB4NjQsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSA0MSAzMSA2NCAgICAJdmRwcGQgIFwkMHg2NCxcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDQwIGY0IDY0ICAgIAl2ZHBwcyAgXCQweDY0LCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgNDAgMzEgNjQgICAgCXZkcHBzICBcJDB4NjQsXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSA0MiBmNCA2NCAgICAJdm1wc2FkYncgXCQweDY0LCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgNDIgMzEgNjQgICAgCXZtcHNhZGJ3IFwkMHg2NCxcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDBmIGY0IDY0ICAgIAl2cGFsaWduciBcJDB4NjQsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSAwZiAzMSA2NCAgICAJdnBhbGlnbnIgXCQweDY0LFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgMGUgZjQgNjQgICAgCXZwYmxlbmR3IFwkMHg2NCwleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDBlIDMxIDY0ICAgIAl2cGJsZW5kdyBcJDB4NjQsXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBjNiBmNCA2NCAgICAgICAJdnNodWZwZCBcJDB4NjQsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBjNiAzMSA2NCAgICAgICAJdnNodWZwZCBcJDB4NjQsXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCBjNiBmNCA2NCAgICAgICAJdnNodWZwcyBcJDB4NjQsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCBjNiAzMSA2NCAgICAgICAJdnNodWZwcyBcJDB4NjQsXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSA0YiBmNCAwMCAgICAJdmJsZW5kdnBkICV4bW0wLCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgNGIgMzEgMDAgICAgCXZibGVuZHZwZCAleG1tMCxcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDRiIGY0IDAwICAgIAl2YmxlbmR2cGQgJXhtbTAsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSA0YiAzMSAwMCAgICAJdmJsZW5kdnBkICV4bW0wLFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgNGEgZjQgMDAgICAgCXZibGVuZHZwcyAleG1tMCwleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDRhIDMxIDAwICAgIAl2YmxlbmR2cHMgJXhtbTAsXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSA0YSBmNCAwMCAgICAJdmJsZW5kdnBzICV4bW0wLCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgNGEgMzEgMDAgICAgCXZibGVuZHZwcyAleG1tMCxcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDRjIGY0IDAwICAgIAl2cGJsZW5kdmIgJXhtbTAsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSA0YyAzMSAwMCAgICAJdnBibGVuZHZiICV4bW0wLFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgNGMgZjQgMDAgICAgCXZwYmxlbmR2YiAleG1tMCwleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDRjIDMxIDAwICAgIAl2cGJsZW5kdmIgJXhtbTAsXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSAyZiBmNCAgICAgICAgICAJdmNvbWlzZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDJmIDIxICAgICAgICAgIAl2Y29taXNkIFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZmEgZTYgZjQgICAgICAgICAgCXZjdnRkcTJwZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZhIGU2IDIxICAgICAgICAgIAl2Y3Z0ZHEycGQgXCglcmN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCA1YSBmNCAgICAgICAgICAJdmN2dHBzMnBkICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZjggNWEgMjEgICAgICAgICAgCXZjdnRwczJwZCBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDEyIGY0ICAgICAgICAgIAl2bW92ZGR1cCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDEyIDIxICAgICAgICAgIAl2bW92ZGR1cCBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDIwIGY0ICAgICAgIAl2cG1vdnN4YncgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAyMCAyMSAgICAgICAJdnBtb3ZzeGJ3IFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMjMgZjQgICAgICAgCXZwbW92c3h3ZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDIzIDIxICAgICAgIAl2cG1vdnN4d2QgXCglcmN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAyNSBmNCAgICAgICAJdnBtb3ZzeGRxICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMjUgMjEgICAgICAgCXZwbW92c3hkcSBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDMwIGY0ICAgICAgIAl2cG1vdnp4YncgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAzMCAyMSAgICAgICAJdnBtb3Z6eGJ3IFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMzMgZjQgICAgICAgCXZwbW92enh3ZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDMzIDIxICAgICAgIAl2cG1vdnp4d2QgXCglcmN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAzNSBmNCAgICAgICAJdnBtb3Z6eGRxICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMzUgMjEgICAgICAgCXZwbW92enhkcSBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDJlIGY0ICAgICAgICAgIAl2dWNvbWlzZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDJlIDIxICAgICAgICAgIAl2dWNvbWlzZCBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDEwIDIxICAgICAgICAgIAl2bW92c2QgXCglcmN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSAxMyAyMSAgICAgICAgICAJdm1vdmxwZCAleG1tNCxcKCVyY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGY4IDEzIDIxICAgICAgICAgIAl2bW92bHBzICV4bW00LFwoJXJjeFwpCitbIAldKlthLWYwLTldKzoJYzUgZjkgMTcgMjEgICAgICAgICAgCXZtb3ZocGQgJXhtbTQsXCglcmN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCAxNyAyMSAgICAgICAgICAJdm1vdmhwcyAleG1tNCxcKCVyY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDExIDIxICAgICAgICAgIAl2bW92c2QgJXhtbTQsXCglcmN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNCBlMSBmOSA3ZSBlMSAgICAgICAJdm1vdnEgICV4bW00LCVyY3gKK1sgCV0qW2EtZjAtOV0rOgljNCBlMSBmOSA2ZSBlMSAgICAgICAJdm1vdnEgICVyY3gsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMSBmOSA3ZSBlMSAgICAgICAJdm1vdnEgICV4bW00LCVyY3gKK1sgCV0qW2EtZjAtOV0rOgljNCBlMSBmOSA2ZSBlMSAgICAgICAJdm1vdnEgICVyY3gsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSBkNiAyMSAgICAgICAgICAJdm1vdnEgICV4bW00LFwoJXJjeFwpCitbIAldKlthLWYwLTldKzoJYzUgZmEgN2UgMjEgICAgICAgICAgCXZtb3ZxICBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDJkIGNjICAgICAgICAgIAl2Y3Z0c2Qyc2kgJXhtbTQsJWVjeAorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDJkIDA5ICAgICAgICAgIAl2Y3Z0c2Qyc2kgXCglcmN4XCksJWVjeAorWyAJXSpbYS1mMC05XSs6CWM1IGZiIDJjIGNjICAgICAgICAgIAl2Y3Z0dHNkMnNpICV4bW00LCVlY3gKK1sgCV0qW2EtZjAtOV0rOgljNSBmYiAyYyAwOSAgICAgICAgICAJdmN2dHRzZDJzaSBcKCVyY3hcKSwlZWN4CitbIAldKlthLWYwLTldKzoJYzQgZTEgZmIgMmQgY2MgICAgICAgCXZjdnRzZDJzaSAleG1tNCwlcmN4CitbIAldKlthLWYwLTldKzoJYzQgZTEgZmIgMmQgMDkgICAgICAgCXZjdnRzZDJzaSBcKCVyY3hcKSwlcmN4CitbIAldKlthLWYwLTldKzoJYzQgZTEgZmIgMmMgY2MgICAgICAgCXZjdnR0c2Qyc2kgJXhtbTQsJXJjeAorWyAJXSpbYS1mMC05XSs6CWM0IGUxIGZiIDJjIDA5ICAgICAgIAl2Y3Z0dHNkMnNpIFwoJXJjeFwpLCVyY3gKK1sgCV0qW2EtZjAtOV0rOgljNCBlMSBkYiAyYSBlMSAgICAgICAJdmN2dHNpMnNkICVyY3gsJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMSBkYiAyYSAyMSAgICAgICAJdmN2dHNpMnNkcSBcKCVyY3hcKSwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUxIGRhIDJhIGUxICAgICAgIAl2Y3Z0c2kyc3MgJXJjeCwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUxIGRhIDJhIDIxICAgICAgIAl2Y3Z0c2kyc3NxIFwoJXJjeFwpLCV4bW00LCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTMgZDkgMjIgZTEgNjQgICAgCXZwaW5zcnEgXCQweDY0LCVyY3gsJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyBkOSAyMiAyMSA2NCAgICAJdnBpbnNycSBcJDB4NjQsXCglcmN4XCksJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyBmOSAxNiBlMSA2NCAgICAJdnBleHRycSBcJDB4NjQsJXhtbTQsJXJjeAorWyAJXSpbYS1mMC05XSs6CWM0IGUzIGY5IDE2IDIxIDY0ICAgIAl2cGV4dHJxIFwkMHg2NCwleG1tNCxcKCVyY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGQ5IDEyIDIxICAgICAgICAgIAl2bW92bHBkIFwoJXJjeFwpLCV4bW00LCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZDggMTIgMjEgICAgICAgICAgCXZtb3ZscHMgXCglcmN4XCksJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBkOSAxNiAyMSAgICAgICAgICAJdm1vdmhwZCBcKCVyY3hcKSwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGQ4IDE2IDIxICAgICAgICAgIAl2bW92aHBzIFwoJXJjeFwpLCV4bW00LCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgZjQgNjQgICAgICAgCXZjbXBzZCBcJDB4NjQsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiAzMSA2NCAgICAgICAJdmNtcHNkIFwkMHg2NCxcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDBiIGY0IDY0ICAgIAl2cm91bmRzZCBcJDB4NjQsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSAwYiAzMSA2NCAgICAJdnJvdW5kc2QgXCQweDY0LFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgNTggZjQgICAgICAgICAgCXZhZGRzZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIDU4IDMxICAgICAgICAgIAl2YWRkc2QgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiA1YSBmNCAgICAgICAgICAJdmN2dHNkMnNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgNWEgMzEgICAgICAgICAgCXZjdnRzZDJzcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIDVlIGY0ICAgICAgICAgIAl2ZGl2c2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiA1ZSAzMSAgICAgICAgICAJdmRpdnNkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgNWYgZjQgICAgICAgICAgCXZtYXhzZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIDVmIDMxICAgICAgICAgIAl2bWF4c2QgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiA1ZCBmNCAgICAgICAgICAJdm1pbnNkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgNWQgMzEgICAgICAgICAgCXZtaW5zZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIDU5IGY0ICAgICAgICAgIAl2bXVsc2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiA1OSAzMSAgICAgICAgICAJdm11bHNkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgNTEgZjQgICAgICAgICAgCXZzcXJ0c2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiA1MSAzMSAgICAgICAgICAJdnNxcnRzZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIDVjIGY0ICAgICAgICAgIAl2c3Vic2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiA1YyAzMSAgICAgICAgICAJdnN1YnNkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgZjQgMDAgICAgICAgCXZjbXBlcXNkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgMzEgMDAgICAgICAgCXZjbXBlcXNkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgZjQgMDEgICAgICAgCXZjbXBsdHNkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgMzEgMDEgICAgICAgCXZjbXBsdHNkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgZjQgMDIgICAgICAgCXZjbXBsZXNkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgMzEgMDIgICAgICAgCXZjbXBsZXNkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgZjQgMDMgICAgICAgCXZjbXB1bm9yZHNkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgMzEgMDMgICAgICAgCXZjbXB1bm9yZHNkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgZjQgMDQgICAgICAgCXZjbXBuZXFzZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIGMyIDMxIDA0ICAgICAgIAl2Y21wbmVxc2QgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiBmNCAwNSAgICAgICAJdmNtcG5sdHNkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgMzEgMDUgICAgICAgCXZjbXBubHRzZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIGMyIGY0IDA2ICAgICAgIAl2Y21wbmxlc2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBjMiAzMSAwNiAgICAgICAJdmNtcG5sZXNkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgYzIgZjQgMDcgICAgICAgCXZjbXBvcmRzZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIGMyIDMxIDA3ICAgICAgIAl2Y21wb3Jkc2QgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSA1OCBmNCAgICAgICAgICAJdmFkZHNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgNTggMzEgICAgICAgICAgCXZhZGRzcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIDVhIGY0ICAgICAgICAgIAl2Y3Z0c3Myc2QgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSA1YSAzMSAgICAgICAgICAJdmN2dHNzMnNkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgNWUgZjQgICAgICAgICAgCXZkaXZzcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIDVlIDMxICAgICAgICAgIAl2ZGl2c3MgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSA1ZiBmNCAgICAgICAgICAJdm1heHNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgNWYgMzEgICAgICAgICAgCXZtYXhzcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIDVkIGY0ICAgICAgICAgIAl2bWluc3MgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSA1ZCAzMSAgICAgICAgICAJdm1pbnNzIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgNTkgZjQgICAgICAgICAgCXZtdWxzcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIDU5IDMxICAgICAgICAgIAl2bXVsc3MgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSA1MyBmNCAgICAgICAgICAJdnJjcHNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgNTMgMzEgICAgICAgICAgCXZyY3BzcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIDUyIGY0ICAgICAgICAgIAl2cnNxcnRzcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIDUyIDMxICAgICAgICAgIAl2cnNxcnRzcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIDUxIGY0ICAgICAgICAgIAl2c3FydHNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgNTEgMzEgICAgICAgICAgCXZzcXJ0c3MgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSA1YyBmNCAgICAgICAgICAJdnN1YnNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgNWMgMzEgICAgICAgICAgCXZzdWJzcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIGY0IDAwICAgICAgIAl2Y21wZXFzcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIDMxIDAwICAgICAgIAl2Y21wZXFzcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIGY0IDAxICAgICAgIAl2Y21wbHRzcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIDMxIDAxICAgICAgIAl2Y21wbHRzcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIGY0IDAyICAgICAgIAl2Y21wbGVzcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIDMxIDAyICAgICAgIAl2Y21wbGVzcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIGY0IDAzICAgICAgIAl2Y21wdW5vcmRzcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIDMxIDAzICAgICAgIAl2Y21wdW5vcmRzcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIGY0IDA0ICAgICAgIAl2Y21wbmVxc3MgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSBjMiAzMSAwNCAgICAgICAJdmNtcG5lcXNzIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgZjQgMDUgICAgICAgCXZjbXBubHRzcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIDMxIDA1ICAgICAgIAl2Y21wbmx0c3MgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSBjMiBmNCAwNiAgICAgICAJdmNtcG5sZXNzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgMzEgMDYgICAgICAgCXZjbXBubGVzcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIGMyIGY0IDA3ICAgICAgIAl2Y21wb3Jkc3MgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSBjMiAzMSAwNyAgICAgICAJdmNtcG9yZHNzIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZjggMmYgZjQgICAgICAgICAgCXZjb21pc3MgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCAyZiAyMSAgICAgICAgICAJdmNvbWlzcyBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDIxIGY0ICAgICAgIAl2cG1vdnN4YmQgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAyMSAyMSAgICAgICAJdnBtb3ZzeGJkIFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMjQgZjQgICAgICAgCXZwbW92c3h3cSAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDI0IDIxICAgICAgIAl2cG1vdnN4d3EgXCglcmN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAzMSBmNCAgICAgICAJdnBtb3Z6eGJkICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMzEgMjEgICAgICAgCXZwbW92enhiZCBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDM0IGY0ICAgICAgIAl2cG1vdnp4d3EgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAzNCAyMSAgICAgICAJdnBtb3Z6eHdxIFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZjggMmUgZjQgICAgICAgICAgCXZ1Y29taXNzICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZjggMmUgMjEgICAgICAgICAgCXZ1Y29taXNzIFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZmEgMTAgMjEgICAgICAgICAgCXZtb3ZzcyBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDExIDIxICAgICAgICAgIAl2bW92c3MgJXhtbTQsXCglcmN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSA3ZSBlMSAgICAgICAgICAJdm1vdmQgICV4bW00LCVlY3gKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSA3ZSAyMSAgICAgICAgICAJdm1vdmQgICV4bW00LFwoJXJjeFwpCitbIAldKlthLWYwLTldKzoJYzUgZjkgNmUgZTEgICAgICAgICAgCXZtb3ZkICAlZWN4LCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZjkgNmUgMjEgICAgICAgICAgCXZtb3ZkICBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDJkIGNjICAgICAgICAgIAl2Y3Z0c3Myc2kgJXhtbTQsJWVjeAorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDJkIDA5ICAgICAgICAgIAl2Y3Z0c3Myc2kgXCglcmN4XCksJWVjeAorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDJjIGNjICAgICAgICAgIAl2Y3Z0dHNzMnNpICV4bW00LCVlY3gKK1sgCV0qW2EtZjAtOV0rOgljNSBmYSAyYyAwOSAgICAgICAgICAJdmN2dHRzczJzaSBcKCVyY3hcKSwlZWN4CitbIAldKlthLWYwLTldKzoJYzQgZTEgZmEgMmQgY2MgICAgICAgCXZjdnRzczJzaSAleG1tNCwlcmN4CitbIAldKlthLWYwLTldKzoJYzQgZTEgZmEgMmQgMDkgICAgICAgCXZjdnRzczJzaSBcKCVyY3hcKSwlcmN4CitbIAldKlthLWYwLTldKzoJYzQgZTEgZmEgMmMgY2MgICAgICAgCXZjdnR0c3Myc2kgJXhtbTQsJXJjeAorWyAJXSpbYS1mMC05XSs6CWM0IGUxIGZhIDJjIDA5ICAgICAgIAl2Y3Z0dHNzMnNpIFwoJXJjeFwpLCVyY3gKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSA1MCBjYyAgICAgICAgICAJdm1vdm1za3BkICV4bW00LCVlY3gKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCA1MCBjYyAgICAgICAgICAJdm1vdm1za3BzICV4bW00LCVlY3gKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSBkNyBjYyAgICAgICAgICAJdnBtb3Ztc2tiICV4bW00LCVlY3gKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA3OSAxNyBlMSA2NCAgICAJdmV4dHJhY3RwcyBcJDB4NjQsJXhtbTQsJWVjeAorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDE3IDIxIDY0ICAgIAl2ZXh0cmFjdHBzIFwkMHg2NCwleG1tNCxcKCVyY3hcKQorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDE2IGUxIDY0ICAgIAl2cGV4dHJkIFwkMHg2NCwleG1tNCwlZWN4CitbIAldKlthLWYwLTldKzoJYzQgZTMgNzkgMTYgMjEgNjQgICAgCXZwZXh0cmQgXCQweDY0LCV4bW00LFwoJXJjeFwpCitbIAldKlthLWYwLTldKzoJYzQgZTMgNzkgMTcgZTEgNjQgICAgCXZleHRyYWN0cHMgXCQweDY0LCV4bW00LCVlY3gKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA3OSAxNyAyMSA2NCAgICAJdmV4dHJhY3RwcyBcJDB4NjQsJXhtbTQsXCglcmN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNSBkYiAyYSBlMSAgICAgICAgICAJdmN2dHNpMnNkICVlY3gsJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBkYiAyYSAyMSAgICAgICAgICAJdmN2dHNpMnNkbCBcKCVyY3hcKSwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGRhIDJhIGUxICAgICAgICAgIAl2Y3Z0c2kyc3MgJWVjeCwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGRhIDJhIDIxICAgICAgICAgIAl2Y3Z0c2kyc3NsIFwoJXJjeFwpLCV4bW00LCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgY2EgYzIgZjQgNjQgICAgICAgCXZjbXBzcyBcJDB4NjQsJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYSBjMiAzMSA2NCAgICAgICAJdmNtcHNzIFwkMHg2NCxcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDQ5IDIxIGY0IDY0ICAgIAl2aW5zZXJ0cHMgXCQweDY0LCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgMjEgMzEgNjQgICAgCXZpbnNlcnRwcyBcJDB4NjQsXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA0OSAwYSBmNCA2NCAgICAJdnJvdW5kc3MgXCQweDY0LCV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTMgNDkgMGEgMzEgNjQgICAgCXZyb3VuZHNzIFwkMHg2NCxcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDIyIGY0ICAgICAgIAl2cG1vdnN4YnEgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAyMiAyMSAgICAgICAJdnBtb3ZzeGJxIFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMzIgZjQgICAgICAgCXZwbW92enhicSAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDMyIDIxICAgICAgIAl2cG1vdnp4YnEgXCglcmN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSBjNSBjYyA2NCAgICAgICAJdnBleHRydyBcJDB4NjQsJXhtbTQsJWVjeAorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDE1IDIxIDY0ICAgIAl2cGV4dHJ3IFwkMHg2NCwleG1tNCxcKCVyY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGY5IGM1IGNjIDY0ICAgICAgIAl2cGV4dHJ3IFwkMHg2NCwleG1tNCwlZWN4CitbIAldKlthLWYwLTldKzoJYzQgZTMgNzkgMTUgMjEgNjQgICAgCXZwZXh0cncgXCQweDY0LCV4bW00LFwoJXJjeFwpCitbIAldKlthLWYwLTldKzoJYzUgZDkgYzQgZTEgNjQgICAgICAgCXZwaW5zcncgXCQweDY0LCVlY3gsJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBkOSBjNCAyMSA2NCAgICAgICAJdnBpbnNydyBcJDB4NjQsXCglcmN4XCksJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBkOSBjNCBlMSA2NCAgICAgICAJdnBpbnNydyBcJDB4NjQsJWVjeCwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGQ5IGM0IDIxIDY0ICAgICAgIAl2cGluc3J3IFwkMHg2NCxcKCVyY3hcKSwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDE0IGUxIDY0ICAgIAl2cGV4dHJiIFwkMHg2NCwleG1tNCwlZWN4CitbIAldKlthLWYwLTldKzoJYzQgZTMgNzkgMTQgMjEgNjQgICAgCXZwZXh0cmIgXCQweDY0LCV4bW00LFwoJXJjeFwpCitbIAldKlthLWYwLTldKzoJYzQgZTMgNTkgMjAgZTEgNjQgICAgCXZwaW5zcmIgXCQweDY0LCVlY3gsJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA1OSAyMCAyMSA2NCAgICAJdnBpbnNyYiBcJDB4NjQsXCglcmN4XCksJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSBjNSBjYyA2NCAgICAgICAJdnBleHRydyBcJDB4NjQsJXhtbTQsJWVjeAorWyAJXSpbYS1mMC05XSs6CWM0IGUzIDc5IDE0IGUxIDY0ICAgIAl2cGV4dHJiIFwkMHg2NCwleG1tNCwlZWN4CitbIAldKlthLWYwLTldKzoJYzQgZTMgNzkgMTQgMjEgNjQgICAgCXZwZXh0cmIgXCQweDY0LCV4bW00LFwoJXJjeFwpCitbIAldKlthLWYwLTldKzoJYzQgZTMgNTkgMjAgZTEgNjQgICAgCXZwaW5zcmIgXCQweDY0LCVlY3gsJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMyA1OSAyMCAyMSA2NCAgICAJdnBpbnNyYiBcJDB4NjQsXCglcmN4XCksJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSBmNyBmNCAgICAgICAgICAJdm1hc2ttb3ZkcXUgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmYSA3ZSBmNCAgICAgICAgICAJdm1vdnEgICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZjkgNTAgY2MgICAgICAgICAgCXZtb3Ztc2twZCAleG1tNCwlZWN4CitbIAldKlthLWYwLTldKzoJYzUgZjggNTAgY2MgICAgICAgICAgCXZtb3Ztc2twcyAleG1tNCwlZWN4CitbIAldKlthLWYwLTldKzoJYzUgZjkgZDcgY2MgICAgICAgICAgCXZwbW92bXNrYiAleG1tNCwlZWN4CitbIAldKlthLWYwLTldKzoJYzUgYzggMTIgZjQgICAgICAgICAgCXZtb3ZobHBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggMTYgZjQgICAgICAgICAgCXZtb3ZsaHBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgMTAgZjQgICAgICAgICAgCXZtb3ZzZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNhIDEwIGY0ICAgICAgICAgIAl2bW92c3MgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBkOSA3MiBmNCA2NCAgICAgICAJdnBzbGxkIFwkMHg2NCwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGQ5IDczIGZjIDY0ICAgICAgIAl2cHNsbGRxIFwkMHg2NCwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGQ5IDczIGY0IDY0ICAgICAgIAl2cHNsbHEgXCQweDY0LCV4bW00LCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZDkgNzEgZjQgNjQgICAgICAgCXZwc2xsdyBcJDB4NjQsJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBkOSA3MiBlNCA2NCAgICAgICAJdnBzcmFkIFwkMHg2NCwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGQ5IDcxIGU0IDY0ICAgICAgIAl2cHNyYXcgXCQweDY0LCV4bW00LCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZDkgNzIgZDQgNjQgICAgICAgCXZwc3JsZCBcJDB4NjQsJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBkOSA3MyBkYyA2NCAgICAgICAJdnBzcmxkcSBcJDB4NjQsJXhtbTQsJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBkOSA3MyBkNCA2NCAgICAgICAJdnBzcmxxIFwkMHg2NCwleG1tNCwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGQ5IDcxIGQ0IDY0ICAgICAgIAl2cHNybHcgXCQweDY0LCV4bW00LCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZjkgYzUgY2MgNjQgICAgICAgCXZwZXh0cncgXCQweDY0LCV4bW00LCVlY3gKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCBhZSAxMSAgICAgICAgICAJdmxkbXhjc3IgXCglcmN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCBhZSAxOSAgICAgICAgICAJdnN0bXhjc3IgXCglcmN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCA1YiBmNCAgICAgICAgICAJdmN2dGRxMnBzICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZjggNWIgMjEgICAgICAgICAgCXZjdnRkcTJwcyBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGZiIGU2IGY0ICAgICAgICAgIAl2Y3Z0cGQyZHEgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmYiBlNiAyMSAgICAgICAgICAJdmN2dHBkMmRxeCBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDVhIGY0ICAgICAgICAgIAl2Y3Z0cGQycHMgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSA1YSAyMSAgICAgICAgICAJdmN2dHBkMnBzeCBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDViIGY0ICAgICAgICAgIAl2Y3Z0cHMyZHEgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSA1YiAyMSAgICAgICAgICAJdmN2dHBzMmRxIFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZjkgZTYgZjQgICAgICAgICAgCXZjdnR0cGQyZHEgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSBlNiAyMSAgICAgICAgICAJdmN2dHRwZDJkcXggXCglcmN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmYSA1YiBmNCAgICAgICAgICAJdmN2dHRwczJkcSAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDViIDIxICAgICAgICAgIAl2Y3Z0dHBzMmRxIFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZjkgMjggZjQgICAgICAgICAgCXZtb3ZhcGQgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSAyOCAyMSAgICAgICAgICAJdm1vdmFwZCBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGY4IDI4IGY0ICAgICAgICAgIAl2bW92YXBzICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZjggMjggMjEgICAgICAgICAgCXZtb3ZhcHMgXCglcmN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSA2ZiBmNCAgICAgICAgICAJdm1vdmRxYSAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDZmIDIxICAgICAgICAgIAl2bW92ZHFhIFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZmEgNmYgZjQgICAgICAgICAgCXZtb3ZkcXUgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmYSA2ZiAyMSAgICAgICAgICAJdm1vdmRxdSBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDE2IGY0ICAgICAgICAgIAl2bW92c2hkdXAgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmYSAxNiAyMSAgICAgICAgICAJdm1vdnNoZHVwIFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZmEgMTIgZjQgICAgICAgICAgCXZtb3ZzbGR1cCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDEyIDIxICAgICAgICAgIAl2bW92c2xkdXAgXCglcmN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSAxMCBmNCAgICAgICAgICAJdm1vdnVwZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDEwIDIxICAgICAgICAgIAl2bW92dXBkIFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZjggMTAgZjQgICAgICAgICAgCXZtb3Z1cHMgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCAxMCAyMSAgICAgICAgICAJdm1vdnVwcyBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDFjIGY0ICAgICAgIAl2cGFic2IgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAxYyAyMSAgICAgICAJdnBhYnNiIFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMWQgZjQgICAgICAgCXZwYWJzdyAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDFkIDIxICAgICAgIAl2cGFic3cgXCglcmN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAxZSBmNCAgICAgICAJdnBhYnNkICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMWUgMjEgICAgICAgCXZwYWJzZCBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDQxIGY0ICAgICAgIAl2cGhtaW5wb3N1dyAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDQxIDIxICAgICAgIAl2cGhtaW5wb3N1dyBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IDE3IGY0ICAgICAgIAl2cHRlc3QgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNCBlMiA3OSAxNyAyMSAgICAgICAJdnB0ZXN0IFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZjggNTMgZjQgICAgICAgICAgCXZyY3BwcyAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY4IDUzIDIxICAgICAgICAgIAl2cmNwcHMgXCglcmN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCA1MiBmNCAgICAgICAgICAJdnJzcXJ0cHMgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCA1MiAyMSAgICAgICAgICAJdnJzcXJ0cHMgXCglcmN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSA1MSBmNCAgICAgICAgICAJdnNxcnRwZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDUxIDIxICAgICAgICAgIAl2c3FydHBkIFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzUgZjggNTEgZjQgICAgICAgICAgCXZzcXJ0cHMgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCA1MSAyMSAgICAgICAgICAJdnNxcnRwcyBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDc5IGRiIGY0ICAgICAgIAl2YWVzaW1jICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgZGIgMjEgICAgICAgCXZhZXNpbWMgXCglcmN4XCksJXhtbTQKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSAyOCBmNCAgICAgICAgICAJdm1vdmFwZCAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDI5IDIxICAgICAgICAgIAl2bW92YXBkICV4bW00LFwoJXJjeFwpCitbIAldKlthLWYwLTldKzoJYzUgZjggMjggZjQgICAgICAgICAgCXZtb3ZhcHMgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOCAyOSAyMSAgICAgICAgICAJdm1vdmFwcyAleG1tNCxcKCVyY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDZmIGY0ICAgICAgICAgIAl2bW92ZHFhICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZjkgN2YgMjEgICAgICAgICAgCXZtb3ZkcWEgJXhtbTQsXCglcmN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNSBmYSA2ZiBmNCAgICAgICAgICAJdm1vdmRxdSAleG1tNCwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGZhIDdmIDIxICAgICAgICAgIAl2bW92ZHF1ICV4bW00LFwoJXJjeFwpCitbIAldKlthLWYwLTldKzoJYzUgZjkgMTAgZjQgICAgICAgICAgCXZtb3Z1cGQgJXhtbTQsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBmOSAxMSAyMSAgICAgICAgICAJdm1vdnVwZCAleG1tNCxcKCVyY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGY4IDEwIGY0ICAgICAgICAgIAl2bW92dXBzICV4bW00LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgZjggMTEgMjEgICAgICAgICAgCXZtb3Z1cHMgJXhtbTQsXCglcmN4XCkKK1sgCV0qW2EtZjAtOV0rOgljNSBmYiBmMCAyMSAgICAgICAgICAJdmxkZHF1IFwoJXJjeFwpLCV4bW00CitbIAldKlthLWYwLTldKzoJYzQgZTIgNzkgMmEgMjEgICAgICAgCXZtb3ZudGRxYSBcKCVyY3hcKSwleG1tNAorWyAJXSpbYS1mMC05XSs6CWM1IGY5IGU3IDIxICAgICAgICAgIAl2bW92bnRkcSAleG1tNCxcKCVyY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGY5IDJiIDIxICAgICAgICAgIAl2bW92bnRwZCAleG1tNCxcKCVyY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGY4IDJiIDIxICAgICAgICAgIAl2bW92bnRwcyAleG1tNCxcKCVyY3hcKQorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDU4IGY0ICAgICAgICAgIAl2YWRkcGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA1OCAzMSAgICAgICAgICAJdmFkZHBkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNTggZjQgICAgICAgICAgCXZhZGRwcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDU4IDMxICAgICAgICAgIAl2YWRkcHMgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkMCBmNCAgICAgICAgICAJdmFkZHN1YnBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZDAgMzEgICAgICAgICAgCXZhZGRzdWJwZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIGQwIGY0ICAgICAgICAgIAl2YWRkc3VicHMgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiBkMCAzMSAgICAgICAgICAJdmFkZHN1YnBzIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNTUgZjQgICAgICAgICAgCXZhbmRucGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA1NSAzMSAgICAgICAgICAJdmFuZG5wZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDU1IGY0ICAgICAgICAgIAl2YW5kbnBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNTUgMzEgICAgICAgICAgCXZhbmRucHMgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA1NCBmNCAgICAgICAgICAJdmFuZHBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNTQgMzEgICAgICAgICAgCXZhbmRwZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDU0IGY0ICAgICAgICAgIAl2YW5kcHMgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCA1NCAzMSAgICAgICAgICAJdmFuZHBzIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNWUgZjQgICAgICAgICAgCXZkaXZwZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDVlIDMxICAgICAgICAgIAl2ZGl2cGQgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCA1ZSBmNCAgICAgICAgICAJdmRpdnBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNWUgMzEgICAgICAgICAgCXZkaXZwcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDdjIGY0ICAgICAgICAgIAl2aGFkZHBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgN2MgMzEgICAgICAgICAgCXZoYWRkcGQgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjYiA3YyBmNCAgICAgICAgICAJdmhhZGRwcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIDdjIDMxICAgICAgICAgIAl2aGFkZHBzIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgN2QgZjQgICAgICAgICAgCXZoc3VicGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA3ZCAzMSAgICAgICAgICAJdmhzdWJwZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGNiIDdkIGY0ICAgICAgICAgIAl2aHN1YnBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgY2IgN2QgMzEgICAgICAgICAgCXZoc3VicHMgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA1ZiBmNCAgICAgICAgICAJdm1heHBkICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNWYgMzEgICAgICAgICAgCXZtYXhwZCBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDVmIGY0ICAgICAgICAgIAl2bWF4cHMgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCA1ZiAzMSAgICAgICAgICAJdm1heHBzIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNWQgZjQgICAgICAgICAgCXZtaW5wZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDVkIDMxICAgICAgICAgIAl2bWlucGQgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCA1ZCBmNCAgICAgICAgICAJdm1pbnBzICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNWQgMzEgICAgICAgICAgCXZtaW5wcyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDU5IGY0ICAgICAgICAgIAl2bXVscGQgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA1OSAzMSAgICAgICAgICAJdm11bHBkIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzggNTkgZjQgICAgICAgICAgCXZtdWxwcyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDU5IDMxICAgICAgICAgIAl2bXVscHMgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA1NiBmNCAgICAgICAgICAJdm9ycGQgICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNTYgMzEgICAgICAgICAgCXZvcnBkICBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM4IDU2IGY0ICAgICAgICAgIAl2b3JwcyAgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOCA1NiAzMSAgICAgICAgICAJdm9ycHMgIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNjMgZjQgICAgICAgICAgCXZwYWNrc3N3YiAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDYzIDMxICAgICAgICAgIAl2cGFja3Nzd2IgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2YiBmNCAgICAgICAgICAJdnBhY2tzc2R3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgNmIgMzEgICAgICAgICAgCXZwYWNrc3NkdyBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IDY3IGY0ICAgICAgICAgIAl2cGFja3Vzd2IgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSA2NyAzMSAgICAgICAgICAJdnBhY2t1c3diIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzQgZTIgNDkgMmIgZjQgICAgICAgCXZwYWNrdXNkdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM0IGUyIDQ5IDJiIDMxICAgICAgIAl2cGFja3VzZHcgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBmYyBmNCAgICAgICAgICAJdnBhZGRiICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZmMgMzEgICAgICAgICAgCXZwYWRkYiBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGZkIGY0ICAgICAgICAgIAl2cGFkZHcgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBmZCAzMSAgICAgICAgICAJdnBhZGR3IFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZmUgZjQgICAgICAgICAgCXZwYWRkZCAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGZlIDMxICAgICAgICAgIAl2cGFkZGQgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkNCBmNCAgICAgICAgICAJdnBhZGRxICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZDQgMzEgICAgICAgICAgCXZwYWRkcSBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGVjIGY0ICAgICAgICAgIAl2cGFkZHNiICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZWMgMzEgICAgICAgICAgCXZwYWRkc2IgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlZCBmNCAgICAgICAgICAJdnBhZGRzdyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGVkIDMxICAgICAgICAgIAl2cGFkZHN3IFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZGMgZjQgICAgICAgICAgCXZwYWRkdXNiICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZGMgMzEgICAgICAgICAgCXZwYWRkdXNiIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZGQgZjQgICAgICAgICAgCXZwYWRkdXN3ICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZGQgMzEgICAgICAgICAgCXZwYWRkdXN3IFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZGIgZjQgICAgICAgICAgCXZwYW5kICAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGRiIDMxICAgICAgICAgIAl2cGFuZCAgXCglcmN4XCksJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBkZiBmNCAgICAgICAgICAJdnBhbmRuICV4bW00LCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZGYgMzEgICAgICAgICAgCXZwYW5kbiBcKCVyY3hcKSwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGUwIGY0ICAgICAgICAgIAl2cGF2Z2IgJXhtbTQsJXhtbTYsJXhtbTYKK1sgCV0qW2EtZjAtOV0rOgljNSBjOSBlMCAzMSAgICAgICAgICAJdnBhdmdiIFwoJXJjeFwpLCV4bW02LCV4bW02CitbIAldKlthLWYwLTldKzoJYzUgYzkgZTMgZjQgICAgICAgICAgCXZwYXZndyAleG1tNCwleG1tNiwleG1tNgorWyAJXSpbYS1mMC05XSs6CWM1IGM5IGUzIDMxICAgICAgICAgIAl2cGF2Z3cgXCglcmN4XCksJXhtbTYsJXhtbTYKIFsgCV0qW2EtZjAtOV0rOgljNSBjOSA3NCBmNCAgICAgICAgICAJdnBjbXBlcWIgJXhtbTQsJXhtbTYsJXhtbTYKIFsgCV0qW2EtZjAtOV0rOgljNSBjOSA3NCAzMSAgICAgICAgICAJdnBjbXBlcWIgXCglcmN4XCksJXhtbTYsJXhtbTYKIFsgCV0qW2EtZjAtOV0rOgljNSBjOSA3NSBmNCAgICAgICAgICAJdnBjbXBlcXcgJXhtbTQsJXhtbTYsJXhtbTYKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYveDg2LTY0LXNzZTJhdngucyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYveDg2LTY0LXNzZTJhdngucwppbmRleCA0MDY1MjY2Li45NTUyZjllIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3g4Ni02NC1zc2UyYXZ4LnMKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94ODYtNjQtc3NlMmF2eC5zCkBAIC0xNTcsMTQgKzE1Nyw2IEBACiAJcGF2Z2IgKCVyY3gpLCV4bW02CiAJcGF2Z3cgJXhtbTQsJXhtbTYKIAlwYXZndyAoJXJjeCksJXhtbTYKLQlwY2xtdWxscWxxZHEgJXhtbTQsJXhtbTYKLQlwY2xtdWxscWxxZHEgKCVyY3gpLCV4bW02Ci0JcGNsbXVsaHFscWRxICV4bW00LCV4bW02Ci0JcGNsbXVsaHFscWRxICglcmN4KSwleG1tNgotCXBjbG11bGxxaHFkcSAleG1tNCwleG1tNgotCXBjbG11bGxxaHFkcSAoJXJjeCksJXhtbTYKLQlwY2xtdWxocWhxZHEgJXhtbTQsJXhtbTYKLQlwY2xtdWxocWhxZHEgKCVyY3gpLCV4bW02CiAJcGNtcGVxYiAleG1tNCwleG1tNgogCXBjbXBlcWIgKCVyY3gpLCV4bW02CiAJcGNtcGVxdyAleG1tNCwleG1tNgpAQCAtNzAzLDMgKzY5NSw2OTcgQEAKICMgVGVzdHMgZm9yIG9wIGltbTgsIHhtbSwgcmVnbAogCXBleHRydyAkMTAwLCV4bW00LCVlY3gKIAorCisJLmludGVsX3N5bnRheCBub3ByZWZpeAorIyBUZXN0cyBmb3Igb3AgbWVtNjQKKwlsZG14Y3NyIERXT1JEIFBUUiBbcmN4XQorCXN0bXhjc3IgRFdPUkQgUFRSIFtyY3hdCisKKyMgVGVzdHMgZm9yIG9wIHhtbS9tZW0xMjgsIHhtbQorCWN2dGRxMnBzIHhtbTYseG1tNAorCWN2dGRxMnBzIHhtbTQsWE1NV09SRCBQVFIgW3JjeF0KKwljdnRwZDJkcSB4bW02LHhtbTQKKwljdnRwZDJkcSB4bW00LFhNTVdPUkQgUFRSIFtyY3hdCisJY3Z0cGQycHMgeG1tNix4bW00CisJY3Z0cGQycHMgeG1tNCxYTU1XT1JEIFBUUiBbcmN4XQorCWN2dHBzMmRxIHhtbTYseG1tNAorCWN2dHBzMmRxIHhtbTQsWE1NV09SRCBQVFIgW3JjeF0KKwljdnR0cGQyZHEgeG1tNix4bW00CisJY3Z0dHBkMmRxIHhtbTQsWE1NV09SRCBQVFIgW3JjeF0KKwljdnR0cHMyZHEgeG1tNix4bW00CisJY3Z0dHBzMmRxIHhtbTQsWE1NV09SRCBQVFIgW3JjeF0KKwltb3ZhcGQgeG1tNix4bW00CisJbW92YXBkIHhtbTQsWE1NV09SRCBQVFIgW3JjeF0KKwltb3ZhcHMgeG1tNix4bW00CisJbW92YXBzIHhtbTQsWE1NV09SRCBQVFIgW3JjeF0KKwltb3ZkcWEgeG1tNix4bW00CisJbW92ZHFhIHhtbTQsWE1NV09SRCBQVFIgW3JjeF0KKwltb3ZkcXUgeG1tNix4bW00CisJbW92ZHF1IHhtbTQsWE1NV09SRCBQVFIgW3JjeF0KKwltb3ZzaGR1cCB4bW02LHhtbTQKKwltb3ZzaGR1cCB4bW00LFhNTVdPUkQgUFRSIFtyY3hdCisJbW92c2xkdXAgeG1tNix4bW00CisJbW92c2xkdXAgeG1tNCxYTU1XT1JEIFBUUiBbcmN4XQorCW1vdnVwZCB4bW02LHhtbTQKKwltb3Z1cGQgeG1tNCxYTU1XT1JEIFBUUiBbcmN4XQorCW1vdnVwcyB4bW02LHhtbTQKKwltb3Z1cHMgeG1tNCxYTU1XT1JEIFBUUiBbcmN4XQorCXBhYnNiIHhtbTYseG1tNAorCXBhYnNiIHhtbTQsWE1NV09SRCBQVFIgW3JjeF0KKwlwYWJzdyB4bW02LHhtbTQKKwlwYWJzdyB4bW00LFhNTVdPUkQgUFRSIFtyY3hdCisJcGFic2QgeG1tNix4bW00CisJcGFic2QgeG1tNCxYTU1XT1JEIFBUUiBbcmN4XQorCXBobWlucG9zdXcgeG1tNix4bW00CisJcGhtaW5wb3N1dyB4bW00LFhNTVdPUkQgUFRSIFtyY3hdCisJcHRlc3QgeG1tNix4bW00CisJcHRlc3QgeG1tNCxYTU1XT1JEIFBUUiBbcmN4XQorCXJjcHBzIHhtbTYseG1tNAorCXJjcHBzIHhtbTQsWE1NV09SRCBQVFIgW3JjeF0KKwlyc3FydHBzIHhtbTYseG1tNAorCXJzcXJ0cHMgeG1tNCxYTU1XT1JEIFBUUiBbcmN4XQorCXNxcnRwZCB4bW02LHhtbTQKKwlzcXJ0cGQgeG1tNCxYTU1XT1JEIFBUUiBbcmN4XQorCXNxcnRwcyB4bW02LHhtbTQKKwlzcXJ0cHMgeG1tNCxYTU1XT1JEIFBUUiBbcmN4XQorCWFlc2ltYyB4bW02LHhtbTQKKwlhZXNpbWMgeG1tNCxYTU1XT1JEIFBUUiBbcmN4XQorCisjIFRlc3RzIGZvciBvcCB4bW0sIHhtbS9tZW0xMjgKKwltb3ZhcGQgeG1tNix4bW00CisJbW92YXBkIFhNTVdPUkQgUFRSIFtyY3hdLHhtbTQKKwltb3ZhcHMgeG1tNix4bW00CisJbW92YXBzIFhNTVdPUkQgUFRSIFtyY3hdLHhtbTQKKwltb3ZkcWEgeG1tNix4bW00CisJbW92ZHFhIFhNTVdPUkQgUFRSIFtyY3hdLHhtbTQKKwltb3ZkcXUgeG1tNix4bW00CisJbW92ZHF1IFhNTVdPUkQgUFRSIFtyY3hdLHhtbTQKKwltb3Z1cGQgeG1tNix4bW00CisJbW92dXBkIFhNTVdPUkQgUFRSIFtyY3hdLHhtbTQKKwltb3Z1cHMgeG1tNix4bW00CisJbW92dXBzIFhNTVdPUkQgUFRSIFtyY3hdLHhtbTQKKworIyBUZXN0cyBmb3Igb3AgbWVtMTI4LCB4bW0KKwlsZGRxdSB4bW00LFhNTVdPUkQgUFRSIFtyY3hdCisJbW92bnRkcWEgeG1tNCxYTU1XT1JEIFBUUiBbcmN4XQorCisjIFRlc3RzIGZvciBvcCB4bW0sIG1lbTEyOAorCW1vdm50ZHEgWE1NV09SRCBQVFIgW3JjeF0seG1tNAorCW1vdm50cGQgWE1NV09SRCBQVFIgW3JjeF0seG1tNAorCW1vdm50cHMgWE1NV09SRCBQVFIgW3JjeF0seG1tNAorCisjIFRlc3RzIGZvciBvcCB4bW0vbWVtMTI4LCB4bW1bLCB4bW1dCisJYWRkcGQgeG1tNix4bW00CisJYWRkcGQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCWFkZHBzIHhtbTYseG1tNAorCWFkZHBzIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlhZGRzdWJwZCB4bW02LHhtbTQKKwlhZGRzdWJwZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJYWRkc3VicHMgeG1tNix4bW00CisJYWRkc3VicHMgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCWFuZG5wZCB4bW02LHhtbTQKKwlhbmRucGQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCWFuZG5wcyB4bW02LHhtbTQKKwlhbmRucHMgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCWFuZHBkIHhtbTYseG1tNAorCWFuZHBkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlhbmRwcyB4bW02LHhtbTQKKwlhbmRwcyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJZGl2cGQgeG1tNix4bW00CisJZGl2cGQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCWRpdnBzIHhtbTYseG1tNAorCWRpdnBzIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwloYWRkcGQgeG1tNix4bW00CisJaGFkZHBkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwloYWRkcHMgeG1tNix4bW00CisJaGFkZHBzIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwloc3VicGQgeG1tNix4bW00CisJaHN1YnBkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwloc3VicHMgeG1tNix4bW00CisJaHN1YnBzIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwltYXhwZCB4bW02LHhtbTQKKwltYXhwZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJbWF4cHMgeG1tNix4bW00CisJbWF4cHMgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCW1pbnBkIHhtbTYseG1tNAorCW1pbnBkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwltaW5wcyB4bW02LHhtbTQKKwltaW5wcyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJbXVscGQgeG1tNix4bW00CisJbXVscGQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCW11bHBzIHhtbTYseG1tNAorCW11bHBzIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlvcnBkIHhtbTYseG1tNAorCW9ycGQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCW9ycHMgeG1tNix4bW00CisJb3JwcyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcGFja3Nzd2IgeG1tNix4bW00CisJcGFja3Nzd2IgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXBhY2tzc2R3IHhtbTYseG1tNAorCXBhY2tzc2R3IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwYWNrdXN3YiB4bW02LHhtbTQKKwlwYWNrdXN3YiB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcGFja3VzZHcgeG1tNix4bW00CisJcGFja3VzZHcgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXBhZGRiIHhtbTYseG1tNAorCXBhZGRiIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwYWRkdyB4bW02LHhtbTQKKwlwYWRkdyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcGFkZGQgeG1tNix4bW00CisJcGFkZGQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXBhZGRxIHhtbTYseG1tNAorCXBhZGRxIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwYWRkc2IgeG1tNix4bW00CisJcGFkZHNiIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwYWRkc3cgeG1tNix4bW00CisJcGFkZHN3IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwYWRkdXNiIHhtbTYseG1tNAorCXBhZGR1c2IgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXBhZGR1c3cgeG1tNix4bW00CisJcGFkZHVzdyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcGFuZCB4bW02LHhtbTQKKwlwYW5kIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwYW5kbiB4bW02LHhtbTQKKwlwYW5kbiB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcGF2Z2IgeG1tNix4bW00CisJcGF2Z2IgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXBhdmd3IHhtbTYseG1tNAorCXBhdmd3IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwY21wZXFiIHhtbTYseG1tNAorCXBjbXBlcWIgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXBjbXBlcXcgeG1tNix4bW00CisJcGNtcGVxdyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcGNtcGVxZCB4bW02LHhtbTQKKwlwY21wZXFkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwY21wZXFxIHhtbTYseG1tNAorCXBjbXBlcXEgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXBjbXBndGIgeG1tNix4bW00CisJcGNtcGd0YiB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcGNtcGd0dyB4bW02LHhtbTQKKwlwY21wZ3R3IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwY21wZ3RkIHhtbTYseG1tNAorCXBjbXBndGQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXBjbXBndHEgeG1tNix4bW00CisJcGNtcGd0cSB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcGhhZGR3IHhtbTYseG1tNAorCXBoYWRkdyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcGhhZGRkIHhtbTYseG1tNAorCXBoYWRkZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcGhhZGRzdyB4bW02LHhtbTQKKwlwaGFkZHN3IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwaHN1YncgeG1tNix4bW00CisJcGhzdWJ3IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwaHN1YmQgeG1tNix4bW00CisJcGhzdWJkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwaHN1YnN3IHhtbTYseG1tNAorCXBoc3Vic3cgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXBtYWRkd2QgeG1tNix4bW00CisJcG1hZGR3ZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG1hZGR1YnN3IHhtbTYseG1tNAorCXBtYWRkdWJzdyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG1heHNiIHhtbTYseG1tNAorCXBtYXhzYiB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG1heHN3IHhtbTYseG1tNAorCXBtYXhzdyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG1heHNkIHhtbTYseG1tNAorCXBtYXhzZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG1heHViIHhtbTYseG1tNAorCXBtYXh1YiB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG1heHV3IHhtbTYseG1tNAorCXBtYXh1dyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG1heHVkIHhtbTYseG1tNAorCXBtYXh1ZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG1pbnNiIHhtbTYseG1tNAorCXBtaW5zYiB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG1pbnN3IHhtbTYseG1tNAorCXBtaW5zdyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG1pbnNkIHhtbTYseG1tNAorCXBtaW5zZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG1pbnViIHhtbTYseG1tNAorCXBtaW51YiB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG1pbnV3IHhtbTYseG1tNAorCXBtaW51dyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG1pbnVkIHhtbTYseG1tNAorCXBtaW51ZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG11bGh1dyB4bW02LHhtbTQKKwlwbXVsaHV3IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwbXVsaHJzdyB4bW02LHhtbTQKKwlwbXVsaHJzdyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG11bGh3IHhtbTYseG1tNAorCXBtdWxodyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG11bGx3IHhtbTYseG1tNAorCXBtdWxsdyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG11bGxkIHhtbTYseG1tNAorCXBtdWxsZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcG11bHVkcSB4bW02LHhtbTQKKwlwbXVsdWRxIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwbXVsZHEgeG1tNix4bW00CisJcG11bGRxIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwb3IgeG1tNix4bW00CisJcG9yIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwc2FkYncgeG1tNix4bW00CisJcHNhZGJ3IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwc2h1ZmIgeG1tNix4bW00CisJcHNodWZiIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwc2lnbmIgeG1tNix4bW00CisJcHNpZ25iIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwc2lnbncgeG1tNix4bW00CisJcHNpZ253IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwc2lnbmQgeG1tNix4bW00CisJcHNpZ25kIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwc2xsdyB4bW02LHhtbTQKKwlwc2xsdyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcHNsbGQgeG1tNix4bW00CisJcHNsbGQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXBzbGxxIHhtbTYseG1tNAorCXBzbGxxIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwc3JhdyB4bW02LHhtbTQKKwlwc3JhdyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcHNyYWQgeG1tNix4bW00CisJcHNyYWQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXBzcmx3IHhtbTYseG1tNAorCXBzcmx3IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwc3JsZCB4bW02LHhtbTQKKwlwc3JsZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcHNybHEgeG1tNix4bW00CisJcHNybHEgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXBzdWJiIHhtbTYseG1tNAorCXBzdWJiIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwc3VidyB4bW02LHhtbTQKKwlwc3VidyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcHN1YmQgeG1tNix4bW00CisJcHN1YmQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXBzdWJxIHhtbTYseG1tNAorCXBzdWJxIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwc3Vic2IgeG1tNix4bW00CisJcHN1YnNiIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwc3Vic3cgeG1tNix4bW00CisJcHN1YnN3IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwc3VidXNiIHhtbTYseG1tNAorCXBzdWJ1c2IgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXBzdWJ1c3cgeG1tNix4bW00CisJcHN1YnVzdyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcHVucGNraGJ3IHhtbTYseG1tNAorCXB1bnBja2hidyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcHVucGNraHdkIHhtbTYseG1tNAorCXB1bnBja2h3ZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcHVucGNraGRxIHhtbTYseG1tNAorCXB1bnBja2hkcSB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJcHVucGNraHFkcSB4bW02LHhtbTQKKwlwdW5wY2tocWRxIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwdW5wY2tsYncgeG1tNix4bW00CisJcHVucGNrbGJ3IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwdW5wY2tsd2QgeG1tNix4bW00CisJcHVucGNrbHdkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwdW5wY2tsZHEgeG1tNix4bW00CisJcHVucGNrbGRxIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwdW5wY2tscWRxIHhtbTYseG1tNAorCXB1bnBja2xxZHEgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXB4b3IgeG1tNix4bW00CisJcHhvciB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJc3VicGQgeG1tNix4bW00CisJc3VicGQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXN1YnBzIHhtbTYseG1tNAorCXN1YnBzIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwl1bnBja2hwZCB4bW02LHhtbTQKKwl1bnBja2hwZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJdW5wY2tocHMgeG1tNix4bW00CisJdW5wY2tocHMgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXVucGNrbHBkIHhtbTYseG1tNAorCXVucGNrbHBkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwl1bnBja2xwcyB4bW02LHhtbTQKKwl1bnBja2xwcyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJeG9ycGQgeG1tNix4bW00CisJeG9ycGQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCXhvcnBzIHhtbTYseG1tNAorCXhvcnBzIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlhZXNlbmMgeG1tNix4bW00CisJYWVzZW5jIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlhZXNlbmNsYXN0IHhtbTYseG1tNAorCWFlc2VuY2xhc3QgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCWFlc2RlYyB4bW02LHhtbTQKKwlhZXNkZWMgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCWFlc2RlY2xhc3QgeG1tNix4bW00CisJYWVzZGVjbGFzdCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJY21wZXFwZCB4bW02LHhtbTQKKwljbXBlcXBkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwljbXBlcXBzIHhtbTYseG1tNAorCWNtcGVxcHMgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCWNtcGx0cGQgeG1tNix4bW00CisJY21wbHRwZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJY21wbHRwcyB4bW02LHhtbTQKKwljbXBsdHBzIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwljbXBsZXBkIHhtbTYseG1tNAorCWNtcGxlcGQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCWNtcGxlcHMgeG1tNix4bW00CisJY21wbGVwcyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJY21wdW5vcmRwZCB4bW02LHhtbTQKKwljbXB1bm9yZHBkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwljbXB1bm9yZHBzIHhtbTYseG1tNAorCWNtcHVub3JkcHMgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCWNtcG5lcXBkIHhtbTYseG1tNAorCWNtcG5lcXBkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwljbXBuZXFwcyB4bW02LHhtbTQKKwljbXBuZXFwcyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJY21wbmx0cGQgeG1tNix4bW00CisJY21wbmx0cGQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCWNtcG5sdHBzIHhtbTYseG1tNAorCWNtcG5sdHBzIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwljbXBubGVwZCB4bW02LHhtbTQKKwljbXBubGVwZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisJY21wbmxlcHMgeG1tNix4bW00CisJY21wbmxlcHMgeG1tNixYTU1XT1JEIFBUUiBbcmN4XQorCWNtcG9yZHBkIHhtbTYseG1tNAorCWNtcG9yZHBkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwljbXBvcmRwcyB4bW02LHhtbTQKKwljbXBvcmRwcyB4bW02LFhNTVdPUkQgUFRSIFtyY3hdCisKKyMgVGVzdHMgZm9yIG9wIGltbTgsIHhtbS9tZW0xMjgsIHhtbQorCWFlc2tleWdlbmFzc2lzdCB4bW02LHhtbTQsMTAwCisJYWVza2V5Z2VuYXNzaXN0IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0sMTAwCisJcGNtcGVzdHJpIHhtbTYseG1tNCwxMDAKKwlwY21wZXN0cmkgeG1tNixYTU1XT1JEIFBUUiBbcmN4XSwxMDAKKwlwY21wZXN0cm0geG1tNix4bW00LDEwMAorCXBjbXBlc3RybSB4bW02LFhNTVdPUkQgUFRSIFtyY3hdLDEwMAorCXBjbXBpc3RyaSB4bW02LHhtbTQsMTAwCisJcGNtcGlzdHJpIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0sMTAwCisJcGNtcGlzdHJtIHhtbTYseG1tNCwxMDAKKwlwY21waXN0cm0geG1tNixYTU1XT1JEIFBUUiBbcmN4XSwxMDAKKwlwc2h1ZmQgeG1tNix4bW00LDEwMAorCXBzaHVmZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdLDEwMAorCXBzaHVmaHcgeG1tNix4bW00LDEwMAorCXBzaHVmaHcgeG1tNixYTU1XT1JEIFBUUiBbcmN4XSwxMDAKKwlwc2h1Zmx3IHhtbTYseG1tNCwxMDAKKwlwc2h1Zmx3IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0sMTAwCisJcm91bmRwZCB4bW02LHhtbTQsMTAwCisJcm91bmRwZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdLDEwMAorCXJvdW5kcHMgeG1tNix4bW00LDEwMAorCXJvdW5kcHMgeG1tNixYTU1XT1JEIFBUUiBbcmN4XSwxMDAKKworIyBUZXN0cyBmb3Igb3AgaW1tOCwgeG1tL21lbTEyOCwgeG1tWywgeG1tXQorCWJsZW5kcGQgeG1tNix4bW00LDEwMAorCWJsZW5kcGQgeG1tNixYTU1XT1JEIFBUUiBbcmN4XSwxMDAKKwlibGVuZHBzIHhtbTYseG1tNCwxMDAKKwlibGVuZHBzIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0sMTAwCisJY21wcGQgeG1tNix4bW00LDEwMAorCWNtcHBkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0sMTAwCisJY21wcHMgeG1tNix4bW00LDEwMAorCWNtcHBzIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0sMTAwCisJZHBwZCB4bW02LHhtbTQsMTAwCisJZHBwZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdLDEwMAorCWRwcHMgeG1tNix4bW00LDEwMAorCWRwcHMgeG1tNixYTU1XT1JEIFBUUiBbcmN4XSwxMDAKKwltcHNhZGJ3IHhtbTYseG1tNCwxMDAKKwltcHNhZGJ3IHhtbTYsWE1NV09SRCBQVFIgW3JjeF0sMTAwCisJcGFsaWduciB4bW02LHhtbTQsMTAwCisJcGFsaWduciB4bW02LFhNTVdPUkQgUFRSIFtyY3hdLDEwMAorCXBibGVuZHcgeG1tNix4bW00LDEwMAorCXBibGVuZHcgeG1tNixYTU1XT1JEIFBUUiBbcmN4XSwxMDAKKwlzaHVmcGQgeG1tNix4bW00LDEwMAorCXNodWZwZCB4bW02LFhNTVdPUkQgUFRSIFtyY3hdLDEwMAorCXNodWZwcyB4bW02LHhtbTQsMTAwCisJc2h1ZnBzIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0sMTAwCisKKyMgVGVzdHMgZm9yIG9wIHhtbTAsIHhtbS9tZW0xMjgsIHhtbVssIHhtbV0KKwlibGVuZHZwZCB4bW02LHhtbTQseG1tMAorCWJsZW5kdnBkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0seG1tMAorCWJsZW5kdnBkIHhtbTYseG1tNAorCWJsZW5kdnBkIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlibGVuZHZwcyB4bW02LHhtbTQseG1tMAorCWJsZW5kdnBzIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0seG1tMAorCWJsZW5kdnBzIHhtbTYseG1tNAorCWJsZW5kdnBzIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKwlwYmxlbmR2YiB4bW02LHhtbTQseG1tMAorCXBibGVuZHZiIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0seG1tMAorCXBibGVuZHZiIHhtbTYseG1tNAorCXBibGVuZHZiIHhtbTYsWE1NV09SRCBQVFIgW3JjeF0KKworIyBUZXN0cyBmb3Igb3AgeG1tL21lbTY0LCB4bW0KKwljb21pc2QgeG1tNix4bW00CisJY29taXNkIHhtbTQsUVdPUkQgUFRSIFtyY3hdCisJY3Z0ZHEycGQgeG1tNix4bW00CisJY3Z0ZHEycGQgeG1tNCxRV09SRCBQVFIgW3JjeF0KKwljdnRwczJwZCB4bW02LHhtbTQKKwljdnRwczJwZCB4bW00LFFXT1JEIFBUUiBbcmN4XQorCW1vdmRkdXAgeG1tNix4bW00CisJbW92ZGR1cCB4bW00LFFXT1JEIFBUUiBbcmN4XQorCXBtb3ZzeGJ3IHhtbTYseG1tNAorCXBtb3ZzeGJ3IHhtbTQsUVdPUkQgUFRSIFtyY3hdCisJcG1vdnN4d2QgeG1tNix4bW00CisJcG1vdnN4d2QgeG1tNCxRV09SRCBQVFIgW3JjeF0KKwlwbW92c3hkcSB4bW02LHhtbTQKKwlwbW92c3hkcSB4bW00LFFXT1JEIFBUUiBbcmN4XQorCXBtb3Z6eGJ3IHhtbTYseG1tNAorCXBtb3Z6eGJ3IHhtbTQsUVdPUkQgUFRSIFtyY3hdCisJcG1vdnp4d2QgeG1tNix4bW00CisJcG1vdnp4d2QgeG1tNCxRV09SRCBQVFIgW3JjeF0KKwlwbW92enhkcSB4bW02LHhtbTQKKwlwbW92enhkcSB4bW00LFFXT1JEIFBUUiBbcmN4XQorCXVjb21pc2QgeG1tNix4bW00CisJdWNvbWlzZCB4bW00LFFXT1JEIFBUUiBbcmN4XQorCisjIFRlc3RzIGZvciBvcCBtZW02NCwgeG1tCisJbW92c2QgeG1tNCxRV09SRCBQVFIgW3JjeF0KKworIyBUZXN0cyBmb3Igb3AgeG1tLCBtZW02NAorCW1vdmxwZCBRV09SRCBQVFIgW3JjeF0seG1tNAorCW1vdmxwcyBRV09SRCBQVFIgW3JjeF0seG1tNAorCW1vdmhwZCBRV09SRCBQVFIgW3JjeF0seG1tNAorCW1vdmhwcyBRV09SRCBQVFIgW3JjeF0seG1tNAorCW1vdnNkIFFXT1JEIFBUUiBbcmN4XSx4bW00CisKKyMgVGVzdHMgZm9yIG9wIHhtbSwgcmVncS9tZW02NAorIyBUZXN0cyBmb3Igb3AgcmVncS9tZW02NCwgeG1tCisJbW92ZCByY3gseG1tNAorCW1vdmQgeG1tNCxyY3gKKwltb3ZxIHJjeCx4bW00CisJbW92cSB4bW00LHJjeAorCW1vdnEgUVdPUkQgUFRSIFtyY3hdLHhtbTQKKwltb3ZxIHhtbTQsUVdPUkQgUFRSIFtyY3hdCisKKyMgVGVzdHMgZm9yIG9wIHhtbS9tZW02NCwgcmVnbAorCWN2dHNkMnNpIGVjeCx4bW00CisJY3Z0c2Qyc2kgZWN4LFFXT1JEIFBUUiBbcmN4XQorCWN2dHRzZDJzaSBlY3gseG1tNAorCWN2dHRzZDJzaSBlY3gsUVdPUkQgUFRSIFtyY3hdCisKKyMgVGVzdHMgZm9yIG9wIHhtbS9tZW02NCwgcmVncQorCWN2dHNkMnNpIHJjeCx4bW00CisJY3Z0c2Qyc2kgcmN4LFFXT1JEIFBUUiBbcmN4XQorCWN2dHRzZDJzaSByY3gseG1tNAorCWN2dHRzZDJzaSByY3gsUVdPUkQgUFRSIFtyY3hdCisKKyMgVGVzdHMgZm9yIG9wIHJlZ3EvbWVtNjQsIHhtbVssIHhtbV0KKwljdnRzaTJzZHEgeG1tNCxyY3gKKwljdnRzaTJzZHEgeG1tNCxRV09SRCBQVFIgW3JjeF0KKwljdnRzaTJzc3EgeG1tNCxyY3gKKwljdnRzaTJzc3EgeG1tNCxRV09SRCBQVFIgW3JjeF0KKworIyBUZXN0cyBmb3Igb3AgaW1tOCwgcmVncS9tZW02NCwgeG1tWywgeG1tXQorCXBpbnNycSB4bW00LHJjeCwxMDAKKwlwaW5zcnEgeG1tNCxRV09SRCBQVFIgW3JjeF0sMTAwCisKKyMgVGVzdHNmIGZvciBvcCBpbW04LCB4bW0sIHJlZ3EvbWVtNjQKKwlwZXh0cnEgcmN4LHhtbTQsMTAwCisJcGV4dHJxIFFXT1JEIFBUUiBbcmN4XSx4bW00LDEwMAorCisjIFRlc3RzIGZvciBvcCBtZW02NCwgeG1tWywgeG1tXQorCW1vdmxwZCB4bW00LFFXT1JEIFBUUiBbcmN4XQorCW1vdmxwcyB4bW00LFFXT1JEIFBUUiBbcmN4XQorCW1vdmhwZCB4bW00LFFXT1JEIFBUUiBbcmN4XQorCW1vdmhwcyB4bW00LFFXT1JEIFBUUiBbcmN4XQorCisjIFRlc3RzIGZvciBvcCBpbW04LCB4bW0vbWVtNjQsIHhtbVssIHhtbV0KKwljbXBzZCB4bW02LHhtbTQsMTAwCisJY21wc2QgeG1tNixRV09SRCBQVFIgW3JjeF0sMTAwCisJcm91bmRzZCB4bW02LHhtbTQsMTAwCisJcm91bmRzZCB4bW02LFFXT1JEIFBUUiBbcmN4XSwxMDAKKworIyBUZXN0cyBmb3Igb3AgeG1tL21lbTY0LCB4bW1bLCB4bW1dCisJYWRkc2QgeG1tNix4bW00CisJYWRkc2QgeG1tNixRV09SRCBQVFIgW3JjeF0KKwljdnRzZDJzcyB4bW02LHhtbTQKKwljdnRzZDJzcyB4bW02LFFXT1JEIFBUUiBbcmN4XQorCWRpdnNkIHhtbTYseG1tNAorCWRpdnNkIHhtbTYsUVdPUkQgUFRSIFtyY3hdCisJbWF4c2QgeG1tNix4bW00CisJbWF4c2QgeG1tNixRV09SRCBQVFIgW3JjeF0KKwltaW5zZCB4bW02LHhtbTQKKwltaW5zZCB4bW02LFFXT1JEIFBUUiBbcmN4XQorCW11bHNkIHhtbTYseG1tNAorCW11bHNkIHhtbTYsUVdPUkQgUFRSIFtyY3hdCisJc3FydHNkIHhtbTYseG1tNAorCXNxcnRzZCB4bW02LFFXT1JEIFBUUiBbcmN4XQorCXN1YnNkIHhtbTYseG1tNAorCXN1YnNkIHhtbTYsUVdPUkQgUFRSIFtyY3hdCisJY21wZXFzZCB4bW02LHhtbTQKKwljbXBlcXNkIHhtbTYsUVdPUkQgUFRSIFtyY3hdCisJY21wbHRzZCB4bW02LHhtbTQKKwljbXBsdHNkIHhtbTYsUVdPUkQgUFRSIFtyY3hdCisJY21wbGVzZCB4bW02LHhtbTQKKwljbXBsZXNkIHhtbTYsUVdPUkQgUFRSIFtyY3hdCisJY21wdW5vcmRzZCB4bW02LHhtbTQKKwljbXB1bm9yZHNkIHhtbTYsUVdPUkQgUFRSIFtyY3hdCisJY21wbmVxc2QgeG1tNix4bW00CisJY21wbmVxc2QgeG1tNixRV09SRCBQVFIgW3JjeF0KKwljbXBubHRzZCB4bW02LHhtbTQKKwljbXBubHRzZCB4bW02LFFXT1JEIFBUUiBbcmN4XQorCWNtcG5sZXNkIHhtbTYseG1tNAorCWNtcG5sZXNkIHhtbTYsUVdPUkQgUFRSIFtyY3hdCisJY21wb3Jkc2QgeG1tNix4bW00CisJY21wb3Jkc2QgeG1tNixRV09SRCBQVFIgW3JjeF0KKworIyBUZXN0cyBmb3Igb3AgeG1tL21lbTMyLCB4bW1bLCB4bW1dCisJYWRkc3MgeG1tNix4bW00CisJYWRkc3MgeG1tNixEV09SRCBQVFIgW3JjeF0KKwljdnRzczJzZCB4bW02LHhtbTQKKwljdnRzczJzZCB4bW02LERXT1JEIFBUUiBbcmN4XQorCWRpdnNzIHhtbTYseG1tNAorCWRpdnNzIHhtbTYsRFdPUkQgUFRSIFtyY3hdCisJbWF4c3MgeG1tNix4bW00CisJbWF4c3MgeG1tNixEV09SRCBQVFIgW3JjeF0KKwltaW5zcyB4bW02LHhtbTQKKwltaW5zcyB4bW02LERXT1JEIFBUUiBbcmN4XQorCW11bHNzIHhtbTYseG1tNAorCW11bHNzIHhtbTYsRFdPUkQgUFRSIFtyY3hdCisJcmNwc3MgeG1tNix4bW00CisJcmNwc3MgeG1tNixEV09SRCBQVFIgW3JjeF0KKwlyc3FydHNzIHhtbTYseG1tNAorCXJzcXJ0c3MgeG1tNixEV09SRCBQVFIgW3JjeF0KKwlzcXJ0c3MgeG1tNix4bW00CisJc3FydHNzIHhtbTYsRFdPUkQgUFRSIFtyY3hdCisJc3Vic3MgeG1tNix4bW00CisJc3Vic3MgeG1tNixEV09SRCBQVFIgW3JjeF0KKwljbXBlcXNzIHhtbTYseG1tNAorCWNtcGVxc3MgeG1tNixEV09SRCBQVFIgW3JjeF0KKwljbXBsdHNzIHhtbTYseG1tNAorCWNtcGx0c3MgeG1tNixEV09SRCBQVFIgW3JjeF0KKwljbXBsZXNzIHhtbTYseG1tNAorCWNtcGxlc3MgeG1tNixEV09SRCBQVFIgW3JjeF0KKwljbXB1bm9yZHNzIHhtbTYseG1tNAorCWNtcHVub3Jkc3MgeG1tNixEV09SRCBQVFIgW3JjeF0KKwljbXBuZXFzcyB4bW02LHhtbTQKKwljbXBuZXFzcyB4bW02LERXT1JEIFBUUiBbcmN4XQorCWNtcG5sdHNzIHhtbTYseG1tNAorCWNtcG5sdHNzIHhtbTYsRFdPUkQgUFRSIFtyY3hdCisJY21wbmxlc3MgeG1tNix4bW00CisJY21wbmxlc3MgeG1tNixEV09SRCBQVFIgW3JjeF0KKwljbXBvcmRzcyB4bW02LHhtbTQKKwljbXBvcmRzcyB4bW02LERXT1JEIFBUUiBbcmN4XQorCisjIFRlc3RzIGZvciBvcCB4bW0vbWVtMzIsIHhtbQorCWNvbWlzcyB4bW02LHhtbTQKKwljb21pc3MgeG1tNCxEV09SRCBQVFIgW3JjeF0KKwlwbW92c3hiZCB4bW02LHhtbTQKKwlwbW92c3hiZCB4bW00LERXT1JEIFBUUiBbcmN4XQorCXBtb3ZzeHdxIHhtbTYseG1tNAorCXBtb3ZzeHdxIHhtbTQsRFdPUkQgUFRSIFtyY3hdCisJcG1vdnp4YmQgeG1tNix4bW00CisJcG1vdnp4YmQgeG1tNCxEV09SRCBQVFIgW3JjeF0KKwlwbW92enh3cSB4bW02LHhtbTQKKwlwbW92enh3cSB4bW00LERXT1JEIFBUUiBbcmN4XQorCXVjb21pc3MgeG1tNix4bW00CisJdWNvbWlzcyB4bW00LERXT1JEIFBUUiBbcmN4XQorCisjIFRlc3RzIGZvciBvcCBtZW0zMiwgeG1tCisJbW92c3MgeG1tNCxEV09SRCBQVFIgW3JjeF0KKworIyBUZXN0cyBmb3Igb3AgeG1tLCBtZW0zMgorCW1vdnNzIERXT1JEIFBUUiBbcmN4XSx4bW00CisKKyMgVGVzdHMgZm9yIG9wIHhtbSwgcmVnbC9tZW0zMgorIyBUZXN0cyBmb3Igb3AgcmVnbC9tZW0zMiwgeG1tCisJbW92ZCBlY3gseG1tNAorCW1vdmQgRFdPUkQgUFRSIFtyY3hdLHhtbTQKKwltb3ZkIHhtbTQsZWN4CisJbW92ZCB4bW00LERXT1JEIFBUUiBbcmN4XQorCisjIFRlc3RzIGZvciBvcCB4bW0vbWVtMzIsIHJlZ2wKKwljdnRzczJzaSBlY3gseG1tNAorCWN2dHNzMnNpIGVjeCxEV09SRCBQVFIgW3JjeF0KKwljdnR0c3Myc2kgZWN4LHhtbTQKKwljdnR0c3Myc2kgZWN4LERXT1JEIFBUUiBbcmN4XQorCisjIFRlc3RzIGZvciBvcCB4bW0vbWVtMzIsIHJlZ3EKKwljdnRzczJzaSByY3gseG1tNAorCWN2dHNzMnNpIHJjeCxEV09SRCBQVFIgW3JjeF0KKwljdnR0c3Myc2kgcmN4LHhtbTQKKwljdnR0c3Myc2kgcmN4LERXT1JEIFBUUiBbcmN4XQorCisjIFRlc3RzIGZvciBvcCB4bW0sIHJlZ3EKKwltb3Ztc2twZCByY3gseG1tNAorCW1vdm1za3BzIHJjeCx4bW00CisJcG1vdm1za2IgcmN4LHhtbTQKKworIyBUZXN0cyBmb3Igb3AgaW1tOCwgeG1tLCByZWdxL21lbTMyCisJZXh0cmFjdHBzIHJjeCx4bW00LDEwMAorCWV4dHJhY3RwcyBEV09SRCBQVFIgW3JjeF0seG1tNCwxMDAKKyMgVGVzdHMgZm9yIG9wIGltbTgsIHhtbSwgcmVnbC9tZW0zMgorCXBleHRyZCBlY3gseG1tNCwxMDAKKwlwZXh0cmQgRFdPUkQgUFRSIFtyY3hdLHhtbTQsMTAwCisJZXh0cmFjdHBzIGVjeCx4bW00LDEwMAorCWV4dHJhY3RwcyBEV09SRCBQVFIgW3JjeF0seG1tNCwxMDAKKworIyBUZXN0cyBmb3Igb3AgcmVnbC9tZW0zMiwgeG1tWywgeG1tXQorCWN2dHNpMnNkIHhtbTQsZWN4CisJY3Z0c2kyc2QgeG1tNCxEV09SRCBQVFIgW3JjeF0KKwljdnRzaTJzcyB4bW00LGVjeAorCWN2dHNpMnNzIHhtbTQsRFdPUkQgUFRSIFtyY3hdCisKKyMgVGVzdHMgZm9yIG9wIGltbTgsIHhtbS9tZW0zMiwgeG1tWywgeG1tXQorCWNtcHNzIHhtbTYseG1tNCwxMDAKKwljbXBzcyB4bW02LERXT1JEIFBUUiBbcmN4XSwxMDAKKwlpbnNlcnRwcyB4bW02LHhtbTQsMTAwCisJaW5zZXJ0cHMgeG1tNixEV09SRCBQVFIgW3JjeF0sMTAwCisJcm91bmRzcyB4bW02LHhtbTQsMTAwCisJcm91bmRzcyB4bW02LERXT1JEIFBUUiBbcmN4XSwxMDAKKworIyBUZXN0cyBmb3Igb3AgeG1tL20xNiwgeG1tCisJcG1vdnN4YnEgeG1tNix4bW00CisJcG1vdnN4YnEgeG1tNCxXT1JEIFBUUiBbcmN4XQorCXBtb3Z6eGJxIHhtbTYseG1tNAorCXBtb3Z6eGJxIHhtbTQsV09SRCBQVFIgW3JjeF0KKworIyBUZXN0cyBmb3Igb3AgaW1tOCwgeG1tLCByZWdsL21lbTE2CisJcGV4dHJ3IGVjeCx4bW00LDEwMAorCXBleHRydyBXT1JEIFBUUiBbcmN4XSx4bW00LDEwMAorCisjIFRlc3RzIGZvciBvcCBpbW04LCB4bW0sIHJlZ3EvbWVtMTYKKwlwZXh0cncgcmN4LHhtbTQsMTAwCisJcGV4dHJ3IFdPUkQgUFRSIFtyY3hdLHhtbTQsMTAwCisKKyMgVGVzdHMgZm9yIG9wIGltbTgsIHJlZ2wvbWVtMTYsIHhtbVssIHhtbV0KKwlwaW5zcncgeG1tNCxlY3gsMTAwCisJcGluc3J3IHhtbTQsV09SRCBQVFIgW3JjeF0sMTAwCisKKworCXBpbnNydyB4bW00LHJjeCwxMDAKKwlwaW5zcncgeG1tNCxXT1JEIFBUUiBbcmN4XSwxMDAKKworIyBUZXN0cyBmb3Igb3AgaW1tOCwgeG1tLCByZWdsL21lbTgKKwlwZXh0cmIgZWN4LHhtbTQsMTAwCisJcGV4dHJiIEJZVEUgUFRSIFtyY3hdLHhtbTQsMTAwCisKKyMgVGVzdHMgZm9yIG9wIGltbTgsIHJlZ2wvbWVtOCwgeG1tWywgeG1tXQorCXBpbnNyYiB4bW00LGVjeCwxMDAKKwlwaW5zcmIgeG1tNCxCWVRFIFBUUiBbcmN4XSwxMDAKKworIyBUZXN0cyBmb3Igb3AgaW1tOCwgeG1tLCByZWdxCisJcGV4dHJ3IHJjeCx4bW00LDEwMAorIyBUZXN0cyBmb3Igb3AgaW1tOCwgeG1tLCByZWdxL21lbTgKKwlwZXh0cmIgcmN4LHhtbTQsMTAwCisJcGV4dHJiIEJZVEUgUFRSIFtyY3hdLHhtbTQsMTAwCisKKyMgVGVzdHMgZm9yIG9wIGltbTgsIHJlZ2wvbWVtOCwgeG1tWywgeG1tXQorCXBpbnNyYiB4bW00LGVjeCwxMDAKKwlwaW5zcmIgeG1tNCxCWVRFIFBUUiBbcmN4XSwxMDAKKworIyBUZXN0cyBmb3Igb3AgeG1tLCB4bW0KKwltYXNrbW92ZHF1IHhtbTYseG1tNAorCW1vdnEgeG1tNix4bW00CisKKyMgVGVzdHMgZm9yIG9wIHhtbSwgcmVnbAorCW1vdm1za3BkIGVjeCx4bW00CisJbW92bXNrcHMgZWN4LHhtbTQKKwlwbW92bXNrYiBlY3gseG1tNAorIyBUZXN0cyBmb3Igb3AgeG1tLCB4bW1bLCB4bW1dCisJbW92aGxwcyB4bW02LHhtbTQKKwltb3ZsaHBzIHhtbTYseG1tNAorCW1vdnNkIHhtbTYseG1tNAorCW1vdnNzIHhtbTYseG1tNAorCisjIFRlc3RzIGZvciBvcCBpbW04LCB4bW1bLCB4bW1dCisJcHNsbGQgeG1tNCwxMDAKKwlwc2xsZHEgeG1tNCwxMDAKKwlwc2xscSB4bW00LDEwMAorCXBzbGx3IHhtbTQsMTAwCisJcHNyYWQgeG1tNCwxMDAKKwlwc3JhdyB4bW00LDEwMAorCXBzcmxkIHhtbTQsMTAwCisJcHNybGRxIHhtbTQsMTAwCisJcHNybHEgeG1tNCwxMDAKKwlwc3JsdyB4bW00LDEwMAorCisjIFRlc3RzIGZvciBvcCBpbW04LCB4bW0sIHJlZ2wKKwlwZXh0cncgZWN4LHhtbTQsMTAwCisKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL3BwYy9jb21tb24uZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL3BwYy9jb21tb24uZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWYzMjU3Ci0tLSAvZGV2L251bGwKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvcHBjL2NvbW1vbi5kCkBAIC0wLDAgKzEsMTkwIEBACisjb2JqZHVtcDogLWQgLU1jb20KKyNhczogLWEzMiAtbWNvbQorI25hbWU6IFBvd2VyUEMgQ09NTU9OIGluc3RydWN0aW9ucworCisuKjogK2ZpbGUgZm9ybWF0IGVsZjMyLXBvd2VycGMuKgorCitEaXNhc3NlbWJseSBvZiBzZWN0aW9uIFwudGV4dDoKKworMCswMCA8c3RhcnQ+OgorCisgICAwOgk3YyA4MyAyOCAzOSAJYW5kLiAgICByMyxyNCxyNQorICAgNDoJN2MgODMgMjggMzggCWFuZCAgICAgcjMscjQscjUKKyAgIDg6CTdkIGNkIDc4IDc4IAlhbmRjICAgIHIxMyxyMTQscjE1CisgICBjOgk3ZSAzMCA5MCA3OSAJYW5kYy4gICByMTYscjE3LHIxOAorICAxMDoJNDggMDAgMDAgMDIgCWJhICAgICAgMCA8c3RhcnQ+CisgIDE0Ogk0MCAwMSAwMCAwMCAJYmRuemYtICBndCwxNCA8c3RhcnRcKzB4MTQ+CisgIDE4Ogk0MCA4NSAwMCAwMiAJYmxlYS0gICBjcjEsMCA8c3RhcnQ+CisgIDFjOgk0MCA0MyAwMCAwMSAJYmR6ZmwtICBzbywxYyA8c3RhcnRcKzB4MWM+CisgIDIwOgk0MSA0NyAwMCAwMyAJYmR6dGxhLSA0XCpjcjFcK3NvLDAgPHN0YXJ0PgorICAyNDoJNGUgODAgMDQgMjAgCWJjdHIKKyAgMjg6CTRlIDgwIDA0IDIxIAliY3RybAorICAyYzoJNDIgNDAgMDAgMDIgCWJkemEtICAgMCA8c3RhcnQ+CisgIDMwOgk0MiA0MCAwMCAwMCAJYmR6LSAgICAzMCA8c3RhcnRcKzB4MzA+CisgIDM0Ogk0MiA0MCAwMCAwMyAJYmR6bGEtICAwIDxzdGFydD4KKyAgMzg6CTQyIDQwIDAwIDAxIAliZHpsLSAgIDM4IDxzdGFydFwrMHgzOD4KKyAgM2M6CTQxIDgyIDAwIDAwIAliZXEtICAgIDNjIDxzdGFydFwrMHgzYz4KKyAgNDA6CTQxIDhhIDAwIDAyIAliZXFhLSAgIGNyMiwwIDxzdGFydD4KKyAgNDQ6CTQxIDg2IDAwIDAxIAliZXFsLSAgIGNyMSw0NCA8c3RhcnRcKzB4NDQ+CisgIDQ4Ogk0MSA4ZSAwMCAwMyAJYmVxbGEtICBjcjMsMCA8c3RhcnQ+CisgIDRjOgk0MCA4MCAwMCAwMCAJYmdlLSAgICA0YyA8c3RhcnRcKzB4NGM+CisgIDUwOgk0MCA5MCAwMCAwMiAJYmdlYS0gICBjcjQsMCA8c3RhcnQ+CisgIDU0Ogk0MCA4OCAwMCAwMSAJYmdlbC0gICBjcjIsNTQgPHN0YXJ0XCsweDU0PgorICA1ODoJNDAgOTggMDAgMDMgCWJnZWxhLSAgY3I2LDAgPHN0YXJ0PgorICA1YzoJNDEgOTEgMDAgMDAgCWJndC0gICAgY3I0LDVjIDxzdGFydFwrMHg1Yz4KKyAgNjA6CTQxIDk5IDAwIDAyIAliZ3RhLSAgIGNyNiwwIDxzdGFydD4KKyAgNjQ6CTQxIDk1IDAwIDAxIAliZ3RsLSAgIGNyNSw2NCA8c3RhcnRcKzB4NjQ+CisgIDY4Ogk0MSA5ZCAwMCAwMyAJYmd0bGEtICBjcjcsMCA8c3RhcnQ+CisgIDZjOgk0OCAwMCAwMCAwMCAJYiAgICAgICA2YyA8c3RhcnRcKzB4NmM+CisgIDcwOgk0OCAwMCAwMCAwMyAJYmxhICAgICAwIDxzdGFydD4KKyAgNzQ6CTQwIDgxIDAwIDAwIAlibGUtICAgIDc0IDxzdGFydFwrMHg3ND4KKyAgNzg6CTQwIDkxIDAwIDAyIAlibGVhLSAgIGNyNCwwIDxzdGFydD4KKyAgN2M6CTQwIDg5IDAwIDAxIAlibGVsLSAgIGNyMiw3YyA8c3RhcnRcKzB4N2M+CisgIDgwOgk0MCA5OSAwMCAwMyAJYmxlbGEtICBjcjYsMCA8c3RhcnQ+CisgIDg0Ogk0OCAwMCAwMCAwMSAJYmwgICAgICA4NCA8c3RhcnRcKzB4ODQ+CisgIDg4Ogk0MSA4MCAwMCAwMCAJYmx0LSAgICA4OCA8c3RhcnRcKzB4ODg+CisgIDhjOgk0MSA4OCAwMCAwMiAJYmx0YS0gICBjcjIsMCA8c3RhcnQ+CisgIDkwOgk0MSA4NCAwMCAwMSAJYmx0bC0gICBjcjEsOTAgPHN0YXJ0XCsweDkwPgorICA5NDoJNDEgOGMgMDAgMDMgCWJsdGxhLSAgY3IzLDAgPHN0YXJ0PgorICA5ODoJNDAgODIgMDAgMDAgCWJuZS0gICAgOTggPHN0YXJ0XCsweDk4PgorICA5YzoJNDAgOGEgMDAgMDIgCWJuZWEtICAgY3IyLDAgPHN0YXJ0PgorICBhMDoJNDAgODYgMDAgMDEgCWJuZWwtICAgY3IxLGEwIDxzdGFydFwrMHhhMD4KKyAgYTQ6CTQwIDhlIDAwIDAzIAlibmVsYS0gIGNyMywwIDxzdGFydD4KKyAgYTg6CTQwIDg1IDAwIDAwIAlibGUtICAgIGNyMSxhOCA8c3RhcnRcKzB4YTg+CisgIGFjOgk0MCA5NSAwMCAwMiAJYmxlYS0gICBjcjUsMCA8c3RhcnQ+CisgIGIwOgk0MCA4ZCAwMCAwMSAJYmxlbC0gICBjcjMsYjAgPHN0YXJ0XCsweGIwPgorICBiNDoJNDAgOWQgMDAgMDMgCWJsZWxhLSAgY3I3LDAgPHN0YXJ0PgorICBiODoJNDAgODQgMDAgMDAgCWJnZS0gICAgY3IxLGI4IDxzdGFydFwrMHhiOD4KKyAgYmM6CTQwIDk0IDAwIDAyIAliZ2VhLSAgIGNyNSwwIDxzdGFydD4KKyAgYzA6CTQwIDhjIDAwIDAxIAliZ2VsLSAgIGNyMyxjMCA8c3RhcnRcKzB4YzA+CisgIGM0Ogk0MCA5YyAwMCAwMyAJYmdlbGEtICBjcjcsMCA8c3RhcnQ+CisgIGM4Ogk0MCA5MyAwMCAwMCAJYm5zLSAgICBjcjQsYzggPHN0YXJ0XCsweGM4PgorICBjYzoJNDAgOWIgMDAgMDIgCWJuc2EtICAgY3I2LDAgPHN0YXJ0PgorICBkMDoJNDAgOTcgMDAgMDEgCWJuc2wtICAgY3I1LGQwIDxzdGFydFwrMHhkMD4KKyAgZDQ6CTQwIDlmIDAwIDAzIAlibnNsYS0gIGNyNywwIDxzdGFydD4KKyAgZDg6CTQxIDkzIDAwIDAwIAlic28tICAgIGNyNCxkOCA8c3RhcnRcKzB4ZDg+CisgIGRjOgk0MSA5YiAwMCAwMiAJYnNvYS0gICBjcjYsMCA8c3RhcnQ+CisgIGUwOgk0MSA5NyAwMCAwMSAJYnNvbC0gICBjcjUsZTAgPHN0YXJ0XCsweGUwPgorICBlNDoJNDEgOWYgMDAgMDMgCWJzb2xhLSAgY3I3LDAgPHN0YXJ0PgorICBlODoJNGMgODUgMzIgMDIgCWNyYW5kICAgNFwqY3IxXCtsdCw0XCpjcjFcK2d0LDRcKmNyMVwrZXEKKyAgZWM6CTRjIDY0IDI5IDAyIAljcmFuZGMgIHNvLDRcKmNyMVwrbHQsNFwqY3IxXCtndAorICBmMDoJNGMgZTAgMGEgNDIgCWNyZXF2ICAgNFwqY3IxXCtzbyxsdCxndAorICBmNDoJNGMgMjIgMTkgYzIgCWNybmFuZCAgZ3QsZXEsc28KKyAgZjg6CTRjIDAxIDEwIDQyIAljcm5vciAgIGx0LGd0LGVxCisgIGZjOgk0YyBhNiAzYiA4MiAJY3JvciAgICA0XCpjcjFcK2d0LDRcKmNyMVwrZXEsNFwqY3IxXCtzbworIDEwMDoJNGMgNDMgMjMgNDIgCWNyb3JjICAgZXEsc28sNFwqY3IxXCtsdAorIDEwNDoJNGMgYzcgMDEgODIgCWNyeG9yICAgNFwqY3IxXCtlcSw0XCpjcjFcK3NvLGx0CisgMTA4Ogk3ZCA2YSA2MiAzOSAJZXF2LiAgICByMTAscjExLHIxMgorIDEwYzoJN2QgNmEgNjIgMzggCWVxdiAgICAgcjEwLHIxMSxyMTIKKyAxMTA6CWZlIGEwIGZhIDExIAlmYWJzLiAgIGYyMSxmMzEKKyAxMTQ6CWZlIGEwIGZhIDEwIAlmYWJzICAgIGYyMSxmMzEKKyAxMTg6CWZkIDhhIDU4IDQwIAlmY21wbyAgIGNyMyxmMTAsZjExCisgMTFjOglmZCA4NCAyOCAwMCAJZmNtcHUgICBjcjMsZjQsZjUKKyAxMjA6CWZjIDYwIDIwIDkxIAlmbXIuICAgIGYzLGY0CisgMTI0OglmYyA2MCAyMCA5MCAJZm1yICAgICBmMyxmNAorIDEyODoJZmUgODAgZjEgMTEgCWZuYWJzLiAgZjIwLGYzMAorIDEyYzoJZmUgODAgZjEgMTAgCWZuYWJzICAgZjIwLGYzMAorIDEzMDoJZmMgNjAgMjAgNTEgCWZuZWcuICAgZjMsZjQKKyAxMzQ6CWZjIDYwIDIwIDUwIAlmbmVnICAgIGYzLGY0CisgMTM4OglmYyBjMCAzOCAxOCAJZnJzcCAgICBmNixmNworIDEzYzoJZmQgMDAgNDggMTkgCWZyc3AuICAgZjgsZjkKKyAxNDA6CTg5IDIxIDAwIDAwIAlsYnogICAgIHI5LDBcKHIxXCkKKyAxNDQ6CThkIDQxIDAwIDAxIAlsYnp1ICAgIHIxMCwxXChyMVwpCisgMTQ4Ogk3ZSA5NSBiMCBlZSAJbGJ6dXggICByMjAscjIxLHIyMgorIDE0YzoJN2MgNjQgMjggYWUgCWxienggICAgcjMscjQscjUKKyAxNTA6CWNhIGExIDAwIDA4IAlsZmQgICAgIGYyMSw4XChyMVwpCisgMTU0OgljZSBjMSAwMCAxMCAJbGZkdSAgICBmMjIsMTZcKHIxXCkKKyAxNTg6CTdlIDk1IGI0IGVlIAlsZmR1eCAgIGYyMCxyMjEscjIyCisgMTVjOgk3ZCBhZSA3YyBhZSAJbGZkeCAgICBmMTMscjE0LHIxNQorIDE2MDoJYzIgNjEgMDAgMDAgCWxmcyAgICAgZjE5LDBcKHIxXCkKKyAxNjQ6CWM2IDgxIDAwIDA0IAlsZnN1ICAgIGYyMCw0XChyMVwpCisgMTY4Ogk3ZCA0YiA2NCA2ZSAJbGZzdXggICBmMTAscjExLHIxMgorIDE2YzoJN2QgNGIgNjQgMmUgCWxmc3ggICAgZjEwLHIxMSxyMTIKKyAxNzA6CWE5IGUxIDAwIDA2IAlsaGEgICAgIHIxNSw2XChyMVwpCisgMTc0OglhZSAwMSAwMCAwOCAJbGhhdSAgICByMTYsOFwocjFcKQorIDE3ODoJN2QgMmEgNWEgZWUgCWxoYXV4ICAgcjkscjEwLHIxMQorIDE3YzoJN2QgMmEgNWEgYWUgCWxoYXggICAgcjkscjEwLHIxMQorIDE4MDoJN2MgNjQgMmUgMmMgCWxoYnJ4ICAgcjMscjQscjUKKyAxODQ6CWExIGExIDAwIDAwIAlsaHogICAgIHIxMywwXChyMVwpCisgMTg4OglhNSBjMSAwMCAwMiAJbGh6dSAgICByMTQsMlwocjFcKQorIDE4YzoJN2UgOTYgYzIgNmUgCWxoenV4ICAgcjIwLHIyMixyMjQKKyAxOTA6CTdlIGY4IGNhIDJlIAlsaHp4ICAgIHIyMyxyMjQscjI1CisgMTk0Ogk0YyAwNCAwMCAwMCAJbWNyZiAgICBjcjAsY3IxCisgMTk4OglmZCA5MCAwMCA4MCAJbWNyZnMgICBjcjMsY3I0CisgMTljOgk3ZCA4MCAwNCAwMCAJbWNyeHIgICBjcjMKKyAxYTA6CTdjIDYwIDAwIDI2IAltZmNyICAgIHIzCisgMWE0Ogk3YyA2OSAwMiBhNiAJbWZjdHIgICByMworIDFhODoJN2MgYjMgMDIgYTYgCW1mZGFyICAgcjUKKyAxYWM6CTdjIDkyIDAyIGE2IAltZmRzaXNyIHI0CisgMWIwOglmZiBjMCAwNCA4ZSAJbWZmcyAgICBmMzAKKyAxYjQ6CWZmIGUwIDA0IDhmIAltZmZzLiAgIGYzMQorIDFiODoJN2MgNDggMDIgYTYgCW1mbHIgICAgcjIKKyAxYmM6CTdlIDYwIDAwIGE2IAltZm1zciAgIHIxOQorIDFjMDoJN2MgNzggMDAgMjYgCW1mb2NyZiAgcjMsMTI4CisgMWM0Ogk3YyAyNSAwMiBhNiAJbWZydGNsICByMQorIDFjODoJN2MgMDQgMDIgYTYgCW1mcnRjdSAgcjAKKyAxY2M6CTdjIGQ5IDAyIGE2IAltZnNkcjEgIHI2CisgMWQwOgk3YyA2MCAyMiBhNiAJbWZzcHIgICByMywxMjgKKyAxZDQ6CTdjIGZhIDAyIGE2IAltZnNycjAgIHI3CisgMWQ4Ogk3ZCAxYiAwMiBhNiAJbWZzcnIxICByOAorIDFkYzoJN2YgYzEgMDIgYTYgCW1meGVyICAgcjMwCisgMWUwOgk3ZiBmZSBmYiA3OSAJbXIuICAgICByMzAscjMxCisgMWU0Ogk3ZiBmZSBmYiA3OCAJbXIgICAgICByMzAscjMxCisgMWU4Ogk3YyA2ZiBmMSAyMCAJbXRjciAgICByMworIDFlYzoJN2MgNjggMDEgMjAgCW10Y3JmICAgMTI4LHIzCisgMWYwOgk3ZSA2OSAwMyBhNiAJbXRjdHIgICByMTkKKyAxZjQ6CTdlIGIzIDAzIGE2IAltdGRhciAgIHIyMQorIDFmODoJN2YgMTYgMDMgYTYgCW10ZGVjICAgcjI0CisgMWZjOgk3ZSA5MiAwMyBhNiAJbXRkc2lzciByMjAKKyAyMDA6CWZjIDYwIDAwIDhkIAltdGZzYjAuIHNvCisgMjA0OglmYyA2MCAwMCA4YyAJbXRmc2IwICBzbworIDIwODoJZmMgNjAgMDAgNGQgCW10ZnNiMS4gc28KKyAyMGM6CWZjIDYwIDAwIDRjIAltdGZzYjEgIHNvCisgMjEwOglmYyAwYyA1NSA4ZSAJbXRmc2YgICA2LGYxMAorIDIxNDoJZmMgMGMgNWQgOGYgCW10ZnNmLiAgNixmMTEKKyAyMTg6CWZmIDAwIDAxIDBjIAltdGZzZmkgIDYsMAorIDIxYzoJZmYgMDAgZjEgMGQgCW10ZnNmaS4gNiwxNQorIDIyMDoJN2UgNDggMDMgYTYgCW10bHIgICAgcjE4CisgMjI0Ogk3ZCA0MCAwMSAyNCAJbXRtc3IgICByMTAKKyAyMjg6CTdjIDc4IDAxIDIwIAltdG9jcmYgIDEyOCxyMworIDIyYzoJN2UgZjUgMDMgYTYgCW10cnRjbCAgcjIzCisgMjMwOgk3ZSBkNCAwMyBhNiAJbXRydGN1ICByMjIKKyAyMzQ6CTdmIDM5IDAzIGE2IAltdHNkcjEgIHIyNQorIDIzODoJN2MgNjAgMjMgYTYgCW10c3ByICAgMTI4LHIzCisgMjNjOgk3ZiA1YSAwMyBhNiAJbXRzcnIwICByMjYKKyAyNDA6CTdmIDdiIDAzIGE2IAltdHNycjEgIHIyNworIDI0NDoJN2UgMjEgMDMgYTYgCW10eGVyICAgcjE3CisgMjQ4Ogk3ZiBiYyBmMyBiOSAJbmFuZC4gICByMjgscjI5LHIzMAorIDI0YzoJN2YgYmMgZjMgYjggCW5hbmQgICAgcjI4LHIyOSxyMzAKKyAyNTA6CTdjIDY0IDAwIGQxIAluZWcuICAgIHIzLHI0CisgMjU0Ogk3YyA2NCAwMCBkMCAJbmVnICAgICByMyxyNAorIDI1ODoJN2UgMTEgMDQgZDAgCW5lZ28gICAgcjE2LHIxNworIDI1YzoJN2UgNTMgMDQgZDEgCW5lZ28uICAgcjE4LHIxOQorIDI2MDoJN2UgYjQgYjAgZjkgCW5vci4gICAgcjIwLHIyMSxyMjIKKyAyNjQ6CTdlIGI0IGIwIGY4IAlub3IgICAgIHIyMCxyMjEscjIyCisgMjY4Ogk3ZSBiNCBhOCBmOSAJbm90LiAgICByMjAscjIxCisgMjZjOgk3ZSBiNCBhOCBmOCAJbm90ICAgICByMjAscjIxCisgMjcwOgk3YyA0MCAyMyA3OCAJb3IgICAgICByMCxyMixyNAorIDI3NDoJN2QgY2MgODMgNzkgCW9yLiAgICAgcjEyLHIxNCxyMTYKKyAyNzg6CTdlIDBmIDhiIDM4IAlvcmMgICAgIHIxNSxyMTYscjE3CisgMjdjOgk3ZSA3MiBhMyAzOSAJb3JjLiAgICByMTgscjE5LHIyMAorIDI4MDoJNGMgMDAgMDAgNjQgCXJmaQorIDI4NDoJOTkgNjEgMDAgMDIgCXN0YiAgICAgcjExLDJcKHIxXCkKKyAyODg6CTlkIDgxIDAwIDAzIAlzdGJ1ICAgIHIxMiwzXChyMVwpCisgMjhjOgk3ZCBhZSA3OSBlZSAJc3RidXggICByMTMscjE0LHIxNQorIDI5MDoJN2MgNjQgMjkgYWUgCXN0YnggICAgcjMscjQscjUKKyAyOTQ6CWRiIDIxIDAwIDIwIAlzdGZkICAgIGYyNSwzMlwocjFcKQorIDI5ODoJZGYgNDEgMDAgMjggCXN0ZmR1ICAgZjI2LDQwXChyMVwpCisgMjljOgk3YyAwMSAxNSBlZSAJc3RmZHV4ICBmMCxyMSxyMgorIDJhMDoJN2YgYmUgZmQgYWUgCXN0ZmR4ICAgZjI5LHIzMCxyMzEKKyAyYTQ6CWQyIGUxIDAwIDE0IAlzdGZzICAgIGYyMywyMFwocjFcKQorIDJhODoJZDcgMDEgMDAgMTggCXN0ZnN1ICAgZjI0LDI0XChyMVwpCisgMmFjOgk3ZiA1YiBlNSA2ZSAJc3Rmc3V4ICBmMjYscjI3LHIyOAorIDJiMDoJN2UgZjggY2QgMmUgCXN0ZnN4ICAgZjIzLHIyNCxyMjUKKyAyYjQ6CWIyIDIxIDAwIDBhIAlzdGggICAgIHIxNywxMFwocjFcKQorIDJiODoJN2MgYzcgNDcgMmMgCXN0aGJyeCAgcjYscjcscjgKKyAyYmM6CWI2IDQxIDAwIDBjIAlzdGh1ICAgIHIxOCwxMlwocjFcKQorIDJjMDoJN2UgYjYgYmIgNmUgCXN0aHV4ICAgcjIxLHIyMixyMjMKKyAyYzQ6CTdkIDhkIDczIDJlIAlzdGh4ICAgIHIxMixyMTMscjE0CisgMmM4Ogk3ZiBkZCBmYSA3OSAJeG9yLiAgICByMjkscjMwLHIzMQorIDJjYzoJN2YgZGQgZmEgNzggCXhvciAgICAgcjI5LHIzMCxyMzEKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL3BwYy9jb21tb24ucyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3BwYy9jb21tb24ucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDc5Y2IyCi0tLSAvZGV2L251bGwKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvcHBjL2NvbW1vbi5zCkBAIC0wLDAgKzEsMTgyIEBACisJLnNlY3Rpb24gIi50ZXh0Igorc3RhcnQ6CisJYW5kLgkzLDQsNQorCWFuZAkzLDQsNQorCWFuZGMJMTMsMTQsMTUKKwlhbmRjLgkxNiwxNywxOAorCWJhCWxhYmVsX2FicworCWJjCTAsMSxmb28KKwliY2EJNCw1LGZvb19hYnMKKwliY2wJMiwzLGZvbworCWJjbGEJMTAsNyxmb29fYWJzCisJYmN0cgorCWJjdHJsCisJYmR6YQlmb29fYWJzCisJYmR6CWZvbworCWJkemxhCWZvb19hYnMKKwliZHpsCWZvbworCWJlcQkwLGZvbworCWJlcWEJMixmb29fYWJzCisJYmVxbAkxLGZvbworCWJlcWxhCTMsZm9vX2FicworCWJnZQkwLGZvbworCWJnZWEJNCxmb29fYWJzCisJYmdlbAkyLGZvbworCWJnZWxhCTYsZm9vX2FicworCWJndAk0LGZvbworCWJndGEJNixmb29fYWJzCisJYmd0bAk1LGZvbworCWJndGxhCTcsZm9vX2FicworCWIJbGFiZWwKKwlibGEJbGFiZWxfYWJzCisJYmxlCTAsZm9vCisJYmxlYQk0LGZvbworCWJsZWwJMixmb28KKwlibGVsYQk2LGZvb19hYnMKKwlibAlsYWJlbAorCWJsdAkwLGZvbworCWJsdGEJMixmb29fYWJzCisJYmx0bAkxLGZvbworCWJsdGxhCTMsZm9vX2FicworCWJuZQkwLGZvbworCWJuZWEJMixmb28KKwlibmVsCTEsZm9vCisJYm5lbGEJMyxmb29fYWJzCisJYm5nCTEsZm9vCisJYm5nYQk1LGZvb19hYnMKKwlibmdsCTMsZm9vCisJYm5nbGEJNyxmb29fYWJzCisJYm5sCTEsZm9vCisJYm5sYQk1LGZvb19hYnMKKwlibmxsCTMsZm9vCisJYm5sbGEJNyxmb29fYWJzCisJYm5zCTQsZm9vCisJYm5zYQk2LGZvb19hYnMKKwlibnNsCTUsZm9vCisJYm5zbGEJNyxmb29fYWJzCisJYnNvCTQsZm9vCisJYnNvYQk2LGZvb19hYnMKKwlic29sCTUsZm9vCisJYnNvbGEJNyxmb29fYWJzCisJY3JhbmQJNCw1LDYKKwljcmFuZGMJMyw0LDUKKwljcmVxdgk3LDAsMQorCWNybmFuZAkxLDIsMworCWNybm9yCTAsMSwyCisJY3Jvcgk1LDYsNworCWNyb3JjCTIsMyw0CisJY3J4b3IJNiw3LDAKKwllcXYuCTEwLDExLDEyCisJZXF2CTEwLDExLDEyCisJZmFicy4JMjEsMzEKKwlmYWJzCTIxLDMxCisJZmNtcG8JMywxMCwxMQorCWZjbXB1CTMsNCw1CisJZm1yLgkzLDQKKwlmbXIJMyw0CisJZm5hYnMuCTIwLDMwCisJZm5hYnMJMjAsMzAKKwlmbmVnLgkzLDQKKwlmbmVnCTMsNAorCWZyc3AJNiw3CisJZnJzcC4JOCw5CisJbGJ6CTksMCgxKQorCWxienUJMTAsMSgxKQorCWxienV4CTIwLDIxLDIyCisJbGJ6eAkzLDQsNQorCWxmZAkyMSw4KDEpCisJbGZkdQkyMiwxNigxKQorCWxmZHV4CTIwLDIxLDIyCisJbGZkeAkxMywxNCwxNQorCWxmcwkxOSwwKDEpCisJbGZzdQkyMCw0KDEpCisJbGZzdXgJMTAsMTEsMTIKKwlsZnN4CTEwLDExLDEyCisJbGhhCTE1LDYoMSkKKwlsaGF1CTE2LDgoMSkKKwlsaGF1eAk5LDEwLDExCisJbGhheAk5LDEwLDExCisJbGhicngJMyw0LDUKKwlsaHoJMTMsMCgxKQorCWxoenUJMTQsMigxKQorCWxoenV4CTIwLDIyLDI0CisJbGh6eAkyMywyNCwyNQorCW1jcmYJMCwxCisJbWNyZnMJMyw0CisJbWNyeHIJMworCW1mY3IJMworCW1mY3RyCTMKKwltZmRhcgk1CisJbWZkc2lzcgk0CisJbWZmcwkzMAorCW1mZnMuCTMxCisJbWZscgkyCisJbWZtc3IJMTkKKwltZm9jcmYJMywweDgwCisJbWZydGNsCTEKKwltZnJ0Y3UJMAorCW1mc2RyMQk2CisJbWZzcHIJMywweDgwCisJbWZzcnIwCTcKKwltZnNycjEJOAorCW1meGVyCTMwCisJbXIuCTMwLDMxCisJbXIJMzAsMzEKKwltdGNyCTMKKwltdGNyZgkweDgwLDMKKwltdGN0cgkxOQorCW10ZGFyCTIxCisJbXRkZWMJMjQKKwltdGRzaXNyCTIwCisJbXRmc2IwLgkzCisJbXRmc2IwCTMKKwltdGZzYjEuCTMKKwltdGZzYjEJMworCW10ZnNmCTYsMTAKKwltdGZzZi4JNiwxMQorCW10ZnNmaQk2LDAKKwltdGZzZmkuCTYsMTUKKwltdGxyCTE4CisJbXRtc3IJMTAKKwltdG9jcmYJMHg4MCwzCisJbXRydGNsCTIzCisJbXRydGN1CTIyCisJbXRzZHIxCTI1CisJbXRzcHIJMHg4MCwzCisJbXRzcnIwCTI2CisJbXRzcnIxCTI3CisJbXR4ZXIJMTcKKwluYW5kLgkyOCwyOSwzMAorCW5hbmQJMjgsMjksMzAKKwluZWcuCTMsNAorCW5lZwkzLDQKKwluZWdvCTE2LDE3CisJbmVnby4JMTgsMTkKKwlub3IuCTIwLDIxLDIyCisJbm9yCTIwLDIxLDIyCisJbm90LgkyMCwyMQorCW5vdAkyMCwyMQorCW9yCTAsMiw0CisJb3IuCTEyLDE0LDE2CisJb3JjCTE1LDE2LDE3CisJb3JjLgkxOCwxOSwyMAorCXJmaQorCXN0YgkxMSwyKDEpCisJc3RidQkxMiwzKDEpCisJc3RidXgJMTMsMTQsMTUKKwlzdGJ4CTMsNCw1CisJc3RmZAkyNSwzMigxKQorCXN0ZmR1CTI2LDQwKDEpCisJc3RmZHV4CTAsMSwyCisJc3RmZHgJMjksMzAsMzEKKwlzdGZzCTIzLDIwKDEpCisJc3Rmc3UJMjQsMjQoMSkKKwlzdGZzdXgJMjYsMjcsMjgKKwlzdGZzeAkyMywyNCwyNQorCXN0aAkxNywxMCgxKQorCXN0aGJyeAk2LDcsOAorCXN0aHUJMTgsMTIoMSkKKwlzdGh1eAkyMSwyMiwyMworCXN0aHgJMTIsMTMsMTQKKwl4b3IuCTI5LDMwLDMxCisJeG9yCTI5LDMwLDMxCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9wcGMvcG93ZXI0XzMyLmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9wcGMvcG93ZXI0XzMyLmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQ1MTcwZgotLS0gL2Rldi9udWxsCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3BwYy9wb3dlcjRfMzIuZApAQCAtMCwwICsxLDQzIEBACisjb2JqZHVtcDogLWQgLU1wb3dlcjQKKyNhczogLWEzMiAtbXBvd2VyNAorI25hbWU6IFBvd2VyNCBpbnN0cnVjdGlvbnMKKworLio6ICtmaWxlIGZvcm1hdCBlbGYzMi1wb3dlcnBjLioKKworRGlzYXNzZW1ibHkgb2Ygc2VjdGlvbiBcLnRleHQ6CisKKzArMDAgPHN0YXJ0PjoKKyAgIDA6CTgwIGM3IDAwIDAwIAlsd3ogICAgIHI2LDBcKHI3XCkKKyAgIDQ6CTgwIGM3IDAwIDEwIAlsd3ogICAgIHI2LDE2XChyN1wpCisgICA4Ogk4MCBjNyBmZiBmMCAJbHd6ICAgICByNiwtMTZcKHI3XCkKKyAgIGM6CTgwIGM3IDgwIDAwIAlsd3ogICAgIHI2LC0zMjc2OFwocjdcKQorICAxMDoJODAgYzcgN2YgZjAgCWx3eiAgICAgcjYsMzI3NTJcKHI3XCkKKyAgMTQ6CTkwIGM3IDAwIDAwIAlzdHcgICAgIHI2LDBcKHI3XCkKKyAgMTg6CTkwIGM3IDAwIDEwIAlzdHcgICAgIHI2LDE2XChyN1wpCisgIDFjOgk5MCBjNyBmZiBmMCAJc3R3ICAgICByNiwtMTZcKHI3XCkKKyAgMjA6CTkwIGM3IDgwIDAwIAlzdHcgICAgIHI2LC0zMjc2OFwocjdcKQorICAyNDoJOTAgYzcgN2YgZjAgCXN0dyAgICAgcjYsMzI3NTJcKHI3XCkKKyAgMjg6CTAwIDAwIDAyIDAwIAlhdHRuCisgIDJjOgk3YyA2ZiBmMSAyMCAJbXRjciAgICByMworICAzMDoJN2MgNmYgZjEgMjAgCW10Y3IgICAgcjMKKyAgMzQ6CTdjIDY4IDExIDIwIAltdGNyZiAgIDEyOSxyMworICAzODoJN2MgNzAgMTEgMjAgCW10b2NyZiAgMSxyMworICAzYzoJN2MgNzAgMjEgMjAgCW10b2NyZiAgMixyMworICA0MDoJN2MgNzAgNDEgMjAgCW10b2NyZiAgNCxyMworICA0NDoJN2MgNzAgODEgMjAgCW10b2NyZiAgOCxyMworICA0ODoJN2MgNzEgMDEgMjAgCW10b2NyZiAgMTYscjMKKyAgNGM6CTdjIDcyIDAxIDIwIAltdG9jcmYgIDMyLHIzCisgIDUwOgk3YyA3NCAwMSAyMCAJbXRvY3JmICA2NCxyMworICA1NDoJN2MgNzggMDEgMjAgCW10b2NyZiAgMTI4LHIzCisgIDU4Ogk3YyA2MCAwMCAyNiAJbWZjciAgICByMworICA1YzoJN2MgNzAgMTAgMjYgCW1mb2NyZiAgcjMsMQorICA2MDoJN2MgNzAgMjAgMjYgCW1mb2NyZiAgcjMsMgorICA2NDoJN2MgNzAgNDAgMjYgCW1mb2NyZiAgcjMsNAorICA2ODoJN2MgNzAgODAgMjYgCW1mb2NyZiAgcjMsOAorICA2YzoJN2MgNzEgMDAgMjYgCW1mb2NyZiAgcjMsMTYKKyAgNzA6CTdjIDcyIDAwIDI2IAltZm9jcmYgIHIzLDMyCisgIDc0Ogk3YyA3NCAwMCAyNiAJbWZvY3JmICByMyw2NAorICA3ODoJN2MgNzggMDAgMjYgCW1mb2NyZiAgcjMsMTI4CisgIDdjOgk3YyAwMSAxNyBlYyAJZGNieiAgICByMSxyMgorICA4MDoJN2MgMjMgMjcgZWMgCWRjYnpsICAgcjMscjQKKyAgODQ6CTdjIDA1IDM3IGVjIAlkY2J6ICAgIHI1LHI2CmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9wcGMvcG93ZXI0XzMyLnMgYi9nYXMvdGVzdHN1aXRlL2dhcy9wcGMvcG93ZXI0XzMyLnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODg4NjFhNAotLS0gL2Rldi9udWxsCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3BwYy9wb3dlcjRfMzIucwpAQCAtMCwwICsxLDM2IEBACisJLnNlY3Rpb24gIi50ZXh0Igorc3RhcnQ6CisJbHd6CTYsMCg3KQorCWx3egk2LDE2KDcpCisJbHd6CTYsLTE2KDcpCisJbHd6CTYsLTMyNzY4KDcpCisJbHd6CTYsMzI3NTIoNykKKwlzdHcJNiwwKDcpCisJc3R3CTYsMTYoNykKKwlzdHcJNiwtMTYoNykKKwlzdHcJNiwtMzI3NjgoNykKKwlzdHcJNiwzMjc1Mig3KQorCWF0dG4KKwltdGNyCTMKKwltdGNyZgkweGZmLDMKKwltdGNyZgkweDgxLDMKKwltdGNyZgkweDAxLDMKKwltdGNyZgkweDAyLDMKKwltdGNyZgkweDA0LDMKKwltdGNyZgkweDA4LDMKKwltdGNyZgkweDEwLDMKKwltdGNyZgkweDIwLDMKKwltdGNyZgkweDQwLDMKKwltdGNyZgkweDgwLDMKKwltZmNyCTMKKwltZmNyCTMsMHgwMQorCW1mY3IJMywweDAyCisJbWZjcgkzLDB4MDQKKwltZmNyCTMsMHgwOAorCW1mY3IJMywweDEwCisJbWZjcgkzLDB4MjAKKwltZmNyCTMsMHg0MAorCW1mY3IJMywweDgwCisJZGNieiAgICAxLCAyCisJZGNiemwgICAzLCA0CisJZGNieiAgICA1LCA2CmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9wcGMvcG93ZXI2LmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9wcGMvcG93ZXI2LmQKaW5kZXggMjA0ODgyMy4uZDM1YTgyNyAxMDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvcHBjL3Bvd2VyNi5kCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3BwYy9wb3dlcjYuZApAQCAtMjgsNCArMjgsMjcgQEAKICAgNDg6CTdlIDA4IDNhIGFjIAlkc3R0ICAgIHI4LHI3LDAKICAgNGM6CTdjIDY1IDMyIGVjIAlkc3RzdCAgIHI1LHI2LDMKICAgNTA6CTdlIDQ0IDJhIGVjIAlkc3RzdHQgIHI0LHI1LDIKLQorICA1NDoJMDAgMDAgMDIgMDAgCWF0dG4KKyAgNTg6CTdjIDZmIGYxIDIwIAltdGNyICAgIHIzCisgIDVjOgk3YyA2ZiBmMSAyMCAJbXRjciAgICByMworICA2MDoJN2MgNjggMTEgMjAgCW10Y3JmICAgMTI5LHIzCisgIDY0Ogk3YyA3MCAxMSAyMCAJbXRvY3JmICAxLHIzCisgIDY4Ogk3YyA3MCAyMSAyMCAJbXRvY3JmICAyLHIzCisgIDZjOgk3YyA3MCA0MSAyMCAJbXRvY3JmICA0LHIzCisgIDcwOgk3YyA3MCA4MSAyMCAJbXRvY3JmICA4LHIzCisgIDc0Ogk3YyA3MSAwMSAyMCAJbXRvY3JmICAxNixyMworICA3ODoJN2MgNzIgMDEgMjAgCW10b2NyZiAgMzIscjMKKyAgN2M6CTdjIDc0IDAxIDIwIAltdG9jcmYgIDY0LHIzCisgIDgwOgk3YyA3OCAwMSAyMCAJbXRvY3JmICAxMjgscjMKKyAgODQ6CTdjIDYwIDAwIDI2IAltZmNyICAgIHIzCisgIDg4Ogk3YyA3MCAxMCAyNiAJbWZvY3JmICByMywxCisgIDhjOgk3YyA3MCAyMCAyNiAJbWZvY3JmICByMywyCisgIDkwOgk3YyA3MCA0MCAyNiAJbWZvY3JmICByMyw0CisgIDk0Ogk3YyA3MCA4MCAyNiAJbWZvY3JmICByMyw4CisgIDk4Ogk3YyA3MSAwMCAyNiAJbWZvY3JmICByMywxNgorICA5YzoJN2MgNzIgMDAgMjYgCW1mb2NyZiAgcjMsMzIKKyAgYTA6CTdjIDc0IDAwIDI2IAltZm9jcmYgIHIzLDY0CisgIGE0Ogk3YyA3OCAwMCAyNiAJbWZvY3JmICByMywxMjgKKyAgYTg6CTdjIDAxIDE3IGVjIAlkY2J6ICAgIHIxLHIyCisgIGFjOgk3YyAyMyAyNyBlYyAJZGNiemwgICByMyxyNAorICBiMDoJN2MgMDUgMzcgZWMgCWRjYnogICAgcjUscjYKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL3BwYy9wb3dlcjYucyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3BwYy9wb3dlcjYucwppbmRleCAzMGNiN2VmLi5jODQ0ODhhIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9wcGMvcG93ZXI2LnMKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvcHBjL3Bvd2VyNi5zCkBAIC0yMywzICsyMywyNyBAQAogCWRzdHQJOCw3LDAKIAlkc3RzdAk1LDYsMwogCWRzdHN0dAk0LDUsMgorCWF0dG4KKwltdGNyICAgIDMKKwltdGNyZiAgIDB4ZmYsMworCW10Y3JmICAgMHg4MSwzCisJbXRjcmYgICAweDAxLDMKKwltdGNyZiAgIDB4MDIsMworCW10Y3JmICAgMHgwNCwzCisJbXRjcmYgICAweDA4LDMKKwltdGNyZiAgIDB4MTAsMworCW10Y3JmICAgMHgyMCwzCisJbXRjcmYgICAweDQwLDMKKwltdGNyZiAgIDB4ODAsMworCW1mY3IgICAgMworCW1mY3IgICAgMywweDAxCisJbWZjciAgICAzLDB4MDIKKwltZmNyICAgIDMsMHgwNAorCW1mY3IgICAgMywweDA4CisJbWZjciAgICAzLDB4MTAKKwltZmNyICAgIDMsMHgyMAorCW1mY3IgICAgMywweDQwCisJbWZjciAgICAzLDB4ODAKKwlkY2J6ICAgIDEsIDIKKwlkY2J6bCAgIDMsIDQKKwlkY2J6ICAgIDUsIDYKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL3BwYy9wcGMuZXhwIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvcHBjL3BwYy5leHAKaW5kZXggOTBhNWNmZi4uYTA0NDMxYSAxMDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvcHBjL3BwYy5leHAKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvcHBjL3BwYy5leHAKQEAgLTQ1LDYgKzQ1LDggQEAKIAlydW5fZHVtcF90ZXN0ICJwcGM3NTBwcyIKIAlydW5fZHVtcF90ZXN0ICJlNTAwbWMiCiAJcnVuX2R1bXBfdGVzdCAiY2VsbCIKKwlydW5fZHVtcF90ZXN0ICJjb21tb24iCisJcnVuX2R1bXBfdGVzdCAicG93ZXI0XzMyIgogCXJ1bl9kdW1wX3Rlc3QgInBvd2VyNiIKIAlydW5fZHVtcF90ZXN0ICJwb3dlcjciCiAgICAgfQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvczM5MC9lc2EtZzUuZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL3MzOTAvZXNhLWc1LmQKaW5kZXggZGQyZGVmZS4uMzBjYmMwOCAxMDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvczM5MC9lc2EtZzUuZAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9zMzkwL2VzYS1nNS5kCkBAIC0xMDcsNiArMTA3LDkgQEAKIC4qOgliMyA5OSA1MCA2OSBbCSBdKmNmZGJyCSVyNiw1LCVmOQogLio6CWIzIDk4IDUwIDY5IFsJIF0qY2ZlYnIJJXI2LDUsJWY5CiAuKjoJYjMgOWEgNTAgNjkgWwkgXSpjZnhicgklcjYsNSwlZjkKKy4qOgliMyBiOSA5MCA2NSBbCSBdKmNmZHIJJXI2LDksJWY1CisuKjoJYjMgYjggOTAgNjUgWwkgXSpjZmVyCSVyNiw5LCVmNQorLio6CWIzIGJhIDkwIDY1IFsJIF0qY2Z4cgklcjYsOSwlZjUKIC4qOgk0OSA2NSBhZiBmZiBbCSBdKmNoCSVyNiw0MDk1XCglcjUsJXIxMFwpCiAuKjoJYTcgNmUgODAgMDEgWwkgXSpjaGkJJXI2LC0zMjc2NwogLio6CWIyIDQxIDAwIDY5IFsJIF0qY2tzbQklcjYsJXI5CkBAIC0xNzYsMjcgKzE3OSwyNyBAQAogLio6CWIyIDIxIDAwIDY5IFsJIF0qaXB0ZQklcjYsJXI5CiAuKjoJYjIgMjkgMDAgNjkgWwkgXSppc2tlCSVyNiwlcjkKIC4qOgliMiAyMyAwMCA2OSBbCSBdKml2c2sJJXI2LCVyOQotLio6CWE3IGY0IDAwIDAwIFsJIF0qagkyNjggPGZvb1wrMHgyNjg+Ci0uKjoJYTcgODQgMDAgMDAgWwkgXSpqZQkyNmMgPGZvb1wrMHgyNmM+Ci0uKjoJYTcgMjQgMDAgMDAgWwkgXSpqaAkyNzAgPGZvb1wrMHgyNzA+Ci0uKjoJYTcgYTQgMDAgMDAgWwkgXSpqaGUJMjc0IDxmb29cKzB4Mjc0PgotLio6CWE3IDQ0IDAwIDAwIFsJIF0qamwJMjc4IDxmb29cKzB4Mjc4PgotLio6CWE3IGM0IDAwIDAwIFsJIF0qamxlCTI3YyA8Zm9vXCsweDI3Yz4KLS4qOglhNyA2NCAwMCAwMCBbCSBdKmpsaAkyODAgPGZvb1wrMHgyODA+CisuKjoJYTcgZjQgMDAgMDAgWwkgXSpqCTI3NCA8Zm9vXCsweDI3ND4KKy4qOglhNyA4NCAwMCAwMCBbCSBdKmplCTI3OCA8Zm9vXCsweDI3OD4KKy4qOglhNyAyNCAwMCAwMCBbCSBdKmpoCTI3YyA8Zm9vXCsweDI3Yz4KKy4qOglhNyBhNCAwMCAwMCBbCSBdKmpoZQkyODAgPGZvb1wrMHgyODA+CiAuKjoJYTcgNDQgMDAgMDAgWwkgXSpqbAkyODQgPGZvb1wrMHgyODQ+Ci0uKjoJYTcgNzQgMDAgMDAgWwkgXSpqbmUJMjg4IDxmb29cKzB4Mjg4PgotLio6CWE3IGQ0IDAwIDAwIFsJIF0qam5oCTI4YyA8Zm9vXCsweDI4Yz4KLS4qOglhNyA1NCAwMCAwMCBbCSBdKmpuaGUJMjkwIDxmb29cKzB4MjkwPgotLio6CWE3IGI0IDAwIDAwIFsJIF0qam5sCTI5NCA8Zm9vXCsweDI5ND4KLS4qOglhNyAzNCAwMCAwMCBbCSBdKmpubGUJMjk4IDxmb29cKzB4Mjk4PgotLio6CWE3IDk0IDAwIDAwIFsJIF0qam5saAkyOWMgPGZvb1wrMHgyOWM+CisuKjoJYTcgYzQgMDAgMDAgWwkgXSpqbGUJMjg4IDxmb29cKzB4Mjg4PgorLio6CWE3IDY0IDAwIDAwIFsJIF0qamxoCTI4YyA8Zm9vXCsweDI4Yz4KKy4qOglhNyA0NCAwMCAwMCBbCSBdKmpsCTI5MCA8Zm9vXCsweDI5MD4KKy4qOglhNyA3NCAwMCAwMCBbCSBdKmpuZQkyOTQgPGZvb1wrMHgyOTQ+CisuKjoJYTcgZDQgMDAgMDAgWwkgXSpqbmgJMjk4IDxmb29cKzB4Mjk4PgorLio6CWE3IDU0IDAwIDAwIFsJIF0qam5oZQkyOWMgPGZvb1wrMHgyOWM+CiAuKjoJYTcgYjQgMDAgMDAgWwkgXSpqbmwJMmEwIDxmb29cKzB4MmEwPgotLio6CWE3IGU0IDAwIDAwIFsJIF0qam5vCTJhNCA8Zm9vXCsweDJhND4KLS4qOglhNyBkNCAwMCAwMCBbCSBdKmpuaAkyYTggPGZvb1wrMHgyYTg+Ci0uKjoJYTcgNzQgMDAgMDAgWwkgXSpqbmUJMmFjIDxmb29cKzB4MmFjPgotLio6CWE3IDE0IDAwIDAwIFsJIF0qam8JMmIwIDxmb29cKzB4MmIwPgotLio6CWE3IDI0IDAwIDAwIFsJIF0qamgJMmI0IDxmb29cKzB4MmI0PgotLio6CWE3IDg0IDAwIDAwIFsJIF0qamUJMmI4IDxmb29cKzB4MmI4PgorLio6CWE3IDM0IDAwIDAwIFsJIF0qam5sZQkyYTQgPGZvb1wrMHgyYTQ+CisuKjoJYTcgOTQgMDAgMDAgWwkgXSpqbmxoCTJhOCA8Zm9vXCsweDJhOD4KKy4qOglhNyBiNCAwMCAwMCBbCSBdKmpubAkyYWMgPGZvb1wrMHgyYWM+CisuKjoJYTcgZTQgMDAgMDAgWwkgXSpqbm8JMmIwIDxmb29cKzB4MmIwPgorLio6CWE3IGQ0IDAwIDAwIFsJIF0qam5oCTJiNCA8Zm9vXCsweDJiND4KKy4qOglhNyA3NCAwMCAwMCBbCSBdKmpuZQkyYjggPGZvb1wrMHgyYjg+CisuKjoJYTcgMTQgMDAgMDAgWwkgXSpqbwkyYmMgPGZvb1wrMHgyYmM+CisuKjoJYTcgMjQgMDAgMDAgWwkgXSpqaAkyYzAgPGZvb1wrMHgyYzA+CisuKjoJYTcgODQgMDAgMDAgWwkgXSpqZQkyYzQgPGZvb1wrMHgyYzQ+CiAuKjoJZWQgNjUgYWYgZmYgMDAgMTggWwkgXSprZGIJJWY2LDQwOTVcKCVyNSwlcjEwXCkKIC4qOgliMyAxOCAwMCA2OSBbCSBdKmtkYnIJJWY2LCVmOQogLio6CWVkIDY1IGFmIGZmIDAwIDA4IFsJIF0qa2ViCSVmNiw0MDk1XCglcjUsJXIxMFwpCkBAIC0zODgsNiArMzkxLDcgQEAKIC4qOgliMyAxNSAwMCA2OSBbCSBdKnNxZGJyCSVmNiwlZjkKIC4qOgliMiA0NCAwMCA2OSBbCSBdKnNxZHIJJWY2LCVmOQogLio6CWVkIDY1IGFmIGZmIDAwIDM0IFsJIF0qc3FlCSVmNiw0MDk1XCglcjUsJXIxMFwpCisuKjoJZWQgNjUgYWYgZmYgMDAgMzUgWwkgXSpzcWQJJWY2LDQwOTVcKCVyNSwlcjEwXCkKIC4qOgllZCA2NSBhZiBmZiAwMCAxNCBbCSBdKnNxZWIJJWY2LDQwOTVcKCVyNSwlcjEwXCkKIC4qOgliMyAxNCAwMCA2OSBbCSBdKnNxZWJyCSVmNiwlZjkKIC4qOgliMiA0NSAwMCA2OSBbCSBdKnNxZXIJJWY2LCVmOQpAQCAtNDQzLDggKzQ0Nyw4IEBACiAuKjoJZWQgNjUgYWYgZmYgMDAgMTEgWwkgXSp0Y2RiCSVmNiw0MDk1XCglcjUsJXIxMFwpCiAuKjoJZWQgNjUgYWYgZmYgMDAgMTAgWwkgXSp0Y2ViCSVmNiw0MDk1XCglcjUsJXIxMFwpCiAuKjoJZWQgNjUgYWYgZmYgMDAgMTIgWwkgXSp0Y3hiCSVmNiw0MDk1XCglcjUsJXIxMFwpCi0uKjoJYjMgNTggMDAgNjkgWwkgXSp0aGRlcgklcjYsJXI5Ci0uKjoJYjMgNTkgMDAgNjkgWwkgXSp0aGRyCSVyNiwlcjkKKy4qOgliMyA1OCAwMCA2OSBbCSBdKnRoZGVyCSVmNiwlZjkKKy4qOgliMyA1OSAwMCA2OSBbCSBdKnRoZHIJJWY2LCVmOQogLio6CTkxIGZmIDVmIGZmIFsJIF0qdG0JNDA5NVwoJXI1XCksMjU1CiAuKjoJYTcgNjAgZmYgZmYgWwkgXSp0bWgJJXI2LDY1NTM1CiAuKjoJYTcgNjEgZmYgZmYgWwkgXSp0bWwJJXI2LDY1NTM1CkBAIC00NzUsMyArNDc5LDQgQEAKIC4qOgkxNyA2OSBbCSBdKnhyCSVyNiwlcjkKIC4qOgliMiA3NiAwMCAwMCBbCSBdKnhzY2gKIC4qOglmOCA1OCA1ZiBmZiBhZiBmZiBbCSBdKnphcAk0MDk1XCg2LCVyNVwpLDQwOTVcKDksJXIxMFwpCisuKjoJMDcgMDcgWyAJXSpiY3IJMCwlcjcKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL3MzOTAvZXNhLWc1LnMgYi9nYXMvdGVzdHN1aXRlL2dhcy9zMzkwL2VzYS1nNS5zCmluZGV4IGIzYmU4MjcuLmI3NDE0MGMgMTAwNjQ0Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2FzL3MzOTAvZXNhLWc1LnMKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvczM5MC9lc2EtZzUucwpAQCAtMTAxLDYgKzEwMSw5IEBACiAJY2ZkYnIJJXI2LDUsJWY5CiAJY2ZlYnIJJXI2LDUsJWY5CiAJY2Z4YnIJJXI2LDUsJWY5CisJY2ZkcgklcjYsOSwlZjUKKwljZmVyCSVyNiw5LCVmNQorCWNmeHIJJXI2LDksJWY1CiAJY2gJJXI2LDQwOTUoJXI1LCVyMTApCiAJY2hpCSVyNiwtMzI3NjcKIAlja3NtCSVyNiwlcjkKQEAgLTM4Miw2ICszODUsNyBAQAogCXNxZGJyCSVmNiwlZjkKIAlzcWRyCSVmNiwlZjkKIAlzcWUJJWY2LDQwOTUoJXI1LCVyMTApCisJc3FkCSVmNiw0MDk1KCVyNSwlcjEwKQogCXNxZWIJJWY2LDQwOTUoJXI1LCVyMTApCiAJc3FlYnIJJWY2LCVmOQogCXNxZXIJJWY2LCVmOQpAQCAtNDM3LDggKzQ0MSw4IEBACiAJdGNkYgklZjYsNDA5NSglcjUsJXIxMCkKIAl0Y2ViCSVmNiw0MDk1KCVyNSwlcjEwKQogCXRjeGIJJWY2LDQwOTUoJXI1LCVyMTApCi0JdGhkZXIJJXI2LCVyOQotCXRoZHIJJXI2LCVyOQorCXRoZGVyCSVmNiwlZjkKKwl0aGRyCSVmNiwlZjkKIAl0bQk0MDk1KCVyNSksMjU1CiAJdG1oCSVyNiw2NTUzNQogCXRtbAklcjYsNjU1MzUKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL3MzOTAvZXNhLXo5OTAuZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL3MzOTAvZXNhLXo5OTAuZAppbmRleCA1ODM5NDJlLi40ODRjNWFmIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9zMzkwL2VzYS16OTkwLmQKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvczM5MC9lc2Etejk5MC5kCkBAIC0xMSwzICsxMSw1IEBACiAuKjoJYjkgM2UgMDAgNjkgWwkgXSpraW1kCSVyNiwlcjkKIC4qOgliOSAzZiAwMCA2OSBbCSBdKmtsbWQJJXI2LCVyOQogLio6CWI5IDFlIDAwIDY5IFsJIF0qa21hYwklcjYsJXI5CisuKjoJZWIgNjkgNTAgMDAgODAgOGYgWwkgXSpjbGNsdQklcjYsJXI5LC01MjQyODhcKCVyNVwpCisuKjoJMDcgMDcgWyAJXSpiY3IJMCwlcjcKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL3MzOTAvZXNhLXo5OTAucyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3MzOTAvZXNhLXo5OTAucwppbmRleCBiMDZhNzdhLi4yMTU2ZTgzIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9zMzkwL2VzYS16OTkwLnMKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvczM5MC9lc2Etejk5MC5zCkBAIC01LDMgKzUsNCBAQAogCWtpbWQJJXI2LCVyOQogCWtsbWQJJXI2LCVyOQogCWttYWMJJXI2LCVyOQorCWNsY2x1CSVyNiwlcjksLTUyNDI4OCglcjUpCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9zMzkwL3phcmNoLXo5MDAuZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL3MzOTAvemFyY2gtejkwMC5kCmluZGV4IGQ5ZjQ3ODUuLmYzM2U0M2MgMTAwNjQ0Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2FzL3MzOTAvemFyY2gtejkwMC5kCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3MzOTAvemFyY2gtejkwMC5kCkBAIC0yOSw5ICsyOSw2IEBACiAuKjoJZWIgOTYgNWYgZmYgMDAgM2UgWyAJXSpjZHNnCSVyOSwlcjYsNDA5NVwoJXI1XCkKIC4qOgliMyBhNCAwMCA5NiBbIAldKmNlZ2JyCSVmOSwlcjYKIC4qOgliMyBjNCAwMCA5NiBbIAldKmNlZ3IJJWY5LCVyNgotLio6CWIzIGI5IDkwIDY1IFsJIF0qY2ZkcgklcjYsOSwlZjUKLS4qOgliMyBiOCA5MCA2NSBbCSBdKmNmZXIJJXI2LDksJWY1Ci0uKjoJYjMgYmEgOTAgNjUgWwkgXSpjZnhyCSVyNiw5LCVmNQogLio6CWUzIDk1IGFmIGZmIDAwIDIwIFsgCV0qY2cJJXI5LDQwOTVcKCVyNSwlcjEwXCkKIC4qOgliMyBhOSBmMCA2NSBbIAldKmNnZGJyCSVyNiwxNSwlZjUKIC4qOgliMyBjOSBmMCA2NSBbIAldKmNnZHIJJXI2LDE1LCVmNQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvczM5MC96YXJjaC16OTAwLnMgYi9nYXMvdGVzdHN1aXRlL2dhcy9zMzkwL3phcmNoLXo5MDAucwppbmRleCAzMjUxNzAxLi43MjEyNDRhIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9zMzkwL3phcmNoLXo5MDAucworKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9zMzkwL3phcmNoLXo5MDAucwpAQCAtMjMsOSArMjMsNiBAQAogCWNkc2cJJXI5LCVyNiw0MDk1KCVyNSkKIAljZWdicgklZjksJXI2CiAJY2VncgklZjksJXI2Ci0JY2ZkcgklcjYsOSwlZjUKLQljZmVyCSVyNiw5LCVmNQotCWNmeHIJJXI2LDksJWY1CiAJY2cJJXI5LDQwOTUoJXI1LCVyMTApCiAJY2dkYnIJJXI2LDE1LCVmNQogCWNnZHIJJXI2LDE1LCVmNQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvczM5MC96YXJjaC16OTkwLmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9zMzkwL3phcmNoLXo5OTAuZAppbmRleCBjNGE3ZjM2Li5kZWRlOTcxIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9zMzkwL3phcmNoLXo5OTAuZAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9zMzkwL3phcmNoLXo5OTAuZApAQCAtMjMsNyArMjMsNiBAQAogLio6CWUzIDY1IGEwIDAwIDgwIDIwIFsJIF0qY2cJJXI2LC01MjQyODhcKCVyNSwlcjEwXCkKIC4qOgllMyA2NSBhMCAwMCA4MCAzMCBbCSBdKmNnZgklcjYsLTUyNDI4OFwoJXI1LCVyMTBcKQogLio6CWUzIDY1IGEwIDAwIDgwIDc5IFsJIF0qY2h5CSVyNiwtNTI0Mjg4XCglcjUsJXIxMFwpCi0uKjoJZWIgNjkgNTAgMDAgODAgOGYgWwkgXSpjbGNsdQklcjYsJXI5LC01MjQyODhcKCVyNVwpCiAuKjoJZTMgNjUgYTAgMDAgODAgMjEgWwkgXSpjbGcJJXI2LC01MjQyODhcKCVyNSwlcjEwXCkKIC4qOgllMyA2NSBhMCAwMCA4MCAzMSBbCSBdKmNsZ2YJJXI2LC01MjQyODhcKCVyNSwlcjEwXCkKIC4qOgllYiBmZiA1MCAwMCA4MCA1NSBbCSBdKmNsaXkJLTUyNDI4OFwoJXI1XCksMjU1CkBAIC0xMjksNCArMTI4LDMgQEAKIC4qOgllMyA2NSBhMCAwMCA4MCA4MiBbCSBdKnhnCSVyNiwtNTI0Mjg4XCglcjUsJXIxMFwpCiAuKjoJZWIgZmYgNTAgMDAgODAgNTcgWwkgXSp4aXkJLTUyNDI4OFwoJXI1XCksMjU1CiAuKjoJZTMgNjUgYTAgMDAgODAgNTcgWwkgXSp4eQklcjYsLTUyNDI4OFwoJXI1LCVyMTBcKQotLio6CTA3IDA3IFsJIF0qYmNyCTAsJXI3CmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9zMzkwL3phcmNoLXo5OTAucyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3MzOTAvemFyY2gtejk5MC5zCmluZGV4IGE1MzcxNmQuLmRiMmRlY2UgMTAwNjQ0Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2FzL3MzOTAvemFyY2gtejk5MC5zCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3MzOTAvemFyY2gtejk5MC5zCkBAIC0xNyw3ICsxNyw2IEBACiAJY2cJJXI2LC01MjQyODgoJXI1LCVyMTApCiAJY2dmCSVyNiwtNTI0Mjg4KCVyNSwlcjEwKQogCWNoeQklcjYsLTUyNDI4OCglcjUsJXIxMCkKLQljbGNsdQklcjYsJXI5LC01MjQyODgoJXI1KQogCWNsZwklcjYsLTUyNDI4OCglcjUsJXIxMCkKIAljbGdmCSVyNiwtNTI0Mjg4KCVyNSwlcjEwKQogCWNsaXkJLTUyNDI4OCglcjUpLDI1NQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL2FyaXRoLmQgYi9nYXMvdGVzdHN1aXRlL2dhcy96ODAvYXJpdGguZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTY3ODFjCi0tLSAvZGV2L251bGwKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL2FyaXRoLmQKQEAgLTAsMCArMSwxNDkgQEAKKyNvYmpkdW1wOiAtZAorI25hbWU6IGFyaXRobWV0aWMgYW5kIGxvZ2ljCisKKy4qOiAuKgorCitEaXNhc3NlbWJseSBvZiBzZWN0aW9uIC50ZXh0OgorCiswKyA8LnRleHQ+OgorWyAJXStbMC05YS1mXSs6WyAJXSs4N1sgCV0rYWRkIGEsYQorWyAJXStbMC05YS1mXSs6WyAJXSs4MFsgCV0rYWRkIGEsYgorWyAJXStbMC05YS1mXSs6WyAJXSs4MVsgCV0rYWRkIGEsYworWyAJXStbMC05YS1mXSs6WyAJXSs4MlsgCV0rYWRkIGEsZAorWyAJXStbMC05YS1mXSs6WyAJXSs4M1sgCV0rYWRkIGEsZQorWyAJXStbMC05YS1mXSs6WyAJXSs4NFsgCV0rYWRkIGEsaAorWyAJXStbMC05YS1mXSs6WyAJXSs4NVsgCV0rYWRkIGEsbAorWyAJXStbMC05YS1mXSs6WyAJXSs4NlsgCV0rYWRkIGEsXChobFwpCitbIAldK1swLTlhLWZdKzpbIAldK2RkIDg2IDA1WyAJXSthZGQgYSxcKGl4XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZmQgODYgMDVbIAldK2FkZCBhLFwoaXlcKzVcKQorWyAJXStbMC05YS1mXSs6WyAJXStjNiAxMVsgCV0rYWRkIGEsMHgxMQorWyAJXStbMC05YS1mXSs6WyAJXSs4ZlsgCV0rYWRjIGEsYQorWyAJXStbMC05YS1mXSs6WyAJXSs4OFsgCV0rYWRjIGEsYgorWyAJXStbMC05YS1mXSs6WyAJXSs4OVsgCV0rYWRjIGEsYworWyAJXStbMC05YS1mXSs6WyAJXSs4YVsgCV0rYWRjIGEsZAorWyAJXStbMC05YS1mXSs6WyAJXSs4YlsgCV0rYWRjIGEsZQorWyAJXStbMC05YS1mXSs6WyAJXSs4Y1sgCV0rYWRjIGEsaAorWyAJXStbMC05YS1mXSs6WyAJXSs4ZFsgCV0rYWRjIGEsbAorWyAJXStbMC05YS1mXSs6WyAJXSs4ZVsgCV0rYWRjIGEsXChobFwpCitbIAldK1swLTlhLWZdKzpbIAldK2RkIDhlIDA1WyAJXSthZGMgYSxcKGl4XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZmQgOGUgMDVbIAldK2FkYyBhLFwoaXlcKzVcKQorWyAJXStbMC05YS1mXSs6WyAJXStjZSAxMVsgCV0rYWRjIGEsMHgxMQorWyAJXStbMC05YS1mXSs6WyAJXSs5N1sgCV0rc3ViIGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rOTBbIAldK3N1YiBiCitbIAldK1swLTlhLWZdKzpbIAldKzkxWyAJXStzdWIgYworWyAJXStbMC05YS1mXSs6WyAJXSs5MlsgCV0rc3ViIGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rOTNbIAldK3N1YiBlCitbIAldK1swLTlhLWZdKzpbIAldKzk0WyAJXStzdWIgaAorWyAJXStbMC05YS1mXSs6WyAJXSs5NVsgCV0rc3ViIGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rOTZbIAldK3N1YiBcKGhsXCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZGQgOTYgMDVbIAldK3N1YiBcKGl4XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZmQgOTYgMDVbIAldK3N1YiBcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZDYgMTFbIAldK3N1YiAweDExCitbIAldK1swLTlhLWZdKzpbIAldKzlmWyAJXStzYmMgYSxhCitbIAldK1swLTlhLWZdKzpbIAldKzk4WyAJXStzYmMgYSxiCitbIAldK1swLTlhLWZdKzpbIAldKzk5WyAJXStzYmMgYSxjCitbIAldK1swLTlhLWZdKzpbIAldKzlhWyAJXStzYmMgYSxkCitbIAldK1swLTlhLWZdKzpbIAldKzliWyAJXStzYmMgYSxlCitbIAldK1swLTlhLWZdKzpbIAldKzljWyAJXStzYmMgYSxoCitbIAldK1swLTlhLWZdKzpbIAldKzlkWyAJXStzYmMgYSxsCitbIAldK1swLTlhLWZdKzpbIAldKzllWyAJXStzYmMgYSxcKGhsXCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZGQgOWUgMDVbIAldK3NiYyBhLFwoaXhcKzVcKQorWyAJXStbMC05YS1mXSs6WyAJXStmZCA5ZSAwNVsgCV0rc2JjIGEsXChpeVwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2RlIDExWyAJXStzYmMgYSwweDExCitbIAldK1swLTlhLWZdKzpbIAldK2E3WyAJXSthbmQgYQorWyAJXStbMC05YS1mXSs6WyAJXSthMFsgCV0rYW5kIGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rYTFbIAldK2FuZCBjCitbIAldK1swLTlhLWZdKzpbIAldK2EyWyAJXSthbmQgZAorWyAJXStbMC05YS1mXSs6WyAJXSthM1sgCV0rYW5kIGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rYTRbIAldK2FuZCBoCitbIAldK1swLTlhLWZdKzpbIAldK2E1WyAJXSthbmQgbAorWyAJXStbMC05YS1mXSs6WyAJXSthNlsgCV0rYW5kIFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBhNiAwNVsgCV0rYW5kIFwoaXhcKzVcKQorWyAJXStbMC05YS1mXSs6WyAJXStmZCBhNiAwNVsgCV0rYW5kIFwoaXlcKzVcKQorWyAJXStbMC05YS1mXSs6WyAJXStlNiAxMVsgCV0rYW5kIDB4MTEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rYWZbIAldK3hvciBhCitbIAldK1swLTlhLWZdKzpbIAldK2E4WyAJXSt4b3IgYgorWyAJXStbMC05YS1mXSs6WyAJXSthOVsgCV0reG9yIGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rYWFbIAldK3hvciBkCitbIAldK1swLTlhLWZdKzpbIAldK2FiWyAJXSt4b3IgZQorWyAJXStbMC05YS1mXSs6WyAJXSthY1sgCV0reG9yIGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rYWRbIAldK3hvciBsCitbIAldK1swLTlhLWZdKzpbIAldK2FlWyAJXSt4b3IgXChobFwpCitbIAldK1swLTlhLWZdKzpbIAldK2RkIGFlIDA1WyAJXSt4b3IgXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGFlIDA1WyAJXSt4b3IgXChpeVwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2VlIDExWyAJXSt4b3IgMHgxMQorWyAJXStbMC05YS1mXSs6WyAJXStiN1sgCV0rb3IgYQorWyAJXStbMC05YS1mXSs6WyAJXStiMFsgCV0rb3IgYgorWyAJXStbMC05YS1mXSs6WyAJXStiMVsgCV0rb3IgYworWyAJXStbMC05YS1mXSs6WyAJXStiMlsgCV0rb3IgZAorWyAJXStbMC05YS1mXSs6WyAJXStiM1sgCV0rb3IgZQorWyAJXStbMC05YS1mXSs6WyAJXStiNFsgCV0rb3IgaAorWyAJXStbMC05YS1mXSs6WyAJXStiNVsgCV0rb3IgbAorWyAJXStbMC05YS1mXSs6WyAJXStiNlsgCV0rb3IgXChobFwpCitbIAldK1swLTlhLWZdKzpbIAldK2RkIGI2IDA1WyAJXStvciBcKGl4XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZmQgYjYgMDVbIAldK29yIFwoaXlcKzVcKQorWyAJXStbMC05YS1mXSs6WyAJXStmNiAxMVsgCV0rb3IgMHgxMQorWyAJXStbMC05YS1mXSs6WyAJXStiZlsgCV0rY3AgYQorWyAJXStbMC05YS1mXSs6WyAJXStiOFsgCV0rY3AgYgorWyAJXStbMC05YS1mXSs6WyAJXStiOVsgCV0rY3AgYworWyAJXStbMC05YS1mXSs6WyAJXStiYVsgCV0rY3AgZAorWyAJXStbMC05YS1mXSs6WyAJXStiYlsgCV0rY3AgZQorWyAJXStbMC05YS1mXSs6WyAJXStiY1sgCV0rY3AgaAorWyAJXStbMC05YS1mXSs6WyAJXStiZFsgCV0rY3AgbAorWyAJXStbMC05YS1mXSs6WyAJXStiZVsgCV0rY3AgXChobFwpCitbIAldK1swLTlhLWZdKzpbIAldK2RkIGJlIDA1WyAJXStjcCBcKGl4XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZmQgYmUgMDVbIAldK2NwIFwoaXlcKzVcKQorWyAJXStbMC05YS1mXSs6WyAJXStmZSAxMVsgCV0rY3AgMHgxMQorWyAJXStbMC05YS1mXSs6WyAJXSszY1sgCV0raW5jIGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rMDRbIAldK2luYyBiCitbIAldK1swLTlhLWZdKzpbIAldKzBjWyAJXStpbmMgYworWyAJXStbMC05YS1mXSs6WyAJXSsxNFsgCV0raW5jIGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rMWNbIAldK2luYyBlCitbIAldK1swLTlhLWZdKzpbIAldKzI0WyAJXStpbmMgaAorWyAJXStbMC05YS1mXSs6WyAJXSsyY1sgCV0raW5jIGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rMzRbIAldK2luYyBcKGhsXCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZGQgMzQgMDVbIAldK2luYyBcKGl4XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZmQgMzQgMDVbIAldK2luYyBcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rM2RbIAldK2RlYyBhCitbIAldK1swLTlhLWZdKzpbIAldKzA1WyAJXStkZWMgYgorWyAJXStbMC05YS1mXSs6WyAJXSswZFsgCV0rZGVjIGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rMTVbIAldK2RlYyBkCitbIAldK1swLTlhLWZdKzpbIAldKzFkWyAJXStkZWMgZQorWyAJXStbMC05YS1mXSs6WyAJXSsyNVsgCV0rZGVjIGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rMmRbIAldK2RlYyBsCitbIAldK1swLTlhLWZdKzpbIAldKzM1WyAJXStkZWMgXChobFwpCitbIAldK1swLTlhLWZdKzpbIAldK2RkIDM1IDA1WyAJXStkZWMgXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIDM1IDA1WyAJXStkZWMgXChpeVwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldKzA5WyAJXSthZGQgaGwsYmMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rMTlbIAldK2FkZCBobCxkZQorWyAJXStbMC05YS1mXSs6WyAJXSsyOVsgCV0rYWRkIGhsLGhsCitbIAldK1swLTlhLWZdKzpbIAldKzM5WyAJXSthZGQgaGwsc3AKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZGQgMDlbIAldK2FkZCBpeCxiYworWyAJXStbMC05YS1mXSs6WyAJXStkZCAxOVsgCV0rYWRkIGl4LGRlCitbIAldK1swLTlhLWZdKzpbIAldK2RkIDI5WyAJXSthZGQgaXgsaXgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZGQgMzlbIAldK2FkZCBpeCxzcAorWyAJXStbMC05YS1mXSs6WyAJXStmZCAwOVsgCV0rYWRkIGl5LGJjCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIDE5WyAJXSthZGQgaXksZGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZmQgMjlbIAldK2FkZCBpeSxpeQorWyAJXStbMC05YS1mXSs6WyAJXStmZCAzOVsgCV0rYWRkIGl5LHNwCitbIAldK1swLTlhLWZdKzpbIAldK2VkIDRhWyAJXSthZGMgaGwsYmMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZWQgNWFbIAldK2FkYyBobCxkZQorWyAJXStbMC05YS1mXSs6WyAJXStlZCA2YVsgCV0rYWRjIGhsLGhsCitbIAldK1swLTlhLWZdKzpbIAldK2VkIDdhWyAJXSthZGMgaGwsc3AKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZWQgNDJbIAldK3NiYyBobCxiYworWyAJXStbMC05YS1mXSs6WyAJXStlZCA1MlsgCV0rc2JjIGhsLGRlCitbIAldK1swLTlhLWZdKzpbIAldK2VkIDYyWyAJXStzYmMgaGwsaGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZWQgNzJbIAldK3NiYyBobCxzcAorWyAJXStbMC05YS1mXSs6WyAJXSswM1sgCV0raW5jIGJjCitbIAldK1swLTlhLWZdKzpbIAldKzEzWyAJXStpbmMgZGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rMjNbIAldK2luYyBobAorWyAJXStbMC05YS1mXSs6WyAJXSszM1sgCV0raW5jIHNwCitbIAldK1swLTlhLWZdKzpbIAldK2RkIDIzWyAJXStpbmMgaXgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZmQgMjNbIAldK2luYyBpeQorWyAJXStbMC05YS1mXSs6WyAJXSswYlsgCV0rZGVjIGJjCitbIAldK1swLTlhLWZdKzpbIAldKzFiWyAJXStkZWMgZGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rMmJbIAldK2RlYyBobAorWyAJXStbMC05YS1mXSs6WyAJXSszYlsgCV0rZGVjIHNwCitbIAldK1swLTlhLWZdKzpbIAldK2RkIDJiWyAJXStkZWMgaXgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZmQgMmJbIAldK2RlYyBpeQorI3Bhc3MKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9hcml0aC5zIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL2FyaXRoLnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFhNjZiNwotLS0gL2Rldi9udWxsCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9hcml0aC5zCkBAIC0wLDAgKzEsMTYyIEBACisJLnRleHQKKwkub3JnIDAKKzs7OyA4LWJpdCBhcml0aG1ldGljIGFuZCBsb2dpYworCWFkZCBhLGEKKwlhZGQgYSxiCisJYWRkIGEsYworCWFkZCBhLGQKKwlhZGQgYSxlCisJYWRkIGEsaAorCWFkZCBhLGwKKwlhZGQgYSwoaGwpCisJYWRkIGEsKGl4KzUpCisJYWRkIGEsKGl5KzUpCisJYWRkIGEsMTcKKworCWFkYyBhLGEKKwlhZGMgYSxiCisJYWRjIGEsYworCWFkYyBhLGQKKwlhZGMgYSxlCisJYWRjIGEsaAorCWFkYyBhLGwKKwlhZGMgYSwoaGwpCisJYWRjIGEsKGl4KzUpCisJYWRjIGEsKGl5KzUpCisJYWRjIGEsMTcKKworCXN1YiBhCisJc3ViIGIKKwlzdWIgYworCXN1YiBkCisJc3ViIGUKKwlzdWIgaAorCXN1YiBsCisJc3ViIChobCkKKwlzdWIgKGl4KzUpCisJc3ViIChpeSs1KQorCXN1YiAxNworCisJc2JjIGEsYQorCXNiYyBhLGIKKwlzYmMgYSxjCisJc2JjIGEsZAorCXNiYyBhLGUKKwlzYmMgYSxoCisJc2JjIGEsbAorCXNiYyBhLChobCkKKwlzYmMgYSwoaXgrNSkKKwlzYmMgYSwoaXkrNSkKKwlzYmMgYSwxNworCisJYW5kIGEKKwlhbmQgYgorCWFuZCBjCisJYW5kIGQKKwlhbmQgZQorCWFuZCBoCisJYW5kIGwKKwlhbmQgKGhsKQorCWFuZCAoaXgrNSkKKwlhbmQgKGl5KzUpCisJYW5kIDE3CisKKwl4b3IgYQorCXhvciBiCisJeG9yIGMKKwl4b3IgZAorCXhvciBlCisJeG9yIGgKKwl4b3IgbAorCXhvciAoaGwpCisJeG9yIChpeCs1KQorCXhvciAoaXkrNSkKKwl4b3IgMTcKKworCW9yIGEKKwlvciBiCisJb3IgYworCW9yIGQKKwlvciBlCisJb3IgaAorCW9yIGwKKwlvciAoaGwpCisJb3IgKGl4KzUpCisJb3IgKGl5KzUpCisJb3IgMTcKKworCWNwIGEKKwljcCBiCisJY3AgYworCWNwIGQKKwljcCBlCisJY3AgaAorCWNwIGwKKwljcCAoaGwpCisJY3AgKGl4KzUpCisJY3AgKGl5KzUpCisJY3AgMTcKKworCWluYyBhCisJaW5jIGIKKwlpbmMgYworCWluYyBkCisJaW5jIGUKKwlpbmMgaAorCWluYyBsCisJaW5jIChobCkKKwlpbmMgKGl4KzUpCisJaW5jIChpeSs1KQorCisJZGVjIGEKKwlkZWMgYgorCWRlYyBjCisJZGVjIGQKKwlkZWMgZQorCWRlYyBoCisJZGVjIGwKKwlkZWMgKGhsKQorCWRlYyAoaXgrNSkKKwlkZWMgKGl5KzUpCisKKzs7OyAxNi1iaXQgYXJpdGhtZXRpYyBhbm1kIGxvZ2ljCisJYWRkIGhsLGJjCisJYWRkIGhsLGRlCisJYWRkIGhsLGhsCisJYWRkIGhsLHNwCisJCisJYWRkIGl4LGJjCisJYWRkIGl4LGRlCisJYWRkIGl4LGl4CisJYWRkIGl4LHNwCisJCisJYWRkIGl5LGJjCisJYWRkIGl5LGRlCisJYWRkIGl5LGl5CisJYWRkIGl5LHNwCisJCisJYWRjIGhsLGJjCisJYWRjIGhsLGRlCisJYWRjIGhsLGhsCisJYWRjIGhsLHNwCisKKwlzYmMgaGwsYmMKKwlzYmMgaGwsZGUKKwlzYmMgaGwsaGwKKwlzYmMgaGwsc3AKKworCWluYyBiYworCWluYyBkZQorCWluYyBobAorCWluYyBzcAorCWluYyBpeAorCWluYyBpeQorCisJZGVjIGJjCisJZGVjIGRlCisJZGVjIGhsCisJZGVjIHNwCisJZGVjIGl4CisJZGVjIGl5CisKKwkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy96ODAvYml0LmQgYi9nYXMvdGVzdHN1aXRlL2dhcy96ODAvYml0LmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NkMzBmYwotLS0gL2Rldi9udWxsCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9iaXQuZApAQCAtMCwwICsxLDI0OSBAQAorI29iamR1bXA6IC1kCisjbmFtZTogYml0IG1hbmlwdWxhdGlvbnMKKworLio6IC4qCisKK0Rpc2Fzc2VtYmx5IG9mIHNlY3Rpb24gLnRleHQ6CisKKzArIDwudGV4dD46CisKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNDdbIAldK2JpdCAwLGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNDBbIAldK2JpdCAwLGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNDFbIAldK2JpdCAwLGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNDJbIAldK2JpdCAwLGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNDNbIAldK2JpdCAwLGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNDRbIAldK2JpdCAwLGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNDVbIAldK2JpdCAwLGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNDZbIAldK2JpdCAwLFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSA0NlsgCV0rYml0IDAsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IDQ2WyAJXStiaXQgMCxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNGZbIAldK2JpdCAxLGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNDhbIAldK2JpdCAxLGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNDlbIAldK2JpdCAxLGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNGFbIAldK2JpdCAxLGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNGJbIAldK2JpdCAxLGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNGNbIAldK2JpdCAxLGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNGRbIAldK2JpdCAxLGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNGVbIAldK2JpdCAxLFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSA0ZVsgCV0rYml0IDEsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IDRlWyAJXStiaXQgMSxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNTdbIAldK2JpdCAyLGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNTBbIAldK2JpdCAyLGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNTFbIAldK2JpdCAyLGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNTJbIAldK2JpdCAyLGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNTNbIAldK2JpdCAyLGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNTRbIAldK2JpdCAyLGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNTVbIAldK2JpdCAyLGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNTZbIAldK2JpdCAyLFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSA1NlsgCV0rYml0IDIsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IDU2WyAJXStiaXQgMixcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNWZbIAldK2JpdCAzLGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNThbIAldK2JpdCAzLGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNTlbIAldK2JpdCAzLGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNWFbIAldK2JpdCAzLGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNWJbIAldK2JpdCAzLGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNWNbIAldK2JpdCAzLGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNWRbIAldK2JpdCAzLGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNWVbIAldK2JpdCAzLFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSA1ZVsgCV0rYml0IDMsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IDVlWyAJXStiaXQgMyxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNjdbIAldK2JpdCA0LGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNjBbIAldK2JpdCA0LGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNjFbIAldK2JpdCA0LGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNjJbIAldK2JpdCA0LGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNjNbIAldK2JpdCA0LGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNjRbIAldK2JpdCA0LGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNjVbIAldK2JpdCA0LGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNjZbIAldK2JpdCA0LFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSA2NlsgCV0rYml0IDQsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IDY2WyAJXStiaXQgNCxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNmZbIAldK2JpdCA1LGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNjhbIAldK2JpdCA1LGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNjlbIAldK2JpdCA1LGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNmFbIAldK2JpdCA1LGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNmJbIAldK2JpdCA1LGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNmNbIAldK2JpdCA1LGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNmRbIAldK2JpdCA1LGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNmVbIAldK2JpdCA1LFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSA2ZVsgCV0rYml0IDUsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IDZlWyAJXStiaXQgNSxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNzdbIAldK2JpdCA2LGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNzBbIAldK2JpdCA2LGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNzFbIAldK2JpdCA2LGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNzJbIAldK2JpdCA2LGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNzNbIAldK2JpdCA2LGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNzRbIAldK2JpdCA2LGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNzVbIAldK2JpdCA2LGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNzZbIAldK2JpdCA2LFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSA3NlsgCV0rYml0IDYsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IDc2WyAJXStiaXQgNixcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgN2ZbIAldK2JpdCA3LGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNzhbIAldK2JpdCA3LGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgNzlbIAldK2JpdCA3LGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgN2FbIAldK2JpdCA3LGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgN2JbIAldK2JpdCA3LGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgN2NbIAldK2JpdCA3LGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgN2RbIAldK2JpdCA3LGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgN2VbIAldK2JpdCA3LFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSA3ZVsgCV0rYml0IDcsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IDdlWyAJXStiaXQgNyxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgODdbIAldK3JlcyAwLGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgODBbIAldK3JlcyAwLGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgODFbIAldK3JlcyAwLGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgODJbIAldK3JlcyAwLGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgODNbIAldK3JlcyAwLGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgODRbIAldK3JlcyAwLGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgODVbIAldK3JlcyAwLGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgODZbIAldK3JlcyAwLFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSA4NlsgCV0rcmVzIDAsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IDg2WyAJXStyZXMgMCxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOGZbIAldK3JlcyAxLGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgODhbIAldK3JlcyAxLGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgODlbIAldK3JlcyAxLGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOGFbIAldK3JlcyAxLGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOGJbIAldK3JlcyAxLGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOGNbIAldK3JlcyAxLGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOGRbIAldK3JlcyAxLGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOGVbIAldK3JlcyAxLFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSA4ZVsgCV0rcmVzIDEsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IDhlWyAJXStyZXMgMSxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOTdbIAldK3JlcyAyLGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOTBbIAldK3JlcyAyLGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOTFbIAldK3JlcyAyLGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOTJbIAldK3JlcyAyLGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOTNbIAldK3JlcyAyLGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOTRbIAldK3JlcyAyLGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOTVbIAldK3JlcyAyLGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOTZbIAldK3JlcyAyLFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSA5NlsgCV0rcmVzIDIsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IDk2WyAJXStyZXMgMixcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOWZbIAldK3JlcyAzLGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOThbIAldK3JlcyAzLGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOTlbIAldK3JlcyAzLGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOWFbIAldK3JlcyAzLGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOWJbIAldK3JlcyAzLGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOWNbIAldK3JlcyAzLGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOWRbIAldK3JlcyAzLGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgOWVbIAldK3JlcyAzLFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSA5ZVsgCV0rcmVzIDMsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IDllWyAJXStyZXMgMyxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYTdbIAldK3JlcyA0LGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYTBbIAldK3JlcyA0LGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYTFbIAldK3JlcyA0LGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYTJbIAldK3JlcyA0LGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYTNbIAldK3JlcyA0LGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYTRbIAldK3JlcyA0LGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYTVbIAldK3JlcyA0LGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYTZbIAldK3JlcyA0LFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSBhNlsgCV0rcmVzIDQsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IGE2WyAJXStyZXMgNCxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYWZbIAldK3JlcyA1LGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYThbIAldK3JlcyA1LGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYTlbIAldK3JlcyA1LGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYWFbIAldK3JlcyA1LGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYWJbIAldK3JlcyA1LGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYWNbIAldK3JlcyA1LGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYWRbIAldK3JlcyA1LGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYWVbIAldK3JlcyA1LFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSBhZVsgCV0rcmVzIDUsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IGFlWyAJXStyZXMgNSxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYjdbIAldK3JlcyA2LGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYjBbIAldK3JlcyA2LGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYjFbIAldK3JlcyA2LGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYjJbIAldK3JlcyA2LGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYjNbIAldK3JlcyA2LGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYjRbIAldK3JlcyA2LGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYjVbIAldK3JlcyA2LGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYjZbIAldK3JlcyA2LFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSBiNlsgCV0rcmVzIDYsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IGI2WyAJXStyZXMgNixcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYmZbIAldK3JlcyA3LGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYjhbIAldK3JlcyA3LGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYjlbIAldK3JlcyA3LGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYmFbIAldK3JlcyA3LGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYmJbIAldK3JlcyA3LGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYmNbIAldK3JlcyA3LGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYmRbIAldK3JlcyA3LGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYmVbIAldK3JlcyA3LFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSBiZVsgCV0rcmVzIDcsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IGJlWyAJXStyZXMgNyxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYzdbIAldK3NldCAwLGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYzBbIAldK3NldCAwLGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYzFbIAldK3NldCAwLGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYzJbIAldK3NldCAwLGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYzNbIAldK3NldCAwLGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYzRbIAldK3NldCAwLGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYzVbIAldK3NldCAwLGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYzZbIAldK3NldCAwLFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSBjNlsgCV0rc2V0IDAsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IGM2WyAJXStzZXQgMCxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgY2ZbIAldK3NldCAxLGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYzhbIAldK3NldCAxLGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgYzlbIAldK3NldCAxLGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgY2FbIAldK3NldCAxLGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgY2JbIAldK3NldCAxLGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgY2NbIAldK3NldCAxLGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgY2RbIAldK3NldCAxLGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgY2VbIAldK3NldCAxLFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSBjZVsgCV0rc2V0IDEsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IGNlWyAJXStzZXQgMSxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZDdbIAldK3NldCAyLGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZDBbIAldK3NldCAyLGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZDFbIAldK3NldCAyLGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZDJbIAldK3NldCAyLGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZDNbIAldK3NldCAyLGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZDRbIAldK3NldCAyLGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZDVbIAldK3NldCAyLGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZDZbIAldK3NldCAyLFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSBkNlsgCV0rc2V0IDIsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IGQ2WyAJXStzZXQgMixcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZGZbIAldK3NldCAzLGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZDhbIAldK3NldCAzLGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZDlbIAldK3NldCAzLGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZGFbIAldK3NldCAzLGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZGJbIAldK3NldCAzLGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZGNbIAldK3NldCAzLGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZGRbIAldK3NldCAzLGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZGVbIAldK3NldCAzLFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSBkZVsgCV0rc2V0IDMsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IGRlWyAJXStzZXQgMyxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZTdbIAldK3NldCA0LGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZTBbIAldK3NldCA0LGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZTFbIAldK3NldCA0LGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZTJbIAldK3NldCA0LGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZTNbIAldK3NldCA0LGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZTRbIAldK3NldCA0LGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZTVbIAldK3NldCA0LGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZTZbIAldK3NldCA0LFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSBlNlsgCV0rc2V0IDQsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IGU2WyAJXStzZXQgNCxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZWZbIAldK3NldCA1LGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZThbIAldK3NldCA1LGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZTlbIAldK3NldCA1LGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZWFbIAldK3NldCA1LGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZWJbIAldK3NldCA1LGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZWNbIAldK3NldCA1LGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZWRbIAldK3NldCA1LGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZWVbIAldK3NldCA1LFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSBlZVsgCV0rc2V0IDUsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IGVlWyAJXStzZXQgNSxcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZjdbIAldK3NldCA2LGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZjBbIAldK3NldCA2LGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZjFbIAldK3NldCA2LGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZjJbIAldK3NldCA2LGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZjNbIAldK3NldCA2LGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZjRbIAldK3NldCA2LGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZjVbIAldK3NldCA2LGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZjZbIAldK3NldCA2LFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSBmNlsgCV0rc2V0IDYsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IGY2WyAJXStzZXQgNixcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZmZbIAldK3NldCA3LGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZjhbIAldK3NldCA3LGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZjlbIAldK3NldCA3LGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZmFbIAldK3NldCA3LGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZmJbIAldK3NldCA3LGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZmNbIAldK3NldCA3LGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZmRbIAldK3NldCA3LGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgZmVbIAldK3NldCA3LFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSBmZVsgCV0rc2V0IDcsXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IGZlWyAJXStzZXQgNyxcKGl5XCs1XCkKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9iaXQucyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9iaXQucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGE1ZjllCi0tLSAvZGV2L251bGwKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL2JpdC5zCkBAIC0wLDAgKzEsMjQ1IEBACisJLnRleHQKKwkub3JnIDAKKzs7OyAgYml0IG1hbmlwdWxhdGlvbgorCWJpdCAwLGEKKwliaXQgMCxiCisJYml0IDAsYworCWJpdCAwLGQKKwliaXQgMCxlCisJYml0IDAsaAorCWJpdCAwLGwKKwliaXQgMCwoaGwpCisJYml0IDAsKGl4KzUpCisJYml0IDAsKGl5KzUpCisJYml0IDEsYQorCWJpdCAxLGIKKwliaXQgMSxjCisJYml0IDEsZAorCWJpdCAxLGUKKwliaXQgMSxoCisJYml0IDEsbAorCWJpdCAxLChobCkKKwliaXQgMSwoaXgrNSkKKwliaXQgMSwoaXkrNSkKKwliaXQgMixhCisJYml0IDIsYgorCWJpdCAyLGMKKwliaXQgMixkCisJYml0IDIsZQorCWJpdCAyLGgKKwliaXQgMixsCisJYml0IDIsKGhsKQorCWJpdCAyLChpeCs1KQorCWJpdCAyLChpeSs1KQorCWJpdCAzLGEKKwliaXQgMyxiCisJYml0IDMsYworCWJpdCAzLGQKKwliaXQgMyxlCisJYml0IDMsaAorCWJpdCAzLGwKKwliaXQgMywoaGwpCisJYml0IDMsKGl4KzUpCisJYml0IDMsKGl5KzUpCisJYml0IDQsYQorCWJpdCA0LGIKKwliaXQgNCxjCisJYml0IDQsZAorCWJpdCA0LGUKKwliaXQgNCxoCisJYml0IDQsbAorCWJpdCA0LChobCkKKwliaXQgNCwoaXgrNSkKKwliaXQgNCwoaXkrNSkKKwliaXQgNSxhCisJYml0IDUsYgorCWJpdCA1LGMKKwliaXQgNSxkCisJYml0IDUsZQorCWJpdCA1LGgKKwliaXQgNSxsCisJYml0IDUsKGhsKQorCWJpdCA1LChpeCs1KQorCWJpdCA1LChpeSs1KQorCWJpdCA2LGEKKwliaXQgNixiCisJYml0IDYsYworCWJpdCA2LGQKKwliaXQgNixlCisJYml0IDYsaAorCWJpdCA2LGwKKwliaXQgNiwoaGwpCisJYml0IDYsKGl4KzUpCisJYml0IDYsKGl5KzUpCisJYml0IDcsYQorCWJpdCA3LGIKKwliaXQgNyxjCisJYml0IDcsZAorCWJpdCA3LGUKKwliaXQgNyxoCisJYml0IDcsbAorCWJpdCA3LChobCkKKwliaXQgNywoaXgrNSkKKwliaXQgNywoaXkrNSkKKworCXJlcyAwLGEKKwlyZXMgMCxiCisJcmVzIDAsYworCXJlcyAwLGQKKwlyZXMgMCxlCisJcmVzIDAsaAorCXJlcyAwLGwKKwlyZXMgMCwoaGwpCisJcmVzIDAsKGl4KzUpCisJcmVzIDAsKGl5KzUpCisJcmVzIDEsYQorCXJlcyAxLGIKKwlyZXMgMSxjCisJcmVzIDEsZAorCXJlcyAxLGUKKwlyZXMgMSxoCisJcmVzIDEsbAorCXJlcyAxLChobCkKKwlyZXMgMSwoaXgrNSkKKwlyZXMgMSwoaXkrNSkKKwlyZXMgMixhCisJcmVzIDIsYgorCXJlcyAyLGMKKwlyZXMgMixkCisJcmVzIDIsZQorCXJlcyAyLGgKKwlyZXMgMixsCisJcmVzIDIsKGhsKQorCXJlcyAyLChpeCs1KQorCXJlcyAyLChpeSs1KQorCXJlcyAzLGEKKwlyZXMgMyxiCisJcmVzIDMsYworCXJlcyAzLGQKKwlyZXMgMyxlCisJcmVzIDMsaAorCXJlcyAzLGwKKwlyZXMgMywoaGwpCisJcmVzIDMsKGl4KzUpCisJcmVzIDMsKGl5KzUpCisJcmVzIDQsYQorCXJlcyA0LGIKKwlyZXMgNCxjCisJcmVzIDQsZAorCXJlcyA0LGUKKwlyZXMgNCxoCisJcmVzIDQsbAorCXJlcyA0LChobCkKKwlyZXMgNCwoaXgrNSkKKwlyZXMgNCwoaXkrNSkKKwlyZXMgNSxhCisJcmVzIDUsYgorCXJlcyA1LGMKKwlyZXMgNSxkCisJcmVzIDUsZQorCXJlcyA1LGgKKwlyZXMgNSxsCisJcmVzIDUsKGhsKQorCXJlcyA1LChpeCs1KQorCXJlcyA1LChpeSs1KQorCXJlcyA2LGEKKwlyZXMgNixiCisJcmVzIDYsYworCXJlcyA2LGQKKwlyZXMgNixlCisJcmVzIDYsaAorCXJlcyA2LGwKKwlyZXMgNiwoaGwpCisJcmVzIDYsKGl4KzUpCisJcmVzIDYsKGl5KzUpCisJcmVzIDcsYQorCXJlcyA3LGIKKwlyZXMgNyxjCisJcmVzIDcsZAorCXJlcyA3LGUKKwlyZXMgNyxoCisJcmVzIDcsbAorCXJlcyA3LChobCkKKwlyZXMgNywoaXgrNSkKKwlyZXMgNywoaXkrNSkKKworCXNldCAwLGEKKwlzZXQgMCxiCisJc2V0IDAsYworCXNldCAwLGQKKwlzZXQgMCxlCisJc2V0IDAsaAorCXNldCAwLGwKKwlzZXQgMCwoaGwpCisJc2V0IDAsKGl4KzUpCisJc2V0IDAsKGl5KzUpCisJc2V0IDEsYQorCXNldCAxLGIKKwlzZXQgMSxjCisJc2V0IDEsZAorCXNldCAxLGUKKwlzZXQgMSxoCisJc2V0IDEsbAorCXNldCAxLChobCkKKwlzZXQgMSwoaXgrNSkKKwlzZXQgMSwoaXkrNSkKKwlzZXQgMixhCisJc2V0IDIsYgorCXNldCAyLGMKKwlzZXQgMixkCisJc2V0IDIsZQorCXNldCAyLGgKKwlzZXQgMixsCisJc2V0IDIsKGhsKQorCXNldCAyLChpeCs1KQorCXNldCAyLChpeSs1KQorCXNldCAzLGEKKwlzZXQgMyxiCisJc2V0IDMsYworCXNldCAzLGQKKwlzZXQgMyxlCisJc2V0IDMsaAorCXNldCAzLGwKKwlzZXQgMywoaGwpCisJc2V0IDMsKGl4KzUpCisJc2V0IDMsKGl5KzUpCisJc2V0IDQsYQorCXNldCA0LGIKKwlzZXQgNCxjCisJc2V0IDQsZAorCXNldCA0LGUKKwlzZXQgNCxoCisJc2V0IDQsbAorCXNldCA0LChobCkKKwlzZXQgNCwoaXgrNSkKKwlzZXQgNCwoaXkrNSkKKwlzZXQgNSxhCisJc2V0IDUsYgorCXNldCA1LGMKKwlzZXQgNSxkCisJc2V0IDUsZQorCXNldCA1LGgKKwlzZXQgNSxsCisJc2V0IDUsKGhsKQorCXNldCA1LChpeCs1KQorCXNldCA1LChpeSs1KQorCXNldCA2LGEKKwlzZXQgNixiCisJc2V0IDYsYworCXNldCA2LGQKKwlzZXQgNixlCisJc2V0IDYsaAorCXNldCA2LGwKKwlzZXQgNiwoaGwpCisJc2V0IDYsKGl4KzUpCisJc2V0IDYsKGl5KzUpCisJc2V0IDcsYQorCXNldCA3LGIKKwlzZXQgNyxjCisJc2V0IDcsZAorCXNldCA3LGUKKwlzZXQgNyxoCisJc2V0IDcsbAorCXNldCA3LChobCkKKwlzZXQgNywoaXgrNSkKKwlzZXQgNywoaXkrNSkKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9ibG9jay5kIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL2Jsb2NrLmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzMzNDY1NgotLS0gL2Rldi9udWxsCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9ibG9jay5kCkBAIC0wLDAgKzEsMjUgQEAKKyNvYmpkdW1wOiAtZAorI25hbWU6IGJsb2NrIGluc3RydWN0aW9ucworCisuKjogLioKKworRGlzYXNzZW1ibHkgb2Ygc2VjdGlvbiAudGV4dDoKKworMCsgPC50ZXh0PjoKK1sgCV0rMDpbIAldK2VkIGEwWyAJXStsZGkKK1sgCV0rMjpbIAldK2VkIGIwWyAJXStsZGlyCitbIAldKzQ6WyAJXStlZCBhOFsgCV0rbGRkCitbIAldKzY6WyAJXStlZCBiOFsgCV0rbGRkcgorWyAJXSs4OlsgCV0rZWQgYTFbIAldK2NwaQorWyAJXSthOlsgCV0rZWQgYjFbIAldK2NwaXIKK1sgCV0rYzpbIAldK2VkIGE5WyAJXStjcGQKK1sgCV0rZTpbIAldK2VkIGI5WyAJXStjcGRyCitbIAldKzEwOlsgCV0rZWQgYTNbIAldK291dGkKK1sgCV0rMTI6WyAJXStlZCBiM1sgCV0rb3RpcgorWyAJXSsxNDpbIAldK2VkIGFiWyAJXStvdXRkCitbIAldKzE2OlsgCV0rZWQgYmJbIAldK290ZHIKK1sgCV0rMTg6WyAJXStlZCBhMlsgCV0raW5pCitbIAldKzFhOlsgCV0rZWQgYjJbIAldK2luaXIKK1sgCV0rMWM6WyAJXStlZCBhYVsgCV0raW5kCitbIAldKzFlOlsgCV0rZWQgYmFbIAldK2luZHIKKyNwYXNzCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy96ODAvYmxvY2sucyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9ibG9jay5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1OWIyMDQKLS0tIC9kZXYvbnVsbAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy96ODAvYmxvY2sucwpAQCAtMCwwICsxLDIzIEBACisJLnRleHQKKwkub3JnIDAKKzs7OyAgYmxvY2sgaW5zdHJ1Y3Rpb25zCisJbGRpCisJbGRpcgorCWxkZAorCWxkZHIKKworCWNwaQorCWNwaXIKKwljcGQKKwljcGRyCisKKwlvdXRpCisJb3RpcgorCW91dGQKKwlvdGRyCisKKwlpbmkKKwlpbmlyCisJaW5kCisJaW5kcgorCQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9icmFuY2guZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9icmFuY2guZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jM2E0N2ExCi0tLSAvZGV2L251bGwKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL2JyYW5jaC5kCkBAIC0wLDAgKzEsNTQgQEAKKyNvYmpkdW1wOiAtZAorI25hbWU6IGJyYW5jaCBpbnN0cnVjdGlvbnMKKworLio6IC4qCisKK0Rpc2Fzc2VtYmx5IG9mIHNlY3Rpb24gLnRleHQ6CisKKzArIDwudGV4dD46CitbIAldKzA6WyAJXStjMyAwNSA4NFsgCV0ranAgMHg4NDA1CitbIAldKzM6WyAJXStkYSAwNSA4NFsgCV0ranAgYywweDg0MDUKK1sgCV0rNjpbIAldK2QyIDA1IDg0WyAJXStqcCBuYywweDg0MDUKK1sgCV0rOTpbIAldK2NhIDA1IDg0WyAJXStqcCB6LDB4ODQwNQorWyAJXStjOlsgCV0rYzIgMDUgODRbIAldK2pwIG56LDB4ODQwNQorWyAJXStmOlsgCV0rZWEgMDUgODRbIAldK2pwIHBlLDB4ODQwNQorWyAJXSsxMjpbIAldK2UyIDA1IDg0WyAJXStqcCBwbywweDg0MDUKK1sgCV0rMTU6WyAJXStmYSAwNSA4NFsgCV0ranAgbSwweDg0MDUKK1sgCV0rMTg6WyAJXStmMiAwNSA4NFsgCV0ranAgcCwweDg0MDUKK1sgCV0rMWI6WyAJXSsxOCBlM1sgCV0ranIgKDB4KT8wKworWyAJXSsxZDpbIAldKzM4IGUxWyAJXStqciBjLCgweCk/MCsKK1sgCV0rMWY6WyAJXSszMCBkZlsgCV0ranIgbmMsKDB4KT8wKworWyAJXSsyMTpbIAldKzI4IGRkWyAJXStqciB6LCgweCk/MCsKK1sgCV0rMjM6WyAJXSsyMCBkYlsgCV0ranIgbnosKDB4KT8wKworWyAJXSsyNTpbIAldK2U5WyAJXStqcCBcKGhsXCkKK1sgCV0rMjY6WyAJXStkZCBlOVsgCV0ranAgXChpeFwpCitbIAldKzI4OlsgCV0rZmQgZTlbIAldK2pwIFwoaXlcKQorWyAJXSsyYTpbIAldK2NkIDA1IDg0WyAJXStjYWxsIDB4ODQwNQorWyAJXSsyZDpbIAldK2RjIDA1IDg0WyAJXStjYWxsIGMsMHg4NDA1CitbIAldKzMwOlsgCV0rZDQgMDUgODRbIAldK2NhbGwgbmMsMHg4NDA1CitbIAldKzMzOlsgCV0rY2MgMDUgODRbIAldK2NhbGwgeiwweDg0MDUKK1sgCV0rMzY6WyAJXStjNCAwNSA4NFsgCV0rY2FsbCBueiwweDg0MDUKK1sgCV0rMzk6WyAJXStlYyAwNSA4NFsgCV0rY2FsbCBwZSwweDg0MDUKK1sgCV0rM2M6WyAJXStlNCAwNSA4NFsgCV0rY2FsbCBwbywweDg0MDUKK1sgCV0rM2Y6WyAJXStmYyAwNSA4NFsgCV0rY2FsbCBtLDB4ODQwNQorWyAJXSs0MjpbIAldK2Y0IDA1IDg0WyAJXStjYWxsIHAsMHg4NDA1CitbIAldKzQ1OlsgCV0rMTAgYjlbIAldK2RqbnogKDB4KT8wKworWyAJXSs0NzpbIAldK2M5WyAJXStyZXQKK1sgCV0rNDg6WyAJXStkOFsgCV0rcmV0IGMKK1sgCV0rNDk6WyAJXStkMFsgCV0rcmV0IG5jCitbIAldKzRhOlsgCV0rYzhbIAldK3JldCB6CitbIAldKzRiOlsgCV0rYzBbIAldK3JldCBuegorWyAJXSs0YzpbIAldK2U4WyAJXStyZXQgcGUKK1sgCV0rNGQ6WyAJXStlMFsgCV0rcmV0IHBvCitbIAldKzRlOlsgCV0rZjhbIAldK3JldCBtCitbIAldKzRmOlsgCV0rZjBbIAldK3JldCBwCitbIAldKzUwOlsgCV0rZWQgNGRbIAldK3JldGkKK1sgCV0rNTI6WyAJXStlZCA0NVsgCV0rcmV0bgorWyAJXSs1NDpbIAldK2M3WyAJXStyc3QgKDB4KT8wKworWyAJXSs1NTpbIAldK2NmWyAJXStyc3QgKDB4MD8pPzgKK1sgCV0rNTY6WyAJXStkN1sgCV0rcnN0IDB4MTAKK1sgCV0rNTc6WyAJXStkZlsgCV0rcnN0IDB4MTgKK1sgCV0rNTg6WyAJXStlN1sgCV0rcnN0IDB4MjAKK1sgCV0rNTk6WyAJXStlZlsgCV0rcnN0IDB4MjgKK1sgCV0rNWE6WyAJXStmN1sgCV0rcnN0IDB4MzAKK1sgCV0rNWI6WyAJXStmZlsgCV0rcnN0IDB4MzgKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy96ODAvYnJhbmNoLnMgYi9nYXMvdGVzdHN1aXRlL2dhcy96ODAvYnJhbmNoLnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI0MDkzNAotLS0gL2Rldi9udWxsCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9icmFuY2gucwpAQCAtMCwwICsxLDU3IEBACisJLnRleHQKKwkub3JnIDAKKzs7OyBicmFuY2ggaW5zdHJ1Y3Rpb25zCisyOgkKKwlqcCAweDg0MDUKKwlqcCBjLDB4ODQwNQorCWpwIG5jLDB4ODQwNQorCWpwIHosMHg4NDA1CisJanAgbnosMHg4NDA1CisJanAgcGUsMHg4NDA1CisJanAgcG8sMHg4NDA1CisJanAgbSwweDg0MDUKKwlqcCBwLDB4ODQwNQorCisJanIgMmIKKwlqciBjLDJiCisJanIgbmMsMmIKKwlqciB6LDJiCisJanIgbnosMmIKKworCWpwIChobCkKKwlqcCAoaXgpCisJanAgKGl5KQorCisJY2FsbCAweDg0MDUKKwljYWxsIGMsMHg4NDA1CisJY2FsbCBuYywweDg0MDUKKwljYWxsIHosMHg4NDA1CisJY2FsbCBueiwweDg0MDUKKwljYWxsIHBlLDB4ODQwNQorCWNhbGwgcG8sMHg4NDA1CisJY2FsbCBtLDB4ODQwNQorCWNhbGwgcCwweDg0MDUKKwkKKwlkam56IDJiCisKKwlyZXQKKwlyZXQgYworCXJldCBuYworCXJldCB6CisJcmV0IG56CisJcmV0IHBlCisJcmV0IHBvCisJcmV0IG0KKwlyZXQgcAorCisJcmV0aQorCXJldG4KKworCXJzdCAwaAorCXJzdCA4aAorCXJzdCAxMGgKKwlyc3QgMThoCisJcnN0IDIwaAorCXJzdCAyOGgKKwlyc3QgMzBoCisJcnN0IDM4aApkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL2lub3V0LmQgYi9nYXMvdGVzdHN1aXRlL2dhcy96ODAvaW5vdXQuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzlhNDE4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL2lub3V0LmQKQEAgLTAsMCArMSwyNCBAQAorI29iamR1bXA6IC1kCisjbmFtZTogaW5wdXQgYW5kIG91dHB1dAorCisuKjogLioKKworRGlzYXNzZW1ibHkgb2Ygc2VjdGlvbiAudGV4dDoKKworMCsgPC50ZXh0PjoKK1sgCV0rMDpbIAldK2RiIDc2WyAJXStpbiBhLFwoMHg3NlwpCitbIAldKzI6WyAJXStlZCA3OFsgCV0raW4gYSxcKGNcKQorWyAJXSs0OlsgCV0rZWQgNDBbIAldK2luIGIsXChjXCkKK1sgCV0rNjpbIAldK2VkIDQ4WyAJXStpbiBjLFwoY1wpCitbIAldKzg6WyAJXStlZCA1MFsgCV0raW4gZCxcKGNcKQorWyAJXSthOlsgCV0rZWQgNThbIAldK2luIGUsXChjXCkKK1sgCV0rYzpbIAldK2VkIDYwWyAJXStpbiBoLFwoY1wpCitbIAldK2U6WyAJXStlZCA2OFsgCV0raW4gbCxcKGNcKQorWyAJXSsxMDpbIAldK2QzIDc2WyAJXStvdXQgXCgweDc2XCksYQorWyAJXSsxMjpbIAldK2VkIDc5WyAJXStvdXQgXChjXCksYQorWyAJXSsxNDpbIAldK2VkIDQxWyAJXStvdXQgXChjXCksYgorWyAJXSsxNjpbIAldK2VkIDQ5WyAJXStvdXQgXChjXCksYworWyAJXSsxODpbIAldK2VkIDUxWyAJXStvdXQgXChjXCksZAorWyAJXSsxYTpbIAldK2VkIDU5WyAJXStvdXQgXChjXCksZQorWyAJXSsxYzpbIAldK2VkIDYxWyAJXStvdXQgXChjXCksaAorWyAJXSsxZTpbIAldK2VkIDY5WyAJXStvdXQgXChjXCksbApkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL2lub3V0LnMgYi9nYXMvdGVzdHN1aXRlL2dhcy96ODAvaW5vdXQucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmU0NThhCi0tLSAvZGV2L251bGwKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL2lub3V0LnMKQEAgLTAsMCArMSwyMyBAQAorCS50ZXh0CisJLm9yZyAwCis7OzsgaW5wdXQKKwlpbiBhLCgweDc2KQorCWluIGEsKGMpCisJaW4gYiwoYykKKwlpbiBjLChjKQorCWluIGQsKGMpCisJaW4gZSwoYykKKwlpbiBoLChjKQorCWluIGwsKGMpCisKKzs7OyBvdXRwdXQKKwlvdXQgKDB4NzYpLGEKKwlvdXQgKGMpLGEKKwlvdXQgKGMpLGIKKwlvdXQgKGMpLGMKKwlvdXQgKGMpLGQKKwlvdXQgKGMpLGUKKwlvdXQgKGMpLGgKKwlvdXQgKGMpLGwKKwkKKwkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy96ODAvbGQtZ3JvdXAuZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9sZC1ncm91cC5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkYTQ0YjA3Ci0tLSAvZGV2L251bGwKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL2xkLWdyb3VwLmQKQEAgLTAsMCArMSwxNTQgQEAKKyNvYmpkdW1wOiAtZAorI25hbWU6IGRhdGEgdHJhbnNmZXIgaW5zdHJ1Y3Rpb25zCisKKy4qOiAuKgorCitEaXNhc3NlbWJseSBvZiBzZWN0aW9uIC50ZXh0OgorCiswKyA8LnRleHQ+OgorCitbIAldKzA6WyAJXStlZCA1N1sgCV0rbGQgYSxpCitbIAldKzI6WyAJXStlZCA1ZlsgCV0rbGQgYSxyCitbIAldKzQ6WyAJXSs3ZlsgCV0rbGQgYSxhCitbIAldKzU6WyAJXSs3OFsgCV0rbGQgYSxiCitbIAldKzY6WyAJXSs3OVsgCV0rbGQgYSxjCitbIAldKzc6WyAJXSs3YVsgCV0rbGQgYSxkCitbIAldKzg6WyAJXSs3YlsgCV0rbGQgYSxlCitbIAldKzk6WyAJXSs3Y1sgCV0rbGQgYSxoCitbIAldK2E6WyAJXSs3ZFsgCV0rbGQgYSxsCitbIAldK2I6WyAJXSs3ZVsgCV0rbGQgYSxcKGhsXCkKK1sgCV0rYzpbIAldKzBhWyAJXStsZCBhLFwoYmNcKQorWyAJXStkOlsgCV0rMWFbIAldK2xkIGEsXChkZVwpCitbIAldK2U6WyAJXStkZCA3ZSAwNVsgCV0rbGQgYSxcKGl4XCs1XCkKK1sgCV0rMTE6WyAJXStmZCA3ZSAwNVsgCV0rbGQgYSxcKGl5XCs1XCkKK1sgCV0rMTQ6WyAJXSszYSAwNSA4NFsgCV0rbGQgYSxcKDB4ODQwNVwpCitbIAldKzE3OlsgCV0rM2UgMTFbIAldK2xkIGEsMHgxMQorWyAJXSsxOTpbIAldKzQ3WyAJXStsZCBiLGEKK1sgCV0rMWE6WyAJXSs0MFsgCV0rbGQgYixiCitbIAldKzFiOlsgCV0rNDFbIAldK2xkIGIsYworWyAJXSsxYzpbIAldKzQyWyAJXStsZCBiLGQKK1sgCV0rMWQ6WyAJXSs0M1sgCV0rbGQgYixlCitbIAldKzFlOlsgCV0rNDRbIAldK2xkIGIsaAorWyAJXSsxZjpbIAldKzQ1WyAJXStsZCBiLGwKK1sgCV0rMjA6WyAJXSs0NlsgCV0rbGQgYixcKGhsXCkKK1sgCV0rMjE6WyAJXStkZCA0NiAwNVsgCV0rbGQgYixcKGl4XCs1XCkKK1sgCV0rMjQ6WyAJXStmZCA0NiAwNVsgCV0rbGQgYixcKGl5XCs1XCkKK1sgCV0rMjc6WyAJXSswNiAxMVsgCV0rbGQgYiwweDExCitbIAldKzI5OlsgCV0rNGZbIAldK2xkIGMsYQorWyAJXSsyYTpbIAldKzQ4WyAJXStsZCBjLGIKK1sgCV0rMmI6WyAJXSs0OVsgCV0rbGQgYyxjCitbIAldKzJjOlsgCV0rNGFbIAldK2xkIGMsZAorWyAJXSsyZDpbIAldKzRiWyAJXStsZCBjLGUKK1sgCV0rMmU6WyAJXSs0Y1sgCV0rbGQgYyxoCitbIAldKzJmOlsgCV0rNGRbIAldK2xkIGMsbAorWyAJXSszMDpbIAldKzRlWyAJXStsZCBjLFwoaGxcKQorWyAJXSszMTpbIAldK2RkIDRlIDA1WyAJXStsZCBjLFwoaXhcKzVcKQorWyAJXSszNDpbIAldK2ZkIDRlIDA1WyAJXStsZCBjLFwoaXlcKzVcKQorWyAJXSszNzpbIAldKzBlIDExWyAJXStsZCBjLDB4MTEKK1sgCV0rMzk6WyAJXSs1N1sgCV0rbGQgZCxhCitbIAldKzNhOlsgCV0rNTBbIAldK2xkIGQsYgorWyAJXSszYjpbIAldKzUxWyAJXStsZCBkLGMKK1sgCV0rM2M6WyAJXSs1MlsgCV0rbGQgZCxkCitbIAldKzNkOlsgCV0rNTNbIAldK2xkIGQsZQorWyAJXSszZTpbIAldKzU0WyAJXStsZCBkLGgKK1sgCV0rM2Y6WyAJXSs1NVsgCV0rbGQgZCxsCitbIAldKzQwOlsgCV0rNTZbIAldK2xkIGQsXChobFwpCitbIAldKzQxOlsgCV0rZGQgNTYgMDVbIAldK2xkIGQsXChpeFwrNVwpCitbIAldKzQ0OlsgCV0rZmQgNTYgMDVbIAldK2xkIGQsXChpeVwrNVwpCitbIAldKzQ3OlsgCV0rMTYgMTFbIAldK2xkIGQsMHgxMQorWyAJXSs0OTpbIAldKzVmWyAJXStsZCBlLGEKK1sgCV0rNGE6WyAJXSs1OFsgCV0rbGQgZSxiCitbIAldKzRiOlsgCV0rNTlbIAldK2xkIGUsYworWyAJXSs0YzpbIAldKzVhWyAJXStsZCBlLGQKK1sgCV0rNGQ6WyAJXSs1YlsgCV0rbGQgZSxlCitbIAldKzRlOlsgCV0rNWNbIAldK2xkIGUsaAorWyAJXSs0ZjpbIAldKzVkWyAJXStsZCBlLGwKK1sgCV0rNTA6WyAJXSs1ZVsgCV0rbGQgZSxcKGhsXCkKK1sgCV0rNTE6WyAJXStkZCA1ZSAwNVsgCV0rbGQgZSxcKGl4XCs1XCkKK1sgCV0rNTQ6WyAJXStmZCA1ZSAwNVsgCV0rbGQgZSxcKGl5XCs1XCkKK1sgCV0rNTc6WyAJXSsxZSAxMVsgCV0rbGQgZSwweDExCitbIAldKzU5OlsgCV0rNjdbIAldK2xkIGgsYQorWyAJXSs1YTpbIAldKzYwWyAJXStsZCBoLGIKK1sgCV0rNWI6WyAJXSs2MVsgCV0rbGQgaCxjCitbIAldKzVjOlsgCV0rNjJbIAldK2xkIGgsZAorWyAJXSs1ZDpbIAldKzYzWyAJXStsZCBoLGUKK1sgCV0rNWU6WyAJXSs2NFsgCV0rbGQgaCxoCitbIAldKzVmOlsgCV0rNjVbIAldK2xkIGgsbAorWyAJXSs2MDpbIAldKzY2WyAJXStsZCBoLFwoaGxcKQorWyAJXSs2MTpbIAldK2RkIDY2IDA1WyAJXStsZCBoLFwoaXhcKzVcKQorWyAJXSs2NDpbIAldK2ZkIDY2IDA1WyAJXStsZCBoLFwoaXlcKzVcKQorWyAJXSs2NzpbIAldKzI2IDExWyAJXStsZCBoLDB4MTEKK1sgCV0rNjk6WyAJXSs2ZlsgCV0rbGQgbCxhCitbIAldKzZhOlsgCV0rNjhbIAldK2xkIGwsYgorWyAJXSs2YjpbIAldKzY5WyAJXStsZCBsLGMKK1sgCV0rNmM6WyAJXSs2YVsgCV0rbGQgbCxkCitbIAldKzZkOlsgCV0rNmJbIAldK2xkIGwsZQorWyAJXSs2ZTpbIAldKzZjWyAJXStsZCBsLGgKK1sgCV0rNmY6WyAJXSs2ZFsgCV0rbGQgbCxsCitbIAldKzcwOlsgCV0rNmVbIAldK2xkIGwsXChobFwpCitbIAldKzcxOlsgCV0rZGQgNmUgMDVbIAldK2xkIGwsXChpeFwrNVwpCitbIAldKzc0OlsgCV0rZmQgNmUgMDVbIAldK2xkIGwsXChpeVwrNVwpCitbIAldKzc3OlsgCV0rMmUgMTFbIAldK2xkIGwsMHgxMQorWyAJXSs3OTpbIAldKzc3WyAJXStsZCBcKGhsXCksYQorWyAJXSs3YTpbIAldKzcwWyAJXStsZCBcKGhsXCksYgorWyAJXSs3YjpbIAldKzcxWyAJXStsZCBcKGhsXCksYworWyAJXSs3YzpbIAldKzcyWyAJXStsZCBcKGhsXCksZAorWyAJXSs3ZDpbIAldKzczWyAJXStsZCBcKGhsXCksZQorWyAJXSs3ZTpbIAldKzc0WyAJXStsZCBcKGhsXCksaAorWyAJXSs3ZjpbIAldKzc1WyAJXStsZCBcKGhsXCksbAorWyAJXSs4MDpbIAldKzM2IDExWyAJXStsZCBcKGhsXCksMHgxMQorWyAJXSs4MjpbIAldKzAyWyAJXStsZCBcKGJjXCksYQorWyAJXSs4MzpbIAldKzEyWyAJXStsZCBcKGRlXCksYQorWyAJXSs4NDpbIAldK2RkIDc3IDA1WyAJXStsZCBcKGl4XCs1XCksYQorWyAJXSs4NzpbIAldK2RkIDcwIDA1WyAJXStsZCBcKGl4XCs1XCksYgorWyAJXSs4YTpbIAldK2RkIDcxIDA1WyAJXStsZCBcKGl4XCs1XCksYworWyAJXSs4ZDpbIAldK2RkIDcyIDA1WyAJXStsZCBcKGl4XCs1XCksZAorWyAJXSs5MDpbIAldK2RkIDczIDA1WyAJXStsZCBcKGl4XCs1XCksZQorWyAJXSs5MzpbIAldK2RkIDc0IDA1WyAJXStsZCBcKGl4XCs1XCksaAorWyAJXSs5NjpbIAldK2RkIDc1IDA1WyAJXStsZCBcKGl4XCs1XCksbAorWyAJXSs5OTpbIAldK2RkIDM2IDA1IDExWyAJXStsZCBcKGl4XCs1XCksMHgxMQorWyAJXSs5ZDpbIAldK2ZkIDc3IDA1WyAJXStsZCBcKGl5XCs1XCksYQorWyAJXSthMDpbIAldK2ZkIDcwIDA1WyAJXStsZCBcKGl5XCs1XCksYgorWyAJXSthMzpbIAldK2ZkIDcxIDA1WyAJXStsZCBcKGl5XCs1XCksYworWyAJXSthNjpbIAldK2ZkIDcyIDA1WyAJXStsZCBcKGl5XCs1XCksZAorWyAJXSthOTpbIAldK2ZkIDczIDA1WyAJXStsZCBcKGl5XCs1XCksZQorWyAJXSthYzpbIAldK2ZkIDc0IDA1WyAJXStsZCBcKGl5XCs1XCksaAorWyAJXSthZjpbIAldK2ZkIDc1IDA1WyAJXStsZCBcKGl5XCs1XCksbAorWyAJXStiMjpbIAldK2ZkIDM2IDA1IDExWyAJXStsZCBcKGl5XCs1XCksMHgxMQorWyAJXStiNjpbIAldKzMyIDA3IDg0WyAJXStsZCBcKDB4ODQwN1wpLGEKK1sgCV0rYjk6WyAJXStlZCA0N1sgCV0rbGQgaSxhCitbIAldK2JiOlsgCV0rZWQgNGZbIAldK2xkIHIsYQorWyAJXStiZDpbIAldK2YxWyAJXStwb3AgYWYKK1sgCV0rYmU6WyAJXSswMSAwNSA4NFsgCV0rbGQgYmMsMHg4NDA1CitbIAldK2MxOlsgCV0rZWQgNGIgMDUgODRbIAldK2xkIGJjLFwoMHg4NDA1XCkKK1sgCV0rYzU6WyAJXStjMVsgCV0rcG9wIGJjCitbIAldK2M2OlsgCV0rMTEgMDUgODRbIAldK2xkIGRlLDB4ODQwNQorWyAJXStjOTpbIAldK2VkIDViIDA1IDg0WyAJXStsZCBkZSxcKDB4ODQwNVwpCitbIAldK2NkOlsgCV0rZDFbIAldK3BvcCBkZQorWyAJXStjZTpbIAldKzIxIDA1IDg0WyAJXStsZCBobCwweDg0MDUKK1sgCV0rZDE6WyAJXSsyYSAwNSA4NFsgCV0rbGQgaGwsXCgweDg0MDVcKQorWyAJXStkNDpbIAldK2UxWyAJXStwb3AgaGwKK1sgCV0rZDU6WyAJXStmOVsgCV0rbGQgc3AsaGwKK1sgCV0rZDY6WyAJXStkZCBmOVsgCV0rbGQgc3AsaXgKK1sgCV0rZDg6WyAJXStmZCBmOVsgCV0rbGQgc3AsaXkKK1sgCV0rZGE6WyAJXSszMSAwMiA4NFsgCV0rbGQgc3AsMHg4NDAyCitbIAldK2RkOlsgCV0rZWQgN2IgMDIgODNbIAldK2xkIHNwLFwoMHg4MzAyXCkKK1sgCV0rZTE6WyAJXStkZCAyMSAwNSA4NFsgCV0rbGQgaXgsMHg4NDA1CitbIAldK2U1OlsgCV0rZGQgMmEgMDUgODRbIAldK2xkIGl4LFwoMHg4NDA1XCkKK1sgCV0rZTk6WyAJXStkZCBlMVsgCV0rcG9wIGl4CitbIAldK2ViOlsgCV0rZmQgMjEgMDUgODRbIAldK2xkIGl5LDB4ODQwNQorWyAJXStlZjpbIAldK2ZkIDJhIDA1IDg0WyAJXStsZCBpeSxcKDB4ODQwNVwpCitbIAldK2YzOlsgCV0rZmQgZTFbIAldK3BvcCBpeQorWyAJXStmNTpbIAldK2VkIDQzIDMyIDg0WyAJXStsZCBcKDB4ODQzMlwpLGJjCitbIAldK2Y5OlsgCV0rZWQgNTMgMzIgODRbIAldK2xkIFwoMHg4NDMyXCksZGUKK1sgCV0rZmQ6WyAJXSsyMiAzMiA4NFsgCV0rbGQgXCgweDg0MzJcKSxobAorWyAJXSsxMDA6WyAJXStlZCA3MyAzMiA4NFsgCV0rbGQgXCgweDg0MzJcKSxzcAorWyAJXSsxMDQ6WyAJXStkZCAyMiAzMiA4NFsgCV0rbGQgXCgweDg0MzJcKSxpeAorWyAJXSsxMDg6WyAJXStmZCAyMiAzMiA4NFsgCV0rbGQgXCgweDg0MzJcKSxpeQorWyAJXSsxMGM6WyAJXStmNVsgCV0rcHVzaCBhZgorWyAJXSsxMGQ6WyAJXStjNVsgCV0rcHVzaCBiYworWyAJXSsxMGU6WyAJXStkNVsgCV0rcHVzaCBkZQorWyAJXSsxMGY6WyAJXStlNVsgCV0rcHVzaCBobAorWyAJXSsxMTA6WyAJXStkZCBlNVsgCV0rcHVzaCBpeAorWyAJXSsxMTI6WyAJXStmZCBlNVsgCV0rcHVzaCBpeQorI3Bhc3MKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy96ODAvbGQtZ3JvdXAucyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9sZC1ncm91cC5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4ZGRmMzMKLS0tIC9kZXYvbnVsbAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy96ODAvbGQtZ3JvdXAucwpAQCAtMCwwICsxLDE2OSBAQAorCS5zZWN0aW9uIC50ZXh0CisJLm9yZyAwCisJOzsgOC1iaXQgbG9hZCBncm91cAorCWxkIGEsaQorCWxkIGEscgorCWxkIGEsYQorCWxkIGEsYgorCWxkIGEsYworCWxkIGEsZAorCWxkIGEsZQorCWxkIGEsaAorCWxkIGEsbAorCWxkIGEsKGhsKQorCWxkIGEsKGJjKQorCWxkIGEsKGRlKQorCWxkIGEsKGl4KzUpCisJbGQgYSwoaXkrNSkKKwlsZCBhLCgweDg0MDUpCisJbGQgYSwweDExCisKKwlsZCBiLGEKKwlsZCBiLGIKKwlsZCBiLGMKKwlsZCBiLGQKKwlsZCBiLGUKKwlsZCBiLGgKKwlsZCBiLGwKKwlsZCBiLChobCkKKwlsZCBiLChpeCs1KQorCWxkIGIsKGl5KzUpCisJbGQgYiwweDExCisKKwlsZCBjLGEKKwlsZCBjLGIKKwlsZCBjLGMKKwlsZCBjLGQKKwlsZCBjLGUKKwlsZCBjLGgKKwlsZCBjLGwKKwlsZCBjLChobCkKKwlsZCBjLChpeCs1KQorCWxkIGMsKGl5KzUpCisJbGQgYywweDExCisKKwlsZCBkLGEKKwlsZCBkLGIKKwlsZCBkLGMKKwlsZCBkLGQKKwlsZCBkLGUKKwlsZCBkLGgKKwlsZCBkLGwKKwlsZCBkLChobCkKKwlsZCBkLChpeCs1KQorCWxkIGQsKGl5KzUpCisJbGQgZCwweDExCisJCisJbGQgZSxhCisJbGQgZSxiCisJbGQgZSxjCisJbGQgZSxkCisJbGQgZSxlCisJbGQgZSxoCisJbGQgZSxsCisJbGQgZSwoaGwpCisJbGQgZSwoaXgrNSkKKwlsZCBlLChpeSs1KQorCWxkIGUsMHgxMQorCisJbGQgaCxhCisJbGQgaCxiCisJbGQgaCxjCisJbGQgaCxkCisJbGQgaCxlCisJbGQgaCxoCisJbGQgaCxsCisJbGQgaCwoaGwpCisJbGQgaCwoaXgrNSkKKwlsZCBoLChpeSs1KQorCWxkIGgsMHgxMQorCQorCWxkIGwsYQorCWxkIGwsYgorCWxkIGwsYworCWxkIGwsZAorCWxkIGwsZQorCWxkIGwsaAorCWxkIGwsbAorCWxkIGwsKGhsKQorCWxkIGwsKGl4KzUpCisJbGQgbCwoaXkrNSkKKwlsZCBsLDB4MTEKKworCWxkIChobCksYQorCWxkIChobCksYgorCWxkIChobCksYworCWxkIChobCksZAorCWxkIChobCksZQorCWxkIChobCksaAorCWxkIChobCksbAorCWxkIChobCksMHgxMQorCQorCWxkIChiYyksYQorCWxkIChkZSksYQorCisJbGQgKGl4KzUpLGEKKwlsZCAoaXgrNSksYgorCWxkIChpeCs1KSxjCisJbGQgKGl4KzUpLGQKKwlsZCAoaXgrNSksZQorCWxkIChpeCs1KSxoCisJbGQgKGl4KzUpLGwKKwlsZCAoaXgrNSksMHgxMQorCisJbGQgKGl5KzUpLGEKKwlsZCAoaXkrNSksYgorCWxkIChpeSs1KSxjCisJbGQgKGl5KzUpLGQKKwlsZCAoaXkrNSksZQorCWxkIChpeSs1KSxoCisJbGQgKGl5KzUpLGwKKwlsZCAoaXkrNSksMHgxMQorCisJbGQgKDB4ODQwNyksYQorCWxkIGksYQorCWxkIHIsYQorCisJOzsgIDE2LWJpdCBsb2FkIGdyb3VwIC0tLSBsZCwgcG9wIGFuZCBwdXNoCisJcG9wIGFmCisJCisJbGQgYmMsMHg4NDA1CisJbGQgYmMsKDB4ODQwNSkKKwlwb3AgYmMKKwkKKwlsZCBkZSwweDg0MDUKKwlsZCBkZSwoMHg4NDA1KQorCXBvcCBkZQorCQorCWxkIGhsLDB4ODQwNQorCWxkIGhsLCgweDg0MDUpCisJcG9wIGhsCisJCisJbGQgc3AsaGwKKwlsZCBzcCxpeAorCWxkIHNwLGl5CisJbGQgc3AsMHg4NDAyCisJbGQgc3AsKDB4ODMwMikKKwkKKwlsZCBpeCwweDg0MDUKKwlsZCBpeCwoMHg4NDA1KQorCXBvcCBpeAorCQorCWxkIGl5LDB4ODQwNQorCWxkIGl5LCgweDg0MDUpCisJcG9wIGl5CisJCisJbGQgKDB4ODQzMiksYmMKKwlsZCAoMHg4NDMyKSxkZQorCWxkICgweDg0MzIpLGhsCisJbGQgKDB4ODQzMiksc3AKKwlsZCAoMHg4NDMyKSxpeAorCWxkICgweDg0MzIpLGl5CisKKwlwdXNoIGFmCisJcHVzaCBiYworCXB1c2ggZGUKKwlwdXNoIGhsCisJcHVzaCBpeAorCXB1c2ggaXkKKwpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL21pc2MuZCBiL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9taXNjLmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTIyMDEyZAotLS0gL2Rldi9udWxsCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9taXNjLmQKQEAgLTAsMCArMSwyNiBAQAorI29iamR1bXA6IC1kCisjbmFtZTogbWlzY2VsbGFuZW91cyBpbnN0cnVjdGlvbnMKKworLio6IC4qCisKK0Rpc2Fzc2VtYmx5IG9mIHNlY3Rpb24gLnRleHQ6CisKKzArIDwudGV4dD46CitbIAldK1swLTlhLWZdKzpbIAldKzA4WyAJXStleCBhZixhZicKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZDlbIAldK2V4eAorWyAJXStbMC05YS1mXSs6WyAJXStlYlsgCV0rZXggZGUsaGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZTNbIAldK2V4IFwoc3BcKSxobAorWyAJXStbMC05YS1mXSs6WyAJXStkZCBlM1sgCV0rZXggXChzcFwpLGl4CitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGUzWyAJXStleCBcKHNwXCksaXkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rMjdbIAldK2RhYQorWyAJXStbMC05YS1mXSs6WyAJXSsyZlsgCV0rY3BsCitbIAldK1swLTlhLWZdKzpbIAldK2VkIDQ0WyAJXStuZWcKK1sgCV0rWzAtOWEtZl0rOlsgCV0rM2ZbIAldK2NjZgorWyAJXStbMC05YS1mXSs6WyAJXSszN1sgCV0rc2NmCitbIAldK1swLTlhLWZdKzpbIAldKzAwWyAJXStub3AKK1sgCV0rWzAtOWEtZl0rOlsgCV0rNzZbIAldK2hhbHQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZjNbIAldK2RpCitbIAldK1swLTlhLWZdKzpbIAldK2ZiWyAJXStlaQorWyAJXStbMC05YS1mXSs6WyAJXStlZCA0NlsgCV0raW0gMAorWyAJXStbMC05YS1mXSs6WyAJXStlZCA1NlsgCV0raW0gMQorWyAJXStbMC05YS1mXSs6WyAJXStlZCA1ZVsgCV0raW0gMgpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL21pc2MucyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9taXNjLnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc3NjQ3NAotLS0gL2Rldi9udWxsCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL3o4MC9taXNjLnMKQEAgLTAsMCArMSwyNiBAQAorCS50ZXh0CisJLm9yZyAwCis7OzsgZXhjaGFuZ2UgaW5zdHJ1Y3Rpb25zCisJZXggYWYsYWYnCisJZXh4CisJZXggZGUsaGwKKwlleCAoc3ApLGhsCisJZXggKHNwKSxpeAorCWV4IChzcCksaXkKKwkKKzs7OyBBRiBvcGVyYXRpb25zCisJZGFhCisJY3BsCisJbmVnCisJY2NmCisJc2NmCisKKzs7OyBDUFUgY29udHJvbAorCW5vcAorCWhhbHQKKwlkaQorCWVpCisJaW0gMAorCWltIDEKKwlpbSAyCisJClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL3JvdGF0ZS5kIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL3JvdGF0ZS5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzNzQzMjIKLS0tIC9kZXYvbnVsbAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy96ODAvcm90YXRlLmQKQEAgLTAsMCArMSw4NiBAQAorI29iamR1bXA6IC1kCisjbmFtZTogcm90YXRlIGFuZCBzaGlmdAorCisuKjogLioKKworRGlzYXNzZW1ibHkgb2Ygc2VjdGlvbiAudGV4dDoKKworMCsgPC50ZXh0PjoKKworWyAJXStbMC05YS1mXSs6WyAJXStjYiAwN1sgCV0rcmxjIGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgMDBbIAldK3JsYyBiCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDAxWyAJXStybGMgYworWyAJXStbMC05YS1mXSs6WyAJXStjYiAwMlsgCV0rcmxjIGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgMDNbIAldK3JsYyBlCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDA0WyAJXStybGMgaAorWyAJXStbMC05YS1mXSs6WyAJXStjYiAwNVsgCV0rcmxjIGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgMDZbIAldK3JsYyBcKGhsXCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZGQgY2IgMDUgMDZbIAldK3JsYyBcKGl4XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZmQgY2IgMDUgMDZbIAldK3JsYyBcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgMGZbIAldK3JyYyBhCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDA4WyAJXStycmMgYgorWyAJXStbMC05YS1mXSs6WyAJXStjYiAwOVsgCV0rcnJjIGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgMGFbIAldK3JyYyBkCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDBiWyAJXStycmMgZQorWyAJXStbMC05YS1mXSs6WyAJXStjYiAwY1sgCV0rcnJjIGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgMGRbIAldK3JyYyBsCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDBlWyAJXStycmMgXChobFwpCitbIAldK1swLTlhLWZdKzpbIAldK2RkIGNiIDA1IDBlWyAJXStycmMgXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IDBlWyAJXStycmMgXChpeVwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDE3WyAJXStybCBhCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDEwWyAJXStybCBiCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDExWyAJXStybCBjCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDEyWyAJXStybCBkCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDEzWyAJXStybCBlCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDE0WyAJXStybCBoCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDE1WyAJXStybCBsCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDE2WyAJXStybCBcKGhsXCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZGQgY2IgMDUgMTZbIAldK3JsIFwoaXhcKzVcKQorWyAJXStbMC05YS1mXSs6WyAJXStmZCBjYiAwNSAxNlsgCV0rcmwgXChpeVwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDFmWyAJXStyciBhCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDE4WyAJXStyciBiCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDE5WyAJXStyciBjCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDFhWyAJXStyciBkCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDFiWyAJXStyciBlCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDFjWyAJXStyciBoCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDFkWyAJXStyciBsCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDFlWyAJXStyciBcKGhsXCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZGQgY2IgMDUgMWVbIAldK3JyIFwoaXhcKzVcKQorWyAJXStbMC05YS1mXSs6WyAJXStmZCBjYiAwNSAxZVsgCV0rcnIgXChpeVwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDI3WyAJXStzbGEgYQorWyAJXStbMC05YS1mXSs6WyAJXStjYiAyMFsgCV0rc2xhIGIKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgMjFbIAldK3NsYSBjCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDIyWyAJXStzbGEgZAorWyAJXStbMC05YS1mXSs6WyAJXStjYiAyM1sgCV0rc2xhIGUKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgMjRbIAldK3NsYSBoCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDI1WyAJXStzbGEgbAorWyAJXStbMC05YS1mXSs6WyAJXStjYiAyNlsgCV0rc2xhIFwoaGxcKQorWyAJXStbMC05YS1mXSs6WyAJXStkZCBjYiAwNSAyNlsgCV0rc2xhIFwoaXhcKzVcKQorWyAJXStbMC05YS1mXSs6WyAJXStmZCBjYiAwNSAyNlsgCV0rc2xhIFwoaXlcKzVcKQorWyAJXStbMC05YS1mXSs6WyAJXStjYiAyZlsgCV0rc3JhIGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgMjhbIAldK3NyYSBiCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDI5WyAJXStzcmEgYworWyAJXStbMC05YS1mXSs6WyAJXStjYiAyYVsgCV0rc3JhIGQKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgMmJbIAldK3NyYSBlCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDJjWyAJXStzcmEgaAorWyAJXStbMC05YS1mXSs6WyAJXStjYiAyZFsgCV0rc3JhIGwKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgMmVbIAldK3NyYSBcKGhsXCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZGQgY2IgMDUgMmVbIAldK3NyYSBcKGl4XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rZmQgY2IgMDUgMmVbIAldK3NyYSBcKGl5XCs1XCkKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgM2ZbIAldK3NybCBhCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDM4WyAJXStzcmwgYgorWyAJXStbMC05YS1mXSs6WyAJXStjYiAzOVsgCV0rc3JsIGMKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgM2FbIAldK3NybCBkCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDNiWyAJXStzcmwgZQorWyAJXStbMC05YS1mXSs6WyAJXStjYiAzY1sgCV0rc3JsIGgKK1sgCV0rWzAtOWEtZl0rOlsgCV0rY2IgM2RbIAldK3NybCBsCitbIAldK1swLTlhLWZdKzpbIAldK2NiIDNlWyAJXStzcmwgXChobFwpCitbIAldK1swLTlhLWZdKzpbIAldK2RkIGNiIDA1IDNlWyAJXStzcmwgXChpeFwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldK2ZkIGNiIDA1IDNlWyAJXStzcmwgXChpeVwrNVwpCitbIAldK1swLTlhLWZdKzpbIAldKzA3WyAJXStybGNhCitbIAldK1swLTlhLWZdKzpbIAldKzBmWyAJXStycmNhCitbIAldK1swLTlhLWZdKzpbIAldKzE3WyAJXStybGEKK1sgCV0rWzAtOWEtZl0rOlsgCV0rMWZbIAldK3JyYQorWyAJXStbMC05YS1mXSs6WyAJXStlZCA2ZlsgCV0rcmxkCitbIAldK1swLTlhLWZdKzpbIAldK2VkIDY3WyAJXStycmQKKyNwYXNzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL3JvdGF0ZS5zIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL3JvdGF0ZS5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllOTYzYmIKLS0tIC9kZXYvbnVsbAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy96ODAvcm90YXRlLnMKQEAgLTAsMCArMSw4MSBAQAorCS50ZXh0CisJLm9yZyAwCis7OzsgUm90YXRlcyBhbmQgc2hpZnRzCisKKwlybGMgYQorCXJsYyBiCisJcmxjIGMKKwlybGMgZAorCXJsYyBlCisJcmxjIGgKKwlybGMgbAorCXJsYyAoaGwpCisJcmxjIChpeCs1KQorCXJsYyAoaXkrNSkKKwlycmMgYQorCXJyYyBiCisJcnJjIGMKKwlycmMgZAorCXJyYyBlCisJcnJjIGgKKwlycmMgbAorCXJyYyAoaGwpCisJcnJjIChpeCs1KQorCXJyYyAoaXkrNSkKKwlybCBhCisJcmwgYgorCXJsIGMKKwlybCBkCisJcmwgZQorCXJsIGgKKwlybCBsCisJcmwgKGhsKQorCXJsIChpeCs1KQorCXJsIChpeSs1KQorCXJyIGEKKwlyciBiCisJcnIgYworCXJyIGQKKwlyciBlCisJcnIgaAorCXJyIGwKKwlyciAoaGwpCisJcnIgKGl4KzUpCisJcnIgKGl5KzUpCisJc2xhIGEKKwlzbGEgYgorCXNsYSBjCisJc2xhIGQKKwlzbGEgZQorCXNsYSBoCisJc2xhIGwKKwlzbGEgKGhsKQorCXNsYSAoaXgrNSkKKwlzbGEgKGl5KzUpCisJc3JhIGEKKwlzcmEgYgorCXNyYSBjCisJc3JhIGQKKwlzcmEgZQorCXNyYSBoCisJc3JhIGwKKwlzcmEgKGhsKQorCXNyYSAoaXgrNSkKKwlzcmEgKGl5KzUpCisJc3JsIGEKKwlzcmwgYgorCXNybCBjCisJc3JsIGQKKwlzcmwgZQorCXNybCBoCisJc3JsIGwKKwlzcmwgKGhsKQorCXNybCAoaXgrNSkKKwlzcmwgKGl5KzUpCisKKwlybGNhCisJcnJjYQorCXJsYQorCXJyYQorCXJsZAorCXJyZApkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvejgwL3o4MC5leHAgYi9nYXMvdGVzdHN1aXRlL2dhcy96ODAvejgwLmV4cAppbmRleCBjYWU4M2YxLi5kNTk1ZjZhIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy96ODAvejgwLmV4cAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy96ODAvejgwLmV4cApAQCAtOSw0ICs5LDIwIEBACiAgICAgcnVuX2R1bXBfdGVzdCAic3VmZml4IgogIyB0ZXN0IGFzc2VtYmxpbmcgYW5kIGRpc2Fzc2VtYmxpbmcgaW5zdHJ1Y3Rpb25zIGludm9sdmluZyBvZmZzZXRzCiAgICAgcnVuX2R1bXBfdGVzdCAib2Zmc2V0IgorIyB0ZXN0IGZvciBkYXRhIHRyYW5zZmVyIGluc3RydWN0aW9ucworICAgIHJ1bl9kdW1wX3Rlc3QgImxkLWdyb3VwIgorIyB0ZXN0IGZvciBibG9jayBpbnN0cnVjdGlvbnMKKyAgICBydW5fZHVtcF90ZXN0ICJibG9jayIKKyMgdGVzdCBmb3IgYXJpdGhtZXRpYyBhbmQgbG9naWMKKyAgICBydW5fZHVtcF90ZXN0ICJhcml0aCIKKyMgdGVzdCBmb3Igcm90YXRlIGFuZCBzaGlmdAorICAgIHJ1bl9kdW1wX3Rlc3QgInJvdGF0ZSIKKyMgdGVzdCBmb3IgYml0IG1hbmlwdWxhdGlvbnMKKyAgICBydW5fZHVtcF90ZXN0ICJiaXQiCisjIHRlc3QgZm9yIGJyYW5jaCBpbnN0cnVjdGlvbnMKKyAgICBydW5fZHVtcF90ZXN0ICJicmFuY2giCisjIHRlc3QgZm9yIGlucHV0IGFuZCBvdXRwdXQgaW5zdHJ1Y3Rpb25zCisgICAgcnVuX2R1bXBfdGVzdCAiaW5vdXQiCisjdGVzdCBmb3Igb3RoZXIgaW5zdHJ1Y3Rpb25zCisgICAgcnVuX2R1bXBfdGVzdCAibWlzYyIKIH0KZGlmZiAtLWdpdCBhL2dhcy93cml0ZS5jIGIvZ2FzL3dyaXRlLmMKaW5kZXggNTVjNzU3ZC4uMWFmODFhNyAxMDA2NDQKLS0tIGEvZ2FzL3dyaXRlLmMKKysrIGIvZ2FzL3dyaXRlLmMKQEAgLTU0LDI2ICs1NCwzNCBAQAogICAoISBTRUdfTk9STUFMIChTRUcpKQogI2VuZGlmCiAKKyNpZm5kZWYgbWRfcmVnaXN0ZXJfYXJpdGhtZXRpYworIyBkZWZpbmUgbWRfcmVnaXN0ZXJfYXJpdGhtZXRpYyAxCisjZW5kaWYKKwogI2lmbmRlZiBUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9BQlMKLSNkZWZpbmUgVENfRk9SQ0VfUkVMT0NBVElPTl9TVUJfQUJTKEZJWCkJMAorI2RlZmluZSBUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9BQlMoRklYLCBTRUcpCVwKKyAgKCFtZF9yZWdpc3Rlcl9hcml0aG1ldGljICYmIChTRUcpID09IHJlZ19zZWN0aW9uKQogI2VuZGlmCiAKICNpZm5kZWYgVENfRk9SQ0VfUkVMT0NBVElPTl9TVUJfTE9DQUwKICNpZmRlZiBESUZGX0VYUFJfT0sKLSNkZWZpbmUgVENfRk9SQ0VfUkVMT0NBVElPTl9TVUJfTE9DQUwoRklYKQkwCisjZGVmaW5lIFRDX0ZPUkNFX1JFTE9DQVRJT05fU1VCX0xPQ0FMKEZJWCwgU0VHKQlcCisgICghbWRfcmVnaXN0ZXJfYXJpdGhtZXRpYyAmJiAoU0VHKSA9PSByZWdfc2VjdGlvbikKICNlbHNlCi0jZGVmaW5lIFRDX0ZPUkNFX1JFTE9DQVRJT05fU1VCX0xPQ0FMKEZJWCkJMQorI2RlZmluZSBUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9MT0NBTChGSVgsIFNFRykJMQogI2VuZGlmCiAjZW5kaWYKIAogI2lmbmRlZiBUQ19WQUxJREFURV9GSVhfU1VCCiAjaWZkZWYgVU5ERUZJTkVEX0RJRkZFUkVOQ0VfT0sKIC8qIFRoZSBQQSBuZWVkcyB0aGlzIGZvciBQSUMgY29kZSBnZW5lcmF0aW9uLiAgKi8KLSNkZWZpbmUgVENfVkFMSURBVEVfRklYX1NVQihGSVgpIDEKKyNkZWZpbmUgVENfVkFMSURBVEVfRklYX1NVQihGSVgsIFNFRykJCQlcCisgIChtZF9yZWdpc3Rlcl9hcml0aG1ldGljIHx8IChTRUcpICE9IHJlZ19zZWN0aW9uKQogI2Vsc2UKLSNkZWZpbmUgVENfVkFMSURBVEVfRklYX1NVQihGSVgpCQlcCi0gICgoRklYKS0+Znhfcl90eXBlID09IEJGRF9SRUxPQ19HUFJFTDMyCVwKLSAgIHx8IChGSVgpLT5meF9yX3R5cGUgPT0gQkZEX1JFTE9DX0dQUkVMMTYpCisjZGVmaW5lIFRDX1ZBTElEQVRFX0ZJWF9TVUIoRklYLCBTRUcpCQkJXAorICAoKG1kX3JlZ2lzdGVyX2FyaXRobWV0aWMgfHwgKFNFRykgIT0gcmVnX3NlY3Rpb24pCVwKKyAgICYmICgoRklYKS0+Znhfcl90eXBlID09IEJGRF9SRUxPQ19HUFJFTDMyCQlcCisgICAgICAgfHwgKEZJWCktPmZ4X3JfdHlwZSA9PSBCRkRfUkVMT0NfR1BSRUwxNikpCiAjZW5kaWYKICNlbmRpZgogCkBAIC05MjQsMTQgKzkzMiwxNCBAQAogI2VuZGlmCiAJICAgIH0KIAkgIGVsc2UgaWYgKHN1Yl9zeW1ib2xfc2VnbWVudCA9PSBhYnNvbHV0ZV9zZWN0aW9uCi0JCSAgICYmICFUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9BQlMgKGZpeFApKQorCQkgICAmJiAhVENfRk9SQ0VfUkVMT0NBVElPTl9TVUJfQUJTIChmaXhQLCBhZGRfc3ltYm9sX3NlZ21lbnQpKQogCSAgICB7CiAJICAgICAgYWRkX251bWJlciAtPSBTX0dFVF9WQUxVRSAoZml4UC0+Znhfc3Vic3kpOwogCSAgICAgIGZpeFAtPmZ4X29mZnNldCA9IGFkZF9udW1iZXI7CiAJICAgICAgZml4UC0+Znhfc3Vic3kgPSBOVUxMOwogCSAgICB9CiAJICBlbHNlIGlmIChzdWJfc3ltYm9sX3NlZ21lbnQgPT0gdGhpc19zZWdtZW50Ci0JCSAgICYmICFUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9MT0NBTCAoZml4UCkpCisJCSAgICYmICFUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9MT0NBTCAoZml4UCwgYWRkX3N5bWJvbF9zZWdtZW50KSkKIAkgICAgewogCSAgICAgIGFkZF9udW1iZXIgLT0gU19HRVRfVkFMVUUgKGZpeFAtPmZ4X3N1YnN5KTsKIAkgICAgICBmaXhQLT5meF9vZmZzZXQgPSAoYWRkX251bWJlciArIGZpeFAtPmZ4X2RvdF92YWx1ZQpAQCAtOTUzLDE0ICs5NjEsMjAgQEAKIAkgICAgICBmaXhQLT5meF9zdWJzeSA9IE5VTEw7CiAJICAgICAgZml4UC0+ZnhfcGNyZWwgPSAxOwogCSAgICB9Ci0JICBlbHNlIGlmICghVENfVkFMSURBVEVfRklYX1NVQiAoZml4UCkpCisJICBlbHNlIGlmICghVENfVkFMSURBVEVfRklYX1NVQiAoZml4UCwgYWRkX3N5bWJvbF9zZWdtZW50KSkKIAkgICAgewotCSAgICAgIGFzX2JhZF93aGVyZSAoZml4UC0+ZnhfZmlsZSwgZml4UC0+ZnhfbGluZSwKLQkJCSAgICBfKCJjYW4ndCByZXNvbHZlIGAlcycgeyVzIHNlY3Rpb259IC0gYCVzJyB7JXMgc2VjdGlvbn0iKSwKLQkJCSAgICBmaXhQLT5meF9hZGRzeSA/IFNfR0VUX05BTUUgKGZpeFAtPmZ4X2FkZHN5KSA6ICIwIiwKLQkJCSAgICBzZWdtZW50X25hbWUgKGFkZF9zeW1ib2xfc2VnbWVudCksCi0JCQkgICAgU19HRVRfTkFNRSAoZml4UC0+Znhfc3Vic3kpLAotCQkJICAgIHNlZ21lbnRfbmFtZSAoc3ViX3N5bWJvbF9zZWdtZW50KSk7CisJICAgICAgaWYgKCFtZF9yZWdpc3Rlcl9hcml0aG1ldGljCisJCSAgJiYgKGFkZF9zeW1ib2xfc2VnbWVudCA9PSByZWdfc2VjdGlvbgorCQkgICAgICB8fCBzdWJfc3ltYm9sX3NlZ21lbnQgPT0gcmVnX3NlY3Rpb24pKQorCQlhc19iYWRfd2hlcmUgKGZpeFAtPmZ4X2ZpbGUsIGZpeFAtPmZ4X2xpbmUsCisJCQkgICAgICBfKCJyZWdpc3RlciB2YWx1ZSB1c2VkIGFzIGV4cHJlc3Npb24iKSk7CisJICAgICAgZWxzZQorCQlhc19iYWRfd2hlcmUgKGZpeFAtPmZ4X2ZpbGUsIGZpeFAtPmZ4X2xpbmUsCisJCQkgICAgICBfKCJjYW4ndCByZXNvbHZlIGAlcycgeyVzIHNlY3Rpb259IC0gYCVzJyB7JXMgc2VjdGlvbn0iKSwKKwkJCSAgICAgIGZpeFAtPmZ4X2FkZHN5ID8gU19HRVRfTkFNRSAoZml4UC0+ZnhfYWRkc3kpIDogIjAiLAorCQkJICAgICAgc2VnbWVudF9uYW1lIChhZGRfc3ltYm9sX3NlZ21lbnQpLAorCQkJICAgICAgU19HRVRfTkFNRSAoZml4UC0+Znhfc3Vic3kpLAorCQkJICAgICAgc2VnbWVudF9uYW1lIChzdWJfc3ltYm9sX3NlZ21lbnQpKTsKIAkgICAgfQogCX0KIApAQCAtMTA5MCw4ICsxMTA0LDggQEAKICAgICAgICYmIChzeW0gPSAqcmVsb2MtPnN5bV9wdHJfcHRyKSAhPSBOVUxMCiAgICAgICAmJiAoc3ltLT5mbGFncyAmIEJTRl9LRUVQKSA9PSAwCiAgICAgICAmJiAoKHN5bS0+ZmxhZ3MgJiBCU0ZfU0VDVElPTl9TWU0pID09IDAKLQkgIHx8ICFFTUlUX1NFQ1RJT05fU1lNQk9MUwotCSAgfHwgIWJmZF9pc19hYnNfc2VjdGlvbiAoc3ltLT5zZWN0aW9uKSkpCisJICB8fCAoRU1JVF9TRUNUSU9OX1NZTUJPTFMKKwkgICAgICAmJiAhYmZkX2lzX2Fic19zZWN0aW9uIChzeW0tPnNlY3Rpb24pKSkpCiAgICAgYXNfYmFkX3doZXJlIChmaWxlLCBsaW5lLCBfKCJyZWRlZmluZWQgc3ltYm9sIGNhbm5vdCBiZSB1c2VkIG9uIHJlbG9jIikpOwogCiAgIHMgPSBiZmRfaW5zdGFsbF9yZWxvY2F0aW9uIChzdGRvdXRwdXQsIHJlbG9jLApkaWZmIC0tZ2l0IGEvZ29sZC9DaGFuZ2VMb2cgYi9nb2xkL0NoYW5nZUxvZwppbmRleCBjYWM4N2U2Li5lMTNmYTk4IDEwMDY0NAotLS0gYS9nb2xkL0NoYW5nZUxvZworKysgYi9nb2xkL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3OSBAQAorMjAwOC0xMC0wNyAgQ2FyeSBDb3V0YW50ICA8Y2NvdXRhbnRAZ29vZ2xlLmNvbT4KKworCSogb3B0aW9ucy5jIChHZW5lcmFsX29wdGlvbnM6OmZpbmFsaXplKTogQWRkIGNoZWNrIGZvciAtc3RhdGljIGFuZAorCS1zaGFyZWQuCisJKiBnb2xkLmNjIChxdWV1ZV9taWRkbGVfdGFza3MpOiBBc3NlcnQgdGhhdCBsaXN0IG9mIGR5bmFtaWMgb2JqZWN0cworCWlzIG5vdCBlbXB0eS4KKworMjAwOC0xMC0wMiAgQ2FyeSBDb3V0YW50ICA8Y2NvdXRhbnRAZ29vZ2xlLmNvbT4KKworCSogcGx1Z2luLmNjIChtYWtlX3NpemVkX3BsdWdpbl9vYmplY3QpOiBGaXggY29uZGl0aW9uYWwKKwljb21waWxhdGlvbiB0byB3b3JrIHdoZW4gbm90IGFsbCB0YXJnZXRzIGFyZSBlbmFibGVkLgorCisyMDA4LTA5LTI5ICBDYXJ5IENvdXRhbnQgIDxjY291dGFudEBnb29nbGUuY29tPgorCisJKiBhcmNoaXZlLmNjIChBcmNoaXZlOjpnZXRfZmlsZV9hbmRfb2Zmc2V0KTogVXNlIGZpbGVuYW1lIGluc3RlYWQKKwlvZiBuYW1lIHRvIGdldCBsaWJyYXJ5IHBhdGguCisJKEFyY2hpdmU6OmluY2x1ZGVfbWVtYmVyKTogVW5sb2NrIGV4dGVybmFsIG1lbWJlciBvZiBhIHRoaW4gYXJjaGl2ZS4KKworCSogdGVzdHN1aXRlL01ha2VmaWxlLmFtIChURVNUX0FSKTogTmV3IHZhcmlhYmxlLgorCSh0aGluX2FyY2hpdmVfdGVzdF8xKTogTmV3IHRlc3QuCisJKHRoaW5fYXJjaGl2ZV90ZXN0XzIpOiBOZXcgdGVzdC4KKwkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KKwkqIHRlc3RzdWl0ZS90aGluX2FyY2hpdmVfbWFpbi5jYzogTmV3IGZpbGUuCisJKiB0ZXN0c3VpdGUvdGhpbl9hcmNoaXZlX3Rlc3RfMS5jYzogTmV3IGZpbGUuCisJKiB0ZXN0c3VpdGUvdGhpbl9hcmNoaXZlX3Rlc3RfMi5jYzogTmV3IGZpbGUuCisJKiB0ZXN0c3VpdGUvdGhpbl9hcmNoaXZlX3Rlc3RfMy5jYzogTmV3IGZpbGUuCisJKiB0ZXN0c3VpdGUvdGhpbl9hcmNoaXZlX3Rlc3RfNC5jYzogTmV3IGZpbGUuCisKKzIwMDgtMDktMjkgIENhcnkgQ291dGFudCAgPGNjb3V0YW50QGdvb2dsZS5jb20+CisKKwkqIG1hcGZpbGUuY2MgKE1hcGZpbGU6OnByaW50X2lucHV0X3NlY3Rpb24pOiBDaGFuZ2UgLTFVIHRvIC0xVUxMLgorCSogb2JqZWN0LmNjIChTaXplZF9yZWxvYmo6OmRvX2xheW91dCk6IFVzZSBjb25zdGFudCBpbnZhbGlkX2FkZHJlc3MKKwlpbnN0ZWFkIG9mIC0xVS4KKwkoU2l6ZWRfcmVsb2JqOjpkb19maW5hbGl6ZV9sb2NhbF9zeW1ib2xzKTogTGlrZXdpc2UuCisJKFNpemVkX3JlbG9iajo6bWFwX3RvX2tlcHRfc2VjdGlvbik6IExpa2V3aXNlLgorCSogb2JqZWN0LmggKFNpemVkX3JlbG9iajo6aW52YWxpZF9hZGRyZXNzKTogTmV3IGNvbnN0YW50LgorCShTaXplZF9yZWxvYmo6OmRvX291dHB1dF9zZWN0aW9uX29mZnNldCk6IENoZWNrIGZvciBpbnZhbGlkX2FkZHJlc3MKKwlhbmQgcmV0dXJuIC0xVUxMLgorCSogb3V0cHV0LmNjIChPdXRwdXRfcmVsb2M6OmxvY2FsX3NlY3Rpb25fb2Zmc2V0KTogVXNlIGNvbnN0YW50CisJaW52YWxpZF9hZGRyZXNzIGluc3RlYWQgb2YgLTFVLgorCShPdXRwdXRfcmVsb2M6OmdldF9hZGRyZXNzKTogTGlrZXdpc2UuCisJKE91dHB1dF9zZWN0aW9uOjpvdXRwdXRfYWRkcmVzcyk6IENoYW5nZSAtMVUgdG8gLTFVTEwuCisJKiBvdXRwdXQuaCAoT3V0cHV0X3JlbG9jOjppbnZhbGlkX2FkZHJlc3MpOiBOZXcgY29uc3RhbnQuCisJKiByZWxvYy5jYyAoU2l6ZWRfcmVsb2JqOjp3cml0ZV9zZWN0aW9ucyk6IFVzZSBjb25zdGFudAorCWludmFsaWRfYWRkcmVzcyBpbnN0ZWFkIG9mIC0xVS4KKwkoU2l6ZWRfcmVsb2JqOjpyZWxvY2F0ZV9zZWN0aW9ucyk6IExpa2V3aXNlLgorCSogc3ltdGFiLmNjIChTeW1ib2xfdGFibGU6OnNpemVkX2ZpbmFsaXplX3N5bWJvbCk6IEhhbmRsZSBzeW1ib2wKKwl2YWx1ZXMgZm9yIG1lcmdlIHNlY3Rpb25zLgorCSogdGFyZ2V0LXJlbG9jLmggKHJlbG9jYXRlX2Zvcl9yZWxvY2F0YWJsZSk6IFVzZSBjb25zdGFudAorCWludmFsaWRfYWRkcmVzcyBpbnN0ZWFkIG9mIC0xVS4KKworMjAwOC0wOS0xOSAgQ2FyeSBDb3V0YW50ICA8Y2NvdXRhbnRAZ29vZ2xlLmNvbT4KKworCUFkZCBwbHVnaW4gZnVuY3Rpb25hbGl0eSBmb3IgbGluay10aW1lIG9wdGltaXphdGlvbiAoTFRPKS4KKwkqIGNvbmZpZ3VyZS5hYyAocGx1Z2lucyk6IEFkZCAtLWVuYWJsZS1wbHVnaW5zIG9wdGlvbi4KKwkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KKwkqIGNvbmZpZy5pbjogUmVnZW5lcmF0ZS4KKwkqIE1ha2VmaWxlLmFtIChMSUJETCk6IE5ldyB2YXJpYWJsZS4KKwkoQ0NGSUxFUyk6IEFkZCBwbHVnaW4uY2MuCisJKEhGSUxFUyk6IEFkZCBwbHVnaW4uaC4KKwkobGRhZGRfdmFyKTogQWRkIExJQkRMLgorCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCisKKwkqIGFyY2hpdmUuY2M6IEluY2x1ZGUgInBsdWdpbi5oIi4KKwkoQXJjaGl2ZTo6c2V0dXApOiBEb24ndCBwcmVyZWFkIGFyY2hpdmUgc3ltYm9scyB3aGVuIHVzaW5nIGEgcGx1Z2luLgorCShBcmNoaXZlOjpnZXRfZmlsZV9hbmRfb2Zmc2V0KTogQWRkIG1lbXNpemUgcGFyYW1ldGVyLiAgQ2hhbmdlIGNhbGxlcnMuCisJKEFyY2hpdmU6OmdldF9lbGZfb2JqZWN0X2Zvcl9tZW1iZXIpOiBDYWxsIHBsdWdpbiBob29rcyBmb3IgY2xhaW1pbmcKKwlmaWxlcy4KKwkoQXJjaGl2ZTo6aW5jbHVkZV9tZW1iZXIpOiBBZGQgc3ltYm9scyBmcm9tIHBsdWdpbiBvYmplY3RzLgorCSogYXJjaGl2ZS5oIChBcmNoaXZlOjpnZXRfZmlsZV9hbmRfb2Zmc2V0KTogQWRkIG1lbXNpemUgcGFyYW1ldGVyLgorCSogZGVzY3JpcHRvcnMuY2MgKERlc2NyaXB0b3JzOjpvcGVuKTogQ2hlY2sgZm9yIGZpbGUgZGVzY3JpcHRvcnMKKwlhYmFuZG9uZWQgYnkgcGx1Z2lucy4KKwkoRGVzY3JpcHRvcnM6OmNsYWltX2Zvcl9wbHVnaW4pOiBOZXcgZnVuY3Rpb24uCisJKiBkZXNjcmlwdG9ycy5oIChEZXNjcmlwdG9yczo6Y2xhaW1fZm9yX3BsdWdpbik6IE5ldyBmdW5jdGlvbi4KKwkoT3Blbl9kZXNjcmlwdG9yOjppc19jbGFpbWVkKTogTmV3IGZpZWxkLgorCShjbGFpbV9kZXNjcmlwdG9yX2Zvcl9wbHVnaW4pOiBOZXcgZnVuY3Rpb24uCisJKiBmaWxlcmVhZC5jYyAoRmlsZV9yZWFkOjpjbGFpbV9mb3JfcGx1Z2luKTogTmV3IGZ1bmN0aW9uLgorCSogZmlsZXJlYWQuaCAoRmlsZV9yZWFkOjpjbGFpbV9mb3JfcGx1Z2luKTogTmV3IGZ1bmN0aW9uLgorCShGaWxlX3JlYWQ6OmRlc2NyaXB0b3IpOiBOZXcgZnVuY3Rpb24uCisJKiBnb2xkLmNjOiBJbmNsdWRlICJwbHVnaW4uaCIuCisJKHF1ZXVlX2luaXRpYWxfdGFza3MpOiBBZGQgdGFzayB0byBjYWxsIHBsdWdpbiBob29rcyBmb3IgZ2VuZXJhdGluZworCW5ldyBvYmplY3QgZmlsZXMuCisJKiBtYWluLmNjOiBJbmNsdWRlICJwbHVnaW4uaCIuCisJKG1haW4pOiBMb2FkIHBsdWdpbiBsaWJyYXJpZXMuCisJKiBvYmplY3QuaCAoUGx1Z2lub2JqKTogRGVjbGFyZS4KKwkoT2JqZWN0OjpwbHVnaW5vYmopOiBOZXcgZnVuY3Rpb24uCisJKE9iamVjdDo6ZG9fcGx1Z2lub2JqKTogTmV3IGZ1bmN0aW9uLgorCShPYmplY3Q6OnNldF90YXJnZXQpOiBOZXcgZnVuY3Rpb24uCisJKiBvcHRpb25zLmNjOiBJbmNsdWRlICJwbHVnaW4uaCIuCisJKEdlbmVyYWxfb3B0aW9uczo6cGFyc2VfcGx1Z2luKTogTmV3IGZ1bmN0aW9uLgorCShHZW5lcmFsX29wdGlvbnM6OkdlbmVyYWxfb3B0aW9ucyk6IEluaXRpYWxpemUgcGx1Z2luc18gZmllbGQuCisJKEdlbmVyYWxfb3B0aW9uczo6YWRkX3BsdWdpbik6IE5ldyBmdW5jdGlvbi4KKwkqIG9wdGlvbnMuaCAoUGx1Z2luX21hbmFnZXIpOiBEZWNsYXJlLgorCShHZW5lcmFsX29wdGlvbnMpOiBBZGQgLS1wbHVnaW4gb3B0aW9uLgorCShHZW5lcmFsX29wdGlvbnM6Omhhc19wbHVnaW5zKTogTmV3IGZ1bmN0aW9uLgorCShHZW5lcmFsX29wdGlvbnM6OnBsdWdpbnMpOiBOZXcgZnVuY3Rpb24uCisJKEdlbmVyYWxfb3B0aW9uczo6YWRkX3BsdWdpbik6IE5ldyBmdW5jdGlvbi4KKwkoR2VuZXJhbF9vcHRpb25zOjpwbHVnaW5zXyk6IE5ldyBmaWVsZC4KKwkqIHBsdWdpbi5jYzogTmV3IGZpbGUuCisJKiBwbHVnaW4uaDogTmV3IGZpbGUuCisJKiByZWFkc3ltcy5jYzogSW5jbHVkZSAicGx1Z2luLmgiLgorCShSZWFkX3N5bWJvbHM6OmRvX3JlYWRfc3ltYm9scyk6IENoZWNrIGZvciBhcmNoaXZlIGJlZm9yZSBjaGVja2luZworCWZvciBFTEYgZmlsZS4gIENhbGwgcGx1Z2luIGhvb2tzIHRvIGNsYWltIGZpbGVzLgorCSogcmVzb2x2ZS5jYyAoU3ltYm9sX3RhYmxlOjpyZXNvbHZlKTogUmVjb3JkIHdoZW4gc3ltYm9sIGlzIHJlZmVyZW5jZWQKKwlmcm9tIGEgcmVhbCBvYmplY3QgZmlsZTsgZm9yY2Ugb3ZlcnJpZGUgd2hlbiBwcm9jZXNzaW5nIHJlcGxhY2VtZW50CisJZmlsZXMuCisJKiBzeW10YWIuY2MgKFN5bWJvbDo6aW5pdF9maWVsZHMpOiBJbml0aWFsaXplIGluX3JlYWxfZWxmXyBmaWVsZC4KKwkoU3ltYm9sOjppbml0X2Jhc2Vfb2JqZWN0KTogTGlrZXdpc2UuCisJKFN5bWJvbDo6aW5pdF9iYXNlX291dHB1dF9kYXRhKTogTGlrZXdpc2UuCisJKFN5bWJvbDo6aW5pdF9iYXNlX291dHB1dF9zZWdtZW50KTogTGlrZXdpc2UuCisJKFN5bWJvbDo6aW5pdF9iYXNlX2NvbnN0YW50KTogTGlrZXdpc2UuCisJKFN5bWJvbDo6aW5pdF9iYXNlX3VuZGVmaW5lZCk6IExpa2V3aXNlLgorCShTeW1ib2w6Om91dHB1dF9zZWN0aW9uKTogQXNzZXJ0IHRoYXQgb2JqZWN0IGlzIG5vdCBhIHBsdWdpbi4KKwkoU3ltYm9sX3RhYmxlOjphZGRfZnJvbV9wbHVnaW5vYmopOiBOZXcgZnVuY3Rpb24uCisJKFN5bWJvbF90YWJsZTo6c2l6ZWRfZmluYWxpemVfc3ltYm9sKTogVHJlYXQgc3ltYm9scyBmcm9tIHBsdWdpbnMgYXMKKwl1bmRlZmluZWQuCisJKFN5bWJvbF90YWJsZTo6c2l6ZWRfd3JpdGVfZ2xvYmFscyk6IExpa2V3aXNlLgorCShTeW1ib2xfdGFibGU6OmFkZF9mcm9tX3BsdWdpbm9iaik6IEluc3RhbnRpYXRlIHRlbXBsYXRlLgorCSogc3ltdGFiLmggKFNpemVkX3BsdWdpbm9iaik6IERlY2xhcmUuCisJKFN5bWJvbDo6aW5fcmVhbF9lbGYpOiBOZXcgZnVuY3Rpb24uCisJKFN5bWJvbDo6c2V0X2luX3JlYWxfZWxmKTogTmV3IGZ1bmN0aW9uLgorCShTeW1ib2w6OmluX3JlYWxfZWxmXyk6IE5ldyBmaWVsZC4KKwkoU3ltYm9sX3RhYmxlOjphZGRfZnJvbV9wbHVnaW5vYmopOiBOZXcgZnVuY3Rpb24uCisKKwkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5hbSAoQU1fQ0ZMQUdTKTogTmV3IHZhcmlhYmxlLgorCShMSUJETCk6IE5ldyB2YXJpYWJsZS4KKwkoTERBREQpOiBBZGQgTElCREwuCisJKGNoZWNrX1BST0dSQU1TKTogQWRkIHBsdWdpbl90ZXN0XzEgYW5kIHBsdWdpbl90ZXN0XzIuCisJKGNoZWNrX1NDUklQVFMpOiBBZGQgcGx1Z2luX3Rlc3RfMS5zaCBhbmQgcGx1Z2luX3Rlc3RfMi5zaC4KKwkoY2hlY2tfREFUQSk6IEFkZCBwbHVnaW5fdGVzdF8xLmVyciBhbmQgcGx1Z2luX3Rlc3RfMi5lcnIuCisJKE1PU1RMWUNMRUFORklMRVMpOiBMaWtld2lzZS4KKwkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KKwkqIHRlc3RzdWl0ZS9wbHVnaW5fdGVzdC5jOiBOZXcgZmlsZS4KKwkqIHRlc3RzdWl0ZS9wbHVnaW5fdGVzdF8xLnNoOiBOZXcgZmlsZS4KKwkqIHRlc3RzdWl0ZS9wbHVnaW5fdGVzdF8yLnNoOiBOZXcgZmlsZS4KKworMjAwOC0wOS0xNiAgSWFuIExhbmNlIFRheWxvciAgPGlhbnRAZ29vZ2xlLmNvbT4KKworCSogdGFyZ2V0LXJlbG9jLmggKHJlbG9jYXRlX3NlY3Rpb24pOiBDaGVjayB3aGV0aGVyIGEgc3ltYm9sIGlzCisJZGVmaW5lZCBieSB0aGUgQUJJIGJlZm9yZSByZXBvcnRpbmcgYW4gdW5kZWZpbmVkIHN5bWJvbCBlcnJvci4KKwkqIHRhcmdldC5oIChUYXJnZXQ6OmlzX2RlZmluZWRfYnlfYWJpKTogTWFrZSBwYXJhbWV0ZXIgY29uc3QuCisJKFRhcmdldDo6ZG9faXNfZGVmaW5lZF9ieV9hYmkpOiBMaWtld2lzZS4KKwkqIGkzODYuY2MgKFRhcmdldF9pMzg2Ojpkb19pc19kZWZpbmVkX2J5X2FiaSk6IExpa2V3aXNlLgorCSogcG93ZXJwYy5jYyAoVGFyZ2V0X3Bvd2VycGM6OmRvX2lzX2RlZmluZWRfYnlfYWJpKTogTGlrZXdpc2UuCisJKiBzcGFyYy5jYyAoVGFyZ2V0X3NwYXJjOjpkb19pc19kZWZpbmVkX2J5X2FiaSk6IExpa2V3aXNlLgorCSogeDg2XzY0LmNjIChUYXJnZXRfeDg2XzY0Ojpkb19pc19kZWZpbmVkX2J5X2FiaSk6IExpa2V3aXNlLgorCSogdGVzdHN1aXRlL01ha2VmaWxlLmFtICh0bHNfdGVzdF9zaGFyZWQuc28pOiBBZGQgLVdsLC16LGRlZnMuCisJKiB0ZXN0c3VpdGUvTWFrZWZpbGUuaW46IFJlYnVpbGQuCisKKwkqIGZpbGVyZWFkLmNjIChtYWtlX3ZpZXcpOiBBZGQgY2FzdHMgdG8gYXZvaWQgd2FybmluZy4KKworMjAwOC0wOS0xNiAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CisKKwkqIGkzODYuY2MgKFRhcmdldF9pMzg2OjpkZWZpbmVfdGxzX2Jhc2Vfc3ltYm9sKTogVXBkYXRlIGNvbW1lbnRzLgorCSogeDg2XzY0LmNjIChUYXJnZXRfeDg2XzY0OjpkZWZpbmVfdGxzX2Jhc2Vfc3ltYm9sKTogTGlrZXdpc2UuCisKKzIwMDgtMDktMTYgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgorCisJKiBvcHRpb25zLmggKEdlbmVyYWxfb3B0aW9uczo6b3V0cHV0X2lzX2V4ZWN1dGFibGUpOiBOZXcuCisJKEdlbmVyYWxfb3B0aW9uczo6b3V0cHV0X2lzX3BpZSk6IE5ldy4KKwkqIGkzODYuY2MgKFRhcmdldF9pMzg2OjpkZWZpbmVfdGxzX2Jhc2Vfc3ltYm9sKTogVXNlIFNFR01FTlRfU1RBUlQKKwlmb3Igc2hhcmVkIGxpYnJhcmllcy4KKwkqIHg4Nl82NC5jYyAoVGFyZ2V0X3g4Nl82NDo6ZGVmaW5lX3Rsc19iYXNlX3N5bWJvbCk6IExpa2V3aXNlLgorCisyMDA4LTA5LTExICBDaHJpcyBEZW1ldHJpb3UgIDxjZ2RAZ29vZ2xlLmNvbT4KKworCSogb3B0aW9ucy5oIChvcmlnaW4pOiBOZXcgLXogb3B0aW9uLgorCSogbGF5b3V0LmNjIChMYXlvdXQ6ZmluaXNoX2R5bmFtaWNfc2VjdGlvbik6IElmICIteiBvcmlnaW4iCisJaXMgc3BlY2lmaWVkLCBzZXQgREZfT1JJR0lOIGluIERUX0ZMQUdTIGFuZCBzZXQgREZfMV9PUklHSU4KKwlpbiBEVF9GTEFHU18xLgorCisyMDA4LTA5LTA1ICBDYXJ5IENvdXRhbnQgIDxjY291dGFudEBnb29nbGUuY29tPgorCisJKiBmaWxlcmVhZC5jYyAoRmlsZV9yZWFkOjptYWtlX3ZpZXcpOiBBZGQgY2hlY2sgZm9yIGF0dGVtcHQgdG8gbWFwCisJYmV5b25kIGVuZCBvZiBmaWxlLgorCiAyMDA4LTA5LTA1ICBDYXJ5IENvdXRhbnQgIDxjY291dGFudEBnb29nbGUuY29tPgogCiAJKiBzeW10YWIuY2MgKFN5bWJvbF90YWJsZTo6YWRkX2Zyb21fZHlub2JqKTogRml4IHR5cG9zIGluCmRpZmYgLS1naXQgYS9nb2xkL01ha2VmaWxlLmFtIGIvZ29sZC9NYWtlZmlsZS5hbQppbmRleCBlNzA2NzAzLi43NGRiMzdhIDEwMDY0NAotLS0gYS9nb2xkL01ha2VmaWxlLmFtCisrKyBiL2dvbGQvTWFrZWZpbGUuYW0KQEAgLTE5LDYgKzE5LDEwIEBACiAKIExJQklCRVJUWSA9IC4uL2xpYmliZXJ0eS9saWJpYmVydHkuYQogCitpZiBQTFVHSU5TCitMSUJETCA9IC1sZGwKK2VuZGlmCisKIGlmIFRIUkVBRFMKIFRIUkVBRFNMSUIgPSAtbHB0aHJlYWQKIGVuZGlmCkBAIC01Myw2ICs1Nyw3IEBACiAJb3B0aW9ucy5jYyBcCiAJb3V0cHV0LmNjIFwKIAlwYXJhbWV0ZXJzLmNjIFwKKwlwbHVnaW4uY2MgXAogCXJlYWRzeW1zLmNjIFwKIAlyZWR1Y2VkX2RlYnVnX291dHB1dC5jYyBcCiAJcmVsb2MuY2MgXApAQCAtOTAsNiArOTUsNyBAQAogCW9wdGlvbnMuaCBcCiAJb3V0cHV0LmggXAogCXBhcmFtZXRlcnMuaCBcCisJcGx1Z2luLmggXAogCXJlYWRzeW1zLmggXAogCXJlZHVjZWRfZGVidWdfb3V0cHV0LmggXAogCXJlbG9jLmggXApAQCAtMTIyLDcgKzEyOCw4IEBACiAKIHNvdXJjZXNfdmFyID0gbWFpbi5jYwogZGVwc192YXIgPSAkKFRBUkdFVE9CSlMpIGxpYmdvbGQuYSAkKExJQklCRVJUWSkgJChMSUJJTlRMX0RFUCkKLWxkYWRkX3ZhciA9ICQoVEFSR0VUT0JKUykgbGliZ29sZC5hICQoTElCSUJFUlRZKSAkKExJQklOVEwpICQoVEhSRUFEU0xJQikKK2xkYWRkX3ZhciA9ICQoVEFSR0VUT0JKUykgbGliZ29sZC5hICQoTElCSUJFUlRZKSAkKExJQklOVEwpIFwKKwkgJChUSFJFQURTTElCKSAkKExJQkRMKQogCiBsZF9uZXdfU09VUkNFUyA9ICQoc291cmNlc192YXIpCiBsZF9uZXdfREVQRU5ERU5DSUVTID0gJChkZXBzX3ZhcikgJChMSUJPQkpTKQpkaWZmIC0tZ2l0IGEvZ29sZC9NYWtlZmlsZS5pbiBiL2dvbGQvTWFrZWZpbGUuaW4KaW5kZXggYmJjNTQxNy4uZjZhODBkMCAxMDA2NDQKLS0tIGEvZ29sZC9NYWtlZmlsZS5pbgorKysgYi9nb2xkL01ha2VmaWxlLmluCkBAIC04Miw3ICs4Miw3IEBACiAJZmlsZXJlYWQuJChPQkpFWFQpIGdvbGQuJChPQkpFWFQpIGdvbGQtdGhyZWFkcy4kKE9CSkVYVCkgXAogCWxheW91dC4kKE9CSkVYVCkgbWFwZmlsZS4kKE9CSkVYVCkgbWVyZ2UuJChPQkpFWFQpIFwKIAlvYmplY3QuJChPQkpFWFQpIG9wdGlvbnMuJChPQkpFWFQpIG91dHB1dC4kKE9CSkVYVCkgXAotCXBhcmFtZXRlcnMuJChPQkpFWFQpIHJlYWRzeW1zLiQoT0JKRVhUKSBcCisJcGFyYW1ldGVycy4kKE9CSkVYVCkgcGx1Z2luLiQoT0JKRVhUKSByZWFkc3ltcy4kKE9CSkVYVCkgXAogCXJlZHVjZWRfZGVidWdfb3V0cHV0LiQoT0JKRVhUKSByZWxvYy4kKE9CSkVYVCkgXAogCXJlc29sdmUuJChPQkpFWFQpIHNjcmlwdC1zZWN0aW9ucy4kKE9CSkVYVCkgc2NyaXB0LiQoT0JKRVhUKSBcCiAJc3RyaW5ncG9vbC4kKE9CSkVYVCkgc3ltdGFiLiQoT0JKRVhUKSB0YXJnZXQtc2VsZWN0LiQoT0JKRVhUKSBcCkBAIC0xMDEsNyArMTAxLDcgQEAKIGFtX19ERVBFTkRFTkNJRVNfMiA9IC4uL2xpYmliZXJ0eS9saWJpYmVydHkuYQogYW1fX0RFUEVOREVOQ0lFU18zID0gJChhbV9fREVQRU5ERU5DSUVTXzEpIGxpYmdvbGQuYSBcCiAJJChhbV9fREVQRU5ERU5DSUVTXzIpICQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCi0JJChhbV9fREVQRU5ERU5DSUVTXzEpCisJJChhbV9fREVQRU5ERU5DSUVTXzEpICQoYW1fX0RFUEVOREVOQ0lFU18xKQogYW1fX0RFUEVOREVOQ0lFU180ID0gQExJQk9CSlNACiBhbV9fbGQxX1NPVVJDRVNfRElTVCA9IG1haW4uY2MKIEBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQGFtX2xkMV9PQkpFQ1RTID0gJChhbV9fb2JqZWN0c180KQpAQCAtMjI3LDYgKzIyNyw4IEBACiBQQUNLQUdFX1RBUk5BTUUgPSBAUEFDS0FHRV9UQVJOQU1FQAogUEFDS0FHRV9WRVJTSU9OID0gQFBBQ0tBR0VfVkVSU0lPTkAKIFBBVEhfU0VQQVJBVE9SID0gQFBBVEhfU0VQQVJBVE9SQAorUExVR0lOU19GQUxTRSA9IEBQTFVHSU5TX0ZBTFNFQAorUExVR0lOU19UUlVFID0gQFBMVUdJTlNfVFJVRUAKIFBPU1VCID0gQFBPU1VCQAogUkFORE9NX1NFRURfQ0ZMQUdTID0gQFJBTkRPTV9TRUVEX0NGTEFHU0AKIFJBTkxJQiA9IEBSQU5MSUJACkBAIC0zMDgsNiArMzEwLDcgQEAKIAlASU5DSU5UTEAKIAogTElCSUJFUlRZID0gLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hCitAUExVR0lOU19UUlVFQExJQkRMID0gLWxkbAogQFRIUkVBRFNfVFJVRUBUSFJFQURTTElCID0gLWxwdGhyZWFkCiBBTV9ZRkxBR1MgPSAtZAogbm9pbnN0X0xJQlJBUklFUyA9IGxpYmdvbGQuYQpAQCAtMzM2LDYgKzMzOSw3IEBACiAJb3B0aW9ucy5jYyBcCiAJb3V0cHV0LmNjIFwKIAlwYXJhbWV0ZXJzLmNjIFwKKwlwbHVnaW4uY2MgXAogCXJlYWRzeW1zLmNjIFwKIAlyZWR1Y2VkX2RlYnVnX291dHB1dC5jYyBcCiAJcmVsb2MuY2MgXApAQCAtMzczLDYgKzM3Nyw3IEBACiAJb3B0aW9ucy5oIFwKIAlvdXRwdXQuaCBcCiAJcGFyYW1ldGVycy5oIFwKKwlwbHVnaW4uaCBcCiAJcmVhZHN5bXMuaCBcCiAJcmVkdWNlZF9kZWJ1Z19vdXRwdXQuaCBcCiAJcmVsb2MuaCBcCkBAIC00MDMsNyArNDA4LDkgQEAKIGxpYmdvbGRfYV9TT1VSQ0VTID0gJChDQ0ZJTEVTKSAkKEhGSUxFUykgJChZRklMRVMpCiBzb3VyY2VzX3ZhciA9IG1haW4uY2MKIGRlcHNfdmFyID0gJChUQVJHRVRPQkpTKSBsaWJnb2xkLmEgJChMSUJJQkVSVFkpICQoTElCSU5UTF9ERVApCi1sZGFkZF92YXIgPSAkKFRBUkdFVE9CSlMpIGxpYmdvbGQuYSAkKExJQklCRVJUWSkgJChMSUJJTlRMKSAkKFRIUkVBRFNMSUIpCitsZGFkZF92YXIgPSAkKFRBUkdFVE9CSlMpIGxpYmdvbGQuYSAkKExJQklCRVJUWSkgJChMSUJJTlRMKSBcCisJICQoVEhSRUFEU0xJQikgJChMSUJETCkKKwogbGRfbmV3X1NPVVJDRVMgPSAkKHNvdXJjZXNfdmFyKQogbGRfbmV3X0RFUEVOREVOQ0lFUyA9ICQoZGVwc192YXIpICQoTElCT0JKUykKIGxkX25ld19MREFERCA9ICQobGRhZGRfdmFyKSAkKExJQk9CSlMpCkBAIC01NTAsNiArNTU3LDcgQEAKIEBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9vcHRpb25zLlBvQGFtX19xdW90ZUAKIEBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9vdXRwdXQuUG9AYW1fX3F1b3RlQAogQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3BhcmFtZXRlcnMuUG9AYW1fX3F1b3RlQAorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3BsdWdpbi5Qb0BhbV9fcXVvdGVACiBAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvcG93ZXJwYy5Qb0BhbV9fcXVvdGVACiBAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvcmVhZHN5bXMuUG9AYW1fX3F1b3RlQAogQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3JlZHVjZWRfZGVidWdfb3V0cHV0LlBvQGFtX19xdW90ZUAKZGlmZiAtLWdpdCBhL2dvbGQvYXJjaGl2ZS5jYyBiL2dvbGQvYXJjaGl2ZS5jYwppbmRleCBmNWFkNTc0Li43ZTJkMTQzIDEwMDY0NAotLS0gYS9nb2xkL2FyY2hpdmUuY2MKKysrIGIvZ29sZC9hcmNoaXZlLmNjCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAic3ltdGFiLmgiCiAjaW5jbHVkZSAib2JqZWN0LmgiCiAjaW5jbHVkZSAiYXJjaGl2ZS5oIgorI2luY2x1ZGUgInBsdWdpbi5oIgogCiBuYW1lc3BhY2UgZ29sZAogewpAQCAtMTI2LDYgKzEyNyw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICYmIHBhcmFtZXRlcnMtPm9wdGlvbnMoKS5wcmVyZWFkX2FyY2hpdmVfc3ltYm9scygpKTsKICNpZm5kZWYgRU5BQkxFX1RIUkVBRFMKICAgcHJlcmVhZF9zeW1zID0gZmFsc2U7CisjZWxzZQorICBpZiAocGFyYW1ldGVycy0+b3B0aW9ucygpLmhhc19wbHVnaW5zKCkpCisgICAgcHJlcmVhZF9zeW1zID0gZmFsc2U7CiAjZW5kaWYKICAgaWYgKHByZXJlYWRfc3ltcykKICAgICB0aGlzLT5yZWFkX2FsbF9zeW1ib2xzKGlucHV0X29iamVjdHMpOwpAQCAtNDM5LDExICs0NDMsMTEgQEAKIGJvb2wKIEFyY2hpdmU6OmdldF9maWxlX2FuZF9vZmZzZXQob2ZmX3Qgb2ZmLCBJbnB1dF9vYmplY3RzKiBpbnB1dF9vYmplY3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnB1dF9maWxlKiogaW5wdXRfZmlsZSwgb2ZmX3QqIG1lbW9mZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjpzdHJpbmcqIG1lbWJlcl9uYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZfdCogbWVtc2l6ZSwgc3RkOjpzdHJpbmcqIG1lbWJlcl9uYW1lKQogewogICBvZmZfdCBuZXN0ZWRfb2ZmOwogCi0gIHRoaXMtPnJlYWRfaGVhZGVyKG9mZiwgZmFsc2UsIG1lbWJlcl9uYW1lLCAmbmVzdGVkX29mZik7CisgICptZW1zaXplID0gdGhpcy0+cmVhZF9oZWFkZXIob2ZmLCBmYWxzZSwgbWVtYmVyX25hbWUsICZuZXN0ZWRfb2ZmKTsKIAogICAqaW5wdXRfZmlsZSA9IHRoaXMtPmlucHV0X2ZpbGVfOwogICAqbWVtb2ZmID0gb2ZmICsgc3RhdGljX2Nhc3Q8b2ZmX3Q+KHNpemVvZihBcmNoaXZlX2hlYWRlcikpOwpAQCAtNDU1LDExICs0NTksMTEgQEAKICAgLy8gdG8gdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBhcmNoaXZlLgogICBpZiAoIUlTX0FCU09MVVRFX1BBVEgobWVtYmVyX25hbWUtPmNfc3RyKCkpKQogICAgIHsKLSAgICAgIGNvbnN0IGNoYXIqIGFyY2hfcGF0aCA9IHRoaXMtPm5hbWUoKS5jX3N0cigpOworICAgICAgY29uc3QgY2hhciogYXJjaF9wYXRoID0gdGhpcy0+ZmlsZW5hbWUoKS5jX3N0cigpOwogICAgICAgY29uc3QgY2hhciogYmFzZW5hbWUgPSBsYmFzZW5hbWUoYXJjaF9wYXRoKTsKICAgICAgIGlmIChiYXNlbmFtZSA+IGFyY2hfcGF0aCkKICAgICAgICAgbWVtYmVyX25hbWUtPnJlcGxhY2UoMCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy0+bmFtZSgpLnN1YnN0cigwLCBiYXNlbmFtZSAtIGFyY2hfcGF0aCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLT5maWxlbmFtZSgpLnN1YnN0cigwLCBiYXNlbmFtZSAtIGFyY2hfcGF0aCkpOwogICAgIH0KIAogICBpZiAobmVzdGVkX29mZiA+IDApCkBAIC00ODgsOCArNDkyLDggQEAKICAgICAgICAgICAgIHRoaXMtPm5lc3RlZF9hcmNoaXZlc18uaW5zZXJ0KHN0ZDo6bWFrZV9wYWlyKCptZW1iZXJfbmFtZSwgYXJjaCkpOwogICAgICAgICAgIGdvbGRfYXNzZXJ0KGlucy5zZWNvbmQpOwogICAgICAgICB9Ci0gICAgICByZXR1cm4gYXJjaC0+Z2V0X2ZpbGVfYW5kX29mZnNldChuZXN0ZWRfb2ZmLCBpbnB1dF9vYmplY3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfZmlsZSwgbWVtb2ZmLCBtZW1iZXJfbmFtZSk7CisgICAgICByZXR1cm4gYXJjaC0+Z2V0X2ZpbGVfYW5kX29mZnNldChuZXN0ZWRfb2ZmLCBpbnB1dF9vYmplY3RzLCBpbnB1dF9maWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb2ZmLCBtZW1zaXplLCBtZW1iZXJfbmFtZSk7CiAgICAgfQogCiAgIC8vIFRoaXMgaXMgYW4gZXh0ZXJuYWwgbWVtYmVyIG9mIGEgdGhpbiBhcmNoaXZlLiAgT3BlbiB0aGUKQEAgLTUwMyw2ICs1MDcsNyBAQAogICAgIHJldHVybiBmYWxzZTsKIAogICAqbWVtb2ZmID0gMDsKKyAgKm1lbXNpemUgPSAoKmlucHV0X2ZpbGUpLT5maWxlKCkuZmlsZXNpemUoKTsKICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTUxNSwxMSArNTIwLDI2IEBACiAgIHN0ZDo6c3RyaW5nIG1lbWJlcl9uYW1lOwogICBJbnB1dF9maWxlKiBpbnB1dF9maWxlOwogICBvZmZfdCBtZW1vZmY7CisgIG9mZl90IG1lbXNpemU7CiAKICAgaWYgKCF0aGlzLT5nZXRfZmlsZV9hbmRfb2Zmc2V0KG9mZiwgaW5wdXRfb2JqZWN0cywgJmlucHV0X2ZpbGUsICZtZW1vZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbWVtYmVyX25hbWUpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1lbXNpemUsICZtZW1iZXJfbmFtZSkpCiAgICAgcmV0dXJuIE5VTEw7CiAKKyAgaWYgKHBhcmFtZXRlcnMtPm9wdGlvbnMoKS5oYXNfcGx1Z2lucygpKQorICAgIHsKKyAgICAgIE9iamVjdCogb2JqID0gcGFyYW1ldGVycy0+b3B0aW9ucygpLnBsdWdpbnMoKS0+Y2xhaW1fZmlsZShpbnB1dF9maWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9mZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1zaXplKTsKKyAgICAgIGlmIChvYmogIT0gTlVMTCkKKyAgICAgICAgeworICAgICAgICAgIC8vIFRoZSBpbnB1dCBmaWxlIHdhcyBjbGFpbWVkIGJ5IGEgcGx1Z2luLCBhbmQgaXRzIHN5bWJvbHMKKyAgICAgICAgICAvLyBoYXZlIGJlZW4gcHJvdmlkZWQgYnkgdGhlIHBsdWdpbi4KKwkgIGlucHV0X2ZpbGUtPmZpbGUoKS5jbGFpbV9mb3JfcGx1Z2luKCk7CisgICAgICAgICAgcmV0dXJuIG9iajsKKyAgICAgICAgfQorICAgIH0KKwogICBvZmZfdCBmaWxlc2l6ZSA9IGlucHV0X2ZpbGUtPmZpbGUoKS5maWxlc2l6ZSgpOwogICBpbnQgcmVhZF9zaXplID0gZWxmY3BwOjpFbGZfc2l6ZXM8NjQ+OjplaGRyX3NpemU7CiAgIGlmIChmaWxlc2l6ZSAtIG1lbW9mZiA8IHJlYWRfc2l6ZSkKQEAgLTc1MywxMiArNzczLDI0IEBACiAgIGlmIChtYXBmaWxlICE9IE5VTEwpCiAgICAgbWFwZmlsZS0+cmVwb3J0X2luY2x1ZGVfYXJjaGl2ZV9tZW1iZXIob2JqLT5uYW1lKCksIHN5bSwgd2h5KTsKIAorICBQbHVnaW5vYmoqIHBsdWdpbm9iaiA9IG9iai0+cGx1Z2lub2JqKCk7CisgIGlmIChwbHVnaW5vYmogIT0gTlVMTCkKKyAgICB7CisgICAgICBwbHVnaW5vYmotPmFkZF9zeW1ib2xzKHN5bXRhYiwgbGF5b3V0KTsKKyAgICAgIHJldHVybjsKKyAgICB9CisKICAgaWYgKGlucHV0X29iamVjdHMtPmFkZF9vYmplY3Qob2JqKSkKICAgICB7CiAgICAgICBSZWFkX3N5bWJvbHNfZGF0YSBzZDsKICAgICAgIG9iai0+cmVhZF9zeW1ib2xzKCZzZCk7CiAgICAgICBvYmotPmxheW91dChzeW10YWIsIGxheW91dCwgJnNkKTsKICAgICAgIG9iai0+YWRkX3N5bWJvbHMoc3ltdGFiLCAmc2QpOworCisgICAgICAvLyBJZiB0aGlzIGlzIGFuIGV4dGVybmFsIG1lbWJlciBvZiBhIHRoaW4gYXJjaGl2ZSwgdW5sb2NrIHRoZSBmaWxlCisgICAgICAvLyBmb3IgdGhlIG5leHQgdGFzay4KKyAgICAgIGlmIChvYmotPm9mZnNldCgpID09IDApCisgICAgICAgIG9iai0+dW5sb2NrKHRoaXMtPnRhc2tfKTsKICAgICB9CiAgIGVsc2UKICAgICB7CmRpZmYgLS1naXQgYS9nb2xkL2FyY2hpdmUuaCBiL2dvbGQvYXJjaGl2ZS5oCmluZGV4IDI0ZmRiMmIuLjZiOTlhZWQgMTAwNjQ0Ci0tLSBhL2dvbGQvYXJjaGl2ZS5oCisrKyBiL2dvbGQvYXJjaGl2ZS5oCkBAIC0xODQsNyArMTg0LDcgQEAKICAgYm9vbAogICBnZXRfZmlsZV9hbmRfb2Zmc2V0KG9mZl90IG9mZiwgSW5wdXRfb2JqZWN0cyogaW5wdXRfb2JqZWN0cywKICAgICAgICAgICAgICAgICAgICAgICBJbnB1dF9maWxlKiogaW5wdXRfZmlsZSwgb2ZmX3QqIG1lbW9mZiwKLSAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnN0cmluZyogbWVtYmVyX25hbWUpOworICAgICAgICAgICAgICAgICAgICAgIG9mZl90KiBtZW1zaXplLCBzdGQ6OnN0cmluZyogbWVtYmVyX25hbWUpOwogCiAgIC8vIFJldHVybiBhbiBFTEYgb2JqZWN0IGZvciB0aGUgbWVtYmVyIGF0IG9mZnNldCBPRkYuICBTZXQgKk1FTUJFUl9OQU1FIHRvCiAgIC8vIHRoZSBuYW1lIG9mIHRoZSBtZW1iZXIuCmRpZmYgLS1naXQgYS9nb2xkL2NvbmZpZy5pbiBiL2dvbGQvY29uZmlnLmluCmluZGV4IDczY2M2ZTkuLjMwOWY4NGI2IDEwMDY0NAotLS0gYS9nb2xkL2NvbmZpZy5pbgorKysgYi9nb2xkL2NvbmZpZy5pbgpAQCAtNCw2ICs0LDkgQEAKICAgIGxhbmd1YWdlIGlzIHJlcXVlc3RlZC4gKi8KICN1bmRlZiBFTkFCTEVfTkxTCiAKKy8qIERlZmluZSB0byBlbmFibGUgbGlua2VyIHBsdWdpbnMgKi8KKyN1bmRlZiBFTkFCTEVfUExVR0lOUworCiAvKiBEZWZpbmUgdG8gZG8gbXVsdGktdGhyZWFkZWQgbGlua2luZyAqLwogI3VuZGVmIEVOQUJMRV9USFJFQURTCiAKZGlmZiAtLWdpdCBhL2dvbGQvY29uZmlndXJlIGIvZ29sZC9jb25maWd1cmUKaW5kZXggZjJlYzFlZi4uZDg5ODg3MCAxMDA3NTUKLS0tIGEvZ29sZC9jb25maWd1cmUKKysrIGIvZ29sZC9jb25maWd1cmUKQEAgLTMwOSw3ICszMDksNyBAQAogIyBpbmNsdWRlIDx1bmlzdGQuaD4KICNlbmRpZiIKIAotYWNfc3Vic3RfdmFycz0nU0hFTEwgUEFUSF9TRVBBUkFUT1IgUEFDS0FHRV9OQU1FIFBBQ0tBR0VfVEFSTkFNRSBQQUNLQUdFX1ZFUlNJT04gUEFDS0FHRV9TVFJJTkcgUEFDS0FHRV9CVUdSRVBPUlQgZXhlY19wcmVmaXggcHJlZml4IHByb2dyYW1fdHJhbnNmb3JtX25hbWUgYmluZGlyIHNiaW5kaXIgbGliZXhlY2RpciBkYXRhZGlyIHN5c2NvbmZkaXIgc2hhcmVkc3RhdGVkaXIgbG9jYWxzdGF0ZWRpciBsaWJkaXIgaW5jbHVkZWRpciBvbGRpbmNsdWRlZGlyIGluZm9kaXIgbWFuZGlyIGJ1aWxkX2FsaWFzIGhvc3RfYWxpYXMgdGFyZ2V0X2FsaWFzIERFRlMgRUNIT19DIEVDSE9fTiBFQ0hPX1QgTElCUyBidWlsZCBidWlsZF9jcHUgYnVpbGRfdmVuZG9yIGJ1aWxkX29zIGhvc3QgaG9zdF9jcHUgaG9zdF92ZW5kb3IgaG9zdF9vcyB0YXJnZXQgdGFyZ2V0X2NwdSB0YXJnZXRfdmVuZG9yIHRhcmdldF9vcyBJTlNUQUxMX1BST0dSQU0gSU5TVEFMTF9TQ1JJUFQgSU5TVEFMTF9EQVRBIENZR1BBVEhfVyBQQUNLQUdFIFZFUlNJT04gQUNMT0NBTCBBVVRPQ09ORiBBVVRPTUFLRSBBVVRPSEVBREVSIE1BS0VJTkZPIGluc3RhbGxfc2ggU1RSSVAgYWNfY3RfU1RSSVAgSU5TVEFMTF9TVFJJUF9QUk9HUkFNIG1rZGlyX3AgQVdLIFNFVF9NQUtFIGFtX19sZWFkaW5nX2RvdCBBTVRBUiBhbV9fdGFyIGFtX191bnRhciBUSFJFQURTX1RSVUUgVEhSRUFEU19GQUxTRSBUQVJHRVRPQkpTIENDIENGTEFHUyBMREZMQUdTIENQUEZMQUdTIGFjX2N0X0NDIEVYRUVYVCBPQkpFWFQgREVQRElSIGFtX19pbmNsdWRlIGFtX19xdW90ZSBBTURFUF9UUlVFIEFNREVQX0ZBTFNFIEFNREVQQkFDS1NMQVNIIENDREVQTU9ERSBhbV9fZmFzdGRlcENDX1RSVUUgYW1fX2Zhc3RkZXBDQ19GQUxTRSBDWFggQ1hYRkxBR1MgYWNfY3RfQ1hYIENYWERFUE1PREUgYW1fX2Zhc3RkZXBDWFhfVFJVRSBhbV9fZmFzdGRlcENYWF9GQUxTRSBZQUNDIFJBTkxJQiBhY19jdF9SQU5MSUIgTE5fUyBVU0VfTkxTIExJQklOVEwgTElCSU5UTF9ERVAgSU5DSU5UTCBYR0VUVEVYVCBHTVNHRk1UIFBPU1VCIENBVEFMT0dTIERBVEFESVJOQU1FIElOU1RPQkpFWFQgR0VOQ0FUIENBVE9CSkVYVCBNS0lOU1RBTExESVJTIE1TR0ZNVCBNU0dNRVJHRSBOQVRJVkVfTElOS0VSX1RSVUUgTkFUSVZFX0xJTktFUl9GQUxTRSBHQ0NfVFJVRSBHQ0NfRkFMU0UgRk5fUFRSU19JTl9TT19XSVRIT1VUX1BJQ19UUlVFIEZOX1BUUlNfSU5fU09fV0lUSE9VVF9QSUNfRkFMU0UgVExTX1RSVUUgVExTX0ZBTFNFIFNUQVRJQ19UTFNfVFJVRSBTVEFUSUNfVExTX0ZBTFNFIE9NUF9TVVBQT1JUX1RSVUUgT01QX1NVUFBPUlRfRkFMU0UgVExTX0dOVTJfRElBTEVDVF9UUlVFIFRMU19HTlUyX0RJQUxFQ1RfRkFMU0UgVExTX0RFU0NSSVBUT1JTX1RSVUUgVExTX0RFU0NSSVBUT1JTX0ZBTFNFIENPTlNUUlVDVE9SX1BSSU9SSVRZX1RSVUUgQ09OU1RSVUNUT1JfUFJJT1JJVFlfRkFMU0UgUkFORE9NX1NFRURfQ0ZMQUdTIFdBUk5fQ0ZMQUdTIE5PX1dFUlJPUiBXQVJOX0NYWEZMQUdTIExGU19DRkxBR1MgTElCT0JKUyBDUFAgRUdSRVAgSEFWRV9aTElCX1RSVUUgSEFWRV9aTElCX0ZBTFNFIENYWENQUCBNQUlOVEFJTkVSX01PREVfVFJVRSBNQUlOVEFJTkVSX01PREVfRkFMU0UgTUFJTlQgTFRMSUJPQkpTJworYWNfc3Vic3RfdmFycz0nU0hFTEwgUEFUSF9TRVBBUkFUT1IgUEFDS0FHRV9OQU1FIFBBQ0tBR0VfVEFSTkFNRSBQQUNLQUdFX1ZFUlNJT04gUEFDS0FHRV9TVFJJTkcgUEFDS0FHRV9CVUdSRVBPUlQgZXhlY19wcmVmaXggcHJlZml4IHByb2dyYW1fdHJhbnNmb3JtX25hbWUgYmluZGlyIHNiaW5kaXIgbGliZXhlY2RpciBkYXRhZGlyIHN5c2NvbmZkaXIgc2hhcmVkc3RhdGVkaXIgbG9jYWxzdGF0ZWRpciBsaWJkaXIgaW5jbHVkZWRpciBvbGRpbmNsdWRlZGlyIGluZm9kaXIgbWFuZGlyIGJ1aWxkX2FsaWFzIGhvc3RfYWxpYXMgdGFyZ2V0X2FsaWFzIERFRlMgRUNIT19DIEVDSE9fTiBFQ0hPX1QgTElCUyBidWlsZCBidWlsZF9jcHUgYnVpbGRfdmVuZG9yIGJ1aWxkX29zIGhvc3QgaG9zdF9jcHUgaG9zdF92ZW5kb3IgaG9zdF9vcyB0YXJnZXQgdGFyZ2V0X2NwdSB0YXJnZXRfdmVuZG9yIHRhcmdldF9vcyBJTlNUQUxMX1BST0dSQU0gSU5TVEFMTF9TQ1JJUFQgSU5TVEFMTF9EQVRBIENZR1BBVEhfVyBQQUNLQUdFIFZFUlNJT04gQUNMT0NBTCBBVVRPQ09ORiBBVVRPTUFLRSBBVVRPSEVBREVSIE1BS0VJTkZPIGluc3RhbGxfc2ggU1RSSVAgYWNfY3RfU1RSSVAgSU5TVEFMTF9TVFJJUF9QUk9HUkFNIG1rZGlyX3AgQVdLIFNFVF9NQUtFIGFtX19sZWFkaW5nX2RvdCBBTVRBUiBhbV9fdGFyIGFtX191bnRhciBUSFJFQURTX1RSVUUgVEhSRUFEU19GQUxTRSBQTFVHSU5TX1RSVUUgUExVR0lOU19GQUxTRSBUQVJHRVRPQkpTIENDIENGTEFHUyBMREZMQUdTIENQUEZMQUdTIGFjX2N0X0NDIEVYRUVYVCBPQkpFWFQgREVQRElSIGFtX19pbmNsdWRlIGFtX19xdW90ZSBBTURFUF9UUlVFIEFNREVQX0ZBTFNFIEFNREVQQkFDS1NMQVNIIENDREVQTU9ERSBhbV9fZmFzdGRlcENDX1RSVUUgYW1fX2Zhc3RkZXBDQ19GQUxTRSBDWFggQ1hYRkxBR1MgYWNfY3RfQ1hYIENYWERFUE1PREUgYW1fX2Zhc3RkZXBDWFhfVFJVRSBhbV9fZmFzdGRlcENYWF9GQUxTRSBZQUNDIFJBTkxJQiBhY19jdF9SQU5MSUIgTE5fUyBVU0VfTkxTIExJQklOVEwgTElCSU5UTF9ERVAgSU5DSU5UTCBYR0VUVEVYVCBHTVNHRk1UIFBPU1VCIENBVEFMT0dTIERBVEFESVJOQU1FIElOU1RPQkpFWFQgR0VOQ0FUIENBVE9CSkVYVCBNS0lOU1RBTExESVJTIE1TR0ZNVCBNU0dNRVJHRSBOQVRJVkVfTElOS0VSX1RSVUUgTkFUSVZFX0xJTktFUl9GQUxTRSBHQ0NfVFJVRSBHQ0NfRkFMU0UgRk5fUFRSU19JTl9TT19XSVRIT1VUX1BJQ19UUlVFIEZOX1BUUlNfSU5fU09fV0lUSE9VVF9QSUNfRkFMU0UgVExTX1RSVUUgVExTX0ZBTFNFIFNUQVRJQ19UTFNfVFJVRSBTVEFUSUNfVExTX0ZBTFNFIE9NUF9TVVBQT1JUX1RSVUUgT01QX1NVUFBPUlRfRkFMU0UgVExTX0dOVTJfRElBTEVDVF9UUlVFIFRMU19HTlUyX0RJQUxFQ1RfRkFMU0UgVExTX0RFU0NSSVBUT1JTX1RSVUUgVExTX0RFU0NSSVBUT1JTX0ZBTFNFIENPTlNUUlVDVE9SX1BSSU9SSVRZX1RSVUUgQ09OU1RSVUNUT1JfUFJJT1JJVFlfRkFMU0UgUkFORE9NX1NFRURfQ0ZMQUdTIFdBUk5fQ0ZMQUdTIE5PX1dFUlJPUiBXQVJOX0NYWEZMQUdTIExGU19DRkxBR1MgTElCT0JKUyBDUFAgRUdSRVAgSEFWRV9aTElCX1RSVUUgSEFWRV9aTElCX0ZBTFNFIENYWENQUCBNQUlOVEFJTkVSX01PREVfVFJVRSBNQUlOVEFJTkVSX01PREVfRkFMU0UgTUFJTlQgTFRMSUJPQkpTJwogYWNfc3Vic3RfZmlsZXM9JycKIGFjX3B3ZD1gcHdkYAogCkBAIC04NjYsNiArODY2LDcgQEAKICAgLS1kaXNhYmxlLUZFQVRVUkUgICAgICAgZG8gbm90IGluY2x1ZGUgRkVBVFVSRSAoc2FtZSBhcyAtLWVuYWJsZS1GRUFUVVJFPW5vKQogICAtLWVuYWJsZS1GRUFUVVJFWz1BUkddICBpbmNsdWRlIEZFQVRVUkUgW0FSRz15ZXNdCiAgIC0tZW5hYmxlLXRocmVhZHMgICAgICAgIG11bHRpLXRocmVhZGVkIGxpbmtpbmcKKyAgLS1lbmFibGUtcGx1Z2lucyAgICAgICAgbGlua2VyIHBsdWdpbnMKICAgLS1lbmFibGUtdGFyZ2V0cyAgICAgICAgYWx0ZXJuYXRpdmUgdGFyZ2V0IGNvbmZpZ3VyYXRpb25zCiAgIC0tZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nICBzcGVlZHMgdXAgb25lLXRpbWUgYnVpbGQKICAgLS1lbmFibGUtZGVwZW5kZW5jeS10cmFja2luZyAgIGRvIG5vdCByZWplY3Qgc2xvdyBkZXBlbmRlbmN5IGV4dHJhY3RvcnMKQEAgLTE5NTksNiArMTk2MCwzNSBAQAogZmkKIAogCisjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtcGx1Z2lucyBvciAtLWRpc2FibGUtcGx1Z2lucyB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9wbHVnaW5zK3NldH0iID0gc2V0OyB0aGVuCisgIGVuYWJsZXZhbD0iJGVuYWJsZV9wbHVnaW5zIgorICBjYXNlICIke2VuYWJsZXZhbH0iIGluCisgIHllcyB8ICIiKSBwbHVnaW5zPXllcyA7OworICBubykgcGx1Z2lucz1ubyA7OworICAqKSBwbHVnaW5zPXllcyA7OworIGVzYWMKK2Vsc2UKKyAgcGx1Z2lucz1ubworZmk7CitpZiB0ZXN0ICIkcGx1Z2lucyIgPSAieWVzIjsgdGhlbgorCitjYXQgPj5jb25mZGVmcy5oIDw8XF9BQ0VPRgorI2RlZmluZSBFTkFCTEVfUExVR0lOUyAxCitfQUNFT0YKKworZmkKKworCitpZiB0ZXN0ICIkcGx1Z2lucyIgPSAieWVzIjsgdGhlbgorICBQTFVHSU5TX1RSVUU9CisgIFBMVUdJTlNfRkFMU0U9JyMnCitlbHNlCisgIFBMVUdJTlNfVFJVRT0nIycKKyAgUExVR0lOU19GQUxTRT0KK2ZpCisKKwogIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXRhcmdldHMgb3IgLS1kaXNhYmxlLXRhcmdldHMgd2FzIGdpdmVuLgogaWYgdGVzdCAiJHtlbmFibGVfdGFyZ2V0cytzZXR9IiA9IHNldDsgdGhlbgogICBlbmFibGV2YWw9IiRlbmFibGVfdGFyZ2V0cyIKQEAgLTY3MjAsNiArNjc1MCwxMyBAQAogVXN1YWxseSB0aGlzIG1lYW5zIHRoZSBtYWNybyB3YXMgb25seSBpbnZva2VkIGNvbmRpdGlvbmFsbHkuIiA+JjI7fQogICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CiBmaQoraWYgdGVzdCAteiAiJHtQTFVHSU5TX1RSVUV9IiAmJiB0ZXN0IC16ICIke1BMVUdJTlNfRkFMU0V9IjsgdGhlbgorICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjb25kaXRpb25hbCBcIlBMVUdJTlNcIiB3YXMgbmV2ZXIgZGVmaW5lZC4KK1VzdWFsbHkgdGhpcyBtZWFucyB0aGUgbWFjcm8gd2FzIG9ubHkgaW52b2tlZCBjb25kaXRpb25hbGx5LiIgPiY1CitlY2hvICIkYXNfbWU6IGVycm9yOiBjb25kaXRpb25hbCBcIlBMVUdJTlNcIiB3YXMgbmV2ZXIgZGVmaW5lZC4KK1VzdWFsbHkgdGhpcyBtZWFucyB0aGUgbWFjcm8gd2FzIG9ubHkgaW52b2tlZCBjb25kaXRpb25hbGx5LiIgPiYyO30KKyAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorZmkKIGlmIHRlc3QgLXogIiR7QU1ERVBfVFJVRX0iICYmIHRlc3QgLXogIiR7QU1ERVBfRkFMU0V9IjsgdGhlbgogICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjb25kaXRpb25hbCBcIkFNREVQXCIgd2FzIG5ldmVyIGRlZmluZWQuCiBVc3VhbGx5IHRoaXMgbWVhbnMgdGhlIG1hY3JvIHdhcyBvbmx5IGludm9rZWQgY29uZGl0aW9uYWxseS4iID4mNQpAQCAtNzM5Niw2ICs3NDMzLDggQEAKIHMsQGFtX191bnRhckAsJGFtX191bnRhciw7dCB0CiBzLEBUSFJFQURTX1RSVUVALCRUSFJFQURTX1RSVUUsO3QgdAogcyxAVEhSRUFEU19GQUxTRUAsJFRIUkVBRFNfRkFMU0UsO3QgdAorcyxAUExVR0lOU19UUlVFQCwkUExVR0lOU19UUlVFLDt0IHQKK3MsQFBMVUdJTlNfRkFMU0VALCRQTFVHSU5TX0ZBTFNFLDt0IHQKIHMsQFRBUkdFVE9CSlNALCRUQVJHRVRPQkpTLDt0IHQKIHMsQENDQCwkQ0MsO3QgdAogcyxAQ0ZMQUdTQCwkQ0ZMQUdTLDt0IHQKZGlmZiAtLWdpdCBhL2dvbGQvY29uZmlndXJlLmFjIGIvZ29sZC9jb25maWd1cmUuYWMKaW5kZXggM2ZiY2QwZS4uYjBlZmVmMSAxMDA2NDQKLS0tIGEvZ29sZC9jb25maWd1cmUuYWMKKysrIGIvZ29sZC9jb25maWd1cmUuYWMKQEAgLTUzLDYgKzUzLDIwIEBACiBmaQogQU1fQ09ORElUSU9OQUwoVEhSRUFEUywgdGVzdCAiJHRocmVhZHMiID0gInllcyIpCiAKK0FDX0FSR19FTkFCTEUoW3BsdWdpbnNdLAorWyAgLS1lbmFibGUtcGx1Z2lucyAgICAgICAgbGlua2VyIHBsdWdpbnNdLAorW2Nhc2UgIiR7ZW5hYmxldmFsfSIgaW4KKyAgeWVzIHwgIiIpIHBsdWdpbnM9eWVzIDs7CisgIG5vKSBwbHVnaW5zPW5vIDs7CisgICopIHBsdWdpbnM9eWVzIDs7CisgZXNhY10sCitbcGx1Z2lucz1ub10pCitpZiB0ZXN0ICIkcGx1Z2lucyIgPSAieWVzIjsgdGhlbgorICBBQ19ERUZJTkUoRU5BQkxFX1BMVUdJTlMsIDEsCisJICAgIFtEZWZpbmUgdG8gZW5hYmxlIGxpbmtlciBwbHVnaW5zXSkKK2ZpCitBTV9DT05ESVRJT05BTChQTFVHSU5TLCB0ZXN0ICIkcGx1Z2lucyIgPSAieWVzIikKKwogQUNfQVJHX0VOQUJMRShbdGFyZ2V0c10sCiBbICAtLWVuYWJsZS10YXJnZXRzICAgICAgICBhbHRlcm5hdGl2ZSB0YXJnZXQgY29uZmlndXJhdGlvbnNdLAogW2Nhc2UgIiR7ZW5hYmxldmFsfSIgaW4KZGlmZiAtLWdpdCBhL2dvbGQvZGVzY3JpcHRvcnMuY2MgYi9nb2xkL2Rlc2NyaXB0b3JzLmNjCmluZGV4IDc1YTdhODYuLjczYzAzYmYgMTAwNjQ0Ci0tLSBhL2dvbGQvZGVzY3JpcHRvcnMuY2MKKysrIGIvZ29sZC9kZXNjcmlwdG9ycy5jYwpAQCAtMTE1LDcgKzExNSw5IEBACiAJICBwb2QtPmludXNlID0gdHJ1ZTsKIAkgIHBvZC0+aXNfd3JpdGUgPSAoZmxhZ3MgJiBPX0FDQ01PREUpICE9IE9fUkRPTkxZOwogCi0JICArK3RoaXMtPmN1cnJlbnRfOworICAgICAgICAgIGlmICghcG9kLT5pc19jbGFpbWVkKQorCSAgICArK3RoaXMtPmN1cnJlbnRfOworICAgICAgICAgIHBvZC0+aXNfY2xhaW1lZCA9IGZhbHNlOwogCSAgaWYgKHRoaXMtPmN1cnJlbnRfID49IHRoaXMtPmxpbWl0XykKIAkgICAgdGhpcy0+Y2xvc2Vfc29tZV9kZXNjcmlwdG9yKCk7CiAKQEAgLTE2Niw2ICsxNjgsMjQgQEAKICAgICB9CiB9CiAKKy8vIENsYWltIHRoZSBmaWxlIGRlc2NyaXB0b3IgREVTQ1JJUFRPUiBmb3IgYSBwbHVnaW4uICBUaGlzIGVmZmVjdGl2ZWx5CisvLyByZW1vdmVzIHRoZSBkZXNjcmlwdG9yIGZyb20gdGhlIHBvb2wgb2YgbGlua2VyLW1hbmFnZWQgZGVzY3JpcHRvcnMsCisvLyBhcyB0aGUgcGx1Z2luIHdpbGwgYXNzdW1lIHJlc3BvbnNpYmlsaXR5IGZvciBjbG9zaW5nIGl0LgorLy8gVGhlIElTX0NMQUlNRUQgZmxhZyBhbGxvd3MgdXMgdG8gcmVjb2duaXplIHdoZW4gYSBmaWxlIGRlc2NyaXB0b3IKKy8vIGhhcyBiZWVuIHJldXNlZCBhZnRlciBiZWluZyBjbG9zZWQgYnkgdGhlIHBsdWdpbi4KKwordm9pZAorRGVzY3JpcHRvcnM6OmNsYWltX2Zvcl9wbHVnaW4oaW50IGRlc2NyaXB0b3IpCit7CisgIEhvbGRfbG9jayBobCgqdGhpcy0+bG9ja18pOworCisgIGdvbGRfYXNzZXJ0KGRlc2NyaXB0b3IgPj0gMAorCSAgICAgICYmIChzdGF0aWNfY2FzdDxzaXplX3Q+KGRlc2NyaXB0b3IpCisJCSAgPCB0aGlzLT5vcGVuX2Rlc2NyaXB0b3JzXy5zaXplKCkpKTsKKyAgT3Blbl9kZXNjcmlwdG9yKiBwb2QgPSAmdGhpcy0+b3Blbl9kZXNjcmlwdG9yc19bZGVzY3JpcHRvcl07CisgIHBvZC0+aXNfY2xhaW1lZCA9IHRydWU7Cit9CisKIC8vIENsb3NlIHNvbWUgZGVzY3JpcHRvci4gIFRoZSBsb2NrIGlzIGhlbGQgd2hlbiB0aGlzIGlzIGNhbGxlZC4gIFdlCiAvLyBjbG9zZSB0aGUgZGVzY3JpcHRvciBvbiB0aGUgdG9wIG9mIHRoZSBmcmVlIHN0YWNrLiAgTm90ZSB0aGF0IHRoaXMKIC8vIGlzIHRoZSBvcHBvc2l0ZSBvZiBhbiBMUlUgYWxnb3JpdGhtLS13ZSBjbG9zZSB0aGUgbW9zdCByZWNlbnRseQpkaWZmIC0tZ2l0IGEvZ29sZC9kZXNjcmlwdG9ycy5oIGIvZ29sZC9kZXNjcmlwdG9ycy5oCmluZGV4IDZhNmFiNjEuLjM1OTAwOGMgMTAwNjQ0Ci0tLSBhL2dvbGQvZGVzY3JpcHRvcnMuaAorKysgYi9nb2xkL2Rlc2NyaXB0b3JzLmgKQEAgLTU2LDYgKzU2LDEyIEBACiAgIHZvaWQKICAgcmVsZWFzZShpbnQgZGVzY3JpcHRvciwgYm9vbCBwZXJtYW5lbnQpOwogCisgIC8vIENsYWltIHRoZSBmaWxlIGRlc2NyaXB0b3IgREVTQ1JJUFRPUiBmb3IgYSBwbHVnaW4uICBUaGlzIGVmZmVjdGl2ZWx5CisgIC8vIHJlbW92ZXMgdGhlIGRlc2NyaXB0b3IgZnJvbSB0aGUgcG9vbCBvZiBsaW5rZXItbWFuYWdlZCBkZXNjcmlwdG9ycywKKyAgLy8gYXMgdGhlIHBsdWdpbiB3aWxsIGFzc3VtZSByZXNwb25zaWJpbGl0eSBmb3IgY2xvc2luZyBpdC4KKyAgdm9pZAorICBjbGFpbV9mb3JfcGx1Z2luKGludCBkZXNjcmlwdG9yKTsKKwogIHByaXZhdGU6CiAgIC8vIEluZm9ybWF0aW9uIGtlcHQgZm9yIGEgZGVzY3JpcHRvci4KICAgc3RydWN0IE9wZW5fZGVzY3JpcHRvcgpAQCAtNjksNiArNzUsOCBAQAogICAgIGJvb2wgaW51c2U7CiAgICAgLy8gV2hldGhlciB0aGlzIGlzIGEgd3JpdGUgZGVzY3JpcHRvci4KICAgICBib29sIGlzX3dyaXRlOworICAgIC8vIFdoZXRoZXIgdGhlIGRlc2NyaXB0b3IgaGFzIGJlZW4gY2xhaW1lZCBmb3IgYSBwbHVnaW4uCisgICAgYm9vbCBpc19jbGFpbWVkOwogICB9OwogCiAgIGJvb2wKQEAgLTEwMCw2ICsxMDgsMTAgQEAKIHJlbGVhc2VfZGVzY3JpcHRvcihpbnQgZGVzY3JpcHRvciwgYm9vbCBwZXJtYW5lbnQpCiB7IGRlc2NyaXB0b3JzLnJlbGVhc2UoZGVzY3JpcHRvciwgcGVybWFuZW50KTsgfQogCitpbmxpbmUgdm9pZAorY2xhaW1fZGVzY3JpcHRvcl9mb3JfcGx1Z2luKGludCBkZXNjcmlwdG9yKQoreyBkZXNjcmlwdG9ycy5jbGFpbV9mb3JfcGx1Z2luKGRlc2NyaXB0b3IpOyB9CisKIH0gLy8gRW5kIG5hbWVzcGFjZSBnb2xkLgogCiAjZW5kaWYgLy8gIWRlZmluZWQoR09MRF9ERVNDUklQVE9SU19IKQpkaWZmIC0tZ2l0IGEvZ29sZC9maWxlcmVhZC5jYyBiL2dvbGQvZmlsZXJlYWQuY2MKaW5kZXggOGMyZjhmMy4uNzJhYmQ2YiAxMDA2NDQKLS0tIGEvZ29sZC9maWxlcmVhZC5jYworKysgYi9nb2xkL2ZpbGVyZWFkLmNjCkBAIC0xOTEsNiArMTkxLDE5IEBACiAgIHRoaXMtPnJlbGVhc2VkXyA9IHRydWU7CiB9CiAKKy8vIENsYWltIHRoZSBmaWxlIGZvciBhIHBsdWdpbi4gIFRoaXMgZWZmZWN0aXZlbHkgcmVsZWFzZXMgdGhlIGZpbGUgd2l0aG91dAorLy8gY2xvc2luZyBpdDsgdGhlIHBsdWdpbiB3aWxsIGFzc3VtZSByZXNwb25zaWJpbGl0eSBmb3IgY2xvc2luZyBpdC4KKwordm9pZAorRmlsZV9yZWFkOjpjbGFpbV9mb3JfcGx1Z2luKCkKK3sKKyAgZ29sZF9hc3NlcnQodGhpcy0+aXNfbG9ja2VkKCkpOworICBjbGFpbV9kZXNjcmlwdG9yX2Zvcl9wbHVnaW4odGhpcy0+ZGVzY3JpcHRvcl8pOworICB0aGlzLT5kZXNjcmlwdG9yXyA9IC0xOworICB0aGlzLT5pc19kZXNjcmlwdG9yX29wZW5lZF8gPSBmYWxzZTsKKyAgdGhpcy0+cmVsZWFzZWRfID0gdHJ1ZTsKK30KKwogLy8gTG9jayB0aGUgZmlsZS4KIAogdm9pZApAQCAtMzU1LDYgKzM2OCwxNiBAQAogewogICBnb2xkX2Fzc2VydChzaXplID4gMCk7CiAKKyAgLy8gQ2hlY2sgdGhhdCBzdGFydCBhbmQgZW5kIG9mIHRoZSB2aWV3IGFyZSB3aXRoaW4gdGhlIGZpbGUuCisgIGlmIChzdGFydCA+IHRoaXMtPnNpemVfCisgICAgICB8fCAoc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihzaXplKQorICAgICAgICAgID4gc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPih0aGlzLT5zaXplXyAtIHN0YXJ0KSkpCisgICAgZ29sZF9mYXRhbChfKCIlczogYXR0ZW1wdCB0byBtYXAgJWxsZCBieXRlcyBhdCBvZmZzZXQgJWxsZCBleGNlZWRzICIKKyAgICAgICAgICAgICAgICAgInNpemUgb2YgZmlsZTsgdGhlIGZpbGUgbWF5IGJlIGNvcnJ1cHQiKSwKKwkJICAgdGhpcy0+ZmlsZW5hbWUoKS5jX3N0cigpLAorCQkgICBzdGF0aWNfY2FzdDxsb25nIGxvbmc+KHNpemUpLAorCQkgICBzdGF0aWNfY2FzdDxsb25nIGxvbmc+KHN0YXJ0KSk7CisKICAgb2ZmX3QgcG9mZiA9IEZpbGVfcmVhZDo6cGFnZV9vZmZzZXQoc3RhcnQpOwogCiAgIHNlY3Rpb25fc2l6ZV90eXBlIHBzaXplID0gRmlsZV9yZWFkOjpwYWdlcyhzaXplICsgKHN0YXJ0IC0gcG9mZikpOwpkaWZmIC0tZ2l0IGEvZ29sZC9maWxlcmVhZC5oIGIvZ29sZC9maWxlcmVhZC5oCmluZGV4IDQyMzZjZTAuLjFiNzc2ZjEgMTAwNjQ0Ci0tLSBhL2dvbGQvZmlsZXJlYWQuaAorKysgYi9nb2xkL2ZpbGVyZWFkLmgKQEAgLTEwOSw2ICsxMDksMTEgQEAKICAgdm9pZAogICByZWxlYXNlKCk7CiAKKyAgLy8gQ2xhaW0gdGhlIGZpbGUgZm9yIGEgcGx1Z2luLiAgVGhpcyBlZmZlY3RpdmVseSByZWxlYXNlcyB0aGUgZmlsZSB3aXRob3V0CisgIC8vIGNsb3NpbmcgaXQ7IHRoZSBwbHVnaW4gd2lsbCBhc3N1bWUgcmVzcG9uc2liaWxpdHkgZm9yIGNsb3NpbmcgaXQuCisgIHZvaWQKKyAgY2xhaW1fZm9yX3BsdWdpbigpOworCiAgIC8vIFJldHVybiB0aGUgc2l6ZSBvZiB0aGUgZmlsZS4KICAgb2ZmX3QKICAgZmlsZXNpemUoKSBjb25zdApAQCAtMTgzLDYgKzE4OCwxNCBAQAogICBzdGF0aWMgdm9pZAogICBwcmludF9zdGF0cygpOwogCisgIC8vIFJldHVybiB0aGUgb3BlbiBmaWxlIGRlc2NyaXB0b3IgKGZvciBwbHVnaW5zKS4KKyAgaW50CisgIGRlc2NyaXB0b3IoKSBjb25zdAorICB7CisgICAgZ29sZF9hc3NlcnQodGhpcy0+ZGVzY3JpcHRvcl8gPj0gMCk7CisgICAgcmV0dXJuIHRoaXMtPmRlc2NyaXB0b3JfOworICB9CisKICBwcml2YXRlOgogICAvLyBUaGlzIGNsYXNzIG1heSBub3QgYmUgY29waWVkLgogICBGaWxlX3JlYWQoY29uc3QgRmlsZV9yZWFkJik7CmRpZmYgLS1naXQgYS9nb2xkL2dvbGQuY2MgYi9nb2xkL2dvbGQuY2MKaW5kZXggNDJjNjI0OC4uYWMzMjFiZSAxMDA2NDQKLS0tIGEvZ29sZC9nb2xkLmNjCisrKyBiL2dvbGQvZ29sZC5jYwpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgImxheW91dC5oIgogI2luY2x1ZGUgInJlbG9jLmgiCiAjaW5jbHVkZSAiZGVmc3RkLmgiCisjaW5jbHVkZSAicGx1Z2luLmgiCiAKIG5hbWVzcGFjZSBnb2xkCiB7CkBAIC0xNTEsNiArMTUyLDE2IEBACiAgICAgICB0aGlzX2Jsb2NrZXIgPSBuZXh0X2Jsb2NrZXI7CiAgICAgfQogCisgIGlmIChvcHRpb25zLmhhc19wbHVnaW5zKCkpCisgICAgeworICAgICAgVGFza190b2tlbiogbmV4dF9ibG9ja2VyID0gbmV3IFRhc2tfdG9rZW4odHJ1ZSk7CisgICAgICBuZXh0X2Jsb2NrZXItPmFkZF9ibG9ja2VyKCk7CisgICAgICB3b3JrcXVldWUtPnF1ZXVlKG5ldyBQbHVnaW5faG9vayhvcHRpb25zLCBpbnB1dF9vYmplY3RzLCBzeW10YWIsIGxheW91dCwKKwkJCQkgICAgICAgJnNlYXJjaF9wYXRoLCBtYXBmaWxlLCB0aGlzX2Jsb2NrZXIsCisJCQkJICAgICAgIG5leHRfYmxvY2tlcikpOworICAgICAgdGhpc19ibG9ja2VyID0gbmV4dF9ibG9ja2VyOworICAgIH0KKwogICB3b3JrcXVldWUtPnF1ZXVlKG5ldyBUYXNrX2Z1bmN0aW9uKG5ldyBNaWRkbGVfcnVubmVyKG9wdGlvbnMsCiAJCQkJCQkgICAgICAgaW5wdXRfb2JqZWN0cywKIAkJCQkJCSAgICAgICBzeW10YWIsCkBAIC0xOTIsNiArMjAzLDcgQEAKICAgaWYgKCFkb2luZ19zdGF0aWNfbGluayAmJiBvcHRpb25zLmlzX3N0YXRpYygpKQogICAgIHsKICAgICAgIC8vIFdlIHByaW50IG91dCBqdXN0IHRoZSBmaXJzdCAuc28gd2Ugc2VlOyB0aGVyZSBtYXkgYmUgb3RoZXJzLgorICAgICAgZ29sZF9hc3NlcnQoaW5wdXRfb2JqZWN0cy0+ZHlub2JqX2JlZ2luKCkgIT0gaW5wdXRfb2JqZWN0cy0+ZHlub2JqX2VuZCgpKTsKICAgICAgIGdvbGRfZXJyb3IoXygiY2Fubm90IG1peCAtc3RhdGljIHdpdGggZHluYW1pYyBvYmplY3QgJXMiKSwKIAkJICgqaW5wdXRfb2JqZWN0cy0+ZHlub2JqX2JlZ2luKCkpLT5uYW1lKCkuY19zdHIoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvZ29sZC9pMzg2LmNjIGIvZ29sZC9pMzg2LmNjCmluZGV4IDU0ZjEyMzMuLjhhNTU1OGUgMTAwNjQ0Ci0tLSBhL2dvbGQvaTM4Ni5jYworKysgYi9nb2xkL2kzODYuY2MKQEAgLTEzNSw3ICsxMzUsNyBAQAogCiAgIC8vIFJldHVybiB3aGV0aGVyIFNZTSBpcyBkZWZpbmVkIGJ5IHRoZSBBQkkuCiAgIGJvb2wKLSAgZG9faXNfZGVmaW5lZF9ieV9hYmkoU3ltYm9sKiBzeW0pIGNvbnN0CisgIGRvX2lzX2RlZmluZWRfYnlfYWJpKGNvbnN0IFN5bWJvbCogc3ltKSBjb25zdAogICB7IHJldHVybiBzdHJjbXAoc3ltLT5uYW1lKCksICJfX190bHNfZ2V0X2FkZHIiKSA9PSAwOyB9CiAKICAgLy8gUmV0dXJuIHRoZSBzaXplIG9mIHRoZSBHT1Qgc2VjdGlvbi4KQEAgLTMyMyw3ICszMjMsNyBAQAogICB2b2lkCiAgIG1ha2VfcGx0X2VudHJ5KFN5bWJvbF90YWJsZSosIExheW91dCosIFN5bWJvbCopOwogCi0gIC8vIERlZmluZSB0aGUgX1RMU19NT0RVTEVfQkFTRV8gc3ltYm9sIGF0IHRoZSBlbmQgb2YgdGhlIFRMUyBzZWdtZW50LgorICAvLyBEZWZpbmUgdGhlIF9UTFNfTU9EVUxFX0JBU0VfIHN5bWJvbCBpbiB0aGUgVExTIHNlZ21lbnQuCiAgIHZvaWQKICAgZGVmaW5lX3Rsc19iYXNlX3N5bWJvbChTeW1ib2xfdGFibGUqLCBMYXlvdXQqKTsKIApAQCAtNzM2LDcgKzczNiw3IEBACiAgIHRoaXMtPnBsdF8tPmFkZF9lbnRyeShnc3ltKTsKIH0KIAotLy8gRGVmaW5lIHRoZSBfVExTX01PRFVMRV9CQVNFXyBzeW1ib2wgYXQgdGhlIGVuZCBvZiB0aGUgVExTIHNlZ21lbnQuCisvLyBEZWZpbmUgdGhlIF9UTFNfTU9EVUxFX0JBU0VfIHN5bWJvbCBpbiB0aGUgVExTIHNlZ21lbnQuCiAKIHZvaWQKIFRhcmdldF9pMzg2OjpkZWZpbmVfdGxzX2Jhc2Vfc3ltYm9sKFN5bWJvbF90YWJsZSogc3ltdGFiLCBMYXlvdXQqIGxheW91dCkKQEAgLTc0NywxMiArNzQ3LDE2IEBACiAgIE91dHB1dF9zZWdtZW50KiB0bHNfc2VnbWVudCA9IGxheW91dC0+dGxzX3NlZ21lbnQoKTsKICAgaWYgKHRsc19zZWdtZW50ICE9IE5VTEwpCiAgICAgeworICAgICAgYm9vbCBpc19leGVjID0gcGFyYW1ldGVycy0+b3B0aW9ucygpLm91dHB1dF9pc19leGVjdXRhYmxlKCk7CiAgICAgICBzeW10YWItPmRlZmluZV9pbl9vdXRwdXRfc2VnbWVudCgiX1RMU19NT0RVTEVfQkFTRV8iLCBOVUxMLAogCQkJCSAgICAgICB0bHNfc2VnbWVudCwgMCwgMCwKIAkJCQkgICAgICAgZWxmY3BwOjpTVFRfVExTLAogCQkJCSAgICAgICBlbGZjcHA6OlNUQl9MT0NBTCwKIAkJCQkgICAgICAgZWxmY3BwOjpTVFZfSElEREVOLCAwLAotCQkJCSAgICAgICBTeW1ib2w6OlNFR01FTlRfRU5ELCB0cnVlKTsKKwkJCQkgICAgICAgKGlzX2V4ZWMKKwkJCQkJPyBTeW1ib2w6OlNFR01FTlRfRU5ECisJCQkJCTogU3ltYm9sOjpTRUdNRU5UX1NUQVJUKSwKKwkJCQkgICAgICAgdHJ1ZSk7CiAgICAgfQogICB0aGlzLT50bHNfYmFzZV9zeW1ib2xfZGVmaW5lZF8gPSB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvZ29sZC9sYXlvdXQuY2MgYi9nb2xkL2xheW91dC5jYwppbmRleCA5OTgxOWQ2Li5lYzk2NTRlIDEwMDY0NAotLS0gYS9nb2xkL2xheW91dC5jYworKysgYi9nb2xkL2xheW91dC5jYwpAQCAtMjc1Myw2ICsyNzUzLDggQEAKICAgICB9CiAgIGlmIChwYXJhbWV0ZXJzLT5vcHRpb25zKCkuc2hhcmVkKCkgJiYgdGhpcy0+aGFzX3N0YXRpY190bHMoKSkKICAgICBmbGFncyB8PSBlbGZjcHA6OkRGX1NUQVRJQ19UTFM7CisgIGlmIChwYXJhbWV0ZXJzLT5vcHRpb25zKCkub3JpZ2luKCkpCisgICAgZmxhZ3MgfD0gZWxmY3BwOjpERl9PUklHSU47CiAgIG9keW4tPmFkZF9jb25zdGFudChlbGZjcHA6OkRUX0ZMQUdTLCBmbGFncyk7CiAKICAgZmxhZ3MgPSAwOwpAQCAtMjc3NCw2ICsyNzc2LDggQEAKICAgICBmbGFncyAmPSB+KGVsZmNwcDo6REZfMV9JTklURklSU1QKIAkgICAgICAgfCBlbGZjcHA6OkRGXzFfTk9ERUxFVEUKIAkgICAgICAgfCBlbGZjcHA6OkRGXzFfTk9PUEVOKTsKKyAgaWYgKHBhcmFtZXRlcnMtPm9wdGlvbnMoKS5vcmlnaW4oKSkKKyAgICBmbGFncyB8PSBlbGZjcHA6OkRGXzFfT1JJR0lOOwogICBpZiAoZmxhZ3MpCiAgICAgb2R5bi0+YWRkX2NvbnN0YW50KGVsZmNwcDo6RFRfRkxBR1NfMSwgZmxhZ3MpOwogfQpkaWZmIC0tZ2l0IGEvZ29sZC9tYWluLmNjIGIvZ29sZC9tYWluLmNjCmluZGV4IGI4NDIxNTkuLjhlOGU4ZjkgMTAwNjQ0Ci0tLSBhL2dvbGQvbWFpbi5jYworKysgYi9nb2xkL21haW4uY2MKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJhcmNoaXZlLmgiCiAjaW5jbHVkZSAic3ltdGFiLmgiCiAjaW5jbHVkZSAibGF5b3V0LmgiCisjaW5jbHVkZSAicGx1Z2luLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBnb2xkOwogCkBAIC0xOTAsNiArMTkxLDEwIEBACiAgIGlmIChwYXJhbWV0ZXJzLT5vcHRpb25zKCkucmVsb2NhdGFibGUoKSkKICAgICBjb21tYW5kX2xpbmUuc2NyaXB0X29wdGlvbnMoKS52ZXJzaW9uX3NjcmlwdF9pbmZvKCktPmNsZWFyKCk7CiAKKyAgLy8gTG9hZCBwbHVnaW4gbGlicmFyaWVzLgorICBpZiAoY29tbWFuZF9saW5lLm9wdGlvbnMoKS5oYXNfcGx1Z2lucygpKQorICAgIGNvbW1hbmRfbGluZS5vcHRpb25zKCkucGx1Z2lucygpLT5sb2FkX3BsdWdpbnMoKTsKKwogICAvLyBUaGUgd29yayBxdWV1ZS4KICAgV29ya3F1ZXVlIHdvcmtxdWV1ZShjb21tYW5kX2xpbmUub3B0aW9ucygpKTsKIApkaWZmIC0tZ2l0IGEvZ29sZC9tYXBmaWxlLmNjIGIvZ29sZC9tYXBmaWxlLmNjCmluZGV4IDljZWMzNjYuLmEzYmE1MmIgMTAwNjQ0Ci0tLSBhL2dvbGQvbWFwZmlsZS5jYworKysgYi9nb2xkL21hcGZpbGUuY2MKQEAgLTI1Myw3ICsyNTMsNyBAQAogICAgIHsKICAgICAgIG9zID0gcmVsb2JqLT5vdXRwdXRfc2VjdGlvbihzaG5keCk7CiAgICAgICBhZGRyID0gcmVsb2JqLT5vdXRwdXRfc2VjdGlvbl9vZmZzZXQoc2huZHgpOwotICAgICAgaWYgKGFkZHIgIT0gLTFVKQorICAgICAgaWYgKGFkZHIgIT0gLTFVTEwpCiAJYWRkciArPSBvcy0+YWRkcmVzcygpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvZ29sZC9vYmplY3QuY2MgYi9nb2xkL29iamVjdC5jYwppbmRleCBkOGY1ZWM4Li5mN2RjZGE4IDEwMDY0NAotLS0gYS9nb2xkL29iamVjdC5jYworKysgYi9nb2xkL29iamVjdC5jYwpAQCAtOTI2LDcgKzkyNiw3IEBACiAJewogCSAgLy8gRG8gbm90IGluY2x1ZGUgdGhpcyBzZWN0aW9uIGluIHRoZSBsaW5rLgogCSAgb3V0X3NlY3Rpb25zW2ldID0gTlVMTDsKLSAgICAgICAgICBvdXRfc2VjdGlvbl9vZmZzZXRzW2ldID0gLTFVOworICAgICAgICAgIG91dF9zZWN0aW9uX29mZnNldHNbaV0gPSBpbnZhbGlkX2FkZHJlc3M7CiAJICBjb250aW51ZTsKIAl9CiAKQEAgLTk2Nyw3ICs5NjcsNyBAQAogCiAgICAgICBvdXRfc2VjdGlvbnNbaV0gPSBvczsKICAgICAgIGlmIChvZmZzZXQgPT0gLTEpCi0gICAgICAgIG91dF9zZWN0aW9uX29mZnNldHNbaV0gPSAtMVU7CisgICAgICAgIG91dF9zZWN0aW9uX29mZnNldHNbaV0gPSBpbnZhbGlkX2FkZHJlc3M7CiAgICAgICBlbHNlCiAgICAgICAgIG91dF9zZWN0aW9uX29mZnNldHNbaV0gPSBjb252ZXJ0X3R5cGVzPEFkZHJlc3MsIG9mZl90PihvZmZzZXQpOwogCkBAIC0xMDA0LDcgKzEwMDQsNyBAQAogICAgICAgaWYgKGRhdGFfc2VjdGlvbiA9PSBOVUxMKQogCXsKIAkgIG91dF9zZWN0aW9uc1tpXSA9IE5VTEw7Ci0gICAgICAgICAgb3V0X3NlY3Rpb25fb2Zmc2V0c1tpXSA9IC0xVTsKKyAgICAgICAgICBvdXRfc2VjdGlvbl9vZmZzZXRzW2ldID0gaW52YWxpZF9hZGRyZXNzOwogCSAgY29udGludWU7CiAJfQogCkBAIC0xMDE0LDcgKzEwMTQsNyBAQAogICAgICAgT3V0cHV0X3NlY3Rpb24qIG9zID0gbGF5b3V0LT5sYXlvdXRfcmVsb2ModGhpcywgaSwgc2hkciwgZGF0YV9zZWN0aW9uLAogCQkJCQkJcnIpOwogICAgICAgb3V0X3NlY3Rpb25zW2ldID0gb3M7Ci0gICAgICBvdXRfc2VjdGlvbl9vZmZzZXRzW2ldID0gLTFVOworICAgICAgb3V0X3NlY3Rpb25fb2Zmc2V0c1tpXSA9IGludmFsaWRfYWRkcmVzczsKICAgICB9CiAKICAgLy8gSGFuZGxlIHRoZSAuZWhfZnJhbWUgc2VjdGlvbnMgYXQgdGhlIGVuZC4KQEAgLTEwNDIsNyArMTA0Miw3IEBACiAJCQkJCQkgICAmb2Zmc2V0KTsKICAgICAgIG91dF9zZWN0aW9uc1tpXSA9IG9zOwogICAgICAgaWYgKG9mZnNldCA9PSAtMSkKLSAgICAgICAgb3V0X3NlY3Rpb25fb2Zmc2V0c1tpXSA9IC0xVTsKKyAgICAgICAgb3V0X3NlY3Rpb25fb2Zmc2V0c1tpXSA9IGludmFsaWRfYWRkcmVzczsKICAgICAgIGVsc2UKICAgICAgICAgb3V0X3NlY3Rpb25fb2Zmc2V0c1tpXSA9IGNvbnZlcnRfdHlwZXM8QWRkcmVzcywgb2ZmX3Q+KG9mZnNldCk7CiAKQEAgLTEyNjYsNyArMTI2Niw3IEBACiAgICAgICAgICAgICAgIC8vIHNvIHdlIGxlYXZlIHRoZSBpbnB1dCB2YWx1ZSB1bmNoYW5nZWQgaGVyZS4KIAkgICAgICBjb250aW51ZTsKIAkgICAgfQotCSAgZWxzZSBpZiAob3V0X29mZnNldHNbc2huZHhdID09IC0xVSkKKwkgIGVsc2UgaWYgKG91dF9vZmZzZXRzW3NobmR4XSA9PSBpbnZhbGlkX2FkZHJlc3MpCiAJICAgIHsKIAkgICAgICAvLyBUaGlzIGlzIGEgU0hGX01FUkdFIHNlY3Rpb24gb3Igb25lIHdoaWNoIG90aGVyd2lzZQogCSAgICAgIC8vIHJlcXVpcmVzIHNwZWNpYWwgaGFuZGxpbmcuICBXZSBnZXQgdGhlIG91dHB1dCBhZGRyZXNzCkBAIC0xNTczLDcgKzE1NzMsNyBAQAogICAgICAgKmZvdW5kID0gdHJ1ZTsKICAgICAgIE91dHB1dF9zZWN0aW9uKiBvcyA9IGtlcHQtPm9iamVjdF8tPm91dHB1dF9zZWN0aW9uKGtlcHQtPnNobmR4Xyk7CiAgICAgICBBZGRyZXNzIG9mZnNldCA9IGtlcHQtPm9iamVjdF8tPmdldF9vdXRwdXRfc2VjdGlvbl9vZmZzZXQoa2VwdC0+c2huZHhfKTsKLSAgICAgIGdvbGRfYXNzZXJ0KG9zICE9IE5VTEwgJiYgb2Zmc2V0ICE9IC0xVSk7CisgICAgICBnb2xkX2Fzc2VydChvcyAhPSBOVUxMICYmIG9mZnNldCAhPSBpbnZhbGlkX2FkZHJlc3MpOwogICAgICAgcmV0dXJuIG9zLT5hZGRyZXNzKCkgKyBvZmZzZXQ7CiAgICAgfQogICAqZm91bmQgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL2dvbGQvb2JqZWN0LmggYi9nb2xkL29iamVjdC5oCmluZGV4IDE4OGYxZjIuLmZjYjVkMzEgMTAwNjQ0Ci0tLSBhL2dvbGQvb2JqZWN0LmgKKysrIGIvZ29sZC9vYmplY3QuaApAQCAtNDIsNiArNDIsNyBAQAogY2xhc3MgT3V0cHV0X3NlY3Rpb247CiBjbGFzcyBPdXRwdXRfZmlsZTsKIGNsYXNzIE91dHB1dF9zeW10YWJfeGluZGV4OworY2xhc3MgUGx1Z2lub2JqOwogY2xhc3MgRHlub2JqOwogY2xhc3MgT2JqZWN0X21lcmdlX21hcDsKIGNsYXNzIFJlbG9jYXRhYmxlX3JlbG9jczsKQEAgLTIxNCw2ICsyMTUsMTIgQEAKICAgaXNfZHluYW1pYygpIGNvbnN0CiAgIHsgcmV0dXJuIHRoaXMtPmlzX2R5bmFtaWNfOyB9CiAKKyAgLy8gUmV0dXJucyBOVUxMIGZvciBPYmplY3RzIHRoYXQgYXJlIG5vdCBwbHVnaW4gb2JqZWN0cy4gIFRoaXMgbWV0aG9kCisgIC8vIGlzIG92ZXJyaWRkZW4gaW4gdGhlIFBsdWdpbm9iaiBjbGFzcy4KKyAgUGx1Z2lub2JqKgorICBwbHVnaW5vYmooKQorICB7IHJldHVybiB0aGlzLT5kb19wbHVnaW5vYmooKTsgfQorCiAgIC8vIFJldHVybiB0aGUgdGFyZ2V0IHN0cnVjdHVyZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBvYmplY3QuCiAgIFRhcmdldCoKICAgdGFyZ2V0KCkgY29uc3QKQEAgLTQzMSw3ICs0MzgsMTggQEAKIAkJCSAgIHNpemVfdCogdXNlZCkgY29uc3QKICAgeyB0aGlzLT5kb19nZXRfZ2xvYmFsX3N5bWJvbF9jb3VudHMoc3ltdGFiLCBkZWZpbmVkLCB1c2VkKTsgfQogCisgIC8vIFNldCB0aGUgdGFyZ2V0LgorICB2b2lkCisgIHNldF90YXJnZXQoVGFyZ2V0KiB0YXJnZXQpCisgIHsgdGhpcy0+dGFyZ2V0XyA9IHRhcmdldDsgfQorCiAgcHJvdGVjdGVkOgorICAvLyBSZXR1cm5zIE5VTEwgZm9yIE9iamVjdHMgdGhhdCBhcmUgbm90IHBsdWdpbiBvYmplY3RzLiAgVGhpcyBtZXRob2QKKyAgLy8gaXMgb3ZlcnJpZGRlbiBpbiB0aGUgUGx1Z2lub2JqIGNsYXNzLgorICB2aXJ0dWFsIFBsdWdpbm9iaioKKyAgZG9fcGx1Z2lub2JqKCkKKyAgeyByZXR1cm4gTlVMTDsgfQorCiAgIC8vIFJlYWQgdGhlIHN5bWJvbHMtLWltcGxlbWVudGVkIGJ5IGNoaWxkIGNsYXNzLgogICB2aXJ0dWFsIHZvaWQKICAgZG9fcmVhZF9zeW1ib2xzKFJlYWRfc3ltYm9sc19kYXRhKikgPSAwOwpAQCAtMTE4NCw2ICsxMjAyLDggQEAKICAgdHlwZWRlZiBzdGQ6OnZlY3RvcjxTeW1ib2wqPiBTeW1ib2xzOwogICB0eXBlZGVmIHN0ZDo6dmVjdG9yPFN5bWJvbF92YWx1ZTxzaXplPiA+IExvY2FsX3ZhbHVlczsKIAorICBzdGF0aWMgY29uc3QgQWRkcmVzcyBpbnZhbGlkX2FkZHJlc3MgPSBzdGF0aWNfY2FzdDxBZGRyZXNzPigwKSAtIDE7CisKICAgU2l6ZWRfcmVsb2JqKGNvbnN0IHN0ZDo6c3RyaW5nJiBuYW1lLCBJbnB1dF9maWxlKiBpbnB1dF9maWxlLCBvZmZfdCBvZmZzZXQsCiAJICAgICAgIGNvbnN0IHR5cGVuYW1lIGVsZmNwcDo6RWhkcjxzaXplLCBiaWdfZW5kaWFuPiYpOwogCkBAIC0xNDM5LDcgKzE0NTksMTIgQEAKICAgLy8gR2V0IHRoZSBvZmZzZXQgb2YgYSBzZWN0aW9uLgogICB1aW50NjRfdAogICBkb19vdXRwdXRfc2VjdGlvbl9vZmZzZXQodW5zaWduZWQgaW50IHNobmR4KSBjb25zdAotICB7IHJldHVybiB0aGlzLT5nZXRfb3V0cHV0X3NlY3Rpb25fb2Zmc2V0KHNobmR4KTsgfQorICB7CisgICAgQWRkcmVzcyBvZmYgPSB0aGlzLT5nZXRfb3V0cHV0X3NlY3Rpb25fb2Zmc2V0KHNobmR4KTsKKyAgICBpZiAob2ZmID09IGludmFsaWRfYWRkcmVzcykKKyAgICAgIHJldHVybiAtMVVMTDsKKyAgICByZXR1cm4gb2ZmOworICB9CiAKICAgLy8gU2V0IHRoZSBvZmZzZXQgb2YgYSBzZWN0aW9uLgogICB2b2lkCkBAIC0xNjgxLDcgKzE3MDYsNyBAQAogICAvLyBmb3IgVExTIHN5bWJvbHMsIGluZGV4ZWQgYnkgc3ltYm9sIG51bWJlci4KICAgTG9jYWxfZ290X29mZnNldHMgbG9jYWxfZ290X29mZnNldHNfOwogICAvLyBGb3IgZWFjaCBpbnB1dCBzZWN0aW9uLCB0aGUgb2Zmc2V0IG9mIHRoZSBpbnB1dCBzZWN0aW9uIGluIGl0cwotICAvLyBvdXRwdXQgc2VjdGlvbi4gIFRoaXMgaXMgLTFVIGlmIHRoZSBpbnB1dCBzZWN0aW9uIHJlcXVpcmVzIGEKKyAgLy8gb3V0cHV0IHNlY3Rpb24uICBUaGlzIGlzIElOVkFMSURfQUREUkVTUyBpZiB0aGUgaW5wdXQgc2VjdGlvbiByZXF1aXJlcyBhCiAgIC8vIHNwZWNpYWwgbWFwcGluZy4KICAgc3RkOjp2ZWN0b3I8QWRkcmVzcz4gc2VjdGlvbl9vZmZzZXRzXzsKICAgLy8gVGFibGUgbWFwcGluZyBkaXNjYXJkZWQgY29tZGF0IHNlY3Rpb25zIHRvIGNvcnJlc3BvbmRpbmcga2VwdCBzZWN0aW9ucy4KZGlmZiAtLWdpdCBhL2dvbGQvb3B0aW9ucy5jYyBiL2dvbGQvb3B0aW9ucy5jYwppbmRleCA3OGYwYjFhLi4wNjljMTM4IDEwMDY0NAotLS0gYS9nb2xkL29wdGlvbnMuY2MKKysrIGIvZ29sZC9vcHRpb25zLmNjCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAic2NyaXB0LmgiCiAjaW5jbHVkZSAidGFyZ2V0LXNlbGVjdC5oIgogI2luY2x1ZGUgIm9wdGlvbnMuaCIKKyNpbmNsdWRlICJwbHVnaW4uaCIKIAogbmFtZXNwYWNlIGdvbGQKIHsKQEAgLTI5Niw2ICsyOTcsMTUgQEAKICAgY21kbGluZS0+aW5wdXRzKCkuYWRkX2ZpbGUoZmlsZSk7CiB9CiAKKyNpZmRlZiBFTkFCTEVfUExVR0lOUwordm9pZAorR2VuZXJhbF9vcHRpb25zOjpwYXJzZV9wbHVnaW4oY29uc3QgY2hhciosIGNvbnN0IGNoYXIqIGFyZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbW1hbmRfbGluZSopCit7CisgIHRoaXMtPmFkZF9wbHVnaW4oYXJnKTsKK30KKyNlbmRpZiAvLyBFTkFCTEVfUExVR0lOUworCiB2b2lkCiBHZW5lcmFsX29wdGlvbnM6OnBhcnNlX1IoY29uc3QgY2hhciogb3B0aW9uLCBjb25zdCBjaGFyKiBhcmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tbWFuZF9saW5lKiBjbWRsaW5lKQpAQCAtNTk0LDcgKzYwNCw3IEBACiAKIEdlbmVyYWxfb3B0aW9uczo6R2VuZXJhbF9vcHRpb25zKCkKICAgOiBleGVjc3RhY2tfc3RhdHVzXyhHZW5lcmFsX29wdGlvbnM6OkVYRUNTVEFDS19GUk9NX0lOUFVUKSwgc3RhdGljXyhmYWxzZSksCi0gICAgZG9fZGVtYW5nbGVfKGZhbHNlKQorICAgIGRvX2RlbWFuZ2xlXyhmYWxzZSksIHBsdWdpbnNfKCkKIHsKIH0KIApAQCAtNjMyLDYgKzY0MiwxNiBAQAogICBmcmVlKGNhbm9uaWNhbF9zeXNyb290KTsKIH0KIAorLy8gQWRkIGEgcGx1Z2luIGFuZCBpdHMgYXJndW1lbnRzIHRvIHRoZSBsaXN0IG9mIHBsdWdpbnMuCisKK3ZvaWQKK0dlbmVyYWxfb3B0aW9uczo6YWRkX3BsdWdpbihjb25zdCBjaGFyKiBhcmcpCit7CisgIGlmICh0aGlzLT5wbHVnaW5zXyA9PSBOVUxMKQorICAgIHRoaXMtPnBsdWdpbnNfID0gbmV3IFBsdWdpbl9tYW5hZ2VyKCp0aGlzKTsKKyAgdGhpcy0+cGx1Z2luc18tPmFkZF9wbHVnaW4oYXJnKTsKK30KKwogLy8gU2V0IHVwIHZhcmlhYmxlcyBhbmQgb3RoZXIgc3RhdGUgdGhhdCBpc24ndCBzZXQgdXAgYXV0b21hdGljYWxseSBieQogLy8gdGhlIHBhcnNlIHJvdXRpbmUsIGFuZCBlbnN1cmUgb3B0aW9ucyBkb24ndCBjb250cmFkaWN0IGVhY2ggb3RoZXIKIC8vIGFuZCBhcmUgb3RoZXJ3aXNlIGtvc2hlci4KQEAgLTc3Miw2ICs3OTIsOSBAQAogICB0aGlzLT5hZGRfc3lzcm9vdCgpOwogCiAgIC8vIE5vdyB0aGF0IHdlJ3ZlIG5vcm1hbGl6ZWQgdGhlIG9wdGlvbnMsIGNoZWNrIGZvciBjb250cmFkaWN0b3J5IG9uZXMuCisgIGlmICh0aGlzLT5zaGFyZWQoKSAmJiB0aGlzLT5pc19zdGF0aWMoKSkKKyAgICBnb2xkX2ZhdGFsKF8oIi1zaGFyZWQgYW5kIC1zdGF0aWMgYXJlIGluY29tcGF0aWJsZSIpKTsKKwogICBpZiAodGhpcy0+c2hhcmVkKCkgJiYgdGhpcy0+cmVsb2NhdGFibGUoKSkKICAgICBnb2xkX2ZhdGFsKF8oIi1zaGFyZWQgYW5kIC1yIGFyZSBpbmNvbXBhdGlibGUiKSk7CiAKZGlmZiAtLWdpdCBhL2dvbGQvb3B0aW9ucy5oIGIvZ29sZC9vcHRpb25zLmgKaW5kZXggNDZhZDc2MS4uMTY3ZTU4YSAxMDA2NDQKLS0tIGEvZ29sZC9vcHRpb25zLmgKKysrIGIvZ29sZC9vcHRpb25zLmgKQEAgLTU0LDYgKzU0LDcgQEAKIGNsYXNzIElucHV0X2ZpbGVfZ3JvdXA7CiBjbGFzcyBQb3NpdGlvbl9kZXBlbmRlbnRfb3B0aW9uczsKIGNsYXNzIFRhcmdldDsKK2NsYXNzIFBsdWdpbl9tYW5hZ2VyOwogCiAvLyBUaGUgbmVzdGVkIG5hbWVzcGFjZSBpcyB0byBjb250YWluIGFsbCB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBhbmQKIC8vIHN0cnVjdHMgdGhhdCBuZWVkIHRvIGJlIGRlZmluZWQgaW4gdGhlIC5oIGZpbGUsIGJ1dCBkbyBub3QgbmVlZCB0bwpAQCAtNjg5LDggKzY5MCwxNCBAQAogICBERUZJTkVfc3RyaW5nKG9mb3JtYXQsIG9wdGlvbnM6OkVYQUNUTFlfVFdPX0RBU0hFUywgJ1wwJywgImVsZiIsCiAJCU5fKCJTZXQgb3V0cHV0IGZvcm1hdCIpLCBOXygiW2JpbmFyeV0iKSk7CiAKKyNpZmRlZiBFTkFCTEVfUExVR0lOUworICBERUZJTkVfc3BlY2lhbChwbHVnaW4sIG9wdGlvbnM6OlRXT19EQVNIRVMsICdcMCcsCisgICAgICAgICAgICAgICAgIE5fKCJMb2FkIGEgcGx1Z2luIGxpYnJhcnkiKSwgTl8oIlBMVUdJTlssQVJHLC4uLl0iKSk7CisjZW5kaWYKKwogICBERUZJTkVfYm9vbChwcmVyZWFkX2FyY2hpdmVfc3ltYm9scywgb3B0aW9uczo6VFdPX0RBU0hFUywgJ1wwJywgZmFsc2UsCiAgICAgICAgICAgICAgIE5fKCJQcmVyZWFkIGFyY2hpdmUgc3ltYm9scyB3aGVuIG11bHRpLXRocmVhZGVkIiksIE5VTEwpOworCiAgIERFRklORV9zdHJpbmcocHJpbnRfc3ltYm9sX2NvdW50cywgb3B0aW9uczo6VFdPX0RBU0hFUywgJ1wwJywgTlVMTCwKIAkJTl8oIlByaW50IHN5bWJvbHMgZGVmaW5lZCBhbmQgdXNlZCBmb3IgZWFjaCBpbnB1dCIpLAogCQlOXygiRklMRU5BTUUiKSk7CkBAIC04MzcsNiArODQ0LDkgQEAKICAgREVGSU5FX2Jvb2wocmVscm8sIG9wdGlvbnM6OkRBU0hfWiwgJ1wwJywgZmFsc2UsCiAJICAgICAgTl8oIldoZXJlIHBvc3NpYmxlIG1hcmsgdmFyaWFibGVzIHJlYWQtb25seSBhZnRlciByZWxvY2F0aW9uIiksCiAJICAgICAgTl8oIkRvbid0IG1hcmsgdmFyaWFibGVzIHJlYWQtb25seSBhZnRlciByZWxvY2F0aW9uIikpOworICBERUZJTkVfYm9vbChvcmlnaW4sIG9wdGlvbnM6OkRBU0hfWiwgJ1wwJywgZmFsc2UsCisJICAgICAgTl8oIk1hcmsgRFNPIHRvIGluZGljYXRlIHRoYXQgbmVlZHMgaW1tZWRpYXRlICRPUklHSU4gIgorICAgICAgICAgICAgICAgICAicHJvY2Vzc2luZyBhdCBydW50aW1lIiksIE5VTEwpOwogCiAgcHVibGljOgogICB0eXBlZGVmIG9wdGlvbnM6OkRpcl9saXN0IERpcl9saXN0OwpAQCAtODYyLDYgKzg3MiwyMCBAQAogICBvdXRwdXRfaXNfcG9zaXRpb25faW5kZXBlbmRlbnQoKSBjb25zdAogICB7IHJldHVybiB0aGlzLT5zaGFyZWQoKTsgfQogCisgIC8vIFJldHVybiB0cnVlIGlmIHRoZSBvdXRwdXQgaXMgc29tZXRoaW5nIHRoYXQgY2FuIGJlIGV4ZWMoKWVkLCBzdWNoCisgIC8vIGFzIGEgc3RhdGljIGV4ZWN1dGFibGUsIG9yIGEgcG9zaXRpb24tZGVwZW5kZW50IG9yCisgIC8vIHBvc2l0aW9uLWluZGVwZW5kZW50IGV4ZWN1dGFibGUsIGJ1dCBub3QgYSBkeW5hbWljIGxpYnJhcnkgb3IgYW4KKyAgLy8gb2JqZWN0IGZpbGUuCisgIGJvb2wKKyAgb3V0cHV0X2lzX2V4ZWN1dGFibGUoKSBjb25zdAorICB7IHJldHVybiAhdGhpcy0+c2hhcmVkKCkgfHwgdGhpcy0+b3V0cHV0X2lzX3BpZSgpOyB9CisKKyAgLy8gUmV0dXJuIHRydWUgaWYgdGhlIG91dHB1dCBpcyBhIHBvc2l0aW9uLWluZGVwZW5kZW50IGV4ZWN1dGFibGUuCisgIC8vIFRoaXMgaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQuCisgIGJvb2wKKyAgb3V0cHV0X2lzX3BpZSgpIGNvbnN0CisgIHsgcmV0dXJuIGZhbHNlOyB9CisKICAgLy8gVGhpcyB3b3VsZCBub3JtYWxseSBiZSBzdGF0aWMoKSwgYW5kIGRlZmluZWQgYXV0b21hdGljYWxseSwgYnV0CiAgIC8vIHNpbmNlIHN0YXRpYyBpcyBhIGtleXdvcmQsIHdlIG5lZWQgdG8gY29tZSB1cCB3aXRoIG91ciBvd24gbmFtZS4KICAgYm9vbApAQCAtODk5LDYgKzkyMywxNiBAQAogICBkb19kZW1hbmdsZSgpIGNvbnN0CiAgIHsgcmV0dXJuIHRoaXMtPmRvX2RlbWFuZ2xlXzsgfQogCisgIC8vIFJldHVybnMgVFJVRSBpZiBhbnkgcGx1Z2luIGxpYnJhcmllcyBoYXZlIGJlZW4gbG9hZGVkLgorICBib29sCisgIGhhc19wbHVnaW5zKCkgY29uc3QKKyAgeyByZXR1cm4gdGhpcy0+cGx1Z2luc18gIT0gTlVMTDsgfQorCisgIC8vIFJldHVybiBhIHBvaW50ZXIgdG8gdGhlIHBsdWdpbiBtYW5hZ2VyLgorICBQbHVnaW5fbWFuYWdlcioKKyAgcGx1Z2lucygpIGNvbnN0CisgIHsgcmV0dXJuIHRoaXMtPnBsdWdpbnNfOyB9CisKICBwcml2YXRlOgogICAvLyBEb24ndCBjb3B5IHRoaXMgc3RydWN0dXJlLgogICBHZW5lcmFsX29wdGlvbnMoY29uc3QgR2VuZXJhbF9vcHRpb25zJik7CkBAIC05MzYsMTIgKzk3MCwxOCBAQAogICB2b2lkCiAgIGFkZF9zeXNyb290KCk7CiAKKyAgLy8gQWRkIGEgcGx1Z2luIGFuZCBpdHMgYXJndW1lbnRzIHRvIHRoZSBsaXN0IG9mIHBsdWdpbnMuCisgIHZvaWQKKyAgYWRkX3BsdWdpbihjb25zdCBjaGFyKiBhcmcpOworCiAgIC8vIFdoZXRoZXIgdG8gbWFyayB0aGUgc3RhY2sgYXMgZXhlY3V0YWJsZS4KICAgRXhlY3N0YWNrIGV4ZWNzdGFja19zdGF0dXNfOwogICAvLyBXaGV0aGVyIHRvIGRvIGEgc3RhdGljIGxpbmsuCiAgIGJvb2wgc3RhdGljXzsKICAgLy8gV2hldGhlciB0byBkbyBkZW1hbmdsaW5nLgogICBib29sIGRvX2RlbWFuZ2xlXzsKKyAgLy8gTGlzdCBvZiBwbHVnaW4gbGlicmFyaWVzLgorICBQbHVnaW5fbWFuYWdlciogcGx1Z2luc187CiB9OwogCiAvLyBUaGUgcG9zaXRpb24tZGVwZW5kZW50IG9wdGlvbnMuICBXZSB1c2UgdGhpcyB0byBzdG9yZSB0aGUgc3RhdGUgb2YKZGlmZiAtLWdpdCBhL2dvbGQvb3V0cHV0LmNjIGIvZ29sZC9vdXRwdXQuY2MKaW5kZXggMmE0NjE5NS4uZjZhNmYxZCAxMDA2NDQKLS0tIGEvZ29sZC9vdXRwdXQuY2MKKysrIGIvZ29sZC9vdXRwdXQuY2MKQEAgLTgzOCwxMSArODM4LDExIEBACiAgIE91dHB1dF9zZWN0aW9uKiBvcyA9IHRoaXMtPnUxXy5yZWxvYmotPm91dHB1dF9zZWN0aW9uKGxzaSk7CiAgIGdvbGRfYXNzZXJ0KG9zICE9IE5VTEwpOwogICBBZGRyZXNzIG9mZnNldCA9IHRoaXMtPnUxXy5yZWxvYmotPmdldF9vdXRwdXRfc2VjdGlvbl9vZmZzZXQobHNpKTsKLSAgaWYgKG9mZnNldCAhPSAtMVUpCisgIGlmIChvZmZzZXQgIT0gaW52YWxpZF9hZGRyZXNzKQogICAgIHJldHVybiBvZmZzZXQgKyBhZGRlbmQ7CiAgIC8vIFRoaXMgaXMgYSBtZXJnZSBzZWN0aW9uLgogICBvZmZzZXQgPSBvcy0+b3V0cHV0X2FkZHJlc3ModGhpcy0+dTFfLnJlbG9iaiwgbHNpLCBhZGRlbmQpOwotICBnb2xkX2Fzc2VydChvZmZzZXQgIT0gLTFVKTsKKyAgZ29sZF9hc3NlcnQob2Zmc2V0ICE9IGludmFsaWRfYWRkcmVzcyk7CiAgIHJldHVybiBvZmZzZXQ7CiB9CiAKQEAgLTg1OCwxMyArODU4LDEzIEBACiAgICAgICBPdXRwdXRfc2VjdGlvbiogb3MgPSB0aGlzLT51Ml8ucmVsb2JqLT5vdXRwdXRfc2VjdGlvbih0aGlzLT5zaG5keF8pOwogICAgICAgZ29sZF9hc3NlcnQob3MgIT0gTlVMTCk7CiAgICAgICBBZGRyZXNzIG9mZiA9IHRoaXMtPnUyXy5yZWxvYmotPmdldF9vdXRwdXRfc2VjdGlvbl9vZmZzZXQodGhpcy0+c2huZHhfKTsKLSAgICAgIGlmIChvZmYgIT0gLTFVKQorICAgICAgaWYgKG9mZiAhPSBpbnZhbGlkX2FkZHJlc3MpCiAJYWRkcmVzcyArPSBvcy0+YWRkcmVzcygpICsgb2ZmOwogICAgICAgZWxzZQogCXsKIAkgIGFkZHJlc3MgPSBvcy0+b3V0cHV0X2FkZHJlc3ModGhpcy0+dTJfLnJlbG9iaiwgdGhpcy0+c2huZHhfLAogCQkJCSAgICAgICBhZGRyZXNzKTsKLQkgIGdvbGRfYXNzZXJ0KGFkZHJlc3MgIT0gLTFVKTsKKwkgIGdvbGRfYXNzZXJ0KGFkZHJlc3MgIT0gaW52YWxpZF9hZGRyZXNzKTsKIAl9CiAgICAgfQogICBlbHNlIGlmICh0aGlzLT51Ml8ub2QgIT0gTlVMTCkKQEAgLTIwNDMsNyArMjA0Myw3IEBACiAgICAgICBpZiAocC0+b3V0cHV0X29mZnNldChvYmplY3QsIHNobmR4LCBvZmZzZXQsICZvdXRwdXRfb2Zmc2V0KSkKIAl7CiAJICBpZiAob3V0cHV0X29mZnNldCA9PSAtMSkKLQkgICAgcmV0dXJuIC0xVTsKKwkgICAgcmV0dXJuIC0xVUxMOwogCSAgcmV0dXJuIGFkZHIgKyBvdXRwdXRfb2Zmc2V0OwogCX0KICAgICAgIGFkZHIgKz0gcC0+ZGF0YV9zaXplKCk7CmRpZmYgLS1naXQgYS9nb2xkL291dHB1dC5oIGIvZ29sZC9vdXRwdXQuaAppbmRleCAxYzk1ODgxLi45ZjA3NWJlIDEwMDY0NAotLS0gYS9nb2xkL291dHB1dC5oCisrKyBiL2dvbGQvb3V0cHV0LmgKQEAgLTg3NCw2ICs4NzQsOCBAQAogICB0eXBlZGVmIHR5cGVuYW1lIGVsZmNwcDo6RWxmX3R5cGVzPHNpemU+OjpFbGZfQWRkciBBZGRyZXNzOwogICB0eXBlZGVmIHR5cGVuYW1lIGVsZmNwcDo6RWxmX3R5cGVzPHNpemU+OjpFbGZfQWRkciBBZGRlbmQ7CiAKKyAgc3RhdGljIGNvbnN0IEFkZHJlc3MgaW52YWxpZF9hZGRyZXNzID0gc3RhdGljX2Nhc3Q8QWRkcmVzcz4oMCkgLSAxOworCiAgIC8vIEFuIHVuaW5pdGlhbGl6ZWQgZW50cnkuICBXZSBuZWVkIHRoaXMgYmVjYXVzZSB3ZSB3YW50IHRvIHB1dAogICAvLyBpbnN0YW5jZXMgb2YgdGhpcyBjbGFzcyBpbnRvIGFuIFNUTCBjb250YWluZXIuCiAgIE91dHB1dF9yZWxvYygpCkBAIC0xOTE1LDcgKzE5MTcsNyBAQAogCiAgIC8vIEFkZCBhIG5ldyBpbnB1dCBzZWN0aW9uIFNITkRYLCBuYW1lZCBOQU1FLCB3aXRoIGhlYWRlciBTSERSLCBmcm9tCiAgIC8vIG9iamVjdCBPQkpFQ1QuICBSRUxPQ19TSE5EWCBpcyB0aGUgaW5kZXggb2YgYSByZWxvY2F0aW9uIHNlY3Rpb24KLSAgLy8gd2hpY2ggYXBwbGllcyB0byB0aGlzIHNlY3Rpb24sIG9yIDAgaWYgbm9uZSwgb3IgLTFVIGlmIG1vcmUgdGhhbgorICAvLyB3aGljaCBhcHBsaWVzIHRvIHRoaXMgc2VjdGlvbiwgb3IgMCBpZiBub25lLCBvciAtMSBpZiBtb3JlIHRoYW4KICAgLy8gb25lLiAgSEFWRV9TRUNUSU9OU19TQ1JJUFQgaXMgdHJ1ZSBpZiB3ZSBoYXZlIGEgU0VDVElPTlMgY2xhdXNlCiAgIC8vIGluIGEgbGlua2VyIHNjcmlwdDsgaW4gdGhhdCBjYXNlIHdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiBpbnB1dAogICAvLyBzZWN0aW9ucyBhc3NvY2lhdGVkIHdpdGggYW4gb3V0cHV0IHNlY3Rpb24uICBSZXR1cm4gdGhlIG9mZnNldApkaWZmIC0tZ2l0IGEvZ29sZC9wbHVnaW4uY2MgYi9nb2xkL3BsdWdpbi5jYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNWY3YTA2Ci0tLSAvZGV2L251bGwKKysrIGIvZ29sZC9wbHVnaW4uY2MKQEAgLTAsMCArMSw5ODQgQEAKKy8vIHBsdWdpbi5jIC0tIHBsdWdpbiBtYW5hZ2VyIGZvciBnb2xkICAgICAgLSotIEMrKyAtKi0KKworLy8gQ29weXJpZ2h0IDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvLyBXcml0dGVuIGJ5IENhcnkgQ291dGFudCA8Y2NvdXRhbnRAZ29vZ2xlLmNvbT4uCisKKy8vIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGdvbGQuCisKKy8vIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisvLyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLy8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKy8vIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKy8vIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLy8gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy8vIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy8vIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKy8vIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisvLyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorLy8gRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwKKy8vIE1BIDAyMTEwLTEzMDEsIFVTQS4KKworI2luY2x1ZGUgPGNzdGRpbz4KKyNpbmNsdWRlIDxjc3RkYXJnPgorI2luY2x1ZGUgPGNzdHJpbmc+CisjaW5jbHVkZSA8c3RyaW5nPgorI2luY2x1ZGUgPHZlY3Rvcj4KKyNpbmNsdWRlIDxkbGZjbi5oPgorCisjaW5jbHVkZSAiZ29sZC5oIgorI2luY2x1ZGUgInBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJlcnJvcnMuaCIKKyNpbmNsdWRlICJmaWxlcmVhZC5oIgorI2luY2x1ZGUgImxheW91dC5oIgorI2luY2x1ZGUgIm9wdGlvbnMuaCIKKyNpbmNsdWRlICJwbHVnaW4uaCIKKyNpbmNsdWRlICJ0YXJnZXQuaCIKKyNpbmNsdWRlICJyZWFkc3ltcy5oIgorI2luY2x1ZGUgInN5bXRhYi5oIgorI2luY2x1ZGUgImVsZmNwcC5oIgorCituYW1lc3BhY2UgZ29sZAoreworCisjaWZkZWYgRU5BQkxFX1BMVUdJTlMKKworLy8gVGhlIGxpbmtlcidzIGV4cG9ydGVkIGludGVyZmFjZXMuCisKK2V4dGVybiAiQyIKK3sKKworc3RhdGljIGVudW0gbGRfcGx1Z2luX3N0YXR1cworcmVnaXN0ZXJfY2xhaW1fZmlsZShsZF9wbHVnaW5fY2xhaW1fZmlsZV9oYW5kbGVyIGhhbmRsZXIpOworCitzdGF0aWMgZW51bSBsZF9wbHVnaW5fc3RhdHVzCityZWdpc3Rlcl9hbGxfc3ltYm9sc19yZWFkKGxkX3BsdWdpbl9hbGxfc3ltYm9sc19yZWFkX2hhbmRsZXIgaGFuZGxlcik7CisKK3N0YXRpYyBlbnVtIGxkX3BsdWdpbl9zdGF0dXMKK3JlZ2lzdGVyX2NsZWFudXAobGRfcGx1Z2luX2NsZWFudXBfaGFuZGxlciBoYW5kbGVyKTsKKworc3RhdGljIGVudW0gbGRfcGx1Z2luX3N0YXR1cworYWRkX3N5bWJvbHModm9pZCAqaGFuZGxlLCBpbnQgbnN5bXMsIGNvbnN0IHN0cnVjdCBsZF9wbHVnaW5fc3ltYm9sICpzeW1zKTsKKworc3RhdGljIGVudW0gbGRfcGx1Z2luX3N0YXR1cworZ2V0X3N5bWJvbHMoY29uc3Qgdm9pZCAqaGFuZGxlLCBpbnQgbnN5bXMsIHN0cnVjdCBsZF9wbHVnaW5fc3ltYm9sICpzeW1zKTsKKworc3RhdGljIGVudW0gbGRfcGx1Z2luX3N0YXR1cworYWRkX2lucHV0X2ZpbGUoY2hhciAqcGF0aG5hbWUpOworCitzdGF0aWMgZW51bSBsZF9wbHVnaW5fc3RhdHVzCittZXNzYWdlKGludCBsZXZlbCwgY2hhciAqZm9ybWF0LCAuLi4pOworCit9OworCisjZW5kaWYgLy8gRU5BQkxFX1BMVUdJTlMKKworc3RhdGljIFBsdWdpbm9iaiogbWFrZV9zaXplZF9wbHVnaW5fb2JqZWN0KElucHV0X2ZpbGUqIGlucHV0X2ZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2ZmX3Qgb2Zmc2V0KTsKKworLy8gUGx1Z2luIG1ldGhvZHMuCisKKy8vIExvYWQgb25lIHBsdWdpbiBsaWJyYXJ5LgorCit2b2lkCitQbHVnaW46OmxvYWQoKQoreworI2lmZGVmIEVOQUJMRV9QTFVHSU5TCisgIHN0ZDo6c3RyaW5nIGZpbGVuYW1lOworICBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gYXJnczsKKworICAvLyBQYXJzZSB0aGUgZmlsZW5hbWUgYW5kIGFyZ3VtZW50cywgZWFjaCBzZXBhcmF0ZWQgYnkgY29tbWFzLgorICAvLyBGSVhNRTogIFRlbXBvcmFyaWx5IGFsbG93aW5nIHNlbWljb2xvbiBhcyBhbiBhcmd1bWVudCBzZXBhcmF0b3IKKyAgLy8gc28gYXJncyBjYW4gYmUgcGFzc2VkIHRocm91Z2ggZ2NjJ3MgLVdsLC4uLiBvcHRpb24sIHdoaWNoCisgIC8vIGJyZWFrcyBhcmd1bWVudHMgYXQgdGhlIGNvbW1hcy4KKyAgY29uc3QgY2hhciogcCA9IHRoaXMtPmFyZ3NfOworICBpbnQgbiA9IHN0cmNzcG4ocCwgIiw7Iik7CisgIGZpbGVuYW1lLmFzc2lnbihwLCBuKTsKKyAgcCArPSBuOworICB3aGlsZSAoKnAgPT0gJywnIHx8ICpwID09ICc7JykKKyAgICB7CisgICAgICArK3A7CisgICAgICBuID0gc3RyY3NwbihwLCAiLDsiKTsKKyAgICAgIGFyZ3MucHVzaF9iYWNrKHN0ZDo6c3RyaW5nKHAsIG4pKTsKKyAgICAgIHAgKz0gbjsKKyAgICB9CisKKyAgLy8gTG9hZCB0aGUgcGx1Z2luIGxpYnJhcnkuCisgIC8vIEZJWE1FOiBMb29rIGZvciB0aGUgbGlicmFyeSBpbiBzdGFuZGFyZCBsb2NhdGlvbnMuCisgIHRoaXMtPmhhbmRsZV8gPSBkbG9wZW4oZmlsZW5hbWUuY19zdHIoKSwgUlRMRF9OT1cpOworICBpZiAodGhpcy0+aGFuZGxlXyA9PSBOVUxMKQorICAgIHsKKyAgICAgIGdvbGRfZXJyb3IoXygiJXM6IGNvdWxkIG5vdCBsb2FkIHBsdWdpbiBsaWJyYXJ5IiksIGZpbGVuYW1lLmNfc3RyKCkpOworICAgICAgcmV0dXJuOworICAgIH0KKworICAvLyBGaW5kIHRoZSBwbHVnaW4ncyBvbmxvYWQgZW50cnkgcG9pbnQuCisgIGxkX3BsdWdpbl9vbmxvYWQgb25sb2FkID0gcmVpbnRlcnByZXRfY2FzdDxsZF9wbHVnaW5fb25sb2FkPgorICAgIChkbHN5bSh0aGlzLT5oYW5kbGVfLCAib25sb2FkIikpOworICBpZiAob25sb2FkID09IE5VTEwpCisgICAgeworICAgICAgZ29sZF9lcnJvcihfKCIlczogY291bGQgbm90IGZpbmQgb25sb2FkIGVudHJ5IHBvaW50IiksIGZpbGVuYW1lLmNfc3RyKCkpOworICAgICAgcmV0dXJuOworICAgIH0KKworICAvLyBHZXQgdGhlIGxpbmtlcidzIHZlcnNpb24gbnVtYmVyLgorICBjb25zdCBjaGFyKiB2ZXIgPSBnZXRfdmVyc2lvbl9zdHJpbmcoKTsKKyAgaW50IG1ham9yID0gMDsKKyAgaW50IG1pbm9yID0gMDsKKyAgc3NjYW5mKHZlciwgIiVkLiVkIiwgJm1ham9yLCAmbWlub3IpOworCisgIC8vIEFsbG9jYXRlIGFuZCBwb3B1bGF0ZSBhIHRyYW5zZmVyIHZlY3Rvci4KKyAgY29uc3QgaW50IHR2X2ZpeGVkX3NpemUgPSAxMTsKKyAgaW50IHR2X3NpemUgPSBhcmdzLnNpemUoKSArIHR2X2ZpeGVkX3NpemU7CisgIGxkX3BsdWdpbl90diAqdHYgPSBuZXcgbGRfcGx1Z2luX3R2W3R2X3NpemVdOworCisgIGludCBpID0gMDsKKyAgdHZbaV0udHZfdGFnID0gTERQVF9BUElfVkVSU0lPTjsKKyAgdHZbaV0udHZfdS50dl92YWwgPSBMRF9QTFVHSU5fQVBJX1ZFUlNJT047CisKKyAgKytpOworICB0dltpXS50dl90YWcgPSBMRFBUX0dPTERfVkVSU0lPTjsKKyAgdHZbaV0udHZfdS50dl92YWwgPSBtYWpvciAqIDEwMCArIG1pbm9yOworCisgICsraTsKKyAgdHZbaV0udHZfdGFnID0gTERQVF9MSU5LRVJfT1VUUFVUOworICBpZiAocGFyYW1ldGVycy0+b3B0aW9ucygpLnJlbG9jYXRhYmxlKCkpCisgICAgdHZbaV0udHZfdS50dl92YWwgPSBMRFBPX1JFTDsKKyAgZWxzZSBpZiAocGFyYW1ldGVycy0+b3B0aW9ucygpLnNoYXJlZCgpKQorICAgIHR2W2ldLnR2X3UudHZfdmFsID0gTERQT19EWU47CisgIGVsc2UKKyAgICB0dltpXS50dl91LnR2X3ZhbCA9IExEUE9fRVhFQzsKKworICBmb3IgKHVuc2lnbmVkIGludCBqID0gMDsgaiA8IGFyZ3Muc2l6ZSgpOyArK2opCisgICAgeworICAgICAgKytpOworICAgICAgdHZbaV0udHZfdGFnID0gTERQVF9PUFRJT047CisgICAgICB0dltpXS50dl91LnR2X3N0cmluZyA9IGFyZ3Nbal0uY19zdHIoKTsKKyAgICB9CisKKyAgKytpOworICB0dltpXS50dl90YWcgPSBMRFBUX1JFR0lTVEVSX0NMQUlNX0ZJTEVfSE9PSzsKKyAgdHZbaV0udHZfdS50dl9yZWdpc3Rlcl9jbGFpbV9maWxlID0gcmVnaXN0ZXJfY2xhaW1fZmlsZTsKKworICArK2k7CisgIHR2W2ldLnR2X3RhZyA9IExEUFRfUkVHSVNURVJfQUxMX1NZTUJPTFNfUkVBRF9IT09LOworICB0dltpXS50dl91LnR2X3JlZ2lzdGVyX2FsbF9zeW1ib2xzX3JlYWQgPSByZWdpc3Rlcl9hbGxfc3ltYm9sc19yZWFkOworCisgICsraTsKKyAgdHZbaV0udHZfdGFnID0gTERQVF9SRUdJU1RFUl9DTEVBTlVQX0hPT0s7CisgIHR2W2ldLnR2X3UudHZfcmVnaXN0ZXJfY2xlYW51cCA9IHJlZ2lzdGVyX2NsZWFudXA7CisKKyAgKytpOworICB0dltpXS50dl90YWcgPSBMRFBUX0FERF9TWU1CT0xTOworICB0dltpXS50dl91LnR2X2FkZF9zeW1ib2xzID0gYWRkX3N5bWJvbHM7CisKKyAgKytpOworICB0dltpXS50dl90YWcgPSBMRFBUX0dFVF9TWU1CT0xTOworICB0dltpXS50dl91LnR2X2dldF9zeW1ib2xzID0gZ2V0X3N5bWJvbHM7CisKKyAgKytpOworICB0dltpXS50dl90YWcgPSBMRFBUX0FERF9JTlBVVF9GSUxFOworICB0dltpXS50dl91LnR2X2FkZF9pbnB1dF9maWxlID0gYWRkX2lucHV0X2ZpbGU7CisKKyAgKytpOworICB0dltpXS50dl90YWcgPSBMRFBUX01FU1NBR0U7CisgIHR2W2ldLnR2X3UudHZfbWVzc2FnZSA9IG1lc3NhZ2U7CisKKyAgKytpOworICB0dltpXS50dl90YWcgPSBMRFBUX05VTEw7CisgIHR2W2ldLnR2X3UudHZfdmFsID0gMDsKKworICBnb2xkX2Fzc2VydChpID09IHR2X3NpemUgLSAxKTsKKworICAvLyBDYWxsIHRoZSBvbmxvYWQgZW50cnkgcG9pbnQuCisgICgqb25sb2FkKSh0dik7CisKKyAgZGVsZXRlIHR2OworI2VuZGlmIC8vIEVOQUJMRV9QTFVHSU5TCit9CisKKy8vIENhbGwgdGhlIHBsdWdpbiBjbGFpbS1maWxlIGhhbmRsZXIuCisKK2lubGluZSBib29sCitQbHVnaW46OmNsYWltX2ZpbGUoc3RydWN0IGxkX3BsdWdpbl9pbnB1dF9maWxlICpwbHVnaW5faW5wdXRfZmlsZSkKK3sKKyAgaW50IGNsYWltZWQgPSAwOworCisgIGlmICh0aGlzLT5jbGFpbV9maWxlX2hhbmRsZXJfICE9IE5VTEwpCisgICAgeworICAgICAgKCp0aGlzLT5jbGFpbV9maWxlX2hhbmRsZXJfKShwbHVnaW5faW5wdXRfZmlsZSwgJmNsYWltZWQpOworICAgICAgaWYgKGNsYWltZWQpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgcmV0dXJuIGZhbHNlOworfQorCisvLyBDYWxsIHRoZSBhbGwtc3ltYm9scy1yZWFkIGhhbmRsZXIuCisKK2lubGluZSB2b2lkCitQbHVnaW46OmFsbF9zeW1ib2xzX3JlYWQoKQoreworICBpZiAodGhpcy0+YWxsX3N5bWJvbHNfcmVhZF9oYW5kbGVyXyAhPSBOVUxMKQorICAgICgqdGhpcy0+YWxsX3N5bWJvbHNfcmVhZF9oYW5kbGVyXykoKTsKK30KKworLy8gQ2FsbCB0aGUgY2xlYW51cCBoYW5kbGVyLgorCitpbmxpbmUgdm9pZAorUGx1Z2luOjpjbGVhbnVwKCkKK3sKKyAgaWYgKHRoaXMtPmNsZWFudXBfaGFuZGxlcl8gIT0gTlVMTCkKKyAgICAoKnRoaXMtPmNsZWFudXBfaGFuZGxlcl8pKCk7Cit9CisKKy8vIFBsdWdpbl9tYW5hZ2VyIG1ldGhvZHMuCisKK1BsdWdpbl9tYW5hZ2VyOjp+UGx1Z2luX21hbmFnZXIoKQoreworICBmb3IgKFBsdWdpbl9saXN0OjppdGVyYXRvciBwID0gdGhpcy0+cGx1Z2luc18uYmVnaW4oKTsKKyAgICAgICBwICE9IHRoaXMtPnBsdWdpbnNfLmVuZCgpOworICAgICAgICsrcCkKKyAgICBkZWxldGUgKnA7CisgIHRoaXMtPnBsdWdpbnNfLmNsZWFyKCk7CisgIGZvciAoT2JqZWN0X2xpc3Q6Oml0ZXJhdG9yIG9iaiA9IHRoaXMtPm9iamVjdHNfLmJlZ2luKCk7CisgICAgICAgb2JqICE9IHRoaXMtPm9iamVjdHNfLmVuZCgpOworICAgICAgICsrb2JqKQorICAgIGRlbGV0ZSAqb2JqOworICB0aGlzLT5vYmplY3RzXy5jbGVhcigpOworfQorCisvLyBMb2FkIGFsbCBwbHVnaW4gbGlicmFyaWVzLgorCit2b2lkCitQbHVnaW5fbWFuYWdlcjo6bG9hZF9wbHVnaW5zKCkKK3sKKyAgZm9yICh0aGlzLT5jdXJyZW50XyA9IHRoaXMtPnBsdWdpbnNfLmJlZ2luKCk7CisgICAgICAgdGhpcy0+Y3VycmVudF8gIT0gdGhpcy0+cGx1Z2luc18uZW5kKCk7CisgICAgICAgKyt0aGlzLT5jdXJyZW50XykKKyAgICAoKnRoaXMtPmN1cnJlbnRfKS0+bG9hZCgpOworfQorCisvLyBDYWxsIHRoZSBwbHVnaW4gY2xhaW0tZmlsZSBoYW5kbGVycyBpbiB0dXJuIHRvIHNlZSBpZiBhbnkgY2xhaW0gdGhlIGZpbGUuCisKK1BsdWdpbm9iaioKK1BsdWdpbl9tYW5hZ2VyOjpjbGFpbV9maWxlKElucHV0X2ZpbGUqIGlucHV0X2ZpbGUsIG9mZl90IG9mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZl90IGZpbGVzaXplKQoreworICBpZiAodGhpcy0+aW5fcmVwbGFjZW1lbnRfcGhhc2VfKQorICAgIHJldHVybiBOVUxMOworCisgIHVuc2lnbmVkIGludCBoYW5kbGUgPSB0aGlzLT5vYmplY3RzXy5zaXplKCk7CisgIHRoaXMtPmlucHV0X2ZpbGVfID0gaW5wdXRfZmlsZTsKKyAgdGhpcy0+cGx1Z2luX2lucHV0X2ZpbGVfLm5hbWUgPSBpbnB1dF9maWxlLT5maWxlbmFtZSgpLmNfc3RyKCk7CisgIHRoaXMtPnBsdWdpbl9pbnB1dF9maWxlXy5mZCA9IGlucHV0X2ZpbGUtPmZpbGUoKS5kZXNjcmlwdG9yKCk7CisgIHRoaXMtPnBsdWdpbl9pbnB1dF9maWxlXy5vZmZzZXQgPSBvZmZzZXQ7CisgIHRoaXMtPnBsdWdpbl9pbnB1dF9maWxlXy5maWxlc2l6ZSA9IGZpbGVzaXplOworICB0aGlzLT5wbHVnaW5faW5wdXRfZmlsZV8uaGFuZGxlID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oaGFuZGxlKTsKKworICBmb3IgKHRoaXMtPmN1cnJlbnRfID0gdGhpcy0+cGx1Z2luc18uYmVnaW4oKTsKKyAgICAgICB0aGlzLT5jdXJyZW50XyAhPSB0aGlzLT5wbHVnaW5zXy5lbmQoKTsKKyAgICAgICArK3RoaXMtPmN1cnJlbnRfKQorICAgIHsKKyAgICAgIGlmICgoKnRoaXMtPmN1cnJlbnRfKS0+Y2xhaW1fZmlsZSgmdGhpcy0+cGx1Z2luX2lucHV0X2ZpbGVfKSkKKyAgICAgICAgeworICAgICAgICAgIGlmICh0aGlzLT5vYmplY3RzXy5zaXplKCkgPD0gaGFuZGxlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICBnb2xkX2Vycm9yKF8oIiVzOiBwbHVnaW4gY2xhaW1lZCB0aGUgZmlsZSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiYnV0IGRpZCBub3QgcHJvdmlkZSBhbnkgc3ltYm9scyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMtPnBsdWdpbl9pbnB1dF9maWxlXy5uYW1lKTsKKyAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgICAgcmV0dXJuIHRoaXMtPm9iamVjdHNfW2hhbmRsZV07CisgICAgICAgIH0KKyAgICB9CisKKyAgcmV0dXJuIE5VTEw7Cit9CisKKy8vIENhbGwgdGhlIGFsbC1zeW1ib2xzLXJlYWQgaGFuZGxlcnMuCisKK3ZvaWQKK1BsdWdpbl9tYW5hZ2VyOjphbGxfc3ltYm9sc19yZWFkKFdvcmtxdWV1ZSogd29ya3F1ZXVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXRfb2JqZWN0cyogaW5wdXRfb2JqZWN0cywKKwkgICAgICAgICAgICAgICAgICAgICAgICAgU3ltYm9sX3RhYmxlKiBzeW10YWIsIExheW91dCogbGF5b3V0LAorCSAgICAgICAgICAgICAgICAgICAgICAgICBEaXJzZWFyY2gqIGRpcnBhdGgsIE1hcGZpbGUqIG1hcGZpbGUsCisJICAgICAgICAgICAgICAgICAgICAgICAgIFRhc2tfdG9rZW4qKiBsYXN0X2Jsb2NrZXIpCit7CisgIHRoaXMtPmluX3JlcGxhY2VtZW50X3BoYXNlXyA9IHRydWU7CisgIHRoaXMtPndvcmtxdWV1ZV8gPSB3b3JrcXVldWU7CisgIHRoaXMtPmlucHV0X29iamVjdHNfID0gaW5wdXRfb2JqZWN0czsKKyAgdGhpcy0+c3ltdGFiXyA9IHN5bXRhYjsKKyAgdGhpcy0+bGF5b3V0XyA9IGxheW91dDsKKyAgdGhpcy0+ZGlycGF0aF8gPSBkaXJwYXRoOworICB0aGlzLT5tYXBmaWxlXyA9IG1hcGZpbGU7CisgIHRoaXMtPnRoaXNfYmxvY2tlcl8gPSBOVUxMOworCisgIGZvciAodGhpcy0+Y3VycmVudF8gPSB0aGlzLT5wbHVnaW5zXy5iZWdpbigpOworICAgICAgIHRoaXMtPmN1cnJlbnRfICE9IHRoaXMtPnBsdWdpbnNfLmVuZCgpOworICAgICAgICsrdGhpcy0+Y3VycmVudF8pCisgICAgKCp0aGlzLT5jdXJyZW50XyktPmFsbF9zeW1ib2xzX3JlYWQoKTsKKworICAqbGFzdF9ibG9ja2VyID0gdGhpcy0+dGhpc19ibG9ja2VyXzsKK30KKworLy8gQ2FsbCB0aGUgY2xlYW51cCBoYW5kbGVycy4KKwordm9pZAorUGx1Z2luX21hbmFnZXI6OmNsZWFudXAoKQoreworICBmb3IgKHRoaXMtPmN1cnJlbnRfID0gdGhpcy0+cGx1Z2luc18uYmVnaW4oKTsKKyAgICAgICB0aGlzLT5jdXJyZW50XyAhPSB0aGlzLT5wbHVnaW5zXy5lbmQoKTsKKyAgICAgICArK3RoaXMtPmN1cnJlbnRfKQorICAgICgqdGhpcy0+Y3VycmVudF8pLT5jbGVhbnVwKCk7Cit9CisKKy8vIE1ha2UgYSBuZXcgUGx1Z2lub2JqIG9iamVjdC4gIFRoaXMgaXMgY2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBjYWxscworLy8gdGhlIGFkZF9zeW1ib2xzIEFQSS4KKworUGx1Z2lub2JqKgorUGx1Z2luX21hbmFnZXI6Om1ha2VfcGx1Z2luX29iamVjdCh1bnNpZ25lZCBpbnQgaGFuZGxlKQoreworICAvLyBNYWtlIHN1cmUgd2UgYXJlbid0IGFza2VkIHRvIG1ha2UgYW4gb2JqZWN0IGZvciB0aGUgc2FtZSBoYW5kbGUgdHdpY2UuCisgIGlmICh0aGlzLT5vYmplY3RzXy5zaXplKCkgIT0gaGFuZGxlKQorICAgIHJldHVybiBOVUxMOworCisgIFBsdWdpbm9iaiogb2JqID0gbWFrZV9zaXplZF9wbHVnaW5fb2JqZWN0KHRoaXMtPmlucHV0X2ZpbGVfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLT5wbHVnaW5faW5wdXRfZmlsZV8ub2Zmc2V0KTsKKyAgdGhpcy0+b2JqZWN0c18ucHVzaF9iYWNrKG9iaik7CisgIHJldHVybiBvYmo7Cit9CisKKy8vIEFkZCBhIG5ldyBpbnB1dCBmaWxlLgorCitsZF9wbHVnaW5fc3RhdHVzCitQbHVnaW5fbWFuYWdlcjo6YWRkX2lucHV0X2ZpbGUoY2hhciAqcGF0aG5hbWUpCit7CisgIElucHV0X2ZpbGVfYXJndW1lbnQgZmlsZShwYXRobmFtZSwgZmFsc2UsICIiLCBmYWxzZSwgdGhpcy0+b3B0aW9uc18pOworICBJbnB1dF9hcmd1bWVudCogaW5wdXRfYXJndW1lbnQgPSBuZXcgSW5wdXRfYXJndW1lbnQoZmlsZSk7CisgIFRhc2tfdG9rZW4qIG5leHRfYmxvY2tlciA9IG5ldyBUYXNrX3Rva2VuKHRydWUpOworICBuZXh0X2Jsb2NrZXItPmFkZF9ibG9ja2VyKCk7CisgIHRoaXMtPndvcmtxdWV1ZV8tPnF1ZXVlX3Nvb24obmV3IFJlYWRfc3ltYm9scyh0aGlzLT5vcHRpb25zXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMtPmlucHV0X29iamVjdHNfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy0+c3ltdGFiXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMtPmxheW91dF8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLT5kaXJwYXRoXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMtPm1hcGZpbGVfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfYXJndW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy0+dGhpc19ibG9ja2VyXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRfYmxvY2tlcikpOworICB0aGlzLT50aGlzX2Jsb2NrZXJfID0gbmV4dF9ibG9ja2VyOworICByZXR1cm4gTERQU19PSzsKK30KKworLy8gQ2xhc3MgUGx1Z2lub2JqLgorCitQbHVnaW5vYmo6OlBsdWdpbm9iaihjb25zdCBzdGQ6OnN0cmluZyYgbmFtZSwgSW5wdXRfZmlsZSogaW5wdXRfZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgIG9mZl90IG9mZnNldCkKKyAgOiBPYmplY3QobmFtZSwgaW5wdXRfZmlsZSwgZmFsc2UsIG9mZnNldCksCisgICAgbnN5bXNfKDApLCBzeW1zXyhOVUxMKSwgc3ltYm9sc18oKSwgY29tZGF0X21hcF8oKQoreworfQorCisvLyBHZXQgc3ltYm9sIHJlc29sdXRpb24gaW5mby4KKworbGRfcGx1Z2luX3N0YXR1cworUGx1Z2lub2JqOjpnZXRfc3ltYm9sX3Jlc29sdXRpb25faW5mbyhpbnQgbnN5bXMsIGxkX3BsdWdpbl9zeW1ib2wqIHN5bXMpIGNvbnN0Cit7CisgIGlmICh0aGlzLT5uc3ltc18gPT0gMCkKKyAgICByZXR1cm4gTERQU19OT19TWU1TOworICBmb3IgKGludCBpID0gMDsgaSA8IG5zeW1zOyBpKyspCisgICAgeworICAgICAgbGRfcGx1Z2luX3N5bWJvbCogaXN5bSA9ICZzeW1zW2ldOworICAgICAgU3ltYm9sKiBsc3ltID0gdGhpcy0+c3ltYm9sc19baV07CisgICAgICBsZF9wbHVnaW5fc3ltYm9sX3Jlc29sdXRpb24gcmVzID0gTERQUl9VTktOT1dOOworCisgICAgICBpZiAobHN5bS0+aXNfdW5kZWZpbmVkKCkpCisgICAgICAgIC8vIFRoZSBzeW1ib2wgcmVtYWlucyB1bmRlZmluZWQuCisgICAgICAgIHJlcyA9IExEUFJfVU5ERUY7CisgICAgICBlbHNlIGlmIChpc3ltLT5kZWYgPT0gTERQS19VTkRFRgorICAgICAgICAgICAgICAgfHwgaXN5bS0+ZGVmID09IExEUEtfV0VBS1VOREVGCisgICAgICAgICAgICAgICB8fCBpc3ltLT5kZWYgPT0gTERQS19DT01NT04pCisgICAgICAgIHsKKyAgICAgICAgICAvLyBUaGUgb3JpZ2luYWwgc3ltYm9sIHdhcyB1bmRlZmluZWQgb3IgY29tbW9uLgorICAgICAgICAgIGlmIChsc3ltLT5zb3VyY2UoKSAhPSBTeW1ib2w6OkZST01fT0JKRUNUKQorICAgICAgICAgICAgcmVzID0gTERQUl9SRVNPTFZFRF9FWEVDOworICAgICAgICAgIGVsc2UgaWYgKGxzeW0tPm9iamVjdCgpLT5wbHVnaW5vYmooKSAhPSBOVUxMKQorICAgICAgICAgICAgcmVzID0gTERQUl9SRVNPTFZFRF9JUjsKKyAgICAgICAgICBlbHNlIGlmIChsc3ltLT5vYmplY3QoKS0+aXNfZHluYW1pYygpKQorICAgICAgICAgICAgcmVzID0gTERQUl9SRVNPTFZFRF9EWU47CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVzID0gTERQUl9SRVNPTFZFRF9FWEVDOworICAgICAgICB9CisgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAvLyBUaGUgb3JpZ2luYWwgc3ltYm9sIHdhcyBhIGRlZmluaXRpb24uCisgICAgICAgICAgaWYgKGxzeW0tPnNvdXJjZSgpICE9IFN5bWJvbDo6RlJPTV9PQkpFQ1QpCisgICAgICAgICAgICByZXMgPSBMRFBSX1BSRUVNUFRFRF9SRUc7CisgICAgICAgICAgZWxzZSBpZiAobHN5bS0+b2JqZWN0KCkgPT0gc3RhdGljX2Nhc3Q8Y29uc3QgT2JqZWN0Kj4odGhpcykpCisgICAgICAgICAgICByZXMgPSAobHN5bS0+aW5fcmVhbF9lbGYoKQorICAgICAgICAgICAgICAgICAgID8gTERQUl9QUkVWQUlMSU5HX0RFRgorICAgICAgICAgICAgICAgICAgIDogTERQUl9QUkVWQUlMSU5HX0RFRl9JUk9OTFkpOworICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlcyA9IChsc3ltLT5vYmplY3QoKS0+cGx1Z2lub2JqKCkgIT0gTlVMTAorICAgICAgICAgICAgICAgICAgID8gTERQUl9QUkVFTVBURURfSVIKKyAgICAgICAgICAgICAgICAgICA6IExEUFJfUFJFRU1QVEVEX1JFRyk7CisgICAgICAgIH0KKyAgICAgIGlzeW0tPnJlc29sdXRpb24gPSByZXM7CisgICAgfQorICByZXR1cm4gTERQU19PSzsKK30KKworLy8gUmV0dXJuIFRSVUUgaWYgdGhlIGNvbWRhdCBncm91cCB3aXRoIGtleSBDT01EQVRfS0VZIGZyb20gdGhpcyBvYmplY3QKKy8vIHNob3VsZCBiZSBrZXB0LgorCitib29sCitQbHVnaW5vYmo6OmluY2x1ZGVfY29tZGF0X2dyb3VwKHN0ZDo6c3RyaW5nIGNvbWRhdF9rZXksIExheW91dCogbGF5b3V0KQoreworICBzdGQ6OnBhaXI8Q29tZGF0X21hcDo6aXRlcmF0b3IsIGJvb2w+IGlucyA9CisgICAgdGhpcy0+Y29tZGF0X21hcF8uaW5zZXJ0KHN0ZDo6bWFrZV9wYWlyKGNvbWRhdF9rZXksIGZhbHNlKSk7CisKKyAgLy8gSWYgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB3ZSd2ZSBzZWVuIHRoaXMgY29tZGF0IGtleSwgYXNrIHRoZQorICAvLyBsYXlvdXQgb2JqZWN0IHdoZXRoZXIgaXQgc2hvdWxkIGJlIGluY2x1ZGVkLgorICBpZiAoaW5zLnNlY29uZCkKKyAgICBpbnMuZmlyc3QtPnNlY29uZCA9IGxheW91dC0+YWRkX2NvbWRhdChOVUxMLCAxLCBjb21kYXRfa2V5LCB0cnVlKTsKKworICByZXR1cm4gaW5zLmZpcnN0LT5zZWNvbmQ7Cit9CisKKy8vIENsYXNzIFNpemVkX3BsdWdpbm9iai4KKwordGVtcGxhdGU8aW50IHNpemUsIGJvb2wgYmlnX2VuZGlhbj4KK1NpemVkX3BsdWdpbm9iajxzaXplLCBiaWdfZW5kaWFuPjo6U2l6ZWRfcGx1Z2lub2JqKAorICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBuYW1lLAorICAgIElucHV0X2ZpbGUqIGlucHV0X2ZpbGUsCisgICAgb2ZmX3Qgb2Zmc2V0KQorICA6IFBsdWdpbm9iaihuYW1lLCBpbnB1dF9maWxlLCBvZmZzZXQpCit7Cit9CisKKy8vIFJlYWQgdGhlIHN5bWJvbHMuICBOb3QgdXNlZCBmb3IgcGx1Z2luIG9iamVjdHMuCisKK3RlbXBsYXRlPGludCBzaXplLCBib29sIGJpZ19lbmRpYW4+Cit2b2lkCitTaXplZF9wbHVnaW5vYmo8c2l6ZSwgYmlnX2VuZGlhbj46OmRvX3JlYWRfc3ltYm9scyhSZWFkX3N5bWJvbHNfZGF0YSopCit7CisgIGdvbGRfdW5yZWFjaGFibGUoKTsKK30KKworLy8gTGF5IG91dCB0aGUgaW5wdXQgc2VjdGlvbnMuICBOb3QgdXNlZCBmb3IgcGx1Z2luIG9iamVjdHMuCisKK3RlbXBsYXRlPGludCBzaXplLCBib29sIGJpZ19lbmRpYW4+Cit2b2lkCitTaXplZF9wbHVnaW5vYmo8c2l6ZSwgYmlnX2VuZGlhbj46OmRvX2xheW91dChTeW1ib2xfdGFibGUqLCBMYXlvdXQqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhZF9zeW1ib2xzX2RhdGEqKQoreworICBnb2xkX3VucmVhY2hhYmxlKCk7Cit9CisKKy8vIEFkZCB0aGUgc3ltYm9scyB0byB0aGUgc3ltYm9sIHRhYmxlLgorCit0ZW1wbGF0ZTxpbnQgc2l6ZSwgYm9vbCBiaWdfZW5kaWFuPgordm9pZAorU2l6ZWRfcGx1Z2lub2JqPHNpemUsIGJpZ19lbmRpYW4+Ojpkb19hZGRfc3ltYm9scyhTeW1ib2xfdGFibGUqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFkX3N5bWJvbHNfZGF0YSopCit7CisgIGdvbGRfdW5yZWFjaGFibGUoKTsKK30KKwordGVtcGxhdGU8aW50IHNpemUsIGJvb2wgYmlnX2VuZGlhbj4KK3ZvaWQKK1NpemVkX3BsdWdpbm9iajxzaXplLCBiaWdfZW5kaWFuPjo6ZG9fYWRkX3N5bWJvbHMoU3ltYm9sX3RhYmxlKiBzeW10YWIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dCogbGF5b3V0KQoreworICBjb25zdCBpbnQgc3ltX3NpemUgPSBlbGZjcHA6OkVsZl9zaXplczxzaXplPjo6c3ltX3NpemU7CisgIHVuc2lnbmVkIGNoYXIgc3ltYnVmW3N5bV9zaXplXTsKKyAgZWxmY3BwOjpTeW08c2l6ZSwgYmlnX2VuZGlhbj4gc3ltKHN5bWJ1Zik7CisgIGVsZmNwcDo6U3ltX3dyaXRlPHNpemUsIGJpZ19lbmRpYW4+IG9zeW0oc3ltYnVmKTsKKworICB0eXBlZGVmIHR5cGVuYW1lIGVsZmNwcDo6RWxmX3R5cGVzPHNpemU+OjpFbGZfV1h3b3JkIEVsZl9zaXplX3R5cGU7CisKKyAgdGhpcy0+c3ltYm9sc18ucmVzaXplKHRoaXMtPm5zeW1zXyk7CisKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCB0aGlzLT5uc3ltc187ICsraSkKKyAgICB7CisgICAgICBjb25zdCBzdHJ1Y3QgbGRfcGx1Z2luX3N5bWJvbCAqaXN5bSA9ICZ0aGlzLT5zeW1zX1tpXTsKKyAgICAgIGNvbnN0IGNoYXIqIG5hbWUgPSBpc3ltLT5uYW1lOworICAgICAgY29uc3QgY2hhciogdmVyID0gaXN5bS0+dmVyc2lvbjsKKyAgICAgIGVsZmNwcDo6RWxmX0hhbGYgc2huZHg7CisgICAgICBlbGZjcHA6OlNUQiBiaW5kOworICAgICAgZWxmY3BwOjpTVFYgdmlzOworCisgICAgICBpZiAobmFtZSAhPSBOVUxMICYmIG5hbWVbMF0gPT0gJ1wwJykKKyAgICAgICAgbmFtZSA9IE5VTEw7CisgICAgICBpZiAodmVyICE9IE5VTEwgJiYgdmVyWzBdID09ICdcMCcpCisgICAgICAgIHZlciA9IE5VTEw7CisKKyAgICAgIHN3aXRjaCAoaXN5bS0+ZGVmKQorICAgICAgICB7CisgICAgICAgIGNhc2UgTERQS19XRUFLREVGOgorICAgICAgICBjYXNlIExEUEtfV0VBS1VOREVGOgorICAgICAgICAgIGJpbmQgPSBlbGZjcHA6OlNUQl9XRUFLOworICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIExEUEtfREVGOgorICAgICAgICBjYXNlIExEUEtfVU5ERUY6CisgICAgICAgIGNhc2UgTERQS19DT01NT046CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgYmluZCA9IGVsZmNwcDo6U1RCX0dMT0JBTDsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICBzd2l0Y2ggKGlzeW0tPmRlZikKKyAgICAgICAgeworICAgICAgICBjYXNlIExEUEtfREVGOgorICAgICAgICBjYXNlIExEUEtfV0VBS0RFRjoKKyAgICAgICAgICBzaG5keCA9IGVsZmNwcDo6U0hOX0FCUzsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMRFBLX0NPTU1PTjoKKyAgICAgICAgICBzaG5keCA9IGVsZmNwcDo6U0hOX0NPTU1PTjsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMRFBLX1VOREVGOgorICAgICAgICBjYXNlIExEUEtfV0VBS1VOREVGOgorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgIHNobmR4ID0gZWxmY3BwOjpTSE5fVU5ERUY7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgc3dpdGNoIChpc3ltLT52aXNpYmlsaXR5KQorICAgICAgICB7CisgICAgICAgIGNhc2UgTERQVl9QUk9URUNURUQ6CisgICAgICAgICAgdmlzID0gZWxmY3BwOjpTVFZfREVGQVVMVDsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMRFBWX0lOVEVSTkFMOgorICAgICAgICAgIHZpcyA9IGVsZmNwcDo6U1RWX0RFRkFVTFQ7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTERQVl9ISURERU46CisgICAgICAgICAgdmlzID0gZWxmY3BwOjpTVFZfREVGQVVMVDsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMRFBWX0RFRkFVTFQ6CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgdmlzID0gZWxmY3BwOjpTVFZfREVGQVVMVDsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICBpZiAoaXN5bS0+Y29tZGF0X2tleSAhPSBOVUxMCisgICAgICAgICAgJiYgaXN5bS0+Y29tZGF0X2tleVswXSAhPSAnXDAnCisgICAgICAgICAgJiYgIXRoaXMtPmluY2x1ZGVfY29tZGF0X2dyb3VwKGlzeW0tPmNvbWRhdF9rZXksIGxheW91dCkpCisgICAgICAgIHNobmR4ID0gZWxmY3BwOjpTSE5fVU5ERUY7CisKKyAgICAgIG9zeW0ucHV0X3N0X25hbWUoMCk7CisgICAgICBvc3ltLnB1dF9zdF92YWx1ZSgwKTsKKyAgICAgIG9zeW0ucHV0X3N0X3NpemUoc3RhdGljX2Nhc3Q8RWxmX3NpemVfdHlwZT4oaXN5bS0+c2l6ZSkpOworICAgICAgb3N5bS5wdXRfc3RfaW5mbyhiaW5kLCBlbGZjcHA6OlNUVF9OT1RZUEUpOworICAgICAgb3N5bS5wdXRfc3Rfb3RoZXIodmlzLCAwKTsKKyAgICAgIG9zeW0ucHV0X3N0X3NobmR4KHNobmR4KTsKKworICAgICAgdGhpcy0+c3ltYm9sc19baV0gPQorICAgICAgICBzeW10YWItPmFkZF9mcm9tX3BsdWdpbm9iajxzaXplLCBiaWdfZW5kaWFuPih0aGlzLCBuYW1lLCB2ZXIsICZzeW0pOworICAgIH0KK30KKworLy8gR2V0IHRoZSBzaXplIG9mIGEgc2VjdGlvbi4gIE5vdCB1c2VkIGZvciBwbHVnaW4gb2JqZWN0cy4KKwordGVtcGxhdGU8aW50IHNpemUsIGJvb2wgYmlnX2VuZGlhbj4KK3VpbnQ2NF90CitTaXplZF9wbHVnaW5vYmo8c2l6ZSwgYmlnX2VuZGlhbj46OmRvX3NlY3Rpb25fc2l6ZSh1bnNpZ25lZCBpbnQpCit7CisgIGdvbGRfdW5yZWFjaGFibGUoKTsKKyAgcmV0dXJuIDA7Cit9CisKKy8vIEdldCB0aGUgbmFtZSBvZiBhIHNlY3Rpb24uICBOb3QgdXNlZCBmb3IgcGx1Z2luIG9iamVjdHMuCisKK3RlbXBsYXRlPGludCBzaXplLCBib29sIGJpZ19lbmRpYW4+CitzdGQ6OnN0cmluZworU2l6ZWRfcGx1Z2lub2JqPHNpemUsIGJpZ19lbmRpYW4+Ojpkb19zZWN0aW9uX25hbWUodW5zaWduZWQgaW50KQoreworICBnb2xkX3VucmVhY2hhYmxlKCk7CisgIHJldHVybiBzdGQ6OnN0cmluZygpOworfQorCisvLyBSZXR1cm4gYSB2aWV3IG9mIHRoZSBjb250ZW50cyBvZiBhIHNlY3Rpb24uICBOb3QgdXNlZCBmb3IgcGx1Z2luIG9iamVjdHMuCisKK3RlbXBsYXRlPGludCBzaXplLCBib29sIGJpZ19lbmRpYW4+CitPYmplY3Q6OkxvY2F0aW9uCitTaXplZF9wbHVnaW5vYmo8c2l6ZSwgYmlnX2VuZGlhbj46OmRvX3NlY3Rpb25fY29udGVudHModW5zaWduZWQgaW50KQoreworICBMb2NhdGlvbiBsb2MoMCwgMCk7CisKKyAgZ29sZF91bnJlYWNoYWJsZSgpOworICByZXR1cm4gbG9jOworfQorCisvLyBSZXR1cm4gc2VjdGlvbiBmbGFncy4gIE5vdCB1c2VkIGZvciBwbHVnaW4gb2JqZWN0cy4KKwordGVtcGxhdGU8aW50IHNpemUsIGJvb2wgYmlnX2VuZGlhbj4KK3VpbnQ2NF90CitTaXplZF9wbHVnaW5vYmo8c2l6ZSwgYmlnX2VuZGlhbj46OmRvX3NlY3Rpb25fZmxhZ3ModW5zaWduZWQgaW50KQoreworICBnb2xkX3VucmVhY2hhYmxlKCk7CisgIHJldHVybiAwOworfQorCisvLyBSZXR1cm4gc2VjdGlvbiBhZGRyZXNzLiAgTm90IHVzZWQgZm9yIHBsdWdpbiBvYmplY3RzLgorCit0ZW1wbGF0ZTxpbnQgc2l6ZSwgYm9vbCBiaWdfZW5kaWFuPgordWludDY0X3QKK1NpemVkX3BsdWdpbm9iajxzaXplLCBiaWdfZW5kaWFuPjo6ZG9fc2VjdGlvbl9hZGRyZXNzKHVuc2lnbmVkIGludCkKK3sKKyAgZ29sZF91bnJlYWNoYWJsZSgpOworICByZXR1cm4gMDsKK30KKworLy8gUmV0dXJuIHNlY3Rpb24gdHlwZS4gIE5vdCB1c2VkIGZvciBwbHVnaW4gb2JqZWN0cy4KKwordGVtcGxhdGU8aW50IHNpemUsIGJvb2wgYmlnX2VuZGlhbj4KK3Vuc2lnbmVkIGludAorU2l6ZWRfcGx1Z2lub2JqPHNpemUsIGJpZ19lbmRpYW4+Ojpkb19zZWN0aW9uX3R5cGUodW5zaWduZWQgaW50KQoreworICBnb2xkX3VucmVhY2hhYmxlKCk7CisgIHJldHVybiAwOworfQorCisvLyBSZXR1cm4gdGhlIHNlY3Rpb24gbGluayBmaWVsZC4gIE5vdCB1c2VkIGZvciBwbHVnaW4gb2JqZWN0cy4KKwordGVtcGxhdGU8aW50IHNpemUsIGJvb2wgYmlnX2VuZGlhbj4KK3Vuc2lnbmVkIGludAorU2l6ZWRfcGx1Z2lub2JqPHNpemUsIGJpZ19lbmRpYW4+Ojpkb19zZWN0aW9uX2xpbmsodW5zaWduZWQgaW50KQoreworICBnb2xkX3VucmVhY2hhYmxlKCk7CisgIHJldHVybiAwOworfQorCisvLyBSZXR1cm4gdGhlIHNlY3Rpb24gbGluayBmaWVsZC4gIE5vdCB1c2VkIGZvciBwbHVnaW4gb2JqZWN0cy4KKwordGVtcGxhdGU8aW50IHNpemUsIGJvb2wgYmlnX2VuZGlhbj4KK3Vuc2lnbmVkIGludAorU2l6ZWRfcGx1Z2lub2JqPHNpemUsIGJpZ19lbmRpYW4+Ojpkb19zZWN0aW9uX2luZm8odW5zaWduZWQgaW50KQoreworICBnb2xkX3VucmVhY2hhYmxlKCk7CisgIHJldHVybiAwOworfQorCisvLyBSZXR1cm4gdGhlIHNlY3Rpb24gYWxpZ25tZW50LiAgTm90IHVzZWQgZm9yIHBsdWdpbiBvYmplY3RzLgorCit0ZW1wbGF0ZTxpbnQgc2l6ZSwgYm9vbCBiaWdfZW5kaWFuPgordWludDY0X3QKK1NpemVkX3BsdWdpbm9iajxzaXplLCBiaWdfZW5kaWFuPjo6ZG9fc2VjdGlvbl9hZGRyYWxpZ24odW5zaWduZWQgaW50KQoreworICBnb2xkX3VucmVhY2hhYmxlKCk7CisgIHJldHVybiAwOworfQorCisvLyBSZXR1cm4gdGhlIFhpbmRleCBzdHJ1Y3R1cmUgdG8gdXNlLiAgTm90IHVzZWQgZm9yIHBsdWdpbiBvYmplY3RzLgorCit0ZW1wbGF0ZTxpbnQgc2l6ZSwgYm9vbCBiaWdfZW5kaWFuPgorWGluZGV4KgorU2l6ZWRfcGx1Z2lub2JqPHNpemUsIGJpZ19lbmRpYW4+Ojpkb19pbml0aWFsaXplX3hpbmRleCgpCit7CisgIGdvbGRfdW5yZWFjaGFibGUoKTsKKyAgcmV0dXJuIE5VTEw7Cit9CisKKy8vIEdldCBzeW1ib2wgY291bnRzLiAgTm90IHVzZWQgZm9yIHBsdWdpbiBvYmplY3RzLgorCit0ZW1wbGF0ZTxpbnQgc2l6ZSwgYm9vbCBiaWdfZW5kaWFuPgordm9pZAorU2l6ZWRfcGx1Z2lub2JqPHNpemUsIGJpZ19lbmRpYW4+Ojpkb19nZXRfZ2xvYmFsX3N5bWJvbF9jb3VudHMoY29uc3QgU3ltYm9sX3RhYmxlKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCosIHNpemVfdCopIGNvbnN0Cit7CisgIGdvbGRfdW5yZWFjaGFibGUoKTsKK30KKworLy8gQ2xhc3MgQWRkX3BsdWdpbl9zeW1ib2xzLgorCitBZGRfcGx1Z2luX3N5bWJvbHM6On5BZGRfcGx1Z2luX3N5bWJvbHMoKQoreworICBpZiAodGhpcy0+dGhpc19ibG9ja2VyXyAhPSBOVUxMKQorICAgIGRlbGV0ZSB0aGlzLT50aGlzX2Jsb2NrZXJfOworICAvLyBuZXh0X2Jsb2NrZXJfIGlzIGRlbGV0ZWQgYnkgdGhlIHRhc2sgYXNzb2NpYXRlZCB3aXRoIHRoZSBuZXh0CisgIC8vIGlucHV0IGZpbGUuCit9CisKKy8vIFdlIGFyZSBibG9ja2VkIGJ5IHRoaXNfYmxvY2tlcl8uICBXZSBibG9jayBuZXh0X2Jsb2NrZXJfLiAgV2UgYWxzbworLy8gbG9jayB0aGUgZmlsZS4KKworVGFza190b2tlbioKK0FkZF9wbHVnaW5fc3ltYm9sczo6aXNfcnVubmFibGUoKQoreworICBpZiAodGhpcy0+dGhpc19ibG9ja2VyXyAhPSBOVUxMICYmIHRoaXMtPnRoaXNfYmxvY2tlcl8tPmlzX2Jsb2NrZWQoKSkKKyAgICByZXR1cm4gdGhpcy0+dGhpc19ibG9ja2VyXzsKKyAgaWYgKHRoaXMtPm9ial8tPmlzX2xvY2tlZCgpKQorICAgIHJldHVybiB0aGlzLT5vYmpfLT50b2tlbigpOworICByZXR1cm4gTlVMTDsKK30KKwordm9pZAorQWRkX3BsdWdpbl9zeW1ib2xzOjpsb2NrcyhUYXNrX2xvY2tlciogdGwpCit7CisgIHRsLT5hZGQodGhpcywgdGhpcy0+bmV4dF9ibG9ja2VyXyk7CisgIHRsLT5hZGQodGhpcywgdGhpcy0+b2JqXy0+dG9rZW4oKSk7Cit9CisKKy8vIEFkZCB0aGUgc3ltYm9scyBpbiB0aGUgb2JqZWN0IHRvIHRoZSBzeW1ib2wgdGFibGUuCisKK3ZvaWQKK0FkZF9wbHVnaW5fc3ltYm9sczo6cnVuKFdvcmtxdWV1ZSopCit7CisgIHRoaXMtPm9ial8tPmFkZF9zeW1ib2xzKHRoaXMtPnN5bXRhYl8sIHRoaXMtPmxheW91dF8pOworfQorCisvLyBDbGFzcyBQbHVnaW5fY2xlYW51cC4gIFRoaXMgdGFzayBjYWxscyB0aGUgcGx1Z2luIGNsZWFudXAgaG9va3Mgb25jZSBhbGwKKy8vIHJlcGxhY2VtZW50IGZpbGVzIGhhdmUgYmVlbiBhZGRlZC4KKworY2xhc3MgUGx1Z2luX2NsZWFudXAgOiBwdWJsaWMgVGFzaworeworIHB1YmxpYzoKKyAgUGx1Z2luX2NsZWFudXAoVGFza190b2tlbiogdGhpc19ibG9ja2VyLCBUYXNrX3Rva2VuKiBuZXh0X2Jsb2NrZXIpCisgICAgOiB0aGlzX2Jsb2NrZXJfKHRoaXNfYmxvY2tlciksIG5leHRfYmxvY2tlcl8obmV4dF9ibG9ja2VyKQorICB7IH0KKworICB+UGx1Z2luX2NsZWFudXAoKQorICB7CisgICAgaWYgKHRoaXMtPnRoaXNfYmxvY2tlcl8gIT0gTlVMTCkKKyAgICAgIGRlbGV0ZSB0aGlzLT50aGlzX2Jsb2NrZXJfOworICB9CisKKyAgVGFza190b2tlbioKKyAgaXNfcnVubmFibGUoKQorICB7CisgICAgaWYgKHRoaXMtPnRoaXNfYmxvY2tlcl8gIT0gTlVMTCAmJiB0aGlzLT50aGlzX2Jsb2NrZXJfLT5pc19ibG9ja2VkKCkpCisgICAgICByZXR1cm4gdGhpcy0+dGhpc19ibG9ja2VyXzsKKyAgICByZXR1cm4gTlVMTDsKKyAgfQorCisgIHZvaWQKKyAgbG9ja3MoVGFza19sb2NrZXIqIHRsKQorICB7IHRsLT5hZGQodGhpcywgdGhpcy0+bmV4dF9ibG9ja2VyXyk7IH0KKworICB2b2lkCisgIHJ1bihXb3JrcXVldWUqKQorICB7IHBhcmFtZXRlcnMtPm9wdGlvbnMoKS5wbHVnaW5zKCktPmNsZWFudXAoKTsgfQorCisgIHN0ZDo6c3RyaW5nCisgIGdldF9uYW1lKCkgY29uc3QKKyAgeyByZXR1cm4gIlBsdWdpbl9jbGVhbnVwIjsgfQorCisgcHJpdmF0ZToKKyAgVGFza190b2tlbiogdGhpc19ibG9ja2VyXzsKKyAgVGFza190b2tlbiogbmV4dF9ibG9ja2VyXzsKK307CisKKy8vIENsYXNzIFBsdWdpbl9ob29rLgorCitQbHVnaW5faG9vazo6flBsdWdpbl9ob29rKCkKK3sKK30KKworLy8gUmV0dXJuIHdoZXRoZXIgYSBQbHVnaW5faG9vayB0YXNrIGlzIHJ1bm5hYmxlLgorCitUYXNrX3Rva2VuKgorUGx1Z2luX2hvb2s6OmlzX3J1bm5hYmxlKCkKK3sKKyAgaWYgKHRoaXMtPnRoaXNfYmxvY2tlcl8gIT0gTlVMTCAmJiB0aGlzLT50aGlzX2Jsb2NrZXJfLT5pc19ibG9ja2VkKCkpCisgICAgcmV0dXJuIHRoaXMtPnRoaXNfYmxvY2tlcl87CisgIHJldHVybiBOVUxMOworfQorCisvLyBSZXR1cm4gYSBUYXNrX2xvY2tlciBmb3IgYSBQbHVnaW5faG9vayB0YXNrLiAgV2UgZG9uJ3QgbmVlZCBhbnkKKy8vIGxvY2tzIGhlcmUuCisKK3ZvaWQKK1BsdWdpbl9ob29rOjpsb2NrcyhUYXNrX2xvY2tlciopCit7Cit9CisKKy8vIFJ1biBhIFBsdWdpbl9ob29rIHRhc2suCisKK3ZvaWQKK1BsdWdpbl9ob29rOjpydW4oV29ya3F1ZXVlKiB3b3JrcXVldWUpCit7CisgIHRoaXMtPmRvX3BsdWdpbl9ob29rKHdvcmtxdWV1ZSk7Cit9CisKKy8vIFJ1biB0aGUgImFsbCBzeW1ib2xzIHJlYWQiIHBsdWdpbiBob29rLgorCit2b2lkCitQbHVnaW5faG9vazo6ZG9fcGx1Z2luX2hvb2soV29ya3F1ZXVlKiB3b3JrcXVldWUpCit7CisgIGdvbGRfYXNzZXJ0KHRoaXMtPm9wdGlvbnNfLmhhc19wbHVnaW5zKCkpOworICB0aGlzLT5vcHRpb25zXy5wbHVnaW5zKCktPmFsbF9zeW1ib2xzX3JlYWQod29ya3F1ZXVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy0+aW5wdXRfb2JqZWN0c18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLT5zeW10YWJfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy0+bGF5b3V0XywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMtPmRpcnBhdGhfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy0+bWFwZmlsZV8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdGhpcy0+dGhpc19ibG9ja2VyXyk7CisgIHdvcmtxdWV1ZS0+cXVldWVfc29vbihuZXcgUGx1Z2luX2NsZWFudXAodGhpcy0+dGhpc19ibG9ja2VyXywKKwkJCQkJICAgdGhpcy0+bmV4dF9ibG9ja2VyXykpOworfQorCisvLyBUaGUgQyBpbnRlcmZhY2Ugcm91dGluZXMgY2FsbGVkIGJ5IHRoZSBwbHVnaW5zLgorCisjaWZkZWYgRU5BQkxFX1BMVUdJTlMKKworLy8gUmVnaXN0ZXIgYSBjbGFpbS1maWxlIGhhbmRsZXIuCisKK3N0YXRpYyBlbnVtIGxkX3BsdWdpbl9zdGF0dXMKK3JlZ2lzdGVyX2NsYWltX2ZpbGUobGRfcGx1Z2luX2NsYWltX2ZpbGVfaGFuZGxlciBoYW5kbGVyKQoreworICBnb2xkX2Fzc2VydChwYXJhbWV0ZXJzLT5vcHRpb25zKCkuaGFzX3BsdWdpbnMoKSk7CisgIHBhcmFtZXRlcnMtPm9wdGlvbnMoKS5wbHVnaW5zKCktPnNldF9jbGFpbV9maWxlX2hhbmRsZXIoaGFuZGxlcik7CisgIHJldHVybiBMRFBTX09LOworfQorCisvLyBSZWdpc3RlciBhbiBhbGwtc3ltYm9scy1yZWFkIGhhbmRsZXIuCisKK3N0YXRpYyBlbnVtIGxkX3BsdWdpbl9zdGF0dXMKK3JlZ2lzdGVyX2FsbF9zeW1ib2xzX3JlYWQobGRfcGx1Z2luX2FsbF9zeW1ib2xzX3JlYWRfaGFuZGxlciBoYW5kbGVyKQoreworICBnb2xkX2Fzc2VydChwYXJhbWV0ZXJzLT5vcHRpb25zKCkuaGFzX3BsdWdpbnMoKSk7CisgIHBhcmFtZXRlcnMtPm9wdGlvbnMoKS5wbHVnaW5zKCktPnNldF9hbGxfc3ltYm9sc19yZWFkX2hhbmRsZXIoaGFuZGxlcik7CisgIHJldHVybiBMRFBTX09LOworfQorCisvLyBSZWdpc3RlciBhIGNsZWFudXAgaGFuZGxlci4KKworc3RhdGljIGVudW0gbGRfcGx1Z2luX3N0YXR1cworcmVnaXN0ZXJfY2xlYW51cChsZF9wbHVnaW5fY2xlYW51cF9oYW5kbGVyIGhhbmRsZXIpCit7CisgIGdvbGRfYXNzZXJ0KHBhcmFtZXRlcnMtPm9wdGlvbnMoKS5oYXNfcGx1Z2lucygpKTsKKyAgcGFyYW1ldGVycy0+b3B0aW9ucygpLnBsdWdpbnMoKS0+c2V0X2NsZWFudXBfaGFuZGxlcihoYW5kbGVyKTsKKyAgcmV0dXJuIExEUFNfT0s7Cit9CisKKy8vIEFkZCBzeW1ib2xzIGZyb20gYSBwbHVnaW4tY2xhaW1lZCBpbnB1dCBmaWxlLgorCitzdGF0aWMgZW51bSBsZF9wbHVnaW5fc3RhdHVzCithZGRfc3ltYm9scyh2b2lkKiBoYW5kbGUsIGludCBuc3ltcywgY29uc3QgbGRfcGx1Z2luX3N5bWJvbCAqc3ltcykKK3sKKyAgZ29sZF9hc3NlcnQocGFyYW1ldGVycy0+b3B0aW9ucygpLmhhc19wbHVnaW5zKCkpOworICBQbHVnaW5vYmoqIG9iaiA9IHBhcmFtZXRlcnMtPm9wdGlvbnMoKS5wbHVnaW5zKCktPm1ha2VfcGx1Z2luX29iamVjdCgKKyAgICAgIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4ocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oaGFuZGxlKSkpOworICBpZiAob2JqID09IE5VTEwpCisgICAgcmV0dXJuIExEUFNfRVJSOworICBvYmotPnN0b3JlX2luY29taW5nX3N5bWJvbHMobnN5bXMsIHN5bXMpOworICByZXR1cm4gTERQU19PSzsKK30KKworLy8gR2V0IHRoZSBzeW1ib2wgcmVzb2x1dGlvbiBpbmZvIGZvciBhIHBsdWdpbi1jbGFpbWVkIGlucHV0IGZpbGUuCisKK3N0YXRpYyBlbnVtIGxkX3BsdWdpbl9zdGF0dXMKK2dldF9zeW1ib2xzKGNvbnN0IHZvaWQgKiBoYW5kbGUsIGludCBuc3ltcywgbGRfcGx1Z2luX3N5bWJvbCogc3ltcykKK3sKKyAgZ29sZF9hc3NlcnQocGFyYW1ldGVycy0+b3B0aW9ucygpLmhhc19wbHVnaW5zKCkpOworICBQbHVnaW5vYmoqIG9iaiA9IHBhcmFtZXRlcnMtPm9wdGlvbnMoKS5wbHVnaW5zKCktPm9iamVjdCgKKyAgICAgIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4ocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oaGFuZGxlKSkpOworICBpZiAob2JqID09IE5VTEwpCisgICAgcmV0dXJuIExEUFNfRVJSOworICByZXR1cm4gb2JqLT5nZXRfc3ltYm9sX3Jlc29sdXRpb25faW5mbyhuc3ltcywgc3ltcyk7Cit9CisKKy8vIEFkZCBhIG5ldyAocmVhbCkgaW5wdXQgZmlsZSBnZW5lcmF0ZWQgYnkgYSBwbHVnaW4uCisKK3N0YXRpYyBlbnVtIGxkX3BsdWdpbl9zdGF0dXMKK2FkZF9pbnB1dF9maWxlKGNoYXIgKnBhdGhuYW1lKQoreworICBnb2xkX2Fzc2VydChwYXJhbWV0ZXJzLT5vcHRpb25zKCkuaGFzX3BsdWdpbnMoKSk7CisgIHJldHVybiBwYXJhbWV0ZXJzLT5vcHRpb25zKCkucGx1Z2lucygpLT5hZGRfaW5wdXRfZmlsZShwYXRobmFtZSk7Cit9CisKKy8vIElzc3VlIGEgZGlhZ25vc3RpYyBtZXNzYWdlIGZyb20gYSBwbHVnaW4uCisKK3N0YXRpYyBlbnVtIGxkX3BsdWdpbl9zdGF0dXMKK21lc3NhZ2UoaW50IGxldmVsLCBjaGFyICogZm9ybWF0LCAuLi4pCit7CisgIHZhX2xpc3QgYXJnczsKKyAgdmFfc3RhcnQoYXJncywgZm9ybWF0KTsKKworICBzd2l0Y2ggKGxldmVsKQorICAgIHsKKyAgICBjYXNlIExEUExfSU5GTzoKKyAgICAgIHBhcmFtZXRlcnMtPmVycm9ycygpLT5pbmZvKGZvcm1hdCwgYXJncyk7CisgICAgICBicmVhazsKKyAgICBjYXNlIExEUExfV0FSTklORzoKKyAgICAgIHBhcmFtZXRlcnMtPmVycm9ycygpLT53YXJuaW5nKGZvcm1hdCwgYXJncyk7CisgICAgICBicmVhazsKKyAgICBjYXNlIExEUExfRVJST1I6CisgICAgZGVmYXVsdDoKKyAgICAgIHBhcmFtZXRlcnMtPmVycm9ycygpLT5lcnJvcihmb3JtYXQsIGFyZ3MpOworICAgICAgYnJlYWs7CisgICAgY2FzZSBMRFBMX0ZBVEFMOgorICAgICAgcGFyYW1ldGVycy0+ZXJyb3JzKCktPmZhdGFsKGZvcm1hdCwgYXJncyk7CisgICAgICBicmVhazsKKyAgICB9CisKKyAgdmFfZW5kKGFyZ3MpOworICByZXR1cm4gTERQU19PSzsKK30KKworI2VuZGlmIC8vIEVOQUJMRV9QTFVHSU5TCisKKy8vIEFsbG9jYXRlIGEgUGx1Z2lub2JqIG9iamVjdCBvZiB0aGUgYXBwcm9wcmlhdGUgc2l6ZSBhbmQgZW5kaWFubmVzcy4KKworc3RhdGljIFBsdWdpbm9iaioKK21ha2Vfc2l6ZWRfcGx1Z2luX29iamVjdChJbnB1dF9maWxlKiBpbnB1dF9maWxlLCBvZmZfdCBvZmZzZXQpCit7CisgIFRhcmdldCogdGFyZ2V0OworICBQbHVnaW5vYmoqIG9iaiA9IE5VTEw7CisKKyAgaWYgKHBhcmFtZXRlcnMtPnRhcmdldF92YWxpZCgpKQorICAgIHRhcmdldCA9IGNvbnN0X2Nhc3Q8VGFyZ2V0Kj4oJnBhcmFtZXRlcnMtPnRhcmdldCgpKTsKKyAgZWxzZQorICAgIHRhcmdldCA9IGNvbnN0X2Nhc3Q8VGFyZ2V0Kj4oJnBhcmFtZXRlcnMtPmRlZmF1bHRfdGFyZ2V0KCkpOworCisgIGlmICh0YXJnZXQtPmdldF9zaXplKCkgPT0gMzIpCisgICAgeworICAgICAgaWYgKHRhcmdldC0+aXNfYmlnX2VuZGlhbigpKQorI2lmZGVmIEhBVkVfVEFSR0VUXzMyX0JJRworICAgICAgICBvYmogPSBuZXcgU2l6ZWRfcGx1Z2lub2JqPDMyLCB0cnVlPihpbnB1dF9maWxlLT5maWxlbmFtZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dF9maWxlLCBvZmZzZXQpOworI2Vsc2UKKyAgICAgICAgZ29sZF9lcnJvcihfKCIlczogbm90IGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCAiCisJCSAgICAgIjMyLWJpdCBiaWctZW5kaWFuIG9iamVjdCIpLAorCQkgICBpbnB1dF9maWxlLT5maWxlbmFtZSgpLmNfc3RyKCkpOworI2VuZGlmCisgICAgICBlbHNlCisjaWZkZWYgSEFWRV9UQVJHRVRfMzJfTElUVExFCisgICAgICAgIG9iaiA9IG5ldyBTaXplZF9wbHVnaW5vYmo8MzIsIGZhbHNlPihpbnB1dF9maWxlLT5maWxlbmFtZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfZmlsZSwgb2Zmc2V0KTsKKyNlbHNlCisgICAgICAgIGdvbGRfZXJyb3IoXygiJXM6IG5vdCBjb25maWd1cmVkIHRvIHN1cHBvcnQgIgorCQkgICAgICIzMi1iaXQgbGl0dGxlLWVuZGlhbiBvYmplY3QiKSwKKwkJICAgaW5wdXRfZmlsZS0+ZmlsZW5hbWUoKS5jX3N0cigpKTsKKyNlbmRpZgorICAgIH0KKyAgZWxzZSBpZiAodGFyZ2V0LT5nZXRfc2l6ZSgpID09IDY0KQorICAgIHsKKyAgICAgIGlmICh0YXJnZXQtPmlzX2JpZ19lbmRpYW4oKSkKKyNpZmRlZiBIQVZFX1RBUkdFVF82NF9CSUcKKyAgICAgICAgb2JqID0gbmV3IFNpemVkX3BsdWdpbm9iajw2NCwgdHJ1ZT4oaW5wdXRfZmlsZS0+ZmlsZW5hbWUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfZmlsZSwgb2Zmc2V0KTsKKyNlbHNlCisgICAgICAgIGdvbGRfZXJyb3IoXygiJXM6IG5vdCBjb25maWd1cmVkIHRvIHN1cHBvcnQgIgorCQkgICAgICI2NC1iaXQgYmlnLWVuZGlhbiBvYmplY3QiKSwKKwkJICAgaW5wdXRfZmlsZS0+ZmlsZW5hbWUoKS5jX3N0cigpKTsKKyNlbmRpZgorICAgICAgZWxzZQorI2lmZGVmIEhBVkVfVEFSR0VUXzY0X0xJVFRMRQorICAgICAgICBvYmogPSBuZXcgU2l6ZWRfcGx1Z2lub2JqPDY0LCBmYWxzZT4oaW5wdXRfZmlsZS0+ZmlsZW5hbWUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0X2ZpbGUsIG9mZnNldCk7CisjZWxzZQorICAgICAgICBnb2xkX2Vycm9yKF8oIiVzOiBub3QgY29uZmlndXJlZCB0byBzdXBwb3J0ICIKKwkJICAgICAiNjQtYml0IGxpdHRsZS1lbmRpYW4gb2JqZWN0IiksCisJCSAgIGlucHV0X2ZpbGUtPmZpbGVuYW1lKCkuY19zdHIoKSk7CisjZW5kaWYKKyAgICB9CisKKyAgZ29sZF9hc3NlcnQob2JqICE9IE5VTEwpOworICBvYmotPnNldF90YXJnZXQodGFyZ2V0KTsKKyAgcmV0dXJuIG9iajsKK30KKworfSAvLyBFbmQgbmFtZXNwYWNlIGdvbGQuCmRpZmYgLS1naXQgYS9nb2xkL3BsdWdpbi5oIGIvZ29sZC9wbHVnaW4uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjU3M2NlCi0tLSAvZGV2L251bGwKKysrIGIvZ29sZC9wbHVnaW4uaApAQCAtMCwwICsxLDQ1NyBAQAorLy8gcGx1Z2luLmggLS0gcGx1Z2luIG1hbmFnZXIgZm9yIGdvbGQgICAgICAtKi0gQysrIC0qLQorCisvLyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8vIFdyaXR0ZW4gYnkgQ2FyeSBDb3V0YW50IDxjY291dGFudEBnb29nbGUuY29tPi4KKworLy8gVGhpcyBmaWxlIGlzIHBhcnQgb2YgZ29sZC4KKworLy8gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy8vIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisvLyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorLy8gKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworLy8gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisvLyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLy8gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLy8gR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworLy8gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy8vIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisvLyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQgLSBGaWZ0aCBGbG9vciwgQm9zdG9uLAorLy8gTUEgMDIxMTAtMTMwMSwgVVNBLgorCisjaWZuZGVmIEdPTERfUExVR0lOX0gKKyNkZWZpbmUgR09MRF9QTFVHSU5fSAorCisjaW5jbHVkZSA8bGlzdD4KKyNpbmNsdWRlIDxzdHJpbmc+CisKKyNpbmNsdWRlICJvYmplY3QuaCIKKyNpbmNsdWRlICJwbHVnaW4tYXBpLmgiCisjaW5jbHVkZSAid29ya3F1ZXVlLmgiCisKK25hbWVzcGFjZSBnb2xkCit7CisKK2NsYXNzIEdlbmVyYWxfb3B0aW9uczsKK2NsYXNzIElucHV0X2ZpbGU7CitjbGFzcyBJbnB1dF9vYmplY3RzOworY2xhc3MgU3ltYm9sX3RhYmxlOworY2xhc3MgTGF5b3V0OworY2xhc3MgRGlyc2VhcmNoOworY2xhc3MgTWFwZmlsZTsKK2NsYXNzIFRhc2tfdG9rZW47CitjbGFzcyBQbHVnaW5vYmo7CisKKy8vIFRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHNpbmdsZSBwbHVnaW4gbGlicmFyeS4KKworY2xhc3MgUGx1Z2luCit7CisgcHVibGljOgorICBQbHVnaW4oY29uc3QgY2hhciogYXJncykKKyAgICA6IGhhbmRsZV8oTlVMTCksCisgICAgICBhcmdzXyhhcmdzKSwKKyAgICAgIGNsYWltX2ZpbGVfaGFuZGxlcl8oTlVMTCksCisgICAgICBhbGxfc3ltYm9sc19yZWFkX2hhbmRsZXJfKE5VTEwpLAorICAgICAgY2xlYW51cF9oYW5kbGVyXyhOVUxMKSAgICAgIAorICB7IH0KKworICB+UGx1Z2luKCkKKyAgeyB9CisKKyAgLy8gTG9hZCB0aGUgbGlicmFyeSBhbmQgY2FsbCBpdHMgZW50cnkgcG9pbnQuCisgIHZvaWQKKyAgbG9hZCgpOworCisgIC8vIENhbGwgdGhlIGNsYWltLWZpbGUgaGFuZGxlci4KKyAgYm9vbAorICBjbGFpbV9maWxlKHN0cnVjdCBsZF9wbHVnaW5faW5wdXRfZmlsZSAqcGx1Z2luX2lucHV0X2ZpbGUpOworCisgIC8vIENhbGwgdGhlIGFsbC1zeW1ib2xzLXJlYWQgaGFuZGxlci4KKyAgdm9pZAorICBhbGxfc3ltYm9sc19yZWFkKCk7CisKKyAgLy8gQ2FsbCB0aGUgY2xlYW51cCBoYW5kbGVyLgorICB2b2lkCisgIGNsZWFudXAoKTsKKworICAvLyBSZWdpc3RlciBhIGNsYWltLWZpbGUgaGFuZGxlci4KKyAgdm9pZAorICBzZXRfY2xhaW1fZmlsZV9oYW5kbGVyKGxkX3BsdWdpbl9jbGFpbV9maWxlX2hhbmRsZXIgaGFuZGxlcikKKyAgeyB0aGlzLT5jbGFpbV9maWxlX2hhbmRsZXJfID0gaGFuZGxlcjsgfQorCisgIC8vIFJlZ2lzdGVyIGFuIGFsbC1zeW1ib2xzLXJlYWQgaGFuZGxlci4KKyAgdm9pZAorICBzZXRfYWxsX3N5bWJvbHNfcmVhZF9oYW5kbGVyKGxkX3BsdWdpbl9hbGxfc3ltYm9sc19yZWFkX2hhbmRsZXIgaGFuZGxlcikKKyAgeyB0aGlzLT5hbGxfc3ltYm9sc19yZWFkX2hhbmRsZXJfID0gaGFuZGxlcjsgfQorCisgIC8vIFJlZ2lzdGVyIGEgY2xhaW0tZmlsZSBoYW5kbGVyLgorICB2b2lkCisgIHNldF9jbGVhbnVwX2hhbmRsZXIobGRfcGx1Z2luX2NsZWFudXBfaGFuZGxlciBoYW5kbGVyKQorICB7IHRoaXMtPmNsZWFudXBfaGFuZGxlcl8gPSBoYW5kbGVyOyB9CisKKyBwcml2YXRlOgorICBQbHVnaW4oY29uc3QgUGx1Z2luJik7CisgIFBsdWdpbiYgb3BlcmF0b3I9KGNvbnN0IFBsdWdpbiYpOworCisgIC8vIFRoZSBzaGFyZWQgbGlicmFyeSBoYW5kbGUgcmV0dXJuZWQgYnkgZGxvcGVuLgorICB2b2lkKiBoYW5kbGVfOworICAvLyBUaGUgYXJndW1lbnQgc3RyaW5nIGdpdmVuIHRvIC0tcGx1Z2luLgorICBjb25zdCBjaGFyKiBhcmdzXzsKKyAgLy8gVGhlIHBsdWdpbidzIGV2ZW50IGhhbmRsZXJzLgorICBsZF9wbHVnaW5fY2xhaW1fZmlsZV9oYW5kbGVyIGNsYWltX2ZpbGVfaGFuZGxlcl87CisgIGxkX3BsdWdpbl9hbGxfc3ltYm9sc19yZWFkX2hhbmRsZXIgYWxsX3N5bWJvbHNfcmVhZF9oYW5kbGVyXzsKKyAgbGRfcGx1Z2luX2NsZWFudXBfaGFuZGxlciBjbGVhbnVwX2hhbmRsZXJfOworfTsKKworLy8gQSBtYW5hZ2VyIGNsYXNzIGZvciBwbHVnaW5zLgorCitjbGFzcyBQbHVnaW5fbWFuYWdlcgoreworIHB1YmxpYzoKKyAgUGx1Z2luX21hbmFnZXIoY29uc3QgR2VuZXJhbF9vcHRpb25zJiBvcHRpb25zKQorICAgIDogcGx1Z2luc18oKSwgaW5fcmVwbGFjZW1lbnRfcGhhc2VfKGZhbHNlKSwgb3B0aW9uc18ob3B0aW9ucyksCisgICAgICB3b3JrcXVldWVfKE5VTEwpLCBpbnB1dF9vYmplY3RzXyhOVUxMKSwgc3ltdGFiXyhOVUxMKSwgbGF5b3V0XyhOVUxMKSwKKyAgICAgIGRpcnBhdGhfKE5VTEwpLCBtYXBmaWxlXyhOVUxMKSwgdGhpc19ibG9ja2VyXyhOVUxMKQorICB7IHRoaXMtPmN1cnJlbnRfID0gcGx1Z2luc18uZW5kKCk7IH0KKworICB+UGx1Z2luX21hbmFnZXIoKTsKKworICAvLyBBZGQgYSBwbHVnaW4gbGlicmFyeS4KKyAgdm9pZAorICBhZGRfcGx1Z2luKGNvbnN0IGNoYXIqIGFyZ3MpCisgIHsgdGhpcy0+cGx1Z2luc18ucHVzaF9iYWNrKG5ldyBQbHVnaW4oYXJncykpOyB9CisKKyAgLy8gTG9hZCBhbGwgcGx1Z2luIGxpYnJhcmllcy4KKyAgdm9pZAorICBsb2FkX3BsdWdpbnMoKTsKKworICAvLyBDYWxsIHRoZSBwbHVnaW4gY2xhaW0tZmlsZSBoYW5kbGVycyBpbiB0dXJuIHRvIHNlZSBpZiBhbnkgY2xhaW0gdGhlIGZpbGUuCisgIFBsdWdpbm9iaioKKyAgY2xhaW1fZmlsZShJbnB1dF9maWxlICppbnB1dF9maWxlLCBvZmZfdCBvZmZzZXQsIG9mZl90IGZpbGVzaXplKTsKKworICAvLyBDYWxsIHRoZSBhbGwtc3ltYm9scy1yZWFkIGhhbmRsZXJzLgorICB2b2lkCisgIGFsbF9zeW1ib2xzX3JlYWQoV29ya3F1ZXVlKiB3b3JrcXVldWUsIElucHV0X29iamVjdHMqIGlucHV0X29iamVjdHMsCisgICAgICAgICAgICAgICAgICAgU3ltYm9sX3RhYmxlKiBzeW10YWIsIExheW91dCogbGF5b3V0LCBEaXJzZWFyY2gqIGRpcnBhdGgsCisgICAgICAgICAgICAgICAgICAgTWFwZmlsZSogbWFwZmlsZSwgVGFza190b2tlbioqIGxhc3RfYmxvY2tlcik7CisKKyAgLy8gQ2FsbCB0aGUgY2xlYW51cCBoYW5kbGVycy4KKyAgdm9pZAorICBjbGVhbnVwKCk7CisKKyAgLy8gUmVnaXN0ZXIgYSBjbGFpbS1maWxlIGhhbmRsZXIuCisgIHZvaWQKKyAgc2V0X2NsYWltX2ZpbGVfaGFuZGxlcihsZF9wbHVnaW5fY2xhaW1fZmlsZV9oYW5kbGVyIGhhbmRsZXIpCisgIHsKKyAgICBnb2xkX2Fzc2VydCh0aGlzLT5jdXJyZW50XyAhPSBwbHVnaW5zXy5lbmQoKSk7CisgICAgKCp0aGlzLT5jdXJyZW50XyktPnNldF9jbGFpbV9maWxlX2hhbmRsZXIoaGFuZGxlcik7CisgIH0KKworICAvLyBSZWdpc3RlciBhbiBhbGwtc3ltYm9scy1yZWFkIGhhbmRsZXIuCisgIHZvaWQKKyAgc2V0X2FsbF9zeW1ib2xzX3JlYWRfaGFuZGxlcihsZF9wbHVnaW5fYWxsX3N5bWJvbHNfcmVhZF9oYW5kbGVyIGhhbmRsZXIpCisgIHsKKyAgICBnb2xkX2Fzc2VydCh0aGlzLT5jdXJyZW50XyAhPSBwbHVnaW5zXy5lbmQoKSk7CisgICAgKCp0aGlzLT5jdXJyZW50XyktPnNldF9hbGxfc3ltYm9sc19yZWFkX2hhbmRsZXIoaGFuZGxlcik7CisgIH0KKworICAvLyBSZWdpc3RlciBhIGNsYWltLWZpbGUgaGFuZGxlci4KKyAgdm9pZAorICBzZXRfY2xlYW51cF9oYW5kbGVyKGxkX3BsdWdpbl9jbGVhbnVwX2hhbmRsZXIgaGFuZGxlcikKKyAgeworICAgIGdvbGRfYXNzZXJ0KHRoaXMtPmN1cnJlbnRfICE9IHBsdWdpbnNfLmVuZCgpKTsKKyAgICAoKnRoaXMtPmN1cnJlbnRfKS0+c2V0X2NsZWFudXBfaGFuZGxlcihoYW5kbGVyKTsKKyAgfQorCisgIC8vIE1ha2UgYSBuZXcgUGx1Z2lub2JqIG9iamVjdC4gIFRoaXMgaXMgY2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBjYWxscworICAvLyB0aGUgYWRkX3N5bWJvbHMgQVBJLgorICBQbHVnaW5vYmoqCisgIG1ha2VfcGx1Z2luX29iamVjdCh1bnNpZ25lZCBpbnQgaGFuZGxlKTsKKworICAvLyBSZXR1cm4gdGhlIFBsdWdpbm9iaiBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIEhBTkRMRS4KKyAgUGx1Z2lub2JqKgorICBvYmplY3QodW5zaWduZWQgaW50IGhhbmRsZSkgY29uc3QKKyAgeworICAgIGlmIChoYW5kbGUgPj0gdGhpcy0+b2JqZWN0c18uc2l6ZSgpKQorICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIHRoaXMtPm9iamVjdHNfW2hhbmRsZV07CisgIH0KKworICAvLyBBZGQgYSBuZXcgaW5wdXQgZmlsZS4KKyAgbGRfcGx1Z2luX3N0YXR1cworICBhZGRfaW5wdXRfZmlsZShjaGFyICpwYXRobmFtZSk7CisKKyAgLy8gUmV0dXJuIFRSVUUgaWYgd2UgYXJlIGluIHRoZSByZXBsYWNlbWVudCBwaGFzZS4KKyAgYm9vbAorICBpbl9yZXBsYWNlbWVudF9waGFzZSgpIGNvbnN0CisgIHsgcmV0dXJuIHRoaXMtPmluX3JlcGxhY2VtZW50X3BoYXNlXzsgfQorCisgcHJpdmF0ZToKKyAgUGx1Z2luX21hbmFnZXIoY29uc3QgUGx1Z2luX21hbmFnZXImKTsKKyAgUGx1Z2luX21hbmFnZXImIG9wZXJhdG9yPShjb25zdCBQbHVnaW5fbWFuYWdlciYpOworCisgIHR5cGVkZWYgc3RkOjpsaXN0PFBsdWdpbio+IFBsdWdpbl9saXN0OworICB0eXBlZGVmIHN0ZDo6dmVjdG9yPFBsdWdpbm9iaio+IE9iamVjdF9saXN0OworCisgIC8vIFRoZSBsaXN0IG9mIHBsdWdpbiBsaWJyYXJpZXMuCisgIFBsdWdpbl9saXN0IHBsdWdpbnNfOworICAvLyBBIHBvaW50ZXIgdG8gdGhlIGN1cnJlbnQgcGx1Z2luLiAgVXNlZCB3aGlsZSBsb2FkaW5nIHBsdWdpbnMuCisgIFBsdWdpbl9saXN0OjppdGVyYXRvciBjdXJyZW50XzsKKworICAvLyBUaGUgbGlzdCBvZiBwbHVnaW4gb2JqZWN0cy4gIFRoZSBpbmRleCBvZiBhbiBpdGVtIGluIHRoaXMgbGlzdAorICAvLyBzZXJ2ZXMgYXMgdGhlICJoYW5kbGUiIHRoYXQgd2UgcGFzcyB0byB0aGUgcGx1Z2lucy4KKyAgT2JqZWN0X2xpc3Qgb2JqZWN0c187CisKKyAgLy8gVGhlIGZpbGUgY3VycmVudGx5IHVwIGZvciBjbGFpbSBieSB0aGUgcGx1Z2lucy4KKyAgSW5wdXRfZmlsZSogaW5wdXRfZmlsZV87CisgIHN0cnVjdCBsZF9wbHVnaW5faW5wdXRfZmlsZSBwbHVnaW5faW5wdXRfZmlsZV87CisKKyAgLy8gVFJVRSBhZnRlciB0aGUgYWxsIHN5bWJvbHMgcmVhZCBldmVudDsgaW5kaWNhdGVzIHRoYXQgd2UgYXJlCisgIC8vIHByb2Nlc3NpbmcgcmVwbGFjZW1lbnQgZmlsZXMgd2hvc2Ugc3ltYm9scyBzaG91bGQgcmVwbGFjZSB0aGUKKyAgLy8gcGxhY2Vob2xkZXIgc3ltYm9scyBmcm9tIHRoZSBQbHVnaW5vYmogb2JqZWN0cy4KKyAgYm9vbCBpbl9yZXBsYWNlbWVudF9waGFzZV87CisKKyAgY29uc3QgR2VuZXJhbF9vcHRpb25zJiBvcHRpb25zXzsKKyAgV29ya3F1ZXVlKiB3b3JrcXVldWVfOworICBJbnB1dF9vYmplY3RzKiBpbnB1dF9vYmplY3RzXzsKKyAgU3ltYm9sX3RhYmxlKiBzeW10YWJfOworICBMYXlvdXQqIGxheW91dF87CisgIERpcnNlYXJjaCogZGlycGF0aF87CisgIE1hcGZpbGUqIG1hcGZpbGVfOworICBUYXNrX3Rva2VuKiB0aGlzX2Jsb2NrZXJfOworfTsKKworCisvLyBBbiBvYmplY3QgZmlsZSBjbGFpbWVkIGJ5IGEgcGx1Z2luLiAgVGhpcyBpcyBhbiBhYnN0cmFjdCBiYXNlIGNsYXNzLgorLy8gVGhlIGltcGxlbWVudGF0aW9uIGlzIHRoZSB0ZW1wbGF0ZSBjbGFzcyBTaXplZF9wbHVnaW5vYmouCisKK2NsYXNzIFBsdWdpbm9iaiA6IHB1YmxpYyBPYmplY3QKK3sKKyBwdWJsaWM6CisKKyAgdHlwZWRlZiBzdGQ6OnZlY3RvcjxTeW1ib2wqPiBTeW1ib2xzOworCisgIFBsdWdpbm9iaihjb25zdCBzdGQ6OnN0cmluZyYgbmFtZSwgSW5wdXRfZmlsZSogaW5wdXRfZmlsZSwgb2ZmX3Qgb2Zmc2V0KTsKKworICAvLyBGaWxsIGluIHRoZSBzeW1ib2wgcmVzb2x1dGlvbiBzdGF0dXMgZm9yIHRoZSBnaXZlbiBwbHVnaW4gc3ltYm9scy4KKyAgbGRfcGx1Z2luX3N0YXR1cworICBnZXRfc3ltYm9sX3Jlc29sdXRpb25faW5mbyhpbnQgbnN5bXMsIGxkX3BsdWdpbl9zeW1ib2wqIHN5bXMpIGNvbnN0OworCisgIC8vIEFkZCBzeW1ib2wgaW5mb3JtYXRpb24gdG8gdGhlIGdsb2JhbCBzeW1ib2wgdGFibGUuCisgIHZvaWQKKyAgYWRkX3N5bWJvbHMoU3ltYm9sX3RhYmxlKiBzeW10YWIsIExheW91dCogbGF5b3V0KQorICB7IHRoaXMtPmRvX2FkZF9zeW1ib2xzKHN5bXRhYiwgbGF5b3V0KTsgfQorCisgIC8vIFN0b3JlIHRoZSBpbmNvbWluZyBzeW1ib2xzIGZyb20gdGhlIHBsdWdpbiBmb3IgbGF0ZXIgcHJvY2Vzc2luZy4KKyAgdm9pZAorICBzdG9yZV9pbmNvbWluZ19zeW1ib2xzKGludCBuc3ltcywgY29uc3Qgc3RydWN0IGxkX3BsdWdpbl9zeW1ib2wqIHN5bXMpCisgIHsKKyAgICB0aGlzLT5uc3ltc18gPSBuc3ltczsKKyAgICB0aGlzLT5zeW1zXyA9IHN5bXM7CisgIH0KKworICAvLyBSZXR1cm4gVFJVRSBpZiB0aGUgY29tZGF0IGdyb3VwIHdpdGgga2V5IENPTURBVF9LRVkgZnJvbSB0aGlzIG9iamVjdAorICAvLyBzaG91bGQgYmUga2VwdC4KKyAgYm9vbAorICBpbmNsdWRlX2NvbWRhdF9ncm91cChzdGQ6OnN0cmluZyBjb21kYXRfa2V5LCBMYXlvdXQqIGxheW91dCk7CisKKyBwcm90ZWN0ZWQ6CisgIC8vIFJldHVybiBUUlVFIGlmIHRoaXMgaXMgYW4gb2JqZWN0IGNsYWltZWQgYnkgYSBwbHVnaW4uCisgIHZpcnR1YWwgUGx1Z2lub2JqKgorICBkb19wbHVnaW5vYmooKQorICB7IHJldHVybiB0aGlzOyB9CisKKyAgLy8gQWRkIHN5bWJvbCBpbmZvcm1hdGlvbiB0byB0aGUgZ2xvYmFsIHN5bWJvbCB0YWJsZS0taW1wbGVtZW50ZWQgYnkKKyAgLy8gY2hpbGQgY2xhc3MuCisgIHZpcnR1YWwgdm9pZAorICBkb19hZGRfc3ltYm9scyhTeW1ib2xfdGFibGUqLCBMYXlvdXQqKSA9IDA7CisKKyAgLy8gVGhlIG51bWJlciBvZiBzeW1ib2xzIHByb3ZpZGVkIGJ5IHRoZSBwbHVnaW4uCisgIGludCBuc3ltc187CisgIAorICAvLyBUaGUgc3ltYm9scyBwcm92aWRlZCBieSB0aGUgcGx1Z2luLgorICBjb25zdCBzdHJ1Y3QgbGRfcGx1Z2luX3N5bWJvbCogc3ltc187CisKKyAgLy8gVGhlIGVudHJpZXMgaW4gdGhlIHN5bWJvbCB0YWJsZSBmb3IgdGhlIGV4dGVybmFsIHN5bWJvbHMuCisgIFN5bWJvbHMgc3ltYm9sc187CisKKyBwcml2YXRlOgorICAvLyBNYXAgYSBjb21kYXQga2V5IHN5bWJvbCB0byBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBjb21kYXQKKyAgLy8gZ3JvdXAgaW4gdGhpcyBvYmplY3Qgd2l0aCB0aGF0IGtleSBzaG91bGQgYmUga2VwdC4KKyAgdHlwZWRlZiBVbm9yZGVyZWRfbWFwPHN0ZDo6c3RyaW5nLCBib29sPiBDb21kYXRfbWFwOworICBDb21kYXRfbWFwIGNvbWRhdF9tYXBfOworfTsKKworLy8gQSBwbHVnaW4gb2JqZWN0LCBzaXplLXNwZWNpZmljIHZlcnNpb24uCisKK3RlbXBsYXRlPGludCBzaXplLCBib29sIGJpZ19lbmRpYW4+CitjbGFzcyBTaXplZF9wbHVnaW5vYmogOiBwdWJsaWMgUGx1Z2lub2JqCit7CisgcHVibGljOgorICBTaXplZF9wbHVnaW5vYmooY29uc3Qgc3RkOjpzdHJpbmcmIG5hbWUsIElucHV0X2ZpbGUqIGlucHV0X2ZpbGUsCisgICAgICAgICAgICAgICAgICBvZmZfdCBvZmZzZXQpOworCisgIC8vIFJlYWQgdGhlIHN5bWJvbHMuCisgIHZvaWQKKyAgZG9fcmVhZF9zeW1ib2xzKFJlYWRfc3ltYm9sc19kYXRhKik7CisKKyAgLy8gTGF5IG91dCB0aGUgaW5wdXQgc2VjdGlvbnMuCisgIHZvaWQKKyAgZG9fbGF5b3V0KFN5bWJvbF90YWJsZSosIExheW91dCosIFJlYWRfc3ltYm9sc19kYXRhKik7CisKKyAgLy8gQWRkIHRoZSBzeW1ib2xzIHRvIHRoZSBzeW1ib2wgdGFibGUuCisgIHZvaWQKKyAgZG9fYWRkX3N5bWJvbHMoU3ltYm9sX3RhYmxlKiwgUmVhZF9zeW1ib2xzX2RhdGEqKTsKKworICB2b2lkCisgIGRvX2FkZF9zeW1ib2xzKFN5bWJvbF90YWJsZSosIExheW91dCopOworCisgIC8vIEdldCB0aGUgc2l6ZSBvZiBhIHNlY3Rpb24uCisgIHVpbnQ2NF90CisgIGRvX3NlY3Rpb25fc2l6ZSh1bnNpZ25lZCBpbnQgc2huZHgpOworCisgIC8vIEdldCB0aGUgbmFtZSBvZiBhIHNlY3Rpb24uCisgIHN0ZDo6c3RyaW5nCisgIGRvX3NlY3Rpb25fbmFtZSh1bnNpZ25lZCBpbnQgc2huZHgpOworCisgIC8vIFJldHVybiBhIHZpZXcgb2YgdGhlIGNvbnRlbnRzIG9mIGEgc2VjdGlvbi4KKyAgT2JqZWN0OjpMb2NhdGlvbgorICBkb19zZWN0aW9uX2NvbnRlbnRzKHVuc2lnbmVkIGludCBzaG5keCk7CisKKyAgLy8gUmV0dXJuIHNlY3Rpb24gZmxhZ3MuCisgIHVpbnQ2NF90CisgIGRvX3NlY3Rpb25fZmxhZ3ModW5zaWduZWQgaW50IHNobmR4KTsKKworICAvLyBSZXR1cm4gc2VjdGlvbiBhZGRyZXNzLgorICB1aW50NjRfdAorICBkb19zZWN0aW9uX2FkZHJlc3ModW5zaWduZWQgaW50IHNobmR4KTsKKworICAvLyBSZXR1cm4gc2VjdGlvbiB0eXBlLgorICB1bnNpZ25lZCBpbnQKKyAgZG9fc2VjdGlvbl90eXBlKHVuc2lnbmVkIGludCBzaG5keCk7CisKKyAgLy8gUmV0dXJuIHRoZSBzZWN0aW9uIGxpbmsgZmllbGQuCisgIHVuc2lnbmVkIGludAorICBkb19zZWN0aW9uX2xpbmsodW5zaWduZWQgaW50IHNobmR4KTsKKworICAvLyBSZXR1cm4gdGhlIHNlY3Rpb24gbGluayBmaWVsZC4KKyAgdW5zaWduZWQgaW50CisgIGRvX3NlY3Rpb25faW5mbyh1bnNpZ25lZCBpbnQgc2huZHgpOworCisgIC8vIFJldHVybiB0aGUgc2VjdGlvbiBhbGlnbm1lbnQuCisgIHVpbnQ2NF90CisgIGRvX3NlY3Rpb25fYWRkcmFsaWduKHVuc2lnbmVkIGludCBzaG5keCk7CisKKyAgLy8gUmV0dXJuIHRoZSBYaW5kZXggc3RydWN0dXJlIHRvIHVzZS4KKyAgWGluZGV4KgorICBkb19pbml0aWFsaXplX3hpbmRleCgpOworCisgIC8vIEdldCBzeW1ib2wgY291bnRzLgorICB2b2lkCisgIGRvX2dldF9nbG9iYWxfc3ltYm9sX2NvdW50cyhjb25zdCBTeW1ib2xfdGFibGUqLCBzaXplX3QqLCBzaXplX3QqKSBjb25zdDsKKworICAvLyBBZGQgcGxhY2Vob2xkZXIgc3ltYm9scyBmcm9tIGEgY2xhaW1lZCBmaWxlLgorICBsZF9wbHVnaW5fc3RhdHVzCisgIGFkZF9zeW1ib2xzX2Zyb21fcGx1Z2luKGludCBuc3ltcywgY29uc3QgbGRfcGx1Z2luX3N5bWJvbCogc3ltcyk7CisKKyBwcm90ZWN0ZWQ6CisKKyBwcml2YXRlOgorfTsKKworLy8gVGhpcyBUYXNrIGhhbmRsZXMgYWRkaW5nIHRoZSBzeW1ib2xzIHRvIHRoZSBzeW1ib2wgdGFibGUuICBUaGVzZQorLy8gdGFza3MgbXVzdCBiZSBydW4gaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGFyZ3VtZW50cyBhcHBlYXIgb24gdGhlCisvLyBjb21tYW5kIGxpbmUuCisKK2NsYXNzIEFkZF9wbHVnaW5fc3ltYm9scyA6IHB1YmxpYyBUYXNrCit7CisgcHVibGljOgorICAvLyBUSElTX0JMT0NLRVIgaXMgdXNlZCB0byBwcmV2ZW50IHRoaXMgdGFzayBmcm9tIHJ1bm5pbmcgYmVmb3JlIHRoZQorICAvLyBvbmUgZm9yIHRoZSBwcmV2aW91cyBpbnB1dCBmaWxlLiAgTkVYVF9CTE9DS0VSIGlzIHVzZWQgdG8gcHJldmVudAorICAvLyB0aGUgbmV4dCB0YXNrIGZyb20gcnVubmluZy4KKyAgQWRkX3BsdWdpbl9zeW1ib2xzKFN5bWJvbF90YWJsZSogc3ltdGFiLAorCSAgICAgICAgICAgICBMYXlvdXQqIGxheW91dCwKKwkgICAgICAgICAgICAgUGx1Z2lub2JqKiBvYmosCisJICAgICAgICAgICAgIFRhc2tfdG9rZW4qIHRoaXNfYmxvY2tlciwKKwkgICAgICAgICAgICAgVGFza190b2tlbiogbmV4dF9ibG9ja2VyKQorICAgIDogc3ltdGFiXyhzeW10YWIpLCBsYXlvdXRfKGxheW91dCksIG9ial8ob2JqKSwKKyAgICAgIHRoaXNfYmxvY2tlcl8odGhpc19ibG9ja2VyKSwgbmV4dF9ibG9ja2VyXyhuZXh0X2Jsb2NrZXIpCisgIHsgfQorCisgIH5BZGRfcGx1Z2luX3N5bWJvbHMoKTsKKworICAvLyBUaGUgc3RhbmRhcmQgVGFzayBtZXRob2RzLgorCisgIFRhc2tfdG9rZW4qCisgIGlzX3J1bm5hYmxlKCk7CisKKyAgdm9pZAorICBsb2NrcyhUYXNrX2xvY2tlciopOworCisgIHZvaWQKKyAgcnVuKFdvcmtxdWV1ZSopOworCisgIHN0ZDo6c3RyaW5nCisgIGdldF9uYW1lKCkgY29uc3QKKyAgeyByZXR1cm4gIkFkZF9wbHVnaW5fc3ltYm9scyAiICsgdGhpcy0+b2JqXy0+bmFtZSgpOyB9CisKK3ByaXZhdGU6CisgIFN5bWJvbF90YWJsZSogc3ltdGFiXzsKKyAgTGF5b3V0KiBsYXlvdXRfOworICBQbHVnaW5vYmoqIG9ial87CisgIFRhc2tfdG9rZW4qIHRoaXNfYmxvY2tlcl87CisgIFRhc2tfdG9rZW4qIG5leHRfYmxvY2tlcl87Cit9OworCisvLyBUaGlzIFRhc2sgaGFuZGxlcyBoYW5kbGVzIHRoZSAiYWxsIHN5bWJvbHMgcmVhZCIgZXZlbnQgaG9vay4KKy8vIFRoZSBwbHVnaW4gbWF5IGFkZCBhZGRpdGlvbmFsIGlucHV0IGZpbGVzIGF0IHRoaXMgdGltZSwgd2hpY2ggbXVzdAorLy8gYmUgcXVldWVkIGZvciByZWFkaW5nLgorCitjbGFzcyBQbHVnaW5faG9vayA6IHB1YmxpYyBUYXNrCit7CisgcHVibGljOgorICBQbHVnaW5faG9vayhjb25zdCBHZW5lcmFsX29wdGlvbnMmIG9wdGlvbnMsIElucHV0X29iamVjdHMqIGlucHV0X29iamVjdHMsCisJICAgICAgU3ltYm9sX3RhYmxlKiBzeW10YWIsIExheW91dCogbGF5b3V0LCBEaXJzZWFyY2gqIGRpcnBhdGgsCisJICAgICAgTWFwZmlsZSogbWFwZmlsZSwgVGFza190b2tlbiogdGhpc19ibG9ja2VyLAorCSAgICAgIFRhc2tfdG9rZW4qIG5leHRfYmxvY2tlcikKKyAgICA6IG9wdGlvbnNfKG9wdGlvbnMpLCBpbnB1dF9vYmplY3RzXyhpbnB1dF9vYmplY3RzKSwgc3ltdGFiXyhzeW10YWIpLAorICAgICAgbGF5b3V0XyhsYXlvdXQpLCBkaXJwYXRoXyhkaXJwYXRoKSwgbWFwZmlsZV8obWFwZmlsZSksCisgICAgICB0aGlzX2Jsb2NrZXJfKHRoaXNfYmxvY2tlciksIG5leHRfYmxvY2tlcl8obmV4dF9ibG9ja2VyKQorICB7IH0KKworICB+UGx1Z2luX2hvb2soKTsKKworICAvLyBUaGUgc3RhbmRhcmQgVGFzayBtZXRob2RzLgorCisgIFRhc2tfdG9rZW4qCisgIGlzX3J1bm5hYmxlKCk7CisKKyAgdm9pZAorICBsb2NrcyhUYXNrX2xvY2tlciopOworCisgIHZvaWQKKyAgcnVuKFdvcmtxdWV1ZSopOworCisgIHN0ZDo6c3RyaW5nCisgIGdldF9uYW1lKCkgY29uc3QKKyAgeyByZXR1cm4gIlBsdWdpbl9ob29rIjsgfQorCisgcHJpdmF0ZToKKyAgLy8gQ2FsbCB0aGUgcGx1Z2luIGhvb2suCisgIHZvaWQKKyAgZG9fcGx1Z2luX2hvb2soV29ya3F1ZXVlKik7CisKKyAgY29uc3QgR2VuZXJhbF9vcHRpb25zJiBvcHRpb25zXzsKKyAgSW5wdXRfb2JqZWN0cyogaW5wdXRfb2JqZWN0c187CisgIFN5bWJvbF90YWJsZSogc3ltdGFiXzsKKyAgTGF5b3V0KiBsYXlvdXRfOworICBEaXJzZWFyY2gqIGRpcnBhdGhfOworICBNYXBmaWxlKiBtYXBmaWxlXzsKKyAgVGFza190b2tlbiogdGhpc19ibG9ja2VyXzsKKyAgVGFza190b2tlbiogbmV4dF9ibG9ja2VyXzsKK307CisKK30gLy8gRW5kIG5hbWVzcGFjZSBnb2xkLgorCisjZW5kaWYgLy8gIWRlZmluZWQoR09MRF9QTFVHSU5fSCkKZGlmZiAtLWdpdCBhL2dvbGQvcG93ZXJwYy5jYyBiL2dvbGQvcG93ZXJwYy5jYwppbmRleCA0MjFjZmRiLi4wNWNlNGZjIDEwMDY0NAotLS0gYS9nb2xkL3Bvd2VycGMuY2MKKysrIGIvZ29sZC9wb3dlcnBjLmNjCkBAIC0xMjksNyArMTI5LDcgQEAKIAogICAvLyBSZXR1cm4gd2hldGhlciBTWU0gaXMgZGVmaW5lZCBieSB0aGUgQUJJLgogICBib29sCi0gIGRvX2lzX2RlZmluZWRfYnlfYWJpKFN5bWJvbCogc3ltKSBjb25zdAorICBkb19pc19kZWZpbmVkX2J5X2FiaShjb25zdCBTeW1ib2wqIHN5bSkgY29uc3QKICAgewogICAgIHJldHVybiBzdHJjbXAoc3ltLT5uYW1lKCksICJfX190bHNfZ2V0X2FkZHIiKSA9PSAwOwogICB9CmRpZmYgLS1naXQgYS9nb2xkL3JlYWRzeW1zLmNjIGIvZ29sZC9yZWFkc3ltcy5jYwppbmRleCAwNWM4MGY4Li5hYzY0NmQ5IDEwMDY0NAotLS0gYS9nb2xkL3JlYWRzeW1zLmNjCisrKyBiL2dvbGQvcmVhZHN5bXMuY2MKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJhcmNoaXZlLmgiCiAjaW5jbHVkZSAic2NyaXB0LmgiCiAjaW5jbHVkZSAicmVhZHN5bXMuaCIKKyNpbmNsdWRlICJwbHVnaW4uaCIKIAogbmFtZXNwYWNlIGdvbGQKIHsKQEAgLTE1OSw2ICsxNjAsNTMgQEAKICAgY29uc3QgdW5zaWduZWQgY2hhciogZWhkciA9IGlucHV0X2ZpbGUtPmZpbGUoKS5nZXRfdmlldygwLCAwLCByZWFkX3NpemUsCiAJCQkJCQkJICB0cnVlLCBmYWxzZSk7CiAKKyAgaWYgKHJlYWRfc2l6ZSA+PSBBcmNoaXZlOjpzYXJtYWcpCisgICAgeworICAgICAgYm9vbCBpc190aGluX2FyY2hpdmUKKyAgICAgICAgICA9IG1lbWNtcChlaGRyLCBBcmNoaXZlOjphcm1hZ3QsIEFyY2hpdmU6OnNhcm1hZykgPT0gMDsKKyAgICAgIGlmIChpc190aGluX2FyY2hpdmUgCisgICAgICAgICAgfHwgbWVtY21wKGVoZHIsIEFyY2hpdmU6OmFybWFnLCBBcmNoaXZlOjpzYXJtYWcpID09IDApCisJeworCSAgLy8gVGhpcyBpcyBhbiBhcmNoaXZlLgorCSAgQXJjaGl2ZSogYXJjaCA9IG5ldyBBcmNoaXZlKHRoaXMtPmlucHV0X2FyZ3VtZW50Xy0+ZmlsZSgpLm5hbWUoKSwKKwkJCQkgICAgICBpbnB1dF9maWxlLCBpc190aGluX2FyY2hpdmUsCisJCQkJICAgICAgdGhpcy0+ZGlycGF0aF8sIHRoaXMpOworCSAgYXJjaC0+c2V0dXAodGhpcy0+aW5wdXRfb2JqZWN0c18pOworCSAgCisJICAvLyBVbmxvY2sgdGhlIGFyY2hpdmUgc28gaXQgY2FuIGJlIHVzZWQgaW4gdGhlIG5leHQgdGFzay4KKwkgIGFyY2gtPnVubG9jayh0aGlzKTsKKworCSAgd29ya3F1ZXVlLT5xdWV1ZV9uZXh0KG5ldyBBZGRfYXJjaGl2ZV9zeW1ib2xzKHRoaXMtPnN5bXRhYl8sCisJCQkJCQkJdGhpcy0+bGF5b3V0XywKKwkJCQkJCQl0aGlzLT5pbnB1dF9vYmplY3RzXywKKwkJCQkJCQl0aGlzLT5tYXBmaWxlXywKKwkJCQkJCQlhcmNoLAorCQkJCQkJCXRoaXMtPmlucHV0X2dyb3VwXywKKwkJCQkJCQl0aGlzLT50aGlzX2Jsb2NrZXJfLAorCQkJCQkJCXRoaXMtPm5leHRfYmxvY2tlcl8pKTsKKwkgIHJldHVybiB0cnVlOworCX0KKyAgICB9CisKKyAgaWYgKHBhcmFtZXRlcnMtPm9wdGlvbnMoKS5oYXNfcGx1Z2lucygpKQorICAgIHsKKyAgICAgIFBsdWdpbm9iaiogb2JqID0gcGFyYW1ldGVycy0+b3B0aW9ucygpLnBsdWdpbnMoKS0+Y2xhaW1fZmlsZShpbnB1dF9maWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIGZpbGVzaXplKTsKKyAgICAgIGlmIChvYmogIT0gTlVMTCkKKyAgICAgICAgeworICAgICAgICAgIC8vIFRoZSBpbnB1dCBmaWxlIHdhcyBjbGFpbWVkIGJ5IGEgcGx1Z2luLCBhbmQgaXRzIHN5bWJvbHMKKyAgICAgICAgICAvLyBoYXZlIGJlZW4gcHJvdmlkZWQgYnkgdGhlIHBsdWdpbi4KKwkgIGlucHV0X2ZpbGUtPmZpbGUoKS5jbGFpbV9mb3JfcGx1Z2luKCk7CisJICBpbnB1dF9maWxlLT5maWxlKCkudW5sb2NrKHRoaXMpOworICAgICAgICAgIHdvcmtxdWV1ZS0+cXVldWVfbmV4dChuZXcgQWRkX3BsdWdpbl9zeW1ib2xzKHRoaXMtPnN5bXRhYl8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy0+bGF5b3V0XywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy0+dGhpc19ibG9ja2VyXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLT5uZXh0X2Jsb2NrZXJfKSk7CisgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICB9CisKICAgaWYgKHJlYWRfc2l6ZSA+PSA0KQogICAgIHsKICAgICAgIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGVsZm1hZ2ljWzRdID0KQEAgLTIwMSwzNCArMjQ5LDYgQEAKIAl9CiAgICAgfQogCi0gIGlmIChyZWFkX3NpemUgPj0gQXJjaGl2ZTo6c2FybWFnKQotICAgIHsKLSAgICAgIGJvb2wgaXNfdGhpbl9hcmNoaXZlCi0gICAgICAgICAgPSBtZW1jbXAoZWhkciwgQXJjaGl2ZTo6YXJtYWd0LCBBcmNoaXZlOjpzYXJtYWcpID09IDA7Ci0gICAgICBpZiAoaXNfdGhpbl9hcmNoaXZlIAotICAgICAgICAgIHx8IG1lbWNtcChlaGRyLCBBcmNoaXZlOjphcm1hZywgQXJjaGl2ZTo6c2FybWFnKSA9PSAwKQotCXsKLQkgIC8vIFRoaXMgaXMgYW4gYXJjaGl2ZS4KLQkgIEFyY2hpdmUqIGFyY2ggPSBuZXcgQXJjaGl2ZSh0aGlzLT5pbnB1dF9hcmd1bWVudF8tPmZpbGUoKS5uYW1lKCksCi0JCQkJICAgICAgaW5wdXRfZmlsZSwgaXNfdGhpbl9hcmNoaXZlLAotCQkJCSAgICAgIHRoaXMtPmRpcnBhdGhfLCB0aGlzKTsKLQkgIGFyY2gtPnNldHVwKHRoaXMtPmlucHV0X29iamVjdHNfKTsKLQkgIAotCSAgLy8gVW5sb2NrIHRoZSBhcmNoaXZlIHNvIGl0IGNhbiBiZSB1c2VkIGluIHRoZSBuZXh0IHRhc2suCi0JICBhcmNoLT51bmxvY2sodGhpcyk7Ci0KLQkgIHdvcmtxdWV1ZS0+cXVldWVfbmV4dChuZXcgQWRkX2FyY2hpdmVfc3ltYm9scyh0aGlzLT5zeW10YWJfLAotCQkJCQkJCXRoaXMtPmxheW91dF8sCi0JCQkJCQkJdGhpcy0+aW5wdXRfb2JqZWN0c18sCi0JCQkJCQkJdGhpcy0+bWFwZmlsZV8sCi0JCQkJCQkJYXJjaCwKLQkJCQkJCQl0aGlzLT5pbnB1dF9ncm91cF8sCi0JCQkJCQkJdGhpcy0+dGhpc19ibG9ja2VyXywKLQkJCQkJCQl0aGlzLT5uZXh0X2Jsb2NrZXJfKSk7Ci0JICByZXR1cm4gdHJ1ZTsKLQl9Ci0gICAgfQotCiAgIC8vIFF1ZXVlIHVwIGEgdGFzayB0byB0cnkgdG8gcGFyc2UgdGhpcyBmaWxlIGFzIGEgc2NyaXB0LiAgV2UgdXNlIGEKICAgLy8gc2VwYXJhdGUgdGFzayBzbyB0aGF0IHRoZSBzY3JpcHQgd2lsbCBiZSByZWFkIGluIG9yZGVyIHdpdGggb3RoZXIKICAgLy8gb2JqZWN0cyBuYW1lZCBvbiB0aGUgY29tbWFuZCBsaW5lLiAgQWxzbyBzbyB0aGF0IHdlIGRvbid0IHRyeSB0bwpkaWZmIC0tZ2l0IGEvZ29sZC9yZWxvYy5jYyBiL2dvbGQvcmVsb2MuY2MKaW5kZXggZGFhMGVhOC4uNDgxNjE3ZCAxMDA2NDQKLS0tIGEvZ29sZC9yZWxvYy5jYworKysgYi9nb2xkL3JlbG9jLmNjCkBAIC01ODYsOCArNTg2LDggQEAKICAgICAgIC8vIEluIHRoZSBub3JtYWwgY2FzZSwgdGhpcyBpbnB1dCBzZWN0aW9uIGlzIHNpbXBseSBtYXBwZWQgdG8KICAgICAgIC8vIHRoZSBvdXRwdXQgc2VjdGlvbiBhdCBvZmZzZXQgT1VUUFVUX09GRlNFVC4KIAotICAgICAgLy8gSG93ZXZlciwgaWYgT1VUUFVUX09GRlNFVCA9PSAtMVUsIHRoZW4gaW5wdXQgZGF0YSBpcyBoYW5kbGVkCi0gICAgICAvLyBzcGVjaWFsbHktLWUuZy4sIGEgLmVoX2ZyYW1lIHNlY3Rpb24uICBUaGUgcmVsb2NhdGlvbgorICAgICAgLy8gSG93ZXZlciwgaWYgT1VUUFVUX09GRlNFVCA9PSBJTlZBTElEX0FERFJFU1MsIHRoZW4gaW5wdXQgZGF0YSBpcworICAgICAgLy8gaGFuZGxlZCBzcGVjaWFsbHktLWUuZy4sIGEgLmVoX2ZyYW1lIHNlY3Rpb24uICBUaGUgcmVsb2NhdGlvbgogICAgICAgLy8gcm91dGluZXMgbmVlZCB0byBjaGVjayBmb3IgZWFjaCByZWxvYyB3aGVyZSBpdCBzaG91bGQgYmUKICAgICAgIC8vIGFwcGxpZWQuICBGb3IgdGhpcyBjYXNlLCB3ZSBuZWVkIGFuIGlucHV0L291dHB1dCB2aWV3IGZvciB0aGUKICAgICAgIC8vIGVudGlyZSBjb250ZW50cyBvZiB0aGUgc2VjdGlvbiBpbiB0aGUgb3V0cHV0IGZpbGUuICBXZSBkb24ndApAQCAtNjE5LDcgKzYxOSw3IEBACiAKICAgICAgIG9mZl90IHZpZXdfc3RhcnQ7CiAgICAgICBzZWN0aW9uX3NpemVfdHlwZSB2aWV3X3NpemU7Ci0gICAgICBpZiAob3V0cHV0X29mZnNldCAhPSAtMVUpCisgICAgICBpZiAob3V0cHV0X29mZnNldCAhPSBpbnZhbGlkX2FkZHJlc3MpCiAJewogCSAgdmlld19zdGFydCA9IG91dHB1dF9zZWN0aW9uX29mZnNldCArIG91dHB1dF9vZmZzZXQ7CiAJICB2aWV3X3NpemUgPSBjb252ZXJ0X3RvX3NlY3Rpb25fc2l6ZV90eXBlKHNoZHIuZ2V0X3NoX3NpemUoKSk7CkBAIC02MzMsNyArNjMzLDcgQEAKICAgICAgIGlmICh2aWV3X3NpemUgPT0gMCkKIAljb250aW51ZTsKIAotICAgICAgZ29sZF9hc3NlcnQob3V0cHV0X29mZnNldCA9PSAtMVUKKyAgICAgIGdvbGRfYXNzZXJ0KG91dHB1dF9vZmZzZXQgPT0gaW52YWxpZF9hZGRyZXNzCiAJCSAgfHwgb3V0cHV0X29mZnNldCArIHZpZXdfc2l6ZSA8PSBvdXRwdXRfc2VjdGlvbl9zaXplKTsKIAogICAgICAgdW5zaWduZWQgY2hhciogdmlldzsKQEAgLTY0MSw3ICs2NDEsNyBAQAogCXsKIAkgIHVuc2lnbmVkIGNoYXIqIGJ1ZmZlciA9IG9zLT5wb3N0cHJvY2Vzc2luZ19idWZmZXIoKTsKIAkgIHZpZXcgPSBidWZmZXIgKyB2aWV3X3N0YXJ0OwotCSAgaWYgKG91dHB1dF9vZmZzZXQgIT0gLTFVKQorCSAgaWYgKG91dHB1dF9vZmZzZXQgIT0gaW52YWxpZF9hZGRyZXNzKQogCSAgICB7CiAJICAgICAgb2ZmX3Qgc2hfb2Zmc2V0ID0gc2hkci5nZXRfc2hfb2Zmc2V0KCk7CiAJICAgICAgaWYgKCFybS5lbXB0eSgpICYmIHJtLmJhY2soKS5maWxlX29mZnNldCA+IHNoX29mZnNldCkKQEAgLTY1Miw3ICs2NTIsNyBAQAogCX0KICAgICAgIGVsc2UKIAl7Ci0JICBpZiAob3V0cHV0X29mZnNldCA9PSAtMVUpCisJICBpZiAob3V0cHV0X29mZnNldCA9PSBpbnZhbGlkX2FkZHJlc3MpCiAJICAgIHZpZXcgPSBvZi0+Z2V0X2lucHV0X291dHB1dF92aWV3KHZpZXdfc3RhcnQsIHZpZXdfc2l6ZSk7CiAJICBlbHNlCiAJICAgIHsKQEAgLTY2NywxMSArNjY3LDExIEBACiAKICAgICAgIHB2cy0+dmlldyA9IHZpZXc7CiAgICAgICBwdnMtPmFkZHJlc3MgPSBvcy0+YWRkcmVzcygpOwotICAgICAgaWYgKG91dHB1dF9vZmZzZXQgIT0gLTFVKQorICAgICAgaWYgKG91dHB1dF9vZmZzZXQgIT0gaW52YWxpZF9hZGRyZXNzKQogCXB2cy0+YWRkcmVzcyArPSBvdXRwdXRfb2Zmc2V0OwogICAgICAgcHZzLT5vZmZzZXQgPSB2aWV3X3N0YXJ0OwogICAgICAgcHZzLT52aWV3X3NpemUgPSB2aWV3X3NpemU7Ci0gICAgICBwdnMtPmlzX2lucHV0X291dHB1dF92aWV3ID0gb3V0cHV0X29mZnNldCA9PSAtMVU7CisgICAgICBwdnMtPmlzX2lucHV0X291dHB1dF92aWV3ID0gb3V0cHV0X29mZnNldCA9PSBpbnZhbGlkX2FkZHJlc3M7CiAgICAgICBwdnMtPmlzX3Bvc3Rwcm9jZXNzaW5nX3ZpZXcgPSBvcy0+cmVxdWlyZXNfcG9zdHByb2Nlc3NpbmcoKTsKICAgICB9CiAKQEAgLTc3Miw3ICs3NzIsNyBAQAogCSAgY29udGludWU7CiAJfQogCi0gICAgICBnb2xkX2Fzc2VydChvdXRwdXRfb2Zmc2V0ICE9IC0xVQorICAgICAgZ29sZF9hc3NlcnQob3V0cHV0X29mZnNldCAhPSBpbnZhbGlkX2FkZHJlc3MKIAkJICB8fCB0aGlzLT5yZWxvY3NfbXVzdF9mb2xsb3dfc2VjdGlvbl93cml0ZXMoKSk7CiAKICAgICAgIHJlbGluZm8ucmVsb2Nfc2huZHggPSBpOwpAQCAtNzg0LDcgKzc4NCw3IEBACiAJCQkJICAgcHJlbG9jcywKIAkJCQkgICByZWxvY19jb3VudCwKIAkJCQkgICBvcywKLQkJCQkgICBvdXRwdXRfb2Zmc2V0ID09IC0xVSwKKwkJCQkgICBvdXRwdXRfb2Zmc2V0ID09IGludmFsaWRfYWRkcmVzcywKIAkJCQkgICAoKnB2aWV3cylbaW5kZXhdLnZpZXcsCiAJCQkJICAgKCpwdmlld3MpW2luZGV4XS5hZGRyZXNzLAogCQkJCSAgICgqcHZpZXdzKVtpbmRleF0udmlld19zaXplKTsKZGlmZiAtLWdpdCBhL2dvbGQvcmVzb2x2ZS5jYyBiL2dvbGQvcmVzb2x2ZS5jYwppbmRleCAwYWQ5OTBjLi4xNzU0NGY4IDEwMDY0NAotLS0gYS9nb2xkL3Jlc29sdmUuY2MKKysrIGIvZ29sZC9yZXNvbHZlLmNjCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAidGFyZ2V0LmgiCiAjaW5jbHVkZSAib2JqZWN0LmgiCiAjaW5jbHVkZSAic3ltdGFiLmgiCisjaW5jbHVkZSAicGx1Z2luLmgiCiAKIG5hbWVzcGFjZSBnb2xkCiB7CkBAIC0yNDAsNiArMjQxLDI0IEBACiAgICAgICB0by0+c2V0X2luX2R5bigpOwogICAgIH0KIAorICAvLyBSZWNvcmQgaWYgd2UndmUgc2VlbiB0aGlzIHN5bWJvbCBpbiBhIHJlYWwgRUxGIG9iamVjdCAoaS5lLiwgdGhlCisgIC8vIHN5bWJvbCBpcyByZWZlcmVuY2VkIGZyb20gb3V0c2lkZSB0aGUgd29ybGQga25vd24gdG8gdGhlIHBsdWdpbikuCisgIGlmIChvYmplY3QtPnBsdWdpbm9iaigpID09IE5VTEwpCisgICAgdG8tPnNldF9pbl9yZWFsX2VsZigpOworCisgIC8vIElmIHdlJ3JlIHByb2Nlc3NpbmcgcmVwbGFjZW1lbnQgZmlsZXMsIGFsbG93IG5ldyBzeW1ib2xzIHRvIG92ZXJyaWRlCisgIC8vIHRoZSBwbGFjZWhvbGRlcnMgZnJvbSB0aGUgcGx1Z2luIG9iamVjdHMuCisgIGlmICh0by0+c291cmNlKCkgPT0gU3ltYm9sOjpGUk9NX09CSkVDVCkKKyAgICB7CisgICAgICBQbHVnaW5vYmoqIG9iaiA9IHRvLT5vYmplY3QoKS0+cGx1Z2lub2JqKCk7CisgICAgICBpZiAob2JqICE9IE5VTEwKKyAgICAgICAgICAmJiBwYXJhbWV0ZXJzLT5vcHRpb25zKCkucGx1Z2lucygpLT5pbl9yZXBsYWNlbWVudF9waGFzZSgpKQorICAgICAgICB7CisgICAgICAgICAgdGhpcy0+b3ZlcnJpZGUodG8sIHN5bSwgc3Rfc2huZHgsIGlzX29yZGluYXJ5LCBvYmplY3QsIHZlcnNpb24pOworICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKwogICB1bnNpZ25lZCBpbnQgZnJvbWJpdHMgPSBzeW1ib2xfdG9fYml0cyhzeW0uZ2V0X3N0X2JpbmQoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0LT5pc19keW5hbWljKCksCiAJCQkJCSBzdF9zaG5keCwgaXNfb3JkaW5hcnksCmRpZmYgLS1naXQgYS9nb2xkL3NwYXJjLmNjIGIvZ29sZC9zcGFyYy5jYwppbmRleCA3ZGE1OWRkLi5jY2E3OGI3IDEwMDY0NAotLS0gYS9nb2xkL3NwYXJjLmNjCisrKyBiL2dvbGQvc3BhcmMuY2MKQEAgLTEzMCw3ICsxMzAsNyBAQAogCQkJICAgc2VjdGlvbl9zaXplX3R5cGUgcmVsb2Nfdmlld19zaXplKTsKICAgLy8gUmV0dXJuIHdoZXRoZXIgU1lNIGlzIGRlZmluZWQgYnkgdGhlIEFCSS4KICAgYm9vbAotICBkb19pc19kZWZpbmVkX2J5X2FiaShTeW1ib2wqIHN5bSkgY29uc3QKKyAgZG9faXNfZGVmaW5lZF9ieV9hYmkoY29uc3QgU3ltYm9sKiBzeW0pIGNvbnN0CiAgIHsKICAgICAvLyBYWFggUmVhbGx5IG5lZWQgdG8gc3VwcG9ydCB0aGlzIGJldHRlci4uLgogICAgIGlmIChzeW0tPnR5cGUoKSA9PSBlbGZjcHA6OlNUVF9TUEFSQ19SRUdJU1RFUikKZGlmZiAtLWdpdCBhL2dvbGQvc3ltdGFiLmNjIGIvZ29sZC9zeW10YWIuY2MKaW5kZXggMzkzZDcxYS4uYzJkZTNiYyAxMDA2NDQKLS0tIGEvZ29sZC9zeW10YWIuY2MKKysrIGIvZ29sZC9zeW10YWIuY2MKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJ0YXJnZXQuaCIKICNpbmNsdWRlICJ3b3JrcXVldWUuaCIKICNpbmNsdWRlICJzeW10YWIuaCIKKyNpbmNsdWRlICJwbHVnaW4uaCIKIAogbmFtZXNwYWNlIGdvbGQKIHsKQEAgLTczLDYgKzc0LDcgQEAKICAgdGhpcy0+aXNfY29waWVkX2Zyb21fZHlub2JqXyA9IGZhbHNlOwogICB0aGlzLT5pc19mb3JjZWRfbG9jYWxfID0gZmFsc2U7CiAgIHRoaXMtPmlzX29yZGluYXJ5X3NobmR4XyA9IGZhbHNlOworICB0aGlzLT5pbl9yZWFsX2VsZl8gPSBmYWxzZTsKIH0KIAogLy8gUmV0dXJuIHRoZSBkZW1hbmdsZWQgdmVyc2lvbiBvZiB0aGUgc3ltYm9sJ3MgbmFtZSwgYnV0IG9ubHkKQEAgLTExNyw2ICsxMTksNyBAQAogICB0aGlzLT5zb3VyY2VfID0gRlJPTV9PQkpFQ1Q7CiAgIHRoaXMtPmluX3JlZ18gPSAhb2JqZWN0LT5pc19keW5hbWljKCk7CiAgIHRoaXMtPmluX2R5bl8gPSBvYmplY3QtPmlzX2R5bmFtaWMoKTsKKyAgdGhpcy0+aW5fcmVhbF9lbGZfID0gb2JqZWN0LT5wbHVnaW5vYmooKSA9PSBOVUxMOwogfQogCiAvLyBJbml0aWFsaXplIHRoZSBmaWVsZHMgaW4gdGhlIGJhc2UgY2xhc3MgU3ltYm9sIGZvciBhIHN5bWJvbCBkZWZpbmVkCkBAIC0xMzMsNiArMTM2LDcgQEAKICAgdGhpcy0+dV8uaW5fb3V0cHV0X2RhdGEub2Zmc2V0X2lzX2Zyb21fZW5kID0gb2Zmc2V0X2lzX2Zyb21fZW5kOwogICB0aGlzLT5zb3VyY2VfID0gSU5fT1VUUFVUX0RBVEE7CiAgIHRoaXMtPmluX3JlZ18gPSB0cnVlOworICB0aGlzLT5pbl9yZWFsX2VsZl8gPSB0cnVlOwogfQogCiAvLyBJbml0aWFsaXplIHRoZSBmaWVsZHMgaW4gdGhlIGJhc2UgY2xhc3MgU3ltYm9sIGZvciBhIHN5bWJvbCBkZWZpbmVkCkBAIC0xNTAsNiArMTU0LDcgQEAKICAgdGhpcy0+dV8uaW5fb3V0cHV0X3NlZ21lbnQub2Zmc2V0X2Jhc2UgPSBvZmZzZXRfYmFzZTsKICAgdGhpcy0+c291cmNlXyA9IElOX09VVFBVVF9TRUdNRU5UOwogICB0aGlzLT5pbl9yZWdfID0gdHJ1ZTsKKyAgdGhpcy0+aW5fcmVhbF9lbGZfID0gdHJ1ZTsKIH0KIAogLy8gSW5pdGlhbGl6ZSB0aGUgZmllbGRzIGluIHRoZSBiYXNlIGNsYXNzIFN5bWJvbCBmb3IgYSBzeW1ib2wgZGVmaW5lZApAQCAtMTYzLDYgKzE2OCw3IEBACiAgIHRoaXMtPmluaXRfZmllbGRzKG5hbWUsIHZlcnNpb24sIHR5cGUsIGJpbmRpbmcsIHZpc2liaWxpdHksIG5vbnZpcyk7CiAgIHRoaXMtPnNvdXJjZV8gPSBJU19DT05TVEFOVDsKICAgdGhpcy0+aW5fcmVnXyA9IHRydWU7CisgIHRoaXMtPmluX3JlYWxfZWxmXyA9IHRydWU7CiB9CiAKIC8vIEluaXRpYWxpemUgdGhlIGZpZWxkcyBpbiB0aGUgYmFzZSBjbGFzcyBTeW1ib2wgZm9yIGFuIHVuZGVmaW5lZApAQCAtMTc3LDYgKzE4Myw3IEBACiAgIHRoaXMtPmR5bnN5bV9pbmRleF8gPSAtMVU7CiAgIHRoaXMtPnNvdXJjZV8gPSBJU19VTkRFRklORUQ7CiAgIHRoaXMtPmluX3JlZ18gPSB0cnVlOworICB0aGlzLT5pbl9yZWFsX2VsZl8gPSB0cnVlOwogfQogCiAvLyBBbGxvY2F0ZSBhIGNvbW1vbiBzeW1ib2wgaW4gdGhlIGJhc2UuCkBAIC0zNTcsNiArMzY0LDcgQEAKIAlpZiAoc2huZHggIT0gZWxmY3BwOjpTSE5fVU5ERUYgJiYgdGhpcy0+aXNfb3JkaW5hcnlfc2huZHhfKQogCSAgewogCSAgICBnb2xkX2Fzc2VydCghdGhpcy0+dV8uZnJvbV9vYmplY3Qub2JqZWN0LT5pc19keW5hbWljKCkpOworCSAgICBnb2xkX2Fzc2VydCh0aGlzLT51Xy5mcm9tX29iamVjdC5vYmplY3QtPnBsdWdpbm9iaigpID09IE5VTEwpOwogCSAgICBSZWxvYmoqIHJlbG9iaiA9IHN0YXRpY19jYXN0PFJlbG9iaio+KHRoaXMtPnVfLmZyb21fb2JqZWN0Lm9iamVjdCk7CiAJICAgIHJldHVybiByZWxvYmotPm91dHB1dF9zZWN0aW9uKHNobmR4KTsKIAkgIH0KQEAgLTk3Myw2ICs5ODEsNjggQEAKICAgICB9CiB9CiAKKy8vIEFkZCBhIHN5bWJvbCBmcm9tIGEgcGx1Z2luLWNsYWltZWQgZmlsZS4KKwordGVtcGxhdGU8aW50IHNpemUsIGJvb2wgYmlnX2VuZGlhbj4KK1N5bWJvbCoKK1N5bWJvbF90YWJsZTo6YWRkX2Zyb21fcGx1Z2lub2JqKAorICAgIFNpemVkX3BsdWdpbm9iajxzaXplLCBiaWdfZW5kaWFuPiogb2JqLAorICAgIGNvbnN0IGNoYXIqIG5hbWUsCisgICAgY29uc3QgY2hhciogdmVyLAorICAgIGVsZmNwcDo6U3ltPHNpemUsIGJpZ19lbmRpYW4+KiBzeW0pCit7CisgIHVuc2lnbmVkIGludCBzdF9zaG5keCA9IHN5bS0+Z2V0X3N0X3NobmR4KCk7CisKKyAgU3RyaW5ncG9vbDo6S2V5IHZlcl9rZXkgPSAwOworICBib29sIGRlZiA9IGZhbHNlOworICBib29sIGxvY2FsID0gZmFsc2U7CisKKyAgaWYgKHZlciAhPSBOVUxMKQorICAgIHsKKyAgICAgIHZlciA9IHRoaXMtPm5hbWVwb29sXy5hZGQodmVyLCB0cnVlLCAmdmVyX2tleSk7CisgICAgfQorICAvLyBXZSBkb24ndCB3YW50IHRvIGFzc2lnbiBhIHZlcnNpb24gdG8gYW4gdW5kZWZpbmVkIHN5bWJvbCwKKyAgLy8gZXZlbiBpZiBpdCBpcyBsaXN0ZWQgaW4gdGhlIHZlcnNpb24gc2NyaXB0LiAgRklYTUU6IFdoYXQKKyAgLy8gYWJvdXQgYSBjb21tb24gc3ltYm9sPworICBlbHNlCisgICAgeworICAgICAgaWYgKCF0aGlzLT52ZXJzaW9uX3NjcmlwdF8uZW1wdHkoKQorICAgICAgICAgICYmIHN0X3NobmR4ICE9IGVsZmNwcDo6U0hOX1VOREVGKQorICAgICAgICB7CisgICAgICAgICAgLy8gVGhlIHN5bWJvbCBuYW1lIGRpZCBub3QgaGF2ZSBhIHZlcnNpb24sIGJ1dCB0aGUKKyAgICAgICAgICAvLyB2ZXJzaW9uIHNjcmlwdCBtYXkgYXNzaWduIGEgdmVyc2lvbiBhbnl3YXkuCisgICAgICAgICAgc3RkOjpzdHJpbmcgdmVyc2lvbjsKKyAgICAgICAgICBpZiAodGhpcy0+dmVyc2lvbl9zY3JpcHRfLmdldF9zeW1ib2xfdmVyc2lvbihuYW1lLCAmdmVyc2lvbikpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIC8vIFRoZSB2ZXJzaW9uIGNhbiBiZSBlbXB0eSBpZiB0aGUgdmVyc2lvbiBzY3JpcHQgaXMKKyAgICAgICAgICAgICAgLy8gb25seSB1c2VkIHRvIGZvcmNlIHNvbWUgc3ltYm9scyB0byBiZSBsb2NhbC4KKyAgICAgICAgICAgICAgaWYgKCF2ZXJzaW9uLmVtcHR5KCkpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgdmVyID0gdGhpcy0+bmFtZXBvb2xfLmFkZF93aXRoX2xlbmd0aCh2ZXJzaW9uLmNfc3RyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb24ubGVuZ3RoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2ZXJfa2V5KTsKKyAgICAgICAgICAgICAgICAgIGRlZiA9IHRydWU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgIGVsc2UgaWYgKHRoaXMtPnZlcnNpb25fc2NyaXB0Xy5zeW1ib2xfaXNfbG9jYWwobmFtZSkpCisgICAgICAgICAgICBsb2NhbCA9IHRydWU7CisgICAgICAgIH0KKyAgICB9CisKKyAgU3RyaW5ncG9vbDo6S2V5IG5hbWVfa2V5OworICBuYW1lID0gdGhpcy0+bmFtZXBvb2xfLmFkZChuYW1lLCB0cnVlLCAmbmFtZV9rZXkpOworCisgIFNpemVkX3N5bWJvbDxzaXplPiogcmVzOworICByZXMgPSB0aGlzLT5hZGRfZnJvbV9vYmplY3Qob2JqLCBuYW1lLCBuYW1lX2tleSwgdmVyLCB2ZXJfa2V5LAorCQkgICAgICAgICAgICAgIGRlZiwgKnN5bSwgc3Rfc2huZHgsIHRydWUsIHN0X3NobmR4KTsKKworICBpZiAobG9jYWwpCisJdGhpcy0+Zm9yY2VfbG9jYWwocmVzKTsKKworICByZXR1cm4gcmVzOworfQorCiAvLyBBZGQgYWxsIHRoZSBzeW1ib2xzIGluIGEgZHluYW1pYyBvYmplY3QgdG8gdGhlIGhhc2ggdGFibGUuCiAKIHRlbXBsYXRlPGludCBzaXplLCBib29sIGJpZ19lbmRpYW4+CkBAIC0yMDQzLDYgKzIxMTMsMTEgQEAKIAkgICAgdmFsdWUgPSAwOwogCSAgICBzaG5keCA9IGVsZmNwcDo6U0hOX1VOREVGOwogCSAgfQorCWVsc2UgaWYgKHN5bW9iai0+cGx1Z2lub2JqKCkgIT0gTlVMTCkKKwkgIHsKKwkgICAgdmFsdWUgPSAwOworCSAgICBzaG5keCA9IGVsZmNwcDo6U0hOX1VOREVGOworCSAgfQogCWVsc2UgaWYgKHNobmR4ID09IGVsZmNwcDo6U0hOX1VOREVGKQogCSAgdmFsdWUgPSAwOwogCWVsc2UgaWYgKCFpc19vcmRpbmFyeQpAQCAtMjA2MSwxMSArMjEzNiwyMCBAQAogCSAgICAgIH0KIAogICAgICAgICAgICAgdWludDY0X3Qgc2Vjb2ZmNjQgPSByZWxvYmotPm91dHB1dF9zZWN0aW9uX29mZnNldChzaG5keCk7Ci0gICAgICAgICAgICBWYWx1ZV90eXBlIHNlY29mZiA9IGNvbnZlcnRfdHlwZXM8VmFsdWVfdHlwZSwgdWludDY0X3Q+KHNlY29mZjY0KTsKLQkgICAgaWYgKHN5bS0+dHlwZSgpID09IGVsZmNwcDo6U1RUX1RMUykKLQkgICAgICB2YWx1ZSA9IHN5bS0+dmFsdWUoKSArIG9zLT50bHNfb2Zmc2V0KCkgKyBzZWNvZmY7Ci0JICAgIGVsc2UKLQkgICAgICB2YWx1ZSA9IHN5bS0+dmFsdWUoKSArIG9zLT5hZGRyZXNzKCkgKyBzZWNvZmY7CisgICAgICAgICAgICBpZiAoc2Vjb2ZmNjQgPT0gLTFVTEwpCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvLyBUaGUgc2VjdGlvbiBuZWVkcyBzcGVjaWFsIGhhbmRsaW5nIChlLmcuLCBhIG1lcmdlIHNlY3Rpb24pLgorCSAgICAgICAgdmFsdWUgPSBvcy0+b3V0cHV0X2FkZHJlc3MocmVsb2JqLCBzaG5keCwgc3ltLT52YWx1ZSgpKTsKKwkgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBWYWx1ZV90eXBlIHNlY29mZiA9CisgICAgICAgICAgICAgICAgICBjb252ZXJ0X3R5cGVzPFZhbHVlX3R5cGUsIHVpbnQ2NF90PihzZWNvZmY2NCk7CisJICAgICAgICBpZiAoc3ltLT50eXBlKCkgPT0gZWxmY3BwOjpTVFRfVExTKQorCSAgICAgICAgICB2YWx1ZSA9IHN5bS0+dmFsdWUoKSArIG9zLT50bHNfb2Zmc2V0KCkgKyBzZWNvZmY7CisJICAgICAgICBlbHNlCisJICAgICAgICAgIHZhbHVlID0gc3ltLT52YWx1ZSgpICsgb3MtPmFkZHJlc3MoKSArIHNlY29mZjsKKwkgICAgICB9CiAJICB9CiAgICAgICB9CiAgICAgICBicmVhazsKQEAgLTIyNjEsNiArMjM0NSw4IEBACiAJCSAgICAgIGR5bnN5bV92YWx1ZSA9IHRhcmdldC5keW5zeW1fdmFsdWUoc3ltKTsKIAkJICAgIHNobmR4ID0gZWxmY3BwOjpTSE5fVU5ERUY7CiAJCSAgfQorCQllbHNlIGlmIChzeW1vYmotPnBsdWdpbm9iaigpICE9IE5VTEwpCisJCSAgc2huZHggPSBlbGZjcHA6OlNITl9VTkRFRjsKIAkJZWxzZSBpZiAoaW5fc2huZHggPT0gZWxmY3BwOjpTSE5fVU5ERUYKIAkJCSB8fCAoIWlzX29yZGluYXJ5CiAJCQkgICAgICYmIChpbl9zaG5keCA9PSBlbGZjcHA6OlNITl9BQlMKQEAgLTI3MDMsNiArMjc4OSw0NiBAQAogCiAjaWZkZWYgSEFWRV9UQVJHRVRfMzJfTElUVExFCiB0ZW1wbGF0ZQorU3ltYm9sKgorU3ltYm9sX3RhYmxlOjphZGRfZnJvbV9wbHVnaW5vYmo8MzIsIGZhbHNlPigKKyAgICBTaXplZF9wbHVnaW5vYmo8MzIsIGZhbHNlPiogb2JqLAorICAgIGNvbnN0IGNoYXIqIG5hbWUsCisgICAgY29uc3QgY2hhciogdmVyLAorICAgIGVsZmNwcDo6U3ltPDMyLCBmYWxzZT4qIHN5bSk7CisjZW5kaWYKKworI2lmZGVmIEhBVkVfVEFSR0VUXzMyX0JJRwordGVtcGxhdGUKK1N5bWJvbCoKK1N5bWJvbF90YWJsZTo6YWRkX2Zyb21fcGx1Z2lub2JqPDMyLCB0cnVlPigKKyAgICBTaXplZF9wbHVnaW5vYmo8MzIsIHRydWU+KiBvYmosCisgICAgY29uc3QgY2hhciogbmFtZSwKKyAgICBjb25zdCBjaGFyKiB2ZXIsCisgICAgZWxmY3BwOjpTeW08MzIsIHRydWU+KiBzeW0pOworI2VuZGlmCisKKyNpZmRlZiBIQVZFX1RBUkdFVF82NF9MSVRUTEUKK3RlbXBsYXRlCitTeW1ib2wqCitTeW1ib2xfdGFibGU6OmFkZF9mcm9tX3BsdWdpbm9iajw2NCwgZmFsc2U+KAorICAgIFNpemVkX3BsdWdpbm9iajw2NCwgZmFsc2U+KiBvYmosCisgICAgY29uc3QgY2hhciogbmFtZSwKKyAgICBjb25zdCBjaGFyKiB2ZXIsCisgICAgZWxmY3BwOjpTeW08NjQsIGZhbHNlPiogc3ltKTsKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9UQVJHRVRfNjRfQklHCit0ZW1wbGF0ZQorU3ltYm9sKgorU3ltYm9sX3RhYmxlOjphZGRfZnJvbV9wbHVnaW5vYmo8NjQsIHRydWU+KAorICAgIFNpemVkX3BsdWdpbm9iajw2NCwgdHJ1ZT4qIG9iaiwKKyAgICBjb25zdCBjaGFyKiBuYW1lLAorICAgIGNvbnN0IGNoYXIqIHZlciwKKyAgICBlbGZjcHA6OlN5bTw2NCwgdHJ1ZT4qIHN5bSk7CisjZW5kaWYKKworI2lmZGVmIEhBVkVfVEFSR0VUXzMyX0xJVFRMRQordGVtcGxhdGUKIHZvaWQKIFN5bWJvbF90YWJsZTo6YWRkX2Zyb21fZHlub2JqPDMyLCBmYWxzZT4oCiAgICAgU2l6ZWRfZHlub2JqPDMyLCBmYWxzZT4qIGR5bm9iaiwKZGlmZiAtLWdpdCBhL2dvbGQvc3ltdGFiLmggYi9nb2xkL3N5bXRhYi5oCmluZGV4IDA0M2ZiNTBmLi5jZmQwYzczIDEwMDY0NAotLS0gYS9nb2xkL3N5bXRhYi5oCisrKyBiL2dvbGQvc3ltdGFiLmgKQEAgLTQzLDYgKzQzLDggQEAKIGNsYXNzIFJlbG9iajsKIHRlbXBsYXRlPGludCBzaXplLCBib29sIGJpZ19lbmRpYW4+CiBjbGFzcyBTaXplZF9yZWxvYmo7Cit0ZW1wbGF0ZTxpbnQgc2l6ZSwgYm9vbCBiaWdfZW5kaWFuPgorY2xhc3MgU2l6ZWRfcGx1Z2lub2JqOwogY2xhc3MgRHlub2JqOwogdGVtcGxhdGU8aW50IHNpemUsIGJvb2wgYmlnX2VuZGlhbj4KIGNsYXNzIFNpemVkX2R5bm9iajsKQEAgLTI3Myw2ICsyNzUsMTggQEAKICAgc2V0X2luX2R5bigpCiAgIHsgdGhpcy0+aW5fZHluXyA9IHRydWU7IH0KIAorICAvLyBSZXR1cm4gd2hldGhlciB0aGlzIHN5bWJvbCBoYXMgYmVlbiBzZWVuIGluIGEgcmVhbCBFTEYgb2JqZWN0LgorICAvLyAoSU5fUkVHIHdpbGwgcmV0dXJuIFRSVUUgaWYgdGhlIHN5bWJvbCBoYXMgYmVlbiBzZWVuIGluIGVpdGhlcgorICAvLyBhIHJlYWwgRUxGIG9iamVjdCBvciBhbiBvYmplY3QgY2xhaW1lZCBieSBhIHBsdWdpbi4pCisgIGJvb2wKKyAgaW5fcmVhbF9lbGYoKSBjb25zdAorICB7IHJldHVybiB0aGlzLT5pbl9yZWFsX2VsZl87IH0KKworICAvLyBNYXJrIHRoaXMgc3ltYm9sIGFzIGhhdmluZyBiZWVuIHNlZW4gaW4gYSByZWFsIEVMRiBvYmplY3QuCisgIHZvaWQKKyAgc2V0X2luX3JlYWxfZWxmKCkKKyAgeyB0aGlzLT5pbl9yZWFsX2VsZl8gPSB0cnVlOyB9CisKICAgLy8gUmV0dXJuIHRoZSBpbmRleCBvZiB0aGlzIHN5bWJvbCBpbiB0aGUgb3V0cHV0IGZpbGUgc3ltYm9sIHRhYmxlLgogICAvLyBBIHZhbHVlIG9mIC0xVSBtZWFucyB0aGF0IHRoaXMgc3ltYm9sIGlzIG5vdCBnb2luZyBpbnRvIHRoZQogICAvLyBvdXRwdXQgZmlsZS4gIFRoaXMgc3RhcnRzIG91dCBhcyB6ZXJvLCBhbmQgaXMgc2V0IHRvIGEgbm9uLXplcm8KQEAgLTg3MSw4ICs4ODUsMTAgQEAKICAgYm9vbCBpc19mb3JjZWRfbG9jYWxfIDogMTsKICAgLy8gVHJ1ZSBpZiB0aGUgZmllbGQgdV8uZnJvbV9vYmplY3Quc2huZHggaXMgYW4gb3JkaW5hcnkgc2VjdGlvbgogICAvLyBpbmRleCwgbm90IG9uZSBvZiB0aGUgc3BlY2lhbCBjb2RlcyBmcm9tIFNITl9MT1JFU0VSVkUgdG8KLSAgLy8gU0hOX0hJUkVTRVJWRS4KKyAgLy8gU0hOX0hJUkVTRVJWRSAoYml0IDMxKS4KICAgYm9vbCBpc19vcmRpbmFyeV9zaG5keF8gOiAxOworICAvLyBUcnVlIGlmIHdlJ3ZlIHNlZW4gdGhpcyBzeW1ib2wgaW4gYSByZWFsIEVMRiBvYmplY3QuCisgIGJvb2wgaW5fcmVhbF9lbGZfIDogMTsKIH07CiAKIC8vIFRoZSBwYXJ0cyBvZiBhIHN5bWJvbCB3aGljaCBhcmUgc2l6ZSBzcGVjaWZpYy4gIFVzaW5nIGEgdGVtcGxhdGUKQEAgLTExMzksNiArMTE1NSwxNCBAQAogCQkgIHR5cGVuYW1lIFNpemVkX3JlbG9iajxzaXplLCBiaWdfZW5kaWFuPjo6U3ltYm9scyosCiAJCSAgc2l6ZV90KiBkZWZpbmVkKTsKIAorICAvLyBBZGQgb25lIGV4dGVybmFsIHN5bWJvbCBmcm9tIHRoZSBwbHVnaW4gb2JqZWN0IE9CSiB0byB0aGUgc3ltYm9sIHRhYmxlLgorICAvLyBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgcmVzb2x2ZWQgc3ltYm9sIGluIHRoZSBzeW1ib2wgdGFibGUuCisgIHRlbXBsYXRlPGludCBzaXplLCBib29sIGJpZ19lbmRpYW4+CisgIFN5bWJvbCoKKyAgYWRkX2Zyb21fcGx1Z2lub2JqKFNpemVkX3BsdWdpbm9iajxzaXplLCBiaWdfZW5kaWFuPiogb2JqLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogbmFtZSwgY29uc3QgY2hhciogdmVyLAorICAgICAgICAgICAgICAgICAgICAgZWxmY3BwOjpTeW08c2l6ZSwgYmlnX2VuZGlhbj4qIHN5bSk7CisKICAgLy8gQWRkIENPVU5UIGR5bmFtaWMgc3ltYm9scyBmcm9tIHRoZSBkeW5hbWljIG9iamVjdCBEWU5PQkogdG8gdGhlCiAgIC8vIHN5bWJvbCB0YWJsZS4gIFNZTVMgaXMgdGhlIHN5bWJvbHMuICBTWU1fTkFNRVMgaXMgdGhlaXIgbmFtZXMuCiAgIC8vIFNZTV9OQU1FX1NJWkUgaXMgdGhlIHNpemUgb2YgU1lNX05BTUVTLiAgVGhlIG90aGVyIHBhcmFtZXRlcnMgYXJlCmRpZmYgLS1naXQgYS9nb2xkL3RhcmdldC1yZWxvYy5oIGIvZ29sZC90YXJnZXQtcmVsb2MuaAppbmRleCA2NjgzZGRkLi45MzVkNzZiIDEwMDY0NAotLS0gYS9nb2xkL3RhcmdldC1yZWxvYy5oCisrKyBiL2dvbGQvdGFyZ2V0LXJlbG9jLmgKQEAgLTI4Myw2ICsyODMsNyBAQAogICAgICAgaWYgKHN5bSAhPSBOVUxMCiAJICAmJiBzeW0tPmlzX3VuZGVmaW5lZCgpCiAJICAmJiBzeW0tPmJpbmRpbmcoKSAhPSBlbGZjcHA6OlNUQl9XRUFLCisgICAgICAgICAgJiYgIXRhcmdldC0+aXNfZGVmaW5lZF9ieV9hYmkoc3ltKQogCSAgJiYgKCFwYXJhbWV0ZXJzLT5vcHRpb25zKCkuc2hhcmVkKCkgICAgICAgLy8gLXNoYXJlZAogICAgICAgICAgICAgICB8fCBwYXJhbWV0ZXJzLT5vcHRpb25zKCkuZGVmcygpKSkgICAgIC8vIC16IGRlZnMKIAlnb2xkX3VuZGVmaW5lZF9zeW1ib2woc3ltLCByZWxpbmZvLCBpLCBvZmZzZXQpOwpAQCAtNDQ5LDYgKzQ1MCw3IEBACiAgIHR5cGVkZWYgdHlwZW5hbWUgUmVsb2NfdHlwZXM8c2hfdHlwZSwgc2l6ZSwgYmlnX2VuZGlhbj46OlJlbG9jX3dyaXRlCiAgICAgUmVsdHlwZV93cml0ZTsKICAgY29uc3QgaW50IHJlbG9jX3NpemUgPSBSZWxvY190eXBlczxzaF90eXBlLCBzaXplLCBiaWdfZW5kaWFuPjo6cmVsb2Nfc2l6ZTsKKyAgY29uc3QgQWRkcmVzcyBpbnZhbGlkX2FkZHJlc3MgPSBzdGF0aWNfY2FzdDxBZGRyZXNzPigwKSAtIDE7CiAKICAgU2l6ZWRfcmVsb2JqPHNpemUsIGJpZ19lbmRpYW4+KiBjb25zdCBvYmplY3QgPSByZWxpbmZvLT5vYmplY3Q7CiAgIGNvbnN0IHVuc2lnbmVkIGludCBsb2NhbF9jb3VudCA9IG9iamVjdC0+bG9jYWxfc3ltYm9sX2NvdW50KCk7CkBAIC01MjMsNyArNTI1LDcgQEAKIAogICAgICAgQWRkcmVzcyBvZmZzZXQgPSByZWxvYy5nZXRfcl9vZmZzZXQoKTsKICAgICAgIEFkZHJlc3MgbmV3X29mZnNldDsKLSAgICAgIGlmIChvZmZzZXRfaW5fb3V0cHV0X3NlY3Rpb24gIT0gLTFVKQorICAgICAgaWYgKG9mZnNldF9pbl9vdXRwdXRfc2VjdGlvbiAhPSBpbnZhbGlkX2FkZHJlc3MpCiAJbmV3X29mZnNldCA9IG9mZnNldCArIG9mZnNldF9pbl9vdXRwdXRfc2VjdGlvbjsKICAgICAgIGVsc2UKIAl7CkBAIC01NDIsNyArNTQ0LDcgQEAKICAgICAgIGlmICghcGFyYW1ldGVycy0+b3B0aW9ucygpLnJlbG9jYXRhYmxlKCkpCiAJewogCSAgbmV3X29mZnNldCArPSB2aWV3X2FkZHJlc3M7Ci0JICBpZiAob2Zmc2V0X2luX291dHB1dF9zZWN0aW9uICE9IC0xVSkKKwkgIGlmIChvZmZzZXRfaW5fb3V0cHV0X3NlY3Rpb24gIT0gaW52YWxpZF9hZGRyZXNzKQogCSAgICBuZXdfb2Zmc2V0IC09IG9mZnNldF9pbl9vdXRwdXRfc2VjdGlvbjsKIAl9CiAKZGlmZiAtLWdpdCBhL2dvbGQvdGFyZ2V0LmggYi9nb2xkL3RhcmdldC5oCmluZGV4IDMwZmEwMDguLjQ2MGFjOTYgMTAwNjQ0Ci0tLSBhL2dvbGQvdGFyZ2V0LmgKKysrIGIvZ29sZC90YXJnZXQuaApAQCAtMTY0LDcgKzE2NCw3IEBACiAgIC8vIFJldHVybiB3aGV0aGVyIFNZTSBpcyBrbm93biB0byBiZSBkZWZpbmVkIGJ5IHRoZSBBQkkuICBUaGlzIGlzCiAgIC8vIHVzZWQgdG8gYXZvaWQgaW5hcHByb3ByaWF0ZSB3YXJuaW5ncyBhYm91dCB1bmRlZmluZWQgc3ltYm9scy4KICAgYm9vbAotICBpc19kZWZpbmVkX2J5X2FiaShTeW1ib2wqIHN5bSkgY29uc3QKKyAgaXNfZGVmaW5lZF9ieV9hYmkoY29uc3QgU3ltYm9sKiBzeW0pIGNvbnN0CiAgIHsgcmV0dXJuIHRoaXMtPmRvX2lzX2RlZmluZWRfYnlfYWJpKHN5bSk7IH0KIAogIHByb3RlY3RlZDoKQEAgLTIyMiw3ICsyMjIsNyBAQAogCiAgIC8vIFZpcnR1YWwgZnVuY3Rpb24gd2hpY2ggbWF5IGJlIGltcGxlbWVudGVkIGJ5IHRoZSBjaGlsZCBjbGFzcy4KICAgdmlydHVhbCBib29sCi0gIGRvX2lzX2RlZmluZWRfYnlfYWJpKFN5bWJvbCopIGNvbnN0CisgIGRvX2lzX2RlZmluZWRfYnlfYWJpKGNvbnN0IFN5bWJvbCopIGNvbnN0CiAgIHsgcmV0dXJuIGZhbHNlOyB9CiAKICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvZ29sZC90ZXN0c3VpdGUvTWFrZWZpbGUuYW0gYi9nb2xkL3Rlc3RzdWl0ZS9NYWtlZmlsZS5hbQppbmRleCBjOWRkNDcwLi41N2Q5NmNkIDEwMDY0NAotLS0gYS9nb2xkL3Rlc3RzdWl0ZS9NYWtlZmlsZS5hbQorKysgYi9nb2xkL3Rlc3RzdWl0ZS9NYWtlZmlsZS5hbQpAQCAtOSw2ICs5LDcgQEAKICMgVGhlIHR3b19maWxlX3Rlc3QgdGVzdHMgLWZtZXJnZS1jb25zdGFudHMsIHNvIHdlIHNpbXBseSBhbHdheXMgdHVybgogIyBpdCBvbi4gIFRoaXMgbWF5IG5lZWQgdG8gYmUgY29udHJvbGxlZCBieSBhIGNvbmZpZ3VyZSBvcHRpb24KICMgZXZlbnR1YWxseS4KK0FNX0NGTEFHUyA9ICQoV0FSTl9DRkxBR1MpICQoTEZTX0NGTEFHUykgLWZtZXJnZS1jb25zdGFudHMKIEFNX0NYWEZMQUdTID0gJChXQVJOX0NYWEZMQUdTKSAkKExGU19DRkxBR1MpIC1mbWVyZ2UtY29uc3RhbnRzCiAKIElOQ0xVREVTID0gXApAQCAtMjEsNiArMjIsMTEgQEAKIFRFU1RfT0JKRFVNUCA9ICQodG9wX2J1aWxkZGlyKS8uLi9iaW51dGlscy9vYmpkdW1wCiBURVNUX0NYWEZJTFQgPSAkKHRvcF9idWlsZGRpcikvLi4vYmludXRpbHMvY3h4ZmlsdAogVEVTVF9TVFJJUCA9ICQodG9wX2J1aWxkZGlyKS8uLi9iaW51dGlscy9zdHJpcC1uZXcKK1RFU1RfQVIgPSAkKHRvcF9idWlsZGRpcikvLi4vYmludXRpbHMvYXIKKworaWYgUExVR0lOUworTElCREwgPSAtbGRsCitlbmRpZgogCiBpZiBUSFJFQURTCiBUSFJFQURTTElCID0gLWxwdGhyZWFkCkBAIC01Nyw3ICs2Myw3IEBACiBERVBFTkRFTkNJRVMgPSBcCiAJbGliZ29sZHRlc3QuYSAuLi9saWJnb2xkLmEgLi4vLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hICQoTElCSU5UTF9ERVApCiBMREFERCA9IGxpYmdvbGR0ZXN0LmEgLi4vbGliZ29sZC5hIC4uLy4uL2xpYmliZXJ0eS9saWJpYmVydHkuYSAkKExJQklOVEwpIFwKLQkkKFRIUkVBRFNMSUIpCisJJChUSFJFQURTTElCKSAkKExJQkRMKQogCiAKICMgVGhlIHVuaXR0ZXN0cyB0aGVtc2VsdmVzCkBAIC00NjgsNyArNDc0LDcgQEAKIHRsc190ZXN0X2NfcGljLm86IHRsc190ZXN0X2MuYwogCSQoQ09NUElMRSkgLWMgLWZwaWMgJChUTFNfVEVTVF9DX0NGTEFHUykgLW8gJEAgJDwKIHRsc190ZXN0X3NoYXJlZC5zbzogdGxzX3Rlc3RfcGljLm8gdGxzX3Rlc3RfZmlsZTJfcGljLm8gdGxzX3Rlc3RfY19waWMubyBnY2N0ZXN0ZGlyL2xkCi0JJChDWFhMSU5LKSAtQmdjY3Rlc3RkaXIvIC1zaGFyZWQgdGxzX3Rlc3RfcGljLm8gdGxzX3Rlc3RfZmlsZTJfcGljLm8gdGxzX3Rlc3RfY19waWMubworCSQoQ1hYTElOSykgLUJnY2N0ZXN0ZGlyLyAtc2hhcmVkIHRsc190ZXN0X3BpYy5vIHRsc190ZXN0X2ZpbGUyX3BpYy5vIHRsc190ZXN0X2NfcGljLm8gLVdsLC16LGRlZnMKIHRsc190ZXN0X3NoYXJlZDIuc286IHRsc190ZXN0X2ZpbGUyX3BpYy5vIGdjY3Rlc3RkaXIvbGQKIAkkKENYWExJTkspIC1CZ2NjdGVzdGRpci8gLXNoYXJlZCB0bHNfdGVzdF9maWxlMl9waWMubwogCkBAIC04OTcsNSArOTAzLDc1IEBACiBzY3JpcHRfdGVzdF80LnN0ZG91dDogc2NyaXB0X3Rlc3RfNAogCSQoVEVTVF9SRUFERUxGKSAtU2xXIHNjcmlwdF90ZXN0XzQgPiBzY3JpcHRfdGVzdF80LnN0ZG91dAogCitjaGVja19QUk9HUkFNUyArPSB0aGluX2FyY2hpdmVfdGVzdF8xCit0aGluX2FyY2hpdmVfdGVzdF8xX1NPVVJDRVMgPSB0aGluX2FyY2hpdmVfbWFpbi5jYwordGhpbl9hcmNoaXZlX3Rlc3RfMV9ERVBFTkRFTkNJRVMgPSBnY2N0ZXN0ZGlyL2xkIGxpYnRoaW4xLmEgYWx0L2xpYnRoaW4yLmEKK3RoaW5fYXJjaGl2ZV90ZXN0XzFfTERGTEFHUyA9IC1CZ2NjdGVzdGRpci8gLUxhbHQKK3RoaW5fYXJjaGl2ZV90ZXN0XzFfTERBREQgPSBsaWJ0aGluMS5hIC1sdGhpbjIKKworY2hlY2tfUFJPR1JBTVMgKz0gdGhpbl9hcmNoaXZlX3Rlc3RfMgordGhpbl9hcmNoaXZlX3Rlc3RfMl9TT1VSQ0VTID0gdGhpbl9hcmNoaXZlX21haW4uY2MKK3RoaW5fYXJjaGl2ZV90ZXN0XzJfREVQRU5ERU5DSUVTID0gZ2NjdGVzdGRpci9sZCBsaWJ0aGluYWxsLmEKK3RoaW5fYXJjaGl2ZV90ZXN0XzJfTERGTEFHUyA9IC1CZ2NjdGVzdGRpci8gLUwuCit0aGluX2FyY2hpdmVfdGVzdF8yX0xEQUREID0gLWx0aGluYWxsCisKK2xpYnRoaW4xLmE6IHRoaW5fYXJjaGl2ZV90ZXN0XzEubyBhbHQvdGhpbl9hcmNoaXZlX3Rlc3RfMi5vCisJcm0gLWYgJEAKKwkkKFRFU1RfQVIpIGNyVCAkQCAkXgorYWx0L2xpYnRoaW4yLmE6IHRoaW5fYXJjaGl2ZV90ZXN0XzMubyBhbHQvdGhpbl9hcmNoaXZlX3Rlc3RfNC5vCisJcm0gLWYgJEAKKwkkKFRFU1RfQVIpIGNyVCAkQCAkXgorbGlidGhpbjMuYTogdGhpbl9hcmNoaXZlX3Rlc3RfMS5vIGFsdC90aGluX2FyY2hpdmVfdGVzdF80Lm8KKwlybSAtZiAkQAorCSQoVEVTVF9BUikgY3JUICRAICReCithbHQvbGlidGhpbjQuYTogYWx0L3RoaW5fYXJjaGl2ZV90ZXN0XzIubyB0aGluX2FyY2hpdmVfdGVzdF8zLm8KKwlybSAtZiAkQAorCSQoVEVTVF9BUikgY3JUICRAICReCitsaWJ0aGluYWxsLmE6IGxpYnRoaW4zLmEgYWx0L2xpYnRoaW40LmEKKwlybSAtZiAkQAorCSQoVEVTVF9BUikgY3JUICRAICReCithbHQvdGhpbl9hcmNoaXZlX3Rlc3RfMi5vOiB0aGluX2FyY2hpdmVfdGVzdF8yLmNjCisJdGVzdCAtZCBhbHQgfHwgbWtkaXIgLXAgYWx0CisJJChDWFhDT01QSUxFKSAtYyAtbyAkQCAkPAorYWx0L3RoaW5fYXJjaGl2ZV90ZXN0XzQubzogdGhpbl9hcmNoaXZlX3Rlc3RfNC5jYworCXRlc3QgLWQgYWx0IHx8IG1rZGlyIC1wIGFsdAorCSQoQ1hYQ09NUElMRSkgLWMgLW8gJEAgJDwKKworaWYgUExVR0lOUworCitjaGVja19QUk9HUkFNUyArPSBwbHVnaW5fdGVzdF8xCitjaGVja19TQ1JJUFRTICs9IHBsdWdpbl90ZXN0XzEuc2gKK2NoZWNrX0RBVEEgKz0gcGx1Z2luX3Rlc3RfMS5lcnIKK01PU1RMWUNMRUFORklMRVMgKz0gcGx1Z2luX3Rlc3RfMS5lcnIKK3BsdWdpbl90ZXN0XzE6IHR3b19maWxlX3Rlc3RfbWFpbi5vIHR3b19maWxlX3Rlc3RfMS5zeW1zIHR3b19maWxlX3Rlc3RfMWIuc3ltcyB0d29fZmlsZV90ZXN0XzIuc3ltcyBnY2N0ZXN0ZGlyL2xkIHBsdWdpbl90ZXN0LnNvCisJJChDWFhMSU5LKSAtQmdjY3Rlc3RkaXIvIC1XbCwtLW5vLWRlbWFuZ2xlLC0tcGx1Z2luLCIuL3BsdWdpbl90ZXN0LnNvO19aNGYxM2l2IiB0d29fZmlsZV90ZXN0X21haW4ubyB0d29fZmlsZV90ZXN0XzEuc3ltcyB0d29fZmlsZV90ZXN0XzFiLnN5bXMgdHdvX2ZpbGVfdGVzdF8yLnN5bXMgMj5wbHVnaW5fdGVzdF8xLmVycgorcGx1Z2luX3Rlc3RfMS5lcnI6IHBsdWdpbl90ZXN0XzEKKwlAdG91Y2ggcGx1Z2luX3Rlc3RfMS5lcnIKKworY2hlY2tfUFJPR1JBTVMgKz0gcGx1Z2luX3Rlc3RfMgorY2hlY2tfU0NSSVBUUyArPSBwbHVnaW5fdGVzdF8yLnNoCitjaGVja19EQVRBICs9IHBsdWdpbl90ZXN0XzIuZXJyCitNT1NUTFlDTEVBTkZJTEVTICs9IHBsdWdpbl90ZXN0XzIuZXJyCitwbHVnaW5fdGVzdF8yOiB0d29fZmlsZV90ZXN0X21haW4ubyB0d29fZmlsZV90ZXN0XzEuc3ltcyB0d29fZmlsZV90ZXN0XzFiLnN5bXMgdHdvX2ZpbGVfc2hhcmVkXzIuc28gZ2NjdGVzdGRpci9sZCBwbHVnaW5fdGVzdC5zbworCSQoQ1hYTElOSykgLUJnY2N0ZXN0ZGlyLyAtV2wsLS1uby1kZW1hbmdsZSwtUiwuLC0tcGx1Z2luLCIuL3BsdWdpbl90ZXN0LnNvIiB0d29fZmlsZV90ZXN0X21haW4ubyB0d29fZmlsZV90ZXN0XzEuc3ltcyB0d29fZmlsZV90ZXN0XzFiLnN5bXMgdHdvX2ZpbGVfc2hhcmVkXzIuc28gMj5wbHVnaW5fdGVzdF8yLmVycgorcGx1Z2luX3Rlc3RfMi5lcnI6IHBsdWdpbl90ZXN0XzIKKwlAdG91Y2ggcGx1Z2luX3Rlc3RfMi5lcnIKKworcGx1Z2luX3Rlc3Quc286IHBsdWdpbl90ZXN0Lm8KKwkkKExJTkspIC1CZ2NjdGVzdGRpci8gLXNoYXJlZCBwbHVnaW5fdGVzdC5vCitwbHVnaW5fdGVzdC5vOiBwbHVnaW5fdGVzdC5jCisJJChDT01QSUxFKSAtTzAgLWMgLWZwaWMgLW8gJEAgJDwKKwordHdvX2ZpbGVfdGVzdF9tYWluLnN5bXM6IHR3b19maWxlX3Rlc3RfbWFpbi5vCisJJChURVNUX1JFQURFTEYpIC1zVyAkPCA+JEAgMj4vZGV2L251bGwKK3R3b19maWxlX3Rlc3RfMS5zeW1zOiB0d29fZmlsZV90ZXN0XzEubworCSQoVEVTVF9SRUFERUxGKSAtc1cgJDwgPiRAIDI+L2Rldi9udWxsCit0d29fZmlsZV90ZXN0XzFiLnN5bXM6IHR3b19maWxlX3Rlc3RfMWIubworCSQoVEVTVF9SRUFERUxGKSAtc1cgJDwgPiRAIDI+L2Rldi9udWxsCit0d29fZmlsZV90ZXN0XzIuc3ltczogdHdvX2ZpbGVfdGVzdF8yLm8KKwkkKFRFU1RfUkVBREVMRikgLXNXICQ8ID4kQCAyPi9kZXYvbnVsbAorCitlbmRpZiBQTFVHSU5TCisKIGVuZGlmIEdDQwogZW5kaWYgTkFUSVZFX0xJTktFUgpkaWZmIC0tZ2l0IGEvZ29sZC90ZXN0c3VpdGUvTWFrZWZpbGUuaW4gYi9nb2xkL3Rlc3RzdWl0ZS9NYWtlZmlsZS5pbgppbmRleCA5ZjcyYjg4Li41NGIyMzY0IDEwMDY0NAotLS0gYS9nb2xkL3Rlc3RzdWl0ZS9NYWtlZmlsZS5pbgorKysgYi9nb2xkL3Rlc3RzdWl0ZS9NYWtlZmlsZS5pbgpAQCAtNDcsNyArNDcsOCBAQAogCSQoYW1fX0VYRUVYVF80KSAkKGFtX19FWEVFWFRfNSkgJChhbV9fRVhFRVhUXzYpIFwKIAkkKGFtX19FWEVFWFRfNykgJChhbV9fRVhFRVhUXzgpICQoYW1fX0VYRUVYVF85KSBcCiAJJChhbV9fRVhFRVhUXzEwKSAkKGFtX19FWEVFWFRfMTEpICQoYW1fX0VYRUVYVF8xMikgXAotCSQoYW1fX0VYRUVYVF8xMykgJChhbV9fRVhFRVhUXzE0KSAkKGFtX19FWEVFWFRfMTUpCisJJChhbV9fRVhFRVhUXzEzKSAkKGFtX19FWEVFWFRfMTQpICQoYW1fX0VYRUVYVF8xNSkgXAorCSQoYW1fX0VYRUVYVF8xNikKIEBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQGFtX19hcHBlbmRfMSA9IGJhc2ljX3Rlc3QgXAogQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVACWJhc2ljX3N0YXRpY190ZXN0IGJhc2ljX3BpY190ZXN0IFwKIEBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQAliYXNpY19zdGF0aWNfcGljX3Rlc3QgXApAQCAtNjYsMzMgKzY3LDM5IEBACiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJdHdvX2ZpbGVfcmVsb2NhdGFibGVfdGVzdAogQEdDQ19GQUxTRUBjb25zdHJ1Y3Rvcl90ZXN0X0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgLi4vbGliZ29sZC5hIFwKIEBHQ0NfRkFMU0VACS4uLy4uL2xpYmliZXJ0eS9saWJpYmVydHkuYSAkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAotQEdDQ19GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpCitAR0NDX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpCiBATkFUSVZFX0xJTktFUl9GQUxTRUBjb25zdHJ1Y3Rvcl90ZXN0X0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACS4uL2xpYmdvbGQuYSAuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCitATkFUSVZFX0xJTktFUl9GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkKIEBHQ0NfRkFMU0VAY29uc3RydWN0b3Jfc3RhdGljX3Rlc3RfREVQRU5ERU5DSUVTID0gbGliZ29sZHRlc3QuYSBcCiBAR0NDX0ZBTFNFQAkuLi9saWJnb2xkLmEgLi4vLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hIFwKLUBHQ0NfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSAkKGFtX19ERVBFTkRFTkNJRVNfMSkKK0BHQ0NfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSAkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAorQEdDQ19GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpCiBATkFUSVZFX0xJTktFUl9GQUxTRUBjb25zdHJ1Y3Rvcl9zdGF0aWNfdGVzdF9ERVBFTkRFTkNJRVMgPSAgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACWxpYmdvbGR0ZXN0LmEgLi4vbGliZ29sZC5hIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCitATkFUSVZFX0xJTktFUl9GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkKIEBHQ0NfRkFMU0VAdHdvX2ZpbGVfdGVzdF9ERVBFTkRFTkNJRVMgPSBsaWJnb2xkdGVzdC5hIC4uL2xpYmdvbGQuYSBcCiBAR0NDX0ZBTFNFQAkuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKLUBHQ0NfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKQorQEdDQ19GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpICQoYW1fX0RFUEVOREVOQ0lFU18xKQogQE5BVElWRV9MSU5LRVJfRkFMU0VAdHdvX2ZpbGVfdGVzdF9ERVBFTkRFTkNJRVMgPSBsaWJnb2xkdGVzdC5hIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkuLi9saWJnb2xkLmEgLi4vLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAorQE5BVElWRV9MSU5LRVJfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpCiBAR0NDX0ZBTFNFQHR3b19maWxlX3N0YXRpY190ZXN0X0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgXAogQEdDQ19GQUxTRUAJLi4vbGliZ29sZC5hIC4uLy4uL2xpYmliZXJ0eS9saWJpYmVydHkuYSBcCi1AR0NDX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpCitAR0NDX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKK0BHQ0NfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKQogQE5BVElWRV9MSU5LRVJfRkFMU0VAdHdvX2ZpbGVfc3RhdGljX3Rlc3RfREVQRU5ERU5DSUVTID0gIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAlsaWJnb2xkdGVzdC5hIC4uL2xpYmdvbGQuYSBcCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJLi4vLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAorQE5BVElWRV9MSU5LRVJfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpCiAKICMgVGhlIG5vbnBpYyB0ZXN0cyB3aWxsIGZhaWwgb24gcGxhdGZvcm1zIHdoaWNoIGNhbiBub3QgcHV0IG5vbi1QSUMKQEAgLTExNiwzMiArMTIzLDM3IEBACiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJd2Vha190ZXN0IHdlYWtfdW5kZWZfdGVzdAogQEdDQ19GQUxTRUBjb21tb25fdGVzdF8xX0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgLi4vbGliZ29sZC5hIFwKIEBHQ0NfRkFMU0VACS4uLy4uL2xpYmliZXJ0eS9saWJpYmVydHkuYSAkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAotQEdDQ19GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpCitAR0NDX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpCiBATkFUSVZFX0xJTktFUl9GQUxTRUBjb21tb25fdGVzdF8xX0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACS4uL2xpYmdvbGQuYSAuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCitATkFUSVZFX0xJTktFUl9GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkKIEBHQ0NfRkFMU0VAZXhjZXB0aW9uX3Rlc3RfREVQRU5ERU5DSUVTID0gbGliZ29sZHRlc3QuYSAuLi9saWJnb2xkLmEgXAogQEdDQ19GQUxTRUAJLi4vLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hICQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCi1AR0NDX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkKK0BHQ0NfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSAkKGFtX19ERVBFTkRFTkNJRVNfMSkKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQGV4Y2VwdGlvbl90ZXN0X0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACS4uL2xpYmdvbGQuYSAuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCitATkFUSVZFX0xJTktFUl9GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkKIEBHQ0NfRkFMU0VAZXhjZXB0aW9uX3N0YXRpY190ZXN0X0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgXAogQEdDQ19GQUxTRUAJLi4vbGliZ29sZC5hIC4uLy4uL2xpYmliZXJ0eS9saWJpYmVydHkuYSBcCi1AR0NDX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpCitAR0NDX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKK0BHQ0NfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKQogQE5BVElWRV9MSU5LRVJfRkFMU0VAZXhjZXB0aW9uX3N0YXRpY190ZXN0X0RFUEVOREVOQ0lFUyA9ICBcCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJbGliZ29sZHRlc3QuYSAuLi9saWJnb2xkLmEgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACS4uLy4uL2xpYmliZXJ0eS9saWJpYmVydHkuYSBcCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKK0BOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKQogQEdDQ19GQUxTRUB3ZWFrX3Rlc3RfREVQRU5ERU5DSUVTID0gbGliZ29sZHRlc3QuYSAuLi9saWJnb2xkLmEgXAogQEdDQ19GQUxTRUAJLi4vLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hICQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCi1AR0NDX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkKK0BHQ0NfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSAkKGFtX19ERVBFTkRFTkNJRVNfMSkKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQHdlYWtfdGVzdF9ERVBFTkRFTkNJRVMgPSBsaWJnb2xkdGVzdC5hIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkuLi9saWJnb2xkLmEgLi4vLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAorQE5BVElWRV9MSU5LRVJfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpCiBARk5fUFRSU19JTl9TT19XSVRIT1VUX1BJQ19UUlVFQEBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQGFtX19hcHBlbmRfNCA9IHdlYWtfdW5kZWZfbm9ucGljX3Rlc3QKIEBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQGFtX19hcHBlbmRfNSA9IHdlYWtfYWxpYXNfdGVzdCB3ZWFrX3BsdCBcCkBAIC0xODcsMTAgKzE5OSwxMiBAQAogQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVACW1hbnlfc2VjdGlvbnNfcl90ZXN0CiBAR0NDX0ZBTFNFQG1hbnlfc2VjdGlvbnNfdGVzdF9ERVBFTkRFTkNJRVMgPSBsaWJnb2xkdGVzdC5hIFwKIEBHQ0NfRkFMU0VACS4uL2xpYmdvbGQuYSAuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgXAotQEdDQ19GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpICQoYW1fX0RFUEVOREVOQ0lFU18xKQorQEdDQ19GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpICQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCitAR0NDX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQG1hbnlfc2VjdGlvbnNfdGVzdF9ERVBFTkRFTkNJRVMgPSBsaWJnb2xkdGVzdC5hIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkuLi9saWJnb2xkLmEgLi4vLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAorQE5BVElWRV9MSU5LRVJfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpCiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBhbV9fYXBwZW5kXzE0ID0gbWFueV9zZWN0aW9uc19kZWZpbmUuaCBcCiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJbWFueV9zZWN0aW9uc19jaGVjay5oCkBAIC0xOTksMTMgKzIxMywxNSBAQAogQENPTlNUUlVDVE9SX1BSSU9SSVRZX0ZBTFNFQAkuLi9saWJnb2xkLmEgXAogQENPTlNUUlVDVE9SX1BSSU9SSVRZX0ZBTFNFQAkuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgXAogQENPTlNUUlVDVE9SX1BSSU9SSVRZX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAorQENPTlNUUlVDVE9SX1BSSU9SSVRZX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAogQENPTlNUUlVDVE9SX1BSSU9SSVRZX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkKIEBHQ0NfRkFMU0VAaW5pdHByaTFfREVQRU5ERU5DSUVTID0gbGliZ29sZHRlc3QuYSAuLi9saWJnb2xkLmEgXAogQEdDQ19GQUxTRUAJLi4vLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hICQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCi1AR0NDX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkKK0BHQ0NfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSAkKGFtX19ERVBFTkRFTkNJRVNfMSkKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQGluaXRwcmkxX0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACS4uL2xpYmdvbGQuYSAuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCitATkFUSVZFX0xJTktFUl9GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkKIEBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQGFtX19hcHBlbmRfMTYgPSBkZWJ1Z19tc2cuZXJyIFwKIEBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQAlkZWJ1Z19tc2dfc28uZXJyIFwKQEAgLTIzMiwzNSArMjQ4LDU1IEBACiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJcmVscm9fdGVzdCByZWxyb19zY3JpcHRfdGVzdCBcCiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJc2NyaXB0X3Rlc3RfMSBzY3JpcHRfdGVzdF8yIFwKIEBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQAlqdXN0c3ltcyBiaW5hcnlfdGVzdCBcCi1AR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJc2NyaXB0X3Rlc3RfMworQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVACXNjcmlwdF90ZXN0XzMgXAorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVACXRoaW5fYXJjaGl2ZV90ZXN0XzEgXAorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVACXRoaW5fYXJjaGl2ZV90ZXN0XzIKIEBHQ0NfRkFMU0VAc2NyaXB0X3Rlc3RfMV9ERVBFTkRFTkNJRVMgPSBsaWJnb2xkdGVzdC5hIC4uL2xpYmdvbGQuYSBcCiBAR0NDX0ZBTFNFQAkuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKLUBHQ0NfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKQorQEdDQ19GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpICQoYW1fX0RFUEVOREVOQ0lFU18xKQogQE5BVElWRV9MSU5LRVJfRkFMU0VAc2NyaXB0X3Rlc3RfMV9ERVBFTkRFTkNJRVMgPSBsaWJnb2xkdGVzdC5hIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkuLi9saWJnb2xkLmEgLi4vLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hIFwKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAorQE5BVElWRV9MSU5LRVJfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpCiBAR0NDX0ZBTFNFQHNjcmlwdF90ZXN0XzJfREVQRU5ERU5DSUVTID0gbGliZ29sZHRlc3QuYSAuLi9saWJnb2xkLmEgXAogQEdDQ19GQUxTRUAJLi4vLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hICQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCi1AR0NDX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkKK0BHQ0NfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKSAkKGFtX19ERVBFTkRFTkNJRVNfMSkKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQHNjcmlwdF90ZXN0XzJfREVQRU5ERU5DSUVTID0gbGliZ29sZHRlc3QuYSBcCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJLi4vbGliZ29sZC5hIC4uLy4uL2xpYmliZXJ0eS9saWJpYmVydHkuYSBcCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKK0BOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKQogQEdDQ19GQUxTRUBqdXN0c3ltc19ERVBFTkRFTkNJRVMgPSBsaWJnb2xkdGVzdC5hIC4uL2xpYmdvbGQuYSBcCiBAR0NDX0ZBTFNFQAkuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKLUBHQ0NfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKQorQEdDQ19GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpICQoYW1fX0RFUEVOREVOQ0lFU18xKQogQE5BVElWRV9MSU5LRVJfRkFMU0VAanVzdHN5bXNfREVQRU5ERU5DSUVTID0gbGliZ29sZHRlc3QuYSBcCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJLi4vbGliZ29sZC5hIC4uLy4uL2xpYmliZXJ0eS9saWJpYmVydHkuYSBcCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKK0BOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKQogQEdDQ19GQUxTRUBiaW5hcnlfdGVzdF9ERVBFTkRFTkNJRVMgPSBsaWJnb2xkdGVzdC5hIC4uL2xpYmdvbGQuYSBcCiBAR0NDX0ZBTFNFQAkuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKLUBHQ0NfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKQorQEdDQ19GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpICQoYW1fX0RFUEVOREVOQ0lFU18xKQogQE5BVElWRV9MSU5LRVJfRkFMU0VAYmluYXJ5X3Rlc3RfREVQRU5ERU5DSUVTID0gbGliZ29sZHRlc3QuYSBcCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJLi4vbGliZ29sZC5hIC4uLy4uL2xpYmliZXJ0eS9saWJpYmVydHkuYSBcCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKK0BOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAogQE5BVElWRV9MSU5LRVJfRkFMU0VACSQoYW1fX0RFUEVOREVOQ0lFU18xKQorQEdDQ19GQUxTRUB0aGluX2FyY2hpdmVfdGVzdF8yX0RFUEVOREVOQ0lFUyA9CitATkFUSVZFX0xJTktFUl9GQUxTRUB0aGluX2FyY2hpdmVfdGVzdF8yX0RFUEVOREVOQ0lFUyA9CitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAUExVR0lOU19UUlVFQGFtX19hcHBlbmRfMjAgPSAgXAorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFBMVUdJTlNfVFJVRUAJcGx1Z2luX3Rlc3RfMSBcCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAUExVR0lOU19UUlVFQAlwbHVnaW5fdGVzdF8yCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAUExVR0lOU19UUlVFQGFtX19hcHBlbmRfMjEgPSAgXAorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFBMVUdJTlNfVFJVRUAJcGx1Z2luX3Rlc3RfMS5zaCBcCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAUExVR0lOU19UUlVFQAlwbHVnaW5fdGVzdF8yLnNoCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAUExVR0lOU19UUlVFQGFtX19hcHBlbmRfMjIgPSAgXAorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFBMVUdJTlNfVFJVRUAJcGx1Z2luX3Rlc3RfMS5lcnIgXAorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFBMVUdJTlNfVFJVRUAJcGx1Z2luX3Rlc3RfMi5lcnIKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQEBQTFVHSU5TX1RSVUVAYW1fX2FwcGVuZF8yMyA9ICBcCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAUExVR0lOU19UUlVFQAlwbHVnaW5fdGVzdF8xLmVyciBcCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAUExVR0lOU19UUlVFQAlwbHVnaW5fdGVzdF8yLmVycgogc3ViZGlyID0gdGVzdHN1aXRlCiBESVNUX0NPTU1PTiA9ICQoc3JjZGlyKS9NYWtlZmlsZS5hbSAkKHNyY2RpcikvTWFrZWZpbGUuaW4KIEFDTE9DQUxfTTQgPSAkKHRvcF9zcmNkaXIpL2FjbG9jYWwubTQKQEAgLTM1NywzMiArMzkzLDM2IEBACiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJc2NyaXB0X3Rlc3RfMiQoRVhFRVhUKSBcCiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJanVzdHN5bXMkKEVYRUVYVCkgXAogQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVACWJpbmFyeV90ZXN0JChFWEVFWFQpIFwKLUBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQAlzY3JpcHRfdGVzdF8zJChFWEVFWFQpCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJc2NyaXB0X3Rlc3RfMyQoRVhFRVhUKSBcCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJdGhpbl9hcmNoaXZlX3Rlc3RfMSQoRVhFRVhUKSBcCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJdGhpbl9hcmNoaXZlX3Rlc3RfMiQoRVhFRVhUKQorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFBMVUdJTlNfVFJVRUBhbV9fRVhFRVhUXzE2ID0gcGx1Z2luX3Rlc3RfMSQoRVhFRVhUKSBcCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAUExVR0lOU19UUlVFQAlwbHVnaW5fdGVzdF8yJChFWEVFWFQpCiBiYXNpY19waWNfdGVzdF9TT1VSQ0VTID0gYmFzaWNfcGljX3Rlc3QuYwogYmFzaWNfcGljX3Rlc3RfT0JKRUNUUyA9IGJhc2ljX3BpY190ZXN0LiQoT0JKRVhUKQogYmFzaWNfcGljX3Rlc3RfTERBREQgPSAkKExEQUREKQogYW1fX0RFUEVOREVOQ0lFU18xID0KIGJhc2ljX3BpY190ZXN0X0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgLi4vbGliZ29sZC5hIFwKIAkuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKLQkkKGFtX19ERVBFTkRFTkNJRVNfMSkKKwkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpCiBiYXNpY19zdGF0aWNfcGljX3Rlc3RfU09VUkNFUyA9IGJhc2ljX3N0YXRpY19waWNfdGVzdC5jCiBiYXNpY19zdGF0aWNfcGljX3Rlc3RfT0JKRUNUUyA9IGJhc2ljX3N0YXRpY19waWNfdGVzdC4kKE9CSkVYVCkKIGJhc2ljX3N0YXRpY19waWNfdGVzdF9MREFERCA9ICQoTERBREQpCiBiYXNpY19zdGF0aWNfcGljX3Rlc3RfREVQRU5ERU5DSUVTID0gbGliZ29sZHRlc3QuYSAuLi9saWJnb2xkLmEgXAogCS4uLy4uL2xpYmliZXJ0eS9saWJpYmVydHkuYSAkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAotCSQoYW1fX0RFUEVOREVOQ0lFU18xKQorCSQoYW1fX0RFUEVOREVOQ0lFU18xKSAkKGFtX19ERVBFTkRFTkNJRVNfMSkKIGJhc2ljX3N0YXRpY190ZXN0X1NPVVJDRVMgPSBiYXNpY19zdGF0aWNfdGVzdC5jCiBiYXNpY19zdGF0aWNfdGVzdF9PQkpFQ1RTID0gYmFzaWNfc3RhdGljX3Rlc3QuJChPQkpFWFQpCiBiYXNpY19zdGF0aWNfdGVzdF9MREFERCA9ICQoTERBREQpCiBiYXNpY19zdGF0aWNfdGVzdF9ERVBFTkRFTkNJRVMgPSBsaWJnb2xkdGVzdC5hIC4uL2xpYmdvbGQuYSBcCiAJLi4vLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hICQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCi0JJChhbV9fREVQRU5ERU5DSUVTXzEpCisJJChhbV9fREVQRU5ERU5DSUVTXzEpICQoYW1fX0RFUEVOREVOQ0lFU18xKQogYmFzaWNfdGVzdF9TT1VSQ0VTID0gYmFzaWNfdGVzdC5jCiBiYXNpY190ZXN0X09CSkVDVFMgPSBiYXNpY190ZXN0LiQoT0JKRVhUKQogYmFzaWNfdGVzdF9MREFERCA9ICQoTERBREQpCiBiYXNpY190ZXN0X0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgLi4vbGliZ29sZC5hIFwKIAkuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKLQkkKGFtX19ERVBFTkRFTkNJRVNfMSkKKwkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpCiBhbV9fYmluYXJ5X3Rlc3RfU09VUkNFU19ESVNUID0gYmluYXJ5X3Rlc3QuY2MKIEBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQGFtX2JpbmFyeV90ZXN0X09CSkVDVFMgPSAgXAogQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVACWJpbmFyeV90ZXN0LiQoT0JKRVhUKQpAQCAtMzkzLDcgKzQzMyw3IEBACiBiaW5hcnlfdW5pdHRlc3RfTERBREQgPSAkKExEQUREKQogYmluYXJ5X3VuaXR0ZXN0X0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgLi4vbGliZ29sZC5hIFwKIAkuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKLQkkKGFtX19ERVBFTkRFTkNJRVNfMSkKKwkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpCiBhbV9fY29tbW9uX3Rlc3RfMV9TT1VSQ0VTX0RJU1QgPSBjb21tb25fdGVzdF8xLmMKIEBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQGFtX2NvbW1vbl90ZXN0XzFfT0JKRUNUUyA9ICBcCiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJY29tbW9uX3Rlc3RfMS4kKE9CSkVYVCkKQEAgLTQ3MiwxMyArNTEyLDEzIEBACiBmbGFnc3Rlc3RfY29tcHJlc3NfZGVidWdfc2VjdGlvbnNfTERBREQgPSAkKExEQUREKQogZmxhZ3N0ZXN0X2NvbXByZXNzX2RlYnVnX3NlY3Rpb25zX0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgXAogCS4uL2xpYmdvbGQuYSAuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKLQkkKGFtX19ERVBFTkRFTkNJRVNfMSkKKwkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpCiBmbGFnc3Rlc3Rfb19zcGVjaWFsZmlsZV9TT1VSQ0VTID0gZmxhZ3N0ZXN0X29fc3BlY2lhbGZpbGUuYwogZmxhZ3N0ZXN0X29fc3BlY2lhbGZpbGVfT0JKRUNUUyA9IGZsYWdzdGVzdF9vX3NwZWNpYWxmaWxlLiQoT0JKRVhUKQogZmxhZ3N0ZXN0X29fc3BlY2lhbGZpbGVfTERBREQgPSAkKExEQUREKQogZmxhZ3N0ZXN0X29fc3BlY2lhbGZpbGVfREVQRU5ERU5DSUVTID0gbGliZ29sZHRlc3QuYSAuLi9saWJnb2xkLmEgXAogCS4uLy4uL2xpYmliZXJ0eS9saWJpYmVydHkuYSAkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAotCSQoYW1fX0RFUEVOREVOQ0lFU18xKQorCSQoYW1fX0RFUEVOREVOQ0lFU18xKSAkKGFtX19ERVBFTkRFTkNJRVNfMSkKIGZsYWdzdGVzdF9vX3NwZWNpYWxmaWxlX2FuZF9jb21wcmVzc19kZWJ1Z19zZWN0aW9uc19TT1VSQ0VTID0gIFwKIAlmbGFnc3Rlc3Rfb19zcGVjaWFsZmlsZV9hbmRfY29tcHJlc3NfZGVidWdfc2VjdGlvbnMuYwogZmxhZ3N0ZXN0X29fc3BlY2lhbGZpbGVfYW5kX2NvbXByZXNzX2RlYnVnX3NlY3Rpb25zX09CSkVDVFMgPSAgXApAQCAtNDg2LDcgKzUyNiw4IEBACiBmbGFnc3Rlc3Rfb19zcGVjaWFsZmlsZV9hbmRfY29tcHJlc3NfZGVidWdfc2VjdGlvbnNfTERBREQgPSAkKExEQUREKQogZmxhZ3N0ZXN0X29fc3BlY2lhbGZpbGVfYW5kX2NvbXByZXNzX2RlYnVnX3NlY3Rpb25zX0RFUEVOREVOQ0lFUyA9ICBcCiAJbGliZ29sZHRlc3QuYSAuLi9saWJnb2xkLmEgLi4vLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hIFwKLQkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpCisJJChhbV9fREVQRU5ERU5DSUVTXzEpICQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCisJJChhbV9fREVQRU5ERU5DSUVTXzEpCiBhbV9faW5pdHByaTFfU09VUkNFU19ESVNUID0gaW5pdHByaTEuYwogQENPTlNUUlVDVE9SX1BSSU9SSVRZX1RSVUVAQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAYW1faW5pdHByaTFfT0JKRUNUUyA9IGluaXRwcmkxLiQoT0JKRVhUKQogaW5pdHByaTFfT0JKRUNUUyA9ICQoYW1faW5pdHByaTFfT0JKRUNUUykKQEAgLTUwMSw3ICs1NDIsNyBAQAogbWFueV9zZWN0aW9uc19yX3Rlc3RfTERBREQgPSAkKExEQUREKQogbWFueV9zZWN0aW9uc19yX3Rlc3RfREVQRU5ERU5DSUVTID0gbGliZ29sZHRlc3QuYSAuLi9saWJnb2xkLmEgXAogCS4uLy4uL2xpYmliZXJ0eS9saWJpYmVydHkuYSAkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAotCSQoYW1fX0RFUEVOREVOQ0lFU18xKQorCSQoYW1fX0RFUEVOREVOQ0lFU18xKSAkKGFtX19ERVBFTkRFTkNJRVNfMSkKIGFtX19tYW55X3NlY3Rpb25zX3Rlc3RfU09VUkNFU19ESVNUID0gbWFueV9zZWN0aW9uc190ZXN0LmNjCiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBhbV9tYW55X3NlY3Rpb25zX3Rlc3RfT0JKRUNUUyA9ICBcCiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJbWFueV9zZWN0aW9uc190ZXN0LiQoT0JKRVhUKQpAQCAtNTEyLDcgKzU1MywxOSBAQAogb2JqZWN0X3VuaXR0ZXN0X0xEQUREID0gJChMREFERCkKIG9iamVjdF91bml0dGVzdF9ERVBFTkRFTkNJRVMgPSBsaWJnb2xkdGVzdC5hIC4uL2xpYmdvbGQuYSBcCiAJLi4vLi4vbGliaWJlcnR5L2xpYmliZXJ0eS5hICQoYW1fX0RFUEVOREVOQ0lFU18xKSBcCi0JJChhbV9fREVQRU5ERU5DSUVTXzEpCisJJChhbV9fREVQRU5ERU5DSUVTXzEpICQoYW1fX0RFUEVOREVOQ0lFU18xKQorcGx1Z2luX3Rlc3RfMV9TT1VSQ0VTID0gcGx1Z2luX3Rlc3RfMS5jCitwbHVnaW5fdGVzdF8xX09CSkVDVFMgPSBwbHVnaW5fdGVzdF8xLiQoT0JKRVhUKQorcGx1Z2luX3Rlc3RfMV9MREFERCA9ICQoTERBREQpCitwbHVnaW5fdGVzdF8xX0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgLi4vbGliZ29sZC5hIFwKKwkuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKKwkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpCitwbHVnaW5fdGVzdF8yX1NPVVJDRVMgPSBwbHVnaW5fdGVzdF8yLmMKK3BsdWdpbl90ZXN0XzJfT0JKRUNUUyA9IHBsdWdpbl90ZXN0XzIuJChPQkpFWFQpCitwbHVnaW5fdGVzdF8yX0xEQUREID0gJChMREFERCkKK3BsdWdpbl90ZXN0XzJfREVQRU5ERU5DSUVTID0gbGliZ29sZHRlc3QuYSAuLi9saWJnb2xkLmEgXAorCS4uLy4uL2xpYmliZXJ0eS9saWJpYmVydHkuYSAkKGFtX19ERVBFTkRFTkNJRVNfMSkgXAorCSQoYW1fX0RFUEVOREVOQ0lFU18xKSAkKGFtX19ERVBFTkRFTkNJRVNfMSkKIGFtX19wcm90ZWN0ZWRfMV9TT1VSQ0VTX0RJU1QgPSBwcm90ZWN0ZWRfbWFpbl8xLmNjIHByb3RlY3RlZF9tYWluXzIuY2MgXAogCXByb3RlY3RlZF9tYWluXzMuY2MKIEBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQGFtX3Byb3RlY3RlZF8xX09CSkVDVFMgPSAgXApAQCAtNTUxLDcgKzYwNCwxNSBAQAogc2NyaXB0X3Rlc3RfM19MREFERCA9ICQoTERBREQpCiBzY3JpcHRfdGVzdF8zX0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgLi4vbGliZ29sZC5hIFwKIAkuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKLQkkKGFtX19ERVBFTkRFTkNJRVNfMSkKKwkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpCithbV9fdGhpbl9hcmNoaXZlX3Rlc3RfMV9TT1VSQ0VTX0RJU1QgPSB0aGluX2FyY2hpdmVfbWFpbi5jYworQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAYW1fdGhpbl9hcmNoaXZlX3Rlc3RfMV9PQkpFQ1RTID0gIFwKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQAl0aGluX2FyY2hpdmVfbWFpbi4kKE9CSkVYVCkKK3RoaW5fYXJjaGl2ZV90ZXN0XzFfT0JKRUNUUyA9ICQoYW1fdGhpbl9hcmNoaXZlX3Rlc3RfMV9PQkpFQ1RTKQorYW1fX3RoaW5fYXJjaGl2ZV90ZXN0XzJfU09VUkNFU19ESVNUID0gdGhpbl9hcmNoaXZlX21haW4uY2MKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQGFtX3RoaW5fYXJjaGl2ZV90ZXN0XzJfT0JKRUNUUyA9ICBcCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJdGhpbl9hcmNoaXZlX21haW4uJChPQkpFWFQpCit0aGluX2FyY2hpdmVfdGVzdF8yX09CSkVDVFMgPSAkKGFtX3RoaW5fYXJjaGl2ZV90ZXN0XzJfT0JKRUNUUykKIGFtX190bHNfcGljX3Rlc3RfU09VUkNFU19ESVNUID0gdGxzX3Rlc3RfbWFpbi5jYwogQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFRMU19UUlVFQGFtX3Rsc19waWNfdGVzdF9PQkpFQ1RTID0gdGxzX3Rlc3RfbWFpbi4kKE9CSkVYVCkKIHRsc19waWNfdGVzdF9PQkpFQ1RTID0gJChhbV90bHNfcGljX3Rlc3RfT0JKRUNUUykKQEAgLTcwOCw3ICs3NjksNyBAQAogdHdvX2ZpbGVfc3RyaXBfdGVzdF9MREFERCA9ICQoTERBREQpCiB0d29fZmlsZV9zdHJpcF90ZXN0X0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgLi4vbGliZ29sZC5hIFwKIAkuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKLQkkKGFtX19ERVBFTkRFTkNJRVNfMSkKKwkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpCiBhbV9fdHdvX2ZpbGVfdGVzdF9TT1VSQ0VTX0RJU1QgPSB0d29fZmlsZV90ZXN0XzEuY2MgXAogCXR3b19maWxlX3Rlc3RfMWIuY2MgdHdvX2ZpbGVfdGVzdF8yLmNjIHR3b19maWxlX3Rlc3RfbWFpbi5jYyBcCiAJdHdvX2ZpbGVfdGVzdC5oCkBAIC03NDgsNyArODA5LDcgQEAKIHdlYWtfcGx0X0xEQUREID0gJChMREFERCkKIHdlYWtfcGx0X0RFUEVOREVOQ0lFUyA9IGxpYmdvbGR0ZXN0LmEgLi4vbGliZ29sZC5hIFwKIAkuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgJChhbV9fREVQRU5ERU5DSUVTXzEpIFwKLQkkKGFtX19ERVBFTkRFTkNJRVNfMSkKKwkkKGFtX19ERVBFTkRFTkNJRVNfMSkgJChhbV9fREVQRU5ERU5DSUVTXzEpCiBhbV9fd2Vha190ZXN0X1NPVVJDRVNfRElTVCA9IHdlYWtfdGVzdC5jYwogQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAYW1fd2Vha190ZXN0X09CSkVDVFMgPSAgXAogQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVACXdlYWtfdGVzdC4kKE9CSkVYVCkKQEAgLTc4OCwxMSArODQ5LDEyIEBACiAJZmxhZ3N0ZXN0X29fc3BlY2lhbGZpbGVfYW5kX2NvbXByZXNzX2RlYnVnX3NlY3Rpb25zLmMgXAogCSQoaW5pdHByaTFfU09VUkNFUykgJChqdXN0c3ltc19TT1VSQ0VTKSBtYW55X3NlY3Rpb25zX3JfdGVzdC5jIFwKIAkkKG1hbnlfc2VjdGlvbnNfdGVzdF9TT1VSQ0VTKSAkKG9iamVjdF91bml0dGVzdF9TT1VSQ0VTKSBcCi0JJChwcm90ZWN0ZWRfMV9TT1VSQ0VTKSAkKHByb3RlY3RlZF8yX1NPVVJDRVMpIFwKLQkkKHJlbHJvX3NjcmlwdF90ZXN0X1NPVVJDRVMpICQocmVscm9fdGVzdF9TT1VSQ0VTKSBcCi0JJChzY3JpcHRfdGVzdF8xX1NPVVJDRVMpICQoc2NyaXB0X3Rlc3RfMl9TT1VSQ0VTKSBcCi0Jc2NyaXB0X3Rlc3RfMy5jICQodGxzX3BpY190ZXN0X1NPVVJDRVMpIFwKLQkkKHRsc19zaGFyZWRfZ2RfdG9faWVfdGVzdF9TT1VSQ0VTKSBcCisJcGx1Z2luX3Rlc3RfMS5jIHBsdWdpbl90ZXN0XzIuYyAkKHByb3RlY3RlZF8xX1NPVVJDRVMpIFwKKwkkKHByb3RlY3RlZF8yX1NPVVJDRVMpICQocmVscm9fc2NyaXB0X3Rlc3RfU09VUkNFUykgXAorCSQocmVscm9fdGVzdF9TT1VSQ0VTKSAkKHNjcmlwdF90ZXN0XzFfU09VUkNFUykgXAorCSQoc2NyaXB0X3Rlc3RfMl9TT1VSQ0VTKSBzY3JpcHRfdGVzdF8zLmMgXAorCSQodGhpbl9hcmNoaXZlX3Rlc3RfMV9TT1VSQ0VTKSAkKHRoaW5fYXJjaGl2ZV90ZXN0XzJfU09VUkNFUykgXAorCSQodGxzX3BpY190ZXN0X1NPVVJDRVMpICQodGxzX3NoYXJlZF9nZF90b19pZV90ZXN0X1NPVVJDRVMpIFwKIAkkKHRsc19zaGFyZWRfZ251Ml9nZF90b19pZV90ZXN0X1NPVVJDRVMpIFwKIAkkKHRsc19zaGFyZWRfZ251Ml90ZXN0X1NPVVJDRVMpICQodGxzX3NoYXJlZF9pZV90ZXN0X1NPVVJDRVMpIFwKIAkkKHRsc19zaGFyZWRfbm9ucGljX3Rlc3RfU09VUkNFUykgJCh0bHNfc2hhcmVkX3Rlc3RfU09VUkNFUykgXApAQCAtODM4LDEyICs5MDAsMTUgQEAKIAlmbGFnc3Rlc3Rfb19zcGVjaWFsZmlsZV9hbmRfY29tcHJlc3NfZGVidWdfc2VjdGlvbnMuYyBcCiAJJChhbV9faW5pdHByaTFfU09VUkNFU19ESVNUKSAkKGFtX19qdXN0c3ltc19TT1VSQ0VTX0RJU1QpIFwKIAltYW55X3NlY3Rpb25zX3JfdGVzdC5jICQoYW1fX21hbnlfc2VjdGlvbnNfdGVzdF9TT1VSQ0VTX0RJU1QpIFwKLQkkKG9iamVjdF91bml0dGVzdF9TT1VSQ0VTKSAkKGFtX19wcm90ZWN0ZWRfMV9TT1VSQ0VTX0RJU1QpIFwKKwkkKG9iamVjdF91bml0dGVzdF9TT1VSQ0VTKSBwbHVnaW5fdGVzdF8xLmMgcGx1Z2luX3Rlc3RfMi5jIFwKKwkkKGFtX19wcm90ZWN0ZWRfMV9TT1VSQ0VTX0RJU1QpIFwKIAkkKGFtX19wcm90ZWN0ZWRfMl9TT1VSQ0VTX0RJU1QpIFwKIAkkKGFtX19yZWxyb19zY3JpcHRfdGVzdF9TT1VSQ0VTX0RJU1QpIFwKIAkkKGFtX19yZWxyb190ZXN0X1NPVVJDRVNfRElTVCkgXAogCSQoYW1fX3NjcmlwdF90ZXN0XzFfU09VUkNFU19ESVNUKSBcCiAJJChhbV9fc2NyaXB0X3Rlc3RfMl9TT1VSQ0VTX0RJU1QpIHNjcmlwdF90ZXN0XzMuYyBcCisJJChhbV9fdGhpbl9hcmNoaXZlX3Rlc3RfMV9TT1VSQ0VTX0RJU1QpIFwKKwkkKGFtX190aGluX2FyY2hpdmVfdGVzdF8yX1NPVVJDRVNfRElTVCkgXAogCSQoYW1fX3Rsc19waWNfdGVzdF9TT1VSQ0VTX0RJU1QpIFwKIAkkKGFtX190bHNfc2hhcmVkX2dkX3RvX2llX3Rlc3RfU09VUkNFU19ESVNUKSBcCiAJJChhbV9fdGxzX3NoYXJlZF9nbnUyX2dkX3RvX2llX3Rlc3RfU09VUkNFU19ESVNUKSBcCkBAIC05NTQsNiArMTAxOSw4IEBACiBQQUNLQUdFX1RBUk5BTUUgPSBAUEFDS0FHRV9UQVJOQU1FQAogUEFDS0FHRV9WRVJTSU9OID0gQFBBQ0tBR0VfVkVSU0lPTkAKIFBBVEhfU0VQQVJBVE9SID0gQFBBVEhfU0VQQVJBVE9SQAorUExVR0lOU19GQUxTRSA9IEBQTFVHSU5TX0ZBTFNFQAorUExVR0lOU19UUlVFID0gQFBMVUdJTlNfVFJVRUAKIFBPU1VCID0gQFBPU1VCQAogUkFORE9NX1NFRURfQ0ZMQUdTID0gQFJBTkRPTV9TRUVEX0NGTEFHU0AKIFJBTkxJQiA9IEBSQU5MSUJACkBAIC0xMDI3LDYgKzEwOTQsNyBAQAogIyBUaGUgdHdvX2ZpbGVfdGVzdCB0ZXN0cyAtZm1lcmdlLWNvbnN0YW50cywgc28gd2Ugc2ltcGx5IGFsd2F5cyB0dXJuCiAjIGl0IG9uLiAgVGhpcyBtYXkgbmVlZCB0byBiZSBjb250cm9sbGVkIGJ5IGEgY29uZmlndXJlIG9wdGlvbgogIyBldmVudHVhbGx5LgorQU1fQ0ZMQUdTID0gJChXQVJOX0NGTEFHUykgJChMRlNfQ0ZMQUdTKSAtZm1lcmdlLWNvbnN0YW50cwogQU1fQ1hYRkxBR1MgPSAkKFdBUk5fQ1hYRkxBR1MpICQoTEZTX0NGTEFHUykgLWZtZXJnZS1jb25zdGFudHMKIElOQ0xVREVTID0gXAogCS1JJChzcmNkaXIpIC1JJChzcmNkaXIpLy4uIC1JJChzcmNkaXIpLy4uLy4uL2luY2x1ZGUgXApAQCAtMTAzOCw2ICsxMTA2LDggQEAKIFRFU1RfT0JKRFVNUCA9ICQodG9wX2J1aWxkZGlyKS8uLi9iaW51dGlscy9vYmpkdW1wCiBURVNUX0NYWEZJTFQgPSAkKHRvcF9idWlsZGRpcikvLi4vYmludXRpbHMvY3h4ZmlsdAogVEVTVF9TVFJJUCA9ICQodG9wX2J1aWxkZGlyKS8uLi9iaW51dGlscy9zdHJpcC1uZXcKK1RFU1RfQVIgPSAkKHRvcF9idWlsZGRpcikvLi4vYmludXRpbHMvYXIKK0BQTFVHSU5TX1RSVUVATElCREwgPSAtbGRsCiBAVEhSRUFEU19UUlVFQFRIUkVBRFNMSUIgPSAtbHB0aHJlYWQKIEBPTVBfU1VQUE9SVF9UUlVFQFRMU19URVNUX0NfQ0ZMQUdTID0gLWZvcGVubXAKIApAQCAtMTA0NSwxMyArMTExNSwxMyBAQAogIyAubydzKSwgYnV0IG5vdCBhbGwgb2YgdGhlbSAoc3VjaCBhcyAuc28ncyBhbmQgLmVyciBmaWxlcykuICBXZQogIyBpbXByb3ZlIG9uIHRoYXQgaGVyZS4gIGF1dG9tYWtlLTEuOSBpbmZvIGRvY3Mgc2F5ICJtb3N0bHljbGVhbiIgaXMKICMgdGhlIHJpZ2h0IGNob2ljZSBmb3IgZmlsZXMgJ21ha2UnIGJ1aWxkcyB0aGF0IHBlb3BsZSByZWJ1aWxkLgotTU9TVExZQ0xFQU5GSUxFUyA9ICouc28gJChhbV9fYXBwZW5kXzE2KQorTU9TVExZQ0xFQU5GSUxFUyA9ICouc28gJChhbV9fYXBwZW5kXzE2KSAkKGFtX19hcHBlbmRfMjMpCiAKICMgV2Ugd2lsbCBhZGQgdG8gdGhlc2UgbGF0ZXIsIGZvciBlYWNoIGluZGl2aWR1YWwgdGVzdC4gIE5vdGUKICMgdGhhdCB3ZSBhZGQgZWFjaCB0ZXN0IHVuZGVyIGNoZWNrX1NDUklQVFMgb3IgY2hlY2tfUFJPR1JBTVM7CiAjIHRoZSBURVNUUyB2YXJpYWJsZSBpcyBhdXRvbWF0aWNhbGx5IHBvcHVsYXRlZCBmcm9tIHRoZXNlLgotY2hlY2tfU0NSSVBUUyA9ICQoYW1fX2FwcGVuZF82KQotY2hlY2tfREFUQSA9ICQoYW1fX2FwcGVuZF83KQorY2hlY2tfU0NSSVBUUyA9ICQoYW1fX2FwcGVuZF82KSAkKGFtX19hcHBlbmRfMjEpCitjaGVja19EQVRBID0gJChhbV9fYXBwZW5kXzcpICQoYW1fX2FwcGVuZF8yMikKIEJVSUxUX1NPVVJDRVMgPSAkKGFtX19hcHBlbmRfMTQpCiBURVNUUyA9ICQoY2hlY2tfU0NSSVBUUykgJChjaGVja19QUk9HUkFNUykKIApAQCAtMTA2NSw3ICsxMTM1LDcgQEAKIAlsaWJnb2xkdGVzdC5hIC4uL2xpYmdvbGQuYSAuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgJChMSUJJTlRMX0RFUCkKIAogTERBREQgPSBsaWJnb2xkdGVzdC5hIC4uL2xpYmdvbGQuYSAuLi8uLi9saWJpYmVydHkvbGliaWJlcnR5LmEgJChMSUJJTlRMKSBcCi0JJChUSFJFQURTTElCKQorCSQoVEhSRUFEU0xJQikgJChMSUJETCkKIAogb2JqZWN0X3VuaXR0ZXN0X1NPVVJDRVMgPSBvYmplY3RfdW5pdHRlc3QuY2MKIGJpbmFyeV91bml0dGVzdF9TT1VSQ0VTID0gYmluYXJ5X3VuaXR0ZXN0LmNjCkBAIC0xMzY2LDYgKzE0MzYsMTQgQEAKIEBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQGJpbmFyeV90ZXN0X1NPVVJDRVMgPSBiaW5hcnlfdGVzdC5jYwogQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAYmluYXJ5X3Rlc3RfREVQRU5ERU5DSUVTID0gZ2NjdGVzdGRpci9sZCBiaW5hcnkudHh0CiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBiaW5hcnlfdGVzdF9MREZMQUdTID0gLUJnY2N0ZXN0ZGlyLyAtV2wsLS1mb3JtYXQsYmluYXJ5LGJpbmFyeS50eHQsLS1mb3JtYXQsZWxmCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUB0aGluX2FyY2hpdmVfdGVzdF8xX1NPVVJDRVMgPSB0aGluX2FyY2hpdmVfbWFpbi5jYworQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAdGhpbl9hcmNoaXZlX3Rlc3RfMV9ERVBFTkRFTkNJRVMgPSBnY2N0ZXN0ZGlyL2xkIGxpYnRoaW4xLmEgYWx0L2xpYnRoaW4yLmEKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQHRoaW5fYXJjaGl2ZV90ZXN0XzFfTERGTEFHUyA9IC1CZ2NjdGVzdGRpci8gLUxhbHQKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQHRoaW5fYXJjaGl2ZV90ZXN0XzFfTERBREQgPSBsaWJ0aGluMS5hIC1sdGhpbjIKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQHRoaW5fYXJjaGl2ZV90ZXN0XzJfU09VUkNFUyA9IHRoaW5fYXJjaGl2ZV9tYWluLmNjCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUB0aGluX2FyY2hpdmVfdGVzdF8yX0RFUEVOREVOQ0lFUyA9IGdjY3Rlc3RkaXIvbGQgbGlidGhpbmFsbC5hCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUB0aGluX2FyY2hpdmVfdGVzdF8yX0xERkxBR1MgPSAtQmdjY3Rlc3RkaXIvIC1MLgorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAdGhpbl9hcmNoaXZlX3Rlc3RfMl9MREFERCA9IC1sdGhpbmFsbAogYWxsOiAkKEJVSUxUX1NPVVJDRVMpCiAJJChNQUtFKSAkKEFNX01BS0VGTEFHUykgYWxsLWFtCiAKQEAgLTE1MTUsNiArMTU5MywyNCBAQAogb2JqZWN0X3VuaXR0ZXN0JChFWEVFWFQpOiAkKG9iamVjdF91bml0dGVzdF9PQkpFQ1RTKSAkKG9iamVjdF91bml0dGVzdF9ERVBFTkRFTkNJRVMpIAogCUBybSAtZiBvYmplY3RfdW5pdHRlc3QkKEVYRUVYVCkKIAkkKENYWExJTkspICQob2JqZWN0X3VuaXR0ZXN0X0xERkxBR1MpICQob2JqZWN0X3VuaXR0ZXN0X09CSkVDVFMpICQob2JqZWN0X3VuaXR0ZXN0X0xEQUREKSAkKExJQlMpCitAR0NDX0ZBTFNFQHBsdWdpbl90ZXN0XzEkKEVYRUVYVCk6ICQocGx1Z2luX3Rlc3RfMV9PQkpFQ1RTKSAkKHBsdWdpbl90ZXN0XzFfREVQRU5ERU5DSUVTKSAKK0BHQ0NfRkFMU0VACUBybSAtZiBwbHVnaW5fdGVzdF8xJChFWEVFWFQpCitAR0NDX0ZBTFNFQAkkKExJTkspICQocGx1Z2luX3Rlc3RfMV9MREZMQUdTKSAkKHBsdWdpbl90ZXN0XzFfT0JKRUNUUykgJChwbHVnaW5fdGVzdF8xX0xEQUREKSAkKExJQlMpCitATkFUSVZFX0xJTktFUl9GQUxTRUBwbHVnaW5fdGVzdF8xJChFWEVFWFQpOiAkKHBsdWdpbl90ZXN0XzFfT0JKRUNUUykgJChwbHVnaW5fdGVzdF8xX0RFUEVOREVOQ0lFUykgCitATkFUSVZFX0xJTktFUl9GQUxTRUAJQHJtIC1mIHBsdWdpbl90ZXN0XzEkKEVYRUVYVCkKK0BOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKExJTkspICQocGx1Z2luX3Rlc3RfMV9MREZMQUdTKSAkKHBsdWdpbl90ZXN0XzFfT0JKRUNUUykgJChwbHVnaW5fdGVzdF8xX0xEQUREKSAkKExJQlMpCitAUExVR0lOU19GQUxTRUBwbHVnaW5fdGVzdF8xJChFWEVFWFQpOiAkKHBsdWdpbl90ZXN0XzFfT0JKRUNUUykgJChwbHVnaW5fdGVzdF8xX0RFUEVOREVOQ0lFUykgCitAUExVR0lOU19GQUxTRUAJQHJtIC1mIHBsdWdpbl90ZXN0XzEkKEVYRUVYVCkKK0BQTFVHSU5TX0ZBTFNFQAkkKExJTkspICQocGx1Z2luX3Rlc3RfMV9MREZMQUdTKSAkKHBsdWdpbl90ZXN0XzFfT0JKRUNUUykgJChwbHVnaW5fdGVzdF8xX0xEQUREKSAkKExJQlMpCitAR0NDX0ZBTFNFQHBsdWdpbl90ZXN0XzIkKEVYRUVYVCk6ICQocGx1Z2luX3Rlc3RfMl9PQkpFQ1RTKSAkKHBsdWdpbl90ZXN0XzJfREVQRU5ERU5DSUVTKSAKK0BHQ0NfRkFMU0VACUBybSAtZiBwbHVnaW5fdGVzdF8yJChFWEVFWFQpCitAR0NDX0ZBTFNFQAkkKExJTkspICQocGx1Z2luX3Rlc3RfMl9MREZMQUdTKSAkKHBsdWdpbl90ZXN0XzJfT0JKRUNUUykgJChwbHVnaW5fdGVzdF8yX0xEQUREKSAkKExJQlMpCitATkFUSVZFX0xJTktFUl9GQUxTRUBwbHVnaW5fdGVzdF8yJChFWEVFWFQpOiAkKHBsdWdpbl90ZXN0XzJfT0JKRUNUUykgJChwbHVnaW5fdGVzdF8yX0RFUEVOREVOQ0lFUykgCitATkFUSVZFX0xJTktFUl9GQUxTRUAJQHJtIC1mIHBsdWdpbl90ZXN0XzIkKEVYRUVYVCkKK0BOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKExJTkspICQocGx1Z2luX3Rlc3RfMl9MREZMQUdTKSAkKHBsdWdpbl90ZXN0XzJfT0JKRUNUUykgJChwbHVnaW5fdGVzdF8yX0xEQUREKSAkKExJQlMpCitAUExVR0lOU19GQUxTRUBwbHVnaW5fdGVzdF8yJChFWEVFWFQpOiAkKHBsdWdpbl90ZXN0XzJfT0JKRUNUUykgJChwbHVnaW5fdGVzdF8yX0RFUEVOREVOQ0lFUykgCitAUExVR0lOU19GQUxTRUAJQHJtIC1mIHBsdWdpbl90ZXN0XzIkKEVYRUVYVCkKK0BQTFVHSU5TX0ZBTFNFQAkkKExJTkspICQocGx1Z2luX3Rlc3RfMl9MREZMQUdTKSAkKHBsdWdpbl90ZXN0XzJfT0JKRUNUUykgJChwbHVnaW5fdGVzdF8yX0xEQUREKSAkKExJQlMpCiBwcm90ZWN0ZWRfMSQoRVhFRVhUKTogJChwcm90ZWN0ZWRfMV9PQkpFQ1RTKSAkKHByb3RlY3RlZF8xX0RFUEVOREVOQ0lFUykgCiAJQHJtIC1mIHByb3RlY3RlZF8xJChFWEVFWFQpCiAJJChDWFhMSU5LKSAkKHByb3RlY3RlZF8xX0xERkxBR1MpICQocHJvdGVjdGVkXzFfT0JKRUNUUykgJChwcm90ZWN0ZWRfMV9MREFERCkgJChMSUJTKQpAQCAtMTUzOSw2ICsxNjM1LDEyIEBACiBATkFUSVZFX0xJTktFUl9GQUxTRUBzY3JpcHRfdGVzdF8zJChFWEVFWFQpOiAkKHNjcmlwdF90ZXN0XzNfT0JKRUNUUykgJChzY3JpcHRfdGVzdF8zX0RFUEVOREVOQ0lFUykgCiBATkFUSVZFX0xJTktFUl9GQUxTRUAJQHJtIC1mIHNjcmlwdF90ZXN0XzMkKEVYRUVYVCkKIEBOQVRJVkVfTElOS0VSX0ZBTFNFQAkkKExJTkspICQoc2NyaXB0X3Rlc3RfM19MREZMQUdTKSAkKHNjcmlwdF90ZXN0XzNfT0JKRUNUUykgJChzY3JpcHRfdGVzdF8zX0xEQUREKSAkKExJQlMpCit0aGluX2FyY2hpdmVfdGVzdF8xJChFWEVFWFQpOiAkKHRoaW5fYXJjaGl2ZV90ZXN0XzFfT0JKRUNUUykgJCh0aGluX2FyY2hpdmVfdGVzdF8xX0RFUEVOREVOQ0lFUykgCisJQHJtIC1mIHRoaW5fYXJjaGl2ZV90ZXN0XzEkKEVYRUVYVCkKKwkkKENYWExJTkspICQodGhpbl9hcmNoaXZlX3Rlc3RfMV9MREZMQUdTKSAkKHRoaW5fYXJjaGl2ZV90ZXN0XzFfT0JKRUNUUykgJCh0aGluX2FyY2hpdmVfdGVzdF8xX0xEQUREKSAkKExJQlMpCit0aGluX2FyY2hpdmVfdGVzdF8yJChFWEVFWFQpOiAkKHRoaW5fYXJjaGl2ZV90ZXN0XzJfT0JKRUNUUykgJCh0aGluX2FyY2hpdmVfdGVzdF8yX0RFUEVOREVOQ0lFUykgCisJQHJtIC1mIHRoaW5fYXJjaGl2ZV90ZXN0XzIkKEVYRUVYVCkKKwkkKENYWExJTkspICQodGhpbl9hcmNoaXZlX3Rlc3RfMl9MREZMQUdTKSAkKHRoaW5fYXJjaGl2ZV90ZXN0XzJfT0JKRUNUUykgJCh0aGluX2FyY2hpdmVfdGVzdF8yX0xEQUREKSAkKExJQlMpCiB0bHNfcGljX3Rlc3QkKEVYRUVYVCk6ICQodGxzX3BpY190ZXN0X09CSkVDVFMpICQodGxzX3BpY190ZXN0X0RFUEVOREVOQ0lFUykgCiAJQHJtIC1mIHRsc19waWNfdGVzdCQoRVhFRVhUKQogCSQoQ1hYTElOSykgJCh0bHNfcGljX3Rlc3RfTERGTEFHUykgJCh0bHNfcGljX3Rlc3RfT0JKRUNUUykgJCh0bHNfcGljX3Rlc3RfTERBREQpICQoTElCUykKQEAgLTE2OTIsNiArMTc5NCw4IEBACiBAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvbWFueV9zZWN0aW9uc19yX3Rlc3QuUG9AYW1fX3F1b3RlQAogQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL21hbnlfc2VjdGlvbnNfdGVzdC5Qb0BhbV9fcXVvdGVACiBAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvb2JqZWN0X3VuaXR0ZXN0LlBvQGFtX19xdW90ZUAKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9wbHVnaW5fdGVzdF8xLlBvQGFtX19xdW90ZUAKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9wbHVnaW5fdGVzdF8yLlBvQGFtX19xdW90ZUAKIEBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9wcm90ZWN0ZWRfMy5Qb0BhbV9fcXVvdGVACiBAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvcHJvdGVjdGVkX21haW5fMS5Qb0BhbV9fcXVvdGVACiBAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvcHJvdGVjdGVkX21haW5fMi5Qb0BhbV9fcXVvdGVACkBAIC0xNzA1LDYgKzE4MDksNyBAQAogQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3Rlc3QuUG9AYW1fX3F1b3RlQAogQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3Rlc3RmaWxlLlBvQGFtX19xdW90ZUAKIEBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS90ZXN0bWFpbi5Qb0BhbV9fcXVvdGVACitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvdGhpbl9hcmNoaXZlX21haW4uUG9AYW1fX3F1b3RlQAogQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3Rsc190ZXN0LlBvQGFtX19xdW90ZUAKIEBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS90bHNfdGVzdF9maWxlMi5Qb0BhbV9fcXVvdGVACiBAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvdGxzX3Rlc3RfbWFpbi5Qb0BhbV9fcXVvdGVACkBAIC0yMTI1LDcgKzIyMzAsNyBAQAogQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFRMU19UUlVFQHRsc190ZXN0X2NfcGljLm86IHRsc190ZXN0X2MuYwogQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFRMU19UUlVFQAkkKENPTVBJTEUpIC1jIC1mcGljICQoVExTX1RFU1RfQ19DRkxBR1MpIC1vICRAICQ8CiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAVExTX1RSVUVAdGxzX3Rlc3Rfc2hhcmVkLnNvOiB0bHNfdGVzdF9waWMubyB0bHNfdGVzdF9maWxlMl9waWMubyB0bHNfdGVzdF9jX3BpYy5vIGdjY3Rlc3RkaXIvbGQKLUBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQEBUTFNfVFJVRUAJJChDWFhMSU5LKSAtQmdjY3Rlc3RkaXIvIC1zaGFyZWQgdGxzX3Rlc3RfcGljLm8gdGxzX3Rlc3RfZmlsZTJfcGljLm8gdGxzX3Rlc3RfY19waWMubworQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFRMU19UUlVFQAkkKENYWExJTkspIC1CZ2NjdGVzdGRpci8gLXNoYXJlZCB0bHNfdGVzdF9waWMubyB0bHNfdGVzdF9maWxlMl9waWMubyB0bHNfdGVzdF9jX3BpYy5vIC1XbCwteixkZWZzCiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAVExTX1RSVUVAdGxzX3Rlc3Rfc2hhcmVkMi5zbzogdGxzX3Rlc3RfZmlsZTJfcGljLm8gZ2NjdGVzdGRpci9sZAogQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFRMU19UUlVFQAkkKENYWExJTkspIC1CZ2NjdGVzdGRpci8gLXNoYXJlZCB0bHNfdGVzdF9maWxlMl9waWMubwogCkBAIC0yMzEzLDYgKzI0MTgsNTAgQEAKIEBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQAkkKENYWExJTkspIC1CZ2NjdGVzdGRpci8gYmFzaWNfdGVzdC5vIC1UICQoc3JjZGlyKS9zY3JpcHRfdGVzdF80LnQKIEBHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQHNjcmlwdF90ZXN0XzQuc3Rkb3V0OiBzY3JpcHRfdGVzdF80CiBAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJJChURVNUX1JFQURFTEYpIC1TbFcgc2NyaXB0X3Rlc3RfNCA+IHNjcmlwdF90ZXN0XzQuc3Rkb3V0CisKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQGxpYnRoaW4xLmE6IHRoaW5fYXJjaGl2ZV90ZXN0XzEubyBhbHQvdGhpbl9hcmNoaXZlX3Rlc3RfMi5vCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJcm0gLWYgJEAKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQAkkKFRFU1RfQVIpIGNyVCAkQCAkXgorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAYWx0L2xpYnRoaW4yLmE6IHRoaW5fYXJjaGl2ZV90ZXN0XzMubyBhbHQvdGhpbl9hcmNoaXZlX3Rlc3RfNC5vCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJcm0gLWYgJEAKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQAkkKFRFU1RfQVIpIGNyVCAkQCAkXgorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAbGlidGhpbjMuYTogdGhpbl9hcmNoaXZlX3Rlc3RfMS5vIGFsdC90aGluX2FyY2hpdmVfdGVzdF80Lm8KK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQAlybSAtZiAkQAorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVACSQoVEVTVF9BUikgY3JUICRAICReCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBhbHQvbGlidGhpbjQuYTogYWx0L3RoaW5fYXJjaGl2ZV90ZXN0XzIubyB0aGluX2FyY2hpdmVfdGVzdF8zLm8KK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQAlybSAtZiAkQAorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVACSQoVEVTVF9BUikgY3JUICRAICReCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBsaWJ0aGluYWxsLmE6IGxpYnRoaW4zLmEgYWx0L2xpYnRoaW40LmEKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQAlybSAtZiAkQAorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVACSQoVEVTVF9BUikgY3JUICRAICReCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBhbHQvdGhpbl9hcmNoaXZlX3Rlc3RfMi5vOiB0aGluX2FyY2hpdmVfdGVzdF8yLmNjCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJdGVzdCAtZCBhbHQgfHwgbWtkaXIgLXAgYWx0CitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUAJJChDWFhDT01QSUxFKSAtYyAtbyAkQCAkPAorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAYWx0L3RoaW5fYXJjaGl2ZV90ZXN0XzQubzogdGhpbl9hcmNoaXZlX3Rlc3RfNC5jYworQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVACXRlc3QgLWQgYWx0IHx8IG1rZGlyIC1wIGFsdAorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVACSQoQ1hYQ09NUElMRSkgLWMgLW8gJEAgJDwKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQEBQTFVHSU5TX1RSVUVAcGx1Z2luX3Rlc3RfMTogdHdvX2ZpbGVfdGVzdF9tYWluLm8gdHdvX2ZpbGVfdGVzdF8xLnN5bXMgdHdvX2ZpbGVfdGVzdF8xYi5zeW1zIHR3b19maWxlX3Rlc3RfMi5zeW1zIGdjY3Rlc3RkaXIvbGQgcGx1Z2luX3Rlc3Quc28KK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQEBQTFVHSU5TX1RSVUVACSQoQ1hYTElOSykgLUJnY2N0ZXN0ZGlyLyAtV2wsLS1uby1kZW1hbmdsZSwtLXBsdWdpbiwiLi9wbHVnaW5fdGVzdC5zbztfWjRmMTNpdiIgdHdvX2ZpbGVfdGVzdF9tYWluLm8gdHdvX2ZpbGVfdGVzdF8xLnN5bXMgdHdvX2ZpbGVfdGVzdF8xYi5zeW1zIHR3b19maWxlX3Rlc3RfMi5zeW1zIDI+cGx1Z2luX3Rlc3RfMS5lcnIKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQEBQTFVHSU5TX1RSVUVAcGx1Z2luX3Rlc3RfMS5lcnI6IHBsdWdpbl90ZXN0XzEKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQEBQTFVHSU5TX1RSVUVACUB0b3VjaCBwbHVnaW5fdGVzdF8xLmVycgorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFBMVUdJTlNfVFJVRUBwbHVnaW5fdGVzdF8yOiB0d29fZmlsZV90ZXN0X21haW4ubyB0d29fZmlsZV90ZXN0XzEuc3ltcyB0d29fZmlsZV90ZXN0XzFiLnN5bXMgdHdvX2ZpbGVfc2hhcmVkXzIuc28gZ2NjdGVzdGRpci9sZCBwbHVnaW5fdGVzdC5zbworQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFBMVUdJTlNfVFJVRUAJJChDWFhMSU5LKSAtQmdjY3Rlc3RkaXIvIC1XbCwtLW5vLWRlbWFuZ2xlLC1SLC4sLS1wbHVnaW4sIi4vcGx1Z2luX3Rlc3Quc28iIHR3b19maWxlX3Rlc3RfbWFpbi5vIHR3b19maWxlX3Rlc3RfMS5zeW1zIHR3b19maWxlX3Rlc3RfMWIuc3ltcyB0d29fZmlsZV9zaGFyZWRfMi5zbyAyPnBsdWdpbl90ZXN0XzIuZXJyCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAUExVR0lOU19UUlVFQHBsdWdpbl90ZXN0XzIuZXJyOiBwbHVnaW5fdGVzdF8yCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAUExVR0lOU19UUlVFQAlAdG91Y2ggcGx1Z2luX3Rlc3RfMi5lcnIKKworQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFBMVUdJTlNfVFJVRUBwbHVnaW5fdGVzdC5zbzogcGx1Z2luX3Rlc3QubworQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFBMVUdJTlNfVFJVRUAJJChMSU5LKSAtQmdjY3Rlc3RkaXIvIC1zaGFyZWQgcGx1Z2luX3Rlc3QubworQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFBMVUdJTlNfVFJVRUBwbHVnaW5fdGVzdC5vOiBwbHVnaW5fdGVzdC5jCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAUExVR0lOU19UUlVFQAkkKENPTVBJTEUpIC1PMCAtYyAtZnBpYyAtbyAkQCAkPAorCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAUExVR0lOU19UUlVFQHR3b19maWxlX3Rlc3RfbWFpbi5zeW1zOiB0d29fZmlsZV90ZXN0X21haW4ubworQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFBMVUdJTlNfVFJVRUAJJChURVNUX1JFQURFTEYpIC1zVyAkPCA+JEAgMj4vZGV2L251bGwKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQEBQTFVHSU5TX1RSVUVAdHdvX2ZpbGVfdGVzdF8xLnN5bXM6IHR3b19maWxlX3Rlc3RfMS5vCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAUExVR0lOU19UUlVFQAkkKFRFU1RfUkVBREVMRikgLXNXICQ8ID4kQCAyPi9kZXYvbnVsbAorQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFBMVUdJTlNfVFJVRUB0d29fZmlsZV90ZXN0XzFiLnN5bXM6IHR3b19maWxlX3Rlc3RfMWIubworQEdDQ19UUlVFQEBOQVRJVkVfTElOS0VSX1RSVUVAQFBMVUdJTlNfVFJVRUAJJChURVNUX1JFQURFTEYpIC1zVyAkPCA+JEAgMj4vZGV2L251bGwKK0BHQ0NfVFJVRUBATkFUSVZFX0xJTktFUl9UUlVFQEBQTFVHSU5TX1RSVUVAdHdvX2ZpbGVfdGVzdF8yLnN5bXM6IHR3b19maWxlX3Rlc3RfMi5vCitAR0NDX1RSVUVAQE5BVElWRV9MSU5LRVJfVFJVRUBAUExVR0lOU19UUlVFQAkkKFRFU1RfUkVBREVMRikgLXNXICQ8ID4kQCAyPi9kZXYvbnVsbAogIyBUZWxsIHZlcnNpb25zIFszLjU5LDMuNjMpIG9mIEdOVSBtYWtlIHRvIG5vdCBleHBvcnQgYWxsIHZhcmlhYmxlcy4KICMgT3RoZXJ3aXNlIGEgc3lzdGVtIGxpbWl0IChmb3IgU3lzViBhdCBsZWFzdCkgbWF5IGJlIGV4Y2VlZGVkLgogLk5PRVhQT1JUOgpkaWZmIC0tZ2l0IGEvZ29sZC90ZXN0c3VpdGUvcGx1Z2luX3Rlc3QuYyBiL2dvbGQvdGVzdHN1aXRlL3BsdWdpbl90ZXN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzYwYzdhMQotLS0gL2Rldi9udWxsCisrKyBiL2dvbGQvdGVzdHN1aXRlL3BsdWdpbl90ZXN0LmMKQEAgLTAsMCArMSw0MjcgQEAKKy8qIHRlc3RfcGx1Z2luLmMgLS0gc2ltcGxlIGxpbmtlciBwbHVnaW4gdGVzdAorCisgICBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIFdyaXR0ZW4gYnkgQ2FyeSBDb3V0YW50IDxjY291dGFudEBnb29nbGUuY29tPi4KKworICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgZ29sZC4KKworICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQgLSBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICAgTUEgMDIxMTAtMTMwMSwgVVNBLiAgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSAicGx1Z2luLWFwaS5oIgorCitzdHJ1Y3QgY2xhaW1lZF9maWxlCit7CisgIGNvbnN0IGNoYXIqIG5hbWU7CisgIHZvaWQqIGhhbmRsZTsKKyAgaW50IG5zeW1zOworICBzdHJ1Y3QgbGRfcGx1Z2luX3N5bWJvbCogc3ltczsKKyAgc3RydWN0IGNsYWltZWRfZmlsZSogbmV4dDsKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xhaW1lZF9maWxlKiBmaXJzdF9jbGFpbWVkX2ZpbGUgPSBOVUxMOworc3RhdGljIHN0cnVjdCBjbGFpbWVkX2ZpbGUqIGxhc3RfY2xhaW1lZF9maWxlID0gTlVMTDsKKworc3RhdGljIGxkX3BsdWdpbl9yZWdpc3Rlcl9jbGFpbV9maWxlIHJlZ2lzdGVyX2NsYWltX2ZpbGVfaG9vayA9IE5VTEw7CitzdGF0aWMgbGRfcGx1Z2luX3JlZ2lzdGVyX2FsbF9zeW1ib2xzX3JlYWQgcmVnaXN0ZXJfYWxsX3N5bWJvbHNfcmVhZF9ob29rID0gTlVMTDsKK3N0YXRpYyBsZF9wbHVnaW5fcmVnaXN0ZXJfY2xlYW51cCByZWdpc3Rlcl9jbGVhbnVwX2hvb2sgPSBOVUxMOworc3RhdGljIGxkX3BsdWdpbl9hZGRfc3ltYm9scyBhZGRfc3ltYm9scyA9IE5VTEw7CitzdGF0aWMgbGRfcGx1Z2luX2dldF9zeW1ib2xzIGdldF9zeW1ib2xzID0gTlVMTDsKK3N0YXRpYyBsZF9wbHVnaW5fYWRkX2lucHV0X2ZpbGUgYWRkX2lucHV0X2ZpbGUgPSBOVUxMOworc3RhdGljIGxkX3BsdWdpbl9tZXNzYWdlIG1lc3NhZ2UgPSBOVUxMOworCisjZGVmaW5lIE1BWE9QVFMgMTAKKworc3RhdGljIGNvbnN0IGNoYXIgKm9wdHNbTUFYT1BUU107CitzdGF0aWMgaW50IG5vcHRzID0gMDsKKworZW51bSBsZF9wbHVnaW5fc3RhdHVzIG9ubG9hZChzdHJ1Y3QgbGRfcGx1Z2luX3R2ICp0dik7CitlbnVtIGxkX3BsdWdpbl9zdGF0dXMgY2xhaW1fZmlsZV9ob29rKGNvbnN0IHN0cnVjdCBsZF9wbHVnaW5faW5wdXRfZmlsZSAqZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpjbGFpbWVkKTsKK2VudW0gbGRfcGx1Z2luX3N0YXR1cyBhbGxfc3ltYm9sc19yZWFkX2hvb2sodm9pZCk7CitlbnVtIGxkX3BsdWdpbl9zdGF0dXMgY2xlYW51cF9ob29rKHZvaWQpOworCitlbnVtIGxkX3BsdWdpbl9zdGF0dXMKK29ubG9hZChzdHJ1Y3QgbGRfcGx1Z2luX3R2ICp0dikKK3sKKyAgc3RydWN0IGxkX3BsdWdpbl90diAqZW50cnk7CisgIGludCBhcGlfdmVyc2lvbiA9IDA7CisgIGludCBnb2xkX3ZlcnNpb24gPSAwOworICBpbnQgaTsKKworICBmb3IgKGVudHJ5ID0gdHY7IGVudHJ5LT50dl90YWcgIT0gTERQVF9OVUxMOyArK2VudHJ5KQorICAgIHsKKyAgICAgIHN3aXRjaCAoZW50cnktPnR2X3RhZykKKyAgICAgICAgeworICAgICAgICBjYXNlIExEUFRfQVBJX1ZFUlNJT046CisgICAgICAgICAgYXBpX3ZlcnNpb24gPSBlbnRyeS0+dHZfdS50dl92YWw7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTERQVF9HT0xEX1ZFUlNJT046CisgICAgICAgICAgZ29sZF92ZXJzaW9uID0gZW50cnktPnR2X3UudHZfdmFsOworICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIExEUFRfTElOS0VSX09VVFBVVDoKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMRFBUX09QVElPTjoKKyAgICAgICAgICBpZiAobm9wdHMgPCBNQVhPUFRTKQorICAgICAgICAgICAgb3B0c1tub3B0cysrXSA9IGVudHJ5LT50dl91LnR2X3N0cmluZzsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMRFBUX1JFR0lTVEVSX0NMQUlNX0ZJTEVfSE9PSzoKKyAgICAgICAgICByZWdpc3Rlcl9jbGFpbV9maWxlX2hvb2sgPSBlbnRyeS0+dHZfdS50dl9yZWdpc3Rlcl9jbGFpbV9maWxlOworICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIExEUFRfUkVHSVNURVJfQUxMX1NZTUJPTFNfUkVBRF9IT09LOgorICAgICAgICAgIHJlZ2lzdGVyX2FsbF9zeW1ib2xzX3JlYWRfaG9vayA9CisgICAgICAgICAgICBlbnRyeS0+dHZfdS50dl9yZWdpc3Rlcl9hbGxfc3ltYm9sc19yZWFkOworICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIExEUFRfUkVHSVNURVJfQ0xFQU5VUF9IT09LOgorICAgICAgICAgIHJlZ2lzdGVyX2NsZWFudXBfaG9vayA9IGVudHJ5LT50dl91LnR2X3JlZ2lzdGVyX2NsZWFudXA7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTERQVF9BRERfU1lNQk9MUzoKKyAgICAgICAgICBhZGRfc3ltYm9scyA9IGVudHJ5LT50dl91LnR2X2FkZF9zeW1ib2xzOworICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIExEUFRfR0VUX1NZTUJPTFM6CisgICAgICAgICAgZ2V0X3N5bWJvbHMgPSBlbnRyeS0+dHZfdS50dl9nZXRfc3ltYm9sczsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMRFBUX0FERF9JTlBVVF9GSUxFOgorICAgICAgICAgIGFkZF9pbnB1dF9maWxlID0gZW50cnktPnR2X3UudHZfYWRkX2lucHV0X2ZpbGU7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTERQVF9NRVNTQUdFOgorICAgICAgICAgIG1lc3NhZ2UgPSBlbnRyeS0+dHZfdS50dl9tZXNzYWdlOworICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgIGlmIChtZXNzYWdlID09IE5VTEwpCisgICAgeworICAgICAgZnByaW50ZihzdGRlcnIsICJ0dl9tZXNzYWdlIGludGVyZmFjZSBtaXNzaW5nXG4iKTsKKyAgICAgIHJldHVybiBMRFBTX0VSUjsKKyAgICB9CisKKyAgaWYgKHJlZ2lzdGVyX2NsYWltX2ZpbGVfaG9vayA9PSBOVUxMKQorICAgIHsKKyAgICAgIGZwcmludGYoc3RkZXJyLCAidHZfcmVnaXN0ZXJfY2xhaW1fZmlsZV9ob29rIGludGVyZmFjZSBtaXNzaW5nXG4iKTsKKyAgICAgIHJldHVybiBMRFBTX0VSUjsKKyAgICB9CisKKyAgaWYgKHJlZ2lzdGVyX2FsbF9zeW1ib2xzX3JlYWRfaG9vayA9PSBOVUxMKQorICAgIHsKKyAgICAgIGZwcmludGYoc3RkZXJyLCAidHZfcmVnaXN0ZXJfYWxsX3N5bWJvbHNfcmVhZF9ob29rIGludGVyZmFjZSBtaXNzaW5nXG4iKTsKKyAgICAgIHJldHVybiBMRFBTX0VSUjsKKyAgICB9CisKKyAgaWYgKHJlZ2lzdGVyX2NsZWFudXBfaG9vayA9PSBOVUxMKQorICAgIHsKKyAgICAgIGZwcmludGYoc3RkZXJyLCAidHZfcmVnaXN0ZXJfY2xlYW51cF9ob29rIGludGVyZmFjZSBtaXNzaW5nXG4iKTsKKyAgICAgIHJldHVybiBMRFBTX0VSUjsKKyAgICB9CisKKyAgKCptZXNzYWdlKShMRFBMX0lORk8sICJBUEkgdmVyc2lvbjogICAlZCIsIGFwaV92ZXJzaW9uKTsKKyAgKCptZXNzYWdlKShMRFBMX0lORk8sICJnb2xkIHZlcnNpb246ICAlZCIsIGdvbGRfdmVyc2lvbik7CisKKyAgZm9yIChpID0gMDsgaSA8IG5vcHRzOyArK2kpCisgICAgKCptZXNzYWdlKShMRFBMX0lORk8sICJvcHRpb246ICVzIiwgb3B0c1tpXSk7CisKKyAgaWYgKCgqcmVnaXN0ZXJfY2xhaW1fZmlsZV9ob29rKShjbGFpbV9maWxlX2hvb2spICE9IExEUFNfT0spCisgICAgeworICAgICAgKCptZXNzYWdlKShMRFBMX0VSUk9SLCAiZXJyb3IgcmVnaXN0ZXJpbmcgY2xhaW0gZmlsZSBob29rIik7CisgICAgICByZXR1cm4gTERQU19FUlI7CisgICAgfQorCisgIGlmICgoKnJlZ2lzdGVyX2FsbF9zeW1ib2xzX3JlYWRfaG9vaykoYWxsX3N5bWJvbHNfcmVhZF9ob29rKSAhPSBMRFBTX09LKQorICAgIHsKKyAgICAgICgqbWVzc2FnZSkoTERQTF9FUlJPUiwgImVycm9yIHJlZ2lzdGVyaW5nIGFsbCBzeW1ib2xzIHJlYWQgaG9vayIpOworICAgICAgcmV0dXJuIExEUFNfRVJSOworICAgIH0KKworICBpZiAoKCpyZWdpc3Rlcl9jbGVhbnVwX2hvb2spKGNsZWFudXBfaG9vaykgIT0gTERQU19PSykKKyAgICB7CisgICAgICAoKm1lc3NhZ2UpKExEUExfRVJST1IsICJlcnJvciByZWdpc3RlcmluZyBjbGVhbnVwIGhvb2siKTsKKyAgICAgIHJldHVybiBMRFBTX0VSUjsKKyAgICB9CisKKyAgcmV0dXJuIExEUFNfT0s7Cit9CisKK2VudW0gbGRfcGx1Z2luX3N0YXR1cworY2xhaW1fZmlsZV9ob29rIChjb25zdCBzdHJ1Y3QgbGRfcGx1Z2luX2lucHV0X2ZpbGUqIGZpbGUsIGludCogY2xhaW1lZCkKK3sKKyAgaW50IGxlbjsKKyAgY2hhciBidWZbMTYwXTsKKyAgc3RydWN0IGNsYWltZWRfZmlsZSogY2xhaW1lZF9maWxlOworICBzdHJ1Y3QgbGRfcGx1Z2luX3N5bWJvbCogc3ltczsKKyAgaW50IG5zeW1zID0gMDsKKyAgaW50IG1heHN5bXMgPSAwOworICBGSUxFKiBpcmZpbGU7CisgIGNoYXIgKnA7CisgIGNoYXIgKnBiaW5kOworICBjaGFyICpwdmlzOworICBjaGFyICpwc2VjdDsKKyAgaW50IHdlYWs7CisgIGludCBkZWY7CisgIGludCB2aXM7CisgIGludCBzaXplOworICBjaGFyKiBuYW1lOworICBpbnQgaXNfY29tZGF0OworICBpbnQgaTsKKworICAoKm1lc3NhZ2UpKExEUExfSU5GTywKKyAgICAgICAgICAgICAiJXM6IGNsYWltIGZpbGUgaG9vayBjYWxsZWQgKG9mZnNldCA9ICVsZCwgc2l6ZSA9ICVsZCkiLAorICAgICAgICAgICAgIGZpbGUtPm5hbWUsIChsb25nKWZpbGUtPm9mZnNldCwgKGxvbmcpZmlsZS0+ZmlsZXNpemUpOworCisgIC8qIExvb2sgZm9yIHRoZSBiZWdpbm5pbmcgb2Ygb3V0cHV0IGZyb20gcmVhZGVsZiAtcy4gICovCisgIGlyZmlsZSA9IGZkb3BlbihmaWxlLT5mZCwgInIiKTsKKyAgKHZvaWQpZnNlZWsoaXJmaWxlLCBmaWxlLT5vZmZzZXQsIFNFRUtfU0VUKTsKKyAgbGVuID0gZnJlYWQoYnVmLCAxLCAxMywgaXJmaWxlKTsKKyAgaWYgKGxlbiA8IDEzIHx8IHN0cm5jbXAoYnVmLCAiXG5TeW1ib2wgdGFibGUiLCAxMykgIT0gMCkKKyAgICByZXR1cm4gTERQU19PSzsKKworICAvKiBTa2lwIHRoZSB0d28gaGVhZGVyIGxpbmVzLiAgKi8KKyAgKHZvaWQpIGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGlyZmlsZSk7CisgICh2b2lkKSBmZ2V0cyhidWYsIHNpemVvZihidWYpLCBpcmZpbGUpOworCisgIGlmIChhZGRfc3ltYm9scyA9PSBOVUxMKQorICAgIHsKKyAgICAgIGZwcmludGYoc3RkZXJyLCAidHZfYWRkX3N5bWJvbHMgaW50ZXJmYWNlIG1pc3NpbmdcbiIpOworICAgICAgcmV0dXJuIExEUFNfRVJSOworICAgIH0KKworICAvKiBQYXJzZSB0aGUgb3V0cHV0IGZyb20gcmVhZGVsZi4gVGhlIGNvbHVtbnMgYXJlOgorICAgICBJbmRleCBWYWx1ZSBTaXplIFR5cGUgQmluZGluZyBWaXNpYmlsaXR5IFNlY3Rpb24gTmFtZS4gICovCisgIHN5bXMgPSAoc3RydWN0IGxkX3BsdWdpbl9zeW1ib2wqKW1hbGxvYyhzaXplb2Yoc3RydWN0IGxkX3BsdWdpbl9zeW1ib2wpICogOCk7CisgIGlmIChzeW1zID09IE5VTEwpCisgICAgcmV0dXJuIExEUFNfRVJSOworICBtYXhzeW1zID0gODsKKyAgd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGlyZmlsZSkgIT0gTlVMTCkKKyAgICB7CisgICAgICBwID0gYnVmOworICAgICAgcCArPSBzdHJzcG4ocCwgIiAiKTsKKworICAgICAgLyogSW5kZXggZmllbGQuICAqLworICAgICAgcCArPSBzdHJjc3BuKHAsICIgIik7CisgICAgICBwICs9IHN0cnNwbihwLCAiICIpOworCisgICAgICAvKiBWYWx1ZSBmaWVsZC4gICovCisgICAgICBwICs9IHN0cmNzcG4ocCwgIiAiKTsKKyAgICAgIHAgKz0gc3Ryc3BuKHAsICIgIik7CisKKyAgICAgIC8qIFNpemUgZmllbGQuICAqLworICAgICAgc2l6ZSA9IGF0b2kocCk7CisgICAgICBwICs9IHN0cmNzcG4ocCwgIiAiKTsKKyAgICAgIHAgKz0gc3Ryc3BuKHAsICIgIik7CisKKyAgICAgIC8qIFR5cGUgZmllbGQuICAqLworICAgICAgcCArPSBzdHJjc3BuKHAsICIgIik7CisgICAgICBwICs9IHN0cnNwbihwLCAiICIpOworCisgICAgICAvKiBCaW5kaW5nIGZpZWxkLiAgKi8KKyAgICAgIHBiaW5kID0gcDsKKyAgICAgIHAgKz0gc3RyY3NwbihwLCAiICIpOworICAgICAgcCArPSBzdHJzcG4ocCwgIiAiKTsKKworICAgICAgLyogVmlzaWJpbGl0eSBmaWVsZC4gICovCisgICAgICBwdmlzID0gcDsKKyAgICAgIHAgKz0gc3RyY3NwbihwLCAiICIpOworICAgICAgcCArPSBzdHJzcG4ocCwgIiAiKTsKKworICAgICAgLyogU2VjdGlvbiBmaWVsZC4gICovCisgICAgICBwc2VjdCA9IHA7CisgICAgICBwICs9IHN0cmNzcG4ocCwgIiAiKTsKKyAgICAgIHAgKz0gc3Ryc3BuKHAsICIgIik7CisKKyAgICAgIC8qIE5hbWUgZmllbGQuICAqLworICAgICAgLyogRklYTUU6ICBMb29rIGZvciB2ZXJzaW9uLiAgKi8KKyAgICAgIGxlbiA9IHN0cmxlbihwKTsKKyAgICAgIGlmIChwW2xlbi0xXSA9PSAnXG4nKQorICAgICAgICBwWy0tbGVuXSA9ICdcMCc7CisgICAgICBuYW1lID0gbWFsbG9jKGxlbiArIDEpOworICAgICAgc3RybmNweShuYW1lLCBwLCBsZW4gKyAxKTsKKworICAgICAgLyogSWdub3JlIGxvY2FsIHN5bWJvbHMuICAqLworICAgICAgaWYgKHN0cm5jbXAocGJpbmQsICJMT0NBTCIsIDUpID09IDApCisgICAgICAgIGNvbnRpbnVlOworCisgICAgICB3ZWFrID0gc3RybmNtcChwYmluZCwgIldFQUsiLCA0KSA9PSAwOworICAgICAgaWYgKHN0cm5jbXAocHNlY3QsICJVTkQiLCAzKSA9PSAwKQorICAgICAgICBkZWYgPSB3ZWFrID8gTERQS19XRUFLVU5ERUYgOiBMRFBLX1VOREVGOworICAgICAgZWxzZSBpZiAoc3RybmNtcChwc2VjdCwgIkNPTSIsIDMpID09IDApCisgICAgICAgIGRlZiA9IExEUEtfQ09NTU9OOworICAgICAgZWxzZQorICAgICAgICBkZWYgPSB3ZWFrID8gTERQS19XRUFLREVGIDogTERQS19ERUY7CisKKyAgICAgIGlmIChzdHJuY21wKHB2aXMsICJJTlRFUk5BTCIsIDgpID09IDApCisgICAgICAgIHZpcyA9IExEUFZfSU5URVJOQUw7CisgICAgICBlbHNlIGlmIChzdHJuY21wKHB2aXMsICJISURERU4iLCA2KSA9PSAwKQorICAgICAgICB2aXMgPSBMRFBWX0hJRERFTjsKKyAgICAgIGVsc2UgaWYgKHN0cm5jbXAocHZpcywgIlBST1RFQ1RFRCIsIDkpID09IDApCisgICAgICAgIHZpcyA9IExEUFZfUFJPVEVDVEVEOworICAgICAgZWxzZQorICAgICAgICB2aXMgPSBMRFBWX0RFRkFVTFQ7CisKKyAgICAgIC8qIElmIHRoZSBzeW1ib2wgaXMgbGlzdGVkIGluIHRoZSBvcHRpb25zIGxpc3QsIHNwZWNpYWwtY2FzZQorICAgICAgICAgaXQgYXMgYSBjb21kYXQgc3ltYm9sLiAgKi8KKyAgICAgIGlzX2NvbWRhdCA9IDA7CisgICAgICBmb3IgKGkgPSAwOyBpIDwgbm9wdHM7ICsraSkKKyAgICAgICAgeworICAgICAgICAgIGlmIChuYW1lICE9IE5VTEwgJiYgc3RyY21wKG5hbWUsIG9wdHNbaV0pID09IDApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIGlzX2NvbWRhdCA9IDE7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgIGlmIChuc3ltcyA+PSBtYXhzeW1zKQorICAgICAgICB7CisgICAgICAgICAgc3ltcyA9IChzdHJ1Y3QgbGRfcGx1Z2luX3N5bWJvbCopCisgICAgICAgICAgICByZWFsbG9jKHN5bXMsIHNpemVvZihzdHJ1Y3QgbGRfcGx1Z2luX3N5bWJvbCkgKiBtYXhzeW1zICogMik7CisgICAgICAgICAgaWYgKHN5bXMgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBMRFBTX0VSUjsKKyAgICAgICAgICBtYXhzeW1zICo9IDI7CisgICAgICAgIH0KKworICAgICAgc3ltc1tuc3ltc10ubmFtZSA9IG5hbWU7CisgICAgICBzeW1zW25zeW1zXS52ZXJzaW9uID0gTlVMTDsKKyAgICAgIHN5bXNbbnN5bXNdLmRlZiA9IGRlZjsKKyAgICAgIHN5bXNbbnN5bXNdLnZpc2liaWxpdHkgPSB2aXM7CisgICAgICBzeW1zW25zeW1zXS5zaXplID0gc2l6ZTsKKyAgICAgIHN5bXNbbnN5bXNdLmNvbWRhdF9rZXkgPSBpc19jb21kYXQgPyBuYW1lIDogTlVMTDsKKyAgICAgIHN5bXNbbnN5bXNdLnJlc29sdXRpb24gPSBMRFBSX1VOS05PV047CisgICAgICArK25zeW1zOworICAgIH0KKworICBjbGFpbWVkX2ZpbGUgPSAoc3RydWN0IGNsYWltZWRfZmlsZSopIG1hbGxvYyhzaXplb2Yoc3RydWN0IGNsYWltZWRfZmlsZSkpOworICBpZiAoY2xhaW1lZF9maWxlID09IE5VTEwpCisgICAgcmV0dXJuIExEUFNfRVJSOworCisgIGNsYWltZWRfZmlsZS0+bmFtZSA9IGZpbGUtPm5hbWU7CisgIGNsYWltZWRfZmlsZS0+aGFuZGxlID0gZmlsZS0+aGFuZGxlOworICBjbGFpbWVkX2ZpbGUtPm5zeW1zID0gbnN5bXM7CisgIGNsYWltZWRfZmlsZS0+c3ltcyA9IHN5bXM7CisgIGNsYWltZWRfZmlsZS0+bmV4dCA9IE5VTEw7CisgIGlmIChsYXN0X2NsYWltZWRfZmlsZSA9PSBOVUxMKQorICAgIGZpcnN0X2NsYWltZWRfZmlsZSA9IGNsYWltZWRfZmlsZTsKKyAgZWxzZQorICAgIGxhc3RfY2xhaW1lZF9maWxlLT5uZXh0ID0gY2xhaW1lZF9maWxlOworICBsYXN0X2NsYWltZWRfZmlsZSA9IGNsYWltZWRfZmlsZTsKKworICAoKmFkZF9zeW1ib2xzKShmaWxlLT5oYW5kbGUsIG5zeW1zLCBzeW1zKTsKKworICAqY2xhaW1lZCA9IDE7CisgIHJldHVybiBMRFBTX09LOworfQorCitlbnVtIGxkX3BsdWdpbl9zdGF0dXMKK2FsbF9zeW1ib2xzX3JlYWRfaG9vayh2b2lkKQoreworICBpbnQgaTsKKyAgY29uc3QgY2hhciogcmVzOworICBzdHJ1Y3QgY2xhaW1lZF9maWxlKiBjbGFpbWVkX2ZpbGU7CisgIGNoYXIgYnVmWzE2MF07CisgIGNoYXIgKnA7CisKKyAgKCptZXNzYWdlKShMRFBMX0lORk8sICJhbGwgc3ltYm9scyByZWFkIGhvb2sgY2FsbGVkIik7CisKKyAgaWYgKGdldF9zeW1ib2xzID09IE5VTEwpCisgICAgeworICAgICAgZnByaW50ZihzdGRlcnIsICJ0dl9nZXRfc3ltYm9scyBpbnRlcmZhY2UgbWlzc2luZ1xuIik7CisgICAgICByZXR1cm4gTERQU19FUlI7CisgICAgfQorCisgIGZvciAoY2xhaW1lZF9maWxlID0gZmlyc3RfY2xhaW1lZF9maWxlOworICAgICAgIGNsYWltZWRfZmlsZSAhPSBOVUxMOworICAgICAgIGNsYWltZWRfZmlsZSA9IGNsYWltZWRfZmlsZS0+bmV4dCkKKyAgICB7CisgICAgICAoKmdldF9zeW1ib2xzKShjbGFpbWVkX2ZpbGUtPmhhbmRsZSwgY2xhaW1lZF9maWxlLT5uc3ltcywKKyAgICAgICAgICAgICAgICAgICAgIGNsYWltZWRfZmlsZS0+c3ltcyk7CisgICAgICBmb3IgKGkgPSAwOyBpIDwgY2xhaW1lZF9maWxlLT5uc3ltczsgKytpKQorICAgICAgICB7CisgICAgICAgICAgc3dpdGNoIChjbGFpbWVkX2ZpbGUtPnN5bXNbaV0ucmVzb2x1dGlvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgIGNhc2UgTERQUl9VTktOT1dOOgorICAgICAgICAgICAgICByZXMgPSAiVU5LTk9XTiI7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBMRFBSX1VOREVGOgorICAgICAgICAgICAgICByZXMgPSAiVU5ERUYiOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgTERQUl9QUkVWQUlMSU5HX0RFRjoKKyAgICAgICAgICAgICAgcmVzID0gIlBSRVZBSUxJTkdfREVGX1JFRyI7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBMRFBSX1BSRVZBSUxJTkdfREVGX0lST05MWToKKyAgICAgICAgICAgICAgcmVzID0gIlBSRVZBSUxJTkdfREVGX0lST05MWSI7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBMRFBSX1BSRUVNUFRFRF9SRUc6CisgICAgICAgICAgICAgIHJlcyA9ICJQUkVFTVBURURfUkVHIjsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIExEUFJfUFJFRU1QVEVEX0lSOgorICAgICAgICAgICAgICByZXMgPSAiUFJFRU1QVEVEX0lSIjsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIExEUFJfUkVTT0xWRURfSVI6CisgICAgICAgICAgICAgIHJlcyA9ICJSRVNPTFZFRF9JUiI7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBMRFBSX1JFU09MVkVEX0VYRUM6CisgICAgICAgICAgICAgIHJlcyA9ICJSRVNPTFZFRF9FWEVDIjsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIExEUFJfUkVTT0xWRURfRFlOOgorICAgICAgICAgICAgICByZXMgPSAiUkVTT0xWRURfRFlOIjsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICByZXMgPSAiPyI7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICgqbWVzc2FnZSkoTERQTF9JTkZPLCAiJXM6ICVzOiAlcyIsIGNsYWltZWRfZmlsZS0+bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgIGNsYWltZWRfZmlsZS0+c3ltc1tpXS5uYW1lLCByZXMpOworICAgICAgICB9CisgICAgfQorCisgIGlmIChhZGRfaW5wdXRfZmlsZSA9PSBOVUxMKQorICAgIHsKKyAgICAgIGZwcmludGYoc3RkZXJyLCAidHZfYWRkX2lucHV0X2ZpbGUgaW50ZXJmYWNlIG1pc3NpbmdcbiIpOworICAgICAgcmV0dXJuIExEUFNfRVJSOworICAgIH0KKworICBmb3IgKGNsYWltZWRfZmlsZSA9IGZpcnN0X2NsYWltZWRfZmlsZTsKKyAgICAgICBjbGFpbWVkX2ZpbGUgIT0gTlVMTDsKKyAgICAgICBjbGFpbWVkX2ZpbGUgPSBjbGFpbWVkX2ZpbGUtPm5leHQpCisgICAgeworICAgICAgaWYgKHN0cmxlbihjbGFpbWVkX2ZpbGUtPm5hbWUpID49IHNpemVvZihidWYpKQorICAgICAgICB7CisgICAgICAgICAgKCptZXNzYWdlKShMRFBMX0ZBVEFMLCAiJXM6IGZpbGVuYW1lIHRvbyBsb25nIiwgY2xhaW1lZF9maWxlLT5uYW1lKTsKKyAgICAgICAgICByZXR1cm4gTERQU19FUlI7CisgICAgICAgIH0KKyAgICAgIHN0cmNweShidWYsIGNsYWltZWRfZmlsZS0+bmFtZSk7CisgICAgICBwID0gc3RycmNocihidWYsICcuJyk7CisgICAgICBpZiAocCA9PSBOVUxMIHx8IHN0cmNtcChwLCAiLnN5bXMiKSAhPSAwKQorICAgICAgICB7CisgICAgICAgICAgKCptZXNzYWdlKShMRFBMX0ZBVEFMLCAiJXM6IGZpbGVuYW1lIG11c3QgaGF2ZSAnLnN5bXMnIHN1ZmZpeCIsCisgICAgICAgICAgICAgICAgICAgICBjbGFpbWVkX2ZpbGUtPm5hbWUpOworICAgICAgICAgIHJldHVybiBMRFBTX0VSUjsKKyAgICAgICAgfQorICAgICAgcFsxXSA9ICdvJzsKKyAgICAgIHBbMl0gPSAnXDAnOworICAgICAgKCphZGRfaW5wdXRfZmlsZSkoYnVmKTsKKyAgICB9CisKKyAgcmV0dXJuIExEUFNfT0s7Cit9CisKK2VudW0gbGRfcGx1Z2luX3N0YXR1cworY2xlYW51cF9ob29rKHZvaWQpCit7CisgICgqbWVzc2FnZSkoTERQTF9JTkZPLCAiY2xlYW51cCBob29rIGNhbGxlZCIpOworICByZXR1cm4gTERQU19PSzsKK30KZGlmZiAtLWdpdCBhL2dvbGQvdGVzdHN1aXRlL3BsdWdpbl90ZXN0XzEuc2ggYi9nb2xkL3Rlc3RzdWl0ZS9wbHVnaW5fdGVzdF8xLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVlMTYxMzkKLS0tIC9kZXYvbnVsbAorKysgYi9nb2xkL3Rlc3RzdWl0ZS9wbHVnaW5fdGVzdF8xLnNoCkBAIC0wLDAgKzEsNTYgQEAKKyMhL2Jpbi9zaAorCisjIHBsdWdpbl90ZXN0XzEuc2ggLS0gYSB0ZXN0IGNhc2UgZm9yIHRoZSBwbHVnaW4gQVBJLgorCisjIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBXcml0dGVuIGJ5IENhcnkgQ291dGFudCA8Y2NvdXRhbnRAZ29vZ2xlLmNvbT4uCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgZ29sZC4KKworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwKKyMgTUEgMDIxMTAtMTMwMSwgVVNBLgorCisjIFRoaXMgZmlsZSBnb2VzIHdpdGggcGx1Z2luX3Rlc3RfMS5jLCBhIHNpbXBsZSBwbHVnLWluIGxpYnJhcnkgdGhhdAorIyBleGVyY2lzZXMgdGhlIGJhc2ljIGludGVyZmFjZXMgYW5kIHByaW50cyBvdXQgdmVyc2lvbiBudW1iZXJzIGFuZAorIyBvcHRpb25zIHBhc3NlZCB0byB0aGUgcGx1Z2luLgorCitjaGVjaygpCit7CisgICAgaWYgISBncmVwIC1xICIkMiIgIiQxIgorICAgIHRoZW4KKwllY2hvICJEaWQgbm90IGZpbmQgZXhwZWN0ZWQgb3V0cHV0IGluICQxOiIKKwllY2hvICIgICAkMiIKKwllY2hvICIiCisJZWNobyAiQWN0dWFsIG91dHB1dCBiZWxvdzoiCisJY2F0ICIkMSIKKwlleGl0IDEKKyAgICBmaQorfQorCitjaGVjayBwbHVnaW5fdGVzdF8xLmVyciAiQVBJIHZlcnNpb246IgorY2hlY2sgcGx1Z2luX3Rlc3RfMS5lcnIgImdvbGQgdmVyc2lvbjoiCitjaGVjayBwbHVnaW5fdGVzdF8xLmVyciAib3B0aW9uOiBfWjRmMTNpdiIKK2NoZWNrIHBsdWdpbl90ZXN0XzEuZXJyICJ0d29fZmlsZV90ZXN0X21haW4ubzogY2xhaW0gZmlsZSBob29rIGNhbGxlZCIKK2NoZWNrIHBsdWdpbl90ZXN0XzEuZXJyICJ0d29fZmlsZV90ZXN0XzEuc3ltczogY2xhaW0gZmlsZSBob29rIGNhbGxlZCIKK2NoZWNrIHBsdWdpbl90ZXN0XzEuZXJyICJ0d29fZmlsZV90ZXN0XzFiLnN5bXM6IGNsYWltIGZpbGUgaG9vayBjYWxsZWQiCitjaGVjayBwbHVnaW5fdGVzdF8xLmVyciAidHdvX2ZpbGVfdGVzdF8yLnN5bXM6IGNsYWltIGZpbGUgaG9vayBjYWxsZWQiCitjaGVjayBwbHVnaW5fdGVzdF8xLmVyciAidHdvX2ZpbGVfdGVzdF8xLnN5bXM6IF9aNGYxM2l2OiBQUkVWQUlMSU5HX0RFRl9JUk9OTFkiCitjaGVjayBwbHVnaW5fdGVzdF8xLmVyciAidHdvX2ZpbGVfdGVzdF8xLnN5bXM6IF9aMnQydjogUFJFVkFJTElOR19ERUZfUkVHIgorY2hlY2sgcGx1Z2luX3Rlc3RfMS5lcnIgInR3b19maWxlX3Rlc3RfMS5zeW1zOiB2MjogUkVTT0xWRURfSVIiCitjaGVjayBwbHVnaW5fdGVzdF8xLmVyciAidHdvX2ZpbGVfdGVzdF8xLnN5bXM6IHQxN2RhdGE6IFJFU09MVkVEX0lSIgorY2hlY2sgcGx1Z2luX3Rlc3RfMS5lcnIgInR3b19maWxlX3Rlc3RfMi5zeW1zOiBfWjRmMTNpdjogUFJFRU1QVEVEX0lSIgorY2hlY2sgcGx1Z2luX3Rlc3RfMS5lcnIgImNsZWFudXAgaG9vayBjYWxsZWQiCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvZ29sZC90ZXN0c3VpdGUvcGx1Z2luX3Rlc3RfMi5zaCBiL2dvbGQvdGVzdHN1aXRlL3BsdWdpbl90ZXN0XzIuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDE4NjVhYwotLS0gL2Rldi9udWxsCisrKyBiL2dvbGQvdGVzdHN1aXRlL3BsdWdpbl90ZXN0XzIuc2gKQEAgLTAsMCArMSw1NCBAQAorIyEvYmluL3NoCisKKyMgcGx1Z2luX3Rlc3RfMi5zaCAtLSBhIHRlc3QgY2FzZSBmb3IgdGhlIHBsdWdpbiBBUEkuCisKKyMgQ29weXJpZ2h0IDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFdyaXR0ZW4gYnkgQ2FyeSBDb3V0YW50IDxjY291dGFudEBnb29nbGUuY29tPi4KKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBnb2xkLgorCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQgLSBGaWZ0aCBGbG9vciwgQm9zdG9uLAorIyBNQSAwMjExMC0xMzAxLCBVU0EuCisKKyMgVGhpcyBmaWxlIGdvZXMgd2l0aCBwbHVnaW5fdGVzdF8xLmMsIGEgc2ltcGxlIHBsdWctaW4gbGlicmFyeSB0aGF0CisjIGV4ZXJjaXNlcyB0aGUgYmFzaWMgaW50ZXJmYWNlcyBhbmQgcHJpbnRzIG91dCB2ZXJzaW9uIG51bWJlcnMgYW5kCisjIG9wdGlvbnMgcGFzc2VkIHRvIHRoZSBwbHVnaW4uCisKK2NoZWNrKCkKK3sKKyAgICBpZiAhIGdyZXAgLXEgIiQyIiAiJDEiCisgICAgdGhlbgorCWVjaG8gIkRpZCBub3QgZmluZCBleHBlY3RlZCBvdXRwdXQgaW4gJDE6IgorCWVjaG8gIiAgICQyIgorCWVjaG8gIiIKKwllY2hvICJBY3R1YWwgb3V0cHV0IGJlbG93OiIKKwljYXQgIiQxIgorCWV4aXQgMQorICAgIGZpCit9CisKK2NoZWNrIHBsdWdpbl90ZXN0XzIuZXJyICJBUEkgdmVyc2lvbjoiCitjaGVjayBwbHVnaW5fdGVzdF8yLmVyciAiZ29sZCB2ZXJzaW9uOiIKK2NoZWNrIHBsdWdpbl90ZXN0XzIuZXJyICJ0d29fZmlsZV90ZXN0X21haW4ubzogY2xhaW0gZmlsZSBob29rIGNhbGxlZCIKK2NoZWNrIHBsdWdpbl90ZXN0XzIuZXJyICJ0d29fZmlsZV90ZXN0XzEuc3ltczogY2xhaW0gZmlsZSBob29rIGNhbGxlZCIKK2NoZWNrIHBsdWdpbl90ZXN0XzIuZXJyICJ0d29fZmlsZV90ZXN0XzFiLnN5bXM6IGNsYWltIGZpbGUgaG9vayBjYWxsZWQiCitjaGVjayBwbHVnaW5fdGVzdF8yLmVyciAidHdvX2ZpbGVfc2hhcmVkXzIuc286IGNsYWltIGZpbGUgaG9vayBjYWxsZWQiCitjaGVjayBwbHVnaW5fdGVzdF8yLmVyciAidHdvX2ZpbGVfdGVzdF8xLnN5bXM6IF9aNGYxM2l2OiBQUkVWQUlMSU5HX0RFRl9SRUciCitjaGVjayBwbHVnaW5fdGVzdF8yLmVyciAidHdvX2ZpbGVfdGVzdF8xLnN5bXM6IF9aMnQydjogUFJFVkFJTElOR19ERUZfUkVHIgorY2hlY2sgcGx1Z2luX3Rlc3RfMi5lcnIgInR3b19maWxlX3Rlc3RfMS5zeW1zOiB2MjogUkVTT0xWRURfRFlOIgorY2hlY2sgcGx1Z2luX3Rlc3RfMi5lcnIgInR3b19maWxlX3Rlc3RfMS5zeW1zOiB0MTdkYXRhOiBSRVNPTFZFRF9EWU4iCitjaGVjayBwbHVnaW5fdGVzdF8yLmVyciAiY2xlYW51cCBob29rIGNhbGxlZCIKKworZXhpdCAwCmRpZmYgLS1naXQgYS9nb2xkL3Rlc3RzdWl0ZS90aGluX2FyY2hpdmVfbWFpbi5jYyBiL2dvbGQvdGVzdHN1aXRlL3RoaW5fYXJjaGl2ZV9tYWluLmNjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjMzg3MTUKLS0tIC9kZXYvbnVsbAorKysgYi9nb2xkL3Rlc3RzdWl0ZS90aGluX2FyY2hpdmVfbWFpbi5jYwpAQCAtMCwwICsxLDM5IEBACisvLyB0aGluX2FyY2hpdmVfbWFpbi5jYyAtLSBhIHRlc3QgY2FzZSBmb3IgZ29sZAorCisvLyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8vIFdyaXR0ZW4gYnkgQ2FyeSBDb3V0YW50IDxjY291dGFudEBnb29nbGUuY29tPi4KKworLy8gVGhpcyBmaWxlIGlzIHBhcnQgb2YgZ29sZC4KKworLy8gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy8vIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisvLyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorLy8gKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworLy8gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisvLyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLy8gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLy8gR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworLy8gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy8vIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisvLyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQgLSBGaWZ0aCBGbG9vciwgQm9zdG9uLAorLy8gTUEgMDIxMTAtMTMwMSwgVVNBLgorCisvLyBUaGlzIGlzIHRoZSBtYWluIHByb2dyYW0gZm9yIHRoZSB0aGluIGFyY2hpdmUgdGVzdHMuIEl0IGNhbGxzIGEgc2luZ2xlCisvLyByb3V0aW5lLCB0MSwgZGVmaW5lZCBpbiBsaWJ0aGluMS5hIG9yIGxpYnRoaW4zLmEsIHdoaWNoIHRoZW4gcmVmZXJlbmNlcworLy8gb3RoZXIgcm91dGluZXMgaW4gdGhlIHNhbWUgYW5kIG90aGVyIGxpYnJhcmllcywgdG8gbWFrZSBzdXJlIHRoYXQgYWxsCisvLyBhcmNoaXZlIG1lbWJlcnMgYXJlIGxpbmtlZCBwcm9wZXJseS4KKworI2luY2x1ZGUgPGNhc3NlcnQ+CisKK2V4dGVybiBpbnQgdDEoKTsKKworLy8gTWFpbiBmdW5jdGlvbi4gIENhbGwgdGhlIHRlc3QgZnVuY3Rpb24uCisKK2ludAorbWFpbigpCit7CisgIGFzc2VydCh0MSgpID09IDB4NDMyMSk7CisgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvZ29sZC90ZXN0c3VpdGUvdGhpbl9hcmNoaXZlX3Rlc3RfMS5jYyBiL2dvbGQvdGVzdHN1aXRlL3RoaW5fYXJjaGl2ZV90ZXN0XzEuY2MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGIyMzkzNwotLS0gL2Rldi9udWxsCisrKyBiL2dvbGQvdGVzdHN1aXRlL3RoaW5fYXJjaGl2ZV90ZXN0XzEuY2MKQEAgLTAsMCArMSwzNyBAQAorLy8gdGhpbl9hcmNoaXZlX3Rlc3RfMS5jYyAtLSBwYXJ0IG9mIGEgdGVzdCBjYXNlIGZvciB0aGluIGFyY2hpdmVzCisKKy8vIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLy8gV3JpdHRlbiBieSBDYXJ5IENvdXRhbnQgPGNjb3V0YW50QGdvb2dsZS5jb20+LgorCisvLyBUaGlzIGZpbGUgaXMgcGFydCBvZiBnb2xkLgorCisvLyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLy8gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy8vIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisvLyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisvLyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy8vIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisvLyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisvLyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisvLyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLy8gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy8vIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCAtIEZpZnRoIEZsb29yLCBCb3N0b24sCisvLyBNQSAwMjExMC0xMzAxLCBVU0EuCisKKy8vIFRoaXMgdGVzdHMgcmVmZXJlbmNlcyBiZXR3ZWVuIGZpbGVzIGFuZCBhcmNoaXZlcy4gIFRoaXMgaXMgZmlsZSAxIG9mIDQuCisvLyBFYWNoIG9mIHRoZSBmaXJzdCB0aHJlZSBmaWxlcyBjb250YWlucyBhIHJlZmVyZW5jZSB0byB0aGUgbmV4dC4KKy8vIFdlIHRlc3QgdGhlIGFyY2hpdmVzIGFzIGZvbGxvd3M6CisKKy8vIEZpbGVzIDEgYW5kIDIgaW4gbGlidGhpbjEuYSwgZmlsZXMgMyBhbmQgNCBpbiBsaWJ0aGluMi5hLgorLy8gRmlsZXMgMSBhbmQgNCBpbiBsaWJ0aGluMy5hLCBmaWxlcyAyIGFuZCAzIGluIGxpYnRoaW40LmEsIHdpdGgKKy8vIGxpYnRoaW4zLmEgYW5kIGxpYnRoaW40LmEgbmVzdGVkIGluc2lkZSBsaWJ0aGluYWxsLmEuCisKK2V4dGVybiBpbnQgdDIoKTsKKworaW50Cit0MSgpCit7CisgIHJldHVybiAodDIoKSA8PCA0KSB8IDE7Cit9CmRpZmYgLS1naXQgYS9nb2xkL3Rlc3RzdWl0ZS90aGluX2FyY2hpdmVfdGVzdF8yLmNjIGIvZ29sZC90ZXN0c3VpdGUvdGhpbl9hcmNoaXZlX3Rlc3RfMi5jYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzFlZTMxCi0tLSAvZGV2L251bGwKKysrIGIvZ29sZC90ZXN0c3VpdGUvdGhpbl9hcmNoaXZlX3Rlc3RfMi5jYwpAQCAtMCwwICsxLDM3IEBACisvLyB0aGluX2FyY2hpdmVfdGVzdF8yLmNjIC0tIHBhcnQgb2YgYSB0ZXN0IGNhc2UgZm9yIHRoaW4gYXJjaGl2ZXMKKworLy8gQ29weXJpZ2h0IDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvLyBXcml0dGVuIGJ5IENhcnkgQ291dGFudCA8Y2NvdXRhbnRAZ29vZ2xlLmNvbT4uCisKKy8vIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGdvbGQuCisKKy8vIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisvLyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLy8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKy8vIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKy8vIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLy8gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy8vIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy8vIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKy8vIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisvLyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorLy8gRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwKKy8vIE1BIDAyMTEwLTEzMDEsIFVTQS4KKworLy8gVGhpcyB0ZXN0cyByZWZlcmVuY2VzIGJldHdlZW4gZmlsZXMgYW5kIGFyY2hpdmVzLiAgVGhpcyBpcyBmaWxlIDIgb2YgNC4KKy8vIEVhY2ggb2YgdGhlIGZpcnN0IHRocmVlIGZpbGVzIGNvbnRhaW5zIGEgcmVmZXJlbmNlIHRvIHRoZSBuZXh0LgorLy8gV2UgdGVzdCB0aGUgYXJjaGl2ZXMgYXMgZm9sbG93czoKKworLy8gRmlsZXMgMSBhbmQgMiBpbiBsaWJ0aGluMS5hLCBmaWxlcyAzIGFuZCA0IGluIGxpYnRoaW4yLmEuCisvLyBGaWxlcyAxIGFuZCA0IGluIGxpYnRoaW4zLmEsIGZpbGVzIDIgYW5kIDMgaW4gbGlidGhpbjQuYSwgd2l0aAorLy8gbGlidGhpbjMuYSBhbmQgbGlidGhpbjQuYSBuZXN0ZWQgaW5zaWRlIGxpYnRoaW5hbGwuYS4KKworZXh0ZXJuIGludCB0MygpOworCitpbnQKK3QyKCkKK3sKKyAgcmV0dXJuICh0MygpIDw8IDQpIHwgMjsKK30KZGlmZiAtLWdpdCBhL2dvbGQvdGVzdHN1aXRlL3RoaW5fYXJjaGl2ZV90ZXN0XzMuY2MgYi9nb2xkL3Rlc3RzdWl0ZS90aGluX2FyY2hpdmVfdGVzdF8zLmNjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1OGM1OWYKLS0tIC9kZXYvbnVsbAorKysgYi9nb2xkL3Rlc3RzdWl0ZS90aGluX2FyY2hpdmVfdGVzdF8zLmNjCkBAIC0wLDAgKzEsMzcgQEAKKy8vIHRoaW5fYXJjaGl2ZV90ZXN0XzMuY2MgLS0gcGFydCBvZiBhIHRlc3QgY2FzZSBmb3IgdGhpbiBhcmNoaXZlcworCisvLyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8vIFdyaXR0ZW4gYnkgQ2FyeSBDb3V0YW50IDxjY291dGFudEBnb29nbGUuY29tPi4KKworLy8gVGhpcyBmaWxlIGlzIHBhcnQgb2YgZ29sZC4KKworLy8gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy8vIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisvLyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorLy8gKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworLy8gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisvLyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLy8gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLy8gR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworLy8gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy8vIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisvLyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQgLSBGaWZ0aCBGbG9vciwgQm9zdG9uLAorLy8gTUEgMDIxMTAtMTMwMSwgVVNBLgorCisvLyBUaGlzIHRlc3RzIHJlZmVyZW5jZXMgYmV0d2VlbiBmaWxlcyBhbmQgYXJjaGl2ZXMuICBUaGlzIGlzIGZpbGUgMyBvZiA0LgorLy8gRWFjaCBvZiB0aGUgZmlyc3QgdGhyZWUgZmlsZXMgY29udGFpbnMgYSByZWZlcmVuY2UgdG8gdGhlIG5leHQuCisvLyBXZSB0ZXN0IHRoZSBhcmNoaXZlcyBhcyBmb2xsb3dzOgorCisvLyBGaWxlcyAxIGFuZCAyIGluIGxpYnRoaW4xLmEsIGZpbGVzIDMgYW5kIDQgaW4gbGlidGhpbjIuYS4KKy8vIEZpbGVzIDEgYW5kIDQgaW4gbGlidGhpbjMuYSwgZmlsZXMgMiBhbmQgMyBpbiBsaWJ0aGluNC5hLCB3aXRoCisvLyBsaWJ0aGluMy5hIGFuZCBsaWJ0aGluNC5hIG5lc3RlZCBpbnNpZGUgbGlidGhpbmFsbC5hLgorCitleHRlcm4gaW50IHQ0KCk7CisKK2ludAordDMoKQoreworICByZXR1cm4gKHQ0KCkgPDwgNCkgfCAzOworfQpkaWZmIC0tZ2l0IGEvZ29sZC90ZXN0c3VpdGUvdGhpbl9hcmNoaXZlX3Rlc3RfNC5jYyBiL2dvbGQvdGVzdHN1aXRlL3RoaW5fYXJjaGl2ZV90ZXN0XzQuY2MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWI2N2M5NAotLS0gL2Rldi9udWxsCisrKyBiL2dvbGQvdGVzdHN1aXRlL3RoaW5fYXJjaGl2ZV90ZXN0XzQuY2MKQEAgLTAsMCArMSwzNSBAQAorLy8gdGhpbl9hcmNoaXZlX3Rlc3RfNC5jYyAtLSBwYXJ0IG9mIGEgdGVzdCBjYXNlIGZvciB0aGluIGFyY2hpdmVzCisKKy8vIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLy8gV3JpdHRlbiBieSBDYXJ5IENvdXRhbnQgPGNjb3V0YW50QGdvb2dsZS5jb20+LgorCisvLyBUaGlzIGZpbGUgaXMgcGFydCBvZiBnb2xkLgorCisvLyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLy8gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy8vIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisvLyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisvLyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy8vIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisvLyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisvLyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisvLyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLy8gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy8vIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCAtIEZpZnRoIEZsb29yLCBCb3N0b24sCisvLyBNQSAwMjExMC0xMzAxLCBVU0EuCisKKy8vIFRoaXMgdGVzdHMgcmVmZXJlbmNlcyBiZXR3ZWVuIGZpbGVzIGFuZCBhcmNoaXZlcy4gIFRoaXMgaXMgZmlsZSA0IG9mIDQuCisvLyBFYWNoIG9mIHRoZSBmaXJzdCB0aHJlZSBmaWxlcyBjb250YWlucyBhIHJlZmVyZW5jZSB0byB0aGUgbmV4dC4KKy8vIFdlIHRlc3QgdGhlIGFyY2hpdmVzIGFzIGZvbGxvd3M6CisKKy8vIEZpbGVzIDEgYW5kIDIgaW4gbGlidGhpbjEuYSwgZmlsZXMgMyBhbmQgNCBpbiBsaWJ0aGluMi5hLgorLy8gRmlsZXMgMSBhbmQgNCBpbiBsaWJ0aGluMy5hLCBmaWxlcyAyIGFuZCAzIGluIGxpYnRoaW40LmEsIHdpdGgKKy8vIGxpYnRoaW4zLmEgYW5kIGxpYnRoaW40LmEgbmVzdGVkIGluc2lkZSBsaWJ0aGluYWxsLmEuCisKK2ludAordDQoKQoreworICByZXR1cm4gNDsKK30KZGlmZiAtLWdpdCBhL2dvbGQveDg2XzY0LmNjIGIvZ29sZC94ODZfNjQuY2MKaW5kZXggMmRhYTliZi4uNjlmNzZhMCAxMDA2NDQKLS0tIGEvZ29sZC94ODZfNjQuY2MKKysrIGIvZ29sZC94ODZfNjQuY2MKQEAgLTEzOSw3ICsxMzksNyBAQAogCiAgIC8vIFJldHVybiB3aGV0aGVyIFNZTSBpcyBkZWZpbmVkIGJ5IHRoZSBBQkkuCiAgIGJvb2wKLSAgZG9faXNfZGVmaW5lZF9ieV9hYmkoU3ltYm9sKiBzeW0pIGNvbnN0CisgIGRvX2lzX2RlZmluZWRfYnlfYWJpKGNvbnN0IFN5bWJvbCogc3ltKSBjb25zdAogICB7IHJldHVybiBzdHJjbXAoc3ltLT5uYW1lKCksICJfX3Rsc19nZXRfYWRkciIpID09IDA7IH0KIAogICAvLyBSZXR1cm4gdGhlIHNpemUgb2YgdGhlIEdPVCBzZWN0aW9uLgpAQCAtMzMwLDcgKzMzMCw3IEBACiAgIHZvaWQKICAgbWFrZV9wbHRfZW50cnkoU3ltYm9sX3RhYmxlKiwgTGF5b3V0KiwgU3ltYm9sKik7CiAKLSAgLy8gRGVmaW5lIHRoZSBfVExTX01PRFVMRV9CQVNFXyBzeW1ib2wgYXQgdGhlIGVuZCBvZiB0aGUgVExTIHNlZ21lbnQuCisgIC8vIERlZmluZSB0aGUgX1RMU19NT0RVTEVfQkFTRV8gc3ltYm9sIGluIHRoZSBUTFMgc2VnbWVudC4KICAgdm9pZAogICBkZWZpbmVfdGxzX2Jhc2Vfc3ltYm9sKFN5bWJvbF90YWJsZSosIExheW91dCopOwogCkBAIC03OTYsNyArNzk2LDcgQEAKICAgdGhpcy0+cGx0Xy0+YWRkX2VudHJ5KGdzeW0pOwogfQogCi0vLyBEZWZpbmUgdGhlIF9UTFNfTU9EVUxFX0JBU0VfIHN5bWJvbCBhdCB0aGUgZW5kIG9mIHRoZSBUTFMgc2VnbWVudC4KKy8vIERlZmluZSB0aGUgX1RMU19NT0RVTEVfQkFTRV8gc3ltYm9sIGluIHRoZSBUTFMgc2VnbWVudC4KIAogdm9pZAogVGFyZ2V0X3g4Nl82NDo6ZGVmaW5lX3Rsc19iYXNlX3N5bWJvbChTeW1ib2xfdGFibGUqIHN5bXRhYiwgTGF5b3V0KiBsYXlvdXQpCkBAIC04MDcsMTIgKzgwNywxNiBAQAogICBPdXRwdXRfc2VnbWVudCogdGxzX3NlZ21lbnQgPSBsYXlvdXQtPnRsc19zZWdtZW50KCk7CiAgIGlmICh0bHNfc2VnbWVudCAhPSBOVUxMKQogICAgIHsKKyAgICAgIGJvb2wgaXNfZXhlYyA9IHBhcmFtZXRlcnMtPm9wdGlvbnMoKS5vdXRwdXRfaXNfZXhlY3V0YWJsZSgpOwogICAgICAgc3ltdGFiLT5kZWZpbmVfaW5fb3V0cHV0X3NlZ21lbnQoIl9UTFNfTU9EVUxFX0JBU0VfIiwgTlVMTCwKIAkJCQkgICAgICAgdGxzX3NlZ21lbnQsIDAsIDAsCiAJCQkJICAgICAgIGVsZmNwcDo6U1RUX1RMUywKIAkJCQkgICAgICAgZWxmY3BwOjpTVEJfTE9DQUwsCiAJCQkJICAgICAgIGVsZmNwcDo6U1RWX0hJRERFTiwgMCwKLQkJCQkgICAgICAgU3ltYm9sOjpTRUdNRU5UX0VORCwgdHJ1ZSk7CisJCQkJICAgICAgIChpc19leGVjCisJCQkJCT8gU3ltYm9sOjpTRUdNRU5UX0VORAorCQkJCQk6IFN5bWJvbDo6U0VHTUVOVF9TVEFSVCksCisJCQkJICAgICAgIHRydWUpOwogICAgIH0KICAgdGhpcy0+dGxzX2Jhc2Vfc3ltYm9sX2RlZmluZWRfID0gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL2dwcm9mL0NoYW5nZUxvZyBiL2dwcm9mL0NoYW5nZUxvZwppbmRleCBiNzUwMDU4Li44NjY1MTQzIDEwMDY0NAotLS0gYS9ncHJvZi9DaGFuZ2VMb2cKKysrIGIvZ3Byb2YvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDgtMDktMjkgIFBldGVyIE8nR29ybWFuICA8cG9nbWFAdGhld3JpdHRlbndvcmQuY29tPgorCSAgICBTdGV2ZSBFbGxjZXkgIDxzamVAY3VwLmhwLmNvbT4KKworCSogY29uZmlndXJlOiBSZWdlbmVyYXRlIGZvciBuZXcgbGlidG9vbC4KKwkqIGFjbG9jYWwubTQ6IERpdHRvLgorCSogTWFrZWZpbGUuaW46IERpdHRvLgorCisyMDA4LTA5LTI5ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgorCisJKiBwby92aS5wbzogVXBkYXRlZCBWaWV0bmFtZXNlIHRyYW5zbGF0aW9uLgorCisyMDA4LTA5LTExICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogQ2FsbCBBQ19TWVNfTEFSR0VGSUxFLgorCSogZ2NvbmZpZy5pbjogUmVnZW5lcmF0ZS4KKwkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KKworMjAwOC0wOS0xMSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KKworCSogcG8vcm8ucG86IE5ldyBmaWxlLgorCiAyMDA4LTA4LTI1ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgogCiAJKiBnbW9uX2lvLmg6IERvbid0IGluY2x1ZGUgc3lzZGVwLmggaGVyZS4KZGlmZiAtLWdpdCBhL2dwcm9mL01ha2VmaWxlLmluIGIvZ3Byb2YvTWFrZWZpbGUuaW4KaW5kZXggYmZhZjQ4NS4uOThiNzAyMCAxMDA2NDQKLS0tIGEvZ3Byb2YvTWFrZWZpbGUuaW4KKysrIGIvZ3Byb2YvTWFrZWZpbGUuaW4KQEAgLTYwLDcgKzYwLDcgQEAKIAkkKHRvcF9zcmNkaXIpLy4uL2NvbmZpZy9wcm9ndGVzdC5tNCBcCiAJJCh0b3Bfc3JjZGlyKS8uLi9saWJ0b29sLm00ICQodG9wX3NyY2RpcikvLi4vbHRvcHRpb25zLm00IFwKIAkkKHRvcF9zcmNkaXIpLy4uL2x0c3VnYXIubTQgJCh0b3Bfc3JjZGlyKS8uLi9sdHZlcnNpb24ubTQgXAotCSQodG9wX3NyY2RpcikvY29uZmlndXJlLmluCisJJCh0b3Bfc3JjZGlyKS8uLi9sdH5vYnNvbGV0ZS5tNCAkKHRvcF9zcmNkaXIpL2NvbmZpZ3VyZS5pbgogYW1fX2NvbmZpZ3VyZV9kZXBzID0gJChhbV9fYWNsb2NhbF9tNF9kZXBzKSAkKENPTkZJR1VSRV9ERVBFTkRFTkNJRVMpIFwKIAkkKEFDTE9DQUxfTTQpCiBhbV9fQ09ORklHX0RJU1RDTEVBTl9GSUxFUyA9IGNvbmZpZy5zdGF0dXMgY29uZmlnLmNhY2hlIGNvbmZpZy5sb2cgXApAQCAtMTM5LDYgKzEzOSw3IEBACiBEQVRBRElSTkFNRSA9IEBEQVRBRElSTkFNRUAKIERFRlMgPSBAREVGU0AKIERFUERJUiA9IEBERVBESVJACitEU1lNVVRJTCA9IEBEU1lNVVRJTEAKIERVTVBCSU4gPSBARFVNUEJJTkAKIEVDSE9fQyA9IEBFQ0hPX0NACiBFQ0hPX04gPSBARUNIT19OQApAQCAtMTY0LDYgKzE2NSw3IEBACiBMSUJPQkpTID0gQExJQk9CSlNACiBMSUJTID0gQExJQlNACiBMSUJUT09MID0gQExJQlRPT0xACitMSVBPID0gQExJUE9ACiBMTl9TID0gQExOX1NACiBMVExJQk9CSlMgPSBATFRMSUJPQkpTQAogTUFJTlQgPSBATUFJTlRACkBAIC0xNzQsOCArMTc2LDEyIEBACiBNU0dGTVQgPSBATVNHRk1UQAogTVNHTUVSR0UgPSBATVNHTUVSR0VACiBOTSA9IEBOTUAKK05NRURJVCA9IEBOTUVESVRACiBOT19XRVJST1IgPSBATk9fV0VSUk9SQAorT0JKRFVNUCA9IEBPQkpEVU1QQAogT0JKRVhUID0gQE9CSkVYVEAKK09UT09MID0gQE9UT09MQAorT1RPT0w2NCA9IEBPVE9PTDY0QAogUEFDS0FHRSA9IEBQQUNLQUdFQAogUEFDS0FHRV9CVUdSRVBPUlQgPSBAUEFDS0FHRV9CVUdSRVBPUlRACiBQQUNLQUdFX05BTUUgPSBAUEFDS0FHRV9OQU1FQApAQCAtMTk1LDcgKzIwMSwxMyBAQAogWEdFVFRFWFQgPSBAWEdFVFRFWFRACiBhY19jdF9BUiA9IEBhY19jdF9BUkAKIGFjX2N0X0NDID0gQGFjX2N0X0NDQAorYWNfY3RfRFNZTVVUSUwgPSBAYWNfY3RfRFNZTVVUSUxACiBhY19jdF9EVU1QQklOID0gQGFjX2N0X0RVTVBCSU5ACithY19jdF9MSVBPID0gQGFjX2N0X0xJUE9ACithY19jdF9OTUVESVQgPSBAYWNfY3RfTk1FRElUQAorYWNfY3RfT0JKRFVNUCA9IEBhY19jdF9PQkpEVU1QQAorYWNfY3RfT1RPT0wgPSBAYWNfY3RfT1RPT0xACithY19jdF9PVE9PTDY0ID0gQGFjX2N0X09UT09MNjRACiBhY19jdF9SQU5MSUIgPSBAYWNfY3RfUkFOTElCQAogYWNfY3RfU1RSSVAgPSBAYWNfY3RfU1RSSVBACiBhbV9fZmFzdGRlcENDX0ZBTFNFID0gQGFtX19mYXN0ZGVwQ0NfRkFMU0VACmRpZmYgLS1naXQgYS9ncHJvZi9hY2xvY2FsLm00IGIvZ3Byb2YvYWNsb2NhbC5tNAppbmRleCBlOGQ2Y2U5Li4wZDY5M2ZmIDEwMDY0NAotLS0gYS9ncHJvZi9hY2xvY2FsLm00CisrKyBiL2dwcm9mL2FjbG9jYWwubTQKQEAgLTg3MCwzICs4NzAsNCBAQAogbTRfaW5jbHVkZShbLi4vbHRvcHRpb25zLm00XSkKIG00X2luY2x1ZGUoWy4uL2x0c3VnYXIubTRdKQogbTRfaW5jbHVkZShbLi4vbHR2ZXJzaW9uLm00XSkKK200X2luY2x1ZGUoWy4uL2x0fm9ic29sZXRlLm00XSkKZGlmZiAtLWdpdCBhL2dwcm9mL2NvbmZpZ3VyZSBiL2dwcm9mL2NvbmZpZ3VyZQppbmRleCAzNjkyODlmLi4wNWFkY2M2IDEwMDc1NQotLS0gYS9ncHJvZi9jb25maWd1cmUKKysrIGIvZ3Byb2YvY29uZmlndXJlCkBAIC00NTgsNyArNDU4LDcgQEAKICMgaW5jbHVkZSA8dW5pc3RkLmg+CiAjZW5kaWYiCiAKLWFjX3N1YnN0X3ZhcnM9J1NIRUxMIFBBVEhfU0VQQVJBVE9SIFBBQ0tBR0VfTkFNRSBQQUNLQUdFX1RBUk5BTUUgUEFDS0FHRV9WRVJTSU9OIFBBQ0tBR0VfU1RSSU5HIFBBQ0tBR0VfQlVHUkVQT1JUIGV4ZWNfcHJlZml4IHByZWZpeCBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lIGJpbmRpciBzYmluZGlyIGxpYmV4ZWNkaXIgZGF0YWRpciBzeXNjb25mZGlyIHNoYXJlZHN0YXRlZGlyIGxvY2Fsc3RhdGVkaXIgbGliZGlyIGluY2x1ZGVkaXIgb2xkaW5jbHVkZWRpciBpbmZvZGlyIG1hbmRpciBidWlsZF9hbGlhcyBob3N0X2FsaWFzIHRhcmdldF9hbGlhcyBERUZTIEVDSE9fQyBFQ0hPX04gRUNIT19UIExJQlMgYnVpbGQgYnVpbGRfY3B1IGJ1aWxkX3ZlbmRvciBidWlsZF9vcyBob3N0IGhvc3RfY3B1IGhvc3RfdmVuZG9yIGhvc3Rfb3MgdGFyZ2V0IHRhcmdldF9jcHUgdGFyZ2V0X3ZlbmRvciB0YXJnZXRfb3MgQ0MgQ0ZMQUdTIExERkxBR1MgQ1BQRkxBR1MgYWNfY3RfQ0MgRVhFRVhUIE9CSkVYVCBJTlNUQUxMX1BST0dSQU0gSU5TVEFMTF9TQ1JJUFQgSU5TVEFMTF9EQVRBIENZR1BBVEhfVyBQQUNLQUdFIFZFUlNJT04gQUNMT0NBTCBBVVRPQ09ORiBBVVRPTUFLRSBBVVRPSEVBREVSIE1BS0VJTkZPIGluc3RhbGxfc2ggU1RSSVAgYWNfY3RfU1RSSVAgSU5TVEFMTF9TVFJJUF9QUk9HUkFNIG1rZGlyX3AgQVdLIFNFVF9NQUtFIGFtX19sZWFkaW5nX2RvdCBBTVRBUiBhbV9fdGFyIGFtX191bnRhciBERVBESVIgYW1fX2luY2x1ZGUgYW1fX3F1b3RlIEFNREVQX1RSVUUgQU1ERVBfRkFMU0UgQU1ERVBCQUNLU0xBU0ggQ0NERVBNT0RFIGFtX19mYXN0ZGVwQ0NfVFJVRSBhbV9fZmFzdGRlcENDX0ZBTFNFIENQUCBFR1JFUCBMSUJUT09MIFNFRCBGR1JFUCBHUkVQIExEIERVTVBCSU4gYWNfY3RfRFVNUEJJTiBOTSBMTl9TIEFSIGFjX2N0X0FSIFJBTkxJQiBhY19jdF9SQU5MSUIgbHRfRUNITyBVU0VfTkxTIExJQklOVEwgTElCSU5UTF9ERVAgSU5DSU5UTCBYR0VUVEVYVCBHTVNHRk1UIFBPU1VCIENBVEFMT0dTIERBVEFESVJOQU1FIElOU1RPQkpFWFQgR0VOQ0FUIENBVE9CSkVYVCBNS0lOU1RBTExESVJTIE1TR0ZNVCBNU0dNRVJHRSBNQUlOVEFJTkVSX01PREVfVFJVRSBNQUlOVEFJTkVSX01PREVfRkFMU0UgTUFJTlQgR0VOSU5TUkNfTkVWRVJfVFJVRSBHRU5JTlNSQ19ORVZFUl9GQUxTRSBXQVJOX0NGTEFHUyBOT19XRVJST1IgZGF0YXJvb3RkaXIgZG9jZGlyIGh0bWxkaXIgTElCT0JKUyBMVExJQk9CSlMnCithY19zdWJzdF92YXJzPSdTSEVMTCBQQVRIX1NFUEFSQVRPUiBQQUNLQUdFX05BTUUgUEFDS0FHRV9UQVJOQU1FIFBBQ0tBR0VfVkVSU0lPTiBQQUNLQUdFX1NUUklORyBQQUNLQUdFX0JVR1JFUE9SVCBleGVjX3ByZWZpeCBwcmVmaXggcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSBiaW5kaXIgc2JpbmRpciBsaWJleGVjZGlyIGRhdGFkaXIgc3lzY29uZmRpciBzaGFyZWRzdGF0ZWRpciBsb2NhbHN0YXRlZGlyIGxpYmRpciBpbmNsdWRlZGlyIG9sZGluY2x1ZGVkaXIgaW5mb2RpciBtYW5kaXIgYnVpbGRfYWxpYXMgaG9zdF9hbGlhcyB0YXJnZXRfYWxpYXMgREVGUyBFQ0hPX0MgRUNIT19OIEVDSE9fVCBMSUJTIGJ1aWxkIGJ1aWxkX2NwdSBidWlsZF92ZW5kb3IgYnVpbGRfb3MgaG9zdCBob3N0X2NwdSBob3N0X3ZlbmRvciBob3N0X29zIHRhcmdldCB0YXJnZXRfY3B1IHRhcmdldF92ZW5kb3IgdGFyZ2V0X29zIENDIENGTEFHUyBMREZMQUdTIENQUEZMQUdTIGFjX2N0X0NDIEVYRUVYVCBPQkpFWFQgSU5TVEFMTF9QUk9HUkFNIElOU1RBTExfU0NSSVBUIElOU1RBTExfREFUQSBDWUdQQVRIX1cgUEFDS0FHRSBWRVJTSU9OIEFDTE9DQUwgQVVUT0NPTkYgQVVUT01BS0UgQVVUT0hFQURFUiBNQUtFSU5GTyBpbnN0YWxsX3NoIFNUUklQIGFjX2N0X1NUUklQIElOU1RBTExfU1RSSVBfUFJPR1JBTSBta2Rpcl9wIEFXSyBTRVRfTUFLRSBhbV9fbGVhZGluZ19kb3QgQU1UQVIgYW1fX3RhciBhbV9fdW50YXIgREVQRElSIGFtX19pbmNsdWRlIGFtX19xdW90ZSBBTURFUF9UUlVFIEFNREVQX0ZBTFNFIEFNREVQQkFDS1NMQVNIIENDREVQTU9ERSBhbV9fZmFzdGRlcENDX1RSVUUgYW1fX2Zhc3RkZXBDQ19GQUxTRSBDUFAgRUdSRVAgTElCVE9PTCBTRUQgRkdSRVAgR1JFUCBMRCBEVU1QQklOIGFjX2N0X0RVTVBCSU4gTk0gTE5fUyBPQkpEVU1QIGFjX2N0X09CSkRVTVAgQVIgYWNfY3RfQVIgUkFOTElCIGFjX2N0X1JBTkxJQiBsdF9FQ0hPIERTWU1VVElMIGFjX2N0X0RTWU1VVElMIE5NRURJVCBhY19jdF9OTUVESVQgTElQTyBhY19jdF9MSVBPIE9UT09MIGFjX2N0X09UT09MIE9UT09MNjQgYWNfY3RfT1RPT0w2NCBVU0VfTkxTIExJQklOVEwgTElCSU5UTF9ERVAgSU5DSU5UTCBYR0VUVEVYVCBHTVNHRk1UIFBPU1VCIENBVEFMT0dTIERBVEFESVJOQU1FIElOU1RPQkpFWFQgR0VOQ0FUIENBVE9CSkVYVCBNS0lOU1RBTExESVJTIE1TR0ZNVCBNU0dNRVJHRSBNQUlOVEFJTkVSX01PREVfVFJVRSBNQUlOVEFJTkVSX01PREVfRkFMU0UgTUFJTlQgR0VOSU5TUkNfTkVWRVJfVFJVRSBHRU5JTlNSQ19ORVZFUl9GQUxTRSBXQVJOX0NGTEFHUyBOT19XRVJST1IgZGF0YXJvb3RkaXIgZG9jZGlyIGh0bWxkaXIgTElCT0JKUyBMVExJQk9CSlMnCiBhY19zdWJzdF9maWxlcz0nJwogYWNfcHdkPWBwd2RgCiAKQEAgLTEwMDIsNiArMTAwMiw3IEBACiAgIC0tZW5hYmxlLUZFQVRVUkVbPUFSR10gIGluY2x1ZGUgRkVBVFVSRSBbQVJHPXllc10KICAgLS1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgIHNwZWVkcyB1cCBvbmUtdGltZSBidWlsZAogICAtLWVuYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nICAgZG8gbm90IHJlamVjdCBzbG93IGRlcGVuZGVuY3kgZXh0cmFjdG9ycworICAtLWRpc2FibGUtbGFyZ2VmaWxlICAgICBvbWl0IHN1cHBvcnQgZm9yIGxhcmdlIGZpbGVzCiAgIC0tZW5hYmxlLXNoYXJlZFs9UEtHU10KICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGQgc2hhcmVkIGxpYnJhcmllcyBbZGVmYXVsdD15ZXNdCiAgIC0tZW5hYmxlLXN0YXRpY1s9UEtHU10KQEAgLTQ3MzIsNiArNDczMywzNzAgQEAKIF9BQ0VPRgogCiAKKyMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1sYXJnZWZpbGUgb3IgLS1kaXNhYmxlLWxhcmdlZmlsZSB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9sYXJnZWZpbGUrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZW5hYmxldmFsPSIkZW5hYmxlX2xhcmdlZmlsZSIKKworZmk7CitpZiB0ZXN0ICIkZW5hYmxlX2xhcmdlZmlsZSIgIT0gbm87IHRoZW4KKworICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIHNwZWNpYWwgQyBjb21waWxlciBvcHRpb25zIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3Igc3BlY2lhbCBDIGNvbXBpbGVyIG9wdGlvbnMgbmVlZGVkIGZvciBsYXJnZSBmaWxlcy4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3Zfc3lzX2xhcmdlZmlsZV9DQytzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBhY19jdl9zeXNfbGFyZ2VmaWxlX0NDPW5vCisgICAgIGlmIHRlc3QgIiRHQ0MiICE9IHllczsgdGhlbgorICAgICAgIGFjX3NhdmVfQ0M9JENDCisgICAgICAgd2hpbGUgOjsgZG8KKyAgICAgCSAjIElSSVggNi4yIGFuZCBsYXRlciBkbyBub3Qgc3VwcG9ydCBsYXJnZSBmaWxlcyBieSBkZWZhdWx0LAorICAgICAJICMgc28gdXNlIHRoZSBDIGNvbXBpbGVyJ3MgLW4zMiBvcHRpb24gaWYgdGhhdCBoZWxwcy4KKwkgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBjb25mZGVmcy5oLiAgKi8KK19BQ0VPRgorY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CitjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgLyogQ2hlY2sgdGhhdCBvZmZfdCBjYW4gcmVwcmVzZW50IDIqKjYzIC0gMSBjb3JyZWN0bHkuCisgICAgV2UgY2FuJ3Qgc2ltcGx5IGRlZmluZSBMQVJHRV9PRkZfVCB0byBiZSA5MjIzMzcyMDM2ODU0Nzc1ODA3LAorICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBjb21waWxlcnMKKyAgICBpbmNvcnJlY3RseSByZWplY3QgOTIyMzM3MjAzNjg1NDc3NTgwNy4gICovCisjZGVmaW5lIExBUkdFX09GRl9UICgoKG9mZl90KSAxIDw8IDYyKSAtIDEgKyAoKG9mZl90KSAxIDw8IDYyKSkKKyAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCisJCSAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKKwkJICAgICAgPyAxIDogLTFdOworaW50CittYWluICgpCit7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorICAgICAJIHJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKK2lmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorICAoZXZhbCAkYWNfY29tcGlsZSkgMj5jb25mdGVzdC5lcjEKKyAgYWNfc3RhdHVzPSQ/CisgIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCisgIHJtIC1mIGNvbmZ0ZXN0LmVyMQorICBjYXQgY29uZnRlc3QuZXJyID4mNQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC16ICIkYWNfY193ZXJyb3JfZmxhZyIKKwkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyJworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKyAgYnJlYWsKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworZmkKK3JtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0CisgICAgIAkgQ0M9IiRDQyAtbjMyIgorICAgICAJIHJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKK2lmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorICAoZXZhbCAkYWNfY29tcGlsZSkgMj5jb25mdGVzdC5lcjEKKyAgYWNfc3RhdHVzPSQ/CisgIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCisgIHJtIC1mIGNvbmZ0ZXN0LmVyMQorICBjYXQgY29uZnRlc3QuZXJyID4mNQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC16ICIkYWNfY193ZXJyb3JfZmxhZyIKKwkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyJworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKyAgYWNfY3Zfc3lzX2xhcmdlZmlsZV9DQz0nIC1uMzInOyBicmVhaworZWxzZQorICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQKKwkgYnJlYWsKKyAgICAgICBkb25lCisgICAgICAgQ0M9JGFjX3NhdmVfQ0MKKyAgICAgICBybSAtZiBjb25mdGVzdC4kYWNfZXh0CisgICAgZmkKK2ZpCitlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3Zfc3lzX2xhcmdlZmlsZV9DQyIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3Zfc3lzX2xhcmdlZmlsZV9DQyIgPiY2CisgIGlmIHRlc3QgIiRhY19jdl9zeXNfbGFyZ2VmaWxlX0NDIiAhPSBubzsgdGhlbgorICAgIENDPSRDQyRhY19jdl9zeXNfbGFyZ2VmaWxlX0NDCisgIGZpCisKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBfRklMRV9PRkZTRVRfQklUUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIF9GSUxFX09GRlNFVF9CSVRTIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3N5c19maWxlX29mZnNldF9iaXRzK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIHdoaWxlIDo7IGRvCisgIGFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzPW5vCisgIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogY29uZmRlZnMuaC4gICovCitfQUNFT0YKK2NhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIC8qIENoZWNrIHRoYXQgb2ZmX3QgY2FuIHJlcHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5LgorICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKKyAgICBzaW5jZSBzb21lIEMrKyBjb21waWxlcnMgbWFzcXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCisgICAgaW5jb3JyZWN0bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLworI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCisgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQorCQkgICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCisJCSAgICAgID8gMSA6IC0xXTsKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK3JtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKK2lmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorICAoZXZhbCAkYWNfY29tcGlsZSkgMj5jb25mdGVzdC5lcjEKKyAgYWNfc3RhdHVzPSQ/CisgIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCisgIHJtIC1mIGNvbmZ0ZXN0LmVyMQorICBjYXQgY29uZnRlc3QuZXJyID4mNQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC16ICIkYWNfY193ZXJyb3JfZmxhZyIKKwkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyJworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKyAgYnJlYWsKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworZmkKK3JtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKyAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBjb25mZGVmcy5oLiAgKi8KK19BQ0VPRgorY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CitjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgLyogQ2hlY2sgdGhhdCBvZmZfdCBjYW4gcmVwcmVzZW50IDIqKjYzIC0gMSBjb3JyZWN0bHkuCisgICAgV2UgY2FuJ3Qgc2ltcGx5IGRlZmluZSBMQVJHRV9PRkZfVCB0byBiZSA5MjIzMzcyMDM2ODU0Nzc1ODA3LAorICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBjb21waWxlcnMKKyAgICBpbmNvcnJlY3RseSByZWplY3QgOTIyMzM3MjAzNjg1NDc3NTgwNy4gICovCisjZGVmaW5lIExBUkdFX09GRl9UICgoKG9mZl90KSAxIDw8IDYyKSAtIDEgKyAoKG9mZl90KSAxIDw8IDYyKSkKKyAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCisJCSAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKKwkJICAgICAgPyAxIDogLTFdOworaW50CittYWluICgpCit7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CisgIChldmFsICRhY19jb21waWxlKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorICBhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cz02NDsgYnJlYWsKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworZmkKK3JtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKyAgYnJlYWsKK2RvbmUKK2ZpCitlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHMiID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzIiA+JjYKK2lmIHRlc3QgIiRhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cyIgIT0gbm87IHRoZW4KKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyAkYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHMKK19BQ0VPRgorCitmaQorcm0gLWYgY29uZnRlc3QqCisgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgX0xBUkdFX0ZJTEVTIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgX0xBUkdFX0ZJTEVTIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3N5c19sYXJnZV9maWxlcytzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICB3aGlsZSA6OyBkbworICBhY19jdl9zeXNfbGFyZ2VfZmlsZXM9bm8KKyAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBjb25mZGVmcy5oLiAgKi8KK19BQ0VPRgorY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CitjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgLyogQ2hlY2sgdGhhdCBvZmZfdCBjYW4gcmVwcmVzZW50IDIqKjYzIC0gMSBjb3JyZWN0bHkuCisgICAgV2UgY2FuJ3Qgc2ltcGx5IGRlZmluZSBMQVJHRV9PRkZfVCB0byBiZSA5MjIzMzcyMDM2ODU0Nzc1ODA3LAorICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBjb21waWxlcnMKKyAgICBpbmNvcnJlY3RseSByZWplY3QgOTIyMzM3MjAzNjg1NDc3NTgwNy4gICovCisjZGVmaW5lIExBUkdFX09GRl9UICgoKG9mZl90KSAxIDw8IDYyKSAtIDEgKyAoKG9mZl90KSAxIDw8IDYyKSkKKyAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCisJCSAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKKwkJICAgICAgPyAxIDogLTFdOworaW50CittYWluICgpCit7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CisgIChldmFsICRhY19jb21waWxlKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorICBicmVhaworZWxzZQorICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGNvbmZkZWZzLmguICAqLworX0FDRU9GCitjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK2NhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4KKyAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCisgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycworICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KKyNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQorICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKKwkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQorCQkgICAgICA/IDEgOiAtMV07CitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGFjX2N2X3N5c19sYXJnZV9maWxlcz0xOyBicmVhaworZWxzZQorICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorICBicmVhaworZG9uZQorZmkKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9zeXNfbGFyZ2VfZmlsZXMiID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N2X3N5c19sYXJnZV9maWxlcyIgPiY2CitpZiB0ZXN0ICIkYWNfY3Zfc3lzX2xhcmdlX2ZpbGVzIiAhPSBubzsgdGhlbgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIF9MQVJHRV9GSUxFUyAkYWNfY3Zfc3lzX2xhcmdlX2ZpbGVzCitfQUNFT0YKKworZmkKK3JtIC1mIGNvbmZ0ZXN0KgorZmkKKwogIyBGaW5kIGEgZ29vZCBpbnN0YWxsIHByb2dyYW0uICBXZSBwcmVmZXIgYSBDIHByb2dyYW0gKGZhc3RlciksCiAjIHNvIG9uZSBzY3JpcHQgaXMgYXMgZ29vZCBhcyBhbm90aGVyLiAgQnV0IGF2b2lkIHRoZSBicm9rZW4gb3IKICMgaW5jb21wYXRpYmxlIHZlcnNpb25zOgpAQCAtNDgyNCwxMCArNTE4OSwxNyBAQAogdGVzdCAteiAiJElOU1RBTExfREFUQSIgJiYgSU5TVEFMTF9EQVRBPScke0lOU1RBTEx9IC1tIDY0NCcKIAogCitjYXNlIGBwd2RgIGluCisgICpcICogfCAqXAkqKQorICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IExpYnRvb2wgZG9lcyBub3QgY29wZSB3ZWxsIHdpdGggd2hpdGVzcGFjZSBpbiBcYHB3ZFxgIiA+JjUKK2VjaG8gIiRhc19tZTogV0FSTklORzogTGlidG9vbCBkb2VzIG5vdCBjb3BlIHdlbGwgd2l0aCB3aGl0ZXNwYWNlIGluIFxgcHdkXGAiID4mMjt9IDs7Citlc2FjCiAKIAotbWFjcm9fdmVyc2lvbj0nMi4xYScKLW1hY3JvX3JldmlzaW9uPScxLjI0MzUnCisKK21hY3JvX3ZlcnNpb249JzIuMi42JworbWFjcm9fcmV2aXNpb249JzEuMzAxMicKKwogCiAKIApAQCAtNDg0MiwxMjQgKzUyMTQsNiBAQAogCiBsdG1haW49IiRhY19hdXhfZGlyL2x0bWFpbi5zaCIKIAotIyBTZXQgb3B0aW9ucwotCi1lbmFibGVfZGxvcGVuPW5vCi0KLQotZW5hYmxlX3dpbjMyX2RsbD1ubwotCi0KLSMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1zaGFyZWQgb3IgLS1kaXNhYmxlLXNoYXJlZCB3YXMgZ2l2ZW4uCi1pZiB0ZXN0ICIke2VuYWJsZV9zaGFyZWQrc2V0fSIgPSBzZXQ7IHRoZW4KLSAgZW5hYmxldmFsPSIkZW5hYmxlX3NoYXJlZCIKLSAgcD0ke1BBQ0tBR0UtZGVmYXVsdH0KLSAgICBjYXNlICRlbmFibGV2YWwgaW4KLSAgICB5ZXMpIGVuYWJsZV9zaGFyZWQ9eWVzIDs7Ci0gICAgbm8pIGVuYWJsZV9zaGFyZWQ9bm8gOzsKLSAgICAqKQotICAgICAgZW5hYmxlX3NoYXJlZD1ubwotICAgICAgIyBMb29rIGF0IHRoZSBhcmd1bWVudCB3ZSBnb3QuICBXZSB1c2UgYWxsIHRoZSBjb21tb24gbGlzdCBzZXBhcmF0b3JzLgotICAgICAgbHRfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSRQQVRIX1NFUEFSQVRPUiwiCi0gICAgICBmb3IgcGtnIGluICRlbmFibGV2YWw7IGRvCi0JSUZTPSIkbHRfc2F2ZV9pZnMiCi0JaWYgdGVzdCAiWCRwa2ciID0gIlgkcCI7IHRoZW4KLQkgIGVuYWJsZV9zaGFyZWQ9eWVzCi0JZmkKLSAgICAgIGRvbmUKLSAgICAgIElGUz0iJGx0X3NhdmVfaWZzIgotICAgICAgOzsKLSAgICBlc2FjCi1lbHNlCi0gIGVuYWJsZV9zaGFyZWQ9eWVzCi1maTsKLQotCi0KLQotCi0KLQotCi0jIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtc3RhdGljIG9yIC0tZGlzYWJsZS1zdGF0aWMgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVfc3RhdGljK3NldH0iID0gc2V0OyB0aGVuCi0gIGVuYWJsZXZhbD0iJGVuYWJsZV9zdGF0aWMiCi0gIHA9JHtQQUNLQUdFLWRlZmF1bHR9Ci0gICAgY2FzZSAkZW5hYmxldmFsIGluCi0gICAgeWVzKSBlbmFibGVfc3RhdGljPXllcyA7OwotICAgIG5vKSBlbmFibGVfc3RhdGljPW5vIDs7Ci0gICAgKikKLSAgICAgZW5hYmxlX3N0YXRpYz1ubwotICAgICAgIyBMb29rIGF0IHRoZSBhcmd1bWVudCB3ZSBnb3QuICBXZSB1c2UgYWxsIHRoZSBjb21tb24gbGlzdCBzZXBhcmF0b3JzLgotICAgICAgbHRfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSRQQVRIX1NFUEFSQVRPUiwiCi0gICAgICBmb3IgcGtnIGluICRlbmFibGV2YWw7IGRvCi0JSUZTPSIkbHRfc2F2ZV9pZnMiCi0JaWYgdGVzdCAiWCRwa2ciID0gIlgkcCI7IHRoZW4KLQkgIGVuYWJsZV9zdGF0aWM9eWVzCi0JZmkKLSAgICAgIGRvbmUKLSAgICAgIElGUz0iJGx0X3NhdmVfaWZzIgotICAgICAgOzsKLSAgICBlc2FjCi1lbHNlCi0gIGVuYWJsZV9zdGF0aWM9eWVzCi1maTsKLQotCi0KLQotCi0KLQotCi0KLSMgQ2hlY2sgd2hldGhlciAtLXdpdGgtcGljIG9yIC0td2l0aG91dC1waWMgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHt3aXRoX3BpYytzZXR9IiA9IHNldDsgdGhlbgotICB3aXRodmFsPSIkd2l0aF9waWMiCi0gIHBpY19tb2RlPSIkd2l0aHZhbCIKLWVsc2UKLSAgcGljX21vZGU9ZGVmYXVsdAotZmk7Ci0KLXRlc3QgLXogIiRwaWNfbW9kZSIgJiYgcGljX21vZGU9ZGVmYXVsdAotCi0KLQotCi0KLQotCi0jIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtZmFzdC1pbnN0YWxsIG9yIC0tZGlzYWJsZS1mYXN0LWluc3RhbGwgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVfZmFzdF9pbnN0YWxsK3NldH0iID0gc2V0OyB0aGVuCi0gIGVuYWJsZXZhbD0iJGVuYWJsZV9mYXN0X2luc3RhbGwiCi0gIHA9JHtQQUNLQUdFLWRlZmF1bHR9Ci0gICAgY2FzZSAkZW5hYmxldmFsIGluCi0gICAgeWVzKSBlbmFibGVfZmFzdF9pbnN0YWxsPXllcyA7OwotICAgIG5vKSBlbmFibGVfZmFzdF9pbnN0YWxsPW5vIDs7Ci0gICAgKikKLSAgICAgIGVuYWJsZV9mYXN0X2luc3RhbGw9bm8KLSAgICAgICMgTG9vayBhdCB0aGUgYXJndW1lbnQgd2UgZ290LiAgV2UgdXNlIGFsbCB0aGUgY29tbW9uIGxpc3Qgc2VwYXJhdG9ycy4KLSAgICAgIGx0X3NhdmVfaWZzPSIkSUZTIjsgSUZTPSIke0lGU30kUEFUSF9TRVBBUkFUT1IsIgotICAgICAgZm9yIHBrZyBpbiAkZW5hYmxldmFsOyBkbwotCUlGUz0iJGx0X3NhdmVfaWZzIgotCWlmIHRlc3QgIlgkcGtnIiA9ICJYJHAiOyB0aGVuCi0JICBlbmFibGVfZmFzdF9pbnN0YWxsPXllcwotCWZpCi0gICAgICBkb25lCi0gICAgICBJRlM9IiRsdF9zYXZlX2lmcyIKLSAgICAgIDs7Ci0gICAgZXNhYwotZWxzZQotICBlbmFibGVfZmFzdF9pbnN0YWxsPXllcwotZmk7Ci0KLQotCi0KLQotCi0KLQogZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dCIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dC4uLiAkRUNIT19DIiA+JjYKIGlmIHRlc3QgIiR7bHRfY3ZfcGF0aF9TRUQrc2V0fSIgPSBzZXQ7IHRoZW4KQEAgLTUxODAsNyArNTQzNCw2IEBACiAKIAogCi0KIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgQlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSkiID4mNQogZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgQlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSkuLi4gJEVDSE9fQyIgPiY2CiBpZiB0ZXN0ICIke2x0X2N2X3BhdGhfTk0rc2V0fSIgPSBzZXQ7IHRoZW4KQEAgLTUzNDIsMTMgKzU1OTUsMTMgQEAKIGVsc2UKICAgbHRfY3Zfbm1faW50ZXJmYWNlPSJCU0Qgbm0iCiAgIGVjaG8gImludCBzb21lX3ZhcmlhYmxlID0gMDsiID4gY29uZnRlc3QuJGFjX2V4dAotICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NTM0NTogJGFjX2NvbXBpbGVcIiIgPiY1KQorICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NTU5ODogJGFjX2NvbXBpbGVcIiIgPiY1KQogICAoZXZhbCAiJGFjX2NvbXBpbGUiIDI+Y29uZnRlc3QuZXJyKQogICBjYXQgY29uZnRlc3QuZXJyID4mNQotICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NTM0ODogJE5NIFxcXCJjb25mdGVzdC4kYWNfb2JqZXh0XFxcIlwiIiA+JjUpCisgIChldmFsIGVjaG8gIlwiXCRhc19tZTo1NjAxOiAkTk0gXFxcImNvbmZ0ZXN0LiRhY19vYmpleHRcXFwiXCIiID4mNSkKICAgKGV2YWwgIiROTSBcImNvbmZ0ZXN0LiRhY19vYmpleHRcIiIgMj5jb25mdGVzdC5lcnIgPiBjb25mdGVzdC5vdXQpCiAgIGNhdCBjb25mdGVzdC5lcnIgPiY1Ci0gIChldmFsIGVjaG8gIlwiXCRhc19tZTo1MzUxOiBvdXRwdXRcIiIgPiY1KQorICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NTYwNDogb3V0cHV0XCIiID4mNSkKICAgY2F0IGNvbmZ0ZXN0Lm91dCA+JjUKICAgaWYgJEdSRVAgJ0V4dGVybmFsLipzb21lX3ZhcmlhYmxlJyBjb25mdGVzdC5vdXQgPiAvZGV2L251bGw7IHRoZW4KICAgICBsdF9jdl9ubV9pbnRlcmZhY2U9Ik1TIGR1bXBiaW4iCkBAIC01Mzk0LDcgKzU2NDcsNyBAQAogICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj0tMTsKICAgICA7OwogCi0gIGN5Z3dpbiogfCBtaW5ndyopCisgIGN5Z3dpbiogfCBtaW5ndyogfCBjZWdjYyopCiAgICAgIyBPbiBXaW45eC9NRSwgdGhpcyB0ZXN0IGJsb3dzIHVwIC0tIGl0IHN1Y2NlZWRzLCBidXQgdGFrZXMKICAgICAjIGFib3V0IDUgbWludXRlcyBhcyB0aGUgdGVzdHN0cmluZyBncm93cyBleHBvbmVudGlhbGx5LgogICAgICMgV29yc2UsIHNpbmNlIDl4L01FIGFyZSBub3QgcHJlLWVtcHRpdmVseSBtdWx0aXRhc2tpbmcsCkBAIC01NDU1LDggKzU3MDgsOCBAQAogICAgIGZpCiAgICAgOzsKICAgKikKLSAgICBsdF9jdl9zeXNfbWF4X2NtZF9sZW49YGdldGNvbmYgQVJHX01BWCAyPiAvZGV2L251bGxgCi0gICAgaWYgdGVzdCAtbiAkbHRfY3Zfc3lzX21heF9jbWRfbGVuOyB0aGVuCisgICAgbHRfY3Zfc3lzX21heF9jbWRfbGVuPWAoZ2V0Y29uZiBBUkdfTUFYKSAyPiAvZGV2L251bGxgCisgICAgaWYgdGVzdCAtbiAiJGx0X2N2X3N5c19tYXhfY21kX2xlbiI7IHRoZW4KICAgICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj1gZXhwciAkbHRfY3Zfc3lzX21heF9jbWRfbGVuIFwvIDRgCiAgICAgICBsdF9jdl9zeXNfbWF4X2NtZF9sZW49YGV4cHIgJGx0X2N2X3N5c19tYXhfY21kX2xlbiBcKiAzYAogICAgIGVsc2UKQEAgLTU1MDMsNyArNTc1Niw2IEBACiAKIAogCi0KIDogJHtDUD0iY3AgLWYifQogOiAke01WPSJtdiAtZiJ9CiA6ICR7Uk09InJtIC1mIn0KQEAgLTU1MTQsNyArNTc2Niw5IEBACiB4c2lfc2hlbGw9bm8KICggX2x0X2R1bW15PSJhL2IvYyIKICAgdGVzdCAiJHtfbHRfZHVtbXkjIyovfSwke19sdF9kdW1teSUvKn0sIiR7X2x0X2R1bW15JSIkX2x0X2R1bW15In0sIFwKLSAgICAgID0gYyxhL2IsLCApID4vZGV2L251bGwgMj4mMSBcCisgICAgICA9IGMsYS9iLCwgXAorICAgICYmIGV2YWwgJ3Rlc3QgJCgoIDEgKyAxICkpIC1lcSAyIFwKKyAgICAmJiB0ZXN0ICIkeyNfbHRfZHVtbXl9IiAtZXEgNScgKSA+L2Rldi9udWxsIDI+JjEgXAogICAmJiB4c2lfc2hlbGw9eWVzCiBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkeHNpX3NoZWxsIiA+JjUKIGVjaG8gIiR7RUNIT19UfSR4c2lfc2hlbGwiID4mNgpAQCAtNTU5NCw2ICs1ODQ4LDk1IEBACiAKIAogCitpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1vYmpkdW1wIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW9iamR1bXA7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfT0JKRFVNUCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkT0JKRFVNUCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19PQkpEVU1QPSIkT0JKRFVNUCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfT0JKRFVNUD0iJHthY190b29sX3ByZWZpeH1vYmpkdW1wIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKK2ZpCitmaQorT0JKRFVNUD0kYWNfY3ZfcHJvZ19PQkpEVU1QCitpZiB0ZXN0IC1uICIkT0JKRFVNUCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJE9CSkRVTVAiID4mNQorZWNobyAiJHtFQ0hPX1R9JE9CSkRVTVAiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfT0JKRFVNUCI7IHRoZW4KKyAgYWNfY3RfT0JKRFVNUD0kT0JKRFVNUAorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9iamR1bXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG9iamR1bXA7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfT0JKRFVNUCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9PQkpEVU1QPSIkYWNfY3RfT0JKRFVNUCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUD0ib2JqZHVtcCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCisgIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X09CSkRVTVAiICYmIGFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUD0iZmFsc2UiCitmaQorZmkKK2FjX2N0X09CSkRVTVA9JGFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUAoraWYgdGVzdCAtbiAiJGFjX2N0X09CSkRVTVAiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9PQkpEVU1QIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdF9PQkpEVU1QIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBPQkpEVU1QPSRhY19jdF9PQkpEVU1QCitlbHNlCisgIE9CSkRVTVA9IiRhY19jdl9wcm9nX09CSkRVTVAiCitmaQorCit0ZXN0IC16ICIkT0JKRFVNUCIgJiYgT0JKRFVNUD1vYmpkdW1wCisKKworCisKKworCisKKwogCiBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgaG93IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVzIiA+JjUKIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgaG93IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVzLi4uICRFQ0hPX0MiID4mNgpAQCAtNTY0OCw2ICs1OTkxLDEyIEBACiAgIGZpCiAgIDs7CiAKK2NlZ2NjKQorICAjIHVzZSB0aGUgd2Vha2VyIHRlc3QgYmFzZWQgb24gJ29iamR1bXAnLiBTZWUgbWluZ3cqLgorICBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD0nZmlsZV9tYWdpYyBmaWxlIGZvcm1hdCBwZS1hcm0tLipsaXR0bGUoLiphcmNoaXRlY3R1cmU6IGFybSk/JworICBsdF9jdl9maWxlX21hZ2ljX2NtZD0nJE9CSkRVTVAgLWYnCisgIDs7CisKIGRhcndpbiogfCByaGFwc29keSopCiAgIGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kPXBhc3NfYWxsCiAgIDs7CkBAIC02MDcwLDcgKzY0MTksNyBAQAogCiAKICMgRGV0ZXJtaW5lIGNvbW1hbmRzIHRvIGNyZWF0ZSBvbGQtc3R5bGUgc3RhdGljIGFyY2hpdmVzLgotb2xkX2FyY2hpdmVfY21kcz0nJEFSICRBUl9GTEFHUyAkb2xkbGliJG9sZG9ianMkb2xkX2RlcGxpYnMnCitvbGRfYXJjaGl2ZV9jbWRzPSckQVIgJEFSX0ZMQUdTICRvbGRsaWIkb2xkb2JqcycKIG9sZF9wb3N0aW5zdGFsbF9jbWRzPSdjaG1vZCA2NDQgJG9sZGxpYicKIG9sZF9wb3N0dW5pbnN0YWxsX2NtZHM9CiAKQEAgLTYxNTAsNyArNjQ5OSw3IEBACiBhaXgqKQogICBzeW1jb2RlPSdbQkNEVF0nCiAgIDs7Ci1jeWd3aW4qIHwgbWluZ3cqIHwgcHczMiopCitjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgIHN5bWNvZGU9J1tBQkNER0lTVFddJwogICA7OwogaHB1eCopCkBAIC02MTk0LDYgKzY1NDMsNyBAQAogCiAjIFRyYW5zZm9ybSBhbiBleHRyYWN0ZWQgc3ltYm9sIGxpbmUgaW50byBzeW1ib2wgbmFtZSBhbmQgc3ltYm9sIGFkZHJlc3MKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSJzZWQgLW4gLWUgJ3MvXjogXChbXiBdKlwpICQvICB7XFxcIlwxXFxcIiwgKHZvaWQgKikgMH0sL3AnIC1lICdzL14kc3ltY29kZSogXChbXiBdKlwpIFwoW14gXSpcKSQvICB7XCJcMlwiLCAodm9pZCAqKSBcJlwyfSwvcCciCitsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSJzZWQgLW4gLWUgJ3MvXjogXChbXiBdKlwpICQvICB7XFxcIlwxXFxcIiwgKHZvaWQgKikgMH0sL3AnIC1lICdzL14kc3ltY29kZSogXChbXiBdKlwpIFwobGliW14gXSpcKSQvICB7XCJcMlwiLCAodm9pZCAqKSBcJlwyfSwvcCcgLWUgJ3MvXiRzeW1jb2RlKiBcKFteIF0qXCkgXChbXiBdKlwpJC8gIHtcImxpYlwyXCIsICh2b2lkICopIFwmXDJ9LC9wJyIKIAogIyBIYW5kbGUgQ1JMRiBpbiBtaW5ndyB0b29sIGNoYWluCiBvcHRfY3I9CkBAIC02MzMzLDcgKzY2ODMsNyBAQAogICAgIGVjaG8gIiRwcm9nbmFtZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CiAgICAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CiAgIGZpCi0gIHJtIC1mIGNvbmZ0ZXN0KiBjb25mdHN0KgorICBybSAtcmYgY29uZnRlc3QqIGNvbmZ0c3QqCiAKICAgIyBEbyBub3QgdXNlIHRoZSBnbG9iYWxfc3ltYm9sX3BpcGUgdW5sZXNzIGl0IHdvcmtzLgogICBpZiB0ZXN0ICIkcGlwZV93b3JrcyIgPSB5ZXM7IHRoZW4KQEAgLTYzNzIsNiArNjcyMiwxMSBAQAogCiAKIAorCisKKworCisKICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1saWJ0b29sLWxvY2sgb3IgLS1kaXNhYmxlLWxpYnRvb2wtbG9jayB3YXMgZ2l2ZW4uCiBpZiB0ZXN0ICIke2VuYWJsZV9saWJ0b29sX2xvY2src2V0fSIgPSBzZXQ7IHRoZW4KICAgZW5hYmxldmFsPSIkZW5hYmxlX2xpYnRvb2xfbG9jayIKQEAgLTY0MDMsNyArNjc1OCw3IEBACiAgIDs7CiAqLSotaXJpeDYqKQogICAjIEZpbmQgb3V0IHdoaWNoIEFCSSB3ZSBhcmUgdXNpbmcuCi0gIGVjaG8gJyNsaW5lIDY0MDYgImNvbmZpZ3VyZSInID4gY29uZnRlc3QuJGFjX2V4dAorICBlY2hvICcjbGluZSA2NzYxICJjb25maWd1cmUiJyA+IGNvbmZ0ZXN0LiRhY19leHQKICAgaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CiAgIChldmFsICRhY19jb21waWxlKSAyPiY1CiAgIGFjX3N0YXR1cz0kPwpAQCAtNjU3OCw3ICs2OTMzLDExIEBACiAgICAgKjY0LWJpdCopCiAgICAgICBjYXNlICRsdF9jdl9wcm9nX2dudV9sZCBpbgogICAgICAgeWVzKikgTEQ9IiR7TEQtbGR9IC1tIGVsZjY0X3NwYXJjIiA7OwotICAgICAgKikgICAgTEQ9IiR7TEQtbGR9IC02NCIgOzsKKyAgICAgICopCisJaWYgJHtMRC1sZH0gLTY0IC1yIC1vIGNvbmZ0ZXN0Mi5vIGNvbmZ0ZXN0Lm8gPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJICBMRD0iJHtMRC1sZH0gLTY0IgorCWZpCisJOzsKICAgICAgIGVzYWMKICAgICAgIDs7CiAgICAgZXNhYwpAQCAtNjU5MCw2ICs2OTQ5LDU1OSBAQAogbmVlZF9sb2Nrcz0iJGVuYWJsZV9saWJ0b29sX2xvY2siCiAKIAorICBjYXNlICRob3N0X29zIGluCisgICAgcmhhcHNvZHkqIHwgZGFyd2luKikKKyAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1kc3ltdXRpbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1kc3ltdXRpbDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19EU1lNVVRJTCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkRFNZTVVUSUwiOyB0aGVuCisgIGFjX2N2X3Byb2dfRFNZTVVUSUw9IiREU1lNVVRJTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfRFNZTVVUSUw9IiR7YWNfdG9vbF9wcmVmaXh9ZHN5bXV0aWwiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitEU1lNVVRJTD0kYWNfY3ZfcHJvZ19EU1lNVVRJTAoraWYgdGVzdCAtbiAiJERTWU1VVElMIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkRFNZTVVUSUwiID4mNQorZWNobyAiJHtFQ0hPX1R9JERTWU1VVElMIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworZmkKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX0RTWU1VVElMIjsgdGhlbgorICBhY19jdF9EU1lNVVRJTD0kRFNZTVVUSUwKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJkc3ltdXRpbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgZHN5bXV0aWw7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfRFNZTVVUSUwrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X0RTWU1VVElMIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMPSIkYWNfY3RfRFNZTVVUSUwiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMPSJkc3ltdXRpbCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCisgIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMIiAmJiBhY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMPSI6IgorZmkKK2ZpCithY19jdF9EU1lNVVRJTD0kYWNfY3ZfcHJvZ19hY19jdF9EU1lNVVRJTAoraWYgdGVzdCAtbiAiJGFjX2N0X0RTWU1VVElMIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfRFNZTVVUSUwiID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N0X0RTWU1VVElMIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBEU1lNVVRJTD0kYWNfY3RfRFNZTVVUSUwKK2Vsc2UKKyAgRFNZTVVUSUw9IiRhY19jdl9wcm9nX0RTWU1VVElMIgorZmkKKworICAgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW5tZWRpdCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1ubWVkaXQ7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfTk1FRElUK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiROTUVESVQiOyB0aGVuCisgIGFjX2N2X3Byb2dfTk1FRElUPSIkTk1FRElUIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19OTUVESVQ9IiR7YWNfdG9vbF9wcmVmaXh9bm1lZGl0IgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKK2ZpCitmaQorTk1FRElUPSRhY19jdl9wcm9nX05NRURJVAoraWYgdGVzdCAtbiAiJE5NRURJVCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJE5NRURJVCIgPiY1CitlY2hvICIke0VDSE9fVH0kTk1FRElUIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworZmkKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX05NRURJVCI7IHRoZW4KKyAgYWNfY3RfTk1FRElUPSROTUVESVQKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJubWVkaXQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG5tZWRpdDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9OTUVESVQrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X05NRURJVCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9OTUVESVQ9IiRhY19jdF9OTUVESVQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X05NRURJVD0ibm1lZGl0IgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfTk1FRElUIiAmJiBhY19jdl9wcm9nX2FjX2N0X05NRURJVD0iOiIKK2ZpCitmaQorYWNfY3RfTk1FRElUPSRhY19jdl9wcm9nX2FjX2N0X05NRURJVAoraWYgdGVzdCAtbiAiJGFjX2N0X05NRURJVCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X05NRURJVCIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3RfTk1FRElUIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBOTUVESVQ9JGFjX2N0X05NRURJVAorZWxzZQorICBOTUVESVQ9IiRhY19jdl9wcm9nX05NRURJVCIKK2ZpCisKKyAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1saXBvIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWxpcG87IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfTElQTytzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkTElQTyI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19MSVBPPSIkTElQTyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfTElQTz0iJHthY190b29sX3ByZWZpeH1saXBvIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKK2ZpCitmaQorTElQTz0kYWNfY3ZfcHJvZ19MSVBPCitpZiB0ZXN0IC1uICIkTElQTyI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJExJUE8iID4mNQorZWNobyAiJHtFQ0hPX1R9JExJUE8iID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfTElQTyI7IHRoZW4KKyAgYWNfY3RfTElQTz0kTElQTworICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImxpcG8iLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IGxpcG87IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfTElQTytzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfTElQTyI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9MSVBPPSIkYWNfY3RfTElQTyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfTElQTz0ibGlwbyIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCisgIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X0xJUE8iICYmIGFjX2N2X3Byb2dfYWNfY3RfTElQTz0iOiIKK2ZpCitmaQorYWNfY3RfTElQTz0kYWNfY3ZfcHJvZ19hY19jdF9MSVBPCitpZiB0ZXN0IC1uICIkYWNfY3RfTElQTyI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X0xJUE8iID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N0X0xJUE8iID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCisgIExJUE89JGFjX2N0X0xJUE8KK2Vsc2UKKyAgTElQTz0iJGFjX2N2X3Byb2dfTElQTyIKK2ZpCisKKyAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1vdG9vbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vdG9vbDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PVE9PTCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkT1RPT0wiOyB0aGVuCisgIGFjX2N2X3Byb2dfT1RPT0w9IiRPVE9PTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfT1RPT0w9IiR7YWNfdG9vbF9wcmVmaXh9b3Rvb2wiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitPVE9PTD0kYWNfY3ZfcHJvZ19PVE9PTAoraWYgdGVzdCAtbiAiJE9UT09MIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkT1RPT0wiID4mNQorZWNobyAiJHtFQ0hPX1R9JE9UT09MIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworZmkKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX09UT09MIjsgdGhlbgorICBhY19jdF9PVE9PTD0kT1RPT0wKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJvdG9vbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgb3Rvb2w7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfT1RPT0wrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X09UT09MIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09UT09MPSIkYWNfY3RfT1RPT0wiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X09UT09MPSJvdG9vbCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCisgIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X09UT09MIiAmJiBhY19jdl9wcm9nX2FjX2N0X09UT09MPSI6IgorZmkKK2ZpCithY19jdF9PVE9PTD0kYWNfY3ZfcHJvZ19hY19jdF9PVE9PTAoraWYgdGVzdCAtbiAiJGFjX2N0X09UT09MIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfT1RPT0wiID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N0X09UT09MIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBPVE9PTD0kYWNfY3RfT1RPT0wKK2Vsc2UKKyAgT1RPT0w9IiRhY19jdl9wcm9nX09UT09MIgorZmkKKworICAgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW90b29sNjQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9b3Rvb2w2NDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PVE9PTDY0K3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRPVE9PTDY0IjsgdGhlbgorICBhY19jdl9wcm9nX09UT09MNjQ9IiRPVE9PTDY0IiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19PVE9PTDY0PSIke2FjX3Rvb2xfcHJlZml4fW90b29sNjQiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitPVE9PTDY0PSRhY19jdl9wcm9nX09UT09MNjQKK2lmIHRlc3QgLW4gIiRPVE9PTDY0IjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkT1RPT0w2NCIgPiY1CitlY2hvICIke0VDSE9fVH0kT1RPT0w2NCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKK2ZpCitpZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19PVE9PTDY0IjsgdGhlbgorICBhY19jdF9PVE9PTDY0PSRPVE9PTDY0CisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAib3Rvb2w2NCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgb3Rvb2w2NDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PVE9PTDY0K3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRhY19jdF9PVE9PTDY0IjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09UT09MNjQ9IiRhY19jdF9PVE9PTDY0IiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19hY19jdF9PVE9PTDY0PSJvdG9vbDY0IgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w2NCIgJiYgYWNfY3ZfcHJvZ19hY19jdF9PVE9PTDY0PSI6IgorZmkKK2ZpCithY19jdF9PVE9PTDY0PSRhY19jdl9wcm9nX2FjX2N0X09UT09MNjQKK2lmIHRlc3QgLW4gIiRhY19jdF9PVE9PTDY0IjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfT1RPT0w2NCIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3RfT1RPT0w2NCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKKyAgT1RPT0w2ND0kYWNfY3RfT1RPT0w2NAorZWxzZQorICBPVE9PTDY0PSIkYWNfY3ZfcHJvZ19PVE9PTDY0IgorZmkKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIC1zaW5nbGVfbW9kdWxlIGxpbmtlciBmbGFnIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIC1zaW5nbGVfbW9kdWxlIGxpbmtlciBmbGFnLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHtsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Q9bm8KKyAgICAgIGlmIHRlc3QgLXogIiR7TFRfTVVMVElfTU9EVUxFfSI7IHRoZW4KKwkjIEJ5IGRlZmF1bHQgd2Ugd2lsbCBhZGQgdGhlIC1zaW5nbGVfbW9kdWxlIGZsYWcuIFlvdSBjYW4gb3ZlcnJpZGUKKwkjIGJ5IGVpdGhlciBzZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBMVF9NVUxUSV9NT0RVTEUKKwkjIG5vbi1lbXB0eSBhdCBjb25maWd1cmUgdGltZSwgb3IgYnkgYWRkaW5nIC1tdWx0aV9tb2R1bGUgdG8gdGhlCisJIyBsaW5rIGZsYWdzLgorCXJtIC1yZiBsaWJjb25mdGVzdC5keWxpYioKKwllY2hvICJpbnQgZm9vKHZvaWQpe3JldHVybiAxO30iID4gY29uZnRlc3QuYworCWVjaG8gIiRMVENDICRMVENGTEFHUyAkTERGTEFHUyAtbyBsaWJjb25mdGVzdC5keWxpYiBcCistZHluYW1pY2xpYiAtV2wsLXNpbmdsZV9tb2R1bGUgY29uZnRlc3QuYyIgPiY1CisJJExUQ0MgJExUQ0ZMQUdTICRMREZMQUdTIC1vIGxpYmNvbmZ0ZXN0LmR5bGliIFwKKwkgIC1keW5hbWljbGliIC1XbCwtc2luZ2xlX21vZHVsZSBjb25mdGVzdC5jIDI+Y29uZnRlc3QuZXJyCisgICAgICAgIF9sdF9yZXN1bHQ9JD8KKwlpZiB0ZXN0IC1mIGxpYmNvbmZ0ZXN0LmR5bGliICYmIHRlc3QgISAtcyBjb25mdGVzdC5lcnIgJiYgdGVzdCAkX2x0X3Jlc3VsdCA9IDA7IHRoZW4KKwkgIGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Q9eWVzCisJZWxzZQorCSAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKwlmaQorCXJtIC1yZiBsaWJjb25mdGVzdC5keWxpYioKKwlybSAtZiBjb25mdGVzdC4qCisgICAgICBmaQorZmkKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kIiA+JjYKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIC1leHBvcnRlZF9zeW1ib2xzX2xpc3QgbGlua2VyIGZsYWciID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgLWV4cG9ydGVkX3N5bWJvbHNfbGlzdCBsaW5rZXIgZmxhZy4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7bHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0K3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGx0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdD1ubworICAgICAgc2F2ZV9MREZMQUdTPSRMREZMQUdTCisgICAgICBlY2hvICJfbWFpbiIgPiBjb25mdGVzdC5zeW0KKyAgICAgIExERkxBR1M9IiRMREZMQUdTIC1XbCwtZXhwb3J0ZWRfc3ltYm9sc19saXN0LGNvbmZ0ZXN0LnN5bSIKKyAgICAgIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogY29uZmRlZnMuaC4gICovCitfQUNFT0YKK2NhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogZW5kIGNvbmZkZWZzLmguICAqLworCitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0JGFjX2V4ZWV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfbGlua1wiIikgPiY1CisgIChldmFsICRhY19saW5rKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QkYWNfZXhlZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGx0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdD15ZXMKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0PW5vCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKKwlMREZMQUdTPSIkc2F2ZV9MREZMQUdTIgorCitmaQorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGx0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdCIgPiY1CitlY2hvICIke0VDSE9fVH0kbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0IiA+JjYKKyAgICBjYXNlICRob3N0X29zIGluCisgICAgcmhhcHNvZHkqIHwgZGFyd2luMS5bMDEyXSkKKyAgICAgIF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkPScke3dsfS11bmRlZmluZWQgJHt3bH1zdXBwcmVzcycgOzsKKyAgICBkYXJ3aW4xLiopCisgICAgICBfbHRfZGFyX2FsbG93X3VuZGVmaW5lZD0nJHt3bH0tZmxhdF9uYW1lc3BhY2UgJHt3bH0tdW5kZWZpbmVkICR7d2x9c3VwcHJlc3MnIDs7CisgICAgZGFyd2luKikgIyBkYXJ3aW4gNS54IG9uCisgICAgICAjIGlmIHJ1bm5pbmcgb24gMTAuNSBvciBsYXRlciwgdGhlIGRlcGxveW1lbnQgdGFyZ2V0IGRlZmF1bHRzCisgICAgICAjIHRvIHRoZSBPUyB2ZXJzaW9uLCBpZiBvbiB4ODYsIGFuZCAxMC40LCB0aGUgZGVwbG95bWVudAorICAgICAgIyB0YXJnZXQgZGVmYXVsdHMgdG8gMTAuNC4gRG9uJ3QgeW91IGxvdmUgaXQ/CisgICAgICBjYXNlICR7TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VULTEwLjB9LCRob3N0IGluCisJMTAuMCwqODYqLWRhcndpbjgqfDEwLjAsKi1kYXJ3aW5bOTFdKikKKwkgIF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkPScke3dsfS11bmRlZmluZWQgJHt3bH1keW5hbWljX2xvb2t1cCcgOzsKKwkxMC5bMDEyXSopCisJICBfbHRfZGFyX2FsbG93X3VuZGVmaW5lZD0nJHt3bH0tZmxhdF9uYW1lc3BhY2UgJHt3bH0tdW5kZWZpbmVkICR7d2x9c3VwcHJlc3MnIDs7CisJMTAuKikKKwkgIF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkPScke3dsfS11bmRlZmluZWQgJHt3bH1keW5hbWljX2xvb2t1cCcgOzsKKyAgICAgIGVzYWMKKyAgICA7OworICBlc2FjCisgICAgaWYgdGVzdCAiJGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2QiID0gInllcyI7IHRoZW4KKyAgICAgIF9sdF9kYXJfc2luZ2xlX21vZD0nJHNpbmdsZV9tb2R1bGUnCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0IiA9ICJ5ZXMiOyB0aGVuCisgICAgICBfbHRfZGFyX2V4cG9ydF9zeW1zPScgJHt3bH0tZXhwb3J0ZWRfc3ltYm9sc19saXN0LCRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0nCisgICAgZWxzZQorICAgICAgX2x0X2Rhcl9leHBvcnRfc3ltcz0nfiROTUVESVQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkRFNZTVVUSUwiICE9ICI6IjsgdGhlbgorICAgICAgX2x0X2RzeW11dGlsPSd+JERTWU1VVElMICRsaWIgfHwgOicKKyAgICBlbHNlCisgICAgICBfbHRfZHN5bXV0aWw9CisgICAgZmkKKyAgICA7OworICBlc2FjCisKKwogZm9yIGFjX2hlYWRlciBpbiBkbGZjbi5oCiBkbwogYXNfYWNfSGVhZGVyPWBlY2hvICJhY19jdl9oZWFkZXJfJGFjX2hlYWRlciIgfCAkYXNfdHJfc2hgCkBAIC02NjUyLDYgKzc1NjQsMTI4IEBACiAKIAogCisjIFNldCBvcHRpb25zCisKKworCisgICAgICAgIGVuYWJsZV9kbG9wZW49bm8KKworCisgIGVuYWJsZV93aW4zMl9kbGw9bm8KKworCisgICAgICAgICAgICAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtc2hhcmVkIG9yIC0tZGlzYWJsZS1zaGFyZWQgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHtlbmFibGVfc2hhcmVkK3NldH0iID0gc2V0OyB0aGVuCisgIGVuYWJsZXZhbD0iJGVuYWJsZV9zaGFyZWQiCisgIHA9JHtQQUNLQUdFLWRlZmF1bHR9CisgICAgY2FzZSAkZW5hYmxldmFsIGluCisgICAgeWVzKSBlbmFibGVfc2hhcmVkPXllcyA7OworICAgIG5vKSBlbmFibGVfc2hhcmVkPW5vIDs7CisgICAgKikKKyAgICAgIGVuYWJsZV9zaGFyZWQ9bm8KKyAgICAgICMgTG9vayBhdCB0aGUgYXJndW1lbnQgd2UgZ290LiAgV2UgdXNlIGFsbCB0aGUgY29tbW9uIGxpc3Qgc2VwYXJhdG9ycy4KKyAgICAgIGx0X3NhdmVfaWZzPSIkSUZTIjsgSUZTPSIke0lGU30kUEFUSF9TRVBBUkFUT1IsIgorICAgICAgZm9yIHBrZyBpbiAkZW5hYmxldmFsOyBkbworCUlGUz0iJGx0X3NhdmVfaWZzIgorCWlmIHRlc3QgIlgkcGtnIiA9ICJYJHAiOyB0aGVuCisJICBlbmFibGVfc2hhcmVkPXllcworCWZpCisgICAgICBkb25lCisgICAgICBJRlM9IiRsdF9zYXZlX2lmcyIKKyAgICAgIDs7CisgICAgZXNhYworZWxzZQorICBlbmFibGVfc2hhcmVkPXllcworZmk7CisKKworCisKKworCisKKworICAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtc3RhdGljIG9yIC0tZGlzYWJsZS1zdGF0aWMgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHtlbmFibGVfc3RhdGljK3NldH0iID0gc2V0OyB0aGVuCisgIGVuYWJsZXZhbD0iJGVuYWJsZV9zdGF0aWMiCisgIHA9JHtQQUNLQUdFLWRlZmF1bHR9CisgICAgY2FzZSAkZW5hYmxldmFsIGluCisgICAgeWVzKSBlbmFibGVfc3RhdGljPXllcyA7OworICAgIG5vKSBlbmFibGVfc3RhdGljPW5vIDs7CisgICAgKikKKyAgICAgZW5hYmxlX3N0YXRpYz1ubworICAgICAgIyBMb29rIGF0IHRoZSBhcmd1bWVudCB3ZSBnb3QuICBXZSB1c2UgYWxsIHRoZSBjb21tb24gbGlzdCBzZXBhcmF0b3JzLgorICAgICAgbHRfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSRQQVRIX1NFUEFSQVRPUiwiCisgICAgICBmb3IgcGtnIGluICRlbmFibGV2YWw7IGRvCisJSUZTPSIkbHRfc2F2ZV9pZnMiCisJaWYgdGVzdCAiWCRwa2ciID0gIlgkcCI7IHRoZW4KKwkgIGVuYWJsZV9zdGF0aWM9eWVzCisJZmkKKyAgICAgIGRvbmUKKyAgICAgIElGUz0iJGx0X3NhdmVfaWZzIgorICAgICAgOzsKKyAgICBlc2FjCitlbHNlCisgIGVuYWJsZV9zdGF0aWM9eWVzCitmaTsKKworCisKKworCisKKworCisKKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtcGljIG9yIC0td2l0aG91dC1waWMgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHt3aXRoX3BpYytzZXR9IiA9IHNldDsgdGhlbgorICB3aXRodmFsPSIkd2l0aF9waWMiCisgIHBpY19tb2RlPSIkd2l0aHZhbCIKK2Vsc2UKKyAgcGljX21vZGU9ZGVmYXVsdAorZmk7CisKK3Rlc3QgLXogIiRwaWNfbW9kZSIgJiYgcGljX21vZGU9ZGVmYXVsdAorCisKKworCisKKworCisgICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1mYXN0LWluc3RhbGwgb3IgLS1kaXNhYmxlLWZhc3QtaW5zdGFsbCB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9mYXN0X2luc3RhbGwrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZW5hYmxldmFsPSIkZW5hYmxlX2Zhc3RfaW5zdGFsbCIKKyAgcD0ke1BBQ0tBR0UtZGVmYXVsdH0KKyAgICBjYXNlICRlbmFibGV2YWwgaW4KKyAgICB5ZXMpIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzIDs7CisgICAgbm8pIGVuYWJsZV9mYXN0X2luc3RhbGw9bm8gOzsKKyAgICAqKQorICAgICAgZW5hYmxlX2Zhc3RfaW5zdGFsbD1ubworICAgICAgIyBMb29rIGF0IHRoZSBhcmd1bWVudCB3ZSBnb3QuICBXZSB1c2UgYWxsIHRoZSBjb21tb24gbGlzdCBzZXBhcmF0b3JzLgorICAgICAgbHRfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSRQQVRIX1NFUEFSQVRPUiwiCisgICAgICBmb3IgcGtnIGluICRlbmFibGV2YWw7IGRvCisJSUZTPSIkbHRfc2F2ZV9pZnMiCisJaWYgdGVzdCAiWCRwa2ciID0gIlgkcCI7IHRoZW4KKwkgIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzCisJZmkKKyAgICAgIGRvbmUKKyAgICAgIElGUz0iJGx0X3NhdmVfaWZzIgorICAgICAgOzsKKyAgICBlc2FjCitlbHNlCisgIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzCitmaTsKKworCisKKworCisKKworCisKKwogIyBUaGlzIGNhbiBiZSB1c2VkIHRvIHJlYnVpbGQgbGlidG9vbCB3aGVuIG5lZWRlZAogTElCVE9PTF9ERVBTPSIkbHRtYWluIgogCkBAIC02OTk4LDcgKzgwMzIsNyBAQAogZWNobyAiJGx0X3NpbXBsZV9saW5rX3Rlc3RfY29kZSIgPmNvbmZ0ZXN0LiRhY19leHQKIGV2YWwgIiRhY19saW5rIiAyPiYxID4vZGV2L251bGwgfCAkU0VEICcvXiQvZDsgL14gKisvZCcgPmNvbmZ0ZXN0LmVycgogX2x0X2xpbmtlcl9ib2lsZXJwbGF0ZT1gY2F0IGNvbmZ0ZXN0LmVycmAKLSRSTSBjb25mdGVzdCoKKyRSTSAtciBjb25mdGVzdCoKIAogCiAjIyBDQVZFQVQgRU1QVE9SOgpAQCAtNzAzMCwxMSArODA2NCwxMSBAQAogICAgLWUgJ3M6LipGTEFHU31cezAsMVx9IDomJGx0X2NvbXBpbGVyX2ZsYWcgOjsgdCcgXAogICAgLWUgJ3M6IFteIF0qY29uZnRlc3RcLjogJGx0X2NvbXBpbGVyX2ZsYWcmOjsgdCcgXAogICAgLWUgJ3M6JDogJGx0X2NvbXBpbGVyX2ZsYWc6J2AKLSAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo3MDMzOiAkbHRfY29tcGlsZVwiIiA+JjUpCisgICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6ODA2NzogJGx0X2NvbXBpbGVcIiIgPiY1KQogICAgKGV2YWwgIiRsdF9jb21waWxlIiAyPmNvbmZ0ZXN0LmVycikKICAgIGFjX3N0YXR1cz0kPwogICAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKLSAgIGVjaG8gIiRhc19tZTo3MDM3OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgIGVjaG8gIiRhc19tZTo4MDcxOiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKICAgIGlmIChleGl0ICRhY19zdGF0dXMpICYmIHRlc3QgLXMgIiRhY19vdXRmaWxlIjsgdGhlbgogICAgICAjIFRoZSBjb21waWxlciBjYW4gb25seSB3YXJuIGFuZCBpZ25vcmUgdGhlIG9wdGlvbiBpZiBub3QgcmVjb2duaXplZAogICAgICAjIFNvIHNheSBubyBpZiB0aGVyZSBhcmUgd2FybmluZ3Mgb3RoZXIgdGhhbiB0aGUgdXN1YWwgb3V0cHV0LgpAQCAtNzA4NCwxOSArODExOCwyNSBAQAogICAgICAgOzsKIAogICAgIGFtaWdhb3MqKQotICAgICAgaWYgdGVzdCAiJGhvc3RfY3B1IiA9IG02OGs7IHRoZW4KLSAgICAgICAgIyBGSVhNRTogd2UgbmVlZCBhdCBsZWFzdCA2ODAyMCBjb2RlIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMsIGJ1dAotICAgICAgICAjIGFkZGluZyB0aGUgYC1tNjgwMjAnIGZsYWcgdG8gR0NDIHByZXZlbnRzIGJ1aWxkaW5nIGFueXRoaW5nIGJldHRlciwKLSAgICAgICAgIyBsaWtlIGAtbTY4MDQwJy4KLSAgICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1tNjgwMjAgLXJlc2lkZW50MzIgLW1hbHdheXMtcmVzdG9yZS1hNCcKLSAgICAgIGZpCisgICAgICBjYXNlICRob3N0X2NwdSBpbgorICAgICAgcG93ZXJwYykKKyAgICAgICAgICAgICMgc2VlIGNvbW1lbnQgYWJvdXQgQW1pZ2FPUzQgLnNvIHN1cHBvcnQKKyAgICAgICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctZlBJQycKKyAgICAgICAgOzsKKyAgICAgIG02OGspCisgICAgICAgICAgICAjIEZJWE1FOiB3ZSBuZWVkIGF0IGxlYXN0IDY4MDIwIGNvZGUgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcywgYnV0CisgICAgICAgICAgICAjIGFkZGluZyB0aGUgYC1tNjgwMjAnIGZsYWcgdG8gR0NDIHByZXZlbnRzIGJ1aWxkaW5nIGFueXRoaW5nIGJldHRlciwKKyAgICAgICAgICAgICMgbGlrZSBgLW02ODA0MCcuCisgICAgICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLW02ODAyMCAtcmVzaWRlbnQzMiAtbWFsd2F5cy1yZXN0b3JlLWE0JworICAgICAgICA7OworICAgICAgZXNhYwogICAgICAgOzsKIAogICAgIGJlb3MqIHwgaXJpeDUqIHwgaXJpeDYqIHwgbm9uc3RvcHV4KiB8IG9zZjMqIHwgb3NmNCogfCBvc2Y1KikKICAgICAgICMgUElDIGlzIHRoZSBkZWZhdWx0IGZvciB0aGVzZSBPU2VzLgogICAgICAgOzsKIAotICAgIG1pbmd3KiB8IGN5Z3dpbiogfCBwdzMyKiB8IG9zMiopCisgICAgbWluZ3cqIHwgY3lnd2luKiB8IHB3MzIqIHwgb3MyKiB8IGNlZ2NjKikKICAgICAgICMgVGhpcyBoYWNrIGlzIHNvIHRoYXQgdGhlIHNvdXJjZSBmaWxlIGNhbiB0ZWxsIHdoZXRoZXIgaXQgaXMgYmVpbmcKICAgICAgICMgYnVpbHQgZm9yIGluY2x1c2lvbiBpbiBhIGRsbCAoYW5kIHNob3VsZCBleHBvcnQgc3ltYm9scyBmb3IgZXhhbXBsZSkuCiAgICAgICAjIEFsdGhvdWdoIHRoZSBjeWd3aW4gZ2NjIGlnbm9yZXMgLWZQSUMsIHN0aWxsIG5lZWQgdGhpcyBmb3Igb2xkLXN0eWxlCkBAIC03MTExLDEwICs4MTUxLDExIEBACiAgICAgICA7OwogCiAgICAgaHB1eCopCi0gICAgICAjIFBJQyBpcyB0aGUgZGVmYXVsdCBmb3IgSUE2NCBIUC1VWCBhbmQgNjQtYml0IEhQLVVYLCBidXQKLSAgICAgICMgbm90IGZvciBQQSBIUC1VWC4KKyAgICAgICMgUElDIGlzIHRoZSBkZWZhdWx0IGZvciA2NC1iaXQgUEEgSFAtVVgsIGJ1dCBub3QgZm9yIDMyLWJpdAorICAgICAgIyBQQSBIUC1VWC4gIE9uIElBNjQgSFAtVVgsIFBJQyBpcyB0aGUgZGVmYXVsdCBidXQgdGhlIHBpYyBmbGFnCisgICAgICAjIHNldHMgdGhlIGRlZmF1bHQgVExTIG1vZGVsIGFuZCBhZmZlY3RzIGlubGluaW5nLgogICAgICAgY2FzZSAkaG9zdF9jcHUgaW4KLSAgICAgIGhwcGEqNjQqfGlhNjQqKQorICAgICAgaHBwYSo2NCopCiAJIyArWiB0aGUgZGVmYXVsdAogCTs7CiAgICAgICAqKQpAQCAtNzE2MywxOCArODIwNCw4IEBACiAJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1ibnNvIC1iSTovbGliL3N5c2NhbGxzLmV4cCcKICAgICAgIGZpCiAgICAgICA7OwotICAgIGRhcndpbiopCi0gICAgICAjIFBJQyBpcyB0aGUgZGVmYXVsdCBvbiB0aGlzIHBsYXRmb3JtCi0gICAgICAjIENvbW1vbiBzeW1ib2xzIG5vdCBhbGxvd2VkIGluIE1IX0RZTElCIGZpbGVzCi0gICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgotICAgICAgeGxjKikKLSAgICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1xbm9jb21tb24nCi0gICAgICAgIGx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCi0gICAgICAgIDs7Ci0gICAgICBlc2FjCi0gICAgICA7OwogCi0gICAgbWluZ3cqIHwgY3lnd2luKiB8IHB3MzIqIHwgb3MyKikKKyAgICBtaW5ndyogfCBjeWd3aW4qIHwgcHczMiogfCBvczIqIHwgY2VnY2MqKQogICAgICAgIyBUaGlzIGhhY2sgaXMgc28gdGhhdCB0aGUgc291cmNlIGZpbGUgY2FuIHRlbGwgd2hldGhlciBpdCBpcyBiZWluZwogICAgICAgIyBidWlsdCBmb3IgaW5jbHVzaW9uIGluIGEgZGxsIChhbmQgc2hvdWxkIGV4cG9ydCBzeW1ib2xzIGZvciBleGFtcGxlKS4KICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctRERMTF9FWFBPUlQnCkBAIC03MjA0LDExICs4MjM1LDI1IEBACiAKICAgICBsaW51eCogfCBrKmJzZCotZ251KQogICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KLSAgICAgIGljYyogfCBlY2MqKQorICAgICAgIyBvbGQgSW50ZWwgZm9yIHg4Nl82NCB3aGljaCBzdGlsbCBzdXBwb3J0ZWQgLUtQSUMuCisgICAgICBlY2MqKQogCWx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCiAJbHRfcHJvZ19jb21waWxlcl9waWM9Jy1LUElDJwogCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctc3RhdGljJwogICAgICAgICA7OworICAgICAgIyBpY2MgdXNlZCB0byBiZSBpbmNvbXBhdGlibGUgd2l0aCBHQ0MuCisgICAgICAjIElDQyAxMCBkb2Vzbid0IGFjY2VwdCAtS1BJQyBhbnkgbW9yZS4KKyAgICAgIGljYyogfCBpZm9ydCopCisJbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKKwlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLWZQSUMnCisJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1zdGF0aWMnCisgICAgICAgIDs7CisgICAgICAjIExhaGV5IEZvcnRyYW4gOC4xLgorICAgICAgbGY5NSopCisJbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKKwlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLS1zaGFyZWQnCisJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy0tc3RhdGljJworCTs7CiAgICAgICBwZ2NjKiB8IHBnZjc3KiB8IHBnZjkwKiB8IHBnZjk1KikKICAgICAgICAgIyBQb3J0bGFuZCBHcm91cCBjb21waWxlcnMgKCpub3QqIHRoZSBQZW50aXVtIGdjYyBjb21waWxlciwKIAkjIHdoaWNoIGxvb2tzIHRvIGJlIGEgZGVhZCBwcm9qZWN0KQpAQCAtNzIyMSw2ICs4MjY2LDEyIEBACiAgICAgICAgICMgQWxsIEFscGhhIGNvZGUgaXMgUElDLgogICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLW5vbl9zaGFyZWQnCiAgICAgICAgIDs7CisgICAgICB4bCopCisJIyBJQk0gWEwgQyA4LjAvRm9ydHJhbiAxMC4xIG9uIFBQQworCWx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCisJbHRfcHJvZ19jb21waWxlcl9waWM9Jy1xcGljJworCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctcXN0YXRpY2xpbmsnCisJOzsKICAgICAgICopCiAJY2FzZSBgJENDIC1WIDI+JjEgfCBzZWQgNXFgIGluCiAJKlN1blwgQyopCkBAIC03MzM2LDEwICs4Mzg3LDEwIEBACiBpZiB0ZXN0IC1uICIkbHRfcHJvZ19jb21waWxlcl9waWMiOyB0aGVuCiAgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBpZiAkY29tcGlsZXIgUElDIGZsYWcgJGx0X3Byb2dfY29tcGlsZXJfcGljIHdvcmtzIiA+JjUKIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgaWYgJGNvbXBpbGVyIFBJQyBmbGFnICRsdF9wcm9nX2NvbXBpbGVyX3BpYyB3b3Jrcy4uLiAkRUNIT19DIiA+JjYKLWlmIHRlc3QgIiR7bHRfcHJvZ19jb21waWxlcl9waWNfd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4KK2lmIHRlc3QgIiR7bHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4KICAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKIGVsc2UKLSAgbHRfcHJvZ19jb21waWxlcl9waWNfd29ya3M9bm8KKyAgbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3M9bm8KICAgIGFjX291dGZpbGU9Y29uZnRlc3QuJGFjX29iamV4dAogICAgZWNobyAiJGx0X3NpbXBsZV9jb21waWxlX3Rlc3RfY29kZSIgPiBjb25mdGVzdC4kYWNfZXh0CiAgICBsdF9jb21waWxlcl9mbGFnPSIkbHRfcHJvZ19jb21waWxlcl9waWMgLURQSUMiCkBAIC03MzUyLDI3ICs4NDAzLDI3IEBACiAgICAtZSAnczouKkZMQUdTfVx7MCwxXH0gOiYkbHRfY29tcGlsZXJfZmxhZyA6OyB0JyBcCiAgICAtZSAnczogW14gXSpjb25mdGVzdFwuOiAkbHRfY29tcGlsZXJfZmxhZyY6OyB0JyBcCiAgICAtZSAnczokOiAkbHRfY29tcGlsZXJfZmxhZzonYAotICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjczNTU6ICRsdF9jb21waWxlXCIiID4mNSkKKyAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo4NDA2OiAkbHRfY29tcGlsZVwiIiA+JjUpCiAgICAoZXZhbCAiJGx0X2NvbXBpbGUiIDI+Y29uZnRlc3QuZXJyKQogICAgYWNfc3RhdHVzPSQ/CiAgICBjYXQgY29uZnRlc3QuZXJyID4mNQotICAgZWNobyAiJGFzX21lOjczNTk6IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAgZWNobyAiJGFzX21lOjg0MTA6IFwkPyA9ICRhY19zdGF0dXMiID4mNQogICAgaWYgKGV4aXQgJGFjX3N0YXR1cykgJiYgdGVzdCAtcyAiJGFjX291dGZpbGUiOyB0aGVuCiAgICAgICMgVGhlIGNvbXBpbGVyIGNhbiBvbmx5IHdhcm4gYW5kIGlnbm9yZSB0aGUgb3B0aW9uIGlmIG5vdCByZWNvZ25pemVkCiAgICAgICMgU28gc2F5IG5vIGlmIHRoZXJlIGFyZSB3YXJuaW5ncyBvdGhlciB0aGFuIHRoZSB1c3VhbCBvdXRwdXQuCiAgICAgICRFQ0hPICJYJF9sdF9jb21waWxlcl9ib2lsZXJwbGF0ZSIgfCAkWHNlZCAtZSAnL14kL2QnID5jb25mdGVzdC5leHAKICAgICAgJFNFRCAnL14kL2Q7IC9eICorL2QnIGNvbmZ0ZXN0LmVyciA+Y29uZnRlc3QuZXIyCiAgICAgIGlmIHRlc3QgISAtcyBjb25mdGVzdC5lcjIgfHwgZGlmZiBjb25mdGVzdC5leHAgY29uZnRlc3QuZXIyID4vZGV2L251bGw7IHRoZW4KLSAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpY193b3Jrcz15ZXMKKyAgICAgICBsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3Jrcz15ZXMKICAgICAgZmkKICAgIGZpCiAgICAkUk0gY29uZnRlc3QqCiAKIGZpCi1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkbHRfcHJvZ19jb21waWxlcl9waWNfd29ya3MiID4mNQotZWNobyAiJHtFQ0hPX1R9JGx0X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzIiA+JjYKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3JrcyIgPiY1CitlY2hvICIke0VDSE9fVH0kbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3MiID4mNgogCi1pZiB0ZXN0IHgiJGx0X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzIiA9IHh5ZXM7IHRoZW4KK2lmIHRlc3QgeCIkbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3MiID0geHllczsgdGhlbgogICAgIGNhc2UgJGx0X3Byb2dfY29tcGlsZXJfcGljIGluCiAgICAgICIiIHwgIiAiKikgOzsKICAgICAgKikgbHRfcHJvZ19jb21waWxlcl9waWM9IiAkbHRfcHJvZ19jb21waWxlcl9waWMiIDs7CkBAIC03Mzk1LDEwICs4NDQ2LDEwIEBACiB3bD0kbHRfcHJvZ19jb21waWxlcl93bCBldmFsIGx0X3RtcF9zdGF0aWNfZmxhZz1cIiRsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY1wiCiBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgaWYgJGNvbXBpbGVyIHN0YXRpYyBmbGFnICRsdF90bXBfc3RhdGljX2ZsYWcgd29ya3MiID4mNQogZWNobyAkRUNIT19OICJjaGVja2luZyBpZiAkY29tcGlsZXIgc3RhdGljIGZsYWcgJGx0X3RtcF9zdGF0aWNfZmxhZyB3b3Jrcy4uLiAkRUNIT19DIiA+JjYKLWlmIHRlc3QgIiR7bHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4KK2lmIHRlc3QgIiR7bHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4KICAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKIGVsc2UKLSAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9bm8KKyAgbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9bm8KICAgIHNhdmVfTERGTEFHUz0iJExERkxBR1MiCiAgICBMREZMQUdTPSIkTERGTEFHUyAkbHRfdG1wX3N0YXRpY19mbGFnIgogICAgZWNobyAiJGx0X3NpbXBsZV9saW5rX3Rlc3RfY29kZSIgPiBjb25mdGVzdC4kYWNfZXh0CkBAIC03NDExLDIwICs4NDYyLDIwIEBACiAgICAgICAgJEVDSE8gIlgkX2x0X2xpbmtlcl9ib2lsZXJwbGF0ZSIgfCAkWHNlZCAtZSAnL14kL2QnID4gY29uZnRlc3QuZXhwCiAgICAgICAgJFNFRCAnL14kL2Q7IC9eICorL2QnIGNvbmZ0ZXN0LmVyciA+Y29uZnRlc3QuZXIyCiAgICAgICAgaWYgZGlmZiBjb25mdGVzdC5leHAgY29uZnRlc3QuZXIyID4vZGV2L251bGw7IHRoZW4KLSAgICAgICAgIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzPXllcworICAgICAgICAgbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9eWVzCiAgICAgICAgZmkKICAgICAgZWxzZQotICAgICAgIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzPXllcworICAgICAgIGx0X2N2X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzPXllcwogICAgICBmaQogICAgZmkKLSAgICRSTSBjb25mdGVzdCoKKyAgICRSTSAtciBjb25mdGVzdCoKICAgIExERkxBR1M9IiRzYXZlX0xERkxBR1MiCiAKIGZpCi1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3MiID4mNQotZWNobyAiJHtFQ0hPX1R9JGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzIiA+JjYKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcyIgPiY1CitlY2hvICIke0VDSE9fVH0kbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3MiID4mNgogCi1pZiB0ZXN0IHgiJGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzIiA9IHh5ZXM7IHRoZW4KK2lmIHRlc3QgeCIkbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3MiID0geHllczsgdGhlbgogICAgIDoKIGVsc2UKICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0KQEAgLTc0NTcsMTEgKzg1MDgsMTEgQEAKICAgIC1lICdzOi4qRkxBR1N9XHswLDFcfSA6JiRsdF9jb21waWxlcl9mbGFnIDo7IHQnIFwKICAgIC1lICdzOiBbXiBdKmNvbmZ0ZXN0XC46ICRsdF9jb21waWxlcl9mbGFnJjo7IHQnIFwKICAgIC1lICdzOiQ6ICRsdF9jb21waWxlcl9mbGFnOidgCi0gICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NzQ2MDogJGx0X2NvbXBpbGVcIiIgPiY1KQorICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjg1MTE6ICRsdF9jb21waWxlXCIiID4mNSkKICAgIChldmFsICIkbHRfY29tcGlsZSIgMj5vdXQvY29uZnRlc3QuZXJyKQogICAgYWNfc3RhdHVzPSQ/CiAgICBjYXQgb3V0L2NvbmZ0ZXN0LmVyciA+JjUKLSAgIGVjaG8gIiRhc19tZTo3NDY0OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgIGVjaG8gIiRhc19tZTo4NTE1OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKICAgIGlmIChleGl0ICRhY19zdGF0dXMpICYmIHRlc3QgLXMgb3V0L2NvbmZ0ZXN0Mi4kYWNfb2JqZXh0CiAgICB0aGVuCiAgICAgICMgVGhlIGNvbXBpbGVyIGNhbiBvbmx5IHdhcm4gYW5kIGlnbm9yZSB0aGUgb3B0aW9uIGlmIG5vdCByZWNvZ25pemVkCkBAIC03NTEyLDExICs4NTYzLDExIEBACiAgICAtZSAnczouKkZMQUdTfVx7MCwxXH0gOiYkbHRfY29tcGlsZXJfZmxhZyA6OyB0JyBcCiAgICAtZSAnczogW14gXSpjb25mdGVzdFwuOiAkbHRfY29tcGlsZXJfZmxhZyY6OyB0JyBcCiAgICAtZSAnczokOiAkbHRfY29tcGlsZXJfZmxhZzonYAotICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjc1MTU6ICRsdF9jb21waWxlXCIiID4mNSkKKyAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo4NTY2OiAkbHRfY29tcGlsZVwiIiA+JjUpCiAgICAoZXZhbCAiJGx0X2NvbXBpbGUiIDI+b3V0L2NvbmZ0ZXN0LmVycikKICAgIGFjX3N0YXR1cz0kPwogICAgY2F0IG91dC9jb25mdGVzdC5lcnIgPiY1Ci0gICBlY2hvICIkYXNfbWU6NzUxOTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgICBlY2hvICIkYXNfbWU6ODU3MDogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CiAgICBpZiAoZXhpdCAkYWNfc3RhdHVzKSAmJiB0ZXN0IC1zIG91dC9jb25mdGVzdDIuJGFjX29iamV4dAogICAgdGhlbgogICAgICAjIFRoZSBjb21waWxlciBjYW4gb25seSB3YXJuIGFuZCBpZ25vcmUgdGhlIG9wdGlvbiBpZiBub3QgcmVjb2duaXplZApAQCAtNzYwNiwxNiArODY1NywxNyBAQAogICAjIGl0IHdpbGwgYmUgd3JhcHBlZCBieSBgICgnIGFuZCBgKSQnLCBzbyBvbmUgbXVzdCBub3QgbWF0Y2ggYmVnaW5uaW5nIG9yCiAgICMgZW5kIG9mIGxpbmUuICBFeGFtcGxlOiBgYXxiY3wuKmQuKicgd2lsbCBleGNsdWRlIHRoZSBzeW1ib2xzIGBhJyBhbmQgYGJjJywKICAgIyBhcyB3ZWxsIGFzIGFueSBzeW1ib2wgdGhhdCBjb250YWlucyBgZCcuCi0gIGV4Y2x1ZGVfZXhwc3ltcz0iX0dMT0JBTF9PRkZTRVRfVEFCTEVfIgorICBleGNsdWRlX2V4cHN5bXM9J19HTE9CQUxfT0ZGU0VUX1RBQkxFX3xfR0xPQkFMX19GW0lEXV8uKicKICAgIyBBbHRob3VnaCBfR0xPQkFMX09GRlNFVF9UQUJMRV8gaXMgYSB2YWxpZCBzeW1ib2wgQyBuYW1lLCBtb3N0IGEub3V0CiAgICMgcGxhdGZvcm1zIChhYil1c2UgaXQgaW4gUElDIGNvZGUsIGJ1dCB0aGVpciBsaW5rZXJzIGdldCBjb25mdXNlZCBpZgogICAjIHRoZSBzeW1ib2wgaXMgZXhwbGljaXRseSByZWZlcmVuY2VkLiAgU2luY2UgcG9ydGFibGUgY29kZSBjYW5ub3QKICAgIyByZWx5IG9uIHRoaXMgc3ltYm9sIG5hbWUsIGl0J3MgcHJvYmFibHkgZmluZSB0byBuZXZlciBpbmNsdWRlIGl0IGluCiAgICMgcHJlbG9hZGVkIHN5bWJvbCB0YWJsZXMuCisgICMgRXhjbHVkZSBzaGFyZWQgbGlicmFyeSBpbml0aWFsaXphdGlvbi9maW5hbGl6YXRpb24gc3ltYm9scy4KICAgZXh0cmFjdF9leHBzeW1zX2NtZHM9CiAKICAgY2FzZSAkaG9zdF9vcyBpbgotICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiopCisgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgICAjIEZJWE1FOiB0aGUgTVNWQysrIHBvcnQgaGFzbid0IGJlZW4gdGVzdGVkIGluIGEgbG9vb29uZyB0aW1lCiAgICAgIyBXaGVuIG5vdCB1c2luZyBnY2MsIHdlIGN1cnJlbnRseSBhc3N1bWUgdGhhdCB3ZSBhcmUgdXNpbmcKICAgICAjIE1pY3Jvc29mdCBWaXN1YWwgQysrLgpAQCAtNzY3NywxOSArODcyOSwxOCBAQAogICAgICAgOzsKIAogICAgIGFtaWdhb3MqKQotICAgICAgaWYgdGVzdCAiJGhvc3RfY3B1IiA9IG02OGs7IHRoZW4KLSAgICAgICAgYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBOQU1FICRsaWJuYW1lIiA+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgTElCUkFSWV9JRCAxIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFZFUlNJT04gJG1ham9yIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFJFVklTSU9OICRyZXZpc2lvbiIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kQVIgJEFSX0ZMQUdTICRsaWIgJGxpYm9ianN+JFJBTkxJQiAkbGlifihjZCAkb3V0cHV0X29iamRpciAmJiBhMml4bGlicmFyeSAtMzIpJwotICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCi0gICAgICAgIGhhcmRjb2RlX21pbnVzX0w9eWVzCi0gICAgICBmaQotCi0gICAgICAjIFNhbXVlbCBBLiBGYWx2byBJSSA8a2M1dGphQGRvbHBoaW4ub3BlbnByb2plY3RzLm5ldD4gcmVwb3J0cwotICAgICAgIyB0aGF0IHRoZSBzZW1hbnRpY3Mgb2YgZHluYW1pYyBsaWJyYXJpZXMgb24gQW1pZ2FPUywgYXQgbGVhc3QgdXAKLSAgICAgICMgdG8gdmVyc2lvbiA0LCBpcyB0byBzaGFyZSBkYXRhIGFtb25nIG11bHRpcGxlIHByb2dyYW1zIGxpbmtlZAotICAgICAgIyB3aXRoIHRoZSBzYW1lIGR5bmFtaWMgbGlicmFyeS4gIFNpbmNlIHRoaXMgZG9lc24ndCBtYXRjaCB0aGUKLSAgICAgICMgYmVoYXZpb3Igb2Ygc2hhcmVkIGxpYnJhcmllcyBvbiBvdGhlciBwbGF0Zm9ybXMsIHdlIGNhbid0IHVzZQotICAgICAgIyB0aGVtLgotICAgICAgbGRfc2hsaWJzPW5vCisgICAgICBjYXNlICRob3N0X2NwdSBpbgorICAgICAgcG93ZXJwYykKKyAgICAgICAgICAgICMgc2VlIGNvbW1lbnQgYWJvdXQgQW1pZ2FPUzQgLnNvIHN1cHBvcnQKKyAgICAgICAgICAgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAkd2wkc29uYW1lIC1vICRsaWInCisgICAgICAgICAgICBhcmNoaXZlX2V4cHN5bV9jbWRzPScnCisgICAgICAgIDs7CisgICAgICBtNjhrKQorICAgICAgICAgICAgYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBOQU1FICRsaWJuYW1lIiA+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgTElCUkFSWV9JRCAxIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFZFUlNJT04gJG1ham9yIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFJFVklTSU9OICRyZXZpc2lvbiIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kQVIgJEFSX0ZMQUdTICRsaWIgJGxpYm9ianN+JFJBTkxJQiAkbGlifihjZCAkb3V0cHV0X29iamRpciAmJiBhMml4bGlicmFyeSAtMzIpJworICAgICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLUwkbGliZGlyJworICAgICAgICAgICAgaGFyZGNvZGVfbWludXNfTD15ZXMKKyAgICAgICAgOzsKKyAgICAgIGVzYWMKICAgICAgIDs7CiAKICAgICBiZW9zKikKQEAgLTc3MDMsNyArODc1NCw3IEBACiAgICAgICBmaQogICAgICAgOzsKIAotICAgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKikKKyAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgICAgICAjIF9MVF9UQUdWQVIoaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYywgKSBpcyBhY3R1YWxseSBtZWFuaW5nbGVzcywKICAgICAgICMgYXMgdGhlcmUgaXMgbm8gc2VhcmNoIHBhdGggZm9yIERMTHMuCiAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCkBAIC03NzU0LDYgKzg4MDUsNyBAQAogCSAmJiB0ZXN0ICIkdG1wX2RpZXQiID0gbm8KICAgICAgIHRoZW4KIAl0bXBfYWRkZmxhZz0KKwl0bXBfc2hhcmVkZmxhZz0nLXNoYXJlZCcKIAljYXNlICRjY19iYXNlbmFtZSwkaG9zdF9jcHUgaW4KICAgICAgICAgcGdjYyopCQkJCSMgUG9ydGxhbmQgR3JvdXAgQyBjb21waWxlcgogCSAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9JyR7d2x9LS13aG9sZS1hcmNoaXZlYGZvciBjb252IGluICRjb252ZW5pZW5jZVwiXCI7IGRvIHRlc3QgIC1uIFwiJGNvbnZcIiAmJiBuZXdfY29udmVuaWVuY2U9XCIkbmV3X2NvbnZlbmllbmNlLCRjb252XCI7IGRvbmU7ICRFQ0hPIFwiJG5ld19jb252ZW5pZW5jZVwiYCAke3dsfS0tbm8td2hvbGUtYXJjaGl2ZScKQEAgLTc3NjgsNiArODgyMCwxMiBAQAogCSAgdG1wX2FkZGZsYWc9JyAtaV9keW5hbWljIC1ub2Zvcl9tYWluJyA7OwogCWlmYyogfCBpZm9ydCopCQkJIyBJbnRlbCBGb3J0cmFuIGNvbXBpbGVyCiAJICB0bXBfYWRkZmxhZz0nIC1ub2Zvcl9tYWluJyA7OworCWxmOTUqKQkJCQkjIExhaGV5IEZvcnRyYW4gOC4xCisJICB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0KKwkgIHRtcF9zaGFyZWRmbGFnPSctLXNoYXJlZCcgOzsKKwl4bFtjQ10qKQkJCSMgSUJNIFhMIEMgOC4wIG9uIFBQQyAoZGVhbCB3aXRoIHhsZiBiZWxvdykKKwkgIHRtcF9zaGFyZWRmbGFnPSctcW1rc2hyb2JqJworCSAgdG1wX2FkZGZsYWc9IDs7CiAJZXNhYwogCWNhc2UgYCRDQyAtViAyPiYxIHwgc2VkIDVxYCBpbgogCSpTdW5cIEMqKQkJCSMgU3VuIEMgNS45CkBAIC03Nzc2LDggKzg4MzQsNiBAQAogCSAgdG1wX3NoYXJlZGZsYWc9Jy1HJyA7OwogCSpTdW5cIEYqKQkJCSMgU3VuIEZvcnRyYW4gOC4zCiAJICB0bXBfc2hhcmVkZmxhZz0nLUcnIDs7Ci0JKikKLQkgIHRtcF9zaGFyZWRmbGFnPSctc2hhcmVkJyA7OwogCWVzYWMKIAlhcmNoaXZlX2NtZHM9JyRDQyAnIiR0bXBfc2hhcmVkZmxhZyIiJHRtcF9hZGRmbGFnIicgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAkd2wkc29uYW1lIC1vICRsaWInCiAKQEAgLTc3ODcsNiArODg0MywyMiBAQAogCSAgICBlY2hvICJsb2NhbDogKjsgfTsiID4+ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlcn4KIAkgICAgJENDICciJHRtcF9zaGFyZWRmbGFnIiIkdG1wX2FkZGZsYWciJyAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR3bCRzb25hbWUgJHt3bH0tdmVyc2lvbi1zY3JpcHQgJHt3bH0kb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXIgLW8gJGxpYicKICAgICAgICAgZmkKKworCWNhc2UgJGNjX2Jhc2VuYW1lIGluCisJeGxmKikKKwkgICMgSUJNIFhMIEZvcnRyYW4gMTAuMSBvbiBQUEMgY2Fubm90IGNyZWF0ZSBzaGFyZWQgbGlicyBpdHNlbGYKKwkgIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSctLXdob2xlLWFyY2hpdmUkY29udmVuaWVuY2UgLS1uby13aG9sZS1hcmNoaXZlJworCSAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0KKwkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQ9Jy1ycGF0aCAkbGliZGlyJworCSAgYXJjaGl2ZV9jbWRzPSckTEQgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIC1vICRsaWInCisJICBpZiB0ZXN0ICJ4JHN1cHBvcnRzX2Fub25fdmVyc2lvbmluZyIgPSB4eWVzOyB0aGVuCisJICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9J2VjaG8gInsgZ2xvYmFsOiIgPiAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXJ+CisJICAgICAgY2F0ICRleHBvcnRfc3ltYm9scyB8IHNlZCAtZSAicy9cKC4qXCkvXDE7LyIgPj4gJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyfgorCSAgICAgIGVjaG8gImxvY2FsOiAqOyB9OyIgPj4gJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyfgorCSAgICAgICRMRCAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgLXZlcnNpb24tc2NyaXB0ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlciAtbyAkbGliJworCSAgZmkKKwkgIDs7CisJZXNhYwogICAgICAgZWxzZQogICAgICAgICBsZF9zaGxpYnM9bm8KICAgICAgIGZpCkBAIC03OTgyLDYgKzkwNTQsNyBAQAogCWZpCiAgICAgICBmaQogCisgICAgICBleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9JyR7d2x9LWJleHBhbGwnCiAgICAgICAjIEl0IHNlZW1zIHRoYXQgLWJleHBhbGwgZG9lcyBub3QgZXhwb3J0IHN5bWJvbHMgYmVnaW5uaW5nIHdpdGgKICAgICAgICMgdW5kZXJzY29yZSAoXyksIHNvIGl0IGlzIGJldHRlciB0byBnZW5lcmF0ZSBhIGxpc3Qgb2Ygc3ltYm9scyB0byBleHBvcnQuCiAgICAgICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9eWVzCkBAIC04MTM0LDIwICs5MjA3LDI1IEBACiAgICAgICA7OwogCiAgICAgYW1pZ2FvcyopCi0gICAgICBpZiB0ZXN0ICIkaG9zdF9jcHUiID0gbTY4azsgdGhlbgotICAgICAgICBhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIE5BTUUgJGxpYm5hbWUiID4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBMSUJSQVJZX0lEIDEiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgUkVWSVNJT04gJHJldmlzaW9uIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRBUiAkQVJfRkxBR1MgJGxpYiAkbGlib2Jqc34kUkFOTElCICRsaWJ+KGNkICRvdXRwdXRfb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCi0gICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1MJGxpYmRpcicKLSAgICAgICAgaGFyZGNvZGVfbWludXNfTD15ZXMKLSAgICAgIGZpCi0gICAgICAjIHNlZSBjb21tZW50IGFib3V0IGRpZmZlcmVudCBzZW1hbnRpY3Mgb24gdGhlIEdOVSBsZCBzZWN0aW9uCi0gICAgICBsZF9zaGxpYnM9bm8KKyAgICAgIGNhc2UgJGhvc3RfY3B1IGluCisgICAgICBwb3dlcnBjKQorICAgICAgICAgICAgIyBzZWUgY29tbWVudCBhYm91dCBBbWlnYU9TNCAuc28gc3VwcG9ydAorICAgICAgICAgICAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR3bCRzb25hbWUgLW8gJGxpYicKKyAgICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JycKKyAgICAgICAgOzsKKyAgICAgIG02OGspCisgICAgICAgICAgICBhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIE5BTUUgJGxpYm5hbWUiID4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBMSUJSQVJZX0lEIDEiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgUkVWSVNJT04gJHJldmlzaW9uIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRBUiAkQVJfRkxBR1MgJGxpYiAkbGlib2Jqc34kUkFOTElCICRsaWJ+KGNkICRvdXRwdXRfb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCisgICAgICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCisgICAgICAgICAgICBoYXJkY29kZV9taW51c19MPXllcworICAgICAgICA7OworICAgICAgZXNhYwogICAgICAgOzsKIAogICAgIGJzZGlbNDVdKikKICAgICAgIGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYz0tcmR5bmFtaWMKICAgICAgIDs7CiAKLSAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiopCisgICAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgICAgIyBXaGVuIG5vdCB1c2luZyBnY2MsIHdlIGN1cnJlbnRseSBhc3N1bWUgdGhhdCB3ZSBhcmUgdXNpbmcKICAgICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCiAgICAgICAjIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgaXMgYWN0dWFsbHkgbWVhbmluZ2xlc3MsIGFzIHRoZXJlIGlzCkBAIC04MTY5LDczICs5MjQ3LDMwIEBACiAgICAgICA7OwogCiAgICAgZGFyd2luKiB8IHJoYXBzb2R5KikKLSAgICAgIGNhc2UgJGhvc3Rfb3MgaW4KLSAgICAgIHJoYXBzb2R5KiB8IGRhcndpbjEuWzAxMl0pCi0JYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyR7d2x9LXVuZGVmaW5lZCAke3dsfXN1cHByZXNzJwotCTs7Ci0gICAgICAqKSAjIERhcndpbiAxLjMgb24KLQljYXNlICR7TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VULTEwLjB9IGluCi0JMTAuWzAxMl0pCi0JICBhbGxvd191bmRlZmluZWRfZmxhZz0nJHt3bH0tZmxhdF9uYW1lc3BhY2UgJHt3bH0tdW5kZWZpbmVkICR7d2x9c3VwcHJlc3MnCi0JICA7OwotCTEwLiopCi0JICBhbGxvd191bmRlZmluZWRfZmxhZz0nJHt3bH0tdW5kZWZpbmVkICR7d2x9ZHluYW1pY19sb29rdXAnCi0JICA7OwotCWVzYWMKLQk7OwotICAgICAgZXNhYwotICAgICAgYXJjaGl2ZV9jbWRzX25lZWRfbGM9bm8KLSAgICAgIGhhcmRjb2RlX2RpcmVjdD1ubwotICAgICAgaGFyZGNvZGVfYXV0b21hdGljPXllcwotICAgICAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj11bnN1cHBvcnRlZAotICAgICAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9JycKLSAgICAgIGxpbmtfYWxsX2RlcGxpYnM9eWVzCi0gICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllcyA7IHRoZW4KLQlpZiB0ZXN0ICIke2x0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Qrc2V0fSIgPSBzZXQ7IHRoZW4KLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKLWVsc2UKLSAgbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZD1ubwotCWlmIHRlc3QgLXogIiR7TFRfTVVMVElfTU9EVUxFfSI7IHRoZW4KLQkgICMgQnkgZGVmYXVsdCB3ZSB3aWxsIGFkZCB0aGUgLXNpbmdsZV9tb2R1bGUgZmxhZy4gWW91IGNhbiBvdmVycmlkZQotCSAgIyBieSBlaXRoZXIgc2V0dGluZyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgTFRfTVVMVElfTU9EVUxFCi0JICAjIG5vbi1lbXB0eSBhdCBjb25maWd1cmUgdGltZSwgb3IgYnkgYWRkaW5nIC1tdWx0aS1tb2R1bGUgdG8gdGhlCi0JICAjIGxpbmsgZmxhZ3MuCi0JICBlY2hvICJpbnQgZm9vKHZvaWQpe3JldHVybiAxO30iID4gY29uZnRlc3QuYwotCSAgJExUQ0MgJExUQ0ZMQUdTICRMREZMQUdTIC1vIGxpYmNvbmZ0ZXN0LmR5bGliIFwKLQkgICAgICAtZHluYW1pY2xpYiAke3dsfS1zaW5nbGVfbW9kdWxlIGNvbmZ0ZXN0LmMKLQkgIGlmIHRlc3QgLWYgbGliY29uZnRlc3QuZHlsaWI7IHRoZW4KLQkgICAgICBsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kPXllcwotCSAgICAgIHJtIGxpYmNvbmZ0ZXN0LmR5bGliCi0JICBmaQotCSAgcm0gY29uZnRlc3QuJGFjX2V4dAotCWZpCi1maQogCi0Jb3V0cHV0X3ZlcmJvc2VfbGlua19jbWQ9ZWNobwotCWlmIHRlc3QgIlgkbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZCIgPSBYeWVzIDsgdGhlbgotCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLWR5bmFtaWNsaWIgJHNpbmdsZV9tb2R1bGUgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgJHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZycKLQkgIGFyY2hpdmVfZXhwc3ltX2NtZHM9J3NlZCAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDICRzaW5nbGVfbW9kdWxlIC1keW5hbWljbGliICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lICRycGF0aC8kc29uYW1lICR2ZXJzdHJpbmd+bm1lZGl0IC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JwotCWVsc2UKLQkgIGFyY2hpdmVfY21kcz0nJENDIC1keW5hbWljbGliICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lICRycGF0aC8kc29uYW1lICR2ZXJzdHJpbmcnCi0JICBhcmNoaXZlX2V4cHN5bV9jbWRzPSdzZWQgInMsXixfLCIgPCAkZXhwb3J0X3N5bWJvbHMgPiAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltfiRDQyAtZHluYW1pY2xpYiAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSAkcnBhdGgvJHNvbmFtZSAkdmVyc3RyaW5nfm5tZWRpdCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKLQlmaQotCW1vZHVsZV9jbWRzPSckQ0MgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgLWJ1bmRsZSAkbGlib2JqcyAkZGVwbGlicyRjb21waWxlcl9mbGFncycKLQltb2R1bGVfZXhwc3ltX2NtZHM9J3NlZCAtZSAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDICRhbGxvd191bmRlZmluZWRfZmxhZyAgLW8gJGxpYiAtYnVuZGxlICRsaWJvYmpzICRkZXBsaWJzJGNvbXBpbGVyX2ZsYWdzfm5tZWRpdCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKLSAgICAgIGVsc2UKLQljYXNlICRjY19iYXNlbmFtZSBpbgotCXhsYyopCi0JICBvdXRwdXRfdmVyYm9zZV9saW5rX2NtZD1lY2hvCi0JICBhcmNoaXZlX2NtZHM9JyRDQyAtcW1rc2hyb2JqICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1pbnN0YWxsX25hbWUgJHt3bH1gJEVDSE8gJHJwYXRoLyRzb25hbWVgICR2ZXJzdHJpbmcnCi0JICBtb2R1bGVfY21kcz0nJENDICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliIC1idW5kbGUgJGxpYm9ianMgJGRlcGxpYnMkY29tcGlsZXJfZmxhZ3MnCi0JICAjIERvbid0IGZpeCB0aGlzIGJ5IHVzaW5nIHRoZSBsZCAtZXhwb3J0ZWRfc3ltYm9sc19saXN0IGZsYWcsIGl0IGRvZXNuJ3QgZXhpc3QgaW4gb2xkZXIgZGFyd2luIGxkcwotCSAgYXJjaGl2ZV9leHBzeW1fY21kcz0nc2VkICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgLXFta3Nocm9iaiAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0taW5zdGFsbF9uYW1lICR7d2x9JHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZ35ubWVkaXQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCi0JICBtb2R1bGVfZXhwc3ltX2NtZHM9J3NlZCAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDICRhbGxvd191bmRlZmluZWRfZmxhZyAgLW8gJGxpYiAtYnVuZGxlICRsaWJvYmpzICRkZXBsaWJzJGNvbXBpbGVyX2ZsYWdzfm5tZWRpdCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKLQkgIDs7Ci0JKikKLQkgIGxkX3NobGlicz1ubwotCSAgOzsKLQllc2FjCi0gICAgICBmaQorCisgIGFyY2hpdmVfY21kc19uZWVkX2xjPW5vCisgIGhhcmRjb2RlX2RpcmVjdD1ubworICBoYXJkY29kZV9hdXRvbWF0aWM9eWVzCisgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9dW5zdXBwb3J0ZWQKKyAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9JycKKyAgbGlua19hbGxfZGVwbGlicz15ZXMKKyAgYWxsb3dfdW5kZWZpbmVkX2ZsYWc9IiRfbHRfZGFyX2FsbG93X3VuZGVmaW5lZCIKKyAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgaWZvcnQqKSBfbHRfZGFyX2Nhbl9zaGFyZWQ9eWVzIDs7CisgICAgICopIF9sdF9kYXJfY2FuX3NoYXJlZD0kR0NDIDs7CisgIGVzYWMKKyAgaWYgdGVzdCAiJF9sdF9kYXJfY2FuX3NoYXJlZCIgPSAieWVzIjsgdGhlbgorICAgIG91dHB1dF92ZXJib3NlX2xpbmtfY21kPWVjaG8KKyAgICBhcmNoaXZlX2NtZHM9IlwkQ0MgLWR5bmFtaWNsaWIgXCRhbGxvd191bmRlZmluZWRfZmxhZyAtbyBcJGxpYiBcJGxpYm9ianMgXCRkZXBsaWJzIFwkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSBcJHJwYXRoL1wkc29uYW1lIFwkdmVyc3RyaW5nICRfbHRfZGFyX3NpbmdsZV9tb2Qke19sdF9kc3ltdXRpbH0iCisgICAgbW9kdWxlX2NtZHM9IlwkQ0MgXCRhbGxvd191bmRlZmluZWRfZmxhZyAtbyBcJGxpYiAtYnVuZGxlIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9mbGFncyR7X2x0X2RzeW11dGlsfSIKKyAgICBhcmNoaXZlX2V4cHN5bV9jbWRzPSJzZWQgJ3MsXixfLCcgPCBcJGV4cG9ydF9zeW1ib2xzID4gXCRvdXRwdXRfb2JqZGlyL1wke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltflwkQ0MgLWR5bmFtaWNsaWIgXCRhbGxvd191bmRlZmluZWRfZmxhZyAtbyBcJGxpYiBcJGxpYm9ianMgXCRkZXBsaWJzIFwkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSBcJHJwYXRoL1wkc29uYW1lIFwkdmVyc3RyaW5nICR7X2x0X2Rhcl9zaW5nbGVfbW9kfSR7X2x0X2Rhcl9leHBvcnRfc3ltc30ke19sdF9kc3ltdXRpbH0iCisgICAgbW9kdWxlX2V4cHN5bV9jbWRzPSJzZWQgLWUgJ3MsXixfLCcgPCBcJGV4cG9ydF9zeW1ib2xzID4gXCRvdXRwdXRfb2JqZGlyL1wke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltflwkQ0MgXCRhbGxvd191bmRlZmluZWRfZmxhZyAtbyBcJGxpYiAtYnVuZGxlIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9mbGFncyR7X2x0X2Rhcl9leHBvcnRfc3ltc30ke19sdF9kc3ltdXRpbH0iCisKKyAgZWxzZQorICBsZF9zaGxpYnM9bm8KKyAgZmkKKwogICAgICAgOzsKIAogICAgIGRndXgqKQpAQCAtODMxNyw3ICs5MzUyLDcgQEAKIAkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJHt3bH0raCAke3dsfSRzb25hbWUgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCiAJICA7OwogCWlhNjQqKQotCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAke3dsfStoICR7d2x9JHNvbmFtZSAke3dsfStub2RlZmF1bHRycGF0aCAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKKwkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgLWZQSUMgJHt3bH0raCAke3dsfSRzb25hbWUgJHt3bH0rbm9kZWZhdWx0cnBhdGggLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCiAJICA7OwogCSopCiAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkIC1mUElDICR7d2x9K2ggJHt3bH0kc29uYW1lICR7d2x9K2IgJHt3bH0kaW5zdGFsbF9saWJkaXIgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCkBAIC04NDM1LDI1ICs5NDcwLDI5IEBACiAgICAgICA7OwogCiAgICAgb3BlbmJzZCopCi0gICAgICBoYXJkY29kZV9kaXJlY3Q9eWVzCi0gICAgICBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPW5vCi0gICAgICBoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9eWVzCi0gICAgICBpZiB0ZXN0IC16ICJgZWNobyBfX0VMRl9fIHwgJENDIC1FIC0gfCAkR1JFUCBfX0VMRl9fYCIgfHwgdGVzdCAiJGhvc3Rfb3MtJGhvc3RfY3B1IiA9ICJvcGVuYnNkMi44LXBvd2VycGMiOyB0aGVuCi0JYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCi0JYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1zaGFyZWQgJHBpY19mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXJldGFpbi1zeW1ib2xzLWZpbGUsJGV4cG9ydF9zeW1ib2xzJwotCWhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoLCRsaWJkaXInCi0JZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPScke3dsfS1FJwotICAgICAgZWxzZQotICAgICAgICBjYXNlICRob3N0X29zIGluCi0Jb3BlbmJzZFswMV0uKiB8IG9wZW5ic2QyLlswLTddIHwgb3BlbmJzZDIuWzAtN10uKikKLQkgIGFyY2hpdmVfY21kcz0nJExEIC1Cc2hhcmVhYmxlIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKLQkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1SJGxpYmRpcicKLQkgIDs7Ci0JKikKKyAgICAgIGlmIHRlc3QgLWYgL3Vzci9saWJleGVjL2xkLnNvOyB0aGVuCisJaGFyZGNvZGVfZGlyZWN0PXllcworCWhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KKwloYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9eWVzCisJaWYgdGVzdCAteiAiYGVjaG8gX19FTEZfXyB8ICRDQyAtRSAtIHwgJEdSRVAgX19FTEZfX2AiIHx8IHRlc3QgIiRob3N0X29zLSRob3N0X2NwdSIgPSAib3BlbmJzZDIuOC1wb3dlcnBjIjsgdGhlbgogCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCisJICBhcmNoaXZlX2V4cHN5bV9jbWRzPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tcmV0YWluLXN5bWJvbHMtZmlsZSwkZXhwb3J0X3N5bWJvbHMnCiAJICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ycGF0aCwkbGliZGlyJwotCSAgOzsKLSAgICAgICAgZXNhYworCSAgZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPScke3dsfS1FJworCWVsc2UKKwkgIGNhc2UgJGhvc3Rfb3MgaW4KKwkgICBvcGVuYnNkWzAxXS4qIHwgb3BlbmJzZDIuWzAtN10gfCBvcGVuYnNkMi5bMC03XS4qKQorCSAgICAgYXJjaGl2ZV9jbWRzPSckTEQgLUJzaGFyZWFibGUgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzJworCSAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLVIkbGliZGlyJworCSAgICAgOzsKKwkgICAqKQorCSAgICAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCisJICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ycGF0aCwkbGliZGlyJworCSAgICAgOzsKKwkgIGVzYWMKKwlmaQorICAgICAgZWxzZQorCWxkX3NobGlicz1ubwogICAgICAgZmkKICAgICAgIDs7CiAKQEAgLTg4OTIsOCArOTkzMSw4IEBACiAKICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcyIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcy4uLiAkRUNIT19DIiA+JjYKLXdpdGhHQ0M9JEdDQwotaWYgdGVzdCAiJHdpdGhHQ0MiID0geWVzOyB0aGVuCisKK2lmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgIGNhc2UgJGhvc3Rfb3MgaW4KICAgICBkYXJ3aW4qKSBsdF9hd2tfYXJnPSIvXmxpYnJhcmllczovLC9MUi8iIDs7CiAgICAgKikgbHRfYXdrX2FyZz0iL15saWJyYXJpZXM6LyIgOzsKQEAgLTkwMTksMTMgKzEwMDU4LDE4IEBACiAgIDs7CiAKIGFtaWdhb3MqKQotICBpZiB0ZXN0ICIkaG9zdF9jcHUiID0gbTY4azsgdGhlbgorICBjYXNlICRob3N0X2NwdSBpbgorICBwb3dlcnBjKQorICAgICMgU2luY2UgSnVseSAyMDA3IEFtaWdhT1M0IG9mZmljaWFsbHkgc3VwcG9ydHMgLnNvIGxpYnJhcmllcy4KKyAgICAjIFdoZW4gY29tcGlsaW5nIHRoZSBleGVjdXRhYmxlLCBhZGQgLXVzZS1keW5sZCAtTHNvYmpzOiB0byB0aGUgY29tcGlsZWxpbmUuCisgICAgbGlicmFyeV9uYW1lc19zcGVjPScke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kdmVyc3VmZml4ICR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSRtYWpvciAkbGlibmFtZSR7c2hhcmVkX2V4dH0nCisgICAgOzsKKyAgbTY4aykKICAgICBsaWJyYXJ5X25hbWVzX3NwZWM9JyRsaWJuYW1lLml4bGlicmFyeSAkbGlibmFtZS5hJwogICAgICMgQ3JlYXRlICR7bGlibmFtZX1faXhsaWJyYXJ5LmEgZW50cmllcyBpbiAvc3lzL2xpYnMuCiAgICAgZmluaXNoX2V2YWw9J2ZvciBsaWIgaW4gYGxzICRsaWJkaXIvKi5peGxpYnJhcnkgMj4vZGV2L251bGxgOyBkbyBsaWJuYW1lPWAkRUNITyAiWCRsaWIiIHwgJFhzZWQgLWUgJ1wnJ3MlXi4qL1woW14vXSpcKVwuaXhsaWJyYXJ5JCVcMSUnXCcnYDsgdGVzdCAkUk0gL3N5cy9saWJzLyR7bGlibmFtZX1faXhsaWJyYXJ5LmE7ICRzaG93ICJjZCAvc3lzL2xpYnMgJiYgJExOX1MgJGxpYiAke2xpYm5hbWV9X2l4bGlicmFyeS5hIjsgY2QgL3N5cy9saWJzICYmICRMTl9TICRsaWIgJHtsaWJuYW1lfV9peGxpYnJhcnkuYSB8fCBleGl0IDE7IGRvbmUnCi0gIGVsc2UKLSAgICBkeW5hbWljX2xpbmtlcj1ubwotICBmaQorICAgIDs7CisgIGVzYWMKICAgOzsKIAogYmVvcyopCkBAIC05MDQ4LDE0ICsxMDA5MiwxNCBAQAogICAjIGxpYnRvb2wgdG8gaGFyZC1jb2RlIHRoZXNlIGludG8gcHJvZ3JhbXMKICAgOzsKIAotY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqKQorY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICB2ZXJzaW9uX3R5cGU9d2luZG93cwogICBzaHJleHRfY21kcz0iLmRsbCIKICAgbmVlZF92ZXJzaW9uPW5vCiAgIG5lZWRfbGliX3ByZWZpeD1ubwogCi0gIGNhc2UgJHdpdGhHQ0MsJGhvc3Rfb3MgaW4KLSAgeWVzLGN5Z3dpbiogfCB5ZXMsbWluZ3cqIHwgeWVzLHB3MzIqKQorICBjYXNlICRHQ0MsJGhvc3Rfb3MgaW4KKyAgeWVzLGN5Z3dpbiogfCB5ZXMsbWluZ3cqIHwgeWVzLHB3MzIqIHwgeWVzLGNlZ2NjKikKICAgICBsaWJyYXJ5X25hbWVzX3NwZWM9JyRsaWJuYW1lLmRsbC5hJwogICAgICMgRExMIGlzIGluc3RhbGxlZCB0byAkKGxpYmRpcikvLi4vYmluIGJ5IHBvc3RpbnN0YWxsX2NtZHMKICAgICBwb3N0aW5zdGFsbF9jbWRzPSdiYXNlX2ZpbGU9YGJhc2VuYW1lIFwke2ZpbGV9YH4KQEAgLTkwNzgsNyArMTAxMjIsNyBAQAogICAgICAgc29uYW1lX3NwZWM9J2BlY2hvICR7bGlibmFtZX0gfCBzZWQgLWUgJ3MvXmxpYi9jeWcvJ2BgZWNobyAke3JlbGVhc2V9IHwgJFNFRCAtZSAncy9bLl0vLS9nJ2Ake3ZlcnN1ZmZpeH0ke3NoYXJlZF9leHR9JwogICAgICAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIvdXNyL2xpYiAvbGliL3czMmFwaSAvbGliIC91c3IvbG9jYWwvbGliIgogICAgICAgOzsKLSAgICBtaW5ndyopCisgICAgbWluZ3cqIHwgY2VnY2MqKQogICAgICAgIyBNaW5HVyBETExzIHVzZSB0cmFkaXRpb25hbCAnbGliJyBwcmVmaXgKICAgICAgIHNvbmFtZV9zcGVjPScke2xpYm5hbWV9YGVjaG8gJHtyZWxlYXNlfSB8ICRTRUQgLWUgJ3MvWy5dLy0vZydgJHt2ZXJzdWZmaXh9JHtzaGFyZWRfZXh0fScKICAgICAgIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz1gJENDIC1wcmludC1zZWFyY2gtZGlycyB8ICRHUkVQICJebGlicmFyaWVzOiIgfCAkU0VEIC1lICJzL15saWJyYXJpZXM6Ly8iIC1lICJzLD0vLC8sZyJgCkBAIC05MzQ0LDcgKzEwMzg4LDcgQEAKICAgYWNfc3RhdHVzPSQ/CiAgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKICAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KLSAgaWYgICgkT0JKRFVNUCAtcCBjb25mdGVzdCRhY19leGVleHQpIDI+L2Rldi9udWxsIHwgZ3JlcCAiUlVOUEFUSC4qJGxpYmRpciI7IHRoZW4KKyAgaWYgICgkT0JKRFVNUCAtcCBjb25mdGVzdCRhY19leGVleHQpIDI+L2Rldi9udWxsIHwgZ3JlcCAiUlVOUEFUSC4qJGxpYmRpciIgPi9kZXYvbnVsbDsgdGhlbgogICBzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9eWVzCiBmaQogCkBAIC05MzY1LDcgKzEwNDA5LDcgQEAKIAogICAjIEFwcGVuZCBsZC5zby5jb25mIGNvbnRlbnRzIHRvIHRoZSBzZWFyY2ggcGF0aAogICBpZiB0ZXN0IC1mIC9ldGMvbGQuc28uY29uZjsgdGhlbgotICAgIGx0X2xkX2V4dHJhPWBhd2sgJy9eaW5jbHVkZSAvIHsgc3lzdGVtKHNwcmludGYoImNkIC9ldGM7IGNhdCAlcyAyPi9kZXYvbnVsbCIsIFwkMikpOyBza2lwID0gMTsgfSB7IGlmICghc2tpcCkgcHJpbnQgXCQwOyBza2lwID0gMDsgfScgPCAvZXRjL2xkLnNvLmNvbmYgfCAkU0VEIC1lICdzLyMuKi8vO3MvWzosCV0vIC9nO3MvPVtePV0qJC8vO3MvPVtePSBdKiAvIC9nOy9eJC9kJyB8IHRyICdcbicgJyAnYAorICAgIGx0X2xkX2V4dHJhPWBhd2sgJy9eaW5jbHVkZSAvIHsgc3lzdGVtKHNwcmludGYoImNkIC9ldGM7IGNhdCAlcyAyPi9kZXYvbnVsbCIsIFwkMikpOyBza2lwID0gMTsgfSB7IGlmICghc2tpcCkgcHJpbnQgXCQwOyBza2lwID0gMDsgfScgPCAvZXRjL2xkLnNvLmNvbmYgfCAkU0VEIC1lICdzLyMuKi8vOy9eWwkgXSpod2NhcFsJIF0vZDtzL1s6LAldLyAvZztzLz1bXj1dKiQvLztzLz1bXj0gXSogLyAvZzsvXiQvZCcgfCB0ciAnXG4nICcgJ2AKICAgICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0iL2xpYiAvdXNyL2xpYiAkbHRfbGRfZXh0cmEiCiAgIGZpCiAKQEAgLTk1NDksNyArMTA1OTMsNyBAQAogICB2ZXJzaW9uX3R5cGU9bGludXgKICAgbmVlZF9saWJfcHJlZml4PW5vCiAgIG5lZWRfdmVyc2lvbj1ubwotICBsaWJyYXJ5X25hbWVfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JHZlcnN1ZmZpeCAke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kbWFqb3IgJGxpYm5hbWUke3NoYXJlZF9leHR9JworICBsaWJyYXJ5X25hbWVzX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSR2ZXJzdWZmaXggJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JG1ham9yICRsaWJuYW1lJHtzaGFyZWRfZXh0fScKICAgc2hsaWJwYXRoX3Zhcj1MRF9MSUJSQVJZX1BBVEgKICAgc2hsaWJwYXRoX292ZXJyaWRlc19ydW5wYXRoPW5vCiAgIGhhcmRjb2RlX2ludG9fbGlicz15ZXMKQEAgLTk1NzUsNiArMTA2MTksMTMgQEAKICAgdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms9IiR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluayBHQ0NfRVhFQ19QUkVGSVggQ09NUElMRVJfUEFUSCBMSUJSQVJZX1BBVEgiCiBmaQogCitpZiB0ZXN0ICIke2x0X2N2X3N5c19saWJfc2VhcmNoX3BhdGhfc3BlYytzZXR9IiA9IHNldDsgdGhlbgorICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9IiRsdF9jdl9zeXNfbGliX3NlYXJjaF9wYXRoX3NwZWMiCitmaQoraWYgdGVzdCAiJHtsdF9jdl9zeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYytzZXR9IiA9IHNldDsgdGhlbgorICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0iJGx0X2N2X3N5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjIgorZmkKKwogCiAKIApAQCAtOTcxOSw3ICsxMDc3MCw3IEBACiAgICAgbHRfY3ZfZGxvcGVuX3NlbGY9eWVzCiAgICAgOzsKIAotICBtaW5ndyogfCBwdzMyKikKKyAgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgICAgbHRfY3ZfZGxvcGVuPSJMb2FkTGlicmFyeSIKICAgICBsdF9jdl9kbG9wZW5fbGlicz0KICAgICA7OwpAQCAtOTk2Niw3ICsxMTAxNyw3IEBACiBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfbGliX2RsZF9zaGxfbG9hZCIgPiY1CiBlY2hvICIke0VDSE9fVH0kYWNfY3ZfbGliX2RsZF9zaGxfbG9hZCIgPiY2CiBpZiB0ZXN0ICRhY19jdl9saWJfZGxkX3NobF9sb2FkID0geWVzOyB0aGVuCi0gIGx0X2N2X2Rsb3Blbj0ic2hsX2xvYWQiIGx0X2N2X2Rsb3Blbl9saWJzPSItZGxkIgorICBsdF9jdl9kbG9wZW49InNobF9sb2FkIiBsdF9jdl9kbG9wZW5fbGlicz0iLWxkbGQiCiBlbHNlCiAgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgZGxvcGVuIiA+JjUKIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIGRsb3Blbi4uLiAkRUNIT19DIiA+JjYKQEAgLTEwMjYwLDcgKzExMzExLDcgQEAKIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9saWJfZGxkX2RsZF9saW5rIiA+JjUKIGVjaG8gIiR7RUNIT19UfSRhY19jdl9saWJfZGxkX2RsZF9saW5rIiA+JjYKIGlmIHRlc3QgJGFjX2N2X2xpYl9kbGRfZGxkX2xpbmsgPSB5ZXM7IHRoZW4KLSAgbHRfY3ZfZGxvcGVuPSJkbGRfbGluayIgbHRfY3ZfZGxvcGVuX2xpYnM9Ii1kbGQiCisgIGx0X2N2X2Rsb3Blbj0iZGxkX2xpbmsiIGx0X2N2X2Rsb3Blbl9saWJzPSItbGRsZCIKIGZpCiAKIApAQCAtMTAzMDksNyArMTEzNjAsNyBAQAogICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCiAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3duCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0jbGluZSAxMDMxMiAiY29uZmlndXJlIgorI2xpbmUgMTEzNjMgImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5oIgogCiAjaWYgSEFWRV9ETEZDTl9ICkBAIC0xMDM1MCwxMCArMTE0MDEsNiBAQAogIyAgZW5kaWYKICNlbmRpZgogCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIgdm9pZCBleGl0IChpbnQpOwotI2VuZGlmCi0KIHZvaWQgZm5vcmQoKSB7IGludCBpPTQyO30KIGludCBtYWluICgpCiB7CkBAIC0xMDM2OSw3ICsxMTQxNiw3IEBACiAgIGVsc2UKICAgICBwdXRzIChkbGVycm9yICgpKTsKIAotICAgIGV4aXQgKHN0YXR1cyk7CisgIHJldHVybiBzdGF0dXM7CiB9CiBfTFRfRU9GCiAgIGlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2xpbmtcIiIpID4mNQpAQCAtMTA0MDksNyArMTE0NTYsNyBAQAogICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCiAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3duCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0jbGluZSAxMDQxMiAiY29uZmlndXJlIgorI2xpbmUgMTE0NTkgImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5oIgogCiAjaWYgSEFWRV9ETEZDTl9ICkBAIC0xMDQ1MCwxMCArMTE0OTcsNiBAQAogIyAgZW5kaWYKICNlbmRpZgogCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIgdm9pZCBleGl0IChpbnQpOwotI2VuZGlmCi0KIHZvaWQgZm5vcmQoKSB7IGludCBpPTQyO30KIGludCBtYWluICgpCiB7CkBAIC0xMDQ2OSw3ICsxMTUxMiw3IEBACiAgIGVsc2UKICAgICBwdXRzIChkbGVycm9yICgpKTsKIAotICAgIGV4aXQgKHN0YXR1cyk7CisgIHJldHVybiBzdGF0dXM7CiB9CiBfTFRfRU9GCiAgIGlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2xpbmtcIiIpID4mNQpAQCAtMTIxNjIsNiArMTMyMDUsNyBAQAogbHRfTkwyU1A9J2AkRUNITyAiWCRsdF9OTDJTUCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogcmVsb2FkX2ZsYWc9J2AkRUNITyAiWCRyZWxvYWRfZmxhZyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogcmVsb2FkX2NtZHM9J2AkRUNITyAiWCRyZWxvYWRfY21kcyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJworT0JKRFVNUD0nYCRFQ0hPICJYJE9CSkRVTVAiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIGRlcGxpYnNfY2hlY2tfbWV0aG9kPSdgJEVDSE8gIlgkZGVwbGlic19jaGVja19tZXRob2QiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIGZpbGVfbWFnaWNfY21kPSdgJEVDSE8gIlgkZmlsZV9tYWdpY19jbWQiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIEFSPSdgJEVDSE8gIlgkQVIiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTEyMTc4LDYgKzEzMjIyLDcgQEAKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiWCRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0nYCRFQ0hPICJYJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nYCRFQ0hPICJYJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSdgJEVDSE8gIlgkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogb2JqZGlyPSdgJEVDSE8gIlgkb2JqZGlyIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBTSEVMTD0nYCRFQ0hPICJYJFNIRUxMIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBFQ0hPPSdgJEVDSE8gIlgkRUNITyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMTIxODgsNiArMTMyMzMsMTEgQEAKIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSdgJEVDSE8gIlgkbHRfcHJvZ19jb21waWxlcl9zdGF0aWMiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIGx0X2N2X3Byb2dfY29tcGlsZXJfY19vPSdgJEVDSE8gIlgkbHRfY3ZfcHJvZ19jb21waWxlcl9jX28iIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIG5lZWRfbG9ja3M9J2AkRUNITyAiWCRuZWVkX2xvY2tzIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitEU1lNVVRJTD0nYCRFQ0hPICJYJERTWU1VVElMIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitOTUVESVQ9J2AkRUNITyAiWCROTUVESVQiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKK0xJUE89J2AkRUNITyAiWCRMSVBPIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitPVE9PTD0nYCRFQ0hPICJYJE9UT09MIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitPVE9PTDY0PSdgJEVDSE8gIlgkT1RPT0w2NCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogbGliZXh0PSdgJEVDSE8gIlgkbGliZXh0IiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBzaHJleHRfY21kcz0nYCRFQ0hPICJYJHNocmV4dF9jbWRzIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBleHRyYWN0X2V4cHN5bXNfY21kcz0nYCRFQ0hPICJYJGV4dHJhY3RfZXhwc3ltc19jbWRzIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0xMjI2MSw2ICsxMzMxMSw3IEBACiBsdF9TUDJOTCBcCiBsdF9OTDJTUCBcCiByZWxvYWRfZmxhZyBcCitPQkpEVU1QIFwKIGRlcGxpYnNfY2hlY2tfbWV0aG9kIFwKIGZpbGVfbWFnaWNfY21kIFwKIEFSIFwKQEAgLTEyMjczLDYgKzEzMzI0LDcgQEAKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXAogbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wgXAogbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MgXAorbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCBcCiBTSEVMTCBcCiBFQ0hPIFwKIGx0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnIFwKQEAgLTEyMjgxLDYgKzEzMzMzLDExIEBACiBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYyBcCiBsdF9jdl9wcm9nX2NvbXBpbGVyX2NfbyBcCiBuZWVkX2xvY2tzIFwKK0RTWU1VVElMIFwKK05NRURJVCBcCitMSVBPIFwKK09UT09MIFwKK09UT09MNjQgXAogc2hyZXh0X2NtZHMgXAogZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjIFwKIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjIFwKQEAgLTEyNTM1LDExICsxMzU5MiwyMyBAQAogcyxAYWNfY3RfRFVNUEJJTkAsJGFjX2N0X0RVTVBCSU4sO3QgdAogcyxATk1ALCROTSw7dCB0CiBzLEBMTl9TQCwkTE5fUyw7dCB0CitzLEBPQkpEVU1QQCwkT0JKRFVNUCw7dCB0CitzLEBhY19jdF9PQkpEVU1QQCwkYWNfY3RfT0JKRFVNUCw7dCB0CiBzLEBBUkAsJEFSLDt0IHQKIHMsQGFjX2N0X0FSQCwkYWNfY3RfQVIsO3QgdAogcyxAUkFOTElCQCwkUkFOTElCLDt0IHQKIHMsQGFjX2N0X1JBTkxJQkAsJGFjX2N0X1JBTkxJQiw7dCB0CiBzLEBsdF9FQ0hPQCwkbHRfRUNITyw7dCB0CitzLEBEU1lNVVRJTEAsJERTWU1VVElMLDt0IHQKK3MsQGFjX2N0X0RTWU1VVElMQCwkYWNfY3RfRFNZTVVUSUwsO3QgdAorcyxATk1FRElUQCwkTk1FRElULDt0IHQKK3MsQGFjX2N0X05NRURJVEAsJGFjX2N0X05NRURJVCw7dCB0CitzLEBMSVBPQCwkTElQTyw7dCB0CitzLEBhY19jdF9MSVBPQCwkYWNfY3RfTElQTyw7dCB0CitzLEBPVE9PTEAsJE9UT09MLDt0IHQKK3MsQGFjX2N0X09UT09MQCwkYWNfY3RfT1RPT0wsO3QgdAorcyxAT1RPT0w2NEAsJE9UT09MNjQsO3QgdAorcyxAYWNfY3RfT1RPT0w2NEAsJGFjX2N0X09UT09MNjQsO3QgdAogcyxAVVNFX05MU0AsJFVTRV9OTFMsO3QgdAogcyxATElCSU5UTEAsJExJQklOVEwsO3QgdAogcyxATElCSU5UTF9ERVBALCRMSUJJTlRMX0RFUCw7dCB0CkBAIC0xMzI2NSwzNiArMTQzMzQsMzYgQEAKICMhICRTSEVMTAogCiAjIGAkRUNITyAiJG9maWxlIiB8IHNlZCAncyVeLiovJSUnYCAtIFByb3ZpZGUgZ2VuZXJhbGl6ZWQgbGlicmFyeS1idWlsZGluZyBzdXBwb3J0IHNlcnZpY2VzLgotIyBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSAkYXNfbWUgKEdOVSAkUEFDS0FHRSRUSU1FU1RBTVApICRWRVJTSU9OCisjIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5ICRhc19tZSAoJFBBQ0tBR0UkVElNRVNUQU1QKSAkVkVSU0lPTgogIyBMaWJ0b29sIHdhcyBjb25maWd1cmVkIG9uIGhvc3QgYChob3N0bmFtZSB8fCB1bmFtZSAtbikgMj4vZGV2L251bGwgfCBzZWQgMXFgOgogIyBOT1RFOiBDaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgYmUgbG9zdDogbG9vayBhdCBsdG1haW4uc2guCiAjCi0jIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMywgMjAwNCwgMjAwNSwKLSMgMjAwNiwgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgICBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsCisjICAgICAgICAgICAgICAgICAyMDA2LCAyMDA3LCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyAgIFdyaXR0ZW4gYnkgR29yZG9uIE1hdHppZ2tlaXQsIDE5OTYKICMKLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIExpYnRvb2w6Ci0jIE9yaWdpbmFsbHkgYnkgR29yZG9uIE1hdHppZ2tlaXQgPGdvcmRAZ251LmFpLm1pdC5lZHU+LCAxOTk2CisjICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIExpYnRvb2wuCiAjCi0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0jIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjIEdOVSBMaWJ0b29sIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworIyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorIyB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICMKLSMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAotIyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCisjIGlmIHlvdSBkaXN0cmlidXRlIHRoaXMgZmlsZSBhcyBwYXJ0IG9mIGEgcHJvZ3JhbSBvciBsaWJyYXJ5IHRoYXQKKyMgaXMgYnVpbHQgdXNpbmcgR05VIExpYnRvb2wsIHlvdSBtYXkgaW5jbHVkZSB0aGlzIGZpbGUgdW5kZXIgdGhlCisjIHNhbWUgZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgorIworIyBHTlUgTGlidG9vbCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAjCiAjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIGEgY29weSBjYW4gYmUgZG93bmxvYWRlZCBmcm9tCi0jIGh0dHA6Ly93d3cuZ251Lm9yZy9jb3B5bGVmdC9ncGwuaHRtbCwgb3IgYnkgd3JpdGluZyB0byB0aGUgRnJlZQotIyBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCi0jIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSMKLSMgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGlmIHlvdQotIyBkaXN0cmlidXRlIHRoaXMgZmlsZSBhcyBwYXJ0IG9mIGEgcHJvZ3JhbSB0aGF0IGNvbnRhaW5zIGEKLSMgY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGVkIGJ5IEF1dG9jb25mLCB5b3UgbWF5IGluY2x1ZGUgaXQgdW5kZXIKLSMgdGhlIHNhbWUgZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgorIyBhbG9uZyB3aXRoIEdOVSBMaWJ0b29sOyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgYSBjb3B5CisjIGNhbiBiZSBkb3dubG9hZGVkIGZyb20gaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sLCBvcgorIyBvYnRhaW5lZCBieSB3cml0aW5nIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisjIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogCiAKICMgVGhlIG5hbWVzIG9mIHRoZSB0YWdnZWQgY29uZmlndXJhdGlvbnMgc3VwcG9ydGVkIGJ5IHRoaXMgc2NyaXB0LgpAQCAtMTMzNzEsNiArMTQ0NDAsOSBAQAogcmVsb2FkX2ZsYWc9JGx0X3JlbG9hZF9mbGFnCiByZWxvYWRfY21kcz0kbHRfcmVsb2FkX2NtZHMKIAorIyBBbiBvYmplY3Qgc3ltYm9sIGR1bXBlci4KK09CSkRVTVA9JGx0X09CSkRVTVAKKwogIyBNZXRob2QgdG8gY2hlY2sgd2hldGhlciBkZXBlbmRlbnQgbGlicmFyaWVzIGFyZSBzaGFyZWQgb2JqZWN0cy4KIGRlcGxpYnNfY2hlY2tfbWV0aG9kPSRsdF9kZXBsaWJzX2NoZWNrX21ldGhvZAogCkBAIC0xMzQwNCw2ICsxNDQ3Niw5IEBACiAjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpci4KIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9JGx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzCiAKKyMgVHJhbnNmb3JtIHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBDIG5hbWUgYWRkcmVzcyBwYWlyIHdoZW4gbGliIHByZWZpeCBpcyBuZWVkZWQuCitnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9JGx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgKKwogIyBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5IHRoYXQgY29udGFpbnMgdGVtcG9yYXJ5IGxpYnRvb2wgZmlsZXMuCiBvYmpkaXI9JG9iamRpcgogCkBAIC0xMzQxOSw2ICsxNDQ5NCwyMSBAQAogIyBNdXN0IHdlIGxvY2sgZmlsZXMgd2hlbiBkb2luZyBjb21waWxhdGlvbj8KIG5lZWRfbG9ja3M9JGx0X25lZWRfbG9ja3MKIAorIyBUb29sIHRvIG1hbmlwdWxhdGUgYXJjaGl2ZWQgRFdBUkYgZGVidWcgc3ltYm9sIGZpbGVzIG9uIE1hYyBPUyBYLgorRFNZTVVUSUw9JGx0X0RTWU1VVElMCisKKyMgVG9vbCB0byBjaGFuZ2UgZ2xvYmFsIHRvIGxvY2FsIHN5bWJvbHMgb24gTWFjIE9TIFguCitOTUVESVQ9JGx0X05NRURJVAorCisjIFRvb2wgdG8gbWFuaXB1bGF0ZSBmYXQgb2JqZWN0cyBhbmQgYXJjaGl2ZXMgb24gTWFjIE9TIFguCitMSVBPPSRsdF9MSVBPCisKKyMgbGRkL3JlYWRlbGYgbGlrZSB0b29sIGZvciBNYWNoLU8gYmluYXJpZXMgb24gTWFjIE9TIFguCitPVE9PTD0kbHRfT1RPT0wKKworIyBsZGQvcmVhZGVsZiBsaWtlIHRvb2wgZm9yIDY0IGJpdCBNYWNoLU8gYmluYXJpZXMgb24gTWFjIE9TIFggMTAuNC4KK09UT09MNjQ9JGx0X09UT09MNjQKKwogIyBPbGQgYXJjaGl2ZSBzdWZmaXggKG5vcm1hbGx5ICJhIikuCiBsaWJleHQ9JGxpYmV4dAogCkBAIC0xMzY1OSw2ICsxNDc0OSw3IEBACiAgIGNhc2UgJHhzaV9zaGVsbCBpbgogICB5ZXMpCiAgICAgY2F0IDw8IFxfTFRfRU9GID4+ICIkY2ZnZmlsZSIKKwogIyBmdW5jX2Rpcm5hbWUgZmlsZSBhcHBlbmQgbm9uZGlyX3JlcGxhY2VtZW50CiAjIENvbXB1dGUgdGhlIGRpcm5hbWUgb2YgRklMRS4gIElmIG5vbmVtcHR5LCBhZGQgQVBQRU5EIHRvIHRoZSByZXN1bHQsCiAjIG90aGVyd2lzZSBzZXQgcmVzdWx0IHRvIE5PTkRJUl9SRVBMQUNFTUVOVC4KQEAgLTEzNjc2LDYgKzE0NzY3LDI3IEBACiAgIGZ1bmNfYmFzZW5hbWVfcmVzdWx0PSIkezEjIyovfSIKIH0KIAorIyBmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lIGZpbGUgYXBwZW5kIG5vbmRpcl9yZXBsYWNlbWVudAorIyBwZXJmb3JtIGZ1bmNfYmFzZW5hbWUgYW5kIGZ1bmNfZGlybmFtZSBpbiBhIHNpbmdsZSBmdW5jdGlvbgorIyBjYWxsOgorIyAgIGRpcm5hbWU6ICBDb21wdXRlIHRoZSBkaXJuYW1lIG9mIEZJTEUuICBJZiBub25lbXB0eSwKKyMgICAgICAgICAgICAgYWRkIEFQUEVORCB0byB0aGUgcmVzdWx0LCBvdGhlcndpc2Ugc2V0IHJlc3VsdAorIyAgICAgICAgICAgICB0byBOT05ESVJfUkVQTEFDRU1FTlQuCisjICAgICAgICAgICAgIHZhbHVlIHJldHVybmVkIGluICIkZnVuY19kaXJuYW1lX3Jlc3VsdCIKKyMgICBiYXNlbmFtZTogQ29tcHV0ZSBmaWxlbmFtZSBvZiBGSUxFLgorIyAgICAgICAgICAgICB2YWx1ZSByZXR1bmVkIGluICIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCisjIEltcGxlbWVudGF0aW9uIG11c3QgYmUga2VwdCBzeW5jaHJvbml6ZWQgd2l0aCBmdW5jX2Rpcm5hbWUKKyMgYW5kIGZ1bmNfYmFzZW5hbWUuIEZvciBlZmZpY2llbmN5LCB3ZSBkbyBub3QgZGVsZWdhdGUgdG8KKyMgdGhvc2UgZnVuY3Rpb25zIGJ1dCBpbnN0ZWFkIGR1cGxpY2F0ZSB0aGUgZnVuY3Rpb25hbGl0eSBoZXJlLgorZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSAoKQoreworICBjYXNlICR7MX0gaW4KKyAgICAqLyopIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7MSUvKn0kezJ9IiA7OworICAgICogICkgZnVuY19kaXJuYW1lX3Jlc3VsdD0iJHszfSIgOzsKKyAgZXNhYworICBmdW5jX2Jhc2VuYW1lX3Jlc3VsdD0iJHsxIyMqL30iCit9CisKICMgZnVuY19zdHJpcG5hbWUgcHJlZml4IHN1ZmZpeCBuYW1lCiAjIHN0cmlwIFBSRUZJWCBhbmQgU1VGRklYIG9mZiBvZiBOQU1FLgogIyBQUkVGSVggYW5kIFNVRkZJWCBtdXN0IG5vdCBjb250YWluIGdsb2JiaW5nIG9yIHJlZ2V4IHNwZWNpYWwKQEAgLTEzNzA1LDEwICsxNDgxNywzMSBAQAogICAgICopICAgIGZ1bmNfbG8yb19yZXN1bHQ9JHsxfSA7OwogICBlc2FjCiB9CisKKyMgZnVuY194Zm9ybSBsaWJvYmotb3Itc291cmNlCitmdW5jX3hmb3JtICgpCit7CisgIGZ1bmNfeGZvcm1fcmVzdWx0PSR7MSUuKn0ubG8KK30KKworIyBmdW5jX2FyaXRoIGFyaXRobWV0aWMtdGVybS4uLgorZnVuY19hcml0aCAoKQoreworICBmdW5jX2FyaXRoX3Jlc3VsdD0kKCggJCogKSkKK30KKworIyBmdW5jX2xlbiBzdHJpbmcKKyMgU1RSSU5HIG1heSBub3Qgc3RhcnQgd2l0aCBhIGh5cGhlbi4KK2Z1bmNfbGVuICgpCit7CisgIGZ1bmNfbGVuX3Jlc3VsdD0keyMxfQorfQorCiBfTFRfRU9GCiAgICAgOzsKICAgKikgIyBCb3VybmUgY29tcGF0aWJsZSBmdW5jdGlvbnMuCiAgICAgY2F0IDw8IFxfTFRfRU9GID4+ICIkY2ZnZmlsZSIKKwogIyBmdW5jX2Rpcm5hbWUgZmlsZSBhcHBlbmQgbm9uZGlyX3JlcGxhY2VtZW50CiAjIENvbXB1dGUgdGhlIGRpcm5hbWUgb2YgRklMRS4gIElmIG5vbmVtcHR5LCBhZGQgQVBQRU5EIHRvIHRoZSByZXN1bHQsCiAjIG90aGVyd2lzZSBzZXQgcmVzdWx0IHRvIE5PTkRJUl9SRVBMQUNFTUVOVC4KQEAgLTEzNzI5LDYgKzE0ODYyLDcgQEAKICAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9YCRFQ0hPICJYJHsxfSIgfCAkWHNlZCAtZSAiJGJhc2VuYW1lImAKIH0KIAorCiAjIGZ1bmNfc3RyaXBuYW1lIHByZWZpeCBzdWZmaXggbmFtZQogIyBzdHJpcCBQUkVGSVggYW5kIFNVRkZJWCBvZmYgb2YgTkFNRS4KICMgUFJFRklYIGFuZCBTVUZGSVggbXVzdCBub3QgY29udGFpbiBnbG9iYmluZyBvciByZWdleCBzcGVjaWFsCkBAIC0xMzc2MSw2ICsxNDg5NSwyNiBAQAogewogICBmdW5jX2xvMm9fcmVzdWx0PWAkRUNITyAiWCR7MX0iIHwgJFhzZWQgLWUgIiRsbzJvImAKIH0KKworIyBmdW5jX3hmb3JtIGxpYm9iai1vci1zb3VyY2UKK2Z1bmNfeGZvcm0gKCkKK3sKKyAgZnVuY194Zm9ybV9yZXN1bHQ9YCRFQ0hPICJYJHsxfSIgfCAkWHNlZCAtZSAncy9cLlteLl0qJC8ubG8vJ2AKK30KKworIyBmdW5jX2FyaXRoIGFyaXRobWV0aWMtdGVybS4uLgorZnVuY19hcml0aCAoKQoreworICBmdW5jX2FyaXRoX3Jlc3VsdD1gZXhwciAiJEAiYAorfQorCisjIGZ1bmNfbGVuIHN0cmluZworIyBTVFJJTkcgbWF5IG5vdCBzdGFydCB3aXRoIGEgaHlwaGVuLgorZnVuY19sZW4gKCkKK3sKKyAgZnVuY19sZW5fcmVzdWx0PWBleHByICIkMSIgOiAiLioiIDI+L2Rldi9udWxsIHx8IGVjaG8gJG1heF9jbWRfbGVuYAorfQorCiBfTFRfRU9GCiBlc2FjCiAKQEAgLTEzNzg1LDYgKzE0OTM5LDcgQEAKIHsKICAgZXZhbCAiJDE9XCQkMVwkMiIKIH0KKwogX0xUX0VPRgogICAgIDs7CiAgIGVzYWMKZGlmZiAtLWdpdCBhL2dwcm9mL2NvbmZpZ3VyZS5pbiBiL2dwcm9mL2NvbmZpZ3VyZS5pbgppbmRleCA5MDRlMDUxLi4yYWUxYWExIDEwMDY0NAotLS0gYS9ncHJvZi9jb25maWd1cmUuaW4KKysrIGIvZ3Byb2YvY29uZmlndXJlLmluCkBAIC0yMCw2ICsyMCw3IEBACiBBQ19QUk9HX0NDCiBBQ19HTlVfU09VUkNFCiBBQ19VU0VfU1lTVEVNX0VYVEVOU0lPTlMKK0FDX1NZU19MQVJHRUZJTEUKIEFDX1BST0dfSU5TVEFMTAogCiBMVF9JTklUCmRpZmYgLS1naXQgYS9ncHJvZi9nY29uZmlnLmluIGIvZ3Byb2YvZ2NvbmZpZy5pbgppbmRleCA3MDU4NzJjLi43ZmExMzYyIDEwMDY0NAotLS0gYS9ncHJvZi9nY29uZmlnLmluCisrKyBiL2dwcm9mL2djb25maWcuaW4KQEAgLTcxLDExICs3MSwxNyBAQAogLyogVmVyc2lvbiBudW1iZXIgb2YgcGFja2FnZSAqLwogI3VuZGVmIFZFUlNJT04KIAorLyogTnVtYmVyIG9mIGJpdHMgaW4gYSBmaWxlIG9mZnNldCwgb24gaG9zdHMgd2hlcmUgdGhpcyBpcyBzZXR0YWJsZS4gKi8KKyN1bmRlZiBfRklMRV9PRkZTRVRfQklUUworCiAvKiBFbmFibGUgR05VIGV4dGVuc2lvbnMgb24gc3lzdGVtcyB0aGF0IGhhdmUgdGhlbS4gICovCiAjaWZuZGVmIF9HTlVfU09VUkNFCiAjIHVuZGVmIF9HTlVfU09VUkNFCiAjZW5kaWYKIAorLyogRGVmaW5lIGZvciBsYXJnZSBmaWxlcywgb24gQUlYLXN0eWxlIGhvc3RzLiAqLworI3VuZGVmIF9MQVJHRV9GSUxFUworCiAvKiBEZWZpbmUgdG8gMSBpZiBvbiBNSU5JWC4gKi8KICN1bmRlZiBfTUlOSVgKIApkaWZmIC0tZ2l0IGEvZ3Byb2YvcG8vcm8ucG8gYi9ncHJvZi9wby9yby5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWU0NTlhCi0tLSAvZGV2L251bGwKKysrIGIvZ3Byb2YvcG8vcm8ucG8KQEAgLTAsMCArMSw1NDggQEAKKyMgTWVzYWplbGUg7m4gbGltYmEgcm9t4m7jIHBlbnRydSBncHJvZi0yLjE0cmVsMDMwNzEyCisjIENvcHlyaWdodCAoQykgMjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQWNlc3QgZmk/aWVyIGVzdGUgZGlzdHJpYnVpdCBzdWIgYWNlZWE/aSBsaWNlbj8/IGNhIHBhY2hldHVsIGdwcm9mCisjIEV1Z2VuIEhvYW5jYSA8ZXVnZW5oQHVyYmFuLWdyYWZ4LnJvPiwgMjAwMy4KKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGdwcm9mIDIuMTRyZWwwMzA3MTJcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwMy0wNy0xMSAxMzo1OCswOTMwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwMy0wOC0yMyAwOTowMiswMzAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBFdWdlbiBIb2FuY2EgPGV1Z2VuaEB1cmJhbi1ncmFmeC5ybz5cbiIKKyJMYW5ndWFnZS1UZWFtOiBSb21hbmlhbiA8dHJhbnNsYXRpb24tdGVhbS1yb0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMlxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKworIzogYWxwaGEuYzoxMDMgbWlwcy5jOjU3Cittc2dpZCAiPGluZGlyZWN0IGNoaWxkPiIKK21zZ3N0ciAiPGNvcGlsIGluZGlyZWN0PiIKKworIzogYWxwaGEuYzoxMjAgbWlwcy5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIltmaW5kX2NhbGxdICVzOiAweCVseCB0byAweCVseFxuIgorbXNnc3RyICJbZmluZF9jYWxsXSAlczogMHglbHggc3ByZSAweCVseFxuIgorCisjOiBhbHBoYS5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICJbZmluZF9jYWxsXSAweCVseDoganNyJXMgPGluZGlyZWN0X2NoaWxkPlxuIgorbXNnc3RyICJbZmluZF9jYWxsXSAweCVseDoganNyJXMgPGNvcGlsIGluZGlyZWN0PlxuIgorCisjOiBhbHBoYS5jOjE1MgorIywgYy1mb3JtYXQKK21zZ2lkICJbZmluZF9jYWxsXSAweCVseDogYnNyIgorbXNnc3RyICJbZmluZF9jYWxsXSAweCVseDogYnNyIgorCisjOiBiYXNpY19ibG9ja3MuYzoxMzQgY2FsbF9ncmFwaC5jOjk0IGhpc3QuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGVcbiIKK21zZ3N0ciAiJXM6ICVzOiBzZuJyuml0IGJydXNjIGRlIGZpumllclxuIgorCisjOiBiYXNpY19ibG9ja3MuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGlnbm9yaW5nIGJhc2ljLWJsb2NrIGV4ZWMgY291bnRzICh1c2UgLWwgb3IgLS1saW5lKVxuIgorbXNnc3RyICIlczogYXZlcnRpc21lbnQ6IHNlIGlnbm9y4yBudW3jcuN0b2FyZWEgZGUgYmxvY3VyaSBleGVjdXRhYmlsZSBkZSBiYXrjIChmb2xvc2n+aSAtbCBvciAtLWxpbmUpXG4iCisKKyMuIEZJWE1FOiBUaGlzIG9ubHkgd29ya3MgaWYgYmZkX3ZtYSBpcyB1bnNpZ25lZCBsb25nLgorIzogYmFzaWNfYmxvY2tzLmM6Mjk1IGJhc2ljX2Jsb2Nrcy5jOjMwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczolZDogKCVzOjB4JWx4KSAlbHUgZXhlY3V0aW9uc1xuIgorbXNnc3RyICIlczolZDogKCVzOjB4JWx4KSAlbHUgZXhlY3X+aWlcbiIKKworIzogYmFzaWNfYmxvY2tzLmM6Mjk2IGJhc2ljX2Jsb2Nrcy5jOjMwNgorbXNnaWQgIjx1bmtub3duPiIKK21zZ3N0ciAiPG5lY3Vub3NjdXQ+IgorCisjOiBiYXNpY19ibG9ja3MuYzo1NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlxuIgorIlRvcCAlZCBMaW5lczpcbiIKKyJcbiIKKyIgICAgIExpbmUgICAgICBDb3VudFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiXG4iCisiQ2VsZSBtYWkgZGVzZSAlZCBsaW5paVxuIgorIlxuIgorIiAgICAgTGluaWUgICAgICBSZXBldONyaVxuIgorIlxuIgorCisjOiBiYXNpY19ibG9ja3MuYzo1NzcKK21zZ2lkICIiCisiXG4iCisiRXhlY3V0aW9uIFN1bW1hcnk6XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJDdXByaW5zIGFsIEV4ZWN1/mllaTpcbiIKKyJcbiIKKworIzogYmFzaWNfYmxvY2tzLmM6NTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiU5bGQgICBFeGVjdXRhYmxlIGxpbmVzIGluIHRoaXMgZmlsZVxuIgorbXNnc3RyICIlOWxkICAgTGluaWkgZXhlY3V0YW5pbGUg7m4gYWNlc3QgZmm6aWVyXG4iCisKKyM6IGJhc2ljX2Jsb2Nrcy5jOjU4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlOWxkICAgTGluZXMgZXhlY3V0ZWRcbiIKK21zZ3N0ciAiJTlsZCAgIExpbmlpIGV4ZWN1dGF0ZVxuIgorCisjOiBiYXNpY19ibG9ja3MuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTkuMmYgICBQZXJjZW50IG9mIHRoZSBmaWxlIGV4ZWN1dGVkXG4iCittc2dzdHIgIiU5LjJmICAgUHJvY2VudCBkZSBmabppZXIgZXhlY3V0YXRcbiIKKworIzogYmFzaWNfYmxvY2tzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlOWx1ICAgVG90YWwgbnVtYmVyIG9mIGxpbmUgZXhlY3V0aW9uc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTlsdSAgIE51beNyIHRvdGFsIGRlIGV4ZWN1/mlpIGRlIGxpbmlpXG4iCisKKyM6IGJhc2ljX2Jsb2Nrcy5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIlOS4yZiAgIEF2ZXJhZ2UgZXhlY3V0aW9ucyBwZXIgbGluZVxuIgorbXNnc3RyICIlOS4yZiAgIE1lZGl1IGRlIGV4ZWN1/mlpIHBlIGxpbmllXG4iCisKKyM6IGNhbGxfZ3JhcGguYzo3MQorIywgYy1mb3JtYXQKK21zZ2lkICJbY2dfdGFsbHldIGFyYyBmcm9tICVzIHRvICVzIHRyYXZlcnNlZCAlbHUgdGltZXNcbiIKK21zZ3N0ciAiW2NnX3RhbGx5XSBhcmMgZGluICVzIHNwcmUgJXMgYSB0cmVjdXQgZGUgJWx1IG9yaVxuIgorCisjOiBjZ19wcmludC5jOjczCittc2dpZCAiIgorIlx0XHQgICAgIENhbGwgZ3JhcGggKGV4cGxhbmF0aW9uIGZvbGxvd3MpXG4iCisiXG4iCittc2dzdHIgIiIKKyJcdFx0ICAgICBHcmFmaWMgZGUgYXBlbONyaSAodXJtZWF64yBleHBsaWNh/mlhKVxuIgorIlxuIgorCisjOiBjZ19wcmludC5jOjc1Cittc2dpZCAiIgorIlx0XHRcdENhbGwgZ3JhcGhcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlx0XHRcdEdyYWZpYyBkZSBhcGVs43JpXG4iCisiXG4iCisKKyM6IGNnX3ByaW50LmM6NzggaGlzdC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiZ3JhbnVsYXJpdHk6IGVhY2ggc2FtcGxlIGhpdCBjb3ZlcnMgJWxkIGJ5dGUocykiCittc2dzdHIgIiIKKyJcbiIKKyJncmFudWxhcml0YXRlOiBmaWVjYXJlIGV4ZW1wbHUgZGUgcG90cml2aXJlKGhpdCkgYWNvcGVy4yAlbGQgb2N0ZXQo/mkpIgorCisjOiBjZ19wcmludC5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgZm9yICUuMmYlJSBvZiAlLjJmIHNlY29uZHNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiBwZW50cnUgJS4yZiUlIGRpbiAlLjJmIHNlY3VuZGVcbiIKKyJcbiIKKworIzogY2dfcHJpbnQuYzo4NgorbXNnaWQgIiIKKyIgbm8gdGltZSBwcm9wYWdhdGVkXG4iCisiXG4iCittc2dzdHIgIiIKKyIgbmljaSB1biB0aW1wIHByb3BhZ2F0XG4iCisiXG4iCisKKyM6IGNnX3ByaW50LmM6OTUgY2dfcHJpbnQuYzo5OCBjZ19wcmludC5jOjEwMAorbXNnaWQgImNhbGxlZCIKK21zZ3N0ciAiYXBlbCIKKworIzogY2dfcHJpbnQuYzo5NSBjZ19wcmludC5jOjEwMAorbXNnaWQgInRvdGFsIgorbXNnc3RyICJ0b3RhbCIKKworIzogY2dfcHJpbnQuYzo5NQorbXNnaWQgInBhcmVudHMiCittc2dzdHIgInDjcmlu/mkiCisKKyM6IGNnX3ByaW50LmM6OTcgY2dfcHJpbnQuYzo5OAorbXNnaWQgImluZGV4IgorbXNnc3RyICJpbmRleCIKKworIzogY2dfcHJpbnQuYzo5NworIywgYy1mb3JtYXQKK21zZ2lkICIldGltZSIKK21zZ3N0ciAiJXRpbXAiCisKKyM6IGNnX3ByaW50LmM6OTcgY2dfcHJpbnQuYzo5OAorbXNnaWQgInNlbGYiCittc2dzdHIgInByb3ByaXUiCisKKyM6IGNnX3ByaW50LmM6OTcKK21zZ2lkICJkZXNjZW5kYW50cyIKK21zZ3N0ciAiZGVzY2VuZGVu/mkiCisKKyM6IGNnX3ByaW50LmM6OTggaGlzdC5jOjM4OQorbXNnaWQgIm5hbWUiCittc2dzdHIgIm51bWUiCisKKyM6IGNnX3ByaW50LmM6MTAwCittc2dpZCAiY2hpbGRyZW4iCittc2dzdHIgImNvcGlsIgorCisjOiBjZ19wcmludC5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbmRleCAlJSB0aW1lICAgIHNlbGYgIGNoaWxkcmVuICAgIGNhbGxlZCAgICAgbmFtZVxuIgorbXNnc3RyICJpbmRleCAlJSB0aW1wICAgIHByb3ByaXUgIGNvcGlsICAgIGFwZWwgICAgIG51bWVcbiIKKworIzogY2dfcHJpbnQuYzoxMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIDxjeWNsZSAlZCBhcyBhIHdob2xlPiBbJWRdXG4iCittc2dzdHIgIiA8dHJlY2VyZSBwcmluICVkIGNhIHVuIO5udHJlZz4gWyVkXVxuIgorCisjOiBjZ19wcmludC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICIlNi42cyAlNS41cyAlNy43cyAlMTEuMTFzICU3LjdzICU3LjdzICAgICA8c3BvbnRhbmVvdXM+XG4iCittc2dzdHIgIiU2LjZzICU1LjVzICU3LjdzICUxMS4xMXMgJTcuN3MgJTcuN3MgICAgIDxzcG9udGFuPlxuIgorCisjOiBjZ19wcmludC5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlNi42cyAlNS41cyAlNy43cyAlNy43cyAlNy43cyAlNy43cyAgICAgPHNwb250YW5lb3VzPlxuIgorbXNnc3RyICIlNi42cyAlNS41cyAlNy43cyAlNy43cyAlNy43cyAlNy43cyAgICAgPHNwb250YW4+XG4iCisKKyM6IGNnX3ByaW50LmM6NjA0Cittc2dpZCAiIgorIkluZGV4IGJ5IGZ1bmN0aW9uIG5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkluZGV4YXJlIGR1cOMgbnVtZWxlIGZ1bmP+aWVpXG4iCisiXG4iCisKKyM6IGNnX3ByaW50LmM6NjYxIGNnX3ByaW50LmM6NjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIjxjeWNsZSAlZD4iCittc2dzdHIgIjx0cmVjZXJlIHByaW4gJWQ+IgorCisjOiBjb3JlZmlsZS5jOjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjb3VsZCBub3Qgb3BlbiAlcy5cbiIKK21zZ3N0ciAiJXM6IG51IGFtIHB1dHV0IGRlc2NoaWRlICVzLlxuIgorCisjOiBjb3JlZmlsZS5jOjc4IGNvcmVmaWxlLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcGFyc2UgbWFwcGluZyBmaWxlICVzLlxuIgorbXNnc3RyICIlczogbnUgcy1hIHB1dHV0IGFuYWxpemEocGFyc2UpIGZpumllcnVsIGRlIG1hcHBpbmcgJXMuXG4iCisKKyM6IGNvcmVmaWxlLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogbm90IGluIGEub3V0IGZvcm1hdFxuIgorbXNnc3RyICIlczogJXM6IG51IGVzdGUg7m4gZm9ybWF0IGEub3V0XG4iCisKKyM6IGNvcmVmaWxlLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBmaW5kIC50ZXh0IHNlY3Rpb24gaW4gJXNcbiIKK21zZ3N0ciAiJXM6IG51IHBvdCBn43NpIHNlY/5pdW5lYSAudGV4dCAlc1xuIgorCisjOiBjb3JlZmlsZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmFuIG91dCByb29tIGZvciAlbHUgYnl0ZXMgb2YgdGV4dCBzcGFjZVxuIgorbXNnc3RyICIlczogbG9jYf5pZShyb29tKSBwbGlu4yBwZW50cnUgJWx1IG9jdGX+aSBkZSBzcGH+aXUgZGUgdGV4dFxuIgorCisjOiBjb3JlZmlsZS5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZG8gLWNcbiIKK21zZ3N0ciAiJXM6IG51IHBvdCBmYWNlIC1jXG4iCisKKyM6IGNvcmVmaWxlLmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAtYyBub3Qgc3VwcG9ydGVkIG9uIGFyY2hpdGVjdHVyZSAlc1xuIgorbXNnc3RyICIlczogLWMgbnUgZXN0ZSBzdXBvcnRhdCBwZSBhcmhpdGVjdHVyYSAlc1xuIgorCisjOiBjb3JlZmlsZS5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZSBgJXMnIGhhcyBubyBzeW1ib2xzXG4iCittc2dzdHIgIiVzOiBmabppZXJ1bCBgJXMnIG51IGFyZSBzaW1ib2x1cmlcbiIKKworIzogY29yZWZpbGUuYzo3NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvbWVib2R5IG1pc2NvdW50ZWQ6IGx0YWIubGVuPSVkIGluc3RlYWQgb2YgJWxkXG4iCittc2dzdHIgIiVzOiBjaW5ldmEgYSBudW3jcmF0IGdyZbppdDogbHRhYi5sZW49JWQg7m4gbG9jIGRlICVsZFxuIgorCisjOiBnbW9uX2lvLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZHJlc3Mgc2l6ZSBoYXMgdW5leHBlY3RlZCB2YWx1ZSBvZiAldVxuIgorbXNnc3RyICIlczogbeNyaW1lYSBhZHJlc2VpIGFyZSB2YWxvYXJlYSBuZWG6dGVwdGF04yBkZSAldVxuIgorCisjOiBnbW9uX2lvLmM6MzQ1IGdtb25faW8uYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpbGUgdG9vIHNob3J0IHRvIGJlIGEgZ21vbiBmaWxlXG4iCittc2dzdHIgIiVzOiBmabppZXIgcHJlYSBzY3VydCBwZW50cnUgYSBmaSB1biBmabppZXIgZ21vblxuIgorCisjOiBnbW9uX2lvLmM6MzU1IGdtb25faW8uYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpbGUgYCVzJyBoYXMgYmFkIG1hZ2ljIGNvb2tpZVxuIgorbXNnc3RyICIlczogZmm6aWVydWwgYCVzJyBhcmUgdW4gbWFnaWMgY29va2llIGVyb25hdFxuIgorCisjOiBnbW9uX2lvLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlIGAlcycgaGFzIHVuc3VwcG9ydGVkIHZlcnNpb24gJWRcbiIKK21zZ3N0ciAiJXM6IGZpumllcnVsIGAlcycgYXJlIHZlcnNpdW5lYSBuZXN1cG9ydGF04yAlZFxuIgorCisjOiBnbW9uX2lvLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogZm91bmQgYmFkIHRhZyAlZCAoZmlsZSBjb3JydXB0ZWQ/KVxuIgorbXNnc3RyICIlczogJXM6IHMtYSBn43NpdCBtYXJjYWoodGFnKSBncmW6aXQgJWQgKGZpumllciBjb3J1cHQ/KVxuIgorCisjOiBnbW9uX2lvLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcm9maWxpbmcgcmF0ZSBpbmNvbXBhdGlibGUgd2l0aCBmaXJzdCBnbW9uIGZpbGVcbiIKK21zZ3N0ciAiJXM6IHJhdOMgcHJvZmlsYXTjIGluY29tcGF0aWJpbOMgY3UgcHJpbXVsIGZpumllciBnbW9uXG4iCisKKyM6IGdtb25faW8uYzo1MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluY29tcGF0aWJsZSB3aXRoIGZpcnN0IGdtb24gZmlsZVxuIgorbXNnc3RyICIlczogaW5jb21wYXRpYmlsIGN1IHByaW11bCBmabppZXIgZ21vblxuIgorCisjOiBnbW9uX2lvLmM6NTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlICclcycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGluIGdtb24ub3V0IGZvcm1hdFxuIgorbXNnc3RyICIlczogZmm6aWVydWwgJyVzJyBudXBhcmUgc+MgZmllIO5uIGZvcm1hdCBnbW9uLm91dFxuIgorCisjOiBnbW9uX2lvLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmV4cGVjdGVkIEVPRiBhZnRlciByZWFkaW5nICVkLyVkIGJpbnNcbiIKK21zZ3N0ciAiJXM6IEVPRiBuZWG6dGVwdGF0IGR1cOMgY2l0aXJlYSBhICVkLyVkIGJpbi11cmlcbiIKKworIzogZ21vbl9pby5jOjU5MgorbXNnaWQgInRpbWUgaXMgaW4gdGlja3MsIG5vdCBzZWNvbmRzXG4iCittc2dzdHIgInRpbXB1bCBlc3RlIO5uIGLjdONpKHRpY2tzKSwgbnUg7m4gc2VjdW5kZVxuIgorCisjOiBnbW9uX2lvLmM6NTk4IGdtb25faW8uYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvbid0IGtub3cgaG93IHRvIGRlYWwgd2l0aCBmaWxlIGZvcm1hdCAlZFxuIgorbXNnc3RyICIlczogbnUgunRpdSBjdW0gc+MgbeMgZGVzY3VyYyBjdSBmb3JtYXR1bCBkZSBmabppZXIgJWRcbiIKKworIzogZ21vbl9pby5jOjYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlIGAlcycgKHZlcnNpb24gJWQpIGNvbnRhaW5zOlxuIgorbXNnc3RyICJGabppZXJ1bCBgJXMnICh2ZXJzaXVuZWEgJWQpIGNvbv5pbmU6XG4iCisKKyM6IGdtb25faW8uYzo2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHQlZCBoaXN0b2dyYW0gcmVjb3JkXG4iCittc2dzdHIgIlx0JWQg7m5yZWdpc3RyYXJlIGhpc3RvZ3JhbeNcbiIKKworIzogZ21vbl9pby5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJcdCVkIGhpc3RvZ3JhbSByZWNvcmRzXG4iCittc2dzdHIgIlx0JWQg7m5yZWdpc3Ry43JpIGhpc3RvZ3JhbeNcbiIKKworIzogZ21vbl9pby5jOjYxMQorIywgYy1mb3JtYXQKK21zZ2lkICJcdCVkIGNhbGwtZ3JhcGggcmVjb3JkXG4iCittc2dzdHIgIlx0JWQg7m5yZWdpc3RyYXJlIGdyYWZpYyBhcGVs43JpXG4iCisKKyM6IGdtb25faW8uYzo2MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHQlZCBjYWxsLWdyYXBoIHJlY29yZHNcbiIKK21zZ3N0ciAiXHQlZCDubnJlZ2lzdHLjcmkgZ3JhZmljIGFwZWzjcmlcbiIKKworIzogZ21vbl9pby5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICJcdCVkIGJhc2ljLWJsb2NrIGNvdW50IHJlY29yZFxuIgorbXNnc3RyICJcdCVkIO5ucmVnaXN0cmFyZSByZXBldONyaSBkZSBibG9jdXJpIGRlIGJheuNcbiIKKworIzogZ21vbl9pby5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJcdCVkIGJhc2ljLWJsb2NrIGNvdW50IHJlY29yZHNcbiIKK21zZ3N0ciAiXHQlZCDubnJlZ2lzdHLjcmkgcmVwZXTjcmkgZGUgYmxvY3VyaSBkZSBiYXrjXG4iCisKKyM6IGdwcm9mLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgWy1bYWJjRGhpbExzVHZ3eHl6XV0gWy1bQUNlRWZGSm5OT3BQcVFaXVtuYW1lXV0gWy1JIGRpcnNdXG4iCisiXHRbLWRbbnVtXV0gWy1rIGZyb20vdG9dIFstbSBtaW4tY291bnRdIFstdCB0YWJsZS1sZW5ndGhdXG4iCisiXHRbLS1bbm8tXWFubm90YXRlZC1zb3VyY2VbPW5hbWVdXSBbLS1bbm8tXWV4ZWMtY291bnRzWz1uYW1lXV1cbiIKKyJcdFstLVtuby1dZmxhdC1wcm9maWxlWz1uYW1lXV0gWy0tW25vLV1ncmFwaFs9bmFtZV1dXG4iCisiXHRbLS1bbm8tXXRpbWU9bmFtZV0gWy0tYWxsLWxpbmVzXSBbLS1icmllZl0gWy0tZGVidWdbPWxldmVsXV1cbiIKKyJcdFstLWZ1bmN0aW9uLW9yZGVyaW5nXSBbLS1maWxlLW9yZGVyaW5nXVxuIgorIlx0Wy0tZGlyZWN0b3J5LXBhdGg9ZGlyc10gWy0tZGlzcGxheS11bnVzZWQtZnVuY3Rpb25zXVxuIgorIlx0Wy0tZmlsZS1mb3JtYXQ9bmFtZV0gWy0tZmlsZS1pbmZvXSBbLS1oZWxwXSBbLS1saW5lXSBbLS1taW4tY291bnQ9bl1cbiIKKyJcdFstLW5vLXN0YXRpY10gWy0tcHJpbnQtcGF0aF0gWy0tc2VwYXJhdGUtZmlsZXNdXG4iCisiXHRbLS1zdGF0aWMtY2FsbC1ncmFwaF0gWy0tc3VtXSBbLS10YWJsZS1sZW5ndGg9bGVuXSBbLS10cmFkaXRpb25hbF1cbiIKKyJcdFstLXZlcnNpb25dIFstLXdpZHRoPW5dIFstLWlnbm9yZS1ub24tZnVuY3Rpb25zXVxuIgorIlx0Wy0tZGVtYW5nbGVbPVNUWUxFXV0gWy0tbm8tZGVtYW5nbGVdXG4iCisiXHRbaW1hZ2UtZmlsZV0gW3Byb2ZpbGUtZmlsZS4uLl1cbiIKK21zZ3N0ciAiIgorIkZvbG9zaXJlZTogJXMgWy1bYWJjRGhpbExzVHZ3eHl6XV0gWy1bQUNlRWZGSm5OT3BQcVFaXVtuYW1lXV0gWy1JIGRpcnNdXG4iCisiXHRbLWRbbnVtXV0gWy1rIGZyb20vdG9dIFstbSBtaW4tY291bnRdIFstdCB0YWJsZS1sZW5ndGhdXG4iCisiXHRbLS1bbm8tXWFubm90YXRlZC1zb3VyY2VbPW51bWVdXSBbLS1bbm8tXWV4ZWMtY291bnRzWz1udW1lXV1cbiIKKyJcdFstLVtuby1dZmxhdC1wcm9maWxlWz1udW1lXV0gWy0tW25vLV1ncmFwaFs9bnVtZV1dXG4iCisiXHRbLS1bbm8tXXRpbWU9bnVtZV0gWy0tYWxsLWxpbmVzXSBbLS1icmllZl0gWy0tZGVidWdbPW5pdmVsXV1cbiIKKyJcdFstLWZ1bmN0aW9uLW9yZGVyaW5nXSBbLS1maWxlLW9yZGVyaW5nXVxuIgorIlx0Wy0tZGlyZWN0b3J5LXBhdGg9ZGlyc10gWy0tZGlzcGxheS11bnVzZWQtZnVuY3Rpb25zXVxuIgorIlx0Wy0tZmlsZS1mb3JtYXQ9bnVtZV0gWy0tZmlsZS1pbmZvXSBbLS1oZWxwXSBbLS1saW5lXSBbLS1taW4tY291bnQ9bl1cbiIKKyJcdFstLW5vLXN0YXRpY10gWy0tcHJpbnQtcGF0aF0gWy0tc2VwYXJhdGUtZmlsZXNdXG4iCisiXHRbLS1zdGF0aWMtY2FsbC1ncmFwaF0gWy0tc3VtXSBbLS10YWJsZS1sZW5ndGg9bHVuXSBbLS10cmFkaXRpb25hbF1cbiIKKyJcdFstLXZlcnNpb25dIFstLXdpZHRoPW5dIFstLWlnbm9yZS1ub24tZnVuY3Rpb25zXVxuIgorIlx0Wy0tZGVtYW5nbGVbPVNUSUxdXSBbLS1uby1kZW1hbmdsZV1cbiIKKyJcdFtpbWFnZS1maWxlXSBbcHJvZmlsZS1maWxlLi4uXVxuIgorCisjOiBncHJvZi5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZXBvcnQgYnVncyB0byAlc1xuIgorbXNnc3RyICJSYXBvcnRh/mkgZXJvcmlsZShidWdzKSBsYSAlc1xuIgorCisjOiBncHJvZi5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVidWdnaW5nIG5vdCBzdXBwb3J0ZWQ7IC1kIGlnbm9yZWRcbiIKK21zZ3N0ciAiJXM6IGRlYnVnZ2luZyBuZXN1cG9ydGF0OyAtZCBpZ25vcmF0XG4iCisKKyM6IGdwcm9mLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZpbGUgZm9ybWF0ICVzXG4iCittc2dzdHIgIiVzOiBmb3JtYXQgZmm6aWVyIG5lY3Vub3NjdXQgJXNcbiIKKworIy4gVGhpcyBvdXRwdXQgaXMgaW50ZW5kZWQgdG8gZm9sbG93IHRoZSBHTlUgc3RhbmRhcmRzIGRvY3VtZW50LgorIzogZ3Byb2YuYzo0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiR05VIGdwcm9mICVzXG4iCittc2dzdHIgIkdOVSBncHJvZiAlc1xuIgorCisjOiBncHJvZi5jOjQxOAorbXNnaWQgIkJhc2VkIG9uIEJTRCBncHJvZiwgY29weXJpZ2h0IDE5ODMgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLlxuIgorbXNnc3RyICJCYXphdCBwZSBCU0QgZ3Byb2YsIGNvcHlyaWdodCAxOTgzIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS5cbiIKKworIzogZ3Byb2YuYzo0MTkKK21zZ2lkICJUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZS4gIFRoaXMgcHJvZ3JhbSBoYXMgYWJzb2x1dGVseSBubyB3YXJyYW50eS5cbiIKK21zZ3N0ciAiQWNlc3QgcHJvZ3JhbSBlc3RlIHNvZnR3YXJlIGxpYmVyLiAgQWNlc3QgcHJvZ3JhbSBudSBhcmUgYWJzb2x1dCBuaWNpIG8gZ2FyYW7+aWUuXG4iCisKKyM6IGdwcm9mLmM6NDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGRlbWFuZ2xpbmcgc3R5bGUgYCVzJ1xuIgorbXNnc3RyICIlczogc3RpbCBuZWN1bm9zY3V0IGRlIO5tYmluYXJlIChkZW1hbmdsaW5nKSBgJXMnXG4iCisKKyM6IGdwcm9mLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPbmx5IG9uZSBvZiAtLWZ1bmN0aW9uLW9yZGVyaW5nIGFuZCAtLWZpbGUtb3JkZXJpbmcgbWF5IGJlIHNwZWNpZmllZC5cbiIKK21zZ3N0ciAiJXM6IERvYXIgdW51bCBkaW50cmUgLS1mdW5jdGlvbi1vcmRlcmluZyBzYXUgLS1maWxlLW9yZGVyaW5nIHBvYXRlIGZpIHNwZWNpZmljYXQuXG4iCisKKyM6IGdwcm9mLmM6NTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb3JyeSwgZmlsZSBmb3JtYXQgYHByb2YnIGlzIG5vdCB5ZXQgc3VwcG9ydGVkXG4iCittc2dzdHIgIiVzOiBudSBwYXJlIHLjdSwgZm9ybWF0dWwgZGUgZmm6aWVyIGBwcm9mJyBudSBlc3RlIO5uY+Mgc3Vwb3J0YXRcbiIKKworIzogZ3Byb2YuYzo2MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdtb24ub3V0IGZpbGUgaXMgbWlzc2luZyBoaXN0b2dyYW1cbiIKK21zZ3N0ciAiJXM6IEZpumllcnVsdWkgZ21vbi5vdXQg7mkgbGlwc2W6dGUgaGlzdG9ncmFtYVxuIgorCisjOiBncHJvZi5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ21vbi5vdXQgZmlsZSBpcyBtaXNzaW5nIGNhbGwtZ3JhcGggZGF0YVxuIgorbXNnc3RyICIlczogRmm6aWVydWx1aSBnbW9uLm91dCDuaSBsaXBzZXNjIGRhdGVsZSBncmFmaWN1bHVpIGRlIGFwZWzjcmlcbiIKKworIzogaGlzdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogYCVzJyBpcyBpbmNvbXBhdGlibGUgd2l0aCBmaXJzdCBnbW9uIGZpbGVcbiIKK21zZ3N0ciAiJXM6IGAlcycgZXN0ZSBpbmNvbXBhdGliaWwgY3UgcHJpbXVsIGZpumllciBnbW9uXG4iCisKKyM6IGhpc3QuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiB1bmV4cGVjdGVkIEVPRiBhZnRlciByZWFkaW5nICVkIG9mICVkIHNhbXBsZXNcbiIKK21zZ3N0ciAiJXM6ICVzOiBFT0YgbmVhunRlcHRhdCBkdXDjIGNpdGlyZWEgYSAlZCBkaW4gJWQgZXhlbXBsZVxuIgorCisjOiBoaXN0LmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVjJWMvY2FsbCIKK21zZ3N0ciAiJWMlYy9hcGVsIgorCisjOiBoaXN0LmM6MzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgZm9yICUuMmYlJSBvZiAlLjJmICVzXG4iCisiXG4iCittc2dzdHIgIiIKKyJwZW50cnUgJS4yZiUlIGRpbiAlLjJmICVzXG4iCisiXG4iCisKKyM6IGhpc3QuYzozNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkVhY2ggc2FtcGxlIGNvdW50cyBhcyAlZyAlcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkZpZWNhcmUgZXhlbXBsdSBjb250ZWF64yBjYSC6aSAlZyAlcy5cbiIKKworIzogaGlzdC5jOjM3OAorbXNnaWQgIiIKKyIgbm8gdGltZSBhY2N1bXVsYXRlZFxuIgorIlxuIgorbXNnc3RyICIiCisiIG5pY2kgdW4gdGltcCBhY3VtdWxhdFxuIgorIlxuIgorCisjOiBoaXN0LmM6Mzg1Cittc2dpZCAiY3VtdWxhdGl2ZSIKK21zZ3N0ciAiY3VtdWxhdGl2IgorCisjOiBoaXN0LmM6Mzg1Cittc2dpZCAic2VsZiAgIgorbXNnc3RyICJwcm9wcml1ICAiCisKKyM6IGhpc3QuYzozODUKK21zZ2lkICJ0b3RhbCAiCittc2dzdHIgInRvdGFsICIKKworIzogaGlzdC5jOjM4OAorbXNnaWQgInRpbWUiCittc2dzdHIgInRpbXAiCisKKyM6IGhpc3QuYzozODgKK21zZ2lkICJjYWxscyIKK21zZ3N0ciAiYXBlbONyaSIKKworIzogaGlzdC5jOjQ4MQorbXNnaWQgIiIKKyJcbiIKKyJcbiIKKyJcbiIKKyJmbGF0IHByb2ZpbGU6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJcbiIKKyJcbiIKKyJwcm9maWwgY2xhcjpcbiIKKworIzogaGlzdC5jOjQ4NworbXNnaWQgIkZsYXQgcHJvZmlsZTpcbiIKK21zZ3N0ciAiUHJvZmlsIGNsYXI6XG4iCisKKyM6IG1pcHMuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJbZmluZF9jYWxsXSAweCVseDogamFsIgorbXNnc3RyICJbZmluZF9jYWxsXSAweCVseDogamFsIgorCisjOiBtaXBzLmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIltmaW5kX2NhbGxdIDB4JWx4OiBqYWxyXG4iCittc2dzdHIgIltmaW5kX2NhbGxdIDB4JWx4OiBqYWxyXG4iCisKKyM6IHNvdXJjZS5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY291bGQgbm90IGxvY2F0ZSBgJXMnXG4iCittc2dzdHIgIiVzOiBudSBhbSBwdXR1dCBsb2NhbGl6YSBgJXMnXG4iCisKKyM6IHNvdXJjZS5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICIqKiogRmlsZSAlczpcbiIKK21zZ3N0ciAiKioqIEZpumllciAlczpcbiIKKworIzogdXRpbHMuYzoxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIDxjeWNsZSAlZD4iCittc2dzdHIgIiA8dHJlY2VyZSBwcmluICVkPiIKZGlmZiAtLWdpdCBhL2dwcm9mL3BvL3ZpLnBvIGIvZ3Byb2YvcG8vdmkucG8KaW5kZXggN2MzOTk2NC4uMmNhMjdkYyAxMDA2NDQKLS0tIGEvZ3Byb2YvcG8vdmkucG8KKysrIGIvZ3Byb2YvcG8vdmkucG8KQEAgLTEsMjAgKzEsMjEgQEAKICMgVmlldG5hbWVzZSBUcmFuc2xhdGlvbiBmb3IgR1Byb2YuCi0jIENvcHlyaWdodCDCqSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotIyBDbHl0aWUgU2lkZGFsbCA8Y2x5dGllQHJpdmVybGFuZC5uZXQuYXU+LCAyMDA1LTIwMDcuCi0jIAorIyBDb3B5cmlnaHQgwqkgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGJpbnV0aWxzIHBhY2thZ2UuCisjIENseXRpZSBTaWRkYWxsIDxjbHl0aWVAcml2ZXJsYW5kLm5ldC5hdT4sIDIwMDUtMjAwOC4KKyMKIG1zZ2lkICIiCiBtc2dzdHIgIiIKLSJQcm9qZWN0LUlkLVZlcnNpb246IGdwcm9mIDIuMTcuOTBcbiIKLSJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDctMDUtMTUgMTY6NDkrMDkzMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDctMDgtMDcgMjE6MTErMDkzMFxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogZ3Byb2YgMi4xOC45MFxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBidWctYmludXRpbHNAZ251Lm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA4LTA5LTA5IDE1OjU2KzA5MzBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDA4LTA5LTIyIDE5OjIyKzA5MzBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IENseXRpZSBTaWRkYWxsIDxjbHl0aWVAcml2ZXJsYW5kLm5ldC5hdT5cbiIKLSJMYW5ndWFnZS1UZWFtOiBWaWV0bmFtZXNlIDx2aS1WTkBnb29nbGVncm91cHMuY29tPiBcbiIKKyJMYW5ndWFnZS1UZWFtOiBWaWV0bmFtZXNlIDx2aS1WTkBnb29nbGVncm91cHMuY29tPlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCi0iQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04XG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgogIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MTsgcGx1cmFsPTA7XG4iCi0iWC1HZW5lcmF0b3I6IExvY0ZhY3RvcnlFZGl0b3IgMS43YjFcbiIKKyJYLUdlbmVyYXRvcjogTG9jRmFjdG9yeUVkaXRvciAxLjdiM1xuIgogCiAjOiBhbHBoYS5jOjEwMiBtaXBzLmM6NTQKIG1zZ2lkICI8aW5kaXJlY3QgY2hpbGQ+IgpAQCAtMjMzLDEzNyArMjM0LDEzNyBAQAogbXNnaWQgIjxjeWNsZSAlZD4iCiBtc2dzdHIgIjxjaHUga+G7syAlZD4iCiAKLSM6IGNvcmVmaWxlLmM6NTkKKyM6IGNvcmVmaWxlLmM6NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYWJsZSB0byBwYXJzZSBtYXBwaW5nIGZpbGUgJXMuXG4iCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgcGjDom4gdMOhY2ggdOG6rXAgdGluIMOhbmggeOG6oSAlcy5cbiIKIAotIzogY29yZWZpbGUuYzo3MgorIzogY29yZWZpbGUuYzo3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY291bGQgbm90IG9wZW4gJXMuXG4iCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgbeG7nyAlcy5cbiIKIAotIzogY29yZWZpbGUuYzoxNjYKKyM6IGNvcmVmaWxlLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogbm90IGluIGV4ZWN1dGFibGUgZm9ybWF0XG4iCiBtc2dzdHIgIiVzOiAlczoga2jDtG5nIHBo4bqjaSB0aGVvIMSR4buLbmggZOG6oW5nIGPDsyB0aOG7gyB0aOG7sWMgaGnhu4duXG4iCiAKLSM6IGNvcmVmaWxlLmM6MTc3CisjOiBjb3JlZmlsZS5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2FuJ3QgZmluZCAudGV4dCBzZWN0aW9uIGluICVzXG4iCiBtc2dzdHIgIiVzOiBraMO0bmcgdMOsbSB0aOG6pXkgcGjhuqduIHbEg24gYuG6o24gwqsgLnRleHQgwrsgdHJvbmcgJXNcbiIKIAotIzogY29yZWZpbGUuYzoyNTIKKyM6IGNvcmVmaWxlLmM6MjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByYW4gb3V0IHJvb20gZm9yICVsdSBieXRlcyBvZiB0ZXh0IHNwYWNlXG4iCiBtc2dzdHIgIiVzOiBraMO0bmcgxJHhu6cgc+G7qWMgY2jhu6lhIMSR4buRaSB24bubaSB2w7luZyB2xINuIGLhuqNuICVsdSBieXRlXG4iCiAKLSM6IGNvcmVmaWxlLmM6MjY2CisjOiBjb3JlZmlsZS5jOjI2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2FuJ3QgZG8gLWNcbiIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBsw6BtIMKrIC1jIMK7XG4iCiAKLSM6IGNvcmVmaWxlLmM6MzA1CisjOiBjb3JlZmlsZS5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogLWMgbm90IHN1cHBvcnRlZCBvbiBhcmNoaXRlY3R1cmUgJXNcbiIKIG1zZ3N0ciAiJXM6IHTDuXkgY2jhu41uIMKrIC1jIMK7ICBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyB0csOqbiBraeG6v24gdHLDumMgJXNcbiIKIAotIzogY29yZWZpbGUuYzo0NzAKKyM6IGNvcmVmaWxlLmM6NDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIGAlcycgaGFzIG5vIHN5bWJvbHNcbiIKIG1zZ3N0ciAiJXM6IHThuq1wIHRpbiDCqyAlcyDCuyBraMO0bmcgY8OzIGvDvSBoaeG7h3VcbiIKIAotIzogY29yZWZpbGUuYzo3NzIKKyM6IGNvcmVmaWxlLmM6NzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzb21lYm9keSBtaXNjb3VudGVkOiBsdGFiLmxlbj0lZCBpbnN0ZWFkIG9mICVsZFxuIgogbXNnc3RyICIlczogc2FpIMSR4bq/bTogbHRhYi5sZW49JWQgdGhheSBjaG8gJWxkXG4iCiAKLSM6IGdtb25faW8uYzo4MworIzogZ21vbl9pby5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhZGRyZXNzIHNpemUgaGFzIHVuZXhwZWN0ZWQgdmFsdWUgb2YgJXVcbiIKIG1zZ3N0ciAiJXM6IGvDrWNoIGPhu6EgxJHhu4thIGNo4buJIGPDsyBnacOhIHRy4buLIGLhuqV0IHRoxrDhu51uZyAldVxuIgogCi0jOiBnbW9uX2lvLmM6MzIwIGdtb25faW8uYzo0MTYKKyM6IGdtb25faW8uYzozMTkgZ21vbl9pby5jOjQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSB0b28gc2hvcnQgdG8gYmUgYSBnbW9uIGZpbGVcbiIKIG1zZ3N0ciAiJXM6IHThuq1wIHRpbiBxdcOhIG5n4bqvbiBjaG8gdOG6rXAgdGluIGtp4buDdSBnbW9uXG4iCiAKLSM6IGdtb25faW8uYzozMzAgZ21vbl9pby5jOjQ1OQorIzogZ21vbl9pby5jOjMyOSBnbW9uX2lvLmM6NDU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIGAlcycgaGFzIGJhZCBtYWdpYyBjb29raWVcbiIKIG1zZ3N0ciAiJXM6IHThuq1wIHRpbiDCqyAlcyDCuyBjw7MgY29va2llIG1hIHRodeG6rXQgc2FpXG4iCiAKLSM6IGdtb25faW8uYzozNDEKKyM6IGdtb25faW8uYzozNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgYCVzJyBoYXMgdW5zdXBwb3J0ZWQgdmVyc2lvbiAlZFxuIgogbXNnc3RyICIlczogdOG6rXAgdGluIMKrICVzIMK7IGPDsyBwaGnDqm4gYuG6o24ga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgJWRcbiIKIAotIzogZ21vbl9pby5jOjM3MQorIzogZ21vbl9pby5jOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGZvdW5kIGJhZCB0YWcgJWQgKGZpbGUgY29ycnVwdGVkPylcbiIKIG1zZ3N0ciAiJXM6ICVzOiB0w6xtIHRo4bq/IHRo4bq7IHNhaSAlZCAodOG6rXAgdGluIGLhu4sgaOG7j25nPylcbiIKIAotIzogZ21vbl9pby5jOjQzOAorIzogZ21vbl9pby5jOjQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcHJvZmlsaW5nIHJhdGUgaW5jb21wYXRpYmxlIHdpdGggZmlyc3QgZ21vbiBmaWxlXG4iCiBtc2dzdHIgIiVzOiB04bu3IGzhu4cgdMOtbmggaGnhu4duIHRy4bqhbmcga2jDtG5nIHTGsMahbmcgdGjDrWNoIHbhu5tpIHThuq1wIHRpbiBnbW9uIHRo4bupIG5o4bqldFxuIgogCi0jOiBnbW9uX2lvLmM6NDg5CisjOiBnbW9uX2lvLmM6NDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbmNvbXBhdGlibGUgd2l0aCBmaXJzdCBnbW9uIGZpbGVcbiIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0xrDGoW5nIHRow61jaCB24bubaSB04bqtcCB0aW4gZ21vbiB0aOG7qSBuaOG6pXRcbiIKIAotIzogZ21vbl9pby5jOjUxNgorIzogZ21vbl9pby5jOjUxOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSAnJXMnIGRvZXMgbm90IGFwcGVhciB0byBiZSBpbiBnbW9uLm91dCBmb3JtYXRcbiIKIG1zZ3N0ciAiJXM6IHThuq1wIHRpbiDCqyAlcyDCuyBjw7MgduG6uyBsw6Aga2jDtG5nIHRoZW8gxJHhu4tuaCBk4bqhbmcgwqsgZ21vbi5vdXQgwrtcbiIKIAotIzogZ21vbl9pby5jOjUyOQorIzogZ21vbl9pby5jOjUzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5leHBlY3RlZCBFT0YgYWZ0ZXIgcmVhZGluZyAlZC8lZCBiaW5zXG4iCiBtc2dzdHIgIiVzOiBn4bq3cCBr4bq/dCB0aMO6YyB04bqtcCB0aW4gYuG6pXQgdGjGsOG7nW5nIHNhdSBraGkgxJHhu41jICVkLyVkIHRow7luZ1xuIgogCi0jOiBnbW9uX2lvLmM6NTYzCisjOiBnbW9uX2lvLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgInRpbWUgaXMgaW4gdGlja3MsIG5vdCBzZWNvbmRzXG4iCiBtc2dzdHIgInTDrW5oIHRo4budaSBnaWFuIHRoZW8gdMOtY2gsIGtow7RuZyBwaOG6o2kgdGhlbyBnacOieVxuIgogCi0jOiBnbW9uX2lvLmM6NTY5IGdtb25faW8uYzo3NDYKKyM6IGdtb25faW8uYzo1NzEgZ21vbl9pby5jOjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZG9uJ3Qga25vdyBob3cgdG8gZGVhbCB3aXRoIGZpbGUgZm9ybWF0ICVkXG4iCiBtc2dzdHIgIiVzOiBraMO0bmcgYmnhur90IHjhu60gbMO9IMSR4buLbmggZOG6oW5nIHThuq1wIHRpbiAlZCBuaMawIHRo4bq/IG7DoG9cbiIKIAotIzogZ21vbl9pby5jOjU3NgorIzogZ21vbl9pby5jOjU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJGaWxlIGAlcycgKHZlcnNpb24gJWQpIGNvbnRhaW5zOlxuIgogbXNnc3RyICJU4bqtcCB0aW4gwqsgJXMgwrsgKHBoacOqbiBi4bqjbiAlZCkgY2jhu6lhOlxuIgogCi0jOiBnbW9uX2lvLmM6NTc5CisjOiBnbW9uX2lvLmM6NTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0JWQgaGlzdG9ncmFtIHJlY29yZFxuIgogbXNnc3RyICJcdCVkIG3hu6VjIGdoaSBiaeG7g3UgxJHhu5MgdOG6p24geHXhuqV0XG4iCiAKLSM6IGdtb25faW8uYzo1ODAKKyM6IGdtb25faW8uYzo1ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQlZCBoaXN0b2dyYW0gcmVjb3Jkc1xuIgogbXNnc3RyICJcdCVkIG3hu6VjIGdoaSBiaeG7g3UgxJHhu5MgdOG6p24geHXhuqV0XG4iCiAKLSM6IGdtb25faW8uYzo1ODIKKyM6IGdtb25faW8uYzo1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQlZCBjYWxsLWdyYXBoIHJlY29yZFxuIgogbXNnc3RyICJcdCVkIG3hu6VjIGdoaSDEkeG7kyB0aOG7iyBn4buNaVxuIgogCi0jOiBnbW9uX2lvLmM6NTgzCisjOiBnbW9uX2lvLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0JWQgY2FsbC1ncmFwaCByZWNvcmRzXG4iCiBtc2dzdHIgIlx0JWQgbeG7pWMgZ2hpIMSR4buTIHRo4buLIGfhu41pXG4iCiAKLSM6IGdtb25faW8uYzo1ODUKKyM6IGdtb25faW8uYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQlZCBiYXNpYy1ibG9jayBjb3VudCByZWNvcmRcbiIKIG1zZ3N0ciAiXHQlZCBt4bulYyBnaGkgdOG7lW5nIGto4buRaSBjxqEgYuG6o25cbiIKIAotIzogZ21vbl9pby5jOjU4NgorIzogZ21vbl9pby5jOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJcdCVkIGJhc2ljLWJsb2NrIGNvdW50IHJlY29yZHNcbiIKIG1zZ3N0ciAiXHQlZCBt4bulYyBnaGkgdOG7lW5nIGto4buRaSBjxqEgYuG6o25cbiIKQEAgLTYxOSw2ICs2MjAsMyBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIgPGN5Y2xlICVkPiIKIG1zZ3N0ciAiIDxjaHUga+G7syAlZD4iCi0KLSN+IG1zZ2lkICIlczogYCVzJyBpcyBpbmNvbXBhdGlibGUgd2l0aCBmaXJzdCBnbW9uIGZpbGVcbiIKLSN+IG1zZ3N0ciAiJXM6IMKrICVzIMK7IGtow7RuZyB0xrDGoW5nIHRow61jaCB24bubaSB04bqtcCB0aW4gZ21vbiB0aOG7qSBuaOG6pXRcbiIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvQ2hhbmdlTG9nIGIvaW5jbHVkZS9DaGFuZ2VMb2cKaW5kZXggZjcwY2ViZC4uYmViNzhiNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9DaGFuZ2VMb2cKKysrIGIvaW5jbHVkZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAwOC0xMC0yMSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KKworCSogb2JzdGFjay5oIChvYnN0YWNrX2ZpbmlzaCA8IV9fR05VQ19fPik6IENhc3QgcmVzdWx0IHRvIHZvaWQgKi4KKworMjAwOC0xMC0wNiAgSmFzb24gTWVycmlsbCAgPGphc29uQHJlZGhhdC5jb20+CisKKwkqIGRlbWFuZ2xlLmggKGVudW0gZGVtYW5nbGVfY29tcG9uZW50X3R5cGUpOiBBZGQKKwlERU1BTkdMRV9DT01QT05FTlRfUEFDS19FWFBBTlNJT04uCisKKzIwMDgtMDktMjQgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CisKKwkqIGVsZi9kd2FyZjIuaCAoRFdfT1BfR05VX2VuY29kZWRfYWRkcik6IE5ldy4KKworMjAwOC0wOS0yMiBSYWZhZWwgRXNwaW5kb2xhICA8ZXNwaW5kb2xhQGdvb2dsZS5jb20+CisKKwkqIHBsdWdpbi1hcGkuaCAobGRfcGx1Z2luX3N0YXR1cyk6IFJlbW92ZSBjb21tYSBmcm9tIHRoZSBsYXN0IGl0ZW0uCisJVXNlIEMgc3R5bGUgY29tbWVudC4KKwkobGRfcGx1Z2luX2FwaV92ZXJzaW9uLCBsZF9wbHVnaW5fb3V0cHV0X2ZpbGVfdHlwZSwKKwlsZF9wbHVnaW5fc3ltYm9sX2tpbmQsIGxkX3BsdWdpbl9zeW1ib2xfdmlzaWJpbGl0eSwKKwlsZF9wbHVnaW5fc3ltYm9sX3Jlc29sdXRpb24sIGxkX3BsdWdpbl9sZXZlbCwgbGRfcGx1Z2luX3RhZyk6IFJlbW92ZQorCWNvbW1hIGZyb20gdGhlIGxhc3QgaXRlbS4KKworMjAwOC0wOS0xOCAgQ2FyeSBDb3V0YW50ICA8Y2NvdXRhbnRAZ29vZ2xlLmNvbT4KKworCUFkZCBwbHVnaW4gZnVuY3Rpb25hbGl0eSBmb3IgbGluay10aW1lIG9wdGltaXphdGlvbiAoTFRPKS4KKwkqIHBsdWdpbi1hcGkuaDogTmV3IGZpbGUuCisKKzIwMDgtMDktMDkgIEphc29uIE1lcnJpbGwgIDxqYXNvbkByZWRoYXQuY29tPgorCisJKiBkZW1hbmdsZS5oIChlbnVtIGRlbWFuZ2xlX2NvbXBvbmVudF90eXBlKTogQWRkCisJREVNQU5HTEVfQ09NUE9ORU5UX0RFQ0xUWVBFLgorCiAyMDA4LTA4LTI1ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgogCiAJKiBiaW5hcnktaW8uaDogTmV3IGZpbGUsIGltcG9ydGVkIGZyb20gZ251bGliLCBidXQgZG9uJ3QKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZGVtYW5nbGUuaCBiL2luY2x1ZGUvZGVtYW5nbGUuaAppbmRleCA3OGUwMjJkLi4wZWE2MzlkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RlbWFuZ2xlLmgKKysrIGIvaW5jbHVkZS9kZW1hbmdsZS5oCkBAIC0zNzAsNyArMzcwLDExIEBACiAgICAgIHN1YnRyZWUgaXMgdGhlIGZpcnN0IHBhcnQgYW5kIHRoZSByaWdodCBzdWJ0cmVlIHRoZSBzZWNvbmQuICAqLwogICBERU1BTkdMRV9DT01QT05FTlRfQ09NUE9VTkRfTkFNRSwKICAgLyogQSBuYW1lIGZvcm1lZCBieSBhIHNpbmdsZSBjaGFyYWN0ZXIuICAqLwotICBERU1BTkdMRV9DT01QT05FTlRfQ0hBUkFDVEVSCisgIERFTUFOR0xFX0NPTVBPTkVOVF9DSEFSQUNURVIsCisgIC8qIEEgZGVjbHR5cGUgdHlwZS4gICovCisgIERFTUFOR0xFX0NPTVBPTkVOVF9ERUNMVFlQRSwKKyAgLyogQSBwYWNrIGV4cGFuc2lvbi4gICovCisgIERFTUFOR0xFX0NPTVBPTkVOVF9QQUNLX0VYUEFOU0lPTgogfTsKIAogLyogVHlwZXMgd2hpY2ggYXJlIG9ubHkgdXNlZCBpbnRlcm5hbGx5LiAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZWxmL0NoYW5nZUxvZyBiL2luY2x1ZGUvZWxmL0NoYW5nZUxvZwppbmRleCBhZTI1OWRjLi45NjRmNmNmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2VsZi9DaGFuZ2VMb2cKKysrIGIvaW5jbHVkZS9lbGYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDgtMTAtMTAgIE5hdGhhbiBGcm95ZCAgPGZyb3lkbmpAY29kZXNvdXJjZXJ5LmNvbT4KKworCSogcHBjLmg6IEFkZCBUYWdfR05VX1Bvd2VyX0FCSV9TdHJ1Y3RfUmV0dXJuLgorCisyMDA4LTEwLTA0ICBIYW5zLVBldGVyIE5pbHNzb24gIDxocEBheGlzLmNvbT4KKworCSogY3Jpcy5oIChSX0NSSVNfMzJfR09UX0dELCBSX0NSSVNfMTZfR09UX0dELCBSX0NSSVNfMzJfR0QpCisJKFJfQ1JJU19EVFAsIFJfQ1JJU18zMl9EVFBSRUwsIFJfQ1JJU18xNl9EVFBSRUwsIFJfQ1JJU19EVFBNT0QpCisJKFJfQ1JJU18zMl9HT1RfVFBSRUwsIFJfQ1JJU18xNl9HT1RfVFBSRUwsIFJfQ1JJU18zMl9UUFJFTCkKKwkoUl9DUklTXzE2X1RQUkVMKTogTmV3IHJlbG9jYXRpb25zLgorCiAyMDA4LTA4LTIwICBCb2IgV2lsc29uICA8Ym9iLndpbHNvbkBhY20ub3JnPgogCiAJKiB4dGVuc2EuaCAoUl9YVEVOU0FfVExTREVTQ19GTiwgUl9YVEVOU0FfVExTREVTQ19BUkcpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2VsZi9jcmlzLmggYi9pbmNsdWRlL2VsZi9jcmlzLmgKaW5kZXggODIyNWJhYS4uNTUwOTU1ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9lbGYvY3Jpcy5oCisrKyBiL2luY2x1ZGUvZWxmL2NyaXMuaApAQCAtOTEsNiArOTEsODIgQEAKICAgICAgVGhlIEJGRCBlcXVpdmFsZW50IGlzIEJGRF9SRUxPQ19DUklTXzMyX1BMVF9QQ1JFTC4gICovCiAgIFJFTE9DX05VTUJFUiAoUl9DUklTXzMyX1BMVF9QQ1JFTCwgMTkpCiAKKyAgLyogQW4gYXNzZW1ibGVyLWdlbmVyYXRlZC1vbmx5IHJlbG9jYXRpb24sIGluc3RydWN0aW5nIHRoZSBsaW5rZXIgdG8KKyAgICAgcmVzZXJ2ZSB0d28gR09UIHNsb3RzLCBjYXJyeWluZyB0aGUgUl9DUklTX0RUUCByZWxvY2F0aW9uIGZvciB0aGUKKyAgICAgc3ltYm9sIChwb2ludGluZyB0byB0aGUgZmlyc3Qgc2xvdCwgdGhlIHJlbG9jYXRpb24gZmlsbHMgaW4KKyAgICAgYm90aCkuICBUaGUgdmFsdWUgaXMgYSAzMi1iaXQtdmFsdWUsIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUKKyAgICAgR09ULiAgQXNzZW1ibHkgc3ludGF4OiAic3ltOkdER09UUkVMIi4gICovCisgIFJFTE9DX05VTUJFUiAoUl9DUklTXzMyX0dPVF9HRCwgMjApCisKKyAgLyogU2ltaWxhciB0byBSX0NSSVNfMzJfR09UX0dELCBidXQgdGhlIHZhbHVlIGlzIGEgMTYtYml0IHVuc2lnbmVkCisgICAgIG51bWJlciwgbGltaXRpbmcgYWNjZXNzIHRvIDY1NTM2LzQgZ2xvYmFsIHN5bWJvbHMgcGVyIG1vZHVsZSAob3IKKyAgICAgNjU1MzYvOCB0aHJlYWQgdmFyaWFibGVzOyBsb29zZWx5IHNwZWFraW5nIEcqNCtUKjggPCA2NTUzNiwgd2hlcmUKKyAgICAgVCBpcyB0aGUgbnVtYmVyIG9mIHRocmVhZCB2YXJpYWJsZXMgYW5kIEcgaXMgdGhlIG51bWJlciBvZiBvdGhlcgorICAgICBleHRlcm5hbCBnbG9iYWwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMpLiAgQXNzZW1ibHkgc3ludGF4OgorICAgICAic3ltOkdER09UUkVMMTYiLiAgKi8KKyAgUkVMT0NfTlVNQkVSIChSX0NSSVNfMTZfR09UX0dELCAyMSkKKworICAvKiBTaW1pbGFyIHRvIFJfQ1JJU18zMl9HT1RfR0QsIGJ1dCB0aGUgdmFsdWUgaXMgdGhlIGFic29sdXRlCisgICAgIGFkZHJlc3Mgb2YgdGhlIEdPVCBlbnRyeS4gIERpc2FsbG93ZWQgaW4gRFNPcyBjcmVhdGVkIHdpdGgKKyAgICAgLXNoYXJlZC4gIEFzc2VtYmx5IHN5bnRheDogInN5bTpHRCIuICAqLworICBSRUxPQ19OVU1CRVIgKFJfQ1JJU18zMl9HRCwgMjIpCisKKyAgLyogQSBsaW5rZXItZ2VuZXJhdGVkLW9ubHkgcmVsb2NhdGlvbiwgaW5zdHJ1Y3RpbmcgdGhlIGR5bmFtaWMKKyAgICAgbGlua2VyIHRvIGZpbGwgaW4gdGhlIG1vZHVsZSBJRCBhbmQgbW9kdWxlLXJlbGF0aXZlLVRMUy1ibG9jaworICAgICBvZmZzZXQgb2YgdGhlIHN5bWJvbCBpbiBxdWVzdGlvbiwgdXNlZCBmb3IgR09UIGVudHJpZXMuICBOb3RlCisgICAgIHRoYXQgdGhpcyByZWxvY2F0aW9uIGluc3RydWN0cyB0byBmaWxsIGluIHR3byAzMi1iaXQgdmFsdWVzLiAgKi8KKyAgUkVMT0NfTlVNQkVSIChSX0NSSVNfRFRQLCAyMykKKworICAvKiBBbiBhc3NlbWJsZXItZ2VuZXJhdGVkLW9ubHkgcmVsb2NhdGlvbiwgaW5zdHJ1Y3RpbmcgdGhlIGxpbmtlciB0bworICAgICByZXNlcnZlIHRoZSBmaXJzdCB0d28gR09UIHNsb3RzLCBhbmQgYXR0YWNoIHRoZSBSX0NSSVNfRFRQTU9ECisgICAgIHJlbG9jYXRpb24oKikgZm9yIHRoZSBtb2R1bGUgdG8gdGhlIGZpcnN0IHNsb3QsIHRoZSBzZWNvbmQKKyAgICAgY29udGFpbmluZyB6ZXJvLiAgVGhlIHZhbHVlIGlzIDMyIGJpdHMsIHRoZSBvZmZzZXQgZnJvbSB0aGUgc3RhcnQKKyAgICAgb2YgdGhlIFRMUyBibG9jayBvZiB0aGUgbW9kdWxlIHRvIHRoZSB0aHJlYWQtbG9jYWwgc3ltYm9sCisgICAgIG1lbnRpb25lZCBpbiB0aGUgcmVsb2NhdGlvbi4gIFRoaXMgcmVsb2NhdGlvbiBtdXN0IG9ubHkgYmUgYXBwbGllZAorICAgICB0byBtb2R1bGUtbG9jYWwgc3ltYm9scy4gIEFzc2VtYmx5IHN5bnRheDogImV4cHI6RFRQUkVMIi4gICovCisgIFJFTE9DX05VTUJFUiAoUl9DUklTXzMyX0RUUFJFTCwgMjQpCisKKyAgLyogU2ltaWxhciB0byBSX0NSSVNfMzJfRFRQUkVMLCBidXQgdGhlIHZhbHVlIGlzIGEgMTYtYml0IHNpZ25lZAorICAgICBudW1iZXIsIGxpbWl0aW5nIHRoZSBzaXplIG9mIHRocmVhZC12YXJpYWJsZXMgb2YgdGhlIERTTyB0byAzMjc2OAorICAgICBieXRlcy4gIChOb3RlOiBtYXRjaGVzIGJvdGggbW9kZWwgMSBhbmQgMiBhbmQgYWxsb3dzIHVzZSBvZiBhZGRvLncKKyAgICAgYXMgdGhlIGluc3RydWN0aW9uIHdoZXJlIHRoaXMgcmVsb2NhdGlvbiBpcyB1c2VkLikgIEFzc2VtYmx5CisgICAgIHN5bnRheDogImV4cHI6RFRQUkVMMTYiLiAgKi8KKyAgUkVMT0NfTlVNQkVSIChSX0NSSVNfMTZfRFRQUkVMLCAyNSkKKworICAvKiBBbiBhc3NlbWJsZXItZ2VuZXJhdGVkLW9ubHkgcmVsb2NhdGlvbiwgaW5zdHJ1Y3RpbmcgdGhlIGxpbmtlciB0bworICAgICByZXNlcnZlIGEgR09UIHNsb3QgYW5kIGF0dGFjaCB0aGUgUl9DUklTXzMyX1RQUkVMIHJlbG9jYXRpb24gZm9yCisgICAgIHRoZSBzeW1ib2wgaW4gcXVlc3Rpb24uICBUaGUgdmFsdWUgaXMgMzIgYml0cywgd2hpY2ggaXMgdGhlCisgICAgIEdPVC1yZWxhdGl2ZSBvZmZzZXQgb2YgdGhlIHNsb3QuICBBc3NlbWJseSBzeW50YXg6CisgICAgICJzeW06VFBPRkZHT1QiLiAgKi8KKyAgUkVMT0NfTlVNQkVSIChSX0NSSVNfMzJfR09UX1RQUkVMLCAyNikKKworICAvKiBTaW1pbGFyIHRvIFJfQ1JJU18zMl9UUFJFTCwgYnV0IHRoZSB2YWx1ZSBpcyBhIDE2LWJpdCBwb3NpdGl2ZQorICAgICBudW1iZXIsIGxpbWl0aW5nIHRoZSBudW1iZXIgb2YgdGhyZWFkLSBhbmQgZ2xvYmFsIHZhcmlhYmxlcyBvZgorICAgICB0aGUgRFNPIHRvIDMyNzY4LzQuICBBc3NlbWJseSBzeW50YXg6ICJzeW06VFBPRkZHT1QxNiIuICAqLworICBSRUxPQ19OVU1CRVIgKFJfQ1JJU18xNl9HT1RfVFBSRUwsIDI3KQorCisgIC8qIEFuIGFzc2VtYmxlci0gYW5kIGxpbmtlci1nZW5lcmF0ZWQgcmVsb2NhdGlvbiwgaW5zdHJ1Y3RpbmcgdG8KKyAgICAgcmVzb2x2ZSB0aGUgc3ltYm9sIGluIHF1ZXN0aW9uIHlpZWxkaW5nIHRoZSBUTFMgb2Zmc2V0IG9mIHRoZQorICAgICB0aHJlYWQgdmFyaWFibGU7IHJlbGF0aXZlIHRvIHRoZSBtb2R1bGUncyBUTFMgZGF0YSBpZiBpbiBhIERTTywKKyAgICAgYnV0IHJlbGF0aXZlIHRvIHRoZSBleGVjdXRhYmxlJ3MgdGhyZWFkIGRhdGEgaWYgaW4gYW4KKyAgICAgZXhlY3V0YWJsZS4gTm90IGFsbG93ZWQgYXMgaW5wdXQgd2hlbiBnZW5lcmF0aW5nIGEgRFNPLiAgQXNzZW1ibHkKKyAgICAgc3ludGF4OiAiZXhwcjpUUE9GRiIuICAqLworICBSRUxPQ19OVU1CRVIgKFJfQ1JJU18zMl9UUFJFTCwgMjgpCisKKyAgLyogU2ltaWxhciB0byBSX0NSSVNfMzJfVFBSRUwsIGJ1dCBvbmx5IGFwcGxpY2FibGUgdG8gZXhlY3V0YWJsZXMKKyAgICAgY29tcGlsZWQgd2l0aCAtbXNtYWxsLXRscy4gTm90IGFsbG93ZWQgaW4gYSBEU08uIFRoZSB2YWx1ZSBpcyBhCisgICAgIDE2LWJpdCBzaWduZWQgbnVtYmVyLCBsaW1pdGluZyB0aGUgc2l6ZSBvZiB0aHJlYWQtdmFyaWFibGVzIG9mCisgICAgIHRoZSBleGVjdXRhYmxlIHRvIDMyNzY4IGJ5dGVzLiAoTm90ZTogYmVpbmcgc2lnbmVkIG1ha2VzIGl0IG1hdGNoCisgICAgIGJvdGggbW9kZWwgMSBhbmQgMiBhbmQgYWxsb3dzIHVzZSBvZiBhZGRvLncgYXMgdGhlIGluc3RydWN0aW9uCisgICAgIHdoZXJlIHRoaXMgcmVsb2NhdGlvbiBpcyBhcHBsaWVkLikgIEFzc2VtYmx5IHN5bnRheDoKKyAgICAgImV4cHI6VFBPRkYxNiIuICAqLworICBSRUxPQ19OVU1CRVIgKFJfQ1JJU18xNl9UUFJFTCwgMjkpCisKKyAgLyogQSBsaW5rZXItZ2VuZXJhdGVkLW9ubHkgcmVsb2NhdGlvbiwgaW5zdHJ1Y3RpbmcgdGhlIGR5bmFtaWMKKyAgICAgbGlua2VyIHRvIGZpbGwgaW4gdGhlIGN1cnJlbnQgbW9kdWxlIElELCB1c2VkIGZvciBHT1QgZW50cmllcworICAgICAoYWx3YXlzIHRoZSBmb3VydGggb25lKS4gICovCisgIFJFTE9DX05VTUJFUiAoUl9DUklTX0RUUE1PRCwgMzApCisKICAgLyogTm8gb3RoZXIgcmVsb2NzIG11c3QgYmUgdmlzaWJsZSBvdXRzaWRlIHRoZSBhc3NlbWJsZXIuICAqLwogCiBFTkRfUkVMT0NfTlVNQkVSUyAoUl9DUklTX21heCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZWxmL2R3YXJmMi5oIGIvaW5jbHVkZS9lbGYvZHdhcmYyLmgKaW5kZXggNjQ4NjU4ZC4uZjhkMDEwYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9lbGYvZHdhcmYyLmgKKysrIGIvaW5jbHVkZS9lbGYvZHdhcmYyLmgKQEAgLTU0NCw2ICs1NDQsNyBAQAogICAgIC8qIEdOVSBleHRlbnNpb25zLiAgKi8KICAgICBEV19PUF9HTlVfcHVzaF90bHNfYWRkcmVzcyA9IDB4ZTAsCiAgICAgRFdfT1BfR05VX3VuaW5pdCAgICAgPSAweGYwLAorICAgIERXX09QX0dOVV9lbmNvZGVkX2FkZHIgPSAweGYxLAogICAgIC8qIEhQIGV4dGVuc2lvbnMuICAqLwogICAgIERXX09QX0hQX3Vua25vd24gICAgID0gMHhlMCwgLyogT3VjaCwgdGhlIHNhbWUgYXMgR05VX3B1c2hfdGxzX2FkZHJlc3MuICAqLwogICAgIERXX09QX0hQX2lzX3ZhbHVlICAgID0gMHhlMSwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZWxmL3BwYy5oIGIvaW5jbHVkZS9lbGYvcHBjLmgKaW5kZXggOTVjY2NjZS4uYTBjMTZmMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9lbGYvcHBjLmgKKysrIGIvaW5jbHVkZS9lbGYvcHBjLmgKQEAgLTE4Niw2ICsxODYsMTEgQEAKICAgICAgcmVnaXN0ZXJzLCAzIGZvciBTUEUgcmVnaXN0ZXJzOyAwIGZvciBub3QgdGFnZ2VkIG9yIG5vdCB1c2luZyBhbnkKICAgICAgQUJJcyBhZmZlY3RlZCBieSB0aGUgZGlmZmVyZW5jZXMuICAqLwogICBUYWdfR05VX1Bvd2VyX0FCSV9WZWN0b3IgPSA4LAorCisgIC8qIFZhbHVlIDEgZm9yIEFCSXMgdXNpbmcgcjMvcjQgZm9yIHJldHVybmluZyBzdHJ1Y3R1cmVzIDw9IDggYnl0ZXMsCisgICAgIDIgZm9yIEFCSXMgdXNpbmcgbWVtb3J5OyAwIGZvciBub3QgdGFnZ2VkIG9yIG5vdCB1c2luZyBhbnkgQUJJcworICAgICBhZmZlY3RlZCBieSB0aGUgZGlmZmVyZW5jZXMuICAqLworICBUYWdfR05VX1Bvd2VyX0FCSV9TdHJ1Y3RfUmV0dXJuID0gMTIKIH07CiAKICNlbmRpZiAvKiBfRUxGX1BQQ19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL29ic3RhY2suaCBiL2luY2x1ZGUvb2JzdGFjay5oCmluZGV4IDg4YzJhMjYuLjRhZWMzYTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvb2JzdGFjay5oCisrKyBiL2luY2x1ZGUvb2JzdGFjay5oCkBAIC0xLDYgKzEsNiBAQAogLyogb2JzdGFjay5oIC0gb2JqZWN0IHN0YWNrIG1hY3JvcwogICAgQ29weXJpZ2h0IDE5ODgsIDE5ODksIDE5OTAsIDE5OTEsIDE5OTIsIDE5OTMsIDE5OTQsIDE5OTYsIDE5OTcsIDE5OTgsCi0gICAxOTk5LCAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1CisgICAxOTk5LCAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA4CiAgICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogCkBAIC01MjcsNyArNTI3LDcgQEAKICAgICA+IChoKS0+Y2h1bmtfbGltaXQgLSAoY2hhciAqKSAoaCktPmNodW5rKQkJCQlcCiAgICA/ICgoaCktPm5leHRfZnJlZSA9IChoKS0+Y2h1bmtfbGltaXQpIDogMCksCQkJCVwKICAgKGgpLT5vYmplY3RfYmFzZSA9IChoKS0+bmV4dF9mcmVlLAkJCQkJXAotICBfX0lOVF9UT19QVFIgKChoKS0+dGVtcCkpCisgICh2b2lkICopIF9fSU5UX1RPX1BUUiAoKGgpLT50ZW1wKSkKIAogIyBkZWZpbmUgb2JzdGFja19mcmVlKGgsb2JqKQkJCQkJCVwKICggKGgpLT50ZW1wID0gKGNoYXIgKikgKG9iaikgLSAoY2hhciAqKSAoaCktPmNodW5rLAkJCVwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcGx1Z2luLWFwaS5oIGIvaW5jbHVkZS9wbHVnaW4tYXBpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDViNTgyMAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvcGx1Z2luLWFwaS5oCkBAIC0wLDAgKzEsMjQyIEBACisvKiBwbHVnaW4tYXBpLmggLS0gRXh0ZXJuYWwgbGlua2VyIHBsdWdpbiBBUEkuICAqLworCisvKiBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIFdyaXR0ZW4gYnkgQ2FyeSBDb3V0YW50IDxjY291dGFudEBnb29nbGUuY29tPi4KKworICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgYmludXRpbHMuCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAgIE1BIDAyMTEwLTEzMDEsIFVTQS4gICovCisKKy8qIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBpbnRlcmZhY2UgZm9yIHdyaXRpbmcgYSBsaW5rZXIgcGx1Z2luLCB3aGljaCBpcworICAgZGVzY3JpYmVkIGF0IDwgaHR0cDovL2djYy5nbnUub3JnL3dpa2kvd2hvcHIvZHJpdmVyID4uICAqLworCisjaWZuZGVmIFBMVUdJTl9BUElfSAorI2RlZmluZSBQTFVHSU5fQVBJX0gKKworI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIKK3sKKyNlbmRpZgorCisvKiBTdGF0dXMgY29kZSByZXR1cm5lZCBieSBtb3N0IEFQSSByb3V0aW5lcy4gICovCisKK2VudW0gbGRfcGx1Z2luX3N0YXR1cworeworICBMRFBTX09LID0gMCwKKyAgTERQU19OT19TWU1TLCAgICAgICAgIC8qIEF0dGVtcHQgdG8gZ2V0IHN5bWJvbHMgdGhhdCBoYXZlbid0IGJlZW4gYWRkZWQuICovCisgIExEUFNfRVJSCisgIC8qIEFkZGl0aW9uYWwgRXJyb3IgY29kZXMgVEJELiAgKi8KK307CisKKy8qIFRoZSB2ZXJzaW9uIG9mIHRoZSBBUEkgc3BlY2lmaWNhdGlvbi4gICovCisKK2VudW0gbGRfcGx1Z2luX2FwaV92ZXJzaW9uCit7CisgIExEX1BMVUdJTl9BUElfVkVSU0lPTiA9IDEKK307CisKKy8qIFRoZSB0eXBlIG9mIG91dHB1dCBmaWxlIGJlaW5nIGdlbmVyYXRlZCBieSB0aGUgbGlua2VyLiAgKi8KKworZW51bSBsZF9wbHVnaW5fb3V0cHV0X2ZpbGVfdHlwZQoreworICBMRFBPX1JFTCwKKyAgTERQT19FWEVDLAorICBMRFBPX0RZTgorfTsKKworLyogQW4gaW5wdXQgZmlsZSBtYW5hZ2VkIGJ5IHRoZSBwbHVnaW4gbGlicmFyeS4gICovCisKK3N0cnVjdCBsZF9wbHVnaW5faW5wdXRfZmlsZQoreworICBjb25zdCBjaGFyICpuYW1lOworICBpbnQgZmQ7CisgIG9mZl90IG9mZnNldDsKKyAgb2ZmX3QgZmlsZXNpemU7CisgIHZvaWQgKmhhbmRsZTsKK307CisKKy8qIEEgc3ltYm9sIGJlbG9uZ2luZyB0byBhbiBpbnB1dCBmaWxlIG1hbmFnZWQgYnkgdGhlIHBsdWdpbiBsaWJyYXJ5LiAgKi8KKworc3RydWN0IGxkX3BsdWdpbl9zeW1ib2wKK3sKKyAgY2hhciAqbmFtZTsKKyAgY2hhciAqdmVyc2lvbjsKKyAgaW50IGRlZjsKKyAgaW50IHZpc2liaWxpdHk7CisgIHVpbnQ2NF90IHNpemU7CisgIGNoYXIgKmNvbWRhdF9rZXk7CisgIGludCByZXNvbHV0aW9uOworfTsKKworLyogV2hldGhlciB0aGUgc3ltYm9sIGlzIGEgZGVmaW5pdGlvbiwgcmVmZXJlbmNlLCBvciBjb21tb24sIHdlYWsgb3Igbm90LiAgKi8KKworZW51bSBsZF9wbHVnaW5fc3ltYm9sX2tpbmQKK3sKKyAgTERQS19ERUYsCisgIExEUEtfV0VBS0RFRiwKKyAgTERQS19VTkRFRiwKKyAgTERQS19XRUFLVU5ERUYsCisgIExEUEtfQ09NTU9OCit9OworCisvKiBUaGUgdmlzaWJpbGl0eSBvZiB0aGUgc3ltYm9sLiAgKi8KKworZW51bSBsZF9wbHVnaW5fc3ltYm9sX3Zpc2liaWxpdHkKK3sKKyAgTERQVl9ERUZBVUxULAorICBMRFBWX1BST1RFQ1RFRCwKKyAgTERQVl9JTlRFUk5BTCwKKyAgTERQVl9ISURERU4KK307CisKKy8qIEhvdyBhIHN5bWJvbCBpcyByZXNvbHZlZC4gICovCisKK2VudW0gbGRfcGx1Z2luX3N5bWJvbF9yZXNvbHV0aW9uCit7CisgIExEUFJfVU5LTk9XTiA9IDAsCisgIExEUFJfVU5ERUYsCisgIExEUFJfUFJFVkFJTElOR19ERUYsCisgIExEUFJfUFJFVkFJTElOR19ERUZfSVJPTkxZLAorICBMRFBSX1BSRUVNUFRFRF9SRUcsCisgIExEUFJfUFJFRU1QVEVEX0lSLAorICBMRFBSX1JFU09MVkVEX0lSLAorICBMRFBSX1JFU09MVkVEX0VYRUMsCisgIExEUFJfUkVTT0xWRURfRFlOCit9OworCisvKiBUaGUgcGx1Z2luIGxpYnJhcnkncyAiY2xhaW0gZmlsZSIgaGFuZGxlci4gICovCisKK3R5cGVkZWYKK2VudW0gbGRfcGx1Z2luX3N0YXR1cworKCpsZF9wbHVnaW5fY2xhaW1fZmlsZV9oYW5kbGVyKSAoCisgIGNvbnN0IHN0cnVjdCBsZF9wbHVnaW5faW5wdXRfZmlsZSAqZmlsZSwgaW50ICpjbGFpbWVkKTsKKworLyogVGhlIHBsdWdpbiBsaWJyYXJ5J3MgImFsbCBzeW1ib2xzIHJlYWQiIGhhbmRsZXIuICAqLworCit0eXBlZGVmCitlbnVtIGxkX3BsdWdpbl9zdGF0dXMKKygqbGRfcGx1Z2luX2FsbF9zeW1ib2xzX3JlYWRfaGFuZGxlcikgKHZvaWQpOworCisvKiBUaGUgcGx1Z2luIGxpYnJhcnkncyBjbGVhbnVwIGhhbmRsZXIuICAqLworCit0eXBlZGVmCitlbnVtIGxkX3BsdWdpbl9zdGF0dXMKKygqbGRfcGx1Z2luX2NsZWFudXBfaGFuZGxlcikgKHZvaWQpOworCisvKiBUaGUgbGlua2VyJ3MgaW50ZXJmYWNlIGZvciByZWdpc3RlcmluZyB0aGUgImNsYWltIGZpbGUiIGhhbmRsZXIuICAqLworCit0eXBlZGVmCitlbnVtIGxkX3BsdWdpbl9zdGF0dXMKKygqbGRfcGx1Z2luX3JlZ2lzdGVyX2NsYWltX2ZpbGUpIChsZF9wbHVnaW5fY2xhaW1fZmlsZV9oYW5kbGVyIGhhbmRsZXIpOworCisvKiBUaGUgbGlua2VyJ3MgaW50ZXJmYWNlIGZvciByZWdpc3RlcmluZyB0aGUgImFsbCBzeW1ib2xzIHJlYWQiIGhhbmRsZXIuICAqLworCit0eXBlZGVmCitlbnVtIGxkX3BsdWdpbl9zdGF0dXMKKygqbGRfcGx1Z2luX3JlZ2lzdGVyX2FsbF9zeW1ib2xzX3JlYWQpICgKKyAgbGRfcGx1Z2luX2FsbF9zeW1ib2xzX3JlYWRfaGFuZGxlciBoYW5kbGVyKTsKKworLyogVGhlIGxpbmtlcidzIGludGVyZmFjZSBmb3IgcmVnaXN0ZXJpbmcgdGhlIGNsZWFudXAgaGFuZGxlci4gICovCisKK3R5cGVkZWYKK2VudW0gbGRfcGx1Z2luX3N0YXR1cworKCpsZF9wbHVnaW5fcmVnaXN0ZXJfY2xlYW51cCkgKGxkX3BsdWdpbl9jbGVhbnVwX2hhbmRsZXIgaGFuZGxlcik7CisKKy8qIFRoZSBsaW5rZXIncyBpbnRlcmZhY2UgZm9yIGFkZGluZyBzeW1ib2xzIGZyb20gYSBjbGFpbWVkIGlucHV0IGZpbGUuICAqLworCit0eXBlZGVmCitlbnVtIGxkX3BsdWdpbl9zdGF0dXMKKygqbGRfcGx1Z2luX2FkZF9zeW1ib2xzKSAodm9pZCAqaGFuZGxlLCBpbnQgbnN5bXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBsZF9wbHVnaW5fc3ltYm9sICpzeW1zKTsKKworLyogVGhlIGxpbmtlcidzIGludGVyZmFjZSBmb3IgcmV0cmlldmluZyBzeW1ib2wgcmVzb2x1dGlvbiBpbmZvcm1hdGlvbi4gICovCisKK3R5cGVkZWYKK2VudW0gbGRfcGx1Z2luX3N0YXR1cworKCpsZF9wbHVnaW5fZ2V0X3N5bWJvbHMpIChjb25zdCB2b2lkICpoYW5kbGUsIGludCBuc3ltcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGxkX3BsdWdpbl9zeW1ib2wgKnN5bXMpOworCisvKiBUaGUgbGlua2VyJ3MgaW50ZXJmYWNlIGZvciBhZGRpbmcgYSBjb21waWxlZCBpbnB1dCBmaWxlLiAgKi8KKwordHlwZWRlZgorZW51bSBsZF9wbHVnaW5fc3RhdHVzCisoKmxkX3BsdWdpbl9hZGRfaW5wdXRfZmlsZSkgKGNoYXIgKnBhdGhuYW1lKTsKKworLyogVGhlIGxpbmtlcidzIGludGVyZmFjZSBmb3IgaXNzdWluZyBhIHdhcm5pbmcgb3IgZXJyb3IgbWVzc2FnZS4gICovCisKK3R5cGVkZWYKK2VudW0gbGRfcGx1Z2luX3N0YXR1cworKCpsZF9wbHVnaW5fbWVzc2FnZSkgKGludCBsZXZlbCwgY2hhciAqZm9ybWF0LCAuLi4pOworCitlbnVtIGxkX3BsdWdpbl9sZXZlbAoreworICBMRFBMX0lORk8sCisgIExEUExfV0FSTklORywKKyAgTERQTF9FUlJPUiwKKyAgTERQTF9GQVRBTAorfTsKKworLyogVmFsdWVzIGZvciB0aGUgdHZfdGFnIGZpZWxkIG9mIHRoZSB0cmFuc2ZlciB2ZWN0b3IuICAqLworCitlbnVtIGxkX3BsdWdpbl90YWcKK3sKKyAgTERQVF9OVUxMID0gMCwKKyAgTERQVF9BUElfVkVSU0lPTiwKKyAgTERQVF9HT0xEX1ZFUlNJT04sCisgIExEUFRfTElOS0VSX09VVFBVVCwKKyAgTERQVF9PUFRJT04sCisgIExEUFRfUkVHSVNURVJfQ0xBSU1fRklMRV9IT09LLAorICBMRFBUX1JFR0lTVEVSX0FMTF9TWU1CT0xTX1JFQURfSE9PSywKKyAgTERQVF9SRUdJU1RFUl9DTEVBTlVQX0hPT0ssCisgIExEUFRfQUREX1NZTUJPTFMsCisgIExEUFRfR0VUX1NZTUJPTFMsCisgIExEUFRfQUREX0lOUFVUX0ZJTEUsCisgIExEUFRfTUVTU0FHRQorfTsKKworLyogVGhlIHBsdWdpbiB0cmFuc2ZlciB2ZWN0b3IuICAqLworCitzdHJ1Y3QgbGRfcGx1Z2luX3R2Cit7CisgIGVudW0gbGRfcGx1Z2luX3RhZyB0dl90YWc7CisgIHVuaW9uCisgIHsKKyAgICBpbnQgdHZfdmFsOworICAgIGNvbnN0IGNoYXIgKnR2X3N0cmluZzsKKyAgICBsZF9wbHVnaW5fcmVnaXN0ZXJfY2xhaW1fZmlsZSB0dl9yZWdpc3Rlcl9jbGFpbV9maWxlOworICAgIGxkX3BsdWdpbl9yZWdpc3Rlcl9hbGxfc3ltYm9sc19yZWFkIHR2X3JlZ2lzdGVyX2FsbF9zeW1ib2xzX3JlYWQ7CisgICAgbGRfcGx1Z2luX3JlZ2lzdGVyX2NsZWFudXAgdHZfcmVnaXN0ZXJfY2xlYW51cDsKKyAgICBsZF9wbHVnaW5fYWRkX3N5bWJvbHMgdHZfYWRkX3N5bWJvbHM7CisgICAgbGRfcGx1Z2luX2dldF9zeW1ib2xzIHR2X2dldF9zeW1ib2xzOworICAgIGxkX3BsdWdpbl9hZGRfaW5wdXRfZmlsZSB0dl9hZGRfaW5wdXRfZmlsZTsKKyAgICBsZF9wbHVnaW5fbWVzc2FnZSB0dl9tZXNzYWdlOworICB9IHR2X3U7Cit9OworCisvKiBUaGUgcGx1Z2luIGxpYnJhcnkncyAib25sb2FkIiBlbnRyeSBwb2ludC4gICovCisKK3R5cGVkZWYKK2VudW0gbGRfcGx1Z2luX3N0YXR1cworKCpsZF9wbHVnaW5fb25sb2FkKSAoc3RydWN0IGxkX3BsdWdpbl90diAqdHYpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK307CisjZW5kaWYKKworI2VuZGlmIC8qICFkZWZpbmVkKFBMVUdJTl9BUElfSCkgKi8KZGlmZiAtLWdpdCBhL2xkL0NoYW5nZUxvZyBiL2xkL0NoYW5nZUxvZwppbmRleCBkZjE1MTBiLi4zZmVjN2E1IDEwMDY0NAotLS0gYS9sZC9DaGFuZ2VMb2cKKysrIGIvbGQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTc4IEBACisyMDA4LTEwLTI1ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgorCisJUFIgNjk0NQorCSogbGRsYW5nLmMgKGxhbmdfc2l6ZV9zZWN0aW9uc18xKTogRG8gbm90IHVwZGF0ZSB0aGUgVk1BcyBvZgorCW91dHB1dCBzZWN0aW9ucyB3aGVuIHBlcmZvcm1pbmcgYSByZWxvY2F0YWJsZSBsaW5rIG9uIENPRkYKKwlvYmplY3RzLgorCisyMDA4LTEwLTIyICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgorCisJKiBlbXVsdGVtcGwvYXJtZWxmLmVtIChhcm1fZWxmX2FmdGVyX29wZW4pOiBNb3ZlIGNoZWNrIGZvciB1c2luZyBhCisJbm9uLWFybSBvdXRwdXQgdGFyZ2V0IGZyb20gaGVyZS4uLgorCShhcm1fZWxmX2NyZWF0ZV9vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRzKTogLi4uIHRvIGhlcmUsIHNvIHRoYXQKKwl0aGUgY2hlY2sgaXMgbWFkZSBhdCB0aGUgZWFybGllc3QgcG9zc2libGUgb3Bwb3J0dW5pdHkuCisKKzIwMDgtMTAtMjIgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CisKKwkqIGVtdWxwYXJhbXMvZWxmMzJfaTk2MC5zaCAoVEVNUExBVEVfTkFNRSk6ICJnZW5lcmljIiwgbm90ICJlbGYzMiIuCisJKEVYVFJBX0VNX0ZJTEUpOiBEZWZpbmUuCisKKzIwMDgtMTAtMjIgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CisKKwkqIHNjcmlwdHRlbXBsL2VsZi5zYyAoTk9fUkVMX1JFTE9DUywgTk9fUkVMQV9SRUxPQ1MsIE5PTl9BTExPQ19EWU4pOiAKKwlIYW5kbGUgdGhlc2UgZGVmaW5lcy4KKwkqIGVtdWxwYXJhbXMvY3Jpc2VsZi5zaCwgKiBlbXVscGFyYW1zL2NyaXNsaW51eC5zaCwKKwkqIGVtdWxwYXJhbXMvZWxmMzJhbTMzbGluLnNoLCAqIGVtdWxwYXJhbXMvZWxmMzJmcjMwLnNoLAorCSogZW11bHBhcmFtcy9lbGYzMl9pODYwLnNoLCAqIGVtdWxwYXJhbXMvZWxmMzJpcDJrLnNoLAorCSogZW11bHBhcmFtcy9lbGYzMm1jb3JlLnNoLCAqIGVtdWxwYXJhbXMvZWxmMzJwcGNjb21tb24uc2gsCisJKiBlbXVscGFyYW1zL2VsZjMycHBjd2luZGlzcy5zaCwgKiBlbXVscGFyYW1zL2VsZjMyX3NwYXJjLnNoLAorCSogZW11bHBhcmFtcy9lbGYzMl9zcHUuc2gsICogZW11bHBhcmFtcy9lbGYzMnZheC5zaCwKKwkqIGVtdWxwYXJhbXMvZWxmNjRhbHBoYS5zaCwgKiBlbXVscGFyYW1zL2VsZjY0bW1peC5zaCwKKwkqIGVtdWxwYXJhbXMvZWxmNjRwcGMuc2gsICogZW11bHBhcmFtcy9lbGY2NF9zMzkwLnNoLAorCSogZW11bHBhcmFtcy9lbGY2NF9zcGFyYy5zaCwgKiBlbXVscGFyYW1zL2VsZl9zMzkwLnNoLAorCSogZW11bHBhcmFtcy9lbGZfeDg2XzY0LnNoLCAqIGVtdWxwYXJhbXMvaDgzMDBlbGYuc2gsCisJKiBlbXVscGFyYW1zL2hwcGE2NGxpbnV4LnNoLCAqIGVtdWxwYXJhbXMvaHBwYWxpbnV4LnNoLAorCSogZW11bHBhcmFtcy9tNjhrZWxmLnNoLCAqIGVtdWxwYXJhbXMvbW4xMDIwMC5zaCwKKwkqIGVtdWxwYXJhbXMvcGplbGYuc2gsICogZW11bHBhcmFtcy9wcGNseW54LnNoLAorCSogZW11bHBhcmFtcy9zaGVsZjMyLnNoLCAqIGVtdWxwYXJhbXMvc2hlbGZfbnRvLnNoLAorCSogZW11bHBhcmFtcy9zaGVsZi5zaCwgKiBlbXVscGFyYW1zL3NoZWxmX3Z4d29ya3Muc2gsCisJKiBlbXVscGFyYW1zL3NobGVsZjMyX2xpbnV4LnNoLCAqIGVtdWxwYXJhbXMvc2hsZWxmX2xpbnV4LnNoLAorCSogZW11bHBhcmFtcy9zaGxlbGZfbnRvLnNoIChOT19SRUxfUkVMT0NTKTogU2V0LgorCSogZW11bHBhcmFtcy9hcmNlbGYuc2gsICogZW11bHBhcmFtcy9lbGYzMl9pOTYwLnNoLAorCSogZW11bHBhcmFtcy9lbGYzMm9wZW5yaXNjLnNoLCAqIGVtdWxwYXJhbXMvZWxmX2kzODZfYmUuc2gsCisJKiBlbXVscGFyYW1zL2VsZl9pMzg2X2xkc28uc2gsICogZW11bHBhcmFtcy9lbGZfaTM4Ni5zaCwKKwkqIGVtdWxwYXJhbXMvZWxmX2kzODZfdnh3b3Jrcy5zaCwgKiBlbXVscGFyYW1zL2kzODZseW54LnNoLAorCSogZW11bHBhcmFtcy9pMzg2bW9zcy5zaCwgKiBlbXVscGFyYW1zL2kzODZudG8uc2gsCisJKiBlbXVscGFyYW1zL29yMzJlbGYuc2gsICogZW11bHBhcmFtcy9zY29yZWVsZi5zaCAoTk9fUkVMQV9SRUxPQ1MpOiBTZXQuCisKKzIwMDgtMTAtMjIgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CisKKwkqIGxkbGFuZy5jIChsYW5nX291dHB1dF9zZWN0aW9uX2ZpbmRfYnlfZmxhZ3MpOiBIYW5kbGUgbm9uLWFsbG9jCisJc2VjdGlvbnMuCisJKiBlbXVsdGVtcGwvZWxmMzIuZW0gKGVudW0gb3JwaGFuX3NhdmVfaW5kZXgpOiBBZGQgb3JwaGFuX25vbmFsbG9jLgorCShob2xkKTogTGlrZXdpc2UuCisJKGdsZCR7RU1VTEFUSU9OX05BTUV9X3BsYWNlX29ycGhhbik6IEhhbmRsZSBub24tYWxsb2Mgb3JwaGFucy4KKworMjAwOC0xMC0yMiAgQmVybmhhcmQgUmV1dG5lci1GaXNjaGVyICA8YWxkb3RAZ2NjLmdudS5vcmc+CisKKwkqIGVtdWx0ZW1wbC9hcm1lbGYuZW0gKFBBUlNFX0FORF9MSVNUX09QVElPTlMpOiBDb3JyZWN0IHR5cG8gaW4KKwloZWxwIHRleHQgb2YgLS1iZTguCisKKzIwMDgtMTAtMjAgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CisKKwkqIGxkZW11bC5oIChsZGVtdWxfcGxhY2Vfb3JwaGFuKTogVXBkYXRlIHByb3RvdHlwZS4KKwkoc3RydWN0IGxkX2VtdWxhdGlvbl94ZmVyX3N0cnVjdCA8cGxhY2Vfb3JwaGFuPik6IExpa2V3aXNlLgorCSogbGRlbXVsLmMgKGxkZW11bF9wbGFjZV9vcnBoYW4pOiBSZXR1cm4gcG9pbnRlciB0byBvdXRwdXQKKwlzZWN0aW9uIHN0YXRlbWVudC4KKwkqIGVtdWx0ZW1wbC9iZW9zLmVtIChnbGQke0VNVUxBVElPTl9OQU1FfV9wbGFjZV9vcnBoYW4pOiBMaWtld2lzZS4KKwkqIGVtdWx0ZW1wbC9lbGYzMi5lbSAoZ2xkJHtFTVVMQVRJT05fTkFNRX1fcGxhY2Vfb3JwaGFuKTogTGlrZXdpc2UuCisJKiBlbXVsdGVtcGwvbW1vLmVtIChtbW9fcGxhY2Vfb3JwaGFuKTogTGlrZXdpc2UuCisJKiBlbXVsdGVtcGwvcGUuZW0gKGdsZF8ke0VNVUxBVElPTl9OQU1FfV9wbGFjZV9vcnBoYW4pOiBMaWtld2lzZS4KKwkqIGVtdWx0ZW1wbC9wZXAuZW0gKGdsZF8ke0VNVUxBVElPTl9OQU1FfV9wbGFjZV9vcnBoYW4pOiBMaWtld2lzZS4KKworMjAwOC0xMC0wOCAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KKworCSogY29uZmlndXJlLmluIChBTExfTElOR1VBUyk6IEFkZCAiaWQiLgorCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgorCSogcG8vaWQucG86IE5ldyBJbmRvbmVzaWFuIHRyYW5zbGF0aW9uLgorCisyMDA4LTEwLTA1ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJUFIgNjk0MworCSogc2NyaXB0dGVtcGwvYXZyLnNjICguYnNzKTogU2V0IGxtYSB3aGVuIHJlbG9jYXRpbmcuCisJKC5ic3MsIC5ub2luaXQpOiBObyBuZWVkIHRvIHNldCB2bWEgd2hlbiByZWxvY2F0aW5nLgorCSgudGV4dCwgLmJzcywgLG5vaW5pdCk6IFNldCB2bWEgdG8gemVybyB3aGVuIG5vdCByZWxvY2F0aW5nLgorCisyMDA4LTEwLTA0ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJUFIgNjkzMQorCSogbGRlbXVsLmMgKGxkZW11bF9wbGFjZV9vcnBoYW4pOiBBZGQgImNvbnN0cmFpbnQiIHBhcmFtLgorCSogbGRlbXVsLmggKGxkZW11bF9wbGFjZV9vcnBoYW4pOiBVcGRhdGUgcHJvdG90eXBlLgorCShzdHJ1Y3QgbGRfZW11bGF0aW9uX3hmZXJfc3RydWN0IDxwbGFjZV9vcnBoYW4+KTogTGlrZXdpc2UgYWRkIHBhcmFtLgorCSogbGRsYW5nLmMgKHVuaXF1ZV9zZWN0aW9uX3ApOiBNYWtlIHN0YXRpYy4KKwkobGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfbG9va3VwKTogT3B0aW1pc2UgY3JlYXRpb24gb2YgU1BFQ0lBTAorCXNlY3Rpb25zLgorCShsYW5nX2luc2VydF9vcnBoYW4pOiBBZGQgImNvbnN0cmFpbnQiIHBhcmFtLiAgUGFzcyB0bworCWxhbmdfZW50ZXJfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50LgorCShpbml0X29zKTogRG9uJ3QgdXNlIGFuIGV4aXN0aW5nIGJmZCBzZWN0aW9uIGZvciBTUEVDSUFMIHNlY3Rpb25zLgorCShsYW5nX3BsYWNlX29ycGhhbnMpOiBEb24ndCByZW5hbWUgdW5pcXVlIG91dHB1dCBzZWN0aW9ucywgaW5zdGVhZAorCW1hcmsgdGhlaXIgb3V0cHV0IHNlY3Rpb24gc3RhdGVtZW50cyBTUEVDSUFMLgorCSogbGRsYW5nLmggKGxhbmdfaW5zZXJ0X29ycGhhbik6IFVwZGF0ZSBwcm90b3R5cGUuCisJKHVuaXF1ZV9zZWN0aW9uX3ApOiBEZWxldGUuCisJKiBlbXVsdGVtcGwvYmVvcy5lbSAocGxhY2Vfb3JwaGFuKTogQWRkICJjb25zdHJhaW50IiBwYXJhbS4KKwkqIGVtdWx0ZW1wbC9lbGYzMi5lbSAocGxhY2Vfb3JwaGFuKTogTGlrZXdpc2UuICBEb24ndCBtYXRjaCBleGlzdGluZworCW91dHB1dCBzZWN0aW9ucyBpZiBzZXQuCisJKiBlbXVsdGVtcGwvcGUuZW0gKHBsYWNlX29ycGhhbik6IExpa2V3aXNlLgorCSogZW11bHRlbXBsL3BlcC5lbSAocGxhY2Vfb3JwaGFuKTogTGlrZXdpc2UuCisJKiBlbXVsdGVtcGwvbW1vLmVtIChtbW9fcGxhY2Vfb3JwaGFuKTogVXBkYXRlLgorCSogZW11bHRlbXBsL3NwdWVsZi5lbSAoc3B1X3BsYWNlX3NwZWNpYWxfc2VjdGlvbik6IFVwZGF0ZS4KKworMjAwOC0xMC0wMyAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KKworCVBSIDY5MzEKKwkqIGxkZW11bC5jIChsZGVtdWxfcGxhY2Vfb3JwaGFuKTogQWRkICJuYW1lIiBwYXJhbS4KKwkqIGxkZW11bC5oIChsZGVtdWxfcGxhY2Vfb3JwaGFuKTogVXBkYXRlIHByb3RvdHlwZS4KKwkoc3RydWN0IGxkX2VtdWxhdGlvbl94ZmVyX3N0cnVjdCA8cGxhY2Vfb3JwaGFuPik6IExpa2V3aXNlLgorCSogbGRsYW5nLmMgKGxhbmdfcGxhY2Vfb3JwaGFucyk6IEdlbmVyYXRlIHVuaXF1ZSBzZWN0aW9uIG5hbWVzIGhlcmUuLgorCSogZW11bHRlbXBsL2VsZjMyLmVtIChwbGFjZV9vcnBoYW4pOiAuLnJhdGhlciB0aGFuIGhlcmUuICBEb24ndAorCWRpcmVjdGx5IHVzZSBhbiBleGlzdGluZyBvdXRwdXQgc2VjdGlvbiBzdGF0ZW1lbnQgdGhhdCBoYXMgbm8KKwliZmQgc2VjdGlvbi4KKwkqIGVtdWx0ZW1wbC9wZS5lbSAocGxhY2Vfb3JwaGFuKTogTGlrZXdpc2UuCisJKiBlbXVsdGVtcGwvcGVwLmVtIChwbGFjZV9vcnBoYW4pOiBMaWtld2lzZS4KKwkqIGVtdWx0ZW1wbC9iZW9zLmVtIChwbGFjZV9vcnBoYW4pOiBBZGp1c3QuCisJKiBlbXVsdGVtcGwvc3B1ZWxmLmVtIChzcHVfcGxhY2Vfc3BlY2lhbF9zZWN0aW9uKTogQWRqdXN0CisJcGxhY2Vfb3JwaGFuIGNhbGwuCisJKiBlbXVsdGVtcGwvZ2VuZWxmLmVtIChnbGQke0VNVUxBVElPTl9OQU1FfV9hZnRlcl9vcGVuKTogTmV3IGZ1bmN0aW9uLgorCShMREVNVUxfQUZURVJfT1BFTik6IERlZmluZS4KKworMjAwOC0wOS0zMCAgSm9zZXBoIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+CisKKwkqIGVtdWxwYXJhbXMvZWxmNjRwcGMuc2ggKE9USEVSX0dPVF9SRUxPQ19TRUNUSU9OUyk6IEFkZCAucmVsYS5vcGQKKwlhbmQgLnJlbGEuYnJhbmNoX2x0LgorCisyMDA4LTA5LTMwICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJKiBNYWtlZmlsZS5hbTogUnVuICJtYWtlIGRlcC1hbSIuCisJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KKworMjAwOC0wOS0yOSAgUGV0ZXIgTydHb3JtYW4gIDxwb2dtYUB0aGV3cml0dGVud29yZC5jb20+CisJICAgIFN0ZXZlIEVsbGNleSAgPHNqZUBjdXAuaHAuY29tPgorCisJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUgZm9yIG5ldyBsaWJ0b29sLgorCSogYWNsb2NhbC5tNDogRGl0dG8uCisJKiBNYWtlZmlsZS5pbjogRGl0dG8uCisKKzIwMDgtMDktMjkgIEthaSBUaWV0eiAgPGthaS50aWV0ekBvbmV2aXNpb24uY29tPgorCisJKiBwZS1kbGwuYyAobWFrZV9pbXBvcnRfZml4dXBfZW50cnkpOiBNYWtlIHN1cmUgcmVsb2MgaXMgYWRkZW5kLgorCisyMDA4LTA5LTI5ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgorCisJKiBwby92aS5wbzogVXBkYXRlZCBWaWV0bmFtZXNlIHRyYW5zbGF0aW9uLgorCisyMDA4LTA5LTI1ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJKiBsZGV4cC5jIChmb2xkX2JpbmFyeSk6IEV2YWx1YXRlIHJocyB3aGVuIGxocyBub3QgdmFsaWQuCisKKzIwMDgtMDktMTEgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCSogY29uZmlndXJlLmluOiBDYWxsIEFDX1NZU19MQVJHRUZJTEUuCisJKiBjb25maWcuaW46IFJlZ2VuZXJhdGUuCisJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCisKKzIwMDgtMDktMDkgIFBldGVyIFJvc2luICA8cGVkYUBseXNhdG9yLmxpdS5zZT4gICh0aW55IGNoYW5nZSkKKworCSogZW11bHRlbXBsL3BlLmVtIChwZV9maW5kX2RhdGFfaW1wb3J0cyk6IEFkZCB0cmFpbGluZyBuZXdsaW5lCisJdG8gd2FybmluZyBtZXNzYWdlLgorCSogZW11bHRlbXBsL3BlcC5lbSAocGVwX2ZpbmRfZGF0YV9pbXBvcnRzKTogTGlrZXdpc2UuCisKKzIwMDgtMDktMDggIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KKworCTIwMDgtMDktMDcgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CisKKwkqIGVtdWx0ZW1wbC9iZW9zLmVtIChnbGQke0VNVUxBVElPTl9OQU1FfV9wbGFjZV9vcnBoYW4pOiBVcGRhdGVkLgorCSogZW11bHRlbXBsL3N1bm9zLmVtIChnbGQke0VNVUxBVElPTl9OQU1FfV9iZWZvcmVfYWxsb2NhdGlvbik6IExpa2V3aXNlLgorCiAyMDA4LTA5LTA4ICBUcmlzdGFuIEdpbmdvbGQgIDxnaW5nb2xkQGFkYWNvcmUuY29tPgogCiAJKiBORVdTOiBBZGQgYSBtYXJrZXIgZm9yIHRoZSAyLjE5IGZlYXR1cmVzLgpAQCAtMzUwLDcgKzUyNSw3IEBACiAJKiBORVdTOiBNZW50aW9uIG5ldyBmZWF0dXJlLgogCiAyMDA4LTA1LTI4ICBDaHJpc3RvcGhlIEx5b24gIDxjaHJpc3RvcGhlLmx5b25Ac3QuY29tPgotCQorCiAJKiBsZC50ZXhpbmZvOiBTdGF0ZSB0aGF0IGZhcmNhbGxzIHN0dWJzIGFyZSBzdXBwb3J0ZWQgZm9yIEFSTS1FQUJJCiAJb25seS4KIApAQCAtMzkxLDcgKzU2Niw3IEBACiAJKFBBUlNFX0FORF9MSVNUX09QVElPTlMpOiBEZWZpbmUgc2hlbGwgdmFyaWFibGUuICBQcmludCBoZWxwIHN0cmluZwogCWZvciAtLWdvdCBvcHRpb24uCiAJKFBBUlNFX0FORF9MSVNUX0FSR1NfQ0FTRVMpOiBEZWZpbmUgc2hlbGwgdmFyaWFibGUuICBIYW5kbGUgLS1nb3QKLQlvcHRpb24uCQorCW9wdGlvbi4KIAkqIGxkLnRleGluZm86IERvY3VtZW50IC0tZ290PTx0eXBlPiBvcHRpb24uCiAJKiBnZW4tZG9jLnRleGk6IEFkZCBNNjhLLgogCSogTkVXUzogTWVudGlvbiB0aGUgbmV3IGZlYXR1cmUuCkBAIC00MTEsNyArNTg2LDcgQEAKIAkqIE5FV1M6IE1lbnRpb24gdGhlIHN1cHBvcnQgZm9yIGxvbmcgZnVuY3Rpb24gY2FsbHMuCiAKIDIwMDgtMDUtMTUgIENocmlzdG9waGUgTHlvbiAgPGNocmlzdG9waGUubHlvbkBzdC5jb20+Ci0JCisKIAkqIGVtdWx0ZW1wbC9hcm1lbGYuZW0gKGJ1aWxkX3NlY3Rpb25fbGlzdHMpOiBOZXcgZnVuY3Rpb24uCiAJKHN0dWJfZmlsZSk6IERlZmluZS4KIAkobmVlZF9sYXlpbmdfb3V0KTogRGVmaW5lLgpkaWZmIC0tZ2l0IGEvbGQvTWFrZWZpbGUuYW0gYi9sZC9NYWtlZmlsZS5hbQppbmRleCAxNTg0YTI0Li4wMDkzYzg4IDEwMDY0NAotLS0gYS9sZC9NYWtlZmlsZS5hbQorKysgYi9sZC9NYWtlZmlsZS5hbQpAQCAtMjAyMSw3ICsyMDIxLDcgQEAKICAgJChJTkNESVIpL2RlbWFuZ2xlLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIGxkLmggbGRtaXNjLmggXAogICBsZGV4cC5oIGxkbGFuZy5oIGxkZ3JhbS5oIGxkbGV4LmggbGRtYWluLmggbGRmaWxlLmggXAogICAkKEJGRERJUikvZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oIFwKLSAgJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oICQoSU5DRElSKS9iZmRsaW5rLmgKKyAgJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oCiBsZHZlci5vOiBsZHZlci5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9mb3Blbi1zYW1lLmggXAogICAuLi9iZmQvYmZkLmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKICAgLi4vYmZkL2JmZHZlci5oIGxkLmggbGR2ZXIuaCBsZGV4cC5oIGxkbGFuZy5oIGxkZmlsZS5oIFwKQEAgLTIwNTEsMTQgKzIwNTEsMTMgQEAKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIGxkLmggbGRleHAuaCBsZGxhbmcuaCBsZHdyaXRlLmggXAogICBsZG1pc2MuaCBsZGdyYW0uaCBsZG1haW4uaCBsZGZpbGUuaCBsZGVtdWwuaCAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oIFwKLSAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oIGRlZmZpbGUuaCBwZS1kbGwuaAorICAkKEJGRERJUikvbGliY29mZi5oIGRlZmZpbGUuaCBwZS1kbGwuaAogcGVwLWRsbC5vOiBwZXAtZGxsLmMgcGUtZGxsLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2ZvcGVuLXNhbWUuaCBcCiAgIC4uL2JmZC9iZmQuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggbGQuaCBsZGV4cC5oIGxkbGFuZy5oIGxkd3JpdGUuaCBcCiAgIGxkbWlzYy5oIGxkZ3JhbS5oIGxkbWFpbi5oIGxkZmlsZS5oIGxkZW11bC5oICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggXAotICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggZGVmZmlsZS5oIHBlLWRsbC5oIFwKLSAgcGVwLWRsbC5oCisgICQoQkZERElSKS9saWJjb2ZmLmggZGVmZmlsZS5oIHBlLWRsbC5oIHBlcC1kbGwuaAogbGRncmFtLm86IGxkZ3JhbS5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9mb3Blbi1zYW1lLmggXAogICAuLi9iZmQvYmZkLmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCBsZC5oIGxkZXhwLmggbGR2ZXIuaCBsZGxhbmcuaCBsZGZpbGUuaCBcCmRpZmYgLS1naXQgYS9sZC9NYWtlZmlsZS5pbiBiL2xkL01ha2VmaWxlLmluCmluZGV4IDliMDg3ZGQuLmYyZTEwMzAgMTAwNjQ0Ci0tLSBhL2xkL01ha2VmaWxlLmluCisrKyBiL2xkL01ha2VmaWxlLmluCkBAIC02Niw3ICs2Niw3IEBACiAJJCh0b3Bfc3JjZGlyKS8uLi9jb25maWcvcHJvZ3Rlc3QubTQgXAogCSQodG9wX3NyY2RpcikvLi4vbGlidG9vbC5tNCAkKHRvcF9zcmNkaXIpLy4uL2x0b3B0aW9ucy5tNCBcCiAJJCh0b3Bfc3JjZGlyKS8uLi9sdHN1Z2FyLm00ICQodG9wX3NyY2RpcikvLi4vbHR2ZXJzaW9uLm00IFwKLQkkKHRvcF9zcmNkaXIpL2NvbmZpZ3VyZS5pbgorCSQodG9wX3NyY2RpcikvLi4vbHR+b2Jzb2xldGUubTQgJCh0b3Bfc3JjZGlyKS9jb25maWd1cmUuaW4KIGFtX19jb25maWd1cmVfZGVwcyA9ICQoYW1fX2FjbG9jYWxfbTRfZGVwcykgJChDT05GSUdVUkVfREVQRU5ERU5DSUVTKSBcCiAJJChBQ0xPQ0FMX000KQogYW1fX0NPTkZJR19ESVNUQ0xFQU5fRklMRVMgPSBjb25maWcuc3RhdHVzIGNvbmZpZy5jYWNoZSBjb25maWcubG9nIFwKQEAgLTE0OSw2ICsxNDksNyBAQAogREFUQURJUk5BTUUgPSBAREFUQURJUk5BTUVACiBERUZTID0gQERFRlNACiBERVBESVIgPSBAREVQRElSQAorRFNZTVVUSUwgPSBARFNZTVVUSUxACiBEVU1QQklOID0gQERVTVBCSU5ACiBFQ0hPX0MgPSBARUNIT19DQAogRUNIT19OID0gQEVDSE9fTkAKQEAgLTE5NSw2ICsxOTYsNyBAQAogIyB3aGljaCBtYXkgaGF2ZSB0aGUgZm9ybTogTElCX1BBVEg9L2xpYjovdXNyL2xvY2FsL2xpYi4gIFRoaXMgY2FuIGJlIHNldAogIyB3aGVuIHRoZSBsaW5rZXIgaXMgY29uZmlndXJlZCB2aWEgdGhlIC0td2l0aC1saWItcGF0aCBjb25maWd1cmUgc3dpdGNoLgogTElCX1BBVEggPSBATElCX1BBVEhACitMSVBPID0gQExJUE9ACiBMTl9TID0gQExOX1NACiBMVExJQk9CSlMgPSBATFRMSUJPQkpTQAogTUFJTlQgPSBATUFJTlRACkBAIC0yMDYsOCArMjA4LDEyIEBACiBNU0dNRVJHRSA9IEBNU0dNRVJHRUAKIE5BVElWRV9MSUJfRElSUyA9IEBOQVRJVkVfTElCX0RJUlNACiBOTSA9IEBOTUAKK05NRURJVCA9IEBOTUVESVRACiBOT19XRVJST1IgPSBATk9fV0VSUk9SQAorT0JKRFVNUCA9IEBPQkpEVU1QQAogT0JKRVhUID0gQE9CSkVYVEAKK09UT09MID0gQE9UT09MQAorT1RPT0w2NCA9IEBPVE9PTDY0QAogUEFDS0FHRSA9IEBQQUNLQUdFQAogUEFDS0FHRV9CVUdSRVBPUlQgPSBAUEFDS0FHRV9CVUdSRVBPUlRACiBQQUNLQUdFX05BTUUgPSBAUEFDS0FHRV9OQU1FQApAQCAtMjM0LDcgKzI0MCwxMyBAQAogWUFDQyA9IGBpZiBbIC1mIC4uL2Jpc29uL2Jpc29uIF07IHRoZW4gZWNobyAuLi9iaXNvbi9iaXNvbiAteSAtTCQoc3JjZGlyKS8uLi9iaXNvbi87IGVsc2UgZWNobyBAWUFDQ0A7IGZpYAogYWNfY3RfQVIgPSBAYWNfY3RfQVJACiBhY19jdF9DQyA9IEBhY19jdF9DQ0AKK2FjX2N0X0RTWU1VVElMID0gQGFjX2N0X0RTWU1VVElMQAogYWNfY3RfRFVNUEJJTiA9IEBhY19jdF9EVU1QQklOQAorYWNfY3RfTElQTyA9IEBhY19jdF9MSVBPQAorYWNfY3RfTk1FRElUID0gQGFjX2N0X05NRURJVEAKK2FjX2N0X09CSkRVTVAgPSBAYWNfY3RfT0JKRFVNUEAKK2FjX2N0X09UT09MID0gQGFjX2N0X09UT09MQAorYWNfY3RfT1RPT0w2NCA9IEBhY19jdF9PVE9PTDY0QAogYWNfY3RfUkFOTElCID0gQGFjX2N0X1JBTkxJQkAKIGFjX2N0X1NUUklQID0gQGFjX2N0X1NUUklQQAogYW1fX2Zhc3RkZXBDQ19GQUxTRSA9IEBhbV9fZmFzdGRlcENDX0ZBTFNFQApAQCAtMjgxMiw3ICsyODI0LDcgQEAKICAgJChJTkNESVIpL2RlbWFuZ2xlLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIGxkLmggbGRtaXNjLmggXAogICBsZGV4cC5oIGxkbGFuZy5oIGxkZ3JhbS5oIGxkbGV4LmggbGRtYWluLmggbGRmaWxlLmggXAogICAkKEJGRERJUikvZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oIFwKLSAgJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oICQoSU5DRElSKS9iZmRsaW5rLmgKKyAgJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oCiBsZHZlci5vOiBsZHZlci5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9mb3Blbi1zYW1lLmggXAogICAuLi9iZmQvYmZkLmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKICAgLi4vYmZkL2JmZHZlci5oIGxkLmggbGR2ZXIuaCBsZGV4cC5oIGxkbGFuZy5oIGxkZmlsZS5oIFwKQEAgLTI4NDIsMTQgKzI4NTQsMTMgQEAKICAgJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIGxkLmggbGRleHAuaCBsZGxhbmcuaCBsZHdyaXRlLmggXAogICBsZG1pc2MuaCBsZGdyYW0uaCBsZG1haW4uaCBsZGZpbGUuaCBsZGVtdWwuaCAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oIFwKLSAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oIGRlZmZpbGUuaCBwZS1kbGwuaAorICAkKEJGRERJUikvbGliY29mZi5oIGRlZmZpbGUuaCBwZS1kbGwuaAogcGVwLWRsbC5vOiBwZXAtZGxsLmMgcGUtZGxsLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2ZvcGVuLXNhbWUuaCBcCiAgIC4uL2JmZC9iZmQuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAogICAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmggbGQuaCBsZGV4cC5oIGxkbGFuZy5oIGxkd3JpdGUuaCBcCiAgIGxkbWlzYy5oIGxkZ3JhbS5oIGxkbWFpbi5oIGxkZmlsZS5oIGxkZW11bC5oICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggXAotICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggZGVmZmlsZS5oIHBlLWRsbC5oIFwKLSAgcGVwLWRsbC5oCisgICQoQkZERElSKS9saWJjb2ZmLmggZGVmZmlsZS5oIHBlLWRsbC5oIHBlcC1kbGwuaAogbGRncmFtLm86IGxkZ3JhbS5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9mb3Blbi1zYW1lLmggXAogICAuLi9iZmQvYmZkLmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKICAgJChJTkNESVIpL2JmZGxpbmsuaCBsZC5oIGxkZXhwLmggbGR2ZXIuaCBsZGxhbmcuaCBsZGZpbGUuaCBcCmRpZmYgLS1naXQgYS9sZC9hY2xvY2FsLm00IGIvbGQvYWNsb2NhbC5tNAppbmRleCA0MzE3Y2UzLi45NWMyYTVjIDEwMDY0NAotLS0gYS9sZC9hY2xvY2FsLm00CisrKyBiL2xkL2FjbG9jYWwubTQKQEAgLTg5MiwzICs4OTIsNCBAQAogbTRfaW5jbHVkZShbLi4vbHRvcHRpb25zLm00XSkKIG00X2luY2x1ZGUoWy4uL2x0c3VnYXIubTRdKQogbTRfaW5jbHVkZShbLi4vbHR2ZXJzaW9uLm00XSkKK200X2luY2x1ZGUoWy4uL2x0fm9ic29sZXRlLm00XSkKZGlmZiAtLWdpdCBhL2xkL2NvbmZpZy5pbiBiL2xkL2NvbmZpZy5pbgppbmRleCA1MzIxYTEyLi5lM2Q0ZjcxIDEwMDY0NAotLS0gYS9sZC9jb25maWcuaW4KKysrIGIvbGQvY29uZmlnLmluCkBAIC0xNDMsMTEgKzE0MywxNyBAQAogICAgYGNoYXJbXScuICovCiAjdW5kZWYgWVlURVhUX1BPSU5URVIKIAorLyogTnVtYmVyIG9mIGJpdHMgaW4gYSBmaWxlIG9mZnNldCwgb24gaG9zdHMgd2hlcmUgdGhpcyBpcyBzZXR0YWJsZS4gKi8KKyN1bmRlZiBfRklMRV9PRkZTRVRfQklUUworCiAvKiBFbmFibGUgR05VIGV4dGVuc2lvbnMgb24gc3lzdGVtcyB0aGF0IGhhdmUgdGhlbS4gICovCiAjaWZuZGVmIF9HTlVfU09VUkNFCiAjIHVuZGVmIF9HTlVfU09VUkNFCiAjZW5kaWYKIAorLyogRGVmaW5lIGZvciBsYXJnZSBmaWxlcywgb24gQUlYLXN0eWxlIGhvc3RzLiAqLworI3VuZGVmIF9MQVJHRV9GSUxFUworCiAvKiBEZWZpbmUgdG8gMSBpZiBvbiBNSU5JWC4gKi8KICN1bmRlZiBfTUlOSVgKIApkaWZmIC0tZ2l0IGEvbGQvY29uZmlndXJlIGIvbGQvY29uZmlndXJlCmluZGV4IGMwYWQwOGIuLmQ4MjhlZWYgMTAwNzU1Ci0tLSBhL2xkL2NvbmZpZ3VyZQorKysgYi9sZC9jb25maWd1cmUKQEAgLTQ1OCw3ICs0NTgsNyBAQAogIyBpbmNsdWRlIDx1bmlzdGQuaD4KICNlbmRpZiIKIAotYWNfc3Vic3RfdmFycz0nU0hFTEwgUEFUSF9TRVBBUkFUT1IgUEFDS0FHRV9OQU1FIFBBQ0tBR0VfVEFSTkFNRSBQQUNLQUdFX1ZFUlNJT04gUEFDS0FHRV9TVFJJTkcgUEFDS0FHRV9CVUdSRVBPUlQgZXhlY19wcmVmaXggcHJlZml4IHByb2dyYW1fdHJhbnNmb3JtX25hbWUgYmluZGlyIHNiaW5kaXIgbGliZXhlY2RpciBkYXRhZGlyIHN5c2NvbmZkaXIgc2hhcmVkc3RhdGVkaXIgbG9jYWxzdGF0ZWRpciBsaWJkaXIgaW5jbHVkZWRpciBvbGRpbmNsdWRlZGlyIGluZm9kaXIgbWFuZGlyIGJ1aWxkX2FsaWFzIGhvc3RfYWxpYXMgdGFyZ2V0X2FsaWFzIERFRlMgRUNIT19DIEVDSE9fTiBFQ0hPX1QgTElCUyBidWlsZCBidWlsZF9jcHUgYnVpbGRfdmVuZG9yIGJ1aWxkX29zIGhvc3QgaG9zdF9jcHUgaG9zdF92ZW5kb3IgaG9zdF9vcyB0YXJnZXQgdGFyZ2V0X2NwdSB0YXJnZXRfdmVuZG9yIHRhcmdldF9vcyBDQyBDRkxBR1MgTERGTEFHUyBDUFBGTEFHUyBhY19jdF9DQyBFWEVFWFQgT0JKRVhUIElOU1RBTExfUFJPR1JBTSBJTlNUQUxMX1NDUklQVCBJTlNUQUxMX0RBVEEgQ1lHUEFUSF9XIFBBQ0tBR0UgVkVSU0lPTiBBQ0xPQ0FMIEFVVE9DT05GIEFVVE9NQUtFIEFVVE9IRUFERVIgTUFLRUlORk8gaW5zdGFsbF9zaCBTVFJJUCBhY19jdF9TVFJJUCBJTlNUQUxMX1NUUklQX1BST0dSQU0gbWtkaXJfcCBBV0sgU0VUX01BS0UgYW1fX2xlYWRpbmdfZG90IEFNVEFSIGFtX190YXIgYW1fX3VudGFyIERFUERJUiBhbV9faW5jbHVkZSBhbV9fcXVvdGUgQU1ERVBfVFJVRSBBTURFUF9GQUxTRSBBTURFUEJBQ0tTTEFTSCBDQ0RFUE1PREUgYW1fX2Zhc3RkZXBDQ19UUlVFIGFtX19mYXN0ZGVwQ0NfRkFMU0UgdXNlX3N5c3Jvb3QgVEFSR0VUX1NZU1RFTV9ST09UIFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkUgV0FSTl9DRkxBR1MgTk9fV0VSUk9SIENQUCBFR1JFUCBMSUJUT09MIFNFRCBGR1JFUCBHUkVQIExEIERVTVBCSU4gYWNfY3RfRFVNUEJJTiBOTSBMTl9TIEFSIGFjX2N0X0FSIFJBTkxJQiBhY19jdF9SQU5MSUIgbHRfRUNITyBVU0VfTkxTIExJQklOVEwgTElCSU5UTF9ERVAgSU5DSU5UTCBYR0VUVEVYVCBHTVNHRk1UIFBPU1VCIENBVEFMT0dTIERBVEFESVJOQU1FIElOU1RPQkpFWFQgR0VOQ0FUIENBVE9CSkVYVCBNS0lOU1RBTExESVJTIE1TR0ZNVCBNU0dNRVJHRSBZQUNDIExFWCBMRVhMSUIgTEVYX09VVFBVVF9ST09UIE1BSU5UQUlORVJfTU9ERV9UUlVFIE1BSU5UQUlORVJfTU9ERV9GQUxTRSBNQUlOVCBHRU5JTlNSQ19ORVZFUl9UUlVFIEdFTklOU1JDX05FVkVSX0ZBTFNFIEhERUZJTkVTIEhPU1RJTkdfQ1JUMCBIT1NUSU5HX0xJQlMgTkFUSVZFX0xJQl9ESVJTIFNUUklOR0lGWSBFTVVMIEVNVUxBVElPTl9PRklMRVMgRU1VTF9FWFRSQV9PRklMRVMgTElCX1BBVEggRU1VTEFUSU9OX0xJQlBBVEggVEVTVEJGRExJQiBkYXRhcm9vdGRpciBkb2NkaXIgaHRtbGRpciBMSUJPQkpTIExUTElCT0JKUycKK2FjX3N1YnN0X3ZhcnM9J1NIRUxMIFBBVEhfU0VQQVJBVE9SIFBBQ0tBR0VfTkFNRSBQQUNLQUdFX1RBUk5BTUUgUEFDS0FHRV9WRVJTSU9OIFBBQ0tBR0VfU1RSSU5HIFBBQ0tBR0VfQlVHUkVQT1JUIGV4ZWNfcHJlZml4IHByZWZpeCBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lIGJpbmRpciBzYmluZGlyIGxpYmV4ZWNkaXIgZGF0YWRpciBzeXNjb25mZGlyIHNoYXJlZHN0YXRlZGlyIGxvY2Fsc3RhdGVkaXIgbGliZGlyIGluY2x1ZGVkaXIgb2xkaW5jbHVkZWRpciBpbmZvZGlyIG1hbmRpciBidWlsZF9hbGlhcyBob3N0X2FsaWFzIHRhcmdldF9hbGlhcyBERUZTIEVDSE9fQyBFQ0hPX04gRUNIT19UIExJQlMgYnVpbGQgYnVpbGRfY3B1IGJ1aWxkX3ZlbmRvciBidWlsZF9vcyBob3N0IGhvc3RfY3B1IGhvc3RfdmVuZG9yIGhvc3Rfb3MgdGFyZ2V0IHRhcmdldF9jcHUgdGFyZ2V0X3ZlbmRvciB0YXJnZXRfb3MgQ0MgQ0ZMQUdTIExERkxBR1MgQ1BQRkxBR1MgYWNfY3RfQ0MgRVhFRVhUIE9CSkVYVCBJTlNUQUxMX1BST0dSQU0gSU5TVEFMTF9TQ1JJUFQgSU5TVEFMTF9EQVRBIENZR1BBVEhfVyBQQUNLQUdFIFZFUlNJT04gQUNMT0NBTCBBVVRPQ09ORiBBVVRPTUFLRSBBVVRPSEVBREVSIE1BS0VJTkZPIGluc3RhbGxfc2ggU1RSSVAgYWNfY3RfU1RSSVAgSU5TVEFMTF9TVFJJUF9QUk9HUkFNIG1rZGlyX3AgQVdLIFNFVF9NQUtFIGFtX19sZWFkaW5nX2RvdCBBTVRBUiBhbV9fdGFyIGFtX191bnRhciBERVBESVIgYW1fX2luY2x1ZGUgYW1fX3F1b3RlIEFNREVQX1RSVUUgQU1ERVBfRkFMU0UgQU1ERVBCQUNLU0xBU0ggQ0NERVBNT0RFIGFtX19mYXN0ZGVwQ0NfVFJVRSBhbV9fZmFzdGRlcENDX0ZBTFNFIHVzZV9zeXNyb290IFRBUkdFVF9TWVNURU1fUk9PVCBUQVJHRVRfU1lTVEVNX1JPT1RfREVGSU5FIFdBUk5fQ0ZMQUdTIE5PX1dFUlJPUiBDUFAgRUdSRVAgTElCVE9PTCBTRUQgRkdSRVAgR1JFUCBMRCBEVU1QQklOIGFjX2N0X0RVTVBCSU4gTk0gTE5fUyBPQkpEVU1QIGFjX2N0X09CSkRVTVAgQVIgYWNfY3RfQVIgUkFOTElCIGFjX2N0X1JBTkxJQiBsdF9FQ0hPIERTWU1VVElMIGFjX2N0X0RTWU1VVElMIE5NRURJVCBhY19jdF9OTUVESVQgTElQTyBhY19jdF9MSVBPIE9UT09MIGFjX2N0X09UT09MIE9UT09MNjQgYWNfY3RfT1RPT0w2NCBVU0VfTkxTIExJQklOVEwgTElCSU5UTF9ERVAgSU5DSU5UTCBYR0VUVEVYVCBHTVNHRk1UIFBPU1VCIENBVEFMT0dTIERBVEFESVJOQU1FIElOU1RPQkpFWFQgR0VOQ0FUIENBVE9CSkVYVCBNS0lOU1RBTExESVJTIE1TR0ZNVCBNU0dNRVJHRSBZQUNDIExFWCBMRVhMSUIgTEVYX09VVFBVVF9ST09UIE1BSU5UQUlORVJfTU9ERV9UUlVFIE1BSU5UQUlORVJfTU9ERV9GQUxTRSBNQUlOVCBHRU5JTlNSQ19ORVZFUl9UUlVFIEdFTklOU1JDX05FVkVSX0ZBTFNFIEhERUZJTkVTIEhPU1RJTkdfQ1JUMCBIT1NUSU5HX0xJQlMgTkFUSVZFX0xJQl9ESVJTIFNUUklOR0lGWSBFTVVMIEVNVUxBVElPTl9PRklMRVMgRU1VTF9FWFRSQV9PRklMRVMgTElCX1BBVEggRU1VTEFUSU9OX0xJQlBBVEggVEVTVEJGRExJQiBkYXRhcm9vdGRpciBkb2NkaXIgaHRtbGRpciBMSUJPQkpTIExUTElCT0JKUycKIGFjX3N1YnN0X2ZpbGVzPSdURElSUycKIGFjX3B3ZD1gcHdkYAogCkBAIC0xMDA4LDYgKzEwMDgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aWdvdCkKICAgLS1lbmFibGUtd2Vycm9yICAgICAgICAgdHJlYXQgY29tcGlsZSB3YXJuaW5ncyBhcyBlcnJvcnMKICAgLS1lbmFibGUtYnVpbGQtd2FybmluZ3MgZW5hYmxlIGJ1aWxkLXRpbWUgY29tcGlsZXIgd2FybmluZ3MKKyAgLS1kaXNhYmxlLWxhcmdlZmlsZSAgICAgb21pdCBzdXBwb3J0IGZvciBsYXJnZSBmaWxlcwogICAtLWVuYWJsZS1zaGFyZWRbPVBLR1NdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMgW2RlZmF1bHQ9eWVzXQogICAtLWVuYWJsZS1zdGF0aWNbPVBLR1NdCkBAIC00OTMyLDYgKzQ5MzMsMzcwIEBACiBfQUNFT0YKIAogCisjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbGFyZ2VmaWxlIG9yIC0tZGlzYWJsZS1sYXJnZWZpbGUgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHtlbmFibGVfbGFyZ2VmaWxlK3NldH0iID0gc2V0OyB0aGVuCisgIGVuYWJsZXZhbD0iJGVuYWJsZV9sYXJnZWZpbGUiCisKK2ZpOworaWYgdGVzdCAiJGVuYWJsZV9sYXJnZWZpbGUiICE9IG5vOyB0aGVuCisKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBzcGVjaWFsIEMgY29tcGlsZXIgb3B0aW9ucyBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIHNwZWNpYWwgQyBjb21waWxlciBvcHRpb25zIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3N5c19sYXJnZWZpbGVfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgYWNfY3Zfc3lzX2xhcmdlZmlsZV9DQz1ubworICAgICBpZiB0ZXN0ICIkR0NDIiAhPSB5ZXM7IHRoZW4KKyAgICAgICBhY19zYXZlX0NDPSRDQworICAgICAgIHdoaWxlIDo7IGRvCisgICAgIAkgIyBJUklYIDYuMiBhbmQgbGF0ZXIgZG8gbm90IHN1cHBvcnQgbGFyZ2UgZmlsZXMgYnkgZGVmYXVsdCwKKyAgICAgCSAjIHNvIHVzZSB0aGUgQyBjb21waWxlcidzIC1uMzIgb3B0aW9uIGlmIHRoYXQgaGVscHMuCisJIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogY29uZmRlZnMuaC4gICovCitfQUNFT0YKK2NhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIC8qIENoZWNrIHRoYXQgb2ZmX3QgY2FuIHJlcHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5LgorICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKKyAgICBzaW5jZSBzb21lIEMrKyBjb21waWxlcnMgbWFzcXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCisgICAgaW5jb3JyZWN0bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLworI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCisgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQorCQkgICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCisJCSAgICAgID8gMSA6IC0xXTsKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKKyAgICAgCSBybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dAorICAgICAJIENDPSIkQ0MgLW4zMiIKKyAgICAgCSBybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGFjX2N2X3N5c19sYXJnZWZpbGVfQ0M9JyAtbjMyJzsgYnJlYWsKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworZmkKK3JtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0CisJIGJyZWFrCisgICAgICAgZG9uZQorICAgICAgIENDPSRhY19zYXZlX0NDCisgICAgICAgcm0gLWYgY29uZnRlc3QuJGFjX2V4dAorICAgIGZpCitmaQorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X3N5c19sYXJnZWZpbGVfQ0MiID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N2X3N5c19sYXJnZWZpbGVfQ0MiID4mNgorICBpZiB0ZXN0ICIkYWNfY3Zfc3lzX2xhcmdlZmlsZV9DQyIgIT0gbm87IHRoZW4KKyAgICBDQz0kQ0MkYWNfY3Zfc3lzX2xhcmdlZmlsZV9DQworICBmaQorCisgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgX0ZJTEVfT0ZGU0VUX0JJVFMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcyIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBfRklMRV9PRkZTRVRfQklUUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cytzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICB3aGlsZSA6OyBkbworICBhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cz1ubworICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGNvbmZkZWZzLmguICAqLworX0FDRU9GCitjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK2NhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4KKyAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCisgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycworICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KKyNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQorICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKKwkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQorCQkgICAgICA/IDEgOiAtMV07CitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CisgIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogY29uZmRlZnMuaC4gICovCitfQUNFT0YKK2NhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIC8qIENoZWNrIHRoYXQgb2ZmX3QgY2FuIHJlcHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5LgorICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKKyAgICBzaW5jZSBzb21lIEMrKyBjb21waWxlcnMgbWFzcXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCisgICAgaW5jb3JyZWN0bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLworI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCisgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQorCQkgICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCisJCSAgICAgID8gMSA6IC0xXTsKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK3JtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKK2lmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorICAoZXZhbCAkYWNfY29tcGlsZSkgMj5jb25mdGVzdC5lcjEKKyAgYWNfc3RhdHVzPSQ/CisgIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCisgIHJtIC1mIGNvbmZ0ZXN0LmVyMQorICBjYXQgY29uZnRlc3QuZXJyID4mNQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC16ICIkYWNfY193ZXJyb3JfZmxhZyIKKwkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyJworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKyAgYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHM9NjQ7IGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CisgIGJyZWFrCitkb25lCitmaQorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cyIgPiY2CitpZiB0ZXN0ICIkYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHMiICE9IG5vOyB0aGVuCisKK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgJGFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzCitfQUNFT0YKKworZmkKK3JtIC1mIGNvbmZ0ZXN0KgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIF9MQVJHRV9GSUxFUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIF9MQVJHRV9GSUxFUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9zeXNfbGFyZ2VfZmlsZXMrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgd2hpbGUgOjsgZG8KKyAgYWNfY3Zfc3lzX2xhcmdlX2ZpbGVzPW5vCisgIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogY29uZmRlZnMuaC4gICovCitfQUNFT0YKK2NhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIC8qIENoZWNrIHRoYXQgb2ZmX3QgY2FuIHJlcHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5LgorICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKKyAgICBzaW5jZSBzb21lIEMrKyBjb21waWxlcnMgbWFzcXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCisgICAgaW5jb3JyZWN0bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLworI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCisgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQorCQkgICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCisJCSAgICAgID8gMSA6IC0xXTsKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK3JtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKK2lmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorICAoZXZhbCAkYWNfY29tcGlsZSkgMj5jb25mdGVzdC5lcjEKKyAgYWNfc3RhdHVzPSQ/CisgIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCisgIHJtIC1mIGNvbmZ0ZXN0LmVyMQorICBjYXQgY29uZnRlc3QuZXJyID4mNQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC16ICIkYWNfY193ZXJyb3JfZmxhZyIKKwkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyJworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKyAgYnJlYWsKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworZmkKK3JtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKyAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBjb25mZGVmcy5oLiAgKi8KK19BQ0VPRgorY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CitjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgLyogQ2hlY2sgdGhhdCBvZmZfdCBjYW4gcmVwcmVzZW50IDIqKjYzIC0gMSBjb3JyZWN0bHkuCisgICAgV2UgY2FuJ3Qgc2ltcGx5IGRlZmluZSBMQVJHRV9PRkZfVCB0byBiZSA5MjIzMzcyMDM2ODU0Nzc1ODA3LAorICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBjb21waWxlcnMKKyAgICBpbmNvcnJlY3RseSByZWplY3QgOTIyMzM3MjAzNjg1NDc3NTgwNy4gICovCisjZGVmaW5lIExBUkdFX09GRl9UICgoKG9mZl90KSAxIDw8IDYyKSAtIDEgKyAoKG9mZl90KSAxIDw8IDYyKSkKKyAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCisJCSAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKKwkJICAgICAgPyAxIDogLTFdOworaW50CittYWluICgpCit7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CisgIChldmFsICRhY19jb21waWxlKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorICBhY19jdl9zeXNfbGFyZ2VfZmlsZXM9MTsgYnJlYWsKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworZmkKK3JtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKyAgYnJlYWsKK2RvbmUKK2ZpCitlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3Zfc3lzX2xhcmdlX2ZpbGVzIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdl9zeXNfbGFyZ2VfZmlsZXMiID4mNgoraWYgdGVzdCAiJGFjX2N2X3N5c19sYXJnZV9maWxlcyIgIT0gbm87IHRoZW4KKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBfTEFSR0VfRklMRVMgJGFjX2N2X3N5c19sYXJnZV9maWxlcworX0FDRU9GCisKK2ZpCitybSAtZiBjb25mdGVzdCoKK2ZpCisKICMgRmluZCBhIGdvb2QgaW5zdGFsbCBwcm9ncmFtLiAgV2UgcHJlZmVyIGEgQyBwcm9ncmFtIChmYXN0ZXIpLAogIyBzbyBvbmUgc2NyaXB0IGlzIGFzIGdvb2QgYXMgYW5vdGhlci4gIEJ1dCBhdm9pZCB0aGUgYnJva2VuIG9yCiAjIGluY29tcGF0aWJsZSB2ZXJzaW9uczoKQEAgLTUwMjQsMTAgKzUzODksMTcgQEAKIHRlc3QgLXogIiRJTlNUQUxMX0RBVEEiICYmIElOU1RBTExfREFUQT0nJHtJTlNUQUxMfSAtbSA2NDQnCiAKIAorY2FzZSBgcHdkYCBpbgorICAqXCAqIHwgKlwJKikKKyAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBMaWJ0b29sIGRvZXMgbm90IGNvcGUgd2VsbCB3aXRoIHdoaXRlc3BhY2UgaW4gXGBwd2RcYCIgPiY1CitlY2hvICIkYXNfbWU6IFdBUk5JTkc6IExpYnRvb2wgZG9lcyBub3QgY29wZSB3ZWxsIHdpdGggd2hpdGVzcGFjZSBpbiBcYHB3ZFxgIiA+JjI7fSA7OworZXNhYwogCiAKLW1hY3JvX3ZlcnNpb249JzIuMWEnCi1tYWNyb19yZXZpc2lvbj0nMS4yNDM1JworCittYWNyb192ZXJzaW9uPScyLjIuNicKK21hY3JvX3JldmlzaW9uPScxLjMwMTInCisKIAogCiAKQEAgLTUwNDIsMTI0ICs1NDE0LDYgQEAKIAogbHRtYWluPSIkYWNfYXV4X2Rpci9sdG1haW4uc2giCiAKLSMgU2V0IG9wdGlvbnMKLQotZW5hYmxlX2Rsb3Blbj1ubwotCi0KLWVuYWJsZV93aW4zMl9kbGw9bm8KLQotCi0jIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtc2hhcmVkIG9yIC0tZGlzYWJsZS1zaGFyZWQgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVfc2hhcmVkK3NldH0iID0gc2V0OyB0aGVuCi0gIGVuYWJsZXZhbD0iJGVuYWJsZV9zaGFyZWQiCi0gIHA9JHtQQUNLQUdFLWRlZmF1bHR9Ci0gICAgY2FzZSAkZW5hYmxldmFsIGluCi0gICAgeWVzKSBlbmFibGVfc2hhcmVkPXllcyA7OwotICAgIG5vKSBlbmFibGVfc2hhcmVkPW5vIDs7Ci0gICAgKikKLSAgICAgIGVuYWJsZV9zaGFyZWQ9bm8KLSAgICAgICMgTG9vayBhdCB0aGUgYXJndW1lbnQgd2UgZ290LiAgV2UgdXNlIGFsbCB0aGUgY29tbW9uIGxpc3Qgc2VwYXJhdG9ycy4KLSAgICAgIGx0X3NhdmVfaWZzPSIkSUZTIjsgSUZTPSIke0lGU30kUEFUSF9TRVBBUkFUT1IsIgotICAgICAgZm9yIHBrZyBpbiAkZW5hYmxldmFsOyBkbwotCUlGUz0iJGx0X3NhdmVfaWZzIgotCWlmIHRlc3QgIlgkcGtnIiA9ICJYJHAiOyB0aGVuCi0JICBlbmFibGVfc2hhcmVkPXllcwotCWZpCi0gICAgICBkb25lCi0gICAgICBJRlM9IiRsdF9zYXZlX2lmcyIKLSAgICAgIDs7Ci0gICAgZXNhYwotZWxzZQotICBlbmFibGVfc2hhcmVkPXllcwotZmk7Ci0KLQotCi0KLQotCi0KLQotIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXN0YXRpYyBvciAtLWRpc2FibGUtc3RhdGljIHdhcyBnaXZlbi4KLWlmIHRlc3QgIiR7ZW5hYmxlX3N0YXRpYytzZXR9IiA9IHNldDsgdGhlbgotICBlbmFibGV2YWw9IiRlbmFibGVfc3RhdGljIgotICBwPSR7UEFDS0FHRS1kZWZhdWx0fQotICAgIGNhc2UgJGVuYWJsZXZhbCBpbgotICAgIHllcykgZW5hYmxlX3N0YXRpYz15ZXMgOzsKLSAgICBubykgZW5hYmxlX3N0YXRpYz1ubyA7OwotICAgICopCi0gICAgIGVuYWJsZV9zdGF0aWM9bm8KLSAgICAgICMgTG9vayBhdCB0aGUgYXJndW1lbnQgd2UgZ290LiAgV2UgdXNlIGFsbCB0aGUgY29tbW9uIGxpc3Qgc2VwYXJhdG9ycy4KLSAgICAgIGx0X3NhdmVfaWZzPSIkSUZTIjsgSUZTPSIke0lGU30kUEFUSF9TRVBBUkFUT1IsIgotICAgICAgZm9yIHBrZyBpbiAkZW5hYmxldmFsOyBkbwotCUlGUz0iJGx0X3NhdmVfaWZzIgotCWlmIHRlc3QgIlgkcGtnIiA9ICJYJHAiOyB0aGVuCi0JICBlbmFibGVfc3RhdGljPXllcwotCWZpCi0gICAgICBkb25lCi0gICAgICBJRlM9IiRsdF9zYXZlX2lmcyIKLSAgICAgIDs7Ci0gICAgZXNhYwotZWxzZQotICBlbmFibGVfc3RhdGljPXllcwotZmk7Ci0KLQotCi0KLQotCi0KLQotCi0jIENoZWNrIHdoZXRoZXIgLS13aXRoLXBpYyBvciAtLXdpdGhvdXQtcGljIHdhcyBnaXZlbi4KLWlmIHRlc3QgIiR7d2l0aF9waWMrc2V0fSIgPSBzZXQ7IHRoZW4KLSAgd2l0aHZhbD0iJHdpdGhfcGljIgotICBwaWNfbW9kZT0iJHdpdGh2YWwiCi1lbHNlCi0gIHBpY19tb2RlPWRlZmF1bHQKLWZpOwotCi10ZXN0IC16ICIkcGljX21vZGUiICYmIHBpY19tb2RlPWRlZmF1bHQKLQotCi0KLQotCi0KLQotIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWZhc3QtaW5zdGFsbCBvciAtLWRpc2FibGUtZmFzdC1pbnN0YWxsIHdhcyBnaXZlbi4KLWlmIHRlc3QgIiR7ZW5hYmxlX2Zhc3RfaW5zdGFsbCtzZXR9IiA9IHNldDsgdGhlbgotICBlbmFibGV2YWw9IiRlbmFibGVfZmFzdF9pbnN0YWxsIgotICBwPSR7UEFDS0FHRS1kZWZhdWx0fQotICAgIGNhc2UgJGVuYWJsZXZhbCBpbgotICAgIHllcykgZW5hYmxlX2Zhc3RfaW5zdGFsbD15ZXMgOzsKLSAgICBubykgZW5hYmxlX2Zhc3RfaW5zdGFsbD1ubyA7OwotICAgICopCi0gICAgICBlbmFibGVfZmFzdF9pbnN0YWxsPW5vCi0gICAgICAjIExvb2sgYXQgdGhlIGFyZ3VtZW50IHdlIGdvdC4gIFdlIHVzZSBhbGwgdGhlIGNvbW1vbiBsaXN0IHNlcGFyYXRvcnMuCi0gICAgICBsdF9zYXZlX2lmcz0iJElGUyI7IElGUz0iJHtJRlN9JFBBVEhfU0VQQVJBVE9SLCIKLSAgICAgIGZvciBwa2cgaW4gJGVuYWJsZXZhbDsgZG8KLQlJRlM9IiRsdF9zYXZlX2lmcyIKLQlpZiB0ZXN0ICJYJHBrZyIgPSAiWCRwIjsgdGhlbgotCSAgZW5hYmxlX2Zhc3RfaW5zdGFsbD15ZXMKLQlmaQotICAgICAgZG9uZQotICAgICAgSUZTPSIkbHRfc2F2ZV9pZnMiCi0gICAgICA7OwotICAgIGVzYWMKLWVsc2UKLSAgZW5hYmxlX2Zhc3RfaW5zdGFsbD15ZXMKLWZpOwotCi0KLQotCi0KLQotCi0KIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgYSBzZWQgdGhhdCBkb2VzIG5vdCB0cnVuY2F0ZSBvdXRwdXQiID4mNQogZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgYSBzZWQgdGhhdCBkb2VzIG5vdCB0cnVuY2F0ZSBvdXRwdXQuLi4gJEVDSE9fQyIgPiY2CiBpZiB0ZXN0ICIke2x0X2N2X3BhdGhfU0VEK3NldH0iID0gc2V0OyB0aGVuCkBAIC01MzgwLDcgKzU2MzQsNiBAQAogCiAKIAotCiBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIEJTRC0gb3IgTVMtY29tcGF0aWJsZSBuYW1lIGxpc3RlciAobm0pIiA+JjUKIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIEJTRC0gb3IgTVMtY29tcGF0aWJsZSBuYW1lIGxpc3RlciAobm0pLi4uICRFQ0hPX0MiID4mNgogaWYgdGVzdCAiJHtsdF9jdl9wYXRoX05NK3NldH0iID0gc2V0OyB0aGVuCkBAIC01NTQyLDEzICs1Nzk1LDEzIEBACiBlbHNlCiAgIGx0X2N2X25tX2ludGVyZmFjZT0iQlNEIG5tIgogICBlY2hvICJpbnQgc29tZV92YXJpYWJsZSA9IDA7IiA+IGNvbmZ0ZXN0LiRhY19leHQKLSAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjU1NDU6ICRhY19jb21waWxlXCIiID4mNSkKKyAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjU3OTg6ICRhY19jb21waWxlXCIiID4mNSkKICAgKGV2YWwgIiRhY19jb21waWxlIiAyPmNvbmZ0ZXN0LmVycikKICAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKLSAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjU1NDg6ICROTSBcXFwiY29uZnRlc3QuJGFjX29iamV4dFxcXCJcIiIgPiY1KQorICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NTgwMTogJE5NIFxcXCJjb25mdGVzdC4kYWNfb2JqZXh0XFxcIlwiIiA+JjUpCiAgIChldmFsICIkTk0gXCJjb25mdGVzdC4kYWNfb2JqZXh0XCIiIDI+Y29uZnRlc3QuZXJyID4gY29uZnRlc3Qub3V0KQogICBjYXQgY29uZnRlc3QuZXJyID4mNQotICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NTU1MTogb3V0cHV0XCIiID4mNSkKKyAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjU4MDQ6IG91dHB1dFwiIiA+JjUpCiAgIGNhdCBjb25mdGVzdC5vdXQgPiY1CiAgIGlmICRHUkVQICdFeHRlcm5hbC4qc29tZV92YXJpYWJsZScgY29uZnRlc3Qub3V0ID4gL2Rldi9udWxsOyB0aGVuCiAgICAgbHRfY3Zfbm1faW50ZXJmYWNlPSJNUyBkdW1wYmluIgpAQCAtNTU5NCw3ICs1ODQ3LDcgQEAKICAgICBsdF9jdl9zeXNfbWF4X2NtZF9sZW49LTE7CiAgICAgOzsKIAotICBjeWd3aW4qIHwgbWluZ3cqKQorICBjeWd3aW4qIHwgbWluZ3cqIHwgY2VnY2MqKQogICAgICMgT24gV2luOXgvTUUsIHRoaXMgdGVzdCBibG93cyB1cCAtLSBpdCBzdWNjZWVkcywgYnV0IHRha2VzCiAgICAgIyBhYm91dCA1IG1pbnV0ZXMgYXMgdGhlIHRlc3RzdHJpbmcgZ3Jvd3MgZXhwb25lbnRpYWxseS4KICAgICAjIFdvcnNlLCBzaW5jZSA5eC9NRSBhcmUgbm90IHByZS1lbXB0aXZlbHkgbXVsdGl0YXNraW5nLApAQCAtNTY1NSw4ICs1OTA4LDggQEAKICAgICBmaQogICAgIDs7CiAgICopCi0gICAgbHRfY3Zfc3lzX21heF9jbWRfbGVuPWBnZXRjb25mIEFSR19NQVggMj4gL2Rldi9udWxsYAotICAgIGlmIHRlc3QgLW4gJGx0X2N2X3N5c19tYXhfY21kX2xlbjsgdGhlbgorICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj1gKGdldGNvbmYgQVJHX01BWCkgMj4gL2Rldi9udWxsYAorICAgIGlmIHRlc3QgLW4gIiRsdF9jdl9zeXNfbWF4X2NtZF9sZW4iOyB0aGVuCiAgICAgICBsdF9jdl9zeXNfbWF4X2NtZF9sZW49YGV4cHIgJGx0X2N2X3N5c19tYXhfY21kX2xlbiBcLyA0YAogICAgICAgbHRfY3Zfc3lzX21heF9jbWRfbGVuPWBleHByICRsdF9jdl9zeXNfbWF4X2NtZF9sZW4gXCogM2AKICAgICBlbHNlCkBAIC01NzAzLDcgKzU5NTYsNiBAQAogCiAKIAotCiA6ICR7Q1A9ImNwIC1mIn0KIDogJHtNVj0ibXYgLWYifQogOiAke1JNPSJybSAtZiJ9CkBAIC01NzE0LDcgKzU5NjYsOSBAQAogeHNpX3NoZWxsPW5vCiAoIF9sdF9kdW1teT0iYS9iL2MiCiAgIHRlc3QgIiR7X2x0X2R1bW15IyMqL30sJHtfbHRfZHVtbXklLyp9LCIke19sdF9kdW1teSUiJF9sdF9kdW1teSJ9LCBcCi0gICAgICA9IGMsYS9iLCwgKSA+L2Rldi9udWxsIDI+JjEgXAorICAgICAgPSBjLGEvYiwsIFwKKyAgICAmJiBldmFsICd0ZXN0ICQoKCAxICsgMSApKSAtZXEgMiBcCisgICAgJiYgdGVzdCAiJHsjX2x0X2R1bW15fSIgLWVxIDUnICkgPi9kZXYvbnVsbCAyPiYxIFwKICAgJiYgeHNpX3NoZWxsPXllcwogZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJHhzaV9zaGVsbCIgPiY1CiBlY2hvICIke0VDSE9fVH0keHNpX3NoZWxsIiA+JjYKQEAgLTU3OTQsNiArNjA0OCw5NSBAQAogCiAKIAoraWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9b2JqZHVtcCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vYmpkdW1wOyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX09CSkRVTVArc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJE9CSkRVTVAiOyB0aGVuCisgIGFjX2N2X3Byb2dfT0JKRFVNUD0iJE9CSkRVTVAiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX09CSkRVTVA9IiR7YWNfdG9vbF9wcmVmaXh9b2JqZHVtcCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCitmaQorZmkKK09CSkRVTVA9JGFjX2N2X3Byb2dfT0JKRFVNUAoraWYgdGVzdCAtbiAiJE9CSkRVTVAiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRPQkpEVU1QIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRPQkpEVU1QIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworZmkKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX09CSkRVTVAiOyB0aGVuCisgIGFjX2N0X09CSkRVTVA9JE9CSkRVTVAKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJvYmpkdW1wIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBvYmpkdW1wOyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X09CSkRVTVArc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X09CSkRVTVAiOyB0aGVuCisgIGFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUD0iJGFjX2N0X09CSkRVTVAiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X09CSkRVTVA9Im9iamR1bXAiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworICB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19hY19jdF9PQkpEVU1QIiAmJiBhY19jdl9wcm9nX2FjX2N0X09CSkRVTVA9ImZhbHNlIgorZmkKK2ZpCithY19jdF9PQkpEVU1QPSRhY19jdl9wcm9nX2FjX2N0X09CSkRVTVAKK2lmIHRlc3QgLW4gIiRhY19jdF9PQkpEVU1QIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfT0JKRFVNUCIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3RfT0JKRFVNUCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKKyAgT0JKRFVNUD0kYWNfY3RfT0JKRFVNUAorZWxzZQorICBPQkpEVU1QPSIkYWNfY3ZfcHJvZ19PQkpEVU1QIgorZmkKKwordGVzdCAteiAiJE9CSkRVTVAiICYmIE9CSkRVTVA9b2JqZHVtcAorCisKKworCisKKworCisKIAogZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGhvdyB0byByZWNvZ25pemUgZGVwZW5kZW50IGxpYnJhcmllcyIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGhvdyB0byByZWNvZ25pemUgZGVwZW5kZW50IGxpYnJhcmllcy4uLiAkRUNIT19DIiA+JjYKQEAgLTU4NDgsNiArNjE5MSwxMiBAQAogICBmaQogICA7OwogCitjZWdjYykKKyAgIyB1c2UgdGhlIHdlYWtlciB0ZXN0IGJhc2VkIG9uICdvYmpkdW1wJy4gU2VlIG1pbmd3Ki4KKyAgbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2Q9J2ZpbGVfbWFnaWMgZmlsZSBmb3JtYXQgcGUtYXJtLS4qbGl0dGxlKC4qYXJjaGl0ZWN0dXJlOiBhcm0pPycKKyAgbHRfY3ZfZmlsZV9tYWdpY19jbWQ9JyRPQkpEVU1QIC1mJworICA7OworCiBkYXJ3aW4qIHwgcmhhcHNvZHkqKQogICBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD1wYXNzX2FsbAogICA7OwpAQCAtNjI3MCw3ICs2NjE5LDcgQEAKIAogCiAjIERldGVybWluZSBjb21tYW5kcyB0byBjcmVhdGUgb2xkLXN0eWxlIHN0YXRpYyBhcmNoaXZlcy4KLW9sZF9hcmNoaXZlX2NtZHM9JyRBUiAkQVJfRkxBR1MgJG9sZGxpYiRvbGRvYmpzJG9sZF9kZXBsaWJzJworb2xkX2FyY2hpdmVfY21kcz0nJEFSICRBUl9GTEFHUyAkb2xkbGliJG9sZG9ianMnCiBvbGRfcG9zdGluc3RhbGxfY21kcz0nY2htb2QgNjQ0ICRvbGRsaWInCiBvbGRfcG9zdHVuaW5zdGFsbF9jbWRzPQogCkBAIC02MzUwLDcgKzY2OTksNyBAQAogYWl4KikKICAgc3ltY29kZT0nW0JDRFRdJwogICA7OwotY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqKQorY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICBzeW1jb2RlPSdbQUJDREdJU1RXXScKICAgOzsKIGhwdXgqKQpAQCAtNjM5NCw2ICs2NzQzLDcgQEAKIAogIyBUcmFuc2Zvcm0gYW4gZXh0cmFjdGVkIHN5bWJvbCBsaW5lIGludG8gc3ltYm9sIG5hbWUgYW5kIHN5bWJvbCBhZGRyZXNzCiBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0ic2VkIC1uIC1lICdzL146IFwoW14gXSpcKSAkLyAge1xcXCJcMVxcXCIsICh2b2lkICopIDB9LC9wJyAtZSAncy9eJHN5bWNvZGUqIFwoW14gXSpcKSBcKFteIF0qXCkkLyAge1wiXDJcIiwgKHZvaWQgKikgXCZcMn0sL3AnIgorbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0ic2VkIC1uIC1lICdzL146IFwoW14gXSpcKSAkLyAge1xcXCJcMVxcXCIsICh2b2lkICopIDB9LC9wJyAtZSAncy9eJHN5bWNvZGUqIFwoW14gXSpcKSBcKGxpYlteIF0qXCkkLyAge1wiXDJcIiwgKHZvaWQgKikgXCZcMn0sL3AnIC1lICdzL14kc3ltY29kZSogXChbXiBdKlwpIFwoW14gXSpcKSQvICB7XCJsaWJcMlwiLCAodm9pZCAqKSBcJlwyfSwvcCciCiAKICMgSGFuZGxlIENSTEYgaW4gbWluZ3cgdG9vbCBjaGFpbgogb3B0X2NyPQpAQCAtNjUzMyw3ICs2ODgzLDcgQEAKICAgICBlY2hvICIkcHJvZ25hbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQogICAgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQogICBmaQotICBybSAtZiBjb25mdGVzdCogY29uZnRzdCoKKyAgcm0gLXJmIGNvbmZ0ZXN0KiBjb25mdHN0KgogCiAgICMgRG8gbm90IHVzZSB0aGUgZ2xvYmFsX3N5bWJvbF9waXBlIHVubGVzcyBpdCB3b3Jrcy4KICAgaWYgdGVzdCAiJHBpcGVfd29ya3MiID0geWVzOyB0aGVuCkBAIC02NTcyLDYgKzY5MjIsMTEgQEAKIAogCiAKKworCisKKworCiAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbGlidG9vbC1sb2NrIG9yIC0tZGlzYWJsZS1saWJ0b29sLWxvY2sgd2FzIGdpdmVuLgogaWYgdGVzdCAiJHtlbmFibGVfbGlidG9vbF9sb2NrK3NldH0iID0gc2V0OyB0aGVuCiAgIGVuYWJsZXZhbD0iJGVuYWJsZV9saWJ0b29sX2xvY2siCkBAIC02NjAzLDcgKzY5NTgsNyBAQAogICA7OwogKi0qLWlyaXg2KikKICAgIyBGaW5kIG91dCB3aGljaCBBQkkgd2UgYXJlIHVzaW5nLgotICBlY2hvICcjbGluZSA2NjA2ICJjb25maWd1cmUiJyA+IGNvbmZ0ZXN0LiRhY19leHQKKyAgZWNobyAnI2xpbmUgNjk2MSAiY29uZmlndXJlIicgPiBjb25mdGVzdC4kYWNfZXh0CiAgIGlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQogICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQogICBhY19zdGF0dXM9JD8KQEAgLTY3NzgsNyArNzEzMywxMSBAQAogICAgICo2NC1iaXQqKQogICAgICAgY2FzZSAkbHRfY3ZfcHJvZ19nbnVfbGQgaW4KICAgICAgIHllcyopIExEPSIke0xELWxkfSAtbSBlbGY2NF9zcGFyYyIgOzsKLSAgICAgICopICAgIExEPSIke0xELWxkfSAtNjQiIDs7CisgICAgICAqKQorCWlmICR7TEQtbGR9IC02NCAtciAtbyBjb25mdGVzdDIubyBjb25mdGVzdC5vID4vZGV2L251bGwgMj4mMTsgdGhlbgorCSAgTEQ9IiR7TEQtbGR9IC02NCIKKwlmaQorCTs7CiAgICAgICBlc2FjCiAgICAgICA7OwogICAgIGVzYWMKQEAgLTY3OTAsNiArNzE0OSw1NTkgQEAKIG5lZWRfbG9ja3M9IiRlbmFibGVfbGlidG9vbF9sb2NrIgogCiAKKyAgY2FzZSAkaG9zdF9vcyBpbgorICAgIHJoYXBzb2R5KiB8IGRhcndpbiopCisgICAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9ZHN5bXV0aWwiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9ZHN5bXV0aWw7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfRFNZTVVUSUwrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJERTWU1VVElMIjsgdGhlbgorICBhY19jdl9wcm9nX0RTWU1VVElMPSIkRFNZTVVUSUwiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX0RTWU1VVElMPSIke2FjX3Rvb2xfcHJlZml4fWRzeW11dGlsIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKK2ZpCitmaQorRFNZTVVUSUw9JGFjX2N2X3Byb2dfRFNZTVVUSUwKK2lmIHRlc3QgLW4gIiREU1lNVVRJTCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJERTWU1VVElMIiA+JjUKK2VjaG8gIiR7RUNIT19UfSREU1lNVVRJTCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKK2ZpCitpZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19EU1lNVVRJTCI7IHRoZW4KKyAgYWNfY3RfRFNZTVVUSUw9JERTWU1VVElMCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiZHN5bXV0aWwiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IGRzeW11dGlsOyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRhY19jdF9EU1lNVVRJTCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9EU1lNVVRJTD0iJGFjX2N0X0RTWU1VVElMIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19hY19jdF9EU1lNVVRJTD0iZHN5bXV0aWwiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworICB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19hY19jdF9EU1lNVVRJTCIgJiYgYWNfY3ZfcHJvZ19hY19jdF9EU1lNVVRJTD0iOiIKK2ZpCitmaQorYWNfY3RfRFNZTVVUSUw9JGFjX2N2X3Byb2dfYWNfY3RfRFNZTVVUSUwKK2lmIHRlc3QgLW4gIiRhY19jdF9EU1lNVVRJTCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X0RTWU1VVElMIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdF9EU1lNVVRJTCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKKyAgRFNZTVVUSUw9JGFjX2N0X0RTWU1VVElMCitlbHNlCisgIERTWU1VVElMPSIkYWNfY3ZfcHJvZ19EU1lNVVRJTCIKK2ZpCisKKyAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1ubWVkaXQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9bm1lZGl0OyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX05NRURJVCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkTk1FRElUIjsgdGhlbgorICBhY19jdl9wcm9nX05NRURJVD0iJE5NRURJVCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfTk1FRElUPSIke2FjX3Rvb2xfcHJlZml4fW5tZWRpdCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCitmaQorZmkKK05NRURJVD0kYWNfY3ZfcHJvZ19OTUVESVQKK2lmIHRlc3QgLW4gIiROTUVESVQiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICROTUVESVQiID4mNQorZWNobyAiJHtFQ0hPX1R9JE5NRURJVCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKK2ZpCitpZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19OTUVESVQiOyB0aGVuCisgIGFjX2N0X05NRURJVD0kTk1FRElUCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAibm1lZGl0Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBubWVkaXQ7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfTk1FRElUK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRhY19jdF9OTUVESVQiOyB0aGVuCisgIGFjX2N2X3Byb2dfYWNfY3RfTk1FRElUPSIkYWNfY3RfTk1FRElUIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19hY19jdF9OTUVESVQ9Im5tZWRpdCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCisgIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X05NRURJVCIgJiYgYWNfY3ZfcHJvZ19hY19jdF9OTUVESVQ9IjoiCitmaQorZmkKK2FjX2N0X05NRURJVD0kYWNfY3ZfcHJvZ19hY19jdF9OTUVESVQKK2lmIHRlc3QgLW4gIiRhY19jdF9OTUVESVQiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9OTUVESVQiID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N0X05NRURJVCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKKyAgTk1FRElUPSRhY19jdF9OTUVESVQKK2Vsc2UKKyAgTk1FRElUPSIkYWNfY3ZfcHJvZ19OTUVESVQiCitmaQorCisgICAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9bGlwbyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1saXBvOyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX0xJUE8rc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJExJUE8iOyB0aGVuCisgIGFjX2N2X3Byb2dfTElQTz0iJExJUE8iICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX0xJUE89IiR7YWNfdG9vbF9wcmVmaXh9bGlwbyIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCitmaQorZmkKK0xJUE89JGFjX2N2X3Byb2dfTElQTworaWYgdGVzdCAtbiAiJExJUE8iOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRMSVBPIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRMSVBPIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworZmkKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX0xJUE8iOyB0aGVuCisgIGFjX2N0X0xJUE89JExJUE8KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJsaXBvIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBsaXBvOyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X0xJUE8rc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X0xJUE8iOyB0aGVuCisgIGFjX2N2X3Byb2dfYWNfY3RfTElQTz0iJGFjX2N0X0xJUE8iICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X0xJUE89ImxpcG8iCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworICB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19hY19jdF9MSVBPIiAmJiBhY19jdl9wcm9nX2FjX2N0X0xJUE89IjoiCitmaQorZmkKK2FjX2N0X0xJUE89JGFjX2N2X3Byb2dfYWNfY3RfTElQTworaWYgdGVzdCAtbiAiJGFjX2N0X0xJUE8iOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9MSVBPIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdF9MSVBPIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBMSVBPPSRhY19jdF9MSVBPCitlbHNlCisgIExJUE89IiRhY19jdl9wcm9nX0xJUE8iCitmaQorCisgICAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9b3Rvb2wiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9b3Rvb2w7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfT1RPT0wrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJE9UT09MIjsgdGhlbgorICBhY19jdl9wcm9nX09UT09MPSIkT1RPT0wiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX09UT09MPSIke2FjX3Rvb2xfcHJlZml4fW90b29sIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKK2ZpCitmaQorT1RPT0w9JGFjX2N2X3Byb2dfT1RPT0wKK2lmIHRlc3QgLW4gIiRPVE9PTCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJE9UT09MIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRPVE9PTCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKK2ZpCitpZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19PVE9PTCI7IHRoZW4KKyAgYWNfY3RfT1RPT0w9JE9UT09MCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAib3Rvb2wiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG90b29sOyBhY193b3JkPSQyCitlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X09UT09MK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRhY19jdF9PVE9PTCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9PVE9PTD0iJGFjX2N0X09UT09MIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19hY19jdF9PVE9PTD0ib3Rvb2wiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworICB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19hY19jdF9PVE9PTCIgJiYgYWNfY3ZfcHJvZ19hY19jdF9PVE9PTD0iOiIKK2ZpCitmaQorYWNfY3RfT1RPT0w9JGFjX2N2X3Byb2dfYWNfY3RfT1RPT0wKK2lmIHRlc3QgLW4gIiRhY19jdF9PVE9PTCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X09UT09MIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdF9PVE9PTCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKKyAgT1RPT0w9JGFjX2N0X09UT09MCitlbHNlCisgIE9UT09MPSIkYWNfY3ZfcHJvZ19PVE9PTCIKK2ZpCisKKyAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1vdG9vbDY0Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW90b29sNjQ7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfT1RPT0w2NCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkT1RPT0w2NCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19PVE9PTDY0PSIkT1RPT0w2NCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfT1RPT0w2ND0iJHthY190b29sX3ByZWZpeH1vdG9vbDY0IgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKK2ZpCitmaQorT1RPT0w2ND0kYWNfY3ZfcHJvZ19PVE9PTDY0CitpZiB0ZXN0IC1uICIkT1RPT0w2NCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJE9UT09MNjQiID4mNQorZWNobyAiJHtFQ0hPX1R9JE9UT09MNjQiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfT1RPT0w2NCI7IHRoZW4KKyAgYWNfY3RfT1RPT0w2ND0kT1RPT0w2NAorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm90b29sNjQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG90b29sNjQ7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfT1RPT0w2NCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfT1RPT0w2NCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9PVE9PTDY0PSIkYWNfY3RfT1RPT0w2NCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w2ND0ib3Rvb2w2NCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCisgIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X09UT09MNjQiICYmIGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w2ND0iOiIKK2ZpCitmaQorYWNfY3RfT1RPT0w2ND0kYWNfY3ZfcHJvZ19hY19jdF9PVE9PTDY0CitpZiB0ZXN0IC1uICIkYWNfY3RfT1RPT0w2NCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X09UT09MNjQiID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N0X09UT09MNjQiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCisgIE9UT09MNjQ9JGFjX2N0X09UT09MNjQKK2Vsc2UKKyAgT1RPT0w2ND0iJGFjX2N2X3Byb2dfT1RPT0w2NCIKK2ZpCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAtc2luZ2xlX21vZHVsZSBsaW5rZXIgZmxhZyIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAtc2luZ2xlX21vZHVsZSBsaW5rZXIgZmxhZy4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7bHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kPW5vCisgICAgICBpZiB0ZXN0IC16ICIke0xUX01VTFRJX01PRFVMRX0iOyB0aGVuCisJIyBCeSBkZWZhdWx0IHdlIHdpbGwgYWRkIHRoZSAtc2luZ2xlX21vZHVsZSBmbGFnLiBZb3UgY2FuIG92ZXJyaWRlCisJIyBieSBlaXRoZXIgc2V0dGluZyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgTFRfTVVMVElfTU9EVUxFCisJIyBub24tZW1wdHkgYXQgY29uZmlndXJlIHRpbWUsIG9yIGJ5IGFkZGluZyAtbXVsdGlfbW9kdWxlIHRvIHRoZQorCSMgbGluayBmbGFncy4KKwlybSAtcmYgbGliY29uZnRlc3QuZHlsaWIqCisJZWNobyAiaW50IGZvbyh2b2lkKXtyZXR1cm4gMTt9IiA+IGNvbmZ0ZXN0LmMKKwllY2hvICIkTFRDQyAkTFRDRkxBR1MgJExERkxBR1MgLW8gbGliY29uZnRlc3QuZHlsaWIgXAorLWR5bmFtaWNsaWIgLVdsLC1zaW5nbGVfbW9kdWxlIGNvbmZ0ZXN0LmMiID4mNQorCSRMVENDICRMVENGTEFHUyAkTERGTEFHUyAtbyBsaWJjb25mdGVzdC5keWxpYiBcCisJICAtZHluYW1pY2xpYiAtV2wsLXNpbmdsZV9tb2R1bGUgY29uZnRlc3QuYyAyPmNvbmZ0ZXN0LmVycgorICAgICAgICBfbHRfcmVzdWx0PSQ/CisJaWYgdGVzdCAtZiBsaWJjb25mdGVzdC5keWxpYiAmJiB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyICYmIHRlc3QgJF9sdF9yZXN1bHQgPSAwOyB0aGVuCisJICBsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kPXllcworCWVsc2UKKwkgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisJZmkKKwlybSAtcmYgbGliY29uZnRlc3QuZHlsaWIqCisJcm0gLWYgY29uZnRlc3QuKgorICAgICAgZmkKK2ZpCitlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZCIgPiY1CitlY2hvICIke0VDSE9fVH0kbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZCIgPiY2CisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAtZXhwb3J0ZWRfc3ltYm9sc19saXN0IGxpbmtlciBmbGFnIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIC1leHBvcnRlZF9zeW1ib2xzX2xpc3QgbGlua2VyIGZsYWcuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2x0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBsdF9jdl9sZF9leHBvcnRlZF9zeW1ib2xzX2xpc3Q9bm8KKyAgICAgIHNhdmVfTERGTEFHUz0kTERGTEFHUworICAgICAgZWNobyAiX21haW4iID4gY29uZnRlc3Quc3ltCisgICAgICBMREZMQUdTPSIkTERGTEFHUyAtV2wsLWV4cG9ydGVkX3N5bWJvbHNfbGlzdCxjb25mdGVzdC5zeW0iCisgICAgICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGNvbmZkZWZzLmguICAqLworX0FDRU9GCitjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK2NhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworaW50CittYWluICgpCit7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdCRhY19leGVleHQKK2lmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2xpbmtcIiIpID4mNQorICAoZXZhbCAkYWNfbGluaykgMj5jb25mdGVzdC5lcjEKKyAgYWNfc3RhdHVzPSQ/CisgIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCisgIHJtIC1mIGNvbmZ0ZXN0LmVyMQorICBjYXQgY29uZnRlc3QuZXJyID4mNQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC16ICIkYWNfY193ZXJyb3JfZmxhZyIKKwkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyJworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0JGFjX2V4ZWV4dCcKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorICBsdF9jdl9sZF9leHBvcnRlZF9zeW1ib2xzX2xpc3Q9eWVzCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2x0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdD1ubworZmkKK3JtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKKyAgICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CisJTERGTEFHUz0iJHNhdmVfTERGTEFHUyIKKworZmkKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRsdF9jdl9sZF9leHBvcnRlZF9zeW1ib2xzX2xpc3QiID4mNQorZWNobyAiJHtFQ0hPX1R9JGx0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdCIgPiY2CisgICAgY2FzZSAkaG9zdF9vcyBpbgorICAgIHJoYXBzb2R5KiB8IGRhcndpbjEuWzAxMl0pCisgICAgICBfbHRfZGFyX2FsbG93X3VuZGVmaW5lZD0nJHt3bH0tdW5kZWZpbmVkICR7d2x9c3VwcHJlc3MnIDs7CisgICAgZGFyd2luMS4qKQorICAgICAgX2x0X2Rhcl9hbGxvd191bmRlZmluZWQ9JyR7d2x9LWZsYXRfbmFtZXNwYWNlICR7d2x9LXVuZGVmaW5lZCAke3dsfXN1cHByZXNzJyA7OworICAgIGRhcndpbiopICMgZGFyd2luIDUueCBvbgorICAgICAgIyBpZiBydW5uaW5nIG9uIDEwLjUgb3IgbGF0ZXIsIHRoZSBkZXBsb3ltZW50IHRhcmdldCBkZWZhdWx0cworICAgICAgIyB0byB0aGUgT1MgdmVyc2lvbiwgaWYgb24geDg2LCBhbmQgMTAuNCwgdGhlIGRlcGxveW1lbnQKKyAgICAgICMgdGFyZ2V0IGRlZmF1bHRzIHRvIDEwLjQuIERvbid0IHlvdSBsb3ZlIGl0PworICAgICAgY2FzZSAke01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVC0xMC4wfSwkaG9zdCBpbgorCTEwLjAsKjg2Ki1kYXJ3aW44KnwxMC4wLCotZGFyd2luWzkxXSopCisJICBfbHRfZGFyX2FsbG93X3VuZGVmaW5lZD0nJHt3bH0tdW5kZWZpbmVkICR7d2x9ZHluYW1pY19sb29rdXAnIDs7CisJMTAuWzAxMl0qKQorCSAgX2x0X2Rhcl9hbGxvd191bmRlZmluZWQ9JyR7d2x9LWZsYXRfbmFtZXNwYWNlICR7d2x9LXVuZGVmaW5lZCAke3dsfXN1cHByZXNzJyA7OworCTEwLiopCisJICBfbHRfZGFyX2FsbG93X3VuZGVmaW5lZD0nJHt3bH0tdW5kZWZpbmVkICR7d2x9ZHluYW1pY19sb29rdXAnIDs7CisgICAgICBlc2FjCisgICAgOzsKKyAgZXNhYworICAgIGlmIHRlc3QgIiRsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kIiA9ICJ5ZXMiOyB0aGVuCisgICAgICBfbHRfZGFyX3NpbmdsZV9tb2Q9JyRzaW5nbGVfbW9kdWxlJworICAgIGZpCisgICAgaWYgdGVzdCAiJGx0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdCIgPSAieWVzIjsgdGhlbgorICAgICAgX2x0X2Rhcl9leHBvcnRfc3ltcz0nICR7d2x9LWV4cG9ydGVkX3N5bWJvbHNfbGlzdCwkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltJworICAgIGVsc2UKKyAgICAgIF9sdF9kYXJfZXhwb3J0X3N5bXM9J34kTk1FRElUIC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JworICAgIGZpCisgICAgaWYgdGVzdCAiJERTWU1VVElMIiAhPSAiOiI7IHRoZW4KKyAgICAgIF9sdF9kc3ltdXRpbD0nfiREU1lNVVRJTCAkbGliIHx8IDonCisgICAgZWxzZQorICAgICAgX2x0X2RzeW11dGlsPQorICAgIGZpCisgICAgOzsKKyAgZXNhYworCisKIGZvciBhY19oZWFkZXIgaW4gZGxmY24uaAogZG8KIGFzX2FjX0hlYWRlcj1gZWNobyAiYWNfY3ZfaGVhZGVyXyRhY19oZWFkZXIiIHwgJGFzX3RyX3NoYApAQCAtNjg1Miw2ICs3NzY0LDEyOCBAQAogCiAKIAorIyBTZXQgb3B0aW9ucworCisKKworICAgICAgICBlbmFibGVfZGxvcGVuPW5vCisKKworICBlbmFibGVfd2luMzJfZGxsPW5vCisKKworICAgICAgICAgICAgIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXNoYXJlZCBvciAtLWRpc2FibGUtc2hhcmVkIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7ZW5hYmxlX3NoYXJlZCtzZXR9IiA9IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRlbmFibGVfc2hhcmVkIgorICBwPSR7UEFDS0FHRS1kZWZhdWx0fQorICAgIGNhc2UgJGVuYWJsZXZhbCBpbgorICAgIHllcykgZW5hYmxlX3NoYXJlZD15ZXMgOzsKKyAgICBubykgZW5hYmxlX3NoYXJlZD1ubyA7OworICAgICopCisgICAgICBlbmFibGVfc2hhcmVkPW5vCisgICAgICAjIExvb2sgYXQgdGhlIGFyZ3VtZW50IHdlIGdvdC4gIFdlIHVzZSBhbGwgdGhlIGNvbW1vbiBsaXN0IHNlcGFyYXRvcnMuCisgICAgICBsdF9zYXZlX2lmcz0iJElGUyI7IElGUz0iJHtJRlN9JFBBVEhfU0VQQVJBVE9SLCIKKyAgICAgIGZvciBwa2cgaW4gJGVuYWJsZXZhbDsgZG8KKwlJRlM9IiRsdF9zYXZlX2lmcyIKKwlpZiB0ZXN0ICJYJHBrZyIgPSAiWCRwIjsgdGhlbgorCSAgZW5hYmxlX3NoYXJlZD15ZXMKKwlmaQorICAgICAgZG9uZQorICAgICAgSUZTPSIkbHRfc2F2ZV9pZnMiCisgICAgICA7OworICAgIGVzYWMKK2Vsc2UKKyAgZW5hYmxlX3NoYXJlZD15ZXMKK2ZpOworCisKKworCisKKworCisKKyAgIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXN0YXRpYyBvciAtLWRpc2FibGUtc3RhdGljIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7ZW5hYmxlX3N0YXRpYytzZXR9IiA9IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRlbmFibGVfc3RhdGljIgorICBwPSR7UEFDS0FHRS1kZWZhdWx0fQorICAgIGNhc2UgJGVuYWJsZXZhbCBpbgorICAgIHllcykgZW5hYmxlX3N0YXRpYz15ZXMgOzsKKyAgICBubykgZW5hYmxlX3N0YXRpYz1ubyA7OworICAgICopCisgICAgIGVuYWJsZV9zdGF0aWM9bm8KKyAgICAgICMgTG9vayBhdCB0aGUgYXJndW1lbnQgd2UgZ290LiAgV2UgdXNlIGFsbCB0aGUgY29tbW9uIGxpc3Qgc2VwYXJhdG9ycy4KKyAgICAgIGx0X3NhdmVfaWZzPSIkSUZTIjsgSUZTPSIke0lGU30kUEFUSF9TRVBBUkFUT1IsIgorICAgICAgZm9yIHBrZyBpbiAkZW5hYmxldmFsOyBkbworCUlGUz0iJGx0X3NhdmVfaWZzIgorCWlmIHRlc3QgIlgkcGtnIiA9ICJYJHAiOyB0aGVuCisJICBlbmFibGVfc3RhdGljPXllcworCWZpCisgICAgICBkb25lCisgICAgICBJRlM9IiRsdF9zYXZlX2lmcyIKKyAgICAgIDs7CisgICAgZXNhYworZWxzZQorICBlbmFibGVfc3RhdGljPXllcworZmk7CisKKworCisKKworCisKKworCisjIENoZWNrIHdoZXRoZXIgLS13aXRoLXBpYyBvciAtLXdpdGhvdXQtcGljIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7d2l0aF9waWMrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgd2l0aHZhbD0iJHdpdGhfcGljIgorICBwaWNfbW9kZT0iJHdpdGh2YWwiCitlbHNlCisgIHBpY19tb2RlPWRlZmF1bHQKK2ZpOworCit0ZXN0IC16ICIkcGljX21vZGUiICYmIHBpY19tb2RlPWRlZmF1bHQKKworCisKKworCisKKworICAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtZmFzdC1pbnN0YWxsIG9yIC0tZGlzYWJsZS1mYXN0LWluc3RhbGwgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHtlbmFibGVfZmFzdF9pbnN0YWxsK3NldH0iID0gc2V0OyB0aGVuCisgIGVuYWJsZXZhbD0iJGVuYWJsZV9mYXN0X2luc3RhbGwiCisgIHA9JHtQQUNLQUdFLWRlZmF1bHR9CisgICAgY2FzZSAkZW5hYmxldmFsIGluCisgICAgeWVzKSBlbmFibGVfZmFzdF9pbnN0YWxsPXllcyA7OworICAgIG5vKSBlbmFibGVfZmFzdF9pbnN0YWxsPW5vIDs7CisgICAgKikKKyAgICAgIGVuYWJsZV9mYXN0X2luc3RhbGw9bm8KKyAgICAgICMgTG9vayBhdCB0aGUgYXJndW1lbnQgd2UgZ290LiAgV2UgdXNlIGFsbCB0aGUgY29tbW9uIGxpc3Qgc2VwYXJhdG9ycy4KKyAgICAgIGx0X3NhdmVfaWZzPSIkSUZTIjsgSUZTPSIke0lGU30kUEFUSF9TRVBBUkFUT1IsIgorICAgICAgZm9yIHBrZyBpbiAkZW5hYmxldmFsOyBkbworCUlGUz0iJGx0X3NhdmVfaWZzIgorCWlmIHRlc3QgIlgkcGtnIiA9ICJYJHAiOyB0aGVuCisJICBlbmFibGVfZmFzdF9pbnN0YWxsPXllcworCWZpCisgICAgICBkb25lCisgICAgICBJRlM9IiRsdF9zYXZlX2lmcyIKKyAgICAgIDs7CisgICAgZXNhYworZWxzZQorICBlbmFibGVfZmFzdF9pbnN0YWxsPXllcworZmk7CisKKworCisKKworCisKKworCisKICMgVGhpcyBjYW4gYmUgdXNlZCB0byByZWJ1aWxkIGxpYnRvb2wgd2hlbiBuZWVkZWQKIExJQlRPT0xfREVQUz0iJGx0bWFpbiIKIApAQCAtNzE5OCw3ICs4MjMyLDcgQEAKIGVjaG8gIiRsdF9zaW1wbGVfbGlua190ZXN0X2NvZGUiID5jb25mdGVzdC4kYWNfZXh0CiBldmFsICIkYWNfbGluayIgMj4mMSA+L2Rldi9udWxsIHwgJFNFRCAnL14kL2Q7IC9eICorL2QnID5jb25mdGVzdC5lcnIKIF9sdF9saW5rZXJfYm9pbGVycGxhdGU9YGNhdCBjb25mdGVzdC5lcnJgCi0kUk0gY29uZnRlc3QqCiskUk0gLXIgY29uZnRlc3QqCiAKIAogIyMgQ0FWRUFUIEVNUFRPUjoKQEAgLTcyMzAsMTEgKzgyNjQsMTEgQEAKICAgIC1lICdzOi4qRkxBR1N9XHswLDFcfSA6JiRsdF9jb21waWxlcl9mbGFnIDo7IHQnIFwKICAgIC1lICdzOiBbXiBdKmNvbmZ0ZXN0XC46ICRsdF9jb21waWxlcl9mbGFnJjo7IHQnIFwKICAgIC1lICdzOiQ6ICRsdF9jb21waWxlcl9mbGFnOidgCi0gICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NzIzMzogJGx0X2NvbXBpbGVcIiIgPiY1KQorICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjgyNjc6ICRsdF9jb21waWxlXCIiID4mNSkKICAgIChldmFsICIkbHRfY29tcGlsZSIgMj5jb25mdGVzdC5lcnIpCiAgICBhY19zdGF0dXM9JD8KICAgIGNhdCBjb25mdGVzdC5lcnIgPiY1Ci0gICBlY2hvICIkYXNfbWU6NzIzNzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgICBlY2hvICIkYXNfbWU6ODI3MTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CiAgICBpZiAoZXhpdCAkYWNfc3RhdHVzKSAmJiB0ZXN0IC1zICIkYWNfb3V0ZmlsZSI7IHRoZW4KICAgICAgIyBUaGUgY29tcGlsZXIgY2FuIG9ubHkgd2FybiBhbmQgaWdub3JlIHRoZSBvcHRpb24gaWYgbm90IHJlY29nbml6ZWQKICAgICAgIyBTbyBzYXkgbm8gaWYgdGhlcmUgYXJlIHdhcm5pbmdzIG90aGVyIHRoYW4gdGhlIHVzdWFsIG91dHB1dC4KQEAgLTcyODQsMTkgKzgzMTgsMjUgQEAKICAgICAgIDs7CiAKICAgICBhbWlnYW9zKikKLSAgICAgIGlmIHRlc3QgIiRob3N0X2NwdSIgPSBtNjhrOyB0aGVuCi0gICAgICAgICMgRklYTUU6IHdlIG5lZWQgYXQgbGVhc3QgNjgwMjAgY29kZSB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzLCBidXQKLSAgICAgICAgIyBhZGRpbmcgdGhlIGAtbTY4MDIwJyBmbGFnIHRvIEdDQyBwcmV2ZW50cyBidWlsZGluZyBhbnl0aGluZyBiZXR0ZXIsCi0gICAgICAgICMgbGlrZSBgLW02ODA0MCcuCi0gICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctbTY4MDIwIC1yZXNpZGVudDMyIC1tYWx3YXlzLXJlc3RvcmUtYTQnCi0gICAgICBmaQorICAgICAgY2FzZSAkaG9zdF9jcHUgaW4KKyAgICAgIHBvd2VycGMpCisgICAgICAgICAgICAjIHNlZSBjb21tZW50IGFib3V0IEFtaWdhT1M0IC5zbyBzdXBwb3J0CisgICAgICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLWZQSUMnCisgICAgICAgIDs7CisgICAgICBtNjhrKQorICAgICAgICAgICAgIyBGSVhNRTogd2UgbmVlZCBhdCBsZWFzdCA2ODAyMCBjb2RlIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMsIGJ1dAorICAgICAgICAgICAgIyBhZGRpbmcgdGhlIGAtbTY4MDIwJyBmbGFnIHRvIEdDQyBwcmV2ZW50cyBidWlsZGluZyBhbnl0aGluZyBiZXR0ZXIsCisgICAgICAgICAgICAjIGxpa2UgYC1tNjgwNDAnLgorICAgICAgICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1tNjgwMjAgLXJlc2lkZW50MzIgLW1hbHdheXMtcmVzdG9yZS1hNCcKKyAgICAgICAgOzsKKyAgICAgIGVzYWMKICAgICAgIDs7CiAKICAgICBiZW9zKiB8IGlyaXg1KiB8IGlyaXg2KiB8IG5vbnN0b3B1eCogfCBvc2YzKiB8IG9zZjQqIHwgb3NmNSopCiAgICAgICAjIFBJQyBpcyB0aGUgZGVmYXVsdCBmb3IgdGhlc2UgT1Nlcy4KICAgICAgIDs7CiAKLSAgICBtaW5ndyogfCBjeWd3aW4qIHwgcHczMiogfCBvczIqKQorICAgIG1pbmd3KiB8IGN5Z3dpbiogfCBwdzMyKiB8IG9zMiogfCBjZWdjYyopCiAgICAgICAjIFRoaXMgaGFjayBpcyBzbyB0aGF0IHRoZSBzb3VyY2UgZmlsZSBjYW4gdGVsbCB3aGV0aGVyIGl0IGlzIGJlaW5nCiAgICAgICAjIGJ1aWx0IGZvciBpbmNsdXNpb24gaW4gYSBkbGwgKGFuZCBzaG91bGQgZXhwb3J0IHN5bWJvbHMgZm9yIGV4YW1wbGUpLgogICAgICAgIyBBbHRob3VnaCB0aGUgY3lnd2luIGdjYyBpZ25vcmVzIC1mUElDLCBzdGlsbCBuZWVkIHRoaXMgZm9yIG9sZC1zdHlsZQpAQCAtNzMxMSwxMCArODM1MSwxMSBAQAogICAgICAgOzsKIAogICAgIGhwdXgqKQotICAgICAgIyBQSUMgaXMgdGhlIGRlZmF1bHQgZm9yIElBNjQgSFAtVVggYW5kIDY0LWJpdCBIUC1VWCwgYnV0Ci0gICAgICAjIG5vdCBmb3IgUEEgSFAtVVguCisgICAgICAjIFBJQyBpcyB0aGUgZGVmYXVsdCBmb3IgNjQtYml0IFBBIEhQLVVYLCBidXQgbm90IGZvciAzMi1iaXQKKyAgICAgICMgUEEgSFAtVVguICBPbiBJQTY0IEhQLVVYLCBQSUMgaXMgdGhlIGRlZmF1bHQgYnV0IHRoZSBwaWMgZmxhZworICAgICAgIyBzZXRzIHRoZSBkZWZhdWx0IFRMUyBtb2RlbCBhbmQgYWZmZWN0cyBpbmxpbmluZy4KICAgICAgIGNhc2UgJGhvc3RfY3B1IGluCi0gICAgICBocHBhKjY0KnxpYTY0KikKKyAgICAgIGhwcGEqNjQqKQogCSMgK1ogdGhlIGRlZmF1bHQKIAk7OwogICAgICAgKikKQEAgLTczNjMsMTggKzg0MDQsOCBAQAogCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctYm5zbyAtYkk6L2xpYi9zeXNjYWxscy5leHAnCiAgICAgICBmaQogICAgICAgOzsKLSAgICBkYXJ3aW4qKQotICAgICAgIyBQSUMgaXMgdGhlIGRlZmF1bHQgb24gdGhpcyBwbGF0Zm9ybQotICAgICAgIyBDb21tb24gc3ltYm9scyBub3QgYWxsb3dlZCBpbiBNSF9EWUxJQiBmaWxlcwotICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KLSAgICAgIHhsYyopCi0gICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctcW5vY29tbW9uJwotICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJwotICAgICAgICA7OwotICAgICAgZXNhYwotICAgICAgOzsKIAotICAgIG1pbmd3KiB8IGN5Z3dpbiogfCBwdzMyKiB8IG9zMiopCisgICAgbWluZ3cqIHwgY3lnd2luKiB8IHB3MzIqIHwgb3MyKiB8IGNlZ2NjKikKICAgICAgICMgVGhpcyBoYWNrIGlzIHNvIHRoYXQgdGhlIHNvdXJjZSBmaWxlIGNhbiB0ZWxsIHdoZXRoZXIgaXQgaXMgYmVpbmcKICAgICAgICMgYnVpbHQgZm9yIGluY2x1c2lvbiBpbiBhIGRsbCAoYW5kIHNob3VsZCBleHBvcnQgc3ltYm9scyBmb3IgZXhhbXBsZSkuCiAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLURETExfRVhQT1JUJwpAQCAtNzQwNCwxMSArODQzNSwyNSBAQAogCiAgICAgbGludXgqIHwgaypic2QqLWdudSkKICAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCi0gICAgICBpY2MqIHwgZWNjKikKKyAgICAgICMgb2xkIEludGVsIGZvciB4ODZfNjQgd2hpY2ggc3RpbGwgc3VwcG9ydGVkIC1LUElDLgorICAgICAgZWNjKikKIAlsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJwogCWx0X3Byb2dfY29tcGlsZXJfcGljPSctS1BJQycKIAlsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLXN0YXRpYycKICAgICAgICAgOzsKKyAgICAgICMgaWNjIHVzZWQgdG8gYmUgaW5jb21wYXRpYmxlIHdpdGggR0NDLgorICAgICAgIyBJQ0MgMTAgZG9lc24ndCBhY2NlcHQgLUtQSUMgYW55IG1vcmUuCisgICAgICBpY2MqIHwgaWZvcnQqKQorCWx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCisJbHRfcHJvZ19jb21waWxlcl9waWM9Jy1mUElDJworCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctc3RhdGljJworICAgICAgICA7OworICAgICAgIyBMYWhleSBGb3J0cmFuIDguMS4KKyAgICAgIGxmOTUqKQorCWx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCisJbHRfcHJvZ19jb21waWxlcl9waWM9Jy0tc2hhcmVkJworCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctLXN0YXRpYycKKwk7OwogICAgICAgcGdjYyogfCBwZ2Y3NyogfCBwZ2Y5MCogfCBwZ2Y5NSopCiAgICAgICAgICMgUG9ydGxhbmQgR3JvdXAgY29tcGlsZXJzICgqbm90KiB0aGUgUGVudGl1bSBnY2MgY29tcGlsZXIsCiAJIyB3aGljaCBsb29rcyB0byBiZSBhIGRlYWQgcHJvamVjdCkKQEAgLTc0MjEsNiArODQ2NiwxMiBAQAogICAgICAgICAjIEFsbCBBbHBoYSBjb2RlIGlzIFBJQy4KICAgICAgICAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1ub25fc2hhcmVkJwogICAgICAgICA7OworICAgICAgeGwqKQorCSMgSUJNIFhMIEMgOC4wL0ZvcnRyYW4gMTAuMSBvbiBQUEMKKwlsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJworCWx0X3Byb2dfY29tcGlsZXJfcGljPSctcXBpYycKKwlsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLXFzdGF0aWNsaW5rJworCTs7CiAgICAgICAqKQogCWNhc2UgYCRDQyAtViAyPiYxIHwgc2VkIDVxYCBpbgogCSpTdW5cIEMqKQpAQCAtNzUzNiwxMCArODU4NywxMCBAQAogaWYgdGVzdCAtbiAiJGx0X3Byb2dfY29tcGlsZXJfcGljIjsgdGhlbgogICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgaWYgJGNvbXBpbGVyIFBJQyBmbGFnICRsdF9wcm9nX2NvbXBpbGVyX3BpYyB3b3JrcyIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGlmICRjb21waWxlciBQSUMgZmxhZyAkbHRfcHJvZ19jb21waWxlcl9waWMgd29ya3MuLi4gJEVDSE9fQyIgPiY2Ci1pZiB0ZXN0ICIke2x0X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzK3NldH0iID0gc2V0OyB0aGVuCitpZiB0ZXN0ICIke2x0X2N2X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzK3NldH0iID0gc2V0OyB0aGVuCiAgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CiBlbHNlCi0gIGx0X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzPW5vCisgIGx0X2N2X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzPW5vCiAgICBhY19vdXRmaWxlPWNvbmZ0ZXN0LiRhY19vYmpleHQKICAgIGVjaG8gIiRsdF9zaW1wbGVfY29tcGlsZV90ZXN0X2NvZGUiID4gY29uZnRlc3QuJGFjX2V4dAogICAgbHRfY29tcGlsZXJfZmxhZz0iJGx0X3Byb2dfY29tcGlsZXJfcGljIC1EUElDIgpAQCAtNzU1MiwyNyArODYwMywyNyBAQAogICAgLWUgJ3M6LipGTEFHU31cezAsMVx9IDomJGx0X2NvbXBpbGVyX2ZsYWcgOjsgdCcgXAogICAgLWUgJ3M6IFteIF0qY29uZnRlc3RcLjogJGx0X2NvbXBpbGVyX2ZsYWcmOjsgdCcgXAogICAgLWUgJ3M6JDogJGx0X2NvbXBpbGVyX2ZsYWc6J2AKLSAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo3NTU1OiAkbHRfY29tcGlsZVwiIiA+JjUpCisgICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6ODYwNjogJGx0X2NvbXBpbGVcIiIgPiY1KQogICAgKGV2YWwgIiRsdF9jb21waWxlIiAyPmNvbmZ0ZXN0LmVycikKICAgIGFjX3N0YXR1cz0kPwogICAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKLSAgIGVjaG8gIiRhc19tZTo3NTU5OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgIGVjaG8gIiRhc19tZTo4NjEwOiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKICAgIGlmIChleGl0ICRhY19zdGF0dXMpICYmIHRlc3QgLXMgIiRhY19vdXRmaWxlIjsgdGhlbgogICAgICAjIFRoZSBjb21waWxlciBjYW4gb25seSB3YXJuIGFuZCBpZ25vcmUgdGhlIG9wdGlvbiBpZiBub3QgcmVjb2duaXplZAogICAgICAjIFNvIHNheSBubyBpZiB0aGVyZSBhcmUgd2FybmluZ3Mgb3RoZXIgdGhhbiB0aGUgdXN1YWwgb3V0cHV0LgogICAgICAkRUNITyAiWCRfbHRfY29tcGlsZXJfYm9pbGVycGxhdGUiIHwgJFhzZWQgLWUgJy9eJC9kJyA+Y29uZnRlc3QuZXhwCiAgICAgICRTRUQgJy9eJC9kOyAvXiAqKy9kJyBjb25mdGVzdC5lcnIgPmNvbmZ0ZXN0LmVyMgogICAgICBpZiB0ZXN0ICEgLXMgY29uZnRlc3QuZXIyIHx8IGRpZmYgY29uZnRlc3QuZXhwIGNvbmZ0ZXN0LmVyMiA+L2Rldi9udWxsOyB0aGVuCi0gICAgICAgbHRfcHJvZ19jb21waWxlcl9waWNfd29ya3M9eWVzCisgICAgICAgbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3M9eWVzCiAgICAgIGZpCiAgICBmaQogICAgJFJNIGNvbmZ0ZXN0KgogCiBmaQotZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGx0X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzIiA+JjUKLWVjaG8gIiR7RUNIT19UfSRsdF9wcm9nX2NvbXBpbGVyX3BpY193b3JrcyIgPiY2CitlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3MiID4mNQorZWNobyAiJHtFQ0hPX1R9JGx0X2N2X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzIiA+JjYKIAotaWYgdGVzdCB4IiRsdF9wcm9nX2NvbXBpbGVyX3BpY193b3JrcyIgPSB4eWVzOyB0aGVuCitpZiB0ZXN0IHgiJGx0X2N2X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzIiA9IHh5ZXM7IHRoZW4KICAgICBjYXNlICRsdF9wcm9nX2NvbXBpbGVyX3BpYyBpbgogICAgICAiIiB8ICIgIiopIDs7CiAgICAgICopIGx0X3Byb2dfY29tcGlsZXJfcGljPSIgJGx0X3Byb2dfY29tcGlsZXJfcGljIiA7OwpAQCAtNzU5NSwxMCArODY0NiwxMCBAQAogd2w9JGx0X3Byb2dfY29tcGlsZXJfd2wgZXZhbCBsdF90bXBfc3RhdGljX2ZsYWc9XCIkbHRfcHJvZ19jb21waWxlcl9zdGF0aWNcIgogZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGlmICRjb21waWxlciBzdGF0aWMgZmxhZyAkbHRfdG1wX3N0YXRpY19mbGFnIHdvcmtzIiA+JjUKIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgaWYgJGNvbXBpbGVyIHN0YXRpYyBmbGFnICRsdF90bXBfc3RhdGljX2ZsYWcgd29ya3MuLi4gJEVDSE9fQyIgPiY2Ci1pZiB0ZXN0ICIke2x0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzK3NldH0iID0gc2V0OyB0aGVuCitpZiB0ZXN0ICIke2x0X2N2X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzK3NldH0iID0gc2V0OyB0aGVuCiAgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CiBlbHNlCi0gIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzPW5vCisgIGx0X2N2X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzPW5vCiAgICBzYXZlX0xERkxBR1M9IiRMREZMQUdTIgogICAgTERGTEFHUz0iJExERkxBR1MgJGx0X3RtcF9zdGF0aWNfZmxhZyIKICAgIGVjaG8gIiRsdF9zaW1wbGVfbGlua190ZXN0X2NvZGUiID4gY29uZnRlc3QuJGFjX2V4dApAQCAtNzYxMSwyMCArODY2MiwyMCBAQAogICAgICAgICRFQ0hPICJYJF9sdF9saW5rZXJfYm9pbGVycGxhdGUiIHwgJFhzZWQgLWUgJy9eJC9kJyA+IGNvbmZ0ZXN0LmV4cAogICAgICAgICRTRUQgJy9eJC9kOyAvXiAqKy9kJyBjb25mdGVzdC5lcnIgPmNvbmZ0ZXN0LmVyMgogICAgICAgIGlmIGRpZmYgY29uZnRlc3QuZXhwIGNvbmZ0ZXN0LmVyMiA+L2Rldi9udWxsOyB0aGVuCi0gICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3Jrcz15ZXMKKyAgICAgICAgIGx0X2N2X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzPXllcwogICAgICAgIGZpCiAgICAgIGVsc2UKLSAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3Jrcz15ZXMKKyAgICAgICBsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3Jrcz15ZXMKICAgICAgZmkKICAgIGZpCi0gICAkUk0gY29uZnRlc3QqCisgICAkUk0gLXIgY29uZnRlc3QqCiAgICBMREZMQUdTPSIkc2F2ZV9MREZMQUdTIgogCiBmaQotZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzIiA+JjUKLWVjaG8gIiR7RUNIT19UfSRsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcyIgPiY2CitlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3MiID4mNQorZWNobyAiJHtFQ0hPX1R9JGx0X2N2X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzIiA+JjYKIAotaWYgdGVzdCB4IiRsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcyIgPSB4eWVzOyB0aGVuCitpZiB0ZXN0IHgiJGx0X2N2X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzIiA9IHh5ZXM7IHRoZW4KICAgICA6CiBlbHNlCiAgICAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9CkBAIC03NjU3LDExICs4NzA4LDExIEBACiAgICAtZSAnczouKkZMQUdTfVx7MCwxXH0gOiYkbHRfY29tcGlsZXJfZmxhZyA6OyB0JyBcCiAgICAtZSAnczogW14gXSpjb25mdGVzdFwuOiAkbHRfY29tcGlsZXJfZmxhZyY6OyB0JyBcCiAgICAtZSAnczokOiAkbHRfY29tcGlsZXJfZmxhZzonYAotICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjc2NjA6ICRsdF9jb21waWxlXCIiID4mNSkKKyAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo4NzExOiAkbHRfY29tcGlsZVwiIiA+JjUpCiAgICAoZXZhbCAiJGx0X2NvbXBpbGUiIDI+b3V0L2NvbmZ0ZXN0LmVycikKICAgIGFjX3N0YXR1cz0kPwogICAgY2F0IG91dC9jb25mdGVzdC5lcnIgPiY1Ci0gICBlY2hvICIkYXNfbWU6NzY2NDogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgICBlY2hvICIkYXNfbWU6ODcxNTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CiAgICBpZiAoZXhpdCAkYWNfc3RhdHVzKSAmJiB0ZXN0IC1zIG91dC9jb25mdGVzdDIuJGFjX29iamV4dAogICAgdGhlbgogICAgICAjIFRoZSBjb21waWxlciBjYW4gb25seSB3YXJuIGFuZCBpZ25vcmUgdGhlIG9wdGlvbiBpZiBub3QgcmVjb2duaXplZApAQCAtNzcxMiwxMSArODc2MywxMSBAQAogICAgLWUgJ3M6LipGTEFHU31cezAsMVx9IDomJGx0X2NvbXBpbGVyX2ZsYWcgOjsgdCcgXAogICAgLWUgJ3M6IFteIF0qY29uZnRlc3RcLjogJGx0X2NvbXBpbGVyX2ZsYWcmOjsgdCcgXAogICAgLWUgJ3M6JDogJGx0X2NvbXBpbGVyX2ZsYWc6J2AKLSAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo3NzE1OiAkbHRfY29tcGlsZVwiIiA+JjUpCisgICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6ODc2NjogJGx0X2NvbXBpbGVcIiIgPiY1KQogICAgKGV2YWwgIiRsdF9jb21waWxlIiAyPm91dC9jb25mdGVzdC5lcnIpCiAgICBhY19zdGF0dXM9JD8KICAgIGNhdCBvdXQvY29uZnRlc3QuZXJyID4mNQotICAgZWNobyAiJGFzX21lOjc3MTk6IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAgZWNobyAiJGFzX21lOjg3NzA6IFwkPyA9ICRhY19zdGF0dXMiID4mNQogICAgaWYgKGV4aXQgJGFjX3N0YXR1cykgJiYgdGVzdCAtcyBvdXQvY29uZnRlc3QyLiRhY19vYmpleHQKICAgIHRoZW4KICAgICAgIyBUaGUgY29tcGlsZXIgY2FuIG9ubHkgd2FybiBhbmQgaWdub3JlIHRoZSBvcHRpb24gaWYgbm90IHJlY29nbml6ZWQKQEAgLTc4MDYsMTYgKzg4NTcsMTcgQEAKICAgIyBpdCB3aWxsIGJlIHdyYXBwZWQgYnkgYCAoJyBhbmQgYCkkJywgc28gb25lIG11c3Qgbm90IG1hdGNoIGJlZ2lubmluZyBvcgogICAjIGVuZCBvZiBsaW5lLiAgRXhhbXBsZTogYGF8YmN8LipkLionIHdpbGwgZXhjbHVkZSB0aGUgc3ltYm9scyBgYScgYW5kIGBiYycsCiAgICMgYXMgd2VsbCBhcyBhbnkgc3ltYm9sIHRoYXQgY29udGFpbnMgYGQnLgotICBleGNsdWRlX2V4cHN5bXM9Il9HTE9CQUxfT0ZGU0VUX1RBQkxFXyIKKyAgZXhjbHVkZV9leHBzeW1zPSdfR0xPQkFMX09GRlNFVF9UQUJMRV98X0dMT0JBTF9fRltJRF1fLionCiAgICMgQWx0aG91Z2ggX0dMT0JBTF9PRkZTRVRfVEFCTEVfIGlzIGEgdmFsaWQgc3ltYm9sIEMgbmFtZSwgbW9zdCBhLm91dAogICAjIHBsYXRmb3JtcyAoYWIpdXNlIGl0IGluIFBJQyBjb2RlLCBidXQgdGhlaXIgbGlua2VycyBnZXQgY29uZnVzZWQgaWYKICAgIyB0aGUgc3ltYm9sIGlzIGV4cGxpY2l0bHkgcmVmZXJlbmNlZC4gIFNpbmNlIHBvcnRhYmxlIGNvZGUgY2Fubm90CiAgICMgcmVseSBvbiB0aGlzIHN5bWJvbCBuYW1lLCBpdCdzIHByb2JhYmx5IGZpbmUgdG8gbmV2ZXIgaW5jbHVkZSBpdCBpbgogICAjIHByZWxvYWRlZCBzeW1ib2wgdGFibGVzLgorICAjIEV4Y2x1ZGUgc2hhcmVkIGxpYnJhcnkgaW5pdGlhbGl6YXRpb24vZmluYWxpemF0aW9uIHN5bWJvbHMuCiAgIGV4dHJhY3RfZXhwc3ltc19jbWRzPQogCiAgIGNhc2UgJGhvc3Rfb3MgaW4KLSAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqKQorICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgICAgIyBGSVhNRTogdGhlIE1TVkMrKyBwb3J0IGhhc24ndCBiZWVuIHRlc3RlZCBpbiBhIGxvb29vbmcgdGltZQogICAgICMgV2hlbiBub3QgdXNpbmcgZ2NjLCB3ZSBjdXJyZW50bHkgYXNzdW1lIHRoYXQgd2UgYXJlIHVzaW5nCiAgICAgIyBNaWNyb3NvZnQgVmlzdWFsIEMrKy4KQEAgLTc4NzcsMTkgKzg5MjksMTggQEAKICAgICAgIDs7CiAKICAgICBhbWlnYW9zKikKLSAgICAgIGlmIHRlc3QgIiRob3N0X2NwdSIgPSBtNjhrOyB0aGVuCi0gICAgICAgIGFyY2hpdmVfY21kcz0nJFJNICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgTkFNRSAkbGlibmFtZSIgPiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIExJQlJBUllfSUQgMSIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBWRVJTSU9OICRtYWpvciIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBSRVZJU0lPTiAkcmV2aXNpb24iID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEFSICRBUl9GTEFHUyAkbGliICRsaWJvYmpzfiRSQU5MSUIgJGxpYn4oY2QgJG91dHB1dF9vYmpkaXIgJiYgYTJpeGxpYnJhcnkgLTMyKScKLSAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLUwkbGliZGlyJwotICAgICAgICBoYXJkY29kZV9taW51c19MPXllcwotICAgICAgZmkKLQotICAgICAgIyBTYW11ZWwgQS4gRmFsdm8gSUkgPGtjNXRqYUBkb2xwaGluLm9wZW5wcm9qZWN0cy5uZXQ+IHJlcG9ydHMKLSAgICAgICMgdGhhdCB0aGUgc2VtYW50aWNzIG9mIGR5bmFtaWMgbGlicmFyaWVzIG9uIEFtaWdhT1MsIGF0IGxlYXN0IHVwCi0gICAgICAjIHRvIHZlcnNpb24gNCwgaXMgdG8gc2hhcmUgZGF0YSBhbW9uZyBtdWx0aXBsZSBwcm9ncmFtcyBsaW5rZWQKLSAgICAgICMgd2l0aCB0aGUgc2FtZSBkeW5hbWljIGxpYnJhcnkuICBTaW5jZSB0aGlzIGRvZXNuJ3QgbWF0Y2ggdGhlCi0gICAgICAjIGJlaGF2aW9yIG9mIHNoYXJlZCBsaWJyYXJpZXMgb24gb3RoZXIgcGxhdGZvcm1zLCB3ZSBjYW4ndCB1c2UKLSAgICAgICMgdGhlbS4KLSAgICAgIGxkX3NobGlicz1ubworICAgICAgY2FzZSAkaG9zdF9jcHUgaW4KKyAgICAgIHBvd2VycGMpCisgICAgICAgICAgICAjIHNlZSBjb21tZW50IGFib3V0IEFtaWdhT1M0IC5zbyBzdXBwb3J0CisgICAgICAgICAgICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1zb25hbWUgJHdsJHNvbmFtZSAtbyAkbGliJworICAgICAgICAgICAgYXJjaGl2ZV9leHBzeW1fY21kcz0nJworICAgICAgICA7OworICAgICAgbTY4aykKKyAgICAgICAgICAgIGFyY2hpdmVfY21kcz0nJFJNICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgTkFNRSAkbGlibmFtZSIgPiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIExJQlJBUllfSUQgMSIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBWRVJTSU9OICRtYWpvciIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBSRVZJU0lPTiAkcmV2aXNpb24iID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEFSICRBUl9GTEFHUyAkbGliICRsaWJvYmpzfiRSQU5MSUIgJGxpYn4oY2QgJG91dHB1dF9vYmpkaXIgJiYgYTJpeGxpYnJhcnkgLTMyKScKKyAgICAgICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1MJGxpYmRpcicKKyAgICAgICAgICAgIGhhcmRjb2RlX21pbnVzX0w9eWVzCisgICAgICAgIDs7CisgICAgICBlc2FjCiAgICAgICA7OwogCiAgICAgYmVvcyopCkBAIC03OTAzLDcgKzg5NTQsNyBAQAogICAgICAgZmkKICAgICAgIDs7CiAKLSAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiopCisgICAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgICAgIyBfTFRfVEFHVkFSKGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMsICkgaXMgYWN0dWFsbHkgbWVhbmluZ2xlc3MsCiAgICAgICAjIGFzIHRoZXJlIGlzIG5vIHNlYXJjaCBwYXRoIGZvciBETExzLgogICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLUwkbGliZGlyJwpAQCAtNzk1NCw2ICs5MDA1LDcgQEAKIAkgJiYgdGVzdCAiJHRtcF9kaWV0IiA9IG5vCiAgICAgICB0aGVuCiAJdG1wX2FkZGZsYWc9CisJdG1wX3NoYXJlZGZsYWc9Jy1zaGFyZWQnCiAJY2FzZSAkY2NfYmFzZW5hbWUsJGhvc3RfY3B1IGluCiAgICAgICAgIHBnY2MqKQkJCQkjIFBvcnRsYW5kIEdyb3VwIEMgY29tcGlsZXIKIAkgIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjPScke3dsfS0td2hvbGUtYXJjaGl2ZWBmb3IgY29udiBpbiAkY29udmVuaWVuY2VcIlwiOyBkbyB0ZXN0ICAtbiBcIiRjb252XCIgJiYgbmV3X2NvbnZlbmllbmNlPVwiJG5ld19jb252ZW5pZW5jZSwkY29udlwiOyBkb25lOyAkRUNITyBcIiRuZXdfY29udmVuaWVuY2VcImAgJHt3bH0tLW5vLXdob2xlLWFyY2hpdmUnCkBAIC03OTY4LDYgKzkwMjAsMTIgQEAKIAkgIHRtcF9hZGRmbGFnPScgLWlfZHluYW1pYyAtbm9mb3JfbWFpbicgOzsKIAlpZmMqIHwgaWZvcnQqKQkJCSMgSW50ZWwgRm9ydHJhbiBjb21waWxlcgogCSAgdG1wX2FkZGZsYWc9JyAtbm9mb3JfbWFpbicgOzsKKwlsZjk1KikJCQkJIyBMYWhleSBGb3J0cmFuIDguMQorCSAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9CisJICB0bXBfc2hhcmVkZmxhZz0nLS1zaGFyZWQnIDs7CisJeGxbY0NdKikJCQkjIElCTSBYTCBDIDguMCBvbiBQUEMgKGRlYWwgd2l0aCB4bGYgYmVsb3cpCisJICB0bXBfc2hhcmVkZmxhZz0nLXFta3Nocm9iaicKKwkgIHRtcF9hZGRmbGFnPSA7OwogCWVzYWMKIAljYXNlIGAkQ0MgLVYgMj4mMSB8IHNlZCA1cWAgaW4KIAkqU3VuXCBDKikJCQkjIFN1biBDIDUuOQpAQCAtNzk3Niw4ICs5MDM0LDYgQEAKIAkgIHRtcF9zaGFyZWRmbGFnPSctRycgOzsKIAkqU3VuXCBGKikJCQkjIFN1biBGb3J0cmFuIDguMwogCSAgdG1wX3NoYXJlZGZsYWc9Jy1HJyA7OwotCSopCi0JICB0bXBfc2hhcmVkZmxhZz0nLXNoYXJlZCcgOzsKIAllc2FjCiAJYXJjaGl2ZV9jbWRzPSckQ0MgJyIkdG1wX3NoYXJlZGZsYWciIiR0bXBfYWRkZmxhZyInICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1zb25hbWUgJHdsJHNvbmFtZSAtbyAkbGliJwogCkBAIC03OTg3LDYgKzkwNDMsMjIgQEAKIAkgICAgZWNobyAibG9jYWw6ICo7IH07IiA+PiAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXJ+CiAJICAgICRDQyAnIiR0bXBfc2hhcmVkZmxhZyIiJHRtcF9hZGRmbGFnIicgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAkd2wkc29uYW1lICR7d2x9LXZlcnNpb24tc2NyaXB0ICR7d2x9JG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyIC1vICRsaWInCiAgICAgICAgIGZpCisKKwljYXNlICRjY19iYXNlbmFtZSBpbgorCXhsZiopCisJICAjIElCTSBYTCBGb3J0cmFuIDEwLjEgb24gUFBDIGNhbm5vdCBjcmVhdGUgc2hhcmVkIGxpYnMgaXRzZWxmCisJICB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0nLS13aG9sZS1hcmNoaXZlJGNvbnZlbmllbmNlIC0tbm8td2hvbGUtYXJjaGl2ZScKKwkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9CisJICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX2xkPSctcnBhdGggJGxpYmRpcicKKwkgIGFyY2hpdmVfY21kcz0nJExEIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSAtbyAkbGliJworCSAgaWYgdGVzdCAieCRzdXBwb3J0c19hbm9uX3ZlcnNpb25pbmciID0geHllczsgdGhlbgorCSAgICBhcmNoaXZlX2V4cHN5bV9jbWRzPSdlY2hvICJ7IGdsb2JhbDoiID4gJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyfgorCSAgICAgIGNhdCAkZXhwb3J0X3N5bWJvbHMgfCBzZWQgLWUgInMvXCguKlwpL1wxOy8iID4+ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlcn4KKwkgICAgICBlY2hvICJsb2NhbDogKjsgfTsiID4+ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlcn4KKwkgICAgICAkTEQgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIC12ZXJzaW9uLXNjcmlwdCAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXIgLW8gJGxpYicKKwkgIGZpCisJICA7OworCWVzYWMKICAgICAgIGVsc2UKICAgICAgICAgbGRfc2hsaWJzPW5vCiAgICAgICBmaQpAQCAtODE4Miw2ICs5MjU0LDcgQEAKIAlmaQogICAgICAgZmkKIAorICAgICAgZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPScke3dsfS1iZXhwYWxsJwogICAgICAgIyBJdCBzZWVtcyB0aGF0IC1iZXhwYWxsIGRvZXMgbm90IGV4cG9ydCBzeW1ib2xzIGJlZ2lubmluZyB3aXRoCiAgICAgICAjIHVuZGVyc2NvcmUgKF8pLCBzbyBpdCBpcyBiZXR0ZXIgdG8gZ2VuZXJhdGUgYSBsaXN0IG9mIHN5bWJvbHMgdG8gZXhwb3J0LgogICAgICAgYWx3YXlzX2V4cG9ydF9zeW1ib2xzPXllcwpAQCAtODMzNCwyMCArOTQwNywyNSBAQAogICAgICAgOzsKIAogICAgIGFtaWdhb3MqKQotICAgICAgaWYgdGVzdCAiJGhvc3RfY3B1IiA9IG02OGs7IHRoZW4KLSAgICAgICAgYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBOQU1FICRsaWJuYW1lIiA+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgTElCUkFSWV9JRCAxIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFZFUlNJT04gJG1ham9yIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFJFVklTSU9OICRyZXZpc2lvbiIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kQVIgJEFSX0ZMQUdTICRsaWIgJGxpYm9ianN+JFJBTkxJQiAkbGlifihjZCAkb3V0cHV0X29iamRpciAmJiBhMml4bGlicmFyeSAtMzIpJwotICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCi0gICAgICAgIGhhcmRjb2RlX21pbnVzX0w9eWVzCi0gICAgICBmaQotICAgICAgIyBzZWUgY29tbWVudCBhYm91dCBkaWZmZXJlbnQgc2VtYW50aWNzIG9uIHRoZSBHTlUgbGQgc2VjdGlvbgotICAgICAgbGRfc2hsaWJzPW5vCisgICAgICBjYXNlICRob3N0X2NwdSBpbgorICAgICAgcG93ZXJwYykKKyAgICAgICAgICAgICMgc2VlIGNvbW1lbnQgYWJvdXQgQW1pZ2FPUzQgLnNvIHN1cHBvcnQKKyAgICAgICAgICAgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAkd2wkc29uYW1lIC1vICRsaWInCisgICAgICAgICAgICBhcmNoaXZlX2V4cHN5bV9jbWRzPScnCisgICAgICAgIDs7CisgICAgICBtNjhrKQorICAgICAgICAgICAgYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBOQU1FICRsaWJuYW1lIiA+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgTElCUkFSWV9JRCAxIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFZFUlNJT04gJG1ham9yIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFJFVklTSU9OICRyZXZpc2lvbiIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kQVIgJEFSX0ZMQUdTICRsaWIgJGxpYm9ianN+JFJBTkxJQiAkbGlifihjZCAkb3V0cHV0X29iamRpciAmJiBhMml4bGlicmFyeSAtMzIpJworICAgICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLUwkbGliZGlyJworICAgICAgICAgICAgaGFyZGNvZGVfbWludXNfTD15ZXMKKyAgICAgICAgOzsKKyAgICAgIGVzYWMKICAgICAgIDs7CiAKICAgICBic2RpWzQ1XSopCiAgICAgICBleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9LXJkeW5hbWljCiAgICAgICA7OwogCi0gICAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqKQorICAgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgICAgICMgV2hlbiBub3QgdXNpbmcgZ2NjLCB3ZSBjdXJyZW50bHkgYXNzdW1lIHRoYXQgd2UgYXJlIHVzaW5nCiAgICAgICAjIE1pY3Jvc29mdCBWaXN1YWwgQysrLgogICAgICAgIyBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIGlzIGFjdHVhbGx5IG1lYW5pbmdsZXNzLCBhcyB0aGVyZSBpcwpAQCAtODM2OSw3MyArOTQ0NywzMCBAQAogICAgICAgOzsKIAogICAgIGRhcndpbiogfCByaGFwc29keSopCi0gICAgICBjYXNlICRob3N0X29zIGluCi0gICAgICByaGFwc29keSogfCBkYXJ3aW4xLlswMTJdKQotCWFsbG93X3VuZGVmaW5lZF9mbGFnPScke3dsfS11bmRlZmluZWQgJHt3bH1zdXBwcmVzcycKLQk7OwotICAgICAgKikgIyBEYXJ3aW4gMS4zIG9uCi0JY2FzZSAke01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVC0xMC4wfSBpbgotCTEwLlswMTJdKQotCSAgYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyR7d2x9LWZsYXRfbmFtZXNwYWNlICR7d2x9LXVuZGVmaW5lZCAke3dsfXN1cHByZXNzJwotCSAgOzsKLQkxMC4qKQotCSAgYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyR7d2x9LXVuZGVmaW5lZCAke3dsfWR5bmFtaWNfbG9va3VwJwotCSAgOzsKLQllc2FjCi0JOzsKLSAgICAgIGVzYWMKLSAgICAgIGFyY2hpdmVfY21kc19uZWVkX2xjPW5vCi0gICAgICBoYXJkY29kZV9kaXJlY3Q9bm8KLSAgICAgIGhhcmRjb2RlX2F1dG9tYXRpYz15ZXMKLSAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9dW5zdXBwb3J0ZWQKLSAgICAgIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjPScnCi0gICAgICBsaW5rX2FsbF9kZXBsaWJzPXllcwotICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXMgOyB0aGVuCi0JaWYgdGVzdCAiJHtsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kK3NldH0iID0gc2V0OyB0aGVuCi0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2Ci1lbHNlCi0gIGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Q9bm8KLQlpZiB0ZXN0IC16ICIke0xUX01VTFRJX01PRFVMRX0iOyB0aGVuCi0JICAjIEJ5IGRlZmF1bHQgd2Ugd2lsbCBhZGQgdGhlIC1zaW5nbGVfbW9kdWxlIGZsYWcuIFlvdSBjYW4gb3ZlcnJpZGUKLQkgICMgYnkgZWl0aGVyIHNldHRpbmcgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIExUX01VTFRJX01PRFVMRQotCSAgIyBub24tZW1wdHkgYXQgY29uZmlndXJlIHRpbWUsIG9yIGJ5IGFkZGluZyAtbXVsdGktbW9kdWxlIHRvIHRoZQotCSAgIyBsaW5rIGZsYWdzLgotCSAgZWNobyAiaW50IGZvbyh2b2lkKXtyZXR1cm4gMTt9IiA+IGNvbmZ0ZXN0LmMKLQkgICRMVENDICRMVENGTEFHUyAkTERGTEFHUyAtbyBsaWJjb25mdGVzdC5keWxpYiBcCi0JICAgICAgLWR5bmFtaWNsaWIgJHt3bH0tc2luZ2xlX21vZHVsZSBjb25mdGVzdC5jCi0JICBpZiB0ZXN0IC1mIGxpYmNvbmZ0ZXN0LmR5bGliOyB0aGVuCi0JICAgICAgbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZD15ZXMKLQkgICAgICBybSBsaWJjb25mdGVzdC5keWxpYgotCSAgZmkKLQkgIHJtIGNvbmZ0ZXN0LiRhY19leHQKLQlmaQotZmkKIAotCW91dHB1dF92ZXJib3NlX2xpbmtfY21kPWVjaG8KLQlpZiB0ZXN0ICJYJGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2QiID0gWHllcyA7IHRoZW4KLQkgIGFyY2hpdmVfY21kcz0nJENDIC1keW5hbWljbGliICRzaW5nbGVfbW9kdWxlICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lICRycGF0aC8kc29uYW1lICR2ZXJzdHJpbmcnCi0JICBhcmNoaXZlX2V4cHN5bV9jbWRzPSdzZWQgInMsXixfLCIgPCAkZXhwb3J0X3N5bWJvbHMgPiAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltfiRDQyAkc2luZ2xlX21vZHVsZSAtZHluYW1pY2xpYiAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSAkcnBhdGgvJHNvbmFtZSAkdmVyc3RyaW5nfm5tZWRpdCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKLQllbHNlCi0JICBhcmNoaXZlX2NtZHM9JyRDQyAtZHluYW1pY2xpYiAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSAkcnBhdGgvJHNvbmFtZSAkdmVyc3RyaW5nJwotCSAgYXJjaGl2ZV9leHBzeW1fY21kcz0nc2VkICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgLWR5bmFtaWNsaWIgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgJHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZ35ubWVkaXQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCi0JZmkKLQltb2R1bGVfY21kcz0nJENDICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliIC1idW5kbGUgJGxpYm9ianMgJGRlcGxpYnMkY29tcGlsZXJfZmxhZ3MnCi0JbW9kdWxlX2V4cHN5bV9jbWRzPSdzZWQgLWUgInMsXixfLCIgPCAkZXhwb3J0X3N5bWJvbHMgPiAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltfiRDQyAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgIC1vICRsaWIgLWJ1bmRsZSAkbGlib2JqcyAkZGVwbGlicyRjb21waWxlcl9mbGFnc35ubWVkaXQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCi0gICAgICBlbHNlCi0JY2FzZSAkY2NfYmFzZW5hbWUgaW4KLQl4bGMqKQotCSAgb3V0cHV0X3ZlcmJvc2VfbGlua19jbWQ9ZWNobwotCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXFta3Nocm9iaiAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0taW5zdGFsbF9uYW1lICR7d2x9YCRFQ0hPICRycGF0aC8kc29uYW1lYCAkdmVyc3RyaW5nJwotCSAgbW9kdWxlX2NtZHM9JyRDQyAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAtYnVuZGxlICRsaWJvYmpzICRkZXBsaWJzJGNvbXBpbGVyX2ZsYWdzJwotCSAgIyBEb24ndCBmaXggdGhpcyBieSB1c2luZyB0aGUgbGQgLWV4cG9ydGVkX3N5bWJvbHNfbGlzdCBmbGFnLCBpdCBkb2Vzbid0IGV4aXN0IGluIG9sZGVyIGRhcndpbiBsZHMKLQkgIGFyY2hpdmVfZXhwc3ltX2NtZHM9J3NlZCAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDIC1xbWtzaHJvYmogJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LWluc3RhbGxfbmFtZSAke3dsfSRycGF0aC8kc29uYW1lICR2ZXJzdHJpbmd+bm1lZGl0IC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JwotCSAgbW9kdWxlX2V4cHN5bV9jbWRzPSdzZWQgInMsXixfLCIgPCAkZXhwb3J0X3N5bWJvbHMgPiAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltfiRDQyAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgIC1vICRsaWIgLWJ1bmRsZSAkbGlib2JqcyAkZGVwbGlicyRjb21waWxlcl9mbGFnc35ubWVkaXQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCi0JICA7OwotCSopCi0JICBsZF9zaGxpYnM9bm8KLQkgIDs7Ci0JZXNhYwotICAgICAgZmkKKworICBhcmNoaXZlX2NtZHNfbmVlZF9sYz1ubworICBoYXJkY29kZV9kaXJlY3Q9bm8KKyAgaGFyZGNvZGVfYXV0b21hdGljPXllcworICBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPXVuc3VwcG9ydGVkCisgIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjPScnCisgIGxpbmtfYWxsX2RlcGxpYnM9eWVzCisgIGFsbG93X3VuZGVmaW5lZF9mbGFnPSIkX2x0X2Rhcl9hbGxvd191bmRlZmluZWQiCisgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCisgICAgIGlmb3J0KikgX2x0X2Rhcl9jYW5fc2hhcmVkPXllcyA7OworICAgICAqKSBfbHRfZGFyX2Nhbl9zaGFyZWQ9JEdDQyA7OworICBlc2FjCisgIGlmIHRlc3QgIiRfbHRfZGFyX2Nhbl9zaGFyZWQiID0gInllcyI7IHRoZW4KKyAgICBvdXRwdXRfdmVyYm9zZV9saW5rX2NtZD1lY2hvCisgICAgYXJjaGl2ZV9jbWRzPSJcJENDIC1keW5hbWljbGliIFwkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gXCRsaWIgXCRsaWJvYmpzIFwkZGVwbGlicyBcJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgXCRycGF0aC9cJHNvbmFtZSBcJHZlcnN0cmluZyAkX2x0X2Rhcl9zaW5nbGVfbW9kJHtfbHRfZHN5bXV0aWx9IgorICAgIG1vZHVsZV9jbWRzPSJcJENDIFwkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gXCRsaWIgLWJ1bmRsZSBcJGxpYm9ianMgXCRkZXBsaWJzIFwkY29tcGlsZXJfZmxhZ3Mke19sdF9kc3ltdXRpbH0iCisgICAgYXJjaGl2ZV9leHBzeW1fY21kcz0ic2VkICdzLF4sXywnIDwgXCRleHBvcnRfc3ltYm9scyA+IFwkb3V0cHV0X29iamRpci9cJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX5cJENDIC1keW5hbWljbGliIFwkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gXCRsaWIgXCRsaWJvYmpzIFwkZGVwbGlicyBcJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgXCRycGF0aC9cJHNvbmFtZSBcJHZlcnN0cmluZyAke19sdF9kYXJfc2luZ2xlX21vZH0ke19sdF9kYXJfZXhwb3J0X3N5bXN9JHtfbHRfZHN5bXV0aWx9IgorICAgIG1vZHVsZV9leHBzeW1fY21kcz0ic2VkIC1lICdzLF4sXywnIDwgXCRleHBvcnRfc3ltYm9scyA+IFwkb3V0cHV0X29iamRpci9cJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX5cJENDIFwkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gXCRsaWIgLWJ1bmRsZSBcJGxpYm9ianMgXCRkZXBsaWJzIFwkY29tcGlsZXJfZmxhZ3Mke19sdF9kYXJfZXhwb3J0X3N5bXN9JHtfbHRfZHN5bXV0aWx9IgorCisgIGVsc2UKKyAgbGRfc2hsaWJzPW5vCisgIGZpCisKICAgICAgIDs7CiAKICAgICBkZ3V4KikKQEAgLTg1MTcsNyArOTU1Miw3IEBACiAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogCSAgOzsKIAlpYTY0KikKLQkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJHt3bH0raCAke3dsfSRzb25hbWUgJHt3bH0rbm9kZWZhdWx0cnBhdGggLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCisJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkIC1mUElDICR7d2x9K2ggJHt3bH0kc29uYW1lICR7d2x9K25vZGVmYXVsdHJwYXRoIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogCSAgOzsKIAkqKQogCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAtZlBJQyAke3dsfStoICR7d2x9JHNvbmFtZSAke3dsfStiICR7d2x9JGluc3RhbGxfbGliZGlyIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwpAQCAtODYzNSwyNSArOTY3MCwyOSBAQAogICAgICAgOzsKIAogICAgIG9wZW5ic2QqKQotICAgICAgaGFyZGNvZGVfZGlyZWN0PXllcwotICAgICAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj1ubwotICAgICAgaGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlPXllcwotICAgICAgaWYgdGVzdCAteiAiYGVjaG8gX19FTEZfXyB8ICRDQyAtRSAtIHwgJEdSRVAgX19FTEZfX2AiIHx8IHRlc3QgIiRob3N0X29zLSRob3N0X2NwdSIgPSAib3BlbmJzZDIuOC1wb3dlcnBjIjsgdGhlbgotCWFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJHBpY19mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwotCWFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1yZXRhaW4tc3ltYm9scy1maWxlLCRleHBvcnRfc3ltYm9scycKLQloYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ycGF0aCwkbGliZGlyJwotCWV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYz0nJHt3bH0tRScKLSAgICAgIGVsc2UKLSAgICAgICAgY2FzZSAkaG9zdF9vcyBpbgotCW9wZW5ic2RbMDFdLiogfCBvcGVuYnNkMi5bMC03XSB8IG9wZW5ic2QyLlswLTddLiopCi0JICBhcmNoaXZlX2NtZHM9JyRMRCAtQnNoYXJlYWJsZSAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3MnCi0JICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCi0JICA7OwotCSopCisgICAgICBpZiB0ZXN0IC1mIC91c3IvbGliZXhlYy9sZC5zbzsgdGhlbgorCWhhcmRjb2RlX2RpcmVjdD15ZXMKKwloYXJkY29kZV9zaGxpYnBhdGhfdmFyPW5vCisJaGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlPXllcworCWlmIHRlc3QgLXogImBlY2hvIF9fRUxGX18gfCAkQ0MgLUUgLSB8ICRHUkVQIF9fRUxGX19gIiB8fCB0ZXN0ICIkaG9zdF9vcy0kaG9zdF9jcHUiID0gIm9wZW5ic2QyLjgtcG93ZXJwYyI7IHRoZW4KIAkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJHBpY19mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJworCSAgYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1zaGFyZWQgJHBpY19mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXJldGFpbi1zeW1ib2xzLWZpbGUsJGV4cG9ydF9zeW1ib2xzJwogCSAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tcnBhdGgsJGxpYmRpcicKLQkgIDs7Ci0gICAgICAgIGVzYWMKKwkgIGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYz0nJHt3bH0tRScKKwllbHNlCisJICBjYXNlICRob3N0X29zIGluCisJICAgb3BlbmJzZFswMV0uKiB8IG9wZW5ic2QyLlswLTddIHwgb3BlbmJzZDIuWzAtN10uKikKKwkgICAgIGFyY2hpdmVfY21kcz0nJExEIC1Cc2hhcmVhYmxlIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKKwkgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1SJGxpYmRpcicKKwkgICAgIDs7CisJICAgKikKKwkgICAgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJHBpY19mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJworCSAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tcnBhdGgsJGxpYmRpcicKKwkgICAgIDs7CisJICBlc2FjCisJZmkKKyAgICAgIGVsc2UKKwlsZF9zaGxpYnM9bm8KICAgICAgIGZpCiAgICAgICA7OwogCkBAIC05MDkyLDggKzEwMTMxLDggQEAKIAogICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzIiA+JjUKIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzLi4uICRFQ0hPX0MiID4mNgotd2l0aEdDQz0kR0NDCi1pZiB0ZXN0ICIkd2l0aEdDQyIgPSB5ZXM7IHRoZW4KKworaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAgY2FzZSAkaG9zdF9vcyBpbgogICAgIGRhcndpbiopIGx0X2F3a19hcmc9Ii9ebGlicmFyaWVzOi8sL0xSLyIgOzsKICAgICAqKSBsdF9hd2tfYXJnPSIvXmxpYnJhcmllczovIiA7OwpAQCAtOTIxOSwxMyArMTAyNTgsMTggQEAKICAgOzsKIAogYW1pZ2FvcyopCi0gIGlmIHRlc3QgIiRob3N0X2NwdSIgPSBtNjhrOyB0aGVuCisgIGNhc2UgJGhvc3RfY3B1IGluCisgIHBvd2VycGMpCisgICAgIyBTaW5jZSBKdWx5IDIwMDcgQW1pZ2FPUzQgb2ZmaWNpYWxseSBzdXBwb3J0cyAuc28gbGlicmFyaWVzLgorICAgICMgV2hlbiBjb21waWxpbmcgdGhlIGV4ZWN1dGFibGUsIGFkZCAtdXNlLWR5bmxkIC1Mc29ianM6IHRvIHRoZSBjb21waWxlbGluZS4KKyAgICBsaWJyYXJ5X25hbWVzX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSR2ZXJzdWZmaXggJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JG1ham9yICRsaWJuYW1lJHtzaGFyZWRfZXh0fScKKyAgICA7OworICBtNjhrKQogICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJGxpYm5hbWUuaXhsaWJyYXJ5ICRsaWJuYW1lLmEnCiAgICAgIyBDcmVhdGUgJHtsaWJuYW1lfV9peGxpYnJhcnkuYSBlbnRyaWVzIGluIC9zeXMvbGlicy4KICAgICBmaW5pc2hfZXZhbD0nZm9yIGxpYiBpbiBgbHMgJGxpYmRpci8qLml4bGlicmFyeSAyPi9kZXYvbnVsbGA7IGRvIGxpYm5hbWU9YCRFQ0hPICJYJGxpYiIgfCAkWHNlZCAtZSAnXCcncyVeLiovXChbXi9dKlwpXC5peGxpYnJhcnkkJVwxJSdcJydgOyB0ZXN0ICRSTSAvc3lzL2xpYnMvJHtsaWJuYW1lfV9peGxpYnJhcnkuYTsgJHNob3cgImNkIC9zeXMvbGlicyAmJiAkTE5fUyAkbGliICR7bGlibmFtZX1faXhsaWJyYXJ5LmEiOyBjZCAvc3lzL2xpYnMgJiYgJExOX1MgJGxpYiAke2xpYm5hbWV9X2l4bGlicmFyeS5hIHx8IGV4aXQgMTsgZG9uZScKLSAgZWxzZQotICAgIGR5bmFtaWNfbGlua2VyPW5vCi0gIGZpCisgICAgOzsKKyAgZXNhYwogICA7OwogCiBiZW9zKikKQEAgLTkyNDgsMTQgKzEwMjkyLDE0IEBACiAgICMgbGlidG9vbCB0byBoYXJkLWNvZGUgdGhlc2UgaW50byBwcm9ncmFtcwogICA7OwogCi1jeWd3aW4qIHwgbWluZ3cqIHwgcHczMiopCitjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgIHZlcnNpb25fdHlwZT13aW5kb3dzCiAgIHNocmV4dF9jbWRzPSIuZGxsIgogICBuZWVkX3ZlcnNpb249bm8KICAgbmVlZF9saWJfcHJlZml4PW5vCiAKLSAgY2FzZSAkd2l0aEdDQywkaG9zdF9vcyBpbgotICB5ZXMsY3lnd2luKiB8IHllcyxtaW5ndyogfCB5ZXMscHczMiopCisgIGNhc2UgJEdDQywkaG9zdF9vcyBpbgorICB5ZXMsY3lnd2luKiB8IHllcyxtaW5ndyogfCB5ZXMscHczMiogfCB5ZXMsY2VnY2MqKQogICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJGxpYm5hbWUuZGxsLmEnCiAgICAgIyBETEwgaXMgaW5zdGFsbGVkIHRvICQobGliZGlyKS8uLi9iaW4gYnkgcG9zdGluc3RhbGxfY21kcwogICAgIHBvc3RpbnN0YWxsX2NtZHM9J2Jhc2VfZmlsZT1gYmFzZW5hbWUgXCR7ZmlsZX1gfgpAQCAtOTI3OCw3ICsxMDMyMiw3IEBACiAgICAgICBzb25hbWVfc3BlYz0nYGVjaG8gJHtsaWJuYW1lfSB8IHNlZCAtZSAncy9ebGliL2N5Zy8nYGBlY2hvICR7cmVsZWFzZX0gfCAkU0VEIC1lICdzL1suXS8tL2cnYCR7dmVyc3VmZml4fSR7c2hhcmVkX2V4dH0nCiAgICAgICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9Ii91c3IvbGliIC9saWIvdzMyYXBpIC9saWIgL3Vzci9sb2NhbC9saWIiCiAgICAgICA7OwotICAgIG1pbmd3KikKKyAgICBtaW5ndyogfCBjZWdjYyopCiAgICAgICAjIE1pbkdXIERMTHMgdXNlIHRyYWRpdGlvbmFsICdsaWInIHByZWZpeAogICAgICAgc29uYW1lX3NwZWM9JyR7bGlibmFtZX1gZWNobyAke3JlbGVhc2V9IHwgJFNFRCAtZSAncy9bLl0vLS9nJ2Ake3ZlcnN1ZmZpeH0ke3NoYXJlZF9leHR9JwogICAgICAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPWAkQ0MgLXByaW50LXNlYXJjaC1kaXJzIHwgJEdSRVAgIl5saWJyYXJpZXM6IiB8ICRTRUQgLWUgInMvXmxpYnJhcmllczovLyIgLWUgInMsPS8sLyxnImAKQEAgLTk1NDQsNyArMTA1ODgsNyBAQAogICBhY19zdGF0dXM9JD8KICAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQogICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgotICBpZiAgKCRPQkpEVU1QIC1wIGNvbmZ0ZXN0JGFjX2V4ZWV4dCkgMj4vZGV2L251bGwgfCBncmVwICJSVU5QQVRILiokbGliZGlyIjsgdGhlbgorICBpZiAgKCRPQkpEVU1QIC1wIGNvbmZ0ZXN0JGFjX2V4ZWV4dCkgMj4vZGV2L251bGwgfCBncmVwICJSVU5QQVRILiokbGliZGlyIiA+L2Rldi9udWxsOyB0aGVuCiAgIHNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aD15ZXMKIGZpCiAKQEAgLTk1NjUsNyArMTA2MDksNyBAQAogCiAgICMgQXBwZW5kIGxkLnNvLmNvbmYgY29udGVudHMgdG8gdGhlIHNlYXJjaCBwYXRoCiAgIGlmIHRlc3QgLWYgL2V0Yy9sZC5zby5jb25mOyB0aGVuCi0gICAgbHRfbGRfZXh0cmE9YGF3ayAnL15pbmNsdWRlIC8geyBzeXN0ZW0oc3ByaW50ZigiY2QgL2V0YzsgY2F0ICVzIDI+L2Rldi9udWxsIiwgXCQyKSk7IHNraXAgPSAxOyB9IHsgaWYgKCFza2lwKSBwcmludCBcJDA7IHNraXAgPSAwOyB9JyA8IC9ldGMvbGQuc28uY29uZiB8ICRTRUQgLWUgJ3MvIy4qLy87cy9bOiwJXS8gL2c7cy89W149XSokLy87cy89W149IF0qIC8gL2c7L14kL2QnIHwgdHIgJ1xuJyAnICdgCisgICAgbHRfbGRfZXh0cmE9YGF3ayAnL15pbmNsdWRlIC8geyBzeXN0ZW0oc3ByaW50ZigiY2QgL2V0YzsgY2F0ICVzIDI+L2Rldi9udWxsIiwgXCQyKSk7IHNraXAgPSAxOyB9IHsgaWYgKCFza2lwKSBwcmludCBcJDA7IHNraXAgPSAwOyB9JyA8IC9ldGMvbGQuc28uY29uZiB8ICRTRUQgLWUgJ3MvIy4qLy87L15bCSBdKmh3Y2FwWwkgXS9kO3MvWzosCV0vIC9nO3MvPVtePV0qJC8vO3MvPVtePSBdKiAvIC9nOy9eJC9kJyB8IHRyICdcbicgJyAnYAogICAgIHN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjPSIvbGliIC91c3IvbGliICRsdF9sZF9leHRyYSIKICAgZmkKIApAQCAtOTc0OSw3ICsxMDc5Myw3IEBACiAgIHZlcnNpb25fdHlwZT1saW51eAogICBuZWVkX2xpYl9wcmVmaXg9bm8KICAgbmVlZF92ZXJzaW9uPW5vCi0gIGxpYnJhcnlfbmFtZV9zcGVjPScke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kdmVyc3VmZml4ICR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSRtYWpvciAkbGlibmFtZSR7c2hhcmVkX2V4dH0nCisgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JHZlcnN1ZmZpeCAke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kbWFqb3IgJGxpYm5hbWUke3NoYXJlZF9leHR9JwogICBzaGxpYnBhdGhfdmFyPUxEX0xJQlJBUllfUEFUSAogICBzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9bm8KICAgaGFyZGNvZGVfaW50b19saWJzPXllcwpAQCAtOTc3NSw2ICsxMDgxOSwxMyBAQAogICB2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluaz0iJHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rIEdDQ19FWEVDX1BSRUZJWCBDT01QSUxFUl9QQVRIIExJQlJBUllfUEFUSCIKIGZpCiAKK2lmIHRlc3QgIiR7bHRfY3Zfc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjK3NldH0iID0gc2V0OyB0aGVuCisgIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz0iJGx0X2N2X3N5c19saWJfc2VhcmNoX3BhdGhfc3BlYyIKK2ZpCitpZiB0ZXN0ICIke2x0X2N2X3N5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjK3NldH0iID0gc2V0OyB0aGVuCisgIHN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjPSIkbHRfY3Zfc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWMiCitmaQorCiAKIAogCkBAIC05OTE5LDcgKzEwOTcwLDcgQEAKICAgICBsdF9jdl9kbG9wZW5fc2VsZj15ZXMKICAgICA7OwogCi0gIG1pbmd3KiB8IHB3MzIqKQorICBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgICBsdF9jdl9kbG9wZW49IkxvYWRMaWJyYXJ5IgogICAgIGx0X2N2X2Rsb3Blbl9saWJzPQogICAgIDs7CkBAIC0xMDE2Niw3ICsxMTIxNyw3IEBACiBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfbGliX2RsZF9zaGxfbG9hZCIgPiY1CiBlY2hvICIke0VDSE9fVH0kYWNfY3ZfbGliX2RsZF9zaGxfbG9hZCIgPiY2CiBpZiB0ZXN0ICRhY19jdl9saWJfZGxkX3NobF9sb2FkID0geWVzOyB0aGVuCi0gIGx0X2N2X2Rsb3Blbj0ic2hsX2xvYWQiIGx0X2N2X2Rsb3Blbl9saWJzPSItZGxkIgorICBsdF9jdl9kbG9wZW49InNobF9sb2FkIiBsdF9jdl9kbG9wZW5fbGlicz0iLWxkbGQiCiBlbHNlCiAgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgZGxvcGVuIiA+JjUKIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIGRsb3Blbi4uLiAkRUNIT19DIiA+JjYKQEAgLTEwNDYwLDcgKzExNTExLDcgQEAKIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9saWJfZGxkX2RsZF9saW5rIiA+JjUKIGVjaG8gIiR7RUNIT19UfSRhY19jdl9saWJfZGxkX2RsZF9saW5rIiA+JjYKIGlmIHRlc3QgJGFjX2N2X2xpYl9kbGRfZGxkX2xpbmsgPSB5ZXM7IHRoZW4KLSAgbHRfY3ZfZGxvcGVuPSJkbGRfbGluayIgbHRfY3ZfZGxvcGVuX2xpYnM9Ii1kbGQiCisgIGx0X2N2X2Rsb3Blbj0iZGxkX2xpbmsiIGx0X2N2X2Rsb3Blbl9saWJzPSItbGRsZCIKIGZpCiAKIApAQCAtMTA1MDksNyArMTE1NjAsNyBAQAogICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCiAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3duCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0jbGluZSAxMDUxMiAiY29uZmlndXJlIgorI2xpbmUgMTE1NjMgImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5oIgogCiAjaWYgSEFWRV9ETEZDTl9ICkBAIC0xMDU1MCwxMCArMTE2MDEsNiBAQAogIyAgZW5kaWYKICNlbmRpZgogCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIgdm9pZCBleGl0IChpbnQpOwotI2VuZGlmCi0KIHZvaWQgZm5vcmQoKSB7IGludCBpPTQyO30KIGludCBtYWluICgpCiB7CkBAIC0xMDU2OSw3ICsxMTYxNiw3IEBACiAgIGVsc2UKICAgICBwdXRzIChkbGVycm9yICgpKTsKIAotICAgIGV4aXQgKHN0YXR1cyk7CisgIHJldHVybiBzdGF0dXM7CiB9CiBfTFRfRU9GCiAgIGlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2xpbmtcIiIpID4mNQpAQCAtMTA2MDksNyArMTE2NTYsNyBAQAogICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCiAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3duCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0jbGluZSAxMDYxMiAiY29uZmlndXJlIgorI2xpbmUgMTE2NTkgImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5oIgogCiAjaWYgSEFWRV9ETEZDTl9ICkBAIC0xMDY1MCwxMCArMTE2OTcsNiBAQAogIyAgZW5kaWYKICNlbmRpZgogCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIgdm9pZCBleGl0IChpbnQpOwotI2VuZGlmCi0KIHZvaWQgZm5vcmQoKSB7IGludCBpPTQyO30KIGludCBtYWluICgpCiB7CkBAIC0xMDY2OSw3ICsxMTcxMiw3IEBACiAgIGVsc2UKICAgICBwdXRzIChkbGVycm9yICgpKTsKIAotICAgIGV4aXQgKHN0YXR1cyk7CisgIHJldHVybiBzdGF0dXM7CiB9CiBfTFRfRU9GCiAgIGlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2xpbmtcIiIpID4mNQpAQCAtMTA4NDEsNyArMTE4ODQsNyBAQAogCiAKIAotQUxMX0xJTkdVQVM9ImZyIHN2IHRyIGVzIGRhIHZpIHpoX0NOIHpoX1RXIGdhIGZpIgorQUxMX0xJTkdVQVM9ImZyIHN2IHRyIGVzIGRhIHZpIHpoX0NOIHpoX1RXIGdhIGZpIGlkIgogIyBJZiB3ZSBoYXZlbid0IGdvdCB0aGUgZGF0YSBmcm9tIHRoZSBpbnRsIGRpcmVjdG9yeSwKICMgYXNzdW1lIE5MUyBpcyBkaXNhYmxlZC4KIFVTRV9OTFM9bm8KQEAgLTE0MDkxLDYgKzE1MTM0LDcgQEAKIGx0X05MMlNQPSdgJEVDSE8gIlgkbHRfTkwyU1AiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIHJlbG9hZF9mbGFnPSdgJEVDSE8gIlgkcmVsb2FkX2ZsYWciIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIHJlbG9hZF9jbWRzPSdgJEVDSE8gIlgkcmVsb2FkX2NtZHMiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKK09CSkRVTVA9J2AkRUNITyAiWCRPQkpEVU1QIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBkZXBsaWJzX2NoZWNrX21ldGhvZD0nYCRFQ0hPICJYJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBmaWxlX21hZ2ljX2NtZD0nYCRFQ0hPICJYJGZpbGVfbWFnaWNfY21kIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBBUj0nYCRFQ0hPICJYJEFSIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0xNDEwNyw2ICsxNTE1MSw3IEBACiBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIlgkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J2AkRUNITyAiWCRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9J2AkRUNITyAiWCRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJworbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0nYCRFQ0hPICJYJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIG9iamRpcj0nYCRFQ0hPICJYJG9iamRpciIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogU0hFTEw9J2AkRUNITyAiWCRTSEVMTCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogRUNITz0nYCRFQ0hPICJYJEVDSE8iIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTE0MTE3LDYgKzE1MTYyLDExIEBACiBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nYCRFQ0hPICJYJGx0X3Byb2dfY29tcGlsZXJfc3RhdGljIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBsdF9jdl9wcm9nX2NvbXBpbGVyX2Nfbz0nYCRFQ0hPICJYJGx0X2N2X3Byb2dfY29tcGlsZXJfY19vIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBuZWVkX2xvY2tzPSdgJEVDSE8gIlgkbmVlZF9sb2NrcyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJworRFNZTVVUSUw9J2AkRUNITyAiWCREU1lNVVRJTCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJworTk1FRElUPSdgJEVDSE8gIlgkTk1FRElUIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitMSVBPPSdgJEVDSE8gIlgkTElQTyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJworT1RPT0w9J2AkRUNITyAiWCRPVE9PTCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJworT1RPT0w2ND0nYCRFQ0hPICJYJE9UT09MNjQiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIGxpYmV4dD0nYCRFQ0hPICJYJGxpYmV4dCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogc2hyZXh0X2NtZHM9J2AkRUNITyAiWCRzaHJleHRfY21kcyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogZXh0cmFjdF9leHBzeW1zX2NtZHM9J2AkRUNITyAiWCRleHRyYWN0X2V4cHN5bXNfY21kcyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMTQxOTAsNiArMTUyNDAsNyBAQAogbHRfU1AyTkwgXAogbHRfTkwyU1AgXAogcmVsb2FkX2ZsYWcgXAorT0JKRFVNUCBcCiBkZXBsaWJzX2NoZWNrX21ldGhvZCBcCiBmaWxlX21hZ2ljX2NtZCBcCiBBUiBcCkBAIC0xNDIwMiw2ICsxNTI1Myw3IEBACiBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIFwKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIFwKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIFwKK2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXggXAogU0hFTEwgXAogRUNITyBcCiBsdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZyBcCkBAIC0xNDIxMCw2ICsxNTI2MiwxMSBAQAogbHRfcHJvZ19jb21waWxlcl9zdGF0aWMgXAogbHRfY3ZfcHJvZ19jb21waWxlcl9jX28gXAogbmVlZF9sb2NrcyBcCitEU1lNVVRJTCBcCitOTUVESVQgXAorTElQTyBcCitPVE9PTCBcCitPVE9PTDY0IFwKIHNocmV4dF9jbWRzIFwKIGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYyBcCiB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYyBcCkBAIC0xNDQ2OSwxMSArMTU1MjYsMjMgQEAKIHMsQGFjX2N0X0RVTVBCSU5ALCRhY19jdF9EVU1QQklOLDt0IHQKIHMsQE5NQCwkTk0sO3QgdAogcyxATE5fU0AsJExOX1MsO3QgdAorcyxAT0JKRFVNUEAsJE9CSkRVTVAsO3QgdAorcyxAYWNfY3RfT0JKRFVNUEAsJGFjX2N0X09CSkRVTVAsO3QgdAogcyxAQVJALCRBUiw7dCB0CiBzLEBhY19jdF9BUkAsJGFjX2N0X0FSLDt0IHQKIHMsQFJBTkxJQkAsJFJBTkxJQiw7dCB0CiBzLEBhY19jdF9SQU5MSUJALCRhY19jdF9SQU5MSUIsO3QgdAogcyxAbHRfRUNIT0AsJGx0X0VDSE8sO3QgdAorcyxARFNZTVVUSUxALCREU1lNVVRJTCw7dCB0CitzLEBhY19jdF9EU1lNVVRJTEAsJGFjX2N0X0RTWU1VVElMLDt0IHQKK3MsQE5NRURJVEAsJE5NRURJVCw7dCB0CitzLEBhY19jdF9OTUVESVRALCRhY19jdF9OTUVESVQsO3QgdAorcyxATElQT0AsJExJUE8sO3QgdAorcyxAYWNfY3RfTElQT0AsJGFjX2N0X0xJUE8sO3QgdAorcyxAT1RPT0xALCRPVE9PTCw7dCB0CitzLEBhY19jdF9PVE9PTEAsJGFjX2N0X09UT09MLDt0IHQKK3MsQE9UT09MNjRALCRPVE9PTDY0LDt0IHQKK3MsQGFjX2N0X09UT09MNjRALCRhY19jdF9PVE9PTDY0LDt0IHQKIHMsQFVTRV9OTFNALCRVU0VfTkxTLDt0IHQKIHMsQExJQklOVExALCRMSUJJTlRMLDt0IHQKIHMsQExJQklOVExfREVQQCwkTElCSU5UTF9ERVAsO3QgdApAQCAtMTUyMTQsMzYgKzE2MjgzLDM2IEBACiAjISAkU0hFTEwKIAogIyBgJEVDSE8gIiRvZmlsZSIgfCBzZWQgJ3MlXi4qLyUlJ2AgLSBQcm92aWRlIGdlbmVyYWxpemVkIGxpYnJhcnktYnVpbGRpbmcgc3VwcG9ydCBzZXJ2aWNlcy4KLSMgR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgJGFzX21lIChHTlUgJFBBQ0tBR0UkVElNRVNUQU1QKSAkVkVSU0lPTgorIyBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSAkYXNfbWUgKCRQQUNLQUdFJFRJTUVTVEFNUCkgJFZFUlNJT04KICMgTGlidG9vbCB3YXMgY29uZmlndXJlZCBvbiBob3N0IGAoaG9zdG5hbWUgfHwgdW5hbWUgLW4pIDI+L2Rldi9udWxsIHwgc2VkIDFxYDoKICMgTk9URTogQ2hhbmdlcyBtYWRlIHRvIHRoaXMgZmlsZSB3aWxsIGJlIGxvc3Q6IGxvb2sgYXQgbHRtYWluLnNoLgogIwotIyBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsCi0jIDIwMDYsIDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjICAgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAzLCAyMDA0LCAyMDA1LAorIyAgICAgICAgICAgICAgICAgMjAwNiwgMjAwNywgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgICBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdrZWl0LCAxOTk2CiAjCi0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBMaWJ0b29sOgotIyBPcmlnaW5hbGx5IGJ5IEdvcmRvbiBNYXR6aWdrZWl0IDxnb3JkQGdudS5haS5taXQuZWR1PiwgMTk5NgorIyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBMaWJ0b29sLgogIwotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIyBHTlUgTGlidG9vbCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyMgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAjCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKLSMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjIEFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLAorIyBpZiB5b3UgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0gb3IgbGlicmFyeSB0aGF0CisjIGlzIGJ1aWx0IHVzaW5nIEdOVSBMaWJ0b29sLCB5b3UgbWF5IGluY2x1ZGUgdGhpcyBmaWxlIHVuZGVyIHRoZQorIyBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KKyMKKyMgR05VIExpYnRvb2wgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogIwogIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCBhIGNvcHkgY2FuIGJlIGRvd25sb2FkZWQgZnJvbQotIyBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bWwsIG9yIGJ5IHdyaXRpbmcgdG8gdGhlIEZyZWUKLSMgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAotIyBNQSAwMjExMC0xMzAxLCBVU0EuCi0jCi0jIEFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBpZiB5b3UKLSMgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0gdGhhdCBjb250YWlucyBhCi0jIGNvbmZpZ3VyYXRpb24gc2NyaXB0IGdlbmVyYXRlZCBieSBBdXRvY29uZiwgeW91IG1heSBpbmNsdWRlIGl0IHVuZGVyCi0jIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KKyMgYWxvbmcgd2l0aCBHTlUgTGlidG9vbDsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIGEgY29weQorIyBjYW4gYmUgZG93bmxvYWRlZCBmcm9tIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbCwgb3IKKyMgb2J0YWluZWQgYnkgd3JpdGluZyB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorIyA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KIAogCiAjIFRoZSBuYW1lcyBvZiB0aGUgdGFnZ2VkIGNvbmZpZ3VyYXRpb25zIHN1cHBvcnRlZCBieSB0aGlzIHNjcmlwdC4KQEAgLTE1MzIwLDYgKzE2Mzg5LDkgQEAKIHJlbG9hZF9mbGFnPSRsdF9yZWxvYWRfZmxhZwogcmVsb2FkX2NtZHM9JGx0X3JlbG9hZF9jbWRzCiAKKyMgQW4gb2JqZWN0IHN5bWJvbCBkdW1wZXIuCitPQkpEVU1QPSRsdF9PQkpEVU1QCisKICMgTWV0aG9kIHRvIGNoZWNrIHdoZXRoZXIgZGVwZW5kZW50IGxpYnJhcmllcyBhcmUgc2hhcmVkIG9iamVjdHMuCiBkZXBsaWJzX2NoZWNrX21ldGhvZD0kbHRfZGVwbGlic19jaGVja19tZXRob2QKIApAQCAtMTUzNTMsNiArMTY0MjUsOSBAQAogIyBUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIuCiBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcwogCisjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgorZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4CisKICMgVGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHRlbXBvcmFyeSBsaWJ0b29sIGZpbGVzLgogb2JqZGlyPSRvYmpkaXIKIApAQCAtMTUzNjgsNiArMTY0NDMsMjEgQEAKICMgTXVzdCB3ZSBsb2NrIGZpbGVzIHdoZW4gZG9pbmcgY29tcGlsYXRpb24/CiBuZWVkX2xvY2tzPSRsdF9uZWVkX2xvY2tzCiAKKyMgVG9vbCB0byBtYW5pcHVsYXRlIGFyY2hpdmVkIERXQVJGIGRlYnVnIHN5bWJvbCBmaWxlcyBvbiBNYWMgT1MgWC4KK0RTWU1VVElMPSRsdF9EU1lNVVRJTAorCisjIFRvb2wgdG8gY2hhbmdlIGdsb2JhbCB0byBsb2NhbCBzeW1ib2xzIG9uIE1hYyBPUyBYLgorTk1FRElUPSRsdF9OTUVESVQKKworIyBUb29sIHRvIG1hbmlwdWxhdGUgZmF0IG9iamVjdHMgYW5kIGFyY2hpdmVzIG9uIE1hYyBPUyBYLgorTElQTz0kbHRfTElQTworCisjIGxkZC9yZWFkZWxmIGxpa2UgdG9vbCBmb3IgTWFjaC1PIGJpbmFyaWVzIG9uIE1hYyBPUyBYLgorT1RPT0w9JGx0X09UT09MCisKKyMgbGRkL3JlYWRlbGYgbGlrZSB0b29sIGZvciA2NCBiaXQgTWFjaC1PIGJpbmFyaWVzIG9uIE1hYyBPUyBYIDEwLjQuCitPVE9PTDY0PSRsdF9PVE9PTDY0CisKICMgT2xkIGFyY2hpdmUgc3VmZml4IChub3JtYWxseSAiYSIpLgogbGliZXh0PSRsaWJleHQKIApAQCAtMTU2MDgsNiArMTY2OTgsNyBAQAogICBjYXNlICR4c2lfc2hlbGwgaW4KICAgeWVzKQogICAgIGNhdCA8PCBcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCisKICMgZnVuY19kaXJuYW1lIGZpbGUgYXBwZW5kIG5vbmRpcl9yZXBsYWNlbWVudAogIyBDb21wdXRlIHRoZSBkaXJuYW1lIG9mIEZJTEUuICBJZiBub25lbXB0eSwgYWRkIEFQUEVORCB0byB0aGUgcmVzdWx0LAogIyBvdGhlcndpc2Ugc2V0IHJlc3VsdCB0byBOT05ESVJfUkVQTEFDRU1FTlQuCkBAIC0xNTYyNSw2ICsxNjcxNiwyNyBAQAogICBmdW5jX2Jhc2VuYW1lX3Jlc3VsdD0iJHsxIyMqL30iCiB9CiAKKyMgZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSBmaWxlIGFwcGVuZCBub25kaXJfcmVwbGFjZW1lbnQKKyMgcGVyZm9ybSBmdW5jX2Jhc2VuYW1lIGFuZCBmdW5jX2Rpcm5hbWUgaW4gYSBzaW5nbGUgZnVuY3Rpb24KKyMgY2FsbDoKKyMgICBkaXJuYW1lOiAgQ29tcHV0ZSB0aGUgZGlybmFtZSBvZiBGSUxFLiAgSWYgbm9uZW1wdHksCisjICAgICAgICAgICAgIGFkZCBBUFBFTkQgdG8gdGhlIHJlc3VsdCwgb3RoZXJ3aXNlIHNldCByZXN1bHQKKyMgICAgICAgICAgICAgdG8gTk9ORElSX1JFUExBQ0VNRU5ULgorIyAgICAgICAgICAgICB2YWx1ZSByZXR1cm5lZCBpbiAiJGZ1bmNfZGlybmFtZV9yZXN1bHQiCisjICAgYmFzZW5hbWU6IENvbXB1dGUgZmlsZW5hbWUgb2YgRklMRS4KKyMgICAgICAgICAgICAgdmFsdWUgcmV0dW5lZCBpbiAiJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgorIyBJbXBsZW1lbnRhdGlvbiBtdXN0IGJlIGtlcHQgc3luY2hyb25pemVkIHdpdGggZnVuY19kaXJuYW1lCisjIGFuZCBmdW5jX2Jhc2VuYW1lLiBGb3IgZWZmaWNpZW5jeSwgd2UgZG8gbm90IGRlbGVnYXRlIHRvCisjIHRob3NlIGZ1bmN0aW9ucyBidXQgaW5zdGVhZCBkdXBsaWNhdGUgdGhlIGZ1bmN0aW9uYWxpdHkgaGVyZS4KK2Z1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgKCkKK3sKKyAgY2FzZSAkezF9IGluCisgICAgKi8qKSBmdW5jX2Rpcm5hbWVfcmVzdWx0PSIkezElLyp9JHsyfSIgOzsKKyAgICAqICApIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7M30iIDs7CisgIGVzYWMKKyAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9IiR7MSMjKi99IgorfQorCiAjIGZ1bmNfc3RyaXBuYW1lIHByZWZpeCBzdWZmaXggbmFtZQogIyBzdHJpcCBQUkVGSVggYW5kIFNVRkZJWCBvZmYgb2YgTkFNRS4KICMgUFJFRklYIGFuZCBTVUZGSVggbXVzdCBub3QgY29udGFpbiBnbG9iYmluZyBvciByZWdleCBzcGVjaWFsCkBAIC0xNTY1NCwxMCArMTY3NjYsMzEgQEAKICAgICAqKSAgICBmdW5jX2xvMm9fcmVzdWx0PSR7MX0gOzsKICAgZXNhYwogfQorCisjIGZ1bmNfeGZvcm0gbGlib2JqLW9yLXNvdXJjZQorZnVuY194Zm9ybSAoKQoreworICBmdW5jX3hmb3JtX3Jlc3VsdD0kezElLip9LmxvCit9CisKKyMgZnVuY19hcml0aCBhcml0aG1ldGljLXRlcm0uLi4KK2Z1bmNfYXJpdGggKCkKK3sKKyAgZnVuY19hcml0aF9yZXN1bHQ9JCgoICQqICkpCit9CisKKyMgZnVuY19sZW4gc3RyaW5nCisjIFNUUklORyBtYXkgbm90IHN0YXJ0IHdpdGggYSBoeXBoZW4uCitmdW5jX2xlbiAoKQoreworICBmdW5jX2xlbl9yZXN1bHQ9JHsjMX0KK30KKwogX0xUX0VPRgogICAgIDs7CiAgICopICMgQm91cm5lIGNvbXBhdGlibGUgZnVuY3Rpb25zLgogICAgIGNhdCA8PCBcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCisKICMgZnVuY19kaXJuYW1lIGZpbGUgYXBwZW5kIG5vbmRpcl9yZXBsYWNlbWVudAogIyBDb21wdXRlIHRoZSBkaXJuYW1lIG9mIEZJTEUuICBJZiBub25lbXB0eSwgYWRkIEFQUEVORCB0byB0aGUgcmVzdWx0LAogIyBvdGhlcndpc2Ugc2V0IHJlc3VsdCB0byBOT05ESVJfUkVQTEFDRU1FTlQuCkBAIC0xNTY3OCw2ICsxNjgxMSw3IEBACiAgIGZ1bmNfYmFzZW5hbWVfcmVzdWx0PWAkRUNITyAiWCR7MX0iIHwgJFhzZWQgLWUgIiRiYXNlbmFtZSJgCiB9CiAKKwogIyBmdW5jX3N0cmlwbmFtZSBwcmVmaXggc3VmZml4IG5hbWUKICMgc3RyaXAgUFJFRklYIGFuZCBTVUZGSVggb2ZmIG9mIE5BTUUuCiAjIFBSRUZJWCBhbmQgU1VGRklYIG11c3Qgbm90IGNvbnRhaW4gZ2xvYmJpbmcgb3IgcmVnZXggc3BlY2lhbApAQCAtMTU3MTAsNiArMTY4NDQsMjYgQEAKIHsKICAgZnVuY19sbzJvX3Jlc3VsdD1gJEVDSE8gIlgkezF9IiB8ICRYc2VkIC1lICIkbG8ybyJgCiB9CisKKyMgZnVuY194Zm9ybSBsaWJvYmotb3Itc291cmNlCitmdW5jX3hmb3JtICgpCit7CisgIGZ1bmNfeGZvcm1fcmVzdWx0PWAkRUNITyAiWCR7MX0iIHwgJFhzZWQgLWUgJ3MvXC5bXi5dKiQvLmxvLydgCit9CisKKyMgZnVuY19hcml0aCBhcml0aG1ldGljLXRlcm0uLi4KK2Z1bmNfYXJpdGggKCkKK3sKKyAgZnVuY19hcml0aF9yZXN1bHQ9YGV4cHIgIiRAImAKK30KKworIyBmdW5jX2xlbiBzdHJpbmcKKyMgU1RSSU5HIG1heSBub3Qgc3RhcnQgd2l0aCBhIGh5cGhlbi4KK2Z1bmNfbGVuICgpCit7CisgIGZ1bmNfbGVuX3Jlc3VsdD1gZXhwciAiJDEiIDogIi4qIiAyPi9kZXYvbnVsbCB8fCBlY2hvICRtYXhfY21kX2xlbmAKK30KKwogX0xUX0VPRgogZXNhYwogCkBAIC0xNTczNCw2ICsxNjg4OCw3IEBACiB7CiAgIGV2YWwgIiQxPVwkJDFcJDIiCiB9CisKIF9MVF9FT0YKICAgICA7OwogICBlc2FjCmRpZmYgLS1naXQgYS9sZC9jb25maWd1cmUuaW4gYi9sZC9jb25maWd1cmUuaW4KaW5kZXggOGVjNTM0Zi4uZDQ2NmUzZCAxMDA2NDQKLS0tIGEvbGQvY29uZmlndXJlLmluCisrKyBiL2xkL2NvbmZpZ3VyZS5pbgpAQCAtMTA5LDExICsxMDksMTIgQEAKIEFDX1BST0dfQ0MKIEFDX0dOVV9TT1VSQ0UKIEFDX1VTRV9TWVNURU1fRVhURU5TSU9OUworQUNfU1lTX0xBUkdFRklMRQogQUNfUFJPR19JTlNUQUxMCiAKIExUX0lOSVQKIAotQUxMX0xJTkdVQVM9ImZyIHN2IHRyIGVzIGRhIHZpIHpoX0NOIHpoX1RXIGdhIGZpIgorQUxMX0xJTkdVQVM9ImZyIHN2IHRyIGVzIGRhIHZpIHpoX0NOIHpoX1RXIGdhIGZpIGlkIgogWldfR05VX0dFVFRFWFRfU0lTVEVSX0RJUgogQU1fUE9fU1VCRElSUwogCmRpZmYgLS1naXQgYS9sZC9lbXVscGFyYW1zL2FyY2VsZi5zaCBiL2xkL2VtdWxwYXJhbXMvYXJjZWxmLnNoCmluZGV4IDMxZGI0YTkuLmNkMzM0ZDYgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvYXJjZWxmLnNoCisrKyBiL2xkL2VtdWxwYXJhbXMvYXJjZWxmLnNoCkBAIC00LDYgKzQsNyBAQAogT1VUUFVUX0ZPUk1BVD0iZWxmMzItbGl0dGxlYXJjIgogTElUVExFX09VVFBVVF9GT1JNQVQ9ImVsZjMyLWxpdHRsZWFyYyIKIEJJR19PVVRQVVRfRk9STUFUPSJlbGYzMi1iaWdhcmMiCitOT19SRUxBX1JFTE9DUz15ZXMKIFRFWFRfU1RBUlRfQUREUj0weDAKIE1BWFBBR0VTSVpFPSJDT05TVEFOVCAoTUFYUEFHRVNJWkUpIgogQVJDSD1hcmMKZGlmZiAtLWdpdCBhL2xkL2VtdWxwYXJhbXMvY3Jpc2VsZi5zaCBiL2xkL2VtdWxwYXJhbXMvY3Jpc2VsZi5zaAppbmRleCAxZDM3NGFlLi5mNzA5YTFiIDEwMDY0NAotLS0gYS9sZC9lbXVscGFyYW1zL2NyaXNlbGYuc2gKKysrIGIvbGQvZW11bHBhcmFtcy9jcmlzZWxmLnNoCkBAIC01LDYgKzUsNyBAQAogCiAjIFN5bWJvbHMgaGF2ZSB1bmRlcnNjb3JlIHByZXBlbmRlZC4KIE9VVFBVVF9GT1JNQVQ9ImVsZjMyLXVzLWNyaXMiCitOT19SRUxfUkVMT0NTPXllcwogQVJDSD1jcmlzCiBNQVhQQUdFU0laRT0zMgogRU5UUlk9X19zdGFydApkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9jcmlzbGludXguc2ggYi9sZC9lbXVscGFyYW1zL2NyaXNsaW51eC5zaAppbmRleCBlNDEwMjRjLi44YTFhNWI4IDEwMDY0NAotLS0gYS9sZC9lbXVscGFyYW1zL2NyaXNsaW51eC5zaAorKysgYi9sZC9lbXVscGFyYW1zL2NyaXNsaW51eC5zaApAQCAtMiw2ICsyLDcgQEAKIE1BQ0hJTkU9CiBTQ1JJUFRfTkFNRT1lbGYKIE9VVFBVVF9GT1JNQVQ9ImVsZjMyLWNyaXMiCitOT19SRUxfUkVMT0NTPXllcwogQVJDSD1jcmlzCiBURU1QTEFURV9OQU1FPWVsZjMyCiAKZGlmZiAtLWdpdCBhL2xkL2VtdWxwYXJhbXMvZWxmMzJfaTg2MC5zaCBiL2xkL2VtdWxwYXJhbXMvZWxmMzJfaTg2MC5zaAppbmRleCA1ODkwNjdmLi40ODJlM2QxIDEwMDY0NAotLS0gYS9sZC9lbXVscGFyYW1zL2VsZjMyX2k4NjAuc2gKKysrIGIvbGQvZW11bHBhcmFtcy9lbGYzMl9pODYwLnNoCkBAIC01LDYgKzUsNyBAQAogT1VUUFVUX0ZPUk1BVD0iZWxmMzItaTg2MC1saXR0bGUiCiBCSUdfT1VUUFVUX0ZPUk1BVD0iZWxmMzItaTg2MCIKIExJVFRMRV9PVVRQVVRfRk9STUFUPSJlbGYzMi1pODYwLWxpdHRsZSIKK05PX1JFTF9SRUxPQ1M9eWVzCiBURVhUX1NUQVJUX0FERFI9MAogUEFHRV9TSVpFPTB4MTAwMAogTUFYUEFHRVNJWkU9IkNPTlNUQU5UIChNQVhQQUdFU0laRSkiCmRpZmYgLS1naXQgYS9sZC9lbXVscGFyYW1zL2VsZjMyX2k5NjAuc2ggYi9sZC9lbXVscGFyYW1zL2VsZjMyX2k5NjAuc2gKaW5kZXggMWVmNzI5Mi4uZGQwNWE4ZiAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9lbGYzMl9pOTYwLnNoCisrKyBiL2xkL2VtdWxwYXJhbXMvZWxmMzJfaTk2MC5zaApAQCAtMSw2ICsxLDggQEAKIFNDUklQVF9OQU1FPWVsZgotVEVNUExBVEVfTkFNRT1lbGYzMgorVEVNUExBVEVfTkFNRT1nZW5lcmljCitFWFRSQV9FTV9GSUxFPWdlbmVsZgogT1VUUFVUX0ZPUk1BVD0iZWxmMzItaTk2MCIKK05PX1JFTEFfUkVMT0NTPXllcwogQVJDSD1pOTYwCiBNQUNISU5FPQogVEVYVF9TVEFSVF9BRERSPTAKZGlmZiAtLWdpdCBhL2xkL2VtdWxwYXJhbXMvZWxmMzJfc3BhcmMuc2ggYi9sZC9lbXVscGFyYW1zL2VsZjMyX3NwYXJjLnNoCmluZGV4IDNkYjZkODguLmFlZjgxM2UgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvZWxmMzJfc3BhcmMuc2gKKysrIGIvbGQvZW11bHBhcmFtcy9lbGYzMl9zcGFyYy5zaApAQCAtMyw2ICszLDcgQEAKIAogU0NSSVBUX05BTUU9ZWxmCiBPVVRQVVRfRk9STUFUPSJlbGYzMi1zcGFyYyIKK05PX1JFTF9SRUxPQ1M9eWVzCiBURVhUX1NUQVJUX0FERFI9MHgxMDAwMAogTUFYUEFHRVNJWkU9IkNPTlNUQU5UIChNQVhQQUdFU0laRSkiCiBDT01NT05QQUdFU0laRT0iQ09OU1RBTlQgKENPTU1PTlBBR0VTSVpFKSIKZGlmZiAtLWdpdCBhL2xkL2VtdWxwYXJhbXMvZWxmMzJfc3B1LnNoIGIvbGQvZW11bHBhcmFtcy9lbGYzMl9zcHUuc2gKaW5kZXggODI0OGQ1ZC4uMWVkNThjMyAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9lbGYzMl9zcHUuc2gKKysrIGIvbGQvZW11bHBhcmFtcy9lbGYzMl9zcHUuc2gKQEAgLTIsNiArMiw3IEBACiBURU1QTEFURV9OQU1FPWVsZjMyCiBFWFRSQV9FTV9GSUxFPXNwdWVsZgogT1VUUFVUX0ZPUk1BVD0iZWxmMzItc3B1IgorTk9fUkVMX1JFTE9DUz15ZXMKIEFSQ0g9c3B1CiBNQUNISU5FPQogQUxJR05NRU5UPTE2CmRpZmYgLS1naXQgYS9sZC9lbXVscGFyYW1zL2VsZjMyYW0zM2xpbi5zaCBiL2xkL2VtdWxwYXJhbXMvZWxmMzJhbTMzbGluLnNoCmluZGV4IDJmOGI5NjIuLmIzNGQyYjggMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvZWxmMzJhbTMzbGluLnNoCisrKyBiL2xkL2VtdWxwYXJhbXMvZWxmMzJhbTMzbGluLnNoCkBAIC0xLDUgKzEsNiBAQAogU0NSSVBUX05BTUU9ZWxmCiBPVVRQVVRfRk9STUFUPSJlbGYzMi1hbTMzbGluIgorTk9fUkVMX1JFTE9DUz15ZXMKIFRFWFRfU1RBUlRfQUREUj0weDgwMDAwMDAKIE1BWFBBR0VTSVpFPSJDT05TVEFOVCAoTUFYUEFHRVNJWkUpIgogQVJDSD1tbjEwMzAwCmRpZmYgLS1naXQgYS9sZC9lbXVscGFyYW1zL2VsZjMyZnIzMC5zaCBiL2xkL2VtdWxwYXJhbXMvZWxmMzJmcjMwLnNoCmluZGV4IGQwNzgxNTUuLjE3NjRhMzIgMTAwNzU1Ci0tLSBhL2xkL2VtdWxwYXJhbXMvZWxmMzJmcjMwLnNoCisrKyBiL2xkL2VtdWxwYXJhbXMvZWxmMzJmcjMwLnNoCkBAIC0zLDYgKzMsNyBAQAogVEVNUExBVEVfTkFNRT1nZW5lcmljCiBFWFRSQV9FTV9GSUxFPWdlbmVsZgogT1VUUFVUX0ZPUk1BVD0iZWxmMzItZnIzMCIKK05PX1JFTF9SRUxPQ1M9eWVzCiBURVhUX1NUQVJUX0FERFI9MHgxMDAwMAogQVJDSD1mcjMwCiBNQVhQQUdFU0laRT0yNTYKZGlmZiAtLWdpdCBhL2xkL2VtdWxwYXJhbXMvZWxmMzJpcDJrLnNoIGIvbGQvZW11bHBhcmFtcy9lbGYzMmlwMmsuc2gKaW5kZXggMTdmYjdhYi4uMGRiMjI3ZiAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9lbGYzMmlwMmsuc2gKKysrIGIvbGQvZW11bHBhcmFtcy9lbGYzMmlwMmsuc2gKQEAgLTIsNiArMiw3IEBACiBNQUNISU5FPQogU0NSSVBUX05BTUU9ZWxmCiBPVVRQVVRfRk9STUFUPSJlbGYzMi1pcDJrIgorTk9fUkVMX1JFTE9DUz15ZXMKICMgU2VlIGFsc28gYGluY2x1ZGUvZWxmL2lwMmsuaCcKIERBVEFfQUREUj0weDAxMDAwMTAwCiBURVhUX1NUQVJUX0FERFI9MHgwMjAxMDAwMApkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9lbGYzMm1jb3JlLnNoIGIvbGQvZW11bHBhcmFtcy9lbGYzMm1jb3JlLnNoCmluZGV4IDMxZDY1ZGMuLjYwNDc5NTAgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvZWxmMzJtY29yZS5zaAorKysgYi9sZC9lbXVscGFyYW1zL2VsZjMybWNvcmUuc2gKQEAgLTIsNiArMiw3IEBACiBPVVRQVVRfRk9STUFUPSJlbGYzMi1tY29yZS1saXR0bGUiCiBCSUdfT1VUUFVUX0ZPUk1BVD0iZWxmMzItbWNvcmUtYmlnIgogTElUVExFX09VVFBVVF9GT1JNQVQ9ImVsZjMyLW1jb3JlLWxpdHRsZSIKK05PX1JFTF9SRUxPQ1M9eWVzCiBQQUdFX1NJWkU9MHgxMDAwCiBUQVJHRVRfUEFHRV9TSVpFPTB4NDAwCiBNQVhQQUdFU0laRT0iQ09OU1RBTlQgKE1BWFBBR0VTSVpFKSIKZGlmZiAtLWdpdCBhL2xkL2VtdWxwYXJhbXMvZWxmMzJvcGVucmlzYy5zaCBiL2xkL2VtdWxwYXJhbXMvZWxmMzJvcGVucmlzYy5zaAppbmRleCA1M2U4OGRkLi5iYmU5YTNlIDEwMDc1NQotLS0gYS9sZC9lbXVscGFyYW1zL2VsZjMyb3BlbnJpc2Muc2gKKysrIGIvbGQvZW11bHBhcmFtcy9lbGYzMm9wZW5yaXNjLnNoCkBAIC0xLDYgKzEsNyBAQAogTUFDSElORT0KIFNDUklQVF9OQU1FPWVsZgogT1VUUFVUX0ZPUk1BVD0iZWxmMzItb3BlbnJpc2MiCitOT19SRUxBX1JFTE9DUz15ZXMKIFRFWFRfU1RBUlRfQUREUj0weDEwMDAwCiBBUkNIPW9wZW5yaXNjCiBNQVhQQUdFU0laRT0iQ09OU1RBTlQgKE1BWFBBR0VTSVpFKSIKZGlmZiAtLWdpdCBhL2xkL2VtdWxwYXJhbXMvZWxmMzJwcGNjb21tb24uc2ggYi9sZC9lbXVscGFyYW1zL2VsZjMycHBjY29tbW9uLnNoCmluZGV4IDFhMTI4OTAuLjE1Y2IzYjEgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvZWxmMzJwcGNjb21tb24uc2gKKysrIGIvbGQvZW11bHBhcmFtcy9lbGYzMnBwY2NvbW1vbi5zaApAQCAtNSw2ICs1LDcgQEAKIEdFTkVSQVRFX1BJRV9TQ1JJUFQ9eWVzCiBTQ1JJUFRfTkFNRT1lbGYKIE9VVFBVVF9GT1JNQVQ9ImVsZjMyLXBvd2VycGMiCitOT19SRUxfUkVMT0NTPXllcwogVEVYVF9TVEFSVF9BRERSPTB4MDE4MDAwMDAKIE1BWFBBR0VTSVpFPSJDT05TVEFOVCAoTUFYUEFHRVNJWkUpIgogQ09NTU9OUEFHRVNJWkU9IkNPTlNUQU5UIChDT01NT05QQUdFU0laRSkiCmRpZmYgLS1naXQgYS9sZC9lbXVscGFyYW1zL2VsZjMycHBjd2luZGlzcy5zaCBiL2xkL2VtdWxwYXJhbXMvZWxmMzJwcGN3aW5kaXNzLnNoCmluZGV4IGQyMTdkZTkuLmI0MGQ3ODIgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvZWxmMzJwcGN3aW5kaXNzLnNoCisrKyBiL2xkL2VtdWxwYXJhbXMvZWxmMzJwcGN3aW5kaXNzLnNoCkBAIC0xLDYgKzEsNyBAQAogVEVNUExBVEVfTkFNRT1lbGYzMgogU0NSSVBUX05BTUU9ZWxmCiBPVVRQVVRfRk9STUFUPSJlbGYzMi1wb3dlcnBjIgorTk9fUkVMX1JFTE9DUz15ZXMKIEFSQ0g9cG93ZXJwYwogTUFDSElORT0KIEVNQkVEREVEPXllcwpkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9lbGYzMnZheC5zaCBiL2xkL2VtdWxwYXJhbXMvZWxmMzJ2YXguc2gKaW5kZXggNGM2ZWYzOS4uOWRkYzc1NCAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9lbGYzMnZheC5zaAorKysgYi9sZC9lbXVscGFyYW1zL2VsZjMydmF4LnNoCkBAIC0xLDUgKzEsNiBAQAogU0NSSVBUX05BTUU9ZWxmCiBPVVRQVVRfRk9STUFUPSJlbGYzMi12YXgiCitOT19SRUxfUkVMT0NTPXllcwogVEVYVF9TVEFSVF9BRERSPTB4MTAwMDAKIGNhc2UgJHtMRF9GTEFHfSBpbgogICAgIG58TikJVEVYVF9TVEFSVF9BRERSPTB4MTAwMCA7OwpkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9lbGY2NF9zMzkwLnNoIGIvbGQvZW11bHBhcmFtcy9lbGY2NF9zMzkwLnNoCmluZGV4IGVkZTgzNmMuLmFlOGYyNmUgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvZWxmNjRfczM5MC5zaAorKysgYi9sZC9lbXVscGFyYW1zL2VsZjY0X3MzOTAuc2gKQEAgLTEsNiArMSw3IEBACiBTQ1JJUFRfTkFNRT1lbGYKIEVMRlNJWkU9NjQKIE9VVFBVVF9GT1JNQVQ9ImVsZjY0LXMzOTAiCitOT19SRUxfUkVMT0NTPXllcwogVEVYVF9TVEFSVF9BRERSPTB4ODAwMDAwMDAKIE1BWFBBR0VTSVpFPSJDT05TVEFOVCAoTUFYUEFHRVNJWkUpIgogQ09NTU9OUEFHRVNJWkU9IkNPTlNUQU5UIChDT01NT05QQUdFU0laRSkiCmRpZmYgLS1naXQgYS9sZC9lbXVscGFyYW1zL2VsZjY0X3NwYXJjLnNoIGIvbGQvZW11bHBhcmFtcy9lbGY2NF9zcGFyYy5zaAppbmRleCAwM2NhYjllLi45Mzk3Yjg3IDEwMDY0NAotLS0gYS9sZC9lbXVscGFyYW1zL2VsZjY0X3NwYXJjLnNoCisrKyBiL2xkL2VtdWxwYXJhbXMvZWxmNjRfc3BhcmMuc2gKQEAgLTIsNiArMiw3IEBACiBFTEZTSVpFPTY0CiBURU1QTEFURV9OQU1FPWVsZjMyCiBPVVRQVVRfRk9STUFUPSJlbGY2NC1zcGFyYyIKK05PX1JFTF9SRUxPQ1M9eWVzCiBNQVhQQUdFU0laRT0iQ09OU1RBTlQgKE1BWFBBR0VTSVpFKSIKIENPTU1PTlBBR0VTSVpFPSJDT05TVEFOVCAoQ09NTU9OUEFHRVNJWkUpIgogQVJDSD0ic3BhcmM6djkiCmRpZmYgLS1naXQgYS9sZC9lbXVscGFyYW1zL2VsZjY0YWxwaGEuc2ggYi9sZC9lbXVscGFyYW1zL2VsZjY0YWxwaGEuc2gKaW5kZXggYTQyZTc1ZC4uODJmNTA1ZCAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9lbGY2NGFscGhhLnNoCisrKyBiL2xkL2VtdWxwYXJhbXMvZWxmNjRhbHBoYS5zaApAQCAtNCw2ICs0LDcgQEAKIFRFTVBMQVRFX05BTUU9ZWxmMzIKIEVYVFJBX0VNX0ZJTEU9YWxwaGFlbGYKIE9VVFBVVF9GT1JNQVQ9ImVsZjY0LWFscGhhIgorTk9fUkVMX1JFTE9DUz15ZXMKIFRFWFRfU1RBUlRfQUREUj0iMHgxMjAwMDAwMDAiCiBNQVhQQUdFU0laRT0iQ09OU1RBTlQgKE1BWFBBR0VTSVpFKSIKIENPTU1PTlBBR0VTSVpFPSJDT05TVEFOVCAoQ09NTU9OUEFHRVNJWkUpIgpkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9lbGY2NG1taXguc2ggYi9sZC9lbXVscGFyYW1zL2VsZjY0bW1peC5zaAppbmRleCA3Zjg2N2ZiLi43ODdiNTBkIDEwMDY0NAotLS0gYS9sZC9lbXVscGFyYW1zL2VsZjY0bW1peC5zaAorKysgYi9sZC9lbXVscGFyYW1zL2VsZjY0bW1peC5zaApAQCAtMyw2ICszLDcgQEAKIEVMRlNJWkU9NjQKIFNDUklQVF9OQU1FPWVsZgogT1VUUFVUX0ZPUk1BVD0iZWxmNjQtbW1peCIKK05PX1JFTF9SRUxPQ1M9eWVzCiBFTlRSWT1fc3RhcnQuCiAKICMgRGVmYXVsdCB0byAwIGFzIG1taXhhbCBkb2VzLgpkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9lbGY2NHBwYy5zaCBiL2xkL2VtdWxwYXJhbXMvZWxmNjRwcGMuc2gKaW5kZXggMmZlY2JhOC4uYjk2MzFiNiAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9lbGY2NHBwYy5zaAorKysgYi9sZC9lbXVscGFyYW1zL2VsZjY0cHBjLnNoCkBAIC01LDYgKzUsNyBAQAogR0VORVJBVEVfUElFX1NDUklQVD15ZXMKIFNDUklQVF9OQU1FPWVsZgogT1VUUFVUX0ZPUk1BVD0iZWxmNjQtcG93ZXJwYyIKK05PX1JFTF9SRUxPQ1M9eWVzCiBURVhUX1NUQVJUX0FERFI9MHgxMDAwMDAwMAogI1NFR01FTlRfU0laRT0weDEwMDAwMDAwCiBNQVhQQUdFU0laRT0iQ09OU1RBTlQgKE1BWFBBR0VTSVpFKSIKQEAgLTI4LDcgKzI5LDkgQEAKICAgLnRvYwkJMCA6IHsgKigudG9jKSB9IgogZmkKIE9USEVSX0dPVF9SRUxPQ19TRUNUSU9OUz0iCi0gIC5yZWxhLnRvYwkke1JFTE9DQVRJTkctMH0gOiB7ICooLnJlbGEudG9jKSB9IgorICAucmVsYS50b2MJJHtSRUxPQ0FUSU5HLTB9IDogeyAqKC5yZWxhLnRvYykgfQorICAucmVsYS5vcGQJJHtSRUxPQ0FUSU5HLTB9IDogeyAqKC5yZWxhLm9wZCkgfQorICAucmVsYS5icmFuY2hfbHQJJHtSRUxPQ0FUSU5HLTB9IDogeyAqKC5yZWxhLmJyYW5jaF9sdCkgfSIKIE9USEVSX1JFQURXUklURV9TRUNUSU9OUz0iCiAgIC50b2MxCQkke1JFTE9DQVRJTkctMH0gOiR7UkVMT0NBVElORysgQUxJR04oOCl9IHsgKigudG9jMSkgfQogICAub3BkCQkke1JFTE9DQVRJTkctMH0gOiR7UkVMT0NBVElORysgQUxJR04oOCl9IHsgS0VFUCAoKigub3BkKSkgfQpkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9lbGZfaTM4Ni5zaCBiL2xkL2VtdWxwYXJhbXMvZWxmX2kzODYuc2gKaW5kZXggOTA4NTE1YS4uMDVkMzFhOCAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9lbGZfaTM4Ni5zaAorKysgYi9sZC9lbXVscGFyYW1zL2VsZl9pMzg2LnNoCkBAIC0xLDUgKzEsNiBAQAogU0NSSVBUX05BTUU9ZWxmCiBPVVRQVVRfRk9STUFUPSJlbGYzMi1pMzg2IgorTk9fUkVMQV9SRUxPQ1M9eWVzCiBURVhUX1NUQVJUX0FERFI9MHgwODA0ODAwMAogTUFYUEFHRVNJWkU9IkNPTlNUQU5UIChNQVhQQUdFU0laRSkiCiBDT01NT05QQUdFU0laRT0iQ09OU1RBTlQgKENPTU1PTlBBR0VTSVpFKSIKZGlmZiAtLWdpdCBhL2xkL2VtdWxwYXJhbXMvZWxmX2kzODZfYmUuc2ggYi9sZC9lbXVscGFyYW1zL2VsZl9pMzg2X2JlLnNoCmluZGV4IGI2MTczOGMuLmVmZTFhODYgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvZWxmX2kzODZfYmUuc2gKKysrIGIvbGQvZW11bHBhcmFtcy9lbGZfaTM4Nl9iZS5zaApAQCAtMSw1ICsxLDYgQEAKIFNDUklQVF9OQU1FPWVsZgogT1VUUFVUX0ZPUk1BVD0iZWxmMzItaTM4NiIKK05PX1JFTEFfUkVMT0NTPXllcwogVEVYVF9TVEFSVF9BRERSPTB4ODAwMDAwMDAKIE1BWFBBR0VTSVpFPSJDT05TVEFOVCAoTUFYUEFHRVNJWkUpIgogQVJDSD1pMzg2CmRpZmYgLS1naXQgYS9sZC9lbXVscGFyYW1zL2VsZl9pMzg2X2xkc28uc2ggYi9sZC9lbXVscGFyYW1zL2VsZl9pMzg2X2xkc28uc2gKaW5kZXggYjRhYzk2MC4uNGIwZDNmYiAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9lbGZfaTM4Nl9sZHNvLnNoCisrKyBiL2xkL2VtdWxwYXJhbXMvZWxmX2kzODZfbGRzby5zaApAQCAtMSw1ICsxLDYgQEAKIFNDUklQVF9OQU1FPWVsZgogT1VUUFVUX0ZPUk1BVD0iZWxmMzItaTM4NiIKK05PX1JFTEFfUkVMT0NTPXllcwogVEVYVF9TVEFSVF9BRERSPTB4MDgwNDgwMDAKIE1BWFBBR0VTSVpFPSJDT05TVEFOVCAoTUFYUEFHRVNJWkUpIgogQVJDSD1pMzg2CmRpZmYgLS1naXQgYS9sZC9lbXVscGFyYW1zL2VsZl9pMzg2X3Z4d29ya3Muc2ggYi9sZC9lbXVscGFyYW1zL2VsZl9pMzg2X3Z4d29ya3Muc2gKaW5kZXggOTBhOThiMy4uNjkzMzEyOCAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9lbGZfaTM4Nl92eHdvcmtzLnNoCisrKyBiL2xkL2VtdWxwYXJhbXMvZWxmX2kzODZfdnh3b3Jrcy5zaApAQCAtMSw1ICsxLDYgQEAKIFNDUklQVF9OQU1FPWVsZgogT1VUUFVUX0ZPUk1BVD0iZWxmMzItaTM4Ni12eHdvcmtzIgorTk9fUkVMQV9SRUxPQ1M9eWVzCiBURVhUX1NUQVJUX0FERFI9MHgwODA0ODAwMAogTUFYUEFHRVNJWkU9IkNPTlNUQU5UIChNQVhQQUdFU0laRSkiCiBDT01NT05QQUdFU0laRT0iQ09OU1RBTlQgKENPTU1PTlBBR0VTSVpFKSIKZGlmZiAtLWdpdCBhL2xkL2VtdWxwYXJhbXMvZWxmX3MzOTAuc2ggYi9sZC9lbXVscGFyYW1zL2VsZl9zMzkwLnNoCmluZGV4IGUyNTJlOGUuLjIxODU1OGIgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvZWxmX3MzOTAuc2gKKysrIGIvbGQvZW11bHBhcmFtcy9lbGZfczM5MC5zaApAQCAtMSw1ICsxLDYgQEAKIFNDUklQVF9OQU1FPWVsZgogT1VUUFVUX0ZPUk1BVD0iZWxmMzItczM5MCIKK05PX1JFTF9SRUxPQ1M9eWVzCiBURVhUX1NUQVJUX0FERFI9MHgwMDQwMDAwMAogTUFYUEFHRVNJWkU9IkNPTlNUQU5UIChNQVhQQUdFU0laRSkiCiBDT01NT05QQUdFU0laRT0iQ09OU1RBTlQgKENPTU1PTlBBR0VTSVpFKSIKZGlmZiAtLWdpdCBhL2xkL2VtdWxwYXJhbXMvZWxmX3g4Nl82NC5zaCBiL2xkL2VtdWxwYXJhbXMvZWxmX3g4Nl82NC5zaAppbmRleCBjZGQ0MTE5Li40YjI0NzEwIDEwMDY0NAotLS0gYS9sZC9lbXVscGFyYW1zL2VsZl94ODZfNjQuc2gKKysrIGIvbGQvZW11bHBhcmFtcy9lbGZfeDg2XzY0LnNoCkBAIC0xLDYgKzEsNyBAQAogU0NSSVBUX05BTUU9ZWxmCiBFTEZTSVpFPTY0CiBPVVRQVVRfRk9STUFUPSJlbGY2NC14ODYtNjQiCitOT19SRUxfUkVMT0NTPXllcwogVEVYVF9TVEFSVF9BRERSPTB4NDAwMDAwCiBNQVhQQUdFU0laRT0iQ09OU1RBTlQgKE1BWFBBR0VTSVpFKSIKIENPTU1PTlBBR0VTSVpFPSJDT05TVEFOVCAoQ09NTU9OUEFHRVNJWkUpIgpkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9oODMwMGVsZi5zaCBiL2xkL2VtdWxwYXJhbXMvaDgzMDBlbGYuc2gKaW5kZXggZmI0ZGI0MC4uMzhiOGEzNiAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9oODMwMGVsZi5zaAorKysgYi9sZC9lbXVscGFyYW1zL2g4MzAwZWxmLnNoCkBAIC0zLDYgKzMsNyBAQAogCiBTQ1JJUFRfTkFNRT1lbGYKIE9VVFBVVF9GT1JNQVQ9ImVsZjMyLWg4MzAwIgorTk9fUkVMX1JFTE9DUz15ZXMKIFRFWFRfU1RBUlRfQUREUj0weDEwMAogTUFYUEFHRVNJWkU9MgogVEFSR0VUX1BBR0VfU0laRT0xMjgKZGlmZiAtLWdpdCBhL2xkL2VtdWxwYXJhbXMvaHBwYTY0bGludXguc2ggYi9sZC9lbXVscGFyYW1zL2hwcGE2NGxpbnV4LnNoCmluZGV4IDFhZjhlMzcuLjkyOTM5YmYgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvaHBwYTY0bGludXguc2gKKysrIGIvbGQvZW11bHBhcmFtcy9ocHBhNjRsaW51eC5zaApAQCAtNSw2ICs1LDcgQEAKIEVMRlNJWkU9NjQKICMgRklYTUU6IHRoaXMgb3V0cHV0IGZvcm1hdCBpcyBmb3IgaHB1eC4KIE9VVFBVVF9GT1JNQVQ9ImVsZjY0LWhwcGEtbGludXgiCitOT19SRUxfUkVMT0NTPXllcwogVEVYVF9TVEFSVF9BRERSPTB4MTAwMDAKIFRBUkdFVF9QQUdFX1NJWkU9MHgxMDAwMAogTUFYUEFHRVNJWkU9IkNPTlNUQU5UIChNQVhQQUdFU0laRSkiCmRpZmYgLS1naXQgYS9sZC9lbXVscGFyYW1zL2hwcGFsaW51eC5zaCBiL2xkL2VtdWxwYXJhbXMvaHBwYWxpbnV4LnNoCmluZGV4IDRjNGY5NDMuLjlmYTQ2MTUgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvaHBwYWxpbnV4LnNoCisrKyBiL2xkL2VtdWxwYXJhbXMvaHBwYWxpbnV4LnNoCkBAIC00LDYgKzQsNyBAQAogU0NSSVBUX05BTUU9ZWxmCiBFTEZTSVpFPTMyCiBPVVRQVVRfRk9STUFUPSJlbGYzMi1ocHBhLWxpbnV4IgorTk9fUkVMX1JFTE9DUz15ZXMKIFRFWFRfU1RBUlRfQUREUj0weDEwMDAwCiBUQVJHRVRfUEFHRV9TSVpFPTB4MTAwMDAKIE1BWFBBR0VTSVpFPSJDT05TVEFOVCAoTUFYUEFHRVNJWkUpIgpkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9pMzg2bHlueC5zaCBiL2xkL2VtdWxwYXJhbXMvaTM4Nmx5bnguc2gKaW5kZXggNmQ5ZDlmZS4uOTNhZmIzZCAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9pMzg2bHlueC5zaAorKysgYi9sZC9lbXVscGFyYW1zL2kzODZseW54LnNoCkBAIC0xLDUgKzEsNiBAQAogU0NSSVBUX05BTUU9ZWxmCiBPVVRQVVRfRk9STUFUPSJlbGYzMi1pMzg2IgorTk9fUkVMQV9SRUxPQ1M9eWVzCiBFTlRSWT1fbWFpbgogVEVYVF9CQVNFPTB4MAogRFlOX1RFWFRfQkFTRT0weDAwNDAwMDAwCmRpZmYgLS1naXQgYS9sZC9lbXVscGFyYW1zL2kzODZtb3NzLnNoIGIvbGQvZW11bHBhcmFtcy9pMzg2bW9zcy5zaAppbmRleCA4MTE2MWI3Li4wOTVkODVhIDEwMDY0NAotLS0gYS9sZC9lbXVscGFyYW1zL2kzODZtb3NzLnNoCisrKyBiL2xkL2VtdWxwYXJhbXMvaTM4Nm1vc3Muc2gKQEAgLTEsNSArMSw2IEBACiBTQ1JJUFRfTkFNRT1lbGYKIE9VVFBVVF9GT1JNQVQ9ImVsZjMyLWkzODYiCitOT19SRUxBX1JFTE9DUz15ZXMKIFRFWFRfU1RBUlRfQUREUj0weDAwMDAyMDAwCiBNQVhQQUdFU0laRT0iQ09OU1RBTlQgKE1BWFBBR0VTSVpFKSIKIEFSQ0g9aTM4NgpkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9pMzg2bnRvLnNoIGIvbGQvZW11bHBhcmFtcy9pMzg2bnRvLnNoCmluZGV4IDA3ODI4OWMuLjYyNmY5YzEgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvaTM4Nm50by5zaAorKysgYi9sZC9lbXVscGFyYW1zL2kzODZudG8uc2gKQEAgLTEsNSArMSw2IEBACiBTQ1JJUFRfTkFNRT1lbGYKIE9VVFBVVF9GT1JNQVQ9ImVsZjMyLWkzODYiCitOT19SRUxBX1JFTE9DUz15ZXMKIFRFWFRfU1RBUlRfQUREUj0weDA4MDQ4MDAwCiBURVhUX1NUQVJUX1NZTUJPTFM9J19idGV4dCA9IC47JwogTUFYUEFHRVNJWkU9IkNPTlNUQU5UIChNQVhQQUdFU0laRSkiCmRpZmYgLS1naXQgYS9sZC9lbXVscGFyYW1zL202OGtlbGYuc2ggYi9sZC9lbXVscGFyYW1zL202OGtlbGYuc2gKaW5kZXggZjhkYWIyYi4uNjZkYTY0OCAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9tNjhrZWxmLnNoCisrKyBiL2xkL2VtdWxwYXJhbXMvbTY4a2VsZi5zaApAQCAtMSw1ICsxLDYgQEAKIFNDUklQVF9OQU1FPWVsZgogT1VUUFVUX0ZPUk1BVD0iZWxmMzItbTY4ayIKK05PX1JFTF9SRUxPQ1M9eWVzCiBURVhUX1NUQVJUX0FERFI9MHg4MDAwMDAwMAogTUFYUEFHRVNJWkU9IkNPTlNUQU5UIChNQVhQQUdFU0laRSkiCiBDT01NT05QQUdFU0laRT0iQ09OU1RBTlQgKENPTU1PTlBBR0VTSVpFKSIKZGlmZiAtLWdpdCBhL2xkL2VtdWxwYXJhbXMvbW4xMDIwMC5zaCBiL2xkL2VtdWxwYXJhbXMvbW4xMDIwMC5zaAppbmRleCA3NGY0OGQwLi45Y2VjMGI1IDEwMDY0NAotLS0gYS9sZC9lbXVscGFyYW1zL21uMTAyMDAuc2gKKysrIGIvbGQvZW11bHBhcmFtcy9tbjEwMjAwLnNoCkBAIC01LDYgKzUsNyBAQAogVEVNUExBVEVfTkFNRT1nZW5lcmljCiBFWFRSQV9FTV9GSUxFPWdlbmVsZgogT1VUUFVUX0ZPUk1BVD0iZWxmMzItbW4xMDIwMCIKK05PX1JFTF9SRUxPQ1M9eWVzCiBURVhUX1NUQVJUX0FERFI9MHgwCiBBUkNIPW1uMTAyMDAKIE1BQ0hJTkU9CmRpZmYgLS1naXQgYS9sZC9lbXVscGFyYW1zL29yMzJlbGYuc2ggYi9sZC9lbXVscGFyYW1zL29yMzJlbGYuc2gKaW5kZXggNWNiMzIwOC4uNWQ4NWIwNCAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9vcjMyZWxmLnNoCisrKyBiL2xkL2VtdWxwYXJhbXMvb3IzMmVsZi5zaApAQCAtMiw2ICsyLDcgQEAKIFRFTVBMQVRFX05BTUU9Z2VuZXJpYwogRVhUUkFfRU1fRklMRT1nZW5lbGYKIE9VVFBVVF9GT1JNQVQ9ImVsZjMyLW9yMzIiCitOT19SRUxBX1JFTE9DUz15ZXMKIFRFWFRfU1RBUlRfQUREUj0weDEwMDAwMDAKIFRBUkdFVF9QQUdFX1NJWkU9MHgxMDAwMDAwCiBNQVhQQUdFU0laRT0iQ09OU1RBTlQgKE1BWFBBR0VTSVpFKSIKZGlmZiAtLWdpdCBhL2xkL2VtdWxwYXJhbXMvcGplbGYuc2ggYi9sZC9lbXVscGFyYW1zL3BqZWxmLnNoCmluZGV4IGU0ZDJmYTUuLjM3ZjAwMzQgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvcGplbGYuc2gKKysrIGIvbGQvZW11bHBhcmFtcy9wamVsZi5zaApAQCAtMiw2ICsyLDcgQEAKIFRFTVBMQVRFX05BTUU9Z2VuZXJpYwogRVhUUkFfRU1fRklMRT1nZW5lbGYKIE9VVFBVVF9GT1JNQVQ9ImVsZjMyLXBqIgorTk9fUkVMX1JFTE9DUz15ZXMKIFRFWFRfU1RBUlRfQUREUj0weDEwMDAwMDAKIE1BWFBBR0VTSVpFPSJDT05TVEFOVCAoTUFYUEFHRVNJWkUpIgogQVJDSD1wagpkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9wcGNseW54LnNoIGIvbGQvZW11bHBhcmFtcy9wcGNseW54LnNoCmluZGV4IDQyMDM5MDguLjc2YWVmZDYgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvcHBjbHlueC5zaAorKysgYi9sZC9lbXVscGFyYW1zL3BwY2x5bnguc2gKQEAgLTEsNSArMSw2IEBACiBTQ1JJUFRfTkFNRT1lbGYKIE9VVFBVVF9GT1JNQVQ9ImVsZjMyLXBvd2VycGMiCitOT19SRUxfUkVMT0NTPXllcwogVEVYVF9CQVNFPTB4MDAwMDIwMDAKIERZTl9URVhUX0JBU0U9MHgwMDQwMDAwMAogVEVYVF9TVEFSVF9BRERSPSIoREVGSU5FRChfRFlOQU1JQykgPyAke0RZTl9URVhUX0JBU0V9IDogJHtURVhUX0JBU0V9KSIKZGlmZiAtLWdpdCBhL2xkL2VtdWxwYXJhbXMvc2NvcmVlbGYuc2ggYi9sZC9lbXVscGFyYW1zL3Njb3JlZWxmLnNoCmluZGV4IDBjYTVlNTYuLmRmYjVhY2EgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvc2NvcmVlbGYuc2gKKysrIGIvbGQvZW11bHBhcmFtcy9zY29yZWVsZi5zaApAQCAtNCw2ICs0LDcgQEAKIE9VVFBVVF9GT1JNQVQ9ImVsZjMyLWJpZ3Njb3JlIgogQklHX09VVFBVVF9GT1JNQVQ9ImVsZjMyLWJpZ3Njb3JlIgogTElUVExFX09VVFBVVF9GT1JNQVQ9ImVsZjMyLWxpdHRsZXNjb3JlIgorTk9fUkVMQV9SRUxPQ1M9eWVzCiBHUk9VUD0iLWxtIC1sYyAtbGdsc2ltIC1sZ2NjIC1sc3RkYysrIgogCiBURVhUX1NUQVJUX0FERFI9MHgwMDAwMDAwMApkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9zaGVsZi5zaCBiL2xkL2VtdWxwYXJhbXMvc2hlbGYuc2gKaW5kZXggNmY2NmJmNS4uNTc1N2I4MSAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9zaGVsZi5zaAorKysgYi9sZC9lbXVscGFyYW1zL3NoZWxmLnNoCkBAIC0zLDYgKzMsNyBAQAogCiBTQ1JJUFRfTkFNRT1lbGYKIE9VVFBVVF9GT1JNQVQ9ImVsZjMyLXNoIgorTk9fUkVMX1JFTE9DUz15ZXMKIFRFWFRfU1RBUlRfQUREUj0weDEwMDAKIE1BWFBBR0VTSVpFPTEyOAogQVJDSD1zaApkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9zaGVsZjMyLnNoIGIvbGQvZW11bHBhcmFtcy9zaGVsZjMyLnNoCmluZGV4IGM3MmZhZGIuLjk2NmJkMzAgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvc2hlbGYzMi5zaAorKysgYi9sZC9lbXVscGFyYW1zL3NoZWxmMzIuc2gKQEAgLTIsNiArMiw3IEBACiAjIHNoW2xdZWxmKDMyfDY0KS5zaCBwYXJhbWV0ZXIgc2NyaXB0cy4KIFNDUklQVF9OQU1FPWVsZgogT1VUUFVUX0ZPUk1BVD0ke09VVFBVVF9GT1JNQVQtImVsZjMyLXNoNjQifQorTk9fUkVMX1JFTE9DUz15ZXMKIFRFWFRfU1RBUlRfQUREUj0weDEwMDAKIE1BWFBBR0VTSVpFPTEyOAogQVJDSD1zaApkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9zaGVsZl9udG8uc2ggYi9sZC9lbXVscGFyYW1zL3NoZWxmX250by5zaAppbmRleCA3MGEwNjEwLi5jNGQ3MWFhIDEwMDY0NAotLS0gYS9sZC9lbXVscGFyYW1zL3NoZWxmX250by5zaAorKysgYi9sZC9lbXVscGFyYW1zL3NoZWxmX250by5zaApAQCAtMSw1ICsxLDYgQEAKIFNDUklQVF9OQU1FPWVsZgogT1VUUFVUX0ZPUk1BVD0iZWxmMzItc2giCitOT19SRUxfUkVMT0NTPXllcwogVEVYVF9TVEFSVF9BRERSPTB4MDgwNDAwMDAKIE1BWFBBR0VTSVpFPSJDT05TVEFOVCAoTUFYUEFHRVNJWkUpIgogQVJDSD1zaApkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9zaGVsZl92eHdvcmtzLnNoIGIvbGQvZW11bHBhcmFtcy9zaGVsZl92eHdvcmtzLnNoCmluZGV4IGE4N2Q1MjkuLjc3NjE5Y2IgMTAwNjQ0Ci0tLSBhL2xkL2VtdWxwYXJhbXMvc2hlbGZfdnh3b3Jrcy5zaAorKysgYi9sZC9lbXVscGFyYW1zL3NoZWxmX3Z4d29ya3Muc2gKQEAgLTIsNiArMiw3IEBACiAjIHNobGVsZl92eHdvcmtzLnNoCiAKIFNDUklQVF9OQU1FPWVsZgorTk9fUkVMX1JFTE9DUz15ZXMKIEJJR19PVVRQVVRfRk9STUFUPSJlbGYzMi1zaC12eHdvcmtzIgogTElUVExFX09VVFBVVF9GT1JNQVQ9ImVsZjMyLXNobC12eHdvcmtzIgogT1VUUFVUX0ZPUk1BVD0iJEJJR19PVVRQVVRfRk9STUFUIgpkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9zaGxlbGYzMl9saW51eC5zaCBiL2xkL2VtdWxwYXJhbXMvc2hsZWxmMzJfbGludXguc2gKaW5kZXggYmEzMmU3OS4uODFhZWEzOSAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9zaGxlbGYzMl9saW51eC5zaAorKysgYi9sZC9lbXVscGFyYW1zL3NobGVsZjMyX2xpbnV4LnNoCkBAIC0zLDYgKzMsNyBAQAogCiBTQ1JJUFRfTkFNRT1lbGYKIE9VVFBVVF9GT1JNQVQ9ImVsZjMyLXNoNjQtbGludXgiCitOT19SRUxfUkVMT0NTPXllcwogVEVYVF9TVEFSVF9BRERSPTB4NDAwMDAwCiBNQVhQQUdFU0laRT0iQ09OU1RBTlQgKE1BWFBBR0VTSVpFKSIKIENPTU1PTlBBR0VTSVpFPSJDT05TVEFOVCAoQ09NTU9OUEFHRVNJWkUpIgpkaWZmIC0tZ2l0IGEvbGQvZW11bHBhcmFtcy9zaGxlbGZfbGludXguc2ggYi9sZC9lbXVscGFyYW1zL3NobGVsZl9saW51eC5zaAppbmRleCBmOTFiYjUyLi45NWI2YWNjIDEwMDY0NAotLS0gYS9sZC9lbXVscGFyYW1zL3NobGVsZl9saW51eC5zaAorKysgYi9sZC9lbXVscGFyYW1zL3NobGVsZl9saW51eC5zaApAQCAtMyw2ICszLDcgQEAKIAogU0NSSVBUX05BTUU9ZWxmCiBPVVRQVVRfRk9STUFUPSJlbGYzMi1zaC1saW51eCIKK05PX1JFTF9SRUxPQ1M9eWVzCiBURVhUX1NUQVJUX0FERFI9MHg0MDAwMDAKIE1BWFBBR0VTSVpFPSJDT05TVEFOVCAoTUFYUEFHRVNJWkUpIgogQ09NTU9OUEFHRVNJWkU9IkNPTlNUQU5UIChDT01NT05QQUdFU0laRSkiCmRpZmYgLS1naXQgYS9sZC9lbXVscGFyYW1zL3NobGVsZl9udG8uc2ggYi9sZC9lbXVscGFyYW1zL3NobGVsZl9udG8uc2gKaW5kZXggYzZjMDRmNi4uMTZmNjUwOCAxMDA2NDQKLS0tIGEvbGQvZW11bHBhcmFtcy9zaGxlbGZfbnRvLnNoCisrKyBiL2xkL2VtdWxwYXJhbXMvc2hsZWxmX250by5zaApAQCAtMSw1ICsxLDYgQEAKIFNDUklQVF9OQU1FPWVsZgogT1VUUFVUX0ZPUk1BVD0iZWxmMzItc2hsIgorTk9fUkVMX1JFTE9DUz15ZXMKIFRFWFRfU1RBUlRfQUREUj0weDA4MDQwMDAwCiBNQVhQQUdFU0laRT0iQ09OU1RBTlQgKE1BWFBBR0VTSVpFKSIKIEFSQ0g9c2gKZGlmZiAtLWdpdCBhL2xkL2VtdWx0ZW1wbC9hcm1lbGYuZW0gYi9sZC9lbXVsdGVtcGwvYXJtZWxmLmVtCmluZGV4IDhkOGE4ZmEuLjYzOTQxMDUgMTAwNjQ0Ci0tLSBhL2xkL2VtdWx0ZW1wbC9hcm1lbGYuZW0KKysrIGIvbGQvZW11bHRlbXBsL2FybWVsZi5lbQpAQCAtNTUsMTYgKzU1LDYgQEAKIHN0YXRpYyB2b2lkCiBhcm1fZWxmX2FmdGVyX29wZW4gKHZvaWQpCiB7Ci0gIGlmIChzdHJzdHIgKGJmZF9nZXRfdGFyZ2V0IChsaW5rX2luZm8ub3V0cHV0X2JmZCksICJhcm0iKSA9PSBOVUxMKQotICAgIHsKLSAgICAgIC8qIFRoZSBhcm0gYmFja2VuZCBuZWVkcyBzcGVjaWFsIGZpZWxkcyBpbiB0aGUgb3V0cHV0IGhhc2ggc3RydWN0dXJlLgotCSBUaGVzZSB3aWxsIG9ubHkgYmUgY3JlYXRlZCBpZiB0aGUgb3V0cHV0IGZvcm1hdCBpcyBhbiBhcm0gZm9ybWF0LAotCSBoZW5jZSB3ZSBkbyBub3Qgc3VwcG9ydCBsaW5raW5nIGFuZCBjaGFuZ2luZyBvdXRwdXQgZm9ybWF0cyBhdCB0aGUKLQkgc2FtZSB0aW1lLiAgVXNlIGEgbGluayBmb2xsb3dlZCBieSBvYmpjb3B5IHRvIGNoYW5nZSBvdXRwdXQgZm9ybWF0cy4gICovCi0gICAgICBlaW5mbyAoIiVGJVglUDogZXJyb3I6IGNhbm5vdCBjaGFuZ2Ugb3V0cHV0IGZvcm1hdCB3aGlsc3QgbGlua2luZyBBUk0gYmluYXJpZXNcbiIpOwotICAgICAgcmV0dXJuOwotICAgIH0KLQogICB7CiAgICAgTEFOR19GT1JfRUFDSF9JTlBVVF9TVEFURU1FTlQgKGlzKQogICAgICAgewpAQCAtNDM5LDYgKzQyOSwxNiBAQAogc3RhdGljIHZvaWQKIGFybV9lbGZfY3JlYXRlX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudHMgKHZvaWQpCiB7CisgIGlmIChzdHJzdHIgKGJmZF9nZXRfdGFyZ2V0IChsaW5rX2luZm8ub3V0cHV0X2JmZCksICJhcm0iKSA9PSBOVUxMKQorICAgIHsKKyAgICAgIC8qIFRoZSBhcm0gYmFja2VuZCBuZWVkcyBzcGVjaWFsIGZpZWxkcyBpbiB0aGUgb3V0cHV0IGhhc2ggc3RydWN0dXJlLgorCSBUaGVzZSB3aWxsIG9ubHkgYmUgY3JlYXRlZCBpZiB0aGUgb3V0cHV0IGZvcm1hdCBpcyBhbiBhcm0gZm9ybWF0LAorCSBoZW5jZSB3ZSBkbyBub3Qgc3VwcG9ydCBsaW5raW5nIGFuZCBjaGFuZ2luZyBvdXRwdXQgZm9ybWF0cyBhdCB0aGUKKwkgc2FtZSB0aW1lLiAgVXNlIGEgbGluayBmb2xsb3dlZCBieSBvYmpjb3B5IHRvIGNoYW5nZSBvdXRwdXQgZm9ybWF0cy4gICovCisgICAgICBlaW5mbyAoIiVGJVglUDogZXJyb3I6IENhbm5vdCBjaGFuZ2Ugb3V0cHV0IGZvcm1hdCB3aGlsc3QgbGlua2luZyBBUk0gYmluYXJpZXMuXG4iKTsKKyAgICAgIHJldHVybjsKKyAgICB9CisKICAgYmZkX2VsZjMyX2FybV9zZXRfdGFyZ2V0X3JlbG9jcyAobGlua19pbmZvLm91dHB1dF9iZmQsICZsaW5rX2luZm8sCiAJCQkJICAgdGFyZ2V0MV9pc19yZWwsCiAJCQkJICAgdGFyZ2V0Ml90eXBlLCBmaXhfdjRieCwgdXNlX2JseCwKQEAgLTUyNSw3ICs1MjUsNyBAQAogCiBQQVJTRV9BTkRfTElTVF9PUFRJT05TPScKICAgZnByaW50ZiAoZmlsZSwgXygiICAtLXRodW1iLWVudHJ5PTxzeW0+ICAgICAgICAgU2V0IHRoZSBlbnRyeSBwb2ludCB0byBiZSBUaHVtYiBzeW1ib2wgPHN5bT5cbiIpKTsKLSAgZnByaW50ZiAoZmlsZSwgXygiICAtLWJlOCAgICAgICAgICAgICAgICAgICAgICAgT3B1dHB1dCBCRTggZm9ybWF0IGltYWdlXG4iKSk7CisgIGZwcmludGYgKGZpbGUsIF8oIiAgLS1iZTggICAgICAgICAgICAgICAgICAgICAgIE91dHB1dCBCRTggZm9ybWF0IGltYWdlXG4iKSk7CiAgIGZwcmludGYgKGZpbGUsIF8oIiAgLS10YXJnZXQxPXJlbCAgICAgICAgICAgICAgIEludGVycHJldCBSX0FSTV9UQVJHRVQxIGFzIFJfQVJNX1JFTDMyXG4iKSk7CiAgIGZwcmludGYgKGZpbGUsIF8oIiAgLS10YXJnZXQxPWFicyAgICAgICAgICAgICAgIEludGVycHJldCBSX0FSTV9UQVJHRVQxIGFzIFJfQVJNX0FCUzMyXG4iKSk7CiAgIGZwcmludGYgKGZpbGUsIF8oIiAgLS10YXJnZXQyPTx0eXBlPiAgICAgICAgICAgIFNwZWNpZnkgZGVmaW5pdGlvbiBvZiBSX0FSTV9UQVJHRVQyXG4iKSk7CmRpZmYgLS1naXQgYS9sZC9lbXVsdGVtcGwvYmVvcy5lbSBiL2xkL2VtdWx0ZW1wbC9iZW9zLmVtCmluZGV4IGFjMjdjNWEuLmU0MTc2OTMgMTAwNjQ0Ci0tLSBhL2xkL2VtdWx0ZW1wbC9iZW9zLmVtCisrKyBiL2xkL2VtdWx0ZW1wbC9iZW9zLmVtCkBAIC02NjQsMzIgKzY2NCwzMSBAQAogICAgYnV0IEknbSBsZWF2aW5nIHRoaXMgaGVyZSBpbiBjYXNlIHdlIHdhbnQgdG8gZW5hYmxlIGl0IGZvciBzZWN0aW9ucwogICAgd2hpY2ggYXJlIG5vdCBtZW50aW9uZWQgaW4gdGhlIGxpbmtlciBzY3JpcHQuICAqLwogCi1zdGF0aWMgYmZkX2Jvb2xlYW4KLWdsZCR7RU1VTEFUSU9OX05BTUV9X3BsYWNlX29ycGhhbiAoYXNlY3Rpb24gKnMpCitzdGF0aWMgbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdHlwZSAqCitnbGQke0VNVUxBVElPTl9OQU1FfV9wbGFjZV9vcnBoYW4gKGFzZWN0aW9uICpzLAorCQkJCSAgIGNvbnN0IGNoYXIgKnNlY25hbWUsCisJCQkJICAgaW50IGNvbnN0cmFpbnQpCiB7Ci0gIGNvbnN0IGNoYXIgKnNlY25hbWU7CiAgIGNoYXIgKm91dHB1dF9zZWNuYW1lLCAqcHM7CiAgIGxhbmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3R5cGUgKm9zOwogICBsYW5nX3N0YXRlbWVudF91bmlvbl90eXBlICpsOwogCiAgIGlmICgocy0+ZmxhZ3MgJiBTRUNfQUxMT0MpID09IDApCi0gICAgcmV0dXJuIEZBTFNFOworICAgIHJldHVybiBOVUxMOwogCiAgIC8qIERvbid0IHByb2Nlc3MgZ3JvdXBlZCBzZWN0aW9ucyB1bmxlc3MgZG9pbmcgYSBmaW5hbCBsaW5rLgogICAgICBJZiB0aGV5J3JlIG1hcmtlZCBhcyBDT01EQVQgc2VjdGlvbnMsIHdlIGRvbid0IHdhbnQgLnRleHRcJGZvbyB0bwogICAgICBlbmQgdXAgaW4gLnRleHQgYW5kIHRoZW4gaGF2ZSAudGV4dCBkaXNhcHBlYXIgYmVjYXVzZSBpdCdzIG1hcmtlZAogICAgICBsaW5rLW9uY2UtZGlzY2FyZC4gICovCiAgIGlmIChsaW5rX2luZm8ucmVsb2NhdGFibGUpCi0gICAgcmV0dXJuIEZBTFNFOwotCi0gIHNlY25hbWUgPSBiZmRfZ2V0X3NlY3Rpb25fbmFtZSAocy0+b3duZXIsIHMpOworICAgIHJldHVybiBOVUxMOwogCiAgIC8qIEV2ZXJ5dGhpbmcgZnJvbSB0aGUgJ1wkJyBvbiBnZXRzIGRlbGV0ZWQgc28gZG9uJ3QgYWxsb3cgJ1wkJyBhcyB0aGUKICAgICAgZmlyc3QgY2hhcmFjdGVyLiAgKi8KICAgaWYgKCpzZWNuYW1lID09ICdcJCcpCiAgICAgZWluZm8gKCIlUCVGOiBzZWN0aW9uICVzIGhhcyAnXCQnIGFzIGZpcnN0IGNoYXJhY3RlclxuIiwgc2VjbmFtZSk7CiAgIGlmIChzdHJjaHIgKHNlY25hbWUgKyAxLCAnXCQnKSA9PSBOVUxMKQotICAgIHJldHVybiBGQUxTRTsKKyAgICByZXR1cm4gTlVMTDsKIAogICAvKiBMb29rIHVwIHRoZSBvdXRwdXQgc2VjdGlvbi4gIFRoZSBNaWNyb3NvZnQgc3BlY3Mgc2F5IHNlY3Rpb25zIG5hbWVzIGluCiAgICAgIGltYWdlIGZpbGVzIG5ldmVyIGNvbnRhaW4gYSAnXCQnLiAgRm9ydHVuYXRlbHksIGxhbmdfLi4uX2xvb2t1cCBjcmVhdGVzCkBAIC02OTcsNyArNjk2LDcgQEAKICAgb3V0cHV0X3NlY25hbWUgPSB4c3RyZHVwIChzZWNuYW1lKTsKICAgcHMgPSBzdHJjaHIgKG91dHB1dF9zZWNuYW1lICsgMSwgJ1wkJyk7CiAgICpwcyA9IDA7Ci0gIG9zID0gbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfbG9va3VwIChvdXRwdXRfc2VjbmFtZSk7CisgIG9zID0gbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfbG9va3VwIChvdXRwdXRfc2VjbmFtZSwgY29uc3RyYWludCwgVFJVRSk7CiAKICAgLyogRmluZCB0aGUgJ1wkJyB3aWxkIHN0YXRlbWVudCBmb3IgdGhpcyBzZWN0aW9uLiAgV2UgY3VycmVudGx5IHJlcXVpcmUgdGhlCiAgICAgIGxpbmtlciBzY3JpcHQgdG8gZXhwbGljaXRseSBtZW50aW9uICIqKC5mb29cJCkiLgpAQCAtNzI3LDcgKzcyNiw3IEBACiAgICAgIHNvcnRfc2VjdGlvbnMuICAqLwogICBsYW5nX2FkZF9zZWN0aW9uICgmbC0+d2lsZF9zdGF0ZW1lbnQuY2hpbGRyZW4sIHMsIG9zKTsKIAotICByZXR1cm4gVFJVRTsKKyAgcmV0dXJuIG9zOwogfQogDAogc3RhdGljIGNoYXIgKgpkaWZmIC0tZ2l0IGEvbGQvZW11bHRlbXBsL2VsZjMyLmVtIGIvbGQvZW11bHRlbXBsL2VsZjMyLmVtCmluZGV4IGJlOWQ3OGQuLmJiMjk5ZDkgMTAwNjQ0Ci0tLSBhL2xkL2VtdWx0ZW1wbC9lbGYzMi5lbQorKysgYi9sZC9lbXVsdGVtcGwvZWxmMzIuZW0KQEAgLTYyLDcgKzYyLDggQEAKIHN0YXRpYyB2b2lkIGdsZCR7RU1VTEFUSU9OX05BTUV9X2JlZm9yZV9wYXJzZSAodm9pZCk7CiBzdGF0aWMgdm9pZCBnbGQke0VNVUxBVElPTl9OQU1FfV9hZnRlcl9vcGVuICh2b2lkKTsKIHN0YXRpYyB2b2lkIGdsZCR7RU1VTEFUSU9OX05BTUV9X2JlZm9yZV9hbGxvY2F0aW9uICh2b2lkKTsKLXN0YXRpYyBiZmRfYm9vbGVhbiBnbGQke0VNVUxBVElPTl9OQU1FfV9wbGFjZV9vcnBoYW4gKGFzZWN0aW9uICpzKTsKK3N0YXRpYyBsYW5nX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudF90eXBlICpnbGQke0VNVUxBVElPTl9OQU1FfV9wbGFjZV9vcnBoYW4KKyAgKGFzZWN0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKIHN0YXRpYyB2b2lkIGdsZCR7RU1VTEFUSU9OX05BTUV9X2ZpbmlzaCAodm9pZCk7CiAKIEVPRgpAQCAtMTYzNCw4ICsxNjM1LDEwIEBACiAvKiBQbGFjZSBhbiBvcnBoYW4gc2VjdGlvbi4gIFdlIHVzZSB0aGlzIHRvIHB1dCByYW5kb20gU0hGX0FMTE9DCiAgICBzZWN0aW9ucyBpbiB0aGUgcmlnaHQgc2VnbWVudC4gICovCiAKLXN0YXRpYyBiZmRfYm9vbGVhbgotZ2xkJHtFTVVMQVRJT05fTkFNRX1fcGxhY2Vfb3JwaGFuIChhc2VjdGlvbiAqcykKK3N0YXRpYyBsYW5nX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudF90eXBlICoKK2dsZCR7RU1VTEFUSU9OX05BTUV9X3BsYWNlX29ycGhhbiAoYXNlY3Rpb24gKnMsCisJCQkJICAgY29uc3QgY2hhciAqc2VjbmFtZSwKKwkJCQkgICBpbnQgY29uc3RyYWludCkKIHsKICAgc3RhdGljIHN0cnVjdCBvcnBoYW5fc2F2ZSBob2xkW10gPQogICAgIHsKQEAgLTE2NTksNyArMTY2MiwxMCBAQAogCTAsIDAsIDAsIDAgfSwKICAgICAgIHsgIi5zZGF0YSIsCiAJU0VDX0hBU19DT05URU5UUyB8IFNFQ19BTExPQyB8IFNFQ19MT0FEIHwgU0VDX0RBVEEgfCBTRUNfU01BTExfREFUQSwKLQkwLCAwLCAwLCAwIH0KKwkwLCAwLCAwLCAwIH0sCisgICAgICB7IDAsCisJU0VDX0hBU19DT05URU5UUywKKwkwLCAwLCAwLCAwIH0sCiAgICAgfTsKICAgZW51bSBvcnBoYW5fc2F2ZV9pbmRleAogICAgIHsKQEAgLTE2NjksMTkgKzE2NzUsMTcgQEAKICAgICAgIG9ycGhhbl9ic3MsCiAgICAgICBvcnBoYW5fcmVsLAogICAgICAgb3JwaGFuX2ludGVycCwKLSAgICAgIG9ycGhhbl9zZGF0YQorICAgICAgb3JwaGFuX3NkYXRhLAorICAgICAgb3JwaGFuX25vbmFsbG9jCiAgICAgfTsKICAgc3RhdGljIGludCBvcnBoYW5faW5pdF9kb25lID0gMDsKICAgc3RydWN0IG9ycGhhbl9zYXZlICpwbGFjZTsKLSAgY29uc3QgY2hhciAqc2VjbmFtZTsKICAgbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdHlwZSAqYWZ0ZXI7CiAgIGxhbmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3R5cGUgKm9zOwogICBpbnQgaXNkeW4gPSAwOwogICBpbnQgaXNlbGYgPSBzLT5vd25lci0+eHZlYy0+Zmxhdm91ciA9PSBiZmRfdGFyZ2V0X2VsZl9mbGF2b3VyOwogICB1bnNpZ25lZCBpbnQgc2hfdHlwZSA9IGlzZWxmID8gZWxmX3NlY3Rpb25fdHlwZSAocykgOiBTSFRfTlVMTDsKIAotICBzZWNuYW1lID0gYmZkX2dldF9zZWN0aW9uX25hbWUgKHMtPm93bmVyLCBzKTsKLQogICBpZiAoISBsaW5rX2luZm8ucmVsb2NhdGFibGUKICAgICAgICYmIGxpbmtfaW5mby5jb21icmVsb2MKICAgICAgICYmIChzLT5mbGFncyAmIFNFQ19BTExPQykpCkBAIC0xNzA3LDMzICsxNzExLDMwIEBACiAJfQogICAgIH0KIAotICBpZiAoaXNkeW4gfHwgKCFjb25maWcudW5pcXVlX29ycGhhbl9zZWN0aW9ucyAmJiAhdW5pcXVlX3NlY3Rpb25fcCAocykpKQorICAvKiBMb29rIHRocm91Z2ggdGhlIHNjcmlwdCB0byBzZWUgd2hlcmUgdG8gcGxhY2UgdGhpcyBzZWN0aW9uLiAgKi8KKyAgaWYgKGNvbnN0cmFpbnQgPT0gMAorICAgICAgJiYgKG9zID0gbGFuZ19vdXRwdXRfc2VjdGlvbl9maW5kIChzZWNuYW1lKSkgIT0gTlVMTAorICAgICAgJiYgb3MtPmJmZF9zZWN0aW9uICE9IE5VTEwKKyAgICAgICYmIChvcy0+YmZkX3NlY3Rpb24tPmZsYWdzID09IDAKKwkgIHx8IChfYmZkX2VsZl9tYXRjaF9zZWN0aW9uc19ieV90eXBlIChsaW5rX2luZm8ub3V0cHV0X2JmZCwKKwkJCQkJICAgICAgIG9zLT5iZmRfc2VjdGlvbiwgcy0+b3duZXIsIHMpCisJICAgICAgJiYgKChzLT5mbGFncyBeIG9zLT5iZmRfc2VjdGlvbi0+ZmxhZ3MpCisJCSAgJiAoU0VDX0xPQUQgfCBTRUNfQUxMT0MpKSA9PSAwKSkpCiAgICAgewotICAgICAgLyogTG9vayB0aHJvdWdoIHRoZSBzY3JpcHQgdG8gc2VlIHdoZXJlIHRvIHBsYWNlIHRoaXMgc2VjdGlvbi4gICovCi0gICAgICBvcyA9IGxhbmdfb3V0cHV0X3NlY3Rpb25fZmluZCAoc2VjbmFtZSk7Ci0KLSAgICAgIGlmIChvcyAhPSBOVUxMCi0JICAmJiAob3MtPmJmZF9zZWN0aW9uID09IE5VTEwKLQkgICAgICB8fCBvcy0+YmZkX3NlY3Rpb24tPmZsYWdzID09IDAKLQkgICAgICB8fCAoX2JmZF9lbGZfbWF0Y2hfc2VjdGlvbnNfYnlfdHlwZSAobGlua19pbmZvLm91dHB1dF9iZmQsCi0JCQkJCQkgICBvcy0+YmZkX3NlY3Rpb24sCi0JCQkJCQkgICBzLT5vd25lciwgcykKLQkJICAmJiAoKHMtPmZsYWdzIF4gb3MtPmJmZF9zZWN0aW9uLT5mbGFncykKLQkJICAgICAgJiAoU0VDX0xPQUQgfCBTRUNfQUxMT0MpKSA9PSAwKSkpCi0JewotCSAgLyogV2UgYWxyZWFkeSBoYXZlIGFuIG91dHB1dCBzZWN0aW9uIHN0YXRlbWVudCB3aXRoIHRoaXMKLQkgICAgIG5hbWUsIGFuZCBpdHMgYmZkIHNlY3Rpb24sIGlmIGFueSwgaGFzIGNvbXBhdGlibGUgZmxhZ3MuCi0JICAgICBJZiB0aGUgc2VjdGlvbiBhbHJlYWR5IGV4aXN0cyBidXQgZG9lcyBub3QgaGF2ZSBhbnkgZmxhZ3MKLQkgICAgIHNldCwgdGhlbiBpdCBoYXMgYmVlbiBjcmVhdGVkIGJ5IHRoZSBsaW5rZXIsIHByb2JhYmx5IGFzIGEKLQkgICAgIHJlc3VsdCBvZiBhIC0tc2VjdGlvbi1zdGFydCBjb21tYW5kIGxpbmUgc3dpdGNoLiAgKi8KLQkgIGxhbmdfYWRkX3NlY3Rpb24gKCZvcy0+Y2hpbGRyZW4sIHMsIG9zKTsKLQkgIHJldHVybiBUUlVFOwotCX0KKyAgICAgIC8qIFdlIGFscmVhZHkgaGF2ZSBhbiBvdXRwdXQgc2VjdGlvbiBzdGF0ZW1lbnQgd2l0aCB0aGlzCisJIG5hbWUsIGFuZCBpdHMgYmZkIHNlY3Rpb24gaGFzIGNvbXBhdGlibGUgZmxhZ3MuCisJIElmIHRoZSBzZWN0aW9uIGFscmVhZHkgZXhpc3RzIGJ1dCBkb2VzIG5vdCBoYXZlIGFueSBmbGFncworCSBzZXQsIHRoZW4gaXQgaGFzIGJlZW4gY3JlYXRlZCBieSB0aGUgbGlua2VyLCBwcm9iYWJseSBhcyBhCisJIHJlc3VsdCBvZiBhIC0tc2VjdGlvbi1zdGFydCBjb21tYW5kIGxpbmUgc3dpdGNoLiAgKi8KKyAgICAgIGxhbmdfYWRkX3NlY3Rpb24gKCZvcy0+Y2hpbGRyZW4sIHMsIG9zKTsKKyAgICAgIHJldHVybiBvczsKICAgICB9CiAKICAgaWYgKCFvcnBoYW5faW5pdF9kb25lKQogICAgIHsKKyAgICAgIGxhbmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3R5cGUgKmxvb2t1cDsKICAgICAgIHN0cnVjdCBvcnBoYW5fc2F2ZSAqaG87CisKICAgICAgIGZvciAoaG8gPSBob2xkOyBobyA8IGhvbGQgKyBzaXplb2YgKGhvbGQpIC8gc2l6ZW9mIChob2xkWzBdKTsgKytobykKIAlpZiAoaG8tPm5hbWUgIT0gTlVMTCkKIAkgIHsKQEAgLTE3NDEsNiArMTc0MiwxNiBAQAogCSAgICBpZiAoaG8tPm9zICE9IE5VTEwgJiYgaG8tPm9zLT5mbGFncyA9PSAwKQogCSAgICAgIGhvLT5vcy0+ZmxhZ3MgPSBoby0+ZmxhZ3M7CiAJICB9CisgICAgICBsb29rdXAgPSBob2xkW29ycGhhbl9ic3NdLm9zOworICAgICAgaWYgKGxvb2t1cCA9PSBOVUxMKQorCWxvb2t1cCA9ICZsYW5nX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudC5oZWFkLT5vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnQ7CisgICAgICBmb3IgKDsgbG9va3VwICE9IE5VTEw7IGxvb2t1cCA9IGxvb2t1cC0+bmV4dCkKKwlpZiAoKGxvb2t1cC0+YmZkX3NlY3Rpb24gIT0gTlVMTAorCSAgICAgJiYgKGxvb2t1cC0+YmZkX3NlY3Rpb24tPmZsYWdzICYgU0VDX0RFQlVHR0lORykgIT0gMCkKKwkgICAgfHwgc3RyY21wIChsb29rdXAtPm5hbWUsICIuY29tbWVudCIpID09IDApCisJICBicmVhazsKKyAgICAgIGhvbGRbb3JwaGFuX25vbmFsbG9jXS5vcyA9IGxvb2t1cCA/IGxvb2t1cC0+cHJldiA6IE5VTEw7CisgICAgICBob2xkW29ycGhhbl9ub25hbGxvY10ubmFtZSA9ICIuY29tbWVudCI7CiAgICAgICBvcnBoYW5faW5pdF9kb25lID0gMTsKICAgICB9CiAKQEAgLTE3NDgsMTIgKzE3NTksMTIgQEAKICAgICAgc2VjdGlvbnMgaW50byB0aGUgLnRleHQgc2VjdGlvbiB0byBnZXQgdGhlbSBvdXQgb2YgdGhlIHdheS4gICovCiAgIGlmIChsaW5rX2luZm8uZXhlY3V0YWJsZQogICAgICAgJiYgISBsaW5rX2luZm8ucmVsb2NhdGFibGUKLSAgICAgICYmIENPTlNUX1NUUk5FUSAoc2VjbmFtZSwgIi5nbnUud2FybmluZy4iKQorICAgICAgJiYgQ09OU1RfU1RSTkVRIChzLT5uYW1lLCAiLmdudS53YXJuaW5nLiIpCiAgICAgICAmJiBob2xkW29ycGhhbl90ZXh0XS5vcyAhPSBOVUxMKQogICAgIHsKLSAgICAgIGxhbmdfYWRkX3NlY3Rpb24gKCZob2xkW29ycGhhbl90ZXh0XS5vcy0+Y2hpbGRyZW4sIHMsCi0JCQlob2xkW29ycGhhbl90ZXh0XS5vcyk7Ci0gICAgICByZXR1cm4gVFJVRTsKKyAgICAgIG9zID0gaG9sZFtvcnBoYW5fdGV4dF0ub3M7CisgICAgICBsYW5nX2FkZF9zZWN0aW9uICgmb3MtPmNoaWxkcmVuLCBzLCBvcyk7CisgICAgICByZXR1cm4gb3M7CiAgICAgfQogCiAgIC8qIERlY2lkZSB3aGljaCBzZWdtZW50IHRoZSBzZWN0aW9uIHNob3VsZCBnbyBpbiBiYXNlZCBvbiB0aGUKQEAgLTE3NjMsNyArMTc3NCw5IEBACiAgICAgIGluIHRoZSBmaXJzdCBwYWdlLiAgKi8KIAogICBwbGFjZSA9IE5VTEw7Ci0gIGlmICgocy0+ZmxhZ3MgJiBTRUNfQUxMT0MpID09IDApCisgIGlmICgocy0+ZmxhZ3MgJiAoU0VDX0FMTE9DIHwgU0VDX0RFQlVHR0lORykpID09IDApCisgICAgcGxhY2UgPSAmaG9sZFtvcnBoYW5fbm9uYWxsb2NdOworICBlbHNlIGlmICgocy0+ZmxhZ3MgJiBTRUNfQUxMT0MpID09IDApCiAgICAgOwogICBlbHNlIGlmICgocy0+ZmxhZ3MgJiBTRUNfTE9BRCkgIT0gMAogCSAgICYmICgoaXNlbGYgJiYgc2hfdHlwZSA9PSBTSFRfTk9URSkKQEAgLTE4MDMsMjEgKzE4MTYsNyBAQAogCWFmdGVyID0gJmxhbmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50LmhlYWQtPm91dHB1dF9zZWN0aW9uX3N0YXRlbWVudDsKICAgICB9CiAKLSAgLyogQ2hvb3NlIGEgdW5pcXVlIG5hbWUgZm9yIHRoZSBzZWN0aW9uLiAgVGhpcyB3aWxsIGJlIG5lZWRlZCBpZiB0aGUKLSAgICAgc2FtZSBzZWN0aW9uIG5hbWUgYXBwZWFycyBpbiB0aGUgaW5wdXQgZmlsZSB3aXRoIGRpZmZlcmVudAotICAgICBsb2FkYWJsZSBvciBhbGxvY2F0YWJsZSBjaGFyYWN0ZXJpc3RpY3MuICAqLwotICBpZiAoYmZkX2dldF9zZWN0aW9uX2J5X25hbWUgKGxpbmtfaW5mby5vdXRwdXRfYmZkLCBzZWNuYW1lKSAhPSBOVUxMKQotICAgIHsKLSAgICAgIHN0YXRpYyBpbnQgY291bnQgPSAxOwotICAgICAgc2VjbmFtZSA9IGJmZF9nZXRfdW5pcXVlX3NlY3Rpb25fbmFtZSAobGlua19pbmZvLm91dHB1dF9iZmQsCi0JCQkJCSAgICAgc2VjbmFtZSwgJmNvdW50KTsKLSAgICAgIGlmIChzZWNuYW1lID09IE5VTEwpCi0JZWluZm8gKCIlRiVQOiBwbGFjZV9vcnBoYW4gZmFpbGVkOiAlRVxuIik7Ci0gICAgfQotCi0gIGxhbmdfaW5zZXJ0X29ycGhhbiAocywgc2VjbmFtZSwgYWZ0ZXIsIHBsYWNlLCBOVUxMLCBOVUxMKTsKLQotICByZXR1cm4gVFJVRTsKKyAgcmV0dXJuIGxhbmdfaW5zZXJ0X29ycGhhbiAocywgc2VjbmFtZSwgY29uc3RyYWludCwgYWZ0ZXIsIHBsYWNlLCBOVUxMLCBOVUxMKTsKIH0KIEVPRgogZmkKZGlmZiAtLWdpdCBhL2xkL2VtdWx0ZW1wbC9nZW5lbGYuZW0gYi9sZC9lbXVsdGVtcGwvZ2VuZWxmLmVtCmluZGV4IGU0NGJiOWIuLmU2ZTg4NDEgMTAwNjQ0Ci0tLSBhL2xkL2VtdWx0ZW1wbC9nZW5lbGYuZW0KKysrIGIvbGQvZW11bHRlbXBsL2dlbmVsZi5lbQpAQCAtMzQsNyArMzQsMjcgQEAKICAgZ2xkJHtFTVVMQVRJT05fTkFNRX1fbWFwX3NlZ21lbnRzIChGQUxTRSk7CiAgIGZpbmlzaF9kZWZhdWx0ICgpOwogfQorCitzdGF0aWMgdm9pZAorZ2xkJHtFTVVMQVRJT05fTkFNRX1fYWZ0ZXJfb3BlbiAodm9pZCkKK3sKKyAgYmZkICppYmZkOworICBhc2VjdGlvbiAqc2VjOworICBhc3ltYm9sICoqc3ltczsKKworICBpZiAobGlua19pbmZvLnJlbG9jYXRhYmxlKQorICAgIGZvciAoaWJmZCA9IGxpbmtfaW5mby5pbnB1dF9iZmRzOyBpYmZkICE9IE5VTEw7IGliZmQgPSBpYmZkLT5saW5rX25leHQpCisgICAgICBpZiAoKHN5bXMgPSBiZmRfZ2V0X291dHN5bWJvbHMgKGliZmQpKSAhPSBOVUxMCisJICAmJiBiZmRfZ2V0X2ZsYXZvdXIgKGliZmQpID09IGJmZF90YXJnZXRfZWxmX2ZsYXZvdXIpCisJZm9yIChzZWMgPSBpYmZkLT5zZWN0aW9uczsgc2VjICE9IE5VTEw7IHNlYyA9IHNlYy0+bmV4dCkKKwkgIGlmICgoc2VjLT5mbGFncyAmIChTRUNfR1JPVVAgfCBTRUNfTElOS0VSX0NSRUFURUQpKSA9PSBTRUNfR1JPVVApCisJICAgIHsKKwkgICAgICBzdHJ1Y3QgYmZkX2VsZl9zZWN0aW9uX2RhdGEgKnNlY19kYXRhID0gZWxmX3NlY3Rpb25fZGF0YSAoc2VjKTsKKwkgICAgICBlbGZfZ3JvdXBfaWQgKHNlYykgPSBzeW1zW3NlY19kYXRhLT50aGlzX2hkci5zaF9pbmZvIC0gMV07CisJICAgIH0KK30KIEVPRgogIyBQdXQgdGhlc2UgZXh0cmEgcm91dGluZXMgaW4gbGRfJHtFTVVMQVRJT05fTkFNRX1fZW11bGF0aW9uCiAjCiBMREVNVUxfRklOSVNIPWdsZCR7RU1VTEFUSU9OX05BTUV9X2ZpbmlzaAorTERFTVVMX0FGVEVSX09QRU49Z2xkJHtFTVVMQVRJT05fTkFNRX1fYWZ0ZXJfb3BlbgpkaWZmIC0tZ2l0IGEvbGQvZW11bHRlbXBsL21tby5lbSBiL2xkL2VtdWx0ZW1wbC9tbW8uZW0KaW5kZXggOGIwMmZkNi4uZjViYTZkZCAxMDA2NDQKLS0tIGEvbGQvZW11bHRlbXBsL21tby5lbQorKysgYi9sZC9lbXVsdGVtcGwvbW1vLmVtCkBAIC00Niw4ICs0NiwxMCBAQAogICAgU0VDX1JFQURPTkxZIHNlY3Rpb25zIHJpZ2h0IGFmdGVyIE1NT19URVhUX1NFQ1RJT05fTkFNRS4gIE11Y2ggYm9ycm93ZWQKICAgIGZyb20gZWxmMzIuZW0uICAqLwogCi1zdGF0aWMgYmZkX2Jvb2xlYW4KLW1tb19wbGFjZV9vcnBoYW4gKGFzZWN0aW9uICpzKQorc3RhdGljIGxhbmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3R5cGUgKgorbW1vX3BsYWNlX29ycGhhbiAoYXNlY3Rpb24gKnMsCisJCSAgY29uc3QgY2hhciAqc2VjbmFtZSwKKwkJICBpbnQgY29uc3RyYWludCBBVFRSSUJVVEVfVU5VU0VEKQogewogICBzdGF0aWMgc3RydWN0IG9ycGhhbl9zYXZlIGhvbGRfdGV4dCA9CiAgICAgewpAQCAtNTYsMTcgKzU4LDE1IEBACiAgICAgICAwLCAwLCAwLCAwCiAgICAgfTsKICAgc3RydWN0IG9ycGhhbl9zYXZlICpwbGFjZTsKLSAgY29uc3QgY2hhciAqc2VjbmFtZTsKICAgbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdHlwZSAqYWZ0ZXI7CiAgIGxhbmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3R5cGUgKm9zOwogCiAgIC8qIFdlIGhhdmUgbm90aGluZyB0byBzYXkgZm9yIGFueXRoaW5nIG90aGVyIHRoYW4gYSBmaW5hbCBsaW5rLiAgKi8KICAgaWYgKGxpbmtfaW5mby5yZWxvY2F0YWJsZQogICAgICAgfHwgKHMtPmZsYWdzICYgKFNFQ19FWENMVURFIHwgU0VDX0xPQUQpKSAhPSBTRUNfTE9BRCkKLSAgICByZXR1cm4gRkFMU0U7CisgICAgcmV0dXJuIE5VTEw7CiAKICAgLyogT25seSBjYXJlIGZvciBzZWN0aW9ucyB3ZSdyZSBnb2luZyB0byBsb2FkLiAgKi8KLSAgc2VjbmFtZSA9IHMtPm5hbWU7CiAgIG9zID0gbGFuZ19vdXRwdXRfc2VjdGlvbl9maW5kIChzZWNuYW1lKTsKIAogICAvKiBXZSBoYXZlIGFuIG91dHB1dCBzZWN0aW9uIGJ5IHRoaXMgbmFtZS4gIFBsYWNlIHRoZSBzZWN0aW9uIGluc2lkZSBpdApAQCAtNzQsMTMgKzc0LDEzIEBACiAgIGlmIChvcyAhPSBOVUxMKQogICAgIHsKICAgICAgIGxhbmdfYWRkX3NlY3Rpb24gKCZvcy0+Y2hpbGRyZW4sIHMsIG9zKTsKLSAgICAgIHJldHVybiBUUlVFOworICAgICAgcmV0dXJuIG9zOwogICAgIH0KIAogICAvKiBJZiB0aGlzIHNlY3Rpb24gZG9lcyBub3QgaGF2ZSAudGV4dC10eXBlIHNlY3Rpb24gZmxhZ3Mgb3IgdGhlcmUncyBubwogICAgICBNTU9fVEVYVF9TRUNUSU9OX05BTUUsIHdlIGRvbid0IGhhdmUgYW55dGhpbmcgdG8gc2F5LiAgKi8KICAgaWYgKChzLT5mbGFncyAmIChTRUNfQ09ERSB8IFNFQ19SRUFET05MWSkpID09IDApCi0gICAgcmV0dXJuIEZBTFNFOworICAgIHJldHVybiBOVUxMOwogCiAgIGlmIChob2xkX3RleHQub3MgPT0gTlVMTCkKICAgICBob2xkX3RleHQub3MgPSBsYW5nX291dHB1dF9zZWN0aW9uX2ZpbmQgKGhvbGRfdGV4dC5uYW1lKTsKQEAgLTkzLDcgKzkzLDcgQEAKIAogICAvKiBJZiB0aGVyZSdzIGFuIG91dHB1dCBzZWN0aW9uIGJ5IHRoaXMgbmFtZSwgd2UnbGwgdXNlIGl0LCByZWdhcmRsZXNzCiAgICAgIG9mIHNlY3Rpb24gZmxhZ3MsIGluIGNvbnRyYXN0IHRvIHdoYXQncyBkb25lIGluIGVsZjMyLmVtLiAgKi8KLSAgb3MgPSBsYW5nX2luc2VydF9vcnBoYW4gKHMsIHNlY25hbWUsIGFmdGVyLCBwbGFjZSwgTlVMTCwgTlVMTCk7CisgIG9zID0gbGFuZ19pbnNlcnRfb3JwaGFuIChzLCBzZWNuYW1lLCAwLCBhZnRlciwgcGxhY2UsIE5VTEwsIE5VTEwpOwogCiAgIC8qIFdlIG5lZWQgYW4gb3V0cHV0IHNlY3Rpb24gZm9yIC50ZXh0IGFzIGEgcm9vdCwgc28gaWYgdGhlcmUgd2FzIG5vbmUKICAgICAgKG1pZ2h0IGhhcHBlbiB3aXRoIGEgcGVjdWxpYXIgbGlua2VyIHNjcmlwdCBzdWNoIGFzIGluICJtYXAKQEAgLTEwMiw3ICsxMDIsNyBAQAogICBpZiAoaG9sZF90ZXh0Lm9zID09IE5VTEwpCiAgICAgaG9sZF90ZXh0Lm9zID0gb3M7CiAKLSAgcmV0dXJuIFRSVUU7CisgIHJldHVybiBvczsKIH0KIAogLyogUmVtb3ZlIHRoZSBzcHVyaW91cyBzZXR0aW5ncyBvZiBTRUNfUkVMT0MgdGhhdCBtYWtlIGl0IHRvIHRoZSBvdXRwdXQgYXQKZGlmZiAtLWdpdCBhL2xkL2VtdWx0ZW1wbC9wZS5lbSBiL2xkL2VtdWx0ZW1wbC9wZS5lbQppbmRleCA4NjVjZmFhLi5iOTYzZDAzIDEwMDY0NAotLS0gYS9sZC9lbXVsdGVtcGwvcGUuZW0KKysrIGIvbGQvZW11bHRlbXBsL3BlLmVtCkBAIC05MzYsNyArOTM2LDcgQEAKIAkJICAgIHsKIAkJICAgICAgd2FybmVkID0gVFJVRTsKIAkJICAgICAgZWluZm8gKF8oIiVQOiB3YXJuaW5nOiBhdXRvLWltcG9ydGluZyBoYXMgYmVlbiBhY3RpdmF0ZWQgd2l0aG91dCAtLWVuYWJsZS1hdXRvLWltcG9ydCBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZS5cblwKLVRoaXMgc2hvdWxkIHdvcmsgdW5sZXNzIGl0IGludm9sdmVzIGNvbnN0YW50IGRhdGEgc3RydWN0dXJlcyByZWZlcmVuY2luZyBzeW1ib2xzIGZyb20gYXV0by1pbXBvcnRlZCBETExzLiIpKTsKK1RoaXMgc2hvdWxkIHdvcmsgdW5sZXNzIGl0IGludm9sdmVzIGNvbnN0YW50IGRhdGEgc3RydWN0dXJlcyByZWZlcmVuY2luZyBzeW1ib2xzIGZyb20gYXV0by1pbXBvcnRlZCBETExzLlxuIikpOwogCQkgICAgfQogCQl9CiAKQEAgLTExMjIsNyArMTEyMiw3IEBACiAJCSAgICBpZiAobnJlbG9jcyA8IDApCiAJCSAgICAgIHsKIAkJCWZyZWUgKHJlbG9jcyk7Ci0JCQllaW5mbyAoIiVYJVA6IHVuYWJsZSB0byBwcm9jZXNzIHJlbG9jczogJUUiKTsKKwkJCWVpbmZvICgiJVglUDogdW5hYmxlIHRvIHByb2Nlc3MgcmVsb2NzOiAlRVxuIik7CiAJCQlyZXR1cm47CiAJCSAgICAgIH0KIApAQCAtMTM4MCw3ICsxMzgwLDcgQEAKIAkgICAgKGlzLT50aGVfYmZkLCAmIGxpbmtfaW5mbywgc3VwcG9ydF9vbGRfY29kZSkpCiAJICB7CiAJICAgIC8qIHhnZXR0ZXh0OmMtZm9ybWF0ICovCi0JICAgIGVpbmZvIChfKCJFcnJvcnMgZW5jb3VudGVyZWQgcHJvY2Vzc2luZyBmaWxlICVzIGZvciBpbnRlcndvcmtpbmciKSwKKwkgICAgZWluZm8gKF8oIkVycm9ycyBlbmNvdW50ZXJlZCBwcm9jZXNzaW5nIGZpbGUgJXMgZm9yIGludGVyd29ya2luZ1xuIiksCiAJCSAgIGlzLT5maWxlbmFtZSk7CiAJICB9CiAgICAgICB9CkBAIC0xNjEyLDQxICsxNjEyLDM4IEBACiAgICBkZWZhdWx0IGxpbmtlciBzY3JpcHQgdXNpbmcgd2lsZGNhcmRzLCBhbmQgYXJlIHNvcnRlZCBieQogICAgc29ydF9zZWN0aW9ucy4gICovCiAKLXN0YXRpYyBiZmRfYm9vbGVhbgotZ2xkXyR7RU1VTEFUSU9OX05BTUV9X3BsYWNlX29ycGhhbiAoYXNlY3Rpb24gKnMpCitzdGF0aWMgbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdHlwZSAqCitnbGRfJHtFTVVMQVRJT05fTkFNRX1fcGxhY2Vfb3JwaGFuIChhc2VjdGlvbiAqcywKKwkJCQkgICAgY29uc3QgY2hhciAqc2VjbmFtZSwKKwkJCQkgICAgaW50IGNvbnN0cmFpbnQpCiB7Ci0gIGNvbnN0IGNoYXIgKnNlY25hbWU7Ci0gIGNvbnN0IGNoYXIgKm9yaWdfc2VjbmFtZTsKKyAgY29uc3QgY2hhciAqb3JpZ19zZWNuYW1lID0gc2VjbmFtZTsKICAgY2hhciAqZG9sbGFyID0gTlVMTDsKICAgbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdHlwZSAqb3M7CiAgIGxhbmdfc3RhdGVtZW50X2xpc3RfdHlwZSBhZGRfY2hpbGQ7CiAKLSAgc2VjbmFtZSA9IGJmZF9nZXRfc2VjdGlvbl9uYW1lIChzLT5vd25lciwgcyk7Ci0KICAgLyogTG9vayB0aHJvdWdoIHRoZSBzY3JpcHQgdG8gc2VlIHdoZXJlIHRvIHBsYWNlIHRoaXMgc2VjdGlvbi4gICovCi0gIG9yaWdfc2VjbmFtZSA9IHNlY25hbWU7CiAgIGlmICghbGlua19pbmZvLnJlbG9jYXRhYmxlCiAgICAgICAmJiAoZG9sbGFyID0gc3RyY2hyIChzZWNuYW1lLCAnJCcpKSAhPSBOVUxMKQogICAgIHsKLSAgICAgIHNpemVfdCBsZW4gPSBkb2xsYXIgLSBvcmlnX3NlY25hbWU7CisgICAgICBzaXplX3QgbGVuID0gZG9sbGFyIC0gc2VjbmFtZTsKICAgICAgIGNoYXIgKm5ld25hbWUgPSB4bWFsbG9jIChsZW4gKyAxKTsKLSAgICAgIG1lbWNweSAobmV3bmFtZSwgb3JpZ19zZWNuYW1lLCBsZW4pOworICAgICAgbWVtY3B5IChuZXduYW1lLCBzZWNuYW1lLCBsZW4pOwogICAgICAgbmV3bmFtZVtsZW5dID0gJ1wwJzsKICAgICAgIHNlY25hbWUgPSBuZXduYW1lOwogICAgIH0KIAotICBvcyA9IGxhbmdfb3V0cHV0X3NlY3Rpb25fZmluZCAoc2VjbmFtZSk7Ci0KICAgbGFuZ19saXN0X2luaXQgKCZhZGRfY2hpbGQpOwogCi0gIGlmIChvcyAhPSBOVUxMCi0gICAgICAmJiAob3MtPmJmZF9zZWN0aW9uID09IE5VTEwKLQkgIHx8IG9zLT5iZmRfc2VjdGlvbi0+ZmxhZ3MgPT0gMAorICBpZiAoY29uc3RyYWludCA9PSAwCisgICAgICAmJiAob3MgPSBsYW5nX291dHB1dF9zZWN0aW9uX2ZpbmQgKHNlY25hbWUpKSAhPSBOVUxMCisgICAgICAmJiBvcy0+YmZkX3NlY3Rpb24gIT0gTlVMTAorICAgICAgJiYgKG9zLT5iZmRfc2VjdGlvbi0+ZmxhZ3MgPT0gMAogCSAgfHwgKChzLT5mbGFncyBeIG9zLT5iZmRfc2VjdGlvbi0+ZmxhZ3MpCiAJICAgICAgJiAoU0VDX0xPQUQgfCBTRUNfQUxMT0MpKSA9PSAwKSkKICAgICB7CiAgICAgICAvKiBXZSBhbHJlYWR5IGhhdmUgYW4gb3V0cHV0IHNlY3Rpb24gc3RhdGVtZW50IHdpdGggdGhpcwotCSBuYW1lLCBhbmQgaXRzIGJmZCBzZWN0aW9uLCBpZiBhbnksIGhhcyBjb21wYXRpYmxlIGZsYWdzLgorCSBuYW1lLCBhbmQgaXRzIGJmZCBzZWN0aW9uIGhhcyBjb21wYXRpYmxlIGZsYWdzLgogCSBJZiB0aGUgc2VjdGlvbiBhbHJlYWR5IGV4aXN0cyBidXQgZG9lcyBub3QgaGF2ZSBhbnkgZmxhZ3Mgc2V0LAogCSB0aGVuIGl0IGhhcyBiZWVuIGNyZWF0ZWQgYnkgdGhlIGxpbmtlciwgcHJvYmFibHkgYXMgYSByZXN1bHQgb2YKIAkgYSAtLXNlY3Rpb24tc3RhcnQgY29tbWFuZCBsaW5lIHN3aXRjaC4gICovCkBAIC0xNzIzLDIxICsxNzIwLDEwIEBACiAJCSAgICAgLT5vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnQpOwogCX0KIAotICAgICAgLyogQ2hvb3NlIGEgdW5pcXVlIG5hbWUgZm9yIHRoZSBzZWN0aW9uLiAgVGhpcyB3aWxsIGJlIG5lZWRlZCBpZiB0aGUKLQkgc2FtZSBzZWN0aW9uIG5hbWUgYXBwZWFycyBpbiB0aGUgaW5wdXQgZmlsZSB3aXRoIGRpZmZlcmVudAotCSBsb2FkYWJsZSBvciBhbGxvY2F0YWJsZSBjaGFyYWN0ZXJpc3RpY3MuICAqLwotICAgICAgaWYgKGJmZF9nZXRfc2VjdGlvbl9ieV9uYW1lIChsaW5rX2luZm8ub3V0cHV0X2JmZCwgc2VjbmFtZSkgIT0gTlVMTCkKLQl7Ci0JICBzdGF0aWMgaW50IGNvdW50ID0gMTsKLQkgIHNlY25hbWUgPSBiZmRfZ2V0X3VuaXF1ZV9zZWN0aW9uX25hbWUgKGxpbmtfaW5mby5vdXRwdXRfYmZkLAotCQkJCQkJIHNlY25hbWUsICZjb3VudCk7Ci0JICBpZiAoc2VjbmFtZSA9PSBOVUxMKQotCSAgICBlaW5mbyAoIiVGJVA6IHBsYWNlX29ycGhhbiBmYWlsZWQ6ICVFXG4iKTsKLQl9Ci0KICAgICAgIC8qIEFsbCBzZWN0aW9ucyBpbiBhbiBleGVjdXRhYmxlIG11c3QgYmUgYWxpZ25lZCB0byBhIHBhZ2UgYm91bmRhcnkuICAqLwogICAgICAgYWRkcmVzcyA9IGV4cF91bm9wIChBTElHTl9LLCBleHBfbmFtZW9wIChOQU1FLCAiX19zZWN0aW9uX2FsaWdubWVudF9fIikpOwotICAgICAgb3MgPSBsYW5nX2luc2VydF9vcnBoYW4gKHMsIHNlY25hbWUsIGFmdGVyLCBwbGFjZSwgYWRkcmVzcywgJmFkZF9jaGlsZCk7CisgICAgICBvcyA9IGxhbmdfaW5zZXJ0X29ycGhhbiAocywgc2VjbmFtZSwgY29uc3RyYWludCwgYWZ0ZXIsIHBsYWNlLCBhZGRyZXNzLAorCQkJICAgICAgICZhZGRfY2hpbGQpOwogICAgIH0KIAogICB7CkBAIC0xNzgyLDcgKzE3NjgsNyBAQAogICAgICAgfQogICB9CiAKLSAgcmV0dXJuIFRSVUU7CisgIHJldHVybiBvczsKIH0KIAogc3RhdGljIGJmZF9ib29sZWFuCmRpZmYgLS1naXQgYS9sZC9lbXVsdGVtcGwvcGVwLmVtIGIvbGQvZW11bHRlbXBsL3BlcC5lbQppbmRleCAyMWJjZjAxLi5kNzBmNjM1IDEwMDY0NAotLS0gYS9sZC9lbXVsdGVtcGwvcGVwLmVtCisrKyBiL2xkL2VtdWx0ZW1wbC9wZXAuZW0KQEAgLTg5NSw3ICs4OTUsNyBAQAogCQkgICAgewogCQkgICAgICB3YXJuZWQgPSBUUlVFOwogCQkgICAgICBlaW5mbyAoXygiJVA6IHdhcm5pbmc6IGF1dG8taW1wb3J0aW5nIGhhcyBiZWVuIGFjdGl2YXRlZCB3aXRob3V0IC0tZW5hYmxlLWF1dG8taW1wb3J0IHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLlxuXAotVGhpcyBzaG91bGQgd29yayB1bmxlc3MgaXQgaW52b2x2ZXMgY29uc3RhbnQgZGF0YSBzdHJ1Y3R1cmVzIHJlZmVyZW5jaW5nIHN5bWJvbHMgZnJvbSBhdXRvLWltcG9ydGVkIERMTHMuIikpOworVGhpcyBzaG91bGQgd29yayB1bmxlc3MgaXQgaW52b2x2ZXMgY29uc3RhbnQgZGF0YSBzdHJ1Y3R1cmVzIHJlZmVyZW5jaW5nIHN5bWJvbHMgZnJvbSBhdXRvLWltcG9ydGVkIERMTHMuXG4iKSk7CiAJCSAgICB9CiAJCX0KIApAQCAtMTA2MCw3ICsxMDYwLDcgQEAKIAkJICAgIGlmIChucmVsb2NzIDwgMCkKIAkJICAgICAgewogCQkJZnJlZSAocmVsb2NzKTsKLQkJCWVpbmZvICgiJVglUDogdW5hYmxlIHRvIHByb2Nlc3MgcmVsb2NzOiAlRSIpOworCQkJZWluZm8gKCIlWCVQOiB1bmFibGUgdG8gcHJvY2VzcyByZWxvY3M6ICVFXG4iKTsKIAkJCXJldHVybjsKIAkJICAgICAgfQogCkBAIC0xMzcxLDQxICsxMzcxLDM4IEBACiAgICBkZWZhdWx0IGxpbmtlciBzY3JpcHQgdXNpbmcgd2lsZGNhcmRzLCBhbmQgYXJlIHNvcnRlZCBieQogICAgc29ydF9zZWN0aW9ucy4gICovCiAKLXN0YXRpYyBiZmRfYm9vbGVhbgotZ2xkXyR7RU1VTEFUSU9OX05BTUV9X3BsYWNlX29ycGhhbiAoYXNlY3Rpb24gKnMpCitzdGF0aWMgbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdHlwZSAqCitnbGRfJHtFTVVMQVRJT05fTkFNRX1fcGxhY2Vfb3JwaGFuIChhc2VjdGlvbiAqcywKKwkJCQkgICAgY29uc3QgY2hhciAqc2VjbmFtZSwKKwkJCQkgICAgaW50IGNvbnN0cmFpbnQpCiB7Ci0gIGNvbnN0IGNoYXIgKnNlY25hbWU7Ci0gIGNvbnN0IGNoYXIgKm9yaWdfc2VjbmFtZTsKKyAgY29uc3QgY2hhciAqb3JpZ19zZWNuYW1lID0gc2VjbmFtZTsKICAgY2hhciAqZG9sbGFyID0gTlVMTDsKICAgbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdHlwZSAqb3M7CiAgIGxhbmdfc3RhdGVtZW50X2xpc3RfdHlwZSBhZGRfY2hpbGQ7CiAKLSAgc2VjbmFtZSA9IGJmZF9nZXRfc2VjdGlvbl9uYW1lIChzLT5vd25lciwgcyk7Ci0KICAgLyogTG9vayB0aHJvdWdoIHRoZSBzY3JpcHQgdG8gc2VlIHdoZXJlIHRvIHBsYWNlIHRoaXMgc2VjdGlvbi4gICovCi0gIG9yaWdfc2VjbmFtZSA9IHNlY25hbWU7CiAgIGlmICghbGlua19pbmZvLnJlbG9jYXRhYmxlCiAgICAgICAmJiAoZG9sbGFyID0gc3RyY2hyIChzZWNuYW1lLCAnJCcpKSAhPSBOVUxMKQogICAgIHsKLSAgICAgIHNpemVfdCBsZW4gPSBkb2xsYXIgLSBvcmlnX3NlY25hbWU7CisgICAgICBzaXplX3QgbGVuID0gZG9sbGFyIC0gc2VjbmFtZTsKICAgICAgIGNoYXIgKm5ld25hbWUgPSB4bWFsbG9jIChsZW4gKyAxKTsKLSAgICAgIG1lbWNweSAobmV3bmFtZSwgb3JpZ19zZWNuYW1lLCBsZW4pOworICAgICAgbWVtY3B5IChuZXduYW1lLCBzZWNuYW1lLCBsZW4pOwogICAgICAgbmV3bmFtZVtsZW5dID0gJ1wwJzsKICAgICAgIHNlY25hbWUgPSBuZXduYW1lOwogICAgIH0KIAotICBvcyA9IGxhbmdfb3V0cHV0X3NlY3Rpb25fZmluZCAoc2VjbmFtZSk7Ci0KICAgbGFuZ19saXN0X2luaXQgKCZhZGRfY2hpbGQpOwogCi0gIGlmIChvcyAhPSBOVUxMCi0gICAgICAmJiAob3MtPmJmZF9zZWN0aW9uID09IE5VTEwKLQkgIHx8IG9zLT5iZmRfc2VjdGlvbi0+ZmxhZ3MgPT0gMAorICBpZiAoY29uc3RyYWludCA9PSAwCisgICAgICAmJiAob3MgPSBsYW5nX291dHB1dF9zZWN0aW9uX2ZpbmQgKHNlY25hbWUpKSAhPSBOVUxMCisgICAgICAmJiBvcy0+YmZkX3NlY3Rpb24gIT0gTlVMTAorICAgICAgJiYgKG9zLT5iZmRfc2VjdGlvbi0+ZmxhZ3MgPT0gMAogCSAgfHwgKChzLT5mbGFncyBeIG9zLT5iZmRfc2VjdGlvbi0+ZmxhZ3MpCiAJICAgICAgJiAoU0VDX0xPQUQgfCBTRUNfQUxMT0MpKSA9PSAwKSkKICAgICB7CiAgICAgICAvKiBXZSBhbHJlYWR5IGhhdmUgYW4gb3V0cHV0IHNlY3Rpb24gc3RhdGVtZW50IHdpdGggdGhpcwotCSBuYW1lLCBhbmQgaXRzIGJmZCBzZWN0aW9uLCBpZiBhbnksIGhhcyBjb21wYXRpYmxlIGZsYWdzLgorCSBuYW1lLCBhbmQgaXRzIGJmZCBzZWN0aW9uIGhhcyBjb21wYXRpYmxlIGZsYWdzLgogCSBJZiB0aGUgc2VjdGlvbiBhbHJlYWR5IGV4aXN0cyBidXQgZG9lcyBub3QgaGF2ZSBhbnkgZmxhZ3Mgc2V0LAogCSB0aGVuIGl0IGhhcyBiZWVuIGNyZWF0ZWQgYnkgdGhlIGxpbmtlciwgcHJvYmFibHkgYXMgYSByZXN1bHQgb2YKIAkgYSAtLXNlY3Rpb24tc3RhcnQgY29tbWFuZCBsaW5lIHN3aXRjaC4gICovCkBAIC0xNDgyLDIxICsxNDc5LDEwIEBACiAJCSAgICAgLT5vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnQpOwogCX0KIAotICAgICAgLyogQ2hvb3NlIGEgdW5pcXVlIG5hbWUgZm9yIHRoZSBzZWN0aW9uLiAgVGhpcyB3aWxsIGJlIG5lZWRlZCBpZiB0aGUKLQkgc2FtZSBzZWN0aW9uIG5hbWUgYXBwZWFycyBpbiB0aGUgaW5wdXQgZmlsZSB3aXRoIGRpZmZlcmVudAotCSBsb2FkYWJsZSBvciBhbGxvY2F0YWJsZSBjaGFyYWN0ZXJpc3RpY3MuICAqLwotICAgICAgaWYgKGJmZF9nZXRfc2VjdGlvbl9ieV9uYW1lIChsaW5rX2luZm8ub3V0cHV0X2JmZCwgc2VjbmFtZSkgIT0gTlVMTCkKLQl7Ci0JICBzdGF0aWMgaW50IGNvdW50ID0gMTsKLQkgIHNlY25hbWUgPSBiZmRfZ2V0X3VuaXF1ZV9zZWN0aW9uX25hbWUgKGxpbmtfaW5mby5vdXRwdXRfYmZkLAotCQkJCQkJIHNlY25hbWUsICZjb3VudCk7Ci0JICBpZiAoc2VjbmFtZSA9PSBOVUxMKQotCSAgICBlaW5mbyAoIiVGJVA6IHBsYWNlX29ycGhhbiBmYWlsZWQ6ICVFXG4iKTsKLQl9Ci0KICAgICAgIC8qIEFsbCBzZWN0aW9ucyBpbiBhbiBleGVjdXRhYmxlIG11c3QgYmUgYWxpZ25lZCB0byBhIHBhZ2UgYm91bmRhcnkuICAqLwogICAgICAgYWRkcmVzcyA9IGV4cF91bm9wIChBTElHTl9LLCBleHBfbmFtZW9wIChOQU1FLCAiX19zZWN0aW9uX2FsaWdubWVudF9fIikpOwotICAgICAgb3MgPSBsYW5nX2luc2VydF9vcnBoYW4gKHMsIHNlY25hbWUsIGFmdGVyLCBwbGFjZSwgYWRkcmVzcywgJmFkZF9jaGlsZCk7CisgICAgICBvcyA9IGxhbmdfaW5zZXJ0X29ycGhhbiAocywgc2VjbmFtZSwgY29uc3RyYWludCwgYWZ0ZXIsIHBsYWNlLCBhZGRyZXNzLAorCQkJICAgICAgICZhZGRfY2hpbGQpOwogICAgIH0KIAogICB7CkBAIC0xNTQxLDcgKzE1MjcsNyBAQAogICAgICAgfQogICB9CiAKLSAgcmV0dXJuIFRSVUU7CisgIHJldHVybiBvczsKIH0KIAogc3RhdGljIGJmZF9ib29sZWFuCmRpZmYgLS1naXQgYS9sZC9lbXVsdGVtcGwvc3B1ZWxmLmVtIGIvbGQvZW11bHRlbXBsL3NwdWVsZi5lbQppbmRleCAxMTZhMGNjLi5mZTI0OGFmIDEwMDY0NAotLS0gYS9sZC9lbXVsdGVtcGwvc3B1ZWxmLmVtCisrKyBiL2xkL2VtdWx0ZW1wbC9zcHVlbGYuZW0KQEAgLTExNCwxMiArMTE0LDcgQEAKIAogICBvcyA9IGxhbmdfb3V0cHV0X3NlY3Rpb25fZmluZCAobyAhPSBOVUxMID8gby0+bmFtZSA6IG91dHB1dF9uYW1lKTsKICAgaWYgKG9zID09IE5VTEwpCi0gICAgewotICAgICAgY29uc3QgY2hhciAqc2F2ZSA9IHMtPm5hbWU7Ci0gICAgICBzLT5uYW1lID0gb3V0cHV0X25hbWU7Ci0gICAgICBnbGQke0VNVUxBVElPTl9OQU1FfV9wbGFjZV9vcnBoYW4gKHMpOwotICAgICAgcy0+bmFtZSA9IHNhdmU7Ci0gICAgfQorICAgIGdsZCR7RU1VTEFUSU9OX05BTUV9X3BsYWNlX29ycGhhbiAocywgb3V0cHV0X25hbWUsIDApOwogICBlbHNlIGlmIChvICE9IE5VTEwgJiYgb3MtPmNoaWxkcmVuLmhlYWQgIT0gTlVMTCkKICAgICB7CiAgICAgICBsYW5nX3N0YXRlbWVudF9saXN0X3R5cGUgYWRkOwpkaWZmIC0tZ2l0IGEvbGQvZW11bHRlbXBsL3N1bm9zLmVtIGIvbGQvZW11bHRlbXBsL3N1bm9zLmVtCmluZGV4IDYzNjdjM2MuLmJiZDYwNzUgMTAwNjQ0Ci0tLSBhL2xkL2VtdWx0ZW1wbC9zdW5vcy5lbQorKysgYi9sZC9lbXVsdGVtcGwvc3Vub3MuZW0KQEAgLTY5OCw3ICs2OTgsNyBAQAogCiAgICAgICAvKiBTZXQgdGhlIC50ZXh0IHNlY3Rpb24gdG8gc3RhcnQgYXQgMHgyMCwgbm90IDB4MjAyMC4gIEZJWE1FOgogCSBUaGlzIGlzIHRvbyBtYWdpY2FsLiAgKi8KLSAgICAgIG9zID0gbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfbG9va3VwICgiLnRleHQiKTsKKyAgICAgIG9zID0gbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfbG9va3VwICgiLnRleHQiLCAwLCBUUlVFKTsKICAgICAgIGlmIChvcy0+YWRkcl90cmVlID09IE5VTEwpCiAJb3MtPmFkZHJfdHJlZSA9IGV4cF9pbnRvcCAoMHgyMCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvbGQvbGRlbXVsLmMgYi9sZC9sZGVtdWwuYwppbmRleCA2Yjg2ZGRmLi44MjYxMjlkIDEwMDY0NAotLS0gYS9sZC9sZGVtdWwuYworKysgYi9sZC9sZGVtdWwuYwpAQCAtMTE5LDEyICsxMTksMTIgQEAKICAgcmV0dXJuIEZBTFNFOwogfQogCi1iZmRfYm9vbGVhbgotbGRlbXVsX3BsYWNlX29ycGhhbiAoYXNlY3Rpb24gKnMpCitsYW5nX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudF90eXBlICoKK2xkZW11bF9wbGFjZV9vcnBoYW4gKGFzZWN0aW9uICpzLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgY29uc3RyYWludCkKIHsKICAgaWYgKGxkX2VtdWxhdGlvbi0+cGxhY2Vfb3JwaGFuKQotICAgIHJldHVybiAoKmxkX2VtdWxhdGlvbi0+cGxhY2Vfb3JwaGFuKSAocyk7Ci0gIHJldHVybiBGQUxTRTsKKyAgICByZXR1cm4gKCpsZF9lbXVsYXRpb24tPnBsYWNlX29ycGhhbikgKHMsIG5hbWUsIGNvbnN0cmFpbnQpOworICByZXR1cm4gTlVMTDsKIH0KIAogdm9pZApkaWZmIC0tZ2l0IGEvbGQvbGRlbXVsLmggYi9sZC9sZGVtdWwuaAppbmRleCBjYzgxNzI4Li44YzY4YTg4IDEwMDY0NAotLS0gYS9sZC9sZGVtdWwuaAorKysgYi9sZC9sZGVtdWwuaApAQCAtNTgsOCArNTgsOCBAQAogICAodm9pZCk7CiBleHRlcm4gdm9pZCBsZGVtdWxfY3JlYXRlX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudHMKICAgKHZvaWQpOwotZXh0ZXJuIGJmZF9ib29sZWFuIGxkZW11bF9wbGFjZV9vcnBoYW4KLSAgKGFzZWN0aW9uICopOworZXh0ZXJuIGxhbmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3R5cGUgKmxkZW11bF9wbGFjZV9vcnBoYW4KKyAgKGFzZWN0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKIGV4dGVybiBiZmRfYm9vbGVhbiBsZGVtdWxfcGFyc2VfYXJncwogICAoaW50LCBjaGFyICoqKTsKIGV4dGVybiB2b2lkIGxkZW11bF9hZGRfb3B0aW9ucwpAQCAtMTUxLDggKzE1MSw4IEBACiAgIC8qIFBsYWNlIGFuIG9ycGhhbiBzZWN0aW9uLiAgUmV0dXJuIFRSVUUgaWYgaXQgd2FzIHBsYWNlZCwgRkFMU0UgaWYKICAgICAgdGhlIGRlZmF1bHQgYWN0aW9uIHNob3VsZCBiZSB0YWtlbi4gIFRoaXMgZmllbGQgbWF5IGJlIE5VTEwsIGluCiAgICAgIHdoaWNoIGNhc2UgdGhlIGRlZmF1bHQgYWN0aW9uIHdpbGwgYWx3YXlzIGJlIHRha2VuLiAgKi8KLSAgYmZkX2Jvb2xlYW4gKCpwbGFjZV9vcnBoYW4pCi0gICAgKGFzZWN0aW9uICopOworICBsYW5nX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudF90eXBlICooKnBsYWNlX29ycGhhbikKKyAgICAoYXNlY3Rpb24gKiwgY29uc3QgY2hhciAqLCBpbnQpOwogCiAgIC8qIFJ1biBhZnRlciBhc3NpZ25pbmcgcGFyc2luZyB3aXRoIHRoZSBhcmdzLCBidXQgYmVmb3JlCiAgICAgIHJlYWRpbmcgdGhlIHNjcmlwdC4gIFVzZWQgdG8gaW5pdGlhbGl6ZSBzeW1ib2xzIHVzZWQgaW4gdGhlIHNjcmlwdC4gICovCmRpZmYgLS1naXQgYS9sZC9sZGV4cC5jIGIvbGQvbGRleHAuYwppbmRleCAwODY2NGU2Li5lODg4Yzk1IDEwMDY0NAotLS0gYS9sZC9sZGV4cC5jCisrKyBiL2xkL2xkZXhwLmMKQEAgLTI4Miw2ICsyODIsNyBAQAogc3RhdGljIHZvaWQKIGZvbGRfYmluYXJ5IChldHJlZV90eXBlICp0cmVlKQogeworICBldHJlZV92YWx1ZV90eXBlIGxoczsKICAgZXhwX2ZvbGRfdHJlZV8xICh0cmVlLT5iaW5hcnkubGhzKTsKIAogICAvKiBUaGUgU0VHTUVOVF9TVEFSVCBvcGVyYXRvciBpcyBzcGVjaWFsIGJlY2F1c2UgaXRzIGZpcnN0CkBAIC0zMDQsMTY5ICszMDUsMTY3IEBACiAJICAgIGV4cGxkLnJlc3VsdC5zZWN0aW9uID0gZXhwbGQuc2VjdGlvbjsKIAkgICAgYnJlYWs7CiAJICB9CisgICAgICByZXR1cm47CiAgICAgfQotICBlbHNlIGlmIChleHBsZC5yZXN1bHQudmFsaWRfcCkKKworICBsaHMgPSBleHBsZC5yZXN1bHQ7CisgIGV4cF9mb2xkX3RyZWVfMSAodHJlZS0+YmluYXJ5LnJocyk7CisgIGV4cGxkLnJlc3VsdC52YWxpZF9wICY9IGxocy52YWxpZF9wOworCisgIGlmIChleHBsZC5yZXN1bHQudmFsaWRfcCkKICAgICB7Ci0gICAgICBldHJlZV92YWx1ZV90eXBlIGxocyA9IGV4cGxkLnJlc3VsdDsKLQotICAgICAgZXhwX2ZvbGRfdHJlZV8xICh0cmVlLT5iaW5hcnkucmhzKTsKLSAgICAgIGlmIChleHBsZC5yZXN1bHQudmFsaWRfcCkKKyAgICAgIC8qIElmIHRoZSB2YWx1ZXMgYXJlIGZyb20gZGlmZmVyZW50IHNlY3Rpb25zLCBvciB0aGlzIGlzIGFuCisJIGFic29sdXRlIGV4cHJlc3Npb24sIG1ha2UgYm90aCB0aGUgc291cmNlIGFyZ3VtZW50cworCSBhYnNvbHV0ZS4gIEhvd2V2ZXIsIGFkZGluZyBvciBzdWJ0cmFjdGluZyBhbiBhYnNvbHV0ZQorCSB2YWx1ZSBmcm9tIGEgcmVsYXRpdmUgdmFsdWUgaXMgbWVhbmluZ2Z1bCwgYW5kIGlzIGFuCisJIGV4Y2VwdGlvbi4gICovCisgICAgICBpZiAoZXhwbGQuc2VjdGlvbiAhPSBiZmRfYWJzX3NlY3Rpb25fcHRyCisJICAmJiBsaHMuc2VjdGlvbiA9PSBiZmRfYWJzX3NlY3Rpb25fcHRyCisJICAmJiB0cmVlLT50eXBlLm5vZGVfY29kZSA9PSAnKycpCiAJewotCSAgLyogSWYgdGhlIHZhbHVlcyBhcmUgZnJvbSBkaWZmZXJlbnQgc2VjdGlvbnMsIG9yIHRoaXMgaXMgYW4KLQkgICAgIGFic29sdXRlIGV4cHJlc3Npb24sIG1ha2UgYm90aCB0aGUgc291cmNlIGFyZ3VtZW50cwotCSAgICAgYWJzb2x1dGUuICBIb3dldmVyLCBhZGRpbmcgb3Igc3VidHJhY3RpbmcgYW4gYWJzb2x1dGUKLQkgICAgIHZhbHVlIGZyb20gYSByZWxhdGl2ZSB2YWx1ZSBpcyBtZWFuaW5nZnVsLCBhbmQgaXMgYW4KLQkgICAgIGV4Y2VwdGlvbi4gICovCi0JICBpZiAoZXhwbGQuc2VjdGlvbiAhPSBiZmRfYWJzX3NlY3Rpb25fcHRyCi0JICAgICAgJiYgbGhzLnNlY3Rpb24gPT0gYmZkX2Fic19zZWN0aW9uX3B0cgotCSAgICAgICYmIHRyZWUtPnR5cGUubm9kZV9jb2RlID09ICcrJykKLQkgICAgewotCSAgICAgIC8qIEtlZXAgdGhlIHNlY3Rpb24gb2YgdGhlIHJocyB0ZXJtLiAgKi8KLQkgICAgICBleHBsZC5yZXN1bHQudmFsdWUgPSBsaHMudmFsdWUgKyBleHBsZC5yZXN1bHQudmFsdWU7Ci0JICAgICAgcmV0dXJuOwotCSAgICB9Ci0JICBlbHNlIGlmIChleHBsZC5zZWN0aW9uICE9IGJmZF9hYnNfc2VjdGlvbl9wdHIKLQkJICAgJiYgZXhwbGQucmVzdWx0LnNlY3Rpb24gPT0gYmZkX2Fic19zZWN0aW9uX3B0cgotCQkgICAmJiAodHJlZS0+dHlwZS5ub2RlX2NvZGUgPT0gJysnCi0JCSAgICAgICB8fCB0cmVlLT50eXBlLm5vZGVfY29kZSA9PSAnLScpKQotCSAgICB7Ci0JICAgICAgLyogS2VlcCB0aGUgc2VjdGlvbiBvZiB0aGUgbGhzIHRlcm0uICAqLwotCSAgICAgIGV4cGxkLnJlc3VsdC5zZWN0aW9uID0gbGhzLnNlY3Rpb247Ci0JICAgIH0KLQkgIGVsc2UgaWYgKGV4cGxkLnJlc3VsdC5zZWN0aW9uICE9IGxocy5zZWN0aW9uCi0JCSAgIHx8IGV4cGxkLnNlY3Rpb24gPT0gYmZkX2Fic19zZWN0aW9uX3B0cikKLQkgICAgewotCSAgICAgIG1ha2VfYWJzICgpOwotCSAgICAgIGxocy52YWx1ZSArPSBsaHMuc2VjdGlvbi0+dm1hOwotCSAgICB9CisJICAvKiBLZWVwIHRoZSBzZWN0aW9uIG9mIHRoZSByaHMgdGVybS4gICovCisJICBleHBsZC5yZXN1bHQudmFsdWUgPSBsaHMudmFsdWUgKyBleHBsZC5yZXN1bHQudmFsdWU7CisJICByZXR1cm47CisJfQorICAgICAgZWxzZSBpZiAoZXhwbGQuc2VjdGlvbiAhPSBiZmRfYWJzX3NlY3Rpb25fcHRyCisJICAgICAgICYmIGV4cGxkLnJlc3VsdC5zZWN0aW9uID09IGJmZF9hYnNfc2VjdGlvbl9wdHIKKwkgICAgICAgJiYgKHRyZWUtPnR5cGUubm9kZV9jb2RlID09ICcrJworCQkgICB8fCB0cmVlLT50eXBlLm5vZGVfY29kZSA9PSAnLScpKQorCXsKKwkgIC8qIEtlZXAgdGhlIHNlY3Rpb24gb2YgdGhlIGxocyB0ZXJtLiAgKi8KKwkgIGV4cGxkLnJlc3VsdC5zZWN0aW9uID0gbGhzLnNlY3Rpb247CisJfQorICAgICAgZWxzZSBpZiAoZXhwbGQucmVzdWx0LnNlY3Rpb24gIT0gbGhzLnNlY3Rpb24KKwkgICAgICAgfHwgZXhwbGQuc2VjdGlvbiA9PSBiZmRfYWJzX3NlY3Rpb25fcHRyKQorCXsKKwkgIG1ha2VfYWJzICgpOworCSAgbGhzLnZhbHVlICs9IGxocy5zZWN0aW9uLT52bWE7CisJfQogCi0JICBzd2l0Y2ggKHRyZWUtPnR5cGUubm9kZV9jb2RlKQotCSAgICB7Ci0JICAgIGNhc2UgJyUnOgotCSAgICAgIGlmIChleHBsZC5yZXN1bHQudmFsdWUgIT0gMCkKLQkJZXhwbGQucmVzdWx0LnZhbHVlID0gKChiZmRfc2lnbmVkX3ZtYSkgbGhzLnZhbHVlCi0JCQkJICAgICAgJSAoYmZkX3NpZ25lZF92bWEpIGV4cGxkLnJlc3VsdC52YWx1ZSk7Ci0JICAgICAgZWxzZSBpZiAoZXhwbGQucGhhc2UgIT0gbGFuZ19tYXJrX3BoYXNlX2VudW0pCi0JCWVpbmZvIChfKCIlRiVTICUlIGJ5IHplcm9cbiIpKTsKLQkgICAgICBicmVhazsKKyAgICAgIHN3aXRjaCAodHJlZS0+dHlwZS5ub2RlX2NvZGUpCisJeworCWNhc2UgJyUnOgorCSAgaWYgKGV4cGxkLnJlc3VsdC52YWx1ZSAhPSAwKQorCSAgICBleHBsZC5yZXN1bHQudmFsdWUgPSAoKGJmZF9zaWduZWRfdm1hKSBsaHMudmFsdWUKKwkJCQkgICUgKGJmZF9zaWduZWRfdm1hKSBleHBsZC5yZXN1bHQudmFsdWUpOworCSAgZWxzZSBpZiAoZXhwbGQucGhhc2UgIT0gbGFuZ19tYXJrX3BoYXNlX2VudW0pCisJICAgIGVpbmZvIChfKCIlRiVTICUlIGJ5IHplcm9cbiIpKTsKKwkgIGJyZWFrOwogCi0JICAgIGNhc2UgJy8nOgotCSAgICAgIGlmIChleHBsZC5yZXN1bHQudmFsdWUgIT0gMCkKLQkJZXhwbGQucmVzdWx0LnZhbHVlID0gKChiZmRfc2lnbmVkX3ZtYSkgbGhzLnZhbHVlCi0JCQkJICAgICAgLyAoYmZkX3NpZ25lZF92bWEpIGV4cGxkLnJlc3VsdC52YWx1ZSk7Ci0JICAgICAgZWxzZSBpZiAoZXhwbGQucGhhc2UgIT0gbGFuZ19tYXJrX3BoYXNlX2VudW0pCi0JCWVpbmZvIChfKCIlRiVTIC8gYnkgemVyb1xuIikpOwotCSAgICAgIGJyZWFrOworCWNhc2UgJy8nOgorCSAgaWYgKGV4cGxkLnJlc3VsdC52YWx1ZSAhPSAwKQorCSAgICBleHBsZC5yZXN1bHQudmFsdWUgPSAoKGJmZF9zaWduZWRfdm1hKSBsaHMudmFsdWUKKwkJCQkgIC8gKGJmZF9zaWduZWRfdm1hKSBleHBsZC5yZXN1bHQudmFsdWUpOworCSAgZWxzZSBpZiAoZXhwbGQucGhhc2UgIT0gbGFuZ19tYXJrX3BoYXNlX2VudW0pCisJICAgIGVpbmZvIChfKCIlRiVTIC8gYnkgemVyb1xuIikpOworCSAgYnJlYWs7CiAKICNkZWZpbmUgQk9QKHgsIHkpIFwKIAkgICAgY2FzZSB4OgkJCQkJCQlcCiAJICAgICAgZXhwbGQucmVzdWx0LnZhbHVlID0gbGhzLnZhbHVlIHkgZXhwbGQucmVzdWx0LnZhbHVlOwlcCiAJICAgICAgYnJlYWs7CiAKLQkgICAgICBCT1AgKCcrJywgKyk7Ci0JICAgICAgQk9QICgnKicsICopOwotCSAgICAgIEJPUCAoJy0nLCAtKTsKLQkgICAgICBCT1AgKExTSElGVCwgPDwpOwotCSAgICAgIEJPUCAoUlNISUZULCA+Pik7Ci0JICAgICAgQk9QIChFUSwgPT0pOwotCSAgICAgIEJPUCAoTkUsICE9KTsKLQkgICAgICBCT1AgKCc8JywgPCk7Ci0JICAgICAgQk9QICgnPicsID4pOwotCSAgICAgIEJPUCAoTEUsIDw9KTsKLQkgICAgICBCT1AgKEdFLCA+PSk7Ci0JICAgICAgQk9QICgnJicsICYpOwotCSAgICAgIEJPUCAoJ14nLCBeKTsKLQkgICAgICBCT1AgKCd8JywgfCk7Ci0JICAgICAgQk9QIChBTkRBTkQsICYmKTsKLQkgICAgICBCT1AgKE9ST1IsIHx8KTsKKwkgIEJPUCAoJysnLCArKTsKKwkgIEJPUCAoJyonLCAqKTsKKwkgIEJPUCAoJy0nLCAtKTsKKwkgIEJPUCAoTFNISUZULCA8PCk7CisJICBCT1AgKFJTSElGVCwgPj4pOworCSAgQk9QIChFUSwgPT0pOworCSAgQk9QIChORSwgIT0pOworCSAgQk9QICgnPCcsIDwpOworCSAgQk9QICgnPicsID4pOworCSAgQk9QIChMRSwgPD0pOworCSAgQk9QIChHRSwgPj0pOworCSAgQk9QICgnJicsICYpOworCSAgQk9QICgnXicsIF4pOworCSAgQk9QICgnfCcsIHwpOworCSAgQk9QIChBTkRBTkQsICYmKTsKKwkgIEJPUCAoT1JPUiwgfHwpOwogCi0JICAgIGNhc2UgTUFYX0s6Ci0JICAgICAgaWYgKGxocy52YWx1ZSA+IGV4cGxkLnJlc3VsdC52YWx1ZSkKLQkJZXhwbGQucmVzdWx0LnZhbHVlID0gbGhzLnZhbHVlOwotCSAgICAgIGJyZWFrOworCWNhc2UgTUFYX0s6CisJICBpZiAobGhzLnZhbHVlID4gZXhwbGQucmVzdWx0LnZhbHVlKQorCSAgICBleHBsZC5yZXN1bHQudmFsdWUgPSBsaHMudmFsdWU7CisJICBicmVhazsKIAotCSAgICBjYXNlIE1JTl9LOgotCSAgICAgIGlmIChsaHMudmFsdWUgPCBleHBsZC5yZXN1bHQudmFsdWUpCi0JCWV4cGxkLnJlc3VsdC52YWx1ZSA9IGxocy52YWx1ZTsKLQkgICAgICBicmVhazsKKwljYXNlIE1JTl9LOgorCSAgaWYgKGxocy52YWx1ZSA8IGV4cGxkLnJlc3VsdC52YWx1ZSkKKwkgICAgZXhwbGQucmVzdWx0LnZhbHVlID0gbGhzLnZhbHVlOworCSAgYnJlYWs7CiAKLQkgICAgY2FzZSBBTElHTl9LOgotCSAgICAgIGV4cGxkLnJlc3VsdC52YWx1ZSA9IGFsaWduX24gKGxocy52YWx1ZSwgZXhwbGQucmVzdWx0LnZhbHVlKTsKLQkgICAgICBicmVhazsKKwljYXNlIEFMSUdOX0s6CisJICBleHBsZC5yZXN1bHQudmFsdWUgPSBhbGlnbl9uIChsaHMudmFsdWUsIGV4cGxkLnJlc3VsdC52YWx1ZSk7CisJICBicmVhazsKIAotCSAgICBjYXNlIERBVEFfU0VHTUVOVF9BTElHTjoKLQkgICAgICBleHBsZC5kYXRhc2VnLnJlbHJvID0gZXhwX2RhdGFzZWdfcmVscm9fc3RhcnQ7Ci0JICAgICAgaWYgKGV4cGxkLnBoYXNlICE9IGxhbmdfZmlyc3RfcGhhc2VfZW51bQotCQkgICYmIGV4cGxkLnNlY3Rpb24gPT0gYmZkX2Fic19zZWN0aW9uX3B0cgotCQkgICYmIChleHBsZC5kYXRhc2VnLnBoYXNlID09IGV4cF9kYXRhc2VnX25vbmUKLQkJICAgICAgfHwgZXhwbGQuZGF0YXNlZy5waGFzZSA9PSBleHBfZGF0YXNlZ19hZGp1c3QKLQkJICAgICAgfHwgZXhwbGQuZGF0YXNlZy5waGFzZSA9PSBleHBfZGF0YXNlZ19yZWxyb19hZGp1c3QKLQkJICAgICAgfHwgZXhwbGQucGhhc2UgPT0gbGFuZ19maW5hbF9waGFzZV9lbnVtKSkKKwljYXNlIERBVEFfU0VHTUVOVF9BTElHTjoKKwkgIGV4cGxkLmRhdGFzZWcucmVscm8gPSBleHBfZGF0YXNlZ19yZWxyb19zdGFydDsKKwkgIGlmIChleHBsZC5waGFzZSAhPSBsYW5nX2ZpcnN0X3BoYXNlX2VudW0KKwkgICAgICAmJiBleHBsZC5zZWN0aW9uID09IGJmZF9hYnNfc2VjdGlvbl9wdHIKKwkgICAgICAmJiAoZXhwbGQuZGF0YXNlZy5waGFzZSA9PSBleHBfZGF0YXNlZ19ub25lCisJCSAgfHwgZXhwbGQuZGF0YXNlZy5waGFzZSA9PSBleHBfZGF0YXNlZ19hZGp1c3QKKwkJICB8fCBleHBsZC5kYXRhc2VnLnBoYXNlID09IGV4cF9kYXRhc2VnX3JlbHJvX2FkanVzdAorCQkgIHx8IGV4cGxkLnBoYXNlID09IGxhbmdfZmluYWxfcGhhc2VfZW51bSkpCisJICAgIHsKKwkgICAgICBiZmRfdm1hIG1heHBhZ2UgPSBsaHMudmFsdWU7CisJICAgICAgYmZkX3ZtYSBjb21tb25wYWdlID0gZXhwbGQucmVzdWx0LnZhbHVlOworCisJICAgICAgZXhwbGQucmVzdWx0LnZhbHVlID0gYWxpZ25fbiAoZXhwbGQuZG90LCBtYXhwYWdlKTsKKwkgICAgICBpZiAoZXhwbGQuZGF0YXNlZy5waGFzZSA9PSBleHBfZGF0YXNlZ19yZWxyb19hZGp1c3QpCisJCWV4cGxkLnJlc3VsdC52YWx1ZSA9IGV4cGxkLmRhdGFzZWcuYmFzZTsKKwkgICAgICBlbHNlIGlmIChleHBsZC5kYXRhc2VnLnBoYXNlICE9IGV4cF9kYXRhc2VnX2FkanVzdCkKIAkJewotCQkgIGJmZF92bWEgbWF4cGFnZSA9IGxocy52YWx1ZTsKLQkJICBiZmRfdm1hIGNvbW1vbnBhZ2UgPSBleHBsZC5yZXN1bHQudmFsdWU7Ci0KLQkJICBleHBsZC5yZXN1bHQudmFsdWUgPSBhbGlnbl9uIChleHBsZC5kb3QsIG1heHBhZ2UpOwotCQkgIGlmIChleHBsZC5kYXRhc2VnLnBoYXNlID09IGV4cF9kYXRhc2VnX3JlbHJvX2FkanVzdCkKLQkJICAgIGV4cGxkLnJlc3VsdC52YWx1ZSA9IGV4cGxkLmRhdGFzZWcuYmFzZTsKLQkJICBlbHNlIGlmIChleHBsZC5kYXRhc2VnLnBoYXNlICE9IGV4cF9kYXRhc2VnX2FkanVzdCkKKwkJICBleHBsZC5yZXN1bHQudmFsdWUgKz0gZXhwbGQuZG90ICYgKG1heHBhZ2UgLSAxKTsKKwkJICBpZiAoZXhwbGQucGhhc2UgPT0gbGFuZ19hbGxvY2F0aW5nX3BoYXNlX2VudW0pCiAJCSAgICB7Ci0JCSAgICAgIGV4cGxkLnJlc3VsdC52YWx1ZSArPSBleHBsZC5kb3QgJiAobWF4cGFnZSAtIDEpOwotCQkgICAgICBpZiAoZXhwbGQucGhhc2UgPT0gbGFuZ19hbGxvY2F0aW5nX3BoYXNlX2VudW0pCi0JCQl7Ci0JCQkgIGV4cGxkLmRhdGFzZWcucGhhc2UgPSBleHBfZGF0YXNlZ19hbGlnbl9zZWVuOwotCQkJICBleHBsZC5kYXRhc2VnLm1pbl9iYXNlID0gZXhwbGQuZG90OwotCQkJICBleHBsZC5kYXRhc2VnLmJhc2UgPSBleHBsZC5yZXN1bHQudmFsdWU7Ci0JCQkgIGV4cGxkLmRhdGFzZWcucGFnZXNpemUgPSBjb21tb25wYWdlOwotCQkJICBleHBsZC5kYXRhc2VnLm1heHBhZ2VzaXplID0gbWF4cGFnZTsKLQkJCSAgZXhwbGQuZGF0YXNlZy5yZWxyb19lbmQgPSAwOwotCQkJfQorCQkgICAgICBleHBsZC5kYXRhc2VnLnBoYXNlID0gZXhwX2RhdGFzZWdfYWxpZ25fc2VlbjsKKwkJICAgICAgZXhwbGQuZGF0YXNlZy5taW5fYmFzZSA9IGV4cGxkLmRvdDsKKwkJICAgICAgZXhwbGQuZGF0YXNlZy5iYXNlID0gZXhwbGQucmVzdWx0LnZhbHVlOworCQkgICAgICBleHBsZC5kYXRhc2VnLnBhZ2VzaXplID0gY29tbW9ucGFnZTsKKwkJICAgICAgZXhwbGQuZGF0YXNlZy5tYXhwYWdlc2l6ZSA9IG1heHBhZ2U7CisJCSAgICAgIGV4cGxkLmRhdGFzZWcucmVscm9fZW5kID0gMDsKIAkJICAgIH0KLQkJICBlbHNlIGlmIChjb21tb25wYWdlIDwgbWF4cGFnZSkKLQkJICAgIGV4cGxkLnJlc3VsdC52YWx1ZSArPSAoKGV4cGxkLmRvdCArIGNvbW1vbnBhZ2UgLSAxKQotCQkJCQkgICAmIChtYXhwYWdlIC0gY29tbW9ucGFnZSkpOwogCQl9Ci0JICAgICAgZWxzZQotCQlleHBsZC5yZXN1bHQudmFsaWRfcCA9IEZBTFNFOwotCSAgICAgIGJyZWFrOwotCi0JICAgIGNhc2UgREFUQV9TRUdNRU5UX1JFTFJPX0VORDoKLQkgICAgICBleHBsZC5kYXRhc2VnLnJlbHJvID0gZXhwX2RhdGFzZWdfcmVscm9fZW5kOwotCSAgICAgIGlmIChleHBsZC5waGFzZSAhPSBsYW5nX2ZpcnN0X3BoYXNlX2VudW0KLQkJICAmJiAoZXhwbGQuZGF0YXNlZy5waGFzZSA9PSBleHBfZGF0YXNlZ19hbGlnbl9zZWVuCi0JCSAgICAgIHx8IGV4cGxkLmRhdGFzZWcucGhhc2UgPT0gZXhwX2RhdGFzZWdfYWRqdXN0Ci0JCSAgICAgIHx8IGV4cGxkLmRhdGFzZWcucGhhc2UgPT0gZXhwX2RhdGFzZWdfcmVscm9fYWRqdXN0Ci0JCSAgICAgIHx8IGV4cGxkLnBoYXNlID09IGxhbmdfZmluYWxfcGhhc2VfZW51bSkpCi0JCXsKLQkJICBpZiAoZXhwbGQuZGF0YXNlZy5waGFzZSA9PSBleHBfZGF0YXNlZ19hbGlnbl9zZWVuCi0JCSAgICAgIHx8IGV4cGxkLmRhdGFzZWcucGhhc2UgPT0gZXhwX2RhdGFzZWdfcmVscm9fYWRqdXN0KQotCQkgICAgZXhwbGQuZGF0YXNlZy5yZWxyb19lbmQgPSBsaHMudmFsdWUgKyBleHBsZC5yZXN1bHQudmFsdWU7Ci0KLQkJICBpZiAoZXhwbGQuZGF0YXNlZy5waGFzZSA9PSBleHBfZGF0YXNlZ19yZWxyb19hZGp1c3QKLQkJICAgICAgJiYgKGV4cGxkLmRhdGFzZWcucmVscm9fZW5kCi0JCQkgICYgKGV4cGxkLmRhdGFzZWcucGFnZXNpemUgLSAxKSkpCi0JCSAgICB7Ci0JCSAgICAgIGV4cGxkLmRhdGFzZWcucmVscm9fZW5kICs9IGV4cGxkLmRhdGFzZWcucGFnZXNpemUgLSAxOwotCQkgICAgICBleHBsZC5kYXRhc2VnLnJlbHJvX2VuZCAmPSB+KGV4cGxkLmRhdGFzZWcucGFnZXNpemUgLSAxKTsKLQkJICAgICAgZXhwbGQucmVzdWx0LnZhbHVlID0gKGV4cGxkLmRhdGFzZWcucmVscm9fZW5kCi0JCQkJCSAgICAtIGV4cGxkLnJlc3VsdC52YWx1ZSk7Ci0JCSAgICB9Ci0JCSAgZWxzZQotCQkgICAgZXhwbGQucmVzdWx0LnZhbHVlID0gbGhzLnZhbHVlOwotCi0JCSAgaWYgKGV4cGxkLmRhdGFzZWcucGhhc2UgPT0gZXhwX2RhdGFzZWdfYWxpZ25fc2VlbikKLQkJICAgIGV4cGxkLmRhdGFzZWcucGhhc2UgPSBleHBfZGF0YXNlZ19yZWxyb19zZWVuOwotCQl9Ci0JICAgICAgZWxzZQotCQlleHBsZC5yZXN1bHQudmFsaWRfcCA9IEZBTFNFOwotCSAgICAgIGJyZWFrOwotCi0JICAgIGRlZmF1bHQ6Ci0JICAgICAgRkFJTCAoKTsKKwkgICAgICBlbHNlIGlmIChjb21tb25wYWdlIDwgbWF4cGFnZSkKKwkJZXhwbGQucmVzdWx0LnZhbHVlICs9ICgoZXhwbGQuZG90ICsgY29tbW9ucGFnZSAtIDEpCisJCQkJICAgICAgICYgKG1heHBhZ2UgLSBjb21tb25wYWdlKSk7CiAJICAgIH0KKwkgIGVsc2UKKwkgICAgZXhwbGQucmVzdWx0LnZhbGlkX3AgPSBGQUxTRTsKKwkgIGJyZWFrOworCisJY2FzZSBEQVRBX1NFR01FTlRfUkVMUk9fRU5EOgorCSAgZXhwbGQuZGF0YXNlZy5yZWxybyA9IGV4cF9kYXRhc2VnX3JlbHJvX2VuZDsKKwkgIGlmIChleHBsZC5waGFzZSAhPSBsYW5nX2ZpcnN0X3BoYXNlX2VudW0KKwkgICAgICAmJiAoZXhwbGQuZGF0YXNlZy5waGFzZSA9PSBleHBfZGF0YXNlZ19hbGlnbl9zZWVuCisJCSAgfHwgZXhwbGQuZGF0YXNlZy5waGFzZSA9PSBleHBfZGF0YXNlZ19hZGp1c3QKKwkJICB8fCBleHBsZC5kYXRhc2VnLnBoYXNlID09IGV4cF9kYXRhc2VnX3JlbHJvX2FkanVzdAorCQkgIHx8IGV4cGxkLnBoYXNlID09IGxhbmdfZmluYWxfcGhhc2VfZW51bSkpCisJICAgIHsKKwkgICAgICBpZiAoZXhwbGQuZGF0YXNlZy5waGFzZSA9PSBleHBfZGF0YXNlZ19hbGlnbl9zZWVuCisJCSAgfHwgZXhwbGQuZGF0YXNlZy5waGFzZSA9PSBleHBfZGF0YXNlZ19yZWxyb19hZGp1c3QpCisJCWV4cGxkLmRhdGFzZWcucmVscm9fZW5kID0gbGhzLnZhbHVlICsgZXhwbGQucmVzdWx0LnZhbHVlOworCisJICAgICAgaWYgKGV4cGxkLmRhdGFzZWcucGhhc2UgPT0gZXhwX2RhdGFzZWdfcmVscm9fYWRqdXN0CisJCSAgJiYgKGV4cGxkLmRhdGFzZWcucmVscm9fZW5kCisJCSAgICAgICYgKGV4cGxkLmRhdGFzZWcucGFnZXNpemUgLSAxKSkpCisJCXsKKwkJICBleHBsZC5kYXRhc2VnLnJlbHJvX2VuZCArPSBleHBsZC5kYXRhc2VnLnBhZ2VzaXplIC0gMTsKKwkJICBleHBsZC5kYXRhc2VnLnJlbHJvX2VuZCAmPSB+KGV4cGxkLmRhdGFzZWcucGFnZXNpemUgLSAxKTsKKwkJICBleHBsZC5yZXN1bHQudmFsdWUgPSAoZXhwbGQuZGF0YXNlZy5yZWxyb19lbmQKKwkJCQkJLSBleHBsZC5yZXN1bHQudmFsdWUpOworCQl9CisJICAgICAgZWxzZQorCQlleHBsZC5yZXN1bHQudmFsdWUgPSBsaHMudmFsdWU7CisKKwkgICAgICBpZiAoZXhwbGQuZGF0YXNlZy5waGFzZSA9PSBleHBfZGF0YXNlZ19hbGlnbl9zZWVuKQorCQlleHBsZC5kYXRhc2VnLnBoYXNlID0gZXhwX2RhdGFzZWdfcmVscm9fc2VlbjsKKwkgICAgfQorCSAgZWxzZQorCSAgICBleHBsZC5yZXN1bHQudmFsaWRfcCA9IEZBTFNFOworCSAgYnJlYWs7CisKKwlkZWZhdWx0OgorCSAgRkFJTCAoKTsKIAl9Ci0gICAgICBlbHNlCi0JZXhwbGQucmVzdWx0LnZhbGlkX3AgPSBGQUxTRTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL2xkL2xkbGFuZy5jIGIvbGQvbGRsYW5nLmMKaW5kZXggYjFiODgwNi4uOWZkMjZhOSAxMDA2NDQKLS0tIGEvbGQvbGRsYW5nLmMKKysrIGIvbGQvbGRsYW5nLmMKQEAgLTE5Myw3ICsxOTMsNyBAQAogICByZXR1cm4gbWF0Y2g7CiB9CiAKLWJmZF9ib29sZWFuCitzdGF0aWMgYmZkX2Jvb2xlYW4KIHVuaXF1ZV9zZWN0aW9uX3AgKGNvbnN0IGFzZWN0aW9uICpzZWMpCiB7CiAgIHN0cnVjdCB1bmlxdWVfc2VjdGlvbnMgKnVuYW07CkBAIC0xMjc4LDE5ICsxMjc4LDI1IEBACiAgICAgICBzdHJ1Y3Qgb3V0X3NlY3Rpb25faGFzaF9lbnRyeSAqbGFzdF9lbnQ7CiAgICAgICB1bnNpZ25lZCBsb25nIGhhc2ggPSBlbnRyeS0+cm9vdC5oYXNoOwogCi0gICAgICBkbwotCXsKLQkgIGlmIChlbnRyeS0+cy5vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnQuY29uc3RyYWludCA+PSAwCi0JICAgICAgJiYgKGNvbnN0cmFpbnQgPT0gMAotCQkgIHx8IChjb25zdHJhaW50ID09IGVudHJ5LT5zLm91dHB1dF9zZWN0aW9uX3N0YXRlbWVudC5jb25zdHJhaW50Ci0JCSAgICAgICYmIGNvbnN0cmFpbnQgIT0gU1BFQ0lBTCkpKQotCSAgICByZXR1cm4gJmVudHJ5LT5zLm91dHB1dF9zZWN0aW9uX3N0YXRlbWVudDsKLQkgIGxhc3RfZW50ID0gZW50cnk7Ci0JICBlbnRyeSA9IChzdHJ1Y3Qgb3V0X3NlY3Rpb25faGFzaF9lbnRyeSAqKSBlbnRyeS0+cm9vdC5uZXh0OwotCX0KLSAgICAgIHdoaWxlIChlbnRyeSAhPSBOVUxMCi0JICAgICAmJiBlbnRyeS0+cm9vdC5oYXNoID09IGhhc2gKLQkgICAgICYmIHN0cmNtcCAobmFtZSwgZW50cnktPnMub3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50Lm5hbWUpID09IDApOworICAgICAgaWYgKGNyZWF0ZSAmJiBjb25zdHJhaW50ID09IFNQRUNJQUwpCisJLyogTm90IHRyYXZlcnNpbmcgdG8gdGhlIGVuZCByZXZlcnNlcyB0aGUgb3JkZXIgb2YgdGhlIHNlY29uZAorCSAgIGFuZCBzdWJzZXF1ZW50IFNQRUNJQUwgc2VjdGlvbnMgaW4gdGhlIGhhc2ggdGFibGUgY2hhaW4sCisJICAgYnV0IHRoYXQgc2hvdWxkbid0IG1hdHRlci4gICovCisJbGFzdF9lbnQgPSBlbnRyeTsKKyAgICAgIGVsc2UKKwlkbworCSAgeworCSAgICBpZiAoZW50cnktPnMub3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50LmNvbnN0cmFpbnQgPj0gMAorCQkmJiAoY29uc3RyYWludCA9PSAwCisJCSAgICB8fCAoY29uc3RyYWludAorCQkJPT0gZW50cnktPnMub3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50LmNvbnN0cmFpbnQpKSkKKwkgICAgICByZXR1cm4gJmVudHJ5LT5zLm91dHB1dF9zZWN0aW9uX3N0YXRlbWVudDsKKwkgICAgbGFzdF9lbnQgPSBlbnRyeTsKKwkgICAgZW50cnkgPSAoc3RydWN0IG91dF9zZWN0aW9uX2hhc2hfZW50cnkgKikgZW50cnktPnJvb3QubmV4dDsKKwkgIH0KKwl3aGlsZSAoZW50cnkgIT0gTlVMTAorCSAgICAgICAmJiBlbnRyeS0+cm9vdC5oYXNoID09IGhhc2gKKwkgICAgICAgJiYgc3RyY21wIChuYW1lLCBlbnRyeS0+cy5vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnQubmFtZSkgPT0gMCk7CiAKICAgICAgIGlmICghY3JlYXRlKQogCXJldHVybiBOVUxMOwpAQCAtMTM1Nyw3ICsxMzYzLDggQEAKICAgICAgIHJldHVybiBmb3VuZDsKICAgICB9CiAKLSAgaWYgKHNlYy0+ZmxhZ3MgJiBTRUNfQ09ERSkKKyAgaWYgKChzZWMtPmZsYWdzICYgU0VDX0NPREUpICE9IDAKKyAgICAgICYmIChzZWMtPmZsYWdzICYgU0VDX0FMTE9DKSAhPSAwKQogICAgIHsKICAgICAgIC8qIFRyeSBmb3IgYSBydyBjb2RlIHNlY3Rpb24uICAqLwogICAgICAgZm9yIChsb29rID0gZmlyc3Q7IGxvb2s7IGxvb2sgPSBsb29rLT5uZXh0KQpAQCAtMTM3Nyw3ICsxMzg0LDggQEAKIAkgICAgZm91bmQgPSBsb29rOwogCX0KICAgICB9Ci0gIGVsc2UgaWYgKHNlYy0+ZmxhZ3MgJiAoU0VDX1JFQURPTkxZIHwgU0VDX1RIUkVBRF9MT0NBTCkpCisgIGVsc2UgaWYgKChzZWMtPmZsYWdzICYgKFNFQ19SRUFET05MWSB8IFNFQ19USFJFQURfTE9DQUwpKSAhPSAwCisJICAgJiYgKHNlYy0+ZmxhZ3MgJiBTRUNfQUxMT0MpICE9IDApCiAgICAgewogICAgICAgLyogLnJvZGF0YSBjYW4gZ28gYWZ0ZXIgLnRleHQsIC5zZGF0YTIgYWZ0ZXIgLnJvZGF0YS4gICovCiAgICAgICBmb3IgKGxvb2sgPSBmaXJzdDsgbG9vazsgbG9vayA9IGxvb2stPm5leHQpCkBAIC0xMzk4LDcgKzE0MDYsOCBAQAogCSAgICBmb3VuZCA9IGxvb2s7CiAJfQogICAgIH0KLSAgZWxzZSBpZiAoc2VjLT5mbGFncyAmIFNFQ19TTUFMTF9EQVRBKQorICBlbHNlIGlmICgoc2VjLT5mbGFncyAmIFNFQ19TTUFMTF9EQVRBKSAhPSAwCisJICAgJiYgKHNlYy0+ZmxhZ3MgJiBTRUNfQUxMT0MpICE9IDApCiAgICAgewogICAgICAgLyogLnNkYXRhIGdvZXMgYWZ0ZXIgLmRhdGEsIC5zYnNzIGFmdGVyIC5zZGF0YS4gICovCiAgICAgICBmb3IgKGxvb2sgPSBmaXJzdDsgbG9vazsgbG9vayA9IGxvb2stPm5leHQpCkBAIC0xNDIwLDcgKzE0MjksOCBAQAogCSAgICBmb3VuZCA9IGxvb2s7CiAJfQogICAgIH0KLSAgZWxzZSBpZiAoc2VjLT5mbGFncyAmIFNFQ19IQVNfQ09OVEVOVFMpCisgIGVsc2UgaWYgKChzZWMtPmZsYWdzICYgU0VDX0hBU19DT05URU5UUykgIT0gMAorCSAgICYmIChzZWMtPmZsYWdzICYgU0VDX0FMTE9DKSAhPSAwKQogICAgIHsKICAgICAgIC8qIC5kYXRhIGdvZXMgYWZ0ZXIgLnJvZGF0YS4gICovCiAgICAgICBmb3IgKGxvb2sgPSBmaXJzdDsgbG9vazsgbG9vayA9IGxvb2stPm5leHQpCkBAIC0xNDQwLDkgKzE0NTAsOSBAQAogCSAgICBmb3VuZCA9IGxvb2s7CiAJfQogICAgIH0KLSAgZWxzZQorICBlbHNlIGlmICgoc2VjLT5mbGFncyAmIFNFQ19BTExPQykgIT0gMCkKICAgICB7Ci0gICAgICAvKiAuYnNzIGdvZXMgbGFzdC4gICovCisgICAgICAvKiAuYnNzIGdvZXMgYWZ0ZXIgYW55IG90aGVyIGFsbG9jIHNlY3Rpb24uICAqLwogICAgICAgZm9yIChsb29rID0gZmlyc3Q7IGxvb2s7IGxvb2sgPSBsb29rLT5uZXh0KQogCXsKIAkgIGZsYWdzID0gbG9vay0+ZmxhZ3M7CkBAIC0xNDU5LDYgKzE0NjksMjAgQEAKIAkgICAgZm91bmQgPSBsb29rOwogCX0KICAgICB9CisgIGVsc2UKKyAgICB7CisgICAgICAvKiBub24tYWxsb2MgZ28gbGFzdC4gICovCisgICAgICBmb3IgKGxvb2sgPSBmaXJzdDsgbG9vazsgbG9vayA9IGxvb2stPm5leHQpCisJeworCSAgZmxhZ3MgPSBsb29rLT5mbGFnczsKKwkgIGlmIChsb29rLT5iZmRfc2VjdGlvbiAhPSBOVUxMKQorCSAgICBmbGFncyA9IGxvb2stPmJmZF9zZWN0aW9uLT5mbGFnczsKKwkgIGZsYWdzIF49IHNlYy0+ZmxhZ3M7CisJICBpZiAoIShmbGFncyAmIFNFQ19ERUJVR0dJTkcpKQorCSAgICBmb3VuZCA9IGxvb2s7CisJfQorICAgICAgcmV0dXJuIGZvdW5kOworICAgIH0KIAogICBpZiAoZm91bmQgfHwgIW1hdGNoX3R5cGUpCiAgICAgcmV0dXJuIGZvdW5kOwpAQCAtMTU1Niw2ICsxNTgwLDcgQEAKIGxhbmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3R5cGUgKgogbGFuZ19pbnNlcnRfb3JwaGFuIChhc2VjdGlvbiAqcywKIAkJICAgIGNvbnN0IGNoYXIgKnNlY25hbWUsCisJCSAgICBpbnQgY29uc3RyYWludCwKIAkJICAgIGxhbmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3R5cGUgKmFmdGVyLAogCQkgICAgc3RydWN0IG9ycGhhbl9zYXZlICpwbGFjZSwKIAkJICAgIGV0cmVlX3R5cGUgKmFkZHJlc3MsCkBAIC0xNjExLDcgKzE2MzYsNyBAQAogICBvc190YWlsID0gKChsYW5nX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudF90eXBlICoqKQogCSAgICAgbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnQudGFpbCk7CiAgIG9zID0gbGFuZ19lbnRlcl9vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnQgKHNlY25hbWUsIGFkZHJlc3MsIDAsIE5VTEwsIE5VTEwsCi0JCQkJCSAgICBOVUxMLCAwKTsKKwkJCQkJICAgIE5VTEwsIGNvbnN0cmFpbnQpOwogCiAgIGlmIChhZGRfY2hpbGQgPT0gTlVMTCkKICAgICBhZGRfY2hpbGQgPSAmb3MtPmNoaWxkcmVuOwpAQCAtMTkxNCwxMCArMTkzOSwxMSBAQAogICBpZiAoc3RyY21wIChzLT5uYW1lLCBESVNDQVJEX1NFQ1RJT05fTkFNRSkgPT0gMCkKICAgICBlaW5mbyAoXygiJVAlRjogSWxsZWdhbCB1c2Ugb2YgYCVzJyBzZWN0aW9uXG4iKSwgRElTQ0FSRF9TRUNUSU9OX05BTUUpOwogCi0gIHMtPmJmZF9zZWN0aW9uID0gYmZkX2dldF9zZWN0aW9uX2J5X25hbWUgKGxpbmtfaW5mby5vdXRwdXRfYmZkLCBzLT5uYW1lKTsKKyAgaWYgKHMtPmNvbnN0cmFpbnQgIT0gU1BFQ0lBTCkKKyAgICBzLT5iZmRfc2VjdGlvbiA9IGJmZF9nZXRfc2VjdGlvbl9ieV9uYW1lIChsaW5rX2luZm8ub3V0cHV0X2JmZCwgcy0+bmFtZSk7CiAgIGlmIChzLT5iZmRfc2VjdGlvbiA9PSBOVUxMKQotICAgIHMtPmJmZF9zZWN0aW9uID0gYmZkX21ha2Vfc2VjdGlvbl93aXRoX2ZsYWdzIChsaW5rX2luZm8ub3V0cHV0X2JmZCwKLQkJCQkJCSAgcy0+bmFtZSwgZmxhZ3MpOworICAgIHMtPmJmZF9zZWN0aW9uID0gYmZkX21ha2Vfc2VjdGlvbl9hbnl3YXlfd2l0aF9mbGFncyAobGlua19pbmZvLm91dHB1dF9iZmQsCisJCQkJCQkJIHMtPm5hbWUsIGZsYWdzKTsKICAgaWYgKHMtPmJmZF9zZWN0aW9uID09IE5VTEwpCiAgICAgewogICAgICAgZWluZm8gKF8oIiVQJUY6IG91dHB1dCBmb3JtYXQgJXMgY2Fubm90IHJlcHJlc2VudCBzZWN0aW9uIGNhbGxlZCAlc1xuIiksCkBAIC00NjAwLDcgKzQ2MjYsMTIgQEAKIAkJCSAgICAgb3MtPm5hbWUsICh1bnNpZ25lZCBsb25nKSAobmV3ZG90IC0gc2F2ZWRvdCkpOwogCQkgIH0KIAotCQliZmRfc2V0X3NlY3Rpb25fdm1hICgwLCBvcy0+YmZkX3NlY3Rpb24sIG5ld2RvdCk7CisJCS8qIFBSIDY5NDU6IERvIG5vdCB1cGRhdGUgdGhlIHZtYSdzIG9mIG91dHB1dCBzZWN0aW9ucworCQkgICB3aGVuIHBlcmZvcm1pbmcgYSByZWxvY2F0YWJsZSBsaW5rIG9uIENPRkYgb2JqZWN0cy4gICovCisJCWlmICghIGxpbmtfaW5mby5yZWxvY2F0YWJsZQorCQkgICAgfHwgKGJmZF9nZXRfZmxhdm91ciAobGlua19pbmZvLm91dHB1dF9iZmQpCisJCQkhPSBiZmRfdGFyZ2V0X2NvZmZfZmxhdm91cikpCisJCSAgYmZkX3NldF9zZWN0aW9uX3ZtYSAoMCwgb3MtPmJmZF9zZWN0aW9uLCBuZXdkb3QpOwogCiAJCW9zLT5iZmRfc2VjdGlvbi0+b3V0cHV0X29mZnNldCA9IDA7CiAJICAgICAgfQpAQCAtNTY1MiwxNCArNTY4MywyMiBAQAogCQkJCQlkZWZhdWx0X2NvbW1vbl9zZWN0aW9uKTsKIAkJICAgIH0KIAkJfQotCSAgICAgIGVsc2UgaWYgKGxkZW11bF9wbGFjZV9vcnBoYW4gKHMpKQotCQk7CiAJICAgICAgZWxzZQogCQl7Ci0JCSAgbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdHlwZSAqb3M7CisJCSAgY29uc3QgY2hhciAqbmFtZSA9IHMtPm5hbWU7CisJCSAgaW50IGNvbnN0cmFpbnQgPSAwOwogCi0JCSAgb3MgPSBsYW5nX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudF9sb29rdXAgKHMtPm5hbWUsIDAsIFRSVUUpOwotCQkgIGxhbmdfYWRkX3NlY3Rpb24gKCZvcy0+Y2hpbGRyZW4sIHMsIG9zKTsKKwkJICBpZiAoY29uZmlnLnVuaXF1ZV9vcnBoYW5fc2VjdGlvbnMgfHwgdW5pcXVlX3NlY3Rpb25fcCAocykpCisJCSAgICBjb25zdHJhaW50ID0gU1BFQ0lBTDsKKworCQkgIGlmICghbGRlbXVsX3BsYWNlX29ycGhhbiAocywgbmFtZSwgY29uc3RyYWludCkpCisJCSAgICB7CisJCSAgICAgIGxhbmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3R5cGUgKm9zOworCQkgICAgICBvcyA9IGxhbmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X2xvb2t1cCAobmFtZSwKKwkJCQkJCQkJIGNvbnN0cmFpbnQsCisJCQkJCQkJCSBUUlVFKTsKKwkJICAgICAgbGFuZ19hZGRfc2VjdGlvbiAoJm9zLT5jaGlsZHJlbiwgcywgb3MpOworCQkgICAgfQogCQl9CiAJICAgIH0KIAl9CmRpZmYgLS1naXQgYS9sZC9sZGxhbmcuaCBiL2xkL2xkbGFuZy5oCmluZGV4IDhiNjUyYTguLmZkMDQ2NWUgMTAwNjQ0Ci0tLSBhL2xkL2xkbGFuZy5oCisrKyBiL2xkL2xkbGFuZy5oCkBAIC01MzYsNyArNTM2LDcgQEAKICAgKGNvbnN0IGFzZWN0aW9uICosIGxhbmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3R5cGUgKiosCiAgICBsYW5nX21hdGNoX3NlY190eXBlX2Z1bmMpOwogZXh0ZXJuIGxhbmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3R5cGUgKmxhbmdfaW5zZXJ0X29ycGhhbgotICAoYXNlY3Rpb24gKiwgY29uc3QgY2hhciAqLCBsYW5nX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudF90eXBlICosCisgIChhc2VjdGlvbiAqLCBjb25zdCBjaGFyICosIGludCwgbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdHlwZSAqLAogICAgc3RydWN0IG9ycGhhbl9zYXZlICosIGV0cmVlX3R5cGUgKiwgbGFuZ19zdGF0ZW1lbnRfbGlzdF90eXBlICopOwogZXh0ZXJuIGxhbmdfaW5wdXRfc3RhdGVtZW50X3R5cGUgKmxhbmdfYWRkX2lucHV0X2ZpbGUKICAgKGNvbnN0IGNoYXIgKiwgbGFuZ19pbnB1dF9maWxlX2VudW1fdHlwZSwgY29uc3QgY2hhciAqKTsKQEAgLTYwNCw4ICs2MDQsNiBAQAogZXh0ZXJuIHZvaWQgbGFuZ19hcHBlbmRfZHluYW1pY19saXN0IChzdHJ1Y3QgYmZkX2VsZl92ZXJzaW9uX2V4cHIgKik7CiBleHRlcm4gdm9pZCBsYW5nX2FwcGVuZF9keW5hbWljX2xpc3RfY3BwX3R5cGVpbmZvICh2b2lkKTsKIGV4dGVybiB2b2lkIGxhbmdfYXBwZW5kX2R5bmFtaWNfbGlzdF9jcHBfbmV3ICh2b2lkKTsKLWJmZF9ib29sZWFuIHVuaXF1ZV9zZWN0aW9uX3AKLSAgKGNvbnN0IGFzZWN0aW9uICopOwogZXh0ZXJuIHZvaWQgbGFuZ19hZGRfdW5pcXVlCiAgIChjb25zdCBjaGFyICopOwogZXh0ZXJuIGNvbnN0IGNoYXIgKmxhbmdfZ2V0X291dHB1dF90YXJnZXQKZGlmZiAtLWdpdCBhL2xkL3BlLWRsbC5jIGIvbGQvcGUtZGxsLmMKaW5kZXggZWE4NDk5OS4uYmY0YjUwOSAxMDA2NDQKLS0tIGEvbGQvcGUtZGxsLmMKKysrIGIvbGQvcGUtZGxsLmMKQEAgLTIyNDIsNiArMjI0Miw3IEBACiAgIGQyID0geG1hbGxvYyAoMjApOwogICBpZDItPmNvbnRlbnRzID0gZDI7CiAgIG1lbXNldCAoZDIsIDAsIDIwKTsKKyAgZDJbMF0gPSBkMlsxNl0gPSBQRV9JREFUQTVfU0laRTsgLyogUmVsb2MgYWRkZW5kLiAgKi8KIAogICBxdWlja19yZWxvYyAoYWJmZCwgMCwgQkZEX1JFTE9DX1JWQSwgMSk7CiAgIHF1aWNrX3JlbG9jIChhYmZkLCAxMiwgQkZEX1JFTE9DX1JWQSwgMik7CmRpZmYgLS1naXQgYS9sZC9wby9pZC5wbyBiL2xkL3BvL2lkLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxYWM5NTgKLS0tIC9kZXYvbnVsbAorKysgYi9sZC9wby9pZC5wbwpAQCAtMCwwICsxLDIwMTkgQEAKKyMgUGVzYW4gQmFoYXNhIEluZG9uZXNpYSB1bnR1ayBMRAorIyBDb3B5cmlnaHQgKEMpIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBiaW51dGlscyBwYWNrYWdlLgorIyBBcmlmIEUuIE51Z3JvaG8gPGFyaWZfZW5kcm9AeWFob28uY29tPiwgMjAwOC4KKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGxkIDIuMTguOTBcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWJpbnV0aWxzQGdudS5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOC0wOS0wOSAxNTo1NiswOTMwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0xMC0wOCAxMDowMCswNzAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBBcmlmIEUuIE51Z3JvaG8gPGFyaWZfZW5kcm9AeWFob28uY29tPlxuIgorIkxhbmd1YWdlLVRlYW06IEluZG9uZXNpYW4gPHRyYW5zbGF0aW9uLXRlYW0taWRAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisKKyM6IGVtdWx0ZW1wbC9hcm1jb2ZmLmVtOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1zdXBwb3J0LW9sZC1jb2RlICAgICAgICAgIFN1cHBvcnQgaW50ZXJ3b3JraW5nIHdpdGggb2xkIGNvZGVcbiIKK21zZ3N0ciAiICAtLXN1cHBvcnQtb2xkLWNvZGUgICAgICAgICAgRHVrdW5nIGFudGFyLWtlcmphIGRlbmdhbiBrb2RlIGxhbWFcbiIKKworIzogZW11bHRlbXBsL2FybWNvZmYuZW06NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLXRodW1iLWVudHJ5PTxzeW0+ICAgICAgICAgU2V0IHRoZSBlbnRyeSBwb2ludCB0byBiZSBUaHVtYiBzeW1ib2wgPHN5bT5cbiIKK21zZ3N0ciAiICAtLXRodW1iLWVudHJ5PTxzeW0+ICAgICAgICAgIFNldCB0aXRpayBtYXN1a2FuIGtlIHNpbWJvbCBUaHVtYiA8c3ltPlxuIgorCisjOiBlbXVsdGVtcGwvYXJtY29mZi5lbToxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXJyb3JzIGVuY291bnRlcmVkIHByb2Nlc3NpbmcgZmlsZSAlcyIKK21zZ3N0ciAiRXJyb3IgZGl0ZW11aSBkYWxhbSBwZW1yb3Nlc2FuIGJlcmthcyAlcyIKKworIzogZW11bHRlbXBsL2FybWNvZmYuZW06MTkwIGVtdWx0ZW1wbC9wZS5lbToxNTU1Cittc2dpZCAiJVA6IHdhcm5pbmc6ICctLXRodW1iLWVudHJ5ICVzJyBpcyBvdmVycmlkaW5nICctZSAlcydcbiIKK21zZ3N0ciAiJVA6IHBlcmluZ2F0YW46ICctLXRodW1iLWVudHJ5ICVzJyBtZW1ha3NhICctZSAlcydcbiIKKworIzogZW11bHRlbXBsL2FybWNvZmYuZW06MTk1IGVtdWx0ZW1wbC9wZS5lbToxNTYwCittc2dpZCAiJVA6IHdhcm5pbmc6IGNhbm5vdCBmaW5kIHRodW1iIHN0YXJ0IHN5bWJvbCAlc1xuIgorbXNnc3RyICIlUDogd2FybmluZzogdGlkYWsgZGFwYXQgbWVuZW11a2FuIHRodW1iIGF3YWwgc2ltYm9sICVzXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLWJhc2VfZmlsZSA8YmFzZWZpbGU+ICAgICAgICAgICAgIEdlbmVyYXRlIGEgYmFzZSBmaWxlIGZvciByZWxvY2F0YWJsZSBETExzXG4iCittc2dzdHIgIiAgLS1iYXNlX2ZpbGUgPGJhc2VmaWxlPiAgICAgICAgICAgICBCdWF0IHNlYnVhaCBiZXJrYXMgZGFzYXIgdW50dWsgRExMIHlhbmcgZGFwYXQgZGlyZWxva2FzaWthblxuIgorCisjOiBlbXVsdGVtcGwvcGUuZW06MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1kbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXQgaW1hZ2UgYmFzZSB0byB0aGUgZGVmYXVsdCBmb3IgRExMc1xuIgorbXNnc3RyICIgIC0tZGxsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2V0IGRhc2FyIGltYWdlIGtlIGRlZmF1bHQgdW50dWsgRExMc1xuIgorCisjOiBlbXVsdGVtcGwvcGUuZW06MzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1maWxlLWFsaWdubWVudCA8c2l6ZT4gICAgICAgICAgICBTZXQgZmlsZSBhbGlnbm1lbnRcbiIKK21zZ3N0ciAiICAtLWZpbGUtYWxpZ25tZW50IDxiZXNhcj4gICAgICAgICAgIFNldCBiZXJrYXMgYWxpZ25tZW50XG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLWhlYXAgPHNpemU+ICAgICAgICAgICAgICAgICAgICAgIFNldCBpbml0aWFsIHNpemUgb2YgdGhlIGhlYXBcbiIKK21zZ3N0ciAiICAtLWhlYXAgPGJlc2FyPiAgICAgICAgICAgICAgICAgICAgIFNldCB1a3VyYW4gaW5pc2lhbCBkYXJpIGhlYXBcbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjMyMAorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0taW1hZ2UtYmFzZSA8YWRkcmVzcz4gICAgICAgICAgICAgU2V0IHN0YXJ0IGFkZHJlc3Mgb2YgdGhlIGV4ZWN1dGFibGVcbiIKK21zZ3N0ciAiICAtLWltYWdlLWJhc2UgPGFsYW1hdD4gICAgICAgICAgICAgICBTZXQgYWxhbWF0IGF3YWwgZGFyaSBleGVjdXRhYmVsXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLW1ham9yLWltYWdlLXZlcnNpb24gPG51bWJlcj4gICAgIFNldCB2ZXJzaW9uIG51bWJlciBvZiB0aGUgZXhlY3V0YWJsZVxuIgorbXNnc3RyICIgIC0tbWFqb3ItaW1hZ2UtdmVyc2lvbiA8bm9tb3I+ICAgICAgU2V0IG5vbW9yIHZlcnNpIGRhcmkgZXhlY3V0YWJlbFxuIgorCisjOiBlbXVsdGVtcGwvcGUuZW06MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1tYWpvci1vcy12ZXJzaW9uIDxudW1iZXI+ICAgICAgICBTZXQgbWluaW11bSByZXF1aXJlZCBPUyB2ZXJzaW9uXG4iCittc2dzdHIgIiAgLS1tYWpvci1vcy12ZXJzaW9uIDxub21vcj4gICAgICAgICBTZXQgdmVyc2kgbWluaW11bSB5YW5nIGRpYnV0dWhrYW4gb2xlaCBPU1xuIgorCisjOiBlbXVsdGVtcGwvcGUuZW06MzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1tYWpvci1zdWJzeXN0ZW0tdmVyc2lvbiA8bnVtYmVyPiBTZXQgbWluaW11bSByZXF1aXJlZCBPUyBzdWJzeXN0ZW0gdmVyc2lvblxuIgorbXNnc3RyICIgIC0tbWFqb3Itc3Vic3lzdGVtLXZlcnNpb24gPG5vbW9yPiBTZXQgbWluaW11bSB2ZXJzaSBPUyBzdWJzaXN0ZW0geWFuZyBkaWJ1dHVoa2FuXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLW1pbm9yLWltYWdlLXZlcnNpb24gPG51bWJlcj4gICAgIFNldCByZXZpc2lvbiBudW1iZXIgb2YgdGhlIGV4ZWN1dGFibGVcbiIKK21zZ3N0ciAiICAtLW1pbm9yLWltYWdlLXZlcnNpb24gPG5vbW9yPiAgICAgIFNldCBub21vciByZXZpc2kgZGFyaSBleGVjdXRhYmVsXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLW1pbm9yLW9zLXZlcnNpb24gPG51bWJlcj4gICAgICAgIFNldCBtaW5pbXVtIHJlcXVpcmVkIE9TIHJldmlzaW9uXG4iCittc2dzdHIgIiAgLS1taW5vci1vcy12ZXJzaW9uIDxub21vcj4gICAgICAgICBTZXQgdmVyc2kgT1MgbWluaW11bSB5YW5nIGRpYnV0dWhrYW5cbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjMyNgorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tbWlub3Itc3Vic3lzdGVtLXZlcnNpb24gPG51bWJlcj4gU2V0IG1pbmltdW0gcmVxdWlyZWQgT1Mgc3Vic3lzdGVtIHJldmlzaW9uXG4iCittc2dzdHIgIiAgLS1taW5vci1zdWJzeXN0ZW0tdmVyc2lvbiA8bm9tb3I+IFNldCB2ZXJzaSBPUyBzdWJzaXN0ZW0gbWluaW11bSB5YW5nIGRpYnV0dWhrYW5cbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tc2VjdGlvbi1hbGlnbm1lbnQgPHNpemU+ICAgICAgICAgU2V0IHNlY3Rpb24gYWxpZ25tZW50XG4iCittc2dzdHIgIiAgLS1zZWN0aW9uLWFsaWdubWVudCA8YmVzYXI+ICAgICAgICBTZXQgZGFlcmFoIGFsaWdubWVudFxuIgorCisjOiBlbXVsdGVtcGwvcGUuZW06MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1zdGFjayA8c2l6ZT4gICAgICAgICAgICAgICAgICAgICBTZXQgc2l6ZSBvZiB0aGUgaW5pdGlhbCBzdGFja1xuIgorbXNnc3RyICIgIC0tc3RhY2sgPGJlc2FyPiAgICAgICAgICAgICAgICAgICAgU2V0IHVrdXJhbiBkYXJpIGluaXNpYWwgc3RhY2tcbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tc3Vic3lzdGVtIDxuYW1lPls6PHZlcnNpb24+XSAgICAgU2V0IHJlcXVpcmVkIE9TIHN1YnN5c3RlbSBbJiB2ZXJzaW9uXVxuIgorbXNnc3RyICIgIC0tc3Vic2lzdGVtIDxuYW1hPls6PHZlcnNpPl0gICAgICAgU2V0IE9TIHN1YnNpc3RlbSB5YW5nIGRpYnV0dWhrYW4gWyYgdmVyc2ldXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLXN1cHBvcnQtb2xkLWNvZGUgICAgICAgICAgICAgICAgIFN1cHBvcnQgaW50ZXJ3b3JraW5nIHdpdGggb2xkIGNvZGVcbiIKK21zZ3N0ciAiICAtLXN1cHBvcnQtb2xkLWNvZGUgICAgICAgICAgICAgICAgIER1a3VuZyBhbnRhci1rZXJqYSBkZW5nYW4ga29kZSBsYW1hXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLXRodW1iLWVudHJ5PTxzeW1ib2w+ICAgICAgICAgICAgIFNldCB0aGUgZW50cnkgcG9pbnQgdG8gYmUgVGh1bWIgPHN5bWJvbD5cbiIKK21zZ3N0ciAiICAtLXRodW1iLWVudHJ5PTxzaW1ib2w+ICAgICAgICAgICAgIFNldCB0aXRpayBtYXN1a2FuIGtlIFRodW1iIDxzaW1ib2w+XG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLWFkZC1zdGRjYWxsLWFsaWFzICAgICAgICAgICAgICAgIEV4cG9ydCBzeW1ib2xzIHdpdGggYW5kIHdpdGhvdXQgQG5uXG4iCittc2dzdHIgIiAgLS1hZGQtc3RkY2FsbC1hbGlhcyAgICAgICAgICAgICAgICBFeHBvciBzaW1ib2wgZGVuZ2FuIGRhbiB0YW5wYSBAbm5cbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tZGlzYWJsZS1zdGRjYWxsLWZpeHVwICAgICAgICAgICAgRG9uJ3QgbGluayBfc3ltIHRvIF9zeW1Abm5cbiIKK21zZ3N0ciAiICAtLWRpc2FibGUtc3RkY2FsbC1maXh1cCAgICAgICAgICAgIEphbmdhbiBodWJ1bmdrYW4gX3N5bSBrZSBfc3ltQG5uXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLWVuYWJsZS1zdGRjYWxsLWZpeHVwICAgICAgICAgICAgIExpbmsgX3N5bSB0byBfc3ltQG5uIHdpdGhvdXQgd2FybmluZ3NcbiIKK21zZ3N0ciAiICAtLWVuYWJsZS1zdGRjYWxsLWZpeHVwICAgICAgICAgICAgICBIdWJ1bmdrYW4gX3N5bSBrZSBfc3ltQG5uIHRhbnBhIHBlcmluZ2F0YW5cbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tZXhjbHVkZS1zeW1ib2xzIHN5bSxzeW0sLi4uICAgICAgRXhjbHVkZSBzeW1ib2xzIGZyb20gYXV0b21hdGljIGV4cG9ydFxuIgorbXNnc3RyICIgIC0tZXhjbHVkZS1zeW1ib2xzIHN5bSxzeW0sLi4uICAgICAgRXhjbHVkZSBzaW1ib2wgZGFyaSBleHBvciBvdG9tYXRpc1xuIgorCisjOiBlbXVsdGVtcGwvcGUuZW06MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1leGNsdWRlLWxpYnMgbGliLGxpYiwuLi4gICAgICAgICBFeGNsdWRlIGxpYnJhcmllcyBmcm9tIGF1dG9tYXRpYyBleHBvcnRcbiIKK21zZ3N0ciAiICAtLWV4Y2x1ZGUtbGlicyBsaWIsbGliLC4uLiAgICAgICAgIEV4Y2x1ZGUgcGVycHVzdGFrYWFuIGRhcmkgb3RvbWF0aXMgZXhwb3JcbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjMzOAorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tZXhwb3J0LWFsbC1zeW1ib2xzICAgICAgICAgICAgICAgQXV0b21hdGljYWxseSBleHBvcnQgYWxsIGdsb2JhbHMgdG8gRExMXG4iCittc2dzdHIgIiAgLS1leHBvcnQtYWxsLXN5bWJvbHMgICAgICAgICAgICAgICBPdG9tYXRpcyBleHBvciBzZWx1cnVoIGdsb2JhbCBrZSBETExcbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjMzOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0ta2lsbC1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgUmVtb3ZlIEBubiBmcm9tIGV4cG9ydGVkIHN5bWJvbHNcbiIKK21zZ3N0ciAiICAtLWtpbGwtYXQgICAgICAgICAgICAgICAgICAgICAgICAgIEhhcHVzIEBubiBkYXJpIHNpbWJvbCB0ZXJleHBvclxuIgorCisjOiBlbXVsdGVtcGwvcGUuZW06MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1vdXQtaW1wbGliIDxmaWxlPiAgICAgICAgICAgICAgICBHZW5lcmF0ZSBpbXBvcnQgbGlicmFyeVxuIgorbXNnc3RyICIgIC0tb3V0LWltcGxpYiA8YmVya2FzPiAgICAgICAgICAgICAgQnVhdCBwZXJwdXN0YWthYW4gaW1wb3JcbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tb3V0cHV0LWRlZiA8ZmlsZT4gICAgICAgICAgICAgICAgR2VuZXJhdGUgYSAuREVGIGZpbGUgZm9yIHRoZSBidWlsdCBETExcbiIKK21zZ3N0ciAiICAtLW91dHB1dC1kZWYgPGJlcmthcz4gICAgICAgICAgICAgIEJ1YXQgc2VidWFoIGJlcmthcyAuREVGIHVudHVrIG1lbWJ1YXQgRExMXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLXdhcm4tZHVwbGljYXRlLWV4cG9ydHMgICAgICAgICAgIFdhcm4gYWJvdXQgZHVwbGljYXRlIGV4cG9ydHMuXG4iCittc2dzdHIgIiAgLS13YXJuLWR1cGxpY2F0ZS1leHBvcnRzICAgICAgICAgICBQZXJpbmdhdGthbiB0ZXRhbmcgZHVwbGlrYXNpIGV4cG9yLlxuIgorCisjOiBlbXVsdGVtcGwvcGUuZW06MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIC0tY29tcGF0LWltcGxpYiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGJhY2t3YXJkIGNvbXBhdGlibGUgaW1wb3J0IGxpYnM7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIF9faW1wXzxTWU1CT0w+IGFzIHdlbGwuXG4iCittc2dzdHIgIiIKKyIgIC0tY29tcGF0LWltcGxpYiAgICAgICAgICAgICAgICAgICAgQnVhdCBiYWNrd2FyIGtvbXBhdGliZWwgaW1wb3IgbGlicztcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWF0IF9faW1wXzxTSU1CT0w+IGp1Z2EuXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgLS1lbmFibGUtYXV0by1pbWFnZS1iYXNlICAgICAgICAgICBBdXRvbWF0aWNhbGx5IGNob29zZSBpbWFnZSBiYXNlIGZvciBETExzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIHVzZXIgc3BlY2lmaWVzIG9uZVxuIgorbXNnc3RyICIiCisiICAtLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgICAgICAgICAgIE90b21hdGlzIHBpbGloIGRhc2FyIGltYWdlIHVudHVrIERMTFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtlY3VhbGkgcGVuZ2d1bmEgbWVuc3Blc2lmaWthc2lrYW5ueWFcbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjM0NworIywgYy1mb3JtYXQKK21zZ2lkICIgIC0tZGlzYWJsZS1hdXRvLWltYWdlLWJhc2UgICAgICAgICAgRG8gbm90IGF1dG8tY2hvb3NlIGltYWdlIGJhc2UuIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC0tZGlzYWJsZS1hdXRvLWltYWdlLWJhc2UgICAgICAgICAgSmFuZ2FuIGF1dG8tY2hvb3NlIGltYWdlIGJhc2UuIChkZWZhdWx0KVxuIgorCisjOiBlbXVsdGVtcGwvcGUuZW06MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIC0tZGxsLXNlYXJjaC1wcmVmaXg9PHN0cmluZz4gICAgICAgV2hlbiBsaW5raW5nIGR5bmFtaWNhbGx5IHRvIGEgZGxsIHdpdGhvdXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbiBpbXBvcnRsaWIsIHVzZSA8c3RyaW5nPjxiYXNlbmFtZT4uZGxsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gcHJlZmVyZW5jZSB0byBsaWI8YmFzZW5hbWU+LmRsbCBcbiIKK21zZ3N0ciAiIgorIiAgLS1kbGwtc2VhcmNoLXByZWZpeD08c3RyaW5nPiAgICAgICBLZXRpa2EgbWVuZ2h1YnVuZ2thbiBzZWNyYSBkaW5hbWlzIGtlIHNlYnVhaCBkbGwgdGFucGFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWJ1YWggaW1wb3JsaWIsIGd1bmFrYW4gPHN0cmluZz48YmFzZW5hbWU+LmRsbFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhbGFtIGtlc3VrYWFuIGtlIGxpYjxuYW1hIGRhc2FyPi5kbGxcbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjM1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAtLWVuYWJsZS1hdXRvLWltcG9ydCAgICAgICAgICAgICAgIERvIHNvcGhpc3RjYXRlZCBsaW5raW5nIG9mIF9zeW0gdG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2ltcF9zeW0gZm9yIERBVEEgcmVmZXJlbmNlc1xuIgorbXNnc3RyICIiCisiICAtLWVuYWJsZS1hdXRvLWltcG9ydCAgICAgICAgICAgICAgIExha3VrYW4gcGVuZ2h1YnVuZ2FuIGlzdGltZXdhIGRhcmkgX3N5bSBrZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9faW1wX3N5bSB1bnR1ayByZWZlcmVuc2kgREFUQVxuIgorCisjOiBlbXVsdGVtcGwvcGUuZW06MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAgICAgICAgICAgICBEbyBub3QgYXV0by1pbXBvcnQgREFUQSBpdGVtcyBmcm9tIERMTHNcbiIKK21zZ3N0ciAiICAtLWRpc2FibGUtYXV0by1pbXBvcnQgICAgICAgICAgICAgIEphbmdhbiBhdXRvLWltcG9ydCBEQVRBIGl0ZW1zIGRhcmkgRExMXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgLS1lbmFibGUtcnVudGltZS1wc2V1ZG8tcmVsb2MgICAgICBXb3JrIGFyb3VuZCBhdXRvLWltcG9ydCBsaW1pdGF0aW9ucyBieVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGluZyBwc2V1ZG8tcmVsb2NhdGlvbnMgcmVzb2x2ZWQgYXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW50aW1lLlxuIgorbXNnc3RyICIiCisiICAtLWVuYWJsZS1ydW50aW1lLXBzZXVkby1yZWxvYyAgICAgIEF0YXNpIHBlbWJhdGFzYW4gYXV0by1pbXBvcnQgZGVuZ2FuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVuYW1iYWhrYW4gcHNldWRvLXJlbG9jYXRpb25zIGRpc2VsZXNhaWthbiBkaVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdha3R1LWphbGFuLlxuIgorCisjOiBlbXVsdGVtcGwvcGUuZW06MzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIC0tZGlzYWJsZS1ydW50aW1lLXBzZXVkby1yZWxvYyAgICAgRG8gbm90IGFkZCBydW50aW1lIHBzZXVkby1yZWxvY2F0aW9ucyBmb3JcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvLWltcG9ydGVkIERBVEEuXG4iCittc2dzdHIgIiIKKyIgIC0tZGlzYWJsZS1ydW50aW1lLXBzZXVkby1yZWxvYyAgICAgSmFuZ2FuIHRhbWJhaGthbiBydW50aW1lIHBzZXVkby1yZWxvY2F0aW9ucyB1bnR1a1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8taW1wb3J0ZWQgREFUQS5cbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAtLWVuYWJsZS1leHRyYS1wZS1kZWJ1ZyAgICAgICAgICAgIEVuYWJsZSB2ZXJib3NlIGRlYnVnIG91dHB1dCB3aGVuIGJ1aWxkaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgbGlua2luZyB0byBETExzIChlc3AuIGF1dG8taW1wb3J0KVxuIgorbXNnc3RyICIiCisiICAtLWVuYWJsZS1leHRyYS1wZS1kZWJ1ZyAgICAgICAgICAgIEFrdGlma2FuIGtlbHVhcmFuIHZlcmJvc2UgZGVidWcga2V0aWthIG1lbWJ1YXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdGF1IG1lbmdodWJ1bmdrYW4ga2UgRExMIChsZWJpaCB0ZXBhdG55YSBhdXRvLWltcG9ydClcbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAtLWxhcmdlLWFkZHJlc3MtYXdhcmUgICAgICAgICAgICAgIEV4ZWN1dGFibGUgc3VwcG9ydHMgdmlydHVhbCBhZGRyZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVhdGVyIHRoYW4gMiBnaWdhYnl0ZXNcbiIKK21zZ3N0ciAiIgorIiAgLS1sYXJnZS1hZGRyZXNzLWF3YXJlICAgICAgICAgICAgICBFeGVjdXRhYmxlIGR1a3VuZyBhbGFtYXQgbWF5YVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlYmloIGJlc2FyIGRhcmkgMiBnaWdhYnl0ZXNcbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjQzMQorbXNnaWQgIiVQOiB3YXJuaW5nOiBiYWQgdmVyc2lvbiBudW1iZXIgaW4gLXN1YnN5c3RlbSBvcHRpb25cbiIKK21zZ3N0ciAiJVA6IHBlcmluZ2F0YW46IG5vbW9yIHZlcnNpIGJ1cnVrIGRhbGFtIG9wc2kgLXN1YnNpc3RlbVxuIgorCisjOiBlbXVsdGVtcGwvcGUuZW06NDYyCittc2dpZCAiJVAlRjogaW52YWxpZCBzdWJzeXN0ZW0gdHlwZSAlc1xuIgorbXNnc3RyICIlUCVGOiB0aXBlIHN1YnNpc3RlbSAlcyB0aWRhayB2YWxpZFxuIgorCisjOiBlbXVsdGVtcGwvcGUuZW06NTAxCittc2dpZCAiJVAlRjogaW52YWxpZCBoZXggbnVtYmVyIGZvciBQRSBwYXJhbWV0ZXIgJyVzJ1xuIgorbXNnc3RyICIlUCVGOiBub21vciBoZXggdW50dWsgcGFyYW1ldGVyIFBFICclcycgdGlkYWsgdmFsaWRcbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjUxOAorbXNnaWQgIiVQJUY6IHN0cmFuZ2UgaGV4IGluZm8gZm9yIFBFIHBhcmFtZXRlciAnJXMnXG4iCittc2dzdHIgIiVQJUY6IGluZm9ybWFzaSBoZXggdW50dWsgcGFyYW10ZXIgUEUgJyVzJyBhbmVoXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENhbid0IG9wZW4gYmFzZSBmaWxlICVzXG4iCittc2dzdHIgIiVzOiBUaWRhayBkYXBhdCBtZW1idWthIGJlcmthcyBkYXNhciAlc1xuIgorCisjOiBlbXVsdGVtcGwvcGUuZW06NzUyCittc2dpZCAiJVA6IHdhcm5pbmcsIGZpbGUgYWxpZ25tZW50ID4gc2VjdGlvbiBhbGlnbm1lbnQuXG4iCittc2dzdHIgIiVQOiBwZXJpbmdhdGFuLCBiZXJrYXMgYWxpZ25tZW50ID4gZGFlcmFoIGFsaWdubWVudC5cbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjgzOSBlbXVsdGVtcGwvcGUuZW06ODY2CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IHJlc29sdmluZyAlcyBieSBsaW5raW5nIHRvICVzXG4iCittc2dzdHIgIlBlcmluZ2F0YW46IG1lcmVzb2xmICVzIGRlbmdhbiBtZW5naHVidW5na2FuIGtlICVzXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTo4NDQgZW11bHRlbXBsL3BlLmVtOjg3MQorbXNnaWQgIlVzZSAtLWVuYWJsZS1zdGRjYWxsLWZpeHVwIHRvIGRpc2FibGUgdGhlc2Ugd2FybmluZ3NcbiIKK21zZ3N0ciAiR3VuYWthbiAtLWVuYWJsZS1zdGRjYWxsLWZpeHVwIHVudHVrIG1lbm9uYWt0aWZrYW4gcGVyaW5nYXRhbiBpbmlcbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjg0NSBlbXVsdGVtcGwvcGUuZW06ODcyCittc2dpZCAiVXNlIC0tZGlzYWJsZS1zdGRjYWxsLWZpeHVwIHRvIGRpc2FibGUgdGhlc2UgZml4dXBzXG4iCittc2dzdHIgIkd1bmFrYW4gLS1kaXNhYmxlLXN0ZGNhbGwtZml4dXAgdW50dWsgbWVub25ha3RpZmthbiBwZXJiYWlrYW4gaW5pXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJUM6IENhbm5vdCBnZXQgc2VjdGlvbiBjb250ZW50cyAtIGF1dG8taW1wb3J0IGV4Y2VwdGlvblxuIgorbXNnc3RyICIlQzogVGlkYWsgZHBhYXQgbWVtcGVyb2xlaCBpc2kgZGFlcmFoIC0gYXV0by1pbXBvcnQgZXhjZXB0aW9uXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTo5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5mbzogcmVzb2x2aW5nICVzIGJ5IGxpbmtpbmcgdG8gJXMgKGF1dG8taW1wb3J0KVxuIgorbXNnc3RyICJJbmZvOiBtZXJlc29sZiAlcyBkZW5nYW4gbWVuZ2h1YnVuZ2thbiBrZSAlcyAoYXV0by1pbXBvcnQpXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTo5MzgKK21zZ2lkICIiCisiJVA6IHdhcm5pbmc6IGF1dG8taW1wb3J0aW5nIGhhcyBiZWVuIGFjdGl2YXRlZCB3aXRob3V0IC0tZW5hYmxlLWF1dG8taW1wb3J0IHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLlxuIgorIlRoaXMgc2hvdWxkIHdvcmsgdW5sZXNzIGl0IGludm9sdmVzIGNvbnN0YW50IGRhdGEgc3RydWN0dXJlcyByZWZlcmVuY2luZyBzeW1ib2xzIGZyb20gYXV0by1pbXBvcnRlZCBETExzLiIKK21zZ3N0ciAiIgorIiVQOiBwZXJpbmdhdGFuOiBhdXRvLWltcG9ydGluZyB0ZWxhaCBkaWFrdGlma2FuIHRhbnBhIC0tZW5hYmxlLWF1dG8taW1wb3J0IGRpc3Blc2lmaWthc2lrYW4gZGkgYmFyaXMgcGVyaW50YWguXG4iCisiSW5pIHNlaGFydXNueWEgYmVrZXJqYSBrZWN1YWxpIGluaSBtZWxpYmF0a2FuIGtvbnN0YW4gc3RydWt0dXIgZGF0YSBtZXJlZmVyZW5zaWthbiBzaW1ib2wgZGFyaSBhdXRvLWltcG9ydGVkIERMTC4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbTo5NDUgZW11bHRlbXBsL3BlLmVtOjExMTMgZW11bHRlbXBsL3BlLmVtOjEzMTkgbGRjcmVmLmM6NDg4CisjOiBsZGNyZWYuYzo1ODYgbGRtYWluLmM6MTEwNSBsZG1pc2MuYzoyODUgcGUtZGxsLmM6NjIyIHBlLWRsbC5jOjExNTMKKyM6IHBlLWRsbC5jOjEyNTAKK21zZ2lkICIlQiVGOiBjb3VsZCBub3QgcmVhZCBzeW1ib2xzOiAlRVxuIgorbXNnc3RyICIlQiVGOiB0aWRhayBkYXBhdCBtZW1iYWNhIHNpbWJvbDogJUVcbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjEwMTgKK21zZ2lkICIlRiVQOiBjYW5ub3QgcGVyZm9ybSBQRSBvcGVyYXRpb25zIG9uIG5vbiBQRSBvdXRwdXQgZmlsZSAnJUInLlxuIgorbXNnc3RyICIlRiVQOiB0aWRhayBkYXBhdCBtZWxha3VrYW4gb3BlcmFzaSBQRSBkaSBiZXJrYXMga2VsdWFyYW4gYnVrYW4gUEUgJyVCJy5cbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjEzNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXJyb3JzIGVuY291bnRlcmVkIHByb2Nlc3NpbmcgZmlsZSAlc1xuIgorbXNnc3RyICJFcnJvciBkaXRlbXVpIGRhbGFtIHBlbXJvc2VzYW4gYmVya2FzICVzXG4iCisKKyM6IGVtdWx0ZW1wbC9wZS5lbToxMzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkVycm9ycyBlbmNvdW50ZXJlZCBwcm9jZXNzaW5nIGZpbGUgJXMgZm9yIGludGVyd29ya2luZyIKK21zZ3N0ciAiRXJyb3IgZGl0ZW11aSBkYWxhbSBwZW1yb3Nlc2FuIGJlcmthcyAlcyB1bnR1ayBhbnRhci1rZXJqYSIKKworIzogZW11bHRlbXBsL3BlLmVtOjE0NDQgbGRleHAuYzo1NDAgbGRsYW5nLmM6MzEzMSBsZGxhbmcuYzo2NDQ4IGxkbGFuZy5jOjY0NzkKKyM6IGxkbWFpbi5jOjEwNTAKK21zZ2lkICIlUCVGOiBiZmRfbGlua19oYXNoX2xvb2t1cCBmYWlsZWQ6ICVFXG4iCittc2dzdHIgIiVQJUY6IGJmZF9saW5rX2hhc2hfbG9va3VwIGdhZ2FsOiAlRVxuIgorCisjOiBsZGNyZWYuYzoxNjgKK21zZ2lkICIlWCVQOiBiZmRfaGFzaF90YWJsZV9pbml0IG9mIGNyZWYgdGFibGUgZmFpbGVkOiAlRVxuIgorbXNnc3RyICIlWCVQOiBiZmRfaGFzaF90YWJsZV9pbml0IGRhcmkgY3JlZiB0YWJlbCBnYWdhbDogJUVcbiIKKworIzogbGRjcmVmLmM6MTc0Cittc2dpZCAiJVglUDogY3JlZl9oYXNoX2xvb2t1cCBmYWlsZWQ6ICVFXG4iCittc2dzdHIgIiVYJVA6IGNyZWZfaGFzaF9sb29rdXAgZ2FnYWw6ICVFXG4iCisKKyM6IGxkY3JlZi5jOjE4NAorbXNnaWQgIiVYJVA6IGNyZWYgYWxsb2MgZmFpbGVkOiAlRVxuIgorbXNnc3RyICIlWCVQOiBjcmVmIGFsb2thc2kgZ2FnYWw6ICVFXG4iCisKKyM6IGxkY3JlZi5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ3Jvc3MgUmVmZXJlbmNlIFRhYmxlXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJUYWJlbCBSZWZlcmVuc2kgU2lsYW5nXG4iCisiXG4iCisKKyM6IGxkY3JlZi5jOjM2NQorbXNnaWQgIlN5bWJvbCIKK21zZ3N0ciAiU2ltYm9sIgorCisjOiBsZGNyZWYuYzozNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZVxuIgorbXNnc3RyICJCZXJrYXNcbiIKKworIzogbGRjcmVmLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHN5bWJvbHNcbiIKK21zZ3N0ciAiVGlkYWsgYWRhIHNpbWJvbFxuIgorCisjOiBsZGNyZWYuYzo1MzAKK21zZ2lkICIlUDogc3ltYm9sIGAlVCcgbWlzc2luZyBmcm9tIG1haW4gaGFzaCB0YWJsZVxuIgorbXNnc3RyICIlUDogc2ltYm9sIGAlVCcgaGlsYW5nIGRhcmkgdGFiZWwgaGFzaCB1dGFtYVxuIgorCisjOiBsZGNyZWYuYzo2NDggbGRjcmVmLmM6NjU1IGxkbWFpbi5jOjExMzkgbGRtYWluLmM6MTE0NgorbXNnaWQgIiVCJUY6IGNvdWxkIG5vdCByZWFkIHJlbG9jczogJUVcbiIKK21zZ3N0ciAiJUIlRjogdGlkYWsgZGFwYXQgbWVtYmFjYSByZWxva2FzaTogJUVcbiIKKworIy4gV2UgZm91bmQgYSByZWxvYyBmb3IgdGhlIHN5bWJvbC4gIFRoZSBzeW1ib2wgaXMgZGVmaW5lZAorIy4gaW4gT1VUU0VDTkFNRS4gIFRoaXMgcmVsb2MgaXMgZnJvbSBhIHNlY3Rpb24gd2hpY2ggaXMKKyMuIG1hcHBlZCBpbnRvIGEgc2VjdGlvbiBmcm9tIHdoaWNoIHJlZmVyZW5jZXMgdG8gT1VUU0VDTkFNRQorIy4gYXJlIHByb2hpYml0ZWQuICBXZSBtdXN0IHJlcG9ydCBhbiBlcnJvci4KKyM6IGxkY3JlZi5jOjY4MgorbXNnaWQgIiVYJUM6IHByb2hpYml0ZWQgY3Jvc3MgcmVmZXJlbmNlIGZyb20gJXMgdG8gYCVUJyBpbiAlc1xuIgorbXNnc3RyICIlWCVDOiBkaWxhcmFuZyBtZW55aWxhbmcgcmVmZXJlbnNpIGRhcmkgJXMga2UgYCVUJyBkYWxhbSAlc1xuIgorCisjOiBsZGN0b3IuYzo4NAorbXNnaWQgIiVQJVg6IERpZmZlcmVudCByZWxvY3MgdXNlZCBpbiBzZXQgJXNcbiIKK21zZ3N0ciAiJVAlWDogUmVsb2thc2kgYmVyYmVkYSBkaWd1bmFrYW4gZGFsYW0gc2V0ICVzXG4iCisKKyM6IGxkY3Rvci5jOjEwMgorbXNnaWQgIiVQJVg6IERpZmZlcmVudCBvYmplY3QgZmlsZSBmb3JtYXRzIGNvbXBvc2luZyBzZXQgJXNcbiIKK21zZ3N0ciAiJVAlWDogRm9ybWF0IGJlcmthcyBvYmplayBiZXJiZWRhIG1lbnl1c3VuIHNldCAlc1xuIgorCisjOiBsZGN0b3IuYzoyODEgbGRjdG9yLmM6Mjk1Cittc2dpZCAiJVAlWDogJXMgZG9lcyBub3Qgc3VwcG9ydCByZWxvYyAlcyBmb3Igc2V0ICVzXG4iCittc2dzdHIgIiVQJVg6ICVzIHRpZGFrIG1lbGF5YW5pIHJlbG9rYXNpICVzIHVudHVrIHNldCAlc1xuIgorCisjOiBsZGN0b3IuYzozMTYKK21zZ2lkICIlUCVYOiBVbnN1cHBvcnRlZCBzaXplICVkIGZvciBzZXQgJXNcbiIKK21zZ3N0ciAiJVAlWDogVWt1cmFuICVzIHRpZGFrIGRpZHVrdW5nIHVudHVrIHNldCAlc1xuIgorCisjOiBsZGN0b3IuYzozMzcKK21zZ2lkICIiCisiXG4iCisiU2V0ICAgICAgICAgICAgICAgICBTeW1ib2xcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNldCAgICAgICAgICAgICAgICAgU2ltYm9sXG4iCisiXG4iCisKKyM6IGxkZW11bC5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlUyBTWVNMSUIgaWdub3JlZFxuIgorbXNnc3RyICIlUyBTWVNMSUIgZGlhYmFpa2FuXG4iCisKKyM6IGxkZW11bC5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlUyBITEwgaWdub3JlZFxuIgorbXNnc3RyICIlUyBITEwgZGlhYmFpa2FuXG4iCisKKyM6IGxkZW11bC5jOjI2MQorbXNnaWQgIiVQOiB1bnJlY29nbmlzZWQgZW11bGF0aW9uIG1vZGU6ICVzXG4iCittc2dzdHIgIiVQOiBtb2RlIGVtdWxhc2kgdGlkYWsgZGlrZW5hbDogJXNcbiIKKworIzogbGRlbXVsLmM6MjYyCittc2dpZCAiU3VwcG9ydGVkIGVtdWxhdGlvbnM6ICIKK21zZ3N0ciAiRW11bGFzaSB5YW5nIGRpZHVrdW5nOiAiCisKKyM6IGxkZW11bC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICIgIG5vIGVtdWxhdGlvbiBzcGVjaWZpYyBvcHRpb25zLlxuIgorbXNnc3RyICIgIHRpZGFrIGFkYSBvcHNpIHNwZXNpZmlrIGVtdWxhc2kuXG4iCisKKyM6IGxkZXhwLmM6MzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVGJVMgJSUgYnkgemVyb1xuIgorbXNnc3RyICIlRiVTICUlIGRlbmdhbiBub2xcbiIKKworIzogbGRleHAuYzozNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJUYlUyAvIGJ5IHplcm9cbiIKK21zZ3N0ciAiJUYlUyAvIGRlbmdhbiBub2xcbiIKKworIzogbGRleHAuYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJVglUzogdW5yZXNvbHZhYmxlIHN5bWJvbCBgJXMnIHJlZmVyZW5jZWQgaW4gZXhwcmVzc2lvblxuIgorbXNnc3RyICIlWCVTOiBzaW1ib2wgdGlkYWsgZGl0ZW11a2FuIGAlcycgZGlyZWZlcmVuc2lrYW4gZGFsYW0gZXhwcmVzaVxuIgorCisjOiBsZGV4cC5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlRiVTOiB1bmRlZmluZWQgc3ltYm9sIGAlcycgcmVmZXJlbmNlZCBpbiBleHByZXNzaW9uXG4iCittc2dzdHIgIiVGJVM6IHNpbWJvbCBgJXMnIHRpZGFrIHRlcmRlZmluaXNpIGRpcmVmZXJlbnNpa2FuIGRhbGFtIGVrc3ByZXNpXG4iCisKKyM6IGxkZXhwLmM6NTg2IGxkZXhwLmM6NjAzIGxkZXhwLmM6NjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVGJVM6IHVuZGVmaW5lZCBzZWN0aW9uIGAlcycgcmVmZXJlbmNlZCBpbiBleHByZXNzaW9uXG4iCittc2dzdHIgIiVGJVM6IGRhZXJhaCBgJXMnIHRpZGFrIHRlcmRlZmluaXNpIGRpcmVmZXJlbnNpa2FuIGRhbGFtIGVrc3ByZXNpXG4iCisKKyM6IGxkZXhwLmM6NjU3IGxkZXhwLmM6NjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVGJVM6IHVuZGVmaW5lZCBNRU1PUlkgcmVnaW9uIGAlcycgcmVmZXJlbmNlZCBpbiBleHByZXNzaW9uXG4iCittc2dzdHIgIiVGJVM6IGRhZXJhaCBgJXMnIE1FTU9SWSB0aWRhayB0ZXJkZWZpbmlzaSBkaXJlZmVyZW5zaWthbiBkYWxhbSBla3NwcmVzaVxuIgorCisjOiBsZGV4cC5jOjY4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlRiVTOiB1bmtub3duIGNvbnN0YW50IGAlcycgcmVmZXJlbmNlZCBpbiBleHByZXNzaW9uXG4iCittc2dzdHIgIiVGJVM6IGtvbnN0YW4gYCVzJyB0aWRhayBkaWtldGFodWkgZGlyZWZlcmVuc2lrYW4gZGFsYW0gZWtzcHJlc2lcbiIKKworIzogbGRleHAuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJUYlUyBjYW4gbm90IFBST1ZJREUgYXNzaWdubWVudCB0byBsb2NhdGlvbiBjb3VudGVyXG4iCittc2dzdHIgIiVGJVMgdGlkYWsgZGFwYXQgTUVOWUVESUFLQU4gYXNzaWdubWVudCBrZSBsb2thc2kgY291bnRlclxuIgorCisjOiBsZGV4cC5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlRiVTIGludmFsaWQgYXNzaWdubWVudCB0byBsb2NhdGlvbiBjb3VudGVyXG4iCittc2dzdHIgIiVGJVMgYXNzaWdubWVudCB0aWRhayB2YWxpZCBrZSBsb2thc2kgY291bnRlclxuIgorCisjOiBsZGV4cC5jOjc1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlRiVTIGFzc2lnbm1lbnQgdG8gbG9jYXRpb24gY291bnRlciBpbnZhbGlkIG91dHNpZGUgb2YgU0VDVElPTlxuIgorbXNnc3RyICIlRiVTIGFzc2lnbm1lbnQga2UgbG9rYXNpIGNvdW50ZXIgdGlkYWsgdmFsaWQgZGlsdWFyIGRhcmkgREFFUkFIXG4iCisKKyM6IGxkZXhwLmM6NzY4Cittc2dpZCAiJUYlUyBjYW5ub3QgbW92ZSBsb2NhdGlvbiBjb3VudGVyIGJhY2t3YXJkcyAoZnJvbSAlViB0byAlVilcbiIKK21zZ3N0ciAiJUYlUyB0aWRhayBkYXBhdCBtZW1pbmRhaGthbiBsb2thc2kgY291bnRlciBiYWNrd2FyZCAoZGFyaSAlViBrZSAlVilcbiIKKworIzogbGRleHAuYzo4MDcKK21zZ2lkICIlUCVGOiVzOiBoYXNoIGNyZWF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICIlUCVGOiVzOiBwZW1idWF0YW4gaGFzaCBnYWdhbFxuIgorCisjOiBsZGV4cC5jOjEwNjYgbGRleHAuYzoxMDkxIGxkZXhwLmM6MTE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlRiVTOiBub25jb25zdGFudCBleHByZXNzaW9uIGZvciAlc1xuIgorbXNnc3RyICIlRiVTOiBla3NwcmVzaSB0aWRhayBrb25zdGFuIHVudHVrICVzXG4iCisKKyM6IGxkZmlsZS5jOjEzNworIywgYy1mb3JtYXQKK21zZ2lkICJhdHRlbXB0IHRvIG9wZW4gJXMgZmFpbGVkXG4iCittc2dzdHIgIm1lbmNvYmEgdW50dWsgbWVtYnVrYSAlcyBnYWdhbFxuIgorCisjOiBsZGZpbGUuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0ZW1wdCB0byBvcGVuICVzIHN1Y2NlZWRlZFxuIgorbXNnc3RyICJtZW5jb2JhIHVudHVrIG1lbWJ1a2EgJXMgc3Vrc2VzXG4iCisKKyM6IGxkZmlsZS5jOjE0NQorbXNnaWQgIiVGJVA6IGludmFsaWQgQkZEIHRhcmdldCBgJXMnXG4iCittc2dzdHIgIiVGJVA6IHRhcmdldCBCRkQgYCVzJyB0aWRhayB2YWxpZFxuIgorCisjOiBsZGZpbGUuYzoyNTQgbGRmaWxlLmM6MjgzCittc2dpZCAiJVA6IHNraXBwaW5nIGluY29tcGF0aWJsZSAlcyB3aGVuIHNlYXJjaGluZyBmb3IgJXNcbiIKK21zZ3N0ciAiJVA6IG1lbGV3YXRrYW4gdGlkYWsga29tcGF0aWJlbCAlcyBrZXRpa2EgbWVuY2FyaSB1bnR1ayAlc1xuIgorCisjOiBsZGZpbGUuYzoyNjcKK21zZ2lkICIlRiVQOiBhdHRlbXB0ZWQgc3RhdGljIGxpbmsgb2YgZHluYW1pYyBvYmplY3QgYCVzJ1xuIgorbXNnc3RyICIlRiVQOiBtZW5jb2JhIG1lbmh1YnVuZ2thbiBzdGF0aWsgZGFyaSBvYmplayBkaW5hbWlzIGAlcydcbiIKKworIzogbGRmaWxlLmM6Mzc5Cittc2dpZCAiJUYlUDogJXMgKCVzKTogTm8gc3VjaCBmaWxlOiAlRVxuIgorbXNnc3RyICIlRiVQOiAlcyAoJXMpOiBUaWRhayBhZGEgYmVya2FzIHNlcGVydGkgaXR1OiAlRVxuIgorCisjOiBsZGZpbGUuYzozODIKK21zZ2lkICIlRiVQOiAlczogTm8gc3VjaCBmaWxlOiAlRVxuIgorbXNnc3RyICIlRiVQOiAlczogVGlkYWsgYWRhIGJlcmthcyBzZXBlcnRpIGl0dTogJUVcbiIKKworIzogbGRmaWxlLmM6NDEyCittc2dpZCAiJUYlUDogY2Fubm90IGZpbmQgJXMgaW5zaWRlICVzXG4iCittc2dzdHIgIiVGJVA6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiAlcyBkaWRhbGFtICVzXG4iCisKKyM6IGxkZmlsZS5jOjQxNQorbXNnaWQgIiVGJVA6IGNhbm5vdCBmaW5kICVzXG4iCittc2dzdHIgIiVGJVA6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiAlc1xuIgorCisjOiBsZGZpbGUuYzo0MzEgbGRmaWxlLmM6NDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHNjcmlwdCBmaWxlICVzXG4iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmVtdWthbiBiZXJrYXMgc2NyaXB0ICVzXG4iCisKKyM6IGxkZmlsZS5jOjQzMyBsZGZpbGUuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbmVkIHNjcmlwdCBmaWxlICVzXG4iCittc2dzdHIgIm1lbWJ1a2FuIGJlcmthcyBzY3JpcHQgJXNcbiIKKworIzogbGRmaWxlLmM6NjAxCittc2dpZCAiJVAlRjogY2Fubm90IG9wZW4gbGlua2VyIHNjcmlwdCBmaWxlICVzOiAlRVxuIgorbXNnc3RyICIlUCVGOiB0aWRhayBkYXBhdCBtZW1idWthbiBiZXJrYXMgc2NyaXB0IHBlbmdodWJ1bmcgJXM6ICVFXG4iCisKKyM6IGxkZmlsZS5jOjY0OAorbXNnaWQgIiVQJUY6IGNhbm5vdCByZXByZXNlbnQgbWFjaGluZSBgJXMnXG4iCittc2dzdHIgIiVQJUY6IHRpZGFrIGRhcGF0IG1lcmVwcmVzZW50IG1lc2luIGAlcydcbiIKKworIzogbGRsYW5nLmM6MTEyNCBsZGxhbmcuYzoxMTY2IGxkbGFuZy5jOjI4ODAKK21zZ2lkICIlUCVGOiBjYW4gbm90IGNyZWF0ZSBoYXNoIHRhYmxlOiAlRVxuIgorbXNnc3RyICIlUCVGOiB0aWRhayBkYXBhdCBtZW1idWF0IHRhYmVsIGhhc2g6ICVFXG4iCisKKyM6IGxkbGFuZy5jOjEyMDkKK21zZ2lkICIlUDolUzogd2FybmluZzogcmVkZWNsYXJhdGlvbiBvZiBtZW1vcnkgcmVnaW9uICclcydcbiIKK21zZ3N0ciAiJVA6JVM6IHBlcmluZ2F0YW46IHJlZGVrbGFyYXNpIGRhcmkgZGFlcmFoIG1lbW9yaSAnJXMnXG4iCisKKyM6IGxkbGFuZy5jOjEyMTUKK21zZ2lkICIlUDolUzogd2FybmluZzogbWVtb3J5IHJlZ2lvbiAlcyBub3QgZGVjbGFyZWRcbiIKK21zZ3N0ciAiJVA6JVM6IHBlcmluZ2F0YW46IGRhZXJhaCBtZW1vcmkgJXMgdGlkYWsgZGlkZWtsYXJhc2lrYW5cbiIKKworIzogbGRsYW5nLmM6MTI3MCBsZGxhbmcuYzoxMzA1Cittc2dpZCAiJVAlRjogZmFpbGVkIGNyZWF0aW5nIHNlY3Rpb24gYCVzJzogJUVcbiIKK21zZ3N0ciAiJVAlRjogZ2FnYWwgbWVtYnVhdCBkYWVyYWggYCVzJzogJUVcbiIKKworIzogbGRsYW5nLmM6MTc5OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRGlzY2FyZGVkIGlucHV0IHNlY3Rpb25zXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEYWVyYWggbWFzdWthbiBkaWFiYWlrYW5cbiIKKyJcbiIKKworIzogbGRsYW5nLmM6MTgwNworbXNnaWQgIiIKKyJcbiIKKyJNZW1vcnkgQ29uZmlndXJhdGlvblxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiS29uZmlndXJhc2kgbWVtb3JpXG4iCisiXG4iCisKKyM6IGxkbGFuZy5jOjE4MDkKK21zZ2lkICJOYW1lIgorbXNnc3RyICJOYW1hIgorCisjOiBsZGxhbmcuYzoxODA5Cittc2dpZCAiT3JpZ2luIgorbXNnc3RyICJBc2FsIgorCisjOiBsZGxhbmcuYzoxODA5Cittc2dpZCAiTGVuZ3RoIgorbXNnc3RyICJQYW5qYW5nIgorCisjOiBsZGxhbmcuYzoxODA5Cittc2dpZCAiQXR0cmlidXRlcyIKK21zZ3N0ciAiQXRyaWJ1dCIKKworIzogbGRsYW5nLmM6MTg0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGlua2VyIHNjcmlwdCBhbmQgbWVtb3J5IG1hcFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiU2NyaXAgcGVuZ2h1YnVuZyBkYW4gcGV0YSBtZW1vcmlcbiIKKyJcbiIKKworIzogbGRsYW5nLmM6MTkxNQorbXNnaWQgIiVQJUY6IElsbGVnYWwgdXNlIG9mIGAlcycgc2VjdGlvblxuIgorbXNnc3RyICIlUCVGOiBQZW5nZ3VuYWFuIGlsZWdhbCBkYXJpIGRhZXJhaCBgJXMnXG4iCisKKyM6IGxkbGFuZy5jOjE5MjMKK21zZ2lkICIlUCVGOiBvdXRwdXQgZm9ybWF0ICVzIGNhbm5vdCByZXByZXNlbnQgc2VjdGlvbiBjYWxsZWQgJXNcbiIKK21zZ3N0ciAiJVAlRjogZm9ybWF0IGtlbHVhcmFuICVzIHRpZGFrIGRhcGF0IG1lcmVwcmVzZW50YXNpa2FuIGRhZXJhaCBkaXNlYnV0ICVzXG4iCisKKyM6IGxkbGFuZy5jOjI0NzMKK21zZ2lkICIlQjogZmlsZSBub3QgcmVjb2duaXplZDogJUVcbiIKK21zZ3N0ciAiJUI6IGJlcmthcyB0aWRhayBkaWtlbmFsaTogJUVcbiIKKworIzogbGRsYW5nLmM6MjQ3NAorbXNnaWQgIiVCOiBtYXRjaGluZyBmb3JtYXRzOiIKK21zZ3N0ciAiJUI6IGZvcm1hdCBjb2NvazoiCisKKyM6IGxkbGFuZy5jOjI0ODEKK21zZ2lkICIlRiVCOiBmaWxlIG5vdCByZWNvZ25pemVkOiAlRVxuIgorbXNnc3RyICIlRiVCOiBiZXJrYXMgdGlkYWsgZGlrZW5hbGk6ICVFXG4iCisKKyM6IGxkbGFuZy5jOjI1NTEKK21zZ2lkICIlRiVCOiBtZW1iZXIgJUIgaW4gYXJjaGl2ZSBpcyBub3QgYW4gb2JqZWN0XG4iCittc2dzdHIgIiVGJUI6IGFuZ2dvdGEgJUIgZGFsYW0gYXJjaGl2ZSBidWthbiBzZWJ1YWggb2JqZWtcbiIKKworIzogbGRsYW5nLmM6MjU2MiBsZGxhbmcuYzoyNTc2Cittc2dpZCAiJUYlQjogY291bGQgbm90IHJlYWQgc3ltYm9sczogJUVcbiIKK21zZ3N0ciAiJUYlQjogdGlkYWsgZGFwYXQgbWVtYmFjYSBzaW1ib2w6ICVFXG4iCisKKyM6IGxkbGFuZy5jOjI4NTAKK21zZ2lkICIlUDogd2FybmluZzogY291bGQgbm90IGZpbmQgYW55IHRhcmdldHMgdGhhdCBtYXRjaCBlbmRpYW5uZXNzIHJlcXVpcmVtZW50XG4iCittc2dzdHIgIiVQOiBwZXJpbmdhdGFuOiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gdGFyZ2V0IGFwYXB1biB5YW4gY29jb2sgZGVuZ2FuIGVuZGlhbm5lc3MgeWFuZyBkaWJ1dHVoa2FuXG4iCisKKyM6IGxkbGFuZy5jOjI4NjQKK21zZ2lkICIlUCVGOiB0YXJnZXQgJXMgbm90IGZvdW5kXG4iCittc2dzdHIgIiVQJUY6IHRhcmdldCAlcyB0aWRhayBkaXRlbXVrYW5cbiIKKworIzogbGRsYW5nLmM6Mjg2NgorbXNnaWQgIiVQJUY6IGNhbm5vdCBvcGVuIG91dHB1dCBmaWxlICVzOiAlRVxuIgorbXNnc3RyICIlUCVGOiB0aWRhayBkYXBhdCBtZW1idWthIGJlcmthcyBrZWx1YXJhbiAlczogJUVcbiIKKworIzogbGRsYW5nLmM6Mjg3MgorbXNnaWQgIiVQJUY6JXM6IGNhbiBub3QgbWFrZSBvYmplY3QgZmlsZTogJUVcbiIKK21zZ3N0ciAiJVAlRjolczogdGlkYWsgZGFwYXQgbWVtYnVhdCBiZXJrYXMgb2JqZWs6ICVFXG4iCisKKyM6IGxkbGFuZy5jOjI4NzYKK21zZ2lkICIlUCVGOiVzOiBjYW4gbm90IHNldCBhcmNoaXRlY3R1cmU6ICVFXG4iCittc2dzdHIgIiVQJUY6JXM6IHRpZGFrIGRhcGF0IG1lbnNldCBhcnNpdGVrdHVyOiAlRVxuIgorCisjOiBsZGxhbmcuYzozMDI0Cittc2dpZCAiJVAlRjogYmZkX2hhc2hfbG9va3VwIGZhaWxlZCBjcmVhdGluZyBzeW1ib2wgJXNcbiIKK21zZ3N0ciAiJVAlRjogYmZkX2hhc2hfbG9va3VwIGdhZ2FsIG1lbWJ1YXQgc2ltYm9sICVzXG4iCisKKyM6IGxkbGFuZy5jOjMwNDIKK21zZ2lkICIlUCVGOiBiZmRfaGFzaF9hbGxvY2F0ZSBmYWlsZWQgY3JlYXRpbmcgc3ltYm9sICVzXG4iCittc2dzdHIgIiVQJUY6IGJmZF9oYXNoX2FsbG9jYXRlIGdhZ2FsIG1lbWJ1YXQgc2ltYm9sICVzXG4iCisKKyM6IGxkbGFuZy5jOjM0MTgKK21zZ2lkICIlRiVQOiAlcyBub3QgZm91bmQgZm9yIGluc2VydFxuIgorbXNnc3RyICIlRiVQOiAlcyB0aWRhayBkaXRlbXVrYW4gdW50dWsgaW5zZXJ0XG4iCisKKyM6IGxkbGFuZy5jOjM2MzMKK21zZ2lkICIgbG9hZCBhZGRyZXNzIDB4JVYiCittc2dzdHIgIiBhbGFtYXQgYmViYW4gMHglViIKKworIzogbGRsYW5nLmM6Mzg3MworbXNnaWQgIiVXIChzaXplIGJlZm9yZSByZWxheGluZylcbiIKK21zZ3N0ciAiJVcgKHVrdXJhbiBzZWJlbHVtIHJlbGF4aW5nKVxuIgorCisjOiBsZGxhbmcuYzozOTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZHJlc3Mgb2Ygc2VjdGlvbiAlcyBzZXQgdG8gIgorbXNnc3RyICJBbGFtYXQgZGFyaSBkYWVyYWggJXMgZGlzZXQga2UgIgorCisjOiBsZGxhbmcuYzo0MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWwgd2l0aCAlZFxuIgorbXNnc3RyICJHYWdhbCBkZW5nYW4gJWRcbiIKKworIzogbGRsYW5nLmM6NDM5NworbXNnaWQgIiVYJVA6IHNlY3Rpb24gJXMgWyVWIC0+ICVWXSBvdmVybGFwcyBzZWN0aW9uICVzIFslViAtPiAlVl1cbiIKK21zZ3N0ciAiJVglUDogZGFlcmFoICVzIFslViAtPiAlVl0gZGFlcmFoIG92ZXJsYXBzICVzIFslViAtPiAlVl1cbiIKKworIzogbGRsYW5nLmM6NDQxMworbXNnaWQgIiVYJVA6IHJlZ2lvbiAlcyBvdmVyZmxvd2VkIGJ5ICVsZCBieXRlc1xuIgorbXNnc3RyICIlWCVQOiBkYWVyYWggJXMgb3ZlcmZsb3dlZCBkZW5nYW4gJWxkIGJ5dGVzXG4iCisKKyM6IGxkbGFuZy5jOjQ0MzYKK21zZ2lkICIlWCVQOiBhZGRyZXNzIDB4JXYgb2YgJUIgc2VjdGlvbiAlcyBpcyBub3Qgd2l0aGluIHJlZ2lvbiAlc1xuIgorbXNnc3RyICIlWCVQOiBhbGFtYXQgMHgldiBkYXJpICVCIGRhZXJhaCAlcyB0aWRhayBkYWxhbSBkYWVyYWggJXNcbiIKKworIzogbGRsYW5nLmM6NDQ0NworbXNnaWQgIiVYJVA6ICVCIHNlY3Rpb24gJXMgd2lsbCBub3QgZml0IGluIHJlZ2lvbiAlc1xuIgorbXNnc3RyICIlWCVQOiAlQiBkYWVyYWggJXMgdGlkYWsgYWthbiBtZW1lbnVoaSBkYWxhbSBkYWVyYWggJXNcbiIKKworIzogbGRsYW5nLmM6NDQ4NworIywgYy1mb3JtYXQKK21zZ2lkICIlRiVTOiBub24gY29uc3RhbnQgb3IgZm9yd2FyZCByZWZlcmVuY2UgYWRkcmVzcyBleHByZXNzaW9uIGZvciBzZWN0aW9uICVzXG4iCittc2dzdHIgIiVGJVM6IGJ1a2FuIGNvbnN0YW50IGF0YXUgZWtzcHJlc2kgYWxhbWF0IHJlZmVyZW5zaSBrZWRlcGFuIHVudHVrIGRhZXJhaCAlc1xuIgorCisjOiBsZGxhbmcuYzo0NTEyCittc2dpZCAiJVAlWDogSW50ZXJuYWwgZXJyb3Igb24gQ09GRiBzaGFyZWQgbGlicmFyeSBzZWN0aW9uICVzXG4iCittc2dzdHIgIiVQJVg6IEludGVybmFsIGVycm9yIGRpIENPRkYgZGFlcmFoIGxpYnJhcnkgdGVyYmFnaSAlc1xuIgorCisjOiBsZGxhbmcuYzo0NTcxCittc2dpZCAiJVAlRjogZXJyb3I6IG5vIG1lbW9yeSByZWdpb24gc3BlY2lmaWVkIGZvciBsb2FkYWJsZSBzZWN0aW9uIGAlcydcbiIKK21zZ3N0ciAiJVAlRjogZXJyb3I6IGJ1a2FuIGRhZXJhaCBtZW1vcmkgZGlzcGVzaWZpa2FzaWthbiB1bnR1ayBkYWVyYWggbG9hZGFiZWwgYCVzJ1xuIgorCisjOiBsZGxhbmcuYzo0NTc2Cittc2dpZCAiJVA6IHdhcm5pbmc6IG5vIG1lbW9yeSByZWdpb24gc3BlY2lmaWVkIGZvciBsb2FkYWJsZSBzZWN0aW9uIGAlcydcbiIKK21zZ3N0ciAiJVA6IHBlcmluZ2F0YW46IGJ1a2FuIGRhZXJhaCBtZW1vcmkgZGlzcGVzaWZpa2FzaWthbiB1bnR1ayBkYWVyYWggbG9hZGFibGUgYCVzJ1xuIgorCisjOiBsZGxhbmcuYzo0NTk4Cittc2dpZCAiJVA6IHdhcm5pbmc6IGNoYW5naW5nIHN0YXJ0IG9mIHNlY3Rpb24gJXMgYnkgJWx1IGJ5dGVzXG4iCittc2dzdHIgIiVQOiBwZXJpbmdhdGFuOiBtZW5ndWJhaCBhd2FsIGRhcmkgZGFlcmFoICVzIGRlbmdhbiAlbHUgYnl0ZXNcbiIKKworIzogbGRsYW5nLmM6NDY3NQorbXNnaWQgIiVQOiB3YXJuaW5nOiBkb3QgbW92ZWQgYmFja3dhcmRzIGJlZm9yZSBgJXMnXG4iCittc2dzdHIgIiVQOiBwZXJpbmdhdGFuOiBkb3QgZGlwaW5kYWhrYW4ga2ViZWxha2FuZyBzZWJlbHVtIGAlcydcbiIKKworIzogbGRsYW5nLmM6NDg0OAorbXNnaWQgIiVQJUY6IGNhbid0IHJlbGF4IHNlY3Rpb246ICVFXG4iCittc2dzdHIgIiVQJUY6IHRpZGFrIGRhcGF0IHJlbGFrcyBkYWVyYWg6ICVFXG4iCisKKyM6IGxkbGFuZy5jOjUxNzAKK21zZ2lkICIlRiVQOiBpbnZhbGlkIGRhdGEgc3RhdGVtZW50XG4iCittc2dzdHIgIiVGJVA6IHN0YXRlbWVuIGRhdGEgdGlkYWsgdmFsaWRcbiIKKworIzogbGRsYW5nLmM6NTIwMworbXNnaWQgIiVGJVA6IGludmFsaWQgcmVsb2Mgc3RhdGVtZW50XG4iCittc2dzdHIgIiVGJVA6IHJlbG9rYXNpIHN0YXRlbWVudCB0aWRhayB2YWxpZFxuIgorCisjOiBsZGxhbmcuYzo1MzIyCittc2dpZCAiJVAlRjogZ2Mtc2VjdGlvbnMgcmVxdWlyZXMgZWl0aGVyIGFuIGVudHJ5IG9yIGFuIHVuZGVmaW5lZCBzeW1ib2xcbiIKK21zZ3N0ciAiJVAlRjogZ2Mtc2VjdGlvbiBtZW1idXR1aGthbiBiYWlrIHNlYnVhaCBtYXN1a2FuIGF0YXUgc2VidWFoIHNpbWJvbCB0aWRhayB0ZXJkZWZpbmlzaVxuIgorCisjOiBsZGxhbmcuYzo1MzQ3Cittc2dpZCAiJVAlRjolczogY2FuJ3Qgc2V0IHN0YXJ0IGFkZHJlc3NcbiIKK21zZ3N0ciAiJVAlRjolczogdGlkYWsgZGFwYXQgbWVuc2V0IGF3YWwgYWxhbWF0XG4iCisKKyM6IGxkbGFuZy5jOjUzNjAgbGRsYW5nLmM6NTM3OQorbXNnaWQgIiVQJUY6IGNhbid0IHNldCBzdGFydCBhZGRyZXNzXG4iCittc2dzdHIgIiVQJUY6IHRpZGFrIGRhcHQgbWVuc2V0IGF3YWwgYWxhbWF0XG4iCisKKyM6IGxkbGFuZy5jOjUzNzIKK21zZ2lkICIlUDogd2FybmluZzogY2Fubm90IGZpbmQgZW50cnkgc3ltYm9sICVzOyBkZWZhdWx0aW5nIHRvICVWXG4iCittc2dzdHIgIiVQOiBwZXJpbmdhdGFuOiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gc2ltYm9sIG1hc3VrYW4gJXM7IGRlZmF1bHQga2UgJVZcbiIKKworIzogbGRsYW5nLmM6NTM4NAorbXNnaWQgIiVQOiB3YXJuaW5nOiBjYW5ub3QgZmluZCBlbnRyeSBzeW1ib2wgJXM7IG5vdCBzZXR0aW5nIHN0YXJ0IGFkZHJlc3NcbiIKK21zZ3N0ciAiJVA6IHBlcmluZ2F0YW46IHRpZGFrIGRhcGF0IG1lbmVtdWthbiBzaW1ib2wgbWFzdWthbiAlczsgdGlkYWsgbWVuc2V0IGF3YWwgYWxhbWF0XG4iCisKKyM6IGxkbGFuZy5jOjU0MzQKK21zZ2lkICIlUCVGOiBSZWxvY2F0YWJsZSBsaW5raW5nIHdpdGggcmVsb2NhdGlvbnMgZnJvbSBmb3JtYXQgJXMgKCVCKSB0byBmb3JtYXQgJXMgKCVCKSBpcyBub3Qgc3VwcG9ydGVkXG4iCittc2dzdHIgIiVQJUY6IFJlbG9jYXRhYmxlIGxpbmtpbmcgZGVuZ2FuIHJlbG9rYXNpIGRhcmkgZm9ybWF0ICVzICglQikga2UgZm9ybWF0ICVzICglQikgdGlkYWsgZGlkdWt1bmdcbiIKKworIzogbGRsYW5nLmM6NTQ0NAorbXNnaWQgIiVQJVg6ICVzIGFyY2hpdGVjdHVyZSBvZiBpbnB1dCBmaWxlIGAlQicgaXMgaW5jb21wYXRpYmxlIHdpdGggJXMgb3V0cHV0XG4iCittc2dzdHIgIiVQJVg6ICVzIGFyc2l0ZWt0dXIgZGFyaSBiZXJrYXMgbWFzdWthbiBgJWInIHRpZGFrIGtvbXBhdGliZWwgZGVuZ2FuIGtlbHVhcmFuICVzXG4iCisKKyM6IGxkbGFuZy5jOjU0NjYKK21zZ2lkICIlUCVYOiBmYWlsZWQgdG8gbWVyZ2UgdGFyZ2V0IHNwZWNpZmljIGRhdGEgb2YgZmlsZSAlQlxuIgorbXNnc3RyICIlUCVYOiBnYWdhbCBtZW5nZ2FidW5na2FuIHRhcmdldCBzcGVzaWZpayBkYXRhIGRhcmkgYmVya2FzICVCXG4iCisKKyM6IGxkbGFuZy5jOjU1NjcKK21zZ2lkICIiCisiXG4iCisiQWxsb2NhdGluZyBjb21tb24gc3ltYm9sc1xuIgorbXNnc3RyICIiCisiXG4iCisiTWVuZ2Fsb2thc2lrYW4gc2ltYm9sIHVtdW1cbiIKKworIzogbGRsYW5nLmM6NTU2OAorbXNnaWQgIiIKKyJDb21tb24gc3ltYm9sICAgICAgIHNpemUgICAgICAgICAgICAgIGZpbGVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlNpbWJvbCB1bXVtICAgICAgICAgdWt1cmFuICAgICAgICAgICAgYmVya2FzXG4iCisiXG4iCisKKyM6IGxkbGFuZy5jOjU3MDEKK21zZ2lkICIlUCVGOiBpbnZhbGlkIHN5bnRheCBpbiBmbGFnc1xuIgorbXNnc3RyICIlUCVGOiBzaW50YWtzIGRhbGFtIHRhbmRhIHRpZGFrIHZhbGlkXG4iCisKKyM6IGxkbGFuZy5jOjYwNjkKK21zZ2lkICIlUCVGOiBGYWlsZWQgdG8gY3JlYXRlIGhhc2ggdGFibGVcbiIKK21zZ3N0ciAiJVAlRjogR2FnYWwgbWVtYnVhdCB0YWJlbCBoYXNoXG4iCisKKyM6IGxkbGFuZy5jOjYzNzAKK21zZ2lkICIlUCVGOiBtdWx0aXBsZSBTVEFSVFVQIGZpbGVzXG4iCittc2dzdHIgIiVQJUY6IG11bHRpcGxlIGJlcmthcyBTVEFSVFVQXG4iCisKKyM6IGxkbGFuZy5jOjY0MTgKK21zZ2lkICIlWCVQOiVTOiBzZWN0aW9uIGhhcyBib3RoIGEgbG9hZCBhZGRyZXNzIGFuZCBhIGxvYWQgcmVnaW9uXG4iCittc2dzdHIgIiVYJVA6JVM6IGJhZ2lhbiBtZW1pbGlraSBiYWlrIGFsYW1hdCBiZWJhbiBkYW4gZGFlcmFoIGJlYmFuXG4iCisKKyM6IGxkbGFuZy5jOjY2NTIKK21zZ2lkICIlRiVQOiBubyBzZWN0aW9ucyBhc3NpZ25lZCB0byBwaGRyc1xuIgorbXNnc3RyICIlRiVQOiB0aWRhayBhZGEgZGFlcmFoIGRpdGVtcGF0a2FuIGtlIHBoZHJzXG4iCisKKyM6IGxkbGFuZy5jOjY2ODkKK21zZ2lkICIlRiVQOiBiZmRfcmVjb3JkX3BoZHIgZmFpbGVkOiAlRVxuIgorbXNnc3RyICIlRiVQOiBiZmRfcmVjb3JkX3BoZHIgZ2FnYWw6ICVFXG4iCisKKyM6IGxkbGFuZy5jOjY3MDkKK21zZ2lkICIlWCVQOiBzZWN0aW9uIGAlcycgYXNzaWduZWQgdG8gbm9uLWV4aXN0ZW50IHBoZHIgYCVzJ1xuIgorbXNnc3RyICIlWCVQOiBkYWVyYWggYCVzJyBkaXRlbXBhdGthbiBrZSBwaGRyIGAlcycgdGlkYWstYWRhXG4iCisKKyM6IGxkbGFuZy5jOjcxMDAKK21zZ2lkICIlWCVQOiB1bmtub3duIGxhbmd1YWdlIGAlcycgaW4gdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIlWCVQOiBiYWhhc2EgdGlkYWsgZGlrZXRhaHVpIGAlcycgZGFsYW0gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IGxkbGFuZy5jOjcyNDIKK21zZ2lkICIlWCVQOiBhbm9ueW1vdXMgdmVyc2lvbiB0YWcgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdmVyc2lvbiB0YWdzXG4iCittc2dzdHIgIiVYJVA6IHZlcnNpIGFub25pbSB0YWcgdGlkYWsgZGFwYXQgZGlrb21iaW5hc2lrYW4gZGVuZ2FuIHZlcnNpIGxhaW5ueWFcbiIKKworIzogbGRsYW5nLmM6NzI1MQorbXNnaWQgIiVYJVA6IGR1cGxpY2F0ZSB2ZXJzaW9uIHRhZyBgJXMnXG4iCittc2dzdHIgIiVYJVA6IGR1cGxpa2FzaSB2ZXJzaSB0YWcgYCVzJ1xuIgorCisjOiBsZGxhbmcuYzo3MjcxIGxkbGFuZy5jOjcyODAgbGRsYW5nLmM6NzI5NyBsZGxhbmcuYzo3MzA3Cittc2dpZCAiJVglUDogZHVwbGljYXRlIGV4cHJlc3Npb24gYCVzJyBpbiB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiVYJVA6IGR1cGxpa2FzaSBla3NwcmVzaSBgJXMnIGRhbGFtIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBsZGxhbmcuYzo3MzQ3Cittc2dpZCAiJVglUDogdW5hYmxlIHRvIGZpbmQgdmVyc2lvbiBkZXBlbmRlbmN5IGAlcydcbiIKK21zZ3N0ciAiJVglUDogdGlkYWsgZGFwYXQgbWVuZW11a2FuIGRlcGVuZGVuc2kgdmVyc2kgYCVzJ1xuIgorCisjOiBsZGxhbmcuYzo3MzY5Cittc2dpZCAiJVglUDogdW5hYmxlIHRvIHJlYWQgLmV4cG9ydHMgc2VjdGlvbiBjb250ZW50c1xuIgorbXNnc3RyICIlWCVQOiB0aWRhayBkYXBhdCBtZW1iYWNhIGlzaSBkYWVyYWggLmV4cG9ydHNcbiIKKworIzogbGRtYWluLmM6MjMzCittc2dpZCAiJVglUDogY2FuJ3Qgc2V0IEJGRCBkZWZhdWx0IHRhcmdldCB0byBgJXMnOiAlRVxuIgorbXNnc3RyICIlWCVQOiB0aWRhayBkYXBhdCBtZW5zZXQgQkZEIGRlZmF1bHQgdGFyZ2V0IGtlIGAlcyc6ICVFXG4iCisKKyM6IGxkbWFpbi5jOjI5NgorbXNnaWQgIiVQJUY6IC0tcmVsYXggYW5kIC1yIG1heSBub3QgYmUgdXNlZCB0b2dldGhlclxuIgorbXNnc3RyICIlUCVGOiAtLXJlbGF4IGRhbiAtciB0aWRhayBib2xlaCBkaWd1bmFrYW4gYmVyc2FtYVxuIgorCisjOiBsZG1haW4uYzoyOTgKK21zZ2lkICIlUCVGOiAtciBhbmQgLXNoYXJlZCBtYXkgbm90IGJlIHVzZWQgdG9nZXRoZXJcbiIKK21zZ3N0ciAiJVAlRjogLXIgZGFuIC1zaGFyZWQgdGlkYWsgYm9sZWggZGlndW5ha2FuIGJlcnNhbWFcbiIKKworIzogbGRtYWluLmM6MzQxCittc2dpZCAiJVAlRjogLUYgbWF5IG5vdCBiZSB1c2VkIHdpdGhvdXQgLXNoYXJlZFxuIgorbXNnc3RyICIlUCVGOiAtRiB0aWRhayBib2xlaCBkaWd1bmFrYW4gdGFucGEgLXNoYXJlZFxuIgorCisjOiBsZG1haW4uYzozNDMKK21zZ2lkICIlUCVGOiAtZiBtYXkgbm90IGJlIHVzZWQgd2l0aG91dCAtc2hhcmVkXG4iCittc2dzdHIgIiVQJUY6IC1mIHRpZGFrIGJvbGVoIGRpZ3VuYWthbiB0YW5wYSAtc2hhcmVkXG4iCisKKyM6IGxkbWFpbi5jOjM5MQorbXNnaWQgInVzaW5nIGV4dGVybmFsIGxpbmtlciBzY3JpcHQ6IgorbXNnc3RyICJtZW5nZ3VuYWthbiBzY3JpcCBwZW5naHVidW5nIGVrc3Rlcm5hbDoiCisKKyM6IGxkbWFpbi5jOjM5MworbXNnaWQgInVzaW5nIGludGVybmFsIGxpbmtlciBzY3JpcHQ6IgorbXNnc3RyICJtZW5nZ3VuYWthbiBzY3JpcCBwZW5naHVidW5nIGludGVybmFsOiIKKworIzogbGRtYWluLmM6NDI3Cittc2dpZCAiJVAlRjogbm8gaW5wdXQgZmlsZXNcbiIKK21zZ3N0ciAiJVAlRjogYnVrYW4gYmVya2FzIG1hc3VrYW5cbiIKKworIzogbGRtYWluLmM6NDMxCittc2dpZCAiJVA6IG1vZGUgJXNcbiIKK21zZ3N0ciAiJVA6IG1vZGUgJXNcbiIKKworIzogbGRtYWluLmM6NDQ3Cittc2dpZCAiJVAlRjogY2Fubm90IG9wZW4gbWFwIGZpbGUgJXM6ICVFXG4iCittc2dzdHIgIiVQJUY6IHRpZGFrIGRhcGF0IG1lbWJ1a2EgYmVya2FzIG1hcCAlczogJUVcbiIKKworIzogbGRtYWluLmM6NDc5Cittc2dpZCAiJVA6IGxpbmsgZXJyb3JzIGZvdW5kLCBkZWxldGluZyBleGVjdXRhYmxlIGAlcydcbiIKK21zZ3N0ciAiJVA6IGxpbmsgZXJyb3IgZGl0ZW11a2FuLCBtZW5naGFwdXMgZXhlY3V0YWJlbCBgJXMnXG4iCisKKyM6IGxkbWFpbi5jOjQ4OAorbXNnaWQgIiVGJUI6IGZpbmFsIGNsb3NlIGZhaWxlZDogJUVcbiIKK21zZ3N0ciAiJUYlQjogcGVudXR1cGFuIGFraGlyIGdhZ2FsOiAlRVxuIgorCisjOiBsZG1haW4uYzo1MTQKK21zZ2lkICIlWCVQOiB1bmFibGUgdG8gb3BlbiBmb3Igc291cmNlIG9mIGNvcHkgYCVzJ1xuIgorbXNnc3RyICIlWCVQOiB0aWRhayBkYXBhdCBtZW1idWthIHVudHVrIHN1bWJlciBkYXJpIHBlbnlhbGluYW4gYCVzJ1xuIgorCisjOiBsZG1haW4uYzo1MTcKK21zZ2lkICIlWCVQOiB1bmFibGUgdG8gb3BlbiBmb3IgZGVzdGluYXRpb24gb2YgY29weSBgJXMnXG4iCittc2dzdHIgIiVYJVA6IHRpZGFrIGRhcGF0IG1lbWJ1a2EgdW50dWsgdHVqdWFuIGRhcmkgcGVueWFsaW5hbiBgJXMnXG4iCisKKyM6IGxkbWFpbi5jOjUyNAorbXNnaWQgIiVQOiBFcnJvciB3cml0aW5nIGZpbGUgYCVzJ1xuIgorbXNnc3RyICIlUDogRXJyb3IgbWVudWxpcyBiZXJrYXMgYCVzJ1xuIgorCisjOiBsZG1haW4uYzo1MjkgcGUtZGxsLmM6MTYxMworIywgYy1mb3JtYXQKK21zZ2lkICIlUDogRXJyb3IgY2xvc2luZyBmaWxlIGAlcydcbiIKK21zZ3N0ciAiJVA6IEVycm9yIG1lbnV0dXAgYmVya2FzIGAlcydcbiIKKworIzogbGRtYWluLmM6NTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b3RhbCB0aW1lIGluIGxpbms6ICVsZC4lMDZsZFxuIgorbXNnc3RyICIlczogdG90YWwgd2FrdHUgZGFsYW0gbGluazogJWxkLiUwNmxkXG4iCisKKyM6IGxkbWFpbi5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGF0YSBzaXplICVsZFxuIgorbXNnc3RyICIlczogdWt1cmFuIGRhdGEgJWxkXG4iCisKKyM6IGxkbWFpbi5jOjYzMQorbXNnaWQgIiVQJUY6IG1pc3NpbmcgYXJndW1lbnQgdG8gLW1cbiIKK21zZ3N0ciAiJVAlRjogaGlsYW5nIGFyZ3VtZW4ga2UgLW1cbiIKKworIzogbGRtYWluLmM6Njc4IGxkbWFpbi5jOjY5NyBsZG1haW4uYzo3MjgKK21zZ2lkICIlUCVGOiBiZmRfaGFzaF90YWJsZV9pbml0IGZhaWxlZDogJUVcbiIKK21zZ3N0ciAiJVAlRjogYmZkX2hhc2hfdGFibGVfaW5pdCBnYWdhbDogJUVcbiIKKworIzogbGRtYWluLmM6NjgyIGxkbWFpbi5jOjcwMQorbXNnaWQgIiVQJUY6IGJmZF9oYXNoX2xvb2t1cCBmYWlsZWQ6ICVFXG4iCittc2dzdHIgIiVQJUY6IGJmZF9oYXNoX2xvb2t1cCBnYWdhbDogJUVcbiIKKworIzogbGRtYWluLmM6NzE1Cittc2dpZCAiJVglUDogZXJyb3I6IGR1cGxpY2F0ZSByZXRhaW4tc3ltYm9scy1maWxlXG4iCittc2dzdHIgIiVYJVA6IGVycm9yOiBkdXBsaWthc2kgcmV0YWluLXN5bWJvbHMtZmlsZVxuIgorCisjOiBsZG1haW4uYzo3NTgKK21zZ2lkICIlUCVGOiBiZmRfaGFzaF9sb29rdXAgZm9yIGluc2VydGlvbiBmYWlsZWQ6ICVFXG4iCittc2dzdHIgIiVQJUY6IGJmZF9oYXNoX2xvb2t1cCB1bnR1ayBpbnNlcnRpb24gZ2FnYWw6ICVFXG4iCisKKyM6IGxkbWFpbi5jOjc2MworbXNnaWQgIiVQOiBgLXJldGFpbi1zeW1ib2xzLWZpbGUnIG92ZXJyaWRlcyBgLXMnIGFuZCBgLVMnXG4iCittc2dzdHIgIiVQOiBgLXJldGFpbi1zeW1ib2xzLWZpbGUnIG1lbWFrc2EgYC1zJyBkYW5hIGAtUydcbiIKKworIzogbGRtYWluLmM6ODI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJBcmNoaXZlIG1lbWJlciBpbmNsdWRlZCBiZWNhdXNlIG9mIGZpbGUgKHN5bWJvbClcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkFuZ2dvdGEgYXJjaGl2ZSBkaW1hc3VrYW4ga2FyZW5hIGJlcmthcyAoc2ltYm9sKVxuIgorIlxuIgorCisjOiBsZG1haW4uYzo4OTcKK21zZ2lkICIlWCVDOiBtdWx0aXBsZSBkZWZpbml0aW9uIG9mIGAlVCdcbiIKK21zZ3N0ciAiJVglWDogbXVsdGlwbGUgZGVmaW5pc2kgZGFyaSBgJVQnXG4iCisKKyM6IGxkbWFpbi5jOjkwMAorbXNnaWQgIiVEOiBmaXJzdCBkZWZpbmVkIGhlcmVcbiIKK21zZ3N0ciAiJUQ6IHBlcnRhbWEgZGlkZWZpbmlzaWthbiBkaXNpbmlcbiIKKworIzogbGRtYWluLmM6OTA0Cittc2dpZCAiJVA6IERpc2FibGluZyByZWxheGF0aW9uOiBpdCB3aWxsIG5vdCB3b3JrIHdpdGggbXVsdGlwbGUgZGVmaW5pdGlvbnNcbiIKK21zZ3N0ciAiJVA6IE1lbm9uYWt0aWZrYW4gcmVsYWtzYXNpOiBpbmkgdGlkYWsgYWthbiBiZWtlcmphIGRlbmdhbiBtdWx0aXBsZSBkZWZpbmlzaVxuIgorCisjOiBsZG1haW4uYzo5MzQKK21zZ2lkICIlQjogd2FybmluZzogZGVmaW5pdGlvbiBvZiBgJVQnIG92ZXJyaWRpbmcgY29tbW9uXG4iCittc2dzdHIgIiVCOiBwZXJpbmdhdGFuOiBkZWZpbmlzaSBkYXJpIGAlVCcgbWVtYWtzYSB1bXVtXG4iCisKKyM6IGxkbWFpbi5jOjkzNworbXNnaWQgIiVCOiB3YXJuaW5nOiBjb21tb24gaXMgaGVyZVxuIgorbXNnc3RyICIlQjogcGVyaW5nYXRhbjogdW11bSBkaXNpbmlcbiIKKworIzogbGRtYWluLmM6OTQ0Cittc2dpZCAiJUI6IHdhcm5pbmc6IGNvbW1vbiBvZiBgJVQnIG92ZXJyaWRkZW4gYnkgZGVmaW5pdGlvblxuIgorbXNnc3RyICIlQjogcGVyaW5nYXRhbjogdW11bSBkYXJpIGAlVCcgZGlwYWtzYSBvbGVoIGRlZmluaXNpXG4iCisKKyM6IGxkbWFpbi5jOjk0NworbXNnaWQgIiVCOiB3YXJuaW5nOiBkZWZpbmVkIGhlcmVcbiIKK21zZ3N0ciAiJUI6IHBlcmluZ2F0YW46IHRlcmRlZmluaXNpIGRpc2luaVxuIgorCisjOiBsZG1haW4uYzo5NTQKK21zZ2lkICIlQjogd2FybmluZzogY29tbW9uIG9mIGAlVCcgb3ZlcnJpZGRlbiBieSBsYXJnZXIgY29tbW9uXG4iCittc2dzdHIgIiVCOiBwZXJpbmdhdGFuOiB1bXVtIGRhcmkgYCVUJyBkaXBha3NhIG9sZWggdW11bSBsZWJpaCBiZXNhclxuIgorCisjOiBsZG1haW4uYzo5NTcKK21zZ2lkICIlQjogd2FybmluZzogbGFyZ2VyIGNvbW1vbiBpcyBoZXJlXG4iCittc2dzdHIgIiVCOiBwZXJpbmdhdGFuOiB1bXVtIGxlYmloIGJlc2FyIGRpc2luaVxuIgorCisjOiBsZG1haW4uYzo5NjEKK21zZ2lkICIlQjogd2FybmluZzogY29tbW9uIG9mIGAlVCcgb3ZlcnJpZGluZyBzbWFsbGVyIGNvbW1vblxuIgorbXNnc3RyICIlQjogcGVyaW5nYXRhbjogdW11bSBkYXJpIGAlVCcgbWVtYWtzYSB1bXVtIGxlYmloIGtlY2lsXG4iCisKKyM6IGxkbWFpbi5jOjk2NAorbXNnaWQgIiVCOiB3YXJuaW5nOiBzbWFsbGVyIGNvbW1vbiBpcyBoZXJlXG4iCittc2dzdHIgIiVCOiBwZXJpbmdhdGFuOiB1bXVtIGxlYmloIGtlY2lsIGRpc2luaVxuIgorCisjOiBsZG1haW4uYzo5NjgKK21zZ2lkICIlQjogd2FybmluZzogbXVsdGlwbGUgY29tbW9uIG9mIGAlVCdcbiIKK21zZ3N0ciAiJUI6IHBlcmluZ2F0YW46IG11bHRpcGxlIHVtdW0gZGFyaSBgJVQnXG4iCisKKyM6IGxkbWFpbi5jOjk3MAorbXNnaWQgIiVCOiB3YXJuaW5nOiBwcmV2aW91cyBjb21tb24gaXMgaGVyZVxuIgorbXNnc3RyICIlQjogcGVyaW5nYXRhbjogdW11bSBzZWJlbHVtbnlhIGRpc2luaVxuIgorCisjOiBsZG1haW4uYzo5OTAgbGRtYWluLmM6MTAyOAorbXNnaWQgIiVQOiB3YXJuaW5nOiBnbG9iYWwgY29uc3RydWN0b3IgJXMgdXNlZFxuIgorbXNnc3RyICIlUDogcGVyaW5nYXRhbjogZ2xvYmFsIGtvbnN0cnVrdG9yICVzIGRpZ3VuYWthblxuIgorCisjOiBsZG1haW4uYzoxMDM4Cittc2dpZCAiJVAlRjogQkZEIGJhY2tlbmQgZXJyb3I6IEJGRF9SRUxPQ19DVE9SIHVuc3VwcG9ydGVkXG4iCittc2dzdHIgIiVQJUY6IEJGRCBiYWNrZWQgZXJyb3I6IEJGRF9SRUxPQ19DVE9SIHRpZGFrIGRpZHVrdW5nXG4iCisKKyMuIFdlIGZvdW5kIGEgcmVsb2MgZm9yIHRoZSBzeW1ib2wgd2UgYXJlIGxvb2tpbmcgZm9yLgorIzogbGRtYWluLmM6MTA5MiBsZG1haW4uYzoxMDk0IGxkbWFpbi5jOjEwOTYgbGRtYWluLmM6MTExNCBsZG1haW4uYzoxMTU5Cittc2dpZCAid2FybmluZzogIgorbXNnc3RyICJwZXJpbmdhdGFuOiAiCisKKyM6IGxkbWFpbi5jOjExOTQKK21zZ2lkICIlRiVQOiBiZmRfaGFzaF90YWJsZV9pbml0IGZhaWxlZDogJUVcbiIKK21zZ3N0ciAiJUYlUDogYmZkX2hhc2hfdGFibGVfaW5pdCBnYWdhbDogJUVcbiIKKworIzogbGRtYWluLmM6MTIwMQorbXNnaWQgIiVGJVA6IGJmZF9oYXNoX2xvb2t1cCBmYWlsZWQ6ICVFXG4iCittc2dzdHIgIiVGJVA6IGJmZF9oYXNoX2xvb2t1cCBnYWdhbDogJUVcbiIKKworIzogbGRtYWluLmM6MTIyMgorbXNnaWQgIiVYJUM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYCVUJ1xuIgorbXNnc3RyICIlWCVDOiByZWZlcmVuc2kga2UgYCVUJyB0aWRhayB0ZXJkZWZpbmlzaVxuIgorCisjOiBsZG1haW4uYzoxMjI1Cittc2dpZCAiJUM6IHdhcm5pbmc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYCVUJ1xuIgorbXNnc3RyICIlQzogcGVyaW5nYXRhbjogcmVmZXJlbnNpIGtlIGAlVCcgdGlkYWsgdGVyZGVmaW5pc2lcbiIKKworIzogbGRtYWluLmM6MTIzMQorbXNnaWQgIiVYJUQ6IG1vcmUgdW5kZWZpbmVkIHJlZmVyZW5jZXMgdG8gYCVUJyBmb2xsb3dcbiIKK21zZ3N0ciAiJVglRDogbGViaWggcmVmZXJlbnNpIGtlIGAlVCcgdGlkYWsgdGVyZGVmaW5pc2kgbWVuZ2lrdXRpXG4iCisKKyM6IGxkbWFpbi5jOjEyMzQKK21zZ2lkICIlRDogd2FybmluZzogbW9yZSB1bmRlZmluZWQgcmVmZXJlbmNlcyB0byBgJVQnIGZvbGxvd1xuIgorbXNnc3RyICIlRDogcGVyaW5nYXRhbjogbGViaWggcmVmZXJlbnNpIGtlIGAlVCcgdGlkYWsgdGVyZGVmaW5pc2kgbWVuZ2lrdXRpXG4iCisKKyM6IGxkbWFpbi5jOjEyNDUKK21zZ2lkICIlWCVCOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGAlVCdcbiIKK21zZ3N0ciAiJVglQjogcmVmZXJlbnNpIGtlIGAlVCcgdGlkYWsgdGVyZGVmaW5pc2lcbiIKKworIzogbGRtYWluLmM6MTI0OAorbXNnaWQgIiVCOiB3YXJuaW5nOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGAlVCdcbiIKK21zZ3N0ciAiJUI6IHBlcmluZ2F0YW46IHJlZmVyZW5zaSBrZSBgJVQnIHRpZGFrIHRlcmRlZmluaXNpXG4iCisKKyM6IGxkbWFpbi5jOjEyNTQKK21zZ2lkICIlWCVCOiBtb3JlIHVuZGVmaW5lZCByZWZlcmVuY2VzIHRvIGAlVCcgZm9sbG93XG4iCittc2dzdHIgIiVYJUI6IGxlYmloIHJlZmVyZW5zaSBrZSBgJVQnIHRpZGFrIHRlcmRlZmluaXNpIG1lbmdpa3V0aVxuIgorCisjOiBsZG1haW4uYzoxMjU3Cittc2dpZCAiJUI6IHdhcm5pbmc6IG1vcmUgdW5kZWZpbmVkIHJlZmVyZW5jZXMgdG8gYCVUJyBmb2xsb3dcbiIKK21zZ3N0ciAiJUI6IHBlcmluZ2F0YW46IGxlYmloIHJlZmVyZW5zaSBrZSBgJVQnIHRpZGFrIHRlcmRlZmluaXNpIG1lbmdpa3V0aVxuIgorCisjOiBsZG1haW4uYzoxMjk2Cittc2dpZCAiIGFkZGl0aW9uYWwgcmVsb2NhdGlvbiBvdmVyZmxvd3Mgb21pdHRlZCBmcm9tIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiIHRhbWJhaGFuIHJlbG9rYXNpIG92ZXJmbG93IGRpYWJhaWthbiBkYXJpIGtlbHVhcmFuXG4iCisKKyM6IGxkbWFpbi5jOjEzMDkKK21zZ2lkICIgcmVsb2NhdGlvbiB0cnVuY2F0ZWQgdG8gZml0OiAlcyBhZ2FpbnN0IHVuZGVmaW5lZCBzeW1ib2wgYCVUJyIKK21zZ3N0ciAiIHJlbG9rYXNpIGRpcG90b25nIHN1cGF5YSBwYXM6ICVzIHRlcmhhZGFwIHNpbWJvbCBgJVQnIHRpZGFrIHRlcmRlZmluaXNpIgorCisjOiBsZG1haW4uYzoxMzE0Cittc2dpZCAiIHJlbG9jYXRpb24gdHJ1bmNhdGVkIHRvIGZpdDogJXMgYWdhaW5zdCBzeW1ib2wgYCVUJyBkZWZpbmVkIGluICVBIHNlY3Rpb24gaW4gJUIiCittc2dzdHIgIiByZWxva2FzaSBkaXBvdG9uZyBzdXBheWEgcGFzOiAlcyB0ZXJoYWRhcCBzaW1ib2wgYCVUJyB0ZXJkZWZpbmlzaSBkYWxhbSBkYWVyYWggJUEgZGFsYW0gJUIiCisKKyM6IGxkbWFpbi5jOjEzMjYKK21zZ2lkICIgcmVsb2NhdGlvbiB0cnVuY2F0ZWQgdG8gZml0OiAlcyBhZ2FpbnN0IGAlVCciCittc2dzdHIgIiByZWxva2FzaSBkaXBvdG9uZyBzdXBheWEgcGFzOiAlcyB0ZXJoYWRhcCBgJVQnIgorCisjOiBsZG1haW4uYzoxMzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVYJUM6IGRhbmdlcm91cyByZWxvY2F0aW9uOiAlc1xuIgorbXNnc3RyICIlWCVDOiByZWxva2FzaSBiZXJiYWhheWE6ICVzXG4iCisKKyM6IGxkbWFpbi5jOjEzNTgKK21zZ2lkICIlWCVDOiByZWxvYyByZWZlcnMgdG8gc3ltYm9sIGAlVCcgd2hpY2ggaXMgbm90IGJlaW5nIG91dHB1dFxuIgorbXNnc3RyICIlWCVDOiByZWxva2FzaSBtZXJlZmVyZW5zaWthbiBrZSBzaW1ib2wgYCVUJyBkaW1hbmEgdGlkYWsgZGlrZWx1YXJrYW5cbiIKKworIzogbGRtaXNjLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN5bWJvbCIKK21zZ3N0ciAiYnVrYW4gc2ltYm9sIgorCisjOiBsZG1pc2MuYzoyNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYnVpbHQgaW4gbGlua2VyIHNjcmlwdDoldSIKK21zZ3N0ciAic2NyaXAgcGVuZ2h1YnVuZyBidWlsdC1pbjogJXUiCisKKyM6IGxkbWlzYy5jOjMyMworbXNnaWQgIiVCOiBJbiBmdW5jdGlvbiBgJVQnOlxuIgorbXNnc3RyICIlQjogRGFsYW0gZnVuZ3NpIGAlVCc6XG4iCisKKyM6IGxkbWlzYy5jOjQ0NQorbXNnaWQgIiVGJVA6IGludGVybmFsIGVycm9yICVzICVkXG4iCittc2dzdHIgIiVGJVA6IGludGVybmFsIGVycm9yICVzICVkXG4iCisKKyM6IGxkbWlzYy5jOjQ5NAorbXNnaWQgIiVQOiBpbnRlcm5hbCBlcnJvcjogYWJvcnRpbmcgYXQgJXMgbGluZSAlZCBpbiAlc1xuIgorbXNnc3RyICIlUDogaW50ZXJuYWwgZXJyb3I6IG1lbWJhdGFsa2FuIGRpICVzIGJhcmlzICVkIGRhbGFtICVzXG4iCisKKyM6IGxkbWlzYy5jOjQ5NworbXNnaWQgIiVQOiBpbnRlcm5hbCBlcnJvcjogYWJvcnRpbmcgYXQgJXMgbGluZSAlZFxuIgorbXNnc3RyICIlUDogaW50ZXJuYWwgZXJyb3I6IG1lbWJhdGFsa2FuIGRpICVzIGJhcmlzICVkXG4iCisKKyM6IGxkbWlzYy5jOjQ5OQorbXNnaWQgIiVQJUY6IHBsZWFzZSByZXBvcnQgdGhpcyBidWdcbiIKK21zZ3N0ciAiJVAlRjogdG9sb25nIGxhcG9ya2FuIGJ1ZyBpbmlcbiIKKworIy4gT3V0cHV0IGZvciBub2lzeSA9PSAyIGlzIGludGVuZGVkIHRvIGZvbGxvdyB0aGUgR05VIHN0YW5kYXJkcy4KKyM6IGxkdmVyLmM6MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiR05VIGxkICVzXG4iCittc2dzdHIgIkdOVSBsZCAlc1xuIgorCisjOiBsZHZlci5jOjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgorbXNnc3RyICJIYWsgY2lwdGEgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKKworIzogbGR2ZXIuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBtYXkgcmVkaXN0cmlidXRlIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZlxuIgorInRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDMgb3IgKGF0IHlvdXIgb3B0aW9uKSBhIGxhdGVyIHZlcnNpb24uXG4iCisiVGhpcyBwcm9ncmFtIGhhcyBhYnNvbHV0ZWx5IG5vIHdhcnJhbnR5LlxuIgorbXNnc3RyICIiCisiQXBsaWthc2kgaW5pIGFkYWxhaCBhcGxpa2FzaSBiZWJhczsgYW5kYSBib2xlaCBtZW5kaXN0cmlidXNpa2FubnlhIGRpYmF3YWgga2V0ZW50dWFuIGRhcmlcbiIKKyJMaXNlbnNpIFVtdW0gUHVibGlrIEdOVSB2ZXJzaSAzIGF0YXUgKG1lbnVydXQgcGVuZGFwYXQgYW5kYSkgdW50dWsgdmVyc2kgc2VsYW5qdXRueWEuXG4iCisiQXBsaWthc2kgaW5pIHRpZGFrIG1lbWlsaWtpIGdhcmFuc2kgYXBhcHVuLlxuIgorCisjOiBsZHZlci5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgU3VwcG9ydGVkIGVtdWxhdGlvbnM6XG4iCittc2dzdHIgIiAgRW11bGFzaSB5YW5nIGRpZHVrdW5nOlxuIgorCisjOiBsZHdyaXRlLmM6NTYgbGR3cml0ZS5jOjE5NgorbXNnaWQgIiVQJUY6IGJmZF9uZXdfbGlua19vcmRlciBmYWlsZWRcbiIKK21zZ3N0ciAiJVAlRjogYmZkX25ld19saW5rX29yZGVyIGdhZ2FsXG4iCisKKyM6IGxkd3JpdGUuYzozNTQKK21zZ2lkICIlRiVQOiBjYW5ub3QgY3JlYXRlIHNwbGl0IHNlY3Rpb24gbmFtZSBmb3IgJXNcbiIKK21zZ3N0ciAiJUYlUDogdGlkYWsgZGFwYXQgbWVtYnVhdCBuYW1hIGRhZXJhaCBzcGxpdCB1bnR1ayAlc1xuIgorCisjOiBsZHdyaXRlLmM6MzY2Cittc2dpZCAiJUYlUDogY2xvbmUgc2VjdGlvbiBmYWlsZWQ6ICVFXG4iCittc2dzdHIgIiVGJVA6IHBlbnlhbGluYW4gZGFlcmFoIGdhZ2FsOiAlRVxuIgorCisjOiBsZHdyaXRlLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiU4eCBzb21ldGhpbmcgZWxzZVxuIgorbXNnc3RyICIlOHggc2VzdWF0dSB5YW5nIGxhaW5cbiIKKworIzogbGR3cml0ZS5jOjU3NAorbXNnaWQgIiVGJVA6IGZpbmFsIGxpbmsgZmFpbGVkOiAlRVxuIgorbXNnc3RyICIlRiVQOiBmaW5hbCBsaW5rIGdhZ2FsOiAlRVxuIgorCisjOiBsZXhzdXAuYzoyMDYgbGV4c3VwLmM6MzQ0Cittc2dpZCAiS0VZV09SRCIKK21zZ3N0ciAiS0FUQS1LVU5DSSIKKworIzogbGV4c3VwLmM6MjA2Cittc2dpZCAiU2hhcmVkIGxpYnJhcnkgY29udHJvbCBmb3IgSFAvVVggY29tcGF0aWJpbGl0eSIKK21zZ3N0ciAiUGVycHVzdGFrYWFuIHRlcmJhZ2kga29udHJvbCB1bnR1ayBrb21wYXRpYmlsaXRhcyBIUC9VWCIKKworIzogbGV4c3VwLmM6MjA5Cittc2dpZCAiQVJDSCIKK21zZ3N0ciAiQVJTIgorCisjOiBsZXhzdXAuYzoyMDkKK21zZ2lkICJTZXQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICJTZXQgYXJzaXRla3R1ciIKKworIzogbGV4c3VwLmM6MjExIGxleHN1cC5jOjQ1NAorbXNnaWQgIlRBUkdFVCIKK21zZ3N0ciAiVEFSR0VUIgorCisjOiBsZXhzdXAuYzoyMTEKK21zZ2lkICJTcGVjaWZ5IHRhcmdldCBmb3IgZm9sbG93aW5nIGlucHV0IGZpbGVzIgorbXNnc3RyICJTcGVzaWZpa2FzaWthbiB0YXJnZXQgdW50dWsgYmVya2FzIG1hc3VrYW4gYmVyaWt1dCIKKworIzogbGV4c3VwLmM6MjE0IGxleHN1cC5jOjI2MyBsZXhzdXAuYzoyNzUgbGV4c3VwLmM6Mjg4IGxleHN1cC5jOjI5MAorIzogbGV4c3VwLmM6NDA4IGxleHN1cC5jOjQ2NiBsZXhzdXAuYzo1MjYgbGV4c3VwLmM6NTM5Cittc2dpZCAiRklMRSIKK21zZ3N0ciAiQkVSS0FTIgorCisjOiBsZXhzdXAuYzoyMTQKK21zZ2lkICJSZWFkIE1SSSBmb3JtYXQgbGlua2VyIHNjcmlwdCIKK21zZ3N0ciAiQmFjYSBmb3JtYXQgTVJJIHNjcmlwIHBlbmdodWJ1bmciCisKKyM6IGxleHN1cC5jOjIxNgorbXNnaWQgIkZvcmNlIGNvbW1vbiBzeW1ib2xzIHRvIGJlIGRlZmluZWQiCittc2dzdHIgIlBha3NhIHNpbWJvbCB1bXVtIHVudHVrIGRpZGVmaW5pc2lrYW4iCisKKyM6IGxleHN1cC5jOjIyMCBsZXhzdXAuYzo1MTAgbGV4c3VwLmM6NTEyIGxleHN1cC5jOjUxNAorbXNnaWQgIkFERFJFU1MiCittc2dzdHIgIkFMQU1BVCIKKworIzogbGV4c3VwLmM6MjIwCittc2dpZCAiU2V0IHN0YXJ0IGFkZHJlc3MiCittc2dzdHIgIlNldCBhd2FsIGFsYW1hdCIKKworIzogbGV4c3VwLmM6MjIyCittc2dpZCAiRXhwb3J0IGFsbCBkeW5hbWljIHN5bWJvbHMiCittc2dzdHIgIkV4cG9yIHNlbHVydWggc2ltYm9sIGRpbmFtaXMiCisKKyM6IGxleHN1cC5jOjIyNAorbXNnaWQgIkxpbmsgYmlnLWVuZGlhbiBvYmplY3RzIgorbXNnc3RyICJIdWJ1bmdrYW4gb2JqZWsgYmlnLWVuZGlhbiIKKworIzogbGV4c3VwLmM6MjI2Cittc2dpZCAiTGluayBsaXR0bGUtZW5kaWFuIG9iamVjdHMiCittc2dzdHIgIkh1YnVuZ2thbiBvYmplayBsaXR0bGUtZW5kaWFuIgorCisjOiBsZXhzdXAuYzoyMjggbGV4c3VwLmM6MjMxCittc2dpZCAiU0hMSUIiCittc2dzdHIgIlNITElCIgorCisjOiBsZXhzdXAuYzoyMjgKK21zZ2lkICJBdXhpbGlhcnkgZmlsdGVyIGZvciBzaGFyZWQgb2JqZWN0IHN5bWJvbCB0YWJsZSIKK21zZ3N0ciAiVGFtYmFoYW4gZmlsdGVyIHVudHVrIHNpbWJvbCB0YWJlbCBvYmplayB0ZXJiYWdpIgorCisjOiBsZXhzdXAuYzoyMzEKK21zZ2lkICJGaWx0ZXIgZm9yIHNoYXJlZCBvYmplY3Qgc3ltYm9sIHRhYmxlIgorbXNnc3RyICJGaWx0ZXIgdW50dWsgc2ltYm9sIHRhYmVsIG9iamVrIHRlcmJhZ2kiCisKKyM6IGxleHN1cC5jOjIzNAorbXNnaWQgIklnbm9yZWQiCittc2dzdHIgIkRpYWJhaWthbiIKKworIzogbGV4c3VwLmM6MjM2Cittc2dpZCAiU0laRSIKK21zZ3N0ciAiVUtVUkFOIgorCisjOiBsZXhzdXAuYzoyMzYKK21zZ2lkICJTbWFsbCBkYXRhIHNpemUgKGlmIG5vIHNpemUsIHNhbWUgYXMgLS1zaGFyZWQpIgorbXNnc3RyICJVa3VyYW4gZGF0YSBrZWNpbCAoamlrYSB0aWRhayBhZGEgdWt1cmFuLCBzYW1hIGRlbmdhbiAtLXNoYXJlZCkiCisKKyM6IGxleHN1cC5jOjIzOQorbXNnaWQgIkZJTEVOQU1FIgorbXNnc3RyICJOQU1BLUJFUktBUyIKKworIzogbGV4c3VwLmM6MjM5Cittc2dpZCAiU2V0IGludGVybmFsIG5hbWUgb2Ygc2hhcmVkIGxpYnJhcnkiCittc2dzdHIgIlNldCBuYW1hIGludGVybmFsIGRhcmkgcGVycHVzdGFrYWFuIHRlcmJhZ2kiCisKKyM6IGxleHN1cC5jOjI0MQorbXNnaWQgIlBST0dSQU0iCittc2dzdHIgIkFQTElLQVNJIgorCisjOiBsZXhzdXAuYzoyNDEKK21zZ2lkICJTZXQgUFJPR1JBTSBhcyB0aGUgZHluYW1pYyBsaW5rZXIgdG8gdXNlIgorbXNnc3RyICJTZXQgQVBMSUtBU0kgc2ViYWdhaSBwZW5naHVidW5nIGRpbmFtaXMgeWFuZyBha2FuIGRpZ3VuYWthbiIKKworIzogbGV4c3VwLmM6MjQ0Cittc2dpZCAiTElCTkFNRSIKK21zZ3N0ciAiTkFNQS1MSUIiCisKKyM6IGxleHN1cC5jOjI0NAorbXNnaWQgIlNlYXJjaCBmb3IgbGlicmFyeSBMSUJOQU1FIgorbXNnc3RyICJDYXJpIHVudHVrIHBlcnB1c3Rha2FhbiBOQU1BLUxJQiIKKworIzogbGV4c3VwLmM6MjQ2Cittc2dpZCAiRElSRUNUT1JZIgorbXNnc3RyICJESVJFS1RPUkkiCisKKyM6IGxleHN1cC5jOjI0NgorbXNnaWQgIkFkZCBESVJFQ1RPUlkgdG8gbGlicmFyeSBzZWFyY2ggcGF0aCIKK21zZ3N0ciAiVGFtYmFoa2FuIERJUkVLVE9SSSBrZSBqYWx1ciBwZW5jYXJpYW4gcGVycHVzdGFrYWFuIgorCisjOiBsZXhzdXAuYzoyNDkKK21zZ2lkICJPdmVycmlkZSB0aGUgZGVmYXVsdCBzeXNyb290IGxvY2F0aW9uIgorbXNnc3RyICJQYWtzYSBsb2thc2kgZGVmYXVsdCBzeXNyb290IgorCisjOiBsZXhzdXAuYzoyNTEKK21zZ2lkICJFTVVMQVRJT04iCittc2dzdHIgIkVNVUxBU0kiCisKKyM6IGxleHN1cC5jOjI1MQorbXNnaWQgIlNldCBlbXVsYXRpb24iCittc2dzdHIgIlNldCBlbXVsYXNpIgorCisjOiBsZXhzdXAuYzoyNTMKK21zZ2lkICJQcmludCBtYXAgZmlsZSBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgIlRhbXBpbGthbiBwZXRhIGJlcmthcyBkaSBzdGFuZGFyIGtlbHVhcmFuIgorCisjOiBsZXhzdXAuYzoyNTUKK21zZ2lkICJEbyBub3QgcGFnZSBhbGlnbiBkYXRhIgorbXNnc3RyICJKYW5nYW4gcGFnZSBhbGlnbiBkYXRhIgorCisjOiBsZXhzdXAuYzoyNTcKK21zZ2lkICJEbyBub3QgcGFnZSBhbGlnbiBkYXRhLCBkbyBub3QgbWFrZSB0ZXh0IHJlYWRvbmx5IgorbXNnc3RyICJKYW5nYW4gcGFnZSBhbGlnbiBkYXRhLCBqYW5nYW4gYnVhdCB0ZXh0IGJhY2Etc2FqYSIKKworIzogbGV4c3VwLmM6MjYwCittc2dpZCAiUGFnZSBhbGlnbiBkYXRhLCBtYWtlIHRleHQgcmVhZG9ubHkiCittc2dzdHIgIlBhZ2UgYWxpZ24gZGF0YSwgYnVhdCB0ZXh0IGJhY2Etc2FqYSIKKworIzogbGV4c3VwLmM6MjYzCittc2dpZCAiU2V0IG91dHB1dCBmaWxlIG5hbWUiCittc2dzdHIgIlNldCBrZWx1YXJhbiBuYW1hIGJlcmthcyIKKworIzogbGV4c3VwLmM6MjY1Cittc2dpZCAiT3B0aW1pemUgb3V0cHV0IGZpbGUiCittc2dzdHIgIk9wdGltaXNhc2kgYmVya2FzIGtlbHVhcmFuIgorCisjOiBsZXhzdXAuYzoyNjcKK21zZ2lkICJJZ25vcmVkIGZvciBTVlI0IGNvbXBhdGliaWxpdHkiCittc2dzdHIgIkFiYWlrYW4gdW50dWsga29tcGFiaWxpdGFzIFNWUjQiCisKKyM6IGxleHN1cC5jOjI3MQorbXNnaWQgIkdlbmVyYXRlIHJlbG9jYXRhYmxlIG91dHB1dCIKK21zZ3N0ciAiQnVhdCBrZWx1YXJhbiB5YW5nIGRhcGF0IGRpcmVsb2thc2lrYW4iCisKKyM6IGxleHN1cC5jOjI3NQorbXNnaWQgIkp1c3QgbGluayBzeW1ib2xzIChpZiBkaXJlY3RvcnksIHNhbWUgYXMgLS1ycGF0aCkiCittc2dzdHIgIkh1YnVuZ2thbiBzYWphIHNpbWJvbCAoamlrYSBkaXJla3RvcmksIHNhbWEgZGVuZ2FuIC0tcnBhdGgpIgorCisjOiBsZXhzdXAuYzoyNzgKK21zZ2lkICJTdHJpcCBhbGwgc3ltYm9scyIKK21zZ3N0ciAiU3RyaXAgc2VsdXJ1aCBzaW1ib2wiCisKKyM6IGxleHN1cC5jOjI4MAorbXNnaWQgIlN0cmlwIGRlYnVnZ2luZyBzeW1ib2xzIgorbXNnc3RyICJTdHJpcCBkZWJ1Z2dpbmcgc2ltYm9sIgorCisjOiBsZXhzdXAuYzoyODIKK21zZ2lkICJTdHJpcCBzeW1ib2xzIGluIGRpc2NhcmRlZCBzZWN0aW9ucyIKK21zZ3N0ciAiU3RyaXAgc2ltYm9sIGRhbGFtIGRhZXJhaCB5YW5nIGRpYWJhaWthbiIKKworIzogbGV4c3VwLmM6Mjg0Cittc2dpZCAiRG8gbm90IHN0cmlwIHN5bWJvbHMgaW4gZGlzY2FyZGVkIHNlY3Rpb25zIgorbXNnc3RyICJKYW5nYW4gc3RyaXAgc2ltYm9sIGRhbGFtIGRhZXJhaCB5YW5nIGRpYWJhaWthbiIKKworIzogbGV4c3VwLmM6Mjg2Cittc2dpZCAiVHJhY2UgZmlsZSBvcGVucyIKK21zZ3N0ciAiVGVsdXN1cmkgYmVya2FzIHRlcmJ1a2EiCisKKyM6IGxleHN1cC5jOjI4OAorbXNnaWQgIlJlYWQgbGlua2VyIHNjcmlwdCIKK21zZ3N0ciAiQmFjYSBzY3JpcCBwZW5naHVidW5nIgorCisjOiBsZXhzdXAuYzoyOTAKK21zZ2lkICJSZWFkIGRlZmF1bHQgbGlua2VyIHNjcmlwdCIKK21zZ3N0ciAiQmFjYSBkZWZhdWx0IHNjcmlwIHBlbmdodWJ1bmciCisKKyM6IGxleHN1cC5jOjI5NCBsZXhzdXAuYzozMTIgbGV4c3VwLmM6Mzg1IGxleHN1cC5jOjQwNiBsZXhzdXAuYzo1MDMKKyM6IGxleHN1cC5jOjUyOSBsZXhzdXAuYzo1NjUKK21zZ2lkICJTWU1CT0wiCittc2dzdHIgIlNJTUJPTCIKKworIzogbGV4c3VwLmM6Mjk0Cittc2dpZCAiU3RhcnQgd2l0aCB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIFNZTUJPTCIKK21zZ3N0ciAiQXdhbGkgZGVuZ2FuIHJlZmVyZW5zaSBrZSBTSU1CT0wgdGlkYWsgdGVyZGVmaW5pc2kiCisKKyM6IGxleHN1cC5jOjI5NworbXNnaWQgIls9U0VDVElPTl0iCittc2dzdHIgIls9REFFUkFIXSIKKworIzogbGV4c3VwLmM6Mjk4Cittc2dpZCAiRG9uJ3QgbWVyZ2UgaW5wdXQgW1NFQ1RJT04gfCBvcnBoYW5dIHNlY3Rpb25zIgorbXNnc3RyICJKYW5nYW4gZ2FidW5na2FuIG1hc3VrYW4gW0RBRVJBSCB8IG9ycGhhbl0gZGFlcmFoIgorCisjOiBsZXhzdXAuYzozMDAKK21zZ2lkICJCdWlsZCBnbG9iYWwgY29uc3RydWN0b3IvZGVzdHJ1Y3RvciB0YWJsZXMiCittc2dzdHIgIkJ1YXQgdGFiZWwgZ2xvYmFsIGtvbnN0cnVrdG9yL2Rlc2t0cnVrdG9yIgorCisjOiBsZXhzdXAuYzozMDIKK21zZ2lkICJQcmludCB2ZXJzaW9uIGluZm9ybWF0aW9uIgorbXNnc3RyICJUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpIgorCisjOiBsZXhzdXAuYzozMDQKK21zZ2lkICJQcmludCB2ZXJzaW9uIGFuZCBlbXVsYXRpb24gaW5mb3JtYXRpb24iCittc2dzdHIgIlRhbXBpbGthbiB2ZXJzaSBkYW4gaW5mb3JtYXNpIGVtdWxhc2kiCisKKyM6IGxleHN1cC5jOjMwNgorbXNnaWQgIkRpc2NhcmQgYWxsIGxvY2FsIHN5bWJvbHMiCittc2dzdHIgIkFiYWlrYW4gc2VsdXJ1aCBzaW1ib2wgbG9rYWwiCisKKyM6IGxleHN1cC5jOjMwOAorbXNnaWQgIkRpc2NhcmQgdGVtcG9yYXJ5IGxvY2FsIHN5bWJvbHMgKGRlZmF1bHQpIgorbXNnc3RyICJBYmFpa2FuIHNpbWJvbCBsb2thbCBzZW1lbnRhcmEgKGJha3UpIgorCisjOiBsZXhzdXAuYzozMTAKK21zZ2lkICJEb24ndCBkaXNjYXJkIGFueSBsb2NhbCBzeW1ib2xzIgorbXNnc3RyICJKYW5nYW4gYWJhaWthbiBzaW1ib2wgbG9rYWwgYXBhcHVuIgorCisjOiBsZXhzdXAuYzozMTIKK21zZ2lkICJUcmFjZSBtZW50aW9ucyBvZiBTWU1CT0wiCittc2dzdHIgIlRlbHVzdXJpIFNJTUJPTCB5YW5nIGRpc2VidXRrYW4iCisKKyM6IGxleHN1cC5jOjMxNCBsZXhzdXAuYzo0NjggbGV4c3VwLmM6NDcwCittc2dpZCAiUEFUSCIKK21zZ3N0ciAiSkFMVVIiCisKKyM6IGxleHN1cC5jOjMxNAorbXNnaWQgIkRlZmF1bHQgc2VhcmNoIHBhdGggZm9yIFNvbGFyaXMgY29tcGF0aWJpbGl0eSIKK21zZ3N0ciAiSmFsdXIgcGVuY2FyaWFuIGJha3UgdW50dWsga29tcGFiaWxpdGFzIFNvbGFyaXMiCisKKyM6IGxleHN1cC5jOjMxNworbXNnaWQgIlN0YXJ0IGEgZ3JvdXAiCittc2dzdHIgIkF3YWwgZGFyaSBncnVwIgorCisjOiBsZXhzdXAuYzozMTkKK21zZ2lkICJFbmQgYSBncm91cCIKK21zZ3N0ciAiQWtoaXIgZGFyaSBncnVwIgorCisjOiBsZXhzdXAuYzozMjMKK21zZ2lkICJBY2NlcHQgaW5wdXQgZmlsZXMgd2hvc2UgYXJjaGl0ZWN0dXJlIGNhbm5vdCBiZSBkZXRlcm1pbmVkIgorbXNnc3RyICJUZXJpbWEgYmVya2FzIG1hc3VrYW4gZGltYW5hIGFyc2l0ZWt0dXIgdGlkYWsgZGFwYXQgZGl0ZW50dWthbiIKKworIzogbGV4c3VwLmM6MzI3Cittc2dpZCAiUmVqZWN0IGlucHV0IGZpbGVzIHdob3NlIGFyY2hpdGVjdHVyZSBpcyB1bmtub3duIgorbXNnc3RyICJUb2xhayBiZXJrYXMgbWFzdWthbiBkaW1hbmEgYXJzaXRla3R1ciB0aWRhayBkaWtlbmFsIgorCisjOiBsZXhzdXAuYzozMzAKK21zZ2lkICIiCisiU2V0IERUX05FRURFRCB0YWdzIGZvciBEVF9ORUVERUQgZW50cmllcyBpblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIGR5bmFtaWMgbGlicyIKK21zZ3N0ciAiIgorIlNldCBEVF9ORUVERUQgdGFncyB1bnR1ayBEVF9ORUVERUQgbWFzdWthbiBkYWxhbVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbmdpa3V0aSBsaWJzIGRpbmFtaXMgYmVyaWt1dCIKKworIzogbGV4c3VwLmM6MzM0Cittc2dpZCAiIgorIkRvIG5vdCBzZXQgRFRfTkVFREVEIHRhZ3MgZm9yIERUX05FRURFRCBlbnRyaWVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmb2xsb3dpbmcgZHluYW1pYyBsaWJzIgorbXNnc3RyICIiCisiSmFuZ2FuIG1lbnNldCBEVF9ORUVERUQgdGFncyB1bnR1ayBtYXN1a2FuIERUX05FRURFRFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFsYW0gbGlicyBkaW5hbWlzIGJlcmlrdXQiCisKKyM6IGxleHN1cC5jOjMzOAorbXNnaWQgIk9ubHkgc2V0IERUX05FRURFRCBmb3IgZm9sbG93aW5nIGR5bmFtaWMgbGlicyBpZiB1c2VkIgorbXNnc3RyICJIYW55YSBzZXQgRFRfTkVFREVEIHVudHVrIGRpbmFtaXMgbGlicyBiZXJpa3V0IGppa2EgZGlndW5ha2FuIgorCisjOiBsZXhzdXAuYzozNDEKK21zZ2lkICJBbHdheXMgc2V0IERUX05FRURFRCBmb3IgZm9sbG93aW5nIGR5bmFtaWMgbGlicyIKK21zZ3N0ciAiU2VsYWx1IG1lbnNldCBEVF9ORUVERUQgdW50dWsgZGluYW1pcyBsaWJzIGJlcmlrdXQiCisKKyM6IGxleHN1cC5jOjM0NAorbXNnaWQgIklnbm9yZWQgZm9yIFN1bk9TIGNvbXBhdGliaWxpdHkiCittc2dzdHIgIkFiYWlrYW4gdW50dWsga29tcGFiaWxpdGFzIFN1bk9TIgorCisjOiBsZXhzdXAuYzozNDYKK21zZ2lkICJMaW5rIGFnYWluc3Qgc2hhcmVkIGxpYnJhcmllcyIKK21zZ3N0ciAiSHVidW5na2FuIHRlcmhhZGFwIGxpYnJhcnkgdGVyYmFnaSIKKworIzogbGV4c3VwLmM6MzUyCittc2dpZCAiRG8gbm90IGxpbmsgYWdhaW5zdCBzaGFyZWQgbGlicmFyaWVzIgorbXNnc3RyICJKYW5nYW4gaHVidW5na2FuIHRlcmhhZGFwIHBlcnB1c3Rha2FhbiB0ZXJiYWdpIgorCisjOiBsZXhzdXAuYzozNjAKK21zZ2lkICJCaW5kIGdsb2JhbCByZWZlcmVuY2VzIGxvY2FsbHkiCittc2dzdHIgIklrYXQgcmVmZXJlbnNpIGdsb2JhbCBzZWNhcmEgbG9rYWwiCisKKyM6IGxleHN1cC5jOjM2MgorbXNnaWQgIkJpbmQgZ2xvYmFsIGZ1bmN0aW9uIHJlZmVyZW5jZXMgbG9jYWxseSIKK21zZ3N0ciAiSWthdCByZWZlcmVuc2kgZnVuZ3NpIGdsb2JhbCBzZWNhcmEgbG9rYWwiCisKKyM6IGxleHN1cC5jOjM2NAorbXNnaWQgIkNoZWNrIHNlY3Rpb24gYWRkcmVzc2VzIGZvciBvdmVybGFwcyAoZGVmYXVsdCkiCittc2dzdHIgIlBlcmlrc2EgZGFlcmFoIGFsYW1hdCB1bnR1ayB0dW1wYW5nLXRpbmRpaCAoYmFrdSkiCisKKyM6IGxleHN1cC5jOjM2NworbXNnaWQgIkRvIG5vdCBjaGVjayBzZWN0aW9uIGFkZHJlc3NlcyBmb3Igb3ZlcmxhcHMiCittc2dzdHIgIkphbmdhbiBwZXJpa3NhIGRhZXJhaCBhbGFtYXQgdW50dWsgdHVtcGFuZy10aW5kaWgiCisKKyM6IGxleHN1cC5jOjM3MAorbXNnaWQgIk91dHB1dCBjcm9zcyByZWZlcmVuY2UgdGFibGUiCittc2dzdHIgIktlbHVhcmthbiB0YWJlbCByZWZlcmVuc2kgc2lsYW5nIgorCisjOiBsZXhzdXAuYzozNzIKK21zZ2lkICJTWU1CT0w9RVhQUkVTU0lPTiIKK21zZ3N0ciAiU0lNQk9MPUVLU1BSRVNJIgorCisjOiBsZXhzdXAuYzozNzIKK21zZ2lkICJEZWZpbmUgYSBzeW1ib2wiCittc2dzdHIgIkRlZmluaXNpa2FuIHNlYnVhaCBzaW1ib2wiCisKKyM6IGxleHN1cC5jOjM3NAorbXNnaWQgIls9U1RZTEVdIgorbXNnc3RyICJbPUdBWUFdIgorCisjOiBsZXhzdXAuYzozNzQKK21zZ2lkICJEZW1hbmdsZSBzeW1ib2wgbmFtZXMgW3VzaW5nIFNUWUxFXSIKK21zZ3N0ciAiRGVtYW5nbGUgbmFtYSBzaW1ib2wgW2d1bmFrYW4gR0FZQV0iCisKKyM6IGxleHN1cC5jOjM3NworbXNnaWQgIkdlbmVyYXRlIGVtYmVkZGVkIHJlbG9jcyIKK21zZ3N0ciAiQnVhdCBlbWJlZGRlZCByZWxva2FzaSIKKworIzogbGV4c3VwLmM6Mzc5Cittc2dpZCAiVHJlYXQgd2FybmluZ3MgYXMgZXJyb3JzIgorbXNnc3RyICJQZXJsYWt1a2FuIHBlcmluZ2F0YW4gc2ViYWdhaSBlcnJvciIKKworIzogbGV4c3VwLmM6MzgyCittc2dpZCAiRG8gbm90IHRyZWF0IHdhcm5pbmdzIGFzIGVycm9ycyAoZGVmYXVsdCkiCittc2dzdHIgIkphbmdhbiBwZXJsYWt1a2FuIHBlcmluZ2F0YW4gc2ViYWdhaSBlcnJvciAoYmFrdSkiCisKKyM6IGxleHN1cC5jOjM4NQorbXNnaWQgIkNhbGwgU1lNQk9MIGF0IHVubG9hZC10aW1lIgorbXNnc3RyICJQYW5nZ2lsIFNJTUJPTCBkaSB1bmxvYWQtdGltZSIKKworIzogbGV4c3VwLmM6Mzg3Cittc2dpZCAiRm9yY2UgZ2VuZXJhdGlvbiBvZiBmaWxlIHdpdGggLmV4ZSBzdWZmaXgiCittc2dzdHIgIlBha3NhIHBlbWJ1YXRhbiBkYXJpIGJlcmthcyBkZW5nYW4gYWtoaXJhbiAuZXhlIgorCisjOiBsZXhzdXAuYzozODkKK21zZ2lkICJSZW1vdmUgdW51c2VkIHNlY3Rpb25zIChvbiBzb21lIHRhcmdldHMpIgorbXNnc3RyICJIYXB1cyBkYWVyYWggeWFuZyB0aWRhayBkaWd1bmFrYW4gKGRpIGJlYmVyYXBhIHRhcmdldCkiCisKKyM6IGxleHN1cC5jOjM5MgorbXNnaWQgIkRvbid0IHJlbW92ZSB1bnVzZWQgc2VjdGlvbnMgKGRlZmF1bHQpIgorbXNnc3RyICJKYW5nYW4gaGFwdXMgZGFlcmFoIHlhbmcgdGlkYWsgZGlndW5ha2FuIChiYWt1KSIKKworIzogbGV4c3VwLmM6Mzk1Cittc2dpZCAiTGlzdCByZW1vdmVkIHVudXNlZCBzZWN0aW9ucyBvbiBzdGRlcnIiCittc2dzdHIgIlRhbXBpbGthbiBkYWVyYWggdGlkYWsgZGlndW5ha2FuIHlhbmcgZGloYXB1cyBkaSBzdGRlcnIiCisKKyM6IGxleHN1cC5jOjM5OAorbXNnaWQgIkRvIG5vdCBsaXN0IHJlbW92ZWQgdW51c2VkIHNlY3Rpb25zIgorbXNnc3RyICJKYW5nYW4gdGFtcGlsa2FuIGRhZXJhaCB0aWRhayBkaWd1bmFrYW4geWFuZyBkaWhhcHVzIgorCisjOiBsZXhzdXAuYzo0MDEKK21zZ2lkICJTZXQgZGVmYXVsdCBoYXNoIHRhYmxlIHNpemUgY2xvc2UgdG8gPE5VTUJFUj4iCittc2dzdHIgIlNldCB1a3VyYW4gZGVmYXVsdCB0YWJlbCBoYXNoIG1lbmRla2F0aSBrZSA8Tk9NT1I+IgorCisjOiBsZXhzdXAuYzo0MDQKK21zZ2lkICJQcmludCBvcHRpb24gaGVscCIKK21zZ3N0ciAiVGFtcGlsa2FuIG9wc2kgYmFudHVhbiIKKworIzogbGV4c3VwLmM6NDA2Cittc2dpZCAiQ2FsbCBTWU1CT0wgYXQgbG9hZC10aW1lIgorbXNnc3RyICJQYW5nZ2lsIFNJTUJPTCBkaSBsb2FkLXRpbWUiCisKKyM6IGxleHN1cC5jOjQwOAorbXNnaWQgIldyaXRlIGEgbWFwIGZpbGUiCittc2dzdHIgIlR1bGlzIHNlYnVhaCBiZXJrYXMgcGV0YSIKKworIzogbGV4c3VwLmM6NDEwCittc2dpZCAiRG8gbm90IGRlZmluZSBDb21tb24gc3RvcmFnZSIKK21zZ3N0ciAiSmFuZ2FuIGRlZmluaXNpa2FuIHBlbnlpbXBhbmFuIHVtdW0iCisKKyM6IGxleHN1cC5jOjQxMgorbXNnaWQgIkRvIG5vdCBkZW1hbmdsZSBzeW1ib2wgbmFtZXMiCittc2dzdHIgIkphbmdhbiBkZW1hbmdsZSBuYW1hIHNpbWJvbCIKKworIzogbGV4c3VwLmM6NDE0Cittc2dpZCAiVXNlIGxlc3MgbWVtb3J5IGFuZCBtb3JlIGRpc2sgSS9PIgorbXNnc3RyICJHdW5ha2FuIHNlZGlraXQgbWVtb3JpIGRhbiBsZWJpaCBkaXNrIEkvTyIKKworIzogbGV4c3VwLmM6NDE2Cittc2dpZCAiRG8gbm90IGFsbG93IHVucmVzb2x2ZWQgcmVmZXJlbmNlcyBpbiBvYmplY3QgZmlsZXMiCittc2dzdHIgIkphbmdhbiBwZXJib2xlaGthbiByZWZlcmVuc2kgdGlkYWsgdGVyc2VsZXNhaWthbiBkYWxhbSBiZXJrYXMgb2JqZWsiCisKKyM6IGxleHN1cC5jOjQxOQorbXNnaWQgIkFsbG93IHVucmVzb2x2ZWQgcmVmZXJlbmNlcyBpbiBzaGFyZWQgbGliYXJpZXMiCittc2dzdHIgIklqaW5rYW4gcmVmZXJlbnNpIHRpZGFrIHRlcnNlbGVzYWlrYW4gZGFsYW0gcGVycHVzdGFrYWFuIHRlcmJhZ2kiCisKKyM6IGxleHN1cC5jOjQyMworbXNnaWQgIkRvIG5vdCBhbGxvdyB1bnJlc29sdmVkIHJlZmVyZW5jZXMgaW4gc2hhcmVkIGxpYnMiCittc2dzdHIgIkphbmdhbiBpamlua2FuIHJlZmVyZW5zaSB0aWRhayB0ZXJzZWxlc2Fpa2FuIGRhbGFtIHBlcnB1c3Rha2FhbiB0ZXJiYWdpIgorCisjOiBsZXhzdXAuYzo0MjcKK21zZ2lkICJBbGxvdyBtdWx0aXBsZSBkZWZpbml0aW9ucyIKK21zZ3N0ciAiSWppbmthbiBtdWx0aXBsZSBkZWZpbmlzaSIKKworIzogbGV4c3VwLmM6NDI5Cittc2dpZCAiRGlzYWxsb3cgdW5kZWZpbmVkIHZlcnNpb24iCittc2dzdHIgIkxhcmFuZyB2ZXJzaSB0aWRhayB0ZXJkZWZpbmlzaSIKKworIzogbGV4c3VwLmM6NDMxCittc2dpZCAiQ3JlYXRlIGRlZmF1bHQgc3ltYm9sIHZlcnNpb24iCittc2dzdHIgIkJ1YXQgZGVmYXVsdCB2ZXJzaSBzaW1ib2wiCisKKyM6IGxleHN1cC5jOjQzNAorbXNnaWQgIkNyZWF0ZSBkZWZhdWx0IHN5bWJvbCB2ZXJzaW9uIGZvciBpbXBvcnRlZCBzeW1ib2xzIgorbXNnc3RyICJCdWF0IGRlZmF1bHQgdmVyc2kgc2ltYm9sIHVudHVrIHNpbWJvbCB5YW5nIGRpaW1wb3IiCisKKyM6IGxleHN1cC5jOjQzNworbXNnaWQgIkRvbid0IHdhcm4gYWJvdXQgbWlzbWF0Y2hlZCBpbnB1dCBmaWxlcyIKK21zZ3N0ciAiSmFuZ2FuIHBlcmluZ2F0a2FuIG1lbmdlbmFpIGtldGlkYWtjb2Nva2FuIGRhbGFtIGJlcmthcyBtYXN1a2FuIgorCisjOiBsZXhzdXAuYzo0NDAKK21zZ2lkICJEb24ndCB3YXJuIG9uIGZpbmRpbmcgYW4gaW5jb21wYXRpYmxlIGxpYnJhcnkiCittc2dzdHIgIkphbmdhbiBwZXJpbmdhdGthbiBkYWxhbSBwZW5jYXJpYW4gcGVycHVzdGFrYWFuIHRpZGFrIGtvbXBhdGliZWwiCisKKyM6IGxleHN1cC5jOjQ0MworbXNnaWQgIlR1cm4gb2ZmIC0td2hvbGUtYXJjaGl2ZSIKK21zZ3N0ciAiVGlkYWsgYWt0aWZrYW4gLS13aG9sZS1hcmNoaXZlIgorCisjOiBsZXhzdXAuYzo0NDUKK21zZ2lkICJDcmVhdGUgYW4gb3V0cHV0IGZpbGUgZXZlbiBpZiBlcnJvcnMgb2NjdXIiCittc2dzdHIgIkJ1YXQgc2VidWFoIGJlcmthcyBrZWx1YXJhbiB3YWxhdXB1biBlcnJvciB0ZXJqYWRpIgorCisjOiBsZXhzdXAuYzo0NTAKK21zZ2lkICIiCisiT25seSB1c2UgbGlicmFyeSBkaXJlY3RvcmllcyBzcGVjaWZpZWQgb25cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjb21tYW5kIGxpbmUiCittc2dzdHIgIiIKKyJIYW55YSBndW5ha2FuIGRpcmVrdG9yaSBwZXJwdXN0YWthYW4geWFuZyBkaXNwZXNpZmlrYXNpa2FuIGRhbGFtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXJpcyBwZXJpbnRhaCIKKworIzogbGV4c3VwLmM6NDU0Cittc2dpZCAiU3BlY2lmeSB0YXJnZXQgb2Ygb3V0cHV0IGZpbGUiCittc2dzdHIgIlNwZXNpZmlrYXNpa2FuIHRhcmdldCBkYXJpIGJlcmthcyBrZWx1YXJhbiIKKworIzogbGV4c3VwLmM6NDU3Cittc2dpZCAiSWdub3JlZCBmb3IgTGludXggY29tcGF0aWJpbGl0eSIKK21zZ3N0ciAiQWJhaWthbiB1bnR1ayBrb21wYWJpbGl0YXMgTGludXgiCisKKyM6IGxleHN1cC5jOjQ2MAorbXNnaWQgIlJlZHVjZSBtZW1vcnkgb3ZlcmhlYWRzLCBwb3NzaWJseSB0YWtpbmcgbXVjaCBsb25nZXIiCittc2dzdHIgIkt1cmFuZ2kgbWVtb3JpIG92ZXJoZWFkcywgbXVuZ2tpbiBtZW1idXR1aGthbiB3YWt0dSBsZWJpaCBsYW1hIgorCisjOiBsZXhzdXAuYzo0NjMKK21zZ2lkICJSZWxheCBicmFuY2hlcyBvbiBjZXJ0YWluIHRhcmdldHMiCittc2dzdHIgIlJlbGF4IGNhYmFuZyBkaSBiZWJlcmFwYSB0YXJnZXRzIgorCisjOiBsZXhzdXAuYzo0NjYKK21zZ2lkICJLZWVwIG9ubHkgc3ltYm9scyBsaXN0ZWQgaW4gRklMRSIKK21zZ3N0ciAiSmFnYSBoYW55YSBzaW1ib2wgdGVyZGFmdGFyIGRhbGFtIEJFUktBUyIKKworIzogbGV4c3VwLmM6NDY4Cittc2dpZCAiU2V0IHJ1bnRpbWUgc2hhcmVkIGxpYnJhcnkgc2VhcmNoIHBhdGgiCittc2dzdHIgIlNldCB3YWt0dS1qYWxhbiBwZXJwdXN0YWthYW4gdGVyYmFnaSBqYWx1ciBwZW5jYXJpYW4iCisKKyM6IGxleHN1cC5jOjQ3MAorbXNnaWQgIlNldCBsaW5rIHRpbWUgc2hhcmVkIGxpYnJhcnkgc2VhcmNoIHBhdGgiCittc2dzdHIgIlNldCB3YWt0dSBodWJ1bmcgcGVycHVzdGFrYWFuIHRlcmJhZ2kgamFsdXIgcGVuY2FyaWFuIgorCisjOiBsZXhzdXAuYzo0NzMKK21zZ2lkICJDcmVhdGUgYSBzaGFyZWQgbGlicmFyeSIKK21zZ3N0ciAiQnVhdCBzZWJ1YWggcGVycHVzdGFrYWFuIHRlcmJhZ2kiCisKKyM6IGxleHN1cC5jOjQ3NworbXNnaWQgIkNyZWF0ZSBhIHBvc2l0aW9uIGluZGVwZW5kZW50IGV4ZWN1dGFibGUiCittc2dzdHIgIkJ1YXQgc2VidWF0IGV4ZWN1dGFibGUgYmViYXMgcG9zaXNpIgorCisjOiBsZXhzdXAuYzo0ODEKK21zZ2lkICJbPWFzY2VuZGluZ3xkZXNjZW5kaW5nXSIKK21zZ3N0ciAiWz1hc2NlbmRpbmd8ZGVzY2VuZGluZ10iCisKKyM6IGxleHN1cC5jOjQ4MgorbXNnaWQgIlNvcnQgY29tbW9uIHN5bWJvbHMgYnkgYWxpZ25tZW50IFtpbiBzcGVjaWZpZWQgb3JkZXJdIgorbXNnc3RyICJVcnV0a2FuIHNpbWJvbCB1bXVtIGRlbmdhbiBhbGlnbm1lbiBbZGFsYW0gdXJ1dGFuIHlhbmcgZGlzcGVzaWZpa2FzaWthbl0iCisKKyM6IGxleHN1cC5jOjQ4NworbXNnaWQgIm5hbWV8YWxpZ25tZW50IgorbXNnc3RyICJuYW1hfGFsaWdubWVudCIKKworIzogbGV4c3VwLmM6NDg4Cittc2dpZCAiU29ydCBzZWN0aW9ucyBieSBuYW1lIG9yIG1heGltdW0gYWxpZ25tZW50IgorbXNnc3RyICJVcnV0a2FuIGRhZXJhaCBkZW5nYW4gbmFtYSBhdGF1IG1ha3NpbWFsIGFsaWdubWVudCIKKworIzogbGV4c3VwLmM6NDkwCittc2dpZCAiQ09VTlQiCittc2dzdHIgIkpVTUxBSCIKKworIzogbGV4c3VwLmM6NDkwCittc2dpZCAiSG93IG1hbnkgdGFncyB0byByZXNlcnZlIGluIC5keW5hbWljIHNlY3Rpb24iCittc2dzdHIgIkJlcmFwYSBiYW55YWsgdGFncyB1bnR1ayBtZW55aW1wYW4gZGFsYW0gZGFlcmFoIC5keW5hbWljIgorCisjOiBsZXhzdXAuYzo0OTMKK21zZ2lkICJbPVNJWkVdIgorbXNnc3RyICJbPVVLVVJBTl0iCisKKyM6IGxleHN1cC5jOjQ5MworbXNnaWQgIlNwbGl0IG91dHB1dCBzZWN0aW9ucyBldmVyeSBTSVpFIG9jdGV0cyIKK21zZ3N0ciAiQmFnaSBkYWVyYWgga2VsdWFyYW4gZGlzdGlhcCBVS1VSQU4gb2t0ZXQiCisKKyM6IGxleHN1cC5jOjQ5NgorbXNnaWQgIls9Q09VTlRdIgorbXNnc3RyICJbPUpVTUxBSF0iCisKKyM6IGxleHN1cC5jOjQ5NgorbXNnaWQgIlNwbGl0IG91dHB1dCBzZWN0aW9ucyBldmVyeSBDT1VOVCByZWxvY3MiCittc2dzdHIgIkJhZ2kgZGFlcmFoIGtlbHVhcmFuIGRpc2V0aWFwIEpVTUxBSCByZWxva2FzaSIKKworIzogbGV4c3VwLmM6NDk5Cittc2dpZCAiUHJpbnQgbWVtb3J5IHVzYWdlIHN0YXRpc3RpY3MiCittc2dzdHIgIlRhbXBpbGthbiBzdGF0aXN0aWsgcGVuZ2d1bmFhbiBtZW1vcmkiCisKKyM6IGxleHN1cC5jOjUwMQorbXNnaWQgIkRpc3BsYXkgdGFyZ2V0IHNwZWNpZmljIG9wdGlvbnMiCittc2dzdHIgIlRhbXBpbGthbiBvcHNpIHRhcmdldCBzcGVzaWZpayIKKworIzogbGV4c3VwLmM6NTAzCittc2dpZCAiRG8gdGFzayBsZXZlbCBsaW5raW5nIgorbXNnc3RyICJMYWt1a2FuIHRpbmdrYXQga2VyamEgcGVuZ2h1YnVuZyIKKworIzogbGV4c3VwLmM6NTA1Cittc2dpZCAiVXNlIHNhbWUgZm9ybWF0IGFzIG5hdGl2ZSBsaW5rZXIiCittc2dzdHIgIkd1bmFrYW4gZm9ybWF0IHNhbWEgc2VwZXJ0aSBwZW5naHVidW5nIGFzYWwiCisKKyM6IGxleHN1cC5jOjUwNworbXNnaWQgIlNFQ1RJT049QUREUkVTUyIKK21zZ3N0ciAiREFFUkFIPUFMQU1BVCIKKworIzogbGV4c3VwLmM6NTA3Cittc2dpZCAiU2V0IGFkZHJlc3Mgb2YgbmFtZWQgc2VjdGlvbiIKK21zZ3N0ciAiU2V0IGFsYW1hdCBkYXJpIG5hbWEgZGFlcmFoIgorCisjOiBsZXhzdXAuYzo1MTAKK21zZ2lkICJTZXQgYWRkcmVzcyBvZiAuYnNzIHNlY3Rpb24iCittc2dzdHIgIlNldCBhbGFtYXQgZGFyaSBkYWVyYWggLmJzcyIKKworIzogbGV4c3VwLmM6NTEyCittc2dpZCAiU2V0IGFkZHJlc3Mgb2YgLmRhdGEgc2VjdGlvbiIKK21zZ3N0ciAiU2V0IGFsYW1hdCBkYXJpIGRhZXJhaCAuZGF0YSIKKworIzogbGV4c3VwLmM6NTE0Cittc2dpZCAiU2V0IGFkZHJlc3Mgb2YgLnRleHQgc2VjdGlvbiIKK21zZ3N0ciAiU2V0IGFsYW1hdCBkYWVyaSBkYWVyYWggLnRleHQiCisKKyM6IGxleHN1cC5jOjUxNworbXNnaWQgIiIKKyJIb3cgdG8gaGFuZGxlIHVucmVzb2x2ZWQgc3ltYm9scy4gIDxtZXRob2Q+IGlzOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlLWFsbCwgcmVwb3J0LWFsbCwgaWdub3JlLWluLW9iamVjdC1maWxlcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZS1pbi1zaGFyZWQtbGlicyIKK21zZ3N0ciAiIgorIkJhZ2FpbWFuYSBtZW5hbmdhbmkgc2ltYm9sIHRpZGFrIHRlcnNlbGVzYWlrYW4uIDxtZXRvZGU+IGFkYWxhaDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZS1hbGwsIHJlcG9ydC1hbGwsIGlnbm9yZS1pbi1vYmplY3QtZmlsZXMsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmUtaW4tc2hhcmVkLWxpYnMiCisKKyM6IGxleHN1cC5jOjUyMgorbXNnaWQgIk91dHB1dCBsb3RzIG9mIGluZm9ybWF0aW9uIGR1cmluZyBsaW5rIgorbXNnc3RyICJLZWx1YXJrYW4gYmFueWFrIGluZm9ybWFzaSBzZWxhbWEgbWVuZ2h1YnVuZ2thbiIKKworIzogbGV4c3VwLmM6NTI2Cittc2dpZCAiUmVhZCB2ZXJzaW9uIGluZm9ybWF0aW9uIHNjcmlwdCIKK21zZ3N0ciAiQmFjYSBpbmZvcm1hc2kgdmVyc2kgZGFyaSBzY3JpcCIKKworIzogbGV4c3VwLmM6NTI5Cittc2dpZCAiIgorIlRha2UgZXhwb3J0IHN5bWJvbHMgbGlzdCBmcm9tIC5leHBvcnRzLCB1c2luZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1lNQk9MIGFzIHRoZSB2ZXJzaW9uLiIKK21zZ3N0ciAiIgorIkFtYmlsIGRhZnRhciBzaW1ib2wgZXhwb3IgZGFyaSAuZXhwb3IsIG1lbmdndW5ha2FuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTSU1CT0wgc2ViYWdhaSB2ZXJzaS4iCisKKyM6IGxleHN1cC5jOjUzMworbXNnaWQgIkFkZCBkYXRhIHN5bWJvbHMgdG8gZHluYW1pYyBsaXN0IgorbXNnc3RyICJUYW1iYWhrYW4gZGF0YSBzaW1ib2wga2UgZGFmdGFyIGRpbmFtaXMiCisKKyM6IGxleHN1cC5jOjUzNQorbXNnaWQgIlVzZSBDKysgb3BlcmF0b3IgbmV3L2RlbGV0ZSBkeW5hbWljIGxpc3QiCittc2dzdHIgIkd1bmFrYW4gQysrIG9wZXJhdG9yIG5ldy9kZWxldGUgZGFmdGFyIGRpbmFtaXMiCisKKyM6IGxleHN1cC5jOjUzNworbXNnaWQgIlVzZSBDKysgdHlwZWluZm8gZHluYW1pYyBsaXN0IgorbXNnc3RyICJHdW5ha2FuIEMrKyB0eXBlaW5mbyBkYWZ0YXIgZGluYW1pYyIKKworIzogbGV4c3VwLmM6NTM5Cittc2dpZCAiUmVhZCBkeW5hbWljIGxpc3QiCittc2dzdHIgIkJhY2EgZGFmdGFyIGRpbmFtaXMiCisKKyM6IGxleHN1cC5jOjU0MQorbXNnaWQgIldhcm4gYWJvdXQgZHVwbGljYXRlIGNvbW1vbiBzeW1ib2xzIgorbXNnc3RyICJQZXJpbmdhdGthbiBtZW5nZW5haSBkdXBsaWthc2kgc2ltYm9sIHVtdW0iCisKKyM6IGxleHN1cC5jOjU0MworbXNnaWQgIldhcm4gaWYgZ2xvYmFsIGNvbnN0cnVjdG9ycy9kZXN0cnVjdG9ycyBhcmUgc2VlbiIKK21zZ3N0ciAiUGVyaW5nYXRrYW4gamlrYSBnbG9iYWwga29uc3RydWt0b3IvZGVzdHJ1a3RvciB0ZXJsaWhhdCIKKworIzogbGV4c3VwLmM6NTQ2Cittc2dpZCAiV2FybiBpZiB0aGUgbXVsdGlwbGUgR1AgdmFsdWVzIGFyZSB1c2VkIgorbXNnc3RyICJQZXJpbmdhdGthbiBqaWthIG5pbGFpIG11bHRpcGxlIEdQIGRpZ3VuYWthbiIKKworIzogbGV4c3VwLmM6NTQ4Cittc2dpZCAiV2FybiBvbmx5IG9uY2UgcGVyIHVuZGVmaW5lZCBzeW1ib2wiCittc2dzdHIgIlBlcmluZ2F0a2FuIGhhbnlhIHNla2FsaSBzZXRpYXAgc2ltYm9sIHRpZGFrIHRlcmRlZmluaXNpIgorCisjOiBsZXhzdXAuYzo1NTAKK21zZ2lkICJXYXJuIGlmIHN0YXJ0IG9mIHNlY3Rpb24gY2hhbmdlcyBkdWUgdG8gYWxpZ25tZW50IgorbXNnc3RyICJQZXJpbmdhdGthbiBqaWthIGF3YWwgZGFyaSBkYWVyYWggYmVydWJhaCBrYXJlbmEgYWxpZ25tZW50IgorCisjOiBsZXhzdXAuYzo1NTMKK21zZ2lkICJXYXJuIGlmIHNoYXJlZCBvYmplY3QgaGFzIERUX1RFWFRSRUwiCittc2dzdHIgIlBlcmluZ2F0a2FuIGppa2Egb2JqZWsgdGVyYmFnaSBtZW1pbGlraSBEVF9URVhUUkVMIgorCisjOiBsZXhzdXAuYzo1NTcKK21zZ2lkICJSZXBvcnQgdW5yZXNvbHZlZCBzeW1ib2xzIGFzIHdhcm5pbmdzIgorbXNnc3RyICJMYXBvcmthbiBzaW1ib2wgdGlkYWsgdGVyc2VsZXNhaWthbiBzZWJhZ2FpIHBlcmluZ2F0YW4iCisKKyM6IGxleHN1cC5jOjU2MAorbXNnaWQgIlJlcG9ydCB1bnJlc29sdmVkIHN5bWJvbHMgYXMgZXJyb3JzIgorbXNnc3RyICJMYXBvcmthbiBzaW1ib2wgdGlkYWsgdGVyc2VsZXNhaWthbiBzZWJhZ2FpIGVycm9yIgorCisjOiBsZXhzdXAuYzo1NjIKK21zZ2lkICJJbmNsdWRlIGFsbCBvYmplY3RzIGZyb20gZm9sbG93aW5nIGFyY2hpdmVzIgorbXNnc3RyICJNYXN1a2FuIHNlbHVydWggb2JqZWsgZGFyaSBhcmNoaXZlIGJlcmlrdXQiCisKKyM6IGxleHN1cC5jOjU2NQorbXNnaWQgIlVzZSB3cmFwcGVyIGZ1bmN0aW9ucyBmb3IgU1lNQk9MIgorbXNnc3RyICJHdW5ha2FuIGZ1bmdzaSB3cmFwcGVyIHVudHVrIFNJTUJPTCIKKworIzogbGV4c3VwLmM6NzEyCittc2dpZCAiJVA6IHVucmVjb2duaXplZCBvcHRpb24gJyVzJ1xuIgorbXNnc3RyICIlUDogb3BzaSB0aWRhayBkaWtlbmFsICclcydcbiIKKworIzogbGV4c3VwLmM6NzE2Cittc2dpZCAiJVAlRjogdXNlIHRoZSAtLWhlbHAgb3B0aW9uIGZvciB1c2FnZSBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIlUCVGOiBndW5ha2FuIG9wc2kgLS1oZWxwIHVudHVrIGluZm9ybWFzaSBwZW5nZ3VuYWFuXG4iCisKKyM6IGxleHN1cC5jOjczNAorbXNnaWQgIiVQJUY6IHVucmVjb2duaXplZCAtYSBvcHRpb24gYCVzJ1xuIgorbXNnc3RyICIlUCVGOiBvcHNpIC1hIHRpZGFrIGRpa2VuYWwgYCVzJ1xuIgorCisjOiBsZXhzdXAuYzo3NDcKK21zZ2lkICIlUCVGOiB1bnJlY29nbml6ZWQgLWFzc2VydCBvcHRpb24gYCVzJ1xuIgorbXNnc3RyICIlUCVGOiBvcHNpIC1hc3NlcnQgdGlkYWsgZGlrZW5hbCBgJXMnXG4iCisKKyM6IGxleHN1cC5jOjc5MAorbXNnaWQgIiVGJVA6IHVua25vd24gZGVtYW5nbGluZyBzdHlsZSBgJXMnIgorbXNnc3RyICIlRiVQOiBnYXlhIGRlbWFuZ2xpbmcgdGlkYWsgZGlrZW5hbCBgJXMnIgorCisjOiBsZXhzdXAuYzo4NTIKK21zZ2lkICIlUCVGOiBpbnZhbGlkIG51bWJlciBgJXMnXG4iCittc2dzdHIgIiVQJUY6IG5vbW9yIHRpZGFrIHZhbGlkIGAlcydcbiIKKworIzogbGV4c3VwLmM6OTUwCittc2dpZCAiJVAlRjogYmFkIC0tdW5yZXNvbHZlZC1zeW1ib2xzIG9wdGlvbjogJXNcbiIKK21zZ3N0ciAiJVAlRjogYnVydWsgb3BzaSAtLXVucmVzb2x2ZWQtc3ltYm9sczogJXNcbiIKKworIy4gVGhpcyBjYW4gaGFwcGVuIGlmIHRoZSB1c2VyIHB1dCAiLXJwYXRoLGEiIG9uIHRoZSBjb21tYW5kCisjLiBsaW5lLiAgKE9yIHNvbWV0aGluZyBzaW1pbGFyLiAgVGhlIGNvbW1hIGlzIGltcG9ydGFudCkuCisjLiBHZXRvcHQgYmVjb21lcyBjb25mdXNlZCBhbmQgdGhpbmtzIHRoYXQgdGhpcyBpcyBhIC1yIG9wdGlvbgorIy4gYnV0IGl0IGNhbm5vdCBwYXJzZSB0aGUgdGV4dCBhZnRlciB0aGUgLXIgc28gaXQgcmVmdXNlcyB0bworIy4gaW5jcmVtZW50IHRoZSBvcHRpbmQgY291bnRlci4gIERldGVjdCB0aGlzIGNhc2UgYW5kIGlzc3VlCisjLiBhbiBlcnJvciBtZXNzYWdlIGhlcmUuICBXZSBjYW5ub3QganVzdCBtYWtlIHRoaXMgYSB3YXJuaW5nLAorIy4gaW5jcmVtZW50IG9wdGluZCwgYW5kIGNvbnRpbnVlIGJlY2F1c2UgZ2V0b3B0IGlzIHRvbyBjb25mdXNlZAorIy4gYW5kIHdpbGwgc2VnLWZhdWx0IHRoZSBuZXh0IHRpbWUgYXJvdW5kLgorIzogbGV4c3VwLmM6MTAyNAorbXNnaWQgIiVQJUY6IGJhZCAtcnBhdGggb3B0aW9uXG4iCittc2dzdHIgIiVQJUY6IG9wc2kgLXJwYXRoIGJ1cnVrXG4iCisKKyM6IGxleHN1cC5jOjExMzUKK21zZ2lkICIlUCVGOiAtc2hhcmVkIG5vdCBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiJVAlRjogLXNoYXJlZCB0aWRhayBkaWR1a3VuZ1xuIgorCisjOiBsZXhzdXAuYzoxMTQ0Cittc2dpZCAiJVAlRjogLXBpZSBub3Qgc3VwcG9ydGVkXG4iCittc2dzdHIgIiVQJUY6IC1waWUgdGlkYWsgZGlkdWt1bmdcbiIKKworIzogbGV4c3VwLmM6MTE1MgorbXNnaWQgImRlc2NlbmRpbmciCittc2dzdHIgIm1lbnVydW4iCisKKyM6IGxleHN1cC5jOjExNTQKK21zZ2lkICJhc2NlbmRpbmciCittc2dzdHIgIm1lbmluZ2thdCIKKworIzogbGV4c3VwLmM6MTE1NworbXNnaWQgIiVQJUY6IGludmFsaWQgY29tbW9uIHNlY3Rpb24gc29ydGluZyBvcHRpb246ICVzXG4iCittc2dzdHIgIiVQJUY6IG9wc2kgcGVuZ3VydXRhbiBkYWVyYWggdW11bSB0aWRhayB2YWxpZDogJXNcbiIKKworIzogbGV4c3VwLmM6MTE2MQorbXNnaWQgIm5hbWUiCittc2dzdHIgIm5hbWEiCisKKyM6IGxleHN1cC5jOjExNjMKK21zZ2lkICJhbGlnbm1lbnQiCittc2dzdHIgImFsaWdubWVudCIKKworIzogbGV4c3VwLmM6MTE2NgorbXNnaWQgIiVQJUY6IGludmFsaWQgc2VjdGlvbiBzb3J0aW5nIG9wdGlvbjogJXNcbiIKK21zZ3N0ciAiJVAlRjogb3BzaSBwZW5ndXJ1dGFuIGRhZXJhaCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogbGV4c3VwLmM6MTIwMAorbXNnaWQgIiVQJUY6IGludmFsaWQgYXJndW1lbnQgdG8gb3B0aW9uIFwiLS1zZWN0aW9uLXN0YXJ0XCJcbiIKK21zZ3N0ciAiJVAlRjogYXJndW1lbiBrZSBvcHNpIFwiLS1zZWN0aW9uLXN0YXJ0XCIgdGlkYWsgdmFsaWRcbiIKKworIzogbGV4c3VwLmM6MTIwNworbXNnaWQgIiVQJUY6IG1pc3NpbmcgYXJndW1lbnQocykgdG8gb3B0aW9uIFwiLS1zZWN0aW9uLXN0YXJ0XCJcbiIKK21zZ3N0ciAiJVAlRjogaGlsYW5nIGFyZ3VtZW4ga2Ugb3BzaSBcIi0tc2VjdGlvbi1zdGFydFwiXG4iCisKKyM6IGxleHN1cC5jOjE0MjEKK21zZ2lkICIlUCVGOiBtYXkgbm90IG5lc3QgZ3JvdXBzICgtLWhlbHAgZm9yIHVzYWdlKVxuIgorbXNnc3RyICIlUCVGOiBtdW5na2luIGJ1a2FuIG5lc3QgZ3J1cCAoLS1oZWxwIHVudHVrIHBlbmdndW5hYW4pXG4iCisKKyM6IGxleHN1cC5jOjE0MjgKK21zZ2lkICIlUCVGOiBncm91cCBlbmRlZCBiZWZvcmUgaXQgYmVnYW4gKC0taGVscCBmb3IgdXNhZ2UpXG4iCittc2dzdHIgIiVQJUY6IGdydXAgYmVyYWtoaXIgc2ViZWx1bSBpbml0IG11bGFpICgtLWhlbHAgdW50dWsgcGVuZ2d1bmFhbilcbiIKKworIzogbGV4c3VwLmM6MTQ1NgorbXNnaWQgIiVQJVg6IC0taGFzaC1zaXplIG5lZWRzIGEgbnVtZXJpYyBhcmd1bWVudFxuIgorbXNnc3RyICIlUCVYOiAtLWhhc2gtc2l6ZSBtZW1idXR1aGthbiBzZWJ1YWggYXJndW1lbiBudW1lcmlrXG4iCisKKyM6IGxleHN1cC5jOjE1MDcgbGV4c3VwLmM6MTUyMAorbXNnaWQgIiVQJUY6IGludmFsaWQgaGV4IG51bWJlciBgJXMnXG4iCittc2dzdHIgIiVQJUY6IG5vbW9yIGhleCB0aWRhayB2YWxpZCBgJXMnXG4iCisKKyM6IGxleHN1cC5jOjE1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtvcHNpXSBiZXJrYXMuLi5cbiIKKworIzogbGV4c3VwLmM6MTU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJPcHRpb25zOlxuIgorbXNnc3RyICJPcHNpOlxuIgorCisjOiBsZXhzdXAuYzoxNjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgQEZJTEUiCittc2dzdHIgIiAgQEJFUktBUyIKKworIzogbGV4c3VwLmM6MTYzOQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIG9wdGlvbnMgZnJvbSBGSUxFXG4iCittc2dzdHIgIkJhY2Egb3BzaSBkYXJpIEJFUktBU1xuIgorCisjLiBOb3RlOiBWYXJpb3VzIHRvb2xzIChzdWNoIGFzIGxpYnRvb2wpIGRlcGVuZCB1cG9uIHRoZQorIy4gZm9ybWF0IG9mIHRoZSBsaXN0aW5ncyBiZWxvdyAtIGRvIG5vdCBjaGFuZ2UgdGhlbS4KKyM6IGxleHN1cC5jOjE2NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1cHBvcnRlZCB0YXJnZXRzOiIKK21zZ3N0ciAiJXM6IHRhcmdldCB5YW5nIGRpZHVrdW5nOiIKKworIzogbGV4c3VwLmM6MTY1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3VwcG9ydGVkIGVtdWxhdGlvbnM6ICIKK21zZ3N0ciAiJXM6IGVtdWxhc2kgeWFuZyBkaWR1a3VuZzogIgorCisjOiBsZXhzdXAuYzoxNjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbXVsYXRpb24gc3BlY2lmaWMgb3B0aW9uczpcbiIKK21zZ3N0ciAiJXM6IG9wc2kgc3Blc2lmaWsgZW11bGFzaTpcbiIKKworIzogbGV4c3VwLmM6MTY2MgorIywgYy1mb3JtYXQKK21zZ2lkICJSZXBvcnQgYnVncyB0byAlc1xuIgorbXNnc3RyICJMYXBvcmthbiBidWdzIGtlICVzXG4iCisKKyM6IG1yaS5jOjI5MQorbXNnaWQgIiVQJUY6IHVua25vd24gZm9ybWF0IHR5cGUgJXNcbiIKK21zZ3N0ciAiJVAlRjogdGlwZSBmb3JtYXQgJXMgdGlkYWsgZGlrZW5hbFxuIgorCisjOiBwZS1kbGwuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJVhVbnN1cHBvcnRlZCBQRUkgYXJjaGl0ZWN0dXJlOiAlc1xuIgorbXNnc3RyICIlWCBBcnNpdGVrdHVyIFBFSSB0aWRhayBkaWR1a3VuZzogJXNcbiIKKworIzogcGUtZGxsLmM6NjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVYQ2Fubm90IGV4cG9ydCAlczogaW52YWxpZCBleHBvcnQgbmFtZVxuIgorbXNnc3RyICIlWCBUaWRhayBkYXBhdCBleHBvciAlczogbmFtYSBleHBvciB0aWRhayB2YWxpZFxuIgorCisjOiBwZS1kbGwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJVhFcnJvciwgZHVwbGljYXRlIEVYUE9SVCB3aXRoIG9yZGluYWxzOiAlcyAoJWQgdnMgJWQpXG4iCittc2dzdHIgIiVYRXJyb3IsIGR1cGxpa2FzaSBFS1NQT1IgZGVuZ2FuIG9yZGluYWxzOiAlcyAoJWQgdnMgJWQpXG4iCisKKyM6IHBlLWRsbC5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLCBkdXBsaWNhdGUgRVhQT1JUOiAlc1xuIgorbXNnc3RyICJQZXJpbmdhdGFuLCBkdXBsaWthc2kgRUtTUE9SOiAlc1xuIgorCisjOiBwZS1kbGwuYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJVhDYW5ub3QgZXhwb3J0ICVzOiBzeW1ib2wgbm90IGRlZmluZWRcbiIKK21zZ3N0ciAiJVhUaWRhayBkYXBhdCBla3Nwb3IgJXM6IHNpbWJvbCB0aWRhayB0ZXJkZWZpbmlzaVxuIgorCisjOiBwZS1kbGwuYzo4NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJVhDYW5ub3QgZXhwb3J0ICVzOiBzeW1ib2wgd3JvbmcgdHlwZSAoJWQgdnMgJWQpXG4iCittc2dzdHIgIiVYVGlkYWsgZGFwYXQgZWtzcG9yICVzOiB0aXBlIHNpbWJvbCBzYWxhaCAoJWQgdnMgJWQpXG4iCisKKyM6IHBlLWRsbC5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlWENhbm5vdCBleHBvcnQgJXM6IHN5bWJvbCBub3QgZm91bmRcbiIKK21zZ3N0ciAiJVhUaWRhayBkYXBhdCBla3Nwb3IgJXM6IHNpbWJvbCB0aWRhayBkaXRlbXVrYW5cbiIKKworIzogcGUtZGxsLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVYRXJyb3IsIG9yZGluYWwgdXNlZCB0d2ljZTogJWQgKCVzIHZzICVzKVxuIgorbXNnc3RyICIlWEVycm9yLCBvcmRpbmFsIGRpZ3VuYWthbiBkdWEga2FsaTogJWQgKCVzIHZzICVzKVxuIgorCisjOiBwZS1kbGwuYzoxMzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVYRXJyb3I6ICVkLWJpdCByZWxvYyBpbiBkbGxcbiIKK21zZ3N0ciAiJVhFcnJvcjogJWQtYml0IHJlbG9rYXNpIGRhbGFtIGRsbFxuIgorCisjOiBwZS1kbGwuYzoxNDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDYW4ndCBvcGVuIG91dHB1dCBkZWYgZmlsZSAlc1xuIgorbXNnc3RyICIlczogVGlkYWsgZGFwYXQgbWVtYnVrYSBiZXJrYXMga2VsdWFyYW4gZGVmYXVsdCAlc1xuIgorCisjOiBwZS1kbGwuYzoxNjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIjsgbm8gY29udGVudHMgYXZhaWxhYmxlXG4iCittc2dzdHIgIjsgdGlkYWsgYWRhIGtvbnRlbnQgeWFuZyB0ZXJzZWRpYVxuIgorCisjOiBwZS1kbGwuYzoyNDA3Cittc2dpZCAiJUM6IHZhcmlhYmxlICclVCcgY2FuJ3QgYmUgYXV0by1pbXBvcnRlZC4gUGxlYXNlIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gZm9yIGxkJ3MgLS1lbmFibGUtYXV0by1pbXBvcnQgZm9yIGRldGFpbHMuXG4iCittc2dzdHIgIiVDOiB2YXJpYWJlbCAnJVQnIHRpZGFrIGRhcGF0IGF1dG8taW1wb3J0ZWQuIFRvbG9uZyBiYWNhIGRva3VtZW50YXNpIHVudHVrIGxkIC0tZW5hYmxlLWF1dG8taW1wb3J0IHVudHVrIGxlYmloIGxlbmdrYXBueWEuXG4iCisKKyM6IHBlLWRsbC5jOjI0MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJVhDYW4ndCBvcGVuIC5saWIgZmlsZTogJXNcbiIKK21zZ3N0ciAiJVhUaWRhayBkYXBhdCBtZW1idWthIGJlcmthcyAubGliOiAlc1xuIgorCisjOiBwZS1kbGwuYzoyNDQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0aW5nIGxpYnJhcnkgZmlsZTogJXNcbiIKK21zZ3N0ciAiTWVtYnVhdCBiZXJrYXMgbGlicmFyeTogJXNcbiIKZGlmZiAtLWdpdCBhL2xkL3BvL3ZpLnBvIGIvbGQvcG8vdmkucG8KaW5kZXggNjViMjIxNC4uMzBhNjc2ZCAxMDA2NDQKLS0tIGEvbGQvcG8vdmkucG8KKysrIGIvbGQvcG8vdmkucG8KQEAgLTEsMjI3ICsxLDIyNCBAQAogIyBWaWV0bmFtZXNlIHRyYW5zbGF0aW9uIGZvciBMRC4KLSMgQ29weXJpZ2h0IMKpIDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0jIENseXRpZSBTaWRkYWxsIDxjbHl0aWVAcml2ZXJsYW5kLm5ldC5hdT4sIDIwMDUtMjAwNy4KLSMgCisjIENvcHlyaWdodCDCqSAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmludXRpbHMgcGFja2FnZS4KKyMgQ2x5dGllIFNpZGRhbGwgPGNseXRpZUByaXZlcmxhbmQubmV0LmF1PiwgMjAwNS0yMDA4LgorIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogbGQtMi4xNy45MFxuIgotIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNy0wNi0yNyAxNjo0NCswOTMwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAwNy0wOC0wNyAyMToxOSswOTMwXG4iCisiUHJvamVjdC1JZC1WZXJzaW9uOiBsZC0yLjE4LjkwXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1iaW51dGlsc0BnbnUub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDgtMDktMDkgMTU6NTYrMDkzMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMDgtMDktMjMgMjI6MjQrMDkzMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogQ2x5dGllIFNpZGRhbGwgPGNseXRpZUByaXZlcmxhbmQubmV0LmF1PlxuIgogIkxhbmd1YWdlLVRlYW06IFZpZXRuYW1lc2UgPHZpLVZOQGdvb2dsZWdyb3Vwcy5jb20+XG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0xOyBwbHVyYWw9MDtcbiIKLSJYLUdlbmVyYXRvcjogTG9jRmFjdG9yeUVkaXRvciAxLjdiMVxuIgotCi0jOiBlbXVsdGVtcGwvYXJtY29mZi5lbTo3MgotIywgYy1mb3JtYXQKLW1zZ2lkICIgIC0tc3VwcG9ydC1vbGQtY29kZSAgIFN1cHBvcnQgaW50ZXJ3b3JraW5nIHdpdGggb2xkIGNvZGVcbiIKLW1zZ3N0ciAiIgotIiAgLS1zdXBwb3J0LW9sZC1jb2RlICAgSOG7lyB0cuG7oyBr4bq/dCBo4bujcCB24bubaSBtw6MgY8WpXG4iCi0iXHRcdChfaOG7lyB0cuG7oyBtw6MgY8WpXylcbiIKKyJYLUdlbmVyYXRvcjogTG9jRmFjdG9yeUVkaXRvciAxLjdiM1xuIgogCiAjOiBlbXVsdGVtcGwvYXJtY29mZi5lbTo3MwogIywgYy1mb3JtYXQKLW1zZ2lkICIgIC0tdGh1bWItZW50cnk9PHN5bT4gIFNldCB0aGUgZW50cnkgcG9pbnQgdG8gYmUgVGh1bWIgc3ltYm9sIDxzeW0+XG4iCi1tc2dzdHIgIiIKLSIgIC0tdGh1bWItZW50cnk9PGvDvV9oaeG7h3U+ICDEkOG6t3QgxJFp4buDbSB2w6BvIHRow6BuaCBrw70gaGnhu4d1IFRodW1iIG7DoHlcbiIKLSJcdFx0KF9t4bulYyBuaOG6rXAgdGh1bWJfKVxuIgorbXNnaWQgIiAgLS1zdXBwb3J0LW9sZC1jb2RlICAgICAgICAgIFN1cHBvcnQgaW50ZXJ3b3JraW5nIHdpdGggb2xkIGNvZGVcbiIKK21zZ3N0ciAiIC0tc3VwcG9ydC1vbGQtY29kZSAgIFx0SOG7lyB0cuG7oyBr4bq/dCBo4bujcCB24bubaSBtw6MgY8WpXG4iCiAKLSM6IGVtdWx0ZW1wbC9hcm1jb2ZmLmVtOjEyMQorIzogZW11bHRlbXBsL2FybWNvZmYuZW06NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtLXRodW1iLWVudHJ5PTxzeW0+ICAgICAgICAgU2V0IHRoZSBlbnRyeSBwb2ludCB0byBiZSBUaHVtYiBzeW1ib2wgPHN5bT5cbiIKK21zZ3N0ciAiICAtLXRodW1iLWVudHJ5PTxrw71faGnhu4d1PiAgxJDhurd0IMSRaeG7g20gdsOgbyB0aMOgbmgga8O9IGhp4buHdSBUaHVtYiBuw6B5XG4iCisKKyM6IGVtdWx0ZW1wbC9hcm1jb2ZmLmVtOjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvcnMgZW5jb3VudGVyZWQgcHJvY2Vzc2luZyBmaWxlICVzIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgeOG7rSBsw70gdOG6rXAgdGluICVzIgogCi0jOiBlbXVsdGVtcGwvYXJtY29mZi5lbToxODkgZW11bHRlbXBsL3BlLmVtOjE1MjgKKyM6IGVtdWx0ZW1wbC9hcm1jb2ZmLmVtOjE5MCBlbXVsdGVtcGwvcGUuZW06MTU1NQogbXNnaWQgIiVQOiB3YXJuaW5nOiAnLS10aHVtYi1lbnRyeSAlcycgaXMgb3ZlcnJpZGluZyAnLWUgJXMnXG4iCiBtc2dzdHIgIiVQOiBj4bqjbmggYsOhbyA6IMKrIC0tdGh1bWItZW50cnkgJXMgwrsgxJFhbmcgbOG6pXkgcXV54buBbiBjYW8gaMahbiDCqyAtZSAlcyDCu1xuIgogCi0jOiBlbXVsdGVtcGwvYXJtY29mZi5lbToxOTQgZW11bHRlbXBsL3BlLmVtOjE1MzMKLW1zZ2lkICIlUDogd2FybmluZzogY29ubm90IGZpbmQgdGh1bWIgc3RhcnQgc3ltYm9sICVzXG4iCisjOiBlbXVsdGVtcGwvYXJtY29mZi5lbToxOTUgZW11bHRlbXBsL3BlLmVtOjE1NjAKK21zZ2lkICIlUDogd2FybmluZzogY2Fubm90IGZpbmQgdGh1bWIgc3RhcnQgc3ltYm9sICVzXG4iCiBtc2dzdHIgIiVQOiBj4bqjbmggYsOhbyA6IGtow7RuZyB0w6xtIHRo4bqleSBrw70gaGnhu4d1IGLhuq90IMSR4bqndSB0aHVtYiAlc1xuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzExCisjOiBlbXVsdGVtcGwvcGUuZW06MzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgLS1iYXNlX2ZpbGUgPGJhc2VmaWxlPiAgICAgICAgICAgICBHZW5lcmF0ZSBhIGJhc2UgZmlsZSBmb3IgcmVsb2NhdGFibGUgRExMc1xuIgogbXNnc3RyICIiCiAiICAtLWJhc2VfZmlsZSA8dOG6rXBfdGluPlx0XHRU4bqhbyByYSBt4buZdCB04bqtcCB0aW4gY8ahIGLhuqNuXG4iCiAiXHRjaG8gY8OhYyBETEwgY8OzIGto4bqjIG7Eg25nIMSR4buLbmggduG7iyBs4bqhaSAoX3Thuq1wIHRpbiBjxqEgYuG6o25fKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzEyCisjOiBlbXVsdGVtcGwvcGUuZW06MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgLS1kbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXQgaW1hZ2UgYmFzZSB0byB0aGUgZGVmYXVsdCBmb3IgRExMc1xuIgogbXNnc3RyICIgIC0tZGxsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgxJDhurd0IGPGoSBi4bqjbiDhuqNuaCB0aMOgbmggZ2nDoSB0cuG7iyBt4bq3YyDEkeG7i25oIGNobyBjw6FjIERMTFxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzEzCisjOiBlbXVsdGVtcGwvcGUuZW06MzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgLS1maWxlLWFsaWdubWVudCA8c2l6ZT4gICAgICAgICAgICBTZXQgZmlsZSBhbGlnbm1lbnRcbiIKIG1zZ3N0ciAiIgogIiAgLS1maWxlLWFsaWdubWVudCA8a8OtY2hfY+G7oT4gICAgICAgICAgICDEkOG6t3Qgc+G7sSBjaOG7iW5oIGNhbmggdOG6rXAgdGluXG4iCiAiXHRcdChfc+G7sSBjaOG7iW5oIGNhbmggdOG6rXAgdGluXylcbiIKIAotIzogZW11bHRlbXBsL3BlLmVtOjMxNAorIzogZW11bHRlbXBsL3BlLmVtOjMxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIC0taGVhcCA8c2l6ZT4gICAgICAgICAgICAgICAgICAgICAgU2V0IGluaXRpYWwgc2l6ZSBvZiB0aGUgaGVhcFxuIgogbXNnc3RyICIiCiAiICAtLWhlYXAgPGvDrWNoX2Phu6E+ICAgICAgICAgICAgICAgICAgICAgIMSQ4bq3dCBrw61jaCBj4buhIMSR4bqndSB0acOqbiBj4bunYSBtaeG7gW4gbmjhu5tcbiIKICJcdFx0KF9taeG7gW4gbmjhu5tfKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzE1CisjOiBlbXVsdGVtcGwvcGUuZW06MzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgLS1pbWFnZS1iYXNlIDxhZGRyZXNzPiAgICAgICAgICAgICBTZXQgc3RhcnQgYWRkcmVzcyBvZiB0aGUgZXhlY3V0YWJsZVxuIgogbXNnc3RyICIiCiAiICAtLWltYWdlLWJhc2UgPMSR4buLYV9jaOG7iT5cbiIKICJcdMSQ4bq3dCDEkeG7i2EgY2jhu4kgYuG6r3QgxJHhuqd1IGPhu6dhIHThuq1wIHRpbiBjw7Mga2jhuqMgbsSDbmcgdGjhu7FjIGhp4buHbiAoX2PGoSBi4bqjbiDhuqNuaF8pXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTozMTYKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAtLW1ham9yLWltYWdlLXZlcnNpb24gPG51bWJlcj4gICAgIFNldCB2ZXJzaW9uIG51bWJlciBvZiB0aGUgZXhlY3V0YWJsZVxuIgogbXNnc3RyICIiCiAiICAtLW1ham9yLWltYWdlLXZlcnNpb24gPHPhu5E+XHRcdMSQ4bq3dCBz4buRIHRo4bupIHThu7EgcGhpw6puIGLhuqNuIGPhu6dhIHThuq1wIHRpblxuIgogIlx0Y8OzIGto4bqjIG7Eg25nIHRo4buxYyBoaeG7h24gKF9waGnDqm4gYuG6o24g4bqjbmggbOG7m25fKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzE3CisjOiBlbXVsdGVtcGwvcGUuZW06MzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgLS1tYWpvci1vcy12ZXJzaW9uIDxudW1iZXI+ICAgICAgICBTZXQgbWluaW11bSByZXF1aXJlZCBPUyB2ZXJzaW9uXG4iCiBtc2dzdHIgIiIKICIgIC0tbWFqb3Itb3MtdmVyc2lvbiA8c+G7kT5cdFx0xJDhurd0IHBoacOqbiBi4bqjbiBIxJBIIHThu5FpIHRoaeG7g3UgY+G6p24gdGhp4bq/dFxuIgogIlx0XHQoX3BoacOqbiBi4bqjbiBIxJBIIGzhu5tuXylcbiIKIAotIzogZW11bHRlbXBsL3BlLmVtOjMxOAorIzogZW11bHRlbXBsL3BlLmVtOjMyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgIC0tbWFqb3Itc3Vic3lzdGVtLXZlcnNpb24gPG51bWJlcj4gU2V0IG1pbmltdW0gcmVxdWlyZWQgT1Mgc3Vic3lzdGVtIHZlcnNpb25cbiIKIG1zZ3N0ciAiIgogIiAgLS1tYWpvci1zdWJzeXN0ZW0tdmVyc2lvbiA8c+G7kT5cdMSQ4bq3dCBwaGnDqm4gYuG6o24gaOG7hyB0aOG7kW5nIGNvbiBIxJBIXG4iCiAiXHR04buRaSB0aGnhu4N1IGPhuqduIHRoaeG6v3QgKF9waGnDqm4gYuG6o24gaOG7hyB0aOG7kW5nIGNvbiBs4bubbl8pXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTozMTkKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAtLW1pbm9yLWltYWdlLXZlcnNpb24gPG51bWJlcj4gICAgIFNldCByZXZpc2lvbiBudW1iZXIgb2YgdGhlIGV4ZWN1dGFibGVcbiIKIG1zZ3N0ciAiIgogIiAgLS1taW5vci1pbWFnZS12ZXJzaW9uIDxz4buRPlx0XHTEkOG6t3Qgc+G7kSB0aOG7qSB04buxIGLhuqNuIHPhu61hIMSR4buVaSBj4bunYSB04bqtcCB0aW5cbiIKICJcdGPDsyBraOG6oyBuxINuZyB0aOG7sWMgaGnhu4duIChfcGhpw6puIGLhuqNuIOG6o25oIG5o4buPXylcbiIKIAotIzogZW11bHRlbXBsL3BlLmVtOjMyMAorIzogZW11bHRlbXBsL3BlLmVtOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIC0tbWlub3Itb3MtdmVyc2lvbiA8bnVtYmVyPiAgICAgICAgU2V0IG1pbmltdW0gcmVxdWlyZWQgT1MgcmV2aXNpb25cbiIKIG1zZ3N0ciAiIgogIiAgLS1taW5vci1vcy12ZXJzaW9uIDxz4buRPlx0XHTEkOG6t3QgYuG6o24gc+G7rWEgxJHhu5VpIEjEkEggdOG7kWkgdGhp4buDdSBj4bqnbiB0aGnhur90XG4iCiAiXHRcdChfcGhpw6puIGLhuqNuIEjEkEggbmjhu49fKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzIxCisjOiBlbXVsdGVtcGwvcGUuZW06MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgLS1taW5vci1zdWJzeXN0ZW0tdmVyc2lvbiA8bnVtYmVyPiBTZXQgbWluaW11bSByZXF1aXJlZCBPUyBzdWJzeXN0ZW0gcmV2aXNpb25cbiIKIG1zZ3N0ciAiIgogIiAgLS1taW5vci1zdWJzeXN0ZW0tdmVyc2lvbiA8c+G7kT5cdMSQ4bq3dCBi4bqjbiBz4butYSDEkeG7lWkgaOG7hyB0aOG7kW5nIGNvbiBIxJBIXG4iCiAiXHR04buRaSB0aGnhu4N1IGPhuqduIHRoaeG6v3QgKF9waGnDqm4gYuG6o24gaOG7hyB0aOG7kW5nIGNvbiBuaOG7j18pXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTozMjIKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAtLXNlY3Rpb24tYWxpZ25tZW50IDxzaXplPiAgICAgICAgIFNldCBzZWN0aW9uIGFsaWdubWVudFxuIgogbXNnc3RyICIiCiAiICAtLXNlY3Rpb24tYWxpZ25tZW50IDxrw61jaF9j4buhPiAgICAgICAgIMSQ4bq3dCBz4buxIGNo4buJbmggY2FuaCBwaOG6p25cbiIKICJcdFx0KF9z4buxIGNo4buJbmggY2FuaCBwaOG6p25fKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzIzCisjOiBlbXVsdGVtcGwvcGUuZW06MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgLS1zdGFjayA8c2l6ZT4gICAgICAgICAgICAgICAgICAgICBTZXQgc2l6ZSBvZiB0aGUgaW5pdGlhbCBzdGFja1xuIgogbXNnc3RyICIgIC0tc3RhY2sgPGvDrWNoX2Phu6E+ICAgICAgICAgxJDhurd0IGvDrWNoIGPhu6EgY+G7p2EgxJHhu5FuZyDEkeG6p3UgdGnDqm4gKF/EkeG7kW5nXylcbiIKIAotIzogZW11bHRlbXBsL3BlLmVtOjMyNAorIzogZW11bHRlbXBsL3BlLmVtOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIC0tc3Vic3lzdGVtIDxuYW1lPls6PHZlcnNpb24+XSAgICAgU2V0IHJlcXVpcmVkIE9TIHN1YnN5c3RlbSBbJiB2ZXJzaW9uXVxuIgogbXNnc3RyICIiCiAiICAtLXN1YnN5c3RlbSA8dMOqbj5bOjxwaGnDqm5fYuG6o24+XVxuIgogIlx0xJDhurd0IGjhu4cgdGjhu5FuZyBjb24gSMSQSCBbdsOgIHBoacOqbiBi4bqjbl0gY+G6p24gdGhp4bq/dCAoX2jhu4cgdGjhu5FuZyBjb25fKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzI1CisjOiBlbXVsdGVtcGwvcGUuZW06MzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgLS1zdXBwb3J0LW9sZC1jb2RlICAgICAgICAgICAgICAgICBTdXBwb3J0IGludGVyd29ya2luZyB3aXRoIG9sZCBjb2RlXG4iCiBtc2dzdHIgIiIKICIgLS1zdXBwb3J0LW9sZC1jb2RlICAgXHRI4buXIHRy4bujIGvhur90IGjhu6NwIHbhu5tpIG3DoyBjxalcbiIKICJcdFx0KF9o4buXIHRy4bujIG3DoyBjxalfKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzI2CisjOiBlbXVsdGVtcGwvcGUuZW06MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgLS10aHVtYi1lbnRyeT08c3ltYm9sPiAgICAgICAgICAgICBTZXQgdGhlIGVudHJ5IHBvaW50IHRvIGJlIFRodW1iIDxzeW1ib2w+XG4iCiBtc2dzdHIgIiIKICIgIC0tdGh1bWItZW50cnk9PGvDvV9oaeG7h3U+ICDEkOG6t3QgxJFp4buDbSB2w6BvIHRow6BuaCBrw70gaGnhu4d1IFRodW1iIG7DoHlcbiIKICJcdFx0KF9t4bulYyBuaOG6rXAgdGh1bWJfKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzI4CisjOiBlbXVsdGVtcGwvcGUuZW06MzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgLS1hZGQtc3RkY2FsbC1hbGlhcyAgICAgICAgICAgICAgICBFeHBvcnQgc3ltYm9scyB3aXRoIGFuZCB3aXRob3V0IEBublxuIgogbXNnc3RyICIiCiAiICAtLWFkZC1zdGRjYWxsLWFsaWFzICAgICAgICAgICBYdeG6pXQga8O9IGhp4buHdSBjw7MgdsOgIGtow7RuZyBjw7MgwqsgQG5uIMK7XG4iCiAiXHRcdChfdGjDqm0gYsOtIGRhbmggc3RkY2FsbF8pXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTozMjkKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAtLWRpc2FibGUtc3RkY2FsbC1maXh1cCAgICAgICAgICAgIERvbid0IGxpbmsgX3N5bSB0byBfc3ltQG5uXG4iCiBtc2dzdHIgIiIKICIgIC0tZGlzYWJsZS1zdGRjYWxsLWZpeHVwICAgICAgICAgICAgxJDhu6tuZyBsacOqbiBr4bq/dCDCqyBfc3ltIMK7IMSR4bq/biDCqyBfc3ltQG5uIMK7XG4iCiAiXHRcdChfdOG6r3Qgc+G7rWEgY2jhu69hIHN0ZGNhbGxfKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzMwCisjOiBlbXVsdGVtcGwvcGUuZW06MzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgLS1lbmFibGUtc3RkY2FsbC1maXh1cCAgICAgICAgICAgICBMaW5rIF9zeW0gdG8gX3N5bUBubiB3aXRob3V0IHdhcm5pbmdzXG4iCiBtc2dzdHIgIiIKICIgIC0tZW5hYmxlLXN0ZGNhbGwtZml4dXAgICAgICAgICAgICAgTGnDqm4ga+G6v3QgwqsgX3N5bSDCuyDEkeG6v24gwqsgX3N5bUBubiDCuyxcbiIKICJcdGtow7RuZyBjw7MgY+G6o25oIGLDoW8gKF9i4bqtdCBz4butYSBjaOG7r2Egc3RkY2FsbF8pXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTozMzEKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAtLWV4Y2x1ZGUtc3ltYm9scyBzeW0sc3ltLC4uLiAgICAgIEV4Y2x1ZGUgc3ltYm9scyBmcm9tIGF1dG9tYXRpYyBleHBvcnRcbiIKIG1zZ3N0ciAiIgogIiAgLS1leGNsdWRlLXN5bWJvbHMga8O9X2hp4buHdTEsa8O9X2hp4buHdTIsLi4uXG4iCiAiXHRMb+G6oWkgdHLhu6sgbmjhu69uZyBrw70gaGnhu4d1IG7DoHkga2jhu49pIHZp4buHYyB04buxIMSR4buZbmcgeHXhuqV0IGto4bqpdSAoX2xv4bqhaSB0cuG7qyBjw6FjIGvDvSBoaeG7h3VfKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzMyCisjOiBlbXVsdGVtcGwvcGUuZW06MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgLS1leGNsdWRlLWxpYnMgbGliLGxpYiwuLi4gICAgICAgICBFeGNsdWRlIGxpYnJhcmllcyBmcm9tIGF1dG9tYXRpYyBleHBvcnRcbiIKIG1zZ3N0ciAiIgogIiAgLS1leGNsdWRlLWxpYnMgdGjGsF92aeG7h24xLHRoxrBfdmnhu4duMiwuLi5cbiIKICJcdExv4bqhaSB0cuG7qyBuaOG7r25nIHRoxrAgdmnhu4duIG7DoHkga2jhu49pIHZp4buHYyB04buxIMSR4buZbmcgeHXhuqV0IGto4bqpdSAoX2xv4bqhaSB0cuG7qyBjw6FjIHRoxrAgdmnhu4duXylcbiIKIAotIzogZW11bHRlbXBsL3BlLmVtOjMzMworIzogZW11bHRlbXBsL3BlLmVtOjMzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIC0tZXhwb3J0LWFsbC1zeW1ib2xzICAgICAgICAgICAgICAgQXV0b21hdGljYWxseSBleHBvcnQgYWxsIGdsb2JhbHMgdG8gRExMXG4iCiBtc2dzdHIgIiIKICIgIC0tZXhwb3J0LWFsbC1zeW1ib2xzICAgICAgICAgICBU4buxIMSR4buZbmcgeHXhuqV0IGto4bqpdSBt4buNaSDEkWnhu4F1IHRvw6BuIGPhu6VjIHJhIERMTFxuIgogIlx0XHQoX3h14bqldCBraOG6qXUgbeG7jWkga8O9IGhp4buHdV8pXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTozMzQKKyM6IGVtdWx0ZW1wbC9wZS5lbTozMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAtLWtpbGwtYXQgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbW92ZSBAbm4gZnJvbSBleHBvcnRlZCBzeW1ib2xzXG4iCiBtc2dzdHIgIiIKICIgIC0ta2lsbC1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgR+G7oSBi4buPIMKrIEBubiDCuyByYSBuaOG7r25nIGvDvSBoaeG7h3UgxJHDoyB4deG6pXQga2jhuql1XG4iCiAiXHQoX2dp4bq/dCB04bqhaV8pXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTozMzUKKyM6IGVtdWx0ZW1wbC9wZS5lbTozNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAtLW91dC1pbXBsaWIgPGZpbGU+ICAgICAgICAgICAgICAgIEdlbmVyYXRlIGltcG9ydCBsaWJyYXJ5XG4iCiBtc2dzdHIgIiIKICIgIC0tb3V0LWltcGxpYiA8dOG6rXBfdGluPiAgICAgICAgICAgICAgICBU4bqhbyByYSB0aMawIHZp4buHbiBuaOG6rXAga2jhuql1XG4iCiAiXHRcdChfcmEgbmjhuq1wIGto4bqpdSB0aMawIHZp4buHbiBbdmnhur90IHThuq90XV8pXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTozMzYKKyM6IGVtdWx0ZW1wbC9wZS5lbTozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAtLW91dHB1dC1kZWYgPGZpbGU+ICAgICAgICAgICAgICAgIEdlbmVyYXRlIGEgLkRFRiBmaWxlIGZvciB0aGUgYnVpbHQgRExMXG4iCiBtc2dzdHIgIiIKICIgIC0tb3V0cHV0LWRlZiA8dOG6rXBfdGluPlx0VOG6oW8gcmEgbeG7mXQgdOG6rXAgdGluIC5ERUYgY2hvIERMTCDEkcOjIHjDonkgZOG7sW5nXG4iCiAiXHRcdChfeHXhuqV0IHJhIERFRl8pXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTozMzcKKyM6IGVtdWx0ZW1wbC9wZS5lbTozNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAtLXdhcm4tZHVwbGljYXRlLWV4cG9ydHMgICAgICAgICAgIFdhcm4gYWJvdXQgZHVwbGljYXRlIGV4cG9ydHMuXG4iCiBtc2dzdHIgIiIKICIgIC0td2Fybi1kdXBsaWNhdGUtZXhwb3J0cyAgICAgICAgICAgQ+G6o25oIGLDoW8gduG7gSBz4buxIHh14bqldCBraOG6qXUgdHLDuW5nLlxuIgogIlx0XHQoX2PhuqNuaCBiw6FvIHPhu7EgeHXhuqV0IGto4bqpdSB0csO5bmdfKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzM4CisjOiBlbXVsdGVtcGwvcGUuZW06MzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIC0tY29tcGF0LWltcGxpYiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGJhY2t3YXJkIGNvbXBhdGlibGUgaW1wb3J0IGxpYnM7XG4iCkBAIC0yMzAsNyArMjI3LDcgQEAKICIgIC0tY29tcGF0LWltcGxpYlx0XHRU4bqhbyBjw6FjIHRoxrAgdmnhu4duIG5o4bqtcCBraOG6qXUgdMawxqFuZyB0aMOtY2ggbmfGsOG7o2M7XG4iCiAiXHRjxaluZyB04bqhbyDCqyBfX2ltcF88a8O9X2hp4buHdT4gwrsgKF90aMawIHZp4buHbiBuaOG6rXAga2jhuql1IHTGsMahbmcgdGjDrWNoIFt2aeG6v3QgdOG6r3RdXylcbiIKIAotIzogZW11bHRlbXBsL3BlLmVtOjM0MAorIzogZW11bHRlbXBsL3BlLmVtOjM0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiICAtLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgICAgICAgICAgIEF1dG9tYXRpY2FsbHkgY2hvb3NlIGltYWdlIGJhc2UgZm9yIERMTHNcbiIKQEAgLTIzOSwxNCArMjM2LDE0IEBACiAiICAtLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgICAgICAgICAgIFThu7EgxJHhu5luZyBjaOG7jW4gY8ahIGLhuqNuIOG6o25oIGNobyBt4buNaSBETExcbiIKICJcdG7hur91IG5nxrDhu51pIGTDuW5nIGtow7RuZyBnaGkgcsO1IChfYuG6rXQgY8ahIGLhuqNuIOG6o25oIHThu7EgxJHhu5luZ18pXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTozNDIKKyM6IGVtdWx0ZW1wbC9wZS5lbTozNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAtLWRpc2FibGUtYXV0by1pbWFnZS1iYXNlICAgICAgICAgIERvIG5vdCBhdXRvLWNob29zZSBpbWFnZSBiYXNlLiAoZGVmYXVsdClcbiIKIG1zZ3N0ciAiIgogIiAgLS1kaXNhYmxlLWF1dG8taW1hZ2UtYmFzZSAgICAgICDEkOG7q25nIHThu7EgxJHhu5luZyBjaOG7jW4gY8ahIGLhuqNuIOG6o25oICht4bq3YyDEkeG7i25oKVxuIgogIlx0XHQoX3Thuq90IGPGoSBi4bqjbiDhuqNuaCB04buxIMSR4buZbmdfKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzQzCisjOiBlbXVsdGVtcGwvcGUuZW06MzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIC0tZGxsLXNlYXJjaC1wcmVmaXg9PHN0cmluZz4gICAgICAgV2hlbiBsaW5raW5nIGR5bmFtaWNhbGx5IHRvIGEgZGxsIHdpdGhvdXRcbiIKQEAgLTI1OCw3ICsyNTUsNyBAQAogIlx0ZMO5bmcgwqsgPGNodeG7l2k+PHTDqm5fY8ahX2LhuqNuPi5kbGwgwrsgdGhheSBjaG8gwqsgbGliPHTDqm5fY8ahX2LhuqNuPi5kbGwgwrtcbiIKICJcdFx0KF90aeG7gW4gdOG7kSB0w6xtIGtp4bq/bSBETExfKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzQ2CisjOiBlbXVsdGVtcGwvcGUuZW06MzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIC0tZW5hYmxlLWF1dG8taW1wb3J0ICAgICAgICAgICAgICAgRG8gc29waGlzdGNhdGVkIGxpbmtpbmcgb2YgX3N5bSB0b1xuIgpAQCAtMjY3LDE0ICsyNjQsMTQgQEAKICIgIC0tZW5hYmxlLWF1dG8taW1wb3J0XHRcdExpw6puIGvhur90IHRpbmggdOG6vyDCqyBfc3ltIMK7IMSR4bq/biDCqyBfX2ltcF9zeW0gwrtcbiIKICJcdGNobyBjw6FjIHRoYW0gY2hp4bq/dSBEQVRBIChk4buvIGxp4buHdSkgKF9i4bqtdCB04buxIMSR4buZbmcgbmjhuq1wIGto4bqpdV8pXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTozNDgKKyM6IGVtdWx0ZW1wbC9wZS5lbTozNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAtLWRpc2FibGUtYXV0by1pbXBvcnQgICAgICAgICAgICAgIERvIG5vdCBhdXRvLWltcG9ydCBEQVRBIGl0ZW1zIGZyb20gRExMc1xuIgogbXNnc3RyICIiCiAiICAtLWRpc2FibGUtYXV0by1pbXBvcnQgICAgICAgxJDhu6tuZyB04buxIMSR4buZbmcgbmjhuq1wIG3hu6VjIERBVEEgdOG7qyBETExcbiIKICJcdFx0KF904bqvdCB04buxIMSR4buZbmcgbmjhuq1wIGto4bqpdV8pXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTozNDkKKyM6IGVtdWx0ZW1wbC9wZS5lbTozNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiAgLS1lbmFibGUtcnVudGltZS1wc2V1ZG8tcmVsb2MgICAgICBXb3JrIGFyb3VuZCBhdXRvLWltcG9ydCBsaW1pdGF0aW9ucyBieVxuIgpAQCAtMjg2LDcgKzI4Myw3IEBACiAiXHRjw6FjIHPhu7EgxJHhu4tuaCB24buLIGzhuqFpIGdp4bqjIMSRxrDhu6NjIHF1eeG6v3QgxJHhu4tuaCB2w6BvIGzDumMgY2jhuqF5LlxuIgogIlx0XHQoX2Lhuq10IMSR4buLbmggduG7iyBs4bqhaSBnaeG6oyBsw7pjIGNo4bqheSBbdmnhur90IHThuq90XV8pXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTozNTIKKyM6IGVtdWx0ZW1wbC9wZS5lbTozNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiAgLS1kaXNhYmxlLXJ1bnRpbWUtcHNldWRvLXJlbG9jICAgICBEbyBub3QgYWRkIHJ1bnRpbWUgcHNldWRvLXJlbG9jYXRpb25zIGZvclxuIgpAQCAtMjk3LDcgKzI5NCw3IEBACiAiXHTEkcaw4bujYyBuaOG6rXAga2jhuql1IHThu7EgxJHhu5luZy5cbiIKICJcdFx0KF904bqvdCDEkeG7i25oIHbhu4sgbOG6oWkgZ2nhuqMgbMO6YyBjaOG6oXkgW3Zp4bq/dCB04bqvdF1fKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MzU0CisjOiBlbXVsdGVtcGwvcGUuZW06MzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIC0tZW5hYmxlLWV4dHJhLXBlLWRlYnVnICAgICAgICAgICAgRW5hYmxlIHZlcmJvc2UgZGVidWcgb3V0cHV0IHdoZW4gYnVpbGRpbmdcbiIKQEAgLTMwNyw3ICszMDQsNyBAQAogIlx0QuG6rXQga+G6v3QgeHXhuqV0IGfhu6EgbOG7l2kgY2hpIHRp4bq/dCBraGkgeMOieSBk4buxbmcgaGF5IGxpw6puIGvhur90IMSR4bq/biBETExcbiIKICJcdCjEkeG6t2MgYmnhu4d0IGtoaSBuaOG6rXAga2jhuql1IHThu7EgxJHhu5luZykuIChfYuG6rXQgZ+G7oSBs4buXaSBQRSB0aMOqbV8pXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTozNTcKKyM6IGVtdWx0ZW1wbC9wZS5lbTozNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiAgLS1sYXJnZS1hZGRyZXNzLWF3YXJlICAgICAgICAgICAgICBFeGVjdXRhYmxlIHN1cHBvcnRzIHZpcnR1YWwgYWRkcmVzc2VzXG4iCkBAIC0zMTcsODYgKzMxNCwxMDAgQEAKICJcdFThuq1wIHRpbiBjw7Mga2jhuqMgbsSDbmcgdGjhu7FjIGhp4buHbiBjxaluZyBo4buXIHRy4bujIGPDoWMgxJHhu4thIGNo4buJIOG6o28gbOG7m24gaMahbiAyIEdCLlxuIgogIlx0XHQoX2tp4bq/biB0aOG7qWMgxJHhu4thIGNo4buJIGzhu5tuXylcbiIKIAotIzogZW11bHRlbXBsL3BlLmVtOjQyNAorIzogZW11bHRlbXBsL3BlLmVtOjQzMQogbXNnaWQgIiVQOiB3YXJuaW5nOiBiYWQgdmVyc2lvbiBudW1iZXIgaW4gLXN1YnN5c3RlbSBvcHRpb25cbiIKIG1zZ3N0ciAiJVA6IGPhuqNuaCBiw6FvOiBn4bq3cCBz4buRIHRo4bupIHThu7EgcGhpw6puIGLhuqNuIHNhaSB0cm9uZyB0w7l5IGNo4buNbiDCqyAtc3Vic3lzdGVtIMK7ICho4buHIHRo4buRbmcgY29uKVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06NDU1CisjOiBlbXVsdGVtcGwvcGUuZW06NDYyCiBtc2dpZCAiJVAlRjogaW52YWxpZCBzdWJzeXN0ZW0gdHlwZSAlc1xuIgogbXNnc3RyICIlUCVGOiBraeG7g3UgaOG7hyB0aOG7kW5nIGNvbiBraMO0bmcgaOG7o3AgbOG7hyAlc1xuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06NDk0CisjOiBlbXVsdGVtcGwvcGUuZW06NTAxCiBtc2dpZCAiJVAlRjogaW52YWxpZCBoZXggbnVtYmVyIGZvciBQRSBwYXJhbWV0ZXIgJyVzJ1xuIgogbXNnc3RyICIlUCVGOiBz4buRIHRo4bqtcCBs4bulYyBraMO0bmcgaOG7o3AgbOG7hyBjaG8gdGhhbSBz4buRIFBFIMKrICVzIMK7XG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTo1MTEKKyM6IGVtdWx0ZW1wbC9wZS5lbTo1MTgKIG1zZ2lkICIlUCVGOiBzdHJhbmdlIGhleCBpbmZvIGZvciBQRSBwYXJhbWV0ZXIgJyVzJ1xuIgogbXNnc3RyICIlUCVGOiB0aMO0bmcgdGluIHRo4bqtcCBs4bulYyBs4bqhIGNobyB0aGFtIHPhu5EgUEUgwqsgJXMgwrtcbiIKIAotIzogZW11bHRlbXBsL3BlLmVtOjUyOAorIzogZW11bHRlbXBsL3BlLmVtOjUzNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogQ2FuJ3Qgb3BlbiBiYXNlIGZpbGUgJXNcbiIKIG1zZ3N0ciAiJXM6IEtow7RuZyB0aOG7gyBt4bufIHThuq1wIHRpbiBjxqEgYuG6o24gJXNcbiIKIAotIzogZW11bHRlbXBsL3BlLmVtOjc0NAorIzogZW11bHRlbXBsL3BlLmVtOjc1MgogbXNnaWQgIiVQOiB3YXJuaW5nLCBmaWxlIGFsaWdubWVudCA+IHNlY3Rpb24gYWxpZ25tZW50LlxuIgogbXNnc3RyICIlUDogY+G6o25oIGLDoW8sIHPhu7EgY2jhu4luaCBjYW5oIHThuq1wIHRpbiA+IHPhu7EgY2jhu4luaCBjYW5oIHBo4bqnbi5cbiIKIAotIzogZW11bHRlbXBsL3BlLmVtOjgzMSBlbXVsdGVtcGwvcGUuZW06ODU4CisjOiBlbXVsdGVtcGwvcGUuZW06ODM5IGVtdWx0ZW1wbC9wZS5lbTo4NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2FybmluZzogcmVzb2x2aW5nICVzIGJ5IGxpbmtpbmcgdG8gJXNcbiIKIG1zZ3N0ciAiQ+G6o25oIGLDoW8gOiDEkWFuZyB0aMOhbyBn4buhICVzIGLhurFuZyBjw6FjaCBsacOqbiBr4bq/dCDEkeG6v24gJXNcbiIKIAotIzogZW11bHRlbXBsL3BlLmVtOjgzNiBlbXVsdGVtcGwvcGUuZW06ODYzCisjOiBlbXVsdGVtcGwvcGUuZW06ODQ0IGVtdWx0ZW1wbC9wZS5lbTo4NzEKIG1zZ2lkICJVc2UgLS1lbmFibGUtc3RkY2FsbC1maXh1cCB0byBkaXNhYmxlIHRoZXNlIHdhcm5pbmdzXG4iCiBtc2dzdHIgIkTDuW5nIMKrIC0tZW5hYmxlLXN0ZGNhbGwtZml4dXAgwrsgxJHhu4MgdOG6r3QgY8OhYyBj4bqjbmggYsOhbyBuw6B5XG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTo4MzcgZW11bHRlbXBsL3BlLmVtOjg2NAorIzogZW11bHRlbXBsL3BlLmVtOjg0NSBlbXVsdGVtcGwvcGUuZW06ODcyCiBtc2dpZCAiVXNlIC0tZGlzYWJsZS1zdGRjYWxsLWZpeHVwIHRvIGRpc2FibGUgdGhlc2UgZml4dXBzXG4iCiBtc2dzdHIgIkTDuW5nIMKrIC0tZGlzYWJsZS1zdGRjYWxsLWZpeHVwIMK7IMSR4buDIHThuq90IGPDoWMgc+G7sSBz4butYSBjaOG7r2EgbsOgeVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06ODgzCisjOiBlbXVsdGVtcGwvcGUuZW06ODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVDOiBDYW5ub3QgZ2V0IHNlY3Rpb24gY29udGVudHMgLSBhdXRvLWltcG9ydCBleGNlcHRpb25cbiIKIG1zZ3N0ciAiJUM6IEtow7RuZyB0aOG7gyBs4bqleSBu4buZaSBkdW5nIGPhu6dhIHBo4bqnbjogZ+G6t3Agbmdv4bqhaSBs4buHIG5o4bqtcCBraOG6qXUgdOG7sSDEkeG7mW5nXG4iCiAKLSM6IGVtdWx0ZW1wbC9wZS5lbTo5MjAKKyM6IGVtdWx0ZW1wbC9wZS5lbTo5MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5mbzogcmVzb2x2aW5nICVzIGJ5IGxpbmtpbmcgdG8gJXMgKGF1dG8taW1wb3J0KVxuIgogbXNnc3RyICJUaMO0bmcgdGluOiDEkWFuZyB0aMOhbyBn4buhICVzIGLhurFuZyBjw6FjaCBsacOqbiBr4bq/dCDEkeG6v24gJXMgKHThu7EgxJHhu5luZyBuaOG6rXAga2jhuql1KVxuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06OTkyCisjOiBlbXVsdGVtcGwvcGUuZW06OTM4Cittc2dpZCAiIgorIiVQOiB3YXJuaW5nOiBhdXRvLWltcG9ydGluZyBoYXMgYmVlbiBhY3RpdmF0ZWQgd2l0aG91dCAtLWVuYWJsZS1hdXRvLWltcG9ydCBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZS5cbiIKKyJUaGlzIHNob3VsZCB3b3JrIHVubGVzcyBpdCBpbnZvbHZlcyBjb25zdGFudCBkYXRhIHN0cnVjdHVyZXMgcmVmZXJlbmNpbmcgc3ltYm9scyBmcm9tIGF1dG8taW1wb3J0ZWQgRExMcy4iCittc2dzdHIgIiIKKyIlUDogY+G6o25oIGLDoW8gOiBjaOG7qWMgbsSDbmcgdOG7sSDEkeG7mW5nIG5o4bqtcCB2w6BvIMSRw6MgxJHGsOG7o2Mga8OtY2ggaG/huqF0IG3DoCBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gwqsgLS1lbmFibGUtYXV0by1pbXBvcnQgwrsgdHLDqm4gZMOybmcgbOG7h25oLlxuIgorIlRyxrDhu51uZyBo4bujcCBuw6B5IHbhuqtuIGPDsm4gbsOqbiBjaOG6oXkgxJHGsOG7o2MgbuG6v3Uga2jDtG5nIGPDsyBj4bqldSB0csO6YyBk4buvIGxp4buHdSBraMO0bmcgxJHhu5VpIG3DoCB0aGFtIGNoaeG6v3UgxJHhur9uIGvDvSBoaeG7h3UgdOG7qyBETEwgxJHGsOG7o2MgdOG7sSDEkeG7mW5nIG5o4bqtcCB2w6BvLiIKKworIzogZW11bHRlbXBsL3BlLmVtOjk0NSBlbXVsdGVtcGwvcGUuZW06MTExMyBlbXVsdGVtcGwvcGUuZW06MTMxOSBsZGNyZWYuYzo0ODgKKyM6IGxkY3JlZi5jOjU4NiBsZG1haW4uYzoxMTA1IGxkbWlzYy5jOjI4NSBwZS1kbGwuYzo2MjIgcGUtZGxsLmM6MTE1MworIzogcGUtZGxsLmM6MTI1MAorbXNnaWQgIiVCJUY6IGNvdWxkIG5vdCByZWFkIHN5bWJvbHM6ICVFXG4iCittc2dzdHIgIiVCJUY6IGtow7RuZyB0aOG7gyDEkeG7jWMgY8OhYyBrw70gaGnhu4d1IDogJUVcbiIKKworIzogZW11bHRlbXBsL3BlLmVtOjEwMTgKIG1zZ2lkICIlRiVQOiBjYW5ub3QgcGVyZm9ybSBQRSBvcGVyYXRpb25zIG9uIG5vbiBQRSBvdXRwdXQgZmlsZSAnJUInLlxuIgogbXNnc3RyICIlRiVQOiBraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiB0aGFvIHTDoWMgUEUgduG7m2kgdOG6rXAgdGluIHh14bqldCBraMOhYyBQRSDCqyAlQiDCuy5cbiIKIAotIzogZW11bHRlbXBsL3BlLmVtOjEzMzQKKyM6IGVtdWx0ZW1wbC9wZS5lbToxMzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9ycyBlbmNvdW50ZXJlZCBwcm9jZXNzaW5nIGZpbGUgJXNcbiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kgdHJvbmcga2hpIHjhu60gbMO9IHThuq1wIHRpbiAlc1xuIgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MTM1NworIzogZW11bHRlbXBsL3BlLmVtOjEzODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3JzIGVuY291bnRlcmVkIHByb2Nlc3NpbmcgZmlsZSAlcyBmb3IgaW50ZXJ3b3JraW5nIgogbXNnc3RyICJH4bq3cCBs4buXaSB0cm9uZyBraGkgeOG7rSBsw70gdOG6rXAgdGluICVzIMSR4buDIHRoYW8gdMOhYyB24bubaSBuaGF1IgogCi0jOiBlbXVsdGVtcGwvcGUuZW06MTQxOCBsZGV4cC5jOjUzMCBsZGxhbmcuYzozMDgyIGxkbGFuZy5jOjYwODcgbGRsYW5nLmM6NjExOAotIzogbGRtYWluLmM6MTE2NworIzogZW11bHRlbXBsL3BlLmVtOjE0NDQgbGRleHAuYzo1NDAgbGRsYW5nLmM6MzEzMSBsZGxhbmcuYzo2NDQ4IGxkbGFuZy5jOjY0NzkKKyM6IGxkbWFpbi5jOjEwNTAKIG1zZ2lkICIlUCVGOiBiZmRfbGlua19oYXNoX2xvb2t1cCBmYWlsZWQ6ICVFXG4iCiBtc2dzdHIgIiVQJUY6IMKrIGJmZF9saW5rX2hhc2hfbG9va3VwIMK7IGLhu4sgbOG7l2k6ICVFXG4iCiAKLSM6IGxkY3JlZi5jOjE2NgorIzogbGRjcmVmLmM6MTY4CiBtc2dpZCAiJVglUDogYmZkX2hhc2hfdGFibGVfaW5pdCBvZiBjcmVmIHRhYmxlIGZhaWxlZDogJUVcbiIKIG1zZ3N0ciAiJVglUDogwqsgYmZkX2hhc2hfdGFibGVfaW5pdCDCuyB24bubaSBi4bqjbmcgY3JlZiBi4buLIGzhu5dpOiAlRVxuIgogCi0jOiBsZGNyZWYuYzoxNzIKKyM6IGxkY3JlZi5jOjE3NAogbXNnaWQgIiVYJVA6IGNyZWZfaGFzaF9sb29rdXAgZmFpbGVkOiAlRVxuIgogbXNnc3RyICIlWCVQOiDCqyBjcmVmX2hhc2hfbG9va3VwIMK7IGLhu4sgbOG7l2k6ICVFXG4iCiAKLSM6IGxkY3JlZi5jOjE4MgorIzogbGRjcmVmLmM6MTg0CiBtc2dpZCAiJVglUDogY3JlZiBhbGxvYyBmYWlsZWQ6ICVFXG4iCiBtc2dzdHIgIiVYJVA6IGNyZWYgYWxsb2MgYuG7iyBs4buXaTogJUVcbiIKIAotIzogbGRjcmVmLmM6MzYyCisjOiBsZGNyZWYuYzozNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNDA3LDMzICs0MTgsMjUgQEAKICJC4bqjbmcgVGhhbSBDaGnhur91IENow6lvXG4iCiAiXG4iCiAKLSM6IGxkY3JlZi5jOjM2MworIzogbGRjcmVmLmM6MzY1CiBtc2dpZCAiU3ltYm9sIgogbXNnc3RyICJLw70gaGnhu4d1IgogCi0jOiBsZGNyZWYuYzozNzEKKyM6IGxkY3JlZi5jOjM3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJGaWxlXG4iCiBtc2dzdHIgIlThuq1wIHRpblxuIgogCi0jOiBsZGNyZWYuYzozNzUKKyM6IGxkY3JlZi5jOjM3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzeW1ib2xzXG4iCiBtc2dzdHIgIktow7RuZyBjw7Mga8O9IGhp4buHdVxuIgogCi0jOiBsZGNyZWYuYzo0OTYgbGRjcmVmLmM6NjE4Ci1tc2dpZCAiJUIlRjogY291bGQgbm90IHJlYWQgc3ltYm9sczsgJUVcbiIKLW1zZ3N0ciAiJUIlRjoga2jDtG5nIHRo4buDIMSR4buNYyBjw6FjIGvDvSBoaeG7h3UgOyAlRVxuIgotCi0jOiBsZGNyZWYuYzo1MDAgbGRjcmVmLmM6NjIyIGxkbWFpbi5jOjEyMzIgbGRtYWluLmM6MTIzNgotbXNnaWQgIiVCJUY6IGNvdWxkIG5vdCByZWFkIHN5bWJvbHM6ICVFXG4iCi1tc2dzdHIgIiVCJUY6IGtow7RuZyB0aOG7gyDEkeG7jWMgY8OhYyBrw70gaGnhu4d1IDogJUVcbiIKLQotIzogbGRjcmVmLmM6NTUxCisjOiBsZGNyZWYuYzo1MzAKIG1zZ2lkICIlUDogc3ltYm9sIGAlVCcgbWlzc2luZyBmcm9tIG1haW4gaGFzaCB0YWJsZVxuIgogbXNnc3RyICIlUDoga8O9IGhp4buHdSDCqyAlVCDCuyBjw7JuIHRoaeG6v3UgdHJvbmcgYuG6o25nIGLEg20gY2jDrW5oXG4iCiAKLSM6IGxkY3JlZi5jOjY5MyBsZGNyZWYuYzo3MDAgbGRtYWluLmM6MTI3OSBsZG1haW4uYzoxMjg2CisjOiBsZGNyZWYuYzo2NDggbGRjcmVmLmM6NjU1IGxkbWFpbi5jOjExMzkgbGRtYWluLmM6MTE0NgogbXNnaWQgIiVCJUY6IGNvdWxkIG5vdCByZWFkIHJlbG9jczogJUVcbiIKIG1zZ3N0ciAiJUIlRjoga2jDtG5nIHRo4buDIMSR4buNYyBjw6FjIHPhu7EgxJHhu4tuaCB24buLIGzhuqFpIDogJUVcbiIKIApAQCAtNDQxLDcgKzQ0NCw3IEBACiAjLiBpbiBPVVRTRUNOQU1FLiAgVGhpcyByZWxvYyBpcyBmcm9tIGEgc2VjdGlvbiB3aGljaCBpcwogIy4gbWFwcGVkIGludG8gYSBzZWN0aW9uIGZyb20gd2hpY2ggcmVmZXJlbmNlcyB0byBPVVRTRUNOQU1FCiAjLiBhcmUgcHJvaGliaXRlZC4gIFdlIG11c3QgcmVwb3J0IGFuIGVycm9yLgotIzogbGRjcmVmLmM6NzI3CisjOiBsZGNyZWYuYzo2ODIKIG1zZ2lkICIlWCVDOiBwcm9oaWJpdGVkIGNyb3NzIHJlZmVyZW5jZSBmcm9tICVzIHRvIGAlVCcgaW4gJXNcbiIKIG1zZ3N0ciAiJVglQzoga2jDtG5nIGNobyBwaMOpcCB0aGFtIGNoaeG6v3UgY2jDqW8gdOG7qyAlcyDEkeG6v24gwqsgJVQgwrsgdHJvbmcgJXNcbiIKIApAQCAtNDk0LDE0NyArNDk3LDE0MiBAQAogbXNnaWQgIiAgbm8gZW11bGF0aW9uIHNwZWNpZmljIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiAga2jDtG5nIGPDsyB0w7l5IGNo4buNbiDEkeG6t2MgdHLGsG5nIGNobyBtw7QgcGjhu49uZy5cbiIKIAotIzogbGRleHAuYzozNDQKKyM6IGxkZXhwLmM6MzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVGJVMgJSUgYnkgemVyb1xuIgogbXNnc3RyICIlRiVTICUlIGNobyBz4buRIGtow7RuZ1xuIgogCi0jOiBsZGV4cC5jOjM1MgorIzogbGRleHAuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJUYlUyAvIGJ5IHplcm9cbiIKIG1zZ3N0ciAiJUYlUyAvIGNobyBz4buRIGtow7RuZ1xuIgogCi0jOiBsZGV4cC5jOjU0NAorIzogbGRleHAuYzo1NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJVglUzogdW5yZXNvbHZhYmxlIHN5bWJvbCBgJXMnIHJlZmVyZW5jZWQgaW4gZXhwcmVzc2lvblxuIgogbXNnc3RyICIlWCVTOiBrw70gaGnhu4d1IGtow7RuZyB0aMOhbyBn4buhIMSRxrDhu6NjIMKrICVzIMK7IMSRxrDhu6NjIHRoYW0gY2hp4bq/dSB0cm9uZyBiaeG7g3UgdGjhu6ljXG4iCiAKLSM6IGxkZXhwLmM6NTU1CisjOiBsZGV4cC5jOjU2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlRiVTOiB1bmRlZmluZWQgc3ltYm9sIGAlcycgcmVmZXJlbmNlZCBpbiBleHByZXNzaW9uXG4iCiBtc2dzdHIgIiVGJVM6IGvDvSBoaeG7h3UgY2jGsGEgeMOhYyDEkeG7i25oIMKrICVzIMK7IMSRxrDhu6NjIHRoYW0gY2hp4bq/dSB0cm9uZyBiaeG7g3UgdGjhu6ljXG4iCiAKLSM6IGxkZXhwLmM6NTc2IGxkZXhwLmM6NTkzIGxkZXhwLmM6NjE5CisjOiBsZGV4cC5jOjU4NiBsZGV4cC5jOjYwMyBsZGV4cC5jOjYzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlRiVTOiB1bmRlZmluZWQgc2VjdGlvbiBgJXMnIHJlZmVyZW5jZWQgaW4gZXhwcmVzc2lvblxuIgogbXNnc3RyICIlRiVTOiBwaOG6p24gY2jGsGEgeMOhYyDEkeG7i25oIMKrICVzIMK7IMSRxrDhu6NjIHRoYW0gY2hp4bq/dSB0cm9uZyBiaeG7g3UgdGjhu6ljXG4iCiAKLSM6IGxkZXhwLmM6NjQ1IGxkZXhwLmM6NjU4CisjOiBsZGV4cC5jOjY1NyBsZGV4cC5jOjY3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlRiVTOiB1bmRlZmluZWQgTUVNT1JZIHJlZ2lvbiBgJXMnIHJlZmVyZW5jZWQgaW4gZXhwcmVzc2lvblxuIgogbXNnc3RyICIlRiVTOiBtaeG7gW4gTUVNT1JZIChi4buZIG5o4bubKSBjaMawYSB4w6FjIMSR4buLbmggwqsgJXMgwrsgxJHGsOG7o2MgdGhhbSBjaGnhur91IHRyb25nIGJp4buDdSB0aOG7qWNcbiIKIAotIzogbGRleHAuYzo2NjkKKyM6IGxkZXhwLmM6NjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVGJVM6IHVua25vd24gY29uc3RhbnQgYCVzJyByZWZlcmVuY2VkIGluIGV4cHJlc3Npb25cbiIKIG1zZ3N0ciAiJUYlUzogaOG6sW5nIGtow7RuZyByw7UgwqsgJXMgwrsgxJHGsOG7o2MgdGhhbSBjaGnhur91IHRyb25nIGJp4buDdSB0aOG7qWNcbiIKIAotIzogbGRleHAuYzo3MzAKKyM6IGxkZXhwLmM6NzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVGJVMgY2FuIG5vdCBQUk9WSURFIGFzc2lnbm1lbnQgdG8gbG9jYXRpb24gY291bnRlclxuIgogbXNnc3RyICIlRiVTIGtow7RuZyB0aOG7gyBQUk9WSURFIChjdW5nIGPhuqVwKSBz4buxIGfDoW4gY2hvIGLhu5kgxJHhur9tIMSR4buLYSDEkWnhu4NtXG4iCiAKLSM6IGxkZXhwLmM6NzQ0CisjOiBsZGV4cC5jOjc1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlRiVTIGludmFsaWQgYXNzaWdubWVudCB0byBsb2NhdGlvbiBjb3VudGVyXG4iCiBtc2dzdHIgIiVGJVMgc+G7sSBnw6FuIGtow7RuZyBo4bujcCBs4buHIGNobyBi4buZIMSR4bq/bSDEkeG7i2EgxJFp4buDbVxuIgogCi0jOiBsZGV4cC5jOjc0NworIzogbGRleHAuYzo3NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJUYlUyBhc3NpZ25tZW50IHRvIGxvY2F0aW9uIGNvdW50ZXIgaW52YWxpZCBvdXRzaWRlIG9mIFNFQ1RJT05cbiIKIG1zZ3N0ciAiJUYlUyBz4buxIGfDoW4gY2hvIGLhu5kgxJHhur9tIMSR4buLYSDEkWnhu4NtIGtow7RuZyBwaOG6o2kgaOG7o3AgbOG7hyBiw6puIG5nb8OgaSBTRUNUSU9OIChwaOG6p24pXG4iCiAKLSM6IGxkZXhwLmM6NzU2CisjOiBsZGV4cC5jOjc2OAogbXNnaWQgIiVGJVMgY2Fubm90IG1vdmUgbG9jYXRpb24gY291bnRlciBiYWNrd2FyZHMgKGZyb20gJVYgdG8gJVYpXG4iCiBtc2dzdHIgIiVGJVMga2jDtG5nIHRo4buDIGNo4bqheSBuZ8aw4bujYyBi4buZIMSR4bq/bSDEkeG7i2EgxJFp4buDbSAodOG7qyAlViB24buBICVWKVxuIgogCi0jOiBsZGV4cC5jOjc5NQorIzogbGRleHAuYzo4MDcKIG1zZ2lkICIlUCVGOiVzOiBoYXNoIGNyZWF0aW9uIGZhaWxlZFxuIgogbXNnc3RyICIlUCVGOiVzOiBs4buXaSB04bqhbyBixINtXG4iCiAKLSM6IGxkZXhwLmM6MTA1NCBsZGV4cC5jOjEwNzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJUYlUyBub25jb25zdGFudCBleHByZXNzaW9uIGZvciAlc1xuIgotbXNnc3RyICIlRiVTIGJp4buDdSB0aOG7qWMga2jDoWMgaOG6sW5nIGNobyAlc1xuIgotCi0jOiBsZGV4cC5jOjExMzgKKyM6IGxkZXhwLmM6MTA2NiBsZGV4cC5jOjEwOTEgbGRleHAuYzoxMTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVGJVM6IG5vbmNvbnN0YW50IGV4cHJlc3Npb24gZm9yICVzXG4iCiBtc2dzdHIgIiVGJVMgYmnhu4N1IHRo4bupYyBraMOhYyBo4bqxbmcgY2hvICVzXG4iCiAKLSM6IGxkZmlsZS5jOjEzOQorIzogbGRmaWxlLmM6MTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImF0dGVtcHQgdG8gb3BlbiAlcyBmYWlsZWRcbiIKIG1zZ3N0ciAibOG7l2kgdGjhu60gbeG7nyAlc1xuIgogCi0jOiBsZGZpbGUuYzoxNDEKKyM6IGxkZmlsZS5jOjEzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJhdHRlbXB0IHRvIG9wZW4gJXMgc3VjY2VlZGVkXG4iCiBtc2dzdHIgIm3hu58gdGjDoG5oIGPDtG5nICVzXG4iCiAKLSM6IGxkZmlsZS5jOjE0NworIzogbGRmaWxlLmM6MTQ1CiBtc2dpZCAiJUYlUDogaW52YWxpZCBCRkQgdGFyZ2V0IGAlcydcbiIKIG1zZ3N0ciAiJUYlUDogxJHDrWNoIEJGRCBraMO0bmcgaOG7o3AgbOG7hyDCqyAlcyDCu1xuIgogCi0jOiBsZGZpbGUuYzoyNTYgbGRmaWxlLmM6Mjg1CisjOiBsZGZpbGUuYzoyNTQgbGRmaWxlLmM6MjgzCiBtc2dpZCAiJVA6IHNraXBwaW5nIGluY29tcGF0aWJsZSAlcyB3aGVuIHNlYXJjaGluZyBmb3IgJXNcbiIKIG1zZ3N0ciAiJVA6IMSRYW5nIGLhu48gcXVhICVzIGtow7RuZyB0xrDGoW5nIHRow61jaCBraGkgdMOsbSBraeG6v20gJXNcbiIKIAotIzogbGRmaWxlLmM6MjY5CisjOiBsZGZpbGUuYzoyNjcKIG1zZ2lkICIlRiVQOiBhdHRlbXB0ZWQgc3RhdGljIGxpbmsgb2YgZHluYW1pYyBvYmplY3QgYCVzJ1xuIgogbXNnc3RyICIlRiVQOiDEkcOjIHRo4butIGxpw6puIGvhur90IHTEqW5oIMSR4buRaSB0xrDhu6NuZyDEkeG7mW5nIMKrICVzIMK7XG4iCiAKLSM6IGxkZmlsZS5jOjM4OAorIzogbGRmaWxlLmM6Mzc5CiBtc2dpZCAiJUYlUDogJXMgKCVzKTogTm8gc3VjaCBmaWxlOiAlRVxuIgogbXNnc3RyICIlRiVQOiAlcyAoJXMpOiBLaMO0bmcgY8OzIHThuq1wIHRpbiBuaMawIHbhuq15OiAlRVxuIgogCi0jOiBsZGZpbGUuYzozOTEKKyM6IGxkZmlsZS5jOjM4MgogbXNnaWQgIiVGJVA6ICVzOiBObyBzdWNoIGZpbGU6ICVFXG4iCiBtc2dzdHIgIiVGJVA6ICVzOiBLaMO0bmcgY8OzIHThuq1wIHRpbiBuaMawIHbhuq15OiAlRVxuIgogCi0jOiBsZGZpbGUuYzo0MjEKKyM6IGxkZmlsZS5jOjQxMgogbXNnaWQgIiVGJVA6IGNhbm5vdCBmaW5kICVzIGluc2lkZSAlc1xuIgogbXNnc3RyICIlRiVQOiBraMO0bmcgdMOsbSB0aOG6pXkgJXMgYsOqbiB0cm9uZyAlc1xuIgogCi0jOiBsZGZpbGUuYzo0MjQKKyM6IGxkZmlsZS5jOjQxNQogbXNnaWQgIiVGJVA6IGNhbm5vdCBmaW5kICVzXG4iCiBtc2dzdHIgIiVGJVA6IGtow7RuZyB0w6xtIHRo4bqleSDEkcaw4bujYyAlc1xuIgogCi0jOiBsZGZpbGUuYzo0NDEgbGRmaWxlLmM6NDU3CisjOiBsZGZpbGUuYzo0MzEgbGRmaWxlLmM6NDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaW5kIHNjcmlwdCBmaWxlICVzXG4iCiBtc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSB04bqtcCB0aW4gdsSDbiBs4buHbmggJXNcbiIKIAotIzogbGRmaWxlLmM6NDQzIGxkZmlsZS5jOjQ1OQorIzogbGRmaWxlLmM6NDMzIGxkZmlsZS5jOjQ1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJvcGVuZWQgc2NyaXB0IGZpbGUgJXNcbiIKIG1zZ3N0ciAixJHDoyBt4bufIHThuq1wIHRpbiB2xINuIGzhu4duaCAlc1xuIgogCi0jOiBsZGZpbGUuYzo1MDMKKyM6IGxkZmlsZS5jOjYwMQogbXNnaWQgIiVQJUY6IGNhbm5vdCBvcGVuIGxpbmtlciBzY3JpcHQgZmlsZSAlczogJUVcbiIKIG1zZ3N0ciAiJVAlRjoga2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIHbEg24gbOG7h25oIGxpw6puIGvhur90ICVzOiAlRVxuIgogCi0jOiBsZGZpbGUuYzo1NTAKKyM6IGxkZmlsZS5jOjY0OAogbXNnaWQgIiVQJUY6IGNhbm5vdCByZXByZXNlbnQgbWFjaGluZSBgJXMnXG4iCiBtc2dzdHIgIiVQJUY6IGtow7RuZyB0aOG7gyDEkeG6oWkgZGnhu4duIG3DoXkgwqsgJXMgwrtcbiIKIAotIzogbGRsYW5nLmM6MTA2OSBsZGxhbmcuYzoxMTExIGxkbGFuZy5jOjI4MzEKKyM6IGxkbGFuZy5jOjExMjQgbGRsYW5nLmM6MTE2NiBsZGxhbmcuYzoyODgwCiBtc2dpZCAiJVAlRjogY2FuIG5vdCBjcmVhdGUgaGFzaCB0YWJsZTogJUVcbiIKIG1zZ3N0ciAiJVAlRjoga2jDtG5nIHRo4buDIHThuqFvIGLhuqNuZyBixINtOiAlRVxuIgogCi0jOiBsZGxhbmcuYzoxMTU0CisjOiBsZGxhbmcuYzoxMjA5CiBtc2dpZCAiJVA6JVM6IHdhcm5pbmc6IHJlZGVjbGFyYXRpb24gb2YgbWVtb3J5IHJlZ2lvbiAnJXMnXG4iCiBtc2dzdHIgIiVQOiVTOiBj4bqjbmggYsOhbyA6IGtoYWkgYsOhbyBs4bqhaSBtaeG7gW4gbmjhu5sgwqsgJXMgwrtcbiIKIAotIzogbGRsYW5nLmM6MTE2MAorIzogbGRsYW5nLmM6MTIxNQogbXNnaWQgIiVQOiVTOiB3YXJuaW5nOiBtZW1vcnkgcmVnaW9uICVzIG5vdCBkZWNsYXJlZFxuIgogbXNnc3RyICIlUDolUzogY+G6o25oIGLDoW8gOiBjaMawYSBraGFpIGLDoW8gbWnhu4FuIGLhu5kgbmjhu5sgJXNcbiIKIAotIzogbGRsYW5nLmM6MTI0MCBsZGxhbmcuYzoxMjcwCisjOiBsZGxhbmcuYzoxMjcwIGxkbGFuZy5jOjEzMDUKIG1zZ2lkICIlUCVGOiBmYWlsZWQgY3JlYXRpbmcgc2VjdGlvbiBgJXMnOiAlRVxuIgogbXNnc3RyICIlUCVGOiBs4buXaSB04bqhbyBwaOG6p24gwqsgJXMgwrs6ICVFXG4iCiAKLSM6IGxkbGFuZy5jOjE3NTQKKyM6IGxkbGFuZy5jOjE3OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNjQ1LDcgKzY0Myw3IEBACiAiQ8OhYyBwaOG6p24gbmjhuq1wIGLhu4sgaOG7p3lcbiIKICJcbiIKIAotIzogbGRsYW5nLmM6MTc2MgorIzogbGRsYW5nLmM6MTgwNwogbXNnaWQgIiIKICJcbiIKICJNZW1vcnkgQ29uZmlndXJhdGlvblxuIgpAQCAtNjU1LDIzICs2NTMsMjMgQEAKICJD4bqldSBow6xuaCBi4buZIG5o4bubXG4iCiAiXG4iCiAKLSM6IGxkbGFuZy5jOjE3NjQKKyM6IGxkbGFuZy5jOjE4MDkKIG1zZ2lkICJOYW1lIgogbXNnc3RyICJUw6puIgogCi0jOiBsZGxhbmcuYzoxNzY0CisjOiBsZGxhbmcuYzoxODA5CiBtc2dpZCAiT3JpZ2luIgogbXNnc3RyICJH4buRYyIKIAotIzogbGRsYW5nLmM6MTc2NAorIzogbGRsYW5nLmM6MTgwOQogbXNnaWQgIkxlbmd0aCIKIG1zZ3N0ciAixJDhu5kgZMOgaSIKIAotIzogbGRsYW5nLmM6MTc2NAorIzogbGRsYW5nLmM6MTgwOQogbXNnaWQgIkF0dHJpYnV0ZXMiCiBtc2dzdHIgIlRodeG7mWMgdMOtbmgiCiAKLSM6IGxkbGFuZy5jOjE4MDQKKyM6IGxkbGFuZy5jOjE4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNjgyLDE1OCArNjgwLDE3MCBAQAogIlbEg24gbOG7h25oIGxpw6puIGvhur90IHbDoCBzxqEgxJHhu5MgYuG7mSBuaOG7m1xuIgogIlxuIgogCi0jOiBsZGxhbmcuYzoxODcxCisjOiBsZGxhbmcuYzoxOTE1CiBtc2dpZCAiJVAlRjogSWxsZWdhbCB1c2Ugb2YgYCVzJyBzZWN0aW9uXG4iCiBtc2dzdHIgIiVQJUY6IGtow7RuZyBjaG8gcGjDqXAgY8OhY2ggc+G7rSBk4bulbmcgcGjhuqduIMKrICVzIMK7XG4iCiAKLSM6IGxkbGFuZy5jOjE4NzkKKyM6IGxkbGFuZy5jOjE5MjMKIG1zZ2lkICIlUCVGOiBvdXRwdXQgZm9ybWF0ICVzIGNhbm5vdCByZXByZXNlbnQgc2VjdGlvbiBjYWxsZWQgJXNcbiIKIG1zZ3N0ciAiJVAlRjogxJHhu4tuaCBk4bqhbmcgeHXhuqV0ICVzIGtow7RuZyB0aOG7gyDEkeG6oWkgZGnhu4duIHBo4bqnbiB0w6puICVzXG4iCiAKLSM6IGxkbGFuZy5jOjI0MjkKKyM6IGxkbGFuZy5jOjI0NzMKIG1zZ2lkICIlQjogZmlsZSBub3QgcmVjb2duaXplZDogJUVcbiIKIG1zZ3N0ciAiJUI6IGtow7RuZyBuaOG6rW4gcmEgdOG6rXAgdGluOiAlRVxuIgogCi0jOiBsZGxhbmcuYzoyNDMwCisjOiBsZGxhbmcuYzoyNDc0CiBtc2dpZCAiJUI6IG1hdGNoaW5nIGZvcm1hdHM6IgogbXNnc3RyICIlQjogY8OhYyDEkeG7i25oIGThuqFuZyBraOG7m3A6IgogCi0jOiBsZGxhbmcuYzoyNDM3CisjOiBsZGxhbmcuYzoyNDgxCiBtc2dpZCAiJUYlQjogZmlsZSBub3QgcmVjb2duaXplZDogJUVcbiIKIG1zZ3N0ciAiJUYlQjoga2jDtG5nIG5o4bqtbiByYSB04bqtcCB0aW46ICVFXG4iCiAKLSM6IGxkbGFuZy5jOjI1MDcKKyM6IGxkbGFuZy5jOjI1NTEKIG1zZ2lkICIlRiVCOiBtZW1iZXIgJUIgaW4gYXJjaGl2ZSBpcyBub3QgYW4gb2JqZWN0XG4iCiBtc2dzdHIgIiVGJUI6IGLhu5kgcGjhuqFuICVCIHRyb25nIGtoaSBraMO0bmcgcGjhuqNpIGzDoCDEkeG7kWkgdMaw4bujbmdcbiIKIAotIzogbGRsYW5nLmM6MjUxOCBsZGxhbmcuYzoyNTMyCisjOiBsZGxhbmcuYzoyNTYyIGxkbGFuZy5jOjI1NzYKIG1zZ2lkICIlRiVCOiBjb3VsZCBub3QgcmVhZCBzeW1ib2xzOiAlRVxuIgogbXNnc3RyICIlRiVCOiBraMO0bmcgdGjhu4MgxJHhu41jIGPDoWMga8O9IGhp4buHdSA6ICVFXG4iCiAKLSM6IGxkbGFuZy5jOjI4MDEKKyM6IGxkbGFuZy5jOjI4NTAKIG1zZ2lkICIlUDogd2FybmluZzogY291bGQgbm90IGZpbmQgYW55IHRhcmdldHMgdGhhdCBtYXRjaCBlbmRpYW5uZXNzIHJlcXVpcmVtZW50XG4iCiBtc2dzdHIgIiVQOiBj4bqjbmggYsOhbyA6IGtow7RuZyB0w6xtIHRo4bqleSDEkcOtY2gga2jhu5twIHbhu5tpIHTDrG5oIHRy4bqhbmcgY3Xhu5FpIGPhuqduIHRoaeG6v3RcbiIKIAotIzogbGRsYW5nLmM6MjgxNQorIzogbGRsYW5nLmM6Mjg2NAogbXNnaWQgIiVQJUY6IHRhcmdldCAlcyBub3QgZm91bmRcbiIKIG1zZ3N0ciAiJVAlRjoga2jDtG5nIHTDrG0gdGjhuqV5IMSRw61jaCAlc1xuIgogCi0jOiBsZGxhbmcuYzoyODE3CisjOiBsZGxhbmcuYzoyODY2CiBtc2dpZCAiJVAlRjogY2Fubm90IG9wZW4gb3V0cHV0IGZpbGUgJXM6ICVFXG4iCiBtc2dzdHIgIiVQJUY6IGtow7RuZyB0aOG7gyBt4bufIHThuq1wIHRpbiB4deG6pXQgJXM6ICVFXG4iCiAKLSM6IGxkbGFuZy5jOjI4MjMKKyM6IGxkbGFuZy5jOjI4NzIKIG1zZ2lkICIlUCVGOiVzOiBjYW4gbm90IG1ha2Ugb2JqZWN0IGZpbGU6ICVFXG4iCiBtc2dzdHIgIiVQJUY6JXM6IGtow7RuZyB0aOG7gyB04bqhbyB04bqtcCB0aW4gxJHhu5FpIHTGsOG7o25nOiAlRVxuIgogCi0jOiBsZGxhbmcuYzoyODI3CisjOiBsZGxhbmcuYzoyODc2CiBtc2dpZCAiJVAlRjolczogY2FuIG5vdCBzZXQgYXJjaGl0ZWN0dXJlOiAlRVxuIgogbXNnc3RyICIlUCVGOiVzOiBraMO0bmcgdGjhu4MgxJHhurd0IGtp4bq/biB0csO6YzogJUVcbiIKIAotIzogbGRsYW5nLmM6Mjk3NQorIzogbGRsYW5nLmM6MzAyNAogbXNnaWQgIiVQJUY6IGJmZF9oYXNoX2xvb2t1cCBmYWlsZWQgY3JlYXRpbmcgc3ltYm9sICVzXG4iCiBtc2dzdHIgIiVQJUY6IGzhu5dpIMKrIGJmZF9oYXNoX2xvb2t1cCDCuyBraGkgdOG6oW8ga8O9IGhp4buHdSAlc1xuIgogCi0jOiBsZGxhbmcuYzoyOTkzCisjOiBsZGxhbmcuYzozMDQyCiBtc2dpZCAiJVAlRjogYmZkX2hhc2hfYWxsb2NhdGUgZmFpbGVkIGNyZWF0aW5nIHN5bWJvbCAlc1xuIgogbXNnc3RyICIlUCVGOiBs4buXaSDCqyBiZmRfaGFzaF9sb29rdXAgwrsga2hpIHThuqFvIGvDvSBoaeG7h3UgJXNcbiIKIAotIzogbGRsYW5nLmM6MzQyNgorIzogbGRsYW5nLmM6MzQxOAorbXNnaWQgIiVGJVA6ICVzIG5vdCBmb3VuZCBmb3IgaW5zZXJ0XG4iCittc2dzdHIgIiVGJVA6IGtow7RuZyB0w6xtIHRo4bqleSAlcyDEkeG7gyBjaMOobiB2w6BvXG4iCisKKyM6IGxkbGFuZy5jOjM2MzMKIG1zZ2lkICIgbG9hZCBhZGRyZXNzIDB4JVYiCiBtc2dzdHIgIiBu4bqhcCDEkeG7i2EgY2jhu4kgMHglViIKIAotIzogbGRsYW5nLmM6MzY2MQorIzogbGRsYW5nLmM6Mzg3MwogbXNnaWQgIiVXIChzaXplIGJlZm9yZSByZWxheGluZylcbiIKIG1zZ3N0ciAiJVcgKGvDrWNoIGPhu6EgdHLGsOG7m2Mga2hpIGzGoWkgcmEpXG4iCiAKLSM6IGxkbGFuZy5jOjM3NDcKKyM6IGxkbGFuZy5jOjM5NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkcmVzcyBvZiBzZWN0aW9uICVzIHNldCB0byAiCiBtc2dzdHIgIsSQ4buLYSBjaOG7iSBj4bunYSBwaOG6p24gJXMgxJHGsOG7o2MgxJHhurd0IHRow6BuaCAiCiAKLSM6IGxkbGFuZy5jOjM5MDAKKyM6IGxkbGFuZy5jOjQxMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbCB3aXRoICVkXG4iCiBtc2dzdHIgIlRo4bqldCBi4bqhaSB24bubaSAlZFxuIgogCi0jOiBsZGxhbmcuYzo0MTcyCisjOiBsZGxhbmcuYzo0Mzk3CiBtc2dpZCAiJVglUDogc2VjdGlvbiAlcyBbJVYgLT4gJVZdIG92ZXJsYXBzIHNlY3Rpb24gJXMgWyVWIC0+ICVWXVxuIgogbXNnc3RyICIlWCVQOiBwaOG6p24gJXMgWyVWIC0+ICVWXSBjaOG7k25nIGNow6lvIGzDqm4gcGjhuqduICVzIFslViAtPiAlVl1cbiIKIAotIzogbGRsYW5nLmM6NDE5NworIzogbGRsYW5nLmM6NDQxMworbXNnaWQgIiVYJVA6IHJlZ2lvbiAlcyBvdmVyZmxvd2VkIGJ5ICVsZCBieXRlc1xuIgorbXNnc3RyICIlWCVQOiB2w7luZyAlcyBi4buLICVsZCBieXRlIHRyw6BuXG4iCisKKyM6IGxkbGFuZy5jOjQ0MzYKIG1zZ2lkICIlWCVQOiBhZGRyZXNzIDB4JXYgb2YgJUIgc2VjdGlvbiAlcyBpcyBub3Qgd2l0aGluIHJlZ2lvbiAlc1xuIgogbXNnc3RyICIlWCVQOiDEkeG7i2EgY2jhu4kgMHgldiBj4butYSAlQiBwaOG6p24gJXMga2jDtG5nIG7hurFtIHRyb25nIG1p4buBbiAlc1xuIgogCi0jOiBsZGxhbmcuYzo0MjA2Ci1tc2dpZCAiJVglUDogcmVnaW9uICVzIGlzIGZ1bGwgKCVCIHNlY3Rpb24gJXMpXG4iCi1tc2dzdHIgIiVYJVA6IG1p4buBbiAlcyDEkcOjIMSR4bqneSAoJUIgcGjhuqduICVzKVxuIgorIzogbGRsYW5nLmM6NDQ0NworbXNnaWQgIiVYJVA6ICVCIHNlY3Rpb24gJXMgd2lsbCBub3QgZml0IGluIHJlZ2lvbiAlc1xuIgorbXNnc3RyICIlWCVQOiBwaOG6p24gJUIgJXMgcXXDoSBs4bubbiBzbyB24bubaSB2w7luZyAlc1xuIgogCi0jOiBsZGxhbmcuYzo0MjQ3CisjOiBsZGxhbmcuYzo0NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVGJVM6IG5vbiBjb25zdGFudCBvciBmb3J3YXJkIHJlZmVyZW5jZSBhZGRyZXNzIGV4cHJlc3Npb24gZm9yIHNlY3Rpb24gJXNcbiIKIG1zZ3N0ciAiJUYlUzogYmnhu4N1IHRo4bupYyDEkeG7i2EgY2jhu4kgdGhhbSBjaGnhur91IGtow6FjIGjhurFuZyBoYXkgdGnhur9wIGzDqm4gY2hvIHBo4bqnbiAlc1xuIgogCi0jOiBsZGxhbmcuYzo0MjcyCisjOiBsZGxhbmcuYzo0NTEyCiBtc2dpZCAiJVAlWDogSW50ZXJuYWwgZXJyb3Igb24gQ09GRiBzaGFyZWQgbGlicmFyeSBzZWN0aW9uICVzXG4iCiBtc2dzdHIgIiVQJVg6IGzhu5dpIG7hu5lpIGLhu5kgduG7m2kgcGjhuqduIHRoxrAgdmnhu4duIGTDuW5nIGNodW5nIENPRkYgJXNcbiIKIAotIzogbGRsYW5nLmM6NDMzMQorIzogbGRsYW5nLmM6NDU3MQogbXNnaWQgIiVQJUY6IGVycm9yOiBubyBtZW1vcnkgcmVnaW9uIHNwZWNpZmllZCBmb3IgbG9hZGFibGUgc2VjdGlvbiBgJXMnXG4iCiBtc2dzdHIgIiVQJUY6IGzhu5dpOiBjaMawYSBnaGkgcsO1IHbDuW5nIGLhu5kgbmjhu5sgY2hvIHBo4bqnbiBjw7Mga2jhuqMgbsSDbmcgbuG6oXAgwqsgJXMgwrtcbiIKIAotIzogbGRsYW5nLmM6NDMzNgorIzogbGRsYW5nLmM6NDU3NgogbXNnaWQgIiVQOiB3YXJuaW5nOiBubyBtZW1vcnkgcmVnaW9uIHNwZWNpZmllZCBmb3IgbG9hZGFibGUgc2VjdGlvbiBgJXMnXG4iCiBtc2dzdHIgIiVQOiBs4buXaTogY2jGsGEgZ2hpIHLDtSB2w7luZyBi4buZIG5o4bubIGNobyBwaOG6p24gY8OzIGto4bqjIG7Eg25nIG7huqFwIMKrICVzIMK7XG4iCiAKLSM6IGxkbGFuZy5jOjQzNTgKKyM6IGxkbGFuZy5jOjQ1OTgKIG1zZ2lkICIlUDogd2FybmluZzogY2hhbmdpbmcgc3RhcnQgb2Ygc2VjdGlvbiAlcyBieSAlbHUgYnl0ZXNcbiIKIG1zZ3N0ciAiJVA6IGPhuqNuaCBiw6FvIDogxJFhbmcgdGhheSDEkeG7lWkgxJHhuqd1IGPhu6dhIHBo4bqnbiAlcyB0aGVvICVsdSBieXRlXG4iCiAKLSM6IGxkbGFuZy5jOjQ0MzcKKyM6IGxkbGFuZy5jOjQ2NzUKIG1zZ2lkICIlUDogd2FybmluZzogZG90IG1vdmVkIGJhY2t3YXJkcyBiZWZvcmUgYCVzJ1xuIgogbXNnc3RyICIlUDogY+G6o25oIGLDoW8gOiBk4bqldSBjaOG6pW0gxJHGsOG7o2MgZGkgY2h1eeG7g24gduG7gSBuZ8aw4bujYyB0csaw4bubYyDCqyAlcyDCu1xuIgogCi0jOiBsZGxhbmcuYzo0NjA5CisjOiBsZGxhbmcuYzo0ODQ4CiBtc2dpZCAiJVAlRjogY2FuJ3QgcmVsYXggc2VjdGlvbjogJUVcbiIKIG1zZ3N0ciAiJVAlRjoga2jDtG5nIHRo4buDIGzGoWkgcmEgcGjhuqduOiAlRVxuIgogCi0jOiBsZGxhbmcuYzo0ODk4CisjOiBsZGxhbmcuYzo1MTcwCiBtc2dpZCAiJUYlUDogaW52YWxpZCBkYXRhIHN0YXRlbWVudFxuIgogbXNnc3RyICIlRiVQOiBjw6J1IGThu68gbGnhu4d1IGtow7RuZyBo4bujcCBs4buHXG4iCiAKLSM6IGxkbGFuZy5jOjQ5MzEKKyM6IGxkbGFuZy5jOjUyMDMKIG1zZ2lkICIlRiVQOiBpbnZhbGlkIHJlbG9jIHN0YXRlbWVudFxuIgogbXNnc3RyICIlRiVQOiBjw6J1IMSR4buLbmggduG7iyBs4bqhaSBraMO0bmcgaOG7o3AgbOG7h1xuIgogCi0jOiBsZGxhbmcuYzo1MDYzCisjOiBsZGxhbmcuYzo1MzIyCittc2dpZCAiJVAlRjogZ2Mtc2VjdGlvbnMgcmVxdWlyZXMgZWl0aGVyIGFuIGVudHJ5IG9yIGFuIHVuZGVmaW5lZCBzeW1ib2xcbiIKK21zZ3N0ciAiJVAlRjogZ2Mtc2VjdGlvbnMgecOqdSBj4bqndSBob+G6t2MgbeG7mXQgbeG7pWMgbmjhuq1wIGhv4bq3YyBt4buZdCBrw70gaGnhu4d1IGNoxrBhIHjDoWMgxJHhu4tuaFxuIgorCisjOiBsZGxhbmcuYzo1MzQ3CiBtc2dpZCAiJVAlRjolczogY2FuJ3Qgc2V0IHN0YXJ0IGFkZHJlc3NcbiIKIG1zZ3N0ciAiJVAlRjolczoga2jDtG5nIHRo4buDIMSR4bq3dCDEkeG7i2EgY2jhu4kgYuG6r3QgxJHhuqd1XG4iCiAKLSM6IGxkbGFuZy5jOjUwNzYgbGRsYW5nLmM6NTA5NQorIzogbGRsYW5nLmM6NTM2MCBsZGxhbmcuYzo1Mzc5CiBtc2dpZCAiJVAlRjogY2FuJ3Qgc2V0IHN0YXJ0IGFkZHJlc3NcbiIKIG1zZ3N0ciAiJVAlRjoga2jDtG5nIHRo4buDIMSR4bq3dCDEkeG7i2EgY2jhu4kgYuG6r3QgxJHhuqd1XG4iCiAKLSM6IGxkbGFuZy5jOjUwODgKKyM6IGxkbGFuZy5jOjUzNzIKIG1zZ2lkICIlUDogd2FybmluZzogY2Fubm90IGZpbmQgZW50cnkgc3ltYm9sICVzOyBkZWZhdWx0aW5nIHRvICVWXG4iCiBtc2dzdHIgIiVQOiBj4bqjbmggYsOhbyA6IGtow7RuZyB0w6xtIHRo4bqleSBrw70gaGnhu4d1IHbDoG8gJXM7IG7Dqm4gZMO5bmcgZ2nDoSB0cuG7iyBt4bq3YyDEkeG7i25oICVWXG4iCiAKLSM6IGxkbGFuZy5jOjUxMDAKKyM6IGxkbGFuZy5jOjUzODQKIG1zZ2lkICIlUDogd2FybmluZzogY2Fubm90IGZpbmQgZW50cnkgc3ltYm9sICVzOyBub3Qgc2V0dGluZyBzdGFydCBhZGRyZXNzXG4iCiBtc2dzdHIgIiVQOiBj4bqjbmggYsOhbyA6IGtow7RuZyB0w6xtIHRo4bqleSBrw70gaGnhu4d1IHbDoG8gJXM7IG7Dqm4ga2jDtG5nIMSR4bq3dCDEkeG7i2EgY2jhu4kgYuG6r3QgxJHhuqd1XG4iCiAKLSM6IGxkbGFuZy5jOjUxNDkKKyM6IGxkbGFuZy5jOjU0MzQKIG1zZ2lkICIlUCVGOiBSZWxvY2F0YWJsZSBsaW5raW5nIHdpdGggcmVsb2NhdGlvbnMgZnJvbSBmb3JtYXQgJXMgKCVCKSB0byBmb3JtYXQgJXMgKCVCKSBpcyBub3Qgc3VwcG9ydGVkXG4iCiBtc2dzdHIgIiVQJUY6IGtow7RuZyBo4buXIHRy4bujIGto4bqjIG7Eg25nIGxpw6puIGvhur90IGPDsyBraOG6oyBuxINuZyDEkeG7i25oIHbhu4sgbOG6oWkgduG7m2kgc+G7sSDEkeG7i25oIHbhu4sgbOG6oWkgdOG7qyDEkeG7i25oIGThuqFuZyAlcyAoJUIpIHNhbmcgxJHhu4tuaCBk4bqhbmcgJXMgKCVCKS5cbiIKIAotIzogbGRsYW5nLmM6NTE1OQorIzogbGRsYW5nLmM6NTQ0NAogbXNnaWQgIiVQJVg6ICVzIGFyY2hpdGVjdHVyZSBvZiBpbnB1dCBmaWxlIGAlQicgaXMgaW5jb21wYXRpYmxlIHdpdGggJXMgb3V0cHV0XG4iCiBtc2dzdHIgIiVQJVg6IGtp4bq/biB0csO6YyAlcyBj4bunYSB04bqtcCB0aW4gbmjhuq1wIMKrICVCIMK7IGtow7RuZyB0xrDGoW5nIHRow61jaCB24bubaSBr4bq/dCB4deG6pXQgJXNcbiIKIAotIzogbGRsYW5nLmM6NTE4MQorIzogbGRsYW5nLmM6NTQ2NgogbXNnaWQgIiVQJVg6IGZhaWxlZCB0byBtZXJnZSB0YXJnZXQgc3BlY2lmaWMgZGF0YSBvZiBmaWxlICVCXG4iCiBtc2dzdHIgIiVQJVg6IGzhu5dpIGjhu6NwIG5o4bqldCBk4buvIGxp4buHdSDEkeG6t2MgdHLGsG5nIGNobyDEkcOtY2ggY+G7p2EgdOG6rXAgdGluICVCXG4iCiAKLSM6IGxkbGFuZy5jOjUyNjUKKyM6IGxkbGFuZy5jOjU1NjcKIG1zZ2lkICIiCiAiXG4iCiAiQWxsb2NhdGluZyBjb21tb24gc3ltYm9sc1xuIgpAQCAtODQxLDcgKzg1MSw3IEBACiAiXG4iCiAixJBhbmcgY+G6pXAgcGjDoXQgY8OhYyBrw70gaGnhu4d1IGTDuW5nIGNodW5nXG4iCiAKLSM6IGxkbGFuZy5jOjUyNjYKKyM6IGxkbGFuZy5jOjU1NjgKIG1zZ2lkICIiCiAiQ29tbW9uIHN5bWJvbCAgICAgICBzaXplICAgICAgICAgICAgICBmaWxlXG4iCiAiXG4iCkBAIC04NDksMTU2ICs4NTksMTYwIEBACiAiS8O9IGhp4buHdSBjaHVuZyAgICAgIGvDrWNoIGPhu6EgICAgICAgdOG6rXAgdGluXG4iCiAiXG4iCiAKLSM6IGxkbGFuZy5jOjU0MDEKKyM6IGxkbGFuZy5jOjU3MDEKIG1zZ2lkICIlUCVGOiBpbnZhbGlkIHN5bnRheCBpbiBmbGFnc1xuIgogbXNnc3RyICIlUCVGOiBjw7ogcGjDoXAga2jDtG5nIGjhu6NwIGzhu4cgdHJvbmcgY8OhYyBj4budXG4iCiAKICMgVHlwZTogZXJyb3IKICMgRGVzY3JpcHRpb24KLSM6IGxkbGFuZy5jOjU3MTQKKyM6IGxkbGFuZy5jOjYwNjkKIG1zZ2lkICIlUCVGOiBGYWlsZWQgdG8gY3JlYXRlIGhhc2ggdGFibGVcbiIKIG1zZ3N0ciAiJVAlRjogbOG7l2kgdOG6oW8gYuG6o25nIGLEg21cbiIKIAotIzogbGRsYW5nLmM6NjAwOQorIzogbGRsYW5nLmM6NjM3MAogbXNnaWQgIiVQJUY6IG11bHRpcGxlIFNUQVJUVVAgZmlsZXNcbiIKIG1zZ3N0ciAiJVAlRjogY8OzIG5oaeG7gXUgdOG6rXAgdGluIFNUQVJUVVAgKGto4bufaSBjaOG6oXkpXG4iCiAKLSM6IGxkbGFuZy5jOjYwNTcKKyM6IGxkbGFuZy5jOjY0MTgKIG1zZ2lkICIlWCVQOiVTOiBzZWN0aW9uIGhhcyBib3RoIGEgbG9hZCBhZGRyZXNzIGFuZCBhIGxvYWQgcmVnaW9uXG4iCiBtc2dzdHIgIiVYJVA6JVM6IHBo4bqnbiBjw7MgY+G6oyBoYWkgxJHhu4thIGNo4buJIG7huqFwIHbDoCB2w7luZyBu4bqhcFxuIgogCi0jOiBsZGxhbmcuYzo2MzE0CisjOiBsZGxhbmcuYzo2NjUyCittc2dpZCAiJUYlUDogbm8gc2VjdGlvbnMgYXNzaWduZWQgdG8gcGhkcnNcbiIKK21zZ3N0ciAiJUYlUDogY2jGsGEgZ8OhbiBwaOG6p24gY2hvIHBoZGlyc1xuIgorCisjOiBsZGxhbmcuYzo2Njg5CiBtc2dpZCAiJUYlUDogYmZkX3JlY29yZF9waGRyIGZhaWxlZDogJUVcbiIKIG1zZ3N0ciAiJUYlUDogwqsgYmZkX3JlY29yZF9waGRyIMK7IGLhu4sgbOG7l2k6ICVFXG4iCiAKLSM6IGxkbGFuZy5jOjYzMzQKKyM6IGxkbGFuZy5jOjY3MDkKIG1zZ2lkICIlWCVQOiBzZWN0aW9uIGAlcycgYXNzaWduZWQgdG8gbm9uLWV4aXN0ZW50IHBoZHIgYCVzJ1xuIgogbXNnc3RyICIlWCVQOiBwaOG6p24gwqsgJXMgwrsgxJHGsOG7o2MgZ8OhbiBjaG8gcGhkciBraMO0bmcgdOG7k24gdOG6oWkgwqsgJXMgwrtcbiIKIAotIzogbGRsYW5nLmM6NjcyNQorIzogbGRsYW5nLmM6NzEwMAogbXNnaWQgIiVYJVA6IHVua25vd24gbGFuZ3VhZ2UgYCVzJyBpbiB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCiBtc2dzdHIgIiVYJVA6IGfhurdwIG5nw7RuIG5n4buvIGzhuqEgwqsgJXMgwrsgdHJvbmcgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o25cbiIKIAotIzogbGRsYW5nLmM6Njg2NworIzogbGRsYW5nLmM6NzI0MgogbXNnaWQgIiVYJVA6IGFub255bW91cyB2ZXJzaW9uIHRhZyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB2ZXJzaW9uIHRhZ3NcbiIKIG1zZ3N0ciAiJVglUDogdGjhursgcGhpw6puIGLhuqNuIHbDtCBkYW5oIGtow7RuZyBr4bq/dCBo4bujcCDEkcaw4bujYyB24bubaSB0aOG6uyBwaGnDqm4gYuG6o24ga2jDoWNcbiIKIAotIzogbGRsYW5nLmM6Njg3NgorIzogbGRsYW5nLmM6NzI1MQogbXNnaWQgIiVYJVA6IGR1cGxpY2F0ZSB2ZXJzaW9uIHRhZyBgJXMnXG4iCiBtc2dzdHIgIiVYJVA6IHRo4bq7IHBoacOqbiBi4bqjbiB0csO5bmcgwqsgJXMgwrtcbiIKIAotIzogbGRsYW5nLmM6Njg5NiBsZGxhbmcuYzo2OTA1IGxkbGFuZy5jOjY5MjIgbGRsYW5nLmM6NjkzMgorIzogbGRsYW5nLmM6NzI3MSBsZGxhbmcuYzo3MjgwIGxkbGFuZy5jOjcyOTcgbGRsYW5nLmM6NzMwNwogbXNnaWQgIiVYJVA6IGR1cGxpY2F0ZSBleHByZXNzaW9uIGAlcycgaW4gdmVyc2lvbiBpbmZvcm1hdGlvblxuIgogbXNnc3RyICIlWCVQOiBiaeG7g3UgdGjhu6ljIHRyw7luZyDCqyAlcyDCuyB0cm9uZyB0aMO0bmcgdGluIHBoacOqbiBi4bqjblxuIgogCi0jOiBsZGxhbmcuYzo2OTcyCisjOiBsZGxhbmcuYzo3MzQ3CiBtc2dpZCAiJVglUDogdW5hYmxlIHRvIGZpbmQgdmVyc2lvbiBkZXBlbmRlbmN5IGAlcydcbiIKIG1zZ3N0ciAiJVglUDoga2jDtG5nIHTDrG0gdGjhuqV5IHF1YW4gaOG7hyBwaOG7pSB0aHXhu5ljIGPhu6dhIHBoacOqbiBi4bqjbiDCqyAlcyDCu1xuIgogCi0jOiBsZGxhbmcuYzo2OTk0CisjOiBsZGxhbmcuYzo3MzY5CiBtc2dpZCAiJVglUDogdW5hYmxlIHRvIHJlYWQgLmV4cG9ydHMgc2VjdGlvbiBjb250ZW50c1xuIgogbXNnc3RyICIlWCVQOiBraMO0bmcgdGjhu4MgxJHhu41jIG7hu5lpIGR1bmcgY+G7p2EgcGjhuqduIMKrIC5leHBvcnRzIMK7ICh4deG6pXQga2jhuql1KVxuIgogCi0jOiBsZG1haW4uYzoyMzQKKyM6IGxkbWFpbi5jOjIzMwogbXNnaWQgIiVYJVA6IGNhbid0IHNldCBCRkQgZGVmYXVsdCB0YXJnZXQgdG8gYCVzJzogJUVcbiIKIG1zZ3N0ciAiJVglUDoga2jDtG5nIHRo4buDIMSR4bq3dCDEkcOtY2ggbeG6t2MgxJHhu4tuaCBCRkQgdGjDoG5oIMKrICVzIMK7OiAlRVxuIgogCi0jOiBsZG1haW4uYzoyOTgKKyM6IGxkbWFpbi5jOjI5NgogbXNnaWQgIiVQJUY6IC0tcmVsYXggYW5kIC1yIG1heSBub3QgYmUgdXNlZCB0b2dldGhlclxuIgogbXNnc3RyICIlUCVGOiBraMO0bmcgY2hvIHBow6lwIHPhu60gZOG7pW5nIMSR4buTbmcgdGjhu51pIGhhaSB0w7l5IGNo4buNbiDCqyAtLXJlbGF4IMK7IChsxqFpIHJhKSB2w6AgwqsgLXIgwrtcbiIKIAotIzogbGRtYWluLmM6MzAwCisjOiBsZG1haW4uYzoyOTgKIG1zZ2lkICIlUCVGOiAtciBhbmQgLXNoYXJlZCBtYXkgbm90IGJlIHVzZWQgdG9nZXRoZXJcbiIKIG1zZ3N0ciAiJVAlRjoga2jDtG5nIHRo4buDIHPhu60gZOG7pW5nIMSR4buTbmcgdGjhu51pIGhhaSB0w7l5IGNo4buNbiDCqyAtciDCuyB2w6AgwqsgLXNoYXJlZCDCuyAoZMO5bmcgY2h1bmcpXG4iCiAKLSM6IGxkbWFpbi5jOjM0MworIzogbGRtYWluLmM6MzQxCiBtc2dpZCAiJVAlRjogLUYgbWF5IG5vdCBiZSB1c2VkIHdpdGhvdXQgLXNoYXJlZFxuIgogbXNnc3RyICIlUCVGOiBraMO0bmcgdGjhu4Mgc+G7rSBk4bulbmcgdMO5eSBjaOG7jW4gwqsgLUYgwrsga2hpIGtow7RuZyBjxaluZyBjw7MgdMO5eSBjaOG7jW4gwqsgLXNoYXJlZCDCuyAoZMO5bmcgY2h1bmcpXG4iCiAKLSM6IGxkbWFpbi5jOjM0NQorIzogbGRtYWluLmM6MzQzCiBtc2dpZCAiJVAlRjogLWYgbWF5IG5vdCBiZSB1c2VkIHdpdGhvdXQgLXNoYXJlZFxuIgogbXNnc3RyICIlUCVGOiBraMO0bmcgdGjhu4Mgc+G7rSBk4bulbmcgdMO5eSBjaOG7jW4gwqsgLWYgwrsga2hpIGtow7RuZyBjw7MgdMO5eSBjaOG7jW4gwqsgLXNoYXJlZCDCuyAoZMO5bmcgY2h1bmcpXG4iCiAKLSM6IGxkbWFpbi5jOjM5NworIzogbGRtYWluLmM6MzkxCiBtc2dpZCAidXNpbmcgZXh0ZXJuYWwgbGlua2VyIHNjcmlwdDoiCiBtc2dzdHIgIsSRYW5nIGTDuW5nIHbEg24gbOG7h25oIGxpw6puIGvhur90IGLDqm4gbmdvw6BpOiIKIAotIzogbGRtYWluLmM6Mzk5CisjOiBsZG1haW4uYzozOTMKIG1zZ2lkICJ1c2luZyBpbnRlcm5hbCBsaW5rZXIgc2NyaXB0OiIKIG1zZ3N0ciAixJFhbmcgZMO5bmcgdsSDbiBs4buHbmggbGnDqm4ga+G6v3QgYsOqbiB0cm9uZzoiCiAKLSM6IGxkbWFpbi5jOjQzMworIzogbGRtYWluLmM6NDI3CiBtc2dpZCAiJVAlRjogbm8gaW5wdXQgZmlsZXNcbiIKIG1zZ3N0ciAiJVAlRjoga2jDtG5nIGPDsyB04bqtcCB0aW4gbmjhuq1wIHbDoG9cbiIKIAotIzogbGRtYWluLmM6NDM3CisjOiBsZG1haW4uYzo0MzEKIG1zZ2lkICIlUDogbW9kZSAlc1xuIgogbXNnc3RyICIlUDogY2jhur8gxJHhu5kgJXNcbiIKIAotIzogbGRtYWluLmM6NDUzCisjOiBsZG1haW4uYzo0NDcKIG1zZ2lkICIlUCVGOiBjYW5ub3Qgb3BlbiBtYXAgZmlsZSAlczogJUVcbiIKIG1zZ3N0ciAiJVAlRjoga2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIHPGoSDEkeG7kyAlczogJUVcbiIKIAotIzogbGRtYWluLmM6NDg1CisjOiBsZG1haW4uYzo0NzkKIG1zZ2lkICIlUDogbGluayBlcnJvcnMgZm91bmQsIGRlbGV0aW5nIGV4ZWN1dGFibGUgYCVzJ1xuIgogbXNnc3RyICIlUDogZ+G6t3AgbOG7l2kgbGnDqm4ga+G6v3QgbsOqbiB4b8OhIHThuq1wIHRpbiBjw7Mga2jhuqMgbsSDbmcgdGjhu7FjIGhp4buHbiDCqyAlcyDCu1xuIgogCi0jOiBsZG1haW4uYzo0OTQKKyM6IGxkbWFpbi5jOjQ4OAogbXNnaWQgIiVGJUI6IGZpbmFsIGNsb3NlIGZhaWxlZDogJUVcbiIKIG1zZ3N0ciAiJUYlQjogbOG7l2kgxJHDs25nIGN14buRaSBjw7luZzogJUVcbiIKIAotIzogbGRtYWluLmM6NTIwCisjOiBsZG1haW4uYzo1MTQKIG1zZ2lkICIlWCVQOiB1bmFibGUgdG8gb3BlbiBmb3Igc291cmNlIG9mIGNvcHkgYCVzJ1xuIgogbXNnc3RyICIlWCVQOiBraMO0bmcgdGjhu4MgbeG7nyBjaG8gbmd14buTbiBj4bunYSBi4bqjbiBzYW8gwqsgJXMgwrtcbiIKIAotIzogbGRtYWluLmM6NTIzCisjOiBsZG1haW4uYzo1MTcKIG1zZ2lkICIlWCVQOiB1bmFibGUgdG8gb3BlbiBmb3IgZGVzdGluYXRpb24gb2YgY29weSBgJXMnXG4iCiBtc2dzdHIgIiVYJVA6IGtow7RuZyB0aOG7gyBt4bufIGNobyDEkcOtY2ggY+G7p2EgYuG6o24gc2FvIMKrICVzIMK7XG4iCiAKLSM6IGxkbWFpbi5jOjUzMAorIzogbGRtYWluLmM6NTI0CiBtc2dpZCAiJVA6IEVycm9yIHdyaXRpbmcgZmlsZSBgJXMnXG4iCiBtc2dzdHIgIiVQOiBn4bq3cCBs4buXaSBraGkgZ2hpIHThuq1wIHRpbiDCqyAlcyDCu1xuIgogCi0jOiBsZG1haW4uYzo1MzUgcGUtZGxsLmM6MTU3MgorIzogbGRtYWluLmM6NTI5IHBlLWRsbC5jOjE2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJVA6IEVycm9yIGNsb3NpbmcgZmlsZSBgJXMnXG4iCiBtc2dzdHIgIiVQOiBn4bq3cCBs4buXaSBraGkgxJHDs25nIHThuq1wIHRpbiDCqyAlcyDCu1xuIgogCi0jOiBsZG1haW4uYzo1NTEKKyM6IGxkbWFpbi5jOjU0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdG90YWwgdGltZSBpbiBsaW5rOiAlbGQuJTA2bGRcbiIKIG1zZ3N0ciAiJXM6IHThu5VuZyB0aOG7nWkgZ2lhbiB0cm9uZyBsacOqbiBr4bq/dDogJWxkLiUwNmxkXG4iCiAKLSM6IGxkbWFpbi5jOjU1NAorIzogbGRtYWluLmM6NTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkYXRhIHNpemUgJWxkXG4iCiBtc2dzdHIgIiVzOiBrw61jaCBj4buhIGThu68gbGnhu4d1ICVsZFxuIgogCi0jOiBsZG1haW4uYzo2MzcKKyM6IGxkbWFpbi5jOjYzMQogbXNnaWQgIiVQJUY6IG1pc3NpbmcgYXJndW1lbnQgdG8gLW1cbiIKIG1zZ3N0ciAiJVAlRjogdGhp4bq/dSDEkeG7kWkgc+G7kSB04bubaSDCqyAtbSDCu1xuIgogCi0jOiBsZG1haW4uYzo3ODQgbGRtYWluLmM6ODAzIGxkbWFpbi5jOjgzNAorIzogbGRtYWluLmM6Njc4IGxkbWFpbi5jOjY5NyBsZG1haW4uYzo3MjgKIG1zZ2lkICIlUCVGOiBiZmRfaGFzaF90YWJsZV9pbml0IGZhaWxlZDogJUVcbiIKIG1zZ3N0ciAiJVAlRjogwqsgYmZkX2hhc2hfdGFibGVfaW5pdCDCuyBi4buLIGzhu5dpOiAlRVxuIgogCi0jOiBsZG1haW4uYzo3ODggbGRtYWluLmM6ODA3CisjOiBsZG1haW4uYzo2ODIgbGRtYWluLmM6NzAxCiBtc2dpZCAiJVAlRjogYmZkX2hhc2hfbG9va3VwIGZhaWxlZDogJUVcbiIKIG1zZ3N0ciAiJVAlRjogwqsgYmZkX2hhc2hfbG9va3VwIMK7IGLhu4sgbOG7l2k6ICVFXG4iCiAKLSM6IGxkbWFpbi5jOjgyMQorIzogbGRtYWluLmM6NzE1CiBtc2dpZCAiJVglUDogZXJyb3I6IGR1cGxpY2F0ZSByZXRhaW4tc3ltYm9scy1maWxlXG4iCiBtc2dzdHIgIiVYJVA6IGzhu5dpOiDCqyByZXRhaW4tc3ltYm9scy1maWxlIMK7IChnaeG7ryBs4bqhaSB04bqtcCB0aW4ga8O9IGhp4buHdSkgdHLDuW5nXG4iCiAKLSM6IGxkbWFpbi5jOjg2NAorIzogbGRtYWluLmM6NzU4CiBtc2dpZCAiJVAlRjogYmZkX2hhc2hfbG9va3VwIGZvciBpbnNlcnRpb24gZmFpbGVkOiAlRVxuIgogbXNnc3RyICIlUCVGOiBs4buXaSDCqyBiZmRfaGFzaF9sb29rdXAgwrsgxJHhu4MgY2jDqG46ICVFXG4iCiAKLSM6IGxkbWFpbi5jOjg2OQorIzogbGRtYWluLmM6NzYzCiBtc2dpZCAiJVA6IGAtcmV0YWluLXN5bWJvbHMtZmlsZScgb3ZlcnJpZGVzIGAtcycgYW5kIGAtUydcbiIKIG1zZ3N0ciAiJVA6IHTDuXkgY2jhu41uIMKrIC1yZXRhaW4tc3ltYm9scy1maWxlIMK7IChnaeG7ryBs4bqhaSB04bqtcCB0aW4ga8O9IGhp4buHdSkgY8OzIHF1eeG7gW4gY2FvIGjGoW4gwqsgLXMgwrsgdsOgIMKrIC1TIMK7XG4iCiAKLSM6IGxkbWFpbi5jOjk0NAorIzogbGRtYWluLmM6ODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBcmNoaXZlIG1lbWJlciBpbmNsdWRlZCBiZWNhdXNlIG9mIGZpbGUgKHN5bWJvbClcbiIKQEAgLTEwMDcsMTMzICsxMDIxLDEzMyBAQAogIkfhu5NtIGLhu5kgcGjhuqFuIGtobyBkbyB04bqtcCB0aW4gKGvDvSBoaeG7h3UpXG4iCiAiXG4iCiAKLSM6IGxkbWFpbi5jOjEwMTQKKyM6IGxkbWFpbi5jOjg5NwogbXNnaWQgIiVYJUM6IG11bHRpcGxlIGRlZmluaXRpb24gb2YgYCVUJ1xuIgogbXNnc3RyICIlWCVDOiB4w6FjIMSR4buLbmggbmhp4buBdSBs4bqnbiDCqyAlVCDCu1xuIgogCi0jOiBsZG1haW4uYzoxMDE3CisjOiBsZG1haW4uYzo5MDAKIG1zZ2lkICIlRDogZmlyc3QgZGVmaW5lZCBoZXJlXG4iCiBtc2dzdHIgIiVEOiB4w6FjIMSR4buLbmggbOG6p24gxJHhuqd1IOG7nyDEkcOieVxuIgogCi0jOiBsZG1haW4uYzoxMDIxCisjOiBsZG1haW4uYzo5MDQKIG1zZ2lkICIlUDogRGlzYWJsaW5nIHJlbGF4YXRpb246IGl0IHdpbGwgbm90IHdvcmsgd2l0aCBtdWx0aXBsZSBkZWZpbml0aW9uc1xuIgogbXNnc3RyICIlUDogxJFhbmcgdOG6r3Qga2jhuqMgbsSDbmcgbMahaSByYTogbsOzIHPhur0ga2jDtG5nIGhv4bqhdCDEkeG7mW5nIHbhu5tpIG5oaeG7gXUgbOG7nWkgeMOhYyDEkeG7i25oXG4iCiAKLSM6IGxkbWFpbi5jOjEwNTEKKyM6IGxkbWFpbi5jOjkzNAogbXNnaWQgIiVCOiB3YXJuaW5nOiBkZWZpbml0aW9uIG9mIGAlVCcgb3ZlcnJpZGluZyBjb21tb25cbiIKIG1zZ3N0ciAiJUI6IGPhuqNuaCBiw6FvIDogbOG7nWkgeMOhYyDEkeG7i25oIMKrICVUIMK7IMSRw6ggbMOqbiBz4buxIGTDuW5nIGNodW5nXG4iCiAKLSM6IGxkbWFpbi5jOjEwNTQKKyM6IGxkbWFpbi5jOjkzNwogbXNnaWQgIiVCOiB3YXJuaW5nOiBjb21tb24gaXMgaGVyZVxuIgogbXNnc3RyICIlQjogY+G6o25oIGLDoW8gOiBz4buxIGTDuW5nIGNodW5nIOG7nyDEkcOieVxuIgogCi0jOiBsZG1haW4uYzoxMDYxCisjOiBsZG1haW4uYzo5NDQKIG1zZ2lkICIlQjogd2FybmluZzogY29tbW9uIG9mIGAlVCcgb3ZlcnJpZGRlbiBieSBkZWZpbml0aW9uXG4iCiBtc2dzdHIgIiVCOiBj4bqjbmggYsOhbyA6IHPhu7EgZMO5bmcgY2h1bmcgY+G7p2EgwqsgJVQgwrsgYuG7iyDEkcOoIGLhu59pIGzhu59pIHjDoWMgxJHhu4tuaFxuIgogCi0jOiBsZG1haW4uYzoxMDY0CisjOiBsZG1haW4uYzo5NDcKIG1zZ2lkICIlQjogd2FybmluZzogZGVmaW5lZCBoZXJlXG4iCiBtc2dzdHIgIiVCOiBj4bqjbmggYsOhbyA6IMSRw6MgeMOhYyDEkeG7i25oIOG7nyDEkcOieVxuIgogCi0jOiBsZG1haW4uYzoxMDcxCisjOiBsZG1haW4uYzo5NTQKIG1zZ2lkICIlQjogd2FybmluZzogY29tbW9uIG9mIGAlVCcgb3ZlcnJpZGRlbiBieSBsYXJnZXIgY29tbW9uXG4iCiBtc2dzdHIgIiVCOiBj4bqjbmggYsOhbyA6IHPhu7EgZMO5bmcgY2h1bmcgY+G7p2EgwqsgJVQgwrsgYuG7iyDEkcOoIGLhu59pIHPhu7EgZMO5bmcgY2h1bmcgbOG7m24gaMahblxuIgogCi0jOiBsZG1haW4uYzoxMDc0CisjOiBsZG1haW4uYzo5NTcKIG1zZ2lkICIlQjogd2FybmluZzogbGFyZ2VyIGNvbW1vbiBpcyBoZXJlXG4iCiBtc2dzdHIgIiVCOiBj4bqjbmggYsOhbyA6IHPhu7EgZMO5bmcgY2h1bmcgbOG7m24gaMahbiDhu58gxJHDonlcbiIKIAotIzogbGRtYWluLmM6MTA3OAorIzogbGRtYWluLmM6OTYxCiBtc2dpZCAiJUI6IHdhcm5pbmc6IGNvbW1vbiBvZiBgJVQnIG92ZXJyaWRpbmcgc21hbGxlciBjb21tb25cbiIKIG1zZ3N0ciAiJUI6IGPhuqNuaCBiw6FvIDogc+G7sSBkw7luZyBjaHVuZyBj4bunYSDCqyAlVCDCuyDEkcOoIHPhu7EgZMO5bmcgY2h1bmcgbmjhu48gaMahblxuIgogCi0jOiBsZG1haW4uYzoxMDgxCisjOiBsZG1haW4uYzo5NjQKIG1zZ2lkICIlQjogd2FybmluZzogc21hbGxlciBjb21tb24gaXMgaGVyZVxuIgogbXNnc3RyICIlQjogY+G6o25oIGLDoW8gOiBz4buxIGTDuW5nIGNodW5nIG5o4buPIGjGoW4g4bufIMSRw6J5XG4iCiAKLSM6IGxkbWFpbi5jOjEwODUKKyM6IGxkbWFpbi5jOjk2OAogbXNnaWQgIiVCOiB3YXJuaW5nOiBtdWx0aXBsZSBjb21tb24gb2YgYCVUJ1xuIgogbXNnc3RyICIlQjogY+G6o25oIGLDoW8gOiBjw7Mgbmhp4buBdSBz4buxIGTDuW5nIGNodW5nIGPhu6dhIMKrICVUIMK7XG4iCiAKLSM6IGxkbWFpbi5jOjEwODcKKyM6IGxkbWFpbi5jOjk3MAogbXNnaWQgIiVCOiB3YXJuaW5nOiBwcmV2aW91cyBjb21tb24gaXMgaGVyZVxuIgogbXNnc3RyICIlQjogY+G6o25oIGLDoW8gOiBz4buxIGTDuW5nIGNodW5nIHRyxrDhu5tjIOG7nyDEkcOieVxuIgogCi0jOiBsZG1haW4uYzoxMTA3IGxkbWFpbi5jOjExNDUKKyM6IGxkbWFpbi5jOjk5MCBsZG1haW4uYzoxMDI4CiBtc2dpZCAiJVA6IHdhcm5pbmc6IGdsb2JhbCBjb25zdHJ1Y3RvciAlcyB1c2VkXG4iCiBtc2dzdHIgIiVQOiBj4bqjbmggYsOhbyA6IGTDuW5nIGLhu5kgY+G6pXUgdHLDumMgdG/DoG4gY+G7pWMgJXNcbiIKIAotIzogbGRtYWluLmM6MTE1NQorIzogbGRtYWluLmM6MTAzOAogbXNnaWQgIiVQJUY6IEJGRCBiYWNrZW5kIGVycm9yOiBCRkRfUkVMT0NfQ1RPUiB1bnN1cHBvcnRlZFxuIgogbXNnc3RyICIlUCVGOiBs4buXaSBo4bqtdSBwaMawxqFuZyBCRkQ6IMKrIEJGRF9SRUxPQ19DVE9SIMK7IGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujXG4iCiAKICMuIFdlIGZvdW5kIGEgcmVsb2MgZm9yIHRoZSBzeW1ib2wgd2UgYXJlIGxvb2tpbmcgZm9yLgotIzogbGRtYWluLmM6MTIwOSBsZG1haW4uYzoxMjExIGxkbWFpbi5jOjEyMTMgbGRtYWluLmM6MTI1MSBsZG1haW4uYzoxMjk5CisjOiBsZG1haW4uYzoxMDkyIGxkbWFpbi5jOjEwOTQgbGRtYWluLmM6MTA5NiBsZG1haW4uYzoxMTE0IGxkbWFpbi5jOjExNTkKIG1zZ2lkICJ3YXJuaW5nOiAiCiBtc2dzdHIgImPhuqNuaCBiw6FvIDogIgogCi0jOiBsZG1haW4uYzoxMzM0CisjOiBsZG1haW4uYzoxMTk0CiBtc2dpZCAiJUYlUDogYmZkX2hhc2hfdGFibGVfaW5pdCBmYWlsZWQ6ICVFXG4iCiBtc2dzdHIgIiVGJVA6IMKrIGJmZF9oYXNoX3RhYmxlX2luaXQgwrsgYuG7iyBs4buXaTogJUVcbiIKIAotIzogbGRtYWluLmM6MTM0MQorIzogbGRtYWluLmM6MTIwMQogbXNnaWQgIiVGJVA6IGJmZF9oYXNoX2xvb2t1cCBmYWlsZWQ6ICVFXG4iCiBtc2dzdHIgIiVGJVA6IMKrIGJmZF9oYXNoX2xvb2t1cCDCuyBi4buLIGzhu5dpOiAlRVxuIgogCi0jOiBsZG1haW4uYzoxMzYyCisjOiBsZG1haW4uYzoxMjIyCiBtc2dpZCAiJVglQzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgJVQnXG4iCiBtc2dzdHIgIiVYJUM6IHRoYW0gY2hp4bq/dSDEkeG6v24gwqsgJVQgwrsgY2jGsGEgeMOhYyDEkeG7i25oXG4iCiAKLSM6IGxkbWFpbi5jOjEzNjUKKyM6IGxkbWFpbi5jOjEyMjUKIG1zZ2lkICIlQzogd2FybmluZzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgJVQnXG4iCiBtc2dzdHIgIiVDOiBj4bqjbmggYsOhbyA6IHRoYW0gY2hp4bq/dSDEkeG6v24gwqsgJVQgwrsgY2jGsGEgeMOhYyDEkeG7i25oXG4iCiAKLSM6IGxkbWFpbi5jOjEzNzEKKyM6IGxkbWFpbi5jOjEyMzEKIG1zZ2lkICIlWCVEOiBtb3JlIHVuZGVmaW5lZCByZWZlcmVuY2VzIHRvIGAlVCcgZm9sbG93XG4iCiBtc2dzdHIgIiVYJUQ6IHRoZW8gxJHDonkgY8OzIGPDoWMgdGhhbSBjaGnhur91IMSR4bq/biDCqyAlVCDCuyBjaMawYSB4w6FjIMSR4buLbmggdGjDqm0gbuG7r2FcbiIKIAotIzogbGRtYWluLmM6MTM3NAorIzogbGRtYWluLmM6MTIzNAogbXNnaWQgIiVEOiB3YXJuaW5nOiBtb3JlIHVuZGVmaW5lZCByZWZlcmVuY2VzIHRvIGAlVCcgZm9sbG93XG4iCiBtc2dzdHIgIiVEOiBj4bqjbmggYsOhbyA6IHRoZW8gxJHDonkgY8OzIGPDoWMgdGhhbSBjaGnhur91IMSR4bq/biDCqyAlVCDCuyBjaMawYSB4w6FjIMSR4buLbmggdGjDqm0gbuG7r2FcbiIKIAotIzogbGRtYWluLmM6MTM4NQorIzogbGRtYWluLmM6MTI0NQogbXNnaWQgIiVYJUI6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYCVUJ1xuIgogbXNnc3RyICIlWCVCOiB0aGFtIGNoaeG6v3UgxJHhur9uIMKrICVUIMK7IGNoxrBhIHjDoWMgxJHhu4tuaFxuIgogCi0jOiBsZG1haW4uYzoxMzg4CisjOiBsZG1haW4uYzoxMjQ4CiBtc2dpZCAiJUI6IHdhcm5pbmc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYCVUJ1xuIgogbXNnc3RyICIlQjogY+G6o25oIGLDoW8gOiB0aGFtIGNoaeG6v3UgxJHhur9uIMKrICVUIMK7IGNoxrBhIHjDoWMgxJHhu4tuaFxuIgogCi0jOiBsZG1haW4uYzoxMzk0CisjOiBsZG1haW4uYzoxMjU0CiBtc2dpZCAiJVglQjogbW9yZSB1bmRlZmluZWQgcmVmZXJlbmNlcyB0byBgJVQnIGZvbGxvd1xuIgogbXNnc3RyICIlWCVCOiB0aGVvIMSRw6J5IGPDsyBjw6FjIHRoYW0gY2hp4bq/dSDEkeG6v24gwqsgJVQgwrsgY2jGsGEgeMOhYyDEkeG7i25oIHRow6ptIG7hu69hXG4iCiAKLSM6IGxkbWFpbi5jOjEzOTcKKyM6IGxkbWFpbi5jOjEyNTcKIG1zZ2lkICIlQjogd2FybmluZzogbW9yZSB1bmRlZmluZWQgcmVmZXJlbmNlcyB0byBgJVQnIGZvbGxvd1xuIgogbXNnc3RyICIlQjogY+G6o25oIGLDoW8gOiB0aGVvIMSRw6J5IGPDsyBjw6FjIHRoYW0gY2hp4bq/dSDEkeG6v24gwqsgJVQgwrsgY2jGsGEgeMOhYyDEkeG7i25oIHRow6ptIG7hu69hXG4iCiAKLSM6IGxkbWFpbi5jOjE0MzYKKyM6IGxkbWFpbi5jOjEyOTYKIG1zZ2lkICIgYWRkaXRpb25hbCByZWxvY2F0aW9uIG92ZXJmbG93cyBvbWl0dGVkIGZyb20gdGhlIG91dHB1dFxuIgogbXNnc3RyICJjw6FjIHPhu7EgdHLDoG4gxJHhu4tuaCB24buLIGzhuqFpIHRow6ptIG7hu69hIGLhu4sgYuG7jyDEkWkga2jhu49pIGvhur90IHh14bqldFxuIgogCi0jOiBsZG1haW4uYzoxNDQ5CisjOiBsZG1haW4uYzoxMzA5CiBtc2dpZCAiIHJlbG9jYXRpb24gdHJ1bmNhdGVkIHRvIGZpdDogJXMgYWdhaW5zdCB1bmRlZmluZWQgc3ltYm9sIGAlVCciCiBtc2dzdHIgIiBz4buxIMSR4buLbmggduG7iyBs4bqhaSBi4buLIGPhuq90IG5n4bqvbiDEkeG7gyB24burYTogJXMgc28gduG7m2kga8O9IGhp4buHdSBjaMawYSB4w6FjIMSR4buLbmggwqsgJVQgwrsiCiAKLSM6IGxkbWFpbi5jOjE0NTQKKyM6IGxkbWFpbi5jOjEzMTQKIG1zZ2lkICIgcmVsb2NhdGlvbiB0cnVuY2F0ZWQgdG8gZml0OiAlcyBhZ2FpbnN0IHN5bWJvbCBgJVQnIGRlZmluZWQgaW4gJUEgc2VjdGlvbiBpbiAlQiIKIG1zZ3N0ciAiIHPhu7EgxJHhu4tuaCB24buLIGzhuqFpIGLhu4sgY+G6r3Qgbmfhuq9uIMSR4buDIHbhu6thOiAlcyBzbyB24bubaSBrw70gaGnhu4d1IMKrICVUIMK7IMSRw6MgeMOhYyDEkeG7i25oIHRyb25nIHBo4bqnbiAlQSB0cm9uZyAlQiIKIAotIzogbGRtYWluLmM6MTQ2NgorIzogbGRtYWluLmM6MTMyNgogbXNnaWQgIiByZWxvY2F0aW9uIHRydW5jYXRlZCB0byBmaXQ6ICVzIGFnYWluc3QgYCVUJyIKIG1zZ3N0ciAiIHPhu7EgxJHhu4tuaCB24buLIGzhuqFpIGLhu4sgY+G6r3Qgbmfhuq9uIMSR4buDIHbhu6thOiAlcyBzbyB24bubaSDCqyAlVCDCuyIKIAotIzogbGRtYWluLmM6MTQ4MworIzogbGRtYWluLmM6MTM0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlWCVDOiBkYW5nZXJvdXMgcmVsb2NhdGlvbjogJXNcbiIKIG1zZ3N0ciAiJVglQzogc+G7sSDEkeG7i25oIHbhu4sgbOG6oWkgbmd1eSBoaeG7g206ICVzXG4iCiAKLSM6IGxkbWFpbi5jOjE0OTgKKyM6IGxkbWFpbi5jOjEzNTgKIG1zZ2lkICIlWCVDOiByZWxvYyByZWZlcnMgdG8gc3ltYm9sIGAlVCcgd2hpY2ggaXMgbm90IGJlaW5nIG91dHB1dFxuIgogbXNnc3RyICIlWCVDOiBz4buxIMSR4buLbmggduG7iyBs4bqhaSB0aGFtIGNoaeG6v3UgxJHhur9uIGvDvSBoaeG7h3UgwqsgJVQgwrsgbcOgIGtow7RuZyDEkWFuZyDEkcaw4bujYyB4deG6pXQgcmFcbiIKIApAQCAtMTE0Nyw3NDMgKzExNjEsNzQ5IEBACiBtc2dpZCAiYnVpbHQgaW4gbGlua2VyIHNjcmlwdDoldSIKIG1zZ3N0ciAidsSDbiBs4buHbmggbGnDqm4ga+G6v3QgY8OzIHPhurVuOiAldSIKIAotIzogbGRtaXNjLmM6MzAxIGxkbWlzYy5jOjMwNQotbXNnaWQgIiVCJUY6IGNvdWxkIG5vdCByZWFkIHN5bWJvbHNcbiIKLW1zZ3N0ciAiJUIlRjoga2jDtG5nIHRo4buDIMSR4buNYyBjw6FjIGvDvSBoaeG7h3VcbiIKLQotIzogbGRtaXNjLmM6MzQ3CisjOiBsZG1pc2MuYzozMjMKIG1zZ2lkICIlQjogSW4gZnVuY3Rpb24gYCVUJzpcbiIKIG1zZ3N0ciAiJUI6IHRyb25nIGjDoG0gwqsgJVQgwrs6XG4iCiAKLSM6IGxkbWlzYy5jOjQ3MgorIzogbGRtaXNjLmM6NDQ1CiBtc2dpZCAiJUYlUDogaW50ZXJuYWwgZXJyb3IgJXMgJWRcbiIKIG1zZ3N0ciAiJUYlUDogbOG7l2kgbuG7mWkgYuG7mSAlcyAlZFxuIgogCi0jOiBsZG1pc2MuYzo1MjEKKyM6IGxkbWlzYy5jOjQ5NAogbXNnaWQgIiVQOiBpbnRlcm5hbCBlcnJvcjogYWJvcnRpbmcgYXQgJXMgbGluZSAlZCBpbiAlc1xuIgogbXNnc3RyICIlUDogbOG7l2kgbuG7mWkgYuG7mSA6IG7Dqm4gaOG7p3kgYuG7jyB04bqhaSAlcyBkw7JuZyAlZCB0cm9uZyAlc1xuIgogCi0jOiBsZG1pc2MuYzo1MjQKKyM6IGxkbWlzYy5jOjQ5NwogbXNnaWQgIiVQOiBpbnRlcm5hbCBlcnJvcjogYWJvcnRpbmcgYXQgJXMgbGluZSAlZFxuIgogbXNnc3RyICIlUDogbOG7l2kgbuG7mWkgYuG7mSA6IG7Dqm4gaOG7p3kgYuG7jyB04bqhaSAlcyBkw7JuZyAlZFxuIgogCi0jOiBsZG1pc2MuYzo1MjYKKyM6IGxkbWlzYy5jOjQ5OQogbXNnaWQgIiVQJUY6IHBsZWFzZSByZXBvcnQgdGhpcyBidWdcbiIKIG1zZ3N0ciAiJVAlRjogaMOjeSB0aMO0bmcgYsOhbyBs4buXaSBuw6B5XG4iCiAKICMuIE91dHB1dCBmb3Igbm9pc3kgPT0gMiBpcyBpbnRlbmRlZCB0byBmb2xsb3cgdGhlIEdOVSBzdGFuZGFyZHMuCi0jOiBsZHZlci5jOjM3CisjOiBsZHZlci5jOjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBsZCAlc1xuIgogbXNnc3RyICJHTlUgbGQgJXNcbiIKIAotIzogbGR2ZXIuYzo0MQorIzogbGR2ZXIuYzo0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3B5cmlnaHQgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIG1zZ3N0ciAiVMOhYyBxdXnhu4FuIMKpIG7Eg20gMjAwNyBj4bunYSBU4buVIGNo4bupYyBQaOG6p24gbeG7gW0gVOG7sSBkby5cbiIKIAotIzogbGR2ZXIuYzo0MgorIzogbGR2ZXIuYzo0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBtYXkgcmVkaXN0cmlidXRlIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZlxuIgotInRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoaXMgcHJvZ3JhbSBoYXMgYWJzb2x1dGVseSBubyB3YXJyYW50eS5cbiIKKyJ0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzIG9yIChhdCB5b3VyIG9wdGlvbikgYSBsYXRlciB2ZXJzaW9uLlxuIgorIlRoaXMgcHJvZ3JhbSBoYXMgYWJzb2x1dGVseSBubyB3YXJyYW50eS5cbiIKIG1zZ3N0ciAiIgogIkNoxrDGoW5nIHRyw6xuaCBuw6B5IGzDoCBwaOG6p24gbeG7gW0gdOG7sSBkbzsgYuG6oW4gY8OzIHRo4buDIHBow6F0IGjDoG5oIGzhuqFpIG7Ds1xuIgotInbhu5tpIMSRaeG7gXUga2nhu4duIGPhu6dhIEdp4bqleSBQaMOpcCBDw7RuZyBD4buZbmcgR05VLlxuIgorInbhu5tpIMSRaeG7gXUga2nhu4duIGPhu6dhIEdp4bqleSBQaMOpcCBDw7RuZyBD4buZbmcgR05VLCBob+G6t2MgcGhpw6puIGLhuqNuIDNcbiIKKyJj4bunYSBHaeG6pXkgUGjDqXAgbsOgeSwgaG/hurdjICh0w7l5IGNo4buNbikgYuG6pXQga+G7syBwaGnDqm4gYuG6o24gc2F1IG7DoG8uXG4iCiAiQ2jGsMahbmcgdHLDrG5oIG7DoHkga2jDtG5nIGLhuqNvIGjDoG5oIGfDrCBj4bqjLlxuIgogCi0jOiBsZHZlci5jOjUxCisjOiBsZHZlci5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgU3VwcG9ydGVkIGVtdWxhdGlvbnM6XG4iCiBtc2dzdHIgIiAgTcO0IHBo4buPbmcgxJHDoyBo4buXIHRy4bujIDpcbiIKIAotIzogbGR3cml0ZS5jOjU1IGxkd3JpdGUuYzoxOTEKKyM6IGxkd3JpdGUuYzo1NiBsZHdyaXRlLmM6MTk2CiBtc2dpZCAiJVAlRjogYmZkX25ld19saW5rX29yZGVyIGZhaWxlZFxuIgogbXNnc3RyICIlUCVGOiDCqyBiZmRfbmV3X2xpbmtfb3JkZXIgwrsgYuG7iyBs4buXaVxuIgogCi0jOiBsZHdyaXRlLmM6MzQ0CisjOiBsZHdyaXRlLmM6MzU0CiBtc2dpZCAiJUYlUDogY2Fubm90IGNyZWF0ZSBzcGxpdCBzZWN0aW9uIG5hbWUgZm9yICVzXG4iCiBtc2dzdHIgIiVGJVA6IGtow7RuZyB0aOG7gyB04bqhbyB0w6puIHBo4bqnbiDEkcOjIHjhursgY2hvICVzXG4iCiAKLSM6IGxkd3JpdGUuYzozNTYKKyM6IGxkd3JpdGUuYzozNjYKIG1zZ2lkICIlRiVQOiBjbG9uZSBzZWN0aW9uIGZhaWxlZDogJUVcbiIKIG1zZ3N0ciAiJUYlUDogbOG7l2kgYuG6r3QgY2jGsOG7m2MgcGjhuqduOiAlRVxuIgogCi0jOiBsZHdyaXRlLmM6Mzk0CisjOiBsZHdyaXRlLmM6NDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiU4eCBzb21ldGhpbmcgZWxzZVxuIgogbXNnc3RyICIlOHggY8OhaSBnw6wga2jDoWNcbiIKIAotIzogbGR3cml0ZS5jOjU2NAorIzogbGR3cml0ZS5jOjU3NAogbXNnaWQgIiVGJVA6IGZpbmFsIGxpbmsgZmFpbGVkOiAlRVxuIgogbXNnc3RyICIlRiVQOiBsacOqbiBr4bq/dCBjdeG7kWkgY8O5bmcgYuG7iyBs4buXaTogJUVcbiIKIAotIzogbGV4c3VwLmM6MjA1IGxleHN1cC5jOjM0MQorIzogbGV4c3VwLmM6MjA2IGxleHN1cC5jOjM0NAogbXNnaWQgIktFWVdPUkQiCiBtc2dzdHIgIlThu6pfS0hPw4EiCiAKLSM6IGxleHN1cC5jOjIwNQorIzogbGV4c3VwLmM6MjA2CiBtc2dpZCAiU2hhcmVkIGxpYnJhcnkgY29udHJvbCBmb3IgSFAvVVggY29tcGF0aWJpbGl0eSIKIG1zZ3N0ciAixJBp4buBdSBraGnhu4NuIHRoxrAgdmnhu4duIGTDuW5nIGNodW5nIMSR4buDIHTGsMahbmcgdGjDrWNoIHbhu5tpIEhQL1VYIgogCi0jOiBsZXhzdXAuYzoyMDgKKyM6IGxleHN1cC5jOjIwOQogbXNnaWQgIkFSQ0giCiBtc2dzdHIgIkFSQ0giCiAKLSM6IGxleHN1cC5jOjIwOAorIzogbGV4c3VwLmM6MjA5CiBtc2dpZCAiU2V0IGFyY2hpdGVjdHVyZSIKIG1zZ3N0ciAixJDhurd0IGtp4bq/biB0csO6YyIKIAotIzogbGV4c3VwLmM6MjEwIGxleHN1cC5jOjQ0NworIzogbGV4c3VwLmM6MjExIGxleHN1cC5jOjQ1NAogbXNnaWQgIlRBUkdFVCIKIG1zZ3N0ciAixJDDjUNIIgogCi0jOiBsZXhzdXAuYzoyMTAKKyM6IGxleHN1cC5jOjIxMQogbXNnaWQgIlNwZWNpZnkgdGFyZ2V0IGZvciBmb2xsb3dpbmcgaW5wdXQgZmlsZXMiCiBtc2dzdHIgIkdoaSByw7UgxJHDrWNoIGNobyBuaOG7r25nIHThuq1wIHRpbiBuaOG6rXAgdGhlbyDEkcOieSIKIAotIzogbGV4c3VwLmM6MjEzIGxleHN1cC5jOjI2MiBsZXhzdXAuYzoyNzQgbGV4c3VwLmM6Mjg3IGxleHN1cC5jOjI4OQotIzogbGV4c3VwLmM6NDAyIGxleHN1cC5jOjQ1OSBsZXhzdXAuYzo1MTYgbGV4c3VwLmM6NTI4CisjOiBsZXhzdXAuYzoyMTQgbGV4c3VwLmM6MjYzIGxleHN1cC5jOjI3NSBsZXhzdXAuYzoyODggbGV4c3VwLmM6MjkwCisjOiBsZXhzdXAuYzo0MDggbGV4c3VwLmM6NDY2IGxleHN1cC5jOjUyNiBsZXhzdXAuYzo1MzkKIG1zZ2lkICJGSUxFIgogbXNnc3RyICJU4bqsUCBUSU4iCiAKLSM6IGxleHN1cC5jOjIxMworIzogbGV4c3VwLmM6MjE0CiBtc2dpZCAiUmVhZCBNUkkgZm9ybWF0IGxpbmtlciBzY3JpcHQiCiBtc2dzdHIgIsSQ4buNYyB2xINuIGzhu4duaCBsacOqbiBr4bq/dCDEkeG7i25oIGThuqFuZyBNUkkiCiAKLSM6IGxleHN1cC5jOjIxNQorIzogbGV4c3VwLmM6MjE2CiBtc2dpZCAiRm9yY2UgY29tbW9uIHN5bWJvbHMgdG8gYmUgZGVmaW5lZCIKIG1zZ3N0ciAiw4lwIGJ14buZYyB4w6FjIMSR4buLbmggY8OhYyBrw70gaGnhu4d1IGTDuW5nIGNodW5nIgogCi0jOiBsZXhzdXAuYzoyMTkgbGV4c3VwLmM6NTAxIGxleHN1cC5jOjUwMyBsZXhzdXAuYzo1MDUKKyM6IGxleHN1cC5jOjIyMCBsZXhzdXAuYzo1MTAgbGV4c3VwLmM6NTEyIGxleHN1cC5jOjUxNAogbXNnaWQgIkFERFJFU1MiCiBtc2dzdHIgIsSQ4buKQSBDSOG7iCIKIAotIzogbGV4c3VwLmM6MjE5CisjOiBsZXhzdXAuYzoyMjAKIG1zZ2lkICJTZXQgc3RhcnQgYWRkcmVzcyIKIG1zZ3N0ciAixJDhurd0IMSR4buLYSBjaOG7iSBi4bqvdCDEkeG6p3UiCiAKLSM6IGxleHN1cC5jOjIyMQorIzogbGV4c3VwLmM6MjIyCiBtc2dpZCAiRXhwb3J0IGFsbCBkeW5hbWljIHN5bWJvbHMiCiBtc2dzdHIgIlh14bqldCBt4buNaSBrw70gaGnhu4d1IMSR4buZbmciCiAKLSM6IGxleHN1cC5jOjIyMworIzogbGV4c3VwLmM6MjI0CiBtc2dpZCAiTGluayBiaWctZW5kaWFuIG9iamVjdHMiCiBtc2dzdHIgIkxpw6puIGvhur90IGPDoWMgxJHhu5FpIHTGsOG7o25nIHbhu4EgY3Xhu5FpIGzhu5tuIgogCi0jOiBsZXhzdXAuYzoyMjUKKyM6IGxleHN1cC5jOjIyNgogbXNnaWQgIkxpbmsgbGl0dGxlLWVuZGlhbiBvYmplY3RzIgogbXNnc3RyICJMacOqbiBr4bq/dCBjw6FjIMSR4buRaSB0xrDhu6NuZyB24buBIGN14buRaSBuaOG7jyIKIAotIzogbGV4c3VwLmM6MjI3IGxleHN1cC5jOjIzMAorIzogbGV4c3VwLmM6MjI4IGxleHN1cC5jOjIzMQogbXNnaWQgIlNITElCIgogbXNnc3RyICJTSExJQiIKIAotIzogbGV4c3VwLmM6MjI3CisjOiBsZXhzdXAuYzoyMjgKIG1zZ2lkICJBdXhpbGlhcnkgZmlsdGVyIGZvciBzaGFyZWQgb2JqZWN0IHN5bWJvbCB0YWJsZSIKIG1zZ3N0ciAiQuG7mSBs4buNYyBi4buVIHN1bmcgY2hvIGLhuqNuZyBrw70gaGnhu4d1IMSR4buRaSB0xrDhu6NuZyBkw7luZyBjaHVuZyIKIAotIzogbGV4c3VwLmM6MjMwCisjOiBsZXhzdXAuYzoyMzEKIG1zZ2lkICJGaWx0ZXIgZm9yIHNoYXJlZCBvYmplY3Qgc3ltYm9sIHRhYmxlIgogbXNnc3RyICJC4buZIGzhu41jIGNobyBi4bqjbmcga8O9IGhp4buHdSDEkeG7kWkgdMaw4bujbmcgZMO5bmcgY2h1bmciCiAKLSM6IGxleHN1cC5jOjIzMworIzogbGV4c3VwLmM6MjM0CiBtc2dpZCAiSWdub3JlZCIKIG1zZ3N0ciAiQuG7iyBi4buPIHF1YSIKIAotIzogbGV4c3VwLmM6MjM1CisjOiBsZXhzdXAuYzoyMzYKIG1zZ2lkICJTSVpFIgogbXNnc3RyICJD4bugIgogCi0jOiBsZXhzdXAuYzoyMzUKKyM6IGxleHN1cC5jOjIzNgogbXNnaWQgIlNtYWxsIGRhdGEgc2l6ZSAoaWYgbm8gc2l6ZSwgc2FtZSBhcyAtLXNoYXJlZCkiCiBtc2dzdHIgIkvDrWNoIGPhu6EgZOG7ryBsaeG7h3Ugbmjhu48gKGtow7RuZyBjw7Mga8OtY2ggY+G7oSB0aMOsIGLhurFuZyB0w7l5IGNo4buNbiDCqyAtLXNoYXJlZCDCuykiCiAKLSM6IGxleHN1cC5jOjIzOAorIzogbGV4c3VwLmM6MjM5CiBtc2dpZCAiRklMRU5BTUUiCiBtc2dzdHIgIlTDik4gVOG6rFAgVElOIgogCi0jOiBsZXhzdXAuYzoyMzgKKyM6IGxleHN1cC5jOjIzOQogbXNnaWQgIlNldCBpbnRlcm5hbCBuYW1lIG9mIHNoYXJlZCBsaWJyYXJ5IgogbXNnc3RyICLEkOG6t3QgdMOqbiBu4buZaSBi4buZIGPhu6dhIHRoxrAgdmnhu4duIGTDuW5nIGNodW5nIgogCi0jOiBsZXhzdXAuYzoyNDAKKyM6IGxleHN1cC5jOjI0MQogbXNnaWQgIlBST0dSQU0iCiBtc2dzdHIgIkNIxq/GoE5HIFRSw4xOSCIKIAotIzogbGV4c3VwLmM6MjQwCisjOiBsZXhzdXAuYzoyNDEKIG1zZ2lkICJTZXQgUFJPR1JBTSBhcyB0aGUgZHluYW1pYyBsaW5rZXIgdG8gdXNlIgogbXNnc3RyICLEkOG6t3QgQ0jGr8agTkcgVFLDjE5IIGzDoCBi4buZIGxpw6puIGvhur90IMSR4buZbmcgY+G6p24gZMO5bmciCiAKLSM6IGxleHN1cC5jOjI0MworIzogbGV4c3VwLmM6MjQ0CiBtc2dpZCAiTElCTkFNRSIKIG1zZ3N0ciAiVMOKTiBUSMavIFZJ4buGTiIKIAotIzogbGV4c3VwLmM6MjQzCisjOiBsZXhzdXAuYzoyNDQKIG1zZ2lkICJTZWFyY2ggZm9yIGxpYnJhcnkgTElCTkFNRSIKIG1zZ3N0ciAiVMOsbSBraeG6v20gdGjGsCB2aeG7h24gVMOKTiBUSMavIFZJ4buGTiIKIAotIzogbGV4c3VwLmM6MjQ1CisjOiBsZXhzdXAuYzoyNDYKIG1zZ2lkICJESVJFQ1RPUlkiCiBtc2dzdHIgIlRIxq8gTeG7pEMiCiAKLSM6IGxleHN1cC5jOjI0NQorIzogbGV4c3VwLmM6MjQ2CiBtc2dpZCAiQWRkIERJUkVDVE9SWSB0byBsaWJyYXJ5IHNlYXJjaCBwYXRoIgogbXNnc3RyICJUaMOqbSBUSMavIE3hu6RDIHbDoG8gxJHGsOG7nW5nIGThuqtuIHTDrG0ga2nhur9tIHRoxrAgdmnhu4duIgogCi0jOiBsZXhzdXAuYzoyNDgKKyM6IGxleHN1cC5jOjI0OQogbXNnaWQgIk92ZXJyaWRlIHRoZSBkZWZhdWx0IHN5c3Jvb3QgbG9jYXRpb24iCiBtc2dzdHIgIsSQw6ggbMOqbiDEkeG7i2EgxJFp4buDbSBzeXNyb290IChn4buRYyBo4buHIHRo4buRbmcpIG3hurdjIMSR4buLbmgiCiAKLSM6IGxleHN1cC5jOjI1MAorIzogbGV4c3VwLmM6MjUxCiBtc2dpZCAiRU1VTEFUSU9OIgogbXNnc3RyICJNw5QgUEjhu45ORyIKIAotIzogbGV4c3VwLmM6MjUwCisjOiBsZXhzdXAuYzoyNTEKIG1zZ2lkICJTZXQgZW11bGF0aW9uIgogbXNnc3RyICLEkOG6t3Qgc+G7sSBtw7QgcGjhu49uZyIKIAotIzogbGV4c3VwLmM6MjUyCisjOiBsZXhzdXAuYzoyNTMKIG1zZ2lkICJQcmludCBtYXAgZmlsZSBvbiBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgIkluIHThuq1wIHRpbiBzxqEgxJHhu5MgcmEgdGhp4bq/dCBi4buLIHh14bqldCBjaHXhuqluIgogCi0jOiBsZXhzdXAuYzoyNTQKKyM6IGxleHN1cC5jOjI1NQogbXNnaWQgIkRvIG5vdCBwYWdlIGFsaWduIGRhdGEiCiBtc2dzdHIgIsSQ4burbmcgY2jhu4luaCBjYW5oIGThu68gbGnhu4d1IHRoZW8gdHJhbmciCiAKLSM6IGxleHN1cC5jOjI1NgorIzogbGV4c3VwLmM6MjU3CiBtc2dpZCAiRG8gbm90IHBhZ2UgYWxpZ24gZGF0YSwgZG8gbm90IG1ha2UgdGV4dCByZWFkb25seSIKIG1zZ3N0ciAixJDhu6tuZyBjaOG7iW5oIGNhbmggZOG7ryBsaeG7h3UgdGhlbyB0cmFuZywgxJHhu6tuZyDEkeG6t3QgdsSDbiBi4bqjbiBsw6AgY2jhu4ktxJHhu41jIgogCi0jOiBsZXhzdXAuYzoyNTkKKyM6IGxleHN1cC5jOjI2MAogbXNnaWQgIlBhZ2UgYWxpZ24gZGF0YSwgbWFrZSB0ZXh0IHJlYWRvbmx5IgogbXNnc3RyICJDaOG7iW5oIGNhbmggZOG7ryBsaeG7h3UgdGhlbyB0cmFuZywgxJHhurd0IHbEg24gYuG6o24gbMOgIGNo4buJLcSR4buNYyIKIAotIzogbGV4c3VwLmM6MjYyCisjOiBsZXhzdXAuYzoyNjMKIG1zZ2lkICJTZXQgb3V0cHV0IGZpbGUgbmFtZSIKIG1zZ3N0ciAixJDhurd0IHTDqm4gdOG6rXAgdGluIHh14bqldCIKIAotIzogbGV4c3VwLmM6MjY0CisjOiBsZXhzdXAuYzoyNjUKIG1zZ2lkICJPcHRpbWl6ZSBvdXRwdXQgZmlsZSIKIG1zZ3N0ciAiVOG7kWkgxrB1IGhvw6EgdOG6rXAgdGluIHh14bqldCIKIAotIzogbGV4c3VwLmM6MjY2CisjOiBsZXhzdXAuYzoyNjcKIG1zZ2lkICJJZ25vcmVkIGZvciBTVlI0IGNvbXBhdGliaWxpdHkiCiBtc2dzdHIgIkLhu4sgYuG7jyBxdWEgxJHhu4MgdMawxqFuZyB0aMOtY2ggduG7m2kgU1ZSNCIKIAotIzogbGV4c3VwLmM6MjcwCisjOiBsZXhzdXAuYzoyNzEKIG1zZ2lkICJHZW5lcmF0ZSByZWxvY2F0YWJsZSBvdXRwdXQiCiBtc2dzdHIgIlThuqFvIHJhIGvhur90IHh14bqldCBjw7MgdGjhu4MgxJHhu4tuaCB24buLIGzhuqFpIgogCi0jOiBsZXhzdXAuYzoyNzQKKyM6IGxleHN1cC5jOjI3NQogbXNnaWQgIkp1c3QgbGluayBzeW1ib2xzIChpZiBkaXJlY3RvcnksIHNhbWUgYXMgLS1ycGF0aCkiCiBtc2dzdHIgIkNo4buJIGxpw6puIGvhur90IGPDoWMga8O9IGhp4buHdSAodGjGsCBt4bulYyB0aMOsIGLhurFuZyB0w7l5IGNo4buNbiDCqyAtLXJwYXRoIMK7KSIKIAotIzogbGV4c3VwLmM6Mjc3CisjOiBsZXhzdXAuYzoyNzgKIG1zZ2lkICJTdHJpcCBhbGwgc3ltYm9scyIKIG1zZ3N0ciAiVMaw4bubYyBt4buNaSBrw70gaGnhu4d1IgogCi0jOiBsZXhzdXAuYzoyNzkKKyM6IGxleHN1cC5jOjI4MAogbXNnaWQgIlN0cmlwIGRlYnVnZ2luZyBzeW1ib2xzIgogbXNnc3RyICJUxrDhu5tjIGPDoWMga8O9IGhp4buHdSBn4buhIGzhu5FpIgogCi0jOiBsZXhzdXAuYzoyODEKKyM6IGxleHN1cC5jOjI4MgogbXNnaWQgIlN0cmlwIHN5bWJvbHMgaW4gZGlzY2FyZGVkIHNlY3Rpb25zIgogbXNnc3RyICJUxrDhu5tjIGPDoWMga8O9IGhp4buHdSB0cm9uZyBwaOG6p24gYuG7iyBo4buneSIKIAotIzogbGV4c3VwLmM6MjgzCisjOiBsZXhzdXAuYzoyODQKIG1zZ2lkICJEbyBub3Qgc3RyaXAgc3ltYm9scyBpbiBkaXNjYXJkZWQgc2VjdGlvbnMiCiBtc2dzdHIgIsSQ4burbmcgdMaw4bubYyBrw70gaGnhu4d1IHRyb25nIHBo4bqnbiBi4buLIGjhu6d5IgogCi0jOiBsZXhzdXAuYzoyODUKKyM6IGxleHN1cC5jOjI4NgogbXNnaWQgIlRyYWNlIGZpbGUgb3BlbnMiCiBtc2dzdHIgIlThuq1wIHRpbiB24bq/dCBjw7MgbeG7nyIKIAotIzogbGV4c3VwLmM6Mjg3CisjOiBsZXhzdXAuYzoyODgKIG1zZ2lkICJSZWFkIGxpbmtlciBzY3JpcHQiCiBtc2dzdHIgIsSQ4buNYyB2xINuIGzhu4duaCBsacOqbiBr4bq/dCIKIAotIzogbGV4c3VwLmM6Mjg5CisjOiBsZXhzdXAuYzoyOTAKIG1zZ2lkICJSZWFkIGRlZmF1bHQgbGlua2VyIHNjcmlwdCIKIG1zZ3N0ciAixJDhu41jIHbEg24gbOG7h25oIGxpw6puIGvhur90IG3hurdjIMSR4buLbmgiCiAKLSM6IGxleHN1cC5jOjI5MyBsZXhzdXAuYzozMTEgbGV4c3VwLmM6Mzc5IGxleHN1cC5jOjQwMCBsZXhzdXAuYzo0OTQKLSM6IGxleHN1cC5jOjUxOSBsZXhzdXAuYzo1NTQKKyM6IGxleHN1cC5jOjI5NCBsZXhzdXAuYzozMTIgbGV4c3VwLmM6Mzg1IGxleHN1cC5jOjQwNiBsZXhzdXAuYzo1MDMKKyM6IGxleHN1cC5jOjUyOSBsZXhzdXAuYzo1NjUKIG1zZ2lkICJTWU1CT0wiCiBtc2dzdHIgIkvDnSBISeG7hlUiCiAKLSM6IGxleHN1cC5jOjI5MworIzogbGV4c3VwLmM6Mjk0CiBtc2dpZCAiU3RhcnQgd2l0aCB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIFNZTUJPTCIKIG1zZ3N0ciAiQuG6r3QgxJHhuqd1IHbhu5tpIHRoYW0gY2hp4buHdSBjaMawYSB4w6FjIMSR4buLbmggxJHhur9uIEvDnSBISeG7hlUiCiAKLSM6IGxleHN1cC5jOjI5NgorIzogbGV4c3VwLmM6Mjk3CiBtc2dpZCAiWz1TRUNUSU9OXSIKIG1zZ3N0ciAiWz1QSOG6pk5dIgogCi0jOiBsZXhzdXAuYzoyOTcKKyM6IGxleHN1cC5jOjI5OAogbXNnaWQgIkRvbid0IG1lcmdlIGlucHV0IFtTRUNUSU9OIHwgb3JwaGFuXSBzZWN0aW9ucyIKIG1zZ3N0ciAixJDhu6tuZyB0cuG7mW4gcGjhuqduIG5o4bqtcCBbUEjhuqZOIHwgdGjhu6thXSIKIAotIzogbGV4c3VwLmM6Mjk5CisjOiBsZXhzdXAuYzozMDAKIG1zZ2lkICJCdWlsZCBnbG9iYWwgY29uc3RydWN0b3IvZGVzdHJ1Y3RvciB0YWJsZXMiCiBtc2dzdHIgIljDonkgZOG7sW5nIGPDoWMgYuG6o25nIGPhuqV1IHThuqFvL3Bow6EgdG/DoG4gY+G7pWMiCiAKLSM6IGxleHN1cC5jOjMwMQorIzogbGV4c3VwLmM6MzAyCiBtc2dpZCAiUHJpbnQgdmVyc2lvbiBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiSW4gcmEgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24iCiAKLSM6IGxleHN1cC5jOjMwMworIzogbGV4c3VwLmM6MzA0CiBtc2dpZCAiUHJpbnQgdmVyc2lvbiBhbmQgZW11bGF0aW9uIGluZm9ybWF0aW9uIgogbXNnc3RyICJJbiByYSB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiB2w6AgbcO0IHBo4buPbmciCiAKLSM6IGxleHN1cC5jOjMwNQorIzogbGV4c3VwLmM6MzA2CiBtc2dpZCAiRGlzY2FyZCBhbGwgbG9jYWwgc3ltYm9scyIKIG1zZ3N0ciAiSOG7p3kgbeG7jWkga8O9IGhp4buHdSBj4bulYyBi4buZIgogCi0jOiBsZXhzdXAuYzozMDcKKyM6IGxleHN1cC5jOjMwOAogbXNnaWQgIkRpc2NhcmQgdGVtcG9yYXJ5IGxvY2FsIHN5bWJvbHMgKGRlZmF1bHQpIgogbXNnc3RyICJI4buneSBjw6FjIGvDvSBoaeG7h3UgY+G7pWMgYuG7mSB04bqhbSB0aOG7nWkgKG3hurdjIMSR4buLbmgpIgogCi0jOiBsZXhzdXAuYzozMDkKKyM6IGxleHN1cC5jOjMxMAogbXNnaWQgIkRvbid0IGRpc2NhcmQgYW55IGxvY2FsIHN5bWJvbHMiCiBtc2dzdHIgIsSQ4burbmcgaOG7p3kga8O9IGhp4buHdSBj4bulYyBi4buZIgogCi0jOiBsZXhzdXAuYzozMTEKKyM6IGxleHN1cC5jOjMxMgogbXNnaWQgIlRyYWNlIG1lbnRpb25zIG9mIFNZTUJPTCIKIG1zZ3N0ciAiVuG6v3QgbOG6p24gZ+G6t3AgS8OdIEhJ4buGVSIKIAotIzogbGV4c3VwLmM6MzEzIGxleHN1cC5jOjQ2MSBsZXhzdXAuYzo0NjMKKyM6IGxleHN1cC5jOjMxNCBsZXhzdXAuYzo0NjggbGV4c3VwLmM6NDcwCiBtc2dpZCAiUEFUSCIKIG1zZ3N0ciAixJDGr+G7nE5HIEThuqpOIgogCi0jOiBsZXhzdXAuYzozMTMKKyM6IGxleHN1cC5jOjMxNAogbXNnaWQgIkRlZmF1bHQgc2VhcmNoIHBhdGggZm9yIFNvbGFyaXMgY29tcGF0aWJpbGl0eSIKIG1zZ3N0ciAixJDGsOG7nW5nIGThuqtuIHTDrG0ga2nhur9tIG3hurdjIMSR4buLbmggxJHhu4MgdMawxqFuZyB0aMOtY2ggduG7m2kgU29sYXJpcyIKIAotIzogbGV4c3VwLmM6MzE2CisjOiBsZXhzdXAuYzozMTcKIG1zZ2lkICJTdGFydCBhIGdyb3VwIgogbXNnc3RyICJC4bqvdCDEkeG6p3UgbmjDs20iCiAKLSM6IGxleHN1cC5jOjMxOAorIzogbGV4c3VwLmM6MzE5CiBtc2dpZCAiRW5kIGEgZ3JvdXAiCiBtc2dzdHIgIkvhur90IHRow7pjIG5ow7NtIgogCi0jOiBsZXhzdXAuYzozMjIKKyM6IGxleHN1cC5jOjMyMwogbXNnaWQgIkFjY2VwdCBpbnB1dCBmaWxlcyB3aG9zZSBhcmNoaXRlY3R1cmUgY2Fubm90IGJlIGRldGVybWluZWQiCiBtc2dzdHIgIkNo4bqlcCBuaOG6rW4gdOG6rXAgdGluIG5o4bqtcCBjw7Mga2nhur9uIHRyw7pjIGtow7RuZyByw7UiCiAKLSM6IGxleHN1cC5jOjMyNgorIzogbGV4c3VwLmM6MzI3CiBtc2dpZCAiUmVqZWN0IGlucHV0IGZpbGVzIHdob3NlIGFyY2hpdGVjdHVyZSBpcyB1bmtub3duIgogbXNnc3RyICJU4burIGNo4buRaSB04bqtcCB0aW4gbmjhuq1wIGPDsyBraeG6v24gdHLDumMga2jDtG5nIHLDtSIKIAotIzogbGV4c3VwLmM6MzI5CisjOiBsZXhzdXAuYzozMzAKIG1zZ2lkICIiCiAiU2V0IERUX05FRURFRCB0YWdzIGZvciBEVF9ORUVERUQgZW50cmllcyBpblxuIgotIlx0XHRcdFx0Zm9sbG93aW5nIGR5bmFtaWMgbGlicyIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBkeW5hbWljIGxpYnMiCiBtc2dzdHIgIiIKLSJM4bqtcCB0aOG6uyDCqyBEVF9ORUVERUQgwrsgKGPhuqduIHRoaeG6v3QgRFQpXG4iCisixJDhurd0IHRo4bq7IMKrIERUX05FRURFRCDCuyAoRFQgecOqdSBj4bqndSlcbiIKICJcdGNobyBt4bulYyBuaOG6rXAgwqsgRFRfTkVFREVEIMK7XG4iCiAiXHR0cm9uZyBuaOG7r25nIHRoxrAgdmnhu4duIMSR4buZbmcgdGhlbyDEkcOieSIKIAotIzogbGV4c3VwLmM6MzMyCisjOiBsZXhzdXAuYzozMzQKIG1zZ2lkICIiCiAiRG8gbm90IHNldCBEVF9ORUVERUQgdGFncyBmb3IgRFRfTkVFREVEIGVudHJpZXNcbiIKLSJcdFx0XHRcdGluIGZvbGxvd2luZyBkeW5hbWljIGxpYnMiCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmb2xsb3dpbmcgZHluYW1pYyBsaWJzIgogbXNnc3RyICIiCi0ixJDhu6tuZyBs4bqtcCB0aOG6uyDCqyBEVF9ORUVERUQgwrsgKGPhuqduIHRoaeG6v3QgRFQpXG4iCi0iXHRjaG8gbeG7pWMgbmjhuq1wIMKrIERUX05FRURFRCDCu1xuIgotIlx0dHJvbmcgbmjhu69uZyB0aMawIHZp4buHbiDEkeG7mW5nIHRoZW8gxJHDonkiCisiS2jDtG5nIMSR4bq3dCB0aOG6uyDCqyBEVF9ORUVERUQgwrtcbiIKKyJjaG8gbeG7pWMgbmjhuq1wIMKrIERUX05FRURFRCDCu1xuIgorInRyb25nIG5o4buvbmcgdGjGsCB2aeG7h24gdGhlbyDEkcOieSIKIAotIzogbGV4c3VwLmM6MzM1CisjOiBsZXhzdXAuYzozMzgKIG1zZ2lkICJPbmx5IHNldCBEVF9ORUVERUQgZm9yIGZvbGxvd2luZyBkeW5hbWljIGxpYnMgaWYgdXNlZCIKIG1zZ3N0ciAiIgogIkNo4buJIGzhuq1wIHRo4bq7IMKrIERUX05FRURFRCDCuyAoY+G6p24gdGhp4bq/dCBEVClcbiIKICJcdGNobyBuaOG7r25nIHRoxrAgdmnhu4duIMSR4buZbmcgdGhlbyDEkcOieSBu4bq/dSDEkcaw4bujYyBkw7luZyIKIAotIzogbGV4c3VwLmM6MzM4CisjOiBsZXhzdXAuYzozNDEKIG1zZ2lkICJBbHdheXMgc2V0IERUX05FRURFRCBmb3IgZm9sbG93aW5nIGR5bmFtaWMgbGlicyIKIG1zZ3N0ciAiIgogIkx1w7RuIGx1w7RuIGzhuq1wIHRo4bq7IMKrIERUX05FRURFRCDCuyAoY+G6p24gdGhp4bq/dCBEVClcbiIKICJcdGNobyBuaOG7r25nIHRoxrAgdmnhu4duIMSR4buZbmcgdGhlbyDEkcOieSIKIAotIzogbGV4c3VwLmM6MzQxCisjOiBsZXhzdXAuYzozNDQKIG1zZ2lkICJJZ25vcmVkIGZvciBTdW5PUyBjb21wYXRpYmlsaXR5IgogbXNnc3RyICJC4buLIGLhu48gcXVhIMSR4buDIHTGsMahbmcgdGjDrWNoIHbhu5tpIFN1bk9TIgogCi0jOiBsZXhzdXAuYzozNDMKKyM6IGxleHN1cC5jOjM0NgogbXNnaWQgIkxpbmsgYWdhaW5zdCBzaGFyZWQgbGlicmFyaWVzIgogbXNnc3RyICJMacOqbiBr4bq/dCBzbyB24bubaSB0aMawIHZp4buHbiBkw7luZyBjaHVuZyIKIAotIzogbGV4c3VwLmM6MzQ5CisjOiBsZXhzdXAuYzozNTIKIG1zZ2lkICJEbyBub3QgbGluayBhZ2FpbnN0IHNoYXJlZCBsaWJyYXJpZXMiCiBtc2dzdHIgIsSQ4burbmcgbGnDqm4ga+G6v3Qgc28gduG7m2kgdGjGsCB2aeG7h24gZMO5bmcgY2h1bmciCiAKLSM6IGxleHN1cC5jOjM1NworIzogbGV4c3VwLmM6MzYwCiBtc2dpZCAiQmluZCBnbG9iYWwgcmVmZXJlbmNlcyBsb2NhbGx5IgogbXNnc3RyICLEkMOzbmcga+G6v3QgY+G7pWMgYuG7mSB0aGFtIGNoaeG6v3UgdG/DoG4gY+G7pWMiCiAKLSM6IGxleHN1cC5jOjM1OQorIzogbGV4c3VwLmM6MzYyCiBtc2dpZCAiQmluZCBnbG9iYWwgZnVuY3Rpb24gcmVmZXJlbmNlcyBsb2NhbGx5IgogbXNnc3RyICLEkMOzbmcga+G6v3QgY+G7pWMgYuG7mSB0aGFtIGNoaeG6v3UgaMOgbSB0b8OgbiBj4bulYyIKIAotIzogbGV4c3VwLmM6MzYxCisjOiBsZXhzdXAuYzozNjQKIG1zZ2lkICJDaGVjayBzZWN0aW9uIGFkZHJlc3NlcyBmb3Igb3ZlcmxhcHMgKGRlZmF1bHQpIgogbXNnc3RyICJLaeG7g20gdHJhIMSR4buLYSBjaOG7iSBwaOG6p24gY8OzIGNo4buTbmcgY2jDqW8gKG3hurdjIMSR4buLbmgpIgogCi0jOiBsZXhzdXAuYzozNjQKKyM6IGxleHN1cC5jOjM2NwogbXNnaWQgIkRvIG5vdCBjaGVjayBzZWN0aW9uIGFkZHJlc3NlcyBmb3Igb3ZlcmxhcHMiCiBtc2dzdHIgIsSQ4burbmcga2nhu4NtIHRyYSDEkeG7i2EgY2jhu4kgcGjhuqduIGPDsyBjaOG7k25nIGNow6lvIgogCi0jOiBsZXhzdXAuYzozNjcKKyM6IGxleHN1cC5jOjM3MAogbXNnaWQgIk91dHB1dCBjcm9zcyByZWZlcmVuY2UgdGFibGUiCiBtc2dzdHIgIlh14bqldCBi4bqjbmcgdGhhbSBjaGnhur91IGNow6lvIgogCi0jOiBsZXhzdXAuYzozNjkKKyM6IGxleHN1cC5jOjM3MgogbXNnaWQgIlNZTUJPTD1FWFBSRVNTSU9OIgogbXNnc3RyICJLw50gSEnhu4ZVPUJJ4buCVSBUSOG7qEMiCiAKLSM6IGxleHN1cC5jOjM2OQorIzogbGV4c3VwLmM6MzcyCiBtc2dpZCAiRGVmaW5lIGEgc3ltYm9sIgogbXNnc3RyICJYw6FjIMSR4buLbmggbeG7mXQga8O9IGhp4buHdSIKIAotIzogbGV4c3VwLmM6MzcxCisjOiBsZXhzdXAuYzozNzQKIG1zZ2lkICJbPVNUWUxFXSIKIG1zZ3N0ciAiWz1LSeG7glUgRMOBTkddIgogCi0jOiBsZXhzdXAuYzozNzEKKyM6IGxleHN1cC5jOjM3NAogbXNnaWQgIkRlbWFuZ2xlIHN5bWJvbCBuYW1lcyBbdXNpbmcgU1RZTEVdIgogbXNnc3RyICJUaMOhbyBn4buhIHTDqm4ga8O9IGhp4buHdSBbZMO5bmcgS0nhu4JVIETDgU5HXSIKIAotIzogbGV4c3VwLmM6Mzc0CisjOiBsZXhzdXAuYzozNzcKIG1zZ2lkICJHZW5lcmF0ZSBlbWJlZGRlZCByZWxvY3MiCiBtc2dzdHIgIlThuqFvIHJhIHPhu7EgxJHhu4tuaCB24buLIGzhuqFpIG5ow7puZyIKIAotIzogbGV4c3VwLmM6Mzc2CisjOiBsZXhzdXAuYzozNzkKIG1zZ2lkICJUcmVhdCB3YXJuaW5ncyBhcyBlcnJvcnMiCiBtc2dzdHIgIljhu60gbMO9IGPhuqNuaCBiw6FvIGzDoCBs4buXaSIKIAotIzogbGV4c3VwLmM6Mzc5CisjOiBsZXhzdXAuYzozODIKK21zZ2lkICJEbyBub3QgdHJlYXQgd2FybmluZ3MgYXMgZXJyb3JzIChkZWZhdWx0KSIKK21zZ3N0ciAiS2jDtG5nIHjhu60gbMO9IGPhuqNuaCBiw6FvIGzDoCBs4buXaSAobeG6t2MgxJHhu4tuaCkiCisKKyM6IGxleHN1cC5jOjM4NQogbXNnaWQgIkNhbGwgU1lNQk9MIGF0IHVubG9hZC10aW1lIgogbXNnc3RyICJH4buNaSBLw50gSEnhu4ZVIHbDoG8gbMO6YyBi4buPIG7huqFwIgogCi0jOiBsZXhzdXAuYzozODEKKyM6IGxleHN1cC5jOjM4NwogbXNnaWQgIkZvcmNlIGdlbmVyYXRpb24gb2YgZmlsZSB3aXRoIC5leGUgc3VmZml4IgogbXNnc3RyICLDiXAgYnXhu5ljIHThuqFvIHJhIHThuq1wIHRpbiBjw7MgaOG6rXUgdOG7kSDCqyAuZXhlIMK7IgogCi0jOiBsZXhzdXAuYzozODMKKyM6IGxleHN1cC5jOjM4OQogbXNnaWQgIlJlbW92ZSB1bnVzZWQgc2VjdGlvbnMgKG9uIHNvbWUgdGFyZ2V0cykiCiBtc2dzdHIgIkfhu6EgYuG7jyBjw6FjIHBo4bqnbiBraMO0bmcgZMO5bmcgKHRyw6puIG3hu5l0IHPhu5EgxJHDrWNoKSIKIAotIzogbGV4c3VwLmM6Mzg2CisjOiBsZXhzdXAuYzozOTIKIG1zZ2lkICJEb24ndCByZW1vdmUgdW51c2VkIHNlY3Rpb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAixJDhu6tuZyBn4buhIGLhu48gY8OhYyBwaOG6p24ga2jDtG5nIGTDuW5nICht4bq3YyDEkeG7i25oKSIKIAotIzogbGV4c3VwLmM6Mzg5CisjOiBsZXhzdXAuYzozOTUKIG1zZ2lkICJMaXN0IHJlbW92ZWQgdW51c2VkIHNlY3Rpb25zIG9uIHN0ZGVyciIKIG1zZ3N0ciAiTGnhu4d0IGvDqiB0csOqbiBzdGRlcnIgY8OhYyBwaOG6p24ga2jDtG5nIGTDuW5nIGLhu4sgZ+G7oSBi4buPIgogCi0jOiBsZXhzdXAuYzozOTIKKyM6IGxleHN1cC5jOjM5OAogbXNnaWQgIkRvIG5vdCBsaXN0IHJlbW92ZWQgdW51c2VkIHNlY3Rpb25zIgogbXNnc3RyICLEkOG7q25nIGxp4buHdCBrw6ogY8OhYyBwaOG6p24ga2jDtG5nIGTDuW5nIGLhu4sgZ+G7oSBi4buPIgogCi0jOiBsZXhzdXAuYzozOTUKKyM6IGxleHN1cC5jOjQwMQogbXNnaWQgIlNldCBkZWZhdWx0IGhhc2ggdGFibGUgc2l6ZSBjbG9zZSB0byA8TlVNQkVSPiIKIG1zZ3N0ciAixJDhurd0IGvDrWNoIGPhu6EgYuG6o25nIGLEg20gbeG6t2MgxJHhu4tuaCB0aMOgbmggZ+G6p24gPFPhu5A+IgogCi0jOiBsZXhzdXAuYzozOTgKKyM6IGxleHN1cC5jOjQwNAogbXNnaWQgIlByaW50IG9wdGlvbiBoZWxwIgogbXNnc3RyICJJbiByYSB0cuG7oyBnacO6cCB24buBIHTDuXkgY2jhu41uIgogCi0jOiBsZXhzdXAuYzo0MDAKKyM6IGxleHN1cC5jOjQwNgogbXNnaWQgIkNhbGwgU1lNQk9MIGF0IGxvYWQtdGltZSIKIG1zZ3N0ciAiR+G7jWkgS8OdIEhJ4buGVSB2w6BvIGzDumMgbuG6oXAiCiAKLSM6IGxleHN1cC5jOjQwMgorIzogbGV4c3VwLmM6NDA4CiBtc2dpZCAiV3JpdGUgYSBtYXAgZmlsZSIKIG1zZ3N0ciAiR2hpIHThuq1wIHRpbiBzxqEgxJHhu5MiCiAKLSM6IGxleHN1cC5jOjQwNAorIzogbGV4c3VwLmM6NDEwCiBtc2dpZCAiRG8gbm90IGRlZmluZSBDb21tb24gc3RvcmFnZSIKIG1zZ3N0ciAixJDhu6tuZyB4w6FjIMSR4buLbmggc+G7qWMgY2jhu6lhIGTDuW5nIGNodW5nIgogCi0jOiBsZXhzdXAuYzo0MDYKKyM6IGxleHN1cC5jOjQxMgogbXNnaWQgIkRvIG5vdCBkZW1hbmdsZSBzeW1ib2wgbmFtZXMiCiBtc2dzdHIgIsSQ4burbmcgdGjDoW8gZ+G7oSB0w6puIGvDvSBoaeG7h3UiCiAKLSM6IGxleHN1cC5jOjQwOAorIzogbGV4c3VwLmM6NDE0CiBtc2dpZCAiVXNlIGxlc3MgbWVtb3J5IGFuZCBtb3JlIGRpc2sgSS9PIgogbXNnc3RyICJDaGnhur9tIMOtdCBi4buZIG5o4bubIGjGoW4sIGPDsm4gVi9SIMSRxKlhIG5oaeG7gXUgaMahbiIKIAotIzogbGV4c3VwLmM6NDEwCisjOiBsZXhzdXAuYzo0MTYKIG1zZ2lkICJEbyBub3QgYWxsb3cgdW5yZXNvbHZlZCByZWZlcmVuY2VzIGluIG9iamVjdCBmaWxlcyIKIG1zZ3N0ciAixJDhu6tuZyBjaG8gcGjDqXAgdGhhbSBjaGnhu4d1IGNoxrBhIHRow6FvIGfhu6EgdHJvbmcgdOG6rXAgdGluIMSR4buRaSB0xrDhu6NuZyIKIAotIzogbGV4c3VwLmM6NDEzCisjOiBsZXhzdXAuYzo0MTkKIG1zZ2lkICJBbGxvdyB1bnJlc29sdmVkIHJlZmVyZW5jZXMgaW4gc2hhcmVkIGxpYmFyaWVzIgogbXNnc3RyICJDaG8gcGjDqXAgdGhhbSBjaGnhu4d1IGNoxrBhIHRow6FvIGfhu6EgdHJvbmcgdGjGsCB2aeG7h24gZMO5bmcgY2h1bmciCiAKLSM6IGxleHN1cC5jOjQxNworIzogbGV4c3VwLmM6NDIzCiBtc2dpZCAiRG8gbm90IGFsbG93IHVucmVzb2x2ZWQgcmVmZXJlbmNlcyBpbiBzaGFyZWQgbGlicyIKIG1zZ3N0ciAixJDhu6tuZyBjaG8gcGjDqXAgdGhhbSBjaGnhu4d1IGNoxrBhIHRow6FvIGfhu6EgdHJvbmcgdGjGsCB2aeG7h24gZMO5bmcgY2h1bmciCiAKLSM6IGxleHN1cC5jOjQyMQorIzogbGV4c3VwLmM6NDI3CiBtc2dpZCAiQWxsb3cgbXVsdGlwbGUgZGVmaW5pdGlvbnMiCiBtc2dzdHIgIkNobyBwaMOpcCBuaGnhu4F1IGzhu51pIHjDoWMgxJHhu4tuaCIKIAotIzogbGV4c3VwLmM6NDIzCisjOiBsZXhzdXAuYzo0MjkKIG1zZ2lkICJEaXNhbGxvdyB1bmRlZmluZWQgdmVyc2lvbiIKIG1zZ3N0ciAiS2jDtG5nIGNobyBwaMOpcCBwaGnDqm4gYuG6o24gY2jGsGEgeMOhYyDEkeG7i25oIgogCi0jOiBsZXhzdXAuYzo0MjUKKyM6IGxleHN1cC5jOjQzMQogbXNnaWQgIkNyZWF0ZSBkZWZhdWx0IHN5bWJvbCB2ZXJzaW9uIgogbXNnc3RyICJU4bqhbyBwaGnDqm4gYuG6o24ga8O9IGhp4buHdSBt4bq3YyDEkeG7i25oIgogCi0jOiBsZXhzdXAuYzo0MjgKKyM6IGxleHN1cC5jOjQzNAogbXNnaWQgIkNyZWF0ZSBkZWZhdWx0IHN5bWJvbCB2ZXJzaW9uIGZvciBpbXBvcnRlZCBzeW1ib2xzIgogbXNnc3RyICJU4bqhbyBwaGnDqm4gYuG6o24ga8O9IGhp4buHdSBt4bq3YyDEkeG7i25oIGNobyBjw6FjIGvDvSBoaeG7h3UgxJHDoyBuaOG6rXAga2jhuql1IgogCi0jOiBsZXhzdXAuYzo0MzEKKyM6IGxleHN1cC5jOjQzNwogbXNnaWQgIkRvbid0IHdhcm4gYWJvdXQgbWlzbWF0Y2hlZCBpbnB1dCBmaWxlcyIKIG1zZ3N0ciAixJDhu6tuZyBj4bqjbmggYsOhbyB24buBIHThuq1wIHRpbiBuaOG6rXAgc2FpIGto4bubcCIKIAotIzogbGV4c3VwLmM6NDM0CisjOiBsZXhzdXAuYzo0NDAKIG1zZ2lkICJEb24ndCB3YXJuIG9uIGZpbmRpbmcgYW4gaW5jb21wYXRpYmxlIGxpYnJhcnkiCiBtc2dzdHIgIsSQ4burbmcgY+G6o25oIGLDoW8ga2hpIHTDrG0gdGjGsCB2aeG7h24ga2jDtG5nIHTGsMahbmcgdGjDrWNoIgogCi0jOiBsZXhzdXAuYzo0MzcKKyM6IGxleHN1cC5jOjQ0MwogbXNnaWQgIlR1cm4gb2ZmIC0td2hvbGUtYXJjaGl2ZSIKIG1zZ3N0ciAiVOG6r3QgdMO5eSBjaOG7jW4gwqsgLS13aG9sZS1hcmNoaXZlIMK7ICh0b8OgbiBraG8pIgogCi0jOiBsZXhzdXAuYzo0MzkKKyM6IGxleHN1cC5jOjQ0NQogbXNnaWQgIkNyZWF0ZSBhbiBvdXRwdXQgZmlsZSBldmVuIGlmIGVycm9ycyBvY2N1ciIKIG1zZ3N0ciAiVOG6oW8gdOG6rXAgdGluIHh14bqldCB0aOG6rW0gY2jDrSBu4bq/dSBn4bq3cCBs4buXaSIKIAotIzogbGV4c3VwLmM6NDQ0CisjOiBsZXhzdXAuYzo0NTAKIG1zZ2lkICIiCiAiT25seSB1c2UgbGlicmFyeSBkaXJlY3RvcmllcyBzcGVjaWZpZWQgb25cbiIKLSJcdFx0XHRcdHRoZSBjb21tYW5kIGxpbmUiCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY29tbWFuZCBsaW5lIgogbXNnc3RyICIiCi0iQ2jhu4kgZMO5bmcgY8OhYyB0aMawIG3hu6VjIHRoxrAgdmnhu4duXG4iCi0iXHTEkcaw4bujYyBnaGkgcsO1IHRyw6puIGTDsm5nIGzhu4duaCIKKyJDaOG7iSBz4butIGThu6VuZyBuaOG7r25nIHRoxrAgbeG7pWMgdGjGsCB2aeG7h25cbiIKKyLEkcaw4bujYyBnaGkgcsO1IHRyw6puIGTDsm5nIGzhu4duaCIKIAotIzogbGV4c3VwLmM6NDQ3CisjOiBsZXhzdXAuYzo0NTQKIG1zZ2lkICJTcGVjaWZ5IHRhcmdldCBvZiBvdXRwdXQgZmlsZSIKIG1zZ3N0ciAiR2hpIHLDtSDEkcOtY2ggY+G7p2EgdOG6rXAgdGluIHh14bqldCIKIAotIzogbGV4c3VwLmM6NDUwCisjOiBsZXhzdXAuYzo0NTcKIG1zZ2lkICJJZ25vcmVkIGZvciBMaW51eCBjb21wYXRpYmlsaXR5IgogbXNnc3RyICJC4buLIGLhu48gcXVhIMSR4buDIHTGsMahbmcgdGjDrWNoIHbhu5tpIExpbnV4IgogCi0jOiBsZXhzdXAuYzo0NTMKKyM6IGxleHN1cC5jOjQ2MAogbXNnaWQgIlJlZHVjZSBtZW1vcnkgb3ZlcmhlYWRzLCBwb3NzaWJseSB0YWtpbmcgbXVjaCBsb25nZXIiCiBtc2dzdHIgIkdp4bqjbSBi4buZIG5o4bubIGR1eSB0dSwgY8OzIHRo4buDIGNo4bqheSBy4bqldCBjaOG6rW0gaMahbiIKIAotIzogbGV4c3VwLmM6NDU2CisjOiBsZXhzdXAuYzo0NjMKIG1zZ2lkICJSZWxheCBicmFuY2hlcyBvbiBjZXJ0YWluIHRhcmdldHMiCiBtc2dzdHIgIkzGoWkgcmEgbmjDoW5oIHRyw6puIG3hu5l0IHPhu5EgxJHDrWNoIG7DoG8gxJHDsyIKIAotIzogbGV4c3VwLmM6NDU5CisjOiBsZXhzdXAuYzo0NjYKIG1zZ2lkICJLZWVwIG9ubHkgc3ltYm9scyBsaXN0ZWQgaW4gRklMRSIKIG1zZ3N0ciAiR2nhu68gY2jhu4kgbmjhu69uZyBrw70gaGnhu4d1IMSRxrDhu6NjIGxp4buHdCBrw6ogdHJvbmcgVOG6rFAgVElOIgogCi0jOiBsZXhzdXAuYzo0NjEKKyM6IGxleHN1cC5jOjQ2OAogbXNnaWQgIlNldCBydW50aW1lIHNoYXJlZCBsaWJyYXJ5IHNlYXJjaCBwYXRoIgogbXNnc3RyICLEkOG6t3QgxJHGsOG7nW5nIGThuqtuIHTDrG0ga2nhur9tIHRoxrAgdmnhu4duIGTDuW5nIGNodW5nIHbDoG8gbMO6YyBjaOG6oXkiCiAKLSM6IGxleHN1cC5jOjQ2MworIzogbGV4c3VwLmM6NDcwCiBtc2dpZCAiU2V0IGxpbmsgdGltZSBzaGFyZWQgbGlicmFyeSBzZWFyY2ggcGF0aCIKIG1zZ3N0ciAixJDhurd0IMSRxrDhu51uZyBk4bqrbiB0w6xtIGtp4bq/bSB0aMawIHZp4buHbiBkw7luZyBjaHVuZyB2w6BvIGzDumMgbGnDqm4ga+G6v3QiCiAKLSM6IGxleHN1cC5jOjQ2NgorIzogbGV4c3VwLmM6NDczCiBtc2dpZCAiQ3JlYXRlIGEgc2hhcmVkIGxpYnJhcnkiCiBtc2dzdHIgIlThuqFvIHRoxrAgdmnhu4duIGTDuW5nIGNodW5nIgogCi0jOiBsZXhzdXAuYzo0NzAKKyM6IGxleHN1cC5jOjQ3NwogbXNnaWQgIkNyZWF0ZSBhIHBvc2l0aW9uIGluZGVwZW5kZW50IGV4ZWN1dGFibGUiCiBtc2dzdHIgIlThuqFvIHThuq1wIHRpbiBjw7Mga2jhuqMgbsSDbmcgdGjhu7FjIGhp4buHbiBraMO0bmcgcGjhu6UgdGh14buZYyB2w6BvIHbhu4sgdHLDrSIKIAotIzogbGV4c3VwLmM6NDc0Ci1tc2dpZCAiU29ydCBjb21tb24gc3ltYm9scyBieSBzaXplIgotbXNnc3RyICJT4bqvcCB44bq/cCBjw6FjIGvDvSBoaeG7h3UgZMO5bmcgY2h1bmcgdGhlbyBrw61jaCBj4buhIgorIzogbGV4c3VwLmM6NDgxCittc2dpZCAiWz1hc2NlbmRpbmd8ZGVzY2VuZGluZ10iCittc2dzdHIgIls9dMSDbmd8Z2nhuqNtXSIKIAotIzogbGV4c3VwLmM6NDc4CisjOiBsZXhzdXAuYzo0ODIKK21zZ2lkICJTb3J0IGNvbW1vbiBzeW1ib2xzIGJ5IGFsaWdubWVudCBbaW4gc3BlY2lmaWVkIG9yZGVyXSIKK21zZ3N0ciAiU+G6r3AgeOG6v3AgY8OhYyBrw70gaGnhu4d1IGTDuW5nIGNodW5nIHRoZW8gdGjhu6kgdOG7sSDEkcOjIGdoaSByw7UiCisKKyM6IGxleHN1cC5jOjQ4NwogbXNnaWQgIm5hbWV8YWxpZ25tZW50IgogbXNnc3RyICJ0w6pufGNo4buJbmhfY2FuaCIKIAotIzogbGV4c3VwLmM6NDc5CisjOiBsZXhzdXAuYzo0ODgKIG1zZ2lkICJTb3J0IHNlY3Rpb25zIGJ5IG5hbWUgb3IgbWF4aW11bSBhbGlnbm1lbnQiCiBtc2dzdHIgIlPhuq9wIHjhur9wIGPDoWMgcGjhuqduIHRoZW8gdMOqbiBoYXkgc+G7sSBjaOG7iW5oIGNhbmggdOG7kWkgxJFhIgogCi0jOiBsZXhzdXAuYzo0ODEKKyM6IGxleHN1cC5jOjQ5MAogbXNnaWQgIkNPVU5UIgogbXNnc3RyICJT4buQX8SQ4bq+TSIKIAotIzogbGV4c3VwLmM6NDgxCisjOiBsZXhzdXAuYzo0OTAKIG1zZ2lkICJIb3cgbWFueSB0YWdzIHRvIHJlc2VydmUgaW4gLmR5bmFtaWMgc2VjdGlvbiIKIG1zZ3N0ciAiU+G7kSB0aOG6uyBj4bqnbiBnaeG7ryBs4bqhaSB0cm9uZyBwaOG6p24gwqsgLmR5bmFtaWMgwrsgKMSR4buZbmcpIgogCi0jOiBsZXhzdXAuYzo0ODQKKyM6IGxleHN1cC5jOjQ5MwogbXNnaWQgIls9U0laRV0iCiBtc2dzdHIgIls9Q+G7oF0iCiAKLSM6IGxleHN1cC5jOjQ4NAorIzogbGV4c3VwLmM6NDkzCiBtc2dpZCAiU3BsaXQgb3V0cHV0IHNlY3Rpb25zIGV2ZXJ5IFNJWkUgb2N0ZXRzIgogbXNnc3RyICJY4bq7IHBo4bqnbiB4deG6pXQgc2F1IG3hu5dpIEPhu6AgYuG7mSB0w6FtIgogCi0jOiBsZXhzdXAuYzo0ODcKKyM6IGxleHN1cC5jOjQ5NgogbXNnaWQgIls9Q09VTlRdIgogbXNnc3RyICJbPVPhu5BfxJDhur5NXSIKIAotIzogbGV4c3VwLmM6NDg3CisjOiBsZXhzdXAuYzo0OTYKIG1zZ2lkICJTcGxpdCBvdXRwdXQgc2VjdGlvbnMgZXZlcnkgQ09VTlQgcmVsb2NzIgogbXNnc3RyICJY4bq7IHBo4bqnbiB4deG6pXQgc2F1IG3hu5dpIFPhu5BfxJDhur5NIHPhu7EgxJHhu4tuaCB24buLIGzhuqFpIgogCi0jOiBsZXhzdXAuYzo0OTAKKyM6IGxleHN1cC5jOjQ5OQogbXNnaWQgIlByaW50IG1lbW9yeSB1c2FnZSBzdGF0aXN0aWNzIgogbXNnc3RyICJJbiByYSB0aOG7kW5nIGvDqiBjw6FjaCBz4butIGThu6VuZyBi4buZIG5o4bubIgogCi0jOiBsZXhzdXAuYzo0OTIKKyM6IGxleHN1cC5jOjUwMQogbXNnaWQgIkRpc3BsYXkgdGFyZ2V0IHNwZWNpZmljIG9wdGlvbnMiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyBjw6FjIHTDuXkgY2jhu41uIMSR4bq3YyB0csawbmcgY2hvIMSRw61jaCIKIAotIzogbGV4c3VwLmM6NDk0CisjOiBsZXhzdXAuYzo1MDMKIG1zZ2lkICJEbyB0YXNrIGxldmVsIGxpbmtpbmciCiBtc2dzdHIgIkxpw6puIGvhur90IHRyw6puIGPhuqVwIHTDoWMgduG7pSIKIAotIzogbGV4c3VwLmM6NDk2CisjOiBsZXhzdXAuYzo1MDUKIG1zZ2lkICJVc2Ugc2FtZSBmb3JtYXQgYXMgbmF0aXZlIGxpbmtlciIKIG1zZ3N0ciAiRMO5bmcgY8O5bmcgxJHhu4tuaCBk4bqhbmcgduG7m2kgYuG7mSBsacOqbiBr4bq/dCBz4bufIGjhu691IgogCi0jOiBsZXhzdXAuYzo0OTgKKyM6IGxleHN1cC5jOjUwNwogbXNnaWQgIlNFQ1RJT049QUREUkVTUyIKIG1zZ3N0ciAiUEjhuqZOPcSQ4buKQV9DSOG7iCIKIAotIzogbGV4c3VwLmM6NDk4CisjOiBsZXhzdXAuYzo1MDcKIG1zZ2lkICJTZXQgYWRkcmVzcyBvZiBuYW1lZCBzZWN0aW9uIgogbXNnc3RyICLEkOG6t3QgxJHhu4thIGNo4buJIGPhu6dhIHBo4bqnbiBjw7MgdMOqbiIKIAotIzogbGV4c3VwLmM6NTAxCisjOiBsZXhzdXAuYzo1MTAKIG1zZ2lkICJTZXQgYWRkcmVzcyBvZiAuYnNzIHNlY3Rpb24iCiBtc2dzdHIgIsSQ4bq3dCDEkeG7i2EgY2jhu4kgY+G7p2EgcGjhuqduIMKrIC5ic3MgwrsiCiAKLSM6IGxleHN1cC5jOjUwMworIzogbGV4c3VwLmM6NTEyCiBtc2dpZCAiU2V0IGFkZHJlc3Mgb2YgLmRhdGEgc2VjdGlvbiIKIG1zZ3N0ciAixJDhurd0IMSR4buLYSBjaOG7iSBj4bunYSBwaOG6p24gwqsgLmRhdGEgwrsgKGThu68gbGnhu4d1KSIKIAotIzogbGV4c3VwLmM6NTA1CisjOiBsZXhzdXAuYzo1MTQKIG1zZ2lkICJTZXQgYWRkcmVzcyBvZiAudGV4dCBzZWN0aW9uIgogbXNnc3RyICLEkOG6t3QgxJHhu4thIGNo4buJIGPhu6dhIHBo4bqnbiDCqyAudGV4dCDCuyAodsSDbiBi4bqjbikiCiAKLSM6IGxleHN1cC5jOjUwOAorIzogbGV4c3VwLmM6NTE3CiBtc2dpZCAiIgogIkhvdyB0byBoYW5kbGUgdW5yZXNvbHZlZCBzeW1ib2xzLiAgPG1ldGhvZD4gaXM6XG4iCi0iXHRcdFx0XHRpZ25vcmUtYWxsLCByZXBvcnQtYWxsLCBpZ25vcmUtaW4tb2JqZWN0LWZpbGVzLFxuIgotIlx0XHRcdFx0aWdub3JlLWluLXNoYXJlZC1saWJzIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlLWFsbCwgcmVwb3J0LWFsbCwgaWdub3JlLWluLW9iamVjdC1maWxlcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZS1pbi1zaGFyZWQtbGlicyIKIG1zZ3N0ciAiIgotIkPDoWNoIHF14bqjbiBsw70ga8O9IGhp4buHdSBjaMawYSB0aMOhbyBn4buhLlxuIgorIlF14bqjbiBsw70ga8O9IGhp4buHdSBjaMawYSB0aMOhbyBn4buhIG5oxrAgdGjhur8gbsOgby5cbiIKICIgIFx0PHBoxrDGoW5nX3Bow6FwPiBsw6A6XG4iCiAiIOKAoiBpZ25vcmUtYWxsXHRcdFx0XHRi4buPIHF1YSB04bqldCBj4bqjXG4iCiAiIOKAoiByZXBvcnQtYWxsXHRcdFx0XHR0aMO0bmcgYsOhbyB04bqldCBj4bqjXG4iCiAiIOKAoiBpZ25vcmUtaW4tb2JqZWN0LWZpbGVzXHRi4buPIHF1YSB0cm9uZyB04bqtcCB0aW4gxJHhu5FpIHTGsOG7o25nXG4iCiAiIOKAoiBpZ25vcmUtaW4tc2hhcmVkLWxpYnNcdGLhu48gcXVhIHRyb25nIHRoxrAgdmnhu4duIGTDuW5nIGNodW5nIgogCi0jOiBsZXhzdXAuYzo1MTIKKyM6IGxleHN1cC5jOjUyMgogbXNnaWQgIk91dHB1dCBsb3RzIG9mIGluZm9ybWF0aW9uIGR1cmluZyBsaW5rIgogbXNnc3RyICJYdeG6pXQgcuG6pXQgbmhp4buBdSB0aMO0bmcgdGluIHRyb25nIGtoaSBsacOqbiBr4bq/dCIKIAotIzogbGV4c3VwLmM6NTE2CisjOiBsZXhzdXAuYzo1MjYKIG1zZ2lkICJSZWFkIHZlcnNpb24gaW5mb3JtYXRpb24gc2NyaXB0IgogbXNnc3RyICLEkOG7jWMgdsSDbiBs4buHbmggdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24iCiAKLSM6IGxleHN1cC5jOjUxOQorIzogbGV4c3VwLmM6NTI5CiBtc2dpZCAiIgogIlRha2UgZXhwb3J0IHN5bWJvbHMgbGlzdCBmcm9tIC5leHBvcnRzLCB1c2luZ1xuIgotIlx0XHRcdFx0U1lNQk9MIGFzIHRoZSB2ZXJzaW9uLiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNZTUJPTCBhcyB0aGUgdmVyc2lvbi4iCiBtc2dzdHIgIiIKICJM4bqleSBkYW5oIHPDoWNoIGPDoWMga8O9IGhp4buHdSB4deG6pXQgdOG7qyDCqyAuZXhwb3J0cyDCuyxcbiIKLSJcdFx0ZMO5bmcgS8OdIEhJ4buGVSBsw6BtIHBoacOqbiBi4bqjbi4iCisiXHRcdGTDuW5nIEvDnSBISeG7hlUgbMOgIHBoacOqbiBi4bqjbi4iCiAKLSM6IGxleHN1cC5jOjUyMgorIzogbGV4c3VwLmM6NTMzCiBtc2dpZCAiQWRkIGRhdGEgc3ltYm9scyB0byBkeW5hbWljIGxpc3QiCiBtc2dzdHIgIlRow6ptIGPDoWMga8O9IGhp4buHdSBk4buvIGxp4buHdSB2w6BvIGRhbmggc8OhY2ggxJHhu5luZyIKIAotIzogbGV4c3VwLmM6NTI0CisjOiBsZXhzdXAuYzo1MzUKIG1zZ2lkICJVc2UgQysrIG9wZXJhdG9yIG5ldy9kZWxldGUgZHluYW1pYyBsaXN0IgogbXNnc3RyICJEw7luZyBkYW5oIHPDoWNoIMSR4buZbmcgbeG7m2kveG/DoSB0b8OhbiB04butIEMrKyIKIAotIzogbGV4c3VwLmM6NTI2CisjOiBsZXhzdXAuYzo1MzcKIG1zZ2lkICJVc2UgQysrIHR5cGVpbmZvIGR5bmFtaWMgbGlzdCIKIG1zZ3N0ciAiRMO5bmcgZGFuaCBzw6FjaCDEkeG7mW5nIGtp4buDdS90aMO0bmcgdGluIEMrKyIKIAotIzogbGV4c3VwLmM6NTI4CisjOiBsZXhzdXAuYzo1MzkKIG1zZ2lkICJSZWFkIGR5bmFtaWMgbGlzdCIKIG1zZ3N0ciAixJDhu41jIGRhbmggc8OhY2ggxJHhu5luZyIKIAotIzogbGV4c3VwLmM6NTMwCisjOiBsZXhzdXAuYzo1NDEKIG1zZ2lkICJXYXJuIGFib3V0IGR1cGxpY2F0ZSBjb21tb24gc3ltYm9scyIKIG1zZ3N0ciAiQ+G6o25oIGLDoW8gduG7gSBrw70gaGnhu4d1IGTDuW5nIGNodW5nIHRyw7luZyIKIAotIzogbGV4c3VwLmM6NTMyCisjOiBsZXhzdXAuYzo1NDMKIG1zZ2lkICJXYXJuIGlmIGdsb2JhbCBjb25zdHJ1Y3RvcnMvZGVzdHJ1Y3RvcnMgYXJlIHNlZW4iCiBtc2dzdHIgIkPhuqNuaCBiw6FvIG7hur91IGfhurdwIGLhu5kgY+G6pXUgdOG6oW8vcGjDoSB0b8OgbiBj4bulYyIKIAotIzogbGV4c3VwLmM6NTM1CisjOiBsZXhzdXAuYzo1NDYKIG1zZ2lkICJXYXJuIGlmIHRoZSBtdWx0aXBsZSBHUCB2YWx1ZXMgYXJlIHVzZWQiCiBtc2dzdHIgIkPhuqNuaCBiw6FvIG7hur91IG5oaeG7gXUgZ2nDoSB0cuG7iyBHUCDEkcaw4bujYyBkw7luZyIKIAotIzogbGV4c3VwLmM6NTM3CisjOiBsZXhzdXAuYzo1NDgKIG1zZ2lkICJXYXJuIG9ubHkgb25jZSBwZXIgdW5kZWZpbmVkIHN5bWJvbCIKIG1zZ3N0ciAiQ+G6o25oIGLDoW8gY2jhu4kgbeG7mXQgbOG6p24gduG7gSBt4buXaSBrw70gaGnhu4d1IGNoxrBhIHjDoWMgxJHhu4tuaCIKIAotIzogbGV4c3VwLmM6NTM5CisjOiBsZXhzdXAuYzo1NTAKIG1zZ2lkICJXYXJuIGlmIHN0YXJ0IG9mIHNlY3Rpb24gY2hhbmdlcyBkdWUgdG8gYWxpZ25tZW50IgogbXNnc3RyICJD4bqjbmggYsOhbyBu4bq/dSDEkeG6p3UgY+G7p2EgcGjhuqduIHRoYXkgxJHhu5VpIGRvIHPhu7EgY2jhu4luaCBjYW5oIgogCi0jOiBsZXhzdXAuYzo1NDIKKyM6IGxleHN1cC5jOjU1MwogbXNnaWQgIldhcm4gaWYgc2hhcmVkIG9iamVjdCBoYXMgRFRfVEVYVFJFTCIKIG1zZ3N0ciAiQ+G6o25oIGLDoW8gbuG6v3UgxJHhu5FpIHTGsOG7o25nIGTDuW5nIGNodW5nIGPDsyDCqyBEVF9URVhUUkVMIMK7IgogCi0jOiBsZXhzdXAuYzo1NDYKKyM6IGxleHN1cC5jOjU1NwogbXNnaWQgIlJlcG9ydCB1bnJlc29sdmVkIHN5bWJvbHMgYXMgd2FybmluZ3MiCiBtc2dzdHIgIlRow7RuZyBiw6FvIGvDvSBoaeG7h3UgY2jGsGEgdGjDoW8gZ+G7oSBk4bqhbmcgY+G6o25oIGLDoW8iCiAKLSM6IGxleHN1cC5jOjU0OQorIzogbGV4c3VwLmM6NTYwCiBtc2dpZCAiUmVwb3J0IHVucmVzb2x2ZWQgc3ltYm9scyBhcyBlcnJvcnMiCiBtc2dzdHIgIlRow7RuZyBiw6FvIGvDvSBoaeG7h3UgY2jGsGEgdGjDoW8gZ+G7oSBk4bqhbmcgbOG7l2kiCiAKLSM6IGxleHN1cC5jOjU1MQorIzogbGV4c3VwLmM6NTYyCiBtc2dpZCAiSW5jbHVkZSBhbGwgb2JqZWN0cyBmcm9tIGZvbGxvd2luZyBhcmNoaXZlcyIKIG1zZ3N0ciAiR+G7k20gY8OzIG3hu41pIMSR4buRaSB0xrDhu6NuZyB04burIG5o4buvbmcga2hvIHRoZW8gxJHDonkiCiAKLSM6IGxleHN1cC5jOjU1NAorIzogbGV4c3VwLmM6NTY1CiBtc2dpZCAiVXNlIHdyYXBwZXIgZnVuY3Rpb25zIGZvciBTWU1CT0wiCiBtc2dzdHIgIlPhu60gZOG7pW5nIGPDoWMgaMOgbSBiYW8gYuG7jWMgY2hvIEvDnSBISeG7hlUiCiAKLSM6IGxleHN1cC5jOjcwMQorIzogbGV4c3VwLmM6NzEyCiBtc2dpZCAiJVA6IHVucmVjb2duaXplZCBvcHRpb24gJyVzJ1xuIgogbXNnc3RyICIlUDoga2jDtG5nIG5o4bqtbiByYSB0w7l5IGNo4buNbiDCqyAlcyDCu1xuIgogCi0jOiBsZXhzdXAuYzo3MDUKKyM6IGxleHN1cC5jOjcxNgogbXNnaWQgIiVQJUY6IHVzZSB0aGUgLS1oZWxwIG9wdGlvbiBmb3IgdXNhZ2UgaW5mb3JtYXRpb25cbiIKIG1zZ3N0ciAiJVAlRjogaMOjeSBz4butIGThu6VuZyB0w7l5IGNo4buNbiB0cuG7oyBnacO6cCDCqyAtLWhlbHAgwrsgxJHhu4MgeGVtIHRow7RuZyB0aW4gduG7gSBjw6FjaCBz4butIGThu6VuZ1xuIgogCi0jOiBsZXhzdXAuYzo3MjMKKyM6IGxleHN1cC5jOjczNAogbXNnaWQgIiVQJUY6IHVucmVjb2duaXplZCAtYSBvcHRpb24gYCVzJ1xuIgogbXNnc3RyICIlUCVGOiBraMO0bmcgbmjhuq1uIHJhIHTDuXkgY2jhu41uIGtp4buDdSDCqyAtYSDCuyDCqyAlcyDCu1xuIgogCi0jOiBsZXhzdXAuYzo3MzYKKyM6IGxleHN1cC5jOjc0NwogbXNnaWQgIiVQJUY6IHVucmVjb2duaXplZCAtYXNzZXJ0IG9wdGlvbiBgJXMnXG4iCiBtc2dzdHIgIiVQJUY6IGtow7RuZyBuaOG6rW4gcmEgdMO5eSBjaOG7jW4ga2nhu4N1IMKrIC1hc3NlcnQgwrsgwqsgJXMgwrtcbiIKIAotIzogbGV4c3VwLmM6Nzc5CisjOiBsZXhzdXAuYzo3OTAKIG1zZ2lkICIlRiVQOiB1bmtub3duIGRlbWFuZ2xpbmcgc3R5bGUgYCVzJyIKIG1zZ3N0ciAiJUYlUHM6IGtow7RuZyByw7Uga2nhu4N1IGTDoW5nIHRow6FvIGfDtSDCqyAlcyDCuyIKIAotIzogbGV4c3VwLmM6ODQxCisjOiBsZXhzdXAuYzo4NTIKIG1zZ2lkICIlUCVGOiBpbnZhbGlkIG51bWJlciBgJXMnXG4iCiBtc2dzdHIgIiVQJUY6IGNvbiBz4buRIGtow7RuZyBo4bujcCBs4buHIMKrICVzIMK7XG4iCiAKLSM6IGxleHN1cC5jOjkzOQorIzogbGV4c3VwLmM6OTUwCiBtc2dpZCAiJVAlRjogYmFkIC0tdW5yZXNvbHZlZC1zeW1ib2xzIG9wdGlvbjogJXNcbiIKIG1zZ3N0ciAiJVAlRjogdMO5eSBjaOG7jW4gwqsgLS11bnJlc29sdmVkLXN5bWJvbHMgwrsgc2FpOiAlc1xuIgogCkBAIC0xODk1LDkyICsxOTE1LDEwNCBAQAogIy4gYW4gZXJyb3IgbWVzc2FnZSBoZXJlLiAgV2UgY2Fubm90IGp1c3QgbWFrZSB0aGlzIGEgd2FybmluZywKICMuIGluY3JlbWVudCBvcHRpbmQsIGFuZCBjb250aW51ZSBiZWNhdXNlIGdldG9wdCBpcyB0b28gY29uZnVzZWQKICMuIGFuZCB3aWxsIHNlZy1mYXVsdCB0aGUgbmV4dCB0aW1lIGFyb3VuZC4KLSM6IGxleHN1cC5jOjEwMTMKKyM6IGxleHN1cC5jOjEwMjQKIG1zZ2lkICIlUCVGOiBiYWQgLXJwYXRoIG9wdGlvblxuIgogbXNnc3RyICIlUCVGOiB0w7l5IGNo4buNbiDCqyAtcnBhdGggwrsgc2FpXG4iCiAKLSM6IGxleHN1cC5jOjExMjQKKyM6IGxleHN1cC5jOjExMzUKIG1zZ2lkICIlUCVGOiAtc2hhcmVkIG5vdCBzdXBwb3J0ZWRcbiIKIG1zZ3N0ciAiJVAlRjoga2jDtG5nIGjhu5cgdHLhu6MgdMO5eSBjaOG7jW4gwqsgLXNoYXJlZCDCu1xuIgogCi0jOiBsZXhzdXAuYzoxMTMzCisjOiBsZXhzdXAuYzoxMTQ0CiBtc2dpZCAiJVAlRjogLXBpZSBub3Qgc3VwcG9ydGVkXG4iCiBtc2dzdHIgIiVQJUY6IGtow7RuZyBo4buXIHRy4bujIHTDuXkgY2jhu41uIMKrIC1waWUgwrtcbiIKIAotIzogbGV4c3VwLmM6MTE0MworIzogbGV4c3VwLmM6MTE1MgorbXNnaWQgImRlc2NlbmRpbmciCittc2dzdHIgImdp4bqjbSIKKworIzogbGV4c3VwLmM6MTE1NAorbXNnaWQgImFzY2VuZGluZyIKK21zZ3N0ciAidMSDbmciCisKKyM6IGxleHN1cC5jOjExNTcKK21zZ2lkICIlUCVGOiBpbnZhbGlkIGNvbW1vbiBzZWN0aW9uIHNvcnRpbmcgb3B0aW9uOiAlc1xuIgorbXNnc3RyICIlUCVGOiBzYWkgxJHhurd0IHTDuXkgY2jhu41uIHPhuq9wIHjhur9wIHBo4bqnbiBkw7luZyBjaHVuZzogJXNcbiIKKworIzogbGV4c3VwLmM6MTE2MQogbXNnaWQgIm5hbWUiCiBtc2dzdHIgInTDqm4iCiAKLSM6IGxleHN1cC5jOjExNDUKKyM6IGxleHN1cC5jOjExNjMKIG1zZ2lkICJhbGlnbm1lbnQiCiBtc2dzdHIgImNo4buJbmggY2FuaCIKIAotIzogbGV4c3VwLmM6MTE0OAorIzogbGV4c3VwLmM6MTE2NgogbXNnaWQgIiVQJUY6IGludmFsaWQgc2VjdGlvbiBzb3J0aW5nIG9wdGlvbjogJXNcbiIKIG1zZ3N0ciAiJVAlRjogdMO5eSBjaOG7jW4gc+G6r3AgeOG6v3AgcGjhuqduIGtow7RuZyBo4bujcCBs4buHOiAlc1xuIgogCi0jOiBsZXhzdXAuYzoxMTgwCisjOiBsZXhzdXAuYzoxMjAwCiBtc2dpZCAiJVAlRjogaW52YWxpZCBhcmd1bWVudCB0byBvcHRpb24gXCItLXNlY3Rpb24tc3RhcnRcIlxuIgogbXNnc3RyICIlUCVGOiDEkeG7kWkgc+G7kSBraMO0bmcgaOG7o3AgbOG7hyDEkeG7kWkgduG7m2kgdMO5eSBjaOG7jW4gwqsgLS1zZWN0aW9uLXN0YXJ0IMK7XG4iCiAKLSM6IGxleHN1cC5jOjExODcKKyM6IGxleHN1cC5jOjEyMDcKIG1zZ2lkICIlUCVGOiBtaXNzaW5nIGFyZ3VtZW50KHMpIHRvIG9wdGlvbiBcIi0tc2VjdGlvbi1zdGFydFwiXG4iCiBtc2dzdHIgIiVQJUY6IHRoaeG6v3UgxJHhu5FpIHPhu5EgxJHhu5FpIHbhu5tpIHTDuXkgY2jhu41uIMKrIC0tc2VjdGlvbi1zdGFydCDCu1xuIgogCi0jOiBsZXhzdXAuYzoxMzk4CisjOiBsZXhzdXAuYzoxNDIxCiBtc2dpZCAiJVAlRjogbWF5IG5vdCBuZXN0IGdyb3VwcyAoLS1oZWxwIGZvciB1c2FnZSlcbiIKIG1zZ3N0ciAiJVAlRjoga2jDtG5nIGNobyBwaMOpcCBs4buTbmcgY8OhYyBuaMOzbSB24bubaSBuaGF1ICjCqyAtLWhlbHAgwrsgxJHhu4MgeGVtIGPDoWNoIHPhu60gZOG7pW5nKVxuIgogCi0jOiBsZXhzdXAuYzoxNDA1CisjOiBsZXhzdXAuYzoxNDI4CiBtc2dpZCAiJVAlRjogZ3JvdXAgZW5kZWQgYmVmb3JlIGl0IGJlZ2FuICgtLWhlbHAgZm9yIHVzYWdlKVxuIgogbXNnc3RyICIlUCVGOiBuaMOzbSBr4bq/dCB0aMO6YyB0csaw4bubYyBraGkgYuG6r3QgxJHhuqd1ICjCqyAtLWhlbHAgwrsgxJHhu4MgeGVtIGPDoWNoIHPhu60gZOG7pW5nKVxuIgogCi0jOiBsZXhzdXAuYzoxNDMzCisjOiBsZXhzdXAuYzoxNDU2CiBtc2dpZCAiJVAlWDogLS1oYXNoLXNpemUgbmVlZHMgYSBudW1lcmljIGFyZ3VtZW50XG4iCiBtc2dzdHIgIiVQJVg6IHTDuXkgY2jhu41uIMKrIC0taGFzaC1zaXplIMK7IGPhuqduIHRoaeG6v3QgxJHhu5FpIHPhu5EgdGh14buZYyBz4buRXG4iCiAKLSM6IGxleHN1cC5jOjE0ODQgbGV4c3VwLmM6MTQ5NworIzogbGV4c3VwLmM6MTUwNyBsZXhzdXAuYzoxNTIwCiBtc2dpZCAiJVAlRjogaW52YWxpZCBoZXggbnVtYmVyIGAlcydcbiIKIG1zZ3N0ciAiJVAlRjogc+G7kSB0aOG6rXAgbOG7pWMga2jDtG5nIGjhu6NwIGzhu4cgwqsgJXMgwrtcbiIKIAotIzogbGV4c3VwLmM6MTUzMworIzogbGV4c3VwLmM6MTU1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKIG1zZ3N0ciAiQ8OhY2ggc+G7rSBk4bulbmc6ICVzIDx0w7l5X2No4buNbj4gdOG6rXBfdGluLi4uXG4iCiAKLSM6IGxleHN1cC5jOjE1MzUKKyM6IGxleHN1cC5jOjE1NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uczpcbiIKIG1zZ3N0ciAiVMO5eSBjaOG7jW46XG4iCiAKLSM6IGxleHN1cC5jOjE2MTMKKyM6IGxleHN1cC5jOjE2MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBARklMRSIKIG1zZ3N0ciAiICBAVOG6rFBfVElOIgogCi0jOiBsZXhzdXAuYzoxNjE2CisjOiBsZXhzdXAuYzoxNjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlYWQgb3B0aW9ucyBmcm9tIEZJTEVcbiIKIG1zZ3N0ciAixJDhu41jIGPDoWMgdMO5eSBjaOG7jW4gdOG7qyBU4bqsUF9USU5cbiIKIAogIy4gTm90ZTogVmFyaW91cyB0b29scyAoc3VjaCBhcyBsaWJ0b29sKSBkZXBlbmQgdXBvbiB0aGUKICMuIGZvcm1hdCBvZiB0aGUgbGlzdGluZ3MgYmVsb3cgLSBkbyBub3QgY2hhbmdlIHRoZW0uCi0jOiBsZXhzdXAuYzoxNjIxCisjOiBsZXhzdXAuYzoxNjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdXBwb3J0ZWQgdGFyZ2V0czoiCiBtc2dzdHIgIiVzOiDEkcOtY2ggaOG7lyB0cuG7oyA6IgogCi0jOiBsZXhzdXAuYzoxNjI5CisjOiBsZXhzdXAuYzoxNjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdXBwb3J0ZWQgZW11bGF0aW9uczogIgogbXNnc3RyICIlczogbcO0IHBo4buPbmcgaOG7lyB0cuG7oyA6ICIKIAotIzogbGV4c3VwLmM6MTYzNAorIzogbGV4c3VwLmM6MTY1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZW11bGF0aW9uIHNwZWNpZmljIG9wdGlvbnM6XG4iCiBtc2dzdHIgIiVzOiB0w7l5IGNo4buNbiDEkeG6t2MgdHLGsG5nIGNobyBtw7QgcGjhu49uZzpcbiIKIAotIzogbGV4c3VwLmM6MTYzOQorIzogbGV4c3VwLmM6MTY2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXBvcnQgYnVncyB0byAlc1xuIgogbXNnc3RyICJIw6N5IHRow7RuZyBiw6FvIGzhu5dpIGNobyAlc1xuIgpAQCAtMTk4OSw4MyArMjAyMSw3MSBAQAogbXNnaWQgIiVQJUY6IHVua25vd24gZm9ybWF0IHR5cGUgJXNcbiIKIG1zZ3N0ciAiJVAlRjoga2jDtG5nIHLDtSBraeG7g3UgxJHhu4tuaCBk4bqhbmcgJXNcbiIKIAotIzogcGUtZGxsLmM6MzY3CisjOiBwZS1kbGwuYzozODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJVhVbnN1cHBvcnRlZCBQRUkgYXJjaGl0ZWN0dXJlOiAlc1xuIgogbXNnc3RyICIlWEtow7RuZyBo4buXIHRy4bujIGtp4bq/biB0csO6YyBQRUk6ICVzXG4iCiAKLSM6IHBlLWRsbC5jOjY3MworIzogcGUtZGxsLmM6NjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVYQ2Fubm90IGV4cG9ydCAlczogaW52YWxpZCBleHBvcnQgbmFtZVxuIgogbXNnc3RyICIlWEtow7RuZyB0aOG7gyB4deG6pXQga2jhuql1ICVzOiB0w6puIHh14bqldCBraOG6qXUga2jDtG5nIGjhu6NwIGzhu4dcbiIKIAotIzogcGUtZGxsLmM6NzI5CisjOiBwZS1kbGwuYzo3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJVhFcnJvciwgZHVwbGljYXRlIEVYUE9SVCB3aXRoIG9yZGluYWxzOiAlcyAoJWQgdnMgJWQpXG4iCiBtc2dzdHIgIiVYTOG7l2k6IEVYUE9SVCB0csO5bmcgduG7m2kgY8OhYyDEkWnhu4F1IHRo4bupIHThu7EgOiAlcyAoJWQgc28gduG7m2kgJWQpXG4iCiAKLSM6IHBlLWRsbC5jOjczNgorIzogcGUtZGxsLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIldhcm5pbmcsIGR1cGxpY2F0ZSBFWFBPUlQ6ICVzXG4iCiBtc2dzdHIgIkPhuqNuaCBiw6FvLCBFWFBPUlQgdHLDuW5nOiAlc1xuIgogCi0jOiBwZS1kbGwuYzo4MjMKKyM6IHBlLWRsbC5jOjg0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlWENhbm5vdCBleHBvcnQgJXM6IHN5bWJvbCBub3QgZGVmaW5lZFxuIgogbXNnc3RyICIlWEtow7RuZyB0aOG7gyB4deG6pXQga2jhuql1ICVzOiBjaMawYSB4w6FjIMSR4buLbmgga8O9IGhp4buHdVxuIgogCi0jOiBwZS1kbGwuYzo4MjkKKyM6IHBlLWRsbC5jOjg0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlWENhbm5vdCBleHBvcnQgJXM6IHN5bWJvbCB3cm9uZyB0eXBlICglZCB2cyAlZClcbiIKIG1zZ3N0ciAiJVhLaMO0bmcgdGjhu4MgeHXhuqV0IGto4bqpdSAlczoga8O9IGhp4buHdSBzYWkga2nhu4N1ICglZCBzbyB24bubaSAlZClcbiIKIAotIzogcGUtZGxsLmM6ODM2CisjOiBwZS1kbGwuYzo4NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJVhDYW5ub3QgZXhwb3J0ICVzOiBzeW1ib2wgbm90IGZvdW5kXG4iCiBtc2dzdHIgIiVYS2jDtG5nIHRo4buDIHh14bqldCBraOG6qXUgJXM6IGtow7RuZyB0w6xtIHRo4bqleSBrw70gaGnhu4d1XG4iCiAKLSM6IHBlLWRsbC5jOjk0OQorIzogcGUtZGxsLmM6OTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVYRXJyb3IsIG9yZGluYWwgdXNlZCB0d2ljZTogJWQgKCVzIHZzICVzKVxuIgogbXNnc3RyICIlWEzhu5dpLCDEkWnhu4F1IHRo4bupIHThu7EgxJHGsOG7o2MgZMO5bmcgaGFpIGzhuqduOiAlZCAoJXMgc28gduG7m2kgJXMpXG4iCiAKLSM6IHBlLWRsbC5jOjEyOTcKKyM6IHBlLWRsbC5jOjEzMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJVhFcnJvcjogJWQtYml0IHJlbG9jIGluIGRsbFxuIgogbXNnc3RyICIlWEzhu5dpOiBz4buxIMSR4buLbmggduG7iyBs4bqhaSAlZC1iaXQgdHJvbmcgZGxsXG4iCiAKLSM6IHBlLWRsbC5jOjE0MjUKKyM6IHBlLWRsbC5jOjE0NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IENhbid0IG9wZW4gb3V0cHV0IGRlZiBmaWxlICVzXG4iCiBtc2dzdHIgIiVzOiBLaMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4gZGVmIHh14bqldCAlc1xuIgogCi0jOiBwZS1kbGwuYzoxNTY4CisjOiBwZS1kbGwuYzoxNjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIjsgbm8gY29udGVudHMgYXZhaWxhYmxlXG4iCiBtc2dzdHIgIjsga2jDtG5nIGPDsyBu4buZaSBkdW5nIHPhurVuIHPDoG5nXG4iCiAKLSM6IHBlLWRsbC5jOjIzNjQKKyM6IHBlLWRsbC5jOjI0MDcKIG1zZ2lkICIlQzogdmFyaWFibGUgJyVUJyBjYW4ndCBiZSBhdXRvLWltcG9ydGVkLiBQbGVhc2UgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgbGQncyAtLWVuYWJsZS1hdXRvLWltcG9ydCBmb3IgZGV0YWlscy5cbiIKIG1zZ3N0ciAiJUM6IGtow7RuZyB0aOG7gyB04buxIMSR4buZbmcgbmjhuq1wIGto4bqpdSBiaeG6v24gwqsgJVQgwrsuIEjDo3kgxJHhu41jIHTDoGkgbGnhu4d1IGjGsOG7m25nIGThuqtuIHbhu4EgdMO5eSBjaOG7jW4gwqsgLS1lbmFibGUtYXV0by1pbXBvcnQgwrsgKGLhuq10IG5o4bqtcCB04buxIMSR4buZbmcpIGPhu6dhIHBo4bqnbiBt4buBbSBsZCwgxJHhu4MgeGVtIGNoaSB0aeG6v3QuXG4iCiAKLSM6IHBlLWRsbC5jOjIzOTQKKyM6IHBlLWRsbC5jOjI0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJVhDYW4ndCBvcGVuIC5saWIgZmlsZTogJXNcbiIKIG1zZ3N0ciAiJVhLaMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4gwqsgLmxpYiDCuyAodGjGsCB2aeG7h24pOiAlc1xuIgogCi0jOiBwZS1kbGwuYzoyMzk5CisjOiBwZS1kbGwuYzoyNDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNyZWF0aW5nIGxpYnJhcnkgZmlsZTogJXNcbiIKIG1zZ3N0ciAixJBhbmcgdOG6oW8gdOG6rXAgdGluIHRoxrAgdmnhu4duOiAlc1xuIgotCi0jfiBtc2dpZCAiJUYlUyBub24gY29uc3RhbnQgZXhwcmVzc2lvbiBmb3IgJXNcbiIKLSN+IG1zZ3N0ciAiJUYlUyBiaeG7g3UgdGjhu6ljIHRoYXkgxJHhu5VpIGNobyAlc1xuIgotCi0jfiBtc2dpZCAiJVAlRjogb3V0IG9mIG1lbW9yeSBkdXJpbmcgaW5pdGlhbGl6YXRpb24iCi0jfiBtc2dzdHIgIiVQJUY6IGjhur90IGLhu5kgbmjhu5sgdHJvbmcga2hpIGPDoGkgxJHhurd0IgotCi0jfiBtc2dpZCAiJVAlRjogLXN0YXRpYyBhbmQgLXNoYXJlZCBtYXkgbm90IGJlIHVzZWQgdG9nZXRoZXJcbiIKLSN+IG1zZ3N0ciAiJVAlRjoga2jDtG5nIHRo4buDIHPhu60gZOG7pW5nIGPhuqMgwqsgLXN0YXRpYyDCuyAodMSpbmgpIGzhuqtuIMKrIC1zaGFyZWQgwrsgKGTDuW5nIGNodW5nKSDEkeG7gXVcbiIKLQotI34gbXNnaWQgIiVQJVg6IGdlbmVyYXRlZCIKLSN+IG1zZ3N0ciAiJVAlWDogxJHDoyB04bqhbyByYSIKZGlmZiAtLWdpdCBhL2xkL3NjcmlwdHRlbXBsL2F2ci5zYyBiL2xkL3NjcmlwdHRlbXBsL2F2ci5zYwppbmRleCA3MzY4Y2FmLi4yM2IzMDQ2IDEwMDY0NAotLS0gYS9sZC9zY3JpcHR0ZW1wbC9hdnIuc2MKKysrIGIvbGQvc2NyaXB0dGVtcGwvYXZyLnNjCkBAIC03Miw3ICs3Miw3IEBACiAgIC5yZWxhLnBsdCAgICAke1JFTE9DQVRJTkctMH0gOiB7ICooLnJlbGEucGx0KQkJfQogCiAgIC8qIEludGVybmFsIHRleHQgc3BhY2Ugb3IgZXh0ZXJuYWwgbWVtb3J5LiAgKi8KLSAgLnRleHQgOgorICAudGV4dCAke1JFTE9DQVRJTkctMH0gOgogICB7CiAgICAgKigudmVjdG9ycykKICAgICBLRUVQKCooLnZlY3RvcnMpKQpAQCAtMTY4LDcgKzE2OCw3IEBACiAgICAgJHtSRUxPQ0FUSU5HKyBQUk9WSURFIChfX2RhdGFfZW5kID0gLikgOyB9CiAgIH0gJHtSRUxPQ0FUSU5HKyA+IGRhdGF9CiAKLSAgLmJzcyAke1JFTE9DQVRJTkcrIFNJWkVPRiguZGF0YSkgKyBBRERSKC5kYXRhKX0gOgorICAuYnNzICR7UkVMT0NBVElORy0wfSA6JHtSRUxPQ0FUSU5HKyBBVCAoQUREUiAoLmJzcykpfQogICB7CiAgICAgJHtSRUxPQ0FUSU5HKyBQUk9WSURFIChfX2Jzc19zdGFydCA9IC4pIDsgfQogICAgICooLmJzcykKQEAgLTE4MSw3ICsxODEsNyBAQAogICAke1JFTE9DQVRJTkcrIF9fZGF0YV9sb2FkX2VuZCA9IF9fZGF0YV9sb2FkX3N0YXJ0ICsgU0laRU9GKC5kYXRhKTsgfQogCiAgIC8qIEdsb2JhbCBkYXRhIG5vdCBjbGVhcmVkIGFmdGVyIHJlc2V0LiAgKi8KLSAgLm5vaW5pdCAke1JFTE9DQVRJTkcrIFNJWkVPRiguYnNzKSArIEFERFIoLmJzcyl9IDoKKyAgLm5vaW5pdCAke1JFTE9DQVRJTkctMH06CiAgIHsKICAgICAke1JFTE9DQVRJTkcrIFBST1ZJREUgKF9fbm9pbml0X3N0YXJ0ID0gLikgOyB9CiAgICAgKigubm9pbml0KikKZGlmZiAtLWdpdCBhL2xkL3NjcmlwdHRlbXBsL2VsZi5zYyBiL2xkL3NjcmlwdHRlbXBsL2VsZi5zYwppbmRleCA1YzM1ZTRmLi4xMjBkYjA2IDEwMDY0NAotLS0gYS9sZC9zY3JpcHR0ZW1wbC9lbGYuc2MKKysrIGIvbGQvc2NyaXB0dGVtcGwvZWxmLnNjCkBAIC0zNiw2ICszNiw5IEBACiAjCURBVEFfUExUIC0gLnBsdCBzaG91bGQgYmUgaW4gZGF0YSBzZWdtZW50LCBub3QgdGV4dCBzZWdtZW50LgogIwlQTFRfQkVGT1JFX0dPVCAtIC5wbHQganVzdCBiZWZvcmUgLmdvdCB3aGVuIC5wbHQgaXMgaW4gZGF0YSBzZWdlbWVudC4KICMJQlNTX1BMVCAtIC5wbHQgc2hvdWxkIGJlIGluIGJzcyBzZWdtZW50CisjCU5PX1JFTF9SRUxPQ1MgLSBEb24ndCBpbmNsdWRlIC5yZWwuKiBzZWN0aW9ucyBpbiBzY3JpcHQKKyMJTk9fUkVMQV9SRUxPQ1MgLSBEb24ndCBpbmNsdWRlIC5yZWxhLiogc2VjdGlvbnMgaW4gc2NyaXB0CisjCU5PTl9BTExPQ19EWU4gLSBQbGFjZSBkeW5hbWljIHNlY3Rpb25zIGFmdGVyIGRhdGEgc2VnbWVudC4KICMJVEVYVF9EWU5BTUlDIC0gLmR5bmFtaWMgaW4gdGV4dCBzZWdtZW50LCBub3QgZGF0YSBzZWdtZW50LgogIwlFTUJFRERFRCAtIHdoZXRoZXIgdGhpcyBpcyBmb3IgYW4gZW1iZWRkZWQgc3lzdGVtLiAKICMJU0hMSUJfVEVYVF9TVEFSVF9BRERSIC0gaWYgc2V0LCBhZGQgdG8gU0laRU9GX0hFQURFUlMgdG8gc2V0CkBAIC0yNjgsNiArMjcxLDExIEBACiAgICR7Q1JFQVRFX1BJRSske1JFTE9DQVRJTkcrLiA9ICR7U0hMSUJfVEVYVF9TVEFSVF9BRERSOi0wfSArIFNJWkVPRl9IRUFERVJTO319CiAgICR7SU5JVElBTF9SRUFET05MWV9TRUNUSU9OU30KICAgLm5vdGUuZ251LmJ1aWxkLWlkIDogeyAqKC5ub3RlLmdudS5idWlsZC1pZCkgfQorRU9GCisKK3Rlc3QgLW4gIiR7UkVMT0NBVElORyswfSIgfHwgdW5zZXQgTk9OX0FMTE9DX0RZTgordGVzdCAteiAiJHtOT05fQUxMT0NfRFlOfSIgfHwgVEVYVF9EWU5BTUlDPQorY2F0ID4gbGRzY3JpcHRzL2R5bnRtcC4kJCA8PEVPRgogICAke1RFWFRfRFlOQU1JQyske0RZTkFNSUN9fQogICAuaGFzaCAgICAgICAgICR7UkVMT0NBVElORy0wfSA6IHsgKiguaGFzaCkgfQogICAuZ251Lmhhc2ggICAgICR7UkVMT0NBVElORy0wfSA6IHsgKiguZ251Lmhhc2gpIH0KQEAgLTI3NiwxMCArMjg0LDEwIEBACiAgIC5nbnUudmVyc2lvbiAgJHtSRUxPQ0FUSU5HLTB9IDogeyAqKC5nbnUudmVyc2lvbikgfQogICAuZ251LnZlcnNpb25fZCAke1JFTE9DQVRJTkctMH06IHsgKiguZ251LnZlcnNpb25fZCkgfQogICAuZ251LnZlcnNpb25fciAke1JFTE9DQVRJTkctMH06IHsgKiguZ251LnZlcnNpb25fcikgfQotCiBFT0YKKwogaWYgWyAieCRDT01CUkVMT0MiID0geCBdOyB0aGVuCi0gIENPTUJSRUxPQ0NBVD1jYXQKKyAgQ09NQlJFTE9DQ0FUPSJjYXQgPj4gbGRzY3JpcHRzL2R5bnRtcC4kJCIKIGVsc2UKICAgQ09NQlJFTE9DQ0FUPSJjYXQgPiAkQ09NQlJFTE9DIgogZmkKQEAgLTMxNiwyNyArMzI0LDQ1IEBACiAgIC5yZWxhLmJzcyAgICAgJHtSRUxPQ0FUSU5HLTB9IDogeyAqKC5yZWxhLmJzcyR7UkVMT0NBVElORysgLnJlbGEuYnNzLiogLnJlbGEuZ251LmxpbmtvbmNlLmIuKn0pIH0KICAgJHtSRUxfTEFSR0V9CiBFT0YKKwogaWYgWyAtbiAiJENPTUJSRUxPQyIgXTsgdGhlbgotY2F0IDw8RU9GCitjYXQgPj4gbGRzY3JpcHRzL2R5bnRtcC4kJCA8PEVPRgogICAucmVsLmR5biAgICAgICR7UkVMT0NBVElORy0wfSA6CiAgICAgewogRU9GCi1zZWQgLWUgJy9eWyAJXSpbe31dWyAJXSokL2Q7LzpbIAldKiQvZDsvXC5yZWxhXC4vZDtzL14uKjogeyAqXCguKlwpfSQvICAgICAgXDEvJyAkQ09NQlJFTE9DCi1jYXQgPDxFT0YKK3NlZCAtZSAnL15bIAldKlt7fV1bIAldKiQvZDsvOlsgCV0qJC9kOy9cLnJlbGFcLi9kO3MvXi4qOiB7ICpcKC4qXCl9JC8gICAgICBcMS8nICRDT01CUkVMT0MgPj4gbGRzY3JpcHRzL2R5bnRtcC4kJAorY2F0ID4+IGxkc2NyaXB0cy9keW50bXAuJCQgPDxFT0YKICAgICB9CiAgIC5yZWxhLmR5biAgICAgJHtSRUxPQ0FUSU5HLTB9IDoKICAgICB7CiBFT0YKLXNlZCAtZSAnL15bIAldKlt7fV1bIAldKiQvZDsvOlsgCV0qJC9kOy9cLnJlbFwuL2Q7cy9eLio6IHsgKlwoLipcKX0vICAgICAgXDEvJyAkQ09NQlJFTE9DCi1jYXQgPDxFT0YKK3NlZCAtZSAnL15bIAldKlt7fV1bIAldKiQvZDsvOlsgCV0qJC9kOy9cLnJlbFwuL2Q7cy9eLio6IHsgKlwoLipcKX0vICAgICAgXDEvJyAkQ09NQlJFTE9DID4+IGxkc2NyaXB0cy9keW50bXAuJCQKK2NhdCA+PiBsZHNjcmlwdHMvZHludG1wLiQkIDw8RU9GCiAgICAgfQogRU9GCiBmaQotY2F0IDw8RU9GCisKK2NhdCA+PiBsZHNjcmlwdHMvZHludG1wLiQkIDw8RU9GCiAgIC5yZWwucGx0ICAgICAgJHtSRUxPQ0FUSU5HLTB9IDogeyAqKC5yZWwucGx0KSB9CiAgIC5yZWxhLnBsdCAgICAgJHtSRUxPQ0FUSU5HLTB9IDogeyAqKC5yZWxhLnBsdCkgfQogICAke09USEVSX1BMVF9SRUxPQ19TRUNUSU9OU30KK0VPRgogCitpZiB0ZXN0IC16ICIke05PTl9BTExPQ19EWU59IjsgdGhlbgorICBpZiB0ZXN0IC16ICIke05PX1JFTF9SRUxPQ1N9JHtOT19SRUxBX1JFTE9DU30iOyB0aGVuCisgICAgY2F0IGxkc2NyaXB0cy9keW50bXAuJCQKKyAgZWxzZQorICAgIGlmIHRlc3QgLXogIiR7Tk9fUkVMX1JFTE9DU30iOyB0aGVuCisgICAgICBzZWQgLWUgJy9eWyAJXSpcLnJlbGFcLltefV0qJC8sL30vZCcgLWUgJy9eWyAJXSpcLnJlbGFcLi9kJyBsZHNjcmlwdHMvZHludG1wLiQkCisgICAgZmkKKyAgICBpZiB0ZXN0IC16ICIke05PX1JFTEFfUkVMT0NTfSI7IHRoZW4KKyAgICAgIHNlZCAtZSAnL15bIAldKlwucmVsXC5bXn1dKiQvLC99L2QnIC1lICcvXlsgCV0qXC5yZWxcLi9kJyBsZHNjcmlwdHMvZHludG1wLiQkCisgICAgZmkKKyAgZmkKKyAgcm0gLWYgbGRzY3JpcHRzL2R5bnRtcC4kJAorZmkKKworY2F0IDw8RU9GCiAgIC5pbml0ICAgICAgICAgJHtSRUxPQ0FUSU5HLTB9IDogCiAgIHsgCiAgICAgJHtSRUxPQ0FUSU5HKyR7SU5JVF9TVEFSVH19CkBAIC00NjQsNyArNDkwLDIzIEBACiAgICR7UkVMT0NBVElORyske09USEVSX0VORF9TWU1CT0xTfX0KICAgJHtSRUxPQ0FUSU5HKyR7RU5EX1NZTUJPTFMtJHtVU0VSX0xBQkVMX1BSRUZJWH1fZW5kID0gLjsgUFJPVklERSAoJHtVU0VSX0xBQkVMX1BSRUZJWH1lbmQgPSAuKTt9fQogICAke1JFTE9DQVRJTkcrJHtEQVRBX1NFR01FTlRfRU5EfX0KK0VPRgogCitpZiB0ZXN0IC1uICIke05PTl9BTExPQ19EWU59IjsgdGhlbgorICBpZiB0ZXN0IC16ICIke05PX1JFTF9SRUxPQ1N9JHtOT19SRUxBX1JFTE9DU30iOyB0aGVuCisgICAgY2F0IGxkc2NyaXB0cy9keW50bXAuJCQKKyAgZWxzZQorICAgIGlmIHRlc3QgLXogIiR7Tk9fUkVMX1JFTE9DU30iOyB0aGVuCisgICAgICBzZWQgLWUgJy9eWyAJXSpcLnJlbGFcLltefV0qJC8sL30vZCcgLWUgJy9eWyAJXSpcLnJlbGFcLi9kJyBsZHNjcmlwdHMvZHludG1wLiQkCisgICAgZmkKKyAgICBpZiB0ZXN0IC16ICIke05PX1JFTEFfUkVMT0NTfSI7IHRoZW4KKyAgICAgIHNlZCAtZSAnL15bIAldKlwucmVsXC5bXn1dKiQvLC99L2QnIC1lICcvXlsgCV0qXC5yZWxcLi9kJyBsZHNjcmlwdHMvZHludG1wLiQkCisgICAgZmkKKyAgZmkKKyAgcm0gLWYgbGRzY3JpcHRzL2R5bnRtcC4kJAorZmkKKworY2F0IDw8RU9GCiAgIC8qIFN0YWJzIGRlYnVnZ2luZyBzZWN0aW9ucy4gICovCiAgIC5zdGFiICAgICAgICAgIDAgOiB7ICooLnN0YWIpIH0KICAgLnN0YWJzdHIgICAgICAgMCA6IHsgKiguc3RhYnN0cikgfQpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL0NoYW5nZUxvZyBiL2xkL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKaW5kZXggYTJjMzA1MC4uOGM5NGRjOCAxMDA2NDQKLS0tIGEvbGQvdGVzdHN1aXRlL0NoYW5nZUxvZworKysgYi9sZC90ZXN0c3VpdGUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTAzIEBACisyMDA4LTEwLTI5ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgorCisJKiBsZC1nYy9nYy5jIChkdW1teV9mdW5jKTogTmV3IGZ1bmN0aW9uIC0gcHJlc2VudCBzbyB0aGF0CisJdW5kZXJzY29yZSBwcmVmaXhlZCBhbGlhc2VzIGNhbiBiZSBjcmVhdGVkIG9mIHRoZSB1c2VkX2Z1bmMgYW5kCisJbWFpbiBmdW5jdGlvbnMuCisKKzIwMDgtMTAtMTAgIE5hdGhhbiBGcm95ZCAgPGZyb3lkbmpAY29kZXNvdXJjZXJ5LmNvbT4KKworCSogbGQtcG93ZXJwYy9nbnUtYXR0ci0xMi0xLnM6IE5ldyBmaWxlLgorCSogbGQtcG93ZXJwYy9nbnUtYXR0ci0xMi0yLnM6IE5ldyBmaWxlLgorCSogbGQtcG93ZXJwYy9nbnUtYXR0ci0xMi0xMS5kOiBOZXcgZmlsZS4KKwkqIGxkLXBvd2VycGMvZ251LWF0dHItMTItMjEuZDogTmV3IGZpbGUuCisJKiBsZC1wb3dlcnBjL3Bvd2VycGMuZXhwOiBSdW4gbmV3IGR1bXAgdGVzdHMuCisKKzIwMDgtMTAtMDcgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CisKKwkqIGxkLWlhNjQvdGxzYmluLnJkOiBVcGRhdGUgZXhwZWN0ZWQgb3V0cHV0IG5vdyB0aGF0IC0td2lkZSBkb2VzCisJbm90IHRydW5jYXRlIHNlY3Rpb24gbmFtZXMuCisJKiBsZC1pYTY0L3Rsc3BpYy5yZDogTGlrZXdpc2UuCisKKzIwMDgtMTAtMDYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KKworCSogbGQtZWxmL2VoMS5kLCBsZC1lbGYvZWgyLmQsIGxkLWVsZi9laDMuZCwgbGQtZWxmL2VoNC5kLAorCWxkLWVsZi9laDUuZCwgbGQtZWxmL2VoNi5kLCBsZC1taXBzLWVsZi9laC1mcmFtZTEtbjMyLmQsCisJbGQtbWlwcy1lbGYvZWgtZnJhbWUxLW42NC5kLCBsZC1taXBzLWVsZi9laC1mcmFtZTItbjMyLmQsCisJbGQtbWlwcy1lbGYvZWgtZnJhbWUyLW42NC5kLCBsZC1taXBzLWVsZi9laC1mcmFtZTMuZCwKKwlsZC1taXBzLWVsZi9laC1mcmFtZTQuZDogVXBkYXRlIGZvciByZWFkZWxmIGNoYW5nZS4KKworMjAwOC0xMC0wNCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgorCisJUFIgbGQvNjkzMQorCSogbGQtZWxmL2dyb3VwNy5kOiBOZXcuCisKKzIwMDgtMTAtMDMgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KKworCSogbGQtZWxmL2dyb3VwNS5kOiBVcGRhdGVkLgorCSogbGQtZWxmL2dyb3VwNi5kOiBMaWtld2lzZS4KKworMjAwOC0xMC0wMyAgVHJpc3RhbiBHaW5nb2xkICA8Z2luZ29sZEBhZGFjb3JlLmNvbT4KKworCSogbGQtZWxmL3N0YWIuZDogRG9uJ3QgcnVuIG9uIGFscGhhICh0byBhdm9pZCByZWxvY2F0aW9uCisJb3ZlcmZsb3cgb24gNjQgYml0cyB0YXJnZXRzIHdob3NlIHN0YWIgdmFsdWVzIGlzIDMyIGJpdHMpLgorCisyMDA4LTEwLTAzICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CisKKwlQUiBsZC82OTMxCisJKiBsZC1lbGYvZ3JvdXA0LmQ6IE5ldy4KKwkqIGxkLWVsZi9ncm91cDUuZDogTGlrZXdpc2UuCisJKiBsZC1lbGYvZ3JvdXA2LmQ6IExpa2V3aXNlLgorCisyMDA4LTEwLTAzICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJKiBsZC1wb3dlcnBjL3Z4d29ya3MxLWxpYi5yZDogVXBkYXRlLgorCisyMDA4LTA5LTI5ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJKiBsZC1lbGYvZXh0cmFjdC1zeW1ib2wtMXNlYy5kOiBDb3JyZWN0IHNlY3Rpb24gbG1hLgorCisyMDA4LTA5LTI1ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgorCisJKiBsZC1lbGYvZWgtZ3JvdXAuZXhwOiBPbmx5IHJ1biBvbiBFTEYgdGFyZ2V0cy4KKwkqIGxkLWVsZi9laDViLnM6IEV4cG9ydCBtYWluLCBzdGFydCwgX19zdGFydC4KKworMjAwOC0wOS0yMCAgUmljaGFyZCBTYW5kaWZvcmQgIDxyZHNhbmRpZm9yZEBnb29nbGVtYWlsLmNvbT4KKworCSogbGQtbWlwcy1lbGYvcmVsb2MtZXN0aW1hdGUtMS5kOiBNYWtlIGVuZGlhbi1uZXV0cmFsLgorCisyMDA4LTA5LTIwICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwlQcm92aWRlIHZpcnR1YWwgdGFyZ2V0ICJjZmkiIGZvciB0YXJnZXRzIHN1cHBvcnRpbmcgQ0ZJLgorCSogbGQtZWxmL2VoLWZyYW1lLWhkci5kOiBSZXBsYWNlIHRhcmdldCBhbmQgeGZhaWwgc3RhdGVtZW50cyBieSBzaW5nbGUKKwlgdGFyZ2V0OiBjZmknLgorCSogbGQtZWxmL2VoLWdyb3VwLmV4cDogQ2FsbCBjaGVja19hc19jZmkgaW5zdGVhZCBvZiBpc19lbGZfZm9ybWF0LgorCSogbGQtZWxmL2VoLWdyb3VwMS5zLCBlbGYvZWgtZ3JvdXAyLnM6IFVzZSBtb3JlIGNvbXBhdGlibGUgc2VjdGlvbgorCWZsYWdzIHByZWZpeCAnJScuCisJKiBsZC1lbGYvZWg1LmQ6IFJlcGxhY2UgdGFyZ2V0IHN0YXRlbWVudCBieSBgdGFyZ2V0OiBjZmknIHdpdGggYW4gQWxwaGEKKwlleGNlcHRpb24uICBSZWxheCB0aGUgYENvZGUgYWxpZ25tZW50IGZhY3RvcicgbWF0Y2hpbmcuCisJKiBsaWIvbGQtbGliLmV4cDogUmVuYW1lIGlzdGFyZ2V0IGFzIGlzdGFyZ2V0X2xkLgorCShpc3RhcmdldCwgY2hlY2tfYXNfY2ZpKTogTmV3IHByb2NlZHVyZS4KKwkocnVuX2R1bXBfdGVzdCk6IE5ldyBjb21tZW50IGZvciB0aGUgdmlydHVhbCB0YXJnZXQgYGNmaScuCisKKzIwMDgtMDktMTcgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCSogbGQtZWxmL2VoLWdyb3VwLmV4cCwgbGQtZWxmL2VoLWdyb3VwMS5zLCBsZC1lbGYvZWgtZ3JvdXAyLnM6IE5ldyB0ZXN0LgorCisyMDA4LTA5LTE3ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwlGaXggdGVzdGNhc2VzIGNvbXBpbGF0aW9uIGZhaWx1cmVzIGR1ZSB0byB1bnVzZWQgdmFyaWFibGVzLgorCSogbGQtZWxmY29tbS9jb21tb24xYi5jIChkdW1teTEpOiBNYXJrIHRoZSB2YXJpYWJsZSBmb3IgR0NDIGFzIFVTRUQuCisJKiBsZC1zaGFyZWQvbWFpbi5jIChtYWluKTogTW92ZSB0aGUgUCB2YXJpYWJsZSBvbmx5IHRvIHRoZSBwbGFjZXMgd2hlcmUKKwlpdCBpcyB1c2VkLgorCisyMDA4LTA5LTE2ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CisKKwlQUiBsZC82ODc3CisJKiBsZC1lbGYvY29tbTEuYzogTmV3LgorCSogbGQtZWxmL2Z1bmMxLmM6IExpa2V3aXNlLgorCisJKiBsZC1lbGYvc2hhcmVkLmV4cDogQWRkIHRlc3RzIGZvciBsaWJmdW5jMS5zbyBhbmQgY29tbTEuCisKIDIwMDgtMDgtMjYgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CiAKIAkqIGxkLWFybS9hcm0tZWxmLmV4cDogQWRkIGZhcmNhbGwtdGh1bWItYXJtLXNob3J0IHRlc3QuCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZWxmL2NvbW0xLmMgYi9sZC90ZXN0c3VpdGUvbGQtZWxmL2NvbW0xLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU1M2Q4NgotLS0gL2Rldi9udWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvY29tbTEuYwpAQCAtMCwwICsxLDE3IEBACisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworaW50IGZvbzsKK3ZvaWQgYmFyICh2b2lkKTsKKworaW50CittYWluICgpCit7CisgIGlmIChmb28gIT0gMCkKKyAgICBhYm9ydCAoKTsKKyAgZm9vID0gMjAwOyAKKyAgYmFyICgpOworICBpZiAoZm9vID09IDIwMCkKKyAgICBwcmludGYgKCJQQVNTXG4iKTsKKyAgcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoLWZyYW1lLWhkci5kIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9laC1mcmFtZS1oZHIuZAppbmRleCBiNDY1ZTVkLi5hZjhhZTA0IDEwMDY0NAotLS0gYS9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoLWZyYW1lLWhkci5kCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZWgtZnJhbWUtaGRyLmQKQEAgLTEsMTcgKzEsNyBAQAogI3NvdXJjZTogZWgtZnJhbWUtaGRyLnMKICNsZDogLWUgX3N0YXJ0IC0tZWgtZnJhbWUtaGRyCiAjb2JqZHVtcDogLWh3Ci0jdGFyZ2V0OiBhbHBoYSotKi0qCi0jdGFyZ2V0OiBhcm0qLSotKgotI3RhcmdldDogaT84Ni0qLSoKLSN0YXJnZXQ6IG02OGstKi0qCi0jdGFyZ2V0OiBtaXBzKi0qLSoKLSN0YXJnZXQ6IHBvd2VycGMqLSotKgotI3RhcmdldDogczM5MCotKi0qCi0jdGFyZ2V0OiBzaCotKi0qCi0jeGZhaWw6IHNoKmwqLSotKgotI3RhcmdldDogc3BhcmMqLSotKgotI3RhcmdldDogeDg2XzY0LSotKgorI3RhcmdldDogY2ZpCiAjLi4uCiAgIFswLTldIC5laF9mcmFtZV9oZHIgMCpbMTJdWzA0OGNdIC4qCiAjcGFzcwpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWVsZi9laC1ncm91cC5leHAgYi9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoLWdyb3VwLmV4cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDcyMzU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9laC1ncm91cC5leHAKQEAgLTAsMCArMSw1NiBAQAorIyBFeHBlY3Qgc2NyaXB0IGZvciAuZWhfZnJhbWUgZW50cmllcyB0byBhIHJlbW92ZWQgc2VjdGlvbi4KKyMgICBDb3B5cmlnaHQgMjAwOCAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQmludXRpbHMuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisjIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCAtIEZpZnRoIEZsb29yLCBCb3N0b24sCisjIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyMKKworIworIyBXcml0dGVuIGJ5IEphbiBLcmF0b2NodmlsIChqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tKQorIworIyAuZWhfZnJhbWUgd2l0aCByZWxvY2F0aW9ucyB0byBhIHJlbW92ZWQgKGdyb3VwKSBzZWN0aW9uIGRpZCByZXN1bHQgdG86CisjIGVycm9yIGluIHRtcGRpci9laC1ncm91cC5vKC5laF9mcmFtZSk7IG5vIC5laF9mcmFtZV9oZHIgdGFibGUgd2lsbCBiZSBjcmVhdGVkLgorIyBUaGUgcHVycG9zZSBvZiB0aGlzIHRlc3QgaXMgdG8gbWVyZ2UgdHdvIC5vIGZpbGVzIHdpdGggLXIgYW5kIHRoZW4gbGluayB0aGlzCisjIG1lcmdlZCBmaWxlIChjb250YWluaW5nIGEgZGlzY2FyZGVkIFJfWDg2XzY0X05PTkUgcmVsb2NhdGlvbikgdG8gdGhlIGZpbmFsCisjIGV4ZWN1dGFibGUgdHJ5aW5nIHRvIGNyZWF0ZSAuZWhfZnJhbWVfaGRyLiAgSXQgbmVlZHMgYSBzZXBhcmF0ZSAuZXhwIGZpbGUgZHVlCisjIHRvIHRoZSByZXF1aXJlbWVudCBvZiB0d28gYGxkJyBydW5zLgorCisjIEV4Y2x1ZGUgbm9uLUNGSSAoc3VjaCBhcyBpYTY0KSB0YXJnZXRzLgorCitpZiB7IVtjaGVja19hc19jZmldfSB7CisgICAgcmV0dXJuCit9CisKKyMgVGhlIHRlc3QgdXNlcyBFTEYgLnNlY3Rpb24gZGlyZWN0aXZlCitpZiAhW2lzX2VsZl9mb3JtYXRdIHsKKyAgICByZXR1cm4KK30KKworc2V0IGJ1aWxkX3Rlc3RzX2xkIHsKKyAgeyJCdWlsZCBlaC1ncm91cDEubyIKKyAgICItciIgIiIKKyAgIHtlaC1ncm91cDEucyBlaC1ncm91cDIuc30ge30gImVoLWdyb3VwLm8ifQorfQorCitydW5fbGRfbGlua190ZXN0cyAkYnVpbGRfdGVzdHNfbGQKKworc2V0IHRlc3RuYW1lICJMaW5rIGVoLWdyb3VwLm8gdG8gZWgtZ3JvdXAiCitpZiBbbGRfc2ltcGxlX2xpbmsgJGxkICJ0bXBkaXIvZWgtZ3JvdXAiICItZSBfc3RhcnQgdG1wZGlyL2VoLWdyb3VwLm8iXSB7CisgICAgcGFzcyAkdGVzdG5hbWUKK30gZWxzZSB7CisgICAgZmFpbCAkdGVzdG5hbWUKK30KZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZWgtZ3JvdXAxLnMgYi9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoLWdyb3VwMS5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ZmRiODgKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoLWdyb3VwMS5zCkBAIC0wLDAgKzEsNiBAQAorCS5zZWN0aW9uCXNlY3QsICJheEciLCAlcHJvZ2JpdHMsIHNlY3Rncm91cCwgY29tZGF0CisJLmdsb2JhbAlfc3RhcnQKK19zdGFydDoKKwkuY2ZpX3N0YXJ0cHJvYworCS5za2lwIDE2CisJLmNmaV9lbmRwcm9jCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoLWdyb3VwMi5zIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9laC1ncm91cDIucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWM4OTE5Ci0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9laC1ncm91cDIucwpAQCAtMCwwICsxLDQgQEAKKwkuc2VjdGlvbglzZWN0LCAiYXhHIiwgJXByb2diaXRzLCBzZWN0Z3JvdXAsIGNvbWRhdAorCS5jZmlfc3RhcnRwcm9jCisJLnNraXAgMTYKKwkuY2ZpX2VuZHByb2MKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZWgxLmQgYi9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoMS5kCmluZGV4IGE2NzJmNWIuLmYwODc0ZjcgMTAwNjQ0Ci0tLSBhL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZWgxLmQKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9laDEuZApAQCAtNCw3ICs0LDcgQEAKICNyZWFkZWxmOiAtd2YKICN0YXJnZXQ6IHg4Nl82NC0qLSoKIAotVGhlIHNlY3Rpb24gLmVoX2ZyYW1lIGNvbnRhaW5zOgorQ29udGVudHMgb2YgdGhlIC5laF9mcmFtZSBzZWN0aW9uOgogCiAwMDAwMDAwMCAwMDAwMDAxNCAwMDAwMDAwMCBDSUUKICAgVmVyc2lvbjogICAgICAgICAgICAgICAxCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoMi5kIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9laDIuZAppbmRleCA3ODhkMjNkLi4xYTA1ZDdmIDEwMDY0NAotLS0gYS9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoMi5kCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZWgyLmQKQEAgLTQsNyArNCw3IEBACiAjcmVhZGVsZjogLXdmCiAjdGFyZ2V0OiB4ODZfNjQtKi0qCiAKLVRoZSBzZWN0aW9uIC5laF9mcmFtZSBjb250YWluczoKK0NvbnRlbnRzIG9mIHRoZSAuZWhfZnJhbWUgc2VjdGlvbjoKIAogMDAwMDAwMDAgMDAwMDAwMTQgMDAwMDAwMDAgQ0lFCiAgIFZlcnNpb246ICAgICAgICAgICAgICAgMQpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWVsZi9laDMuZCBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZWgzLmQKaW5kZXggNjgxNjMxMy4uMWY3NmI4YyAxMDA2NDQKLS0tIGEvbGQvdGVzdHN1aXRlL2xkLWVsZi9laDMuZAorKysgYi9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoMy5kCkBAIC00LDcgKzQsNyBAQAogI3JlYWRlbGY6IC13ZgogI3RhcmdldDogeDg2XzY0LSotKgogCi1UaGUgc2VjdGlvbiAuZWhfZnJhbWUgY29udGFpbnM6CitDb250ZW50cyBvZiB0aGUgLmVoX2ZyYW1lIHNlY3Rpb246CiAKIDAwMDAwMDAwIDAwMDAwMDE0IDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZWg0LmQgYi9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoNC5kCmluZGV4IDVlZmVjYWIuLmI4Zjk4NjUgMTAwNjQ0Ci0tLSBhL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZWg0LmQKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9laDQuZApAQCAtNCw3ICs0LDcgQEAKICNyZWFkZWxmOiAtd2YKICN0YXJnZXQ6IHg4Nl82NC0qLSoKIAotVGhlIHNlY3Rpb24gLmVoX2ZyYW1lIGNvbnRhaW5zOgorQ29udGVudHMgb2YgdGhlIC5laF9mcmFtZSBzZWN0aW9uOgogCiAwMDAwMDAwMCAwMDAwMDAxNCAwMDAwMDAwMCBDSUUKICAgVmVyc2lvbjogICAgICAgICAgICAgICAxCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoNS5kIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9laDUuZAppbmRleCAxM2JmZjA4Li40OGFiN2Q3IDEwMDY0NAotLS0gYS9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoNS5kCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZWg1LmQKQEAgLTMsMTQgKzMsMTUgQEAKICNzb3VyY2U6IGVoNWIucwogI2xkOgogI3JlYWRlbGY6IC13ZgotI3RhcmdldDogeDg2XzY0LSotKiBpPzg2LSotKgorI3RhcmdldDogY2ZpCisjbm90YXJnZXQ6IGFscGhhKgogCi1UaGUgc2VjdGlvbiAuZWhfZnJhbWUgY29udGFpbnM6CitDb250ZW50cyBvZiB0aGUgLmVoX2ZyYW1lIHNlY3Rpb246CiAKIDAwMDAwMDAwIDAwMDAwMDFbMDRdIDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKICAgQXVnbWVudGF0aW9uOiAgICAgICAgICAielIiCi0gIENvZGUgYWxpZ25tZW50IGZhY3RvcjogMQorICBDb2RlIGFsaWdubWVudCBmYWN0b3I6IC4qCiAgIERhdGEgYWxpZ25tZW50IGZhY3RvcjogLioKICAgUmV0dXJuIGFkZHJlc3MgY29sdW1uOiAuKgogICBBdWdtZW50YXRpb24gZGF0YTogICAgIDFiCkBAIC0yOSw3ICszMCw3IEBACiAwMDAwMDAoMmN8MzApIDAwMDAwMDE0IDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKICAgQXVnbWVudGF0aW9uOiAgICAgICAgICAielBSIgotICBDb2RlIGFsaWdubWVudCBmYWN0b3I6IDEKKyAgQ29kZSBhbGlnbm1lbnQgZmFjdG9yOiAuKgogICBEYXRhIGFsaWdubWVudCBmYWN0b3I6IC4qCiAgIFJldHVybiBhZGRyZXNzIGNvbHVtbjogLioKICAgQXVnbWVudGF0aW9uIGRhdGE6ICAgICAwMyAuLiAuLiAuLiAuLiAxYgpAQCAtNTMsNyArNTQsNyBAQAogMDAwMDAwN1s0OF0gMDAwMDAwMVs4Y10gMDAwMDAwMDAgQ0lFCiAgIFZlcnNpb246ICAgICAgICAgICAgICAgMQogICBBdWdtZW50YXRpb246ICAgICAgICAgICJ6UExSIgotICBDb2RlIGFsaWdubWVudCBmYWN0b3I6IDEKKyAgQ29kZSBhbGlnbm1lbnQgZmFjdG9yOiAuKgogICBEYXRhIGFsaWdubWVudCBmYWN0b3I6IC4qCiAgIFJldHVybiBhZGRyZXNzIGNvbHVtbjogLioKICAgQXVnbWVudGF0aW9uIGRhdGE6ICAgICAwMyAuLiAuLiAuLiAuLiAwYyAxYgpAQCAtNzQsNyArNzUsNyBAQAogMDAwMDAwYlswOF0gMDAwMDAwMVswNF0gMDAwMDAwMDAgQ0lFCiAgIFZlcnNpb246ICAgICAgICAgICAgICAgMQogICBBdWdtZW50YXRpb246ICAgICAgICAgICJ6UiIKLSAgQ29kZSBhbGlnbm1lbnQgZmFjdG9yOiAxCisgIENvZGUgYWxpZ25tZW50IGZhY3RvcjogLioKICAgRGF0YSBhbGlnbm1lbnQgZmFjdG9yOiAuKgogICBSZXR1cm4gYWRkcmVzcyBjb2x1bW46IC4qCiAgIEF1Z21lbnRhdGlvbiBkYXRhOiAgICAgMWIKQEAgLTg5LDcgKzkwLDcgQEAKIDAwMDAwMFtkZV04IDAwMDAwMDE0IDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKICAgQXVnbWVudGF0aW9uOiAgICAgICAgICAielBSIgotICBDb2RlIGFsaWdubWVudCBmYWN0b3I6IDEKKyAgQ29kZSBhbGlnbm1lbnQgZmFjdG9yOiAuKgogICBEYXRhIGFsaWdubWVudCBmYWN0b3I6IC4qCiAgIFJldHVybiBhZGRyZXNzIGNvbHVtbjogLioKICAgQXVnbWVudGF0aW9uIGRhdGE6ICAgICAwMyAuLiAuLiAuLiAuLiAxYgpAQCAtMTExLDcgKzExMiw3IEBACiAwMDAwMDEoMWN8MzApIDAwMDAwMDFbOGNdIDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKICAgQXVnbWVudGF0aW9uOiAgICAgICAgICAielBMUiIKLSAgQ29kZSBhbGlnbm1lbnQgZmFjdG9yOiAxCisgIENvZGUgYWxpZ25tZW50IGZhY3RvcjogLioKICAgRGF0YSBhbGlnbm1lbnQgZmFjdG9yOiAuKgogICBSZXR1cm4gYWRkcmVzcyBjb2x1bW46IC4qCiAgIEF1Z21lbnRhdGlvbiBkYXRhOiAgICAgMDMgLi4gLi4gLi4gLi4gMGMgMWIKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZWg1Yi5zIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9laDViLnMKaW5kZXggM2U1ZTAxMC4uZmEyN2VkZCAxMDA2NDQKLS0tIGEvbGQvdGVzdHN1aXRlL2xkLWVsZi9laDViLnMKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9laDViLnMKQEAgLTI0LDYgKzI0LDEyIEBACiAJLmNmaV9kZWZfY2ZhIDAsIDE2CiAJLmNmaV9lbmRwcm9jCiAKKwkuZ2xvYmwgbWFpbgorCS5nbG9ibCBzdGFydAogCS5nbG9ibCBfc3RhcnQKKwkuZ2xvYmwgX19zdGFydAorbWFpbjoKK3N0YXJ0OgogX3N0YXJ0OgorX19zdGFydDoKIAkubG9uZyAwCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoNi5kIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9laDYuZAppbmRleCA3ZjRlNDdhLi42N2M2YTA2IDEwMDY0NAotLS0gYS9sZC90ZXN0c3VpdGUvbGQtZWxmL2VoNi5kCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZWg2LmQKQEAgLTMsNyArMyw3IEBACiAjcmVhZGVsZjogLXdmCiAjdGFyZ2V0OiB4ODZfNjQtKi1saW51eC1nbnUgaT84Ni0qLWxpbnV4LWdudQogCi1UaGUgc2VjdGlvbiAuZWhfZnJhbWUgY29udGFpbnM6CitDb250ZW50cyBvZiB0aGUgLmVoX2ZyYW1lIHNlY3Rpb246CiAKIDAwMDAwMDAwIDAwMDAwMDFbNGNdIDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZXh0cmFjdC1zeW1ib2wtMXNlYy5kIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9leHRyYWN0LXN5bWJvbC0xc2VjLmQKaW5kZXggODdkNDJhZi4uY2JlMDE0NCAxMDA2NDQKLS0tIGEvbGQvdGVzdHN1aXRlL2xkLWVsZi9leHRyYWN0LXN5bWJvbC0xc2VjLmQKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9leHRyYWN0LXN5bWJvbC0xc2VjLmQKQEAgLTcsNyArNyw3IEBACiAjLi4uCiBTZWN0aW9uczoKICAqSWR4ICtOYW1lICtTaXplICtWTUEgK0xNQSAuKgotICowICtcLmZvbyArMCsgKzArMTAwMDAgKzArMTAwMDAgLioKKyAqMCArXC5mb28gKzArICswKzEwMDAwICswKyAuKgogICpDT05URU5UUywgQUxMT0MsIExPQUQsIENPREUKLSAqMSArXC5iYXIgKzArICswKzIwMDAwICswKzIwMDAwIC4qCisgKjEgK1wuYmFyICswKyArMCsyMDAwMCArMCsxMDAwMCAuKgogICpBTExPQywgUkVBRE9OTFksIENPREUKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZnVuYzEuYyBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZnVuYzEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTQ0M2U0Ci0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9mdW5jMS5jCkBAIC0wLDAgKzEsMiBAQAordm9pZCBmb28gKHZvaWQpIHsgfQordm9pZCBiYXIgKHZvaWQpIHsgfQpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWVsZi9ncm91cDQuZCBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZ3JvdXA0LmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTJhNTRiZAotLS0gL2Rldi9udWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvZ3JvdXA0LmQKQEAgLTAsMCArMSwxNiBAQAorI3NvdXJjZTogLi4vLi4vLi4vYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9ncm91cC0yLnMKKyNsZDogLXIKKyNyZWFkZWxmOiAtU2cgLS13aWRlCisKKyMuLi4KKyAgXFtbIDAtOV0rXF0gLmdyb3VwWyBcdF0rR1JPVVBbIFx0XSsuKgorIy4uLgorICBcW1sgMC05XStcXSBcLnRleHQuKlsgXHRdK1BST0dCSVRTWyBcdDAtOWEtZl0rQVhHWyBcdF0rLioKKyMuLi4KKyAgXFtbIDAtOV0rXF0gXC5kYXRhLipbIFx0XStQUk9HQklUU1sgXHQwLTlhLWZdK1dBR1sgXHRdKy4qCisjLi4uCitDT01EQVQgZ3JvdXAgc2VjdGlvbiBcW1sgMC05XStcXSBgLmdyb3VwJyBcWy50ZXh0LmZvb1xdIGNvbnRhaW5zIDIgc2VjdGlvbnM6CisgICBcW0luZGV4XF0gICAgTmFtZQorICAgXFtbIDAtOV0rXF0gICAudGV4dC4qCisgICBcW1sgMC05XStcXSAgIC5kYXRhLioKKyNwYXNzCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZWxmL2dyb3VwNS5kIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9ncm91cDUuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDZlZmY2Ci0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9ncm91cDUuZApAQCAtMCwwICsxLDE2IEBACisjc291cmNlOiAuLi8uLi8uLi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2dyb3VwLTMucworI2xkOiAtcgorI3JlYWRlbGY6IC1TZyAtLXdpZGUKKworIy4uLgorICBcW1sgMC05XStcXSAuZ3JvdXBbIFx0XStHUk9VUFsgXHRdKy4qCisjLi4uCisgIFxbWyAwLTldK1xdIFwudGV4dC4qWyBcdF0rUFJPR0JJVFNbIFx0MC05YS1mXStBWEdbIFx0XSsuKgorIy4uLgorICBcW1sgMC05XStcXSBcLmRhdGEuKlsgXHRdK1BST0dCSVRTWyBcdDAtOWEtZl0rV0FHWyBcdF0rLioKKyMuLi4KK0NPTURBVCBncm91cCBzZWN0aW9uIFxbWyAwLTldK1xdIGAuZ3JvdXAnIFxbZm9vM1xdIGNvbnRhaW5zIDIgc2VjdGlvbnM6CisgICBcW0luZGV4XF0gICAgTmFtZQorICAgXFtbIDAtOV0rXF0gICAudGV4dC4qCisgICBcW1sgMC05XStcXSAgIC5kYXRhLioKKyNwYXNzCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZWxmL2dyb3VwNi5kIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9ncm91cDYuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTEzNDE0Ci0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9ncm91cDYuZApAQCAtMCwwICsxLDE2IEBACisjc291cmNlOiAuLi8uLi8uLi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2dyb3VwLTQucworI2xkOiAtcgorI3JlYWRlbGY6IC1TZyAtLXdpZGUKKworIy4uLgorICBcW1sgMC05XStcXSAuZ3JvdXBbIFx0XStHUk9VUFsgXHRdKy4qCisjLi4uCisgIFxbWyAwLTldK1xdIFwudGV4dC4qWyBcdF0rUFJPR0JJVFNbIFx0MC05YS1mXStBWEdbIFx0XSsuKgorIy4uLgorICBcW1sgMC05XStcXSBcLmRhdGEuKlsgXHRdK1BST0dCSVRTWyBcdDAtOWEtZl0rV0FHWyBcdF0rLioKKyMuLi4KK0NPTURBVCBncm91cCBzZWN0aW9uIFxbWyAwLTldK1xdIGAuZ3JvdXAnIFxbZm9vNFxdIGNvbnRhaW5zIDIgc2VjdGlvbnM6CisgICBcW0luZGV4XF0gICAgTmFtZQorICAgXFtbIDAtOV0rXF0gICAudGV4dC4qCisgICBcW1sgMC05XStcXSAgIC5kYXRhLioKKyNwYXNzCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZWxmL2dyb3VwNy5kIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9ncm91cDcuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZmQxZjNmCi0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9ncm91cDcuZApAQCAtMCwwICsxLDI4IEBACisjc291cmNlOiAuLi8uLi8uLi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2dyb3VwLnMKKyNzb3VyY2U6IC4uLy4uLy4uL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZ3JvdXAtMi5zCisjc291cmNlOiAuLi8uLi8uLi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2dyb3VwLTMucworI3NvdXJjZTogLi4vLi4vLi4vYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9ncm91cC00LnMKKyNsZDogLXIKKyNyZWFkZWxmOiAtZyAtLXdpZGUKKworIy4uLgorQ09NREFUIGdyb3VwIHNlY3Rpb24gXFtbIDAtOV0rXF0gYGZvb19ncm91cCcgXFtmb29fZ3JvdXBcXSBjb250YWlucyAyIHNlY3Rpb25zOgorICAgXFtJbmRleFxdICAgIE5hbWUKKyAgIFxbWyAwLTldK1xdICAgLnRleHQuZm9vCisgICBcW1sgMC05XStcXSAgIC5kYXRhLmZvbworIy4uLgorQ09NREFUIGdyb3VwIHNlY3Rpb24gXFtbIDAtOV0rXF0gYC5ncm91cCcgXFsudGV4dC5mb29cXSBjb250YWlucyAyIHNlY3Rpb25zOgorICAgXFtJbmRleFxdICAgIE5hbWUKKyAgIFxbWyAwLTldK1xdICAgLnRleHQuZm9vCisgICBcW1sgMC05XStcXSAgIC5kYXRhLmJhcgorIy4uLgorQ09NREFUIGdyb3VwIHNlY3Rpb24gXFtbIDAtOV0rXF0gYC5ncm91cCcgXFtmb28zXF0gY29udGFpbnMgMiBzZWN0aW9uczoKKyAgIFxbSW5kZXhcXSAgICBOYW1lCisgICBcW1sgMC05XStcXSAgIC50ZXh0LmZvbzMKKyAgIFxbWyAwLTldK1xdICAgLmRhdGEuYmFyMworIy4uLgorQ09NREFUIGdyb3VwIHNlY3Rpb24gXFtbIDAtOV0rXF0gYC5ncm91cCcgXFtmb280XF0gY29udGFpbnMgMiBzZWN0aW9uczoKKyAgIFxbSW5kZXhcXSAgICBOYW1lCisgICBcW1sgMC05XStcXSAgIC50ZXh0LmZvbzQKKyAgIFxbWyAwLTldK1xdICAgLmRhdGEuZm9vNAorI3Bhc3MKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvc2hhcmVkLmV4cCBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvc2hhcmVkLmV4cAppbmRleCA4NDYwMjdlLi5mMGJjNDAzIDEwMDY0NAotLS0gYS9sZC90ZXN0c3VpdGUvbGQtZWxmL3NoYXJlZC5leHAKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9zaGFyZWQuZXhwCkBAIC0xMjMsNiArMTIzLDEyIEBACiAgIHsiQnVpbGQgbGliZGF0YTEuc28iCiAgICAiLXNoYXJlZCIgIi1mUElDIgogICAge2RhdGExLmN9IHt9ICJsaWJkYXRhMS5zbyJ9CisgIHsiQnVpbGQgbGliY29tbTEubyIKKyAgICItciAtbm9zdGRsaWIiICIiCisgICB7Y29tbTEuY30ge30gImxpYmNvbW0xLm8ifQorICB7IkJ1aWxkIGxpYmZ1bmMxLnNvIgorICAgIi1zaGFyZWQiICItZlBJQyIKKyAgIHtmdW5jMS5jfSB7fSAibGliZnVuYzEuc28ifQogfQogCiBzZXQgcnVuX3Rlc3RzIHsKQEAgLTIzNSw2ICsyNDEsMTIgQEAKICAgICB7IlJ1biB3aXRoIGxpYmRhdGExLnNvIgogICAgICAidG1wZGlyL2xpYmRhdGExLnNvIiAiIgogICAgICB7ZHluYnNzMS5jfSAiZHluYnNzMSIgInBhc3Mub3V0In0KKyAgICB7IlJ1biB3aXRoIGxpYmZ1bmMxLnNvIGNvbW0xLm8iCisgICAgICJ0bXBkaXIvbGliZnVuYzEuc28gdG1wZGlyL2NvbW0xLm8iICIiCisgICAgIHtkdW1teS5jfSAiY29tbTEiICJwYXNzLm91dCJ9CisgICAgeyJSdW4gd2l0aCBjb21tMS5vIGxpYmZ1bmMxLnNvIgorICAgICAidG1wZGlyL2NvbW0xLm8gdG1wZGlyL2xpYmZ1bmMxLnNvIiAiIgorICAgICB7ZHVtbXkuY30gImNvbW0xIiAicGFzcy5vdXQifQogfQogCiBydW5fY2NfbGlua190ZXN0cyAkYnVpbGRfdGVzdHMKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvc3RhYi5kIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9zdGFiLmQKaW5kZXggNjY3NjIzOC4uMzQ2NjQwZCAxMDA2NDQKLS0tIGEvbGQvdGVzdHN1aXRlL2xkLWVsZi9zdGFiLmQKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9zdGFiLmQKQEAgLTIsNyArMiwxMCBAQAogI2FzOiAtZ3N0YWJzCiAjcmVhZGVsZjogLVMgLS13aWRlCiAjbGQ6Ci0jbm90YXJnZXQ6IGlhNjQtKi0qCisjbm90YXJnZXQ6ICJpYTY0LSotKiIgImFscGhhKiIKKworIyBEaXNhYmxlZCBvbiBhbHBoYSBiZWNhdXNlIHRoZSBlbnRyeSBwb2ludCBtYXkgYmUgYWJvdmUgNEdCIGJ1dCB0aGUgc3RhYnMKKyMgdmFsdWUgb24gMzIgYml0cy4KIAogIy4uLgogICBcW1swLTkgXVswLTldXF0gXC5zdGFiICtQUk9HQklUUyArMCsgWzAtOWEtZl0rIFswLTlhLWZdKyBbMC05YS1mXSsgK1sxLTldKyArMC4qCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZWxmY29tbS9jb21tb24xYi5jIGIvbGQvdGVzdHN1aXRlL2xkLWVsZmNvbW0vY29tbW9uMWIuYwppbmRleCA0ZWQ5ZTAzLi5hMzc1YzkwIDEwMDY0NAotLS0gYS9sZC90ZXN0c3VpdGUvbGQtZWxmY29tbS9jb21tb24xYi5jCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGZjb21tL2NvbW1vbjFiLmMKQEAgLTEsMyArMSw3IEBACi1zdGF0aWMgY2hhciBkdW1teTEgPSAnWCc7CitzdGF0aWMKKyNpZiAgICAgX19HTlVDX18gPiAzIHx8IChfX0dOVUNfXyA9PSAzICYmIF9fR05VQ19NSU5PUl9fID49IDMpCisgIF9fYXR0cmlidXRlX18oKF9fdXNlZF9fKSkKKyNlbmRpZiAgLyogX19HTlVDX18gKi8KKyAgY2hhciBkdW1teTEgPSAnWCc7CiBjaGFyIGZvbzEgW10gPSAiQWxpZ25lZCBhdCBvZGQgYnl0ZS4iOwogY2hhciBmb28yIFs0XTsKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1nYy9nYy5jIGIvbGQvdGVzdHN1aXRlL2xkLWdjL2djLmMKaW5kZXggNmIzNTZhZC4uM2IwZTY1NSAxMDA2NDQKLS0tIGEvbGQvdGVzdHN1aXRlL2xkLWdjL2djLmMKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWdjL2djLmMKQEAgLTE5LDMgKzE5LDIzIEBACiB7CiAgIHJldHVybiB1c2VkX2Z1bmMgKDUpOwogfQorCit2b2lkCitkdW1teV9mdW5jICh2b2lkKQoreworICAvKiBUaGVzZSBhcmUgaGVyZSBpbiBjYXNlIHRoZSB0YXJnZXQgcHJlcGVuZHMgYW4gdW5kZXJzY29yZSB0bworICAgICB0aGUgc3RhcnQgb2YgZnVuY3Rpb24gbmFtZXMuICBUaGV5IGFyZSBpbnNpZGUgYSBkdW1teSBmdW5jdGlvbgorICAgICBzbyB0aGF0IHRoZXkgd2lsbCBhcHBlYXIgYXQgdGhlIGVuZCBvZiBnY2MncyBhc3NlbWJsZXIgb3V0cHV0LAorICAgICBhZnRlciB0aGUgZGVmaW5pdGlvbnMgb2YgbWFpbigpIGFuZCB1c2VkX2Z1bmMoKSwgcmF0aGVyIHRoYW4KKyAgICAgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZS4gICovCisKKyAgX19hc21fXygiLmlmbmRlZiBtYWluXG5cCisuZ2xvYmFsIG1haW5cblwKKy5zZXQgbWFpbiwgX21haW5cblwKKy5lbmRpZiIpOworCisgIF9fYXNtX18oIi5pZm5kZWYgdXNlZF9mdW5jXG5cCisuZ2xvYmFsIHVzZWRfZnVuY1xuXAorLnNldCB1c2VkX2Z1bmMsIF91c2VkX2Z1bmNcblwKKy5lbmRpZiIpOworfQpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWlhNjQvdGxzYmluLnJkIGIvbGQvdGVzdHN1aXRlL2xkLWlhNjQvdGxzYmluLnJkCmluZGV4IDdmMTMwYTQuLmNhMGQ2OWUgMTAwNjQ0Ci0tLSBhL2xkL3Rlc3RzdWl0ZS9sZC1pYTY0L3Rsc2Jpbi5yZAorKysgYi9sZC90ZXN0c3VpdGUvbGQtaWE2NC90bHNiaW4ucmQKQEAgLTE1LDEwICsxNSwxMCBAQAogICtcW1sgMC05XStcXSAuZHluc3ltICsuKgogICtcW1sgMC05XStcXSAuZHluc3RyICsuKgogICtcW1sgMC05XStcXSAucmVsYS5keW4gKy4qCi0gK1xbWyAwLTldK1xdIC5yZWxhLklBXzY0LnBsdG9mICsuKgorICtcW1sgMC05XStcXSAucmVsYS5JQV82NC5wbHRvZmYgKy4qCiAgK1xbWyAwLTldK1xdIC5wbHQgKy4qCiAgK1xbWyAwLTldK1xdIC50ZXh0ICtQUk9HQklUUyArNDArMTAwMCAwKzEwMDAgMCsxNDAgMDAgK0FYICswICswIDQwOTYKLSArXFtbIDAtOV0rXF0gLklBXzY0LnVud2luZF9pbmYgKy4qCisgK1xbWyAwLTldK1xdIC5JQV82NC51bndpbmRfaW5mbyArLioKICArXFtbIDAtOV0rXF0gLklBXzY0LnVud2luZCArLioKICArXFtbIDAtOV0rXF0gLnRkYXRhICtQUk9HQklUUyArNjArMVswLTlhLWZdKyAwKzFbMC05YS1mXSsgMCs2MCAwMCBXQVQgKzAgKzAgKzQKICArXFtbIDAtOV0rXF0gLnRic3MgK05PQklUUyArNjArMVswLTlhLWZdKyAwKzFbMC05YS1mXSsgMCs0MCAwMCBXQVQgKzAgKzAgKzEKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1pYTY0L3Rsc3BpYy5yZCBiL2xkL3Rlc3RzdWl0ZS9sZC1pYTY0L3Rsc3BpYy5yZAppbmRleCA1MDllNTk4Li45YmY0Mzg3IDEwMDY0NAotLS0gYS9sZC90ZXN0c3VpdGUvbGQtaWE2NC90bHNwaWMucmQKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWlhNjQvdGxzcGljLnJkCkBAIC0xNCwxMCArMTQsMTAgQEAKICArXFtbIDAtOV0rXF0gLmR5bnN5bSArLioKICArXFtbIDAtOV0rXF0gLmR5bnN0ciArLioKICArXFtbIDAtOV0rXF0gLnJlbGEuZHluICsuKgotICtcW1sgMC05XStcXSAucmVsYS5JQV82NC5wbHRvZiArLioKKyArXFtbIDAtOV0rXF0gLnJlbGEuSUFfNjQucGx0b2ZmICsuKgogICtcW1sgMC05XStcXSAucGx0ICsuKgogICtcW1sgMC05XStcXSAudGV4dCArUFJPR0JJVFMgKzArMTAwMCAwKzEwMDAgMCsxMTAgMDAgK0FYICswICswIDQwOTYKLSArXFtbIDAtOV0rXF0gLklBXzY0LnVud2luZF9pbmYgKy4qCisgK1xbWyAwLTldK1xdIC5JQV82NC51bndpbmRfaW5mbyArLioKICArXFtbIDAtOV0rXF0gLklBXzY0LnVud2luZCArLioKICArXFtbIDAtOV0rXF0gLnRkYXRhICtQUk9HQklUUyArMCsxMVswLTlhLWZdKyAwKzFbMC05YS1mXSsgMCs2MCAwMCBXQVQgKzAgKzAgKzQKICArXFtbIDAtOV0rXF0gLnRic3MgK05PQklUUyArMCsxMVswLTlhLWZdKyAwKzFbMC05YS1mXSsgMCsyMCAwMCBXQVQgKzAgKzAgKzEKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1taXBzLWVsZi9laC1mcmFtZTEtbjMyLmQgYi9sZC90ZXN0c3VpdGUvbGQtbWlwcy1lbGYvZWgtZnJhbWUxLW4zMi5kCmluZGV4IDM5MjQwMTYuLjZhZGIzNTUgMTAwNjQ0Ci0tLSBhL2xkL3Rlc3RzdWl0ZS9sZC1taXBzLWVsZi9laC1mcmFtZTEtbjMyLmQKKysrIGIvbGQvdGVzdHN1aXRlL2xkLW1pcHMtZWxmL2VoLWZyYW1lMS1uMzIuZApAQCAtMTcsNyArMTcsNyBAQAogMDAwMzAwOGIgIFswLTlhLWZdKyBSX01JUFNfUkVMMzIgICAgICAwMDAwMDAwMCAgIGZvbwogMDAwMzAwZDAgIFswLTlhLWZdKyBSX01JUFNfUkVMMzIgICAgICAwMDAwMDAwMCAgIGZvbwogMDAwMzAxMGUgIFswLTlhLWZdKyBSX01JUFNfUkVMMzIgICAgICAwMDAwMDAwMCAgIGZvbwotVGhlIHNlY3Rpb24gXC5laF9mcmFtZSBjb250YWluczoKK0NvbnRlbnRzIG9mIHRoZSBzZWN0aW9uIFwuZWhfZnJhbWU6CiAKIDAwMDAwMDAwIDAwMDAwMDEwIDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1taXBzLWVsZi9laC1mcmFtZTEtbjY0LmQgYi9sZC90ZXN0c3VpdGUvbGQtbWlwcy1lbGYvZWgtZnJhbWUxLW42NC5kCmluZGV4IGYwOTI1YjkuLjE1MTJiNGEgMTAwNjQ0Ci0tLSBhL2xkL3Rlc3RzdWl0ZS9sZC1taXBzLWVsZi9laC1mcmFtZTEtbjY0LmQKKysrIGIvbGQvdGVzdHN1aXRlL2xkLW1pcHMtZWxmL2VoLWZyYW1lMS1uNjQuZApAQCAtMzMsNyArMzMsNyBAQAogMDAwMDAwMDMwMTkyICBbMC05YS1mXSsgUl9NSVBTX1JFTDMyICAgICAgMDAwMDAwMDAwMDAwMDAwMCBmb28KICAqVHlwZTI6IFJfTUlQU182NCAqCiAgKlR5cGUzOiBSX01JUFNfTk9ORSAqCi1UaGUgc2VjdGlvbiBcLmVoX2ZyYW1lIGNvbnRhaW5zOgorQ29udGVudHMgb2YgdGhlIHNlY3Rpb24gXC5laF9mcmFtZToKIAogMDAwMDAwMDAgMDAwMDAwMTQgMDAwMDAwMDAgQ0lFCiAgIFZlcnNpb246ICAgICAgICAgICAgICAgMQpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLW1pcHMtZWxmL2VoLWZyYW1lMi1uMzIuZCBiL2xkL3Rlc3RzdWl0ZS9sZC1taXBzLWVsZi9laC1mcmFtZTItbjMyLmQKaW5kZXggY2UyYWExZC4uZDgzMWQyNiAxMDA2NDQKLS0tIGEvbGQvdGVzdHN1aXRlL2xkLW1pcHMtZWxmL2VoLWZyYW1lMi1uMzIuZAorKysgYi9sZC90ZXN0c3VpdGUvbGQtbWlwcy1lbGYvZWgtZnJhbWUyLW4zMi5kCkBAIC0xNyw3ICsxNyw3IEBACiAwMDAzMDA4YiAgWzAtOWEtZl0rIFJfTUlQU19SRUwzMiAgICAgIDAwMDAwMDAwICAgZm9vCiAwMDAzMDBjYyAgWzAtOWEtZl0rIFJfTUlQU19SRUwzMiAgICAgIDAwMDAwMDAwICAgZm9vCiAwMDAzMDEwYSAgWzAtOWEtZl0rIFJfTUlQU19SRUwzMiAgICAgIDAwMDAwMDAwICAgZm9vCi1UaGUgc2VjdGlvbiBcLmVoX2ZyYW1lIGNvbnRhaW5zOgorQ29udGVudHMgb2YgdGhlIHNlY3Rpb24gXC5laF9mcmFtZToKIAogMDAwMDAwMDAgMDAwMDAwMTAgMDAwMDAwMDAgQ0lFCiAgIFZlcnNpb246ICAgICAgICAgICAgICAgMQpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLW1pcHMtZWxmL2VoLWZyYW1lMi1uNjQuZCBiL2xkL3Rlc3RzdWl0ZS9sZC1taXBzLWVsZi9laC1mcmFtZTItbjY0LmQKaW5kZXggNTAzOTRmNS4uOGU3NDFmMyAxMDA2NDQKLS0tIGEvbGQvdGVzdHN1aXRlL2xkLW1pcHMtZWxmL2VoLWZyYW1lMi1uNjQuZAorKysgYi9sZC90ZXN0c3VpdGUvbGQtbWlwcy1lbGYvZWgtZnJhbWUyLW42NC5kCkBAIC0zMyw3ICszMyw3IEBACiAwMDAwMDAwMzAxOGEgIFswLTlhLWZdKyBSX01JUFNfUkVMMzIgICAgICAwMDAwMDAwMDAwMDAwMDAwIGZvbwogICpUeXBlMjogUl9NSVBTXzY0ICoKICAqVHlwZTM6IFJfTUlQU19OT05FICoKLVRoZSBzZWN0aW9uIFwuZWhfZnJhbWUgY29udGFpbnM6CitDb250ZW50cyBvZiB0aGUgc2VjdGlvbiBcLmVoX2ZyYW1lOgogCiAwMDAwMDAwMCAwMDAwMDAxNCAwMDAwMDAwMCBDSUUKICAgVmVyc2lvbjogICAgICAgICAgICAgICAxCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtbWlwcy1lbGYvZWgtZnJhbWUzLmQgYi9sZC90ZXN0c3VpdGUvbGQtbWlwcy1lbGYvZWgtZnJhbWUzLmQKaW5kZXggNGM5MWQyYy4uODBmMTNkOSAxMDA2NDQKLS0tIGEvbGQvdGVzdHN1aXRlL2xkLW1pcHMtZWxmL2VoLWZyYW1lMy5kCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1taXBzLWVsZi9laC1mcmFtZTMuZApAQCAtOSw3ICs5LDcgQEAKICMgY29tYmluYXRpb24gb2YgMzItYml0IG9iamVjdHMgYW5kIDY0LWJpdCBGREUgYWRkcmVzc2VzLgogIwogCi1UaGUgc2VjdGlvbiBcLmVoX2ZyYW1lIGNvbnRhaW5zOgorQ29udGVudHMgb2YgdGhlIHNlY3Rpb24gXC5laF9mcmFtZToKIAogMDAwMDAwMDAgMDAwMDAwMGMgMDAwMDAwMDAgQ0lFCiAgIFZlcnNpb246ICAgICAgICAgICAgICAgMQpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLW1pcHMtZWxmL2VoLWZyYW1lNC5kIGIvbGQvdGVzdHN1aXRlL2xkLW1pcHMtZWxmL2VoLWZyYW1lNC5kCmluZGV4IGUwNGQ1ZmMuLmM0YjdlNWMgMTAwNjQ0Ci0tLSBhL2xkL3Rlc3RzdWl0ZS9sZC1taXBzLWVsZi9laC1mcmFtZTQuZAorKysgYi9sZC90ZXN0c3VpdGUvbGQtbWlwcy1lbGYvZWgtZnJhbWU0LmQKQEAgLTgsNyArOCw3IEBACiAjIFRoaXMgdGVzdCBpcyBmb3IgdGhlIHNlbWktb2ZmaWNpYWwgSUxQMzIgdmFyaWF0aW9uIG9mIEVBQkk2NC4KICMKIAotVGhlIHNlY3Rpb24gXC5laF9mcmFtZSBjb250YWluczoKK0NvbnRlbnRzIG9mIHRoZSBzZWN0aW9uIFwuZWhfZnJhbWU6CiAKIDAwMDAwMDAwIDAwMDAwMDBjIDAwMDAwMDAwIENJRQogICBWZXJzaW9uOiAgICAgICAgICAgICAgIDEKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1taXBzLWVsZi9yZWxvYy1lc3RpbWF0ZS0xLmQgYi9sZC90ZXN0c3VpdGUvbGQtbWlwcy1lbGYvcmVsb2MtZXN0aW1hdGUtMS5kCmluZGV4IDk0ZGRlODEuLjBkNDliMDUgMTAwNjQ0Ci0tLSBhL2xkL3Rlc3RzdWl0ZS9sZC1taXBzLWVsZi9yZWxvYy1lc3RpbWF0ZS0xLmQKKysrIGIvbGQvdGVzdHN1aXRlL2xkLW1pcHMtZWxmL3JlbG9jLWVzdGltYXRlLTEuZApAQCAtMTUsNCArMTUsNCBAQAogIyBUaGUgYWRkcmVzcyBtdXN0IGJlIDB4ODEwLiAgV2Ugc2hvdWxkIG9ubHkgZXZlciBhbGxvY2F0ZSBvbmUgZHluYW1pYwogIyByZWxvYyBvdmVyIGFuZCBhYm92ZSB0aGUgZmlyc3QgUl9NSVBTX05PTkUgZW50cnkuCiBDb250ZW50cyBvZiBzZWN0aW9uIFwuZm9vOgotIDA4MTAgZGVhZGJlZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLi4gICAgICAgICAgICAKKyAwODEwIChkZWFkYmVlZnxlZmJlYWRkZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLi4gICAgICAgICAgICAKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL2F0dHItZ251LTEyLTEucyBiL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL2F0dHItZ251LTEyLTEucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMGNiZTNiCi0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvYXR0ci1nbnUtMTItMS5zCkBAIC0wLDAgKzEgQEAKKy5nbnVfYXR0cmlidXRlIDEyLDEKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL2F0dHItZ251LTEyLTExLmQgYi9sZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9hdHRyLWdudS0xMi0xMS5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4OGM0YmEKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9hdHRyLWdudS0xMi0xMS5kCkBAIC0wLDAgKzEsMTAgQEAKKyNzb3VyY2U6IGF0dHItZ251LTEyLTEucworI3NvdXJjZTogYXR0ci1nbnUtMTItMS5zCisjYXM6IC1hMzIKKyNsZDogLXIgLW1lbGYzMnBwYworI3JlYWRlbGY6IC1BCisjdGFyZ2V0OiBwb3dlcnBjKi0qLSoKKworQXR0cmlidXRlIFNlY3Rpb246IGdudQorRmlsZSBBdHRyaWJ1dGVzCisgIFRhZ19HTlVfUG93ZXJfQUJJX1N0cnVjdF9SZXR1cm46IHIzL3I0CmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9hdHRyLWdudS0xMi0yLnMgYi9sZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9hdHRyLWdudS0xMi0yLnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM5ZGU2NgotLS0gL2Rldi9udWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL2F0dHItZ251LTEyLTIucwpAQCAtMCwwICsxIEBACisuZ251X2F0dHJpYnV0ZSAxMiwyCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9hdHRyLWdudS0xMi0yMS5kIGIvbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvYXR0ci1nbnUtMTItMjEuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjE0ZTM1Ci0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvYXR0ci1nbnUtMTItMjEuZApAQCAtMCwwICsxLDYgQEAKKyNzb3VyY2U6IGF0dHItZ251LTEyLTIucworI3NvdXJjZTogYXR0ci1nbnUtMTItMS5zCisjYXM6IC1hMzIKKyNsZDogLXIgLW1lbGYzMnBwYworI3dhcm5pbmc6IFdhcm5pbmc6IC4qIHVzZXMgcjMvcjQgZm9yIHNtYWxsIHN0cnVjdHVyZSByZXR1cm5zLCAuKiB1c2VzIG1lbW9yeQorI3RhcmdldDogcG93ZXJwYyotKi0qCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9wb3dlcnBjLmV4cCBiL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL3Bvd2VycGMuZXhwCmluZGV4IDRlMDNjZjYuLmFmODEyYTAgMTAwNjQ0Ci0tLSBhL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL3Bvd2VycGMuZXhwCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL3Bvd2VycGMuZXhwCkBAIC0xNzcsMyArMTc3LDYgQEAKIHJ1bl9kdW1wX3Rlc3QgImF0dHItZ251LTgtMTEiCiBydW5fZHVtcF90ZXN0ICJhdHRyLWdudS04LTIzIgogcnVuX2R1bXBfdGVzdCAiYXR0ci1nbnUtOC0zMSIKKworcnVuX2R1bXBfdGVzdCAiYXR0ci1nbnUtMTItMTEiCitydW5fZHVtcF90ZXN0ICJhdHRyLWdudS0xMi0yMSIKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL3Z4d29ya3MxLWxpYi5yZCBiL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL3Z4d29ya3MxLWxpYi5yZAppbmRleCA0MGE1ZDU1Li4xMTM0NjJmIDEwMDY0NAotLS0gYS9sZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy92eHdvcmtzMS1saWIucmQKKysrIGIvbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvdnh3b3JrczEtbGliLnJkCkBAIC0xLDkgKzEsNCBAQAogCi1SZWxvY2F0aW9uIHNlY3Rpb24gJ1wucmVsYVwucGx0JyBhdCBvZmZzZXQgLiogY29udGFpbnMgMiBlbnRyaWVzOgotIE9mZnNldCAgICAgSW5mbyAgICBUeXBlICAgICAgICAgICAgU3ltXC5WYWx1ZSAgU3ltXC4gTmFtZSBcKyBBZGRlbmQKLTAwMDkwNDBjICAuKjE1IFJfUFBDX0pNUF9TTE9UICAgIDAwMDAwMDAwICAgc2V4dGVybmFsIFwrIDAKLTAwMDkwNDEwICAuKjE1IFJfUFBDX0pNUF9TTE9UICAgIDAwMDgwYzQ4ICAgc2dsb2JhbCBcKyAwCi0KIFJlbG9jYXRpb24gc2VjdGlvbiAnXC5yZWxhXC5keW4nIGF0IG9mZnNldCAuKiBjb250YWlucyA1IGVudHJpZXM6CiAgT2Zmc2V0ICAgICBJbmZvICAgIFR5cGUgICAgICAgICAgICBTeW1cLlZhbHVlICBTeW1cLiBOYW1lIFwrIEFkZGVuZAogMDAwOTA4MDAgIDAwMDAwMDE2IFJfUFBDX1JFTEFUSVZFICogMDAwODBjNDQKQEAgLTExLDMgKzYsOCBAQAogMDAwODBjMTIgIC4qMDQgUl9QUENfQUREUjE2X0xPICAgMDAwMDAwMDAgICBfX0dPVFRfQkFTRV9fIFwrIDAKIDAwMDgwYzE2ICAuKjAzIFJfUFBDX0FERFIxNiAgICAgIDAwMDAwMDAwICAgX19HT1RUX0lOREVYX18gXCsgMAogMDAwOTA0MTQgIC4qMTQgUl9QUENfR0xPQl9EQVQgICAgMDAwOTBjMDAgICB4IFwrIDAKKworUmVsb2NhdGlvbiBzZWN0aW9uICdcLnJlbGFcLnBsdCcgYXQgb2Zmc2V0IC4qIGNvbnRhaW5zIDIgZW50cmllczoKKyBPZmZzZXQgICAgIEluZm8gICAgVHlwZSAgICAgICAgICAgIFN5bVwuVmFsdWUgIFN5bVwuIE5hbWUgXCsgQWRkZW5kCiswMDA5MDQwYyAgLioxNSBSX1BQQ19KTVBfU0xPVCAgICAwMDAwMDAwMCAgIHNleHRlcm5hbCBcKyAwCiswMDA5MDQxMCAgLioxNSBSX1BQQ19KTVBfU0xPVCAgICAwMDA4MGM0OCAgIHNnbG9iYWwgXCsgMApkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLXNoYXJlZC9tYWluLmMgYi9sZC90ZXN0c3VpdGUvbGQtc2hhcmVkL21haW4uYwppbmRleCBjZTA2MjYxLi4wODE3ZDI3IDEwMDY0NAotLS0gYS9sZC90ZXN0c3VpdGUvbGQtc2hhcmVkL21haW4uYworKysgYi9sZC90ZXN0c3VpdGUvbGQtc2hhcmVkL21haW4uYwpAQCAtMzgsOCArMzgsNiBAQAogaW50CiBtYWluICgpCiB7Ci0gIGludCAoKnApICgpOwotCiAgIHByaW50ZiAoIm1haW52YXIgPT0gJWRcbiIsIG1haW52YXIpOwogICBwcmludGYgKCJvdmVycmlkZGVudmFyID09ICVkXG4iLCBvdmVycmlkZGVudmFyKTsKICAgcHJpbnRmICgic2hsaWJ2YXIxID09ICVkXG4iLCBzaGxpYnZhcjEpOwpAQCAtNjIsMjEgKzYwLDI5IEBACiAgIHByaW50ZiAoInNobGliX2NoZWNrZnVucHRyMiAobWFpbl9jYWxsZWQpID09ICVkXG4iLAogCSAgc2hsaWJfY2hlY2tmdW5wdHIyIChtYWluX2NhbGxlZCkpOwogI2VuZGlmCi0gIHAgPSBzaGxpYl9nZXRmdW5wdHIxICgpOwotICBwcmludGYgKCJzaGxpYl9nZXRmdW5wdHIxICgpICIpOwotICBpZiAocCA9PSBzaGxpYl9zaGxpYnZhcjEpCi0gICAgcHJpbnRmICgiPT0iKTsKLSAgZWxzZQotICAgIHByaW50ZiAoIiE9Iik7Ci0gIHByaW50ZiAoIiBzaGxpYl9zaGxpYnZhcjFcbiIpOworICB7CisgICAgaW50ICgqcCkgKCk7CisKKyAgICBwID0gc2hsaWJfZ2V0ZnVucHRyMSAoKTsKKyAgICBwcmludGYgKCJzaGxpYl9nZXRmdW5wdHIxICgpICIpOworICAgIGlmIChwID09IHNobGliX3NobGlidmFyMSkKKyAgICAgIHByaW50ZiAoIj09Iik7CisgICAgZWxzZQorICAgICAgcHJpbnRmICgiIT0iKTsKKyAgICBwcmludGYgKCIgc2hsaWJfc2hsaWJ2YXIxXG4iKTsKKyAgfQogI2lmbmRlZiBYQ09GRl9URVNUCi0gIHAgPSBzaGxpYl9nZXRmdW5wdHIyICgpOwotICBwcmludGYgKCJzaGxpYl9nZXRmdW5wdHIyICgpICIpOwotICBpZiAocCA9PSBtYWluX2NhbGxlZCkKLSAgICBwcmludGYgKCI9PSIpOwotICBlbHNlCi0gICAgcHJpbnRmICgiIT0iKTsKLSAgcHJpbnRmICgiIG1haW5fY2FsbGVkXG4iKTsKKyAgeworICAgIGludCAoKnApICgpOworCisgICAgcCA9IHNobGliX2dldGZ1bnB0cjIgKCk7CisgICAgcHJpbnRmICgic2hsaWJfZ2V0ZnVucHRyMiAoKSAiKTsKKyAgICBpZiAocCA9PSBtYWluX2NhbGxlZCkKKyAgICAgIHByaW50ZiAoIj09Iik7CisgICAgZWxzZQorICAgICAgcHJpbnRmICgiIT0iKTsKKyAgICBwcmludGYgKCIgbWFpbl9jYWxsZWRcbiIpOworICB9CiAjZW5kaWYKICNlbmRpZgogICBwcmludGYgKCJzaGxpYl9jaGVjayAoKSA9PSAlZFxuIiwgc2hsaWJfY2hlY2sgKCkpOwpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xpYi9sZC1saWIuZXhwIGIvbGQvdGVzdHN1aXRlL2xpYi9sZC1saWIuZXhwCmluZGV4IDFlYmIxYTIuLmQ0ZTk5NmUgMTAwNjQ0Ci0tLSBhL2xkL3Rlc3RzdWl0ZS9saWIvbGQtbGliLmV4cAorKysgYi9sZC90ZXN0c3VpdGUvbGliL2xkLWxpYi5leHAKQEAgLTU5OCw3ICs1OTgsOCBAQAogIwogIyAgIHRhcmdldDogVEFSR0VUCiAjICAgICAgIE9ubHkgcnVuIHRoZSB0ZXN0IGZvciBUQVJHRVQuICBUaGlzIG1heSBvY2N1ciBtb3JlIHRoYW4gb25jZTsgdGhlCi0jICAgICAgIHRhcmdldCBiZWluZyB0ZXN0ZWQgbXVzdCBtYXRjaCBhdCBsZWFzdCBvbmUuCisjICAgICAgIHRhcmdldCBiZWluZyB0ZXN0ZWQgbXVzdCBtYXRjaCBhdCBsZWFzdCBvbmUuICBZb3UgbWF5IHByb3ZpZGUgdGFyZ2V0CisjICAgICAgIG5hbWUgImNmaSIgZm9yIGFueSB0YXJnZXQgc3VwcG9ydGluZyB0aGUgQ0ZJIHN0YXRlbWVudHMuCiAjCiAjICAgbm90YXJnZXQ6IFRBUkdFVAogIyAgICAgICBEbyBub3QgcnVuIHRoZSB0ZXN0IGZvciBUQVJHRVQuICBUaGlzIG1heSBvY2N1ciBtb3JlIHRoYW4gb25jZTsKQEAgLTE1NjksMyArMTU3MCwzOSBAQAogICAgIH0KICAgICByZXR1cm4gJGdjX3NlY3Rpb25zX2F2YWlsYWJsZV9zYXZlZAogfQorCisjIENoZWNrIGlmIHRoZSBhc3NlbWJsZXIgc3VwcG9ydHMgQ0ZJIHN0YXRlbWVudHMuCisKK3Byb2MgY2hlY2tfYXNfY2ZpIHsgfSB7CisgICAgZ2xvYmFsIGNoZWNrX2FzX2NmaV9yZXN1bHQKKyAgICBnbG9iYWwgYXMKKyAgICBpZiBbaW5mbyBleGlzdHMgY2hlY2tfYXNfY2ZpX3Jlc3VsdF0geworCXJldHVybiAkY2hlY2tfYXNfY2ZpX3Jlc3VsdAorICAgIH0KKyAgICBzZXQgYXNfZmlsZSAidG1wZGlyL2NoZWNrX2FzX2NmaS5zIgorICAgIHNldCBhc19maCBbb3BlbiAkYXNfZmlsZSB3IDA2NjZdCisgICAgcHV0cyAkYXNfZmggIiMgR2VuZXJhdGVkIGZpbGUuIERPIE5PVCBFRElUIgorICAgIHB1dHMgJGFzX2ZoICJcdC5jZmlfc3RhcnRwcm9jIgorICAgIHB1dHMgJGFzX2ZoICJcdC5jZmlfZW5kcHJvYyIKKyAgICBjbG9zZSAkYXNfZmgKKyAgICByZW1vdGVfZG93bmxvYWQgaG9zdCAkYXNfZmlsZQorICAgIHZlcmJvc2UgLWxvZyAiQ2hlY2tpbmcgQ0ZJIHN1cHBvcnQ6IgorICAgIHJlbmFtZSAicGVycm9yIiAiY2hlY2tfYXNfY2ZpX3BlcnJvciIKKyAgICBwcm9jIHBlcnJvciB7IGFyZ3MgfSB7IH0KKyAgICBzZXQgc3VjY2VzcyBbbGRfYXNzZW1ibGUgJGFzICRhc19maWxlICIvZGV2L251bGwiXQorICAgIHJlbmFtZSAicGVycm9yIiAiIgorICAgIHJlbmFtZSAiY2hlY2tfYXNfY2ZpX3BlcnJvciIgInBlcnJvciIKKyAgICAjcmVtb3RlX2ZpbGUgaG9zdCBkZWxldGUgJGFzX2ZpbGUKKyAgICBzZXQgY2hlY2tfYXNfY2ZpX3Jlc3VsdCAkc3VjY2VzcworICAgIHJldHVybiAkc3VjY2VzcworfQorCisjIFByb3ZpZGUgdmlydHVhbCB0YXJnZXQgImNmaSIgZm9yIHRhcmdldHMgc3VwcG9ydGluZyBDRkkuCisKK3JlbmFtZSAiaXN0YXJnZXQiICJpc3RhcmdldF9sZCIKK3Byb2MgaXN0YXJnZXQgeyB0YXJnZXQgfSB7CisgICAgaWYgeyR0YXJnZXQgPT0gImNmaSJ9IHsKKwlyZXR1cm4gW2NoZWNrX2FzX2NmaV0KKyAgICB9CisgICAgcmV0dXJuIFtpc3RhcmdldF9sZCAkdGFyZ2V0XQorfQpkaWZmIC0tZ2l0IGEvbGliaWJlcnR5L0NoYW5nZUxvZyBiL2xpYmliZXJ0eS9DaGFuZ2VMb2cKaW5kZXggODM3MDM1Yy4uZmQ5ZDMwMCAxMDA2NDQKLS0tIGEvbGliaWJlcnR5L0NoYW5nZUxvZworKysgYi9saWJpYmVydHkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMDgtMTAtMjIgIERhbmllbCBKYWNvYm93aXR6ICA8ZGFuQGNvZGVzb3VyY2VyeS5jb20+CisKKwkqIE1ha2VmaWxlLmluIChDUFBGTEFHUyk6IERlZmluZS4KKwkoRkxBR1NfVE9fUEFTUywgQ09NUElMRS5jKTogQWRkIENQUEZMQUdTLgorCisyMDA4LTEwLTE1ICBQYW9sbyBCb256aW5pICA8Ym9uemluaUBnbnUub3JnPgorCisJUFIgYm9vdHN0cmFwLzM3MTM3CisJKiBNYWtlZmlsZS5pbiAoTElCQ0ZMQUdTKTogUmVtb3ZlLgorCShGTEFHU19UT19QQVNTKTogRG9uJ3QgbWVudGlvbiBpdC4KKwkoQ09NUElMRS5jLCBNVUxUSU9TRElSKTogUmVwbGFjZSBpdCB3aXRoIENGTEFHUy4KKworMjAwOC0xMC0wOCAgRGF2aWQgRWRlbHNvaG4gIDxlZGVsc29obkBnbnUub3JnPgorCisJKiB4c3RyZHVwLmM6IEluY2x1ZGUgPHN5cy90eXBlcy5oPiBhZnRlciAiY29uZmlnLmgiCisgCisyMDA4LTEwLTA3ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwkqIGNvbmZpZ3VyZS5hYzogQ2FsbCBBQ19TWVNfTEFSR0VGSUxFLgorCSogY29uZmlnLmluOiBSZWdlbmVyYXRlZC4KKwkqIGNvbmZpZ3VyZTogTGlrZXdpc2UuCisKKzIwMDgtMTAtMDYgIEphc29uIE1lcnJpbGwgIDxqYXNvbkByZWRoYXQuY29tPgorCisJKiBjcC1kZW1hbmdsZS5jIChzdHJ1Y3QgZF9wcmludF9pbmZvKTogQWRkIHBhY2tfaW5kZXguCisJKGRfZHVtcCk6IEFkZCBERU1BTkdMRV9DT01QT05FTlRfUEFDS19FWFBBTlNJT04uCisJKGRfbWFrZV9jb21wKTogTGlrZXdpc2UuICBERU1BTkdMRV9DT01QT05FTlRfQVJHTElTVCBhbmQKKwlERU1BTkdMRV9DT01QT05FTlRfVEVNUExBVEVfQVJHTElTVCBjYW4gaGF2ZSB0d28gbnVsbCBhcmdzLgorCShjcGx1c19kZW1hbmdsZV9idWlsdGluX3R5cGVzKTogQWRkIGNoYXIxNi8zMl90LgorCShjcGx1c19kZW1hbmdsZV90eXBlKTogUmVjb2duaXplIHRoZW0uCisJKGRfdGVtcGxhdGVfYXJncyk6IEhhbmRsZSBlbXB0eSBhcmd1bWVudCBwYWNrcy4KKwkoZF90ZW1wbGF0ZV9hcmcpOiBIYW5kbGUgYXJndW1lbnQgcGFja3MuCisJKGRfZXhwcmVzc2lvbik6IEhhbmRsZSBkZXBlbmRlbnQgbmFtZS4KKwkoZF9pbmRleF90ZW1wbGF0ZV9hcmd1bWVudCk6IE5ldyBmbi4KKwkoZF9sb29rdXBfdGVtcGxhdGVfYXJndW1lbnQpOiBOZXcgZm4uCisJKGRfZmluZF9wYWNrLCBkX3BhY2tfbGVuZ3RoKTogTmV3IGZuLgorCShkX3ByaW50X3N1YmV4cHIpOiBTcGxpdCBvdXQuLi4KKwkoZF9wcmludF9jb21wKTogLi4uZnJvbSBoZXJlLiAgVXNlIGRfKl90ZW1wbGF0ZV9hcmd1bWVudC4KKwlIYW5kbGUgZW1wdHkgYXJnIGxpc3RzLiAgU3VwcG9ydCBwYWNrIGV4cGFuc2lvbnMuCisJKiBjcC1kZW1hbmdsZS5oIChEX0JVSUxUSU5fVFlQRV9DT1VOVCk6IEluY3JlYXNlIHRvIDMyLgorCisyMDA4LTA5LTA5ICBKYXNvbiBNZXJyaWxsICA8amFzb25AcmVkaGF0LmNvbT4KKworCSogY3AtZGVtYW5nbGUuYyAoZF9kdW1wKTogSGFuZGxlIERFTUFOR0xFX0NPTVBPTkVOVF9ERUNMVFlQRS4KKwkoZF9tYWtlX2NvbXApOiBMaWtld2lzZS4KKwkoY3BsdXNfZGVtYW5nbGVfdHlwZSk6IEhhbmRsZSBkZWNsdHlwZSBhbmQgREZQIHR5cGVzLgorCShjcGx1c19kZW1hbmdsZV9vcGVyYXRvcnMpOiBDYWxsIG9wZXJhdG9yIHRha2VzIDIgYXJncy4KKwkoY3BsdXNfZGVtYW5nbGVfYnVpbHRpbl90eXBlcyk6IEFkZCBERlAgdHlwZXMuCisJKGRfZXhwcmxpc3QpOiBOZXcgZm4uCisJKGRfZXhwcmVzc2lvbik6IEhhbmRsZSBwYXJtIHBsYWNlaG9sZGVycywgVCgpIGFuZCBjYWxscy4KKwkoZF9wcmludF9jb21wKTogSGFuZGxlIGRlY2x0eXBlLCBUKCkgYW5kIGNhbGxzLgorCSogdGVzdHN1aXRlL2RlbWFuZ2xlLWV4cGVjdGVkOiBUZXN0IHRoZSBhYm92ZS4KKwogMjAwOC0wOC0wNyAgQWFyb24gVy4gTGFGcmFtYm9pc2UgIDxhYXJvbmF2YXk2MkBhYXJvbndsLmNvbT4KIAogCSogcGV4LXdpbjMyLmMgKGFyZ3ZfdG9fYXJnYyk6IE5ldyBmdW5jdGlvbi4KQEAgLTQ5MDEsNyArNDk1NCw3IEBACiAKIAkqIE1lcmdlIGVnY3MgJiBkZXZvIGxpYmliZXJ0eS4KIAotMTk5OC0wOS0wOCAgTWFydGluIHZvbiBM9ndpcyAgPGxvZXdpc0BpbmZvcm1hdGlrLmh1LWJlcmxpbi5kZT4KKzE5OTgtMDktMDggIE1hcnRpbiB2b24gTMO2d2lzICA8bG9ld2lzQGluZm9ybWF0aWsuaHUtYmVybGluLmRlPgogCiAJKiBjcGx1cy1kZW0uYyAoZGVtYW5nbGVfYXJtX3B0KTogRGVtYW5nbGUgYW5vbnltb3VzIG5hbWVzcGFjZXMuCiAKZGlmZiAtLWdpdCBhL2xpYmliZXJ0eS9NYWtlZmlsZS5pbiBiL2xpYmliZXJ0eS9NYWtlZmlsZS5pbgppbmRleCBlMThhZmY3Li40MWE3MWY1IDEwMDY0NAotLS0gYS9saWJpYmVydHkvTWFrZWZpbGUuaW4KKysrIGIvbGliaWJlcnR5L01ha2VmaWxlLmluCkBAIC01NSw3ICs1NSw3IEBACiAKIENDID0gQENDQAogQ0ZMQUdTID0gQENGTEFHU0AKLUxJQkNGTEFHUyA9ICQoQ0ZMQUdTKQorQ1BQRkxBR1MgPSBAQ1BQRkxBR1NACiBSQU5MSUIgPSBAUkFOTElCQAogTUFLRUlORk8gPSBATUFLRUlORk9ACiBQRVJMID0gQFBFUkxACkBAIC03OSw4ICs3OSw4IEBACiAJIkFSX0ZMQUdTPSQoQVJfRkxBR1MpIiBcCiAJIkNDPSQoQ0MpIiBcCiAJIkNGTEFHUz0kKENGTEFHUykiIFwKKwkiQ1BQRkxBR1M9JChDUFBGTEFHUykiIFwKIAkiREVTVERJUj0kKERFU1RESVIpIiBcCi0JIkxJQkNGTEFHUz0kKExJQkNGTEFHUykiIFwKIAkiRVhUUkFfT0ZJTEVTPSQoRVhUUkFfT0ZJTEVTKSIgXAogCSJIREVGSU5FUz0kKEhERUZJTkVTKSIgXAogCSJJTlNUQUxMPSQoSU5TVEFMTCkiIFwKQEAgLTExMSw3ICsxMTEsNyBAQAogCiBJTkNESVI9JChzcmNkaXIpLyQoTVVMVElTUkNUT1ApLi4vaW5jbHVkZQogCi1DT01QSUxFLmMgPSAkKENDKSAtYyBAREVGU0AgJChMSUJDRkxBR1MpIC1JLiAtSSQoSU5DRElSKSAkKEhERUZJTkVTKSBAYWNfbGliaWJlcnR5X3dhcm5fY2ZsYWdzQAorQ09NUElMRS5jID0gJChDQykgLWMgQERFRlNAICQoQ0ZMQUdTKSAkKENQUEZMQUdTKSAtSS4gLUkkKElOQ0RJUikgJChIREVGSU5FUykgQGFjX2xpYmliZXJ0eV93YXJuX2NmbGFnc0AKIAogIyBKdXN0IHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCB1c2UgYSBidWlsdC1pbiBydWxlIHdpdGggVlBBVEgKIC5jLm86CkBAIC0zNTAsOSArMzUwLDkgQEAKIAogIyBUaGlzIGlzIHRyaWNreS4gIEV2ZW4gdGhvdWdoIENDIGluIHRoZSBNYWtlZmlsZSBjb250YWlucwogIyBtdWx0aWxpYi1zcGVjaWZpYyBmbGFncywgaXQncyBvdmVycmlkZGVuIGJ5IEZMQUdTX1RPX1BBU1MgZnJvbSB0aGUKLSMgZGVmYXVsdCBtdWx0aWxpYiwgc28gd2UgaGF2ZSB0byB0YWtlIExJQkNGTEFHUyBpbnRvIGFjY291bnQgYXMgd2VsbCwKKyMgZGVmYXVsdCBtdWx0aWxpYiwgc28gd2UgaGF2ZSB0byB0YWtlIENGTEFHUyBpbnRvIGFjY291bnQgYXMgd2VsbCwKICMgc2luY2UgaXQgd2lsbCBiZSBwYXNzZWQgdGhlIG11bHRpbGliIGZsYWdzLgotTVVMVElPU0RJUiA9IGAkKENDKSAkKExJQkNGTEFHUykgLXByaW50LW11bHRpLW9zLWRpcmVjdG9yeWAKK01VTFRJT1NESVIgPSBgJChDQykgJChDRkxBR1MpIC1wcmludC1tdWx0aS1vcy1kaXJlY3RvcnlgCiBpbnN0YWxsX3RvX2xpYmRpcjogYWxsCiAJJHtta2luc3RhbGxkaXJzfSAkKERFU1RESVIpJChsaWJkaXIpLyQoTVVMVElPU0RJUikKIAkkKElOU1RBTExfREFUQSkgJChUQVJHRVRMSUIpICQoREVTVERJUikkKGxpYmRpcikvJChNVUxUSU9TRElSKS8kKFRBUkdFVExJQiluCmRpZmYgLS1naXQgYS9saWJpYmVydHkvY29uZmlnLmluIGIvbGliaWJlcnR5L2NvbmZpZy5pbgppbmRleCA0MzZhNThkLi45MjYwZDU2IDEwMDY0NAotLS0gYS9saWJpYmVydHkvY29uZmlnLmluCisrKyBiL2xpYmliZXJ0eS9jb25maWcuaW4KQEAgLTQyNSw2ICs0MjUsMTIgQEAKICAgIGZpcnN0IChsaWtlIE1vdG9yb2xhIGFuZCBTUEFSQywgdW5saWtlIEludGVsIGFuZCBWQVgpLiAqLwogI3VuZGVmIFdPUkRTX0JJR0VORElBTgogCisvKiBOdW1iZXIgb2YgYml0cyBpbiBhIGZpbGUgb2Zmc2V0LCBvbiBob3N0cyB3aGVyZSB0aGlzIGlzIHNldHRhYmxlLiAqLworI3VuZGVmIF9GSUxFX09GRlNFVF9CSVRTCisKKy8qIERlZmluZSBmb3IgbGFyZ2UgZmlsZXMsIG9uIEFJWC1zdHlsZSBob3N0cy4gKi8KKyN1bmRlZiBfTEFSR0VfRklMRVMKKwogLyogRGVmaW5lIHRvIGVtcHR5IGlmIGBjb25zdCcgZG9lcyBub3QgY29uZm9ybSB0byBBTlNJIEMuICovCiAjdW5kZWYgY29uc3QKIApkaWZmIC0tZ2l0IGEvbGliaWJlcnR5L2NvbmZpZ3VyZSBiL2xpYmliZXJ0eS9jb25maWd1cmUKaW5kZXggNTBlOWJhMy4uNzFiNmNjZCAxMDA3NTUKLS0tIGEvbGliaWJlcnR5L2NvbmZpZ3VyZQorKysgYi9saWJpYmVydHkvY29uZmlndXJlCkBAIC04NDksNiArODQ5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlIG1ha2UgcnVsZXMgYW5kIGRlcGVuZGVuY2llcyBub3QgdXNlZnVsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbmQgc29tZXRpbWVzIGNvbmZ1c2luZykgdG8gdGhlIGNhc3VhbCBpbnN0YWxsZXIKICAgLS1lbmFibGUtbXVsdGlsaWIgICAgICAgYnVpbGQgbWFueSBsaWJyYXJ5IHZlcnNpb25zIChkZWZhdWx0KQorICAtLWRpc2FibGUtbGFyZ2VmaWxlICAgICBvbWl0IHN1cHBvcnQgZm9yIGxhcmdlIGZpbGVzCiAgIC0tZW5hYmxlLWluc3RhbGwtbGliaWJlcnR5ICAgICAgIEluc3RhbGwgaGVhZGVycyBmb3IgZW5kIHVzZXJzCiAKIE9wdGlvbmFsIFBhY2thZ2VzOgpAQCAtMjc0MSw2ICsyNzQyLDM3MSBAQAogYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKIGFjX2NvbXBpbGVyX2dudT0kYWNfY3ZfY19jb21waWxlcl9nbnUKIAorCisjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbGFyZ2VmaWxlIG9yIC0tZGlzYWJsZS1sYXJnZWZpbGUgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHtlbmFibGVfbGFyZ2VmaWxlK3NldH0iID0gc2V0OyB0aGVuCisgIGVuYWJsZXZhbD0iJGVuYWJsZV9sYXJnZWZpbGUiCisKK2ZpOworaWYgdGVzdCAiJGVuYWJsZV9sYXJnZWZpbGUiICE9IG5vOyB0aGVuCisKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBzcGVjaWFsIEMgY29tcGlsZXIgb3B0aW9ucyBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIHNwZWNpYWwgQyBjb21waWxlciBvcHRpb25zIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3N5c19sYXJnZWZpbGVfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgYWNfY3Zfc3lzX2xhcmdlZmlsZV9DQz1ubworICAgICBpZiB0ZXN0ICIkR0NDIiAhPSB5ZXM7IHRoZW4KKyAgICAgICBhY19zYXZlX0NDPSRDQworICAgICAgIHdoaWxlIDo7IGRvCisgICAgIAkgIyBJUklYIDYuMiBhbmQgbGF0ZXIgZG8gbm90IHN1cHBvcnQgbGFyZ2UgZmlsZXMgYnkgZGVmYXVsdCwKKyAgICAgCSAjIHNvIHVzZSB0aGUgQyBjb21waWxlcidzIC1uMzIgb3B0aW9uIGlmIHRoYXQgaGVscHMuCisJIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogY29uZmRlZnMuaC4gICovCitfQUNFT0YKK2NhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIC8qIENoZWNrIHRoYXQgb2ZmX3QgY2FuIHJlcHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5LgorICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKKyAgICBzaW5jZSBzb21lIEMrKyBjb21waWxlcnMgbWFzcXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCisgICAgaW5jb3JyZWN0bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLworI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCisgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQorCQkgICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCisJCSAgICAgID8gMSA6IC0xXTsKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKKyAgICAgCSBybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dAorICAgICAJIENDPSIkQ0MgLW4zMiIKKyAgICAgCSBybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGFjX2N2X3N5c19sYXJnZWZpbGVfQ0M9JyAtbjMyJzsgYnJlYWsKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworZmkKK3JtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0CisJIGJyZWFrCisgICAgICAgZG9uZQorICAgICAgIENDPSRhY19zYXZlX0NDCisgICAgICAgcm0gLWYgY29uZnRlc3QuJGFjX2V4dAorICAgIGZpCitmaQorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X3N5c19sYXJnZWZpbGVfQ0MiID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N2X3N5c19sYXJnZWZpbGVfQ0MiID4mNgorICBpZiB0ZXN0ICIkYWNfY3Zfc3lzX2xhcmdlZmlsZV9DQyIgIT0gbm87IHRoZW4KKyAgICBDQz0kQ0MkYWNfY3Zfc3lzX2xhcmdlZmlsZV9DQworICBmaQorCisgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgX0ZJTEVfT0ZGU0VUX0JJVFMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcyIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBfRklMRV9PRkZTRVRfQklUUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cytzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICB3aGlsZSA6OyBkbworICBhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cz1ubworICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGNvbmZkZWZzLmguICAqLworX0FDRU9GCitjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK2NhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4KKyAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCisgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycworICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KKyNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQorICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKKwkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQorCQkgICAgICA/IDEgOiAtMV07CitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CisgIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogY29uZmRlZnMuaC4gICovCitfQUNFT0YKK2NhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIC8qIENoZWNrIHRoYXQgb2ZmX3QgY2FuIHJlcHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5LgorICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKKyAgICBzaW5jZSBzb21lIEMrKyBjb21waWxlcnMgbWFzcXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCisgICAgaW5jb3JyZWN0bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLworI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCisgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQorCQkgICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCisJCSAgICAgID8gMSA6IC0xXTsKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK3JtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKK2lmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorICAoZXZhbCAkYWNfY29tcGlsZSkgMj5jb25mdGVzdC5lcjEKKyAgYWNfc3RhdHVzPSQ/CisgIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCisgIHJtIC1mIGNvbmZ0ZXN0LmVyMQorICBjYXQgY29uZnRlc3QuZXJyID4mNQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC16ICIkYWNfY193ZXJyb3JfZmxhZyIKKwkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyJworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKyAgYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHM9NjQ7IGJyZWFrCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CisgIGJyZWFrCitkb25lCitmaQorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cyIgPiY2CitpZiB0ZXN0ICIkYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHMiICE9IG5vOyB0aGVuCisKK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgJGFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzCitfQUNFT0YKKworZmkKK3JtIC1mIGNvbmZ0ZXN0KgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIF9MQVJHRV9GSUxFUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIF9MQVJHRV9GSUxFUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHthY19jdl9zeXNfbGFyZ2VfZmlsZXMrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgd2hpbGUgOjsgZG8KKyAgYWNfY3Zfc3lzX2xhcmdlX2ZpbGVzPW5vCisgIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogY29uZmRlZnMuaC4gICovCitfQUNFT0YKK2NhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIC8qIENoZWNrIHRoYXQgb2ZmX3QgY2FuIHJlcHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5LgorICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKKyAgICBzaW5jZSBzb21lIEMrKyBjb21waWxlcnMgbWFzcXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCisgICAgaW5jb3JyZWN0bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLworI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCisgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQorCQkgICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCisJCSAgICAgID8gMSA6IC0xXTsKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK3JtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKK2lmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorICAoZXZhbCAkYWNfY29tcGlsZSkgMj5jb25mdGVzdC5lcjEKKyAgYWNfc3RhdHVzPSQ/CisgIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCisgIHJtIC1mIGNvbmZ0ZXN0LmVyMQorICBjYXQgY29uZnRlc3QuZXJyID4mNQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC16ICIkYWNfY193ZXJyb3JfZmxhZyIKKwkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyJworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9ICYmCisJIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKyAgYnJlYWsKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworZmkKK3JtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKyAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBjb25mZGVmcy5oLiAgKi8KK19BQ0VPRgorY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CitjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgLyogQ2hlY2sgdGhhdCBvZmZfdCBjYW4gcmVwcmVzZW50IDIqKjYzIC0gMSBjb3JyZWN0bHkuCisgICAgV2UgY2FuJ3Qgc2ltcGx5IGRlZmluZSBMQVJHRV9PRkZfVCB0byBiZSA5MjIzMzcyMDM2ODU0Nzc1ODA3LAorICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBjb21waWxlcnMKKyAgICBpbmNvcnJlY3RseSByZWplY3QgOTIyMzM3MjAzNjg1NDc3NTgwNy4gICovCisjZGVmaW5lIExBUkdFX09GRl9UICgoKG9mZl90KSAxIDw8IDYyKSAtIDEgKyAoKG9mZl90KSAxIDw8IDYyKSkKKyAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCisJCSAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKKwkJICAgICAgPyAxIDogLTFdOworaW50CittYWluICgpCit7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CisgIChldmFsICRhY19jb21waWxlKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorICBhY19jdl9zeXNfbGFyZ2VfZmlsZXM9MTsgYnJlYWsKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworZmkKK3JtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKyAgYnJlYWsKK2RvbmUKK2ZpCitlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3Zfc3lzX2xhcmdlX2ZpbGVzIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdl9zeXNfbGFyZ2VfZmlsZXMiID4mNgoraWYgdGVzdCAiJGFjX2N2X3N5c19sYXJnZV9maWxlcyIgIT0gbm87IHRoZW4KKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBfTEFSR0VfRklMRVMgJGFjX2N2X3N5c19sYXJnZV9maWxlcworX0FDRU9GCisKK2ZpCitybSAtZiBjb25mdGVzdCoKK2ZpCisKIGFjX2V4dD1jCiBhY19jcHA9JyRDUFAgJENQUEZMQUdTJwogYWNfY29tcGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JwpAQCAtMjk4MCw3ICszMzQ2LDYgQEAKIAogYWNfY19wcmVwcm9jX3dhcm5fZmxhZz15ZXMKIAotCiBhY19saWJpYmVydHlfd2Fybl9jZmxhZ3M9CiBzYXZlX0NGTEFHUz0iJENGTEFHUyIKIGZvciBvcHRpb24gaW4gLVcgLVdhbGwgLVd3cml0ZS1zdHJpbmdzIC1XYysrLWNvbXBhdCBcCmRpZmYgLS1naXQgYS9saWJpYmVydHkvY29uZmlndXJlLmFjIGIvbGliaWJlcnR5L2NvbmZpZ3VyZS5hYwppbmRleCA0MTkzNTFiLi5mZjBhZTZhIDEwMDY0NAotLS0gYS9saWJpYmVydHkvY29uZmlndXJlLmFjCisrKyBiL2xpYmliZXJ0eS9jb25maWd1cmUuYWMKQEAgLTEzMCw2ICsxMzAsNyBAQAogCiBHQ0NfTk9fRVhFQ1VUQUJMRVMKIEFDX1BST0dfQ0MKK0FDX1NZU19MQVJHRUZJTEUKIEFDX1BST0dfQ1BQX1dFUlJPUgogCiBBQ1hfUFJPR19DQ19XQVJOSU5HX09QVFMoWy1XIC1XYWxsIC1Xd3JpdGUtc3RyaW5ncyAtV2MrKy1jb21wYXQgXApkaWZmIC0tZ2l0IGEvbGliaWJlcnR5L2NwLWRlbWFuZ2xlLmMgYi9saWJpYmVydHkvY3AtZGVtYW5nbGUuYwppbmRleCA4MjEwN2JjLi4zZmE1ZjFmIDEwMDY0NAotLS0gYS9saWJpYmVydHkvY3AtZGVtYW5nbGUuYworKysgYi9saWJpYmVydHkvY3AtZGVtYW5nbGUuYwpAQCAtMjk5LDYgKzI5OSw5IEBACiAgIHN0cnVjdCBkX3ByaW50X21vZCAqbW9kaWZpZXJzOwogICAvKiBTZXQgdG8gMSBpZiB3ZSBzYXcgYSBkZW1hbmdsaW5nIGVycm9yLiAgKi8KICAgaW50IGRlbWFuZ2xlX2ZhaWx1cmU7CisgIC8qIFRoZSBjdXJyZW50IGluZGV4IGludG8gYW55IHRlbXBsYXRlIGFyZ3VtZW50IHBhY2tzIHdlIGFyZSB1c2luZworICAgICBmb3IgcHJpbnRpbmcuICAqLworICBpbnQgcGFja19pbmRleDsKIH07CiAKICNpZmRlZiBDUF9ERU1BTkdMRV9ERUJVRwpAQCAtNjYwLDYgKzY2MywxMiBAQAogICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX0NIQVJBQ1RFUjoKICAgICAgIHByaW50ZiAoImNoYXJhY3RlciAnJWMnXG4iLCAgZGMtPnUuc19jaGFyYWN0ZXIuY2hhcmFjdGVyKTsKICAgICAgIHJldHVybjsKKyAgICBjYXNlIERFTUFOR0xFX0NPTVBPTkVOVF9ERUNMVFlQRToKKyAgICAgIHByaW50ZiAoImRlY2x0eXBlXG4iKTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX1BBQ0tfRVhQQU5TSU9OOgorICAgICAgcHJpbnRmICgicGFjayBleHBhbnNpb25cbiIpOworICAgICAgYnJlYWs7CiAgICAgfQogCiAgIGRfZHVtcCAoZF9sZWZ0IChkYyksIGluZGVudCArIDIpOwpAQCAtODAzLDEwICs4MTIsMTAgQEAKICAgICBjYXNlIERFTUFOR0xFX0NPTVBPTkVOVF9DT01QTEVYOgogICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX0lNQUdJTkFSWToKICAgICBjYXNlIERFTUFOR0xFX0NPTVBPTkVOVF9WRU5ET1JfVFlQRToKLSAgICBjYXNlIERFTUFOR0xFX0NPTVBPTkVOVF9BUkdMSVNUOgotICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX1RFTVBMQVRFX0FSR0xJU1Q6CiAgICAgY2FzZSBERU1BTkdMRV9DT01QT05FTlRfQ0FTVDoKICAgICBjYXNlIERFTUFOR0xFX0NPTVBPTkVOVF9KQVZBX1JFU09VUkNFOgorICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX0RFQ0xUWVBFOgorICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX1BBQ0tfRVhQQU5TSU9OOgogICAgICAgaWYgKGxlZnQgPT0gTlVMTCkKIAlyZXR1cm4gTlVMTDsKICAgICAgIGJyZWFrOwpAQCAtODI3LDYgKzgzNiw4IEBACiAgICAgY2FzZSBERU1BTkdMRV9DT01QT05FTlRfUkVTVFJJQ1RfVEhJUzoKICAgICBjYXNlIERFTUFOR0xFX0NPTVBPTkVOVF9WT0xBVElMRV9USElTOgogICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX0NPTlNUX1RISVM6CisgICAgY2FzZSBERU1BTkdMRV9DT01QT05FTlRfQVJHTElTVDoKKyAgICBjYXNlIERFTUFOR0xFX0NPTVBPTkVOVF9URU1QTEFURV9BUkdMSVNUOgogICAgICAgYnJlYWs7CiAKICAgICAgIC8qIE90aGVyIHR5cGVzIHNob3VsZCBub3QgYmUgc2VlbiBoZXJlLiAgKi8KQEAgLTE0MjIsMTMgKzE0MzMsMTQgQEAKICAgeyAiYWEiLCBOTCAoIiYmIiksICAgICAgICAyIH0sCiAgIHsgImFkIiwgTkwgKCImIiksICAgICAgICAgMSB9LAogICB7ICJhbiIsIE5MICgiJiIpLCAgICAgICAgIDIgfSwKLSAgeyAiY2wiLCBOTCAoIigpIiksICAgICAgICAwIH0sCisgIHsgImNsIiwgTkwgKCIoKSIpLCAgICAgICAgMiB9LAogICB7ICJjbSIsIE5MICgiLCIpLCAgICAgICAgIDIgfSwKICAgeyAiY28iLCBOTCAoIn4iKSwgICAgICAgICAxIH0sCiAgIHsgImRWIiwgTkwgKCIvPSIpLCAgICAgICAgMiB9LAogICB7ICJkYSIsIE5MICgiZGVsZXRlW10iKSwgIDEgfSwKICAgeyAiZGUiLCBOTCAoIioiKSwgICAgICAgICAxIH0sCiAgIHsgImRsIiwgTkwgKCJkZWxldGUiKSwgICAgMSB9LAorICB7ICJkdCIsIE5MICgiLiIpLCAgICAgICAgIDIgfSwKICAgeyAiZHYiLCBOTCAoIi8iKSwgICAgICAgICAyIH0sCiAgIHsgImVPIiwgTkwgKCJePSIpLCAgICAgICAgMiB9LAogICB7ICJlbyIsIE5MICgiXiIpLCAgICAgICAgIDIgfSwKQEAgLTE4ODMsNiArMTg5NSwxMiBAQAogICAvKiB5ICovIHsgTkwgKCJ1bnNpZ25lZCBsb25nIGxvbmciKSwgTkwgKCJ1bnNpZ25lZCBsb25nIGxvbmciKSwKIAkgICAgRF9QUklOVF9VTlNJR05FRF9MT05HX0xPTkcgfSwKICAgLyogeiAqLyB7IE5MICgiLi4uIiksCQlOTCAoIi4uLiIpLAkJRF9QUklOVF9ERUZBVUxUIH0sCisgIC8qIDI2ICovIHsgTkwgKCJkZWNpbWFsMzIiKSwJTkwgKCJkZWNpbWFsMzIiKSwJRF9QUklOVF9ERUZBVUxUIH0sCisgIC8qIDI3ICovIHsgTkwgKCJkZWNpbWFsNjQiKSwJTkwgKCJkZWNpbWFsNjQiKSwJRF9QUklOVF9ERUZBVUxUIH0sCisgIC8qIDI4ICovIHsgTkwgKCJkZWNpbWFsMTI4IiksCU5MICgiZGVjaW1hbDEyOCIpLAlEX1BSSU5UX0RFRkFVTFQgfSwKKyAgLyogMjkgKi8geyBOTCAoImhhbGYiKSwJTkwgKCJoYWxmIiksCQlEX1BSSU5UX0ZMT0FUIH0sCisgIC8qIDMwICovIHsgTkwgKCJjaGFyMTZfdCIpLAlOTCAoImNoYXIxNl90IiksCURfUFJJTlRfREVGQVVMVCB9LAorICAvKiAzMSAqLyB7IE5MICgiY2hhcjMyX3QiKSwJTkwgKCJjaGFyMzJfdCIpLAlEX1BSSU5UX0RFRkFVTFQgfSwKIH07CiAKIENQX1NUQVRJQ19JRl9HTElCQ1BQX1YzCkBAIC0yMDQ2LDYgKzIwNjQsNjAgQEAKIAkJCSBjcGx1c19kZW1hbmdsZV90eXBlIChkaSksIHJldCk7CiAgICAgICBicmVhazsKIAorICAgIGNhc2UgJ0QnOgorICAgICAgY2FuX3N1YnN0ID0gMDsKKyAgICAgIGRfYWR2YW5jZSAoZGksIDEpOworICAgICAgcGVlayA9IGRfbmV4dF9jaGFyIChkaSk7CisgICAgICBzd2l0Y2ggKHBlZWspCisJeworCWNhc2UgJ1QnOgorCWNhc2UgJ3QnOgorCSAgLyogZGVjbHR5cGUgKGV4cHJlc3Npb24pICovCisJICByZXQgPSBkX21ha2VfY29tcCAoZGksIERFTUFOR0xFX0NPTVBPTkVOVF9ERUNMVFlQRSwKKwkJCSAgICAgZF9leHByZXNzaW9uIChkaSksIE5VTEwpOworCSAgaWYgKHJldCAmJiBkX25leHRfY2hhciAoZGkpICE9ICdFJykKKwkgICAgcmV0ID0gTlVMTDsKKwkgIGJyZWFrOworCSAgCisJY2FzZSAncCc6CisJICAvKiBQYWNrIGV4cGFuc2lvbi4gICovCisJICByZXQgPSBkX21ha2VfY29tcCAoZGksIERFTUFOR0xFX0NPTVBPTkVOVF9QQUNLX0VYUEFOU0lPTiwKKwkJCSAgICAgY3BsdXNfZGVtYW5nbGVfdHlwZSAoZGkpLCBOVUxMKTsKKwkgIGJyZWFrOworCSAgCisJY2FzZSAnZic6CisJICAvKiAzMi1iaXQgZGVjaW1hbCBmbG9hdGluZyBwb2ludCAqLworCSAgcmV0ID0gZF9tYWtlX2J1aWx0aW5fdHlwZSAoZGksICZjcGx1c19kZW1hbmdsZV9idWlsdGluX3R5cGVzWzI2XSk7CisJICBkaS0+ZXhwYW5zaW9uICs9IHJldC0+dS5zX2J1aWx0aW4udHlwZS0+bGVuOworCSAgYnJlYWs7CisJY2FzZSAnZCc6CisJICAvKiA2NC1iaXQgREZQICovCisJICByZXQgPSBkX21ha2VfYnVpbHRpbl90eXBlIChkaSwgJmNwbHVzX2RlbWFuZ2xlX2J1aWx0aW5fdHlwZXNbMjddKTsKKwkgIGRpLT5leHBhbnNpb24gKz0gcmV0LT51LnNfYnVpbHRpbi50eXBlLT5sZW47CisJICBicmVhazsKKwljYXNlICdlJzoKKwkgIC8qIDEyOC1iaXQgREZQICovCisJICByZXQgPSBkX21ha2VfYnVpbHRpbl90eXBlIChkaSwgJmNwbHVzX2RlbWFuZ2xlX2J1aWx0aW5fdHlwZXNbMjhdKTsKKwkgIGRpLT5leHBhbnNpb24gKz0gcmV0LT51LnNfYnVpbHRpbi50eXBlLT5sZW47CisJICBicmVhazsKKwljYXNlICdoJzoKKwkgIC8qIDE2LWJpdCBoYWxmLXByZWNpc2lvbiBGUCAqLworCSAgcmV0ID0gZF9tYWtlX2J1aWx0aW5fdHlwZSAoZGksICZjcGx1c19kZW1hbmdsZV9idWlsdGluX3R5cGVzWzI5XSk7CisJICBkaS0+ZXhwYW5zaW9uICs9IHJldC0+dS5zX2J1aWx0aW4udHlwZS0+bGVuOworCSAgYnJlYWs7CisJY2FzZSAncyc6CisJICAvKiBjaGFyMTZfdCAqLworCSAgcmV0ID0gZF9tYWtlX2J1aWx0aW5fdHlwZSAoZGksICZjcGx1c19kZW1hbmdsZV9idWlsdGluX3R5cGVzWzMwXSk7CisJICBkaS0+ZXhwYW5zaW9uICs9IHJldC0+dS5zX2J1aWx0aW4udHlwZS0+bGVuOworCSAgYnJlYWs7CisJY2FzZSAnaSc6CisJICAvKiBjaGFyMzJfdCAqLworCSAgcmV0ID0gZF9tYWtlX2J1aWx0aW5fdHlwZSAoZGksICZjcGx1c19kZW1hbmdsZV9idWlsdGluX3R5cGVzWzMxXSk7CisJICBkaS0+ZXhwYW5zaW9uICs9IHJldC0+dS5zX2J1aWx0aW4udHlwZS0+bGVuOworCSAgYnJlYWs7CisJfQorICAgICAgYnJlYWs7CisKICAgICBkZWZhdWx0OgogICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtMjMzNyw2ICsyNDA5LDEzIEBACiAgIGlmICghIGRfY2hlY2tfY2hhciAoZGksICdJJykpCiAgICAgcmV0dXJuIE5VTEw7CiAKKyAgaWYgKGRfcGVla19jaGFyIChkaSkgPT0gJ0UnKQorICAgIHsKKyAgICAgIC8qIEFuIGFyZ3VtZW50IHBhY2sgY2FuIGJlIGVtcHR5LiAgKi8KKyAgICAgIGRfYWR2YW5jZSAoZGksIDEpOworICAgICAgcmV0dXJuIGRfbWFrZV9jb21wIChkaSwgREVNQU5HTEVfQ09NUE9ORU5UX1RFTVBMQVRFX0FSR0xJU1QsIE5VTEwsIE5VTEwpOworICAgIH0KKwogICBhbCA9IE5VTEw7CiAgIHBhbCA9ICZhbDsKICAgd2hpbGUgKDEpCkBAIC0yMzg2LDE0ICsyNDY1LDU0IEBACiAgICAgY2FzZSAnTCc6CiAgICAgICByZXR1cm4gZF9leHByX3ByaW1hcnkgKGRpKTsKIAorICAgIGNhc2UgJ0knOgorICAgICAgLyogQW4gYXJndW1lbnQgcGFjay4gICovCisgICAgICByZXR1cm4gZF90ZW1wbGF0ZV9hcmdzIChkaSk7CisKICAgICBkZWZhdWx0OgogICAgICAgcmV0dXJuIGNwbHVzX2RlbWFuZ2xlX3R5cGUgKGRpKTsKICAgICB9CiB9CiAKKy8qIFN1YnJvdXRpbmUgb2YgPGV4cHJlc3Npb24+IDo6PSBjbCA8ZXhwcmVzc2lvbj4rIEUgKi8KKworc3RhdGljIHN0cnVjdCBkZW1hbmdsZV9jb21wb25lbnQgKgorZF9leHBybGlzdCAoc3RydWN0IGRfaW5mbyAqZGkpCit7CisgIHN0cnVjdCBkZW1hbmdsZV9jb21wb25lbnQgKmxpc3QgPSBOVUxMOworICBzdHJ1Y3QgZGVtYW5nbGVfY29tcG9uZW50ICoqcCA9ICZsaXN0OworCisgIGlmIChkX3BlZWtfY2hhciAoZGkpID09ICdFJykKKyAgICB7CisgICAgICBkX2FkdmFuY2UgKGRpLCAxKTsKKyAgICAgIHJldHVybiBkX21ha2VfY29tcCAoZGksIERFTUFOR0xFX0NPTVBPTkVOVF9BUkdMSVNULCBOVUxMLCBOVUxMKTsKKyAgICB9CisKKyAgd2hpbGUgKDEpCisgICAgeworICAgICAgc3RydWN0IGRlbWFuZ2xlX2NvbXBvbmVudCAqYXJnID0gZF9leHByZXNzaW9uIChkaSk7CisgICAgICBpZiAoYXJnID09IE5VTEwpCisJcmV0dXJuIE5VTEw7CisKKyAgICAgICpwID0gZF9tYWtlX2NvbXAgKGRpLCBERU1BTkdMRV9DT01QT05FTlRfQVJHTElTVCwgYXJnLCBOVUxMKTsKKyAgICAgIGlmICgqcCA9PSBOVUxMKQorCXJldHVybiBOVUxMOworICAgICAgcCA9ICZkX3JpZ2h0ICgqcCk7CisKKyAgICAgIGlmIChkX3BlZWtfY2hhciAoZGkpID09ICdFJykKKwl7CisJICBkX2FkdmFuY2UgKGRpLCAxKTsKKwkgIGJyZWFrOworCX0KKyAgICB9CisKKyAgcmV0dXJuIGxpc3Q7Cit9CisKIC8qIDxleHByZXNzaW9uPiA6Oj0gPCh1bmFyeSkgb3BlcmF0b3ItbmFtZT4gPGV4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgOjo9IDwoYmluYXJ5KSBvcGVyYXRvci1uYW1lPiA8ZXhwcmVzc2lvbj4gPGV4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgOjo9IDwodHJpbmFyeSkgb3BlcmF0b3ItbmFtZT4gPGV4cHJlc3Npb24+IDxleHByZXNzaW9uPiA8ZXhwcmVzc2lvbj4KKwkJOjo9IGNsIDxleHByZXNzaW9uPisgRQogICAgICAgICAgICAgICAgIDo6PSBzdCA8dHlwZT4KICAgICAgICAgICAgICAgICA6Oj0gPHRlbXBsYXRlLXBhcmFtPgogICAgICAgICAgICAgICAgIDo6PSBzciA8dHlwZT4gPHVucXVhbGlmaWVkLW5hbWU+CkBAIC0yNDI2LDYgKzI1NDUsMjUgQEAKIAkJCSAgICBkX21ha2VfY29tcCAoZGksIERFTUFOR0xFX0NPTVBPTkVOVF9URU1QTEFURSwgbmFtZSwKIAkJCQkJIGRfdGVtcGxhdGVfYXJncyAoZGkpKSk7CiAgICAgfQorICBlbHNlIGlmIChwZWVrID09ICdzJyAmJiBkX3BlZWtfbmV4dF9jaGFyIChkaSkgPT0gJ1QnKQorICAgIHsKKyAgICAgIC8qIEp1c3QgZGVtYW5nbGUgYSBwYXJhbWV0ZXIgcGxhY2Vob2xkZXIgYXMgaXRzIHR5cGUuICAqLworICAgICAgZF9hZHZhbmNlIChkaSwgMik7CisgICAgICByZXR1cm4gY3BsdXNfZGVtYW5nbGVfdHlwZSAoZGkpOworICAgIH0KKyAgZWxzZSBpZiAoSVNfRElHSVQgKHBlZWspKQorICAgIHsKKyAgICAgIC8qIFdlIGNhbiBnZXQgYW4gdW5xdWFsaWZpZWQgbmFtZSBhcyBhbiBleHByZXNzaW9uIGluIHRoZSBjYXNlIG9mCisgICAgICAgICBhIGRlcGVuZGVudCBtZW1iZXIgYWNjZXNzLCBpLmUuIGRlY2x0eXBlKFQoKS5pKS4gICovCisgICAgICBzdHJ1Y3QgZGVtYW5nbGVfY29tcG9uZW50ICpuYW1lID0gZF91bnF1YWxpZmllZF9uYW1lIChkaSk7CisgICAgICBpZiAobmFtZSA9PSBOVUxMKQorCXJldHVybiBOVUxMOworICAgICAgaWYgKGRfcGVla19jaGFyIChkaSkgPT0gJ0knKQorCXJldHVybiBkX21ha2VfY29tcCAoZGksIERFTUFOR0xFX0NPTVBPTkVOVF9URU1QTEFURSwgbmFtZSwKKwkJCSAgICBkX3RlbXBsYXRlX2FyZ3MgKGRpKSk7CisgICAgICBlbHNlCisJcmV0dXJuIG5hbWU7CisgICAgfQogICBlbHNlCiAgICAgewogICAgICAgc3RydWN0IGRlbWFuZ2xlX2NvbXBvbmVudCAqb3A7CkBAIC0yNDU0LDcgKzI1OTIsMTIgQEAKIAkgIGFyZ3MgPSBvcC0+dS5zX2V4dGVuZGVkX29wZXJhdG9yLmFyZ3M7CiAJICBicmVhazsKIAljYXNlIERFTUFOR0xFX0NPTVBPTkVOVF9DQVNUOgotCSAgYXJncyA9IDE7CisJICBpZiAoZF9wZWVrX2NoYXIgKGRpKSA9PSAndicpCisJICAgIC8qIFQoKSBlbmNvZGVkIGFzIGFuIG9wZXJhbmQgb2Ygdm9pZC4gICovCisJICAgIHJldHVybiBkX21ha2VfY29tcCAoZGksIERFTUFOR0xFX0NPTVBPTkVOVF9VTkFSWSwgb3AsCisJCQkJY3BsdXNfZGVtYW5nbGVfdHlwZSAoZGkpKTsKKwkgIGVsc2UKKwkgICAgYXJncyA9IDE7CiAJICBicmVhazsKIAl9CiAKQEAgLTI0NjYsMTMgKzI2MDksMTggQEAKIAljYXNlIDI6CiAJICB7CiAJICAgIHN0cnVjdCBkZW1hbmdsZV9jb21wb25lbnQgKmxlZnQ7CisJICAgIHN0cnVjdCBkZW1hbmdsZV9jb21wb25lbnQgKnJpZ2h0OwogCiAJICAgIGxlZnQgPSBkX2V4cHJlc3Npb24gKGRpKTsKKwkgICAgaWYgKCFzdHJjbXAgKG9wLT51LnNfb3BlcmF0b3Iub3AtPmNvZGUsICJjbCIpKQorCSAgICAgIHJpZ2h0ID0gZF9leHBybGlzdCAoZGkpOworCSAgICBlbHNlCisJICAgICAgcmlnaHQgPSBkX2V4cHJlc3Npb24gKGRpKTsKKwogCSAgICByZXR1cm4gZF9tYWtlX2NvbXAgKGRpLCBERU1BTkdMRV9DT01QT05FTlRfQklOQVJZLCBvcCwKIAkJCQlkX21ha2VfY29tcCAoZGksCiAJCQkJCSAgICAgREVNQU5HTEVfQ09NUE9ORU5UX0JJTkFSWV9BUkdTLAotCQkJCQkgICAgIGxlZnQsCi0JCQkJCSAgICAgZF9leHByZXNzaW9uIChkaSkpKTsKKwkJCQkJICAgICBsZWZ0LCByaWdodCkpOwogCSAgfQogCWNhc2UgMzoKIAkgIHsKQEAgLTI5NjgsNiArMzExNiwxMjMgQEAKICAgcmV0dXJuIGRncy5idWY7CiB9CiAKKy8qIFJldHVybnMgdGhlIEkndGggZWxlbWVudCBvZiB0aGUgdGVtcGxhdGUgYXJnbGlzdCBBUkdTLCBvciBOVUxMIG9uCisgICBmYWlsdXJlLiAgKi8KKworc3RhdGljIHN0cnVjdCBkZW1hbmdsZV9jb21wb25lbnQgKgorZF9pbmRleF90ZW1wbGF0ZV9hcmd1bWVudCAoc3RydWN0IGRlbWFuZ2xlX2NvbXBvbmVudCAqYXJncywgaW50IGkpCit7CisgIHN0cnVjdCBkZW1hbmdsZV9jb21wb25lbnQgKmE7CisKKyAgZm9yIChhID0gYXJnczsKKyAgICAgICBhICE9IE5VTEw7CisgICAgICAgYSA9IGRfcmlnaHQgKGEpKQorICAgIHsKKyAgICAgIGlmIChhLT50eXBlICE9IERFTUFOR0xFX0NPTVBPTkVOVF9URU1QTEFURV9BUkdMSVNUKQorCXJldHVybiBOVUxMOworICAgICAgaWYgKGkgPD0gMCkKKwlicmVhazsKKyAgICAgIC0taTsKKyAgICB9CisgIGlmIChpICE9IDAgfHwgYSA9PSBOVUxMKQorICAgIHJldHVybiBOVUxMOworCisgIHJldHVybiBkX2xlZnQgKGEpOworfQorCisvKiBSZXR1cm5zIHRoZSB0ZW1wbGF0ZSBhcmd1bWVudCBmcm9tIHRoZSBjdXJyZW50IGNvbnRleHQgaW5kaWNhdGVkIGJ5IERDLAorICAgd2hpY2ggaXMgYSBERU1BTkdMRV9DT01QT05FTlRfVEVNUExBVEVfUEFSQU0sIG9yIE5VTEwuICAqLworCitzdGF0aWMgc3RydWN0IGRlbWFuZ2xlX2NvbXBvbmVudCAqCitkX2xvb2t1cF90ZW1wbGF0ZV9hcmd1bWVudCAoc3RydWN0IGRfcHJpbnRfaW5mbyAqZHBpLAorCQkJICAgIGNvbnN0IHN0cnVjdCBkZW1hbmdsZV9jb21wb25lbnQgKmRjKQoreworICBpZiAoZHBpLT50ZW1wbGF0ZXMgPT0gTlVMTCkKKyAgICB7CisgICAgICBkX3ByaW50X2Vycm9yIChkcGkpOworICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCQorICByZXR1cm4gZF9pbmRleF90ZW1wbGF0ZV9hcmd1bWVudAorICAgIChkX3JpZ2h0IChkcGktPnRlbXBsYXRlcy0+dGVtcGxhdGVfZGVjbCksCisgICAgIGRjLT51LnNfbnVtYmVyLm51bWJlcik7Cit9CisKKy8qIFJldHVybnMgYSB0ZW1wbGF0ZSBhcmd1bWVudCBwYWNrIHVzZWQgaW4gREMgKGFueSB3aWxsIGRvKSwgb3IgTlVMTC4gICovCisKK3N0YXRpYyBzdHJ1Y3QgZGVtYW5nbGVfY29tcG9uZW50ICoKK2RfZmluZF9wYWNrIChzdHJ1Y3QgZF9wcmludF9pbmZvICpkcGksCisJICAgICBjb25zdCBzdHJ1Y3QgZGVtYW5nbGVfY29tcG9uZW50ICpkYykKK3sKKyAgc3RydWN0IGRlbWFuZ2xlX2NvbXBvbmVudCAqYTsKKyAgaWYgKGRjID09IE5VTEwpCisgICAgcmV0dXJuIE5VTEw7CisKKyAgc3dpdGNoIChkYy0+dHlwZSkKKyAgICB7CisgICAgY2FzZSBERU1BTkdMRV9DT01QT05FTlRfVEVNUExBVEVfUEFSQU06CisgICAgICBhID0gZF9sb29rdXBfdGVtcGxhdGVfYXJndW1lbnQgKGRwaSwgZGMpOworICAgICAgaWYgKGEgJiYgYS0+dHlwZSA9PSBERU1BTkdMRV9DT01QT05FTlRfVEVNUExBVEVfQVJHTElTVCkKKwlyZXR1cm4gYTsKKyAgICAgIHJldHVybiBOVUxMOworCisgICAgY2FzZSBERU1BTkdMRV9DT01QT05FTlRfUEFDS19FWFBBTlNJT046CisgICAgICByZXR1cm4gTlVMTDsKKyAgICAgIAorICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX05BTUU6CisgICAgY2FzZSBERU1BTkdMRV9DT01QT05FTlRfT1BFUkFUT1I6CisgICAgY2FzZSBERU1BTkdMRV9DT01QT05FTlRfQlVJTFRJTl9UWVBFOgorICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX1NVQl9TVEQ6CisgICAgY2FzZSBERU1BTkdMRV9DT01QT05FTlRfQ0hBUkFDVEVSOgorICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBjYXNlIERFTUFOR0xFX0NPTVBPTkVOVF9FWFRFTkRFRF9PUEVSQVRPUjoKKyAgICAgIHJldHVybiBkX2ZpbmRfcGFjayAoZHBpLCBkYy0+dS5zX2V4dGVuZGVkX29wZXJhdG9yLm5hbWUpOworICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX0NUT1I6CisgICAgICByZXR1cm4gZF9maW5kX3BhY2sgKGRwaSwgZGMtPnUuc19jdG9yLm5hbWUpOworICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX0RUT1I6CisgICAgICByZXR1cm4gZF9maW5kX3BhY2sgKGRwaSwgZGMtPnUuc19kdG9yLm5hbWUpOworCisgICAgZGVmYXVsdDoKKyAgICAgIGEgPSBkX2ZpbmRfcGFjayAoZHBpLCBkX2xlZnQgKGRjKSk7CisgICAgICBpZiAoYSkKKwlyZXR1cm4gYTsKKyAgICAgIHJldHVybiBkX2ZpbmRfcGFjayAoZHBpLCBkX3JpZ2h0IChkYykpOworICAgIH0KK30KKworLyogUmV0dXJucyB0aGUgbGVuZ3RoIG9mIHRoZSB0ZW1wbGF0ZSBhcmd1bWVudCBwYWNrIERDLiAgKi8KKworc3RhdGljIGludAorZF9wYWNrX2xlbmd0aCAoY29uc3Qgc3RydWN0IGRlbWFuZ2xlX2NvbXBvbmVudCAqZGMpCit7CisgIGludCBjb3VudCA9IDA7CisgIHdoaWxlIChkYyAmJiBkYy0+dHlwZSA9PSBERU1BTkdMRV9DT01QT05FTlRfVEVNUExBVEVfQVJHTElTVAorCSAmJiBkX2xlZnQgKGRjKSAhPSBOVUxMKQorICAgIHsKKyAgICAgICsrY291bnQ7CisgICAgICBkYyA9IGRfcmlnaHQgKGRjKTsKKyAgICB9CisgIHJldHVybiBjb3VudDsKK30KKworLyogREMgaXMgYSBjb21wb25lbnQgb2YgYSBtYW5nbGVkIGV4cHJlc3Npb24uICBQcmludCBpdCwgd3JhcHBlZCBpbiBwYXJlbnMKKyAgIGlmIG5lZWRlZC4gICovCisKK3N0YXRpYyB2b2lkCitkX3ByaW50X3N1YmV4cHIgKHN0cnVjdCBkX3ByaW50X2luZm8gKmRwaSwKKwkJIGNvbnN0IHN0cnVjdCBkZW1hbmdsZV9jb21wb25lbnQgKmRjKQoreworICBpbnQgc2ltcGxlID0gMDsKKyAgaWYgKGRjLT50eXBlID09IERFTUFOR0xFX0NPTVBPTkVOVF9OQU1FKQorICAgIHNpbXBsZSA9IDE7CisgIGlmICghc2ltcGxlKQorICAgIGRfYXBwZW5kX2NoYXIgKGRwaSwgJygnKTsKKyAgZF9wcmludF9jb21wIChkcGksIGRjKTsKKyAgaWYgKCFzaW1wbGUpCisgICAgZF9hcHBlbmRfY2hhciAoZHBpLCAnKScpOworfQorCiAvKiBTdWJyb3V0aW5lIHRvIGhhbmRsZSBjb21wb25lbnRzLiAgKi8KIAogc3RhdGljIHZvaWQKQEAgLTMxNTMsMzAgKzM0MTgsMTMgQEAKIAogICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX1RFTVBMQVRFX1BBUkFNOgogICAgICAgewotCWxvbmcgaTsKLQlzdHJ1Y3QgZGVtYW5nbGVfY29tcG9uZW50ICphOwogCXN0cnVjdCBkX3ByaW50X3RlbXBsYXRlICpob2xkX2RwdDsKKwlzdHJ1Y3QgZGVtYW5nbGVfY29tcG9uZW50ICphID0gZF9sb29rdXBfdGVtcGxhdGVfYXJndW1lbnQgKGRwaSwgZGMpOwogCi0JaWYgKGRwaS0+dGVtcGxhdGVzID09IE5VTEwpCi0JICB7Ci0JICAgIGRfcHJpbnRfZXJyb3IgKGRwaSk7Ci0JICAgIHJldHVybjsKLQkgIH0KLQlpID0gZGMtPnUuc19udW1iZXIubnVtYmVyOwotCWZvciAoYSA9IGRfcmlnaHQgKGRwaS0+dGVtcGxhdGVzLT50ZW1wbGF0ZV9kZWNsKTsKLQkgICAgIGEgIT0gTlVMTDsKLQkgICAgIGEgPSBkX3JpZ2h0IChhKSkKLQkgIHsKLQkgICAgaWYgKGEtPnR5cGUgIT0gREVNQU5HTEVfQ09NUE9ORU5UX1RFTVBMQVRFX0FSR0xJU1QpCi0JICAgICAgewotCQlkX3ByaW50X2Vycm9yIChkcGkpOwotCQlyZXR1cm47Ci0JICAgICAgfQotCSAgICBpZiAoaSA8PSAwKQotCSAgICAgIGJyZWFrOwotCSAgICAtLWk7Ci0JICB9Ci0JaWYgKGkgIT0gMCB8fCBhID09IE5VTEwpCisJaWYgKGEgJiYgYS0+dHlwZSA9PSBERU1BTkdMRV9DT01QT05FTlRfVEVNUExBVEVfQVJHTElTVCkKKwkgIGEgPSBkX2luZGV4X3RlbXBsYXRlX2FyZ3VtZW50IChhLCBkcGktPnBhY2tfaW5kZXgpOworCisJaWYgKGEgPT0gTlVMTCkKIAkgIHsKIAkgICAgZF9wcmludF9lcnJvciAoZHBpKTsKIAkgICAgcmV0dXJuOwpAQCAtMzE5MCw3ICszNDM4LDcgQEAKIAlob2xkX2RwdCA9IGRwaS0+dGVtcGxhdGVzOwogCWRwaS0+dGVtcGxhdGVzID0gaG9sZF9kcHQtPm5leHQ7CiAKLQlkX3ByaW50X2NvbXAgKGRwaSwgZF9sZWZ0IChhKSk7CisJZF9wcmludF9jb21wIChkcGksIGEpOwogCiAJZHBpLT50ZW1wbGF0ZXMgPSBob2xkX2RwdDsKIApAQCAtMzQ3OSw3ICszNzI3LDggQEAKIAogICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX0FSR0xJU1Q6CiAgICAgY2FzZSBERU1BTkdMRV9DT01QT05FTlRfVEVNUExBVEVfQVJHTElTVDoKLSAgICAgIGRfcHJpbnRfY29tcCAoZHBpLCBkX2xlZnQgKGRjKSk7CisgICAgICBpZiAoZF9sZWZ0IChkYykgIT0gTlVMTCkKKwlkX3ByaW50X2NvbXAgKGRwaSwgZF9sZWZ0IChkYykpOwogICAgICAgaWYgKGRfcmlnaHQgKGRjKSAhPSBOVUxMKQogCXsKIAkgIGRfYXBwZW5kX3N0cmluZyAoZHBpLCAiLCAiKTsKQEAgLTM1MTksOSArMzc2OCwxMiBAQAogCSAgZF9wcmludF9jYXN0IChkcGksIGRfbGVmdCAoZGMpKTsKIAkgIGRfYXBwZW5kX2NoYXIgKGRwaSwgJyknKTsKIAl9Ci0gICAgICBkX2FwcGVuZF9jaGFyIChkcGksICcoJyk7Ci0gICAgICBkX3ByaW50X2NvbXAgKGRwaSwgZF9yaWdodCAoZGMpKTsKLSAgICAgIGRfYXBwZW5kX2NoYXIgKGRwaSwgJyknKTsKKyAgICAgIGlmIChkX2xlZnQgKGRjKS0+dHlwZSA9PSBERU1BTkdMRV9DT01QT05FTlRfQ0FTVAorCSAgJiYgZF9yaWdodCAoZGMpLT50eXBlID09IERFTUFOR0xFX0NPTVBPTkVOVF9CVUlMVElOX1RZUEUpCisJLyogdHlwZSgpIC0tIEZJWE1FIHdoYXQgYWJvdXQgdHlwZShtdWx0aXBsZSxhcmdzKSAqLworCWRfYXBwZW5kX3N0cmluZyAoZHBpLCAiKCkiKTsKKyAgICAgIGVsc2UKKwlkX3ByaW50X3N1YmV4cHIgKGRwaSwgZF9yaWdodCAoZGMpKTsKICAgICAgIHJldHVybjsKIAogICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX0JJTkFSWToKQEAgLTM1MzksMTMgKzM3OTEsMTAgQEAKIAkgICYmIGRfbGVmdCAoZGMpLT51LnNfb3BlcmF0b3Iub3AtPm5hbWVbMF0gPT0gJz4nKQogCWRfYXBwZW5kX2NoYXIgKGRwaSwgJygnKTsKIAotICAgICAgZF9hcHBlbmRfY2hhciAoZHBpLCAnKCcpOwotICAgICAgZF9wcmludF9jb21wIChkcGksIGRfbGVmdCAoZF9yaWdodCAoZGMpKSk7Ci0gICAgICBkX2FwcGVuZF9zdHJpbmcgKGRwaSwgIikgIik7Ci0gICAgICBkX3ByaW50X2V4cHJfb3AgKGRwaSwgZF9sZWZ0IChkYykpOwotICAgICAgZF9hcHBlbmRfc3RyaW5nIChkcGksICIgKCIpOwotICAgICAgZF9wcmludF9jb21wIChkcGksIGRfcmlnaHQgKGRfcmlnaHQgKGRjKSkpOwotICAgICAgZF9hcHBlbmRfY2hhciAoZHBpLCAnKScpOworICAgICAgZF9wcmludF9zdWJleHByIChkcGksIGRfbGVmdCAoZF9yaWdodCAoZGMpKSk7CisgICAgICBpZiAoc3RyY21wIChkX2xlZnQgKGRjKS0+dS5zX29wZXJhdG9yLm9wLT5jb2RlLCAiY2wiKSAhPSAwKQorCWRfcHJpbnRfZXhwcl9vcCAoZHBpLCBkX2xlZnQgKGRjKSk7CisgICAgICBkX3ByaW50X3N1YmV4cHIgKGRwaSwgZF9yaWdodCAoZF9yaWdodCAoZGMpKSk7CiAKICAgICAgIGlmIChkX2xlZnQgKGRjKS0+dHlwZSA9PSBERU1BTkdMRV9DT01QT05FTlRfT1BFUkFUT1IKIAkgICYmIGRfbGVmdCAoZGMpLT51LnNfb3BlcmF0b3Iub3AtPmxlbiA9PSAxCkBAIC0zNTY2LDE1ICszODE1LDExIEBACiAJICBkX3ByaW50X2Vycm9yIChkcGkpOwogCSAgcmV0dXJuOwogCX0KLSAgICAgIGRfYXBwZW5kX2NoYXIgKGRwaSwgJygnKTsKLSAgICAgIGRfcHJpbnRfY29tcCAoZHBpLCBkX2xlZnQgKGRfcmlnaHQgKGRjKSkpOwotICAgICAgZF9hcHBlbmRfc3RyaW5nIChkcGksICIpICIpOworICAgICAgZF9wcmludF9zdWJleHByIChkcGksIGRfbGVmdCAoZF9yaWdodCAoZGMpKSk7CiAgICAgICBkX3ByaW50X2V4cHJfb3AgKGRwaSwgZF9sZWZ0IChkYykpOwotICAgICAgZF9hcHBlbmRfc3RyaW5nIChkcGksICIgKCIpOwotICAgICAgZF9wcmludF9jb21wIChkcGksIGRfbGVmdCAoZF9yaWdodCAoZF9yaWdodCAoZGMpKSkpOwotICAgICAgZF9hcHBlbmRfc3RyaW5nIChkcGksICIpIDogKCIpOwotICAgICAgZF9wcmludF9jb21wIChkcGksIGRfcmlnaHQgKGRfcmlnaHQgKGRfcmlnaHQgKGRjKSkpKTsKLSAgICAgIGRfYXBwZW5kX2NoYXIgKGRwaSwgJyknKTsKKyAgICAgIGRfcHJpbnRfc3ViZXhwciAoZHBpLCBkX2xlZnQgKGRfcmlnaHQgKGRfcmlnaHQgKGRjKSkpKTsKKyAgICAgIGRfYXBwZW5kX3N0cmluZyAoZHBpLCAiIDogIik7CisgICAgICBkX3ByaW50X3N1YmV4cHIgKGRwaSwgZF9yaWdodCAoZF9yaWdodCAoZF9yaWdodCAoZGMpKSkpOwogICAgICAgcmV0dXJuOwogCiAgICAgY2FzZSBERU1BTkdMRV9DT01QT05FTlRfVFJJTkFSWV9BUkcxOgpAQCAtMzY4MSw2ICszOTI2LDI5IEBACiAgICAgICBkX2FwcGVuZF9jaGFyIChkcGksIGRjLT51LnNfY2hhcmFjdGVyLmNoYXJhY3Rlcik7CiAgICAgICByZXR1cm47CiAKKyAgICBjYXNlIERFTUFOR0xFX0NPTVBPTkVOVF9ERUNMVFlQRToKKyAgICAgIGRfYXBwZW5kX3N0cmluZyAoZHBpLCAiZGVjbHR5cGUgKCIpOworICAgICAgZF9wcmludF9jb21wIChkcGksIGRfbGVmdCAoZGMpKTsKKyAgICAgIGRfYXBwZW5kX2NoYXIgKGRwaSwgJyknKTsKKyAgICAgIHJldHVybjsKKworICAgIGNhc2UgREVNQU5HTEVfQ09NUE9ORU5UX1BBQ0tfRVhQQU5TSU9OOgorICAgICAgeworCXN0cnVjdCBkZW1hbmdsZV9jb21wb25lbnQgKmEgPSBkX2ZpbmRfcGFjayAoZHBpLCBkX2xlZnQgKGRjKSk7CisJaW50IGxlbiA9IGRfcGFja19sZW5ndGggKGEpOworCWludCBpOworCisJZGMgPSBkX2xlZnQgKGRjKTsKKwlmb3IgKGkgPSAwOyBpIDwgbGVuOyArK2kpCisJICB7CisJICAgIGRwaS0+cGFja19pbmRleCA9IGk7CisJICAgIGRfcHJpbnRfY29tcCAoZHBpLCBkYyk7CisJICAgIGlmIChpIDwgbGVuLTEpCisJICAgICAgZF9hcHBlbmRfc3RyaW5nIChkcGksICIsICIpOworCSAgfQorICAgICAgfQorICAgICAgcmV0dXJuOworCiAgICAgZGVmYXVsdDoKICAgICAgIGRfcHJpbnRfZXJyb3IgKGRwaSk7CiAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9saWJpYmVydHkvY3AtZGVtYW5nbGUuaCBiL2xpYmliZXJ0eS9jcC1kZW1hbmdsZS5oCmluZGV4IDg2MjJmMjkuLmFhZDM3NDMgMTAwNjQ0Ci0tLSBhL2xpYmliZXJ0eS9jcC1kZW1hbmdsZS5oCisrKyBiL2xpYmliZXJ0eS9jcC1kZW1hbmdsZS5oCkBAIC0xNDcsNyArMTQ3LDcgQEAKIGV4dGVybiBjb25zdCBzdHJ1Y3QgZGVtYW5nbGVfb3BlcmF0b3JfaW5mbyBjcGx1c19kZW1hbmdsZV9vcGVyYXRvcnNbXTsKICNlbmRpZgogCi0jZGVmaW5lIERfQlVJTFRJTl9UWVBFX0NPVU5UICgyNikKKyNkZWZpbmUgRF9CVUlMVElOX1RZUEVfQ09VTlQgKDMyKQogCiBDUF9TVEFUSUNfSUZfR0xJQkNQUF9WMwogY29uc3Qgc3RydWN0IGRlbWFuZ2xlX2J1aWx0aW5fdHlwZV9pbmZvCmRpZmYgLS1naXQgYS9saWJpYmVydHkvdGVzdHN1aXRlL2RlbWFuZ2xlLWV4cGVjdGVkIGIvbGliaWJlcnR5L3Rlc3RzdWl0ZS9kZW1hbmdsZS1leHBlY3RlZAppbmRleCAyNzQ1ZGQzLi5kOWVmYmMwIDEwMDY0NAotLS0gYS9saWJpYmVydHkvdGVzdHN1aXRlL2RlbWFuZ2xlLWV4cGVjdGVkCisrKyBiL2xpYmliZXJ0eS90ZXN0c3VpdGUvZGVtYW5nbGUtZXhwZWN0ZWQKQEAgLTMzNDUsNyArMzM0NSw3IEBACiAjCiAtLWZvcm1hdD1nbnUtdjMgLS1uby1wYXJhbXMKIF9abmdJTGk0MkVFdk4xQUlYcGxUX0xpMkVFRTFURQotdm9pZCBvcGVyYXRvci08NDI+KEE8KDQyKSArICgyKT46OlQpCit2b2lkIG9wZXJhdG9yLTw0Mj4oQTwoNDIpKygyKT46OlQpCiBvcGVyYXRvci08NDI+CiAjCiAtLWZvcm1hdD1nbnUtdjMgLS1uby1wYXJhbXMKQEAgLTMzODUsNyArMzM4NSw3IEBACiAjIAogLS1mb3JtYXQ9Z251LXYzIC0tbm8tcGFyYW1zCiBfWjNmb29JTGkyRUV2UkFwbFRfTGkxRV9pCi12b2lkIGZvbzwyPihpbnQgKCYpIFsoMikgKyAoMSldKQordm9pZCBmb288Mj4oaW50ICgmKSBbKDIpKygxKV0pCiBmb288Mj4KICMgCiAtLWZvcm1hdD1nbnUtdjMgLS1uby1wYXJhbXMKQEAgLTM2MTIsMTMgKzM2MTIsMTMgQEAKICMgVGhpcyBpcyBmcm9tIGdjYyBQUiA4ODYxCiAtLWZvcm1hdD1nbnUtdjMgLS1uby1wYXJhbXMKIF9aMWZJTGkxRUxjMTIwRUV2MUFJWHBsVF9jdmlMZDgxMDAwMDAwMDAwMDAwMDAwMDcwM0RBRDdBMzcwQzVFRUUKLXZvaWQgZjwxLCAoY2hhcikxMjA+KEE8KDEpICsgKChpbnQpKChkb3VibGUpWzgxMDAwMDAwMDAwMDAwMDAwMDcwM0RBRDdBMzcwQzVdKSk+KQordm9pZCBmPDEsIChjaGFyKTEyMD4oQTwoMSkrKChpbnQpKChkb3VibGUpWzgxMDAwMDAwMDAwMDAwMDAwMDcwM0RBRDdBMzcwQzVdKSk+KQogZjwxLCAoY2hhcikxMjA+CiAjCiAjIFRoaXMgaXMgYWxzbyBmcm9tIGdjYyBQUiA4ODYxCiAtLWZvcm1hdD1nbnUtdjMgLS1uby1wYXJhbXMKIF9aMWZJTGkxRUV2MUFJWHBsVF9jdmluZ0xmM2Y4MDAwMDBFRUUKLXZvaWQgZjwxPihBPCgxKSArICgoaW50KSgtKChmbG9hdClbM2Y4MDAwMDBdKSkpPikKK3ZvaWQgZjwxPihBPCgxKSsoKGludCkoLSgoZmxvYXQpWzNmODAwMDAwXSkpKT4pCiBmPDE+CiAjCiAjIFRoaXMgaXMgZnJvbSBhIGxpYnN0ZGMrKyBkZWJ1ZyBtb2RlIHBhdGNoLgpAQCAtMzY0Myw3ICszNjQzLDcgQEAKICMgY29uZnVzaW9uIHdpdGggdGhlICc+JyB3aGljaCBlbmRzIHRoZSB0ZW1wbGF0ZSBwYXJhbWV0ZXJzLgogLS1mb3JtYXQ9Z251LXYzIC0tbm8tcGFyYW1zCiBfWjRkZXA5SUxpM0VFdlAzZm9vSVhndFRfTGkyRUVFCi12b2lkIGRlcDk8Mz4oZm9vPCgoMykgPiAoMikpPiopCit2b2lkIGRlcDk8Mz4oZm9vPCgoMyk+KDIpKT4qKQogZGVwOTwzPgogIwogIyBXYXRjaCBvdXQgZm9yIHRlbXBsYXRlZCB2ZXJzaW9uIG9mIGBvcGVyYXRvcjwnLS1pdCBuZWVkcyBhbiBleHRyYQpAQCAtMzg4MiwzICszODgyLDIzIEBACiAtLWZvcm1hdD1nbnUtdjMKIF9aR3IzMl9qYXZhJFN1dGlsJFNpc280MjE3JF9wcm9wZXJ0aWVzCiBqYXZhIHJlc291cmNlIGphdmEvdXRpbC9pc280MjE3LnByb3BlcnRpZXMKKyMgZGVjbHR5cGUvcGFyYW0gcGxhY2Vob2xkZXIgdGVzdAorLS1mb3JtYXQ9Z251LXYzCitfWjNhZGRJaWRFRFRwbHNUVF9zVFQwX0VTMF9TMV8KK2RlY2x0eXBlICgoaW50KSsoZG91YmxlKSkgYWRkPGludCwgZG91YmxlPihpbnQsIGRvdWJsZSkKKyMgZGVjbHR5cGUvZm4gY2FsbCB0ZXN0CistLWZvcm1hdD1nbnUtdjMKK19aNGFkZDNJaWRFRFRjbExfWjFnRXNUVF9zVFQwX0VFUzBfUzFfCitkZWNsdHlwZSAoZyhpbnQsIGRvdWJsZSkpIGFkZDM8aW50LCBkb3VibGU+KGludCwgZG91YmxlKQorIyBuZXcgKDIwMDgpIGJ1aWx0IGluIHR5cGVzIHRlc3QKKy0tZm9ybWF0PWdudS12MworX1oxZkRmRGREZURoRHNEaQorZihkZWNpbWFsMzIsIGRlY2ltYWw2NCwgZGVjaW1hbDEyOCwgaGFsZiwgY2hhcjE2X3QsIGNoYXIzMl90KQorIyBwYWNrIGV4cGFuc2lvbiB0ZXN0CistLWZvcm1hdD1nbnUtdjMKK19aMWZJSVBpUGZQZEVFdkRwVF8KK3ZvaWQgZjxpbnQqLCBmbG9hdCosIGRvdWJsZSo+KGludCosIGZsb2F0KiwgZG91YmxlKikKKyMgJy4nIHRlc3QKKy0tZm9ybWF0PWdudS12MworX1oxaEkxQUlpRWRFRFRjbGR0c1RUXzFnSVQwX0VFRVMyX1MzXworZGVjbHR5cGUgKCgoQTxpbnQ+KS4oZzxkb3VibGU+KSkoKSkgaDxBPGludD4sIGRvdWJsZT4oQTxpbnQ+LCBkb3VibGUpCmRpZmYgLS1naXQgYS9saWJpYmVydHkveHN0cmR1cC5jIGIvbGliaWJlcnR5L3hzdHJkdXAuYwppbmRleCA5YWMyZWEwLi5mYTEyYzk2IDEwMDY0NAotLS0gYS9saWJpYmVydHkveHN0cmR1cC5jCisrKyBiL2xpYmliZXJ0eS94c3RyZHVwLmMKQEAgLTEzLDEwICsxMywxMCBAQAogCiAqLwogCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaWZkZWYgSEFWRV9DT05GSUdfSAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2VuZGlmCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaWZkZWYgSEFWRV9TVFJJTkdfSAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2Vsc2UKZGlmZiAtLWdpdCBhL2xpYnRvb2wubTQgYi9saWJ0b29sLm00CmluZGV4IDI2YTAzOWEuLjM5YmE5OTYgMTAwNjQ0Ci0tLSBhL2xpYnRvb2wubTQKKysrIGIvbGlidG9vbC5tNApAQCAtMSw0NSArMSw0MyBAQAogIyBsaWJ0b29sLm00IC0gQ29uZmlndXJlIGxpYnRvb2wgZm9yIHRoZSBob3N0IHN5c3RlbS4gLSotQXV0b2NvbmYtKi0KICMKLSMgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAzLCAyMDA0LCAyMDA1LAotIyAyMDA2LCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotIwotIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgTGlidG9vbDoKLSMgT3JpZ2luYWxseSBieSBHb3Jkb24gTWF0emlna2VpdCA8Z29yZEBnbnUuYWkubWl0LmVkdT4sIDE5OTYKKyMgICBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsCisjICAgICAgICAgICAgICAgICAyMDA2LCAyMDA3LCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyAgIFdyaXR0ZW4gYnkgR29yZG9uIE1hdHppZ2tlaXQsIDE5OTYKICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gZ2l2ZXMKICMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVkLgogCiBtNF9kZWZpbmUoW19MVF9DT1BZSU5HXSwgW2RubAotIyBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsCi0jIDIwMDYsIDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjICAgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAzLCAyMDA0LCAyMDA1LAorIyAgICAgICAgICAgICAgICAgMjAwNiwgMjAwNywgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgICBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdrZWl0LCAxOTk2CiAjCi0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBMaWJ0b29sOgotIyBPcmlnaW5hbGx5IGJ5IEdvcmRvbiBNYXR6aWdrZWl0IDxnb3JkQGdudS5haS5taXQuZWR1PiwgMTk5NgorIyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBMaWJ0b29sLgogIwotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIyBHTlUgTGlidG9vbCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyMgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAjCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKLSMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjIEFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLAorIyBpZiB5b3UgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0gb3IgbGlicmFyeSB0aGF0CisjIGlzIGJ1aWx0IHVzaW5nIEdOVSBMaWJ0b29sLCB5b3UgbWF5IGluY2x1ZGUgdGhpcyBmaWxlIHVuZGVyIHRoZQorIyBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KKyMKKyMgR05VIExpYnRvb2wgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogIwogIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCBhIGNvcHkgY2FuIGJlIGRvd25sb2FkZWQgZnJvbQotIyBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bWwsIG9yIGJ5IHdyaXRpbmcgdG8gdGhlIEZyZWUKLSMgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAotIyBNQSAwMjExMC0xMzAxLCBVU0EuCi0jCi0jIEFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBpZiB5b3UKLSMgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0gdGhhdCBjb250YWlucyBhCi0jIGNvbmZpZ3VyYXRpb24gc2NyaXB0IGdlbmVyYXRlZCBieSBBdXRvY29uZiwgeW91IG1heSBpbmNsdWRlIGl0IHVuZGVyCi0jIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KKyMgYWxvbmcgd2l0aCBHTlUgTGlidG9vbDsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIGEgY29weQorIyBjYW4gYmUgZG93bmxvYWRlZCBmcm9tIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbCwgb3IKKyMgb2J0YWluZWQgYnkgd3JpdGluZyB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorIyA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KIF0pCiAKLSMgc2VyaWFsIDUzIExUX0lOSVQKKyMgc2VyaWFsIDU2IExUX0lOSVQKIAogCiAjIExUX1BSRVJFUShWRVJTSU9OKQpAQCAtNTMsMTIgKzUxLDI1IEBACiAgICAgICAgWyQyXSldKQogCiAKKyMgX0xUX0NIRUNLX0JVSUxERElSCisjIC0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb21wbGFpbiBpZiB0aGUgYWJzb2x1dGUgYnVpbGQgZGlyZWN0b3J5IG5hbWUgY29udGFpbnMgdW51c3VhbCBjaGFyYWN0ZXJzCittNF9kZWZ1bihbX0xUX0NIRUNLX0JVSUxERElSXSwKK1tjYXNlIGBwd2RgIGluCisgICpcICogfCAqXAkqKQorICAgIEFDX01TR19XQVJOKFtMaWJ0b29sIGRvZXMgbm90IGNvcGUgd2VsbCB3aXRoIHdoaXRlc3BhY2UgaW4gYHB3ZGBdKSA7OworZXNhYworXSkKKworCiAjIExUX0lOSVQoW09QVElPTlNdKQogIyAtLS0tLS0tLS0tLS0tLS0tLS0KIEFDX0RFRlVOKFtMVF9JTklUXSwKIFtBQ19QUkVSRVEoWzIuNThdKWRubCBXZSB1c2UgQUNfSU5DTFVERVNfREVGQVVMVAogQUNfQkVGT1JFKFskMF0sIFtMVF9MQU5HXSlkbmwKIEFDX0JFRk9SRShbJDBdLCBbTFRfT1VUUFVUXSlkbmwKK0FDX0JFRk9SRShbJDBdLCBbTFRETF9JTklUXSlkbmwKK200X3JlcXVpcmUoW19MVF9DSEVDS19CVUlMRERJUl0pZG5sCiAKIGRubCBBdXRvY29uZiBkb2Vzbid0IGNhdGNoIHVuZXhwYW5kZWQgTFRfIG1hY3JvcyBieSBkZWZhdWx0OgogbTRfcGF0dGVybl9mb3JiaWQoW15fP0xUX1tBLVpfXSskXSlkbmwKQEAgLTY4LDggKzc5LDExIEBACiBBQ19SRVFVSVJFKFtMVE9QVElPTlNfVkVSU0lPTl0pZG5sCiBBQ19SRVFVSVJFKFtMVFNVR0FSX1ZFUlNJT05dKWRubAogQUNfUkVRVUlSRShbTFRWRVJTSU9OX1ZFUlNJT05dKWRubAorQUNfUkVRVUlSRShbTFRPQlNPTEVURV9WRVJTSU9OXSlkbmwKIG00X3JlcXVpcmUoW19MVF9QUk9HX0xUTUFJTl0pZG5sCi1tNF9yZXF1aXJlKFtfTFRfU0VUX09QVElPTlNdLCBbX0xUX1NFVF9PUFRJT05TKFskMV0pXSlkbmwKKworZG5sIFBhcnNlIE9QVElPTlMKK19MVF9TRVRfT1BUSU9OUyhbJDBdLCBbJDFdKQogCiAjIFRoaXMgY2FuIGJlIHVzZWQgdG8gcmVidWlsZCBsaWJ0b29sIHdoZW4gbmVlZGVkCiBMSUJUT09MX0RFUFM9IiRsdG1haW4iCkBAIC04Miw3ICs5Niw3IEBACiAKICMgT25seSBleHBhbmQgb25jZToKIG00X2RlZmluZShbTFRfSU5JVF0pCi1dKSMgX0xUX0lOSVQKK10pIyBMVF9JTklUCiAKICMgT2xkIG5hbWVzOgogQVVfQUxJQVMoW0FDX1BST0dfTElCVE9PTF0sIFtMVF9JTklUXSkKQEAgLTE0MSw5ICsxNTUsNyBAQAogX0xUX0RFQ0woW10sIFtMTl9TXSwgWzFdLCBbV2hldGhlciB3ZSBuZWVkIHNvZnQgb3IgaGFyZCBsaW5rc10pZG5sCiBkbmwKIEFDX1JFUVVJUkUoW0xUX0NNRF9NQVhfTEVOXSlkbmwKLUFDX1JFUVVJUkUoW0FDX09CSkVYVF0pZG5sCiBfTFRfREVDTChbb2JqZXh0XSwgW2FjX29iamV4dF0sIFswXSwgW09iamVjdCBmaWxlIHN1ZmZpeCAobm9ybWFsbHkgIm8iKV0pZG5sCi1BQ19SRVFVSVJFKFtBQ19FWEVFWFRdKWRubAogX0xUX0RFQ0woW10sIFtleGVleHRdLCBbMF0sIFtFeGVjdXRhYmxlIGZpbGUgc3VmZml4IChub3JtYWxseSAiIildKWRubAogZG5sCiBtNF9yZXF1aXJlKFtfTFRfRklMRVVUSUxTX0RFRkFVTFRTXSlkbmwKQEAgLTM2OCwxMiArMzgwLDEyIEBACiAjIGx0X2RlY2xfdmFybmFtZXNfdGFnZ2VkKFtTRVBBUkFUT1JdLCBbVkFSTkFNRTEuLi5dKQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIG00X2RlZmluZShbbHRfZGVjbF92YXJuYW1lc190YWdnZWRdLAotW18kMChtNF9xdW90ZShtNF9kZWZhdWx0KFskMV0sIFtbLCBdXSkpLAotICAgICBtNF9xdW90ZShtNF9pZihbJDJdLCBbXSwKLQkJICAgICBtNF9xdW90ZShsdF9kZWNsX3RhZ192YXJuYW1lcyksCi0JCSAgbTRfcXVvdGUobTRfc2hpZnQoJEApKSkpLAotICAgICBtNF9zcGxpdChtNF9ub3JtYWxpemUobTRfcXVvdGUoX0xUX1RBR1MpKSkpXSkKLW00X2RlZmluZShbX2x0X2RlY2xfdmFybmFtZXNfdGFnZ2VkXSwgW2x0X2NvbWJpbmUoWyQxXSwgWyQyXSwgW19dLCAkMyldKQorW200X2Fzc2VydChbJCMgPD0gMl0pZG5sCitfJDAobTRfcXVvdGUobTRfZGVmYXVsdChbJDFdLCBbWywgXV0pKSwKKyAgICBtNF9pZnZhbChbJDJdLCBbWyQyXV0sIFttNF9kcXVvdGUobHRfZGVjbF90YWdfdmFybmFtZXMpXSksCisgICAgbTRfc3BsaXQobTRfbm9ybWFsaXplKG00X3F1b3RlKF9MVF9UQUdTKSksIFsgXSkpXSkKK200X2RlZmluZShbX2x0X2RlY2xfdmFybmFtZXNfdGFnZ2VkXSwKK1ttNF9pZnZhbChbJDNdLCBbbHRfY29tYmluZShbJDFdLCBbJDJdLCBbX10sICQzKV0pXSkKIAogCiAjIGx0X2RlY2xfYWxsX3Zhcm5hbWVzKFtTRVBBUkFUT1JdLCBbVkFSTkFNRTEuLi5dKQpAQCAtNTg5LDcgKzYwMSw3IEBACiBtNF9pZnNldChbQUNfUEFDS0FHRV9WRVJTSU9OXSwgWyBBQ19QQUNLQUdFX1ZFUlNJT05dKQogY29uZmlndXJlZCBieSAkWzBdLCBnZW5lcmF0ZWQgYnkgbTRfUEFDS0FHRV9TVFJJTkcuCiAKLUNvcHlyaWdodCAoQykgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KK0NvcHlyaWdodCAoQykgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIFRoaXMgY29uZmlnLmx0IHNjcmlwdCBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kIG1vZGlmeSBpdC4iCiAKQEAgLTYwNiwxMCArNjE4LDEwIEBACiAgICAgICBsdF9jbF9zaWxlbnQ9OiA7OwogCiAgICAgLSopIEFDX01TR19FUlJPUihbdW5yZWNvZ25pemVkIG9wdGlvbjogJFsxXQotVHJ5IGAkWzBdIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXSkgOzsKK1RyeSBcYCRbMF0gLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5dKSA7OwogCiAgICAgKikgQUNfTVNHX0VSUk9SKFt1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICRbMV0KLVRyeSBgJFswXSAtLWhlbHAgZm9yIG1vcmUgaW5mb3JtYXRpb24uXSkgOzsKK1RyeSBcYCRbMF0gLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5dKSA7OwogICBlc2FjCiAgIHNoaWZ0CiBkb25lCkBAIC02NzEsNyArNjgzLDcgQEAKICMhICRTSEVMTAogCiAjIGAkRUNITyAiJG9maWxlIiB8IHNlZCAncyVeLiovJSUnYCAtIFByb3ZpZGUgZ2VuZXJhbGl6ZWQgbGlicmFyeS1idWlsZGluZyBzdXBwb3J0IHNlcnZpY2VzLgotIyBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSAkYXNfbWUgKEdOVSAkUEFDS0FHRSRUSU1FU1RBTVApICRWRVJTSU9OCisjIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5ICRhc19tZSAoJFBBQ0tBR0UkVElNRVNUQU1QKSAkVkVSU0lPTgogIyBMaWJ0b29sIHdhcyBjb25maWd1cmVkIG9uIGhvc3QgYChob3N0bmFtZSB8fCB1bmFtZSAtbikgMj4vZGV2L251bGwgfCBzZWQgMXFgOgogIyBOT1RFOiBDaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgYmUgbG9zdDogbG9vayBhdCBsdG1haW4uc2guCiAjCkBAIC04NzEsOSArODgzLDEzMyBAQAogZWNobyAiJGx0X3NpbXBsZV9saW5rX3Rlc3RfY29kZSIgPmNvbmZ0ZXN0LiRhY19leHQKIGV2YWwgIiRhY19saW5rIiAyPiYxID4vZGV2L251bGwgfCAkU0VEICcvXiQvZDsgL14gKisvZCcgPmNvbmZ0ZXN0LmVycgogX2x0X2xpbmtlcl9ib2lsZXJwbGF0ZT1gY2F0IGNvbmZ0ZXN0LmVycmAKLSRSTSBjb25mdGVzdCoKKyRSTSAtciBjb25mdGVzdCoKIF0pIyBfTFRfTElOS0VSX0JPSUxFUlBMQVRFCiAKKyMgX0xUX1JFUVVJUkVEX0RBUldJTl9DSEVDS1MKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbTRfZGVmdW5fb25jZShbX0xUX1JFUVVJUkVEX0RBUldJTl9DSEVDS1NdLFsKKyAgY2FzZSAkaG9zdF9vcyBpbgorICAgIHJoYXBzb2R5KiB8IGRhcndpbiopCisgICAgQUNfQ0hFQ0tfVE9PTChbRFNZTVVUSUxdLCBbZHN5bXV0aWxdLCBbOl0pCisgICAgQUNfQ0hFQ0tfVE9PTChbTk1FRElUXSwgW25tZWRpdF0sIFs6XSkKKyAgICBBQ19DSEVDS19UT09MKFtMSVBPXSwgW2xpcG9dLCBbOl0pCisgICAgQUNfQ0hFQ0tfVE9PTChbT1RPT0xdLCBbb3Rvb2xdLCBbOl0pCisgICAgQUNfQ0hFQ0tfVE9PTChbT1RPT0w2NF0sIFtvdG9vbDY0XSwgWzpdKQorICAgIF9MVF9ERUNMKFtdLCBbRFNZTVVUSUxdLCBbMV0sCisgICAgICBbVG9vbCB0byBtYW5pcHVsYXRlIGFyY2hpdmVkIERXQVJGIGRlYnVnIHN5bWJvbCBmaWxlcyBvbiBNYWMgT1MgWF0pCisgICAgX0xUX0RFQ0woW10sIFtOTUVESVRdLCBbMV0sCisgICAgICBbVG9vbCB0byBjaGFuZ2UgZ2xvYmFsIHRvIGxvY2FsIHN5bWJvbHMgb24gTWFjIE9TIFhdKQorICAgIF9MVF9ERUNMKFtdLCBbTElQT10sIFsxXSwKKyAgICAgIFtUb29sIHRvIG1hbmlwdWxhdGUgZmF0IG9iamVjdHMgYW5kIGFyY2hpdmVzIG9uIE1hYyBPUyBYXSkKKyAgICBfTFRfREVDTChbXSwgW09UT09MXSwgWzFdLAorICAgICAgW2xkZC9yZWFkZWxmIGxpa2UgdG9vbCBmb3IgTWFjaC1PIGJpbmFyaWVzIG9uIE1hYyBPUyBYXSkKKyAgICBfTFRfREVDTChbXSwgW09UT09MNjRdLCBbMV0sCisgICAgICBbbGRkL3JlYWRlbGYgbGlrZSB0b29sIGZvciA2NCBiaXQgTWFjaC1PIGJpbmFyaWVzIG9uIE1hYyBPUyBYIDEwLjRdKQorCisgICAgQUNfQ0FDSEVfQ0hFQ0soW2ZvciAtc2luZ2xlX21vZHVsZSBsaW5rZXIgZmxhZ10sW2x0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2RdLAorICAgICAgW2x0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Q9bm8KKyAgICAgIGlmIHRlc3QgLXogIiR7TFRfTVVMVElfTU9EVUxFfSI7IHRoZW4KKwkjIEJ5IGRlZmF1bHQgd2Ugd2lsbCBhZGQgdGhlIC1zaW5nbGVfbW9kdWxlIGZsYWcuIFlvdSBjYW4gb3ZlcnJpZGUKKwkjIGJ5IGVpdGhlciBzZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBMVF9NVUxUSV9NT0RVTEUKKwkjIG5vbi1lbXB0eSBhdCBjb25maWd1cmUgdGltZSwgb3IgYnkgYWRkaW5nIC1tdWx0aV9tb2R1bGUgdG8gdGhlCisJIyBsaW5rIGZsYWdzLgorCXJtIC1yZiBsaWJjb25mdGVzdC5keWxpYioKKwllY2hvICJpbnQgZm9vKHZvaWQpe3JldHVybiAxO30iID4gY29uZnRlc3QuYworCWVjaG8gIiRMVENDICRMVENGTEFHUyAkTERGTEFHUyAtbyBsaWJjb25mdGVzdC5keWxpYiBcCistZHluYW1pY2xpYiAtV2wsLXNpbmdsZV9tb2R1bGUgY29uZnRlc3QuYyIgPiZBU19NRVNTQUdFX0xPR19GRAorCSRMVENDICRMVENGTEFHUyAkTERGTEFHUyAtbyBsaWJjb25mdGVzdC5keWxpYiBcCisJICAtZHluYW1pY2xpYiAtV2wsLXNpbmdsZV9tb2R1bGUgY29uZnRlc3QuYyAyPmNvbmZ0ZXN0LmVycgorICAgICAgICBfbHRfcmVzdWx0PSQ/CisJaWYgdGVzdCAtZiBsaWJjb25mdGVzdC5keWxpYiAmJiB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyICYmIHRlc3QgJF9sdF9yZXN1bHQgPSAwOyB0aGVuCisJICBsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kPXllcworCWVsc2UKKwkgIGNhdCBjb25mdGVzdC5lcnIgPiZBU19NRVNTQUdFX0xPR19GRAorCWZpCisJcm0gLXJmIGxpYmNvbmZ0ZXN0LmR5bGliKgorCXJtIC1mIGNvbmZ0ZXN0LioKKyAgICAgIGZpXSkKKyAgICBBQ19DQUNIRV9DSEVDSyhbZm9yIC1leHBvcnRlZF9zeW1ib2xzX2xpc3QgbGlua2VyIGZsYWddLAorICAgICAgW2x0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdF0sCisgICAgICBbbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0PW5vCisgICAgICBzYXZlX0xERkxBR1M9JExERkxBR1MKKyAgICAgIGVjaG8gIl9tYWluIiA+IGNvbmZ0ZXN0LnN5bQorICAgICAgTERGTEFHUz0iJExERkxBR1MgLVdsLC1leHBvcnRlZF9zeW1ib2xzX2xpc3QsY29uZnRlc3Quc3ltIgorICAgICAgQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbXSxbXSldLAorCVtsdF9jdl9sZF9leHBvcnRlZF9zeW1ib2xzX2xpc3Q9eWVzXSwKKwlbbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0PW5vXSkKKwlMREZMQUdTPSIkc2F2ZV9MREZMQUdTIgorICAgIF0pCisgICAgY2FzZSAkaG9zdF9vcyBpbgorICAgIHJoYXBzb2R5KiB8IGRhcndpbjEuW1swMTJdXSkKKyAgICAgIF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkPScke3dsfS11bmRlZmluZWQgJHt3bH1zdXBwcmVzcycgOzsKKyAgICBkYXJ3aW4xLiopCisgICAgICBfbHRfZGFyX2FsbG93X3VuZGVmaW5lZD0nJHt3bH0tZmxhdF9uYW1lc3BhY2UgJHt3bH0tdW5kZWZpbmVkICR7d2x9c3VwcHJlc3MnIDs7CisgICAgZGFyd2luKikgIyBkYXJ3aW4gNS54IG9uCisgICAgICAjIGlmIHJ1bm5pbmcgb24gMTAuNSBvciBsYXRlciwgdGhlIGRlcGxveW1lbnQgdGFyZ2V0IGRlZmF1bHRzCisgICAgICAjIHRvIHRoZSBPUyB2ZXJzaW9uLCBpZiBvbiB4ODYsIGFuZCAxMC40LCB0aGUgZGVwbG95bWVudAorICAgICAgIyB0YXJnZXQgZGVmYXVsdHMgdG8gMTAuNC4gRG9uJ3QgeW91IGxvdmUgaXQ/CisgICAgICBjYXNlICR7TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VULTEwLjB9LCRob3N0IGluCisJMTAuMCwqODYqLWRhcndpbjgqfDEwLjAsKi1kYXJ3aW5bWzkxXV0qKQorCSAgX2x0X2Rhcl9hbGxvd191bmRlZmluZWQ9JyR7d2x9LXVuZGVmaW5lZCAke3dsfWR5bmFtaWNfbG9va3VwJyA7OworCTEwLltbMDEyXV0qKQorCSAgX2x0X2Rhcl9hbGxvd191bmRlZmluZWQ9JyR7d2x9LWZsYXRfbmFtZXNwYWNlICR7d2x9LXVuZGVmaW5lZCAke3dsfXN1cHByZXNzJyA7OworCTEwLiopCisJICBfbHRfZGFyX2FsbG93X3VuZGVmaW5lZD0nJHt3bH0tdW5kZWZpbmVkICR7d2x9ZHluYW1pY19sb29rdXAnIDs7CisgICAgICBlc2FjCisgICAgOzsKKyAgZXNhYworICAgIGlmIHRlc3QgIiRsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kIiA9ICJ5ZXMiOyB0aGVuCisgICAgICBfbHRfZGFyX3NpbmdsZV9tb2Q9JyRzaW5nbGVfbW9kdWxlJworICAgIGZpCisgICAgaWYgdGVzdCAiJGx0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdCIgPSAieWVzIjsgdGhlbgorICAgICAgX2x0X2Rhcl9leHBvcnRfc3ltcz0nICR7d2x9LWV4cG9ydGVkX3N5bWJvbHNfbGlzdCwkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltJworICAgIGVsc2UKKyAgICAgIF9sdF9kYXJfZXhwb3J0X3N5bXM9J34kTk1FRElUIC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JworICAgIGZpCisgICAgaWYgdGVzdCAiJERTWU1VVElMIiAhPSAiOiI7IHRoZW4KKyAgICAgIF9sdF9kc3ltdXRpbD0nfiREU1lNVVRJTCAkbGliIHx8IDonCisgICAgZWxzZQorICAgICAgX2x0X2RzeW11dGlsPQorICAgIGZpCisgICAgOzsKKyAgZXNhYworXSkKKworCisjIF9MVF9EQVJXSU5fTElOS0VSX0ZFQVRVUkVTCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENoZWNrcyBmb3IgbGlua2VyIGFuZCBjb21waWxlciBmZWF0dXJlcyBvbiBkYXJ3aW4KK200X2RlZnVuKFtfTFRfREFSV0lOX0xJTktFUl9GRUFUVVJFU10sCitbCisgIG00X3JlcXVpcmUoW19MVF9SRVFVSVJFRF9EQVJXSU5fQ0hFQ0tTXSkKKyAgX0xUX1RBR1ZBUihhcmNoaXZlX2NtZHNfbmVlZF9sYywgJDEpPW5vCisgIF9MVF9UQUdWQVIoaGFyZGNvZGVfZGlyZWN0LCAkMSk9bm8KKyAgX0xUX1RBR1ZBUihoYXJkY29kZV9hdXRvbWF0aWMsICQxKT15ZXMKKyAgX0xUX1RBR1ZBUihoYXJkY29kZV9zaGxpYnBhdGhfdmFyLCAkMSk9dW5zdXBwb3J0ZWQKKyAgX0xUX1RBR1ZBUih3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYywgJDEpPScnCisgIF9MVF9UQUdWQVIobGlua19hbGxfZGVwbGlicywgJDEpPXllcworICBfTFRfVEFHVkFSKGFsbG93X3VuZGVmaW5lZF9mbGFnLCAkMSk9IiRfbHRfZGFyX2FsbG93X3VuZGVmaW5lZCIKKyAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgaWZvcnQqKSBfbHRfZGFyX2Nhbl9zaGFyZWQ9eWVzIDs7CisgICAgICopIF9sdF9kYXJfY2FuX3NoYXJlZD0kR0NDIDs7CisgIGVzYWMKKyAgaWYgdGVzdCAiJF9sdF9kYXJfY2FuX3NoYXJlZCIgPSAieWVzIjsgdGhlbgorICAgIG91dHB1dF92ZXJib3NlX2xpbmtfY21kPWVjaG8KKyAgICBfTFRfVEFHVkFSKGFyY2hpdmVfY21kcywgJDEpPSJcJENDIC1keW5hbWljbGliIFwkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gXCRsaWIgXCRsaWJvYmpzIFwkZGVwbGlicyBcJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgXCRycGF0aC9cJHNvbmFtZSBcJHZlcnN0cmluZyAkX2x0X2Rhcl9zaW5nbGVfbW9kJHtfbHRfZHN5bXV0aWx9IgorICAgIF9MVF9UQUdWQVIobW9kdWxlX2NtZHMsICQxKT0iXCRDQyBcJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vIFwkbGliIC1idW5kbGUgXCRsaWJvYmpzIFwkZGVwbGlicyBcJGNvbXBpbGVyX2ZsYWdzJHtfbHRfZHN5bXV0aWx9IgorICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9leHBzeW1fY21kcywgJDEpPSJzZWQgJ3MsXixfLCcgPCBcJGV4cG9ydF9zeW1ib2xzID4gXCRvdXRwdXRfb2JqZGlyL1wke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltflwkQ0MgLWR5bmFtaWNsaWIgXCRhbGxvd191bmRlZmluZWRfZmxhZyAtbyBcJGxpYiBcJGxpYm9ianMgXCRkZXBsaWJzIFwkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSBcJHJwYXRoL1wkc29uYW1lIFwkdmVyc3RyaW5nICR7X2x0X2Rhcl9zaW5nbGVfbW9kfSR7X2x0X2Rhcl9leHBvcnRfc3ltc30ke19sdF9kc3ltdXRpbH0iCisgICAgX0xUX1RBR1ZBUihtb2R1bGVfZXhwc3ltX2NtZHMsICQxKT0ic2VkIC1lICdzLF4sXywnIDwgXCRleHBvcnRfc3ltYm9scyA+IFwkb3V0cHV0X29iamRpci9cJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX5cJENDIFwkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gXCRsaWIgLWJ1bmRsZSBcJGxpYm9ianMgXCRkZXBsaWJzIFwkY29tcGlsZXJfZmxhZ3Mke19sdF9kYXJfZXhwb3J0X3N5bXN9JHtfbHRfZHN5bXV0aWx9IgorICAgIG00X2lmKFskMV0sIFtDWFhdLAorWyAgIGlmIHRlc3QgIiRsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kIiAhPSAieWVzIjsgdGhlbgorICAgICAgX0xUX1RBR1ZBUihhcmNoaXZlX2NtZHMsICQxKT0iXCRDQyAtciAta2VlcF9wcml2YXRlX2V4dGVybnMgLW5vc3RkbGliIC1vIFwke2xpYn0tbWFzdGVyLm8gXCRsaWJvYmpzflwkQ0MgLWR5bmFtaWNsaWIgXCRhbGxvd191bmRlZmluZWRfZmxhZyAtbyBcJGxpYiBcJHtsaWJ9LW1hc3Rlci5vIFwkZGVwbGlicyBcJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgXCRycGF0aC9cJHNvbmFtZSBcJHZlcnN0cmluZyR7X2x0X2RzeW11dGlsfSIKKyAgICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9leHBzeW1fY21kcywgJDEpPSJzZWQgJ3MsXixfLCcgPCBcJGV4cG9ydF9zeW1ib2xzID4gXCRvdXRwdXRfb2JqZGlyL1wke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltflwkQ0MgLXIgLWtlZXBfcHJpdmF0ZV9leHRlcm5zIC1ub3N0ZGxpYiAtbyBcJHtsaWJ9LW1hc3Rlci5vIFwkbGlib2Jqc35cJENDIC1keW5hbWljbGliIFwkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gXCRsaWIgXCR7bGlifS1tYXN0ZXIubyBcJGRlcGxpYnMgXCRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lIFwkcnBhdGgvXCRzb25hbWUgXCR2ZXJzdHJpbmcke19sdF9kYXJfZXhwb3J0X3N5bXN9JHtfbHRfZHN5bXV0aWx9IgorICAgIGZpCitdLFtdKQorICBlbHNlCisgIF9MVF9UQUdWQVIobGRfc2hsaWJzLCAkMSk9bm8KKyAgZmkKK10pCiAKICMgX0xUX1NZU19NT0RVTEVfUEFUSF9BSVgKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTEwNzUsOCArMTIxMSw3IEBACiAjIF9MVF9FTkFCTEVfTE9DSwogIyAtLS0tLS0tLS0tLS0tLS0KIG00X2RlZnVuKFtfTFRfRU5BQkxFX0xPQ0tdLAotW0FDX1JFUVVJUkUoW0FDX09CSkVYVF0pZG5sCi1BQ19BUkdfRU5BQkxFKFtsaWJ0b29sLWxvY2tdLAorW0FDX0FSR19FTkFCTEUoW2xpYnRvb2wtbG9ja10sCiAgIFtBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWxpYnRvb2wtbG9ja10sCiAgICAgW2F2b2lkIGxvY2tpbmcgKG1pZ2h0IGJyZWFrIHBhcmFsbGVsIGJ1aWxkcyldKV0pCiB0ZXN0ICJ4JGVuYWJsZV9saWJ0b29sX2xvY2siICE9IHhubyAmJiBlbmFibGVfbGlidG9vbF9sb2NrPXllcwpAQCAtMTIwMiw3ICsxMzM3LDExIEBACiAgICAgKjY0LWJpdCopCiAgICAgICBjYXNlICRsdF9jdl9wcm9nX2dudV9sZCBpbgogICAgICAgeWVzKikgTEQ9IiR7TEQtbGR9IC1tIGVsZjY0X3NwYXJjIiA7OwotICAgICAgKikgICAgTEQ9IiR7TEQtbGR9IC02NCIgOzsKKyAgICAgICopCisJaWYgJHtMRC1sZH0gLTY0IC1yIC1vIGNvbmZ0ZXN0Mi5vIGNvbmZ0ZXN0Lm8gPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJICBMRD0iJHtMRC1sZH0gLTY0IgorCWZpCisJOzsKICAgICAgIGVzYWMKICAgICAgIDs7CiAgICAgZXNhYwpAQCAtMTIzNCw3ICsxMzczLDcgQEAKICAgICBbQ29tbWFuZHMgdXNlZCB0byBpbnN0YWxsIGFuIG9sZC1zdHlsZSBhcmNoaXZlXSkKIAogIyBEZXRlcm1pbmUgY29tbWFuZHMgdG8gY3JlYXRlIG9sZC1zdHlsZSBzdGF0aWMgYXJjaGl2ZXMuCi1vbGRfYXJjaGl2ZV9jbWRzPSckQVIgJEFSX0ZMQUdTICRvbGRsaWIkb2xkb2JqcyRvbGRfZGVwbGlicycKK29sZF9hcmNoaXZlX2NtZHM9JyRBUiAkQVJfRkxBR1MgJG9sZGxpYiRvbGRvYmpzJwogb2xkX3Bvc3RpbnN0YWxsX2NtZHM9J2NobW9kIDY0NCAkb2xkbGliJwogb2xkX3Bvc3R1bmluc3RhbGxfY21kcz0KIApAQCAtMTI2MSw4ICsxNDAwLDcgQEAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBDaGVjayB3aGV0aGVyIHRoZSBnaXZlbiBjb21waWxlciBvcHRpb24gd29ya3MKIEFDX0RFRlVOKFtfTFRfQ09NUElMRVJfT1BUSU9OXSwKLVtBQ19SRVFVSVJFKFtBQ19PQkpFWFRdKWRubAotbTRfcmVxdWlyZShbX0xUX0ZJTEVVVElMU19ERUZBVUxUU10pZG5sCitbbTRfcmVxdWlyZShbX0xUX0ZJTEVVVElMU19ERUZBVUxUU10pZG5sCiBtNF9yZXF1aXJlKFtfTFRfREVDTF9TRURdKWRubAogQUNfQ0FDSEVfQ0hFQ0soWyQxXSwgWyQyXSwKICAgWyQyPW5vCkBAIC0xMzM1LDcgKzE0NzMsNyBAQAogICAgICAgICQyPXllcwogICAgICBmaQogICAgZmkKLSAgICRSTSBjb25mdGVzdCoKKyAgICRSTSAtciBjb25mdGVzdCoKICAgIExERkxBR1M9IiRzYXZlX0xERkxBR1MiCiBdKQogCkBAIC0xMzc4LDcgKzE1MTYsNyBAQAogICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj0tMTsKICAgICA7OwogCi0gIGN5Z3dpbiogfCBtaW5ndyopCisgIGN5Z3dpbiogfCBtaW5ndyogfCBjZWdjYyopCiAgICAgIyBPbiBXaW45eC9NRSwgdGhpcyB0ZXN0IGJsb3dzIHVwIC0tIGl0IHN1Y2NlZWRzLCBidXQgdGFrZXMKICAgICAjIGFib3V0IDUgbWludXRlcyBhcyB0aGUgdGVzdHN0cmluZyBncm93cyBleHBvbmVudGlhbGx5LgogICAgICMgV29yc2UsIHNpbmNlIDl4L01FIGFyZSBub3QgcHJlLWVtcHRpdmVseSBtdWx0aXRhc2tpbmcsCkBAIC0xNDM5LDggKzE1NzcsOCBAQAogICAgIGZpCiAgICAgOzsKICAgKikKLSAgICBsdF9jdl9zeXNfbWF4X2NtZF9sZW49YGdldGNvbmYgQVJHX01BWCAyPiAvZGV2L251bGxgCi0gICAgaWYgdGVzdCAtbiAkbHRfY3Zfc3lzX21heF9jbWRfbGVuOyB0aGVuCisgICAgbHRfY3Zfc3lzX21heF9jbWRfbGVuPWAoZ2V0Y29uZiBBUkdfTUFYKSAyPiAvZGV2L251bGxgCisgICAgaWYgdGVzdCAtbiAiJGx0X2N2X3N5c19tYXhfY21kX2xlbiI7IHRoZW4KICAgICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj1gZXhwciAkbHRfY3Zfc3lzX21heF9jbWRfbGVuIFwvIDRgCiAgICAgICBsdF9jdl9zeXNfbWF4X2NtZF9sZW49YGV4cHIgJGx0X2N2X3N5c19tYXhfY21kX2xlbiBcKiAzYAogICAgIGVsc2UKQEAgLTE1NDYsMTAgKzE2ODQsNiBAQAogIyAgZW5kaWYKICNlbmRpZgogCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIgdm9pZCBleGl0IChpbnQpOwotI2VuZGlmCi0KIHZvaWQgZm5vcmQoKSB7IGludCBpPTQyO30KIGludCBtYWluICgpCiB7CkBAIC0xNTY1LDcgKzE2OTksNyBAQAogICBlbHNlCiAgICAgcHV0cyAoZGxlcnJvciAoKSk7CiAKLSAgICBleGl0IChzdGF0dXMpOworICByZXR1cm4gc3RhdHVzOwogfV0KIF9MVF9FT0YKICAgaWYgQUNfVFJZX0VWQUwoYWNfbGluaykgJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAyPi9kZXYvbnVsbDsgdGhlbgpAQCAtMTYwNCw3ICsxNzM4LDcgQEAKICAgICBsdF9jdl9kbG9wZW5fc2VsZj15ZXMKICAgICA7OwogCi0gIG1pbmd3KiB8IHB3MzIqKQorICBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgICBsdF9jdl9kbG9wZW49IkxvYWRMaWJyYXJ5IgogICAgIGx0X2N2X2Rsb3Blbl9saWJzPQogICAgIDs7CkBAIC0xNjI4LDcgKzE3NjIsNyBAQAogICAgIEFDX0NIRUNLX0ZVTkMoW3NobF9sb2FkXSwKIAkgIFtsdF9jdl9kbG9wZW49InNobF9sb2FkIl0sCiAgICAgICBbQUNfQ0hFQ0tfTElCKFtkbGRdLCBbc2hsX2xvYWRdLAotCSAgICBbbHRfY3ZfZGxvcGVuPSJzaGxfbG9hZCIgbHRfY3ZfZGxvcGVuX2xpYnM9Ii1kbGQiXSwKKwkgICAgW2x0X2N2X2Rsb3Blbj0ic2hsX2xvYWQiIGx0X2N2X2Rsb3Blbl9saWJzPSItbGRsZCJdLAogCVtBQ19DSEVDS19GVU5DKFtkbG9wZW5dLAogCSAgICAgIFtsdF9jdl9kbG9wZW49ImRsb3BlbiJdLAogCSAgW0FDX0NIRUNLX0xJQihbZGxdLCBbZGxvcGVuXSwKQEAgLTE2MzYsNyArMTc3MCw3IEBACiAJICAgIFtBQ19DSEVDS19MSUIoW3N2bGRdLCBbZGxvcGVuXSwKIAkJICBbbHRfY3ZfZGxvcGVuPSJkbG9wZW4iIGx0X2N2X2Rsb3Blbl9saWJzPSItbHN2bGQiXSwKIAkgICAgICBbQUNfQ0hFQ0tfTElCKFtkbGRdLCBbZGxkX2xpbmtdLAotCQkgICAgW2x0X2N2X2Rsb3Blbj0iZGxkX2xpbmsiIGx0X2N2X2Rsb3Blbl9saWJzPSItZGxkIl0pCisJCSAgICBbbHRfY3ZfZGxvcGVuPSJkbGRfbGluayIgbHRfY3ZfZGxvcGVuX2xpYnM9Ii1sZGxkIl0pCiAJICAgICAgXSkKIAkgICAgXSkKIAkgIF0pCkBAIC0xNzE0LDggKzE4NDgsNyBAQAogIyBDaGVjayB0byBzZWUgaWYgb3B0aW9ucyAtYyBhbmQgLW8gYXJlIHNpbXVsdGFuZW91c2x5IHN1cHBvcnRlZCBieSBjb21waWxlci4KICMgVGhpcyBtYWNybyBkb2VzIG5vdCBoYXJkIGNvZGUgdGhlIGNvbXBpbGVyIGxpa2UgQUNfUFJPR19DQ19DX08uCiBtNF9kZWZ1bihbX0xUX0NPTVBJTEVSX0NfT10sCi1bQUNfUkVRVUlSRShbQUNfT0JKRVhUXSlkbmwKLW00X3JlcXVpcmUoW19MVF9ERUNMX1NFRF0pZG5sCitbbTRfcmVxdWlyZShbX0xUX0RFQ0xfU0VEXSlkbmwKIG00X3JlcXVpcmUoW19MVF9GSUxFVVRJTFNfREVGQVVMVFNdKWRubAogbTRfcmVxdWlyZShbX0xUX1RBR19DT01QSUxFUl0pZG5sCiBBQ19DQUNIRV9DSEVDSyhbaWYgJGNvbXBpbGVyIHN1cHBvcnRzIC1jIC1vIGZpbGUuJGFjX29iamV4dF0sCkBAIC0xOTAyLDE2ICsyMDM1LDEyIEBACiBbQUNfUkVRVUlSRShbQUNfQ0FOT05JQ0FMX0hPU1RdKWRubAogbTRfcmVxdWlyZShbX0xUX0RFQ0xfRUdSRVBdKWRubAogbTRfcmVxdWlyZShbX0xUX0ZJTEVVVElMU19ERUZBVUxUU10pZG5sCittNF9yZXF1aXJlKFtfTFRfREVDTF9PQkpEVU1QXSlkbmwKIG00X3JlcXVpcmUoW19MVF9ERUNMX1NFRF0pZG5sCiBBQ19NU0dfQ0hFQ0tJTkcoW2R5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljc10pCi1tNF9jYXNlKFskMV0sCi0JW0NdLCBbd2l0aEdDQz0kR0NDXSwKLQlbQ1hYXSwgW3dpdGhHQ0M9JEdYWF0sCi0JW0Y3N10sIFt3aXRoR0NDPSRHNzddLAotCVtGQ10sIFt3aXRoR0NDPSRhY19jdl9mY19jb21waWxlcl9nbnVdLAotCVtHQ0pdLCBbd2l0aEdDQz0kR0NDXSwKLQlbXSwgW3dpdGhHQ0M9JEdDQwotaWYgdGVzdCAiJHdpdGhHQ0MiID0geWVzOyB0aGVuCittNF9pZihbJDFdLAorCVtdLCBbCitpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogICBjYXNlICRob3N0X29zIGluCiAgICAgZGFyd2luKikgbHRfYXdrX2FyZz0iL15saWJyYXJpZXM6LywvTFIvIiA7OwogICAgICopIGx0X2F3a19hcmc9Ii9ebGlicmFyaWVzOi8iIDs7CkBAIC0xOTYxLDggKzIwOTAsNyBAQAogICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9YCRFQ0hPICRsdF9zZWFyY2hfcGF0aF9zcGVjYAogZWxzZQogICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9Ii9saWIgL3Vzci9saWIgL3Vzci9sb2NhbC9saWIiCi1maV0sCi1bd2l0aEdDQz0kR0NDXSkKK2ZpXSkKIGxpYnJhcnlfbmFtZXNfc3BlYz0KIGxpYm5hbWVfc3BlYz0nbGliJG5hbWUnCiBzb25hbWVfc3BlYz0KQEAgLTIwMzgsMTMgKzIxNjYsMTggQEAKICAgOzsKIAogYW1pZ2FvcyopCi0gIGlmIHRlc3QgIiRob3N0X2NwdSIgPSBtNjhrOyB0aGVuCisgIGNhc2UgJGhvc3RfY3B1IGluCisgIHBvd2VycGMpCisgICAgIyBTaW5jZSBKdWx5IDIwMDcgQW1pZ2FPUzQgb2ZmaWNpYWxseSBzdXBwb3J0cyAuc28gbGlicmFyaWVzLgorICAgICMgV2hlbiBjb21waWxpbmcgdGhlIGV4ZWN1dGFibGUsIGFkZCAtdXNlLWR5bmxkIC1Mc29ianM6IHRvIHRoZSBjb21waWxlbGluZS4KKyAgICBsaWJyYXJ5X25hbWVzX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSR2ZXJzdWZmaXggJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JG1ham9yICRsaWJuYW1lJHtzaGFyZWRfZXh0fScKKyAgICA7OworICBtNjhrKQogICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJGxpYm5hbWUuaXhsaWJyYXJ5ICRsaWJuYW1lLmEnCiAgICAgIyBDcmVhdGUgJHtsaWJuYW1lfV9peGxpYnJhcnkuYSBlbnRyaWVzIGluIC9zeXMvbGlicy4KICAgICBmaW5pc2hfZXZhbD0nZm9yIGxpYiBpbiBgbHMgJGxpYmRpci8qLml4bGlicmFyeSAyPi9kZXYvbnVsbGA7IGRvIGxpYm5hbWU9YCRFQ0hPICJYJGxpYiIgfCAkWHNlZCAtZSAnXCcncyVeLiovXChbW14vXV0qXClcLml4bGlicmFyeSQlXDElJ1wnJ2A7IHRlc3QgJFJNIC9zeXMvbGlicy8ke2xpYm5hbWV9X2l4bGlicmFyeS5hOyAkc2hvdyAiY2QgL3N5cy9saWJzICYmICRMTl9TICRsaWIgJHtsaWJuYW1lfV9peGxpYnJhcnkuYSI7IGNkIC9zeXMvbGlicyAmJiAkTE5fUyAkbGliICR7bGlibmFtZX1faXhsaWJyYXJ5LmEgfHwgZXhpdCAxOyBkb25lJwotICBlbHNlCi0gICAgZHluYW1pY19saW5rZXI9bm8KLSAgZmkKKyAgICA7OworICBlc2FjCiAgIDs7CiAKIGJlb3MqKQpAQCAtMjA2NywxNCArMjIwMCwxNCBAQAogICAjIGxpYnRvb2wgdG8gaGFyZC1jb2RlIHRoZXNlIGludG8gcHJvZ3JhbXMKICAgOzsKIAotY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqKQorY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICB2ZXJzaW9uX3R5cGU9d2luZG93cwogICBzaHJleHRfY21kcz0iLmRsbCIKICAgbmVlZF92ZXJzaW9uPW5vCiAgIG5lZWRfbGliX3ByZWZpeD1ubwogCi0gIGNhc2UgJHdpdGhHQ0MsJGhvc3Rfb3MgaW4KLSAgeWVzLGN5Z3dpbiogfCB5ZXMsbWluZ3cqIHwgeWVzLHB3MzIqKQorICBjYXNlICRHQ0MsJGhvc3Rfb3MgaW4KKyAgeWVzLGN5Z3dpbiogfCB5ZXMsbWluZ3cqIHwgeWVzLHB3MzIqIHwgeWVzLGNlZ2NjKikKICAgICBsaWJyYXJ5X25hbWVzX3NwZWM9JyRsaWJuYW1lLmRsbC5hJwogICAgICMgRExMIGlzIGluc3RhbGxlZCB0byAkKGxpYmRpcikvLi4vYmluIGJ5IHBvc3RpbnN0YWxsX2NtZHMKICAgICBwb3N0aW5zdGFsbF9jbWRzPSdiYXNlX2ZpbGU9YGJhc2VuYW1lIFwke2ZpbGV9YH4KQEAgLTIwOTcsNyArMjIzMCw3IEBACiAgICAgICBzb25hbWVfc3BlYz0nYGVjaG8gJHtsaWJuYW1lfSB8IHNlZCAtZSAncy9ebGliL2N5Zy8nYGBlY2hvICR7cmVsZWFzZX0gfCAkU0VEIC1lICdzL1tbLl1dLy0vZydgJHt2ZXJzdWZmaXh9JHtzaGFyZWRfZXh0fScKICAgICAgIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz0iL3Vzci9saWIgL2xpYi93MzJhcGkgL2xpYiAvdXNyL2xvY2FsL2xpYiIKICAgICAgIDs7Ci0gICAgbWluZ3cqKQorICAgIG1pbmd3KiB8IGNlZ2NjKikKICAgICAgICMgTWluR1cgRExMcyB1c2UgdHJhZGl0aW9uYWwgJ2xpYicgcHJlZml4CiAgICAgICBzb25hbWVfc3BlYz0nJHtsaWJuYW1lfWBlY2hvICR7cmVsZWFzZX0gfCAkU0VEIC1lICdzL1tbLl1dLy0vZydgJHt2ZXJzdWZmaXh9JHtzaGFyZWRfZXh0fScKICAgICAgIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz1gJENDIC1wcmludC1zZWFyY2gtZGlycyB8ICRHUkVQICJebGlicmFyaWVzOiIgfCAkU0VEIC1lICJzL15saWJyYXJpZXM6Ly8iIC1lICJzLD0vLC8sZyJgCkBAIC0yMTQwLDcgKzIyNzMsNyBAQAogICBzaGxpYnBhdGhfdmFyPURZTERfTElCUkFSWV9QQVRICiAgIHNocmV4dF9jbWRzPSdgdGVzdCAuJG1vZHVsZSA9IC55ZXMgJiYgZWNobyAuc28gfHwgZWNobyAuZHlsaWJgJwogbTRfaWYoWyQxXSwgW10sWwotICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9IiRzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWMgL3Vzci9sb2NhbC9saWIiXSkgCisgIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz0iJHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYyAvdXNyL2xvY2FsL2xpYiJdKQogICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0nL3Vzci9sb2NhbC9saWIgL2xpYiAvdXNyL2xpYicKICAgOzsKIApAQCAtMjMyMSwxMyArMjQ1NCwxMyBAQAogICBmaW5pc2hfY21kcz0nUEFUSD0iXCRQQVRIOi9zYmluIiBsZGNvbmZpZyAtbiAkbGliZGlyJwogICBzaGxpYnBhdGhfdmFyPUxEX0xJQlJBUllfUEFUSAogICBzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9bm8KLSAgIyBTb21lIGJpbnV0aWxzIGxkIGFyZSBwYXRjaGVkIHRvIHNldCBEVF9SVU5QQVRIIAorICAjIFNvbWUgYmludXRpbHMgbGQgYXJlIHBhdGNoZWQgdG8gc2V0IERUX1JVTlBBVEgKICAgc2F2ZV9MREZMQUdTPSRMREZMQUdTCiAgIHNhdmVfbGliZGlyPSRsaWJkaXIKICAgZXZhbCAibGliZGlyPS9mb287IHdsPVwiJF9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl93bCwgJDEpXCI7IFwKICAgICAgICBMREZMQUdTPVwiXCRMREZMQUdTICRfTFRfVEFHVkFSKGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMsICQxKVwiIgogICBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtdLFtdKV0sCi0gICAgW0FTX0lGKFsgKCRPQkpEVU1QIC1wIGNvbmZ0ZXN0JGFjX2V4ZWV4dCkgMj4vZGV2L251bGwgfCBncmVwICJSVU5QQVRILiokbGliZGlyIl0sCisgICAgW0FTX0lGKFsgKCRPQkpEVU1QIC1wIGNvbmZ0ZXN0JGFjX2V4ZWV4dCkgMj4vZGV2L251bGwgfCBncmVwICJSVU5QQVRILiokbGliZGlyIiA+L2Rldi9udWxsXSwKICAgICAgICBbc2hsaWJwYXRoX292ZXJyaWRlc19ydW5wYXRoPXllc10pXSkKICAgTERGTEFHUz0kc2F2ZV9MREZMQUdTCiAgIGxpYmRpcj0kc2F2ZV9saWJkaXIKQEAgLTIzMzksNyArMjQ3Miw3IEBACiAKICAgIyBBcHBlbmQgbGQuc28uY29uZiBjb250ZW50cyB0byB0aGUgc2VhcmNoIHBhdGgKICAgaWYgdGVzdCAtZiAvZXRjL2xkLnNvLmNvbmY7IHRoZW4KLSAgICBsdF9sZF9leHRyYT1gYXdrICcvXmluY2x1ZGUgLyB7IHN5c3RlbShzcHJpbnRmKCJjZCAvZXRjOyBjYXQgJXMgMj4vZGV2L251bGwiLCBcWyRdMikpOyBza2lwID0gMTsgfSB7IGlmICghc2tpcCkgcHJpbnQgXFskXTA7IHNraXAgPSAwOyB9JyA8IC9ldGMvbGQuc28uY29uZiB8ICRTRUQgLWUgJ3MvIy4qLy87cy9bOiwJXS8gL2c7cy89W149XSokLy87cy89W149IF0qIC8gL2c7L14kL2QnIHwgdHIgJ1xuJyAnICdgCisgICAgbHRfbGRfZXh0cmE9YGF3ayAnL15pbmNsdWRlIC8geyBzeXN0ZW0oc3ByaW50ZigiY2QgL2V0YzsgY2F0ICVzIDI+L2Rldi9udWxsIiwgXFskXTIpKTsgc2tpcCA9IDE7IH0geyBpZiAoIXNraXApIHByaW50IFxbJF0wOyBza2lwID0gMDsgfScgPCAvZXRjL2xkLnNvLmNvbmYgfCAkU0VEIC1lICdzLyMuKi8vOy9eWwkgXSpod2NhcFsJIF0vZDtzL1s6LAldLyAvZztzLz1bXj1dKiQvLztzLz1bXj0gXSogLyAvZzsvXiQvZCcgfCB0ciAnXG4nICcgJ2AKICAgICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0iL2xpYiAvdXNyL2xpYiAkbHRfbGRfZXh0cmEiCiAgIGZpCiAKQEAgLTI1MjMsNyArMjY1Niw3IEBACiAgIHZlcnNpb25fdHlwZT1saW51eAogICBuZWVkX2xpYl9wcmVmaXg9bm8KICAgbmVlZF92ZXJzaW9uPW5vCi0gIGxpYnJhcnlfbmFtZV9zcGVjPScke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kdmVyc3VmZml4ICR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSRtYWpvciAkbGlibmFtZSR7c2hhcmVkX2V4dH0nCisgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JHZlcnN1ZmZpeCAke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kbWFqb3IgJGxpYm5hbWUke3NoYXJlZF9leHR9JwogICBzaGxpYnBhdGhfdmFyPUxEX0xJQlJBUllfUEFUSAogICBzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9bm8KICAgaGFyZGNvZGVfaW50b19saWJzPXllcwpAQCAtMjU0OCw2ICsyNjgxLDEzIEBACiAgIHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rPSIkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbmsgR0NDX0VYRUNfUFJFRklYIENPTVBJTEVSX1BBVEggTElCUkFSWV9QQVRIIgogZmkKIAoraWYgdGVzdCAiJHtsdF9jdl9zeXNfbGliX3NlYXJjaF9wYXRoX3NwZWMrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIkbHRfY3Zfc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjIgorZmkKK2lmIHRlc3QgIiR7bHRfY3Zfc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWMrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWM9IiRsdF9jdl9zeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYyIKK2ZpCisKIF9MVF9ERUNMKFtdLCBbdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbmtdLCBbMV0sCiAgICAgW1ZhcmlhYmxlcyB3aG9zZSB2YWx1ZXMgc2hvdWxkIGJlIHNhdmVkIGluIGxpYnRvb2wgd3JhcHBlciBzY3JpcHRzIGFuZAogICAgIHJlc3RvcmVkIGF0IGxpbmsgdGltZV0pCkBAIC0yODE3LDYgKzI5NTcsNyBAQAogIyAgLS0gUE9SVE1FIGZpbGwgaW4gd2l0aCB0aGUgZHluYW1pYyBsaWJyYXJ5IGNoYXJhY3RlcmlzdGljcwogbTRfZGVmdW4oW19MVF9DSEVDS19NQUdJQ19NRVRIT0RdLAogW200X3JlcXVpcmUoW19MVF9ERUNMX0VHUkVQXSkKK200X3JlcXVpcmUoW19MVF9ERUNMX09CSkRVTVBdKQogQUNfQ0FDSEVfQ0hFQ0soW2hvdyB0byByZWNvZ25pemUgZGVwZW5kZW50IGxpYnJhcmllc10sCiBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZCwKIFtsdF9jdl9maWxlX21hZ2ljX2NtZD0nJE1BR0lDX0NNRCcKQEAgLTI4NjcsNiArMzAwOCwxMiBAQAogICBmaQogICA7OwogCitjZWdjYykKKyAgIyB1c2UgdGhlIHdlYWtlciB0ZXN0IGJhc2VkIG9uICdvYmpkdW1wJy4gU2VlIG1pbmd3Ki4KKyAgbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2Q9J2ZpbGVfbWFnaWMgZmlsZSBmb3JtYXQgcGUtYXJtLS4qbGl0dGxlKC4qYXJjaGl0ZWN0dXJlOiBhcm0pPycKKyAgbHRfY3ZfZmlsZV9tYWdpY19jbWQ9JyRPQkpEVU1QIC1mJworICA7OworCiBkYXJ3aW4qIHwgcmhhcHNvZHkqKQogICBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD1wYXNzX2FsbAogICA7OwpAQCAtMzAxOSw3ICszMTY2LDYgQEAKICMgZmluZCB0aGUgcGF0aG5hbWUgdG8gYSBCU0QtIG9yIE1TLWNvbXBhdGlibGUgbmFtZSBsaXN0ZXIKIEFDX0RFRlVOKFtMVF9QQVRIX05NXSwKIFtBQ19SRVFVSVJFKFtBQ19QUk9HX0NDXSlkbmwKLUFDX1JFUVVJUkUoW0FDX09CSkVYVF0pZG5sCiBBQ19DQUNIRV9DSEVDSyhbZm9yIEJTRC0gb3IgTVMtY29tcGF0aWJsZSBuYW1lIGxpc3RlciAobm0pXSwgbHRfY3ZfcGF0aF9OTSwKIFtpZiB0ZXN0IC1uICIkTk0iOyB0aGVuCiAgICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgpAQCAtMzE1NSw3ICszMzAxLDYgQEAKIG00X2RlZnVuKFtfTFRfQ01EX0dMT0JBTF9TWU1CT0xTXSwKIFtBQ19SRVFVSVJFKFtBQ19DQU5PTklDQUxfSE9TVF0pZG5sCiBBQ19SRVFVSVJFKFtBQ19QUk9HX0NDXSlkbmwKLUFDX1JFUVVJUkUoW0FDX09CSkVYVF0pZG5sCiBBQ19SRVFVSVJFKFtMVF9QQVRIX05NXSlkbmwKIEFDX1JFUVVJUkUoW0xUX1BBVEhfTERdKWRubAogbTRfcmVxdWlyZShbX0xUX0RFQ0xfU0VEXSlkbmwKQEAgLTMxODAsNyArMzMyNSw3IEBACiBhaXgqKQogICBzeW1jb2RlPSdbW0JDRFRdXScKICAgOzsKLWN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKikKK2N5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgc3ltY29kZT0nW1tBQkNER0lTVFddXScKICAgOzsKIGhwdXgqKQpAQCAtMzIyNCw2ICszMzY5LDcgQEAKIAogIyBUcmFuc2Zvcm0gYW4gZXh0cmFjdGVkIHN5bWJvbCBsaW5lIGludG8gc3ltYm9sIG5hbWUgYW5kIHN5bWJvbCBhZGRyZXNzCiBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0ic2VkIC1uIC1lICdzL146IFwoW1teIF1dKlwpICQvICB7XFxcIlwxXFxcIiwgKHZvaWQgKikgMH0sL3AnIC1lICdzL14kc3ltY29kZSogXChbW14gXV0qXCkgXChbW14gXV0qXCkkLyAge1wiXDJcIiwgKHZvaWQgKikgXCZcMn0sL3AnIgorbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0ic2VkIC1uIC1lICdzL146IFwoW1teIF1dKlwpICQvICB7XFxcIlwxXFxcIiwgKHZvaWQgKikgMH0sL3AnIC1lICdzL14kc3ltY29kZSogXChbW14gXV0qXCkgXChsaWJbW14gXV0qXCkkLyAge1wiXDJcIiwgKHZvaWQgKikgXCZcMn0sL3AnIC1lICdzL14kc3ltY29kZSogXChbW14gXV0qXCkgXChbW14gXV0qXCkkLyAge1wibGliXDJcIiwgKHZvaWQgKikgXCZcMn0sL3AnIgogCiAjIEhhbmRsZSBDUkxGIGluIG1pbmd3IHRvb2wgY2hhaW4KIG9wdF9jcj0KQEAgLTMzNTEsNyArMzQ5Nyw3IEBACiAgICAgZWNobyAiJHByb2duYW1lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JkFTX01FU1NBR0VfTE9HX0ZECiAgICAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CiAgIGZpCi0gIHJtIC1mIGNvbmZ0ZXN0KiBjb25mdHN0KgorICBybSAtcmYgY29uZnRlc3QqIGNvbmZ0c3QqCiAKICAgIyBEbyBub3QgdXNlIHRoZSBnbG9iYWxfc3ltYm9sX3BpcGUgdW5sZXNzIGl0IHdvcmtzLgogICBpZiB0ZXN0ICIkcGlwZV93b3JrcyIgPSB5ZXM7IHRoZW4KQEAgLTMzNzcsNiArMzUyMyw5IEBACiBfTFRfREVDTChbZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc10sCiAgICAgW2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzXSwgWzFdLAogICAgIFtUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXJdKQorX0xUX0RFQ0woW2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeF0sCisgICAgW2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXhdLCBbMV0sCisgICAgW1RyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkXSkKIF0pICMgX0xUX0NNRF9HTE9CQUxfU1lNQk9MUwogCiAKQEAgLTM0MDMsMTggKzM1NTIsMjYgQEAKIAlfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfc3RhdGljLCAkMSk9Jy1Cc3RhdGljJwogICAgICAgZmkKICAgICAgIDs7CisKICAgICBhbWlnYW9zKikKLSAgICAgIGlmIHRlc3QgIiRob3N0X2NwdSIgPSBtNjhrOyB0aGVuCi0gICAgICAgICMgRklYTUU6IHdlIG5lZWQgYXQgbGVhc3QgNjgwMjAgY29kZSB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzLCBidXQKLSAgICAgICAgIyBhZGRpbmcgdGhlIGAtbTY4MDIwJyBmbGFnIHRvIEdDQyBwcmV2ZW50cyBidWlsZGluZyBhbnl0aGluZyBiZXR0ZXIsCi0gICAgICAgICMgbGlrZSBgLW02ODA0MCcuCi0gICAgICAgIF9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl9waWMsICQxKT0nLW02ODAyMCAtcmVzaWRlbnQzMiAtbWFsd2F5cy1yZXN0b3JlLWE0JwotICAgICAgZmkKKyAgICAgIGNhc2UgJGhvc3RfY3B1IGluCisgICAgICBwb3dlcnBjKQorICAgICAgICAgICAgIyBzZWUgY29tbWVudCBhYm91dCBBbWlnYU9TNCAuc28gc3VwcG9ydAorICAgICAgICAgICAgX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3BpYywgJDEpPSctZlBJQycKKyAgICAgICAgOzsKKyAgICAgIG02OGspCisgICAgICAgICAgICAjIEZJWE1FOiB3ZSBuZWVkIGF0IGxlYXN0IDY4MDIwIGNvZGUgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcywgYnV0CisgICAgICAgICAgICAjIGFkZGluZyB0aGUgYC1tNjgwMjAnIGZsYWcgdG8gR0NDIHByZXZlbnRzIGJ1aWxkaW5nIGFueXRoaW5nIGJldHRlciwKKyAgICAgICAgICAgICMgbGlrZSBgLW02ODA0MCcuCisgICAgICAgICAgICBfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfcGljLCAkMSk9Jy1tNjgwMjAgLXJlc2lkZW50MzIgLW1hbHdheXMtcmVzdG9yZS1hNCcKKyAgICAgICAgOzsKKyAgICAgIGVzYWMKICAgICAgIDs7CisKICAgICBiZW9zKiB8IGlyaXg1KiB8IGlyaXg2KiB8IG5vbnN0b3B1eCogfCBvc2YzKiB8IG9zZjQqIHwgb3NmNSopCiAgICAgICAjIFBJQyBpcyB0aGUgZGVmYXVsdCBmb3IgdGhlc2UgT1Nlcy4KICAgICAgIDs7Ci0gICAgbWluZ3cqIHwgY3lnd2luKiB8IG9zMiogfCBwdzMyKikKKyAgICBtaW5ndyogfCBjeWd3aW4qIHwgb3MyKiB8IHB3MzIqIHwgY2VnY2MqKQogICAgICAgIyBUaGlzIGhhY2sgaXMgc28gdGhhdCB0aGUgc291cmNlIGZpbGUgY2FuIHRlbGwgd2hldGhlciBpdCBpcyBiZWluZwogICAgICAgIyBidWlsdCBmb3IgaW5jbHVzaW9uIGluIGEgZGxsIChhbmQgc2hvdWxkIGV4cG9ydCBzeW1ib2xzIGZvciBleGFtcGxlKS4KICAgICAgICMgQWx0aG91Z2ggdGhlIGN5Z3dpbiBnY2MgaWdub3JlcyAtZlBJQywgc3RpbGwgbmVlZCB0aGlzIGZvciBvbGQtc3R5bGUKQEAgLTM0NDEsMTAgKzM1OTgsMTEgQEAKICAgICAgIGZpCiAgICAgICA7OwogICAgIGhwdXgqKQotICAgICAgIyBQSUMgaXMgdGhlIGRlZmF1bHQgZm9yIElBNjQgSFAtVVggYW5kIDY0LWJpdCBIUC1VWCwgYnV0Ci0gICAgICAjIG5vdCBmb3IgUEEgSFAtVVguCisgICAgICAjIFBJQyBpcyB0aGUgZGVmYXVsdCBmb3IgNjQtYml0IFBBIEhQLVVYLCBidXQgbm90IGZvciAzMi1iaXQKKyAgICAgICMgUEEgSFAtVVguICBPbiBJQTY0IEhQLVVYLCBQSUMgaXMgdGhlIGRlZmF1bHQgYnV0IHRoZSBwaWMgZmxhZworICAgICAgIyBzZXRzIHRoZSBkZWZhdWx0IFRMUyBtb2RlbCBhbmQgYWZmZWN0cyBpbmxpbmluZy4KICAgICAgIGNhc2UgJGhvc3RfY3B1IGluCi0gICAgICBocHBhKjY0KnxpYTY0KikKKyAgICAgIGhwcGEqNjQqKQogCTs7CiAgICAgICAqKQogCV9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl9waWMsICQxKT0nLWZQSUMnCkBAIC0zNDc5LDE2ICszNjM3LDYgQEAKIAkgIDs7CiAJZXNhYwogCTs7Ci0gICAgICBkYXJ3aW4qKQotICAgICAgICAjIFBJQyBpcyB0aGUgZGVmYXVsdCBvbiB0aGlzIHBsYXRmb3JtCi0gICAgICAgICMgQ29tbW9uIHN5bWJvbHMgbm90IGFsbG93ZWQgaW4gTUhfRFlMSUIgZmlsZXMKLSAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KLSAgICAgICAgICB4bGMqKQotICAgICAgICAgIF9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl9waWMsICQxKT0nLXFub2NvbW1vbicKLSAgICAgICAgICBfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfd2wsICQxKT0nLVdsLCcKLSAgICAgICAgICA7OwotICAgICAgICBlc2FjCi0gICAgICAgIDs7CiAgICAgICBkZ3V4KikKIAljYXNlICRjY19iYXNlbmFtZSBpbgogCSAgZWMrKyopCkBAIC0zNTUyLDEzICszNzAwLDIwIEBACiAJICAgIF9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl93bCwgJDEpPSctLWJhY2tlbmQgLVdsLCcKIAkgICAgX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3BpYywgJDEpPSctZlBJQycKIAkgICAgOzsKLQkgIGljcGMqIHwgZWNwYyogKQotCSAgICAjIEludGVsIEMrKworCSAgZWNwYyogKQorCSAgICAjIG9sZCBJbnRlbCBDKysgZm9yIHg4Nl82NCB3aGljaCBzdGlsbCBzdXBwb3J0ZWQgLUtQSUMuCiAJICAgIF9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl93bCwgJDEpPSctV2wsJwogCSAgICBfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfcGljLCAkMSk9Jy1LUElDJwogCSAgICBfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfc3RhdGljLCAkMSk9Jy1zdGF0aWMnCiAJICAgIDs7Ci0JICBwZ0NDKikKKwkgIGljcGMqICkKKwkgICAgIyBJbnRlbCBDKyssIHVzZWQgdG8gYmUgaW5jb21wYXRpYmxlIHdpdGggR0NDLgorCSAgICAjIElDQyAxMCBkb2Vzbid0IGFjY2VwdCAtS1BJQyBhbnkgbW9yZS4KKwkgICAgX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3dsLCAkMSk9Jy1XbCwnCisJICAgIF9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl9waWMsICQxKT0nLWZQSUMnCisJICAgIF9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl9zdGF0aWMsICQxKT0nLXN0YXRpYycKKwkgICAgOzsKKwkgIHBnQ0MqIHwgcGdjcHAqKQogCSAgICAjIFBvcnRsYW5kIEdyb3VwIEMrKyBjb21waWxlcgogCSAgICBfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfd2wsICQxKT0nLVdsLCcKIAkgICAgX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3BpYywgJDEpPSctZnBpYycKQEAgLTM1NzEsNiArMzcyNiwxMiBAQAogCSAgICBfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfcGljLCAkMSk9CiAJICAgIF9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl9zdGF0aWMsICQxKT0nLW5vbl9zaGFyZWQnCiAJICAgIDs7CisJICB4bGMqIHwgeGxDKikKKwkgICAgIyBJQk0gWEwgOC4wIG9uIFBQQworCSAgICBfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfd2wsICQxKT0nLVdsLCcKKwkgICAgX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3BpYywgJDEpPSctcXBpYycKKwkgICAgX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYywgJDEpPSctcXN0YXRpY2xpbmsnCisJICAgIDs7CiAJICAqKQogCSAgICBjYXNlIGAkQ0MgLVYgMj4mMSB8IHNlZCA1cWAgaW4KIAkgICAgKlN1blwgQyopCkBAIC0zNjk5LDE5ICszODYwLDI1IEBACiAgICAgICA7OwogCiAgICAgYW1pZ2FvcyopCi0gICAgICBpZiB0ZXN0ICIkaG9zdF9jcHUiID0gbTY4azsgdGhlbgotICAgICAgICAjIEZJWE1FOiB3ZSBuZWVkIGF0IGxlYXN0IDY4MDIwIGNvZGUgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcywgYnV0Ci0gICAgICAgICMgYWRkaW5nIHRoZSBgLW02ODAyMCcgZmxhZyB0byBHQ0MgcHJldmVudHMgYnVpbGRpbmcgYW55dGhpbmcgYmV0dGVyLAotICAgICAgICAjIGxpa2UgYC1tNjgwNDAnLgotICAgICAgICBfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfcGljLCAkMSk9Jy1tNjgwMjAgLXJlc2lkZW50MzIgLW1hbHdheXMtcmVzdG9yZS1hNCcKLSAgICAgIGZpCisgICAgICBjYXNlICRob3N0X2NwdSBpbgorICAgICAgcG93ZXJwYykKKyAgICAgICAgICAgICMgc2VlIGNvbW1lbnQgYWJvdXQgQW1pZ2FPUzQgLnNvIHN1cHBvcnQKKyAgICAgICAgICAgIF9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl9waWMsICQxKT0nLWZQSUMnCisgICAgICAgIDs7CisgICAgICBtNjhrKQorICAgICAgICAgICAgIyBGSVhNRTogd2UgbmVlZCBhdCBsZWFzdCA2ODAyMCBjb2RlIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMsIGJ1dAorICAgICAgICAgICAgIyBhZGRpbmcgdGhlIGAtbTY4MDIwJyBmbGFnIHRvIEdDQyBwcmV2ZW50cyBidWlsZGluZyBhbnl0aGluZyBiZXR0ZXIsCisgICAgICAgICAgICAjIGxpa2UgYC1tNjgwNDAnLgorICAgICAgICAgICAgX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3BpYywgJDEpPSctbTY4MDIwIC1yZXNpZGVudDMyIC1tYWx3YXlzLXJlc3RvcmUtYTQnCisgICAgICAgIDs7CisgICAgICBlc2FjCiAgICAgICA7OwogCiAgICAgYmVvcyogfCBpcml4NSogfCBpcml4NiogfCBub25zdG9wdXgqIHwgb3NmMyogfCBvc2Y0KiB8IG9zZjUqKQogICAgICAgIyBQSUMgaXMgdGhlIGRlZmF1bHQgZm9yIHRoZXNlIE9TZXMuCiAgICAgICA7OwogCi0gICAgbWluZ3cqIHwgY3lnd2luKiB8IHB3MzIqIHwgb3MyKikKKyAgICBtaW5ndyogfCBjeWd3aW4qIHwgcHczMiogfCBvczIqIHwgY2VnY2MqKQogICAgICAgIyBUaGlzIGhhY2sgaXMgc28gdGhhdCB0aGUgc291cmNlIGZpbGUgY2FuIHRlbGwgd2hldGhlciBpdCBpcyBiZWluZwogICAgICAgIyBidWlsdCBmb3IgaW5jbHVzaW9uIGluIGEgZGxsIChhbmQgc2hvdWxkIGV4cG9ydCBzeW1ib2xzIGZvciBleGFtcGxlKS4KICAgICAgICMgQWx0aG91Z2ggdGhlIGN5Z3dpbiBnY2MgaWdub3JlcyAtZlBJQywgc3RpbGwgbmVlZCB0aGlzIGZvciBvbGQtc3R5bGUKQEAgLTM3MjcsMTAgKzM4OTQsMTEgQEAKICAgICAgIDs7CiAKICAgICBocHV4KikKLSAgICAgICMgUElDIGlzIHRoZSBkZWZhdWx0IGZvciBJQTY0IEhQLVVYIGFuZCA2NC1iaXQgSFAtVVgsIGJ1dAotICAgICAgIyBub3QgZm9yIFBBIEhQLVVYLgorICAgICAgIyBQSUMgaXMgdGhlIGRlZmF1bHQgZm9yIDY0LWJpdCBQQSBIUC1VWCwgYnV0IG5vdCBmb3IgMzItYml0CisgICAgICAjIFBBIEhQLVVYLiAgT24gSUE2NCBIUC1VWCwgUElDIGlzIHRoZSBkZWZhdWx0IGJ1dCB0aGUgcGljIGZsYWcKKyAgICAgICMgc2V0cyB0aGUgZGVmYXVsdCBUTFMgbW9kZWwgYW5kIGFmZmVjdHMgaW5saW5pbmcuCiAgICAgICBjYXNlICRob3N0X2NwdSBpbgotICAgICAgaHBwYSo2NCp8aWE2NCopCisgICAgICBocHBhKjY0KikKIAkjICtaIHRoZSBkZWZhdWx0CiAJOzsKICAgICAgICopCkBAIC0zNzc5LDE4ICszOTQ3LDggQEAKIAlfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfc3RhdGljLCAkMSk9Jy1ibnNvIC1iSTovbGliL3N5c2NhbGxzLmV4cCcKICAgICAgIGZpCiAgICAgICA7OwotICAgIGRhcndpbiopCi0gICAgICAjIFBJQyBpcyB0aGUgZGVmYXVsdCBvbiB0aGlzIHBsYXRmb3JtCi0gICAgICAjIENvbW1vbiBzeW1ib2xzIG5vdCBhbGxvd2VkIGluIE1IX0RZTElCIGZpbGVzCi0gICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgotICAgICAgeGxjKikKLSAgICAgICAgX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3BpYywgJDEpPSctcW5vY29tbW9uJwotICAgICAgICBfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfd2wsICQxKT0nLVdsLCcKLSAgICAgICAgOzsKLSAgICAgIGVzYWMKLSAgICAgIDs7CiAKLSAgICBtaW5ndyogfCBjeWd3aW4qIHwgcHczMiogfCBvczIqKQorICAgIG1pbmd3KiB8IGN5Z3dpbiogfCBwdzMyKiB8IG9zMiogfCBjZWdjYyopCiAgICAgICAjIFRoaXMgaGFjayBpcyBzbyB0aGF0IHRoZSBzb3VyY2UgZmlsZSBjYW4gdGVsbCB3aGV0aGVyIGl0IGlzIGJlaW5nCiAgICAgICAjIGJ1aWx0IGZvciBpbmNsdXNpb24gaW4gYSBkbGwgKGFuZCBzaG91bGQgZXhwb3J0IHN5bWJvbHMgZm9yIGV4YW1wbGUpLgogICAgICAgbTRfaWYoWyQxXSwgW0dDSl0sIFtdLApAQCAtMzgyMSwxMSArMzk3OSwyNSBAQAogCiAgICAgbGludXgqIHwgaypic2QqLWdudSkKICAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCi0gICAgICBpY2MqIHwgZWNjKikKKyAgICAgICMgb2xkIEludGVsIGZvciB4ODZfNjQgd2hpY2ggc3RpbGwgc3VwcG9ydGVkIC1LUElDLgorICAgICAgZWNjKikKIAlfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfd2wsICQxKT0nLVdsLCcKIAlfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfcGljLCAkMSk9Jy1LUElDJwogCV9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl9zdGF0aWMsICQxKT0nLXN0YXRpYycKICAgICAgICAgOzsKKyAgICAgICMgaWNjIHVzZWQgdG8gYmUgaW5jb21wYXRpYmxlIHdpdGggR0NDLgorICAgICAgIyBJQ0MgMTAgZG9lc24ndCBhY2NlcHQgLUtQSUMgYW55IG1vcmUuCisgICAgICBpY2MqIHwgaWZvcnQqKQorCV9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl93bCwgJDEpPSctV2wsJworCV9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl9waWMsICQxKT0nLWZQSUMnCisJX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYywgJDEpPSctc3RhdGljJworICAgICAgICA7OworICAgICAgIyBMYWhleSBGb3J0cmFuIDguMS4KKyAgICAgIGxmOTUqKQorCV9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl93bCwgJDEpPSctV2wsJworCV9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl9waWMsICQxKT0nLS1zaGFyZWQnCisJX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYywgJDEpPSctLXN0YXRpYycKKwk7OwogICAgICAgcGdjYyogfCBwZ2Y3NyogfCBwZ2Y5MCogfCBwZ2Y5NSopCiAgICAgICAgICMgUG9ydGxhbmQgR3JvdXAgY29tcGlsZXJzICgqbm90KiB0aGUgUGVudGl1bSBnY2MgY29tcGlsZXIsCiAJIyB3aGljaCBsb29rcyB0byBiZSBhIGRlYWQgcHJvamVjdCkKQEAgLTM4MzgsNiArNDAxMCwxMiBAQAogICAgICAgICAjIEFsbCBBbHBoYSBjb2RlIGlzIFBJQy4KICAgICAgICAgX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYywgJDEpPSctbm9uX3NoYXJlZCcKICAgICAgICAgOzsKKyAgICAgIHhsKikKKwkjIElCTSBYTCBDIDguMC9Gb3J0cmFuIDEwLjEgb24gUFBDCisJX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3dsLCAkMSk9Jy1XbCwnCisJX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3BpYywgJDEpPSctcXBpYycKKwlfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfc3RhdGljLCAkMSk9Jy1xc3RhdGljbGluaycKKwk7OwogICAgICAgKikKIAljYXNlIGAkQ0MgLVYgMj4mMSB8IHNlZCA1cWAgaW4KIAkqU3VuXCBDKikKQEAgLTM5NDgsNyArNDEyNiw3IEBACiAjCiBpZiB0ZXN0IC1uICIkX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3BpYywgJDEpIjsgdGhlbgogICBfTFRfQ09NUElMRVJfT1BUSU9OKFtpZiAkY29tcGlsZXIgUElDIGZsYWcgJF9MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl9waWMsICQxKSB3b3Jrc10sCi0gICAgW19MVF9UQUdWQVIobHRfcHJvZ19jb21waWxlcl9waWNfd29ya3MsICQxKV0sCisgICAgW19MVF9UQUdWQVIobHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3MsICQxKV0sCiAgICAgWyRfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfcGljLCAkMSlAJnRAbTRfaWYoWyQxXSxbXSxbIC1EUElDXSxbbTRfaWYoWyQxXSxbQ1hYXSxbIC1EUElDXSxbXSldKV0sIFtdLAogICAgIFtjYXNlICRfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfcGljLCAkMSkgaW4KICAgICAgIiIgfCAiICIqKSA7OwpAQCAtMzk2NSw3ICs0MTQzLDcgQEAKICMKIHdsPSRfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfd2wsICQxKSBldmFsIGx0X3RtcF9zdGF0aWNfZmxhZz1cIiRfTFRfVEFHVkFSKGx0X3Byb2dfY29tcGlsZXJfc3RhdGljLCAkMSlcIgogX0xUX0xJTktFUl9PUFRJT04oW2lmICRjb21waWxlciBzdGF0aWMgZmxhZyAkbHRfdG1wX3N0YXRpY19mbGFnIHdvcmtzXSwKLSAgX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcywgJDEpLAorICBfTFRfVEFHVkFSKGx0X2N2X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzLCAkMSksCiAgICRsdF90bXBfc3RhdGljX2ZsYWcsCiAgIFtdLAogICBbX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYywgJDEpPV0pCkBAIC00MDAxLDEzICs0MTc5LDE0IEBACiAgIHB3MzIqKQogICAgIF9MVF9UQUdWQVIoZXhwb3J0X3N5bWJvbHNfY21kcywgJDEpPSIkbHRkbGxfY21kcyIKICAgOzsKLSAgY3lnd2luKiB8IG1pbmd3KikKKyAgY3lnd2luKiB8IG1pbmd3KiB8IGNlZ2NjKikKICAgICBfTFRfVEFHVkFSKGV4cG9ydF9zeW1ib2xzX2NtZHMsICQxKT0nJE5NICRsaWJvYmpzICRjb252ZW5pZW5jZSB8ICRnbG9iYWxfc3ltYm9sX3BpcGUgfCAkU0VEIC1lICdcJycvXltbQkNER1JTXV1bWyBdXS9zLy4qW1sgXV1cKFtbXiBdXSpcKS9cMSBEQVRBLzsvXi4qW1sgXV1fX25tX18vcy9eLipbWyBdXV9fbm1fX1woW1teIF1dKlwpW1sgXV1bW14gXV0qL1wxIERBVEEvOy9eSVtbIF1dL2Q7L15bW0FJVFddXVtbIF1dL3MvLiogLy8nXCcnIHwgc29ydCB8IHVuaXEgPiAkZXhwb3J0X3N5bWJvbHMnCiAgIDs7CiAgICopCiAgICAgX0xUX1RBR1ZBUihleHBvcnRfc3ltYm9sc19jbWRzLCAkMSk9JyROTSAkbGlib2JqcyAkY29udmVuaWVuY2UgfCAkZ2xvYmFsX3N5bWJvbF9waXBlIHwgJFNFRCAnXCcncy8uKiAvLydcJycgfCBzb3J0IHwgdW5pcSA+ICRleHBvcnRfc3ltYm9scycKICAgOzsKICAgZXNhYworICBfTFRfVEFHVkFSKGV4Y2x1ZGVfZXhwc3ltcywgJDEpPVsnX0dMT0JBTF9PRkZTRVRfVEFCTEVffF9HTE9CQUxfX0ZbSURdXy4qJ10KIF0sIFsKICAgcnVucGF0aF92YXI9CiAgIF9MVF9UQUdWQVIoYWxsb3dfdW5kZWZpbmVkX2ZsYWcsICQxKT0KQEAgLTQwNDEsMTYgKzQyMjAsMTggQEAKICAgIyBpdCB3aWxsIGJlIHdyYXBwZWQgYnkgYCAoJyBhbmQgYCkkJywgc28gb25lIG11c3Qgbm90IG1hdGNoIGJlZ2lubmluZyBvcgogICAjIGVuZCBvZiBsaW5lLiAgRXhhbXBsZTogYGF8YmN8LipkLionIHdpbGwgZXhjbHVkZSB0aGUgc3ltYm9scyBgYScgYW5kIGBiYycsCiAgICMgYXMgd2VsbCBhcyBhbnkgc3ltYm9sIHRoYXQgY29udGFpbnMgYGQnLgotICBfTFRfVEFHVkFSKGV4Y2x1ZGVfZXhwc3ltcywgJDEpPSJfR0xPQkFMX09GRlNFVF9UQUJMRV8iCisgIF9MVF9UQUdWQVIoZXhjbHVkZV9leHBzeW1zLCAkMSk9WydfR0xPQkFMX09GRlNFVF9UQUJMRV98X0dMT0JBTF9fRltJRF1fLionXQogICAjIEFsdGhvdWdoIF9HTE9CQUxfT0ZGU0VUX1RBQkxFXyBpcyBhIHZhbGlkIHN5bWJvbCBDIG5hbWUsIG1vc3QgYS5vdXQKICAgIyBwbGF0Zm9ybXMgKGFiKXVzZSBpdCBpbiBQSUMgY29kZSwgYnV0IHRoZWlyIGxpbmtlcnMgZ2V0IGNvbmZ1c2VkIGlmCiAgICMgdGhlIHN5bWJvbCBpcyBleHBsaWNpdGx5IHJlZmVyZW5jZWQuICBTaW5jZSBwb3J0YWJsZSBjb2RlIGNhbm5vdAogICAjIHJlbHkgb24gdGhpcyBzeW1ib2wgbmFtZSwgaXQncyBwcm9iYWJseSBmaW5lIHRvIG5ldmVyIGluY2x1ZGUgaXQgaW4KICAgIyBwcmVsb2FkZWQgc3ltYm9sIHRhYmxlcy4KKyAgIyBFeGNsdWRlIHNoYXJlZCBsaWJyYXJ5IGluaXRpYWxpemF0aW9uL2ZpbmFsaXphdGlvbiBzeW1ib2xzLgorZG5sIE5vdGUgYWxzbyBhZGp1c3QgZXhjbHVkZV9leHBzeW1zIGZvciBDKysgYWJvdmUuCiAgIGV4dHJhY3RfZXhwc3ltc19jbWRzPQogCiAgIGNhc2UgJGhvc3Rfb3MgaW4KLSAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqKQorICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgICAgIyBGSVhNRTogdGhlIE1TVkMrKyBwb3J0IGhhc24ndCBiZWVuIHRlc3RlZCBpbiBhIGxvb29vbmcgdGltZQogICAgICMgV2hlbiBub3QgdXNpbmcgZ2NjLCB3ZSBjdXJyZW50bHkgYXNzdW1lIHRoYXQgd2UgYXJlIHVzaW5nCiAgICAgIyBNaWNyb3NvZnQgVmlzdWFsIEMrKy4KQEAgLTQxMTIsMTkgKzQyOTMsMTggQEAKICAgICAgIDs7CiAKICAgICBhbWlnYW9zKikKLSAgICAgIGlmIHRlc3QgIiRob3N0X2NwdSIgPSBtNjhrOyB0aGVuCi0gICAgICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzLCAkMSk9JyRSTSAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIE5BTUUgJGxpYm5hbWUiID4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBMSUJSQVJZX0lEIDEiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgUkVWSVNJT04gJHJldmlzaW9uIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRBUiAkQVJfRkxBR1MgJGxpYiAkbGlib2Jqc34kUkFOTElCICRsaWJ+KGNkICRvdXRwdXRfb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCi0gICAgICAgIF9MVF9UQUdWQVIoaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYywgJDEpPSctTCRsaWJkaXInCi0gICAgICAgIF9MVF9UQUdWQVIoaGFyZGNvZGVfbWludXNfTCwgJDEpPXllcwotICAgICAgZmkKLQotICAgICAgIyBTYW11ZWwgQS4gRmFsdm8gSUkgPGtjNXRqYUBkb2xwaGluLm9wZW5wcm9qZWN0cy5uZXQ+IHJlcG9ydHMKLSAgICAgICMgdGhhdCB0aGUgc2VtYW50aWNzIG9mIGR5bmFtaWMgbGlicmFyaWVzIG9uIEFtaWdhT1MsIGF0IGxlYXN0IHVwCi0gICAgICAjIHRvIHZlcnNpb24gNCwgaXMgdG8gc2hhcmUgZGF0YSBhbW9uZyBtdWx0aXBsZSBwcm9ncmFtcyBsaW5rZWQKLSAgICAgICMgd2l0aCB0aGUgc2FtZSBkeW5hbWljIGxpYnJhcnkuICBTaW5jZSB0aGlzIGRvZXNuJ3QgbWF0Y2ggdGhlCi0gICAgICAjIGJlaGF2aW9yIG9mIHNoYXJlZCBsaWJyYXJpZXMgb24gb3RoZXIgcGxhdGZvcm1zLCB3ZSBjYW4ndCB1c2UKLSAgICAgICMgdGhlbS4KLSAgICAgIF9MVF9UQUdWQVIobGRfc2hsaWJzLCAkMSk9bm8KKyAgICAgIGNhc2UgJGhvc3RfY3B1IGluCisgICAgICBwb3dlcnBjKQorICAgICAgICAgICAgIyBzZWUgY29tbWVudCBhYm91dCBBbWlnYU9TNCAuc28gc3VwcG9ydAorICAgICAgICAgICAgX0xUX1RBR1ZBUihhcmNoaXZlX2NtZHMsICQxKT0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAkd2wkc29uYW1lIC1vICRsaWInCisgICAgICAgICAgICBfTFRfVEFHVkFSKGFyY2hpdmVfZXhwc3ltX2NtZHMsICQxKT0nJworICAgICAgICA7OworICAgICAgbTY4aykKKyAgICAgICAgICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzLCAkMSk9JyRSTSAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIE5BTUUgJGxpYm5hbWUiID4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBMSUJSQVJZX0lEIDEiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgUkVWSVNJT04gJHJldmlzaW9uIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRBUiAkQVJfRkxBR1MgJGxpYiAkbGlib2Jqc34kUkFOTElCICRsaWJ+KGNkICRvdXRwdXRfb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCisgICAgICAgICAgICBfTFRfVEFHVkFSKGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMsICQxKT0nLUwkbGliZGlyJworICAgICAgICAgICAgX0xUX1RBR1ZBUihoYXJkY29kZV9taW51c19MLCAkMSk9eWVzCisgICAgICAgIDs7CisgICAgICBlc2FjCiAgICAgICA7OwogCiAgICAgYmVvcyopCkBAIC00MTM4LDcgKzQzMTgsNyBAQAogICAgICAgZmkKICAgICAgIDs7CiAKLSAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiopCisgICAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgICAgIyBfTFRfVEFHVkFSKGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMsICQxKSBpcyBhY3R1YWxseSBtZWFuaW5nbGVzcywKICAgICAgICMgYXMgdGhlcmUgaXMgbm8gc2VhcmNoIHBhdGggZm9yIERMTHMuCiAgICAgICBfTFRfVEFHVkFSKGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMsICQxKT0nLUwkbGliZGlyJwpAQCAtNDE4OSw2ICs0MzY5LDcgQEAKIAkgJiYgdGVzdCAiJHRtcF9kaWV0IiA9IG5vCiAgICAgICB0aGVuCiAJdG1wX2FkZGZsYWc9CisJdG1wX3NoYXJlZGZsYWc9Jy1zaGFyZWQnCiAJY2FzZSAkY2NfYmFzZW5hbWUsJGhvc3RfY3B1IGluCiAgICAgICAgIHBnY2MqKQkJCQkjIFBvcnRsYW5kIEdyb3VwIEMgY29tcGlsZXIKIAkgIF9MVF9UQUdWQVIod2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMsICQxKT0nJHt3bH0tLXdob2xlLWFyY2hpdmVgZm9yIGNvbnYgaW4gJGNvbnZlbmllbmNlXCJcIjsgZG8gdGVzdCAgLW4gXCIkY29udlwiICYmIG5ld19jb252ZW5pZW5jZT1cIiRuZXdfY29udmVuaWVuY2UsJGNvbnZcIjsgZG9uZTsgJEVDSE8gXCIkbmV3X2NvbnZlbmllbmNlXCJgICR7d2x9LS1uby13aG9sZS1hcmNoaXZlJwpAQCAtNDIwMyw2ICs0Mzg0LDEyIEBACiAJICB0bXBfYWRkZmxhZz0nIC1pX2R5bmFtaWMgLW5vZm9yX21haW4nIDs7CiAJaWZjKiB8IGlmb3J0KikJCQkjIEludGVsIEZvcnRyYW4gY29tcGlsZXIKIAkgIHRtcF9hZGRmbGFnPScgLW5vZm9yX21haW4nIDs7CisJbGY5NSopCQkJCSMgTGFoZXkgRm9ydHJhbiA4LjEKKwkgIF9MVF9UQUdWQVIod2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMsICQxKT0KKwkgIHRtcF9zaGFyZWRmbGFnPSctLXNoYXJlZCcgOzsKKwl4bFtbY0NdXSopCQkJIyBJQk0gWEwgQyA4LjAgb24gUFBDIChkZWFsIHdpdGggeGxmIGJlbG93KQorCSAgdG1wX3NoYXJlZGZsYWc9Jy1xbWtzaHJvYmonCisJICB0bXBfYWRkZmxhZz0gOzsKIAllc2FjCiAJY2FzZSBgJENDIC1WIDI+JjEgfCBzZWQgNXFgIGluCiAJKlN1blwgQyopCQkJIyBTdW4gQyA1LjkKQEAgLTQyMTEsOCArNDM5OCw2IEBACiAJICB0bXBfc2hhcmVkZmxhZz0nLUcnIDs7CiAJKlN1blwgRiopCQkJIyBTdW4gRm9ydHJhbiA4LjMKIAkgIHRtcF9zaGFyZWRmbGFnPSctRycgOzsKLQkqKQotCSAgdG1wX3NoYXJlZGZsYWc9Jy1zaGFyZWQnIDs7CiAJZXNhYwogCV9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzLCAkMSk9JyRDQyAnIiR0bXBfc2hhcmVkZmxhZyIiJHRtcF9hZGRmbGFnIicgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAkd2wkc29uYW1lIC1vICRsaWInCiAKQEAgLTQyMjIsNiArNDQwNywyMiBAQAogCSAgICBlY2hvICJsb2NhbDogKjsgfTsiID4+ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlcn4KIAkgICAgJENDICciJHRtcF9zaGFyZWRmbGFnIiIkdG1wX2FkZGZsYWciJyAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR3bCRzb25hbWUgJHt3bH0tdmVyc2lvbi1zY3JpcHQgJHt3bH0kb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXIgLW8gJGxpYicKICAgICAgICAgZmkKKworCWNhc2UgJGNjX2Jhc2VuYW1lIGluCisJeGxmKikKKwkgICMgSUJNIFhMIEZvcnRyYW4gMTAuMSBvbiBQUEMgY2Fubm90IGNyZWF0ZSBzaGFyZWQgbGlicyBpdHNlbGYKKwkgIF9MVF9UQUdWQVIod2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMsICQxKT0nLS13aG9sZS1hcmNoaXZlJGNvbnZlbmllbmNlIC0tbm8td2hvbGUtYXJjaGl2ZScKKwkgIF9MVF9UQUdWQVIoaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYywgJDEpPQorCSAgX0xUX1RBR1ZBUihoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX2xkLCAkMSk9Jy1ycGF0aCAkbGliZGlyJworCSAgX0xUX1RBR1ZBUihhcmNoaXZlX2NtZHMsICQxKT0nJExEIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSAtbyAkbGliJworCSAgaWYgdGVzdCAieCRzdXBwb3J0c19hbm9uX3ZlcnNpb25pbmciID0geHllczsgdGhlbgorCSAgICBfTFRfVEFHVkFSKGFyY2hpdmVfZXhwc3ltX2NtZHMsICQxKT0nZWNobyAieyBnbG9iYWw6IiA+ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlcn4KKwkgICAgICBjYXQgJGV4cG9ydF9zeW1ib2xzIHwgc2VkIC1lICJzL1woLipcKS9cMTsvIiA+PiAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXJ+CisJICAgICAgZWNobyAibG9jYWw6ICo7IH07IiA+PiAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXJ+CisJICAgICAgJExEIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSAtdmVyc2lvbi1zY3JpcHQgJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyIC1vICRsaWInCisJICBmaQorCSAgOzsKKwllc2FjCiAgICAgICBlbHNlCiAgICAgICAgIF9MVF9UQUdWQVIobGRfc2hsaWJzLCAkMSk9bm8KICAgICAgIGZpCkBAIC00NDE3LDYgKzQ2MTgsNyBAQAogCWZpCiAgICAgICBmaQogCisgICAgICBfTFRfVEFHVkFSKGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYywgJDEpPScke3dsfS1iZXhwYWxsJwogICAgICAgIyBJdCBzZWVtcyB0aGF0IC1iZXhwYWxsIGRvZXMgbm90IGV4cG9ydCBzeW1ib2xzIGJlZ2lubmluZyB3aXRoCiAgICAgICAjIHVuZGVyc2NvcmUgKF8pLCBzbyBpdCBpcyBiZXR0ZXIgdG8gZ2VuZXJhdGUgYSBsaXN0IG9mIHN5bWJvbHMgdG8gZXhwb3J0LgogICAgICAgX0xUX1RBR1ZBUihhbHdheXNfZXhwb3J0X3N5bWJvbHMsICQxKT15ZXMKQEAgLTQ0NTMsMjAgKzQ2NTUsMjUgQEAKICAgICAgIDs7CiAKICAgICBhbWlnYW9zKikKLSAgICAgIGlmIHRlc3QgIiRob3N0X2NwdSIgPSBtNjhrOyB0aGVuCi0gICAgICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzLCAkMSk9JyRSTSAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIE5BTUUgJGxpYm5hbWUiID4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBMSUJSQVJZX0lEIDEiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgUkVWSVNJT04gJHJldmlzaW9uIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRBUiAkQVJfRkxBR1MgJGxpYiAkbGlib2Jqc34kUkFOTElCICRsaWJ+KGNkICRvdXRwdXRfb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCi0gICAgICAgIF9MVF9UQUdWQVIoaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYywgJDEpPSctTCRsaWJkaXInCi0gICAgICAgIF9MVF9UQUdWQVIoaGFyZGNvZGVfbWludXNfTCwgJDEpPXllcwotICAgICAgZmkKLSAgICAgICMgc2VlIGNvbW1lbnQgYWJvdXQgZGlmZmVyZW50IHNlbWFudGljcyBvbiB0aGUgR05VIGxkIHNlY3Rpb24KLSAgICAgIF9MVF9UQUdWQVIobGRfc2hsaWJzLCAkMSk9bm8KKyAgICAgIGNhc2UgJGhvc3RfY3B1IGluCisgICAgICBwb3dlcnBjKQorICAgICAgICAgICAgIyBzZWUgY29tbWVudCBhYm91dCBBbWlnYU9TNCAuc28gc3VwcG9ydAorICAgICAgICAgICAgX0xUX1RBR1ZBUihhcmNoaXZlX2NtZHMsICQxKT0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAkd2wkc29uYW1lIC1vICRsaWInCisgICAgICAgICAgICBfTFRfVEFHVkFSKGFyY2hpdmVfZXhwc3ltX2NtZHMsICQxKT0nJworICAgICAgICA7OworICAgICAgbTY4aykKKyAgICAgICAgICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzLCAkMSk9JyRSTSAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIE5BTUUgJGxpYm5hbWUiID4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBMSUJSQVJZX0lEIDEiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgUkVWSVNJT04gJHJldmlzaW9uIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRBUiAkQVJfRkxBR1MgJGxpYiAkbGlib2Jqc34kUkFOTElCICRsaWJ+KGNkICRvdXRwdXRfb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCisgICAgICAgICAgICBfTFRfVEFHVkFSKGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMsICQxKT0nLUwkbGliZGlyJworICAgICAgICAgICAgX0xUX1RBR1ZBUihoYXJkY29kZV9taW51c19MLCAkMSk9eWVzCisgICAgICAgIDs7CisgICAgICBlc2FjCiAgICAgICA7OwogCiAgICAgYnNkaVtbNDVdXSopCiAgICAgICBfTFRfVEFHVkFSKGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYywgJDEpPS1yZHluYW1pYwogICAgICAgOzsKIAotICAgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKikKKyAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgICAgICAjIFdoZW4gbm90IHVzaW5nIGdjYywgd2UgY3VycmVudGx5IGFzc3VtZSB0aGF0IHdlIGFyZSB1c2luZwogICAgICAgIyBNaWNyb3NvZnQgVmlzdWFsIEMrKy4KICAgICAgICMgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyBpcyBhY3R1YWxseSBtZWFuaW5nbGVzcywgYXMgdGhlcmUgaXMKQEAgLTQ0ODgsNjkgKzQ2OTUsNyBAQAogICAgICAgOzsKIAogICAgIGRhcndpbiogfCByaGFwc29keSopCi0gICAgICBjYXNlICRob3N0X29zIGluCi0gICAgICByaGFwc29keSogfCBkYXJ3aW4xLltbMDEyXV0pCi0JX0xUX1RBR1ZBUihhbGxvd191bmRlZmluZWRfZmxhZywgJDEpPScke3dsfS11bmRlZmluZWQgJHt3bH1zdXBwcmVzcycKLQk7OwotICAgICAgKikgIyBEYXJ3aW4gMS4zIG9uCi0JY2FzZSAke01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVC0xMC4wfSBpbgotCTEwLltbMDEyXV0pCi0JICBfTFRfVEFHVkFSKGFsbG93X3VuZGVmaW5lZF9mbGFnLCAkMSk9JyR7d2x9LWZsYXRfbmFtZXNwYWNlICR7d2x9LXVuZGVmaW5lZCAke3dsfXN1cHByZXNzJwotCSAgOzsKLQkxMC4qKQotCSAgX0xUX1RBR1ZBUihhbGxvd191bmRlZmluZWRfZmxhZywgJDEpPScke3dsfS11bmRlZmluZWQgJHt3bH1keW5hbWljX2xvb2t1cCcKLQkgIDs7Ci0JZXNhYwotCTs7Ci0gICAgICBlc2FjCi0gICAgICBfTFRfVEFHVkFSKGFyY2hpdmVfY21kc19uZWVkX2xjLCAkMSk9bm8KLSAgICAgIF9MVF9UQUdWQVIoaGFyZGNvZGVfZGlyZWN0LCAkMSk9bm8KLSAgICAgIF9MVF9UQUdWQVIoaGFyZGNvZGVfYXV0b21hdGljLCAkMSk9eWVzCi0gICAgICBfTFRfVEFHVkFSKGhhcmRjb2RlX3NobGlicGF0aF92YXIsICQxKT11bnN1cHBvcnRlZAotICAgICAgX0xUX1RBR1ZBUih3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYywgJDEpPScnCi0gICAgICBfTFRfVEFHVkFSKGxpbmtfYWxsX2RlcGxpYnMsICQxKT15ZXMKLSAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzIDsgdGhlbgotCUFDX0NBQ0hFX1ZBTChbbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZF0sCi0JW2x0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Q9bm8KLQlpZiB0ZXN0IC16ICIke0xUX01VTFRJX01PRFVMRX0iOyB0aGVuCi0JICAjIEJ5IGRlZmF1bHQgd2Ugd2lsbCBhZGQgdGhlIC1zaW5nbGVfbW9kdWxlIGZsYWcuIFlvdSBjYW4gb3ZlcnJpZGUKLQkgICMgYnkgZWl0aGVyIHNldHRpbmcgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIExUX01VTFRJX01PRFVMRQotCSAgIyBub24tZW1wdHkgYXQgY29uZmlndXJlIHRpbWUsIG9yIGJ5IGFkZGluZyAtbXVsdGktbW9kdWxlIHRvIHRoZQotCSAgIyBsaW5rIGZsYWdzLgotCSAgZWNobyAiaW50IGZvbyh2b2lkKXtyZXR1cm4gMTt9IiA+IGNvbmZ0ZXN0LmMKLQkgICRMVENDICRMVENGTEFHUyAkTERGTEFHUyAtbyBsaWJjb25mdGVzdC5keWxpYiBcCi0JICAgICAgLWR5bmFtaWNsaWIgJHt3bH0tc2luZ2xlX21vZHVsZSBjb25mdGVzdC5jCi0JICBpZiB0ZXN0IC1mIGxpYmNvbmZ0ZXN0LmR5bGliOyB0aGVuCi0JICAgICAgbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZD15ZXMKLQkgICAgICBybSBsaWJjb25mdGVzdC5keWxpYgotCSAgZmkKLQkgIHJtIGNvbmZ0ZXN0LiRhY19leHQKLQlmaV0pCi0Jb3V0cHV0X3ZlcmJvc2VfbGlua19jbWQ9ZWNobwotCWlmIHRlc3QgIlgkbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZCIgPSBYeWVzIDsgdGhlbgotCSAgX0xUX1RBR1ZBUihhcmNoaXZlX2NtZHMsICQxKT0nJENDIC1keW5hbWljbGliICRzaW5nbGVfbW9kdWxlICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lICRycGF0aC8kc29uYW1lICR2ZXJzdHJpbmcnCi0JICBfTFRfVEFHVkFSKGFyY2hpdmVfZXhwc3ltX2NtZHMsICQxKT0nc2VkICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgJHNpbmdsZV9tb2R1bGUgLWR5bmFtaWNsaWIgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgJHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZ35ubWVkaXQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCi0JZWxzZQotCSAgX0xUX1RBR1ZBUihhcmNoaXZlX2NtZHMsICQxKT0nJENDIC1keW5hbWljbGliICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lICRycGF0aC8kc29uYW1lICR2ZXJzdHJpbmcnCi0JICBfTFRfVEFHVkFSKGFyY2hpdmVfZXhwc3ltX2NtZHMsICQxKT0nc2VkICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgLWR5bmFtaWNsaWIgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgJHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZ35ubWVkaXQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCi0JZmkKLQlfTFRfVEFHVkFSKG1vZHVsZV9jbWRzLCAkMSk9JyRDQyAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAtYnVuZGxlICRsaWJvYmpzICRkZXBsaWJzJGNvbXBpbGVyX2ZsYWdzJwotCV9MVF9UQUdWQVIobW9kdWxlX2V4cHN5bV9jbWRzLCAkMSk9J3NlZCAtZSAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDICRhbGxvd191bmRlZmluZWRfZmxhZyAgLW8gJGxpYiAtYnVuZGxlICRsaWJvYmpzICRkZXBsaWJzJGNvbXBpbGVyX2ZsYWdzfm5tZWRpdCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKLSAgICAgIGVsc2UKLQljYXNlICRjY19iYXNlbmFtZSBpbgotCXhsYyopCi0JICBvdXRwdXRfdmVyYm9zZV9saW5rX2NtZD1lY2hvCi0JICBfTFRfVEFHVkFSKGFyY2hpdmVfY21kcywgJDEpPSckQ0MgLXFta3Nocm9iaiAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0taW5zdGFsbF9uYW1lICR7d2x9YCRFQ0hPICRycGF0aC8kc29uYW1lYCAkdmVyc3RyaW5nJwotCSAgX0xUX1RBR1ZBUihtb2R1bGVfY21kcywgJDEpPSckQ0MgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgLWJ1bmRsZSAkbGlib2JqcyAkZGVwbGlicyRjb21waWxlcl9mbGFncycKLQkgICMgRG9uJ3QgZml4IHRoaXMgYnkgdXNpbmcgdGhlIGxkIC1leHBvcnRlZF9zeW1ib2xzX2xpc3QgZmxhZywgaXQgZG9lc24ndCBleGlzdCBpbiBvbGRlciBkYXJ3aW4gbGRzCi0JICBfTFRfVEFHVkFSKGFyY2hpdmVfZXhwc3ltX2NtZHMsICQxKT0nc2VkICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgLXFta3Nocm9iaiAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0taW5zdGFsbF9uYW1lICR7d2x9JHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZ35ubWVkaXQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCi0JICBfTFRfVEFHVkFSKG1vZHVsZV9leHBzeW1fY21kcywgJDEpPSdzZWQgInMsXixfLCIgPCAkZXhwb3J0X3N5bWJvbHMgPiAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltfiRDQyAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgIC1vICRsaWIgLWJ1bmRsZSAkbGlib2JqcyAkZGVwbGlicyRjb21waWxlcl9mbGFnc35ubWVkaXQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCi0JICA7OwotCSopCi0JICBfTFRfVEFHVkFSKGxkX3NobGlicywgJDEpPW5vCi0JICA7OwotCWVzYWMKLSAgICAgIGZpCisgICAgICBfTFRfREFSV0lOX0xJTktFUl9GRUFUVVJFUygkMSkKICAgICAgIDs7CiAKICAgICBkZ3V4KikKQEAgLTQ2MzIsNyArNDc3Nyw3IEBACiAJICBfTFRfVEFHVkFSKGFyY2hpdmVfY21kcywgJDEpPSckQ0MgLXNoYXJlZCAke3dsfStoICR7d2x9JHNvbmFtZSAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKIAkgIDs7CiAJaWE2NCopCi0JICBfTFRfVEFHVkFSKGFyY2hpdmVfY21kcywgJDEpPSckQ0MgLXNoYXJlZCAke3dsfStoICR7d2x9JHNvbmFtZSAke3dsfStub2RlZmF1bHRycGF0aCAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKKwkgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzLCAkMSk9JyRDQyAtc2hhcmVkIC1mUElDICR7d2x9K2ggJHt3bH0kc29uYW1lICR7d2x9K25vZGVmYXVsdHJwYXRoIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogCSAgOzsKIAkqKQogCSAgX0xUX1RBR1ZBUihhcmNoaXZlX2NtZHMsICQxKT0nJENDIC1zaGFyZWQgLWZQSUMgJHt3bH0raCAke3dsfSRzb25hbWUgJHt3bH0rYiAke3dsfSRpbnN0YWxsX2xpYmRpciAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKQEAgLTQ3MTksMjUgKzQ4NjQsMjkgQEAKICAgICAgIDs7CiAKICAgICBvcGVuYnNkKikKLSAgICAgIF9MVF9UQUdWQVIoaGFyZGNvZGVfZGlyZWN0LCAkMSk9eWVzCi0gICAgICBfTFRfVEFHVkFSKGhhcmRjb2RlX3NobGlicGF0aF92YXIsICQxKT1ubwotICAgICAgX0xUX1RBR1ZBUihoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGUsICQxKT15ZXMKLSAgICAgIGlmIHRlc3QgLXogImBlY2hvIF9fRUxGX18gfCAkQ0MgLUUgLSB8ICRHUkVQIF9fRUxGX19gIiB8fCB0ZXN0ICIkaG9zdF9vcy0kaG9zdF9jcHUiID0gIm9wZW5ic2QyLjgtcG93ZXJwYyI7IHRoZW4KLQlfTFRfVEFHVkFSKGFyY2hpdmVfY21kcywgJDEpPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCi0JX0xUX1RBR1ZBUihhcmNoaXZlX2V4cHN5bV9jbWRzLCAkMSk9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1yZXRhaW4tc3ltYm9scy1maWxlLCRleHBvcnRfc3ltYm9scycKLQlfTFRfVEFHVkFSKGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMsICQxKT0nJHt3bH0tcnBhdGgsJGxpYmRpcicKLQlfTFRfVEFHVkFSKGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYywgJDEpPScke3dsfS1FJwotICAgICAgZWxzZQotICAgICAgICBjYXNlICRob3N0X29zIGluCi0Jb3BlbmJzZFtbMDFdXS4qIHwgb3BlbmJzZDIuW1swLTddXSB8IG9wZW5ic2QyLltbMC03XV0uKikKLQkgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzLCAkMSk9JyRMRCAtQnNoYXJlYWJsZSAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3MnCi0JICBfTFRfVEFHVkFSKGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMsICQxKT0nLVIkbGliZGlyJwotCSAgOzsKLQkqKQorICAgICAgaWYgdGVzdCAtZiAvdXNyL2xpYmV4ZWMvbGQuc287IHRoZW4KKwlfTFRfVEFHVkFSKGhhcmRjb2RlX2RpcmVjdCwgJDEpPXllcworCV9MVF9UQUdWQVIoaGFyZGNvZGVfc2hsaWJwYXRoX3ZhciwgJDEpPW5vCisJX0xUX1RBR1ZBUihoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGUsICQxKT15ZXMKKwlpZiB0ZXN0IC16ICJgZWNobyBfX0VMRl9fIHwgJENDIC1FIC0gfCAkR1JFUCBfX0VMRl9fYCIgfHwgdGVzdCAiJGhvc3Rfb3MtJGhvc3RfY3B1IiA9ICJvcGVuYnNkMi44LXBvd2VycGMiOyB0aGVuCiAJICBfTFRfVEFHVkFSKGFyY2hpdmVfY21kcywgJDEpPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCisJICBfTFRfVEFHVkFSKGFyY2hpdmVfZXhwc3ltX2NtZHMsICQxKT0nJENDIC1zaGFyZWQgJHBpY19mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXJldGFpbi1zeW1ib2xzLWZpbGUsJGV4cG9ydF9zeW1ib2xzJwogCSAgX0xUX1RBR1ZBUihoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjLCAkMSk9JyR7d2x9LXJwYXRoLCRsaWJkaXInCi0JICA7OwotICAgICAgICBlc2FjCisJICBfTFRfVEFHVkFSKGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYywgJDEpPScke3dsfS1FJworCWVsc2UKKwkgIGNhc2UgJGhvc3Rfb3MgaW4KKwkgICBvcGVuYnNkW1swMV1dLiogfCBvcGVuYnNkMi5bWzAtN11dIHwgb3BlbmJzZDIuW1swLTddXS4qKQorCSAgICAgX0xUX1RBR1ZBUihhcmNoaXZlX2NtZHMsICQxKT0nJExEIC1Cc2hhcmVhYmxlIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKKwkgICAgIF9MVF9UQUdWQVIoaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYywgJDEpPSctUiRsaWJkaXInCisJICAgICA7OworCSAgICopCisJICAgICBfTFRfVEFHVkFSKGFyY2hpdmVfY21kcywgJDEpPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCisJICAgICBfTFRfVEFHVkFSKGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMsICQxKT0nJHt3bH0tcnBhdGgsJGxpYmRpcicKKwkgICAgIDs7CisJICBlc2FjCisJZmkKKyAgICAgIGVsc2UKKwlfTFRfVEFHVkFSKGxkX3NobGlicywgJDEpPW5vCiAgICAgICBmaQogICAgICAgOzsKIApAQCAtNTQxMyw2ICs1NTYyLDcgQEAKICAgICAgICAgICBmaQogICAgICAgICBmaQogCisgICAgICAgIF9MVF9UQUdWQVIoZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjLCAkMSk9JyR7d2x9LWJleHBhbGwnCiAgICAgICAgICMgSXQgc2VlbXMgdGhhdCAtYmV4cGFsbCBkb2VzIG5vdCBleHBvcnQgc3ltYm9scyBiZWdpbm5pbmcgd2l0aAogICAgICAgICAjIHVuZGVyc2NvcmUgKF8pLCBzbyBpdCBpcyBiZXR0ZXIgdG8gZ2VuZXJhdGUgYSBsaXN0IG9mIHN5bWJvbHMgdG8KIAkjIGV4cG9ydC4KQEAgLTU0NzEsNyArNTYyMSw3IEBACiAgICAgICAgIGVzYWMKICAgICAgICAgOzsKIAotICAgICAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqKQorICAgICAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgICAgICAjIF9MVF9UQUdWQVIoaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYywgJDEpIGlzIGFjdHVhbGx5IG1lYW5pbmdsZXNzLAogICAgICAgICAjIGFzIHRoZXJlIGlzIG5vIHNlYXJjaCBwYXRoIGZvciBETExzLgogICAgICAgICBfTFRfVEFHVkFSKGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMsICQxKT0nLUwkbGliZGlyJwpAQCAtNTQ5NSw3MSArNTY0NSw3IEBACiAgICAgICAgIGZpCiAgICAgICAgIDs7CiAgICAgICBkYXJ3aW4qIHwgcmhhcHNvZHkqKQotCWNhc2UgJGhvc3Rfb3MgaW4KLQkgIHJoYXBzb2R5KiB8IGRhcndpbjEuW1swMTJdXSkKLQkgICAgX0xUX1RBR1ZBUihhbGxvd191bmRlZmluZWRfZmxhZywgJDEpPScke3dsfS11bmRlZmluZWQgJHt3bH1zdXBwcmVzcycKLQkgICAgOzsKLQkgICopICMgRGFyd2luIDEuMyBvbgotCSAgICBjYXNlICR7TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VULTEwLjB9IGluCi0JICAgICAgMTAuW1swMTJdXSkKLQkJX0xUX1RBR1ZBUihhbGxvd191bmRlZmluZWRfZmxhZywgJDEpPScke3dsfS1mbGF0X25hbWVzcGFjZSAke3dsfS11bmRlZmluZWQgJHt3bH1zdXBwcmVzcycKLQkJOzsKLQkgICAgICAxMC4qKQotCQlfTFRfVEFHVkFSKGFsbG93X3VuZGVmaW5lZF9mbGFnLCAkMSk9JyR7d2x9LXVuZGVmaW5lZCAke3dsfWR5bmFtaWNfbG9va3VwJwotCQk7OwotCSAgICBlc2FjCi0JICAgIDs7Ci0JZXNhYwotCV9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzX25lZWRfbGMsICQxKT1ubwotCV9MVF9UQUdWQVIoaGFyZGNvZGVfZGlyZWN0LCAkMSk9bm8KLQlfTFRfVEFHVkFSKGhhcmRjb2RlX2F1dG9tYXRpYywgJDEpPXllcwotCV9MVF9UQUdWQVIoaGFyZGNvZGVfc2hsaWJwYXRoX3ZhciwgJDEpPXVuc3VwcG9ydGVkCi0JX0xUX1RBR1ZBUih3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYywgJDEpPScnCi0JX0xUX1RBR1ZBUihsaW5rX2FsbF9kZXBsaWJzLCAkMSk9eWVzCi0KLQlpZiB0ZXN0ICIkR1hYIiA9IHllcyA7IHRoZW4KLQkgIEFDX0NBQ0hFX1ZBTChbbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZF0sCi0JICBbbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZD1ubwotCSAgaWYgdGVzdCAteiAiJHtMVF9NVUxUSV9NT0RVTEV9IjsgdGhlbgotCSAgICAjIEJ5IGRlZmF1bHQgd2Ugd2lsbCBhZGQgdGhlIC1zaW5nbGVfbW9kdWxlIGZsYWcuIFlvdSBjYW4gb3ZlcnJpZGUKLQkgICAgIyBieSBlaXRoZXIgc2V0dGluZyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgTFRfTVVMVElfTU9EVUxFCi0JICAgICMgbm9uLWVtcHR5IGF0IGNvbmZpZ3VyZSB0aW1lLCBvciBieSBhZGRpbmcgLW11bHRpLW1vZHVsZSB0byB0aGUKLQkgICAgIyBsaW5rIGZsYWdzLgotCSAgICBlY2hvICJpbnQgZm9vKHZvaWQpe3JldHVybiAxO30iID4gY29uZnRlc3QuYwotCSAgICAkTFRDQyAkTFRDRkxBR1MgJExERkxBR1MgLW8gbGliY29uZnRlc3QuZHlsaWIgXAotCQktZHluYW1pY2xpYiAke3dsfS1zaW5nbGVfbW9kdWxlIGNvbmZ0ZXN0LmMKLQkgICAgaWYgdGVzdCAtZiBsaWJjb25mdGVzdC5keWxpYjsgdGhlbgotCQlsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kPXllcwotCQlybSBsaWJjb25mdGVzdC5keWxpYgotCSAgICBmaQotCSAgICBybSBjb25mdGVzdC4kYWNfZXh0Ci0JICBmaV0pCi0JICBvdXRwdXRfdmVyYm9zZV9saW5rX2NtZD1lY2hvCi0JICBpZiB0ZXN0ICJYJGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2QiID0gWHllcyA7IHRoZW4KLQkgICBfTFRfVEFHVkFSKGFyY2hpdmVfY21kcywgJDEpPSckQ0MgLWR5bmFtaWNsaWIgJHNpbmdsZV9tb2R1bGUgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgJHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZycKLQkgICAgX0xUX1RBR1ZBUihhcmNoaXZlX2V4cHN5bV9jbWRzLCAkMSk9J3NlZCAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDIC1keW5hbWljbGliICRzaW5nbGVfbW9kdWxlICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lICRycGF0aC8kc29uYW1lICR2ZXJzdHJpbmd+bm1lZGl0IC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JwotCSAgZWxzZQotCSAgICBfTFRfVEFHVkFSKGFyY2hpdmVfY21kcywgJDEpPSckQ0MgLXIgLWtlZXBfcHJpdmF0ZV9leHRlcm5zIC1ub3N0ZGxpYiAtbyAke2xpYn0tbWFzdGVyLm8gJGxpYm9ianN+JENDIC1keW5hbWljbGliICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICR7bGlifS1tYXN0ZXIubyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSAkcnBhdGgvJHNvbmFtZSAkdmVyc3RyaW5nJwotCSAgICBfTFRfVEFHVkFSKGFyY2hpdmVfZXhwc3ltX2NtZHMsICQxKT0nc2VkICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgLXIgLWtlZXBfcHJpdmF0ZV9leHRlcm5zIC1ub3N0ZGxpYiAtbyAke2xpYn0tbWFzdGVyLm8gJGxpYm9ianN+JENDIC1keW5hbWljbGliICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICR7bGlifS1tYXN0ZXIubyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSAkcnBhdGgvJHNvbmFtZSAkdmVyc3RyaW5nfm5tZWRpdCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKLQkgIGZpCi0JICBfTFRfVEFHVkFSKG1vZHVsZV9jbWRzLCAkMSk9JyRDQyAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAtYnVuZGxlICRsaWJvYmpzICRkZXBsaWJzJGNvbXBpbGVyX2ZsYWdzJwotCSAgX0xUX1RBR1ZBUihtb2R1bGVfZXhwc3ltX2NtZHMsICQxKT0nc2VkICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgJGFsbG93X3VuZGVmaW5lZF9mbGFnICAtbyAkbGliIC1idW5kbGUgJGxpYm9ianMgJGRlcGxpYnMkY29tcGlsZXJfZmxhZ3N+bm1lZGl0IC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JwotCWVsc2UKLQkgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCi0JICAgIHhsYyopCi0JICAgICAgb3V0cHV0X3ZlcmJvc2VfbGlua19jbWQ9ZWNobwotCSAgICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzLCAkMSk9JyRDQyAtcW1rc2hyb2JqICR7d2x9LXNpbmdsZV9tb2R1bGUgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LWluc3RhbGxfbmFtZSAke3dsfWAkRUNITyAiJHJwYXRoLyRzb25hbWUiYCAkdmVyc3RyaW5nJwotCSAgICAgIF9MVF9UQUdWQVIobW9kdWxlX2NtZHMsICQxKT0nJENDICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliIC1idW5kbGUgJGxpYm9ianMgJGRlcGxpYnMkY29tcGlsZXJfZmxhZ3MnCi0JICAgICAgIyBEb24ndCBmaXggdGhpcyBieSB1c2luZyB0aGUgbGQgLWV4cG9ydGVkX3N5bWJvbHNfbGlzdCBmbGFnLAotCSAgICAgICMgaXQgZG9lc24ndCBleGlzdCBpbiBvbGRlciBkYXJ3aW4gbGRzCi0JICAgICAgX0xUX1RBR1ZBUihhcmNoaXZlX2V4cHN5bV9jbWRzLCAkMSk9J3NlZCAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDIC1xbWtzaHJvYmogJHt3bH0tc2luZ2xlX21vZHVsZSAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0taW5zdGFsbF9uYW1lICR7d2x9JHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZ35ubWVkaXQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCi0JICAgICAgX0xUX1RBR1ZBUihtb2R1bGVfZXhwc3ltX2NtZHMsICQxKT0nc2VkICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgJGFsbG93X3VuZGVmaW5lZF9mbGFnICAtbyAkbGliIC1idW5kbGUgJGxpYm9ianMgJGRlcGxpYnMkY29tcGlsZXJfZmxhZ3N+bm1lZGl0IC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JwotCSAgICAgIDs7Ci0JICAgICopCi0JICAgICAgX0xUX1RBR1ZBUihsZF9zaGxpYnMsICQxKT1ubwotCSAgICAgIDs7Ci0JICBlc2FjCi0JZmkKKyAgICAgICAgX0xUX0RBUldJTl9MSU5LRVJfRkVBVFVSRVMoJDEpCiAJOzsKIAogICAgICAgZGd1eCopCkBAIC01ODA3LDEwICs1ODkzLDEwIEBACiAJICAgIF9MVF9UQUdWQVIoZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjLCAkMSk9JyR7d2x9LS1leHBvcnQtZHluYW1pYycKIAkgICAgX0xUX1RBR1ZBUih3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYywgJDEpPScke3dsfS0td2hvbGUtYXJjaGl2ZSRjb252ZW5pZW5jZSAke3dsfS0tbm8td2hvbGUtYXJjaGl2ZScKIAkgICAgOzsKLSAgICAgICAgICBwZ0NDKikKKyAgICAgICAgICBwZ0NDKiB8IHBnY3BwKikKICAgICAgICAgICAgICMgUG9ydGxhbmQgR3JvdXAgQysrIGNvbXBpbGVyCiAJICAgIGNhc2UgYCRDQyAtVmAgaW4KLQkgICAgKnBnQ0NcIFtbMS01XV0qKQorCSAgICAqcGdDQ1wgW1sxLTVdXSogfCAqcGdjcHBcIFtbMS01XV0qKQogCSAgICAgIF9MVF9UQUdWQVIocHJlbGlua19jbWRzLCAkMSk9J3RwbGRpcj1UZW1wbGF0ZS5kaXJ+CiAJCXJtIC1yZiAkdHBsZGlyfgogCQkkQ0MgLS1wcmVsaW5rX29iamVjdHMgLS1pbnN0YW50aWF0aW9uX2RpciAkdHBsZGlyICRvYmpzICRsaWJvYmpzICRjb21waWxlX2RlcGxpYnN+CkBAIC01ODU4LDYgKzU5NDQsMTggQEAKIAkgICAgIyBkZXBlbmRlbmNpZXMuCiAJICAgIG91dHB1dF92ZXJib3NlX2xpbmtfY21kPSd0ZW1wbGlzdD1gJENDIC1zaGFyZWQgJENGTEFHUyAtdiBjb25mdGVzdC4kb2JqZXh0IDI+JjEgfCAkR1JFUCAibGQiYDsgdGVtcGxpc3Q9YCRFQ0hPICJYJHRlbXBsaXN0IiB8ICRYc2VkIC1lICJzL1woXi4qbGQuKlwpXCggLipsZCAuKiRcKS9cMS8iYDsgbGlzdD0iIjsgZm9yIHogaW4gJHRlbXBsaXN0OyBkbyBjYXNlICR6IGluIGNvbmZ0ZXN0LiRvYmpleHQpIGxpc3Q9IiRsaXN0ICR6Ijs7ICouJG9iamV4dCk7OyAqKSBsaXN0PSIkbGlzdCAkeiI7O2VzYWM7IGRvbmU7ICRFQ0hPICJYJGxpc3QiIHwgJFhzZWQnCiAJICAgIDs7CisJICB4bCopCisJICAgICMgSUJNIFhMIDguMCBvbiBQUEMsIHdpdGggR05VIGxkCisJICAgIF9MVF9UQUdWQVIoaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYywgJDEpPScke3dsfS1ycGF0aCAke3dsfSRsaWJkaXInCisJICAgIF9MVF9UQUdWQVIoZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjLCAkMSk9JyR7d2x9LS1leHBvcnQtZHluYW1pYycKKwkgICAgX0xUX1RBR1ZBUihhcmNoaXZlX2NtZHMsICQxKT0nJENDIC1xbWtzaHJvYmogJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAkd2wkc29uYW1lIC1vICRsaWInCisJICAgIGlmIHRlc3QgIngkc3VwcG9ydHNfYW5vbl92ZXJzaW9uaW5nIiA9IHh5ZXM7IHRoZW4KKwkgICAgICBfTFRfVEFHVkFSKGFyY2hpdmVfZXhwc3ltX2NtZHMsICQxKT0nZWNobyAieyBnbG9iYWw6IiA+ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlcn4KKwkJY2F0ICRleHBvcnRfc3ltYm9scyB8IHNlZCAtZSAicy9cKC4qXCkvXDE7LyIgPj4gJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyfgorCQllY2hvICJsb2NhbDogKjsgfTsiID4+ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlcn4KKwkJJENDIC1xbWtzaHJvYmogJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAkd2wkc29uYW1lICR7d2x9LXZlcnNpb24tc2NyaXB0ICR7d2x9JG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyIC1vICRsaWInCisJICAgIGZpCisJICAgIDs7CiAJICAqKQogCSAgICBjYXNlIGAkQ0MgLVYgMj4mMSB8IHNlZCA1cWAgaW4KIAkgICAgKlN1blwgQyopCkBAIC01OTMwLDE3ICs2MDI4LDIxIEBACiAJOzsKIAogICAgICAgb3BlbmJzZCopCi0JX0xUX1RBR1ZBUihoYXJkY29kZV9kaXJlY3QsICQxKT15ZXMKLQlfTFRfVEFHVkFSKGhhcmRjb2RlX3NobGlicGF0aF92YXIsICQxKT1ubwotCV9MVF9UQUdWQVIoaGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlLCAkMSk9eWVzCi0JX0xUX1RBR1ZBUihhcmNoaXZlX2NtZHMsICQxKT0nJENDIC1zaGFyZWQgJHBpY19mbGFnICRwcmVkZXBfb2JqZWN0cyAkbGlib2JqcyAkZGVwbGlicyAkcG9zdGRlcF9vYmplY3RzICRjb21waWxlcl9mbGFncyAtbyAkbGliJwotCV9MVF9UQUdWQVIoaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYywgJDEpPScke3dsfS1ycGF0aCwkbGliZGlyJwotCWlmIHRlc3QgLXogImBlY2hvIF9fRUxGX18gfCAkQ0MgLUUgLSB8IGdyZXAgX19FTEZfX2AiIHx8IHRlc3QgIiRob3N0X29zLSRob3N0X2NwdSIgPSAib3BlbmJzZDIuOC1wb3dlcnBjIjsgdGhlbgotCSAgX0xUX1RBR1ZBUihhcmNoaXZlX2V4cHN5bV9jbWRzLCAkMSk9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAkcHJlZGVwX29iamVjdHMgJGxpYm9ianMgJGRlcGxpYnMgJHBvc3RkZXBfb2JqZWN0cyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tcmV0YWluLXN5bWJvbHMtZmlsZSwkZXhwb3J0X3N5bWJvbHMgLW8gJGxpYicKLQkgIF9MVF9UQUdWQVIoZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjLCAkMSk9JyR7d2x9LUUnCi0JICBfTFRfVEFHVkFSKHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjLCAkMSk9IiR3bGFyYyInLS13aG9sZS1hcmNoaXZlJGNvbnZlbmllbmNlICciJHdsYXJjIictLW5vLXdob2xlLWFyY2hpdmUnCisJaWYgdGVzdCAtZiAvdXNyL2xpYmV4ZWMvbGQuc287IHRoZW4KKwkgIF9MVF9UQUdWQVIoaGFyZGNvZGVfZGlyZWN0LCAkMSk9eWVzCisJICBfTFRfVEFHVkFSKGhhcmRjb2RlX3NobGlicGF0aF92YXIsICQxKT1ubworCSAgX0xUX1RBR1ZBUihoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGUsICQxKT15ZXMKKwkgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzLCAkMSk9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAkcHJlZGVwX29iamVjdHMgJGxpYm9ianMgJGRlcGxpYnMgJHBvc3RkZXBfb2JqZWN0cyAkY29tcGlsZXJfZmxhZ3MgLW8gJGxpYicKKwkgIF9MVF9UQUdWQVIoaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYywgJDEpPScke3dsfS1ycGF0aCwkbGliZGlyJworCSAgaWYgdGVzdCAteiAiYGVjaG8gX19FTEZfXyB8ICRDQyAtRSAtIHwgZ3JlcCBfX0VMRl9fYCIgfHwgdGVzdCAiJGhvc3Rfb3MtJGhvc3RfY3B1IiA9ICJvcGVuYnNkMi44LXBvd2VycGMiOyB0aGVuCisJICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9leHBzeW1fY21kcywgJDEpPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgJHByZWRlcF9vYmplY3RzICRsaWJvYmpzICRkZXBsaWJzICRwb3N0ZGVwX29iamVjdHMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXJldGFpbi1zeW1ib2xzLWZpbGUsJGV4cG9ydF9zeW1ib2xzIC1vICRsaWInCisJICAgIF9MVF9UQUdWQVIoZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjLCAkMSk9JyR7d2x9LUUnCisJICAgIF9MVF9UQUdWQVIod2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMsICQxKT0iJHdsYXJjIictLXdob2xlLWFyY2hpdmUkY29udmVuaWVuY2UgJyIkd2xhcmMiJy0tbm8td2hvbGUtYXJjaGl2ZScKKwkgIGZpCisJICBvdXRwdXRfdmVyYm9zZV9saW5rX2NtZD1lY2hvCisJZWxzZQorCSAgX0xUX1RBR1ZBUihsZF9zaGxpYnMsICQxKT1ubwogCWZpCi0Jb3V0cHV0X3ZlcmJvc2VfbGlua19jbWQ9ZWNobwogCTs7CiAKICAgICAgIG9zZjMqIHwgb3NmNCogfCBvc2Y1KikKQEAgLTYzMDIsMTIgKzY0MDQsNyBAQAogICAjIHRoZSBjb25mdGVzdCBvYmplY3QgZmlsZS4KICAgcHJlX3Rlc3Rfb2JqZWN0X2RlcHNfZG9uZT1ubwogCi0gICMgVGhlIGAqJyBpbiB0aGUgY2FzZSBtYXRjaGVzIGZvciBhcmNoaXRlY3R1cmVzIHRoYXQgdXNlIGBjYXNlJyBpbgotICAjICRvdXRwdXRfdmVyYm9zZV9jbWQgY2FuIHRyaWdnZXIgZ2xvYiBleHBhbnNpb24gZHVyaW5nIHRoZSBsb29wCi0gICMgZXZhbCB3aXRob3V0IHRoaXMgc3Vic3RpdHV0aW9uLgotICBvdXRwdXRfdmVyYm9zZV9saW5rX2NtZD1gJEVDSE8gIlgkb3V0cHV0X3ZlcmJvc2VfbGlua19jbWQiIHwgJFhzZWQgLWUgIiRub19nbG9iX3N1YnN0ImAKLQotICBmb3IgcCBpbiBgZXZhbCAkb3V0cHV0X3ZlcmJvc2VfbGlua19jbWRgOyBkbworICBmb3IgcCBpbiBgZXZhbCAiJG91dHB1dF92ZXJib3NlX2xpbmtfY21kImA7IGRvCiAgICAgY2FzZSAkcCBpbgogCiAgICAgLUwqIHwgLVIqIHwgLWwqKQpAQCAtNjQ0Miw2ICs2NTM5LDEyIEBACiBjYXNlICIgJF9MVF9UQUdWQVIocG9zdGRlcHMsICQxKSAiIGluCiAqIiAtbGMgIiopIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzX25lZWRfbGMsICQxKT1ubyA7OwogZXNhYworIF9MVF9UQUdWQVIoY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzLCAkMSk9CitpZiB0ZXN0IC1uICIke19MVF9UQUdWQVIoY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoLCAkMSl9IjsgdGhlbgorIF9MVF9UQUdWQVIoY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzLCAkMSk9YGVjaG8gIiAke19MVF9UQUdWQVIoY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoLCAkMSl9IiB8ICR7U0VEfSAtZSAncyEgLUwhICFnJyAtZSAncyFeICEhJ2AKK2ZpCitfTFRfVEFHREVDTChbXSwgW2NvbXBpbGVyX2xpYl9zZWFyY2hfZGlyc10sIFsxXSwKKyAgICBbVGhlIGRpcmVjdG9yaWVzIHNlYXJjaGVkIGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBjcmVhdGluZyBhIHNoYXJlZCBsaWJyYXJ5XSkKIF9MVF9UQUdERUNMKFtdLCBbcHJlZGVwX29iamVjdHNdLCBbMV0sCiAgICAgW0RlcGVuZGVuY2llcyB0byBwbGFjZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBvYmplY3RzIGJlaW5nIGxpbmtlZCB0bwogICAgIGNyZWF0ZSBhIHNoYXJlZCBsaWJyYXJ5XSkKQEAgLTY1MzYsMTEgKzY2MzksMTIgQEAKIAogICAjIEFsbG93IENDIHRvIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJndW1lbnRzLgogICBsdF9zYXZlX0NDPSIkQ0MiCisgIGx0X3NhdmVfR0NDPSRHQ0MKICAgQ0M9JHtGNzctImY3NyJ9CiAgIGNvbXBpbGVyPSRDQwogICBfTFRfVEFHVkFSKGNvbXBpbGVyLCAkMSk9JENDCiAgIF9MVF9DQ19CQVNFTkFNRShbJGNvbXBpbGVyXSkKLQorICBHQ0M9JEc3NwogICBpZiB0ZXN0IC1uICIkY29tcGlsZXIiOyB0aGVuCiAgICAgQUNfTVNHX0NIRUNLSU5HKFtpZiBsaWJ0b29sIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXNdKQogICAgIEFDX01TR19SRVNVTFQoWyRjYW5fYnVpbGRfc2hhcmVkXSkKQEAgLTY1ODgsNiArNjY5Miw3IEBACiAgICAgX0xUX0NPTkZJRygkMSkKICAgZmkgIyB0ZXN0IC1uICIkY29tcGlsZXIiCiAKKyAgR0NDPSRsdF9zYXZlX0dDQwogICBDQz0iJGx0X3NhdmVfQ0MiCiBmaSAjIHRlc3QgIiRfbHRfZGlzYWJsZV9GNzciICE9IHllcwogCkBAIC02Njc3LDggKzY3ODIsMTEgQEAKIAogICAjIEFsbG93IENDIHRvIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJndW1lbnRzLgogICBsdF9zYXZlX0NDPSIkQ0MiCisgIGx0X3NhdmVfR0NDPSRHQ0MKICAgQ0M9JHtGQy0iZjk1In0KICAgY29tcGlsZXI9JENDCisgIEdDQz0kYWNfY3ZfZmNfY29tcGlsZXJfZ251CisKICAgX0xUX1RBR1ZBUihjb21waWxlciwgJDEpPSRDQwogICBfTFRfQ0NfQkFTRU5BTUUoWyRjb21waWxlcl0pCiAKQEAgLTY3MzAsNiArNjgzOCw3IEBACiAgICAgX0xUX0NPTkZJRygkMSkKICAgZmkgIyB0ZXN0IC1uICIkY29tcGlsZXIiCiAKKyAgR0NDPSRsdF9zYXZlX0dDQwogICBDQz0iJGx0X3NhdmVfQ0MiCiBmaSAjIHRlc3QgIiRfbHRfZGlzYWJsZV9GQyIgIT0geWVzCiAKQEAgLTY3NjgsOSArNjg3NywxMiBAQAogCiAjIEFsbG93IENDIHRvIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJndW1lbnRzLgogbHRfc2F2ZV9DQz0iJENDIgorbHRfc2F2ZV9HQ0M9JEdDQworR0NDPXllcwogQ0M9JHtHQ0otImdjaiJ9CiBjb21waWxlcj0kQ0MKIF9MVF9UQUdWQVIoY29tcGlsZXIsICQxKT0kQ0MKK19MVF9UQUdWQVIoTEQsICQxKT0iJExEIgogX0xUX0NDX0JBU0VOQU1FKFskY29tcGlsZXJdKQogCiAjIEdDSiBkaWQgbm90IGV4aXN0IGF0IHRoZSB0aW1lIEdDQyBkaWRuJ3QgaW1wbGljaXRseSBsaW5rIGxpYmMgaW4uCkBAIC02Nzg4LDEzICs2OTAwLDE0IEBACiAgIF9MVF9DT01QSUxFUl9DX08oJDEpCiAgIF9MVF9DT01QSUxFUl9GSUxFX0xPQ0tTKCQxKQogICBfTFRfTElOS0VSX1NITElCUygkMSkKLSAgX0xUX1NZU19EWU5BTUlDX0xJTktFUigkMSkKICAgX0xUX0xJTktFUl9IQVJEQ09ERV9MSUJQQVRIKCQxKQogCiAgIF9MVF9DT05GSUcoJDEpCiBmaQogCiBBQ19MQU5HX1JFU1RPUkUKKworR0NDPSRsdF9zYXZlX0dDQwogQ0M9IiRsdF9zYXZlX0NDIgogXSkjIF9MVF9MQU5HX0dDSl9DT05GSUcKIApAQCAtNjgzMCw2ICs2OTQzLDggQEAKIAogIyBBbGxvdyBDQyB0byBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3VtZW50cy4KIGx0X3NhdmVfQ0M9IiRDQyIKK2x0X3NhdmVfR0NDPSRHQ0MKK0dDQz0KIENDPSR7UkMtIndpbmRyZXMifQogY29tcGlsZXI9JENDCiBfTFRfVEFHVkFSKGNvbXBpbGVyLCAkMSk9JENDCkBAIC02ODQxLDYgKzY5NTYsNyBAQAogICBfTFRfQ09ORklHKCQxKQogZmkKIAorR0NDPSRsdF9zYXZlX0dDQwogQUNfTEFOR19SRVNUT1JFCiBDQz0iJGx0X3NhdmVfQ0MiCiBdKSMgX0xUX0xBTkdfUkNfQ09ORklHCkBAIC02ODkwLDYgKzcwMDYsMTggQEAKIF0pCiAKIAorIyBfTFRfREVDTF9PQkpEVU1QCisjIC0tLS0tLS0tLS0tLS0tCisjIElmIHdlIGRvbid0IGhhdmUgYSBuZXcgZW5vdWdoIEF1dG9jb25mIHRvIGNob29zZSB0aGUgYmVzdCBvYmpkdW1wCisjIGF2YWlsYWJsZSwgY2hvb3NlIHRoZSBvbmUgZmlyc3QgaW4gdGhlIHVzZXIncyBQQVRILgorbTRfZGVmdW4oW19MVF9ERUNMX09CSkRVTVBdLAorW0FDX0NIRUNLX1RPT0woT0JKRFVNUCwgb2JqZHVtcCwgZmFsc2UpCit0ZXN0IC16ICIkT0JKRFVNUCIgJiYgT0JKRFVNUD1vYmpkdW1wCitfTFRfREVDTChbXSwgW09CSkRVTVBdLCBbMV0sIFtBbiBvYmplY3Qgc3ltYm9sIGR1bXBlcl0pCitBQ19TVUJTVChbT0JKRFVNUF0pCitdKQorCisKICMgX0xUX0RFQ0xfU0VECiAjIC0tLS0tLS0tLS0tLQogIyBDaGVjayBmb3IgYSBmdWxseS1mdW5jdGlvbmFsIHNlZCBwcm9ncmFtLCB0aGF0IHRydW5jYXRlcwpAQCAtNjk4Myw3ICs3MTExLDkgQEAKIHhzaV9zaGVsbD1ubwogKCBfbHRfZHVtbXk9ImEvYi9jIgogICB0ZXN0ICIke19sdF9kdW1teSMjKi99LCR7X2x0X2R1bW15JS8qfSwiJHtfbHRfZHVtbXklIiRfbHRfZHVtbXkifSwgXAotICAgICAgPSBjLGEvYiwsICkgPi9kZXYvbnVsbCAyPiYxIFwKKyAgICAgID0gYyxhL2IsLCBcCisgICAgJiYgZXZhbCAndGVzdCAkKCggMSArIDEgKSkgLWVxIDIgXAorICAgICYmIHRlc3QgIiR7I19sdF9kdW1teX0iIC1lcSA1JyApID4vZGV2L251bGwgMj4mMSBcCiAgICYmIHhzaV9zaGVsbD15ZXMKIEFDX01TR19SRVNVTFQoWyR4c2lfc2hlbGxdKQogX0xUX0NPTkZJR19MSUJUT09MX0lOSVQoW3hzaV9zaGVsbD0nJHhzaV9zaGVsbCddKQpAQCAtNzAyNyw2ICs3MTU3LDcgQEAKIFtjYXNlICR4c2lfc2hlbGwgaW4KICAgeWVzKQogICAgIGNhdCA8PCBcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCisKICMgZnVuY19kaXJuYW1lIGZpbGUgYXBwZW5kIG5vbmRpcl9yZXBsYWNlbWVudAogIyBDb21wdXRlIHRoZSBkaXJuYW1lIG9mIEZJTEUuICBJZiBub25lbXB0eSwgYWRkIEFQUEVORCB0byB0aGUgcmVzdWx0LAogIyBvdGhlcndpc2Ugc2V0IHJlc3VsdCB0byBOT05ESVJfUkVQTEFDRU1FTlQuCkBAIC03MDQ0LDYgKzcxNzUsMjcgQEAKICAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9IiR7MSMjKi99IgogfQogCisjIGZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgZmlsZSBhcHBlbmQgbm9uZGlyX3JlcGxhY2VtZW50CisjIHBlcmZvcm0gZnVuY19iYXNlbmFtZSBhbmQgZnVuY19kaXJuYW1lIGluIGEgc2luZ2xlIGZ1bmN0aW9uCisjIGNhbGw6CisjICAgZGlybmFtZTogIENvbXB1dGUgdGhlIGRpcm5hbWUgb2YgRklMRS4gIElmIG5vbmVtcHR5LAorIyAgICAgICAgICAgICBhZGQgQVBQRU5EIHRvIHRoZSByZXN1bHQsIG90aGVyd2lzZSBzZXQgcmVzdWx0CisjICAgICAgICAgICAgIHRvIE5PTkRJUl9SRVBMQUNFTUVOVC4KKyMgICAgICAgICAgICAgdmFsdWUgcmV0dXJuZWQgaW4gIiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgorIyAgIGJhc2VuYW1lOiBDb21wdXRlIGZpbGVuYW1lIG9mIEZJTEUuCisjICAgICAgICAgICAgIHZhbHVlIHJldHVuZWQgaW4gIiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIKKyMgSW1wbGVtZW50YXRpb24gbXVzdCBiZSBrZXB0IHN5bmNocm9uaXplZCB3aXRoIGZ1bmNfZGlybmFtZQorIyBhbmQgZnVuY19iYXNlbmFtZS4gRm9yIGVmZmljaWVuY3ksIHdlIGRvIG5vdCBkZWxlZ2F0ZSB0bworIyB0aG9zZSBmdW5jdGlvbnMgYnV0IGluc3RlYWQgZHVwbGljYXRlIHRoZSBmdW5jdGlvbmFsaXR5IGhlcmUuCitmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lICgpCit7CisgIGNhc2UgJHsxfSBpbgorICAgICovKikgZnVuY19kaXJuYW1lX3Jlc3VsdD0iJHsxJS8qfSR7Mn0iIDs7CisgICAgKiAgKSBmdW5jX2Rpcm5hbWVfcmVzdWx0PSIkezN9IiA7OworICBlc2FjCisgIGZ1bmNfYmFzZW5hbWVfcmVzdWx0PSIkezEjIyovfSIKK30KKwogIyBmdW5jX3N0cmlwbmFtZSBwcmVmaXggc3VmZml4IG5hbWUKICMgc3RyaXAgUFJFRklYIGFuZCBTVUZGSVggb2ZmIG9mIE5BTUUuCiAjIFBSRUZJWCBhbmQgU1VGRklYIG11c3Qgbm90IGNvbnRhaW4gZ2xvYmJpbmcgb3IgcmVnZXggc3BlY2lhbApAQCAtNzA3MywxMCArNzIyNSwzMSBAQAogICAgICopICAgIGZ1bmNfbG8yb19yZXN1bHQ9JHsxfSA7OwogICBlc2FjCiB9CisKKyMgZnVuY194Zm9ybSBsaWJvYmotb3Itc291cmNlCitmdW5jX3hmb3JtICgpCit7CisgIGZ1bmNfeGZvcm1fcmVzdWx0PSR7MSUuKn0ubG8KK30KKworIyBmdW5jX2FyaXRoIGFyaXRobWV0aWMtdGVybS4uLgorZnVuY19hcml0aCAoKQoreworICBmdW5jX2FyaXRoX3Jlc3VsdD0kKCggJFsqXSApKQorfQorCisjIGZ1bmNfbGVuIHN0cmluZworIyBTVFJJTkcgbWF5IG5vdCBzdGFydCB3aXRoIGEgaHlwaGVuLgorZnVuY19sZW4gKCkKK3sKKyAgZnVuY19sZW5fcmVzdWx0PSR7IzF9Cit9CisKIF9MVF9FT0YKICAgICA7OwogICAqKSAjIEJvdXJuZSBjb21wYXRpYmxlIGZ1bmN0aW9ucy4KICAgICBjYXQgPDwgXF9MVF9FT0YgPj4gIiRjZmdmaWxlIgorCiAjIGZ1bmNfZGlybmFtZSBmaWxlIGFwcGVuZCBub25kaXJfcmVwbGFjZW1lbnQKICMgQ29tcHV0ZSB0aGUgZGlybmFtZSBvZiBGSUxFLiAgSWYgbm9uZW1wdHksIGFkZCBBUFBFTkQgdG8gdGhlIHJlc3VsdCwKICMgb3RoZXJ3aXNlIHNldCByZXN1bHQgdG8gTk9ORElSX1JFUExBQ0VNRU5ULgpAQCAtNzA5Nyw2ICs3MjcwLDEwIEBACiAgIGZ1bmNfYmFzZW5hbWVfcmVzdWx0PWAkRUNITyAiWCR7MX0iIHwgJFhzZWQgLWUgIiRiYXNlbmFtZSJgCiB9CiAKK2RubCBmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lCitkbmwgQSBwb3J0YWJsZSB2ZXJzaW9uIG9mIHRoaXMgZnVuY3Rpb24gaXMgYWxyZWFkeSBkZWZpbmVkIGluIGdlbmVyYWwubTRzaAorZG5sIHNvIHRoZXJlIGlzIG5vIG5lZWQgZm9yIGl0IGhlcmUuCisKICMgZnVuY19zdHJpcG5hbWUgcHJlZml4IHN1ZmZpeCBuYW1lCiAjIHN0cmlwIFBSRUZJWCBhbmQgU1VGRklYIG9mZiBvZiBOQU1FLgogIyBQUkVGSVggYW5kIFNVRkZJWCBtdXN0IG5vdCBjb250YWluIGdsb2JiaW5nIG9yIHJlZ2V4IHNwZWNpYWwKQEAgLTcxMjksNiArNzMwNiwyNiBAQAogewogICBmdW5jX2xvMm9fcmVzdWx0PWAkRUNITyAiWCR7MX0iIHwgJFhzZWQgLWUgIiRsbzJvImAKIH0KKworIyBmdW5jX3hmb3JtIGxpYm9iai1vci1zb3VyY2UKK2Z1bmNfeGZvcm0gKCkKK3sKKyAgZnVuY194Zm9ybV9yZXN1bHQ9YCRFQ0hPICJYJHsxfSIgfCAkWHNlZCAtZSAncy9cLltbXi5dXSokLy5sby8nYAorfQorCisjIGZ1bmNfYXJpdGggYXJpdGhtZXRpYy10ZXJtLi4uCitmdW5jX2FyaXRoICgpCit7CisgIGZ1bmNfYXJpdGhfcmVzdWx0PWBleHByICIkW0BdImAKK30KKworIyBmdW5jX2xlbiBzdHJpbmcKKyMgU1RSSU5HIG1heSBub3Qgc3RhcnQgd2l0aCBhIGh5cGhlbi4KK2Z1bmNfbGVuICgpCit7CisgIGZ1bmNfbGVuX3Jlc3VsdD1gZXhwciAiJFsxXSIgOiAiLioiIDI+L2Rldi9udWxsIHx8IGVjaG8gJG1heF9jbWRfbGVuYAorfQorCiBfTFRfRU9GCiBlc2FjCiAKQEAgLTcxNTMsNiArNzM1MCw3IEBACiB7CiAgIGV2YWwgIiRbMV09XCQkWzFdXCRbMl0iCiB9CisKIF9MVF9FT0YKICAgICA7OwogICBlc2FjCmRpZmYgLS1naXQgYS9sdGdjYy5tNCBiL2x0Z2NjLm00CmluZGV4IGZiN2I2ZWUuLjg0NGUyYmMgMTAwNjQ0Ci0tLSBhL2x0Z2NjLm00CisrKyBiL2x0Z2NjLm00CkBAIC0zMCw2ICszMCw3IEBACiBfTFRfTElOS0VSX0JPSUxFUlBMQVRFCiAKICMgQWxsb3cgQ0MgdG8gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmd1bWVudHMuCitHQ0M9eWVzCiBjb21waWxlcj0kQ0MKIF9MVF9UQUdWQVIoY29tcGlsZXIsICQxKT0kQ0MKIF9MVF9DQ19CQVNFTkFNRShbJGNvbXBpbGVyXSkKQEAgLTQ5LDcgKzUwLDYgQEAKICAgX0xUX0NPTVBJTEVSX0NfTygkMSkKICAgX0xUX0NPTVBJTEVSX0ZJTEVfTE9DS1MoJDEpCiAgIF9MVF9MSU5LRVJfU0hMSUJTKCQxKQotICBfTFRfU1lTX0RZTkFNSUNfTElOS0VSKCQxKQogICBfTFRfTElOS0VSX0hBUkRDT0RFX0xJQlBBVEgoJDEpCiAKICAgX0xUX0NPTkZJRygkMSkKZGlmZiAtLWdpdCBhL2x0bWFpbi5zaCBiL2x0bWFpbi5zaAppbmRleCA4ZWUzYWZjLi44ZGZhMGIzIDEwMDY0NAotLS0gYS9sdG1haW4uc2gKKysrIGIvbHRtYWluLnNoCkBAIC0xLDMwICsxLDMyIEBACi0jIEdlbmVyYXRlZCBmcm9tIGx0bWFpbi5tNHNoOyBkbyBub3QgZWRpdCBieSBoYW5kCisjIEdlbmVyYXRlZCBmcm9tIGx0bWFpbi5tNHNoLgogCi0jIGx0bWFpbi5zaCAoR05VIGxpYnRvb2wgMS4yNDM1IDIwMDcvMDMvMTggMTg6NDQ6NDIpIDIuMWEKKyMgbHRtYWluLnNoIChHTlUgbGlidG9vbCkgMi4yLjYKICMgV3JpdHRlbiBieSBHb3Jkb24gTWF0emlna2VpdCA8Z29yZEBnbnUuYWkubWl0LmVkdT4sIDE5OTYKIAotIyBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIyBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwogIyB3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KIAotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBHTlUgTGlidG9vbCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiAjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAjCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCisjIGlmIHlvdSBkaXN0cmlidXRlIHRoaXMgZmlsZSBhcyBwYXJ0IG9mIGEgcHJvZ3JhbSBvciBsaWJyYXJ5IHRoYXQKKyMgaXMgYnVpbHQgdXNpbmcgR05VIExpYnRvb2wsIHlvdSBtYXkgaW5jbHVkZSB0aGlzIGZpbGUgdW5kZXIgdGhlCisjIHNhbWUgZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgorIworIyBHTlUgTGlidG9vbCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKICMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogIyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAjCiAjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0jIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotIwotIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91Ci0jIGRpc3RyaWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIHRoYXQgY29udGFpbnMgYQotIyBjb25maWd1cmF0aW9uIHNjcmlwdCBnZW5lcmF0ZWQgYnkgQXV0b2NvbmYsIHlvdSBtYXkgaW5jbHVkZSBpdCB1bmRlcgotIyB0aGUgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUgcmVzdCBvZiB0aGF0IHByb2dyYW0uCisjIGFsb25nIHdpdGggR05VIExpYnRvb2w7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCBhIGNvcHkKKyMgY2FuIGJlIGRvd25sb2FkZWQgZnJvbSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwsCisjIG9yIG9idGFpbmVkIGJ5IHdyaXRpbmcgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyMgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAKICMgVXNhZ2U6ICRwcm9nbmFtZSBbT1BUSU9OXS4uLiBbTU9ERS1BUkddLi4uCiAjCkBAIC02Myw3ICs2NSw3IEBACiAjICAgICAgIGNvbXBpbGVyOgkJJExUQ0MKICMgICAgICAgY29tcGlsZXIgZmxhZ3M6CQkkTFRDRkxBR1MKICMgICAgICAgbGlua2VyOgkJJExEIChnbnU/ICR3aXRoX2dudV9sZCkKLSMgICAgICAgJHByb2duYW1lOgkJKEdOVSBsaWJ0b29sIDEuMjQzNSAyMDA3LzAzLzE4IDE4OjQ0OjQyKSAyLjFhCisjICAgICAgICRwcm9nbmFtZToJCShHTlUgbGlidG9vbCkgMi4yLjYKICMgICAgICAgYXV0b21ha2U6CQkkYXV0b21ha2VfdmVyc2lvbgogIyAgICAgICBhdXRvY29uZjoJCSRhdXRvY29uZl92ZXJzaW9uCiAjCkBAIC03MSw5ICs3Myw5IEBACiAKIFBST0dSQU09bHRtYWluLnNoCiBQQUNLQUdFPWxpYnRvb2wKLVZFUlNJT049Mi4xYQotVElNRVNUQU1QPSIgMS4yNDM1IDIwMDcvMDMvMTggMTg6NDQ6NDIiCi1wYWNrYWdlX3JldmlzaW9uPTEuMjQzNQorVkVSU0lPTj0yLjIuNgorVElNRVNUQU1QPSIiCitwYWNrYWdlX3JldmlzaW9uPTEuMzAxMgogCiAjIEJlIEJvdXJuZSBjb21wYXRpYmxlCiBpZiB0ZXN0IC1uICIke1pTSF9WRVJTSU9OK3NldH0iICYmIChlbXVsYXRlIHNoKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KQEAgLTkzLDEyICs5NSwxNiBAQAogIyBPbmx5IHNldCBMQU5HIGFuZCBMQ19BTEwgdG8gQyBpZiBhbHJlYWR5IHNldC4KICMgVGhlc2UgbXVzdCBub3QgYmUgc2V0IHVuY29uZGl0aW9uYWxseSBiZWNhdXNlIG5vdCBhbGwgc3lzdGVtcyB1bmRlcnN0YW5kCiAjIGUuZy4gTEFORz1DIChub3RhYmx5IFNDTykuCi1mb3IgbHRfdmFyIGluIExBTkcgTENfQUxMIExDX0NUWVBFIExDX0NPTExBVEUgTENfTUVTU0FHRVMKK2x0X3VzZXJfbG9jYWxlPQorbHRfc2FmZV9sb2NhbGU9Citmb3IgbHRfdmFyIGluIExBTkcgTEFOR1VBR0UgTENfQUxMIExDX0NUWVBFIExDX0NPTExBVEUgTENfTUVTU0FHRVMKIGRvCiAgIGV2YWwgImlmIHRlc3QgXCJcJHskbHRfdmFyK3NldH1cIiA9IHNldDsgdGhlbgogICAgICAgICAgIHNhdmVfJGx0X3Zhcj1cJCRsdF92YXIKICAgICAgICAgICAkbHRfdmFyPUMKIAkgIGV4cG9ydCAkbHRfdmFyCisJICBsdF91c2VyX2xvY2FsZT1cIiRsdF92YXI9XFxcJHNhdmVfXCRsdF92YXI7IFwkbHRfdXNlcl9sb2NhbGVcIgorCSAgbHRfc2FmZV9sb2NhbGU9XCIkbHRfdmFyPUM7IFwkbHRfc2FmZV9sb2NhbGVcIgogCWZpIgogZG9uZQogCkBAIC0xMTAsMTUgKzExNiwxNSBAQAogCiA6ICR7Q1A9ImNwIC1mIn0KIDogJHtFQ0hPPSJlY2hvIn0KLTogJHtFR1JFUD0iL2Jpbi9ncmVwIC1FIn0KLTogJHtGR1JFUD0iL2Jpbi9ncmVwIC1GIn0KLTogJHtHUkVQPSIvYmluL2dyZXAifQorOiAke0VHUkVQPSIvdXNyL2Jpbi9ncmVwIC1FIn0KKzogJHtGR1JFUD0iL3Vzci9iaW4vZ3JlcCAtRiJ9Cis6ICR7R1JFUD0iL3Vzci9iaW4vZ3JlcCJ9CiA6ICR7TE5fUz0ibG4gLXMifQogOiAke01BS0U9Im1ha2UifQogOiAke01LRElSPSJta2RpciJ9CiA6ICR7TVY9Im12IC1mIn0KIDogJHtSTT0icm0gLWYifQotOiAke1NFRD0iL2Jpbi9zZWQifQorOiAke1NFRD0iL29wdC9sb2NhbC9iaW4vZ3NlZCJ9CiA6ICR7U0hFTEw9IiR7Q09ORklHX1NIRUxMLS9iaW4vc2h9In0KIDogJHtYc2VkPSIkU0VEIC1lIDFzL15YLy8ifQogCkBAIC0xMzgsNiArMTQ0LDMyIEBACiBkaXJuYW1lPSJzLC9bXi9dKiQsLCIKIGJhc2VuYW1lPSJzLF4uKi8sLCIKIAorIyBmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lIGZpbGUgYXBwZW5kIG5vbmRpcl9yZXBsYWNlbWVudAorIyBwZXJmb3JtIGZ1bmNfYmFzZW5hbWUgYW5kIGZ1bmNfZGlybmFtZSBpbiBhIHNpbmdsZSBmdW5jdGlvbgorIyBjYWxsOgorIyAgIGRpcm5hbWU6ICBDb21wdXRlIHRoZSBkaXJuYW1lIG9mIEZJTEUuICBJZiBub25lbXB0eSwKKyMgICAgICAgICAgICAgYWRkIEFQUEVORCB0byB0aGUgcmVzdWx0LCBvdGhlcndpc2Ugc2V0IHJlc3VsdAorIyAgICAgICAgICAgICB0byBOT05ESVJfUkVQTEFDRU1FTlQuCisjICAgICAgICAgICAgIHZhbHVlIHJldHVybmVkIGluICIkZnVuY19kaXJuYW1lX3Jlc3VsdCIKKyMgICBiYXNlbmFtZTogQ29tcHV0ZSBmaWxlbmFtZSBvZiBGSUxFLgorIyAgICAgICAgICAgICB2YWx1ZSByZXR1bmVkIGluICIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCisjIEltcGxlbWVudGF0aW9uIG11c3QgYmUga2VwdCBzeW5jaHJvbml6ZWQgd2l0aCBmdW5jX2Rpcm5hbWUKKyMgYW5kIGZ1bmNfYmFzZW5hbWUuIEZvciBlZmZpY2llbmN5LCB3ZSBkbyBub3QgZGVsZWdhdGUgdG8KKyMgdGhvc2UgZnVuY3Rpb25zIGJ1dCBpbnN0ZWFkIGR1cGxpY2F0ZSB0aGUgZnVuY3Rpb25hbGl0eSBoZXJlLgorZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSAoKQoreworICAjIEV4dHJhY3Qgc3ViZGlyZWN0b3J5IGZyb20gdGhlIGFyZ3VtZW50LgorICBmdW5jX2Rpcm5hbWVfcmVzdWx0PWAkRUNITyAiWCR7MX0iIHwgJFhzZWQgLWUgIiRkaXJuYW1lImAKKyAgaWYgdGVzdCAiWCRmdW5jX2Rpcm5hbWVfcmVzdWx0IiA9ICJYJHsxfSI7IHRoZW4KKyAgICBmdW5jX2Rpcm5hbWVfcmVzdWx0PSIkezN9IgorICBlbHNlCisgICAgZnVuY19kaXJuYW1lX3Jlc3VsdD0iJGZ1bmNfZGlybmFtZV9yZXN1bHQkezJ9IgorICBmaQorICBmdW5jX2Jhc2VuYW1lX3Jlc3VsdD1gJEVDSE8gIlgkezF9IiB8ICRYc2VkIC1lICIkYmFzZW5hbWUiYAorfQorCisjIEdlbmVyYXRlZCBzaGVsbCBmdW5jdGlvbnMgaW5zZXJ0ZWQgaGVyZS4KKwogIyBXb3JrIGFyb3VuZCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGlzc3VlIG9uIElSSVggNi41LiBPbiBJUklYIDYuNCssIHNoCiAjIGlzIGtzaCBidXQgd2hlbiB0aGUgc2hlbGwgaXMgaW52b2tlZCBhcyAic2giIGFuZCB0aGUgY3VycmVudCB2YWx1ZSBvZgogIyB0aGUgX1hQRyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3QgZXF1YWwgdG8gMSAob25lKSwgdGhlIHNwZWNpYWwKQEAgLTE0OCwxMyArMTgwLDE3IEBACiAjIFRoZSBuYW1lIG9mIHRoaXMgcHJvZ3JhbToKICMgSW4gdGhlIHVubGlrZWx5IGV2ZW50ICRwcm9nbmFtZSBiZWdhbiB3aXRoIGEgJy0nLCBpdCB3b3VsZCBwbGF5IGhhdm9jIHdpdGgKICMgZnVuY19lY2hvIChpbWFnaW5lIHByb2duYW1lPS1uKSwgc28gd2UgcHJlcGVuZCAuLyBpbiB0aGF0IGNhc2U6Ci1wcm9nbmFtZT1gJEVDSE8gIlgkcHJvZ3BhdGgiIHwgJFhzZWQgLWUgIiRiYXNlbmFtZSIgLWUgJ3MsXi0sLi8tLCdgCitmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lICIkcHJvZ3BhdGgiCitwcm9nbmFtZT0kZnVuY19iYXNlbmFtZV9yZXN1bHQKK2Nhc2UgJHByb2duYW1lIGluCisgIC0qKSBwcm9nbmFtZT0uLyRwcm9nbmFtZSA7OworZXNhYwogCiAjIE1ha2Ugc3VyZSB3ZSBoYXZlIGFuIGFic29sdXRlIHBhdGggZm9yIHJlZXhlY3V0aW9uOgogY2FzZSAkcHJvZ3BhdGggaW4KICAgW1xcL10qfFtBLVphLXpdOlxcKikgOzsKICAgKltcXC9dKikKLSAgICAgcHJvZ2Rpcj1gJEVDSE8gIlgkcHJvZ3BhdGgiIHwgJFhzZWQgLWUgIiRkaXJuYW1lImAKKyAgICAgcHJvZ2Rpcj0kZnVuY19kaXJuYW1lX3Jlc3VsdAogICAgICBwcm9nZGlyPWBjZCAiJHByb2dkaXIiICYmIHB3ZGAKICAgICAgcHJvZ3BhdGg9IiRwcm9nZGlyLyRwcm9nbmFtZSIKICAgICAgOzsKQEAgLTIwMCwxMyArMjM2LDE0IEBACiBvcHRfaGVscD1mYWxzZQogb3B0X3F1aWV0PWZhbHNlCiBvcHRfdmVyYm9zZT1mYWxzZQorb3B0X3dhcm5pbmc9OgogCiAjIGZ1bmNfZWNobyBhcmcuLi4KICMgRWNobyBwcm9ncmFtIG5hbWUgcHJlZml4ZWQgbWVzc2FnZSwgYWxvbmcgd2l0aCB0aGUgY3VycmVudCBtb2RlCiAjIG5hbWUgaWYgaXQgaGFzIGJlZW4gc2V0IHlldC4KIGZ1bmNfZWNobyAoKQogewotICAgICRFQ0hPICIkcHJvZ25hbWUke21vZGUrOiB9JG1vZGU6ICIkezErIiRAIn0KKyAgICAkRUNITyAiJHByb2duYW1lJHttb2RlKzogfSRtb2RlOiAkKiIKIH0KIAogIyBmdW5jX3ZlcmJvc2UgYXJnLi4uCkBAIC0yMzIsNyArMjY5LDEwIEBACiAjIEVjaG8gcHJvZ3JhbSBuYW1lIHByZWZpeGVkIHdhcm5pbmcgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvci4KIGZ1bmNfd2FybmluZyAoKQogewotICAgICRFQ0hPICIkcHJvZ25hbWUke21vZGUrOiB9JG1vZGU6IHdhcm5pbmc6ICIkezErIiRAIn0gMT4mMgorICAgICRvcHRfd2FybmluZyAmJiAkRUNITyAiJHByb2duYW1lJHttb2RlKzogfSRtb2RlOiB3YXJuaW5nOiAiJHsxKyIkQCJ9IDE+JjIKKworICAgICMgYmFzaCBidWcgYWdhaW46CisgICAgOgogfQogCiAjIGZ1bmNfZmF0YWxfZXJyb3IgYXJnLi4uCkBAIC00MjMsNiArNDYzLDMyIEBACiB9CiAKIAorIyBmdW5jX3Nob3dfZXZhbF9sb2NhbGUgY21kIFtmYWlsX2V4cF0KKyMgVW5sZXNzIG9wdF9zaWxlbnQgaXMgdHJ1ZSwgdGhlbiBvdXRwdXQgQ01ELiAgVGhlbiwgaWYgb3B0X2RyeXJ1biBpcworIyBub3QgdHJ1ZSwgZXZhbHVhdGUgQ01ELiAgSWYgdGhlIGV2YWx1YXRpb24gb2YgQ01EIGZhaWxzLCBhbmQgRkFJTF9FWFAKKyMgaXMgZ2l2ZW4sIHRoZW4gZXZhbHVhdGUgaXQuICBVc2UgdGhlIHNhdmVkIGxvY2FsZSBmb3IgZXZhbHVhdGlvbi4KK2Z1bmNfc2hvd19ldmFsX2xvY2FsZSAoKQoreworICAgIG15X2NtZD0iJDEiCisgICAgbXlfZmFpbF9leHA9IiR7Mi06fSIKKworICAgICR7b3B0X3NpbGVudC1mYWxzZX0gfHwgeworICAgICAgZnVuY19xdW90ZV9mb3JfZXhwYW5kICIkbXlfY21kIgorICAgICAgZXZhbCAiZnVuY19lY2hvICRmdW5jX3F1b3RlX2Zvcl9leHBhbmRfcmVzdWx0IgorICAgIH0KKworICAgIGlmICR7b3B0X2RyeV9ydW4tZmFsc2V9OyB0aGVuIDo7IGVsc2UKKyAgICAgIGV2YWwgIiRsdF91c2VyX2xvY2FsZQorCSAgICAkbXlfY21kIgorICAgICAgbXlfc3RhdHVzPSQ/CisgICAgICBldmFsICIkbHRfc2FmZV9sb2NhbGUiCisgICAgICBpZiB0ZXN0ICIkbXlfc3RhdHVzIiAtZXEgMDsgdGhlbiA6OyBlbHNlCisJZXZhbCAiKGV4aXQgJG15X3N0YXR1cyk7ICRteV9mYWlsX2V4cCIKKyAgICAgIGZpCisgICAgZmkKK30KKworCiAKIAogCkBAIC01MTUsNyArNTgxLDcgQEAKIGZpCiAKIG1hZ2ljPSIlJSVNQUdJQyB2YXJpYWJsZSUlJSIKLQorbWFnaWNfZXhlPSIlJSVNQUdJQyBFWEUgdmFyaWFibGUlJSUiCiAKICMgR2xvYmFsIHZhcmlhYmxlcy4KICMgJG1vZGUgaXMgdW5zZXQKQEAgLTYyNiw2ICs2OTIsNzYxIEBACiAgIGVzYWMKIH0KIAorIyBQYXJzZSBvcHRpb25zIG9uY2UsIHRob3JvdWdobHkuICBUaGlzIGNvbWVzIGFzIHNvb24gYXMgcG9zc2libGUgaW4KKyMgdGhlIHNjcmlwdCB0byBtYWtlIHRoaW5ncyBsaWtlIGBsaWJ0b29sIC0tdmVyc2lvbicgaGFwcGVuIHF1aWNrbHkuCit7CisKKyAgIyBTaG9ydGhhbmQgZm9yIC0tbW9kZT1mb28sIG9ubHkgdmFsaWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50CisgIGNhc2UgJDEgaW4KKyAgY2xlYW58Y2xlYXxjbGV8Y2wpCisgICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgY2xlYW4gJHsxKyIkQCJ9OyBzaGlmdAorICAgIDs7CisgIGNvbXBpbGV8Y29tcGlsfGNvbXBpfGNvbXB8Y29tfGNvfGMpCisgICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgY29tcGlsZSAkezErIiRAIn07IHNoaWZ0CisgICAgOzsKKyAgZXhlY3V0ZXxleGVjdXR8ZXhlY3V8ZXhlY3xleGV8ZXh8ZSkKKyAgICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBleGVjdXRlICR7MSsiJEAifTsgc2hpZnQKKyAgICA7OworICBmaW5pc2h8ZmluaXN8ZmluaXxmaW58Zml8ZikKKyAgICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBmaW5pc2ggJHsxKyIkQCJ9OyBzaGlmdAorICAgIDs7CisgIGluc3RhbGx8aW5zdGFsfGluc3RhfGluc3R8aW5zfGlufGkpCisgICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgaW5zdGFsbCAkezErIiRAIn07IHNoaWZ0CisgICAgOzsKKyAgbGlua3xsaW58bGl8bCkKKyAgICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBsaW5rICR7MSsiJEAifTsgc2hpZnQKKyAgICA7OworICB1bmluc3RhbGx8dW5pbnN0YWx8dW5pbnN0YXx1bmluc3R8dW5pbnN8dW5pbnx1bml8dW58dSkKKyAgICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSB1bmluc3RhbGwgJHsxKyIkQCJ9OyBzaGlmdAorICAgIDs7CisgIGVzYWMKKworICAjIFBhcnNlIG5vbi1tb2RlIHNwZWNpZmljIGFyZ3VtZW50czoKKyAgd2hpbGUgdGVzdCAiJCMiIC1ndCAwOyBkbworICAgIG9wdD0iJDEiCisgICAgc2hpZnQKKworICAgIGNhc2UgJG9wdCBpbgorICAgICAgLS1jb25maWcpCQlmdW5jX2NvbmZpZwkJCQkJOzsKKworICAgICAgLS1kZWJ1ZykJCXByZXNlcnZlX2FyZ3M9IiRwcmVzZXJ2ZV9hcmdzICRvcHQiCisJCQlmdW5jX2VjaG8gImVuYWJsaW5nIHNoZWxsIHRyYWNlIG1vZGUiCisJCQlvcHRfZGVidWc9J3NldCAteCcKKwkJCSRvcHRfZGVidWcKKwkJCTs7CisKKyAgICAgIC1kbG9wZW4pCQl0ZXN0ICIkIyIgLWVxIDAgJiYgZnVuY19taXNzaW5nX2FyZyAiJG9wdCIgJiYgYnJlYWsKKwkJCWV4ZWN1dGVfZGxmaWxlcz0iJGV4ZWN1dGVfZGxmaWxlcyAkMSIKKwkJCXNoaWZ0CisJCQk7OworCisgICAgICAtLWRyeS1ydW4gfCAtbikJb3B0X2RyeV9ydW49OgkJCQkJOzsKKyAgICAgIC0tZmVhdHVyZXMpICAgICAgIGZ1bmNfZmVhdHVyZXMJCQkJCTs7CisgICAgICAtLWZpbmlzaCkJCW1vZGU9ImZpbmlzaCIJCQkJCTs7CisKKyAgICAgIC0tbW9kZSkJCXRlc3QgIiQjIiAtZXEgMCAmJiBmdW5jX21pc3NpbmdfYXJnICIkb3B0IiAmJiBicmVhaworCQkJY2FzZSAkMSBpbgorCQkJICAjIFZhbGlkIG1vZGUgYXJndW1lbnRzOgorCQkJICBjbGVhbikJOzsKKwkJCSAgY29tcGlsZSkJOzsKKwkJCSAgZXhlY3V0ZSkJOzsKKwkJCSAgZmluaXNoKQk7OworCQkJICBpbnN0YWxsKQk7OworCQkJICBsaW5rKQkJOzsKKwkJCSAgcmVsaW5rKQk7OworCQkJICB1bmluc3RhbGwpCTs7CisKKwkJCSAgIyBDYXRjaCBhbnl0aGluZyBlbHNlIGFzIGFuIGVycm9yCisJCQkgICopIGZ1bmNfZXJyb3IgImludmFsaWQgYXJndW1lbnQgZm9yICRvcHQiCisJCQkgICAgIGV4aXRfY21kPWV4aXQKKwkJCSAgICAgYnJlYWsKKwkJCSAgICAgOzsKKwkJICAgICAgICBlc2FjCisKKwkJCW1vZGU9IiQxIgorCQkJc2hpZnQKKwkJCTs7CisKKyAgICAgIC0tcHJlc2VydmUtZHVwLWRlcHMpCisJCQlvcHRfZHVwbGljYXRlX2RlcHM9OgkJCQk7OworCisgICAgICAtLXF1aWV0fC0tc2lsZW50KQlwcmVzZXJ2ZV9hcmdzPSIkcHJlc2VydmVfYXJncyAkb3B0IgorCQkJb3B0X3NpbGVudD06CisJCQk7OworCisgICAgICAtLXZlcmJvc2V8IC12KQlwcmVzZXJ2ZV9hcmdzPSIkcHJlc2VydmVfYXJncyAkb3B0IgorCQkJb3B0X3NpbGVudD1mYWxzZQorCQkJOzsKKworICAgICAgLS10YWcpCQl0ZXN0ICIkIyIgLWVxIDAgJiYgZnVuY19taXNzaW5nX2FyZyAiJG9wdCIgJiYgYnJlYWsKKwkJCXByZXNlcnZlX2FyZ3M9IiRwcmVzZXJ2ZV9hcmdzICRvcHQgJDEiCisJCQlmdW5jX2VuYWJsZV90YWcgIiQxIgkjIHRhZ25hbWUgaXMgc2V0IGhlcmUKKwkJCXNoaWZ0CisJCQk7OworCisgICAgICAjIFNlcGFyYXRlIG9wdGFyZ3MgdG8gbG9uZyBvcHRpb25zOgorICAgICAgLWRsb3Blbj0qfC0tbW9kZT0qfC0tdGFnPSopCisJCQlmdW5jX29wdF9zcGxpdCAiJG9wdCIKKwkJCXNldCBkdW1teSAiJGZ1bmNfb3B0X3NwbGl0X29wdCIgIiRmdW5jX29wdF9zcGxpdF9hcmciICR7MSsiJEAifQorCQkJc2hpZnQKKwkJCTs7CisKKyAgICAgIC1cP3wtaCkJCWZ1bmNfdXNhZ2UJCQkJCTs7CisgICAgICAtLWhlbHApCQlvcHRfaGVscD06CQkJCQk7OworICAgICAgLS12ZXJzaW9uKQlmdW5jX3ZlcnNpb24JCQkJCTs7CisKKyAgICAgIC0qKQkJZnVuY19mYXRhbF9oZWxwICJ1bnJlY29nbml6ZWQgb3B0aW9uIFxgJG9wdCciCTs7CisKKyAgICAgICopCQlub25vcHQ9IiRvcHQiCisJCQlicmVhaworCQkJOzsKKyAgICBlc2FjCisgIGRvbmUKKworCisgIGNhc2UgJGhvc3QgaW4KKyAgICAqY3lnd2luKiB8ICptaW5ndyogfCAqcHczMiogfCAqY2VnY2MqKQorICAgICAgIyBkb24ndCBlbGltaW5hdGUgZHVwbGljYXRpb25zIGluICRwb3N0ZGVwcyBhbmQgJHByZWRlcHMKKyAgICAgIG9wdF9kdXBsaWNhdGVfY29tcGlsZXJfZ2VuZXJhdGVkX2RlcHM9OgorICAgICAgOzsKKyAgICAqKQorICAgICAgb3B0X2R1cGxpY2F0ZV9jb21waWxlcl9nZW5lcmF0ZWRfZGVwcz0kb3B0X2R1cGxpY2F0ZV9kZXBzCisgICAgICA7OworICBlc2FjCisKKyAgIyBIYXZpbmcgd2FybmVkIGFib3V0IGFsbCBtaXMtc3BlY2lmaWVkIG9wdGlvbnMsIGJhaWwgb3V0IGlmCisgICMgYW55dGhpbmcgd2FzIHdyb25nLgorICAkZXhpdF9jbWQgJEVYSVRfRkFJTFVSRQorfQorCisjIGZ1bmNfY2hlY2tfdmVyc2lvbl9tYXRjaAorIyBFbnN1cmUgdGhhdCB3ZSBhcmUgdXNpbmcgbTQgbWFjcm9zLCBhbmQgbGlidG9vbCBzY3JpcHQgZnJvbSB0aGUgc2FtZQorIyByZWxlYXNlIG9mIGxpYnRvb2wuCitmdW5jX2NoZWNrX3ZlcnNpb25fbWF0Y2ggKCkKK3sKKyAgaWYgdGVzdCAiJHBhY2thZ2VfcmV2aXNpb24iICE9ICIkbWFjcm9fcmV2aXNpb24iOyB0aGVuCisgICAgaWYgdGVzdCAiJFZFUlNJT04iICE9ICIkbWFjcm9fdmVyc2lvbiI7IHRoZW4KKyAgICAgIGlmIHRlc3QgLXogIiRtYWNyb192ZXJzaW9uIjsgdGhlbgorICAgICAgICBjYXQgPiYyIDw8X0xUX0VPRgorJHByb2duYW1lOiBWZXJzaW9uIG1pc21hdGNoIGVycm9yLiAgVGhpcyBpcyAkUEFDS0FHRSAkVkVSU0lPTiwgYnV0IHRoZQorJHByb2duYW1lOiBkZWZpbml0aW9uIG9mIHRoaXMgTFRfSU5JVCBjb21lcyBmcm9tIGFuIG9sZGVyIHJlbGVhc2UuCiskcHJvZ25hbWU6IFlvdSBzaG91bGQgcmVjcmVhdGUgYWNsb2NhbC5tNCB3aXRoIG1hY3JvcyBmcm9tICRQQUNLQUdFICRWRVJTSU9OCiskcHJvZ25hbWU6IGFuZCBydW4gYXV0b2NvbmYgYWdhaW4uCitfTFRfRU9GCisgICAgICBlbHNlCisgICAgICAgIGNhdCA+JjIgPDxfTFRfRU9GCiskcHJvZ25hbWU6IFZlcnNpb24gbWlzbWF0Y2ggZXJyb3IuICBUaGlzIGlzICRQQUNLQUdFICRWRVJTSU9OLCBidXQgdGhlCiskcHJvZ25hbWU6IGRlZmluaXRpb24gb2YgdGhpcyBMVF9JTklUIGNvbWVzIGZyb20gJFBBQ0tBR0UgJG1hY3JvX3ZlcnNpb24uCiskcHJvZ25hbWU6IFlvdSBzaG91bGQgcmVjcmVhdGUgYWNsb2NhbC5tNCB3aXRoIG1hY3JvcyBmcm9tICRQQUNLQUdFICRWRVJTSU9OCiskcHJvZ25hbWU6IGFuZCBydW4gYXV0b2NvbmYgYWdhaW4uCitfTFRfRU9GCisgICAgICBmaQorICAgIGVsc2UKKyAgICAgIGNhdCA+JjIgPDxfTFRfRU9GCiskcHJvZ25hbWU6IFZlcnNpb24gbWlzbWF0Y2ggZXJyb3IuICBUaGlzIGlzICRQQUNLQUdFICRWRVJTSU9OLCByZXZpc2lvbiAkcGFja2FnZV9yZXZpc2lvbiwKKyRwcm9nbmFtZTogYnV0IHRoZSBkZWZpbml0aW9uIG9mIHRoaXMgTFRfSU5JVCBjb21lcyBmcm9tIHJldmlzaW9uICRtYWNyb19yZXZpc2lvbi4KKyRwcm9nbmFtZTogWW91IHNob3VsZCByZWNyZWF0ZSBhY2xvY2FsLm00IHdpdGggbWFjcm9zIGZyb20gcmV2aXNpb24gJHBhY2thZ2VfcmV2aXNpb24KKyRwcm9nbmFtZTogb2YgJFBBQ0tBR0UgJFZFUlNJT04gYW5kIHJ1biBhdXRvY29uZiBhZ2Fpbi4KK19MVF9FT0YKKyAgICBmaQorCisgICAgZXhpdCAkRVhJVF9NSVNNQVRDSAorICBmaQorfQorCisKKyMjIC0tLS0tLS0tLS0tICMjCisjIyAgICBNYWluLiAgICAjIworIyMgLS0tLS0tLS0tLS0gIyMKKworJG9wdF9oZWxwIHx8IHsKKyAgIyBTYW5pdHkgY2hlY2tzIGZpcnN0OgorICBmdW5jX2NoZWNrX3ZlcnNpb25fbWF0Y2gKKworICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAhPSB5ZXMgJiYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiAhPSB5ZXM7IHRoZW4KKyAgICBmdW5jX2ZhdGFsX2NvbmZpZ3VyYXRpb24gIm5vdCBjb25maWd1cmVkIHRvIGJ1aWxkIGFueSBraW5kIG9mIGxpYnJhcnkiCisgIGZpCisKKyAgdGVzdCAteiAiJG1vZGUiICYmIGZ1bmNfZmF0YWxfZXJyb3IgImVycm9yOiB5b3UgbXVzdCBzcGVjaWZ5IGEgTU9ERS4iCisKKworICAjIERhcndpbiBzdWNrcworICBldmFsIHN0ZF9zaHJleHQ9XCIkc2hyZXh0X2NtZHNcIgorCisKKyAgIyBPbmx5IGV4ZWN1dGUgbW9kZSBpcyBhbGxvd2VkIHRvIGhhdmUgLWRsb3BlbiBmbGFncy4KKyAgaWYgdGVzdCAtbiAiJGV4ZWN1dGVfZGxmaWxlcyIgJiYgdGVzdCAiJG1vZGUiICE9IGV4ZWN1dGU7IHRoZW4KKyAgICBmdW5jX2Vycm9yICJ1bnJlY29nbml6ZWQgb3B0aW9uIFxgLWRsb3BlbiciCisgICAgJEVDSE8gIiRoZWxwIiAxPiYyCisgICAgZXhpdCAkRVhJVF9GQUlMVVJFCisgIGZpCisKKyAgIyBDaGFuZ2UgdGhlIGhlbHAgbWVzc2FnZSB0byBhIG1vZGUtc3BlY2lmaWMgb25lLgorICBnZW5lcmljX2hlbHA9IiRoZWxwIgorICBoZWxwPSJUcnkgXGAkcHJvZ25hbWUgLS1oZWxwIC0tbW9kZT0kbW9kZScgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorfQorCisKKyMgZnVuY19sYWxpYl9wIGZpbGUKKyMgVHJ1ZSBpZmYgRklMRSBpcyBhIGxpYnRvb2wgYC5sYScgbGlicmFyeSBvciBgLmxvJyBvYmplY3QgZmlsZS4KKyMgVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGEgYmFzaWMgc2FuaXR5IGNoZWNrOyBpdCB3aWxsIGhhcmRseSBmbHVzaCBvdXQKKyMgZGV0ZXJtaW5lZCBpbXBvc3RlcnMuCitmdW5jX2xhbGliX3AgKCkKK3sKKyAgICB0ZXN0IC1mICIkMSIgJiYKKyAgICAgICRTRUQgLWUgNHEgIiQxIiAyPi9kZXYvbnVsbCBcCisgICAgICAgIHwgJEdSRVAgIl4jIEdlbmVyYXRlZCBieSAuKiRQQUNLQUdFIiA+IC9kZXYvbnVsbCAyPiYxCit9CisKKyMgZnVuY19sYWxpYl91bnNhZmVfcCBmaWxlCisjIFRydWUgaWZmIEZJTEUgaXMgYSBsaWJ0b29sIGAubGEnIGxpYnJhcnkgb3IgYC5sbycgb2JqZWN0IGZpbGUuCisjIFRoaXMgZnVuY3Rpb24gaW1wbGVtZW50cyB0aGUgc2FtZSBjaGVjayBhcyBmdW5jX2xhbGliX3Agd2l0aG91dAorIyByZXNvcnRpbmcgdG8gZXh0ZXJuYWwgcHJvZ3JhbXMuICBUbyB0aGlzIGVuZCwgaXQgcmVkaXJlY3RzIHN0ZGluIGFuZAorIyBjbG9zZXMgaXQgYWZ0ZXJ3YXJkcywgd2l0aG91dCBzYXZpbmcgdGhlIG9yaWdpbmFsIGZpbGUgZGVzY3JpcHRvci4KKyMgQXMgYSBzYWZldHkgbWVhc3VyZSwgdXNlIGl0IG9ubHkgd2hlcmUgYSBuZWdhdGl2ZSByZXN1bHQgd291bGQgYmUKKyMgZmF0YWwgYW55d2F5LiAgV29ya3MgaWYgYGZpbGUnIGRvZXMgbm90IGV4aXN0LgorZnVuY19sYWxpYl91bnNhZmVfcCAoKQoreworICAgIGxhbGliX3A9bm8KKyAgICBpZiB0ZXN0IC1mICIkMSIgJiYgdGVzdCAtciAiJDEiICYmIGV4ZWMgNTwmMCA8IiQxIjsgdGhlbgorCWZvciBsYWxpYl9wX2wgaW4gMSAyIDMgNAorCWRvCisJICAgIHJlYWQgbGFsaWJfcF9saW5lCisJICAgIGNhc2UgIiRsYWxpYl9wX2xpbmUiIGluCisJCVwjXCBHZW5lcmF0ZWRcIGJ5XCAqJFBBQ0tBR0UqICkgbGFsaWJfcD15ZXM7IGJyZWFrOzsKKwkgICAgZXNhYworCWRvbmUKKwlleGVjIDA8JjUgNTwmLQorICAgIGZpCisgICAgdGVzdCAiJGxhbGliX3AiID0geWVzCit9CisKKyMgZnVuY19sdHdyYXBwZXJfc2NyaXB0X3AgZmlsZQorIyBUcnVlIGlmZiBGSUxFIGlzIGEgbGlidG9vbCB3cmFwcGVyIHNjcmlwdAorIyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgYSBiYXNpYyBzYW5pdHkgY2hlY2s7IGl0IHdpbGwgaGFyZGx5IGZsdXNoIG91dAorIyBkZXRlcm1pbmVkIGltcG9zdGVycy4KK2Z1bmNfbHR3cmFwcGVyX3NjcmlwdF9wICgpCit7CisgICAgZnVuY19sYWxpYl9wICIkMSIKK30KKworIyBmdW5jX2x0d3JhcHBlcl9leGVjdXRhYmxlX3AgZmlsZQorIyBUcnVlIGlmZiBGSUxFIGlzIGEgbGlidG9vbCB3cmFwcGVyIGV4ZWN1dGFibGUKKyMgVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGEgYmFzaWMgc2FuaXR5IGNoZWNrOyBpdCB3aWxsIGhhcmRseSBmbHVzaCBvdXQKKyMgZGV0ZXJtaW5lZCBpbXBvc3RlcnMuCitmdW5jX2x0d3JhcHBlcl9leGVjdXRhYmxlX3AgKCkKK3sKKyAgICBmdW5jX2x0d3JhcHBlcl9leGVjX3N1ZmZpeD0KKyAgICBjYXNlICQxIGluCisgICAgKi5leGUpIDs7CisgICAgKikgZnVuY19sdHdyYXBwZXJfZXhlY19zdWZmaXg9LmV4ZSA7OworICAgIGVzYWMKKyAgICAkR1JFUCAiJG1hZ2ljX2V4ZSIgIiQxJGZ1bmNfbHR3cmFwcGVyX2V4ZWNfc3VmZml4IiA+L2Rldi9udWxsIDI+JjEKK30KKworIyBmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lIGZpbGUKKyMgQXNzdW1lcyBmaWxlIGlzIGFuIGx0d3JhcHBlcl9leGVjdXRhYmxlCisjIHVzZXMgJGZpbGUgdG8gZGV0ZXJtaW5lIHRoZSBhcHByb3ByaWF0ZSBmaWxlbmFtZSBmb3IgYQorIyB0ZW1wb3JhcnkgbHR3cmFwcGVyX3NjcmlwdC4KK2Z1bmNfbHR3cmFwcGVyX3NjcmlwdG5hbWUgKCkKK3sKKyAgICBmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lX3Jlc3VsdD0iIgorICAgIGlmIGZ1bmNfbHR3cmFwcGVyX2V4ZWN1dGFibGVfcCAiJDEiOyB0aGVuCisJZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSAiJDEiICIiICIuIgorCWZ1bmNfc3RyaXBuYW1lICcnICcuZXhlJyAiJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgorCWZ1bmNfbHR3cmFwcGVyX3NjcmlwdG5hbWVfcmVzdWx0PSIkZnVuY19kaXJuYW1lX3Jlc3VsdC8kb2JqZGlyLyR7ZnVuY19zdHJpcG5hbWVfcmVzdWx0fV9sdHNod3JhcHBlciIKKyAgICBmaQorfQorCisjIGZ1bmNfbHR3cmFwcGVyX3AgZmlsZQorIyBUcnVlIGlmZiBGSUxFIGlzIGEgbGlidG9vbCB3cmFwcGVyIHNjcmlwdCBvciB3cmFwcGVyIGV4ZWN1dGFibGUKKyMgVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGEgYmFzaWMgc2FuaXR5IGNoZWNrOyBpdCB3aWxsIGhhcmRseSBmbHVzaCBvdXQKKyMgZGV0ZXJtaW5lZCBpbXBvc3RlcnMuCitmdW5jX2x0d3JhcHBlcl9wICgpCit7CisgICAgZnVuY19sdHdyYXBwZXJfc2NyaXB0X3AgIiQxIiB8fCBmdW5jX2x0d3JhcHBlcl9leGVjdXRhYmxlX3AgIiQxIgorfQorCisKKyMgZnVuY19leGVjdXRlX2NtZHMgY29tbWFuZHMgZmFpbF9jbWQKKyMgRXhlY3V0ZSB0aWxkZS1kZWxpbWl0ZWQgQ09NTUFORFMuCisjIElmIEZBSUxfQ01EIGlzIGdpdmVuLCBldmFsIHRoYXQgdXBvbiBmYWlsdXJlLgorIyBGQUlMX0NNRCBtYXkgcmVhZC1hY2Nlc3MgdGhlIGN1cnJlbnQgY29tbWFuZCBpbiB2YXJpYWJsZSBDTUQhCitmdW5jX2V4ZWN1dGVfY21kcyAoKQoreworICAgICRvcHRfZGVidWcKKyAgICBzYXZlX2lmcz0kSUZTOyBJRlM9J34nCisgICAgZm9yIGNtZCBpbiAkMTsgZG8KKyAgICAgIElGUz0kc2F2ZV9pZnMKKyAgICAgIGV2YWwgY21kPVwiJGNtZFwiCisgICAgICBmdW5jX3Nob3dfZXZhbCAiJGNtZCIgIiR7Mi06fSIKKyAgICBkb25lCisgICAgSUZTPSRzYXZlX2lmcworfQorCisKKyMgZnVuY19zb3VyY2UgZmlsZQorIyBTb3VyY2UgRklMRSwgYWRkaW5nIGRpcmVjdG9yeSBjb21wb25lbnQgaWYgbmVjZXNzYXJ5LgorIyBOb3RlIHRoYXQgaXQgaXMgbm90IG5lY2Vzc2FyeSBvbiBjeWd3aW4vbWluZ3cgdG8gYXBwZW5kIGEgZG90IHRvCisjIEZJTEUgZXZlbiBpZiBib3RoIEZJTEUgYW5kIEZJTEUuZXhlIGV4aXN0OiBhdXRvbWF0aWMtYXBwZW5kLS5leGUKKyMgYmVoYXZpb3IgaGFwcGVucyBvbmx5IGZvciBleGVjKDMpLCBub3QgZm9yIG9wZW4oMikhICBBbHNvLCBzb3VyY2luZworIyBgRklMRS4nIGRvZXMgbm90IHdvcmsgb24gY3lnd2luIG1hbmFnZWQgbW91bnRzLgorZnVuY19zb3VyY2UgKCkKK3sKKyAgICAkb3B0X2RlYnVnCisgICAgY2FzZSAkMSBpbgorICAgICovKiB8ICpcXCopCS4gIiQxIiA7OworICAgICopCQkuICIuLyQxIiA7OworICAgIGVzYWMKK30KKworCisjIGZ1bmNfaW5mZXJfdGFnIGFyZworIyBJbmZlciB0YWdnZWQgY29uZmlndXJhdGlvbiB0byB1c2UgaWYgYW55IGFyZSBhdmFpbGFibGUgYW5kCisjIGlmIG9uZSB3YXNuJ3QgY2hvc2VuIHZpYSB0aGUgIi0tdGFnIiBjb21tYW5kIGxpbmUgb3B0aW9uLgorIyBPbmx5IGF0dGVtcHQgdGhpcyBpZiB0aGUgY29tcGlsZXIgaW4gdGhlIGJhc2UgY29tcGlsZQorIyBjb21tYW5kIGRvZXNuJ3QgbWF0Y2ggdGhlIGRlZmF1bHQgY29tcGlsZXIuCisjIGFyZyBpcyB1c3VhbGx5IG9mIHRoZSBmb3JtICdnY2MgLi4uJworZnVuY19pbmZlcl90YWcgKCkKK3sKKyAgICAkb3B0X2RlYnVnCisgICAgaWYgdGVzdCAtbiAiJGF2YWlsYWJsZV90YWdzIiAmJiB0ZXN0IC16ICIkdGFnbmFtZSI7IHRoZW4KKyAgICAgIENDX3F1b3RlZD0KKyAgICAgIGZvciBhcmcgaW4gJENDOyBkbworICAgICAgICBmdW5jX3F1b3RlX2Zvcl9ldmFsICIkYXJnIgorCUNDX3F1b3RlZD0iJENDX3F1b3RlZCAkZnVuY19xdW90ZV9mb3JfZXZhbF9yZXN1bHQiCisgICAgICBkb25lCisgICAgICBjYXNlICRAIGluCisgICAgICAjIEJsYW5rcyBpbiB0aGUgY29tbWFuZCBtYXkgaGF2ZSBiZWVuIHN0cmlwcGVkIGJ5IHRoZSBjYWxsaW5nIHNoZWxsLAorICAgICAgIyBidXQgbm90IGZyb20gdGhlIENDIGVudmlyb25tZW50IHZhcmlhYmxlIHdoZW4gY29uZmlndXJlIHdhcyBydW4uCisgICAgICAiICRDQyAiKiB8ICIkQ0MgIiogfCAiIGAkRUNITyAkQ0NgICIqIHwgImAkRUNITyAkQ0NgICIqIHwgIiAkQ0NfcXVvdGVkIiogfCAiJENDX3F1b3RlZCAiKiB8ICIgYCRFQ0hPICRDQ19xdW90ZWRgICIqIHwgImAkRUNITyAkQ0NfcXVvdGVkYCAiKikgOzsKKyAgICAgICMgQmxhbmtzIGF0IHRoZSBzdGFydCBvZiAkYmFzZV9jb21waWxlIHdpbGwgY2F1c2UgdGhpcyB0byBmYWlsCisgICAgICAjIGlmIHdlIGRvbid0IGNoZWNrIGZvciB0aGVtIGFzIHdlbGwuCisgICAgICAqKQorCWZvciB6IGluICRhdmFpbGFibGVfdGFnczsgZG8KKwkgIGlmICRHUkVQICJeIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiAkeiQiIDwgIiRwcm9ncGF0aCIgPiAvZGV2L251bGw7IHRoZW4KKwkgICAgIyBFdmFsdWF0ZSB0aGUgY29uZmlndXJhdGlvbi4KKwkgICAgZXZhbCAiYCR7U0VEfSAtbiAtZSAnL14jICMjIyBCRUdJTiBMSUJUT09MIFRBRyBDT05GSUc6ICckeickLywvXiMgIyMjIEVORCBMSUJUT09MIFRBRyBDT05GSUc6ICckeickL3AnIDwgJHByb2dwYXRoYCIKKwkgICAgQ0NfcXVvdGVkPQorCSAgICBmb3IgYXJnIGluICRDQzsgZG8KKwkgICAgICAjIERvdWJsZS1xdW90ZSBhcmdzIGNvbnRhaW5pbmcgb3RoZXIgc2hlbGwgbWV0YWNoYXJhY3RlcnMuCisJICAgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJGFyZyIKKwkgICAgICBDQ19xdW90ZWQ9IiRDQ19xdW90ZWQgJGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0IgorCSAgICBkb25lCisJICAgIGNhc2UgIiRAICIgaW4KKwkgICAgICAiICRDQyAiKiB8ICIkQ0MgIiogfCAiIGAkRUNITyAkQ0NgICIqIHwgImAkRUNITyAkQ0NgICIqIHwgIiAkQ0NfcXVvdGVkIiogfCAiJENDX3F1b3RlZCAiKiB8ICIgYCRFQ0hPICRDQ19xdW90ZWRgICIqIHwgImAkRUNITyAkQ0NfcXVvdGVkYCAiKikKKwkgICAgICAjIFRoZSBjb21waWxlciBpbiB0aGUgYmFzZSBjb21waWxlIGNvbW1hbmQgbWF0Y2hlcworCSAgICAgICMgdGhlIG9uZSBpbiB0aGUgdGFnZ2VkIGNvbmZpZ3VyYXRpb24uCisJICAgICAgIyBBc3N1bWUgdGhpcyBpcyB0aGUgdGFnZ2VkIGNvbmZpZ3VyYXRpb24gd2Ugd2FudC4KKwkgICAgICB0YWduYW1lPSR6CisJICAgICAgYnJlYWsKKwkgICAgICA7OworCSAgICBlc2FjCisJICBmaQorCWRvbmUKKwkjIElmICR0YWduYW1lIHN0aWxsIGlzbid0IHNldCwgdGhlbiBubyB0YWdnZWQgY29uZmlndXJhdGlvbgorCSMgd2FzIGZvdW5kIGFuZCBsZXQgdGhlIHVzZXIga25vdyB0aGF0IHRoZSAiLS10YWciIGNvbW1hbmQKKwkjIGxpbmUgb3B0aW9uIG11c3QgYmUgdXNlZC4KKwlpZiB0ZXN0IC16ICIkdGFnbmFtZSI7IHRoZW4KKwkgIGZ1bmNfZWNobyAidW5hYmxlIHRvIGluZmVyIHRhZ2dlZCBjb25maWd1cmF0aW9uIgorCSAgZnVuY19mYXRhbF9lcnJvciAic3BlY2lmeSBhIHRhZyB3aXRoIFxgLS10YWcnIgorIwllbHNlCisjCSAgZnVuY192ZXJib3NlICJ1c2luZyAkdGFnbmFtZSB0YWdnZWQgY29uZmlndXJhdGlvbiIKKwlmaQorCTs7CisgICAgICBlc2FjCisgICAgZmkKK30KKworCisKKyMgZnVuY193cml0ZV9saWJ0b29sX29iamVjdCBvdXRwdXRfbmFtZSBwaWNfbmFtZSBub25waWNfbmFtZQorIyBDcmVhdGUgYSBsaWJ0b29sIG9iamVjdCBmaWxlIChhbmFsb2dvdXMgdG8gYSAiLmxhIiBmaWxlKSwKKyMgYnV0IGRvbid0IGNyZWF0ZSBpdCBpZiB3ZSdyZSBkb2luZyBhIGRyeSBydW4uCitmdW5jX3dyaXRlX2xpYnRvb2xfb2JqZWN0ICgpCit7CisgICAgd3JpdGVfbGlib2JqPSR7MX0KKyAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHllczsgdGhlbgorICAgICAgd3JpdGVfbG9iaj1cJyR7Mn1cJworICAgIGVsc2UKKyAgICAgIHdyaXRlX2xvYmo9bm9uZQorICAgIGZpCisKKyAgICBpZiB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0geWVzOyB0aGVuCisgICAgICB3cml0ZV9vbGRvYmo9XCckezN9XCcKKyAgICBlbHNlCisgICAgICB3cml0ZV9vbGRvYmo9bm9uZQorICAgIGZpCisKKyAgICAkb3B0X2RyeV9ydW4gfHwgeworICAgICAgY2F0ID4ke3dyaXRlX2xpYm9ian1UIDw8RU9GCisjICR3cml0ZV9saWJvYmogLSBhIGxpYnRvb2wgb2JqZWN0IGZpbGUKKyMgR2VuZXJhdGVkIGJ5ICRQUk9HUkFNIChHTlUgJFBBQ0tBR0UkVElNRVNUQU1QKSAkVkVSU0lPTgorIworIyBQbGVhc2UgRE8gTk9UIGRlbGV0ZSB0aGlzIGZpbGUhCisjIEl0IGlzIG5lY2Vzc2FyeSBmb3IgbGlua2luZyB0aGUgbGlicmFyeS4KKworIyBOYW1lIG9mIHRoZSBQSUMgb2JqZWN0LgorcGljX29iamVjdD0kd3JpdGVfbG9iagorCisjIE5hbWUgb2YgdGhlIG5vbi1QSUMgb2JqZWN0Citub25fcGljX29iamVjdD0kd3JpdGVfb2xkb2JqCisKK0VPRgorICAgICAgJE1WICIke3dyaXRlX2xpYm9ian1UIiAiJHt3cml0ZV9saWJvYmp9IgorICAgIH0KK30KKworIyBmdW5jX21vZGVfY29tcGlsZSBhcmcuLi4KK2Z1bmNfbW9kZV9jb21waWxlICgpCit7CisgICAgJG9wdF9kZWJ1ZworICAgICMgR2V0IHRoZSBjb21waWxhdGlvbiBjb21tYW5kIGFuZCB0aGUgc291cmNlIGZpbGUuCisgICAgYmFzZV9jb21waWxlPQorICAgIHNyY2ZpbGU9IiRub25vcHQiICAjICBhbHdheXMga2VlcCBhIG5vbi1lbXB0eSB2YWx1ZSBpbiAic3JjZmlsZSIKKyAgICBzdXBwcmVzc19vcHQ9eWVzCisgICAgc3VwcHJlc3Nfb3V0cHV0PQorICAgIGFyZ19tb2RlPW5vcm1hbAorICAgIGxpYm9iaj0KKyAgICBsYXRlcj0KKyAgICBwaWVfZmxhZz0KKworICAgIGZvciBhcmcKKyAgICBkbworICAgICAgY2FzZSAkYXJnX21vZGUgaW4KKyAgICAgIGFyZyAgKQorCSMgZG8gbm90ICJjb250aW51ZSIuICBJbnN0ZWFkLCBhZGQgdGhpcyB0byBiYXNlX2NvbXBpbGUKKwlsYXN0YXJnPSIkYXJnIgorCWFyZ19tb2RlPW5vcm1hbAorCTs7CisKKyAgICAgIHRhcmdldCApCisJbGlib2JqPSIkYXJnIgorCWFyZ19tb2RlPW5vcm1hbAorCWNvbnRpbnVlCisJOzsKKworICAgICAgbm9ybWFsICkKKwkjIEFjY2VwdCBhbnkgY29tbWFuZC1saW5lIG9wdGlvbnMuCisJY2FzZSAkYXJnIGluCisJLW8pCisJICB0ZXN0IC1uICIkbGlib2JqIiAmJiBcCisJICAgIGZ1bmNfZmF0YWxfZXJyb3IgInlvdSBjYW5ub3Qgc3BlY2lmeSBcYC1vJyBtb3JlIHRoYW4gb25jZSIKKwkgIGFyZ19tb2RlPXRhcmdldAorCSAgY29udGludWUKKwkgIDs7CisKKwktcGllIHwgLWZwaWUgfCAtZlBJRSkKKyAgICAgICAgICBwaWVfZmxhZz0iJHBpZV9mbGFnICRhcmciCisJICBjb250aW51ZQorCSAgOzsKKworCS1zaGFyZWQgfCAtc3RhdGljIHwgLXByZWZlci1waWMgfCAtcHJlZmVyLW5vbi1waWMpCisJICBsYXRlcj0iJGxhdGVyICRhcmciCisJICBjb250aW51ZQorCSAgOzsKKworCS1uby1zdXBwcmVzcykKKwkgIHN1cHByZXNzX29wdD1ubworCSAgY29udGludWUKKwkgIDs7CisKKwktWGNvbXBpbGVyKQorCSAgYXJnX21vZGU9YXJnICAjICB0aGUgbmV4dCBvbmUgZ29lcyBpbnRvIHRoZSAiYmFzZV9jb21waWxlIiBhcmcgbGlzdAorCSAgY29udGludWUgICAgICAjICBUaGUgY3VycmVudCAic3JjZmlsZSIgd2lsbCBlaXRoZXIgYmUgcmV0YWluZWQgb3IKKwkgIDs7ICAgICAgICAgICAgIyAgcmVwbGFjZWQgbGF0ZXIuICBJIHdvdWxkIGd1ZXNzIHRoYXQgd291bGQgYmUgYSBidWcuCisKKwktV2MsKikKKwkgIGZ1bmNfc3RyaXBuYW1lICctV2MsJyAnJyAiJGFyZyIKKwkgIGFyZ3M9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAorCSAgbGFzdGFyZz0KKwkgIHNhdmVfaWZzPSIkSUZTIjsgSUZTPScsJworCSAgZm9yIGFyZyBpbiAkYXJnczsgZG8KKwkgICAgSUZTPSIkc2F2ZV9pZnMiCisJICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWwgIiRhcmciCisJICAgIGxhc3Rhcmc9IiRsYXN0YXJnICRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKKwkgIGRvbmUKKwkgIElGUz0iJHNhdmVfaWZzIgorCSAgZnVuY19zdHJpcG5hbWUgJyAnICcnICIkbGFzdGFyZyIKKwkgIGxhc3Rhcmc9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAorCisJICAjIEFkZCB0aGUgYXJndW1lbnRzIHRvIGJhc2VfY29tcGlsZS4KKwkgIGJhc2VfY29tcGlsZT0iJGJhc2VfY29tcGlsZSAkbGFzdGFyZyIKKwkgIGNvbnRpbnVlCisJICA7OworCisJKikKKwkgICMgQWNjZXB0IHRoZSBjdXJyZW50IGFyZ3VtZW50IGFzIHRoZSBzb3VyY2UgZmlsZS4KKwkgICMgVGhlIHByZXZpb3VzICJzcmNmaWxlIiBiZWNvbWVzIHRoZSBjdXJyZW50IGFyZ3VtZW50LgorCSAgIworCSAgbGFzdGFyZz0iJHNyY2ZpbGUiCisJICBzcmNmaWxlPSIkYXJnIgorCSAgOzsKKwllc2FjICAjICBjYXNlICRhcmcKKwk7OworICAgICAgZXNhYyAgICAjICBjYXNlICRhcmdfbW9kZQorCisgICAgICAjIEFlc3RoZXRpY2FsbHkgcXVvdGUgdGhlIHByZXZpb3VzIGFyZ3VtZW50LgorICAgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJGxhc3RhcmciCisgICAgICBiYXNlX2NvbXBpbGU9IiRiYXNlX2NvbXBpbGUgJGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0IgorICAgIGRvbmUgIyBmb3IgYXJnCisKKyAgICBjYXNlICRhcmdfbW9kZSBpbgorICAgIGFyZykKKyAgICAgIGZ1bmNfZmF0YWxfZXJyb3IgInlvdSBtdXN0IHNwZWNpZnkgYW4gYXJndW1lbnQgZm9yIC1YY29tcGlsZSIKKyAgICAgIDs7CisgICAgdGFyZ2V0KQorICAgICAgZnVuY19mYXRhbF9lcnJvciAieW91IG11c3Qgc3BlY2lmeSBhIHRhcmdldCB3aXRoIFxgLW8nIgorICAgICAgOzsKKyAgICAqKQorICAgICAgIyBHZXQgdGhlIG5hbWUgb2YgdGhlIGxpYnJhcnkgb2JqZWN0LgorICAgICAgdGVzdCAteiAiJGxpYm9iaiIgJiYgeworCWZ1bmNfYmFzZW5hbWUgIiRzcmNmaWxlIgorCWxpYm9iaj0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgorICAgICAgfQorICAgICAgOzsKKyAgICBlc2FjCisKKyAgICAjIFJlY29nbml6ZSBzZXZlcmFsIGRpZmZlcmVudCBmaWxlIHN1ZmZpeGVzLgorICAgICMgSWYgdGhlIHVzZXIgc3BlY2lmaWVzIC1vIGZpbGUubywgaXQgaXMgcmVwbGFjZWQgd2l0aCBmaWxlLmxvCisgICAgY2FzZSAkbGlib2JqIGluCisgICAgKi5bY0NGU2lmbXNvXSB8IFwKKyAgICAqLmFkYSB8ICouYWRiIHwgKi5hZHMgfCAqLmFzbSB8IFwKKyAgICAqLmMrKyB8ICouY2MgfCAqLmlpIHwgKi5jbGFzcyB8ICouY3BwIHwgKi5jeHggfCBcCisgICAgKi5bZkZdWzA5XT8gfCAqLmZvciB8ICouamF2YSB8ICoub2JqIHwgKi5zeCkKKyAgICAgIGZ1bmNfeGZvcm0gIiRsaWJvYmoiCisgICAgICBsaWJvYmo9JGZ1bmNfeGZvcm1fcmVzdWx0CisgICAgICA7OworICAgIGVzYWMKKworICAgIGNhc2UgJGxpYm9iaiBpbgorICAgICoubG8pIGZ1bmNfbG8ybyAiJGxpYm9iaiI7IG9iaj0kZnVuY19sbzJvX3Jlc3VsdCA7OworICAgICopCisgICAgICBmdW5jX2ZhdGFsX2Vycm9yICJjYW5ub3QgZGV0ZXJtaW5lIG5hbWUgb2YgbGlicmFyeSBvYmplY3QgZnJvbSBcYCRsaWJvYmonIgorICAgICAgOzsKKyAgICBlc2FjCisKKyAgICBmdW5jX2luZmVyX3RhZyAkYmFzZV9jb21waWxlCisKKyAgICBmb3IgYXJnIGluICRsYXRlcjsgZG8KKyAgICAgIGNhc2UgJGFyZyBpbgorICAgICAgLXNoYXJlZCkKKwl0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAhPSB5ZXMgJiYgXAorCSAgZnVuY19mYXRhbF9jb25maWd1cmF0aW9uICJjYW4gbm90IGJ1aWxkIGEgc2hhcmVkIGxpYnJhcnkiCisJYnVpbGRfb2xkX2xpYnM9bm8KKwljb250aW51ZQorCTs7CisKKyAgICAgIC1zdGF0aWMpCisJYnVpbGRfbGlidG9vbF9saWJzPW5vCisJYnVpbGRfb2xkX2xpYnM9eWVzCisJY29udGludWUKKwk7OworCisgICAgICAtcHJlZmVyLXBpYykKKwlwaWNfbW9kZT15ZXMKKwljb250aW51ZQorCTs7CisKKyAgICAgIC1wcmVmZXItbm9uLXBpYykKKwlwaWNfbW9kZT1ubworCWNvbnRpbnVlCisJOzsKKyAgICAgIGVzYWMKKyAgICBkb25lCisKKyAgICBmdW5jX3F1b3RlX2Zvcl9ldmFsICIkbGlib2JqIgorICAgIHRlc3QgIlgkbGlib2JqIiAhPSAiWCRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIgXAorICAgICAgJiYgJEVDSE8gIlgkbGlib2JqIiB8ICRHUkVQICdbXX4jXip7fTs8Pj8iJyInIicJICYoKXxgJFtdJyBcCisgICAgICAmJiBmdW5jX3dhcm5pbmcgImxpYm9iaiBuYW1lIFxgJGxpYm9iaicgbWF5IG5vdCBjb250YWluIHNoZWxsIHNwZWNpYWwgY2hhcmFjdGVycy4iCisgICAgZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSAiJG9iaiIgIi8iICIiCisgICAgb2JqbmFtZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgorICAgIHhkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgorICAgIGxvYmo9JHt4ZGlyfSRvYmpkaXIvJG9iam5hbWUKKworICAgIHRlc3QgLXogIiRiYXNlX2NvbXBpbGUiICYmIFwKKyAgICAgIGZ1bmNfZmF0YWxfaGVscCAieW91IG11c3Qgc3BlY2lmeSBhIGNvbXBpbGF0aW9uIGNvbW1hbmQiCisKKyAgICAjIERlbGV0ZSBhbnkgbGVmdG92ZXIgbGlicmFyeSBvYmplY3RzLgorICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXM7IHRoZW4KKyAgICAgIHJlbW92ZWxpc3Q9IiRvYmogJGxvYmogJGxpYm9iaiAke2xpYm9ian1UIgorICAgIGVsc2UKKyAgICAgIHJlbW92ZWxpc3Q9IiRsb2JqICRsaWJvYmogJHtsaWJvYmp9VCIKKyAgICBmaQorCisgICAgIyBPbiBDeWd3aW4gdGhlcmUncyBubyAicmVhbCIgUElDIGZsYWcgc28gd2UgbXVzdCBidWlsZCBib3RoIG9iamVjdCB0eXBlcworICAgIGNhc2UgJGhvc3Rfb3MgaW4KKyAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBvczIqIHwgY2VnY2MqKQorICAgICAgcGljX21vZGU9ZGVmYXVsdAorICAgICAgOzsKKyAgICBlc2FjCisgICAgaWYgdGVzdCAiJHBpY19tb2RlIiA9IG5vICYmIHRlc3QgIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgIT0gcGFzc19hbGw7IHRoZW4KKyAgICAgICMgbm9uLVBJQyBjb2RlIGluIHNoYXJlZCBsaWJyYXJpZXMgaXMgbm90IHN1cHBvcnRlZAorICAgICAgcGljX21vZGU9ZGVmYXVsdAorICAgIGZpCisKKyAgICAjIENhbGN1bGF0ZSB0aGUgZmlsZW5hbWUgb2YgdGhlIG91dHB1dCBvYmplY3QgaWYgY29tcGlsZXIgZG9lcworICAgICMgbm90IHN1cHBvcnQgLW8gd2l0aCAtYworICAgIGlmIHRlc3QgIiRjb21waWxlcl9jX28iID0gbm87IHRoZW4KKyAgICAgIG91dHB1dF9vYmo9YCRFQ0hPICJYJHNyY2ZpbGUiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJyAtZSAncyVcLlteLl0qJCUlJ2AuJHtvYmpleHR9CisgICAgICBsb2NrZmlsZT0iJG91dHB1dF9vYmoubG9jayIKKyAgICBlbHNlCisgICAgICBvdXRwdXRfb2JqPQorICAgICAgbmVlZF9sb2Nrcz1ubworICAgICAgbG9ja2ZpbGU9CisgICAgZmkKKworICAgICMgTG9jayB0aGlzIGNyaXRpY2FsIHNlY3Rpb24gaWYgaXQgaXMgbmVlZGVkCisgICAgIyBXZSB1c2UgdGhpcyBzY3JpcHQgZmlsZSB0byBtYWtlIHRoZSBsaW5rLCBpdCBhdm9pZHMgY3JlYXRpbmcgYSBuZXcgZmlsZQorICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tzIiA9IHllczsgdGhlbgorICAgICAgdW50aWwgJG9wdF9kcnlfcnVuIHx8IGxuICIkcHJvZ3BhdGgiICIkbG9ja2ZpbGUiIDI+L2Rldi9udWxsOyBkbworCWZ1bmNfZWNobyAiV2FpdGluZyBmb3IgJGxvY2tmaWxlIHRvIGJlIHJlbW92ZWQiCisJc2xlZXAgMgorICAgICAgZG9uZQorICAgIGVsaWYgdGVzdCAiJG5lZWRfbG9ja3MiID0gd2FybjsgdGhlbgorICAgICAgaWYgdGVzdCAtZiAiJGxvY2tmaWxlIjsgdGhlbgorCSRFQ0hPICJcCisqKiogRVJST1IsICRsb2NrZmlsZSBleGlzdHMgYW5kIGNvbnRhaW5zOgorYGNhdCAkbG9ja2ZpbGUgMj4vZGV2L251bGxgCisKK1RoaXMgaW5kaWNhdGVzIHRoYXQgYW5vdGhlciBwcm9jZXNzIGlzIHRyeWluZyB0byB1c2UgdGhlIHNhbWUKK3RlbXBvcmFyeSBvYmplY3QgZmlsZSwgYW5kIGxpYnRvb2wgY291bGQgbm90IHdvcmsgYXJvdW5kIGl0IGJlY2F1c2UKK3lvdXIgY29tcGlsZXIgZG9lcyBub3Qgc3VwcG9ydCBcYC1jJyBhbmQgXGAtbycgdG9nZXRoZXIuICBJZiB5b3UKK3JlcGVhdCB0aGlzIGNvbXBpbGF0aW9uLCBpdCBtYXkgc3VjY2VlZCwgYnkgY2hhbmNlLCBidXQgeW91IGhhZCBiZXR0ZXIKK2F2b2lkIHBhcmFsbGVsIGJ1aWxkcyAobWFrZSAtaikgaW4gdGhpcyBwbGF0Zm9ybSwgb3IgZ2V0IGEgYmV0dGVyCitjb21waWxlci4iCisKKwkkb3B0X2RyeV9ydW4gfHwgJFJNICRyZW1vdmVsaXN0CisJZXhpdCAkRVhJVF9GQUlMVVJFCisgICAgICBmaQorICAgICAgcmVtb3ZlbGlzdD0iJHJlbW92ZWxpc3QgJG91dHB1dF9vYmoiCisgICAgICAkRUNITyAiJHNyY2ZpbGUiID4gIiRsb2NrZmlsZSIKKyAgICBmaQorCisgICAgJG9wdF9kcnlfcnVuIHx8ICRSTSAkcmVtb3ZlbGlzdAorICAgIHJlbW92ZWxpc3Q9IiRyZW1vdmVsaXN0ICRsb2NrZmlsZSIKKyAgICB0cmFwICckb3B0X2RyeV9ydW4gfHwgJFJNICRyZW1vdmVsaXN0OyBleGl0ICRFWElUX0ZBSUxVUkUnIDEgMiAxNQorCisgICAgaWYgdGVzdCAtbiAiJGZpeF9zcmNmaWxlX3BhdGgiOyB0aGVuCisgICAgICBldmFsIHNyY2ZpbGU9XCIkZml4X3NyY2ZpbGVfcGF0aFwiCisgICAgZmkKKyAgICBmdW5jX3F1b3RlX2Zvcl9ldmFsICIkc3JjZmlsZSIKKyAgICBxc3JjZmlsZT0kZnVuY19xdW90ZV9mb3JfZXZhbF9yZXN1bHQKKworICAgICMgT25seSBidWlsZCBhIFBJQyBvYmplY3QgaWYgd2UgYXJlIGJ1aWxkaW5nIGxpYnRvb2wgbGlicmFyaWVzLgorICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0geWVzOyB0aGVuCisgICAgICAjIFdpdGhvdXQgdGhpcyBhc3NpZ25tZW50LCBiYXNlX2NvbXBpbGUgZ2V0cyBlbXB0aWVkLgorICAgICAgZmJzZF9oaWRlb3VzX3NoX2J1Zz0kYmFzZV9jb21waWxlCisKKyAgICAgIGlmIHRlc3QgIiRwaWNfbW9kZSIgIT0gbm87IHRoZW4KKwljb21tYW5kPSIkYmFzZV9jb21waWxlICRxc3JjZmlsZSAkcGljX2ZsYWciCisgICAgICBlbHNlCisJIyBEb24ndCBidWlsZCBQSUMgY29kZQorCWNvbW1hbmQ9IiRiYXNlX2NvbXBpbGUgJHFzcmNmaWxlIgorICAgICAgZmkKKworICAgICAgZnVuY19ta2Rpcl9wICIkeGRpciRvYmpkaXIiCisKKyAgICAgIGlmIHRlc3QgLXogIiRvdXRwdXRfb2JqIjsgdGhlbgorCSMgUGxhY2UgUElDIG9iamVjdHMgaW4gJG9iamRpcgorCWNvbW1hbmQ9IiRjb21tYW5kIC1vICRsb2JqIgorICAgICAgZmkKKworICAgICAgZnVuY19zaG93X2V2YWxfbG9jYWxlICIkY29tbWFuZCIJXAorICAgICAgICAgICd0ZXN0IC1uICIkb3V0cHV0X29iaiIgJiYgJFJNICRyZW1vdmVsaXN0OyBleGl0ICRFWElUX0ZBSUxVUkUnCisKKyAgICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tzIiA9IHdhcm4gJiYKKwkgdGVzdCAiWGBjYXQgJGxvY2tmaWxlIDI+L2Rldi9udWxsYCIgIT0gIlgkc3JjZmlsZSI7IHRoZW4KKwkkRUNITyAiXAorKioqIEVSUk9SLCAkbG9ja2ZpbGUgY29udGFpbnM6CitgY2F0ICRsb2NrZmlsZSAyPi9kZXYvbnVsbGAKKworYnV0IGl0IHNob3VsZCBjb250YWluOgorJHNyY2ZpbGUKKworVGhpcyBpbmRpY2F0ZXMgdGhhdCBhbm90aGVyIHByb2Nlc3MgaXMgdHJ5aW5nIHRvIHVzZSB0aGUgc2FtZQordGVtcG9yYXJ5IG9iamVjdCBmaWxlLCBhbmQgbGlidG9vbCBjb3VsZCBub3Qgd29yayBhcm91bmQgaXQgYmVjYXVzZQoreW91ciBjb21waWxlciBkb2VzIG5vdCBzdXBwb3J0IFxgLWMnIGFuZCBcYC1vJyB0b2dldGhlci4gIElmIHlvdQorcmVwZWF0IHRoaXMgY29tcGlsYXRpb24sIGl0IG1heSBzdWNjZWVkLCBieSBjaGFuY2UsIGJ1dCB5b3UgaGFkIGJldHRlcgorYXZvaWQgcGFyYWxsZWwgYnVpbGRzIChtYWtlIC1qKSBpbiB0aGlzIHBsYXRmb3JtLCBvciBnZXQgYSBiZXR0ZXIKK2NvbXBpbGVyLiIKKworCSRvcHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3QKKwlleGl0ICRFWElUX0ZBSUxVUkUKKyAgICAgIGZpCisKKyAgICAgICMgSnVzdCBtb3ZlIHRoZSBvYmplY3QgaWYgbmVlZGVkLCB0aGVuIGdvIG9uIHRvIGNvbXBpbGUgdGhlIG5leHQgb25lCisgICAgICBpZiB0ZXN0IC1uICIkb3V0cHV0X29iaiIgJiYgdGVzdCAiWCRvdXRwdXRfb2JqIiAhPSAiWCRsb2JqIjsgdGhlbgorCWZ1bmNfc2hvd19ldmFsICckTVYgIiRvdXRwdXRfb2JqIiAiJGxvYmoiJyBcCisJICAnZXJyb3I9JD87ICRvcHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3Q7IGV4aXQgJGVycm9yJworICAgICAgZmkKKworICAgICAgIyBBbGxvdyBlcnJvciBtZXNzYWdlcyBvbmx5IGZyb20gdGhlIGZpcnN0IGNvbXBpbGF0aW9uLgorICAgICAgaWYgdGVzdCAiJHN1cHByZXNzX29wdCIgPSB5ZXM7IHRoZW4KKwlzdXBwcmVzc19vdXRwdXQ9JyA+L2Rldi9udWxsIDI+JjEnCisgICAgICBmaQorICAgIGZpCisKKyAgICAjIE9ubHkgYnVpbGQgYSBwb3NpdGlvbi1kZXBlbmRlbnQgb2JqZWN0IGlmIHdlIGJ1aWxkIG9sZCBsaWJyYXJpZXMuCisgICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgorICAgICAgaWYgdGVzdCAiJHBpY19tb2RlIiAhPSB5ZXM7IHRoZW4KKwkjIERvbid0IGJ1aWxkIFBJQyBjb2RlCisJY29tbWFuZD0iJGJhc2VfY29tcGlsZSAkcXNyY2ZpbGUkcGllX2ZsYWciCisgICAgICBlbHNlCisJY29tbWFuZD0iJGJhc2VfY29tcGlsZSAkcXNyY2ZpbGUgJHBpY19mbGFnIgorICAgICAgZmkKKyAgICAgIGlmIHRlc3QgIiRjb21waWxlcl9jX28iID0geWVzOyB0aGVuCisJY29tbWFuZD0iJGNvbW1hbmQgLW8gJG9iaiIKKyAgICAgIGZpCisKKyAgICAgICMgU3VwcHJlc3MgY29tcGlsZXIgb3V0cHV0IGlmIHdlIGFscmVhZHkgZGlkIGEgUElDIGNvbXBpbGF0aW9uLgorICAgICAgY29tbWFuZD0iJGNvbW1hbmQkc3VwcHJlc3Nfb3V0cHV0IgorICAgICAgZnVuY19zaG93X2V2YWxfbG9jYWxlICIkY29tbWFuZCIgXAorICAgICAgICAnJG9wdF9kcnlfcnVuIHx8ICRSTSAkcmVtb3ZlbGlzdDsgZXhpdCAkRVhJVF9GQUlMVVJFJworCisgICAgICBpZiB0ZXN0ICIkbmVlZF9sb2NrcyIgPSB3YXJuICYmCisJIHRlc3QgIlhgY2F0ICRsb2NrZmlsZSAyPi9kZXYvbnVsbGAiICE9ICJYJHNyY2ZpbGUiOyB0aGVuCisJJEVDSE8gIlwKKyoqKiBFUlJPUiwgJGxvY2tmaWxlIGNvbnRhaW5zOgorYGNhdCAkbG9ja2ZpbGUgMj4vZGV2L251bGxgCisKK2J1dCBpdCBzaG91bGQgY29udGFpbjoKKyRzcmNmaWxlCisKK1RoaXMgaW5kaWNhdGVzIHRoYXQgYW5vdGhlciBwcm9jZXNzIGlzIHRyeWluZyB0byB1c2UgdGhlIHNhbWUKK3RlbXBvcmFyeSBvYmplY3QgZmlsZSwgYW5kIGxpYnRvb2wgY291bGQgbm90IHdvcmsgYXJvdW5kIGl0IGJlY2F1c2UKK3lvdXIgY29tcGlsZXIgZG9lcyBub3Qgc3VwcG9ydCBcYC1jJyBhbmQgXGAtbycgdG9nZXRoZXIuICBJZiB5b3UKK3JlcGVhdCB0aGlzIGNvbXBpbGF0aW9uLCBpdCBtYXkgc3VjY2VlZCwgYnkgY2hhbmNlLCBidXQgeW91IGhhZCBiZXR0ZXIKK2F2b2lkIHBhcmFsbGVsIGJ1aWxkcyAobWFrZSAtaikgaW4gdGhpcyBwbGF0Zm9ybSwgb3IgZ2V0IGEgYmV0dGVyCitjb21waWxlci4iCisKKwkkb3B0X2RyeV9ydW4gfHwgJFJNICRyZW1vdmVsaXN0CisJZXhpdCAkRVhJVF9GQUlMVVJFCisgICAgICBmaQorCisgICAgICAjIEp1c3QgbW92ZSB0aGUgb2JqZWN0IGlmIG5lZWRlZAorICAgICAgaWYgdGVzdCAtbiAiJG91dHB1dF9vYmoiICYmIHRlc3QgIlgkb3V0cHV0X29iaiIgIT0gIlgkb2JqIjsgdGhlbgorCWZ1bmNfc2hvd19ldmFsICckTVYgIiRvdXRwdXRfb2JqIiAiJG9iaiInIFwKKwkgICdlcnJvcj0kPzsgJG9wdF9kcnlfcnVuIHx8ICRSTSAkcmVtb3ZlbGlzdDsgZXhpdCAkZXJyb3InCisgICAgICBmaQorICAgIGZpCisKKyAgICAkb3B0X2RyeV9ydW4gfHwgeworICAgICAgZnVuY193cml0ZV9saWJ0b29sX29iamVjdCAiJGxpYm9iaiIgIiRvYmpkaXIvJG9iam5hbWUiICIkb2JqbmFtZSIKKworICAgICAgIyBVbmxvY2sgdGhlIGNyaXRpY2FsIHNlY3Rpb24gaWYgaXQgd2FzIGxvY2tlZAorICAgICAgaWYgdGVzdCAiJG5lZWRfbG9ja3MiICE9IG5vOyB0aGVuCisJcmVtb3ZlbGlzdD0kbG9ja2ZpbGUKKyAgICAgICAgJFJNICIkbG9ja2ZpbGUiCisgICAgICBmaQorICAgIH0KKworICAgIGV4aXQgJEVYSVRfU1VDQ0VTUworfQorCiskb3B0X2hlbHAgfHwgewordGVzdCAiJG1vZGUiID0gY29tcGlsZSAmJiBmdW5jX21vZGVfY29tcGlsZSAkezErIiRAIn0KK30KIAogZnVuY19tb2RlX2hlbHAgKCkKIHsKQEAgLTgwOCwxMTQ0ICsxNjI5LDkgQEAKICAgICBleGl0ICQ/CiB9CiAKLSMgR2VuZXJhdGVkIHNoZWxsIGZ1bmN0aW9ucyBpbnNlcnRlZCBoZXJlLgotCi0KLSMgUGFyc2Ugb3B0aW9ucyBvbmNlLCB0aG9yb3VnaGx5LiAgVGhpcyBjb21lcyBhcyBzb29uIGFzIHBvc3NpYmxlIGluCi0jIHRoZSBzY3JpcHQgdG8gbWFrZSB0aGluZ3MgbGlrZSBgbGlidG9vbCAtLXZlcnNpb24nIGhhcHBlbiBxdWlja2x5LgotewotCi0gICMgU2hvcnRoYW5kIGZvciAtLW1vZGU9Zm9vLCBvbmx5IHZhbGlkIGFzIHRoZSBmaXJzdCBhcmd1bWVudAotICBjYXNlICQxIGluCi0gIGNsZWFufGNsZWF8Y2xlfGNsKQotICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGNsZWFuICR7MSsiJEAifTsgc2hpZnQKLSAgICA7OwotICBjb21waWxlfGNvbXBpbHxjb21waXxjb21wfGNvbXxjb3xjKQotICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGNvbXBpbGUgJHsxKyIkQCJ9OyBzaGlmdAotICAgIDs7Ci0gIGV4ZWN1dGV8ZXhlY3V0fGV4ZWN1fGV4ZWN8ZXhlfGV4fGUpCi0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgZXhlY3V0ZSAkezErIiRAIn07IHNoaWZ0Ci0gICAgOzsKLSAgZmluaXNofGZpbmlzfGZpbml8ZmlufGZpfGYpCi0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgZmluaXNoICR7MSsiJEAifTsgc2hpZnQKLSAgICA7OwotICBpbnN0YWxsfGluc3RhbHxpbnN0YXxpbnN0fGluc3xpbnxpKQotICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGluc3RhbGwgJHsxKyIkQCJ9OyBzaGlmdAotICAgIDs7Ci0gIGxpbmt8bGlufGxpfGwpCi0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgbGluayAkezErIiRAIn07IHNoaWZ0Ci0gICAgOzsKLSAgdW5pbnN0YWxsfHVuaW5zdGFsfHVuaW5zdGF8dW5pbnN0fHVuaW5zfHVuaW58dW5pfHVufHUpCi0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgdW5pbnN0YWxsICR7MSsiJEAifTsgc2hpZnQKLSAgICA7OwotICBlc2FjCi0KLSAgIyBQYXJzZSBub24tbW9kZSBzcGVjaWZpYyBhcmd1bWVudHM6Ci0gIHdoaWxlIHRlc3QgIiQjIiAtZ3QgMDsgZG8KLSAgICBvcHQ9IiQxIgotICAgIHNoaWZ0Ci0KLSAgICBjYXNlICRvcHQgaW4KLSAgICAgIC0tY29uZmlnKQkJZnVuY19jb25maWcgCQkJCQk7OwotCi0gICAgICAtLWRlYnVnKQkJcHJlc2VydmVfYXJncz0iJHByZXNlcnZlX2FyZ3MgJG9wdCIKLQkgICAgCQlmdW5jX2VjaG8gImVuYWJsaW5nIHNoZWxsIHRyYWNlIG1vZGUiCi0JICAgIAkJb3B0X2RlYnVnPSdzZXQgLXgnCi0JCQkkb3B0X2RlYnVnCi0JCQk7OwotCi0gICAgICAtZGxvcGVuKQkJdGVzdCAiJCMiIC1lcSAwICYmIGZ1bmNfbWlzc2luZ19hcmcgIiRvcHQiICYmIGJyZWFrCi0JCQlleGVjdXRlX2RsZmlsZXM9IiRleGVjdXRlX2RsZmlsZXMgJDEiCi0JCQlzaGlmdAotCQkJOzsKLQotICAgICAgLS1kcnktcnVuIHwgLW4pCW9wdF9kcnlfcnVuPToJCQkJCTs7Ci0gICAgICAtLWZlYXR1cmVzKSAgICAgICBmdW5jX2ZlYXR1cmVzCQkJCQk7OwotICAgICAgLS1maW5pc2gpCQltb2RlPSJmaW5pc2giCQkJCQk7OwotCi0gICAgICAtLW1vZGUpCQl0ZXN0ICIkIyIgLWVxIDAgJiYgZnVuY19taXNzaW5nX2FyZyAiJG9wdCIgJiYgYnJlYWsKLQkgICAgCQljYXNlICQxIGluCi0JCQkgICMgVmFsaWQgbW9kZSBhcmd1bWVudHM6Ci0JCQkgIGNsZWFuKQk7OwotCQkJICBjb21waWxlKQk7OwotCQkJICBleGVjdXRlKQk7OwotCQkJICBmaW5pc2gpCTs7Ci0JCQkgIGluc3RhbGwpCTs7Ci0JCQkgIGxpbmspCQk7OwotCQkJICByZWxpbmspCTs7Ci0JCQkgIHVuaW5zdGFsbCkJOzsKLQotCQkJICAjIENhdGNoIGFueXRoaW5nIGVsc2UgYXMgYW4gZXJyb3IKLQkJCSAgKikgZnVuY19lcnJvciAiaW52YWxpZCBhcmd1bWVudCBmb3IgJG9wdCIKLQkJCSAgICAgZXhpdF9jbWQ9ZXhpdAotCQkJICAgICBicmVhawotCQkJICAgICA7OwotCQkgICAgICAgIGVzYWMKLQotCSAgICAJCW1vZGU9IiQxIgotCQkJc2hpZnQKLQkJCTs7Ci0KLSAgICAgIC0tcHJlc2VydmUtZHVwLWRlcHMpCi0gICAgICAJCQlvcHRfZHVwbGljYXRlX2RlcHM9OgkJCQk7OwotCi0gICAgICAtLXF1aWV0fC0tc2lsZW50KQlwcmVzZXJ2ZV9hcmdzPSIkcHJlc2VydmVfYXJncyAkb3B0IgotCSAgICAJCW9wdF9zaWxlbnQ9OgotCQkJOzsKLQotICAgICAgLS12ZXJib3NlfCAtdikJcHJlc2VydmVfYXJncz0iJHByZXNlcnZlX2FyZ3MgJG9wdCIKLQkgICAgCQlvcHRfc2lsZW50PWZhbHNlCi0JCQk7OwotCi0gICAgICAtLXRhZykJCXRlc3QgIiQjIiAtZXEgMCAmJiBmdW5jX21pc3NpbmdfYXJnICIkb3B0IiAmJiBicmVhawotCQkJcHJlc2VydmVfYXJncz0iJHByZXNlcnZlX2FyZ3MgJG9wdCAkMSIKLQkJCWZ1bmNfZW5hYmxlX3RhZyAiJDEiCSMgdGFnbmFtZSBpcyBzZXQgaGVyZQotCQkJc2hpZnQKLQkJCTs7Ci0KLSAgICAgICMgU2VwYXJhdGUgb3B0YXJncyB0byBsb25nIG9wdGlvbnM6Ci0gICAgICAtZGxvcGVuPSp8LS1tb2RlPSp8LS10YWc9KikKLQkJCWZ1bmNfb3B0X3NwbGl0ICIkb3B0IgotCQkJc2V0IGR1bW15ICIkZnVuY19vcHRfc3BsaXRfb3B0IiAiJGZ1bmNfb3B0X3NwbGl0X2FyZyIgJHsxKyIkQCJ9Ci0JCQlzaGlmdAotCQkJOzsKLQotICAgICAgLVw/fC1oKQkJZnVuY191c2FnZQkJCQkJOzsKLSAgICAgIC0taGVscCkJCW9wdF9oZWxwPToJCQkJCTs7Ci0gICAgICAtLXZlcnNpb24pCWZ1bmNfdmVyc2lvbgkJCQkJOzsKLQotICAgICAgLSopCQlmdW5jX2ZhdGFsX2hlbHAgInVucmVjb2duaXplZCBvcHRpb24gXGAkb3B0JyIJOzsKLQotICAgICAgKikJCW5vbm9wdD0iJG9wdCIKLSAgICAgIAkJCWJyZWFrCi0JCQk7OwotICAgIGVzYWMKLSAgZG9uZQotCiAgICMgTm93IHRoYXQgd2UndmUgY29sbGVjdGVkIGEgcG9zc2libGUgLS1tb2RlIGFyZywgc2hvdyBoZWxwIGlmIG5lY2Vzc2FyeQogICAkb3B0X2hlbHAgJiYgZnVuY19tb2RlX2hlbHAKIAotICBjYXNlICRob3N0IGluCi0gICAgKmN5Z3dpbiogfCAqbWluZ3cqIHwgKnB3MzIqKQotICAgICAgIyBkb24ndCBlbGltaW5hdGUgZHVwbGljYXRpb25zIGluICRwb3N0ZGVwcyBhbmQgJHByZWRlcHMKLSAgICAgIG9wdF9kdXBsaWNhdGVfY29tcGlsZXJfZ2VuZXJhdGVkX2RlcHM9OgotICAgICAgOzsKLSAgICAqKQotICAgICAgb3B0X2R1cGxpY2F0ZV9jb21waWxlcl9nZW5lcmF0ZWRfZGVwcz0kb3B0X2R1cGxpY2F0ZV9kZXBzCi0gICAgICA7OwotICBlc2FjCi0KLSAgIyBIYXZpbmcgd2FybmVkIGFib3V0IGFsbCBtaXMtc3BlY2lmaWVkIG9wdGlvbnMsIGJhaWwgb3V0IGlmCi0gICMgYW55dGhpbmcgd2FzIHdyb25nLgotICAkZXhpdF9jbWQgJEVYSVRfRkFJTFVSRQotfQotCi0jIGZ1bmNfY2hlY2tfdmVyc2lvbl9tYXRjaAotIyBFbnN1cmUgdGhhdCB3ZSBhcmUgdXNpbmcgbTQgbWFjcm9zLCBhbmQgbGlidG9vbCBzY3JpcHQgZnJvbSB0aGUgc2FtZQotIyByZWxlYXNlIG9mIGxpYnRvb2wuCi1mdW5jX2NoZWNrX3ZlcnNpb25fbWF0Y2ggKCkKLXsKLSAgaWYgdGVzdCAiJHBhY2thZ2VfcmV2aXNpb24iICE9ICIkbWFjcm9fcmV2aXNpb24iOyB0aGVuCi0gICAgaWYgdGVzdCAiJFZFUlNJT04iICE9ICIkbWFjcm9fdmVyc2lvbiI7IHRoZW4KLSAgICAgIGlmIHRlc3QgLXogIiRtYWNyb192ZXJzaW9uIjsgdGhlbgotICAgICAgICBjYXQgPiYyIDw8X0xUX0VPRgotJHByb2duYW1lOiBWZXJzaW9uIG1pc21hdGNoIGVycm9yLiAgVGhpcyBpcyAkUEFDS0FHRSAkVkVSU0lPTiwgYnV0IHRoZQotJHByb2duYW1lOiBkZWZpbml0aW9uIG9mIHRoaXMgTFRfSU5JVCBjb21lcyBmcm9tIGFuIG9sZGVyIHJlbGVhc2UuCi0kcHJvZ25hbWU6IFlvdSBzaG91bGQgcmVjcmVhdGUgYWNsb2NhbC5tNCB3aXRoIG1hY3JvcyBmcm9tICRQQUNLQUdFICRWRVJTSU9OCi0kcHJvZ25hbWU6IGFuZCBydW4gYXV0b2NvbmYgYWdhaW4uCi1fTFRfRU9GCi0gICAgICBlbHNlCi0gICAgICAgIGNhdCA+JjIgPDxfTFRfRU9GCi0kcHJvZ25hbWU6IFZlcnNpb24gbWlzbWF0Y2ggZXJyb3IuICBUaGlzIGlzICRQQUNLQUdFICRWRVJTSU9OLCBidXQgdGhlCi0kcHJvZ25hbWU6IGRlZmluaXRpb24gb2YgdGhpcyBMVF9JTklUIGNvbWVzIGZyb20gJFBBQ0tBR0UgJG1hY3JvX3ZlcnNpb24uCi0kcHJvZ25hbWU6IFlvdSBzaG91bGQgcmVjcmVhdGUgYWNsb2NhbC5tNCB3aXRoIG1hY3JvcyBmcm9tICRQQUNLQUdFICRWRVJTSU9OCi0kcHJvZ25hbWU6IGFuZCBydW4gYXV0b2NvbmYgYWdhaW4uCi1fTFRfRU9GCi0gICAgICBmaQotICAgIGVsc2UKLSAgICAgIGNhdCA+JjIgPDxfTFRfRU9GCi0kcHJvZ25hbWU6IFZlcnNpb24gbWlzbWF0Y2ggZXJyb3IuICBUaGlzIGlzICRQQUNLQUdFICRWRVJTSU9OLCByZXZpc2lvbiAkcGFja2FnZV9yZXZpc2lvbiwKLSRwcm9nbmFtZTogYnV0IHRoZSBkZWZpbml0aW9uIG9mIHRoaXMgTFRfSU5JVCBjb21lcyBmcm9tIHJldmlzaW9uICRtYWNyb19yZXZpc2lvbi4KLSRwcm9nbmFtZTogWW91IHNob3VsZCByZWNyZWF0ZSBhY2xvY2FsLm00IHdpdGggbWFjcm9zIGZyb20gcmV2aXNpb24gJHBhY2thZ2VfcmV2aXNpb24KLSRwcm9nbmFtZTogb2YgJFBBQ0tBR0UgJFZFUlNJT04gYW5kIHJ1biBhdXRvY29uZiBhZ2Fpbi4KLV9MVF9FT0YKLSAgICBmaQotCi0gICAgZXhpdCAkRVhJVF9NSVNNQVRDSAotICBmaQotfQotCi0KLSMjIC0tLS0tLS0tLS0tICMjCi0jIyAgICBNYWluLiAgICAjIwotIyMgLS0tLS0tLS0tLS0gIyMKLQotewotICAjIFNhbml0eSBjaGVja3MgZmlyc3Q6Ci0gIGZ1bmNfY2hlY2tfdmVyc2lvbl9tYXRjaAotCi0gIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiICE9IHllcyAmJiB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiICE9IHllczsgdGhlbgotICAgIGZ1bmNfZmF0YWxfY29uZmlndXJhdGlvbiAibm90IGNvbmZpZ3VyZWQgdG8gYnVpbGQgYW55IGtpbmQgb2YgbGlicmFyeSIKLSAgZmkKLQotICB0ZXN0IC16ICIkbW9kZSIgJiYgZnVuY19mYXRhbF9lcnJvciAiZXJyb3I6IHlvdSBtdXN0IHNwZWNpZnkgYSBNT0RFLiIKLQotCi0gICMgRGFyd2luIHN1Y2tzCi0gIGV2YWwgc3RkX3NocmV4dD1cIiRzaHJleHRfY21kc1wiCi0KLQotICAjIE9ubHkgZXhlY3V0ZSBtb2RlIGlzIGFsbG93ZWQgdG8gaGF2ZSAtZGxvcGVuIGZsYWdzLgotICBpZiB0ZXN0IC1uICIkZXhlY3V0ZV9kbGZpbGVzIiAmJiB0ZXN0ICIkbW9kZSIgIT0gZXhlY3V0ZTsgdGhlbgotICAgIGZ1bmNfZXJyb3IgInVucmVjb2duaXplZCBvcHRpb24gXGAtZGxvcGVuJyIKLSAgICAkRUNITyAiJGhlbHAiIDE+JjIKLSAgICBleGl0ICRFWElUX0ZBSUxVUkUKLSAgZmkKLQotICAjIENoYW5nZSB0aGUgaGVscCBtZXNzYWdlIHRvIGEgbW9kZS1zcGVjaWZpYyBvbmUuCi0gIGdlbmVyaWNfaGVscD0iJGhlbHAiCi0gIGhlbHA9IlRyeSBcYCRwcm9nbmFtZSAtLWhlbHAgLS1tb2RlPSRtb2RlJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCi19Ci0KLQotIyBmdW5jX2xhbGliX3AgZmlsZQotIyBUcnVlIGlmZiBGSUxFIGlzIGEgbGlidG9vbCBgLmxhJyBsaWJyYXJ5IG9yIGAubG8nIG9iamVjdCBmaWxlLgotIyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgYSBiYXNpYyBzYW5pdHkgY2hlY2s7IGl0IHdpbGwgaGFyZGx5IGZsdXNoIG91dAotIyBkZXRlcm1pbmVkIGltcG9zdGVycy4KLWZ1bmNfbGFsaWJfcCAoKQotewotICAgICRTRUQgLWUgNHEgIiQxIiAyPi9kZXYvbnVsbCBcCi0gICAgICB8ICRHUkVQICJeIyBHZW5lcmF0ZWQgYnkgLiokUEFDS0FHRSIgPiAvZGV2L251bGwgMj4mMQotfQotCi0jIGZ1bmNfbGFsaWJfdW5zYWZlX3AgZmlsZQotIyBUcnVlIGlmZiBGSUxFIGlzIGEgbGlidG9vbCBgLmxhJyBsaWJyYXJ5IG9yIGAubG8nIG9iamVjdCBmaWxlLgotIyBUaGlzIGZ1bmN0aW9uIGltcGxlbWVudHMgdGhlIHNhbWUgY2hlY2sgYXMgZnVuY19sYWxpYl9wIHdpdGhvdXQKLSMgcmVzb3J0aW5nIHRvIGV4dGVybmFsIHByb2dyYW1zLiAgVG8gdGhpcyBlbmQsIGl0IHJlZGlyZWN0cyBzdGRpbiBhbmQKLSMgY2xvc2VzIGl0IGFmdGVyd2FyZHMsIHdpdGhvdXQgc2F2aW5nIHRoZSBvcmlnaW5hbCBmaWxlIGRlc2NyaXB0b3IuCi0jIEFzIGEgc2FmZXR5IG1lYXN1cmUsIHVzZSBpdCBvbmx5IHdoZXJlIGEgbmVnYXRpdmUgcmVzdWx0IHdvdWxkIGJlCi0jIGZhdGFsIGFueXdheS4gIFdvcmtzIGlmIGBmaWxlJyBkb2VzIG5vdCBleGlzdC4KLWZ1bmNfbGFsaWJfdW5zYWZlX3AgKCkKLXsKLSAgICBsYWxpYl9wPW5vCi0gICAgaWYgdGVzdCAtciAiJDEiICYmIGV4ZWMgNTwmMSA8IiQxIjsgdGhlbgotCWZvciBsYWxpYl9wX2wgaW4gMSAyIDMgNAotCWRvCi0JICAgIHJlYWQgbGFsaWJfcF9saW5lCi0JICAgIGNhc2UgIiRsYWxpYl9wX2xpbmUiIGluCi0JCVwjXCBHZW5lcmF0ZWRcIGJ5XCAqJFBBQ0tBR0UqICkgbGFsaWJfcD15ZXM7IGJyZWFrOzsKLQkgICAgZXNhYwotCWRvbmUKLQlleGVjIDE8JjUgNTwmLQotICAgIGZpCi0gICAgdGVzdCAiJGxhbGliX3AiID0geWVzCi19Ci0KLSMgZnVuY19sdHdyYXBwZXJfcCBmaWxlCi0jIFRydWUgaWZmIEZJTEUgaXMgYSBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0LgotIyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgYSBiYXNpYyBzYW5pdHkgY2hlY2s7IGl0IHdpbGwgaGFyZGx5IGZsdXNoIG91dAotIyBkZXRlcm1pbmVkIGltcG9zdGVycy4KLWZ1bmNfbHR3cmFwcGVyX3AgKCkKLXsKLSAgICBmdW5jX2xhbGliX3AgIiQxIgotfQotCi0KLSMgZnVuY19leGVjdXRlX2NtZHMgY29tbWFuZHMgZmFpbF9jbWQKLSMgRXhlY3V0ZSB0aWxkZS1kZWxpbWl0ZWQgQ09NTUFORFMuCi0jIElmIEZBSUxfQ01EIGlzIGdpdmVuLCBldmFsIHRoYXQgdXBvbiBmYWlsdXJlLgotIyBGQUlMX0NNRCBtYXkgcmVhZC1hY2Nlc3MgdGhlIGN1cnJlbnQgY29tbWFuZCBpbiB2YXJpYWJsZSBDTUQhCi1mdW5jX2V4ZWN1dGVfY21kcyAoKQotewotICAgICRvcHRfZGVidWcKLSAgICBzYXZlX2lmcz0kSUZTOyBJRlM9J34nCi0gICAgZm9yIGNtZCBpbiAkMTsgZG8KLSAgICAgIElGUz0kc2F2ZV9pZnMKLSAgICAgIGV2YWwgY21kPVwiJGNtZFwiCi0gICAgICBmdW5jX3Nob3dfZXZhbCAiJGNtZCIgIiR7Mi06fSIKLSAgICBkb25lCi0gICAgSUZTPSRzYXZlX2lmcwotfQotCi0KLSMgZnVuY19zb3VyY2UgZmlsZQotIyBTb3VyY2UgRklMRSwgYWRkaW5nIGRpcmVjdG9yeSBjb21wb25lbnQgaWYgbmVjZXNzYXJ5LgotIyBOb3RlIHRoYXQgaXQgaXMgbm90IG5lY2Vzc2FyeSBvbiBjeWd3aW4vbWluZ3cgdG8gYXBwZW5kIGEgZG90IHRvCi0jIEZJTEUgZXZlbiBpZiBib3RoIEZJTEUgYW5kIEZJTEUuZXhlIGV4aXN0OiBhdXRvbWF0aWMtYXBwZW5kLS5leGUKLSMgYmVoYXZpb3IgaGFwcGVucyBvbmx5IGZvciBleGVjKDMpLCBub3QgZm9yIG9wZW4oMikhICBBbHNvLCBzb3VyY2luZwotIyBgRklMRS4nIGRvZXMgbm90IHdvcmsgb24gY3lnd2luIG1hbmFnZWQgbW91bnRzLgotZnVuY19zb3VyY2UgKCkKLXsKLSAgICAkb3B0X2RlYnVnCi0gICAgY2FzZSAkMSBpbgotICAgICovKiB8ICpcXCopCS4gIiQxIiA7OwotICAgICopCQkuICIuLyQxIiA7OwotICAgIGVzYWMKLX0KLQotCi0jIGZ1bmNfd2luMzJfbGliaWQgYXJnCi0jIHJldHVybiB0aGUgbGlicmFyeSB0eXBlIG9mIGZpbGUgJ2FyZycKLSMKLSMgTmVlZCBhIGxvdCBvZiBnb28gdG8gaGFuZGxlICpib3RoKiBETExzIGFuZCBpbXBvcnQgbGlicwotIyBIYXMgdG8gYmUgYSBzaGVsbCBmdW5jdGlvbiBpbiBvcmRlciB0byAnZWF0JyB0aGUgYXJndW1lbnQKLSMgdGhhdCBpcyBzdXBwbGllZCB3aGVuICRmaWxlX21hZ2ljX2NvbW1hbmQgaXMgY2FsbGVkLgotZnVuY193aW4zMl9saWJpZCAoKQotewotICAkb3B0X2RlYnVnCi0gIHdpbjMyX2xpYmlkX3R5cGU9InVua25vd24iCi0gIHdpbjMyX2ZpbGVyZXM9YGZpbGUgLUwgJDEgMj4vZGV2L251bGxgCi0gIGNhc2UgJHdpbjMyX2ZpbGVyZXMgaW4KLSAgKmFyXCBhcmNoaXZlXCBpbXBvcnRcIGxpYnJhcnkqKSAjIGRlZmluaXRlbHkgaW1wb3J0Ci0gICAgd2luMzJfbGliaWRfdHlwZT0ieDg2IGFyY2hpdmUgaW1wb3J0IgotICAgIDs7Ci0gICphclwgYXJjaGl2ZSopICMgY291bGQgYmUgYW4gaW1wb3J0LCBvciBzdGF0aWMKLSAgICBpZiBldmFsICRPQkpEVU1QIC1mICQxIHwgJFNFRCAtZSAnMTBxJyAyPi9kZXYvbnVsbCB8Ci0gICAgICAgJEVHUkVQICdmaWxlIGZvcm1hdCBwZS1pMzg2KC4qYXJjaGl0ZWN0dXJlOiBpMzg2KT8nID4vZGV2L251bGwgOyB0aGVuCi0gICAgICB3aW4zMl9ubXJlcz1gZXZhbCAkTk0gLWYgcG9zaXggLUEgJDEgfAotCSRTRUQgLW4gLWUgJwotCSAgICAxLDEwMHsKLQkJLyBJIC97Ci0JCSAgICBzLC4qLGltcG9ydCwKLQkJICAgIHAKLQkJICAgIHEKLQkJfQotCSAgICB9J2AKLSAgICAgIGNhc2UgJHdpbjMyX25tcmVzIGluCi0gICAgICBpbXBvcnQqKSAgd2luMzJfbGliaWRfdHlwZT0ieDg2IGFyY2hpdmUgaW1wb3J0Ijs7Ci0gICAgICAqKSAgICAgICAgd2luMzJfbGliaWRfdHlwZT0ieDg2IGFyY2hpdmUgc3RhdGljIjs7Ci0gICAgICBlc2FjCi0gICAgZmkKLSAgICA7OwotICAqRExMKikKLSAgICB3aW4zMl9saWJpZF90eXBlPSJ4ODYgRExMIgotICAgIDs7Ci0gICpleGVjdXRhYmxlKikgIyBidXQgc2hlbGwgc2NyaXB0cyBhcmUgImV4ZWN1dGFibGUiIHRvby4uLgotICAgIGNhc2UgJHdpbjMyX2ZpbGVyZXMgaW4KLSAgICAqTVNcIFdpbmRvd3NcIFBFXCBJbnRlbCopCi0gICAgICB3aW4zMl9saWJpZF90eXBlPSJ4ODYgRExMIgotICAgICAgOzsKLSAgICBlc2FjCi0gICAgOzsKLSAgZXNhYwotICAkRUNITyAiJHdpbjMyX2xpYmlkX3R5cGUiCi19Ci0KLQotCi0jIGZ1bmNfaW5mZXJfdGFnIGFyZwotIyBJbmZlciB0YWdnZWQgY29uZmlndXJhdGlvbiB0byB1c2UgaWYgYW55IGFyZSBhdmFpbGFibGUgYW5kCi0jIGlmIG9uZSB3YXNuJ3QgY2hvc2VuIHZpYSB0aGUgIi0tdGFnIiBjb21tYW5kIGxpbmUgb3B0aW9uLgotIyBPbmx5IGF0dGVtcHQgdGhpcyBpZiB0aGUgY29tcGlsZXIgaW4gdGhlIGJhc2UgY29tcGlsZQotIyBjb21tYW5kIGRvZXNuJ3QgbWF0Y2ggdGhlIGRlZmF1bHQgY29tcGlsZXIuCi0jIGFyZyBpcyB1c3VhbGx5IG9mIHRoZSBmb3JtICdnY2MgLi4uJwotZnVuY19pbmZlcl90YWcgKCkKLXsKLSAgICAkb3B0X2RlYnVnCi0gICAgaWYgdGVzdCAtbiAiJGF2YWlsYWJsZV90YWdzIiAmJiB0ZXN0IC16ICIkdGFnbmFtZSI7IHRoZW4KLSAgICAgIENDX3F1b3RlZD0KLSAgICAgIGZvciBhcmcgaW4gJENDOyBkbwotICAgICAgICBmdW5jX3F1b3RlX2Zvcl9ldmFsICIkYXJnIgotCUNDX3F1b3RlZD0iJENDX3F1b3RlZCAkZnVuY19xdW90ZV9mb3JfZXZhbF9yZXN1bHQiCi0gICAgICBkb25lCi0gICAgICBjYXNlICRAIGluCi0gICAgICAjIEJsYW5rcyBpbiB0aGUgY29tbWFuZCBtYXkgaGF2ZSBiZWVuIHN0cmlwcGVkIGJ5IHRoZSBjYWxsaW5nIHNoZWxsLAotICAgICAgIyBidXQgbm90IGZyb20gdGhlIENDIGVudmlyb25tZW50IHZhcmlhYmxlIHdoZW4gY29uZmlndXJlIHdhcyBydW4uCi0gICAgICAiICRDQyAiKiB8ICIkQ0MgIiogfCAiIGAkRUNITyAkQ0NgICIqIHwgImAkRUNITyAkQ0NgICIqIHwgIiAkQ0NfcXVvdGVkIiogfCAiJENDX3F1b3RlZCAiKiB8ICIgYCRFQ0hPICRDQ19xdW90ZWRgICIqIHwgImAkRUNITyAkQ0NfcXVvdGVkYCAiKikgOzsKLSAgICAgICMgQmxhbmtzIGF0IHRoZSBzdGFydCBvZiAkYmFzZV9jb21waWxlIHdpbGwgY2F1c2UgdGhpcyB0byBmYWlsCi0gICAgICAjIGlmIHdlIGRvbid0IGNoZWNrIGZvciB0aGVtIGFzIHdlbGwuCi0gICAgICAqKQotCWZvciB6IGluICRhdmFpbGFibGVfdGFnczsgZG8KLQkgIGlmICRHUkVQICJeIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiAkeiQiIDwgIiRwcm9ncGF0aCIgPiAvZGV2L251bGw7IHRoZW4KLQkgICAgIyBFdmFsdWF0ZSB0aGUgY29uZmlndXJhdGlvbi4KLQkgICAgZXZhbCAiYCR7U0VEfSAtbiAtZSAnL14jICMjIyBCRUdJTiBMSUJUT09MIFRBRyBDT05GSUc6ICckeickLywvXiMgIyMjIEVORCBMSUJUT09MIFRBRyBDT05GSUc6ICckeickL3AnIDwgJHByb2dwYXRoYCIKLQkgICAgQ0NfcXVvdGVkPQotCSAgICBmb3IgYXJnIGluICRDQzsgZG8KLQkgICAgICAjIERvdWJsZS1xdW90ZSBhcmdzIGNvbnRhaW5pbmcgb3RoZXIgc2hlbGwgbWV0YWNoYXJhY3RlcnMuCi0JICAgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJGFyZyIKLQkgICAgICBDQ19xdW90ZWQ9IiRDQ19xdW90ZWQgJGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0IgotCSAgICBkb25lCi0JICAgIGNhc2UgIiRAICIgaW4KLQkgICAgICAiICRDQyAiKiB8ICIkQ0MgIiogfCAiIGAkRUNITyAkQ0NgICIqIHwgImAkRUNITyAkQ0NgICIqIHwgIiAkQ0NfcXVvdGVkIiogfCAiJENDX3F1b3RlZCAiKiB8ICIgYCRFQ0hPICRDQ19xdW90ZWRgICIqIHwgImAkRUNITyAkQ0NfcXVvdGVkYCAiKikKLQkgICAgICAjIFRoZSBjb21waWxlciBpbiB0aGUgYmFzZSBjb21waWxlIGNvbW1hbmQgbWF0Y2hlcwotCSAgICAgICMgdGhlIG9uZSBpbiB0aGUgdGFnZ2VkIGNvbmZpZ3VyYXRpb24uCi0JICAgICAgIyBBc3N1bWUgdGhpcyBpcyB0aGUgdGFnZ2VkIGNvbmZpZ3VyYXRpb24gd2Ugd2FudC4KLQkgICAgICB0YWduYW1lPSR6Ci0JICAgICAgYnJlYWsKLQkgICAgICA7OwotCSAgICBlc2FjCi0JICBmaQotCWRvbmUKLQkjIElmICR0YWduYW1lIHN0aWxsIGlzbid0IHNldCwgdGhlbiBubyB0YWdnZWQgY29uZmlndXJhdGlvbgotCSMgd2FzIGZvdW5kIGFuZCBsZXQgdGhlIHVzZXIga25vdyB0aGF0IHRoZSAiLS10YWciIGNvbW1hbmQKLQkjIGxpbmUgb3B0aW9uIG11c3QgYmUgdXNlZC4KLQlpZiB0ZXN0IC16ICIkdGFnbmFtZSI7IHRoZW4KLQkgIGZ1bmNfZWNobyAidW5hYmxlIHRvIGluZmVyIHRhZ2dlZCBjb25maWd1cmF0aW9uIgotCSAgZnVuY19mYXRhbF9lcnJvciAic3BlY2lmeSBhIHRhZyB3aXRoIFxgLS10YWcnIgotIwllbHNlCi0jCSAgZnVuY192ZXJib3NlICJ1c2luZyAkdGFnbmFtZSB0YWdnZWQgY29uZmlndXJhdGlvbiIKLQlmaQotCTs7Ci0gICAgICBlc2FjCi0gICAgZmkKLX0KLQotCi0KLSMgZnVuY19nZW5lcmF0ZV9kbHN5bXMgb3V0cHV0bmFtZSBvcmlnaW5hdG9yIHBpY19wCi0jIEV4dHJhY3Qgc3ltYm9scyBmcm9tIGRscHJlZmlsZXMgYW5kIGNyZWF0ZSAke291dHB1dG5hbWV9Uy5vIHdpdGgKLSMgYSBkbHByZW9wZW4gc3ltYm9sIHRhYmxlLgotZnVuY19nZW5lcmF0ZV9kbHN5bXMgKCkKLXsKLSAgICAkb3B0X2RlYnVnCi0gICAgbXlfb3V0cHV0bmFtZT0iJDEiCi0gICAgbXlfb3JpZ2luYXRvcj0iJDIiCi0gICAgbXlfcGljX3A9IiR7My1ub30iCi0gICAgbXlfcHJlZml4PWAkRUNITyAiJG15X29yaWdpbmF0b3IiIHwgc2VkICdzJVteYS16QS1aMC05XSVfJWcnYAotICAgIG15X2Rsc3ltcz0KLQotICAgIGlmIHRlc3QgLW4gIiRkbGZpbGVzJGRscHJlZmlsZXMiIHx8IHRlc3QgIiRkbHNlbGYiICE9IG5vOyB0aGVuCi0gICAgICBpZiB0ZXN0IC1uICIkTk0iICYmIHRlc3QgLW4gIiRnbG9iYWxfc3ltYm9sX3BpcGUiOyB0aGVuCi0JbXlfZGxzeW1zPSIke215X291dHB1dG5hbWV9Uy5jIgotICAgICAgZWxzZQotCWZ1bmNfZXJyb3IgIm5vdCBjb25maWd1cmVkIHRvIGV4dHJhY3QgZ2xvYmFsIHN5bWJvbHMgZnJvbSBkbHByZW9wZW5lZCBmaWxlcyIKLSAgICAgIGZpCi0gICAgZmkKLQotICAgIGlmIHRlc3QgLW4gIiRteV9kbHN5bXMiOyB0aGVuCi0gICAgICBjYXNlICRteV9kbHN5bXMgaW4KLSAgICAgICIiKSA7OwotICAgICAgKi5jKQotCSMgRGlzY292ZXIgdGhlIG5saXN0IG9mIGVhY2ggb2YgdGhlIGRsZmlsZXMuCi0Jbmxpc3Q9IiRvdXRwdXRfb2JqZGlyLyR7bXlfb3V0cHV0bmFtZX0ubm0iCi0KLQlmdW5jX3Nob3dfZXZhbCAiJFJNICRubGlzdCAke25saXN0fVMgJHtubGlzdH1UIgotCi0JIyBQYXJzZSB0aGUgbmFtZSBsaXN0IGludG8gYSBzb3VyY2UgZmlsZS4KLQlmdW5jX2VjaG8gImNyZWF0aW5nICRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiCi0KLQkkb3B0X2RyeV9ydW4gfHwgJEVDSE8gPiAiJG91dHB1dF9vYmpkaXIvJG15X2Rsc3ltcyIgIlwKLS8qICRteV9kbHN5bXMgLSBzeW1ib2wgcmVzb2x1dGlvbiB0YWJsZSBmb3IgXGAkbXlfb3V0cHV0bmFtZScgZGxzeW0gZW11bGF0aW9uLiAqLwotLyogR2VuZXJhdGVkIGJ5ICRQUk9HUkFNIChHTlUgJFBBQ0tBR0UkVElNRVNUQU1QKSAkVkVSU0lPTiAqLwotCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiBcIkNcIiB7Ci0jZW5kaWYKLQotLyogRXh0ZXJuYWwgc3ltYm9sIGRlY2xhcmF0aW9ucyBmb3IgdGhlIGNvbXBpbGVyLiAqL1wKLSIKLQotCWlmIHRlc3QgIiRkbHNlbGYiID0geWVzOyB0aGVuCi0JICBmdW5jX2VjaG8gImdlbmVyYXRpbmcgc3ltYm9sIGxpc3QgZm9yIFxgJG91dHB1dCciCi0KLQkgICRvcHRfZHJ5X3J1biB8fCBlY2hvICc6IEBQUk9HUkFNQCAnID4gIiRubGlzdCIKLQotCSAgIyBBZGQgb3VyIG93biBwcm9ncmFtIG9iamVjdHMgdG8gdGhlIHN5bWJvbCBsaXN0LgotCSAgcHJvZ2ZpbGVzPWAkRUNITyAiWCRvYmpzJG9sZF9kZXBsaWJzIiB8ICRTUDJOTCB8ICRYc2VkIC1lICIkbG8ybyIgfCAkTkwyU1BgCi0JICBmb3IgcHJvZ2ZpbGUgaW4gJHByb2dmaWxlczsgZG8KLQkgICAgZnVuY19lY2hvICJleHRyYWN0aW5nIGdsb2JhbCBDIHN5bWJvbHMgZnJvbSBcYCRwcm9nZmlsZSciCi0JICAgICRvcHRfZHJ5X3J1biB8fCBldmFsICIkTk0gJHByb2dmaWxlIHwgJGdsb2JhbF9zeW1ib2xfcGlwZSA+PiAnJG5saXN0JyIKLQkgIGRvbmUKLQotCSAgaWYgdGVzdCAtbiAiJGV4Y2x1ZGVfZXhwc3ltcyI7IHRoZW4KLQkgICAgJG9wdF9kcnlfcnVuIHx8IHsKLQkgICAgICBldmFsICckRUdSRVAgLXYgIiAoJGV4Y2x1ZGVfZXhwc3ltcykkIiAiJG5saXN0IiA+ICIkbmxpc3QiVCcKLQkgICAgICBldmFsICckTVYgIiRubGlzdCJUICIkbmxpc3QiJwotCSAgICB9Ci0JICBmaQotCi0JICBpZiB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHNfcmVnZXgiOyB0aGVuCi0JICAgICRvcHRfZHJ5X3J1biB8fCB7Ci0JICAgICAgZXZhbCAnJEVHUkVQIC1lICIkZXhwb3J0X3N5bWJvbHNfcmVnZXgiICIkbmxpc3QiID4gIiRubGlzdCJUJwotCSAgICAgIGV2YWwgJyRNViAiJG5saXN0IlQgIiRubGlzdCInCi0JICAgIH0KLQkgIGZpCi0KLQkgICMgUHJlcGFyZSB0aGUgbGlzdCBvZiBleHBvcnRlZCBzeW1ib2xzCi0JICBpZiB0ZXN0IC16ICIkZXhwb3J0X3N5bWJvbHMiOyB0aGVuCi0JICAgIGV4cG9ydF9zeW1ib2xzPSIkb3V0cHV0X29iamRpci8kb3V0cHV0bmFtZS5leHAiCi0JICAgICRvcHRfZHJ5X3J1biB8fCB7Ci0JICAgICAgJFJNICRleHBvcnRfc3ltYm9scwotCSAgICAgIGV2YWwgIiR7U0VEfSAtbiAtZSAnL146IEBQUk9HUkFNQCAkL2QnIC1lICdzL14uKiBcKC4qXCkkL1wxL3AnICInPCAiJG5saXN0IiA+ICIkZXhwb3J0X3N5bWJvbHMiJwotCSAgICAgIGNhc2UgJGhvc3QgaW4KLQkgICAgICAqY3lnd2luKiB8ICptaW5ndyogKQotICAgICAgICAgICAgICAgIGV2YWwgImVjaG8gRVhQT1JUUyAiJz4gIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXRuYW1lLmRlZiInCi0gICAgICAgICAgICAgICAgZXZhbCAnY2F0ICIkZXhwb3J0X3N5bWJvbHMiID4+ICIkb3V0cHV0X29iamRpci8kb3V0cHV0bmFtZS5kZWYiJwotCSAgICAgICAgOzsKLQkgICAgICBlc2FjCi0JICAgIH0KLQkgIGVsc2UKLQkgICAgJG9wdF9kcnlfcnVuIHx8IHsKLQkgICAgICBldmFsICIke1NFRH0gLWUgJ3MvXChbXS5bKl4kXVwpL1xcXFxcMS9nJyAtZSAncy9eLyAvJyAtZSAncy8kLyQvJyInIDwgIiRleHBvcnRfc3ltYm9scyIgPiAiJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUuZXhwIicKLQkgICAgICBldmFsICckR1JFUCAtZiAiJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUuZXhwIiA8ICIkbmxpc3QiID4gIiRubGlzdCJUJwotCSAgICAgIGV2YWwgJyRNViAiJG5saXN0IlQgIiRubGlzdCInCi0JICAgICAgY2FzZSAkaG9zdCBpbgotCSAgICAgICAgKmN5Z3dpbiB8ICptaW5ndyogKQotCSAgICAgICAgICBldmFsICJlY2hvIEVYUE9SVFMgIic+ICIkb3V0cHV0X29iamRpci8kb3V0cHV0bmFtZS5kZWYiJwotCSAgICAgICAgICBldmFsICdjYXQgIiRubGlzdCIgPj4gIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXRuYW1lLmRlZiInCi0JICAgICAgICAgIDs7Ci0JICAgICAgZXNhYwotCSAgICB9Ci0JICBmaQotCWZpCi0KLQlmb3IgZGxwcmVmaWxlIGluICRkbHByZWZpbGVzOyBkbwotCSAgZnVuY19lY2hvICJleHRyYWN0aW5nIGdsb2JhbCBDIHN5bWJvbHMgZnJvbSBcYCRkbHByZWZpbGUnIgotCSAgZnVuY19iYXNlbmFtZSAiJGRscHJlZmlsZSIKLQkgIG5hbWU9IiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIKLQkgICRvcHRfZHJ5X3J1biB8fCB7Ci0JICAgIGV2YWwgJyRFQ0hPICI6ICRuYW1lICIgPj4gIiRubGlzdCInCi0JICAgIGV2YWwgIiROTSAkZGxwcmVmaWxlIDI+L2Rldi9udWxsIHwgJGdsb2JhbF9zeW1ib2xfcGlwZSA+PiAnJG5saXN0JyIKLQkgIH0KLQlkb25lCi0KLQkkb3B0X2RyeV9ydW4gfHwgewotCSAgIyBNYWtlIHN1cmUgd2UgaGF2ZSBhdCBsZWFzdCBhbiBlbXB0eSBmaWxlLgotCSAgdGVzdCAtZiAiJG5saXN0IiB8fCA6ID4gIiRubGlzdCIKLQotCSAgaWYgdGVzdCAtbiAiJGV4Y2x1ZGVfZXhwc3ltcyI7IHRoZW4KLQkgICAgJEVHUkVQIC12ICIgKCRleGNsdWRlX2V4cHN5bXMpJCIgIiRubGlzdCIgPiAiJG5saXN0IlQKLQkgICAgJE1WICIkbmxpc3QiVCAiJG5saXN0IgotCSAgZmkKLQotCSAgIyBUcnkgc29ydGluZyBhbmQgdW5pcXVpZnlpbmcgdGhlIG91dHB1dC4KLQkgIGlmICRHUkVQIC12ICJeOiAiIDwgIiRubGlzdCIgfAotCSAgICAgIGlmIHNvcnQgLWsgMyA8L2Rldi9udWxsID4vZGV2L251bGwgMj4mMTsgdGhlbgotCQlzb3J0IC1rIDMKLQkgICAgICBlbHNlCi0JCXNvcnQgKzIKLQkgICAgICBmaSB8Ci0JICAgICAgdW5pcSA+ICIkbmxpc3QiUzsgdGhlbgotCSAgICA6Ci0JICBlbHNlCi0JICAgICRHUkVQIC12ICJeOiAiIDwgIiRubGlzdCIgPiAiJG5saXN0IlMKLQkgIGZpCi0KLQkgIGlmIHRlc3QgLWYgIiRubGlzdCJTOyB0aGVuCi0JICAgIGV2YWwgIiRnbG9iYWxfc3ltYm9sX3RvX2NkZWNsIicgPCAiJG5saXN0IlMgPj4gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiJwotCSAgZWxzZQotCSAgICAkRUNITyAnLyogTk9ORSAqLycgPj4gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiCi0JICBmaQotCi0JICAkRUNITyA+PiAiJG91dHB1dF9vYmpkaXIvJG15X2Rsc3ltcyIgIlwKLQotLyogVGhlIG1hcHBpbmcgYmV0d2VlbiBzeW1ib2wgbmFtZXMgYW5kIHN5bWJvbHMuICAqLwotdHlwZWRlZiBzdHJ1Y3QgewotICBjb25zdCBjaGFyICpuYW1lOwotICB2b2lkICphZGRyZXNzOwotfSBsdF9kbHN5bWxpc3Q7Ci0iCi0JICBjYXNlICRob3N0IGluCi0JICAqY3lnd2luKiB8ICptaW5ndyogKQotCSAgICAkRUNITyA+PiAiJG91dHB1dF9vYmpkaXIvJG15X2Rsc3ltcyIgIlwKLS8qIERBVEEgaW1wb3J0cyBmcm9tIERMTHMgb24gV0lOMzIgY29uJ3QgYmUgY29uc3QsIGJlY2F1c2UKLSAgIHJ1bnRpbWUgcmVsb2NhdGlvbnMgYXJlIHBlcmZvcm1lZCAtLSBzZWUgbGQncyBkb2N1bWVudGF0aW9uCi0gICBvbiBwc2V1ZG8tcmVsb2NzLiAgKi8iCi0JICAgIGx0X2Rsc3ltX2NvbnN0PSA7OwotCSAgKm9zZjUqKQotCSAgICBlY2hvID4+ICIkb3V0cHV0X29iamRpci8kbXlfZGxzeW1zIiAiXAotLyogVGhpcyBzeXN0ZW0gZG9lcyBub3QgY29wZSB3ZWxsIHdpdGggcmVsb2NhdGlvbnMgaW4gY29uc3QgZGF0YSAqLyIKLQkgICAgbHRfZGxzeW1fY29uc3Q9IDs7Ci0JICAqKQotCSAgICBsdF9kbHN5bV9jb25zdD1jb25zdCA7OwotCSAgZXNhYwotCi0JICAkRUNITyA+PiAiJG91dHB1dF9vYmpkaXIvJG15X2Rsc3ltcyIgIlwKLWV4dGVybiAkbHRfZGxzeW1fY29uc3QgbHRfZGxzeW1saXN0Ci1sdF8ke215X3ByZWZpeH1fTFRYX3ByZWxvYWRlZF9zeW1ib2xzW107Ci0kbHRfZGxzeW1fY29uc3QgbHRfZGxzeW1saXN0Ci1sdF8ke215X3ByZWZpeH1fTFRYX3ByZWxvYWRlZF9zeW1ib2xzW10gPQote1wKLSAgeyBcIiRteV9vcmlnaW5hdG9yXCIsICh2b2lkICopIDAgfSwiCi0KLQkgIGV2YWwgIiRnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIiA8ICIkbmxpc3QiID4+ICIkb3V0cHV0X29iamRpci8kbXlfZGxzeW1zIgotCi0JICAkRUNITyA+PiAiJG91dHB1dF9vYmpkaXIvJG15X2Rsc3ltcyIgIlwKLSAgezAsICh2b2lkICopIDB9Ci19OwotCi0vKiBUaGlzIHdvcmtzIGFyb3VuZCBhIHByb2JsZW0gaW4gRnJlZUJTRCBsaW5rZXIgKi8KLSNpZmRlZiBGUkVFQlNEX1dPUktBUk9VTkQKLXN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKSB7Ci0gIHJldHVybiBsdF8ke215X3ByZWZpeH1fTFRYX3ByZWxvYWRlZF9zeW1ib2xzOwotfQotI2VuZGlmCi0KLSNpZmRlZiBfX2NwbHVzcGx1cwotfQotI2VuZGlmXAotIgotCX0gIyAhJG9wdF9kcnlfcnVuCi0KLSAgCXBpY19mbGFnX2Zvcl9zeW10YWJsZT0KLQljYXNlICIkY29tcGlsZV9jb21tYW5kICIgaW4KLQkqIiAtc3RhdGljICIqKSA7OwotCSopCi0JICBjYXNlICRob3N0IGluCi0JICAjIGNvbXBpbGluZyB0aGUgc3ltYm9sIHRhYmxlIGZpbGUgd2l0aCBwaWNfZmxhZyB3b3JrcyBhcm91bmQKLQkgICMgYSBGcmVlQlNEIGJ1ZyB0aGF0IGNhdXNlcyBwcm9ncmFtcyB0byBjcmFzaCB3aGVuIC1sbSBpcwotCSAgIyBsaW5rZWQgYmVmb3JlIGFueSBvdGhlciBQSUMgb2JqZWN0LiAgQnV0IHdlIG11c3Qgbm90IHVzZQotCSAgIyBwaWNfZmxhZyB3aGVuIGxpbmtpbmcgd2l0aCAtc3RhdGljLiAgVGhlIHByb2JsZW0gZXhpc3RzIGluCi0JICAjIEZyZWVCU0QgMi4yLjYgYW5kIGlzIGZpeGVkIGluIEZyZWVCU0QgMy4xLgotCSAgKi0qLWZyZWVic2QyKnwqLSotZnJlZWJzZDMuMCp8Ki0qLWZyZWVic2RlbGYzLjAqKQotCSAgICBwaWNfZmxhZ19mb3Jfc3ltdGFibGU9IiAkcGljX2ZsYWcgLURGUkVFQlNEX1dPUktBUk9VTkQiIDs7Ci0JICAqLSotaHB1eCopCi0JICAgIHBpY19mbGFnX2Zvcl9zeW10YWJsZT0iICRwaWNfZmxhZyIgIDs7Ci0JICAqKQotCSAgICBpZiB0ZXN0ICJYJG15X3BpY19wIiAhPSBYbm87IHRoZW4KLQkgICAgICBwaWNfZmxhZ19mb3Jfc3ltdGFibGU9IiAkcGljX2ZsYWciCi0JICAgIGZpCi0JICAgIDs7Ci0JICBlc2FjCi0JICA7OwotCWVzYWMKLQlzeW10YWJfY2ZsYWdzPQotCWZvciBhcmcgaW4gJExUQ0ZMQUdTOyBkbwotCSAgY2FzZSAkYXJnIGluCi0JICAtcGllIHwgLWZwaWUgfCAtZlBJRSkgOzsKLQkgICopIHN5bXRhYl9jZmxhZ3M9IiRzeW10YWJfY2ZsYWdzICRhcmciIDs7Ci0JICBlc2FjCi0JZG9uZQotCi0JIyBOb3cgY29tcGlsZSB0aGUgZHluYW1pYyBzeW1ib2wgZmlsZS4KLQlmdW5jX3Nob3dfZXZhbCAnKGNkICRvdXRwdXRfb2JqZGlyICYmICRMVENDJHN5bXRhYl9jZmxhZ3MgLWMkbm9fYnVpbHRpbl9mbGFnJHBpY19mbGFnX2Zvcl9zeW10YWJsZSAiJG15X2Rsc3ltcyIpJyAnZXhpdCAkPycKLQotCSMgQ2xlYW4gdXAgdGhlIGdlbmVyYXRlZCBmaWxlcy4KLQlmdW5jX3Nob3dfZXZhbCAnJFJNICIkb3V0cHV0X29iamRpci8kbXlfZGxzeW1zIiAiJG5saXN0IiAiJHtubGlzdH1TIiAiJHtubGlzdH1UIicKLQotCSMgVHJhbnNmb3JtIHRoZSBzeW1ib2wgZmlsZSBpbnRvIHRoZSBjb3JyZWN0IG5hbWUuCi0Jc3ltZmlsZW9iaj0iJG91dHB1dF9vYmpkaXIvJHtteV9vdXRwdXRuYW1lfVMuJG9iamV4dCIKLQljYXNlICRob3N0IGluCi0JKmN5Z3dpbiogfCAqbWluZ3cqICkKLQkgIGlmIHRlc3QgLWYgIiRvdXRwdXRfb2JqZGlyLyRteV9vdXRwdXRuYW1lLmRlZiI7IHRoZW4KLQkgICAgY29tcGlsZV9jb21tYW5kPWAkRUNITyAiWCRjb21waWxlX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlQFNZTUZJTEVAJSRvdXRwdXRfb2JqZGlyLyRteV9vdXRwdXRuYW1lLmRlZiAkc3ltZmlsZW9iaiUiYAotCSAgICBmaW5hbGl6ZV9jb21tYW5kPWAkRUNITyAiWCRmaW5hbGl6ZV9jb21tYW5kIiB8ICRYc2VkIC1lICJzJUBTWU1GSUxFQCUkb3V0cHV0X29iamRpci8kbXlfb3V0cHV0bmFtZS5kZWYgJHN5bWZpbGVvYmolImAKLQkgIGVsc2UKLQkgICAgY29tcGlsZV9jb21tYW5kPWAkRUNITyAiWCRjb21waWxlX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlQFNZTUZJTEVAJSRzeW1maWxlb2JqJSJgCi0JICAgIGZpbmFsaXplX2NvbW1hbmQ9YCRFQ0hPICJYJGZpbmFsaXplX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlQFNZTUZJTEVAJSRzeW1maWxlb2JqJSJgCi0JICBmaQotCSAgOzsKLQkqKQotCSAgY29tcGlsZV9jb21tYW5kPWAkRUNITyAiWCRjb21waWxlX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlQFNZTUZJTEVAJSRzeW1maWxlb2JqJSJgCi0JICBmaW5hbGl6ZV9jb21tYW5kPWAkRUNITyAiWCRmaW5hbGl6ZV9jb21tYW5kIiB8ICRYc2VkIC1lICJzJUBTWU1GSUxFQCUkc3ltZmlsZW9iaiUiYAotCSAgOzsKLQllc2FjCi0JOzsKLSAgICAgICopCi0JZnVuY19mYXRhbF9lcnJvciAidW5rbm93biBzdWZmaXggZm9yIFxgJG15X2Rsc3ltcyciCi0JOzsKLSAgICAgIGVzYWMKLSAgICBlbHNlCi0gICAgICAjIFdlIGtlZXAgZ29pbmcganVzdCBpbiBjYXNlIHRoZSB1c2VyIGRpZG4ndCByZWZlciB0bwotICAgICAgIyBsdF9wcmVsb2FkZWRfc3ltYm9scy4gIFRoZSBsaW5rZXIgd2lsbCBmYWlsIGlmIGdsb2JhbF9zeW1ib2xfcGlwZQotICAgICAgIyByZWFsbHkgd2FzIHJlcXVpcmVkLgotCi0gICAgICAjIE51bGxpZnkgdGhlIHN5bWJvbCBmaWxlLgotICAgICAgY29tcGlsZV9jb21tYW5kPWAkRUNITyAiWCRjb21waWxlX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlIEBTWU1GSUxFQCUlImAKLSAgICAgIGZpbmFsaXplX2NvbW1hbmQ9YCRFQ0hPICJYJGZpbmFsaXplX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlIEBTWU1GSUxFQCUlImAKLSAgICBmaQotfQotCi0jIGZ1bmNfZXh0cmFjdF9hbl9hcmNoaXZlIGRpciBvbGRsaWIKLWZ1bmNfZXh0cmFjdF9hbl9hcmNoaXZlICgpCi17Ci0gICAgJG9wdF9kZWJ1ZwotICAgIGZfZXhfYW5fYXJfZGlyPSIkMSI7IHNoaWZ0Ci0gICAgZl9leF9hbl9hcl9vbGRsaWI9IiQxIgotICAgIGZ1bmNfc2hvd19ldmFsICIoY2QgXCRmX2V4X2FuX2FyX2RpciAmJiAkQVIgeCBcJGZfZXhfYW5fYXJfb2xkbGliKSIgJ2V4aXQgJD8nCi0gICAgaWYgKCRBUiB0ICIkZl9leF9hbl9hcl9vbGRsaWIiIHwgc29ydCB8IHNvcnQgLXVjID4vZGV2L251bGwgMj4mMSk7IHRoZW4KLSAgICAgOgotICAgIGVsc2UKLSAgICAgIGZ1bmNfZmF0YWxfZXJyb3IgIm9iamVjdCBuYW1lIGNvbmZsaWN0cyBpbiBhcmNoaXZlOiAkZl9leF9hbl9hcl9kaXIvJGZfZXhfYW5fYXJfb2xkbGliIgotICAgIGZpCi19Ci0KLQotIyBmdW5jX2V4dHJhY3RfYXJjaGl2ZXMgZ2VudG9wIG9sZGxpYiAuLi4KLWZ1bmNfZXh0cmFjdF9hcmNoaXZlcyAoKQotewotICAgICRvcHRfZGVidWcKLSAgICBteV9nZW50b3A9IiQxIjsgc2hpZnQKLSAgICBteV9vbGRsaWJzPSR7MSsiJEAifQotICAgIG15X29sZG9ianM9IiIKLSAgICBteV94bGliPSIiCi0gICAgbXlfeGFicz0iIgotICAgIG15X3hkaXI9IiIKLQotICAgIGZvciBteV94bGliIGluICRteV9vbGRsaWJzOyBkbwotICAgICAgIyBFeHRyYWN0IHRoZSBvYmplY3RzLgotICAgICAgY2FzZSAkbXlfeGxpYiBpbgotCVtcXC9dKiB8IFtBLVphLXpdOltcXC9dKikgbXlfeGFicz0iJG15X3hsaWIiIDs7Ci0JKikgbXlfeGFicz1gcHdkYCIvJG15X3hsaWIiIDs7Ci0gICAgICBlc2FjCi0gICAgICBmdW5jX2Jhc2VuYW1lICIkbXlfeGxpYiIKLSAgICAgIG15X3hsaWI9IiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIKLSAgICAgIG15X3hsaWJfdT0kbXlfeGxpYgotICAgICAgd2hpbGUgOjsgZG8KLSAgICAgICAgY2FzZSAiICRleHRyYWN0ZWRfYXJjaGl2ZXMgIiBpbgotCSoiICRteV94bGliX3UgIiopCi0JICBleHRyYWN0ZWRfc2VyaWFsPWBleHByICRleHRyYWN0ZWRfc2VyaWFsICsgMWAKLQkgIG15X3hsaWJfdT1sdCRleHRyYWN0ZWRfc2VyaWFsLSRteV94bGliIDs7Ci0JKikgYnJlYWsgOzsKLQllc2FjCi0gICAgICBkb25lCi0gICAgICBleHRyYWN0ZWRfYXJjaGl2ZXM9IiRleHRyYWN0ZWRfYXJjaGl2ZXMgJG15X3hsaWJfdSIKLSAgICAgIG15X3hkaXI9IiRteV9nZW50b3AvJG15X3hsaWJfdSIKLQotICAgICAgZnVuY19ta2Rpcl9wICIkbXlfeGRpciIKLQotICAgICAgY2FzZSAkaG9zdCBpbgotICAgICAgKi1kYXJ3aW4qKQotCWZ1bmNfZWNobyAiRXh0cmFjdGluZyAkbXlfeGFicyIKLQkjIERvIG5vdCBib3RoZXIgZG9pbmcgYW55dGhpbmcgaWYganVzdCBhIGRyeSBydW4KLQkkb3B0X2RyeV9ydW4gfHwgewotCSAgZGFyd2luX29yaWdfZGlyPWBwd2RgCi0JICBjZCAkbXlfeGRpciB8fCBleGl0ICQ/Ci0JICBkYXJ3aW5fYXJjaGl2ZT0kbXlfeGFicwotCSAgZGFyd2luX2N1cmRpcj1gcHdkYAotCSAgZGFyd2luX2Jhc2VfYXJjaGl2ZT1gYmFzZW5hbWUgJGRhcndpbl9hcmNoaXZlYAotCSAgZGFyd2luX2FyY2hlcz1gbGlwbyAtaW5mbyAiJGRhcndpbl9hcmNoaXZlIiAyPi9kZXYvbnVsbCB8ICRHUkVQIEFyY2hpdGVjdHVyZXMgMj4vZGV2L251bGwgfHwgdHJ1ZWAKLQkgIGlmIHRlc3QgLW4gIiRkYXJ3aW5fYXJjaGVzIjsgdGhlbgotCSAgICBkYXJ3aW5fYXJjaGVzPWAkRUNITyAiJGRhcndpbl9hcmNoZXMiIHwgJFNFRCAtZSAncy8uKmFyZTovLydgCi0JICAgIGRhcndpbl9hcmNoPQotCSAgICBmdW5jX2VjaG8gIiRkYXJ3aW5fYmFzZV9hcmNoaXZlIGhhcyBtdWx0aXBsZSBhcmNoaXRlY3R1cmVzICRkYXJ3aW5fYXJjaGVzIgotCSAgICBmb3IgZGFyd2luX2FyY2ggaW4gICRkYXJ3aW5fYXJjaGVzIDsgZG8KLQkgICAgICBmdW5jX21rZGlyX3AgInVuZmF0LSQkLyR7ZGFyd2luX2Jhc2VfYXJjaGl2ZX0tJHtkYXJ3aW5fYXJjaH0iCi0JICAgICAgbGlwbyAtdGhpbiAkZGFyd2luX2FyY2ggLW91dHB1dCAidW5mYXQtJCQvJHtkYXJ3aW5fYmFzZV9hcmNoaXZlfS0ke2Rhcndpbl9hcmNofS8ke2Rhcndpbl9iYXNlX2FyY2hpdmV9IiAiJHtkYXJ3aW5fYXJjaGl2ZX0iCi0JICAgICAgY2QgInVuZmF0LSQkLyR7ZGFyd2luX2Jhc2VfYXJjaGl2ZX0tJHtkYXJ3aW5fYXJjaH0iCi0JICAgICAgZnVuY19leHRyYWN0X2FuX2FyY2hpdmUgImBwd2RgIiAiJHtkYXJ3aW5fYmFzZV9hcmNoaXZlfSIKLQkgICAgICBjZCAiJGRhcndpbl9jdXJkaXIiCi0JICAgICAgJFJNICJ1bmZhdC0kJC8ke2Rhcndpbl9iYXNlX2FyY2hpdmV9LSR7ZGFyd2luX2FyY2h9LyR7ZGFyd2luX2Jhc2VfYXJjaGl2ZX0iCi0JICAgIGRvbmUgIyAkZGFyd2luX2FyY2hlcwotICAgICAgICAgICAgIyMgT2theSBub3cgd2UndmUgYSBidW5jaCBvZiB0aGluIG9iamVjdHMsIGdvdHRhIGZhdHRlbiB0aGVtIHVwIDopCi0JICAgIGRhcndpbl9maWxlbGlzdD1gZmluZCB1bmZhdC0kJCAtdHlwZSBmIC1uYW1lIFwqLm8gLXByaW50IC1vIC1uYW1lIFwqLmxvIC1wcmludHwgeGFyZ3MgYmFzZW5hbWUgfCBzb3J0IC11IHwgJE5MMlNQYAotCSAgICBkYXJ3aW5fZmlsZT0KLQkgICAgZGFyd2luX2ZpbGVzPQotCSAgICBmb3IgZGFyd2luX2ZpbGUgaW4gJGRhcndpbl9maWxlbGlzdDsgZG8KLQkgICAgICBkYXJ3aW5fZmlsZXM9YGZpbmQgdW5mYXQtJCQgLW5hbWUgJGRhcndpbl9maWxlIC1wcmludCB8ICROTDJTUGAKLQkgICAgICBsaXBvIC1jcmVhdGUgLW91dHB1dCAiJGRhcndpbl9maWxlIiAkZGFyd2luX2ZpbGVzCi0JICAgIGRvbmUgIyAkZGFyd2luX2ZpbGVsaXN0Ci0JICAgICRSTSAtcmYgdW5mYXQtJCQKLQkgICAgY2QgIiRkYXJ3aW5fb3JpZ19kaXIiCi0JICBlbHNlCi0JICAgIGNkICRkYXJ3aW5fb3JpZ19kaXIKLQkgICAgZnVuY19leHRyYWN0X2FuX2FyY2hpdmUgIiRteV94ZGlyIiAiJG15X3hhYnMiCi0JICBmaSAjICRkYXJ3aW5fYXJjaGVzCi0JfSAjICEkb3B0X2RyeV9ydW4KLQk7OwotICAgICAgKikKLSAgICAgICAgZnVuY19leHRyYWN0X2FuX2FyY2hpdmUgIiRteV94ZGlyIiAiJG15X3hhYnMiCi0JOzsKLSAgICAgIGVzYWMKLSAgICAgIG15X29sZG9ianM9IiRteV9vbGRvYmpzICJgZmluZCAkbXlfeGRpciAtbmFtZSBcKi4kb2JqZXh0IC1wcmludCAtbyAtbmFtZSBcKi5sbyAtcHJpbnQgfCAkTkwyU1BgCi0gICAgZG9uZQotCi0gICAgZnVuY19leHRyYWN0X2FyY2hpdmVzX3Jlc3VsdD0iJG15X29sZG9ianMiCi19Ci0KLQotCi0jIGZ1bmNfd3JpdGVfbGlidG9vbF9vYmplY3Qgb3V0cHV0X25hbWUgcGljX25hbWUgbm9ucGljX25hbWUKLSMgQ3JlYXRlIGEgbGlidG9vbCBvYmplY3QgZmlsZSAoYW5hbG9nb3VzIHRvIGEgIi5sYSIgZmlsZSksCi0jIGJ1dCBkb24ndCBjcmVhdGUgaXQgaWYgd2UncmUgZG9pbmcgYSBkcnkgcnVuLgotZnVuY193cml0ZV9saWJ0b29sX29iamVjdCAoKQotewotICAgIHdyaXRlX2xpYm9iaj0kezF9Ci0gICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRoZW4KLSAgICAgIHdyaXRlX2xvYmo9XCckezJ9XCcKLSAgICBlbHNlCi0gICAgICB3cml0ZV9sb2JqPW5vbmUKLSAgICBmaQotCi0gICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgotICAgICAgd3JpdGVfb2xkb2JqPVwnJHszfVwnCi0gICAgZWxzZQotICAgICAgd3JpdGVfb2xkb2JqPW5vbmUKLSAgICBmaQotCi0gICAgJG9wdF9kcnlfcnVuIHx8IHsKLSAgICAgIGNhdCA+JHt3cml0ZV9saWJvYmp9VCA8PEVPRgotIyAkd3JpdGVfbGlib2JqIC0gYSBsaWJ0b29sIG9iamVjdCBmaWxlCi0jIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAoR05VICRQQUNLQUdFJFRJTUVTVEFNUCkgJFZFUlNJT04KLSMKLSMgUGxlYXNlIERPIE5PVCBkZWxldGUgdGhpcyBmaWxlIQotIyBJdCBpcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgdGhlIGxpYnJhcnkuCi0KLSMgTmFtZSBvZiB0aGUgUElDIG9iamVjdC4KLXBpY19vYmplY3Q9JHdyaXRlX2xvYmoKLQotIyBOYW1lIG9mIHRoZSBub24tUElDIG9iamVjdAotbm9uX3BpY19vYmplY3Q9JHdyaXRlX29sZG9iagotCi1FT0YKLSAgICAgIG12IC1mICIke3dyaXRlX2xpYm9ian1UIiAiJHt3cml0ZV9saWJvYmp9IgotICAgIH0KLX0KLQotIyBmdW5jX21vZGVfY29tcGlsZSBhcmcuLi4KLWZ1bmNfbW9kZV9jb21waWxlICgpCi17Ci0gICAgJG9wdF9kZWJ1ZwotICAgICMgR2V0IHRoZSBjb21waWxhdGlvbiBjb21tYW5kIGFuZCB0aGUgc291cmNlIGZpbGUuCi0gICAgYmFzZV9jb21waWxlPQotICAgIHNyY2ZpbGU9IiRub25vcHQiICAjICBhbHdheXMga2VlcCBhIG5vbi1lbXB0eSB2YWx1ZSBpbiAic3JjZmlsZSIKLSAgICBzdXBwcmVzc19vcHQ9eWVzCi0gICAgc3VwcHJlc3Nfb3V0cHV0PQotICAgIGFyZ19tb2RlPW5vcm1hbAotICAgIGxpYm9iaj0KLSAgICBsYXRlcj0KLSAgICBwaWVfZmxhZz0KLQotICAgIGZvciBhcmcKLSAgICBkbwotICAgICAgY2FzZSAkYXJnX21vZGUgaW4KLSAgICAgIGFyZyAgKQotCSMgZG8gbm90ICJjb250aW51ZSIuICBJbnN0ZWFkLCBhZGQgdGhpcyB0byBiYXNlX2NvbXBpbGUKLQlsYXN0YXJnPSIkYXJnIgotCWFyZ19tb2RlPW5vcm1hbAotCTs7Ci0KLSAgICAgIHRhcmdldCApCi0JbGlib2JqPSIkYXJnIgotCWFyZ19tb2RlPW5vcm1hbAotCWNvbnRpbnVlCi0JOzsKLQotICAgICAgbm9ybWFsICkKLQkjIEFjY2VwdCBhbnkgY29tbWFuZC1saW5lIG9wdGlvbnMuCi0JY2FzZSAkYXJnIGluCi0JLW8pCi0JICB0ZXN0IC1uICIkbGlib2JqIiAmJiBcCi0JICAgIGZ1bmNfZmF0YWxfZXJyb3IgInlvdSBjYW5ub3Qgc3BlY2lmeSBcYC1vJyBtb3JlIHRoYW4gb25jZSIKLQkgIGFyZ19tb2RlPXRhcmdldAotCSAgY29udGludWUKLQkgIDs7Ci0KLQktcGllIHwgLWZwaWUgfCAtZlBJRSkKLSAgICAgICAgICBwaWVfZmxhZz0iJHBpZV9mbGFnICRhcmciCi0JICBjb250aW51ZQotCSAgOzsKLQotCS1zaGFyZWQgfCAtc3RhdGljIHwgLXByZWZlci1waWMgfCAtcHJlZmVyLW5vbi1waWMpCi0JICBsYXRlcj0iJGxhdGVyICRhcmciCi0JICBjb250aW51ZQotCSAgOzsKLQotCS1uby1zdXBwcmVzcykKLQkgIHN1cHByZXNzX29wdD1ubwotCSAgY29udGludWUKLQkgIDs7Ci0KLQktWGNvbXBpbGVyKQotCSAgYXJnX21vZGU9YXJnICAjICB0aGUgbmV4dCBvbmUgZ29lcyBpbnRvIHRoZSAiYmFzZV9jb21waWxlIiBhcmcgbGlzdAotCSAgY29udGludWUgICAgICAjICBUaGUgY3VycmVudCAic3JjZmlsZSIgd2lsbCBlaXRoZXIgYmUgcmV0YWluZWQgb3IKLQkgIDs7ICAgICAgICAgICAgIyAgcmVwbGFjZWQgbGF0ZXIuICBJIHdvdWxkIGd1ZXNzIHRoYXQgd291bGQgYmUgYSBidWcuCi0KLQktV2MsKikKLQkgIGZ1bmNfc3RyaXBuYW1lICctV2MsJyAnJyAiJGFyZyIKLQkgIGFyZ3M9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAotCSAgbGFzdGFyZz0KLQkgIHNhdmVfaWZzPSIkSUZTIjsgSUZTPScsJwotCSAgZm9yIGFyZyBpbiAkYXJnczsgZG8KLQkgICAgSUZTPSIkc2F2ZV9pZnMiCi0JICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWwgIiRhcmciCi0JICAgIGxhc3Rhcmc9IiRsYXN0YXJnICRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKLQkgIGRvbmUKLQkgIElGUz0iJHNhdmVfaWZzIgotCSAgZnVuY19zdHJpcG5hbWUgJyAnICcnICIkbGFzdGFyZyIKLQkgIGxhc3Rhcmc9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAotCi0JICAjIEFkZCB0aGUgYXJndW1lbnRzIHRvIGJhc2VfY29tcGlsZS4KLQkgIGJhc2VfY29tcGlsZT0iJGJhc2VfY29tcGlsZSAkbGFzdGFyZyIKLQkgIGNvbnRpbnVlCi0JICA7OwotCi0JKikKLQkgICMgQWNjZXB0IHRoZSBjdXJyZW50IGFyZ3VtZW50IGFzIHRoZSBzb3VyY2UgZmlsZS4KLQkgICMgVGhlIHByZXZpb3VzICJzcmNmaWxlIiBiZWNvbWVzIHRoZSBjdXJyZW50IGFyZ3VtZW50LgotCSAgIwotCSAgbGFzdGFyZz0iJHNyY2ZpbGUiCi0JICBzcmNmaWxlPSIkYXJnIgotCSAgOzsKLQllc2FjICAjICBjYXNlICRhcmcKLQk7OwotICAgICAgZXNhYyAgICAjICBjYXNlICRhcmdfbW9kZQotCi0gICAgICAjIEFlc3RoZXRpY2FsbHkgcXVvdGUgdGhlIHByZXZpb3VzIGFyZ3VtZW50LgotICAgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJGxhc3RhcmciCi0gICAgICBiYXNlX2NvbXBpbGU9IiRiYXNlX2NvbXBpbGUgJGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0IgotICAgIGRvbmUgIyBmb3IgYXJnCi0KLSAgICBjYXNlICRhcmdfbW9kZSBpbgotICAgIGFyZykKLSAgICAgIGZ1bmNfZmF0YWxfZXJyb3IgInlvdSBtdXN0IHNwZWNpZnkgYW4gYXJndW1lbnQgZm9yIC1YY29tcGlsZSIKLSAgICAgIDs7Ci0gICAgdGFyZ2V0KQotICAgICAgZnVuY19mYXRhbF9lcnJvciAieW91IG11c3Qgc3BlY2lmeSBhIHRhcmdldCB3aXRoIFxgLW8nIgotICAgICAgOzsKLSAgICAqKQotICAgICAgIyBHZXQgdGhlIG5hbWUgb2YgdGhlIGxpYnJhcnkgb2JqZWN0LgotICAgICAgdGVzdCAteiAiJGxpYm9iaiIgJiYgewotCWZ1bmNfYmFzZW5hbWUgIiRzcmNmaWxlIgotCWxpYm9iaj0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgotICAgICAgfQotICAgICAgOzsKLSAgICBlc2FjCi0KLSAgICAjIFJlY29nbml6ZSBzZXZlcmFsIGRpZmZlcmVudCBmaWxlIHN1ZmZpeGVzLgotICAgICMgSWYgdGhlIHVzZXIgc3BlY2lmaWVzIC1vIGZpbGUubywgaXQgaXMgcmVwbGFjZWQgd2l0aCBmaWxlLmxvCi0gICAgeGZvcm09J1tjQ0ZTaWZtc29dJwotICAgIGNhc2UgJGxpYm9iaiBpbgotICAgICouYWRhKSB4Zm9ybT1hZGEgOzsKLSAgICAqLmFkYikgeGZvcm09YWRiIDs7Ci0gICAgKi5hZHMpIHhmb3JtPWFkcyA7OwotICAgICouYXNtKSB4Zm9ybT1hc20gOzsKLSAgICAqLmMrKykgeGZvcm09YysrIDs7Ci0gICAgKi5jYykgeGZvcm09Y2MgOzsKLSAgICAqLmlpKSB4Zm9ybT1paSA7OwotICAgICouY2xhc3MpIHhmb3JtPWNsYXNzIDs7Ci0gICAgKi5jcHApIHhmb3JtPWNwcCA7OwotICAgICouY3h4KSB4Zm9ybT1jeHggOzsKLSAgICAqLltmRl1bMDldPykgeGZvcm09J1tmRl1bMDldLicgOzsKLSAgICAqLmZvcikgeGZvcm09Zm9yIDs7Ci0gICAgKi5qYXZhKSB4Zm9ybT1qYXZhIDs7Ci0gICAgKi5vYmopIHhmb3JtPW9iaiA7OwotICAgIGVzYWMKLQotICAgIGxpYm9iaj1gJEVDSE8gIlgkbGlib2JqIiB8ICRYc2VkIC1lICJzL1wuJHhmb3JtJC8ubG8vImAKLQotICAgIGNhc2UgJGxpYm9iaiBpbgotICAgICoubG8pIGZ1bmNfbG8ybyAiJGxpYm9iaiI7IG9iaj0kZnVuY19sbzJvX3Jlc3VsdCA7OwotICAgICopCi0gICAgICBmdW5jX2ZhdGFsX2Vycm9yICJjYW5ub3QgZGV0ZXJtaW5lIG5hbWUgb2YgbGlicmFyeSBvYmplY3QgZnJvbSBcYCRsaWJvYmonIgotICAgICAgOzsKLSAgICBlc2FjCi0KLSAgICBmdW5jX2luZmVyX3RhZyAkYmFzZV9jb21waWxlCi0KLSAgICBmb3IgYXJnIGluICRsYXRlcjsgZG8KLSAgICAgIGNhc2UgJGFyZyBpbgotICAgICAgLXNoYXJlZCkKLQl0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAhPSB5ZXMgJiYgXAotCSAgZnVuY19mYXRhbF9jb25maWd1cmF0aW9uICJjYW4gbm90IGJ1aWxkIGEgc2hhcmVkIGxpYnJhcnkiCi0JYnVpbGRfb2xkX2xpYnM9bm8KLQljb250aW51ZQotCTs7Ci0KLSAgICAgIC1zdGF0aWMpCi0JYnVpbGRfbGlidG9vbF9saWJzPW5vCi0JYnVpbGRfb2xkX2xpYnM9eWVzCi0JY29udGludWUKLQk7OwotCi0gICAgICAtcHJlZmVyLXBpYykKLQlwaWNfbW9kZT15ZXMKLQljb250aW51ZQotCTs7Ci0KLSAgICAgIC1wcmVmZXItbm9uLXBpYykKLQlwaWNfbW9kZT1ubwotCWNvbnRpbnVlCi0JOzsKLSAgICAgIGVzYWMKLSAgICBkb25lCi0KLSAgICBmdW5jX3F1b3RlX2Zvcl9ldmFsICIkbGlib2JqIgotICAgIHRlc3QgIlgkbGlib2JqIiAhPSAiWCRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIgXAotICAgICAgJiYgJEVDSE8gIlgkbGlib2JqIiB8ICRHUkVQICdbXX4jXip7fTs8Pj8iJyInIicgCSYoKXxgJFtdJyBcCi0gICAgICAmJiBmdW5jX3dhcm5pbmcgImxpYm9iaiBuYW1lIFxgJGxpYm9iaicgbWF5IG5vdCBjb250YWluIHNoZWxsIHNwZWNpYWwgY2hhcmFjdGVycy4iCi0gICAgZnVuY19iYXNlbmFtZSAiJG9iaiIKLSAgICBvYmpuYW1lPSIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCi0gICAgZnVuY19kaXJuYW1lICIkb2JqIiAiLyIgIiIKLSAgICB4ZGlyPSIkZnVuY19kaXJuYW1lX3Jlc3VsdCIKLSAgICBsb2JqPSR7eGRpcn0kb2JqZGlyLyRvYmpuYW1lCi0KLSAgICB0ZXN0IC16ICIkYmFzZV9jb21waWxlIiAmJiBcCi0gICAgICBmdW5jX2ZhdGFsX2hlbHAgInlvdSBtdXN0IHNwZWNpZnkgYSBjb21waWxhdGlvbiBjb21tYW5kIgotCi0gICAgIyBEZWxldGUgYW55IGxlZnRvdmVyIGxpYnJhcnkgb2JqZWN0cy4KLSAgICBpZiB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0geWVzOyB0aGVuCi0gICAgICByZW1vdmVsaXN0PSIkb2JqICRsb2JqICRsaWJvYmogJHtsaWJvYmp9VCIKLSAgICBlbHNlCi0gICAgICByZW1vdmVsaXN0PSIkbG9iaiAkbGlib2JqICR7bGlib2JqfVQiCi0gICAgZmkKLQotICAgICRvcHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3QKLSAgICB0cmFwICIkb3B0X2RyeV9ydW4gfHwgJFJNICRyZW1vdmVsaXN0OyBleGl0ICRFWElUX0ZBSUxVUkUiIDEgMiAxNQotCi0gICAgIyBPbiBDeWd3aW4gdGhlcmUncyBubyAicmVhbCIgUElDIGZsYWcgc28gd2UgbXVzdCBidWlsZCBib3RoIG9iamVjdCB0eXBlcwotICAgIGNhc2UgJGhvc3Rfb3MgaW4KLSAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBvczIqKQotICAgICAgcGljX21vZGU9ZGVmYXVsdAotICAgICAgOzsKLSAgICBlc2FjCi0gICAgaWYgdGVzdCAiJHBpY19tb2RlIiA9IG5vICYmIHRlc3QgIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgIT0gcGFzc19hbGw7IHRoZW4KLSAgICAgICMgbm9uLVBJQyBjb2RlIGluIHNoYXJlZCBsaWJyYXJpZXMgaXMgbm90IHN1cHBvcnRlZAotICAgICAgcGljX21vZGU9ZGVmYXVsdAotICAgIGZpCi0KLSAgICAjIENhbGN1bGF0ZSB0aGUgZmlsZW5hbWUgb2YgdGhlIG91dHB1dCBvYmplY3QgaWYgY29tcGlsZXIgZG9lcwotICAgICMgbm90IHN1cHBvcnQgLW8gd2l0aCAtYwotICAgIGlmIHRlc3QgIiRjb21waWxlcl9jX28iID0gbm87IHRoZW4KLSAgICAgIG91dHB1dF9vYmo9YCRFQ0hPICJYJHNyY2ZpbGUiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJyAtZSAncyVcLlteLl0qJCUlJ2AuJHtvYmpleHR9Ci0gICAgICBsb2NrZmlsZT0iJG91dHB1dF9vYmoubG9jayIKLSAgICAgIHJlbW92ZWxpc3Q9IiRyZW1vdmVsaXN0ICRvdXRwdXRfb2JqICRsb2NrZmlsZSIKLSAgICAgIHRyYXAgIiRvcHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3Q7IGV4aXQgJEVYSVRfRkFJTFVSRSIgMSAyIDE1Ci0gICAgZWxzZQotICAgICAgb3V0cHV0X29iaj0KLSAgICAgIG5lZWRfbG9ja3M9bm8KLSAgICAgIGxvY2tmaWxlPQotICAgIGZpCi0KLSAgICAjIExvY2sgdGhpcyBjcml0aWNhbCBzZWN0aW9uIGlmIGl0IGlzIG5lZWRlZAotICAgICMgV2UgdXNlIHRoaXMgc2NyaXB0IGZpbGUgdG8gbWFrZSB0aGUgbGluaywgaXQgYXZvaWRzIGNyZWF0aW5nIGEgbmV3IGZpbGUKLSAgICBpZiB0ZXN0ICIkbmVlZF9sb2NrcyIgPSB5ZXM7IHRoZW4KLSAgICAgIHVudGlsICRvcHRfZHJ5X3J1biB8fCBsbiAiJHByb2dwYXRoIiAiJGxvY2tmaWxlIiAyPi9kZXYvbnVsbDsgZG8KLQlmdW5jX2VjaG8gIldhaXRpbmcgZm9yICRsb2NrZmlsZSB0byBiZSByZW1vdmVkIgotCXNsZWVwIDIKLSAgICAgIGRvbmUKLSAgICBlbGlmIHRlc3QgIiRuZWVkX2xvY2tzIiA9IHdhcm47IHRoZW4KLSAgICAgIGlmIHRlc3QgLWYgIiRsb2NrZmlsZSI7IHRoZW4KLQkkRUNITyAiXAotKioqIEVSUk9SLCAkbG9ja2ZpbGUgZXhpc3RzIGFuZCBjb250YWluczoKLWBjYXQgJGxvY2tmaWxlIDI+L2Rldi9udWxsYAotCi1UaGlzIGluZGljYXRlcyB0aGF0IGFub3RoZXIgcHJvY2VzcyBpcyB0cnlpbmcgdG8gdXNlIHRoZSBzYW1lCi10ZW1wb3Jhcnkgb2JqZWN0IGZpbGUsIGFuZCBsaWJ0b29sIGNvdWxkIG5vdCB3b3JrIGFyb3VuZCBpdCBiZWNhdXNlCi15b3VyIGNvbXBpbGVyIGRvZXMgbm90IHN1cHBvcnQgXGAtYycgYW5kIFxgLW8nIHRvZ2V0aGVyLiAgSWYgeW91Ci1yZXBlYXQgdGhpcyBjb21waWxhdGlvbiwgaXQgbWF5IHN1Y2NlZWQsIGJ5IGNoYW5jZSwgYnV0IHlvdSBoYWQgYmV0dGVyCi1hdm9pZCBwYXJhbGxlbCBidWlsZHMgKG1ha2UgLWopIGluIHRoaXMgcGxhdGZvcm0sIG9yIGdldCBhIGJldHRlcgotY29tcGlsZXIuIgotCi0JJG9wdF9kcnlfcnVuIHx8ICRSTSAkcmVtb3ZlbGlzdAotCWV4aXQgJEVYSVRfRkFJTFVSRQotICAgICAgZmkKLSAgICAgICRFQ0hPICIkc3JjZmlsZSIgPiAiJGxvY2tmaWxlIgotICAgIGZpCi0KLSAgICBpZiB0ZXN0IC1uICIkZml4X3NyY2ZpbGVfcGF0aCI7IHRoZW4KLSAgICAgIGV2YWwgc3JjZmlsZT1cIiRmaXhfc3JjZmlsZV9wYXRoXCIKLSAgICBmaQotICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWwgIiRzcmNmaWxlIgotICAgIHFzcmNmaWxlPSRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdAotCi0gICAgJG9wdF9kcnlfcnVuIHx8ICRSTSAiJGxpYm9iaiIgIiR7bGlib2JqfVQiCi0KLSAgICAjIE9ubHkgYnVpbGQgYSBQSUMgb2JqZWN0IGlmIHdlIGFyZSBidWlsZGluZyBsaWJ0b29sIGxpYnJhcmllcy4KLSAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHllczsgdGhlbgotICAgICAgIyBXaXRob3V0IHRoaXMgYXNzaWdubWVudCwgYmFzZV9jb21waWxlIGdldHMgZW1wdGllZC4KLSAgICAgIGZic2RfaGlkZW91c19zaF9idWc9JGJhc2VfY29tcGlsZQotCi0gICAgICBpZiB0ZXN0ICIkcGljX21vZGUiICE9IG5vOyB0aGVuCi0JY29tbWFuZD0iJGJhc2VfY29tcGlsZSAkcXNyY2ZpbGUgJHBpY19mbGFnIgotICAgICAgZWxzZQotCSMgRG9uJ3QgYnVpbGQgUElDIGNvZGUKLQljb21tYW5kPSIkYmFzZV9jb21waWxlICRxc3JjZmlsZSIKLSAgICAgIGZpCi0KLSAgICAgIGZ1bmNfbWtkaXJfcCAiJHhkaXIkb2JqZGlyIgotCi0gICAgICBpZiB0ZXN0IC16ICIkb3V0cHV0X29iaiI7IHRoZW4KLQkjIFBsYWNlIFBJQyBvYmplY3RzIGluICRvYmpkaXIKLQljb21tYW5kPSIkY29tbWFuZCAtbyAkbG9iaiIKLSAgICAgIGZpCi0KLSAgICAgICRvcHRfZHJ5X3J1biB8fCAkUk0gIiRsb2JqIiAiJG91dHB1dF9vYmoiCi0KLSAgICAgIGZ1bmNfc2hvd19ldmFsICIkY29tbWFuZCIJXAotICAgICAgICAgICd0ZXN0IC1uICIkb3V0cHV0X29iaiIgJiYgJFJNICRyZW1vdmVsaXN0OyBleGl0ICRFWElUX0ZBSUxVUkUnCi0KLSAgICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tzIiA9IHdhcm4gJiYKLQkgdGVzdCAiWGBjYXQgJGxvY2tmaWxlIDI+L2Rldi9udWxsYCIgIT0gIlgkc3JjZmlsZSI7IHRoZW4KLQkkRUNITyAiXAotKioqIEVSUk9SLCAkbG9ja2ZpbGUgY29udGFpbnM6Ci1gY2F0ICRsb2NrZmlsZSAyPi9kZXYvbnVsbGAKLQotYnV0IGl0IHNob3VsZCBjb250YWluOgotJHNyY2ZpbGUKLQotVGhpcyBpbmRpY2F0ZXMgdGhhdCBhbm90aGVyIHByb2Nlc3MgaXMgdHJ5aW5nIHRvIHVzZSB0aGUgc2FtZQotdGVtcG9yYXJ5IG9iamVjdCBmaWxlLCBhbmQgbGlidG9vbCBjb3VsZCBub3Qgd29yayBhcm91bmQgaXQgYmVjYXVzZQoteW91ciBjb21waWxlciBkb2VzIG5vdCBzdXBwb3J0IFxgLWMnIGFuZCBcYC1vJyB0b2dldGhlci4gIElmIHlvdQotcmVwZWF0IHRoaXMgY29tcGlsYXRpb24sIGl0IG1heSBzdWNjZWVkLCBieSBjaGFuY2UsIGJ1dCB5b3UgaGFkIGJldHRlcgotYXZvaWQgcGFyYWxsZWwgYnVpbGRzIChtYWtlIC1qKSBpbiB0aGlzIHBsYXRmb3JtLCBvciBnZXQgYSBiZXR0ZXIKLWNvbXBpbGVyLiIKLQotCSRvcHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3QKLQlleGl0ICRFWElUX0ZBSUxVUkUKLSAgICAgIGZpCi0KLSAgICAgICMgSnVzdCBtb3ZlIHRoZSBvYmplY3QgaWYgbmVlZGVkLCB0aGVuIGdvIG9uIHRvIGNvbXBpbGUgdGhlIG5leHQgb25lCi0gICAgICBpZiB0ZXN0IC1uICIkb3V0cHV0X29iaiIgJiYgdGVzdCAiWCRvdXRwdXRfb2JqIiAhPSAiWCRsb2JqIjsgdGhlbgotCWZ1bmNfc2hvd19ldmFsICckTVYgIiRvdXRwdXRfb2JqIiAiJGxvYmoiJyBcCi0JICAnZXJyb3I9JD87ICRvcHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3Q7IGV4aXQgJGVycm9yJwotICAgICAgZmkKLQotICAgICAgIyBBbGxvdyBlcnJvciBtZXNzYWdlcyBvbmx5IGZyb20gdGhlIGZpcnN0IGNvbXBpbGF0aW9uLgotICAgICAgaWYgdGVzdCAiJHN1cHByZXNzX29wdCIgPSB5ZXM7IHRoZW4KLQlzdXBwcmVzc19vdXRwdXQ9JyA+L2Rldi9udWxsIDI+JjEnCi0gICAgICBmaQotICAgIGZpCi0KLSAgICAjIE9ubHkgYnVpbGQgYSBwb3NpdGlvbi1kZXBlbmRlbnQgb2JqZWN0IGlmIHdlIGJ1aWxkIG9sZCBsaWJyYXJpZXMuCi0gICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgotICAgICAgaWYgdGVzdCAiJHBpY19tb2RlIiAhPSB5ZXM7IHRoZW4KLQkjIERvbid0IGJ1aWxkIFBJQyBjb2RlCi0JY29tbWFuZD0iJGJhc2VfY29tcGlsZSAkcXNyY2ZpbGUkcGllX2ZsYWciCi0gICAgICBlbHNlCi0JY29tbWFuZD0iJGJhc2VfY29tcGlsZSAkcXNyY2ZpbGUgJHBpY19mbGFnIgotICAgICAgZmkKLSAgICAgIGlmIHRlc3QgIiRjb21waWxlcl9jX28iID0geWVzOyB0aGVuCi0JY29tbWFuZD0iJGNvbW1hbmQgLW8gJG9iaiIKLSAgICAgIGZpCi0KLSAgICAgICMgU3VwcHJlc3MgY29tcGlsZXIgb3V0cHV0IGlmIHdlIGFscmVhZHkgZGlkIGEgUElDIGNvbXBpbGF0aW9uLgotICAgICAgY29tbWFuZD0iJGNvbW1hbmQkc3VwcHJlc3Nfb3V0cHV0IgotICAgICAgJG9wdF9kcnlfcnVuIHx8ICRSTSAiJG9iaiIgIiRvdXRwdXRfb2JqIgotICAgICAgZnVuY19zaG93X2V2YWwgIiRjb21tYW5kIiBcCi0gICAgICAgICckb3B0X2RyeV9ydW4gfHwgJFJNICRyZW1vdmVsaXN0OyBleGl0ICRFWElUX0ZBSUxVUkUnCi0KLSAgICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tzIiA9IHdhcm4gJiYKLQkgdGVzdCAiWGBjYXQgJGxvY2tmaWxlIDI+L2Rldi9udWxsYCIgIT0gIlgkc3JjZmlsZSI7IHRoZW4KLQkkRUNITyAiXAotKioqIEVSUk9SLCAkbG9ja2ZpbGUgY29udGFpbnM6Ci1gY2F0ICRsb2NrZmlsZSAyPi9kZXYvbnVsbGAKLQotYnV0IGl0IHNob3VsZCBjb250YWluOgotJHNyY2ZpbGUKLQotVGhpcyBpbmRpY2F0ZXMgdGhhdCBhbm90aGVyIHByb2Nlc3MgaXMgdHJ5aW5nIHRvIHVzZSB0aGUgc2FtZQotdGVtcG9yYXJ5IG9iamVjdCBmaWxlLCBhbmQgbGlidG9vbCBjb3VsZCBub3Qgd29yayBhcm91bmQgaXQgYmVjYXVzZQoteW91ciBjb21waWxlciBkb2VzIG5vdCBzdXBwb3J0IFxgLWMnIGFuZCBcYC1vJyB0b2dldGhlci4gIElmIHlvdQotcmVwZWF0IHRoaXMgY29tcGlsYXRpb24sIGl0IG1heSBzdWNjZWVkLCBieSBjaGFuY2UsIGJ1dCB5b3UgaGFkIGJldHRlcgotYXZvaWQgcGFyYWxsZWwgYnVpbGRzIChtYWtlIC1qKSBpbiB0aGlzIHBsYXRmb3JtLCBvciBnZXQgYSBiZXR0ZXIKLWNvbXBpbGVyLiIKLQotCSRvcHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3QKLQlleGl0ICRFWElUX0ZBSUxVUkUKLSAgICAgIGZpCi0KLSAgICAgICMgSnVzdCBtb3ZlIHRoZSBvYmplY3QgaWYgbmVlZGVkCi0gICAgICBpZiB0ZXN0IC1uICIkb3V0cHV0X29iaiIgJiYgdGVzdCAiWCRvdXRwdXRfb2JqIiAhPSAiWCRvYmoiOyB0aGVuCi0JZnVuY19zaG93X2V2YWwgJyRNViAiJG91dHB1dF9vYmoiICIkb2JqIicgXAotCSAgJ2Vycm9yPSQ/OyAkb3B0X2RyeV9ydW4gfHwgJFJNICRyZW1vdmVsaXN0OyBleGl0ICRlcnJvcicKLSAgICAgIGZpCi0gICAgZmkKLQotICAgICRvcHRfZHJ5X3J1biB8fCB7Ci0gICAgICBmdW5jX3dyaXRlX2xpYnRvb2xfb2JqZWN0ICIkbGlib2JqIiAiJG9iamRpci8kb2JqbmFtZSIgIiRvYmpuYW1lIgotCi0gICAgICAjIFVubG9jayB0aGUgY3JpdGljYWwgc2VjdGlvbiBpZiBpdCB3YXMgbG9ja2VkCi0gICAgICBpZiB0ZXN0ICIkbmVlZF9sb2NrcyIgIT0gbm87IHRoZW4KLSAgICAgICAgJFJNICIkbG9ja2ZpbGUiCi0gICAgICBmaQotICAgIH0KLQotICAgIGV4aXQgJEVYSVRfU1VDQ0VTUwotfQotCi10ZXN0ICIkbW9kZSIgPSBjb21waWxlICYmIGZ1bmNfbW9kZV9jb21waWxlICR7MSsiJEAifQotCiAKICMgZnVuY19tb2RlX2V4ZWN1dGUgYXJnLi4uCiBmdW5jX21vZGVfZXhlY3V0ZSAoKQpAQCAtMjAyOSw5ICsxNzE1LDEzIEBACiAgICAgICAtKikgOzsKICAgICAgICopCiAJIyBEbyBhIHRlc3QgdG8gc2VlIGlmIHRoaXMgaXMgcmVhbGx5IGEgbGlidG9vbCBwcm9ncmFtLgotCWlmIGZ1bmNfbHR3cmFwcGVyX3AgIiRmaWxlIjsgdGhlbgorCWlmIGZ1bmNfbHR3cmFwcGVyX3NjcmlwdF9wICIkZmlsZSI7IHRoZW4KIAkgIGZ1bmNfc291cmNlICIkZmlsZSIKLQorCSAgIyBUcmFuc2Zvcm0gYXJnIHRvIHdyYXBwZWQgbmFtZS4KKwkgIGZpbGU9IiRwcm9nZGlyLyRwcm9ncmFtIgorCWVsaWYgZnVuY19sdHdyYXBwZXJfZXhlY3V0YWJsZV9wICIkZmlsZSI7IHRoZW4KKwkgIGZ1bmNfbHR3cmFwcGVyX3NjcmlwdG5hbWUgIiRmaWxlIgorCSAgZnVuY19zb3VyY2UgIiRmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lX3Jlc3VsdCIKIAkgICMgVHJhbnNmb3JtIGFyZyB0byB3cmFwcGVkIG5hbWUuCiAJICBmaWxlPSIkcHJvZ2Rpci8kcHJvZ3JhbSIKIAlmaQpAQCAtMjA0OSw3ICsxNzM5LDcgQEAKICAgICAgIGZpCiAKICAgICAgICMgUmVzdG9yZSBzYXZlZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMKLSAgICAgIGZvciBsdF92YXIgaW4gTEFORyBMQ19BTEwgTENfQ1RZUEUgTENfQ09MTEFURSBMQ19NRVNTQUdFUworICAgICAgZm9yIGx0X3ZhciBpbiBMQU5HIExBTkdVQUdFIExDX0FMTCBMQ19DVFlQRSBMQ19DT0xMQVRFIExDX01FU1NBR0VTCiAgICAgICBkbwogCWV2YWwgImlmIHRlc3QgXCJcJHtzYXZlXyRsdF92YXIrc2V0fVwiID0gc2V0OyB0aGVuCiAgICAgICAgICAgICAgICAgJGx0X3Zhcj1cJHNhdmVfJGx0X3ZhcjsgZXhwb3J0ICRsdF92YXIKQEAgLTIxOTcsNyArMTg4Nyw3IEBACiAgICAgICBjYXNlICRhcmcgaW4KICAgICAgIC1kKSBpc2Rpcj15ZXMgOzsKICAgICAgIC1mKQotICAgICAgCWNhc2UgIiAkaW5zdGFsbF9wcm9nICIgaW4KKwljYXNlICIgJGluc3RhbGxfcHJvZyAiIGluCiAJKltcXFwgL11jcFwgKikgOzsKIAkqKSBwcmV2PSRhcmcgOzsKIAllc2FjCkBAIC0yMjUxLDkgKzE5NDEsOCBAQAogICAgICAgZGVzdGRpcj0iJGRlc3QiCiAgICAgICBkZXN0bmFtZT0KICAgICBlbHNlCi0gICAgICBmdW5jX2Rpcm5hbWUgIiRkZXN0IiAiIiAiLiIKKyAgICAgIGZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgIiRkZXN0IiAiIiAiLiIKICAgICAgIGRlc3RkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgotICAgICAgZnVuY19iYXNlbmFtZSAiJGRlc3QiCiAgICAgICBkZXN0bmFtZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgogCiAgICAgICAjIE5vdCBhIGRpcmVjdG9yeSwgc28gY2hlY2sgdG8gc2VlIHRoYXQgdGhlcmUgaXMgb25seSBvbmUgZmlsZSBzcGVjaWZpZWQuCkBAIC0yMzU4LDcgKzIwNDcsNyBAQAogCSAgICAgICdleGl0ICQ/JwogCSAgdHN0cmlwbWU9IiRzdHJpcG1lIgogCSAgY2FzZSAkaG9zdF9vcyBpbgotCSAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqKQorCSAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogCSAgICBjYXNlICRyZWFsbmFtZSBpbgogCSAgICAqLmRsbC5hKQogCSAgICAgIHRzdHJpcG1lPSIiCkBAIC0yNDY0LDE1ICsyMTUzLDIwIEBACiAKIAkjIERvIGEgdGVzdCB0byBzZWUgaWYgdGhpcyBpcyByZWFsbHkgYSBsaWJ0b29sIHByb2dyYW0uCiAJY2FzZSAkaG9zdCBpbgotCSpjeWd3aW4qfCptaW5ndyopCi0JICAgIGZ1bmNfc3RyaXBuYW1lICcnICcuZXhlJyAiJGZpbGUiCi0JICAgIHdyYXBwZXI9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAorCSpjeWd3aW4qIHwgKm1pbmd3KikKKwkgICAgaWYgZnVuY19sdHdyYXBwZXJfZXhlY3V0YWJsZV9wICIkZmlsZSI7IHRoZW4KKwkgICAgICBmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lICIkZmlsZSIKKwkgICAgICB3cmFwcGVyPSRmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lX3Jlc3VsdAorCSAgICBlbHNlCisJICAgICAgZnVuY19zdHJpcG5hbWUgJycgJy5leGUnICIkZmlsZSIKKwkgICAgICB3cmFwcGVyPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKKwkgICAgZmkKIAkgICAgOzsKIAkqKQogCSAgICB3cmFwcGVyPSRmaWxlCiAJICAgIDs7CiAJZXNhYwotCWlmIGZ1bmNfbHR3cmFwcGVyX3AgIiR3cmFwcGVyIjsgdGhlbgorCWlmIGZ1bmNfbHR3cmFwcGVyX3NjcmlwdF9wICIkd3JhcHBlciI7IHRoZW4KIAkgIG5vdGluc3RfZGVwbGlicz0KIAkgIHJlbGlua19jb21tYW5kPQogCkBAIC0yNTg5LDEyICsyMjgzLDE3NTcgQEAKIHRlc3QgIiRtb2RlIiA9IGluc3RhbGwgJiYgZnVuY19tb2RlX2luc3RhbGwgJHsxKyIkQCJ9CiAKIAorIyBmdW5jX2dlbmVyYXRlX2Rsc3ltcyBvdXRwdXRuYW1lIG9yaWdpbmF0b3IgcGljX3AKKyMgRXh0cmFjdCBzeW1ib2xzIGZyb20gZGxwcmVmaWxlcyBhbmQgY3JlYXRlICR7b3V0cHV0bmFtZX1TLm8gd2l0aAorIyBhIGRscHJlb3BlbiBzeW1ib2wgdGFibGUuCitmdW5jX2dlbmVyYXRlX2Rsc3ltcyAoKQoreworICAgICRvcHRfZGVidWcKKyAgICBteV9vdXRwdXRuYW1lPSIkMSIKKyAgICBteV9vcmlnaW5hdG9yPSIkMiIKKyAgICBteV9waWNfcD0iJHszLW5vfSIKKyAgICBteV9wcmVmaXg9YCRFQ0hPICIkbXlfb3JpZ2luYXRvciIgfCBzZWQgJ3MlW15hLXpBLVowLTldJV8lZydgCisgICAgbXlfZGxzeW1zPQorCisgICAgaWYgdGVzdCAtbiAiJGRsZmlsZXMkZGxwcmVmaWxlcyIgfHwgdGVzdCAiJGRsc2VsZiIgIT0gbm87IHRoZW4KKyAgICAgIGlmIHRlc3QgLW4gIiROTSIgJiYgdGVzdCAtbiAiJGdsb2JhbF9zeW1ib2xfcGlwZSI7IHRoZW4KKwlteV9kbHN5bXM9IiR7bXlfb3V0cHV0bmFtZX1TLmMiCisgICAgICBlbHNlCisJZnVuY19lcnJvciAibm90IGNvbmZpZ3VyZWQgdG8gZXh0cmFjdCBnbG9iYWwgc3ltYm9scyBmcm9tIGRscHJlb3BlbmVkIGZpbGVzIgorICAgICAgZmkKKyAgICBmaQorCisgICAgaWYgdGVzdCAtbiAiJG15X2Rsc3ltcyI7IHRoZW4KKyAgICAgIGNhc2UgJG15X2Rsc3ltcyBpbgorICAgICAgIiIpIDs7CisgICAgICAqLmMpCisJIyBEaXNjb3ZlciB0aGUgbmxpc3Qgb2YgZWFjaCBvZiB0aGUgZGxmaWxlcy4KKwlubGlzdD0iJG91dHB1dF9vYmpkaXIvJHtteV9vdXRwdXRuYW1lfS5ubSIKKworCWZ1bmNfc2hvd19ldmFsICIkUk0gJG5saXN0ICR7bmxpc3R9UyAke25saXN0fVQiCisKKwkjIFBhcnNlIHRoZSBuYW1lIGxpc3QgaW50byBhIHNvdXJjZSBmaWxlLgorCWZ1bmNfdmVyYm9zZSAiY3JlYXRpbmcgJG91dHB1dF9vYmpkaXIvJG15X2Rsc3ltcyIKKworCSRvcHRfZHJ5X3J1biB8fCAkRUNITyA+ICIkb3V0cHV0X29iamRpci8kbXlfZGxzeW1zIiAiXAorLyogJG15X2Rsc3ltcyAtIHN5bWJvbCByZXNvbHV0aW9uIHRhYmxlIGZvciBcYCRteV9vdXRwdXRuYW1lJyBkbHN5bSBlbXVsYXRpb24uICovCisvKiBHZW5lcmF0ZWQgYnkgJFBST0dSQU0gKEdOVSAkUEFDS0FHRSRUSU1FU1RBTVApICRWRVJTSU9OICovCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuIFwiQ1wiIHsKKyNlbmRpZgorCisvKiBFeHRlcm5hbCBzeW1ib2wgZGVjbGFyYXRpb25zIGZvciB0aGUgY29tcGlsZXIuICovXAorIgorCisJaWYgdGVzdCAiJGRsc2VsZiIgPSB5ZXM7IHRoZW4KKwkgIGZ1bmNfdmVyYm9zZSAiZ2VuZXJhdGluZyBzeW1ib2wgbGlzdCBmb3IgXGAkb3V0cHV0JyIKKworCSAgJG9wdF9kcnlfcnVuIHx8IGVjaG8gJzogQFBST0dSQU1AICcgPiAiJG5saXN0IgorCisJICAjIEFkZCBvdXIgb3duIHByb2dyYW0gb2JqZWN0cyB0byB0aGUgc3ltYm9sIGxpc3QuCisJICBwcm9nZmlsZXM9YCRFQ0hPICJYJG9ianMkb2xkX2RlcGxpYnMiIHwgJFNQMk5MIHwgJFhzZWQgLWUgIiRsbzJvIiB8ICROTDJTUGAKKwkgIGZvciBwcm9nZmlsZSBpbiAkcHJvZ2ZpbGVzOyBkbworCSAgICBmdW5jX3ZlcmJvc2UgImV4dHJhY3RpbmcgZ2xvYmFsIEMgc3ltYm9scyBmcm9tIFxgJHByb2dmaWxlJyIKKwkgICAgJG9wdF9kcnlfcnVuIHx8IGV2YWwgIiROTSAkcHJvZ2ZpbGUgfCAkZ2xvYmFsX3N5bWJvbF9waXBlID4+ICckbmxpc3QnIgorCSAgZG9uZQorCisJICBpZiB0ZXN0IC1uICIkZXhjbHVkZV9leHBzeW1zIjsgdGhlbgorCSAgICAkb3B0X2RyeV9ydW4gfHwgeworCSAgICAgIGV2YWwgJyRFR1JFUCAtdiAiICgkZXhjbHVkZV9leHBzeW1zKSQiICIkbmxpc3QiID4gIiRubGlzdCJUJworCSAgICAgIGV2YWwgJyRNViAiJG5saXN0IlQgIiRubGlzdCInCisJICAgIH0KKwkgIGZpCisKKwkgIGlmIHRlc3QgLW4gIiRleHBvcnRfc3ltYm9sc19yZWdleCI7IHRoZW4KKwkgICAgJG9wdF9kcnlfcnVuIHx8IHsKKwkgICAgICBldmFsICckRUdSRVAgLWUgIiRleHBvcnRfc3ltYm9sc19yZWdleCIgIiRubGlzdCIgPiAiJG5saXN0IlQnCisJICAgICAgZXZhbCAnJE1WICIkbmxpc3QiVCAiJG5saXN0IicKKwkgICAgfQorCSAgZmkKKworCSAgIyBQcmVwYXJlIHRoZSBsaXN0IG9mIGV4cG9ydGVkIHN5bWJvbHMKKwkgIGlmIHRlc3QgLXogIiRleHBvcnRfc3ltYm9scyI7IHRoZW4KKwkgICAgZXhwb3J0X3N5bWJvbHM9IiRvdXRwdXRfb2JqZGlyLyRvdXRwdXRuYW1lLmV4cCIKKwkgICAgJG9wdF9kcnlfcnVuIHx8IHsKKwkgICAgICAkUk0gJGV4cG9ydF9zeW1ib2xzCisJICAgICAgZXZhbCAiJHtTRUR9IC1uIC1lICcvXjogQFBST0dSQU1AICQvZCcgLWUgJ3MvXi4qIFwoLipcKSQvXDEvcCcgIic8ICIkbmxpc3QiID4gIiRleHBvcnRfc3ltYm9scyInCisJICAgICAgY2FzZSAkaG9zdCBpbgorCSAgICAgICpjeWd3aW4qIHwgKm1pbmd3KiB8ICpjZWdjYyogKQorICAgICAgICAgICAgICAgIGV2YWwgImVjaG8gRVhQT1JUUyAiJz4gIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXRuYW1lLmRlZiInCisgICAgICAgICAgICAgICAgZXZhbCAnY2F0ICIkZXhwb3J0X3N5bWJvbHMiID4+ICIkb3V0cHV0X29iamRpci8kb3V0cHV0bmFtZS5kZWYiJworCSAgICAgICAgOzsKKwkgICAgICBlc2FjCisJICAgIH0KKwkgIGVsc2UKKwkgICAgJG9wdF9kcnlfcnVuIHx8IHsKKwkgICAgICBldmFsICIke1NFRH0gLWUgJ3MvXChbXS5bKl4kXVwpL1xcXFxcMS9nJyAtZSAncy9eLyAvJyAtZSAncy8kLyQvJyInIDwgIiRleHBvcnRfc3ltYm9scyIgPiAiJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUuZXhwIicKKwkgICAgICBldmFsICckR1JFUCAtZiAiJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUuZXhwIiA8ICIkbmxpc3QiID4gIiRubGlzdCJUJworCSAgICAgIGV2YWwgJyRNViAiJG5saXN0IlQgIiRubGlzdCInCisJICAgICAgY2FzZSAkaG9zdCBpbgorCSAgICAgICAgKmN5Z3dpbiB8ICptaW5ndyogfCAqY2VnY2MqICkKKwkgICAgICAgICAgZXZhbCAiZWNobyBFWFBPUlRTICInPiAiJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUuZGVmIicKKwkgICAgICAgICAgZXZhbCAnY2F0ICIkbmxpc3QiID4+ICIkb3V0cHV0X29iamRpci8kb3V0cHV0bmFtZS5kZWYiJworCSAgICAgICAgICA7OworCSAgICAgIGVzYWMKKwkgICAgfQorCSAgZmkKKwlmaQorCisJZm9yIGRscHJlZmlsZSBpbiAkZGxwcmVmaWxlczsgZG8KKwkgIGZ1bmNfdmVyYm9zZSAiZXh0cmFjdGluZyBnbG9iYWwgQyBzeW1ib2xzIGZyb20gXGAkZGxwcmVmaWxlJyIKKwkgIGZ1bmNfYmFzZW5hbWUgIiRkbHByZWZpbGUiCisJICBuYW1lPSIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCisJICAkb3B0X2RyeV9ydW4gfHwgeworCSAgICBldmFsICckRUNITyAiOiAkbmFtZSAiID4+ICIkbmxpc3QiJworCSAgICBldmFsICIkTk0gJGRscHJlZmlsZSAyPi9kZXYvbnVsbCB8ICRnbG9iYWxfc3ltYm9sX3BpcGUgPj4gJyRubGlzdCciCisJICB9CisJZG9uZQorCisJJG9wdF9kcnlfcnVuIHx8IHsKKwkgICMgTWFrZSBzdXJlIHdlIGhhdmUgYXQgbGVhc3QgYW4gZW1wdHkgZmlsZS4KKwkgIHRlc3QgLWYgIiRubGlzdCIgfHwgOiA+ICIkbmxpc3QiCisKKwkgIGlmIHRlc3QgLW4gIiRleGNsdWRlX2V4cHN5bXMiOyB0aGVuCisJICAgICRFR1JFUCAtdiAiICgkZXhjbHVkZV9leHBzeW1zKSQiICIkbmxpc3QiID4gIiRubGlzdCJUCisJICAgICRNViAiJG5saXN0IlQgIiRubGlzdCIKKwkgIGZpCisKKwkgICMgVHJ5IHNvcnRpbmcgYW5kIHVuaXF1aWZ5aW5nIHRoZSBvdXRwdXQuCisJICBpZiAkR1JFUCAtdiAiXjogIiA8ICIkbmxpc3QiIHwKKwkgICAgICBpZiBzb3J0IC1rIDMgPC9kZXYvbnVsbCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKwkJc29ydCAtayAzCisJICAgICAgZWxzZQorCQlzb3J0ICsyCisJICAgICAgZmkgfAorCSAgICAgIHVuaXEgPiAiJG5saXN0IlM7IHRoZW4KKwkgICAgOgorCSAgZWxzZQorCSAgICAkR1JFUCAtdiAiXjogIiA8ICIkbmxpc3QiID4gIiRubGlzdCJTCisJICBmaQorCisJICBpZiB0ZXN0IC1mICIkbmxpc3QiUzsgdGhlbgorCSAgICBldmFsICIkZ2xvYmFsX3N5bWJvbF90b19jZGVjbCInIDwgIiRubGlzdCJTID4+ICIkb3V0cHV0X29iamRpci8kbXlfZGxzeW1zIicKKwkgIGVsc2UKKwkgICAgJEVDSE8gJy8qIE5PTkUgKi8nID4+ICIkb3V0cHV0X29iamRpci8kbXlfZGxzeW1zIgorCSAgZmkKKworCSAgJEVDSE8gPj4gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiICJcCisKKy8qIFRoZSBtYXBwaW5nIGJldHdlZW4gc3ltYm9sIG5hbWVzIGFuZCBzeW1ib2xzLiAgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgY29uc3QgY2hhciAqbmFtZTsKKyAgdm9pZCAqYWRkcmVzczsKK30gbHRfZGxzeW1saXN0OworIgorCSAgY2FzZSAkaG9zdCBpbgorCSAgKmN5Z3dpbiogfCAqbWluZ3cqIHwgKmNlZ2NjKiApCisJICAgICRFQ0hPID4+ICIkb3V0cHV0X29iamRpci8kbXlfZGxzeW1zIiAiXAorLyogREFUQSBpbXBvcnRzIGZyb20gRExMcyBvbiBXSU4zMiBjb24ndCBiZSBjb25zdCwgYmVjYXVzZQorICAgcnVudGltZSByZWxvY2F0aW9ucyBhcmUgcGVyZm9ybWVkIC0tIHNlZSBsZCdzIGRvY3VtZW50YXRpb24KKyAgIG9uIHBzZXVkby1yZWxvY3MuICAqLyIKKwkgICAgbHRfZGxzeW1fY29uc3Q9IDs7CisJICAqb3NmNSopCisJICAgIGVjaG8gPj4gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiICJcCisvKiBUaGlzIHN5c3RlbSBkb2VzIG5vdCBjb3BlIHdlbGwgd2l0aCByZWxvY2F0aW9ucyBpbiBjb25zdCBkYXRhICovIgorCSAgICBsdF9kbHN5bV9jb25zdD0gOzsKKwkgICopCisJICAgIGx0X2Rsc3ltX2NvbnN0PWNvbnN0IDs7CisJICBlc2FjCisKKwkgICRFQ0hPID4+ICIkb3V0cHV0X29iamRpci8kbXlfZGxzeW1zIiAiXAorZXh0ZXJuICRsdF9kbHN5bV9jb25zdCBsdF9kbHN5bWxpc3QKK2x0XyR7bXlfcHJlZml4fV9MVFhfcHJlbG9hZGVkX3N5bWJvbHNbXTsKKyRsdF9kbHN5bV9jb25zdCBsdF9kbHN5bWxpc3QKK2x0XyR7bXlfcHJlZml4fV9MVFhfcHJlbG9hZGVkX3N5bWJvbHNbXSA9Cit7XAorICB7IFwiJG15X29yaWdpbmF0b3JcIiwgKHZvaWQgKikgMCB9LCIKKworCSAgY2FzZSAkbmVlZF9saWJfcHJlZml4IGluCisJICBubykKKwkgICAgZXZhbCAiJGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MiIDwgIiRubGlzdCIgPj4gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiCisJICAgIDs7CisJICAqKQorCSAgICBldmFsICIkZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4IiA8ICIkbmxpc3QiID4+ICIkb3V0cHV0X29iamRpci8kbXlfZGxzeW1zIgorCSAgICA7OworCSAgZXNhYworCSAgJEVDSE8gPj4gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiICJcCisgIHswLCAodm9pZCAqKSAwfQorfTsKKworLyogVGhpcyB3b3JrcyBhcm91bmQgYSBwcm9ibGVtIGluIEZyZWVCU0QgbGlua2VyICovCisjaWZkZWYgRlJFRUJTRF9XT1JLQVJPVU5ECitzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkgeworICByZXR1cm4gbHRfJHtteV9wcmVmaXh9X0xUWF9wcmVsb2FkZWRfc3ltYm9sczsKK30KKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZlwKKyIKKwl9ICMgISRvcHRfZHJ5X3J1bgorCisJcGljX2ZsYWdfZm9yX3N5bXRhYmxlPQorCWNhc2UgIiRjb21waWxlX2NvbW1hbmQgIiBpbgorCSoiIC1zdGF0aWMgIiopIDs7CisJKikKKwkgIGNhc2UgJGhvc3QgaW4KKwkgICMgY29tcGlsaW5nIHRoZSBzeW1ib2wgdGFibGUgZmlsZSB3aXRoIHBpY19mbGFnIHdvcmtzIGFyb3VuZAorCSAgIyBhIEZyZWVCU0QgYnVnIHRoYXQgY2F1c2VzIHByb2dyYW1zIHRvIGNyYXNoIHdoZW4gLWxtIGlzCisJICAjIGxpbmtlZCBiZWZvcmUgYW55IG90aGVyIFBJQyBvYmplY3QuICBCdXQgd2UgbXVzdCBub3QgdXNlCisJICAjIHBpY19mbGFnIHdoZW4gbGlua2luZyB3aXRoIC1zdGF0aWMuICBUaGUgcHJvYmxlbSBleGlzdHMgaW4KKwkgICMgRnJlZUJTRCAyLjIuNiBhbmQgaXMgZml4ZWQgaW4gRnJlZUJTRCAzLjEuCisJICAqLSotZnJlZWJzZDIqfCotKi1mcmVlYnNkMy4wKnwqLSotZnJlZWJzZGVsZjMuMCopCisJICAgIHBpY19mbGFnX2Zvcl9zeW10YWJsZT0iICRwaWNfZmxhZyAtREZSRUVCU0RfV09SS0FST1VORCIgOzsKKwkgICotKi1ocHV4KikKKwkgICAgcGljX2ZsYWdfZm9yX3N5bXRhYmxlPSIgJHBpY19mbGFnIiAgOzsKKwkgICopCisJICAgIGlmIHRlc3QgIlgkbXlfcGljX3AiICE9IFhubzsgdGhlbgorCSAgICAgIHBpY19mbGFnX2Zvcl9zeW10YWJsZT0iICRwaWNfZmxhZyIKKwkgICAgZmkKKwkgICAgOzsKKwkgIGVzYWMKKwkgIDs7CisJZXNhYworCXN5bXRhYl9jZmxhZ3M9CisJZm9yIGFyZyBpbiAkTFRDRkxBR1M7IGRvCisJICBjYXNlICRhcmcgaW4KKwkgIC1waWUgfCAtZnBpZSB8IC1mUElFKSA7OworCSAgKikgc3ltdGFiX2NmbGFncz0iJHN5bXRhYl9jZmxhZ3MgJGFyZyIgOzsKKwkgIGVzYWMKKwlkb25lCisKKwkjIE5vdyBjb21waWxlIHRoZSBkeW5hbWljIHN5bWJvbCBmaWxlLgorCWZ1bmNfc2hvd19ldmFsICcoY2QgJG91dHB1dF9vYmpkaXIgJiYgJExUQ0Mkc3ltdGFiX2NmbGFncyAtYyRub19idWlsdGluX2ZsYWckcGljX2ZsYWdfZm9yX3N5bXRhYmxlICIkbXlfZGxzeW1zIiknICdleGl0ICQ/JworCisJIyBDbGVhbiB1cCB0aGUgZ2VuZXJhdGVkIGZpbGVzLgorCWZ1bmNfc2hvd19ldmFsICckUk0gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiICIkbmxpc3QiICIke25saXN0fVMiICIke25saXN0fVQiJworCisJIyBUcmFuc2Zvcm0gdGhlIHN5bWJvbCBmaWxlIGludG8gdGhlIGNvcnJlY3QgbmFtZS4KKwlzeW1maWxlb2JqPSIkb3V0cHV0X29iamRpci8ke215X291dHB1dG5hbWV9Uy4kb2JqZXh0IgorCWNhc2UgJGhvc3QgaW4KKwkqY3lnd2luKiB8ICptaW5ndyogfCAqY2VnY2MqICkKKwkgIGlmIHRlc3QgLWYgIiRvdXRwdXRfb2JqZGlyLyRteV9vdXRwdXRuYW1lLmRlZiI7IHRoZW4KKwkgICAgY29tcGlsZV9jb21tYW5kPWAkRUNITyAiWCRjb21waWxlX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlQFNZTUZJTEVAJSRvdXRwdXRfb2JqZGlyLyRteV9vdXRwdXRuYW1lLmRlZiAkc3ltZmlsZW9iaiUiYAorCSAgICBmaW5hbGl6ZV9jb21tYW5kPWAkRUNITyAiWCRmaW5hbGl6ZV9jb21tYW5kIiB8ICRYc2VkIC1lICJzJUBTWU1GSUxFQCUkb3V0cHV0X29iamRpci8kbXlfb3V0cHV0bmFtZS5kZWYgJHN5bWZpbGVvYmolImAKKwkgIGVsc2UKKwkgICAgY29tcGlsZV9jb21tYW5kPWAkRUNITyAiWCRjb21waWxlX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlQFNZTUZJTEVAJSRzeW1maWxlb2JqJSJgCisJICAgIGZpbmFsaXplX2NvbW1hbmQ9YCRFQ0hPICJYJGZpbmFsaXplX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlQFNZTUZJTEVAJSRzeW1maWxlb2JqJSJgCisJICBmaQorCSAgOzsKKwkqKQorCSAgY29tcGlsZV9jb21tYW5kPWAkRUNITyAiWCRjb21waWxlX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlQFNZTUZJTEVAJSRzeW1maWxlb2JqJSJgCisJICBmaW5hbGl6ZV9jb21tYW5kPWAkRUNITyAiWCRmaW5hbGl6ZV9jb21tYW5kIiB8ICRYc2VkIC1lICJzJUBTWU1GSUxFQCUkc3ltZmlsZW9iaiUiYAorCSAgOzsKKwllc2FjCisJOzsKKyAgICAgICopCisJZnVuY19mYXRhbF9lcnJvciAidW5rbm93biBzdWZmaXggZm9yIFxgJG15X2Rsc3ltcyciCisJOzsKKyAgICAgIGVzYWMKKyAgICBlbHNlCisgICAgICAjIFdlIGtlZXAgZ29pbmcganVzdCBpbiBjYXNlIHRoZSB1c2VyIGRpZG4ndCByZWZlciB0bworICAgICAgIyBsdF9wcmVsb2FkZWRfc3ltYm9scy4gIFRoZSBsaW5rZXIgd2lsbCBmYWlsIGlmIGdsb2JhbF9zeW1ib2xfcGlwZQorICAgICAgIyByZWFsbHkgd2FzIHJlcXVpcmVkLgorCisgICAgICAjIE51bGxpZnkgdGhlIHN5bWJvbCBmaWxlLgorICAgICAgY29tcGlsZV9jb21tYW5kPWAkRUNITyAiWCRjb21waWxlX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlIEBTWU1GSUxFQCUlImAKKyAgICAgIGZpbmFsaXplX2NvbW1hbmQ9YCRFQ0hPICJYJGZpbmFsaXplX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlIEBTWU1GSUxFQCUlImAKKyAgICBmaQorfQorCisjIGZ1bmNfd2luMzJfbGliaWQgYXJnCisjIHJldHVybiB0aGUgbGlicmFyeSB0eXBlIG9mIGZpbGUgJ2FyZycKKyMKKyMgTmVlZCBhIGxvdCBvZiBnb28gdG8gaGFuZGxlICpib3RoKiBETExzIGFuZCBpbXBvcnQgbGlicworIyBIYXMgdG8gYmUgYSBzaGVsbCBmdW5jdGlvbiBpbiBvcmRlciB0byAnZWF0JyB0aGUgYXJndW1lbnQKKyMgdGhhdCBpcyBzdXBwbGllZCB3aGVuICRmaWxlX21hZ2ljX2NvbW1hbmQgaXMgY2FsbGVkLgorZnVuY193aW4zMl9saWJpZCAoKQoreworICAkb3B0X2RlYnVnCisgIHdpbjMyX2xpYmlkX3R5cGU9InVua25vd24iCisgIHdpbjMyX2ZpbGVyZXM9YGZpbGUgLUwgJDEgMj4vZGV2L251bGxgCisgIGNhc2UgJHdpbjMyX2ZpbGVyZXMgaW4KKyAgKmFyXCBhcmNoaXZlXCBpbXBvcnRcIGxpYnJhcnkqKSAjIGRlZmluaXRlbHkgaW1wb3J0CisgICAgd2luMzJfbGliaWRfdHlwZT0ieDg2IGFyY2hpdmUgaW1wb3J0IgorICAgIDs7CisgICphclwgYXJjaGl2ZSopICMgY291bGQgYmUgYW4gaW1wb3J0LCBvciBzdGF0aWMKKyAgICBpZiBldmFsICRPQkpEVU1QIC1mICQxIHwgJFNFRCAtZSAnMTBxJyAyPi9kZXYvbnVsbCB8CisgICAgICAgJEVHUkVQICdmaWxlIGZvcm1hdCBwZS1pMzg2KC4qYXJjaGl0ZWN0dXJlOiBpMzg2KT8nID4vZGV2L251bGwgOyB0aGVuCisgICAgICB3aW4zMl9ubXJlcz1gZXZhbCAkTk0gLWYgcG9zaXggLUEgJDEgfAorCSRTRUQgLW4gLWUgJworCSAgICAxLDEwMHsKKwkJLyBJIC97CisJCSAgICBzLC4qLGltcG9ydCwKKwkJICAgIHAKKwkJICAgIHEKKwkJfQorCSAgICB9J2AKKyAgICAgIGNhc2UgJHdpbjMyX25tcmVzIGluCisgICAgICBpbXBvcnQqKSAgd2luMzJfbGliaWRfdHlwZT0ieDg2IGFyY2hpdmUgaW1wb3J0Ijs7CisgICAgICAqKSAgICAgICAgd2luMzJfbGliaWRfdHlwZT0ieDg2IGFyY2hpdmUgc3RhdGljIjs7CisgICAgICBlc2FjCisgICAgZmkKKyAgICA7OworICAqRExMKikKKyAgICB3aW4zMl9saWJpZF90eXBlPSJ4ODYgRExMIgorICAgIDs7CisgICpleGVjdXRhYmxlKikgIyBidXQgc2hlbGwgc2NyaXB0cyBhcmUgImV4ZWN1dGFibGUiIHRvby4uLgorICAgIGNhc2UgJHdpbjMyX2ZpbGVyZXMgaW4KKyAgICAqTVNcIFdpbmRvd3NcIFBFXCBJbnRlbCopCisgICAgICB3aW4zMl9saWJpZF90eXBlPSJ4ODYgRExMIgorICAgICAgOzsKKyAgICBlc2FjCisgICAgOzsKKyAgZXNhYworICAkRUNITyAiJHdpbjMyX2xpYmlkX3R5cGUiCit9CisKKworCisjIGZ1bmNfZXh0cmFjdF9hbl9hcmNoaXZlIGRpciBvbGRsaWIKK2Z1bmNfZXh0cmFjdF9hbl9hcmNoaXZlICgpCit7CisgICAgJG9wdF9kZWJ1ZworICAgIGZfZXhfYW5fYXJfZGlyPSIkMSI7IHNoaWZ0CisgICAgZl9leF9hbl9hcl9vbGRsaWI9IiQxIgorICAgIGZ1bmNfc2hvd19ldmFsICIoY2QgXCRmX2V4X2FuX2FyX2RpciAmJiAkQVIgeCBcIlwkZl9leF9hbl9hcl9vbGRsaWJcIikiICdleGl0ICQ/JworICAgIGlmICgkQVIgdCAiJGZfZXhfYW5fYXJfb2xkbGliIiB8IHNvcnQgfCBzb3J0IC11YyA+L2Rldi9udWxsIDI+JjEpOyB0aGVuCisgICAgIDoKKyAgICBlbHNlCisgICAgICBmdW5jX2ZhdGFsX2Vycm9yICJvYmplY3QgbmFtZSBjb25mbGljdHMgaW4gYXJjaGl2ZTogJGZfZXhfYW5fYXJfZGlyLyRmX2V4X2FuX2FyX29sZGxpYiIKKyAgICBmaQorfQorCisKKyMgZnVuY19leHRyYWN0X2FyY2hpdmVzIGdlbnRvcCBvbGRsaWIgLi4uCitmdW5jX2V4dHJhY3RfYXJjaGl2ZXMgKCkKK3sKKyAgICAkb3B0X2RlYnVnCisgICAgbXlfZ2VudG9wPSIkMSI7IHNoaWZ0CisgICAgbXlfb2xkbGlicz0kezErIiRAIn0KKyAgICBteV9vbGRvYmpzPSIiCisgICAgbXlfeGxpYj0iIgorICAgIG15X3hhYnM9IiIKKyAgICBteV94ZGlyPSIiCisKKyAgICBmb3IgbXlfeGxpYiBpbiAkbXlfb2xkbGliczsgZG8KKyAgICAgICMgRXh0cmFjdCB0aGUgb2JqZWN0cy4KKyAgICAgIGNhc2UgJG15X3hsaWIgaW4KKwlbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIG15X3hhYnM9IiRteV94bGliIiA7OworCSopIG15X3hhYnM9YHB3ZGAiLyRteV94bGliIiA7OworICAgICAgZXNhYworICAgICAgZnVuY19iYXNlbmFtZSAiJG15X3hsaWIiCisgICAgICBteV94bGliPSIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCisgICAgICBteV94bGliX3U9JG15X3hsaWIKKyAgICAgIHdoaWxlIDo7IGRvCisgICAgICAgIGNhc2UgIiAkZXh0cmFjdGVkX2FyY2hpdmVzICIgaW4KKwkqIiAkbXlfeGxpYl91ICIqKQorCSAgZnVuY19hcml0aCAkZXh0cmFjdGVkX3NlcmlhbCArIDEKKwkgIGV4dHJhY3RlZF9zZXJpYWw9JGZ1bmNfYXJpdGhfcmVzdWx0CisJICBteV94bGliX3U9bHQkZXh0cmFjdGVkX3NlcmlhbC0kbXlfeGxpYiA7OworCSopIGJyZWFrIDs7CisJZXNhYworICAgICAgZG9uZQorICAgICAgZXh0cmFjdGVkX2FyY2hpdmVzPSIkZXh0cmFjdGVkX2FyY2hpdmVzICRteV94bGliX3UiCisgICAgICBteV94ZGlyPSIkbXlfZ2VudG9wLyRteV94bGliX3UiCisKKyAgICAgIGZ1bmNfbWtkaXJfcCAiJG15X3hkaXIiCisKKyAgICAgIGNhc2UgJGhvc3QgaW4KKyAgICAgICotZGFyd2luKikKKwlmdW5jX3ZlcmJvc2UgIkV4dHJhY3RpbmcgJG15X3hhYnMiCisJIyBEbyBub3QgYm90aGVyIGRvaW5nIGFueXRoaW5nIGlmIGp1c3QgYSBkcnkgcnVuCisJJG9wdF9kcnlfcnVuIHx8IHsKKwkgIGRhcndpbl9vcmlnX2Rpcj1gcHdkYAorCSAgY2QgJG15X3hkaXIgfHwgZXhpdCAkPworCSAgZGFyd2luX2FyY2hpdmU9JG15X3hhYnMKKwkgIGRhcndpbl9jdXJkaXI9YHB3ZGAKKwkgIGRhcndpbl9iYXNlX2FyY2hpdmU9YGJhc2VuYW1lICIkZGFyd2luX2FyY2hpdmUiYAorCSAgZGFyd2luX2FyY2hlcz1gJExJUE8gLWluZm8gIiRkYXJ3aW5fYXJjaGl2ZSIgMj4vZGV2L251bGwgfCAkR1JFUCBBcmNoaXRlY3R1cmVzIDI+L2Rldi9udWxsIHx8IHRydWVgCisJICBpZiB0ZXN0IC1uICIkZGFyd2luX2FyY2hlcyI7IHRoZW4KKwkgICAgZGFyd2luX2FyY2hlcz1gJEVDSE8gIiRkYXJ3aW5fYXJjaGVzIiB8ICRTRUQgLWUgJ3MvLiphcmU6Ly8nYAorCSAgICBkYXJ3aW5fYXJjaD0KKwkgICAgZnVuY192ZXJib3NlICIkZGFyd2luX2Jhc2VfYXJjaGl2ZSBoYXMgbXVsdGlwbGUgYXJjaGl0ZWN0dXJlcyAkZGFyd2luX2FyY2hlcyIKKwkgICAgZm9yIGRhcndpbl9hcmNoIGluICAkZGFyd2luX2FyY2hlcyA7IGRvCisJICAgICAgZnVuY19ta2Rpcl9wICJ1bmZhdC0kJC8ke2Rhcndpbl9iYXNlX2FyY2hpdmV9LSR7ZGFyd2luX2FyY2h9IgorCSAgICAgICRMSVBPIC10aGluICRkYXJ3aW5fYXJjaCAtb3V0cHV0ICJ1bmZhdC0kJC8ke2Rhcndpbl9iYXNlX2FyY2hpdmV9LSR7ZGFyd2luX2FyY2h9LyR7ZGFyd2luX2Jhc2VfYXJjaGl2ZX0iICIke2Rhcndpbl9hcmNoaXZlfSIKKwkgICAgICBjZCAidW5mYXQtJCQvJHtkYXJ3aW5fYmFzZV9hcmNoaXZlfS0ke2Rhcndpbl9hcmNofSIKKwkgICAgICBmdW5jX2V4dHJhY3RfYW5fYXJjaGl2ZSAiYHB3ZGAiICIke2Rhcndpbl9iYXNlX2FyY2hpdmV9IgorCSAgICAgIGNkICIkZGFyd2luX2N1cmRpciIKKwkgICAgICAkUk0gInVuZmF0LSQkLyR7ZGFyd2luX2Jhc2VfYXJjaGl2ZX0tJHtkYXJ3aW5fYXJjaH0vJHtkYXJ3aW5fYmFzZV9hcmNoaXZlfSIKKwkgICAgZG9uZSAjICRkYXJ3aW5fYXJjaGVzCisgICAgICAgICAgICAjIyBPa2F5IG5vdyB3ZSd2ZSBhIGJ1bmNoIG9mIHRoaW4gb2JqZWN0cywgZ290dGEgZmF0dGVuIHRoZW0gdXAgOikKKwkgICAgZGFyd2luX2ZpbGVsaXN0PWBmaW5kIHVuZmF0LSQkIC10eXBlIGYgLW5hbWUgXCoubyAtcHJpbnQgLW8gLW5hbWUgXCoubG8gLXByaW50IHwgJFNFRCAtZSAiJGJhc2VuYW1lIiB8IHNvcnQgLXVgCisJICAgIGRhcndpbl9maWxlPQorCSAgICBkYXJ3aW5fZmlsZXM9CisJICAgIGZvciBkYXJ3aW5fZmlsZSBpbiAkZGFyd2luX2ZpbGVsaXN0OyBkbworCSAgICAgIGRhcndpbl9maWxlcz1gZmluZCB1bmZhdC0kJCAtbmFtZSAkZGFyd2luX2ZpbGUgLXByaW50IHwgJE5MMlNQYAorCSAgICAgICRMSVBPIC1jcmVhdGUgLW91dHB1dCAiJGRhcndpbl9maWxlIiAkZGFyd2luX2ZpbGVzCisJICAgIGRvbmUgIyAkZGFyd2luX2ZpbGVsaXN0CisJICAgICRSTSAtcmYgdW5mYXQtJCQKKwkgICAgY2QgIiRkYXJ3aW5fb3JpZ19kaXIiCisJICBlbHNlCisJICAgIGNkICRkYXJ3aW5fb3JpZ19kaXIKKwkgICAgZnVuY19leHRyYWN0X2FuX2FyY2hpdmUgIiRteV94ZGlyIiAiJG15X3hhYnMiCisJICBmaSAjICRkYXJ3aW5fYXJjaGVzCisJfSAjICEkb3B0X2RyeV9ydW4KKwk7OworICAgICAgKikKKyAgICAgICAgZnVuY19leHRyYWN0X2FuX2FyY2hpdmUgIiRteV94ZGlyIiAiJG15X3hhYnMiCisJOzsKKyAgICAgIGVzYWMKKyAgICAgIG15X29sZG9ianM9IiRteV9vbGRvYmpzICJgZmluZCAkbXlfeGRpciAtbmFtZSBcKi4kb2JqZXh0IC1wcmludCAtbyAtbmFtZSBcKi5sbyAtcHJpbnQgfCAkTkwyU1BgCisgICAgZG9uZQorCisgICAgZnVuY19leHRyYWN0X2FyY2hpdmVzX3Jlc3VsdD0iJG15X29sZG9ianMiCit9CisKKworCisjIGZ1bmNfZW1pdF93cmFwcGVyX3BhcnQxIFthcmc9bm9dCisjCisjIEVtaXQgdGhlIGZpcnN0IHBhcnQgb2YgYSBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0IG9uIHN0ZG91dC4KKyMgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUgZGVzY3JpcHRpb24gYXNzb2NpYXRlZCB3aXRoCisjIGZ1bmNfZW1pdF93cmFwcGVyKCksIGJlbG93LgorZnVuY19lbWl0X3dyYXBwZXJfcGFydDEgKCkKK3sKKwlmdW5jX2VtaXRfd3JhcHBlcl9wYXJ0MV9hcmcxPW5vCisJaWYgdGVzdCAtbiAiJDEiIDsgdGhlbgorCSAgZnVuY19lbWl0X3dyYXBwZXJfcGFydDFfYXJnMT0kMQorCWZpCisKKwkkRUNITyAiXAorIyEgJFNIRUxMCisKKyMgJG91dHB1dCAtIHRlbXBvcmFyeSB3cmFwcGVyIHNjcmlwdCBmb3IgJG9iamRpci8kb3V0cHV0bmFtZQorIyBHZW5lcmF0ZWQgYnkgJFBST0dSQU0gKEdOVSAkUEFDS0FHRSRUSU1FU1RBTVApICRWRVJTSU9OCisjCisjIFRoZSAkb3V0cHV0IHByb2dyYW0gY2Fubm90IGJlIGRpcmVjdGx5IGV4ZWN1dGVkIHVudGlsIGFsbCB0aGUgbGlidG9vbAorIyBsaWJyYXJpZXMgdGhhdCBpdCBkZXBlbmRzIG9uIGFyZSBpbnN0YWxsZWQuCisjCisjIFRoaXMgd3JhcHBlciBzY3JpcHQgc2hvdWxkIG5ldmVyIGJlIG1vdmVkIG91dCBvZiB0aGUgYnVpbGQgZGlyZWN0b3J5LgorIyBJZiBpdCBpcywgaXQgd2lsbCBub3Qgb3BlcmF0ZSBjb3JyZWN0bHkuCisKKyMgU2VkIHN1YnN0aXR1dGlvbiB0aGF0IGhlbHBzIHVzIGRvIHJvYnVzdCBxdW90aW5nLiAgSXQgYmFja3NsYXNoaWZpZXMKKyMgbWV0YWNoYXJhY3RlcnMgdGhhdCBhcmUgc3RpbGwgYWN0aXZlIHdpdGhpbiBkb3VibGUtcXVvdGVkIHN0cmluZ3MuCitYc2VkPScke1NFRH0gLWUgMXMvXlgvLycKK3NlZF9xdW90ZV9zdWJzdD0nJHNlZF9xdW90ZV9zdWJzdCcKKworIyBCZSBCb3VybmUgY29tcGF0aWJsZQoraWYgdGVzdCAtbiBcIlwke1pTSF9WRVJTSU9OK3NldH1cIiAmJiAoZW11bGF0ZSBzaCkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisgIGVtdWxhdGUgc2gKKyAgTlVMTENNRD06CisgICMgWnNoIDMueCBhbmQgNC54IHBlcmZvcm1zIHdvcmQgc3BsaXR0aW5nIG9uIFwkezErXCJcJEBcIn0sIHdoaWNoCisgICMgaXMgY29udHJhcnkgdG8gb3VyIHVzYWdlLiAgRGlzYWJsZSB0aGlzIGZlYXR1cmUuCisgIGFsaWFzIC1nICdcJHsxK1wiXCRAXCJ9Jz0nXCJcJEBcIicKKyAgc2V0b3B0IE5PX0dMT0JfU1VCU1QKK2Vsc2UKKyAgY2FzZSBcYChzZXQgLW8pIDI+L2Rldi9udWxsXGAgaW4gKnBvc2l4Kikgc2V0IC1vIHBvc2l4OzsgZXNhYworZmkKK0JJTl9TSD14cGc0OyBleHBvcnQgQklOX1NIICMgZm9yIFRydTY0CitEVUFMQ0FTRT0xOyBleHBvcnQgRFVBTENBU0UgIyBmb3IgTUtTIHNoCisKKyMgVGhlIEhQLVVYIGtzaCBhbmQgUE9TSVggc2hlbGwgcHJpbnQgdGhlIHRhcmdldCBkaXJlY3RvcnkgdG8gc3Rkb3V0CisjIGlmIENEUEFUSCBpcyBzZXQuCisodW5zZXQgQ0RQQVRIKSA+L2Rldi9udWxsIDI+JjEgJiYgdW5zZXQgQ0RQQVRICisKK3JlbGlua19jb21tYW5kPVwiJHJlbGlua19jb21tYW5kXCIKKworIyBUaGlzIGVudmlyb25tZW50IHZhcmlhYmxlIGRldGVybWluZXMgb3VyIG9wZXJhdGlvbiBtb2RlLgoraWYgdGVzdCBcIlwkbGlidG9vbF9pbnN0YWxsX21hZ2ljXCIgPSBcIiRtYWdpY1wiOyB0aGVuCisgICMgaW5zdGFsbCBtb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzOgorICBnZW5lcmF0ZWRfYnlfbGlidG9vbF92ZXJzaW9uPSckbWFjcm9fdmVyc2lvbicKKyAgbm90aW5zdF9kZXBsaWJzPSckbm90aW5zdF9kZXBsaWJzJworZWxzZQorICAjIFdoZW4gd2UgYXJlIHNvdXJjZWQgaW4gZXhlY3V0ZSBtb2RlLCBcJGZpbGUgYW5kIFwkRUNITyBhcmUgYWxyZWFkeSBzZXQuCisgIGlmIHRlc3QgXCJcJGxpYnRvb2xfZXhlY3V0ZV9tYWdpY1wiICE9IFwiJG1hZ2ljXCI7IHRoZW4KKyAgICBFQ0hPPVwiJHFlY2hvXCIKKyAgICBmaWxlPVwiXCQwXCIKKyAgICAjIE1ha2Ugc3VyZSBlY2hvIHdvcmtzLgorICAgIGlmIHRlc3QgXCJYXCQxXCIgPSBYLS1uby1yZWV4ZWM7IHRoZW4KKyAgICAgICMgRGlzY2FyZCB0aGUgLS1uby1yZWV4ZWMgZmxhZywgYW5kIGNvbnRpbnVlLgorICAgICAgc2hpZnQKKyAgICBlbGlmIHRlc3QgXCJYXGB7IFwkRUNITyAnXHQnOyB9IDI+L2Rldi9udWxsXGBcIiA9ICdYXHQnOyB0aGVuCisgICAgICAjIFlpcHBlZSwgXCRFQ0hPIHdvcmtzIQorICAgICAgOgorICAgIGVsc2UKKyAgICAgICMgUmVzdGFydCB1bmRlciB0aGUgY29ycmVjdCBzaGVsbCwgYW5kIHRoZW4gbWF5YmUgXCRFQ0hPIHdpbGwgd29yay4KKyAgICAgIGV4ZWMgJFNIRUxMIFwiXCQwXCIgLS1uby1yZWV4ZWMgXCR7MStcIlwkQFwifQorICAgIGZpCisgIGZpXAorIgorCSRFQ0hPICJcCisKKyAgIyBGaW5kIHRoZSBkaXJlY3RvcnkgdGhhdCB0aGlzIHNjcmlwdCBsaXZlcyBpbi4KKyAgdGhpc2Rpcj1cYFwkRUNITyBcIlhcJGZpbGVcIiB8IFwkWHNlZCAtZSAncyUvW14vXSokJSUnXGAKKyAgdGVzdCBcInhcJHRoaXNkaXJcIiA9IFwieFwkZmlsZVwiICYmIHRoaXNkaXI9LgorCisgICMgRm9sbG93IHN5bWJvbGljIGxpbmtzIHVudGlsIHdlIGdldCB0byB0aGUgcmVhbCB0aGlzZGlyLgorICBmaWxlPVxgbHMgLWxkIFwiXCRmaWxlXCIgfCAke1NFRH0gLW4gJ3MvLiotPiAvL3AnXGAKKyAgd2hpbGUgdGVzdCAtbiBcIlwkZmlsZVwiOyBkbworICAgIGRlc3RkaXI9XGBcJEVDSE8gXCJYXCRmaWxlXCIgfCBcJFhzZWQgLWUgJ3MlL1teL10qXCQlJSdcYAorCisgICAgIyBJZiB0aGVyZSB3YXMgYSBkaXJlY3RvcnkgY29tcG9uZW50LCB0aGVuIGNoYW5nZSB0aGlzZGlyLgorICAgIGlmIHRlc3QgXCJ4XCRkZXN0ZGlyXCIgIT0gXCJ4XCRmaWxlXCI7IHRoZW4KKyAgICAgIGNhc2UgXCJcJGRlc3RkaXJcIiBpbgorICAgICAgW1xcXFwvXSogfCBbQS1aYS16XTpbXFxcXC9dKikgdGhpc2Rpcj1cIlwkZGVzdGRpclwiIDs7CisgICAgICAqKSB0aGlzZGlyPVwiXCR0aGlzZGlyL1wkZGVzdGRpclwiIDs7CisgICAgICBlc2FjCisgICAgZmkKKworICAgIGZpbGU9XGBcJEVDSE8gXCJYXCRmaWxlXCIgfCBcJFhzZWQgLWUgJ3MlXi4qLyUlJ1xgCisgICAgZmlsZT1cYGxzIC1sZCBcIlwkdGhpc2Rpci9cJGZpbGVcIiB8ICR7U0VEfSAtbiAncy8uKi0+IC8vcCdcYAorICBkb25lCisiCit9CisjIGVuZDogZnVuY19lbWl0X3dyYXBwZXJfcGFydDEKKworIyBmdW5jX2VtaXRfd3JhcHBlcl9wYXJ0MiBbYXJnPW5vXQorIworIyBFbWl0IHRoZSBzZWNvbmQgcGFydCBvZiBhIGxpYnRvb2wgd3JhcHBlciBzY3JpcHQgb24gc3Rkb3V0LgorIyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBkZXNjcmlwdGlvbiBhc3NvY2lhdGVkIHdpdGgKKyMgZnVuY19lbWl0X3dyYXBwZXIoKSwgYmVsb3cuCitmdW5jX2VtaXRfd3JhcHBlcl9wYXJ0MiAoKQoreworCWZ1bmNfZW1pdF93cmFwcGVyX3BhcnQyX2FyZzE9bm8KKwlpZiB0ZXN0IC1uICIkMSIgOyB0aGVuCisJICBmdW5jX2VtaXRfd3JhcHBlcl9wYXJ0Ml9hcmcxPSQxCisJZmkKKworCSRFQ0hPICJcCisKKyAgIyBVc3VhbGx5ICdubycsIGV4Y2VwdCBvbiBjeWd3aW4vbWluZ3cgd2hlbiBlbWJlZGRlZCBpbnRvCisgICMgdGhlIGN3cmFwcGVyLgorICBXUkFQUEVSX1NDUklQVF9CRUxPTkdTX0lOX09CSkRJUj0kZnVuY19lbWl0X3dyYXBwZXJfcGFydDJfYXJnMQorICBpZiB0ZXN0IFwiXCRXUkFQUEVSX1NDUklQVF9CRUxPTkdTX0lOX09CSkRJUlwiID0gXCJ5ZXNcIjsgdGhlbgorICAgICMgc3BlY2lhbCBjYXNlIGZvciAnLicKKyAgICBpZiB0ZXN0IFwiXCR0aGlzZGlyXCIgPSBcIi5cIjsgdGhlbgorICAgICAgdGhpc2Rpcj1cYHB3ZFxgCisgICAgZmkKKyAgICAjIHJlbW92ZSAubGlicyBmcm9tIHRoaXNkaXIKKyAgICBjYXNlIFwiXCR0aGlzZGlyXCIgaW4KKyAgICAqW1xcXFwvXSRvYmpkaXIgKSB0aGlzZGlyPVxgXCRFQ0hPIFwiWFwkdGhpc2RpclwiIHwgXCRYc2VkIC1lICdzJVtcXFxcL11bXlxcXFwvXSokJSUnXGAgOzsKKyAgICAkb2JqZGlyICkgICB0aGlzZGlyPS4gOzsKKyAgICBlc2FjCisgIGZpCisKKyAgIyBUcnkgdG8gZ2V0IHRoZSBhYnNvbHV0ZSBkaXJlY3RvcnkgbmFtZS4KKyAgYWJzZGlyPVxgY2QgXCJcJHRoaXNkaXJcIiAmJiBwd2RcYAorICB0ZXN0IC1uIFwiXCRhYnNkaXJcIiAmJiB0aGlzZGlyPVwiXCRhYnNkaXJcIgorIgorCisJaWYgdGVzdCAiJGZhc3RfaW5zdGFsbCIgPSB5ZXM7IHRoZW4KKwkgICRFQ0hPICJcCisgIHByb2dyYW09bHQtJyRvdXRwdXRuYW1lJyRleGVleHQKKyAgcHJvZ2Rpcj1cIlwkdGhpc2Rpci8kb2JqZGlyXCIKKworICBpZiB0ZXN0ICEgLWYgXCJcJHByb2dkaXIvXCRwcm9ncmFtXCIgfHwKKyAgICAgeyBmaWxlPVxgbHMgLTFkdCBcIlwkcHJvZ2Rpci9cJHByb2dyYW1cIiBcIlwkcHJvZ2Rpci8uLi9cJHByb2dyYW1cIiAyPi9kZXYvbnVsbCB8ICR7U0VEfSAxcVxgOyBcXAorICAgICAgIHRlc3QgXCJYXCRmaWxlXCIgIT0gXCJYXCRwcm9nZGlyL1wkcHJvZ3JhbVwiOyB9OyB0aGVuCisKKyAgICBmaWxlPVwiXCRcJC1cJHByb2dyYW1cIgorCisgICAgaWYgdGVzdCAhIC1kIFwiXCRwcm9nZGlyXCI7IHRoZW4KKyAgICAgICRNS0RJUiBcIlwkcHJvZ2RpclwiCisgICAgZWxzZQorICAgICAgJFJNIFwiXCRwcm9nZGlyL1wkZmlsZVwiCisgICAgZmkiCisKKwkgICRFQ0hPICJcCisKKyAgICAjIHJlbGluayBleGVjdXRhYmxlIGlmIG5lY2Vzc2FyeQorICAgIGlmIHRlc3QgLW4gXCJcJHJlbGlua19jb21tYW5kXCI7IHRoZW4KKyAgICAgIGlmIHJlbGlua19jb21tYW5kX291dHB1dD1cYGV2YWwgXCRyZWxpbmtfY29tbWFuZCAyPiYxXGA7IHRoZW4gOgorICAgICAgZWxzZQorCSRFQ0hPIFwiXCRyZWxpbmtfY29tbWFuZF9vdXRwdXRcIiA+JjIKKwkkUk0gXCJcJHByb2dkaXIvXCRmaWxlXCIKKwlleGl0IDEKKyAgICAgIGZpCisgICAgZmkKKworICAgICRNViBcIlwkcHJvZ2Rpci9cJGZpbGVcIiBcIlwkcHJvZ2Rpci9cJHByb2dyYW1cIiAyPi9kZXYvbnVsbCB8fAorICAgIHsgJFJNIFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwiOworICAgICAgJE1WIFwiXCRwcm9nZGlyL1wkZmlsZVwiIFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwiOyB9CisgICAgJFJNIFwiXCRwcm9nZGlyL1wkZmlsZVwiCisgIGZpIgorCWVsc2UKKwkgICRFQ0hPICJcCisgIHByb2dyYW09JyRvdXRwdXRuYW1lJworICBwcm9nZGlyPVwiXCR0aGlzZGlyLyRvYmpkaXJcIgorIgorCWZpCisKKwkkRUNITyAiXAorCisgIGlmIHRlc3QgLWYgXCJcJHByb2dkaXIvXCRwcm9ncmFtXCI7IHRoZW4iCisKKwkjIEV4cG9ydCBvdXIgc2hsaWJwYXRoX3ZhciBpZiB3ZSBoYXZlIG9uZS4KKwlpZiB0ZXN0ICIkc2hsaWJwYXRoX292ZXJyaWRlc19ydW5wYXRoIiA9IHllcyAmJiB0ZXN0IC1uICIkc2hsaWJwYXRoX3ZhciIgJiYgdGVzdCAtbiAiJHRlbXBfcnBhdGgiOyB0aGVuCisJICAkRUNITyAiXAorICAgICMgQWRkIG91ciBvd24gbGlicmFyeSBwYXRoIHRvICRzaGxpYnBhdGhfdmFyCisgICAgJHNobGlicGF0aF92YXI9XCIkdGVtcF9ycGF0aFwkJHNobGlicGF0aF92YXJcIgorCisgICAgIyBTb21lIHN5c3RlbXMgY2Fubm90IGNvcGUgd2l0aCBjb2xvbi10ZXJtaW5hdGVkICRzaGxpYnBhdGhfdmFyCisgICAgIyBUaGUgc2Vjb25kIGNvbG9uIGlzIGEgd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4gQmVPUyBSNCBzZWQKKyAgICAkc2hsaWJwYXRoX3Zhcj1cYFwkRUNITyBcIlhcJCRzaGxpYnBhdGhfdmFyXCIgfCBcJFhzZWQgLWUgJ3MvOjoqXCQvLydcYAorCisgICAgZXhwb3J0ICRzaGxpYnBhdGhfdmFyCisiCisJZmkKKworCSMgZml4dXAgdGhlIGRsbCBzZWFyY2hwYXRoIGlmIHdlIG5lZWQgdG8uCisJaWYgdGVzdCAtbiAiJGRsbHNlYXJjaHBhdGgiOyB0aGVuCisJICAkRUNITyAiXAorICAgICMgQWRkIHRoZSBkbGwgc2VhcmNoIHBhdGggY29tcG9uZW50cyB0byB0aGUgZXhlY3V0YWJsZSBQQVRICisgICAgUEFUSD0kZGxsc2VhcmNocGF0aDpcJFBBVEgKKyIKKwlmaQorCisJJEVDSE8gIlwKKyAgICBpZiB0ZXN0IFwiXCRsaWJ0b29sX2V4ZWN1dGVfbWFnaWNcIiAhPSBcIiRtYWdpY1wiOyB0aGVuCisgICAgICAjIFJ1biB0aGUgYWN0dWFsIHByb2dyYW0gd2l0aCBvdXIgYXJndW1lbnRzLgorIgorCWNhc2UgJGhvc3QgaW4KKwkjIEJhY2tzbGFzaGVzIHNlcGFyYXRlIGRpcmVjdG9yaWVzIG9uIHBsYWluIHdpbmRvd3MKKwkqLSotbWluZ3cgfCAqLSotb3MyKiB8ICotY2VnY2MqKQorCSAgJEVDSE8gIlwKKyAgICAgIGV4ZWMgXCJcJHByb2dkaXJcXFxcXCRwcm9ncmFtXCIgXCR7MStcIlwkQFwifQorIgorCSAgOzsKKworCSopCisJICAkRUNITyAiXAorICAgICAgZXhlYyBcIlwkcHJvZ2Rpci9cJHByb2dyYW1cIiBcJHsxK1wiXCRAXCJ9CisiCisJICA7OworCWVzYWMKKwkkRUNITyAiXAorICAgICAgXCRFQ0hPIFwiXCQwOiBjYW5ub3QgZXhlYyBcJHByb2dyYW0gXCQqXCIgMT4mMgorICAgICAgZXhpdCAxCisgICAgZmkKKyAgZWxzZQorICAgICMgVGhlIHByb2dyYW0gZG9lc24ndCBleGlzdC4KKyAgICBcJEVDSE8gXCJcJDA6IGVycm9yOiBcXFxgXCRwcm9nZGlyL1wkcHJvZ3JhbScgZG9lcyBub3QgZXhpc3RcIiAxPiYyCisgICAgXCRFQ0hPIFwiVGhpcyBzY3JpcHQgaXMganVzdCBhIHdyYXBwZXIgZm9yIFwkcHJvZ3JhbS5cIiAxPiYyCisgICAgJEVDSE8gXCJTZWUgdGhlICRQQUNLQUdFIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uXCIgMT4mMgorICAgIGV4aXQgMQorICBmaQorZmlcCisiCit9CisjIGVuZDogZnVuY19lbWl0X3dyYXBwZXJfcGFydDIKKworCisjIGZ1bmNfZW1pdF93cmFwcGVyIFthcmc9bm9dCisjCisjIEVtaXQgYSBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0IG9uIHN0ZG91dC4KKyMgRG9uJ3QgZGlyZWN0bHkgb3BlbiBhIGZpbGUgYmVjYXVzZSB3ZSBtYXkgd2FudCB0bworIyBpbmNvcnBvcmF0ZSB0aGUgc2NyaXB0IGNvbnRlbnRzIHdpdGhpbiBhIGN5Z3dpbi9taW5ndworIyB3cmFwcGVyIGV4ZWN1dGFibGUuICBNdXN0IE9OTFkgYmUgY2FsbGVkIGZyb20gd2l0aGluCisjIGZ1bmNfbW9kZV9saW5rIGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBhIG51bWJlciBvZiB2YXJpYWJsZXMKKyMgc2V0IHRoZXJlaW4uCisjCisjIEFSRyBpcyB0aGUgdmFsdWUgdGhhdCB0aGUgV1JBUFBFUl9TQ1JJUFRfQkVMT05HU19JTl9PQkpESVIKKyMgdmFyaWFibGUgd2lsbCB0YWtlLiAgSWYgJ3llcycsIHRoZW4gdGhlIGVtaXR0ZWQgc2NyaXB0CisjIHdpbGwgYXNzdW1lIHRoYXQgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCBpdCBpcyBzdG9yZWQgaXMKKyMgdGhlICRvYmpkaXIgZGlyZWN0b3J5LiAgVGhpcyBpcyBhIGN5Z3dpbi9taW5ndy1zcGVjaWZpYworIyBiZWhhdmlvci4KK2Z1bmNfZW1pdF93cmFwcGVyICgpCit7CisJZnVuY19lbWl0X3dyYXBwZXJfYXJnMT1ubworCWlmIHRlc3QgLW4gIiQxIiA7IHRoZW4KKwkgIGZ1bmNfZW1pdF93cmFwcGVyX2FyZzE9JDEKKwlmaQorCisJIyBzcGxpdCB0aGlzIHVwIHNvIHRoYXQgZnVuY19lbWl0X2N3cmFwcGVyZXhlX3NyYworCSMgY2FuIGNhbGwgZWFjaCBwYXJ0IGluZGVwZW5kZW50bHkuCisJZnVuY19lbWl0X3dyYXBwZXJfcGFydDEgIiR7ZnVuY19lbWl0X3dyYXBwZXJfYXJnMX0iCisJZnVuY19lbWl0X3dyYXBwZXJfcGFydDIgIiR7ZnVuY19lbWl0X3dyYXBwZXJfYXJnMX0iCit9CisKKworIyBmdW5jX3RvX2hvc3RfcGF0aCBhcmcKKyMKKyMgQ29udmVydCBwYXRocyB0byBob3N0IGZvcm1hdCB3aGVuIHVzZWQgd2l0aCBidWlsZCB0b29scy4KKyMgSW50ZW5kZWQgZm9yIHVzZSB3aXRoICJuYXRpdmUiIG1pbmd3ICh3aGVyZSBsaWJ0b29sIGl0c2VsZgorIyBpcyBydW5uaW5nIHVuZGVyIHRoZSBtc3lzIHNoZWxsKSwgb3IgaW4gdGhlIGZvbGxvd2luZyBjcm9zcy0KKyMgYnVpbGQgZW52aXJvbm1lbnRzOgorIyAgICAkYnVpbGQgICAgICAgICAgJGhvc3QKKyMgICAgbWluZ3cgKG1zeXMpICAgIG1pbmd3ICBbZS5nLiBuYXRpdmVdCisjICAgIGN5Z3dpbiAgICAgICAgICBtaW5ndworIyAgICAqbml4ICsgd2luZSAgICAgbWluZ3cKKyMgd2hlcmUgd2luZSBpcyBlcXVpcHBlZCB3aXRoIHRoZSBgd2luZXBhdGgnIGV4ZWN1dGFibGUuCisjIEluIHRoZSBuYXRpdmUgbWluZ3cgY2FzZSwgdGhlIChtc3lzKSBzaGVsbCBhdXRvbWF0aWNhbGx5CisjIGNvbnZlcnRzIHBhdGhzIGZvciBhbnkgbm9uLW1zeXMgYXBwbGljYXRpb25zIGl0IGxhdW5jaGVzLAorIyBidXQgdGhhdCBmYWNpbGl0eSBpc24ndCBhdmFpbGFibGUgZnJvbSBpbnNpZGUgdGhlIGN3cmFwcGVyLgorIyBTaW1pbGFyIGFjY29tbW9kYXRpb25zIGFyZSBuZWNlc3NhcnkgZm9yICRob3N0IG1pbmd3IGFuZAorIyAkYnVpbGQgY3lnd2luLiAgQ2FsbGluZyB0aGlzIGZ1bmN0aW9uIGRvZXMgbm8gaGFybSBmb3Igb3RoZXIKKyMgJGhvc3QvJGJ1aWxkIGNvbWJpbmF0aW9ucyBub3QgbGlzdGVkIGFib3ZlLgorIworIyBBUkcgaXMgdGhlIHBhdGggKG9uICRidWlsZCkgdGhhdCBzaG91bGQgYmUgY29udmVydGVkIHRvCisjIHRoZSBwcm9wZXIgcmVwcmVzZW50YXRpb24gZm9yICRob3N0LiBUaGUgcmVzdWx0IGlzIHN0b3JlZAorIyBpbiAkZnVuY190b19ob3N0X3BhdGhfcmVzdWx0LgorZnVuY190b19ob3N0X3BhdGggKCkKK3sKKyAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkMSIKKyAgaWYgdGVzdCAtbiAiJDEiIDsgdGhlbgorICAgIGNhc2UgJGhvc3QgaW4KKyAgICAgICptaW5ndyogKQorICAgICAgICBsdF9zZWRfbmFpdmVfYmFja3NsYXNoaWZ5PSdzfFxcXFwqfFxcfGc7c3wvfFxcfGc7c3xcXHxcXFxcfGcnCisgICAgICAgIGNhc2UgJGJ1aWxkIGluCisgICAgICAgICAgKm1pbmd3KiApICMgYWN0dWFsbHksIG1zeXMKKyAgICAgICAgICAgICMgYXdrd2FyZDogY21kIGFwcGVuZHMgc3BhY2VzIHRvIHJlc3VsdAorICAgICAgICAgICAgbHRfc2VkX3N0cmlwX3RyYWlsaW5nX3NwYWNlcz0icy9bIF0qXCQvLyIKKyAgICAgICAgICAgIGZ1bmNfdG9faG9zdF9wYXRoX3RtcDE9YCggY21kIC8vYyBlY2hvICIkMSIgfFwKKyAgICAgICAgICAgICAgJFNFRCAtZSAiJGx0X3NlZF9zdHJpcF90cmFpbGluZ19zcGFjZXMiICkgMj4vZGV2L251bGwgfHwgZWNobyAiImAKKyAgICAgICAgICAgIGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdD1gZWNobyAiJGZ1bmNfdG9faG9zdF9wYXRoX3RtcDEiIHxcCisgICAgICAgICAgICAgICRTRUQgLWUgIiRsdF9zZWRfbmFpdmVfYmFja3NsYXNoaWZ5ImAKKyAgICAgICAgICAgIDs7CisgICAgICAgICAgKmN5Z3dpbiogKQorICAgICAgICAgICAgZnVuY190b19ob3N0X3BhdGhfdG1wMT1gY3lncGF0aCAtdyAiJDEiYAorICAgICAgICAgICAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PWBlY2hvICIkZnVuY190b19ob3N0X3BhdGhfdG1wMSIgfFwKKyAgICAgICAgICAgICAgJFNFRCAtZSAiJGx0X3NlZF9uYWl2ZV9iYWNrc2xhc2hpZnkiYAorICAgICAgICAgICAgOzsKKyAgICAgICAgICAqICkKKyAgICAgICAgICAgICMgVW5mb3J0dW5hdGVseSwgd2luZXBhdGggZG9lcyBub3QgZXhpdCB3aXRoIGEgbm9uLXplcm8KKyAgICAgICAgICAgICMgZXJyb3IgY29kZSwgc28gd2UgYXJlIGZvcmNlZCB0byBjaGVjayB0aGUgY29udGVudHMgb2YKKyAgICAgICAgICAgICMgc3Rkb3V0LiBPbiB0aGUgb3RoZXIgaGFuZCwgaWYgdGhlIGNvbW1hbmQgaXMgbm90CisgICAgICAgICAgICAjIGZvdW5kLCB0aGUgc2hlbGwgd2lsbCBzZXQgYW4gZXhpdCBjb2RlIG9mIDEyNyBhbmQgcHJpbnQKKyAgICAgICAgICAgICMgKmFuIGVycm9yIG1lc3NhZ2UqIHRvIHN0ZG91dC4gU28gd2UgbXVzdCBjaGVjayBmb3IgYm90aAorICAgICAgICAgICAgIyBlcnJvciBjb2RlIG9mIHplcm8gQU5EIG5vbi1lbXB0eSBzdGRvdXQsIHdoaWNoIGV4cGxhaW5zCisgICAgICAgICAgICAjIHRoZSBvZGQgY29uc3RydWN0aW9uOgorICAgICAgICAgICAgZnVuY190b19ob3N0X3BhdGhfdG1wMT1gd2luZXBhdGggLXcgIiQxIiAyPi9kZXYvbnVsbGAKKyAgICAgICAgICAgIGlmIHRlc3QgIiQ/IiAtZXEgMCAmJiB0ZXN0IC1uICIke2Z1bmNfdG9faG9zdF9wYXRoX3RtcDF9IjsgdGhlbgorICAgICAgICAgICAgICBmdW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQ9YGVjaG8gIiRmdW5jX3RvX2hvc3RfcGF0aF90bXAxIiB8XAorICAgICAgICAgICAgICAgICRTRUQgLWUgIiRsdF9zZWRfbmFpdmVfYmFja3NsYXNoaWZ5ImAKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgIyBBbGxvdyB3YXJuaW5nIGJlbG93LgorICAgICAgICAgICAgICBmdW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQ9IiIKKyAgICAgICAgICAgIGZpCisgICAgICAgICAgICA7OworICAgICAgICBlc2FjCisgICAgICAgIGlmIHRlc3QgLXogIiRmdW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQiIDsgdGhlbgorICAgICAgICAgIGZ1bmNfZXJyb3IgIkNvdWxkIG5vdCBkZXRlcm1pbmUgaG9zdCBwYXRoIGNvcnJlc3BvbmRpbmcgdG8iCisgICAgICAgICAgZnVuY19lcnJvciAiICAnJDEnIgorICAgICAgICAgIGZ1bmNfZXJyb3IgIkNvbnRpbnVpbmcsIGJ1dCB1bmluc3RhbGxlZCBleGVjdXRhYmxlcyBtYXkgbm90IHdvcmsuIgorICAgICAgICAgICMgRmFsbGJhY2s6CisgICAgICAgICAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkMSIKKyAgICAgICAgZmkKKyAgICAgICAgOzsKKyAgICBlc2FjCisgIGZpCit9CisjIGVuZDogZnVuY190b19ob3N0X3BhdGgKKworIyBmdW5jX3RvX2hvc3RfcGF0aGxpc3QgYXJnCisjCisjIENvbnZlcnQgcGF0aGxpc3RzIHRvIGhvc3QgZm9ybWF0IHdoZW4gdXNlZCB3aXRoIGJ1aWxkIHRvb2xzLgorIyBTZWUgZnVuY190b19ob3N0X3BhdGgoKSwgYWJvdmUuIFRoaXMgZnVuY3Rpb24gc3VwcG9ydHMgdGhlCisjIGZvbGxvd2luZyAkYnVpbGQvJGhvc3QgY29tYmluYXRpb25zIChidXQgZG9lcyBubyBoYXJtIGZvcgorIyBjb21iaW5hdGlvbnMgbm90IGxpc3RlZCBoZXJlKToKKyMgICAgJGJ1aWxkICAgICAgICAgICRob3N0CisjICAgIG1pbmd3IChtc3lzKSAgICBtaW5ndyAgW2UuZy4gbmF0aXZlXQorIyAgICBjeWd3aW4gICAgICAgICAgbWluZ3cKKyMgICAgKm5peCArIHdpbmUgICAgIG1pbmd3CisjCisjIFBhdGggc2VwYXJhdG9ycyBhcmUgYWxzbyBjb252ZXJ0ZWQgZnJvbSAkYnVpbGQgZm9ybWF0IHRvCisjICRob3N0IGZvcm1hdC4gSWYgQVJHIGJlZ2lucyBvciBlbmRzIHdpdGggYSBwYXRoIHNlcGFyYXRvcgorIyBjaGFyYWN0ZXIsIGl0IGlzIHByZXNlcnZlZCAoYnV0IGNvbnZlcnRlZCB0byAkaG9zdCBmb3JtYXQpCisjIG9uIG91dHB1dC4KKyMKKyMgQVJHIGlzIGEgcGF0aGxpc3QgKG9uICRidWlsZCkgdGhhdCBzaG91bGQgYmUgY29udmVydGVkIHRvCisjIHRoZSBwcm9wZXIgcmVwcmVzZW50YXRpb24gb24gJGhvc3QuIFRoZSByZXN1bHQgaXMgc3RvcmVkCisjIGluICRmdW5jX3RvX2hvc3RfcGF0aGxpc3RfcmVzdWx0LgorZnVuY190b19ob3N0X3BhdGhsaXN0ICgpCit7CisgIGZ1bmNfdG9faG9zdF9wYXRobGlzdF9yZXN1bHQ9IiQxIgorICBpZiB0ZXN0IC1uICIkMSIgOyB0aGVuCisgICAgY2FzZSAkaG9zdCBpbgorICAgICAgKm1pbmd3KiApCisgICAgICAgIGx0X3NlZF9uYWl2ZV9iYWNrc2xhc2hpZnk9J3N8XFxcXCp8XFx8ZztzfC98XFx8ZztzfFxcfFxcXFx8ZycKKyAgICAgICAgIyBSZW1vdmUgbGVhZGluZyBhbmQgdHJhaWxpbmcgcGF0aCBzZXBhcmF0b3IgY2hhcmFjdGVycyBmcm9tCisgICAgICAgICMgQVJHLiBtc3lzIGJlaGF2aW9yIGlzIGluY29uc2lzdGVudCBoZXJlLCBjeWdwYXRoIHR1cm5zIHRoZW0KKyAgICAgICAgIyBpbnRvICcuOycgYW5kICc7LicsIGFuZCB3aW5lcGF0aCBpZ25vcmVzIHRoZW0gY29tcGxldGVseS4KKyAgICAgICAgZnVuY190b19ob3N0X3BhdGhsaXN0X3RtcDI9IiQxIgorICAgICAgICAjIE9uY2Ugc2V0IGZvciB0aGlzIGNhbGwsIHRoaXMgdmFyaWFibGUgc2hvdWxkIG5vdCBiZQorICAgICAgICAjIHJlYXNzaWduZWQuIEl0IGlzIHVzZWQgaW4gdGhhIGZhbGxiYWNrIGNhc2UuCisgICAgICAgIGZ1bmNfdG9faG9zdF9wYXRobGlzdF90bXAxPWBlY2hvICIkZnVuY190b19ob3N0X3BhdGhsaXN0X3RtcDIiIHxcCisgICAgICAgICAgJFNFRCAtZSAnc3xeOip8fCcgLWUgJ3N8OiokfHwnYAorICAgICAgICBjYXNlICRidWlsZCBpbgorICAgICAgICAgICptaW5ndyogKSAjIEFjdHVhbGx5LCBtc3lzLgorICAgICAgICAgICAgIyBBd2t3YXJkOiBjbWQgYXBwZW5kcyBzcGFjZXMgdG8gcmVzdWx0LgorICAgICAgICAgICAgbHRfc2VkX3N0cmlwX3RyYWlsaW5nX3NwYWNlcz0icy9bIF0qXCQvLyIKKyAgICAgICAgICAgIGZ1bmNfdG9faG9zdF9wYXRobGlzdF90bXAyPWAoIGNtZCAvL2MgZWNobyAiJGZ1bmNfdG9faG9zdF9wYXRobGlzdF90bXAxIiB8XAorICAgICAgICAgICAgICAkU0VEIC1lICIkbHRfc2VkX3N0cmlwX3RyYWlsaW5nX3NwYWNlcyIgKSAyPi9kZXYvbnVsbCB8fCBlY2hvICIiYAorICAgICAgICAgICAgZnVuY190b19ob3N0X3BhdGhsaXN0X3Jlc3VsdD1gZWNobyAiJGZ1bmNfdG9faG9zdF9wYXRobGlzdF90bXAyIiB8XAorICAgICAgICAgICAgICAkU0VEIC1lICIkbHRfc2VkX25haXZlX2JhY2tzbGFzaGlmeSJgCisgICAgICAgICAgICA7OworICAgICAgICAgICpjeWd3aW4qICkKKyAgICAgICAgICAgIGZ1bmNfdG9faG9zdF9wYXRobGlzdF90bXAyPWBjeWdwYXRoIC13IC1wICIkZnVuY190b19ob3N0X3BhdGhsaXN0X3RtcDEiYAorICAgICAgICAgICAgZnVuY190b19ob3N0X3BhdGhsaXN0X3Jlc3VsdD1gZWNobyAiJGZ1bmNfdG9faG9zdF9wYXRobGlzdF90bXAyIiB8XAorICAgICAgICAgICAgICAkU0VEIC1lICIkbHRfc2VkX25haXZlX2JhY2tzbGFzaGlmeSJgCisgICAgICAgICAgICA7OworICAgICAgICAgICogKQorICAgICAgICAgICAgIyB1bmZvcnR1bmF0ZWx5LCB3aW5lcGF0aCBkb2Vzbid0IGNvbnZlcnQgcGF0aGxpc3RzCisgICAgICAgICAgICBmdW5jX3RvX2hvc3RfcGF0aGxpc3RfcmVzdWx0PSIiCisgICAgICAgICAgICBmdW5jX3RvX2hvc3RfcGF0aGxpc3Rfb2xkSUZTPSRJRlMKKyAgICAgICAgICAgIElGUz06CisgICAgICAgICAgICBmb3IgZnVuY190b19ob3N0X3BhdGhsaXN0X2YgaW4gJGZ1bmNfdG9faG9zdF9wYXRobGlzdF90bXAxIDsgZG8KKyAgICAgICAgICAgICAgSUZTPSRmdW5jX3RvX2hvc3RfcGF0aGxpc3Rfb2xkSUZTCisgICAgICAgICAgICAgIGlmIHRlc3QgLW4gIiRmdW5jX3RvX2hvc3RfcGF0aGxpc3RfZiIgOyB0aGVuCisgICAgICAgICAgICAgICAgZnVuY190b19ob3N0X3BhdGggIiRmdW5jX3RvX2hvc3RfcGF0aGxpc3RfZiIKKyAgICAgICAgICAgICAgICBpZiB0ZXN0IC1uICIkZnVuY190b19ob3N0X3BhdGhfcmVzdWx0IiA7IHRoZW4KKyAgICAgICAgICAgICAgICAgIGlmIHRlc3QgLXogIiRmdW5jX3RvX2hvc3RfcGF0aGxpc3RfcmVzdWx0IiA7IHRoZW4KKyAgICAgICAgICAgICAgICAgICAgZnVuY190b19ob3N0X3BhdGhsaXN0X3Jlc3VsdD0iJGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdCIKKyAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgZnVuY190b19ob3N0X3BhdGhsaXN0X3Jlc3VsdD0iJGZ1bmNfdG9faG9zdF9wYXRobGlzdF9yZXN1bHQ7JGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdCIKKyAgICAgICAgICAgICAgICAgIGZpCisgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICAgSUZTPToKKyAgICAgICAgICAgIGRvbmUKKyAgICAgICAgICAgIElGUz0kZnVuY190b19ob3N0X3BhdGhsaXN0X29sZElGUworICAgICAgICAgICAgOzsKKyAgICAgICAgZXNhYworICAgICAgICBpZiB0ZXN0IC16ICIkZnVuY190b19ob3N0X3BhdGhsaXN0X3Jlc3VsdCIgOyB0aGVuCisgICAgICAgICAgZnVuY19lcnJvciAiQ291bGQgbm90IGRldGVybWluZSB0aGUgaG9zdCBwYXRoKHMpIGNvcnJlc3BvbmRpbmcgdG8iCisgICAgICAgICAgZnVuY19lcnJvciAiICAnJDEnIgorICAgICAgICAgIGZ1bmNfZXJyb3IgIkNvbnRpbnVpbmcsIGJ1dCB1bmluc3RhbGxlZCBleGVjdXRhYmxlcyBtYXkgbm90IHdvcmsuIgorICAgICAgICAgICMgRmFsbGJhY2suIFRoaXMgbWF5IGJyZWFrIGlmICQxIGNvbnRhaW5zIERPUy1zdHlsZSBkcml2ZQorICAgICAgICAgICMgc3BlY2lmaWNhdGlvbnMuIFRoZSBmaXggaXMgbm90IHRvIGNvbXBsaWNhdGUgdGhlIGV4cHJlc3Npb24KKyAgICAgICAgICAjIGJlbG93LCBidXQgZm9yIHRoZSB1c2VyIHRvIHByb3ZpZGUgYSB3b3JraW5nIHdpbmUgaW5zdGFsbGF0aW9uCisgICAgICAgICAgIyB3aXRoIHdpbmVwYXRoIHNvIHRoYXQgcGF0aCB0cmFuc2xhdGlvbiBpbiB0aGUgY3Jvc3MtdG8tbWluZ3cKKyAgICAgICAgICAjIGNhc2Ugd29ya3MgcHJvcGVybHkuCisgICAgICAgICAgbHRfcmVwbGFjZV9wYXRoc2VwX25peF90b19kb3M9InN8Onw7fGciCisgICAgICAgICAgZnVuY190b19ob3N0X3BhdGhsaXN0X3Jlc3VsdD1gZWNobyAiJGZ1bmNfdG9faG9zdF9wYXRobGlzdF90bXAxIiB8XAorICAgICAgICAgICAgJFNFRCAtZSAiJGx0X3JlcGxhY2VfcGF0aHNlcF9uaXhfdG9fZG9zImAKKyAgICAgICAgZmkKKyAgICAgICAgIyBOb3csIGFkZCB0aGUgbGVhZGluZyBhbmQgdHJhaWxpbmcgcGF0aCBzZXBhcmF0b3JzIGJhY2sKKyAgICAgICAgY2FzZSAiJDEiIGluCisgICAgICAgICAgOiogKSBmdW5jX3RvX2hvc3RfcGF0aGxpc3RfcmVzdWx0PSI7JGZ1bmNfdG9faG9zdF9wYXRobGlzdF9yZXN1bHQiCisgICAgICAgICAgICA7OworICAgICAgICBlc2FjCisgICAgICAgIGNhc2UgIiQxIiBpbgorICAgICAgICAgICo6ICkgZnVuY190b19ob3N0X3BhdGhsaXN0X3Jlc3VsdD0iJGZ1bmNfdG9faG9zdF9wYXRobGlzdF9yZXN1bHQ7IgorICAgICAgICAgICAgOzsKKyAgICAgICAgZXNhYworICAgICAgICA7OworICAgIGVzYWMKKyAgZmkKK30KKyMgZW5kOiBmdW5jX3RvX2hvc3RfcGF0aGxpc3QKKworIyBmdW5jX2VtaXRfY3dyYXBwZXJleGVfc3JjCisjIGVtaXQgdGhlIHNvdXJjZSBjb2RlIGZvciBhIHdyYXBwZXIgZXhlY3V0YWJsZSBvbiBzdGRvdXQKKyMgTXVzdCBPTkxZIGJlIGNhbGxlZCBmcm9tIHdpdGhpbiBmdW5jX21vZGVfbGluayBiZWNhdXNlCisjIGl0IGRlcGVuZHMgb24gYSBudW1iZXIgb2YgdmFyaWFibGUgc2V0IHRoZXJlaW4uCitmdW5jX2VtaXRfY3dyYXBwZXJleGVfc3JjICgpCit7CisJY2F0IDw8RU9GCisKKy8qICRjd3JhcHBlcnNvdXJjZSAtIHRlbXBvcmFyeSB3cmFwcGVyIGV4ZWN1dGFibGUgZm9yICRvYmpkaXIvJG91dHB1dG5hbWUKKyAgIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAoR05VICRQQUNLQUdFJFRJTUVTVEFNUCkgJFZFUlNJT04KKworICAgVGhlICRvdXRwdXQgcHJvZ3JhbSBjYW5ub3QgYmUgZGlyZWN0bHkgZXhlY3V0ZWQgdW50aWwgYWxsIHRoZSBsaWJ0b29sCisgICBsaWJyYXJpZXMgdGhhdCBpdCBkZXBlbmRzIG9uIGFyZSBpbnN0YWxsZWQuCisKKyAgIFRoaXMgd3JhcHBlciBleGVjdXRhYmxlIHNob3VsZCBuZXZlciBiZSBtb3ZlZCBvdXQgb2YgdGhlIGJ1aWxkIGRpcmVjdG9yeS4KKyAgIElmIGl0IGlzLCBpdCB3aWxsIG5vdCBvcGVyYXRlIGNvcnJlY3RseS4KKworICAgQ3VycmVudGx5LCBpdCBzaW1wbHkgZXhlY3MgdGhlIHdyYXBwZXIgKnNjcmlwdCogIiRTSEVMTCAkb3V0cHV0IiwKKyAgIGJ1dCBjb3VsZCBldmVudHVhbGx5IGFic29yYiBhbGwgb2YgdGhlIHNjcmlwdHMgZnVuY3Rpb25hbGl0eSBhbmQKKyAgIGV4ZWMgJG9iamRpci8kb3V0cHV0bmFtZSBkaXJlY3RseS4KKyovCitFT0YKKwkgICAgY2F0IDw8IkVPRiIKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2lmZGVmIF9NU0NfVkVSCisjIGluY2x1ZGUgPGRpcmVjdC5oPgorIyBpbmNsdWRlIDxwcm9jZXNzLmg+CisjIGluY2x1ZGUgPGlvLmg+CisjIGRlZmluZSBzZXRtb2RlIF9zZXRtb2RlCisjZWxzZQorIyBpbmNsdWRlIDx1bmlzdGQuaD4KKyMgaW5jbHVkZSA8c3RkaW50Lmg+CisjIGlmZGVmIF9fQ1lHV0lOX18KKyMgIGluY2x1ZGUgPGlvLmg+CisjICBkZWZpbmUgSEFWRV9TRVRFTlYKKyMgIGlmZGVmIF9fU1RSSUNUX0FOU0lfXworY2hhciAqcmVhbHBhdGggKGNvbnN0IGNoYXIgKiwgY2hhciAqKTsKK2ludCBwdXRlbnYgKGNoYXIgKik7CitpbnQgc2V0ZW52IChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50KTsKKyMgIGVuZGlmCisjIGVuZGlmCisjZW5kaWYKKyNpbmNsdWRlIDxtYWxsb2MuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorCisjaWYgZGVmaW5lZChQQVRIX01BWCkKKyMgZGVmaW5lIExUX1BBVEhNQVggUEFUSF9NQVgKKyNlbGlmIGRlZmluZWQoTUFYUEFUSExFTikKKyMgZGVmaW5lIExUX1BBVEhNQVggTUFYUEFUSExFTgorI2Vsc2UKKyMgZGVmaW5lIExUX1BBVEhNQVggMTAyNAorI2VuZGlmCisKKyNpZm5kZWYgU19JWE9USAorIyBkZWZpbmUgU19JWE9USCAwCisjZW5kaWYKKyNpZm5kZWYgU19JWEdSUAorIyBkZWZpbmUgU19JWEdSUCAwCisjZW5kaWYKKworI2lmZGVmIF9NU0NfVkVSCisjIGRlZmluZSBTX0lYVVNSIF9TX0lFWEVDCisjIGRlZmluZSBzdGF0IF9zdGF0CisjIGlmbmRlZiBfSU5UUFRSX1RfREVGSU5FRAorIyAgZGVmaW5lIGludHB0cl90IGludAorIyBlbmRpZgorI2VuZGlmCisKKyNpZm5kZWYgRElSX1NFUEFSQVRPUgorIyBkZWZpbmUgRElSX1NFUEFSQVRPUiAnLycKKyMgZGVmaW5lIFBBVEhfU0VQQVJBVE9SICc6JworI2VuZGlmCisKKyNpZiBkZWZpbmVkIChfV0lOMzIpIHx8IGRlZmluZWQgKF9fTVNET1NfXykgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSB8fCBcCisgIGRlZmluZWQgKF9fT1MyX18pCisjIGRlZmluZSBIQVZFX0RPU19CQVNFRF9GSUxFX1NZU1RFTQorIyBkZWZpbmUgRk9QRU5fV0IgIndiIgorIyBpZm5kZWYgRElSX1NFUEFSQVRPUl8yCisjICBkZWZpbmUgRElSX1NFUEFSQVRPUl8yICdcXCcKKyMgZW5kaWYKKyMgaWZuZGVmIFBBVEhfU0VQQVJBVE9SXzIKKyMgIGRlZmluZSBQQVRIX1NFUEFSQVRPUl8yICc7JworIyBlbmRpZgorI2VuZGlmCisKKyNpZm5kZWYgRElSX1NFUEFSQVRPUl8yCisjIGRlZmluZSBJU19ESVJfU0VQQVJBVE9SKGNoKSAoKGNoKSA9PSBESVJfU0VQQVJBVE9SKQorI2Vsc2UgLyogRElSX1NFUEFSQVRPUl8yICovCisjIGRlZmluZSBJU19ESVJfU0VQQVJBVE9SKGNoKSBcCisJKCgoY2gpID09IERJUl9TRVBBUkFUT1IpIHx8ICgoY2gpID09IERJUl9TRVBBUkFUT1JfMikpCisjZW5kaWYgLyogRElSX1NFUEFSQVRPUl8yICovCisKKyNpZm5kZWYgUEFUSF9TRVBBUkFUT1JfMgorIyBkZWZpbmUgSVNfUEFUSF9TRVBBUkFUT1IoY2gpICgoY2gpID09IFBBVEhfU0VQQVJBVE9SKQorI2Vsc2UgLyogUEFUSF9TRVBBUkFUT1JfMiAqLworIyBkZWZpbmUgSVNfUEFUSF9TRVBBUkFUT1IoY2gpICgoY2gpID09IFBBVEhfU0VQQVJBVE9SXzIpCisjZW5kaWYgLyogUEFUSF9TRVBBUkFUT1JfMiAqLworCisjaWZkZWYgX19DWUdXSU5fXworIyBkZWZpbmUgRk9QRU5fV0IgIndiIgorI2VuZGlmCisKKyNpZm5kZWYgRk9QRU5fV0IKKyMgZGVmaW5lIEZPUEVOX1dCICJ3IgorI2VuZGlmCisjaWZuZGVmIF9PX0JJTkFSWQorIyBkZWZpbmUgX09fQklOQVJZIDAKKyNlbmRpZgorCisjZGVmaW5lIFhNQUxMT0ModHlwZSwgbnVtKSAgICAgICgodHlwZSAqKSB4bWFsbG9jICgobnVtKSAqIHNpemVvZih0eXBlKSkpCisjZGVmaW5lIFhGUkVFKHN0YWxlKSBkbyB7IFwKKyAgaWYgKHN0YWxlKSB7IGZyZWUgKCh2b2lkICopIHN0YWxlKTsgc3RhbGUgPSAwOyB9IFwKK30gd2hpbGUgKDApCisKKyN1bmRlZiBMVFdSQVBQRVJfREVCVUdQUklOVEYKKyNpZiBkZWZpbmVkIERFQlVHV1JBUFBFUgorIyBkZWZpbmUgTFRXUkFQUEVSX0RFQlVHUFJJTlRGKGFyZ3MpIGx0d3JhcHBlcl9kZWJ1Z3ByaW50ZiBhcmdzCitzdGF0aWMgdm9pZAorbHR3cmFwcGVyX2RlYnVncHJpbnRmIChjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKyAgICB2YV9saXN0IGFyZ3M7CisgICAgdmFfc3RhcnQgKGFyZ3MsIGZtdCk7CisgICAgKHZvaWQpIHZmcHJpbnRmIChzdGRlcnIsIGZtdCwgYXJncyk7CisgICAgdmFfZW5kIChhcmdzKTsKK30KKyNlbHNlCisjIGRlZmluZSBMVFdSQVBQRVJfREVCVUdQUklOVEYoYXJncykKKyNlbmRpZgorCitjb25zdCBjaGFyICpwcm9ncmFtX25hbWUgPSBOVUxMOworCit2b2lkICp4bWFsbG9jIChzaXplX3QgbnVtKTsKK2NoYXIgKnhzdHJkdXAgKGNvbnN0IGNoYXIgKnN0cmluZyk7Citjb25zdCBjaGFyICpiYXNlX25hbWUgKGNvbnN0IGNoYXIgKm5hbWUpOworY2hhciAqZmluZF9leGVjdXRhYmxlIChjb25zdCBjaGFyICp3cmFwcGVyKTsKK2NoYXIgKmNoYXNlX3N5bWxpbmtzIChjb25zdCBjaGFyICpwYXRoc3BlYyk7CitpbnQgbWFrZV9leGVjdXRhYmxlIChjb25zdCBjaGFyICpwYXRoKTsKK2ludCBjaGVja19leGVjdXRhYmxlIChjb25zdCBjaGFyICpwYXRoKTsKK2NoYXIgKnN0cmVuZHphcCAoY2hhciAqc3RyLCBjb25zdCBjaGFyICpwYXQpOwordm9pZCBsdF9mYXRhbCAoY29uc3QgY2hhciAqbWVzc2FnZSwgLi4uKTsKK3ZvaWQgbHRfc2V0ZW52IChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSk7CitjaGFyICpsdF9leHRlbmRfc3RyIChjb25zdCBjaGFyICpvcmlnX3ZhbHVlLCBjb25zdCBjaGFyICphZGQsIGludCB0b19lbmQpOwordm9pZCBsdF9vcHRfcHJvY2Vzc19lbnZfc2V0IChjb25zdCBjaGFyICphcmcpOwordm9pZCBsdF9vcHRfcHJvY2Vzc19lbnZfcHJlcGVuZCAoY29uc3QgY2hhciAqYXJnKTsKK3ZvaWQgbHRfb3B0X3Byb2Nlc3NfZW52X2FwcGVuZCAoY29uc3QgY2hhciAqYXJnKTsKK2ludCBsdF9zcGxpdF9uYW1lX3ZhbHVlIChjb25zdCBjaGFyICphcmcsIGNoYXIqKiBuYW1lLCBjaGFyKiogdmFsdWUpOwordm9pZCBsdF91cGRhdGVfZXhlX3BhdGggKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKTsKK3ZvaWQgbHRfdXBkYXRlX2xpYl9wYXRoIChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSk7CisKK3N0YXRpYyBjb25zdCBjaGFyICpzY3JpcHRfdGV4dF9wYXJ0MSA9CitFT0YKKworCSAgICBmdW5jX2VtaXRfd3JhcHBlcl9wYXJ0MSB5ZXMgfAorCSAgICAgICAgJFNFRCAtZSAncy9cKFtcXCJdXCkvXFxcMS9nJyBcCisJICAgICAgICAgICAgIC1lICdzL14vICAiLycgLWUgJ3MvJC9cXG4iLycKKwkgICAgZWNobyAiOyIKKwkgICAgY2F0IDw8RU9GCisKK3N0YXRpYyBjb25zdCBjaGFyICpzY3JpcHRfdGV4dF9wYXJ0MiA9CitFT0YKKwkgICAgZnVuY19lbWl0X3dyYXBwZXJfcGFydDIgeWVzIHwKKwkgICAgICAgICRTRUQgLWUgJ3MvXChbXFwiXVwpL1xcXDEvZycgXAorCSAgICAgICAgICAgICAtZSAncy9eLyAgIi8nIC1lICdzLyQvXFxuIi8nCisJICAgIGVjaG8gIjsiCisKKwkgICAgY2F0IDw8RU9GCitjb25zdCBjaGFyICogTUFHSUNfRVhFID0gIiRtYWdpY19leGUiOworY29uc3QgY2hhciAqIExJQl9QQVRIX1ZBUk5BTUUgPSAiJHNobGlicGF0aF92YXIiOworRU9GCisKKwkgICAgaWYgdGVzdCAiJHNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aCIgPSB5ZXMgJiYgdGVzdCAtbiAiJHNobGlicGF0aF92YXIiICYmIHRlc3QgLW4gIiR0ZW1wX3JwYXRoIjsgdGhlbgorICAgICAgICAgICAgICBmdW5jX3RvX2hvc3RfcGF0aGxpc3QgIiR0ZW1wX3JwYXRoIgorCSAgICAgIGNhdCA8PEVPRgorY29uc3QgY2hhciAqIExJQl9QQVRIX1ZBTFVFICAgPSAiJGZ1bmNfdG9faG9zdF9wYXRobGlzdF9yZXN1bHQiOworRU9GCisJICAgIGVsc2UKKwkgICAgICBjYXQgPDwiRU9GIgorY29uc3QgY2hhciAqIExJQl9QQVRIX1ZBTFVFICAgPSAiIjsKK0VPRgorCSAgICBmaQorCisJICAgIGlmIHRlc3QgLW4gIiRkbGxzZWFyY2hwYXRoIjsgdGhlbgorICAgICAgICAgICAgICBmdW5jX3RvX2hvc3RfcGF0aGxpc3QgIiRkbGxzZWFyY2hwYXRoOiIKKwkgICAgICBjYXQgPDxFT0YKK2NvbnN0IGNoYXIgKiBFWEVfUEFUSF9WQVJOQU1FID0gIlBBVEgiOworY29uc3QgY2hhciAqIEVYRV9QQVRIX1ZBTFVFICAgPSAiJGZ1bmNfdG9faG9zdF9wYXRobGlzdF9yZXN1bHQiOworRU9GCisJICAgIGVsc2UKKwkgICAgICBjYXQgPDwiRU9GIgorY29uc3QgY2hhciAqIEVYRV9QQVRIX1ZBUk5BTUUgPSAiIjsKK2NvbnN0IGNoYXIgKiBFWEVfUEFUSF9WQUxVRSAgID0gIiI7CitFT0YKKwkgICAgZmkKKworCSAgICBpZiB0ZXN0ICIkZmFzdF9pbnN0YWxsIiA9IHllczsgdGhlbgorCSAgICAgIGNhdCA8PEVPRgorY29uc3QgY2hhciAqIFRBUkdFVF9QUk9HUkFNX05BTUUgPSAibHQtJG91dHB1dG5hbWUiOyAvKiBob3BlZnVsbHksIG5vIC5leGUgKi8KK0VPRgorCSAgICBlbHNlCisJICAgICAgY2F0IDw8RU9GCitjb25zdCBjaGFyICogVEFSR0VUX1BST0dSQU1fTkFNRSA9ICIkb3V0cHV0bmFtZSI7IC8qIGhvcGVmdWxseSwgbm8gLmV4ZSAqLworRU9GCisJICAgIGZpCisKKworCSAgICBjYXQgPDwiRU9GIgorCisjZGVmaW5lIExUV1JBUFBFUl9PUFRJT05fUFJFRklYICAgICAgICAgIi0tbHQtIgorI2RlZmluZSBMVFdSQVBQRVJfT1BUSU9OX1BSRUZJWF9MRU5HVEggIDUKKworc3RhdGljIGNvbnN0IHNpemVfdCBvcHRfcHJlZml4X2xlbiAgICAgICAgID0gTFRXUkFQUEVSX09QVElPTl9QUkVGSVhfTEVOR1RIOworc3RhdGljIGNvbnN0IGNoYXIgKmx0d3JhcHBlcl9vcHRpb25fcHJlZml4ID0gTFRXUkFQUEVSX09QVElPTl9QUkVGSVg7CisKK3N0YXRpYyBjb25zdCBjaGFyICpkdW1wc2NyaXB0X29wdCAgICAgICA9IExUV1JBUFBFUl9PUFRJT05fUFJFRklYICJkdW1wLXNjcmlwdCI7CisKK3N0YXRpYyBjb25zdCBzaXplX3QgZW52X3NldF9vcHRfbGVuICAgICA9IExUV1JBUFBFUl9PUFRJT05fUFJFRklYX0xFTkdUSCArIDc7CitzdGF0aWMgY29uc3QgY2hhciAqZW52X3NldF9vcHQgICAgICAgICAgPSBMVFdSQVBQRVJfT1BUSU9OX1BSRUZJWCAiZW52LXNldCI7CisgIC8qIGFyZ3VtZW50IGlzIHB1dGVudi1zdHlsZSAiZm9vPWJhciIsIHZhbHVlIG9mIGZvbyBpcyBzZXQgdG8gYmFyICovCisKK3N0YXRpYyBjb25zdCBzaXplX3QgZW52X3ByZXBlbmRfb3B0X2xlbiA9IExUV1JBUFBFUl9PUFRJT05fUFJFRklYX0xFTkdUSCArIDExOworc3RhdGljIGNvbnN0IGNoYXIgKmVudl9wcmVwZW5kX29wdCAgICAgID0gTFRXUkFQUEVSX09QVElPTl9QUkVGSVggImVudi1wcmVwZW5kIjsKKyAgLyogYXJndW1lbnQgaXMgcHV0ZW52LXN0eWxlICJmb289YmFyIiwgbmV3IHZhbHVlIG9mIGZvbyBpcyBiYXIke2Zvb30gKi8KKworc3RhdGljIGNvbnN0IHNpemVfdCBlbnZfYXBwZW5kX29wdF9sZW4gID0gTFRXUkFQUEVSX09QVElPTl9QUkVGSVhfTEVOR1RIICsgMTA7CitzdGF0aWMgY29uc3QgY2hhciAqZW52X2FwcGVuZF9vcHQgICAgICAgPSBMVFdSQVBQRVJfT1BUSU9OX1BSRUZJWCAiZW52LWFwcGVuZCI7CisgIC8qIGFyZ3VtZW50IGlzIHB1dGVudi1zdHlsZSAiZm9vPWJhciIsIG5ldyB2YWx1ZSBvZiBmb28gaXMgJHtmb299YmFyICovCisKK2ludAorbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKyAgY2hhciAqKm5ld2FyZ3o7CisgIGludCAgbmV3YXJnYzsKKyAgY2hhciAqdG1wX3BhdGhzcGVjOworICBjaGFyICphY3R1YWxfY3dyYXBwZXJfcGF0aDsKKyAgY2hhciAqYWN0dWFsX2N3cmFwcGVyX25hbWU7CisgIGNoYXIgKnRhcmdldF9uYW1lOworICBjaGFyICpsdF9hcmd2X3plcm87CisgIGludHB0cl90IHJ2YWwgPSAxMjc7CisKKyAgaW50IGk7CisKKyAgcHJvZ3JhbV9uYW1lID0gKGNoYXIgKikgeHN0cmR1cCAoYmFzZV9uYW1lIChhcmd2WzBdKSk7CisgIExUV1JBUFBFUl9ERUJVR1BSSU5URiAoKCIobWFpbikgYXJndlswXSAgICAgIDogJXNcbiIsIGFyZ3ZbMF0pKTsKKyAgTFRXUkFQUEVSX0RFQlVHUFJJTlRGICgoIihtYWluKSBwcm9ncmFtX25hbWUgOiAlc1xuIiwgcHJvZ3JhbV9uYW1lKSk7CisKKyAgLyogdmVyeSBzaW1wbGUgYXJnIHBhcnNpbmc7IGRvbid0IHdhbnQgdG8gcmVseSBvbiBnZXRvcHQgKi8KKyAgZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykKKyAgICB7CisgICAgICBpZiAoc3RyY21wIChhcmd2W2ldLCBkdW1wc2NyaXB0X29wdCkgPT0gMCkKKwl7CitFT0YKKwkgICAgY2FzZSAiJGhvc3QiIGluCisJICAgICAgKm1pbmd3KiB8ICpjeWd3aW4qICkKKwkJIyBtYWtlIHN0ZG91dCB1c2UgInVuaXgiIGxpbmUgZW5kaW5ncworCQllY2hvICIgICAgICAgICAgc2V0bW9kZSgxLF9PX0JJTkFSWSk7IgorCQk7OworCSAgICAgIGVzYWMKKworCSAgICBjYXQgPDwiRU9GIgorCSAgcHJpbnRmICgiJXMiLCBzY3JpcHRfdGV4dF9wYXJ0MSk7CisJICBwcmludGYgKCIlcyIsIHNjcmlwdF90ZXh0X3BhcnQyKTsKKwkgIHJldHVybiAwOworCX0KKyAgICB9CisKKyAgbmV3YXJneiA9IFhNQUxMT0MgKGNoYXIgKiwgYXJnYyArIDEpOworICB0bXBfcGF0aHNwZWMgPSBmaW5kX2V4ZWN1dGFibGUgKGFyZ3ZbMF0pOworICBpZiAodG1wX3BhdGhzcGVjID09IE5VTEwpCisgICAgbHRfZmF0YWwgKCJDb3VsZG4ndCBmaW5kICVzIiwgYXJndlswXSk7CisgIExUV1JBUFBFUl9ERUJVR1BSSU5URiAoKCIobWFpbikgZm91bmQgZXhlIChiZWZvcmUgc3ltbGluayBjaGFzZSkgYXQgOiAlc1xuIiwKKwkJCSAgdG1wX3BhdGhzcGVjKSk7CisKKyAgYWN0dWFsX2N3cmFwcGVyX3BhdGggPSBjaGFzZV9zeW1saW5rcyAodG1wX3BhdGhzcGVjKTsKKyAgTFRXUkFQUEVSX0RFQlVHUFJJTlRGICgoIihtYWluKSBmb3VuZCBleGUgKGFmdGVyIHN5bWxpbmsgY2hhc2UpIGF0IDogJXNcbiIsCisJCQkgIGFjdHVhbF9jd3JhcHBlcl9wYXRoKSk7CisgIFhGUkVFICh0bXBfcGF0aHNwZWMpOworCisgIGFjdHVhbF9jd3JhcHBlcl9uYW1lID0geHN0cmR1cCggYmFzZV9uYW1lIChhY3R1YWxfY3dyYXBwZXJfcGF0aCkpOworICBzdHJlbmR6YXAgKGFjdHVhbF9jd3JhcHBlcl9wYXRoLCBhY3R1YWxfY3dyYXBwZXJfbmFtZSk7CisKKyAgLyogd3JhcHBlciBuYW1lIHRyYW5zZm9ybXMgKi8KKyAgc3RyZW5kemFwIChhY3R1YWxfY3dyYXBwZXJfbmFtZSwgIi5leGUiKTsKKyAgdG1wX3BhdGhzcGVjID0gbHRfZXh0ZW5kX3N0ciAoYWN0dWFsX2N3cmFwcGVyX25hbWUsICIuZXhlIiwgMSk7CisgIFhGUkVFIChhY3R1YWxfY3dyYXBwZXJfbmFtZSk7CisgIGFjdHVhbF9jd3JhcHBlcl9uYW1lID0gdG1wX3BhdGhzcGVjOworICB0bXBfcGF0aHNwZWMgPSAwOworCisgIC8qIHRhcmdldF9uYW1lIHRyYW5zZm9ybXMgLS0gdXNlIGFjdHVhbCB0YXJnZXQgcHJvZ3JhbSBuYW1lOyBtaWdodCBoYXZlIGx0LSBwcmVmaXggKi8KKyAgdGFyZ2V0X25hbWUgPSB4c3RyZHVwIChiYXNlX25hbWUgKFRBUkdFVF9QUk9HUkFNX05BTUUpKTsKKyAgc3RyZW5kemFwICh0YXJnZXRfbmFtZSwgIi5leGUiKTsKKyAgdG1wX3BhdGhzcGVjID0gbHRfZXh0ZW5kX3N0ciAodGFyZ2V0X25hbWUsICIuZXhlIiwgMSk7CisgIFhGUkVFICh0YXJnZXRfbmFtZSk7CisgIHRhcmdldF9uYW1lID0gdG1wX3BhdGhzcGVjOworICB0bXBfcGF0aHNwZWMgPSAwOworCisgIExUV1JBUFBFUl9ERUJVR1BSSU5URiAoKCIobWFpbikgbGlidG9vbCB0YXJnZXQgbmFtZTogJXNcbiIsCisJCQkgIHRhcmdldF9uYW1lKSk7CitFT0YKKworCSAgICBjYXQgPDxFT0YKKyAgbmV3YXJnelswXSA9CisgICAgWE1BTExPQyAoY2hhciwgKHN0cmxlbiAoYWN0dWFsX2N3cmFwcGVyX3BhdGgpICsKKwkJICAgIHN0cmxlbiAoIiRvYmpkaXIiKSArIDEgKyBzdHJsZW4gKGFjdHVhbF9jd3JhcHBlcl9uYW1lKSArIDEpKTsKKyAgc3RyY3B5IChuZXdhcmd6WzBdLCBhY3R1YWxfY3dyYXBwZXJfcGF0aCk7CisgIHN0cmNhdCAobmV3YXJnelswXSwgIiRvYmpkaXIiKTsKKyAgc3RyY2F0IChuZXdhcmd6WzBdLCAiLyIpOworRU9GCisKKwkgICAgY2F0IDw8IkVPRiIKKyAgLyogc3RvcCBoZXJlLCBhbmQgY29weSBzbyB3ZSBkb24ndCBoYXZlIHRvIGRvIHRoaXMgdHdpY2UgKi8KKyAgdG1wX3BhdGhzcGVjID0geHN0cmR1cCAobmV3YXJnelswXSk7CisKKyAgLyogZG8gTk9UIHdhbnQgdGhlIGx0LSBwcmVmaXggaGVyZSwgc28gdXNlIGFjdHVhbF9jd3JhcHBlcl9uYW1lICovCisgIHN0cmNhdCAobmV3YXJnelswXSwgYWN0dWFsX2N3cmFwcGVyX25hbWUpOworCisgIC8qIERPIHdhbnQgdGhlIGx0LSBwcmVmaXggaGVyZSBpZiBpdCBleGlzdHMsIHNvIHVzZSB0YXJnZXRfbmFtZSAqLworICBsdF9hcmd2X3plcm8gPSBsdF9leHRlbmRfc3RyICh0bXBfcGF0aHNwZWMsIHRhcmdldF9uYW1lLCAxKTsKKyAgWEZSRUUgKHRtcF9wYXRoc3BlYyk7CisgIHRtcF9wYXRoc3BlYyA9IE5VTEw7CitFT0YKKworCSAgICBjYXNlICRob3N0X29zIGluCisJICAgICAgbWluZ3cqKQorCSAgICBjYXQgPDwiRU9GIgorICB7CisgICAgY2hhciogcDsKKyAgICB3aGlsZSAoKHAgPSBzdHJjaHIgKG5ld2FyZ3pbMF0sICdcXCcpKSAhPSBOVUxMKQorICAgICAgeworCSpwID0gJy8nOworICAgICAgfQorICAgIHdoaWxlICgocCA9IHN0cmNociAobHRfYXJndl96ZXJvLCAnXFwnKSkgIT0gTlVMTCkKKyAgICAgIHsKKwkqcCA9ICcvJzsKKyAgICAgIH0KKyAgfQorRU9GCisJICAgIDs7CisJICAgIGVzYWMKKworCSAgICBjYXQgPDwiRU9GIgorICBYRlJFRSAodGFyZ2V0X25hbWUpOworICBYRlJFRSAoYWN0dWFsX2N3cmFwcGVyX3BhdGgpOworICBYRlJFRSAoYWN0dWFsX2N3cmFwcGVyX25hbWUpOworCisgIGx0X3NldGVudiAoIkJJTl9TSCIsICJ4cGc0Iik7IC8qIGZvciBUcnU2NCAqLworICBsdF9zZXRlbnYgKCJEVUFMQ0FTRSIsICIxIik7ICAvKiBmb3IgTVNLIHNoICovCisgIGx0X3VwZGF0ZV9saWJfcGF0aCAoTElCX1BBVEhfVkFSTkFNRSwgTElCX1BBVEhfVkFMVUUpOworICBsdF91cGRhdGVfZXhlX3BhdGggKEVYRV9QQVRIX1ZBUk5BTUUsIEVYRV9QQVRIX1ZBTFVFKTsKKworICBuZXdhcmdjPTA7CisgIGZvciAoaSA9IDE7IGkgPCBhcmdjOyBpKyspCisgICAgeworICAgICAgaWYgKHN0cm5jbXAgKGFyZ3ZbaV0sIGVudl9zZXRfb3B0LCBlbnZfc2V0X29wdF9sZW4pID09IDApCisgICAgICAgIHsKKyAgICAgICAgICBpZiAoYXJndltpXVtlbnZfc2V0X29wdF9sZW5dID09ICc9JykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgY29uc3QgY2hhciAqcCA9IGFyZ3ZbaV0gKyBlbnZfc2V0X29wdF9sZW4gKyAxOworICAgICAgICAgICAgICBsdF9vcHRfcHJvY2Vzc19lbnZfc2V0IChwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICBlbHNlIGlmIChhcmd2W2ldW2Vudl9zZXRfb3B0X2xlbl0gPT0gJ1wwJyAmJiBpICsgMSA8IGFyZ2MpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIGx0X29wdF9wcm9jZXNzX2Vudl9zZXQgKGFyZ3ZbKytpXSk7IC8qIGRvbid0IGNvcHkgKi8KKyAgICAgICAgICAgIH0KKyAgICAgICAgICBlbHNlCisgICAgICAgICAgICBsdF9mYXRhbCAoIiVzIG1pc3NpbmcgcmVxdWlyZWQgYXJndW1lbnQiLCBlbnZfc2V0X29wdCk7CisgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgIGlmIChzdHJuY21wIChhcmd2W2ldLCBlbnZfcHJlcGVuZF9vcHQsIGVudl9wcmVwZW5kX29wdF9sZW4pID09IDApCisgICAgICAgIHsKKyAgICAgICAgICBpZiAoYXJndltpXVtlbnZfcHJlcGVuZF9vcHRfbGVuXSA9PSAnPScpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnAgPSBhcmd2W2ldICsgZW52X3ByZXBlbmRfb3B0X2xlbiArIDE7CisgICAgICAgICAgICAgIGx0X29wdF9wcm9jZXNzX2Vudl9wcmVwZW5kIChwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICBlbHNlIGlmIChhcmd2W2ldW2Vudl9wcmVwZW5kX29wdF9sZW5dID09ICdcMCcgJiYgaSArIDEgPCBhcmdjKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICBsdF9vcHRfcHJvY2Vzc19lbnZfcHJlcGVuZCAoYXJndlsrK2ldKTsgLyogZG9uJ3QgY29weSAqLworICAgICAgICAgICAgfQorICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGx0X2ZhdGFsICgiJXMgbWlzc2luZyByZXF1aXJlZCBhcmd1bWVudCIsIGVudl9wcmVwZW5kX29wdCk7CisgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgIGlmIChzdHJuY21wIChhcmd2W2ldLCBlbnZfYXBwZW5kX29wdCwgZW52X2FwcGVuZF9vcHRfbGVuKSA9PSAwKQorICAgICAgICB7CisgICAgICAgICAgaWYgKGFyZ3ZbaV1bZW52X2FwcGVuZF9vcHRfbGVuXSA9PSAnPScpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnAgPSBhcmd2W2ldICsgZW52X2FwcGVuZF9vcHRfbGVuICsgMTsKKyAgICAgICAgICAgICAgbHRfb3B0X3Byb2Nlc3NfZW52X2FwcGVuZCAocCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgZWxzZSBpZiAoYXJndltpXVtlbnZfYXBwZW5kX29wdF9sZW5dID09ICdcMCcgJiYgaSArIDEgPCBhcmdjKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICBsdF9vcHRfcHJvY2Vzc19lbnZfYXBwZW5kIChhcmd2WysraV0pOyAvKiBkb24ndCBjb3B5ICovCisgICAgICAgICAgICB9CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAgbHRfZmF0YWwgKCIlcyBtaXNzaW5nIHJlcXVpcmVkIGFyZ3VtZW50IiwgZW52X2FwcGVuZF9vcHQpOworICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICBpZiAoc3RybmNtcCAoYXJndltpXSwgbHR3cmFwcGVyX29wdGlvbl9wcmVmaXgsIG9wdF9wcmVmaXhfbGVuKSA9PSAwKQorICAgICAgICB7CisgICAgICAgICAgLyogaG93ZXZlciwgaWYgdGhlcmUgaXMgYW4gb3B0aW9uIGluIHRoZSBMVFdSQVBQRVJfT1BUSU9OX1BSRUZJWAorICAgICAgICAgICAgIG5hbWVzcGFjZSwgYnV0IGl0IGlzIG5vdCBvbmUgb2YgdGhlIG9uZXMgd2Uga25vdyBhYm91dCBhbmQKKyAgICAgICAgICAgICBoYXZlIGFscmVhZHkgZGVhbHQgd2l0aCwgYWJvdmUgKGlubHVkaW5nIGR1bXAtc2NyaXB0KSwgdGhlbgorICAgICAgICAgICAgIHJlcG9ydCBhbiBlcnJvci4gT3RoZXJ3aXNlLCB0YXJnZXRzIG1pZ2h0IGJlZ2luIHRvIGJlbGlldmUKKyAgICAgICAgICAgICB0aGV5IGFyZSBhbGxvd2VkIHRvIHVzZSBvcHRpb25zIGluIHRoZSBMVFdSQVBQRVJfT1BUSU9OX1BSRUZJWAorICAgICAgICAgICAgIG5hbWVzcGFjZS4gVGhlIGZpcnN0IHRpbWUgYW55IHVzZXIgY29tcGxhaW5zIGFib3V0IHRoaXMsIHdlJ2xsCisgICAgICAgICAgICAgbmVlZCB0byBtYWtlIExUV1JBUFBFUl9PUFRJT05fUFJFRklYIGEgY29uZmlndXJlLXRpbWUgb3B0aW9uCisgICAgICAgICAgICAgb3IgYSBjb25maWd1cmUuYWMtc2V0dGFibGUgdmFsdWUuCisgICAgICAgICAgICovCisgICAgICAgICAgbHRfZmF0YWwgKCJVbnJlY29nbml6ZWQgb3B0aW9uIGluICVzIG5hbWVzcGFjZTogJyVzJyIsCisgICAgICAgICAgICAgICAgICAgIGx0d3JhcHBlcl9vcHRpb25fcHJlZml4LCBhcmd2W2ldKTsKKyAgICAgICAgfQorICAgICAgLyogb3RoZXJ3aXNlIC4uLiAqLworICAgICAgbmV3YXJnelsrK25ld2FyZ2NdID0geHN0cmR1cCAoYXJndltpXSk7CisgICAgfQorICBuZXdhcmd6WysrbmV3YXJnY10gPSBOVUxMOworCisgIExUV1JBUFBFUl9ERUJVR1BSSU5URiAgICAgKCgiKG1haW4pIGx0X2FyZ3ZfemVybyA6ICVzXG4iLCAobHRfYXJndl96ZXJvID8gbHRfYXJndl96ZXJvIDogIjxOVUxMPiIpKSk7CisgIGZvciAoaSA9IDA7IGkgPCBuZXdhcmdjOyBpKyspCisgICAgeworICAgICAgTFRXUkFQUEVSX0RFQlVHUFJJTlRGICgoIihtYWluKSBuZXdhcmd6WyVkXSAgIDogJXNcbiIsIGksIChuZXdhcmd6W2ldID8gbmV3YXJneltpXSA6ICI8TlVMTD4iKSkpOworICAgIH0KKworRU9GCisKKwkgICAgY2FzZSAkaG9zdF9vcyBpbgorCSAgICAgIG1pbmd3KikKKwkJY2F0IDw8IkVPRiIKKyAgLyogZXhlY3YgZG9lc24ndCBhY3R1YWxseSB3b3JrIG9uIG1pbmd3IGFzIGV4cGVjdGVkIG9uIHVuaXggKi8KKyAgcnZhbCA9IF9zcGF3bnYgKF9QX1dBSVQsIGx0X2FyZ3ZfemVybywgKGNvbnN0IGNoYXIgKiBjb25zdCAqKSBuZXdhcmd6KTsKKyAgaWYgKHJ2YWwgPT0gLTEpCisgICAgeworICAgICAgLyogZmFpbGVkIHRvIHN0YXJ0IHByb2Nlc3MgKi8KKyAgICAgIExUV1JBUFBFUl9ERUJVR1BSSU5URiAoKCIobWFpbikgZmFpbGVkIHRvIGxhdW5jaCB0YXJnZXQgXCIlc1wiOiBlcnJubyA9ICVkXG4iLCBsdF9hcmd2X3plcm8sIGVycm5vKSk7CisgICAgICByZXR1cm4gMTI3OworICAgIH0KKyAgcmV0dXJuIHJ2YWw7CitFT0YKKwkJOzsKKwkgICAgICAqKQorCQljYXQgPDwiRU9GIgorICBleGVjdiAobHRfYXJndl96ZXJvLCBuZXdhcmd6KTsKKyAgcmV0dXJuIHJ2YWw7IC8qID0xMjcsIGJ1dCBhdm9pZHMgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgKi8KK0VPRgorCQk7OworCSAgICBlc2FjCisKKwkgICAgY2F0IDw8IkVPRiIKK30KKwordm9pZCAqCit4bWFsbG9jIChzaXplX3QgbnVtKQoreworICB2b2lkICpwID0gKHZvaWQgKikgbWFsbG9jIChudW0pOworICBpZiAoIXApCisgICAgbHRfZmF0YWwgKCJNZW1vcnkgZXhoYXVzdGVkIik7CisKKyAgcmV0dXJuIHA7Cit9CisKK2NoYXIgKgoreHN0cmR1cCAoY29uc3QgY2hhciAqc3RyaW5nKQoreworICByZXR1cm4gc3RyaW5nID8gc3RyY3B5ICgoY2hhciAqKSB4bWFsbG9jIChzdHJsZW4gKHN0cmluZykgKyAxKSwKKwkJCSAgc3RyaW5nKSA6IE5VTEw7Cit9CisKK2NvbnN0IGNoYXIgKgorYmFzZV9uYW1lIChjb25zdCBjaGFyICpuYW1lKQoreworICBjb25zdCBjaGFyICpiYXNlOworCisjaWYgZGVmaW5lZCAoSEFWRV9ET1NfQkFTRURfRklMRV9TWVNURU0pCisgIC8qIFNraXAgb3ZlciB0aGUgZGlzayBuYW1lIGluIE1TRE9TIHBhdGhuYW1lcy4gKi8KKyAgaWYgKGlzYWxwaGEgKCh1bnNpZ25lZCBjaGFyKSBuYW1lWzBdKSAmJiBuYW1lWzFdID09ICc6JykKKyAgICBuYW1lICs9IDI7CisjZW5kaWYKKworICBmb3IgKGJhc2UgPSBuYW1lOyAqbmFtZTsgbmFtZSsrKQorICAgIGlmIChJU19ESVJfU0VQQVJBVE9SICgqbmFtZSkpCisgICAgICBiYXNlID0gbmFtZSArIDE7CisgIHJldHVybiBiYXNlOworfQorCitpbnQKK2NoZWNrX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKnBhdGgpCit7CisgIHN0cnVjdCBzdGF0IHN0OworCisgIExUV1JBUFBFUl9ERUJVR1BSSU5URiAoKCIoY2hlY2tfZXhlY3V0YWJsZSkgIDogJXNcbiIsCisJCQkgIHBhdGggPyAoKnBhdGggPyBwYXRoIDogIkVNUFRZISIpIDogIk5VTEwhIikpOworICBpZiAoKCFwYXRoKSB8fCAoISpwYXRoKSkKKyAgICByZXR1cm4gMDsKKworICBpZiAoKHN0YXQgKHBhdGgsICZzdCkgPj0gMCkKKyAgICAgICYmIChzdC5zdF9tb2RlICYgKFNfSVhVU1IgfCBTX0lYR1JQIHwgU19JWE9USCkpKQorICAgIHJldHVybiAxOworICBlbHNlCisgICAgcmV0dXJuIDA7Cit9CisKK2ludAorbWFrZV9leGVjdXRhYmxlIChjb25zdCBjaGFyICpwYXRoKQoreworICBpbnQgcnZhbCA9IDA7CisgIHN0cnVjdCBzdGF0IHN0OworCisgIExUV1JBUFBFUl9ERUJVR1BSSU5URiAoKCIobWFrZV9leGVjdXRhYmxlKSAgIDogJXNcbiIsCisJCQkgIHBhdGggPyAoKnBhdGggPyBwYXRoIDogIkVNUFRZISIpIDogIk5VTEwhIikpOworICBpZiAoKCFwYXRoKSB8fCAoISpwYXRoKSkKKyAgICByZXR1cm4gMDsKKworICBpZiAoc3RhdCAocGF0aCwgJnN0KSA+PSAwKQorICAgIHsKKyAgICAgIHJ2YWwgPSBjaG1vZCAocGF0aCwgc3Quc3RfbW9kZSB8IFNfSVhPVEggfCBTX0lYR1JQIHwgU19JWFVTUik7CisgICAgfQorICByZXR1cm4gcnZhbDsKK30KKworLyogU2VhcmNoZXMgZm9yIHRoZSBmdWxsIHBhdGggb2YgdGhlIHdyYXBwZXIuICBSZXR1cm5zCisgICBuZXdseSBhbGxvY2F0ZWQgZnVsbCBwYXRoIG5hbWUgaWYgZm91bmQsIE5VTEwgb3RoZXJ3aXNlCisgICBEb2VzIG5vdCBjaGFzZSBzeW1saW5rcywgZXZlbiBvbiBwbGF0Zm9ybXMgdGhhdCBzdXBwb3J0IHRoZW0uCisqLworY2hhciAqCitmaW5kX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKndyYXBwZXIpCit7CisgIGludCBoYXNfc2xhc2ggPSAwOworICBjb25zdCBjaGFyICpwOworICBjb25zdCBjaGFyICpwX25leHQ7CisgIC8qIHN0YXRpYyBidWZmZXIgZm9yIGdldGN3ZCAqLworICBjaGFyIHRtcFtMVF9QQVRITUFYICsgMV07CisgIGludCB0bXBfbGVuOworICBjaGFyICpjb25jYXRfbmFtZTsKKworICBMVFdSQVBQRVJfREVCVUdQUklOVEYgKCgiKGZpbmRfZXhlY3V0YWJsZSkgICA6ICVzXG4iLAorCQkJICB3cmFwcGVyID8gKCp3cmFwcGVyID8gd3JhcHBlciA6ICJFTVBUWSEiKSA6ICJOVUxMISIpKTsKKworICBpZiAoKHdyYXBwZXIgPT0gTlVMTCkgfHwgKCp3cmFwcGVyID09ICdcMCcpKQorICAgIHJldHVybiBOVUxMOworCisgIC8qIEFic29sdXRlIHBhdGg/ICovCisjaWYgZGVmaW5lZCAoSEFWRV9ET1NfQkFTRURfRklMRV9TWVNURU0pCisgIGlmIChpc2FscGhhICgodW5zaWduZWQgY2hhcikgd3JhcHBlclswXSkgJiYgd3JhcHBlclsxXSA9PSAnOicpCisgICAgeworICAgICAgY29uY2F0X25hbWUgPSB4c3RyZHVwICh3cmFwcGVyKTsKKyAgICAgIGlmIChjaGVja19leGVjdXRhYmxlIChjb25jYXRfbmFtZSkpCisJcmV0dXJuIGNvbmNhdF9uYW1lOworICAgICAgWEZSRUUgKGNvbmNhdF9uYW1lKTsKKyAgICB9CisgIGVsc2UKKyAgICB7CisjZW5kaWYKKyAgICAgIGlmIChJU19ESVJfU0VQQVJBVE9SICh3cmFwcGVyWzBdKSkKKwl7CisJICBjb25jYXRfbmFtZSA9IHhzdHJkdXAgKHdyYXBwZXIpOworCSAgaWYgKGNoZWNrX2V4ZWN1dGFibGUgKGNvbmNhdF9uYW1lKSkKKwkgICAgcmV0dXJuIGNvbmNhdF9uYW1lOworCSAgWEZSRUUgKGNvbmNhdF9uYW1lKTsKKwl9CisjaWYgZGVmaW5lZCAoSEFWRV9ET1NfQkFTRURfRklMRV9TWVNURU0pCisgICAgfQorI2VuZGlmCisKKyAgZm9yIChwID0gd3JhcHBlcjsgKnA7IHArKykKKyAgICBpZiAoKnAgPT0gJy8nKQorICAgICAgeworCWhhc19zbGFzaCA9IDE7CisJYnJlYWs7CisgICAgICB9CisgIGlmICghaGFzX3NsYXNoKQorICAgIHsKKyAgICAgIC8qIG5vIHNsYXNoZXM7IHNlYXJjaCBQQVRIICovCisgICAgICBjb25zdCBjaGFyICpwYXRoID0gZ2V0ZW52ICgiUEFUSCIpOworICAgICAgaWYgKHBhdGggIT0gTlVMTCkKKwl7CisJICBmb3IgKHAgPSBwYXRoOyAqcDsgcCA9IHBfbmV4dCkKKwkgICAgeworCSAgICAgIGNvbnN0IGNoYXIgKnE7CisJICAgICAgc2l6ZV90IHBfbGVuOworCSAgICAgIGZvciAocSA9IHA7ICpxOyBxKyspCisJCWlmIChJU19QQVRIX1NFUEFSQVRPUiAoKnEpKQorCQkgIGJyZWFrOworCSAgICAgIHBfbGVuID0gcSAtIHA7CisJICAgICAgcF9uZXh0ID0gKCpxID09ICdcMCcgPyBxIDogcSArIDEpOworCSAgICAgIGlmIChwX2xlbiA9PSAwKQorCQl7CisJCSAgLyogZW1wdHkgcGF0aDogY3VycmVudCBkaXJlY3RvcnkgKi8KKwkJICBpZiAoZ2V0Y3dkICh0bXAsIExUX1BBVEhNQVgpID09IE5VTEwpCisJCSAgICBsdF9mYXRhbCAoImdldGN3ZCBmYWlsZWQiKTsKKwkJICB0bXBfbGVuID0gc3RybGVuICh0bXApOworCQkgIGNvbmNhdF9uYW1lID0KKwkJICAgIFhNQUxMT0MgKGNoYXIsIHRtcF9sZW4gKyAxICsgc3RybGVuICh3cmFwcGVyKSArIDEpOworCQkgIG1lbWNweSAoY29uY2F0X25hbWUsIHRtcCwgdG1wX2xlbik7CisJCSAgY29uY2F0X25hbWVbdG1wX2xlbl0gPSAnLyc7CisJCSAgc3RyY3B5IChjb25jYXRfbmFtZSArIHRtcF9sZW4gKyAxLCB3cmFwcGVyKTsKKwkJfQorCSAgICAgIGVsc2UKKwkJeworCQkgIGNvbmNhdF9uYW1lID0KKwkJICAgIFhNQUxMT0MgKGNoYXIsIHBfbGVuICsgMSArIHN0cmxlbiAod3JhcHBlcikgKyAxKTsKKwkJICBtZW1jcHkgKGNvbmNhdF9uYW1lLCBwLCBwX2xlbik7CisJCSAgY29uY2F0X25hbWVbcF9sZW5dID0gJy8nOworCQkgIHN0cmNweSAoY29uY2F0X25hbWUgKyBwX2xlbiArIDEsIHdyYXBwZXIpOworCQl9CisJICAgICAgaWYgKGNoZWNrX2V4ZWN1dGFibGUgKGNvbmNhdF9uYW1lKSkKKwkJcmV0dXJuIGNvbmNhdF9uYW1lOworCSAgICAgIFhGUkVFIChjb25jYXRfbmFtZSk7CisJICAgIH0KKwl9CisgICAgICAvKiBub3QgZm91bmQgaW4gUEFUSDsgYXNzdW1lIGN1cmRpciAqLworICAgIH0KKyAgLyogUmVsYXRpdmUgcGF0aCB8IG5vdCBmb3VuZCBpbiBwYXRoOiBwcmVwZW5kIGN3ZCAqLworICBpZiAoZ2V0Y3dkICh0bXAsIExUX1BBVEhNQVgpID09IE5VTEwpCisgICAgbHRfZmF0YWwgKCJnZXRjd2QgZmFpbGVkIik7CisgIHRtcF9sZW4gPSBzdHJsZW4gKHRtcCk7CisgIGNvbmNhdF9uYW1lID0gWE1BTExPQyAoY2hhciwgdG1wX2xlbiArIDEgKyBzdHJsZW4gKHdyYXBwZXIpICsgMSk7CisgIG1lbWNweSAoY29uY2F0X25hbWUsIHRtcCwgdG1wX2xlbik7CisgIGNvbmNhdF9uYW1lW3RtcF9sZW5dID0gJy8nOworICBzdHJjcHkgKGNvbmNhdF9uYW1lICsgdG1wX2xlbiArIDEsIHdyYXBwZXIpOworCisgIGlmIChjaGVja19leGVjdXRhYmxlIChjb25jYXRfbmFtZSkpCisgICAgcmV0dXJuIGNvbmNhdF9uYW1lOworICBYRlJFRSAoY29uY2F0X25hbWUpOworICByZXR1cm4gTlVMTDsKK30KKworY2hhciAqCitjaGFzZV9zeW1saW5rcyAoY29uc3QgY2hhciAqcGF0aHNwZWMpCit7CisjaWZuZGVmIFNfSVNMTksKKyAgcmV0dXJuIHhzdHJkdXAgKHBhdGhzcGVjKTsKKyNlbHNlCisgIGNoYXIgYnVmW0xUX1BBVEhNQVhdOworICBzdHJ1Y3Qgc3RhdCBzOworICBjaGFyICp0bXBfcGF0aHNwZWMgPSB4c3RyZHVwIChwYXRoc3BlYyk7CisgIGNoYXIgKnA7CisgIGludCBoYXNfc3ltbGlua3MgPSAwOworICB3aGlsZSAoc3RybGVuICh0bXBfcGF0aHNwZWMpICYmICFoYXNfc3ltbGlua3MpCisgICAgeworICAgICAgTFRXUkFQUEVSX0RFQlVHUFJJTlRGICgoImNoZWNraW5nIHBhdGggY29tcG9uZW50IGZvciBzeW1saW5rczogJXNcbiIsCisJCQkgICAgICB0bXBfcGF0aHNwZWMpKTsKKyAgICAgIGlmIChsc3RhdCAodG1wX3BhdGhzcGVjLCAmcykgPT0gMCkKKwl7CisJICBpZiAoU19JU0xOSyAocy5zdF9tb2RlKSAhPSAwKQorCSAgICB7CisJICAgICAgaGFzX3N5bWxpbmtzID0gMTsKKwkgICAgICBicmVhazsKKwkgICAgfQorCisJICAvKiBzZWFyY2ggYmFja3dhcmRzIGZvciBsYXN0IERJUl9TRVBBUkFUT1IgKi8KKwkgIHAgPSB0bXBfcGF0aHNwZWMgKyBzdHJsZW4gKHRtcF9wYXRoc3BlYykgLSAxOworCSAgd2hpbGUgKChwID4gdG1wX3BhdGhzcGVjKSAmJiAoIUlTX0RJUl9TRVBBUkFUT1IgKCpwKSkpCisJICAgIHAtLTsKKwkgIGlmICgocCA9PSB0bXBfcGF0aHNwZWMpICYmICghSVNfRElSX1NFUEFSQVRPUiAoKnApKSkKKwkgICAgeworCSAgICAgIC8qIG5vIG1vcmUgRElSX1NFUEFSQVRPUlMgbGVmdCAqLworCSAgICAgIGJyZWFrOworCSAgICB9CisJICAqcCA9ICdcMCc7CisJfQorICAgICAgZWxzZQorCXsKKwkgIGNoYXIgKmVycnN0ciA9IHN0cmVycm9yIChlcnJubyk7CisJICBsdF9mYXRhbCAoIkVycm9yIGFjY2Vzc2luZyBmaWxlICVzICglcykiLCB0bXBfcGF0aHNwZWMsIGVycnN0cik7CisJfQorICAgIH0KKyAgWEZSRUUgKHRtcF9wYXRoc3BlYyk7CisKKyAgaWYgKCFoYXNfc3ltbGlua3MpCisgICAgeworICAgICAgcmV0dXJuIHhzdHJkdXAgKHBhdGhzcGVjKTsKKyAgICB9CisKKyAgdG1wX3BhdGhzcGVjID0gcmVhbHBhdGggKHBhdGhzcGVjLCBidWYpOworICBpZiAodG1wX3BhdGhzcGVjID09IDApCisgICAgeworICAgICAgbHRfZmF0YWwgKCJDb3VsZCBub3QgZm9sbG93IHN5bWxpbmtzIGZvciAlcyIsIHBhdGhzcGVjKTsKKyAgICB9CisgIHJldHVybiB4c3RyZHVwICh0bXBfcGF0aHNwZWMpOworI2VuZGlmCit9CisKK2NoYXIgKgorc3RyZW5kemFwIChjaGFyICpzdHIsIGNvbnN0IGNoYXIgKnBhdCkKK3sKKyAgc2l6ZV90IGxlbiwgcGF0bGVuOworCisgIGFzc2VydCAoc3RyICE9IE5VTEwpOworICBhc3NlcnQgKHBhdCAhPSBOVUxMKTsKKworICBsZW4gPSBzdHJsZW4gKHN0cik7CisgIHBhdGxlbiA9IHN0cmxlbiAocGF0KTsKKworICBpZiAocGF0bGVuIDw9IGxlbikKKyAgICB7CisgICAgICBzdHIgKz0gbGVuIC0gcGF0bGVuOworICAgICAgaWYgKHN0cmNtcCAoc3RyLCBwYXQpID09IDApCisJKnN0ciA9ICdcMCc7CisgICAgfQorICByZXR1cm4gc3RyOworfQorCitzdGF0aWMgdm9pZAorbHRfZXJyb3JfY29yZSAoaW50IGV4aXRfc3RhdHVzLCBjb25zdCBjaGFyICptb2RlLAorCSAgICAgICBjb25zdCBjaGFyICptZXNzYWdlLCB2YV9saXN0IGFwKQoreworICBmcHJpbnRmIChzdGRlcnIsICIlczogJXM6ICIsIHByb2dyYW1fbmFtZSwgbW9kZSk7CisgIHZmcHJpbnRmIChzdGRlcnIsIG1lc3NhZ2UsIGFwKTsKKyAgZnByaW50ZiAoc3RkZXJyLCAiLlxuIik7CisKKyAgaWYgKGV4aXRfc3RhdHVzID49IDApCisgICAgZXhpdCAoZXhpdF9zdGF0dXMpOworfQorCit2b2lkCitsdF9mYXRhbCAoY29uc3QgY2hhciAqbWVzc2FnZSwgLi4uKQoreworICB2YV9saXN0IGFwOworICB2YV9zdGFydCAoYXAsIG1lc3NhZ2UpOworICBsdF9lcnJvcl9jb3JlIChFWElUX0ZBSUxVUkUsICJGQVRBTCIsIG1lc3NhZ2UsIGFwKTsKKyAgdmFfZW5kIChhcCk7Cit9CisKK3ZvaWQKK2x0X3NldGVudiAoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUpCit7CisgIExUV1JBUFBFUl9ERUJVR1BSSU5URiAoKCIobHRfc2V0ZW52KSBzZXR0aW5nICclcycgdG8gJyVzJ1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKG5hbWUgPyBuYW1lIDogIjxOVUxMPiIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWUgPyB2YWx1ZSA6ICI8TlVMTD4iKSkpOworICB7CisjaWZkZWYgSEFWRV9TRVRFTlYKKyAgICAvKiBhbHdheXMgbWFrZSBhIGNvcHksIGZvciBjb25zaXN0ZW5jeSB3aXRoICFIQVZFX1NFVEVOViAqLworICAgIGNoYXIgKnN0ciA9IHhzdHJkdXAgKHZhbHVlKTsKKyAgICBzZXRlbnYgKG5hbWUsIHN0ciwgMSk7CisjZWxzZQorICAgIGludCBsZW4gPSBzdHJsZW4gKG5hbWUpICsgMSArIHN0cmxlbiAodmFsdWUpICsgMTsKKyAgICBjaGFyICpzdHIgPSBYTUFMTE9DIChjaGFyLCBsZW4pOworICAgIHNwcmludGYgKHN0ciwgIiVzPSVzIiwgbmFtZSwgdmFsdWUpOworICAgIGlmIChwdXRlbnYgKHN0cikgIT0gRVhJVF9TVUNDRVNTKQorICAgICAgeworICAgICAgICBYRlJFRSAoc3RyKTsKKyAgICAgIH0KKyNlbmRpZgorICB9Cit9CisKK2NoYXIgKgorbHRfZXh0ZW5kX3N0ciAoY29uc3QgY2hhciAqb3JpZ192YWx1ZSwgY29uc3QgY2hhciAqYWRkLCBpbnQgdG9fZW5kKQoreworICBjaGFyICpuZXdfdmFsdWU7CisgIGlmIChvcmlnX3ZhbHVlICYmICpvcmlnX3ZhbHVlKQorICAgIHsKKyAgICAgIGludCBvcmlnX3ZhbHVlX2xlbiA9IHN0cmxlbiAob3JpZ192YWx1ZSk7CisgICAgICBpbnQgYWRkX2xlbiA9IHN0cmxlbiAoYWRkKTsKKyAgICAgIG5ld192YWx1ZSA9IFhNQUxMT0MgKGNoYXIsIGFkZF9sZW4gKyBvcmlnX3ZhbHVlX2xlbiArIDEpOworICAgICAgaWYgKHRvX2VuZCkKKyAgICAgICAgeworICAgICAgICAgIHN0cmNweSAobmV3X3ZhbHVlLCBvcmlnX3ZhbHVlKTsKKyAgICAgICAgICBzdHJjcHkgKG5ld192YWx1ZSArIG9yaWdfdmFsdWVfbGVuLCBhZGQpOworICAgICAgICB9CisgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICBzdHJjcHkgKG5ld192YWx1ZSwgYWRkKTsKKyAgICAgICAgICBzdHJjcHkgKG5ld192YWx1ZSArIGFkZF9sZW4sIG9yaWdfdmFsdWUpOworICAgICAgICB9CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgbmV3X3ZhbHVlID0geHN0cmR1cCAoYWRkKTsKKyAgICB9CisgIHJldHVybiBuZXdfdmFsdWU7Cit9CisKK2ludAorbHRfc3BsaXRfbmFtZV92YWx1ZSAoY29uc3QgY2hhciAqYXJnLCBjaGFyKiogbmFtZSwgY2hhcioqIHZhbHVlKQoreworICBjb25zdCBjaGFyICpwOworICBpbnQgbGVuOworICBpZiAoIWFyZyB8fCAhKmFyZykKKyAgICByZXR1cm4gMTsKKworICBwID0gc3RyY2hyIChhcmcsIChpbnQpJz0nKTsKKworICBpZiAoIXApCisgICAgcmV0dXJuIDE7CisKKyAgKnZhbHVlID0geHN0cmR1cCAoKytwKTsKKworICBsZW4gPSBzdHJsZW4gKGFyZykgLSBzdHJsZW4gKCp2YWx1ZSk7CisgICpuYW1lID0gWE1BTExPQyAoY2hhciwgbGVuKTsKKyAgc3RybmNweSAoKm5hbWUsIGFyZywgbGVuLTEpOworICAoKm5hbWUpW2xlbiAtIDFdID0gJ1wwJzsKKworICByZXR1cm4gMDsKK30KKwordm9pZAorbHRfb3B0X3Byb2Nlc3NfZW52X3NldCAoY29uc3QgY2hhciAqYXJnKQoreworICBjaGFyICpuYW1lID0gTlVMTDsKKyAgY2hhciAqdmFsdWUgPSBOVUxMOworCisgIGlmIChsdF9zcGxpdF9uYW1lX3ZhbHVlIChhcmcsICZuYW1lLCAmdmFsdWUpICE9IDApCisgICAgeworICAgICAgWEZSRUUgKG5hbWUpOworICAgICAgWEZSRUUgKHZhbHVlKTsKKyAgICAgIGx0X2ZhdGFsICgiYmFkIGFyZ3VtZW50IGZvciAlczogJyVzJyIsIGVudl9zZXRfb3B0LCBhcmcpOworICAgIH0KKworICBsdF9zZXRlbnYgKG5hbWUsIHZhbHVlKTsKKyAgWEZSRUUgKG5hbWUpOworICBYRlJFRSAodmFsdWUpOworfQorCit2b2lkCitsdF9vcHRfcHJvY2Vzc19lbnZfcHJlcGVuZCAoY29uc3QgY2hhciAqYXJnKQoreworICBjaGFyICpuYW1lID0gTlVMTDsKKyAgY2hhciAqdmFsdWUgPSBOVUxMOworICBjaGFyICpuZXdfdmFsdWUgPSBOVUxMOworCisgIGlmIChsdF9zcGxpdF9uYW1lX3ZhbHVlIChhcmcsICZuYW1lLCAmdmFsdWUpICE9IDApCisgICAgeworICAgICAgWEZSRUUgKG5hbWUpOworICAgICAgWEZSRUUgKHZhbHVlKTsKKyAgICAgIGx0X2ZhdGFsICgiYmFkIGFyZ3VtZW50IGZvciAlczogJyVzJyIsIGVudl9wcmVwZW5kX29wdCwgYXJnKTsKKyAgICB9CisKKyAgbmV3X3ZhbHVlID0gbHRfZXh0ZW5kX3N0ciAoZ2V0ZW52IChuYW1lKSwgdmFsdWUsIDApOworICBsdF9zZXRlbnYgKG5hbWUsIG5ld192YWx1ZSk7CisgIFhGUkVFIChuZXdfdmFsdWUpOworICBYRlJFRSAobmFtZSk7CisgIFhGUkVFICh2YWx1ZSk7Cit9CisKK3ZvaWQKK2x0X29wdF9wcm9jZXNzX2Vudl9hcHBlbmQgKGNvbnN0IGNoYXIgKmFyZykKK3sKKyAgY2hhciAqbmFtZSA9IE5VTEw7CisgIGNoYXIgKnZhbHVlID0gTlVMTDsKKyAgY2hhciAqbmV3X3ZhbHVlID0gTlVMTDsKKworICBpZiAobHRfc3BsaXRfbmFtZV92YWx1ZSAoYXJnLCAmbmFtZSwgJnZhbHVlKSAhPSAwKQorICAgIHsKKyAgICAgIFhGUkVFIChuYW1lKTsKKyAgICAgIFhGUkVFICh2YWx1ZSk7CisgICAgICBsdF9mYXRhbCAoImJhZCBhcmd1bWVudCBmb3IgJXM6ICclcyciLCBlbnZfYXBwZW5kX29wdCwgYXJnKTsKKyAgICB9CisKKyAgbmV3X3ZhbHVlID0gbHRfZXh0ZW5kX3N0ciAoZ2V0ZW52IChuYW1lKSwgdmFsdWUsIDEpOworICBsdF9zZXRlbnYgKG5hbWUsIG5ld192YWx1ZSk7CisgIFhGUkVFIChuZXdfdmFsdWUpOworICBYRlJFRSAobmFtZSk7CisgIFhGUkVFICh2YWx1ZSk7Cit9CisKK3ZvaWQKK2x0X3VwZGF0ZV9leGVfcGF0aCAoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUpCit7CisgIExUV1JBUFBFUl9ERUJVR1BSSU5URiAoKCIobHRfdXBkYXRlX2V4ZV9wYXRoKSBtb2RpZnlpbmcgJyVzJyBieSBwcmVwZW5kaW5nICclcydcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIChuYW1lID8gbmFtZSA6ICI8TlVMTD4iKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlID8gdmFsdWUgOiAiPE5VTEw+IikpKTsKKworICBpZiAobmFtZSAmJiAqbmFtZSAmJiB2YWx1ZSAmJiAqdmFsdWUpCisgICAgeworICAgICAgY2hhciAqbmV3X3ZhbHVlID0gbHRfZXh0ZW5kX3N0ciAoZ2V0ZW52IChuYW1lKSwgdmFsdWUsIDApOworICAgICAgLyogc29tZSBzeXN0ZW1zIGNhbid0IGNvcGUgd2l0aCBhICc6Jy10ZXJtaW5hdGVkIHBhdGggIycgKi8KKyAgICAgIGludCBsZW4gPSBzdHJsZW4gKG5ld192YWx1ZSk7CisgICAgICB3aGlsZSAoKChsZW4gPSBzdHJsZW4gKG5ld192YWx1ZSkpID4gMCkgJiYgSVNfUEFUSF9TRVBBUkFUT1IgKG5ld192YWx1ZVtsZW4tMV0pKQorICAgICAgICB7CisgICAgICAgICAgbmV3X3ZhbHVlW2xlbi0xXSA9ICdcMCc7CisgICAgICAgIH0KKyAgICAgIGx0X3NldGVudiAobmFtZSwgbmV3X3ZhbHVlKTsKKyAgICAgIFhGUkVFIChuZXdfdmFsdWUpOworICAgIH0KK30KKwordm9pZAorbHRfdXBkYXRlX2xpYl9wYXRoIChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKK3sKKyAgTFRXUkFQUEVSX0RFQlVHUFJJTlRGICgoIihsdF91cGRhdGVfbGliX3BhdGgpIG1vZGlmeWluZyAnJXMnIGJ5IHByZXBlbmRpbmcgJyVzJ1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKG5hbWUgPyBuYW1lIDogIjxOVUxMPiIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWUgPyB2YWx1ZSA6ICI8TlVMTD4iKSkpOworCisgIGlmIChuYW1lICYmICpuYW1lICYmIHZhbHVlICYmICp2YWx1ZSkKKyAgICB7CisgICAgICBjaGFyICpuZXdfdmFsdWUgPSBsdF9leHRlbmRfc3RyIChnZXRlbnYgKG5hbWUpLCB2YWx1ZSwgMCk7CisgICAgICBsdF9zZXRlbnYgKG5hbWUsIG5ld192YWx1ZSk7CisgICAgICBYRlJFRSAobmV3X3ZhbHVlKTsKKyAgICB9Cit9CisKKworRU9GCit9CisjIGVuZDogZnVuY19lbWl0X2N3cmFwcGVyZXhlX3NyYworCiAjIGZ1bmNfbW9kZV9saW5rIGFyZy4uLgogZnVuY19tb2RlX2xpbmsgKCkKIHsKICAgICAkb3B0X2RlYnVnCiAgICAgY2FzZSAkaG9zdCBpbgotICAgICotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMyKiB8ICotKi1vczIqKQorICAgICotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMyKiB8ICotKi1vczIqIHwgKi1jZWdjYyopCiAgICAgICAjIEl0IGlzIGltcG9zc2libGUgdG8gbGluayBhIGRsbCB3aXRob3V0IHRoaXMgc2V0dGluZywgYW5kCiAgICAgICAjIHdlIHNob3VsZG4ndCBmb3JjZSB0aGUgbWFrZWZpbGUgbWFpbnRhaW5lciB0byBmaWd1cmUgb3V0CiAgICAgICAjIHdoaWNoIHN5c3RlbSB3ZSBhcmUgY29tcGlsaW5nIGZvciBpbiBvcmRlciB0byBwYXNzIGFuIGV4dHJhCkBAIC0yNjgxLDkgKzQxMjAsNiBAQAogCSAgZmkKIAkgIGlmIHRlc3QgLW4gIiRsaW5rX3N0YXRpY19mbGFnIjsgdGhlbgogCSAgICBkbG9wZW5fc2VsZj0kZGxvcGVuX3NlbGZfc3RhdGljCi0JICAgICMgU2VlIGNvbW1lbnQgZm9yIC1zdGF0aWMgZmxhZyBiZWxvdywgZm9yIG1vcmUgZGV0YWlscy4KLQkgICAgZnVuY19hcHBlbmQgY29tcGlsZV9jb21tYW5kICIgJGxpbmtfc3RhdGljX2ZsYWciCi0JICAgIGZ1bmNfYXBwZW5kIGZpbmFsaXplX2NvbW1hbmQgIiAkbGlua19zdGF0aWNfZmxhZyIKIAkgIGZpCiAJICBwcmVmZXJfc3RhdGljX2xpYnM9eWVzCiAJICA7OwpAQCAtMjc4OSw3ICs0MjI1LDcgQEAKIAkJICAgOzsKIAkgICAgICBlc2FjCiAJICAgICAgOzsKLSAgIAkgIGVzYWMKKwkgIGVzYWMKIAkgIHByZXY9CiAJICBjb250aW51ZQogCSAgOzsKQEAgLTI5MjcsNyArNDM2Myw3IEBACiAJICBjb250aW51ZQogCSAgOzsKIAlzaHJleHQpCi0gIAkgIHNocmV4dF9jbWRzPSIkYXJnIgorCSAgc2hyZXh0X2NtZHM9IiRhcmciCiAJICBwcmV2PQogCSAgY29udGludWUKIAkgIDs7CkBAIC0yOTcxLDcgKzQ0MDcsMTEgQEAKIAogICAgICAgY2FzZSAkYXJnIGluCiAgICAgICAtYWxsLXN0YXRpYykKLQkjIFRoZSBlZmZlY3RzIG9mIC1hbGwtc3RhdGljIGFyZSBkZWZpbmVkIGluIGEgcHJldmlvdXMgbG9vcC4KKwlpZiB0ZXN0IC1uICIkbGlua19zdGF0aWNfZmxhZyI7IHRoZW4KKwkgICMgU2VlIGNvbW1lbnQgZm9yIC1zdGF0aWMgZmxhZyBiZWxvdywgZm9yIG1vcmUgZGV0YWlscy4KKwkgIGZ1bmNfYXBwZW5kIGNvbXBpbGVfY29tbWFuZCAiICRsaW5rX3N0YXRpY19mbGFnIgorCSAgZnVuY19hcHBlbmQgZmluYWxpemVfY29tbWFuZCAiICRsaW5rX3N0YXRpY19mbGFnIgorCWZpCiAJY29udGludWUKIAk7OwogCkBAIC0zMDM3LDYgKzQ0NzcsMTMgQEAKICAgICAgIC1MKikKIAlmdW5jX3N0cmlwbmFtZSAnLUwnICcnICIkYXJnIgogCWRpcj0kZnVuY19zdHJpcG5hbWVfcmVzdWx0CisJaWYgdGVzdCAteiAiJGRpciI7IHRoZW4KKwkgIGlmIHRlc3QgIiQjIiAtZ3QgMDsgdGhlbgorCSAgICBmdW5jX2ZhdGFsX2Vycm9yICJyZXF1aXJlIG5vIHNwYWNlIGJldHdlZW4gXGAtTCcgYW5kIFxgJDEnIgorCSAgZWxzZQorCSAgICBmdW5jX2ZhdGFsX2Vycm9yICJuZWVkIHBhdGggZm9yIFxgLUwnIG9wdGlvbiIKKwkgIGZpCisJZmkKIAkjIFdlIG5lZWQgYW4gYWJzb2x1dGUgcGF0aC4KIAljYXNlICRkaXIgaW4KIAlbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIDs7CkBAIC0zMDU1LDE0ICs0NTAyLDE2IEBACiAJICA7OwogCWVzYWMKIAljYXNlICRob3N0IGluCi0JKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9zMiopCisJKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9zMiogfCAqLWNlZ2NjKikKIAkgIHRlc3RiaW5kaXI9YCRFQ0hPICJYJGRpciIgfCAkWHNlZCAtZSAncyovbGliJCovYmluKidgCiAJICBjYXNlIDokZGxsc2VhcmNocGF0aDogaW4KIAkgICoiOiRkaXI6IiopIDs7CisJICA6OikgZGxsc2VhcmNocGF0aD0kZGlyOzsKIAkgICopIGRsbHNlYXJjaHBhdGg9IiRkbGxzZWFyY2hwYXRoOiRkaXIiOzsKIAkgIGVzYWMKIAkgIGNhc2UgOiRkbGxzZWFyY2hwYXRoOiBpbgogCSAgKiI6JHRlc3RiaW5kaXI6IiopIDs7CisJICA6OikgZGxsc2VhcmNocGF0aD0kdGVzdGJpbmRpcjs7CiAJICAqKSBkbGxzZWFyY2hwYXRoPSIkZGxsc2VhcmNocGF0aDokdGVzdGJpbmRpciI7OwogCSAgZXNhYwogCSAgOzsKQEAgLTMwNzMsNyArNDUyMiw3IEBACiAgICAgICAtbCopCiAJaWYgdGVzdCAiWCRhcmciID0gIlgtbGMiIHx8IHRlc3QgIlgkYXJnIiA9ICJYLWxtIjsgdGhlbgogCSAgY2FzZSAkaG9zdCBpbgotCSAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLWJlb3MqKQorCSAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLWJlb3MqIHwgKi1jZWdjYyopCiAJICAgICMgVGhlc2Ugc3lzdGVtcyBkb24ndCBhY3R1YWxseSBoYXZlIGEgQyBvciBtYXRoIGxpYnJhcnkgKGFzIHN1Y2gpCiAJICAgIGNvbnRpbnVlCiAJICAgIDs7CkBAIC0zMTUwLDkgKzQ1OTksOSBAQAogCiAgICAgICAtbm8taW5zdGFsbCkKIAljYXNlICRob3N0IGluCi0JKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9zMiopCisJKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9zMiogfCAqLSotZGFyd2luKiB8ICotY2VnY2MqKQogCSAgIyBUaGUgUEFUSCBoYWNrZXJ5IGluIHdyYXBwZXIgc2NyaXB0cyBpcyByZXF1aXJlZCBvbiBXaW5kb3dzCi0JICAjIGluIG9yZGVyIGZvciB0aGUgbG9hZGVyIHRvIGZpbmQgYW55IGRsbHMgaXQgbmVlZHMuCisJICAjIGFuZCBEYXJ3aW4gaW4gb3JkZXIgZm9yIHRoZSBsb2FkZXIgdG8gZmluZCBhbnkgZGxscyBpdCBuZWVkcy4KIAkgIGZ1bmNfd2FybmluZyAiXGAtbm8taW5zdGFsbCcgaXMgaWdub3JlZCBmb3IgJGhvc3QiCiAJICBmdW5jX3dhcm5pbmcgImFzc3VtaW5nIFxgLW5vLWZhc3QtaW5zdGFsbCcgaW5zdGVhZCIKIAkgIGZhc3RfaW5zdGFsbD1ubwpAQCAtMzI5OSw2ICs0NzQ4LDEyIEBACiAJY29udGludWUKIAk7OwogCisgICAgICAjIC1tc2dfKiBmb3Igb3NmIGNjCisgICAgICAtbXNnXyopCisJZnVuY19xdW90ZV9mb3JfZXZhbCAiJGFyZyIKKwlhcmc9IiRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKKwk7OworCiAgICAgICAjIC02NCwgLW1pcHNbMC05XSBlbmFibGUgNjQtYml0IG1vZGUgb24gdGhlIFNHSSBjb21waWxlcgogICAgICAgIyAtclswLTldWzAtOV0qIHNwZWNpZmllcyB0aGUgcHJvY2Vzc29yIG9uIHRoZSBTR0kgY29tcGlsZXIKICAgICAgICMgLXhhcmNoPSosIC14dGFyZ2V0PSogZW5hYmxlIDY0LWJpdCBtb2RlIG9uIHRoZSBTdW4gY29tcGlsZXIKQEAgLTM2MzQsNyArNTA4OSwxMiBAQAogCSAgZmkKIAkgIGZ1bmNfc3RyaXBuYW1lICctbCcgJycgIiRkZXBsaWIiCiAJICBuYW1lPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKLQkgIGZvciBzZWFyY2hkaXIgaW4gJG5ld2xpYl9zZWFyY2hfcGF0aCAkbGliX3NlYXJjaF9wYXRoICRzeXNfbGliX3NlYXJjaF9wYXRoICRzaGxpYl9zZWFyY2hfcGF0aDsgZG8KKwkgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBsaWI7IHRoZW4KKwkgICAgc2VhcmNoZGlycz0iJG5ld2xpYl9zZWFyY2hfcGF0aCAkbGliX3NlYXJjaF9wYXRoICRjb21waWxlcl9saWJfc2VhcmNoX2RpcnMgJHN5c19saWJfc2VhcmNoX3BhdGggJHNobGliX3NlYXJjaF9wYXRoIgorCSAgZWxzZQorCSAgICBzZWFyY2hkaXJzPSIkbmV3bGliX3NlYXJjaF9wYXRoICRsaWJfc2VhcmNoX3BhdGggJHN5c19saWJfc2VhcmNoX3BhdGggJHNobGliX3NlYXJjaF9wYXRoIgorCSAgZmkKKwkgIGZvciBzZWFyY2hkaXIgaW4gJHNlYXJjaGRpcnM7IGRvCiAJICAgIGZvciBzZWFyY2hfZXh0IGluIC5sYSAkc3RkX3NocmV4dCAuc28gLmE7IGRvCiAJICAgICAgIyBTZWFyY2ggdGhlIGxpYnRvb2wgbGlicmFyeQogCSAgICAgIGxpYj0iJHNlYXJjaGRpci9saWIke25hbWV9JHtzZWFyY2hfZXh0fSIKQEAgLTM4NjcsMTIgKzUzMjcsNiBAQAogCSAgZG9uZQogCWZpCiAJZGVwZW5kZW5jeV9saWJzPWAkRUNITyAiWCAkZGVwZW5kZW5jeV9saWJzIiB8ICRYc2VkIC1lICdzJSBcKFteICRdKlwpLmx0ZnJhbWV3b3JrJSAtZnJhbWV3b3JrIFwxJWcnYAotCWlmIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAicHJvZyxsaW5rIjsgdGhlbgotCSAgY29tcGlsZV9kZXBsaWJzPSIkbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MgJGNvbXBpbGVfZGVwbGlicyIKLQkgIGZpbmFsaXplX2RlcGxpYnM9IiRuZXdfaW5oZXJpdGVkX2xpbmtlcl9mbGFncyAkZmluYWxpemVfZGVwbGlicyIKLQllbHNlCi0JICBjb21waWxlcl9mbGFncz0iJGNvbXBpbGVyX2ZsYWdzICRpbmhlcml0ZWRfbGlua2VyX2ZsYWdzIgotCWZpCiAJaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJsaWIsbGluayIgfHwKIAkgICB0ZXN0ICIkbGlua21vZGUsJHBhc3MiID0gInByb2csc2NhbiIgfHwKIAkgICB7IHRlc3QgIiRsaW5rbW9kZSIgIT0gcHJvZyAmJiB0ZXN0ICIkbGlua21vZGUiICE9IGxpYjsgfTsgdGhlbgpAQCAtNDEwMiw3ICs1NTU2LDcgQEAKIAlpZiB0ZXN0IC1uICIkbGlicmFyeV9uYW1lcyIgJiYKIAkgICB7IHRlc3QgIiR1c2Vfc3RhdGljX2xpYnMiID0gbm8gfHwgdGVzdCAteiAiJG9sZF9saWJyYXJ5IjsgfTsgdGhlbgogCSAgY2FzZSAkaG9zdCBpbgotCSAgKmN5Z3dpbiogfCAqbWluZ3cqKQorCSAgKmN5Z3dpbiogfCAqbWluZ3cqIHwgKmNlZ2NjKikKIAkgICAgICAjIE5vIHBvaW50IGluIHJlbGlua2luZyBETExzIGJlY2F1c2UgcGF0aHMgYXJlIG5vdCBlbmNvZGVkCiAJICAgICAgbm90aW5zdF9kZXBsaWJzPSIkbm90aW5zdF9kZXBsaWJzICRsaWIiCiAJICAgICAgbmVlZF9yZWxpbms9bm8KQEAgLTQxNzIsOCArNTYyNiw5IEBACiAJICAgIGVsaWYgdGVzdCAtbiAiJHNvbmFtZV9zcGVjIjsgdGhlbgogCSAgICAgICMgYmxlaCB3aW5kb3dzCiAJICAgICAgY2FzZSAkaG9zdCBpbgotCSAgICAgICpjeWd3aW4qIHwgbWluZ3cqKQotCQltYWpvcj1gZXhwciAkY3VycmVudCAtICRhZ2VgCisJICAgICAgKmN5Z3dpbiogfCBtaW5ndyogfCAqY2VnY2MqKQorCSAgICAgICAgZnVuY19hcml0aCAkY3VycmVudCAtICRhZ2UKKwkJbWFqb3I9JGZ1bmNfYXJpdGhfcmVzdWx0CiAJCXZlcnN1ZmZpeD0iLSRtYWpvciIKIAkJOzsKIAkgICAgICBlc2FjCkBAIC00MTkyLDEzICs1NjQ3LDEzIEBACiAJICAgICMgSWYgdGhlIGxpYnJhcnkgaGFzIG5vIGV4cG9ydCBsaXN0LCB0aGVuIGNyZWF0ZSBvbmUgbm93CiAJICAgIGlmIHRlc3QgLWYgIiRvdXRwdXRfb2JqZGlyLyRzb25hbWUtZGVmIjsgdGhlbiA6CiAJICAgIGVsc2UKLQkgICAgICBmdW5jX2VjaG8gImV4dHJhY3RpbmcgZXhwb3J0ZWQgc3ltYm9sIGxpc3QgZnJvbSBcYCRzb25hbWUnIgorCSAgICAgIGZ1bmNfdmVyYm9zZSAiZXh0cmFjdGluZyBleHBvcnRlZCBzeW1ib2wgbGlzdCBmcm9tIFxgJHNvbmFtZSciCiAJICAgICAgZnVuY19leGVjdXRlX2NtZHMgIiRleHRyYWN0X2V4cHN5bXNfY21kcyIgJ2V4aXQgJD8nCiAJICAgIGZpCiAKIAkgICAgIyBDcmVhdGUgJG5ld2xpYgogCSAgICBpZiB0ZXN0IC1mICIkb3V0cHV0X29iamRpci8kbmV3bGliIjsgdGhlbiA6OyBlbHNlCi0JICAgICAgZnVuY19lY2hvICJnZW5lcmF0aW5nIGltcG9ydCBsaWJyYXJ5IGZvciBcYCRzb25hbWUnIgorCSAgICAgIGZ1bmNfdmVyYm9zZSAiZ2VuZXJhdGluZyBpbXBvcnQgbGlicmFyeSBmb3IgXGAkc29uYW1lJyIKIAkgICAgICBmdW5jX2V4ZWN1dGVfY21kcyAiJG9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzIiAnZXhpdCAkPycKIAkgICAgZmkKIAkgICAgIyBtYWtlIHN1cmUgdGhlIGxpYnJhcnkgdmFyaWFibGVzIGFyZSBwb2ludGluZyB0byB0aGUgbmV3IGxpYnJhcnkKQEAgLTQ0NjUsMTEgKzU5MjAsOSBAQAogCQkgICAgZG9uZQogCQkgICAgaWYgdGVzdCAtZiAiJGFic2Rpci8kb2JqZGlyLyRkZXBkZXBsIiA7IHRoZW4KIAkJICAgICAgZGVwZGVwbD0iJGFic2Rpci8kb2JqZGlyLyRkZXBkZXBsIgotCQkgICAgICBkYXJ3aW5faW5zdGFsbF9uYW1lPWBvdG9vbCAtTCAkZGVwZGVwbCB8ICRTRUQgLW4gLWUgJzNxOzIsMnAnIHwgJFNFRCAtZSAncy8oLiovLydgCi0JCSAgICAgIGRhcndpbl9pbnN0YWxsX25hbWU9YCRFQ0hPICRkYXJ3aW5faW5zdGFsbF9uYW1lYAorCQkgICAgICBkYXJ3aW5faW5zdGFsbF9uYW1lPWAke09UT09MfSAtTCAkZGVwZGVwbCB8IGF3ayAne2lmIChOUiA9PSAyKSB7cHJpbnQgJDE7ZXhpdH19J2AKICAgICAgICAgICAgICAgICAgICAgICBpZiB0ZXN0IC16ICIkZGFyd2luX2luc3RhbGxfbmFtZSI7IHRoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgZGFyd2luX2luc3RhbGxfbmFtZT1gb3Rvb2w2NCAtTCAkZGVwZGVwbCB8ICRTRUQgLW4gLWUgJzNxOzIsMnAnIHwgJFNFRCAtZSAncy8oLiovLydgCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRhcndpbl9pbnN0YWxsX25hbWU9YCRFQ0hPICRkYXJ3aW5faW5zdGFsbF9uYW1lYAorICAgICAgICAgICAgICAgICAgICAgICAgICBkYXJ3aW5faW5zdGFsbF9uYW1lPWAke09UT09MNjR9IC1MICRkZXBkZXBsICB8IGF3ayAne2lmIChOUiA9PSAyKSB7cHJpbnQgJDE7ZXhpdH19J2AKICAgICAgICAgICAgICAgICAgICAgICBmaQogCQkgICAgICBjb21waWxlcl9mbGFncz0iJGNvbXBpbGVyX2ZsYWdzICR7d2x9LWR5bGliX2ZpbGUgJHt3bH0ke2Rhcndpbl9pbnN0YWxsX25hbWV9OiR7ZGVwZGVwbH0iCiAJCSAgICAgIGxpbmtlcl9mbGFncz0iJGxpbmtlcl9mbGFncyAtZHlsaWJfZmlsZSAke2Rhcndpbl9pbnN0YWxsX25hbWV9OiR7ZGVwZGVwbH0iCkBAIC00NTAwLDYgKzU5NTMsMTQgQEAKIAkgIGZpICMgbGlua19hbGxfZGVwbGlicyAhPSBubwogCWZpICMgbGlua21vZGUgPSBsaWIKICAgICAgIGRvbmUgIyBmb3IgZGVwbGliIGluICRsaWJzCisgICAgICBpZiB0ZXN0ICIkcGFzcyIgPSBsaW5rOyB0aGVuCisJaWYgdGVzdCAiJGxpbmttb2RlIiA9ICJwcm9nIjsgdGhlbgorCSAgY29tcGlsZV9kZXBsaWJzPSIkbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MgJGNvbXBpbGVfZGVwbGlicyIKKwkgIGZpbmFsaXplX2RlcGxpYnM9IiRuZXdfaW5oZXJpdGVkX2xpbmtlcl9mbGFncyAkZmluYWxpemVfZGVwbGlicyIKKwllbHNlCisJICBjb21waWxlcl9mbGFncz0iJGNvbXBpbGVyX2ZsYWdzICJgJEVDSE8gIlggJG5ld19pbmhlcml0ZWRfbGlua2VyX2ZsYWdzIiB8ICRYc2VkIC1lICdzJSBcKFteICRdKlwpLmx0ZnJhbWV3b3JrJSAtZnJhbWV3b3JrIFwxJWcnYAorCWZpCisgICAgICBmaQogICAgICAgZGVwZW5kZW5jeV9saWJzPSIkbmV3ZGVwZW5kZW5jeV9saWJzIgogICAgICAgaWYgdGVzdCAiJHBhc3MiID0gZGxwcmVvcGVuOyB0aGVuCiAJIyBMaW5rIHRoZSBkbHByZW9wZW5lZCBsaWJyYXJpZXMgYmVmb3JlIG90aGVyIGxpYnJhcmllcwpAQCAtNDYwOSw5ICs2MDcwLDEwIEBACiAJZnVuY193YXJuaW5nICJcYC1kbG9wZW4nIGlzIGlnbm9yZWQgZm9yIGFyY2hpdmVzIgogICAgICAgZmkKIAotICAgICAgdGVzdCAtbiAiJGRlcGxpYnMiICYmIFwKLQlmdW5jX3dhcm5pbmcgIlxgLWwnIGFuZCBcYC1MJyBhcmUgaWdub3JlZCBmb3IgYXJjaGl2ZXMiCi0KKyAgICAgIGNhc2UgIiAkZGVwbGlicyIgaW4KKyAgICAgICpcIC1sKiB8ICpcIC1MKikKKwlmdW5jX3dhcm5pbmcgIlxgLWwnIGFuZCBcYC1MJyBhcmUgaWdub3JlZCBmb3IgYXJjaGl2ZXMiIDs7CisgICAgICBlc2FjCiAKICAgICAgIHRlc3QgLW4gIiRycGF0aCIgJiYgXAogCWZ1bmNfd2FybmluZyAiXGAtcnBhdGgnIGlzIGlnbm9yZWQgZm9yIGFyY2hpdmVzIgpAQCAtNDcyNyw3ICs2MTg5LDggQEAKIAkgICMKIAkgIGNhc2UgJHZlcnNpb25fdHlwZSBpbgogCSAgZGFyd2lufGxpbnV4fG9zZnx3aW5kb3dzfG5vbmUpCi0JICAgIGN1cnJlbnQ9YGV4cHIgJG51bWJlcl9tYWpvciArICRudW1iZXJfbWlub3JgCisJICAgIGZ1bmNfYXJpdGggJG51bWJlcl9tYWpvciArICRudW1iZXJfbWlub3IKKwkgICAgY3VycmVudD0kZnVuY19hcml0aF9yZXN1bHQKIAkgICAgYWdlPSIkbnVtYmVyX21pbm9yIgogCSAgICByZXZpc2lvbj0iJG51bWJlcl9yZXZpc2lvbiIKIAkgICAgOzsKQEAgLTQ3MzcsOSArNjIwMCwxMSBAQAogCSAgICBhZ2U9IjAiCiAJICAgIDs7CiAJICBpcml4fG5vbnN0b3B1eCkKLQkgICAgY3VycmVudD1gZXhwciAkbnVtYmVyX21ham9yICsgJG51bWJlcl9taW5vciAtIDFgCisJICAgIGZ1bmNfYXJpdGggJG51bWJlcl9tYWpvciArICRudW1iZXJfbWlub3IKKwkgICAgY3VycmVudD0kZnVuY19hcml0aF9yZXN1bHQKIAkgICAgYWdlPSIkbnVtYmVyX21pbm9yIgogCSAgICByZXZpc2lvbj0iJG51bWJlcl9taW5vciIKKwkgICAgbHRfaXJpeF9pbmNyZW1lbnQ9bm8KIAkgICAgOzsKIAkgIGVzYWMKIAkgIDs7CkBAIC00NzkwLDEwICs2MjU1LDEzIEBACiAJZGFyd2luKQogCSAgIyBMaWtlIExpbnV4LCBidXQgd2l0aCB0aGUgY3VycmVudCB2ZXJzaW9uIGF2YWlsYWJsZSBpbgogCSAgIyB2ZXJzdHJpbmcgZm9yIGNvZGluZyBpdCBpbnRvIHRoZSBsaWJyYXJ5IGhlYWRlcgotCSAgbWFqb3I9LmBleHByICRjdXJyZW50IC0gJGFnZWAKKwkgIGZ1bmNfYXJpdGggJGN1cnJlbnQgLSAkYWdlCisJICBtYWpvcj0uJGZ1bmNfYXJpdGhfcmVzdWx0CiAJICB2ZXJzdWZmaXg9IiRtYWpvci4kYWdlLiRyZXZpc2lvbiIKIAkgICMgRGFyd2luIGxkIGRvZXNuJ3QgbGlrZSAwIGZvciB0aGVzZSBvcHRpb25zLi4uCi0JICBtaW5vcl9jdXJyZW50PWBleHByICRjdXJyZW50ICsgMWAKKwkgIGZ1bmNfYXJpdGggJGN1cnJlbnQgKyAxCisJICBtaW5vcl9jdXJyZW50PSRmdW5jX2FyaXRoX3Jlc3VsdAorCSAgeGxjdmVyc3RyaW5nPSIke3dsfS1jb21wYXRpYmlsaXR5X3ZlcnNpb24gJHt3bH0kbWlub3JfY3VycmVudCAke3dsfS1jdXJyZW50X3ZlcnNpb24gJHt3bH0kbWlub3JfY3VycmVudC4kcmV2aXNpb24iCiAJICB2ZXJzdHJpbmc9Ii1jb21wYXRpYmlsaXR5X3ZlcnNpb24gJG1pbm9yX2N1cnJlbnQgLWN1cnJlbnRfdmVyc2lvbiAkbWlub3JfY3VycmVudC4kcmV2aXNpb24iCiAJICA7OwogCkBAIC00ODA4LDcgKzYyNzYsMTIgQEAKIAkgIDs7CiAKIAlpcml4IHwgbm9uc3RvcHV4KQotCSAgbWFqb3I9YGV4cHIgJGN1cnJlbnQgLSAkYWdlICsgMWAKKwkgIGlmIHRlc3QgIlgkbHRfaXJpeF9pbmNyZW1lbnQiID0gIlhubyI7IHRoZW4KKwkgICAgZnVuY19hcml0aCAkY3VycmVudCAtICRhZ2UKKwkgIGVsc2UKKwkgICAgZnVuY19hcml0aCAkY3VycmVudCAtICRhZ2UgKyAxCisJICBmaQorCSAgbWFqb3I9JGZ1bmNfYXJpdGhfcmVzdWx0CiAKIAkgIGNhc2UgJHZlcnNpb25fdHlwZSBpbgogCSAgICBub25zdG9wdXgpIHZlcnN0cmluZ19wcmVmaXg9bm9uc3RvcHV4IDs7CkBAIC00ODE5LDggKzYyOTIsMTAgQEAKIAkgICMgQWRkIGluIGFsbCB0aGUgaW50ZXJmYWNlcyB0aGF0IHdlIGFyZSBjb21wYXRpYmxlIHdpdGguCiAJICBsb29wPSRyZXZpc2lvbgogCSAgd2hpbGUgdGVzdCAiJGxvb3AiIC1uZSAwOyBkbwotCSAgICBpZmFjZT1gZXhwciAkcmV2aXNpb24gLSAkbG9vcGAKLQkgICAgbG9vcD1gZXhwciAkbG9vcCAtIDFgCisJICAgIGZ1bmNfYXJpdGggJHJldmlzaW9uIC0gJGxvb3AKKwkgICAgaWZhY2U9JGZ1bmNfYXJpdGhfcmVzdWx0CisJICAgIGZ1bmNfYXJpdGggJGxvb3AgLSAxCisJICAgIGxvb3A9JGZ1bmNfYXJpdGhfcmVzdWx0CiAJICAgIHZlcnN0cmluZz0iJHZlcnN0cmluZ19wcmVmaXgkbWFqb3IuJGlmYWNlOiR2ZXJzdHJpbmciCiAJICBkb25lCiAKQEAgLTQ4MzAsMjAgKzYzMDUsMjQgQEAKIAkgIDs7CiAKIAlsaW51eCkKLQkgIG1ham9yPS5gZXhwciAkY3VycmVudCAtICRhZ2VgCisJICBmdW5jX2FyaXRoICRjdXJyZW50IC0gJGFnZQorCSAgbWFqb3I9LiRmdW5jX2FyaXRoX3Jlc3VsdAogCSAgdmVyc3VmZml4PSIkbWFqb3IuJGFnZS4kcmV2aXNpb24iCiAJICA7OwogCiAJb3NmKQotCSAgbWFqb3I9LmBleHByICRjdXJyZW50IC0gJGFnZWAKKwkgIGZ1bmNfYXJpdGggJGN1cnJlbnQgLSAkYWdlCisJICBtYWpvcj0uJGZ1bmNfYXJpdGhfcmVzdWx0CiAJICB2ZXJzdWZmaXg9Ii4kY3VycmVudC4kYWdlLiRyZXZpc2lvbiIKIAkgIHZlcnN0cmluZz0iJGN1cnJlbnQuJGFnZS4kcmV2aXNpb24iCiAKIAkgICMgQWRkIGluIGFsbCB0aGUgaW50ZXJmYWNlcyB0aGF0IHdlIGFyZSBjb21wYXRpYmxlIHdpdGguCiAJICBsb29wPSRhZ2UKIAkgIHdoaWxlIHRlc3QgIiRsb29wIiAtbmUgMDsgZG8KLQkgICAgaWZhY2U9YGV4cHIgJGN1cnJlbnQgLSAkbG9vcGAKLQkgICAgbG9vcD1gZXhwciAkbG9vcCAtIDFgCisJICAgIGZ1bmNfYXJpdGggJGN1cnJlbnQgLSAkbG9vcAorCSAgICBpZmFjZT0kZnVuY19hcml0aF9yZXN1bHQKKwkgICAgZnVuY19hcml0aCAkbG9vcCAtIDEKKwkgICAgbG9vcD0kZnVuY19hcml0aF9yZXN1bHQKIAkgICAgdmVyc3RyaW5nPSIkdmVyc3RyaW5nOiR7aWZhY2V9LjAiCiAJICBkb25lCiAKQEAgLTQ4NjQsNyArNjM0Myw4IEBACiAJd2luZG93cykKIAkgICMgVXNlICctJyByYXRoZXIgdGhhbiAnLicsIHNpbmNlIHdlIG9ubHkgd2FudCBvbmUKIAkgICMgZXh0ZW5zaW9uIG9uIERPUyA4LjMgZmlsZXN5c3RlbXMuCi0JICBtYWpvcj1gZXhwciAkY3VycmVudCAtICRhZ2VgCisJICBmdW5jX2FyaXRoICRjdXJyZW50IC0gJGFnZQorCSAgbWFqb3I9JGZ1bmNfYXJpdGhfcmVzdWx0CiAJICB2ZXJzdWZmaXg9Ii0kbWFqb3IiCiAJICA7OwogCkBAIC00OTI1LDcgKzY0MDUsNyBAQAogCXRlbXByZW1vdmVsaXN0PWAkRUNITyAiJG91dHB1dF9vYmpkaXIvKiJgCiAJZm9yIHAgaW4gJHRlbXByZW1vdmVsaXN0OyBkbwogCSAgY2FzZSAkcCBpbgotCSAgICAqLiRvYmpleHQpCisJICAgICouJG9iamV4dCB8ICouZ2NubykKIAkgICAgICAgOzsKIAkgICAgJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUgfCAkb3V0cHV0X29iamRpci8kbGlibmFtZS4qIHwgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfSR7cmVsZWFzZX0uKikKIAkgICAgICAgaWYgdGVzdCAiWCRwcmVjaW91c19maWxlc19yZWdleCIgIT0gIlgiOyB0aGVuCkBAIC00OTk2LDcgKzY0NzYsNyBAQAogICAgICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRoZW4KIAlpZiB0ZXN0IC1uICIkcnBhdGgiOyB0aGVuCiAJICBjYXNlICRob3N0IGluCi0JICAqLSotY3lnd2luKiB8ICotKi1taW5ndyogfCAqLSotcHczMiogfCAqLSotb3MyKiB8ICotKi1iZW9zKikKKwkgICotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMyKiB8ICotKi1vczIqIHwgKi0qLWJlb3MqIHwgKi1jZWdjYyopCiAJICAgICMgdGhlc2Ugc3lzdGVtcyBkb24ndCBhY3R1YWxseSBoYXZlIGEgYyBsaWJyYXJ5IChhcyBzdWNoKSEKIAkgICAgOzsKIAkgICotKi1yaGFwc29keSogfCAqLSotZGFyd2luMS5bMDEyXSkKQEAgLTUwMTQsOCArNjQ5NCw4IEBACiAJICAgIDs7CiAJICAqLSotc3lzdjQuMnV3MiogfCAqLSotc3lzdjUqIHwgKi0qLXVuaXh3YXJlKiB8ICotKi1PcGVuVU5JWCopCiAJICAgICMgQ29tcGlsZXIgaW5zZXJ0cyBsaWJjIGluIHRoZSBjb3JyZWN0IHBsYWNlIGZvciB0aHJlYWRzIHRvIHdvcmsKLSAJICAgIDs7Ci0gCSAgKikKKwkgICAgOzsKKwkgICopCiAJICAgICMgQWRkIGxpYmMgdG8gZGVwbGlicyBvbiBhbGwgb3RoZXIgc3lzdGVtcyBpZiBuZWNlc3NhcnkuCiAJICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX25lZWRfbGMiID0gInllcyI7IHRoZW4KIAkgICAgICBkZXBsaWJzPSIkZGVwbGlicyAtbGMiCkBAIC01MDYwLDkgKzY1NDAsMTAgQEAKIAkgIGlmICRMVENDICRMVENGTEFHUyAtbyBjb25mdGVzdCBjb25mdGVzdC5jICRkZXBsaWJzOyB0aGVuCiAJICAgIGxkZF9vdXRwdXQ9YGxkZCBjb25mdGVzdGAKIAkgICAgZm9yIGkgaW4gJGRlcGxpYnM7IGRvCi0JICAgICAgbmFtZT1gZXhwciAkaSA6ICctbFwoLipcKSdgCi0JICAgICAgIyBJZiAkbmFtZSBpcyBlbXB0eSB3ZSBhcmUgb3BlcmF0aW5nIG9uIGEgLUwgYXJndW1lbnQuCi0JICAgICAgaWYgdGVzdCAiJG5hbWUiICE9ICIiICYmIHRlc3QgIiRuYW1lIiAhPSAiMCI7IHRoZW4KKwkgICAgICBjYXNlICRpIGluCisJICAgICAgLWwqKQorCQlmdW5jX3N0cmlwbmFtZSAtbCAnJyAiJGkiCisJCW5hbWU9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAogCQlpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcyIgPSAiWHllcyIgOyB0aGVuCiAJCSAgY2FzZSAiICRwcmVkZXBzICRwb3N0ZGVwcyAiIGluCiAJCSAgKiIgJGkgIiopCkBAIC01MDg5LDE3ICs2NTcwLDIwIEBACiAJCSAgICAkRUNITyAiKioqIGl0cyBkeW5hbWljIGRlcGVuZGVuY3kgbGlzdCB0aGF0IHByb2dyYW1zIGdldCByZXNvbHZlZCB3aXRoIGF0IHJ1bnRpbWUuIgogCQkgIGZpCiAJCWZpCi0JICAgICAgZWxzZQorCQk7OworCSAgICAgICopCiAJCW5ld2RlcGxpYnM9IiRuZXdkZXBsaWJzICRpIgotCSAgICAgIGZpCisJCTs7CisJICAgICAgZXNhYwogCSAgICBkb25lCiAJICBlbHNlCiAJICAgICMgRXJyb3Igb2NjdXJyZWQgaW4gdGhlIGZpcnN0IGNvbXBpbGUuICBMZXQncyB0cnkgdG8gc2FsdmFnZQogCSAgICAjIHRoZSBzaXR1YXRpb246IENvbXBpbGUgYSBzZXBhcmF0ZSBwcm9ncmFtIGZvciBlYWNoIGxpYnJhcnkuCiAJICAgIGZvciBpIGluICRkZXBsaWJzOyBkbwotCSAgICAgIG5hbWU9YGV4cHIgJGkgOiAnLWxcKC4qXCknYAotCSAgICAgICMgSWYgJG5hbWUgaXMgZW1wdHkgd2UgYXJlIG9wZXJhdGluZyBvbiBhIC1MIGFyZ3VtZW50LgotCSAgICAgIGlmIHRlc3QgIiRuYW1lIiAhPSAiIiAmJiB0ZXN0ICIkbmFtZSIgIT0gIjAiOyB0aGVuCisJICAgICAgY2FzZSAkaSBpbgorCSAgICAgIC1sKikKKwkJZnVuY19zdHJpcG5hbWUgLWwgJycgIiRpIgorCQluYW1lPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKIAkJJG9wdF9kcnlfcnVuIHx8ICRSTSBjb25mdGVzdAogCQlpZiAkTFRDQyAkTFRDRkxBR1MgLW8gY29uZnRlc3QgY29uZnRlc3QuYyAkaTsgdGhlbgogCQkgIGxkZF9vdXRwdXQ9YGxkZCBjb25mdGVzdGAKQEAgLTUxMzcsOSArNjYyMSwxMSBAQAogCQkgICRFQ0hPICIqKiogbGlicmFyeSB0aGF0IGl0IGRlcGVuZHMgb24gYmVmb3JlIHRoaXMgbGlicmFyeSB3aWxsIGJlIGZ1bGx5IgogCQkgICRFQ0hPICIqKiogZnVuY3Rpb25hbC4gIEluc3RhbGxpbmcgaXQgYmVmb3JlIGNvbnRpbnVpbmcgd291bGQgYmUgZXZlbiBiZXR0ZXIuIgogCQlmaQotCSAgICAgIGVsc2UKKwkJOzsKKwkgICAgICAqKQogCQluZXdkZXBsaWJzPSIkbmV3ZGVwbGlicyAkaSIKLQkgICAgICBmaQorCQk7OworCSAgICAgIGVzYWMKIAkgICAgZG9uZQogCSAgZmkKIAkgIDs7CkBAIC01MTQ3LDkgKzY2MzMsMTAgQEAKIAkgIHNldCBkdW1teSAkZGVwbGlic19jaGVja19tZXRob2Q7IHNoaWZ0CiAJICBmaWxlX21hZ2ljX3JlZ2V4PWBleHByICIkZGVwbGlic19jaGVja19tZXRob2QiIDogIiQxIFwoLipcKSJgCiAJICBmb3IgYV9kZXBsaWIgaW4gJGRlcGxpYnM7IGRvCi0JICAgIG5hbWU9YGV4cHIgJGFfZGVwbGliIDogJy1sXCguKlwpJ2AKLQkgICAgIyBJZiAkbmFtZSBpcyBlbXB0eSB3ZSBhcmUgb3BlcmF0aW5nIG9uIGEgLUwgYXJndW1lbnQuCi0JICAgIGlmIHRlc3QgIiRuYW1lIiAhPSAiIiAmJiB0ZXN0ICAiJG5hbWUiICE9ICIwIjsgdGhlbgorCSAgICBjYXNlICRhX2RlcGxpYiBpbgorCSAgICAtbCopCisJICAgICAgZnVuY19zdHJpcG5hbWUgLWwgJycgIiRhX2RlcGxpYiIKKwkgICAgICBuYW1lPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKIAkgICAgICBpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcyIgPSAiWHllcyIgOyB0aGVuCiAJCWNhc2UgIiAkcHJlZGVwcyAkcG9zdGRlcHMgIiBpbgogCQkqIiAkYV9kZXBsaWIgIiopCkBAIC01MjA2LDE5ICs2NjkzLDIyIEBACiAJCSAgJEVDSE8gIioqKiB1c2luZyBhIGZpbGUgbWFnaWMuIExhc3QgZmlsZSBjaGVja2VkOiAkcG90bGliIgogCQlmaQogCSAgICAgIGZpCi0JICAgIGVsc2UKKwkgICAgICA7OworCSAgICAqKQogCSAgICAgICMgQWRkIGEgLUwgYXJndW1lbnQuCiAJICAgICAgbmV3ZGVwbGlicz0iJG5ld2RlcGxpYnMgJGFfZGVwbGliIgotCSAgICBmaQorCSAgICAgIDs7CisJICAgIGVzYWMKIAkgIGRvbmUgIyBHb25lIHRocm91Z2ggYWxsIGRlcGxpYnMuCiAJICA7OwogCW1hdGNoX3BhdHRlcm4qKQogCSAgc2V0IGR1bW15ICRkZXBsaWJzX2NoZWNrX21ldGhvZDsgc2hpZnQKIAkgIG1hdGNoX3BhdHRlcm5fcmVnZXg9YGV4cHIgIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgOiAiJDEgXCguKlwpImAKIAkgIGZvciBhX2RlcGxpYiBpbiAkZGVwbGliczsgZG8KLQkgICAgbmFtZT1gZXhwciAkYV9kZXBsaWIgOiAnLWxcKC4qXCknYAotCSAgICAjIElmICRuYW1lIGlzIGVtcHR5IHdlIGFyZSBvcGVyYXRpbmcgb24gYSAtTCBhcmd1bWVudC4KLQkgICAgaWYgdGVzdCAtbiAiJG5hbWUiICYmIHRlc3QgIiRuYW1lIiAhPSAiMCI7IHRoZW4KKwkgICAgY2FzZSAkYV9kZXBsaWIgaW4KKwkgICAgLWwqKQorCSAgICAgIGZ1bmNfc3RyaXBuYW1lIC1sICcnICIkYV9kZXBsaWIiCisJICAgICAgbmFtZT0kZnVuY19zdHJpcG5hbWVfcmVzdWx0CiAJICAgICAgaWYgdGVzdCAiWCRhbGxvd19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXMiID0gIlh5ZXMiIDsgdGhlbgogCQljYXNlICIgJHByZWRlcHMgJHBvc3RkZXBzICIgaW4KIAkJKiIgJGFfZGVwbGliICIqKQpAQCAtNTI1NywxMCArNjc0NywxMiBAQAogCQkgICRFQ0hPICIqKiogdXNpbmcgYSByZWdleCBwYXR0ZXJuLiBMYXN0IGZpbGUgY2hlY2tlZDogJHBvdGxpYiIKIAkJZmkKIAkgICAgICBmaQotCSAgICBlbHNlCisJICAgICAgOzsKKwkgICAgKikKIAkgICAgICAjIEFkZCBhIC1MIGFyZ3VtZW50LgogCSAgICAgIG5ld2RlcGxpYnM9IiRuZXdkZXBsaWJzICRhX2RlcGxpYiIKLQkgICAgZmkKKwkgICAgICA7OworCSAgICBlc2FjCiAJICBkb25lICMgR29uZSB0aHJvdWdoIGFsbCBkZXBsaWJzLgogCSAgOzsKIAlub25lIHwgdW5rbm93biB8ICopCkBAIC01MjczLDcgKzY3NjUsNyBAQAogCSAgICAgIHRtcF9kZXBsaWJzPWAkRUNITyAiWCAkdG1wX2RlcGxpYnMiIHwgJFhzZWQgLWUgInMsJGksLCJgCiAJICAgIGRvbmUKIAkgIGZpCi0JICBpZiAkRUNITyAiWCAkdG1wX2RlcGxpYnMiIHwgJFhzZWQgLWUgJ3MvWyAJXS8vZycgfAorCSAgaWYgJEVDSE8gIlggJHRtcF9kZXBsaWJzIiB8ICRYc2VkIC1lICdzL1sJIF0vL2cnIHwKIAkgICAgICRHUkVQIC4gPi9kZXYvbnVsbDsgdGhlbgogCSAgICAkRUNITwogCSAgICBpZiB0ZXN0ICJYJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiA9ICJYbm9uZSI7IHRoZW4KQEAgLTU0ODMsNyArNjk3NSw3IEBACiAKIAlvcmlnX2V4cG9ydF9zeW1ib2xzPQogCWNhc2UgJGhvc3Rfb3MgaW4KLQljeWd3aW4qIHwgbWluZ3cqKQorCWN5Z3dpbiogfCBtaW5ndyogfCBjZWdjYyopCiAJICBpZiB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHMiICYmIHRlc3QgLXogIiRleHBvcnRfc3ltYm9sc19yZWdleCI7IHRoZW4KIAkgICAgIyBleHBvcnRpbmcgdXNpbmcgdXNlciBzdXBwbGllZCBzeW1maWxlCiAJICAgIGlmIHRlc3QgInhgJFNFRCAxcSAkZXhwb3J0X3N5bWJvbHNgIiAhPSB4RVhQT1JUUzsgdGhlbgpAQCAtNTUwNCw3ICs2OTk2LDcgQEAKIAkjIFByZXBhcmUgdGhlIGxpc3Qgb2YgZXhwb3J0ZWQgc3ltYm9scwogCWlmIHRlc3QgLXogIiRleHBvcnRfc3ltYm9scyI7IHRoZW4KIAkgIGlmIHRlc3QgIiRhbHdheXNfZXhwb3J0X3N5bWJvbHMiID0geWVzIHx8IHRlc3QgLW4gIiRleHBvcnRfc3ltYm9sc19yZWdleCI7IHRoZW4KLQkgICAgZnVuY19lY2hvICJnZW5lcmF0aW5nIHN5bWJvbCBsaXN0IGZvciBcYCRsaWJuYW1lLmxhJyIKKwkgICAgZnVuY192ZXJib3NlICJnZW5lcmF0aW5nIHN5bWJvbCBsaXN0IGZvciBcYCRsaWJuYW1lLmxhJyIKIAkgICAgZXhwb3J0X3N5bWJvbHM9IiRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmV4cCIKIAkgICAgJG9wdF9kcnlfcnVuIHx8ICRSTSAkZXhwb3J0X3N5bWJvbHMKIAkgICAgY21kcz0kZXhwb3J0X3N5bWJvbHNfY21kcwpAQCAtNTUxMiwxMyArNzAwNCwxNCBAQAogCSAgICBmb3IgY21kIGluICRjbWRzOyBkbwogCSAgICAgIElGUz0iJHNhdmVfaWZzIgogCSAgICAgIGV2YWwgY21kPVwiJGNtZFwiCi0JICAgICAgaWYgbGVuPWBleHByICJYJGNtZCIgOiAiLioiYCAmJgotCSAgICAgICB0ZXN0ICIkbGVuIiAtbGUgIiRtYXhfY21kX2xlbiIgfHwgdGVzdCAiJG1heF9jbWRfbGVuIiAtbGUgLTE7IHRoZW4KKwkgICAgICBmdW5jX2xlbiAiICRjbWQiCisJICAgICAgbGVuPSRmdW5jX2xlbl9yZXN1bHQKKwkgICAgICBpZiB0ZXN0ICIkbGVuIiAtbHQgIiRtYXhfY21kX2xlbiIgfHwgdGVzdCAiJG1heF9jbWRfbGVuIiAtbGUgLTE7IHRoZW4KIAkJZnVuY19zaG93X2V2YWwgIiRjbWQiICdleGl0ICQ/JwogCQlza2lwcGVkX2V4cG9ydD1mYWxzZQogCSAgICAgIGVsc2UKIAkJIyBUaGUgY29tbWFuZCBsaW5lIGlzIHRvbyBsb25nIHRvIGV4ZWN1dGUgaW4gb25lIHN0ZXAuCi0JCWZ1bmNfZWNobyAidXNpbmcgcmVsb2FkYWJsZSBvYmplY3QgZmlsZSBmb3IgZXhwb3J0IGxpc3QuLi4iCisJCWZ1bmNfdmVyYm9zZSAidXNpbmcgcmVsb2FkYWJsZSBvYmplY3QgZmlsZSBmb3IgZXhwb3J0IGxpc3QuLi4iCiAJCXNraXBwZWRfZXhwb3J0PToKIAkJIyBCcmVhayBvdXQgZWFybHksIG90aGVyd2lzZSBza2lwcGVkX2V4cG9ydCBtYXkgYmUKIAkJIyBzZXQgdG8gZmFsc2UgYnkgYSBsYXRlciBidXQgc2hvcnRlciBjbWQuCkBAIC01NTQxLDcgKzcwMzQsNyBAQAogCiAJaWYgdGVzdCAiWCRza2lwcGVkX2V4cG9ydCIgIT0gIlg6IiAmJiB0ZXN0IC1uICIkb3JpZ19leHBvcnRfc3ltYm9scyI7IHRoZW4KIAkgICMgVGhlIGdpdmVuIGV4cG9ydHNfc3ltYm9scyBmaWxlIGhhcyB0byBiZSBmaWx0ZXJlZCwgc28gZmlsdGVyIGl0LgotCSAgZnVuY19lY2hvICJmaWx0ZXIgc3ltYm9sIGxpc3QgZm9yIFxgJGxpYm5hbWUubGEnIHRvIHRhZyBEQVRBIGV4cG9ydHMiCisJICBmdW5jX3ZlcmJvc2UgImZpbHRlciBzeW1ib2wgbGlzdCBmb3IgXGAkbGlibmFtZS5sYScgdG8gdGFnIERBVEEgZXhwb3J0cyIKIAkgICMgRklYTUU6ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmZpbHRlciBwb3RlbnRpYWxseSBjb250YWlucyBsb3RzIG9mCiAJICAjICdzJyBjb21tYW5kcyB3aGljaCBub3QgYWxsIHNlZHMgY2FuIGhhbmRsZS4gR05VIHNlZCBzaG91bGQgYmUgZmluZQogCSAgIyB0aG91Z2guIEFsc28sIHRoZSBmaWx0ZXIgc2NhbGVzIHN1cGVybGluZWFybHkgd2l0aCB0aGUgbnVtYmVyIG9mCkBAIC01NjE2LDggKzcxMDksOSBAQAogCWZpCiAKIAlpZiB0ZXN0ICJYJHNraXBwZWRfZXhwb3J0IiAhPSAiWDoiICYmCi0JICAgbGVuPWBleHByICJYJHRlc3RfY21kcyIgOiAiLioiIDI+L2Rldi9udWxsYCAmJgotCSAgIHRlc3QgIiRsZW4iIC1sZSAiJG1heF9jbWRfbGVuIiB8fCB0ZXN0ICIkbWF4X2NtZF9sZW4iIC1sZSAtMTsgdGhlbgorCSAgIGZ1bmNfbGVuICIgJHRlc3RfY21kcyIgJiYKKwkgICBsZW49JGZ1bmNfbGVuX3Jlc3VsdCAmJgorCSAgIHRlc3QgIiRsZW4iIC1sdCAiJG1heF9jbWRfbGVuIiB8fCB0ZXN0ICIkbWF4X2NtZF9sZW4iIC1sZSAtMTsgdGhlbgogCSAgOgogCWVsc2UKIAkgICMgVGhlIGNvbW1hbmQgbGluZSBpcyB0b28gbG9uZyB0byBsaW5rIGluIG9uZSBzdGVwLCBsaW5rIHBpZWNld2lzZQpAQCAtNTY0OCw3ICs3MTQyLDcgQEAKIAogCSAgaWYgdGVzdCAtbiAiJHNhdmVfbGlib2JqcyIgJiYgdGVzdCAiWCRza2lwcGVkX2V4cG9ydCIgIT0gIlg6IiAmJiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0geWVzOyB0aGVuCiAJICAgIG91dHB1dD0ke291dHB1dF9vYmpkaXJ9LyR7b3V0cHV0X2xhfS5sbmtzY3JpcHQKLQkgICAgZnVuY19lY2hvICJjcmVhdGluZyBHTlUgbGQgc2NyaXB0OiAkb3V0cHV0IgorCSAgICBmdW5jX3ZlcmJvc2UgImNyZWF0aW5nIEdOVSBsZCBzY3JpcHQ6ICRvdXRwdXQiCiAJICAgICRFQ0hPICdJTlBVVCAoJyA+ICRvdXRwdXQKIAkgICAgZm9yIG9iaiBpbiAkc2F2ZV9saWJvYmpzCiAJICAgIGRvCkBAIC01NjU4LDcgKzcxNTIsNyBAQAogCSAgICBkZWxmaWxlcz0iJGRlbGZpbGVzICRvdXRwdXQiCiAJICBlbGlmIHRlc3QgLW4gIiRzYXZlX2xpYm9ianMiICYmIHRlc3QgIlgkc2tpcHBlZF9leHBvcnQiICE9ICJYOiIgJiYgdGVzdCAiWCRmaWxlX2xpc3Rfc3BlYyIgIT0gWDsgdGhlbgogCSAgICBvdXRwdXQ9JHtvdXRwdXRfb2JqZGlyfS8ke291dHB1dF9sYX0ubG5rCi0JICAgIGZ1bmNfZWNobyAiY3JlYXRpbmcgbGlua2VyIGlucHV0IGZpbGUgbGlzdDogJG91dHB1dCIKKwkgICAgZnVuY192ZXJib3NlICJjcmVhdGluZyBsaW5rZXIgaW5wdXQgZmlsZSBsaXN0OiAkb3V0cHV0IgogCSAgICA6ID4gJG91dHB1dAogCSAgICBzZXQgeCAkc2F2ZV9saWJvYmpzCiAJICAgIHNoaWZ0CkBAIC01Njc1LDE2ICs3MTY5LDIyIEBACiAJICAgIG91dHB1dD0kZmlyc3RvYmpcIiRmaWxlX2xpc3Rfc3BlYyRvdXRwdXRcIgogCSAgZWxzZQogCSAgICBpZiB0ZXN0IC1uICIkc2F2ZV9saWJvYmpzIjsgdGhlbgotCSAgICAgIGZ1bmNfZWNobyAiY3JlYXRpbmcgcmVsb2FkYWJsZSBvYmplY3QgZmlsZXMuLi4iCisJICAgICAgZnVuY192ZXJib3NlICJjcmVhdGluZyByZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4uLiIKIAkgICAgICBvdXRwdXQ9JG91dHB1dF9vYmpkaXIvJG91dHB1dF9sYS0ke2t9LiRvYmpleHQKKwkgICAgICBldmFsIHRlc3RfY21kcz1cIiRyZWxvYWRfY21kc1wiCisJICAgICAgZnVuY19sZW4gIiAkdGVzdF9jbWRzIgorCSAgICAgIGxlbjA9JGZ1bmNfbGVuX3Jlc3VsdAorCSAgICAgIGxlbj0kbGVuMAorCiAJICAgICAgIyBMb29wIG92ZXIgdGhlIGxpc3Qgb2Ygb2JqZWN0cyB0byBiZSBsaW5rZWQuCiAJICAgICAgZm9yIG9iaiBpbiAkc2F2ZV9saWJvYmpzCiAJICAgICAgZG8KLQkJZXZhbCB0ZXN0X2NtZHM9XCIkcmVsb2FkX2NtZHMgJG9iamxpc3QgJGxhc3Rfcm9ialwiCisJCWZ1bmNfbGVuICIgJG9iaiIKKwkJZnVuY19hcml0aCAkbGVuICsgJGZ1bmNfbGVuX3Jlc3VsdAorCQlsZW49JGZ1bmNfYXJpdGhfcmVzdWx0CiAJCWlmIHRlc3QgIlgkb2JqbGlzdCIgPSBYIHx8Ci0JCSAgIHsgbGVuPWBleHByICJYJHRlc3RfY21kcyIgOiAiLioiIDI+L2Rldi9udWxsYCAmJgotCQkgICAgIHRlc3QgIiRsZW4iIC1sZSAiJG1heF9jbWRfbGVuIjsgfTsgdGhlbgotCQkgIG9iamxpc3Q9IiRvYmpsaXN0ICRvYmoiCisJCSAgIHRlc3QgIiRsZW4iIC1sdCAiJG1heF9jbWRfbGVuIjsgdGhlbgorCQkgIGZ1bmNfYXBwZW5kIG9iamxpc3QgIiAkb2JqIgogCQllbHNlCiAJCSAgIyBUaGUgY29tbWFuZCAkdGVzdF9jbWRzIGlzIGFsbW9zdCB0b28gbG9uZywgYWRkIGEKIAkJICAjIGNvbW1hbmQgdG8gdGhlIHF1ZXVlLgpAQCAtNTY5NCwxMyArNzE5NCwxNiBAQAogCQkgIGVsc2UKIAkJICAgICMgQWxsIHN1YnNlcXVlbnQgcmVsb2FkYWJsZSBvYmplY3QgZmlsZXMgd2lsbCBsaW5rIGluCiAJCSAgICAjIHRoZSBsYXN0IG9uZSBjcmVhdGVkLgotCQkgICAgZXZhbCBjb25jYXRfY21kcz1cIlwkY29uY2F0X2NtZHN+JHJlbG9hZF9jbWRzICRvYmpsaXN0ICRsYXN0X3JvYmpcIgorCQkgICAgZXZhbCBjb25jYXRfY21kcz1cIlwkY29uY2F0X2NtZHN+JHJlbG9hZF9jbWRzICRvYmpsaXN0ICRsYXN0X3JvYmp+XCRSTSAkbGFzdF9yb2JqXCIKIAkJICBmaQogCQkgIGxhc3Rfcm9iaj0kb3V0cHV0X29iamRpci8kb3V0cHV0X2xhLSR7a30uJG9iamV4dAotCQkgIGs9YGV4cHIgJGsgKyAxYAorCQkgIGZ1bmNfYXJpdGggJGsgKyAxCisJCSAgaz0kZnVuY19hcml0aF9yZXN1bHQKIAkJICBvdXRwdXQ9JG91dHB1dF9vYmpkaXIvJG91dHB1dF9sYS0ke2t9LiRvYmpleHQKIAkJICBvYmpsaXN0PSRvYmoKLQkJICBsZW49MQorCQkgIGZ1bmNfbGVuICIgJGxhc3Rfcm9iaiIKKwkJICBmdW5jX2FyaXRoICRsZW4wICsgJGZ1bmNfbGVuX3Jlc3VsdAorCQkgIGxlbj0kZnVuY19hcml0aF9yZXN1bHQKIAkJZmkKIAkgICAgICBkb25lCiAJICAgICAgIyBIYW5kbGUgdGhlIHJlbWFpbmluZyBvYmplY3RzIGJ5IGNyZWF0aW5nIG9uZSBsYXN0CkBAIC01NzA4LDMxICs3MjExLDMwIEBACiAJICAgICAgIyBmaWxlcyB3aWxsIGxpbmsgaW4gdGhlIGxhc3Qgb25lIGNyZWF0ZWQuCiAJICAgICAgdGVzdCAteiAiJGNvbmNhdF9jbWRzIiB8fCBjb25jYXRfY21kcz0kY29uY2F0X2NtZHN+CiAJICAgICAgZXZhbCBjb25jYXRfY21kcz1cIlwke2NvbmNhdF9jbWRzfSRyZWxvYWRfY21kcyAkb2JqbGlzdCAkbGFzdF9yb2JqXCIKKwkgICAgICBpZiB0ZXN0IC1uICIkbGFzdF9yb2JqIjsgdGhlbgorCSAgICAgICAgZXZhbCBjb25jYXRfY21kcz1cIlwke2NvbmNhdF9jbWRzfX5cJFJNICRsYXN0X3JvYmpcIgorCSAgICAgIGZpCisJICAgICAgZGVsZmlsZXM9IiRkZWxmaWxlcyAkb3V0cHV0IgogCi0JICAgICAgIyBTZXQgdXAgYSBjb21tYW5kIHRvIHJlbW92ZSB0aGUgcmVsb2FkYWJsZSBvYmplY3QgZmlsZXMKLQkgICAgICAjIGFmdGVyIHRoZXkgYXJlIHVzZWQuCi0JICAgICAgaT0wCi0JICAgICAgd2hpbGUgdGVzdCAiJGkiIC1sdCAiJGsiCi0JICAgICAgZG8KLQkJaT1gZXhwciAkaSArIDFgCi0JCWRlbGZpbGVzPSIkZGVsZmlsZXMgJG91dHB1dF9vYmpkaXIvJG91dHB1dF9sYS0ke2l9LiRvYmpleHQiCi0JICAgICAgZG9uZQogCSAgICBlbHNlCiAJICAgICAgb3V0cHV0PQogCSAgICBmaQogCiAJICAgIGlmICR7c2tpcHBlZF9leHBvcnQtZmFsc2V9OyB0aGVuCi0JICAgICAgZnVuY19lY2hvICJnZW5lcmF0aW5nIHN5bWJvbCBsaXN0IGZvciBcYCRsaWJuYW1lLmxhJyIKKwkgICAgICBmdW5jX3ZlcmJvc2UgImdlbmVyYXRpbmcgc3ltYm9sIGxpc3QgZm9yIFxgJGxpYm5hbWUubGEnIgogCSAgICAgIGV4cG9ydF9zeW1ib2xzPSIkb3V0cHV0X29iamRpci8kbGlibmFtZS5leHAiCiAJICAgICAgJG9wdF9kcnlfcnVuIHx8ICRSTSAkZXhwb3J0X3N5bWJvbHMKIAkgICAgICBsaWJvYmpzPSRvdXRwdXQKIAkgICAgICAjIEFwcGVuZCB0aGUgY29tbWFuZCB0byBjcmVhdGUgdGhlIGV4cG9ydCBmaWxlLgogCSAgICAgIHRlc3QgLXogIiRjb25jYXRfY21kcyIgfHwgY29uY2F0X2NtZHM9JGNvbmNhdF9jbWRzfgogCSAgICAgIGV2YWwgY29uY2F0X2NtZHM9XCJcJGNvbmNhdF9jbWRzJGV4cG9ydF9zeW1ib2xzX2NtZHNcIgorCSAgICAgIGlmIHRlc3QgLW4gIiRsYXN0X3JvYmoiOyB0aGVuCisJCWV2YWwgY29uY2F0X2NtZHM9XCJcJGNvbmNhdF9jbWRzflwkUk0gJGxhc3Rfcm9ialwiCisJICAgICAgZmkKIAkgICAgZmkKIAogCSAgICB0ZXN0IC1uICIkc2F2ZV9saWJvYmpzIiAmJgotCSAgICAgIGZ1bmNfZWNobyAiY3JlYXRpbmcgYSB0ZW1wb3JhcnkgcmVsb2FkYWJsZSBvYmplY3QgZmlsZTogJG91dHB1dCIKKwkgICAgICBmdW5jX3ZlcmJvc2UgImNyZWF0aW5nIGEgdGVtcG9yYXJ5IHJlbG9hZGFibGUgb2JqZWN0IGZpbGU6ICRvdXRwdXQiCiAKIAkgICAgIyBMb29wIHRocm91Z2ggdGhlIGNvbW1hbmRzIGdlbmVyYXRlZCBhYm92ZSBhbmQgZXhlY3V0ZSB0aGVtLgogCSAgICBzYXZlX2lmcz0iJElGUyI7IElGUz0nficKQEAgLTU3NzIsNyArNzI3NCw3IEBACiAKIAkgICAgaWYgdGVzdCAtbiAiJG9yaWdfZXhwb3J0X3N5bWJvbHMiOyB0aGVuCiAJICAgICAgIyBUaGUgZ2l2ZW4gZXhwb3J0c19zeW1ib2xzIGZpbGUgaGFzIHRvIGJlIGZpbHRlcmVkLCBzbyBmaWx0ZXIgaXQuCi0JICAgICAgZnVuY19lY2hvICJmaWx0ZXIgc3ltYm9sIGxpc3QgZm9yIFxgJGxpYm5hbWUubGEnIHRvIHRhZyBEQVRBIGV4cG9ydHMiCisJICAgICAgZnVuY192ZXJib3NlICJmaWx0ZXIgc3ltYm9sIGxpc3QgZm9yIFxgJGxpYm5hbWUubGEnIHRvIHRhZyBEQVRBIGV4cG9ydHMiCiAJICAgICAgIyBGSVhNRTogJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuZmlsdGVyIHBvdGVudGlhbGx5IGNvbnRhaW5zIGxvdHMgb2YKIAkgICAgICAjICdzJyBjb21tYW5kcyB3aGljaCBub3QgYWxsIHNlZHMgY2FuIGhhbmRsZS4gR05VIHNlZCBzaG91bGQgYmUgZmluZQogCSAgICAgICMgdGhvdWdoLiBBbHNvLCB0aGUgZmlsdGVyIHNjYWxlcyBzdXBlcmxpbmVhcmx5IHdpdGggdGhlIG51bWJlciBvZgpAQCAtNTg4Myw4ICs3Mzg1LDEwIEBACiAJZnVuY193YXJuaW5nICJcYC1kbG9wZW4nIGlzIGlnbm9yZWQgZm9yIG9iamVjdHMiCiAgICAgICBmaQogCi0gICAgICB0ZXN0IC1uICIkZGVwbGlicyIgJiYgXAotCWZ1bmNfd2FybmluZyAiXGAtbCcgYW5kIFxgLUwnIGFyZSBpZ25vcmVkIGZvciBvYmplY3RzIgorICAgICAgY2FzZSAiICRkZXBsaWJzIiBpbgorICAgICAgKlwgLWwqIHwgKlwgLUwqKQorCWZ1bmNfd2FybmluZyAiXGAtbCcgYW5kIFxgLUwnIGFyZSBpZ25vcmVkIGZvciBvYmplY3RzIiA7OworICAgICAgZXNhYwogCiAgICAgICB0ZXN0IC1uICIkcnBhdGgiICYmIFwKIAlmdW5jX3dhcm5pbmcgIlxgLXJwYXRoJyBpcyBpZ25vcmVkIGZvciBvYmplY3RzIgpAQCAtNjA5NiwxNCArNzYwMCwxNiBAQAogCSAgZXNhYwogCWZpCiAJY2FzZSAkaG9zdCBpbgotCSotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMyKiB8ICotKi1vczIqKQorCSotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMyKiB8ICotKi1vczIqIHwgKi1jZWdjYyopCiAJICB0ZXN0YmluZGlyPWAke0VDSE99ICIkbGliZGlyIiB8ICR7U0VEfSAtZSAncyovbGliJCovYmluKidgCiAJICBjYXNlIDokZGxsc2VhcmNocGF0aDogaW4KIAkgICoiOiRsaWJkaXI6IiopIDs7CisJICA6OikgZGxsc2VhcmNocGF0aD0kbGliZGlyOzsKIAkgICopIGRsbHNlYXJjaHBhdGg9IiRkbGxzZWFyY2hwYXRoOiRsaWJkaXIiOzsKIAkgIGVzYWMKIAkgIGNhc2UgOiRkbGxzZWFyY2hwYXRoOiBpbgogCSAgKiI6JHRlc3RiaW5kaXI6IiopIDs7CisJICA6OikgZGxsc2VhcmNocGF0aD0kdGVzdGJpbmRpcjs7CiAJICAqKSBkbGxzZWFyY2hwYXRoPSIkZGxsc2VhcmNocGF0aDokdGVzdGJpbmRpciI7OwogCSAgZXNhYwogCSAgOzsKQEAgLTYxNzMsNiArNzY3OSwxMCBAQAogICAgICAgICAgIHdyYXBwZXJzX3JlcXVpcmVkPW5vCiAgICAgICAgIGZpCiAgICAgICAgIDs7CisgICAgICAqY2VnY2MpCisgICAgICAgICMgRGlzYWJsZSB3cmFwcGVycyBmb3IgY2VnY2MsIHdlIGFyZSBjcm9zcyBjb21waWxpbmcgYW55d2F5LgorICAgICAgICB3cmFwcGVyc19yZXF1aXJlZD1ubworICAgICAgICA7OwogICAgICAgKikKICAgICAgICAgaWYgdGVzdCAiJG5lZWRfcmVsaW5rIiA9IG5vIHx8IHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiICE9IHllczsgdGhlbgogICAgICAgICAgIHdyYXBwZXJzX3JlcXVpcmVkPW5vCkBAIC02MjY3LDcgKzc3NzcsNyBAQAogICAgICAgZnVuY19zaG93X2V2YWwgIiRsaW5rX2NvbW1hbmQiICdleGl0ICQ/JwogCiAgICAgICAjIE5vdyBjcmVhdGUgdGhlIHdyYXBwZXIgc2NyaXB0LgotICAgICAgZnVuY19lY2hvICJjcmVhdGluZyAkb3V0cHV0IgorICAgICAgZnVuY192ZXJib3NlICJjcmVhdGluZyAkb3V0cHV0IgogCiAgICAgICAjIFF1b3RlIHRoZSByZWxpbmsgY29tbWFuZCBmb3Igc2hpcHBpbmcuCiAgICAgICBpZiB0ZXN0IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0aGVuCkBAIC02MzE1LDU1MyArNzgyNSw0NiBAQAogCWVzYWMKIAljYXNlICRob3N0IGluCiAJICAqY3lnd2luKiB8ICptaW5ndyogKQotCSAgICBvdXRwdXRfbmFtZT1gYmFzZW5hbWUgJG91dHB1dGAKLQkgICAgb3V0cHV0X3BhdGg9YGRpcm5hbWUgJG91dHB1dGAKKwkgICAgZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSAiJG91dHB1dCIgIiIgIi4iCisJICAgIG91dHB1dF9uYW1lPSRmdW5jX2Jhc2VuYW1lX3Jlc3VsdAorCSAgICBvdXRwdXRfcGF0aD0kZnVuY19kaXJuYW1lX3Jlc3VsdAogCSAgICBjd3JhcHBlcnNvdXJjZT0iJG91dHB1dF9wYXRoLyRvYmpkaXIvbHQtJG91dHB1dF9uYW1lLmMiCiAJICAgIGN3cmFwcGVyPSIkb3V0cHV0X3BhdGgvJG91dHB1dF9uYW1lLmV4ZSIKIAkgICAgJFJNICRjd3JhcHBlcnNvdXJjZSAkY3dyYXBwZXIKIAkgICAgdHJhcCAiJFJNICRjd3JhcHBlcnNvdXJjZSAkY3dyYXBwZXI7IGV4aXQgJEVYSVRfRkFJTFVSRSIgMSAyIDE1CiAKLQkgICAgY2F0ID4gJGN3cmFwcGVyc291cmNlIDw8RU9GCisJICAgIGZ1bmNfZW1pdF9jd3JhcHBlcmV4ZV9zcmMgPiAkY3dyYXBwZXJzb3VyY2UKIAotLyogJGN3cmFwcGVyc291cmNlIC0gdGVtcG9yYXJ5IHdyYXBwZXIgZXhlY3V0YWJsZSBmb3IgJG9iamRpci8kb3V0cHV0bmFtZQotICAgR2VuZXJhdGVkIGJ5ICRQUk9HUkFNIChHTlUgJFBBQ0tBR0UkVElNRVNUQU1QKSAkVkVSU0lPTgorCSAgICAjIFRoZSB3cmFwcGVyIGV4ZWN1dGFibGUgaXMgYnVpbHQgdXNpbmcgdGhlICRob3N0IGNvbXBpbGVyLAorCSAgICAjIGJlY2F1c2UgaXQgY29udGFpbnMgJGhvc3QgcGF0aHMgYW5kIGZpbGVzLiBJZiBjcm9zcy0KKwkgICAgIyBjb21waWxpbmcsIGl0LCBsaWtlIHRoZSB0YXJnZXQgZXhlY3V0YWJsZSwgbXVzdCBiZQorCSAgICAjIGV4ZWN1dGVkIG9uIHRoZSAkaG9zdCBvciB1bmRlciBhbiBlbXVsYXRpb24gZW52aXJvbm1lbnQuCisJICAgICRvcHRfZHJ5X3J1biB8fCB7CisJICAgICAgJExUQ0MgJExUQ0ZMQUdTIC1vICRjd3JhcHBlciAkY3dyYXBwZXJzb3VyY2UKKwkgICAgICAkU1RSSVAgJGN3cmFwcGVyCisJICAgIH0KIAotICAgVGhlICRvdXRwdXQgcHJvZ3JhbSBjYW5ub3QgYmUgZGlyZWN0bHkgZXhlY3V0ZWQgdW50aWwgYWxsIHRoZSBsaWJ0b29sCi0gICBsaWJyYXJpZXMgdGhhdCBpdCBkZXBlbmRzIG9uIGFyZSBpbnN0YWxsZWQuCisJICAgICMgTm93LCBjcmVhdGUgdGhlIHdyYXBwZXIgc2NyaXB0IGZvciBmdW5jX3NvdXJjZSB1c2U6CisJICAgIGZ1bmNfbHR3cmFwcGVyX3NjcmlwdG5hbWUgJGN3cmFwcGVyCisJICAgICRSTSAkZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1bHQKKwkgICAgdHJhcCAiJFJNICRmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lX3Jlc3VsdDsgZXhpdCAkRVhJVF9GQUlMVVJFIiAxIDIgMTUKKwkgICAgJG9wdF9kcnlfcnVuIHx8IHsKKwkgICAgICAjIG5vdGU6IHRoaXMgc2NyaXB0IHdpbGwgbm90IGJlIGV4ZWN1dGVkLCBzbyBkbyBub3QgY2htb2QuCisJICAgICAgaWYgdGVzdCAieCRidWlsZCIgPSAieCRob3N0IiA7IHRoZW4KKwkJJGN3cmFwcGVyIC0tbHQtZHVtcC1zY3JpcHQgPiAkZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1bHQKKwkgICAgICBlbHNlCisJCWZ1bmNfZW1pdF93cmFwcGVyIG5vID4gJGZ1bmNfbHR3cmFwcGVyX3NjcmlwdG5hbWVfcmVzdWx0CisJICAgICAgZmkKKwkgICAgfQorCSAgOzsKKwkgICogKQorCSAgICAkUk0gJG91dHB1dAorCSAgICB0cmFwICIkUk0gJG91dHB1dDsgZXhpdCAkRVhJVF9GQUlMVVJFIiAxIDIgMTUKIAotICAgVGhpcyB3cmFwcGVyIGV4ZWN1dGFibGUgc2hvdWxkIG5ldmVyIGJlIG1vdmVkIG91dCBvZiB0aGUgYnVpbGQgZGlyZWN0b3J5LgotICAgSWYgaXQgaXMsIGl0IHdpbGwgbm90IG9wZXJhdGUgY29ycmVjdGx5LgotCi0gICBDdXJyZW50bHksIGl0IHNpbXBseSBleGVjcyB0aGUgd3JhcHBlciAqc2NyaXB0KiAiL2Jpbi9zaCAkb3V0cHV0IiwKLSAgIGJ1dCBjb3VsZCBldmVudHVhbGx5IGFic29yYiBhbGwgb2YgdGhlIHNjcmlwdHMgZnVuY3Rpb25hbGl0eSBhbmQKLSAgIGV4ZWMgJG9iamRpci8kb3V0cHV0bmFtZSBkaXJlY3RseS4KLSovCi1FT0YKLQkgICAgY2F0ID4+ICRjd3JhcHBlcnNvdXJjZTw8IkVPRiIKLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHVuaXN0ZC5oPgotI2luY2x1ZGUgPG1hbGxvYy5oPgotI2luY2x1ZGUgPHN0ZGFyZy5oPgotI2luY2x1ZGUgPGFzc2VydC5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgPGN0eXBlLmg+Ci0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KLQotI2lmIGRlZmluZWQoUEFUSF9NQVgpCi0jIGRlZmluZSBMVF9QQVRITUFYIFBBVEhfTUFYCi0jZWxpZiBkZWZpbmVkKE1BWFBBVEhMRU4pCi0jIGRlZmluZSBMVF9QQVRITUFYIE1BWFBBVEhMRU4KLSNlbHNlCi0jIGRlZmluZSBMVF9QQVRITUFYIDEwMjQKLSNlbmRpZgotCi0jaWZuZGVmIERJUl9TRVBBUkFUT1IKLSMgZGVmaW5lIERJUl9TRVBBUkFUT1IgJy8nCi0jIGRlZmluZSBQQVRIX1NFUEFSQVRPUiAnOicKLSNlbmRpZgotCi0jaWYgZGVmaW5lZCAoX1dJTjMyKSB8fCBkZWZpbmVkIChfX01TRE9TX18pIHx8IGRlZmluZWQgKF9fREpHUFBfXykgfHwgXAotICBkZWZpbmVkIChfX09TMl9fKQotIyBkZWZpbmUgSEFWRV9ET1NfQkFTRURfRklMRV9TWVNURU0KLSMgaWZuZGVmIERJUl9TRVBBUkFUT1JfMgotIyAgZGVmaW5lIERJUl9TRVBBUkFUT1JfMiAnXFwnCi0jIGVuZGlmCi0jIGlmbmRlZiBQQVRIX1NFUEFSQVRPUl8yCi0jICBkZWZpbmUgUEFUSF9TRVBBUkFUT1JfMiAnOycKLSMgZW5kaWYKLSNlbmRpZgotCi0jaWZuZGVmIERJUl9TRVBBUkFUT1JfMgotIyBkZWZpbmUgSVNfRElSX1NFUEFSQVRPUihjaCkgKChjaCkgPT0gRElSX1NFUEFSQVRPUikKLSNlbHNlIC8qIERJUl9TRVBBUkFUT1JfMiAqLwotIyBkZWZpbmUgSVNfRElSX1NFUEFSQVRPUihjaCkgXAotCSgoKGNoKSA9PSBESVJfU0VQQVJBVE9SKSB8fCAoKGNoKSA9PSBESVJfU0VQQVJBVE9SXzIpKQotI2VuZGlmIC8qIERJUl9TRVBBUkFUT1JfMiAqLwotCi0jaWZuZGVmIFBBVEhfU0VQQVJBVE9SXzIKLSMgZGVmaW5lIElTX1BBVEhfU0VQQVJBVE9SKGNoKSAoKGNoKSA9PSBQQVRIX1NFUEFSQVRPUikKLSNlbHNlIC8qIFBBVEhfU0VQQVJBVE9SXzIgKi8KLSMgZGVmaW5lIElTX1BBVEhfU0VQQVJBVE9SKGNoKSAoKGNoKSA9PSBQQVRIX1NFUEFSQVRPUl8yKQotI2VuZGlmIC8qIFBBVEhfU0VQQVJBVE9SXzIgKi8KLQotI2RlZmluZSBYTUFMTE9DKHR5cGUsIG51bSkgICAgICAoKHR5cGUgKikgeG1hbGxvYyAoKG51bSkgKiBzaXplb2YodHlwZSkpKQotI2RlZmluZSBYRlJFRShzdGFsZSkgZG8geyBcCi0gIGlmIChzdGFsZSkgeyBmcmVlICgodm9pZCAqKSBzdGFsZSk7IHN0YWxlID0gMDsgfSBcCi19IHdoaWxlICgwKQotCi0vKiAtRERFQlVHIGlzIGZhaXJseSBjb21tb24gaW4gQ0ZMQUdTLiAgKi8KLSN1bmRlZiBERUJVRwotI2lmIGRlZmluZWQgREVCVUdXUkFQUEVSCi0jIGRlZmluZSBERUJVRyhmb3JtYXQsIC4uLikgZnByaW50ZihzdGRlcnIsIGZvcm1hdCwgX19WQV9BUkdTX18pCi0jZWxzZQotIyBkZWZpbmUgREVCVUcoZm9ybWF0LCAuLi4pCi0jZW5kaWYKLQotY29uc3QgY2hhciAqcHJvZ3JhbV9uYW1lID0gTlVMTDsKLQotdm9pZCAqIHhtYWxsb2MgKHNpemVfdCBudW0pOwotY2hhciAqIHhzdHJkdXAgKGNvbnN0IGNoYXIgKnN0cmluZyk7Ci1jb25zdCBjaGFyICogYmFzZV9uYW1lIChjb25zdCBjaGFyICpuYW1lKTsKLWNoYXIgKiBmaW5kX2V4ZWN1dGFibGUoY29uc3QgY2hhciAqd3JhcHBlcik7Ci1pbnQgICAgY2hlY2tfZXhlY3V0YWJsZShjb25zdCBjaGFyICpwYXRoKTsKLWNoYXIgKiBzdHJlbmR6YXAoY2hhciAqc3RyLCBjb25zdCBjaGFyICpwYXQpOwotdm9pZCBsdF9mYXRhbCAoY29uc3QgY2hhciAqbWVzc2FnZSwgLi4uKTsKLQotaW50Ci1tYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQotewotICBjaGFyICoqbmV3YXJnejsKLSAgaW50IGk7Ci0KLSAgcHJvZ3JhbV9uYW1lID0gKGNoYXIgKikgeHN0cmR1cCAoYmFzZV9uYW1lIChhcmd2WzBdKSk7Ci0gIERFQlVHKCIobWFpbikgYXJndlswXSAgICAgIDogJXNcbiIsYXJndlswXSk7Ci0gIERFQlVHKCIobWFpbikgcHJvZ3JhbV9uYW1lIDogJXNcbiIscHJvZ3JhbV9uYW1lKTsKLSAgbmV3YXJneiA9IFhNQUxMT0MoY2hhciAqLCBhcmdjKzIpOwotRU9GCi0KLQkgICAgY2F0ID4+ICRjd3JhcHBlcnNvdXJjZSA8PEVPRgotICBuZXdhcmd6WzBdID0gKGNoYXIgKikgeHN0cmR1cCgiJFNIRUxMIik7Ci1FT0YKLQotCSAgICBjYXQgPj4gJGN3cmFwcGVyc291cmNlIDw8IkVPRiIKLSAgbmV3YXJnelsxXSA9IGZpbmRfZXhlY3V0YWJsZShhcmd2WzBdKTsKLSAgaWYgKG5ld2FyZ3pbMV0gPT0gTlVMTCkKLSAgICBsdF9mYXRhbCgiQ291bGRuJ3QgZmluZCAlcyIsIGFyZ3ZbMF0pOwotICBERUJVRygiKG1haW4pIGZvdW5kIGV4ZSBhdCA6ICVzXG4iLG5ld2FyZ3pbMV0pOwotICAvKiB3ZSBrbm93IHRoZSBzY3JpcHQgaGFzIHRoZSBzYW1lIG5hbWUsIHdpdGhvdXQgdGhlIC5leGUgKi8KLSAgLyogc28gbWFrZSBzdXJlIG5ld2FyZ3pbMV0gZG9lc24ndCBlbmQgaW4gLmV4ZSAqLwotICBzdHJlbmR6YXAobmV3YXJnelsxXSwiLmV4ZSIpOwotICBmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsrKQotICAgIG5ld2FyZ3pbaSsxXSA9IHhzdHJkdXAoYXJndltpXSk7Ci0gIG5ld2FyZ3pbYXJnYysxXSA9IE5VTEw7Ci0KLSAgZm9yIChpPTA7IGk8YXJnYysxOyBpKyspCi0gIHsKLSAgICBERUJVRygiKG1haW4pIG5ld2FyZ3pbJWRdICAgOiAlc1xuIixpLG5ld2FyZ3pbaV0pOwotICAgIDsKLSAgfQotCi1FT0YKLQotCSAgICBjYXNlICRob3N0X29zIGluCi0JICAgICAgbWluZ3cqKQotCQljYXQgPj4gJGN3cmFwcGVyc291cmNlIDw8RU9GCi0gIGV4ZWN2KCIkU0hFTEwiLChjaGFyIGNvbnN0ICoqKW5ld2FyZ3opOwotRU9GCi0JICAgICAgOzsKLQkgICAgICAqKQotCQljYXQgPj4gJGN3cmFwcGVyc291cmNlIDw8RU9GCi0gIGV4ZWN2KCIkU0hFTEwiLG5ld2FyZ3opOwotRU9GCi0JICAgICAgOzsKLQkgICAgZXNhYwotCi0JICAgIGNhdCA+PiAkY3dyYXBwZXJzb3VyY2UgPDwiRU9GIgotICByZXR1cm4gMTI3OwotfQotCi12b2lkICoKLXhtYWxsb2MgKHNpemVfdCBudW0pCi17Ci0gIHZvaWQgKiBwID0gKHZvaWQgKikgbWFsbG9jIChudW0pOwotICBpZiAoIXApCi0gICAgbHRfZmF0YWwgKCJNZW1vcnkgZXhoYXVzdGVkIik7Ci0KLSAgcmV0dXJuIHA7Ci19Ci0KLWNoYXIgKgoteHN0cmR1cCAoY29uc3QgY2hhciAqc3RyaW5nKQotewotICByZXR1cm4gc3RyaW5nID8gc3RyY3B5ICgoY2hhciAqKSB4bWFsbG9jIChzdHJsZW4gKHN0cmluZykgKyAxKSwgc3RyaW5nKSA6IE5VTEwKLTsKLX0KLQotY29uc3QgY2hhciAqCi1iYXNlX25hbWUgKGNvbnN0IGNoYXIgKm5hbWUpCi17Ci0gIGNvbnN0IGNoYXIgKmJhc2U7Ci0KLSNpZiBkZWZpbmVkIChIQVZFX0RPU19CQVNFRF9GSUxFX1NZU1RFTSkKLSAgLyogU2tpcCBvdmVyIHRoZSBkaXNrIG5hbWUgaW4gTVNET1MgcGF0aG5hbWVzLiAqLwotICBpZiAoaXNhbHBoYSAoKHVuc2lnbmVkIGNoYXIpbmFtZVswXSkgJiYgbmFtZVsxXSA9PSAnOicpCi0gICAgbmFtZSArPSAyOwotI2VuZGlmCi0KLSAgZm9yIChiYXNlID0gbmFtZTsgKm5hbWU7IG5hbWUrKykKLSAgICBpZiAoSVNfRElSX1NFUEFSQVRPUiAoKm5hbWUpKQotICAgICAgYmFzZSA9IG5hbWUgKyAxOwotICByZXR1cm4gYmFzZTsKLX0KLQotaW50Ci1jaGVja19leGVjdXRhYmxlKGNvbnN0IGNoYXIgKiBwYXRoKQotewotICBzdHJ1Y3Qgc3RhdCBzdDsKLQotICBERUJVRygiKGNoZWNrX2V4ZWN1dGFibGUpICA6ICVzXG4iLCBwYXRoID8gKCpwYXRoID8gcGF0aCA6ICJFTVBUWSEiKSA6ICJOVUxMISIpOwotICBpZiAoKCFwYXRoKSB8fCAoISpwYXRoKSkKLSAgICByZXR1cm4gMDsKLQotICBpZiAoKHN0YXQgKHBhdGgsICZzdCkgPj0gMCkgJiYKLSAgICAgICgKLQkvKiBNaW5HVyAmIG5hdGl2ZSBXSU4zMiBkbyBub3Qgc3VwcG9ydCBTX0lYT1RIIG9yIFNfSVhHUlAgKi8KLSNpZiBkZWZpbmVkIChTX0lYT1RIKQotICAgICAgICgoc3Quc3RfbW9kZSAmIFNfSVhPVEgpID09IFNfSVhPVEgpIHx8Ci0jZW5kaWYKLSNpZiBkZWZpbmVkIChTX0lYR1JQKQotICAgICAgICgoc3Quc3RfbW9kZSAmIFNfSVhHUlApID09IFNfSVhHUlApIHx8Ci0jZW5kaWYKLSAgICAgICAoKHN0LnN0X21vZGUgJiBTX0lYVVNSKSA9PSBTX0lYVVNSKSkKLSAgICAgICkKLSAgICByZXR1cm4gMTsKLSAgZWxzZQotICAgIHJldHVybiAwOwotfQotCi0vKiBTZWFyY2hlcyBmb3IgdGhlIGZ1bGwgcGF0aCBvZiB0aGUgd3JhcHBlci4gIFJldHVybnMKLSAgIG5ld2x5IGFsbG9jYXRlZCBmdWxsIHBhdGggbmFtZSBpZiBmb3VuZCwgTlVMTCBvdGhlcndpc2UgKi8KLWNoYXIgKgotZmluZF9leGVjdXRhYmxlIChjb25zdCBjaGFyKiB3cmFwcGVyKQotewotICBpbnQgaGFzX3NsYXNoID0gMDsKLSAgY29uc3QgY2hhciogcDsKLSAgY29uc3QgY2hhciogcF9uZXh0OwotICAvKiBzdGF0aWMgYnVmZmVyIGZvciBnZXRjd2QgKi8KLSAgY2hhciB0bXBbTFRfUEFUSE1BWCArIDFdOwotICBpbnQgdG1wX2xlbjsKLSAgY2hhciogY29uY2F0X25hbWU7Ci0KLSAgREVCVUcoIihmaW5kX2V4ZWN1dGFibGUpICA6ICVzXG4iLCB3cmFwcGVyID8gKCp3cmFwcGVyID8gd3JhcHBlciA6ICJFTVBUWSEiKSA6ICJOVUxMISIpOwotCi0gIGlmICgod3JhcHBlciA9PSBOVUxMKSB8fCAoKndyYXBwZXIgPT0gJ1wwJykpCi0gICAgcmV0dXJuIE5VTEw7Ci0KLSAgLyogQWJzb2x1dGUgcGF0aD8gKi8KLSNpZiBkZWZpbmVkIChIQVZFX0RPU19CQVNFRF9GSUxFX1NZU1RFTSkKLSAgaWYgKGlzYWxwaGEgKCh1bnNpZ25lZCBjaGFyKXdyYXBwZXJbMF0pICYmIHdyYXBwZXJbMV0gPT0gJzonKQotICB7Ci0gICAgY29uY2F0X25hbWUgPSB4c3RyZHVwICh3cmFwcGVyKTsKLSAgICBpZiAoY2hlY2tfZXhlY3V0YWJsZShjb25jYXRfbmFtZSkpCi0gICAgICByZXR1cm4gY29uY2F0X25hbWU7Ci0gICAgWEZSRUUoY29uY2F0X25hbWUpOwotICB9Ci0gIGVsc2UKLSAgewotI2VuZGlmCi0gICAgaWYgKElTX0RJUl9TRVBBUkFUT1IgKHdyYXBwZXJbMF0pKQotICAgIHsKLSAgICAgIGNvbmNhdF9uYW1lID0geHN0cmR1cCAod3JhcHBlcik7Ci0gICAgICBpZiAoY2hlY2tfZXhlY3V0YWJsZShjb25jYXRfbmFtZSkpCi0JcmV0dXJuIGNvbmNhdF9uYW1lOwotICAgICAgWEZSRUUoY29uY2F0X25hbWUpOwotICAgIH0KLSNpZiBkZWZpbmVkIChIQVZFX0RPU19CQVNFRF9GSUxFX1NZU1RFTSkKLSAgfQotI2VuZGlmCi0KLSAgZm9yIChwID0gd3JhcHBlcjsgKnA7IHArKykKLSAgICBpZiAoKnAgPT0gJy8nKQotICAgIHsKLSAgICAgIGhhc19zbGFzaCA9IDE7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gIGlmICghaGFzX3NsYXNoKQotICB7Ci0gICAgLyogbm8gc2xhc2hlczsgc2VhcmNoIFBBVEggKi8KLSAgICBjb25zdCBjaGFyKiBwYXRoID0gZ2V0ZW52ICgiUEFUSCIpOwotICAgIGlmIChwYXRoICE9IE5VTEwpCi0gICAgewotICAgICAgZm9yIChwID0gcGF0aDsgKnA7IHAgPSBwX25leHQpCi0gICAgICB7Ci0JY29uc3QgY2hhciogcTsKLQlzaXplX3QgcF9sZW47Ci0JZm9yIChxID0gcDsgKnE7IHErKykKLQkgIGlmIChJU19QQVRIX1NFUEFSQVRPUigqcSkpCi0JICAgIGJyZWFrOwotCXBfbGVuID0gcSAtIHA7Ci0JcF9uZXh0ID0gKCpxID09ICdcMCcgPyBxIDogcSArIDEpOwotCWlmIChwX2xlbiA9PSAwKQotCXsKLQkgIC8qIGVtcHR5IHBhdGg6IGN1cnJlbnQgZGlyZWN0b3J5ICovCi0JICBpZiAoZ2V0Y3dkICh0bXAsIExUX1BBVEhNQVgpID09IE5VTEwpCi0JICAgIGx0X2ZhdGFsICgiZ2V0Y3dkIGZhaWxlZCIpOwotCSAgdG1wX2xlbiA9IHN0cmxlbih0bXApOwotCSAgY29uY2F0X25hbWUgPSBYTUFMTE9DKGNoYXIsIHRtcF9sZW4gKyAxICsgc3RybGVuKHdyYXBwZXIpICsgMSk7Ci0JICBtZW1jcHkgKGNvbmNhdF9uYW1lLCB0bXAsIHRtcF9sZW4pOwotCSAgY29uY2F0X25hbWVbdG1wX2xlbl0gPSAnLyc7Ci0JICBzdHJjcHkgKGNvbmNhdF9uYW1lICsgdG1wX2xlbiArIDEsIHdyYXBwZXIpOwotCX0KLQllbHNlCi0JewotCSAgY29uY2F0X25hbWUgPSBYTUFMTE9DKGNoYXIsIHBfbGVuICsgMSArIHN0cmxlbih3cmFwcGVyKSArIDEpOwotCSAgbWVtY3B5IChjb25jYXRfbmFtZSwgcCwgcF9sZW4pOwotCSAgY29uY2F0X25hbWVbcF9sZW5dID0gJy8nOwotCSAgc3RyY3B5IChjb25jYXRfbmFtZSArIHBfbGVuICsgMSwgd3JhcHBlcik7Ci0JfQotCWlmIChjaGVja19leGVjdXRhYmxlKGNvbmNhdF9uYW1lKSkKLQkgIHJldHVybiBjb25jYXRfbmFtZTsKLQlYRlJFRShjb25jYXRfbmFtZSk7Ci0gICAgICB9Ci0gICAgfQotICAgIC8qIG5vdCBmb3VuZCBpbiBQQVRIOyBhc3N1bWUgY3VyZGlyICovCi0gIH0KLSAgLyogUmVsYXRpdmUgcGF0aCB8IG5vdCBmb3VuZCBpbiBwYXRoOiBwcmVwZW5kIGN3ZCAqLwotICBpZiAoZ2V0Y3dkICh0bXAsIExUX1BBVEhNQVgpID09IE5VTEwpCi0gICAgbHRfZmF0YWwgKCJnZXRjd2QgZmFpbGVkIik7Ci0gIHRtcF9sZW4gPSBzdHJsZW4odG1wKTsKLSAgY29uY2F0X25hbWUgPSBYTUFMTE9DKGNoYXIsIHRtcF9sZW4gKyAxICsgc3RybGVuKHdyYXBwZXIpICsgMSk7Ci0gIG1lbWNweSAoY29uY2F0X25hbWUsIHRtcCwgdG1wX2xlbik7Ci0gIGNvbmNhdF9uYW1lW3RtcF9sZW5dID0gJy8nOwotICBzdHJjcHkgKGNvbmNhdF9uYW1lICsgdG1wX2xlbiArIDEsIHdyYXBwZXIpOwotCi0gIGlmIChjaGVja19leGVjdXRhYmxlKGNvbmNhdF9uYW1lKSkKLSAgICByZXR1cm4gY29uY2F0X25hbWU7Ci0gIFhGUkVFKGNvbmNhdF9uYW1lKTsKLSAgcmV0dXJuIE5VTEw7Ci19Ci0KLWNoYXIgKgotc3RyZW5kemFwKGNoYXIgKnN0ciwgY29uc3QgY2hhciAqcGF0KQotewotICBzaXplX3QgbGVuLCBwYXRsZW47Ci0KLSAgYXNzZXJ0KHN0ciAhPSBOVUxMKTsKLSAgYXNzZXJ0KHBhdCAhPSBOVUxMKTsKLQotICBsZW4gPSBzdHJsZW4oc3RyKTsKLSAgcGF0bGVuID0gc3RybGVuKHBhdCk7Ci0KLSAgaWYgKHBhdGxlbiA8PSBsZW4pCi0gIHsKLSAgICBzdHIgKz0gbGVuIC0gcGF0bGVuOwotICAgIGlmIChzdHJjbXAoc3RyLCBwYXQpID09IDApCi0gICAgICAqc3RyID0gJ1wwJzsKLSAgfQotICByZXR1cm4gc3RyOwotfQotCi1zdGF0aWMgdm9pZAotbHRfZXJyb3JfY29yZSAoaW50IGV4aXRfc3RhdHVzLCBjb25zdCBjaGFyICogbW9kZSwKLQkgIGNvbnN0IGNoYXIgKiBtZXNzYWdlLCB2YV9saXN0IGFwKQotewotICBmcHJpbnRmIChzdGRlcnIsICIlczogJXM6ICIsIHByb2dyYW1fbmFtZSwgbW9kZSk7Ci0gIHZmcHJpbnRmIChzdGRlcnIsIG1lc3NhZ2UsIGFwKTsKLSAgZnByaW50ZiAoc3RkZXJyLCAiLlxuIik7Ci0KLSAgaWYgKGV4aXRfc3RhdHVzID49IDApCi0gICAgZXhpdCAoZXhpdF9zdGF0dXMpOwotfQotCi12b2lkCi1sdF9mYXRhbCAoY29uc3QgY2hhciAqbWVzc2FnZSwgLi4uKQotewotICB2YV9saXN0IGFwOwotICB2YV9zdGFydCAoYXAsIG1lc3NhZ2UpOwotICBsdF9lcnJvcl9jb3JlIChFWElUX0ZBSUxVUkUsICJGQVRBTCIsIG1lc3NhZ2UsIGFwKTsKLSAgdmFfZW5kIChhcCk7Ci19Ci1FT0YKLQkgICMgd2Ugc2hvdWxkIHJlYWxseSB1c2UgYSBidWlsZC1wbGF0Zm9ybSBzcGVjaWZpYyBjb21waWxlcgotCSAgIyBoZXJlLCBidXQgT1RPSCwgdGhlIHdyYXBwZXJzIChzaGVsbCBzY3JpcHQgYW5kIHRoaXMgQyBvbmUpCi0JICAjIGFyZSBvbmx5IHVzZWZ1bCBpZiB5b3Ugd2FudCB0byBleGVjdXRlIHRoZSAicmVhbCIgYmluYXJ5LgotCSAgIyBTaW5jZSB0aGUgInJlYWwiIGJpbmFyeSBpcyBidWlsdCBmb3IgJGhvc3QsIHRoZW4gdGhpcwotCSAgIyB3cmFwcGVyIG1pZ2h0IGFzIHdlbGwgYmUgYnVpbHQgZm9yICRob3N0LCB0b28uCi0JICAkb3B0X2RyeV9ydW4gfHwgJExUQ0MgJExUQ0ZMQUdTIC1zIC1vICRjd3JhcHBlciAkY3dyYXBwZXJzb3VyY2UKKwkgICAgZnVuY19lbWl0X3dyYXBwZXIgbm8gPiAkb3V0cHV0CisJICAgIGNobW9kICt4ICRvdXRwdXQKIAkgIDs7CiAJZXNhYwotCSRSTSAkb3V0cHV0Ci0JdHJhcCAiJFJNICRvdXRwdXQ7IGV4aXQgJEVYSVRfRkFJTFVSRSIgMSAyIDE1Ci0KLQkkRUNITyA+ICRvdXRwdXQgIlwKLSMhICRTSEVMTAotCi0jICRvdXRwdXQgLSB0ZW1wb3Jhcnkgd3JhcHBlciBzY3JpcHQgZm9yICRvYmpkaXIvJG91dHB1dG5hbWUKLSMgR2VuZXJhdGVkIGJ5ICRQUk9HUkFNIChHTlUgJFBBQ0tBR0UkVElNRVNUQU1QKSAkVkVSU0lPTgotIwotIyBUaGUgJG91dHB1dCBwcm9ncmFtIGNhbm5vdCBiZSBkaXJlY3RseSBleGVjdXRlZCB1bnRpbCBhbGwgdGhlIGxpYnRvb2wKLSMgbGlicmFyaWVzIHRoYXQgaXQgZGVwZW5kcyBvbiBhcmUgaW5zdGFsbGVkLgotIwotIyBUaGlzIHdyYXBwZXIgc2NyaXB0IHNob3VsZCBuZXZlciBiZSBtb3ZlZCBvdXQgb2YgdGhlIGJ1aWxkIGRpcmVjdG9yeS4KLSMgSWYgaXQgaXMsIGl0IHdpbGwgbm90IG9wZXJhdGUgY29ycmVjdGx5LgotCi0jIFNlZCBzdWJzdGl0dXRpb24gdGhhdCBoZWxwcyB1cyBkbyByb2J1c3QgcXVvdGluZy4gIEl0IGJhY2tzbGFzaGlmaWVzCi0jIG1ldGFjaGFyYWN0ZXJzIHRoYXQgYXJlIHN0aWxsIGFjdGl2ZSB3aXRoaW4gZG91YmxlLXF1b3RlZCBzdHJpbmdzLgotWHNlZD0nJHtTRUR9IC1lIDFzL15YLy8nCi1zZWRfcXVvdGVfc3Vic3Q9JyRzZWRfcXVvdGVfc3Vic3QnCi0KLSMgQmUgQm91cm5lIGNvbXBhdGlibGUKLWlmIHRlc3QgLW4gXCJcJHtaU0hfVkVSU0lPTitzZXR9XCIgJiYgKGVtdWxhdGUgc2gpID4vZGV2L251bGwgMj4mMTsgdGhlbgotICBlbXVsYXRlIHNoCi0gIE5VTExDTUQ9OgotICAjIFpzaCAzLnggYW5kIDQueCBwZXJmb3JtcyB3b3JkIHNwbGl0dGluZyBvbiBcJHsxK1wiXCRAXCJ9LCB3aGljaAotICAjIGlzIGNvbnRyYXJ5IHRvIG91ciB1c2FnZS4gIERpc2FibGUgdGhpcyBmZWF0dXJlLgotICBhbGlhcyAtZyAnXCR7MStcIlwkQFwifSc9J1wiXCRAXCInCi0gIHNldG9wdCBOT19HTE9CX1NVQlNUCi1lbHNlCi0gIGNhc2UgXGAoc2V0IC1vKSAyPi9kZXYvbnVsbFxgIGluICpwb3NpeCopIHNldCAtbyBwb3NpeDs7IGVzYWMKLWZpCi1CSU5fU0g9eHBnNDsgZXhwb3J0IEJJTl9TSCAjIGZvciBUcnU2NAotRFVBTENBU0U9MTsgZXhwb3J0IERVQUxDQVNFICMgZm9yIE1LUyBzaAotCi0jIFRoZSBIUC1VWCBrc2ggYW5kIFBPU0lYIHNoZWxsIHByaW50IHRoZSB0YXJnZXQgZGlyZWN0b3J5IHRvIHN0ZG91dAotIyBpZiBDRFBBVEggaXMgc2V0LgotKHVuc2V0IENEUEFUSCkgPi9kZXYvbnVsbCAyPiYxICYmIHVuc2V0IENEUEFUSAotCi1yZWxpbmtfY29tbWFuZD1cIiRyZWxpbmtfY29tbWFuZFwiCi0KLSMgVGhpcyBlbnZpcm9ubWVudCB2YXJpYWJsZSBkZXRlcm1pbmVzIG91ciBvcGVyYXRpb24gbW9kZS4KLWlmIHRlc3QgXCJcJGxpYnRvb2xfaW5zdGFsbF9tYWdpY1wiID0gXCIkbWFnaWNcIjsgdGhlbgotICAjIGluc3RhbGwgbW9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIHZhcmlhYmxlczoKLSAgZ2VuZXJhdGVkX2J5X2xpYnRvb2xfdmVyc2lvbj0nJG1hY3JvX3ZlcnNpb24nCi0gIG5vdGluc3RfZGVwbGlicz0nJG5vdGluc3RfZGVwbGlicycKLWVsc2UKLSAgIyBXaGVuIHdlIGFyZSBzb3VyY2VkIGluIGV4ZWN1dGUgbW9kZSwgXCRmaWxlIGFuZCBcJEVDSE8gYXJlIGFscmVhZHkgc2V0LgotICBpZiB0ZXN0IFwiXCRsaWJ0b29sX2V4ZWN1dGVfbWFnaWNcIiAhPSBcIiRtYWdpY1wiOyB0aGVuCi0gICAgRUNITz1cIiRxZWNob1wiCi0gICAgZmlsZT1cIlwkMFwiCi0gICAgIyBNYWtlIHN1cmUgZWNobyB3b3Jrcy4KLSAgICBpZiB0ZXN0IFwiWFwkMVwiID0gWC0tbm8tcmVleGVjOyB0aGVuCi0gICAgICAjIERpc2NhcmQgdGhlIC0tbm8tcmVleGVjIGZsYWcsIGFuZCBjb250aW51ZS4KLSAgICAgIHNoaWZ0Ci0gICAgZWxpZiB0ZXN0IFwiWFxgeyBcJEVDSE8gJ1x0JzsgfSAyPi9kZXYvbnVsbFxgXCIgPSAnWFx0JzsgdGhlbgotICAgICAgIyBZaXBwZWUsIFwkRUNITyB3b3JrcyEKLSAgICAgIDoKLSAgICBlbHNlCi0gICAgICAjIFJlc3RhcnQgdW5kZXIgdGhlIGNvcnJlY3Qgc2hlbGwsIGFuZCB0aGVuIG1heWJlIFwkRUNITyB3aWxsIHdvcmsuCi0gICAgICBleGVjICRTSEVMTCBcIlwkMFwiIC0tbm8tcmVleGVjIFwkezErXCJcJEBcIn0KLSAgICBmaQotICBmaVwKLSIKLQkkRUNITyA+PiAkb3V0cHV0ICJcCi0KLSAgIyBGaW5kIHRoZSBkaXJlY3RvcnkgdGhhdCB0aGlzIHNjcmlwdCBsaXZlcyBpbi4KLSAgdGhpc2Rpcj1cYFwkRUNITyBcIlhcJGZpbGVcIiB8IFwkWHNlZCAtZSAncyUvW14vXSokJSUnXGAKLSAgdGVzdCBcInhcJHRoaXNkaXJcIiA9IFwieFwkZmlsZVwiICYmIHRoaXNkaXI9LgotCi0gICMgRm9sbG93IHN5bWJvbGljIGxpbmtzIHVudGlsIHdlIGdldCB0byB0aGUgcmVhbCB0aGlzZGlyLgotICBmaWxlPVxgbHMgLWxkIFwiXCRmaWxlXCIgfCAke1NFRH0gLW4gJ3MvLiotPiAvL3AnXGAKLSAgd2hpbGUgdGVzdCAtbiBcIlwkZmlsZVwiOyBkbwotICAgIGRlc3RkaXI9XGBcJEVDSE8gXCJYXCRmaWxlXCIgfCBcJFhzZWQgLWUgJ3MlL1teL10qXCQlJSdcYAotCi0gICAgIyBJZiB0aGVyZSB3YXMgYSBkaXJlY3RvcnkgY29tcG9uZW50LCB0aGVuIGNoYW5nZSB0aGlzZGlyLgotICAgIGlmIHRlc3QgXCJ4XCRkZXN0ZGlyXCIgIT0gXCJ4XCRmaWxlXCI7IHRoZW4KLSAgICAgIGNhc2UgXCJcJGRlc3RkaXJcIiBpbgotICAgICAgW1xcXFwvXSogfCBbQS1aYS16XTpbXFxcXC9dKikgdGhpc2Rpcj1cIlwkZGVzdGRpclwiIDs7Ci0gICAgICAqKSB0aGlzZGlyPVwiXCR0aGlzZGlyL1wkZGVzdGRpclwiIDs7Ci0gICAgICBlc2FjCi0gICAgZmkKLQotICAgIGZpbGU9XGBcJEVDSE8gXCJYXCRmaWxlXCIgfCBcJFhzZWQgLWUgJ3MlXi4qLyUlJ1xgCi0gICAgZmlsZT1cYGxzIC1sZCBcIlwkdGhpc2Rpci9cJGZpbGVcIiB8ICR7U0VEfSAtbiAncy8uKi0+IC8vcCdcYAotICBkb25lCi0KLSAgIyBUcnkgdG8gZ2V0IHRoZSBhYnNvbHV0ZSBkaXJlY3RvcnkgbmFtZS4KLSAgYWJzZGlyPVxgY2QgXCJcJHRoaXNkaXJcIiAmJiBwd2RcYAotICB0ZXN0IC1uIFwiXCRhYnNkaXJcIiAmJiB0aGlzZGlyPVwiXCRhYnNkaXJcIgotIgotCi0JaWYgdGVzdCAiJGZhc3RfaW5zdGFsbCIgPSB5ZXM7IHRoZW4KLQkgICRFQ0hPID4+ICRvdXRwdXQgIlwKLSAgcHJvZ3JhbT1sdC0nJG91dHB1dG5hbWUnJGV4ZWV4dAotICBwcm9nZGlyPVwiXCR0aGlzZGlyLyRvYmpkaXJcIgotCi0gIGlmIHRlc3QgISAtZiBcIlwkcHJvZ2Rpci9cJHByb2dyYW1cIiB8fAotICAgICB7IGZpbGU9XGBscyAtMWR0IFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwiIFwiXCRwcm9nZGlyLy4uL1wkcHJvZ3JhbVwiIDI+L2Rldi9udWxsIHwgJHtTRUR9IDFxXGA7IFxcCi0gICAgICAgdGVzdCBcIlhcJGZpbGVcIiAhPSBcIlhcJHByb2dkaXIvXCRwcm9ncmFtXCI7IH07IHRoZW4KLQotICAgIGZpbGU9XCJcJFwkLVwkcHJvZ3JhbVwiCi0KLSAgICBpZiB0ZXN0ICEgLWQgXCJcJHByb2dkaXJcIjsgdGhlbgotICAgICAgJE1LRElSIFwiXCRwcm9nZGlyXCIKLSAgICBlbHNlCi0gICAgICAkUk0gXCJcJHByb2dkaXIvXCRmaWxlXCIKLSAgICBmaSIKLQotCSAgJEVDSE8gPj4gJG91dHB1dCAiXAotCi0gICAgIyByZWxpbmsgZXhlY3V0YWJsZSBpZiBuZWNlc3NhcnkKLSAgICBpZiB0ZXN0IC1uIFwiXCRyZWxpbmtfY29tbWFuZFwiOyB0aGVuCi0gICAgICBpZiByZWxpbmtfY29tbWFuZF9vdXRwdXQ9XGBldmFsIFwkcmVsaW5rX2NvbW1hbmQgMj4mMVxgOyB0aGVuIDoKLSAgICAgIGVsc2UKLQkkRUNITyBcIlwkcmVsaW5rX2NvbW1hbmRfb3V0cHV0XCIgPiYyCi0JJFJNIFwiXCRwcm9nZGlyL1wkZmlsZVwiCi0JZXhpdCAxCi0gICAgICBmaQotICAgIGZpCi0KLSAgICAkTVYgXCJcJHByb2dkaXIvXCRmaWxlXCIgXCJcJHByb2dkaXIvXCRwcm9ncmFtXCIgMj4vZGV2L251bGwgfHwKLSAgICB7ICRSTSBcIlwkcHJvZ2Rpci9cJHByb2dyYW1cIjsKLSAgICAgICRNViBcIlwkcHJvZ2Rpci9cJGZpbGVcIiBcIlwkcHJvZ2Rpci9cJHByb2dyYW1cIjsgfQotICAgICRSTSBcIlwkcHJvZ2Rpci9cJGZpbGVcIgotICBmaSIKLQllbHNlCi0JICAkRUNITyA+PiAkb3V0cHV0ICJcCi0gIHByb2dyYW09JyRvdXRwdXRuYW1lJwotICBwcm9nZGlyPVwiXCR0aGlzZGlyLyRvYmpkaXJcIgotIgotCWZpCi0KLQkkRUNITyA+PiAkb3V0cHV0ICJcCi0KLSAgaWYgdGVzdCAtZiBcIlwkcHJvZ2Rpci9cJHByb2dyYW1cIjsgdGhlbiIKLQotCSMgRXhwb3J0IG91ciBzaGxpYnBhdGhfdmFyIGlmIHdlIGhhdmUgb25lLgotCWlmIHRlc3QgIiRzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGgiID0geWVzICYmIHRlc3QgLW4gIiRzaGxpYnBhdGhfdmFyIiAmJiB0ZXN0IC1uICIkdGVtcF9ycGF0aCI7IHRoZW4KLQkgICRFQ0hPID4+ICRvdXRwdXQgIlwKLSAgICAjIEFkZCBvdXIgb3duIGxpYnJhcnkgcGF0aCB0byAkc2hsaWJwYXRoX3ZhcgotICAgICRzaGxpYnBhdGhfdmFyPVwiJHRlbXBfcnBhdGhcJCRzaGxpYnBhdGhfdmFyXCIKLQotICAgICMgU29tZSBzeXN0ZW1zIGNhbm5vdCBjb3BlIHdpdGggY29sb24tdGVybWluYXRlZCAkc2hsaWJwYXRoX3ZhcgotICAgICMgVGhlIHNlY29uZCBjb2xvbiBpcyBhIHdvcmthcm91bmQgZm9yIGEgYnVnIGluIEJlT1MgUjQgc2VkCi0gICAgJHNobGlicGF0aF92YXI9XGBcJEVDSE8gXCJYXCQkc2hsaWJwYXRoX3ZhclwiIHwgXCRYc2VkIC1lICdzLzo6KlwkLy8nXGAKLQotICAgIGV4cG9ydCAkc2hsaWJwYXRoX3ZhcgotIgotCWZpCi0KLQkjIGZpeHVwIHRoZSBkbGwgc2VhcmNocGF0aCBpZiB3ZSBuZWVkIHRvLgotCWlmIHRlc3QgLW4gIiRkbGxzZWFyY2hwYXRoIjsgdGhlbgotCSAgJEVDSE8gPj4gJG91dHB1dCAiXAotICAgICMgQWRkIHRoZSBkbGwgc2VhcmNoIHBhdGggY29tcG9uZW50cyB0byB0aGUgZXhlY3V0YWJsZSBQQVRICi0gICAgUEFUSD0kZGxsc2VhcmNocGF0aDpcJFBBVEgKLSIKLQlmaQotCi0JJEVDSE8gPj4gJG91dHB1dCAiXAotICAgIGlmIHRlc3QgXCJcJGxpYnRvb2xfZXhlY3V0ZV9tYWdpY1wiICE9IFwiJG1hZ2ljXCI7IHRoZW4KLSAgICAgICMgUnVuIHRoZSBhY3R1YWwgcHJvZ3JhbSB3aXRoIG91ciBhcmd1bWVudHMuCi0iCi0JY2FzZSAkaG9zdCBpbgotCSMgQmFja3NsYXNoZXMgc2VwYXJhdGUgZGlyZWN0b3JpZXMgb24gcGxhaW4gd2luZG93cwotCSotKi1taW5ndyB8ICotKi1vczIqKQotCSAgJEVDSE8gPj4gJG91dHB1dCAiXAotICAgICAgZXhlYyBcIlwkcHJvZ2RpclxcXFxcJHByb2dyYW1cIiBcJHsxK1wiXCRAXCJ9Ci0iCi0JICA7OwotCi0JKikKLQkgICRFQ0hPID4+ICRvdXRwdXQgIlwKLSAgICAgIGV4ZWMgXCJcJHByb2dkaXIvXCRwcm9ncmFtXCIgXCR7MStcIlwkQFwifQotIgotCSAgOzsKLQllc2FjCi0JJEVDSE8gPj4gJG91dHB1dCAiXAotICAgICAgXCRFQ0hPIFwiXCQwOiBjYW5ub3QgZXhlYyBcJHByb2dyYW0gXCQqXCIKLSAgICAgIGV4aXQgMQotICAgIGZpCi0gIGVsc2UKLSAgICAjIFRoZSBwcm9ncmFtIGRvZXNuJ3QgZXhpc3QuCi0gICAgXCRFQ0hPIFwiXCQwOiBlcnJvcjogXFxcYFwkcHJvZ2Rpci9cJHByb2dyYW0nIGRvZXMgbm90IGV4aXN0XCIgMT4mMgotICAgIFwkRUNITyBcIlRoaXMgc2NyaXB0IGlzIGp1c3QgYSB3cmFwcGVyIGZvciBcJHByb2dyYW0uXCIgMT4mMgotICAgICRFQ0hPIFwiU2VlIHRoZSAkUEFDS0FHRSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLlwiIDE+JjIKLSAgICBleGl0IDEKLSAgZmkKLWZpXAotIgotCWNobW9kICt4ICRvdXRwdXQKICAgICAgIH0KICAgICAgIGV4aXQgJEVYSVRfU1VDQ0VTUwogICAgICAgOzsKQEAgLTY5NDAsNyArNzk0Myw4IEBACiAJCSMgTWFrZSBzdXJlIHdlIGRvbid0IHBpY2sgYW4gYWx0ZXJuYXRlIG5hbWUgdGhhdCBhbHNvCiAJCSMgb3ZlcmxhcHMuCiAJCW5ld29iaj1sdCRjb3VudGVyLSRvYmpiYXNlCi0JCWNvdW50ZXI9YGV4cHIgJGNvdW50ZXIgKyAxYAorCQlmdW5jX2FyaXRoICRjb3VudGVyICsgMQorCQljb3VudGVyPSRmdW5jX2FyaXRoX3Jlc3VsdAogCQljYXNlICIgJG9sZG9ianMgIiBpbgogCQkqW1wgL10iJG5ld29iaiAiKikgOzsKIAkJKikgaWYgdGVzdCAhIC1mICIkZ2VudG9wLyRuZXdvYmoiOyB0aGVuIGJyZWFrOyBmaSA7OwpAQCAtNjk1NSwyOSArNzk1OSwzNSBAQAogCWZpCiAJZXZhbCBjbWRzPVwiJG9sZF9hcmNoaXZlX2NtZHNcIgogCi0JaWYgbGVuPWBleHByICJYJGNtZHMiIDogIi4qIiAyPi9kZXYvbnVsbGAgJiYKLQkgICB0ZXN0ICIkbGVuIiAtbGUgIiRtYXhfY21kX2xlbiIgfHwgdGVzdCAiJG1heF9jbWRfbGVuIiAtbGUgLTE7IHRoZW4KKwlmdW5jX2xlbiAiICRjbWRzIgorCWxlbj0kZnVuY19sZW5fcmVzdWx0CisJaWYgdGVzdCAiJGxlbiIgLWx0ICIkbWF4X2NtZF9sZW4iIHx8IHRlc3QgIiRtYXhfY21kX2xlbiIgLWxlIC0xOyB0aGVuCiAJICBjbWRzPSRvbGRfYXJjaGl2ZV9jbWRzCiAJZWxzZQogCSAgIyB0aGUgY29tbWFuZCBsaW5lIGlzIHRvbyBsb25nIHRvIGxpbmsgaW4gb25lIHN0ZXAsIGxpbmsgaW4gcGFydHMKLQkgIGZ1bmNfZWNobyAidXNpbmcgcGllY2V3aXNlIGFyY2hpdmUgbGlua2luZy4uLiIKKwkgIGZ1bmNfdmVyYm9zZSAidXNpbmcgcGllY2V3aXNlIGFyY2hpdmUgbGlua2luZy4uLiIKIAkgIHNhdmVfUkFOTElCPSRSQU5MSUIKIAkgIFJBTkxJQj06CiAJICBvYmpsaXN0PQogCSAgY29uY2F0X2NtZHM9CiAJICBzYXZlX29sZG9ianM9JG9sZG9ianMKKwkgIG9sZG9ianM9CiAJICAjIElzIHRoZXJlIGEgYmV0dGVyIHdheSBvZiBmaW5kaW5nIHRoZSBsYXN0IG9iamVjdCBpbiB0aGUgbGlzdD8KIAkgIGZvciBvYmogaW4gJHNhdmVfb2xkb2JqcwogCSAgZG8KIAkgICAgbGFzdF9vbGRvYmo9JG9iagogCSAgZG9uZQorCSAgZXZhbCB0ZXN0X2NtZHM9XCIkb2xkX2FyY2hpdmVfY21kc1wiCisJICBmdW5jX2xlbiAiICR0ZXN0X2NtZHMiCisJICBsZW4wPSRmdW5jX2xlbl9yZXN1bHQKKwkgIGxlbj0kbGVuMAogCSAgZm9yIG9iaiBpbiAkc2F2ZV9vbGRvYmpzCiAJICBkbwotCSAgICBvbGRvYmpzPSIkb2JqbGlzdCAkb2JqIgotCSAgICBvYmpsaXN0PSIkb2JqbGlzdCAkb2JqIgotCSAgICBldmFsIHRlc3RfY21kcz1cIiRvbGRfYXJjaGl2ZV9jbWRzXCIKLQkgICAgaWYgbGVuPWBleHByICJYJHRlc3RfY21kcyIgOiAiLioiIDI+L2Rldi9udWxsYCAmJgotCSAgICAgICB0ZXN0ICIkbGVuIiAtbGUgIiRtYXhfY21kX2xlbiI7IHRoZW4KKwkgICAgZnVuY19sZW4gIiAkb2JqIgorCSAgICBmdW5jX2FyaXRoICRsZW4gKyAkZnVuY19sZW5fcmVzdWx0CisJICAgIGxlbj0kZnVuY19hcml0aF9yZXN1bHQKKwkgICAgZnVuY19hcHBlbmQgb2JqbGlzdCAiICRvYmoiCisJICAgIGlmIHRlc3QgIiRsZW4iIC1sdCAiJG1heF9jbWRfbGVuIjsgdGhlbgogCSAgICAgIDoKIAkgICAgZWxzZQogCSAgICAgICMgdGhlIGFib3ZlIGNvbW1hbmQgc2hvdWxkIGJlIHVzZWQgYmVmb3JlIGl0IGdldHMgdG9vIGxvbmcKQEAgLTY5ODgsNiArNzk5OCw3IEBACiAJICAgICAgdGVzdCAteiAiJGNvbmNhdF9jbWRzIiB8fCBjb25jYXRfY21kcz0kY29uY2F0X2NtZHN+CiAJICAgICAgZXZhbCBjb25jYXRfY21kcz1cIlwke2NvbmNhdF9jbWRzfSRvbGRfYXJjaGl2ZV9jbWRzXCIKIAkgICAgICBvYmpsaXN0PQorCSAgICAgIGxlbj0kbGVuMAogCSAgICBmaQogCSAgZG9uZQogCSAgUkFOTElCPSRzYXZlX1JBTkxJQgpAQCAtNzAxMCw3ICs4MDIxLDcgQEAKICAgICAqLmxhKQogICAgICAgb2xkX2xpYnJhcnk9CiAgICAgICB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0geWVzICYmIG9sZF9saWJyYXJ5PSIkbGlibmFtZS4kbGliZXh0IgotICAgICAgZnVuY19lY2hvICJjcmVhdGluZyAkb3V0cHV0IgorICAgICAgZnVuY192ZXJib3NlICJjcmVhdGluZyAkb3V0cHV0IgogCiAgICAgICAjIFByZXNlcnZlIGFueSB2YXJpYWJsZXMgdGhhdCBtYXkgYWZmZWN0IGNvbXBpbGVyIGJlaGF2aW9yCiAgICAgICBmb3IgdmFyIGluICR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluazsgZG8KQEAgLTcxMTIsNyArODEyMyw3IEBACiAJICAjIHBsYWNlIGRsbmFtZSBpbiBjb3JyZWN0IHBvc2l0aW9uIGZvciBjeWd3aW4KIAkgIHRkbG5hbWU9JGRsbmFtZQogCSAgY2FzZSAkaG9zdCwkb3V0cHV0LCRpbnN0YWxsZWQsJG1vZHVsZSwkZGxuYW1lIGluCi0JICAgICpjeWd3aW4qLCpsYWkseWVzLG5vLCouZGxsIHwgKm1pbmd3KiwqbGFpLHllcyxubywqLmRsbCkgdGRsbmFtZT0uLi9iaW4vJGRsbmFtZSA7OworCSAgICAqY3lnd2luKiwqbGFpLHllcyxubywqLmRsbCB8ICptaW5ndyosKmxhaSx5ZXMsbm8sKi5kbGwgfCAqY2VnY2MqLCpsYWkseWVzLG5vLCouZGxsKSB0ZGxuYW1lPS4uL2Jpbi8kZGxuYW1lIDs7CiAJICBlc2FjCiAJICAkRUNITyA+ICRvdXRwdXQgIlwKICMgJG91dHB1dG5hbWUgLSBhIGxpYnRvb2wgbGlicmFyeSBmaWxlCkBAIC03MzExLDggKzgzMjIsMTUgQEAKIAkgIGVzYWMKIAkgICMgRG8gYSB0ZXN0IHRvIHNlZSBpZiB0aGlzIGlzIGEgbGlidG9vbCBwcm9ncmFtLgogCSAgaWYgZnVuY19sdHdyYXBwZXJfcCAiJGZpbGUiOyB0aGVuCi0JICAgIHJlbGlua19jb21tYW5kPQotCSAgICBmdW5jX3NvdXJjZSAkZGlyLyRub2V4ZW5hbWUKKwkgICAgaWYgZnVuY19sdHdyYXBwZXJfZXhlY3V0YWJsZV9wICIkZmlsZSI7IHRoZW4KKwkgICAgICBmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lICIkZmlsZSIKKwkgICAgICByZWxpbmtfY29tbWFuZD0KKwkgICAgICBmdW5jX3NvdXJjZSAkZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1bHQKKwkgICAgICBybWZpbGVzPSIkcm1maWxlcyAkZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1bHQiCisJICAgIGVsc2UKKwkgICAgICByZWxpbmtfY29tbWFuZD0KKwkgICAgICBmdW5jX3NvdXJjZSAkZGlyLyRub2V4ZW5hbWUKKwkgICAgZmkKIAogCSAgICAjIG5vdGUgJG5hbWUgc3RpbGwgY29udGFpbnMgLmV4ZSBpZiBpdCB3YXMgaW4gJGZpbGUgb3JpZ2luYWxseQogCSAgICAjIGFzIGRvZXMgdGhlIHZlcnNpb24gb2YgJGZpbGUgdGhhdCB3YXMgYWRkZWQgaW50byAkcm1maWxlcwpkaWZmIC0tZ2l0IGEvbHRvcHRpb25zLm00IGIvbHRvcHRpb25zLm00CmluZGV4IDc5NjFiOWYuLjM0MTUxYTMgMTAwNjQ0Ci0tLSBhL2x0b3B0aW9ucy5tNAorKysgYi9sdG9wdGlvbnMubTQKQEAgLTEsODIgKzEsODcgQEAKICMgSGVscGVyIGZ1bmN0aW9ucyBmb3Igb3B0aW9uIGhhbmRsaW5nLiAgICAgICAgICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQotCi0jIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSMgV3JpdHRlbiBieSBHYXJ5IFYuIFZhdWdoYW4gPGdhcnlAZ251Lm9yZz4KKyMKKyMgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDcsIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjICAgV3JpdHRlbiBieSBHYXJ5IFYuIFZhdWdoYW4sIDIwMDQKICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gZ2l2ZXMKICMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVkLgogCi0jIHNlcmlhbCAzIGx0b3B0aW9ucy5tNAorIyBzZXJpYWwgNiBsdG9wdGlvbnMubTQKIAogIyBUaGlzIGlzIHRvIGhlbHAgYWNsb2NhbCBmaW5kIHRoZXNlIG1hY3JvcywgYXMgaXQgY2FuJ3Qgc2VlIG00X2RlZmluZS4KIEFDX0RFRlVOKFtMVE9QVElPTlNfVkVSU0lPTl0sIFttNF9pZihbMV0pXSkKIAogCi0jIF9MVF9NQU5HTEVfT1BUSU9OKE5BTUUpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIF9MVF9NQU5HTEVfT1BUSU9OKE1BQ1JPLU5BTUUsIE9QVElPTi1OQU1FKQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIG00X2RlZmluZShbX0xUX01BTkdMRV9PUFRJT05dLAotW1tfTFRfT1BUSU9OX11tNF9icGF0c3Vic3QoJDEsIFtbXmEtekEtWjAtOV9dXSwgW19dKV0pCitbW19MVF9PUFRJT05fXW00X2JwYXRzdWJzdCgkMV9fJDIsIFtbXmEtekEtWjAtOV9dXSwgW19dKV0pCiAKIAotIyBfTFRfU0VUX09QVElPTihOQU1FKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBTZXQgb3B0aW9uIE5BTUUsIGFuZCBpZiB0aGVyZSBpcyBhIG1hdGNoaW5nIGhhbmRsZXIgZGVmaW5lZCwKLSMgZGlzcGF0Y2ggdG8gaXQuICBPdGhlciBOQU1FcyBhcmUgc2F2ZWQgYXMgYSBmbGFnLgorIyBfTFRfU0VUX09QVElPTihNQUNSTy1OQU1FLCBPUFRJT04tTkFNRSkKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFNldCBvcHRpb24gT1BUSU9OLU5BTUUgZm9yIG1hY3JvIE1BQ1JPLU5BTUUsIGFuZCBpZiB0aGVyZSBpcyBhCisjIG1hdGNoaW5nIGhhbmRsZXIgZGVmaW5lZCwgZGlzcGF0Y2ggdG8gaXQuICBPdGhlciBPUFRJT04tTkFNRXMgYXJlCisjIHNhdmVkIGFzIGEgZmxhZy4KIG00X2RlZmluZShbX0xUX1NFVF9PUFRJT05dLAotW200X2RlZmluZShfTFRfTUFOR0xFX09QVElPTihbJDFdKSlkbmwKLW00X2lmZGVmKF9MVF9NQU5HTEVfREVGVU4oWyQxXSksCi0gICAgICAgIF9MVF9NQU5HTEVfREVGVU4oWyQxXSksCi0gICAgW200X3dhcm5pbmcoW1Vua25vd24gTGlidG9vbCBvcHRpb24gYCQxJ10pXSlbXWRubAorW200X2RlZmluZShfTFRfTUFOR0xFX09QVElPTihbJDFdLCBbJDJdKSlkbmwKK200X2lmZGVmKF9MVF9NQU5HTEVfREVGVU4oWyQxXSwgWyQyXSksCisgICAgICAgIF9MVF9NQU5HTEVfREVGVU4oWyQxXSwgWyQyXSksCisgICAgW200X3dhcm5pbmcoW1Vua25vd24gJDEgb3B0aW9uIGAkMiddKV0pW11kbmwKIF0pCiAKIAotIyBfTFRfSUZfT1BUSU9OKE9QVElPTiwgSUYtU0VULCBbSUYtTk9ULVNFVF0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgX0xUX0lGX09QVElPTihNQUNSTy1OQU1FLCBPUFRJT04tTkFNRSwgSUYtU0VULCBbSUYtTk9ULVNFVF0pCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBFeGVjdXRlIElGLVNFVCBpZiBPUFRJT04gaXMgc2V0LCBJRi1OT1QtU0VUIG90aGVyd2lzZS4KIG00X2RlZmluZShbX0xUX0lGX09QVElPTl0sCi1bbTRfaWZkZWYoX0xUX01BTkdMRV9PUFRJT04oWyQxXSksIFskMl0sIFskM10pXSkKK1ttNF9pZmRlZihfTFRfTUFOR0xFX09QVElPTihbJDFdLCBbJDJdKSwgWyQzXSwgWyQ0XSldKQogCiAKLSMgX0xUX1VOTEVTU19PUFRJT05TKE9QVElPTlMsIElGLU5PVC1TRVQpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBFeGVjdXRlIElGLU5PVC1TRVQgaWYgYWxsIE9QVElPTlMgYXJlIG5vdCBzZXQuCisjIF9MVF9VTkxFU1NfT1BUSU9OUyhNQUNSTy1OQU1FLCBPUFRJT04tTElTVCwgSUYtTk9ULVNFVCkKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBFeGVjdXRlIElGLU5PVC1TRVQgdW5sZXNzIGFsbCBvcHRpb25zIGluIE9QVElPTi1MSVNUIGZvciBNQUNSTy1OQU1FCisjIGFyZSBzZXQuCiBtNF9kZWZpbmUoW19MVF9VTkxFU1NfT1BUSU9OU10sCi1bbTRfZm9yZWFjaChbX0xUX09wdGlvbl0sIG00X3NwbGl0KG00X25vcm1hbGl6ZShbJDFdKSksCi0JICAgIFttNF9pZmRlZihfTFRfTUFOR0xFX09QVElPTihfTFRfT3B0aW9uKSwKK1ttNF9mb3JlYWNoKFtfTFRfT3B0aW9uXSwgbTRfc3BsaXQobTRfbm9ybWFsaXplKFskMl0pKSwKKwkgICAgW200X2lmZGVmKF9MVF9NQU5HTEVfT1BUSU9OKFskMV0sIF9MVF9PcHRpb24pLAogCQkgICAgICBbbTRfZGVmaW5lKFskMF9mb3VuZF0pXSldKVtdZG5sCi1tNF9pZmRlZihbJDBfZm91bmRdLCBbbTRfdW5kZWZpbmUoWyQwX2ZvdW5kXSldLCBbJDIKK200X2lmZGVmKFskMF9mb3VuZF0sIFttNF91bmRlZmluZShbJDBfZm91bmRdKV0sIFskMwogXSlbXWRubAogXSkKIAogCi0jIF9MVF9TRVRfT1BUSU9OUyhPUFRJT05TKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgT1BUSU9OUyBpcyBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIExpYnRvb2wgb3B0aW9ucy4KLSMgSWYgYW55IE9QVElPTiBoYXMgYSBoYW5kbGVyIG1hY3JvIGRlY2xhcmVkIHdpdGggTFRfT1BUSU9OX0RFRklORSwKLSMgZGlzcGF0Y2ggdG8gdGhhdCBtYWNybzsgb3RoZXJ3aXNlIGNvbXBsYWluIGFib3V0IHRoZSB1bmtub3duIG9wdGlvbgotIyBhbmQgZXhpdC4KKyMgX0xUX1NFVF9PUFRJT05TKE1BQ1JPLU5BTUUsIE9QVElPTi1MSVNUKQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIE9QVElPTi1MSVNUIGlzIGEgc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgTGlidG9vbCBvcHRpb25zIGFzc29jaWF0ZWQKKyMgd2l0aCBNQUNSTy1OQU1FLiAgSWYgYW55IE9QVElPTiBoYXMgYSBtYXRjaGluZyBoYW5kbGVyIGRlY2xhcmVkIHdpdGgKKyMgTFRfT1BUSU9OX0RFRklORSwgZGlzcGF0Y2ggdG8gdGhhdCBtYWNybzsgb3RoZXJ3aXNlIGNvbXBsYWluIGFib3V0CisjIHRoZSB1bmtub3duIG9wdGlvbiBhbmQgZXhpdC4KIG00X2RlZnVuKFtfTFRfU0VUX09QVElPTlNdLAogWyMgU2V0IG9wdGlvbnMKLW00X2ZvcmVhY2goW19MVF9PcHRpb25dLCBtNF9zcGxpdChtNF9ub3JtYWxpemUoWyQxXSkpLAotICAgIFtfTFRfU0VUX09QVElPTihfTFRfT3B0aW9uKV0pCi1kbmwKLWRubCBTaW1wbHkgc2V0IHNvbWUgZGVmYXVsdCB2YWx1ZXMgKGkuZSBvZmYpIGlmIGJvb2xlYW4gb3B0aW9ucyB3ZXJlIG5vdAotZG5sIHNwZWNpZmllZDoKLV9MVF9VTkxFU1NfT1BUSU9OUyhbZGxvcGVuXSwgW2VuYWJsZV9kbG9wZW49bm8KLV0pCi1fTFRfVU5MRVNTX09QVElPTlMoW3dpbjMyLWRsbF0sIFtlbmFibGVfd2luMzJfZGxsPW5vCi1dKQotZG5sCi1kbmwgSWYgbm8gcmVmZXJlbmNlIHdhcyBtYWRlIHRvIHZhcmlvdXMgcGFpcnMgb2Ygb3Bwb3Npbmcgb3B0aW9ucywgdGhlbgotZG5sIHdlIHJ1biB0aGUgZGVmYXVsdCBtb2RlIGhhbmRsZXIgZm9yIHRoZSBwYWlyLiAgRm9yIGV4YW1wbGUsIGlmIG5laXRoZXIKLWRubCBgc2hhcmVkJyBub3IgYGRpc2FibGUtc2hhcmVkJyB3YXMgcGFzc2VkLCB3ZSBlbmFibGUgYnVpbGRpbmcgb2Ygc2hhcmVkCi1kbmwgYXJjaGl2ZXMgYnkgZGVmYXVsdDoKLV9MVF9VTkxFU1NfT1BUSU9OUyhbc2hhcmVkIGRpc2FibGUtc2hhcmVkXSwgW19MVF9FTkFCTEVfU0hBUkVEXSkKLV9MVF9VTkxFU1NfT1BUSU9OUyhbc3RhdGljIGRpc2FibGUtc3RhdGljXSwgW19MVF9FTkFCTEVfU1RBVElDXSkKLV9MVF9VTkxFU1NfT1BUSU9OUyhbcGljLW9ubHkgbm8tcGljXSwgW19MVF9XSVRIX1BJQ10pCi1fTFRfVU5MRVNTX09QVElPTlMoW2Zhc3QtaW5zdGFsbCBkaXNhYmxlLWZhc3QtaW5zdGFsbF0sCi0JCSAgIFtfTFRfRU5BQkxFX0ZBU1RfSU5TVEFMTF0pCittNF9mb3JlYWNoKFtfTFRfT3B0aW9uXSwgbTRfc3BsaXQobTRfbm9ybWFsaXplKFskMl0pKSwKKyAgICBbX0xUX1NFVF9PUFRJT04oWyQxXSwgX0xUX09wdGlvbildKQorCittNF9pZihbJDFdLFtMVF9JTklUXSxbCisgIGRubAorICBkbmwgU2ltcGx5IHNldCBzb21lIGRlZmF1bHQgdmFsdWVzIChpLmUgb2ZmKSBpZiBib29sZWFuIG9wdGlvbnMgd2VyZSBub3QKKyAgZG5sIHNwZWNpZmllZDoKKyAgX0xUX1VOTEVTU19PUFRJT05TKFtMVF9JTklUXSwgW2Rsb3Blbl0sIFtlbmFibGVfZGxvcGVuPW5vCisgIF0pCisgIF9MVF9VTkxFU1NfT1BUSU9OUyhbTFRfSU5JVF0sIFt3aW4zMi1kbGxdLCBbZW5hYmxlX3dpbjMyX2RsbD1ubworICBdKQorICBkbmwKKyAgZG5sIElmIG5vIHJlZmVyZW5jZSB3YXMgbWFkZSB0byB2YXJpb3VzIHBhaXJzIG9mIG9wcG9zaW5nIG9wdGlvbnMsIHRoZW4KKyAgZG5sIHdlIHJ1biB0aGUgZGVmYXVsdCBtb2RlIGhhbmRsZXIgZm9yIHRoZSBwYWlyLiAgRm9yIGV4YW1wbGUsIGlmIG5laXRoZXIKKyAgZG5sIGBzaGFyZWQnIG5vciBgZGlzYWJsZS1zaGFyZWQnIHdhcyBwYXNzZWQsIHdlIGVuYWJsZSBidWlsZGluZyBvZiBzaGFyZWQKKyAgZG5sIGFyY2hpdmVzIGJ5IGRlZmF1bHQ6CisgIF9MVF9VTkxFU1NfT1BUSU9OUyhbTFRfSU5JVF0sIFtzaGFyZWQgZGlzYWJsZS1zaGFyZWRdLCBbX0xUX0VOQUJMRV9TSEFSRURdKQorICBfTFRfVU5MRVNTX09QVElPTlMoW0xUX0lOSVRdLCBbc3RhdGljIGRpc2FibGUtc3RhdGljXSwgW19MVF9FTkFCTEVfU1RBVElDXSkKKyAgX0xUX1VOTEVTU19PUFRJT05TKFtMVF9JTklUXSwgW3BpYy1vbmx5IG5vLXBpY10sIFtfTFRfV0lUSF9QSUNdKQorICBfTFRfVU5MRVNTX09QVElPTlMoW0xUX0lOSVRdLCBbZmFzdC1pbnN0YWxsIGRpc2FibGUtZmFzdC1pbnN0YWxsXSwKKyAgCQkgICBbX0xUX0VOQUJMRV9GQVNUX0lOU1RBTExdKQorICBdKQogXSkjIF9MVF9TRVRfT1BUSU9OUwogCiAKQEAgLTg0LDI0ICs4OSwyNiBAQAogIyMgTWFjcm9zIHRvIGhhbmRsZSBMVF9JTklUIG9wdGlvbnMuICMjCiAjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIAorIyBfTFRfTUFOR0xFX0RFRlVOKE1BQ1JPLU5BTUUsIE9QVElPTi1OQU1FKQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogbTRfZGVmaW5lKFtfTFRfTUFOR0xFX0RFRlVOXSwKLVtbX0xUX09QVElPTl9ERUZVTl9dbTRfYnBhdHN1YnN0KG00X3RvdXBwZXIoWyQxXSksIFtbXkEtWjAtOV9dXSwgW19dKV0pCitbW19MVF9PUFRJT05fREVGVU5fXW00X2JwYXRzdWJzdChtNF90b3VwcGVyKFskMV9fJDJdKSwgW1teQS1aMC05X11dLCBbX10pXSkKIAogCi0jIExUX09QVElPTl9ERUZJTkUoTkFNRSwgQ09ERSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBMVF9PUFRJT05fREVGSU5FKE1BQ1JPLU5BTUUsIE9QVElPTi1OQU1FLCBDT0RFKQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogbTRfZGVmaW5lKFtMVF9PUFRJT05fREVGSU5FXSwKLVttNF9kZWZpbmUoX0xUX01BTkdMRV9ERUZVTihbJDFdKSwgWyQyXSlbXWRubAorW200X2RlZmluZShfTFRfTUFOR0xFX0RFRlVOKFskMV0sIFskMl0pLCBbJDNdKVtdZG5sCiBdKSMgTFRfT1BUSU9OX0RFRklORQogCiAKICMgZGxvcGVuCiAjIC0tLS0tLQotTFRfT1BUSU9OX0RFRklORShbZGxvcGVuXSwgW2VuYWJsZV9kbG9wZW49eWVzCitMVF9PUFRJT05fREVGSU5FKFtMVF9JTklUXSwgW2Rsb3Blbl0sIFtlbmFibGVfZGxvcGVuPXllcwogXSkKIAogQVVfREVGVU4oW0FDX0xJQlRPT0xfRExPUEVOXSwKLVtfTFRfU0VUX09QVElPTihbZGxvcGVuXSkKK1tfTFRfU0VUX09QVElPTihbTFRfSU5JVF0sIFtkbG9wZW5dKQogQUNfRElBR05PU0UoW29ic29sZXRlXSwKIFskMDogUmVtb3ZlIHRoaXMgd2FybmluZyBhbmQgdGhlIGNhbGwgdG8gX0xUX1NFVF9PUFRJT04gd2hlbiB5b3UKIHB1dCB0aGUgYGRsb3Blbicgb3B0aW9uIGludG8gTFRfSU5JVCdzIGZpcnN0IHBhcmFtZXRlci5dKQpAQCAtMTE0LDExICsxMjEsMTEgQEAKICMgd2luMzItZGxsCiAjIC0tLS0tLS0tLQogIyBEZWNsYXJlIHBhY2thZ2Ugc3VwcG9ydCBmb3IgYnVpbGRpbmcgd2luMzIgZGxsJ3MuCi1MVF9PUFRJT05fREVGSU5FKFt3aW4zMi1kbGxdLAorTFRfT1BUSU9OX0RFRklORShbTFRfSU5JVF0sIFt3aW4zMi1kbGxdLAogW2VuYWJsZV93aW4zMl9kbGw9eWVzCiAKIGNhc2UgJGhvc3QgaW4KLSotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMyKikKKyotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMyKiB8ICotY2VnY2MqKQogICBBQ19DSEVDS19UT09MKEFTLCBhcywgZmFsc2UpCiAgIEFDX0NIRUNLX1RPT0woRExMVE9PTCwgZGxsdG9vbCwgZmFsc2UpCiAgIEFDX0NIRUNLX1RPT0woT0JKRFVNUCwgb2JqZHVtcCwgZmFsc2UpCkBAIC0xMzYsNyArMTQzLDggQEAKIF0pIyB3aW4zMi1kbGwKIAogQVVfREVGVU4oW0FDX0xJQlRPT0xfV0lOMzJfRExMXSwKLVtfTFRfU0VUX09QVElPTihbd2luMzItZGxsXSkKK1tBQ19SRVFVSVJFKFtBQ19DQU5PTklDQUxfSE9TVF0pZG5sCitfTFRfU0VUX09QVElPTihbTFRfSU5JVF0sIFt3aW4zMi1kbGxdKQogQUNfRElBR05PU0UoW29ic29sZXRlXSwKIFskMDogUmVtb3ZlIHRoaXMgd2FybmluZyBhbmQgdGhlIGNhbGwgdG8gX0xUX1NFVF9PUFRJT04gd2hlbiB5b3UKIHB1dCB0aGUgYHdpbjMyLWRsbCcgb3B0aW9uIGludG8gTFRfSU5JVCdzIGZpcnN0IHBhcmFtZXRlci5dKQpAQCAtMTc5LDE2ICsxODcsMTYgQEAKIAlbV2hldGhlciBvciBub3QgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllc10pCiBdKSMgX0xUX0VOQUJMRV9TSEFSRUQKIAotTFRfT1BUSU9OX0RFRklORShbc2hhcmVkXSwgW19MVF9FTkFCTEVfU0hBUkVEKFt5ZXNdKV0pCi1MVF9PUFRJT05fREVGSU5FKFtkaXNhYmxlLXNoYXJlZF0sIFtfTFRfRU5BQkxFX1NIQVJFRChbbm9dKV0pCitMVF9PUFRJT05fREVGSU5FKFtMVF9JTklUXSwgW3NoYXJlZF0sIFtfTFRfRU5BQkxFX1NIQVJFRChbeWVzXSldKQorTFRfT1BUSU9OX0RFRklORShbTFRfSU5JVF0sIFtkaXNhYmxlLXNoYXJlZF0sIFtfTFRfRU5BQkxFX1NIQVJFRChbbm9dKV0pCiAKICMgT2xkIG5hbWVzOgogQUNfREVGVU4oW0FDX0VOQUJMRV9TSEFSRURdLAotW19MVF9TRVRfT1BUSU9OKFtzaGFyZWRdKQorW19MVF9TRVRfT1BUSU9OKFtMVF9JTklUXSwgbTRfaWYoWyQxXSwgW25vXSwgW2Rpc2FibGUtXSlbc2hhcmVkXSkKIF0pCiAKIEFDX0RFRlVOKFtBQ19ESVNBQkxFX1NIQVJFRF0sCi1bX0xUX1NFVF9PUFRJT04oW2Rpc2FibGUtc2hhcmVkXSkKK1tfTFRfU0VUX09QVElPTihbTFRfSU5JVF0sIFtkaXNhYmxlLXNoYXJlZF0pCiBdKQogCiBBVV9ERUZVTihbQU1fRU5BQkxFX1NIQVJFRF0sIFtBQ19FTkFCTEVfU0hBUkVEKCRAKV0pCkBAIC0yMzMsMTYgKzI0MSwxNiBAQAogCVtXaGV0aGVyIG9yIG5vdCB0byBidWlsZCBzdGF0aWMgbGlicmFyaWVzXSkKIF0pIyBfTFRfRU5BQkxFX1NUQVRJQwogCi1MVF9PUFRJT05fREVGSU5FKFtzdGF0aWNdLCBbX0xUX0VOQUJMRV9TVEFUSUMoW3llc10pXSkKLUxUX09QVElPTl9ERUZJTkUoW2Rpc2FibGUtc3RhdGljXSwgW19MVF9FTkFCTEVfU1RBVElDKFtub10pXSkKK0xUX09QVElPTl9ERUZJTkUoW0xUX0lOSVRdLCBbc3RhdGljXSwgW19MVF9FTkFCTEVfU1RBVElDKFt5ZXNdKV0pCitMVF9PUFRJT05fREVGSU5FKFtMVF9JTklUXSwgW2Rpc2FibGUtc3RhdGljXSwgW19MVF9FTkFCTEVfU1RBVElDKFtub10pXSkKIAogIyBPbGQgbmFtZXM6CiBBQ19ERUZVTihbQUNfRU5BQkxFX1NUQVRJQ10sCi1bX0xUX1NFVF9PUFRJT04oW3N0YXRpY10pCitbX0xUX1NFVF9PUFRJT04oW0xUX0lOSVRdLCBtNF9pZihbJDFdLCBbbm9dLCBbZGlzYWJsZS1dKVtzdGF0aWNdKQogXSkKIAogQUNfREVGVU4oW0FDX0RJU0FCTEVfU1RBVElDXSwKLVtfTFRfU0VUX09QVElPTihbZGlzYWJsZS1zdGF0aWNdKQorW19MVF9TRVRfT1BUSU9OKFtMVF9JTklUXSwgW2Rpc2FibGUtc3RhdGljXSkKIF0pCiAKIEFVX0RFRlVOKFtBTV9FTkFCTEVfU1RBVElDXSwgW0FDX0VOQUJMRV9TVEFUSUMoJEApXSkKQEAgLTI4NywxOSArMjk1LDE5IEBACiAJIFtXaGV0aGVyIG9yIG5vdCB0byBvcHRpbWl6ZSBmb3IgZmFzdCBpbnN0YWxsYXRpb25dKWRubAogXSkjIF9MVF9FTkFCTEVfRkFTVF9JTlNUQUxMCiAKLUxUX09QVElPTl9ERUZJTkUoW2Zhc3QtaW5zdGFsbF0sIFtfTFRfRU5BQkxFX0ZBU1RfSU5TVEFMTChbeWVzXSldKQotTFRfT1BUSU9OX0RFRklORShbZGlzYWJsZS1mYXN0LWluc3RhbGxdLCBbX0xUX0VOQUJMRV9GQVNUX0lOU1RBTEwoW25vXSldKQorTFRfT1BUSU9OX0RFRklORShbTFRfSU5JVF0sIFtmYXN0LWluc3RhbGxdLCBbX0xUX0VOQUJMRV9GQVNUX0lOU1RBTEwoW3llc10pXSkKK0xUX09QVElPTl9ERUZJTkUoW0xUX0lOSVRdLCBbZGlzYWJsZS1mYXN0LWluc3RhbGxdLCBbX0xUX0VOQUJMRV9GQVNUX0lOU1RBTEwoW25vXSldKQogCiAjIE9sZCBuYW1lczoKIEFVX0RFRlVOKFtBQ19FTkFCTEVfRkFTVF9JTlNUQUxMXSwKLVtfTFRfU0VUX09QVElPTihbZmFzdC1pbnN0YWxsXSkKK1tfTFRfU0VUX09QVElPTihbTFRfSU5JVF0sIG00X2lmKFskMV0sIFtub10sIFtkaXNhYmxlLV0pW2Zhc3QtaW5zdGFsbF0pCiBBQ19ESUFHTk9TRShbb2Jzb2xldGVdLAogWyQwOiBSZW1vdmUgdGhpcyB3YXJuaW5nIGFuZCB0aGUgY2FsbCB0byBfTFRfU0VUX09QVElPTiB3aGVuIHlvdSBwdXQKIHRoZSBgZmFzdC1pbnN0YWxsJyBvcHRpb24gaW50byBMVF9JTklUJ3MgZmlyc3QgcGFyYW1ldGVyLl0pCiBdKQogCiBBVV9ERUZVTihbQUNfRElTQUJMRV9GQVNUX0lOU1RBTExdLAotW19MVF9TRVRfT1BUSU9OKFtkaXNhYmxlLWZhc3QtaW5zdGFsbF0pCitbX0xUX1NFVF9PUFRJT04oW0xUX0lOSVRdLCBbZGlzYWJsZS1mYXN0LWluc3RhbGxdKQogQUNfRElBR05PU0UoW29ic29sZXRlXSwKIFskMDogUmVtb3ZlIHRoaXMgd2FybmluZyBhbmQgdGhlIGNhbGwgdG8gX0xUX1NFVF9PUFRJT04gd2hlbiB5b3UgcHV0CiB0aGUgYGRpc2FibGUtZmFzdC1pbnN0YWxsJyBvcHRpb24gaW50byBMVF9JTklUJ3MgZmlyc3QgcGFyYW1ldGVyLl0pCkBAIC0zMjcsMTIgKzMzNSwxMiBAQAogX0xUX0RFQ0woW10sIFtwaWNfbW9kZV0sIFswXSwgW1doYXQgdHlwZSBvZiBvYmplY3RzIHRvIGJ1aWxkXSlkbmwKIF0pIyBfTFRfV0lUSF9QSUMKIAotTFRfT1BUSU9OX0RFRklORShbcGljLW9ubHldLCBbX0xUX1dJVEhfUElDKFt5ZXNdKV0pCi1MVF9PUFRJT05fREVGSU5FKFtuby1waWNdLCBbX0xUX1dJVEhfUElDKFtub10pXSkKK0xUX09QVElPTl9ERUZJTkUoW0xUX0lOSVRdLCBbcGljLW9ubHldLCBbX0xUX1dJVEhfUElDKFt5ZXNdKV0pCitMVF9PUFRJT05fREVGSU5FKFtMVF9JTklUXSwgW25vLXBpY10sIFtfTFRfV0lUSF9QSUMoW25vXSldKQogCiAjIE9sZCBuYW1lOgogQVVfREVGVU4oW0FDX0xJQlRPT0xfUElDTU9ERV0sCi1bX0xUX1NFVF9PUFRJT04oW3BpYy1vbmx5XSkKK1tfTFRfU0VUX09QVElPTihbTFRfSU5JVF0sIFtwaWMtb25seV0pCiBBQ19ESUFHTk9TRShbb2Jzb2xldGVdLAogWyQwOiBSZW1vdmUgdGhpcyB3YXJuaW5nIGFuZCB0aGUgY2FsbCB0byBfTFRfU0VUX09QVElPTiB3aGVuIHlvdQogcHV0IHRoZSBgcGljLW9ubHknIG9wdGlvbiBpbnRvIExUX0lOSVQncyBmaXJzdCBwYXJhbWV0ZXIuXSkKQEAgLTM0MCwzICszNDgsMjEgQEAKIAogZG5sIGFjbG9jYWwtMS40IGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5OgogZG5sIEFDX0RFRlVOKFtBQ19MSUJUT09MX1BJQ01PREVdLCBbXSkKKworIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKKyMjIExURExfSU5JVCBPcHRpb25zICMjCisjIyAtLS0tLS0tLS0tLS0tLS0tLSAjIworCittNF9kZWZpbmUoW19MVERMX01PREVdLCBbXSkKK0xUX09QVElPTl9ERUZJTkUoW0xURExfSU5JVF0sIFtub25yZWN1cnNpdmVdLAorCQkgW200X2RlZmluZShbX0xURExfTU9ERV0sIFtub25yZWN1cnNpdmVdKV0pCitMVF9PUFRJT05fREVGSU5FKFtMVERMX0lOSVRdLCBbcmVjdXJzaXZlXSwKKwkJIFttNF9kZWZpbmUoW19MVERMX01PREVdLCBbcmVjdXJzaXZlXSldKQorTFRfT1BUSU9OX0RFRklORShbTFRETF9JTklUXSwgW3N1YnByb2plY3RdLAorCQkgW200X2RlZmluZShbX0xURExfTU9ERV0sIFtzdWJwcm9qZWN0XSldKQorCittNF9kZWZpbmUoW19MVERMX1RZUEVdLCBbXSkKK0xUX09QVElPTl9ERUZJTkUoW0xURExfSU5JVF0sIFtpbnN0YWxsYWJsZV0sCisJCSBbbTRfZGVmaW5lKFtfTFRETF9UWVBFXSwgW2luc3RhbGxhYmxlXSldKQorTFRfT1BUSU9OX0RFRklORShbTFRETF9JTklUXSwgW2NvbnZlbmllbmNlXSwKKwkJIFttNF9kZWZpbmUoW19MVERMX1RZUEVdLCBbY29udmVuaWVuY2VdKV0pCmRpZmYgLS1naXQgYS9sdHN1Z2FyLm00IGIvbHRzdWdhci5tNAppbmRleCBkZDRmODcxLi45MDAwYTA1IDEwMDY0NAotLS0gYS9sdHN1Z2FyLm00CisrKyBiL2x0c3VnYXIubTQKQEAgLTEsMTMgKzEsMTMgQEAKICMgbHRzdWdhci5tNCAtLSBsaWJ0b29sIG00IGJhc2UgbGF5ZXIuICAgICAgICAgICAgICAgICAgICAgICAgIC0qLUF1dG9jb25mLSotCiAjCi0jIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSMgV3JpdHRlbiBieSBHYXJ5IFYuIFZhdWdoYW4uCisjIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNywgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgV3JpdHRlbiBieSBHYXJ5IFYuIFZhdWdoYW4sIDIwMDQKICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gZ2l2ZXMKICMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVkLgogCi0jIHNlcmlhbCA0IGx0c3VnYXIubTQKKyMgc2VyaWFsIDYgbHRzdWdhci5tNAogCiAjIFRoaXMgaXMgdG8gaGVscCBhY2xvY2FsIGZpbmQgdGhlc2UgbWFjcm9zLCBhcyBpdCBjYW4ndCBzZWUgbTRfZGVmaW5lLgogQUNfREVGVU4oW0xUU1VHQVJfVkVSU0lPTl0sIFttNF9pZihbMC4xXSldKQpAQCAtMTcsMTkgKzE3LDE1IEBACiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIFByb2R1Y2UgQVJHMVNFUEFSRzIuLi5TRVBBUkduLCBvbWl0dGluZyBbXSBhcmd1bWVudHMgYW5kIHRoZWlyCiAjIGFzc29jaWF0ZWQgc2VwYXJhdG9yLgorIyBOZWVkZWQgdW50aWwgd2UgY2FuIHJlbHkgb24gbTRfam9pbiBmcm9tIEF1dG9jb25mIDIuNjIsIHNpbmNlIGFsbCBlYXJsaWVyCisjIHZlcnNpb25zIGluIG00c3VnYXIgaGFkIGJ1Z3MuCiBtNF9kZWZpbmUoW2x0X2pvaW5dLAotW200X2Nhc2UoWyQjXSwKLQkgWzBdLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czogJCNdKV0sCi0JIFsxXSwgW10sCi0JIFsyXSwgW1skMl1dLAotCSBbbTRfaWZ2YWwoWyQyXSwKLQkgCSAgIFtbJDJdW11tNF9mb3JlYWNoKF9sdF9BcmcsIGx0X2NhcihbbTRfc2hpZnRuKDIsICRAKV0pLAotCSAgICAgICAgICAgICAgICAgICBbXyQwKFskMV0sIF9sdF9BcmcpXSldLAotCQkgICBbJDAoWyQxXSwgbTRfc2hpZnRuKDIsICRAKSldKV0pW11kbmwKLV0pCitbbTRfaWYoWyQjXSwgWzFdLCBbXSwKKyAgICAgICBbJCNdLCBbMl0sIFtbJDJdXSwKKyAgICAgICBbbTRfaWYoWyQyXSwgW10sIFtdLCBbWyQyXV9dKSQwKFskMV0sIG00X3NoaWZ0KG00X3NoaWZ0KCRAKSkpXSldKQogbTRfZGVmaW5lKFtfbHRfam9pbl0sCi1bbTRfaWZ2YWwoWyQyXSxbJDFdWyQyXSlbXWRubAotXSkKK1ttNF9pZihbJCMkMl0sIFsyXSwgW10sCisgICAgICAgW200X2lmKFskMl0sIFtdLCBbXSwgW1skMSQyXV0pJDAoWyQxXSwgbTRfc2hpZnQobTRfc2hpZnQoJEApKSldKV0pCiAKIAogIyBsdF9jYXIoTElTVCkKQEAgLTQ5LDExICs0NSwxMyBAQAogIyBsdF9hcHBlbmQoTUFDUk8tTkFNRSwgU1RSSU5HLCBbU0VQQVJBVE9SXSkKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIFJlZGVmaW5lIE1BQ1JPLU5BTUUgdG8gaG9sZCBpdHMgZm9ybWVyIGNvbnRlbnQgcGx1cyBgU0VQQVJBVE9SJ2BTVFJJTkcnLgotIyBOb3RlIHRoYXQgbmVpdGhlciBTRVBBUkFUT1Igbm9yIFNUUklORyBhcmUgZXhwYW5kZWQuICBObyBTRVBBUkFUT1IgaXMKLSMgb3V0cHV0IGlmIE1BQ1JPLU5BTUUgd2FzIHByZXZpb3VzbHkgdW5kZWZpbmVkIChkaWZmZXJlbnQgdGhhbiBkZWZpbmVkCi0jIGFuZCBlbXB0eSkuCisjIE5vdGUgdGhhdCBuZWl0aGVyIFNFUEFSQVRPUiBub3IgU1RSSU5HIGFyZSBleHBhbmRlZDsgdGhleSBhcmUgYXBwZW5kZWQKKyMgdG8gTUFDUk8tTkFNRSBhcyBpcyAobGVhdmluZyB0aGUgZXhwYW5zaW9uIGZvciB3aGVuIE1BQ1JPLU5BTUUgaXMgaW52b2tlZCkuCisjIE5vIFNFUEFSQVRPUiBpcyBvdXRwdXQgaWYgTUFDUk8tTkFNRSB3YXMgcHJldmlvdXNseSB1bmRlZmluZWQgKGRpZmZlcmVudAorIyB0aGFuIGRlZmluZWQgYW5kIGVtcHR5KS4KKyMKICMgVGhpcyBtYWNybyBpcyBuZWVkZWQgdW50aWwgd2UgY2FuIHJlbHkgb24gQXV0b2NvbmYgMi42Miwgc2luY2UgZWFybGllcgotIyB2ZXJzaW9ucyBvZiBtNCBtaXN0YWtlbmx5IGV4cGFuZGVkIFNFUEFSQVRPUi4KKyMgdmVyc2lvbnMgb2YgbTRzdWdhciBtaXN0YWtlbmx5IGV4cGFuZGVkIFNFUEFSQVRPUiBidXQgbm90IFNUUklORy4KIG00X2RlZmluZShbbHRfYXBwZW5kXSwKIFttNF9kZWZpbmUoWyQxXSwKIAkgICBtNF9pZmRlZihbJDFdLCBbbTRfZGVmbihbJDFdKVskM11dKVskMl0pXSkKQEAgLTY1LDE0ICs2MywxNCBAQAogIyBQcm9kdWNlIGEgU0VQIGRlbGltaXRlZCBsaXN0IG9mIGFsbCBwYWlyZWQgY29tYmluYXRpb25zIG9mIGVsZW1lbnRzIG9mCiAjIFBSRUZJWC1MSVNUIHdpdGggU1VGRklYMSB0aHJvdWdoIFNVRkZJWG4uICBFYWNoIGVsZW1lbnQgb2YgdGhlIGxpc3QKICMgaGFzIHRoZSBmb3JtIFBSRUZJWG1JTkZJWFNVRkZJWG4uCisjIE5lZWRlZCB1bnRpbCB3ZSBjYW4gcmVseSBvbiBtNF9jb21iaW5lIGFkZGVkIGluIEF1dG9jb25mIDIuNjIuCiBtNF9kZWZpbmUoW2x0X2NvbWJpbmVdLAotW200X2lmKFskMl0sIFtdLCBbXSwKLSAgW200X2lmKFskNF0sIFtdLCBbXSwKLSAgICBbbHRfam9pbihtNF9xdW90ZShtNF9kZWZhdWx0KFskMV0sIFtbLCBdXSkpLAotICAgICAgbHRfdW5xdW90ZShtNF9zcGxpdChtNF9ub3JtYWxpemUobTRfZm9yZWFjaChfTHRfcHJlZml4LCBbJDJdLAotICAgICAgIAkJICAgW200X2ZvcmVhY2goX0x0X3N1ZmZpeCwgbHRfY2FyKFttNF9zaGlmdG4oMywgJEApXSksCi0JCSAgIAkgICAgICAgW19MdF9wcmVmaXhbXSQzW11fTHRfc3VmZml4IF0pXSkpKSkpXSldKWRubAotXSkKK1ttNF9pZihtNF9ldmFsKFskIyA+IDNdKSwgWzFdLAorICAgICAgIFttNF9wdXNoZGVmKFtfTHRfc2VwXSwgW200X2RlZmluZShbX0x0X3NlcF0sIG00X2RlZm4oW2x0X2Nhcl0pKV0pXV1kbmwKK1tbbTRfZm9yZWFjaChbX0x0X3ByZWZpeF0sIFskMl0sCisJICAgICBbbTRfZm9yZWFjaChbX0x0X3N1ZmZpeF0sCisJCV1tNF9kcXVvdGUobTRfZHF1b3RlKG00X3NoaWZ0KG00X3NoaWZ0KG00X3NoaWZ0KCRAKSkpKSlbLAorCVtfTHRfc2VwKFskMV0pW11tNF9kZWZuKFtfTHRfcHJlZml4XSlbJDNdbTRfZGVmbihbX0x0X3N1ZmZpeF0pXSldKV0pXSkKIAogCiAjIGx0X2lmX2FwcGVuZF91bmlxKE1BQ1JPLU5BTUUsIFZBUk5BTUUsIFtTRVBBUkFUT1JdLCBbVU5JUV0sIFtOT1QtVU5JUV0pCkBAIC04NCwxMyArODIsMTMgQEAKIAkgIFttNF9pZihtNF9pbmRleChbJDNdbTRfZGVmbihbJDFdKVskM10sIFskMyQyJDNdKSwgWy0xXSwKIAkJIFtsdF9hcHBlbmQoWyQxXSwgWyQyXSwgWyQzXSkkNF0sCiAJCSBbJDVdKV0sCi0gICAgW2x0X2FwcGVuZChbJDFdLCBbJDJdLCBbJDNdKSQ0XSldKQorCSAgW2x0X2FwcGVuZChbJDFdLCBbJDJdLCBbJDNdKSQ0XSldKQogCiAKICMgbHRfZGljdF9hZGQoRElDVCwgS0VZLCBWQUxVRSkKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIG00X2RlZmluZShbbHRfZGljdF9hZGRdLAotW200X2RlZmluZShbJDEoJDIpXSwgWyQ0XSldKQorW200X2RlZmluZShbJDEoJDIpXSwgWyQzXSldKQogCiAKICMgbHRfZGljdF9hZGRfc3Via2V5KERJQ1QsIEtFWSwgU1VCS0VZLCBWQUxVRSkKZGlmZiAtLWdpdCBhL2x0dmVyc2lvbi5tNCBiL2x0dmVyc2lvbi5tNAppbmRleCA3YzgyZWFjLi5iOGUxNTRmIDEwMDY0NAotLS0gYS9sdHZlcnNpb24ubTQKKysrIGIvbHR2ZXJzaW9uLm00CkBAIC0xLDIzICsxLDIzIEBACiAjIGx0dmVyc2lvbi5tNCAtLSB2ZXJzaW9uIG51bWJlcnMJCQktKi0gQXV0b2NvbmYgLSotCiAjCi0jIENvcHlyaWdodCAoQykgMjAwNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSMgV3JpdHRlbiBieSBTY290dCBKYW1lcyBSZW1uYW50LgorIyAgIENvcHlyaWdodCAoQykgMjAwNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgICBXcml0dGVuIGJ5IFNjb3R0IEphbWVzIFJlbW5hbnQsIDIwMDQKICMKLSMjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGdpdmVzCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGdpdmVzCiAjIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KIAotIyBHZW5lcmF0ZWQgZnJvbSBsdHZlcnNpb24uaW47IGRvIG5vdCBlZGl0IGJ5IGhhbmQKKyMgR2VuZXJhdGVkIGZyb20gbHR2ZXJzaW9uLmluLgogCi0jIHNlcmlhbCAyNDM1IGx0dmVyc2lvbi5tNAorIyBzZXJpYWwgMzAxMiBsdHZlcnNpb24ubTQKICMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIExpYnRvb2wKIAotbTRfZGVmaW5lKFtMVF9QQUNLQUdFX1ZFUlNJT05dLCBbMi4xYV0pCi1tNF9kZWZpbmUoW0xUX1BBQ0tBR0VfUkVWSVNJT05dLCBbMS4yNDM1XSkKK200X2RlZmluZShbTFRfUEFDS0FHRV9WRVJTSU9OXSwgWzIuMi42XSkKK200X2RlZmluZShbTFRfUEFDS0FHRV9SRVZJU0lPTl0sIFsxLjMwMTJdKQogCiBBQ19ERUZVTihbTFRWRVJTSU9OX1ZFUlNJT05dLAotW21hY3JvX3ZlcnNpb249JzIuMWEnCi1tYWNyb19yZXZpc2lvbj0nMS4yNDM1JworW21hY3JvX3ZlcnNpb249JzIuMi42JworbWFjcm9fcmV2aXNpb249JzEuMzAxMicKIF9MVF9ERUNMKCwgbWFjcm9fdmVyc2lvbiwgMCwgW1doaWNoIHJlbGVhc2Ugb2YgbGlidG9vbC5tNCB3YXMgdXNlZD9dKQogX0xUX0RFQ0woLCBtYWNyb19yZXZpc2lvbiwgMCkKIF0pCmRpZmYgLS1naXQgYS9sdH5vYnNvbGV0ZS5tNCBiL2x0fm9ic29sZXRlLm00CmluZGV4IDc0ZjU3NDYuLjYzN2JiMjAgMTAwNjQ0Ci0tLSBhL2x0fm9ic29sZXRlLm00CisrKyBiL2x0fm9ic29sZXRlLm00CkBAIC0xLDEzICsxLDEzIEBACiAjIGx0fm9ic29sZXRlLm00IC0tIGFjbG9jYWwgc2F0aXNmeWluZyBvYnNvbGV0ZSBkZWZpbml0aW9ucy4gICAgLSotQXV0b2NvbmYtKi0KICMKLSMgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotIyBXcml0dGVuIGJ5IFNjb3R0IEphbWVzIFJlbW5hbnQuCisjICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyAgIFdyaXR0ZW4gYnkgU2NvdHQgSmFtZXMgUmVtbmFudCwgMjAwNC4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gZ2l2ZXMKICMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVkLgogCi0jIHNlcmlhbCAyCisjIHNlcmlhbCA0IGx0fm9ic29sZXRlLm00CiAKICMgVGhlc2UgZXhpc3QgZW50aXJlbHkgdG8gZm9vbCBhY2xvY2FsIHdoZW4gYm9vdHN0cmFwcGluZyBsaWJ0b29sLgogIwpAQCAtMzIsNiArMzIsOSBAQAogIyB3ZSBnaXZlIHVwIGNvbXBhdGliaWxpdHkgd2l0aCB2ZXJzaW9ucyBiZWZvcmUgMS43LCBhdCB3aGljaCBwb2ludAogIyB3ZSBuZWVkIHRvIGtlZXAgb25seSB0aG9zZSBuYW1lcyB3aGljaCB3ZSBzdGlsbCByZWZlciB0by4KIAorIyBUaGlzIGlzIHRvIGhlbHAgYWNsb2NhbCBmaW5kIHRoZXNlIG1hY3JvcywgYXMgaXQgY2FuJ3Qgc2VlIG00X2RlZmluZS4KK0FDX0RFRlVOKFtMVE9CU09MRVRFX1ZFUlNJT05dLCBbbTRfaWYoWzFdKV0pCisKIG00X2lmbmRlZihbQUNfTElCVE9PTF9MSU5LRVJfT1BUSU9OXSwJW0FDX0RFRlVOKFtBQ19MSUJUT09MX0xJTktFUl9PUFRJT05dKV0pCiBtNF9pZm5kZWYoW0FDX1BST0dfRUdSRVBdLAkJW0FDX0RFRlVOKFtBQ19QUk9HX0VHUkVQXSldKQogbTRfaWZuZGVmKFtfTFRfQUNfUFJPR19FQ0hPX0JBQ0tTTEFTSF0sCVtBQ19ERUZVTihbX0xUX0FDX1BST0dfRUNIT19CQUNLU0xBU0hdKV0pCmRpZmYgLS1naXQgYS9vcGNvZGVzL0NoYW5nZUxvZyBiL29wY29kZXMvQ2hhbmdlTG9nCmluZGV4IDQ3NDY5NTUuLmIyZDhhMzYgMTAwNjQ0Ci0tLSBhL29wY29kZXMvQ2hhbmdlTG9nCisrKyBiL29wY29kZXMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzAgQEAKKzIwMDgtMTAtMjIgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CisKKwlQUiA2OTM3CisJKiBjb25maWd1cmUuaW4gKFNIQVJFRF9MSUJBREQpOiBSZXZlcnQgcHJldmlvdXMgY2hhbmdlLgorCUFkZCBhIGNvbW1lbnQgZXhwbGFpbmluZyB3aHkuCisJKFNIQVJFRF9ERVBFTkRFTkNJRVMpOiBSZXZlcnQgcHJldmlvdXMgY2hhbmdlLgorCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgorCisyMDA4LTEwLTEwICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgorCisJUFIgNjkzNworCSogY29uZmlndXJlLmluIChTSEFSRURfTElCQUREKTogQWRkIGxpYmliZXJ0eS5hLgorCShTSEFSRURfREVQRU5ERU5DSUVTKTogQWRkIGxpYmliZXJ0eS5hLgorCisyMDA4LTA5LTMwICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CisKKwkqIGkzODYtZ2VuLmM6IEluY2x1ZGUgImhhc2h0YWIuaCIuCisJKG5leHRfZmllbGQpOiBUYWtlIGEgbmV3IGFyZ3VtZW50LCBsYXN0LiAgQ2hlY2sgbGFzdC4KKwkocHJvY2Vzc19pMzg2X2NwdV9mbGFnKTogVXBkYXRlZC4KKwkocHJvY2Vzc19pMzg2X29wY29kZV9tb2RpZmllcik6IExpa2V3aXNlLgorCShwcm9jZXNzX2kzODZfb3BlcmFuZF90eXBlKTogTGlrZXdpc2UuCisJKHByb2Nlc3NfaTM4Nl9yZWdpc3RlcnMpOiBMaWtld2lzZS4KKwkob3V0cHV0X2kzODZfb3Bjb2RlKTogTmV3LgorCShvcGNvZGVfaGFzaF9lbnRyeSk6IExpa2V3aXNlLgorCShvcGNvZGVfaGFzaF90YWJsZSk6IExpa2V3aXNlLgorCShvcGNvZGVfaGFzaF9oYXNoKTogTGlrZXdpc2UuCisJKG9wY29kZV9oYXNoX2VxKTogTGlrZXdpc2UuCisJKHByb2Nlc3NfaTM4Nl9vcGNvZGVzKTogVXNlIG9wY29kZSBoYXNoIHRhYmxlIGFuZCBvcGNvZGUgYXJyYXkuCisKKzIwMDgtMDktMzAgIEFuZHJlYXMgS3JlYmJlbCAgPEFuZHJlYXMuS3JlYmJlbEBkZS5pYm0uY29tPgorCisJKiBzMzkwLW9wYy50eHQgKHN0ZHksIHN0ZXkpOiBGaXggZGVzY3JpcHRpb24KKworMjAwOC0wOS0zMCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KKworCSogTWFrZWZpbGUuYW06IFJ1biAibWFrZSBkZXAtYW0iLgorCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCisKKzIwMDgtMDktMjkgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KKworCSogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZWQuCisJKiBjb25maWd1cmU6IExpa2V3aXNlLgorCSogTWFrZWZpbGUuaW46IExpa2V3aXNlLgorCisyMDA4LTA5LTI5ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgorCisJKiBwby92aS5wbzogVXBkYXRlZCBWaWV0bmFtZXNlIHRyYW5zbGF0aW9uLgorCSogcG8vZnIucG86IFVwZGF0ZWQgRnJlbmNoIHRyYW5zbGF0aW9uLgorCisyMDA4LTA5LTI2ICBGbG9yaWFuIEtyb2htICA8Zmtyb2htQHVzLmlibS5jb20+CisKKwkqIHMzOTAtb3BjLnR4dCAodGhkZXIsIHRoZHIpOiBDaGFuZ2UgUlJFX1JSIHRvIFJSRV9GRi4KKwkoY2Z4ciwgY2ZkciwgY2ZlciwgY2xjbHUpOiBBZGQgZXNhIGZsYWcuCisJKHNxZCk6IEluc3RydWN0aW9uIGFkZGVkLgorCShxYWR0ciwgcWF4dHIpOiBDaGFuZ2UgUlJGX0ZGRlUgdG8gUlJGX0ZVRkYuCisJKiBzMzkwLW9wYy5jOiAoSU5TVFJfUlJGX0ZGRlUsIE1BU0tfUlJGX0ZGRlUpOiBSZW1vdmVkLgorCisyMDA4LTA5LTE0ICBBcm5vbGQgTWV0c2VsYWFyICA8YXJub2xkLm1ldHNlbGFhckBwbGFuZXQubmw+CisKKwkqIHo4MC1kaXMuYyAocHJ0X3JyX25uKTogRml4IHJlZ2lzdGVyIHBhaXIgZm9yIHR3byBieXRlIG9wY29kZXMuCisJKHRhYl9lbHQgb3BjX2VkKTogQWRkICJsZCByLGEiIGFuZCAibGQgcixhIiBpbnN0cnVjdGlvbnMuCisKKzIwMDgtMDktMTEgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KKworCSogaTM4Ni1vcGMudGJsOiBGaXggbWVtb3J5IG9wZXJhbmQgc2l6ZSBmb3IgY21wWFhYc1tzZF0uCisJKiBpMzg2LXRibC5oOiBSZWdlbmVyYXRlZC4KKwogMjAwOC0wOC0yOCAgSmFuIEJldWxpY2ggIDxqYmV1bGljaEBub3ZlbGwuY29tPgogCiAJKiBpMzg2LWRpcy5jIChkaXMzODYpOiBBZGp1c3QgZmFyIHJldHVybiBtbmVtb25pY3MuCmRpZmYgLS1naXQgYS9vcGNvZGVzL01ha2VmaWxlLmFtIGIvb3Bjb2Rlcy9NYWtlZmlsZS5hbQppbmRleCA0ZTU0MDAwLi5iMDNhNWQzIDEwMDY0NAotLS0gYS9vcGNvZGVzL01ha2VmaWxlLmFtCisrKyBiL29wY29kZXMvTWFrZWZpbGUuYW0KQEAgLTY1MiwxNjQgKzY1MiwxNDMgQEAKICMgRE8gTk9UIERFTEVURSBUSElTIExJTkUgLS0gbWtkZXAgdXNlcyBpdC4KICMgRE8gTk9UIFBVVCBBTllUSElORyBBRlRFUiBUSElTIExJTkUsIElUIFdJTEwgR08gQVdBWS4KIGFscGhhLWRpcy5sbzogYWxwaGEtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvYWxwaGEuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2FscGhhLmgKIGFscGhhLW9wYy5sbzogYWxwaGEtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2FscGhhLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvc3ltY2F0Lmggb3BpbnRsLmgKKyAgJChJTkNESVIpL29wY29kZS9hbHBoYS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBcCisgIG9waW50bC5oCiBhcmMtZGlzLmxvOiBhcmMtZGlzLmMgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2FyYy5oICQoQkZERElSKS9lbGYtYmZkLmggXAotICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAotICAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9lbGYvYXJjLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBcCi0gIG9waW50bC5oIGFyYy1kaXMuaCBhcmMtZXh0LmgKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2FyYy5oICQoQkZERElSKS9lbGYtYmZkLmggJChJTkNESVIpL2VsZi9jb21tb24uaCBcCisgICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggJChJTkNESVIpL2JmZGxpbmsuaCBcCisgICQoSU5DRElSKS9lbGYvYXJjLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBvcGludGwuaCBcCisgIGFyYy1kaXMuaCBhcmMtZXh0LmgKIGFyYy1vcGMubG86IGFyYy1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2FyYy5oIFwKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvYXJjLmggXAogICBvcGludGwuaAogYXJjLWV4dC5sbzogYXJjLWV4dC5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIGFyYy1leHQuaCBcCi0gICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggYXJjLWV4dC5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCisgICQoSU5DRElSKS9hbnNpZGVjbC5oCiBhcm0tZGlzLmxvOiBhcm0tZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvYXJtLmggb3BpbnRsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gICQoSU5DRElSKS9mbG9hdGZvcm1hdC5oICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9jb2ZmL2ludGVybmFsLmggXAotICAkKEJGRERJUikvbGliY29mZi5oICQoSU5DRElSKS9iZmRsaW5rLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCi0gICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCi0gICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2FybS5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9hcm0uaCBcCisgIG9waW50bC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggJChJTkNESVIpL2Zsb2F0Zm9ybWF0LmggXAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oICQoQkZERElSKS9saWJjb2ZmLmggXAorICAkKElOQ0RJUikvYmZkbGluay5oICQoQkZERElSKS9lbGYtYmZkLmggJChJTkNESVIpL2VsZi9jb21tb24uaCBcCisgICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggJChJTkNESVIpL2VsZi9hcm0uaCBcCisgICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKIGF2ci1kaXMubG86IGF2ci1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9hdnIuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBvcGludGwuaCBcCisgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvb3Bjb2RlL2F2ci5oCiBiZmluLWRpcy5sbzogYmZpbi1kaXMuYyAkKElOQ0RJUikvb3Bjb2RlL2JmaW4uaCAkKElOQ0RJUikvZGlzLWFzbS5oIFwKICAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oCiBjZ2VuLWFzbS5sbzogY2dlbi1hc20uYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAotICBvcGludGwuaAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0Lmggb3BpbnRsLmgKIGNnZW4tYml0c2V0LmxvOiBjZ2VuLWJpdHNldC5jICQoSU5DRElSKS9saWJpYmVydHkuaCBcCiAgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaAogY2dlbi1kaXMubG86IGNnZW4tZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChCRkRfSCkgXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaAorICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oCiBjZ2VuLW9wYy5sbzogY2dlbi1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmgKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oCiBjcjE2LWRpcy5sbzogY3IxNi1kaXMuYyAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpIFwKICAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIHN5c2RlcC5oIGNvbmZpZy5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL29wY29kZS9jcjE2LmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmgKKyAgJChJTkNESVIpL29wY29kZS9jcjE2LmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oCiBjcjE2LW9wYy5sbzogY3IxNi1vcGMuYyAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jcjE2LmgKIGNyaXMtZGlzLmxvOiBjcmlzLWRpcy5jICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgXAogICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0Lmggc3lzZGVwLmggY29uZmlnLmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvb3Bjb2RlL2NyaXMuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaAorICAkKElOQ0RJUikvb3Bjb2RlL2NyaXMuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmgKIGNyaXMtb3BjLmxvOiBjcmlzLW9wYy5jICQoSU5DRElSKS9vcGNvZGUvY3Jpcy5oCiBjcngtZGlzLmxvOiBjcngtZGlzLmMgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSBcCiAgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBzeXNkZXAuaCBjb25maWcuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9vcGNvZGUvY3J4LmgKKyAgJChJTkNESVIpL29wY29kZS9jcnguaAogY3J4LW9wYy5sbzogY3J4LW9wYy5jICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NyeC5oCiBkMTB2LWRpcy5sbzogZDEwdi1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvZDEwdi5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmgKKyAgJChJTkNESVIpL3N5bWNhdC5oCiBkMTB2LW9wYy5sbzogZDEwdi1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvZDEwdi5oCiBkMzB2LWRpcy5sbzogZDMwdi1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvZDMwdi5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0Lmggb3BpbnRsLmgKKyAgJChJTkNESVIpL3N5bWNhdC5oIG9waW50bC5oCiBkMzB2LW9wYy5sbzogZDMwdi1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvZDMwdi5oCiBkbHgtZGlzLmxvOiBkbHgtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvZGx4LmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9kbHguaAogZGlzLWJ1Zi5sbzogZGlzLWJ1Zi5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBvcGludGwuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBvcGludGwuaAogZGlzLWluaXQubG86IGRpcy1pbml0LmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoQkZEX0gpCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oCiBkaXNhc3NlbWJsZS5sbzogZGlzYXNzZW1ibGUuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oCiBmcjMwLWFzbS5sbzogZnIzMC1hc20uYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBmcjMwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGZyMzAtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBmcjMwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBmcjMwLW9wYy5oIG9waW50bC5oICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oIFwKKyAgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKIGZyMzAtZGVzYy5sbzogZnIzMC1kZXNjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgZnIzMC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBmcjMwLW9wYy5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIGZyMzAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIGZyMzAtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmgKIGZyMzAtZGlzLmxvOiBmcjMwLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgZnIzMC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBmcjMwLW9wYy5oIFwKLSAgb3BpbnRsLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggZnIzMC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgZnIzMC1vcGMuaCBvcGludGwuaAogZnIzMC1pYmxkLmxvOiBmcjMwLWlibGQuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIGZyMzAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAotICBmcjMwLW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggZnIzMC1kZXNjLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggZnIzMC1vcGMuaCBvcGludGwuaCBcCisgICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKIGZyMzAtb3BjLmxvOiBmcjMwLW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIGZyMzAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggZnIzMC1vcGMuaCBcCi0gICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggZnIzMC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgZnIzMC1vcGMuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmgKIGZydi1hc20ubG86IGZydi1hc20uYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBmcnYtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggZnJ2LW9wYy5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggZnJ2LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBmcnYtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmggXAorICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAogZnJ2LWRlc2MubG86IGZydi1kZXNjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgZnJ2LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGZydi1vcGMuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBmcnYtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIGZydi1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaAogZnJ2LWRpcy5sbzogZnJ2LWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgZnJ2LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGZydi1vcGMuaCBcCi0gIG9waW50bC5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCisgICQoSU5DRElSKS9hbnNpZGVjbC5oIGZydi1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgZnJ2LW9wYy5oIG9waW50bC5oCiBmcnYtaWJsZC5sbzogZnJ2LWlibGQuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIGZydi1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCi0gIGZydi1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIGZydi1kZXNjLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggZnJ2LW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKIGZydi1vcGMubG86IGZydi1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBmcnYtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggZnJ2LW9wYy5oIFwKLSAgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9lbGYvZnJ2LmggXAotICAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBmcnYtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIGZydi1vcGMuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKElOQ0RJUikvZWxmL2Zydi5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKIGg4MzAwLWRpcy5sbzogaDgzMDAtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2g4MzAwLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaAorICAkKElOQ0RJUikvc3ltY2F0Lmggb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oCiBoODUwMC1kaXMubG86IGg4NTAwLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgaDg1MDAtb3BjLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCBvcGludGwuaAorICBoODUwMC1vcGMuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBcCisgIG9waW50bC5oCiBocHBhLWRpcy5sbzogaHBwYS1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRESVIpL2xpYmhwcGEuaCAkKElOQ0RJUikvb3Bjb2RlL2hwcGEuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKEJGRERJUikvbGliaHBwYS5oIFwKKyAgJChJTkNESVIpL29wY29kZS9ocHBhLmgKIGkzNzAtZGlzLmxvOiBpMzcwLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2kzNzAuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2kzNzAuaAogaTM3MC1vcGMubG86IGkzNzAtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2kzNzAuaAogaTM4Ni1kaXMubG86IGkzODYtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS9vcGNvZGUvaTM4Ni5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG9waW50bC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9pMzg2LmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oCiBpMzg2LW9wYy5sbzogaTM4Ni1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBpMzg2LW9wYy5oIFwKICAgJChJTkNESVIpL29wY29kZS9pMzg2LmggaTM4Ni10YmwuaApAQCAtODE5LDEwICs3OTgsOSBAQAogaTg2MC1kaXMubG86IGk4NjAtZGlzLmMgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSBcCiAgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2k4NjAuaAogaTk2MC1kaXMubG86IGk5NjAtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaAogaWE2NC1kaXMubG86IGlhNjQtZGlzLmMgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2lhNjQuaCBcCi0gICQoQkZEX0gpCisgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2lhNjQuaAogaWE2NC1vcGMtYS5sbzogaWE2NC1vcGMtYS5jIGlhNjQtb3BjLmggJChJTkNESVIpL29wY29kZS9pYTY0LmggXAogICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmgKIGlhNjQtb3BjLWIubG86IGlhNjQtb3BjLWIuYyBpYTY0LW9wYy5oICQoSU5DRElSKS9vcGNvZGUvaWE2NC5oIFwKQEAgLTgzNiw0MjMgKzgxNCwzNzIgQEAKIGlhNjQtb3BjLWQubG86IGlhNjQtb3BjLWQuYwogaWE2NC1vcGMubG86IGlhNjQtb3BjLmMgJChJTkNESVIpL2Fuc2lkZWNsLmggc3lzZGVwLmggXAogICBjb25maWcuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICBpYTY0LWFzbXRhYi5oICQoSU5DRElSKS9vcGNvZGUvaWE2NC5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oIGlhNjQtYXNtdGFiLmMKKyAgaWE2NC1hc210YWIuaCAkKElOQ0RJUikvb3Bjb2RlL2lhNjQuaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggXAorICBpYTY0LWFzbXRhYi5jCiBpYTY0LWdlbi5sbzogaWE2NC1nZW4uYyAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAogICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oIHN5c2RlcC5oIFwKICAgY29uZmlnLmggJChJTkNESVIpL2dldG9wdC5oIGlhNjQtb3BjLmggJChJTkNESVIpL29wY29kZS9pYTY0LmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggaWE2NC1vcGMtYS5jIFwKLSAgaWE2NC1vcGMtaS5jIGlhNjQtb3BjLW0uYyBpYTY0LW9wYy1iLmMgaWE2NC1vcGMtZi5jIFwKLSAgaWE2NC1vcGMteC5jIGlhNjQtb3BjLWQuYworICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggaWE2NC1vcGMtYS5jIGlhNjQtb3BjLWkuYyBcCisgIGlhNjQtb3BjLW0uYyBpYTY0LW9wYy1iLmMgaWE2NC1vcGMtZi5jIGlhNjQtb3BjLXguYyBcCisgIGlhNjQtb3BjLWQuYwogaWE2NC1hc210YWIubG86IGlhNjQtYXNtdGFiLmMKIGlwMmstYXNtLmxvOiBpcDJrLWFzbS5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIGlwMmstZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggaXAyay1vcGMuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIGlwMmstZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIGlwMmstb3BjLmggb3BpbnRsLmggJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmggXAorICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAogaXAyay1kZXNjLmxvOiBpcDJrLWRlc2MuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBpcDJrLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGlwMmstb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggaXAyay1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgaXAyay1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaAogaXAyay1kaXMubG86IGlwMmstZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICBpcDJrLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGlwMmstb3BjLmggXAotICBvcGludGwuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCBpcDJrLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBpcDJrLW9wYy5oIG9waW50bC5oCiBpcDJrLWlibGQubG86IGlwMmstaWJsZC5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggaXAyay1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCi0gIGlwMmstb3BjLmggb3BpbnRsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBpcDJrLWRlc2MuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBpcDJrLW9wYy5oIG9waW50bC5oIFwKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaAogaXAyay1vcGMubG86IGlwMmstb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgaXAyay1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBpcDJrLW9wYy5oIFwKLSAgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIGlwMmstZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIGlwMmstb3BjLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaAogaXEyMDAwLWFzbS5sbzogaXEyMDAwLWFzbS5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIGlxMjAwMC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBpcTIwMDAtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBpcTIwMDAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIGlxMjAwMC1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCBcCisgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCiBpcTIwMDAtZGVzYy5sbzogaXEyMDAwLWRlc2MuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBpcTIwMDAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggaXEyMDAwLW9wYy5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIGlxMjAwMC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgaXEyMDAwLW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oCiBpcTIwMDAtZGlzLmxvOiBpcTIwMDAtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICBpcTIwMDAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggaXEyMDAwLW9wYy5oIFwKLSAgb3BpbnRsLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggaXEyMDAwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBpcTIwMDAtb3BjLmggb3BpbnRsLmgKIGlxMjAwMC1pYmxkLmxvOiBpcTIwMDAtaWJsZC5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggaXEyMDAwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgaXEyMDAwLW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggaXEyMDAwLWRlc2MuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBpcTIwMDAtb3BjLmggb3BpbnRsLmggXAorICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCiBpcTIwMDAtb3BjLmxvOiBpcTIwMDAtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgaXEyMDAwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGlxMjAwMC1vcGMuaCBcCi0gICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggaXEyMDAwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBpcTIwMDAtb3BjLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oCiBtMzJjLWFzbS5sbzogbTMyYy1hc20uYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBtMzJjLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG0zMmMtb3BjLmggXAotICBjZ2VuLXR5cGVzLmggLi4vYmZkL2JmZF9zdGRpbnQuaCBjZ2VuLW9wcy5oIG9waW50bC5oIFwKLSAgJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAotbTMyYy1kZXNjLmxvOiBtMzJjLWRlc2MuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBtMzJjLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG0zMmMtb3BjLmggXAotICBjZ2VuLXR5cGVzLmggLi4vYmZkL2JmZF9zdGRpbnQuaCBjZ2VuLW9wcy5oIG9waW50bC5oIFwKLSAgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS94cmVnZXguaCBcCi0gICQoSU5DRElSKS94cmVnZXgyLmgKLW0zMmMtZGlzLmxvOiBtMzJjLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgbTMyYy1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBtMzJjLW9wYy5oIFwKLSAgY2dlbi10eXBlcy5oIC4uL2JmZC9iZmRfc3RkaW50LmggY2dlbi1vcHMuaCBvcGludGwuaCBcCi0gICQoSU5DRElSKS9lbGYvbTMyYy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChCRkRESVIpL2VsZi1iZmQuaCBcCi0gICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCBcCi0gICQoSU5DRElSKS9iZmRsaW5rLmgKLW0zMmMtaWJsZC5sbzogbTMyYy1pYmxkLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCiAgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBtMzJjLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKICAgbTMyYy1vcGMuaCBjZ2VuLXR5cGVzLmggLi4vYmZkL2JmZF9zdGRpbnQuaCBjZ2VuLW9wcy5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAotbTMyYy1vcGMubG86IG0zMmMtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgbTMyYy1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBtMzJjLW9wYy5oIFwKLSAgY2dlbi10eXBlcy5oIC4uL2JmZC9iZmRfc3RkaW50LmggY2dlbi1vcHMuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaAotbTMyci1hc20ubG86IG0zMnItYXNtLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgbTMyci1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBtMzJyLW9wYy5oIFwKICAgb3BpbnRsLmggJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKICAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAotbTMyci1kZXNjLmxvOiBtMzJyLWRlc2MuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBtMzJyLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG0zMnItb3BjLmggXAorbTMyYy1kZXNjLmxvOiBtMzJjLWRlc2MuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBtMzJjLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBtMzJjLW9wYy5oIGNnZW4tdHlwZXMuaCAuLi9iZmQvYmZkX3N0ZGludC5oIGNnZW4tb3BzLmggXAogICBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaAotbTMyci1kaXMubG86IG0zMnItZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICBtMzJyLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG0zMnItb3BjLmggXAotICBvcGludGwuaAotbTMyci1pYmxkLmxvOiBtMzJyLWlibGQuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG0zMnItZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAotICBtMzJyLW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKLW0zMnItb3BjLmxvOiBtMzJyLW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIG0zMnItZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbTMyci1vcGMuaCBcCittMzJjLWRpcy5sbzogbTMyYy1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCisgICQoSU5DRElSKS9hbnNpZGVjbC5oIG0zMmMtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIG0zMmMtb3BjLmggY2dlbi10eXBlcy5oIC4uL2JmZC9iZmRfc3RkaW50LmggY2dlbi1vcHMuaCBcCisgIG9waW50bC5oICQoSU5DRElSKS9lbGYvbTMyYy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggXAorICAkKEJGRERJUikvZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oIFwKKyAgJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oICQoSU5DRElSKS9iZmRsaW5rLmgKK20zMmMtaWJsZC5sbzogbTMyYy1pYmxkLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBtMzJjLWRlc2MuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBtMzJjLW9wYy5oIGNnZW4tdHlwZXMuaCBcCisgIC4uL2JmZC9iZmRfc3RkaW50LmggY2dlbi1vcHMuaCBvcGludGwuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCittMzJjLW9wYy5sbzogbTMyYy1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBtMzJjLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBtMzJjLW9wYy5oIGNnZW4tdHlwZXMuaCAuLi9iZmQvYmZkX3N0ZGludC5oIGNnZW4tb3BzLmggXAogICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmgKK20zMnItYXNtLmxvOiBtMzJyLWFzbS5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG0zMnItZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIG0zMnItb3BjLmggb3BpbnRsLmggJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmggXAorICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAorbTMyci1kZXNjLmxvOiBtMzJyLWRlc2MuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBtMzJyLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBtMzJyLW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oCittMzJyLWRpcy5sbzogbTMyci1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCisgICQoSU5DRElSKS9hbnNpZGVjbC5oIG0zMnItZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIG0zMnItb3BjLmggb3BpbnRsLmgKK20zMnItaWJsZC5sbzogbTMyci1pYmxkLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBtMzJyLWRlc2MuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBtMzJyLW9wYy5oIG9waW50bC5oIFwKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaAorbTMyci1vcGMubG86IG0zMnItb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggbTMyci1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgbTMyci1vcGMuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmgKIG0zMnItb3BpbnN0LmxvOiBtMzJyLW9waW5zdC5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIG0zMnItZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbTMyci1vcGMuaAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggbTMyci1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgbTMyci1vcGMuaAogbTY4aGMxMS1kaXMubG86IG02OGhjMTEtZGlzLmMgJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL202OGhjMTEuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oCisgICQoSU5DRElSKS9zeW1jYXQuaAogbTY4aGMxMS1vcGMubG86IG02OGhjMTEtb3BjLmMgJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL202OGhjMTEuaAogbTY4ay1kaXMubG86IG02OGstZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoSU5DRElSKS9mbG9hdGZvcm1hdC5oICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS9vcGNvZGUvbTY4ay5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9mbG9hdGZvcm1hdC5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIG9waW50bC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9tNjhrLmgKIG02OGstb3BjLmxvOiBtNjhrLW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL29wY29kZS9tNjhrLmgKIG04OGstZGlzLmxvOiBtODhrLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL204OGsuaCBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL204OGsuaCBcCisgIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaAogbWF4cS1kaXMubG86IG1heHEtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvbWF4cS5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvbWF4cS5oCiBtY29yZS1kaXMubG86IG1jb3JlLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgbWNvcmUtb3BjLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaAorICBtY29yZS1vcGMuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaAogbWVwLWFzbS5sbzogbWVwLWFzbS5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIG1lcC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBtZXAtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBtZXAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIG1lcC1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCBcCisgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCiBtZXAtZGVzYy5sbzogbWVwLWRlc2MuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBtZXAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbWVwLW9wYy5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG1lcC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgbWVwLW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oCiBtZXAtZGlzLmxvOiBtZXAtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICBtZXAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbWVwLW9wYy5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL2VsZi9tZXAuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggbWVwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBtZXAtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL2VsZi9tZXAuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oIFwKICAgJChCRkRESVIpL2VsZi1iZmQuaCAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCBcCiAgICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCAkKElOQ0RJUikvYmZkbGluay5oCiBtZXAtaWJsZC5sbzogbWVwLWlibGQuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG1lcC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCi0gIG1lcC1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG1lcC1kZXNjLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbWVwLW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKIG1lcC1vcGMubG86IG1lcC1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBtZXAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbWVwLW9wYy5oIFwKLSAgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9lbGYvbWVwLmggXAotICAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBtZXAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIG1lcC1vcGMuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKElOQ0RJUikvZWxmL21lcC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKIG1pcHMtZGlzLmxvOiBtaXBzLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL29wY29kZS9taXBzLmggXAotICBvcGludGwuaCAkKEJGRERJUikvZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggXAotICAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oICQoSU5DRElSKS9iZmRsaW5rLmggXAotICAkKElOQ0RJUikvZWxmL21pcHMuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCisgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9vcGNvZGUvbWlwcy5oIG9waW50bC5oIFwKKyAgJChCRkRESVIpL2VsZi1iZmQuaCAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCBcCisgICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9lbGYvbWlwcy5oIFwKKyAgJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaAogbWlwcy1vcGMubG86IG1pcHMtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL21pcHMuaAogbWlwczE2LW9wYy5sbzogbWlwczE2LW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL29wY29kZS9taXBzLmgKIG0xMDIwMC1kaXMubG86IG0xMDIwMC1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvbW4xMDIwMC5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0Lmggb3BpbnRsLmgKKyAgJChJTkNESVIpL3N5bWNhdC5oIG9waW50bC5oCiBtMTAyMDAtb3BjLmxvOiBtMTAyMDAtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL21uMTAyMDAuaAogbTEwMzAwLWRpcy5sbzogbTEwMzAwLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL29wY29kZS9tbjEwMzAwLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBvcGludGwuaAorICAkKElOQ0RJUikvc3ltY2F0Lmggb3BpbnRsLmgKIG0xMDMwMC1vcGMubG86IG0xMDMwMC1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvbW4xMDMwMC5oCiBtbWl4LWRpcy5sbzogbW1peC1kaXMuYyAkKElOQ0RJUikvb3Bjb2RlL21taXguaCAkKElOQ0RJUikvZGlzLWFzbS5oIFwKICAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoQkZEX0gpIG9waW50bC5oCisgICQoSU5DRElSKS9hbnNpZGVjbC5oIG9waW50bC5oCiBtbWl4LW9wYy5sbzogbW1peC1vcGMuYyAkKElOQ0RJUikvb3Bjb2RlL21taXguaCAkKElOQ0RJUikvc3ltY2F0LmgKIG10LWFzbS5sbzogbXQtYXNtLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgbXQtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbXQtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBtdC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgbXQtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmggXAorICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAogbXQtZGVzYy5sbzogbXQtZGVzYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIG10LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG10LW9wYy5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG10LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBtdC1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaAogbXQtZGlzLmxvOiBtdC1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gIG10LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG10LW9wYy5oIFwKLSAgb3BpbnRsLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggbXQtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIG10LW9wYy5oIG9waW50bC5oCiBtdC1pYmxkLmxvOiBtdC1pYmxkLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBtdC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCi0gIG10LW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggbXQtZGVzYy5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG10LW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKIG10LW9wYy5sbzogbXQtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgbXQtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbXQtb3BjLmggXAotICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggbXQtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIG10LW9wYy5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKIG5zMzJrLWRpcy5sbzogbnMzMmstZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2Rpcy1hc20uaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9vcGNvZGUvbnMzMmsuaCBvcGludGwuaAotb3BlbnJpc2MtYXNtLmxvOiBvcGVucmlzYy1hc20uYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBvcGVucmlzYy1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBvcGVucmlzYy1vcGMuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKLW9wZW5yaXNjLWRlc2MubG86IG9wZW5yaXNjLWRlc2MuYyBzeXNkZXAuaCBjb25maWcuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBvcGVucmlzYy1kZXNjLmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG9wZW5yaXNjLW9wYy5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmgKLW9wZW5yaXNjLWRpcy5sbzogb3BlbnJpc2MtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICBvcGVucmlzYy1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBvcGVucmlzYy1vcGMuaCBcCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoSU5DRElSKS9vcGNvZGUvbnMzMmsuaCBcCiAgIG9waW50bC5oCi1vcGVucmlzYy1pYmxkLmxvOiBvcGVucmlzYy1pYmxkLmMgc3lzZGVwLmggY29uZmlnLmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBvcGVucmlzYy1kZXNjLmggXAorb3BlbnJpc2MtYXNtLmxvOiBvcGVucmlzYy1hc20uYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBvcGVucmlzYy1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgb3BlbnJpc2Mtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmggXAorICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAorb3BlbnJpc2MtZGVzYy5sbzogb3BlbnJpc2MtZGVzYy5jIHN5c2RlcC5oIGNvbmZpZy5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG9wZW5yaXNjLWRlc2MuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0Lmggb3BlbnJpc2Mtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCi1vcGVucmlzYy1vcGMubG86IG9wZW5yaXNjLW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBvcGVucmlzYy1vcGMuaCBvcGludGwuaCBcCisgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikveHJlZ2V4LmggXAorICAkKElOQ0RJUikveHJlZ2V4Mi5oCitvcGVucmlzYy1kaXMubG86IG9wZW5yaXNjLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggb3BlbnJpc2MtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIG9wZW5yaXNjLW9wYy5oIG9waW50bC5oCitvcGVucmlzYy1pYmxkLmxvOiBvcGVucmlzYy1pYmxkLmMgc3lzZGVwLmggY29uZmlnLmggXAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBcCiAgIG9wZW5yaXNjLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG9wZW5yaXNjLW9wYy5oIFwKLSAgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBvcGVucmlzYy1vcGMuaCBvcGludGwuaCBcCisgICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKK29wZW5yaXNjLW9wYy5sbzogb3BlbnJpc2Mtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0Lmggb3BlbnJpc2MtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIG9wZW5yaXNjLW9wYy5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaAogb3IzMi1kaXMubG86IG9yMzItZGlzLmMgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSBcCiAgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL29yMzIuaCBcCiAgICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKIG9yMzItb3BjLmxvOiBvcjMyLW9wYy5jICQoSU5DRElSKS9zYWZlLWN0eXBlLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL29yMzIuaAogcGRwMTEtZGlzLmxvOiBwZHAxMS1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9wZHAxMS5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvcGRwMTEuaAogcGRwMTEtb3BjLmxvOiBwZHAxMS1vcGMuYyAkKElOQ0RJUikvb3Bjb2RlL3BkcDExLmgKIHBqLWRpcy5sbzogcGotZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL3BqLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaAorICAkKElOQ0RJUikvc3ltY2F0LmgKIHBqLW9wYy5sbzogcGotb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL3BqLmgKIHBwYy1kaXMubG86IHBwYy1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9wcGMuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL3BwYy5oCiBwcGMtb3BjLmxvOiBwcGMtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL3BwYy5oIG9waW50bC5oCiBzMzkwLW1rb3BjLmxvOiBzMzkwLW1rb3BjLmMKIHMzOTAtb3BjLmxvOiBzMzkwLW9wYy5jICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9vcGNvZGUvczM5MC5oIFwKICAgczM5MC1vcGMudGFiCiBzMzkwLWRpcy5sbzogczM5MC1kaXMuYyAkKElOQ0RJUikvYW5zaWRlY2wuaCBzeXNkZXAuaCBcCi0gIGNvbmZpZy5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvc3ltY2F0Lmggb3BpbnRsLmggJChJTkNESVIpL29wY29kZS9zMzkwLmgKKyAgY29uZmlnLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggXAorICBvcGludGwuaCAkKElOQ0RJUikvb3Bjb2RlL3MzOTAuaAogc2NvcmUtZGlzLmxvOiBzY29yZS1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgc2NvcmUtb3BjLmggb3BpbnRsLmggJChCRkRfSCkgJChCRkRESVIpL2VsZi1iZmQuaCAkKElOQ0RJUikvZWxmL2NvbW1vbi5oIFwKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0Lmggc2NvcmUtb3BjLmggXAorICBvcGludGwuaCAkKEJGRERJUikvZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggXAogICAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oICQoSU5DRElSKS9iZmRsaW5rLmggXAotICAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggJChJTkNESVIpL2VsZi9zY29yZS5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKKyAgJChJTkNESVIpL2VsZi9zY29yZS5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKIHNoLWRpcy5sbzogc2gtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICBzaC1vcGMuaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpCisgIHNoLW9wYy5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvZGlzLWFzbS5oCiBzaDY0LWRpcy5sbzogc2g2NC1kaXMuYyAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpIFwKICAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIHN5c2RlcC5oIGNvbmZpZy5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggc2g2NC1vcGMuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKEJGRERJUikvZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggXAotICAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oICQoSU5DRElSKS9iZmRsaW5rLmggXAotICAkKElOQ0RJUikvZWxmL3NoLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCAkKEJGRERJUikvZWxmMzItc2g2NC5oCisgIHNoNjQtb3BjLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChCRkRESVIpL2VsZi1iZmQuaCAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCBcCisgICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCAkKElOQ0RJUikvYmZkbGluay5oICQoSU5DRElSKS9lbGYvc2guaCBcCisgICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggJChCRkRESVIpL2VsZjMyLXNoNjQuaAogc2g2NC1vcGMubG86IHNoNjQtb3BjLmMgc2g2NC1vcGMuaAogc3BhcmMtZGlzLmxvOiBzcGFyYy1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvc3BhcmMuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvZGlzLWFzbS5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oIG9waW50bC5oCisgICQoSU5DRElSKS9vcGNvZGUvc3BhcmMuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpIFwKKyAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgIG9waW50bC5oCiBzcGFyYy1vcGMubG86IHNwYXJjLW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9zcGFyYy5oICQoSU5DRElSKS9hbnNpZGVjbC5oCisgICQoSU5DRElSKS9vcGNvZGUvc3BhcmMuaAogc3B1LWRpcy5sbzogc3B1LWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL3NwdS5oICQoSU5DRElSKS9vcGNvZGUvc3B1LWluc25zLmgKLXNwdS1vcGMubG86IHNwdS1vcGMuYyAkKElOQ0RJUikvb3Bjb2RlL3NwdS5oICQoSU5DRElSKS9vcGNvZGUvc3B1LWluc25zLmggXAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL3NwdS5oIFwKICAgJChJTkNESVIpL29wY29kZS9zcHUtaW5zbnMuaAorc3B1LW9wYy5sbzogc3B1LW9wYy5jICQoSU5DRElSKS9vcGNvZGUvc3B1LmggJChJTkNESVIpL29wY29kZS9zcHUtaW5zbnMuaAogdGljMzAtZGlzLmxvOiB0aWMzMC1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChJTkNESVIpL29wY29kZS90aWMzMC5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvdGljMzAuaAogdGljNHgtZGlzLmxvOiB0aWM0eC1kaXMuYyAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvdGljNHguaAogdGljNTR4LWRpcy5sbzogdGljNTR4LWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL3RpYzU0eC5oICQoSU5DRElSKS9jb2ZmL3RpYzU0eC5oICQoSU5DRElSKS9jb2ZmL3RpLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS90aWM1NHguaCBcCisgICQoSU5DRElSKS9jb2ZmL3RpYzU0eC5oICQoSU5DRElSKS9jb2ZmL3RpLmgKIHRpYzU0eC1vcGMubG86IHRpYzU0eC1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChJTkNESVIpL29wY29kZS90aWM1NHguaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL3RpYzU0eC5oCiB0aWM4MC1kaXMubG86IHRpYzgwLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL29wY29kZS90aWM4MC5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmgKKyAgJChJTkNESVIpL3N5bWNhdC5oCiB0aWM4MC1vcGMubG86IHRpYzgwLW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL29wY29kZS90aWM4MC5oCiB2ODUwLWRpcy5sbzogdjg1MC1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvdjg1MC5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0Lmggb3BpbnRsLmgKKyAgJChJTkNESVIpL3N5bWNhdC5oIG9waW50bC5oCiB2ODUwLW9wYy5sbzogdjg1MC1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvdjg1MC5oIG9waW50bC5oCiB2YXgtZGlzLmxvOiB2YXgtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL3ZheC5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmgKLXc2NS1kaXMubG86IHc2NS1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gIHc2NS1vcGMuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL3N5bWNhdC5oCit3NjUtZGlzLmxvOiB3NjUtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICB3NjUtb3BjLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmgKIHhjMTZ4LWFzbS5sbzogeGMxNngtYXNtLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgeGMxNngtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggeGMxNngtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCB4YzE2eC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgeGMxNngtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmggXAorICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAogeGMxNngtZGVzYy5sbzogeGMxNngtZGVzYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIHhjMTZ4LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIHhjMTZ4LW9wYy5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIHhjMTZ4LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICB4YzE2eC1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaAogeGMxNngtZGlzLmxvOiB4YzE2eC1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gIHhjMTZ4LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIHhjMTZ4LW9wYy5oIFwKLSAgb3BpbnRsLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggeGMxNngtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIHhjMTZ4LW9wYy5oIG9waW50bC5oCiB4YzE2eC1pYmxkLmxvOiB4YzE2eC1pYmxkLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCB4YzE2eC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCi0gIHhjMTZ4LW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKLXhjMTZ4LW9wYy5sbzogeGMxNngtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgeGMxNngtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggeGMxNngtb3BjLmggXAotICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmgKLXhzdG9ybXkxNi1hc20ubG86IHhzdG9ybXkxNi1hc20uYyBzeXNkZXAuaCBjb25maWcuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCB4c3Rvcm15MTYtZGVzYy5oIFwKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggeGMxNngtZGVzYy5oIFwKICAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCB4c3Rvcm15MTYtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggeGMxNngtb3BjLmggb3BpbnRsLmggXAorICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCit4YzE2eC1vcGMubG86IHhjMTZ4LW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIHhjMTZ4LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICB4YzE2eC1vcGMuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmgKK3hzdG9ybXkxNi1hc20ubG86IHhzdG9ybXkxNi1hc20uYyBzeXNkZXAuaCBjb25maWcuaCBcCisgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCB4c3Rvcm15MTYtZGVzYy5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIHhzdG9ybXkxNi1vcGMuaCBvcGludGwuaCBcCisgICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCiAgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKIHhzdG9ybXkxNi1kZXNjLmxvOiB4c3Rvcm15MTYtZGVzYy5jIHN5c2RlcC5oIGNvbmZpZy5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIHhzdG9ybXkxNi1kZXNjLmggXAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggeHN0b3JteTE2LWRlc2MuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggeHN0b3JteTE2LW9wYy5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmgKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIHhzdG9ybXkxNi1vcGMuaCBvcGludGwuaCBcCisgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikveHJlZ2V4LmggXAorICAkKElOQ0RJUikveHJlZ2V4Mi5oCiB4c3Rvcm15MTYtZGlzLmxvOiB4c3Rvcm15MTYtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCB4c3Rvcm15MTYtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAotICB4c3Rvcm15MTYtb3BjLmggb3BpbnRsLmgKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggXAorICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggeHN0b3JteTE2LWRlc2MuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCB4c3Rvcm15MTYtb3BjLmggb3BpbnRsLmgKIHhzdG9ybXkxNi1pYmxkLmxvOiB4c3Rvcm15MTYtaWJsZC5jIHN5c2RlcC5oIGNvbmZpZy5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggeHN0b3JteTE2LWRlc2MuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggeHN0b3JteTE2LW9wYy5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBcCisgIHhzdG9ybXkxNi1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIHhzdG9ybXkxNi1vcGMuaCBvcGludGwuaCBcCisgICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKIHhzdG9ybXkxNi1vcGMubG86IHhzdG9ybXkxNi1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCB4c3Rvcm15MTYtZGVzYy5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIHhzdG9ybXkxNi1kZXNjLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIHhzdG9ybXkxNi1vcGMuaCBcCi0gICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggeHN0b3JteTE2LW9wYy5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCisgICQoSU5DRElSKS9hbnNpZGVjbC5oCiB4dGVuc2EtZGlzLmxvOiB4dGVuc2EtZGlzLmMgJChJTkNESVIpL3h0ZW5zYS1pc2EuaCBcCiAgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmgKKyAgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmgKIHo4MC1kaXMubG86IHo4MC1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oCiB6OGstZGlzLmxvOiB6OGstZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIHo4ay1vcGMuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCB6OGstb3BjLmgKIHo4a2dlbi5sbzogejhrZ2VuLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmgKICMgSUYgWU9VIFBVVCBBTllUSElORyBIRVJFIElUIFdJTEwgR08gQVdBWQpkaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9NYWtlZmlsZS5pbiBiL29wY29kZXMvTWFrZWZpbGUuaW4KaW5kZXggZmQ2YzI3Ni4uZTNjN2VkNiAxMDA2NDQKLS0tIGEvb3Bjb2Rlcy9NYWtlZmlsZS5pbgorKysgYi9vcGNvZGVzL01ha2VmaWxlLmluCkBAIC01OSw3ICs1OSw3IEBACiAJJCh0b3Bfc3JjZGlyKS8uLi9jb25maWcvcHJvZ3Rlc3QubTQgXAogCSQodG9wX3NyY2RpcikvLi4vbGlidG9vbC5tNCAkKHRvcF9zcmNkaXIpLy4uL2x0b3B0aW9ucy5tNCBcCiAJJCh0b3Bfc3JjZGlyKS8uLi9sdHN1Z2FyLm00ICQodG9wX3NyY2RpcikvLi4vbHR2ZXJzaW9uLm00IFwKLQkkKHRvcF9zcmNkaXIpL2NvbmZpZ3VyZS5pbgorCSQodG9wX3NyY2RpcikvLi4vbHR+b2Jzb2xldGUubTQgJCh0b3Bfc3JjZGlyKS9jb25maWd1cmUuaW4KIGFtX19jb25maWd1cmVfZGVwcyA9ICQoYW1fX2FjbG9jYWxfbTRfZGVwcykgJChDT05GSUdVUkVfREVQRU5ERU5DSUVTKSBcCiAJJChBQ0xPQ0FMX000KQogYW1fX0NPTkZJR19ESVNUQ0xFQU5fRklMRVMgPSBjb25maWcuc3RhdHVzIGNvbmZpZy5jYWNoZSBjb25maWcubG9nIFwKQEAgLTEzMCw2ICsxMzAsNyBAQAogREFUQURJUk5BTUUgPSBAREFUQURJUk5BTUVACiBERUZTID0gQERFRlNACiBERVBESVIgPSBAREVQRElSQAorRFNZTVVUSUwgPSBARFNZTVVUSUxACiBEVU1QQklOID0gQERVTVBCSU5ACiBFQ0hPX0MgPSBARUNIT19DQAogRUNIT19OID0gQEVDSE9fTkAKQEAgLTE1Nyw2ICsxNTgsNyBAQAogTElCT0JKUyA9IEBMSUJPQkpTQAogTElCUyA9IEBMSUJTQAogTElCVE9PTCA9IEBMSUJUT09MQAorTElQTyA9IEBMSVBPQAogTE5fUyA9IEBMTl9TQAogTFRMSUJPQkpTID0gQExUTElCT0JKU0AKIE1BSU5UID0gQE1BSU5UQApAQCAtMTY3LDggKzE2OSwxMiBAQAogTVNHRk1UID0gQE1TR0ZNVEAKIE1TR01FUkdFID0gQE1TR01FUkdFQAogTk0gPSBATk1ACitOTUVESVQgPSBATk1FRElUQAogTk9fV0VSUk9SID0gQE5PX1dFUlJPUkAKK09CSkRVTVAgPSBAT0JKRFVNUEAKIE9CSkVYVCA9IEBPQkpFWFRACitPVE9PTCA9IEBPVE9PTEAKK09UT09MNjQgPSBAT1RPT0w2NEAKIFBBQ0tBR0UgPSBAUEFDS0FHRUAKIFBBQ0tBR0VfQlVHUkVQT1JUID0gQFBBQ0tBR0VfQlVHUkVQT1JUQAogUEFDS0FHRV9OQU1FID0gQFBBQ0tBR0VfTkFNRUAKQEAgLTE5MSw3ICsxOTcsMTMgQEAKIFhHRVRURVhUID0gQFhHRVRURVhUQAogYWNfY3RfQVIgPSBAYWNfY3RfQVJACiBhY19jdF9DQyA9IEBhY19jdF9DQ0AKK2FjX2N0X0RTWU1VVElMID0gQGFjX2N0X0RTWU1VVElMQAogYWNfY3RfRFVNUEJJTiA9IEBhY19jdF9EVU1QQklOQAorYWNfY3RfTElQTyA9IEBhY19jdF9MSVBPQAorYWNfY3RfTk1FRElUID0gQGFjX2N0X05NRURJVEAKK2FjX2N0X09CSkRVTVAgPSBAYWNfY3RfT0JKRFVNUEAKK2FjX2N0X09UT09MID0gQGFjX2N0X09UT09MQAorYWNfY3RfT1RPT0w2NCA9IEBhY19jdF9PVE9PTDY0QAogYWNfY3RfUkFOTElCID0gQGFjX2N0X1JBTkxJQkAKIGFjX2N0X1NUUklQID0gQGFjX2N0X1NUUklQQAogYW1fX2Zhc3RkZXBDQ19GQUxTRSA9IEBhbV9fZmFzdGRlcENDX0ZBTFNFQApAQCAtMTIwNCwxNjQgKzEyMTYsMTQzIEBACiAjIERPIE5PVCBERUxFVEUgVEhJUyBMSU5FIC0tIG1rZGVwIHVzZXMgaXQuCiAjIERPIE5PVCBQVVQgQU5ZVEhJTkcgQUZURVIgVEhJUyBMSU5FLCBJVCBXSUxMIEdPIEFXQVkuCiBhbHBoYS1kaXMubG86IGFscGhhLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2FscGhhLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9hbHBoYS5oCiBhbHBoYS1vcGMubG86IGFscGhhLW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9hbHBoYS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oIG9waW50bC5oCisgICQoSU5DRElSKS9vcGNvZGUvYWxwaGEuaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggXAorICBvcGludGwuaAogYXJjLWRpcy5sbzogYXJjLWRpcy5jICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9hcmMuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKLSAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKLSAgJChJTkNESVIpL2JmZGxpbmsuaCAkKElOQ0RJUikvZWxmL2FyYy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggXAotICBvcGludGwuaCBhcmMtZGlzLmggYXJjLWV4dC5oCisgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9hcmMuaCAkKEJGRERJUikvZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggXAorICAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oICQoSU5DRElSKS9iZmRsaW5rLmggXAorICAkKElOQ0RJUikvZWxmL2FyYy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggb3BpbnRsLmggXAorICBhcmMtZGlzLmggYXJjLWV4dC5oCiBhcmMtb3BjLmxvOiBhcmMtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9hcmMuaCBcCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2FyYy5oIFwKICAgb3BpbnRsLmgKIGFyYy1leHQubG86IGFyYy1leHQuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBhcmMtZXh0LmggXAotICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmgKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIGFyYy1leHQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAorICAkKElOQ0RJUikvYW5zaWRlY2wuaAogYXJtLWRpcy5sbzogYXJtLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2FybS5oIG9waW50bC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggXAotICAkKElOQ0RJUikvZmxvYXRmb3JtYXQuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvY29mZi9pbnRlcm5hbC5oIFwKLSAgJChCRkRESVIpL2xpYmNvZmYuaCAkKElOQ0RJUikvYmZkbGluay5oICQoQkZERElSKS9lbGYtYmZkLmggXAotICAkKElOQ0RJUikvZWxmL2NvbW1vbi5oICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggXAotICAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggJChJTkNESVIpL2VsZi9hcm0uaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvYXJtLmggXAorICBvcGludGwuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oICQoSU5DRElSKS9mbG9hdGZvcm1hdC5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL2NvZmYvaW50ZXJuYWwuaCAkKEJGRERJUikvbGliY29mZi5oIFwKKyAgJChJTkNESVIpL2JmZGxpbmsuaCAkKEJGRERJUikvZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggXAorICAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oICQoSU5DRElSKS9lbGYvYXJtLmggXAorICAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCiBhdnItZGlzLmxvOiBhdnItZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvYXZyLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0Lmggb3BpbnRsLmggXAorICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL29wY29kZS9hdnIuaAogYmZpbi1kaXMubG86IGJmaW4tZGlzLmMgJChJTkNESVIpL29wY29kZS9iZmluLmggJChJTkNESVIpL2Rpcy1hc20uaCBcCiAgICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaAogY2dlbi1hc20ubG86IGNnZW4tYXNtLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgb3BpbnRsLmgKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG9waW50bC5oCiBjZ2VuLWJpdHNldC5sbzogY2dlbi1iaXRzZXQuYyAkKElOQ0RJUikvbGliaWJlcnR5LmggXAogICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmgKIGNnZW4tZGlzLmxvOiBjZ2VuLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oICQoQkZEX0gpIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmgKKyAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaAogY2dlbi1vcGMubG86IGNnZW4tb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaAogY3IxNi1kaXMubG86IGNyMTYtZGlzLmMgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSBcCiAgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBzeXNkZXAuaCBjb25maWcuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9vcGNvZGUvY3IxNi5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oCisgICQoSU5DRElSKS9vcGNvZGUvY3IxNi5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaAogY3IxNi1vcGMubG86IGNyMTYtb3BjLmMgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY3IxNi5oCiBjcmlzLWRpcy5sbzogY3Jpcy1kaXMuYyAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpIFwKICAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIHN5c2RlcC5oIGNvbmZpZy5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL29wY29kZS9jcmlzLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmgKKyAgJChJTkNESVIpL29wY29kZS9jcmlzLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oCiBjcmlzLW9wYy5sbzogY3Jpcy1vcGMuYyAkKElOQ0RJUikvb3Bjb2RlL2NyaXMuaAogY3J4LWRpcy5sbzogY3J4LWRpcy5jICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgXAogICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0Lmggc3lzZGVwLmggY29uZmlnLmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvb3Bjb2RlL2NyeC5oCisgICQoSU5DRElSKS9vcGNvZGUvY3J4LmgKIGNyeC1vcGMubG86IGNyeC1vcGMuYyAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jcnguaAogZDEwdi1kaXMubG86IGQxMHYtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2QxMHYuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oCisgICQoSU5DRElSKS9zeW1jYXQuaAogZDEwdi1vcGMubG86IGQxMHYtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2QxMHYuaAogZDMwdi1kaXMubG86IGQzMHYtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2QzMHYuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIG9waW50bC5oCisgICQoSU5DRElSKS9zeW1jYXQuaCBvcGludGwuaAogZDMwdi1vcGMubG86IGQzMHYtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2QzMHYuaAogZGx4LWRpcy5sbzogZGx4LWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2RseC5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvZGx4LmgKIGRpcy1idWYubG86IGRpcy1idWYuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgb3BpbnRsLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0Lmggb3BpbnRsLmgKIGRpcy1pbml0LmxvOiBkaXMtaW5pdC5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKEJGRF9IKQorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaAogZGlzYXNzZW1ibGUubG86IGRpc2Fzc2VtYmxlLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaAogZnIzMC1hc20ubG86IGZyMzAtYXNtLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgZnIzMC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBmcjMwLW9wYy5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggZnIzMC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgZnIzMC1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCBcCisgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCiBmcjMwLWRlc2MubG86IGZyMzAtZGVzYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIGZyMzAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggZnIzMC1vcGMuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBmcjMwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBmcjMwLW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oCiBmcjMwLWRpcy5sbzogZnIzMC1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gIGZyMzAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggZnIzMC1vcGMuaCBcCi0gIG9waW50bC5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCisgICQoSU5DRElSKS9hbnNpZGVjbC5oIGZyMzAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIGZyMzAtb3BjLmggb3BpbnRsLmgKIGZyMzAtaWJsZC5sbzogZnIzMC1pYmxkLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBmcjMwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgZnIzMC1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIGZyMzAtZGVzYy5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGZyMzAtb3BjLmggb3BpbnRsLmggXAorICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCiBmcjMwLW9wYy5sbzogZnIzMC1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBmcjMwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGZyMzAtb3BjLmggXAotICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmgKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIGZyMzAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIGZyMzAtb3BjLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oCiBmcnYtYXNtLmxvOiBmcnYtYXNtLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgZnJ2LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGZydi1vcGMuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIGZydi1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgZnJ2LW9wYy5oIG9waW50bC5oICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oIFwKKyAgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKIGZydi1kZXNjLmxvOiBmcnYtZGVzYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIGZydi1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBmcnYtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggZnJ2LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBmcnYtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmgKIGZydi1kaXMubG86IGZydi1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gIGZydi1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBmcnYtb3BjLmggXAotICBvcGludGwuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCBmcnYtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIGZydi1vcGMuaCBvcGludGwuaAogZnJ2LWlibGQubG86IGZydi1pYmxkLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBmcnYtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAotICBmcnYtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBmcnYtZGVzYy5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGZydi1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCiBmcnYtb3BjLmxvOiBmcnYtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgZnJ2LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGZydi1vcGMuaCBcCi0gICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvZWxmL2Zydi5oIFwKLSAgJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggZnJ2LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBmcnYtb3BjLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChJTkNESVIpL2VsZi9mcnYuaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCiBoODMwMC1kaXMubG86IGg4MzAwLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL29wY29kZS9oODMwMC5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0Lmggb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmgKKyAgJChJTkNESVIpL3N5bWNhdC5oIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaAogaDg1MDAtZGlzLmxvOiBoODUwMC1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gIGg4NTAwLW9wYy5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvc3ltY2F0Lmggb3BpbnRsLmgKKyAgaDg1MDAtb3BjLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggXAorICBvcGludGwuaAogaHBwYS1kaXMubG86IGhwcGEtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoQkZERElSKS9saWJocHBhLmggJChJTkNESVIpL29wY29kZS9ocHBhLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChCRkRESVIpL2xpYmhwcGEuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvaHBwYS5oCiBpMzcwLWRpcy5sbzogaTM3MC1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9pMzcwLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9pMzcwLmgKIGkzNzAtb3BjLmxvOiBpMzcwLW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL29wY29kZS9pMzcwLmgKIGkzODYtZGlzLmxvOiBpMzg2LWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBvcGludGwuaCAkKElOQ0RJUikvb3Bjb2RlL2kzODYuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBvcGludGwuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvaTM4Ni5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaAogaTM4Ni1vcGMubG86IGkzODYtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggaTM4Ni1vcGMuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvaTM4Ni5oIGkzODYtdGJsLmgKQEAgLTEzNzEsMTAgKzEzNjIsOSBAQAogaTg2MC1kaXMubG86IGk4NjAtZGlzLmMgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSBcCiAgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2k4NjAuaAogaTk2MC1kaXMubG86IGk5NjAtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaAogaWE2NC1kaXMubG86IGlhNjQtZGlzLmMgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2lhNjQuaCBcCi0gICQoQkZEX0gpCisgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2lhNjQuaAogaWE2NC1vcGMtYS5sbzogaWE2NC1vcGMtYS5jIGlhNjQtb3BjLmggJChJTkNESVIpL29wY29kZS9pYTY0LmggXAogICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmgKIGlhNjQtb3BjLWIubG86IGlhNjQtb3BjLWIuYyBpYTY0LW9wYy5oICQoSU5DRElSKS9vcGNvZGUvaWE2NC5oIFwKQEAgLTEzODgsNDIzICsxMzc4LDM3MiBAQAogaWE2NC1vcGMtZC5sbzogaWE2NC1vcGMtZC5jCiBpYTY0LW9wYy5sbzogaWE2NC1vcGMuYyAkKElOQ0RJUikvYW5zaWRlY2wuaCBzeXNkZXAuaCBcCiAgIGNvbmZpZy5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gIGlhNjQtYXNtdGFiLmggJChJTkNESVIpL29wY29kZS9pYTY0LmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggaWE2NC1hc210YWIuYworICBpYTY0LWFzbXRhYi5oICQoSU5DRElSKS9vcGNvZGUvaWE2NC5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBcCisgIGlhNjQtYXNtdGFiLmMKIGlhNjQtZ2VuLmxvOiBpYTY0LWdlbi5jICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCiAgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmggc3lzZGVwLmggXAogICBjb25maWcuaCAkKElOQ0RJUikvZ2V0b3B0LmggaWE2NC1vcGMuaCAkKElOQ0RJUikvb3Bjb2RlL2lhNjQuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBpYTY0LW9wYy1hLmMgXAotICBpYTY0LW9wYy1pLmMgaWE2NC1vcGMtbS5jIGlhNjQtb3BjLWIuYyBpYTY0LW9wYy1mLmMgXAotICBpYTY0LW9wYy14LmMgaWE2NC1vcGMtZC5jCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBpYTY0LW9wYy1hLmMgaWE2NC1vcGMtaS5jIFwKKyAgaWE2NC1vcGMtbS5jIGlhNjQtb3BjLWIuYyBpYTY0LW9wYy1mLmMgaWE2NC1vcGMteC5jIFwKKyAgaWE2NC1vcGMtZC5jCiBpYTY0LWFzbXRhYi5sbzogaWE2NC1hc210YWIuYwogaXAyay1hc20ubG86IGlwMmstYXNtLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgaXAyay1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBpcDJrLW9wYy5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggaXAyay1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgaXAyay1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCBcCisgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCiBpcDJrLWRlc2MubG86IGlwMmstZGVzYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIGlwMmstZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggaXAyay1vcGMuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBpcDJrLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBpcDJrLW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oCiBpcDJrLWRpcy5sbzogaXAyay1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gIGlwMmstZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggaXAyay1vcGMuaCBcCi0gIG9waW50bC5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCisgICQoSU5DRElSKS9hbnNpZGVjbC5oIGlwMmstZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIGlwMmstb3BjLmggb3BpbnRsLmgKIGlwMmstaWJsZC5sbzogaXAyay1pYmxkLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBpcDJrLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgaXAyay1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIGlwMmstZGVzYy5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGlwMmstb3BjLmggb3BpbnRsLmggXAorICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCiBpcDJrLW9wYy5sbzogaXAyay1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBpcDJrLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGlwMmstb3BjLmggXAotICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggaXAyay1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgaXAyay1vcGMuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCiBpcTIwMDAtYXNtLmxvOiBpcTIwMDAtYXNtLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgaXEyMDAwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGlxMjAwMC1vcGMuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIGlxMjAwMC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgaXEyMDAwLW9wYy5oIG9waW50bC5oICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oIFwKKyAgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKIGlxMjAwMC1kZXNjLmxvOiBpcTIwMDAtZGVzYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIGlxMjAwMC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBpcTIwMDAtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggaXEyMDAwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBpcTIwMDAtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmgKIGlxMjAwMC1kaXMubG86IGlxMjAwMC1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gIGlxMjAwMC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBpcTIwMDAtb3BjLmggXAotICBvcGludGwuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCBpcTIwMDAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIGlxMjAwMC1vcGMuaCBvcGludGwuaAogaXEyMDAwLWlibGQubG86IGlxMjAwMC1pYmxkLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBpcTIwMDAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAotICBpcTIwMDAtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBpcTIwMDAtZGVzYy5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIGlxMjAwMC1vcGMuaCBvcGludGwuaCBcCisgICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKIGlxMjAwMC1vcGMubG86IGlxMjAwMC1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBpcTIwMDAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggaXEyMDAwLW9wYy5oIFwKLSAgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBpcTIwMDAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIGlxMjAwMC1vcGMuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmgKIG0zMmMtYXNtLmxvOiBtMzJjLWFzbS5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIG0zMmMtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbTMyYy1vcGMuaCBcCi0gIGNnZW4tdHlwZXMuaCAuLi9iZmQvYmZkX3N0ZGludC5oIGNnZW4tb3BzLmggb3BpbnRsLmggXAotICAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCi1tMzJjLWRlc2MubG86IG0zMmMtZGVzYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIG0zMmMtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbTMyYy1vcGMuaCBcCi0gIGNnZW4tdHlwZXMuaCAuLi9iZmQvYmZkX3N0ZGludC5oIGNnZW4tb3BzLmggb3BpbnRsLmggXAotICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3hyZWdleC5oIFwKLSAgJChJTkNESVIpL3hyZWdleDIuaAotbTMyYy1kaXMubG86IG0zMmMtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICBtMzJjLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG0zMmMtb3BjLmggXAotICBjZ2VuLXR5cGVzLmggLi4vYmZkL2JmZF9zdGRpbnQuaCBjZ2VuLW9wcy5oIG9waW50bC5oIFwKLSAgJChJTkNESVIpL2VsZi9tMzJjLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCAkKEJGRERJUikvZWxmLWJmZC5oIFwKLSAgJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oIFwKLSAgJChJTkNESVIpL2JmZGxpbmsuaAotbTMyYy1pYmxkLmxvOiBtMzJjLWlibGQuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKICAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG0zMmMtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAogICBtMzJjLW9wYy5oIGNnZW4tdHlwZXMuaCAuLi9iZmQvYmZkX3N0ZGludC5oIGNnZW4tb3BzLmggXAotICBvcGludGwuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCi1tMzJjLW9wYy5sbzogbTMyYy1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBtMzJjLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG0zMmMtb3BjLmggXAotICBjZ2VuLXR5cGVzLmggLi4vYmZkL2JmZF9zdGRpbnQuaCBjZ2VuLW9wcy5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oCi1tMzJyLWFzbS5sbzogbTMyci1hc20uYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBtMzJyLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG0zMnItb3BjLmggXAogICBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAogICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCi1tMzJyLWRlc2MubG86IG0zMnItZGVzYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIG0zMnItZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbTMyci1vcGMuaCBcCittMzJjLWRlc2MubG86IG0zMmMtZGVzYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG0zMmMtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIG0zMmMtb3BjLmggY2dlbi10eXBlcy5oIC4uL2JmZC9iZmRfc3RkaW50LmggY2dlbi1vcHMuaCBcCiAgIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oCi1tMzJyLWRpcy5sbzogbTMyci1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gIG0zMnItZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbTMyci1vcGMuaCBcCi0gIG9waW50bC5oCi1tMzJyLWlibGQubG86IG0zMnItaWJsZC5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggbTMyci1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCi0gIG0zMnItb3BjLmggb3BpbnRsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAotbTMyci1vcGMubG86IG0zMnItb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgbTMyci1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBtMzJyLW9wYy5oIFwKK20zMmMtZGlzLmxvOiBtMzJjLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggbTMyYy1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgbTMyYy1vcGMuaCBjZ2VuLXR5cGVzLmggLi4vYmZkL2JmZF9zdGRpbnQuaCBjZ2VuLW9wcy5oIFwKKyAgb3BpbnRsLmggJChJTkNESVIpL2VsZi9tMzJjLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCBcCisgICQoQkZERElSKS9lbGYtYmZkLmggJChJTkNESVIpL2VsZi9jb21tb24uaCAkKElOQ0RJUikvZWxmL2V4dGVybmFsLmggXAorICAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggJChJTkNESVIpL2JmZGxpbmsuaAorbTMyYy1pYmxkLmxvOiBtMzJjLWlibGQuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG0zMmMtZGVzYy5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG0zMmMtb3BjLmggY2dlbi10eXBlcy5oIFwKKyAgLi4vYmZkL2JmZF9zdGRpbnQuaCBjZ2VuLW9wcy5oIG9waW50bC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKK20zMmMtb3BjLmxvOiBtMzJjLW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG0zMmMtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIG0zMmMtb3BjLmggY2dlbi10eXBlcy5oIC4uL2JmZC9iZmRfc3RkaW50LmggY2dlbi1vcHMuaCBcCiAgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaAorbTMyci1hc20ubG86IG0zMnItYXNtLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggbTMyci1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgbTMyci1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCBcCisgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCittMzJyLWRlc2MubG86IG0zMnItZGVzYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG0zMnItZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIG0zMnItb3BjLmggb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmgKK20zMnItZGlzLmxvOiBtMzJyLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggbTMyci1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgbTMyci1vcGMuaCBvcGludGwuaAorbTMyci1pYmxkLmxvOiBtMzJyLWlibGQuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG0zMnItZGVzYy5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG0zMnItb3BjLmggb3BpbnRsLmggXAorICAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCittMzJyLW9wYy5sbzogbTMyci1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBtMzJyLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBtMzJyLW9wYy5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaAogbTMyci1vcGluc3QubG86IG0zMnItb3BpbnN0LmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgbTMyci1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBtMzJyLW9wYy5oCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBtMzJyLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBtMzJyLW9wYy5oCiBtNjhoYzExLWRpcy5sbzogbTY4aGMxMS1kaXMuYyAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvbTY4aGMxMS5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmgKKyAgJChJTkNESVIpL3N5bWNhdC5oCiBtNjhoYzExLW9wYy5sbzogbTY4aGMxMS1vcGMuYyAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvbTY4aGMxMS5oCiBtNjhrLWRpcy5sbzogbTY4ay1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChJTkNESVIpL2Zsb2F0Zm9ybWF0LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL29wY29kZS9tNjhrLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2Zsb2F0Zm9ybWF0LmggXAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvbGliaWJlcnR5Lmggb3BpbnRsLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL202OGsuaAogbTY4ay1vcGMubG86IG02OGstb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL202OGsuaAogbTg4ay1kaXMubG86IG04OGstZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvbTg4ay5oIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvbTg4ay5oIFwKKyAgb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oCiBtYXhxLWRpcy5sbzogbWF4cS1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9tYXhxLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9tYXhxLmgKIG1jb3JlLWRpcy5sbzogbWNvcmUtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICBtY29yZS1vcGMuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oCisgIG1jb3JlLW9wYy5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oCiBtZXAtYXNtLmxvOiBtZXAtYXNtLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgbWVwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG1lcC1vcGMuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG1lcC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgbWVwLW9wYy5oIG9waW50bC5oICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oIFwKKyAgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKIG1lcC1kZXNjLmxvOiBtZXAtZGVzYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIG1lcC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBtZXAtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggbWVwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBtZXAtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmgKIG1lcC1kaXMubG86IG1lcC1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gIG1lcC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBtZXAtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikvZWxmL21lcC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggXAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCBtZXAtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIG1lcC1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikvZWxmL21lcC5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmggXAogICAkKEJGRERJUikvZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oIFwKICAgJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oICQoSU5DRElSKS9iZmRsaW5rLmgKIG1lcC1pYmxkLmxvOiBtZXAtaWJsZC5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggbWVwLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgbWVwLW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggbWVwLWRlc2MuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBtZXAtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAogbWVwLW9wYy5sbzogbWVwLW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIG1lcC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBtZXAtb3BjLmggXAotICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL2VsZi9tZXAuaCBcCi0gICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG1lcC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgbWVwLW9wYy5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoSU5DRElSKS9lbGYvbWVwLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaAogbWlwcy1kaXMubG86IG1pcHMtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvb3Bjb2RlL21pcHMuaCBcCi0gIG9waW50bC5oICQoQkZERElSKS9lbGYtYmZkLmggJChJTkNESVIpL2VsZi9jb21tb24uaCBcCi0gICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggJChJTkNESVIpL2JmZGxpbmsuaCBcCi0gICQoSU5DRElSKS9lbGYvbWlwcy5oICQoSU5DRElSKS9lbGYvcmVsb2MtbWFjcm9zLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL29wY29kZS9taXBzLmggb3BpbnRsLmggXAorICAkKEJGRERJUikvZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oIFwKKyAgJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL2VsZi9taXBzLmggXAorICAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oCiBtaXBzLW9wYy5sbzogbWlwcy1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvbWlwcy5oCiBtaXBzMTYtb3BjLmxvOiBtaXBzMTYtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL21pcHMuaAogbTEwMjAwLWRpcy5sbzogbTEwMjAwLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL29wY29kZS9tbjEwMjAwLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBvcGludGwuaAorICAkKElOQ0RJUikvc3ltY2F0Lmggb3BpbnRsLmgKIG0xMDIwMC1vcGMubG86IG0xMDIwMC1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvbW4xMDIwMC5oCiBtMTAzMDAtZGlzLmxvOiBtMTAzMDAtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL21uMTAzMDAuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIG9waW50bC5oCisgICQoSU5DRElSKS9zeW1jYXQuaCBvcGludGwuaAogbTEwMzAwLW9wYy5sbzogbTEwMzAwLW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL29wY29kZS9tbjEwMzAwLmgKIG1taXgtZGlzLmxvOiBtbWl4LWRpcy5jICQoSU5DRElSKS9vcGNvZGUvbW1peC5oICQoSU5DRElSKS9kaXMtYXNtLmggXAogICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChCRkRfSCkgb3BpbnRsLmgKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggb3BpbnRsLmgKIG1taXgtb3BjLmxvOiBtbWl4LW9wYy5jICQoSU5DRElSKS9vcGNvZGUvbW1peC5oICQoSU5DRElSKS9zeW1jYXQuaAogbXQtYXNtLmxvOiBtdC1hc20uYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBtdC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBtdC1vcGMuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG10LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBtdC1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCBcCisgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCiBtdC1kZXNjLmxvOiBtdC1kZXNjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgbXQtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbXQtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggbXQtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIG10LW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oCiBtdC1kaXMubG86IG10LWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgbXQtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbXQtb3BjLmggXAotICBvcGludGwuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCBtdC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgbXQtb3BjLmggb3BpbnRsLmgKIG10LWlibGQubG86IG10LWlibGQuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG10LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgbXQtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBtdC1kZXNjLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggbXQtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAogbXQtb3BjLmxvOiBtdC1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBtdC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBtdC1vcGMuaCBcCi0gICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBtdC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgbXQtb3BjLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaAogbnMzMmstZGlzLmxvOiBuczMyay1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvZGlzLWFzbS5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL29wY29kZS9uczMyay5oIG9waW50bC5oCi1vcGVucmlzYy1hc20ubG86IG9wZW5yaXNjLWFzbS5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gIG9wZW5yaXNjLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG9wZW5yaXNjLW9wYy5oIFwKLSAgb3BpbnRsLmggJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAotb3BlbnJpc2MtZGVzYy5sbzogb3BlbnJpc2MtZGVzYy5jIHN5c2RlcC5oIGNvbmZpZy5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIG9wZW5yaXNjLWRlc2MuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0Lmggb3BlbnJpc2Mtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaAotb3BlbnJpc2MtZGlzLmxvOiBvcGVucmlzYy1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gIG9wZW5yaXNjLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG9wZW5yaXNjLW9wYy5oIFwKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9kaXMtYXNtLmggJChJTkNESVIpL29wY29kZS9uczMyay5oIFwKICAgb3BpbnRsLmgKLW9wZW5yaXNjLWlibGQubG86IG9wZW5yaXNjLWlibGQuYyBzeXNkZXAuaCBjb25maWcuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG9wZW5yaXNjLWRlc2MuaCBcCitvcGVucmlzYy1hc20ubG86IG9wZW5yaXNjLWFzbS5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIG9wZW5yaXNjLWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICBvcGVucmlzYy1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCBcCisgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCitvcGVucmlzYy1kZXNjLmxvOiBvcGVucmlzYy1kZXNjLmMgc3lzZGVwLmggY29uZmlnLmggXAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0Lmggb3BlbnJpc2MtZGVzYy5oIFwKICAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBvcGVucmlzYy1vcGMuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKLW9wZW5yaXNjLW9wYy5sbzogb3BlbnJpc2Mtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG9wZW5yaXNjLW9wYy5oIG9waW50bC5oIFwKKyAgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS94cmVnZXguaCBcCisgICQoSU5DRElSKS94cmVnZXgyLmgKK29wZW5yaXNjLWRpcy5sbzogb3BlbnJpc2MtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCBvcGVucmlzYy1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgb3BlbnJpc2Mtb3BjLmggb3BpbnRsLmgKK29wZW5yaXNjLWlibGQubG86IG9wZW5yaXNjLWlibGQuYyBzeXNkZXAuaCBjb25maWcuaCBcCisgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIFwKICAgb3BlbnJpc2MtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0Lmggb3BlbnJpc2Mtb3BjLmggXAotICAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmgKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIG9wZW5yaXNjLW9wYy5oIG9waW50bC5oIFwKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaAorb3BlbnJpc2Mtb3BjLmxvOiBvcGVucmlzYy1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBvcGVucmlzYy1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgb3BlbnJpc2Mtb3BjLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oCiBvcjMyLWRpcy5sbzogb3IzMi1kaXMuYyAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpIFwKICAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvb3IzMi5oIFwKICAgJChJTkNESVIpL3NhZmUtY3R5cGUuaAogb3IzMi1vcGMubG86IG9yMzItb3BjLmMgJChJTkNESVIpL3NhZmUtY3R5cGUuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvb3IzMi5oCiBwZHAxMS1kaXMubG86IHBkcDExLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL3BkcDExLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9wZHAxMS5oCiBwZHAxMS1vcGMubG86IHBkcDExLW9wYy5jICQoSU5DRElSKS9vcGNvZGUvcGRwMTEuaAogcGotZGlzLmxvOiBwai1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvcGouaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oCisgICQoSU5DRElSKS9zeW1jYXQuaAogcGotb3BjLmxvOiBwai1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvcGouaAogcHBjLWRpcy5sbzogcHBjLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL3BwYy5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvcHBjLmgKIHBwYy1vcGMubG86IHBwYy1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvcHBjLmggb3BpbnRsLmgKIHMzOTAtbWtvcGMubG86IHMzOTAtbWtvcGMuYwogczM5MC1vcGMubG86IHMzOTAtb3BjLmMgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL29wY29kZS9zMzkwLmggXAogICBzMzkwLW9wYy50YWIKIHMzOTAtZGlzLmxvOiBzMzkwLWRpcy5jICQoSU5DRElSKS9hbnNpZGVjbC5oIHN5c2RlcC5oIFwKLSAgY29uZmlnLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCBvcGludGwuaCAkKElOQ0RJUikvb3Bjb2RlL3MzOTAuaAorICBjb25maWcuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBcCisgIG9waW50bC5oICQoSU5DRElSKS9vcGNvZGUvczM5MC5oCiBzY29yZS1kaXMubG86IHNjb3JlLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICBzY29yZS1vcGMuaCBvcGludGwuaCAkKEJGRF9IKSAkKEJGRERJUikvZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggXAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBzY29yZS1vcGMuaCBcCisgIG9waW50bC5oICQoQkZERElSKS9lbGYtYmZkLmggJChJTkNESVIpL2VsZi9jb21tb24uaCBcCiAgICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggJChJTkNESVIpL2JmZGxpbmsuaCBcCi0gICQoSU5DRElSKS9lbGYvaW50ZXJuYWwuaCAkKElOQ0RJUikvZWxmL3Njb3JlLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaAorICAkKElOQ0RJUikvZWxmL3Njb3JlLmggJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaAogc2gtZGlzLmxvOiBzaC1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gIHNoLW9wYy5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkKKyAgc2gtb3BjLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9kaXMtYXNtLmgKIHNoNjQtZGlzLmxvOiBzaDY0LWRpcy5jICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgXAogICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0Lmggc3lzZGVwLmggY29uZmlnLmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCBzaDY0LW9wYy5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoQkZERElSKS9lbGYtYmZkLmggJChJTkNESVIpL2VsZi9jb21tb24uaCBcCi0gICQoSU5DRElSKS9lbGYvZXh0ZXJuYWwuaCAkKElOQ0RJUikvZWxmL2ludGVybmFsLmggJChJTkNESVIpL2JmZGxpbmsuaCBcCi0gICQoSU5DRElSKS9lbGYvc2guaCAkKElOQ0RJUikvZWxmL3JlbG9jLW1hY3Jvcy5oICQoQkZERElSKS9lbGYzMi1zaDY0LmgKKyAgc2g2NC1vcGMuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKEJGRERJUikvZWxmLWJmZC5oICQoSU5DRElSKS9lbGYvY29tbW9uLmggJChJTkNESVIpL2VsZi9leHRlcm5hbC5oIFwKKyAgJChJTkNESVIpL2VsZi9pbnRlcm5hbC5oICQoSU5DRElSKS9iZmRsaW5rLmggJChJTkNESVIpL2VsZi9zaC5oIFwKKyAgJChJTkNESVIpL2VsZi9yZWxvYy1tYWNyb3MuaCAkKEJGRERJUikvZWxmMzItc2g2NC5oCiBzaDY0LW9wYy5sbzogc2g2NC1vcGMuYyBzaDY0LW9wYy5oCiBzcGFyYy1kaXMubG86IHNwYXJjLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9zcGFyYy5oICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9kaXMtYXNtLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggb3BpbnRsLmgKKyAgJChJTkNESVIpL29wY29kZS9zcGFyYy5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgXAorICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKKyAgb3BpbnRsLmgKIHNwYXJjLW9wYy5sbzogc3BhcmMtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvb3Bjb2RlL3NwYXJjLmggJChJTkNESVIpL2Fuc2lkZWNsLmgKKyAgJChJTkNESVIpL29wY29kZS9zcGFyYy5oCiBzcHUtZGlzLmxvOiBzcHUtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvc3B1LmggJChJTkNESVIpL29wY29kZS9zcHUtaW5zbnMuaAotc3B1LW9wYy5sbzogc3B1LW9wYy5jICQoSU5DRElSKS9vcGNvZGUvc3B1LmggJChJTkNESVIpL29wY29kZS9zcHUtaW5zbnMuaCBcCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvc3B1LmggXAogICAkKElOQ0RJUikvb3Bjb2RlL3NwdS1pbnNucy5oCitzcHUtb3BjLmxvOiBzcHUtb3BjLmMgJChJTkNESVIpL29wY29kZS9zcHUuaCAkKElOQ0RJUikvb3Bjb2RlL3NwdS1pbnNucy5oCiB0aWMzMC1kaXMubG86IHRpYzMwLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL3RpYzMwLmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS90aWMzMC5oCiB0aWM0eC1kaXMubG86IHRpYzR4LWRpcy5jICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKICAgJChJTkNESVIpL29wY29kZS90aWM0eC5oCiB0aWM1NHgtZGlzLmxvOiB0aWM1NHgtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBcCi0gICQoSU5DRElSKS9vcGNvZGUvdGljNTR4LmggJChJTkNESVIpL2NvZmYvdGljNTR4LmggJChJTkNESVIpL2NvZmYvdGkuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL3RpYzU0eC5oIFwKKyAgJChJTkNESVIpL2NvZmYvdGljNTR4LmggJChJTkNESVIpL2NvZmYvdGkuaAogdGljNTR4LW9wYy5sbzogdGljNTR4LW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL3RpYzU0eC5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvdGljNTR4LmgKIHRpYzgwLWRpcy5sbzogdGljODAtZGlzLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL3RpYzgwLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaAorICAkKElOQ0RJUikvc3ltY2F0LmgKIHRpYzgwLW9wYy5sbzogdGljODAtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL3RpYzgwLmgKIHY4NTAtZGlzLmxvOiB2ODUwLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL29wY29kZS92ODUwLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCBvcGludGwuaAorICAkKElOQ0RJUikvc3ltY2F0Lmggb3BpbnRsLmgKIHY4NTAtb3BjLmxvOiB2ODUwLW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKICAgJChJTkNESVIpL29wY29kZS92ODUwLmggb3BpbnRsLmgKIHZheC1kaXMubG86IHZheC1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvdmF4LmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaAotdzY1LWRpcy5sbzogdzY1LWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgdzY1LW9wYy5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggXAogICAkKElOQ0RJUikvc3ltY2F0LmgKK3c2NS1kaXMubG86IHc2NS1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCisgIHc2NS1vcGMuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaAogeGMxNngtYXNtLmxvOiB4YzE2eC1hc20uYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICB4YzE2eC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCB4YzE2eC1vcGMuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKKyAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIHhjMTZ4LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAorICB4YzE2eC1vcGMuaCBvcGludGwuaCAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaCBcCisgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCiB4YzE2eC1kZXNjLmxvOiB4YzE2eC1kZXNjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgeGMxNngtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggeGMxNngtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggeGMxNngtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIHhjMTZ4LW9wYy5oIG9waW50bC5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oCiB4YzE2eC1kaXMubG86IHhjMTZ4LWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgeGMxNngtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggeGMxNngtb3BjLmggXAotICBvcGludGwuaAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggXAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCB4YzE2eC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKKyAgeGMxNngtb3BjLmggb3BpbnRsLmgKIHhjMTZ4LWlibGQubG86IHhjMTZ4LWlibGQuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIHhjMTZ4LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggXAotICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgeGMxNngtb3BjLmggb3BpbnRsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAoteGMxNngtb3BjLmxvOiB4YzE2eC1vcGMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggXAotICB4YzE2eC1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCB4YzE2eC1vcGMuaCBcCi0gICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaAoteHN0b3JteTE2LWFzbS5sbzogeHN0b3JteTE2LWFzbS5jIHN5c2RlcC5oIGNvbmZpZy5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIHhzdG9ybXkxNi1kZXNjLmggXAorICAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCB4YzE2eC1kZXNjLmggXAogICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIHhzdG9ybXkxNi1vcGMuaCBcCi0gIG9waW50bC5oICQoSU5DRElSKS94cmVnZXguaCAkKElOQ0RJUikveHJlZ2V4Mi5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCB4YzE2eC1vcGMuaCBvcGludGwuaCBcCisgICQoSU5DRElSKS9zYWZlLWN0eXBlLmgKK3hjMTZ4LW9wYy5sbzogeGMxNngtb3BjLmMgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAorICAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggeGMxNngtZGVzYy5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCisgIHhjMTZ4LW9wYy5oICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaAoreHN0b3JteTE2LWFzbS5sbzogeHN0b3JteTE2LWFzbS5jIHN5c2RlcC5oIGNvbmZpZy5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIHhzdG9ybXkxNi1kZXNjLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggeHN0b3JteTE2LW9wYy5oIG9waW50bC5oIFwKKyAgJChJTkNESVIpL3hyZWdleC5oICQoSU5DRElSKS94cmVnZXgyLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKICAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3NhZmUtY3R5cGUuaAogeHN0b3JteTE2LWRlc2MubG86IHhzdG9ybXkxNi1kZXNjLmMgc3lzZGVwLmggY29uZmlnLmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvc3ltY2F0LmggeHN0b3JteTE2LWRlc2MuaCBcCisgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCB4c3Rvcm15MTYtZGVzYy5oIFwKICAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCB4c3Rvcm15MTYtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikvbGliaWJlcnR5LmggJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikveHJlZ2V4LmggJChJTkNESVIpL3hyZWdleDIuaAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggeHN0b3JteTE2LW9wYy5oIG9waW50bC5oIFwKKyAgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS94cmVnZXguaCBcCisgICQoSU5DRElSKS94cmVnZXgyLmgKIHhzdG9ybXkxNi1kaXMubG86IHhzdG9ybXkxNi1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9saWJpYmVydHkuaCBcCi0gICQoSU5DRElSKS9hbnNpZGVjbC5oIHhzdG9ybXkxNi1kZXNjLmggJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIFwKLSAgJChJTkNESVIpL29wY29kZS9jZ2VuLmggJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCBcCi0gIHhzdG9ybXkxNi1vcGMuaCBvcGludGwuaAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCBcCisgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCB4c3Rvcm15MTYtZGVzYy5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKKyAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oIHhzdG9ybXkxNi1vcGMuaCBvcGludGwuaAogeHN0b3JteTE2LWlibGQubG86IHhzdG9ybXkxNi1pYmxkLmMgc3lzZGVwLmggY29uZmlnLmggXAotICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaCB4c3Rvcm15MTYtZGVzYy5oIFwKLSAgJChJTkNESVIpL29wY29kZS9jZ2VuLWJpdHNldC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi5oIFwKLSAgJChJTkNESVIpL3N5bWNhdC5oICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCB4c3Rvcm15MTYtb3BjLmggXAotICBvcGludGwuaCAkKElOQ0RJUikvc2FmZS1jdHlwZS5oCisgICQoSU5DRElSKS9hbnNpZGVjbC5oICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIFwKKyAgeHN0b3JteTE2LWRlc2MuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggJChJTkNESVIpL29wY29kZS9jZ2VuLmggXAorICAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggeHN0b3JteTE2LW9wYy5oIG9waW50bC5oIFwKKyAgJChJTkNESVIpL3NhZmUtY3R5cGUuaAogeHN0b3JteTE2LW9wYy5sbzogeHN0b3JteTE2LW9wYy5jIHN5c2RlcC5oIGNvbmZpZy5oIFwKLSAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggXAotICAkKElOQ0RJUikvc3ltY2F0LmggJChJTkNESVIpL3N5bWNhdC5oIHhzdG9ybXkxNi1kZXNjLmggXAorICAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmggeHN0b3JteTE2LWRlc2MuaCBcCiAgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4uaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaCAkKElOQ0RJUikvb3Bjb2RlL2NnZW4tYml0c2V0LmggeHN0b3JteTE2LW9wYy5oIFwKLSAgJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oCisgICQoSU5DRElSKS9vcGNvZGUvY2dlbi1iaXRzZXQuaCB4c3Rvcm15MTYtb3BjLmggJChJTkNESVIpL2xpYmliZXJ0eS5oIFwKKyAgJChJTkNESVIpL2Fuc2lkZWNsLmgKIHh0ZW5zYS1kaXMubG86IHh0ZW5zYS1kaXMuYyAkKElOQ0RJUikveHRlbnNhLWlzYS5oIFwKICAgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL2xpYmliZXJ0eS5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgc3lzZGVwLmggY29uZmlnLmggJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9zeW1jYXQuaAorICBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvZGlzLWFzbS5oICQoQkZEX0gpICQoSU5DRElSKS9zeW1jYXQuaAogejgwLWRpcy5sbzogejgwLWRpcy5jIHN5c2RlcC5oIGNvbmZpZy5oICQoSU5DRElSKS9hbnNpZGVjbC5oIFwKLSAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvYW5zaWRlY2wuaCAkKElOQ0RJUikvc3ltY2F0LmgKKyAgJChJTkNESVIpL2Rpcy1hc20uaCAkKEJGRF9IKSAkKElOQ0RJUikvc3ltY2F0LmgKIHo4ay1kaXMubG86IHo4ay1kaXMuYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCi0gICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL2Fuc2lkZWNsLmggJChJTkNESVIpL3N5bWNhdC5oIFwKLSAgejhrLW9wYy5oCisgICQoSU5DRElSKS9kaXMtYXNtLmggJChCRkRfSCkgJChJTkNESVIpL3N5bWNhdC5oIHo4ay1vcGMuaAogejhrZ2VuLmxvOiB6OGtnZW4uYyBzeXNkZXAuaCBjb25maWcuaCAkKElOQ0RJUikvYW5zaWRlY2wuaCBcCiAgICQoSU5DRElSKS9saWJpYmVydHkuaCAkKElOQ0RJUikvYW5zaWRlY2wuaAogIyBJRiBZT1UgUFVUIEFOWVRISU5HIEhFUkUgSVQgV0lMTCBHTyBBV0FZCmRpZmYgLS1naXQgYS9vcGNvZGVzL2FjbG9jYWwubTQgYi9vcGNvZGVzL2FjbG9jYWwubTQKaW5kZXggNTBlN2UyMy4uYjFiNDc5NiAxMDA2NDQKLS0tIGEvb3Bjb2Rlcy9hY2xvY2FsLm00CisrKyBiL29wY29kZXMvYWNsb2NhbC5tNApAQCAtODcyLDMgKzg3Miw0IEBACiBtNF9pbmNsdWRlKFsuLi9sdG9wdGlvbnMubTRdKQogbTRfaW5jbHVkZShbLi4vbHRzdWdhci5tNF0pCiBtNF9pbmNsdWRlKFsuLi9sdHZlcnNpb24ubTRdKQorbTRfaW5jbHVkZShbLi4vbHR+b2Jzb2xldGUubTRdKQpkaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9jb25maWd1cmUgYi9vcGNvZGVzL2NvbmZpZ3VyZQppbmRleCA4MGZjMDljLi45MDI5MWE5IDEwMDc1NQotLS0gYS9vcGNvZGVzL2NvbmZpZ3VyZQorKysgYi9vcGNvZGVzL2NvbmZpZ3VyZQpAQCAtNDU4LDcgKzQ1OCw3IEBACiAjIGluY2x1ZGUgPHVuaXN0ZC5oPgogI2VuZGlmIgogCi1hY19zdWJzdF92YXJzPSdTSEVMTCBQQVRIX1NFUEFSQVRPUiBQQUNLQUdFX05BTUUgUEFDS0FHRV9UQVJOQU1FIFBBQ0tBR0VfVkVSU0lPTiBQQUNLQUdFX1NUUklORyBQQUNLQUdFX0JVR1JFUE9SVCBleGVjX3ByZWZpeCBwcmVmaXggcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSBiaW5kaXIgc2JpbmRpciBsaWJleGVjZGlyIGRhdGFkaXIgc3lzY29uZmRpciBzaGFyZWRzdGF0ZWRpciBsb2NhbHN0YXRlZGlyIGxpYmRpciBpbmNsdWRlZGlyIG9sZGluY2x1ZGVkaXIgaW5mb2RpciBtYW5kaXIgYnVpbGRfYWxpYXMgaG9zdF9hbGlhcyB0YXJnZXRfYWxpYXMgREVGUyBFQ0hPX0MgRUNIT19OIEVDSE9fVCBMSUJTIGJ1aWxkIGJ1aWxkX2NwdSBidWlsZF92ZW5kb3IgYnVpbGRfb3MgaG9zdCBob3N0X2NwdSBob3N0X3ZlbmRvciBob3N0X29zIHRhcmdldCB0YXJnZXRfY3B1IHRhcmdldF92ZW5kb3IgdGFyZ2V0X29zIENDIENGTEFHUyBMREZMQUdTIENQUEZMQUdTIGFjX2N0X0NDIEVYRUVYVCBPQkpFWFQgSU5TVEFMTF9QUk9HUkFNIElOU1RBTExfU0NSSVBUIElOU1RBTExfREFUQSBDWUdQQVRIX1cgUEFDS0FHRSBWRVJTSU9OIEFDTE9DQUwgQVVUT0NPTkYgQVVUT01BS0UgQVVUT0hFQURFUiBNQUtFSU5GTyBpbnN0YWxsX3NoIFNUUklQIGFjX2N0X1NUUklQIElOU1RBTExfU1RSSVBfUFJPR1JBTSBta2Rpcl9wIEFXSyBTRVRfTUFLRSBhbV9fbGVhZGluZ19kb3QgQU1UQVIgYW1fX3RhciBhbV9fdW50YXIgREVQRElSIGFtX19pbmNsdWRlIGFtX19xdW90ZSBBTURFUF9UUlVFIEFNREVQX0ZBTFNFIEFNREVQQkFDS1NMQVNIIENDREVQTU9ERSBhbV9fZmFzdGRlcENDX1RSVUUgYW1fX2Zhc3RkZXBDQ19GQUxTRSBDUFAgRUdSRVAgQVIgYWNfY3RfQVIgUkFOTElCIGFjX2N0X1JBTkxJQiBMSUJUT09MIFNFRCBGR1JFUCBHUkVQIExEIERVTVBCSU4gYWNfY3RfRFVNUEJJTiBOTSBMTl9TIGx0X0VDSE8gV0FSTl9DRkxBR1MgTk9fV0VSUk9SIE1BSU5UQUlORVJfTU9ERV9UUlVFIE1BSU5UQUlORVJfTU9ERV9GQUxTRSBNQUlOVCBJTlNUQUxMX0xJQkJGRF9UUlVFIElOU1RBTExfTElCQkZEX0ZBTFNFIGhvc3Rfbm9uY2Fub25pY2FsIHRhcmdldF9ub25jYW5vbmljYWwgYmZkbGliZGlyIGJmZGluY2x1ZGVkaXIgVVNFX05MUyBMSUJJTlRMIExJQklOVExfREVQIElOQ0lOVEwgWEdFVFRFWFQgR01TR0ZNVCBQT1NVQiBDQVRBTE9HUyBEQVRBRElSTkFNRSBJTlNUT0JKRVhUIEdFTkNBVCBDQVRPQkpFWFQgTUtJTlNUQUxMRElSUyBNU0dGTVQgTVNHTUVSR0UgQ0NfRk9SX0JVSUxEIEVYRUVYVF9GT1JfQlVJTEQgSERFRklORVMgQ0dFTl9NQUlOVF9UUlVFIENHRU5fTUFJTlRfRkFMU0UgY2dlbmRpciBTSEFSRURfTERGTEFHUyBTSEFSRURfTElCQUREIFNIQVJFRF9ERVBFTkRFTkNJRVMgYXJjaGRlZnMgQkZEX01BQ0hJTkVTIExJQk9CSlMgTFRMSUJPQkpTJworYWNfc3Vic3RfdmFycz0nU0hFTEwgUEFUSF9TRVBBUkFUT1IgUEFDS0FHRV9OQU1FIFBBQ0tBR0VfVEFSTkFNRSBQQUNLQUdFX1ZFUlNJT04gUEFDS0FHRV9TVFJJTkcgUEFDS0FHRV9CVUdSRVBPUlQgZXhlY19wcmVmaXggcHJlZml4IHByb2dyYW1fdHJhbnNmb3JtX25hbWUgYmluZGlyIHNiaW5kaXIgbGliZXhlY2RpciBkYXRhZGlyIHN5c2NvbmZkaXIgc2hhcmVkc3RhdGVkaXIgbG9jYWxzdGF0ZWRpciBsaWJkaXIgaW5jbHVkZWRpciBvbGRpbmNsdWRlZGlyIGluZm9kaXIgbWFuZGlyIGJ1aWxkX2FsaWFzIGhvc3RfYWxpYXMgdGFyZ2V0X2FsaWFzIERFRlMgRUNIT19DIEVDSE9fTiBFQ0hPX1QgTElCUyBidWlsZCBidWlsZF9jcHUgYnVpbGRfdmVuZG9yIGJ1aWxkX29zIGhvc3QgaG9zdF9jcHUgaG9zdF92ZW5kb3IgaG9zdF9vcyB0YXJnZXQgdGFyZ2V0X2NwdSB0YXJnZXRfdmVuZG9yIHRhcmdldF9vcyBDQyBDRkxBR1MgTERGTEFHUyBDUFBGTEFHUyBhY19jdF9DQyBFWEVFWFQgT0JKRVhUIElOU1RBTExfUFJPR1JBTSBJTlNUQUxMX1NDUklQVCBJTlNUQUxMX0RBVEEgQ1lHUEFUSF9XIFBBQ0tBR0UgVkVSU0lPTiBBQ0xPQ0FMIEFVVE9DT05GIEFVVE9NQUtFIEFVVE9IRUFERVIgTUFLRUlORk8gaW5zdGFsbF9zaCBTVFJJUCBhY19jdF9TVFJJUCBJTlNUQUxMX1NUUklQX1BST0dSQU0gbWtkaXJfcCBBV0sgU0VUX01BS0UgYW1fX2xlYWRpbmdfZG90IEFNVEFSIGFtX190YXIgYW1fX3VudGFyIERFUERJUiBhbV9faW5jbHVkZSBhbV9fcXVvdGUgQU1ERVBfVFJVRSBBTURFUF9GQUxTRSBBTURFUEJBQ0tTTEFTSCBDQ0RFUE1PREUgYW1fX2Zhc3RkZXBDQ19UUlVFIGFtX19mYXN0ZGVwQ0NfRkFMU0UgQ1BQIEVHUkVQIEFSIGFjX2N0X0FSIFJBTkxJQiBhY19jdF9SQU5MSUIgTElCVE9PTCBTRUQgRkdSRVAgR1JFUCBMRCBEVU1QQklOIGFjX2N0X0RVTVBCSU4gTk0gTE5fUyBPQkpEVU1QIGFjX2N0X09CSkRVTVAgbHRfRUNITyBEU1lNVVRJTCBhY19jdF9EU1lNVVRJTCBOTUVESVQgYWNfY3RfTk1FRElUIExJUE8gYWNfY3RfTElQTyBPVE9PTCBhY19jdF9PVE9PTCBPVE9PTDY0IGFjX2N0X09UT09MNjQgV0FSTl9DRkxBR1MgTk9fV0VSUk9SIE1BSU5UQUlORVJfTU9ERV9UUlVFIE1BSU5UQUlORVJfTU9ERV9GQUxTRSBNQUlOVCBJTlNUQUxMX0xJQkJGRF9UUlVFIElOU1RBTExfTElCQkZEX0ZBTFNFIGhvc3Rfbm9uY2Fub25pY2FsIHRhcmdldF9ub25jYW5vbmljYWwgYmZkbGliZGlyIGJmZGluY2x1ZGVkaXIgVVNFX05MUyBMSUJJTlRMIExJQklOVExfREVQIElOQ0lOVEwgWEdFVFRFWFQgR01TR0ZNVCBQT1NVQiBDQVRBTE9HUyBEQVRBRElSTkFNRSBJTlNUT0JKRVhUIEdFTkNBVCBDQVRPQkpFWFQgTUtJTlNUQUxMRElSUyBNU0dGTVQgTVNHTUVSR0UgQ0NfRk9SX0JVSUxEIEVYRUVYVF9GT1JfQlVJTEQgSERFRklORVMgQ0dFTl9NQUlOVF9UUlVFIENHRU5fTUFJTlRfRkFMU0UgY2dlbmRpciBTSEFSRURfTERGTEFHUyBTSEFSRURfTElCQUREIFNIQVJFRF9ERVBFTkRFTkNJRVMgYXJjaGRlZnMgQkZEX01BQ0hJTkVTIExJQk9CSlMgTFRMSUJPQkpTJwogYWNfc3Vic3RfZmlsZXM9JycKIGFjX3B3ZD1gcHdkYAogCkBAIC00OTMwLDEwICs0OTMwLDE3IEBACiAKIAogCitjYXNlIGBwd2RgIGluCisgICpcICogfCAqXAkqKQorICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IExpYnRvb2wgZG9lcyBub3QgY29wZSB3ZWxsIHdpdGggd2hpdGVzcGFjZSBpbiBcYHB3ZFxgIiA+JjUKK2VjaG8gIiRhc19tZTogV0FSTklORzogTGlidG9vbCBkb2VzIG5vdCBjb3BlIHdlbGwgd2l0aCB3aGl0ZXNwYWNlIGluIFxgcHdkXGAiID4mMjt9IDs7Citlc2FjCiAKIAotbWFjcm9fdmVyc2lvbj0nMi4xYScKLW1hY3JvX3JldmlzaW9uPScxLjI0MzUnCisKK21hY3JvX3ZlcnNpb249JzIuMi42JworbWFjcm9fcmV2aXNpb249JzEuMzAxMicKKwogCiAKIApAQCAtNDk0OCw5NCArNDk1NSw2IEBACiAKIGx0bWFpbj0iJGFjX2F1eF9kaXIvbHRtYWluLnNoIgogCi0jIFNldCBvcHRpb25zCi0KLWVuYWJsZV9kbG9wZW49bm8KLQotCi1lbmFibGVfd2luMzJfZGxsPW5vCi0KLQotCi0jIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtc3RhdGljIG9yIC0tZGlzYWJsZS1zdGF0aWMgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVfc3RhdGljK3NldH0iID0gc2V0OyB0aGVuCi0gIGVuYWJsZXZhbD0iJGVuYWJsZV9zdGF0aWMiCi0gIHA9JHtQQUNLQUdFLWRlZmF1bHR9Ci0gICAgY2FzZSAkZW5hYmxldmFsIGluCi0gICAgeWVzKSBlbmFibGVfc3RhdGljPXllcyA7OwotICAgIG5vKSBlbmFibGVfc3RhdGljPW5vIDs7Ci0gICAgKikKLSAgICAgZW5hYmxlX3N0YXRpYz1ubwotICAgICAgIyBMb29rIGF0IHRoZSBhcmd1bWVudCB3ZSBnb3QuICBXZSB1c2UgYWxsIHRoZSBjb21tb24gbGlzdCBzZXBhcmF0b3JzLgotICAgICAgbHRfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSRQQVRIX1NFUEFSQVRPUiwiCi0gICAgICBmb3IgcGtnIGluICRlbmFibGV2YWw7IGRvCi0JSUZTPSIkbHRfc2F2ZV9pZnMiCi0JaWYgdGVzdCAiWCRwa2ciID0gIlgkcCI7IHRoZW4KLQkgIGVuYWJsZV9zdGF0aWM9eWVzCi0JZmkKLSAgICAgIGRvbmUKLSAgICAgIElGUz0iJGx0X3NhdmVfaWZzIgotICAgICAgOzsKLSAgICBlc2FjCi1lbHNlCi0gIGVuYWJsZV9zdGF0aWM9eWVzCi1maTsKLQotCi0KLQotCi0KLQotCi0KLSMgQ2hlY2sgd2hldGhlciAtLXdpdGgtcGljIG9yIC0td2l0aG91dC1waWMgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHt3aXRoX3BpYytzZXR9IiA9IHNldDsgdGhlbgotICB3aXRodmFsPSIkd2l0aF9waWMiCi0gIHBpY19tb2RlPSIkd2l0aHZhbCIKLWVsc2UKLSAgcGljX21vZGU9ZGVmYXVsdAotZmk7Ci0KLXRlc3QgLXogIiRwaWNfbW9kZSIgJiYgcGljX21vZGU9ZGVmYXVsdAotCi0KLQotCi0KLQotCi0jIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtZmFzdC1pbnN0YWxsIG9yIC0tZGlzYWJsZS1mYXN0LWluc3RhbGwgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVfZmFzdF9pbnN0YWxsK3NldH0iID0gc2V0OyB0aGVuCi0gIGVuYWJsZXZhbD0iJGVuYWJsZV9mYXN0X2luc3RhbGwiCi0gIHA9JHtQQUNLQUdFLWRlZmF1bHR9Ci0gICAgY2FzZSAkZW5hYmxldmFsIGluCi0gICAgeWVzKSBlbmFibGVfZmFzdF9pbnN0YWxsPXllcyA7OwotICAgIG5vKSBlbmFibGVfZmFzdF9pbnN0YWxsPW5vIDs7Ci0gICAgKikKLSAgICAgIGVuYWJsZV9mYXN0X2luc3RhbGw9bm8KLSAgICAgICMgTG9vayBhdCB0aGUgYXJndW1lbnQgd2UgZ290LiAgV2UgdXNlIGFsbCB0aGUgY29tbW9uIGxpc3Qgc2VwYXJhdG9ycy4KLSAgICAgIGx0X3NhdmVfaWZzPSIkSUZTIjsgSUZTPSIke0lGU30kUEFUSF9TRVBBUkFUT1IsIgotICAgICAgZm9yIHBrZyBpbiAkZW5hYmxldmFsOyBkbwotCUlGUz0iJGx0X3NhdmVfaWZzIgotCWlmIHRlc3QgIlgkcGtnIiA9ICJYJHAiOyB0aGVuCi0JICBlbmFibGVfZmFzdF9pbnN0YWxsPXllcwotCWZpCi0gICAgICBkb25lCi0gICAgICBJRlM9IiRsdF9zYXZlX2lmcyIKLSAgICAgIDs7Ci0gICAgZXNhYwotZWxzZQotICBlbmFibGVfZmFzdF9pbnN0YWxsPXllcwotZmk7Ci0KLQotCi0KLQotCi0KLQogZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dCIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dC4uLiAkRUNIT19DIiA+JjYKIGlmIHRlc3QgIiR7bHRfY3ZfcGF0aF9TRUQrc2V0fSIgPSBzZXQ7IHRoZW4KQEAgLTUyNTYsNyArNTE3NSw2IEBACiAKIAogCi0KIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgQlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSkiID4mNQogZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgQlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSkuLi4gJEVDSE9fQyIgPiY2CiBpZiB0ZXN0ICIke2x0X2N2X3BhdGhfTk0rc2V0fSIgPSBzZXQ7IHRoZW4KQEAgLTU0MTgsMTMgKzUzMzYsMTMgQEAKIGVsc2UKICAgbHRfY3Zfbm1faW50ZXJmYWNlPSJCU0Qgbm0iCiAgIGVjaG8gImludCBzb21lX3ZhcmlhYmxlID0gMDsiID4gY29uZnRlc3QuJGFjX2V4dAotICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NTQyMTogJGFjX2NvbXBpbGVcIiIgPiY1KQorICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NTMzOTogJGFjX2NvbXBpbGVcIiIgPiY1KQogICAoZXZhbCAiJGFjX2NvbXBpbGUiIDI+Y29uZnRlc3QuZXJyKQogICBjYXQgY29uZnRlc3QuZXJyID4mNQotICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NTQyNDogJE5NIFxcXCJjb25mdGVzdC4kYWNfb2JqZXh0XFxcIlwiIiA+JjUpCisgIChldmFsIGVjaG8gIlwiXCRhc19tZTo1MzQyOiAkTk0gXFxcImNvbmZ0ZXN0LiRhY19vYmpleHRcXFwiXCIiID4mNSkKICAgKGV2YWwgIiROTSBcImNvbmZ0ZXN0LiRhY19vYmpleHRcIiIgMj5jb25mdGVzdC5lcnIgPiBjb25mdGVzdC5vdXQpCiAgIGNhdCBjb25mdGVzdC5lcnIgPiY1Ci0gIChldmFsIGVjaG8gIlwiXCRhc19tZTo1NDI3OiBvdXRwdXRcIiIgPiY1KQorICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NTM0NTogb3V0cHV0XCIiID4mNSkKICAgY2F0IGNvbmZ0ZXN0Lm91dCA+JjUKICAgaWYgJEdSRVAgJ0V4dGVybmFsLipzb21lX3ZhcmlhYmxlJyBjb25mdGVzdC5vdXQgPiAvZGV2L251bGw7IHRoZW4KICAgICBsdF9jdl9ubV9pbnRlcmZhY2U9Ik1TIGR1bXBiaW4iCkBAIC01NDcwLDcgKzUzODgsNyBAQAogICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj0tMTsKICAgICA7OwogCi0gIGN5Z3dpbiogfCBtaW5ndyopCisgIGN5Z3dpbiogfCBtaW5ndyogfCBjZWdjYyopCiAgICAgIyBPbiBXaW45eC9NRSwgdGhpcyB0ZXN0IGJsb3dzIHVwIC0tIGl0IHN1Y2NlZWRzLCBidXQgdGFrZXMKICAgICAjIGFib3V0IDUgbWludXRlcyBhcyB0aGUgdGVzdHN0cmluZyBncm93cyBleHBvbmVudGlhbGx5LgogICAgICMgV29yc2UsIHNpbmNlIDl4L01FIGFyZSBub3QgcHJlLWVtcHRpdmVseSBtdWx0aXRhc2tpbmcsCkBAIC01NTMxLDggKzU0NDksOCBAQAogICAgIGZpCiAgICAgOzsKICAgKikKLSAgICBsdF9jdl9zeXNfbWF4X2NtZF9sZW49YGdldGNvbmYgQVJHX01BWCAyPiAvZGV2L251bGxgCi0gICAgaWYgdGVzdCAtbiAkbHRfY3Zfc3lzX21heF9jbWRfbGVuOyB0aGVuCisgICAgbHRfY3Zfc3lzX21heF9jbWRfbGVuPWAoZ2V0Y29uZiBBUkdfTUFYKSAyPiAvZGV2L251bGxgCisgICAgaWYgdGVzdCAtbiAiJGx0X2N2X3N5c19tYXhfY21kX2xlbiI7IHRoZW4KICAgICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj1gZXhwciAkbHRfY3Zfc3lzX21heF9jbWRfbGVuIFwvIDRgCiAgICAgICBsdF9jdl9zeXNfbWF4X2NtZF9sZW49YGV4cHIgJGx0X2N2X3N5c19tYXhfY21kX2xlbiBcKiAzYAogICAgIGVsc2UKQEAgLTU1NzksNyArNTQ5Nyw2IEBACiAKIAogCi0KIDogJHtDUD0iY3AgLWYifQogOiAke01WPSJtdiAtZiJ9CiA6ICR7Uk09InJtIC1mIn0KQEAgLTU1OTAsNyArNTUwNyw5IEBACiB4c2lfc2hlbGw9bm8KICggX2x0X2R1bW15PSJhL2IvYyIKICAgdGVzdCAiJHtfbHRfZHVtbXkjIyovfSwke19sdF9kdW1teSUvKn0sIiR7X2x0X2R1bW15JSIkX2x0X2R1bW15In0sIFwKLSAgICAgID0gYyxhL2IsLCApID4vZGV2L251bGwgMj4mMSBcCisgICAgICA9IGMsYS9iLCwgXAorICAgICYmIGV2YWwgJ3Rlc3QgJCgoIDEgKyAxICkpIC1lcSAyIFwKKyAgICAmJiB0ZXN0ICIkeyNfbHRfZHVtbXl9IiAtZXEgNScgKSA+L2Rldi9udWxsIDI+JjEgXAogICAmJiB4c2lfc2hlbGw9eWVzCiBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkeHNpX3NoZWxsIiA+JjUKIGVjaG8gIiR7RUNIT19UfSR4c2lfc2hlbGwiID4mNgpAQCAtNTY3MCw2ICs1NTg5LDk1IEBACiAKIAogCitpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1vYmpkdW1wIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW9iamR1bXA7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfT0JKRFVNUCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkT0JKRFVNUCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19PQkpEVU1QPSIkT0JKRFVNUCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfT0JKRFVNUD0iJHthY190b29sX3ByZWZpeH1vYmpkdW1wIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKK2ZpCitmaQorT0JKRFVNUD0kYWNfY3ZfcHJvZ19PQkpEVU1QCitpZiB0ZXN0IC1uICIkT0JKRFVNUCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJE9CSkRVTVAiID4mNQorZWNobyAiJHtFQ0hPX1R9JE9CSkRVTVAiID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfT0JKRFVNUCI7IHRoZW4KKyAgYWNfY3RfT0JKRFVNUD0kT0JKRFVNUAorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9iamR1bXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG9iamR1bXA7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfT0JKRFVNUCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9PQkpEVU1QPSIkYWNfY3RfT0JKRFVNUCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUD0ib2JqZHVtcCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCisgIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X09CSkRVTVAiICYmIGFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUD0iZmFsc2UiCitmaQorZmkKK2FjX2N0X09CSkRVTVA9JGFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUAoraWYgdGVzdCAtbiAiJGFjX2N0X09CSkRVTVAiOyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9PQkpEVU1QIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRhY19jdF9PQkpEVU1QIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBPQkpEVU1QPSRhY19jdF9PQkpEVU1QCitlbHNlCisgIE9CSkRVTVA9IiRhY19jdl9wcm9nX09CSkRVTVAiCitmaQorCit0ZXN0IC16ICIkT0JKRFVNUCIgJiYgT0JKRFVNUD1vYmpkdW1wCisKKworCisKKworCisKKwogCiBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgaG93IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVzIiA+JjUKIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgaG93IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVzLi4uICRFQ0hPX0MiID4mNgpAQCAtNTcyNCw2ICs1NzMyLDEyIEBACiAgIGZpCiAgIDs7CiAKK2NlZ2NjKQorICAjIHVzZSB0aGUgd2Vha2VyIHRlc3QgYmFzZWQgb24gJ29iamR1bXAnLiBTZWUgbWluZ3cqLgorICBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD0nZmlsZV9tYWdpYyBmaWxlIGZvcm1hdCBwZS1hcm0tLipsaXR0bGUoLiphcmNoaXRlY3R1cmU6IGFybSk/JworICBsdF9jdl9maWxlX21hZ2ljX2NtZD0nJE9CSkRVTVAgLWYnCisgIDs7CisKIGRhcndpbiogfCByaGFwc29keSopCiAgIGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kPXBhc3NfYWxsCiAgIDs7CkBAIC02MTQ2LDcgKzYxNjAsNyBAQAogCiAKICMgRGV0ZXJtaW5lIGNvbW1hbmRzIHRvIGNyZWF0ZSBvbGQtc3R5bGUgc3RhdGljIGFyY2hpdmVzLgotb2xkX2FyY2hpdmVfY21kcz0nJEFSICRBUl9GTEFHUyAkb2xkbGliJG9sZG9ianMkb2xkX2RlcGxpYnMnCitvbGRfYXJjaGl2ZV9jbWRzPSckQVIgJEFSX0ZMQUdTICRvbGRsaWIkb2xkb2JqcycKIG9sZF9wb3N0aW5zdGFsbF9jbWRzPSdjaG1vZCA2NDQgJG9sZGxpYicKIG9sZF9wb3N0dW5pbnN0YWxsX2NtZHM9CiAKQEAgLTYyMjYsNyArNjI0MCw3IEBACiBhaXgqKQogICBzeW1jb2RlPSdbQkNEVF0nCiAgIDs7Ci1jeWd3aW4qIHwgbWluZ3cqIHwgcHczMiopCitjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgIHN5bWNvZGU9J1tBQkNER0lTVFddJwogICA7OwogaHB1eCopCkBAIC02MjcwLDYgKzYyODQsNyBAQAogCiAjIFRyYW5zZm9ybSBhbiBleHRyYWN0ZWQgc3ltYm9sIGxpbmUgaW50byBzeW1ib2wgbmFtZSBhbmQgc3ltYm9sIGFkZHJlc3MKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSJzZWQgLW4gLWUgJ3MvXjogXChbXiBdKlwpICQvICB7XFxcIlwxXFxcIiwgKHZvaWQgKikgMH0sL3AnIC1lICdzL14kc3ltY29kZSogXChbXiBdKlwpIFwoW14gXSpcKSQvICB7XCJcMlwiLCAodm9pZCAqKSBcJlwyfSwvcCciCitsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSJzZWQgLW4gLWUgJ3MvXjogXChbXiBdKlwpICQvICB7XFxcIlwxXFxcIiwgKHZvaWQgKikgMH0sL3AnIC1lICdzL14kc3ltY29kZSogXChbXiBdKlwpIFwobGliW14gXSpcKSQvICB7XCJcMlwiLCAodm9pZCAqKSBcJlwyfSwvcCcgLWUgJ3MvXiRzeW1jb2RlKiBcKFteIF0qXCkgXChbXiBdKlwpJC8gIHtcImxpYlwyXCIsICh2b2lkICopIFwmXDJ9LC9wJyIKIAogIyBIYW5kbGUgQ1JMRiBpbiBtaW5ndyB0b29sIGNoYWluCiBvcHRfY3I9CkBAIC02NDA5LDcgKzY0MjQsNyBAQAogICAgIGVjaG8gIiRwcm9nbmFtZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CiAgICAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CiAgIGZpCi0gIHJtIC1mIGNvbmZ0ZXN0KiBjb25mdHN0KgorICBybSAtcmYgY29uZnRlc3QqIGNvbmZ0c3QqCiAKICAgIyBEbyBub3QgdXNlIHRoZSBnbG9iYWxfc3ltYm9sX3BpcGUgdW5sZXNzIGl0IHdvcmtzLgogICBpZiB0ZXN0ICIkcGlwZV93b3JrcyIgPSB5ZXM7IHRoZW4KQEAgLTY0NDgsNiArNjQ2MywxMSBAQAogCiAKIAorCisKKworCisKICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1saWJ0b29sLWxvY2sgb3IgLS1kaXNhYmxlLWxpYnRvb2wtbG9jayB3YXMgZ2l2ZW4uCiBpZiB0ZXN0ICIke2VuYWJsZV9saWJ0b29sX2xvY2src2V0fSIgPSBzZXQ7IHRoZW4KICAgZW5hYmxldmFsPSIkZW5hYmxlX2xpYnRvb2xfbG9jayIKQEAgLTY0NzksNyArNjQ5OSw3IEBACiAgIDs7CiAqLSotaXJpeDYqKQogICAjIEZpbmQgb3V0IHdoaWNoIEFCSSB3ZSBhcmUgdXNpbmcuCi0gIGVjaG8gJyNsaW5lIDY0ODIgImNvbmZpZ3VyZSInID4gY29uZnRlc3QuJGFjX2V4dAorICBlY2hvICcjbGluZSA2NTAyICJjb25maWd1cmUiJyA+IGNvbmZ0ZXN0LiRhY19leHQKICAgaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CiAgIChldmFsICRhY19jb21waWxlKSAyPiY1CiAgIGFjX3N0YXR1cz0kPwpAQCAtNjY1NCw3ICs2Njc0LDExIEBACiAgICAgKjY0LWJpdCopCiAgICAgICBjYXNlICRsdF9jdl9wcm9nX2dudV9sZCBpbgogICAgICAgeWVzKikgTEQ9IiR7TEQtbGR9IC1tIGVsZjY0X3NwYXJjIiA7OwotICAgICAgKikgICAgTEQ9IiR7TEQtbGR9IC02NCIgOzsKKyAgICAgICopCisJaWYgJHtMRC1sZH0gLTY0IC1yIC1vIGNvbmZ0ZXN0Mi5vIGNvbmZ0ZXN0Lm8gPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJICBMRD0iJHtMRC1sZH0gLTY0IgorCWZpCisJOzsKICAgICAgIGVzYWMKICAgICAgIDs7CiAgICAgZXNhYwpAQCAtNjY2Niw2ICs2NjkwLDU1OSBAQAogbmVlZF9sb2Nrcz0iJGVuYWJsZV9saWJ0b29sX2xvY2siCiAKIAorICBjYXNlICRob3N0X29zIGluCisgICAgcmhhcHNvZHkqIHwgZGFyd2luKikKKyAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1kc3ltdXRpbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1kc3ltdXRpbDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19EU1lNVVRJTCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkRFNZTVVUSUwiOyB0aGVuCisgIGFjX2N2X3Byb2dfRFNZTVVUSUw9IiREU1lNVVRJTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfRFNZTVVUSUw9IiR7YWNfdG9vbF9wcmVmaXh9ZHN5bXV0aWwiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitEU1lNVVRJTD0kYWNfY3ZfcHJvZ19EU1lNVVRJTAoraWYgdGVzdCAtbiAiJERTWU1VVElMIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkRFNZTVVUSUwiID4mNQorZWNobyAiJHtFQ0hPX1R9JERTWU1VVElMIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworZmkKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX0RTWU1VVElMIjsgdGhlbgorICBhY19jdF9EU1lNVVRJTD0kRFNZTVVUSUwKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJkc3ltdXRpbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgZHN5bXV0aWw7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfRFNZTVVUSUwrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X0RTWU1VVElMIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMPSIkYWNfY3RfRFNZTVVUSUwiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMPSJkc3ltdXRpbCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCisgIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMIiAmJiBhY19jdl9wcm9nX2FjX2N0X0RTWU1VVElMPSI6IgorZmkKK2ZpCithY19jdF9EU1lNVVRJTD0kYWNfY3ZfcHJvZ19hY19jdF9EU1lNVVRJTAoraWYgdGVzdCAtbiAiJGFjX2N0X0RTWU1VVElMIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfRFNZTVVUSUwiID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N0X0RTWU1VVElMIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBEU1lNVVRJTD0kYWNfY3RfRFNZTVVUSUwKK2Vsc2UKKyAgRFNZTVVUSUw9IiRhY19jdl9wcm9nX0RTWU1VVElMIgorZmkKKworICAgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW5tZWRpdCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1ubWVkaXQ7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfTk1FRElUK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiROTUVESVQiOyB0aGVuCisgIGFjX2N2X3Byb2dfTk1FRElUPSIkTk1FRElUIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19OTUVESVQ9IiR7YWNfdG9vbF9wcmVmaXh9bm1lZGl0IgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKK2ZpCitmaQorTk1FRElUPSRhY19jdl9wcm9nX05NRURJVAoraWYgdGVzdCAtbiAiJE5NRURJVCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJE5NRURJVCIgPiY1CitlY2hvICIke0VDSE9fVH0kTk1FRElUIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworZmkKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX05NRURJVCI7IHRoZW4KKyAgYWNfY3RfTk1FRElUPSROTUVESVQKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJubWVkaXQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG5tZWRpdDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9OTUVESVQrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X05NRURJVCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9OTUVESVQ9IiRhY19jdF9OTUVESVQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X05NRURJVD0ibm1lZGl0IgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfTk1FRElUIiAmJiBhY19jdl9wcm9nX2FjX2N0X05NRURJVD0iOiIKK2ZpCitmaQorYWNfY3RfTk1FRElUPSRhY19jdl9wcm9nX2FjX2N0X05NRURJVAoraWYgdGVzdCAtbiAiJGFjX2N0X05NRURJVCI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X05NRURJVCIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3RfTk1FRElUIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBOTUVESVQ9JGFjX2N0X05NRURJVAorZWxzZQorICBOTUVESVQ9IiRhY19jdl9wcm9nX05NRURJVCIKK2ZpCisKKyAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1saXBvIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWxpcG87IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfTElQTytzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkTElQTyI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19MSVBPPSIkTElQTyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfTElQTz0iJHthY190b29sX3ByZWZpeH1saXBvIgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKK2ZpCitmaQorTElQTz0kYWNfY3ZfcHJvZ19MSVBPCitpZiB0ZXN0IC1uICIkTElQTyI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJExJUE8iID4mNQorZWNobyAiJHtFQ0hPX1R9JExJUE8iID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfTElQTyI7IHRoZW4KKyAgYWNfY3RfTElQTz0kTElQTworICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImxpcG8iLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IGxpcG87IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfTElQTytzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfTElQTyI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9MSVBPPSIkYWNfY3RfTElQTyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfTElQTz0ibGlwbyIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCisgIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X0xJUE8iICYmIGFjX2N2X3Byb2dfYWNfY3RfTElQTz0iOiIKK2ZpCitmaQorYWNfY3RfTElQTz0kYWNfY3ZfcHJvZ19hY19jdF9MSVBPCitpZiB0ZXN0IC1uICIkYWNfY3RfTElQTyI7IHRoZW4KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X0xJUE8iID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N0X0xJUE8iID4mNgorZWxzZQorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CitlY2hvICIke0VDSE9fVH1ubyIgPiY2CitmaQorCisgIExJUE89JGFjX2N0X0xJUE8KK2Vsc2UKKyAgTElQTz0iJGFjX2N2X3Byb2dfTElQTyIKK2ZpCisKKyAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1vdG9vbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vdG9vbDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PVE9PTCtzZXR9IiA9IHNldDsgdGhlbgorICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkT1RPT0wiOyB0aGVuCisgIGFjX2N2X3Byb2dfT1RPT0w9IiRPVE9PTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfT1RPT0w9IiR7YWNfdG9vbF9wcmVmaXh9b3Rvb2wiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitPVE9PTD0kYWNfY3ZfcHJvZ19PVE9PTAoraWYgdGVzdCAtbiAiJE9UT09MIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkT1RPT0wiID4mNQorZWNobyAiJHtFQ0hPX1R9JE9UT09MIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworZmkKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX09UT09MIjsgdGhlbgorICBhY19jdF9PVE9PTD0kT1RPT0wKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJvdG9vbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgb3Rvb2w7IGFjX3dvcmQ9JDIKK2VjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfT1RPT0wrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X09UT09MIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09UT09MPSIkYWNfY3RfT1RPT0wiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X09UT09MPSJvdG9vbCIKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorZG9uZQorCisgIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X09UT09MIiAmJiBhY19jdl9wcm9nX2FjX2N0X09UT09MPSI6IgorZmkKK2ZpCithY19jdF9PVE9PTD0kYWNfY3ZfcHJvZ19hY19jdF9PVE9PTAoraWYgdGVzdCAtbiAiJGFjX2N0X09UT09MIjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfT1RPT0wiID4mNQorZWNobyAiJHtFQ0hPX1R9JGFjX2N0X09UT09MIiA+JjYKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorZmkKKworICBPVE9PTD0kYWNfY3RfT1RPT0wKK2Vsc2UKKyAgT1RPT0w9IiRhY19jdl9wcm9nX09UT09MIgorZmkKKworICAgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW90b29sNjQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9b3Rvb2w2NDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PVE9PTDY0K3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRPVE9PTDY0IjsgdGhlbgorICBhY19jdl9wcm9nX09UT09MNjQ9IiRPVE9PTDY0IiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19PVE9PTDY0PSIke2FjX3Rvb2xfcHJlZml4fW90b29sNjQiCisgICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKK2RvbmUKKworZmkKK2ZpCitPVE9PTDY0PSRhY19jdl9wcm9nX09UT09MNjQKK2lmIHRlc3QgLW4gIiRPVE9PTDY0IjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkT1RPT0w2NCIgPiY1CitlY2hvICIke0VDSE9fVH0kT1RPT0w2NCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKK2ZpCitpZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19PVE9PTDY0IjsgdGhlbgorICBhY19jdF9PVE9PTDY0PSRPVE9PTDY0CisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAib3Rvb2w2NCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgb3Rvb2w2NDsgYWNfd29yZD0kMgorZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PVE9PTDY0K3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRhY19jdF9PVE9PTDY0IjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09UT09MNjQ9IiRhY19jdF9PVE9PTDY0IiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19hY19jdF9PVE9PTDY0PSJvdG9vbDY0IgorICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCitkb25lCisKKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfT1RPT0w2NCIgJiYgYWNfY3ZfcHJvZ19hY19jdF9PVE9PTDY0PSI6IgorZmkKK2ZpCithY19jdF9PVE9PTDY0PSRhY19jdl9wcm9nX2FjX2N0X09UT09MNjQKK2lmIHRlc3QgLW4gIiRhY19jdF9PVE9PTDY0IjsgdGhlbgorICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfT1RPT0w2NCIgPiY1CitlY2hvICIke0VDSE9fVH0kYWNfY3RfT1RPT0w2NCIgPiY2CitlbHNlCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjYKK2ZpCisKKyAgT1RPT0w2ND0kYWNfY3RfT1RPT0w2NAorZWxzZQorICBPVE9PTDY0PSIkYWNfY3ZfcHJvZ19PVE9PTDY0IgorZmkKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIC1zaW5nbGVfbW9kdWxlIGxpbmtlciBmbGFnIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIC1zaW5nbGVfbW9kdWxlIGxpbmtlciBmbGFnLi4uICRFQ0hPX0MiID4mNgoraWYgdGVzdCAiJHtsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kK3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Q9bm8KKyAgICAgIGlmIHRlc3QgLXogIiR7TFRfTVVMVElfTU9EVUxFfSI7IHRoZW4KKwkjIEJ5IGRlZmF1bHQgd2Ugd2lsbCBhZGQgdGhlIC1zaW5nbGVfbW9kdWxlIGZsYWcuIFlvdSBjYW4gb3ZlcnJpZGUKKwkjIGJ5IGVpdGhlciBzZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBMVF9NVUxUSV9NT0RVTEUKKwkjIG5vbi1lbXB0eSBhdCBjb25maWd1cmUgdGltZSwgb3IgYnkgYWRkaW5nIC1tdWx0aV9tb2R1bGUgdG8gdGhlCisJIyBsaW5rIGZsYWdzLgorCXJtIC1yZiBsaWJjb25mdGVzdC5keWxpYioKKwllY2hvICJpbnQgZm9vKHZvaWQpe3JldHVybiAxO30iID4gY29uZnRlc3QuYworCWVjaG8gIiRMVENDICRMVENGTEFHUyAkTERGTEFHUyAtbyBsaWJjb25mdGVzdC5keWxpYiBcCistZHluYW1pY2xpYiAtV2wsLXNpbmdsZV9tb2R1bGUgY29uZnRlc3QuYyIgPiY1CisJJExUQ0MgJExUQ0ZMQUdTICRMREZMQUdTIC1vIGxpYmNvbmZ0ZXN0LmR5bGliIFwKKwkgIC1keW5hbWljbGliIC1XbCwtc2luZ2xlX21vZHVsZSBjb25mdGVzdC5jIDI+Y29uZnRlc3QuZXJyCisgICAgICAgIF9sdF9yZXN1bHQ9JD8KKwlpZiB0ZXN0IC1mIGxpYmNvbmZ0ZXN0LmR5bGliICYmIHRlc3QgISAtcyBjb25mdGVzdC5lcnIgJiYgdGVzdCAkX2x0X3Jlc3VsdCA9IDA7IHRoZW4KKwkgIGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Q9eWVzCisJZWxzZQorCSAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKwlmaQorCXJtIC1yZiBsaWJjb25mdGVzdC5keWxpYioKKwlybSAtZiBjb25mdGVzdC4qCisgICAgICBmaQorZmkKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kIiA+JjUKK2VjaG8gIiR7RUNIT19UfSRsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kIiA+JjYKKyAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIC1leHBvcnRlZF9zeW1ib2xzX2xpc3QgbGlua2VyIGZsYWciID4mNQorZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgLWV4cG9ydGVkX3N5bWJvbHNfbGlzdCBsaW5rZXIgZmxhZy4uLiAkRUNIT19DIiA+JjYKK2lmIHRlc3QgIiR7bHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0K3NldH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CitlbHNlCisgIGx0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdD1ubworICAgICAgc2F2ZV9MREZMQUdTPSRMREZMQUdTCisgICAgICBlY2hvICJfbWFpbiIgPiBjb25mdGVzdC5zeW0KKyAgICAgIExERkxBR1M9IiRMREZMQUdTIC1XbCwtZXhwb3J0ZWRfc3ltYm9sc19saXN0LGNvbmZ0ZXN0LnN5bSIKKyAgICAgIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogY29uZmRlZnMuaC4gICovCitfQUNFT0YKK2NhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogZW5kIGNvbmZkZWZzLmguICAqLworCitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0JGFjX2V4ZWV4dAoraWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfbGlua1wiIikgPiY1CisgIChldmFsICRhY19saW5rKSAyPmNvbmZ0ZXN0LmVyMQorICBhY19zdGF0dXM9JD8KKyAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKyAgcm0gLWYgY29uZnRlc3QuZXIxCisgIGNhdCBjb25mdGVzdC5lcnIgPiY1CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIgorCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnInCisgIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CisgIChldmFsICRhY190cnkpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH0gJiYKKwkgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QkYWNfZXhlZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGx0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdD15ZXMKK2Vsc2UKKyAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0PW5vCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKKwlMREZMQUdTPSIkc2F2ZV9MREZMQUdTIgorCitmaQorZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGx0X2N2X2xkX2V4cG9ydGVkX3N5bWJvbHNfbGlzdCIgPiY1CitlY2hvICIke0VDSE9fVH0kbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0IiA+JjYKKyAgICBjYXNlICRob3N0X29zIGluCisgICAgcmhhcHNvZHkqIHwgZGFyd2luMS5bMDEyXSkKKyAgICAgIF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkPScke3dsfS11bmRlZmluZWQgJHt3bH1zdXBwcmVzcycgOzsKKyAgICBkYXJ3aW4xLiopCisgICAgICBfbHRfZGFyX2FsbG93X3VuZGVmaW5lZD0nJHt3bH0tZmxhdF9uYW1lc3BhY2UgJHt3bH0tdW5kZWZpbmVkICR7d2x9c3VwcHJlc3MnIDs7CisgICAgZGFyd2luKikgIyBkYXJ3aW4gNS54IG9uCisgICAgICAjIGlmIHJ1bm5pbmcgb24gMTAuNSBvciBsYXRlciwgdGhlIGRlcGxveW1lbnQgdGFyZ2V0IGRlZmF1bHRzCisgICAgICAjIHRvIHRoZSBPUyB2ZXJzaW9uLCBpZiBvbiB4ODYsIGFuZCAxMC40LCB0aGUgZGVwbG95bWVudAorICAgICAgIyB0YXJnZXQgZGVmYXVsdHMgdG8gMTAuNC4gRG9uJ3QgeW91IGxvdmUgaXQ/CisgICAgICBjYXNlICR7TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VULTEwLjB9LCRob3N0IGluCisJMTAuMCwqODYqLWRhcndpbjgqfDEwLjAsKi1kYXJ3aW5bOTFdKikKKwkgIF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkPScke3dsfS11bmRlZmluZWQgJHt3bH1keW5hbWljX2xvb2t1cCcgOzsKKwkxMC5bMDEyXSopCisJICBfbHRfZGFyX2FsbG93X3VuZGVmaW5lZD0nJHt3bH0tZmxhdF9uYW1lc3BhY2UgJHt3bH0tdW5kZWZpbmVkICR7d2x9c3VwcHJlc3MnIDs7CisJMTAuKikKKwkgIF9sdF9kYXJfYWxsb3dfdW5kZWZpbmVkPScke3dsfS11bmRlZmluZWQgJHt3bH1keW5hbWljX2xvb2t1cCcgOzsKKyAgICAgIGVzYWMKKyAgICA7OworICBlc2FjCisgICAgaWYgdGVzdCAiJGx0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2QiID0gInllcyI7IHRoZW4KKyAgICAgIF9sdF9kYXJfc2luZ2xlX21vZD0nJHNpbmdsZV9tb2R1bGUnCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkbHRfY3ZfbGRfZXhwb3J0ZWRfc3ltYm9sc19saXN0IiA9ICJ5ZXMiOyB0aGVuCisgICAgICBfbHRfZGFyX2V4cG9ydF9zeW1zPScgJHt3bH0tZXhwb3J0ZWRfc3ltYm9sc19saXN0LCRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0nCisgICAgZWxzZQorICAgICAgX2x0X2Rhcl9leHBvcnRfc3ltcz0nfiROTUVESVQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkRFNZTVVUSUwiICE9ICI6IjsgdGhlbgorICAgICAgX2x0X2RzeW11dGlsPSd+JERTWU1VVElMICRsaWIgfHwgOicKKyAgICBlbHNlCisgICAgICBfbHRfZHN5bXV0aWw9CisgICAgZmkKKyAgICA7OworICBlc2FjCisKKwogZm9yIGFjX2hlYWRlciBpbiBkbGZjbi5oCiBkbwogYXNfYWNfSGVhZGVyPWBlY2hvICJhY19jdl9oZWFkZXJfJGFjX2hlYWRlciIgfCAkYXNfdHJfc2hgCkBAIC02NzI4LDYgKzczMDUsOTggQEAKIAogCiAKKyMgU2V0IG9wdGlvbnMKKworCisKKyAgICAgICAgZW5hYmxlX2Rsb3Blbj1ubworCisKKyAgZW5hYmxlX3dpbjMyX2RsbD1ubworCisKKworICAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtc3RhdGljIG9yIC0tZGlzYWJsZS1zdGF0aWMgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHtlbmFibGVfc3RhdGljK3NldH0iID0gc2V0OyB0aGVuCisgIGVuYWJsZXZhbD0iJGVuYWJsZV9zdGF0aWMiCisgIHA9JHtQQUNLQUdFLWRlZmF1bHR9CisgICAgY2FzZSAkZW5hYmxldmFsIGluCisgICAgeWVzKSBlbmFibGVfc3RhdGljPXllcyA7OworICAgIG5vKSBlbmFibGVfc3RhdGljPW5vIDs7CisgICAgKikKKyAgICAgZW5hYmxlX3N0YXRpYz1ubworICAgICAgIyBMb29rIGF0IHRoZSBhcmd1bWVudCB3ZSBnb3QuICBXZSB1c2UgYWxsIHRoZSBjb21tb24gbGlzdCBzZXBhcmF0b3JzLgorICAgICAgbHRfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSRQQVRIX1NFUEFSQVRPUiwiCisgICAgICBmb3IgcGtnIGluICRlbmFibGV2YWw7IGRvCisJSUZTPSIkbHRfc2F2ZV9pZnMiCisJaWYgdGVzdCAiWCRwa2ciID0gIlgkcCI7IHRoZW4KKwkgIGVuYWJsZV9zdGF0aWM9eWVzCisJZmkKKyAgICAgIGRvbmUKKyAgICAgIElGUz0iJGx0X3NhdmVfaWZzIgorICAgICAgOzsKKyAgICBlc2FjCitlbHNlCisgIGVuYWJsZV9zdGF0aWM9eWVzCitmaTsKKworCisKKworCisKKworCisKKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtcGljIG9yIC0td2l0aG91dC1waWMgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHt3aXRoX3BpYytzZXR9IiA9IHNldDsgdGhlbgorICB3aXRodmFsPSIkd2l0aF9waWMiCisgIHBpY19tb2RlPSIkd2l0aHZhbCIKK2Vsc2UKKyAgcGljX21vZGU9ZGVmYXVsdAorZmk7CisKK3Rlc3QgLXogIiRwaWNfbW9kZSIgJiYgcGljX21vZGU9ZGVmYXVsdAorCisKKworCisKKworCisgICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1mYXN0LWluc3RhbGwgb3IgLS1kaXNhYmxlLWZhc3QtaW5zdGFsbCB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9mYXN0X2luc3RhbGwrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgZW5hYmxldmFsPSIkZW5hYmxlX2Zhc3RfaW5zdGFsbCIKKyAgcD0ke1BBQ0tBR0UtZGVmYXVsdH0KKyAgICBjYXNlICRlbmFibGV2YWwgaW4KKyAgICB5ZXMpIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzIDs7CisgICAgbm8pIGVuYWJsZV9mYXN0X2luc3RhbGw9bm8gOzsKKyAgICAqKQorICAgICAgZW5hYmxlX2Zhc3RfaW5zdGFsbD1ubworICAgICAgIyBMb29rIGF0IHRoZSBhcmd1bWVudCB3ZSBnb3QuICBXZSB1c2UgYWxsIHRoZSBjb21tb24gbGlzdCBzZXBhcmF0b3JzLgorICAgICAgbHRfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSRQQVRIX1NFUEFSQVRPUiwiCisgICAgICBmb3IgcGtnIGluICRlbmFibGV2YWw7IGRvCisJSUZTPSIkbHRfc2F2ZV9pZnMiCisJaWYgdGVzdCAiWCRwa2ciID0gIlgkcCI7IHRoZW4KKwkgIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzCisJZmkKKyAgICAgIGRvbmUKKyAgICAgIElGUz0iJGx0X3NhdmVfaWZzIgorICAgICAgOzsKKyAgICBlc2FjCitlbHNlCisgIGVuYWJsZV9mYXN0X2luc3RhbGw9eWVzCitmaTsKKworCisKKworCisKKworCisKKwogIyBUaGlzIGNhbiBiZSB1c2VkIHRvIHJlYnVpbGQgbGlidG9vbCB3aGVuIG5lZWRlZAogTElCVE9PTF9ERVBTPSIkbHRtYWluIgogCkBAIC03MDc0LDcgKzc3NDMsNyBAQAogZWNobyAiJGx0X3NpbXBsZV9saW5rX3Rlc3RfY29kZSIgPmNvbmZ0ZXN0LiRhY19leHQKIGV2YWwgIiRhY19saW5rIiAyPiYxID4vZGV2L251bGwgfCAkU0VEICcvXiQvZDsgL14gKisvZCcgPmNvbmZ0ZXN0LmVycgogX2x0X2xpbmtlcl9ib2lsZXJwbGF0ZT1gY2F0IGNvbmZ0ZXN0LmVycmAKLSRSTSBjb25mdGVzdCoKKyRSTSAtciBjb25mdGVzdCoKIAogCiAjIyBDQVZFQVQgRU1QVE9SOgpAQCAtNzEwNiwxMSArNzc3NSwxMSBAQAogICAgLWUgJ3M6LipGTEFHU31cezAsMVx9IDomJGx0X2NvbXBpbGVyX2ZsYWcgOjsgdCcgXAogICAgLWUgJ3M6IFteIF0qY29uZnRlc3RcLjogJGx0X2NvbXBpbGVyX2ZsYWcmOjsgdCcgXAogICAgLWUgJ3M6JDogJGx0X2NvbXBpbGVyX2ZsYWc6J2AKLSAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo3MTA5OiAkbHRfY29tcGlsZVwiIiA+JjUpCisgICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6Nzc3ODogJGx0X2NvbXBpbGVcIiIgPiY1KQogICAgKGV2YWwgIiRsdF9jb21waWxlIiAyPmNvbmZ0ZXN0LmVycikKICAgIGFjX3N0YXR1cz0kPwogICAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKLSAgIGVjaG8gIiRhc19tZTo3MTEzOiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgIGVjaG8gIiRhc19tZTo3NzgyOiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKICAgIGlmIChleGl0ICRhY19zdGF0dXMpICYmIHRlc3QgLXMgIiRhY19vdXRmaWxlIjsgdGhlbgogICAgICAjIFRoZSBjb21waWxlciBjYW4gb25seSB3YXJuIGFuZCBpZ25vcmUgdGhlIG9wdGlvbiBpZiBub3QgcmVjb2duaXplZAogICAgICAjIFNvIHNheSBubyBpZiB0aGVyZSBhcmUgd2FybmluZ3Mgb3RoZXIgdGhhbiB0aGUgdXN1YWwgb3V0cHV0LgpAQCAtNzE2MCwxOSArNzgyOSwyNSBAQAogICAgICAgOzsKIAogICAgIGFtaWdhb3MqKQotICAgICAgaWYgdGVzdCAiJGhvc3RfY3B1IiA9IG02OGs7IHRoZW4KLSAgICAgICAgIyBGSVhNRTogd2UgbmVlZCBhdCBsZWFzdCA2ODAyMCBjb2RlIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMsIGJ1dAotICAgICAgICAjIGFkZGluZyB0aGUgYC1tNjgwMjAnIGZsYWcgdG8gR0NDIHByZXZlbnRzIGJ1aWxkaW5nIGFueXRoaW5nIGJldHRlciwKLSAgICAgICAgIyBsaWtlIGAtbTY4MDQwJy4KLSAgICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1tNjgwMjAgLXJlc2lkZW50MzIgLW1hbHdheXMtcmVzdG9yZS1hNCcKLSAgICAgIGZpCisgICAgICBjYXNlICRob3N0X2NwdSBpbgorICAgICAgcG93ZXJwYykKKyAgICAgICAgICAgICMgc2VlIGNvbW1lbnQgYWJvdXQgQW1pZ2FPUzQgLnNvIHN1cHBvcnQKKyAgICAgICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctZlBJQycKKyAgICAgICAgOzsKKyAgICAgIG02OGspCisgICAgICAgICAgICAjIEZJWE1FOiB3ZSBuZWVkIGF0IGxlYXN0IDY4MDIwIGNvZGUgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcywgYnV0CisgICAgICAgICAgICAjIGFkZGluZyB0aGUgYC1tNjgwMjAnIGZsYWcgdG8gR0NDIHByZXZlbnRzIGJ1aWxkaW5nIGFueXRoaW5nIGJldHRlciwKKyAgICAgICAgICAgICMgbGlrZSBgLW02ODA0MCcuCisgICAgICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLW02ODAyMCAtcmVzaWRlbnQzMiAtbWFsd2F5cy1yZXN0b3JlLWE0JworICAgICAgICA7OworICAgICAgZXNhYwogICAgICAgOzsKIAogICAgIGJlb3MqIHwgaXJpeDUqIHwgaXJpeDYqIHwgbm9uc3RvcHV4KiB8IG9zZjMqIHwgb3NmNCogfCBvc2Y1KikKICAgICAgICMgUElDIGlzIHRoZSBkZWZhdWx0IGZvciB0aGVzZSBPU2VzLgogICAgICAgOzsKIAotICAgIG1pbmd3KiB8IGN5Z3dpbiogfCBwdzMyKiB8IG9zMiopCisgICAgbWluZ3cqIHwgY3lnd2luKiB8IHB3MzIqIHwgb3MyKiB8IGNlZ2NjKikKICAgICAgICMgVGhpcyBoYWNrIGlzIHNvIHRoYXQgdGhlIHNvdXJjZSBmaWxlIGNhbiB0ZWxsIHdoZXRoZXIgaXQgaXMgYmVpbmcKICAgICAgICMgYnVpbHQgZm9yIGluY2x1c2lvbiBpbiBhIGRsbCAoYW5kIHNob3VsZCBleHBvcnQgc3ltYm9scyBmb3IgZXhhbXBsZSkuCiAgICAgICAjIEFsdGhvdWdoIHRoZSBjeWd3aW4gZ2NjIGlnbm9yZXMgLWZQSUMsIHN0aWxsIG5lZWQgdGhpcyBmb3Igb2xkLXN0eWxlCkBAIC03MTg3LDEwICs3ODYyLDExIEBACiAgICAgICA7OwogCiAgICAgaHB1eCopCi0gICAgICAjIFBJQyBpcyB0aGUgZGVmYXVsdCBmb3IgSUE2NCBIUC1VWCBhbmQgNjQtYml0IEhQLVVYLCBidXQKLSAgICAgICMgbm90IGZvciBQQSBIUC1VWC4KKyAgICAgICMgUElDIGlzIHRoZSBkZWZhdWx0IGZvciA2NC1iaXQgUEEgSFAtVVgsIGJ1dCBub3QgZm9yIDMyLWJpdAorICAgICAgIyBQQSBIUC1VWC4gIE9uIElBNjQgSFAtVVgsIFBJQyBpcyB0aGUgZGVmYXVsdCBidXQgdGhlIHBpYyBmbGFnCisgICAgICAjIHNldHMgdGhlIGRlZmF1bHQgVExTIG1vZGVsIGFuZCBhZmZlY3RzIGlubGluaW5nLgogICAgICAgY2FzZSAkaG9zdF9jcHUgaW4KLSAgICAgIGhwcGEqNjQqfGlhNjQqKQorICAgICAgaHBwYSo2NCopCiAJIyArWiB0aGUgZGVmYXVsdAogCTs7CiAgICAgICAqKQpAQCAtNzIzOSwxOCArNzkxNSw4IEBACiAJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1ibnNvIC1iSTovbGliL3N5c2NhbGxzLmV4cCcKICAgICAgIGZpCiAgICAgICA7OwotICAgIGRhcndpbiopCi0gICAgICAjIFBJQyBpcyB0aGUgZGVmYXVsdCBvbiB0aGlzIHBsYXRmb3JtCi0gICAgICAjIENvbW1vbiBzeW1ib2xzIG5vdCBhbGxvd2VkIGluIE1IX0RZTElCIGZpbGVzCi0gICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgotICAgICAgeGxjKikKLSAgICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1xbm9jb21tb24nCi0gICAgICAgIGx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCi0gICAgICAgIDs7Ci0gICAgICBlc2FjCi0gICAgICA7OwogCi0gICAgbWluZ3cqIHwgY3lnd2luKiB8IHB3MzIqIHwgb3MyKikKKyAgICBtaW5ndyogfCBjeWd3aW4qIHwgcHczMiogfCBvczIqIHwgY2VnY2MqKQogICAgICAgIyBUaGlzIGhhY2sgaXMgc28gdGhhdCB0aGUgc291cmNlIGZpbGUgY2FuIHRlbGwgd2hldGhlciBpdCBpcyBiZWluZwogICAgICAgIyBidWlsdCBmb3IgaW5jbHVzaW9uIGluIGEgZGxsIChhbmQgc2hvdWxkIGV4cG9ydCBzeW1ib2xzIGZvciBleGFtcGxlKS4KICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctRERMTF9FWFBPUlQnCkBAIC03MjgwLDExICs3OTQ2LDI1IEBACiAKICAgICBsaW51eCogfCBrKmJzZCotZ251KQogICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KLSAgICAgIGljYyogfCBlY2MqKQorICAgICAgIyBvbGQgSW50ZWwgZm9yIHg4Nl82NCB3aGljaCBzdGlsbCBzdXBwb3J0ZWQgLUtQSUMuCisgICAgICBlY2MqKQogCWx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCiAJbHRfcHJvZ19jb21waWxlcl9waWM9Jy1LUElDJwogCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctc3RhdGljJwogICAgICAgICA7OworICAgICAgIyBpY2MgdXNlZCB0byBiZSBpbmNvbXBhdGlibGUgd2l0aCBHQ0MuCisgICAgICAjIElDQyAxMCBkb2Vzbid0IGFjY2VwdCAtS1BJQyBhbnkgbW9yZS4KKyAgICAgIGljYyogfCBpZm9ydCopCisJbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKKwlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLWZQSUMnCisJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1zdGF0aWMnCisgICAgICAgIDs7CisgICAgICAjIExhaGV5IEZvcnRyYW4gOC4xLgorICAgICAgbGY5NSopCisJbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKKwlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLS1zaGFyZWQnCisJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy0tc3RhdGljJworCTs7CiAgICAgICBwZ2NjKiB8IHBnZjc3KiB8IHBnZjkwKiB8IHBnZjk1KikKICAgICAgICAgIyBQb3J0bGFuZCBHcm91cCBjb21waWxlcnMgKCpub3QqIHRoZSBQZW50aXVtIGdjYyBjb21waWxlciwKIAkjIHdoaWNoIGxvb2tzIHRvIGJlIGEgZGVhZCBwcm9qZWN0KQpAQCAtNzI5Nyw2ICs3OTc3LDEyIEBACiAgICAgICAgICMgQWxsIEFscGhhIGNvZGUgaXMgUElDLgogICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLW5vbl9zaGFyZWQnCiAgICAgICAgIDs7CisgICAgICB4bCopCisJIyBJQk0gWEwgQyA4LjAvRm9ydHJhbiAxMC4xIG9uIFBQQworCWx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCisJbHRfcHJvZ19jb21waWxlcl9waWM9Jy1xcGljJworCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctcXN0YXRpY2xpbmsnCisJOzsKICAgICAgICopCiAJY2FzZSBgJENDIC1WIDI+JjEgfCBzZWQgNXFgIGluCiAJKlN1blwgQyopCkBAIC03NDEyLDEwICs4MDk4LDEwIEBACiBpZiB0ZXN0IC1uICIkbHRfcHJvZ19jb21waWxlcl9waWMiOyB0aGVuCiAgIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBpZiAkY29tcGlsZXIgUElDIGZsYWcgJGx0X3Byb2dfY29tcGlsZXJfcGljIHdvcmtzIiA+JjUKIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgaWYgJGNvbXBpbGVyIFBJQyBmbGFnICRsdF9wcm9nX2NvbXBpbGVyX3BpYyB3b3Jrcy4uLiAkRUNIT19DIiA+JjYKLWlmIHRlc3QgIiR7bHRfcHJvZ19jb21waWxlcl9waWNfd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4KK2lmIHRlc3QgIiR7bHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4KICAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKIGVsc2UKLSAgbHRfcHJvZ19jb21waWxlcl9waWNfd29ya3M9bm8KKyAgbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3M9bm8KICAgIGFjX291dGZpbGU9Y29uZnRlc3QuJGFjX29iamV4dAogICAgZWNobyAiJGx0X3NpbXBsZV9jb21waWxlX3Rlc3RfY29kZSIgPiBjb25mdGVzdC4kYWNfZXh0CiAgICBsdF9jb21waWxlcl9mbGFnPSIkbHRfcHJvZ19jb21waWxlcl9waWMgLURQSUMiCkBAIC03NDI4LDI3ICs4MTE0LDI3IEBACiAgICAtZSAnczouKkZMQUdTfVx7MCwxXH0gOiYkbHRfY29tcGlsZXJfZmxhZyA6OyB0JyBcCiAgICAtZSAnczogW14gXSpjb25mdGVzdFwuOiAkbHRfY29tcGlsZXJfZmxhZyY6OyB0JyBcCiAgICAtZSAnczokOiAkbHRfY29tcGlsZXJfZmxhZzonYAotICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjc0MzE6ICRsdF9jb21waWxlXCIiID4mNSkKKyAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo4MTE3OiAkbHRfY29tcGlsZVwiIiA+JjUpCiAgICAoZXZhbCAiJGx0X2NvbXBpbGUiIDI+Y29uZnRlc3QuZXJyKQogICAgYWNfc3RhdHVzPSQ/CiAgICBjYXQgY29uZnRlc3QuZXJyID4mNQotICAgZWNobyAiJGFzX21lOjc0MzU6IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAgZWNobyAiJGFzX21lOjgxMjE6IFwkPyA9ICRhY19zdGF0dXMiID4mNQogICAgaWYgKGV4aXQgJGFjX3N0YXR1cykgJiYgdGVzdCAtcyAiJGFjX291dGZpbGUiOyB0aGVuCiAgICAgICMgVGhlIGNvbXBpbGVyIGNhbiBvbmx5IHdhcm4gYW5kIGlnbm9yZSB0aGUgb3B0aW9uIGlmIG5vdCByZWNvZ25pemVkCiAgICAgICMgU28gc2F5IG5vIGlmIHRoZXJlIGFyZSB3YXJuaW5ncyBvdGhlciB0aGFuIHRoZSB1c3VhbCBvdXRwdXQuCiAgICAgICRFQ0hPICJYJF9sdF9jb21waWxlcl9ib2lsZXJwbGF0ZSIgfCAkWHNlZCAtZSAnL14kL2QnID5jb25mdGVzdC5leHAKICAgICAgJFNFRCAnL14kL2Q7IC9eICorL2QnIGNvbmZ0ZXN0LmVyciA+Y29uZnRlc3QuZXIyCiAgICAgIGlmIHRlc3QgISAtcyBjb25mdGVzdC5lcjIgfHwgZGlmZiBjb25mdGVzdC5leHAgY29uZnRlc3QuZXIyID4vZGV2L251bGw7IHRoZW4KLSAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpY193b3Jrcz15ZXMKKyAgICAgICBsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3Jrcz15ZXMKICAgICAgZmkKICAgIGZpCiAgICAkUk0gY29uZnRlc3QqCiAKIGZpCi1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkbHRfcHJvZ19jb21waWxlcl9waWNfd29ya3MiID4mNQotZWNobyAiJHtFQ0hPX1R9JGx0X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzIiA+JjYKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3JrcyIgPiY1CitlY2hvICIke0VDSE9fVH0kbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3MiID4mNgogCi1pZiB0ZXN0IHgiJGx0X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzIiA9IHh5ZXM7IHRoZW4KK2lmIHRlc3QgeCIkbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3MiID0geHllczsgdGhlbgogICAgIGNhc2UgJGx0X3Byb2dfY29tcGlsZXJfcGljIGluCiAgICAgICIiIHwgIiAiKikgOzsKICAgICAgKikgbHRfcHJvZ19jb21waWxlcl9waWM9IiAkbHRfcHJvZ19jb21waWxlcl9waWMiIDs7CkBAIC03NDcxLDEwICs4MTU3LDEwIEBACiB3bD0kbHRfcHJvZ19jb21waWxlcl93bCBldmFsIGx0X3RtcF9zdGF0aWNfZmxhZz1cIiRsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY1wiCiBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgaWYgJGNvbXBpbGVyIHN0YXRpYyBmbGFnICRsdF90bXBfc3RhdGljX2ZsYWcgd29ya3MiID4mNQogZWNobyAkRUNIT19OICJjaGVja2luZyBpZiAkY29tcGlsZXIgc3RhdGljIGZsYWcgJGx0X3RtcF9zdGF0aWNfZmxhZyB3b3Jrcy4uLiAkRUNIT19DIiA+JjYKLWlmIHRlc3QgIiR7bHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4KK2lmIHRlc3QgIiR7bHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4KICAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKIGVsc2UKLSAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9bm8KKyAgbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9bm8KICAgIHNhdmVfTERGTEFHUz0iJExERkxBR1MiCiAgICBMREZMQUdTPSIkTERGTEFHUyAkbHRfdG1wX3N0YXRpY19mbGFnIgogICAgZWNobyAiJGx0X3NpbXBsZV9saW5rX3Rlc3RfY29kZSIgPiBjb25mdGVzdC4kYWNfZXh0CkBAIC03NDg3LDIwICs4MTczLDIwIEBACiAgICAgICAgJEVDSE8gIlgkX2x0X2xpbmtlcl9ib2lsZXJwbGF0ZSIgfCAkWHNlZCAtZSAnL14kL2QnID4gY29uZnRlc3QuZXhwCiAgICAgICAgJFNFRCAnL14kL2Q7IC9eICorL2QnIGNvbmZ0ZXN0LmVyciA+Y29uZnRlc3QuZXIyCiAgICAgICAgaWYgZGlmZiBjb25mdGVzdC5leHAgY29uZnRlc3QuZXIyID4vZGV2L251bGw7IHRoZW4KLSAgICAgICAgIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzPXllcworICAgICAgICAgbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9eWVzCiAgICAgICAgZmkKICAgICAgZWxzZQotICAgICAgIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzPXllcworICAgICAgIGx0X2N2X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzPXllcwogICAgICBmaQogICAgZmkKLSAgICRSTSBjb25mdGVzdCoKKyAgICRSTSAtciBjb25mdGVzdCoKICAgIExERkxBR1M9IiRzYXZlX0xERkxBR1MiCiAKIGZpCi1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3MiID4mNQotZWNobyAiJHtFQ0hPX1R9JGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzIiA+JjYKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3JrcyIgPiY1CitlY2hvICIke0VDSE9fVH0kbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3MiID4mNgogCi1pZiB0ZXN0IHgiJGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzIiA9IHh5ZXM7IHRoZW4KK2lmIHRlc3QgeCIkbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3MiID0geHllczsgdGhlbgogICAgIDoKIGVsc2UKICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0KQEAgLTc1MzMsMTEgKzgyMTksMTEgQEAKICAgIC1lICdzOi4qRkxBR1N9XHswLDFcfSA6JiRsdF9jb21waWxlcl9mbGFnIDo7IHQnIFwKICAgIC1lICdzOiBbXiBdKmNvbmZ0ZXN0XC46ICRsdF9jb21waWxlcl9mbGFnJjo7IHQnIFwKICAgIC1lICdzOiQ6ICRsdF9jb21waWxlcl9mbGFnOidgCi0gICAoZXZhbCBlY2hvICJcIlwkYXNfbWU6NzUzNjogJGx0X2NvbXBpbGVcIiIgPiY1KQorICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjgyMjI6ICRsdF9jb21waWxlXCIiID4mNSkKICAgIChldmFsICIkbHRfY29tcGlsZSIgMj5vdXQvY29uZnRlc3QuZXJyKQogICAgYWNfc3RhdHVzPSQ/CiAgICBjYXQgb3V0L2NvbmZ0ZXN0LmVyciA+JjUKLSAgIGVjaG8gIiRhc19tZTo3NTQwOiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgIGVjaG8gIiRhc19tZTo4MjI2OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKICAgIGlmIChleGl0ICRhY19zdGF0dXMpICYmIHRlc3QgLXMgb3V0L2NvbmZ0ZXN0Mi4kYWNfb2JqZXh0CiAgICB0aGVuCiAgICAgICMgVGhlIGNvbXBpbGVyIGNhbiBvbmx5IHdhcm4gYW5kIGlnbm9yZSB0aGUgb3B0aW9uIGlmIG5vdCByZWNvZ25pemVkCkBAIC03NTg4LDExICs4Mjc0LDExIEBACiAgICAtZSAnczouKkZMQUdTfVx7MCwxXH0gOiYkbHRfY29tcGlsZXJfZmxhZyA6OyB0JyBcCiAgICAtZSAnczogW14gXSpjb25mdGVzdFwuOiAkbHRfY29tcGlsZXJfZmxhZyY6OyB0JyBcCiAgICAtZSAnczokOiAkbHRfY29tcGlsZXJfZmxhZzonYAotICAgKGV2YWwgZWNobyAiXCJcJGFzX21lOjc1OTE6ICRsdF9jb21waWxlXCIiID4mNSkKKyAgIChldmFsIGVjaG8gIlwiXCRhc19tZTo4Mjc3OiAkbHRfY29tcGlsZVwiIiA+JjUpCiAgICAoZXZhbCAiJGx0X2NvbXBpbGUiIDI+b3V0L2NvbmZ0ZXN0LmVycikKICAgIGFjX3N0YXR1cz0kPwogICAgY2F0IG91dC9jb25mdGVzdC5lcnIgPiY1Ci0gICBlY2hvICIkYXNfbWU6NzU5NTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgICBlY2hvICIkYXNfbWU6ODI4MTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CiAgICBpZiAoZXhpdCAkYWNfc3RhdHVzKSAmJiB0ZXN0IC1zIG91dC9jb25mdGVzdDIuJGFjX29iamV4dAogICAgdGhlbgogICAgICAjIFRoZSBjb21waWxlciBjYW4gb25seSB3YXJuIGFuZCBpZ25vcmUgdGhlIG9wdGlvbiBpZiBub3QgcmVjb2duaXplZApAQCAtNzY4MiwxNiArODM2OCwxNyBAQAogICAjIGl0IHdpbGwgYmUgd3JhcHBlZCBieSBgICgnIGFuZCBgKSQnLCBzbyBvbmUgbXVzdCBub3QgbWF0Y2ggYmVnaW5uaW5nIG9yCiAgICMgZW5kIG9mIGxpbmUuICBFeGFtcGxlOiBgYXxiY3wuKmQuKicgd2lsbCBleGNsdWRlIHRoZSBzeW1ib2xzIGBhJyBhbmQgYGJjJywKICAgIyBhcyB3ZWxsIGFzIGFueSBzeW1ib2wgdGhhdCBjb250YWlucyBgZCcuCi0gIGV4Y2x1ZGVfZXhwc3ltcz0iX0dMT0JBTF9PRkZTRVRfVEFCTEVfIgorICBleGNsdWRlX2V4cHN5bXM9J19HTE9CQUxfT0ZGU0VUX1RBQkxFX3xfR0xPQkFMX19GW0lEXV8uKicKICAgIyBBbHRob3VnaCBfR0xPQkFMX09GRlNFVF9UQUJMRV8gaXMgYSB2YWxpZCBzeW1ib2wgQyBuYW1lLCBtb3N0IGEub3V0CiAgICMgcGxhdGZvcm1zIChhYil1c2UgaXQgaW4gUElDIGNvZGUsIGJ1dCB0aGVpciBsaW5rZXJzIGdldCBjb25mdXNlZCBpZgogICAjIHRoZSBzeW1ib2wgaXMgZXhwbGljaXRseSByZWZlcmVuY2VkLiAgU2luY2UgcG9ydGFibGUgY29kZSBjYW5ub3QKICAgIyByZWx5IG9uIHRoaXMgc3ltYm9sIG5hbWUsIGl0J3MgcHJvYmFibHkgZmluZSB0byBuZXZlciBpbmNsdWRlIGl0IGluCiAgICMgcHJlbG9hZGVkIHN5bWJvbCB0YWJsZXMuCisgICMgRXhjbHVkZSBzaGFyZWQgbGlicmFyeSBpbml0aWFsaXphdGlvbi9maW5hbGl6YXRpb24gc3ltYm9scy4KICAgZXh0cmFjdF9leHBzeW1zX2NtZHM9CiAKICAgY2FzZSAkaG9zdF9vcyBpbgotICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiopCisgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgICAjIEZJWE1FOiB0aGUgTVNWQysrIHBvcnQgaGFzbid0IGJlZW4gdGVzdGVkIGluIGEgbG9vb29uZyB0aW1lCiAgICAgIyBXaGVuIG5vdCB1c2luZyBnY2MsIHdlIGN1cnJlbnRseSBhc3N1bWUgdGhhdCB3ZSBhcmUgdXNpbmcKICAgICAjIE1pY3Jvc29mdCBWaXN1YWwgQysrLgpAQCAtNzc1MywxOSArODQ0MCwxOCBAQAogICAgICAgOzsKIAogICAgIGFtaWdhb3MqKQotICAgICAgaWYgdGVzdCAiJGhvc3RfY3B1IiA9IG02OGs7IHRoZW4KLSAgICAgICAgYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBOQU1FICRsaWJuYW1lIiA+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgTElCUkFSWV9JRCAxIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFZFUlNJT04gJG1ham9yIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFJFVklTSU9OICRyZXZpc2lvbiIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kQVIgJEFSX0ZMQUdTICRsaWIgJGxpYm9ianN+JFJBTkxJQiAkbGlifihjZCAkb3V0cHV0X29iamRpciAmJiBhMml4bGlicmFyeSAtMzIpJwotICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCi0gICAgICAgIGhhcmRjb2RlX21pbnVzX0w9eWVzCi0gICAgICBmaQotCi0gICAgICAjIFNhbXVlbCBBLiBGYWx2byBJSSA8a2M1dGphQGRvbHBoaW4ub3BlbnByb2plY3RzLm5ldD4gcmVwb3J0cwotICAgICAgIyB0aGF0IHRoZSBzZW1hbnRpY3Mgb2YgZHluYW1pYyBsaWJyYXJpZXMgb24gQW1pZ2FPUywgYXQgbGVhc3QgdXAKLSAgICAgICMgdG8gdmVyc2lvbiA0LCBpcyB0byBzaGFyZSBkYXRhIGFtb25nIG11bHRpcGxlIHByb2dyYW1zIGxpbmtlZAotICAgICAgIyB3aXRoIHRoZSBzYW1lIGR5bmFtaWMgbGlicmFyeS4gIFNpbmNlIHRoaXMgZG9lc24ndCBtYXRjaCB0aGUKLSAgICAgICMgYmVoYXZpb3Igb2Ygc2hhcmVkIGxpYnJhcmllcyBvbiBvdGhlciBwbGF0Zm9ybXMsIHdlIGNhbid0IHVzZQotICAgICAgIyB0aGVtLgotICAgICAgbGRfc2hsaWJzPW5vCisgICAgICBjYXNlICRob3N0X2NwdSBpbgorICAgICAgcG93ZXJwYykKKyAgICAgICAgICAgICMgc2VlIGNvbW1lbnQgYWJvdXQgQW1pZ2FPUzQgLnNvIHN1cHBvcnQKKyAgICAgICAgICAgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAkd2wkc29uYW1lIC1vICRsaWInCisgICAgICAgICAgICBhcmNoaXZlX2V4cHN5bV9jbWRzPScnCisgICAgICAgIDs7CisgICAgICBtNjhrKQorICAgICAgICAgICAgYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBOQU1FICRsaWJuYW1lIiA+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgTElCUkFSWV9JRCAxIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFZFUlNJT04gJG1ham9yIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIFJFVklTSU9OICRyZXZpc2lvbiIgPj4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kQVIgJEFSX0ZMQUdTICRsaWIgJGxpYm9ianN+JFJBTkxJQiAkbGlifihjZCAkb3V0cHV0X29iamRpciAmJiBhMml4bGlicmFyeSAtMzIpJworICAgICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLUwkbGliZGlyJworICAgICAgICAgICAgaGFyZGNvZGVfbWludXNfTD15ZXMKKyAgICAgICAgOzsKKyAgICAgIGVzYWMKICAgICAgIDs7CiAKICAgICBiZW9zKikKQEAgLTc3NzksNyArODQ2NSw3IEBACiAgICAgICBmaQogICAgICAgOzsKIAotICAgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKikKKyAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgICAgICAjIF9MVF9UQUdWQVIoaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYywgKSBpcyBhY3R1YWxseSBtZWFuaW5nbGVzcywKICAgICAgICMgYXMgdGhlcmUgaXMgbm8gc2VhcmNoIHBhdGggZm9yIERMTHMuCiAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCkBAIC03ODMwLDYgKzg1MTYsNyBAQAogCSAmJiB0ZXN0ICIkdG1wX2RpZXQiID0gbm8KICAgICAgIHRoZW4KIAl0bXBfYWRkZmxhZz0KKwl0bXBfc2hhcmVkZmxhZz0nLXNoYXJlZCcKIAljYXNlICRjY19iYXNlbmFtZSwkaG9zdF9jcHUgaW4KICAgICAgICAgcGdjYyopCQkJCSMgUG9ydGxhbmQgR3JvdXAgQyBjb21waWxlcgogCSAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9JyR7d2x9LS13aG9sZS1hcmNoaXZlYGZvciBjb252IGluICRjb252ZW5pZW5jZVwiXCI7IGRvIHRlc3QgIC1uIFwiJGNvbnZcIiAmJiBuZXdfY29udmVuaWVuY2U9XCIkbmV3X2NvbnZlbmllbmNlLCRjb252XCI7IGRvbmU7ICRFQ0hPIFwiJG5ld19jb252ZW5pZW5jZVwiYCAke3dsfS0tbm8td2hvbGUtYXJjaGl2ZScKQEAgLTc4NDQsNiArODUzMSwxMiBAQAogCSAgdG1wX2FkZGZsYWc9JyAtaV9keW5hbWljIC1ub2Zvcl9tYWluJyA7OwogCWlmYyogfCBpZm9ydCopCQkJIyBJbnRlbCBGb3J0cmFuIGNvbXBpbGVyCiAJICB0bXBfYWRkZmxhZz0nIC1ub2Zvcl9tYWluJyA7OworCWxmOTUqKQkJCQkjIExhaGV5IEZvcnRyYW4gOC4xCisJICB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0KKwkgIHRtcF9zaGFyZWRmbGFnPSctLXNoYXJlZCcgOzsKKwl4bFtjQ10qKQkJCSMgSUJNIFhMIEMgOC4wIG9uIFBQQyAoZGVhbCB3aXRoIHhsZiBiZWxvdykKKwkgIHRtcF9zaGFyZWRmbGFnPSctcW1rc2hyb2JqJworCSAgdG1wX2FkZGZsYWc9IDs7CiAJZXNhYwogCWNhc2UgYCRDQyAtViAyPiYxIHwgc2VkIDVxYCBpbgogCSpTdW5cIEMqKQkJCSMgU3VuIEMgNS45CkBAIC03ODUyLDggKzg1NDUsNiBAQAogCSAgdG1wX3NoYXJlZGZsYWc9Jy1HJyA7OwogCSpTdW5cIEYqKQkJCSMgU3VuIEZvcnRyYW4gOC4zCiAJICB0bXBfc2hhcmVkZmxhZz0nLUcnIDs7Ci0JKikKLQkgIHRtcF9zaGFyZWRmbGFnPSctc2hhcmVkJyA7OwogCWVzYWMKIAlhcmNoaXZlX2NtZHM9JyRDQyAnIiR0bXBfc2hhcmVkZmxhZyIiJHRtcF9hZGRmbGFnIicgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAkd2wkc29uYW1lIC1vICRsaWInCiAKQEAgLTc4NjMsNiArODU1NCwyMiBAQAogCSAgICBlY2hvICJsb2NhbDogKjsgfTsiID4+ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlcn4KIAkgICAgJENDICciJHRtcF9zaGFyZWRmbGFnIiIkdG1wX2FkZGZsYWciJyAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR3bCRzb25hbWUgJHt3bH0tdmVyc2lvbi1zY3JpcHQgJHt3bH0kb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXIgLW8gJGxpYicKICAgICAgICAgZmkKKworCWNhc2UgJGNjX2Jhc2VuYW1lIGluCisJeGxmKikKKwkgICMgSUJNIFhMIEZvcnRyYW4gMTAuMSBvbiBQUEMgY2Fubm90IGNyZWF0ZSBzaGFyZWQgbGlicyBpdHNlbGYKKwkgIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSctLXdob2xlLWFyY2hpdmUkY29udmVuaWVuY2UgLS1uby13aG9sZS1hcmNoaXZlJworCSAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0KKwkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQ9Jy1ycGF0aCAkbGliZGlyJworCSAgYXJjaGl2ZV9jbWRzPSckTEQgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIC1vICRsaWInCisJICBpZiB0ZXN0ICJ4JHN1cHBvcnRzX2Fub25fdmVyc2lvbmluZyIgPSB4eWVzOyB0aGVuCisJICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9J2VjaG8gInsgZ2xvYmFsOiIgPiAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXJ+CisJICAgICAgY2F0ICRleHBvcnRfc3ltYm9scyB8IHNlZCAtZSAicy9cKC4qXCkvXDE7LyIgPj4gJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyfgorCSAgICAgIGVjaG8gImxvY2FsOiAqOyB9OyIgPj4gJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyfgorCSAgICAgICRMRCAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgLXZlcnNpb24tc2NyaXB0ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlciAtbyAkbGliJworCSAgZmkKKwkgIDs7CisJZXNhYwogICAgICAgZWxzZQogICAgICAgICBsZF9zaGxpYnM9bm8KICAgICAgIGZpCkBAIC04MDU4LDYgKzg3NjUsNyBAQAogCWZpCiAgICAgICBmaQogCisgICAgICBleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9JyR7d2x9LWJleHBhbGwnCiAgICAgICAjIEl0IHNlZW1zIHRoYXQgLWJleHBhbGwgZG9lcyBub3QgZXhwb3J0IHN5bWJvbHMgYmVnaW5uaW5nIHdpdGgKICAgICAgICMgdW5kZXJzY29yZSAoXyksIHNvIGl0IGlzIGJldHRlciB0byBnZW5lcmF0ZSBhIGxpc3Qgb2Ygc3ltYm9scyB0byBleHBvcnQuCiAgICAgICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9eWVzCkBAIC04MjEwLDIwICs4OTE4LDI1IEBACiAgICAgICA7OwogCiAgICAgYW1pZ2FvcyopCi0gICAgICBpZiB0ZXN0ICIkaG9zdF9jcHUiID0gbTY4azsgdGhlbgotICAgICAgICBhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIE5BTUUgJGxpYm5hbWUiID4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBMSUJSQVJZX0lEIDEiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgUkVWSVNJT04gJHJldmlzaW9uIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRBUiAkQVJfRkxBR1MgJGxpYiAkbGlib2Jqc34kUkFOTElCICRsaWJ+KGNkICRvdXRwdXRfb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCi0gICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1MJGxpYmRpcicKLSAgICAgICAgaGFyZGNvZGVfbWludXNfTD15ZXMKLSAgICAgIGZpCi0gICAgICAjIHNlZSBjb21tZW50IGFib3V0IGRpZmZlcmVudCBzZW1hbnRpY3Mgb24gdGhlIEdOVSBsZCBzZWN0aW9uCi0gICAgICBsZF9zaGxpYnM9bm8KKyAgICAgIGNhc2UgJGhvc3RfY3B1IGluCisgICAgICBwb3dlcnBjKQorICAgICAgICAgICAgIyBzZWUgY29tbWVudCBhYm91dCBBbWlnYU9TNCAuc28gc3VwcG9ydAorICAgICAgICAgICAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR3bCRzb25hbWUgLW8gJGxpYicKKyAgICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JycKKyAgICAgICAgOzsKKyAgICAgIG02OGspCisgICAgICAgICAgICBhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRFQ0hPICIjZGVmaW5lIE5BTUUgJGxpYm5hbWUiID4gJG91dHB1dF9vYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kRUNITyAiI2RlZmluZSBMSUJSQVJZX0lEIDEiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+ICRvdXRwdXRfb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEVDSE8gIiNkZWZpbmUgUkVWSVNJT04gJHJldmlzaW9uIiA+PiAkb3V0cHV0X29iamRpci9hMml4bGlicmFyeS5kYXRhfiRBUiAkQVJfRkxBR1MgJGxpYiAkbGlib2Jqc34kUkFOTElCICRsaWJ+KGNkICRvdXRwdXRfb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCisgICAgICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCisgICAgICAgICAgICBoYXJkY29kZV9taW51c19MPXllcworICAgICAgICA7OworICAgICAgZXNhYwogICAgICAgOzsKIAogICAgIGJzZGlbNDVdKikKICAgICAgIGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYz0tcmR5bmFtaWMKICAgICAgIDs7CiAKLSAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiopCisgICAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgICAgIyBXaGVuIG5vdCB1c2luZyBnY2MsIHdlIGN1cnJlbnRseSBhc3N1bWUgdGhhdCB3ZSBhcmUgdXNpbmcKICAgICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCiAgICAgICAjIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgaXMgYWN0dWFsbHkgbWVhbmluZ2xlc3MsIGFzIHRoZXJlIGlzCkBAIC04MjQ1LDczICs4OTU4LDMwIEBACiAgICAgICA7OwogCiAgICAgZGFyd2luKiB8IHJoYXBzb2R5KikKLSAgICAgIGNhc2UgJGhvc3Rfb3MgaW4KLSAgICAgIHJoYXBzb2R5KiB8IGRhcndpbjEuWzAxMl0pCi0JYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyR7d2x9LXVuZGVmaW5lZCAke3dsfXN1cHByZXNzJwotCTs7Ci0gICAgICAqKSAjIERhcndpbiAxLjMgb24KLQljYXNlICR7TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VULTEwLjB9IGluCi0JMTAuWzAxMl0pCi0JICBhbGxvd191bmRlZmluZWRfZmxhZz0nJHt3bH0tZmxhdF9uYW1lc3BhY2UgJHt3bH0tdW5kZWZpbmVkICR7d2x9c3VwcHJlc3MnCi0JICA7OwotCTEwLiopCi0JICBhbGxvd191bmRlZmluZWRfZmxhZz0nJHt3bH0tdW5kZWZpbmVkICR7d2x9ZHluYW1pY19sb29rdXAnCi0JICA7OwotCWVzYWMKLQk7OwotICAgICAgZXNhYwotICAgICAgYXJjaGl2ZV9jbWRzX25lZWRfbGM9bm8KLSAgICAgIGhhcmRjb2RlX2RpcmVjdD1ubwotICAgICAgaGFyZGNvZGVfYXV0b21hdGljPXllcwotICAgICAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj11bnN1cHBvcnRlZAotICAgICAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9JycKLSAgICAgIGxpbmtfYWxsX2RlcGxpYnM9eWVzCi0gICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllcyA7IHRoZW4KLQlpZiB0ZXN0ICIke2x0X2N2X2FwcGxlX2NjX3NpbmdsZV9tb2Qrc2V0fSIgPSBzZXQ7IHRoZW4KLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKLWVsc2UKLSAgbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZD1ubwotCWlmIHRlc3QgLXogIiR7TFRfTVVMVElfTU9EVUxFfSI7IHRoZW4KLQkgICMgQnkgZGVmYXVsdCB3ZSB3aWxsIGFkZCB0aGUgLXNpbmdsZV9tb2R1bGUgZmxhZy4gWW91IGNhbiBvdmVycmlkZQotCSAgIyBieSBlaXRoZXIgc2V0dGluZyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgTFRfTVVMVElfTU9EVUxFCi0JICAjIG5vbi1lbXB0eSBhdCBjb25maWd1cmUgdGltZSwgb3IgYnkgYWRkaW5nIC1tdWx0aS1tb2R1bGUgdG8gdGhlCi0JICAjIGxpbmsgZmxhZ3MuCi0JICBlY2hvICJpbnQgZm9vKHZvaWQpe3JldHVybiAxO30iID4gY29uZnRlc3QuYwotCSAgJExUQ0MgJExUQ0ZMQUdTICRMREZMQUdTIC1vIGxpYmNvbmZ0ZXN0LmR5bGliIFwKLQkgICAgICAtZHluYW1pY2xpYiAke3dsfS1zaW5nbGVfbW9kdWxlIGNvbmZ0ZXN0LmMKLQkgIGlmIHRlc3QgLWYgbGliY29uZnRlc3QuZHlsaWI7IHRoZW4KLQkgICAgICBsdF9jdl9hcHBsZV9jY19zaW5nbGVfbW9kPXllcwotCSAgICAgIHJtIGxpYmNvbmZ0ZXN0LmR5bGliCi0JICBmaQotCSAgcm0gY29uZnRlc3QuJGFjX2V4dAotCWZpCi1maQogCi0Jb3V0cHV0X3ZlcmJvc2VfbGlua19jbWQ9ZWNobwotCWlmIHRlc3QgIlgkbHRfY3ZfYXBwbGVfY2Nfc2luZ2xlX21vZCIgPSBYeWVzIDsgdGhlbgotCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLWR5bmFtaWNsaWIgJHNpbmdsZV9tb2R1bGUgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1pbnN0YWxsX25hbWUgJHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZycKLQkgIGFyY2hpdmVfZXhwc3ltX2NtZHM9J3NlZCAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDICRzaW5nbGVfbW9kdWxlIC1keW5hbWljbGliICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lICRycGF0aC8kc29uYW1lICR2ZXJzdHJpbmd+bm1lZGl0IC1zICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW0gJHtsaWJ9JwotCWVsc2UKLQkgIGFyY2hpdmVfY21kcz0nJENDIC1keW5hbWljbGliICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtaW5zdGFsbF9uYW1lICRycGF0aC8kc29uYW1lICR2ZXJzdHJpbmcnCi0JICBhcmNoaXZlX2V4cHN5bV9jbWRzPSdzZWQgInMsXixfLCIgPCAkZXhwb3J0X3N5bWJvbHMgPiAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltfiRDQyAtZHluYW1pY2xpYiAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSAkcnBhdGgvJHNvbmFtZSAkdmVyc3RyaW5nfm5tZWRpdCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKLQlmaQotCW1vZHVsZV9jbWRzPSckQ0MgJGFsbG93X3VuZGVmaW5lZF9mbGFnIC1vICRsaWIgLWJ1bmRsZSAkbGlib2JqcyAkZGVwbGlicyRjb21waWxlcl9mbGFncycKLQltb2R1bGVfZXhwc3ltX2NtZHM9J3NlZCAtZSAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDICRhbGxvd191bmRlZmluZWRfZmxhZyAgLW8gJGxpYiAtYnVuZGxlICRsaWJvYmpzICRkZXBsaWJzJGNvbXBpbGVyX2ZsYWdzfm5tZWRpdCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKLSAgICAgIGVsc2UKLQljYXNlICRjY19iYXNlbmFtZSBpbgotCXhsYyopCi0JICBvdXRwdXRfdmVyYm9zZV9saW5rX2NtZD1lY2hvCi0JICBhcmNoaXZlX2NtZHM9JyRDQyAtcW1rc2hyb2JqICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3dsfS1pbnN0YWxsX25hbWUgJHt3bH1gJEVDSE8gJHJwYXRoLyRzb25hbWVgICR2ZXJzdHJpbmcnCi0JICBtb2R1bGVfY21kcz0nJENDICRhbGxvd191bmRlZmluZWRfZmxhZyAtbyAkbGliIC1idW5kbGUgJGxpYm9ianMgJGRlcGxpYnMkY29tcGlsZXJfZmxhZ3MnCi0JICAjIERvbid0IGZpeCB0aGlzIGJ5IHVzaW5nIHRoZSBsZCAtZXhwb3J0ZWRfc3ltYm9sc19saXN0IGZsYWcsIGl0IGRvZXNuJ3QgZXhpc3QgaW4gb2xkZXIgZGFyd2luIGxkcwotCSAgYXJjaGl2ZV9leHBzeW1fY21kcz0nc2VkICJzLF4sXywiIDwgJGV4cG9ydF9zeW1ib2xzID4gJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bX4kQ0MgLXFta3Nocm9iaiAkYWxsb3dfdW5kZWZpbmVkX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0taW5zdGFsbF9uYW1lICR7d2x9JHJwYXRoLyRzb25hbWUgJHZlcnN0cmluZ35ubWVkaXQgLXMgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfS1zeW1ib2xzLmV4cHN5bSAke2xpYn0nCi0JICBtb2R1bGVfZXhwc3ltX2NtZHM9J3NlZCAicyxeLF8sIiA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0tc3ltYm9scy5leHBzeW1+JENDICRhbGxvd191bmRlZmluZWRfZmxhZyAgLW8gJGxpYiAtYnVuZGxlICRsaWJvYmpzICRkZXBsaWJzJGNvbXBpbGVyX2ZsYWdzfm5tZWRpdCAtcyAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltICR7bGlifScKLQkgIDs7Ci0JKikKLQkgIGxkX3NobGlicz1ubwotCSAgOzsKLQllc2FjCi0gICAgICBmaQorCisgIGFyY2hpdmVfY21kc19uZWVkX2xjPW5vCisgIGhhcmRjb2RlX2RpcmVjdD1ubworICBoYXJkY29kZV9hdXRvbWF0aWM9eWVzCisgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9dW5zdXBwb3J0ZWQKKyAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9JycKKyAgbGlua19hbGxfZGVwbGlicz15ZXMKKyAgYWxsb3dfdW5kZWZpbmVkX2ZsYWc9IiRfbHRfZGFyX2FsbG93X3VuZGVmaW5lZCIKKyAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgaWZvcnQqKSBfbHRfZGFyX2Nhbl9zaGFyZWQ9eWVzIDs7CisgICAgICopIF9sdF9kYXJfY2FuX3NoYXJlZD0kR0NDIDs7CisgIGVzYWMKKyAgaWYgdGVzdCAiJF9sdF9kYXJfY2FuX3NoYXJlZCIgPSAieWVzIjsgdGhlbgorICAgIG91dHB1dF92ZXJib3NlX2xpbmtfY21kPWVjaG8KKyAgICBhcmNoaXZlX2NtZHM9IlwkQ0MgLWR5bmFtaWNsaWIgXCRhbGxvd191bmRlZmluZWRfZmxhZyAtbyBcJGxpYiBcJGxpYm9ianMgXCRkZXBsaWJzIFwkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSBcJHJwYXRoL1wkc29uYW1lIFwkdmVyc3RyaW5nICRfbHRfZGFyX3NpbmdsZV9tb2Qke19sdF9kc3ltdXRpbH0iCisgICAgbW9kdWxlX2NtZHM9IlwkQ0MgXCRhbGxvd191bmRlZmluZWRfZmxhZyAtbyBcJGxpYiAtYnVuZGxlIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9mbGFncyR7X2x0X2RzeW11dGlsfSIKKyAgICBhcmNoaXZlX2V4cHN5bV9jbWRzPSJzZWQgJ3MsXixfLCcgPCBcJGV4cG9ydF9zeW1ib2xzID4gXCRvdXRwdXRfb2JqZGlyL1wke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltflwkQ0MgLWR5bmFtaWNsaWIgXCRhbGxvd191bmRlZmluZWRfZmxhZyAtbyBcJGxpYiBcJGxpYm9ianMgXCRkZXBsaWJzIFwkY29tcGlsZXJfZmxhZ3MgLWluc3RhbGxfbmFtZSBcJHJwYXRoL1wkc29uYW1lIFwkdmVyc3RyaW5nICR7X2x0X2Rhcl9zaW5nbGVfbW9kfSR7X2x0X2Rhcl9leHBvcnRfc3ltc30ke19sdF9kc3ltdXRpbH0iCisgICAgbW9kdWxlX2V4cHN5bV9jbWRzPSJzZWQgLWUgJ3MsXixfLCcgPCBcJGV4cG9ydF9zeW1ib2xzID4gXCRvdXRwdXRfb2JqZGlyL1wke2xpYm5hbWV9LXN5bWJvbHMuZXhwc3ltflwkQ0MgXCRhbGxvd191bmRlZmluZWRfZmxhZyAtbyBcJGxpYiAtYnVuZGxlIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9mbGFncyR7X2x0X2Rhcl9leHBvcnRfc3ltc30ke19sdF9kc3ltdXRpbH0iCisKKyAgZWxzZQorICBsZF9zaGxpYnM9bm8KKyAgZmkKKwogICAgICAgOzsKIAogICAgIGRndXgqKQpAQCAtODM5Myw3ICs5MDYzLDcgQEAKIAkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJHt3bH0raCAke3dsfSRzb25hbWUgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCiAJICA7OwogCWlhNjQqKQotCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAke3dsfStoICR7d2x9JHNvbmFtZSAke3dsfStub2RlZmF1bHRycGF0aCAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKKwkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgLWZQSUMgJHt3bH0raCAke3dsfSRzb25hbWUgJHt3bH0rbm9kZWZhdWx0cnBhdGggLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCiAJICA7OwogCSopCiAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkIC1mUElDICR7d2x9K2ggJHt3bH0kc29uYW1lICR7d2x9K2IgJHt3bH0kaW5zdGFsbF9saWJkaXIgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCkBAIC04NTExLDI1ICs5MTgxLDI5IEBACiAgICAgICA7OwogCiAgICAgb3BlbmJzZCopCi0gICAgICBoYXJkY29kZV9kaXJlY3Q9eWVzCi0gICAgICBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPW5vCi0gICAgICBoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9eWVzCi0gICAgICBpZiB0ZXN0IC16ICJgZWNobyBfX0VMRl9fIHwgJENDIC1FIC0gfCAkR1JFUCBfX0VMRl9fYCIgfHwgdGVzdCAiJGhvc3Rfb3MtJGhvc3RfY3B1IiA9ICJvcGVuYnNkMi44LXBvd2VycGMiOyB0aGVuCi0JYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCi0JYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1zaGFyZWQgJHBpY19mbGFnIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXJldGFpbi1zeW1ib2xzLWZpbGUsJGV4cG9ydF9zeW1ib2xzJwotCWhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoLCRsaWJkaXInCi0JZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPScke3dsfS1FJwotICAgICAgZWxzZQotICAgICAgICBjYXNlICRob3N0X29zIGluCi0Jb3BlbmJzZFswMV0uKiB8IG9wZW5ic2QyLlswLTddIHwgb3BlbmJzZDIuWzAtN10uKikKLQkgIGFyY2hpdmVfY21kcz0nJExEIC1Cc2hhcmVhYmxlIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKLQkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1SJGxpYmRpcicKLQkgIDs7Ci0JKikKKyAgICAgIGlmIHRlc3QgLWYgL3Vzci9saWJleGVjL2xkLnNvOyB0aGVuCisJaGFyZGNvZGVfZGlyZWN0PXllcworCWhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KKwloYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9eWVzCisJaWYgdGVzdCAteiAiYGVjaG8gX19FTEZfXyB8ICRDQyAtRSAtIHwgJEdSRVAgX19FTEZfX2AiIHx8IHRlc3QgIiRob3N0X29zLSRob3N0X2NwdSIgPSAib3BlbmJzZDIuOC1wb3dlcnBjIjsgdGhlbgogCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCisJICBhcmNoaXZlX2V4cHN5bV9jbWRzPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tcmV0YWluLXN5bWJvbHMtZmlsZSwkZXhwb3J0X3N5bWJvbHMnCiAJICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ycGF0aCwkbGliZGlyJwotCSAgOzsKLSAgICAgICAgZXNhYworCSAgZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPScke3dsfS1FJworCWVsc2UKKwkgIGNhc2UgJGhvc3Rfb3MgaW4KKwkgICBvcGVuYnNkWzAxXS4qIHwgb3BlbmJzZDIuWzAtN10gfCBvcGVuYnNkMi5bMC03XS4qKQorCSAgICAgYXJjaGl2ZV9jbWRzPSckTEQgLUJzaGFyZWFibGUgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzJworCSAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLVIkbGliZGlyJworCSAgICAgOzsKKwkgICAqKQorCSAgICAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCisJICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ycGF0aCwkbGliZGlyJworCSAgICAgOzsKKwkgIGVzYWMKKwlmaQorICAgICAgZWxzZQorCWxkX3NobGlicz1ubwogICAgICAgZmkKICAgICAgIDs7CiAKQEAgLTg5NjgsOCArOTY0Miw4IEBACiAKICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcyIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcy4uLiAkRUNIT19DIiA+JjYKLXdpdGhHQ0M9JEdDQwotaWYgdGVzdCAiJHdpdGhHQ0MiID0geWVzOyB0aGVuCisKK2lmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgIGNhc2UgJGhvc3Rfb3MgaW4KICAgICBkYXJ3aW4qKSBsdF9hd2tfYXJnPSIvXmxpYnJhcmllczovLC9MUi8iIDs7CiAgICAgKikgbHRfYXdrX2FyZz0iL15saWJyYXJpZXM6LyIgOzsKQEAgLTkwOTUsMTMgKzk3NjksMTggQEAKICAgOzsKIAogYW1pZ2FvcyopCi0gIGlmIHRlc3QgIiRob3N0X2NwdSIgPSBtNjhrOyB0aGVuCisgIGNhc2UgJGhvc3RfY3B1IGluCisgIHBvd2VycGMpCisgICAgIyBTaW5jZSBKdWx5IDIwMDcgQW1pZ2FPUzQgb2ZmaWNpYWxseSBzdXBwb3J0cyAuc28gbGlicmFyaWVzLgorICAgICMgV2hlbiBjb21waWxpbmcgdGhlIGV4ZWN1dGFibGUsIGFkZCAtdXNlLWR5bmxkIC1Mc29ianM6IHRvIHRoZSBjb21waWxlbGluZS4KKyAgICBsaWJyYXJ5X25hbWVzX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSR2ZXJzdWZmaXggJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JG1ham9yICRsaWJuYW1lJHtzaGFyZWRfZXh0fScKKyAgICA7OworICBtNjhrKQogICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJGxpYm5hbWUuaXhsaWJyYXJ5ICRsaWJuYW1lLmEnCiAgICAgIyBDcmVhdGUgJHtsaWJuYW1lfV9peGxpYnJhcnkuYSBlbnRyaWVzIGluIC9zeXMvbGlicy4KICAgICBmaW5pc2hfZXZhbD0nZm9yIGxpYiBpbiBgbHMgJGxpYmRpci8qLml4bGlicmFyeSAyPi9kZXYvbnVsbGA7IGRvIGxpYm5hbWU9YCRFQ0hPICJYJGxpYiIgfCAkWHNlZCAtZSAnXCcncyVeLiovXChbXi9dKlwpXC5peGxpYnJhcnkkJVwxJSdcJydgOyB0ZXN0ICRSTSAvc3lzL2xpYnMvJHtsaWJuYW1lfV9peGxpYnJhcnkuYTsgJHNob3cgImNkIC9zeXMvbGlicyAmJiAkTE5fUyAkbGliICR7bGlibmFtZX1faXhsaWJyYXJ5LmEiOyBjZCAvc3lzL2xpYnMgJiYgJExOX1MgJGxpYiAke2xpYm5hbWV9X2l4bGlicmFyeS5hIHx8IGV4aXQgMTsgZG9uZScKLSAgZWxzZQotICAgIGR5bmFtaWNfbGlua2VyPW5vCi0gIGZpCisgICAgOzsKKyAgZXNhYwogICA7OwogCiBiZW9zKikKQEAgLTkxMjQsMTQgKzk4MDMsMTQgQEAKICAgIyBsaWJ0b29sIHRvIGhhcmQtY29kZSB0aGVzZSBpbnRvIHByb2dyYW1zCiAgIDs7CiAKLWN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKikKK2N5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgdmVyc2lvbl90eXBlPXdpbmRvd3MKICAgc2hyZXh0X2NtZHM9Ii5kbGwiCiAgIG5lZWRfdmVyc2lvbj1ubwogICBuZWVkX2xpYl9wcmVmaXg9bm8KIAotICBjYXNlICR3aXRoR0NDLCRob3N0X29zIGluCi0gIHllcyxjeWd3aW4qIHwgeWVzLG1pbmd3KiB8IHllcyxwdzMyKikKKyAgY2FzZSAkR0NDLCRob3N0X29zIGluCisgIHllcyxjeWd3aW4qIHwgeWVzLG1pbmd3KiB8IHllcyxwdzMyKiB8IHllcyxjZWdjYyopCiAgICAgbGlicmFyeV9uYW1lc19zcGVjPSckbGlibmFtZS5kbGwuYScKICAgICAjIERMTCBpcyBpbnN0YWxsZWQgdG8gJChsaWJkaXIpLy4uL2JpbiBieSBwb3N0aW5zdGFsbF9jbWRzCiAgICAgcG9zdGluc3RhbGxfY21kcz0nYmFzZV9maWxlPWBiYXNlbmFtZSBcJHtmaWxlfWB+CkBAIC05MTU0LDcgKzk4MzMsNyBAQAogICAgICAgc29uYW1lX3NwZWM9J2BlY2hvICR7bGlibmFtZX0gfCBzZWQgLWUgJ3MvXmxpYi9jeWcvJ2BgZWNobyAke3JlbGVhc2V9IHwgJFNFRCAtZSAncy9bLl0vLS9nJ2Ake3ZlcnN1ZmZpeH0ke3NoYXJlZF9leHR9JwogICAgICAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIvdXNyL2xpYiAvbGliL3czMmFwaSAvbGliIC91c3IvbG9jYWwvbGliIgogICAgICAgOzsKLSAgICBtaW5ndyopCisgICAgbWluZ3cqIHwgY2VnY2MqKQogICAgICAgIyBNaW5HVyBETExzIHVzZSB0cmFkaXRpb25hbCAnbGliJyBwcmVmaXgKICAgICAgIHNvbmFtZV9zcGVjPScke2xpYm5hbWV9YGVjaG8gJHtyZWxlYXNlfSB8ICRTRUQgLWUgJ3MvWy5dLy0vZydgJHt2ZXJzdWZmaXh9JHtzaGFyZWRfZXh0fScKICAgICAgIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz1gJENDIC1wcmludC1zZWFyY2gtZGlycyB8ICRHUkVQICJebGlicmFyaWVzOiIgfCAkU0VEIC1lICJzL15saWJyYXJpZXM6Ly8iIC1lICJzLD0vLC8sZyJgCkBAIC05NDIwLDcgKzEwMDk5LDcgQEAKICAgYWNfc3RhdHVzPSQ/CiAgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKICAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KLSAgaWYgICgkT0JKRFVNUCAtcCBjb25mdGVzdCRhY19leGVleHQpIDI+L2Rldi9udWxsIHwgZ3JlcCAiUlVOUEFUSC4qJGxpYmRpciI7IHRoZW4KKyAgaWYgICgkT0JKRFVNUCAtcCBjb25mdGVzdCRhY19leGVleHQpIDI+L2Rldi9udWxsIHwgZ3JlcCAiUlVOUEFUSC4qJGxpYmRpciIgPi9kZXYvbnVsbDsgdGhlbgogICBzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9eWVzCiBmaQogCkBAIC05NDQxLDcgKzEwMTIwLDcgQEAKIAogICAjIEFwcGVuZCBsZC5zby5jb25mIGNvbnRlbnRzIHRvIHRoZSBzZWFyY2ggcGF0aAogICBpZiB0ZXN0IC1mIC9ldGMvbGQuc28uY29uZjsgdGhlbgotICAgIGx0X2xkX2V4dHJhPWBhd2sgJy9eaW5jbHVkZSAvIHsgc3lzdGVtKHNwcmludGYoImNkIC9ldGM7IGNhdCAlcyAyPi9kZXYvbnVsbCIsIFwkMikpOyBza2lwID0gMTsgfSB7IGlmICghc2tpcCkgcHJpbnQgXCQwOyBza2lwID0gMDsgfScgPCAvZXRjL2xkLnNvLmNvbmYgfCAkU0VEIC1lICdzLyMuKi8vO3MvWzosCV0vIC9nO3MvPVtePV0qJC8vO3MvPVtePSBdKiAvIC9nOy9eJC9kJyB8IHRyICdcbicgJyAnYAorICAgIGx0X2xkX2V4dHJhPWBhd2sgJy9eaW5jbHVkZSAvIHsgc3lzdGVtKHNwcmludGYoImNkIC9ldGM7IGNhdCAlcyAyPi9kZXYvbnVsbCIsIFwkMikpOyBza2lwID0gMTsgfSB7IGlmICghc2tpcCkgcHJpbnQgXCQwOyBza2lwID0gMDsgfScgPCAvZXRjL2xkLnNvLmNvbmYgfCAkU0VEIC1lICdzLyMuKi8vOy9eWwkgXSpod2NhcFsJIF0vZDtzL1s6LAldLyAvZztzLz1bXj1dKiQvLztzLz1bXj0gXSogLyAvZzsvXiQvZCcgfCB0ciAnXG4nICcgJ2AKICAgICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0iL2xpYiAvdXNyL2xpYiAkbHRfbGRfZXh0cmEiCiAgIGZpCiAKQEAgLTk2MjUsNyArMTAzMDQsNyBAQAogICB2ZXJzaW9uX3R5cGU9bGludXgKICAgbmVlZF9saWJfcHJlZml4PW5vCiAgIG5lZWRfdmVyc2lvbj1ubwotICBsaWJyYXJ5X25hbWVfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JHZlcnN1ZmZpeCAke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kbWFqb3IgJGxpYm5hbWUke3NoYXJlZF9leHR9JworICBsaWJyYXJ5X25hbWVzX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSR2ZXJzdWZmaXggJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JG1ham9yICRsaWJuYW1lJHtzaGFyZWRfZXh0fScKICAgc2hsaWJwYXRoX3Zhcj1MRF9MSUJSQVJZX1BBVEgKICAgc2hsaWJwYXRoX292ZXJyaWRlc19ydW5wYXRoPW5vCiAgIGhhcmRjb2RlX2ludG9fbGlicz15ZXMKQEAgLTk2NTEsNiArMTAzMzAsMTMgQEAKICAgdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms9IiR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluayBHQ0NfRVhFQ19QUkVGSVggQ09NUElMRVJfUEFUSCBMSUJSQVJZX1BBVEgiCiBmaQogCitpZiB0ZXN0ICIke2x0X2N2X3N5c19saWJfc2VhcmNoX3BhdGhfc3BlYytzZXR9IiA9IHNldDsgdGhlbgorICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9IiRsdF9jdl9zeXNfbGliX3NlYXJjaF9wYXRoX3NwZWMiCitmaQoraWYgdGVzdCAiJHtsdF9jdl9zeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYytzZXR9IiA9IHNldDsgdGhlbgorICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0iJGx0X2N2X3N5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjIgorZmkKKwogCiAKIApAQCAtOTc5NSw3ICsxMDQ4MSw3IEBACiAgICAgbHRfY3ZfZGxvcGVuX3NlbGY9eWVzCiAgICAgOzsKIAotICBtaW5ndyogfCBwdzMyKikKKyAgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgICAgbHRfY3ZfZGxvcGVuPSJMb2FkTGlicmFyeSIKICAgICBsdF9jdl9kbG9wZW5fbGlicz0KICAgICA7OwpAQCAtMTAwNDIsNyArMTA3MjgsNyBAQAogZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2xpYl9kbGRfc2hsX2xvYWQiID4mNQogZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2xpYl9kbGRfc2hsX2xvYWQiID4mNgogaWYgdGVzdCAkYWNfY3ZfbGliX2RsZF9zaGxfbG9hZCA9IHllczsgdGhlbgotICBsdF9jdl9kbG9wZW49InNobF9sb2FkIiBsdF9jdl9kbG9wZW5fbGlicz0iLWRsZCIKKyAgbHRfY3ZfZGxvcGVuPSJzaGxfbG9hZCIgbHRfY3ZfZGxvcGVuX2xpYnM9Ii1sZGxkIgogZWxzZQogICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIGRsb3BlbiIgPiY1CiBlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBkbG9wZW4uLi4gJEVDSE9fQyIgPiY2CkBAIC0xMDMzNiw3ICsxMTAyMiw3IEBACiBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfbGliX2RsZF9kbGRfbGluayIgPiY1CiBlY2hvICIke0VDSE9fVH0kYWNfY3ZfbGliX2RsZF9kbGRfbGluayIgPiY2CiBpZiB0ZXN0ICRhY19jdl9saWJfZGxkX2RsZF9saW5rID0geWVzOyB0aGVuCi0gIGx0X2N2X2Rsb3Blbj0iZGxkX2xpbmsiIGx0X2N2X2Rsb3Blbl9saWJzPSItZGxkIgorICBsdF9jdl9kbG9wZW49ImRsZF9saW5rIiBsdF9jdl9kbG9wZW5fbGlicz0iLWxkbGQiCiBmaQogCiAKQEAgLTEwMzg1LDcgKzExMDcxLDcgQEAKICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotI2xpbmUgMTAzODggImNvbmZpZ3VyZSIKKyNsaW5lIDExMDc0ICJjb25maWd1cmUiCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIKIAogI2lmIEhBVkVfRExGQ05fSApAQCAtMTA0MjYsMTAgKzExMTEyLDYgQEAKICMgIGVuZGlmCiAjZW5kaWYKIAotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHZvaWQgZXhpdCAoaW50KTsKLSNlbmRpZgotCiB2b2lkIGZub3JkKCkgeyBpbnQgaT00Mjt9CiBpbnQgbWFpbiAoKQogewpAQCAtMTA0NDUsNyArMTExMjcsNyBAQAogICBlbHNlCiAgICAgcHV0cyAoZGxlcnJvciAoKSk7CiAKLSAgICBleGl0IChzdGF0dXMpOworICByZXR1cm4gc3RhdHVzOwogfQogX0xUX0VPRgogICBpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19saW5rXCIiKSA+JjUKQEAgLTEwNDg1LDcgKzExMTY3LDcgQEAKICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotI2xpbmUgMTA0ODggImNvbmZpZ3VyZSIKKyNsaW5lIDExMTcwICJjb25maWd1cmUiCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIKIAogI2lmIEhBVkVfRExGQ05fSApAQCAtMTA1MjYsMTAgKzExMjA4LDYgQEAKICMgIGVuZGlmCiAjZW5kaWYKIAotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHZvaWQgZXhpdCAoaW50KTsKLSNlbmRpZgotCiB2b2lkIGZub3JkKCkgeyBpbnQgaT00Mjt9CiBpbnQgbWFpbiAoKQogewpAQCAtMTA1NDUsNyArMTEyMjMsNyBAQAogICBlbHNlCiAgICAgcHV0cyAoZGxlcnJvciAoKSk7CiAKLSAgICBleGl0IChzdGF0dXMpOworICByZXR1cm4gc3RhdHVzOwogfQogX0xUX0VPRgogICBpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19saW5rXCIiKSA+JjUKQEAgLTExNzU4LDYgKzEyNDM2LDEwIEBACiAgICAgICAgICAgU0hBUkVEX0xJQkFERD0iLVdsLGBwd2RgLy4uL2JmZC8ubGlicy9saWJiZmQuc2wiCiAJICA7OwogCSopCisJICAjIEl0IGlzIHRlbXB0aW5nIHRvIGluY2x1ZGUgbGliaWJlcnR5IGhlcmUgYXMgd2VsbCwgYnV0CisJICAjIHRoYXQgbGlicmFyeSBpcyBvbmx5IGJ1aWx0IGFzIGEgc3RhdGljIHZlcnNpb24uCisJICAjIEluY2x1ZGluZyBpdCBoZXJlIHdvdWxkIGluc2VydCB0ZXh0IHJlbG9jYXRpb25zIGludG8KKwkgICMgdGhlIG9wY29kZXMgbGlicmFyeSwgd2hpY2ggaXMgdW5kZXNpcmFibGUuCiAgICAgICAgICAgU0hBUkVEX0xJQkFERD0iLVdsLGBwd2RgLy4uL2JmZC8ubGlicy9saWJiZmQuc28iCiAJICA7OwogICAgICAgZXNhYwpAQCAtMTI1MzcsNiArMTMyMTksNyBAQAogbHRfTkwyU1A9J2AkRUNITyAiWCRsdF9OTDJTUCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogcmVsb2FkX2ZsYWc9J2AkRUNITyAiWCRyZWxvYWRfZmxhZyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogcmVsb2FkX2NtZHM9J2AkRUNITyAiWCRyZWxvYWRfY21kcyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJworT0JKRFVNUD0nYCRFQ0hPICJYJE9CSkRVTVAiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIGRlcGxpYnNfY2hlY2tfbWV0aG9kPSdgJEVDSE8gIlgkZGVwbGlic19jaGVja19tZXRob2QiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIGZpbGVfbWFnaWNfY21kPSdgJEVDSE8gIlgkZmlsZV9tYWdpY19jbWQiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIEFSPSdgJEVDSE8gIlgkQVIiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTEyNTUzLDYgKzEzMjM2LDcgQEAKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiWCRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0nYCRFQ0hPICJYJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nYCRFQ0hPICJYJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSdgJEVDSE8gIlgkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogb2JqZGlyPSdgJEVDSE8gIlgkb2JqZGlyIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBTSEVMTD0nYCRFQ0hPICJYJFNIRUxMIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBFQ0hPPSdgJEVDSE8gIlgkRUNITyIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMTI1NjMsNiArMTMyNDcsMTEgQEAKIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSdgJEVDSE8gIlgkbHRfcHJvZ19jb21waWxlcl9zdGF0aWMiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIGx0X2N2X3Byb2dfY29tcGlsZXJfY19vPSdgJEVDSE8gIlgkbHRfY3ZfcHJvZ19jb21waWxlcl9jX28iIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKIG5lZWRfbG9ja3M9J2AkRUNITyAiWCRuZWVkX2xvY2tzIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitEU1lNVVRJTD0nYCRFQ0hPICJYJERTWU1VVElMIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitOTUVESVQ9J2AkRUNITyAiWCROTUVESVQiIHwgJFhzZWQgLWUgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKK0xJUE89J2AkRUNITyAiWCRMSVBPIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitPVE9PTD0nYCRFQ0hPICJYJE9UT09MIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCitPVE9PTDY0PSdgJEVDSE8gIlgkT1RPT0w2NCIgfCAkWHNlZCAtZSAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogbGliZXh0PSdgJEVDSE8gIlgkbGliZXh0IiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBzaHJleHRfY21kcz0nYCRFQ0hPICJYJHNocmV4dF9jbWRzIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiBleHRyYWN0X2V4cHN5bXNfY21kcz0nYCRFQ0hPICJYJGV4dHJhY3RfZXhwc3ltc19jbWRzIiB8ICRYc2VkIC1lICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0xMjYzNiw2ICsxMzMyNSw3IEBACiBsdF9TUDJOTCBcCiBsdF9OTDJTUCBcCiByZWxvYWRfZmxhZyBcCitPQkpEVU1QIFwKIGRlcGxpYnNfY2hlY2tfbWV0aG9kIFwKIGZpbGVfbWFnaWNfY21kIFwKIEFSIFwKQEAgLTEyNjQ4LDYgKzEzMzM4LDcgQEAKIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXAogbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wgXAogbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MgXAorbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCBcCiBTSEVMTCBcCiBFQ0hPIFwKIGx0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnIFwKQEAgLTEyNjU2LDYgKzEzMzQ3LDExIEBACiBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYyBcCiBsdF9jdl9wcm9nX2NvbXBpbGVyX2NfbyBcCiBuZWVkX2xvY2tzIFwKK0RTWU1VVElMIFwKK05NRURJVCBcCitMSVBPIFwKK09UT09MIFwKK09UT09MNjQgXAogc2hyZXh0X2NtZHMgXAogZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjIFwKIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjIFwKQEAgLTEyOTE0LDcgKzEzNjEwLDE5IEBACiBzLEBhY19jdF9EVU1QQklOQCwkYWNfY3RfRFVNUEJJTiw7dCB0CiBzLEBOTUAsJE5NLDt0IHQKIHMsQExOX1NALCRMTl9TLDt0IHQKK3MsQE9CSkRVTVBALCRPQkpEVU1QLDt0IHQKK3MsQGFjX2N0X09CSkRVTVBALCRhY19jdF9PQkpEVU1QLDt0IHQKIHMsQGx0X0VDSE9ALCRsdF9FQ0hPLDt0IHQKK3MsQERTWU1VVElMQCwkRFNZTVVUSUwsO3QgdAorcyxAYWNfY3RfRFNZTVVUSUxALCRhY19jdF9EU1lNVVRJTCw7dCB0CitzLEBOTUVESVRALCROTUVESVQsO3QgdAorcyxAYWNfY3RfTk1FRElUQCwkYWNfY3RfTk1FRElULDt0IHQKK3MsQExJUE9ALCRMSVBPLDt0IHQKK3MsQGFjX2N0X0xJUE9ALCRhY19jdF9MSVBPLDt0IHQKK3MsQE9UT09MQCwkT1RPT0wsO3QgdAorcyxAYWNfY3RfT1RPT0xALCRhY19jdF9PVE9PTCw7dCB0CitzLEBPVE9PTDY0QCwkT1RPT0w2NCw7dCB0CitzLEBhY19jdF9PVE9PTDY0QCwkYWNfY3RfT1RPT0w2NCw7dCB0CiBzLEBXQVJOX0NGTEFHU0AsJFdBUk5fQ0ZMQUdTLDt0IHQKIHMsQE5PX1dFUlJPUkAsJE5PX1dFUlJPUiw7dCB0CiBzLEBNQUlOVEFJTkVSX01PREVfVFJVRUAsJE1BSU5UQUlORVJfTU9ERV9UUlVFLDt0IHQKQEAgLTEzNjUyLDM2ICsxNDM2MCwzNiBAQAogIyEgJFNIRUxMCiAKICMgYCRFQ0hPICIkb2ZpbGUiIHwgc2VkICdzJV4uKi8lJSdgIC0gUHJvdmlkZSBnZW5lcmFsaXplZCBsaWJyYXJ5LWJ1aWxkaW5nIHN1cHBvcnQgc2VydmljZXMuCi0jIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5ICRhc19tZSAoR05VICRQQUNLQUdFJFRJTUVTVEFNUCkgJFZFUlNJT04KKyMgR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgJGFzX21lICgkUEFDS0FHRSRUSU1FU1RBTVApICRWRVJTSU9OCiAjIExpYnRvb2wgd2FzIGNvbmZpZ3VyZWQgb24gaG9zdCBgKGhvc3RuYW1lIHx8IHVuYW1lIC1uKSAyPi9kZXYvbnVsbCB8IHNlZCAxcWA6CiAjIE5PVEU6IENoYW5nZXMgbWFkZSB0byB0aGlzIGZpbGUgd2lsbCBiZSBsb3N0OiBsb29rIGF0IGx0bWFpbi5zaC4KICMKLSMgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAzLCAyMDA0LCAyMDA1LAotIyAyMDA2LCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyAgIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMywgMjAwNCwgMjAwNSwKKyMgICAgICAgICAgICAgICAgIDIwMDYsIDIwMDcsIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjICAgV3JpdHRlbiBieSBHb3Jkb24gTWF0emlna2VpdCwgMTk5NgogIwotIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgTGlidG9vbDoKLSMgT3JpZ2luYWxseSBieSBHb3Jkb24gTWF0emlna2VpdCA8Z29yZEBnbnUuYWkubWl0LmVkdT4sIDE5OTYKKyMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgTGlidG9vbC4KICMKLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMgR05VIExpYnRvb2wgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisjIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCisjIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0Ci0jIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwKKyMgaWYgeW91IGRpc3RyaWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIG9yIGxpYnJhcnkgdGhhdAorIyBpcyBidWlsdCB1c2luZyBHTlUgTGlidG9vbCwgeW91IG1heSBpbmNsdWRlIHRoaXMgZmlsZSB1bmRlciB0aGUKKyMgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUgcmVzdCBvZiB0aGF0IHByb2dyYW0uCisjCisjIEdOVSBMaWJ0b29sIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICMKICMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgYSBjb3B5IGNhbiBiZSBkb3dubG9hZGVkIGZyb20KLSMgaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2dwbC5odG1sLCBvciBieSB3cml0aW5nIHRvIHRoZSBGcmVlCi0jIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKLSMgTUEgMDIxMTAtMTMwMSwgVVNBLgotIwotIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91Ci0jIGRpc3RyaWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIHRoYXQgY29udGFpbnMgYQotIyBjb25maWd1cmF0aW9uIHNjcmlwdCBnZW5lcmF0ZWQgYnkgQXV0b2NvbmYsIHlvdSBtYXkgaW5jbHVkZSBpdCB1bmRlcgotIyB0aGUgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUgcmVzdCBvZiB0aGF0IHByb2dyYW0uCisjIGFsb25nIHdpdGggR05VIExpYnRvb2w7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCBhIGNvcHkKKyMgY2FuIGJlIGRvd25sb2FkZWQgZnJvbSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwsIG9yCisjIG9idGFpbmVkIGJ5IHdyaXRpbmcgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyMgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAKIAogIyBUaGUgbmFtZXMgb2YgdGhlIHRhZ2dlZCBjb25maWd1cmF0aW9ucyBzdXBwb3J0ZWQgYnkgdGhpcyBzY3JpcHQuCkBAIC0xMzc1OCw2ICsxNDQ2Niw5IEBACiByZWxvYWRfZmxhZz0kbHRfcmVsb2FkX2ZsYWcKIHJlbG9hZF9jbWRzPSRsdF9yZWxvYWRfY21kcwogCisjIEFuIG9iamVjdCBzeW1ib2wgZHVtcGVyLgorT0JKRFVNUD0kbHRfT0JKRFVNUAorCiAjIE1ldGhvZCB0byBjaGVjayB3aGV0aGVyIGRlcGVuZGVudCBsaWJyYXJpZXMgYXJlIHNoYXJlZCBvYmplY3RzLgogZGVwbGlic19jaGVja19tZXRob2Q9JGx0X2RlcGxpYnNfY2hlY2tfbWV0aG9kCiAKQEAgLTEzNzkxLDYgKzE0NTAyLDkgQEAKICMgVHJhbnNmb3JtIHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBDIG5hbWUgYWRkcmVzcyBwYWlyLgogZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKIAorIyBUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIgd2hlbiBsaWIgcHJlZml4IGlzIG5lZWRlZC4KK2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAorCiAjIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0ZW1wb3JhcnkgbGlidG9vbCBmaWxlcy4KIG9iamRpcj0kb2JqZGlyCiAKQEAgLTEzODA2LDYgKzE0NTIwLDIxIEBACiAjIE11c3Qgd2UgbG9jayBmaWxlcyB3aGVuIGRvaW5nIGNvbXBpbGF0aW9uPwogbmVlZF9sb2Nrcz0kbHRfbmVlZF9sb2NrcwogCisjIFRvb2wgdG8gbWFuaXB1bGF0ZSBhcmNoaXZlZCBEV0FSRiBkZWJ1ZyBzeW1ib2wgZmlsZXMgb24gTWFjIE9TIFguCitEU1lNVVRJTD0kbHRfRFNZTVVUSUwKKworIyBUb29sIHRvIGNoYW5nZSBnbG9iYWwgdG8gbG9jYWwgc3ltYm9scyBvbiBNYWMgT1MgWC4KK05NRURJVD0kbHRfTk1FRElUCisKKyMgVG9vbCB0byBtYW5pcHVsYXRlIGZhdCBvYmplY3RzIGFuZCBhcmNoaXZlcyBvbiBNYWMgT1MgWC4KK0xJUE89JGx0X0xJUE8KKworIyBsZGQvcmVhZGVsZiBsaWtlIHRvb2wgZm9yIE1hY2gtTyBiaW5hcmllcyBvbiBNYWMgT1MgWC4KK09UT09MPSRsdF9PVE9PTAorCisjIGxkZC9yZWFkZWxmIGxpa2UgdG9vbCBmb3IgNjQgYml0IE1hY2gtTyBiaW5hcmllcyBvbiBNYWMgT1MgWCAxMC40LgorT1RPT0w2ND0kbHRfT1RPT0w2NAorCiAjIE9sZCBhcmNoaXZlIHN1ZmZpeCAobm9ybWFsbHkgImEiKS4KIGxpYmV4dD0kbGliZXh0CiAKQEAgLTE0MDQ2LDYgKzE0Nzc1LDcgQEAKICAgY2FzZSAkeHNpX3NoZWxsIGluCiAgIHllcykKICAgICBjYXQgPDwgXF9MVF9FT0YgPj4gIiRjZmdmaWxlIgorCiAjIGZ1bmNfZGlybmFtZSBmaWxlIGFwcGVuZCBub25kaXJfcmVwbGFjZW1lbnQKICMgQ29tcHV0ZSB0aGUgZGlybmFtZSBvZiBGSUxFLiAgSWYgbm9uZW1wdHksIGFkZCBBUFBFTkQgdG8gdGhlIHJlc3VsdCwKICMgb3RoZXJ3aXNlIHNldCByZXN1bHQgdG8gTk9ORElSX1JFUExBQ0VNRU5ULgpAQCAtMTQwNjMsNiArMTQ3OTMsMjcgQEAKICAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9IiR7MSMjKi99IgogfQogCisjIGZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgZmlsZSBhcHBlbmQgbm9uZGlyX3JlcGxhY2VtZW50CisjIHBlcmZvcm0gZnVuY19iYXNlbmFtZSBhbmQgZnVuY19kaXJuYW1lIGluIGEgc2luZ2xlIGZ1bmN0aW9uCisjIGNhbGw6CisjICAgZGlybmFtZTogIENvbXB1dGUgdGhlIGRpcm5hbWUgb2YgRklMRS4gIElmIG5vbmVtcHR5LAorIyAgICAgICAgICAgICBhZGQgQVBQRU5EIHRvIHRoZSByZXN1bHQsIG90aGVyd2lzZSBzZXQgcmVzdWx0CisjICAgICAgICAgICAgIHRvIE5PTkRJUl9SRVBMQUNFTUVOVC4KKyMgICAgICAgICAgICAgdmFsdWUgcmV0dXJuZWQgaW4gIiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgorIyAgIGJhc2VuYW1lOiBDb21wdXRlIGZpbGVuYW1lIG9mIEZJTEUuCisjICAgICAgICAgICAgIHZhbHVlIHJldHVuZWQgaW4gIiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIKKyMgSW1wbGVtZW50YXRpb24gbXVzdCBiZSBrZXB0IHN5bmNocm9uaXplZCB3aXRoIGZ1bmNfZGlybmFtZQorIyBhbmQgZnVuY19iYXNlbmFtZS4gRm9yIGVmZmljaWVuY3ksIHdlIGRvIG5vdCBkZWxlZ2F0ZSB0bworIyB0aG9zZSBmdW5jdGlvbnMgYnV0IGluc3RlYWQgZHVwbGljYXRlIHRoZSBmdW5jdGlvbmFsaXR5IGhlcmUuCitmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lICgpCit7CisgIGNhc2UgJHsxfSBpbgorICAgICovKikgZnVuY19kaXJuYW1lX3Jlc3VsdD0iJHsxJS8qfSR7Mn0iIDs7CisgICAgKiAgKSBmdW5jX2Rpcm5hbWVfcmVzdWx0PSIkezN9IiA7OworICBlc2FjCisgIGZ1bmNfYmFzZW5hbWVfcmVzdWx0PSIkezEjIyovfSIKK30KKwogIyBmdW5jX3N0cmlwbmFtZSBwcmVmaXggc3VmZml4IG5hbWUKICMgc3RyaXAgUFJFRklYIGFuZCBTVUZGSVggb2ZmIG9mIE5BTUUuCiAjIFBSRUZJWCBhbmQgU1VGRklYIG11c3Qgbm90IGNvbnRhaW4gZ2xvYmJpbmcgb3IgcmVnZXggc3BlY2lhbApAQCAtMTQwOTIsMTAgKzE0ODQzLDMxIEBACiAgICAgKikgICAgZnVuY19sbzJvX3Jlc3VsdD0kezF9IDs7CiAgIGVzYWMKIH0KKworIyBmdW5jX3hmb3JtIGxpYm9iai1vci1zb3VyY2UKK2Z1bmNfeGZvcm0gKCkKK3sKKyAgZnVuY194Zm9ybV9yZXN1bHQ9JHsxJS4qfS5sbworfQorCisjIGZ1bmNfYXJpdGggYXJpdGhtZXRpYy10ZXJtLi4uCitmdW5jX2FyaXRoICgpCit7CisgIGZ1bmNfYXJpdGhfcmVzdWx0PSQoKCAkKiApKQorfQorCisjIGZ1bmNfbGVuIHN0cmluZworIyBTVFJJTkcgbWF5IG5vdCBzdGFydCB3aXRoIGEgaHlwaGVuLgorZnVuY19sZW4gKCkKK3sKKyAgZnVuY19sZW5fcmVzdWx0PSR7IzF9Cit9CisKIF9MVF9FT0YKICAgICA7OwogICAqKSAjIEJvdXJuZSBjb21wYXRpYmxlIGZ1bmN0aW9ucy4KICAgICBjYXQgPDwgXF9MVF9FT0YgPj4gIiRjZmdmaWxlIgorCiAjIGZ1bmNfZGlybmFtZSBmaWxlIGFwcGVuZCBub25kaXJfcmVwbGFjZW1lbnQKICMgQ29tcHV0ZSB0aGUgZGlybmFtZSBvZiBGSUxFLiAgSWYgbm9uZW1wdHksIGFkZCBBUFBFTkQgdG8gdGhlIHJlc3VsdCwKICMgb3RoZXJ3aXNlIHNldCByZXN1bHQgdG8gTk9ORElSX1JFUExBQ0VNRU5ULgpAQCAtMTQxMTYsNiArMTQ4ODgsNyBAQAogICBmdW5jX2Jhc2VuYW1lX3Jlc3VsdD1gJEVDSE8gIlgkezF9IiB8ICRYc2VkIC1lICIkYmFzZW5hbWUiYAogfQogCisKICMgZnVuY19zdHJpcG5hbWUgcHJlZml4IHN1ZmZpeCBuYW1lCiAjIHN0cmlwIFBSRUZJWCBhbmQgU1VGRklYIG9mZiBvZiBOQU1FLgogIyBQUkVGSVggYW5kIFNVRkZJWCBtdXN0IG5vdCBjb250YWluIGdsb2JiaW5nIG9yIHJlZ2V4IHNwZWNpYWwKQEAgLTE0MTQ4LDYgKzE0OTIxLDI2IEBACiB7CiAgIGZ1bmNfbG8yb19yZXN1bHQ9YCRFQ0hPICJYJHsxfSIgfCAkWHNlZCAtZSAiJGxvMm8iYAogfQorCisjIGZ1bmNfeGZvcm0gbGlib2JqLW9yLXNvdXJjZQorZnVuY194Zm9ybSAoKQoreworICBmdW5jX3hmb3JtX3Jlc3VsdD1gJEVDSE8gIlgkezF9IiB8ICRYc2VkIC1lICdzL1wuW14uXSokLy5sby8nYAorfQorCisjIGZ1bmNfYXJpdGggYXJpdGhtZXRpYy10ZXJtLi4uCitmdW5jX2FyaXRoICgpCit7CisgIGZ1bmNfYXJpdGhfcmVzdWx0PWBleHByICIkQCJgCit9CisKKyMgZnVuY19sZW4gc3RyaW5nCisjIFNUUklORyBtYXkgbm90IHN0YXJ0IHdpdGggYSBoeXBoZW4uCitmdW5jX2xlbiAoKQoreworICBmdW5jX2xlbl9yZXN1bHQ9YGV4cHIgIiQxIiA6ICIuKiIgMj4vZGV2L251bGwgfHwgZWNobyAkbWF4X2NtZF9sZW5gCit9CisKIF9MVF9FT0YKIGVzYWMKIApAQCAtMTQxNzIsNiArMTQ5NjUsNyBAQAogewogICBldmFsICIkMT1cJCQxXCQyIgogfQorCiBfTFRfRU9GCiAgICAgOzsKICAgZXNhYwpkaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9jb25maWd1cmUuaW4gYi9vcGNvZGVzL2NvbmZpZ3VyZS5pbgppbmRleCAyODAwZWVkLi4xZWZlYjNmIDEwMDY0NAotLS0gYS9vcGNvZGVzL2NvbmZpZ3VyZS5pbgorKysgYi9vcGNvZGVzL2NvbmZpZ3VyZS5pbgpAQCAtMTE4LDYgKzExOCwxMCBAQAogICAgICAgICAgIFNIQVJFRF9MSUJBREQ9Ii1XbCxgcHdkYC8uLi9iZmQvLmxpYnMvbGliYmZkLnNsIgogCSAgOzsKIAkqKQorCSAgIyBJdCBpcyB0ZW1wdGluZyB0byBpbmNsdWRlIGxpYmliZXJ0eSBoZXJlIGFzIHdlbGwsIGJ1dAorCSAgIyB0aGF0IGxpYnJhcnkgaXMgb25seSBidWlsdCBhcyBhIHN0YXRpYyB2ZXJzaW9uLgorCSAgIyBJbmNsdWRpbmcgaXQgaGVyZSB3b3VsZCBpbnNlcnQgdGV4dCByZWxvY2F0aW9ucyBpbnRvCisJICAjIHRoZSBvcGNvZGVzIGxpYnJhcnksIHdoaWNoIGlzIHVuZGVzaXJhYmxlLgogICAgICAgICAgIFNIQVJFRF9MSUJBREQ9Ii1XbCxgcHdkYC8uLi9iZmQvLmxpYnMvbGliYmZkLnNvIgogCSAgOzsKICAgICAgIGVzYWMKZGlmZiAtLWdpdCBhL29wY29kZXMvaTM4Ni1nZW4uYyBiL29wY29kZXMvaTM4Ni1nZW4uYwppbmRleCBhYTlhN2ZmLi5iOWQwNTVmIDEwMDY0NAotLS0gYS9vcGNvZGVzL2kzODYtZ2VuLmMKKysrIGIvb3Bjb2Rlcy9pMzg2LWdlbi5jCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlICJnZXRvcHQuaCIKICNpbmNsdWRlICJsaWJpYmVydHkuaCIKKyNpbmNsdWRlICJoYXNodGFiLmgiCiAjaW5jbHVkZSAic2FmZS1jdHlwZS5oIgogCiAjaW5jbHVkZSAiaTM4Ni1vcGMuaCIKQEAgLTQ3Myw3ICs0NzQsNyBAQAogICAgcG9pbnRlciB0byB0aGUgb25lIGFmdGVyIGl0LiAgKi8KIAogc3RhdGljIGNoYXIgKgotbmV4dF9maWVsZCAoY2hhciAqc3RyLCBjaGFyIHNlcCwgY2hhciAqKm5leHQpCituZXh0X2ZpZWxkIChjaGFyICpzdHIsIGNoYXIgc2VwLCBjaGFyICoqbmV4dCwgY2hhciAqbGFzdCkKIHsKICAgY2hhciAqcDsKIApAQCAtNDg1LDYgKzQ4Niw5IEBACiAKICAgKm5leHQgPSBzdHIgKyAxOyAKIAorICBpZiAocCA+PSBsYXN0KQorICAgIGFib3J0ICgpOworCiAgIHJldHVybiBwOwogfQogCkBAIC01NTksNyArNTYzLDcgQEAKICAgICAgIGxhc3QgPSBmbGFnICsgc3RybGVuIChmbGFnKTsKICAgICAgIGZvciAobmV4dCA9IGZsYWc7IG5leHQgJiYgbmV4dCA8IGxhc3Q7ICkKIAl7Ci0JICBzdHIgPSBuZXh0X2ZpZWxkIChuZXh0LCAnfCcsICZuZXh0KTsKKwkgIHN0ciA9IG5leHRfZmllbGQgKG5leHQsICd8JywgJm5leHQsIGxhc3QpOwogCSAgaWYgKHN0cikKIAkgICAgc2V0X2JpdGZpZWxkIChzdHIsIGZsYWdzLCBBUlJBWV9TSVpFIChmbGFncykpOwogCX0KQEAgLTYwMCw3ICs2MDQsNyBAQAogICAgICAgbGFzdCA9IG1vZCArIHN0cmxlbiAobW9kKTsKICAgICAgIGZvciAobmV4dCA9IG1vZDsgbmV4dCAmJiBuZXh0IDwgbGFzdDsgKQogCXsKLQkgIHN0ciA9IG5leHRfZmllbGQgKG5leHQsICd8JywgJm5leHQpOworCSAgc3RyID0gbmV4dF9maWVsZCAobmV4dCwgJ3wnLCAmbmV4dCwgbGFzdCk7CiAJICBpZiAoc3RyKQogCSAgICBzZXRfYml0ZmllbGQgKHN0ciwgbW9kaWZpZXJzLCBBUlJBWV9TSVpFIChtb2RpZmllcnMpKTsKIAl9CkBAIC02NDcsNyArNjUxLDcgQEAKICAgICAgIGxhc3QgPSBvcCArIHN0cmxlbiAob3ApOwogICAgICAgZm9yIChuZXh0ID0gb3A7IG5leHQgJiYgbmV4dCA8IGxhc3Q7ICkKIAl7Ci0JICBzdHIgPSBuZXh0X2ZpZWxkIChuZXh0LCAnfCcsICZuZXh0KTsKKwkgIHN0ciA9IG5leHRfZmllbGQgKG5leHQsICd8JywgJm5leHQsIGxhc3QpOwogCSAgaWYgKHN0cikKIAkgICAgc2V0X2JpdGZpZWxkIChzdHIsIHR5cGVzLCBBUlJBWV9TSVpFICh0eXBlcykpOwogCX0KQEAgLTY1NywxNSArNjYxLDEzOSBAQAogfQogCiBzdGF0aWMgdm9pZAorb3V0cHV0X2kzODZfb3Bjb2RlIChGSUxFICp0YWJsZSwgY29uc3QgY2hhciAqbmFtZSwgY2hhciAqc3RyLAorCQkgICAgY2hhciAqbGFzdCkKK3sKKyAgdW5zaWduZWQgaW50IGk7CisgIGNoYXIgKm9wZXJhbmRzLCAqYmFzZV9vcGNvZGUsICpleHRlbnNpb25fb3Bjb2RlLCAqb3Bjb2RlX2xlbmd0aDsKKyAgY2hhciAqY3B1X2ZsYWdzLCAqb3Bjb2RlX21vZGlmaWVyLCAqb3BlcmFuZF90eXBlcyBbTUFYX09QRVJBTkRTXTsKKworICAvKiBGaW5kIG51bWJlciBvZiBvcGVyYW5kcy4gICovCisgIG9wZXJhbmRzID0gbmV4dF9maWVsZCAoc3RyLCAnLCcsICZzdHIsIGxhc3QpOworCisgIC8qIEZpbmQgYmFzZV9vcGNvZGUuICAqLworICBiYXNlX29wY29kZSA9IG5leHRfZmllbGQgKHN0ciwgJywnLCAmc3RyLCBsYXN0KTsKKworICAvKiBGaW5kIGV4dGVuc2lvbl9vcGNvZGUuICAqLworICBleHRlbnNpb25fb3Bjb2RlID0gbmV4dF9maWVsZCAoc3RyLCAnLCcsICZzdHIsIGxhc3QpOworCisgIC8qIEZpbmQgb3Bjb2RlX2xlbmd0aC4gICovCisgIG9wY29kZV9sZW5ndGggPSBuZXh0X2ZpZWxkIChzdHIsICcsJywgJnN0ciwgbGFzdCk7CisKKyAgLyogRmluZCBjcHVfZmxhZ3MuICAqLworICBjcHVfZmxhZ3MgPSBuZXh0X2ZpZWxkIChzdHIsICcsJywgJnN0ciwgbGFzdCk7CisKKyAgLyogRmluZCBvcGNvZGVfbW9kaWZpZXIuICAqLworICBvcGNvZGVfbW9kaWZpZXIgPSBuZXh0X2ZpZWxkIChzdHIsICcsJywgJnN0ciwgbGFzdCk7CisKKyAgLyogUmVtb3ZlIHRoZSBmaXJzdCB7LiAgKi8KKyAgc3RyID0gcmVtb3ZlX2xlYWRpbmdfd2hpdGVzcGFjZXMgKHN0cik7CisgIGlmICgqc3RyICE9ICd7JykKKyAgICBhYm9ydCAoKTsKKyAgc3RyID0gcmVtb3ZlX2xlYWRpbmdfd2hpdGVzcGFjZXMgKHN0ciArIDEpOworCisgIGkgPSBzdHJsZW4gKHN0cik7CisKKyAgLyogVGhlcmUgYXJlIGF0IGxlYXN0ICJYfSIuICAqLworICBpZiAoaSA8IDIpCisgICAgYWJvcnQgKCk7CisKKyAgLyogUmVtb3ZlIHRyYWlsaW5nIHdoaXRlIHNwYWNlcyBhbmQgfS4gKi8KKyAgZG8KKyAgICB7CisgICAgICBpLS07CisgICAgICBpZiAoSVNTUEFDRSAoc3RyW2ldKSB8fCBzdHJbaV0gPT0gJ30nKQorCXN0cltpXSA9ICdcMCc7CisgICAgICBlbHNlCisJYnJlYWs7CisgICAgfQorICB3aGlsZSAoaSAhPSAwKTsKKworICBsYXN0ID0gc3RyICsgaTsKKworICAvKiBGaW5kIG9wZXJhbmRfdHlwZXMuICAqLworICBmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSAob3BlcmFuZF90eXBlcyk7IGkrKykKKyAgICB7CisgICAgICBpZiAoc3RyID49IGxhc3QpCisJeworCSAgb3BlcmFuZF90eXBlcyBbaV0gPSBOVUxMOworCSAgYnJlYWs7CisJfQorCisgICAgICBvcGVyYW5kX3R5cGVzIFtpXSA9IG5leHRfZmllbGQgKHN0ciwgJywnLCAmc3RyLCBsYXN0KTsKKyAgICAgIGlmICgqb3BlcmFuZF90eXBlc1tpXSA9PSAnMCcpCisJeworCSAgaWYgKGkgIT0gMCkKKwkgICAgb3BlcmFuZF90eXBlc1tpXSA9IE5VTEw7CisJICBicmVhazsKKwl9CisgICAgfQorCisgIGZwcmludGYgKHRhYmxlLCAiICB7IFwiJXNcIiwgJXMsICVzLCAlcywgJXMsXG4iLAorCSAgIG5hbWUsIG9wZXJhbmRzLCBiYXNlX29wY29kZSwgZXh0ZW5zaW9uX29wY29kZSwKKwkgICBvcGNvZGVfbGVuZ3RoKTsKKworICBwcm9jZXNzX2kzODZfY3B1X2ZsYWcgKHRhYmxlLCBjcHVfZmxhZ3MsIDAsICIsIiwgIiAgICAiKTsKKworICBwcm9jZXNzX2kzODZfb3Bjb2RlX21vZGlmaWVyICh0YWJsZSwgb3Bjb2RlX21vZGlmaWVyKTsKKworICBmcHJpbnRmICh0YWJsZSwgIiAgICB7ICIpOworCisgIGZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFIChvcGVyYW5kX3R5cGVzKTsgaSsrKQorICAgIHsKKyAgICAgIGlmIChvcGVyYW5kX3R5cGVzW2ldID09IE5VTEwgfHwgKm9wZXJhbmRfdHlwZXNbaV0gPT0gJzAnKQorCXsKKwkgIGlmIChpID09IDApCisJICAgIHByb2Nlc3NfaTM4Nl9vcGVyYW5kX3R5cGUgKHRhYmxlLCAiMCIsIDAsICJcdCAgIik7CisJICBicmVhazsKKwl9CisKKyAgICAgIGlmIChpICE9IDApCisJZnByaW50ZiAodGFibGUsICIsXG4gICAgICAiKTsKKworICAgICAgcHJvY2Vzc19pMzg2X29wZXJhbmRfdHlwZSAodGFibGUsIG9wZXJhbmRfdHlwZXNbaV0sIDAsCisJCQkJICJcdCAgIik7CisgICAgfQorICBmcHJpbnRmICh0YWJsZSwgIiB9IH0sXG4iKTsKK30KKworc3RydWN0IG9wY29kZV9oYXNoX2VudHJ5Cit7CisgIHN0cnVjdCBvcGNvZGVfaGFzaF9lbnRyeSAqbmV4dDsKKyAgY2hhciAqbmFtZTsKKyAgY2hhciAqb3Bjb2RlOworfTsKKworLyogQ2FsY3VsYXRlIHRoZSBoYXNoIHZhbHVlIG9mIGFuIG9wY29kZSBoYXNoIGVudHJ5IFAuICAqLworCitzdGF0aWMgaGFzaHZhbF90CitvcGNvZGVfaGFzaF9oYXNoIChjb25zdCB2b2lkICpwKQoreworICBzdHJ1Y3Qgb3Bjb2RlX2hhc2hfZW50cnkgKmVudHJ5ID0gKHN0cnVjdCBvcGNvZGVfaGFzaF9lbnRyeSAqKSBwOworICByZXR1cm4gaHRhYl9oYXNoX3N0cmluZyAoZW50cnktPm5hbWUpOworfQorCisvKiBDb21wYXJlIGEgc3RyaW5nIFEgYWdhaW5zdCBhbiBvcGNvZGUgaGFzaCBlbnRyeSBQLiAgKi8KKworc3RhdGljIGludAorb3Bjb2RlX2hhc2hfZXEgKGNvbnN0IHZvaWQgKnAsIGNvbnN0IHZvaWQgKnEpCit7CisgIHN0cnVjdCBvcGNvZGVfaGFzaF9lbnRyeSAqZW50cnkgPSAoc3RydWN0IG9wY29kZV9oYXNoX2VudHJ5ICopIHA7CisgIGNvbnN0IGNoYXIgKm5hbWUgPSAoY29uc3QgY2hhciAqKSBxOworICByZXR1cm4gc3RyY21wIChuYW1lLCBlbnRyeS0+bmFtZSkgPT0gMDsKK30KKworc3RhdGljIHZvaWQKIHByb2Nlc3NfaTM4Nl9vcGNvZGVzIChGSUxFICp0YWJsZSkKIHsKICAgRklMRSAqZnA7CiAgIGNoYXIgYnVmWzIwNDhdOwotICB1bnNpZ25lZCBpbnQgaTsKLSAgY2hhciAqc3RyLCAqcCwgKmxhc3Q7Ci0gIGNoYXIgKm5hbWUsICpvcGVyYW5kcywgKmJhc2Vfb3Bjb2RlLCAqZXh0ZW5zaW9uX29wY29kZTsKLSAgY2hhciAqb3Bjb2RlX2xlbmd0aDsKLSAgY2hhciAqY3B1X2ZsYWdzLCAqb3Bjb2RlX21vZGlmaWVyLCAqb3BlcmFuZF90eXBlcyBbTUFYX09QRVJBTkRTXTsKKyAgdW5zaWduZWQgaW50IGksIGo7CisgIGNoYXIgKnN0ciwgKnAsICpsYXN0LCAqbmFtZTsKKyAgc3RydWN0IG9wY29kZV9oYXNoX2VudHJ5ICoqaGFzaF9zbG90LCAqKmVudHJ5LCAqbmV4dDsKKyAgaHRhYl90IG9wY29kZV9oYXNoX3RhYmxlOworICBzdHJ1Y3Qgb3Bjb2RlX2hhc2hfZW50cnkgKipvcGNvZGVfYXJyYXk7CisgIHVuc2lnbmVkIGludCBvcGNvZGVfYXJyYXlfc2l6ZSA9IDEwMjQ7CiAKICAgZmlsZW5hbWUgPSAiaTM4Ni1vcGMudGJsIjsKICAgZnAgPSBmb3BlbiAoZmlsZW5hbWUsICJyIik7CkBAIC02NzQsOSArODAyLDE4IEBACiAgICAgZmFpbCAoXygiY2FuJ3QgZmluZCBpMzg2LW9wYy50YmwgZm9yIHJlYWRpbmcsIGVycm5vID0gJXNcbiIpLAogCSAgeHN0cmVycm9yIChlcnJubykpOwogCisgIGkgPSAwOworICBvcGNvZGVfYXJyYXkgPSAoc3RydWN0IG9wY29kZV9oYXNoX2VudHJ5ICoqKQorICAgIHhtYWxsb2MgKHNpemVvZiAoKm9wY29kZV9hcnJheSkgKiBvcGNvZGVfYXJyYXlfc2l6ZSk7CisKKyAgb3Bjb2RlX2hhc2hfdGFibGUgPSBodGFiX2NyZWF0ZV9hbGxvYyAoMTYsIG9wY29kZV9oYXNoX2hhc2gsCisJCQkJCSBvcGNvZGVfaGFzaF9lcSwgTlVMTCwKKwkJCQkJIHhjYWxsb2MsIGZyZWUpOworCiAgIGZwcmludGYgKHRhYmxlLCAiXG4vKiBpMzg2IG9wY29kZSB0YWJsZS4gICovXG5cbiIpOwogICBmcHJpbnRmICh0YWJsZSwgImNvbnN0IHRlbXBsYXRlIGkzODZfb3B0YWJbXSA9XG57XG4iKTsKIAorICAvKiBQdXQgZXZlcnl0aGluZyBvbiBvcGNvZGUgYXJyYXkuICAqLwogICB3aGlsZSAoIWZlb2YgKGZwKSkKICAgICB7CiAgICAgICBpZiAoZmdldHMgKGJ1Ziwgc2l6ZW9mIChidWYpLCBmcCkgPT0gTlVMTCkKQEAgLTY5Nyw3ICs4MzQsNyBAQAogICAgICAgc3dpdGNoIChwWzBdKQogCXsKIAljYXNlICcjJzoKLQkgIGZwcmludGYgKHRhYmxlLCAiJXNcbiIsIHApOworCSAgLyogSWdub3JlIGNvbW1lbnRzLiAgKi8KIAljYXNlICdcMCc6CiAJICBjb250aW51ZTsKIAkgIGJyZWFrOwpAQCAtNzA4LDExNyArODQ1LDU4IEBACiAgICAgICBsYXN0ID0gcCArIHN0cmxlbiAocCk7CiAKICAgICAgIC8qIEZpbmQgbmFtZS4gICovCi0gICAgICBuYW1lID0gbmV4dF9maWVsZCAocCwgJywnLCAmc3RyKTsKKyAgICAgIG5hbWUgPSBuZXh0X2ZpZWxkIChwLCAnLCcsICZzdHIsIGxhc3QpOwogCi0gICAgICBpZiAoc3RyID49IGxhc3QpCi0JYWJvcnQgKCk7CisgICAgICAvKiBHZXQgdGhlIHNsb3QgaW4gaGFzaCB0YWJsZS4gICovCisgICAgICBoYXNoX3Nsb3QgPSAoc3RydWN0IG9wY29kZV9oYXNoX2VudHJ5ICoqKQorCWh0YWJfZmluZF9zbG90X3dpdGhfaGFzaCAob3Bjb2RlX2hhc2hfdGFibGUsIG5hbWUsCisJCQkJICBodGFiX2hhc2hfc3RyaW5nIChuYW1lKSwKKwkJCQkgIElOU0VSVCk7CiAKLSAgICAgIC8qIEZpbmQgbnVtYmVyIG9mIG9wZXJhbmRzLiAgKi8KLSAgICAgIG9wZXJhbmRzID0gbmV4dF9maWVsZCAoc3RyLCAnLCcsICZzdHIpOwotCi0gICAgICBpZiAoc3RyID49IGxhc3QpCi0JYWJvcnQgKCk7Ci0KLSAgICAgIC8qIEZpbmQgYmFzZV9vcGNvZGUuICAqLwotICAgICAgYmFzZV9vcGNvZGUgPSBuZXh0X2ZpZWxkIChzdHIsICcsJywgJnN0cik7Ci0KLSAgICAgIGlmIChzdHIgPj0gbGFzdCkKLQlhYm9ydCAoKTsKLQotICAgICAgLyogRmluZCBleHRlbnNpb25fb3Bjb2RlLiAgKi8KLSAgICAgIGV4dGVuc2lvbl9vcGNvZGUgPSBuZXh0X2ZpZWxkIChzdHIsICcsJywgJnN0cik7Ci0KLSAgICAgIGlmIChzdHIgPj0gbGFzdCkKLQlhYm9ydCAoKTsKLQotICAgICAgLyogRmluZCBvcGNvZGVfbGVuZ3RoLiAgKi8KLSAgICAgIG9wY29kZV9sZW5ndGggPSBuZXh0X2ZpZWxkIChzdHIsICcsJywgJnN0cik7Ci0KLSAgICAgIGlmIChzdHIgPj0gbGFzdCkKLQlhYm9ydCAoKTsKLQotICAgICAgLyogRmluZCBjcHVfZmxhZ3MuICAqLwotICAgICAgY3B1X2ZsYWdzID0gbmV4dF9maWVsZCAoc3RyLCAnLCcsICZzdHIpOwotCi0gICAgICBpZiAoc3RyID49IGxhc3QpCi0JYWJvcnQgKCk7Ci0KLSAgICAgIC8qIEZpbmQgb3Bjb2RlX21vZGlmaWVyLiAgKi8KLSAgICAgIG9wY29kZV9tb2RpZmllciA9IG5leHRfZmllbGQgKHN0ciwgJywnLCAmc3RyKTsKLQotICAgICAgaWYgKHN0ciA+PSBsYXN0KQotCWFib3J0ICgpOwotCi0gICAgICAvKiBSZW1vdmUgdGhlIGZpcnN0IHsuICAqLwotICAgICAgc3RyID0gcmVtb3ZlX2xlYWRpbmdfd2hpdGVzcGFjZXMgKHN0cik7Ci0gICAgICBpZiAoKnN0ciAhPSAneycpCi0JYWJvcnQgKCk7Ci0gICAgICBzdHIgPSByZW1vdmVfbGVhZGluZ193aGl0ZXNwYWNlcyAoc3RyICsgMSk7Ci0KLSAgICAgIGkgPSBzdHJsZW4gKHN0cik7Ci0KLSAgICAgIC8qIFRoZXJlIGFyZSBhdCBsZWFzdCAiWH0iLiAgKi8KLSAgICAgIGlmIChpIDwgMikKLQlhYm9ydCAoKTsKLQotICAgICAgLyogUmVtb3ZlIHRyYWlsaW5nIHdoaXRlIHNwYWNlcyBhbmQgfS4gKi8KLSAgICAgIGRvCisgICAgICBpZiAoKmhhc2hfc2xvdCA9PSBOVUxMKQogCXsKLQkgIGktLTsKLQkgIGlmIChJU1NQQUNFIChzdHJbaV0pIHx8IHN0cltpXSA9PSAnfScpCi0JICAgIHN0cltpXSA9ICdcMCc7Ci0JICBlbHNlCi0JICAgIGJyZWFrOwotCX0KLSAgICAgIHdoaWxlIChpICE9IDApOwotCi0gICAgICBsYXN0ID0gc3RyICsgaTsKLQotICAgICAgLyogRmluZCBvcGVyYW5kX3R5cGVzLiAgKi8KLSAgICAgIGZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFIChvcGVyYW5kX3R5cGVzKTsgaSsrKQotCXsKLQkgIGlmIChzdHIgPj0gbGFzdCkKKwkgIC8qIEl0IGlzIHRoZSBuZXcgb25lLiAgUHV0IGl0IG9uIG9wY29kZSBhcnJheS4gICovCisJICBpZiAoaSA+PSBvcGNvZGVfYXJyYXlfc2l6ZSkKIAkgICAgewotCSAgICAgIG9wZXJhbmRfdHlwZXMgW2ldID0gTlVMTDsKLQkgICAgICBicmVhazsKKwkgICAgICAvKiBHcm93IHRoZSBvcGNvZGUgYXJyYXkgd2hlbiBuZWVkZWQuICAqLworCSAgICAgIG9wY29kZV9hcnJheV9zaXplICs9IDEwMjQ7CisJICAgICAgb3Bjb2RlX2FycmF5ID0gKHN0cnVjdCBvcGNvZGVfaGFzaF9lbnRyeSAqKikKKwkJeHJlYWxsb2MgKG9wY29kZV9hcnJheSwKKwkJCSAgc2l6ZW9mICgqb3Bjb2RlX2FycmF5KSAqIG9wY29kZV9hcnJheV9zaXplKTsKIAkgICAgfQogCi0JICBvcGVyYW5kX3R5cGVzIFtpXSA9IG5leHRfZmllbGQgKHN0ciwgJywnLCAmc3RyKTsKLQkgIGlmICgqb3BlcmFuZF90eXBlc1tpXSA9PSAnMCcpCi0JICAgIHsKLQkgICAgICBpZiAoaSAhPSAwKQotCQlvcGVyYW5kX3R5cGVzW2ldID0gTlVMTDsKLQkgICAgICBicmVhazsKLQkgICAgfQorCSAgb3Bjb2RlX2FycmF5W2ldID0gKHN0cnVjdCBvcGNvZGVfaGFzaF9lbnRyeSAqKQorCSAgICB4bWFsbG9jIChzaXplb2YgKHN0cnVjdCBvcGNvZGVfaGFzaF9lbnRyeSkpOworCSAgb3Bjb2RlX2FycmF5W2ldLT5uZXh0ID0gTlVMTDsKKwkgIG9wY29kZV9hcnJheVtpXS0+bmFtZSA9IHhzdHJkdXAgKG5hbWUpOworCSAgb3Bjb2RlX2FycmF5W2ldLT5vcGNvZGUgPSB4c3RyZHVwIChzdHIpOworCSAgKmhhc2hfc2xvdCA9IG9wY29kZV9hcnJheVtpXTsKKwkgIGkrKzsKIAl9Ci0KLSAgICAgIGZwcmludGYgKHRhYmxlLCAiICB7IFwiJXNcIiwgJXMsICVzLCAlcywgJXMsXG4iLAotCSAgICAgICBuYW1lLCBvcGVyYW5kcywgYmFzZV9vcGNvZGUsIGV4dGVuc2lvbl9vcGNvZGUsCi0JICAgICAgIG9wY29kZV9sZW5ndGgpOwotCi0gICAgICBwcm9jZXNzX2kzODZfY3B1X2ZsYWcgKHRhYmxlLCBjcHVfZmxhZ3MsIDAsICIsIiwgIiAgICAiKTsKLQotICAgICAgcHJvY2Vzc19pMzg2X29wY29kZV9tb2RpZmllciAodGFibGUsIG9wY29kZV9tb2RpZmllcik7Ci0KLSAgICAgIGZwcmludGYgKHRhYmxlLCAiICAgIHsgIik7Ci0KLSAgICAgIGZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFIChvcGVyYW5kX3R5cGVzKTsgaSsrKQorICAgICAgZWxzZQogCXsKLQkgIGlmIChvcGVyYW5kX3R5cGVzW2ldID09IE5VTEwKLQkgICAgICB8fCAqb3BlcmFuZF90eXBlc1tpXSA9PSAnMCcpCi0JICAgIHsKLQkgICAgICBpZiAoaSA9PSAwKQotCQlwcm9jZXNzX2kzODZfb3BlcmFuZF90eXBlICh0YWJsZSwgIjAiLCAwLCAiXHQgICIpOwotCSAgICAgIGJyZWFrOwotCSAgICB9Ci0KLQkgIGlmIChpICE9IDApCi0JICAgIGZwcmludGYgKHRhYmxlLCAiLFxuICAgICAgIik7Ci0KLQkgIHByb2Nlc3NfaTM4Nl9vcGVyYW5kX3R5cGUgKHRhYmxlLCBvcGVyYW5kX3R5cGVzW2ldLCAwLAotCQkJCSAgICAgIlx0ICAiKTsKKwkgIC8qIEFwcGVuZCBpdCB0byB0aGUgZXhpc3Rpbmcgb25lLiAgKi8KKwkgIGVudHJ5ID0gaGFzaF9zbG90OworCSAgd2hpbGUgKCgqZW50cnkpICE9IE5VTEwpCisJICAgIGVudHJ5ID0gJigqZW50cnkpLT5uZXh0OworCSAgKmVudHJ5ID0gKHN0cnVjdCBvcGNvZGVfaGFzaF9lbnRyeSAqKQorCSAgICB4bWFsbG9jIChzaXplb2YgKHN0cnVjdCBvcGNvZGVfaGFzaF9lbnRyeSkpOworCSAgKCplbnRyeSktPm5leHQgPSBOVUxMOworCSAgKCplbnRyeSktPm5hbWUgPSAoKmhhc2hfc2xvdCktPm5hbWU7CisJICAoKmVudHJ5KS0+b3Bjb2RlID0geHN0cmR1cCAoc3RyKTsKIAl9Ci0gICAgICBmcHJpbnRmICh0YWJsZSwgIiB9IH0sXG4iKTsKKyAgICB9CisKKyAgLyogUHJvY2VzcyBvcGNvZGUgYXJyYXkuICAqLworICBmb3IgKGogPSAwOyBqIDwgaTsgaisrKQorICAgIHsKKyAgICAgIGZvciAobmV4dCA9IG9wY29kZV9hcnJheVtqXTsgbmV4dDsgbmV4dCA9IG5leHQtPm5leHQpCisJeworCSAgbmFtZSA9IG5leHQtPm5hbWU7CisJICBzdHIgPSBuZXh0LT5vcGNvZGU7CisJICBsYXN0ID0gc3RyICsgc3RybGVuIChzdHIpOworCSAgb3V0cHV0X2kzODZfb3Bjb2RlICh0YWJsZSwgbmFtZSwgc3RyLCBsYXN0KTsKKwl9CiAgICAgfQogCiAgIGZjbG9zZSAoZnApOwpAQCAtODg1LDQxICs5NjMsMjYgQEAKICAgICAgIGxhc3QgPSBwICsgc3RybGVuIChwKTsKIAogICAgICAgLyogRmluZCByZWdfbmFtZS4gICovCi0gICAgICByZWdfbmFtZSA9IG5leHRfZmllbGQgKHAsICcsJywgJnN0cik7Ci0KLSAgICAgIGlmIChzdHIgPj0gbGFzdCkKLQlhYm9ydCAoKTsKKyAgICAgIHJlZ19uYW1lID0gbmV4dF9maWVsZCAocCwgJywnLCAmc3RyLCBsYXN0KTsKIAogICAgICAgLyogRmluZCByZWdfdHlwZS4gICovCi0gICAgICByZWdfdHlwZSA9IG5leHRfZmllbGQgKHN0ciwgJywnLCAmc3RyKTsKLQotICAgICAgaWYgKHN0ciA+PSBsYXN0KQotCWFib3J0ICgpOworICAgICAgcmVnX3R5cGUgPSBuZXh0X2ZpZWxkIChzdHIsICcsJywgJnN0ciwgbGFzdCk7CiAKICAgICAgIC8qIEZpbmQgcmVnX2ZsYWdzLiAgKi8KLSAgICAgIHJlZ19mbGFncyA9IG5leHRfZmllbGQgKHN0ciwgJywnLCAmc3RyKTsKLQotICAgICAgaWYgKHN0ciA+PSBsYXN0KQotCWFib3J0ICgpOworICAgICAgcmVnX2ZsYWdzID0gbmV4dF9maWVsZCAoc3RyLCAnLCcsICZzdHIsIGxhc3QpOwogCiAgICAgICAvKiBGaW5kIHJlZ19udW0uICAqLwotICAgICAgcmVnX251bSA9IG5leHRfZmllbGQgKHN0ciwgJywnLCAmc3RyKTsKLQotICAgICAgaWYgKHN0ciA+PSBsYXN0KQotCWFib3J0ICgpOworICAgICAgcmVnX251bSA9IG5leHRfZmllbGQgKHN0ciwgJywnLCAmc3RyLCBsYXN0KTsKIAogICAgICAgZnByaW50ZiAodGFibGUsICIgIHsgXCIlc1wiLFxuICAgICIsIHJlZ19uYW1lKTsKIAogICAgICAgcHJvY2Vzc19pMzg2X29wZXJhbmRfdHlwZSAodGFibGUsIHJlZ190eXBlLCAwLCAiXHQiKTsKIAogICAgICAgLyogRmluZCAzMi1iaXQgRHdhcmYyIHJlZ2lzdGVyIG51bWJlci4gICovCi0gICAgICBkdzJfMzJfbnVtID0gbmV4dF9maWVsZCAoc3RyLCAnLCcsICZzdHIpOwotCi0gICAgICBpZiAoc3RyID49IGxhc3QpCi0JYWJvcnQgKCk7CisgICAgICBkdzJfMzJfbnVtID0gbmV4dF9maWVsZCAoc3RyLCAnLCcsICZzdHIsIGxhc3QpOwogCiAgICAgICAvKiBGaW5kIDY0LWJpdCBEd2FyZjIgcmVnaXN0ZXIgbnVtYmVyLiAgKi8KLSAgICAgIGR3Ml82NF9udW0gPSBuZXh0X2ZpZWxkIChzdHIsICcsJywgJnN0cik7CisgICAgICBkdzJfNjRfbnVtID0gbmV4dF9maWVsZCAoc3RyLCAnLCcsICZzdHIsIGxhc3QpOwogCiAgICAgICBmcHJpbnRmICh0YWJsZSwgIixcbiAgICAlcywgJXMsIHsgJXMsICVzIH0gfSxcbiIsCiAJICAgICAgIHJlZ19mbGFncywgcmVnX251bSwgZHcyXzMyX251bSwgZHcyXzY0X251bSk7CmRpZmYgLS1naXQgYS9vcGNvZGVzL2kzODYtb3BjLnRibCBiL29wY29kZXMvaTM4Ni1vcGMudGJsCmluZGV4IDY0OTc0MGQuLmU4OTgzMDAgMTAwNjQ0Ci0tLSBhL29wY29kZXMvaTM4Ni1vcGMudGJsCisrKyBiL29wY29kZXMvaTM4Ni1vcGMudGJsCkBAIC0xMTQwLDMxICsxMTQwLDMxIEBACiBjbXBsZXBzLCAyLCAweGMyLCAweDIsIDEsIENwdUFWWCwgTW9kcm18VmV4fFZleDBGfFZleE5EU3xJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHR8U1NFMkFWWCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wbGVwcywgMiwgMHhmYzIsIDB4MiwgMiwgQ3B1U1NFLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgWG1td29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KIGNtcGxlc3MsIDIsIDB4ZjNjMiwgMHgyLCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0fFNTRTJBVlgsIHsgRHdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9Ci1jbXBsZXNzLCAyLCAweGYzMGZjMiwgMHgyLCAyLCBDcHVTU0UsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQorY21wbGVzcywgMiwgMHhmMzBmYzIsIDB4MiwgMiwgQ3B1U1NFLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgRHdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CiBjbXBsdHBzLCAyLCAweGMyLCAweDEsIDEsIENwdUFWWCwgTW9kcm18VmV4fFZleDBGfFZleE5EU3xJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHR8U1NFMkFWWCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wbHRwcywgMiwgMHhmYzIsIDB4MSwgMiwgQ3B1U1NFLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgWG1td29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KIGNtcGx0c3MsIDIsIDB4ZjNjMiwgMHgxLCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0fFNTRTJBVlgsIHsgRHdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9Ci1jbXBsdHNzLCAyLCAweGYzMGZjMiwgMHgxLCAyLCBDcHVTU0UsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQorY21wbHRzcywgMiwgMHhmMzBmYzIsIDB4MSwgMiwgQ3B1U1NFLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgRHdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CiBjbXBuZXFwcywgMiwgMHhjMiwgMHg0LCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0fFNTRTJBVlgsIHsgWG1td29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KIGNtcG5lcXBzLCAyLCAweGZjMiwgMHg0LCAyLCBDcHVTU0UsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wbmVxc3MsIDIsIDB4ZjNjMiwgMHg0LCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0fFNTRTJBVlgsIHsgRHdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9Ci1jbXBuZXFzcywgMiwgMHhmMzBmYzIsIDB4NCwgMiwgQ3B1U1NFLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgWG1td29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KK2NtcG5lcXNzLCAyLCAweGYzMGZjMiwgMHg0LCAyLCBDcHVTU0UsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBEd29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KIGNtcG5sZXBzLCAyLCAweGMyLCAweDYsIDEsIENwdUFWWCwgTW9kcm18VmV4fFZleDBGfFZleE5EU3xJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHR8U1NFMkFWWCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wbmxlcHMsIDIsIDB4ZmMyLCAweDYsIDIsIENwdVNTRSwgTW9kcm18SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0LCB7IFhtbXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CiBjbXBubGVzcywgMiwgMHhmM2MyLCAweDYsIDEsIENwdUFWWCwgTW9kcm18VmV4fFZleDBGfFZleE5EU3xJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHR8U1NFMkFWWCwgeyBEd29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KLWNtcG5sZXNzLCAyLCAweGYzMGZjMiwgMHg2LCAyLCBDcHVTU0UsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQorY21wbmxlc3MsIDIsIDB4ZjMwZmMyLCAweDYsIDIsIENwdVNTRSwgTW9kcm18SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0LCB7IER3b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wbmx0cHMsIDIsIDB4YzIsIDB4NSwgMSwgQ3B1QVZYLCBNb2RybXxWZXh8VmV4MEZ8VmV4TkRTfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dHxTU0UyQVZYLCB7IFhtbXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CiBjbXBubHRwcywgMiwgMHhmYzIsIDB4NSwgMiwgQ3B1U1NFLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgWG1td29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KIGNtcG5sdHNzLCAyLCAweGYzYzIsIDB4NSwgMSwgQ3B1QVZYLCBNb2RybXxWZXh8VmV4MEZ8VmV4TkRTfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dHxTU0UyQVZYLCB7IER3b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQotY21wbmx0c3MsIDIsIDB4ZjMwZmMyLCAweDUsIDIsIENwdVNTRSwgTW9kcm18SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0LCB7IFhtbXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CitjbXBubHRzcywgMiwgMHhmMzBmYzIsIDB4NSwgMiwgQ3B1U1NFLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgRHdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CiBjbXBvcmRwcywgMiwgMHhjMiwgMHg3LCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0fFNTRTJBVlgsIHsgWG1td29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KIGNtcG9yZHBzLCAyLCAweGZjMiwgMHg3LCAyLCBDcHVTU0UsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wb3Jkc3MsIDIsIDB4ZjNjMiwgMHg3LCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0fFNTRTJBVlgsIHsgRHdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9Ci1jbXBvcmRzcywgMiwgMHhmMzBmYzIsIDB4NywgMiwgQ3B1U1NFLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgWG1td29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KK2NtcG9yZHNzLCAyLCAweGYzMGZjMiwgMHg3LCAyLCBDcHVTU0UsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBEd29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KIGNtcHVub3JkcHMsIDIsIDB4YzIsIDB4MywgMSwgQ3B1QVZYLCBNb2RybXxWZXh8VmV4MEZ8VmV4TkRTfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dHxTU0UyQVZYLCB7IFhtbXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CiBjbXB1bm9yZHBzLCAyLCAweGZjMiwgMHgzLCAyLCBDcHVTU0UsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQotY21wdW5vcmRzcywgMiwgMHhmM2MyLCAweDMsIDEsIENwdUFWWCwgTW9kcm18VmV4fFZleDBGfFZleE5EU3xJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHR8U1NFMkFWWCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQotY21wdW5vcmRzcywgMiwgMHhmMzBmYzIsIDB4MywgMiwgQ3B1U1NFLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgWG1td29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KK2NtcHVub3Jkc3MsIDIsIDB4ZjNjMiwgMHgzLCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0fFNTRTJBVlgsIHsgRHdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CitjbXB1bm9yZHNzLCAyLCAweGYzMGZjMiwgMHgzLCAyLCBDcHVTU0UsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBEd29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KIGNtcHBzLCAzLCAweGMyLCBOb25lLCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8U1NFMkFWWCwgeyBJbW04LCBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wcHMsIDMsIDB4ZmMyLCBOb25lLCAyLCBDcHVTU0UsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmLCB7IEltbTgsIFhtbXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CiBjbXBzcywgMywgMHhmM2MyLCBOb25lLCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8U1NFMkFWWCwgeyBJbW04LCBEd29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KQEAgLTEzMjIsMzEgKzEzMjIsMzEgQEAKIGNtcGxlcGQsIDIsIDB4NjZjMiwgMHgyLCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0fFNTRTJBVlgsIHsgWG1td29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KIGNtcGxlcGQsIDIsIDB4NjYwZmMyLCAweDIsIDIsIENwdVNTRTIsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wbGVzZCwgMiwgMHhmMmMyLCAweDIsIDEsIENwdUFWWCwgTW9kcm18VmV4fFZleDBGfFZleE5EU3xJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHR8U1NFMkFWWCwgeyBRd29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KLWNtcGxlc2QsIDIsIDB4ZjIwZmMyLCAweDIsIDIsIENwdVNTRTIsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQorY21wbGVzZCwgMiwgMHhmMjBmYzIsIDB4MiwgMiwgQ3B1U1NFMiwgTW9kcm18SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0LCB7IFF3b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wbHRwZCwgMiwgMHg2NmMyLCAweDEsIDEsIENwdUFWWCwgTW9kcm18VmV4fFZleDBGfFZleE5EU3xJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHR8U1NFMkFWWCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wbHRwZCwgMiwgMHg2NjBmYzIsIDB4MSwgMiwgQ3B1U1NFMiwgTW9kcm18SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0LCB7IFhtbXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CiBjbXBsdHNkLCAyLCAweGYyYzIsIDB4MSwgMSwgQ3B1QVZYLCBNb2RybXxWZXh8VmV4MEZ8VmV4TkRTfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dHxTU0UyQVZYLCB7IFF3b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQotY21wbHRzZCwgMiwgMHhmMjBmYzIsIDB4MSwgMiwgQ3B1U1NFMiwgTW9kcm18SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0LCB7IFhtbXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CitjbXBsdHNkLCAyLCAweGYyMGZjMiwgMHgxLCAyLCBDcHVTU0UyLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgUXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CiBjbXBuZXFwZCwgMiwgMHg2NmMyLCAweDQsIDEsIENwdUFWWCwgTW9kcm18VmV4fFZleDBGfFZleE5EU3xJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHR8U1NFMkFWWCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wbmVxcGQsIDIsIDB4NjYwZmMyLCAweDQsIDIsIENwdVNTRTIsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wbmVxc2QsIDIsIDB4ZjJjMiwgMHg0LCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0fFNTRTJBVlgsIHsgUXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9Ci1jbXBuZXFzZCwgMiwgMHhmMjBmYzIsIDB4NCwgMiwgQ3B1U1NFMiwgTW9kcm18SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0LCB7IFhtbXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CitjbXBuZXFzZCwgMiwgMHhmMjBmYzIsIDB4NCwgMiwgQ3B1U1NFMiwgTW9kcm18SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0LCB7IFF3b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wbmxlcGQsIDIsIDB4NjZjMiwgMHg2LCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0fFNTRTJBVlgsIHsgWG1td29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KIGNtcG5sZXBkLCAyLCAweDY2MGZjMiwgMHg2LCAyLCBDcHVTU0UyLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgWG1td29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KIGNtcG5sZXNkLCAyLCAweGYyYzIsIDB4NiwgMSwgQ3B1QVZYLCBNb2RybXxWZXh8VmV4MEZ8VmV4TkRTfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dHxTU0UyQVZYLCB7IFF3b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQotY21wbmxlc2QsIDIsIDB4ZjIwZmMyLCAweDYsIDIsIENwdVNTRTIsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQorY21wbmxlc2QsIDIsIDB4ZjIwZmMyLCAweDYsIDIsIENwdVNTRTIsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBRd29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KIGNtcG5sdHBkLCAyLCAweDY2YzIsIDB4NSwgMSwgQ3B1QVZYLCBNb2RybXxWZXh8VmV4MEZ8VmV4TkRTfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dHxTU0UyQVZYLCB7IFhtbXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CiBjbXBubHRwZCwgMiwgMHg2NjBmYzIsIDB4NSwgMiwgQ3B1U1NFMiwgTW9kcm18SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0LCB7IFhtbXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CiBjbXBubHRzZCwgMiwgMHhmMmMyLCAweDUsIDEsIENwdUFWWCwgTW9kcm18VmV4fFZleDBGfFZleE5EU3xJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHR8U1NFMkFWWCwgeyBRd29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KLWNtcG5sdHNkLCAyLCAweGYyMGZjMiwgMHg1LCAyLCBDcHVTU0UyLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgWG1td29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KK2NtcG5sdHNkLCAyLCAweGYyMGZjMiwgMHg1LCAyLCBDcHVTU0UyLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgUXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CiBjbXBvcmRwZCwgMiwgMHg2NmMyLCAweDcsIDEsIENwdUFWWCwgTW9kcm18VmV4fFZleDBGfFZleE5EU3xJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHR8U1NFMkFWWCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wb3JkcGQsIDIsIDB4NjYwZmMyLCAweDcsIDIsIENwdVNTRTIsIE1vZHJtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wb3Jkc2QsIDIsIDB4ZjJjMiwgMHg3LCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0fFNTRTJBVlgsIHsgUXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9Ci1jbXBvcmRzZCwgMiwgMHhmMjBmYzIsIDB4NywgMiwgQ3B1U1NFMiwgTW9kcm18SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0LCB7IFhtbXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CitjbXBvcmRzZCwgMiwgMHhmMjBmYzIsIDB4NywgMiwgQ3B1U1NFMiwgTW9kcm18SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0LCB7IFF3b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wdW5vcmRwZCwgMiwgMHg2NmMyLCAweDMsIDEsIENwdUFWWCwgTW9kcm18VmV4fFZleDBGfFZleE5EU3xJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHR8U1NFMkFWWCwgeyBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wdW5vcmRwZCwgMiwgMHg2NjBmYzIsIDB4MywgMiwgQ3B1U1NFMiwgTW9kcm18SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0LCB7IFhtbXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9Ci1jbXB1bm9yZHNkLCAyLCAweGYyYzIsIDB4MywgMSwgQ3B1QVZYLCBNb2RybXxWZXh8VmV4MEZ8VmV4TkRTfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX2xTdWZ8Tm9fc1N1ZnxOb19xU3VmfE5vX2xkU3VmfEltbUV4dHxTU0UyQVZYLCB7IFhtbXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9Ci1jbXB1bm9yZHNkLCAyLCAweGYyMGZjMiwgMHgzLCAyLCBDcHVTU0UyLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgWG1td29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXh8RGlzcDh8RGlzcDE2fERpc3AzMnxEaXNwMzJTfFJlZ1hNTSwgUmVnWE1NIH0KK2NtcHVub3Jkc2QsIDIsIDB4ZjJjMiwgMHgzLCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8SW1tRXh0fFNTRTJBVlgsIHsgUXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CitjbXB1bm9yZHNkLCAyLCAweGYyMGZjMiwgMHgzLCAyLCBDcHVTU0UyLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZnxJbW1FeHQsIHsgUXdvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4fERpc3A4fERpc3AxNnxEaXNwMzJ8RGlzcDMyU3xSZWdYTU0sIFJlZ1hNTSB9CiBjbXBwZCwgMywgMHg2NmMyLCBOb25lLCAxLCBDcHVBVlgsIE1vZHJtfFZleHxWZXgwRnxWZXhORFN8SWdub3JlU2l6ZXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vX3FTdWZ8Tm9fbGRTdWZ8U1NFMkFWWCwgeyBJbW04LCBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogY21wcGQsIDMsIDB4NjYwZmMyLCBOb25lLCAyLCBDcHVTU0UyLCBNb2RybXxJZ25vcmVTaXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19sU3VmfE5vX3NTdWZ8Tm9fcVN1ZnxOb19sZFN1ZiwgeyBJbW04LCBYbW13b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleHxEaXNwOHxEaXNwMTZ8RGlzcDMyfERpc3AzMlN8UmVnWE1NLCBSZWdYTU0gfQogLy8gSW50ZWwgbW9kZSBzdHJpbmcgY29tcGFyZS4KZGlmZiAtLWdpdCBhL29wY29kZXMvaTM4Ni10YmwuaCBiL29wY29kZXMvaTM4Ni10YmwuaAppbmRleCA3YzY4N2MzLi5mOWRkYzQwIDEwMDY0NAotLS0gYS9vcGNvZGVzL2kzODYtdGJsLmgKKysrIGIvb3Bjb2Rlcy9pMzg2LXRibC5oCkBAIC05NDUyLDggKzk0NTIsOCBAQAogICAgICAgMSwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwIH0sCiAgICAgeyB7IHsgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0JICAxLCAxLCAxLCAxLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLQkgIDEsIDAsIDEsIDAsIDAsIDAgfSB9LAorCSAgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgCisJICAwLCAwLCAxLCAwLCAwLCAwIH0gfSwKICAgICAgIHsgeyAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIAkgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogCSAgMCwgMCwgMCwgMCwgMCwgMCB9IH0gfSB9LApAQCAtOTUwMCw4ICs5NTAwLDggQEAKICAgICAgIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9LAogICAgIHsgeyB7IDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotCSAgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0JICAxLCAwLCAxLCAwLCAwLCAwIH0gfSwKKwkgIDEsIDEsIDEsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIAorCSAgMCwgMCwgMSwgMCwgMCwgMCB9IH0sCiAgICAgICB7IHsgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAJICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIAkgIDAsIDAsIDAsIDAsIDAsIDAgfSB9IH0gfSwKQEAgLTk1NDgsOCArOTU0OCw4IEBACiAgICAgICAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAgfSwKICAgICB7IHsgeyAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLQkgIDEsIDEsIDEsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotCSAgMSwgMCwgMSwgMCwgMCwgMCB9IH0sCisJICAxLCAxLCAxLCAxLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAKKwkgIDAsIDAsIDEsIDAsIDAsIDAgfSB9LAogICAgICAgeyB7IDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogCSAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAJICAwLCAwLCAwLCAwLCAwLCAwIH0gfSB9IH0sCkBAIC05NTk2LDggKzk1OTYsOCBAQAogICAgICAgMSwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwIH0sCiAgICAgeyB7IHsgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0JICAxLCAxLCAxLCAxLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLQkgIDEsIDAsIDEsIDAsIDAsIDAgfSB9LAorCSAgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgCisJICAwLCAwLCAxLCAwLCAwLCAwIH0gfSwKICAgICAgIHsgeyAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIAkgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogCSAgMCwgMCwgMCwgMCwgMCwgMCB9IH0gfSB9LApAQCAtOTY0NCw4ICs5NjQ0LDggQEAKICAgICAgIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9LAogICAgIHsgeyB7IDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotCSAgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0JICAxLCAwLCAxLCAwLCAwLCAwIH0gfSwKKwkgIDEsIDEsIDEsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIAorCSAgMCwgMCwgMSwgMCwgMCwgMCB9IH0sCiAgICAgICB7IHsgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAJICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIAkgIDAsIDAsIDAsIDAsIDAsIDAgfSB9IH0gfSwKQEAgLTk2OTIsOCArOTY5Miw4IEBACiAgICAgICAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAgfSwKICAgICB7IHsgeyAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLQkgIDEsIDEsIDEsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotCSAgMSwgMCwgMSwgMCwgMCwgMCB9IH0sCisJICAxLCAxLCAxLCAxLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAKKwkgIDAsIDAsIDEsIDAsIDAsIDAgfSB9LAogICAgICAgeyB7IDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogCSAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAJICAwLCAwLCAwLCAwLCAwLCAwIH0gfSB9IH0sCkBAIC05NzI4LDggKzk3MjgsOCBAQAogICAgICAgMSwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgCiAgICAgICAwLCAxLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwIH0sCiAgICAgeyB7IHsgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0JICAxLCAxLCAxLCAxLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLQkgIDEsIDAsIDEsIDAsIDAsIDAgfSB9LAorCSAgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgCisJICAwLCAwLCAxLCAwLCAwLCAwIH0gfSwKICAgICAgIHsgeyAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIAkgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogCSAgMCwgMCwgMCwgMCwgMCwgMCB9IH0gfSB9LApAQCAtOTc0MCw4ICs5NzQwLDggQEAKICAgICAgIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9LAogICAgIHsgeyB7IDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotCSAgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0JICAxLCAwLCAxLCAwLCAwLCAwIH0gfSwKKwkgIDEsIDEsIDEsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIAorCSAgMCwgMCwgMSwgMCwgMCwgMCB9IH0sCiAgICAgICB7IHsgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAJICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIAkgIDAsIDAsIDAsIDAsIDAsIDAgfSB9IH0gfSwKQEAgLTExNjE4LDggKzExNjE4LDggQEAKICAgICAgIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9LAogICAgIHsgeyB7IDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotCSAgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0JICAxLCAwLCAxLCAwLCAwLCAwIH0gfSwKKwkgIDEsIDEsIDEsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIAorCSAgMCwgMCwgMSwgMCwgMCwgMCB9IH0sCiAgICAgICB7IHsgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAJICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIAkgIDAsIDAsIDAsIDAsIDAsIDAgfSB9IH0gfSwKQEAgLTExNjY2LDggKzExNjY2LDggQEAKICAgICAgIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9LAogICAgIHsgeyB7IDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotCSAgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0JICAxLCAwLCAxLCAwLCAwLCAwIH0gfSwKKwkgIDEsIDEsIDEsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIAorCSAgMCwgMCwgMSwgMCwgMCwgMCB9IH0sCiAgICAgICB7IHsgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAJICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIAkgIDAsIDAsIDAsIDAsIDAsIDAgfSB9IH0gfSwKQEAgLTExNzE0LDggKzExNzE0LDggQEAKICAgICAgIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9LAogICAgIHsgeyB7IDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotCSAgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0JICAxLCAwLCAxLCAwLCAwLCAwIH0gfSwKKwkgIDEsIDEsIDEsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIAorCSAgMCwgMCwgMSwgMCwgMCwgMCB9IH0sCiAgICAgICB7IHsgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAJICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIAkgIDAsIDAsIDAsIDAsIDAsIDAgfSB9IH0gfSwKQEAgLTExNzYyLDggKzExNzYyLDggQEAKICAgICAgIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9LAogICAgIHsgeyB7IDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotCSAgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0JICAxLCAwLCAxLCAwLCAwLCAwIH0gfSwKKwkgIDEsIDEsIDEsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIAorCSAgMCwgMCwgMSwgMCwgMCwgMCB9IH0sCiAgICAgICB7IHsgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAJICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIAkgIDAsIDAsIDAsIDAsIDAsIDAgfSB9IH0gfSwKQEAgLTExODEwLDggKzExODEwLDggQEAKICAgICAgIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9LAogICAgIHsgeyB7IDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotCSAgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0JICAxLCAwLCAxLCAwLCAwLCAwIH0gfSwKKwkgIDEsIDEsIDEsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIAorCSAgMCwgMCwgMSwgMCwgMCwgMCB9IH0sCiAgICAgICB7IHsgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAJICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIAkgIDAsIDAsIDAsIDAsIDAsIDAgfSB9IH0gfSwKQEAgLTExODU4LDggKzExODU4LDggQEAKICAgICAgIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9LAogICAgIHsgeyB7IDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotCSAgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0JICAxLCAwLCAxLCAwLCAwLCAwIH0gfSwKKwkgIDEsIDEsIDEsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIAorCSAgMCwgMCwgMSwgMCwgMCwgMCB9IH0sCiAgICAgICB7IHsgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAJICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIAkgIDAsIDAsIDAsIDAsIDAsIDAgfSB9IH0gfSwKQEAgLTExODk0LDggKzExODk0LDggQEAKICAgICAgIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIAogICAgICAgMCwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCB9LAogICAgIHsgeyB7IDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotCSAgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0JICAxLCAwLCAxLCAwLCAwLCAwIH0gfSwKKwkgIDEsIDEsIDEsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIAorCSAgMCwgMCwgMSwgMCwgMCwgMCB9IH0sCiAgICAgICB7IHsgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAJICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIAkgIDAsIDAsIDAsIDAsIDAsIDAgfSB9IH0gfSwKQEAgLTExOTA2LDggKzExOTA2LDggQEAKICAgICAgIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9LAogICAgIHsgeyB7IDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotCSAgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0JICAxLCAwLCAxLCAwLCAwLCAwIH0gfSwKKwkgIDEsIDEsIDEsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIAorCSAgMCwgMCwgMSwgMCwgMCwgMCB9IH0sCiAgICAgICB7IHsgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAJICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIAkgIDAsIDAsIDAsIDAsIDAsIDAgfSB9IH0gfSwKZGlmZiAtLWdpdCBhL29wY29kZXMvcG8vZnIucG8gYi9vcGNvZGVzL3BvL2ZyLnBvCmluZGV4IDQxZGQzMWYuLjkxYTc4YjkgMTAwNjQ0Ci0tLSBhL29wY29kZXMvcG8vZnIucG8KKysrIGIvb3Bjb2Rlcy9wby9mci5wbwpAQCAtMSw0OSArMSwxMzMgQEAKICMgTWVzc2FnZXMgZnJhbudhaXMgcG91ciBvcGNvZGVzLgotIyBDb3B5cmlnaHQgqSAyMDA0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBiaW51dGlscyBwYWNrYWdlLgogIyBNaWNoZWwgUm9iaXRhaWxsZSA8cm9iaXRhaWxASVJPLlVNb250cmVhbC5DQT4sIHRyYWR1Y3RldXIgZGVwdWlzL3NpbmNlIDE5OTYuCisjIE5pY29sYXMgUHJvdm9zdCA8bnByb3Zvc3RAcXVhZHJpdi5jb20+LCAyMDA4LgogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogb3Bjb2RlcyAyLjE1Ljk2XG4iCi0iUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA1LTAzLTA1IDIwOjMyKzEwMzBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDA1LTAzLTE0IDA4OjAwLTA1MDBcbiIKLSJMYXN0LVRyYW5zbGF0b3I6IE1pY2hlbCBSb2JpdGFpbGxlIDxyb2JpdGFpbEBJUk8uVU1vbnRyZWFsLkNBPlxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogb3Bjb2RlcyAyLjE4LjkwXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1iaW51dGlsc0BnbnUub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDgtMDktMDkgMTU6NTYrMDkzMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMDgtMDktMjQgMTU6MjQrMDEwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogTmljb2xhcyBQcm92b3N0IDxucHJvdm9zdEBxdWFkcml2LmNvbT5cbiIKICJMYW5ndWFnZS1UZWFtOiBGcmVuY2ggPHRyYWR1Y0B0cmFkdWMub3JnPlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCiAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gPiAxKTtcbiIKIAotIzogYWxwaGEtb3BjLmM6MzMxCisjOiBhbHBoYS1vcGMuYzoxNTUKIG1zZ2lkICJicmFuY2ggb3BlcmFuZCB1bmFsaWduZWQiCi1tc2dzdHIgIm9w6XJhbmRlIGRlIGJyYW5jaGVtZW50IG5vbiBhbGlnbullIgorbXNnc3RyICJvcOlyYW5kZSBkZSBicmFuY2hlbWVudCBub24gYWxpZ27pIgogCi0jOiBhbHBoYS1vcGMuYzozNTMgYWxwaGEtb3BjLmM6Mzc0CisjOiBhbHBoYS1vcGMuYzoxNzEgYWxwaGEtb3BjLmM6MTg3CiBtc2dpZCAianVtcCBoaW50IHVuYWxpZ25lZCIKIG1zZ3N0ciAic2F1dCBpbmRpY+kgbm9uIGFsaWdu6SIKIAotIzogYXJjLWRpcy5jOjc2CisjOiBhcmMtZGlzLmM6NzcKIG1zZ2lkICJJbGxlZ2FsIGxpbW0gcmVmZXJlbmNlIGluIGxhc3QgaW5zdHJ1Y3Rpb24hXG4iCi1tc2dzdHIgIlLpZulyZW5jZSBsaW1pdGUgaWxs6WdhbGUgZGFucyBsYSBkZXJuaehyZSBpbnN0cnVjdGlvbiFcbiIKK21zZ3N0ciAiUulm6XJlbmNlIGxpbW0gaWxs6WdhbGUgZGFucyBsYSBkZXJuaehyZSBpbnN0cnVjdGlvbiFcbiIKIAotIzogYXJtLWRpcy5jOjEyNjcKKyM6IGFyYy1vcGMuYzozODYKK21zZ2lkICJ1bmFibGUgdG8gZml0IGRpZmZlcmVudCB2YWx1ZWQgY29uc3RhbnRzIGludG8gaW5zdHJ1Y3Rpb24iCittc2dzdHIgImltcG9zc2libGUgZGUgbelsZXIgZGlmZulyZW50ZXMgY29uc3RhbnRlcyBkYW5zIGwnaW5zdHJ1Y3Rpb24iCisKKyM6IGFyYy1vcGMuYzozOTUKK21zZ2lkICJhdXhpbGlhcnkgcmVnaXN0ZXIgbm90IGFsbG93ZWQgaGVyZSIKK21zZ3N0ciAicmVnaXN0cmUgYXV4aWxpYWlyZSBub24gYXV0b3Jpc+kgaWNpIgorCisjOiBhcmMtb3BjLmM6NDAxIGFyYy1vcGMuYzo0MTgKK21zZ2lkICJhdHRlbXB0IHRvIHNldCByZWFkb25seSByZWdpc3RlciIKK21zZ3N0ciAidGVudGF0aXZlIGQn6WNyaXR1cmUgc3VyIHVuIHJlZ2lzdHJlIGVuIGxlY3R1cmUgc2V1bGUiCisKKyM6IGFyYy1vcGMuYzo0MDYgYXJjLW9wYy5jOjQyMworbXNnaWQgImF0dGVtcHQgdG8gcmVhZCB3cml0ZW9ubHkgcmVnaXN0ZXIiCittc2dzdHIgInRlbnRhdGl2ZSBkZSBsaXJlIHVuIHJlZ2lzdHJlIGVuIOljcml0dXJlIHNldWxlIgorCisjOiBhcmMtb3BjLmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVnaXN0ZXIgbnVtYmVyIGAlZCciCittc2dzdHIgIm51belybyBkZSByZWdpc3RyZSBub24gdmFsaWRlIFwiJWRcIiIKKworIzogYXJjLW9wYy5jOjU5NCBhcmMtb3BjLmM6NjQ1IGFyYy1vcGMuYzo2NzMKK21zZ2lkICJ0b28gbWFueSBsb25nIGNvbnN0YW50cyIKK21zZ3N0ciAidHJvcCBkZSBsb25ndWVzIGNvbnN0YW50ZXMiCisKKyM6IGFyYy1vcGMuYzo2NjgKK21zZ2lkICJ0b28gbWFueSBzaGltbXMgaW4gbG9hZCIKK21zZ3N0ciAidHJvcCBkZSBiaXRzIHNoaW1tIOAgY2hhcmdlciIKKworIy4gRG8gd2UgaGF2ZSBhIGxpbW0gYWxyZWFkeT8KKyM6IGFyYy1vcGMuYzo3ODEKK21zZ2lkICJpbXBvc3NpYmxlIHN0b3JlIgorbXNnc3RyICJzdG9ja2FnZSBpbXBvc3NpYmxlIgorCisjOiBhcmMtb3BjLmM6ODE0Cittc2dpZCAic3Qgb3BlcmFuZCBlcnJvciIKK21zZ3N0ciAiRXJyZXVyIGQnb3DpcmFuZGUgc3QiCisKKyM6IGFyYy1vcGMuYzo4MTggYXJjLW9wYy5jOjg2MAorbXNnaWQgImFkZHJlc3Mgd3JpdGViYWNrIG5vdCBhbGxvd2VkIgorbXNnc3RyICJjYWNoZSBcIndyaXRlYmFja1wiIGQnYWRyZXNzZXMgaW50ZXJkaXQiCisKKyM6IGFyYy1vcGMuYzo4MjIKK21zZ2lkICJzdG9yZSB2YWx1ZSBtdXN0IGJlIHplcm8iCittc2dzdHIgImxhIHZhbGV1ciBkZSBzdG9ja2FnZSBkb2l0IOp0cmUgMCIKKworIzogYXJjLW9wYy5jOjg0NworbXNnaWQgImludmFsaWQgbG9hZC9zaGltbSBpbnNuIgorbXNnc3RyICJsb2FkL3NoaW1tIG5vbiB2YWxpZGUgZGFucyBsJ2luc3RydWN0aW9uIgorCisjOiBhcmMtb3BjLmM6ODU2Cittc2dpZCAibGQgb3BlcmFuZCBlcnJvciIKK21zZ3N0ciAiRXJyZXVyIGQnb3DpcmFuZGUgbGQiCisKKyM6IGFyYy1vcGMuYzo5NDMKK21zZ2lkICJqdW1wIGZsYWdzLCBidXQgbm8gLmYgc2VlbiIKK21zZ3N0ciAiZHJhcGVhdXggZGUgc2F1dCwgbWFpcyBwYXMgZGUgLmYiCisKKyM6IGFyYy1vcGMuYzo5NDYKK21zZ2lkICJqdW1wIGZsYWdzLCBidXQgbm8gbGltbSBhZGRyIgorbXNnc3RyICJkcmFwZWF1eCBkZSBzYXV0LCBtYWlzIHBhcyBkJ2FkcmVzc2UgbGltbSIKKworIzogYXJjLW9wYy5jOjk0OQorbXNnaWQgImZsYWcgYml0cyBvZiBqdW1wIGFkZHJlc3MgbGltbSBsb3N0IgorbXNnc3RyICJwZXJ0ZSBkZSBkcmFwZWF1eCBwb3VyIGwnYWRyZXNzZSBkZSBzYXV0IgorCisjOiBhcmMtb3BjLmM6OTUyCittc2dpZCAiYXR0ZW1wdCB0byBzZXQgSFIgYml0cyIKK21zZ3N0ciAidGVudGF0aXZlIGRlIG1vZGlmaWVyIGxlcyBiaXRzIEhSIgorCisjOiBhcmMtb3BjLmM6OTU1Cittc2dpZCAiYmFkIGp1bXAgZmxhZ3MgdmFsdWUiCittc2dzdHIgIm1hdXZhaXMgZHJhcGVhdXggZGUgc2F1dCIKKworIzogYXJjLW9wYy5jOjk4OAorbXNnaWQgImJyYW5jaCBhZGRyZXNzIG5vdCBvbiA0IGJ5dGUgYm91bmRhcnkiCittc2dzdHIgImFkcmVzc2UgZGUgYnJhbmNoZW1lbnQgbm9uIG11bHRpcGxlIGRlIDE2IgorCisjOiBhcmMtb3BjLmM6MTAyNAorbXNnaWQgIm11c3Qgc3BlY2lmeSAuamQgb3Igbm8gbnVsbGlmeSBzdWZmaXgiCittc2dzdHIgInN1ZmZpeGUgLmpkIG91IHZhbGlkYW50IGF0dGVuZHUiCisKKyM6IGFybS1kaXMuYzoxODA4CiBtc2dpZCAiPGlsbGVnYWwgcHJlY2lzaW9uPiIKIG1zZ3N0ciAiPHBy6WNpc2lvbiBpbGzpZ2FsZT4iCiAKICMuIFhYWCAtIHNob3VsZCBicmVhayAnb3B0aW9uJyBhdCBmb2xsb3dpbmcgZGVsaW1pdGVyLgotIzogYXJtLWRpcy5jOjE5MTIKKyM6IGFybS1kaXMuYzozODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVucmVjb2duaXNlZCByZWdpc3RlciBuYW1lIHNldDogJXNcbiIKLW1zZ3N0ciAiTm9tIGRlIGpldSBkZSByZWdpc3RyZXMgaW5jb25udTogJXNcbiIKK21zZ3N0ciAiTm9tIGRlIGpldSBkZSByZWdpc3RyZXMgaW5jb25udSA6ICVzXG4iCiAKICMuIFhYWCAtIHNob3VsZCBicmVhayAnb3B0aW9uJyBhdCBmb2xsb3dpbmcgZGVsaW1pdGVyLgotIzogYXJtLWRpcy5jOjE5MjAKKyM6IGFybS1kaXMuYzozODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVucmVjb2duaXNlZCBkaXNhc3NlbWJsZXIgb3B0aW9uOiAlc1xuIgotbXNnc3RyICJPcHRpb24gZHUgZOlzYXNzZW1ibGV1ciBub24gcmVjb25udWU6ICVzXG4iCittc2dzdHIgIk9wdGlvbiBkdSBk6XNhc3NlbWJsZXVyIG5vbiByZWNvbm51ZSA6ICVzXG4iCiAKLSM6IGFybS1kaXMuYzoyMDkzCisjOiBhcm0tZGlzLmM6NDIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC01NCwyMTkgKzEzOCw0MDIgQEAKICJMZXMgb3B0aW9ucyBzcOljaWZpcXVlcyBBUk0gc3VpdmFudGVzIHNvbnQgc3VwcG9ydOllcyBhdmVjIGwndXRpbGlzYXRpb24gZGVcbiIKICJsJ29wdGlvbiAtTTpcbiIKIAotIzogYXZyLWRpcy5jOjExMiBhdnItZGlzLmM6MTIyCisjOiBhdnItZGlzLmM6MTE1IGF2ci1kaXMuYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5kZWZpbmVkIgotbXNnc3RyICJub24gZOlmaW5pIgorbXNnc3RyICJub24gZOlmaW5pKGUpIgogCi0jOiBhdnItZGlzLmM6MTc5CisjOiBhdnItZGlzLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludGVybmFsIGRpc2Fzc2VtYmxlciBlcnJvciIKIG1zZ3N0ciAiRXJyZXVyIGludGVybmUgZHUgZOlzYXNzZW1ibGV1ciIKIAotIzogYXZyLWRpcy5jOjIyNworIzogYXZyLWRpcy5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGNvbnN0cmFpbnQgYCVjJyIKIG1zZ3N0ciAiY29udHJhaW50ZSBpbmNvbm51ZSCrICVjILsiCiAKLSM6IGNnZW4tYXNtLmM6MzM2IGZyMzAtaWJsZC5jOjE5NyBmcnYtaWJsZC5jOjE5NyBpcDJrLWlibGQuYzoxOTcKLSM6IGlxMjAwMC1pYmxkLmM6MTk3IG0zMnItaWJsZC5jOjE5NyBvcGVucmlzYy1pYmxkLmM6MTk3IHhzdG9ybXkxNi1pYmxkLmM6MTk3CisjOiBjZ2VuLWFzbS5jOjMzNiBmcjMwLWlibGQuYzoyMDAgZnJ2LWlibGQuYzoyMDAgaXAyay1pYmxkLmM6MjAwCisjOiBpcTIwMDAtaWJsZC5jOjIwMCBtMzJjLWlibGQuYzoyMDAgbTMyci1pYmxkLmM6MjAwIG1lcC1pYmxkLmM6MjAwCisjOiBtdC1pYmxkLmM6MjAwIG9wZW5yaXNjLWlibGQuYzoyMDAgeGMxNngtaWJsZC5jOjIwMCB4c3Rvcm15MTYtaWJsZC5jOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSAoJWxkIG5vdCBiZXR3ZWVuICVsZCBhbmQgJWxkKSIKLW1zZ3N0ciAib3DpcmFuZGUgaG9ycyBsaW1pdGUgKCVsZCBuJ2VzdCBwYXMgZW50cmUgJWxkIGV0ICVsZCkiCittc2dzdHIgIm9w6XJhbmRlIGhvcnMgbGltaXRlcyAoJWxkIG4nZXN0IHBhcyBlbnRyZSAlbGQgZXQgJWxkKSIKIAogIzogY2dlbi1hc20uYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAib3BlcmFuZCBvdXQgb2YgcmFuZ2UgKCVsdSBub3QgYmV0d2VlbiAlbHUgYW5kICVsdSkiCi1tc2dzdHIgIm9w6XJhbmRlIGhvcnMgbGltaXRlICglbHUgbidlc3QgcGFzIGVudHJlICVsdSBldCAlbHUpIgorbXNnc3RyICJvcOlyYW5kZSBob3JzIGxpbWl0ZXMgKCVsdSBuJ2VzdCBwYXMgZW50cmUgJWx1IGV0ICVsdSkiCiAKLSM6IGQzMHYtZGlzLmM6MzEyCisjOiBkMzB2LWRpcy5jOjI1NQogIywgYy1mb3JtYXQKIG1zZ2lkICI8dW5rbm93biByZWdpc3RlciAlZD4iCiBtc2dzdHIgIjxyZWdpc3RyZSBpbmNvbm51ICVkPiIKIAogIy4gQ2FuJ3QgaGFwcGVuLgotIzogZGlzLWJ1Zi5jOjU3CisjOiBkaXMtYnVmLmM6NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBlcnJvciAlZFxuIgogbXNnc3RyICJFcnJldXIgaW5jb25udWUgJWRcbiIKIAotIzogZGlzLWJ1Zi5jOjY2CisjOiBkaXMtYnVmLmM6NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkcmVzcyAweCVzIGlzIG91dCBvZiBib3VuZHMuXG4iCi1tc2dzdHIgIkFkcmVzc2UgMHglcyBlc3QgaG9ycyBsaW1pdGUuXG4iCittc2dzdHIgIkFkcmVzc2UgMHglcyBob3JzIGxpbWl0ZXMuXG4iCiAKLSM6IGZyMzAtYXNtLmM6MzIzIGZydi1hc20uYzoxMjk4IGlwMmstYXNtLmM6NTMwIGlxMjAwMC1hc20uYzo0NjUKLSM6IG0zMnItYXNtLmM6MzM4IG9wZW5yaXNjLWFzbS5jOjI1MiB4c3Rvcm15MTYtYXNtLmM6Mjg0CisjOiBmcjMwLWFzbS5jOjkzIG0zMmMtYXNtLmM6ODc3IG0zMmMtYXNtLmM6ODg0Cittc2dpZCAiUmVnaXN0ZXIgbnVtYmVyIGlzIG5vdCB2YWxpZCIKK21zZ3N0ciAiTnVt6XJvIGRlIHJlZ2lzdHJlIG5vbiB2YWxpZGUiCisKKyM6IGZyMzAtYXNtLmM6OTUKK21zZ2lkICJSZWdpc3RlciBtdXN0IGJlIGJldHdlZW4gcjAgYW5kIHI3IgorbXNnc3RyICJMZSBudW3pcm8gZGUgcmVnaXN0cmUgZG9pdCDqdHJlIGVudHJlIHIwIGV0IHI3IgorCisjOiBmcjMwLWFzbS5jOjk3Cittc2dpZCAiUmVnaXN0ZXIgbXVzdCBiZSBiZXR3ZWVuIHI4IGFuZCByMTUiCittc2dzdHIgIkxlIG51belybyBkZSByZWdpc3RyZSBkb2l0IOp0cmUgZW50cmUgcjggZXQgcjE1IgorCisjOiBmcjMwLWFzbS5jOjExNiBtMzJjLWFzbS5jOjkxNQorbXNnaWQgIlJlZ2lzdGVyIGxpc3QgaXMgbm90IHZhbGlkIgorbXNnc3RyICJMaXN0ZSBkZSByZWdpc3RyZXMgbm9uIHZhbGlkZSIKKworIzogZnIzMC1hc20uYzozMTAgZnJ2LWFzbS5jOjEyNjMgaXAyay1hc20uYzo1MTEgaXEyMDAwLWFzbS5jOjQ1OQorIzogbTMyYy1hc20uYzoxNTg5IG0zMnItYXNtLmM6MzI4IG1lcC1hc20uYzoxMDAxIG10LWFzbS5jOjU5NQorIzogb3BlbnJpc2MtYXNtLmM6MjQxIHhjMTZ4LWFzbS5jOjM3NiB4c3Rvcm15MTYtYXNtLmM6Mjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBwYXJzaW5nLlxuIgogbXNnc3RyICJDaGFtcCBub24gcmVjb25udSAlZCBsb3JzIGRlIGwnYW5hbHlzZS5cbiIKIAotIzogZnIzMC1hc20uYzozNzIgZnJ2LWFzbS5jOjEzNDcgaXAyay1hc20uYzo1NzkgaXEyMDAwLWFzbS5jOjUxNAotIzogbTMyci1hc20uYzozODcgb3BlbnJpc2MtYXNtLmM6MzAxIHhzdG9ybXkxNi1hc20uYzozMzMKKyM6IGZyMzAtYXNtLmM6MzYxIGZydi1hc20uYzoxMzE0IGlwMmstYXNtLmM6NTYyIGlxMjAwMC1hc20uYzo1MTAKKyM6IG0zMmMtYXNtLmM6MTY0MCBtMzJyLWFzbS5jOjM3OSBtZXAtYXNtLmM6MTA1MiBtdC1hc20uYzo2NDYKKyM6IG9wZW5yaXNjLWFzbS5jOjI5MiB4YzE2eC1hc20uYzo0MjcgeHN0b3JteTE2LWFzbS5jOjMyNwogbXNnaWQgIm1pc3NpbmcgbW5lbW9uaWMgaW4gc3ludGF4IHN0cmluZyIKIG1zZ3N0ciAibW7pbW9uaXF1ZSBtYW5xdWFudGUgZGFucyBsYSBzeW50YXhlIGRlIGxhIGNoYe5uZSIKIAogIy4gV2UgY291bGRuJ3QgcGFyc2UgaXQuCi0jOiBmcjMwLWFzbS5jOjUwNyBmcjMwLWFzbS5jOjUxMSBmcjMwLWFzbS5jOjU5OCBmcjMwLWFzbS5jOjY5OSBmcnYtYXNtLmM6MTQ4MgotIzogZnJ2LWFzbS5jOjE0ODYgZnJ2LWFzbS5jOjE1NzMgZnJ2LWFzbS5jOjE2NzQgaXAyay1hc20uYzo3MTQgaXAyay1hc20uYzo3MTgKLSM6IGlwMmstYXNtLmM6ODA1IGlwMmstYXNtLmM6OTA2IGlxMjAwMC1hc20uYzo2NDkgaXEyMDAwLWFzbS5jOjY1MwotIzogaXEyMDAwLWFzbS5jOjc0MCBpcTIwMDAtYXNtLmM6ODQxIG0zMnItYXNtLmM6NTIyIG0zMnItYXNtLmM6NTI2Ci0jOiBtMzJyLWFzbS5jOjYxMyBtMzJyLWFzbS5jOjcxNCBvcGVucmlzYy1hc20uYzo0MzYgb3BlbnJpc2MtYXNtLmM6NDQwCi0jOiBvcGVucmlzYy1hc20uYzo1Mjcgb3BlbnJpc2MtYXNtLmM6NjI4IHhzdG9ybXkxNi1hc20uYzo0NjgKLSM6IHhzdG9ybXkxNi1hc20uYzo0NzIgeHN0b3JteTE2LWFzbS5jOjU1OSB4c3Rvcm15MTYtYXNtLmM6NjYwCisjOiBmcjMwLWFzbS5jOjQ5NiBmcjMwLWFzbS5jOjUwMCBmcjMwLWFzbS5jOjU4NyBmcjMwLWFzbS5jOjY4OCBmcnYtYXNtLmM6MTQ0OQorIzogZnJ2LWFzbS5jOjE0NTMgZnJ2LWFzbS5jOjE1NDAgZnJ2LWFzbS5jOjE2NDEgaXAyay1hc20uYzo2OTcgaXAyay1hc20uYzo3MDEKKyM6IGlwMmstYXNtLmM6Nzg4IGlwMmstYXNtLmM6ODg5IGlxMjAwMC1hc20uYzo2NDUgaXEyMDAwLWFzbS5jOjY0OQorIzogaXEyMDAwLWFzbS5jOjczNiBpcTIwMDAtYXNtLmM6ODM3IG0zMmMtYXNtLmM6MTc3NSBtMzJjLWFzbS5jOjE3NzkKKyM6IG0zMmMtYXNtLmM6MTg2NiBtMzJjLWFzbS5jOjE5NjcgbTMyci1hc20uYzo1MTQgbTMyci1hc20uYzo1MTgKKyM6IG0zMnItYXNtLmM6NjA1IG0zMnItYXNtLmM6NzA2IG1lcC1hc20uYzoxMTg3IG1lcC1hc20uYzoxMTkxIG1lcC1hc20uYzoxMjc4CisjOiBtZXAtYXNtLmM6MTM3OSBtdC1hc20uYzo3ODEgbXQtYXNtLmM6Nzg1IG10LWFzbS5jOjg3MiBtdC1hc20uYzo5NzMKKyM6IG9wZW5yaXNjLWFzbS5jOjQyNyBvcGVucmlzYy1hc20uYzo0MzEgb3BlbnJpc2MtYXNtLmM6NTE4IG9wZW5yaXNjLWFzbS5jOjYxOQorIzogeGMxNngtYXNtLmM6NTYyIHhjMTZ4LWFzbS5jOjU2NiB4YzE2eC1hc20uYzo2NTMgeGMxNngtYXNtLmM6NzU0CisjOiB4c3Rvcm15MTYtYXNtLmM6NDYyIHhzdG9ybXkxNi1hc20uYzo0NjYgeHN0b3JteTE2LWFzbS5jOjU1MworIzogeHN0b3JteTE2LWFzbS5jOjY1NAogbXNnaWQgInVucmVjb2duaXplZCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiaW5zdHJ1Y3Rpb24gbm9uIHJlY29ubnVlIgogCi0jOiBmcjMwLWFzbS5jOjU1NCBmcnYtYXNtLmM6MTUyOSBpcDJrLWFzbS5jOjc2MSBpcTIwMDAtYXNtLmM6Njk2Ci0jOiBtMzJyLWFzbS5jOjU2OSBvcGVucmlzYy1hc20uYzo0ODMgeHN0b3JteTE2LWFzbS5jOjUxNQorIzogZnIzMC1hc20uYzo1NDMgZnJ2LWFzbS5jOjE0OTYgaXAyay1hc20uYzo3NDQgaXEyMDAwLWFzbS5jOjY5MgorIzogbTMyYy1hc20uYzoxODIyIG0zMnItYXNtLmM6NTYxIG1lcC1hc20uYzoxMjM0IG10LWFzbS5jOjgyOAorIzogb3BlbnJpc2MtYXNtLmM6NDc0IHhjMTZ4LWFzbS5jOjYwOSB4c3Rvcm15MTYtYXNtLmM6NTA5CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciAoZXhwZWN0ZWQgY2hhciBgJWMnLCBmb3VuZCBgJWMnKSIKIG1zZ3N0ciAiZXJyZXVyIGRlIHN5bnRheGUgKGNhcmFjdOhyZSCrICVjILsgYXR0ZW5kdSwgIKsgJWMguyBvYnRlbnUpIgogCi0jOiBmcjMwLWFzbS5jOjU2NCBmcnYtYXNtLmM6MTUzOSBpcDJrLWFzbS5jOjc3MSBpcTIwMDAtYXNtLmM6NzA2Ci0jOiBtMzJyLWFzbS5jOjU3OSBvcGVucmlzYy1hc20uYzo0OTMgeHN0b3JteTE2LWFzbS5jOjUyNQorIzogZnIzMC1hc20uYzo1NTMgZnJ2LWFzbS5jOjE1MDYgaXAyay1hc20uYzo3NTQgaXEyMDAwLWFzbS5jOjcwMgorIzogbTMyYy1hc20uYzoxODMyIG0zMnItYXNtLmM6NTcxIG1lcC1hc20uYzoxMjQ0IG10LWFzbS5jOjgzOAorIzogb3BlbnJpc2MtYXNtLmM6NDg0IHhjMTZ4LWFzbS5jOjYxOSB4c3Rvcm15MTYtYXNtLmM6NTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciAoZXhwZWN0ZWQgY2hhciBgJWMnLCBmb3VuZCBlbmQgb2YgaW5zdHJ1Y3Rpb24pIgotbXNnc3RyICJlcnJldXIgZGUgc3ludGF4ZSAoY2FyYWN06HJlIKsgJWMguyBhdHRlbmR1LCBmaW4gZGUgbCdpbnN0cnVjdGlvbiBvYnRlbnVlKSIKK21zZ3N0ciAiZXJyZXVyIGRlIHN5bnRheGUgKGNhcmFjdOhyZSCrICVjILsgYXR0ZW5kdSwgZmluIGRlIGwnaW5zdHJ1Y3Rpb24gdHJvdXbpZSkiCiAKLSM6IGZyMzAtYXNtLmM6NTkyIGZydi1hc20uYzoxNTY3IGlwMmstYXNtLmM6Nzk5IGlxMjAwMC1hc20uYzo3MzQKLSM6IG0zMnItYXNtLmM6NjA3IG9wZW5yaXNjLWFzbS5jOjUyMSB4c3Rvcm15MTYtYXNtLmM6NTUzCisjOiBmcjMwLWFzbS5jOjU4MSBmcnYtYXNtLmM6MTUzNCBpcDJrLWFzbS5jOjc4MiBpcTIwMDAtYXNtLmM6NzMwCisjOiBtMzJjLWFzbS5jOjE4NjAgbTMyci1hc20uYzo1OTkgbWVwLWFzbS5jOjEyNzIgbXQtYXNtLmM6ODY2CisjOiBvcGVucmlzYy1hc20uYzo1MTIgeGMxNngtYXNtLmM6NjQ3IHhzdG9ybXkxNi1hc20uYzo1NDcKIG1zZ2lkICJqdW5rIGF0IGVuZCBvZiBsaW5lIgogbXNnc3RyICJyZWJ1dCDgIGxhIGZpbiBkZSBsYSBsaWduZSIKIAotIzogZnIzMC1hc20uYzo2OTggZnJ2LWFzbS5jOjE2NzMgaXAyay1hc20uYzo5MDUgaXEyMDAwLWFzbS5jOjg0MAotIzogbTMyci1hc20uYzo3MTMgb3BlbnJpc2MtYXNtLmM6NjI3IHhzdG9ybXkxNi1hc20uYzo2NTkKKyM6IGZyMzAtYXNtLmM6Njg3IGZydi1hc20uYzoxNjQwIGlwMmstYXNtLmM6ODg4IGlxMjAwMC1hc20uYzo4MzYKKyM6IG0zMmMtYXNtLmM6MTk2NiBtMzJyLWFzbS5jOjcwNSBtZXAtYXNtLmM6MTM3OCBtdC1hc20uYzo5NzIKKyM6IG9wZW5yaXNjLWFzbS5jOjYxOCB4YzE2eC1hc20uYzo3NTMgeHN0b3JteTE2LWFzbS5jOjY1MwogbXNnaWQgInVucmVjb2duaXplZCBmb3JtIG9mIGluc3RydWN0aW9uIgogbXNnc3RyICJmb3JtZSBkJ2luc3RydWN0aW9uIG5vbiByZWNvbm51ZSIKIAotIzogZnIzMC1hc20uYzo3MTAgZnJ2LWFzbS5jOjE2ODUgaXAyay1hc20uYzo5MTcgaXEyMDAwLWFzbS5jOjg1MgotIzogbTMyci1hc20uYzo3MjUgb3BlbnJpc2MtYXNtLmM6NjM5IHhzdG9ybXkxNi1hc20uYzo2NzEKKyM6IGZyMzAtYXNtLmM6Njk5IGZydi1hc20uYzoxNjUyIGlwMmstYXNtLmM6OTAwIGlxMjAwMC1hc20uYzo4NDgKKyM6IG0zMmMtYXNtLmM6MTk3OCBtMzJyLWFzbS5jOjcxNyBtZXAtYXNtLmM6MTM5MCBtdC1hc20uYzo5ODQKKyM6IG9wZW5yaXNjLWFzbS5jOjYzMCB4YzE2eC1hc20uYzo3NjUgeHN0b3JteTE2LWFzbS5jOjY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5zdHJ1Y3Rpb24gYCUuNTBzLi4uJyIKIG1zZ3N0ciAiaW5zdHJ1Y3Rpb24gZXJyb27pZSCrICUuNTBzLi4uILsiCiAKLSM6IGZyMzAtYXNtLmM6NzEzIGZydi1hc20uYzoxNjg4IGlwMmstYXNtLmM6OTIwIGlxMjAwMC1hc20uYzo4NTUKLSM6IG0zMnItYXNtLmM6NzI4IG9wZW5yaXNjLWFzbS5jOjY0MiB4c3Rvcm15MTYtYXNtLmM6Njc0CisjOiBmcjMwLWFzbS5jOjcwMiBmcnYtYXNtLmM6MTY1NSBpcDJrLWFzbS5jOjkwMyBpcTIwMDAtYXNtLmM6ODUxCisjOiBtMzJjLWFzbS5jOjE5ODEgbTMyci1hc20uYzo3MjAgbWVwLWFzbS5jOjEzOTMgbXQtYXNtLmM6OTg3CisjOiBvcGVucmlzYy1hc20uYzo2MzMgeGMxNngtYXNtLmM6NzY4IHhzdG9ybXkxNi1hc20uYzo2NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluc3RydWN0aW9uIGAlLjUwcyciCiBtc2dzdHIgImluc3RydWN0aW9uIGVycm9u6WUgqyAlLjUwcyC7IgogCiAjLiBEZWZhdWx0IHRleHQgdG8gcHJpbnQgaWYgYW4gaW5zdHJ1Y3Rpb24gaXNuJ3QgcmVjb2duaXplZC4KLSM6IGZyMzAtZGlzLmM6NDEgZnJ2LWRpcy5jOjQxIGlwMmstZGlzLmM6NDEgaXEyMDAwLWRpcy5jOjQxIG0zMnItZGlzLmM6NDEKLSM6IG1taXgtZGlzLmM6Mjg0IG9wZW5yaXNjLWRpcy5jOjQxIHhzdG9ybXkxNi1kaXMuYzo0MQorIzogZnIzMC1kaXMuYzo0MSBmcnYtZGlzLmM6NDEgaXAyay1kaXMuYzo0MSBpcTIwMDAtZGlzLmM6NDEgbTMyYy1kaXMuYzo0MQorIzogbTMyci1kaXMuYzo0MSBtZXAtZGlzLmM6NDEgbW1peC1kaXMuYzoyNzggbXQtZGlzLmM6NDEgb3BlbnJpc2MtZGlzLmM6NDEKKyM6IHhjMTZ4LWRpcy5jOjQxIHhzdG9ybXkxNi1kaXMuYzo0MQogbXNnaWQgIip1bmtub3duKiIKIG1zZ3N0ciAiKmluY29ubnUqIgogCi0jOiBmcjMwLWRpcy5jOjMxOSBmcnYtZGlzLmM6NDEwIGlwMmstZGlzLmM6MzEzIGlxMjAwMC1kaXMuYzoxOTEgbTMyci1kaXMuYzoyNjIKLSM6IG9wZW5yaXNjLWRpcy5jOjEzNyB4c3Rvcm15MTYtZGlzLmM6MTcwCisjOiBmcjMwLWRpcy5jOjI5OSBmcnYtZGlzLmM6Mzk2IGlwMmstZGlzLmM6Mjg4IGlxMjAwMC1kaXMuYzoxODkgbTMyYy1kaXMuYzo4OTEKKyM6IG0zMnItZGlzLmM6MjU2IG1lcC1kaXMuYzo3NzYgbXQtZGlzLmM6MjkwIG9wZW5yaXNjLWRpcy5jOjEzNQorIzogeGMxNngtZGlzLmM6Mzc1IHhzdG9ybXkxNi1kaXMuYzoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5yZWNvZ25pemVkIGZpZWxkICVkIHdoaWxlIHByaW50aW5nIGluc24uXG4iCi1tc2dzdHIgIkNoYW1wIG5vbiByZWNvbm51ICVkIGxvcnMgZGUgbCdpbXByZXNzaW9uIGluc24uXG4iCittc2dzdHIgIkNoYW1wIG5vbiByZWNvbm51ICVkIGxvcnMgZGUgbCdhZmZpY2hhZ2UgZCdpbnN0cnVjdGlvbnMuXG4iCiAKLSM6IGZyMzAtaWJsZC5jOjE2OCBmcnYtaWJsZC5jOjE2OCBpcDJrLWlibGQuYzoxNjggaXEyMDAwLWlibGQuYzoxNjgKLSM6IG0zMnItaWJsZC5jOjE2OCBvcGVucmlzYy1pYmxkLmM6MTY4IHhzdG9ybXkxNi1pYmxkLmM6MTY4CisjOiBmcjMwLWlibGQuYzoxNjMgZnJ2LWlibGQuYzoxNjMgaXAyay1pYmxkLmM6MTYzIGlxMjAwMC1pYmxkLmM6MTYzCisjOiBtMzJjLWlibGQuYzoxNjMgbTMyci1pYmxkLmM6MTYzIG1lcC1pYmxkLmM6MTYzIG10LWlibGQuYzoxNjMKKyM6IG9wZW5yaXNjLWlibGQuYzoxNjMgeGMxNngtaWJsZC5jOjE2MyB4c3Rvcm15MTYtaWJsZC5jOjE2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSAoJWxkIG5vdCBiZXR3ZWVuICVsZCBhbmQgJWx1KSIKLW1zZ3N0ciAib3DpcmFuZGUgaG9ycyBsaW1pdGUgKCVsZCBuJ2VzdCBwYXMgZW50cmUgJWxkIGV0ICVsdSkiCittc2dzdHIgIm9w6XJhbmRlIGhvcnMgbGltaXRlcyAoJWxkIG4nZXN0IHBhcyBlbnRyZSAlbGQgZXQgJWx1KSIKIAotIzogZnIzMC1pYmxkLmM6MTgxIGZydi1pYmxkLmM6MTgxIGlwMmstaWJsZC5jOjE4MSBpcTIwMDAtaWJsZC5jOjE4MQotIzogbTMyci1pYmxkLmM6MTgxIG9wZW5yaXNjLWlibGQuYzoxODEgeHN0b3JteTE2LWlibGQuYzoxODEKKyM6IGZyMzAtaWJsZC5jOjE4NCBmcnYtaWJsZC5jOjE4NCBpcDJrLWlibGQuYzoxODQgaXEyMDAwLWlibGQuYzoxODQKKyM6IG0zMmMtaWJsZC5jOjE4NCBtMzJyLWlibGQuYzoxODQgbWVwLWlibGQuYzoxODQgbXQtaWJsZC5jOjE4NAorIzogb3BlbnJpc2MtaWJsZC5jOjE4NCB4YzE2eC1pYmxkLmM6MTg0IHhzdG9ybXkxNi1pYmxkLmM6MTg0CiAjLCBjLWZvcm1hdAotbXNnaWQgIm9wZXJhbmQgb3V0IG9mIHJhbmdlICglbHUgbm90IGJldHdlZW4gMCBhbmQgJWx1KSIKLW1zZ3N0ciAib3DpcmFuZGUgaG9ycyBsaW1pdGUgKCVsdSBuJ2VzdCBwYXMgZW50cmUgMCBldCAlbHUpIgorbXNnaWQgIm9wZXJhbmQgb3V0IG9mIHJhbmdlICgweCVseCBub3QgYmV0d2VlbiAwIGFuZCAweCVseCkiCittc2dzdHIgIm9w6XJhbmRlIGhvcnMgbGltaXRlICgweCVseCBuJ2VzdCBwYXMgZW50cmUgMCBldCAweCVseCkiCiAKLSM6IGZyMzAtaWJsZC5jOjczMiBmcnYtaWJsZC5jOjg1OCBpcDJrLWlibGQuYzo2MDkgaXEyMDAwLWlibGQuYzo3MTUKLSM6IG0zMnItaWJsZC5jOjY2NyBvcGVucmlzYy1pYmxkLmM6NjM1IHhzdG9ybXkxNi1pYmxkLmM6NjgwCisjOiBmcjMwLWlibGQuYzo3MjYgZnJ2LWlibGQuYzo4NTIgaXAyay1pYmxkLmM6NjAzIGlxMjAwMC1pYmxkLmM6NzA5CisjOiBtMzJjLWlibGQuYzoxNzI3IG0zMnItaWJsZC5jOjY2MSBtZXAtaWJsZC5jOjEwMjQgbXQtaWJsZC5jOjc0NQorIzogb3BlbnJpc2MtaWJsZC5jOjYyOSB4YzE2eC1pYmxkLmM6NzQ4IHhzdG9ybXkxNi1pYmxkLmM6Njc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBidWlsZGluZyBpbnNuLlxuIgotbXNnc3RyICJDaGFtcCBub24gcmVjb25udSAlZCBsb3JzIGRlIGxhIGNvbnN0cnVjdGlvbiBkZSBpbnNuLlxuIgorbXNnc3RyICJDaGFtcCBub24gcmVjb25udSAlZCBsb3JzIGRlIGxhIGNvbnN0cnVjdGlvbiBkJ2luc3RydWN0aW9uLlxuIgogCi0jOiBmcjMwLWlibGQuYzo5MzkgZnJ2LWlibGQuYzoxMTc3IGlwMmstaWJsZC5jOjY4NiBpcTIwMDAtaWJsZC5jOjg5MgotIzogbTMyci1pYmxkLmM6ODA2IG9wZW5yaXNjLWlibGQuYzo3MzcgeHN0b3JteTE2LWlibGQuYzo4MjgKKyM6IGZyMzAtaWJsZC5jOjkzMSBmcnYtaWJsZC5jOjExNjkgaXAyay1pYmxkLmM6Njc4IGlxMjAwMC1pYmxkLmM6ODg0CisjOiBtMzJjLWlibGQuYzoyODg4IG0zMnItaWJsZC5jOjc5OCBtZXAtaWJsZC5jOjE0NDQgbXQtaWJsZC5jOjk2NQorIzogb3BlbnJpc2MtaWJsZC5jOjcyOSB4YzE2eC1pYmxkLmM6OTY4IHhzdG9ybXkxNi1pYmxkLmM6ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBkZWNvZGluZyBpbnNuLlxuIgotbXNnc3RyICJDaGFtcCBub24gcmVjb25udSAlZCBsb3JzIGR1IGTpY29kYWdlIGRlIGluc24uXG4iCittc2dzdHIgIkNoYW1wIG5vbiByZWNvbm51ICVkIGxvcnMgZHUgZOljb2RhZ2UgZCdpbnN0cnVjdGlvbnMuXG4iCiAKLSM6IGZyMzAtaWJsZC5jOjEwODggZnJ2LWlibGQuYzoxNDU4IGlwMmstaWJsZC5jOjc2MyBpcTIwMDAtaWJsZC5jOjEwMjYKLSM6IG0zMnItaWJsZC5jOjkyMiBvcGVucmlzYy1pYmxkLmM6ODE3IHhzdG9ybXkxNi1pYmxkLmM6OTQxCisjOiBmcjMwLWlibGQuYzoxMDc3IGZydi1pYmxkLmM6MTQ0NyBpcDJrLWlibGQuYzo3NTIgaXEyMDAwLWlibGQuYzoxMDE1CisjOiBtMzJjLWlibGQuYzozNTA1IG0zMnItaWJsZC5jOjkxMSBtZXAtaWJsZC5jOjE3MzcgbXQtaWJsZC5jOjExNjUKKyM6IG9wZW5yaXNjLWlibGQuYzo4MDYgeGMxNngtaWJsZC5jOjExODkgeHN0b3JteTE2LWlibGQuYzo5MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5yZWNvZ25pemVkIGZpZWxkICVkIHdoaWxlIGdldHRpbmcgaW50IG9wZXJhbmQuXG4iCi1tc2dzdHIgIkNoYW1wIG5vbiByZWNvbm51ICVkIGxvcnMgZGUgbGEgcHJpc2UgZCd1bmUgb3DpcmFuZGUgaW50LlxuIgorbXNnc3RyICJDaGFtcCBub24gcmVjb25udSAlZCBsb3JzIGRlIGwnb2J0ZW50aW9uIGQndW4gb3DpcmFuZGUgaW50LlxuIgogCi0jOiBmcjMwLWlibGQuYzoxMjE3IGZydi1pYmxkLmM6MTcxOSBpcDJrLWlibGQuYzo4MjAgaXEyMDAwLWlibGQuYzoxMTQwCi0jOiBtMzJyLWlibGQuYzoxMDE4IG9wZW5yaXNjLWlibGQuYzo4NzcgeHN0b3JteTE2LWlibGQuYzoxMDM0CisjOiBmcjMwLWlibGQuYzoxMjA1IGZydi1pYmxkLmM6MTcwNyBpcDJrLWlibGQuYzo4MDggaXEyMDAwLWlibGQuYzoxMTI4CisjOiBtMzJjLWlibGQuYzo0MTA0IG0zMnItaWJsZC5jOjEwMDYgbWVwLWlibGQuYzoyMDEyIG10LWlibGQuYzoxMzQ3CisjOiBvcGVucmlzYy1pYmxkLmM6ODY1IHhjMTZ4LWlibGQuYzoxMzkyIHhzdG9ybXkxNi1pYmxkLmM6MTAyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgZ2V0dGluZyB2bWEgb3BlcmFuZC5cbiIKLW1zZ3N0ciAiQ2hhbXAgbm9uIHJlY29ubnUgJWQgbG9ycyBkZSBsYSBwcmlzZSBkJ3VuZSBvcOlyYW5kZSB2bWEuXG4iCittc2dzdHIgIkNoYW1wIG5vbiByZWNvbm51ICVkIGxvcnMgZGUgbCdvYnRlbnRpb24gZCd1biBvcOlyYW5kZSB2bWEuXG4iCiAKLSM6IGZyMzAtaWJsZC5jOjEzNTEgZnJ2LWlibGQuYzoxOTg5IGlwMmstaWJsZC5jOjg4MiBpcTIwMDAtaWJsZC5jOjEyNjMKLSM6IG0zMnItaWJsZC5jOjExMjIgb3BlbnJpc2MtaWJsZC5jOjk0NiB4c3Rvcm15MTYtaWJsZC5jOjExMzYKKyM6IGZyMzAtaWJsZC5jOjEzMzYgZnJ2LWlibGQuYzoxOTc0IGlwMmstaWJsZC5jOjg2NyBpcTIwMDAtaWJsZC5jOjEyNDgKKyM6IG0zMmMtaWJsZC5jOjQ2OTEgbTMyci1pYmxkLmM6MTEwNyBtZXAtaWJsZC5jOjIyNzEgbXQtaWJsZC5jOjE1MzYKKyM6IG9wZW5yaXNjLWlibGQuYzo5MzEgeGMxNngtaWJsZC5jOjE1OTYgeHN0b3JteTE2LWlibGQuYzoxMTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBzZXR0aW5nIGludCBvcGVyYW5kLlxuIgotbXNnc3RyICJDaGFtcCBub24gcmVjb25udSAlZCBsb3JzIGRlIGwnaW5pdGlhbGlzYXRpb24gZCd1bmUgb3DpcmFuZGUgaW50LlxuIgorbXNnc3RyICJDaGFtcCBub24gcmVjb25udSAlZCBsb3JzIGRlIGwnaW5pdGlhbGlzYXRpb24gZCd1biBvcOlyYW5kZSBpbnQuXG4iCiAKLSM6IGZyMzAtaWJsZC5jOjE0NzMgZnJ2LWlibGQuYzoyMjQ3IGlwMmstaWJsZC5jOjkzMiBpcTIwMDAtaWJsZC5jOjEzNzQKLSM6IG0zMnItaWJsZC5jOjEyMTQgb3BlbnJpc2MtaWJsZC5jOjEwMDMgeHN0b3JteTE2LWlibGQuYzoxMjI2CisjOiBmcjMwLWlibGQuYzoxNDU3IGZydi1pYmxkLmM6MjIzMSBpcDJrLWlibGQuYzo5MTYgaXEyMDAwLWlibGQuYzoxMzU4CisjOiBtMzJjLWlibGQuYzo1MjY4IG0zMnItaWJsZC5jOjExOTggbWVwLWlibGQuYzoyNTIwIG10LWlibGQuYzoxNzE1CisjOiBvcGVucmlzYy1pYmxkLmM6OTg3IHhjMTZ4LWlibGQuYzoxNzkwIHhzdG9ybXkxNi1pYmxkLmM6MTIxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgc2V0dGluZyB2bWEgb3BlcmFuZC5cbiIKLW1zZ3N0ciAiQ2hhbXAgbm9uIHJlY29ubnUgJWQgbG9ycyBkZSBsJ2luaXRpYWxpc2F0aW9uIGQndW5lIG9w6XJhbmRlIHZtYS5cbiIKK21zZ3N0ciAiQ2hhbXAgbm9uIHJlY29ubnUgJWQgbG9ycyBkZSBsJ2luaXRpYWxpc2F0aW9uIGQndW4gb3DpcmFuZGUgdm1hLlxuIgogCi0jOiBmcnYtYXNtLmM6OTc4CisjOiBmcnYtYXNtLmM6NjA4Cittc2dpZCAibWlzc2luZyBgXSciCittc2dzdHIgIlwiXVwiJyBtYW5xdWFudCIKKworIzogZnJ2LWFzbS5jOjYxMSBmcnYtYXNtLmM6NjIxCittc2dpZCAiU3BlY2lhbCBwdXJwb3NlIHJlZ2lzdGVyIG51bWJlciBpcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIk51belybyBkZSByZWdpc3RyZSBzcOljaWFsIGhvcnMgZGVzIGxpbWl0ZXMiCisKKyM6IGZydi1hc20uYzo5MDgKK21zZ2lkICJWYWx1ZSBvZiBBIG9wZXJhbmQgbXVzdCBiZSAwIG9yIDEiCittc2dzdHIgIkxhIHZhbGV1ciBkZSBsJ29w6XJhbmRlIEEgZG9pdCDqdHJlIDAgb3UgMSIKKworIzogZnJ2LWFzbS5jOjk0NAogbXNnaWQgInJlZ2lzdGVyIG51bWJlciBtdXN0IGJlIGV2ZW4iCi1tc2dzdHIgIm51belybyBkZSByZWdpc3RyZSBkb2l0IOp0cmUgcGFpciIKK21zZ3N0ciAiTGUgbnVt6XJvIGRlIHJlZ2lzdHJlIGRvaXQg6nRyZSBwYWlyIgorCisjLiAtLSBhc3NlbWJsZXIgcm91dGluZXMgaW5zZXJ0ZWQgaGVyZS4KKyMuIC0tIGFzbS5jCisjOiBmcnYtYXNtLmM6OTcyIGlxMjAwMC1hc20uYzo1NiBtMzJjLWFzbS5jOjE0MSBtMzJjLWFzbS5jOjIzNyBtMzJjLWFzbS5jOjI3OQorIzogbTMyYy1hc20uYzozMzggbTMyYy1hc20uYzozNjAgbTMyci1hc20uYzo1MyBtZXAtYXNtLmM6MjMyIG1lcC1hc20uYzoyNTAKKyM6IG1lcC1hc20uYzoyNjUgbWVwLWFzbS5jOjI4MCBtZXAtYXNtLmM6MjkyIG9wZW5yaXNjLWFzbS5jOjU0Cittc2dpZCAibWlzc2luZyBgKSciCittc2dzdHIgIlwiKVwiIG1hbnF1YW50ZSIKIAogIyBoODMwMC1kaXMuYzozODBJbnRlcm5hbCBlcnJvcjogYmFkIHNwYXJjLW9wY29kZS5oOiBcIiVzXCIgPT0gXCIlc1wiXG4iCi0jOiBoODMwMC1kaXMuYzozNTgKKyM6IGg4MzAwLWRpcy5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJIbW1tbSAweCV4IgogbXNnc3RyICJIdW1tbW0gMHgleCIKIAotIzogaDgzMDAtZGlzLmM6NzQ0CisjOiBoODMwMC1kaXMuYzo3MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3QgdW5kZXJzdGFuZCAweCV4IFxuIgotbXNnc3RyICJOZSBjb21wcmVuZCBwYXMgMHgleCBcbiIKK21zZ3N0ciAiSW5jb21wculoZW5zaWJsZSA6IDB4JXggXG4iCiAKLSM6IGg4NTAwLWRpcy5jOjE0MworIzogaDg1MDAtZGlzLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IGNvcGUgd2l0aCBpbnNlcnQgJWRcbiIKLW1zZ3N0ciAiTmUgcGV1dCBn6XJlciBsJ2luc2VydGlvbiAlZFxuIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGfpcmVyIGwnaW5zZXJ0aW9uICVkXG4iCiAKICMuIENvdWxkbid0IHVuZGVyc3RhbmQgYW55dGhpbmcuCi0jOiBoODUwMC1kaXMuYzozNDIKKyM6IGg4NTAwLWRpcy5jOjMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlMDJ4XHRcdCp1bmtub3duKiIKIG1zZ3N0ciAiJTAyeFx0XHQqaW5jb25udSoiCiAKLSM6IGkzODYtZGlzLmM6MTczMworIzogaTM4Ni1kaXMuYzo5NTQ1CiBtc2dpZCAiPGludGVybmFsIGRpc2Fzc2VtYmxlciBlcnJvcj4iCiBtc2dzdHIgIjxlcnJldXIgaW50ZXJuZSBkdSBk6XNhc3NlbWJsZXVyPiIKIAotIzogaWE2NC1nZW4uYzoyOTcKKyM6IGkzODYtZGlzLmM6OTc3NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVGhlIGZvbGxvd2luZyBpMzg2L3g4Ni02NCBzcGVjaWZpYyBkaXNhc3NlbWJsZXIgb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciB1c2VcbiIKKyJ3aXRoIHRoZSAtTSBzd2l0Y2ggKG11bHRpcGxlIG9wdGlvbnMgc2hvdWxkIGJlIHNlcGFyYXRlZCBieSBjb21tYXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiTGVzIG9wdGlvbnMgc3DpY2lmaXF1ZXMgaTM4Ni94ODYtNjQgZHUgZOlzYXNzZW1ibGV1ciBzb250IHN1cHBvcnTpZXMgYXZlYyBsJ3V0aWxpc2F0aW9uXG4iCisiZGUgbCdvcHRpb24gLU0gKGxlcyBvcHRpb25zIG11bHRpcGxlcyBkb2l2ZW50IOp0cmUgc+lwYXLpZXMgcGFyIGRlcyB2aXJndWxlcyk6XG4iCisKKyM6IGkzODYtZGlzLmM6OTc4MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIHg4Ni02NCAgICAgIERpc2Fzc2VtYmxlIGluIDY0Yml0IG1vZGVcbiIKK21zZ3N0ciAiICB4ODYtNjQgICAgICBE6XNhc3NlbWJsZXIgZW4gbW9kZSA2NCBiaXRzXG4iCisKKyM6IGkzODYtZGlzLmM6OTc4MQorIywgYy1mb3JtYXQKK21zZ2lkICIgIGkzODYgICAgICAgIERpc2Fzc2VtYmxlIGluIDMyYml0IG1vZGVcbiIKK21zZ3N0ciAiICBpMzg2ICAgICAgICBE6XNhc3NlbWJsZXIgZW4gbW9kZSAzMiBiaXRzXG4iCisKKyM6IGkzODYtZGlzLmM6OTc4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIGk4MDg2ICAgICAgIERpc2Fzc2VtYmxlIGluIDE2Yml0IG1vZGVcbiIKK21zZ3N0ciAiICBpODA4NiAgICAgICBE6XNhc3NlbWJsZXIgZW4gbW9kZSAxNiBiaXRzXG4iCisKKyM6IGkzODYtZGlzLmM6OTc4MworIywgYy1mb3JtYXQKK21zZ2lkICIgIGF0dCAgICAgICAgIERpc3BsYXkgaW5zdHJ1Y3Rpb24gaW4gQVQmVCBzeW50YXhcbiIKK21zZ3N0ciAiICBhdHQgICAgICAgICBBZmZpY2hlciBsZXMgaW5zdHJ1Y3Rpb25zIGVuIHN5bnRheGUgQVQmVFxuIgorCisjOiBpMzg2LWRpcy5jOjk3ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBpbnRlbCAgICAgICBEaXNwbGF5IGluc3RydWN0aW9uIGluIEludGVsIHN5bnRheFxuIgorbXNnc3RyICIgIGludGVsICAgICAgIEFmZmljaGVyIGxlcyBpbnN0cnVjdGlvbnMgZW4gc3ludGF4ZSBJbnRlbFxuIgorCisjOiBpMzg2LWRpcy5jOjk3ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgYXR0LW1uZW1vbmljXG4iCisiICAgICAgICAgICAgICBEaXNwbGF5IGluc3RydWN0aW9uIGluIEFUJlQgbW5lbW9uaWNcbiIKK21zZ3N0ciAiIgorIiAgYXR0LW1uZW1vbmljXG4iCisiICAgICAgICAgICAgICBBZmZpY2hlciBsZXMgaW5zdHJ1Y3Rpb25zIG1u6W1vbmlxdWVzIEFUJlRcbiIKKworIzogaTM4Ni1kaXMuYzo5Nzg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgIGludGVsLW1uZW1vbmljXG4iCisiICAgICAgICAgICAgICBEaXNwbGF5IGluc3RydWN0aW9uIGluIEludGVsIG1uZW1vbmljXG4iCittc2dzdHIgIiIKKyIgIGludGVsLW1uZW1vbmljXG4iCisiICAgICAgICAgICAgICBBZmZpY2hlciBsZXMgaW5zdHJ1Y3Rpb25zIG1u6W1vbmlxdWVzIEludGVsXG4iCisKKyM6IGkzODYtZGlzLmM6OTc4OQorIywgYy1mb3JtYXQKK21zZ2lkICIgIGFkZHI2NCAgICAgIEFzc3VtZSA2NGJpdCBhZGRyZXNzIHNpemVcbiIKK21zZ3N0ciAiICBhZGRyNjQgICAgICBUYWlsbGUgZGVzIGFkcmVzc2VzIDogNjQgYml0c1xuIgorCisjOiBpMzg2LWRpcy5jOjk3OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBhZGRyMzIgICAgICBBc3N1bWUgMzJiaXQgYWRkcmVzcyBzaXplXG4iCittc2dzdHIgIiAgYWRkcjMyICAgICAgVGFpbGxlIGRlcyBhZHJlc3NlcyA6IDMyIGJpdHNcbiIKKworIzogaTM4Ni1kaXMuYzo5NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgYWRkcjE2ICAgICAgQXNzdW1lIDE2Yml0IGFkZHJlc3Mgc2l6ZVxuIgorbXNnc3RyICIgIGFkZHIxNiAgICAgIFRhaWxsZSBkZXMgYWRyZXNzZXMgOiAxNiBiaXRzXG4iCisKKyM6IGkzODYtZGlzLmM6OTc5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIGRhdGEzMiAgICAgIEFzc3VtZSAzMmJpdCBkYXRhIHNpemVcbiIKK21zZ3N0ciAiICBkYXRhMzIgICAgICAgVGFpbGxlIGRlIGRvbm7pZXMgOiAzMiBiaXRzXG4iCisKKyM6IGkzODYtZGlzLmM6OTc5MworIywgYy1mb3JtYXQKK21zZ2lkICIgIGRhdGExNiAgICAgIEFzc3VtZSAxNmJpdCBkYXRhIHNpemVcbiIKK21zZ3N0ciAiICBkYXRhMTYgICAgICBUYWlsbGUgZGUgZG9ubullcyA6IDE2IGJpdHNcbiIKKworIzogaTM4Ni1kaXMuYzo5Nzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgc3VmZml4ICAgICAgQWx3YXlzIGRpc3BsYXkgaW5zdHJ1Y3Rpb24gc3VmZml4IGluIEFUJlQgc3ludGF4XG4iCittc2dzdHIgIiAgc3VmZml4ICAgICAgVG91am91cnMgYWZmaWNoZXIgbGVzIHN1ZmZpeGVzIGQnaW5zdHJ1Y3Rpb24gZW4gc3ludGF4ZSBBVCZUXG4iCisKKyM6IGkzODYtZ2VuLmM6NDExIGlhNjQtZ2VuLmM6MzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBFcnJvcjogIgotbXNnc3RyICIlczogRVJSRVVSOiAiCittc2dzdHIgIiVzIDogRVJSRVVSIDogIgogCi0jOiBpYTY0LWdlbi5jOjMxMAorIzogaTM4Ni1nZW4uYzo1MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVkOiBVbmtub3duIGJpdGZpZWxkOiAlc1xuIgorbXNnc3RyICIlczogJWQ6IGNoYW1wIGRlIGJpdHMgaW5jb25udSA6ICVzXG4iCisKKyM6IGkzODYtZ2VuLmM6Njc0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgaTM4Ni1vcGMudGJsIGZvciByZWFkaW5nLCBlcnJubyA9ICVzXG4iCittc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBpMzg2LW9wYy50YmwsIGVycm5vID0gJXNcbiIKKworIzogaTM4Ni1nZW4uYzo4NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBpMzg2LXJlZy50YmwgZm9yIHJlYWRpbmcsIGVycm5vID0gJXNcbiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGkzODYtcmVnLnRibCwgZXJybm8gPSAlc1xuIgorCisjOiBpMzg2LWdlbi5jOjk0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBjcmVhdGUgaTM4Ni1pbml0LmgsIGVycm5vID0gJXNcbiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcullciBpMzg2LWluaXQuaCwgZXJybm8gPSAlc1xuIgorCisjOiBpMzg2LWdlbi5jOjEwMzIgaWE2NC1nZW4uYzoyODUwCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvIFwiJXNcIiwgZXJybm8gPSAlc1xuIgorbXNnc3RyICJpbmNhcGFibGUgZGUgY2hhbmdlciBkZSBy6XBlcnRvaXJlIHZlcnMgXCIlc1wiLCBlcnJubyA9ICVzXG4iCisKKyM6IGkzODYtZ2VuLmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1bnVzZWQgYml0cyBpbiBpMzg2X2NwdV9mbGFncy5cbiIKK21zZ3N0ciAiJWQgYml0cyBpbnV0aWxpc+lzIGRhbnMgaTM4Nl9jcHVfZmxhZ3MuXG4iCisKKyM6IGkzODYtZ2VuLmM6MTA0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1bnVzZWQgYml0cyBpbiBpMzg2X29wZXJhbmRfdHlwZS5cbiIKK21zZ3N0ciAiJWQgYml0cyBpbnV0aWxpc+lzIGRhbnMgaTM4Nl9vcGVyYW5kX3R5cGUuXG4iCisKKyM6IGkzODYtZ2VuLmM6MTA2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBjcmVhdGUgaTM4Ni10YmwuaCwgZXJybm8gPSAlc1xuIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNy6WVyIGkzODYtdGJsLmgsIGVycm5vID0gJXNcbiIKKworIzogaWE2NC1nZW4uYzozMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFdhcm5pbmc6ICIKLW1zZ3N0ciAiJXM6IEFWRVJUSVNTRU1FTlQ6ICIKK21zZ3N0ciAiJXMgOiBBVkVSVElTU0VNRU5UIDogIgogCi0jOiBpYTY0LWdlbi5jOjQ5NiBpYTY0LWdlbi5jOjczMAorIzogaWE2NC1nZW4uYzo1MDYgaWE2NC1nZW4uYzo3NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAibXVsdGlwbGUgbm90ZSAlcyBub3QgaGFuZGxlZFxuIgotbXNnc3RyICJub3RlIG11bHRpcGxlICVzIG4nZXN0IHBhcyB0cmFpdOllXG4iCittc2dzdHIgIm5vdGUgbXVsdGlwbGUgJXMgbm9uIGfpcullXG4iCiAKLSM6IGlhNjQtZ2VuLmM6NjA3CisjOiBpYTY0LWdlbi5jOjYxNwogbXNnaWQgImNhbid0IGZpbmQgaWE2NC1pYy50YmwgZm9yIHJlYWRpbmdcbiIKLW1zZ3N0ciAibmUgcGV1dCB0cm91dmVyIGlhNjQtaWMudGJsIHBvdXIgbGEgbGVjdHVyZVxuIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgaWE2NC1pYy50YmwgcG91ciBsYSBsZWN0dXJlXG4iCiAKLSM6IGlhNjQtZ2VuLmM6ODEyCisjOiBpYTY0LWdlbi5jOjgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBmaW5kICVzIGZvciByZWFkaW5nXG4iCi1tc2dzdHIgIm5lIHBldXQgdHJvdXZlciAlcyBwb3VyIGxhIGxlY3R1cmVcbiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0cm91dmVyICVzIHBvdXIgbGEgbGVjdHVyZVxuIgogCi0jOiBpYTY0LWdlbi5jOjEwMzYKKyM6IGlhNjQtZ2VuLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibW9zdCByZWNlbnQgZm9ybWF0ICclcydcbiIKQEAgLTI3NSwyMDEgKzU0MiwyNzcgQEAKICJsZSBwbHVzIHLpY2VudCBmb3JtYXQgJyVzJ1xuIgogImFwcGFyYe50IHBsdXMgcmVzdHJpY3RpZiBxdWUgJyVzJ1xuIgogCi0jOiBpYTY0LWdlbi5jOjEwNDcKKyM6IGlhNjQtZ2VuLmM6MTA1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJvdmVybGFwcGluZyBmaWVsZCAlcy0+JXNcbiIKIG1zZ3N0ciAiY2hldmF1Y2hlbWVudCBkZSBjaGFtcCAlcy0+JXNcbiIKIAotIzogaWE2NC1nZW4uYzoxMjQ0CisjOiBpYTY0LWdlbi5jOjEyNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAib3ZlcndyaXRpbmcgbm90ZSAlZCB3aXRoIG5vdGUgJWQgKElDOiVzKVxuIgotbXNnc3RyICJzdXIt6WNyaXR1cmUgZGUgbGEgbm90ZSAlZCBhdmVjIGxhIG5vdGUgJWQgKElDOiVzKVxuIgorbXNnc3RyICLpY3Jhc2VtZW50IGRlIGxhIG5vdGUgJWQgcGFyIGxhIG5vdGUgJWQgKElDIDolcylcbiIKIAotIzogaWE2NC1nZW4uYzoxNDQzCisjOiBpYTY0LWdlbi5jOjE0NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uJ3Qga25vdyBob3cgdG8gc3BlY2lmeSAlJSBkZXBlbmRlbmN5ICVzXG4iCi1tc2dzdHIgIm5lIHNhaXQgY29tbWVudCBzcOljaWZpZXIgJSUgcG91ciBsYSBk6XBlbmRhbmNlICVzXG4iCittc2dzdHIgIkNvbW1lbnQgc3DpY2lmaWVyICUlIHBvdXIgbGEgZOlwZW5kYW5jZSAlcyA/XG4iCiAKLSM6IGlhNjQtZ2VuLmM6MTQ2NQorIzogaWE2NC1nZW4uYzoxNDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIHNwZWNpZnkgIyBkZXBlbmRlbmN5ICVzXG4iCi1tc2dzdHIgIk5lIHNhaXQgY29tbWVudCBzcOljaWZpZXIgIyBwb3VyIGxhIGTpcGVuZGVuY2UgJXNcbiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzcOljaWZpZXIgbGUgbrAgZGUgZOlwZW5kYW5jZSAlc1xuIgogCi0jOiBpYTY0LWdlbi5jOjE1MDQKKyM6IGlhNjQtZ2VuLmM6MTUyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJJQzolcyBbJXNdIGhhcyBubyB0ZXJtaW5hbHMgb3Igc3ViLWNsYXNzZXNcbiIKLW1zZ3N0ciAiSUM6JXMgWyVzXSBuJ2EgcGFzIGRlIHRlcm1pbmFscyBvdSBkZSBzb3VzLWNsYXNzZXNcbiIKK21zZ3N0ciAiSUMgOiVzIFslc10gbidhIHBhcyBkZSB0ZXJtaW5hbCBvdSBkZSBzb3VzLWNsYXNzZVxuIgogCi0jOiBpYTY0LWdlbi5jOjE1MDcKKyM6IGlhNjQtZ2VuLmM6MTUyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJJQzolcyBoYXMgbm8gdGVybWluYWxzIG9yIHN1Yi1jbGFzc2VzXG4iCi1tc2dzdHIgIklDOiVzIG4nYSBwYXMgZGUgdGVybWluYWxzIG91IGRlIHNvdXMtY2xhc3Nlc1xuIgorbXNnc3RyICJJQyA6JXMgbidhIHBhcyBkZSB0ZXJtaW5hbCBvdSBkZSBzb3VzLWNsYXNzZVxuIgogCi0jOiBpYTY0LWdlbi5jOjE1MTYKKyM6IGlhNjQtZ2VuLmM6MTUzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBpbnNucyBtYXBwZWQgZGlyZWN0bHkgdG8gdGVybWluYWwgSUMgJXMgWyVzXSIKLW1zZ3N0ciAiYXVjdW4gaW5zbnMgbWFwcOkgZGlyZWN0ZW1lbnQgYXUgdGVybWluYWwgSUMgJXMgWyVzXSIKK21zZ3N0ciAiYXVjdW4gaW5zdHJ1Y3Rpb24gbWFwcOllIGRpcmVjdGVtZW50IOAgbCdVQyAlcyBbJXNdIgogCi0jOiBpYTY0LWdlbi5jOjE1MTkKKyM6IGlhNjQtZ2VuLmM6MTUzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBpbnNucyBtYXBwZWQgZGlyZWN0bHkgdG8gdGVybWluYWwgSUMgJXNcbiIKLW1zZ3N0ciAiYXVjdW4gaW5zbnMgbWFwcOkgZGlyZWN0ZW1lbnQgYXUgdGVybWluYWwgSUMgJXNcbiIKK21zZ3N0ciAiYXVjdW4gaW5zdHJ1Y3Rpb24gbWFwcOllIGRpcmVjdGVtZW50IOAgbCdVQyAlc1xuIgogCi0jOiBpYTY0LWdlbi5jOjE1MzAKKyM6IGlhNjQtZ2VuLmM6MTU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjbGFzcyAlcyBpcyBkZWZpbmVkIGJ1dCBub3QgdXNlZFxuIgotbXNnc3RyICJjbGFzc2UgJXMgZOlmaW5pIG1haXMgbm9uIHV0aWxpc+llXG4iCittc2dzdHIgImNsYXNzZSAlcyBk6WZpbmllIG1haXMgbm9uIHV0aWxpc+llXG4iCiAKLSM6IGlhNjQtZ2VuLmM6MTU0MQorIzogaWE2NC1nZW4uYzoxNTU5CiAjLCBjLWZvcm1hdAotbXNnaWQgIldhcm5pbmc6IHJzcmMgJXMgKCVzKSBoYXMgbm8gY2hrcyVzXG4iCi1tc2dzdHIgIkFWRVJUSVNTRU1FTlQ6IHJzcmMgJXMgKCVzKSBuJ2EgcGFzIGRlIGNoa3Mlc1xuIgorbXNnaWQgIldhcm5pbmc6IHJzcmMgJXMgKCVzKSBoYXMgbm8gY2hrc1xuIgorbXNnc3RyICJBdHRlbnRpb24gOiByZWcuIHNvdXJjZSAlcyAoJXMpIHNhbnMgc+lsZWN0ZXVyIFwiY2hrc1wiXG4iCiAKLSM6IGlhNjQtZ2VuLmM6MTU0NQorIzogaWE2NC1nZW4uYzoxNTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IHJzcmMgJXMgKCVzKSBoYXMgbm8gY2hrcyBvciByZWdzXG4iCittc2dzdHIgIkF0dGVudGlvbiA6IHJlZy4gc291cmNlICVzICglcykgc2FucyBz6WxlY3RldXIgXCJjaGtzXCIgb3UgXCJyZWdzXCJcbiIKKworIzogaWE2NC1nZW4uYzoxNTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJzcmMgJXMgKCVzKSBoYXMgbm8gcmVnc1xuIgogbXNnc3RyICJyc3JjICVzICglcykgbidhIHBhcyBkZSByZWdpc3RyZXNcbiIKIAotIzogaWE2NC1nZW4uYzoyNDQ0CisjOiBpYTY0LWdlbi5jOjI0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSUMgbm90ZSAlZCBpbiBvcGNvZGUgJXMgKElDOiVzKSBjb25mbGljdHMgd2l0aCByZXNvdXJjZSAlcyBub3RlICVkXG4iCi1tc2dzdHIgIklDIG5vdGUgJWQgZGFucyBsJ29wY29kZSAlcyAoSUM6JXMpIGVudHJlIGVuIGNvbmZsaXQgYXZlYyBsYSByZXNzb3VyY2UgJXMgbm90ZSAlZFxuIgorbXNnc3RyICJub3RlIElDICVkIGRhbnMgbCdvcGNvZGUgJXMgKElDIDogJXMpIGVudHJhbnQgZW4gY29uZmxpdCBhdmVjIGxhIHJlc3NvdXJjZSAlcyBub3RlICVkXG4iCiAKLSM6IGlhNjQtZ2VuLmM6MjQ3MgorIzogaWE2NC1nZW4uYzoyNTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIklDIG5vdGUgJWQgZm9yIG9wY29kZSAlcyAoSUM6JXMpIGNvbmZsaWN0cyB3aXRoIHJlc291cmNlICVzIG5vdGUgJWRcbiIKLW1zZ3N0ciAiSUMgbm90ZSAlZCBwb3VyIGwnb3Bjb2RlICVzIChJQzolcykgZW50cmUgZW4gY29uZmxpdCBhdmVjIGxhIHJlc3NvdXJjZSAlcyBub3RlICVkXG4iCittc2dzdHIgIm5vdGUgSUMgJWQgcG91ciBsJ29wY29kZSAlcyAoSUMgOiAlcykgZW50cmFudCBlbiBjb25mbGl0IGF2ZWMgbGEgcmVzc291cmNlICVzIG5vdGUgJWRcbiIKIAotIzogaWE2NC1nZW4uYzoyNDg2CisjOiBpYTY0LWdlbi5jOjI1MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAib3Bjb2RlICVzIGhhcyBubyBjbGFzcyAob3BzICVkICVkICVkKVxuIgotbXNnc3RyICJvcGNvZGUgJXMgbidhIHBhcyBkZSBjbGFzc2UgKG9wcyAlZCAlZCAlZClcbiIKLQotIzogaWE2NC1nZW4uYzoyODE2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvIFwiJXNcIiwgZXJybm8gPSAlc1xuIgotbXNnc3RyICJpbmNhcGFibGUgZGUgY2hhbmdlciBkZSBy6XBlcnRvaXJlIHZlcnMgXCIlc1wiLCBlcnJubyA9ICVzXG4iCittc2dzdHIgIkwnb3Bjb2RlICVzIG4nYSBwYXMgZGUgY2xhc3NlIChvcHMgJWQgJWQgJWQpXG4iCiAKICMuIFdlJ3ZlIGJlZW4gcGFzc2VkIGEgdy4gIFJldHVybiB3aXRoIGFuIGVycm9yIG1lc3NhZ2Ugc28gdGhhdAogIy4gY2dlbiB3aWxsIHRyeSB0aGUgbmV4dCBwYXJzaW5nIG9wdGlvbi4KLSM6IGlwMmstYXNtLmM6OTIKKyM6IGlwMmstYXNtLmM6ODEKIG1zZ2lkICJXIGtleXdvcmQgaW52YWxpZCBpbiBGUiBvcGVyYW5kIHNsb3QuIgotbXNnc3RyICJXIG1vdCBjbOkgaW52YWxpZGUgZGFucyBsYSBzbG90IGRlIGwnb3DpcmFuY2UgRlIuIgorbXNnc3RyICJtb3QgY2zpIFcgbm9uIHZhbGlkZSBkYW5zIGxlIHNsb3QgZGUgbCdvcOlyYW5kZSBGUi4iCiAKICMuIEludmFsaWQgb2Zmc2V0IHByZXNlbnQuCi0jOiBpcDJrLWFzbS5jOjExNworIzogaXAyay1hc20uYzoxMDYKIG1zZ2lkICJvZmZzZXQoSVApIGlzIG5vdCBhIHZhbGlkIGZvcm0iCi1tc2dzdHIgImTpY2FsYWdlKElQKSBuJ2EgcGFzIHVuIGZvcm1hdCB2YWxpZGUiCittc2dzdHIgImTpY2FsYWdlKElQKSBkZSBmb3JtYXQgbm9uIHZhbGlkZSIKIAogIy4gRm91bmQgc29tZXRoaW5nIHRoZXJlIGluIGZyb250IG9mIChEUCkgYnV0IGl0J3Mgb3V0CiAjLiBvZiByYW5nZS4KLSM6IGlwMmstYXNtLmM6MTY1CisjOiBpcDJrLWFzbS5jOjE1NAogbXNnaWQgIihEUCkgb2Zmc2V0IG91dCBvZiByYW5nZS4iCi1tc2dzdHIgImTpY2FsYWdlIChEUCkgZXN0IGhvcnMgbGltaXRlLiIKK21zZ3N0ciAiZOljYWxhZ2UgKERQKSBlc3QgaG9ycyBsaW1pdGVzLiIKIAogIy4gRm91bmQgc29tZXRoaW5nIHRoZXJlIGluIGZyb250IG9mIChTUCkgYnV0IGl0J3Mgb3V0CiAjLiBvZiByYW5nZS4KLSM6IGlwMmstYXNtLmM6MjA2CisjOiBpcDJrLWFzbS5jOjE5NQogbXNnaWQgIihTUCkgb2Zmc2V0IG91dCBvZiByYW5nZS4iCi1tc2dzdHIgImTpY2FsYWdlIChTUCkgZXN0IGhvcnMgbGltaXRlLiIKK21zZ3N0ciAiZOljYWxhZ2UgKFNQKSBlc3QgaG9ycyBsaW1pdGVzLiIKIAotIzogaXAyay1hc20uYzoyMjIKKyM6IGlwMmstYXNtLmM6MjExCiBtc2dpZCAiaWxsZWdhbCB1c2Ugb2YgcGFyZW50aGVzZXMiCiBtc2dzdHIgInVzYWdlIGlsbOlnYWwgZGVzIHBhcmVudGjoc2VzIgogCi0jOiBpcDJrLWFzbS5jOjIyOQorIzogaXAyay1hc20uYzoyMTgKIG1zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSAobm90IGJldHdlZW4gMSBhbmQgMjU1KSIKLW1zZ3N0ciAib3DpcmFuZGUgaG9ycyBsaW1pdGUgKG4nZXN0IHBhcyBlbnRyZSAxIGV0IDI1NSkiCittc2dzdHIgIm9w6XJhbmRlIGhvcnMgbGltaXRlcyAocGFzIGVudHJlIDEgZXQgMjU1KSIKIAogIy4gU29tZXRoaW5nIGlzIHZlcnkgd3JvbmcuIG9waW5kZXggaGFzIHRvIGJlIG9uZSBvZiB0aGUgYWJvdmUuCi0jOiBpcDJrLWFzbS5jOjI1NAorIzogaXAyay1hc20uYzoyNDIKIG1zZ2lkICJwYXJzZV9hZGRyMTY6IGludmFsaWQgb3BpbmRleC4iCi1tc2dzdHIgInBhcnNlX2FkZHIxNjogb3BpbmRleCBpbnZhbGlkZS4iCittc2dzdHIgInBhcnNlX2FkZHIxNiA6IG9waW5kZXggbm9uIHZhbGlkZS4iCiAKLSM6IGlwMmstYXNtLmM6MzA5CisjOiBpcDJrLWFzbS5jOjI5NgogbXNnaWQgIkJ5dGUgYWRkcmVzcyByZXF1aXJlZC4gLSBtdXN0IGJlIGV2ZW4uIgotbXNnc3RyICJhZHJlc3NlIGQnb2N0ZXQgcmVxdWlzZSAtIGRvaXQg6nRyZSBwYWlyZS4iCittc2dzdHIgIkFkcmVzc2UgZCdvY3RldCByZXF1aXNlIC0gZG9pdCDqdHJlIHBhaXJlLiIKIAotIzogaXAyay1hc20uYzozMTgKKyM6IGlwMmstYXNtLmM6MzA1CiBtc2dpZCAiY2dlbl9wYXJzZV9hZGRyZXNzIHJldHVybmVkIGEgc3ltYm9sLiBMaXRlcmFsIHJlcXVpcmVkLiIKLW1zZ3N0ciAiY2dlbl9wYXJzZV9hZGRyZXNzIGEgcmV0b3VybukgdW4gc3ltYm9sZS4gTGl06XJhbCByZXF1aXMuIgorbXNnc3RyICJjZ2VuX3BhcnNlX2FkZHJlc3MgYSByZXRvdXJu6SB1biBzeW1ib2xlLiBMaXR06XJhbCByZXF1aXMuIgogCi0jOiBpcDJrLWFzbS5jOjM3NgotIywgYy1mb3JtYXQKLW1zZ2lkICIlb3BlcmF0b3Igb3BlcmFuZCBpcyBub3QgYSBzeW1ib2wiCi1tc2dzdHIgIm9w6XJhbmRlIGRlIGwnJW9w6XJhdGV1ciBuJ2VzdCBwYXMgdW4gc3ltYm9sZSIKKyM6IGlwMmstYXNtLmM6MzYwCittc2dpZCAicGVyY2VudC1vcGVyYXRvciBvcGVyYW5kIGlzIG5vdCBhIHN5bWJvbCIKK21zZ3N0ciAiTCdvcOlyYW5kZSBkZSBsJ29w6XJhdGV1ciAlIG4nZXN0IHBhcyB1biBzeW1ib2xlIgogCi0jOiBpcDJrLWFzbS5jOjQzMAorIzogaXAyay1hc20uYzo0MTMKIG1zZ2lkICJBdHRlbXB0IHRvIGZpbmQgYml0IGluZGV4IG9mIDAiCiBtc2dzdHIgIlRlbnRhdGl2ZSBkZSByZXDpcmFnZSBkJ3VuIGluZGV4IGRlIGJpdCBkZSAwIgogCi0jOiBpcTIwMDAtYXNtLmM6MTE1IGlxMjAwMC1hc20uYzoxNDYKKyM6IGlxMjAwMC1hc20uYzoxMTIgaXEyMDAwLWFzbS5jOjE0MgogbXNnaWQgImltbWVkaWF0ZSB2YWx1ZSBjYW5ub3QgYmUgcmVnaXN0ZXIiCi1tc2dzdHIgInZhbGV1ciBpbW3pZGlhdGUgZG9pdCDqdHJlIHVuIHJlZ2lzdHJlIgorbXNnc3RyICJMYSB2YWxldXIgaW1t6WRpYXRlIG5lIGRvaXQgcGFzIOp0cmUgdW4gcmVnaXN0cmUiCiAKLSM6IGlxMjAwMC1hc20uYzoxMjYgaXEyMDAwLWFzbS5jOjE1NgorIzogaXEyMDAwLWFzbS5jOjEyMyBpcTIwMDAtYXNtLmM6MTUzCiBtc2dpZCAiaW1tZWRpYXRlIHZhbHVlIG91dCBvZiByYW5nZSIKLW1zZ3N0ciAidmFsZXVyIGltbelkaWF0ZSBlc3QgaG9ycyBsaW1pdGUiCittc2dzdHIgInZhbGV1ciBpbW3pZGlhdGUgaG9ycyBsaW1pdGVzIgogCi0jOiBpcTIwMDAtYXNtLmM6MTg1CisjOiBpcTIwMDAtYXNtLmM6MTgyCiBtc2dpZCAiMjEtYml0IG9mZnNldCBvdXQgb2YgcmFuZ2UiCi1tc2dzdHIgImTpY2FsYWdlIGRlIDIxIGJpdHMgZXN0IGhvcnMgbGltaXRlIgorbXNnc3RyICJk6WNhbGFnZSBkZSAyMSBiaXRzIGhvcnMgbGltaXRlcyIKIAotIzogaXEyMDAwLWFzbS5jOjIxMCBpcTIwMDAtYXNtLmM6MjQwIGlxMjAwMC1hc20uYzoyNzcgaXEyMDAwLWFzbS5jOjMxMAotIzogb3BlbnJpc2MtYXNtLmM6OTAgb3BlbnJpc2MtYXNtLmM6MTQ0Ci1tc2dpZCAibWlzc2luZyBgKSciCi1tc2dzdHIgImApJyBtYW5xdWFudGUiCi0KLSM6IG0xMDIwMC1kaXMuYzoxOTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5rbm93blx0MHglMDJ4IgotbXNnc3RyICJpbmNvbm51XHQweCUwMngiCi0KLSM6IG0xMDIwMC1kaXMuYzozMzkKKyM6IG0xMDIwMC1kaXMuYzoxNTggbTEwMzAwLWRpcy5jOjU4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duXHQweCUwNGx4IgogbXNnc3RyICJpbmNvbm51XHQweCUwNGx4IgogCi0jOiBtMTAzMDAtZGlzLmM6NzY3CisjOiBtMTAyMDAtZGlzLmM6MzI4CiAjLCBjLWZvcm1hdAotbXNnaWQgInVua25vd25cdDB4JTA0eCIKLW1zZ3N0ciAiaW5jb25udVx0MHglMDR4IgorbXNnaWQgInVua25vd25cdDB4JTAybHgiCittc2dzdHIgImluY29ubnVcdDB4JTAybHgiCiAKLSM6IG02OGstZGlzLmM6Mjk1CisjOiBtMzJjLWFzbS5jOjExNworbXNnaWQgImltbTo2IGltbWVkaWF0ZSBpcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgInZhbGV1ciBpbW3pZGlhdGUgaW1tOjYgaG9ycyBsaW1pdGVzIgorCisjOiBtMzJjLWFzbS5jOjE0NwogIywgYy1mb3JtYXQKLW1zZ2lkICI8aW50ZXJuYWwgZXJyb3IgaW4gb3Bjb2RlIHRhYmxlOiAlcyAlcz5cbiIKLW1zZ3N0ciAiPGVycmV1ciBpbnRlcm5lIGRhbnMgbGEgdGFibGUgZGVzIGNvZGVzLW9wOiAlcyAlcz5cbiIKK21zZ2lkICIlZHNwOCgpIHRha2VzIGEgc3ltYm9saWMgYWRkcmVzcywgbm90IGEgbnVtYmVyIgorbXNnc3RyICIlZHNwOCgpIHByZW5kIHVuZSBhZHJlc3NlIHN5bWJvbGlxdWUsIHBhcyB1biBub21icmUiCiAKLSM6IG02OGstZGlzLmM6MTA4OQorIzogbTMyYy1hc20uYzoxNjAgbTMyYy1hc20uYzoxNjQgbTMyYy1hc20uYzoyNTUKK21zZ2lkICJkc3A6OCBpbW1lZGlhdGUgaXMgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJ2YWxldXIgaW1t6WRpYXRlIGRzcDo4IGhvcnMgbGltaXRlcyIKKworIzogbTMyYy1hc20uYzoxODUgbTMyYy1hc20uYzoxODkKK21zZ2lkICJJbW1lZGlhdGUgaXMgb3V0IG9mIHJhbmdlIC04IHRvIDciCittc2dzdHIgIlZhbGV1ciBpbW3pZGlhdGUgaG9ycyBsaW1pc3RlcyAoLTgg4CA3KSIKKworIzogbTMyYy1hc20uYzoyMTAgbTMyYy1hc20uYzoyMTQKK21zZ2lkICJJbW1lZGlhdGUgaXMgb3V0IG9mIHJhbmdlIC03IHRvIDgiCittc2dzdHIgIlZhbGV1ciBpbW3pZGlhdGUgaG9ycyBsaW1pdGVzICgtNyDgIDgpIgorCisjOiBtMzJjLWFzbS5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlZHNwMTYoKSB0YWtlcyBhIHN5bWJvbGljIGFkZHJlc3MsIG5vdCBhIG51bWJlciIKK21zZ3N0ciAiJWRzcDE2KCkgcHJlbmQgdW5lIGFkcmVzc2Ugc3ltYm9saXF1ZSwgcGFzIHVuIG5vbWJyZSIKKworIzogbTMyYy1hc20uYzozMDggbTMyYy1hc20uYzozMTUgbTMyYy1hc20uYzozNzgKK21zZ2lkICJkc3A6MTYgaW1tZWRpYXRlIGlzIG91dCBvZiByYW5nZSIKK21zZ3N0ciAidmFsZXVyIGltbelkaWF0ZSBkc3A6MTYgaG9ycyBsaW1pdGVzIgorCisjOiBtMzJjLWFzbS5jOjQwNAorbXNnaWQgImRzcDoyMCBpbW1lZGlhdGUgaXMgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJ2YWxldXIgaW1t6WRpYXRlIGRzcDoyMCBob3JzIGxpbWl0ZXMiCisKKyM6IG0zMmMtYXNtLmM6NDMwIG0zMmMtYXNtLmM6NDUwCittc2dpZCAiZHNwOjI0IGltbWVkaWF0ZSBpcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgInZhbGV1ciBpbW3pZGlhdGUgZHNwOjI0IGhvcnMgbGltaXRlcyIKKworIzogbTMyYy1hc20uYzo0ODMKK21zZ2lkICJpbW1lZGlhdGUgaXMgb3V0IG9mIHJhbmdlIDEtMiIKK21zZ3N0ciAidmFsZXVyIGltbelkaWF0ZSBob3JzIGxpbWl0ZXMgMS0yIgorCisjOiBtMzJjLWFzbS5jOjUwMQorbXNnaWQgImltbWVkaWF0ZSBpcyBvdXQgb2YgcmFuZ2UgMS04IgorbXNnc3RyICJ2YWxldXIgaW1t6WRpYXRlIGhvcnMgbGltaXRlcyAxLTgiCisKKyM6IG0zMmMtYXNtLmM6NTE5Cittc2dpZCAiaW1tZWRpYXRlIGlzIG91dCBvZiByYW5nZSAwLTciCittc2dzdHIgInZhbGV1ciBpbW3pZGlhdGUgaG9ycyBsaW1pdGVzIDAtNyIKKworIzogbTMyYy1hc20uYzo1NTUKK21zZ2lkICJpbW1lZGlhdGUgaXMgb3V0IG9mIHJhbmdlIDItOSIKK21zZ3N0ciAidmFsZXVyIGltbelkaWF0ZSBob3JzIGxpbWl0ZXMgMi05IgorCisjOiBtMzJjLWFzbS5jOjU3MworbXNnaWQgIkJpdCBudW1iZXIgZm9yIGluZGV4aW5nIGdlbmVyYWwgcmVnaXN0ZXIgaXMgb3V0IG9mIHJhbmdlIDAtMTUiCittc2dzdHIgIkJpdHMgcG91ciBpbmRleGVyIGxlcyByZWdpc3RyZXMgZ+lu6XJhdXggaG9ycyBsaW1pdGVzICgwLTE1KSIKKworIzogbTMyYy1hc20uYzo2MTEgbTMyYy1hc20uYzo2NjcKK21zZ2lkICJiaXQsYmFzZSBpcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgImJpdCxiYXNlIGhvcnMgZGVzIGxpbWl0ZXMiCisKKyM6IG0zMmMtYXNtLmM6NjE4IG0zMmMtYXNtLmM6NjIzIG0zMmMtYXNtLmM6NjcxCittc2dpZCAiYml0LGJhc2Ugb3V0IG9mIHJhbmdlIGZvciBzeW1ib2wiCittc2dzdHIgImJpdCxiYXNlIGhvcnMgZGVzIGxpbWl0ZXMgcG91ciB1biBzeW1ib2xlIgorCisjOiBtMzJjLWFzbS5jOjgwNworbXNnaWQgIm5vdCBhIHZhbGlkIHIwbC9yMGggcGFpciIKK21zZ3N0ciAiY291cGxlIHIwbC9yMGggbm9uIHZhbGlkZSIKKworIzogbTMyYy1hc20uYzo4MzcKK21zZ2lkICJJbnZhbGlkIHNpemUgc3BlY2lmaWVyIgorbXNnc3RyICJTcOljaWZpZXVyIGRlIHRhaWxsZSBub24gdmFsaWRlIgorCisjOiBtNjhrLWRpcy5jOjExNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiPGZ1bmN0aW9uIGNvZGUgJWQ+IgogbXNnc3RyICI8Y29kZSBkZSBmb25jdGlvbiAlZD4iCiAKLSM6IG04OGstZGlzLmM6NzQ2CisjOiBtNjhrLWRpcy5jOjEzMjAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiIyA8ZGlzIGVycm9yOiAlMDh4PiIKLW1zZ3N0ciAiIyA8ZXJyZXVyIGR1IGTpc2Fzc2VtYmxldXI6ICUwOHg+IgorbXNnaWQgIjxpbnRlcm5hbCBlcnJvciBpbiBvcGNvZGUgdGFibGU6ICVzICVzPlxuIgorbXNnc3RyICI8ZXJyZXVyIGludGVybmUgZGFucyBsYSB0YWJsZSBkZXMgb3Bjb2RlcyA6ICVzICVzPlxuIgogCi0jOiBtaXBzLWRpcy5jOjcyMAorIzogbTg4ay1kaXMuYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyA8ZGlzIGVycm9yOiAlMDhseD4iCittc2dzdHIgIiMgPGVycmV1ciBk6XNhc3NlbWJsYWdlIDogJTA4bHg+IgorCisjOiBtZXAtYXNtLmM6MTE0Cittc2dpZCAiT25seSAkdHAgb3IgJDEzIGFsbG93ZWQgZm9yIHRoaXMgb3Bjb2RlIgorbXNnc3RyICJTZXVscyAkdHAgb3UgJDEzIHNvbnQgYXV0b3Jpc+lzIGF2ZWMgY2V0IG9wY29kZSIKKworIzogbWVwLWFzbS5jOjEyOAorbXNnaWQgIk9ubHkgJHNwIG9yICQxNSBhbGxvd2VkIGZvciB0aGlzIG9wY29kZSIKK21zZ3N0ciAiU2V1bHMgJHNwIG91ICQxNSBzb250IGF1dG9yaXPpcyBhdmVjIGNldCBvcGNvZGUiCisKKyM6IG1lcC1hc20uYzoyOTkgbWVwLWFzbS5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkICVmdW5jdGlvbigpIGhlcmUiCittc2dzdHIgIiVmdW5jdGlvbigpIG5vbiB2YWxpZGUgaWNpIgorCisjOiBtaXBzLWRpcy5jOjc4MQogbXNnaWQgIiMgaW50ZXJuYWwgZXJyb3IsIGluY29tcGxldGUgZXh0ZW5zaW9uIHNlcXVlbmNlICgrKSIKIG1zZ3N0ciAiIyBlcnJldXIgaW50ZXJuZSwgc+lxdWVuY2UgZCdleHRlbnNpb24gaW5jb21wbOh0ZSAoKykiCiAKLSM6IG1pcHMtZGlzLmM6Nzc5CisjOiBtaXBzLWRpcy5jOjkxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIjIGludGVybmFsIGVycm9yLCB1bmRlZmluZWQgZXh0ZW5zaW9uIHNlcXVlbmNlICgrJWMpIgogbXNnc3RyICIjIGVycmV1ciBpbnRlcm5lLCBz6XF1ZW5jZSBkJ2V4dGVuc2lvbiBpbmTpZmluaWUgKCslYykiCiAKLSM6IG1pcHMtZGlzLmM6MTAzNworIzogbWlwcy1kaXMuYzoxMjc0CiAjLCBjLWZvcm1hdAotbXNnaWQgIiMgaW50ZXJuYWwgZXJyb3IsIHVuZGVmaW5lZCBtb2RpZmllciglYykiCi1tc2dzdHIgIiMgZXJyZXVyIGludGVybmUsIG1vZGlmaWNhdGV1ciBub24gZOlmaW5pKCVjKSIKK21zZ2lkICIjIGludGVybmFsIGVycm9yLCB1bmRlZmluZWQgbW9kaWZpZXIgKCVjKSIKK21zZ3N0ciAiIyBlcnJldXIgaW50ZXJuZSwgbW9kaWZpY2F0ZXVyIG5vbiBk6WZpbmkgKCVjKSIKIAotIzogbWlwcy1kaXMuYzoxNzkzCisjOiBtaXBzLWRpcy5jOjE4ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIyBpbnRlcm5hbCBkaXNhc3NlbWJsZXIgZXJyb3IsIHVucmVjb2duaXNlZCBtb2RpZmllciAoJWMpIgotbXNnc3RyICIjIGVycmV1ciBpbnRlcm5lIGR1IGTpc3Nhc3NlbWJsZXVyLCBtb2RpZmljYXRldXIgbm9uIHJlY29ubnUoJWMpIgorbXNnc3RyICIjIGVycmV1ciBpbnRlcm5lIGR1IGTpc2Fzc2VtYmxldXIsIG1vZGlmaWNhdGV1ciBub24gcmVjb25udSAoJWMpIgogCi0jOiBtaXBzLWRpcy5jOjE4MDUKKyM6IG1pcHMtZGlzLmM6MjExMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC00ODAsNyArODIzLDcgQEAKICJMZXMgb3B0aW9ucyBzcOljaWZpcXVlcyBNSVBTIGR1IGTpc2Fzc2VtYmxldXIgc29udCBzdXBwb3J06WVzIGF2ZWMgbCd1dGlsaXNhdGlvbiBkZVxuIgogImwnb3B0aW9uIC1NIChsZXMgb3B0aW9ucyBtdWx0aXBsZXMgZG9pdmVudCDqdHJlIHPpcGFy6WVzIHBhciBkZXMgdmlyZ3VsZXMpOlxuIgogCi0jOiBtaXBzLWRpcy5jOjE4MDkKKyM6IG1pcHMtZGlzLmM6MjExNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC00ODksOSArODMyLDkgQEAKIG1zZ3N0ciAiIgogIlxuIgogIiAgZ3ByLW5hbWVzPUFCSSAgICAgICAgICAgIEFmZmljaGVyIGxlcyBub21zIEdQUiBzZWxvbiBsJ0FCSSBzcOljaWZp6S5cbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXIgZOlmYXV0OiBiYXPpIHN1ciBsZSBiaW5haXJlIGTpYXNzZW1ibOkuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFyIGTpZmF1dCA6IGJhc+kgc3VyIGxlIGJpbmFpcmUgZOlzYXNzZW1ibOkuXG4iCiAKLSM6IG1pcHMtZGlzLmM6MTgxMworIzogbWlwcy1kaXMuYzoyMTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTUwMCw5ICs4NDMsOSBAQAogbXNnc3RyICIiCiAiXG4iCiAiICBmcHItbmFtZXM9QUJJICAgICAgICAgICAgQWZmaWNoZXIgbGVzIG5vbXMgRlBSIHNlbG9uIGwnQUJJIHNw6WNpZmnpLlxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhciBk6WZhdXQ6IG51belyaXF1ZS5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXIgZOlmYXV0IDogbnVt6XJpcXVlLlxuIgogCi0jOiBtaXBzLWRpcy5jOjE4MTcKKyM6IG1pcHMtZGlzLmM6MjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC01MTMsOSArODU2LDkgQEAKICJcbiIKICIgIGNwMC1uYW1lcz1BUkNIICAgICAgICAgICBBZmZpY2hlciBsZXMgbm9tcyBkZXMgcmVnaXN0cmVzIENQMCBzZWxvblxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGwnYXJjaGl0ZWN0dXJlIHNw6WNpZmnpZS5cbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXIgZOlmYXV0OiBiYXPpIHN1ciBsZSBiaW5haXJlIGTpYXNzZW1ibOkuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFyIGTpZmF1dCA6IGJhc+kgc3VyIGxlIGJpbmFpcmUgZOlzYXNzZW1ibOkuXG4iCiAKLSM6IG1pcHMtZGlzLmM6MTgyMgorIzogbWlwcy1kaXMuYzoyMTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTUyNiw5ICs4NjksOSBAQAogIlxuIgogIiAgaHdyLW5hbWVzPUFSQ0ggICAgICAgICAgIEFmZmljaGVyIGxlcyBub21zIEhXUiBzZWxvbiAgXG4iCiAiXHRcdFx0ICAgbCdhcmNoaXRlY3R1cmUgc3DpY2lmaellLlxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhciBk6WZhdXQ6IGJhc+kgc3VyIGxlIGJpbmFpcmUgZOlhc3NlbWJs6S5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXIgZOlmYXV0IDogYmFz6SBzdXIgbGUgYmluYWlyZSBk6XNhc3NlbWJs6S5cbiIKIAotIzogbWlwcy1kaXMuYzoxODI3CisjOiBtaXBzLWRpcy5jOjIxMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNTM5LDcgKzg4Miw3IEBACiAiICByZWctbmFtZXM9QUJJICAgICAgICAgICAgQWZmaWNoZXIgbGVzIG5vbXMgR1BSIGV0IEZQUiBzZWxvbiBsJ0FCSVxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNw6WNpZmnpLlxuIgogCi0jOiBtaXBzLWRpcy5jOjE4MzEKKyM6IG1pcHMtZGlzLmM6MjEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC01NTAsNyArODkzLDcgQEAKICIgIHJlZy1uYW1lcz1BUkNIICAgICAgICAgICBBZmZpY2hlciBsZXMgbm9tcyBkZXMgcmVnaXN0cmVzIENQMCBldCBIV1Igc2Vsb25cbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICBsJ2FyY2hpdGVjdHVyZSBzcOljaWZp6WUuXG4iCiAKLSM6IG1pcHMtZGlzLmM6MTgzNQorIzogbWlwcy1kaXMuYzoyMTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTU1OCwxNSArOTAxLDE1IEBACiAiICAgIgogbXNnc3RyICIiCiAiXG4iCi0iICBQb3VyIGxlcyBvcHRpb25zIGNpLWhhdXQsIGxlcyB2YWxldXJzIHN1aXZhbnRlcyBzb250IHN1cHBvcnTpcyBwb3VyIGwnXCJBQklcIjpcbiIKKyIgIFBvdXIgbGVzIG9wdGlvbnMgY2ktZGVzc3VzLCBsZXMgdmFsZXVycyBzdWl2YW50ZXMgc29udCBzdXBwb3J06WVzIHBvdXIgbCdcIkFCSVwiOlxuIgogIiAgICIKIAotIzogbWlwcy1kaXMuYzoxODQwIG1pcHMtZGlzLmM6MTg0OCBtaXBzLWRpcy5jOjE4NTAKKyM6IG1pcHMtZGlzLmM6MjE0NyBtaXBzLWRpcy5jOjIxNTUgbWlwcy1kaXMuYzoyMTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlxuIgogbXNnc3RyICJcbiIKIAotIzogbWlwcy1kaXMuYzoxODQyCisjOiBtaXBzLWRpcy5jOjIxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNTc0LDI0MSArOTE3LDI5OSBAQAogIiAgICIKIG1zZ3N0ciAiIgogIlxuIgotIiAgUG91ciBsZXMgb3B0aW9ucyBjaS1oYXV0LCBsZXMgdmFsZXVycyBzdWl2YW50ZXMgc29udCBzdXBwb3J06WVzIHBvdXIgXCJBUkNIXCI6XG4iCisiICBQb3VyIGxlcyBvcHRpb25zIGNpLWRlc3N1cywgbGVzIHZhbGV1cnMgc3VpdmFudGVzIHNvbnQgc3VwcG9ydOllcyBwb3VyIFwiQVJDSFwiOlxuIgogIiAgICIKIAotIzogbW1peC1kaXMuYzozNAorIzogbW1peC1kaXMuYzozNQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgY2FzZSAlZCAoJXMpIGluICVzOiVkXG4iCi1tc2dzdHIgIkNhc2UgZXJyb27pICVkICglcykgZGFucyAlczolZFxuIgorbXNnc3RyICJDYXMgZXJyb27pICVkICglcykgZGFucyAlczolZFxuIgogCi0jOiBtbWl4LWRpcy5jOjQ0CisjOiBtbWl4LWRpcy5jOjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludGVybmFsOiBOb24tZGVidWdnZWQgY29kZSAodGVzdC1jYXNlIG1pc3NpbmcpOiAlczolZCIKLW1zZ3N0ciAiSW50ZXJuZTogY29kZSBxdWkgbidlc3QgcGFzIGF1IHBvaW50IChjYXNlIGRlIHRlc3QgbWFucXVhbnQpOiAlczolZCIKK21zZ3N0ciAiSW50ZXJuZSA6IGNvZGUgbm9uIGTpYm9ndekgKHRlc3QgbWFucXVhbnQpIDogJXMgOiAlZCIKIAotIzogbW1peC1kaXMuYzo1MworIzogbW1peC1kaXMuYzo1NAogbXNnaWQgIih1bmtub3duKSIKIG1zZ3N0ciAiKGluY29ubnUpIgogCi0jOiBtbWl4LWRpcy5jOjUxOQorIzogbW1peC1kaXMuYzo1MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiKnVua25vd24gb3BlcmFuZHMgdHlwZTogJWQqIgotbXNnc3RyICIqdHlwZSBkJ29w6XJhbmRlIGluY29ubnVlOiAlZCoiCittc2dzdHIgIip0eXBlIGQnb3DpcmFuZGUgaW5jb25udSA6ICVkKiIKKworIzogbXQtYXNtLmM6MTEwIG10LWFzbS5jOjE5MAorbXNnaWQgIk9wZXJhbmQgb3V0IG9mIHJhbmdlLiBNdXN0IGJlIGJldHdlZW4gLTMyNzY4IGFuZCAzMjc2Ny4iCittc2dzdHIgIk9w6XJhbmRlIGhvcnMgbGltaXRlLiBEb2l0IOp0cmUgZW50cmUgLTMyNzY4IGV0IDMyNzY3LiIKKworIzogbXQtYXNtLmM6MTQ5Cittc2dpZCAiQmlpaWlnIFRyb3VibGUgaW4gcGFyc2VfaW1tMTYhIgorbXNnc3RyICJHUk9TIHByb2Js6G1lIGRhbnMgcGFyc2VfaW1tMTYgISIKKworIzogbXQtYXNtLmM6MTU3Cittc2dpZCAiVGhlIHBlcmNlbnQtb3BlcmF0b3IncyBvcGVyYW5kIGlzIG5vdCBhIHN5bWJvbCIKK21zZ3N0ciAiTCdvcOlyYW5kZSBkZSBsJ29w6XJhdGV1ciAlIG4nZXN0IHBhcyB1biBzeW1ib2xlIgorCisjOiBtdC1hc20uYzozOTUKK21zZ2lkICJpbnZhbGlkIG9wZXJhbmQuICB0eXBlIG1heSBoYXZlIHZhbHVlcyAwLDEsMiBvbmx5LiIKK21zZ3N0ciAib3DpcmFuZGUgbm9uIHZhbGlkZS4gdHlwZSBkb2l0IHZhbG9pciAwLDEgb3UgMiBzZXVsZW1lbnQuIgogCiAjLiBJIGFuZCBaIGFyZSBvdXRwdXQgb3BlcmFuZHMgYW5kIGNhbmB0IGJlIGltbWVkaWF0ZQotIy4gKiBBIGlzIGFuIGFkZHJlc3MgYW5kIHdlIGNhbmB0IGhhdmUgdGhlIGFkZHJlc3Mgb2YKLSMuICogYW4gaW1tZWRpYXRlIGVpdGhlci4gV2UgZG9uJ3Qga25vdyBob3cgbXVjaCB0byBpbmNyZWFzZQotIy4gKiBhb2Zmc2V0cCBieSBzaW5jZSB3aGF0ZXZlciBnZW5lcmF0ZWQgdGhpcyBpcyBicm9rZW4KLSMuICogYW55d2F5IQotIy4KLSM6IG5zMzJrLWRpcy5jOjYzMQorIy4gQSBpcyBhbiBhZGRyZXNzIGFuZCB3ZSBjYW5gdCBoYXZlIHRoZSBhZGRyZXNzIG9mCisjLiBhbiBpbW1lZGlhdGUgZWl0aGVyLiBXZSBkb24ndCBrbm93IGhvdyBtdWNoIHRvIGluY3JlYXNlCisjLiBhb2Zmc2V0cCBieSBzaW5jZSB3aGF0ZXZlciBnZW5lcmF0ZWQgdGhpcyBpcyBicm9rZW4KKyMuIGFueXdheSEKKyM6IG5zMzJrLWRpcy5jOjUzNAogIywgYy1mb3JtYXQKIG1zZ2lkICIkPHVuZGVmaW5lZD4iCiBtc2dzdHIgIiQ8bm9uIGTpZmluaT4iCiAKLSM6IHBwYy1vcGMuYzo3OTQgcHBjLW9wYy5jOjgyMgorIzogcHBjLW9wYy5jOjg2MiBwcGMtb3BjLmM6ODkwCiBtc2dpZCAiaW52YWxpZCBjb25kaXRpb25hbCBvcHRpb24iCi1tc2dzdHIgIm9wdGlvbiBjb25kaXRpb25uZWxsZSBpbnZhbGlkZSIKK21zZ3N0ciAib3B0aW9uIGNvbmRpdGlvbm5lbGxlIG5vbiB2YWxpZGUiCiAKLSM6IHBwYy1vcGMuYzo4MjQKKyM6IHBwYy1vcGMuYzo4OTIKIG1zZ2lkICJhdHRlbXB0IHRvIHNldCB5IGJpdCB3aGVuIHVzaW5nICsgb3IgLSBtb2RpZmllciIKLW1zZ3N0ciAidGVudGF0aXZlIGQnaW5pdGlhbGlzYXRpb24gZHUgYml0IHkgbG9yc3F1ZSBsZSBtb2RpZmljYXRldXIgKyBvdSAtIGEg6XTpIHV0aWxpc+kiCittc2dzdHIgInRlbnRhdGl2ZSBkJ2luaXRpYWxpc2F0aW9uIGR1IGJpdCB5IGxvcnMgZGUgbCd1dGlsaXNhdGlvbiBkdSBtb2RpZmljYXRldXIgKyBvdSAtIgogCi0jOiBwcGMtb3BjLmM6ODUyCi1tc2dpZCAib2Zmc2V0IG5vdCBhIG11bHRpcGxlIG9mIDE2IgotbXNnc3RyICJk6WNhbGFnZSBuJ2VzdCBwYXMgdW4gbXVsdGlwbGUgZGUgMTYiCi0KLSM6IHBwYy1vcGMuYzo4NzEKLW1zZ2lkICJvZmZzZXQgbm90IGEgbXVsdGlwbGUgb2YgMiIKLW1zZ3N0ciAiZOljYWxhZ2Ugbidlc3QgcGFzIHVuIG11bHRpcGxlIGRlIDIiCi0KLSM6IHBwYy1vcGMuYzo4NzMKLW1zZ2lkICJvZmZzZXQgZ3JlYXRlciB0aGFuIDYyIgotbXNnc3RyICJk6WNhbGFnZSBwbHVzIGdyYW5kIHF1ZSA2MiIKLQotIzogcHBjLW9wYy5jOjg5MiBwcGMtb3BjLmM6OTM3IHBwYy1vcGMuYzo5ODEKLW1zZ2lkICJvZmZzZXQgbm90IGEgbXVsdGlwbGUgb2YgNCIKLW1zZ3N0ciAiZOljYWxhZ2Ugbidlc3QgcGFzIHVuIG11bHRpcGxlIGRlIDQiCi0KLSM6IHBwYy1vcGMuYzo4OTQKLW1zZ2lkICJvZmZzZXQgZ3JlYXRlciB0aGFuIDEyNCIKLW1zZ3N0ciAiZOljYWxhZ2UgcGx1cyBncmFuZCBxdWUgMTI0IgotCi0jOiBwcGMtb3BjLmM6OTEzCi1tc2dpZCAib2Zmc2V0IG5vdCBhIG11bHRpcGxlIG9mIDgiCi1tc2dzdHIgImTpY2FsYWdlIG4nZXN0IHBhcyB1biBtdWx0aXBsZSBkZSA4IgotCi0jOiBwcGMtb3BjLmM6OTE1Ci1tc2dpZCAib2Zmc2V0IGdyZWF0ZXIgdGhhbiAyNDgiCi1tc2dzdHIgImTpY2FsYWdlIHBsdXMgZ3JhbmQgcXVlIDI0OCIKLQotIzogcHBjLW9wYy5jOjk1OAotbXNnaWQgIm9mZnNldCBub3QgYmV0d2VlbiAtMjA0OCBhbmQgMjA0NyIKLW1zZ3N0ciAiZOljYWxhZ2Ugbidlc3QgcGFzIGVudHJlIC0yMDQ4IGV0IDIwNDciCi0KLSM6IHBwYy1vcGMuYzo5NzkKLW1zZ2lkICJvZmZzZXQgbm90IGJldHdlZW4gLTgxOTIgYW5kIDgxOTEiCi1tc2dzdHIgImTpY2FsYWdlIG4nZXN0IHBhcyBlbnRyZSAtODE5MiBldCA4MTkxIgotCi0jOiBwcGMtb3BjLmM6MTAwNworIzogcHBjLW9wYy5jOjkyNAogbXNnaWQgImludmFsaWQgbWFzayBmaWVsZCIKLW1zZ3N0ciAibWFzcXVlIGRlIGNoYW1wIGludmFsaWRlIgorbXNnc3RyICJtYXNxdWUgbm9uIHZhbGlkZSIKIAotIzogcHBjLW9wYy5jOjEwMzMKKyM6IHBwYy1vcGMuYzo5NTAKIG1zZ2lkICJpZ25vcmluZyBpbnZhbGlkIG1mY3IgbWFzayIKLW1zZ3N0ciAibWFzcXVlIG1mY3IgaW52YWxpZGUgZXN0IGlnbm9y6SIKK21zZ3N0ciAibWFzcXVlIG1mY3Igbm9uIHZhbGlkZSBldCBpZ25vcukiCiAKLSM6IHBwYy1vcGMuYzoxMDc1Ci1tc2dpZCAiaWdub3JpbmcgbGVhc3Qgc2lnbmlmaWNhbnQgYml0cyBpbiBicmFuY2ggb2Zmc2V0IgotbXNnc3RyICJMZXMgZGVybmllcnMgYml0cyBsZXMgbW9pbnMgc2lnbmlmaWNhdGlmcyBzb250IGlnbm9y6XMgZGFucyBsZSBk6WNhbGFnZSBkZSBicmFuY2hlbWVudCIKLQotIzogcHBjLW9wYy5jOjExMDUgcHBjLW9wYy5jOjExNDAKKyM6IHBwYy1vcGMuYzoxMDAwIHBwYy1vcGMuYzoxMDM1CiBtc2dpZCAiaWxsZWdhbCBiaXRtYXNrIgogbXNnc3RyICJtYXNxdWUgZGUgYml0cyBpbGzpZ2FsIgogCi0jOiBwcGMtb3BjLmM6MTIwNQotbXNnaWQgInZhbHVlIG91dCBvZiByYW5nZSIKLW1zZ3N0ciAidmFsZXVyIGhvcnMgbGltaXRlIgotCi0jOiBwcGMtb3BjLmM6MTI3MworIzogcHBjLW9wYy5jOjExNTUKIG1zZ2lkICJpbmRleCByZWdpc3RlciBpbiBsb2FkIHJhbmdlIgotbXNnc3RyICJyZWdpc3RyZSBpbmRleCBuJ2VzdCBwYXMgZGFucyBsYSBwbGFnZSBkZSBjaGFyZ2VtZW50IgorbXNnc3RyICJMZSByZWdpc3RyZSBpbmRleCBuJ2VzdCBwYXMgZGFucyBsYSBwbGFnZSBkZSBjaGFyZ2VtZW50IgogCi0jOiBwcGMtb3BjLmM6MTI4OQorIzogcHBjLW9wYy5jOjExNzEKIG1zZ2lkICJzb3VyY2UgYW5kIHRhcmdldCByZWdpc3RlciBvcGVyYW5kcyBtdXN0IGJlIGRpZmZlcmVudCIKLW1zZ3N0ciAibGVzIG9w6XJhbmRlcyBkZXMgcmVnaXN0cmVzIHNvdXJjZSBldCBjaWJsZSBkb2l2ZW50IOp0cmUgZGlmZnJlbnRzIgorbXNnc3RyICJsZXMgb3DpcmFuZGVzIGRlcyByZWdpc3RyZXMgc291cmNlIGV0IGNpYmxlIGRvaXZlbnQg6nRyZSBkaWZm6XJlbnRzIgogCi0jOiBwcGMtb3BjLmM6MTMwNAorIzogcHBjLW9wYy5jOjExODYKIG1zZ2lkICJpbnZhbGlkIHJlZ2lzdGVyIG9wZXJhbmQgd2hlbiB1cGRhdGluZyIKIG1zZ3N0ciAib3DpcmFuZGUgcmVnaXN0cmUgaW52YWxpZGUgbG9ycyBkZSBsYSBtaXNlIOAgam91ciIKIAotIzogcHBjLW9wYy5jOjEzNDMKLW1zZ2lkICJ0YXJnZXQgcmVnaXN0ZXIgb3BlcmFuZCBtdXN0IGJlIGV2ZW4iCi1tc2dzdHIgIm9w6XJhbmRlIGR1IHJlZ2lzdHJlIGNpYmxlIGRvaXQg6nRyZSBwYWlyIgorIzogcHBjLW9wYy5jOjEyNjUKK21zZ2lkICJpbnZhbGlkIHNwcmcgbnVtYmVyIgorbXNnc3RyICJusCBkZSByZWdpc3RyZSBzcOljaWFsIG5vbiB2YWxpZGUiCiAKLSM6IHBwYy1vcGMuYzoxMzU3Ci1tc2dpZCAic291cmNlIHJlZ2lzdGVyIG9wZXJhbmQgbXVzdCBiZSBldmVuIgotbXNnc3RyICJvcOlyYW5kZSBkdSByZWdpc3RyZSBzb3VyY2UgZG9pdCDqdHJlIHBhaXIiCisjOiBzMzkwLWRpcy5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVGhlIGZvbGxvd2luZyBTLzM5MCBzcGVjaWZpYyBkaXNhc3NlbWJsZXIgb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciB1c2VcbiIKKyJ3aXRoIHRoZSAtTSBzd2l0Y2ggKG11bHRpcGxlIG9wdGlvbnMgc2hvdWxkIGJlIHNlcGFyYXRlZCBieSBjb21tYXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiTGVzIG9wdGlvbnMgc3DpY2lmaXF1ZXMgUy8zOTAgZHUgZOlzYXNzZW1ibGV1ciBzb250IHN1cHBvcnTpZXMgYXZlYyBsJ3V0aWxpc2F0aW9uIGRlXG4iCisibCdvcHRpb24gLU0gKGxlcyBvcHRpb25zIG11bHRpcGxlcyBkb2l2ZW50IOp0cmUgc+lwYXLpZXMgcGFyIGRlcyB2aXJndWxlcyk6XG4iCisKKyM6IHMzOTAtZGlzLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgZXNhICAgICAgICAgRGlzYXNzZW1ibGUgaW4gRVNBIGFyY2hpdGVjdHVyZSBtb2RlXG4iCittc2dzdHIgIiAgZXNhICAgICAgICAgROlzYXNzZW1ibGUgZW4gbW9kZSBhcmNoaXRlY3R1cmUgRVNBXG4iCisKKyM6IHMzOTAtZGlzLmM6MjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgemFyY2ggICAgICAgRGlzYXNzZW1ibGUgaW4gei9BcmNoaXRlY3R1cmUgbW9kZVxuIgorbXNnc3RyICIgIHphcmNoICAgICAgIETpc2Fzc2VtYmxlIGVuIG1vZGUgei9BcmNoaXRlY3R1cmVcbiIKKworIzogc2NvcmUtZGlzLmM6MjIwIHNjb3JlLWRpcy5jOjM4MworbXNnaWQgIjxpbGxlZ2FsIGluc3RydWN0aW9uPiIKK21zZ3N0ciAiPGluc3RydWN0aW9uIGlsbOlnYWxlPiIKKworIzogc3BhcmMtZGlzLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVybmFsIGVycm9yOiAgYmFkIHNwYXJjLW9wY29kZS5oOiBcIiVzXCIsICUjLjhseCwgJSMuOGx4XG4iCittc2dzdHIgIkVycmV1ciBpbnRlcm5lIDogIHNwYXJjLW9wY29kZS5oIGVycm9u6SA6IKsgJXMguywgJSMuOGx4LCAlIy44bHhcbiIKKworIzogc3BhcmMtZGlzLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVybmFsIGVycm9yOiBiYWQgc3BhcmMtb3Bjb2RlLmg6IFwiJXNcIiwgJSMuOGx4LCAlIy44bHhcbiIKK21zZ3N0ciAiRXJyZXVyIGludGVybmUgOiBzcGFyYy1vcGNvZGUuaCBlcnJvbukgOiCrICVzILssICUjLjhseCwgJSMuOGx4XG4iCisKKyM6IHNwYXJjLWRpcy5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcm5hbCBlcnJvcjogYmFkIHNwYXJjLW9wY29kZS5oOiBcIiVzXCIgPT0gXCIlc1wiXG4iCittc2dzdHIgIkVycmV1ciBpbnRlcm5lIDogc3BhcmMtb3Bjb2RlLmggZXJyb27pIDogqyAlcyC7ID09IKsgJXMgu1xuIgogCiAjLiBNYXJrIGFzIG5vbi12YWxpZCBpbnN0cnVjdGlvbi4KLSM6IHNwYXJjLWRpcy5jOjc2MAorIzogc3BhcmMtZGlzLmM6MTAxMwogbXNnaWQgInVua25vd24iCiBtc2dzdHIgImluY29ubnUiCiAKLSM6IHNwYXJjLWRpcy5jOjgzNQotIywgYy1mb3JtYXQKLW1zZ2lkICJJbnRlcm5hbCBlcnJvcjogIGJhZCBzcGFyYy1vcGNvZGUuaDogXCIlc1wiLCAlIy44bHgsICUjLjhseFxuIgotbXNnc3RyICJFcnJldXIgaW50ZXJuZTogIHNwYXJjLW9wY29kZS5oIGVycm9u6TogqyAlcyC7LCAlIy44bHgsICUjLjhseFxuIgotCi0jOiBzcGFyYy1kaXMuYzo4NDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSW50ZXJuYWwgZXJyb3I6IGJhZCBzcGFyYy1vcGNvZGUuaDogXCIlc1wiLCAlIy44bHgsICUjLjhseFxuIgotbXNnc3RyICJFcnJldXIgaW50ZXJuZTogc3BhcmMtb3Bjb2RlLmggZXJyb27pOiCrICVzILssICUjLjhseCwgJSMuOGx4XG4iCi0KLSM6IHNwYXJjLWRpcy5jOjg5NQotIywgYy1mb3JtYXQKLW1zZ2lkICJJbnRlcm5hbCBlcnJvcjogYmFkIHNwYXJjLW9wY29kZS5oOiBcIiVzXCIgPT0gXCIlc1wiXG4iCi1tc2dzdHIgIkVycmV1ciBpbnRlcm5lOiBzcGFyYy1vcGNvZGUuaCBlcnJvbuk6IKsgJXMguyA9PSCrICVzILtcbiIKLQotIzogdjg1MC1kaXMuYzoyMjUKKyM6IHY4NTAtZGlzLmM6MjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb3BlcmFuZCBzaGlmdDogJXhcbiIKLW1zZ3N0ciAiZOljYWxhZ2UgZCdvcOlyYW5kZSBpbmNvbm51OiAleFxuIgorbXNnc3RyICJk6WNhbGFnZSBkJ29w6XJhbmRlIGluY29ubnUgOiAleFxuIgogCi0jOiB2ODUwLWRpcy5jOjIzNworIzogdjg1MC1kaXMuYzoyNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBwb3AgcmVnOiAlZFxuIgotbXNnc3RyICJyZWdpc3RyZSBkZSBwaWxlIGluY29ubnU6ICVkXG4iCittc2dzdHIgInJlZ2lzdHJlIHBvcCBpbmNvbm51IDogJWRcbiIKIAogIy4gVGhlIGZ1bmN0aW9ucyB1c2VkIHRvIGluc2VydCBhbmQgZXh0cmFjdCBjb21wbGljYXRlZCBvcGVyYW5kcy4KICMuIE5vdGU6IFRoZXJlIGlzIGEgY29uc3BpcmFjeSBiZXR3ZWVuIHRoZXNlIGZ1bmN0aW9ucyBhbmQKICMuIHY4NTBfaW5zZXJ0X29wZXJhbmQoKSBpbiBnYXMvY29uZmlnL3RjLXY4NTAuYy4gIEVycm9yIG1lc3NhZ2VzCiAjLiBjb250YWluaW5nIHRoZSBzdHJpbmcgJ291dCBvZiByYW5nZScgd2lsbCBiZSBpZ25vcmVkIHVubGVzcyBhCiAjLiBzcGVjaWZpYyBjb21tYW5kIGxpbmUgb3B0aW9uIGlzIGdpdmVuIHRvIEdBUy4KLSM6IHY4NTAtb3BjLmM6NjkKKyM6IHY4NTAtb3BjLmM6NDgKIG1zZ2lkICJkaXNwbGFjZW1lbnQgdmFsdWUgaXMgbm90IGluIHJhbmdlIGFuZCBpcyBub3QgYWxpZ25lZCIKLW1zZ3N0ciAiTGEgdmFsZXVyIGRlIGTpcGxhY2VtZW50IGVzdCBob3JzIGxpbWl0ZSBldCBuJ2VzdCBwYXMgYWxpZ27pZS4iCittc2dzdHIgIkxhIHZhbGV1ciBkZSBk6XBsYWNlbWVudCBob3JzIGxpbWl0ZSBldCBub24gYWxpZ27pZSIKIAotIzogdjg1MC1vcGMuYzo3MAorIzogdjg1MC1vcGMuYzo0OQogbXNnaWQgImRpc3BsYWNlbWVudCB2YWx1ZSBpcyBvdXQgb2YgcmFuZ2UiCi1tc2dzdHIgInZhbGV1ciBkZSBk6XBsYWNlbWVudCBlc3QgaG9ycyBsaW1pdGUiCittc2dzdHIgInZhbGV1ciBkZSBk6XBsYWNlbWVudCBob3JzIGxpbWl0ZSIKIAotIzogdjg1MC1vcGMuYzo3MQorIzogdjg1MC1vcGMuYzo1MAogbXNnaWQgImRpc3BsYWNlbWVudCB2YWx1ZSBpcyBub3QgYWxpZ25lZCIKLW1zZ3N0ciAidmFsZXVyIGRlIGTpcGxhY2VtZW50IG4nZXN0IHBhcyBhbGlnbullIgorbXNnc3RyICJ2YWxldXIgZGUgZOlwbGFjZW1lbnQgbm9uIGFsaWdu6WUiCiAKLSM6IHY4NTAtb3BjLmM6NzMKKyM6IHY4NTAtb3BjLmM6NTIKIG1zZ2lkICJpbW1lZGlhdGUgdmFsdWUgaXMgb3V0IG9mIHJhbmdlIgotbXNnc3RyICJ2YWxldXIgaW1t6WRpYXRlIGVzdCBob3JzIGxpbWl0ZSIKK21zZ3N0ciAidmFsZXVyIGltbelkaWF0ZSBob3JzIGxpbWl0ZSIKIAotIzogdjg1MC1vcGMuYzo4NAorIzogdjg1MC1vcGMuYzo2MAogbXNnaWQgImJyYW5jaCB2YWx1ZSBub3QgaW4gcmFuZ2UgYW5kIHRvIG9kZCBvZmZzZXQiCi1tc2dzdHIgInZhbGV1ciBkZSBicmFuY2hlbWVudCBlc3QgaG9ycyBsaW1pdGUgZXQgYSB1biBk6WNhbGFnZSBpbXBhaXIiCittc2dzdHIgInZhbGV1ciBkZSBicmFuY2hlbWVudCBob3JzIGxpbWl0ZSBldCBhdmVjIHVuIGTpY2FsYWdlIGltcGFpciIKIAotIzogdjg1MC1vcGMuYzo4NiB2ODUwLW9wYy5jOjExOAorIzogdjg1MC1vcGMuYzo2MiB2ODUwLW9wYy5jOjg5CiBtc2dpZCAiYnJhbmNoIHZhbHVlIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAidmFsZXVyIGRlIGJyYW5jaGVtZW50IGhvcnMgbGltaXRlIgogCi0jOiB2ODUwLW9wYy5jOjg5IHY4NTAtb3BjLmM6MTIxCisjOiB2ODUwLW9wYy5jOjY1IHY4NTAtb3BjLmM6OTIKIG1zZ2lkICJicmFuY2ggdG8gb2RkIG9mZnNldCIKLW1zZ3N0ciAiQnJhbmNoZW1lbnQgYXZlYyB1biBk6WNhbGFnZSBpbXBhaXIiCittc2dzdHIgImJyYW5jaGVtZW50IGF2ZWMgdW4gZOljYWxhZ2UgaW1wYWlyIgogCi0jOiB2ODUwLW9wYy5jOjExNgorIzogdjg1MC1vcGMuYzo4NwogbXNnaWQgImJyYW5jaCB2YWx1ZSBub3QgaW4gcmFuZ2UgYW5kIHRvIGFuIG9kZCBvZmZzZXQiCi1tc2dzdHIgInZhbGV1ciBkZSBicmFuY2hlbWVudCBlc3QgaG9ycyBsaW1pdGUgZXQgYSB1biBk6WNhbGFnZSBpbXBhaXIiCittc2dzdHIgInZhbGV1ciBkZSBicmFuY2hlbWVudCBob3JzIGxpbWl0ZSBldCBhdmVjIHVuIGTpY2FsYWdlIGltcGFpciIKIAotIzogdjg1MC1vcGMuYzozNDcKKyM6IHY4NTAtb3BjLmM6Mjc5CiBtc2dpZCAiaW52YWxpZCByZWdpc3RlciBmb3Igc3RhY2sgYWRqdXN0bWVudCIKLW1zZ3N0ciAicmVnaXN0cmUgaW52YWxpZGUgcG91ciB1biBhanVzdGVtZW50IGRlIGxhIHBpbGUiCittc2dzdHIgInJlZ2lzdHJlIG5vbiB2YWxpZGUgcG91ciBsJ2FqdXN0ZW1lbnQgZGUgbGEgcGlsZSIKIAotIzogdjg1MC1vcGMuYzozNzEKKyM6IHY4NTAtb3BjLmM6Mjk5CiBtc2dpZCAiaW1tZWRpYXRlIHZhbHVlIG5vdCBpbiByYW5nZSBhbmQgbm90IGV2ZW4iCi1tc2dzdHIgInZhbGV1ciBpbW3pZGlhdGUgZXN0IGhvcnMgbGltaXRlIGV0IGVzdCBpbXBhaXJlIgorbXNnc3RyICJMYSB2YWxldXIgaW1t6WRpYXRlIGVzdCBob3JzIGxpbWl0ZSBldCBub24gcGFpcmUiCiAKLSM6IHY4NTAtb3BjLmM6Mzc2CisjOiB2ODUwLW9wYy5jOjMwNAogbXNnaWQgImltbWVkaWF0ZSB2YWx1ZSBtdXN0IGJlIGV2ZW4iCi1tc2dzdHIgInZhbGV1ciBpbW3pZGlhdGUgZG9pdCDqdHJlIHBhaXJlIgorbXNnc3RyICJMYSB2YWxldXIgaW1t6WRpYXRlIGRvaXQg6nRyZSBwYWlyZSIKIAotIzogeHN0b3JteTE2LWFzbS5jOjc2CisjOiB4YzE2eC1hc20uYzo2NgorbXNnaWQgIk1pc3NpbmcgJyMnIHByZWZpeCIKK21zZ3N0ciAiUHLpZml4ZSBtYW5xdWFudCBcIiNcIiIKKworIzogeGMxNngtYXNtLmM6ODIKK21zZ2lkICJNaXNzaW5nICcuJyBwcmVmaXgiCittc2dzdHIgIlBy6WZpeGUgbWFucXVhbnQgXCIuXCIiCisKKyM6IHhjMTZ4LWFzbS5jOjk4Cittc2dpZCAiTWlzc2luZyAncG9mOicgcHJlZml4IgorbXNnc3RyICJQculmaXhlIFwicG9mOlwiIG1hbnF1YW50IgorCisjOiB4YzE2eC1hc20uYzoxMTQKK21zZ2lkICJNaXNzaW5nICdwYWc6JyBwcmVmaXgiCittc2dzdHIgIlBy6WZpeGUgXCJwYWc6XCIgbWFucXVhbnQiCisKKyM6IHhjMTZ4LWFzbS5jOjEzMAorbXNnaWQgIk1pc3NpbmcgJ3NvZjonIHByZWZpeCIKK21zZ3N0ciAiUHLpZml4ZSBcInNvZjpcIiBtYW5xdWFudCIKKworIzogeGMxNngtYXNtLmM6MTQ2Cittc2dpZCAiTWlzc2luZyAnc2VnOicgcHJlZml4IgorbXNnc3RyICJQculmaXhlIFwic2VnOlwiIG1hbnF1YW50IgorCisjOiB4c3Rvcm15MTYtYXNtLmM6NzEKIG1zZ2lkICJCYWQgcmVnaXN0ZXIgaW4gcHJlaW5jcmVtZW50IgogbXNnc3RyICJSZWdpc3RyZSBlcnJvbukgZGFucyB1biBwculpbmNy6W1lbnQiCiAKLSM6IHhzdG9ybXkxNi1hc20uYzo4MQorIzogeHN0b3JteTE2LWFzbS5jOjc2CiBtc2dpZCAiQmFkIHJlZ2lzdGVyIGluIHBvc3RpbmNyZW1lbnQiCiBtc2dzdHIgIlJlZ2lzdHJlIGVycm9u6SBkYW5zIHVuIHBvc3RpbmNy6W1lbnQiCiAKLSM6IHhzdG9ybXkxNi1hc20uYzo4MworIzogeHN0b3JteTE2LWFzbS5jOjc4CiBtc2dpZCAiQmFkIHJlZ2lzdGVyIG5hbWUiCiBtc2dzdHIgIk5vbSBlcnJvbukgZGUgcmVnaXN0cmUiCiAKLSM6IHhzdG9ybXkxNi1hc20uYzo4NworIzogeHN0b3JteTE2LWFzbS5jOjgyCiBtc2dpZCAiTGFiZWwgY29uZmxpY3RzIHdpdGggcmVnaXN0ZXIgbmFtZSIKIG1zZ3N0ciAiQ29uZmxpdHMgZCfpdGlxdWV0dGUgYXZlYyBsZSBub20gZGUgcmVnaXN0cmUiCiAKLSM6IHhzdG9ybXkxNi1hc20uYzo5MQorIzogeHN0b3JteTE2LWFzbS5jOjg2CiBtc2dpZCAiTGFiZWwgY29uZmxpY3RzIHdpdGggYFJ4JyIKIG1zZ3N0ciAiQ29uZmxpdCBkJ+l0aXF1ZXR0ZSBhdmVjIKsgUngguyIKIAotIzogeHN0b3JteTE2LWFzbS5jOjkzCisjOiB4c3Rvcm15MTYtYXNtLmM6ODgKIG1zZ2lkICJCYWQgaW1tZWRpYXRlIGV4cHJlc3Npb24iCiBtc2dzdHIgIkV4cHJlc3Npb24gaW1t6WRpYXRlIGVycm9u6WUiCiAKLSM6IHhzdG9ybXkxNi1hc20uYzoxMTUKKyM6IHhzdG9ybXkxNi1hc20uYzoxMDkKIG1zZ2lkICJObyByZWxvY2F0aW9uIGZvciBzbWFsbCBpbW1lZGlhdGUiCi1tc2dzdHIgImF1Y3VuZSByZWxvY2FsaXNhdGlvbiBwb3VyIHVuIHBldGl0IGltbelkaWF0IgorbXNnc3RyICJBdWN1bmUgcmVsb2NhbGlzYXRpb24gcG91ciB1bmUgcGV0aXRlIHZhbGV1ciBpbW3pZGlhdGUiCiAKLSM6IHhzdG9ybXkxNi1hc20uYzoxMjUKKyM6IHhzdG9ybXkxNi1hc20uYzoxMTkKIG1zZ2lkICJTbWFsbCBvcGVyYW5kIHdhcyBub3QgYW4gaW1tZWRpYXRlIG51bWJlciIKLW1zZ3N0ciAiUGV0aXRlIG9w6XJhbmRlIG4n6XRhaXQgcGFzIHVuIG5vbWJyZSBpbW3pZGlhdCIKK21zZ3N0ciAiTGUgcGV0aXQgb3DpcmFuZGUgbifpdGFpdCBwYXMgdW4gbm9tYnJlIGltbelkaWF0IgogCi0jOiB4c3Rvcm15MTYtYXNtLmM6MTY0CisjOiB4c3Rvcm15MTYtYXNtLmM6MTU3CiBtc2dpZCAiT3BlcmFuZCBpcyBub3QgYSBzeW1ib2wiCi1tc2dzdHIgIm9w6XJhbmRlIG4nZXN0IHBhcyB1biBzeW1ib2wiCittc2dzdHIgIkwnb3DpcmFuZGUgbidlc3QgcGFzIHVuIHN5bWJvbCIKIAotIzogeHN0b3JteTE2LWFzbS5jOjE3MgorIzogeHN0b3JteTE2LWFzbS5jOjE2NQogbXNnaWQgIlN5bnRheCBlcnJvcjogTm8gdHJhaWxpbmcgJyknIgotbXNnc3RyICJFcnJldXIgZGUgc3ludGF4ZTogcGFzIGRlICcpJyBlbiBzdWZmaXhlIgorbXNnc3RyICJFcnJldXIgZGUgc3ludGF4ZSA6IHBhcyBkZSAnKScgZW4gc3VmZml4ZSIKKworI34gbXNnaWQgInVua25vd25cdDB4JTA0eCIKKyN+IG1zZ3N0ciAiaW5jb25udVx0MHglMDR4IgorCisjfiBtc2dpZCAib2Zmc2V0IG5vdCBhIG11bHRpcGxlIG9mIDE2IgorI34gbXNnc3RyICJk6WNhbGFnZSBuJ2VzdCBwYXMgdW4gbXVsdGlwbGUgZGUgMTYiCisKKyN+IG1zZ2lkICJvZmZzZXQgbm90IGEgbXVsdGlwbGUgb2YgMiIKKyN+IG1zZ3N0ciAiZOljYWxhZ2Ugbidlc3QgcGFzIHVuIG11bHRpcGxlIGRlIDIiCisKKyN+IG1zZ2lkICJvZmZzZXQgZ3JlYXRlciB0aGFuIDYyIgorI34gbXNnc3RyICJk6WNhbGFnZSBwbHVzIGdyYW5kIHF1ZSA2MiIKKworI34gbXNnaWQgIm9mZnNldCBub3QgYSBtdWx0aXBsZSBvZiA0IgorI34gbXNnc3RyICJk6WNhbGFnZSBuJ2VzdCBwYXMgdW4gbXVsdGlwbGUgZGUgNCIKKworI34gbXNnaWQgIm9mZnNldCBncmVhdGVyIHRoYW4gMTI0IgorI34gbXNnc3RyICJk6WNhbGFnZSBwbHVzIGdyYW5kIHF1ZSAxMjQiCisKKyN+IG1zZ2lkICJvZmZzZXQgbm90IGEgbXVsdGlwbGUgb2YgOCIKKyN+IG1zZ3N0ciAiZOljYWxhZ2Ugbidlc3QgcGFzIHVuIG11bHRpcGxlIGRlIDgiCisKKyN+IG1zZ2lkICJvZmZzZXQgZ3JlYXRlciB0aGFuIDI0OCIKKyN+IG1zZ3N0ciAiZOljYWxhZ2UgcGx1cyBncmFuZCBxdWUgMjQ4IgorCisjfiBtc2dpZCAib2Zmc2V0IG5vdCBiZXR3ZWVuIC0yMDQ4IGFuZCAyMDQ3IgorI34gbXNnc3RyICJk6WNhbGFnZSBuJ2VzdCBwYXMgZW50cmUgLTIwNDggZXQgMjA0NyIKKworI34gbXNnaWQgIm9mZnNldCBub3QgYmV0d2VlbiAtODE5MiBhbmQgODE5MSIKKyN+IG1zZ3N0ciAiZOljYWxhZ2Ugbidlc3QgcGFzIGVudHJlIC04MTkyIGV0IDgxOTEiCisKKyN+IG1zZ2lkICJpZ25vcmluZyBsZWFzdCBzaWduaWZpY2FudCBiaXRzIGluIGJyYW5jaCBvZmZzZXQiCisjfiBtc2dzdHIgIkxlcyBkZXJuaWVycyBiaXRzIGxlcyBtb2lucyBzaWduaWZpY2F0aWZzIHNvbnQgaWdub3LpcyBkYW5zIGxlIGTpY2FsYWdlIGRlIGJyYW5jaGVtZW50IgorCisjfiBtc2dpZCAidmFsdWUgb3V0IG9mIHJhbmdlIgorI34gbXNnc3RyICJ2YWxldXIgaG9ycyBsaW1pdGUiCisKKyN+IG1zZ2lkICJ0YXJnZXQgcmVnaXN0ZXIgb3BlcmFuZCBtdXN0IGJlIGV2ZW4iCisjfiBtc2dzdHIgIm9w6XJhbmRlIGR1IHJlZ2lzdHJlIGNpYmxlIGRvaXQg6nRyZSBwYWlyIgorCisjfiBtc2dpZCAic291cmNlIHJlZ2lzdGVyIG9wZXJhbmQgbXVzdCBiZSBldmVuIgorI34gbXNnc3RyICJvcOlyYW5kZSBkdSByZWdpc3RyZSBzb3VyY2UgZG9pdCDqdHJlIHBhaXIiCiAKICN+IG1zZ2lkICJ1bnJlY29nbml6ZWQga2V5d29yZC9yZWdpc3RlciBuYW1lIgogI34gbXNnc3RyICJub20gZGUgbW90IGNs6SBvdSBkZSByZWdpc3RyZSBub24gcmVjb25udSIKZGlmZiAtLWdpdCBhL29wY29kZXMvcG8vdmkucG8gYi9vcGNvZGVzL3BvL3ZpLnBvCmluZGV4IDRlNWUwN2YuLjM1MDIxZDIgMTAwNjQ0Ci0tLSBhL29wY29kZXMvcG8vdmkucG8KKysrIGIvb3Bjb2Rlcy9wby92aS5wbwpAQCAtMSwyMCArMSwyMSBAQAogIyBWaWV0bmFtZXNlIFRyYW5zbGF0aW9uIGZvciBPcGNvZGVzLgotIyBDb3B5cmlnaHQgwqkgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSMgQ2x5dGllIFNpZGRhbGwgPGNseXRpZUByaXZlcmxhbmQubmV0LmF1PiwgMjAwNS0yMDA3LgotIyAKKyMgQ29weXJpZ2h0IMKpIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBiaW51dGlscyBwYWNrYWdlLgorIyBDbHl0aWUgU2lkZGFsbCA8Y2x5dGllQHJpdmVybGFuZC5uZXQuYXU+LCAyMDA1LTIwMDguCisjCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBvcGNvZGVzIDIuMTcuOTBcbiIKLSJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDctMDctMDUgMDk6MTcrMDEwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDctMDgtMDcgMjM6MzIrMDkzMFxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogb3Bjb2RlcyAyLjE4LjkwXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1iaW51dGlsc0BnbnUub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDgtMDktMDkgMTU6NTYrMDkzMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMDgtMDktMjMgMjI6MDcrMDkzMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogQ2x5dGllIFNpZGRhbGwgPGNseXRpZUByaXZlcmxhbmQubmV0LmF1PlxuIgogIkxhbmd1YWdlLVRlYW06IFZpZXRuYW1lc2UgPHZpLVZOQGdvb2dsZWdyb3Vwcy5jb20+XG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLThcbiIKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0xOyBwbHVyYWw9MDtcbiIKLSJYLUdlbmVyYXRvcjogTG9jRmFjdG9yeUVkaXRvciAxLjdiMVxuIgorIlgtR2VuZXJhdG9yOiBMb2NGYWN0b3J5RWRpdG9yIDEuN2IzXG4iCiAKICM6IGFscGhhLW9wYy5jOjE1NQogbXNnaWQgImJyYW5jaCBvcGVyYW5kIHVuYWxpZ25lZCIKQEAgLTU0LDcgKzU1LDcgQEAKIG1zZ3N0ciAicXXDoSBuaGnhu4F1IGjhurFuZyBz4buRIGTDoGkiCiAKICM6IGFyYy1vcGMuYzo2NjgKLW1zZ2lkICJ0byBtYW55IHNoaW1tcyBpbiBsb2FkIgorbXNnaWQgInRvbyBtYW55IHNoaW1tcyBpbiBsb2FkIgogbXNnc3RyICJxdcOhIG5oaeG7gXUgc2hpbW0gdHJvbmcgdmnhu4djIG7huqFwIgogCiAjLiBEbyB3ZSBoYXZlIGEgbGltbSBhbHJlYWR5PwpAQCAtMTI2LDcgKzEyNyw3IEBACiBtc2dpZCAiVW5yZWNvZ25pc2VkIGRpc2Fzc2VtYmxlciBvcHRpb246ICVzXG4iCiBtc2dzdHIgIktow7RuZyBuaOG6rW4gcmEgdMO5eSBjaOG7jW4gcsOjOiAlc1xuIgogCi0jOiBhcm0tZGlzLmM6NDIyNgorIzogYXJtLWRpcy5jOjQyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTk3LDE0ICsxOTgsMTQgQEAKIAogIzogZnIzMC1hc20uYzozMTAgZnJ2LWFzbS5jOjEyNjMgaXAyay1hc20uYzo1MTEgaXEyMDAwLWFzbS5jOjQ1OQogIzogbTMyYy1hc20uYzoxNTg5IG0zMnItYXNtLmM6MzI4IG1lcC1hc20uYzoxMDAxIG10LWFzbS5jOjU5NQotIzogb3BlbnJpc2MtYXNtLmM6MjQxIHhjMTZ4LWFzbS5jOjM3NSB4c3Rvcm15MTYtYXNtLmM6Mjc2CisjOiBvcGVucmlzYy1hc20uYzoyNDEgeGMxNngtYXNtLmM6Mzc2IHhzdG9ybXkxNi1hc20uYzoyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5yZWNvZ25pemVkIGZpZWxkICVkIHdoaWxlIHBhcnNpbmcuXG4iCiBtc2dzdHIgIktow7RuZyBuaOG6rW4gcmEgdHLGsOG7nW5nICVkIHRyb25nIGtoaSBwaMOibiB0w6FjaC5cbiIKIAogIzogZnIzMC1hc20uYzozNjEgZnJ2LWFzbS5jOjEzMTQgaXAyay1hc20uYzo1NjIgaXEyMDAwLWFzbS5jOjUxMAogIzogbTMyYy1hc20uYzoxNjQwIG0zMnItYXNtLmM6Mzc5IG1lcC1hc20uYzoxMDUyIG10LWFzbS5jOjY0NgotIzogb3BlbnJpc2MtYXNtLmM6MjkyIHhjMTZ4LWFzbS5jOjQyNiB4c3Rvcm15MTYtYXNtLmM6MzI3CisjOiBvcGVucmlzYy1hc20uYzoyOTIgeGMxNngtYXNtLmM6NDI3IHhzdG9ybXkxNi1hc20uYzozMjcKIG1zZ2lkICJtaXNzaW5nIG1uZW1vbmljIGluIHN5bnRheCBzdHJpbmciCiBtc2dzdHIgInRoaeG6v3UgxJFp4buBdSBnacO6cCB0csOtIG5o4bubIHRyb25nIGNodeG7l2kgY8O6IHBow6FwIgogCkBAIC0yMTcsNyArMjE4LDcgQEAKICM6IG0zMnItYXNtLmM6NjA1IG0zMnItYXNtLmM6NzA2IG1lcC1hc20uYzoxMTg3IG1lcC1hc20uYzoxMTkxIG1lcC1hc20uYzoxMjc4CiAjOiBtZXAtYXNtLmM6MTM3OSBtdC1hc20uYzo3ODEgbXQtYXNtLmM6Nzg1IG10LWFzbS5jOjg3MiBtdC1hc20uYzo5NzMKICM6IG9wZW5yaXNjLWFzbS5jOjQyNyBvcGVucmlzYy1hc20uYzo0MzEgb3BlbnJpc2MtYXNtLmM6NTE4IG9wZW5yaXNjLWFzbS5jOjYxOQotIzogeGMxNngtYXNtLmM6NTYxIHhjMTZ4LWFzbS5jOjU2NSB4YzE2eC1hc20uYzo2NTIgeGMxNngtYXNtLmM6NzUzCisjOiB4YzE2eC1hc20uYzo1NjIgeGMxNngtYXNtLmM6NTY2IHhjMTZ4LWFzbS5jOjY1MyB4YzE2eC1hc20uYzo3NTQKICM6IHhzdG9ybXkxNi1hc20uYzo0NjIgeHN0b3JteTE2LWFzbS5jOjQ2NiB4c3Rvcm15MTYtYXNtLmM6NTUzCiAjOiB4c3Rvcm15MTYtYXNtLmM6NjU0CiBtc2dpZCAidW5yZWNvZ25pemVkIGluc3RydWN0aW9uIgpAQCAtMjI1LDQwICsyMjYsNDAgQEAKIAogIzogZnIzMC1hc20uYzo1NDMgZnJ2LWFzbS5jOjE0OTYgaXAyay1hc20uYzo3NDQgaXEyMDAwLWFzbS5jOjY5MgogIzogbTMyYy1hc20uYzoxODIyIG0zMnItYXNtLmM6NTYxIG1lcC1hc20uYzoxMjM0IG10LWFzbS5jOjgyOAotIzogb3BlbnJpc2MtYXNtLmM6NDc0IHhjMTZ4LWFzbS5jOjYwOCB4c3Rvcm15MTYtYXNtLmM6NTA5CisjOiBvcGVucmlzYy1hc20uYzo0NzQgeGMxNngtYXNtLmM6NjA5IHhzdG9ybXkxNi1hc20uYzo1MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIChleHBlY3RlZCBjaGFyIGAlYycsIGZvdW5kIGAlYycpIgogbXNnc3RyICJn4bq3cCBs4buXaSBjw7ogcGjDoXAgKG1vbmcgxJHhu6NpIGvDvSB04buxIMKrICVjIMK7LCBjw7JuIHTDrG0gwqsgJWMgwrspIgogCiAjOiBmcjMwLWFzbS5jOjU1MyBmcnYtYXNtLmM6MTUwNiBpcDJrLWFzbS5jOjc1NCBpcTIwMDAtYXNtLmM6NzAyCiAjOiBtMzJjLWFzbS5jOjE4MzIgbTMyci1hc20uYzo1NzEgbWVwLWFzbS5jOjEyNDQgbXQtYXNtLmM6ODM4Ci0jOiBvcGVucmlzYy1hc20uYzo0ODQgeGMxNngtYXNtLmM6NjE4IHhzdG9ybXkxNi1hc20uYzo1MTkKKyM6IG9wZW5yaXNjLWFzbS5jOjQ4NCB4YzE2eC1hc20uYzo2MTkgeHN0b3JteTE2LWFzbS5jOjUxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgKGV4cGVjdGVkIGNoYXIgYCVjJywgZm91bmQgZW5kIG9mIGluc3RydWN0aW9uKSIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kgY8O6IHBow6FwIChuZ+G7nSBrw70gdOG7sSDCqyAlYyDCuywgY8OybiB0w6xtIGvhur90IHRow7pjIGPDonUgbOG7h25oKSIKIAogIzogZnIzMC1hc20uYzo1ODEgZnJ2LWFzbS5jOjE1MzQgaXAyay1hc20uYzo3ODIgaXEyMDAwLWFzbS5jOjczMAogIzogbTMyYy1hc20uYzoxODYwIG0zMnItYXNtLmM6NTk5IG1lcC1hc20uYzoxMjcyIG10LWFzbS5jOjg2NgotIzogb3BlbnJpc2MtYXNtLmM6NTEyIHhjMTZ4LWFzbS5jOjY0NiB4c3Rvcm15MTYtYXNtLmM6NTQ3CisjOiBvcGVucmlzYy1hc20uYzo1MTIgeGMxNngtYXNtLmM6NjQ3IHhzdG9ybXkxNi1hc20uYzo1NDcKIG1zZ2lkICJqdW5rIGF0IGVuZCBvZiBsaW5lIgogbXNnc3RyICJn4bq3cCByw6FjIHThuqFpIGvhur90IHRow7pjIGTDsm5nIgogCiAjOiBmcjMwLWFzbS5jOjY4NyBmcnYtYXNtLmM6MTY0MCBpcDJrLWFzbS5jOjg4OCBpcTIwMDAtYXNtLmM6ODM2CiAjOiBtMzJjLWFzbS5jOjE5NjYgbTMyci1hc20uYzo3MDUgbWVwLWFzbS5jOjEzNzggbXQtYXNtLmM6OTcyCi0jOiBvcGVucmlzYy1hc20uYzo2MTggeGMxNngtYXNtLmM6NzUyIHhzdG9ybXkxNi1hc20uYzo2NTMKKyM6IG9wZW5yaXNjLWFzbS5jOjYxOCB4YzE2eC1hc20uYzo3NTMgeHN0b3JteTE2LWFzbS5jOjY1MwogbXNnaWQgInVucmVjb2duaXplZCBmb3JtIG9mIGluc3RydWN0aW9uIgogbXNnc3RyICJraMO0bmcgbmjhuq1uIHJhIGThuqFuZyBjw6J1IGzhu4duaCIKIAogIzogZnIzMC1hc20uYzo2OTkgZnJ2LWFzbS5jOjE2NTIgaXAyay1hc20uYzo5MDAgaXEyMDAwLWFzbS5jOjg0OAogIzogbTMyYy1hc20uYzoxOTc4IG0zMnItYXNtLmM6NzE3IG1lcC1hc20uYzoxMzkwIG10LWFzbS5jOjk4NAotIzogb3BlbnJpc2MtYXNtLmM6NjMwIHhjMTZ4LWFzbS5jOjc2NCB4c3Rvcm15MTYtYXNtLmM6NjY1CisjOiBvcGVucmlzYy1hc20uYzo2MzAgeGMxNngtYXNtLmM6NzY1IHhzdG9ybXkxNi1hc20uYzo2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluc3RydWN0aW9uIGAlLjUwcy4uLiciCiBtc2dzdHIgImPDonUgbOG7h25oIHNhaSDCqyAlLjUwcyDCuyIKIAogIzogZnIzMC1hc20uYzo3MDIgZnJ2LWFzbS5jOjE2NTUgaXAyay1hc20uYzo5MDMgaXEyMDAwLWFzbS5jOjg1MQogIzogbTMyYy1hc20uYzoxOTgxIG0zMnItYXNtLmM6NzIwIG1lcC1hc20uYzoxMzkzIG10LWFzbS5jOjk4NwotIzogb3BlbnJpc2MtYXNtLmM6NjMzIHhjMTZ4LWFzbS5jOjc2NyB4c3Rvcm15MTYtYXNtLmM6NjY4CisjOiBvcGVucmlzYy1hc20uYzo2MzMgeGMxNngtYXNtLmM6NzY4IHhzdG9ybXkxNi1hc20uYzo2NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluc3RydWN0aW9uIGAlLjUwcyciCiBtc2dzdHIgImPDonUgbOG7h25oIHNhaSDCqyAlLjUwcyDCuyIKQEAgLTM3OCwxMSArMzc5LDExIEBACiBtc2dpZCAiJTAyeFx0XHQqdW5rbm93bioiCiBtc2dzdHIgIiUwMnhcdFx0IOKAoiBraMO0bmcgcsO1IOKAoiIKIAotIzogaTM4Ni1kaXMuYzozMTk2CisjOiBpMzg2LWRpcy5jOjk1NDUKIG1zZ2lkICI8aW50ZXJuYWwgZGlzYXNzZW1ibGVyIGVycm9yPiIKIG1zZ3N0ciAiPGzhu5dpIHLDoyBu4buZaSBi4buZPiIKIAotIzogaTM4Ni1kaXMuYzozNDIzCisjOiBpMzg2LWRpcy5jOjk3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMzkzLDc5ICszOTQsMTI0IEBACiAiTmjhu69uZyB0w7l5IGNo4buNbiByw6MgxJHhurdjIHRyxrBuZyBjaG8gaTM4Ni94ODYtNjQgdGhlbyDEkcOieSDEkcaw4bujYyBo4buXIHRy4bujXG4iCiAixJHhu4Mgc+G7rSBk4bulbmcgduG7m2kgxJHhu5FpIHPhu5EgwqsgLU0gwrsgKHBow6JuIGPDoWNoIG5oaeG7gXUgdMO5eSBjaOG7jW4gYuG6sW5nIGThuqV1IHBo4bqpeSk6XG4iCiAKLSM6IGkzODYtZGlzLmM6MzQyNworIzogaTM4Ni1kaXMuYzo5NzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgeDg2LTY0ICAgICAgRGlzYXNzZW1ibGUgaW4gNjRiaXQgbW9kZVxuIgogbXNnc3RyICIgIHg4Ni02NCAgICAgIFLDoyB0cm9uZyBjaOG6vyDEkeG7mSA2NC1iaXRcbiIKIAotIzogaTM4Ni1kaXMuYzozNDI4CisjOiBpMzg2LWRpcy5jOjk3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBpMzg2ICAgICAgICBEaXNhc3NlbWJsZSBpbiAzMmJpdCBtb2RlXG4iCiBtc2dzdHIgIiAgaTM4NiAgICAgICAgUsOjIHRyb25nIGNo4bq/IMSR4buZIDMyLWJpdFxuIgogCi0jOiBpMzg2LWRpcy5jOjM0MjkKKyM6IGkzODYtZGlzLmM6OTc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIGk4MDg2ICAgICAgIERpc2Fzc2VtYmxlIGluIDE2Yml0IG1vZGVcbiIKIG1zZ3N0ciAiICBpODA4NiAgICAgICBSw6MgdHJvbmcgY2jhur8gxJHhu5kgMTYtYml0XG4iCiAKLSM6IGkzODYtZGlzLmM6MzQzMAorIzogaTM4Ni1kaXMuYzo5NzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgYXR0ICAgICAgICAgRGlzcGxheSBpbnN0cnVjdGlvbiBpbiBBVCZUIHN5bnRheFxuIgogbXNnc3RyICIgIGF0dCAgICAgICAgIEhp4buDbiB0aOG7iyBjw6J1IGzhu4duaCB0aGVvIGPDuiBwaMOhcCBBVCZUXG4iCiAKLSM6IGkzODYtZGlzLmM6MzQzMQorIzogaTM4Ni1kaXMuYzo5Nzg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgaW50ZWwgICAgICAgRGlzcGxheSBpbnN0cnVjdGlvbiBpbiBJbnRlbCBzeW50YXhcbiIKIG1zZ3N0ciAiICBpbnRlbCAgICAgICBIaeG7g24gdGjhu4sgY8OidSBs4buHbmggdGhlbyBjw7ogcGjDoXAgSW50ZWxcbiIKIAotIzogaTM4Ni1kaXMuYzozNDMyCisjOiBpMzg2LWRpcy5jOjk3ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgYXR0LW1uZW1vbmljXG4iCisiICAgICAgICAgICAgICBEaXNwbGF5IGluc3RydWN0aW9uIGluIEFUJlQgbW5lbW9uaWNcbiIKK21zZ3N0ciAiIgorIiAgYXR0LW1uZW1vbmljXG4iCisiICAgICAgICAgICAgICBIaeG7g24gdGjhu4sgY8OidSBs4buHbmggdGhlbyDEkWnhu4F1IGdpw7pwIHRyw60gbmjhu5sgQVQmVFxuIgorCisjOiBpMzg2LWRpcy5jOjk3ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgaW50ZWwtbW5lbW9uaWNcbiIKKyIgICAgICAgICAgICAgIERpc3BsYXkgaW5zdHJ1Y3Rpb24gaW4gSW50ZWwgbW5lbW9uaWNcbiIKK21zZ3N0ciAiIgorIiAgaW50ZWwtbW5lbW9uaWNcbiIKKyIgICAgICAgICAgICAgIEhp4buDbiB0aOG7iyBjw6J1IGzhu4duaCB0aGVvIMSRaeG7gXUgZ2nDunAgdHLDrSBuaOG7myBJbnRlbFxuIgorCisjOiBpMzg2LWRpcy5jOjk3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBhZGRyNjQgICAgICBBc3N1bWUgNjRiaXQgYWRkcmVzcyBzaXplXG4iCiBtc2dzdHIgIiAgYWRkcjY0ICAgICAgR2nhuqMgc+G7rSBrw61jaCBj4buhIMSR4buLYSBjaOG7iSA2NC1iaXRcbiIKIAotIzogaTM4Ni1kaXMuYzozNDMzCisjOiBpMzg2LWRpcy5jOjk3OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBhZGRyMzIgICAgICBBc3N1bWUgMzJiaXQgYWRkcmVzcyBzaXplXG4iCiBtc2dzdHIgIiAgYWRkcjMyICAgICAgR2nhuqMgc+G7rSBrw61jaCBj4buhIMSR4buLYSBjaOG7iSAzMi1iaXRcbiIKIAotIzogaTM4Ni1kaXMuYzozNDM0CisjOiBpMzg2LWRpcy5jOjk3OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBhZGRyMTYgICAgICBBc3N1bWUgMTZiaXQgYWRkcmVzcyBzaXplXG4iCiBtc2dzdHIgIiAgYWRkcjE2ICAgICBHaeG6oyBz4butIGvDrWNoIGPhu6EgxJHhu4thIGNo4buJIDE2LWJpdFxuIgogCi0jOiBpMzg2LWRpcy5jOjM0MzUKKyM6IGkzODYtZGlzLmM6OTc5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIGRhdGEzMiAgICAgIEFzc3VtZSAzMmJpdCBkYXRhIHNpemVcbiIKIG1zZ3N0ciAiICBkYXRhMzIgICAgICBHaeG6oyBz4butIGvDrWNoIGPhu6EgZOG7ryBsaeG7h3UgMzItYml0XG4iCiAKLSM6IGkzODYtZGlzLmM6MzQzNgorIzogaTM4Ni1kaXMuYzo5NzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgZGF0YTE2ICAgICAgQXNzdW1lIDE2Yml0IGRhdGEgc2l6ZVxuIgogbXNnc3RyICIgIGRhdGExNiAgICAgIEdp4bqjIHPhu60ga8OtY2ggY+G7oSBk4buvIGxp4buHdSAxNi1iaXRcbiIKIAotIzogaTM4Ni1kaXMuYzozNDM3CisjOiBpMzg2LWRpcy5jOjk3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBzdWZmaXggICAgICBBbHdheXMgZGlzcGxheSBpbnN0cnVjdGlvbiBzdWZmaXggaW4gQVQmVCBzeW50YXhcbiIKIG1zZ3N0ciAiICBzdWZmaXggICAgICBMdcO0biBsdcO0biBoaeG7g24gdGjhu4sgaOG6rXUgdOG7kSBjw6J1IGzhu4duaCB0aGVvIGPDuiBwaMOhcCBBVCZUXG4iCiAKLSM6IGkzODYtZ2VuLmM6NDIgaWE2NC1nZW4uYzozMDcKKyM6IGkzODYtZ2VuLmM6NDExIGlhNjQtZ2VuLmM6MzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBFcnJvcjogIgogbXNnc3RyICIlczogTOG7l2k6ICIKIAotIzogaTM4Ni1nZW4uYzoxMDkKLW1zZ2lkICJjYW4ndCBmaW5kIGkzODYtb3BjLnRibCBmb3IgcmVhZGluZ1xuIgotbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgaTM4Ni1vcGMudGJsIMSR4buDIMSR4buNY1xuIgorIzogaTM4Ni1nZW4uYzo1MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVkOiBVbmtub3duIGJpdGZpZWxkOiAlc1xuIgorbXNnc3RyICIlczogJWQ6IEtow7RuZyByw7UgdHLGsOG7nW5nIGJpdDogJXNcbiIKIAotIzogaTM4Ni1nZW4uYzoyNjAKLW1zZ2lkICJjYW4ndCBmaW5kIGkzODYtcmVnLnRibCBmb3IgcmVhZGluZ1xuIgotbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgaTM4Ni1yZWcudGJsIMSR4buDIMSR4buNY1xuIgorIzogaTM4Ni1nZW4uYzo2NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBpMzg2LW9wYy50YmwgZm9yIHJlYWRpbmcsIGVycm5vID0gJXNcbiIKK21zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IGkzODYtb3BjLnRibCDEkeG7gyDEkeG7jWM7IHPhu5EgdGjhu6kgdOG7sSBs4buXaSA9ICVzXG4iCiAKLSM6IGkzODYtZ2VuLmM6Mzg2IGlhNjQtZ2VuLmM6Mjg0MQorIzogaTM4Ni1nZW4uYzo4NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBpMzg2LXJlZy50YmwgZm9yIHJlYWRpbmcsIGVycm5vID0gJXNcbiIKK21zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IGkzODYtcmVnLnRibCDEkeG7gyDEkeG7jWM7IHPhu5EgdGjhu6kgdOG7sSBs4buXaSA9ICVzXG4iCisKKyM6IGkzODYtZ2VuLmM6OTQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGNyZWF0ZSBpMzg2LWluaXQuaCwgZXJybm8gPSAlc1xuIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gaTM4Ni1pbml0LmgsIHPhu5EgdGjhu6kgdOG7sSBs4buXaSA9ICVzXG4iCisKKyM6IGkzODYtZ2VuLmM6MTAzMiBpYTY0LWdlbi5jOjI4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gXCIlc1wiLCBlcnJubyA9ICVzXG4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBjaHV54buDbiDEkeG7lWkgdGjGsCBt4bulYyBzYW5nIMKrICVzIMK7LCBz4buRIGzhu5dpID0gJXNcbiIKIAorIzogaTM4Ni1nZW4uYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHVudXNlZCBiaXRzIGluIGkzODZfY3B1X2ZsYWdzLlxuIgorbXNnc3RyICIlZCBiaXQgY2jGsGEgZMO5bmcgdHJvbmcgaTM4Nl9jcHVfZmxhZ3MuXG4iCisKKyM6IGkzODYtZ2VuLmM6MTA0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1bnVzZWQgYml0cyBpbiBpMzg2X29wZXJhbmRfdHlwZS5cbiIKK21zZ3N0ciAiJWQgYml0IGNoxrBhIGTDuW5nIHRyb25nIGkzODZfb3BlcmFuZF90eXBlLlxuIgorCisjOiBpMzg2LWdlbi5jOjEwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgY3JlYXRlIGkzODYtdGJsLmgsIGVycm5vID0gJXNcbiIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIGkzODYtdGJsLmgsIHPhu5EgdGjhu6kgdOG7sSBs4buXaSA9ICVzXG4iCisKICM6IGlhNjQtZ2VuLmM6MzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBXYXJuaW5nOiAiCkBAIC01MDQsNjIgKzU1MCw2NyBAQAogbXNnaWQgIm92ZXJ3cml0aW5nIG5vdGUgJWQgd2l0aCBub3RlICVkIChJQzolcylcbiIKIG1zZ3N0ciAixJFhbmcgZ2hpIMSRw6ggbMOqbiBnaGkgY2jDuiAlZCBi4bqxbmcgZ2hpIGNow7ogJWQgKElDOiVzKVxuIgogCi0jOiBpYTY0LWdlbi5jOjE0NTUKKyM6IGlhNjQtZ2VuLmM6MTQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJkb24ndCBrbm93IGhvdyB0byBzcGVjaWZ5ICUlIGRlcGVuZGVuY3kgJXNcbiIKIG1zZ3N0ciAia2jDtG5nIGJp4bq/dCBjw6FjaCBnaGkgcsO1ICUlIHF1YW4gaOG7hyBwaOG7pSB0aHXhu5ljICVzXG4iCiAKLSM6IGlhNjQtZ2VuLmM6MTQ3NworIzogaWE2NC1nZW4uYzoxNDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIHNwZWNpZnkgIyBkZXBlbmRlbmN5ICVzXG4iCiBtc2dzdHIgIktow7RuZyBiaeG6v3QgY8OhY2ggZ2hpIHLDtSAjIHF1YW4gaOG7hyBwaOG7pSB0aHXhu5ljICVzXG4iCiAKLSM6IGlhNjQtZ2VuLmM6MTUxNgorIzogaWE2NC1nZW4uYzoxNTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIklDOiVzIFslc10gaGFzIG5vIHRlcm1pbmFscyBvciBzdWItY2xhc3Nlc1xuIgogbXNnc3RyICJJQzolcyBbJXNdIGtow7RuZyBjw7MgxJFp4buBdSBt4bufIHLhu5luZyBob8OgbiB0aMOgbmggaGF5IGjhuqFuZyBjb25cbiIKIAotIzogaWE2NC1nZW4uYzoxNTE5CisjOiBpYTY0LWdlbi5jOjE1MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSUM6JXMgaGFzIG5vIHRlcm1pbmFscyBvciBzdWItY2xhc3Nlc1xuIgogbXNnc3RyICJJQzolcyBraMO0bmcgY8OzIMSRaeG7gXUgbeG7nyBy4buZbmcgaG/DoG4gdGjDoG5oIGhheSBo4bqhbmcgY29uXG4iCiAKLSM6IGlhNjQtZ2VuLmM6MTUyOAorIzogaWE2NC1nZW4uYzoxNTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGluc25zIG1hcHBlZCBkaXJlY3RseSB0byB0ZXJtaW5hbCBJQyAlcyBbJXNdIgogbXNnc3RyICJraMO0bmcgY8OzIGPDonUgbOG7h25oIMSRxrDhu6NjIMOhbmggeOG6oSB0cuG7sWMgdGnhur9wIHbDoG8gSUMgbeG7nyBy4buZbmcgaG/DoG4gdGjDoG5oICVzIFslc10iCiAKLSM6IGlhNjQtZ2VuLmM6MTUzMQorIzogaWE2NC1nZW4uYzoxNTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGluc25zIG1hcHBlZCBkaXJlY3RseSB0byB0ZXJtaW5hbCBJQyAlc1xuIgogbXNnc3RyICJraMO0bmcgY8OzIGPDonUgbOG7h25oIMSRxrDhu6NjIMOhbmggeOG6oSB0cuG7sWMgdGnhur9wIHbDoG8gSUMgbeG7nyBy4buZbmcgaG/DoG4gdGjDoG5oICVzXG4iCiAKLSM6IGlhNjQtZ2VuLmM6MTU0MgorIzogaWE2NC1nZW4uYzoxNTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNsYXNzICVzIGlzIGRlZmluZWQgYnV0IG5vdCB1c2VkXG4iCiBtc2dzdHIgImjhuqFuZyAlcyDEkcaw4bujYyB4w6FjIMSR4buLbmggbmjGsG5nIGNoxrBhIMSRxrDhu6NjIGTDuW5nXG4iCiAKLSM6IGlhNjQtZ2VuLmM6MTU1MworIzogaWE2NC1nZW4uYzoxNTU5CiAjLCBjLWZvcm1hdAotbXNnaWQgIldhcm5pbmc6IHJzcmMgJXMgKCVzKSBoYXMgbm8gY2hrcyVzXG4iCi1tc2dzdHIgIkPhuqNuaCBiw6FvIDogdMOgaSBuZ3V5w6puICVzICglcykga2jDtG5nIGPDsyBjaGtzICVzXG4iCittc2dpZCAiV2FybmluZzogcnNyYyAlcyAoJXMpIGhhcyBubyBjaGtzXG4iCittc2dzdHIgIkPhuqNuaCBiw6FvIDogcnNyYyAlcyAoJXMpIGtow7RuZyBjw7MgY2hrc1xuIgogCi0jOiBpYTY0LWdlbi5jOjE1NTcKKyM6IGlhNjQtZ2VuLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiByc3JjICVzICglcykgaGFzIG5vIGNoa3Mgb3IgcmVnc1xuIgorbXNnc3RyICJD4bqjbmggYsOhbyA6IHJzcmMgJXMgKCVzKSBraMO0bmcgY8OzIGNoa3MgaGF5IHJlZ3NcbiIKKworIzogaWE2NC1nZW4uYzoxNTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJzcmMgJXMgKCVzKSBoYXMgbm8gcmVnc1xuIgogbXNnc3RyICJUw6BpIG5ndXnDqm4gJXMgKCVzKSBraMO0bmcgY8OzIHJlZ3NcbiIKIAotIzogaWE2NC1nZW4uYzoyNDY5CisjOiBpYTY0LWdlbi5jOjI0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSUMgbm90ZSAlZCBpbiBvcGNvZGUgJXMgKElDOiVzKSBjb25mbGljdHMgd2l0aCByZXNvdXJjZSAlcyBub3RlICVkXG4iCiBtc2dzdHIgIkdoaSBjaMO6IElDICVkIHRyb25nIG9wY29kZSAobcOjIHRoYW8gdMOhYykgJXMgKElDOiVzKSB0aMOsIHh1bmcgxJHhu5l0IHbhu5tpIHTDoGkgbmd1ecOqbiAlcyBnaGkgY2jDuiAlZFxuIgogCi0jOiBpYTY0LWdlbi5jOjI0OTcKKyM6IGlhNjQtZ2VuLmM6MjUwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJJQyBub3RlICVkIGZvciBvcGNvZGUgJXMgKElDOiVzKSBjb25mbGljdHMgd2l0aCByZXNvdXJjZSAlcyBub3RlICVkXG4iCiBtc2dzdHIgIkdoaSBjaMO6IElDICVkIGNobyBvcGNvZGUgKG3DoyB0aGFvIHTDoWMpICVzIChJQzolcykgdGjDrCB4dW5nIMSR4buZdCB24bubaSB0w6BpIG5ndXnDqm4gJXMgZ2hpIGNow7ogJWRcbiIKIAotIzogaWE2NC1nZW4uYzoyNTExCisjOiBpYTY0LWdlbi5jOjI1MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAib3Bjb2RlICVzIGhhcyBubyBjbGFzcyAob3BzICVkICVkICVkKVxuIgogbXNnc3RyICJvcGNvZGUgKG3DoyB0aGFvIHTDoWMpICVzIGtow7RuZyBjw7MgaOG6oW5nIChuaOG7r25nIHTDoWMgdOG7rSAlZCAlZCAlZClcbiIKQEAgLTc0MCwyNiArNzkxLDI2IEBACiBtc2dpZCAiaW52YWxpZCAlZnVuY3Rpb24oKSBoZXJlIgogbXNnc3RyICJow6BtICVmdW5jdGlvbigpIGtow7RuZyBo4bujcCBs4buHIOG7nyDEkcOieSIKIAotIzogbWlwcy1kaXMuYzo3NDUKKyM6IG1pcHMtZGlzLmM6NzgxCiBtc2dpZCAiIyBpbnRlcm5hbCBlcnJvciwgaW5jb21wbGV0ZSBleHRlbnNpb24gc2VxdWVuY2UgKCspIgogbXNnc3RyICIjIGzhu5dpIG7hu5lpIGLhu5ksIGTDo3kgbeG7nyBy4buZbmcgY2jGsGEgaG/DoG4gdGjDoG5oICgrKSIKIAotIzogbWlwcy1kaXMuYzo4NTIKKyM6IG1pcHMtZGlzLmM6OTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiMgaW50ZXJuYWwgZXJyb3IsIHVuZGVmaW5lZCBleHRlbnNpb24gc2VxdWVuY2UgKCslYykiCiBtc2dzdHIgIiMgbOG7l2kgbuG7mWkgYuG7mSwgY2jGsGEgeMOhYyDEkeG7i25oIGTDo3kgbeG7nyBy4buZbmcgKCslYykiCiAKLSM6IG1pcHMtZGlzLmM6MTIxMQorIzogbWlwcy1kaXMuYzoxMjc0CiAjLCBjLWZvcm1hdAotbXNnaWQgIiMgaW50ZXJuYWwgZXJyb3IsIHVuZGVmaW5lZCBtb2RpZmllciglYykiCi1tc2dzdHIgIiMgbOG7l2kgbuG7mWkgYuG7mSwgY2jGsGEgeMOhYyDEkeG7i25oIMSRaeG7gXUgc+G7rWEgxJHhu5VpKCVjKSIKK21zZ2lkICIjIGludGVybmFsIGVycm9yLCB1bmRlZmluZWQgbW9kaWZpZXIgKCVjKSIKK21zZ3N0ciAiIyBs4buXaSBu4buZaSBi4buZLCBjaMawYSB4w6FjIMSR4buLbmggxJFp4buBdSBz4butYSDEkeG7lWkgKCVjKSIKIAotIzogbWlwcy1kaXMuYzoxODE4CisjOiBtaXBzLWRpcy5jOjE4ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIyBpbnRlcm5hbCBkaXNhc3NlbWJsZXIgZXJyb3IsIHVucmVjb2duaXNlZCBtb2RpZmllciAoJWMpIgogbXNnc3RyICIjIGzhu5dpIHLDoyBu4buZaSBi4buZLCBraMO0bmcgbmjhuq1uIHJhIMSRaeG7gXUgc+G7rWEgxJHhu5VpICglYykiCiAKLSM6IG1pcHMtZGlzLmM6MjA0OQorIzogbWlwcy1kaXMuYzoyMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTc3MCw3ICs4MjEsNyBAQAogIk7hu69uZyB0w7l5IGNo4buNbiByw6MgxJHhurdjIHRyxrBuZyBjaG8gTUlQUyB0aGVvIMSRw6J5IMSRxrDhu6NjIGjhu5cgdHLhu6MgxJHhu4Mgc+G7rSBk4bulbmdcbiIKICJ24bubaSDEkeG7kWkgc+G7kSDCqyAtTSDCuyAocGjDom4gY8OhY2ggbmhp4buBdSB0w7l5IGNo4buNbiBi4bqxbmcgZOG6pXUgcGjhuql5KTpcbiIKIAotIzogbWlwcy1kaXMuYzoyMDUzCisjOiBtaXBzLWRpcy5jOjIxMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNzgxLDcgKzgzMiw3IEBACiAiICBncHItbmFtZXM9QUJJICAgICAgICAgICAgSW4gcmEgY8OhYyB0w6puIEdQUiB0aGVvIEFCSSDEkcOjIGdoaSByw7UuXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgTeG6t2MgxJHhu4tuaDogZOG7sWEgdsOgbyBtw6MgbmhpIHBow6JuIMSRYW5nIGLhu4sgcsOjXG4iCiAKLSM6IG1pcHMtZGlzLmM6MjA1NworIzogbWlwcy1kaXMuYzoyMTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTc5Miw3ICs4NDMsNyBAQAogIiAgZnByLW5hbWVzPUFCSSAgICAgICAgICAgIEluIHJhIGPDoWMgdMOqbiBGUFIgdGhlbyBBQkkgxJHDoyBnaGkgcsO1LlxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgIE3hurdjIMSR4buLbmg6IHRodeG7mWMgc+G7kVxuIgogCi0jOiBtaXBzLWRpcy5jOjIwNjEKKyM6IG1pcHMtZGlzLmM6MjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC04MDQsNyArODU1LDcgQEAKICIgIGNwMC1uYW1lcz1BUkNIICAgICAgICAgICBJbiByYSBjw6FjIHTDqm4gQ1AwIHRoZW8ga2nhur9uIHRyw7pjIMSRw6MgZ2hpIHLDtVxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgIE3hurdjIMSR4buLbmg6IGThu7FhIHbDoG8gbcOjIG5oaSBwaMOibiDEkWFuZyBi4buLIHLDoy5cbiIKIAotIzogbWlwcy1kaXMuYzoyMDY2CisjOiBtaXBzLWRpcy5jOjIxMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtODE2LDcgKzg2Nyw3IEBACiAiICBod3ItbmFtZXM9QVJDSCAgICAgICAgICAgSW4gcmEgY8OhYyB0w6puIEhXUiB0aGVvIGtp4bq/biB0csO6YyDEkcOjIGdoaSByw7UuXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgTeG6t2MgxJHhu4tuaDogZOG7sWEgdsOgbyBtw6MgbmhpIHBow6JuIMSRYW5nIGLhu4sgcsOjLlxuIgogCi0jOiBtaXBzLWRpcy5jOjIwNzEKKyM6IG1pcHMtZGlzLmM6MjEzNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC04MjYsNyArODc3LDcgQEAKICJcbiIKICIgIHJlZy1uYW1lcz1BQkkgICAgICAgICAgICBJbiByYSBjw6FjIHTDqm4gR1BSIHbDoCBGUFIgdGhlbyBBQkkgxJHDoyBnaGkgcsO1LlxuIgogCi0jOiBtaXBzLWRpcy5jOjIwNzUKKyM6IG1pcHMtZGlzLmM6MjEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC04MzcsNyArODg4LDcgQEAKICIgIHJlZy1uYW1lcz1BUkNIXG4iCiAiXHQgSW4gcmEgY8OhYyB0w6puIEhXUiB2w6AgdGhhbmggZ2hpIENQMCB0aGVvIGtp4bq/biB0csO6YyDEkcOjIGdoaSByw7UuXG4iCiAKLSM6IG1pcHMtZGlzLmM6MjA3OQorIzogbWlwcy1kaXMuYzoyMTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTg0OCwxMiArODk5LDEyIEBACiAiICDEkOG7kWkgduG7m2kgY8OhYyB0w7l5IGNo4buNbiB0csOqbiwgbmjhu69uZyBnacOhIHRy4buLIHRoZW8gxJHDonkgxJHGsOG7o2MgaOG7lyB0cuG7oyBjaG8gwqsgQUJJIMK7OlxuIgogIiAgICIKIAotIzogbWlwcy1kaXMuYzoyMDg0IG1pcHMtZGlzLmM6MjA5MiBtaXBzLWRpcy5jOjIwOTQKKyM6IG1pcHMtZGlzLmM6MjE0NyBtaXBzLWRpcy5jOjIxNTUgbWlwcy1kaXMuYzoyMTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlxuIgogbXNnc3RyICJcbiIKIAotIzogbWlwcy1kaXMuYzoyMDg2CisjOiBtaXBzLWRpcy5jOjIxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtODkyLDkgKzk0Myw4IEBACiBtc2dzdHIgIkfhurdwIGzhu5dpIG5naGnDqm0gdHLhu41uZyB0cm9uZyDCqyBwYXJzZV9pbW0xNiDCuy4iCiAKICM6IG10LWFzbS5jOjE1NwotIywgYy1mb3JtYXQKLW1zZ2lkICIlb3BlcmF0b3Igb3BlcmFuZCBpcyBub3QgYSBzeW1ib2wiCi1tc2dzdHIgIiVvdG/DoW4gdOG7rSB0w6FjIHThu60ga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQga8O9IGhp4buHdSIKK21zZ2lkICJUaGUgcGVyY2VudC1vcGVyYXRvcidzIG9wZXJhbmQgaXMgbm90IGEgc3ltYm9sIgorbXNnc3RyICJUb8OhbiBo4bqhbmcgY+G7p2EgdG/DoW4gdOG7rSBwaOG6p24gdHLEg20ga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQga8O9IGhp4buHdSIKIAogIzogbXQtYXNtLmM6Mzk1CiBtc2dpZCAiaW52YWxpZCBvcGVyYW5kLiAgdHlwZSBtYXkgaGF2ZSB2YWx1ZXMgMCwxLDIgb25seS4iCkBAIC05MTAsNDIgKzk2MCw2MyBAQAogbXNnaWQgIiQ8dW5kZWZpbmVkPiIKIG1zZ3N0ciAiJDxjaMawYSB4w6FjIMSR4buLbmg+IgogCi0jOiBwcGMtb3BjLmM6NzgyIHBwYy1vcGMuYzo4MTAKKyM6IHBwYy1vcGMuYzo4NjIgcHBjLW9wYy5jOjg5MAogbXNnaWQgImludmFsaWQgY29uZGl0aW9uYWwgb3B0aW9uIgogbXNnc3RyICJ0w7l5IGNo4buNbiDEkWnhu4F1IGtp4buHbiBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogcHBjLW9wYy5jOjgxMgorIzogcHBjLW9wYy5jOjg5MgogbXNnaWQgImF0dGVtcHQgdG8gc2V0IHkgYml0IHdoZW4gdXNpbmcgKyBvciAtIG1vZGlmaWVyIgogbXNnc3RyICJ0aOG7rSDEkeG6t3QgwqsgYml0IHkgwrsga2hpIHPhu60gZOG7pW5nIMSRaeG7gXUgc+G7rWEgxJHhu5VpICsgaGF5IC0iCiAKLSM6IHBwYy1vcGMuYzo4NDQKKyM6IHBwYy1vcGMuYzo5MjQKIG1zZ2lkICJpbnZhbGlkIG1hc2sgZmllbGQiCiBtc2dzdHIgInRyxrDhu51uZyBt4bq3dCBu4bqhIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBwcGMtb3BjLmM6ODcwCisjOiBwcGMtb3BjLmM6OTUwCiBtc2dpZCAiaWdub3JpbmcgaW52YWxpZCBtZmNyIG1hc2siCiBtc2dzdHIgIsSRYW5nIGLhu48gcXVhIG3hurd0IG7huqEgbWZjciBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogcHBjLW9wYy5jOjkyMCBwcGMtb3BjLmM6OTU1CisjOiBwcGMtb3BjLmM6MTAwMCBwcGMtb3BjLmM6MTAzNQogbXNnaWQgImlsbGVnYWwgYml0bWFzayIKIG1zZ3N0ciAiZ+G6t3AgbeG6t3QgbuG6tyBiaXQgY+G6pW0iCiAKLSM6IHBwYy1vcGMuYzoxMDc1CisjOiBwcGMtb3BjLmM6MTE1NQogbXNnaWQgImluZGV4IHJlZ2lzdGVyIGluIGxvYWQgcmFuZ2UiCiBtc2dzdHIgInRoYW5oIGdoaSBjxqEgc+G7kSB0cm9uZyBwaOG6oW0gdmkgbuG6oXAiCiAKLSM6IHBwYy1vcGMuYzoxMDkxCisjOiBwcGMtb3BjLmM6MTE3MQogbXNnaWQgInNvdXJjZSBhbmQgdGFyZ2V0IHJlZ2lzdGVyIG9wZXJhbmRzIG11c3QgYmUgZGlmZmVyZW50IgogbXNnc3RyICJ0w6FjIHThu60gdGhhbmggZ2hpIGtp4buDdSBuZ3Xhu5NuIHbDoCDEkcOtY2ggcGjhuqNpIGzDoCBraMOhYyBuaGF1IgogCi0jOiBwcGMtb3BjLmM6MTEwNgorIzogcHBjLW9wYy5jOjExODYKIG1zZ2lkICJpbnZhbGlkIHJlZ2lzdGVyIG9wZXJhbmQgd2hlbiB1cGRhdGluZyIKIG1zZ3N0ciAiZ+G6t3AgdMOhYyB04butIHRoYW5oIGdoaSBraMO0bmcgaOG7o3AgbOG7hyBraGkgY+G6rXAgbmjhuq10IgogCi0jOiBwcGMtb3BjLmM6MTE4OAorIzogcHBjLW9wYy5jOjEyNjUKIG1zZ2lkICJpbnZhbGlkIHNwcmcgbnVtYmVyIgogbXNnc3RyICJz4buRIHNwcmcga2jDtG5nIGjhu6NwIGzhu4ciCiAKKyM6IHMzOTAtZGlzLmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgZm9sbG93aW5nIFMvMzkwIHNwZWNpZmljIGRpc2Fzc2VtYmxlciBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIHVzZVxuIgorIndpdGggdGhlIC1NIHN3aXRjaCAobXVsdGlwbGUgb3B0aW9ucyBzaG91bGQgYmUgc2VwYXJhdGVkIGJ5IGNvbW1hcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaGVvIMSRw6J5IGPDsyBuaOG7r25nIHTDuXkgY2jhu41uIHLDoyDEkeG6t2MgdHLGsG5nIGNobyBTLzM5MCDEkcaw4bujYyBo4buXIHRy4bujIMSR4buDIHPhu60gZOG7pW5nXG4iCisiduG7m2kgxJHhu5FpIHPhu5EgwqsgLU0gwrsgKHBow6JuIGPDoWNoIG5oaeG7gXUgdMO5eSBjaOG7jW4gYuG6sW5nIGThuqV1IHBo4bqpeSk6XG4iCisKKyM6IHMzOTAtZGlzLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgZXNhICAgICAgICAgRGlzYXNzZW1ibGUgaW4gRVNBIGFyY2hpdGVjdHVyZSBtb2RlXG4iCittc2dzdHIgIiAgZXNhICAgICAgICAgUsOjIOG7nyBjaOG6vyDEkeG7mSBraeG6v24gdHLDumMgRVNBXG4iCisKKyM6IHMzOTAtZGlzLmM6MjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgemFyY2ggICAgICAgRGlzYXNzZW1ibGUgaW4gei9BcmNoaXRlY3R1cmUgbW9kZVxuIgorbXNnc3RyICIgIHphcmNoICAgICAgIFLDoyDhu58gY2jhur8gxJHhu5kgei9raeG6v24gdHLDumNcbiIKKwogIzogc2NvcmUtZGlzLmM6MjIwIHNjb3JlLWRpcy5jOjM4MwogbXNnaWQgIjxpbGxlZ2FsIGluc3RydWN0aW9uPiIKIG1zZ3N0ciAiPMSR4buZIGNow61uaCB4w6FjIGPhuqVtPiIKQEAgLTEwMjksMjcgKzExMDAsMjcgQEAKIG1zZ2lkICJpbW1lZGlhdGUgdmFsdWUgbXVzdCBiZSBldmVuIgogbXNnc3RyICJnacOhIHRy4buLIHRy4buxYyB0aeG6v3AgcGjhuqNpIGzDoCBz4buRIGNo4bq1biIKIAotIzogeGMxNngtYXNtLmM6NjUKKyM6IHhjMTZ4LWFzbS5jOjY2CiBtc2dpZCAiTWlzc2luZyAnIycgcHJlZml4IgogbXNnc3RyICJUaGnhur91IHRp4buBbiB04buRIMKrICMgwrsiCiAKLSM6IHhjMTZ4LWFzbS5jOjgxCisjOiB4YzE2eC1hc20uYzo4MgogbXNnaWQgIk1pc3NpbmcgJy4nIHByZWZpeCIKIG1zZ3N0ciAiVGhp4bq/dSB0aeG7gW4gdOG7kSDCqyAuIMK7IgogCi0jOiB4YzE2eC1hc20uYzo5NworIzogeGMxNngtYXNtLmM6OTgKIG1zZ2lkICJNaXNzaW5nICdwb2Y6JyBwcmVmaXgiCiBtc2dzdHIgIlRoaeG6v3UgdGnhu4FuIHThu5EgwqsgcG9mOiDCuyIKIAotIzogeGMxNngtYXNtLmM6MTEzCisjOiB4YzE2eC1hc20uYzoxMTQKIG1zZ2lkICJNaXNzaW5nICdwYWc6JyBwcmVmaXgiCiBtc2dzdHIgIlRoaeG6v3UgdGnhu4FuIHThu5EgwqsgcGFnOiDCuyIKIAotIzogeGMxNngtYXNtLmM6MTI5CisjOiB4YzE2eC1hc20uYzoxMzAKIG1zZ2lkICJNaXNzaW5nICdzb2Y6JyBwcmVmaXgiCiBtc2dzdHIgIlRoaeG6v3UgdGnhu4FuIHThu5Egwqsgc29mOiDCuyIKIAotIzogeGMxNngtYXNtLmM6MTQ1CisjOiB4YzE2eC1hc20uYzoxNDYKIG1zZ2lkICJNaXNzaW5nICdzZWc6JyBwcmVmaXgiCiBtc2dzdHIgIlRoaeG6v3UgdGnhu4FuIHThu5Egwqsgc2VnOiDCuyIKIApAQCAtMTA5Miw0MiArMTE2MywzIEBACiAjOiB4c3Rvcm15MTYtYXNtLmM6MTY1CiBtc2dpZCAiU3ludGF4IGVycm9yOiBObyB0cmFpbGluZyAnKSciCiBtc2dzdHIgIkzhu5dpIGPDuiBwaMOhcDoga2jDtG5nIGPDsyBk4bqldSBuZ2/hurdjIMSRw7NuZyDCqyApIMK7IMSRaSB0aGVvIgotCi0jfiBtc2dpZCAib2Zmc2V0IG5vdCBhIG11bHRpcGxlIG9mIDE2IgotI34gbXNnc3RyICJoaeG7h3Ugc+G7kSBraMO0bmcgcGjhuqNpIGzDoCBi4buZaSBz4buRIGNobyAxNiIKLQotI34gbXNnaWQgIm9mZnNldCBub3QgYSBtdWx0aXBsZSBvZiAyIgotI34gbXNnc3RyICJoaeG7h3Ugc+G7kSBraMO0bmcgcGjhuqNpIGzDoCBi4buZaSBz4buRIGNobyAyIgotCi0jfiBtc2dpZCAib2Zmc2V0IGdyZWF0ZXIgdGhhbiA2MiIKLSN+IG1zZ3N0ciAiaGnhu4d1IHPhu5EgaMahbiA2MiIKLQotI34gbXNnaWQgIm9mZnNldCBub3QgYSBtdWx0aXBsZSBvZiA0IgotI34gbXNnc3RyICJoaeG7h3Ugc+G7kSBraMO0bmcgcGjhuqNpIGzDoCBi4buZaSBz4buRIGNobyA0IgotCi0jfiBtc2dpZCAib2Zmc2V0IGdyZWF0ZXIgdGhhbiAxMjQiCi0jfiBtc2dzdHIgImhp4buHdSBz4buRIGjGoW4gMTI0IgotCi0jfiBtc2dpZCAib2Zmc2V0IG5vdCBhIG11bHRpcGxlIG9mIDgiCi0jfiBtc2dzdHIgImhp4buHdSBz4buRIGtow7RuZyBwaOG6o2kgbMOgIGLhu5lpIHPhu5EgY2hvIDgiCi0KLSN+IG1zZ2lkICJvZmZzZXQgZ3JlYXRlciB0aGFuIDI0OCIKLSN+IG1zZ3N0ciAiaGnhu4d1IHPhu5EgaMahbiAyNDgiCi0KLSN+IG1zZ2lkICJvZmZzZXQgbm90IGJldHdlZW4gLTIwNDggYW5kIDIwNDciCi0jfiBtc2dzdHIgImhp4buHdSBz4buRIGtow7RuZyBwaOG6o2kg4bufIGdp4buvYSAtMjA0OCB2w6AgMjA0NyIKLQotI34gbXNnaWQgIm9mZnNldCBub3QgYmV0d2VlbiAtODE5MiBhbmQgODE5MSIKLSN+IG1zZ3N0ciAiaGnhu4d1IHPhu5Ega2jDtG5nIHBo4bqjaSDhu58gZ2nhu69hIC04MTkyIHbDoCA4MTkxIgotCi0jfiBtc2dpZCAiaWdub3JpbmcgbGVhc3Qgc2lnbmlmaWNhbnQgYml0cyBpbiBicmFuY2ggb2Zmc2V0IgotI34gbXNnc3RyICLEkWFuZyBi4buPIHF1YSBjw6FjIGJpdCB0cuG7jW5nIMSRYWkgw610IG5o4bqldCB0cm9uZyBoaeG7h3Ugc+G7kSBjw6BuaCIKLQotI34gbXNnaWQgInZhbHVlIG91dCBvZiByYW5nZSIKLSN+IG1zZ3N0ciAiZ2nDoSB0cuG7iyDhu58gbmdv4bqhaSBwaOG6oW0gduG7iyIKLQotI34gbXNnaWQgInRhcmdldCByZWdpc3RlciBvcGVyYW5kIG11c3QgYmUgZXZlbiIKLSN+IG1zZ3N0ciAidMOhYyB04butIHRoYW5oIGdoaSDEkcOtY2ggcGjhuqNpIGzDoCBz4buRIGNo4bq1biIKLQotI34gbXNnaWQgInNvdXJjZSByZWdpc3RlciBvcGVyYW5kIG11c3QgYmUgZXZlbiIKLSN+IG1zZ3N0ciAidMOhYyB04butIHRoYW5oIGdoaSBuZ3Xhu5NuIHBo4bqjaSBsw6Agc+G7kSBjaOG6tW4iCmRpZmYgLS1naXQgYS9vcGNvZGVzL3MzOTAtb3BjLmMgYi9vcGNvZGVzL3MzOTAtb3BjLmMKaW5kZXggZDMxY2ExZS4uYmYzYjU4ZCAxMDA2NDQKLS0tIGEvb3Bjb2Rlcy9zMzkwLW9wYy5jCisrKyBiL29wY29kZXMvczM5MC1vcGMuYwpAQCAtMjczLDcgKzI3Myw2IEBACiAjZGVmaW5lIElOU1RSX1JSRl9VMFJGICAgNCwgeyBSXzI0LFU0XzE2LEZfMjgsMCwwLDAgfSAgICAgICAgICAvKiBlLmcuIGNmZWJyICovCiAjZGVmaW5lIElOU1RSX1JSRl9VVUZGICAgNCwgeyBGXzI0LFU0XzE2LEZfMjgsVTRfMjAsMCwwIH0gICAgICAvKiBlLmcuIGZpZHRyICovCiAjZGVmaW5lIElOU1RSX1JSRl8wVUZGICAgNCwgeyBGXzI0LEZfMjgsVTRfMjAsMCwwLDAgfSAgICAgICAgICAvKiBlLmcuIGxkZXRyICovCi0jZGVmaW5lIElOU1RSX1JSRl9GRkZVICAgNCwgeyBGXzI0LEZfMTYsRl8yOCxVNF8yMCwwLDAgfSAgICAgICAvKiBlLmcuIHFhZHRyICovCiAjZGVmaW5lIElOU1RSX1JSRl9GRlJVICAgNCwgeyBGXzI0LEZfMTYsUl8yOCxVNF8yMCwwLDAgfSAgICAgICAvKiBlLmcuIHJyZHRyICovCiAjZGVmaW5lIElOU1RSX1JSRl9NMFJSICAgNCwgeyBSXzI0LFJfMjgsTV8xNiwwLDAsMCB9ICAgICAgICAgICAvKiBlLmcuIHNza2UgICovCiAjZGVmaW5lIElOU1RSX1JSRl9VMFJSICAgNCwgeyBSXzI0LFJfMjgsVTRfMTYsMCwwLDAgfSAgICAgICAgICAvKiBlLmcuIGNscnQgICovCkBAIC0zNzgsNyArMzc3LDYgQEAKICNkZWZpbmUgTUFTS19SUkZfVTBSRiAgICB7IDB4ZmYsIDB4ZmYsIDB4MGYsIDB4MDAsIDB4MDAsIDB4MDAgfQogI2RlZmluZSBNQVNLX1JSRl9VVUZGICAgIHsgMHhmZiwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCB9CiAjZGVmaW5lIE1BU0tfUlJGXzBVRkYgICAgeyAweGZmLCAweGZmLCAweGYwLCAweDAwLCAweDAwLCAweDAwIH0KLSNkZWZpbmUgTUFTS19SUkZfRkZGVSAgICB7IDB4ZmYsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgfQogI2RlZmluZSBNQVNLX1JSRl9GRlJVICAgIHsgMHhmZiwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCB9CiAjZGVmaW5lIE1BU0tfUlJGX00wUlIgICAgeyAweGZmLCAweGZmLCAweDBmLCAweDAwLCAweDAwLCAweDAwIH0KICNkZWZpbmUgTUFTS19SUkZfVTBSUiAgICB7IDB4ZmYsIDB4ZmYsIDB4MGYsIDB4MDAsIDB4MDAsIDB4MDAgfQpkaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9zMzkwLW9wYy50eHQgYi9vcGNvZGVzL3MzOTAtb3BjLnR4dAppbmRleCA2ZTBmM2FkLi41MmMyZWJhIDEwMDY0NAotLS0gYS9vcGNvZGVzL3MzOTAtb3BjLnR4dAorKysgYi9vcGNvZGVzL3MzOTAtb3BjLnR4dApAQCAtMzc4LDggKzM3OCw4IEBACiBiOTkwIHRydHQgUlJFX1JSICJ0cmFuc2xhdGUgdHdvIHRvIHR3byIgZzUgZXNhLHphcmNoCiBlYSB1bnBrYSBTU19MMFJEUkQgInVucGFjayBhc2NpaSIgZzUgZXNhLHphcmNoCiBlMiB1bnBrdSBTU19MMFJEUkQgInVucGFjayB1bmljb2RlIiBnNSBlc2EsemFyY2gKLWIzNTggdGhkZXIgUlJFX1JSICJjb252ZXJ0IHNob3J0IGJmcCB0byBsb25nIGhmcCIgZzUgZXNhLHphcmNoCi1iMzU5IHRoZHIgUlJFX1JSICJjb252ZXJ0IGxvbmcgYmZwIHRvIGxvbmcgaGZwIiBnNSBlc2EsemFyY2gKK2IzNTggdGhkZXIgUlJFX0ZGICJjb252ZXJ0IHNob3J0IGJmcCB0byBsb25nIGhmcCIgZzUgZXNhLHphcmNoCitiMzU5IHRoZHIgUlJFX0ZGICJjb252ZXJ0IGxvbmcgYmZwIHRvIGxvbmcgaGZwIiBnNSBlc2EsemFyY2gKIGIzNTAgdGJlZHIgUlJGX1UwRkYgImNvbnZlcnQgbG9uZyBoZnAgdG8gc2hvcnQgYmZwIiBnNSBlc2EsemFyY2gKIGIzNTEgdGJkciBSUkZfVTBGRiAiY29udmVydCBsb25nIGhmcCB0byBsb25nIGJmcCIgZzUgZXNhLHphcmNoCiBiMzc0IGx6ZXIgUlJFX0YwICJsb2FkIHNob3J0IHplcm8iIGc1IGVzYSx6YXJjaApAQCAtNTU0LDkgKzU1NCw5IEBACiBiM2I2IGN4ZnIgUlJFX0ZSICJjb252ZXJ0IGZyb20gZml4ZWQgMzIgdG8gZXh0ZW5kZWQgaGZwIiBnNSBlc2EsemFyY2gKIGIzYjUgY2RmciBSUkVfRlIgImNvbnZlcnQgZnJvbSBmaXhlZCAzMiB0byBsb25nIGhmcCIgZzUgZXNhLHphcmNoCiBiM2I0IGNlZnIgUlJFX0ZSICJjb252ZXJ0IGZyb20gZml4ZWQgMzIgdG8gc2hvcnQgaGZwIiBnNSBlc2EsemFyY2gKLWIzYmEgY2Z4ciBSUkZfVTBSRiAiY29udmVydCB0byBmaXhlZCBleHRlbmRlZCBoZnAgdG8gMzIiIHo5MDAgemFyY2gKLWIzYjkgY2ZkciBSUkZfVTBSRiAiY29udmVydCB0byBmaXhlZCBsb25nIGhmcCB0byAzMiIgejkwMCB6YXJjaAotYjNiOCBjZmVyIFJSRl9VMFJGICJjb252ZXJ0IHRvIGZpeGVkIHNob3J0IGhmcCB0byAzMiIgejkwMCB6YXJjaAorYjNiYSBjZnhyIFJSRl9VMFJGICJjb252ZXJ0IHRvIGZpeGVkIGV4dGVuZGVkIGhmcCB0byAzMiIgejkwMCBlc2EsemFyY2gKK2IzYjkgY2ZkciBSUkZfVTBSRiAiY29udmVydCB0byBmaXhlZCBsb25nIGhmcCB0byAzMiIgejkwMCBlc2EsemFyY2gKK2IzYjggY2ZlciBSUkZfVTBSRiAiY29udmVydCB0byBmaXhlZCBzaG9ydCBoZnAgdG8gMzIiIHo5MDAgZXNhLHphcmNoCiBiMzYyIGx0eHIgUlJFX0ZGICJsb2FkIGFuZCB0ZXN0IGV4dGVuZGVkIGhmcCIgZzUgZXNhLHphcmNoCiBiMzYzIGxjeHIgUlJFX0ZGICJsb2FkIGNvbXBsZW1lbnQgZXh0ZW5kZWQgaGZwIiBnNSBlc2EsemFyY2gKIGIzNjcgZml4ciBSUkVfRkYgImxvYWQgZnAgaW50ZWdlciBleHRlbmRlZCBoZnAiIGc1IGVzYSx6YXJjaApAQCAtNTc1LDYgKzU3NSw3IEBACiBlZDAwMDAwMDAwMzcgbWVlIFJYRV9GUlJEICJtdWx0aXBseSBzaG9ydCBoZnAiIGc1IGVzYSx6YXJjaAogYjMzNiBzcXhyIFJSRV9GRiAic3F1YXJlIHJvb3QgZXh0ZW5kZWQgaGZwIiBnNSBlc2EsemFyY2gKIGVkMDAwMDAwMDAzNCBzcWUgUlhFX0ZSUkQgInNxdWFyZSByb290IHNob3J0IGhmcCIgZzUgZXNhLHphcmNoCitlZDAwMDAwMDAwMzUgc3FkIFJYRV9GUlJEICJzcXVhcmUgcm9vdCBsb25nIGhmcCIgZzUgZXNhLHphcmNoCiBiMjYzIGNtcHNjIFJSRV9SUiAiY29tcHJlc3Npb24gY2FsbCIgZzUgZXNhLHphcmNoCiBlYjAwMDAwMDAwYzAgdHAgUlNMX1IwUkQgInRlc3QgZGVjaW1hbCIgZzUgZXNhLHphcmNoCiBiMzY1IGx4ciBSUkVfRkYgImxvYWQgZXh0ZW5kZWQgZnAiIGc1IGVzYSx6YXJjaApAQCAtNjE0LDggKzYxNSw4IEBACiBlMzAwMDAwMDAwNTEgbXN5IFJYWV9SUlJEICJtdWx0aXBseSBzaW5nbGUgd2l0aCBsb25nIG9mZnNldCIgejk5MCB6YXJjaAogZWIwMDAwMDAwMDU2IG9peSBTSVlfVVJEICJvciBpbW1lZGlhdGUgd2l0aCBsb25nIG9mZnNldCIgejk5MCB6YXJjaAogZTMwMDAwMDAwMDU2IG95IFJYWV9SUlJEICJvciB3aXRoIGxvbmcgb2Zmc2V0IiB6OTkwIHphcmNoCi1lZDAwMDAwMDAwNjcgc3RkeSBSWFlfRlJSRCAibG9hZCAobG9uZykgd2l0aCBsb25nIG9mZnNldCIgejk5MCB6YXJjaAotZWQwMDAwMDAwMDY2IHN0ZXkgUlhZX0ZSUkQgImxvYWQgKHNob3J0KSB3aXRoIGxvbmcgb2Zmc2V0IiB6OTkwIHphcmNoCitlZDAwMDAwMDAwNjcgc3RkeSBSWFlfRlJSRCAic3RvcmUgKGxvbmcpIHdpdGggbG9uZyBvZmZzZXQiIHo5OTAgemFyY2gKK2VkMDAwMDAwMDA2NiBzdGV5IFJYWV9GUlJEICJzdG9yZSAoc2hvcnQpIHdpdGggbG9uZyBvZmZzZXQiIHo5OTAgemFyY2gKIGUzMDAwMDAwMDA1MCBzdHkgUlhZX1JSUkQgInN0b3JlIHdpdGggbG9uZyBvZmZzZXQiIHo5OTAgemFyY2gKIGViMDAwMDAwMDA5YiBzdGFteSBSU1lfQUFSRCAic3RvcmUgYWNjZXNzIG11bHRpcGxlIHdpdGggbG9uZyBvZmZzZXQiIHo5OTAgemFyY2gKIGUzMDAwMDAwMDA3MiBzdGN5IFJYWV9SUlJEICJzdG9yZSBjaGFyYWN0ZXIgd2l0aCBsb25nIG9mZnNldCIgejk5MCB6YXJjaApAQCAtNjk1LDcgKzY5Niw3IEBACiBlYjAwMDAwMDAwNDUgYnhsZWcgUlNZX1JSUkQgImJyYW5jaCBvbiBpbmRleCBsb3cgb3IgZXF1YWwgNjQiIHo5OTAgemFyY2gKIGViMDAwMDAwMDA4MCBpY21oIFJTWV9SVVJEICJpbnNlcnQgY2hhcmFjdGVycyB1bmRlciBtYXNrIGhpZ2ggd2l0aCBsb25nIG9mZnNldCIgejk5MCB6YXJjaAogZWIwMDAwMDAwMDhlIG12Y2x1IFJTWV9SUlJEICJtb3ZlIGxvbmcgdW5pY29kZSIgejk5MCBlc2EsemFyY2gKLWViMDAwMDAwMDA4ZiBjbGNsdSBSU1lfUlJSRCAiY29tcGFyZSBsb2dpY2FsIGxvbmcgdW5pY29kZSB3aXRoIGxvbmcgb2Zmc2V0IiB6OTkwIHphcmNoCitlYjAwMDAwMDAwOGYgY2xjbHUgUlNZX1JSUkQgImNvbXBhcmUgbG9naWNhbCBsb25nIHVuaWNvZGUgd2l0aCBsb25nIG9mZnNldCIgejk5MCBlc2EsemFyY2gKIGViMDAwMDAwMDA5NiBsbWggUlNZX1JSUkQgImxvYWQgbXVsdGlwbGUgaGlnaCIgejk5MCB6YXJjaAogIyBuZXcgejk5MCBpbnN0cnVjdGlvbnMKIGI5OGEgY3NwZyBSUkVfUlIgImNvbXBhcmUgYW5kIHN3YXAgYW5kIHB1cmdlIiB6OTkwIHphcmNoCkBAIC04MzEsOCArODMyLDggQEAKIGIzZGQgbGR4dHIgUlJGX1VVRkYgImxvYWQgcm91bmRlZCBleHRlbmRlZCBkZnAiIHo5LWVjIHphcmNoCiBiM2QwIG1kdHIgUlJSX0YwRkYgIm11bHRpcGx5IGxvbmcgZGZwIiB6OS1lYyB6YXJjaAogYjNkOCBteHRyIFJSUl9GMEZGICJtdWx0aXBseSBleHRlbmRlZCBkZnAiIHo5LWVjIHphcmNoCi1iM2Y1IHFhZHRyIFJSRl9GRkZVICJRdWFudGl6ZSBsb25nIGRmcCIgejktZWMgemFyY2gKLWIzZmQgcWF4dHIgUlJGX0ZGRlUgIlF1YW50aXplIGV4dGVuZGVkIGRmcCIgejktZWMgemFyY2gKK2IzZjUgcWFkdHIgUlJGX0ZVRkYgIlF1YW50aXplIGxvbmcgZGZwIiB6OS1lYyB6YXJjaAorYjNmZCBxYXh0ciBSUkZfRlVGRiAiUXVhbnRpemUgZXh0ZW5kZWQgZGZwIiB6OS1lYyB6YXJjaAogYjNmNyBycmR0ciBSUkZfRkZSVSAiUmVyb3VuZCBsb25nIGRmcCIgejktZWMgemFyY2gKIGIzZmYgcnJ4dHIgUlJGX0ZGUlUgIlJlcm91bmQgZXh0ZW5kZWQgZGZwIiB6OS1lYyB6YXJjaAogYjJiOSBzcm5tdCBTX1JEICJzZXQgcm91bmRpbmcgbW9kZSBkZnAiIHo5LWVjIHphcmNoCmRpZmYgLS1naXQgYS9vcGNvZGVzL3o4MC1kaXMuYyBiL29wY29kZXMvejgwLWRpcy5jCmluZGV4IDk4MTYxZDkuLmM5ZWUxOWUgMTAwNjQ0Ci0tLSBhL29wY29kZXMvejgwLWRpcy5jCisrKyBiL29wY29kZXMvejgwLWRpcy5jCkBAIC0xMjgsOCArMTI4LDEwIEBACiBwcnRfcnJfbm4gKHN0cnVjdCBidWZmZXIgKmJ1ZiwgZGlzYXNzZW1ibGVfaW5mbyAqIGluZm8sIGNoYXIgKnR4dCkKIHsKICAgY2hhciBteXR4dFtUWFRTSVpdOworICBpbnQgcnI7CiAKLSAgc25wcmludGYgKG15dHh0LCBUWFRTSVosIHR4dCwgcnJfc3RyWyhidWYtPmRhdGFbMF0gPj4gNCkgJiAzXSk7CisgIHJyID0gKGJ1Zi0+ZGF0YVtidWYtPm5fZmV0Y2ggLSAxXSA+PiA0KSAmIDM7IAorICBzbnByaW50ZiAobXl0eHQsIFRYVFNJWiwgdHh0LCBycl9zdHJbcnJdKTsKICAgcmV0dXJuIHBydF9ubiAoYnVmLCBpbmZvLCBteXR4dCk7CiB9CiAKQEAgLTI5Nyw5ICsyOTksMTEgQEAKICAgeyAweDRBLCAweENGLCBwcnRfcnIsICJhZGMgaGwsIiB9LAogICB7IDB4NEIsIDB4Q0YsIHBydF9ycl9ubiwgImxkICVzLCgweCUlMDR4KSIgfSwKICAgeyAweDRELCAweEZGLCBwcnQsICJyZXRpIiB9LAorICB7IDB4NEYsIDB4RkYsIHBydCwgImxkIHIsYSIgfSwKICAgeyAweDU2LCAweEZGLCBwcnQsICJpbSAxIiB9LAogICB7IDB4NTcsIDB4RkYsIHBydCwgImxkIGEsaSIgfSwKICAgeyAweDVFLCAweEZGLCBwcnQsICJpbSAyIiB9LAorICB7IDB4NUYsIDB4RkYsIHBydCwgImxkIGEsciIgfSwKICAgeyAweDY3LCAweEZGLCBwcnQsICJycmQiIH0sCiAgIHsgMHg2RiwgMHhGRiwgcHJ0LCAicmxkIiB9LAogICB7IDB4QTAsIDB4RTQsIGNpcywgIiIgfSwK