Name: series-workflow8zkcd Phase: Failed StartedAt: 2026-07-28 00:34:26 +0000 UTC FinishedAt: 2026-07-28 00:57:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8zkcd[0] Phase: Succeeded StartedAt: 2026-07-28 00:34:26 +0000 UTC FinishedAt: 2026-07-28 00:57:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8zkcd[0].run-triage Phase: Succeeded StartedAt: 2026-07-28 00:34:26 +0000 UTC FinishedAt: 2026-07-28 00:57:22 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU0PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+Mm08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBQQ1MgbG9vcGJhY2sgZmVhdHVyZSB0byB0aGUgc3RtbWFjIChTeW5vcHN5cyBEZXNpZ25XYXJlIE1BQykgZHJpdmVyIGFuZCBhIGNvcnJlc3BvbmRpbmcgQVBJIGluIHBoeWxpbmsuIFRoZSBzdG1tYWMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIHBoeXNpY2FsIGhhcmR3YXJlIG9yIFNvQyBlbXVsYXRpb24gKGUuZy4sIEludGVsIFF1YXJrL0Vsa2hhcnQgTGFrZSBmb3IgUENJLCBvciBzcGVjaWZpYyBBUk0gU29DcyBmb3IgcGxhdGZvcm0pLiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgKGxpa2UgJiMzOTtwYyYjMzk7IG9yICYjMzk7dmlydCYjMzk7IG1hY2hpbmVzKSB1c2VkIGJ5IHN5emthbGxlci4gV2l0aG91dCB0aGUgaGFyZHdhcmUsIHRoZSBkcml2ZXIgd2lsbCBmYWlsIHRvIHByb2JlLCBtYWtpbmcgdGhlIHNlbGZ0ZXN0IGFuZCB0aGUgbmV3IHBoeWxpbmsgbG9vcGJhY2sgY29kZSB1bnJlYWNoYWJsZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTQ8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBlYTcxZWM3NDZkMDQ0ZGViMDA5MzU5YzNiY2RlZTFlNjQ0YjgwNjkzXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdWwgMjggMDA6NTM6NTkgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3Bjcy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3Bjcy5jXG5pbmRleCBkZjM3YWY1YWI4MzdhZi4uOTBhMjFhMmY3ZTg3MzEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY3MuY1xuQEAgLTE2OCw2ICYjNDM7MTY4LDIyIEBAIHN0YXRpYyB2b2lkIGR3bWFjX2ludGVncmF0ZWRfcGNzX2FuX3Jlc3RhcnQoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpXG4gXHR9XG4gfVxuIFxuJiM0MztzdGF0aWMgaW50IGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCBib29sIGVuYWJsZSlcbiYjNDM7e1xuJiM0MztcdHN0cnVjdCBzdG1tYWNfcGNzICpzcGNzID0gcGh5bGlua19wY3NfdG9fc3RtbWFjX3BjcyhwY3MpO1xuJiM0MztcdHZvaWQgX19pb21lbSAqYW5fY29udHJvbCA9IHNwY3MtXHUwMDNlYmFzZSAmIzQzOyBHTUFDX0FOX0NUUkwoMCk7XG4mIzQzO1x0dTMyIGN0cmw7XG4mIzQzO1xuJiM0MztcdGN0cmwgPSByZWFkbChhbl9jb250cm9sKTtcbiYjNDM7XHRpZiAoZW5hYmxlKVxuJiM0MztcdFx0Y3RybCB8PSBHTUFDX0FOX0NUUkxfRUxFO1xuJiM0MztcdGVsc2VcbiYjNDM7XHRcdGN0cmwgXHUwMDI2PSB+R01BQ19BTl9DVFJMX0VMRTtcbiYjNDM7XHR3cml0ZWwoY3RybCwgYW5fY29udHJvbCk7XG4mIzQzO1xuJiM0MztcdHJldHVybiAwO1xuJiM0Mzt9XG4mIzQzO1xuIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGh5bGlua19wY3Nfb3BzIGR3bWFjX2ludGVncmF0ZWRfcGNzX29wcyA9IHtcbiBcdC5wY3NfaW5iYW5kX2NhcHMgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19pbmJhbmRfY2FwcyxcbiBcdC5wY3NfZW5hYmxlID0gZHdtYWNfaW50ZWdyYXRlZF9wY3NfZW5hYmxlLFxuQEAgLTE3NSw2ICYjNDM7MTkxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwaHlsaW5rX3Bjc19vcHMgZHdtYWNfaW50ZWdyYXRlZF9wY3Nfb3BzID0ge1xuIFx0LnBjc19nZXRfc3RhdGUgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19nZXRfc3RhdGUsXG4gXHQucGNzX2NvbmZpZyA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2NvbmZpZyxcbiBcdC5wY3NfYW5fcmVzdGFydCA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2FuX3Jlc3RhcnQsXG4mIzQzO1x0LnBjc19sb29wYmFjayA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrLFxuIH07XG4gXG4gdm9pZCBzdG1tYWNfaW50ZWdyYXRlZF9wY3NfaXJxKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiwgdTMyIHN0YXR1cyxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmNcbmluZGV4IDI5ZTgyNGJkOTBjYTZiLi43N2E0NTdiMmZhNWNmNyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3NlbGZ0ZXN0cy5jXG5AQCAtMTksNiAmIzQzOzE5LDcgQEBcbiAjaW5jbHVkZSBcdTAwM2NuZXQvdWRwLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NuZXQvdGNfYWN0L3RjX2dhY3QuaFx1MDAzZVxuICNpbmNsdWRlIFwmIzM0O3N0bW1hYy5oXCYjMzQ7XG4mIzQzOyNpbmNsdWRlIFwmIzM0O3N0bW1hY19wY3MuaFwmIzM0O1xuIFxuIHN0cnVjdCBzdG1tYWNoZHIge1xuIFx0X19iZTMyIHZlcnNpb247XG5AQCAtMzc0LDIzICYjNDM7Mzc1LDUxIEBAIHN0YXRpYyBpbnQgc3RtbWFjX3Rlc3RfbWFjX2xvb3BiYWNrKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdilcbiBcdHJldHVybiBfX3N0bW1hY190ZXN0X2xvb3BiYWNrKHByaXYsIFx1MDAyNmF0dHIpO1xuIH1cbiBcbiYjNDM7c3RhdGljIHN0cnVjdCBwaHlsaW5rX3BjcyAqc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3Moc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuJiM0Mzt7XG4mIzQzO1x0LyogVHJ5IGdsdWUgZHJpdmVyJiMzOTtzIFBDUyBmaXJzdCwgdGhlbiB0aGUgaW50ZWdyYXRlZCBQQ1MuICovXG4mIzQzO1x0aWYgKHByaXYtXHUwMDNlaHctXHUwMDNlcGh5bGlua19wY3MpXG4mIzQzO1x0XHRyZXR1cm4gcHJpdi1cdTAwM2Vody1cdTAwM2VwaHlsaW5rX3BjcztcbiYjNDM7XG4mIzQzO1x0aWYgKHByaXYtXHUwMDNlaW50ZWdyYXRlZF9wY3MpXG4mIzQzO1x0XHRyZXR1cm4gXHUwMDI2cHJpdi1cdTAwM2VpbnRlZ3JhdGVkX3Bjcy1cdTAwM2VwY3M7XG4mIzQzO1xuJiM0MztcdHJldHVybiBOVUxMO1xuJiM0Mzt9XG4mIzQzO1xuIHN0YXRpYyBpbnQgc3RtbWFjX3Rlc3RfcGh5X2xvb3BiYWNrKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdilcbiB7XG4gXHRzdHJ1Y3Qgc3RtbWFjX3BhY2tldF9hdHRycyBhdHRyID0geyB9O1xuJiM0MztcdHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzO1xuIFx0aW50IHJldDtcbiBcbi1cdGlmICghcHJpdi1cdTAwM2VkZXYtXHUwMDNlcGh5ZGV2KVxuLVx0XHRyZXR1cm4gLUVPUE5PVFNVUFA7XG4mIzQzO1x0aWYgKHByaXYtXHUwMDNlZGV2LVx1MDAzZXBoeWRldikge1xuJiM0MztcdFx0cmV0ID0gcGh5X2xvb3BiYWNrKHByaXYtXHUwMDNlZGV2LVx1MDAzZXBoeWRldiwgdHJ1ZSwgMCk7XG4mIzQzO1x0XHRpZiAocmV0KVxuJiM0MztcdFx0XHRyZXR1cm4gcmV0O1xuIFxuLVx0cmV0ID0gcGh5X2xvb3BiYWNrKHByaXYtXHUwMDNlZGV2LVx1MDAzZXBoeWRldiwgdHJ1ZSwgMCk7XG4tXHRpZiAocmV0KVxuJiM0MztcdFx0YXR0ci5kc3QgPSBwcml2LVx1MDAzZWRldi1cdTAwM2VkZXZfYWRkcjtcbiYjNDM7XHRcdHJldCA9IF9fc3RtbWFjX3Rlc3RfbG9vcGJhY2socHJpdiwgXHUwMDI2YXR0cik7XG4mIzQzO1xuJiM0MztcdFx0cGh5X2xvb3BiYWNrKHByaXYtXHUwMDNlZGV2LVx1MDAzZXBoeWRldiwgZmFsc2UsIDApO1xuIFx0XHRyZXR1cm4gcmV0O1xuJiM0MztcdH1cbiBcbi1cdGF0dHIuZHN0ID0gcHJpdi1cdTAwM2VkZXYtXHUwMDNlZGV2X2FkZHI7XG4tXHRyZXQgPSBfX3N0bW1hY190ZXN0X2xvb3BiYWNrKHByaXYsIFx1MDAyNmF0dHIpO1xuJiM0MztcdC8qIFVzZSBQQ1MgbG9vcGJhY2sgZm9yIGludGVyZmFjZXMgd2l0aG91dCBhbiBleHRlcm5hbCBQSFkuICovXG4mIzQzO1x0cGNzID0gc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdik7XG4mIzQzO1x0aWYgKHBjcykge1xuJiM0MztcdFx0cmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2socGNzLCB0cnVlKTtcbiYjNDM7XHRcdGlmIChyZXQpXG4mIzQzO1x0XHRcdHJldHVybiByZXQ7XG4gXG4tXHRwaHlfbG9vcGJhY2socHJpdi1cdTAwM2VkZXYtXHUwMDNlcGh5ZGV2LCBmYWxzZSwgMCk7XG4tXHRyZXR1cm4gcmV0O1xuJiM0MztcdFx0YXR0ci5kc3QgPSBwcml2LVx1MDAzZWRldi1cdTAwM2VkZXZfYWRkcjtcbiYjNDM7XHRcdHJldCA9IF9fc3RtbWFjX3Rlc3RfbG9vcGJhY2socHJpdiwgXHUwMDI2YXR0cik7XG4mIzQzO1xuJiM0MztcdFx0cGh5bGlua19wY3NfbG9vcGJhY2socGNzLCBmYWxzZSk7XG4mIzQzO1x0XHRyZXR1cm4gcmV0O1xuJiM0MztcdH1cbiYjNDM7XG4mIzQzO1x0cmV0dXJuIC1FT1BOT1RTVVBQO1xuIH1cbiBcbiBzdGF0aWMgaW50IHN0bW1hY190ZXN0X21tYyhzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYpXG5AQCAtMTk4Niw2ICYjNDM7MjAxNSw5IEBAIHZvaWQgc3RtbWFjX3NlbGZ0ZXN0X3J1bihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuIFx0XHRcdHJldCA9IC1FT1BOT1RTVVBQO1xuIFx0XHRcdGlmIChkZXYtXHUwMDNlcGh5ZGV2KVxuIFx0XHRcdFx0cmV0ID0gcGh5X2xvb3BiYWNrKGRldi1cdTAwM2VwaHlkZXYsIHRydWUsIDApO1xuJiM0MztcdFx0XHRlbHNlXG4mIzQzO1x0XHRcdFx0cmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2soc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdiksXG4mIzQzO1x0XHRcdFx0XHRcdFx0ICAgdHJ1ZSk7XG4gXHRcdFx0aWYgKCFyZXQpXG4gXHRcdFx0XHRicmVhaztcbiBcdFx0XHRmYWxsdGhyb3VnaDtcbkBAIC0yMDE5LDYgJiM0MzsyMDUxLDkgQEAgdm9pZCBzdG1tYWNfc2VsZnRlc3RfcnVuKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4gXHRcdFx0cmV0ID0gLUVPUE5PVFNVUFA7XG4gXHRcdFx0aWYgKGRldi1cdTAwM2VwaHlkZXYpXG4gXHRcdFx0XHRyZXQgPSBwaHlfbG9vcGJhY2soZGV2LVx1MDAzZXBoeWRldiwgZmFsc2UsIDApO1xuJiM0MztcdFx0XHRlbHNlXG4mIzQzO1x0XHRcdFx0cmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2soc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdiksXG4mIzQzO1x0XHRcdFx0XHRcdFx0ICAgZmFsc2UpO1xuIFx0XHRcdGlmICghcmV0KVxuIFx0XHRcdFx0YnJlYWs7XG4gXHRcdFx0ZmFsbHRocm91Z2g7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYyBiL2RyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmNcbmluZGV4IDU5ZGZlMzVhZmE1NGZjLi42OTI0MmNhZmZhZWY1MSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmNcbkBAIC05OTcsNiAmIzQzOzk5NywyNSBAQCBpbnQgcGh5bGlua19wY3NfcHJlX2luaXQoc3RydWN0IHBoeWxpbmsgKnBsLCBzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcylcbiB9XG4gRVhQT1JUX1NZTUJPTF9HUEwocGh5bGlua19wY3NfcHJlX2luaXQpO1xuIFxuJiM0MzsvKipcbiYjNDM7ICogcGh5bGlua19wY3NfbG9vcGJhY2soKSAtIEVuYWJsZSBvciBkaXNhYmxlIGxvb3BiYWNrIGF0IHRoZSBQQ1NcbiYjNDM7ICogQHBjczogYSBwb2ludGVyIHRvIGEgXHUwMDI2c3RydWN0IHBoeWxpbmtfcGNzLlxuJiM0MzsgKiBAZW5hYmxlOiB0cnVlIHRvIGVuYWJsZSBsb29wYmFjaywgZmFsc2UgdG8gZGlzYWJsZVxuJiM0MzsgKlxuJiM0MzsgKiBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBtb2RlIGF0IHRoZSBQQ1MgbGV2ZWwuIFRoaXMgaXMgdXNlZCBieSBNQUNcbiYjNDM7ICogZHJpdmVycyBmb3Igc2VsZnRlc3QgcHVycG9zZXMgd2hlbiBubyBleHRlcm5hbCBQSFkgaXMgcHJlc2VudC5cbiYjNDM7ICpcbiYjNDM7ICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS5cbiYjNDM7ICovXG4mIzQzO2ludCBwaHlsaW5rX3Bjc19sb29wYmFjayhzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpXG4mIzQzO3tcbiYjNDM7XHRpZiAocGNzIFx1MDAyNlx1MDAyNiBwY3MtXHUwMDNlb3BzLVx1MDAzZXBjc19sb29wYmFjaylcbiYjNDM7XHRcdHJldHVybiBwY3MtXHUwMDNlb3BzLVx1MDAzZXBjc19sb29wYmFjayhwY3MsIGVuYWJsZSk7XG4mIzQzO1xuJiM0MztcdHJldHVybiAtRU9QTk9UU1VQUDtcbiYjNDM7fVxuJiM0MztFWFBPUlRfU1lNQk9MX0dQTChwaHlsaW5rX3Bjc19sb29wYmFjayk7XG4mIzQzO1xuIHN0YXRpYyB2b2lkIHBoeWxpbmtfbWFjX2NvbmZpZyhzdHJ1Y3QgcGh5bGluayAqcGwsXG4gXHRcdFx0ICAgICAgIGNvbnN0IHN0cnVjdCBwaHlsaW5rX2xpbmtfc3RhdGUgKnN0YXRlKVxuIHtcbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaCBiL2luY2x1ZGUvbGludXgvcGh5bGluay5oXG5pbmRleCAyYmMwZGIzZDUyYWM4ZC4uNjZjNzAxNmQ0YWNkY2IgMTAwNjQ0XG4tLS0gYS9pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaFxuJiM0MzsmIzQzOyYjNDM7IGIvaW5jbHVkZS9saW51eC9waHlsaW5rLmhcbkBAIC01MTgsNiAmIzQzOzUxOCw3IEBAIHN0cnVjdCBwaHlsaW5rX3BjcyB7XG4gICpcdFx0ICAgIHRoZSBNQUMuXG4gICogQHBjc19wcmVfaW5pdDogY29uZmlndXJlIFBDUyBjb21wb25lbnRzIG5lY2Vzc2FyeSBmb3IgTUFDIGhhcmR3YXJlXG4gICogICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZS5nLiBSWCBjbG9jayBmb3Igc3RtbWFjLlxuJiM0MzsgKiBAcGNzX2xvb3BiYWNrOiBlbmFibGUvZGlzYWJsZSBsb29wYmFjayBtb2RlIGF0IHRoZSBQQ1MuXG4gICovXG4gc3RydWN0IHBoeWxpbmtfcGNzX29wcyB7XG4gXHRpbnQgKCpwY3NfdmFsaWRhdGUpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCB1bnNpZ25lZCBsb25nICpzdXBwb3J0ZWQsXG5AQCAtNTQyLDYgJiM0Mzs1NDMsNyBAQCBzdHJ1Y3QgcGh5bGlua19wY3Nfb3BzIHtcbiBcdHZvaWQgKCpwY3NfZGlzYWJsZV9lZWUpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTtcbiBcdHZvaWQgKCpwY3NfZW5hYmxlX2VlZSkoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpO1xuIFx0aW50ICgqcGNzX3ByZV9pbml0KShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcyk7XG4mIzQzO1x0aW50ICgqcGNzX2xvb3BiYWNrKShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpO1xuIH07XG4gXG4gI2lmIDAgLyogRm9yIGtlcm5lbC1kb2MgcHVycG9zZXMgb25seS4gKi9cbkBAIC03MTcsOCAmIzQzOzcxOSwyMiBAQCB2b2lkIHBjc19lbmFibGVfZWVlKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTtcbiAgKi9cbiBpbnQgcGNzX3ByZV9pbml0KHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTtcbiBcbiYjNDM7LyoqXG4mIzQzOyAqIHBjc19sb29wYmFjaygpIC0gRW5hYmxlIG9yIGRpc2FibGUgbG9vcGJhY2sgYXQgdGhlIFBDU1xuJiM0MzsgKiBAcGNzOiBhIHBvaW50ZXIgdG8gYSBcdTAwMjZzdHJ1Y3QgcGh5bGlua19wY3MuXG4mIzQzOyAqIEBlbmFibGU6IHRydWUgdG8gZW5hYmxlIGxvb3BiYWNrLCBmYWxzZSB0byBkaXNhYmxlXG4mIzQzOyAqXG4mIzQzOyAqIEVuYWJsZSBvciBkaXNhYmxlIGxvb3BiYWNrIG1vZGUgYXQgdGhlIFBDUyBsZXZlbC4gVGhpcyBpcyB1c2VkIGJ5IE1BQ1xuJiM0MzsgKiBkcml2ZXJzIGZvciBzZWxmdGVzdCBwdXJwb3NlcyB3aGVuIG5vIGV4dGVybmFsIFBIWSBpcyBwcmVzZW50LlxuJiM0MzsgKlxuJiM0MzsgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcywgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuXG4mIzQzOyAqL1xuJiM0MztpbnQgcGNzX2xvb3BiYWNrKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCBib29sIGVuYWJsZSk7XG4mIzQzO1xuICNlbmRpZlxuIFxuJiM0MztpbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKTtcbiYjNDM7XG4gc3RydWN0IHBoeWxpbmsgKnBoeWxpbmtfY3JlYXRlKHN0cnVjdCBwaHlsaW5rX2NvbmZpZyAqLFxuIFx0XHRcdCAgICAgICBjb25zdCBzdHJ1Y3QgZndub2RlX2hhbmRsZSAqLFxuIFx0XHRcdCAgICAgICBwaHlfaW50ZXJmYWNlX3QsXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTQ8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+Mm08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBQQ1MgbG9vcGJhY2sgZmVhdHVyZSB0byB0aGUgc3RtbWFjIChTeW5vcHN5cyBEZXNpZ25XYXJlIE1BQykgZHJpdmVyIGFuZCBhIGNvcnJlc3BvbmRpbmcgQVBJIGluIHBoeWxpbmsuIFRoZSBzdG1tYWMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIHBoeXNpY2FsIGhhcmR3YXJlIG9yIFNvQyBlbXVsYXRpb24gKGUuZy4sIEludGVsIFF1YXJrL0Vsa2hhcnQgTGFrZSBmb3IgUENJLCBvciBzcGVjaWZpYyBBUk0gU29DcyBmb3IgcGxhdGZvcm0pLiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgKGxpa2UgJiMzOTtwYyYjMzk7IG9yICYjMzk7dmlydCYjMzk7IG1hY2hpbmVzKSB1c2VkIGJ5IHN5emthbGxlci4gV2l0aG91dCB0aGUgaGFyZHdhcmUsIHRoZSBkcml2ZXIgd2lsbCBmYWlsIHRvIHByb2JlLCBtYWtpbmcgdGhlIHNlbGZ0ZXN0IGFuZCB0aGUgbmV3IHBoeWxpbmsgbG9vcGJhY2sgY29kZSB1bnJlYWNoYWJsZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBlYTcxZWM3NDZkMDQ0ZGViMDA5MzU5YzNiY2RlZTFlNjQ0YjgwNjkzCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFR1ZSBKdWwgMjggMDA6NTM6NTkgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmMKaW5kZXggZGYzN2FmNWFiODM3YWYuLjkwYTIxYTJmN2U4NzMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3Bjcy5jCkBAIC0xNjgsNiAmIzQzOzE2OCwyMiBAQCBzdGF0aWMgdm9pZCBkd21hY19pbnRlZ3JhdGVkX3Bjc19hbl9yZXN0YXJ0KHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKQogCX0KIH0KIAomIzQzO3N0YXRpYyBpbnQgZHdtYWNfaW50ZWdyYXRlZF9wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKQomIzQzO3sKJiM0MzsJc3RydWN0IHN0bW1hY19wY3MgKnNwY3MgPSBwaHlsaW5rX3Bjc190b19zdG1tYWNfcGNzKHBjcyk7CiYjNDM7CXZvaWQgX19pb21lbSAqYW5fY29udHJvbCA9IHNwY3MtJmd0O2Jhc2UgJiM0MzsgR01BQ19BTl9DVFJMKDApOwomIzQzOwl1MzIgY3RybDsKJiM0MzsKJiM0MzsJY3RybCA9IHJlYWRsKGFuX2NvbnRyb2wpOwomIzQzOwlpZiAoZW5hYmxlKQomIzQzOwkJY3RybCB8PSBHTUFDX0FOX0NUUkxfRUxFOwomIzQzOwllbHNlCiYjNDM7CQljdHJsICZhbXA7PSB+R01BQ19BTl9DVFJMX0VMRTsKJiM0MzsJd3JpdGVsKGN0cmwsIGFuX2NvbnRyb2wpOwomIzQzOwomIzQzOwlyZXR1cm4gMDsKJiM0Mzt9CiYjNDM7CiBzdGF0aWMgY29uc3Qgc3RydWN0IHBoeWxpbmtfcGNzX29wcyBkd21hY19pbnRlZ3JhdGVkX3Bjc19vcHMgPSB7CiAJLnBjc19pbmJhbmRfY2FwcyA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2luYmFuZF9jYXBzLAogCS5wY3NfZW5hYmxlID0gZHdtYWNfaW50ZWdyYXRlZF9wY3NfZW5hYmxlLApAQCAtMTc1LDYgJiM0MzsxOTEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBoeWxpbmtfcGNzX29wcyBkd21hY19pbnRlZ3JhdGVkX3Bjc19vcHMgPSB7CiAJLnBjc19nZXRfc3RhdGUgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19nZXRfc3RhdGUsCiAJLnBjc19jb25maWcgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19jb25maWcsCiAJLnBjc19hbl9yZXN0YXJ0ID0gZHdtYWNfaW50ZWdyYXRlZF9wY3NfYW5fcmVzdGFydCwKJiM0MzsJLnBjc19sb29wYmFjayA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrLAogfTsKIAogdm9pZCBzdG1tYWNfaW50ZWdyYXRlZF9wY3NfaXJxKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiwgdTMyIHN0YXR1cywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYwppbmRleCAyOWU4MjRiZDkwY2E2Yi4uNzdhNDU3YjJmYTVjZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMKQEAgLTE5LDYgJiM0MzsxOSw3IEBACiAjaW5jbHVkZSAmbHQ7bmV0L3VkcC5oJmd0OwogI2luY2x1ZGUgJmx0O25ldC90Y19hY3QvdGNfZ2FjdC5oJmd0OwogI2luY2x1ZGUgJiMzNDtzdG1tYWMuaCYjMzQ7CiYjNDM7I2luY2x1ZGUgJiMzNDtzdG1tYWNfcGNzLmgmIzM0OwogCiBzdHJ1Y3Qgc3RtbWFjaGRyIHsKIAlfX2JlMzIgdmVyc2lvbjsKQEAgLTM3NCwyMyAmIzQzOzM3NSw1MSBAQCBzdGF0aWMgaW50IHN0bW1hY190ZXN0X21hY19sb29wYmFjayhzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYpCiAJcmV0dXJuIF9fc3RtbWFjX3Rlc3RfbG9vcGJhY2socHJpdiwgJmFtcDthdHRyKTsKIH0KIAomIzQzO3N0YXRpYyBzdHJ1Y3QgcGh5bGlua19wY3MgKnN0bW1hY19zZWxmdGVzdF9nZXRfcGNzKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdikKJiM0Mzt7CiYjNDM7CS8qIFRyeSBnbHVlIGRyaXZlciYjMzk7cyBQQ1MgZmlyc3QsIHRoZW4gdGhlIGludGVncmF0ZWQgUENTLiAqLwomIzQzOwlpZiAocHJpdi0mZ3Q7aHctJmd0O3BoeWxpbmtfcGNzKQomIzQzOwkJcmV0dXJuIHByaXYtJmd0O2h3LSZndDtwaHlsaW5rX3BjczsKJiM0MzsKJiM0MzsJaWYgKHByaXYtJmd0O2ludGVncmF0ZWRfcGNzKQomIzQzOwkJcmV0dXJuICZhbXA7cHJpdi0mZ3Q7aW50ZWdyYXRlZF9wY3MtJmd0O3BjczsKJiM0MzsKJiM0MzsJcmV0dXJuIE5VTEw7CiYjNDM7fQomIzQzOwogc3RhdGljIGludCBzdG1tYWNfdGVzdF9waHlfbG9vcGJhY2soc3RydWN0IHN0bW1hY19wcml2ICpwcml2KQogewogCXN0cnVjdCBzdG1tYWNfcGFja2V0X2F0dHJzIGF0dHIgPSB7IH07CiYjNDM7CXN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzOwogCWludCByZXQ7CiAKLQlpZiAoIXByaXYtJmd0O2Rldi0mZ3Q7cGh5ZGV2KQotCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiYjNDM7CWlmIChwcml2LSZndDtkZXYtJmd0O3BoeWRldikgewomIzQzOwkJcmV0ID0gcGh5X2xvb3BiYWNrKHByaXYtJmd0O2Rldi0mZ3Q7cGh5ZGV2LCB0cnVlLCAwKTsKJiM0MzsJCWlmIChyZXQpCiYjNDM7CQkJcmV0dXJuIHJldDsKIAotCXJldCA9IHBoeV9sb29wYmFjayhwcml2LSZndDtkZXYtJmd0O3BoeWRldiwgdHJ1ZSwgMCk7Ci0JaWYgKHJldCkKJiM0MzsJCWF0dHIuZHN0ID0gcHJpdi0mZ3Q7ZGV2LSZndDtkZXZfYWRkcjsKJiM0MzsJCXJldCA9IF9fc3RtbWFjX3Rlc3RfbG9vcGJhY2socHJpdiwgJmFtcDthdHRyKTsKJiM0MzsKJiM0MzsJCXBoeV9sb29wYmFjayhwcml2LSZndDtkZXYtJmd0O3BoeWRldiwgZmFsc2UsIDApOwogCQlyZXR1cm4gcmV0OwomIzQzOwl9CiAKLQlhdHRyLmRzdCA9IHByaXYtJmd0O2Rldi0mZ3Q7ZGV2X2FkZHI7Ci0JcmV0ID0gX19zdG1tYWNfdGVzdF9sb29wYmFjayhwcml2LCAmYW1wO2F0dHIpOwomIzQzOwkvKiBVc2UgUENTIGxvb3BiYWNrIGZvciBpbnRlcmZhY2VzIHdpdGhvdXQgYW4gZXh0ZXJuYWwgUEhZLiAqLwomIzQzOwlwY3MgPSBzdG1tYWNfc2VsZnRlc3RfZ2V0X3Bjcyhwcml2KTsKJiM0MzsJaWYgKHBjcykgewomIzQzOwkJcmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2socGNzLCB0cnVlKTsKJiM0MzsJCWlmIChyZXQpCiYjNDM7CQkJcmV0dXJuIHJldDsKIAotCXBoeV9sb29wYmFjayhwcml2LSZndDtkZXYtJmd0O3BoeWRldiwgZmFsc2UsIDApOwotCXJldHVybiByZXQ7CiYjNDM7CQlhdHRyLmRzdCA9IHByaXYtJmd0O2Rldi0mZ3Q7ZGV2X2FkZHI7CiYjNDM7CQlyZXQgPSBfX3N0bW1hY190ZXN0X2xvb3BiYWNrKHByaXYsICZhbXA7YXR0cik7CiYjNDM7CiYjNDM7CQlwaHlsaW5rX3Bjc19sb29wYmFjayhwY3MsIGZhbHNlKTsKJiM0MzsJCXJldHVybiByZXQ7CiYjNDM7CX0KJiM0MzsKJiM0MzsJcmV0dXJuIC1FT1BOT1RTVVBQOwogfQogCiBzdGF0aWMgaW50IHN0bW1hY190ZXN0X21tYyhzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYpCkBAIC0xOTg2LDYgJiM0MzsyMDE1LDkgQEAgdm9pZCBzdG1tYWNfc2VsZnRlc3RfcnVuKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCQlyZXQgPSAtRU9QTk9UU1VQUDsKIAkJCWlmIChkZXYtJmd0O3BoeWRldikKIAkJCQlyZXQgPSBwaHlfbG9vcGJhY2soZGV2LSZndDtwaHlkZXYsIHRydWUsIDApOwomIzQzOwkJCWVsc2UKJiM0MzsJCQkJcmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2soc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdiksCiYjNDM7CQkJCQkJCSAgIHRydWUpOwogCQkJaWYgKCFyZXQpCiAJCQkJYnJlYWs7CiAJCQlmYWxsdGhyb3VnaDsKQEAgLTIwMTksNiAmIzQzOzIwNTEsOSBAQCB2b2lkIHN0bW1hY19zZWxmdGVzdF9ydW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAkJCXJldCA9IC1FT1BOT1RTVVBQOwogCQkJaWYgKGRldi0mZ3Q7cGh5ZGV2KQogCQkJCXJldCA9IHBoeV9sb29wYmFjayhkZXYtJmd0O3BoeWRldiwgZmFsc2UsIDApOwomIzQzOwkJCWVsc2UKJiM0MzsJCQkJcmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2soc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdiksCiYjNDM7CQkJCQkJCSAgIGZhbHNlKTsKIAkJCWlmICghcmV0KQogCQkJCWJyZWFrOwogCQkJZmFsbHRocm91Z2g7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvcGh5bGluay5jIGIvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYwppbmRleCA1OWRmZTM1YWZhNTRmYy4uNjkyNDJjYWZmYWVmNTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYwpAQCAtOTk3LDYgJiM0Mzs5OTcsMjUgQEAgaW50IHBoeWxpbmtfcGNzX3ByZV9pbml0KHN0cnVjdCBwaHlsaW5rICpwbCwgc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpCiB9CiBFWFBPUlRfU1lNQk9MX0dQTChwaHlsaW5rX3Bjc19wcmVfaW5pdCk7CiAKJiM0MzsvKioKJiM0MzsgKiBwaHlsaW5rX3Bjc19sb29wYmFjaygpIC0gRW5hYmxlIG9yIGRpc2FibGUgbG9vcGJhY2sgYXQgdGhlIFBDUwomIzQzOyAqIEBwY3M6IGEgcG9pbnRlciB0byBhICZhbXA7c3RydWN0IHBoeWxpbmtfcGNzLgomIzQzOyAqIEBlbmFibGU6IHRydWUgdG8gZW5hYmxlIGxvb3BiYWNrLCBmYWxzZSB0byBkaXNhYmxlCiYjNDM7ICoKJiM0MzsgKiBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBtb2RlIGF0IHRoZSBQQ1MgbGV2ZWwuIFRoaXMgaXMgdXNlZCBieSBNQUMKJiM0MzsgKiBkcml2ZXJzIGZvciBzZWxmdGVzdCBwdXJwb3NlcyB3aGVuIG5vIGV4dGVybmFsIFBIWSBpcyBwcmVzZW50LgomIzQzOyAqCiYjNDM7ICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KJiM0MzsgKi8KJiM0MztpbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKQomIzQzO3sKJiM0MzsJaWYgKHBjcyAmYW1wOyZhbXA7IHBjcy0mZ3Q7b3BzLSZndDtwY3NfbG9vcGJhY2spCiYjNDM7CQlyZXR1cm4gcGNzLSZndDtvcHMtJmd0O3Bjc19sb29wYmFjayhwY3MsIGVuYWJsZSk7CiYjNDM7CiYjNDM7CXJldHVybiAtRU9QTk9UU1VQUDsKJiM0Mzt9CiYjNDM7RVhQT1JUX1NZTUJPTF9HUEwocGh5bGlua19wY3NfbG9vcGJhY2spOwomIzQzOwogc3RhdGljIHZvaWQgcGh5bGlua19tYWNfY29uZmlnKHN0cnVjdCBwaHlsaW5rICpwbCwKIAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgcGh5bGlua19saW5rX3N0YXRlICpzdGF0ZSkKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGh5bGluay5oIGIvaW5jbHVkZS9saW51eC9waHlsaW5rLmgKaW5kZXggMmJjMGRiM2Q1MmFjOGQuLjY2YzcwMTZkNGFjZGNiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaAomIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaApAQCAtNTE4LDYgJiM0Mzs1MTgsNyBAQCBzdHJ1Y3QgcGh5bGlua19wY3MgewogICoJCSAgICB0aGUgTUFDLgogICogQHBjc19wcmVfaW5pdDogY29uZmlndXJlIFBDUyBjb21wb25lbnRzIG5lY2Vzc2FyeSBmb3IgTUFDIGhhcmR3YXJlCiAgKiAgICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiBlLmcuIFJYIGNsb2NrIGZvciBzdG1tYWMuCiYjNDM7ICogQHBjc19sb29wYmFjazogZW5hYmxlL2Rpc2FibGUgbG9vcGJhY2sgbW9kZSBhdCB0aGUgUENTLgogICovCiBzdHJ1Y3QgcGh5bGlua19wY3Nfb3BzIHsKIAlpbnQgKCpwY3NfdmFsaWRhdGUpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCB1bnNpZ25lZCBsb25nICpzdXBwb3J0ZWQsCkBAIC01NDIsNiAmIzQzOzU0Myw3IEBAIHN0cnVjdCBwaHlsaW5rX3Bjc19vcHMgewogCXZvaWQgKCpwY3NfZGlzYWJsZV9lZWUpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTsKIAl2b2lkICgqcGNzX2VuYWJsZV9lZWUpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTsKIAlpbnQgKCpwY3NfcHJlX2luaXQpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTsKJiM0MzsJaW50ICgqcGNzX2xvb3BiYWNrKShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpOwogfTsKIAogI2lmIDAgLyogRm9yIGtlcm5lbC1kb2MgcHVycG9zZXMgb25seS4gKi8KQEAgLTcxNyw4ICYjNDM7NzE5LDIyIEBAIHZvaWQgcGNzX2VuYWJsZV9lZWUoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpOwogICovCiBpbnQgcGNzX3ByZV9pbml0KHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTsKIAomIzQzOy8qKgomIzQzOyAqIHBjc19sb29wYmFjaygpIC0gRW5hYmxlIG9yIGRpc2FibGUgbG9vcGJhY2sgYXQgdGhlIFBDUwomIzQzOyAqIEBwY3M6IGEgcG9pbnRlciB0byBhICZhbXA7c3RydWN0IHBoeWxpbmtfcGNzLgomIzQzOyAqIEBlbmFibGU6IHRydWUgdG8gZW5hYmxlIGxvb3BiYWNrLCBmYWxzZSB0byBkaXNhYmxlCiYjNDM7ICoKJiM0MzsgKiBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBtb2RlIGF0IHRoZSBQQ1MgbGV2ZWwuIFRoaXMgaXMgdXNlZCBieSBNQUMKJiM0MzsgKiBkcml2ZXJzIGZvciBzZWxmdGVzdCBwdXJwb3NlcyB3aGVuIG5vIGV4dGVybmFsIFBIWSBpcyBwcmVzZW50LgomIzQzOyAqCiYjNDM7ICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgomIzQzOyAqLwomIzQzO2ludCBwY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKTsKJiM0MzsKICNlbmRpZgogCiYjNDM7aW50IHBoeWxpbmtfcGNzX2xvb3BiYWNrKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCBib29sIGVuYWJsZSk7CiYjNDM7CiBzdHJ1Y3QgcGh5bGluayAqcGh5bGlua19jcmVhdGUoc3RydWN0IHBoeWxpbmtfY29uZmlnICosCiAJCQkgICAgICAgY29uc3Qgc3RydWN0IGZ3bm9kZV9oYW5kbGUgKiwKIAkJCSAgICAgICBwaHlfaW50ZXJmYWNlX3QsCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4xbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ0NjQKCQkJCQkJCW91dHB1dDogMjAKCQkJCQkJCXRob3VnaHRzOiA3MDcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRnV6emluZyBQb3RlbnRpYWwgb2YgYSBOZXcgUENTIExvb3BiYWNrIE9wZXJhdGlvbioqCgpPa2F5LCBzbyBJJiMzOTt2ZSBnb3QgdGhpcyBwYXRjaCBpbnRyb2R1Y2luZyBhIGBwY3NfbG9vcGJhY2tgIG9wZXJhdGlvbiB3aXRoaW4gYHBoeWxpbmtfcGNzX29wc2AgYW5kIHNwZWNpZmljYWxseSBpbXBsZW1lbnRpbmcgaXQgZm9yIGBkd21hY19pbnRlZ3JhdGVkX3Bjc19sb29wYmFja2AgaW4gYHN0bW1hY19wY3MuY2AuICBJdCYjMzk7cyBhbHNvIGJlaW5nIHVzZWQgd2l0aGluIGBzdG1tYWNfc2VsZnRlc3RzLmNgIHdoZW4gd2UmIzM5O3JlIG5vdCBkZWFsaW5nIHdpdGggYW4gZXh0ZXJuYWwgUEhZLiBUaGUgY29kZSB0b3VjaGVzIGEgZmV3IGZpbGVzOiBgc3RtbWFjX3Bjcy5jYCwgYHN0bW1hY19zZWxmdGVzdHMuY2AsIGBwaHlsaW5rLmNgLCBhbmQgdGhlIGBwaHlsaW5rLmhgIGluY2x1ZGUgZmlsZS4gIE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCAmIzM0O0NhbiB3ZSBmdXp6IHRoaXM/JiMzNDsKClRoZSBjaGFuZ2VzIGFyZSB3aXRoaW4gdGhlIFNUTWljcm9lbGVjdHJvbmljcyBzdG1tYWMgRXRoZXJuZXQgZHJpdmVyIGFuZCBwaHlsaW5rLCByaWdodD8gVGhlIHN0bW1hYyBkcml2ZXIgaXMgZm9yIHRoZSBTeW5vcHN5cyBEZXNpZ25XYXJlIE1BQywgd2hpY2ggaXMgdXN1YWxseSBoYXJkd2FyZS1zcGVjaWZpYy4gVGhhdCYjMzk7cyB0aGUgZmlyc3QgaHVyZGxlIOKAkyBpcyB0aGlzIGNvZGUgZXZlbiByZWFjaGFibGUgaW4gYSB2aXJ0dWFsaXplZCBvciBlbXVsYXRlZCBlbnZpcm9ubWVudD8gIHN0bW1hYyBpcyBhIHBsYXRmb3JtIGRyaXZlciBwcmltYXJpbHksIGJ1dCBpdCAqZG9lcyogaGF2ZSBhIFBDSSB3cmFwcGVyIChgc3RtbWFjX3BjaS5jYCkuIFRoYXQmIzM5O3MgaW50ZXJlc3Rpbmc7IGl0JiMzOTtzIGEgZ29vZCBzaWduLiAgVGhlIHF1ZXN0aW9uIGlzLCBjYW4gc3RtbWFjIGJlIGVtdWxhdGVkLCBvciBpcyBpdCBwdXJlbHkgcmVsaWFudCBvbiBoYXJkd2FyZT8KCkFoLCByaWdodCwgbG9va2luZyBtb3JlIGNsb3NlbHksIHRoZSBzdG1tYWMgUENJIGRyaXZlciBjbGFpbXMgdG8gc3VwcG9ydCBzb21lIEludGVsIHBsYXRmb3JtcywgbGlrZSBRdWFyayBhbmQgQXBvbGxvIExha2UuIFRoYXQmIzM5O3MgcHJvbWlzaW5nIGZvciBwb3RlbnRpYWwgZnV6emluZy4gR2VuZXJhbGx5LCBoYXJkd2FyZS1zcGVjaWZpYyBFdGhlcm5ldCBkcml2ZXJzIGFyZSBkaWZmaWN1bHQgdG8gZnV6eiB1bmxlc3MgdGhleSBoYXZlIGEgdmlydHVhbCBkZXZpY2UgY29tcG9uZW50IG9yIGFyZSBwYXJ0IG9mIGEgbW9yZSB3aWRlbHkgZW11bGF0ZWQgUENJIGRldmljZS4gSG93ZXZlciwgdGhpcyBwYXRjaCAqZG9lcyogdHJpZ2dlciBgc3RtbWFjX3NlbGZ0ZXN0cy5jYCB2aWEgdGhlIGV0aHRvb2wgc2VsZnRlc3QgbWVjaGFuaXNtLiBUaGF0JiMzOTtzIGEgZ29vZCBlbnRyeSBwb2ludC4KCk9rYXksIGlzIHN0bW1hYyBlbXVsYXRlZCBpbiBRRU1VPyBRRU1VIGRvZXNuJiMzOTt0IHNlZW0gdG8gaGF2ZSBzdG1tYWMgc3VwcG9ydCBvdXQgb2YgdGhlIGJveCwgYnV0IG1heWJlIHRoZXJlJiMzOTtzIHNvbWV0aGluZyByZWxldmFudD8gIExldCBtZSBzZWUuLi4gUUVNVSBoYXMgZW11bGF0aW9ucyBmb3IgYSBidW5jaCBvZiBvdGhlciBuZXR3b3JrIGNhcmRzOiBgaW14X2ZlY2AsIGBjYWRlbmNlX2dlbWAsIGBpZ2JgLCBgZTEwMDBgLCBgcnRsODEzOWAsIGB0dWxpcGAsIGB2bXhuZXQzYCwgYHN1bmdlbWAsIGBzdW5obWVgLCBgcGNuZXRgLCBgbmUyMDAwYCwgYW5kIGBlZXBybzEwMGAuIEJ1dCBzdG1tYWMgc3BlY2lmaWNhbGx5PyBXYWl0LCBRRU1VICpkb2VzKiBlbXVsYXRlICYjMzQ7ZGVzaWdud2FyZSYjMzQ7IEV0aGVybmV0ISBUaGUgZmlsZSBgaHcvbmV0L2Rlc2lnbndhcmUuY2AgZXhpc3RzLiBUaGF0JiMzOTtzIGEgaHVnZSBjbHVlLgoKTm93LCBkb2VzIHRoZSBgc3RtbWFjYCBkcml2ZXIgYWN0dWFsbHkgYmluZCB0byB0aGUgUUVNVSBgZGVzaWdud2FyZWAgZW11bGF0aW9uPyBRRU1VJiMzOTtzIGBkZXNpZ253YXJlYCBpcyBhIHBsYXRmb3JtIGRldmljZSwgd2hpY2ggbWVhbnMgaXQgd291bGQgdHlwaWNhbGx5IGJlIHVzZWQgb24gY2VydGFpbiBBUk0gYm9hcmRzIGxpa2UgYG1jaW14NnVsLWV2a2AsIGBzaWZpdmVfdWAgb3IgYGFsbHdpbm5lci1oM2AuIEJ1dCBzeXprYWxsZXIgZ2VuZXJhbGx5IHdvcmtzIGJlc3Qgd2l0aCBQQ0kgZGV2aWNlcyBvciB2aXJ0dWFsIGRldmljZXMuIFNvLCBkb2VzIHN0bW1hYyBoYXZlIFBDSSBzdXBwb3J0PwoKTGV0IG1lIGNoZWNrIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmNgLi4uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3RtbWFjX3BjaSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMucnN0PTEwNz1zeW50YXggKGUuZy4gZm9yIFBDSSBtb2R1bGUpOjpcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy5yc3QtMTA4LVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L3N0bWljcm8vc3RtbWFjLnJzdDoxMDk6ICAgIG1vZHByb2JlIHN0bW1hY19wY2kgW1x1MDAzY29wdGlvblx1MDAzZT1cdTAwM2NWQUwxXHUwMDNlLFx1MDAzY1ZBTDJcdTAwM2UsLi4uXVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L3N0bWljcm8vc3RtbWFjLnJzdC0xMTAtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU9NTM9b2JqLSQoQ09ORklHX0RXTUFDX01PVE9SQ09NTSlcdCYjNDM7PSBkd21hYy1tb3RvcmNvbW0ub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NTQ6c3RtbWFjLXBjaS1vYmpzOj0gc3RtbWFjX3BjaS5vXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz0yNT1zdHJ1Y3QgaW50ZWxfcHJpdl9kYXRhIHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTM5LSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo0MDpzdHJ1Y3Qgc3RtbWFjX3BjaV9mdW5jX2RhdGEge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy00MS1cdHVuc2lnbmVkIGludCBmdW5jO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtNDQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjQ1OnN0cnVjdCBzdG1tYWNfcGNpX2RtaV9kYXRhIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6NDY6XHRjb25zdCBzdHJ1Y3Qgc3RtbWFjX3BjaV9mdW5jX2RhdGEgKmZ1bmM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTQ3LVx0c2l6ZV90IG5mdW5jcztcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTQ5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo1MDpzdHJ1Y3Qgc3RtbWFjX3BjaV9pbmZvIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtNTEtXHRpbnQgKCpzZXR1cCkoc3RydWN0IHBjaV9kZXYgKnBkZXYsIHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdCk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz05MT1zdGF0aWMgY29uc3QgaW50IGFkbG5fdHNuX2xhbmVfcmVnc1tdID0gezZ9O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6OTM6c3RhdGljIGludCBzdG1tYWNfcGNpX2ZpbmRfcGh5X2FkZHIoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTk0LVx0XHRcdFx0ICAgIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkbWlfbGlzdClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTUte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo5NjpcdGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2Z1bmNfZGF0YSAqZnVuY19kYXRhO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo5NzpcdGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2RtaV9kYXRhICpkbWlfZGF0YTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTgtXHRjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCAqZG1pX2lkO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM9NzU1PXN0YXRpYyBpbnQgZWhsX3NnbWlpX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy03NzQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjc3NTpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfc2dtaWkxZ19pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy03NzYtXHQuc2V0dXAgPSBlaGxfc2dtaWlfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTc3OT1zdGF0aWMgaW50IGVobF9yZ21paV9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtNzg5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo3OTA6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gZWhsX3JnbWlpMWdfaW5mbyA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtNzkxLVx0LnNldHVwID0gZWhsX3JnbWlpX2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz04MTA9c3RhdGljIGludCBlaGxfcHNlMF9yZ21paTFnX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy04MTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjgxNzpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfcHNlMF9yZ21paTFnX2luZm8gPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTgxOC1cdC5zZXR1cCA9IGVobF9wc2UwX3JnbWlpMWdfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTgyMT1zdGF0aWMgaW50IGVobF9wc2UwX3NnbWlpMWdfZGF0YShzdHJ1Y3QgcGNpX2RldiAqcGRldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTgzOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6ODM5OnN0YXRpYyBzdHJ1Y3Qgc3RtbWFjX3BjaV9pbmZvIGVobF9wc2UwX3NnbWlpMWdfaW5mbyA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtODQwLVx0LnNldHVwID0gZWhsX3BzZTBfc2dtaWkxZ19kYXRhLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM9ODU5PXN0YXRpYyBpbnQgZWhsX3BzZTFfcmdtaWkxZ19kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtODY1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo4NjY6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gZWhsX3BzZTFfcmdtaWkxZ19pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy04NjctXHQuc2V0dXAgPSBlaGxfcHNlMV9yZ21paTFnX2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz04NzA9c3RhdGljIGludCBlaGxfcHNlMV9zZ21paTFnX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy04ODctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjg4ODpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfcHNlMV9zZ21paTFnX2luZm8gPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTg4OS1cdC5zZXR1cCA9IGVobF9wc2UxX3NnbWlpMWdfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTkxMz1zdGF0aWMgaW50IHRnbF9zZ21paV9waHkwX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05MjEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjkyMjpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyB0Z2xfc2dtaWkxZ19waHkwX2luZm8gPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTkyMy1cdC5zZXR1cCA9IHRnbF9zZ21paV9waHkwX2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz05MjY9c3RhdGljIGludCB0Z2xfc2dtaWlfcGh5MV9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTM0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo5MzU6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gdGdsX3NnbWlpMWdfcGh5MV9pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05MzYtXHQuc2V0dXAgPSB0Z2xfc2dtaWlfcGh5MV9kYXRhLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM9OTM5PXN0YXRpYyBpbnQgYWRsc19zZ21paV9waHkwX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05NDgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjk0OTpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBhZGxzX3NnbWlpMWdfcGh5MF9pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05NTAtXHQuc2V0dXAgPSBhZGxzX3NnbWlpX3BoeTBfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTk1Mz1zdGF0aWMgaW50IGFkbHNfc2dtaWlfcGh5MV9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTYyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo5NjM6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gYWRsc19zZ21paTFnX3BoeTFfaW5mbyA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTY0LVx0LnNldHVwID0gYWRsc19zZ21paV9waHkxX2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz05OTI9c3RhdGljIGludCBhZGxuX3NnbWlpX3BoeTBfZGF0YShzdHJ1Y3QgcGNpX2RldiAqcGRldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwMTAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjEwMTE6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gYWRsbl9zZ21paTFnX3BoeTBfaW5mbyA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTAxMi1cdC5zZXR1cCA9IGFkbG5fc2dtaWlfcGh5MF9kYXRhLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTAxNC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTAxNTpzdGF0aWMgY29uc3Qgc3RydWN0IHN0bW1hY19wY2lfZnVuY19kYXRhIGdhbGlsZW9fc3RtbWFjX2Z1bmNfZGF0YVtdID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMDE2LVx0e1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTAyMS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTAyMjpzdGF0aWMgY29uc3Qgc3RydWN0IHN0bW1hY19wY2lfZG1pX2RhdGEgZ2FsaWxlb19zdG1tYWNfZG1pX2RhdGEgPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwMjMtXHQuZnVuYyA9IGdhbGlsZW9fc3RtbWFjX2Z1bmNfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwMjYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjEwMjc6c3RhdGljIGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2Z1bmNfZGF0YSBpb3QyMDQwX3N0bW1hY19mdW5jX2RhdGFbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTAyOC1cdHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwMzctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjEwMzg6c3RhdGljIGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2RtaV9kYXRhIGlvdDIwNDBfc3RtbWFjX2RtaV9kYXRhID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMDM5LVx0LmZ1bmMgPSBpb3QyMDQwX3N0bW1hY19mdW5jX2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz0xMDc4PXN0YXRpYyBpbnQgcXVhcmtfZGVmYXVsdF9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTA4OC1cdCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxMDg5Olx0cmV0ID0gc3RtbWFjX3BjaV9maW5kX3BoeV9hZGRyKHBkZXYsIHF1YXJrX3BjaV9kbWkpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMDkwLVx0aWYgKHJldCBcdTAwM2MgMCkge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTExMy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTExNDpzdGF0aWMgY29uc3Qgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBxdWFya19pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMTE1LVx0LnNldHVwID0gcXVhcmtfZGVmYXVsdF9kYXRhLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM9MTIzMj1zdGF0aWMgaW50IGludGVsX2V0aF9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMjM0LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTIzNTpcdHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gKmluZm8gPSAoc3RydWN0IHN0bW1hY19wY2lfaW5mbyAqKWlkLVx1MDAzZWRyaXZlcl9kYXRhO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMjM2LVx0c3RydWN0IGludGVsX3ByaXZfZGF0YSAqaW50ZWxfcHJpdjtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jPTc2PXN0cnVjdCBsb29uZ3Nvbl9kYXRhIHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTgxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYzo4MjpzdHJ1Y3Qgc3RtbWFjX3BjaV9pbmZvIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtODMtXHRpbnQgKCpzZXR1cCkoc3RydWN0IHBjaV9kZXYgKnBkZXYsIHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdCk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYz0xMzI9c3RhdGljIGludCBsb29uZ3Nvbl9nbWFjX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy0xNDEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjE0MjpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBsb29uZ3Nvbl9nbWFjX3BjaV9pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy0xNDMtXHQuc2V0dXAgPSBsb29uZ3Nvbl9nbWFjX2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYz0xNjU9c3RhdGljIGludCBsb29uZ3Nvbl9nbmV0X2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy0xNzYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjE3NzpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBsb29uZ3Nvbl9nbmV0X3BjaV9pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy0xNzgtXHQuc2V0dXAgPSBsb29uZ3Nvbl9nbmV0X2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYz00OTg9c3RhdGljIGludCBsb29uZ3Nvbl9kd21hY19wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNTAxLVx0c3RydWN0IHN0bW1hY19yZXNvdXJjZXMgcmVzID0ge307XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjUwMjpcdHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gKmluZm87XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTUwMy1cdHN0cnVjdCBsb29uZ3Nvbl9kYXRhICpsZDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTUzNy1cdHBsYXQtXHUwMDNlZml4X3NvY19yZXNldCA9IGxvb25nc29uX2R3bWFjX2ZpeF9yZXNldDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM6NTM4Olx0cGxhdC1cdTAwM2VzdXNwZW5kID0gc3RtbWFjX3BjaV9wbGF0X3N1c3BlbmQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjUzOTpcdHBsYXQtXHUwMDNlcmVzdW1lID0gc3RtbWFjX3BjaV9wbGF0X3Jlc3VtZTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNTQwLVx0bGQtXHUwMDNlZGV2ID0gXHUwMDI2cGRldi1cdTAwM2VkZXY7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy01NDItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjU0MzpcdGluZm8gPSAoc3RydWN0IHN0bW1hY19wY2lfaW5mbyAqKWlkLVx1MDAzZWRyaXZlcl9kYXRhO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy01NDQtXHRyZXQgPSBpbmZvLVx1MDAzZXNldHVwKHBkZXYsIHBsYXQpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jPTE4OD1zdGF0aWMgaW50IG1vdG9yY29tbV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpic3BfcHJpdilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYy0xOTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYzoxOTM6XHRyZXQgPSBzdG1tYWNfcGNpX3BsYXRfcmVzdW1lKGRldiwgYnNwX3ByaXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmMtMTk0LVx0aWYgKHJldClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYz0yMDg9bW90b3Jjb21tX2RlZmF1bHRfcGxhdF9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTI0OC1cdHBsYXQtXHUwMDNlY29yZV90eXBlXHRcdD0gRFdNQUNfQ09SRV9HTUFDNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jOjI0OTpcdHBsYXQtXHUwMDNlc3VzcGVuZFx0XHQ9IHN0bW1hY19wY2lfcGxhdF9zdXNwZW5kO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmMtMjUwLVx0cGxhdC1cdTAwM2VyZXN1bWVcdFx0PSBtb3RvcmNvbW1fcmVzdW1lO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy0xMS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYzoxMjppbnQgc3RtbWFjX3BjaV9wbGF0X3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpic3BfcHJpdilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy0xMy17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5jLTI1LX1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYzoyNjpFWFBPUlRfU1lNQk9MX0dQTChzdG1tYWNfcGNpX3BsYXRfc3VzcGVuZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbGlicGNpLmMtMjctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbGlicGNpLmM6Mjg6aW50IHN0bW1hY19wY2lfcGxhdF9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpic3BfcHJpdilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy0yOS17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5jLTQzLX1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYzo0NDpFWFBPUlRfU1lNQk9MX0dQTChzdG1tYWNfcGNpX3BsYXRfcmVzdW1lKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy00NS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbGlicGNpLmgtOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuaDo5OmludCBzdG1tYWNfcGNpX3BsYXRfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmJzcF9wcml2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuaDoxMDppbnQgc3RtbWFjX3BjaV9wbGF0X3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmJzcF9wcml2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuaC0xMS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MTk6c3RydWN0IHN0bW1hY19wY2lfaW5mbyB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjAtXHRpbnQgKCpzZXR1cCkoc3RydWN0IHBjaV9kZXYgKnBkZXYsIHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdCk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jPTMzPXN0YXRpYyBpbnQgc3RtbWFjX2RlZmF1bHRfZGF0YShzdHJ1Y3QgcGNpX2RldiAqcGRldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtNDktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6NTA6c3RhdGljIGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gc3RtbWFjX3BjaV9pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTUxLVx0LnNldHVwID0gc3RtbWFjX2RlZmF1bHRfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM9NTQ9c3RhdGljIGludCBzbnBzX2dtYWM1X2RlZmF1bHRfZGF0YShzdHJ1Y3QgcGNpX2RldiAqcGRldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTAxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjEwMjpzdGF0aWMgY29uc3Qgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBzbnBzX2dtYWM1X3BjaV9pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTEwMy1cdC5zZXR1cCA9IHNucHNfZ21hYzVfZGVmYXVsdF9kYXRhLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xMDYtLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MTA3OiAqIHN0bW1hY19wY2lfcHJvYmVcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xMDgtICpcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTE3LSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjExODpzdGF0aWMgaW50IHN0bW1hY19wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTE5LVx0XHRcdCAgICBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTIwLXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxMjE6XHRzdHJ1Y3Qgc3RtbWFjX3BjaV9pbmZvICppbmZvID0gKHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gKilpZC1cdTAwM2Vkcml2ZXJfZGF0YTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xMjItXHRzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTE3OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxODA6XHRwbGF0LVx1MDAzZXN1c3BlbmQgPSBzdG1tYWNfcGNpX3BsYXRfc3VzcGVuZDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxODE6XHRwbGF0LVx1MDAzZXJlc3VtZSA9IHN0bW1hY19wY2lfcGxhdF9yZXN1bWU7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTgyLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xODYtLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MTg3OiAqIHN0bW1hY19wY2lfcmVtb3ZlXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTg4LSAqXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTE5MS0gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxOTI6c3RhdGljIHZvaWQgc3RtbWFjX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTkzLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM9MjAzPXN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBzdG1tYWNfaWRfdGFibGVbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMDQ6XHR7IFBDSV9ERVZJQ0VfREFUQShTVE1NQUMsIFNUTU1BQywgXHUwMDI2c3RtbWFjX3BjaV9pbmZvKSB9LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjIwNTpcdHsgUENJX0RFVklDRV9EQVRBKFNUTUlDUk8sIE1BQywgXHUwMDI2c3RtbWFjX3BjaV9pbmZvKSB9LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIwNi1cdHsgUENJX0RFVklDRV9EQVRBKFNZTk9QU1lTLCBHTUFDNV9JRCwgXHUwMDI2c25wc19nbWFjNV9wY2lfaW5mbykgfSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM9MjEwPU1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBzdG1tYWNfaWRfdGFibGUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxMS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMTI6c3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIHN0bW1hY19wY2lfZHJpdmVyID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxMy1cdC5uYW1lID0gU1RNTUFDX1JFU09VUkNFX05BTUUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjE0LVx0LmlkX3RhYmxlID0gc3RtbWFjX2lkX3RhYmxlLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjIxNTpcdC5wcm9iZSA9IHN0bW1hY19wY2lfcHJvYmUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MjE2Olx0LnJlbW92ZSA9IHN0bW1hY19wY2lfcmVtb3ZlLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxNy1cdC5kcml2ZXIgICAgICAgICA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjIxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjIyMjptb2R1bGVfcGNpX2RyaXZlcihzdG1tYWNfcGNpX2RyaXZlcik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjIzLVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDEzMjI1CgkJCQkJCQlvdXRwdXQ6IDU2CgkJCQkJCQl0aG91Z2h0czogMzkwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgdGhlIGBzdG1tYWNgIFBDSSBEcml2ZXIgd2l0aCBQQ1MgTG9vcGJhY2sqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIHRoZSBgc3RtbWFjX3BjaWAgZHJpdmVyLiBSaWdodCwgaXQmIzM5O3MgYSBQQ0kgZHJpdmVyLCBzbyBpdCBiaW5kcyB0byBQQ0kgZGV2aWNlcy4gVGhlIGNvcmUgb2YgdGhpcyBzZWVtcyB0byBiZSB0aGUgYWRkaXRpb24gb2YgdGhpcyBgZHdtYWNfaW50ZWdyYXRlZF9wY3NfbG9vcGJhY2tgIGZ1bmN0aW9uLCB3aGljaCBpcyB0aGVuIHVzZWQgaW4gYHN0bW1hY19zZWxmdGVzdHMuY2AuIFRoZSBzZWxmdGVzdCBpdHNlbGYgaXMgaW52b2tlZCB2aWEgYGV0aHRvb2wgLXRgLCB3aGljaCBpcyBpbXBvcnRhbnQgYmVjYXVzZSBJIGtub3cgc3l6a2FsbGVyIGNhbiB0cmlnZ2VyIHRoYXQgdGhyb3VnaCBuZXRsaW5rIG9yIGlvY3RsLiBUaGF0JiMzOTtzIGltbWVkaWF0ZWx5IGludGVyZXN0aW5nLCBjb3VsZCB0aGlzIGJlIGEgZnV6emluZyB0YXJnZXQ/CgpUaGUgcGF0Y2ggaXMgaW50cm9kdWNpbmcgYSBsb29wYmFjayBjYXBhYmlsaXR5IGZvciB0aGUgaW50ZWdyYXRlZCBQQ1MsIHdoaWNoIGltcGxpZXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gdGhlIGRyaXZlciBpdHNlbGYuIEJ1dCBoYW5nIG9uLCBkb2VzIGl0IG1vZGlmeSBjb3JlIGtlcm5lbCBsb2dpYz8gQWgsIHllcywgaXQgKmRvZXMqLiBJdCBtb2RpZmllcyBgcGh5bGluay5jYCBhbmQgYWRkcyBgcGh5bGlua19wY3NfbG9vcGJhY2tgIGFuZCBgcGNzX2xvb3BiYWNrYCB0byBgc3RydWN0IHBoeWxpbmtfcGNzX29wc2AuIFRoaXMgbG9va3MgbGlrZSBhIG5ldyBBUEkgc3BlY2lmaWNhbGx5IHdpdGhpbiBgcGh5bGlua2AuIEFuZCBzcGVjaWZpY2FsbHksIGl0ICppbXBsZW1lbnRzKiBpdCBmb3IgYHN0bW1hY2AuCgpUaGUgbmV4dCBpbXBvcnRhbnQgcXVlc3Rpb24gaXMsIGNhbiB0aGlzIGJlIHRyaWdnZXJlZCBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50PyBJZiBgc3RtbWFjYCBpc24mIzM5O3QgZW11bGF0ZWQsIHRoYXQgcGFydCB3aWxsIGJlIHVucmVhY2hhYmxlLiBCdXQgdGhlbiBhZ2FpbiwgYHBoeWxpbmtfcGNzX2xvb3BiYWNrYCBpcyBleHBvcnRlZC4gVGhhdCBtZWFucyBvdGhlciBkcml2ZXJzIGNvdWxkIHBvdGVudGlhbGx5IHVzZSB0aGlzIG5ldyBmdW5jdGlvbmFsaXR5IGluIHRoZSBmdXR1cmUsIGV2ZW4gdGhvdWdoIGN1cnJlbnRseSwgb25seSBgc3RtbWFjYCBpcyBkb2luZyBzby4gSXQgYnJvYWRlbnMgdGhlIHNjb3BlIG9mIHdoYXQgaXMgYmVpbmcgY2hhbmdlZCwgdGhvdWdoLCBzbyBpdCYjMzk7cyB3b3J0aCBkZWVwZXIgY29uc2lkZXJhdGlvbi4KCk5vdywgZG9lcyBRRU1VIGVtdWxhdGUgYW55IG9mIHRoZSBQQ0kgSURzIHRoYXQgdGhlIGBzdG1tYWNgIGRyaXZlciBoYW5kbGVzPyBMZXQgbWUgY2hlY2sgd2hpY2ggUENJIElEcyBpdCBiaW5kcyB0by4gTG9va3MgbGlrZTogYFBDSV9ERVZJQ0VfREFUQShTVE1NQUMsIFNUTU1BQywgJmFtcDtzdG1tYWNfcGNpX2luZm8pYCwgYFBDSV9ERVZJQ0VfREFUQShTVE1JQ1JPLCBNQUMsICZhbXA7c3RtbWFjX3BjaV9pbmZvKWAsIGFuZCBgUENJX0RFVklDRV9EQVRBKFNZTk9QU1lTLCBHTUFDNV9JRCwgJmFtcDtzbnBzX2dtYWM1X3BjaV9pbmZvKWAuIFJpZ2h0LCBJJiMzOTtsbCBuZWVkIHRvIGNoZWNrIGBpbmNsdWRlL2xpbnV4L3BjaV9pZHMuaGAgdG8gc2VlIGhvdyB0aG9zZSB0cmFuc2xhdGUgYW5kIHdoZXRoZXIgYW55IG9mIHRob3NlIGFyZSBlbXVsYXRlZCB3aXRoaW4gUUVNVS4gVGhhdCYjMzk7cyB0aGUgbmV4dCBzdGVwIHRvIGZpZ3VyZSBvdXQgdGhlIHJlYWNoYWJpbGl0eSBvZiB0aGlzIG5ldyBBUEkuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7UENJX0RFVklDRV9JRF9TVE1NQUNfU1RNTUFDfFBDSV9ERVZJQ0VfSURfU1RNSUNST19NQUN8UENJX0RFVklDRV9JRF9TWU5PUFNZU19HTUFDNV9JRCYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM9MTkyPXN0YXRpYyB2b2lkIHN0bW1hY19wY2lfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xOTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MjAwOiNkZWZpbmUgUENJX0RFVklDRV9JRF9TVE1NQUNfU1RNTUFDXHRcdDB4MTEwOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjIwMTojZGVmaW5lIFBDSV9ERVZJQ0VfSURfU1lOT1BTWVNfR01BQzVfSURcdFx0MHg3MTAyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjAyLVxuLS1cbmluY2x1ZGUvbGludXgvcGNpX2lkcy5oLTg2MS0jZGVmaW5lIFBDSV9ERVZJQ0VfSURfU1RNSUNST19TUElfSFNcdDB4Q0MwOFxuaW5jbHVkZS9saW51eC9wY2lfaWRzLmg6ODYyOiNkZWZpbmUgUENJX0RFVklDRV9JRF9TVE1JQ1JPX01BQ1x0MHhDQzA5XG5pbmNsdWRlL2xpbnV4L3BjaV9pZHMuaC04NjMtI2RlZmluZSBQQ0lfREVWSUNFX0lEX1NUTUlDUk9fU0RJT19FTU1DIDB4Q0MwQVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE0NTIyCgkJCQkJCQlvdXRwdXQ6IDIxCgkJCQkJCQl0aG91Z2h0czogMzY3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IFN5emthbGxlciBQQ0kgRnV6emluZyBQZXJzcGVjdGl2ZSoqCgpPa2F5LCBzbyBJJiMzOTttIHRoaW5raW5nIGFib3V0IFN5emthbGxlciYjMzk7cyBhcHByb2FjaCB0byBQQ0kgZGV2aWNlIGZ1enppbmcuIE15IGluaXRpYWwgdGhvdWdodCB3YXMgdGhhdCBgc3l6X3BjaV9zZXR1cGAgY291bGQgcG90ZW50aWFsbHkgZW11bGF0ZSBhcmJpdHJhcnkgUENJIGRldmljZXMsIGFzIGxvbmcgYXMgdGhlIGtlcm5lbCBoYWQgYSBjb3JyZXNwb25kaW5nIGRyaXZlci4gQnV0IHRoYXQmIzM5O3Mgbm90IHF1aXRlIHJpZ2h0LiBJdCBzZWVtcyBTeXprYWxsZXIgZG9lc24mIzM5O3QgZGlyZWN0bHkgZW11bGF0ZSB0aGUgaGFyZHdhcmUgTU1JTyByZWdpc3RlcnMuCgpJdCBhcHBlYXJzIFN5emthbGxlciAqZG9lcyogaGF2ZSBhIGB2aGNpL3BjaWAgcHNldWRvLWRldmljZSB3aGljaCBpbmplY3RzIFBDSSBkZXZpY2VzLCBidXQgaXQmIzM5O3Mgbm90IHRoZSBzYW1lIGFzIGZ1bGwgZW11bGF0aW9uLCByaWdodD8gU28sIGBzeXpfcGNpX3NldHVwYCBpc24mIzM5O3QgdXNlZCB0byAqaW5qZWN0KiBkZXZpY2VzLiBJdCYjMzk7cyBtb3JlIG9mIGEgY29uZmlndXJhdGlvbiB0b29sLCBzZXR0aW5nIHRoaW5ncyB1cCwgYW5kIGlmIHRoZSBkcml2ZXIgaXMgbWFraW5nIE1NSU8gcmVhZHMvd3JpdGVzLCBpdCYjMzk7cyBqdXN0IGRlYWxpbmcgd2l0aCBkdW1teSBtZW1vcnksIHBvdGVudGlhbGx5IHJldHVybmluZyB6ZXJvcyBvciBvbmVzLCBvciBjYXVzaW5nIGEgY3Jhc2ggaWYgdGhlIGRyaXZlciBuZWVkcyBzcGVjaWZpYyBoYXJkd2FyZSByZXNwb25zZXMuCgpIb2xkIG9uLCBJIHRob3VnaHQgU3l6a2FsbGVyIGhhZCAqc29tZSogZm9ybSBvZiBQQ0kgZGV2aWNlIGVtdWxhdG9yPyBObywgdGhhdCYjMzk7cyBub3QgaXQgZWl0aGVyLiBUaGUgUENJIGZ1enppbmcsIHdoZXRoZXIgaXTigJlzIHRocm91Z2ggYHN5el9wY2lfc2V0dXBgIG9yIGV2ZW4gdGhyb3VnaCBgc3l6X2t2bV9zZXR1cF9jcHVgLCBpcyBwcmltYXJpbHkgYWltZWQgYXQgZWl0aGVyIHRoZSBQQ0kgY29yZSBpdHNlbGYgb3IgZHJpdmVycyByb2J1c3QgZW5vdWdoIHRvIGhhbmRsZSB0aGUgZHVtbXkgTU1JTyBiZWhhdmlvci4gU28sIG5vdCBhIGZ1bGwgZW11bGF0b3IsIHJlYWxseS4KClNvIGl0IGlzIG5vdCBjb3JyZWN0IHRvIGNsYWltIFN5emthbGxlciBlbXVsYXRlcyBQQ0kgZHJpdmVycyB0aHJvdWdoIHZoY2ksIGl0IHVzZXMgdGhlIGBwY2lfdGVzdGAgZnJhbWV3b3JrIG9yIHNvbWV0aGluZyBzaW1pbGFyLCByaWdodD8gTm8sIG5vdCBxdWl0ZS4gVGhlIGNvcnJlY3QgaWRlYSBpcyB0aGF0IGBzeXpfcGNpX3NldHVwYCBpbmplY3RzIGEgUENJIGRldmljZSwgZWl0aGVyIHRocm91Z2ggYSBjdXN0b20ga2VybmVsIG1vZHVsZSBvciBtYXliZSBsZXZlcmFnaW5nIFFFTVUmIzM5O3MgYHBjaS10ZXN0ZGV2YC4KCldhaXQsIGlzbiYjMzk7dCBgc3l6X3BjaV9zZXR1cGAgbm90IGEgcHNldWRvLXN5c2NhbGw/IEFoYSEgUmlnaHQsIGl0JiMzOTtzIGEgU3l6a2FsbGVyIGZ1bmN0aW9uLCBub3QgYSBzeXN0ZW0gY2FsbCBpbiBpdHNlbGYuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSBnZXQgdGhhdCBzdHJhaWdodC4gTGV0IG1lIGRvdWJsZS1jaGVjay4gSSBzZWUgaXQgaW4gYHN5cy9saW51eC9wY2kudHh0YC4gUmlnaHQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtzeXpfcGNpX3NldHVwJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOCAwMDo1NTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxNTM3MAoJCQkJCQkJb3V0cHV0OiAyMQoJCQkJCQkJdGhvdWdodHM6IDMwNgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBMaW5lIG9mIFJlYXNvbmluZyoqCgpPa2F5LCBmaXJzdCB0aGluZ3MgZmlyc3QsIEkgbmVlZCB0byBkaXRjaCB0aGUgaWRlYSBvZiB1c2luZyBncmVwcGVyIHRvIGZpbmQgc29tZXRoaW5nIHJlbGF0ZWQgdG8gYHN5el9gLiBNeSBpbnR1aXRpb24gaXMgdGVsbGluZyBtZSB0aGF0IEkgc2hvdWxkIGJlIHVzaW5nIGByZWFkLWZpbGVgIG9yIHBlcmhhcHMgSSBqdXN0IG5lZWQgdG8gcmVtZW1iZXIgdGhhdCBTeXprYWxsZXImIzM5O3MgUENJIGhhcmR3YXJlIGVtdWxhdGlvbiBpc24mIzM5O3QgdmVyeSByb2J1c3QsIGVzcGVjaWFsbHkgZm9yIGFyYml0cmFyeSBkZXZpY2VzLiBJdCBoZWF2aWx5IGRlcGVuZHMgb24gUUVNVSwgd2hpY2ggaW4gdHVybiBtaWdodCBub3QgZW11bGF0ZSB0aGUgZXhhY3QgU1RNTUFDIFBDSSBkZXZpY2UgSSYjMzk7bSBpbnRlcmVzdGVkIGluLCBwb3RlbnRpYWxseSBsZWFkaW5nIHRvIGRyaXZlciBwcm9iZSBmYWlsdXJlcyBvciwgbW9yZSBpbXBvcnRhbnRseSwgc2tpcHBpbmcgdGhlIHNlbGZ0ZXN0IGNvZGUuCgpXYWl0IGEgbWludXRlLCBpc24mIzM5O3QgYHN0bW1hY2AgYWxzbyBhIHBsYXRmb3JtIGRyaXZlcj8gU28sIGRvZXMgUUVNVSBlbXVsYXRlIGl0PwoKQWgsIHJpZ2h0LCBRRU1VICpkb2VzKiBoYXZlIGBody9uZXQvZGVzaWdud2FyZS5jYC4gVGhhdCYjMzk7cyBlbmNvdXJhZ2luZy4gTm93LCBJIG5lZWQgdG8gZmlndXJlIG91dCBpZiBTeXprYWxsZXIgYWN0dWFsbHkgbGV2ZXJhZ2VzIFFFTVUmIzM5O3MgRGVzaWduV2FyZSBFdGhlcm5ldCBpbXBsZW1lbnRhdGlvbi4KCkxldCYjMzk7cyBzZWUuLi4gU3l6a2FsbGVyIHR5cGljYWxseSBydW5zIGBxZW11LXN5c3RlbS14ODZfNjRgIHdpdGggYSBzcGVjaWZpYyBkZXZpY2UgY29uZmlndXJhdGlvbiDigJMgZTEwMDAsIGUxMDAwZSwgcnRsODEzOSwgdm14bmV0MywgYW5kIHZpcnRpby1uZXQuIEl0JiMzOTtzIG5vdCB1c3VhbGx5IGNvbmZpZ3VyZWQgd2l0aCBBUk0gYm9hcmRzIHdoZXJlIGBkZXNpZ253YXJlYCB3b3VsZCBiZSBwcmVzZW50LgoKSG9sZCBvbiwgdGhlcmUmIzM5O3MgdGhhdCBgcGh5bGlua2AgY2hhbmdlIEkgbmVlZCB0byB0YWtlIGludG8gYWNjb3VudC4KCk9rYXksIHRoZSBwYXRjaCBhZGRzIGBwaHlsaW5rX3Bjc19sb29wYmFja2AuIElzIGBwaHlsaW5rYCBldmVuICpyZWFjaGFibGUqIGluIHRoZSBTeXprYWxsZXIgY29udGV4dD8gWWVzLCBhYnNvbHV0ZWx5LiBQbGVudHkgb2YgZHJpdmVycyB1c2UgYHBoeWxpbmtgLgoKQnV0IHRoZSBjcnVjaWFsIGRldGFpbCBoZXJlIGlzIHRoYXQgYHBoeWxpbmtfcGNzX2xvb3BiYWNrYCBhcHBlYXJzIHRvIGJlIGNhbGxlZCBvbmx5IGZyb20gYHN0bW1hY19zZWxmdGVzdHMuY2AgaW4gKnRoaXMqIHNwZWNpZmljIHBhdGNoLgoKU28sIGxldCYjMzk7cyBicm9hZGVuIHRoZSBzY29wZSBhbmQgY2hlY2sgaWYgKmFueSogb3RoZXIgZHJpdmVyIGNhbGxzIGBwaHlsaW5rX3Bjc19sb29wYmFja2AuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3BoeWxpbmtfcGNzX2xvb3BiYWNrJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYz0zOTA9c3RhdGljIGludCBzdG1tYWNfdGVzdF9waHlfbG9vcGJhY2soc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYy00MTAtXHRpZiAocGNzKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmM6NDExOlx0XHRyZXQgPSBwaHlsaW5rX3Bjc19sb29wYmFjayhwY3MsIHRydWUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3NlbGZ0ZXN0cy5jLTQxMi1cdFx0aWYgKHJldClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMtNDE3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3NlbGZ0ZXN0cy5jOjQxODpcdFx0cGh5bGlua19wY3NfbG9vcGJhY2socGNzLCBmYWxzZSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMtNDE5LVx0XHRyZXR1cm4gcmV0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYz0xOTg3PXZvaWQgc3RtbWFjX3NlbGZ0ZXN0X3J1bihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYy0yMDE4LVx0XHRcdGVsc2VcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYzoyMDE5Olx0XHRcdFx0cmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2soc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdiksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMtMjAyMC1cdFx0XHRcdFx0XHRcdCAgIHRydWUpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYy0yMDU0LVx0XHRcdGVsc2VcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYzoyMDU1Olx0XHRcdFx0cmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2soc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdiksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMtMjA1Ni1cdFx0XHRcdFx0XHRcdCAgIGZhbHNlKTtcbi0tXG5kcml2ZXJzL25ldC9waHkvcGh5bGluay5jPTk5OD1FWFBPUlRfU1lNQk9MX0dQTChwaHlsaW5rX3Bjc19wcmVfaW5pdCk7XG4tLVxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYy0xMDAwLS8qKlxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYzoxMDAxOiAqIHBoeWxpbmtfcGNzX2xvb3BiYWNrKCkgLSBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBhdCB0aGUgUENTXG5kcml2ZXJzL25ldC9waHkvcGh5bGluay5jLTEwMDItICogQHBjczogYSBwb2ludGVyIHRvIGEgXHUwMDI2c3RydWN0IHBoeWxpbmtfcGNzLlxuLS1cbmRyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmMtMTAwOS0gKi9cbmRyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmM6MTAxMDppbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKVxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYy0xMDExLXtcbi0tXG5kcml2ZXJzL25ldC9waHkvcGh5bGluay5jLTEwMTYtfVxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYzoxMDE3OkVYUE9SVF9TWU1CT0xfR1BMKHBoeWxpbmtfcGNzX2xvb3BiYWNrKTtcbmRyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmMtMTAxOC1cbi0tXG5pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaD03MzI9aW50IHBjc19sb29wYmFjayhzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpO1xuLS1cbmluY2x1ZGUvbGludXgvcGh5bGluay5oLTczNS1cbmluY2x1ZGUvbGludXgvcGh5bGluay5oOjczNjppbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKTtcbmluY2x1ZGUvbGludXgvcGh5bGluay5oLTczNy1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTcwNDAKCQkJCQkJCW91dHB1dDogMTcKCQkJCQkJCXRob3VnaHRzOiA1NzEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQXNzZXNzbWVudCBvZiB0aGUgYHN0bW1hY2AgQ29kZSBSZWFjaGFiaWxpdHkqKgoKT2theSwgc28gSSYjMzk7bSBmb2N1c2luZyBvbiB0aGlzIGBzdG1tYWNgIGRyaXZlci4gVGhlIGltbWVkaWF0ZSB0aG91Z2h0IGlzLCB0aGlzIGNvZGUgcGF0aCBvbmx5IGdldHMgdXNlZCBieSBgc3RtbWFjYC4gTm93LCB0aGUga2V5IGlzIHdoZXRoZXIgaXQmIzM5O3MgcmVhY2hhYmxlIGluIHN0YW5kYXJkIFFFTVUgeDg2XzY0IGVudmlyb25tZW50cywgd2hpY2ggaXMgY3J1Y2lhbCBiZWNhdXNlIHRoYXQmIzM5O3Mgd2hhdCBzeXprYWxsZXIgdXNlcy4gSWYgYHN0bW1hY2AgaXMgaW5hY2Nlc3NpYmxlLCB0aGVuIHRoZSBjb2RlLCBieSBkZWZpbml0aW9uLCBpcyB1bnJlYWNoYWJsZS4KCldhaXQgYSBzZWNvbmQsIGRvZXMgc3l6a2FsbGVyIGV2ZW4gKmZ1enoqIGBzdG1tYWNgPyBJIG5lZWQgdG8gdmVyaWZ5IHRoYXQuIEkmIzM5O2xsIG5lZWQgdG8gY2hlY2sgdGhlIHN5emthbGxlciBjb25maWd1cmF0aW9uIGZvciBgc3RtbWFjYCBlbmFibGVtZW50IG9yIHJlYWNoYWJpbGl0eS4gTGV0JiMzOTtzIHNlZS4uLiBkb2VzIHN5emthbGxlciBoYXZlIGBDT05GSUdfU1RNTUFDX0VUSD15YCBvciBgQ09ORklHX1NUTU1BQ19QQ0k9eWAgc2V0IGluIGl0cyBjb25maWdzPyBJZiBzbywgdGhhdCYjMzk7cyBhIGdvb2Qgc2lnbi4gT2theSwgaXQgc2VlbXMgdGhhdCB0aGVyZSYjMzk7cyBQQ0kgc3VwcG9ydCBlbmFibGVkLgoKSWYgYENPTkZJR19TVE1NQUNfUENJPXlgIGlzIHNldCwgdGhlbiB0aGUgZHJpdmVyIGlzIGxpa2VseSBwcmVzZW50LCBidXQgaXMgaXQgKnJlYWNoYWJsZSo/IENhbiBzeXprYWxsZXIgaW5qZWN0IFBDSSBkZXZpY2VzPyBUaGVyZSYjMzk7cyBubyBnZW5lcmljIGBzeXpfcGNpX3NldHVwYCBwc2V1ZG8tc3lzY2FsbCwgYnV0IGl0IGRvZXMgaGF2ZSBgc3l6X3VzYl9jb25uZWN0YC4gU28gUENJIGlzIGRpZmZlcmVudDogc3l6a2FsbGVyIHJlbGllcyBvbiBRRU1VJiMzOTtzIGVtdWxhdGVkIGRldmljZXMgZm9yIFBDSS4KClJpZ2h0LCBzeXprYWxsZXIgaXMgdXNpbmcgYHFlbXUtc3lzdGVtLXg4Nl82NGAsIHNvIG5vdyB0aGUgcXVlc3Rpb24gaXM6IGRvZXMgUUVNVSBlbXVsYXRlIHRoZSBgU1RNTUFDYCBQQ0kgZGV2aWNlPyBObywgaXQgZG9lc24mIzM5O3QuIEhvd2V2ZXIsIHdhc24mIzM5O3QgdGhlcmUgc29tZXRoaW5nIGFib3V0IHJlY2VudCBQQ0kgZnV6emluZyBjYXBhYmlsaXRpZXMgYWRkZWQgdG8gc3l6a2FsbGVyPyBObywgdGhhdCB3YXMgbW9zdGx5IFVTQiBhbmQgc29tZSB2aXJ0dWFsIGRldmljZXMuCgpIZXJlJiMzOTtzIHRoZSBwcm9ibGVtOiB3aGF0IGlmIHRoZSBwYXRjaCBpcyBidXJpZWQgaW4gYSBkcml2ZXIgdGhhdCByZXF1aXJlcyBwaHlzaWNhbCBoYXJkd2FyZSBub3QgZW11bGF0ZWQgYnkgc3RhbmRhcmQgUUVNVT8gQWgsIHRoZSBkb2N1bWVudCBtZW50aW9ucyAmIzM0O3ZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuJiMzNDsKCklzIGBzdG1tYWNgIGEgdmVuZG9yLXNwZWNpZmljIGhhcmR3YXJlIGRyaXZlcj8gSXQmIzM5O3MgdGhlIFN5bm9wc3lzIERlc2lnbldhcmUgTUFDLCB3aGljaCBpcyB1c3VhbGx5IGZvdW5kIG9uIFNvQ3MgKEFSTSwgZXRjLikgb3Igc29tZSBJbnRlbCBwbGF0Zm9ybXMgbGlrZSBRdWFyayBvciBFbGtoYXJ0IExha2UsIHNvIEkmIzM5O2Qgc2F5IHRoYXQgaXMgY29ycmVjdC4gSXQgbmVlZHMgcGh5c2ljYWwgaGFyZHdhcmUgb3IsIGF0IHRoZSB2ZXJ5IGxlYXN0LCBzcGVjaWZpYyBTb0MgZW11bGF0aW9uLiBTaW5jZSBzeXprYWxsZXIgcnVucyBpbiB4ODZfNjQgUUVNVSwgaXQgd29uJiMzOTt0IGhhdmUgdGhvc2UgcGxhdGZvcm0gZGV2aWNlcy4gU3BlY2lmaWNhbGx5LCByZWdhcmRpbmcgdGhlIFBDSSB2ZXJzaW9uLCBRRU1VIGRvZXNuJiMzOTt0IGVtdWxhdGUgdGhlIEludGVsIFF1YXJrIG9yIEVsa2hhcnQgTGFrZSBTVE1NQUMgUENJIGRldmljZXMuCgpUaGVyZWZvcmUsIHRoZSBgc3RtbWFjYCBkcml2ZXIgcHJvYmUgaXMgZXh0cmVtZWx5IHVubGlrZWx5IHRvIHN1Y2NlZWQsIGFuZCB0aGUgc2VsZnRlc3QgY29kZSBpbiBxdWVzdGlvbiBpcyBsaWtlbHkgbmV2ZXIgcmVhY2hlZC4gQnV0IHdhaXQsIGl0JiMzOTtzIHdvcnRoIHNlZWluZyBpZiB0aGVyZSBpcyBhbnkgY2hhbmNlIHRoYXQgdGhlIGRyaXZlciBnZXRzIGZ1enplZC4gSXQmIzM5O3MgdGltZSB0byBjaGVjayBpZiB0aGVyZSBhcmUgYW55IGV4aXN0aW5nIHN5emJvdCBidWdzIHJlcG9ydGVkIGZvciBgc3RtbWFjYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3RtbWFjJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O1xuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiAxNDA5MCBsaW5lcy5cblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cblxuRG9jdW1lbnRhdGlvbi8ucmVuYW1lcy50eHQ9ODIzPW5ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvcXVhbGNvbW0vcm1uZXQgbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9jZWxsdWxhci9xdWFsY29tbS9ybW5ldFxuRG9jdW1lbnRhdGlvbi8ucmVuYW1lcy50eHQ6ODI0Om5ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvc3RtaWNyby9zdG1tYWMgbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hY1xuRG9jdW1lbnRhdGlvbi8ucmVuYW1lcy50eHQtODI1LW5ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvdGkvY3BzdyBuZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L3RpL2Nwc3dcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW43aS1hMjAtZ21hYy55YW1sPTE2PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuN2ktYTIwLWdtYWMueWFtbC0zNS0gICAgaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW43aS1hMjAtZ21hYy55YW1sOjM2OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuN2ktYTIwLWdtYWMueWFtbC0zNy0gICAgICAtIGNvbnN0OiBhbGx3aW5uZXJfZ21hY190eFxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjdpLWEyMC1nbWFjLnlhbWw9NTQ9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuN2ktYTIwLWdtYWMueWFtbC02MS0gICAgICAgIGNsb2NrcyA9IFx1MDAzY1x1MDAyNmFoYl9nYXRlcyA0OVx1MDAzZSwgXHUwMDNjXHUwMDI2Z21hY190eFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjdpLWEyMC1nbWFjLnlhbWw6NjI6ICAgICAgICBjbG9jay1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OywgXCYjMzQ7YWxsd2lubmVyX2dtYWNfdHhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW43aS1hMjAtZ21hYy55YW1sLTYzLSAgICAgICAgcGh5LW1vZGUgPSBcJiMzNDttaWlcJiMzNDs7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw9Mjg9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC02My0gICAgaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbDo2NDogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTY1LSAgICAgIC0gY29uc3Q6IG1idXNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbD0yNTU9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWwtMjYzLSAgICAgICAgcmVzZXRzID0gXHUwMDNjXHUwMDI2Y2N1IDEyXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MjY0OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0yNjUtICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZjY3UgMjdcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbDoyNjY6ICAgICAgICBjbG9jay1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTI2Ny1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zMTQtICAgICAgICByZXNldHMgPSBcdTAwM2NcdTAwMjZjY3UgMTJcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbDozMTU6ICAgICAgICByZXNldC1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTMxNi0gICAgICAgIGNsb2NrcyA9IFx1MDAzY1x1MDAyNmNjdSAyN1x1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sOjMxNzogICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWwtMzE4LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTM2Ny0gICAgICAgIHJlc2V0cyA9IFx1MDAzY1x1MDAyNmNjdSAxM1x1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sOjM2ODogICAgICAgIHJlc2V0LW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWwtMzY5LSAgICAgICAgY2xvY2tzID0gXHUwMDNjXHUwMDI2Y2N1IDI3XHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MzcwOiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zNzEtICAgICAgICBwaHktaGFuZGxlID0gXHUwMDNjXHUwMDI2ZXh0X3JnbWlpX3BoeTFcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWwtMzkwLSAgICAgICAgY2xvY2tzID0gXHUwMDNjXHUwMDI2Y2N1IDExN1x1MDAzZSwgXHUwMDNjXHUwMDI2Y2N1IDc5XHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MzkxOiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDssIFwmIzM0O21idXNcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zOTItICAgICAgICByZXNldHMgPSBcdTAwM2NcdTAwMjZjY3UgNDNcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbDozOTM6ICAgICAgICByZXNldC1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTM5NC0gICAgICAgIGludGVycnVwdHMgPSBcdTAwM2MwIDQ3IDRcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWwtNDAyLSAgICAgICAgc25wcyxmaXhlZC1idXJzdDtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sOjQwMzogICAgICAgIHNucHMsYXhpLWNvbmZpZyA9IFx1MDAzY1x1MDAyNmdtYWMxX3N0bW1hY19heGlfc2V0dXBcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC00MDQtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtMy0tLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbD0xMj1kZXNjcmlwdGlvbjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC0xNS0gIGZhbWlsaWVzIG9mIGNoaXBzLlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6MTY6ICAjIFRPRE86IERldGVybWluZSBob3cgdG8gaGFuZGxlIHRoZSBBcnJpYTEwIHJlc2V0LW5hbWUsIHN0bW1hY2V0aC1vY3AsIHRoYXRcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTE3LSAgIyBkb2VzIG5vdCB2YWxpZGF0ZSBhZ2FpbnN0IG5ldC9zbnBzLGR3bWFjLnlhbWwuXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw9MTk9c2VsZWN0OlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTIzLSAgICAgICAgZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjI0OiAgICAgICAgICAtIGFsdHIsc29jZnBnYS1zdG1tYWNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjI1OiAgICAgICAgICAtIGFsdHIsc29jZnBnYS1zdG1tYWMtYTEwLXMxMFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6MjY6ICAgICAgICAgIC0gYWx0cixzb2NmcGdhLXN0bW1hYy1hZ2lsZXg1XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC0yNy1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbD0zMT1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTM0LSAgICAgIC0gaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbDozNTogICAgICAgICAgLSBjb25zdDogYWx0cixzb2NmcGdhLXN0bW1hY1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtMzYtICAgICAgICAgIC0gY29uc3Q6IHNucHMsZHdtYWMtMy43MGFcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC0zOC0gICAgICAtIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6Mzk6ICAgICAgICAgIC0gY29uc3Q6IGFsdHIsc29jZnBnYS1zdG1tYWMtYTEwLXMxMFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNDAtICAgICAgICAgIC0gY29uc3Q6IHNucHMsZHdtYWMtMy43MmFcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC00Mi0gICAgICAtIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6NDM6ICAgICAgICAgIC0gY29uc3Q6IGFsdHIsc29jZnBnYS1zdG1tYWMtYTEwLXMxMFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNDQtICAgICAgICAgIC0gY29uc3Q6IHNucHMsZHdtYWMtMy43NGFcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC00Ni0gICAgICAtIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6NDc6ICAgICAgICAgIC0gY29uc3Q6IGFsdHIsc29jZnBnYS1zdG1tYWMtYWdpbGV4NVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNDgtICAgICAgICAgIC0gY29uc3Q6IHNucHMsZHd4Z21hYy0yLjEwXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNjEtICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6NjI6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC02My0gICAgICAtIGNvbnN0OiBwdHBfcmVmXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw9MTU4PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTE2Ni0gICAgICAgIGV0aGVybmV0QGZmNzAwMDAwIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjE2NzogICAgICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWx0cixzb2NmcGdhLXN0bW1hY1wmIzM0OywgXCYjMzQ7c25wcyxkd21hYy0zLjcwYVwmIzM0OyxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTE2OC0gICAgICAgICAgICBcJiMzNDtzbnBzLGR3bWFjXCYjMzQ7O1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTE3NC0gICAgICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZlbWFjXzBfY2xrXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6MTc1OiAgICAgICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtMTc2LSAgICAgICAgICAgIHBoeS1tb2RlID0gXCYjMzQ7c2dtaWlcJiMzNDs7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbWxvZ2ljLG1lc29uLWR3bWFjLnlhbWw9Mjk9YWxsT2Y6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbWxvZ2ljLG1lc29uLWR3bWFjLnlhbWwtNTQtICAgICAgICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbWxvZ2ljLG1lc29uLWR3bWFjLnlhbWw6NTU6ICAgICAgICAgICAgLSBjb25zdDogc3RtbWFjZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FtbG9naWMsbWVzb24tZHdtYWMueWFtbC01Ni0gICAgICAgICAgICAtIGNvbnN0OiBjbGtpbjBcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FtbG9naWMsbWVzb24tZHdtYWMueWFtbD0xNzI9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbWxvZ2ljLG1lc29uLWR3bWFjLnlhbWwtMTc5LSAgICAgICAgY2xvY2tzID0gXHUwMDNjXHUwMDI2Y2xrX2V0aFx1MDAzZSwgXHUwMDNjXHUwMDI2Y2xrX2ZjbGtfZGl2Mlx1MDAzZSwgXHUwMDNjXHUwMDI2Y2xrX21wbGwyXHUwMDNlLCBcdTAwM2NcdTAwMjZjbGtfZmNsa19kaXYyXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbWxvZ2ljLG1lc29uLWR3bWFjLnlhbWw6MTgwOiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDssIFwmIzM0O2Nsa2luMFwmIzM0OywgXCYjMzQ7Y2xraW4xXCYjMzQ7LCBcJiMzNDt0aW1pbmctYWRqdXN0bWVudFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYW1sb2dpYyxtZXNvbi1kd21hYy55YW1sLTE4MS0gICAgICAgIHBoeS1tb2RlID0gXCYjMzQ7cmdtaWlcJiMzNDs7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0LTItXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FuYXJpb24tZ21hYy50eHQ6MzpUaGlzIGRldmljZSBpcyBhIHBsYXRmb3JtIGdsdWUgbGF5ZXIgZm9yIHN0bW1hYy5cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYW5hcmlvbi1nbWFjLnR4dDo0OlBsZWFzZSBzZWUgc3RtbWFjLnR4dCBmb3IgdGhlIG90aGVyIHVuY2hhbmdlZCBwcm9wZXJ0aWVzLlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0LTUtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0PTExPUV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYW5hcmlvbi1nbWFjLnR4dC0yMS1cdFx0Y2xvY2tzID0gXHUwMDNjXHUwMDI2Y29yZV9jbGtcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FuYXJpb24tZ21hYy50eHQ6MjI6XHRcdGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0LTIzLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbD00OD1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC03NS0gICAgICAtIGNvbnN0OiBjZmdcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbDo3NjogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC03Ny0gICAgICAtIGNvbnN0OiB0eFxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC04My0gICAgaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6ODQ6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtODUtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sPTEzNz1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTQ2LSAgICAgICAgICAgICAgICBcdTAwM2NcdTAwMjZkMF9jbG9jayAxOTNcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTQ3OiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtheGlcJiMzNDssIFwmIzM0O2NmZ1wmIzM0OywgXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDt0eFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNDgtICAgICAgICByZXNldHMgPSBcdTAwM2NcdTAwMjZyZXNldCA5NVx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbDoxNDk6ICAgICAgICByZXNldC1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNTAtICAgICAgICBlc3dpbixoc3Atc3AtY3NyID0gXHUwMDNjXHUwMDI2aHNwX3NwX2NzciAweDEwMCAweDEwOCAweDExOCAweDExNCAweDExY1x1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTU1LSAgICAgICAgc25wcyx0c287XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTU2OiAgICAgICAgc25wcyxheGktY29uZmlnID0gXHUwMDNjXHUwMDI2c3RtbWFjX2F4aV9zZXR1cFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNTctXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTU4OiAgICAgICAgc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sLTE1OS0gICAgICAgICAgICBzbnBzLGJsZW4gPSBcdTAwM2MwIDAgMCAwIDE2IDggNFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTcyLSAgICAgICAgICAgICAgICBcdTAwM2NcdTAwMjZkMF9jbG9jayAxOTRcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTczOiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtheGlcJiMzNDssIFwmIzM0O2NmZ1wmIzM0OywgXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDt0eFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNzQtICAgICAgICByZXNldHMgPSBcdTAwM2NcdTAwMjZyZXNldCA5NFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbDoxNzU6ICAgICAgICByZXNldC1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNzYtICAgICAgICBlc3dpbixoc3Atc3AtY3NyID0gXHUwMDNjXHUwMDI2aHNwX3NwX2NzciAweDIwMCAweDIwOCAweDIxOCAweDIxNCAweDIxY1x1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTgxLSAgICAgICAgc25wcyx0c287XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTgyOiAgICAgICAgc25wcyxheGktY29uZmlnID0gXHUwMDNjXHUwMDI2c3RtbWFjX2F4aV9zZXR1cF9nbWFjMVx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xODMtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTg0OiAgICAgICAgc3RtbWFjX2F4aV9zZXR1cF9nbWFjMTogc3RtbWFjLWF4aS1jb25maWcge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sLTE4NS0gICAgICAgICAgICBzbnBzLGJsZW4gPSBcdTAwM2MwIDAgMCAwIDE2IDggNFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2luZ2VuaWMsbWFjLnlhbWw9MTU9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2luZ2VuaWMsbWFjLnlhbWwtMzYtICBjbG9jay1uYW1lczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW5nZW5pYyxtYWMueWFtbDozNzogICAgY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sLTM4LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW5nZW5pYyxtYWMueWFtbD02MD1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2luZ2VuaWMsbWFjLnlhbWwtNzItICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZjZ3UgWDEwMDBfQ0xLX01BQ1x1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW5nZW5pYyxtYWMueWFtbDo3MzogICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sLTc0LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sPTI0PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWwtMzktICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWw6NDA6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbC00MS0gICAgICAtIGNvbnN0OiBwdHBfcmVmXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWw9NTc9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWwtNjYtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbDo2NzogICAgc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWwtNjgtICAgICAgICBzbnBzLGxwaV9lbjtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbC0xMTUtICAgICAgICB0eC1maWZvLWRlcHRoID0gXHUwMDNjNDA5Nlx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sOjExNjogICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDtwdHBfcmVmXCYjMzQ7LCBcJiMzNDt0eF9jbGtcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbC0xMTctICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZzY21pX2NsayBNT1ZJU09DX0tNQl9QU1NfR0JFXHUwMDNlLFxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sLTEyMC0gICAgICAgIHNucHMscGJsID0gXHUwMDNjMHg0XHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWw6MTIxOiAgICAgICAgc25wcyxheGktY29uZmlnID0gXHUwMDNjXHUwMDI2c3RtbWFjX2F4aV9zZXR1cFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sLTEyMi0gICAgICAgIHNucHMsbXRsLXJ4LWNvbmZpZyA9IFx1MDAzY1x1MDAyNm10bF9yeF9zZXR1cFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2lwcTgwNngtZHdtYWMudHh0LTItXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2lwcTgwNngtZHdtYWMudHh0OjM6VGhlIGRldmljZSBpbmhlcml0cyBhbGwgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGR3bWFjL3N0bW1hYyBkZXZpY2VzXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2lwcTgwNngtZHdtYWMudHh0OjQ6ZGVzY3JpYmVkIGluIHRoZSBmaWxlIG5ldC9zdG1tYWMudHh0IHdpdGggdGhlIGZvbGxvd2luZyBjaGFuZ2VzLlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dC01LVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dD02PVJlcXVpcmVkIHByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dC05LVx0ICAgICAgYW5kIGFueSBhcHBsaWNhYmxlIG1vcmUgZGV0YWlsZWQgdmVyc2lvbiBudW1iZXJcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQ6MTA6XHQgICAgICBkZXNjcmliZWQgaW4gbmV0L3N0bW1hYy50eHRcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtMTEtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dD0xOD1FeGFtcGxlOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtMzAtXHRcdGNsb2NrcyA9IFx1MDAzY1x1MDAyNmdjYyBHTUFDX0NPUkUxX0NMS1x1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQ6MzE6XHRcdGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dC0zMi1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtMzMtXHRcdHJlc2V0cyA9IFx1MDAzY1x1MDAyNmdjYyBHTUFDX0NPUkUxX1JFU0VUXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dDozNDpcdFx0cmVzZXQtbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2lwcTgwNngtZHdtYWMudHh0LTM1LVx0fTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWItZ21hYy55YW1sPTM0PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFiLWdtYWMueWFtbC00OC0gICAgaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWItZ21hYy55YW1sOjQ5OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFiLWdtYWMueWFtbC01MC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWItZ21hYy55YW1sPTgzPWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYi1nbWFjLnlhbWwtOTItICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZjbGtjIExTMVhfQ0xLSURfQUhCXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFiLWdtYWMueWFtbDo5MzogICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFiLWdtYWMueWFtbC05NC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWMtZW1hYy55YW1sPTMzPXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbC00Ny0gICAgaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWMtZW1hYy55YW1sOjQ4OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbC00OS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWMtZW1hYy55YW1sPTgyPWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYy1lbWFjLnlhbWwtOTEtICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZjbGtjIExTMVhfQ0xLSURfQUhCXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbDo5MjogICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbC05My1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L21lZGlhdGVrLWR3bWFjLnlhbWw9MTI9ZGVzY3JpcHRpb246XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L21lZGlhdGVrLWR3bWFjLnlhbWw6MTM6ICBUaGlzIGZpbGUgZG9jdW1lbnRzIHBsYXRmb3JtIGdsdWUgbGF5ZXIgZm9yIHN0bW1hYy5cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbWVkaWF0ZWstZHdtYWMueWFtbC0xNC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWw9Mjg9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWwtNDgtICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sOjQ5OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sLTUwLSAgICAgIC0gY29uc3Q6IHB0cF9yZWZcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWwtNjktICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sOjcwOiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sLTcxLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnV2b3RvbixtYTM1ZDEtZHdtYWMueWFtbD0xMDg9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sLTExOC0gICAgICAgIGNsb2NrcyA9IFx1MDAzY1x1MDAyNmNsayBFTUFDMF9HQVRFXHUwMDNlLCBcdTAwM2NcdTAwMjZjbGsgRVBMTF9ESVY4XHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sOjExOTogICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDtwdHBfcmVmXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sLTEyMC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWwtMTIyLSAgICAgICAgcmVzZXRzID0gXHUwMDNjXHUwMDI2c3lzIE1BMzVEMV9SRVNFVF9HTUFDMFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnV2b3RvbixtYTM1ZDEtZHdtYWMueWFtbDoxMjM6ICAgICAgICByZXNldC1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnV2b3RvbixtYTM1ZDEtZHdtYWMueWFtbC0xMjQtICAgICAgICBzbnBzLG11bHRpY2FzdC1maWx0ZXItYmlucyA9IFx1MDAzYzBcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsZHdtYWMtaW14LnlhbWw9Mjk9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxkd21hYy1pbXgueWFtbC01Mi0gICAgICBlbnVtOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsZHdtYWMtaW14LnlhbWw6NTM6ICAgICAgICAtIHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsZHdtYWMtaW14LnlhbWwtNTQtICAgICAgICAtIHBjbGtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxkd21hYy1pbXgueWFtbD05Mz1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxkd21hYy1pbXgueWFtbC0xMDgtICAgICAgICAgICAgICAgICAgICAgXHUwMDNjXHUwMDI2Y2xrIElNWDhNUF9DTEtfRU5FVF9RT1NcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxkd21hYy1pbXgueWFtbDoxMDk6ICAgICAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDssIFwmIzM0O3BjbGtcJiMzNDssIFwmIzM0O3B0cF9yZWZcJiMzNDssIFwmIzM0O3R4XCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsZHdtYWMtaW14LnlhbWwtMTEwLSAgICAgICAgICAgIHBoeS1tb2RlID0gXCYjMzQ7cmdtaWlcJiMzNDs7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sPTIyPXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sLTM3LSAgICBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGxwYzE4NTAtZHdtYWMueWFtbDozODogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGxwYzE4NTAtZHdtYWMueWFtbC0zOS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtNTEtICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sOjUyOiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sLTUzLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGxwYzE4NTAtZHdtYWMueWFtbD02Nz1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtNzYtICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZjY3UxIENMS19DUFVfRVRIRVJORVRcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWw6Nzc6ICAgICAgICBjbG9jay1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGxwYzE4NTAtZHdtYWMueWFtbC03OC0gICAgICAgIHJlc2V0cyA9IFx1MDAzY1x1MDAyNnJndSAyMlx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGxwYzE4NTAtZHdtYWMueWFtbDo3OTogICAgICAgIHJlc2V0LW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sLTgwLSAgICAgICAgcngtZmlmby1kZXB0aCA9IFx1MDAzYzI1Nlx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxzMzItZHdtYWMueWFtbD0yMj1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLHMzMi1kd21hYy55YW1sLTc4LSAgICBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLHMzMi1kd21hYy55YW1sOjc5OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsczMyLWR3bWFjLnlhbWwtODAtICAgICAgLSBjb25zdDogdHhcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxzMzItZHdtYWMueWFtbD05Mz1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxzMzItZHdtYWMueWFtbC0xMzItICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZjbGtzIDI0XHUwMDNlLCBcdTAwM2NcdTAwMjZjbGtzIDE3XHUwMDNlLCBcdTAwM2NcdTAwMjZjbGtzIDE2XHUwMDNlLCBcdTAwM2NcdTAwMjZjbGtzIDE1XHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsczMyLWR3bWFjLnlhbWw6MTMzOiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDssIFwmIzM0O3R4XCYjMzQ7LCBcJiMzNDtyeFwmIzM0OywgXCYjMzQ7cHRwX3JlZlwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLHMzMi1kd21hYy55YW1sLTEzNC0gICAgICAgIHBoeS1tb2RlID0gXCYjMzQ7cmdtaWktaWRcJiMzNDs7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9xY29tLGV0aHFvcy55YW1sPTIwPXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9xY29tLGV0aHFvcy55YW1sLTQxLSAgICBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbDo0MjogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbC00My0gICAgICAtIGNvbnN0OiByZ21paVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbC02My0gICAgaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWw6NjQ6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWwtNjUtICAgICAgLSBjb25zdDogcGNsa1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbD05Nz1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWwtMTA2LSAgICAgICAgICAgIFx1MDAzYzB4MDdhOTYwMDAgMHgxMDBcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWw6MTA3OiAgICAgIHJlZy1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OywgXCYjMzQ7cmdtaWlcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWw6MTA4OiAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDtwY2xrXCYjMzQ7LCBcJiMzNDtwdHBfcmVmXCYjMzQ7LCBcJiMzNDtyZ21paVwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbC0xMDktICAgICAgY2xvY2tzID0gXHUwMDNjXHUwMDI2Z2NjIEdDQ19FVEhfQVhJX0NMS1x1MDAzZSxcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnpuMS1nbWFjLnlhbWw9NTI9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6bjEtZ21hYy55YW1sLTYzLSAgICAgIGludGVycnVwdC1uYW1lcyA9IFwmIzM0O21hY2lycVwmIzM0OywgXCYjMzQ7ZXRoX3dha2VfaXJxXCYjMzQ7LCBcJiMzNDtldGhfbHBpXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6bjEtZ21hYy55YW1sOjY0OiAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6bjEtZ21hYy55YW1sLTY1LSAgICAgIGNsb2NrcyA9IFx1MDAzY1x1MDAyNnN5c2N0cmwgUjlBMDZHMDMyX0hDTEtfR01BQzBcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWw9MjY9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC03My0gICAgICAtIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWw6NzQ6ICAgICAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtNzUtICAgICAgICAgIC0gY29uc3Q6IHBjbGtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC04Ny0gICAgICAtIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWw6ODg6ICAgICAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtODktICAgICAgICAgIC0gY29uc3Q6IHBjbGtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbD0yNDk9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtMjYwLSAgICAgICAgICAgICAgICAgIFx1MDAzY1x1MDAyNmNwZyBDUEdfTU9EIDB4YmJcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbDoyNjE6ICAgICAgICBjbG9jay1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OywgXCYjMzQ7cGNsa1wmIzM0OywgXCYjMzQ7cHRwX3JlZlwmIzM0OyxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sLTI2Mi0gICAgICAgICAgICAgICAgICAgICAgXCYjMzQ7dHhcJiMzNDssIFwmIzM0O3J4XCYjMzQ7LCBcJiMzNDt0eC0xODBcJiMzNDssIFwmIzM0O3J4LTE4MFwmIzM0Oztcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC0yODUtICAgICAgICBzbnBzLGZvcmNlX3RocmVzaF9kbWFfbW9kZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sOjI4NjogICAgICAgIHNucHMsYXhpLWNvbmZpZyA9IFx1MDAzY1x1MDAyNnN0bW1hY19heGlfc2V0dXBcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC0yODctICAgICAgICBzbnBzLG10bC1yeC1jb25maWcgPSBcdTAwM2NcdTAwMjZtdGxfcnhfc2V0dXBcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtMjkyLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWw6MjkzOiAgICAgICAgc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtMjk0LSAgICAgICAgICAgIHNucHMsbHBpX2VuO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbD0zNz1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbC03OC0gICAgICBlbnVtOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sOjc5OiAgICAgICAgLSBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbC04MC0gICAgICAgIC0gbWFjX2Nsa190eFxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbD0xNjQ9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sLTE3Ny0gICAgICAgICAgICAgICAgIFx1MDAzY1x1MDAyNmNydSBBQ0xLX0dNQUNcdTAwM2UsIFx1MDAzY1x1MDAyNmNydSBQQ0xLX0dNQUNcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWw6MTc4OiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDssXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWwtMTc5LSAgICAgICAgICAgICAgICAgICAgICBcJiMzNDttYWNfY2xrX3J4XCYjMzQ7LCBcJiMzNDttYWNfY2xrX3R4XCYjMzQ7LFxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd2MtcW9zLWV0aGVybmV0LnR4dD0zPVRoaXMgYmluZGluZyBpcyBkZXByZWNhdGVkLCBidXQgaXQgY29udGludWVzIHRvIGJlIHN1cHBvcnRlZCwgYnV0IG5ld1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3Yy1xb3MtZXRoZXJuZXQudHh0OjQ6ZmVhdHVyZXMgc2hvdWxkIGJlIHByZWZlcmFibHkgYWRkZWQgdG8gdGhlIHN0bW1hYyBiaW5kaW5nIGRvY3VtZW50LlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3Yy1xb3MtZXRoZXJuZXQudHh0LTUtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWw9NDY9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC0xNjgtICAgICAgZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sOjE2OTogICAgICAgIC0gc3RtbWFjZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC0xNzAtICAgICAgICAtIHBjbGtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC0xNzUtICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWw6MTc2OiAgICAgIC0gZGVzY3JpcHRpb246IEdNQUMgc3RtbWFjZXRoIHJlc2V0XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC0xNzctICAgICAgLSBkZXNjcmlwdGlvbjogQUhCIHJlc2V0XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtMTgxLSAgICAgIC0gaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDoxODI6ICAgICAgICAgIC0gZW51bTogW3N0bW1hY2V0aCwgYWhiXVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtMTgzLSAgICAgIC0gaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDoxODQ6ICAgICAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtMTg1LSAgICAgICAgICAtIGNvbnN0OiBhaGJcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC01NjAtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDo1NjE6ICBzdG1tYWMtYXhpLWNvbmZpZzpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTU2Mi0gICAgdHlwZTogb2JqZWN0XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWw9NjU0PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTY2OS0gICAgICAgIGNsb2NrcyA9IFx1MDAzY1x1MDAyNmNsb2NrXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWw6NjcwOiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDo2NzE6ICAgICAgICBzbnBzLGF4aS1jb25maWcgPSBcdTAwM2NcdTAwMjZzdG1tYWNfYXhpX3NldHVwXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtNjcyLSAgICAgICAgc25wcyxtdGwtcngtY29uZmlnID0gXHUwMDNjXHUwMDI2bXRsX3J4X3NldHVwXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTY3NC1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sOjY3NTogICAgICAgIHN0bW1hY19heGlfc2V0dXA6IHN0bW1hYy1heGktY29uZmlnIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTY3Ni0gICAgICAgICAgICBzbnBzLHdyX29zcl9sbXQgPSBcdTAwM2MweGZcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sPTIxPXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTM2LSAgICBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbDozNzogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbC0zOC0gICAgICAtIGNvbnN0OiBwdHBfcmVmXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTQ5LSAgcmVzZXQtbmFtZXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWw6NTA6ICAgIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbC01MS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWw9Njc9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTc0LSAgICAgIGNsb2NrcyA9IFx1MDAzY1x1MDAyNmNsayAzNVx1MDAzZSwgXHUwMDNjXHUwMDI2Y2xrIDM2XHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sOjc1OiAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDtwdHBfcmVmXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTc2LSAgICAgIGludGVycnVwdHMgPSBcdTAwM2MzMSBJUlFfVFlQRV9MRVZFTF9ISUdIXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbC04MC0gICAgICByZXNldHMgPSBcdTAwM2NcdTAwMjZyc3QgMTJcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWw6ODE6ICAgICAgcmVzZXQtbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWwtODItICAgICAgcngtZmlmby1kZXB0aCA9IFx1MDAzYzgxOTJcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTkwLSAgICAgIHNucHMsbXRsLXR4LWNvbmZpZyA9IFx1MDAzY1x1MDAyNmdtYWMwX210bF90eF9zZXR1cFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbDo5MTogICAgICBzbnBzLGF4aS1jb25maWcgPSBcdTAwM2NcdTAwMjZnbWFjMF9zdG1tYWNfYXhpX3NldHVwXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTkyLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbC0xMDgtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWw6MTA5OiAgICAgIGdtYWMwX3N0bW1hY19heGlfc2V0dXA6IHN0bW1hYy1heGktY29uZmlnIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbC0xMTAtICAgICAgICBzbnBzLGJsZW4gPSBcdTAwM2MxNiA4IDQgMCAwIDAgMFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbD0yMj1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTQyLSAgICBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sOjQzOiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtNDQtICAgICAgLSBjb25zdDogcHRwX3JlZlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTU4LSAgcmVzZXQtbmFtZXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDo1OTogICAgY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtNjAtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWw9OTU9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtMTAyLSAgICAgIGNsb2NrcyA9IFx1MDAzY1x1MDAyNmNsayAxNTFcdTAwM2UsIFx1MDAzY1x1MDAyNmNsayAxNTJcdTAwM2UsIFx1MDAzY1x1MDAyNmNsayAxNTRcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDoxMDM6ICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDssIFwmIzM0O3B0cF9yZWZcJiMzNDssIFwmIzM0O3R4XCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtMTA0LSAgICAgIGludGVycnVwdC1wYXJlbnQgPSBcdTAwM2NcdTAwMjZpbnRjXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTEwOS0gICAgICByZXNldHMgPSBcdTAwM2NcdTAwMjZyc3QgMzBcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDoxMTA6ICAgICAgcmVzZXQtbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbC0xMTEtICAgICAgc25wcyxtdWx0aWNhc3QtZmlsdGVyLWJpbnMgPSBcdTAwM2MwXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTExOC0gICAgICBzbnBzLG10bC10eC1jb25maWcgPSBcdTAwM2NcdTAwMjZnbWFjMF9tdGxfdHhfc2V0dXBcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDoxMTk6ICAgICAgc25wcyxheGktY29uZmlnID0gXHUwMDNjXHUwMDI2Z21hYzBfc3RtbWFjX2F4aV9zZXR1cFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTEyMC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbC0xNDUtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDoxNDY6ICAgICAgZ21hYzBfc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtMTQ3LSAgICAgICAgc25wcyxibGVuID0gXHUwMDNjMTYgOCA0IDAgMCAwIDBcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sPTIwPXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sLTM2LSAgICBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbDozNzogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbC0zOC0gICAgICAtIGNvbnN0OiBwdHBfcmVmXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sLTU2LSAgcmVzZXQtbmFtZXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWw6NTc6ICAgIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbC01OC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWw9ODU9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sLTkzLSAgICAgICAgICAgICAgIFx1MDAzY1x1MDAyNnN5c2Nvbl9hcG11IDY5XHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sOjk0OiAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDtwdHBfcmVmXCYjMzQ7LCBcJiMzNDt0eFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbC05NS0gICAgICBpbnRlcnJ1cHRzID0gXHUwMDNjMTMxIElSUV9UWVBFX0xFVkVMX0hJR0hcdTAwM2UsIFx1MDAzYzI3NiBJUlFfVFlQRV9MRVZFTF9ISUdIXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbC05OS0gICAgICByZXNldHMgPSBcdTAwM2NcdTAwMjZzeXNjb25fYXBtdSA2N1x1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbDoxMDA6ICAgICAgcmVzZXQtbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWwtMTAxLSAgICAgIHNwYWNlbWl0LGFwbXUgPSBcdTAwM2NcdTAwMjZzeXNjb25fYXBtdSAweDM4NCAweDM4Y1x1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sPTI0PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC01My0gICAgaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sOjU0OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC01NS0gICAgICAtIGNvbnN0OiBwY2xrXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbD04OD1hbGxPZjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sLTEzNC0gICAgICAgICAgcmVzZXQtbmFtZXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sOjEzNTogICAgICAgICAgICBjb25zdDogc3RtbWFjZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sLTEzNi0gICAgICBlbHNlOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWw9MTU0PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTYwLSAgICAgICAgICAgICAgICAgXHUwMDNjXHUwMDI2Y2xrIDZcdTAwM2UsIFx1MDAzY1x1MDAyNmNsayAxMTFcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sOjE2MTogICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDtwY2xrXCYjMzQ7LCBcJiMzNDtwdHBfcmVmXCYjMzQ7LFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC0xNjItICAgICAgICAgICAgICAgICAgICAgIFwmIzM0O3R4XCYjMzQ7LCBcJiMzNDtndHhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sLTE2My0gICAgICAgIHJlc2V0cyA9IFx1MDAzY1x1MDAyNnJzdCAxXHUwMDNlLCBcdTAwM2NcdTAwMjZyc3QgMlx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWw6MTY0OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDssIFwmIzM0O2FoYlwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTY1LSAgICAgICAgaW50ZXJydXB0cyA9IFx1MDAzYzdcdTAwM2UsIFx1MDAzYzZcdTAwM2UsIFx1MDAzYzVcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC0xNzUtICAgICAgICBzbnBzLGZvcmNlX3RocmVzaF9kbWFfbW9kZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWw6MTc2OiAgICAgICAgc25wcyxheGktY29uZmlnID0gXHUwMDNjXHUwMDI2c3RtbWFjX2F4aV9zZXR1cFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTc3LSAgICAgICAgc25wcyxlbi10eC1scGktY2xvY2tnYXRpbmc7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC0xOTItXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sOjE5MzogICAgICAgIHN0bW1hY19heGlfc2V0dXA6IHN0bW1hYy1heGktY29uZmlnIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTk0LSAgICAgICAgICAgIHNucHMsbHBpX2VuO1xuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMyMTI4CgkJCQkJCQlvdXRwdXQ6IDIxCgkJCQkJCQl0aG91Z2h0czogNTgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqSW52ZXN0aWdhdGluZyBTeXprYWxsZXImIzM5O3MgQ292ZXJhZ2Ugb2YgYHN0bW1hY2AqKgoKT2theSwgbXkgaW5pdGlhbCBvYnNlcnZhdGlvbiBpcyB0aGF0IEkmIzM5O20gc2VlaW5nIGBzdG1tYWNgIG1lbnRpb25lZCB3aXRoaW4gZGV2aWNlIHRyZWUgYmluZGluZ3MuIFRoYXQgaW1tZWRpYXRlbHkgbWFrZXMgbWUgdGhpbmsgb2YgaXRzIHByZXZhbGVuY2UgaW4gdGhlIEFSTSBhbmQgUklTQy1WIFN5c3RlbS1vbi1DaGlwcyBsYW5kc2NhcGUuIEl0JiMzOTtzIGEgY29tbW9uIEV0aGVybmV0IE1BQyBkcml2ZXIsIHNvIGl0cyB3aWRlc3ByZWFkIHVzZSBtYWtlcyBpdCBhbiBpbnRlcmVzdGluZyB0YXJnZXQuCgpNeSBuZXh0IGxpbmUgb2YgdGhvdWdodDogaXMgc3l6a2FsbGVyIGFscmVhZHkgZnV6emluZyB0aGlzIHBhcnRpY3VsYXIgZHJpdmVyPyBUaGF0JiMzOTtzIHRoZSBjcnV4IG9mIHRoZSBtYXR0ZXIuIE15IGdvYWwgaXMgdG8gZGV0ZXJtaW5lIHRoZSBjdXJyZW50IHN0YXRlIG9mIHN5emthbGxlciYjMzk7cyB0ZXN0aW5nIGVmZm9ydHMgYWdhaW5zdCBpdC4KClRoZXJlZm9yZSwgbXkgaW1tZWRpYXRlIGFjdGlvbiBpcyB0byBzZWFyY2ggZm9yIGFueSBleGlzdGluZyBzeXpib3QgcmVwb3J0cyByZWxhdGVkIHRvIGBzdG1tYWNgLiBUaGlzIHdpbGwgZ2l2ZSBtZSBhIHF1aWNrIHVuZGVyc3RhbmRpbmcgb2Ygd2hldGhlciBpdCYjMzk7cyBhbHJlYWR5IG9uIHN5emthbGxlciYjMzk7cyByYWRhciwgd2hldGhlciBpdCYjMzk7cyB5aWVsZGluZyBhbnkgaW50ZXJlc3RpbmcgY3Jhc2hlcyBvciBidWdzLCBhbmQgaWYgbm90LCB3aGVyZSBJIG1pZ2h0IG5lZWQgdG8gZm9jdXMgbXkgb3duIGZ1enppbmcgZWZmb3J0cy4gSSBuZWVkIHRoYXQgYmFzZWxpbmUgaW5mb3JtYXRpb24uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5FcnJvcjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm5vIG1hdGNoZXM8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3l6Ym90LipzdG1tYWMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE1LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOCAwMDo1NjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzMjQyNgoJCQkJCQkJb3V0cHV0OiAyMAoJCQkJCQkJdGhvdWdodHM6IDE3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHN1bW1hcnksIGZyYW1lZCBhcyBteSBpbnRlcm5hbCB0aG91Z2h0IHByb2Nlc3M6CgoqKlN5emJvdCBSZXBvcnQgQ2hlY2sgZm9yIGR3bWFjKioKCkFscmlnaHQsIHRpbWUgdG8gZ2V0IHN0YXJ0ZWQuIE15IGluaXRpYWwgZm9jdXMgaXMgZ29pbmcgdG8gYmUgb24gdGhlIGBkd21hY2AgZHJpdmVyLiBTcGVjaWZpY2FsbHksIEkgbmVlZCB0byBjaGVjayBmb3IgYW55IHJlY2VudCBzeXpib3QgcmVwb3J0cyByZWxhdGVkIHRvIGl0LiBUaGF0JiMzOTtzIGFsd2F5cyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQgdG8gaWRlbnRpZnkgYW55IHBvdGVudGlhbCBuZXcgcmVncmVzc2lvbnMgb3IgbHVya2luZyBidWdzIHRoYXQgbWlnaHQgbmVlZCBhdHRlbnRpb24uIEEgcXVpY2sgc2NhbiBvZiBzeXpib3QmIzM5O3MgZGF0YWJhc2UgZm9yIGBkd21hY2AgcmVwb3J0cyB3aWxsIGdpdmUgbWUgYSBnb29kIGJhc2VsaW5lLiBJJiMzOTttIGV4cGVjdGluZyB0aGlzIHRvIGVpdGhlciBiZSBhIHF1aWNrIHllcy9ubywgaWYgc29tZXRoaW5nIG9idmlvdXMgcG9wcyB1cCwgb3Igd2lsbCByZXF1aXJlIGEgZGVlcGVyIGRpdmUgaWYgdGhlcmUgYXJlIHJlcG9ydHMuIExldCYjMzk7cyBzZWUgd2hhdCB0aGUgYXV0b21hdGVkIHN5c3RlbXMgaGF2ZSBmb3VuZCBmb3IgbWUhCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5FcnJvcjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm5vIG1hdGNoZXM8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3l6Ym90Lipkd21hYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMyNjMzCgkJCQkJCQlvdXRwdXQ6IDIwCgkJCQkJCQl0aG91Z2h0czogMTcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgdGhvdWdodCBwcm9jZXNzLCBzdW1tYXJpemVkIGFzIHlvdSByZXF1ZXN0ZWQ6CgoqKkNoZWNraW5nIGZvciBQaHlsaW5rIFN5emJvdCBSZXBvcnRzKioKCk9rYXksIHRpbWUgdG8gc2VlIHdoYXQmIzM5O3MgYnJld2luZyBpbiB0aGUgd29ybGQgb2YgYHBoeWxpbmtgIGFuZCBzeXpib3QuIEkgbmVlZCB0byBxdWlja2x5IHNjYW4gZm9yIGFueSByZWNlbnQgcmVwb3J0cyBhc3NvY2lhdGVkIHdpdGggdGhhdCBzdWJzeXN0ZW0uIFRoaXMgaXMgYSBjcnVjaWFsIGZpcnN0IHN0ZXAgaW4gbXkgd29ya2Zsb3cuIFN5emJvdCBpcyBpbnZhbHVhYmxlIGZvciBpZGVudGlmeWluZyByZWdyZXNzaW9ucyBhbmQgaXNzdWVzIGJlZm9yZSB0aGV5IGJlY29tZSB3aWRlc3ByZWFkLiBJIG5lZWQgdG8gcXVpY2tseSBhc3Nlc3MgaWYgdGhlcmUgYXJlIGFueSBuZXcsIHBvdGVudGlhbGx5IGNyaXRpY2FsLCBmYWlsdXJlcyBwb3BwaW5nIHVwLiBUaGUgc3RhdHVzIG9mIHRoaXMgc3Vic3lzdGVtIGlzIGltcG9ydGFudCBmb3Igc3RhYmlsaXR5LCBlc3BlY2lhbGx5IGFzIG1vcmUgYWR2YW5jZWQgbmV0d29ya2luZyBzb2x1dGlvbnMgYXJlIGJ1aWx0IG9uIGl0LiBJIG5lZWQgdG8ga25vdyB3aGVyZSBJIHNob3VsZCBwcmlvcml0aXplIG15IGVmZm9ydHMuIExldCYjMzk7cyBnZXQgdG8gaXQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5FcnJvcjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm5vIG1hdGNoZXM8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3l6Ym90LipwaHlsaW5rJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzI4MjcKCQkJCQkJCW91dHB1dDogMjMKCQkJCQkJCXRob3VnaHRzOiA3MDkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIFN5emthbGxlciYjMzk7cyBQb3RlbnRpYWwgZm9yIFRlc3RpbmcgYSBQSFkgTG9vcGJhY2sgUGF0Y2gqKgoKT2theSwgZmlyc3QgdGhpbmdzIGZpcnN0LCB0aGUgY29tbWl0IGF1dGhvciBpcyBgc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0O2AuICBUaGF0JiMzOTtzIG15IHN0YXJ0aW5nIHBvaW50LiBUaGlzIHBhdGNoIHdhcyB0ZXN0ZWQgYnkgc3l6a2FsbGVyLiAgQnV0LCBJIGhhdmUgdG8gYXNrIG15c2VsZiwgaXMgdGhlIGNvZGUgYWN0dWFsbHkgYmVpbmcgaGl0IGJ5IHRoZSBmdXp6ZXI/CgpUaGUgcGF0Y2ggYWRkcyBgcGh5bGlua19wY3NfbG9vcGJhY2tgIGFuZCBgZHdtYWNfaW50ZWdyYXRlZF9wY3NfbG9vcGJhY2tgLiBNeSBpbW1lZGlhdGUgY29uY2VybiBpcyB3aGV0aGVyIHN5emthbGxlciAqY2FuKiBldmVuIHJlYWNoIHRoaXMgY29kZSBwYXRoLiBJZiB0aGUgYHN0bW1hY2AgZHJpdmVyLCB3aGljaCBzZWVtcyByZWxhdGVkLCBpc24mIzM5O3QgcmVhY2hhYmxlLCB0aGVuIHRoaXMgaXMgYWxsIGBXb3J0aEZ1enppbmc9ZmFsc2VgLgoKTm93LCBJIHNlZW0gdG8gcmVtZW1iZXIgYHN0bW1hY2AgaGFzIGEgUENJIGRyaXZlci4gVGhlIHF1ZXN0aW9uIHRoZW4gYmVjb21lcywgZG9lcyBzeXprYWxsZXIgaGF2ZSBhIHdheSB0byBwcm9iZSBpdD8gRG9lcyBpdCBoYXZlIHNvbWUgYHN5el9wY2lfc2V0dXBgIGNhbGwgSSYjMzk7bSBtaXNzaW5nPyBOb3BlLiBBaCwgd2FpdCwgaXNuJiMzOTt0IHRoZXJlIHNvbWV0aGluZyBhYm91dCBmdXp6aW5nIFBDSSBkZXZpY2VzPyBZZXMhIE9rLCBnb29kLgoKVGhlIG5leHQgc3RlcCBpcyB0byBjaGVjayBpZiBgc3RtbWFjX3BjaWAgaXMgY29tcGlsZWQgaW50byBzeXprYWxsZXImIzM5O3MgZGVmYXVsdCBjb25maWd1cmF0aW9uLiBJIGNhbiYjMzk7dCBsb29rIGF0IHN5emthbGxlciYjMzk7cyBjb25maWcgZGlyZWN0bHksIGJ1dCBJIGNhbiBjaGVjayBmb3IgcmVhY2hhYmlsaXR5LgoKSWYgYHN0bW1hY19wY2lgICppcyogcHJvYmVkLCBpdCYjMzk7bGwgY2FsbCBgc3RtbWFjX3BjaV9wcm9iZWAsIHdoaWNoIGNhbGxzIGBzdG1tYWNfZHZyX3Byb2JlYC4gIEFuZCB0aGVuLCBpZiB0aGUgdXNlciBydW5zIGBldGh0b29sIC10YCwgaXQgd2lsbCBjYWxsIGBzdG1tYWNfc2VsZnRlc3RfcnVuYCwgd2hpY2ggY2FsbHMgYHN0bW1hY190ZXN0X3BoeV9sb29wYmFja2AuIElmIG5vIGV4dGVybmFsIFBIWSBpcyBwcmVzZW50LCBpdCB3aWxsIGNhbGwgYHBoeWxpbmtfcGNzX2xvb3BiYWNrKHN0bW1hY19zZWxmdGVzdF9nZXRfcGNzKHByaXYpLCB0cnVlKWAuICBUaGlzIGxlYWRzIHRvIGBwY3MtJmd0O29wcy0mZ3Q7cGNzX2xvb3BiYWNrKHBjcywgZW5hYmxlKWAsIHdoaWNoIGlzIGBkd21hY19pbnRlZ3JhdGVkX3Bjc19sb29wYmFja2AuICBTbywgdGhlIGNyaXRpY2FsIHF1ZXN0aW9uIGlzOiBpcyBpdCBwb3NzaWJsZSB0byByZWFjaCB0aGUgYHN0bW1hY190ZXN0X3BoeV9sb29wYmFja2AgKndpdGhvdXQqIHBoeXNpY2FsIGhhcmR3YXJlPwoKSSYjMzk7bSB0aGlua2luZywgaWYgc3l6a2FsbGVyIGNhbiBpbmplY3QgYSBQQ0kgZGV2aWNlIHdpdGggdGhlIHZlbmRvciBJRCBgUENJX0RFVklDRV9JRF9TVE1NQUNfU1RNTUFDYCAoMHgxMTA4KSwgdGhlIGRyaXZlciAqc2hvdWxkKiBwcm9iZS4gQnV0IGhlcmUmIzM5O3MgdGhlIGtpY2tlcjogVGhlIGRyaXZlciBkb2VzIE1NSU8gcmVhZHMgYW5kIHdyaXRlcy4KCkxvb2tpbmcgYXQgYHN0bW1hY19wY2lfcHJvYmVgLCBmb3IgZXhhbXBsZToKYGBgYwpwY2ltX2lvbWFwX3JlZ2lvbnMocGRldiwgQklUKDApLCBwY2lfbmFtZShwZGV2KSkKcGxhdC0mZ3Q7YnNwX3ByaXYgPSBwZGV2OwpzdG1tYWNfZHZyX3Byb2JlKCZhbXA7cGRldi0mZ3Q7ZGV2LCBwbGF0LCAmYW1wO3Jlcyk7CmBgYAoKQW5kIGluIGBzdG1tYWNfZHZyX3Byb2JlYDoKYGBgYwpwcml2LSZndDtpb2FkZHIgPSByZXMtJmd0O2FkZHI7CmBgYAoKVGhpcyByZWFkcyBmcm9tIGBwcml2LSZndDtpb2FkZHJgLiBJZiB0aGF0IE1NSU8gbWVtb3J5IGlzIGp1c3QgZHVtbXkgZGF0YSAoYWxsIDBzLCBhbGwgMXMpLCB0aGUgZHJpdmVyICptaWdodCogZmFpbCB0byBwcm9iZSwgb3IgaXQgbWlnaHQgc3VjY2VlZCBpZiBpdCYjMzk7cyBub3Qgc3VwZXIgc3RyaWN0IGFib3V0IHRoZSByZWFkIHZhbHVlcy4KCkhhbmcgb27igKYgIGBzdG1tYWNfZHZyX3Byb2JlYCAqYWxzbyogY2FsbHMgYHN0bW1hY19od19zZXR1cGAsIGFuZCAqdGhhdCogcmVhZHMgdGhlIE1BQyB2ZXJzaW9uOgoKYGBgYwpwcml2LSZndDtzeW5vcHN5c19pZCA9IHN0bW1hY19nZXRfbWFjX3ZlcnNpb24ocHJpdiwgcHJpdi0mZ3Q7aW9hZGRyKTsKYGBgCgpJZiBpdCByZWFkcyAwIG9yIDB4ZmZmZmZmZmYsIGl0IG1pZ2h0IGZhaWwgdG8gY29ycmVjdGx5IGlkZW50aWZ5IHRoZSBNQUMgYW5kIHJldHVybiBhbiBlcnJvci4gTm93LCBsZXQmIzM5O3MgbG9vayBhdCBgc3RtbWFjX2dldF9tYWNfdmVyc2lvbmAgdG8gc2VlLi4uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5FcnJvcjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm5vIG1hdGNoZXM8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3RtbWFjX2dldF9tYWNfdmVyc2lvbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM0MzcxCgkJCQkJCQlvdXRwdXQ6IDE5CgkJCQkJCQl0aG91Z2h0czogMTgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aG9zZSB0aG91Z2h0cyBmcm9tIGEgZmlyc3QtcGVyc29uLCBleHBlcnQgcGVyc3BlY3RpdmUsIGFpbWluZyBmb3IgYSBmdWxzb21lIHJlbmRlcmluZzoKCioqSW50ZXJuYWwgSW52ZXN0aWdhdGlvbiAtIFF1ZXJ5IEZvcm11bGF0aW9uKioKCkFscmlnaHQsIHRpbWUgdG8gZ2V0IHRvIHdvcmsuIEZpcnN0IHRoaW5nJiMzOTtzIGZpcnN0OiB3aGF0JiMzOTtzIHRoZSBtb3N0IGxpa2VseSBhdmVudWUgdG8gdW5jb3ZlciB0aGUgaW5mb3JtYXRpb24gSSBuZWVkPyBJJiMzOTttIHRoaW5raW5nIEkmIzM5O2xsIHN0YXJ0IHdpdGggdGhlIG1vc3Qgc3BlY2lmaWMgaWRlbnRpZmllcnMgdGhhdCBtaWdodCBiZSBhdmFpbGFibGUgdG8gbWUuIEkgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyB0byB0cmFjayBkb3duIHRoaXMgY3J1Y2lhbCBkYXRhLiBMZXQgbWUgYmVnaW4gYnkgc2VhcmNoaW5nIGZvciBzb21lIHBvdGVudGlhbCBrZXlzLiBJJiMzOTtsbCBmb2N1cyBvbiB0ZXJtcyByZWxhdGVkIHRvIHRoZSBzeXN0ZW0gaW4gcXVlc3Rpb24sIHBlcmhhcHMgSSBjYW4gdXNlIGBtYWNfdmVyc2lvbmAgdG8gc3RhcnQuIFRoYXQgc2hvdWxkIHByb3ZpZGUgc29tZSBpbmZvcm1hdGlvbiB0byBhbGxvdyBtZSB0byB0cmFjayBpdCBkb3duLiBJZiB0aGF0IGRvZXNuJiMzOTt0IHlpZWxkIGFueXRoaW5nIGltbWVkaWF0ZWx5IHByb21pc2luZywgSSYjMzk7bGwgbmVlZCB0byBicm9hZGVuIG15IHNlYXJjaCBhbmQgdHJ5IHNvbWV0aGluZyBtb3JlIGdlbmVyYWwsIGJ1dCBzdGlsbCByZWxldmFudC4gUGVyaGFwcyBgc3lub3BzeXNfaWRgIHdvdWxkIGJlIG1vcmUgdW5pdmVyc2FsLiBJJiMzOTtsbCB0cnkgdGhhdCBpZiB0aGUgZmlyc3QgYXBwcm9hY2ggaGl0cyBhIGRlYWQgZW5kLiBPa2F5LCBsZXQmIzM5O3Mgc2VlIHdoYXQgdGhlc2UgcXVlcmllcyB0dXJuIHVwIGFuZCBJIGNhbiBkZXRlcm1pbmUgd2hhdCBzdGVwcyBJIG5lZWQgdG8gdGFrZSB0byBnYWluIHRoZSBpbmZvcm1hdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3lub3BzeXNfaWQmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYz0zMDY9c3RhdGljIGludCBsb29uZ3Nvbl9kd21hY19zZXR1cCh2b2lkICphcHJpdiwgc3RydWN0IG1hY19kZXZpY2VfaW5mbyAqbWFjKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtMzI4LVx0aWYgKGxkLVx1MDAzZW11bHRpY2hhbikge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYzozMjk6XHRcdHByaXYtXHUwMDNlc3lub3BzeXNfaWQgPSBEV01BQ19DT1JFXzNfNzA7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTMzMC1cdFx0KmRtYSA9IGR3bWFjMTAwMF9kbWFfb3BzO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmM9MTA0Mz1zdGF0aWMgaW50IHN1bjhpX2R3bWFjX3NldHVwKHZvaWQgKnBwcml2LCBzdHJ1Y3QgbWFjX2RldmljZV9pbmZvICptYWMpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuOGkuYy0xMDcxLVx0LyogU3lub3BzeXMgSWQgaXMgbm90IGF2YWlsYWJsZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuOGkuYzoxMDcyOlx0cHJpdi1cdTAwM2VzeW5vcHN5c19pZCA9IDA7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44aS5jLTEwNzMtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJfZG1hLmM9MzUyPXN0YXRpYyBpbnQgZHd4Z21hYzJfZ2V0X2h3X2ZlYXR1cmUodm9pZCBfX2lvbWVtICppb2FkZHIsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJfZG1hLmMtMzgyLVx0ZG1hX2NhcC1cdTAwM2VtYnBzXzEwMDAgPSAoaHdfY2FwIFx1MDAyNiBYR01BQ19IV0ZFQVRfR01JSVNFTCkgXHUwMDNlXHUwMDNlIDE7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd3hnbWFjMl9kbWEuYzozODM6XHRpZiAoZG1hX2NhcC1cdTAwM2VtYnBzXzEwMDAgXHUwMDI2XHUwMDI2IHByaXYtXHUwMDNlc3lub3BzeXNfaWQgXHUwMDNlPSBEV1hHTUFDX0NPUkVfMl8yMClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3eGdtYWMyX2RtYS5jLTM4NC1cdFx0ZG1hX2NhcC1cdTAwM2VtYnBzXzEwXzEwMCA9IDE7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jPTY5PXN0YXRpYyBpbnQgc3RtbWFjX2R3bWFjMV9xdWlya3Moc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy03Ni1cdFx0LyogR01BQyBvbGRlciB0aGFuIDMuNTAgaGFzIG5vIGV4dGVuZGVkIGRlc2NyaXB0b3JzICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmM6Nzc6XHRcdGlmIChwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzZT0gRFdNQUNfQ09SRV8zXzUwKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmMtNzgtXHRcdFx0ZGV2X2luZm8ocHJpdi1cdTAwM2VkZXZpY2UsIFwmIzM0O0VuYWJsZWQgZXh0ZW5kZWQgZGVzY3JpcHRvcnNcXG5cJiMzNDspO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYz0yOTQ9c3RtbWFjX2h3aWZfZmluZChlbnVtIGR3bWFjX2NvcmVfdHlwZSBjb3JlX3R5cGUsIHU4IHNucHN2ZXIsIHU4IGRldl9pZClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmMtMzAzLVx0XHRcdGNvbnRpbnVlO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jOjMwNDpcdFx0LyogVXNlIHN5bm9wc3lzX2lkIHZhciBiZWNhdXNlIHNvbWUgc2V0dXBzIGNhbiBvdmVycmlkZSB0aGlzICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmMtMzA1LVx0XHRpZiAoc25wc3ZlciBcdTAwM2MgZW50cnktXHUwMDNlbWluX2lkKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYz0zMTc9aW50IHN0bW1hY19od2lmX2luaXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy0zMjgtXHQvKiBTYXZlIElEIGZvciBsYXRlciB1c2UgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYzozMjk6XHRwcml2LVx1MDAzZXN5bm9wc3lzX2lkID0gdmVyc2lvbi5zbnBzdmVyO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jLTMzMC1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmMtMzU5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jOjM2MDpcdC8qIFVzZSBzeW5vcHN5c19pZCB2YXIgYmVjYXVzZSBzb21lIHNldHVwcyBjYW4gb3ZlcnJpZGUgdGhpcyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jOjM2MTpcdGVudHJ5ID0gc3RtbWFjX2h3aWZfZmluZChjb3JlX3R5cGUsIHByaXYtXHUwMDNlc3lub3BzeXNfaWQsIHZlcnNpb24uZGV2X2lkKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy0zNjItXHRpZiAoIWVudHJ5KSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmg9MjYxPXN0cnVjdCBzdG1tYWNfcHJpdiB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmgtMzA2LVx0aW50IGh3X2NhcF9zdXBwb3J0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmg6MzA3Olx0aW50IHN5bm9wc3lzX2lkO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmgtMzA4LVx0dTMyIG1zZ19lbmFibGU7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2V0aHRvb2wuYz01MTU9c3RhdGljIHZvaWQgc3RtbWFjX2dldF9ldGh0b29sX3N0YXRzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2V0aHRvb2wuYy01NTUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfZXRodG9vbC5jOjU1NjpcdFx0aWYgKHByaXYtXHUwMDNlc3lub3BzeXNfaWQgXHUwMDNlPSBEV01BQ19DT1JFXzNfNTApXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfZXRodG9vbC5jLTU1Ny1cdFx0XHRzdG1tYWNfbWFjX2RlYnVnKHByaXYsIHByaXYtXHUwMDNlaW9hZGRyLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM9NjQyPXN0YXRpYyBpbnQgc3RtbWFjX2h3dHN0YW1wX3NldChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmMtNzU3LVx0XHRcdHNuYXBfdHlwZV9zZWwgPSBQVFBfVENSX1NOQVBUWVBTRUxfMTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM6NzU4Olx0XHRcdGlmIChwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzYyBEV01BQ19DT1JFXzRfMTApXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc1OS1cdFx0XHRcdHRzX2V2ZW50X2VuID0gUFRQX1RDUl9UU0VWTlRFTkE7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYz02NTU1PXN0YXRpYyBpbnQgc3RtbWFjX2RtYV9jYXBfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgdm9pZCAqdilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTY2MjItXHRcdCAgIChwcml2LVx1MDAzZWRtYV9jYXAudHhfY29lKSA/IFwmIzM0O1lcJiMzNDsgOiBcJiMzNDtOXCYjMzQ7KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM6NjYyMzpcdGlmIChwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzZT0gRFdNQUNfQ09SRV80XzAwIHx8XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTY2MjQtXHQgICAgcHJpdi1cdTAwM2VwbGF0LVx1MDAzZWNvcmVfdHlwZSA9PSBEV01BQ19DT1JFX1hHTUFDKSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYz03Mzk3PXN0YXRpYyBpbnQgc3RtbWFjX2h3X2luaXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmMtNzQ1Mi1cdFx0ZGV2X2luZm8ocHJpdi1cdTAwM2VkZXZpY2UsIFwmIzM0O1JYIENoZWNrc3VtIE9mZmxvYWQgRW5naW5lIHN1cHBvcnRlZFxcblwmIzM0Oyk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jOjc0NTM6XHRcdGlmIChwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzYyBEV01BQ19DT1JFXzRfMDApXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc0NTQtXHRcdFx0ZGV2X2luZm8ocHJpdi1cdTAwM2VkZXZpY2UsIFwmIzM0O0NPRSBUeXBlICVkXFxuXCYjMzQ7LCBwcml2LVx1MDAzZWh3LVx1MDAzZXJ4X2NzdW0pO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmMtNzUxOC1cdCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYzo3NTE5Olx0aWYgKChwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzZT0gRFdNQUNfQ09SRV8zXzUwIHx8XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc1MjAtXHQgICAgIHByaXYtXHUwMDNlcGxhdC1cdTAwM2Vjb3JlX3R5cGUgPT0gRFdNQUNfQ09SRV9YR01BQykgXHUwMDI2XHUwMDI2XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYz03Nzg2PXN0YXRpYyBpbnQgX19zdG1tYWNfZHZyX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRldmljZSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc4OTUtXHQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM6Nzg5NjpcdGlmIChwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzYyBEV01BQ19DT1JFXzVfMjApXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc4OTctXHRcdHByaXYtXHUwMDNlcGxhdC1cdTAwM2VkbWFfY2ZnLVx1MDAzZWRjaGUgPSBmYWxzZTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc5OTUtXHRcdG5kZXYtXHUwMDNlbWF4X210dSA9IFhHTUFDX0pVTUJPX0xFTjtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM6Nzk5NjpcdGVsc2UgaWYgKHByaXYtXHUwMDNlcGxhdC1cdTAwM2VlbmhfZGVzYyB8fCBwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzZT0gRFdNQUNfQ09SRV80XzAwKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYy03OTk3LVx0XHRuZGV2LVx1MDAzZW1heF9tdHUgPSBKVU1CT19MRU47XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYz03Mj1zdGF0aWMgdm9pZCBzdG1tYWNfeGdtYWMyX2MyMl9mb3JtYXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2LCBpbnQgcGh5YWRkcixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jLTc2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYzo3NzpcdGlmIChwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzYyBEV1hHTUFDX0NPUkVfMl8yMCkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYy03OC1cdFx0LyogVW50aWwgdmVyIDIuMjAgWEdNQUMgZG9lcyBub3Qgc3VwcG9ydCBDMjIgYWRkciBcdTAwM2U9IDQuIFRob3NlXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYz0xMzI9c3RhdGljIGludCBzdG1tYWNfeGdtYWMyX21kaW9fcmVhZF9jMjIoc3RydWN0IG1paV9idXMgKmJ1cywgaW50IHBoeWFkZHIsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYy0xMzgtXHQvKiBVbnRpbCB2ZXIgMi4yMCBYR01BQyBkb2VzIG5vdCBzdXBwb3J0IEMyMiBhZGRyIFx1MDAzZT0gNCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYzoxMzk6XHRpZiAocHJpdi1cdTAwM2VzeW5vcHN5c19pZCBcdTAwM2MgRFdYR01BQ19DT1JFXzJfMjAgXHUwMDI2XHUwMDI2XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jLTE0MC1cdCAgICBwaHlhZGRyIFx1MDAzZSBNSUlfWEdNQUNfTUFYX0MyMkFERFIpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYz0xOTU9c3RhdGljIGludCBzdG1tYWNfeGdtYWMyX21kaW9fd3JpdGVfYzIyKHN0cnVjdCBtaWlfYnVzICpidXMsIGludCBwaHlhZGRyLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmMtMjAxLVx0LyogVW50aWwgdmVyIDIuMjAgWEdNQUMgZG9lcyBub3Qgc3VwcG9ydCBDMjIgYWRkciBcdTAwM2U9IDQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM6MjAyOlx0aWYgKHByaXYtXHUwMDNlc3lub3BzeXNfaWQgXHUwMDNjIERXWEdNQUNfQ09SRV8yXzIwIFx1MDAyNlx1MDAyNlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYy0yMDMtXHQgICAgcGh5YWRkciBcdTAwM2UgTUlJX1hHTUFDX01BWF9DMjJBRERSKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM9NTk1PWludCBzdG1tYWNfbWRpb19yZWdpc3RlcihzdHJ1Y3QgbmV0X2RldmljZSAqbmRldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jLTYyNy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM6NjI4Olx0XHRpZiAocHJpdi1cdTAwM2VzeW5vcHN5c19pZCBcdTAwM2MgRFdYR01BQ19DT1JFXzJfMjApIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmMtNjI5LVx0XHRcdC8qIFJpZ2h0IG5vdyBvbmx5IEMyMiBwaHlzIGFyZSBzdXBwb3J0ZWQgKi9cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzgwMTMKCQkJCQkJCW91dHB1dDogMTQ5CgkJCQkJCQl0aG91Z2h0czogMTY3NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipVbnJlYWNoYWJsZSBDb2RlIGluIFN0YW5kYXJkIFFFTVUvU3l6a2FsbGVyIEVudmlyb25tZW50cyoqCgpPa2F5LCBzbyBoZXJlJiMzOTtzIHRoZSBicmVha2Rvd24gb2YgbXkgdGhpbmtpbmcuIFRoZSBjb2RlIGluIHF1ZXN0aW9uIHRvdWNoZXMgYHN0bW1hY2AsIHNwZWNpZmljYWxseSwgdGhlIFN5bm9wc3lzIERlc2lnbldhcmUgTUFDIGRyaXZlci4gTXkgaW1tZWRpYXRlIHRob3VnaHQgaXMsICYjMzQ7V2FpdCBhIG1pbnV0ZSwgYHN0bW1hY2AgcmVsaWVzIG9uIGhhcmR3YXJlIGludGVyYWN0aW9uLCByaWdodD8mIzM0OyBJdCBjYWxscyBgc3RtbWFjX2h3X3NldHVwYCBhbmQgcmVhZHMgdGhlIGBwcml2LSZndDtzeW5vcHN5c19pZGAuIElmIHRoYXQgcmVhZCBmYWlscyAocmV0dXJucyAwKSwgdGhlIHByb2JlIGxpa2VseSBmYWlscy4gTXkgaW5pdGlhbCBob3BlIHdhcyBtYXliZSBzeXprYWxsZXIgY291bGQgaW5qZWN0IHNvbWUgZHVtbXkgTU1JTyByZXNwb25zZXMsIGJ1dCBpdCBkb2VzbiYjMzk7dCBoYXZlIGEgUENJIE1NSU8gaW5qZWN0b3IsIHNvIHRoYXQmIzM5O3MgYSBkZWFkIGVuZC4KCk5leHQsIEkgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyBzeXprYWxsZXIgKmNvdWxkKiB0cmlnZ2VyIHRoaXMgY29kZS4gSXMgaXQgYmVjYXVzZSB0aGUgZHJpdmVyIGlzIGNvbXBpbGVkIGluIGFuZCB3ZSYjMzk7cmUgZnV6emluZyBhIG5ldGxpbmsgb3IgZXRodG9vbCBpbnRlcmZhY2UgdG8gYW4gYWxyZWFkeSBleGlzdGluZyBkZXZpY2U/IE9yIGlzIHRoZSBjb2RlIGFjdHVhbGx5IHVucmVhY2hhYmxlPyBNeSB1bmRlcnN0YW5kaW5nIG9mIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlzIHRoYXQgaXQmIzM5O3MgZm9yIGNvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgZXZlbiB3aXRoIHNvZnR3YXJlIGVtdWxhdGVkIGhhcmR3YXJlLiBTbywgSSBuZWVkIHRvIGNvbmZpcm0gaWYgYHN0bW1hY2AgZml0cyB0aGF0IGRlc2NyaXB0aW9uLgoKYHN0bW1hY2AgaXMgYSB2ZW5kb3Itc3BlY2lmaWMgTUFDIGRyaXZlciAoU3lub3BzeXMgRGVzaWduV2FyZSBNQUMpIHRoYXQgbmVlZHMgKnBoeXNpY2FsKiBoYXJkd2FyZSBvciBzcGVjaWFsIFNvQyBlbXVsYXRpb24uIERvZXMgUUVNVSBlbXVsYXRlIHRoaXM/IFllcywgYGh3L25ldC9kZXNpZ253YXJlLmNgIGlzIFFFTVUmIzM5O3MgZW11bGF0aW9uLiBCdXQgaXMgaXQgYSBQQ0kgZGV2aWNlLCBvciBhIHBsYXRmb3JtIGRldmljZT8gSW4gUUVNVSwgYGRlc2lnbndhcmUuY2AgaXMgYSAqcGxhdGZvcm0qIGRldmljZS4gSXQmIzM5O3MgdXNlZCBpbiBBUk0gbWFjaGluZXMgbGlrZSBgbWNpbXg2dWwtZXZrYCwgYG1jaW14N2Qtc2FicmVgLCBgc2lmaXZlX3VgLCBgYWxsd2lubmVyLWgzYCwgYW5kIGBhbGx3aW5uZXItcjQwYC4gRG9lcyBzeXprYWxsZXIgdXNlIGFueSBvZiB0aGVzZSBtYWNoaW5lcz8gTm8sIHN5emthbGxlciB1c3VhbGx5IHJ1bnMgb24gYHg4Nl82NGAgb3IgQVJNNjQsIGJ1dCBvbiBgYXJtNjRgLCBpdCB1c2VzIHRoZSBgdmlydGAgbWFjaGluZSB3aGljaCB1c2VzIGB2aXJ0aW8tbmV0YC4gVGhlcmVmb3JlLCBgc3RtbWFjYCAqaXNuJiMzOTt0KiByZWFjaGFibGUgaW4gc3RhbmRhcmQgc3l6a2FsbGVyIFFFTVUgZW52aXJvbm1lbnRzLgoKV2hhdCBhYm91dCBgc3RtbWFjX3BjaWA/IFFFTVUgKmRvZXNuJiMzOTt0KiBoYXZlIGEgUENJIHdyYXBwZXIgZm9yIGBkZXNpZ253YXJlYC4gYHN0bW1hY19wY2lgIHdpbGwgKm5ldmVyKiBwcm9iZSBpbiBRRU1VLiBUaGlzIG1lYW5zIHRoZSBgc3RtbWFjYCBkcml2ZXIgaXMgKmltcG9zc2libGUqIHRvIHJlYWNoIGluIHN5emthbGxlciYjMzk7cyB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMuCgpDb3VsZCBpdCBiZSByZWFjaGVkIGFub3RoZXIgd2F5PyBgdmhjaWAgb3IgYG1hYzgwMjExX2h3c2ltYCBhcmUgVVNCIGFuZCBXaUZpLiBgbmV0ZGV2c2ltYCBpcyBhIHNvZnR3YXJlIHNpbXVsYXRvciwgYnV0IGl0IGRvZXNuJiMzOTt0IHNpbXVsYXRlIGBzdG1tYWNgLiBTbywgYWdhaW4sIHVucmVhY2hhYmxlLgoKTGV0JiMzOTtzIHJldmlzaXQgdGhlIHByb21wdDogJiMzNDtDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuJiMzNDsgRG9lcyBgc3RtbWFjYCBmaXQ/IFllcywgaXQmIzM5O3MgYSBoYXJkd2FyZS1zcGVjaWZpYyBFdGhlcm5ldCBkcml2ZXIgdGhhdCBuZWVkcyBoYXJkd2FyZSwgb3Igc3BlY2lmaWMgU29DIGVtdWxhdGlvbiBub3QgdXNlZCBpbiBzdGFuZGFyZCBRRU1VIChsaWtlIGB2aXJ0YCBvciBgcGNgKS4KCkkgc2VhcmNoZWQgZm9yIHN5emthbGxlciBjb3ZlcmFnZSBhbmQgZm91bmQgKm5vdGhpbmcqIHJlbGF0ZWQgdG8gYHN0bW1hY2AuIFRoZXJlIGlzIGBzdG1tYWNfc2VsZnRlc3RzLmNgIHRyaWdnZXJlZCBieSBgZXRodG9vbGAsIGJ1dCBpZiB0aGUgZGV2aWNlIGlzbiYjMzk7dCBwcmVzZW50LCBgZXRodG9vbGAgY2FuJiMzOTt0IGJlIGNhbGxlZC4gU28gdGhhdCBzZWxmdGVzdCBjb2RlIGlzIHVucmVhY2hhYmxlLiBXaGF0IGFib3V0IHRoZSBuZXcgYHBoeWxpbmsuY2AgY2hhbmdlcz8gSXQgYWRkcyBgcGh5bGlua19wY3NfbG9vcGJhY2tgIHdoaWNoIGlzIGV4cG9ydGVkLiBJcyBpdCB1c2VkIGJ5IGFueXRoaW5nIG90aGVyIHRoYW4gYHN0bW1hY19zZWxmdGVzdHMuY2A/IE5vLCBncmVwIHNheXMgaXQmIzM5O3Mgb25seSBjYWxsZWQgaW4gYHN0bW1hY19zZWxmdGVzdHMuY2AuIFNvIHRoZSBuZXcgcGh5bGluayBBUEkgaXMgKmFsc28qIHVucmVhY2hhYmxlIGJlY2F1c2UgaXRzIG9ubHkgY2FsbGVyIGlzLgoKTGV0JiMzOTtzIHJldmlldyB0aGUgcGF0Y2ggYWdhaW46CmBgYGMKJiM0MztpbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKQomIzQzO3sKJiM0MzsJaWYgKHBjcyAmYW1wOyZhbXA7IHBjcy0mZ3Q7b3BzLSZndDtwY3NfbG9vcGJhY2spCiYjNDM7CQlyZXR1cm4gcGNzLSZndDtvcHMtJmd0O3Bjc19sb29wYmFjayhwY3MsIGVuYWJsZSk7CiYjNDM7CiYjNDM7CXJldHVybiAtRU9QTk9UU1VQUDsKJiM0Mzt9CiYjNDM7RVhQT1JUX1NZTUJPTF9HUEwocGh5bGlua19wY3NfbG9vcGJhY2spOwpgYGAKSXQmIzM5O3MgYSBnZW5lcmljIEFQSSwgYnV0ICpjdXJyZW50bHkqIG9ubHkgdXNlZCBieSBgc3RtbWFjYC4gU2luY2UgYHN0bW1hY2AgaXMgdW5yZWFjaGFibGUsIHRoaXMgQVBJIGlzIHVucmVhY2hhYmxlLgoKSXMgdGhlcmUgYW55IGNoYW5jZSBgc3RtbWFjYCBpcyBlbXVsYXRlZCBieSBRRU1VJiMzOTtzIFBDST8gTGV0JiMzOTtzIGNoZWNrIHRoZSBRRU1VIHNvdXJjZS4gSW4gdGhlCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgUENTIGxvb3BiYWNrIGZlYXR1cmUgdG8gdGhlIHN0bW1hYyAoU3lub3BzeXMgRGVzaWduV2FyZSBNQUMpIGRyaXZlciBhbmQgYSBjb3JyZXNwb25kaW5nIEFQSSBpbiBwaHlsaW5rLiBUaGUgc3RtbWFjIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBwaHlzaWNhbCBoYXJkd2FyZSBvciBTb0MgZW11bGF0aW9uIChlLmcuLCBJbnRlbCBRdWFyay9FbGtoYXJ0IExha2UgZm9yIFBDSSwgb3Igc3BlY2lmaWMgQVJNIFNvQ3MgZm9yIHBsYXRmb3JtKS4gVGhlc2UgZGV2aWNlcyBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzIChsaWtlICYjMzk7cGMmIzM5OyBvciAmIzM5O3ZpcnQmIzM5OyBtYWNoaW5lcykgdXNlZCBieSBzeXprYWxsZXIuIFdpdGhvdXQgdGhlIGhhcmR3YXJlLCB0aGUgZHJpdmVyIHdpbGwgZmFpbCB0byBwcm9iZSwgbWFraW5nIHRoZSBzZWxmdGVzdCBhbmQgdGhlIG5ldyBwaHlsaW5rIGxvb3BiYWNrIGNvZGUgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgUENTIGxvb3BiYWNrIGZlYXR1cmUgdG8gdGhlIHN0bW1hYyAoU3lub3BzeXMgRGVzaWduV2FyZSBNQUMpIGRyaXZlciBhbmQgYSBjb3JyZXNwb25kaW5nIEFQSSBpbiBwaHlsaW5rLiBUaGUgc3RtbWFjIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBwaHlzaWNhbCBoYXJkd2FyZSBvciBTb0MgZW11bGF0aW9uIChlLmcuLCBJbnRlbCBRdWFyay9FbGtoYXJ0IExha2UgZm9yIFBDSSwgb3Igc3BlY2lmaWMgQVJNIFNvQ3MgZm9yIHBsYXRmb3JtKS4gVGhlc2UgZGV2aWNlcyBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzIChsaWtlICYjMzk7cGMmIzM5OyBvciAmIzM5O3ZpcnQmIzM5OyBtYWNoaW5lcykgdXNlZCBieSBzeXprYWxsZXIuIFdpdGhvdXQgdGhlIGhhcmR3YXJlLCB0aGUgZHJpdmVyIHdpbGwgZmFpbCB0byBwcm9iZSwgbWFraW5nIHRoZSBzZWxmdGVzdCBhbmQgdGhlIG5ldyBwaHlsaW5rIGxvb3BiYWNrIGNvZGUgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTQ6MDEuNDQyNzkwMDE0WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTc4Njc0OTc5MDY1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgUENTIGxvb3BiYWNrIGZlYXR1cmUgdG8gdGhlIHN0bW1hYyAoU3lub3BzeXMgRGVzaWduV2FyZSBNQUMpIGRyaXZlciBhbmQgYSBjb3JyZXNwb25kaW5nIEFQSSBpbiBwaHlsaW5rLiBUaGUgc3RtbWFjIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBwaHlzaWNhbCBoYXJkd2FyZSBvciBTb0MgZW11bGF0aW9uIChlLmcuLCBJbnRlbCBRdWFyay9FbGtoYXJ0IExha2UgZm9yIFBDSSwgb3Igc3BlY2lmaWMgQVJNIFNvQ3MgZm9yIHBsYXRmb3JtKS4gVGhlc2UgZGV2aWNlcyBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzIChsaWtlICdwYycgb3IgJ3ZpcnQnIG1hY2hpbmVzKSB1c2VkIGJ5IHN5emthbGxlci4gV2l0aG91dCB0aGUgaGFyZHdhcmUsIHRoZSBkcml2ZXIgd2lsbCBmYWlsIHRvIHByb2JlLCBtYWtpbmcgdGhlIHNlbGZ0ZXN0IGFuZCB0aGUgbmV3IHBoeWxpbmsgbG9vcGJhY2sgY29kZSB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU0OjAxLjQ0Mjc5OTY3NFoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjgyNzYxMDEzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgZWE3MWVjNzQ2ZDA0NGRlYjAwOTM1OWMzYmNkZWUxZTY0NGI4MDY5M1xcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVHVlIEp1bCAyOCAwMDo1Mzo1OSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmNcXG5pbmRleCBkZjM3YWY1YWI4MzdhZi4uOTBhMjFhMmY3ZTg3MzEgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3Bjcy5jXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3Bjcy5jXFxuQEAgLTE2OCw2ICsxNjgsMjIgQEAgc3RhdGljIHZvaWQgZHdtYWNfaW50ZWdyYXRlZF9wY3NfYW5fcmVzdGFydChzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcylcXG4gXFx0fVxcbiB9XFxuIFxcbitzdGF0aWMgaW50IGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCBib29sIGVuYWJsZSlcXG4re1xcbitcXHRzdHJ1Y3Qgc3RtbWFjX3BjcyAqc3BjcyA9IHBoeWxpbmtfcGNzX3RvX3N0bW1hY19wY3MocGNzKTtcXG4rXFx0dm9pZCBfX2lvbWVtICphbl9jb250cm9sID0gc3Bjcy1cXHUwMDNlYmFzZSArIEdNQUNfQU5fQ1RSTCgwKTtcXG4rXFx0dTMyIGN0cmw7XFxuK1xcbitcXHRjdHJsID0gcmVhZGwoYW5fY29udHJvbCk7XFxuK1xcdGlmIChlbmFibGUpXFxuK1xcdFxcdGN0cmwgfD0gR01BQ19BTl9DVFJMX0VMRTtcXG4rXFx0ZWxzZVxcbitcXHRcXHRjdHJsIFxcdTAwMjY9IH5HTUFDX0FOX0NUUkxfRUxFO1xcbitcXHR3cml0ZWwoY3RybCwgYW5fY29udHJvbCk7XFxuK1xcbitcXHRyZXR1cm4gMDtcXG4rfVxcbitcXG4gc3RhdGljIGNvbnN0IHN0cnVjdCBwaHlsaW5rX3Bjc19vcHMgZHdtYWNfaW50ZWdyYXRlZF9wY3Nfb3BzID0ge1xcbiBcXHQucGNzX2luYmFuZF9jYXBzID0gZHdtYWNfaW50ZWdyYXRlZF9wY3NfaW5iYW5kX2NhcHMsXFxuIFxcdC5wY3NfZW5hYmxlID0gZHdtYWNfaW50ZWdyYXRlZF9wY3NfZW5hYmxlLFxcbkBAIC0xNzUsNiArMTkxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwaHlsaW5rX3Bjc19vcHMgZHdtYWNfaW50ZWdyYXRlZF9wY3Nfb3BzID0ge1xcbiBcXHQucGNzX2dldF9zdGF0ZSA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2dldF9zdGF0ZSxcXG4gXFx0LnBjc19jb25maWcgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19jb25maWcsXFxuIFxcdC5wY3NfYW5fcmVzdGFydCA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2FuX3Jlc3RhcnQsXFxuK1xcdC5wY3NfbG9vcGJhY2sgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19sb29wYmFjayxcXG4gfTtcXG4gXFxuIHZvaWQgc3RtbWFjX2ludGVncmF0ZWRfcGNzX2lycShzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYsIHUzMiBzdGF0dXMsXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuY1xcbmluZGV4IDI5ZTgyNGJkOTBjYTZiLi43N2E0NTdiMmZhNWNmNyAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmNcXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmNcXG5AQCAtMTksNiArMTksNyBAQFxcbiAjaW5jbHVkZSBcXHUwMDNjbmV0L3VkcC5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbmV0L3RjX2FjdC90Y19nYWN0LmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcXCJzdG1tYWMuaFxcXCJcXG4rI2luY2x1ZGUgXFxcInN0bW1hY19wY3MuaFxcXCJcXG4gXFxuIHN0cnVjdCBzdG1tYWNoZHIge1xcbiBcXHRfX2JlMzIgdmVyc2lvbjtcXG5AQCAtMzc0LDIzICszNzUsNTEgQEAgc3RhdGljIGludCBzdG1tYWNfdGVzdF9tYWNfbG9vcGJhY2soc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxcbiBcXHRyZXR1cm4gX19zdG1tYWNfdGVzdF9sb29wYmFjayhwcml2LCBcXHUwMDI2YXR0cik7XFxuIH1cXG4gXFxuK3N0YXRpYyBzdHJ1Y3QgcGh5bGlua19wY3MgKnN0bW1hY19zZWxmdGVzdF9nZXRfcGNzKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdilcXG4re1xcbitcXHQvKiBUcnkgZ2x1ZSBkcml2ZXIncyBQQ1MgZmlyc3QsIHRoZW4gdGhlIGludGVncmF0ZWQgUENTLiAqL1xcbitcXHRpZiAocHJpdi1cXHUwMDNlaHctXFx1MDAzZXBoeWxpbmtfcGNzKVxcbitcXHRcXHRyZXR1cm4gcHJpdi1cXHUwMDNlaHctXFx1MDAzZXBoeWxpbmtfcGNzO1xcbitcXG4rXFx0aWYgKHByaXYtXFx1MDAzZWludGVncmF0ZWRfcGNzKVxcbitcXHRcXHRyZXR1cm4gXFx1MDAyNnByaXYtXFx1MDAzZWludGVncmF0ZWRfcGNzLVxcdTAwM2VwY3M7XFxuK1xcbitcXHRyZXR1cm4gTlVMTDtcXG4rfVxcbitcXG4gc3RhdGljIGludCBzdG1tYWNfdGVzdF9waHlfbG9vcGJhY2soc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxcbiB7XFxuIFxcdHN0cnVjdCBzdG1tYWNfcGFja2V0X2F0dHJzIGF0dHIgPSB7IH07XFxuK1xcdHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzO1xcbiBcXHRpbnQgcmV0O1xcbiBcXG4tXFx0aWYgKCFwcml2LVxcdTAwM2VkZXYtXFx1MDAzZXBoeWRldilcXG4tXFx0XFx0cmV0dXJuIC1FT1BOT1RTVVBQO1xcbitcXHRpZiAocHJpdi1cXHUwMDNlZGV2LVxcdTAwM2VwaHlkZXYpIHtcXG4rXFx0XFx0cmV0ID0gcGh5X2xvb3BiYWNrKHByaXYtXFx1MDAzZWRldi1cXHUwMDNlcGh5ZGV2LCB0cnVlLCAwKTtcXG4rXFx0XFx0aWYgKHJldClcXG4rXFx0XFx0XFx0cmV0dXJuIHJldDtcXG4gXFxuLVxcdHJldCA9IHBoeV9sb29wYmFjayhwcml2LVxcdTAwM2VkZXYtXFx1MDAzZXBoeWRldiwgdHJ1ZSwgMCk7XFxuLVxcdGlmIChyZXQpXFxuK1xcdFxcdGF0dHIuZHN0ID0gcHJpdi1cXHUwMDNlZGV2LVxcdTAwM2VkZXZfYWRkcjtcXG4rXFx0XFx0cmV0ID0gX19zdG1tYWNfdGVzdF9sb29wYmFjayhwcml2LCBcXHUwMDI2YXR0cik7XFxuK1xcbitcXHRcXHRwaHlfbG9vcGJhY2socHJpdi1cXHUwMDNlZGV2LVxcdTAwM2VwaHlkZXYsIGZhbHNlLCAwKTtcXG4gXFx0XFx0cmV0dXJuIHJldDtcXG4rXFx0fVxcbiBcXG4tXFx0YXR0ci5kc3QgPSBwcml2LVxcdTAwM2VkZXYtXFx1MDAzZWRldl9hZGRyO1xcbi1cXHRyZXQgPSBfX3N0bW1hY190ZXN0X2xvb3BiYWNrKHByaXYsIFxcdTAwMjZhdHRyKTtcXG4rXFx0LyogVXNlIFBDUyBsb29wYmFjayBmb3IgaW50ZXJmYWNlcyB3aXRob3V0IGFuIGV4dGVybmFsIFBIWS4gKi9cXG4rXFx0cGNzID0gc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdik7XFxuK1xcdGlmIChwY3MpIHtcXG4rXFx0XFx0cmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2socGNzLCB0cnVlKTtcXG4rXFx0XFx0aWYgKHJldClcXG4rXFx0XFx0XFx0cmV0dXJuIHJldDtcXG4gXFxuLVxcdHBoeV9sb29wYmFjayhwcml2LVxcdTAwM2VkZXYtXFx1MDAzZXBoeWRldiwgZmFsc2UsIDApO1xcbi1cXHRyZXR1cm4gcmV0O1xcbitcXHRcXHRhdHRyLmRzdCA9IHByaXYtXFx1MDAzZWRldi1cXHUwMDNlZGV2X2FkZHI7XFxuK1xcdFxcdHJldCA9IF9fc3RtbWFjX3Rlc3RfbG9vcGJhY2socHJpdiwgXFx1MDAyNmF0dHIpO1xcbitcXG4rXFx0XFx0cGh5bGlua19wY3NfbG9vcGJhY2socGNzLCBmYWxzZSk7XFxuK1xcdFxcdHJldHVybiByZXQ7XFxuK1xcdH1cXG4rXFxuK1xcdHJldHVybiAtRU9QTk9UU1VQUDtcXG4gfVxcbiBcXG4gc3RhdGljIGludCBzdG1tYWNfdGVzdF9tbWMoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxcbkBAIC0xOTg2LDYgKzIwMTUsOSBAQCB2b2lkIHN0bW1hY19zZWxmdGVzdF9ydW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4gXFx0XFx0XFx0cmV0ID0gLUVPUE5PVFNVUFA7XFxuIFxcdFxcdFxcdGlmIChkZXYtXFx1MDAzZXBoeWRldilcXG4gXFx0XFx0XFx0XFx0cmV0ID0gcGh5X2xvb3BiYWNrKGRldi1cXHUwMDNlcGh5ZGV2LCB0cnVlLCAwKTtcXG4rXFx0XFx0XFx0ZWxzZVxcbitcXHRcXHRcXHRcXHRyZXQgPSBwaHlsaW5rX3Bjc19sb29wYmFjayhzdG1tYWNfc2VsZnRlc3RfZ2V0X3Bjcyhwcml2KSxcXG4rXFx0XFx0XFx0XFx0XFx0XFx0XFx0ICAgdHJ1ZSk7XFxuIFxcdFxcdFxcdGlmICghcmV0KVxcbiBcXHRcXHRcXHRcXHRicmVhaztcXG4gXFx0XFx0XFx0ZmFsbHRocm91Z2g7XFxuQEAgLTIwMTksNiArMjA1MSw5IEBAIHZvaWQgc3RtbWFjX3NlbGZ0ZXN0X3J1bihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbiBcXHRcXHRcXHRyZXQgPSAtRU9QTk9UU1VQUDtcXG4gXFx0XFx0XFx0aWYgKGRldi1cXHUwMDNlcGh5ZGV2KVxcbiBcXHRcXHRcXHRcXHRyZXQgPSBwaHlfbG9vcGJhY2soZGV2LVxcdTAwM2VwaHlkZXYsIGZhbHNlLCAwKTtcXG4rXFx0XFx0XFx0ZWxzZVxcbitcXHRcXHRcXHRcXHRyZXQgPSBwaHlsaW5rX3Bjc19sb29wYmFjayhzdG1tYWNfc2VsZnRlc3RfZ2V0X3Bjcyhwcml2KSxcXG4rXFx0XFx0XFx0XFx0XFx0XFx0XFx0ICAgZmFsc2UpO1xcbiBcXHRcXHRcXHRpZiAoIXJldClcXG4gXFx0XFx0XFx0XFx0YnJlYWs7XFxuIFxcdFxcdFxcdGZhbGx0aHJvdWdoO1xcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvcGh5bGluay5jIGIvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuY1xcbmluZGV4IDU5ZGZlMzVhZmE1NGZjLi42OTI0MmNhZmZhZWY1MSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9waHkvcGh5bGluay5jXFxuKysrIGIvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuY1xcbkBAIC05OTcsNiArOTk3LDI1IEBAIGludCBwaHlsaW5rX3Bjc19wcmVfaW5pdChzdHJ1Y3QgcGh5bGluayAqcGwsIHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKVxcbiB9XFxuIEVYUE9SVF9TWU1CT0xfR1BMKHBoeWxpbmtfcGNzX3ByZV9pbml0KTtcXG4gXFxuKy8qKlxcbisgKiBwaHlsaW5rX3Bjc19sb29wYmFjaygpIC0gRW5hYmxlIG9yIGRpc2FibGUgbG9vcGJhY2sgYXQgdGhlIFBDU1xcbisgKiBAcGNzOiBhIHBvaW50ZXIgdG8gYSBcXHUwMDI2c3RydWN0IHBoeWxpbmtfcGNzLlxcbisgKiBAZW5hYmxlOiB0cnVlIHRvIGVuYWJsZSBsb29wYmFjaywgZmFsc2UgdG8gZGlzYWJsZVxcbisgKlxcbisgKiBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBtb2RlIGF0IHRoZSBQQ1MgbGV2ZWwuIFRoaXMgaXMgdXNlZCBieSBNQUNcXG4rICogZHJpdmVycyBmb3Igc2VsZnRlc3QgcHVycG9zZXMgd2hlbiBubyBleHRlcm5hbCBQSFkgaXMgcHJlc2VudC5cXG4rICpcXG4rICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS5cXG4rICovXFxuK2ludCBwaHlsaW5rX3Bjc19sb29wYmFjayhzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpXFxuK3tcXG4rXFx0aWYgKHBjcyBcXHUwMDI2XFx1MDAyNiBwY3MtXFx1MDAzZW9wcy1cXHUwMDNlcGNzX2xvb3BiYWNrKVxcbitcXHRcXHRyZXR1cm4gcGNzLVxcdTAwM2VvcHMtXFx1MDAzZXBjc19sb29wYmFjayhwY3MsIGVuYWJsZSk7XFxuK1xcbitcXHRyZXR1cm4gLUVPUE5PVFNVUFA7XFxuK31cXG4rRVhQT1JUX1NZTUJPTF9HUEwocGh5bGlua19wY3NfbG9vcGJhY2spO1xcbitcXG4gc3RhdGljIHZvaWQgcGh5bGlua19tYWNfY29uZmlnKHN0cnVjdCBwaHlsaW5rICpwbCxcXG4gXFx0XFx0XFx0ICAgICAgIGNvbnN0IHN0cnVjdCBwaHlsaW5rX2xpbmtfc3RhdGUgKnN0YXRlKVxcbiB7XFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGh5bGluay5oIGIvaW5jbHVkZS9saW51eC9waHlsaW5rLmhcXG5pbmRleCAyYmMwZGIzZDUyYWM4ZC4uNjZjNzAxNmQ0YWNkY2IgMTAwNjQ0XFxuLS0tIGEvaW5jbHVkZS9saW51eC9waHlsaW5rLmhcXG4rKysgYi9pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaFxcbkBAIC01MTgsNiArNTE4LDcgQEAgc3RydWN0IHBoeWxpbmtfcGNzIHtcXG4gICpcXHRcXHQgICAgdGhlIE1BQy5cXG4gICogQHBjc19wcmVfaW5pdDogY29uZmlndXJlIFBDUyBjb21wb25lbnRzIG5lY2Vzc2FyeSBmb3IgTUFDIGhhcmR3YXJlXFxuICAqICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIGUuZy4gUlggY2xvY2sgZm9yIHN0bW1hYy5cXG4rICogQHBjc19sb29wYmFjazogZW5hYmxlL2Rpc2FibGUgbG9vcGJhY2sgbW9kZSBhdCB0aGUgUENTLlxcbiAgKi9cXG4gc3RydWN0IHBoeWxpbmtfcGNzX29wcyB7XFxuIFxcdGludCAoKnBjc192YWxpZGF0ZSkoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIHVuc2lnbmVkIGxvbmcgKnN1cHBvcnRlZCxcXG5AQCAtNTQyLDYgKzU0Myw3IEBAIHN0cnVjdCBwaHlsaW5rX3Bjc19vcHMge1xcbiBcXHR2b2lkICgqcGNzX2Rpc2FibGVfZWVlKShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcyk7XFxuIFxcdHZvaWQgKCpwY3NfZW5hYmxlX2VlZSkoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpO1xcbiBcXHRpbnQgKCpwY3NfcHJlX2luaXQpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTtcXG4rXFx0aW50ICgqcGNzX2xvb3BiYWNrKShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpO1xcbiB9O1xcbiBcXG4gI2lmIDAgLyogRm9yIGtlcm5lbC1kb2MgcHVycG9zZXMgb25seS4gKi9cXG5AQCAtNzE3LDggKzcxOSwyMiBAQCB2b2lkIHBjc19lbmFibGVfZWVlKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTtcXG4gICovXFxuIGludCBwY3NfcHJlX2luaXQoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpO1xcbiBcXG4rLyoqXFxuKyAqIHBjc19sb29wYmFjaygpIC0gRW5hYmxlIG9yIGRpc2FibGUgbG9vcGJhY2sgYXQgdGhlIFBDU1xcbisgKiBAcGNzOiBhIHBvaW50ZXIgdG8gYSBcXHUwMDI2c3RydWN0IHBoeWxpbmtfcGNzLlxcbisgKiBAZW5hYmxlOiB0cnVlIHRvIGVuYWJsZSBsb29wYmFjaywgZmFsc2UgdG8gZGlzYWJsZVxcbisgKlxcbisgKiBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBtb2RlIGF0IHRoZSBQQ1MgbGV2ZWwuIFRoaXMgaXMgdXNlZCBieSBNQUNcXG4rICogZHJpdmVycyBmb3Igc2VsZnRlc3QgcHVycG9zZXMgd2hlbiBubyBleHRlcm5hbCBQSFkgaXMgcHJlc2VudC5cXG4rICpcXG4rICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLlxcbisgKi9cXG4raW50IHBjc19sb29wYmFjayhzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpO1xcbitcXG4gI2VuZGlmXFxuIFxcbitpbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKTtcXG4rXFxuIHN0cnVjdCBwaHlsaW5rICpwaHlsaW5rX2NyZWF0ZShzdHJ1Y3QgcGh5bGlua19jb25maWcgKixcXG4gXFx0XFx0XFx0ICAgICAgIGNvbnN0IHN0cnVjdCBmd25vZGVfaGFuZGxlICosXFxuIFxcdFxcdFxcdCAgICAgICBwaHlfaW50ZXJmYWNlX3QsXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU0OjAyLjEyNjU2NDkyN1oiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjE3Nzk5MTE5NTAyMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIFBDUyBsb29wYmFjayBmZWF0dXJlIHRvIHRoZSBzdG1tYWMgKFN5bm9wc3lzIERlc2lnbldhcmUgTUFDKSBkcml2ZXIgYW5kIGEgY29ycmVzcG9uZGluZyBBUEkgaW4gcGh5bGluay4gVGhlIHN0bW1hYyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgcGh5c2ljYWwgaGFyZHdhcmUgb3IgU29DIGVtdWxhdGlvbiAoZS5nLiwgSW50ZWwgUXVhcmsvRWxraGFydCBMYWtlIGZvciBQQ0ksIG9yIHNwZWNpZmljIEFSTSBTb0NzIGZvciBwbGF0Zm9ybSkuIFRoZXNlIGRldmljZXMgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cyAobGlrZSAncGMnIG9yICd2aXJ0JyBtYWNoaW5lcykgdXNlZCBieSBzeXprYWxsZXIuIFdpdGhvdXQgdGhlIGhhcmR3YXJlLCB0aGUgZHJpdmVyIHdpbGwgZmFpbCB0byBwcm9iZSwgbWFraW5nIHRoZSBzZWxmdGVzdCBhbmQgdGhlIG5ldyBwaHlsaW5rIGxvb3BiYWNrIGNvZGUgdW5yZWFjaGFibGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG4gIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cbi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLlxuLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKVxuICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uc1xuICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIEFsc28gY2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzXG4gICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3NcbiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBlYTcxZWM3NDZkMDQ0ZGViMDA5MzU5YzNiY2RlZTFlNjQ0YjgwNjkzXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdWwgMjggMDA6NTM6NTkgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmNcbmluZGV4IGRmMzdhZjVhYjgzN2FmLi45MGEyMWEyZjdlODczMSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY3MuY1xuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3Bjcy5jXG5AQCAtMTY4LDYgKzE2OCwyMiBAQCBzdGF0aWMgdm9pZCBkd21hY19pbnRlZ3JhdGVkX3Bjc19hbl9yZXN0YXJ0KHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKVxuIFx0fVxuIH1cbiBcbitzdGF0aWMgaW50IGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCBib29sIGVuYWJsZSlcbit7XG4rXHRzdHJ1Y3Qgc3RtbWFjX3BjcyAqc3BjcyA9IHBoeWxpbmtfcGNzX3RvX3N0bW1hY19wY3MocGNzKTtcbitcdHZvaWQgX19pb21lbSAqYW5fY29udHJvbCA9IHNwY3MtXHUwMDNlYmFzZSArIEdNQUNfQU5fQ1RSTCgwKTtcbitcdHUzMiBjdHJsO1xuK1xuK1x0Y3RybCA9IHJlYWRsKGFuX2NvbnRyb2wpO1xuK1x0aWYgKGVuYWJsZSlcbitcdFx0Y3RybCB8PSBHTUFDX0FOX0NUUkxfRUxFO1xuK1x0ZWxzZVxuK1x0XHRjdHJsIFx1MDAyNj0gfkdNQUNfQU5fQ1RSTF9FTEU7XG4rXHR3cml0ZWwoY3RybCwgYW5fY29udHJvbCk7XG4rXG4rXHRyZXR1cm4gMDtcbit9XG4rXG4gc3RhdGljIGNvbnN0IHN0cnVjdCBwaHlsaW5rX3Bjc19vcHMgZHdtYWNfaW50ZWdyYXRlZF9wY3Nfb3BzID0ge1xuIFx0LnBjc19pbmJhbmRfY2FwcyA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2luYmFuZF9jYXBzLFxuIFx0LnBjc19lbmFibGUgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19lbmFibGUsXG5AQCAtMTc1LDYgKzE5MSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGh5bGlua19wY3Nfb3BzIGR3bWFjX2ludGVncmF0ZWRfcGNzX29wcyA9IHtcbiBcdC5wY3NfZ2V0X3N0YXRlID0gZHdtYWNfaW50ZWdyYXRlZF9wY3NfZ2V0X3N0YXRlLFxuIFx0LnBjc19jb25maWcgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19jb25maWcsXG4gXHQucGNzX2FuX3Jlc3RhcnQgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19hbl9yZXN0YXJ0LFxuK1x0LnBjc19sb29wYmFjayA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrLFxuIH07XG4gXG4gdm9pZCBzdG1tYWNfaW50ZWdyYXRlZF9wY3NfaXJxKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiwgdTMyIHN0YXR1cyxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmNcbmluZGV4IDI5ZTgyNGJkOTBjYTZiLi43N2E0NTdiMmZhNWNmNyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuY1xuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3NlbGZ0ZXN0cy5jXG5AQCAtMTksNiArMTksNyBAQFxuICNpbmNsdWRlIFx1MDAzY25ldC91ZHAuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY25ldC90Y19hY3QvdGNfZ2FjdC5oXHUwMDNlXG4gI2luY2x1ZGUgXCJzdG1tYWMuaFwiXG4rI2luY2x1ZGUgXCJzdG1tYWNfcGNzLmhcIlxuIFxuIHN0cnVjdCBzdG1tYWNoZHIge1xuIFx0X19iZTMyIHZlcnNpb247XG5AQCAtMzc0LDIzICszNzUsNTEgQEAgc3RhdGljIGludCBzdG1tYWNfdGVzdF9tYWNfbG9vcGJhY2soc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuIFx0cmV0dXJuIF9fc3RtbWFjX3Rlc3RfbG9vcGJhY2socHJpdiwgXHUwMDI2YXR0cik7XG4gfVxuIFxuK3N0YXRpYyBzdHJ1Y3QgcGh5bGlua19wY3MgKnN0bW1hY19zZWxmdGVzdF9nZXRfcGNzKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdilcbit7XG4rXHQvKiBUcnkgZ2x1ZSBkcml2ZXIncyBQQ1MgZmlyc3QsIHRoZW4gdGhlIGludGVncmF0ZWQgUENTLiAqL1xuK1x0aWYgKHByaXYtXHUwMDNlaHctXHUwMDNlcGh5bGlua19wY3MpXG4rXHRcdHJldHVybiBwcml2LVx1MDAzZWh3LVx1MDAzZXBoeWxpbmtfcGNzO1xuK1xuK1x0aWYgKHByaXYtXHUwMDNlaW50ZWdyYXRlZF9wY3MpXG4rXHRcdHJldHVybiBcdTAwMjZwcml2LVx1MDAzZWludGVncmF0ZWRfcGNzLVx1MDAzZXBjcztcbitcbitcdHJldHVybiBOVUxMO1xuK31cbitcbiBzdGF0aWMgaW50IHN0bW1hY190ZXN0X3BoeV9sb29wYmFjayhzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYpXG4ge1xuIFx0c3RydWN0IHN0bW1hY19wYWNrZXRfYXR0cnMgYXR0ciA9IHsgfTtcbitcdHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzO1xuIFx0aW50IHJldDtcbiBcbi1cdGlmICghcHJpdi1cdTAwM2VkZXYtXHUwMDNlcGh5ZGV2KVxuLVx0XHRyZXR1cm4gLUVPUE5PVFNVUFA7XG4rXHRpZiAocHJpdi1cdTAwM2VkZXYtXHUwMDNlcGh5ZGV2KSB7XG4rXHRcdHJldCA9IHBoeV9sb29wYmFjayhwcml2LVx1MDAzZWRldi1cdTAwM2VwaHlkZXYsIHRydWUsIDApO1xuK1x0XHRpZiAocmV0KVxuK1x0XHRcdHJldHVybiByZXQ7XG4gXG4tXHRyZXQgPSBwaHlfbG9vcGJhY2socHJpdi1cdTAwM2VkZXYtXHUwMDNlcGh5ZGV2LCB0cnVlLCAwKTtcbi1cdGlmIChyZXQpXG4rXHRcdGF0dHIuZHN0ID0gcHJpdi1cdTAwM2VkZXYtXHUwMDNlZGV2X2FkZHI7XG4rXHRcdHJldCA9IF9fc3RtbWFjX3Rlc3RfbG9vcGJhY2socHJpdiwgXHUwMDI2YXR0cik7XG4rXG4rXHRcdHBoeV9sb29wYmFjayhwcml2LVx1MDAzZWRldi1cdTAwM2VwaHlkZXYsIGZhbHNlLCAwKTtcbiBcdFx0cmV0dXJuIHJldDtcbitcdH1cbiBcbi1cdGF0dHIuZHN0ID0gcHJpdi1cdTAwM2VkZXYtXHUwMDNlZGV2X2FkZHI7XG4tXHRyZXQgPSBfX3N0bW1hY190ZXN0X2xvb3BiYWNrKHByaXYsIFx1MDAyNmF0dHIpO1xuK1x0LyogVXNlIFBDUyBsb29wYmFjayBmb3IgaW50ZXJmYWNlcyB3aXRob3V0IGFuIGV4dGVybmFsIFBIWS4gKi9cbitcdHBjcyA9IHN0bW1hY19zZWxmdGVzdF9nZXRfcGNzKHByaXYpO1xuK1x0aWYgKHBjcykge1xuK1x0XHRyZXQgPSBwaHlsaW5rX3Bjc19sb29wYmFjayhwY3MsIHRydWUpO1xuK1x0XHRpZiAocmV0KVxuK1x0XHRcdHJldHVybiByZXQ7XG4gXG4tXHRwaHlfbG9vcGJhY2socHJpdi1cdTAwM2VkZXYtXHUwMDNlcGh5ZGV2LCBmYWxzZSwgMCk7XG4tXHRyZXR1cm4gcmV0O1xuK1x0XHRhdHRyLmRzdCA9IHByaXYtXHUwMDNlZGV2LVx1MDAzZWRldl9hZGRyO1xuK1x0XHRyZXQgPSBfX3N0bW1hY190ZXN0X2xvb3BiYWNrKHByaXYsIFx1MDAyNmF0dHIpO1xuK1xuK1x0XHRwaHlsaW5rX3Bjc19sb29wYmFjayhwY3MsIGZhbHNlKTtcbitcdFx0cmV0dXJuIHJldDtcbitcdH1cbitcbitcdHJldHVybiAtRU9QTk9UU1VQUDtcbiB9XG4gXG4gc3RhdGljIGludCBzdG1tYWNfdGVzdF9tbWMoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuQEAgLTE5ODYsNiArMjAxNSw5IEBAIHZvaWQgc3RtbWFjX3NlbGZ0ZXN0X3J1bihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuIFx0XHRcdHJldCA9IC1FT1BOT1RTVVBQO1xuIFx0XHRcdGlmIChkZXYtXHUwMDNlcGh5ZGV2KVxuIFx0XHRcdFx0cmV0ID0gcGh5X2xvb3BiYWNrKGRldi1cdTAwM2VwaHlkZXYsIHRydWUsIDApO1xuK1x0XHRcdGVsc2VcbitcdFx0XHRcdHJldCA9IHBoeWxpbmtfcGNzX2xvb3BiYWNrKHN0bW1hY19zZWxmdGVzdF9nZXRfcGNzKHByaXYpLFxuK1x0XHRcdFx0XHRcdFx0ICAgdHJ1ZSk7XG4gXHRcdFx0aWYgKCFyZXQpXG4gXHRcdFx0XHRicmVhaztcbiBcdFx0XHRmYWxsdGhyb3VnaDtcbkBAIC0yMDE5LDYgKzIwNTEsOSBAQCB2b2lkIHN0bW1hY19zZWxmdGVzdF9ydW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbiBcdFx0XHRyZXQgPSAtRU9QTk9UU1VQUDtcbiBcdFx0XHRpZiAoZGV2LVx1MDAzZXBoeWRldilcbiBcdFx0XHRcdHJldCA9IHBoeV9sb29wYmFjayhkZXYtXHUwMDNlcGh5ZGV2LCBmYWxzZSwgMCk7XG4rXHRcdFx0ZWxzZVxuK1x0XHRcdFx0cmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2soc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdiksXG4rXHRcdFx0XHRcdFx0XHQgICBmYWxzZSk7XG4gXHRcdFx0aWYgKCFyZXQpXG4gXHRcdFx0XHRicmVhaztcbiBcdFx0XHRmYWxsdGhyb3VnaDtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvcGh5bGluay5jIGIvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuY1xuaW5kZXggNTlkZmUzNWFmYTU0ZmMuLjY5MjQyY2FmZmFlZjUxIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuY1xuKysrIGIvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuY1xuQEAgLTk5Nyw2ICs5OTcsMjUgQEAgaW50IHBoeWxpbmtfcGNzX3ByZV9pbml0KHN0cnVjdCBwaHlsaW5rICpwbCwgc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpXG4gfVxuIEVYUE9SVF9TWU1CT0xfR1BMKHBoeWxpbmtfcGNzX3ByZV9pbml0KTtcbiBcbisvKipcbisgKiBwaHlsaW5rX3Bjc19sb29wYmFjaygpIC0gRW5hYmxlIG9yIGRpc2FibGUgbG9vcGJhY2sgYXQgdGhlIFBDU1xuKyAqIEBwY3M6IGEgcG9pbnRlciB0byBhIFx1MDAyNnN0cnVjdCBwaHlsaW5rX3Bjcy5cbisgKiBAZW5hYmxlOiB0cnVlIHRvIGVuYWJsZSBsb29wYmFjaywgZmFsc2UgdG8gZGlzYWJsZVxuKyAqXG4rICogRW5hYmxlIG9yIGRpc2FibGUgbG9vcGJhY2sgbW9kZSBhdCB0aGUgUENTIGxldmVsLiBUaGlzIGlzIHVzZWQgYnkgTUFDXG4rICogZHJpdmVycyBmb3Igc2VsZnRlc3QgcHVycG9zZXMgd2hlbiBubyBleHRlcm5hbCBQSFkgaXMgcHJlc2VudC5cbisgKlxuKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuXG4rICovXG4raW50IHBoeWxpbmtfcGNzX2xvb3BiYWNrKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCBib29sIGVuYWJsZSlcbit7XG4rXHRpZiAocGNzIFx1MDAyNlx1MDAyNiBwY3MtXHUwMDNlb3BzLVx1MDAzZXBjc19sb29wYmFjaylcbitcdFx0cmV0dXJuIHBjcy1cdTAwM2VvcHMtXHUwMDNlcGNzX2xvb3BiYWNrKHBjcywgZW5hYmxlKTtcbitcbitcdHJldHVybiAtRU9QTk9UU1VQUDtcbit9XG4rRVhQT1JUX1NZTUJPTF9HUEwocGh5bGlua19wY3NfbG9vcGJhY2spO1xuK1xuIHN0YXRpYyB2b2lkIHBoeWxpbmtfbWFjX2NvbmZpZyhzdHJ1Y3QgcGh5bGluayAqcGwsXG4gXHRcdFx0ICAgICAgIGNvbnN0IHN0cnVjdCBwaHlsaW5rX2xpbmtfc3RhdGUgKnN0YXRlKVxuIHtcbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaCBiL2luY2x1ZGUvbGludXgvcGh5bGluay5oXG5pbmRleCAyYmMwZGIzZDUyYWM4ZC4uNjZjNzAxNmQ0YWNkY2IgMTAwNjQ0XG4tLS0gYS9pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaFxuKysrIGIvaW5jbHVkZS9saW51eC9waHlsaW5rLmhcbkBAIC01MTgsNiArNTE4LDcgQEAgc3RydWN0IHBoeWxpbmtfcGNzIHtcbiAgKlx0XHQgICAgdGhlIE1BQy5cbiAgKiBAcGNzX3ByZV9pbml0OiBjb25maWd1cmUgUENTIGNvbXBvbmVudHMgbmVjZXNzYXJ5IGZvciBNQUMgaGFyZHdhcmVcbiAgKiAgICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiBlLmcuIFJYIGNsb2NrIGZvciBzdG1tYWMuXG4rICogQHBjc19sb29wYmFjazogZW5hYmxlL2Rpc2FibGUgbG9vcGJhY2sgbW9kZSBhdCB0aGUgUENTLlxuICAqL1xuIHN0cnVjdCBwaHlsaW5rX3Bjc19vcHMge1xuIFx0aW50ICgqcGNzX3ZhbGlkYXRlKShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgdW5zaWduZWQgbG9uZyAqc3VwcG9ydGVkLFxuQEAgLTU0Miw2ICs1NDMsNyBAQCBzdHJ1Y3QgcGh5bGlua19wY3Nfb3BzIHtcbiBcdHZvaWQgKCpwY3NfZGlzYWJsZV9lZWUpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTtcbiBcdHZvaWQgKCpwY3NfZW5hYmxlX2VlZSkoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpO1xuIFx0aW50ICgqcGNzX3ByZV9pbml0KShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcyk7XG4rXHRpbnQgKCpwY3NfbG9vcGJhY2spKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCBib29sIGVuYWJsZSk7XG4gfTtcbiBcbiAjaWYgMCAvKiBGb3Iga2VybmVsLWRvYyBwdXJwb3NlcyBvbmx5LiAqL1xuQEAgLTcxNyw4ICs3MTksMjIgQEAgdm9pZCBwY3NfZW5hYmxlX2VlZShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcyk7XG4gICovXG4gaW50IHBjc19wcmVfaW5pdChzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcyk7XG4gXG4rLyoqXG4rICogcGNzX2xvb3BiYWNrKCkgLSBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBhdCB0aGUgUENTXG4rICogQHBjczogYSBwb2ludGVyIHRvIGEgXHUwMDI2c3RydWN0IHBoeWxpbmtfcGNzLlxuKyAqIEBlbmFibGU6IHRydWUgdG8gZW5hYmxlIGxvb3BiYWNrLCBmYWxzZSB0byBkaXNhYmxlXG4rICpcbisgKiBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBtb2RlIGF0IHRoZSBQQ1MgbGV2ZWwuIFRoaXMgaXMgdXNlZCBieSBNQUNcbisgKiBkcml2ZXJzIGZvciBzZWxmdGVzdCBwdXJwb3NlcyB3aGVuIG5vIGV4dGVybmFsIFBIWSBpcyBwcmVzZW50LlxuKyAqXG4rICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLlxuKyAqL1xuK2ludCBwY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKTtcbitcbiAjZW5kaWZcbiBcbitpbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKTtcbitcbiBzdHJ1Y3QgcGh5bGluayAqcGh5bGlua19jcmVhdGUoc3RydWN0IHBoeWxpbmtfY29uZmlnICosXG4gXHRcdFx0ICAgICAgIGNvbnN0IHN0cnVjdCBmd25vZGVfaGFuZGxlICosXG4gXHRcdFx0ICAgICAgIHBoeV9pbnRlcmZhY2VfdCxcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU0OjAyLjEyNjU2NzAwN1oiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjcwNDYwMDU0MDI1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgUG90ZW50aWFsIG9mIGEgTmV3IFBDUyBMb29wYmFjayBPcGVyYXRpb24qKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIHBhdGNoIGludHJvZHVjaW5nIGEgYHBjc19sb29wYmFja2Agb3BlcmF0aW9uIHdpdGhpbiBgcGh5bGlua19wY3Nfb3BzYCBhbmQgc3BlY2lmaWNhbGx5IGltcGxlbWVudGluZyBpdCBmb3IgYGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrYCBpbiBgc3RtbWFjX3Bjcy5jYC4gIEl0J3MgYWxzbyBiZWluZyB1c2VkIHdpdGhpbiBgc3RtbWFjX3NlbGZ0ZXN0cy5jYCB3aGVuIHdlJ3JlIG5vdCBkZWFsaW5nIHdpdGggYW4gZXh0ZXJuYWwgUEhZLiBUaGUgY29kZSB0b3VjaGVzIGEgZmV3IGZpbGVzOiBgc3RtbWFjX3Bjcy5jYCwgYHN0bW1hY19zZWxmdGVzdHMuY2AsIGBwaHlsaW5rLmNgLCBhbmQgdGhlIGBwaHlsaW5rLmhgIGluY2x1ZGUgZmlsZS4gIE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCBcIkNhbiB3ZSBmdXp6IHRoaXM/XCJcblxuVGhlIGNoYW5nZXMgYXJlIHdpdGhpbiB0aGUgU1RNaWNyb2VsZWN0cm9uaWNzIHN0bW1hYyBFdGhlcm5ldCBkcml2ZXIgYW5kIHBoeWxpbmssIHJpZ2h0PyBUaGUgc3RtbWFjIGRyaXZlciBpcyBmb3IgdGhlIFN5bm9wc3lzIERlc2lnbldhcmUgTUFDLCB3aGljaCBpcyB1c3VhbGx5IGhhcmR3YXJlLXNwZWNpZmljLiBUaGF0J3MgdGhlIGZpcnN0IGh1cmRsZSDigJMgaXMgdGhpcyBjb2RlIGV2ZW4gcmVhY2hhYmxlIGluIGEgdmlydHVhbGl6ZWQgb3IgZW11bGF0ZWQgZW52aXJvbm1lbnQ/ICBzdG1tYWMgaXMgYSBwbGF0Zm9ybSBkcml2ZXIgcHJpbWFyaWx5LCBidXQgaXQgKmRvZXMqIGhhdmUgYSBQQ0kgd3JhcHBlciAoYHN0bW1hY19wY2kuY2ApLiBUaGF0J3MgaW50ZXJlc3Rpbmc7IGl0J3MgYSBnb29kIHNpZ24uICBUaGUgcXVlc3Rpb24gaXMsIGNhbiBzdG1tYWMgYmUgZW11bGF0ZWQsIG9yIGlzIGl0IHB1cmVseSByZWxpYW50IG9uIGhhcmR3YXJlP1xuXG5BaCwgcmlnaHQsIGxvb2tpbmcgbW9yZSBjbG9zZWx5LCB0aGUgc3RtbWFjIFBDSSBkcml2ZXIgY2xhaW1zIHRvIHN1cHBvcnQgc29tZSBJbnRlbCBwbGF0Zm9ybXMsIGxpa2UgUXVhcmsgYW5kIEFwb2xsbyBMYWtlLiBUaGF0J3MgcHJvbWlzaW5nIGZvciBwb3RlbnRpYWwgZnV6emluZy4gR2VuZXJhbGx5LCBoYXJkd2FyZS1zcGVjaWZpYyBFdGhlcm5ldCBkcml2ZXJzIGFyZSBkaWZmaWN1bHQgdG8gZnV6eiB1bmxlc3MgdGhleSBoYXZlIGEgdmlydHVhbCBkZXZpY2UgY29tcG9uZW50IG9yIGFyZSBwYXJ0IG9mIGEgbW9yZSB3aWRlbHkgZW11bGF0ZWQgUENJIGRldmljZS4gSG93ZXZlciwgdGhpcyBwYXRjaCAqZG9lcyogdHJpZ2dlciBgc3RtbWFjX3NlbGZ0ZXN0cy5jYCB2aWEgdGhlIGV0aHRvb2wgc2VsZnRlc3QgbWVjaGFuaXNtLiBUaGF0J3MgYSBnb29kIGVudHJ5IHBvaW50LlxuXG5Pa2F5LCBpcyBzdG1tYWMgZW11bGF0ZWQgaW4gUUVNVT8gUUVNVSBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBzdG1tYWMgc3VwcG9ydCBvdXQgb2YgdGhlIGJveCwgYnV0IG1heWJlIHRoZXJlJ3Mgc29tZXRoaW5nIHJlbGV2YW50PyAgTGV0IG1lIHNlZS4uLiBRRU1VIGhhcyBlbXVsYXRpb25zIGZvciBhIGJ1bmNoIG9mIG90aGVyIG5ldHdvcmsgY2FyZHM6IGBpbXhfZmVjYCwgYGNhZGVuY2VfZ2VtYCwgYGlnYmAsIGBlMTAwMGAsIGBydGw4MTM5YCwgYHR1bGlwYCwgYHZteG5ldDNgLCBgc3VuZ2VtYCwgYHN1bmhtZWAsIGBwY25ldGAsIGBuZTIwMDBgLCBhbmQgYGVlcHJvMTAwYC4gQnV0IHN0bW1hYyBzcGVjaWZpY2FsbHk/IFdhaXQsIFFFTVUgKmRvZXMqIGVtdWxhdGUgXCJkZXNpZ253YXJlXCIgRXRoZXJuZXQhIFRoZSBmaWxlIGBody9uZXQvZGVzaWdud2FyZS5jYCBleGlzdHMuIFRoYXQncyBhIGh1Z2UgY2x1ZS5cblxuTm93LCBkb2VzIHRoZSBgc3RtbWFjYCBkcml2ZXIgYWN0dWFsbHkgYmluZCB0byB0aGUgUUVNVSBgZGVzaWdud2FyZWAgZW11bGF0aW9uPyBRRU1VJ3MgYGRlc2lnbndhcmVgIGlzIGEgcGxhdGZvcm0gZGV2aWNlLCB3aGljaCBtZWFucyBpdCB3b3VsZCB0eXBpY2FsbHkgYmUgdXNlZCBvbiBjZXJ0YWluIEFSTSBib2FyZHMgbGlrZSBgbWNpbXg2dWwtZXZrYCwgYHNpZml2ZV91YCBvciBgYWxsd2lubmVyLWgzYC4gQnV0IHN5emthbGxlciBnZW5lcmFsbHkgd29ya3MgYmVzdCB3aXRoIFBDSSBkZXZpY2VzIG9yIHZpcnR1YWwgZGV2aWNlcy4gU28sIGRvZXMgc3RtbWFjIGhhdmUgUENJIHN1cHBvcnQ/XG5cbkxldCBtZSBjaGVjayBgZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jYC4uLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0NDY0LCJPdXRwdXRUb2tlbnMiOjIwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NzA3LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTU6MTIuNTg2NjIzNjkyWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ5MDQ3MDA5NjEsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwic3RtbWFjX3BjaVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMucnN0PTEwNz1zeW50YXggKGUuZy4gZm9yIFBDSSBtb2R1bGUpOjpcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMucnN0LTEwOC1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMucnN0OjEwOTogICAgbW9kcHJvYmUgc3RtbWFjX3BjaSBbXFx1MDAzY29wdGlvblxcdTAwM2U9XFx1MDAzY1ZBTDFcXHUwMDNlLFxcdTAwM2NWQUwyXFx1MDAzZSwuLi5dXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L3N0bWljcm8vc3RtbWFjLnJzdC0xMTAtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZT01Mz1vYmotJChDT05GSUdfRFdNQUNfTU9UT1JDT01NKVxcdCs9IGR3bWFjLW1vdG9yY29tbS5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NTQ6c3RtbWFjLXBjaS1vYmpzOj0gc3RtbWFjX3BjaS5vXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTI1PXN0cnVjdCBpbnRlbF9wcml2X2RhdGEge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0zOS0gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjQwOnN0cnVjdCBzdG1tYWNfcGNpX2Z1bmNfZGF0YSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy00MS1cXHR1bnNpZ25lZCBpbnQgZnVuYztcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtNDQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo0NTpzdHJ1Y3Qgc3RtbWFjX3BjaV9kbWlfZGF0YSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo0NjpcXHRjb25zdCBzdHJ1Y3Qgc3RtbWFjX3BjaV9mdW5jX2RhdGEgKmZ1bmM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy00Ny1cXHRzaXplX3QgbmZ1bmNzO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy00OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjUwOnN0cnVjdCBzdG1tYWNfcGNpX2luZm8ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtNTEtXFx0aW50ICgqc2V0dXApKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz05MT1zdGF0aWMgY29uc3QgaW50IGFkbG5fdHNuX2xhbmVfcmVnc1tdID0gezZ9O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo5MzpzdGF0aWMgaW50IHN0bW1hY19wY2lfZmluZF9waHlfYWRkcihzdHJ1Y3QgcGNpX2RldiAqcGRldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTk0LVxcdFxcdFxcdFxcdCAgICBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCAqZG1pX2xpc3QpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05NS17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo5NjpcXHRjb25zdCBzdHJ1Y3Qgc3RtbWFjX3BjaV9mdW5jX2RhdGEgKmZ1bmNfZGF0YTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjk3OlxcdGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2RtaV9kYXRhICpkbWlfZGF0YTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTk4LVxcdGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkbWlfaWQ7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTc1NT1zdGF0aWMgaW50IGVobF9zZ21paV9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy03NzQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo3NzU6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gZWhsX3NnbWlpMWdfaW5mbyA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTc3Ni1cXHQuc2V0dXAgPSBlaGxfc2dtaWlfZGF0YSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM9Nzc5PXN0YXRpYyBpbnQgZWhsX3JnbWlpX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTc4OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjc5MDpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfcmdtaWkxZ19pbmZvID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtNzkxLVxcdC5zZXR1cCA9IGVobF9yZ21paV9kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz04MTA9c3RhdGljIGludCBlaGxfcHNlMF9yZ21paTFnX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTgxNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjgxNzpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfcHNlMF9yZ21paTFnX2luZm8gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy04MTgtXFx0LnNldHVwID0gZWhsX3BzZTBfcmdtaWkxZ19kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz04MjE9c3RhdGljIGludCBlaGxfcHNlMF9zZ21paTFnX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTgzOC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjgzOTpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfcHNlMF9zZ21paTFnX2luZm8gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy04NDAtXFx0LnNldHVwID0gZWhsX3BzZTBfc2dtaWkxZ19kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz04NTk9c3RhdGljIGludCBlaGxfcHNlMV9yZ21paTFnX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTg2NS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjg2NjpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfcHNlMV9yZ21paTFnX2luZm8gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy04NjctXFx0LnNldHVwID0gZWhsX3BzZTFfcmdtaWkxZ19kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz04NzA9c3RhdGljIGludCBlaGxfcHNlMV9zZ21paTFnX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTg4Ny1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjg4ODpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfcHNlMV9zZ21paTFnX2luZm8gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy04ODktXFx0LnNldHVwID0gZWhsX3BzZTFfc2dtaWkxZ19kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz05MTM9c3RhdGljIGludCB0Z2xfc2dtaWlfcGh5MF9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05MjEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo5MjI6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gdGdsX3NnbWlpMWdfcGh5MF9pbmZvID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTIzLVxcdC5zZXR1cCA9IHRnbF9zZ21paV9waHkwX2RhdGEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTkyNj1zdGF0aWMgaW50IHRnbF9zZ21paV9waHkxX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTkzNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjkzNTpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyB0Z2xfc2dtaWkxZ19waHkxX2luZm8gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05MzYtXFx0LnNldHVwID0gdGdsX3NnbWlpX3BoeTFfZGF0YSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM9OTM5PXN0YXRpYyBpbnQgYWRsc19zZ21paV9waHkwX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTk0OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjk0OTpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBhZGxzX3NnbWlpMWdfcGh5MF9pbmZvID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTUwLVxcdC5zZXR1cCA9IGFkbHNfc2dtaWlfcGh5MF9kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz05NTM9c3RhdGljIGludCBhZGxzX3NnbWlpX3BoeTFfZGF0YShzdHJ1Y3QgcGNpX2RldiAqcGRldixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTYyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6OTYzOnN0YXRpYyBzdHJ1Y3Qgc3RtbWFjX3BjaV9pbmZvIGFkbHNfc2dtaWkxZ19waHkxX2luZm8gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05NjQtXFx0LnNldHVwID0gYWRsc19zZ21paV9waHkxX2RhdGEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTk5Mj1zdGF0aWMgaW50IGFkbG5fc2dtaWlfcGh5MF9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMDEwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTAxMTpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBhZGxuX3NnbWlpMWdfcGh5MF9pbmZvID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTAxMi1cXHQuc2V0dXAgPSBhZGxuX3NnbWlpX3BoeTBfZGF0YSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTAxNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjEwMTU6c3RhdGljIGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2Z1bmNfZGF0YSBnYWxpbGVvX3N0bW1hY19mdW5jX2RhdGFbXSA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwMTYtXFx0e1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMDIxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTAyMjpzdGF0aWMgY29uc3Qgc3RydWN0IHN0bW1hY19wY2lfZG1pX2RhdGEgZ2FsaWxlb19zdG1tYWNfZG1pX2RhdGEgPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMDIzLVxcdC5mdW5jID0gZ2FsaWxlb19zdG1tYWNfZnVuY19kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMDI2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTAyNzpzdGF0aWMgY29uc3Qgc3RydWN0IHN0bW1hY19wY2lfZnVuY19kYXRhIGlvdDIwNDBfc3RtbWFjX2Z1bmNfZGF0YVtdID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTAyOC1cXHR7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwMzctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxMDM4OnN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3RtbWFjX3BjaV9kbWlfZGF0YSBpb3QyMDQwX3N0bW1hY19kbWlfZGF0YSA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwMzktXFx0LmZ1bmMgPSBpb3QyMDQwX3N0bW1hY19mdW5jX2RhdGEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTEwNzg9c3RhdGljIGludCBxdWFya19kZWZhdWx0X2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwODgtXFx0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxMDg5OlxcdHJldCA9IHN0bW1hY19wY2lfZmluZF9waHlfYWRkcihwZGV2LCBxdWFya19wY2lfZG1pKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwOTAtXFx0aWYgKHJldCBcXHUwMDNjIDApIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTExMy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjExMTQ6c3RhdGljIGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gcXVhcmtfaW5mbyA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTExMTUtXFx0LnNldHVwID0gcXVhcmtfZGVmYXVsdF9kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz0xMjMyPXN0YXRpYyBpbnQgaW50ZWxfZXRoX3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTIzNC17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxMjM1OlxcdHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gKmluZm8gPSAoc3RydWN0IHN0bW1hY19wY2lfaW5mbyAqKWlkLVxcdTAwM2Vkcml2ZXJfZGF0YTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEyMzYtXFx0c3RydWN0IGludGVsX3ByaXZfZGF0YSAqaW50ZWxfcHJpdjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM9NzY9c3RydWN0IGxvb25nc29uX2RhdGEge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy04MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjgyOnN0cnVjdCBzdG1tYWNfcGNpX2luZm8ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtODMtXFx0aW50ICgqc2V0dXApKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYz0xMzI9c3RhdGljIGludCBsb29uZ3Nvbl9nbWFjX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTE0MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjE0MjpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBsb29uZ3Nvbl9nbWFjX3BjaV9pbmZvID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtMTQzLVxcdC5zZXR1cCA9IGxvb25nc29uX2dtYWNfZGF0YSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM9MTY1PXN0YXRpYyBpbnQgbG9vbmdzb25fZ25ldF9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy0xNzYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYzoxNzc6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gbG9vbmdzb25fZ25ldF9wY2lfaW5mbyA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTE3OC1cXHQuc2V0dXAgPSBsb29uZ3Nvbl9nbmV0X2RhdGEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jPTQ5OD1zdGF0aWMgaW50IGxvb25nc29uX2R3bWFjX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTUwMS1cXHRzdHJ1Y3Qgc3RtbWFjX3Jlc291cmNlcyByZXMgPSB7fTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjUwMjpcXHRzdHJ1Y3Qgc3RtbWFjX3BjaV9pbmZvICppbmZvO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNTAzLVxcdHN0cnVjdCBsb29uZ3Nvbl9kYXRhICpsZDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNTM3LVxcdHBsYXQtXFx1MDAzZWZpeF9zb2NfcmVzZXQgPSBsb29uZ3Nvbl9kd21hY19maXhfcmVzZXQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYzo1Mzg6XFx0cGxhdC1cXHUwMDNlc3VzcGVuZCA9IHN0bW1hY19wY2lfcGxhdF9zdXNwZW5kO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM6NTM5OlxcdHBsYXQtXFx1MDAzZXJlc3VtZSA9IHN0bW1hY19wY2lfcGxhdF9yZXN1bWU7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy01NDAtXFx0bGQtXFx1MDAzZWRldiA9IFxcdTAwMjZwZGV2LVxcdTAwM2VkZXY7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTU0Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjU0MzpcXHRpbmZvID0gKHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gKilpZC1cXHUwMDNlZHJpdmVyX2RhdGE7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy01NDQtXFx0cmV0ID0gaW5mby1cXHUwMDNlc2V0dXAocGRldiwgcGxhdCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYz0xODg9c3RhdGljIGludCBtb3RvcmNvbW1fcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqYnNwX3ByaXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYy0xOTItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmM6MTkzOlxcdHJldCA9IHN0bW1hY19wY2lfcGxhdF9yZXN1bWUoZGV2LCBic3BfcHJpdik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmMtMTk0LVxcdGlmIChyZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYz0yMDg9bW90b3Jjb21tX2RlZmF1bHRfcGxhdF9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmMtMjQ4LVxcdHBsYXQtXFx1MDAzZWNvcmVfdHlwZVxcdFxcdD0gRFdNQUNfQ09SRV9HTUFDNDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYzoyNDk6XFx0cGxhdC1cXHUwMDNlc3VzcGVuZFxcdFxcdD0gc3RtbWFjX3BjaV9wbGF0X3N1c3BlbmQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmMtMjUwLVxcdHBsYXQtXFx1MDAzZXJlc3VtZVxcdFxcdD0gbW90b3Jjb21tX3Jlc3VtZTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy0xMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbGlicGNpLmM6MTI6aW50IHN0bW1hY19wY2lfcGxhdF9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqYnNwX3ByaXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5jLTEzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy0yNS19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5jOjI2OkVYUE9SVF9TWU1CT0xfR1BMKHN0bW1hY19wY2lfcGxhdF9zdXNwZW5kKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbGlicGNpLmMtMjctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5jOjI4OmludCBzdG1tYWNfcGNpX3BsYXRfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqYnNwX3ByaXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5jLTI5LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy00My19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5jOjQ0OkVYUE9SVF9TWU1CT0xfR1BMKHN0bW1hY19wY2lfcGxhdF9yZXN1bWUpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy00NS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuaC04LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuaDo5OmludCBzdG1tYWNfcGNpX3BsYXRfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmJzcF9wcml2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbGlicGNpLmg6MTA6aW50IHN0bW1hY19wY2lfcGxhdF9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpic3BfcHJpdik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5oLTExLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTE4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxOTpzdHJ1Y3Qgc3RtbWFjX3BjaV9pbmZvIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjAtXFx0aW50ICgqc2V0dXApKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jPTMzPXN0YXRpYyBpbnQgc3RtbWFjX2RlZmF1bHRfZGF0YShzdHJ1Y3QgcGNpX2RldiAqcGRldixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy00OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6NTA6c3RhdGljIGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gc3RtbWFjX3BjaV9pbmZvID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy01MS1cXHQuc2V0dXAgPSBzdG1tYWNfZGVmYXVsdF9kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jPTU0PXN0YXRpYyBpbnQgc25wc19nbWFjNV9kZWZhdWx0X2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTAxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxMDI6c3RhdGljIGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gc25wc19nbWFjNV9wY2lfaW5mbyA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTAzLVxcdC5zZXR1cCA9IHNucHNfZ21hYzVfZGVmYXVsdF9kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTEwNi0vKipcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MTA3OiAqIHN0bW1hY19wY2lfcHJvYmVcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTA4LSAqXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTE3LSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxMTg6c3RhdGljIGludCBzdG1tYWNfcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xMTktXFx0XFx0XFx0ICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTIwLXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MTIxOlxcdHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gKmluZm8gPSAoc3RydWN0IHN0bW1hY19wY2lfaW5mbyAqKWlkLVxcdTAwM2Vkcml2ZXJfZGF0YTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTIyLVxcdHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xNzktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjE4MDpcXHRwbGF0LVxcdTAwM2VzdXNwZW5kID0gc3RtbWFjX3BjaV9wbGF0X3N1c3BlbmQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjE4MTpcXHRwbGF0LVxcdTAwM2VyZXN1bWUgPSBzdG1tYWNfcGNpX3BsYXRfcmVzdW1lO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xODItXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTg2LS8qKlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxODc6ICogc3RtbWFjX3BjaV9yZW1vdmVcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTg4LSAqXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTkxLSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxOTI6c3RhdGljIHZvaWQgc3RtbWFjX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTE5My17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM9MjAzPXN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBzdG1tYWNfaWRfdGFibGVbXSA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MjA0OlxcdHsgUENJX0RFVklDRV9EQVRBKFNUTU1BQywgU1RNTUFDLCBcXHUwMDI2c3RtbWFjX3BjaV9pbmZvKSB9LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMDU6XFx0eyBQQ0lfREVWSUNFX0RBVEEoU1RNSUNSTywgTUFDLCBcXHUwMDI2c3RtbWFjX3BjaV9pbmZvKSB9LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0yMDYtXFx0eyBQQ0lfREVWSUNFX0RBVEEoU1lOT1BTWVMsIEdNQUM1X0lELCBcXHUwMDI2c25wc19nbWFjNV9wY2lfaW5mbykgfSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYz0yMTA9TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHN0bW1hY19pZF90YWJsZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MjEyOnN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBzdG1tYWNfcGNpX2RyaXZlciA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjEzLVxcdC5uYW1lID0gU1RNTUFDX1JFU09VUkNFX05BTUUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxNC1cXHQuaWRfdGFibGUgPSBzdG1tYWNfaWRfdGFibGUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjIxNTpcXHQucHJvYmUgPSBzdG1tYWNfcGNpX3Byb2JlLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMTY6XFx0LnJlbW92ZSA9IHN0bW1hY19wY2lfcmVtb3ZlLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0yMTctXFx0LmRyaXZlciAgICAgICAgID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIyMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MjIyOm1vZHVsZV9wY2lfZHJpdmVyKHN0bW1hY19wY2lfZHJpdmVyKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjIzLVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yOFQwMDo1NToxNy40OTEzMjkwOTNaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3NDI3MjY3MjEwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgdGhlIGBzdG1tYWNgIFBDSSBEcml2ZXIgd2l0aCBQQ1MgTG9vcGJhY2sqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciB0aGUgYHN0bW1hY19wY2lgIGRyaXZlci4gUmlnaHQsIGl0J3MgYSBQQ0kgZHJpdmVyLCBzbyBpdCBiaW5kcyB0byBQQ0kgZGV2aWNlcy4gVGhlIGNvcmUgb2YgdGhpcyBzZWVtcyB0byBiZSB0aGUgYWRkaXRpb24gb2YgdGhpcyBgZHdtYWNfaW50ZWdyYXRlZF9wY3NfbG9vcGJhY2tgIGZ1bmN0aW9uLCB3aGljaCBpcyB0aGVuIHVzZWQgaW4gYHN0bW1hY19zZWxmdGVzdHMuY2AuIFRoZSBzZWxmdGVzdCBpdHNlbGYgaXMgaW52b2tlZCB2aWEgYGV0aHRvb2wgLXRgLCB3aGljaCBpcyBpbXBvcnRhbnQgYmVjYXVzZSBJIGtub3cgc3l6a2FsbGVyIGNhbiB0cmlnZ2VyIHRoYXQgdGhyb3VnaCBuZXRsaW5rIG9yIGlvY3RsLiBUaGF0J3MgaW1tZWRpYXRlbHkgaW50ZXJlc3RpbmcsIGNvdWxkIHRoaXMgYmUgYSBmdXp6aW5nIHRhcmdldD9cblxuVGhlIHBhdGNoIGlzIGludHJvZHVjaW5nIGEgbG9vcGJhY2sgY2FwYWJpbGl0eSBmb3IgdGhlIGludGVncmF0ZWQgUENTLCB3aGljaCBpbXBsaWVzIGEgZnVuY3Rpb25hbCBjaGFuZ2Ugd2l0aGluIHRoZSBkcml2ZXIgaXRzZWxmLiBCdXQgaGFuZyBvbiwgZG9lcyBpdCBtb2RpZnkgY29yZSBrZXJuZWwgbG9naWM/IEFoLCB5ZXMsIGl0ICpkb2VzKi4gSXQgbW9kaWZpZXMgYHBoeWxpbmsuY2AgYW5kIGFkZHMgYHBoeWxpbmtfcGNzX2xvb3BiYWNrYCBhbmQgYHBjc19sb29wYmFja2AgdG8gYHN0cnVjdCBwaHlsaW5rX3Bjc19vcHNgLiBUaGlzIGxvb2tzIGxpa2UgYSBuZXcgQVBJIHNwZWNpZmljYWxseSB3aXRoaW4gYHBoeWxpbmtgLiBBbmQgc3BlY2lmaWNhbGx5LCBpdCAqaW1wbGVtZW50cyogaXQgZm9yIGBzdG1tYWNgLlxuXG5UaGUgbmV4dCBpbXBvcnRhbnQgcXVlc3Rpb24gaXMsIGNhbiB0aGlzIGJlIHRyaWdnZXJlZCBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50PyBJZiBgc3RtbWFjYCBpc24ndCBlbXVsYXRlZCwgdGhhdCBwYXJ0IHdpbGwgYmUgdW5yZWFjaGFibGUuIEJ1dCB0aGVuIGFnYWluLCBgcGh5bGlua19wY3NfbG9vcGJhY2tgIGlzIGV4cG9ydGVkLiBUaGF0IG1lYW5zIG90aGVyIGRyaXZlcnMgY291bGQgcG90ZW50aWFsbHkgdXNlIHRoaXMgbmV3IGZ1bmN0aW9uYWxpdHkgaW4gdGhlIGZ1dHVyZSwgZXZlbiB0aG91Z2ggY3VycmVudGx5LCBvbmx5IGBzdG1tYWNgIGlzIGRvaW5nIHNvLiBJdCBicm9hZGVucyB0aGUgc2NvcGUgb2Ygd2hhdCBpcyBiZWluZyBjaGFuZ2VkLCB0aG91Z2gsIHNvIGl0J3Mgd29ydGggZGVlcGVyIGNvbnNpZGVyYXRpb24uXG5cbk5vdywgZG9lcyBRRU1VIGVtdWxhdGUgYW55IG9mIHRoZSBQQ0kgSURzIHRoYXQgdGhlIGBzdG1tYWNgIGRyaXZlciBoYW5kbGVzPyBMZXQgbWUgY2hlY2sgd2hpY2ggUENJIElEcyBpdCBiaW5kcyB0by4gTG9va3MgbGlrZTogYFBDSV9ERVZJQ0VfREFUQShTVE1NQUMsIFNUTU1BQywgXHUwMDI2c3RtbWFjX3BjaV9pbmZvKWAsIGBQQ0lfREVWSUNFX0RBVEEoU1RNSUNSTywgTUFDLCBcdTAwMjZzdG1tYWNfcGNpX2luZm8pYCwgYW5kIGBQQ0lfREVWSUNFX0RBVEEoU1lOT1BTWVMsIEdNQUM1X0lELCBcdTAwMjZzbnBzX2dtYWM1X3BjaV9pbmZvKWAuIFJpZ2h0LCBJJ2xsIG5lZWQgdG8gY2hlY2sgYGluY2x1ZGUvbGludXgvcGNpX2lkcy5oYCB0byBzZWUgaG93IHRob3NlIHRyYW5zbGF0ZSBhbmQgd2hldGhlciBhbnkgb2YgdGhvc2UgYXJlIGVtdWxhdGVkIHdpdGhpbiBRRU1VLiBUaGF0J3MgdGhlIG5leHQgc3RlcCB0byBmaWd1cmUgb3V0IHRoZSByZWFjaGFiaWxpdHkgb2YgdGhpcyBuZXcgQVBJLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxMzIyNSwiT3V0cHV0VG9rZW5zIjo1NiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM5MCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yOFQwMDo1NToyNC45MTg1OTg3NTNaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzUxNjA5MDIwNSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJQQ0lfREVWSUNFX0lEX1NUTU1BQ19TVE1NQUN8UENJX0RFVklDRV9JRF9TVE1JQ1JPX01BQ3xQQ0lfREVWSUNFX0lEX1NZTk9QU1lTX0dNQUM1X0lEXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYz0xOTI9c3RhdGljIHZvaWQgc3RtbWFjX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTk5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMDA6I2RlZmluZSBQQ0lfREVWSUNFX0lEX1NUTU1BQ19TVE1NQUNcXHRcXHQweDExMDhcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MjAxOiNkZWZpbmUgUENJX0RFVklDRV9JRF9TWU5PUFNZU19HTUFDNV9JRFxcdFxcdDB4NzEwMlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0yMDItXFxuLS1cXG5pbmNsdWRlL2xpbnV4L3BjaV9pZHMuaC04NjEtI2RlZmluZSBQQ0lfREVWSUNFX0lEX1NUTUlDUk9fU1BJX0hTXFx0MHhDQzA4XFxuaW5jbHVkZS9saW51eC9wY2lfaWRzLmg6ODYyOiNkZWZpbmUgUENJX0RFVklDRV9JRF9TVE1JQ1JPX01BQ1xcdDB4Q0MwOVxcbmluY2x1ZGUvbGludXgvcGNpX2lkcy5oLTg2My0jZGVmaW5lIFBDSV9ERVZJQ0VfSURfU1RNSUNST19TRElPX0VNTUMgMHhDQzBBXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU1OjI4LjQzNDY5NTI0OFoiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjgzOTc2OTQyMDcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgU3l6a2FsbGVyIFBDSSBGdXp6aW5nIFBlcnNwZWN0aXZlKipcblxuT2theSwgc28gSSdtIHRoaW5raW5nIGFib3V0IFN5emthbGxlcidzIGFwcHJvYWNoIHRvIFBDSSBkZXZpY2UgZnV6emluZy4gTXkgaW5pdGlhbCB0aG91Z2h0IHdhcyB0aGF0IGBzeXpfcGNpX3NldHVwYCBjb3VsZCBwb3RlbnRpYWxseSBlbXVsYXRlIGFyYml0cmFyeSBQQ0kgZGV2aWNlcywgYXMgbG9uZyBhcyB0aGUga2VybmVsIGhhZCBhIGNvcnJlc3BvbmRpbmcgZHJpdmVyLiBCdXQgdGhhdCdzIG5vdCBxdWl0ZSByaWdodC4gSXQgc2VlbXMgU3l6a2FsbGVyIGRvZXNuJ3QgZGlyZWN0bHkgZW11bGF0ZSB0aGUgaGFyZHdhcmUgTU1JTyByZWdpc3RlcnMuXG5cbkl0IGFwcGVhcnMgU3l6a2FsbGVyICpkb2VzKiBoYXZlIGEgYHZoY2kvcGNpYCBwc2V1ZG8tZGV2aWNlIHdoaWNoIGluamVjdHMgUENJIGRldmljZXMsIGJ1dCBpdCdzIG5vdCB0aGUgc2FtZSBhcyBmdWxsIGVtdWxhdGlvbiwgcmlnaHQ/IFNvLCBgc3l6X3BjaV9zZXR1cGAgaXNuJ3QgdXNlZCB0byAqaW5qZWN0KiBkZXZpY2VzLiBJdCdzIG1vcmUgb2YgYSBjb25maWd1cmF0aW9uIHRvb2wsIHNldHRpbmcgdGhpbmdzIHVwLCBhbmQgaWYgdGhlIGRyaXZlciBpcyBtYWtpbmcgTU1JTyByZWFkcy93cml0ZXMsIGl0J3MganVzdCBkZWFsaW5nIHdpdGggZHVtbXkgbWVtb3J5LCBwb3RlbnRpYWxseSByZXR1cm5pbmcgemVyb3Mgb3Igb25lcywgb3IgY2F1c2luZyBhIGNyYXNoIGlmIHRoZSBkcml2ZXIgbmVlZHMgc3BlY2lmaWMgaGFyZHdhcmUgcmVzcG9uc2VzLlxuXG5Ib2xkIG9uLCBJIHRob3VnaHQgU3l6a2FsbGVyIGhhZCAqc29tZSogZm9ybSBvZiBQQ0kgZGV2aWNlIGVtdWxhdG9yPyBObywgdGhhdCdzIG5vdCBpdCBlaXRoZXIuIFRoZSBQQ0kgZnV6emluZywgd2hldGhlciBpdOKAmXMgdGhyb3VnaCBgc3l6X3BjaV9zZXR1cGAgb3IgZXZlbiB0aHJvdWdoIGBzeXpfa3ZtX3NldHVwX2NwdWAsIGlzIHByaW1hcmlseSBhaW1lZCBhdCBlaXRoZXIgdGhlIFBDSSBjb3JlIGl0c2VsZiBvciBkcml2ZXJzIHJvYnVzdCBlbm91Z2ggdG8gaGFuZGxlIHRoZSBkdW1teSBNTUlPIGJlaGF2aW9yLiBTbywgbm90IGEgZnVsbCBlbXVsYXRvciwgcmVhbGx5LlxuXG5TbyBpdCBpcyBub3QgY29ycmVjdCB0byBjbGFpbSBTeXprYWxsZXIgZW11bGF0ZXMgUENJIGRyaXZlcnMgdGhyb3VnaCB2aGNpLCBpdCB1c2VzIHRoZSBgcGNpX3Rlc3RgIGZyYW1ld29yayBvciBzb21ldGhpbmcgc2ltaWxhciwgcmlnaHQ/IE5vLCBub3QgcXVpdGUuIFRoZSBjb3JyZWN0IGlkZWEgaXMgdGhhdCBgc3l6X3BjaV9zZXR1cGAgaW5qZWN0cyBhIFBDSSBkZXZpY2UsIGVpdGhlciB0aHJvdWdoIGEgY3VzdG9tIGtlcm5lbCBtb2R1bGUgb3IgbWF5YmUgbGV2ZXJhZ2luZyBRRU1VJ3MgYHBjaS10ZXN0ZGV2YC5cblxuV2FpdCwgaXNuJ3QgYHN5el9wY2lfc2V0dXBgIG5vdCBhIHBzZXVkby1zeXNjYWxsPyBBaGEhIFJpZ2h0LCBpdCdzIGEgU3l6a2FsbGVyIGZ1bmN0aW9uLCBub3QgYSBzeXN0ZW0gY2FsbCBpbiBpdHNlbGYuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSBnZXQgdGhhdCBzdHJhaWdodC4gTGV0IG1lIGRvdWJsZS1jaGVjay4gSSBzZWUgaXQgaW4gYHN5cy9saW51eC9wY2kudHh0YC4gUmlnaHQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE0NTIyLCJPdXRwdXRUb2tlbnMiOjIxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzY3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU1OjM2LjgzMjM5ODcwNVoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNTAyMTgxNDQ5LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJzeXpfcGNpX3NldHVwXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcImVycm9yXCI6IFwibm8gbWF0Y2hlc1wiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yOFQwMDo1NTozOS4zMzQ2MDk3NjRaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2MjgzMDM0MTQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IExpbmUgb2YgUmVhc29uaW5nKipcblxuT2theSwgZmlyc3QgdGhpbmdzIGZpcnN0LCBJIG5lZWQgdG8gZGl0Y2ggdGhlIGlkZWEgb2YgdXNpbmcgZ3JlcHBlciB0byBmaW5kIHNvbWV0aGluZyByZWxhdGVkIHRvIGBzeXpfYC4gTXkgaW50dWl0aW9uIGlzIHRlbGxpbmcgbWUgdGhhdCBJIHNob3VsZCBiZSB1c2luZyBgcmVhZC1maWxlYCBvciBwZXJoYXBzIEkganVzdCBuZWVkIHRvIHJlbWVtYmVyIHRoYXQgU3l6a2FsbGVyJ3MgUENJIGhhcmR3YXJlIGVtdWxhdGlvbiBpc24ndCB2ZXJ5IHJvYnVzdCwgZXNwZWNpYWxseSBmb3IgYXJiaXRyYXJ5IGRldmljZXMuIEl0IGhlYXZpbHkgZGVwZW5kcyBvbiBRRU1VLCB3aGljaCBpbiB0dXJuIG1pZ2h0IG5vdCBlbXVsYXRlIHRoZSBleGFjdCBTVE1NQUMgUENJIGRldmljZSBJJ20gaW50ZXJlc3RlZCBpbiwgcG90ZW50aWFsbHkgbGVhZGluZyB0byBkcml2ZXIgcHJvYmUgZmFpbHVyZXMgb3IsIG1vcmUgaW1wb3J0YW50bHksIHNraXBwaW5nIHRoZSBzZWxmdGVzdCBjb2RlLlxuXG5XYWl0IGEgbWludXRlLCBpc24ndCBgc3RtbWFjYCBhbHNvIGEgcGxhdGZvcm0gZHJpdmVyPyBTbywgZG9lcyBRRU1VIGVtdWxhdGUgaXQ/XG5cbkFoLCByaWdodCwgUUVNVSAqZG9lcyogaGF2ZSBgaHcvbmV0L2Rlc2lnbndhcmUuY2AuIFRoYXQncyBlbmNvdXJhZ2luZy4gTm93LCBJIG5lZWQgdG8gZmlndXJlIG91dCBpZiBTeXprYWxsZXIgYWN0dWFsbHkgbGV2ZXJhZ2VzIFFFTVUncyBEZXNpZ25XYXJlIEV0aGVybmV0IGltcGxlbWVudGF0aW9uLlxuXG5MZXQncyBzZWUuLi4gU3l6a2FsbGVyIHR5cGljYWxseSBydW5zIGBxZW11LXN5c3RlbS14ODZfNjRgIHdpdGggYSBzcGVjaWZpYyBkZXZpY2UgY29uZmlndXJhdGlvbiDigJMgZTEwMDAsIGUxMDAwZSwgcnRsODEzOSwgdm14bmV0MywgYW5kIHZpcnRpby1uZXQuIEl0J3Mgbm90IHVzdWFsbHkgY29uZmlndXJlZCB3aXRoIEFSTSBib2FyZHMgd2hlcmUgYGRlc2lnbndhcmVgIHdvdWxkIGJlIHByZXNlbnQuXG5cbkhvbGQgb24sIHRoZXJlJ3MgdGhhdCBgcGh5bGlua2AgY2hhbmdlIEkgbmVlZCB0byB0YWtlIGludG8gYWNjb3VudC5cblxuT2theSwgdGhlIHBhdGNoIGFkZHMgYHBoeWxpbmtfcGNzX2xvb3BiYWNrYC4gSXMgYHBoeWxpbmtgIGV2ZW4gKnJlYWNoYWJsZSogaW4gdGhlIFN5emthbGxlciBjb250ZXh0PyBZZXMsIGFic29sdXRlbHkuIFBsZW50eSBvZiBkcml2ZXJzIHVzZSBgcGh5bGlua2AuXG5cbkJ1dCB0aGUgY3J1Y2lhbCBkZXRhaWwgaGVyZSBpcyB0aGF0IGBwaHlsaW5rX3Bjc19sb29wYmFja2AgYXBwZWFycyB0byBiZSBjYWxsZWQgb25seSBmcm9tIGBzdG1tYWNfc2VsZnRlc3RzLmNgIGluICp0aGlzKiBzcGVjaWZpYyBwYXRjaC5cblxuU28sIGxldCdzIGJyb2FkZW4gdGhlIHNjb3BlIGFuZCBjaGVjayBpZiAqYW55KiBvdGhlciBkcml2ZXIgY2FsbHMgYHBoeWxpbmtfcGNzX2xvb3BiYWNrYC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTUzNzAsIk91dHB1dFRva2VucyI6MjEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMDYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTU6NDUuNjE3NjQ4NzcyWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMDU0OTIyMDU2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInBoeWxpbmtfcGNzX2xvb3BiYWNrXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYz0zOTA9c3RhdGljIGludCBzdG1tYWNfdGVzdF9waHlfbG9vcGJhY2soc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3NlbGZ0ZXN0cy5jLTQxMC1cXHRpZiAocGNzKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3NlbGZ0ZXN0cy5jOjQxMTpcXHRcXHRyZXQgPSBwaHlsaW5rX3Bjc19sb29wYmFjayhwY3MsIHRydWUpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYy00MTItXFx0XFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYy00MTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3NlbGZ0ZXN0cy5jOjQxODpcXHRcXHRwaHlsaW5rX3Bjc19sb29wYmFjayhwY3MsIGZhbHNlKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMtNDE5LVxcdFxcdHJldHVybiByZXQ7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmM9MTk4Nz12b2lkIHN0bW1hY19zZWxmdGVzdF9ydW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYy0yMDE4LVxcdFxcdFxcdGVsc2VcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmM6MjAxOTpcXHRcXHRcXHRcXHRyZXQgPSBwaHlsaW5rX3Bjc19sb29wYmFjayhzdG1tYWNfc2VsZnRlc3RfZ2V0X3Bjcyhwcml2KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMtMjAyMC1cXHRcXHRcXHRcXHRcXHRcXHRcXHQgICB0cnVlKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYy0yMDU0LVxcdFxcdFxcdGVsc2VcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmM6MjA1NTpcXHRcXHRcXHRcXHRyZXQgPSBwaHlsaW5rX3Bjc19sb29wYmFjayhzdG1tYWNfc2VsZnRlc3RfZ2V0X3Bjcyhwcml2KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMtMjA1Ni1cXHRcXHRcXHRcXHRcXHRcXHRcXHQgICBmYWxzZSk7XFxuLS1cXG5kcml2ZXJzL25ldC9waHkvcGh5bGluay5jPTk5OD1FWFBPUlRfU1lNQk9MX0dQTChwaHlsaW5rX3Bjc19wcmVfaW5pdCk7XFxuLS1cXG5kcml2ZXJzL25ldC9waHkvcGh5bGluay5jLTEwMDAtLyoqXFxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYzoxMDAxOiAqIHBoeWxpbmtfcGNzX2xvb3BiYWNrKCkgLSBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBhdCB0aGUgUENTXFxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYy0xMDAyLSAqIEBwY3M6IGEgcG9pbnRlciB0byBhIFxcdTAwMjZzdHJ1Y3QgcGh5bGlua19wY3MuXFxuLS1cXG5kcml2ZXJzL25ldC9waHkvcGh5bGluay5jLTEwMDktICovXFxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYzoxMDEwOmludCBwaHlsaW5rX3Bjc19sb29wYmFjayhzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpXFxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYy0xMDExLXtcXG4tLVxcbmRyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmMtMTAxNi19XFxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYzoxMDE3OkVYUE9SVF9TWU1CT0xfR1BMKHBoeWxpbmtfcGNzX2xvb3BiYWNrKTtcXG5kcml2ZXJzL25ldC9waHkvcGh5bGluay5jLTEwMTgtXFxuLS1cXG5pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaD03MzI9aW50IHBjc19sb29wYmFjayhzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpO1xcbi0tXFxuaW5jbHVkZS9saW51eC9waHlsaW5rLmgtNzM1LVxcbmluY2x1ZGUvbGludXgvcGh5bGluay5oOjczNjppbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKTtcXG5pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaC03MzctXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU1OjQ4LjY3MjU4MjgxOFoiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo4OTUyNDEzOTU0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIGBzdG1tYWNgIENvZGUgUmVhY2hhYmlsaXR5KipcblxuT2theSwgc28gSSdtIGZvY3VzaW5nIG9uIHRoaXMgYHN0bW1hY2AgZHJpdmVyLiBUaGUgaW1tZWRpYXRlIHRob3VnaHQgaXMsIHRoaXMgY29kZSBwYXRoIG9ubHkgZ2V0cyB1c2VkIGJ5IGBzdG1tYWNgLiBOb3csIHRoZSBrZXkgaXMgd2hldGhlciBpdCdzIHJlYWNoYWJsZSBpbiBzdGFuZGFyZCBRRU1VIHg4Nl82NCBlbnZpcm9ubWVudHMsIHdoaWNoIGlzIGNydWNpYWwgYmVjYXVzZSB0aGF0J3Mgd2hhdCBzeXprYWxsZXIgdXNlcy4gSWYgYHN0bW1hY2AgaXMgaW5hY2Nlc3NpYmxlLCB0aGVuIHRoZSBjb2RlLCBieSBkZWZpbml0aW9uLCBpcyB1bnJlYWNoYWJsZS5cblxuV2FpdCBhIHNlY29uZCwgZG9lcyBzeXprYWxsZXIgZXZlbiAqZnV6eiogYHN0bW1hY2A/IEkgbmVlZCB0byB2ZXJpZnkgdGhhdC4gSSdsbCBuZWVkIHRvIGNoZWNrIHRoZSBzeXprYWxsZXIgY29uZmlndXJhdGlvbiBmb3IgYHN0bW1hY2AgZW5hYmxlbWVudCBvciByZWFjaGFiaWxpdHkuIExldCdzIHNlZS4uLiBkb2VzIHN5emthbGxlciBoYXZlIGBDT05GSUdfU1RNTUFDX0VUSD15YCBvciBgQ09ORklHX1NUTU1BQ19QQ0k9eWAgc2V0IGluIGl0cyBjb25maWdzPyBJZiBzbywgdGhhdCdzIGEgZ29vZCBzaWduLiBPa2F5LCBpdCBzZWVtcyB0aGF0IHRoZXJlJ3MgUENJIHN1cHBvcnQgZW5hYmxlZC5cblxuSWYgYENPTkZJR19TVE1NQUNfUENJPXlgIGlzIHNldCwgdGhlbiB0aGUgZHJpdmVyIGlzIGxpa2VseSBwcmVzZW50LCBidXQgaXMgaXQgKnJlYWNoYWJsZSo/IENhbiBzeXprYWxsZXIgaW5qZWN0IFBDSSBkZXZpY2VzPyBUaGVyZSdzIG5vIGdlbmVyaWMgYHN5el9wY2lfc2V0dXBgIHBzZXVkby1zeXNjYWxsLCBidXQgaXQgZG9lcyBoYXZlIGBzeXpfdXNiX2Nvbm5lY3RgLiBTbyBQQ0kgaXMgZGlmZmVyZW50OiBzeXprYWxsZXIgcmVsaWVzIG9uIFFFTVUncyBlbXVsYXRlZCBkZXZpY2VzIGZvciBQQ0kuXG5cblJpZ2h0LCBzeXprYWxsZXIgaXMgdXNpbmcgYHFlbXUtc3lzdGVtLXg4Nl82NGAsIHNvIG5vdyB0aGUgcXVlc3Rpb24gaXM6IGRvZXMgUUVNVSBlbXVsYXRlIHRoZSBgU1RNTUFDYCBQQ0kgZGV2aWNlPyBObywgaXQgZG9lc24ndC4gSG93ZXZlciwgd2Fzbid0IHRoZXJlIHNvbWV0aGluZyBhYm91dCByZWNlbnQgUENJIGZ1enppbmcgY2FwYWJpbGl0aWVzIGFkZGVkIHRvIHN5emthbGxlcj8gTm8sIHRoYXQgd2FzIG1vc3RseSBVU0IgYW5kIHNvbWUgdmlydHVhbCBkZXZpY2VzLlxuXG5IZXJlJ3MgdGhlIHByb2JsZW06IHdoYXQgaWYgdGhlIHBhdGNoIGlzIGJ1cmllZCBpbiBhIGRyaXZlciB0aGF0IHJlcXVpcmVzIHBoeXNpY2FsIGhhcmR3YXJlIG5vdCBlbXVsYXRlZCBieSBzdGFuZGFyZCBRRU1VPyBBaCwgdGhlIGRvY3VtZW50IG1lbnRpb25zIFwidmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLCBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cIlxuXG5JcyBgc3RtbWFjYCBhIHZlbmRvci1zcGVjaWZpYyBoYXJkd2FyZSBkcml2ZXI/IEl0J3MgdGhlIFN5bm9wc3lzIERlc2lnbldhcmUgTUFDLCB3aGljaCBpcyB1c3VhbGx5IGZvdW5kIG9uIFNvQ3MgKEFSTSwgZXRjLikgb3Igc29tZSBJbnRlbCBwbGF0Zm9ybXMgbGlrZSBRdWFyayBvciBFbGtoYXJ0IExha2UsIHNvIEknZCBzYXkgdGhhdCBpcyBjb3JyZWN0LiBJdCBuZWVkcyBwaHlzaWNhbCBoYXJkd2FyZSBvciwgYXQgdGhlIHZlcnkgbGVhc3QsIHNwZWNpZmljIFNvQyBlbXVsYXRpb24uIFNpbmNlIHN5emthbGxlciBydW5zIGluIHg4Nl82NCBRRU1VLCBpdCB3b24ndCBoYXZlIHRob3NlIHBsYXRmb3JtIGRldmljZXMuIFNwZWNpZmljYWxseSwgcmVnYXJkaW5nIHRoZSBQQ0kgdmVyc2lvbiwgUUVNVSBkb2Vzbid0IGVtdWxhdGUgdGhlIEludGVsIFF1YXJrIG9yIEVsa2hhcnQgTGFrZSBTVE1NQUMgUENJIGRldmljZXMuXG5cblRoZXJlZm9yZSwgdGhlIGBzdG1tYWNgIGRyaXZlciBwcm9iZSBpcyBleHRyZW1lbHkgdW5saWtlbHkgdG8gc3VjY2VlZCwgYW5kIHRoZSBzZWxmdGVzdCBjb2RlIGluIHF1ZXN0aW9uIGlzIGxpa2VseSBuZXZlciByZWFjaGVkLiBCdXQgd2FpdCwgaXQncyB3b3J0aCBzZWVpbmcgaWYgdGhlcmUgaXMgYW55IGNoYW5jZSB0aGF0IHRoZSBkcml2ZXIgZ2V0cyBmdXp6ZWQuIEl0J3MgdGltZSB0byBjaGVjayBpZiB0aGVyZSBhcmUgYW55IGV4aXN0aW5nIHN5emJvdCBidWdzIHJlcG9ydGVkIGZvciBgc3RtbWFjYC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTcwNDAsIk91dHB1dFRva2VucyI6MTcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo1NzEsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTU6NTcuNjI0OTk5ODMyWiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNjM4MTU2OTE2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInN0bW1hY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJcXG5GdWxsIG91dHB1dCBpcyB0b28gbG9uZywgc2hvd2luZyA1MDAgb3V0IG9mIDE0MDkwIGxpbmVzLlxcblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cXG5cXG5Eb2N1bWVudGF0aW9uLy5yZW5hbWVzLnR4dD04MjM9bmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9xdWFsY29tbS9ybW5ldCBuZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2NlbGx1bGFyL3F1YWxjb21tL3JtbmV0XFxuRG9jdW1lbnRhdGlvbi8ucmVuYW1lcy50eHQ6ODI0Om5ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvc3RtaWNyby9zdG1tYWMgbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hY1xcbkRvY3VtZW50YXRpb24vLnJlbmFtZXMudHh0LTgyNS1uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL3RpL2Nwc3cgbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC90aS9jcHN3XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW43aS1hMjAtZ21hYy55YW1sPTE2PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW43aS1hMjAtZ21hYy55YW1sLTM1LSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW43aS1hMjAtZ21hYy55YW1sOjM2OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjdpLWEyMC1nbWFjLnlhbWwtMzctICAgICAgLSBjb25zdDogYWxsd2lubmVyX2dtYWNfdHhcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjdpLWEyMC1nbWFjLnlhbWw9NTQ9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW43aS1hMjAtZ21hYy55YW1sLTYxLSAgICAgICAgY2xvY2tzID0gXFx1MDAzY1xcdTAwMjZhaGJfZ2F0ZXMgNDlcXHUwMDNlLCBcXHUwMDNjXFx1MDAyNmdtYWNfdHhcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjdpLWEyMC1nbWFjLnlhbWw6NjI6ICAgICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwiYWxsd2lubmVyX2dtYWNfdHhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjdpLWEyMC1nbWFjLnlhbWwtNjMtICAgICAgICBwaHktbW9kZSA9IFxcXCJtaWlcXFwiO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw9Mjg9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTYzLSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbDo2NDogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC02NS0gICAgICAtIGNvbnN0OiBtYnVzXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbD0yNTU9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0yNjMtICAgICAgICByZXNldHMgPSBcXHUwMDNjXFx1MDAyNmNjdSAxMlxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MjY0OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0yNjUtICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNjdSAyN1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MjY2OiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0yNjctXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zMTQtICAgICAgICByZXNldHMgPSBcXHUwMDNjXFx1MDAyNmNjdSAxMlxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MzE1OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zMTYtICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNjdSAyN1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MzE3OiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zMTgtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zNjctICAgICAgICByZXNldHMgPSBcXHUwMDNjXFx1MDAyNmNjdSAxM1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MzY4OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zNjktICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNjdSAyN1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MzcwOiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zNzEtICAgICAgICBwaHktaGFuZGxlID0gXFx1MDAzY1xcdTAwMjZleHRfcmdtaWlfcGh5MVxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zOTAtICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNjdSAxMTdcXHUwMDNlLCBcXHUwMDNjXFx1MDAyNmNjdSA3OVxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MzkxOiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIiwgXFxcIm1idXNcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTM5Mi0gICAgICAgIHJlc2V0cyA9IFxcdTAwM2NcXHUwMDI2Y2N1IDQzXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbDozOTM6ICAgICAgICByZXNldC1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTM5NC0gICAgICAgIGludGVycnVwdHMgPSBcXHUwMDNjMCA0NyA0XFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTQwMi0gICAgICAgIHNucHMsZml4ZWQtYnVyc3Q7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6NDAzOiAgICAgICAgc25wcyxheGktY29uZmlnID0gXFx1MDAzY1xcdTAwMjZnbWFjMV9zdG1tYWNfYXhpX3NldHVwXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC00MDQtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sI1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbD0xMj1kZXNjcmlwdGlvbjpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTE1LSAgZmFtaWxpZXMgb2YgY2hpcHMuXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6MTY6ICAjIFRPRE86IERldGVybWluZSBob3cgdG8gaGFuZGxlIHRoZSBBcnJpYTEwIHJlc2V0LW5hbWUsIHN0bW1hY2V0aC1vY3AsIHRoYXRcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC0xNy0gICMgZG9lcyBub3QgdmFsaWRhdGUgYWdhaW5zdCBuZXQvc25wcyxkd21hYy55YW1sLlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw9MTk9c2VsZWN0Olxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtMjMtICAgICAgICBlbnVtOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjI0OiAgICAgICAgICAtIGFsdHIsc29jZnBnYS1zdG1tYWNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbDoyNTogICAgICAgICAgLSBhbHRyLHNvY2ZwZ2Etc3RtbWFjLWExMC1zMTBcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbDoyNjogICAgICAgICAgLSBhbHRyLHNvY2ZwZ2Etc3RtbWFjLWFnaWxleDVcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC0yNy1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sPTMxPXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC0zNC0gICAgICAtIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjM1OiAgICAgICAgICAtIGNvbnN0OiBhbHRyLHNvY2ZwZ2Etc3RtbWFjXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtMzYtICAgICAgICAgIC0gY29uc3Q6IHNucHMsZHdtYWMtMy43MGFcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTM4LSAgICAgIC0gaXRlbXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6Mzk6ICAgICAgICAgIC0gY29uc3Q6IGFsdHIsc29jZnBnYS1zdG1tYWMtYTEwLXMxMFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTQwLSAgICAgICAgICAtIGNvbnN0OiBzbnBzLGR3bWFjLTMuNzJhXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC00Mi0gICAgICAtIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjQzOiAgICAgICAgICAtIGNvbnN0OiBhbHRyLHNvY2ZwZ2Etc3RtbWFjLWExMC1zMTBcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC00NC0gICAgICAgICAgLSBjb25zdDogc25wcyxkd21hYy0zLjc0YVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNDYtICAgICAgLSBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbDo0NzogICAgICAgICAgLSBjb25zdDogYWx0cixzb2NmcGdhLXN0bW1hYy1hZ2lsZXg1XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNDgtICAgICAgICAgIC0gY29uc3Q6IHNucHMsZHd4Z21hYy0yLjEwXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC02MS0gICAgaXRlbXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6NjI6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNjMtICAgICAgLSBjb25zdDogcHRwX3JlZlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw9MTU4PWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtMTY2LSAgICAgICAgZXRoZXJuZXRAZmY3MDAwMDAge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjE2NzogICAgICAgICAgICBjb21wYXRpYmxlID0gXFxcImFsdHIsc29jZnBnYS1zdG1tYWNcXFwiLCBcXFwic25wcyxkd21hYy0zLjcwYVxcXCIsXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtMTY4LSAgICAgICAgICAgIFxcXCJzbnBzLGR3bWFjXFxcIjtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTE3NC0gICAgICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmVtYWNfMF9jbGtcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjE3NTogICAgICAgICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTE3Ni0gICAgICAgICAgICBwaHktbW9kZSA9IFxcXCJzZ21paVxcXCI7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FtbG9naWMsbWVzb24tZHdtYWMueWFtbD0yOT1hbGxPZjpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYW1sb2dpYyxtZXNvbi1kd21hYy55YW1sLTU0LSAgICAgICAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FtbG9naWMsbWVzb24tZHdtYWMueWFtbDo1NTogICAgICAgICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FtbG9naWMsbWVzb24tZHdtYWMueWFtbC01Ni0gICAgICAgICAgICAtIGNvbnN0OiBjbGtpbjBcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYW1sb2dpYyxtZXNvbi1kd21hYy55YW1sPTE3Mj1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYW1sb2dpYyxtZXNvbi1kd21hYy55YW1sLTE3OS0gICAgICAgIGNsb2NrcyA9IFxcdTAwM2NcXHUwMDI2Y2xrX2V0aFxcdTAwM2UsIFxcdTAwM2NcXHUwMDI2Y2xrX2ZjbGtfZGl2MlxcdTAwM2UsIFxcdTAwM2NcXHUwMDI2Y2xrX21wbGwyXFx1MDAzZSwgXFx1MDAzY1xcdTAwMjZjbGtfZmNsa19kaXYyXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FtbG9naWMsbWVzb24tZHdtYWMueWFtbDoxODA6ICAgICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwiY2xraW4wXFxcIiwgXFxcImNsa2luMVxcXCIsIFxcXCJ0aW1pbmctYWRqdXN0bWVudFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbWxvZ2ljLG1lc29uLWR3bWFjLnlhbWwtMTgxLSAgICAgICAgcGh5LW1vZGUgPSBcXFwicmdtaWlcXFwiO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0LTItXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0OjM6VGhpcyBkZXZpY2UgaXMgYSBwbGF0Zm9ybSBnbHVlIGxheWVyIGZvciBzdG1tYWMuXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0OjQ6UGxlYXNlIHNlZSBzdG1tYWMudHh0IGZvciB0aGUgb3RoZXIgdW5jaGFuZ2VkIHByb3BlcnRpZXMuXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0LTUtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FuYXJpb24tZ21hYy50eHQ9MTE9RXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FuYXJpb24tZ21hYy50eHQtMjEtXFx0XFx0Y2xvY2tzID0gXFx1MDAzY1xcdTAwMjZjb3JlX2Nsa1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0OjIyOlxcdFxcdGNsb2NrLW5hbWVzID0gXFxcInN0bW1hY2V0aFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0LTIzLVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sPTQ4PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtNzUtICAgICAgLSBjb25zdDogY2ZnXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sOjc2OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC03Ny0gICAgICAtIGNvbnN0OiB0eFxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sLTgzLSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6ODQ6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sLTg1LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sPTEzNz1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNDYtICAgICAgICAgICAgICAgIFxcdTAwM2NcXHUwMDI2ZDBfY2xvY2sgMTkzXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTQ3OiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwiYXhpXFxcIiwgXFxcImNmZ1xcXCIsIFxcXCJzdG1tYWNldGhcXFwiLCBcXFwidHhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNDgtICAgICAgICByZXNldHMgPSBcXHUwMDNjXFx1MDAyNnJlc2V0IDk1XFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTQ5OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTUwLSAgICAgICAgZXN3aW4saHNwLXNwLWNzciA9IFxcdTAwM2NcXHUwMDI2aHNwX3NwX2NzciAweDEwMCAweDEwOCAweDExOCAweDExNCAweDExY1xcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTU1LSAgICAgICAgc25wcyx0c287XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sOjE1NjogICAgICAgIHNucHMsYXhpLWNvbmZpZyA9IFxcdTAwM2NcXHUwMDI2c3RtbWFjX2F4aV9zZXR1cFxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sLTE1Ny1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTU4OiAgICAgICAgc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNTktICAgICAgICAgICAgc25wcyxibGVuID0gXFx1MDAzYzAgMCAwIDAgMTYgOCA0XFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNzItICAgICAgICAgICAgICAgIFxcdTAwM2NcXHUwMDI2ZDBfY2xvY2sgMTk0XFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTczOiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwiYXhpXFxcIiwgXFxcImNmZ1xcXCIsIFxcXCJzdG1tYWNldGhcXFwiLCBcXFwidHhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNzQtICAgICAgICByZXNldHMgPSBcXHUwMDNjXFx1MDAyNnJlc2V0IDk0XFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTc1OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTc2LSAgICAgICAgZXN3aW4saHNwLXNwLWNzciA9IFxcdTAwM2NcXHUwMDI2aHNwX3NwX2NzciAweDIwMCAweDIwOCAweDIxOCAweDIxNCAweDIxY1xcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTgxLSAgICAgICAgc25wcyx0c287XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sOjE4MjogICAgICAgIHNucHMsYXhpLWNvbmZpZyA9IFxcdTAwM2NcXHUwMDI2c3RtbWFjX2F4aV9zZXR1cF9nbWFjMVxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sLTE4My1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTg0OiAgICAgICAgc3RtbWFjX2F4aV9zZXR1cF9nbWFjMTogc3RtbWFjLWF4aS1jb25maWcge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xODUtICAgICAgICAgICAgc25wcyxibGVuID0gXFx1MDAzYzAgMCAwIDAgMTYgOCA0XFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW5nZW5pYyxtYWMueWFtbD0xNT1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sLTM2LSAgY2xvY2stbmFtZXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sOjM3OiAgICBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sLTM4LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sPTYwPWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sLTcyLSAgICAgICAgY2xvY2tzID0gXFx1MDAzY1xcdTAwMjZjZ3UgWDEwMDBfQ0xLX01BQ1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sOjczOiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2luZ2VuaWMsbWFjLnlhbWwtNzQtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbD0yND1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWwtMzktICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sOjQwOiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sLTQxLSAgICAgIC0gY29uc3Q6IHB0cF9yZWZcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sPTU3PWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWwtNjYtXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWw6Njc6ICAgIHN0bW1hY19heGlfc2V0dXA6IHN0bW1hYy1heGktY29uZmlnIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbC02OC0gICAgICAgIHNucHMsbHBpX2VuO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWwtMTE1LSAgICAgICAgdHgtZmlmby1kZXB0aCA9IFxcdTAwM2M0MDk2XFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbDoxMTY6ICAgICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwicHRwX3JlZlxcXCIsIFxcXCJ0eF9jbGtcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sLTExNy0gICAgICAgIGNsb2NrcyA9IFxcdTAwM2NcXHUwMDI2c2NtaV9jbGsgTU9WSVNPQ19LTUJfUFNTX0dCRVxcdTAwM2UsXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbC0xMjAtICAgICAgICBzbnBzLHBibCA9IFxcdTAwM2MweDRcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sOjEyMTogICAgICAgIHNucHMsYXhpLWNvbmZpZyA9IFxcdTAwM2NcXHUwMDI2c3RtbWFjX2F4aV9zZXR1cFxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWwtMTIyLSAgICAgICAgc25wcyxtdGwtcngtY29uZmlnID0gXFx1MDAzY1xcdTAwMjZtdGxfcnhfc2V0dXBcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dC0yLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQ6MzpUaGUgZGV2aWNlIGluaGVyaXRzIGFsbCB0aGUgcHJvcGVydGllcyBvZiB0aGUgZHdtYWMvc3RtbWFjIGRldmljZXNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2lwcTgwNngtZHdtYWMudHh0OjQ6ZGVzY3JpYmVkIGluIHRoZSBmaWxlIG5ldC9zdG1tYWMudHh0IHdpdGggdGhlIGZvbGxvd2luZyBjaGFuZ2VzLlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtNS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2lwcTgwNngtZHdtYWMudHh0PTY9UmVxdWlyZWQgcHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtOS1cXHQgICAgICBhbmQgYW55IGFwcGxpY2FibGUgbW9yZSBkZXRhaWxlZCB2ZXJzaW9uIG51bWJlclxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQ6MTA6XFx0ICAgICAgZGVzY3JpYmVkIGluIG5ldC9zdG1tYWMudHh0XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dC0xMS1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQ9MTg9RXhhbXBsZTpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtMzAtXFx0XFx0Y2xvY2tzID0gXFx1MDAzY1xcdTAwMjZnY2MgR01BQ19DT1JFMV9DTEtcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQ6MzE6XFx0XFx0Y2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2lwcTgwNngtZHdtYWMudHh0LTMyLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtMzMtXFx0XFx0cmVzZXRzID0gXFx1MDAzY1xcdTAwMjZnY2MgR01BQ19DT1JFMV9SRVNFVFxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dDozNDpcXHRcXHRyZXNldC1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtMzUtXFx0fTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYi1nbWFjLnlhbWw9MzQ9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYi1nbWFjLnlhbWwtNDgtICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYi1nbWFjLnlhbWw6NDk6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFiLWdtYWMueWFtbC01MC1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYi1nbWFjLnlhbWw9ODM9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWItZ21hYy55YW1sLTkyLSAgICAgICAgY2xvY2tzID0gXFx1MDAzY1xcdTAwMjZjbGtjIExTMVhfQ0xLSURfQUhCXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWItZ21hYy55YW1sOjkzOiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWItZ21hYy55YW1sLTk0LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbD0zMz1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbC00Ny0gICAgaXRlbXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbDo0ODogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWMtZW1hYy55YW1sLTQ5LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbD04Mj1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYy1lbWFjLnlhbWwtOTEtICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNsa2MgTFMxWF9DTEtJRF9BSEJcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYy1lbWFjLnlhbWw6OTI6ICAgICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYy1lbWFjLnlhbWwtOTMtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L21lZGlhdGVrLWR3bWFjLnlhbWw9MTI9ZGVzY3JpcHRpb246XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9tZWRpYXRlay1kd21hYy55YW1sOjEzOiAgVGhpcyBmaWxlIGRvY3VtZW50cyBwbGF0Zm9ybSBnbHVlIGxheWVyIGZvciBzdG1tYWMuXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9tZWRpYXRlay1kd21hYy55YW1sLTE0LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sPTI4PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWwtNDgtICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnV2b3RvbixtYTM1ZDEtZHdtYWMueWFtbDo0OTogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWwtNTAtICAgICAgLSBjb25zdDogcHRwX3JlZlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sLTY5LSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWw6NzA6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sLTcxLVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sPTEwOD1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnV2b3RvbixtYTM1ZDEtZHdtYWMueWFtbC0xMTgtICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNsayBFTUFDMF9HQVRFXFx1MDAzZSwgXFx1MDAzY1xcdTAwMjZjbGsgRVBMTF9ESVY4XFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWw6MTE5OiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIiwgXFxcInB0cF9yZWZcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnV2b3RvbixtYTM1ZDEtZHdtYWMueWFtbC0xMjAtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWwtMTIyLSAgICAgICAgcmVzZXRzID0gXFx1MDAzY1xcdTAwMjZzeXMgTUEzNUQxX1JFU0VUX0dNQUMwXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWw6MTIzOiAgICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWwtMTI0LSAgICAgICAgc25wcyxtdWx0aWNhc3QtZmlsdGVyLWJpbnMgPSBcXHUwMDNjMFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxkd21hYy1pbXgueWFtbD0yOT1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsZHdtYWMtaW14LnlhbWwtNTItICAgICAgZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxkd21hYy1pbXgueWFtbDo1MzogICAgICAgIC0gc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsZHdtYWMtaW14LnlhbWwtNTQtICAgICAgICAtIHBjbGtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGR3bWFjLWlteC55YW1sPTkzPWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsZHdtYWMtaW14LnlhbWwtMTA4LSAgICAgICAgICAgICAgICAgICAgIFxcdTAwM2NcXHUwMDI2Y2xrIElNWDhNUF9DTEtfRU5FVF9RT1NcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGR3bWFjLWlteC55YW1sOjEwOTogICAgICAgICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwicGNsa1xcXCIsIFxcXCJwdHBfcmVmXFxcIiwgXFxcInR4XFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxkd21hYy1pbXgueWFtbC0xMTAtICAgICAgICAgICAgcGh5LW1vZGUgPSBcXFwicmdtaWlcXFwiO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sPTIyPXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtMzctICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGxwYzE4NTAtZHdtYWMueWFtbDozODogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtMzktXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtNTEtICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGxwYzE4NTAtZHdtYWMueWFtbDo1MjogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtNTMtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWw9Njc9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtNzYtICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNjdTEgQ0xLX0NQVV9FVEhFUk5FVFxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sOjc3OiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtNzgtICAgICAgICByZXNldHMgPSBcXHUwMDNjXFx1MDAyNnJndSAyMlxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sOjc5OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtODAtICAgICAgICByeC1maWZvLWRlcHRoID0gXFx1MDAzYzI1NlxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxzMzItZHdtYWMueWFtbD0yMj1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsczMyLWR3bWFjLnlhbWwtNzgtICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLHMzMi1kd21hYy55YW1sOjc5OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLHMzMi1kd21hYy55YW1sLTgwLSAgICAgIC0gY29uc3Q6IHR4XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxzMzItZHdtYWMueWFtbD05Mz1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLHMzMi1kd21hYy55YW1sLTEzMi0gICAgICAgIGNsb2NrcyA9IFxcdTAwM2NcXHUwMDI2Y2xrcyAyNFxcdTAwM2UsIFxcdTAwM2NcXHUwMDI2Y2xrcyAxN1xcdTAwM2UsIFxcdTAwM2NcXHUwMDI2Y2xrcyAxNlxcdTAwM2UsIFxcdTAwM2NcXHUwMDI2Y2xrcyAxNVxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsczMyLWR3bWFjLnlhbWw6MTMzOiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIiwgXFxcInR4XFxcIiwgXFxcInJ4XFxcIiwgXFxcInB0cF9yZWZcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLHMzMi1kd21hYy55YW1sLTEzNC0gICAgICAgIHBoeS1tb2RlID0gXFxcInJnbWlpLWlkXFxcIjtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbD0yMD1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9xY29tLGV0aHFvcy55YW1sLTQxLSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWw6NDI6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9xY29tLGV0aHFvcy55YW1sLTQzLSAgICAgIC0gY29uc3Q6IHJnbWlpXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWwtNjMtICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbDo2NDogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWwtNjUtICAgICAgLSBjb25zdDogcGNsa1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9xY29tLGV0aHFvcy55YW1sPTk3PWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9xY29tLGV0aHFvcy55YW1sLTEwNi0gICAgICAgICAgICBcXHUwMDNjMHgwN2E5NjAwMCAweDEwMFxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9xY29tLGV0aHFvcy55YW1sOjEwNzogICAgICByZWctbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIiwgXFxcInJnbWlpXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWw6MTA4OiAgICAgIGNsb2NrLW5hbWVzID0gXFxcInN0bW1hY2V0aFxcXCIsIFxcXCJwY2xrXFxcIiwgXFxcInB0cF9yZWZcXFwiLCBcXFwicmdtaWlcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbC0xMDktICAgICAgY2xvY2tzID0gXFx1MDAzY1xcdTAwMjZnY2MgR0NDX0VUSF9BWElfQ0xLXFx1MDAzZSxcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyem4xLWdtYWMueWFtbD01Mj1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyem4xLWdtYWMueWFtbC02My0gICAgICBpbnRlcnJ1cHQtbmFtZXMgPSBcXFwibWFjaXJxXFxcIiwgXFxcImV0aF93YWtlX2lycVxcXCIsIFxcXCJldGhfbHBpXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnpuMS1nbWFjLnlhbWw6NjQ6ICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnpuMS1nbWFjLnlhbWwtNjUtICAgICAgY2xvY2tzID0gXFx1MDAzY1xcdTAwMjZzeXNjdHJsIFI5QTA2RzAzMl9IQ0xLX0dNQUMwXFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sPTI2PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC03My0gICAgICAtIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sOjc0OiAgICAgICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC03NS0gICAgICAgICAgLSBjb25zdDogcGNsa1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtODctICAgICAgLSBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbDo4ODogICAgICAgICAgLSBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtODktICAgICAgICAgIC0gY29uc3Q6IHBjbGtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sPTI0OT1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sLTI2MC0gICAgICAgICAgICAgICAgICBcXHUwMDNjXFx1MDAyNmNwZyBDUEdfTU9EIDB4YmJcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sOjI2MTogICAgICAgIGNsb2NrLW5hbWVzID0gXFxcInN0bW1hY2V0aFxcXCIsIFxcXCJwY2xrXFxcIiwgXFxcInB0cF9yZWZcXFwiLFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sLTI2Mi0gICAgICAgICAgICAgICAgICAgICAgXFxcInR4XFxcIiwgXFxcInJ4XFxcIiwgXFxcInR4LTE4MFxcXCIsIFxcXCJyeC0xODBcXFwiO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtMjg1LSAgICAgICAgc25wcyxmb3JjZV90aHJlc2hfZG1hX21vZGU7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWw6Mjg2OiAgICAgICAgc25wcyxheGktY29uZmlnID0gXFx1MDAzY1xcdTAwMjZzdG1tYWNfYXhpX3NldHVwXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC0yODctICAgICAgICBzbnBzLG10bC1yeC1jb25maWcgPSBcXHUwMDNjXFx1MDAyNm10bF9yeF9zZXR1cFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC0yOTItXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWw6MjkzOiAgICAgICAgc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sLTI5NC0gICAgICAgICAgICBzbnBzLGxwaV9lbjtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbD0zNz1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sLTc4LSAgICAgIGVudW06XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sOjc5OiAgICAgICAgLSBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWwtODAtICAgICAgICAtIG1hY19jbGtfdHhcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbD0xNjQ9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWwtMTc3LSAgICAgICAgICAgICAgICAgXFx1MDAzY1xcdTAwMjZjcnUgQUNMS19HTUFDXFx1MDAzZSwgXFx1MDAzY1xcdTAwMjZjcnUgUENMS19HTUFDXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWw6MTc4OiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIixcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWwtMTc5LSAgICAgICAgICAgICAgICAgICAgICBcXFwibWFjX2Nsa19yeFxcXCIsIFxcXCJtYWNfY2xrX3R4XFxcIixcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd2MtcW9zLWV0aGVybmV0LnR4dD0zPVRoaXMgYmluZGluZyBpcyBkZXByZWNhdGVkLCBidXQgaXQgY29udGludWVzIHRvIGJlIHN1cHBvcnRlZCwgYnV0IG5ld1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd2MtcW9zLWV0aGVybmV0LnR4dDo0OmZlYXR1cmVzIHNob3VsZCBiZSBwcmVmZXJhYmx5IGFkZGVkIHRvIHRoZSBzdG1tYWMgYmluZGluZyBkb2N1bWVudC5cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdjLXFvcy1ldGhlcm5ldC50eHQtNS1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sPTQ2PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC0xNjgtICAgICAgZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDoxNjk6ICAgICAgICAtIHN0bW1hY2V0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTE3MC0gICAgICAgIC0gcGNsa1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtMTc1LSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDoxNzY6ICAgICAgLSBkZXNjcmlwdGlvbjogR01BQyBzdG1tYWNldGggcmVzZXRcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC0xNzctICAgICAgLSBkZXNjcmlwdGlvbjogQUhCIHJlc2V0XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC0xODEtICAgICAgLSBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDoxODI6ICAgICAgICAgIC0gZW51bTogW3N0bW1hY2V0aCwgYWhiXVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTE4My0gICAgICAtIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sOjE4NDogICAgICAgICAgLSBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtMTg1LSAgICAgICAgICAtIGNvbnN0OiBhaGJcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTU2MC1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDo1NjE6ICBzdG1tYWMtYXhpLWNvbmZpZzpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC01NjItICAgIHR5cGU6IG9iamVjdFxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWw9NjU0PWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtNjY5LSAgICAgICAgY2xvY2tzID0gXFx1MDAzY1xcdTAwMjZjbG9ja1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWw6NjcwOiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDo2NzE6ICAgICAgICBzbnBzLGF4aS1jb25maWcgPSBcXHUwMDNjXFx1MDAyNnN0bW1hY19heGlfc2V0dXBcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTY3Mi0gICAgICAgIHNucHMsbXRsLXJ4LWNvbmZpZyA9IFxcdTAwM2NcXHUwMDI2bXRsX3J4X3NldHVwXFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTY3NC1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDo2NzU6ICAgICAgICBzdG1tYWNfYXhpX3NldHVwOiBzdG1tYWMtYXhpLWNvbmZpZyB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtNjc2LSAgICAgICAgICAgIHNucHMsd3Jfb3NyX2xtdCA9IFxcdTAwM2MweGZcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sPTIxPXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWwtMzYtICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbDozNzogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWwtMzgtICAgICAgLSBjb25zdDogcHRwX3JlZlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTQ5LSAgcmVzZXQtbmFtZXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sOjUwOiAgICBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTUxLVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sPTY3PWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTc0LSAgICAgIGNsb2NrcyA9IFxcdTAwM2NcXHUwMDI2Y2xrIDM1XFx1MDAzZSwgXFx1MDAzY1xcdTAwMjZjbGsgMzZcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbDo3NTogICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwicHRwX3JlZlxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTc2LSAgICAgIGludGVycnVwdHMgPSBcXHUwMDNjMzEgSVJRX1RZUEVfTEVWRUxfSElHSFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWwtODAtICAgICAgcmVzZXRzID0gXFx1MDAzY1xcdTAwMjZyc3QgMTJcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbDo4MTogICAgICByZXNldC1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbC04Mi0gICAgICByeC1maWZvLWRlcHRoID0gXFx1MDAzYzgxOTJcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTkwLSAgICAgIHNucHMsbXRsLXR4LWNvbmZpZyA9IFxcdTAwM2NcXHUwMDI2Z21hYzBfbXRsX3R4X3NldHVwXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWw6OTE6ICAgICAgc25wcyxheGktY29uZmlnID0gXFx1MDAzY1xcdTAwMjZnbWFjMF9zdG1tYWNfYXhpX3NldHVwXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWwtOTItXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWwtMTA4LVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbDoxMDk6ICAgICAgZ21hYzBfc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbC0xMTAtICAgICAgICBzbnBzLGJsZW4gPSBcXHUwMDNjMTYgOCA0IDAgMCAwIDBcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWw9MjI9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTQyLSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDo0MzogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbC00NC0gICAgICAtIGNvbnN0OiBwdHBfcmVmXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbC01OC0gIHJlc2V0LW5hbWVzOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sOjU5OiAgICBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtNjAtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbD05NT1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTEwMi0gICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNsayAxNTFcXHUwMDNlLCBcXHUwMDNjXFx1MDAyNmNsayAxNTJcXHUwMDNlLCBcXHUwMDNjXFx1MDAyNmNsayAxNTRcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sOjEwMzogICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwicHRwX3JlZlxcXCIsIFxcXCJ0eFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtMTA0LSAgICAgIGludGVycnVwdC1wYXJlbnQgPSBcXHUwMDNjXFx1MDAyNmludGNcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtMTA5LSAgICAgIHJlc2V0cyA9IFxcdTAwM2NcXHUwMDI2cnN0IDMwXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDoxMTA6ICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbC0xMTEtICAgICAgc25wcyxtdWx0aWNhc3QtZmlsdGVyLWJpbnMgPSBcXHUwMDNjMFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbC0xMTgtICAgICAgc25wcyxtdGwtdHgtY29uZmlnID0gXFx1MDAzY1xcdTAwMjZnbWFjMF9tdGxfdHhfc2V0dXBcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sOjExOTogICAgICBzbnBzLGF4aS1jb25maWcgPSBcXHUwMDNjXFx1MDAyNmdtYWMwX3N0bW1hY19heGlfc2V0dXBcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTEyMC1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTE0NS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDoxNDY6ICAgICAgZ21hYzBfc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTE0Ny0gICAgICAgIHNucHMsYmxlbiA9IFxcdTAwM2MxNiA4IDQgMCAwIDAgMFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWw9MjA9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbC0zNi0gICAgaXRlbXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sOjM3OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbC0zOC0gICAgICAtIGNvbnN0OiBwdHBfcmVmXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWwtNTYtICByZXNldC1uYW1lczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWw6NTc6ICAgIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWwtNTgtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWw9ODU9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWwtOTMtICAgICAgICAgICAgICAgXFx1MDAzY1xcdTAwMjZzeXNjb25fYXBtdSA2OVxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sOjk0OiAgICAgIGNsb2NrLW5hbWVzID0gXFxcInN0bW1hY2V0aFxcXCIsIFxcXCJwdHBfcmVmXFxcIiwgXFxcInR4XFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWwtOTUtICAgICAgaW50ZXJydXB0cyA9IFxcdTAwM2MxMzEgSVJRX1RZUEVfTEVWRUxfSElHSFxcdTAwM2UsIFxcdTAwM2MyNzYgSVJRX1RZUEVfTEVWRUxfSElHSFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWwtOTktICAgICAgcmVzZXRzID0gXFx1MDAzY1xcdTAwMjZzeXNjb25fYXBtdSA2N1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sOjEwMDogICAgICByZXNldC1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbC0xMDEtICAgICAgc3BhY2VtaXQsYXBtdSA9IFxcdTAwM2NcXHUwMDI2c3lzY29uX2FwbXUgMHgzODQgMHgzOGNcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbD0yND1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC01My0gICAgaXRlbXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbDo1NDogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sLTU1LSAgICAgIC0gY29uc3Q6IHBjbGtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWw9ODg9YWxsT2Y6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sLTEzNC0gICAgICAgICAgcmVzZXQtbmFtZXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbDoxMzU6ICAgICAgICAgICAgY29uc3Q6IHN0bW1hY2V0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTM2LSAgICAgIGVsc2U6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sPTE1ND1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTYwLSAgICAgICAgICAgICAgICAgXFx1MDAzY1xcdTAwMjZjbGsgNlxcdTAwM2UsIFxcdTAwM2NcXHUwMDI2Y2xrIDExMVxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbDoxNjE6ICAgICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwicGNsa1xcXCIsIFxcXCJwdHBfcmVmXFxcIixcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sLTE2Mi0gICAgICAgICAgICAgICAgICAgICAgXFxcInR4XFxcIiwgXFxcImd0eFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC0xNjMtICAgICAgICByZXNldHMgPSBcXHUwMDNjXFx1MDAyNnJzdCAxXFx1MDAzZSwgXFx1MDAzY1xcdTAwMjZyc3QgMlxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbDoxNjQ6ICAgICAgICByZXNldC1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwiYWhiXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sLTE2NS0gICAgICAgIGludGVycnVwdHMgPSBcXHUwMDNjN1xcdTAwM2UsIFxcdTAwM2M2XFx1MDAzZSwgXFx1MDAzYzVcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC0xNzUtICAgICAgICBzbnBzLGZvcmNlX3RocmVzaF9kbWFfbW9kZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sOjE3NjogICAgICAgIHNucHMsYXhpLWNvbmZpZyA9IFxcdTAwM2NcXHUwMDI2c3RtbWFjX2F4aV9zZXR1cFxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC0xNzctICAgICAgICBzbnBzLGVuLXR4LWxwaS1jbG9ja2dhdGluZztcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTkyLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWw6MTkzOiAgICAgICAgc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTk0LSAgICAgICAgICAgIHNucHMsbHBpX2VuO1xcblxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yOFQwMDo1NjowMC4yNjMxNjI2NzhaIiwiU2VxIjoxMywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzcxMzc1NDk1MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipJbnZlc3RpZ2F0aW5nIFN5emthbGxlcidzIENvdmVyYWdlIG9mIGBzdG1tYWNgKipcblxuT2theSwgbXkgaW5pdGlhbCBvYnNlcnZhdGlvbiBpcyB0aGF0IEknbSBzZWVpbmcgYHN0bW1hY2AgbWVudGlvbmVkIHdpdGhpbiBkZXZpY2UgdHJlZSBiaW5kaW5ncy4gVGhhdCBpbW1lZGlhdGVseSBtYWtlcyBtZSB0aGluayBvZiBpdHMgcHJldmFsZW5jZSBpbiB0aGUgQVJNIGFuZCBSSVNDLVYgU3lzdGVtLW9uLUNoaXBzIGxhbmRzY2FwZS4gSXQncyBhIGNvbW1vbiBFdGhlcm5ldCBNQUMgZHJpdmVyLCBzbyBpdHMgd2lkZXNwcmVhZCB1c2UgbWFrZXMgaXQgYW4gaW50ZXJlc3RpbmcgdGFyZ2V0LlxuXG5NeSBuZXh0IGxpbmUgb2YgdGhvdWdodDogaXMgc3l6a2FsbGVyIGFscmVhZHkgZnV6emluZyB0aGlzIHBhcnRpY3VsYXIgZHJpdmVyPyBUaGF0J3MgdGhlIGNydXggb2YgdGhlIG1hdHRlci4gTXkgZ29hbCBpcyB0byBkZXRlcm1pbmUgdGhlIGN1cnJlbnQgc3RhdGUgb2Ygc3l6a2FsbGVyJ3MgdGVzdGluZyBlZmZvcnRzIGFnYWluc3QgaXQuXG5cblRoZXJlZm9yZSwgbXkgaW1tZWRpYXRlIGFjdGlvbiBpcyB0byBzZWFyY2ggZm9yIGFueSBleGlzdGluZyBzeXpib3QgcmVwb3J0cyByZWxhdGVkIHRvIGBzdG1tYWNgLiBUaGlzIHdpbGwgZ2l2ZSBtZSBhIHF1aWNrIHVuZGVyc3RhbmRpbmcgb2Ygd2hldGhlciBpdCdzIGFscmVhZHkgb24gc3l6a2FsbGVyJ3MgcmFkYXIsIHdoZXRoZXIgaXQncyB5aWVsZGluZyBhbnkgaW50ZXJlc3RpbmcgY3Jhc2hlcyBvciBidWdzLCBhbmQgaWYgbm90LCB3aGVyZSBJIG1pZ2h0IG5lZWQgdG8gZm9jdXMgbXkgb3duIGZ1enppbmcgZWZmb3J0cy4gSSBuZWVkIHRoYXQgYmFzZWxpbmUgaW5mb3JtYXRpb24uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjMyMTI4LCJPdXRwdXRUb2tlbnMiOjIxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NTgsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTY6MDMuOTc2OTIwMzE4WiIsIlNlcSI6MTQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMTEzNDYwMTc1LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJzeXpib3QuKnN0bW1hY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTY6MDcuMDkwMzg1NzczWiIsIlNlcSI6MTUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI4ODc4MDY2MzAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBzdW1tYXJ5LCBmcmFtZWQgYXMgbXkgaW50ZXJuYWwgdGhvdWdodCBwcm9jZXNzOlxuXG4qKlN5emJvdCBSZXBvcnQgQ2hlY2sgZm9yIGR3bWFjKipcblxuQWxyaWdodCwgdGltZSB0byBnZXQgc3RhcnRlZC4gTXkgaW5pdGlhbCBmb2N1cyBpcyBnb2luZyB0byBiZSBvbiB0aGUgYGR3bWFjYCBkcml2ZXIuIFNwZWNpZmljYWxseSwgSSBuZWVkIHRvIGNoZWNrIGZvciBhbnkgcmVjZW50IHN5emJvdCByZXBvcnRzIHJlbGF0ZWQgdG8gaXQuIFRoYXQncyBhbHdheXMgYSBnb29kIHN0YXJ0aW5nIHBvaW50IHRvIGlkZW50aWZ5IGFueSBwb3RlbnRpYWwgbmV3IHJlZ3Jlc3Npb25zIG9yIGx1cmtpbmcgYnVncyB0aGF0IG1pZ2h0IG5lZWQgYXR0ZW50aW9uLiBBIHF1aWNrIHNjYW4gb2Ygc3l6Ym90J3MgZGF0YWJhc2UgZm9yIGBkd21hY2AgcmVwb3J0cyB3aWxsIGdpdmUgbWUgYSBnb29kIGJhc2VsaW5lLiBJJ20gZXhwZWN0aW5nIHRoaXMgdG8gZWl0aGVyIGJlIGEgcXVpY2sgeWVzL25vLCBpZiBzb21ldGhpbmcgb2J2aW91cyBwb3BzIHVwLCBvciB3aWxsIHJlcXVpcmUgYSBkZWVwZXIgZGl2ZSBpZiB0aGVyZSBhcmUgcmVwb3J0cy4gTGV0J3Mgc2VlIHdoYXQgdGhlIGF1dG9tYXRlZCBzeXN0ZW1zIGhhdmUgZm91bmQgZm9yIG1lIVxuXG5cbiIsIklucHV0VG9rZW5zIjozMjQyNiwiT3V0cHV0VG9rZW5zIjoyMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU2OjA5Ljk3ODE5NjQyM1oiLCJTZXEiOjE2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzYzODQ3NDMyMiwiRXJyb3IiOiJubyBtYXRjaGVzIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwic3l6Ym90Lipkd21hY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTY6MTMuNjE2Njg0NDI1WiIsIlNlcSI6MTcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI5MDE0ODk1MzksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSB0aG91Z2h0IHByb2Nlc3MsIHN1bW1hcml6ZWQgYXMgeW91IHJlcXVlc3RlZDpcblxuKipDaGVja2luZyBmb3IgUGh5bGluayBTeXpib3QgUmVwb3J0cyoqXG5cbk9rYXksIHRpbWUgdG8gc2VlIHdoYXQncyBicmV3aW5nIGluIHRoZSB3b3JsZCBvZiBgcGh5bGlua2AgYW5kIHN5emJvdC4gSSBuZWVkIHRvIHF1aWNrbHkgc2NhbiBmb3IgYW55IHJlY2VudCByZXBvcnRzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IHN1YnN5c3RlbS4gVGhpcyBpcyBhIGNydWNpYWwgZmlyc3Qgc3RlcCBpbiBteSB3b3JrZmxvdy4gU3l6Ym90IGlzIGludmFsdWFibGUgZm9yIGlkZW50aWZ5aW5nIHJlZ3Jlc3Npb25zIGFuZCBpc3N1ZXMgYmVmb3JlIHRoZXkgYmVjb21lIHdpZGVzcHJlYWQuIEkgbmVlZCB0byBxdWlja2x5IGFzc2VzcyBpZiB0aGVyZSBhcmUgYW55IG5ldywgcG90ZW50aWFsbHkgY3JpdGljYWwsIGZhaWx1cmVzIHBvcHBpbmcgdXAuIFRoZSBzdGF0dXMgb2YgdGhpcyBzdWJzeXN0ZW0gaXMgaW1wb3J0YW50IGZvciBzdGFiaWxpdHksIGVzcGVjaWFsbHkgYXMgbW9yZSBhZHZhbmNlZCBuZXR3b3JraW5nIHNvbHV0aW9ucyBhcmUgYnVpbHQgb24gaXQuIEkgbmVlZCB0byBrbm93IHdoZXJlIEkgc2hvdWxkIHByaW9yaXRpemUgbXkgZWZmb3J0cy4gTGV0J3MgZ2V0IHRvIGl0LlxuXG5cbiIsIklucHV0VG9rZW5zIjozMjYzMywiT3V0cHV0VG9rZW5zIjoyMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU2OjE2LjUxODE3Njc2NVoiLCJTZXEiOjE4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzA3OTM4NjEwNiwiRXJyb3IiOiJubyBtYXRjaGVzIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwic3l6Ym90LipwaHlsaW5rXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcImVycm9yXCI6IFwibm8gbWF0Y2hlc1wiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yOFQwMDo1NjoxOS41OTc1NzExNVoiLCJTZXEiOjE5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMDMzMTA0NDMzMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgU3l6a2FsbGVyJ3MgUG90ZW50aWFsIGZvciBUZXN0aW5nIGEgUEhZIExvb3BiYWNrIFBhdGNoKipcblxuT2theSwgZmlyc3QgdGhpbmdzIGZpcnN0LCB0aGUgY29tbWl0IGF1dGhvciBpcyBgc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VgLiAgVGhhdCdzIG15IHN0YXJ0aW5nIHBvaW50LiBUaGlzIHBhdGNoIHdhcyB0ZXN0ZWQgYnkgc3l6a2FsbGVyLiAgQnV0LCBJIGhhdmUgdG8gYXNrIG15c2VsZiwgaXMgdGhlIGNvZGUgYWN0dWFsbHkgYmVpbmcgaGl0IGJ5IHRoZSBmdXp6ZXI/XG5cblRoZSBwYXRjaCBhZGRzIGBwaHlsaW5rX3Bjc19sb29wYmFja2AgYW5kIGBkd21hY19pbnRlZ3JhdGVkX3Bjc19sb29wYmFja2AuIE15IGltbWVkaWF0ZSBjb25jZXJuIGlzIHdoZXRoZXIgc3l6a2FsbGVyICpjYW4qIGV2ZW4gcmVhY2ggdGhpcyBjb2RlIHBhdGguIElmIHRoZSBgc3RtbWFjYCBkcml2ZXIsIHdoaWNoIHNlZW1zIHJlbGF0ZWQsIGlzbid0IHJlYWNoYWJsZSwgdGhlbiB0aGlzIGlzIGFsbCBgV29ydGhGdXp6aW5nPWZhbHNlYC5cblxuTm93LCBJIHNlZW0gdG8gcmVtZW1iZXIgYHN0bW1hY2AgaGFzIGEgUENJIGRyaXZlci4gVGhlIHF1ZXN0aW9uIHRoZW4gYmVjb21lcywgZG9lcyBzeXprYWxsZXIgaGF2ZSBhIHdheSB0byBwcm9iZSBpdD8gRG9lcyBpdCBoYXZlIHNvbWUgYHN5el9wY2lfc2V0dXBgIGNhbGwgSSdtIG1pc3Npbmc/IE5vcGUuIEFoLCB3YWl0LCBpc24ndCB0aGVyZSBzb21ldGhpbmcgYWJvdXQgZnV6emluZyBQQ0kgZGV2aWNlcz8gWWVzISBPaywgZ29vZC5cblxuVGhlIG5leHQgc3RlcCBpcyB0byBjaGVjayBpZiBgc3RtbWFjX3BjaWAgaXMgY29tcGlsZWQgaW50byBzeXprYWxsZXIncyBkZWZhdWx0IGNvbmZpZ3VyYXRpb24uIEkgY2FuJ3QgbG9vayBhdCBzeXprYWxsZXIncyBjb25maWcgZGlyZWN0bHksIGJ1dCBJIGNhbiBjaGVjayBmb3IgcmVhY2hhYmlsaXR5LlxuXG5JZiBgc3RtbWFjX3BjaWAgKmlzKiBwcm9iZWQsIGl0J2xsIGNhbGwgYHN0bW1hY19wY2lfcHJvYmVgLCB3aGljaCBjYWxscyBgc3RtbWFjX2R2cl9wcm9iZWAuICBBbmQgdGhlbiwgaWYgdGhlIHVzZXIgcnVucyBgZXRodG9vbCAtdGAsIGl0IHdpbGwgY2FsbCBgc3RtbWFjX3NlbGZ0ZXN0X3J1bmAsIHdoaWNoIGNhbGxzIGBzdG1tYWNfdGVzdF9waHlfbG9vcGJhY2tgLiBJZiBubyBleHRlcm5hbCBQSFkgaXMgcHJlc2VudCwgaXQgd2lsbCBjYWxsIGBwaHlsaW5rX3Bjc19sb29wYmFjayhzdG1tYWNfc2VsZnRlc3RfZ2V0X3Bjcyhwcml2KSwgdHJ1ZSlgLiAgVGhpcyBsZWFkcyB0byBgcGNzLVx1MDAzZW9wcy1cdTAwM2VwY3NfbG9vcGJhY2socGNzLCBlbmFibGUpYCwgd2hpY2ggaXMgYGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrYC4gIFNvLCB0aGUgY3JpdGljYWwgcXVlc3Rpb24gaXM6IGlzIGl0IHBvc3NpYmxlIHRvIHJlYWNoIHRoZSBgc3RtbWFjX3Rlc3RfcGh5X2xvb3BiYWNrYCAqd2l0aG91dCogcGh5c2ljYWwgaGFyZHdhcmU/XG5cbkknbSB0aGlua2luZywgaWYgc3l6a2FsbGVyIGNhbiBpbmplY3QgYSBQQ0kgZGV2aWNlIHdpdGggdGhlIHZlbmRvciBJRCBgUENJX0RFVklDRV9JRF9TVE1NQUNfU1RNTUFDYCAoMHgxMTA4KSwgdGhlIGRyaXZlciAqc2hvdWxkKiBwcm9iZS4gQnV0IGhlcmUncyB0aGUga2lja2VyOiBUaGUgZHJpdmVyIGRvZXMgTU1JTyByZWFkcyBhbmQgd3JpdGVzLlxuXG5Mb29raW5nIGF0IGBzdG1tYWNfcGNpX3Byb2JlYCwgZm9yIGV4YW1wbGU6XG5gYGBjXG5wY2ltX2lvbWFwX3JlZ2lvbnMocGRldiwgQklUKDApLCBwY2lfbmFtZShwZGV2KSlcbnBsYXQtXHUwMDNlYnNwX3ByaXYgPSBwZGV2O1xuc3RtbWFjX2R2cl9wcm9iZShcdTAwMjZwZGV2LVx1MDAzZWRldiwgcGxhdCwgXHUwMDI2cmVzKTtcbmBgYFxuXG5BbmQgaW4gYHN0bW1hY19kdnJfcHJvYmVgOlxuYGBgY1xucHJpdi1cdTAwM2Vpb2FkZHIgPSByZXMtXHUwMDNlYWRkcjtcbmBgYFxuXG5UaGlzIHJlYWRzIGZyb20gYHByaXYtXHUwMDNlaW9hZGRyYC4gSWYgdGhhdCBNTUlPIG1lbW9yeSBpcyBqdXN0IGR1bW15IGRhdGEgKGFsbCAwcywgYWxsIDFzKSwgdGhlIGRyaXZlciAqbWlnaHQqIGZhaWwgdG8gcHJvYmUsIG9yIGl0IG1pZ2h0IHN1Y2NlZWQgaWYgaXQncyBub3Qgc3VwZXIgc3RyaWN0IGFib3V0IHRoZSByZWFkIHZhbHVlcy5cblxuSGFuZyBvbuKApiAgYHN0bW1hY19kdnJfcHJvYmVgICphbHNvKiBjYWxscyBgc3RtbWFjX2h3X3NldHVwYCwgYW5kICp0aGF0KiByZWFkcyB0aGUgTUFDIHZlcnNpb246XG5cbmBgYGNcbnByaXYtXHUwMDNlc3lub3BzeXNfaWQgPSBzdG1tYWNfZ2V0X21hY192ZXJzaW9uKHByaXYsIHByaXYtXHUwMDNlaW9hZGRyKTtcbmBgYFxuXG5JZiBpdCByZWFkcyAwIG9yIDB4ZmZmZmZmZmYsIGl0IG1pZ2h0IGZhaWwgdG8gY29ycmVjdGx5IGlkZW50aWZ5IHRoZSBNQUMgYW5kIHJldHVybiBhbiBlcnJvci4gTm93LCBsZXQncyBsb29rIGF0IGBzdG1tYWNfZ2V0X21hY192ZXJzaW9uYCB0byBzZWUuLi5cblxuXG4iLCJJbnB1dFRva2VucyI6MzI4MjcsIk91dHB1dFRva2VucyI6MjMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3MDksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTY6MjkuOTI4NjE4NjJaIiwiU2VxIjoyMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMwMDAwNzM2NDcsIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInN0bW1hY19nZXRfbWFjX3ZlcnNpb25cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiZXJyb3JcIjogXCJubyBtYXRjaGVzXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU2OjMyLjkyODcwNDIyN1oiLCJTZXEiOjIxLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MjEwNDM5Njk4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aG9zZSB0aG91Z2h0cyBmcm9tIGEgZmlyc3QtcGVyc29uLCBleHBlcnQgcGVyc3BlY3RpdmUsIGFpbWluZyBmb3IgYSBmdWxzb21lIHJlbmRlcmluZzpcblxuKipJbnRlcm5hbCBJbnZlc3RpZ2F0aW9uIC0gUXVlcnkgRm9ybXVsYXRpb24qKlxuXG5BbHJpZ2h0LCB0aW1lIHRvIGdldCB0byB3b3JrLiBGaXJzdCB0aGluZydzIGZpcnN0OiB3aGF0J3MgdGhlIG1vc3QgbGlrZWx5IGF2ZW51ZSB0byB1bmNvdmVyIHRoZSBpbmZvcm1hdGlvbiBJIG5lZWQ/IEknbSB0aGlua2luZyBJJ2xsIHN0YXJ0IHdpdGggdGhlIG1vc3Qgc3BlY2lmaWMgaWRlbnRpZmllcnMgdGhhdCBtaWdodCBiZSBhdmFpbGFibGUgdG8gbWUuIEkgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyB0byB0cmFjayBkb3duIHRoaXMgY3J1Y2lhbCBkYXRhLiBMZXQgbWUgYmVnaW4gYnkgc2VhcmNoaW5nIGZvciBzb21lIHBvdGVudGlhbCBrZXlzLiBJJ2xsIGZvY3VzIG9uIHRlcm1zIHJlbGF0ZWQgdG8gdGhlIHN5c3RlbSBpbiBxdWVzdGlvbiwgcGVyaGFwcyBJIGNhbiB1c2UgYG1hY192ZXJzaW9uYCB0byBzdGFydC4gVGhhdCBzaG91bGQgcHJvdmlkZSBzb21lIGluZm9ybWF0aW9uIHRvIGFsbG93IG1lIHRvIHRyYWNrIGl0IGRvd24uIElmIHRoYXQgZG9lc24ndCB5aWVsZCBhbnl0aGluZyBpbW1lZGlhdGVseSBwcm9taXNpbmcsIEknbGwgbmVlZCB0byBicm9hZGVuIG15IHNlYXJjaCBhbmQgdHJ5IHNvbWV0aGluZyBtb3JlIGdlbmVyYWwsIGJ1dCBzdGlsbCByZWxldmFudC4gUGVyaGFwcyBgc3lub3BzeXNfaWRgIHdvdWxkIGJlIG1vcmUgdW5pdmVyc2FsLiBJJ2xsIHRyeSB0aGF0IGlmIHRoZSBmaXJzdCBhcHByb2FjaCBoaXRzIGEgZGVhZCBlbmQuIE9rYXksIGxldCdzIHNlZSB3aGF0IHRoZXNlIHF1ZXJpZXMgdHVybiB1cCBhbmQgSSBjYW4gZGV0ZXJtaW5lIHdoYXQgc3RlcHMgSSBuZWVkIHRvIHRha2UgdG8gZ2FpbiB0aGUgaW5mb3JtYXRpb24uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM0MzcxLCJPdXRwdXRUb2tlbnMiOjE5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTgsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTY6MzcuMTM5MTQ3MjM1WiIsIlNlcSI6MjIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNjk5NDM4NDg1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInN5bm9wc3lzX2lkXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM9MzA2PXN0YXRpYyBpbnQgbG9vbmdzb25fZHdtYWNfc2V0dXAodm9pZCAqYXByaXYsIHN0cnVjdCBtYWNfZGV2aWNlX2luZm8gKm1hYylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtMzI4LVxcdGlmIChsZC1cXHUwMDNlbXVsdGljaGFuKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYzozMjk6XFx0XFx0cHJpdi1cXHUwMDNlc3lub3BzeXNfaWQgPSBEV01BQ19DT1JFXzNfNzA7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy0zMzAtXFx0XFx0KmRtYSA9IGR3bWFjMTAwMF9kbWFfb3BzO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuOGkuYz0xMDQzPXN0YXRpYyBpbnQgc3VuOGlfZHdtYWNfc2V0dXAodm9pZCAqcHByaXYsIHN0cnVjdCBtYWNfZGV2aWNlX2luZm8gKm1hYylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmMtMTA3MS1cXHQvKiBTeW5vcHN5cyBJZCBpcyBub3QgYXZhaWxhYmxlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuOGkuYzoxMDcyOlxcdHByaXYtXFx1MDAzZXN5bm9wc3lzX2lkID0gMDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44aS5jLTEwNzMtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd3hnbWFjMl9kbWEuYz0zNTI9c3RhdGljIGludCBkd3hnbWFjMl9nZXRfaHdfZmVhdHVyZSh2b2lkIF9faW9tZW0gKmlvYWRkcixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3eGdtYWMyX2RtYS5jLTM4Mi1cXHRkbWFfY2FwLVxcdTAwM2VtYnBzXzEwMDAgPSAoaHdfY2FwIFxcdTAwMjYgWEdNQUNfSFdGRUFUX0dNSUlTRUwpIFxcdTAwM2VcXHUwMDNlIDE7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJfZG1hLmM6MzgzOlxcdGlmIChkbWFfY2FwLVxcdTAwM2VtYnBzXzEwMDAgXFx1MDAyNlxcdTAwMjYgcHJpdi1cXHUwMDNlc3lub3BzeXNfaWQgXFx1MDAzZT0gRFdYR01BQ19DT1JFXzJfMjApXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJfZG1hLmMtMzg0LVxcdFxcdGRtYV9jYXAtXFx1MDAzZW1icHNfMTBfMTAwID0gMTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYz02OT1zdGF0aWMgaW50IHN0bW1hY19kd21hYzFfcXVpcmtzKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy03Ni1cXHRcXHQvKiBHTUFDIG9sZGVyIHRoYW4gMy41MCBoYXMgbm8gZXh0ZW5kZWQgZGVzY3JpcHRvcnMgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmM6Nzc6XFx0XFx0aWYgKHByaXYtXFx1MDAzZXN5bm9wc3lzX2lkIFxcdTAwM2U9IERXTUFDX0NPUkVfM181MCkge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy03OC1cXHRcXHRcXHRkZXZfaW5mbyhwcml2LVxcdTAwM2VkZXZpY2UsIFxcXCJFbmFibGVkIGV4dGVuZGVkIGRlc2NyaXB0b3JzXFxcXG5cXFwiKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYz0yOTQ9c3RtbWFjX2h3aWZfZmluZChlbnVtIGR3bWFjX2NvcmVfdHlwZSBjb3JlX3R5cGUsIHU4IHNucHN2ZXIsIHU4IGRldl9pZClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy0zMDMtXFx0XFx0XFx0Y29udGludWU7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jOjMwNDpcXHRcXHQvKiBVc2Ugc3lub3BzeXNfaWQgdmFyIGJlY2F1c2Ugc29tZSBzZXR1cHMgY2FuIG92ZXJyaWRlIHRoaXMgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmMtMzA1LVxcdFxcdGlmIChzbnBzdmVyIFxcdTAwM2MgZW50cnktXFx1MDAzZW1pbl9pZClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYz0zMTc9aW50IHN0bW1hY19od2lmX2luaXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jLTMyOC1cXHQvKiBTYXZlIElEIGZvciBsYXRlciB1c2UgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmM6MzI5OlxcdHByaXYtXFx1MDAzZXN5bm9wc3lzX2lkID0gdmVyc2lvbi5zbnBzdmVyO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy0zMzAtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmMtMzU5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYzozNjA6XFx0LyogVXNlIHN5bm9wc3lzX2lkIHZhciBiZWNhdXNlIHNvbWUgc2V0dXBzIGNhbiBvdmVycmlkZSB0aGlzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jOjM2MTpcXHRlbnRyeSA9IHN0bW1hY19od2lmX2ZpbmQoY29yZV90eXBlLCBwcml2LVxcdTAwM2VzeW5vcHN5c19pZCwgdmVyc2lvbi5kZXZfaWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy0zNjItXFx0aWYgKCFlbnRyeSkge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmg9MjYxPXN0cnVjdCBzdG1tYWNfcHJpdiB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWMuaC0zMDYtXFx0aW50IGh3X2NhcF9zdXBwb3J0O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hYy5oOjMwNzpcXHRpbnQgc3lub3BzeXNfaWQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmgtMzA4LVxcdHUzMiBtc2dfZW5hYmxlO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2V0aHRvb2wuYz01MTU9c3RhdGljIHZvaWQgc3RtbWFjX2dldF9ldGh0b29sX3N0YXRzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfZXRodG9vbC5jLTU1NS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfZXRodG9vbC5jOjU1NjpcXHRcXHRpZiAocHJpdi1cXHUwMDNlc3lub3BzeXNfaWQgXFx1MDAzZT0gRFdNQUNfQ09SRV8zXzUwKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19ldGh0b29sLmMtNTU3LVxcdFxcdFxcdHN0bW1hY19tYWNfZGVidWcocHJpdiwgcHJpdi1cXHUwMDNlaW9hZGRyLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYz02NDI9c3RhdGljIGludCBzdG1tYWNfaHd0c3RhbXBfc2V0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc1Ny1cXHRcXHRcXHRzbmFwX3R5cGVfc2VsID0gUFRQX1RDUl9TTkFQVFlQU0VMXzE7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYzo3NTg6XFx0XFx0XFx0aWYgKHByaXYtXFx1MDAzZXN5bm9wc3lzX2lkIFxcdTAwM2MgRFdNQUNfQ09SRV80XzEwKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmMtNzU5LVxcdFxcdFxcdFxcdHRzX2V2ZW50X2VuID0gUFRQX1RDUl9UU0VWTlRFTkE7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jPTY1NTU9c3RhdGljIGludCBzdG1tYWNfZG1hX2NhcF9zaG93KHN0cnVjdCBzZXFfZmlsZSAqc2VxLCB2b2lkICp2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYy02NjIyLVxcdFxcdCAgIChwcml2LVxcdTAwM2VkbWFfY2FwLnR4X2NvZSkgPyBcXFwiWVxcXCIgOiBcXFwiTlxcXCIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM6NjYyMzpcXHRpZiAocHJpdi1cXHUwMDNlc3lub3BzeXNfaWQgXFx1MDAzZT0gRFdNQUNfQ09SRV80XzAwIHx8XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYy02NjI0LVxcdCAgICBwcml2LVxcdTAwM2VwbGF0LVxcdTAwM2Vjb3JlX3R5cGUgPT0gRFdNQUNfQ09SRV9YR01BQykge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYz03Mzk3PXN0YXRpYyBpbnQgc3RtbWFjX2h3X2luaXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYy03NDUyLVxcdFxcdGRldl9pbmZvKHByaXYtXFx1MDAzZWRldmljZSwgXFxcIlJYIENoZWNrc3VtIE9mZmxvYWQgRW5naW5lIHN1cHBvcnRlZFxcXFxuXFxcIik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYzo3NDUzOlxcdFxcdGlmIChwcml2LVxcdTAwM2VzeW5vcHN5c19pZCBcXHUwMDNjIERXTUFDX0NPUkVfNF8wMClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc0NTQtXFx0XFx0XFx0ZGV2X2luZm8ocHJpdi1cXHUwMDNlZGV2aWNlLCBcXFwiQ09FIFR5cGUgJWRcXFxcblxcXCIsIHByaXYtXFx1MDAzZWh3LVxcdTAwM2VyeF9jc3VtKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmMtNzUxOC1cXHQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jOjc1MTk6XFx0aWYgKChwcml2LVxcdTAwM2VzeW5vcHN5c19pZCBcXHUwMDNlPSBEV01BQ19DT1JFXzNfNTAgfHxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc1MjAtXFx0ICAgICBwcml2LVxcdTAwM2VwbGF0LVxcdTAwM2Vjb3JlX3R5cGUgPT0gRFdNQUNfQ09SRV9YR01BQykgXFx1MDAyNlxcdTAwMjZcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM9Nzc4Nj1zdGF0aWMgaW50IF9fc3RtbWFjX2R2cl9wcm9iZShzdHJ1Y3QgZGV2aWNlICpkZXZpY2UsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc4OTUtXFx0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYzo3ODk2OlxcdGlmIChwcml2LVxcdTAwM2VzeW5vcHN5c19pZCBcXHUwMDNjIERXTUFDX0NPUkVfNV8yMClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc4OTctXFx0XFx0cHJpdi1cXHUwMDNlcGxhdC1cXHUwMDNlZG1hX2NmZy1cXHUwMDNlZGNoZSA9IGZhbHNlO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYy03OTk1LVxcdFxcdG5kZXYtXFx1MDAzZW1heF9tdHUgPSBYR01BQ19KVU1CT19MRU47XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYzo3OTk2OlxcdGVsc2UgaWYgKHByaXYtXFx1MDAzZXBsYXQtXFx1MDAzZWVuaF9kZXNjIHx8IHByaXYtXFx1MDAzZXN5bm9wc3lzX2lkIFxcdTAwM2U9IERXTUFDX0NPUkVfNF8wMClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc5OTctXFx0XFx0bmRldi1cXHUwMDNlbWF4X210dSA9IEpVTUJPX0xFTjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM9NzI9c3RhdGljIHZvaWQgc3RtbWFjX3hnbWFjMl9jMjJfZm9ybWF0KHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiwgaW50IHBoeWFkZHIsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jLTc2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM6Nzc6XFx0aWYgKHByaXYtXFx1MDAzZXN5bm9wc3lzX2lkIFxcdTAwM2MgRFdYR01BQ19DT1JFXzJfMjApIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jLTc4LVxcdFxcdC8qIFVudGlsIHZlciAyLjIwIFhHTUFDIGRvZXMgbm90IHN1cHBvcnQgQzIyIGFkZHIgXFx1MDAzZT0gNC4gVGhvc2VcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM9MTMyPXN0YXRpYyBpbnQgc3RtbWFjX3hnbWFjMl9tZGlvX3JlYWRfYzIyKHN0cnVjdCBtaWlfYnVzICpidXMsIGludCBwaHlhZGRyLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYy0xMzgtXFx0LyogVW50aWwgdmVyIDIuMjAgWEdNQUMgZG9lcyBub3Qgc3VwcG9ydCBDMjIgYWRkciBcXHUwMDNlPSA0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYzoxMzk6XFx0aWYgKHByaXYtXFx1MDAzZXN5bm9wc3lzX2lkIFxcdTAwM2MgRFdYR01BQ19DT1JFXzJfMjAgXFx1MDAyNlxcdTAwMjZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jLTE0MC1cXHQgICAgcGh5YWRkciBcXHUwMDNlIE1JSV9YR01BQ19NQVhfQzIyQUREUilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM9MTk1PXN0YXRpYyBpbnQgc3RtbWFjX3hnbWFjMl9tZGlvX3dyaXRlX2MyMihzdHJ1Y3QgbWlpX2J1cyAqYnVzLCBpbnQgcGh5YWRkcixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmMtMjAxLVxcdC8qIFVudGlsIHZlciAyLjIwIFhHTUFDIGRvZXMgbm90IHN1cHBvcnQgQzIyIGFkZHIgXFx1MDAzZT0gNCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM6MjAyOlxcdGlmIChwcml2LVxcdTAwM2VzeW5vcHN5c19pZCBcXHUwMDNjIERXWEdNQUNfQ09SRV8yXzIwIFxcdTAwMjZcXHUwMDI2XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYy0yMDMtXFx0ICAgIHBoeWFkZHIgXFx1MDAzZSBNSUlfWEdNQUNfTUFYX0MyMkFERFIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jPTU5NT1pbnQgc3RtbWFjX21kaW9fcmVnaXN0ZXIoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jLTYyNy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jOjYyODpcXHRcXHRpZiAocHJpdi1cXHUwMDNlc3lub3BzeXNfaWQgXFx1MDAzYyBEV1hHTUFDX0NPUkVfMl8yMCkge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmMtNjI5LVxcdFxcdFxcdC8qIFJpZ2h0IG5vdyBvbmx5IEMyMiBwaHlzIGFyZSBzdXBwb3J0ZWQgKi9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTY6MzkuODM4NTk0NzJaIiwiU2VxIjoyMywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjAyNzkxMjE3OTksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqVW5yZWFjaGFibGUgQ29kZSBpbiBTdGFuZGFyZCBRRU1VL1N5emthbGxlciBFbnZpcm9ubWVudHMqKlxuXG5Pa2F5LCBzbyBoZXJlJ3MgdGhlIGJyZWFrZG93biBvZiBteSB0aGlua2luZy4gVGhlIGNvZGUgaW4gcXVlc3Rpb24gdG91Y2hlcyBgc3RtbWFjYCwgc3BlY2lmaWNhbGx5LCB0aGUgU3lub3BzeXMgRGVzaWduV2FyZSBNQUMgZHJpdmVyLiBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcywgXCJXYWl0IGEgbWludXRlLCBgc3RtbWFjYCByZWxpZXMgb24gaGFyZHdhcmUgaW50ZXJhY3Rpb24sIHJpZ2h0P1wiIEl0IGNhbGxzIGBzdG1tYWNfaHdfc2V0dXBgIGFuZCByZWFkcyB0aGUgYHByaXYtXHUwMDNlc3lub3BzeXNfaWRgLiBJZiB0aGF0IHJlYWQgZmFpbHMgKHJldHVybnMgMCksIHRoZSBwcm9iZSBsaWtlbHkgZmFpbHMuIE15IGluaXRpYWwgaG9wZSB3YXMgbWF5YmUgc3l6a2FsbGVyIGNvdWxkIGluamVjdCBzb21lIGR1bW15IE1NSU8gcmVzcG9uc2VzLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgUENJIE1NSU8gaW5qZWN0b3IsIHNvIHRoYXQncyBhIGRlYWQgZW5kLlxuXG5OZXh0LCBJIG5lZWQgdG8gZmlndXJlIG91dCBob3cgc3l6a2FsbGVyICpjb3VsZCogdHJpZ2dlciB0aGlzIGNvZGUuIElzIGl0IGJlY2F1c2UgdGhlIGRyaXZlciBpcyBjb21waWxlZCBpbiBhbmQgd2UncmUgZnV6emluZyBhIG5ldGxpbmsgb3IgZXRodG9vbCBpbnRlcmZhY2UgdG8gYW4gYWxyZWFkeSBleGlzdGluZyBkZXZpY2U/IE9yIGlzIHRoZSBjb2RlIGFjdHVhbGx5IHVucmVhY2hhYmxlPyBNeSB1bmRlcnN0YW5kaW5nIG9mIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlzIHRoYXQgaXQncyBmb3IgY29kZSBwYXRocyBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLCBldmVuIHdpdGggc29mdHdhcmUgZW11bGF0ZWQgaGFyZHdhcmUuIFNvLCBJIG5lZWQgdG8gY29uZmlybSBpZiBgc3RtbWFjYCBmaXRzIHRoYXQgZGVzY3JpcHRpb24uXG5cbmBzdG1tYWNgIGlzIGEgdmVuZG9yLXNwZWNpZmljIE1BQyBkcml2ZXIgKFN5bm9wc3lzIERlc2lnbldhcmUgTUFDKSB0aGF0IG5lZWRzICpwaHlzaWNhbCogaGFyZHdhcmUgb3Igc3BlY2lhbCBTb0MgZW11bGF0aW9uLiBEb2VzIFFFTVUgZW11bGF0ZSB0aGlzPyBZZXMsIGBody9uZXQvZGVzaWdud2FyZS5jYCBpcyBRRU1VJ3MgZW11bGF0aW9uLiBCdXQgaXMgaXQgYSBQQ0kgZGV2aWNlLCBvciBhIHBsYXRmb3JtIGRldmljZT8gSW4gUUVNVSwgYGRlc2lnbndhcmUuY2AgaXMgYSAqcGxhdGZvcm0qIGRldmljZS4gSXQncyB1c2VkIGluIEFSTSBtYWNoaW5lcyBsaWtlIGBtY2lteDZ1bC1ldmtgLCBgbWNpbXg3ZC1zYWJyZWAsIGBzaWZpdmVfdWAsIGBhbGx3aW5uZXItaDNgLCBhbmQgYGFsbHdpbm5lci1yNDBgLiBEb2VzIHN5emthbGxlciB1c2UgYW55IG9mIHRoZXNlIG1hY2hpbmVzPyBObywgc3l6a2FsbGVyIHVzdWFsbHkgcnVucyBvbiBgeDg2XzY0YCBvciBBUk02NCwgYnV0IG9uIGBhcm02NGAsIGl0IHVzZXMgdGhlIGB2aXJ0YCBtYWNoaW5lIHdoaWNoIHVzZXMgYHZpcnRpby1uZXRgLiBUaGVyZWZvcmUsIGBzdG1tYWNgICppc24ndCogcmVhY2hhYmxlIGluIHN0YW5kYXJkIHN5emthbGxlciBRRU1VIGVudmlyb25tZW50cy5cblxuV2hhdCBhYm91dCBgc3RtbWFjX3BjaWA/IFFFTVUgKmRvZXNuJ3QqIGhhdmUgYSBQQ0kgd3JhcHBlciBmb3IgYGRlc2lnbndhcmVgLiBgc3RtbWFjX3BjaWAgd2lsbCAqbmV2ZXIqIHByb2JlIGluIFFFTVUuIFRoaXMgbWVhbnMgdGhlIGBzdG1tYWNgIGRyaXZlciBpcyAqaW1wb3NzaWJsZSogdG8gcmVhY2ggaW4gc3l6a2FsbGVyJ3MgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLlxuXG5Db3VsZCBpdCBiZSByZWFjaGVkIGFub3RoZXIgd2F5PyBgdmhjaWAgb3IgYG1hYzgwMjExX2h3c2ltYCBhcmUgVVNCIGFuZCBXaUZpLiBgbmV0ZGV2c2ltYCBpcyBhIHNvZnR3YXJlIHNpbXVsYXRvciwgYnV0IGl0IGRvZXNuJ3Qgc2ltdWxhdGUgYHN0bW1hY2AuIFNvLCBhZ2FpbiwgdW5yZWFjaGFibGUuXG5cbkxldCdzIHJldmlzaXQgdGhlIHByb21wdDogXCJDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXCIgRG9lcyBgc3RtbWFjYCBmaXQ/IFllcywgaXQncyBhIGhhcmR3YXJlLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlciB0aGF0IG5lZWRzIGhhcmR3YXJlLCBvciBzcGVjaWZpYyBTb0MgZW11bGF0aW9uIG5vdCB1c2VkIGluIHN0YW5kYXJkIFFFTVUgKGxpa2UgYHZpcnRgIG9yIGBwY2ApLlxuXG5JIHNlYXJjaGVkIGZvciBzeXprYWxsZXIgY292ZXJhZ2UgYW5kIGZvdW5kICpub3RoaW5nKiByZWxhdGVkIHRvIGBzdG1tYWNgLiBUaGVyZSBpcyBgc3RtbWFjX3NlbGZ0ZXN0cy5jYCB0cmlnZ2VyZWQgYnkgYGV0aHRvb2xgLCBidXQgaWYgdGhlIGRldmljZSBpc24ndCBwcmVzZW50LCBgZXRodG9vbGAgY2FuJ3QgYmUgY2FsbGVkLiBTbyB0aGF0IHNlbGZ0ZXN0IGNvZGUgaXMgdW5yZWFjaGFibGUuIFdoYXQgYWJvdXQgdGhlIG5ldyBgcGh5bGluay5jYCBjaGFuZ2VzPyBJdCBhZGRzIGBwaHlsaW5rX3Bjc19sb29wYmFja2Agd2hpY2ggaXMgZXhwb3J0ZWQuIElzIGl0IHVzZWQgYnkgYW55dGhpbmcgb3RoZXIgdGhhbiBgc3RtbWFjX3NlbGZ0ZXN0cy5jYD8gTm8sIGdyZXAgc2F5cyBpdCdzIG9ubHkgY2FsbGVkIGluIGBzdG1tYWNfc2VsZnRlc3RzLmNgLiBTbyB0aGUgbmV3IHBoeWxpbmsgQVBJIGlzICphbHNvKiB1bnJlYWNoYWJsZSBiZWNhdXNlIGl0cyBvbmx5IGNhbGxlciBpcy5cblxuTGV0J3MgcmV2aWV3IHRoZSBwYXRjaCBhZ2FpbjpcbmBgYGNcbitpbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKVxuK3tcbitcdGlmIChwY3MgXHUwMDI2XHUwMDI2IHBjcy1cdTAwM2VvcHMtXHUwMDNlcGNzX2xvb3BiYWNrKVxuK1x0XHRyZXR1cm4gcGNzLVx1MDAzZW9wcy1cdTAwM2VwY3NfbG9vcGJhY2socGNzLCBlbmFibGUpO1xuK1xuK1x0cmV0dXJuIC1FT1BOT1RTVVBQO1xuK31cbitFWFBPUlRfU1lNQk9MX0dQTChwaHlsaW5rX3Bjc19sb29wYmFjayk7XG5gYGBcbkl0J3MgYSBnZW5lcmljIEFQSSwgYnV0ICpjdXJyZW50bHkqIG9ubHkgdXNlZCBieSBgc3RtbWFjYC4gU2luY2UgYHN0bW1hY2AgaXMgdW5yZWFjaGFibGUsIHRoaXMgQVBJIGlzIHVucmVhY2hhYmxlLlxuXG5JcyB0aGVyZSBhbnkgY2hhbmNlIGBzdG1tYWNgIGlzIGVtdWxhdGVkIGJ5IFFFTVUncyBQQ0k/IExldCdzIGNoZWNrIHRoZSBRRU1VIHNvdXJjZS4gSW4gdGhlXG5cbiIsIklucHV0VG9rZW5zIjozODAxMywiT3V0cHV0VG9rZW5zIjoxNDksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjc2LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU3OjAwLjExNzcyMTU2OVoiLCJTZXEiOjI0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM2MzAwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgYSBQQ1MgbG9vcGJhY2sgZmVhdHVyZSB0byB0aGUgc3RtbWFjIChTeW5vcHN5cyBEZXNpZ25XYXJlIE1BQykgZHJpdmVyIGFuZCBhIGNvcnJlc3BvbmRpbmcgQVBJIGluIHBoeWxpbmsuIFRoZSBzdG1tYWMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIHBoeXNpY2FsIGhhcmR3YXJlIG9yIFNvQyBlbXVsYXRpb24gKGUuZy4sIEludGVsIFF1YXJrL0Vsa2hhcnQgTGFrZSBmb3IgUENJLCBvciBzcGVjaWZpYyBBUk0gU29DcyBmb3IgcGxhdGZvcm0pLiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgKGxpa2UgJ3BjJyBvciAndmlydCcgbWFjaGluZXMpIHVzZWQgYnkgc3l6a2FsbGVyLiBXaXRob3V0IHRoZSBoYXJkd2FyZSwgdGhlIGRyaXZlciB3aWxsIGZhaWwgdG8gcHJvYmUsIG1ha2luZyB0aGUgc2VsZnRlc3QgYW5kIHRoZSBuZXcgcGh5bGluayBsb29wYmFjayBjb2RlIHVucmVhY2hhYmxlLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIFBDUyBsb29wYmFjayBmZWF0dXJlIHRvIHRoZSBzdG1tYWMgKFN5bm9wc3lzIERlc2lnbldhcmUgTUFDKSBkcml2ZXIgYW5kIGEgY29ycmVzcG9uZGluZyBBUEkgaW4gcGh5bGluay4gVGhlIHN0bW1hYyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgcGh5c2ljYWwgaGFyZHdhcmUgb3IgU29DIGVtdWxhdGlvbiAoZS5nLiwgSW50ZWwgUXVhcmsvRWxraGFydCBMYWtlIGZvciBQQ0ksIG9yIHNwZWNpZmljIEFSTSBTb0NzIGZvciBwbGF0Zm9ybSkuIFRoZXNlIGRldmljZXMgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cyAobGlrZSAncGMnIG9yICd2aXJ0JyBtYWNoaW5lcykgdXNlZCBieSBzeXprYWxsZXIuIFdpdGhvdXQgdGhlIGhhcmR3YXJlLCB0aGUgZHJpdmVyIHdpbGwgZmFpbCB0byBwcm9iZSwgbWFraW5nIHRoZSBzZWxmdGVzdCBhbmQgdGhlIG5ldyBwaHlsaW5rIGxvb3BiYWNrIGNvZGUgdW5yZWFjaGFibGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow8zkcd[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-28 00:34:26 +0000 UTC FinishedAt: 2026-07-28 00:57:01 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU0PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+Mm08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBQQ1MgbG9vcGJhY2sgZmVhdHVyZSB0byB0aGUgc3RtbWFjIChTeW5vcHN5cyBEZXNpZ25XYXJlIE1BQykgZHJpdmVyIGFuZCBhIGNvcnJlc3BvbmRpbmcgQVBJIGluIHBoeWxpbmsuIFRoZSBzdG1tYWMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIHBoeXNpY2FsIGhhcmR3YXJlIG9yIFNvQyBlbXVsYXRpb24gKGUuZy4sIEludGVsIFF1YXJrL0Vsa2hhcnQgTGFrZSBmb3IgUENJLCBvciBzcGVjaWZpYyBBUk0gU29DcyBmb3IgcGxhdGZvcm0pLiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgKGxpa2UgJiMzOTtwYyYjMzk7IG9yICYjMzk7dmlydCYjMzk7IG1hY2hpbmVzKSB1c2VkIGJ5IHN5emthbGxlci4gV2l0aG91dCB0aGUgaGFyZHdhcmUsIHRoZSBkcml2ZXIgd2lsbCBmYWlsIHRvIHByb2JlLCBtYWtpbmcgdGhlIHNlbGZ0ZXN0IGFuZCB0aGUgbmV3IHBoeWxpbmsgbG9vcGJhY2sgY29kZSB1bnJlYWNoYWJsZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTQ8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBlYTcxZWM3NDZkMDQ0ZGViMDA5MzU5YzNiY2RlZTFlNjQ0YjgwNjkzXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdWwgMjggMDA6NTM6NTkgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3Bjcy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3Bjcy5jXG5pbmRleCBkZjM3YWY1YWI4MzdhZi4uOTBhMjFhMmY3ZTg3MzEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY3MuY1xuQEAgLTE2OCw2ICYjNDM7MTY4LDIyIEBAIHN0YXRpYyB2b2lkIGR3bWFjX2ludGVncmF0ZWRfcGNzX2FuX3Jlc3RhcnQoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpXG4gXHR9XG4gfVxuIFxuJiM0MztzdGF0aWMgaW50IGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCBib29sIGVuYWJsZSlcbiYjNDM7e1xuJiM0MztcdHN0cnVjdCBzdG1tYWNfcGNzICpzcGNzID0gcGh5bGlua19wY3NfdG9fc3RtbWFjX3BjcyhwY3MpO1xuJiM0MztcdHZvaWQgX19pb21lbSAqYW5fY29udHJvbCA9IHNwY3MtXHUwMDNlYmFzZSAmIzQzOyBHTUFDX0FOX0NUUkwoMCk7XG4mIzQzO1x0dTMyIGN0cmw7XG4mIzQzO1xuJiM0MztcdGN0cmwgPSByZWFkbChhbl9jb250cm9sKTtcbiYjNDM7XHRpZiAoZW5hYmxlKVxuJiM0MztcdFx0Y3RybCB8PSBHTUFDX0FOX0NUUkxfRUxFO1xuJiM0MztcdGVsc2VcbiYjNDM7XHRcdGN0cmwgXHUwMDI2PSB+R01BQ19BTl9DVFJMX0VMRTtcbiYjNDM7XHR3cml0ZWwoY3RybCwgYW5fY29udHJvbCk7XG4mIzQzO1xuJiM0MztcdHJldHVybiAwO1xuJiM0Mzt9XG4mIzQzO1xuIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGh5bGlua19wY3Nfb3BzIGR3bWFjX2ludGVncmF0ZWRfcGNzX29wcyA9IHtcbiBcdC5wY3NfaW5iYW5kX2NhcHMgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19pbmJhbmRfY2FwcyxcbiBcdC5wY3NfZW5hYmxlID0gZHdtYWNfaW50ZWdyYXRlZF9wY3NfZW5hYmxlLFxuQEAgLTE3NSw2ICYjNDM7MTkxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwaHlsaW5rX3Bjc19vcHMgZHdtYWNfaW50ZWdyYXRlZF9wY3Nfb3BzID0ge1xuIFx0LnBjc19nZXRfc3RhdGUgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19nZXRfc3RhdGUsXG4gXHQucGNzX2NvbmZpZyA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2NvbmZpZyxcbiBcdC5wY3NfYW5fcmVzdGFydCA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2FuX3Jlc3RhcnQsXG4mIzQzO1x0LnBjc19sb29wYmFjayA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrLFxuIH07XG4gXG4gdm9pZCBzdG1tYWNfaW50ZWdyYXRlZF9wY3NfaXJxKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiwgdTMyIHN0YXR1cyxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmNcbmluZGV4IDI5ZTgyNGJkOTBjYTZiLi43N2E0NTdiMmZhNWNmNyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3NlbGZ0ZXN0cy5jXG5AQCAtMTksNiAmIzQzOzE5LDcgQEBcbiAjaW5jbHVkZSBcdTAwM2NuZXQvdWRwLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NuZXQvdGNfYWN0L3RjX2dhY3QuaFx1MDAzZVxuICNpbmNsdWRlIFwmIzM0O3N0bW1hYy5oXCYjMzQ7XG4mIzQzOyNpbmNsdWRlIFwmIzM0O3N0bW1hY19wY3MuaFwmIzM0O1xuIFxuIHN0cnVjdCBzdG1tYWNoZHIge1xuIFx0X19iZTMyIHZlcnNpb247XG5AQCAtMzc0LDIzICYjNDM7Mzc1LDUxIEBAIHN0YXRpYyBpbnQgc3RtbWFjX3Rlc3RfbWFjX2xvb3BiYWNrKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdilcbiBcdHJldHVybiBfX3N0bW1hY190ZXN0X2xvb3BiYWNrKHByaXYsIFx1MDAyNmF0dHIpO1xuIH1cbiBcbiYjNDM7c3RhdGljIHN0cnVjdCBwaHlsaW5rX3BjcyAqc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3Moc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuJiM0Mzt7XG4mIzQzO1x0LyogVHJ5IGdsdWUgZHJpdmVyJiMzOTtzIFBDUyBmaXJzdCwgdGhlbiB0aGUgaW50ZWdyYXRlZCBQQ1MuICovXG4mIzQzO1x0aWYgKHByaXYtXHUwMDNlaHctXHUwMDNlcGh5bGlua19wY3MpXG4mIzQzO1x0XHRyZXR1cm4gcHJpdi1cdTAwM2Vody1cdTAwM2VwaHlsaW5rX3BjcztcbiYjNDM7XG4mIzQzO1x0aWYgKHByaXYtXHUwMDNlaW50ZWdyYXRlZF9wY3MpXG4mIzQzO1x0XHRyZXR1cm4gXHUwMDI2cHJpdi1cdTAwM2VpbnRlZ3JhdGVkX3Bjcy1cdTAwM2VwY3M7XG4mIzQzO1xuJiM0MztcdHJldHVybiBOVUxMO1xuJiM0Mzt9XG4mIzQzO1xuIHN0YXRpYyBpbnQgc3RtbWFjX3Rlc3RfcGh5X2xvb3BiYWNrKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdilcbiB7XG4gXHRzdHJ1Y3Qgc3RtbWFjX3BhY2tldF9hdHRycyBhdHRyID0geyB9O1xuJiM0MztcdHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzO1xuIFx0aW50IHJldDtcbiBcbi1cdGlmICghcHJpdi1cdTAwM2VkZXYtXHUwMDNlcGh5ZGV2KVxuLVx0XHRyZXR1cm4gLUVPUE5PVFNVUFA7XG4mIzQzO1x0aWYgKHByaXYtXHUwMDNlZGV2LVx1MDAzZXBoeWRldikge1xuJiM0MztcdFx0cmV0ID0gcGh5X2xvb3BiYWNrKHByaXYtXHUwMDNlZGV2LVx1MDAzZXBoeWRldiwgdHJ1ZSwgMCk7XG4mIzQzO1x0XHRpZiAocmV0KVxuJiM0MztcdFx0XHRyZXR1cm4gcmV0O1xuIFxuLVx0cmV0ID0gcGh5X2xvb3BiYWNrKHByaXYtXHUwMDNlZGV2LVx1MDAzZXBoeWRldiwgdHJ1ZSwgMCk7XG4tXHRpZiAocmV0KVxuJiM0MztcdFx0YXR0ci5kc3QgPSBwcml2LVx1MDAzZWRldi1cdTAwM2VkZXZfYWRkcjtcbiYjNDM7XHRcdHJldCA9IF9fc3RtbWFjX3Rlc3RfbG9vcGJhY2socHJpdiwgXHUwMDI2YXR0cik7XG4mIzQzO1xuJiM0MztcdFx0cGh5X2xvb3BiYWNrKHByaXYtXHUwMDNlZGV2LVx1MDAzZXBoeWRldiwgZmFsc2UsIDApO1xuIFx0XHRyZXR1cm4gcmV0O1xuJiM0MztcdH1cbiBcbi1cdGF0dHIuZHN0ID0gcHJpdi1cdTAwM2VkZXYtXHUwMDNlZGV2X2FkZHI7XG4tXHRyZXQgPSBfX3N0bW1hY190ZXN0X2xvb3BiYWNrKHByaXYsIFx1MDAyNmF0dHIpO1xuJiM0MztcdC8qIFVzZSBQQ1MgbG9vcGJhY2sgZm9yIGludGVyZmFjZXMgd2l0aG91dCBhbiBleHRlcm5hbCBQSFkuICovXG4mIzQzO1x0cGNzID0gc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdik7XG4mIzQzO1x0aWYgKHBjcykge1xuJiM0MztcdFx0cmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2socGNzLCB0cnVlKTtcbiYjNDM7XHRcdGlmIChyZXQpXG4mIzQzO1x0XHRcdHJldHVybiByZXQ7XG4gXG4tXHRwaHlfbG9vcGJhY2socHJpdi1cdTAwM2VkZXYtXHUwMDNlcGh5ZGV2LCBmYWxzZSwgMCk7XG4tXHRyZXR1cm4gcmV0O1xuJiM0MztcdFx0YXR0ci5kc3QgPSBwcml2LVx1MDAzZWRldi1cdTAwM2VkZXZfYWRkcjtcbiYjNDM7XHRcdHJldCA9IF9fc3RtbWFjX3Rlc3RfbG9vcGJhY2socHJpdiwgXHUwMDI2YXR0cik7XG4mIzQzO1xuJiM0MztcdFx0cGh5bGlua19wY3NfbG9vcGJhY2socGNzLCBmYWxzZSk7XG4mIzQzO1x0XHRyZXR1cm4gcmV0O1xuJiM0MztcdH1cbiYjNDM7XG4mIzQzO1x0cmV0dXJuIC1FT1BOT1RTVVBQO1xuIH1cbiBcbiBzdGF0aWMgaW50IHN0bW1hY190ZXN0X21tYyhzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYpXG5AQCAtMTk4Niw2ICYjNDM7MjAxNSw5IEBAIHZvaWQgc3RtbWFjX3NlbGZ0ZXN0X3J1bihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuIFx0XHRcdHJldCA9IC1FT1BOT1RTVVBQO1xuIFx0XHRcdGlmIChkZXYtXHUwMDNlcGh5ZGV2KVxuIFx0XHRcdFx0cmV0ID0gcGh5X2xvb3BiYWNrKGRldi1cdTAwM2VwaHlkZXYsIHRydWUsIDApO1xuJiM0MztcdFx0XHRlbHNlXG4mIzQzO1x0XHRcdFx0cmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2soc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdiksXG4mIzQzO1x0XHRcdFx0XHRcdFx0ICAgdHJ1ZSk7XG4gXHRcdFx0aWYgKCFyZXQpXG4gXHRcdFx0XHRicmVhaztcbiBcdFx0XHRmYWxsdGhyb3VnaDtcbkBAIC0yMDE5LDYgJiM0MzsyMDUxLDkgQEAgdm9pZCBzdG1tYWNfc2VsZnRlc3RfcnVuKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4gXHRcdFx0cmV0ID0gLUVPUE5PVFNVUFA7XG4gXHRcdFx0aWYgKGRldi1cdTAwM2VwaHlkZXYpXG4gXHRcdFx0XHRyZXQgPSBwaHlfbG9vcGJhY2soZGV2LVx1MDAzZXBoeWRldiwgZmFsc2UsIDApO1xuJiM0MztcdFx0XHRlbHNlXG4mIzQzO1x0XHRcdFx0cmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2soc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdiksXG4mIzQzO1x0XHRcdFx0XHRcdFx0ICAgZmFsc2UpO1xuIFx0XHRcdGlmICghcmV0KVxuIFx0XHRcdFx0YnJlYWs7XG4gXHRcdFx0ZmFsbHRocm91Z2g7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYyBiL2RyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmNcbmluZGV4IDU5ZGZlMzVhZmE1NGZjLi42OTI0MmNhZmZhZWY1MSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmNcbkBAIC05OTcsNiAmIzQzOzk5NywyNSBAQCBpbnQgcGh5bGlua19wY3NfcHJlX2luaXQoc3RydWN0IHBoeWxpbmsgKnBsLCBzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcylcbiB9XG4gRVhQT1JUX1NZTUJPTF9HUEwocGh5bGlua19wY3NfcHJlX2luaXQpO1xuIFxuJiM0MzsvKipcbiYjNDM7ICogcGh5bGlua19wY3NfbG9vcGJhY2soKSAtIEVuYWJsZSBvciBkaXNhYmxlIGxvb3BiYWNrIGF0IHRoZSBQQ1NcbiYjNDM7ICogQHBjczogYSBwb2ludGVyIHRvIGEgXHUwMDI2c3RydWN0IHBoeWxpbmtfcGNzLlxuJiM0MzsgKiBAZW5hYmxlOiB0cnVlIHRvIGVuYWJsZSBsb29wYmFjaywgZmFsc2UgdG8gZGlzYWJsZVxuJiM0MzsgKlxuJiM0MzsgKiBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBtb2RlIGF0IHRoZSBQQ1MgbGV2ZWwuIFRoaXMgaXMgdXNlZCBieSBNQUNcbiYjNDM7ICogZHJpdmVycyBmb3Igc2VsZnRlc3QgcHVycG9zZXMgd2hlbiBubyBleHRlcm5hbCBQSFkgaXMgcHJlc2VudC5cbiYjNDM7ICpcbiYjNDM7ICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS5cbiYjNDM7ICovXG4mIzQzO2ludCBwaHlsaW5rX3Bjc19sb29wYmFjayhzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpXG4mIzQzO3tcbiYjNDM7XHRpZiAocGNzIFx1MDAyNlx1MDAyNiBwY3MtXHUwMDNlb3BzLVx1MDAzZXBjc19sb29wYmFjaylcbiYjNDM7XHRcdHJldHVybiBwY3MtXHUwMDNlb3BzLVx1MDAzZXBjc19sb29wYmFjayhwY3MsIGVuYWJsZSk7XG4mIzQzO1xuJiM0MztcdHJldHVybiAtRU9QTk9UU1VQUDtcbiYjNDM7fVxuJiM0MztFWFBPUlRfU1lNQk9MX0dQTChwaHlsaW5rX3Bjc19sb29wYmFjayk7XG4mIzQzO1xuIHN0YXRpYyB2b2lkIHBoeWxpbmtfbWFjX2NvbmZpZyhzdHJ1Y3QgcGh5bGluayAqcGwsXG4gXHRcdFx0ICAgICAgIGNvbnN0IHN0cnVjdCBwaHlsaW5rX2xpbmtfc3RhdGUgKnN0YXRlKVxuIHtcbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaCBiL2luY2x1ZGUvbGludXgvcGh5bGluay5oXG5pbmRleCAyYmMwZGIzZDUyYWM4ZC4uNjZjNzAxNmQ0YWNkY2IgMTAwNjQ0XG4tLS0gYS9pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaFxuJiM0MzsmIzQzOyYjNDM7IGIvaW5jbHVkZS9saW51eC9waHlsaW5rLmhcbkBAIC01MTgsNiAmIzQzOzUxOCw3IEBAIHN0cnVjdCBwaHlsaW5rX3BjcyB7XG4gICpcdFx0ICAgIHRoZSBNQUMuXG4gICogQHBjc19wcmVfaW5pdDogY29uZmlndXJlIFBDUyBjb21wb25lbnRzIG5lY2Vzc2FyeSBmb3IgTUFDIGhhcmR3YXJlXG4gICogICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZS5nLiBSWCBjbG9jayBmb3Igc3RtbWFjLlxuJiM0MzsgKiBAcGNzX2xvb3BiYWNrOiBlbmFibGUvZGlzYWJsZSBsb29wYmFjayBtb2RlIGF0IHRoZSBQQ1MuXG4gICovXG4gc3RydWN0IHBoeWxpbmtfcGNzX29wcyB7XG4gXHRpbnQgKCpwY3NfdmFsaWRhdGUpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCB1bnNpZ25lZCBsb25nICpzdXBwb3J0ZWQsXG5AQCAtNTQyLDYgJiM0Mzs1NDMsNyBAQCBzdHJ1Y3QgcGh5bGlua19wY3Nfb3BzIHtcbiBcdHZvaWQgKCpwY3NfZGlzYWJsZV9lZWUpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTtcbiBcdHZvaWQgKCpwY3NfZW5hYmxlX2VlZSkoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpO1xuIFx0aW50ICgqcGNzX3ByZV9pbml0KShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcyk7XG4mIzQzO1x0aW50ICgqcGNzX2xvb3BiYWNrKShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpO1xuIH07XG4gXG4gI2lmIDAgLyogRm9yIGtlcm5lbC1kb2MgcHVycG9zZXMgb25seS4gKi9cbkBAIC03MTcsOCAmIzQzOzcxOSwyMiBAQCB2b2lkIHBjc19lbmFibGVfZWVlKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTtcbiAgKi9cbiBpbnQgcGNzX3ByZV9pbml0KHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTtcbiBcbiYjNDM7LyoqXG4mIzQzOyAqIHBjc19sb29wYmFjaygpIC0gRW5hYmxlIG9yIGRpc2FibGUgbG9vcGJhY2sgYXQgdGhlIFBDU1xuJiM0MzsgKiBAcGNzOiBhIHBvaW50ZXIgdG8gYSBcdTAwMjZzdHJ1Y3QgcGh5bGlua19wY3MuXG4mIzQzOyAqIEBlbmFibGU6IHRydWUgdG8gZW5hYmxlIGxvb3BiYWNrLCBmYWxzZSB0byBkaXNhYmxlXG4mIzQzOyAqXG4mIzQzOyAqIEVuYWJsZSBvciBkaXNhYmxlIGxvb3BiYWNrIG1vZGUgYXQgdGhlIFBDUyBsZXZlbC4gVGhpcyBpcyB1c2VkIGJ5IE1BQ1xuJiM0MzsgKiBkcml2ZXJzIGZvciBzZWxmdGVzdCBwdXJwb3NlcyB3aGVuIG5vIGV4dGVybmFsIFBIWSBpcyBwcmVzZW50LlxuJiM0MzsgKlxuJiM0MzsgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcywgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuXG4mIzQzOyAqL1xuJiM0MztpbnQgcGNzX2xvb3BiYWNrKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCBib29sIGVuYWJsZSk7XG4mIzQzO1xuICNlbmRpZlxuIFxuJiM0MztpbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKTtcbiYjNDM7XG4gc3RydWN0IHBoeWxpbmsgKnBoeWxpbmtfY3JlYXRlKHN0cnVjdCBwaHlsaW5rX2NvbmZpZyAqLFxuIFx0XHRcdCAgICAgICBjb25zdCBzdHJ1Y3QgZndub2RlX2hhbmRsZSAqLFxuIFx0XHRcdCAgICAgICBwaHlfaW50ZXJmYWNlX3QsXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTQ8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+Mm08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBQQ1MgbG9vcGJhY2sgZmVhdHVyZSB0byB0aGUgc3RtbWFjIChTeW5vcHN5cyBEZXNpZ25XYXJlIE1BQykgZHJpdmVyIGFuZCBhIGNvcnJlc3BvbmRpbmcgQVBJIGluIHBoeWxpbmsuIFRoZSBzdG1tYWMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIHBoeXNpY2FsIGhhcmR3YXJlIG9yIFNvQyBlbXVsYXRpb24gKGUuZy4sIEludGVsIFF1YXJrL0Vsa2hhcnQgTGFrZSBmb3IgUENJLCBvciBzcGVjaWZpYyBBUk0gU29DcyBmb3IgcGxhdGZvcm0pLiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgKGxpa2UgJiMzOTtwYyYjMzk7IG9yICYjMzk7dmlydCYjMzk7IG1hY2hpbmVzKSB1c2VkIGJ5IHN5emthbGxlci4gV2l0aG91dCB0aGUgaGFyZHdhcmUsIHRoZSBkcml2ZXIgd2lsbCBmYWlsIHRvIHByb2JlLCBtYWtpbmcgdGhlIHNlbGZ0ZXN0IGFuZCB0aGUgbmV3IHBoeWxpbmsgbG9vcGJhY2sgY29kZSB1bnJlYWNoYWJsZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBlYTcxZWM3NDZkMDQ0ZGViMDA5MzU5YzNiY2RlZTFlNjQ0YjgwNjkzCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFR1ZSBKdWwgMjggMDA6NTM6NTkgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmMKaW5kZXggZGYzN2FmNWFiODM3YWYuLjkwYTIxYTJmN2U4NzMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3Bjcy5jCkBAIC0xNjgsNiAmIzQzOzE2OCwyMiBAQCBzdGF0aWMgdm9pZCBkd21hY19pbnRlZ3JhdGVkX3Bjc19hbl9yZXN0YXJ0KHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKQogCX0KIH0KIAomIzQzO3N0YXRpYyBpbnQgZHdtYWNfaW50ZWdyYXRlZF9wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKQomIzQzO3sKJiM0MzsJc3RydWN0IHN0bW1hY19wY3MgKnNwY3MgPSBwaHlsaW5rX3Bjc190b19zdG1tYWNfcGNzKHBjcyk7CiYjNDM7CXZvaWQgX19pb21lbSAqYW5fY29udHJvbCA9IHNwY3MtJmd0O2Jhc2UgJiM0MzsgR01BQ19BTl9DVFJMKDApOwomIzQzOwl1MzIgY3RybDsKJiM0MzsKJiM0MzsJY3RybCA9IHJlYWRsKGFuX2NvbnRyb2wpOwomIzQzOwlpZiAoZW5hYmxlKQomIzQzOwkJY3RybCB8PSBHTUFDX0FOX0NUUkxfRUxFOwomIzQzOwllbHNlCiYjNDM7CQljdHJsICZhbXA7PSB+R01BQ19BTl9DVFJMX0VMRTsKJiM0MzsJd3JpdGVsKGN0cmwsIGFuX2NvbnRyb2wpOwomIzQzOwomIzQzOwlyZXR1cm4gMDsKJiM0Mzt9CiYjNDM7CiBzdGF0aWMgY29uc3Qgc3RydWN0IHBoeWxpbmtfcGNzX29wcyBkd21hY19pbnRlZ3JhdGVkX3Bjc19vcHMgPSB7CiAJLnBjc19pbmJhbmRfY2FwcyA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2luYmFuZF9jYXBzLAogCS5wY3NfZW5hYmxlID0gZHdtYWNfaW50ZWdyYXRlZF9wY3NfZW5hYmxlLApAQCAtMTc1LDYgJiM0MzsxOTEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBoeWxpbmtfcGNzX29wcyBkd21hY19pbnRlZ3JhdGVkX3Bjc19vcHMgPSB7CiAJLnBjc19nZXRfc3RhdGUgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19nZXRfc3RhdGUsCiAJLnBjc19jb25maWcgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19jb25maWcsCiAJLnBjc19hbl9yZXN0YXJ0ID0gZHdtYWNfaW50ZWdyYXRlZF9wY3NfYW5fcmVzdGFydCwKJiM0MzsJLnBjc19sb29wYmFjayA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrLAogfTsKIAogdm9pZCBzdG1tYWNfaW50ZWdyYXRlZF9wY3NfaXJxKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiwgdTMyIHN0YXR1cywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYwppbmRleCAyOWU4MjRiZDkwY2E2Yi4uNzdhNDU3YjJmYTVjZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMKQEAgLTE5LDYgJiM0MzsxOSw3IEBACiAjaW5jbHVkZSAmbHQ7bmV0L3VkcC5oJmd0OwogI2luY2x1ZGUgJmx0O25ldC90Y19hY3QvdGNfZ2FjdC5oJmd0OwogI2luY2x1ZGUgJiMzNDtzdG1tYWMuaCYjMzQ7CiYjNDM7I2luY2x1ZGUgJiMzNDtzdG1tYWNfcGNzLmgmIzM0OwogCiBzdHJ1Y3Qgc3RtbWFjaGRyIHsKIAlfX2JlMzIgdmVyc2lvbjsKQEAgLTM3NCwyMyAmIzQzOzM3NSw1MSBAQCBzdGF0aWMgaW50IHN0bW1hY190ZXN0X21hY19sb29wYmFjayhzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYpCiAJcmV0dXJuIF9fc3RtbWFjX3Rlc3RfbG9vcGJhY2socHJpdiwgJmFtcDthdHRyKTsKIH0KIAomIzQzO3N0YXRpYyBzdHJ1Y3QgcGh5bGlua19wY3MgKnN0bW1hY19zZWxmdGVzdF9nZXRfcGNzKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdikKJiM0Mzt7CiYjNDM7CS8qIFRyeSBnbHVlIGRyaXZlciYjMzk7cyBQQ1MgZmlyc3QsIHRoZW4gdGhlIGludGVncmF0ZWQgUENTLiAqLwomIzQzOwlpZiAocHJpdi0mZ3Q7aHctJmd0O3BoeWxpbmtfcGNzKQomIzQzOwkJcmV0dXJuIHByaXYtJmd0O2h3LSZndDtwaHlsaW5rX3BjczsKJiM0MzsKJiM0MzsJaWYgKHByaXYtJmd0O2ludGVncmF0ZWRfcGNzKQomIzQzOwkJcmV0dXJuICZhbXA7cHJpdi0mZ3Q7aW50ZWdyYXRlZF9wY3MtJmd0O3BjczsKJiM0MzsKJiM0MzsJcmV0dXJuIE5VTEw7CiYjNDM7fQomIzQzOwogc3RhdGljIGludCBzdG1tYWNfdGVzdF9waHlfbG9vcGJhY2soc3RydWN0IHN0bW1hY19wcml2ICpwcml2KQogewogCXN0cnVjdCBzdG1tYWNfcGFja2V0X2F0dHJzIGF0dHIgPSB7IH07CiYjNDM7CXN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzOwogCWludCByZXQ7CiAKLQlpZiAoIXByaXYtJmd0O2Rldi0mZ3Q7cGh5ZGV2KQotCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiYjNDM7CWlmIChwcml2LSZndDtkZXYtJmd0O3BoeWRldikgewomIzQzOwkJcmV0ID0gcGh5X2xvb3BiYWNrKHByaXYtJmd0O2Rldi0mZ3Q7cGh5ZGV2LCB0cnVlLCAwKTsKJiM0MzsJCWlmIChyZXQpCiYjNDM7CQkJcmV0dXJuIHJldDsKIAotCXJldCA9IHBoeV9sb29wYmFjayhwcml2LSZndDtkZXYtJmd0O3BoeWRldiwgdHJ1ZSwgMCk7Ci0JaWYgKHJldCkKJiM0MzsJCWF0dHIuZHN0ID0gcHJpdi0mZ3Q7ZGV2LSZndDtkZXZfYWRkcjsKJiM0MzsJCXJldCA9IF9fc3RtbWFjX3Rlc3RfbG9vcGJhY2socHJpdiwgJmFtcDthdHRyKTsKJiM0MzsKJiM0MzsJCXBoeV9sb29wYmFjayhwcml2LSZndDtkZXYtJmd0O3BoeWRldiwgZmFsc2UsIDApOwogCQlyZXR1cm4gcmV0OwomIzQzOwl9CiAKLQlhdHRyLmRzdCA9IHByaXYtJmd0O2Rldi0mZ3Q7ZGV2X2FkZHI7Ci0JcmV0ID0gX19zdG1tYWNfdGVzdF9sb29wYmFjayhwcml2LCAmYW1wO2F0dHIpOwomIzQzOwkvKiBVc2UgUENTIGxvb3BiYWNrIGZvciBpbnRlcmZhY2VzIHdpdGhvdXQgYW4gZXh0ZXJuYWwgUEhZLiAqLwomIzQzOwlwY3MgPSBzdG1tYWNfc2VsZnRlc3RfZ2V0X3Bjcyhwcml2KTsKJiM0MzsJaWYgKHBjcykgewomIzQzOwkJcmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2socGNzLCB0cnVlKTsKJiM0MzsJCWlmIChyZXQpCiYjNDM7CQkJcmV0dXJuIHJldDsKIAotCXBoeV9sb29wYmFjayhwcml2LSZndDtkZXYtJmd0O3BoeWRldiwgZmFsc2UsIDApOwotCXJldHVybiByZXQ7CiYjNDM7CQlhdHRyLmRzdCA9IHByaXYtJmd0O2Rldi0mZ3Q7ZGV2X2FkZHI7CiYjNDM7CQlyZXQgPSBfX3N0bW1hY190ZXN0X2xvb3BiYWNrKHByaXYsICZhbXA7YXR0cik7CiYjNDM7CiYjNDM7CQlwaHlsaW5rX3Bjc19sb29wYmFjayhwY3MsIGZhbHNlKTsKJiM0MzsJCXJldHVybiByZXQ7CiYjNDM7CX0KJiM0MzsKJiM0MzsJcmV0dXJuIC1FT1BOT1RTVVBQOwogfQogCiBzdGF0aWMgaW50IHN0bW1hY190ZXN0X21tYyhzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYpCkBAIC0xOTg2LDYgJiM0MzsyMDE1LDkgQEAgdm9pZCBzdG1tYWNfc2VsZnRlc3RfcnVuKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCQlyZXQgPSAtRU9QTk9UU1VQUDsKIAkJCWlmIChkZXYtJmd0O3BoeWRldikKIAkJCQlyZXQgPSBwaHlfbG9vcGJhY2soZGV2LSZndDtwaHlkZXYsIHRydWUsIDApOwomIzQzOwkJCWVsc2UKJiM0MzsJCQkJcmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2soc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdiksCiYjNDM7CQkJCQkJCSAgIHRydWUpOwogCQkJaWYgKCFyZXQpCiAJCQkJYnJlYWs7CiAJCQlmYWxsdGhyb3VnaDsKQEAgLTIwMTksNiAmIzQzOzIwNTEsOSBAQCB2b2lkIHN0bW1hY19zZWxmdGVzdF9ydW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAkJCXJldCA9IC1FT1BOT1RTVVBQOwogCQkJaWYgKGRldi0mZ3Q7cGh5ZGV2KQogCQkJCXJldCA9IHBoeV9sb29wYmFjayhkZXYtJmd0O3BoeWRldiwgZmFsc2UsIDApOwomIzQzOwkJCWVsc2UKJiM0MzsJCQkJcmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2soc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdiksCiYjNDM7CQkJCQkJCSAgIGZhbHNlKTsKIAkJCWlmICghcmV0KQogCQkJCWJyZWFrOwogCQkJZmFsbHRocm91Z2g7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvcGh5bGluay5jIGIvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYwppbmRleCA1OWRmZTM1YWZhNTRmYy4uNjkyNDJjYWZmYWVmNTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYwpAQCAtOTk3LDYgJiM0Mzs5OTcsMjUgQEAgaW50IHBoeWxpbmtfcGNzX3ByZV9pbml0KHN0cnVjdCBwaHlsaW5rICpwbCwgc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpCiB9CiBFWFBPUlRfU1lNQk9MX0dQTChwaHlsaW5rX3Bjc19wcmVfaW5pdCk7CiAKJiM0MzsvKioKJiM0MzsgKiBwaHlsaW5rX3Bjc19sb29wYmFjaygpIC0gRW5hYmxlIG9yIGRpc2FibGUgbG9vcGJhY2sgYXQgdGhlIFBDUwomIzQzOyAqIEBwY3M6IGEgcG9pbnRlciB0byBhICZhbXA7c3RydWN0IHBoeWxpbmtfcGNzLgomIzQzOyAqIEBlbmFibGU6IHRydWUgdG8gZW5hYmxlIGxvb3BiYWNrLCBmYWxzZSB0byBkaXNhYmxlCiYjNDM7ICoKJiM0MzsgKiBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBtb2RlIGF0IHRoZSBQQ1MgbGV2ZWwuIFRoaXMgaXMgdXNlZCBieSBNQUMKJiM0MzsgKiBkcml2ZXJzIGZvciBzZWxmdGVzdCBwdXJwb3NlcyB3aGVuIG5vIGV4dGVybmFsIFBIWSBpcyBwcmVzZW50LgomIzQzOyAqCiYjNDM7ICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KJiM0MzsgKi8KJiM0MztpbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKQomIzQzO3sKJiM0MzsJaWYgKHBjcyAmYW1wOyZhbXA7IHBjcy0mZ3Q7b3BzLSZndDtwY3NfbG9vcGJhY2spCiYjNDM7CQlyZXR1cm4gcGNzLSZndDtvcHMtJmd0O3Bjc19sb29wYmFjayhwY3MsIGVuYWJsZSk7CiYjNDM7CiYjNDM7CXJldHVybiAtRU9QTk9UU1VQUDsKJiM0Mzt9CiYjNDM7RVhQT1JUX1NZTUJPTF9HUEwocGh5bGlua19wY3NfbG9vcGJhY2spOwomIzQzOwogc3RhdGljIHZvaWQgcGh5bGlua19tYWNfY29uZmlnKHN0cnVjdCBwaHlsaW5rICpwbCwKIAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgcGh5bGlua19saW5rX3N0YXRlICpzdGF0ZSkKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGh5bGluay5oIGIvaW5jbHVkZS9saW51eC9waHlsaW5rLmgKaW5kZXggMmJjMGRiM2Q1MmFjOGQuLjY2YzcwMTZkNGFjZGNiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaAomIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaApAQCAtNTE4LDYgJiM0Mzs1MTgsNyBAQCBzdHJ1Y3QgcGh5bGlua19wY3MgewogICoJCSAgICB0aGUgTUFDLgogICogQHBjc19wcmVfaW5pdDogY29uZmlndXJlIFBDUyBjb21wb25lbnRzIG5lY2Vzc2FyeSBmb3IgTUFDIGhhcmR3YXJlCiAgKiAgICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiBlLmcuIFJYIGNsb2NrIGZvciBzdG1tYWMuCiYjNDM7ICogQHBjc19sb29wYmFjazogZW5hYmxlL2Rpc2FibGUgbG9vcGJhY2sgbW9kZSBhdCB0aGUgUENTLgogICovCiBzdHJ1Y3QgcGh5bGlua19wY3Nfb3BzIHsKIAlpbnQgKCpwY3NfdmFsaWRhdGUpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCB1bnNpZ25lZCBsb25nICpzdXBwb3J0ZWQsCkBAIC01NDIsNiAmIzQzOzU0Myw3IEBAIHN0cnVjdCBwaHlsaW5rX3Bjc19vcHMgewogCXZvaWQgKCpwY3NfZGlzYWJsZV9lZWUpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTsKIAl2b2lkICgqcGNzX2VuYWJsZV9lZWUpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTsKIAlpbnQgKCpwY3NfcHJlX2luaXQpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTsKJiM0MzsJaW50ICgqcGNzX2xvb3BiYWNrKShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpOwogfTsKIAogI2lmIDAgLyogRm9yIGtlcm5lbC1kb2MgcHVycG9zZXMgb25seS4gKi8KQEAgLTcxNyw4ICYjNDM7NzE5LDIyIEBAIHZvaWQgcGNzX2VuYWJsZV9lZWUoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpOwogICovCiBpbnQgcGNzX3ByZV9pbml0KHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTsKIAomIzQzOy8qKgomIzQzOyAqIHBjc19sb29wYmFjaygpIC0gRW5hYmxlIG9yIGRpc2FibGUgbG9vcGJhY2sgYXQgdGhlIFBDUwomIzQzOyAqIEBwY3M6IGEgcG9pbnRlciB0byBhICZhbXA7c3RydWN0IHBoeWxpbmtfcGNzLgomIzQzOyAqIEBlbmFibGU6IHRydWUgdG8gZW5hYmxlIGxvb3BiYWNrLCBmYWxzZSB0byBkaXNhYmxlCiYjNDM7ICoKJiM0MzsgKiBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBtb2RlIGF0IHRoZSBQQ1MgbGV2ZWwuIFRoaXMgaXMgdXNlZCBieSBNQUMKJiM0MzsgKiBkcml2ZXJzIGZvciBzZWxmdGVzdCBwdXJwb3NlcyB3aGVuIG5vIGV4dGVybmFsIFBIWSBpcyBwcmVzZW50LgomIzQzOyAqCiYjNDM7ICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgomIzQzOyAqLwomIzQzO2ludCBwY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKTsKJiM0MzsKICNlbmRpZgogCiYjNDM7aW50IHBoeWxpbmtfcGNzX2xvb3BiYWNrKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCBib29sIGVuYWJsZSk7CiYjNDM7CiBzdHJ1Y3QgcGh5bGluayAqcGh5bGlua19jcmVhdGUoc3RydWN0IHBoeWxpbmtfY29uZmlnICosCiAJCQkgICAgICAgY29uc3Qgc3RydWN0IGZ3bm9kZV9oYW5kbGUgKiwKIAkJCSAgICAgICBwaHlfaW50ZXJmYWNlX3QsCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4xbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ0NjQKCQkJCQkJCW91dHB1dDogMjAKCQkJCQkJCXRob3VnaHRzOiA3MDcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRnV6emluZyBQb3RlbnRpYWwgb2YgYSBOZXcgUENTIExvb3BiYWNrIE9wZXJhdGlvbioqCgpPa2F5LCBzbyBJJiMzOTt2ZSBnb3QgdGhpcyBwYXRjaCBpbnRyb2R1Y2luZyBhIGBwY3NfbG9vcGJhY2tgIG9wZXJhdGlvbiB3aXRoaW4gYHBoeWxpbmtfcGNzX29wc2AgYW5kIHNwZWNpZmljYWxseSBpbXBsZW1lbnRpbmcgaXQgZm9yIGBkd21hY19pbnRlZ3JhdGVkX3Bjc19sb29wYmFja2AgaW4gYHN0bW1hY19wY3MuY2AuICBJdCYjMzk7cyBhbHNvIGJlaW5nIHVzZWQgd2l0aGluIGBzdG1tYWNfc2VsZnRlc3RzLmNgIHdoZW4gd2UmIzM5O3JlIG5vdCBkZWFsaW5nIHdpdGggYW4gZXh0ZXJuYWwgUEhZLiBUaGUgY29kZSB0b3VjaGVzIGEgZmV3IGZpbGVzOiBgc3RtbWFjX3Bjcy5jYCwgYHN0bW1hY19zZWxmdGVzdHMuY2AsIGBwaHlsaW5rLmNgLCBhbmQgdGhlIGBwaHlsaW5rLmhgIGluY2x1ZGUgZmlsZS4gIE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCAmIzM0O0NhbiB3ZSBmdXp6IHRoaXM/JiMzNDsKClRoZSBjaGFuZ2VzIGFyZSB3aXRoaW4gdGhlIFNUTWljcm9lbGVjdHJvbmljcyBzdG1tYWMgRXRoZXJuZXQgZHJpdmVyIGFuZCBwaHlsaW5rLCByaWdodD8gVGhlIHN0bW1hYyBkcml2ZXIgaXMgZm9yIHRoZSBTeW5vcHN5cyBEZXNpZ25XYXJlIE1BQywgd2hpY2ggaXMgdXN1YWxseSBoYXJkd2FyZS1zcGVjaWZpYy4gVGhhdCYjMzk7cyB0aGUgZmlyc3QgaHVyZGxlIOKAkyBpcyB0aGlzIGNvZGUgZXZlbiByZWFjaGFibGUgaW4gYSB2aXJ0dWFsaXplZCBvciBlbXVsYXRlZCBlbnZpcm9ubWVudD8gIHN0bW1hYyBpcyBhIHBsYXRmb3JtIGRyaXZlciBwcmltYXJpbHksIGJ1dCBpdCAqZG9lcyogaGF2ZSBhIFBDSSB3cmFwcGVyIChgc3RtbWFjX3BjaS5jYCkuIFRoYXQmIzM5O3MgaW50ZXJlc3Rpbmc7IGl0JiMzOTtzIGEgZ29vZCBzaWduLiAgVGhlIHF1ZXN0aW9uIGlzLCBjYW4gc3RtbWFjIGJlIGVtdWxhdGVkLCBvciBpcyBpdCBwdXJlbHkgcmVsaWFudCBvbiBoYXJkd2FyZT8KCkFoLCByaWdodCwgbG9va2luZyBtb3JlIGNsb3NlbHksIHRoZSBzdG1tYWMgUENJIGRyaXZlciBjbGFpbXMgdG8gc3VwcG9ydCBzb21lIEludGVsIHBsYXRmb3JtcywgbGlrZSBRdWFyayBhbmQgQXBvbGxvIExha2UuIFRoYXQmIzM5O3MgcHJvbWlzaW5nIGZvciBwb3RlbnRpYWwgZnV6emluZy4gR2VuZXJhbGx5LCBoYXJkd2FyZS1zcGVjaWZpYyBFdGhlcm5ldCBkcml2ZXJzIGFyZSBkaWZmaWN1bHQgdG8gZnV6eiB1bmxlc3MgdGhleSBoYXZlIGEgdmlydHVhbCBkZXZpY2UgY29tcG9uZW50IG9yIGFyZSBwYXJ0IG9mIGEgbW9yZSB3aWRlbHkgZW11bGF0ZWQgUENJIGRldmljZS4gSG93ZXZlciwgdGhpcyBwYXRjaCAqZG9lcyogdHJpZ2dlciBgc3RtbWFjX3NlbGZ0ZXN0cy5jYCB2aWEgdGhlIGV0aHRvb2wgc2VsZnRlc3QgbWVjaGFuaXNtLiBUaGF0JiMzOTtzIGEgZ29vZCBlbnRyeSBwb2ludC4KCk9rYXksIGlzIHN0bW1hYyBlbXVsYXRlZCBpbiBRRU1VPyBRRU1VIGRvZXNuJiMzOTt0IHNlZW0gdG8gaGF2ZSBzdG1tYWMgc3VwcG9ydCBvdXQgb2YgdGhlIGJveCwgYnV0IG1heWJlIHRoZXJlJiMzOTtzIHNvbWV0aGluZyByZWxldmFudD8gIExldCBtZSBzZWUuLi4gUUVNVSBoYXMgZW11bGF0aW9ucyBmb3IgYSBidW5jaCBvZiBvdGhlciBuZXR3b3JrIGNhcmRzOiBgaW14X2ZlY2AsIGBjYWRlbmNlX2dlbWAsIGBpZ2JgLCBgZTEwMDBgLCBgcnRsODEzOWAsIGB0dWxpcGAsIGB2bXhuZXQzYCwgYHN1bmdlbWAsIGBzdW5obWVgLCBgcGNuZXRgLCBgbmUyMDAwYCwgYW5kIGBlZXBybzEwMGAuIEJ1dCBzdG1tYWMgc3BlY2lmaWNhbGx5PyBXYWl0LCBRRU1VICpkb2VzKiBlbXVsYXRlICYjMzQ7ZGVzaWdud2FyZSYjMzQ7IEV0aGVybmV0ISBUaGUgZmlsZSBgaHcvbmV0L2Rlc2lnbndhcmUuY2AgZXhpc3RzLiBUaGF0JiMzOTtzIGEgaHVnZSBjbHVlLgoKTm93LCBkb2VzIHRoZSBgc3RtbWFjYCBkcml2ZXIgYWN0dWFsbHkgYmluZCB0byB0aGUgUUVNVSBgZGVzaWdud2FyZWAgZW11bGF0aW9uPyBRRU1VJiMzOTtzIGBkZXNpZ253YXJlYCBpcyBhIHBsYXRmb3JtIGRldmljZSwgd2hpY2ggbWVhbnMgaXQgd291bGQgdHlwaWNhbGx5IGJlIHVzZWQgb24gY2VydGFpbiBBUk0gYm9hcmRzIGxpa2UgYG1jaW14NnVsLWV2a2AsIGBzaWZpdmVfdWAgb3IgYGFsbHdpbm5lci1oM2AuIEJ1dCBzeXprYWxsZXIgZ2VuZXJhbGx5IHdvcmtzIGJlc3Qgd2l0aCBQQ0kgZGV2aWNlcyBvciB2aXJ0dWFsIGRldmljZXMuIFNvLCBkb2VzIHN0bW1hYyBoYXZlIFBDSSBzdXBwb3J0PwoKTGV0IG1lIGNoZWNrIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmNgLi4uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3RtbWFjX3BjaSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMucnN0PTEwNz1zeW50YXggKGUuZy4gZm9yIFBDSSBtb2R1bGUpOjpcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy5yc3QtMTA4LVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L3N0bWljcm8vc3RtbWFjLnJzdDoxMDk6ICAgIG1vZHByb2JlIHN0bW1hY19wY2kgW1x1MDAzY29wdGlvblx1MDAzZT1cdTAwM2NWQUwxXHUwMDNlLFx1MDAzY1ZBTDJcdTAwM2UsLi4uXVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L3N0bWljcm8vc3RtbWFjLnJzdC0xMTAtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU9NTM9b2JqLSQoQ09ORklHX0RXTUFDX01PVE9SQ09NTSlcdCYjNDM7PSBkd21hYy1tb3RvcmNvbW0ub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NTQ6c3RtbWFjLXBjaS1vYmpzOj0gc3RtbWFjX3BjaS5vXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz0yNT1zdHJ1Y3QgaW50ZWxfcHJpdl9kYXRhIHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTM5LSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo0MDpzdHJ1Y3Qgc3RtbWFjX3BjaV9mdW5jX2RhdGEge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy00MS1cdHVuc2lnbmVkIGludCBmdW5jO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtNDQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjQ1OnN0cnVjdCBzdG1tYWNfcGNpX2RtaV9kYXRhIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6NDY6XHRjb25zdCBzdHJ1Y3Qgc3RtbWFjX3BjaV9mdW5jX2RhdGEgKmZ1bmM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTQ3LVx0c2l6ZV90IG5mdW5jcztcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTQ5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo1MDpzdHJ1Y3Qgc3RtbWFjX3BjaV9pbmZvIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtNTEtXHRpbnQgKCpzZXR1cCkoc3RydWN0IHBjaV9kZXYgKnBkZXYsIHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdCk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz05MT1zdGF0aWMgY29uc3QgaW50IGFkbG5fdHNuX2xhbmVfcmVnc1tdID0gezZ9O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6OTM6c3RhdGljIGludCBzdG1tYWNfcGNpX2ZpbmRfcGh5X2FkZHIoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTk0LVx0XHRcdFx0ICAgIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkbWlfbGlzdClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTUte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo5NjpcdGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2Z1bmNfZGF0YSAqZnVuY19kYXRhO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo5NzpcdGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2RtaV9kYXRhICpkbWlfZGF0YTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTgtXHRjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCAqZG1pX2lkO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM9NzU1PXN0YXRpYyBpbnQgZWhsX3NnbWlpX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy03NzQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjc3NTpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfc2dtaWkxZ19pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy03NzYtXHQuc2V0dXAgPSBlaGxfc2dtaWlfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTc3OT1zdGF0aWMgaW50IGVobF9yZ21paV9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtNzg5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo3OTA6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gZWhsX3JnbWlpMWdfaW5mbyA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtNzkxLVx0LnNldHVwID0gZWhsX3JnbWlpX2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz04MTA9c3RhdGljIGludCBlaGxfcHNlMF9yZ21paTFnX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy04MTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjgxNzpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfcHNlMF9yZ21paTFnX2luZm8gPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTgxOC1cdC5zZXR1cCA9IGVobF9wc2UwX3JnbWlpMWdfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTgyMT1zdGF0aWMgaW50IGVobF9wc2UwX3NnbWlpMWdfZGF0YShzdHJ1Y3QgcGNpX2RldiAqcGRldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTgzOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6ODM5OnN0YXRpYyBzdHJ1Y3Qgc3RtbWFjX3BjaV9pbmZvIGVobF9wc2UwX3NnbWlpMWdfaW5mbyA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtODQwLVx0LnNldHVwID0gZWhsX3BzZTBfc2dtaWkxZ19kYXRhLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM9ODU5PXN0YXRpYyBpbnQgZWhsX3BzZTFfcmdtaWkxZ19kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtODY1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo4NjY6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gZWhsX3BzZTFfcmdtaWkxZ19pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy04NjctXHQuc2V0dXAgPSBlaGxfcHNlMV9yZ21paTFnX2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz04NzA9c3RhdGljIGludCBlaGxfcHNlMV9zZ21paTFnX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy04ODctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjg4ODpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfcHNlMV9zZ21paTFnX2luZm8gPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTg4OS1cdC5zZXR1cCA9IGVobF9wc2UxX3NnbWlpMWdfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTkxMz1zdGF0aWMgaW50IHRnbF9zZ21paV9waHkwX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05MjEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjkyMjpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyB0Z2xfc2dtaWkxZ19waHkwX2luZm8gPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTkyMy1cdC5zZXR1cCA9IHRnbF9zZ21paV9waHkwX2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz05MjY9c3RhdGljIGludCB0Z2xfc2dtaWlfcGh5MV9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTM0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo5MzU6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gdGdsX3NnbWlpMWdfcGh5MV9pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05MzYtXHQuc2V0dXAgPSB0Z2xfc2dtaWlfcGh5MV9kYXRhLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM9OTM5PXN0YXRpYyBpbnQgYWRsc19zZ21paV9waHkwX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05NDgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjk0OTpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBhZGxzX3NnbWlpMWdfcGh5MF9pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05NTAtXHQuc2V0dXAgPSBhZGxzX3NnbWlpX3BoeTBfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTk1Mz1zdGF0aWMgaW50IGFkbHNfc2dtaWlfcGh5MV9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTYyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo5NjM6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gYWRsc19zZ21paTFnX3BoeTFfaW5mbyA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTY0LVx0LnNldHVwID0gYWRsc19zZ21paV9waHkxX2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz05OTI9c3RhdGljIGludCBhZGxuX3NnbWlpX3BoeTBfZGF0YShzdHJ1Y3QgcGNpX2RldiAqcGRldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwMTAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjEwMTE6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gYWRsbl9zZ21paTFnX3BoeTBfaW5mbyA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTAxMi1cdC5zZXR1cCA9IGFkbG5fc2dtaWlfcGh5MF9kYXRhLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTAxNC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTAxNTpzdGF0aWMgY29uc3Qgc3RydWN0IHN0bW1hY19wY2lfZnVuY19kYXRhIGdhbGlsZW9fc3RtbWFjX2Z1bmNfZGF0YVtdID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMDE2LVx0e1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTAyMS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTAyMjpzdGF0aWMgY29uc3Qgc3RydWN0IHN0bW1hY19wY2lfZG1pX2RhdGEgZ2FsaWxlb19zdG1tYWNfZG1pX2RhdGEgPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwMjMtXHQuZnVuYyA9IGdhbGlsZW9fc3RtbWFjX2Z1bmNfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwMjYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjEwMjc6c3RhdGljIGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2Z1bmNfZGF0YSBpb3QyMDQwX3N0bW1hY19mdW5jX2RhdGFbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTAyOC1cdHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwMzctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjEwMzg6c3RhdGljIGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2RtaV9kYXRhIGlvdDIwNDBfc3RtbWFjX2RtaV9kYXRhID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMDM5LVx0LmZ1bmMgPSBpb3QyMDQwX3N0bW1hY19mdW5jX2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz0xMDc4PXN0YXRpYyBpbnQgcXVhcmtfZGVmYXVsdF9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTA4OC1cdCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxMDg5Olx0cmV0ID0gc3RtbWFjX3BjaV9maW5kX3BoeV9hZGRyKHBkZXYsIHF1YXJrX3BjaV9kbWkpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMDkwLVx0aWYgKHJldCBcdTAwM2MgMCkge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTExMy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTExNDpzdGF0aWMgY29uc3Qgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBxdWFya19pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMTE1LVx0LnNldHVwID0gcXVhcmtfZGVmYXVsdF9kYXRhLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM9MTIzMj1zdGF0aWMgaW50IGludGVsX2V0aF9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMjM0LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTIzNTpcdHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gKmluZm8gPSAoc3RydWN0IHN0bW1hY19wY2lfaW5mbyAqKWlkLVx1MDAzZWRyaXZlcl9kYXRhO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMjM2LVx0c3RydWN0IGludGVsX3ByaXZfZGF0YSAqaW50ZWxfcHJpdjtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jPTc2PXN0cnVjdCBsb29uZ3Nvbl9kYXRhIHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTgxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYzo4MjpzdHJ1Y3Qgc3RtbWFjX3BjaV9pbmZvIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtODMtXHRpbnQgKCpzZXR1cCkoc3RydWN0IHBjaV9kZXYgKnBkZXYsIHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdCk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYz0xMzI9c3RhdGljIGludCBsb29uZ3Nvbl9nbWFjX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy0xNDEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjE0MjpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBsb29uZ3Nvbl9nbWFjX3BjaV9pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy0xNDMtXHQuc2V0dXAgPSBsb29uZ3Nvbl9nbWFjX2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYz0xNjU9c3RhdGljIGludCBsb29uZ3Nvbl9nbmV0X2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy0xNzYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjE3NzpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBsb29uZ3Nvbl9nbmV0X3BjaV9pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy0xNzgtXHQuc2V0dXAgPSBsb29uZ3Nvbl9nbmV0X2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYz00OTg9c3RhdGljIGludCBsb29uZ3Nvbl9kd21hY19wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNTAxLVx0c3RydWN0IHN0bW1hY19yZXNvdXJjZXMgcmVzID0ge307XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjUwMjpcdHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gKmluZm87XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTUwMy1cdHN0cnVjdCBsb29uZ3Nvbl9kYXRhICpsZDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTUzNy1cdHBsYXQtXHUwMDNlZml4X3NvY19yZXNldCA9IGxvb25nc29uX2R3bWFjX2ZpeF9yZXNldDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM6NTM4Olx0cGxhdC1cdTAwM2VzdXNwZW5kID0gc3RtbWFjX3BjaV9wbGF0X3N1c3BlbmQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjUzOTpcdHBsYXQtXHUwMDNlcmVzdW1lID0gc3RtbWFjX3BjaV9wbGF0X3Jlc3VtZTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNTQwLVx0bGQtXHUwMDNlZGV2ID0gXHUwMDI2cGRldi1cdTAwM2VkZXY7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy01NDItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjU0MzpcdGluZm8gPSAoc3RydWN0IHN0bW1hY19wY2lfaW5mbyAqKWlkLVx1MDAzZWRyaXZlcl9kYXRhO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy01NDQtXHRyZXQgPSBpbmZvLVx1MDAzZXNldHVwKHBkZXYsIHBsYXQpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jPTE4OD1zdGF0aWMgaW50IG1vdG9yY29tbV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpic3BfcHJpdilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYy0xOTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYzoxOTM6XHRyZXQgPSBzdG1tYWNfcGNpX3BsYXRfcmVzdW1lKGRldiwgYnNwX3ByaXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmMtMTk0LVx0aWYgKHJldClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYz0yMDg9bW90b3Jjb21tX2RlZmF1bHRfcGxhdF9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTI0OC1cdHBsYXQtXHUwMDNlY29yZV90eXBlXHRcdD0gRFdNQUNfQ09SRV9HTUFDNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jOjI0OTpcdHBsYXQtXHUwMDNlc3VzcGVuZFx0XHQ9IHN0bW1hY19wY2lfcGxhdF9zdXNwZW5kO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmMtMjUwLVx0cGxhdC1cdTAwM2VyZXN1bWVcdFx0PSBtb3RvcmNvbW1fcmVzdW1lO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy0xMS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYzoxMjppbnQgc3RtbWFjX3BjaV9wbGF0X3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpic3BfcHJpdilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy0xMy17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5jLTI1LX1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYzoyNjpFWFBPUlRfU1lNQk9MX0dQTChzdG1tYWNfcGNpX3BsYXRfc3VzcGVuZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbGlicGNpLmMtMjctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbGlicGNpLmM6Mjg6aW50IHN0bW1hY19wY2lfcGxhdF9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpic3BfcHJpdilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy0yOS17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5jLTQzLX1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYzo0NDpFWFBPUlRfU1lNQk9MX0dQTChzdG1tYWNfcGNpX3BsYXRfcmVzdW1lKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy00NS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbGlicGNpLmgtOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuaDo5OmludCBzdG1tYWNfcGNpX3BsYXRfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmJzcF9wcml2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuaDoxMDppbnQgc3RtbWFjX3BjaV9wbGF0X3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmJzcF9wcml2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuaC0xMS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MTk6c3RydWN0IHN0bW1hY19wY2lfaW5mbyB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjAtXHRpbnQgKCpzZXR1cCkoc3RydWN0IHBjaV9kZXYgKnBkZXYsIHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdCk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jPTMzPXN0YXRpYyBpbnQgc3RtbWFjX2RlZmF1bHRfZGF0YShzdHJ1Y3QgcGNpX2RldiAqcGRldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtNDktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6NTA6c3RhdGljIGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gc3RtbWFjX3BjaV9pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTUxLVx0LnNldHVwID0gc3RtbWFjX2RlZmF1bHRfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM9NTQ9c3RhdGljIGludCBzbnBzX2dtYWM1X2RlZmF1bHRfZGF0YShzdHJ1Y3QgcGNpX2RldiAqcGRldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTAxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjEwMjpzdGF0aWMgY29uc3Qgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBzbnBzX2dtYWM1X3BjaV9pbmZvID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTEwMy1cdC5zZXR1cCA9IHNucHNfZ21hYzVfZGVmYXVsdF9kYXRhLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xMDYtLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MTA3OiAqIHN0bW1hY19wY2lfcHJvYmVcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xMDgtICpcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTE3LSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjExODpzdGF0aWMgaW50IHN0bW1hY19wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTE5LVx0XHRcdCAgICBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTIwLXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxMjE6XHRzdHJ1Y3Qgc3RtbWFjX3BjaV9pbmZvICppbmZvID0gKHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gKilpZC1cdTAwM2Vkcml2ZXJfZGF0YTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xMjItXHRzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTE3OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxODA6XHRwbGF0LVx1MDAzZXN1c3BlbmQgPSBzdG1tYWNfcGNpX3BsYXRfc3VzcGVuZDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxODE6XHRwbGF0LVx1MDAzZXJlc3VtZSA9IHN0bW1hY19wY2lfcGxhdF9yZXN1bWU7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTgyLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xODYtLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MTg3OiAqIHN0bW1hY19wY2lfcmVtb3ZlXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTg4LSAqXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTE5MS0gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxOTI6c3RhdGljIHZvaWQgc3RtbWFjX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTkzLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM9MjAzPXN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBzdG1tYWNfaWRfdGFibGVbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMDQ6XHR7IFBDSV9ERVZJQ0VfREFUQShTVE1NQUMsIFNUTU1BQywgXHUwMDI2c3RtbWFjX3BjaV9pbmZvKSB9LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjIwNTpcdHsgUENJX0RFVklDRV9EQVRBKFNUTUlDUk8sIE1BQywgXHUwMDI2c3RtbWFjX3BjaV9pbmZvKSB9LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIwNi1cdHsgUENJX0RFVklDRV9EQVRBKFNZTk9QU1lTLCBHTUFDNV9JRCwgXHUwMDI2c25wc19nbWFjNV9wY2lfaW5mbykgfSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM9MjEwPU1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBzdG1tYWNfaWRfdGFibGUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxMS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMTI6c3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIHN0bW1hY19wY2lfZHJpdmVyID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxMy1cdC5uYW1lID0gU1RNTUFDX1JFU09VUkNFX05BTUUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjE0LVx0LmlkX3RhYmxlID0gc3RtbWFjX2lkX3RhYmxlLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjIxNTpcdC5wcm9iZSA9IHN0bW1hY19wY2lfcHJvYmUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MjE2Olx0LnJlbW92ZSA9IHN0bW1hY19wY2lfcmVtb3ZlLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxNy1cdC5kcml2ZXIgICAgICAgICA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjIxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjIyMjptb2R1bGVfcGNpX2RyaXZlcihzdG1tYWNfcGNpX2RyaXZlcik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjIzLVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDEzMjI1CgkJCQkJCQlvdXRwdXQ6IDU2CgkJCQkJCQl0aG91Z2h0czogMzkwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgdGhlIGBzdG1tYWNgIFBDSSBEcml2ZXIgd2l0aCBQQ1MgTG9vcGJhY2sqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIHRoZSBgc3RtbWFjX3BjaWAgZHJpdmVyLiBSaWdodCwgaXQmIzM5O3MgYSBQQ0kgZHJpdmVyLCBzbyBpdCBiaW5kcyB0byBQQ0kgZGV2aWNlcy4gVGhlIGNvcmUgb2YgdGhpcyBzZWVtcyB0byBiZSB0aGUgYWRkaXRpb24gb2YgdGhpcyBgZHdtYWNfaW50ZWdyYXRlZF9wY3NfbG9vcGJhY2tgIGZ1bmN0aW9uLCB3aGljaCBpcyB0aGVuIHVzZWQgaW4gYHN0bW1hY19zZWxmdGVzdHMuY2AuIFRoZSBzZWxmdGVzdCBpdHNlbGYgaXMgaW52b2tlZCB2aWEgYGV0aHRvb2wgLXRgLCB3aGljaCBpcyBpbXBvcnRhbnQgYmVjYXVzZSBJIGtub3cgc3l6a2FsbGVyIGNhbiB0cmlnZ2VyIHRoYXQgdGhyb3VnaCBuZXRsaW5rIG9yIGlvY3RsLiBUaGF0JiMzOTtzIGltbWVkaWF0ZWx5IGludGVyZXN0aW5nLCBjb3VsZCB0aGlzIGJlIGEgZnV6emluZyB0YXJnZXQ/CgpUaGUgcGF0Y2ggaXMgaW50cm9kdWNpbmcgYSBsb29wYmFjayBjYXBhYmlsaXR5IGZvciB0aGUgaW50ZWdyYXRlZCBQQ1MsIHdoaWNoIGltcGxpZXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gdGhlIGRyaXZlciBpdHNlbGYuIEJ1dCBoYW5nIG9uLCBkb2VzIGl0IG1vZGlmeSBjb3JlIGtlcm5lbCBsb2dpYz8gQWgsIHllcywgaXQgKmRvZXMqLiBJdCBtb2RpZmllcyBgcGh5bGluay5jYCBhbmQgYWRkcyBgcGh5bGlua19wY3NfbG9vcGJhY2tgIGFuZCBgcGNzX2xvb3BiYWNrYCB0byBgc3RydWN0IHBoeWxpbmtfcGNzX29wc2AuIFRoaXMgbG9va3MgbGlrZSBhIG5ldyBBUEkgc3BlY2lmaWNhbGx5IHdpdGhpbiBgcGh5bGlua2AuIEFuZCBzcGVjaWZpY2FsbHksIGl0ICppbXBsZW1lbnRzKiBpdCBmb3IgYHN0bW1hY2AuCgpUaGUgbmV4dCBpbXBvcnRhbnQgcXVlc3Rpb24gaXMsIGNhbiB0aGlzIGJlIHRyaWdnZXJlZCBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50PyBJZiBgc3RtbWFjYCBpc24mIzM5O3QgZW11bGF0ZWQsIHRoYXQgcGFydCB3aWxsIGJlIHVucmVhY2hhYmxlLiBCdXQgdGhlbiBhZ2FpbiwgYHBoeWxpbmtfcGNzX2xvb3BiYWNrYCBpcyBleHBvcnRlZC4gVGhhdCBtZWFucyBvdGhlciBkcml2ZXJzIGNvdWxkIHBvdGVudGlhbGx5IHVzZSB0aGlzIG5ldyBmdW5jdGlvbmFsaXR5IGluIHRoZSBmdXR1cmUsIGV2ZW4gdGhvdWdoIGN1cnJlbnRseSwgb25seSBgc3RtbWFjYCBpcyBkb2luZyBzby4gSXQgYnJvYWRlbnMgdGhlIHNjb3BlIG9mIHdoYXQgaXMgYmVpbmcgY2hhbmdlZCwgdGhvdWdoLCBzbyBpdCYjMzk7cyB3b3J0aCBkZWVwZXIgY29uc2lkZXJhdGlvbi4KCk5vdywgZG9lcyBRRU1VIGVtdWxhdGUgYW55IG9mIHRoZSBQQ0kgSURzIHRoYXQgdGhlIGBzdG1tYWNgIGRyaXZlciBoYW5kbGVzPyBMZXQgbWUgY2hlY2sgd2hpY2ggUENJIElEcyBpdCBiaW5kcyB0by4gTG9va3MgbGlrZTogYFBDSV9ERVZJQ0VfREFUQShTVE1NQUMsIFNUTU1BQywgJmFtcDtzdG1tYWNfcGNpX2luZm8pYCwgYFBDSV9ERVZJQ0VfREFUQShTVE1JQ1JPLCBNQUMsICZhbXA7c3RtbWFjX3BjaV9pbmZvKWAsIGFuZCBgUENJX0RFVklDRV9EQVRBKFNZTk9QU1lTLCBHTUFDNV9JRCwgJmFtcDtzbnBzX2dtYWM1X3BjaV9pbmZvKWAuIFJpZ2h0LCBJJiMzOTtsbCBuZWVkIHRvIGNoZWNrIGBpbmNsdWRlL2xpbnV4L3BjaV9pZHMuaGAgdG8gc2VlIGhvdyB0aG9zZSB0cmFuc2xhdGUgYW5kIHdoZXRoZXIgYW55IG9mIHRob3NlIGFyZSBlbXVsYXRlZCB3aXRoaW4gUUVNVS4gVGhhdCYjMzk7cyB0aGUgbmV4dCBzdGVwIHRvIGZpZ3VyZSBvdXQgdGhlIHJlYWNoYWJpbGl0eSBvZiB0aGlzIG5ldyBBUEkuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7UENJX0RFVklDRV9JRF9TVE1NQUNfU1RNTUFDfFBDSV9ERVZJQ0VfSURfU1RNSUNST19NQUN8UENJX0RFVklDRV9JRF9TWU5PUFNZU19HTUFDNV9JRCYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM9MTkyPXN0YXRpYyB2b2lkIHN0bW1hY19wY2lfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xOTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MjAwOiNkZWZpbmUgUENJX0RFVklDRV9JRF9TVE1NQUNfU1RNTUFDXHRcdDB4MTEwOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjIwMTojZGVmaW5lIFBDSV9ERVZJQ0VfSURfU1lOT1BTWVNfR01BQzVfSURcdFx0MHg3MTAyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjAyLVxuLS1cbmluY2x1ZGUvbGludXgvcGNpX2lkcy5oLTg2MS0jZGVmaW5lIFBDSV9ERVZJQ0VfSURfU1RNSUNST19TUElfSFNcdDB4Q0MwOFxuaW5jbHVkZS9saW51eC9wY2lfaWRzLmg6ODYyOiNkZWZpbmUgUENJX0RFVklDRV9JRF9TVE1JQ1JPX01BQ1x0MHhDQzA5XG5pbmNsdWRlL2xpbnV4L3BjaV9pZHMuaC04NjMtI2RlZmluZSBQQ0lfREVWSUNFX0lEX1NUTUlDUk9fU0RJT19FTU1DIDB4Q0MwQVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE0NTIyCgkJCQkJCQlvdXRwdXQ6IDIxCgkJCQkJCQl0aG91Z2h0czogMzY3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IFN5emthbGxlciBQQ0kgRnV6emluZyBQZXJzcGVjdGl2ZSoqCgpPa2F5LCBzbyBJJiMzOTttIHRoaW5raW5nIGFib3V0IFN5emthbGxlciYjMzk7cyBhcHByb2FjaCB0byBQQ0kgZGV2aWNlIGZ1enppbmcuIE15IGluaXRpYWwgdGhvdWdodCB3YXMgdGhhdCBgc3l6X3BjaV9zZXR1cGAgY291bGQgcG90ZW50aWFsbHkgZW11bGF0ZSBhcmJpdHJhcnkgUENJIGRldmljZXMsIGFzIGxvbmcgYXMgdGhlIGtlcm5lbCBoYWQgYSBjb3JyZXNwb25kaW5nIGRyaXZlci4gQnV0IHRoYXQmIzM5O3Mgbm90IHF1aXRlIHJpZ2h0LiBJdCBzZWVtcyBTeXprYWxsZXIgZG9lc24mIzM5O3QgZGlyZWN0bHkgZW11bGF0ZSB0aGUgaGFyZHdhcmUgTU1JTyByZWdpc3RlcnMuCgpJdCBhcHBlYXJzIFN5emthbGxlciAqZG9lcyogaGF2ZSBhIGB2aGNpL3BjaWAgcHNldWRvLWRldmljZSB3aGljaCBpbmplY3RzIFBDSSBkZXZpY2VzLCBidXQgaXQmIzM5O3Mgbm90IHRoZSBzYW1lIGFzIGZ1bGwgZW11bGF0aW9uLCByaWdodD8gU28sIGBzeXpfcGNpX3NldHVwYCBpc24mIzM5O3QgdXNlZCB0byAqaW5qZWN0KiBkZXZpY2VzLiBJdCYjMzk7cyBtb3JlIG9mIGEgY29uZmlndXJhdGlvbiB0b29sLCBzZXR0aW5nIHRoaW5ncyB1cCwgYW5kIGlmIHRoZSBkcml2ZXIgaXMgbWFraW5nIE1NSU8gcmVhZHMvd3JpdGVzLCBpdCYjMzk7cyBqdXN0IGRlYWxpbmcgd2l0aCBkdW1teSBtZW1vcnksIHBvdGVudGlhbGx5IHJldHVybmluZyB6ZXJvcyBvciBvbmVzLCBvciBjYXVzaW5nIGEgY3Jhc2ggaWYgdGhlIGRyaXZlciBuZWVkcyBzcGVjaWZpYyBoYXJkd2FyZSByZXNwb25zZXMuCgpIb2xkIG9uLCBJIHRob3VnaHQgU3l6a2FsbGVyIGhhZCAqc29tZSogZm9ybSBvZiBQQ0kgZGV2aWNlIGVtdWxhdG9yPyBObywgdGhhdCYjMzk7cyBub3QgaXQgZWl0aGVyLiBUaGUgUENJIGZ1enppbmcsIHdoZXRoZXIgaXTigJlzIHRocm91Z2ggYHN5el9wY2lfc2V0dXBgIG9yIGV2ZW4gdGhyb3VnaCBgc3l6X2t2bV9zZXR1cF9jcHVgLCBpcyBwcmltYXJpbHkgYWltZWQgYXQgZWl0aGVyIHRoZSBQQ0kgY29yZSBpdHNlbGYgb3IgZHJpdmVycyByb2J1c3QgZW5vdWdoIHRvIGhhbmRsZSB0aGUgZHVtbXkgTU1JTyBiZWhhdmlvci4gU28sIG5vdCBhIGZ1bGwgZW11bGF0b3IsIHJlYWxseS4KClNvIGl0IGlzIG5vdCBjb3JyZWN0IHRvIGNsYWltIFN5emthbGxlciBlbXVsYXRlcyBQQ0kgZHJpdmVycyB0aHJvdWdoIHZoY2ksIGl0IHVzZXMgdGhlIGBwY2lfdGVzdGAgZnJhbWV3b3JrIG9yIHNvbWV0aGluZyBzaW1pbGFyLCByaWdodD8gTm8sIG5vdCBxdWl0ZS4gVGhlIGNvcnJlY3QgaWRlYSBpcyB0aGF0IGBzeXpfcGNpX3NldHVwYCBpbmplY3RzIGEgUENJIGRldmljZSwgZWl0aGVyIHRocm91Z2ggYSBjdXN0b20ga2VybmVsIG1vZHVsZSBvciBtYXliZSBsZXZlcmFnaW5nIFFFTVUmIzM5O3MgYHBjaS10ZXN0ZGV2YC4KCldhaXQsIGlzbiYjMzk7dCBgc3l6X3BjaV9zZXR1cGAgbm90IGEgcHNldWRvLXN5c2NhbGw/IEFoYSEgUmlnaHQsIGl0JiMzOTtzIGEgU3l6a2FsbGVyIGZ1bmN0aW9uLCBub3QgYSBzeXN0ZW0gY2FsbCBpbiBpdHNlbGYuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSBnZXQgdGhhdCBzdHJhaWdodC4gTGV0IG1lIGRvdWJsZS1jaGVjay4gSSBzZWUgaXQgaW4gYHN5cy9saW51eC9wY2kudHh0YC4gUmlnaHQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtzeXpfcGNpX3NldHVwJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOCAwMDo1NTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxNTM3MAoJCQkJCQkJb3V0cHV0OiAyMQoJCQkJCQkJdGhvdWdodHM6IDMwNgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBMaW5lIG9mIFJlYXNvbmluZyoqCgpPa2F5LCBmaXJzdCB0aGluZ3MgZmlyc3QsIEkgbmVlZCB0byBkaXRjaCB0aGUgaWRlYSBvZiB1c2luZyBncmVwcGVyIHRvIGZpbmQgc29tZXRoaW5nIHJlbGF0ZWQgdG8gYHN5el9gLiBNeSBpbnR1aXRpb24gaXMgdGVsbGluZyBtZSB0aGF0IEkgc2hvdWxkIGJlIHVzaW5nIGByZWFkLWZpbGVgIG9yIHBlcmhhcHMgSSBqdXN0IG5lZWQgdG8gcmVtZW1iZXIgdGhhdCBTeXprYWxsZXImIzM5O3MgUENJIGhhcmR3YXJlIGVtdWxhdGlvbiBpc24mIzM5O3QgdmVyeSByb2J1c3QsIGVzcGVjaWFsbHkgZm9yIGFyYml0cmFyeSBkZXZpY2VzLiBJdCBoZWF2aWx5IGRlcGVuZHMgb24gUUVNVSwgd2hpY2ggaW4gdHVybiBtaWdodCBub3QgZW11bGF0ZSB0aGUgZXhhY3QgU1RNTUFDIFBDSSBkZXZpY2UgSSYjMzk7bSBpbnRlcmVzdGVkIGluLCBwb3RlbnRpYWxseSBsZWFkaW5nIHRvIGRyaXZlciBwcm9iZSBmYWlsdXJlcyBvciwgbW9yZSBpbXBvcnRhbnRseSwgc2tpcHBpbmcgdGhlIHNlbGZ0ZXN0IGNvZGUuCgpXYWl0IGEgbWludXRlLCBpc24mIzM5O3QgYHN0bW1hY2AgYWxzbyBhIHBsYXRmb3JtIGRyaXZlcj8gU28sIGRvZXMgUUVNVSBlbXVsYXRlIGl0PwoKQWgsIHJpZ2h0LCBRRU1VICpkb2VzKiBoYXZlIGBody9uZXQvZGVzaWdud2FyZS5jYC4gVGhhdCYjMzk7cyBlbmNvdXJhZ2luZy4gTm93LCBJIG5lZWQgdG8gZmlndXJlIG91dCBpZiBTeXprYWxsZXIgYWN0dWFsbHkgbGV2ZXJhZ2VzIFFFTVUmIzM5O3MgRGVzaWduV2FyZSBFdGhlcm5ldCBpbXBsZW1lbnRhdGlvbi4KCkxldCYjMzk7cyBzZWUuLi4gU3l6a2FsbGVyIHR5cGljYWxseSBydW5zIGBxZW11LXN5c3RlbS14ODZfNjRgIHdpdGggYSBzcGVjaWZpYyBkZXZpY2UgY29uZmlndXJhdGlvbiDigJMgZTEwMDAsIGUxMDAwZSwgcnRsODEzOSwgdm14bmV0MywgYW5kIHZpcnRpby1uZXQuIEl0JiMzOTtzIG5vdCB1c3VhbGx5IGNvbmZpZ3VyZWQgd2l0aCBBUk0gYm9hcmRzIHdoZXJlIGBkZXNpZ253YXJlYCB3b3VsZCBiZSBwcmVzZW50LgoKSG9sZCBvbiwgdGhlcmUmIzM5O3MgdGhhdCBgcGh5bGlua2AgY2hhbmdlIEkgbmVlZCB0byB0YWtlIGludG8gYWNjb3VudC4KCk9rYXksIHRoZSBwYXRjaCBhZGRzIGBwaHlsaW5rX3Bjc19sb29wYmFja2AuIElzIGBwaHlsaW5rYCBldmVuICpyZWFjaGFibGUqIGluIHRoZSBTeXprYWxsZXIgY29udGV4dD8gWWVzLCBhYnNvbHV0ZWx5LiBQbGVudHkgb2YgZHJpdmVycyB1c2UgYHBoeWxpbmtgLgoKQnV0IHRoZSBjcnVjaWFsIGRldGFpbCBoZXJlIGlzIHRoYXQgYHBoeWxpbmtfcGNzX2xvb3BiYWNrYCBhcHBlYXJzIHRvIGJlIGNhbGxlZCBvbmx5IGZyb20gYHN0bW1hY19zZWxmdGVzdHMuY2AgaW4gKnRoaXMqIHNwZWNpZmljIHBhdGNoLgoKU28sIGxldCYjMzk7cyBicm9hZGVuIHRoZSBzY29wZSBhbmQgY2hlY2sgaWYgKmFueSogb3RoZXIgZHJpdmVyIGNhbGxzIGBwaHlsaW5rX3Bjc19sb29wYmFja2AuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3BoeWxpbmtfcGNzX2xvb3BiYWNrJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYz0zOTA9c3RhdGljIGludCBzdG1tYWNfdGVzdF9waHlfbG9vcGJhY2soc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYy00MTAtXHRpZiAocGNzKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmM6NDExOlx0XHRyZXQgPSBwaHlsaW5rX3Bjc19sb29wYmFjayhwY3MsIHRydWUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3NlbGZ0ZXN0cy5jLTQxMi1cdFx0aWYgKHJldClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMtNDE3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3NlbGZ0ZXN0cy5jOjQxODpcdFx0cGh5bGlua19wY3NfbG9vcGJhY2socGNzLCBmYWxzZSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMtNDE5LVx0XHRyZXR1cm4gcmV0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYz0xOTg3PXZvaWQgc3RtbWFjX3NlbGZ0ZXN0X3J1bihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYy0yMDE4LVx0XHRcdGVsc2VcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYzoyMDE5Olx0XHRcdFx0cmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2soc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdiksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMtMjAyMC1cdFx0XHRcdFx0XHRcdCAgIHRydWUpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYy0yMDU0LVx0XHRcdGVsc2VcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYzoyMDU1Olx0XHRcdFx0cmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2soc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdiksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMtMjA1Ni1cdFx0XHRcdFx0XHRcdCAgIGZhbHNlKTtcbi0tXG5kcml2ZXJzL25ldC9waHkvcGh5bGluay5jPTk5OD1FWFBPUlRfU1lNQk9MX0dQTChwaHlsaW5rX3Bjc19wcmVfaW5pdCk7XG4tLVxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYy0xMDAwLS8qKlxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYzoxMDAxOiAqIHBoeWxpbmtfcGNzX2xvb3BiYWNrKCkgLSBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBhdCB0aGUgUENTXG5kcml2ZXJzL25ldC9waHkvcGh5bGluay5jLTEwMDItICogQHBjczogYSBwb2ludGVyIHRvIGEgXHUwMDI2c3RydWN0IHBoeWxpbmtfcGNzLlxuLS1cbmRyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmMtMTAwOS0gKi9cbmRyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmM6MTAxMDppbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKVxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYy0xMDExLXtcbi0tXG5kcml2ZXJzL25ldC9waHkvcGh5bGluay5jLTEwMTYtfVxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYzoxMDE3OkVYUE9SVF9TWU1CT0xfR1BMKHBoeWxpbmtfcGNzX2xvb3BiYWNrKTtcbmRyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmMtMTAxOC1cbi0tXG5pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaD03MzI9aW50IHBjc19sb29wYmFjayhzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpO1xuLS1cbmluY2x1ZGUvbGludXgvcGh5bGluay5oLTczNS1cbmluY2x1ZGUvbGludXgvcGh5bGluay5oOjczNjppbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKTtcbmluY2x1ZGUvbGludXgvcGh5bGluay5oLTczNy1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTcwNDAKCQkJCQkJCW91dHB1dDogMTcKCQkJCQkJCXRob3VnaHRzOiA1NzEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQXNzZXNzbWVudCBvZiB0aGUgYHN0bW1hY2AgQ29kZSBSZWFjaGFiaWxpdHkqKgoKT2theSwgc28gSSYjMzk7bSBmb2N1c2luZyBvbiB0aGlzIGBzdG1tYWNgIGRyaXZlci4gVGhlIGltbWVkaWF0ZSB0aG91Z2h0IGlzLCB0aGlzIGNvZGUgcGF0aCBvbmx5IGdldHMgdXNlZCBieSBgc3RtbWFjYC4gTm93LCB0aGUga2V5IGlzIHdoZXRoZXIgaXQmIzM5O3MgcmVhY2hhYmxlIGluIHN0YW5kYXJkIFFFTVUgeDg2XzY0IGVudmlyb25tZW50cywgd2hpY2ggaXMgY3J1Y2lhbCBiZWNhdXNlIHRoYXQmIzM5O3Mgd2hhdCBzeXprYWxsZXIgdXNlcy4gSWYgYHN0bW1hY2AgaXMgaW5hY2Nlc3NpYmxlLCB0aGVuIHRoZSBjb2RlLCBieSBkZWZpbml0aW9uLCBpcyB1bnJlYWNoYWJsZS4KCldhaXQgYSBzZWNvbmQsIGRvZXMgc3l6a2FsbGVyIGV2ZW4gKmZ1enoqIGBzdG1tYWNgPyBJIG5lZWQgdG8gdmVyaWZ5IHRoYXQuIEkmIzM5O2xsIG5lZWQgdG8gY2hlY2sgdGhlIHN5emthbGxlciBjb25maWd1cmF0aW9uIGZvciBgc3RtbWFjYCBlbmFibGVtZW50IG9yIHJlYWNoYWJpbGl0eS4gTGV0JiMzOTtzIHNlZS4uLiBkb2VzIHN5emthbGxlciBoYXZlIGBDT05GSUdfU1RNTUFDX0VUSD15YCBvciBgQ09ORklHX1NUTU1BQ19QQ0k9eWAgc2V0IGluIGl0cyBjb25maWdzPyBJZiBzbywgdGhhdCYjMzk7cyBhIGdvb2Qgc2lnbi4gT2theSwgaXQgc2VlbXMgdGhhdCB0aGVyZSYjMzk7cyBQQ0kgc3VwcG9ydCBlbmFibGVkLgoKSWYgYENPTkZJR19TVE1NQUNfUENJPXlgIGlzIHNldCwgdGhlbiB0aGUgZHJpdmVyIGlzIGxpa2VseSBwcmVzZW50LCBidXQgaXMgaXQgKnJlYWNoYWJsZSo/IENhbiBzeXprYWxsZXIgaW5qZWN0IFBDSSBkZXZpY2VzPyBUaGVyZSYjMzk7cyBubyBnZW5lcmljIGBzeXpfcGNpX3NldHVwYCBwc2V1ZG8tc3lzY2FsbCwgYnV0IGl0IGRvZXMgaGF2ZSBgc3l6X3VzYl9jb25uZWN0YC4gU28gUENJIGlzIGRpZmZlcmVudDogc3l6a2FsbGVyIHJlbGllcyBvbiBRRU1VJiMzOTtzIGVtdWxhdGVkIGRldmljZXMgZm9yIFBDSS4KClJpZ2h0LCBzeXprYWxsZXIgaXMgdXNpbmcgYHFlbXUtc3lzdGVtLXg4Nl82NGAsIHNvIG5vdyB0aGUgcXVlc3Rpb24gaXM6IGRvZXMgUUVNVSBlbXVsYXRlIHRoZSBgU1RNTUFDYCBQQ0kgZGV2aWNlPyBObywgaXQgZG9lc24mIzM5O3QuIEhvd2V2ZXIsIHdhc24mIzM5O3QgdGhlcmUgc29tZXRoaW5nIGFib3V0IHJlY2VudCBQQ0kgZnV6emluZyBjYXBhYmlsaXRpZXMgYWRkZWQgdG8gc3l6a2FsbGVyPyBObywgdGhhdCB3YXMgbW9zdGx5IFVTQiBhbmQgc29tZSB2aXJ0dWFsIGRldmljZXMuCgpIZXJlJiMzOTtzIHRoZSBwcm9ibGVtOiB3aGF0IGlmIHRoZSBwYXRjaCBpcyBidXJpZWQgaW4gYSBkcml2ZXIgdGhhdCByZXF1aXJlcyBwaHlzaWNhbCBoYXJkd2FyZSBub3QgZW11bGF0ZWQgYnkgc3RhbmRhcmQgUUVNVT8gQWgsIHRoZSBkb2N1bWVudCBtZW50aW9ucyAmIzM0O3ZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuJiMzNDsKCklzIGBzdG1tYWNgIGEgdmVuZG9yLXNwZWNpZmljIGhhcmR3YXJlIGRyaXZlcj8gSXQmIzM5O3MgdGhlIFN5bm9wc3lzIERlc2lnbldhcmUgTUFDLCB3aGljaCBpcyB1c3VhbGx5IGZvdW5kIG9uIFNvQ3MgKEFSTSwgZXRjLikgb3Igc29tZSBJbnRlbCBwbGF0Zm9ybXMgbGlrZSBRdWFyayBvciBFbGtoYXJ0IExha2UsIHNvIEkmIzM5O2Qgc2F5IHRoYXQgaXMgY29ycmVjdC4gSXQgbmVlZHMgcGh5c2ljYWwgaGFyZHdhcmUgb3IsIGF0IHRoZSB2ZXJ5IGxlYXN0LCBzcGVjaWZpYyBTb0MgZW11bGF0aW9uLiBTaW5jZSBzeXprYWxsZXIgcnVucyBpbiB4ODZfNjQgUUVNVSwgaXQgd29uJiMzOTt0IGhhdmUgdGhvc2UgcGxhdGZvcm0gZGV2aWNlcy4gU3BlY2lmaWNhbGx5LCByZWdhcmRpbmcgdGhlIFBDSSB2ZXJzaW9uLCBRRU1VIGRvZXNuJiMzOTt0IGVtdWxhdGUgdGhlIEludGVsIFF1YXJrIG9yIEVsa2hhcnQgTGFrZSBTVE1NQUMgUENJIGRldmljZXMuCgpUaGVyZWZvcmUsIHRoZSBgc3RtbWFjYCBkcml2ZXIgcHJvYmUgaXMgZXh0cmVtZWx5IHVubGlrZWx5IHRvIHN1Y2NlZWQsIGFuZCB0aGUgc2VsZnRlc3QgY29kZSBpbiBxdWVzdGlvbiBpcyBsaWtlbHkgbmV2ZXIgcmVhY2hlZC4gQnV0IHdhaXQsIGl0JiMzOTtzIHdvcnRoIHNlZWluZyBpZiB0aGVyZSBpcyBhbnkgY2hhbmNlIHRoYXQgdGhlIGRyaXZlciBnZXRzIGZ1enplZC4gSXQmIzM5O3MgdGltZSB0byBjaGVjayBpZiB0aGVyZSBhcmUgYW55IGV4aXN0aW5nIHN5emJvdCBidWdzIHJlcG9ydGVkIGZvciBgc3RtbWFjYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3RtbWFjJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O1xuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiAxNDA5MCBsaW5lcy5cblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cblxuRG9jdW1lbnRhdGlvbi8ucmVuYW1lcy50eHQ9ODIzPW5ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvcXVhbGNvbW0vcm1uZXQgbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9jZWxsdWxhci9xdWFsY29tbS9ybW5ldFxuRG9jdW1lbnRhdGlvbi8ucmVuYW1lcy50eHQ6ODI0Om5ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvc3RtaWNyby9zdG1tYWMgbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hY1xuRG9jdW1lbnRhdGlvbi8ucmVuYW1lcy50eHQtODI1LW5ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvdGkvY3BzdyBuZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L3RpL2Nwc3dcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW43aS1hMjAtZ21hYy55YW1sPTE2PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuN2ktYTIwLWdtYWMueWFtbC0zNS0gICAgaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW43aS1hMjAtZ21hYy55YW1sOjM2OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuN2ktYTIwLWdtYWMueWFtbC0zNy0gICAgICAtIGNvbnN0OiBhbGx3aW5uZXJfZ21hY190eFxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjdpLWEyMC1nbWFjLnlhbWw9NTQ9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuN2ktYTIwLWdtYWMueWFtbC02MS0gICAgICAgIGNsb2NrcyA9IFx1MDAzY1x1MDAyNmFoYl9nYXRlcyA0OVx1MDAzZSwgXHUwMDNjXHUwMDI2Z21hY190eFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjdpLWEyMC1nbWFjLnlhbWw6NjI6ICAgICAgICBjbG9jay1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OywgXCYjMzQ7YWxsd2lubmVyX2dtYWNfdHhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW43aS1hMjAtZ21hYy55YW1sLTYzLSAgICAgICAgcGh5LW1vZGUgPSBcJiMzNDttaWlcJiMzNDs7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw9Mjg9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC02My0gICAgaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbDo2NDogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTY1LSAgICAgIC0gY29uc3Q6IG1idXNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbD0yNTU9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWwtMjYzLSAgICAgICAgcmVzZXRzID0gXHUwMDNjXHUwMDI2Y2N1IDEyXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MjY0OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0yNjUtICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZjY3UgMjdcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbDoyNjY6ICAgICAgICBjbG9jay1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTI2Ny1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zMTQtICAgICAgICByZXNldHMgPSBcdTAwM2NcdTAwMjZjY3UgMTJcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbDozMTU6ICAgICAgICByZXNldC1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTMxNi0gICAgICAgIGNsb2NrcyA9IFx1MDAzY1x1MDAyNmNjdSAyN1x1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sOjMxNzogICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWwtMzE4LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTM2Ny0gICAgICAgIHJlc2V0cyA9IFx1MDAzY1x1MDAyNmNjdSAxM1x1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sOjM2ODogICAgICAgIHJlc2V0LW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWwtMzY5LSAgICAgICAgY2xvY2tzID0gXHUwMDNjXHUwMDI2Y2N1IDI3XHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MzcwOiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zNzEtICAgICAgICBwaHktaGFuZGxlID0gXHUwMDNjXHUwMDI2ZXh0X3JnbWlpX3BoeTFcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWwtMzkwLSAgICAgICAgY2xvY2tzID0gXHUwMDNjXHUwMDI2Y2N1IDExN1x1MDAzZSwgXHUwMDNjXHUwMDI2Y2N1IDc5XHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MzkxOiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDssIFwmIzM0O21idXNcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zOTItICAgICAgICByZXNldHMgPSBcdTAwM2NcdTAwMjZjY3UgNDNcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbDozOTM6ICAgICAgICByZXNldC1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTM5NC0gICAgICAgIGludGVycnVwdHMgPSBcdTAwM2MwIDQ3IDRcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWwtNDAyLSAgICAgICAgc25wcyxmaXhlZC1idXJzdDtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sOjQwMzogICAgICAgIHNucHMsYXhpLWNvbmZpZyA9IFx1MDAzY1x1MDAyNmdtYWMxX3N0bW1hY19heGlfc2V0dXBcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC00MDQtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtMy0tLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbD0xMj1kZXNjcmlwdGlvbjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC0xNS0gIGZhbWlsaWVzIG9mIGNoaXBzLlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6MTY6ICAjIFRPRE86IERldGVybWluZSBob3cgdG8gaGFuZGxlIHRoZSBBcnJpYTEwIHJlc2V0LW5hbWUsIHN0bW1hY2V0aC1vY3AsIHRoYXRcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTE3LSAgIyBkb2VzIG5vdCB2YWxpZGF0ZSBhZ2FpbnN0IG5ldC9zbnBzLGR3bWFjLnlhbWwuXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw9MTk9c2VsZWN0OlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTIzLSAgICAgICAgZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjI0OiAgICAgICAgICAtIGFsdHIsc29jZnBnYS1zdG1tYWNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjI1OiAgICAgICAgICAtIGFsdHIsc29jZnBnYS1zdG1tYWMtYTEwLXMxMFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6MjY6ICAgICAgICAgIC0gYWx0cixzb2NmcGdhLXN0bW1hYy1hZ2lsZXg1XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC0yNy1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbD0zMT1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTM0LSAgICAgIC0gaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbDozNTogICAgICAgICAgLSBjb25zdDogYWx0cixzb2NmcGdhLXN0bW1hY1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtMzYtICAgICAgICAgIC0gY29uc3Q6IHNucHMsZHdtYWMtMy43MGFcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC0zOC0gICAgICAtIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6Mzk6ICAgICAgICAgIC0gY29uc3Q6IGFsdHIsc29jZnBnYS1zdG1tYWMtYTEwLXMxMFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNDAtICAgICAgICAgIC0gY29uc3Q6IHNucHMsZHdtYWMtMy43MmFcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC00Mi0gICAgICAtIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6NDM6ICAgICAgICAgIC0gY29uc3Q6IGFsdHIsc29jZnBnYS1zdG1tYWMtYTEwLXMxMFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNDQtICAgICAgICAgIC0gY29uc3Q6IHNucHMsZHdtYWMtMy43NGFcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC00Ni0gICAgICAtIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6NDc6ICAgICAgICAgIC0gY29uc3Q6IGFsdHIsc29jZnBnYS1zdG1tYWMtYWdpbGV4NVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNDgtICAgICAgICAgIC0gY29uc3Q6IHNucHMsZHd4Z21hYy0yLjEwXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNjEtICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6NjI6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC02My0gICAgICAtIGNvbnN0OiBwdHBfcmVmXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw9MTU4PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTE2Ni0gICAgICAgIGV0aGVybmV0QGZmNzAwMDAwIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjE2NzogICAgICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWx0cixzb2NmcGdhLXN0bW1hY1wmIzM0OywgXCYjMzQ7c25wcyxkd21hYy0zLjcwYVwmIzM0OyxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTE2OC0gICAgICAgICAgICBcJiMzNDtzbnBzLGR3bWFjXCYjMzQ7O1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTE3NC0gICAgICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZlbWFjXzBfY2xrXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6MTc1OiAgICAgICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtMTc2LSAgICAgICAgICAgIHBoeS1tb2RlID0gXCYjMzQ7c2dtaWlcJiMzNDs7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbWxvZ2ljLG1lc29uLWR3bWFjLnlhbWw9Mjk9YWxsT2Y6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbWxvZ2ljLG1lc29uLWR3bWFjLnlhbWwtNTQtICAgICAgICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbWxvZ2ljLG1lc29uLWR3bWFjLnlhbWw6NTU6ICAgICAgICAgICAgLSBjb25zdDogc3RtbWFjZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FtbG9naWMsbWVzb24tZHdtYWMueWFtbC01Ni0gICAgICAgICAgICAtIGNvbnN0OiBjbGtpbjBcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FtbG9naWMsbWVzb24tZHdtYWMueWFtbD0xNzI9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbWxvZ2ljLG1lc29uLWR3bWFjLnlhbWwtMTc5LSAgICAgICAgY2xvY2tzID0gXHUwMDNjXHUwMDI2Y2xrX2V0aFx1MDAzZSwgXHUwMDNjXHUwMDI2Y2xrX2ZjbGtfZGl2Mlx1MDAzZSwgXHUwMDNjXHUwMDI2Y2xrX21wbGwyXHUwMDNlLCBcdTAwM2NcdTAwMjZjbGtfZmNsa19kaXYyXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbWxvZ2ljLG1lc29uLWR3bWFjLnlhbWw6MTgwOiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDssIFwmIzM0O2Nsa2luMFwmIzM0OywgXCYjMzQ7Y2xraW4xXCYjMzQ7LCBcJiMzNDt0aW1pbmctYWRqdXN0bWVudFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYW1sb2dpYyxtZXNvbi1kd21hYy55YW1sLTE4MS0gICAgICAgIHBoeS1tb2RlID0gXCYjMzQ7cmdtaWlcJiMzNDs7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0LTItXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FuYXJpb24tZ21hYy50eHQ6MzpUaGlzIGRldmljZSBpcyBhIHBsYXRmb3JtIGdsdWUgbGF5ZXIgZm9yIHN0bW1hYy5cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYW5hcmlvbi1nbWFjLnR4dDo0OlBsZWFzZSBzZWUgc3RtbWFjLnR4dCBmb3IgdGhlIG90aGVyIHVuY2hhbmdlZCBwcm9wZXJ0aWVzLlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0LTUtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0PTExPUV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYW5hcmlvbi1nbWFjLnR4dC0yMS1cdFx0Y2xvY2tzID0gXHUwMDNjXHUwMDI2Y29yZV9jbGtcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FuYXJpb24tZ21hYy50eHQ6MjI6XHRcdGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0LTIzLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbD00OD1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC03NS0gICAgICAtIGNvbnN0OiBjZmdcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbDo3NjogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC03Ny0gICAgICAtIGNvbnN0OiB0eFxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC04My0gICAgaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6ODQ6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtODUtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sPTEzNz1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTQ2LSAgICAgICAgICAgICAgICBcdTAwM2NcdTAwMjZkMF9jbG9jayAxOTNcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTQ3OiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtheGlcJiMzNDssIFwmIzM0O2NmZ1wmIzM0OywgXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDt0eFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNDgtICAgICAgICByZXNldHMgPSBcdTAwM2NcdTAwMjZyZXNldCA5NVx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbDoxNDk6ICAgICAgICByZXNldC1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNTAtICAgICAgICBlc3dpbixoc3Atc3AtY3NyID0gXHUwMDNjXHUwMDI2aHNwX3NwX2NzciAweDEwMCAweDEwOCAweDExOCAweDExNCAweDExY1x1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTU1LSAgICAgICAgc25wcyx0c287XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTU2OiAgICAgICAgc25wcyxheGktY29uZmlnID0gXHUwMDNjXHUwMDI2c3RtbWFjX2F4aV9zZXR1cFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNTctXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTU4OiAgICAgICAgc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sLTE1OS0gICAgICAgICAgICBzbnBzLGJsZW4gPSBcdTAwM2MwIDAgMCAwIDE2IDggNFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTcyLSAgICAgICAgICAgICAgICBcdTAwM2NcdTAwMjZkMF9jbG9jayAxOTRcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTczOiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtheGlcJiMzNDssIFwmIzM0O2NmZ1wmIzM0OywgXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDt0eFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNzQtICAgICAgICByZXNldHMgPSBcdTAwM2NcdTAwMjZyZXNldCA5NFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbDoxNzU6ICAgICAgICByZXNldC1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNzYtICAgICAgICBlc3dpbixoc3Atc3AtY3NyID0gXHUwMDNjXHUwMDI2aHNwX3NwX2NzciAweDIwMCAweDIwOCAweDIxOCAweDIxNCAweDIxY1x1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTgxLSAgICAgICAgc25wcyx0c287XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTgyOiAgICAgICAgc25wcyxheGktY29uZmlnID0gXHUwMDNjXHUwMDI2c3RtbWFjX2F4aV9zZXR1cF9nbWFjMVx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xODMtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTg0OiAgICAgICAgc3RtbWFjX2F4aV9zZXR1cF9nbWFjMTogc3RtbWFjLWF4aS1jb25maWcge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sLTE4NS0gICAgICAgICAgICBzbnBzLGJsZW4gPSBcdTAwM2MwIDAgMCAwIDE2IDggNFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2luZ2VuaWMsbWFjLnlhbWw9MTU9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2luZ2VuaWMsbWFjLnlhbWwtMzYtICBjbG9jay1uYW1lczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW5nZW5pYyxtYWMueWFtbDozNzogICAgY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sLTM4LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW5nZW5pYyxtYWMueWFtbD02MD1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2luZ2VuaWMsbWFjLnlhbWwtNzItICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZjZ3UgWDEwMDBfQ0xLX01BQ1x1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW5nZW5pYyxtYWMueWFtbDo3MzogICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sLTc0LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sPTI0PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWwtMzktICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWw6NDA6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbC00MS0gICAgICAtIGNvbnN0OiBwdHBfcmVmXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWw9NTc9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWwtNjYtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbDo2NzogICAgc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWwtNjgtICAgICAgICBzbnBzLGxwaV9lbjtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbC0xMTUtICAgICAgICB0eC1maWZvLWRlcHRoID0gXHUwMDNjNDA5Nlx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sOjExNjogICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDtwdHBfcmVmXCYjMzQ7LCBcJiMzNDt0eF9jbGtcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbC0xMTctICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZzY21pX2NsayBNT1ZJU09DX0tNQl9QU1NfR0JFXHUwMDNlLFxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sLTEyMC0gICAgICAgIHNucHMscGJsID0gXHUwMDNjMHg0XHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWw6MTIxOiAgICAgICAgc25wcyxheGktY29uZmlnID0gXHUwMDNjXHUwMDI2c3RtbWFjX2F4aV9zZXR1cFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sLTEyMi0gICAgICAgIHNucHMsbXRsLXJ4LWNvbmZpZyA9IFx1MDAzY1x1MDAyNm10bF9yeF9zZXR1cFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2lwcTgwNngtZHdtYWMudHh0LTItXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2lwcTgwNngtZHdtYWMudHh0OjM6VGhlIGRldmljZSBpbmhlcml0cyBhbGwgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGR3bWFjL3N0bW1hYyBkZXZpY2VzXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2lwcTgwNngtZHdtYWMudHh0OjQ6ZGVzY3JpYmVkIGluIHRoZSBmaWxlIG5ldC9zdG1tYWMudHh0IHdpdGggdGhlIGZvbGxvd2luZyBjaGFuZ2VzLlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dC01LVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dD02PVJlcXVpcmVkIHByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dC05LVx0ICAgICAgYW5kIGFueSBhcHBsaWNhYmxlIG1vcmUgZGV0YWlsZWQgdmVyc2lvbiBudW1iZXJcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQ6MTA6XHQgICAgICBkZXNjcmliZWQgaW4gbmV0L3N0bW1hYy50eHRcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtMTEtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dD0xOD1FeGFtcGxlOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtMzAtXHRcdGNsb2NrcyA9IFx1MDAzY1x1MDAyNmdjYyBHTUFDX0NPUkUxX0NMS1x1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQ6MzE6XHRcdGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dC0zMi1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtMzMtXHRcdHJlc2V0cyA9IFx1MDAzY1x1MDAyNmdjYyBHTUFDX0NPUkUxX1JFU0VUXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dDozNDpcdFx0cmVzZXQtbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2lwcTgwNngtZHdtYWMudHh0LTM1LVx0fTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWItZ21hYy55YW1sPTM0PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFiLWdtYWMueWFtbC00OC0gICAgaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWItZ21hYy55YW1sOjQ5OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFiLWdtYWMueWFtbC01MC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWItZ21hYy55YW1sPTgzPWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYi1nbWFjLnlhbWwtOTItICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZjbGtjIExTMVhfQ0xLSURfQUhCXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFiLWdtYWMueWFtbDo5MzogICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFiLWdtYWMueWFtbC05NC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWMtZW1hYy55YW1sPTMzPXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbC00Ny0gICAgaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWMtZW1hYy55YW1sOjQ4OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbC00OS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWMtZW1hYy55YW1sPTgyPWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYy1lbWFjLnlhbWwtOTEtICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZjbGtjIExTMVhfQ0xLSURfQUhCXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbDo5MjogICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbC05My1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L21lZGlhdGVrLWR3bWFjLnlhbWw9MTI9ZGVzY3JpcHRpb246XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L21lZGlhdGVrLWR3bWFjLnlhbWw6MTM6ICBUaGlzIGZpbGUgZG9jdW1lbnRzIHBsYXRmb3JtIGdsdWUgbGF5ZXIgZm9yIHN0bW1hYy5cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbWVkaWF0ZWstZHdtYWMueWFtbC0xNC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWw9Mjg9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWwtNDgtICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sOjQ5OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sLTUwLSAgICAgIC0gY29uc3Q6IHB0cF9yZWZcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWwtNjktICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sOjcwOiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sLTcxLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnV2b3RvbixtYTM1ZDEtZHdtYWMueWFtbD0xMDg9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sLTExOC0gICAgICAgIGNsb2NrcyA9IFx1MDAzY1x1MDAyNmNsayBFTUFDMF9HQVRFXHUwMDNlLCBcdTAwM2NcdTAwMjZjbGsgRVBMTF9ESVY4XHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sOjExOTogICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDtwdHBfcmVmXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sLTEyMC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWwtMTIyLSAgICAgICAgcmVzZXRzID0gXHUwMDNjXHUwMDI2c3lzIE1BMzVEMV9SRVNFVF9HTUFDMFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnV2b3RvbixtYTM1ZDEtZHdtYWMueWFtbDoxMjM6ICAgICAgICByZXNldC1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnV2b3RvbixtYTM1ZDEtZHdtYWMueWFtbC0xMjQtICAgICAgICBzbnBzLG11bHRpY2FzdC1maWx0ZXItYmlucyA9IFx1MDAzYzBcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsZHdtYWMtaW14LnlhbWw9Mjk9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxkd21hYy1pbXgueWFtbC01Mi0gICAgICBlbnVtOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsZHdtYWMtaW14LnlhbWw6NTM6ICAgICAgICAtIHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsZHdtYWMtaW14LnlhbWwtNTQtICAgICAgICAtIHBjbGtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxkd21hYy1pbXgueWFtbD05Mz1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxkd21hYy1pbXgueWFtbC0xMDgtICAgICAgICAgICAgICAgICAgICAgXHUwMDNjXHUwMDI2Y2xrIElNWDhNUF9DTEtfRU5FVF9RT1NcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxkd21hYy1pbXgueWFtbDoxMDk6ICAgICAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDssIFwmIzM0O3BjbGtcJiMzNDssIFwmIzM0O3B0cF9yZWZcJiMzNDssIFwmIzM0O3R4XCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsZHdtYWMtaW14LnlhbWwtMTEwLSAgICAgICAgICAgIHBoeS1tb2RlID0gXCYjMzQ7cmdtaWlcJiMzNDs7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sPTIyPXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sLTM3LSAgICBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGxwYzE4NTAtZHdtYWMueWFtbDozODogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGxwYzE4NTAtZHdtYWMueWFtbC0zOS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtNTEtICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sOjUyOiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sLTUzLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGxwYzE4NTAtZHdtYWMueWFtbD02Nz1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtNzYtICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZjY3UxIENMS19DUFVfRVRIRVJORVRcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWw6Nzc6ICAgICAgICBjbG9jay1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGxwYzE4NTAtZHdtYWMueWFtbC03OC0gICAgICAgIHJlc2V0cyA9IFx1MDAzY1x1MDAyNnJndSAyMlx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGxwYzE4NTAtZHdtYWMueWFtbDo3OTogICAgICAgIHJlc2V0LW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sLTgwLSAgICAgICAgcngtZmlmby1kZXB0aCA9IFx1MDAzYzI1Nlx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxzMzItZHdtYWMueWFtbD0yMj1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLHMzMi1kd21hYy55YW1sLTc4LSAgICBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLHMzMi1kd21hYy55YW1sOjc5OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsczMyLWR3bWFjLnlhbWwtODAtICAgICAgLSBjb25zdDogdHhcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxzMzItZHdtYWMueWFtbD05Mz1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxzMzItZHdtYWMueWFtbC0xMzItICAgICAgICBjbG9ja3MgPSBcdTAwM2NcdTAwMjZjbGtzIDI0XHUwMDNlLCBcdTAwM2NcdTAwMjZjbGtzIDE3XHUwMDNlLCBcdTAwM2NcdTAwMjZjbGtzIDE2XHUwMDNlLCBcdTAwM2NcdTAwMjZjbGtzIDE1XHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsczMyLWR3bWFjLnlhbWw6MTMzOiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDssIFwmIzM0O3R4XCYjMzQ7LCBcJiMzNDtyeFwmIzM0OywgXCYjMzQ7cHRwX3JlZlwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLHMzMi1kd21hYy55YW1sLTEzNC0gICAgICAgIHBoeS1tb2RlID0gXCYjMzQ7cmdtaWktaWRcJiMzNDs7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9xY29tLGV0aHFvcy55YW1sPTIwPXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9xY29tLGV0aHFvcy55YW1sLTQxLSAgICBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbDo0MjogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbC00My0gICAgICAtIGNvbnN0OiByZ21paVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbC02My0gICAgaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWw6NjQ6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWwtNjUtICAgICAgLSBjb25zdDogcGNsa1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbD05Nz1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWwtMTA2LSAgICAgICAgICAgIFx1MDAzYzB4MDdhOTYwMDAgMHgxMDBcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWw6MTA3OiAgICAgIHJlZy1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OywgXCYjMzQ7cmdtaWlcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWw6MTA4OiAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDtwY2xrXCYjMzQ7LCBcJiMzNDtwdHBfcmVmXCYjMzQ7LCBcJiMzNDtyZ21paVwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbC0xMDktICAgICAgY2xvY2tzID0gXHUwMDNjXHUwMDI2Z2NjIEdDQ19FVEhfQVhJX0NMS1x1MDAzZSxcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnpuMS1nbWFjLnlhbWw9NTI9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6bjEtZ21hYy55YW1sLTYzLSAgICAgIGludGVycnVwdC1uYW1lcyA9IFwmIzM0O21hY2lycVwmIzM0OywgXCYjMzQ7ZXRoX3dha2VfaXJxXCYjMzQ7LCBcJiMzNDtldGhfbHBpXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6bjEtZ21hYy55YW1sOjY0OiAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6bjEtZ21hYy55YW1sLTY1LSAgICAgIGNsb2NrcyA9IFx1MDAzY1x1MDAyNnN5c2N0cmwgUjlBMDZHMDMyX0hDTEtfR01BQzBcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWw9MjY9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC03My0gICAgICAtIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWw6NzQ6ICAgICAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtNzUtICAgICAgICAgIC0gY29uc3Q6IHBjbGtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC04Ny0gICAgICAtIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWw6ODg6ICAgICAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtODktICAgICAgICAgIC0gY29uc3Q6IHBjbGtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbD0yNDk9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtMjYwLSAgICAgICAgICAgICAgICAgIFx1MDAzY1x1MDAyNmNwZyBDUEdfTU9EIDB4YmJcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbDoyNjE6ICAgICAgICBjbG9jay1uYW1lcyA9IFwmIzM0O3N0bW1hY2V0aFwmIzM0OywgXCYjMzQ7cGNsa1wmIzM0OywgXCYjMzQ7cHRwX3JlZlwmIzM0OyxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sLTI2Mi0gICAgICAgICAgICAgICAgICAgICAgXCYjMzQ7dHhcJiMzNDssIFwmIzM0O3J4XCYjMzQ7LCBcJiMzNDt0eC0xODBcJiMzNDssIFwmIzM0O3J4LTE4MFwmIzM0Oztcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC0yODUtICAgICAgICBzbnBzLGZvcmNlX3RocmVzaF9kbWFfbW9kZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sOjI4NjogICAgICAgIHNucHMsYXhpLWNvbmZpZyA9IFx1MDAzY1x1MDAyNnN0bW1hY19heGlfc2V0dXBcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC0yODctICAgICAgICBzbnBzLG10bC1yeC1jb25maWcgPSBcdTAwM2NcdTAwMjZtdGxfcnhfc2V0dXBcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtMjkyLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWw6MjkzOiAgICAgICAgc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtMjk0LSAgICAgICAgICAgIHNucHMsbHBpX2VuO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbD0zNz1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbC03OC0gICAgICBlbnVtOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sOjc5OiAgICAgICAgLSBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbC04MC0gICAgICAgIC0gbWFjX2Nsa190eFxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbD0xNjQ9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sLTE3Ny0gICAgICAgICAgICAgICAgIFx1MDAzY1x1MDAyNmNydSBBQ0xLX0dNQUNcdTAwM2UsIFx1MDAzY1x1MDAyNmNydSBQQ0xLX0dNQUNcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWw6MTc4OiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDssXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWwtMTc5LSAgICAgICAgICAgICAgICAgICAgICBcJiMzNDttYWNfY2xrX3J4XCYjMzQ7LCBcJiMzNDttYWNfY2xrX3R4XCYjMzQ7LFxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd2MtcW9zLWV0aGVybmV0LnR4dD0zPVRoaXMgYmluZGluZyBpcyBkZXByZWNhdGVkLCBidXQgaXQgY29udGludWVzIHRvIGJlIHN1cHBvcnRlZCwgYnV0IG5ld1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3Yy1xb3MtZXRoZXJuZXQudHh0OjQ6ZmVhdHVyZXMgc2hvdWxkIGJlIHByZWZlcmFibHkgYWRkZWQgdG8gdGhlIHN0bW1hYyBiaW5kaW5nIGRvY3VtZW50LlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3Yy1xb3MtZXRoZXJuZXQudHh0LTUtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWw9NDY9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC0xNjgtICAgICAgZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sOjE2OTogICAgICAgIC0gc3RtbWFjZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC0xNzAtICAgICAgICAtIHBjbGtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC0xNzUtICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWw6MTc2OiAgICAgIC0gZGVzY3JpcHRpb246IEdNQUMgc3RtbWFjZXRoIHJlc2V0XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC0xNzctICAgICAgLSBkZXNjcmlwdGlvbjogQUhCIHJlc2V0XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtMTgxLSAgICAgIC0gaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDoxODI6ICAgICAgICAgIC0gZW51bTogW3N0bW1hY2V0aCwgYWhiXVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtMTgzLSAgICAgIC0gaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDoxODQ6ICAgICAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtMTg1LSAgICAgICAgICAtIGNvbnN0OiBhaGJcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC01NjAtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDo1NjE6ICBzdG1tYWMtYXhpLWNvbmZpZzpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTU2Mi0gICAgdHlwZTogb2JqZWN0XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWw9NjU0PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTY2OS0gICAgICAgIGNsb2NrcyA9IFx1MDAzY1x1MDAyNmNsb2NrXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWw6NjcwOiAgICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDo2NzE6ICAgICAgICBzbnBzLGF4aS1jb25maWcgPSBcdTAwM2NcdTAwMjZzdG1tYWNfYXhpX3NldHVwXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtNjcyLSAgICAgICAgc25wcyxtdGwtcngtY29uZmlnID0gXHUwMDNjXHUwMDI2bXRsX3J4X3NldHVwXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTY3NC1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sOjY3NTogICAgICAgIHN0bW1hY19heGlfc2V0dXA6IHN0bW1hYy1heGktY29uZmlnIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTY3Ni0gICAgICAgICAgICBzbnBzLHdyX29zcl9sbXQgPSBcdTAwM2MweGZcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sPTIxPXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTM2LSAgICBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbDozNzogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbC0zOC0gICAgICAtIGNvbnN0OiBwdHBfcmVmXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTQ5LSAgcmVzZXQtbmFtZXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWw6NTA6ICAgIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbC01MS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWw9Njc9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTc0LSAgICAgIGNsb2NrcyA9IFx1MDAzY1x1MDAyNmNsayAzNVx1MDAzZSwgXHUwMDNjXHUwMDI2Y2xrIDM2XHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sOjc1OiAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDtwdHBfcmVmXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTc2LSAgICAgIGludGVycnVwdHMgPSBcdTAwM2MzMSBJUlFfVFlQRV9MRVZFTF9ISUdIXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbC04MC0gICAgICByZXNldHMgPSBcdTAwM2NcdTAwMjZyc3QgMTJcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWw6ODE6ICAgICAgcmVzZXQtbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWwtODItICAgICAgcngtZmlmby1kZXB0aCA9IFx1MDAzYzgxOTJcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTkwLSAgICAgIHNucHMsbXRsLXR4LWNvbmZpZyA9IFx1MDAzY1x1MDAyNmdtYWMwX210bF90eF9zZXR1cFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbDo5MTogICAgICBzbnBzLGF4aS1jb25maWcgPSBcdTAwM2NcdTAwMjZnbWFjMF9zdG1tYWNfYXhpX3NldHVwXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTkyLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbC0xMDgtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWw6MTA5OiAgICAgIGdtYWMwX3N0bW1hY19heGlfc2V0dXA6IHN0bW1hYy1heGktY29uZmlnIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbC0xMTAtICAgICAgICBzbnBzLGJsZW4gPSBcdTAwM2MxNiA4IDQgMCAwIDAgMFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbD0yMj1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTQyLSAgICBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sOjQzOiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtNDQtICAgICAgLSBjb25zdDogcHRwX3JlZlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTU4LSAgcmVzZXQtbmFtZXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDo1OTogICAgY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtNjAtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWw9OTU9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtMTAyLSAgICAgIGNsb2NrcyA9IFx1MDAzY1x1MDAyNmNsayAxNTFcdTAwM2UsIFx1MDAzY1x1MDAyNmNsayAxNTJcdTAwM2UsIFx1MDAzY1x1MDAyNmNsayAxNTRcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDoxMDM6ICAgICAgY2xvY2stbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDssIFwmIzM0O3B0cF9yZWZcJiMzNDssIFwmIzM0O3R4XCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtMTA0LSAgICAgIGludGVycnVwdC1wYXJlbnQgPSBcdTAwM2NcdTAwMjZpbnRjXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTEwOS0gICAgICByZXNldHMgPSBcdTAwM2NcdTAwMjZyc3QgMzBcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDoxMTA6ICAgICAgcmVzZXQtbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbC0xMTEtICAgICAgc25wcyxtdWx0aWNhc3QtZmlsdGVyLWJpbnMgPSBcdTAwM2MwXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTExOC0gICAgICBzbnBzLG10bC10eC1jb25maWcgPSBcdTAwM2NcdTAwMjZnbWFjMF9tdGxfdHhfc2V0dXBcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDoxMTk6ICAgICAgc25wcyxheGktY29uZmlnID0gXHUwMDNjXHUwMDI2Z21hYzBfc3RtbWFjX2F4aV9zZXR1cFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTEyMC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbC0xNDUtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDoxNDY6ICAgICAgZ21hYzBfc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtMTQ3LSAgICAgICAgc25wcyxibGVuID0gXHUwMDNjMTYgOCA0IDAgMCAwIDBcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sPTIwPXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sLTM2LSAgICBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbDozNzogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbC0zOC0gICAgICAtIGNvbnN0OiBwdHBfcmVmXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sLTU2LSAgcmVzZXQtbmFtZXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWw6NTc6ICAgIGNvbnN0OiBzdG1tYWNldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbC01OC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWw9ODU9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sLTkzLSAgICAgICAgICAgICAgIFx1MDAzY1x1MDAyNnN5c2Nvbl9hcG11IDY5XHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sOjk0OiAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDtwdHBfcmVmXCYjMzQ7LCBcJiMzNDt0eFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbC05NS0gICAgICBpbnRlcnJ1cHRzID0gXHUwMDNjMTMxIElSUV9UWVBFX0xFVkVMX0hJR0hcdTAwM2UsIFx1MDAzYzI3NiBJUlFfVFlQRV9MRVZFTF9ISUdIXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbC05OS0gICAgICByZXNldHMgPSBcdTAwM2NcdTAwMjZzeXNjb25fYXBtdSA2N1x1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbDoxMDA6ICAgICAgcmVzZXQtbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWwtMTAxLSAgICAgIHNwYWNlbWl0LGFwbXUgPSBcdTAwM2NcdTAwMjZzeXNjb25fYXBtdSAweDM4NCAweDM4Y1x1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sPTI0PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC01My0gICAgaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sOjU0OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC01NS0gICAgICAtIGNvbnN0OiBwY2xrXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbD04OD1hbGxPZjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sLTEzNC0gICAgICAgICAgcmVzZXQtbmFtZXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sOjEzNTogICAgICAgICAgICBjb25zdDogc3RtbWFjZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sLTEzNi0gICAgICBlbHNlOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWw9MTU0PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTYwLSAgICAgICAgICAgICAgICAgXHUwMDNjXHUwMDI2Y2xrIDZcdTAwM2UsIFx1MDAzY1x1MDAyNmNsayAxMTFcdTAwM2U7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sOjE2MTogICAgICAgIGNsb2NrLW5hbWVzID0gXCYjMzQ7c3RtbWFjZXRoXCYjMzQ7LCBcJiMzNDtwY2xrXCYjMzQ7LCBcJiMzNDtwdHBfcmVmXCYjMzQ7LFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC0xNjItICAgICAgICAgICAgICAgICAgICAgIFwmIzM0O3R4XCYjMzQ7LCBcJiMzNDtndHhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sLTE2My0gICAgICAgIHJlc2V0cyA9IFx1MDAzY1x1MDAyNnJzdCAxXHUwMDNlLCBcdTAwM2NcdTAwMjZyc3QgMlx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWw6MTY0OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcJiMzNDtzdG1tYWNldGhcJiMzNDssIFwmIzM0O2FoYlwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTY1LSAgICAgICAgaW50ZXJydXB0cyA9IFx1MDAzYzdcdTAwM2UsIFx1MDAzYzZcdTAwM2UsIFx1MDAzYzVcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC0xNzUtICAgICAgICBzbnBzLGZvcmNlX3RocmVzaF9kbWFfbW9kZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWw6MTc2OiAgICAgICAgc25wcyxheGktY29uZmlnID0gXHUwMDNjXHUwMDI2c3RtbWFjX2F4aV9zZXR1cFx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTc3LSAgICAgICAgc25wcyxlbi10eC1scGktY2xvY2tnYXRpbmc7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC0xOTItXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sOjE5MzogICAgICAgIHN0bW1hY19heGlfc2V0dXA6IHN0bW1hYy1heGktY29uZmlnIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTk0LSAgICAgICAgICAgIHNucHMsbHBpX2VuO1xuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMyMTI4CgkJCQkJCQlvdXRwdXQ6IDIxCgkJCQkJCQl0aG91Z2h0czogNTgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqSW52ZXN0aWdhdGluZyBTeXprYWxsZXImIzM5O3MgQ292ZXJhZ2Ugb2YgYHN0bW1hY2AqKgoKT2theSwgbXkgaW5pdGlhbCBvYnNlcnZhdGlvbiBpcyB0aGF0IEkmIzM5O20gc2VlaW5nIGBzdG1tYWNgIG1lbnRpb25lZCB3aXRoaW4gZGV2aWNlIHRyZWUgYmluZGluZ3MuIFRoYXQgaW1tZWRpYXRlbHkgbWFrZXMgbWUgdGhpbmsgb2YgaXRzIHByZXZhbGVuY2UgaW4gdGhlIEFSTSBhbmQgUklTQy1WIFN5c3RlbS1vbi1DaGlwcyBsYW5kc2NhcGUuIEl0JiMzOTtzIGEgY29tbW9uIEV0aGVybmV0IE1BQyBkcml2ZXIsIHNvIGl0cyB3aWRlc3ByZWFkIHVzZSBtYWtlcyBpdCBhbiBpbnRlcmVzdGluZyB0YXJnZXQuCgpNeSBuZXh0IGxpbmUgb2YgdGhvdWdodDogaXMgc3l6a2FsbGVyIGFscmVhZHkgZnV6emluZyB0aGlzIHBhcnRpY3VsYXIgZHJpdmVyPyBUaGF0JiMzOTtzIHRoZSBjcnV4IG9mIHRoZSBtYXR0ZXIuIE15IGdvYWwgaXMgdG8gZGV0ZXJtaW5lIHRoZSBjdXJyZW50IHN0YXRlIG9mIHN5emthbGxlciYjMzk7cyB0ZXN0aW5nIGVmZm9ydHMgYWdhaW5zdCBpdC4KClRoZXJlZm9yZSwgbXkgaW1tZWRpYXRlIGFjdGlvbiBpcyB0byBzZWFyY2ggZm9yIGFueSBleGlzdGluZyBzeXpib3QgcmVwb3J0cyByZWxhdGVkIHRvIGBzdG1tYWNgLiBUaGlzIHdpbGwgZ2l2ZSBtZSBhIHF1aWNrIHVuZGVyc3RhbmRpbmcgb2Ygd2hldGhlciBpdCYjMzk7cyBhbHJlYWR5IG9uIHN5emthbGxlciYjMzk7cyByYWRhciwgd2hldGhlciBpdCYjMzk7cyB5aWVsZGluZyBhbnkgaW50ZXJlc3RpbmcgY3Jhc2hlcyBvciBidWdzLCBhbmQgaWYgbm90LCB3aGVyZSBJIG1pZ2h0IG5lZWQgdG8gZm9jdXMgbXkgb3duIGZ1enppbmcgZWZmb3J0cy4gSSBuZWVkIHRoYXQgYmFzZWxpbmUgaW5mb3JtYXRpb24uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5FcnJvcjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm5vIG1hdGNoZXM8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3l6Ym90LipzdG1tYWMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE1LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOCAwMDo1NjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzMjQyNgoJCQkJCQkJb3V0cHV0OiAyMAoJCQkJCQkJdGhvdWdodHM6IDE3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHN1bW1hcnksIGZyYW1lZCBhcyBteSBpbnRlcm5hbCB0aG91Z2h0IHByb2Nlc3M6CgoqKlN5emJvdCBSZXBvcnQgQ2hlY2sgZm9yIGR3bWFjKioKCkFscmlnaHQsIHRpbWUgdG8gZ2V0IHN0YXJ0ZWQuIE15IGluaXRpYWwgZm9jdXMgaXMgZ29pbmcgdG8gYmUgb24gdGhlIGBkd21hY2AgZHJpdmVyLiBTcGVjaWZpY2FsbHksIEkgbmVlZCB0byBjaGVjayBmb3IgYW55IHJlY2VudCBzeXpib3QgcmVwb3J0cyByZWxhdGVkIHRvIGl0LiBUaGF0JiMzOTtzIGFsd2F5cyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQgdG8gaWRlbnRpZnkgYW55IHBvdGVudGlhbCBuZXcgcmVncmVzc2lvbnMgb3IgbHVya2luZyBidWdzIHRoYXQgbWlnaHQgbmVlZCBhdHRlbnRpb24uIEEgcXVpY2sgc2NhbiBvZiBzeXpib3QmIzM5O3MgZGF0YWJhc2UgZm9yIGBkd21hY2AgcmVwb3J0cyB3aWxsIGdpdmUgbWUgYSBnb29kIGJhc2VsaW5lLiBJJiMzOTttIGV4cGVjdGluZyB0aGlzIHRvIGVpdGhlciBiZSBhIHF1aWNrIHllcy9ubywgaWYgc29tZXRoaW5nIG9idmlvdXMgcG9wcyB1cCwgb3Igd2lsbCByZXF1aXJlIGEgZGVlcGVyIGRpdmUgaWYgdGhlcmUgYXJlIHJlcG9ydHMuIExldCYjMzk7cyBzZWUgd2hhdCB0aGUgYXV0b21hdGVkIHN5c3RlbXMgaGF2ZSBmb3VuZCBmb3IgbWUhCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5FcnJvcjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm5vIG1hdGNoZXM8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3l6Ym90Lipkd21hYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMyNjMzCgkJCQkJCQlvdXRwdXQ6IDIwCgkJCQkJCQl0aG91Z2h0czogMTcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgdGhvdWdodCBwcm9jZXNzLCBzdW1tYXJpemVkIGFzIHlvdSByZXF1ZXN0ZWQ6CgoqKkNoZWNraW5nIGZvciBQaHlsaW5rIFN5emJvdCBSZXBvcnRzKioKCk9rYXksIHRpbWUgdG8gc2VlIHdoYXQmIzM5O3MgYnJld2luZyBpbiB0aGUgd29ybGQgb2YgYHBoeWxpbmtgIGFuZCBzeXpib3QuIEkgbmVlZCB0byBxdWlja2x5IHNjYW4gZm9yIGFueSByZWNlbnQgcmVwb3J0cyBhc3NvY2lhdGVkIHdpdGggdGhhdCBzdWJzeXN0ZW0uIFRoaXMgaXMgYSBjcnVjaWFsIGZpcnN0IHN0ZXAgaW4gbXkgd29ya2Zsb3cuIFN5emJvdCBpcyBpbnZhbHVhYmxlIGZvciBpZGVudGlmeWluZyByZWdyZXNzaW9ucyBhbmQgaXNzdWVzIGJlZm9yZSB0aGV5IGJlY29tZSB3aWRlc3ByZWFkLiBJIG5lZWQgdG8gcXVpY2tseSBhc3Nlc3MgaWYgdGhlcmUgYXJlIGFueSBuZXcsIHBvdGVudGlhbGx5IGNyaXRpY2FsLCBmYWlsdXJlcyBwb3BwaW5nIHVwLiBUaGUgc3RhdHVzIG9mIHRoaXMgc3Vic3lzdGVtIGlzIGltcG9ydGFudCBmb3Igc3RhYmlsaXR5LCBlc3BlY2lhbGx5IGFzIG1vcmUgYWR2YW5jZWQgbmV0d29ya2luZyBzb2x1dGlvbnMgYXJlIGJ1aWx0IG9uIGl0LiBJIG5lZWQgdG8ga25vdyB3aGVyZSBJIHNob3VsZCBwcmlvcml0aXplIG15IGVmZm9ydHMuIExldCYjMzk7cyBnZXQgdG8gaXQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5FcnJvcjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm5vIG1hdGNoZXM8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3l6Ym90LipwaHlsaW5rJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzI4MjcKCQkJCQkJCW91dHB1dDogMjMKCQkJCQkJCXRob3VnaHRzOiA3MDkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIFN5emthbGxlciYjMzk7cyBQb3RlbnRpYWwgZm9yIFRlc3RpbmcgYSBQSFkgTG9vcGJhY2sgUGF0Y2gqKgoKT2theSwgZmlyc3QgdGhpbmdzIGZpcnN0LCB0aGUgY29tbWl0IGF1dGhvciBpcyBgc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0O2AuICBUaGF0JiMzOTtzIG15IHN0YXJ0aW5nIHBvaW50LiBUaGlzIHBhdGNoIHdhcyB0ZXN0ZWQgYnkgc3l6a2FsbGVyLiAgQnV0LCBJIGhhdmUgdG8gYXNrIG15c2VsZiwgaXMgdGhlIGNvZGUgYWN0dWFsbHkgYmVpbmcgaGl0IGJ5IHRoZSBmdXp6ZXI/CgpUaGUgcGF0Y2ggYWRkcyBgcGh5bGlua19wY3NfbG9vcGJhY2tgIGFuZCBgZHdtYWNfaW50ZWdyYXRlZF9wY3NfbG9vcGJhY2tgLiBNeSBpbW1lZGlhdGUgY29uY2VybiBpcyB3aGV0aGVyIHN5emthbGxlciAqY2FuKiBldmVuIHJlYWNoIHRoaXMgY29kZSBwYXRoLiBJZiB0aGUgYHN0bW1hY2AgZHJpdmVyLCB3aGljaCBzZWVtcyByZWxhdGVkLCBpc24mIzM5O3QgcmVhY2hhYmxlLCB0aGVuIHRoaXMgaXMgYWxsIGBXb3J0aEZ1enppbmc9ZmFsc2VgLgoKTm93LCBJIHNlZW0gdG8gcmVtZW1iZXIgYHN0bW1hY2AgaGFzIGEgUENJIGRyaXZlci4gVGhlIHF1ZXN0aW9uIHRoZW4gYmVjb21lcywgZG9lcyBzeXprYWxsZXIgaGF2ZSBhIHdheSB0byBwcm9iZSBpdD8gRG9lcyBpdCBoYXZlIHNvbWUgYHN5el9wY2lfc2V0dXBgIGNhbGwgSSYjMzk7bSBtaXNzaW5nPyBOb3BlLiBBaCwgd2FpdCwgaXNuJiMzOTt0IHRoZXJlIHNvbWV0aGluZyBhYm91dCBmdXp6aW5nIFBDSSBkZXZpY2VzPyBZZXMhIE9rLCBnb29kLgoKVGhlIG5leHQgc3RlcCBpcyB0byBjaGVjayBpZiBgc3RtbWFjX3BjaWAgaXMgY29tcGlsZWQgaW50byBzeXprYWxsZXImIzM5O3MgZGVmYXVsdCBjb25maWd1cmF0aW9uLiBJIGNhbiYjMzk7dCBsb29rIGF0IHN5emthbGxlciYjMzk7cyBjb25maWcgZGlyZWN0bHksIGJ1dCBJIGNhbiBjaGVjayBmb3IgcmVhY2hhYmlsaXR5LgoKSWYgYHN0bW1hY19wY2lgICppcyogcHJvYmVkLCBpdCYjMzk7bGwgY2FsbCBgc3RtbWFjX3BjaV9wcm9iZWAsIHdoaWNoIGNhbGxzIGBzdG1tYWNfZHZyX3Byb2JlYC4gIEFuZCB0aGVuLCBpZiB0aGUgdXNlciBydW5zIGBldGh0b29sIC10YCwgaXQgd2lsbCBjYWxsIGBzdG1tYWNfc2VsZnRlc3RfcnVuYCwgd2hpY2ggY2FsbHMgYHN0bW1hY190ZXN0X3BoeV9sb29wYmFja2AuIElmIG5vIGV4dGVybmFsIFBIWSBpcyBwcmVzZW50LCBpdCB3aWxsIGNhbGwgYHBoeWxpbmtfcGNzX2xvb3BiYWNrKHN0bW1hY19zZWxmdGVzdF9nZXRfcGNzKHByaXYpLCB0cnVlKWAuICBUaGlzIGxlYWRzIHRvIGBwY3MtJmd0O29wcy0mZ3Q7cGNzX2xvb3BiYWNrKHBjcywgZW5hYmxlKWAsIHdoaWNoIGlzIGBkd21hY19pbnRlZ3JhdGVkX3Bjc19sb29wYmFja2AuICBTbywgdGhlIGNyaXRpY2FsIHF1ZXN0aW9uIGlzOiBpcyBpdCBwb3NzaWJsZSB0byByZWFjaCB0aGUgYHN0bW1hY190ZXN0X3BoeV9sb29wYmFja2AgKndpdGhvdXQqIHBoeXNpY2FsIGhhcmR3YXJlPwoKSSYjMzk7bSB0aGlua2luZywgaWYgc3l6a2FsbGVyIGNhbiBpbmplY3QgYSBQQ0kgZGV2aWNlIHdpdGggdGhlIHZlbmRvciBJRCBgUENJX0RFVklDRV9JRF9TVE1NQUNfU1RNTUFDYCAoMHgxMTA4KSwgdGhlIGRyaXZlciAqc2hvdWxkKiBwcm9iZS4gQnV0IGhlcmUmIzM5O3MgdGhlIGtpY2tlcjogVGhlIGRyaXZlciBkb2VzIE1NSU8gcmVhZHMgYW5kIHdyaXRlcy4KCkxvb2tpbmcgYXQgYHN0bW1hY19wY2lfcHJvYmVgLCBmb3IgZXhhbXBsZToKYGBgYwpwY2ltX2lvbWFwX3JlZ2lvbnMocGRldiwgQklUKDApLCBwY2lfbmFtZShwZGV2KSkKcGxhdC0mZ3Q7YnNwX3ByaXYgPSBwZGV2OwpzdG1tYWNfZHZyX3Byb2JlKCZhbXA7cGRldi0mZ3Q7ZGV2LCBwbGF0LCAmYW1wO3Jlcyk7CmBgYAoKQW5kIGluIGBzdG1tYWNfZHZyX3Byb2JlYDoKYGBgYwpwcml2LSZndDtpb2FkZHIgPSByZXMtJmd0O2FkZHI7CmBgYAoKVGhpcyByZWFkcyBmcm9tIGBwcml2LSZndDtpb2FkZHJgLiBJZiB0aGF0IE1NSU8gbWVtb3J5IGlzIGp1c3QgZHVtbXkgZGF0YSAoYWxsIDBzLCBhbGwgMXMpLCB0aGUgZHJpdmVyICptaWdodCogZmFpbCB0byBwcm9iZSwgb3IgaXQgbWlnaHQgc3VjY2VlZCBpZiBpdCYjMzk7cyBub3Qgc3VwZXIgc3RyaWN0IGFib3V0IHRoZSByZWFkIHZhbHVlcy4KCkhhbmcgb27igKYgIGBzdG1tYWNfZHZyX3Byb2JlYCAqYWxzbyogY2FsbHMgYHN0bW1hY19od19zZXR1cGAsIGFuZCAqdGhhdCogcmVhZHMgdGhlIE1BQyB2ZXJzaW9uOgoKYGBgYwpwcml2LSZndDtzeW5vcHN5c19pZCA9IHN0bW1hY19nZXRfbWFjX3ZlcnNpb24ocHJpdiwgcHJpdi0mZ3Q7aW9hZGRyKTsKYGBgCgpJZiBpdCByZWFkcyAwIG9yIDB4ZmZmZmZmZmYsIGl0IG1pZ2h0IGZhaWwgdG8gY29ycmVjdGx5IGlkZW50aWZ5IHRoZSBNQUMgYW5kIHJldHVybiBhbiBlcnJvci4gTm93LCBsZXQmIzM5O3MgbG9vayBhdCBgc3RtbWFjX2dldF9tYWNfdmVyc2lvbmAgdG8gc2VlLi4uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5FcnJvcjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm5vIG1hdGNoZXM8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3RtbWFjX2dldF9tYWNfdmVyc2lvbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI4IDAwOjU2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM0MzcxCgkJCQkJCQlvdXRwdXQ6IDE5CgkJCQkJCQl0aG91Z2h0czogMTgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aG9zZSB0aG91Z2h0cyBmcm9tIGEgZmlyc3QtcGVyc29uLCBleHBlcnQgcGVyc3BlY3RpdmUsIGFpbWluZyBmb3IgYSBmdWxzb21lIHJlbmRlcmluZzoKCioqSW50ZXJuYWwgSW52ZXN0aWdhdGlvbiAtIFF1ZXJ5IEZvcm11bGF0aW9uKioKCkFscmlnaHQsIHRpbWUgdG8gZ2V0IHRvIHdvcmsuIEZpcnN0IHRoaW5nJiMzOTtzIGZpcnN0OiB3aGF0JiMzOTtzIHRoZSBtb3N0IGxpa2VseSBhdmVudWUgdG8gdW5jb3ZlciB0aGUgaW5mb3JtYXRpb24gSSBuZWVkPyBJJiMzOTttIHRoaW5raW5nIEkmIzM5O2xsIHN0YXJ0IHdpdGggdGhlIG1vc3Qgc3BlY2lmaWMgaWRlbnRpZmllcnMgdGhhdCBtaWdodCBiZSBhdmFpbGFibGUgdG8gbWUuIEkgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyB0byB0cmFjayBkb3duIHRoaXMgY3J1Y2lhbCBkYXRhLiBMZXQgbWUgYmVnaW4gYnkgc2VhcmNoaW5nIGZvciBzb21lIHBvdGVudGlhbCBrZXlzLiBJJiMzOTtsbCBmb2N1cyBvbiB0ZXJtcyByZWxhdGVkIHRvIHRoZSBzeXN0ZW0gaW4gcXVlc3Rpb24sIHBlcmhhcHMgSSBjYW4gdXNlIGBtYWNfdmVyc2lvbmAgdG8gc3RhcnQuIFRoYXQgc2hvdWxkIHByb3ZpZGUgc29tZSBpbmZvcm1hdGlvbiB0byBhbGxvdyBtZSB0byB0cmFjayBpdCBkb3duLiBJZiB0aGF0IGRvZXNuJiMzOTt0IHlpZWxkIGFueXRoaW5nIGltbWVkaWF0ZWx5IHByb21pc2luZywgSSYjMzk7bGwgbmVlZCB0byBicm9hZGVuIG15IHNlYXJjaCBhbmQgdHJ5IHNvbWV0aGluZyBtb3JlIGdlbmVyYWwsIGJ1dCBzdGlsbCByZWxldmFudC4gUGVyaGFwcyBgc3lub3BzeXNfaWRgIHdvdWxkIGJlIG1vcmUgdW5pdmVyc2FsLiBJJiMzOTtsbCB0cnkgdGhhdCBpZiB0aGUgZmlyc3QgYXBwcm9hY2ggaGl0cyBhIGRlYWQgZW5kLiBPa2F5LCBsZXQmIzM5O3Mgc2VlIHdoYXQgdGhlc2UgcXVlcmllcyB0dXJuIHVwIGFuZCBJIGNhbiBkZXRlcm1pbmUgd2hhdCBzdGVwcyBJIG5lZWQgdG8gdGFrZSB0byBnYWluIHRoZSBpbmZvcm1hdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3lub3BzeXNfaWQmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYz0zMDY9c3RhdGljIGludCBsb29uZ3Nvbl9kd21hY19zZXR1cCh2b2lkICphcHJpdiwgc3RydWN0IG1hY19kZXZpY2VfaW5mbyAqbWFjKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtMzI4LVx0aWYgKGxkLVx1MDAzZW11bHRpY2hhbikge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYzozMjk6XHRcdHByaXYtXHUwMDNlc3lub3BzeXNfaWQgPSBEV01BQ19DT1JFXzNfNzA7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTMzMC1cdFx0KmRtYSA9IGR3bWFjMTAwMF9kbWFfb3BzO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmM9MTA0Mz1zdGF0aWMgaW50IHN1bjhpX2R3bWFjX3NldHVwKHZvaWQgKnBwcml2LCBzdHJ1Y3QgbWFjX2RldmljZV9pbmZvICptYWMpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuOGkuYy0xMDcxLVx0LyogU3lub3BzeXMgSWQgaXMgbm90IGF2YWlsYWJsZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuOGkuYzoxMDcyOlx0cHJpdi1cdTAwM2VzeW5vcHN5c19pZCA9IDA7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44aS5jLTEwNzMtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJfZG1hLmM9MzUyPXN0YXRpYyBpbnQgZHd4Z21hYzJfZ2V0X2h3X2ZlYXR1cmUodm9pZCBfX2lvbWVtICppb2FkZHIsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJfZG1hLmMtMzgyLVx0ZG1hX2NhcC1cdTAwM2VtYnBzXzEwMDAgPSAoaHdfY2FwIFx1MDAyNiBYR01BQ19IV0ZFQVRfR01JSVNFTCkgXHUwMDNlXHUwMDNlIDE7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd3hnbWFjMl9kbWEuYzozODM6XHRpZiAoZG1hX2NhcC1cdTAwM2VtYnBzXzEwMDAgXHUwMDI2XHUwMDI2IHByaXYtXHUwMDNlc3lub3BzeXNfaWQgXHUwMDNlPSBEV1hHTUFDX0NPUkVfMl8yMClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3eGdtYWMyX2RtYS5jLTM4NC1cdFx0ZG1hX2NhcC1cdTAwM2VtYnBzXzEwXzEwMCA9IDE7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jPTY5PXN0YXRpYyBpbnQgc3RtbWFjX2R3bWFjMV9xdWlya3Moc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy03Ni1cdFx0LyogR01BQyBvbGRlciB0aGFuIDMuNTAgaGFzIG5vIGV4dGVuZGVkIGRlc2NyaXB0b3JzICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmM6Nzc6XHRcdGlmIChwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzZT0gRFdNQUNfQ09SRV8zXzUwKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmMtNzgtXHRcdFx0ZGV2X2luZm8ocHJpdi1cdTAwM2VkZXZpY2UsIFwmIzM0O0VuYWJsZWQgZXh0ZW5kZWQgZGVzY3JpcHRvcnNcXG5cJiMzNDspO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYz0yOTQ9c3RtbWFjX2h3aWZfZmluZChlbnVtIGR3bWFjX2NvcmVfdHlwZSBjb3JlX3R5cGUsIHU4IHNucHN2ZXIsIHU4IGRldl9pZClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmMtMzAzLVx0XHRcdGNvbnRpbnVlO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jOjMwNDpcdFx0LyogVXNlIHN5bm9wc3lzX2lkIHZhciBiZWNhdXNlIHNvbWUgc2V0dXBzIGNhbiBvdmVycmlkZSB0aGlzICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmMtMzA1LVx0XHRpZiAoc25wc3ZlciBcdTAwM2MgZW50cnktXHUwMDNlbWluX2lkKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYz0zMTc9aW50IHN0bW1hY19od2lmX2luaXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy0zMjgtXHQvKiBTYXZlIElEIGZvciBsYXRlciB1c2UgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYzozMjk6XHRwcml2LVx1MDAzZXN5bm9wc3lzX2lkID0gdmVyc2lvbi5zbnBzdmVyO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jLTMzMC1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmMtMzU5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jOjM2MDpcdC8qIFVzZSBzeW5vcHN5c19pZCB2YXIgYmVjYXVzZSBzb21lIHNldHVwcyBjYW4gb3ZlcnJpZGUgdGhpcyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jOjM2MTpcdGVudHJ5ID0gc3RtbWFjX2h3aWZfZmluZChjb3JlX3R5cGUsIHByaXYtXHUwMDNlc3lub3BzeXNfaWQsIHZlcnNpb24uZGV2X2lkKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy0zNjItXHRpZiAoIWVudHJ5KSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmg9MjYxPXN0cnVjdCBzdG1tYWNfcHJpdiB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmgtMzA2LVx0aW50IGh3X2NhcF9zdXBwb3J0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmg6MzA3Olx0aW50IHN5bm9wc3lzX2lkO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmgtMzA4LVx0dTMyIG1zZ19lbmFibGU7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2V0aHRvb2wuYz01MTU9c3RhdGljIHZvaWQgc3RtbWFjX2dldF9ldGh0b29sX3N0YXRzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2V0aHRvb2wuYy01NTUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfZXRodG9vbC5jOjU1NjpcdFx0aWYgKHByaXYtXHUwMDNlc3lub3BzeXNfaWQgXHUwMDNlPSBEV01BQ19DT1JFXzNfNTApXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfZXRodG9vbC5jLTU1Ny1cdFx0XHRzdG1tYWNfbWFjX2RlYnVnKHByaXYsIHByaXYtXHUwMDNlaW9hZGRyLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM9NjQyPXN0YXRpYyBpbnQgc3RtbWFjX2h3dHN0YW1wX3NldChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmMtNzU3LVx0XHRcdHNuYXBfdHlwZV9zZWwgPSBQVFBfVENSX1NOQVBUWVBTRUxfMTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM6NzU4Olx0XHRcdGlmIChwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzYyBEV01BQ19DT1JFXzRfMTApXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc1OS1cdFx0XHRcdHRzX2V2ZW50X2VuID0gUFRQX1RDUl9UU0VWTlRFTkE7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYz02NTU1PXN0YXRpYyBpbnQgc3RtbWFjX2RtYV9jYXBfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgdm9pZCAqdilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTY2MjItXHRcdCAgIChwcml2LVx1MDAzZWRtYV9jYXAudHhfY29lKSA/IFwmIzM0O1lcJiMzNDsgOiBcJiMzNDtOXCYjMzQ7KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM6NjYyMzpcdGlmIChwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzZT0gRFdNQUNfQ09SRV80XzAwIHx8XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTY2MjQtXHQgICAgcHJpdi1cdTAwM2VwbGF0LVx1MDAzZWNvcmVfdHlwZSA9PSBEV01BQ19DT1JFX1hHTUFDKSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYz03Mzk3PXN0YXRpYyBpbnQgc3RtbWFjX2h3X2luaXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmMtNzQ1Mi1cdFx0ZGV2X2luZm8ocHJpdi1cdTAwM2VkZXZpY2UsIFwmIzM0O1JYIENoZWNrc3VtIE9mZmxvYWQgRW5naW5lIHN1cHBvcnRlZFxcblwmIzM0Oyk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jOjc0NTM6XHRcdGlmIChwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzYyBEV01BQ19DT1JFXzRfMDApXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc0NTQtXHRcdFx0ZGV2X2luZm8ocHJpdi1cdTAwM2VkZXZpY2UsIFwmIzM0O0NPRSBUeXBlICVkXFxuXCYjMzQ7LCBwcml2LVx1MDAzZWh3LVx1MDAzZXJ4X2NzdW0pO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmMtNzUxOC1cdCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYzo3NTE5Olx0aWYgKChwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzZT0gRFdNQUNfQ09SRV8zXzUwIHx8XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc1MjAtXHQgICAgIHByaXYtXHUwMDNlcGxhdC1cdTAwM2Vjb3JlX3R5cGUgPT0gRFdNQUNfQ09SRV9YR01BQykgXHUwMDI2XHUwMDI2XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYz03Nzg2PXN0YXRpYyBpbnQgX19zdG1tYWNfZHZyX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRldmljZSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc4OTUtXHQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM6Nzg5NjpcdGlmIChwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzYyBEV01BQ19DT1JFXzVfMjApXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc4OTctXHRcdHByaXYtXHUwMDNlcGxhdC1cdTAwM2VkbWFfY2ZnLVx1MDAzZWRjaGUgPSBmYWxzZTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc5OTUtXHRcdG5kZXYtXHUwMDNlbWF4X210dSA9IFhHTUFDX0pVTUJPX0xFTjtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM6Nzk5NjpcdGVsc2UgaWYgKHByaXYtXHUwMDNlcGxhdC1cdTAwM2VlbmhfZGVzYyB8fCBwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzZT0gRFdNQUNfQ09SRV80XzAwKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYy03OTk3LVx0XHRuZGV2LVx1MDAzZW1heF9tdHUgPSBKVU1CT19MRU47XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYz03Mj1zdGF0aWMgdm9pZCBzdG1tYWNfeGdtYWMyX2MyMl9mb3JtYXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2LCBpbnQgcGh5YWRkcixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jLTc2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYzo3NzpcdGlmIChwcml2LVx1MDAzZXN5bm9wc3lzX2lkIFx1MDAzYyBEV1hHTUFDX0NPUkVfMl8yMCkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYy03OC1cdFx0LyogVW50aWwgdmVyIDIuMjAgWEdNQUMgZG9lcyBub3Qgc3VwcG9ydCBDMjIgYWRkciBcdTAwM2U9IDQuIFRob3NlXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYz0xMzI9c3RhdGljIGludCBzdG1tYWNfeGdtYWMyX21kaW9fcmVhZF9jMjIoc3RydWN0IG1paV9idXMgKmJ1cywgaW50IHBoeWFkZHIsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYy0xMzgtXHQvKiBVbnRpbCB2ZXIgMi4yMCBYR01BQyBkb2VzIG5vdCBzdXBwb3J0IEMyMiBhZGRyIFx1MDAzZT0gNCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYzoxMzk6XHRpZiAocHJpdi1cdTAwM2VzeW5vcHN5c19pZCBcdTAwM2MgRFdYR01BQ19DT1JFXzJfMjAgXHUwMDI2XHUwMDI2XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jLTE0MC1cdCAgICBwaHlhZGRyIFx1MDAzZSBNSUlfWEdNQUNfTUFYX0MyMkFERFIpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYz0xOTU9c3RhdGljIGludCBzdG1tYWNfeGdtYWMyX21kaW9fd3JpdGVfYzIyKHN0cnVjdCBtaWlfYnVzICpidXMsIGludCBwaHlhZGRyLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmMtMjAxLVx0LyogVW50aWwgdmVyIDIuMjAgWEdNQUMgZG9lcyBub3Qgc3VwcG9ydCBDMjIgYWRkciBcdTAwM2U9IDQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM6MjAyOlx0aWYgKHByaXYtXHUwMDNlc3lub3BzeXNfaWQgXHUwMDNjIERXWEdNQUNfQ09SRV8yXzIwIFx1MDAyNlx1MDAyNlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYy0yMDMtXHQgICAgcGh5YWRkciBcdTAwM2UgTUlJX1hHTUFDX01BWF9DMjJBRERSKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM9NTk1PWludCBzdG1tYWNfbWRpb19yZWdpc3RlcihzdHJ1Y3QgbmV0X2RldmljZSAqbmRldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jLTYyNy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM6NjI4Olx0XHRpZiAocHJpdi1cdTAwM2VzeW5vcHN5c19pZCBcdTAwM2MgRFdYR01BQ19DT1JFXzJfMjApIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmMtNjI5LVx0XHRcdC8qIFJpZ2h0IG5vdyBvbmx5IEMyMiBwaHlzIGFyZSBzdXBwb3J0ZWQgKi9cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzgwMTMKCQkJCQkJCW91dHB1dDogMTQ5CgkJCQkJCQl0aG91Z2h0czogMTY3NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipVbnJlYWNoYWJsZSBDb2RlIGluIFN0YW5kYXJkIFFFTVUvU3l6a2FsbGVyIEVudmlyb25tZW50cyoqCgpPa2F5LCBzbyBoZXJlJiMzOTtzIHRoZSBicmVha2Rvd24gb2YgbXkgdGhpbmtpbmcuIFRoZSBjb2RlIGluIHF1ZXN0aW9uIHRvdWNoZXMgYHN0bW1hY2AsIHNwZWNpZmljYWxseSwgdGhlIFN5bm9wc3lzIERlc2lnbldhcmUgTUFDIGRyaXZlci4gTXkgaW1tZWRpYXRlIHRob3VnaHQgaXMsICYjMzQ7V2FpdCBhIG1pbnV0ZSwgYHN0bW1hY2AgcmVsaWVzIG9uIGhhcmR3YXJlIGludGVyYWN0aW9uLCByaWdodD8mIzM0OyBJdCBjYWxscyBgc3RtbWFjX2h3X3NldHVwYCBhbmQgcmVhZHMgdGhlIGBwcml2LSZndDtzeW5vcHN5c19pZGAuIElmIHRoYXQgcmVhZCBmYWlscyAocmV0dXJucyAwKSwgdGhlIHByb2JlIGxpa2VseSBmYWlscy4gTXkgaW5pdGlhbCBob3BlIHdhcyBtYXliZSBzeXprYWxsZXIgY291bGQgaW5qZWN0IHNvbWUgZHVtbXkgTU1JTyByZXNwb25zZXMsIGJ1dCBpdCBkb2VzbiYjMzk7dCBoYXZlIGEgUENJIE1NSU8gaW5qZWN0b3IsIHNvIHRoYXQmIzM5O3MgYSBkZWFkIGVuZC4KCk5leHQsIEkgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyBzeXprYWxsZXIgKmNvdWxkKiB0cmlnZ2VyIHRoaXMgY29kZS4gSXMgaXQgYmVjYXVzZSB0aGUgZHJpdmVyIGlzIGNvbXBpbGVkIGluIGFuZCB3ZSYjMzk7cmUgZnV6emluZyBhIG5ldGxpbmsgb3IgZXRodG9vbCBpbnRlcmZhY2UgdG8gYW4gYWxyZWFkeSBleGlzdGluZyBkZXZpY2U/IE9yIGlzIHRoZSBjb2RlIGFjdHVhbGx5IHVucmVhY2hhYmxlPyBNeSB1bmRlcnN0YW5kaW5nIG9mIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlzIHRoYXQgaXQmIzM5O3MgZm9yIGNvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgZXZlbiB3aXRoIHNvZnR3YXJlIGVtdWxhdGVkIGhhcmR3YXJlLiBTbywgSSBuZWVkIHRvIGNvbmZpcm0gaWYgYHN0bW1hY2AgZml0cyB0aGF0IGRlc2NyaXB0aW9uLgoKYHN0bW1hY2AgaXMgYSB2ZW5kb3Itc3BlY2lmaWMgTUFDIGRyaXZlciAoU3lub3BzeXMgRGVzaWduV2FyZSBNQUMpIHRoYXQgbmVlZHMgKnBoeXNpY2FsKiBoYXJkd2FyZSBvciBzcGVjaWFsIFNvQyBlbXVsYXRpb24uIERvZXMgUUVNVSBlbXVsYXRlIHRoaXM/IFllcywgYGh3L25ldC9kZXNpZ253YXJlLmNgIGlzIFFFTVUmIzM5O3MgZW11bGF0aW9uLiBCdXQgaXMgaXQgYSBQQ0kgZGV2aWNlLCBvciBhIHBsYXRmb3JtIGRldmljZT8gSW4gUUVNVSwgYGRlc2lnbndhcmUuY2AgaXMgYSAqcGxhdGZvcm0qIGRldmljZS4gSXQmIzM5O3MgdXNlZCBpbiBBUk0gbWFjaGluZXMgbGlrZSBgbWNpbXg2dWwtZXZrYCwgYG1jaW14N2Qtc2FicmVgLCBgc2lmaXZlX3VgLCBgYWxsd2lubmVyLWgzYCwgYW5kIGBhbGx3aW5uZXItcjQwYC4gRG9lcyBzeXprYWxsZXIgdXNlIGFueSBvZiB0aGVzZSBtYWNoaW5lcz8gTm8sIHN5emthbGxlciB1c3VhbGx5IHJ1bnMgb24gYHg4Nl82NGAgb3IgQVJNNjQsIGJ1dCBvbiBgYXJtNjRgLCBpdCB1c2VzIHRoZSBgdmlydGAgbWFjaGluZSB3aGljaCB1c2VzIGB2aXJ0aW8tbmV0YC4gVGhlcmVmb3JlLCBgc3RtbWFjYCAqaXNuJiMzOTt0KiByZWFjaGFibGUgaW4gc3RhbmRhcmQgc3l6a2FsbGVyIFFFTVUgZW52aXJvbm1lbnRzLgoKV2hhdCBhYm91dCBgc3RtbWFjX3BjaWA/IFFFTVUgKmRvZXNuJiMzOTt0KiBoYXZlIGEgUENJIHdyYXBwZXIgZm9yIGBkZXNpZ253YXJlYC4gYHN0bW1hY19wY2lgIHdpbGwgKm5ldmVyKiBwcm9iZSBpbiBRRU1VLiBUaGlzIG1lYW5zIHRoZSBgc3RtbWFjYCBkcml2ZXIgaXMgKmltcG9zc2libGUqIHRvIHJlYWNoIGluIHN5emthbGxlciYjMzk7cyB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMuCgpDb3VsZCBpdCBiZSByZWFjaGVkIGFub3RoZXIgd2F5PyBgdmhjaWAgb3IgYG1hYzgwMjExX2h3c2ltYCBhcmUgVVNCIGFuZCBXaUZpLiBgbmV0ZGV2c2ltYCBpcyBhIHNvZnR3YXJlIHNpbXVsYXRvciwgYnV0IGl0IGRvZXNuJiMzOTt0IHNpbXVsYXRlIGBzdG1tYWNgLiBTbywgYWdhaW4sIHVucmVhY2hhYmxlLgoKTGV0JiMzOTtzIHJldmlzaXQgdGhlIHByb21wdDogJiMzNDtDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuJiMzNDsgRG9lcyBgc3RtbWFjYCBmaXQ/IFllcywgaXQmIzM5O3MgYSBoYXJkd2FyZS1zcGVjaWZpYyBFdGhlcm5ldCBkcml2ZXIgdGhhdCBuZWVkcyBoYXJkd2FyZSwgb3Igc3BlY2lmaWMgU29DIGVtdWxhdGlvbiBub3QgdXNlZCBpbiBzdGFuZGFyZCBRRU1VIChsaWtlIGB2aXJ0YCBvciBgcGNgKS4KCkkgc2VhcmNoZWQgZm9yIHN5emthbGxlciBjb3ZlcmFnZSBhbmQgZm91bmQgKm5vdGhpbmcqIHJlbGF0ZWQgdG8gYHN0bW1hY2AuIFRoZXJlIGlzIGBzdG1tYWNfc2VsZnRlc3RzLmNgIHRyaWdnZXJlZCBieSBgZXRodG9vbGAsIGJ1dCBpZiB0aGUgZGV2aWNlIGlzbiYjMzk7dCBwcmVzZW50LCBgZXRodG9vbGAgY2FuJiMzOTt0IGJlIGNhbGxlZC4gU28gdGhhdCBzZWxmdGVzdCBjb2RlIGlzIHVucmVhY2hhYmxlLiBXaGF0IGFib3V0IHRoZSBuZXcgYHBoeWxpbmsuY2AgY2hhbmdlcz8gSXQgYWRkcyBgcGh5bGlua19wY3NfbG9vcGJhY2tgIHdoaWNoIGlzIGV4cG9ydGVkLiBJcyBpdCB1c2VkIGJ5IGFueXRoaW5nIG90aGVyIHRoYW4gYHN0bW1hY19zZWxmdGVzdHMuY2A/IE5vLCBncmVwIHNheXMgaXQmIzM5O3Mgb25seSBjYWxsZWQgaW4gYHN0bW1hY19zZWxmdGVzdHMuY2AuIFNvIHRoZSBuZXcgcGh5bGluayBBUEkgaXMgKmFsc28qIHVucmVhY2hhYmxlIGJlY2F1c2UgaXRzIG9ubHkgY2FsbGVyIGlzLgoKTGV0JiMzOTtzIHJldmlldyB0aGUgcGF0Y2ggYWdhaW46CmBgYGMKJiM0MztpbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKQomIzQzO3sKJiM0MzsJaWYgKHBjcyAmYW1wOyZhbXA7IHBjcy0mZ3Q7b3BzLSZndDtwY3NfbG9vcGJhY2spCiYjNDM7CQlyZXR1cm4gcGNzLSZndDtvcHMtJmd0O3Bjc19sb29wYmFjayhwY3MsIGVuYWJsZSk7CiYjNDM7CiYjNDM7CXJldHVybiAtRU9QTk9UU1VQUDsKJiM0Mzt9CiYjNDM7RVhQT1JUX1NZTUJPTF9HUEwocGh5bGlua19wY3NfbG9vcGJhY2spOwpgYGAKSXQmIzM5O3MgYSBnZW5lcmljIEFQSSwgYnV0ICpjdXJyZW50bHkqIG9ubHkgdXNlZCBieSBgc3RtbWFjYC4gU2luY2UgYHN0bW1hY2AgaXMgdW5yZWFjaGFibGUsIHRoaXMgQVBJIGlzIHVucmVhY2hhYmxlLgoKSXMgdGhlcmUgYW55IGNoYW5jZSBgc3RtbWFjYCBpcyBlbXVsYXRlZCBieSBRRU1VJiMzOTtzIFBDST8gTGV0JiMzOTtzIGNoZWNrIHRoZSBRRU1VIHNvdXJjZS4gSW4gdGhlCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjggMDA6NTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgUENTIGxvb3BiYWNrIGZlYXR1cmUgdG8gdGhlIHN0bW1hYyAoU3lub3BzeXMgRGVzaWduV2FyZSBNQUMpIGRyaXZlciBhbmQgYSBjb3JyZXNwb25kaW5nIEFQSSBpbiBwaHlsaW5rLiBUaGUgc3RtbWFjIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBwaHlzaWNhbCBoYXJkd2FyZSBvciBTb0MgZW11bGF0aW9uIChlLmcuLCBJbnRlbCBRdWFyay9FbGtoYXJ0IExha2UgZm9yIFBDSSwgb3Igc3BlY2lmaWMgQVJNIFNvQ3MgZm9yIHBsYXRmb3JtKS4gVGhlc2UgZGV2aWNlcyBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzIChsaWtlICYjMzk7cGMmIzM5OyBvciAmIzM5O3ZpcnQmIzM5OyBtYWNoaW5lcykgdXNlZCBieSBzeXprYWxsZXIuIFdpdGhvdXQgdGhlIGhhcmR3YXJlLCB0aGUgZHJpdmVyIHdpbGwgZmFpbCB0byBwcm9iZSwgbWFraW5nIHRoZSBzZWxmdGVzdCBhbmQgdGhlIG5ldyBwaHlsaW5rIGxvb3BiYWNrIGNvZGUgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgUENTIGxvb3BiYWNrIGZlYXR1cmUgdG8gdGhlIHN0bW1hYyAoU3lub3BzeXMgRGVzaWduV2FyZSBNQUMpIGRyaXZlciBhbmQgYSBjb3JyZXNwb25kaW5nIEFQSSBpbiBwaHlsaW5rLiBUaGUgc3RtbWFjIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBwaHlzaWNhbCBoYXJkd2FyZSBvciBTb0MgZW11bGF0aW9uIChlLmcuLCBJbnRlbCBRdWFyay9FbGtoYXJ0IExha2UgZm9yIFBDSSwgb3Igc3BlY2lmaWMgQVJNIFNvQ3MgZm9yIHBsYXRmb3JtKS4gVGhlc2UgZGV2aWNlcyBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzIChsaWtlICYjMzk7cGMmIzM5OyBvciAmIzM5O3ZpcnQmIzM5OyBtYWNoaW5lcykgdXNlZCBieSBzeXprYWxsZXIuIFdpdGhvdXQgdGhlIGhhcmR3YXJlLCB0aGUgZHJpdmVyIHdpbGwgZmFpbCB0byBwcm9iZSwgbWFraW5nIHRoZSBzZWxmdGVzdCBhbmQgdGhlIG5ldyBwaHlsaW5rIGxvb3BiYWNrIGNvZGUgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTQ6MDEuNDQyNzkwMDE0WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTc4Njc0OTc5MDY1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgUENTIGxvb3BiYWNrIGZlYXR1cmUgdG8gdGhlIHN0bW1hYyAoU3lub3BzeXMgRGVzaWduV2FyZSBNQUMpIGRyaXZlciBhbmQgYSBjb3JyZXNwb25kaW5nIEFQSSBpbiBwaHlsaW5rLiBUaGUgc3RtbWFjIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBwaHlzaWNhbCBoYXJkd2FyZSBvciBTb0MgZW11bGF0aW9uIChlLmcuLCBJbnRlbCBRdWFyay9FbGtoYXJ0IExha2UgZm9yIFBDSSwgb3Igc3BlY2lmaWMgQVJNIFNvQ3MgZm9yIHBsYXRmb3JtKS4gVGhlc2UgZGV2aWNlcyBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzIChsaWtlICdwYycgb3IgJ3ZpcnQnIG1hY2hpbmVzKSB1c2VkIGJ5IHN5emthbGxlci4gV2l0aG91dCB0aGUgaGFyZHdhcmUsIHRoZSBkcml2ZXIgd2lsbCBmYWlsIHRvIHByb2JlLCBtYWtpbmcgdGhlIHNlbGZ0ZXN0IGFuZCB0aGUgbmV3IHBoeWxpbmsgbG9vcGJhY2sgY29kZSB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU0OjAxLjQ0Mjc5OTY3NFoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjgyNzYxMDEzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgZWE3MWVjNzQ2ZDA0NGRlYjAwOTM1OWMzYmNkZWUxZTY0NGI4MDY5M1xcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVHVlIEp1bCAyOCAwMDo1Mzo1OSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmNcXG5pbmRleCBkZjM3YWY1YWI4MzdhZi4uOTBhMjFhMmY3ZTg3MzEgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3Bjcy5jXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3Bjcy5jXFxuQEAgLTE2OCw2ICsxNjgsMjIgQEAgc3RhdGljIHZvaWQgZHdtYWNfaW50ZWdyYXRlZF9wY3NfYW5fcmVzdGFydChzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcylcXG4gXFx0fVxcbiB9XFxuIFxcbitzdGF0aWMgaW50IGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCBib29sIGVuYWJsZSlcXG4re1xcbitcXHRzdHJ1Y3Qgc3RtbWFjX3BjcyAqc3BjcyA9IHBoeWxpbmtfcGNzX3RvX3N0bW1hY19wY3MocGNzKTtcXG4rXFx0dm9pZCBfX2lvbWVtICphbl9jb250cm9sID0gc3Bjcy1cXHUwMDNlYmFzZSArIEdNQUNfQU5fQ1RSTCgwKTtcXG4rXFx0dTMyIGN0cmw7XFxuK1xcbitcXHRjdHJsID0gcmVhZGwoYW5fY29udHJvbCk7XFxuK1xcdGlmIChlbmFibGUpXFxuK1xcdFxcdGN0cmwgfD0gR01BQ19BTl9DVFJMX0VMRTtcXG4rXFx0ZWxzZVxcbitcXHRcXHRjdHJsIFxcdTAwMjY9IH5HTUFDX0FOX0NUUkxfRUxFO1xcbitcXHR3cml0ZWwoY3RybCwgYW5fY29udHJvbCk7XFxuK1xcbitcXHRyZXR1cm4gMDtcXG4rfVxcbitcXG4gc3RhdGljIGNvbnN0IHN0cnVjdCBwaHlsaW5rX3Bjc19vcHMgZHdtYWNfaW50ZWdyYXRlZF9wY3Nfb3BzID0ge1xcbiBcXHQucGNzX2luYmFuZF9jYXBzID0gZHdtYWNfaW50ZWdyYXRlZF9wY3NfaW5iYW5kX2NhcHMsXFxuIFxcdC5wY3NfZW5hYmxlID0gZHdtYWNfaW50ZWdyYXRlZF9wY3NfZW5hYmxlLFxcbkBAIC0xNzUsNiArMTkxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwaHlsaW5rX3Bjc19vcHMgZHdtYWNfaW50ZWdyYXRlZF9wY3Nfb3BzID0ge1xcbiBcXHQucGNzX2dldF9zdGF0ZSA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2dldF9zdGF0ZSxcXG4gXFx0LnBjc19jb25maWcgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19jb25maWcsXFxuIFxcdC5wY3NfYW5fcmVzdGFydCA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2FuX3Jlc3RhcnQsXFxuK1xcdC5wY3NfbG9vcGJhY2sgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19sb29wYmFjayxcXG4gfTtcXG4gXFxuIHZvaWQgc3RtbWFjX2ludGVncmF0ZWRfcGNzX2lycShzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYsIHUzMiBzdGF0dXMsXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuY1xcbmluZGV4IDI5ZTgyNGJkOTBjYTZiLi43N2E0NTdiMmZhNWNmNyAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmNcXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmNcXG5AQCAtMTksNiArMTksNyBAQFxcbiAjaW5jbHVkZSBcXHUwMDNjbmV0L3VkcC5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbmV0L3RjX2FjdC90Y19nYWN0LmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcXCJzdG1tYWMuaFxcXCJcXG4rI2luY2x1ZGUgXFxcInN0bW1hY19wY3MuaFxcXCJcXG4gXFxuIHN0cnVjdCBzdG1tYWNoZHIge1xcbiBcXHRfX2JlMzIgdmVyc2lvbjtcXG5AQCAtMzc0LDIzICszNzUsNTEgQEAgc3RhdGljIGludCBzdG1tYWNfdGVzdF9tYWNfbG9vcGJhY2soc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxcbiBcXHRyZXR1cm4gX19zdG1tYWNfdGVzdF9sb29wYmFjayhwcml2LCBcXHUwMDI2YXR0cik7XFxuIH1cXG4gXFxuK3N0YXRpYyBzdHJ1Y3QgcGh5bGlua19wY3MgKnN0bW1hY19zZWxmdGVzdF9nZXRfcGNzKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdilcXG4re1xcbitcXHQvKiBUcnkgZ2x1ZSBkcml2ZXIncyBQQ1MgZmlyc3QsIHRoZW4gdGhlIGludGVncmF0ZWQgUENTLiAqL1xcbitcXHRpZiAocHJpdi1cXHUwMDNlaHctXFx1MDAzZXBoeWxpbmtfcGNzKVxcbitcXHRcXHRyZXR1cm4gcHJpdi1cXHUwMDNlaHctXFx1MDAzZXBoeWxpbmtfcGNzO1xcbitcXG4rXFx0aWYgKHByaXYtXFx1MDAzZWludGVncmF0ZWRfcGNzKVxcbitcXHRcXHRyZXR1cm4gXFx1MDAyNnByaXYtXFx1MDAzZWludGVncmF0ZWRfcGNzLVxcdTAwM2VwY3M7XFxuK1xcbitcXHRyZXR1cm4gTlVMTDtcXG4rfVxcbitcXG4gc3RhdGljIGludCBzdG1tYWNfdGVzdF9waHlfbG9vcGJhY2soc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxcbiB7XFxuIFxcdHN0cnVjdCBzdG1tYWNfcGFja2V0X2F0dHJzIGF0dHIgPSB7IH07XFxuK1xcdHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzO1xcbiBcXHRpbnQgcmV0O1xcbiBcXG4tXFx0aWYgKCFwcml2LVxcdTAwM2VkZXYtXFx1MDAzZXBoeWRldilcXG4tXFx0XFx0cmV0dXJuIC1FT1BOT1RTVVBQO1xcbitcXHRpZiAocHJpdi1cXHUwMDNlZGV2LVxcdTAwM2VwaHlkZXYpIHtcXG4rXFx0XFx0cmV0ID0gcGh5X2xvb3BiYWNrKHByaXYtXFx1MDAzZWRldi1cXHUwMDNlcGh5ZGV2LCB0cnVlLCAwKTtcXG4rXFx0XFx0aWYgKHJldClcXG4rXFx0XFx0XFx0cmV0dXJuIHJldDtcXG4gXFxuLVxcdHJldCA9IHBoeV9sb29wYmFjayhwcml2LVxcdTAwM2VkZXYtXFx1MDAzZXBoeWRldiwgdHJ1ZSwgMCk7XFxuLVxcdGlmIChyZXQpXFxuK1xcdFxcdGF0dHIuZHN0ID0gcHJpdi1cXHUwMDNlZGV2LVxcdTAwM2VkZXZfYWRkcjtcXG4rXFx0XFx0cmV0ID0gX19zdG1tYWNfdGVzdF9sb29wYmFjayhwcml2LCBcXHUwMDI2YXR0cik7XFxuK1xcbitcXHRcXHRwaHlfbG9vcGJhY2socHJpdi1cXHUwMDNlZGV2LVxcdTAwM2VwaHlkZXYsIGZhbHNlLCAwKTtcXG4gXFx0XFx0cmV0dXJuIHJldDtcXG4rXFx0fVxcbiBcXG4tXFx0YXR0ci5kc3QgPSBwcml2LVxcdTAwM2VkZXYtXFx1MDAzZWRldl9hZGRyO1xcbi1cXHRyZXQgPSBfX3N0bW1hY190ZXN0X2xvb3BiYWNrKHByaXYsIFxcdTAwMjZhdHRyKTtcXG4rXFx0LyogVXNlIFBDUyBsb29wYmFjayBmb3IgaW50ZXJmYWNlcyB3aXRob3V0IGFuIGV4dGVybmFsIFBIWS4gKi9cXG4rXFx0cGNzID0gc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdik7XFxuK1xcdGlmIChwY3MpIHtcXG4rXFx0XFx0cmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2socGNzLCB0cnVlKTtcXG4rXFx0XFx0aWYgKHJldClcXG4rXFx0XFx0XFx0cmV0dXJuIHJldDtcXG4gXFxuLVxcdHBoeV9sb29wYmFjayhwcml2LVxcdTAwM2VkZXYtXFx1MDAzZXBoeWRldiwgZmFsc2UsIDApO1xcbi1cXHRyZXR1cm4gcmV0O1xcbitcXHRcXHRhdHRyLmRzdCA9IHByaXYtXFx1MDAzZWRldi1cXHUwMDNlZGV2X2FkZHI7XFxuK1xcdFxcdHJldCA9IF9fc3RtbWFjX3Rlc3RfbG9vcGJhY2socHJpdiwgXFx1MDAyNmF0dHIpO1xcbitcXG4rXFx0XFx0cGh5bGlua19wY3NfbG9vcGJhY2socGNzLCBmYWxzZSk7XFxuK1xcdFxcdHJldHVybiByZXQ7XFxuK1xcdH1cXG4rXFxuK1xcdHJldHVybiAtRU9QTk9UU1VQUDtcXG4gfVxcbiBcXG4gc3RhdGljIGludCBzdG1tYWNfdGVzdF9tbWMoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxcbkBAIC0xOTg2LDYgKzIwMTUsOSBAQCB2b2lkIHN0bW1hY19zZWxmdGVzdF9ydW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4gXFx0XFx0XFx0cmV0ID0gLUVPUE5PVFNVUFA7XFxuIFxcdFxcdFxcdGlmIChkZXYtXFx1MDAzZXBoeWRldilcXG4gXFx0XFx0XFx0XFx0cmV0ID0gcGh5X2xvb3BiYWNrKGRldi1cXHUwMDNlcGh5ZGV2LCB0cnVlLCAwKTtcXG4rXFx0XFx0XFx0ZWxzZVxcbitcXHRcXHRcXHRcXHRyZXQgPSBwaHlsaW5rX3Bjc19sb29wYmFjayhzdG1tYWNfc2VsZnRlc3RfZ2V0X3Bjcyhwcml2KSxcXG4rXFx0XFx0XFx0XFx0XFx0XFx0XFx0ICAgdHJ1ZSk7XFxuIFxcdFxcdFxcdGlmICghcmV0KVxcbiBcXHRcXHRcXHRcXHRicmVhaztcXG4gXFx0XFx0XFx0ZmFsbHRocm91Z2g7XFxuQEAgLTIwMTksNiArMjA1MSw5IEBAIHZvaWQgc3RtbWFjX3NlbGZ0ZXN0X3J1bihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbiBcXHRcXHRcXHRyZXQgPSAtRU9QTk9UU1VQUDtcXG4gXFx0XFx0XFx0aWYgKGRldi1cXHUwMDNlcGh5ZGV2KVxcbiBcXHRcXHRcXHRcXHRyZXQgPSBwaHlfbG9vcGJhY2soZGV2LVxcdTAwM2VwaHlkZXYsIGZhbHNlLCAwKTtcXG4rXFx0XFx0XFx0ZWxzZVxcbitcXHRcXHRcXHRcXHRyZXQgPSBwaHlsaW5rX3Bjc19sb29wYmFjayhzdG1tYWNfc2VsZnRlc3RfZ2V0X3Bjcyhwcml2KSxcXG4rXFx0XFx0XFx0XFx0XFx0XFx0XFx0ICAgZmFsc2UpO1xcbiBcXHRcXHRcXHRpZiAoIXJldClcXG4gXFx0XFx0XFx0XFx0YnJlYWs7XFxuIFxcdFxcdFxcdGZhbGx0aHJvdWdoO1xcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvcGh5bGluay5jIGIvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuY1xcbmluZGV4IDU5ZGZlMzVhZmE1NGZjLi42OTI0MmNhZmZhZWY1MSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9waHkvcGh5bGluay5jXFxuKysrIGIvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuY1xcbkBAIC05OTcsNiArOTk3LDI1IEBAIGludCBwaHlsaW5rX3Bjc19wcmVfaW5pdChzdHJ1Y3QgcGh5bGluayAqcGwsIHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKVxcbiB9XFxuIEVYUE9SVF9TWU1CT0xfR1BMKHBoeWxpbmtfcGNzX3ByZV9pbml0KTtcXG4gXFxuKy8qKlxcbisgKiBwaHlsaW5rX3Bjc19sb29wYmFjaygpIC0gRW5hYmxlIG9yIGRpc2FibGUgbG9vcGJhY2sgYXQgdGhlIFBDU1xcbisgKiBAcGNzOiBhIHBvaW50ZXIgdG8gYSBcXHUwMDI2c3RydWN0IHBoeWxpbmtfcGNzLlxcbisgKiBAZW5hYmxlOiB0cnVlIHRvIGVuYWJsZSBsb29wYmFjaywgZmFsc2UgdG8gZGlzYWJsZVxcbisgKlxcbisgKiBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBtb2RlIGF0IHRoZSBQQ1MgbGV2ZWwuIFRoaXMgaXMgdXNlZCBieSBNQUNcXG4rICogZHJpdmVycyBmb3Igc2VsZnRlc3QgcHVycG9zZXMgd2hlbiBubyBleHRlcm5hbCBQSFkgaXMgcHJlc2VudC5cXG4rICpcXG4rICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS5cXG4rICovXFxuK2ludCBwaHlsaW5rX3Bjc19sb29wYmFjayhzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpXFxuK3tcXG4rXFx0aWYgKHBjcyBcXHUwMDI2XFx1MDAyNiBwY3MtXFx1MDAzZW9wcy1cXHUwMDNlcGNzX2xvb3BiYWNrKVxcbitcXHRcXHRyZXR1cm4gcGNzLVxcdTAwM2VvcHMtXFx1MDAzZXBjc19sb29wYmFjayhwY3MsIGVuYWJsZSk7XFxuK1xcbitcXHRyZXR1cm4gLUVPUE5PVFNVUFA7XFxuK31cXG4rRVhQT1JUX1NZTUJPTF9HUEwocGh5bGlua19wY3NfbG9vcGJhY2spO1xcbitcXG4gc3RhdGljIHZvaWQgcGh5bGlua19tYWNfY29uZmlnKHN0cnVjdCBwaHlsaW5rICpwbCxcXG4gXFx0XFx0XFx0ICAgICAgIGNvbnN0IHN0cnVjdCBwaHlsaW5rX2xpbmtfc3RhdGUgKnN0YXRlKVxcbiB7XFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGh5bGluay5oIGIvaW5jbHVkZS9saW51eC9waHlsaW5rLmhcXG5pbmRleCAyYmMwZGIzZDUyYWM4ZC4uNjZjNzAxNmQ0YWNkY2IgMTAwNjQ0XFxuLS0tIGEvaW5jbHVkZS9saW51eC9waHlsaW5rLmhcXG4rKysgYi9pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaFxcbkBAIC01MTgsNiArNTE4LDcgQEAgc3RydWN0IHBoeWxpbmtfcGNzIHtcXG4gICpcXHRcXHQgICAgdGhlIE1BQy5cXG4gICogQHBjc19wcmVfaW5pdDogY29uZmlndXJlIFBDUyBjb21wb25lbnRzIG5lY2Vzc2FyeSBmb3IgTUFDIGhhcmR3YXJlXFxuICAqICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIGUuZy4gUlggY2xvY2sgZm9yIHN0bW1hYy5cXG4rICogQHBjc19sb29wYmFjazogZW5hYmxlL2Rpc2FibGUgbG9vcGJhY2sgbW9kZSBhdCB0aGUgUENTLlxcbiAgKi9cXG4gc3RydWN0IHBoeWxpbmtfcGNzX29wcyB7XFxuIFxcdGludCAoKnBjc192YWxpZGF0ZSkoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIHVuc2lnbmVkIGxvbmcgKnN1cHBvcnRlZCxcXG5AQCAtNTQyLDYgKzU0Myw3IEBAIHN0cnVjdCBwaHlsaW5rX3Bjc19vcHMge1xcbiBcXHR2b2lkICgqcGNzX2Rpc2FibGVfZWVlKShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcyk7XFxuIFxcdHZvaWQgKCpwY3NfZW5hYmxlX2VlZSkoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpO1xcbiBcXHRpbnQgKCpwY3NfcHJlX2luaXQpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTtcXG4rXFx0aW50ICgqcGNzX2xvb3BiYWNrKShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpO1xcbiB9O1xcbiBcXG4gI2lmIDAgLyogRm9yIGtlcm5lbC1kb2MgcHVycG9zZXMgb25seS4gKi9cXG5AQCAtNzE3LDggKzcxOSwyMiBAQCB2b2lkIHBjc19lbmFibGVfZWVlKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTtcXG4gICovXFxuIGludCBwY3NfcHJlX2luaXQoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpO1xcbiBcXG4rLyoqXFxuKyAqIHBjc19sb29wYmFjaygpIC0gRW5hYmxlIG9yIGRpc2FibGUgbG9vcGJhY2sgYXQgdGhlIFBDU1xcbisgKiBAcGNzOiBhIHBvaW50ZXIgdG8gYSBcXHUwMDI2c3RydWN0IHBoeWxpbmtfcGNzLlxcbisgKiBAZW5hYmxlOiB0cnVlIHRvIGVuYWJsZSBsb29wYmFjaywgZmFsc2UgdG8gZGlzYWJsZVxcbisgKlxcbisgKiBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBtb2RlIGF0IHRoZSBQQ1MgbGV2ZWwuIFRoaXMgaXMgdXNlZCBieSBNQUNcXG4rICogZHJpdmVycyBmb3Igc2VsZnRlc3QgcHVycG9zZXMgd2hlbiBubyBleHRlcm5hbCBQSFkgaXMgcHJlc2VudC5cXG4rICpcXG4rICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLlxcbisgKi9cXG4raW50IHBjc19sb29wYmFjayhzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpO1xcbitcXG4gI2VuZGlmXFxuIFxcbitpbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKTtcXG4rXFxuIHN0cnVjdCBwaHlsaW5rICpwaHlsaW5rX2NyZWF0ZShzdHJ1Y3QgcGh5bGlua19jb25maWcgKixcXG4gXFx0XFx0XFx0ICAgICAgIGNvbnN0IHN0cnVjdCBmd25vZGVfaGFuZGxlICosXFxuIFxcdFxcdFxcdCAgICAgICBwaHlfaW50ZXJmYWNlX3QsXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU0OjAyLjEyNjU2NDkyN1oiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjE3Nzk5MTE5NTAyMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIFBDUyBsb29wYmFjayBmZWF0dXJlIHRvIHRoZSBzdG1tYWMgKFN5bm9wc3lzIERlc2lnbldhcmUgTUFDKSBkcml2ZXIgYW5kIGEgY29ycmVzcG9uZGluZyBBUEkgaW4gcGh5bGluay4gVGhlIHN0bW1hYyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgcGh5c2ljYWwgaGFyZHdhcmUgb3IgU29DIGVtdWxhdGlvbiAoZS5nLiwgSW50ZWwgUXVhcmsvRWxraGFydCBMYWtlIGZvciBQQ0ksIG9yIHNwZWNpZmljIEFSTSBTb0NzIGZvciBwbGF0Zm9ybSkuIFRoZXNlIGRldmljZXMgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cyAobGlrZSAncGMnIG9yICd2aXJ0JyBtYWNoaW5lcykgdXNlZCBieSBzeXprYWxsZXIuIFdpdGhvdXQgdGhlIGhhcmR3YXJlLCB0aGUgZHJpdmVyIHdpbGwgZmFpbCB0byBwcm9iZSwgbWFraW5nIHRoZSBzZWxmdGVzdCBhbmQgdGhlIG5ldyBwaHlsaW5rIGxvb3BiYWNrIGNvZGUgdW5yZWFjaGFibGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG4gIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cbi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLlxuLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKVxuICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uc1xuICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIEFsc28gY2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzXG4gICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3NcbiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBlYTcxZWM3NDZkMDQ0ZGViMDA5MzU5YzNiY2RlZTFlNjQ0YjgwNjkzXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdWwgMjggMDA6NTM6NTkgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNzLmNcbmluZGV4IGRmMzdhZjVhYjgzN2FmLi45MGEyMWEyZjdlODczMSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY3MuY1xuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3Bjcy5jXG5AQCAtMTY4LDYgKzE2OCwyMiBAQCBzdGF0aWMgdm9pZCBkd21hY19pbnRlZ3JhdGVkX3Bjc19hbl9yZXN0YXJ0KHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKVxuIFx0fVxuIH1cbiBcbitzdGF0aWMgaW50IGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCBib29sIGVuYWJsZSlcbit7XG4rXHRzdHJ1Y3Qgc3RtbWFjX3BjcyAqc3BjcyA9IHBoeWxpbmtfcGNzX3RvX3N0bW1hY19wY3MocGNzKTtcbitcdHZvaWQgX19pb21lbSAqYW5fY29udHJvbCA9IHNwY3MtXHUwMDNlYmFzZSArIEdNQUNfQU5fQ1RSTCgwKTtcbitcdHUzMiBjdHJsO1xuK1xuK1x0Y3RybCA9IHJlYWRsKGFuX2NvbnRyb2wpO1xuK1x0aWYgKGVuYWJsZSlcbitcdFx0Y3RybCB8PSBHTUFDX0FOX0NUUkxfRUxFO1xuK1x0ZWxzZVxuK1x0XHRjdHJsIFx1MDAyNj0gfkdNQUNfQU5fQ1RSTF9FTEU7XG4rXHR3cml0ZWwoY3RybCwgYW5fY29udHJvbCk7XG4rXG4rXHRyZXR1cm4gMDtcbit9XG4rXG4gc3RhdGljIGNvbnN0IHN0cnVjdCBwaHlsaW5rX3Bjc19vcHMgZHdtYWNfaW50ZWdyYXRlZF9wY3Nfb3BzID0ge1xuIFx0LnBjc19pbmJhbmRfY2FwcyA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2luYmFuZF9jYXBzLFxuIFx0LnBjc19lbmFibGUgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19lbmFibGUsXG5AQCAtMTc1LDYgKzE5MSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGh5bGlua19wY3Nfb3BzIGR3bWFjX2ludGVncmF0ZWRfcGNzX29wcyA9IHtcbiBcdC5wY3NfZ2V0X3N0YXRlID0gZHdtYWNfaW50ZWdyYXRlZF9wY3NfZ2V0X3N0YXRlLFxuIFx0LnBjc19jb25maWcgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19jb25maWcsXG4gXHQucGNzX2FuX3Jlc3RhcnQgPSBkd21hY19pbnRlZ3JhdGVkX3Bjc19hbl9yZXN0YXJ0LFxuK1x0LnBjc19sb29wYmFjayA9IGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrLFxuIH07XG4gXG4gdm9pZCBzdG1tYWNfaW50ZWdyYXRlZF9wY3NfaXJxKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiwgdTMyIHN0YXR1cyxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmNcbmluZGV4IDI5ZTgyNGJkOTBjYTZiLi43N2E0NTdiMmZhNWNmNyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuY1xuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3NlbGZ0ZXN0cy5jXG5AQCAtMTksNiArMTksNyBAQFxuICNpbmNsdWRlIFx1MDAzY25ldC91ZHAuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY25ldC90Y19hY3QvdGNfZ2FjdC5oXHUwMDNlXG4gI2luY2x1ZGUgXCJzdG1tYWMuaFwiXG4rI2luY2x1ZGUgXCJzdG1tYWNfcGNzLmhcIlxuIFxuIHN0cnVjdCBzdG1tYWNoZHIge1xuIFx0X19iZTMyIHZlcnNpb247XG5AQCAtMzc0LDIzICszNzUsNTEgQEAgc3RhdGljIGludCBzdG1tYWNfdGVzdF9tYWNfbG9vcGJhY2soc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuIFx0cmV0dXJuIF9fc3RtbWFjX3Rlc3RfbG9vcGJhY2socHJpdiwgXHUwMDI2YXR0cik7XG4gfVxuIFxuK3N0YXRpYyBzdHJ1Y3QgcGh5bGlua19wY3MgKnN0bW1hY19zZWxmdGVzdF9nZXRfcGNzKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdilcbit7XG4rXHQvKiBUcnkgZ2x1ZSBkcml2ZXIncyBQQ1MgZmlyc3QsIHRoZW4gdGhlIGludGVncmF0ZWQgUENTLiAqL1xuK1x0aWYgKHByaXYtXHUwMDNlaHctXHUwMDNlcGh5bGlua19wY3MpXG4rXHRcdHJldHVybiBwcml2LVx1MDAzZWh3LVx1MDAzZXBoeWxpbmtfcGNzO1xuK1xuK1x0aWYgKHByaXYtXHUwMDNlaW50ZWdyYXRlZF9wY3MpXG4rXHRcdHJldHVybiBcdTAwMjZwcml2LVx1MDAzZWludGVncmF0ZWRfcGNzLVx1MDAzZXBjcztcbitcbitcdHJldHVybiBOVUxMO1xuK31cbitcbiBzdGF0aWMgaW50IHN0bW1hY190ZXN0X3BoeV9sb29wYmFjayhzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYpXG4ge1xuIFx0c3RydWN0IHN0bW1hY19wYWNrZXRfYXR0cnMgYXR0ciA9IHsgfTtcbitcdHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzO1xuIFx0aW50IHJldDtcbiBcbi1cdGlmICghcHJpdi1cdTAwM2VkZXYtXHUwMDNlcGh5ZGV2KVxuLVx0XHRyZXR1cm4gLUVPUE5PVFNVUFA7XG4rXHRpZiAocHJpdi1cdTAwM2VkZXYtXHUwMDNlcGh5ZGV2KSB7XG4rXHRcdHJldCA9IHBoeV9sb29wYmFjayhwcml2LVx1MDAzZWRldi1cdTAwM2VwaHlkZXYsIHRydWUsIDApO1xuK1x0XHRpZiAocmV0KVxuK1x0XHRcdHJldHVybiByZXQ7XG4gXG4tXHRyZXQgPSBwaHlfbG9vcGJhY2socHJpdi1cdTAwM2VkZXYtXHUwMDNlcGh5ZGV2LCB0cnVlLCAwKTtcbi1cdGlmIChyZXQpXG4rXHRcdGF0dHIuZHN0ID0gcHJpdi1cdTAwM2VkZXYtXHUwMDNlZGV2X2FkZHI7XG4rXHRcdHJldCA9IF9fc3RtbWFjX3Rlc3RfbG9vcGJhY2socHJpdiwgXHUwMDI2YXR0cik7XG4rXG4rXHRcdHBoeV9sb29wYmFjayhwcml2LVx1MDAzZWRldi1cdTAwM2VwaHlkZXYsIGZhbHNlLCAwKTtcbiBcdFx0cmV0dXJuIHJldDtcbitcdH1cbiBcbi1cdGF0dHIuZHN0ID0gcHJpdi1cdTAwM2VkZXYtXHUwMDNlZGV2X2FkZHI7XG4tXHRyZXQgPSBfX3N0bW1hY190ZXN0X2xvb3BiYWNrKHByaXYsIFx1MDAyNmF0dHIpO1xuK1x0LyogVXNlIFBDUyBsb29wYmFjayBmb3IgaW50ZXJmYWNlcyB3aXRob3V0IGFuIGV4dGVybmFsIFBIWS4gKi9cbitcdHBjcyA9IHN0bW1hY19zZWxmdGVzdF9nZXRfcGNzKHByaXYpO1xuK1x0aWYgKHBjcykge1xuK1x0XHRyZXQgPSBwaHlsaW5rX3Bjc19sb29wYmFjayhwY3MsIHRydWUpO1xuK1x0XHRpZiAocmV0KVxuK1x0XHRcdHJldHVybiByZXQ7XG4gXG4tXHRwaHlfbG9vcGJhY2socHJpdi1cdTAwM2VkZXYtXHUwMDNlcGh5ZGV2LCBmYWxzZSwgMCk7XG4tXHRyZXR1cm4gcmV0O1xuK1x0XHRhdHRyLmRzdCA9IHByaXYtXHUwMDNlZGV2LVx1MDAzZWRldl9hZGRyO1xuK1x0XHRyZXQgPSBfX3N0bW1hY190ZXN0X2xvb3BiYWNrKHByaXYsIFx1MDAyNmF0dHIpO1xuK1xuK1x0XHRwaHlsaW5rX3Bjc19sb29wYmFjayhwY3MsIGZhbHNlKTtcbitcdFx0cmV0dXJuIHJldDtcbitcdH1cbitcbitcdHJldHVybiAtRU9QTk9UU1VQUDtcbiB9XG4gXG4gc3RhdGljIGludCBzdG1tYWNfdGVzdF9tbWMoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuQEAgLTE5ODYsNiArMjAxNSw5IEBAIHZvaWQgc3RtbWFjX3NlbGZ0ZXN0X3J1bihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuIFx0XHRcdHJldCA9IC1FT1BOT1RTVVBQO1xuIFx0XHRcdGlmIChkZXYtXHUwMDNlcGh5ZGV2KVxuIFx0XHRcdFx0cmV0ID0gcGh5X2xvb3BiYWNrKGRldi1cdTAwM2VwaHlkZXYsIHRydWUsIDApO1xuK1x0XHRcdGVsc2VcbitcdFx0XHRcdHJldCA9IHBoeWxpbmtfcGNzX2xvb3BiYWNrKHN0bW1hY19zZWxmdGVzdF9nZXRfcGNzKHByaXYpLFxuK1x0XHRcdFx0XHRcdFx0ICAgdHJ1ZSk7XG4gXHRcdFx0aWYgKCFyZXQpXG4gXHRcdFx0XHRicmVhaztcbiBcdFx0XHRmYWxsdGhyb3VnaDtcbkBAIC0yMDE5LDYgKzIwNTEsOSBAQCB2b2lkIHN0bW1hY19zZWxmdGVzdF9ydW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbiBcdFx0XHRyZXQgPSAtRU9QTk9UU1VQUDtcbiBcdFx0XHRpZiAoZGV2LVx1MDAzZXBoeWRldilcbiBcdFx0XHRcdHJldCA9IHBoeV9sb29wYmFjayhkZXYtXHUwMDNlcGh5ZGV2LCBmYWxzZSwgMCk7XG4rXHRcdFx0ZWxzZVxuK1x0XHRcdFx0cmV0ID0gcGh5bGlua19wY3NfbG9vcGJhY2soc3RtbWFjX3NlbGZ0ZXN0X2dldF9wY3MocHJpdiksXG4rXHRcdFx0XHRcdFx0XHQgICBmYWxzZSk7XG4gXHRcdFx0aWYgKCFyZXQpXG4gXHRcdFx0XHRicmVhaztcbiBcdFx0XHRmYWxsdGhyb3VnaDtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvcGh5bGluay5jIGIvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuY1xuaW5kZXggNTlkZmUzNWFmYTU0ZmMuLjY5MjQyY2FmZmFlZjUxIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuY1xuKysrIGIvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuY1xuQEAgLTk5Nyw2ICs5OTcsMjUgQEAgaW50IHBoeWxpbmtfcGNzX3ByZV9pbml0KHN0cnVjdCBwaHlsaW5rICpwbCwgc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpXG4gfVxuIEVYUE9SVF9TWU1CT0xfR1BMKHBoeWxpbmtfcGNzX3ByZV9pbml0KTtcbiBcbisvKipcbisgKiBwaHlsaW5rX3Bjc19sb29wYmFjaygpIC0gRW5hYmxlIG9yIGRpc2FibGUgbG9vcGJhY2sgYXQgdGhlIFBDU1xuKyAqIEBwY3M6IGEgcG9pbnRlciB0byBhIFx1MDAyNnN0cnVjdCBwaHlsaW5rX3Bjcy5cbisgKiBAZW5hYmxlOiB0cnVlIHRvIGVuYWJsZSBsb29wYmFjaywgZmFsc2UgdG8gZGlzYWJsZVxuKyAqXG4rICogRW5hYmxlIG9yIGRpc2FibGUgbG9vcGJhY2sgbW9kZSBhdCB0aGUgUENTIGxldmVsLiBUaGlzIGlzIHVzZWQgYnkgTUFDXG4rICogZHJpdmVycyBmb3Igc2VsZnRlc3QgcHVycG9zZXMgd2hlbiBubyBleHRlcm5hbCBQSFkgaXMgcHJlc2VudC5cbisgKlxuKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuXG4rICovXG4raW50IHBoeWxpbmtfcGNzX2xvb3BiYWNrKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCBib29sIGVuYWJsZSlcbit7XG4rXHRpZiAocGNzIFx1MDAyNlx1MDAyNiBwY3MtXHUwMDNlb3BzLVx1MDAzZXBjc19sb29wYmFjaylcbitcdFx0cmV0dXJuIHBjcy1cdTAwM2VvcHMtXHUwMDNlcGNzX2xvb3BiYWNrKHBjcywgZW5hYmxlKTtcbitcbitcdHJldHVybiAtRU9QTk9UU1VQUDtcbit9XG4rRVhQT1JUX1NZTUJPTF9HUEwocGh5bGlua19wY3NfbG9vcGJhY2spO1xuK1xuIHN0YXRpYyB2b2lkIHBoeWxpbmtfbWFjX2NvbmZpZyhzdHJ1Y3QgcGh5bGluayAqcGwsXG4gXHRcdFx0ICAgICAgIGNvbnN0IHN0cnVjdCBwaHlsaW5rX2xpbmtfc3RhdGUgKnN0YXRlKVxuIHtcbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaCBiL2luY2x1ZGUvbGludXgvcGh5bGluay5oXG5pbmRleCAyYmMwZGIzZDUyYWM4ZC4uNjZjNzAxNmQ0YWNkY2IgMTAwNjQ0XG4tLS0gYS9pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaFxuKysrIGIvaW5jbHVkZS9saW51eC9waHlsaW5rLmhcbkBAIC01MTgsNiArNTE4LDcgQEAgc3RydWN0IHBoeWxpbmtfcGNzIHtcbiAgKlx0XHQgICAgdGhlIE1BQy5cbiAgKiBAcGNzX3ByZV9pbml0OiBjb25maWd1cmUgUENTIGNvbXBvbmVudHMgbmVjZXNzYXJ5IGZvciBNQUMgaGFyZHdhcmVcbiAgKiAgICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiBlLmcuIFJYIGNsb2NrIGZvciBzdG1tYWMuXG4rICogQHBjc19sb29wYmFjazogZW5hYmxlL2Rpc2FibGUgbG9vcGJhY2sgbW9kZSBhdCB0aGUgUENTLlxuICAqL1xuIHN0cnVjdCBwaHlsaW5rX3Bjc19vcHMge1xuIFx0aW50ICgqcGNzX3ZhbGlkYXRlKShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgdW5zaWduZWQgbG9uZyAqc3VwcG9ydGVkLFxuQEAgLTU0Miw2ICs1NDMsNyBAQCBzdHJ1Y3QgcGh5bGlua19wY3Nfb3BzIHtcbiBcdHZvaWQgKCpwY3NfZGlzYWJsZV9lZWUpKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzKTtcbiBcdHZvaWQgKCpwY3NfZW5hYmxlX2VlZSkoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpO1xuIFx0aW50ICgqcGNzX3ByZV9pbml0KShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcyk7XG4rXHRpbnQgKCpwY3NfbG9vcGJhY2spKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLCBib29sIGVuYWJsZSk7XG4gfTtcbiBcbiAjaWYgMCAvKiBGb3Iga2VybmVsLWRvYyBwdXJwb3NlcyBvbmx5LiAqL1xuQEAgLTcxNyw4ICs3MTksMjIgQEAgdm9pZCBwY3NfZW5hYmxlX2VlZShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcyk7XG4gICovXG4gaW50IHBjc19wcmVfaW5pdChzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcyk7XG4gXG4rLyoqXG4rICogcGNzX2xvb3BiYWNrKCkgLSBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBhdCB0aGUgUENTXG4rICogQHBjczogYSBwb2ludGVyIHRvIGEgXHUwMDI2c3RydWN0IHBoeWxpbmtfcGNzLlxuKyAqIEBlbmFibGU6IHRydWUgdG8gZW5hYmxlIGxvb3BiYWNrLCBmYWxzZSB0byBkaXNhYmxlXG4rICpcbisgKiBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBtb2RlIGF0IHRoZSBQQ1MgbGV2ZWwuIFRoaXMgaXMgdXNlZCBieSBNQUNcbisgKiBkcml2ZXJzIGZvciBzZWxmdGVzdCBwdXJwb3NlcyB3aGVuIG5vIGV4dGVybmFsIFBIWSBpcyBwcmVzZW50LlxuKyAqXG4rICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLlxuKyAqL1xuK2ludCBwY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKTtcbitcbiAjZW5kaWZcbiBcbitpbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKTtcbitcbiBzdHJ1Y3QgcGh5bGluayAqcGh5bGlua19jcmVhdGUoc3RydWN0IHBoeWxpbmtfY29uZmlnICosXG4gXHRcdFx0ICAgICAgIGNvbnN0IHN0cnVjdCBmd25vZGVfaGFuZGxlICosXG4gXHRcdFx0ICAgICAgIHBoeV9pbnRlcmZhY2VfdCxcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU0OjAyLjEyNjU2NzAwN1oiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjcwNDYwMDU0MDI1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgUG90ZW50aWFsIG9mIGEgTmV3IFBDUyBMb29wYmFjayBPcGVyYXRpb24qKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIHBhdGNoIGludHJvZHVjaW5nIGEgYHBjc19sb29wYmFja2Agb3BlcmF0aW9uIHdpdGhpbiBgcGh5bGlua19wY3Nfb3BzYCBhbmQgc3BlY2lmaWNhbGx5IGltcGxlbWVudGluZyBpdCBmb3IgYGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrYCBpbiBgc3RtbWFjX3Bjcy5jYC4gIEl0J3MgYWxzbyBiZWluZyB1c2VkIHdpdGhpbiBgc3RtbWFjX3NlbGZ0ZXN0cy5jYCB3aGVuIHdlJ3JlIG5vdCBkZWFsaW5nIHdpdGggYW4gZXh0ZXJuYWwgUEhZLiBUaGUgY29kZSB0b3VjaGVzIGEgZmV3IGZpbGVzOiBgc3RtbWFjX3Bjcy5jYCwgYHN0bW1hY19zZWxmdGVzdHMuY2AsIGBwaHlsaW5rLmNgLCBhbmQgdGhlIGBwaHlsaW5rLmhgIGluY2x1ZGUgZmlsZS4gIE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCBcIkNhbiB3ZSBmdXp6IHRoaXM/XCJcblxuVGhlIGNoYW5nZXMgYXJlIHdpdGhpbiB0aGUgU1RNaWNyb2VsZWN0cm9uaWNzIHN0bW1hYyBFdGhlcm5ldCBkcml2ZXIgYW5kIHBoeWxpbmssIHJpZ2h0PyBUaGUgc3RtbWFjIGRyaXZlciBpcyBmb3IgdGhlIFN5bm9wc3lzIERlc2lnbldhcmUgTUFDLCB3aGljaCBpcyB1c3VhbGx5IGhhcmR3YXJlLXNwZWNpZmljLiBUaGF0J3MgdGhlIGZpcnN0IGh1cmRsZSDigJMgaXMgdGhpcyBjb2RlIGV2ZW4gcmVhY2hhYmxlIGluIGEgdmlydHVhbGl6ZWQgb3IgZW11bGF0ZWQgZW52aXJvbm1lbnQ/ICBzdG1tYWMgaXMgYSBwbGF0Zm9ybSBkcml2ZXIgcHJpbWFyaWx5LCBidXQgaXQgKmRvZXMqIGhhdmUgYSBQQ0kgd3JhcHBlciAoYHN0bW1hY19wY2kuY2ApLiBUaGF0J3MgaW50ZXJlc3Rpbmc7IGl0J3MgYSBnb29kIHNpZ24uICBUaGUgcXVlc3Rpb24gaXMsIGNhbiBzdG1tYWMgYmUgZW11bGF0ZWQsIG9yIGlzIGl0IHB1cmVseSByZWxpYW50IG9uIGhhcmR3YXJlP1xuXG5BaCwgcmlnaHQsIGxvb2tpbmcgbW9yZSBjbG9zZWx5LCB0aGUgc3RtbWFjIFBDSSBkcml2ZXIgY2xhaW1zIHRvIHN1cHBvcnQgc29tZSBJbnRlbCBwbGF0Zm9ybXMsIGxpa2UgUXVhcmsgYW5kIEFwb2xsbyBMYWtlLiBUaGF0J3MgcHJvbWlzaW5nIGZvciBwb3RlbnRpYWwgZnV6emluZy4gR2VuZXJhbGx5LCBoYXJkd2FyZS1zcGVjaWZpYyBFdGhlcm5ldCBkcml2ZXJzIGFyZSBkaWZmaWN1bHQgdG8gZnV6eiB1bmxlc3MgdGhleSBoYXZlIGEgdmlydHVhbCBkZXZpY2UgY29tcG9uZW50IG9yIGFyZSBwYXJ0IG9mIGEgbW9yZSB3aWRlbHkgZW11bGF0ZWQgUENJIGRldmljZS4gSG93ZXZlciwgdGhpcyBwYXRjaCAqZG9lcyogdHJpZ2dlciBgc3RtbWFjX3NlbGZ0ZXN0cy5jYCB2aWEgdGhlIGV0aHRvb2wgc2VsZnRlc3QgbWVjaGFuaXNtLiBUaGF0J3MgYSBnb29kIGVudHJ5IHBvaW50LlxuXG5Pa2F5LCBpcyBzdG1tYWMgZW11bGF0ZWQgaW4gUUVNVT8gUUVNVSBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBzdG1tYWMgc3VwcG9ydCBvdXQgb2YgdGhlIGJveCwgYnV0IG1heWJlIHRoZXJlJ3Mgc29tZXRoaW5nIHJlbGV2YW50PyAgTGV0IG1lIHNlZS4uLiBRRU1VIGhhcyBlbXVsYXRpb25zIGZvciBhIGJ1bmNoIG9mIG90aGVyIG5ldHdvcmsgY2FyZHM6IGBpbXhfZmVjYCwgYGNhZGVuY2VfZ2VtYCwgYGlnYmAsIGBlMTAwMGAsIGBydGw4MTM5YCwgYHR1bGlwYCwgYHZteG5ldDNgLCBgc3VuZ2VtYCwgYHN1bmhtZWAsIGBwY25ldGAsIGBuZTIwMDBgLCBhbmQgYGVlcHJvMTAwYC4gQnV0IHN0bW1hYyBzcGVjaWZpY2FsbHk/IFdhaXQsIFFFTVUgKmRvZXMqIGVtdWxhdGUgXCJkZXNpZ253YXJlXCIgRXRoZXJuZXQhIFRoZSBmaWxlIGBody9uZXQvZGVzaWdud2FyZS5jYCBleGlzdHMuIFRoYXQncyBhIGh1Z2UgY2x1ZS5cblxuTm93LCBkb2VzIHRoZSBgc3RtbWFjYCBkcml2ZXIgYWN0dWFsbHkgYmluZCB0byB0aGUgUUVNVSBgZGVzaWdud2FyZWAgZW11bGF0aW9uPyBRRU1VJ3MgYGRlc2lnbndhcmVgIGlzIGEgcGxhdGZvcm0gZGV2aWNlLCB3aGljaCBtZWFucyBpdCB3b3VsZCB0eXBpY2FsbHkgYmUgdXNlZCBvbiBjZXJ0YWluIEFSTSBib2FyZHMgbGlrZSBgbWNpbXg2dWwtZXZrYCwgYHNpZml2ZV91YCBvciBgYWxsd2lubmVyLWgzYC4gQnV0IHN5emthbGxlciBnZW5lcmFsbHkgd29ya3MgYmVzdCB3aXRoIFBDSSBkZXZpY2VzIG9yIHZpcnR1YWwgZGV2aWNlcy4gU28sIGRvZXMgc3RtbWFjIGhhdmUgUENJIHN1cHBvcnQ/XG5cbkxldCBtZSBjaGVjayBgZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jYC4uLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0NDY0LCJPdXRwdXRUb2tlbnMiOjIwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NzA3LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTU6MTIuNTg2NjIzNjkyWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ5MDQ3MDA5NjEsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwic3RtbWFjX3BjaVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMucnN0PTEwNz1zeW50YXggKGUuZy4gZm9yIFBDSSBtb2R1bGUpOjpcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMucnN0LTEwOC1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMucnN0OjEwOTogICAgbW9kcHJvYmUgc3RtbWFjX3BjaSBbXFx1MDAzY29wdGlvblxcdTAwM2U9XFx1MDAzY1ZBTDFcXHUwMDNlLFxcdTAwM2NWQUwyXFx1MDAzZSwuLi5dXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L3N0bWljcm8vc3RtbWFjLnJzdC0xMTAtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZT01Mz1vYmotJChDT05GSUdfRFdNQUNfTU9UT1JDT01NKVxcdCs9IGR3bWFjLW1vdG9yY29tbS5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NTQ6c3RtbWFjLXBjaS1vYmpzOj0gc3RtbWFjX3BjaS5vXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTI1PXN0cnVjdCBpbnRlbF9wcml2X2RhdGEge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0zOS0gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjQwOnN0cnVjdCBzdG1tYWNfcGNpX2Z1bmNfZGF0YSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy00MS1cXHR1bnNpZ25lZCBpbnQgZnVuYztcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtNDQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo0NTpzdHJ1Y3Qgc3RtbWFjX3BjaV9kbWlfZGF0YSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo0NjpcXHRjb25zdCBzdHJ1Y3Qgc3RtbWFjX3BjaV9mdW5jX2RhdGEgKmZ1bmM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy00Ny1cXHRzaXplX3QgbmZ1bmNzO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy00OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjUwOnN0cnVjdCBzdG1tYWNfcGNpX2luZm8ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtNTEtXFx0aW50ICgqc2V0dXApKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz05MT1zdGF0aWMgY29uc3QgaW50IGFkbG5fdHNuX2xhbmVfcmVnc1tdID0gezZ9O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo5MzpzdGF0aWMgaW50IHN0bW1hY19wY2lfZmluZF9waHlfYWRkcihzdHJ1Y3QgcGNpX2RldiAqcGRldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTk0LVxcdFxcdFxcdFxcdCAgICBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCAqZG1pX2xpc3QpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05NS17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo5NjpcXHRjb25zdCBzdHJ1Y3Qgc3RtbWFjX3BjaV9mdW5jX2RhdGEgKmZ1bmNfZGF0YTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjk3OlxcdGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2RtaV9kYXRhICpkbWlfZGF0YTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTk4LVxcdGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkbWlfaWQ7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTc1NT1zdGF0aWMgaW50IGVobF9zZ21paV9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy03NzQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo3NzU6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gZWhsX3NnbWlpMWdfaW5mbyA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTc3Ni1cXHQuc2V0dXAgPSBlaGxfc2dtaWlfZGF0YSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM9Nzc5PXN0YXRpYyBpbnQgZWhsX3JnbWlpX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTc4OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjc5MDpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfcmdtaWkxZ19pbmZvID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtNzkxLVxcdC5zZXR1cCA9IGVobF9yZ21paV9kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz04MTA9c3RhdGljIGludCBlaGxfcHNlMF9yZ21paTFnX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTgxNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjgxNzpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfcHNlMF9yZ21paTFnX2luZm8gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy04MTgtXFx0LnNldHVwID0gZWhsX3BzZTBfcmdtaWkxZ19kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz04MjE9c3RhdGljIGludCBlaGxfcHNlMF9zZ21paTFnX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTgzOC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjgzOTpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfcHNlMF9zZ21paTFnX2luZm8gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy04NDAtXFx0LnNldHVwID0gZWhsX3BzZTBfc2dtaWkxZ19kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz04NTk9c3RhdGljIGludCBlaGxfcHNlMV9yZ21paTFnX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTg2NS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjg2NjpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfcHNlMV9yZ21paTFnX2luZm8gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy04NjctXFx0LnNldHVwID0gZWhsX3BzZTFfcmdtaWkxZ19kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz04NzA9c3RhdGljIGludCBlaGxfcHNlMV9zZ21paTFnX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTg4Ny1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjg4ODpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBlaGxfcHNlMV9zZ21paTFnX2luZm8gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy04ODktXFx0LnNldHVwID0gZWhsX3BzZTFfc2dtaWkxZ19kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz05MTM9c3RhdGljIGludCB0Z2xfc2dtaWlfcGh5MF9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05MjEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzo5MjI6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gdGdsX3NnbWlpMWdfcGh5MF9pbmZvID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTIzLVxcdC5zZXR1cCA9IHRnbF9zZ21paV9waHkwX2RhdGEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTkyNj1zdGF0aWMgaW50IHRnbF9zZ21paV9waHkxX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTkzNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjkzNTpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyB0Z2xfc2dtaWkxZ19waHkxX2luZm8gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05MzYtXFx0LnNldHVwID0gdGdsX3NnbWlpX3BoeTFfZGF0YSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM9OTM5PXN0YXRpYyBpbnQgYWRsc19zZ21paV9waHkwX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTk0OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjk0OTpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBhZGxzX3NnbWlpMWdfcGh5MF9pbmZvID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTUwLVxcdC5zZXR1cCA9IGFkbHNfc2dtaWlfcGh5MF9kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz05NTM9c3RhdGljIGludCBhZGxzX3NnbWlpX3BoeTFfZGF0YShzdHJ1Y3QgcGNpX2RldiAqcGRldixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtOTYyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6OTYzOnN0YXRpYyBzdHJ1Y3Qgc3RtbWFjX3BjaV9pbmZvIGFkbHNfc2dtaWkxZ19waHkxX2luZm8gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy05NjQtXFx0LnNldHVwID0gYWRsc19zZ21paV9waHkxX2RhdGEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTk5Mj1zdGF0aWMgaW50IGFkbG5fc2dtaWlfcGh5MF9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMDEwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTAxMTpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBhZGxuX3NnbWlpMWdfcGh5MF9pbmZvID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTAxMi1cXHQuc2V0dXAgPSBhZGxuX3NnbWlpX3BoeTBfZGF0YSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTAxNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjEwMTU6c3RhdGljIGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2Z1bmNfZGF0YSBnYWxpbGVvX3N0bW1hY19mdW5jX2RhdGFbXSA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwMTYtXFx0e1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMDIxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTAyMjpzdGF0aWMgY29uc3Qgc3RydWN0IHN0bW1hY19wY2lfZG1pX2RhdGEgZ2FsaWxlb19zdG1tYWNfZG1pX2RhdGEgPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMDIzLVxcdC5mdW5jID0gZ2FsaWxlb19zdG1tYWNfZnVuY19kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMDI2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTAyNzpzdGF0aWMgY29uc3Qgc3RydWN0IHN0bW1hY19wY2lfZnVuY19kYXRhIGlvdDIwNDBfc3RtbWFjX2Z1bmNfZGF0YVtdID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTAyOC1cXHR7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwMzctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxMDM4OnN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3RtbWFjX3BjaV9kbWlfZGF0YSBpb3QyMDQwX3N0bW1hY19kbWlfZGF0YSA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwMzktXFx0LmZ1bmMgPSBpb3QyMDQwX3N0bW1hY19mdW5jX2RhdGEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTEwNzg9c3RhdGljIGludCBxdWFya19kZWZhdWx0X2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwODgtXFx0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxMDg5OlxcdHJldCA9IHN0bW1hY19wY2lfZmluZF9waHlfYWRkcihwZGV2LCBxdWFya19wY2lfZG1pKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEwOTAtXFx0aWYgKHJldCBcXHUwMDNjIDApIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTExMy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjExMTQ6c3RhdGljIGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gcXVhcmtfaW5mbyA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTExMTUtXFx0LnNldHVwID0gcXVhcmtfZGVmYXVsdF9kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz0xMjMyPXN0YXRpYyBpbnQgaW50ZWxfZXRoX3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTIzNC17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxMjM1OlxcdHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gKmluZm8gPSAoc3RydWN0IHN0bW1hY19wY2lfaW5mbyAqKWlkLVxcdTAwM2Vkcml2ZXJfZGF0YTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEyMzYtXFx0c3RydWN0IGludGVsX3ByaXZfZGF0YSAqaW50ZWxfcHJpdjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM9NzY9c3RydWN0IGxvb25nc29uX2RhdGEge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy04MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjgyOnN0cnVjdCBzdG1tYWNfcGNpX2luZm8ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtODMtXFx0aW50ICgqc2V0dXApKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYz0xMzI9c3RhdGljIGludCBsb29uZ3Nvbl9nbWFjX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTE0MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjE0MjpzdGF0aWMgc3RydWN0IHN0bW1hY19wY2lfaW5mbyBsb29uZ3Nvbl9nbWFjX3BjaV9pbmZvID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtMTQzLVxcdC5zZXR1cCA9IGxvb25nc29uX2dtYWNfZGF0YSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM9MTY1PXN0YXRpYyBpbnQgbG9vbmdzb25fZ25ldF9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy0xNzYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYzoxNzc6c3RhdGljIHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gbG9vbmdzb25fZ25ldF9wY2lfaW5mbyA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTE3OC1cXHQuc2V0dXAgPSBsb29uZ3Nvbl9nbmV0X2RhdGEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jPTQ5OD1zdGF0aWMgaW50IGxvb25nc29uX2R3bWFjX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTUwMS1cXHRzdHJ1Y3Qgc3RtbWFjX3Jlc291cmNlcyByZXMgPSB7fTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjUwMjpcXHRzdHJ1Y3Qgc3RtbWFjX3BjaV9pbmZvICppbmZvO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNTAzLVxcdHN0cnVjdCBsb29uZ3Nvbl9kYXRhICpsZDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNTM3LVxcdHBsYXQtXFx1MDAzZWZpeF9zb2NfcmVzZXQgPSBsb29uZ3Nvbl9kd21hY19maXhfcmVzZXQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYzo1Mzg6XFx0cGxhdC1cXHUwMDNlc3VzcGVuZCA9IHN0bW1hY19wY2lfcGxhdF9zdXNwZW5kO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM6NTM5OlxcdHBsYXQtXFx1MDAzZXJlc3VtZSA9IHN0bW1hY19wY2lfcGxhdF9yZXN1bWU7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy01NDAtXFx0bGQtXFx1MDAzZWRldiA9IFxcdTAwMjZwZGV2LVxcdTAwM2VkZXY7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTU0Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jOjU0MzpcXHRpbmZvID0gKHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gKilpZC1cXHUwMDNlZHJpdmVyX2RhdGE7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy01NDQtXFx0cmV0ID0gaW5mby1cXHUwMDNlc2V0dXAocGRldiwgcGxhdCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYz0xODg9c3RhdGljIGludCBtb3RvcmNvbW1fcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqYnNwX3ByaXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYy0xOTItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmM6MTkzOlxcdHJldCA9IHN0bW1hY19wY2lfcGxhdF9yZXN1bWUoZGV2LCBic3BfcHJpdik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmMtMTk0LVxcdGlmIChyZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYz0yMDg9bW90b3Jjb21tX2RlZmF1bHRfcGxhdF9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmMtMjQ4LVxcdHBsYXQtXFx1MDAzZWNvcmVfdHlwZVxcdFxcdD0gRFdNQUNfQ09SRV9HTUFDNDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYzoyNDk6XFx0cGxhdC1cXHUwMDNlc3VzcGVuZFxcdFxcdD0gc3RtbWFjX3BjaV9wbGF0X3N1c3BlbmQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmMtMjUwLVxcdHBsYXQtXFx1MDAzZXJlc3VtZVxcdFxcdD0gbW90b3Jjb21tX3Jlc3VtZTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy0xMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbGlicGNpLmM6MTI6aW50IHN0bW1hY19wY2lfcGxhdF9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqYnNwX3ByaXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5jLTEzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy0yNS19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5jOjI2OkVYUE9SVF9TWU1CT0xfR1BMKHN0bW1hY19wY2lfcGxhdF9zdXNwZW5kKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbGlicGNpLmMtMjctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5jOjI4OmludCBzdG1tYWNfcGNpX3BsYXRfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqYnNwX3ByaXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5jLTI5LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy00My19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5jOjQ0OkVYUE9SVF9TWU1CT0xfR1BMKHN0bW1hY19wY2lfcGxhdF9yZXN1bWUpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuYy00NS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuaC04LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19saWJwY2kuaDo5OmludCBzdG1tYWNfcGNpX3BsYXRfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmJzcF9wcml2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbGlicGNpLmg6MTA6aW50IHN0bW1hY19wY2lfcGxhdF9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpic3BfcHJpdik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2xpYnBjaS5oLTExLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTE4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxOTpzdHJ1Y3Qgc3RtbWFjX3BjaV9pbmZvIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjAtXFx0aW50ICgqc2V0dXApKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jPTMzPXN0YXRpYyBpbnQgc3RtbWFjX2RlZmF1bHRfZGF0YShzdHJ1Y3QgcGNpX2RldiAqcGRldixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy00OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6NTA6c3RhdGljIGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gc3RtbWFjX3BjaV9pbmZvID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy01MS1cXHQuc2V0dXAgPSBzdG1tYWNfZGVmYXVsdF9kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jPTU0PXN0YXRpYyBpbnQgc25wc19nbWFjNV9kZWZhdWx0X2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTAxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxMDI6c3RhdGljIGNvbnN0IHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gc25wc19nbWFjNV9wY2lfaW5mbyA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTAzLVxcdC5zZXR1cCA9IHNucHNfZ21hYzVfZGVmYXVsdF9kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTEwNi0vKipcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MTA3OiAqIHN0bW1hY19wY2lfcHJvYmVcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTA4LSAqXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTE3LSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxMTg6c3RhdGljIGludCBzdG1tYWNfcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xMTktXFx0XFx0XFx0ICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTIwLXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MTIxOlxcdHN0cnVjdCBzdG1tYWNfcGNpX2luZm8gKmluZm8gPSAoc3RydWN0IHN0bW1hY19wY2lfaW5mbyAqKWlkLVxcdTAwM2Vkcml2ZXJfZGF0YTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTIyLVxcdHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xNzktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjE4MDpcXHRwbGF0LVxcdTAwM2VzdXNwZW5kID0gc3RtbWFjX3BjaV9wbGF0X3N1c3BlbmQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjE4MTpcXHRwbGF0LVxcdTAwM2VyZXN1bWUgPSBzdG1tYWNfcGNpX3BsYXRfcmVzdW1lO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xODItXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTg2LS8qKlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxODc6ICogc3RtbWFjX3BjaV9yZW1vdmVcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTg4LSAqXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTkxLSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxOTI6c3RhdGljIHZvaWQgc3RtbWFjX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTE5My17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM9MjAzPXN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBzdG1tYWNfaWRfdGFibGVbXSA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MjA0OlxcdHsgUENJX0RFVklDRV9EQVRBKFNUTU1BQywgU1RNTUFDLCBcXHUwMDI2c3RtbWFjX3BjaV9pbmZvKSB9LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMDU6XFx0eyBQQ0lfREVWSUNFX0RBVEEoU1RNSUNSTywgTUFDLCBcXHUwMDI2c3RtbWFjX3BjaV9pbmZvKSB9LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0yMDYtXFx0eyBQQ0lfREVWSUNFX0RBVEEoU1lOT1BTWVMsIEdNQUM1X0lELCBcXHUwMDI2c25wc19nbWFjNV9wY2lfaW5mbykgfSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYz0yMTA9TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHN0bW1hY19pZF90YWJsZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MjEyOnN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBzdG1tYWNfcGNpX2RyaXZlciA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjEzLVxcdC5uYW1lID0gU1RNTUFDX1JFU09VUkNFX05BTUUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxNC1cXHQuaWRfdGFibGUgPSBzdG1tYWNfaWRfdGFibGUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjIxNTpcXHQucHJvYmUgPSBzdG1tYWNfcGNpX3Byb2JlLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMTY6XFx0LnJlbW92ZSA9IHN0bW1hY19wY2lfcmVtb3ZlLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0yMTctXFx0LmRyaXZlciAgICAgICAgID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIyMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MjIyOm1vZHVsZV9wY2lfZHJpdmVyKHN0bW1hY19wY2lfZHJpdmVyKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjIzLVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yOFQwMDo1NToxNy40OTEzMjkwOTNaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3NDI3MjY3MjEwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgdGhlIGBzdG1tYWNgIFBDSSBEcml2ZXIgd2l0aCBQQ1MgTG9vcGJhY2sqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciB0aGUgYHN0bW1hY19wY2lgIGRyaXZlci4gUmlnaHQsIGl0J3MgYSBQQ0kgZHJpdmVyLCBzbyBpdCBiaW5kcyB0byBQQ0kgZGV2aWNlcy4gVGhlIGNvcmUgb2YgdGhpcyBzZWVtcyB0byBiZSB0aGUgYWRkaXRpb24gb2YgdGhpcyBgZHdtYWNfaW50ZWdyYXRlZF9wY3NfbG9vcGJhY2tgIGZ1bmN0aW9uLCB3aGljaCBpcyB0aGVuIHVzZWQgaW4gYHN0bW1hY19zZWxmdGVzdHMuY2AuIFRoZSBzZWxmdGVzdCBpdHNlbGYgaXMgaW52b2tlZCB2aWEgYGV0aHRvb2wgLXRgLCB3aGljaCBpcyBpbXBvcnRhbnQgYmVjYXVzZSBJIGtub3cgc3l6a2FsbGVyIGNhbiB0cmlnZ2VyIHRoYXQgdGhyb3VnaCBuZXRsaW5rIG9yIGlvY3RsLiBUaGF0J3MgaW1tZWRpYXRlbHkgaW50ZXJlc3RpbmcsIGNvdWxkIHRoaXMgYmUgYSBmdXp6aW5nIHRhcmdldD9cblxuVGhlIHBhdGNoIGlzIGludHJvZHVjaW5nIGEgbG9vcGJhY2sgY2FwYWJpbGl0eSBmb3IgdGhlIGludGVncmF0ZWQgUENTLCB3aGljaCBpbXBsaWVzIGEgZnVuY3Rpb25hbCBjaGFuZ2Ugd2l0aGluIHRoZSBkcml2ZXIgaXRzZWxmLiBCdXQgaGFuZyBvbiwgZG9lcyBpdCBtb2RpZnkgY29yZSBrZXJuZWwgbG9naWM/IEFoLCB5ZXMsIGl0ICpkb2VzKi4gSXQgbW9kaWZpZXMgYHBoeWxpbmsuY2AgYW5kIGFkZHMgYHBoeWxpbmtfcGNzX2xvb3BiYWNrYCBhbmQgYHBjc19sb29wYmFja2AgdG8gYHN0cnVjdCBwaHlsaW5rX3Bjc19vcHNgLiBUaGlzIGxvb2tzIGxpa2UgYSBuZXcgQVBJIHNwZWNpZmljYWxseSB3aXRoaW4gYHBoeWxpbmtgLiBBbmQgc3BlY2lmaWNhbGx5LCBpdCAqaW1wbGVtZW50cyogaXQgZm9yIGBzdG1tYWNgLlxuXG5UaGUgbmV4dCBpbXBvcnRhbnQgcXVlc3Rpb24gaXMsIGNhbiB0aGlzIGJlIHRyaWdnZXJlZCBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50PyBJZiBgc3RtbWFjYCBpc24ndCBlbXVsYXRlZCwgdGhhdCBwYXJ0IHdpbGwgYmUgdW5yZWFjaGFibGUuIEJ1dCB0aGVuIGFnYWluLCBgcGh5bGlua19wY3NfbG9vcGJhY2tgIGlzIGV4cG9ydGVkLiBUaGF0IG1lYW5zIG90aGVyIGRyaXZlcnMgY291bGQgcG90ZW50aWFsbHkgdXNlIHRoaXMgbmV3IGZ1bmN0aW9uYWxpdHkgaW4gdGhlIGZ1dHVyZSwgZXZlbiB0aG91Z2ggY3VycmVudGx5LCBvbmx5IGBzdG1tYWNgIGlzIGRvaW5nIHNvLiBJdCBicm9hZGVucyB0aGUgc2NvcGUgb2Ygd2hhdCBpcyBiZWluZyBjaGFuZ2VkLCB0aG91Z2gsIHNvIGl0J3Mgd29ydGggZGVlcGVyIGNvbnNpZGVyYXRpb24uXG5cbk5vdywgZG9lcyBRRU1VIGVtdWxhdGUgYW55IG9mIHRoZSBQQ0kgSURzIHRoYXQgdGhlIGBzdG1tYWNgIGRyaXZlciBoYW5kbGVzPyBMZXQgbWUgY2hlY2sgd2hpY2ggUENJIElEcyBpdCBiaW5kcyB0by4gTG9va3MgbGlrZTogYFBDSV9ERVZJQ0VfREFUQShTVE1NQUMsIFNUTU1BQywgXHUwMDI2c3RtbWFjX3BjaV9pbmZvKWAsIGBQQ0lfREVWSUNFX0RBVEEoU1RNSUNSTywgTUFDLCBcdTAwMjZzdG1tYWNfcGNpX2luZm8pYCwgYW5kIGBQQ0lfREVWSUNFX0RBVEEoU1lOT1BTWVMsIEdNQUM1X0lELCBcdTAwMjZzbnBzX2dtYWM1X3BjaV9pbmZvKWAuIFJpZ2h0LCBJJ2xsIG5lZWQgdG8gY2hlY2sgYGluY2x1ZGUvbGludXgvcGNpX2lkcy5oYCB0byBzZWUgaG93IHRob3NlIHRyYW5zbGF0ZSBhbmQgd2hldGhlciBhbnkgb2YgdGhvc2UgYXJlIGVtdWxhdGVkIHdpdGhpbiBRRU1VLiBUaGF0J3MgdGhlIG5leHQgc3RlcCB0byBmaWd1cmUgb3V0IHRoZSByZWFjaGFiaWxpdHkgb2YgdGhpcyBuZXcgQVBJLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxMzIyNSwiT3V0cHV0VG9rZW5zIjo1NiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM5MCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yOFQwMDo1NToyNC45MTg1OTg3NTNaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzUxNjA5MDIwNSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJQQ0lfREVWSUNFX0lEX1NUTU1BQ19TVE1NQUN8UENJX0RFVklDRV9JRF9TVE1JQ1JPX01BQ3xQQ0lfREVWSUNFX0lEX1NZTk9QU1lTX0dNQUM1X0lEXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYz0xOTI9c3RhdGljIHZvaWQgc3RtbWFjX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTk5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMDA6I2RlZmluZSBQQ0lfREVWSUNFX0lEX1NUTU1BQ19TVE1NQUNcXHRcXHQweDExMDhcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM6MjAxOiNkZWZpbmUgUENJX0RFVklDRV9JRF9TWU5PUFNZU19HTUFDNV9JRFxcdFxcdDB4NzEwMlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0yMDItXFxuLS1cXG5pbmNsdWRlL2xpbnV4L3BjaV9pZHMuaC04NjEtI2RlZmluZSBQQ0lfREVWSUNFX0lEX1NUTUlDUk9fU1BJX0hTXFx0MHhDQzA4XFxuaW5jbHVkZS9saW51eC9wY2lfaWRzLmg6ODYyOiNkZWZpbmUgUENJX0RFVklDRV9JRF9TVE1JQ1JPX01BQ1xcdDB4Q0MwOVxcbmluY2x1ZGUvbGludXgvcGNpX2lkcy5oLTg2My0jZGVmaW5lIFBDSV9ERVZJQ0VfSURfU1RNSUNST19TRElPX0VNTUMgMHhDQzBBXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU1OjI4LjQzNDY5NTI0OFoiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjgzOTc2OTQyMDcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgU3l6a2FsbGVyIFBDSSBGdXp6aW5nIFBlcnNwZWN0aXZlKipcblxuT2theSwgc28gSSdtIHRoaW5raW5nIGFib3V0IFN5emthbGxlcidzIGFwcHJvYWNoIHRvIFBDSSBkZXZpY2UgZnV6emluZy4gTXkgaW5pdGlhbCB0aG91Z2h0IHdhcyB0aGF0IGBzeXpfcGNpX3NldHVwYCBjb3VsZCBwb3RlbnRpYWxseSBlbXVsYXRlIGFyYml0cmFyeSBQQ0kgZGV2aWNlcywgYXMgbG9uZyBhcyB0aGUga2VybmVsIGhhZCBhIGNvcnJlc3BvbmRpbmcgZHJpdmVyLiBCdXQgdGhhdCdzIG5vdCBxdWl0ZSByaWdodC4gSXQgc2VlbXMgU3l6a2FsbGVyIGRvZXNuJ3QgZGlyZWN0bHkgZW11bGF0ZSB0aGUgaGFyZHdhcmUgTU1JTyByZWdpc3RlcnMuXG5cbkl0IGFwcGVhcnMgU3l6a2FsbGVyICpkb2VzKiBoYXZlIGEgYHZoY2kvcGNpYCBwc2V1ZG8tZGV2aWNlIHdoaWNoIGluamVjdHMgUENJIGRldmljZXMsIGJ1dCBpdCdzIG5vdCB0aGUgc2FtZSBhcyBmdWxsIGVtdWxhdGlvbiwgcmlnaHQ/IFNvLCBgc3l6X3BjaV9zZXR1cGAgaXNuJ3QgdXNlZCB0byAqaW5qZWN0KiBkZXZpY2VzLiBJdCdzIG1vcmUgb2YgYSBjb25maWd1cmF0aW9uIHRvb2wsIHNldHRpbmcgdGhpbmdzIHVwLCBhbmQgaWYgdGhlIGRyaXZlciBpcyBtYWtpbmcgTU1JTyByZWFkcy93cml0ZXMsIGl0J3MganVzdCBkZWFsaW5nIHdpdGggZHVtbXkgbWVtb3J5LCBwb3RlbnRpYWxseSByZXR1cm5pbmcgemVyb3Mgb3Igb25lcywgb3IgY2F1c2luZyBhIGNyYXNoIGlmIHRoZSBkcml2ZXIgbmVlZHMgc3BlY2lmaWMgaGFyZHdhcmUgcmVzcG9uc2VzLlxuXG5Ib2xkIG9uLCBJIHRob3VnaHQgU3l6a2FsbGVyIGhhZCAqc29tZSogZm9ybSBvZiBQQ0kgZGV2aWNlIGVtdWxhdG9yPyBObywgdGhhdCdzIG5vdCBpdCBlaXRoZXIuIFRoZSBQQ0kgZnV6emluZywgd2hldGhlciBpdOKAmXMgdGhyb3VnaCBgc3l6X3BjaV9zZXR1cGAgb3IgZXZlbiB0aHJvdWdoIGBzeXpfa3ZtX3NldHVwX2NwdWAsIGlzIHByaW1hcmlseSBhaW1lZCBhdCBlaXRoZXIgdGhlIFBDSSBjb3JlIGl0c2VsZiBvciBkcml2ZXJzIHJvYnVzdCBlbm91Z2ggdG8gaGFuZGxlIHRoZSBkdW1teSBNTUlPIGJlaGF2aW9yLiBTbywgbm90IGEgZnVsbCBlbXVsYXRvciwgcmVhbGx5LlxuXG5TbyBpdCBpcyBub3QgY29ycmVjdCB0byBjbGFpbSBTeXprYWxsZXIgZW11bGF0ZXMgUENJIGRyaXZlcnMgdGhyb3VnaCB2aGNpLCBpdCB1c2VzIHRoZSBgcGNpX3Rlc3RgIGZyYW1ld29yayBvciBzb21ldGhpbmcgc2ltaWxhciwgcmlnaHQ/IE5vLCBub3QgcXVpdGUuIFRoZSBjb3JyZWN0IGlkZWEgaXMgdGhhdCBgc3l6X3BjaV9zZXR1cGAgaW5qZWN0cyBhIFBDSSBkZXZpY2UsIGVpdGhlciB0aHJvdWdoIGEgY3VzdG9tIGtlcm5lbCBtb2R1bGUgb3IgbWF5YmUgbGV2ZXJhZ2luZyBRRU1VJ3MgYHBjaS10ZXN0ZGV2YC5cblxuV2FpdCwgaXNuJ3QgYHN5el9wY2lfc2V0dXBgIG5vdCBhIHBzZXVkby1zeXNjYWxsPyBBaGEhIFJpZ2h0LCBpdCdzIGEgU3l6a2FsbGVyIGZ1bmN0aW9uLCBub3QgYSBzeXN0ZW0gY2FsbCBpbiBpdHNlbGYuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSBnZXQgdGhhdCBzdHJhaWdodC4gTGV0IG1lIGRvdWJsZS1jaGVjay4gSSBzZWUgaXQgaW4gYHN5cy9saW51eC9wY2kudHh0YC4gUmlnaHQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE0NTIyLCJPdXRwdXRUb2tlbnMiOjIxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzY3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU1OjM2LjgzMjM5ODcwNVoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNTAyMTgxNDQ5LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJzeXpfcGNpX3NldHVwXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcImVycm9yXCI6IFwibm8gbWF0Y2hlc1wiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yOFQwMDo1NTozOS4zMzQ2MDk3NjRaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2MjgzMDM0MTQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IExpbmUgb2YgUmVhc29uaW5nKipcblxuT2theSwgZmlyc3QgdGhpbmdzIGZpcnN0LCBJIG5lZWQgdG8gZGl0Y2ggdGhlIGlkZWEgb2YgdXNpbmcgZ3JlcHBlciB0byBmaW5kIHNvbWV0aGluZyByZWxhdGVkIHRvIGBzeXpfYC4gTXkgaW50dWl0aW9uIGlzIHRlbGxpbmcgbWUgdGhhdCBJIHNob3VsZCBiZSB1c2luZyBgcmVhZC1maWxlYCBvciBwZXJoYXBzIEkganVzdCBuZWVkIHRvIHJlbWVtYmVyIHRoYXQgU3l6a2FsbGVyJ3MgUENJIGhhcmR3YXJlIGVtdWxhdGlvbiBpc24ndCB2ZXJ5IHJvYnVzdCwgZXNwZWNpYWxseSBmb3IgYXJiaXRyYXJ5IGRldmljZXMuIEl0IGhlYXZpbHkgZGVwZW5kcyBvbiBRRU1VLCB3aGljaCBpbiB0dXJuIG1pZ2h0IG5vdCBlbXVsYXRlIHRoZSBleGFjdCBTVE1NQUMgUENJIGRldmljZSBJJ20gaW50ZXJlc3RlZCBpbiwgcG90ZW50aWFsbHkgbGVhZGluZyB0byBkcml2ZXIgcHJvYmUgZmFpbHVyZXMgb3IsIG1vcmUgaW1wb3J0YW50bHksIHNraXBwaW5nIHRoZSBzZWxmdGVzdCBjb2RlLlxuXG5XYWl0IGEgbWludXRlLCBpc24ndCBgc3RtbWFjYCBhbHNvIGEgcGxhdGZvcm0gZHJpdmVyPyBTbywgZG9lcyBRRU1VIGVtdWxhdGUgaXQ/XG5cbkFoLCByaWdodCwgUUVNVSAqZG9lcyogaGF2ZSBgaHcvbmV0L2Rlc2lnbndhcmUuY2AuIFRoYXQncyBlbmNvdXJhZ2luZy4gTm93LCBJIG5lZWQgdG8gZmlndXJlIG91dCBpZiBTeXprYWxsZXIgYWN0dWFsbHkgbGV2ZXJhZ2VzIFFFTVUncyBEZXNpZ25XYXJlIEV0aGVybmV0IGltcGxlbWVudGF0aW9uLlxuXG5MZXQncyBzZWUuLi4gU3l6a2FsbGVyIHR5cGljYWxseSBydW5zIGBxZW11LXN5c3RlbS14ODZfNjRgIHdpdGggYSBzcGVjaWZpYyBkZXZpY2UgY29uZmlndXJhdGlvbiDigJMgZTEwMDAsIGUxMDAwZSwgcnRsODEzOSwgdm14bmV0MywgYW5kIHZpcnRpby1uZXQuIEl0J3Mgbm90IHVzdWFsbHkgY29uZmlndXJlZCB3aXRoIEFSTSBib2FyZHMgd2hlcmUgYGRlc2lnbndhcmVgIHdvdWxkIGJlIHByZXNlbnQuXG5cbkhvbGQgb24sIHRoZXJlJ3MgdGhhdCBgcGh5bGlua2AgY2hhbmdlIEkgbmVlZCB0byB0YWtlIGludG8gYWNjb3VudC5cblxuT2theSwgdGhlIHBhdGNoIGFkZHMgYHBoeWxpbmtfcGNzX2xvb3BiYWNrYC4gSXMgYHBoeWxpbmtgIGV2ZW4gKnJlYWNoYWJsZSogaW4gdGhlIFN5emthbGxlciBjb250ZXh0PyBZZXMsIGFic29sdXRlbHkuIFBsZW50eSBvZiBkcml2ZXJzIHVzZSBgcGh5bGlua2AuXG5cbkJ1dCB0aGUgY3J1Y2lhbCBkZXRhaWwgaGVyZSBpcyB0aGF0IGBwaHlsaW5rX3Bjc19sb29wYmFja2AgYXBwZWFycyB0byBiZSBjYWxsZWQgb25seSBmcm9tIGBzdG1tYWNfc2VsZnRlc3RzLmNgIGluICp0aGlzKiBzcGVjaWZpYyBwYXRjaC5cblxuU28sIGxldCdzIGJyb2FkZW4gdGhlIHNjb3BlIGFuZCBjaGVjayBpZiAqYW55KiBvdGhlciBkcml2ZXIgY2FsbHMgYHBoeWxpbmtfcGNzX2xvb3BiYWNrYC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTUzNzAsIk91dHB1dFRva2VucyI6MjEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMDYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTU6NDUuNjE3NjQ4NzcyWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMDU0OTIyMDU2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInBoeWxpbmtfcGNzX2xvb3BiYWNrXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYz0zOTA9c3RhdGljIGludCBzdG1tYWNfdGVzdF9waHlfbG9vcGJhY2soc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3NlbGZ0ZXN0cy5jLTQxMC1cXHRpZiAocGNzKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3NlbGZ0ZXN0cy5jOjQxMTpcXHRcXHRyZXQgPSBwaHlsaW5rX3Bjc19sb29wYmFjayhwY3MsIHRydWUpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYy00MTItXFx0XFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYy00MTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3NlbGZ0ZXN0cy5jOjQxODpcXHRcXHRwaHlsaW5rX3Bjc19sb29wYmFjayhwY3MsIGZhbHNlKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMtNDE5LVxcdFxcdHJldHVybiByZXQ7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmM9MTk4Nz12b2lkIHN0bW1hY19zZWxmdGVzdF9ydW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYy0yMDE4LVxcdFxcdFxcdGVsc2VcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmM6MjAxOTpcXHRcXHRcXHRcXHRyZXQgPSBwaHlsaW5rX3Bjc19sb29wYmFjayhzdG1tYWNfc2VsZnRlc3RfZ2V0X3Bjcyhwcml2KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMtMjAyMC1cXHRcXHRcXHRcXHRcXHRcXHRcXHQgICB0cnVlKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19zZWxmdGVzdHMuYy0yMDU0LVxcdFxcdFxcdGVsc2VcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmM6MjA1NTpcXHRcXHRcXHRcXHRyZXQgPSBwaHlsaW5rX3Bjc19sb29wYmFjayhzdG1tYWNfc2VsZnRlc3RfZ2V0X3Bjcyhwcml2KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfc2VsZnRlc3RzLmMtMjA1Ni1cXHRcXHRcXHRcXHRcXHRcXHRcXHQgICBmYWxzZSk7XFxuLS1cXG5kcml2ZXJzL25ldC9waHkvcGh5bGluay5jPTk5OD1FWFBPUlRfU1lNQk9MX0dQTChwaHlsaW5rX3Bjc19wcmVfaW5pdCk7XFxuLS1cXG5kcml2ZXJzL25ldC9waHkvcGh5bGluay5jLTEwMDAtLyoqXFxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYzoxMDAxOiAqIHBoeWxpbmtfcGNzX2xvb3BiYWNrKCkgLSBFbmFibGUgb3IgZGlzYWJsZSBsb29wYmFjayBhdCB0aGUgUENTXFxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYy0xMDAyLSAqIEBwY3M6IGEgcG9pbnRlciB0byBhIFxcdTAwMjZzdHJ1Y3QgcGh5bGlua19wY3MuXFxuLS1cXG5kcml2ZXJzL25ldC9waHkvcGh5bGluay5jLTEwMDktICovXFxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYzoxMDEwOmludCBwaHlsaW5rX3Bjc19sb29wYmFjayhzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpXFxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYy0xMDExLXtcXG4tLVxcbmRyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmMtMTAxNi19XFxuZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYzoxMDE3OkVYUE9SVF9TWU1CT0xfR1BMKHBoeWxpbmtfcGNzX2xvb3BiYWNrKTtcXG5kcml2ZXJzL25ldC9waHkvcGh5bGluay5jLTEwMTgtXFxuLS1cXG5pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaD03MzI9aW50IHBjc19sb29wYmFjayhzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgYm9vbCBlbmFibGUpO1xcbi0tXFxuaW5jbHVkZS9saW51eC9waHlsaW5rLmgtNzM1LVxcbmluY2x1ZGUvbGludXgvcGh5bGluay5oOjczNjppbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKTtcXG5pbmNsdWRlL2xpbnV4L3BoeWxpbmsuaC03MzctXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU1OjQ4LjY3MjU4MjgxOFoiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo4OTUyNDEzOTU0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIGBzdG1tYWNgIENvZGUgUmVhY2hhYmlsaXR5KipcblxuT2theSwgc28gSSdtIGZvY3VzaW5nIG9uIHRoaXMgYHN0bW1hY2AgZHJpdmVyLiBUaGUgaW1tZWRpYXRlIHRob3VnaHQgaXMsIHRoaXMgY29kZSBwYXRoIG9ubHkgZ2V0cyB1c2VkIGJ5IGBzdG1tYWNgLiBOb3csIHRoZSBrZXkgaXMgd2hldGhlciBpdCdzIHJlYWNoYWJsZSBpbiBzdGFuZGFyZCBRRU1VIHg4Nl82NCBlbnZpcm9ubWVudHMsIHdoaWNoIGlzIGNydWNpYWwgYmVjYXVzZSB0aGF0J3Mgd2hhdCBzeXprYWxsZXIgdXNlcy4gSWYgYHN0bW1hY2AgaXMgaW5hY2Nlc3NpYmxlLCB0aGVuIHRoZSBjb2RlLCBieSBkZWZpbml0aW9uLCBpcyB1bnJlYWNoYWJsZS5cblxuV2FpdCBhIHNlY29uZCwgZG9lcyBzeXprYWxsZXIgZXZlbiAqZnV6eiogYHN0bW1hY2A/IEkgbmVlZCB0byB2ZXJpZnkgdGhhdC4gSSdsbCBuZWVkIHRvIGNoZWNrIHRoZSBzeXprYWxsZXIgY29uZmlndXJhdGlvbiBmb3IgYHN0bW1hY2AgZW5hYmxlbWVudCBvciByZWFjaGFiaWxpdHkuIExldCdzIHNlZS4uLiBkb2VzIHN5emthbGxlciBoYXZlIGBDT05GSUdfU1RNTUFDX0VUSD15YCBvciBgQ09ORklHX1NUTU1BQ19QQ0k9eWAgc2V0IGluIGl0cyBjb25maWdzPyBJZiBzbywgdGhhdCdzIGEgZ29vZCBzaWduLiBPa2F5LCBpdCBzZWVtcyB0aGF0IHRoZXJlJ3MgUENJIHN1cHBvcnQgZW5hYmxlZC5cblxuSWYgYENPTkZJR19TVE1NQUNfUENJPXlgIGlzIHNldCwgdGhlbiB0aGUgZHJpdmVyIGlzIGxpa2VseSBwcmVzZW50LCBidXQgaXMgaXQgKnJlYWNoYWJsZSo/IENhbiBzeXprYWxsZXIgaW5qZWN0IFBDSSBkZXZpY2VzPyBUaGVyZSdzIG5vIGdlbmVyaWMgYHN5el9wY2lfc2V0dXBgIHBzZXVkby1zeXNjYWxsLCBidXQgaXQgZG9lcyBoYXZlIGBzeXpfdXNiX2Nvbm5lY3RgLiBTbyBQQ0kgaXMgZGlmZmVyZW50OiBzeXprYWxsZXIgcmVsaWVzIG9uIFFFTVUncyBlbXVsYXRlZCBkZXZpY2VzIGZvciBQQ0kuXG5cblJpZ2h0LCBzeXprYWxsZXIgaXMgdXNpbmcgYHFlbXUtc3lzdGVtLXg4Nl82NGAsIHNvIG5vdyB0aGUgcXVlc3Rpb24gaXM6IGRvZXMgUUVNVSBlbXVsYXRlIHRoZSBgU1RNTUFDYCBQQ0kgZGV2aWNlPyBObywgaXQgZG9lc24ndC4gSG93ZXZlciwgd2Fzbid0IHRoZXJlIHNvbWV0aGluZyBhYm91dCByZWNlbnQgUENJIGZ1enppbmcgY2FwYWJpbGl0aWVzIGFkZGVkIHRvIHN5emthbGxlcj8gTm8sIHRoYXQgd2FzIG1vc3RseSBVU0IgYW5kIHNvbWUgdmlydHVhbCBkZXZpY2VzLlxuXG5IZXJlJ3MgdGhlIHByb2JsZW06IHdoYXQgaWYgdGhlIHBhdGNoIGlzIGJ1cmllZCBpbiBhIGRyaXZlciB0aGF0IHJlcXVpcmVzIHBoeXNpY2FsIGhhcmR3YXJlIG5vdCBlbXVsYXRlZCBieSBzdGFuZGFyZCBRRU1VPyBBaCwgdGhlIGRvY3VtZW50IG1lbnRpb25zIFwidmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLCBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cIlxuXG5JcyBgc3RtbWFjYCBhIHZlbmRvci1zcGVjaWZpYyBoYXJkd2FyZSBkcml2ZXI/IEl0J3MgdGhlIFN5bm9wc3lzIERlc2lnbldhcmUgTUFDLCB3aGljaCBpcyB1c3VhbGx5IGZvdW5kIG9uIFNvQ3MgKEFSTSwgZXRjLikgb3Igc29tZSBJbnRlbCBwbGF0Zm9ybXMgbGlrZSBRdWFyayBvciBFbGtoYXJ0IExha2UsIHNvIEknZCBzYXkgdGhhdCBpcyBjb3JyZWN0LiBJdCBuZWVkcyBwaHlzaWNhbCBoYXJkd2FyZSBvciwgYXQgdGhlIHZlcnkgbGVhc3QsIHNwZWNpZmljIFNvQyBlbXVsYXRpb24uIFNpbmNlIHN5emthbGxlciBydW5zIGluIHg4Nl82NCBRRU1VLCBpdCB3b24ndCBoYXZlIHRob3NlIHBsYXRmb3JtIGRldmljZXMuIFNwZWNpZmljYWxseSwgcmVnYXJkaW5nIHRoZSBQQ0kgdmVyc2lvbiwgUUVNVSBkb2Vzbid0IGVtdWxhdGUgdGhlIEludGVsIFF1YXJrIG9yIEVsa2hhcnQgTGFrZSBTVE1NQUMgUENJIGRldmljZXMuXG5cblRoZXJlZm9yZSwgdGhlIGBzdG1tYWNgIGRyaXZlciBwcm9iZSBpcyBleHRyZW1lbHkgdW5saWtlbHkgdG8gc3VjY2VlZCwgYW5kIHRoZSBzZWxmdGVzdCBjb2RlIGluIHF1ZXN0aW9uIGlzIGxpa2VseSBuZXZlciByZWFjaGVkLiBCdXQgd2FpdCwgaXQncyB3b3J0aCBzZWVpbmcgaWYgdGhlcmUgaXMgYW55IGNoYW5jZSB0aGF0IHRoZSBkcml2ZXIgZ2V0cyBmdXp6ZWQuIEl0J3MgdGltZSB0byBjaGVjayBpZiB0aGVyZSBhcmUgYW55IGV4aXN0aW5nIHN5emJvdCBidWdzIHJlcG9ydGVkIGZvciBgc3RtbWFjYC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTcwNDAsIk91dHB1dFRva2VucyI6MTcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo1NzEsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTU6NTcuNjI0OTk5ODMyWiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNjM4MTU2OTE2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInN0bW1hY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJcXG5GdWxsIG91dHB1dCBpcyB0b28gbG9uZywgc2hvd2luZyA1MDAgb3V0IG9mIDE0MDkwIGxpbmVzLlxcblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cXG5cXG5Eb2N1bWVudGF0aW9uLy5yZW5hbWVzLnR4dD04MjM9bmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9xdWFsY29tbS9ybW5ldCBuZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2NlbGx1bGFyL3F1YWxjb21tL3JtbmV0XFxuRG9jdW1lbnRhdGlvbi8ucmVuYW1lcy50eHQ6ODI0Om5ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvc3RtaWNyby9zdG1tYWMgbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hY1xcbkRvY3VtZW50YXRpb24vLnJlbmFtZXMudHh0LTgyNS1uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL3RpL2Nwc3cgbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC90aS9jcHN3XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW43aS1hMjAtZ21hYy55YW1sPTE2PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW43aS1hMjAtZ21hYy55YW1sLTM1LSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW43aS1hMjAtZ21hYy55YW1sOjM2OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjdpLWEyMC1nbWFjLnlhbWwtMzctICAgICAgLSBjb25zdDogYWxsd2lubmVyX2dtYWNfdHhcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjdpLWEyMC1nbWFjLnlhbWw9NTQ9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW43aS1hMjAtZ21hYy55YW1sLTYxLSAgICAgICAgY2xvY2tzID0gXFx1MDAzY1xcdTAwMjZhaGJfZ2F0ZXMgNDlcXHUwMDNlLCBcXHUwMDNjXFx1MDAyNmdtYWNfdHhcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjdpLWEyMC1nbWFjLnlhbWw6NjI6ICAgICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwiYWxsd2lubmVyX2dtYWNfdHhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjdpLWEyMC1nbWFjLnlhbWwtNjMtICAgICAgICBwaHktbW9kZSA9IFxcXCJtaWlcXFwiO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw9Mjg9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTYzLSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbDo2NDogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC02NS0gICAgICAtIGNvbnN0OiBtYnVzXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbD0yNTU9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0yNjMtICAgICAgICByZXNldHMgPSBcXHUwMDNjXFx1MDAyNmNjdSAxMlxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MjY0OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0yNjUtICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNjdSAyN1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MjY2OiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0yNjctXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zMTQtICAgICAgICByZXNldHMgPSBcXHUwMDNjXFx1MDAyNmNjdSAxMlxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MzE1OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zMTYtICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNjdSAyN1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MzE3OiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zMTgtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zNjctICAgICAgICByZXNldHMgPSBcXHUwMDNjXFx1MDAyNmNjdSAxM1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MzY4OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zNjktICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNjdSAyN1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MzcwOiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zNzEtICAgICAgICBwaHktaGFuZGxlID0gXFx1MDAzY1xcdTAwMjZleHRfcmdtaWlfcGh5MVxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC0zOTAtICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNjdSAxMTdcXHUwMDNlLCBcXHUwMDNjXFx1MDAyNmNjdSA3OVxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6MzkxOiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIiwgXFxcIm1idXNcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTM5Mi0gICAgICAgIHJlc2V0cyA9IFxcdTAwM2NcXHUwMDI2Y2N1IDQzXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbDozOTM6ICAgICAgICByZXNldC1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTM5NC0gICAgICAgIGludGVycnVwdHMgPSBcXHUwMDNjMCA0NyA0XFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWxsd2lubmVyLHN1bjhpLWE4M3QtZW1hYy55YW1sLTQwMi0gICAgICAgIHNucHMsZml4ZWQtYnVyc3Q7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbGx3aW5uZXIsc3VuOGktYTgzdC1lbWFjLnlhbWw6NDAzOiAgICAgICAgc25wcyxheGktY29uZmlnID0gXFx1MDAzY1xcdTAwMjZnbWFjMV9zdG1tYWNfYXhpX3NldHVwXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsbHdpbm5lcixzdW44aS1hODN0LWVtYWMueWFtbC00MDQtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sI1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbD0xMj1kZXNjcmlwdGlvbjpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTE1LSAgZmFtaWxpZXMgb2YgY2hpcHMuXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6MTY6ICAjIFRPRE86IERldGVybWluZSBob3cgdG8gaGFuZGxlIHRoZSBBcnJpYTEwIHJlc2V0LW5hbWUsIHN0bW1hY2V0aC1vY3AsIHRoYXRcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC0xNy0gICMgZG9lcyBub3QgdmFsaWRhdGUgYWdhaW5zdCBuZXQvc25wcyxkd21hYy55YW1sLlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw9MTk9c2VsZWN0Olxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtMjMtICAgICAgICBlbnVtOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjI0OiAgICAgICAgICAtIGFsdHIsc29jZnBnYS1zdG1tYWNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbDoyNTogICAgICAgICAgLSBhbHRyLHNvY2ZwZ2Etc3RtbWFjLWExMC1zMTBcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbDoyNjogICAgICAgICAgLSBhbHRyLHNvY2ZwZ2Etc3RtbWFjLWFnaWxleDVcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC0yNy1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sPTMxPXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC0zNC0gICAgICAtIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjM1OiAgICAgICAgICAtIGNvbnN0OiBhbHRyLHNvY2ZwZ2Etc3RtbWFjXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtMzYtICAgICAgICAgIC0gY29uc3Q6IHNucHMsZHdtYWMtMy43MGFcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTM4LSAgICAgIC0gaXRlbXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6Mzk6ICAgICAgICAgIC0gY29uc3Q6IGFsdHIsc29jZnBnYS1zdG1tYWMtYTEwLXMxMFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTQwLSAgICAgICAgICAtIGNvbnN0OiBzbnBzLGR3bWFjLTMuNzJhXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC00Mi0gICAgICAtIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjQzOiAgICAgICAgICAtIGNvbnN0OiBhbHRyLHNvY2ZwZ2Etc3RtbWFjLWExMC1zMTBcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC00NC0gICAgICAgICAgLSBjb25zdDogc25wcyxkd21hYy0zLjc0YVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNDYtICAgICAgLSBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbDo0NzogICAgICAgICAgLSBjb25zdDogYWx0cixzb2NmcGdhLXN0bW1hYy1hZ2lsZXg1XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNDgtICAgICAgICAgIC0gY29uc3Q6IHNucHMsZHd4Z21hYy0yLjEwXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FsdHIsc29jZnBnYS1zdG1tYWMueWFtbC02MS0gICAgaXRlbXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw6NjI6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtNjMtICAgICAgLSBjb25zdDogcHRwX3JlZlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWw9MTU4PWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtMTY2LSAgICAgICAgZXRoZXJuZXRAZmY3MDAwMDAge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjE2NzogICAgICAgICAgICBjb21wYXRpYmxlID0gXFxcImFsdHIsc29jZnBnYS1zdG1tYWNcXFwiLCBcXFwic25wcyxkd21hYy0zLjcwYVxcXCIsXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbHRyLHNvY2ZwZ2Etc3RtbWFjLnlhbWwtMTY4LSAgICAgICAgICAgIFxcXCJzbnBzLGR3bWFjXFxcIjtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTE3NC0gICAgICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmVtYWNfMF9jbGtcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sOjE3NTogICAgICAgICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWx0cixzb2NmcGdhLXN0bW1hYy55YW1sLTE3Ni0gICAgICAgICAgICBwaHktbW9kZSA9IFxcXCJzZ21paVxcXCI7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FtbG9naWMsbWVzb24tZHdtYWMueWFtbD0yOT1hbGxPZjpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYW1sb2dpYyxtZXNvbi1kd21hYy55YW1sLTU0LSAgICAgICAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FtbG9naWMsbWVzb24tZHdtYWMueWFtbDo1NTogICAgICAgICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FtbG9naWMsbWVzb24tZHdtYWMueWFtbC01Ni0gICAgICAgICAgICAtIGNvbnN0OiBjbGtpbjBcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYW1sb2dpYyxtZXNvbi1kd21hYy55YW1sPTE3Mj1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYW1sb2dpYyxtZXNvbi1kd21hYy55YW1sLTE3OS0gICAgICAgIGNsb2NrcyA9IFxcdTAwM2NcXHUwMDI2Y2xrX2V0aFxcdTAwM2UsIFxcdTAwM2NcXHUwMDI2Y2xrX2ZjbGtfZGl2MlxcdTAwM2UsIFxcdTAwM2NcXHUwMDI2Y2xrX21wbGwyXFx1MDAzZSwgXFx1MDAzY1xcdTAwMjZjbGtfZmNsa19kaXYyXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FtbG9naWMsbWVzb24tZHdtYWMueWFtbDoxODA6ICAgICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwiY2xraW4wXFxcIiwgXFxcImNsa2luMVxcXCIsIFxcXCJ0aW1pbmctYWRqdXN0bWVudFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbWxvZ2ljLG1lc29uLWR3bWFjLnlhbWwtMTgxLSAgICAgICAgcGh5LW1vZGUgPSBcXFwicmdtaWlcXFwiO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0LTItXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0OjM6VGhpcyBkZXZpY2UgaXMgYSBwbGF0Zm9ybSBnbHVlIGxheWVyIGZvciBzdG1tYWMuXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0OjQ6UGxlYXNlIHNlZSBzdG1tYWMudHh0IGZvciB0aGUgb3RoZXIgdW5jaGFuZ2VkIHByb3BlcnRpZXMuXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0LTUtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FuYXJpb24tZ21hYy50eHQ9MTE9RXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FuYXJpb24tZ21hYy50eHQtMjEtXFx0XFx0Y2xvY2tzID0gXFx1MDAzY1xcdTAwMjZjb3JlX2Nsa1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0OjIyOlxcdFxcdGNsb2NrLW5hbWVzID0gXFxcInN0bW1hY2V0aFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9hbmFyaW9uLWdtYWMudHh0LTIzLVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sPTQ4PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtNzUtICAgICAgLSBjb25zdDogY2ZnXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sOjc2OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC03Ny0gICAgICAtIGNvbnN0OiB0eFxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sLTgzLSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6ODQ6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sLTg1LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sPTEzNz1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNDYtICAgICAgICAgICAgICAgIFxcdTAwM2NcXHUwMDI2ZDBfY2xvY2sgMTkzXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTQ3OiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwiYXhpXFxcIiwgXFxcImNmZ1xcXCIsIFxcXCJzdG1tYWNldGhcXFwiLCBcXFwidHhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNDgtICAgICAgICByZXNldHMgPSBcXHUwMDNjXFx1MDAyNnJlc2V0IDk1XFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTQ5OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTUwLSAgICAgICAgZXN3aW4saHNwLXNwLWNzciA9IFxcdTAwM2NcXHUwMDI2aHNwX3NwX2NzciAweDEwMCAweDEwOCAweDExOCAweDExNCAweDExY1xcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTU1LSAgICAgICAgc25wcyx0c287XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sOjE1NjogICAgICAgIHNucHMsYXhpLWNvbmZpZyA9IFxcdTAwM2NcXHUwMDI2c3RtbWFjX2F4aV9zZXR1cFxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sLTE1Ny1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTU4OiAgICAgICAgc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNTktICAgICAgICAgICAgc25wcyxibGVuID0gXFx1MDAzYzAgMCAwIDAgMTYgOCA0XFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNzItICAgICAgICAgICAgICAgIFxcdTAwM2NcXHUwMDI2ZDBfY2xvY2sgMTk0XFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTczOiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwiYXhpXFxcIiwgXFxcImNmZ1xcXCIsIFxcXCJzdG1tYWNldGhcXFwiLCBcXFwidHhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xNzQtICAgICAgICByZXNldHMgPSBcXHUwMDNjXFx1MDAyNnJlc2V0IDk0XFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTc1OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTc2LSAgICAgICAgZXN3aW4saHNwLXNwLWNzciA9IFxcdTAwM2NcXHUwMDI2aHNwX3NwX2NzciAweDIwMCAweDIwOCAweDIxOCAweDIxNCAweDIxY1xcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWwtMTgxLSAgICAgICAgc25wcyx0c287XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sOjE4MjogICAgICAgIHNucHMsYXhpLWNvbmZpZyA9IFxcdTAwM2NcXHUwMDI2c3RtbWFjX2F4aV9zZXR1cF9nbWFjMVxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9lc3dpbixlaWM3NzAwLWV0aC55YW1sLTE4My1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Vzd2luLGVpYzc3MDAtZXRoLnlhbWw6MTg0OiAgICAgICAgc3RtbWFjX2F4aV9zZXR1cF9nbWFjMTogc3RtbWFjLWF4aS1jb25maWcge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZXN3aW4sZWljNzcwMC1ldGgueWFtbC0xODUtICAgICAgICAgICAgc25wcyxibGVuID0gXFx1MDAzYzAgMCAwIDAgMTYgOCA0XFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW5nZW5pYyxtYWMueWFtbD0xNT1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sLTM2LSAgY2xvY2stbmFtZXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sOjM3OiAgICBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sLTM4LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sPTYwPWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sLTcyLSAgICAgICAgY2xvY2tzID0gXFx1MDAzY1xcdTAwMjZjZ3UgWDEwMDBfQ0xLX01BQ1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbmdlbmljLG1hYy55YW1sOjczOiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2luZ2VuaWMsbWFjLnlhbWwtNzQtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbD0yND1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWwtMzktICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sOjQwOiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sLTQxLSAgICAgIC0gY29uc3Q6IHB0cF9yZWZcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sPTU3PWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWwtNjYtXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWw6Njc6ICAgIHN0bW1hY19heGlfc2V0dXA6IHN0bW1hYy1heGktY29uZmlnIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbC02OC0gICAgICAgIHNucHMsbHBpX2VuO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWwtMTE1LSAgICAgICAgdHgtZmlmby1kZXB0aCA9IFxcdTAwM2M0MDk2XFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbDoxMTY6ICAgICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwicHRwX3JlZlxcXCIsIFxcXCJ0eF9jbGtcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sLTExNy0gICAgICAgIGNsb2NrcyA9IFxcdTAwM2NcXHUwMDI2c2NtaV9jbGsgTU9WSVNPQ19LTUJfUFNTX0dCRVxcdTAwM2UsXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2ludGVsLGR3bWFjLXBsYXQueWFtbC0xMjAtICAgICAgICBzbnBzLHBibCA9IFxcdTAwM2MweDRcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaW50ZWwsZHdtYWMtcGxhdC55YW1sOjEyMTogICAgICAgIHNucHMsYXhpLWNvbmZpZyA9IFxcdTAwM2NcXHUwMDI2c3RtbWFjX2F4aV9zZXR1cFxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pbnRlbCxkd21hYy1wbGF0LnlhbWwtMTIyLSAgICAgICAgc25wcyxtdGwtcngtY29uZmlnID0gXFx1MDAzY1xcdTAwMjZtdGxfcnhfc2V0dXBcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dC0yLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQ6MzpUaGUgZGV2aWNlIGluaGVyaXRzIGFsbCB0aGUgcHJvcGVydGllcyBvZiB0aGUgZHdtYWMvc3RtbWFjIGRldmljZXNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2lwcTgwNngtZHdtYWMudHh0OjQ6ZGVzY3JpYmVkIGluIHRoZSBmaWxlIG5ldC9zdG1tYWMudHh0IHdpdGggdGhlIGZvbGxvd2luZyBjaGFuZ2VzLlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtNS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2lwcTgwNngtZHdtYWMudHh0PTY9UmVxdWlyZWQgcHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtOS1cXHQgICAgICBhbmQgYW55IGFwcGxpY2FibGUgbW9yZSBkZXRhaWxlZCB2ZXJzaW9uIG51bWJlclxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQ6MTA6XFx0ICAgICAgZGVzY3JpYmVkIGluIG5ldC9zdG1tYWMudHh0XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dC0xMS1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQ9MTg9RXhhbXBsZTpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtMzAtXFx0XFx0Y2xvY2tzID0gXFx1MDAzY1xcdTAwMjZnY2MgR01BQ19DT1JFMV9DTEtcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQ6MzE6XFx0XFx0Y2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2lwcTgwNngtZHdtYWMudHh0LTMyLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtMzMtXFx0XFx0cmVzZXRzID0gXFx1MDAzY1xcdTAwMjZnY2MgR01BQ19DT1JFMV9SRVNFVFxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9pcHE4MDZ4LWR3bWFjLnR4dDozNDpcXHRcXHRyZXNldC1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvaXBxODA2eC1kd21hYy50eHQtMzUtXFx0fTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYi1nbWFjLnlhbWw9MzQ9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYi1nbWFjLnlhbWwtNDgtICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYi1nbWFjLnlhbWw6NDk6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFiLWdtYWMueWFtbC01MC1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYi1nbWFjLnlhbWw9ODM9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWItZ21hYy55YW1sLTkyLSAgICAgICAgY2xvY2tzID0gXFx1MDAzY1xcdTAwMjZjbGtjIExTMVhfQ0xLSURfQUhCXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWItZ21hYy55YW1sOjkzOiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWItZ21hYy55YW1sLTk0LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbD0zMz1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbC00Ny0gICAgaXRlbXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbDo0ODogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2xvb25nc29uLGxzMWMtZW1hYy55YW1sLTQ5LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9sb29uZ3NvbixsczFjLWVtYWMueWFtbD04Mj1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYy1lbWFjLnlhbWwtOTEtICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNsa2MgTFMxWF9DTEtJRF9BSEJcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYy1lbWFjLnlhbWw6OTI6ICAgICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbG9vbmdzb24sbHMxYy1lbWFjLnlhbWwtOTMtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L21lZGlhdGVrLWR3bWFjLnlhbWw9MTI9ZGVzY3JpcHRpb246XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9tZWRpYXRlay1kd21hYy55YW1sOjEzOiAgVGhpcyBmaWxlIGRvY3VtZW50cyBwbGF0Zm9ybSBnbHVlIGxheWVyIGZvciBzdG1tYWMuXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9tZWRpYXRlay1kd21hYy55YW1sLTE0LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sPTI4PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWwtNDgtICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnV2b3RvbixtYTM1ZDEtZHdtYWMueWFtbDo0OTogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWwtNTAtICAgICAgLSBjb25zdDogcHRwX3JlZlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sLTY5LSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWw6NzA6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sLTcxLVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9udXZvdG9uLG1hMzVkMS1kd21hYy55YW1sPTEwOD1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnV2b3RvbixtYTM1ZDEtZHdtYWMueWFtbC0xMTgtICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNsayBFTUFDMF9HQVRFXFx1MDAzZSwgXFx1MDAzY1xcdTAwMjZjbGsgRVBMTF9ESVY4XFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWw6MTE5OiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIiwgXFxcInB0cF9yZWZcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnV2b3RvbixtYTM1ZDEtZHdtYWMueWFtbC0xMjAtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWwtMTIyLSAgICAgICAgcmVzZXRzID0gXFx1MDAzY1xcdTAwMjZzeXMgTUEzNUQxX1JFU0VUX0dNQUMwXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWw6MTIzOiAgICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L251dm90b24sbWEzNWQxLWR3bWFjLnlhbWwtMTI0LSAgICAgICAgc25wcyxtdWx0aWNhc3QtZmlsdGVyLWJpbnMgPSBcXHUwMDNjMFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxkd21hYy1pbXgueWFtbD0yOT1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsZHdtYWMtaW14LnlhbWwtNTItICAgICAgZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxkd21hYy1pbXgueWFtbDo1MzogICAgICAgIC0gc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsZHdtYWMtaW14LnlhbWwtNTQtICAgICAgICAtIHBjbGtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGR3bWFjLWlteC55YW1sPTkzPWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsZHdtYWMtaW14LnlhbWwtMTA4LSAgICAgICAgICAgICAgICAgICAgIFxcdTAwM2NcXHUwMDI2Y2xrIElNWDhNUF9DTEtfRU5FVF9RT1NcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGR3bWFjLWlteC55YW1sOjEwOTogICAgICAgICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwicGNsa1xcXCIsIFxcXCJwdHBfcmVmXFxcIiwgXFxcInR4XFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxkd21hYy1pbXgueWFtbC0xMTAtICAgICAgICAgICAgcGh5LW1vZGUgPSBcXFwicmdtaWlcXFwiO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sPTIyPXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtMzctICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGxwYzE4NTAtZHdtYWMueWFtbDozODogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtMzktXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtNTEtICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLGxwYzE4NTAtZHdtYWMueWFtbDo1MjogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtNTMtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWw9Njc9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtNzYtICAgICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNjdTEgQ0xLX0NQVV9FVEhFUk5FVFxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sOjc3OiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtNzgtICAgICAgICByZXNldHMgPSBcXHUwMDNjXFx1MDAyNnJndSAyMlxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsbHBjMTg1MC1kd21hYy55YW1sOjc5OiAgICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxscGMxODUwLWR3bWFjLnlhbWwtODAtICAgICAgICByeC1maWZvLWRlcHRoID0gXFx1MDAzYzI1NlxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxzMzItZHdtYWMueWFtbD0yMj1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsczMyLWR3bWFjLnlhbWwtNzgtICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLHMzMi1kd21hYy55YW1sOjc5OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLHMzMi1kd21hYy55YW1sLTgwLSAgICAgIC0gY29uc3Q6IHR4XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L254cCxzMzItZHdtYWMueWFtbD05Mz1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLHMzMi1kd21hYy55YW1sLTEzMi0gICAgICAgIGNsb2NrcyA9IFxcdTAwM2NcXHUwMDI2Y2xrcyAyNFxcdTAwM2UsIFxcdTAwM2NcXHUwMDI2Y2xrcyAxN1xcdTAwM2UsIFxcdTAwM2NcXHUwMDI2Y2xrcyAxNlxcdTAwM2UsIFxcdTAwM2NcXHUwMDI2Y2xrcyAxNVxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9ueHAsczMyLWR3bWFjLnlhbWw6MTMzOiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIiwgXFxcInR4XFxcIiwgXFxcInJ4XFxcIiwgXFxcInB0cF9yZWZcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvbnhwLHMzMi1kd21hYy55YW1sLTEzNC0gICAgICAgIHBoeS1tb2RlID0gXFxcInJnbWlpLWlkXFxcIjtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbD0yMD1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9xY29tLGV0aHFvcy55YW1sLTQxLSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWw6NDI6ICAgICAgLSBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9xY29tLGV0aHFvcy55YW1sLTQzLSAgICAgIC0gY29uc3Q6IHJnbWlpXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWwtNjMtICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbDo2NDogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWwtNjUtICAgICAgLSBjb25zdDogcGNsa1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9xY29tLGV0aHFvcy55YW1sPTk3PWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9xY29tLGV0aHFvcy55YW1sLTEwNi0gICAgICAgICAgICBcXHUwMDNjMHgwN2E5NjAwMCAweDEwMFxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9xY29tLGV0aHFvcy55YW1sOjEwNzogICAgICByZWctbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIiwgXFxcInJnbWlpXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3Fjb20sZXRocW9zLnlhbWw6MTA4OiAgICAgIGNsb2NrLW5hbWVzID0gXFxcInN0bW1hY2V0aFxcXCIsIFxcXCJwY2xrXFxcIiwgXFxcInB0cF9yZWZcXFwiLCBcXFwicmdtaWlcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcWNvbSxldGhxb3MueWFtbC0xMDktICAgICAgY2xvY2tzID0gXFx1MDAzY1xcdTAwMjZnY2MgR0NDX0VUSF9BWElfQ0xLXFx1MDAzZSxcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyem4xLWdtYWMueWFtbD01Mj1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyem4xLWdtYWMueWFtbC02My0gICAgICBpbnRlcnJ1cHQtbmFtZXMgPSBcXFwibWFjaXJxXFxcIiwgXFxcImV0aF93YWtlX2lycVxcXCIsIFxcXCJldGhfbHBpXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnpuMS1nbWFjLnlhbWw6NjQ6ICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnpuMS1nbWFjLnlhbWwtNjUtICAgICAgY2xvY2tzID0gXFx1MDAzY1xcdTAwMjZzeXNjdHJsIFI5QTA2RzAzMl9IQ0xLX0dNQUMwXFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sPTI2PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC03My0gICAgICAtIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sOjc0OiAgICAgICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC03NS0gICAgICAgICAgLSBjb25zdDogcGNsa1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtODctICAgICAgLSBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbDo4ODogICAgICAgICAgLSBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtODktICAgICAgICAgIC0gY29uc3Q6IHBjbGtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sPTI0OT1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sLTI2MC0gICAgICAgICAgICAgICAgICBcXHUwMDNjXFx1MDAyNmNwZyBDUEdfTU9EIDB4YmJcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sOjI2MTogICAgICAgIGNsb2NrLW5hbWVzID0gXFxcInN0bW1hY2V0aFxcXCIsIFxcXCJwY2xrXFxcIiwgXFxcInB0cF9yZWZcXFwiLFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sLTI2Mi0gICAgICAgICAgICAgICAgICAgICAgXFxcInR4XFxcIiwgXFxcInJ4XFxcIiwgXFxcInR4LTE4MFxcXCIsIFxcXCJyeC0xODBcXFwiO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWwtMjg1LSAgICAgICAgc25wcyxmb3JjZV90aHJlc2hfZG1hX21vZGU7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWw6Mjg2OiAgICAgICAgc25wcyxheGktY29uZmlnID0gXFx1MDAzY1xcdTAwMjZzdG1tYWNfYXhpX3NldHVwXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC0yODctICAgICAgICBzbnBzLG10bC1yeC1jb25maWcgPSBcXHUwMDNjXFx1MDAyNm10bF9yeF9zZXR1cFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JlbmVzYXMscnp2MmgtZ2JldGgueWFtbC0yOTItXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yZW5lc2FzLHJ6djJoLWdiZXRoLnlhbWw6MjkzOiAgICAgICAgc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcmVuZXNhcyxyenYyaC1nYmV0aC55YW1sLTI5NC0gICAgICAgICAgICBzbnBzLGxwaV9lbjtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbD0zNz1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sLTc4LSAgICAgIGVudW06XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sOjc5OiAgICAgICAgLSBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWwtODAtICAgICAgICAtIG1hY19jbGtfdHhcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbD0xNjQ9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWwtMTc3LSAgICAgICAgICAgICAgICAgXFx1MDAzY1xcdTAwMjZjcnUgQUNMS19HTUFDXFx1MDAzZSwgXFx1MDAzY1xcdTAwMjZjcnUgUENMS19HTUFDXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWw6MTc4OiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIixcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWwtMTc5LSAgICAgICAgICAgICAgICAgICAgICBcXFwibWFjX2Nsa19yeFxcXCIsIFxcXCJtYWNfY2xrX3R4XFxcIixcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd2MtcW9zLWV0aGVybmV0LnR4dD0zPVRoaXMgYmluZGluZyBpcyBkZXByZWNhdGVkLCBidXQgaXQgY29udGludWVzIHRvIGJlIHN1cHBvcnRlZCwgYnV0IG5ld1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd2MtcW9zLWV0aGVybmV0LnR4dDo0OmZlYXR1cmVzIHNob3VsZCBiZSBwcmVmZXJhYmx5IGFkZGVkIHRvIHRoZSBzdG1tYWMgYmluZGluZyBkb2N1bWVudC5cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdjLXFvcy1ldGhlcm5ldC50eHQtNS1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sPTQ2PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC0xNjgtICAgICAgZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDoxNjk6ICAgICAgICAtIHN0bW1hY2V0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTE3MC0gICAgICAgIC0gcGNsa1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtMTc1LSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDoxNzY6ICAgICAgLSBkZXNjcmlwdGlvbjogR01BQyBzdG1tYWNldGggcmVzZXRcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC0xNzctICAgICAgLSBkZXNjcmlwdGlvbjogQUhCIHJlc2V0XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC0xODEtICAgICAgLSBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDoxODI6ICAgICAgICAgIC0gZW51bTogW3N0bW1hY2V0aCwgYWhiXVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTE4My0gICAgICAtIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sOjE4NDogICAgICAgICAgLSBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtMTg1LSAgICAgICAgICAtIGNvbnN0OiBhaGJcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTU2MC1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDo1NjE6ICBzdG1tYWMtYXhpLWNvbmZpZzpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbC01NjItICAgIHR5cGU6IG9iamVjdFxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWw9NjU0PWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtNjY5LSAgICAgICAgY2xvY2tzID0gXFx1MDAzY1xcdTAwMjZjbG9ja1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWw6NjcwOiAgICAgICAgY2xvY2stbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDo2NzE6ICAgICAgICBzbnBzLGF4aS1jb25maWcgPSBcXHUwMDNjXFx1MDAyNnN0bW1hY19heGlfc2V0dXBcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTY3Mi0gICAgICAgIHNucHMsbXRsLXJ4LWNvbmZpZyA9IFxcdTAwM2NcXHUwMDI2bXRsX3J4X3NldHVwXFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc25wcyxkd21hYy55YW1sLTY3NC1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NucHMsZHdtYWMueWFtbDo2NzU6ICAgICAgICBzdG1tYWNfYXhpX3NldHVwOiBzdG1tYWMtYXhpLWNvbmZpZyB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zbnBzLGR3bWFjLnlhbWwtNjc2LSAgICAgICAgICAgIHNucHMsd3Jfb3NyX2xtdCA9IFxcdTAwM2MweGZcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sPTIxPXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWwtMzYtICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbDozNzogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWwtMzgtICAgICAgLSBjb25zdDogcHRwX3JlZlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTQ5LSAgcmVzZXQtbmFtZXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sOjUwOiAgICBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTUxLVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sPTY3PWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTc0LSAgICAgIGNsb2NrcyA9IFxcdTAwM2NcXHUwMDI2Y2xrIDM1XFx1MDAzZSwgXFx1MDAzY1xcdTAwMjZjbGsgMzZcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbDo3NTogICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwicHRwX3JlZlxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTc2LSAgICAgIGludGVycnVwdHMgPSBcXHUwMDNjMzEgSVJRX1RZUEVfTEVWRUxfSElHSFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWwtODAtICAgICAgcmVzZXRzID0gXFx1MDAzY1xcdTAwMjZyc3QgMTJcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbDo4MTogICAgICByZXNldC1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbC04Mi0gICAgICByeC1maWZvLWRlcHRoID0gXFx1MDAzYzgxOTJcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sY3YxODAwYi1kd21hYy55YW1sLTkwLSAgICAgIHNucHMsbXRsLXR4LWNvbmZpZyA9IFxcdTAwM2NcXHUwMDI2Z21hYzBfbXRsX3R4X3NldHVwXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWw6OTE6ICAgICAgc25wcyxheGktY29uZmlnID0gXFx1MDAzY1xcdTAwMjZnbWFjMF9zdG1tYWNfYXhpX3NldHVwXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWwtOTItXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxjdjE4MDBiLWR3bWFjLnlhbWwtMTA4LVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbDoxMDk6ICAgICAgZ21hYzBfc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLGN2MTgwMGItZHdtYWMueWFtbC0xMTAtICAgICAgICBzbnBzLGJsZW4gPSBcXHUwMDNjMTYgOCA0IDAgMCAwIDBcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWw9MjI9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTQyLSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDo0MzogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbC00NC0gICAgICAtIGNvbnN0OiBwdHBfcmVmXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbC01OC0gIHJlc2V0LW5hbWVzOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sOjU5OiAgICBjb25zdDogc3RtbWFjZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtNjAtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbD05NT1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTEwMi0gICAgICBjbG9ja3MgPSBcXHUwMDNjXFx1MDAyNmNsayAxNTFcXHUwMDNlLCBcXHUwMDNjXFx1MDAyNmNsayAxNTJcXHUwMDNlLCBcXHUwMDNjXFx1MDAyNmNsayAxNTRcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sOjEwMzogICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwicHRwX3JlZlxcXCIsIFxcXCJ0eFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtMTA0LSAgICAgIGludGVycnVwdC1wYXJlbnQgPSBcXHUwMDNjXFx1MDAyNmludGNcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zb3BoZ28sc2cyMDQ0LWR3bWFjLnlhbWwtMTA5LSAgICAgIHJlc2V0cyA9IFxcdTAwM2NcXHUwMDI2cnN0IDMwXFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDoxMTA6ICAgICAgcmVzZXQtbmFtZXMgPSBcXFwic3RtbWFjZXRoXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbC0xMTEtICAgICAgc25wcyxtdWx0aWNhc3QtZmlsdGVyLWJpbnMgPSBcXHUwMDNjMFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbC0xMTgtICAgICAgc25wcyxtdGwtdHgtY29uZmlnID0gXFx1MDAzY1xcdTAwMjZnbWFjMF9tdGxfdHhfc2V0dXBcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sOjExOTogICAgICBzbnBzLGF4aS1jb25maWcgPSBcXHUwMDNjXFx1MDAyNmdtYWMwX3N0bW1hY19heGlfc2V0dXBcXHUwMDNlO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTEyMC1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTE0NS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NvcGhnbyxzZzIwNDQtZHdtYWMueWFtbDoxNDY6ICAgICAgZ21hYzBfc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc29waGdvLHNnMjA0NC1kd21hYy55YW1sLTE0Ny0gICAgICAgIHNucHMsYmxlbiA9IFxcdTAwM2MxNiA4IDQgMCAwIDAgMFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWw9MjA9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbC0zNi0gICAgaXRlbXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sOjM3OiAgICAgIC0gY29uc3Q6IHN0bW1hY2V0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbC0zOC0gICAgICAtIGNvbnN0OiBwdHBfcmVmXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWwtNTYtICByZXNldC1uYW1lczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWw6NTc6ICAgIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWwtNTgtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWw9ODU9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWwtOTMtICAgICAgICAgICAgICAgXFx1MDAzY1xcdTAwMjZzeXNjb25fYXBtdSA2OVxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sOjk0OiAgICAgIGNsb2NrLW5hbWVzID0gXFxcInN0bW1hY2V0aFxcXCIsIFxcXCJwdHBfcmVmXFxcIiwgXFxcInR4XFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWwtOTUtICAgICAgaW50ZXJydXB0cyA9IFxcdTAwM2MxMzEgSVJRX1RZUEVfTEVWRUxfSElHSFxcdTAwM2UsIFxcdTAwM2MyNzYgSVJRX1RZUEVfTEVWRUxfSElHSFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3NwYWNlbWl0LGszLWR3bWFjLnlhbWwtOTktICAgICAgcmVzZXRzID0gXFx1MDAzY1xcdTAwMjZzeXNjb25fYXBtdSA2N1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zcGFjZW1pdCxrMy1kd21hYy55YW1sOjEwMDogICAgICByZXNldC1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3BhY2VtaXQsazMtZHdtYWMueWFtbC0xMDEtICAgICAgc3BhY2VtaXQsYXBtdSA9IFxcdTAwM2NcXHUwMDI2c3lzY29uX2FwbXUgMHgzODQgMHgzOGNcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbD0yND1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC01My0gICAgaXRlbXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbDo1NDogICAgICAtIGNvbnN0OiBzdG1tYWNldGhcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sLTU1LSAgICAgIC0gY29uc3Q6IHBjbGtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWw9ODg9YWxsT2Y6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sLTEzNC0gICAgICAgICAgcmVzZXQtbmFtZXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbDoxMzU6ICAgICAgICAgICAgY29uc3Q6IHN0bW1hY2V0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTM2LSAgICAgIGVsc2U6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sPTE1ND1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTYwLSAgICAgICAgICAgICAgICAgXFx1MDAzY1xcdTAwMjZjbGsgNlxcdTAwM2UsIFxcdTAwM2NcXHUwMDI2Y2xrIDExMVxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbDoxNjE6ICAgICAgICBjbG9jay1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwicGNsa1xcXCIsIFxcXCJwdHBfcmVmXFxcIixcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sLTE2Mi0gICAgICAgICAgICAgICAgICAgICAgXFxcInR4XFxcIiwgXFxcImd0eFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC0xNjMtICAgICAgICByZXNldHMgPSBcXHUwMDNjXFx1MDAyNnJzdCAxXFx1MDAzZSwgXFx1MDAzY1xcdTAwMjZyc3QgMlxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbDoxNjQ6ICAgICAgICByZXNldC1uYW1lcyA9IFxcXCJzdG1tYWNldGhcXFwiLCBcXFwiYWhiXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sLTE2NS0gICAgICAgIGludGVycnVwdHMgPSBcXHUwMDNjN1xcdTAwM2UsIFxcdTAwM2M2XFx1MDAzZSwgXFx1MDAzYzVcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC0xNzUtICAgICAgICBzbnBzLGZvcmNlX3RocmVzaF9kbWFfbW9kZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3N0YXJmaXZlLGpoNzExMC1kd21hYy55YW1sOjE3NjogICAgICAgIHNucHMsYXhpLWNvbmZpZyA9IFxcdTAwM2NcXHUwMDI2c3RtbWFjX2F4aV9zZXR1cFxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9zdGFyZml2ZSxqaDcxMTAtZHdtYWMueWFtbC0xNzctICAgICAgICBzbnBzLGVuLXR4LWxwaS1jbG9ja2dhdGluZztcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTkyLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWw6MTkzOiAgICAgICAgc3RtbWFjX2F4aV9zZXR1cDogc3RtbWFjLWF4aS1jb25maWcge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvc3RhcmZpdmUsamg3MTEwLWR3bWFjLnlhbWwtMTk0LSAgICAgICAgICAgIHNucHMsbHBpX2VuO1xcblxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yOFQwMDo1NjowMC4yNjMxNjI2NzhaIiwiU2VxIjoxMywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzcxMzc1NDk1MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipJbnZlc3RpZ2F0aW5nIFN5emthbGxlcidzIENvdmVyYWdlIG9mIGBzdG1tYWNgKipcblxuT2theSwgbXkgaW5pdGlhbCBvYnNlcnZhdGlvbiBpcyB0aGF0IEknbSBzZWVpbmcgYHN0bW1hY2AgbWVudGlvbmVkIHdpdGhpbiBkZXZpY2UgdHJlZSBiaW5kaW5ncy4gVGhhdCBpbW1lZGlhdGVseSBtYWtlcyBtZSB0aGluayBvZiBpdHMgcHJldmFsZW5jZSBpbiB0aGUgQVJNIGFuZCBSSVNDLVYgU3lzdGVtLW9uLUNoaXBzIGxhbmRzY2FwZS4gSXQncyBhIGNvbW1vbiBFdGhlcm5ldCBNQUMgZHJpdmVyLCBzbyBpdHMgd2lkZXNwcmVhZCB1c2UgbWFrZXMgaXQgYW4gaW50ZXJlc3RpbmcgdGFyZ2V0LlxuXG5NeSBuZXh0IGxpbmUgb2YgdGhvdWdodDogaXMgc3l6a2FsbGVyIGFscmVhZHkgZnV6emluZyB0aGlzIHBhcnRpY3VsYXIgZHJpdmVyPyBUaGF0J3MgdGhlIGNydXggb2YgdGhlIG1hdHRlci4gTXkgZ29hbCBpcyB0byBkZXRlcm1pbmUgdGhlIGN1cnJlbnQgc3RhdGUgb2Ygc3l6a2FsbGVyJ3MgdGVzdGluZyBlZmZvcnRzIGFnYWluc3QgaXQuXG5cblRoZXJlZm9yZSwgbXkgaW1tZWRpYXRlIGFjdGlvbiBpcyB0byBzZWFyY2ggZm9yIGFueSBleGlzdGluZyBzeXpib3QgcmVwb3J0cyByZWxhdGVkIHRvIGBzdG1tYWNgLiBUaGlzIHdpbGwgZ2l2ZSBtZSBhIHF1aWNrIHVuZGVyc3RhbmRpbmcgb2Ygd2hldGhlciBpdCdzIGFscmVhZHkgb24gc3l6a2FsbGVyJ3MgcmFkYXIsIHdoZXRoZXIgaXQncyB5aWVsZGluZyBhbnkgaW50ZXJlc3RpbmcgY3Jhc2hlcyBvciBidWdzLCBhbmQgaWYgbm90LCB3aGVyZSBJIG1pZ2h0IG5lZWQgdG8gZm9jdXMgbXkgb3duIGZ1enppbmcgZWZmb3J0cy4gSSBuZWVkIHRoYXQgYmFzZWxpbmUgaW5mb3JtYXRpb24uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjMyMTI4LCJPdXRwdXRUb2tlbnMiOjIxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NTgsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTY6MDMuOTc2OTIwMzE4WiIsIlNlcSI6MTQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMTEzNDYwMTc1LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJzeXpib3QuKnN0bW1hY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTY6MDcuMDkwMzg1NzczWiIsIlNlcSI6MTUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI4ODc4MDY2MzAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBzdW1tYXJ5LCBmcmFtZWQgYXMgbXkgaW50ZXJuYWwgdGhvdWdodCBwcm9jZXNzOlxuXG4qKlN5emJvdCBSZXBvcnQgQ2hlY2sgZm9yIGR3bWFjKipcblxuQWxyaWdodCwgdGltZSB0byBnZXQgc3RhcnRlZC4gTXkgaW5pdGlhbCBmb2N1cyBpcyBnb2luZyB0byBiZSBvbiB0aGUgYGR3bWFjYCBkcml2ZXIuIFNwZWNpZmljYWxseSwgSSBuZWVkIHRvIGNoZWNrIGZvciBhbnkgcmVjZW50IHN5emJvdCByZXBvcnRzIHJlbGF0ZWQgdG8gaXQuIFRoYXQncyBhbHdheXMgYSBnb29kIHN0YXJ0aW5nIHBvaW50IHRvIGlkZW50aWZ5IGFueSBwb3RlbnRpYWwgbmV3IHJlZ3Jlc3Npb25zIG9yIGx1cmtpbmcgYnVncyB0aGF0IG1pZ2h0IG5lZWQgYXR0ZW50aW9uLiBBIHF1aWNrIHNjYW4gb2Ygc3l6Ym90J3MgZGF0YWJhc2UgZm9yIGBkd21hY2AgcmVwb3J0cyB3aWxsIGdpdmUgbWUgYSBnb29kIGJhc2VsaW5lLiBJJ20gZXhwZWN0aW5nIHRoaXMgdG8gZWl0aGVyIGJlIGEgcXVpY2sgeWVzL25vLCBpZiBzb21ldGhpbmcgb2J2aW91cyBwb3BzIHVwLCBvciB3aWxsIHJlcXVpcmUgYSBkZWVwZXIgZGl2ZSBpZiB0aGVyZSBhcmUgcmVwb3J0cy4gTGV0J3Mgc2VlIHdoYXQgdGhlIGF1dG9tYXRlZCBzeXN0ZW1zIGhhdmUgZm91bmQgZm9yIG1lIVxuXG5cbiIsIklucHV0VG9rZW5zIjozMjQyNiwiT3V0cHV0VG9rZW5zIjoyMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU2OjA5Ljk3ODE5NjQyM1oiLCJTZXEiOjE2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzYzODQ3NDMyMiwiRXJyb3IiOiJubyBtYXRjaGVzIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwic3l6Ym90Lipkd21hY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTY6MTMuNjE2Njg0NDI1WiIsIlNlcSI6MTcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI5MDE0ODk1MzksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSB0aG91Z2h0IHByb2Nlc3MsIHN1bW1hcml6ZWQgYXMgeW91IHJlcXVlc3RlZDpcblxuKipDaGVja2luZyBmb3IgUGh5bGluayBTeXpib3QgUmVwb3J0cyoqXG5cbk9rYXksIHRpbWUgdG8gc2VlIHdoYXQncyBicmV3aW5nIGluIHRoZSB3b3JsZCBvZiBgcGh5bGlua2AgYW5kIHN5emJvdC4gSSBuZWVkIHRvIHF1aWNrbHkgc2NhbiBmb3IgYW55IHJlY2VudCByZXBvcnRzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IHN1YnN5c3RlbS4gVGhpcyBpcyBhIGNydWNpYWwgZmlyc3Qgc3RlcCBpbiBteSB3b3JrZmxvdy4gU3l6Ym90IGlzIGludmFsdWFibGUgZm9yIGlkZW50aWZ5aW5nIHJlZ3Jlc3Npb25zIGFuZCBpc3N1ZXMgYmVmb3JlIHRoZXkgYmVjb21lIHdpZGVzcHJlYWQuIEkgbmVlZCB0byBxdWlja2x5IGFzc2VzcyBpZiB0aGVyZSBhcmUgYW55IG5ldywgcG90ZW50aWFsbHkgY3JpdGljYWwsIGZhaWx1cmVzIHBvcHBpbmcgdXAuIFRoZSBzdGF0dXMgb2YgdGhpcyBzdWJzeXN0ZW0gaXMgaW1wb3J0YW50IGZvciBzdGFiaWxpdHksIGVzcGVjaWFsbHkgYXMgbW9yZSBhZHZhbmNlZCBuZXR3b3JraW5nIHNvbHV0aW9ucyBhcmUgYnVpbHQgb24gaXQuIEkgbmVlZCB0byBrbm93IHdoZXJlIEkgc2hvdWxkIHByaW9yaXRpemUgbXkgZWZmb3J0cy4gTGV0J3MgZ2V0IHRvIGl0LlxuXG5cbiIsIklucHV0VG9rZW5zIjozMjYzMywiT3V0cHV0VG9rZW5zIjoyMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU2OjE2LjUxODE3Njc2NVoiLCJTZXEiOjE4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzA3OTM4NjEwNiwiRXJyb3IiOiJubyBtYXRjaGVzIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwic3l6Ym90LipwaHlsaW5rXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcImVycm9yXCI6IFwibm8gbWF0Y2hlc1wiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yOFQwMDo1NjoxOS41OTc1NzExNVoiLCJTZXEiOjE5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMDMzMTA0NDMzMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgU3l6a2FsbGVyJ3MgUG90ZW50aWFsIGZvciBUZXN0aW5nIGEgUEhZIExvb3BiYWNrIFBhdGNoKipcblxuT2theSwgZmlyc3QgdGhpbmdzIGZpcnN0LCB0aGUgY29tbWl0IGF1dGhvciBpcyBgc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VgLiAgVGhhdCdzIG15IHN0YXJ0aW5nIHBvaW50LiBUaGlzIHBhdGNoIHdhcyB0ZXN0ZWQgYnkgc3l6a2FsbGVyLiAgQnV0LCBJIGhhdmUgdG8gYXNrIG15c2VsZiwgaXMgdGhlIGNvZGUgYWN0dWFsbHkgYmVpbmcgaGl0IGJ5IHRoZSBmdXp6ZXI/XG5cblRoZSBwYXRjaCBhZGRzIGBwaHlsaW5rX3Bjc19sb29wYmFja2AgYW5kIGBkd21hY19pbnRlZ3JhdGVkX3Bjc19sb29wYmFja2AuIE15IGltbWVkaWF0ZSBjb25jZXJuIGlzIHdoZXRoZXIgc3l6a2FsbGVyICpjYW4qIGV2ZW4gcmVhY2ggdGhpcyBjb2RlIHBhdGguIElmIHRoZSBgc3RtbWFjYCBkcml2ZXIsIHdoaWNoIHNlZW1zIHJlbGF0ZWQsIGlzbid0IHJlYWNoYWJsZSwgdGhlbiB0aGlzIGlzIGFsbCBgV29ydGhGdXp6aW5nPWZhbHNlYC5cblxuTm93LCBJIHNlZW0gdG8gcmVtZW1iZXIgYHN0bW1hY2AgaGFzIGEgUENJIGRyaXZlci4gVGhlIHF1ZXN0aW9uIHRoZW4gYmVjb21lcywgZG9lcyBzeXprYWxsZXIgaGF2ZSBhIHdheSB0byBwcm9iZSBpdD8gRG9lcyBpdCBoYXZlIHNvbWUgYHN5el9wY2lfc2V0dXBgIGNhbGwgSSdtIG1pc3Npbmc/IE5vcGUuIEFoLCB3YWl0LCBpc24ndCB0aGVyZSBzb21ldGhpbmcgYWJvdXQgZnV6emluZyBQQ0kgZGV2aWNlcz8gWWVzISBPaywgZ29vZC5cblxuVGhlIG5leHQgc3RlcCBpcyB0byBjaGVjayBpZiBgc3RtbWFjX3BjaWAgaXMgY29tcGlsZWQgaW50byBzeXprYWxsZXIncyBkZWZhdWx0IGNvbmZpZ3VyYXRpb24uIEkgY2FuJ3QgbG9vayBhdCBzeXprYWxsZXIncyBjb25maWcgZGlyZWN0bHksIGJ1dCBJIGNhbiBjaGVjayBmb3IgcmVhY2hhYmlsaXR5LlxuXG5JZiBgc3RtbWFjX3BjaWAgKmlzKiBwcm9iZWQsIGl0J2xsIGNhbGwgYHN0bW1hY19wY2lfcHJvYmVgLCB3aGljaCBjYWxscyBgc3RtbWFjX2R2cl9wcm9iZWAuICBBbmQgdGhlbiwgaWYgdGhlIHVzZXIgcnVucyBgZXRodG9vbCAtdGAsIGl0IHdpbGwgY2FsbCBgc3RtbWFjX3NlbGZ0ZXN0X3J1bmAsIHdoaWNoIGNhbGxzIGBzdG1tYWNfdGVzdF9waHlfbG9vcGJhY2tgLiBJZiBubyBleHRlcm5hbCBQSFkgaXMgcHJlc2VudCwgaXQgd2lsbCBjYWxsIGBwaHlsaW5rX3Bjc19sb29wYmFjayhzdG1tYWNfc2VsZnRlc3RfZ2V0X3Bjcyhwcml2KSwgdHJ1ZSlgLiAgVGhpcyBsZWFkcyB0byBgcGNzLVx1MDAzZW9wcy1cdTAwM2VwY3NfbG9vcGJhY2socGNzLCBlbmFibGUpYCwgd2hpY2ggaXMgYGR3bWFjX2ludGVncmF0ZWRfcGNzX2xvb3BiYWNrYC4gIFNvLCB0aGUgY3JpdGljYWwgcXVlc3Rpb24gaXM6IGlzIGl0IHBvc3NpYmxlIHRvIHJlYWNoIHRoZSBgc3RtbWFjX3Rlc3RfcGh5X2xvb3BiYWNrYCAqd2l0aG91dCogcGh5c2ljYWwgaGFyZHdhcmU/XG5cbkknbSB0aGlua2luZywgaWYgc3l6a2FsbGVyIGNhbiBpbmplY3QgYSBQQ0kgZGV2aWNlIHdpdGggdGhlIHZlbmRvciBJRCBgUENJX0RFVklDRV9JRF9TVE1NQUNfU1RNTUFDYCAoMHgxMTA4KSwgdGhlIGRyaXZlciAqc2hvdWxkKiBwcm9iZS4gQnV0IGhlcmUncyB0aGUga2lja2VyOiBUaGUgZHJpdmVyIGRvZXMgTU1JTyByZWFkcyBhbmQgd3JpdGVzLlxuXG5Mb29raW5nIGF0IGBzdG1tYWNfcGNpX3Byb2JlYCwgZm9yIGV4YW1wbGU6XG5gYGBjXG5wY2ltX2lvbWFwX3JlZ2lvbnMocGRldiwgQklUKDApLCBwY2lfbmFtZShwZGV2KSlcbnBsYXQtXHUwMDNlYnNwX3ByaXYgPSBwZGV2O1xuc3RtbWFjX2R2cl9wcm9iZShcdTAwMjZwZGV2LVx1MDAzZWRldiwgcGxhdCwgXHUwMDI2cmVzKTtcbmBgYFxuXG5BbmQgaW4gYHN0bW1hY19kdnJfcHJvYmVgOlxuYGBgY1xucHJpdi1cdTAwM2Vpb2FkZHIgPSByZXMtXHUwMDNlYWRkcjtcbmBgYFxuXG5UaGlzIHJlYWRzIGZyb20gYHByaXYtXHUwMDNlaW9hZGRyYC4gSWYgdGhhdCBNTUlPIG1lbW9yeSBpcyBqdXN0IGR1bW15IGRhdGEgKGFsbCAwcywgYWxsIDFzKSwgdGhlIGRyaXZlciAqbWlnaHQqIGZhaWwgdG8gcHJvYmUsIG9yIGl0IG1pZ2h0IHN1Y2NlZWQgaWYgaXQncyBub3Qgc3VwZXIgc3RyaWN0IGFib3V0IHRoZSByZWFkIHZhbHVlcy5cblxuSGFuZyBvbuKApiAgYHN0bW1hY19kdnJfcHJvYmVgICphbHNvKiBjYWxscyBgc3RtbWFjX2h3X3NldHVwYCwgYW5kICp0aGF0KiByZWFkcyB0aGUgTUFDIHZlcnNpb246XG5cbmBgYGNcbnByaXYtXHUwMDNlc3lub3BzeXNfaWQgPSBzdG1tYWNfZ2V0X21hY192ZXJzaW9uKHByaXYsIHByaXYtXHUwMDNlaW9hZGRyKTtcbmBgYFxuXG5JZiBpdCByZWFkcyAwIG9yIDB4ZmZmZmZmZmYsIGl0IG1pZ2h0IGZhaWwgdG8gY29ycmVjdGx5IGlkZW50aWZ5IHRoZSBNQUMgYW5kIHJldHVybiBhbiBlcnJvci4gTm93LCBsZXQncyBsb29rIGF0IGBzdG1tYWNfZ2V0X21hY192ZXJzaW9uYCB0byBzZWUuLi5cblxuXG4iLCJJbnB1dFRva2VucyI6MzI4MjcsIk91dHB1dFRva2VucyI6MjMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3MDksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTY6MjkuOTI4NjE4NjJaIiwiU2VxIjoyMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMwMDAwNzM2NDcsIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInN0bW1hY19nZXRfbWFjX3ZlcnNpb25cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiZXJyb3JcIjogXCJubyBtYXRjaGVzXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU2OjMyLjkyODcwNDIyN1oiLCJTZXEiOjIxLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MjEwNDM5Njk4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aG9zZSB0aG91Z2h0cyBmcm9tIGEgZmlyc3QtcGVyc29uLCBleHBlcnQgcGVyc3BlY3RpdmUsIGFpbWluZyBmb3IgYSBmdWxzb21lIHJlbmRlcmluZzpcblxuKipJbnRlcm5hbCBJbnZlc3RpZ2F0aW9uIC0gUXVlcnkgRm9ybXVsYXRpb24qKlxuXG5BbHJpZ2h0LCB0aW1lIHRvIGdldCB0byB3b3JrLiBGaXJzdCB0aGluZydzIGZpcnN0OiB3aGF0J3MgdGhlIG1vc3QgbGlrZWx5IGF2ZW51ZSB0byB1bmNvdmVyIHRoZSBpbmZvcm1hdGlvbiBJIG5lZWQ/IEknbSB0aGlua2luZyBJJ2xsIHN0YXJ0IHdpdGggdGhlIG1vc3Qgc3BlY2lmaWMgaWRlbnRpZmllcnMgdGhhdCBtaWdodCBiZSBhdmFpbGFibGUgdG8gbWUuIEkgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyB0byB0cmFjayBkb3duIHRoaXMgY3J1Y2lhbCBkYXRhLiBMZXQgbWUgYmVnaW4gYnkgc2VhcmNoaW5nIGZvciBzb21lIHBvdGVudGlhbCBrZXlzLiBJJ2xsIGZvY3VzIG9uIHRlcm1zIHJlbGF0ZWQgdG8gdGhlIHN5c3RlbSBpbiBxdWVzdGlvbiwgcGVyaGFwcyBJIGNhbiB1c2UgYG1hY192ZXJzaW9uYCB0byBzdGFydC4gVGhhdCBzaG91bGQgcHJvdmlkZSBzb21lIGluZm9ybWF0aW9uIHRvIGFsbG93IG1lIHRvIHRyYWNrIGl0IGRvd24uIElmIHRoYXQgZG9lc24ndCB5aWVsZCBhbnl0aGluZyBpbW1lZGlhdGVseSBwcm9taXNpbmcsIEknbGwgbmVlZCB0byBicm9hZGVuIG15IHNlYXJjaCBhbmQgdHJ5IHNvbWV0aGluZyBtb3JlIGdlbmVyYWwsIGJ1dCBzdGlsbCByZWxldmFudC4gUGVyaGFwcyBgc3lub3BzeXNfaWRgIHdvdWxkIGJlIG1vcmUgdW5pdmVyc2FsLiBJJ2xsIHRyeSB0aGF0IGlmIHRoZSBmaXJzdCBhcHByb2FjaCBoaXRzIGEgZGVhZCBlbmQuIE9rYXksIGxldCdzIHNlZSB3aGF0IHRoZXNlIHF1ZXJpZXMgdHVybiB1cCBhbmQgSSBjYW4gZGV0ZXJtaW5lIHdoYXQgc3RlcHMgSSBuZWVkIHRvIHRha2UgdG8gZ2FpbiB0aGUgaW5mb3JtYXRpb24uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM0MzcxLCJPdXRwdXRUb2tlbnMiOjE5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTgsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTY6MzcuMTM5MTQ3MjM1WiIsIlNlcSI6MjIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNjk5NDM4NDg1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInN5bm9wc3lzX2lkXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM9MzA2PXN0YXRpYyBpbnQgbG9vbmdzb25fZHdtYWNfc2V0dXAodm9pZCAqYXByaXYsIHN0cnVjdCBtYWNfZGV2aWNlX2luZm8gKm1hYylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtMzI4LVxcdGlmIChsZC1cXHUwMDNlbXVsdGljaGFuKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYzozMjk6XFx0XFx0cHJpdi1cXHUwMDNlc3lub3BzeXNfaWQgPSBEV01BQ19DT1JFXzNfNzA7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy0zMzAtXFx0XFx0KmRtYSA9IGR3bWFjMTAwMF9kbWFfb3BzO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuOGkuYz0xMDQzPXN0YXRpYyBpbnQgc3VuOGlfZHdtYWNfc2V0dXAodm9pZCAqcHByaXYsIHN0cnVjdCBtYWNfZGV2aWNlX2luZm8gKm1hYylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmMtMTA3MS1cXHQvKiBTeW5vcHN5cyBJZCBpcyBub3QgYXZhaWxhYmxlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuOGkuYzoxMDcyOlxcdHByaXYtXFx1MDAzZXN5bm9wc3lzX2lkID0gMDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44aS5jLTEwNzMtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd3hnbWFjMl9kbWEuYz0zNTI9c3RhdGljIGludCBkd3hnbWFjMl9nZXRfaHdfZmVhdHVyZSh2b2lkIF9faW9tZW0gKmlvYWRkcixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3eGdtYWMyX2RtYS5jLTM4Mi1cXHRkbWFfY2FwLVxcdTAwM2VtYnBzXzEwMDAgPSAoaHdfY2FwIFxcdTAwMjYgWEdNQUNfSFdGRUFUX0dNSUlTRUwpIFxcdTAwM2VcXHUwMDNlIDE7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJfZG1hLmM6MzgzOlxcdGlmIChkbWFfY2FwLVxcdTAwM2VtYnBzXzEwMDAgXFx1MDAyNlxcdTAwMjYgcHJpdi1cXHUwMDNlc3lub3BzeXNfaWQgXFx1MDAzZT0gRFdYR01BQ19DT1JFXzJfMjApXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJfZG1hLmMtMzg0LVxcdFxcdGRtYV9jYXAtXFx1MDAzZW1icHNfMTBfMTAwID0gMTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYz02OT1zdGF0aWMgaW50IHN0bW1hY19kd21hYzFfcXVpcmtzKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy03Ni1cXHRcXHQvKiBHTUFDIG9sZGVyIHRoYW4gMy41MCBoYXMgbm8gZXh0ZW5kZWQgZGVzY3JpcHRvcnMgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmM6Nzc6XFx0XFx0aWYgKHByaXYtXFx1MDAzZXN5bm9wc3lzX2lkIFxcdTAwM2U9IERXTUFDX0NPUkVfM181MCkge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy03OC1cXHRcXHRcXHRkZXZfaW5mbyhwcml2LVxcdTAwM2VkZXZpY2UsIFxcXCJFbmFibGVkIGV4dGVuZGVkIGRlc2NyaXB0b3JzXFxcXG5cXFwiKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYz0yOTQ9c3RtbWFjX2h3aWZfZmluZChlbnVtIGR3bWFjX2NvcmVfdHlwZSBjb3JlX3R5cGUsIHU4IHNucHN2ZXIsIHU4IGRldl9pZClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy0zMDMtXFx0XFx0XFx0Y29udGludWU7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jOjMwNDpcXHRcXHQvKiBVc2Ugc3lub3BzeXNfaWQgdmFyIGJlY2F1c2Ugc29tZSBzZXR1cHMgY2FuIG92ZXJyaWRlIHRoaXMgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmMtMzA1LVxcdFxcdGlmIChzbnBzdmVyIFxcdTAwM2MgZW50cnktXFx1MDAzZW1pbl9pZClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYz0zMTc9aW50IHN0bW1hY19od2lmX2luaXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jLTMyOC1cXHQvKiBTYXZlIElEIGZvciBsYXRlciB1c2UgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmM6MzI5OlxcdHByaXYtXFx1MDAzZXN5bm9wc3lzX2lkID0gdmVyc2lvbi5zbnBzdmVyO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy0zMzAtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9od2lmLmMtMzU5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYzozNjA6XFx0LyogVXNlIHN5bm9wc3lzX2lkIHZhciBiZWNhdXNlIHNvbWUgc2V0dXBzIGNhbiBvdmVycmlkZSB0aGlzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvaHdpZi5jOjM2MTpcXHRlbnRyeSA9IHN0bW1hY19od2lmX2ZpbmQoY29yZV90eXBlLCBwcml2LVxcdTAwM2VzeW5vcHN5c19pZCwgdmVyc2lvbi5kZXZfaWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2h3aWYuYy0zNjItXFx0aWYgKCFlbnRyeSkge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmg9MjYxPXN0cnVjdCBzdG1tYWNfcHJpdiB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWMuaC0zMDYtXFx0aW50IGh3X2NhcF9zdXBwb3J0O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hYy5oOjMwNzpcXHRpbnQgc3lub3BzeXNfaWQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmgtMzA4LVxcdHUzMiBtc2dfZW5hYmxlO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2V0aHRvb2wuYz01MTU9c3RhdGljIHZvaWQgc3RtbWFjX2dldF9ldGh0b29sX3N0YXRzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfZXRodG9vbC5jLTU1NS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfZXRodG9vbC5jOjU1NjpcXHRcXHRpZiAocHJpdi1cXHUwMDNlc3lub3BzeXNfaWQgXFx1MDAzZT0gRFdNQUNfQ09SRV8zXzUwKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19ldGh0b29sLmMtNTU3LVxcdFxcdFxcdHN0bW1hY19tYWNfZGVidWcocHJpdiwgcHJpdi1cXHUwMDNlaW9hZGRyLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYz02NDI9c3RhdGljIGludCBzdG1tYWNfaHd0c3RhbXBfc2V0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc1Ny1cXHRcXHRcXHRzbmFwX3R5cGVfc2VsID0gUFRQX1RDUl9TTkFQVFlQU0VMXzE7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYzo3NTg6XFx0XFx0XFx0aWYgKHByaXYtXFx1MDAzZXN5bm9wc3lzX2lkIFxcdTAwM2MgRFdNQUNfQ09SRV80XzEwKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmMtNzU5LVxcdFxcdFxcdFxcdHRzX2V2ZW50X2VuID0gUFRQX1RDUl9UU0VWTlRFTkE7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jPTY1NTU9c3RhdGljIGludCBzdG1tYWNfZG1hX2NhcF9zaG93KHN0cnVjdCBzZXFfZmlsZSAqc2VxLCB2b2lkICp2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYy02NjIyLVxcdFxcdCAgIChwcml2LVxcdTAwM2VkbWFfY2FwLnR4X2NvZSkgPyBcXFwiWVxcXCIgOiBcXFwiTlxcXCIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM6NjYyMzpcXHRpZiAocHJpdi1cXHUwMDNlc3lub3BzeXNfaWQgXFx1MDAzZT0gRFdNQUNfQ09SRV80XzAwIHx8XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYy02NjI0LVxcdCAgICBwcml2LVxcdTAwM2VwbGF0LVxcdTAwM2Vjb3JlX3R5cGUgPT0gRFdNQUNfQ09SRV9YR01BQykge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYz03Mzk3PXN0YXRpYyBpbnQgc3RtbWFjX2h3X2luaXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYy03NDUyLVxcdFxcdGRldl9pbmZvKHByaXYtXFx1MDAzZWRldmljZSwgXFxcIlJYIENoZWNrc3VtIE9mZmxvYWQgRW5naW5lIHN1cHBvcnRlZFxcXFxuXFxcIik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYzo3NDUzOlxcdFxcdGlmIChwcml2LVxcdTAwM2VzeW5vcHN5c19pZCBcXHUwMDNjIERXTUFDX0NPUkVfNF8wMClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc0NTQtXFx0XFx0XFx0ZGV2X2luZm8ocHJpdi1cXHUwMDNlZGV2aWNlLCBcXFwiQ09FIFR5cGUgJWRcXFxcblxcXCIsIHByaXYtXFx1MDAzZWh3LVxcdTAwM2VyeF9jc3VtKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmMtNzUxOC1cXHQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jOjc1MTk6XFx0aWYgKChwcml2LVxcdTAwM2VzeW5vcHN5c19pZCBcXHUwMDNlPSBEV01BQ19DT1JFXzNfNTAgfHxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc1MjAtXFx0ICAgICBwcml2LVxcdTAwM2VwbGF0LVxcdTAwM2Vjb3JlX3R5cGUgPT0gRFdNQUNfQ09SRV9YR01BQykgXFx1MDAyNlxcdTAwMjZcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM9Nzc4Nj1zdGF0aWMgaW50IF9fc3RtbWFjX2R2cl9wcm9iZShzdHJ1Y3QgZGV2aWNlICpkZXZpY2UsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc4OTUtXFx0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYzo3ODk2OlxcdGlmIChwcml2LVxcdTAwM2VzeW5vcHN5c19pZCBcXHUwMDNjIERXTUFDX0NPUkVfNV8yMClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc4OTctXFx0XFx0cHJpdi1cXHUwMDNlcGxhdC1cXHUwMDNlZG1hX2NmZy1cXHUwMDNlZGNoZSA9IGZhbHNlO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYy03OTk1LVxcdFxcdG5kZXYtXFx1MDAzZW1heF9tdHUgPSBYR01BQ19KVU1CT19MRU47XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYzo3OTk2OlxcdGVsc2UgaWYgKHByaXYtXFx1MDAzZXBsYXQtXFx1MDAzZWVuaF9kZXNjIHx8IHByaXYtXFx1MDAzZXN5bm9wc3lzX2lkIFxcdTAwM2U9IERXTUFDX0NPUkVfNF8wMClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jLTc5OTctXFx0XFx0bmRldi1cXHUwMDNlbWF4X210dSA9IEpVTUJPX0xFTjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM9NzI9c3RhdGljIHZvaWQgc3RtbWFjX3hnbWFjMl9jMjJfZm9ybWF0KHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiwgaW50IHBoeWFkZHIsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jLTc2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM6Nzc6XFx0aWYgKHByaXYtXFx1MDAzZXN5bm9wc3lzX2lkIFxcdTAwM2MgRFdYR01BQ19DT1JFXzJfMjApIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jLTc4LVxcdFxcdC8qIFVudGlsIHZlciAyLjIwIFhHTUFDIGRvZXMgbm90IHN1cHBvcnQgQzIyIGFkZHIgXFx1MDAzZT0gNC4gVGhvc2VcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM9MTMyPXN0YXRpYyBpbnQgc3RtbWFjX3hnbWFjMl9tZGlvX3JlYWRfYzIyKHN0cnVjdCBtaWlfYnVzICpidXMsIGludCBwaHlhZGRyLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYy0xMzgtXFx0LyogVW50aWwgdmVyIDIuMjAgWEdNQUMgZG9lcyBub3Qgc3VwcG9ydCBDMjIgYWRkciBcXHUwMDNlPSA0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYzoxMzk6XFx0aWYgKHByaXYtXFx1MDAzZXN5bm9wc3lzX2lkIFxcdTAwM2MgRFdYR01BQ19DT1JFXzJfMjAgXFx1MDAyNlxcdTAwMjZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jLTE0MC1cXHQgICAgcGh5YWRkciBcXHUwMDNlIE1JSV9YR01BQ19NQVhfQzIyQUREUilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM9MTk1PXN0YXRpYyBpbnQgc3RtbWFjX3hnbWFjMl9tZGlvX3dyaXRlX2MyMihzdHJ1Y3QgbWlpX2J1cyAqYnVzLCBpbnQgcGh5YWRkcixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmMtMjAxLVxcdC8qIFVudGlsIHZlciAyLjIwIFhHTUFDIGRvZXMgbm90IHN1cHBvcnQgQzIyIGFkZHIgXFx1MDAzZT0gNCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmM6MjAyOlxcdGlmIChwcml2LVxcdTAwM2VzeW5vcHN5c19pZCBcXHUwMDNjIERXWEdNQUNfQ09SRV8yXzIwIFxcdTAwMjZcXHUwMDI2XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYy0yMDMtXFx0ICAgIHBoeWFkZHIgXFx1MDAzZSBNSUlfWEdNQUNfTUFYX0MyMkFERFIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jPTU5NT1pbnQgc3RtbWFjX21kaW9fcmVnaXN0ZXIoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jLTYyNy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jOjYyODpcXHRcXHRpZiAocHJpdi1cXHUwMDNlc3lub3BzeXNfaWQgXFx1MDAzYyBEV1hHTUFDX0NPUkVfMl8yMCkge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmMtNjI5LVxcdFxcdFxcdC8qIFJpZ2h0IG5vdyBvbmx5IEMyMiBwaHlzIGFyZSBzdXBwb3J0ZWQgKi9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjhUMDA6NTY6MzkuODM4NTk0NzJaIiwiU2VxIjoyMywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjAyNzkxMjE3OTksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqVW5yZWFjaGFibGUgQ29kZSBpbiBTdGFuZGFyZCBRRU1VL1N5emthbGxlciBFbnZpcm9ubWVudHMqKlxuXG5Pa2F5LCBzbyBoZXJlJ3MgdGhlIGJyZWFrZG93biBvZiBteSB0aGlua2luZy4gVGhlIGNvZGUgaW4gcXVlc3Rpb24gdG91Y2hlcyBgc3RtbWFjYCwgc3BlY2lmaWNhbGx5LCB0aGUgU3lub3BzeXMgRGVzaWduV2FyZSBNQUMgZHJpdmVyLiBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcywgXCJXYWl0IGEgbWludXRlLCBgc3RtbWFjYCByZWxpZXMgb24gaGFyZHdhcmUgaW50ZXJhY3Rpb24sIHJpZ2h0P1wiIEl0IGNhbGxzIGBzdG1tYWNfaHdfc2V0dXBgIGFuZCByZWFkcyB0aGUgYHByaXYtXHUwMDNlc3lub3BzeXNfaWRgLiBJZiB0aGF0IHJlYWQgZmFpbHMgKHJldHVybnMgMCksIHRoZSBwcm9iZSBsaWtlbHkgZmFpbHMuIE15IGluaXRpYWwgaG9wZSB3YXMgbWF5YmUgc3l6a2FsbGVyIGNvdWxkIGluamVjdCBzb21lIGR1bW15IE1NSU8gcmVzcG9uc2VzLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgUENJIE1NSU8gaW5qZWN0b3IsIHNvIHRoYXQncyBhIGRlYWQgZW5kLlxuXG5OZXh0LCBJIG5lZWQgdG8gZmlndXJlIG91dCBob3cgc3l6a2FsbGVyICpjb3VsZCogdHJpZ2dlciB0aGlzIGNvZGUuIElzIGl0IGJlY2F1c2UgdGhlIGRyaXZlciBpcyBjb21waWxlZCBpbiBhbmQgd2UncmUgZnV6emluZyBhIG5ldGxpbmsgb3IgZXRodG9vbCBpbnRlcmZhY2UgdG8gYW4gYWxyZWFkeSBleGlzdGluZyBkZXZpY2U/IE9yIGlzIHRoZSBjb2RlIGFjdHVhbGx5IHVucmVhY2hhYmxlPyBNeSB1bmRlcnN0YW5kaW5nIG9mIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlzIHRoYXQgaXQncyBmb3IgY29kZSBwYXRocyBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLCBldmVuIHdpdGggc29mdHdhcmUgZW11bGF0ZWQgaGFyZHdhcmUuIFNvLCBJIG5lZWQgdG8gY29uZmlybSBpZiBgc3RtbWFjYCBmaXRzIHRoYXQgZGVzY3JpcHRpb24uXG5cbmBzdG1tYWNgIGlzIGEgdmVuZG9yLXNwZWNpZmljIE1BQyBkcml2ZXIgKFN5bm9wc3lzIERlc2lnbldhcmUgTUFDKSB0aGF0IG5lZWRzICpwaHlzaWNhbCogaGFyZHdhcmUgb3Igc3BlY2lhbCBTb0MgZW11bGF0aW9uLiBEb2VzIFFFTVUgZW11bGF0ZSB0aGlzPyBZZXMsIGBody9uZXQvZGVzaWdud2FyZS5jYCBpcyBRRU1VJ3MgZW11bGF0aW9uLiBCdXQgaXMgaXQgYSBQQ0kgZGV2aWNlLCBvciBhIHBsYXRmb3JtIGRldmljZT8gSW4gUUVNVSwgYGRlc2lnbndhcmUuY2AgaXMgYSAqcGxhdGZvcm0qIGRldmljZS4gSXQncyB1c2VkIGluIEFSTSBtYWNoaW5lcyBsaWtlIGBtY2lteDZ1bC1ldmtgLCBgbWNpbXg3ZC1zYWJyZWAsIGBzaWZpdmVfdWAsIGBhbGx3aW5uZXItaDNgLCBhbmQgYGFsbHdpbm5lci1yNDBgLiBEb2VzIHN5emthbGxlciB1c2UgYW55IG9mIHRoZXNlIG1hY2hpbmVzPyBObywgc3l6a2FsbGVyIHVzdWFsbHkgcnVucyBvbiBgeDg2XzY0YCBvciBBUk02NCwgYnV0IG9uIGBhcm02NGAsIGl0IHVzZXMgdGhlIGB2aXJ0YCBtYWNoaW5lIHdoaWNoIHVzZXMgYHZpcnRpby1uZXRgLiBUaGVyZWZvcmUsIGBzdG1tYWNgICppc24ndCogcmVhY2hhYmxlIGluIHN0YW5kYXJkIHN5emthbGxlciBRRU1VIGVudmlyb25tZW50cy5cblxuV2hhdCBhYm91dCBgc3RtbWFjX3BjaWA/IFFFTVUgKmRvZXNuJ3QqIGhhdmUgYSBQQ0kgd3JhcHBlciBmb3IgYGRlc2lnbndhcmVgLiBgc3RtbWFjX3BjaWAgd2lsbCAqbmV2ZXIqIHByb2JlIGluIFFFTVUuIFRoaXMgbWVhbnMgdGhlIGBzdG1tYWNgIGRyaXZlciBpcyAqaW1wb3NzaWJsZSogdG8gcmVhY2ggaW4gc3l6a2FsbGVyJ3MgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLlxuXG5Db3VsZCBpdCBiZSByZWFjaGVkIGFub3RoZXIgd2F5PyBgdmhjaWAgb3IgYG1hYzgwMjExX2h3c2ltYCBhcmUgVVNCIGFuZCBXaUZpLiBgbmV0ZGV2c2ltYCBpcyBhIHNvZnR3YXJlIHNpbXVsYXRvciwgYnV0IGl0IGRvZXNuJ3Qgc2ltdWxhdGUgYHN0bW1hY2AuIFNvLCBhZ2FpbiwgdW5yZWFjaGFibGUuXG5cbkxldCdzIHJldmlzaXQgdGhlIHByb21wdDogXCJDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXCIgRG9lcyBgc3RtbWFjYCBmaXQ/IFllcywgaXQncyBhIGhhcmR3YXJlLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlciB0aGF0IG5lZWRzIGhhcmR3YXJlLCBvciBzcGVjaWZpYyBTb0MgZW11bGF0aW9uIG5vdCB1c2VkIGluIHN0YW5kYXJkIFFFTVUgKGxpa2UgYHZpcnRgIG9yIGBwY2ApLlxuXG5JIHNlYXJjaGVkIGZvciBzeXprYWxsZXIgY292ZXJhZ2UgYW5kIGZvdW5kICpub3RoaW5nKiByZWxhdGVkIHRvIGBzdG1tYWNgLiBUaGVyZSBpcyBgc3RtbWFjX3NlbGZ0ZXN0cy5jYCB0cmlnZ2VyZWQgYnkgYGV0aHRvb2xgLCBidXQgaWYgdGhlIGRldmljZSBpc24ndCBwcmVzZW50LCBgZXRodG9vbGAgY2FuJ3QgYmUgY2FsbGVkLiBTbyB0aGF0IHNlbGZ0ZXN0IGNvZGUgaXMgdW5yZWFjaGFibGUuIFdoYXQgYWJvdXQgdGhlIG5ldyBgcGh5bGluay5jYCBjaGFuZ2VzPyBJdCBhZGRzIGBwaHlsaW5rX3Bjc19sb29wYmFja2Agd2hpY2ggaXMgZXhwb3J0ZWQuIElzIGl0IHVzZWQgYnkgYW55dGhpbmcgb3RoZXIgdGhhbiBgc3RtbWFjX3NlbGZ0ZXN0cy5jYD8gTm8sIGdyZXAgc2F5cyBpdCdzIG9ubHkgY2FsbGVkIGluIGBzdG1tYWNfc2VsZnRlc3RzLmNgLiBTbyB0aGUgbmV3IHBoeWxpbmsgQVBJIGlzICphbHNvKiB1bnJlYWNoYWJsZSBiZWNhdXNlIGl0cyBvbmx5IGNhbGxlciBpcy5cblxuTGV0J3MgcmV2aWV3IHRoZSBwYXRjaCBhZ2FpbjpcbmBgYGNcbitpbnQgcGh5bGlua19wY3NfbG9vcGJhY2soc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIGJvb2wgZW5hYmxlKVxuK3tcbitcdGlmIChwY3MgXHUwMDI2XHUwMDI2IHBjcy1cdTAwM2VvcHMtXHUwMDNlcGNzX2xvb3BiYWNrKVxuK1x0XHRyZXR1cm4gcGNzLVx1MDAzZW9wcy1cdTAwM2VwY3NfbG9vcGJhY2socGNzLCBlbmFibGUpO1xuK1xuK1x0cmV0dXJuIC1FT1BOT1RTVVBQO1xuK31cbitFWFBPUlRfU1lNQk9MX0dQTChwaHlsaW5rX3Bjc19sb29wYmFjayk7XG5gYGBcbkl0J3MgYSBnZW5lcmljIEFQSSwgYnV0ICpjdXJyZW50bHkqIG9ubHkgdXNlZCBieSBgc3RtbWFjYC4gU2luY2UgYHN0bW1hY2AgaXMgdW5yZWFjaGFibGUsIHRoaXMgQVBJIGlzIHVucmVhY2hhYmxlLlxuXG5JcyB0aGVyZSBhbnkgY2hhbmNlIGBzdG1tYWNgIGlzIGVtdWxhdGVkIGJ5IFFFTVUncyBQQ0k/IExldCdzIGNoZWNrIHRoZSBRRU1VIHNvdXJjZS4gSW4gdGhlXG5cbiIsIklucHV0VG9rZW5zIjozODAxMywiT3V0cHV0VG9rZW5zIjoxNDksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjc2LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI4VDAwOjU3OjAwLjExNzcyMTU2OVoiLCJTZXEiOjI0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM2MzAwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgYSBQQ1MgbG9vcGJhY2sgZmVhdHVyZSB0byB0aGUgc3RtbWFjIChTeW5vcHN5cyBEZXNpZ25XYXJlIE1BQykgZHJpdmVyIGFuZCBhIGNvcnJlc3BvbmRpbmcgQVBJIGluIHBoeWxpbmsuIFRoZSBzdG1tYWMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIHBoeXNpY2FsIGhhcmR3YXJlIG9yIFNvQyBlbXVsYXRpb24gKGUuZy4sIEludGVsIFF1YXJrL0Vsa2hhcnQgTGFrZSBmb3IgUENJLCBvciBzcGVjaWZpYyBBUk0gU29DcyBmb3IgcGxhdGZvcm0pLiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgKGxpa2UgJ3BjJyBvciAndmlydCcgbWFjaGluZXMpIHVzZWQgYnkgc3l6a2FsbGVyLiBXaXRob3V0IHRoZSBoYXJkd2FyZSwgdGhlIGRyaXZlciB3aWxsIGZhaWwgdG8gcHJvYmUsIG1ha2luZyB0aGUgc2VsZnRlc3QgYW5kIHRoZSBuZXcgcGh5bGluayBsb29wYmFjayBjb2RlIHVucmVhY2hhYmxlLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIFBDUyBsb29wYmFjayBmZWF0dXJlIHRvIHRoZSBzdG1tYWMgKFN5bm9wc3lzIERlc2lnbldhcmUgTUFDKSBkcml2ZXIgYW5kIGEgY29ycmVzcG9uZGluZyBBUEkgaW4gcGh5bGluay4gVGhlIHN0bW1hYyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgcGh5c2ljYWwgaGFyZHdhcmUgb3IgU29DIGVtdWxhdGlvbiAoZS5nLiwgSW50ZWwgUXVhcmsvRWxraGFydCBMYWtlIGZvciBQQ0ksIG9yIHNwZWNpZmljIEFSTSBTb0NzIGZvciBwbGF0Zm9ybSkuIFRoZXNlIGRldmljZXMgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cyAobGlrZSAncGMnIG9yICd2aXJ0JyBtYWNoaW5lcykgdXNlZCBieSBzeXprYWxsZXIuIFdpdGhvdXQgdGhlIGhhcmR3YXJlLCB0aGUgZHJpdmVyIHdpbGwgZmFpbCB0byBwcm9iZSwgbWFraW5nIHRoZSBzZWxmdGVzdCBhbmQgdGhlIG5ldyBwaHlsaW5rIGxvb3BiYWNrIGNvZGUgdW5yZWFjaGFibGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow8zkcd[1] Phase: Running StartedAt: 2026-07-28 00:57:22 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8zkcd[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-07-28 00:57:22 +0000 UTC FinishedAt: 2026-07-28 00:57:28 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:code,Default:nil,Value:*1,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*1,}