Name: series-workflowp6hlz Phase: Failed StartedAt: 2026-08-20 09:10:48 +0000 UTC FinishedAt: 2026-08-20 09:26:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowp6hlz[0] Phase: Succeeded StartedAt: 2026-08-20 09:10:48 +0000 UTC FinishedAt: 2026-08-20 09:26:27 +0000 UTC Input: nil Output: nil --------- Name: series-workflowp6hlz[0].run-triage Phase: Succeeded StartedAt: 2026-08-20 09:10:48 +0000 UTC FinishedAt: 2026-08-20 09:26:27 +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+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI1PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGFpcm9oYV9ucHUgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBwbGF0Zm9ybSBkcml2ZXIgZm9yIHRoZSBBaXJvaGEgRU43NTgxIFNvQy4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgaGFyZHdhcmUgYW5kIGRldmljZSB0cmVlIGNvbmZpZ3VyYXRpb25zIChpbmNsdWRpbmcgcmVzZXJ2ZWQgbWVtb3J5IHJlZ2lvbnMgYW5kIGZpcm13YXJlKSB0aGF0IGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgdXNlZCBmb3IgZnV6emluZy4gVGhlcmVmb3JlLCB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyBhcmUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI1PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgMGRiNjgwZmEzOGJjY2VkMWMzYTI5Y2E4NWJmMjZhNGY2ZTQ2NmZhM1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUaHUgQXVnIDIwIDA5OjI1OjIzIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jXG5pbmRleCBiNjc5YmVkOTUyZGUzLi4zNDE2ZjkyMWY5NjE5IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuY1xuQEAgLTUsNiAmIzQzOzUsNyBAQFxuICAqL1xuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RldmNvcmVkdW1wLmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZG1hLW1hcHBpbmcuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2Zpcm13YXJlLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L29mX25ldC5oXHUwMDNlXG5AQCAtMTYwLDE1ICYjNDM7MTYxLDIxIEBAIHN0cnVjdCB3bGFuX21ib3hfZGF0YSB7XG4gXHRERUNMQVJFX0ZMRVhfQVJSQVkodTgsIGQpO1xuIH07XG4gXG4mIzQzO3N0YXRpYyBzaXplX3QgYWlyb2hhX25wdV9tYm94X3NpemUoc2l6ZV90IGxlbilcbiYjNDM7e1xuJiM0MztcdHJldHVybiBBTElHTihsZW4sIGRtYV9nZXRfY2FjaGVfYWxpZ25tZW50KCkpO1xuJiM0Mzt9XG4mIzQzO1xuIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9zZW5kX21zZyhzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LCBpbnQgZnVuY19pZCxcbiBcdFx0XHQgICAgICAgdm9pZCAqcCwgaW50IHNpemUpXG4ge1xuIFx0dTE2IGNvcmUgPSAwOyAvKiBGSVhNRSAqL1xuIFx0dTMyIHZhbCwgb2Zmc2V0ID0gY29yZSBcdTAwM2NcdTAwM2MgNDtcbiBcdGRtYV9hZGRyX3QgZG1hX2FkZHI7XG4mIzQzO1x0c2l6ZV90IG1hcF9sZW4gPSBhaXJvaGFfbnB1X21ib3hfc2l6ZShzaXplKTtcbiBcdGludCByZXQ7XG4gXG4tXHRkbWFfYWRkciA9IGRtYV9tYXBfc2luZ2xlKG5wdS1cdTAwM2VkZXYsIHAsIHNpemUsIERNQV9CSURJUkVDVElPTkFMKTtcbiYjNDM7XHRkbWFfYWRkciA9IGRtYV9tYXBfc2luZ2xlKG5wdS1cdTAwM2VkZXYsIHAsIG1hcF9sZW4sIERNQV9CSURJUkVDVElPTkFMKTtcbiBcdHJldCA9IGRtYV9tYXBwaW5nX2Vycm9yKG5wdS1cdTAwM2VkZXYsIGRtYV9hZGRyKTtcbiBcdGlmIChyZXQpXG4gXHRcdHJldHVybiByZXQ7XG5AQCAtMTkxLDcgJiM0MzsxOTgsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfc2VuZF9tc2coc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwgaW50IGZ1bmNfaWQsXG4gXG4gXHRzcGluX3VubG9ja19iaChcdTAwMjZucHUtXHUwMDNlY29yZXNbY29yZV0ubG9jayk7XG4gXG4tXHRkbWFfdW5tYXBfc2luZ2xlKG5wdS1cdTAwM2VkZXYsIGRtYV9hZGRyLCBzaXplLCBETUFfQklESVJFQ1RJT05BTCk7XG4mIzQzO1x0ZG1hX3VubWFwX3NpbmdsZShucHUtXHUwMDNlZGV2LCBkbWFfYWRkciwgbWFwX2xlbiwgRE1BX0JJRElSRUNUSU9OQUwpO1xuIFxuIFx0cmV0dXJuIHJldDtcbiB9XG5AQCAtMzMzLDcgJiM0MzszNDAsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfcHBlX2luaXQoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSlcbiBcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcbiBcdGludCBlcnI7XG4gXG4tXHRwcGVfZGF0YSA9IGt6YWxsb2Nfb2JqKCpwcGVfZGF0YSk7XG4mIzQzO1x0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7XG4gXHRpZiAoIXBwZV9kYXRhKVxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcbkBAIC0zNTQsNyAmIzQzOzM2MSw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9wcGVfZGVpbml0KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUpXG4gXHRzdHJ1Y3QgcHBlX21ib3hfZGF0YSAqcHBlX2RhdGE7XG4gXHRpbnQgZXJyO1xuIFxuLVx0cHBlX2RhdGEgPSBremFsbG9jX29iaigqcHBlX2RhdGEpO1xuJiM0MztcdHBwZV9kYXRhID0ga3phbGxvYyhhaXJvaGFfbnB1X21ib3hfc2l6ZShzaXplb2YoKnBwZV9kYXRhKSksIEdGUF9LRVJORUwpO1xuIFx0aWYgKCFwcGVfZGF0YSlcbiBcdFx0cmV0dXJuIC1FTk9NRU07XG4gXG5AQCAtMzc1LDcgJiM0MzszODIsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfcHBlX2ZsdXNoX3NyYW1fZW50cmllcyhzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LFxuIFx0c3RydWN0IHBwZV9tYm94X2RhdGEgKnBwZV9kYXRhO1xuIFx0aW50IGVycjtcbiBcbi1cdHBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTtcbiYjNDM7XHRwcGVfZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUoc2l6ZW9mKCpwcGVfZGF0YSkpLCBHRlBfS0VSTkVMKTtcbiBcdGlmICghcHBlX2RhdGEpXG4gXHRcdHJldHVybiAtRU5PTUVNO1xuIFxuQEAgLTM5OSw3ICYjNDM7NDA2LDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X2ZvZV9jb21taXRfZW50cnkoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSxcbiBcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcbiBcdGludCBlcnI7XG4gXG4tXHRwcGVfZGF0YSA9IGt6YWxsb2Nfb2JqKCpwcGVfZGF0YSwgR0ZQX0FUT01JQyk7XG4mIzQzO1x0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0FUT01JQyk7XG4gXHRpZiAoIXBwZV9kYXRhKVxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcbkBAIC00MzQsNyAmIzQzOzQ0MSw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9wcGVfc3RhdHNfc2V0dXAoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSxcbiBcdGludCBlcnIsIHNpemUgPSBudW1fc3RhdHNfZW50cmllcyAqIHNpemVvZigqbnB1LVx1MDAzZXN0YXRzKTtcbiBcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcbiBcbi1cdHBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhLCBHRlBfQVRPTUlDKTtcbiYjNDM7XHRwcGVfZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUoc2l6ZW9mKCpwcGVfZGF0YSkpLCBHRlBfQVRPTUlDKTtcbiBcdGlmICghcHBlX2RhdGEpXG4gXHRcdHJldHVybiAtRU5PTUVNO1xuIFxuQEAgLTQ2Niw3ICYjNDM7NDczLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3dsYW5fbXNnX3NlbmQoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwgaW50IGlmaW5kZXgsXG4gXHRpbnQgZXJyLCBsZW47XG4gXG4gXHRsZW4gPSBzaXplb2YoKndsYW5fZGF0YSkgJiM0MzsgZGF0YV9sZW47XG4tXHR3bGFuX2RhdGEgPSBremFsbG9jKGxlbiwgZ2ZwKTtcbiYjNDM7XHR3bGFuX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKGxlbiksIGdmcCk7XG4gXHRpZiAoIXdsYW5fZGF0YSlcbiBcdFx0cmV0dXJuIC1FTk9NRU07XG4gXG5AQCAtNDg5LDcgJiM0Mzs0OTYsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfd2xhbl9tc2dfZ2V0KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUsIGludCBpZmluZGV4LFxuIFx0aW50IGVyciwgbGVuO1xuIFxuIFx0bGVuID0gc2l6ZW9mKCp3bGFuX2RhdGEpICYjNDM7IGRhdGFfbGVuO1xuLVx0d2xhbl9kYXRhID0ga3phbGxvYyhsZW4sIGdmcCk7XG4mIzQzO1x0d2xhbl9kYXRhID0ga3phbGxvYyhhaXJvaGFfbnB1X21ib3hfc2l6ZShsZW4pLCBnZnApO1xuIFx0aWYgKCF3bGFuX2RhdGEpXG4gXHRcdHJldHVybiAtRU5PTUVNO1xuIFxuQEAgLTc2Niw3ICYjNDM7NzczLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXG4gXHRcdG5wdS1cdTAwM2VpcnFzW2ldID0gaXJxO1xuIFx0fVxuIFxuLVx0ZXJyID0gZG1hX3NldF9jb2hlcmVudF9tYXNrKGRldiwgRE1BX0JJVF9NQVNLKDMyKSk7XG4mIzQzO1x0ZXJyID0gZG1hX3NldF9tYXNrX2FuZF9jb2hlcmVudChkZXYsIERNQV9CSVRfTUFTSygzMikpO1xuIFx0aWYgKGVycilcbiBcdFx0cmV0dXJuIGVycjtcbiBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yMCAwOToyNTwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGFpcm9oYV9ucHUgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBwbGF0Zm9ybSBkcml2ZXIgZm9yIHRoZSBBaXJvaGEgRU43NTgxIFNvQy4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgaGFyZHdhcmUgYW5kIGRldmljZSB0cmVlIGNvbmZpZ3VyYXRpb25zIChpbmNsdWRpbmcgcmVzZXJ2ZWQgbWVtb3J5IHJlZ2lvbnMgYW5kIGZpcm13YXJlKSB0aGF0IGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgdXNlZCBmb3IgZnV6emluZy4gVGhlcmVmb3JlLCB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyBhcmUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgMGRiNjgwZmEzOGJjY2VkMWMzYTI5Y2E4NWJmMjZhNGY2ZTQ2NmZhMwpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBUaHUgQXVnIDIwIDA5OjI1OjIzIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMKaW5kZXggYjY3OWJlZDk1MmRlMy4uMzQxNmY5MjFmOTYxOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jCkBAIC01LDYgJiM0Mzs1LDcgQEAKICAqLwogCiAjaW5jbHVkZSAmbHQ7bGludXgvZGV2Y29yZWR1bXAuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZG1hLW1hcHBpbmcuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9maXJtd2FyZS5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3BsYXRmb3JtX2RldmljZS5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L29mX25ldC5oJmd0OwpAQCAtMTYwLDE1ICYjNDM7MTYxLDIxIEBAIHN0cnVjdCB3bGFuX21ib3hfZGF0YSB7CiAJREVDTEFSRV9GTEVYX0FSUkFZKHU4LCBkKTsKIH07CiAKJiM0MztzdGF0aWMgc2l6ZV90IGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVfdCBsZW4pCiYjNDM7ewomIzQzOwlyZXR1cm4gQUxJR04obGVuLCBkbWFfZ2V0X2NhY2hlX2FsaWdubWVudCgpKTsKJiM0Mzt9CiYjNDM7CiBzdGF0aWMgaW50IGFpcm9oYV9ucHVfc2VuZF9tc2coc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwgaW50IGZ1bmNfaWQsCiAJCQkgICAgICAgdm9pZCAqcCwgaW50IHNpemUpCiB7CiAJdTE2IGNvcmUgPSAwOyAvKiBGSVhNRSAqLwogCXUzMiB2YWwsIG9mZnNldCA9IGNvcmUgJmx0OyZsdDsgNDsKIAlkbWFfYWRkcl90IGRtYV9hZGRyOwomIzQzOwlzaXplX3QgbWFwX2xlbiA9IGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemUpOwogCWludCByZXQ7CiAKLQlkbWFfYWRkciA9IGRtYV9tYXBfc2luZ2xlKG5wdS0mZ3Q7ZGV2LCBwLCBzaXplLCBETUFfQklESVJFQ1RJT05BTCk7CiYjNDM7CWRtYV9hZGRyID0gZG1hX21hcF9zaW5nbGUobnB1LSZndDtkZXYsIHAsIG1hcF9sZW4sIERNQV9CSURJUkVDVElPTkFMKTsKIAlyZXQgPSBkbWFfbWFwcGluZ19lcnJvcihucHUtJmd0O2RldiwgZG1hX2FkZHIpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CkBAIC0xOTEsNyAmIzQzOzE5OCw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9zZW5kX21zZyhzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LCBpbnQgZnVuY19pZCwKIAogCXNwaW5fdW5sb2NrX2JoKCZhbXA7bnB1LSZndDtjb3Jlc1tjb3JlXS5sb2NrKTsKIAotCWRtYV91bm1hcF9zaW5nbGUobnB1LSZndDtkZXYsIGRtYV9hZGRyLCBzaXplLCBETUFfQklESVJFQ1RJT05BTCk7CiYjNDM7CWRtYV91bm1hcF9zaW5nbGUobnB1LSZndDtkZXYsIGRtYV9hZGRyLCBtYXBfbGVuLCBETUFfQklESVJFQ1RJT05BTCk7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtMzMzLDcgJiM0MzszNDAsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfcHBlX2luaXQoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSkKIAlzdHJ1Y3QgcHBlX21ib3hfZGF0YSAqcHBlX2RhdGE7CiAJaW50IGVycjsKIAotCXBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTsKJiM0MzsJcHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFwcGVfZGF0YSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTM1NCw3ICYjNDM7MzYxLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3BwZV9kZWluaXQoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSkKIAlzdHJ1Y3QgcHBlX21ib3hfZGF0YSAqcHBlX2RhdGE7CiAJaW50IGVycjsKIAotCXBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTsKJiM0MzsJcHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFwcGVfZGF0YSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTM3NSw3ICYjNDM7MzgyLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3BwZV9mbHVzaF9zcmFtX2VudHJpZXMoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwKIAlzdHJ1Y3QgcHBlX21ib3hfZGF0YSAqcHBlX2RhdGE7CiAJaW50IGVycjsKIAotCXBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTsKJiM0MzsJcHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFwcGVfZGF0YSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTM5OSw3ICYjNDM7NDA2LDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X2ZvZV9jb21taXRfZW50cnkoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwKIAlzdHJ1Y3QgcHBlX21ib3hfZGF0YSAqcHBlX2RhdGE7CiAJaW50IGVycjsKIAotCXBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhLCBHRlBfQVRPTUlDKTsKJiM0MzsJcHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0FUT01JQyk7CiAJaWYgKCFwcGVfZGF0YSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTQzNCw3ICYjNDM7NDQxLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3BwZV9zdGF0c19zZXR1cChzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LAogCWludCBlcnIsIHNpemUgPSBudW1fc3RhdHNfZW50cmllcyAqIHNpemVvZigqbnB1LSZndDtzdGF0cyk7CiAJc3RydWN0IHBwZV9tYm94X2RhdGEgKnBwZV9kYXRhOwogCi0JcHBlX2RhdGEgPSBremFsbG9jX29iaigqcHBlX2RhdGEsIEdGUF9BVE9NSUMpOwomIzQzOwlwcGVfZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUoc2l6ZW9mKCpwcGVfZGF0YSkpLCBHRlBfQVRPTUlDKTsKIAlpZiAoIXBwZV9kYXRhKQogCQlyZXR1cm4gLUVOT01FTTsKIApAQCAtNDY2LDcgJiM0Mzs0NzMsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfd2xhbl9tc2dfc2VuZChzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LCBpbnQgaWZpbmRleCwKIAlpbnQgZXJyLCBsZW47CiAKIAlsZW4gPSBzaXplb2YoKndsYW5fZGF0YSkgJiM0MzsgZGF0YV9sZW47Ci0Jd2xhbl9kYXRhID0ga3phbGxvYyhsZW4sIGdmcCk7CiYjNDM7CXdsYW5fZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUobGVuKSwgZ2ZwKTsKIAlpZiAoIXdsYW5fZGF0YSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTQ4OSw3ICYjNDM7NDk2LDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3dsYW5fbXNnX2dldChzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LCBpbnQgaWZpbmRleCwKIAlpbnQgZXJyLCBsZW47CiAKIAlsZW4gPSBzaXplb2YoKndsYW5fZGF0YSkgJiM0MzsgZGF0YV9sZW47Ci0Jd2xhbl9kYXRhID0ga3phbGxvYyhsZW4sIGdmcCk7CiYjNDM7CXdsYW5fZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUobGVuKSwgZ2ZwKTsKIAlpZiAoIXdsYW5fZGF0YSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTc2Niw3ICYjNDM7NzczLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCW5wdS0mZ3Q7aXJxc1tpXSA9IGlycTsKIAl9CiAKLQllcnIgPSBkbWFfc2V0X2NvaGVyZW50X21hc2soZGV2LCBETUFfQklUX01BU0soMzIpKTsKJiM0MzsJZXJyID0gZG1hX3NldF9tYXNrX2FuZF9jb2hlcmVudChkZXYsIERNQV9CSVRfTUFTSygzMikpOwogCWlmIChlcnIpCiAJCXJldHVybiBlcnI7CiAKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjAgMDk6MjU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzQ4NAoJCQkJCQkJb3V0cHV0OiAyMgoJCQkJCQkJdGhvdWdodHM6IDYwNwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBQYXRjaCB0byBhbiBBaXJvaGEgRXRoZXJuZXQgRHJpdmVyKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciB0aGUgYGFpcm9oYV9ucHUuY2AgZHJpdmVyLCBzcGVjaWZpY2FsbHkgYW4gQWlyb2hhIEV0aGVybmV0IGRyaXZlci4gSXQgc2VlbXMgdG8gYmUgY2xlYW5pbmcgdXAgc29tZSBETUEtcmVsYXRlZCBjb2RlLiBUaGV5JiMzOTtyZSBhbGlnbmluZyBgYWlyb2hhX25wdV9tYm94X3NpemVgIHRvIGBkbWFfZ2V0X2NhY2hlX2FsaWdubWVudCgpYCwgd2hpY2ggaXMgZ29vZCBwcmFjdGljZSBmb3IgY2FjaGUgY29oZXJlbmNlLiBUaGV5JiMzOTtyZSBhbHNvIHVwZGF0aW5nIGBkbWFfbWFwX3NpbmdsZWAgYW5kIGBkbWFfdW5tYXBfc2luZ2xlYCB0byB1c2UgYG1hcF9sZW5gIGluc3RlYWQgb2YgYHNpemVgLCBhbmQgdGhleSYjMzk7dmUgYWRqdXN0ZWQgdGhlIGBremFsbG9jYCBjYWxscyB0byBtYXRjaCB0aGUgbmV3IHNpemUuIFBsdXMsIGEgY2hhbmdlIHRvIGBkbWFfc2V0X2NvaGVyZW50X21hc2tgIGlzIG5vdyBgZG1hX3NldF9tYXNrX2FuZF9jb2hlcmVudGAuIEl0JiMzOTtzIGFsbCBzdGFuZGFyZCBETUEgc3R1ZmYsIGJ1dCBJIG5lZWQgdG8gZmlndXJlIG91dCB0aGUgaW1wbGljYXRpb25zIGZvciBmdXp6aW5nIHRoaXMuCgpUaGUgcXVlc3Rpb24gaXMsIGNhbiBJIHJlYWNoIHRoaXMgZHJpdmVyIHdpdGggc3RhbmRhcmQgUUVNVT8gSXQmIzM5O3MgYSBwbGF0Zm9ybSBkcml2ZXIsIGBhaXJvaGFfbnB1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpYC4gUGxhdGZvcm0gZHJpdmVycyBmb3Igc3BlY2lmaWMgU29DcyBhcmUgb2Z0ZW4gYSBwYWluIHRvIGdldCB3b3JraW5nIGluIHZhbmlsbGEgUUVNVS4gVGhleSB1c3VhbGx5IHJlcXVpcmUgaGFyZHdhcmUgb3Igc29tZSBzcGVjaWZpYyBlbXVsYXRpb24sIG9yIGF0IGxlYXN0IGEgZGV2aWNlIHRyZWUgb3ZlcmxheS4gSSBoYXZlIHRvIHNlZSBpZiB0aGlzIGlzIHBvc3NpYmxlLgoKSSYjMzk7bSB0aGlua2luZyBhYm91dCB0aGUgcHJvbXB0JiMzOTtzIGluc3RydWN0aW9uczogJiMzNDtSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zLi4uIHZlbmRvci1zcGVjaWZpYy4uLiBkcml2ZXJzIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VJiMzNDsuIFJpZ2h0LCB3aGF0IGFib3V0IFNvQy1zcGVjaWZpYyBwbGF0Zm9ybSBkcml2ZXJzPyAqSXMqIGBhaXJvaGFfbnB1YCBvbmUgb2YgdGhvc2U/IFllcywgY29uZmlybWVkLCBwbGF0Zm9ybSBkcml2ZXIuIFNvLCB0aGUgY3J1Y2lhbCBxdWVzdGlvbjogY2FuIHRoaXMgYmUgZnV6emVkPwoKU3l6a2FsbGVyIGNhbiBzb21ldGltZXMgaW5zdGFudGlhdGUgcGxhdGZvcm0gZHJpdmVycywgZXNwZWNpYWxseSBpZiB0aGV5IGNhbiBiZSBjcmVhdGVkIHZpYSBwc2V1ZG8tZGV2aWNlcywgb3IgYXJlIG1hdGNoZWQgYnkgYSBnZW5lcmljIHBsYXRmb3JtIGRldmljZSwgYnV0IFNvQy1zcGVjaWZpYyBvbmVzIGFyZSBhIGNoYWxsZW5nZSwgdW5sZXNzIHRoZXJlJiMzOTtzIGEgd2F5IHRvIGNyZWF0ZSB0aGUgcGxhdGZvcm0gZGV2aWNlLiBEb2VzIFN5emthbGxlciB1c2UgYHN5el9kZXZyZXNgIG9yIHNpbWlsYXI/IE5vLiBEb2VzIGl0IGNyZWF0ZSBwbGF0Zm9ybSBkZXZpY2VzIGJ5IHdyaXRpbmcgdG8gYC9zeXMvZGV2aWNlcy9wbGF0Zm9ybWA/IE5vLiBHZW5lcmFsbHksIGl0IGRvZXNuJiMzOTt0IGNyZWF0ZSBhcmJpdHJhcnkgZGV2aWNlcyB1bmxlc3MgdGhlcmUgaXMgYSBzeXpsYW5nIGRlc2NyaXB0aW9uLgoKQnV0IHdhaXQsIEkgc2VlbSB0byByZW1lbWJlciBzb21ldGhpbmcgYWJvdXQgc3l6a2FsbGVyIHN1cHBvcnRpbmcgcGxhdGZvcm0gZGV2aWNlcyBpZiB0aGV5JiMzOTtyZSBkZXNjcmliZWQgaW4gYHN5cy9saW51eC9kZXZfKi50eHRgIG9yIHNvbWV0aGluZyBzaW1pbGFyPyBJIG5lZWQgdG8gY2hlY2sgaWYgQWlyb2hhIGlzIGV2ZW4gc3VwcG9ydGVkIGJ5IHN5emthbGxlci4gVGhhdCYjMzk7cyB0aGUga2V5LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2Fpcm9oYSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0OyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgNzQ5MyBsaW5lcy5cblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cblxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEsZW43NTgxLWNoaXAtc2N1LnlhbWwtMy0tLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEsZW43NTgxLWNoaXAtc2N1LnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbD0xMj1kZXNjcmlwdGlvbjpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sOjEzOiAgVGhlIGFpcm9oYSBjaGlwLXNjdSBibG9jayBwcm92aWRlcyBhIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIGZvciBjbG9jayxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sLTE0LSAgaW8tbXV4aW5nIGFuZCBvdGhlciBmdW5jdGlvbmFsaXRpZXMgdXNlZCBieSBtdWx0aXBsZSBjb250cm9sbGVycyAoZS5nLiBjbG9jayxcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbD0xNz1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sLTIwLSAgICAgIC0gZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sOjIxOiAgICAgICAgICAtIGFpcm9oYSxlbjc1ODEtY2hpcC1zY3VcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sLTIyLSAgICAgIC0gY29uc3Q6IHN5c2NvblxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sPTMzPWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sLTM4LSAgICAgIHN5c2NvbkAxZmEyMDAwMCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbDozOTogICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDthaXJvaGEsZW43NTgxLWNoaXAtc2N1XCYjMzQ7LCBcJiMzNDtzeXNjb25cJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbC00MC0gICAgICAgIHJlZyA9IFx1MDAzYzB4MCAweDFmYTIwMDAwIDB4MCAweDM4OFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sLTMtLS0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9hcm0vYWlyb2hhLnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEueWFtbD0xNj1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLnlhbWwtMjItICAgICAgICAgIC0gZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLnlhbWw6MjM6ICAgICAgICAgICAgICAtIGFpcm9oYSxlbjc1MjMtZXZiXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sOjI0OiAgICAgICAgICAtIGNvbnN0OiBhaXJvaGEsZW43NTIzXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sLTI1LSAgICAgIC0gaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sLTI2LSAgICAgICAgICAtIGVudW06XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sOjI3OiAgICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLWV2YlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEueWFtbDoyODogICAgICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEueWFtbC0yOS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sPTI5PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtMzItICAgICAgLSBlbnVtOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw6MzM6ICAgICAgICAgIC0gYWlyb2hhLGVuNzUyMy1zY3VcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sOjM0OiAgICAgICAgICAtIGFpcm9oYSxlbjc1ODEtc2N1XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC0zNS0gICAgICAgICAgLSBlY29uZXQsZW43NTEyMjEtc2N1XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw9NTg9YWxsT2Y6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtNjEtICAgICAgICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw6NjI6ICAgICAgICAgIGNvbnN0OiBhaXJvaGEsZW43NTIzLXNjdVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtNjMtICAgIHRoZW46XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtNzEtICAgICAgICAgIGVudW06XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbDo3MjogICAgICAgICAgICAtIGFpcm9oYSxlbjc1ODEtc2N1XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC03My0gICAgICAgICAgICAtIGVjb25ldCxlbjc1MTIyMS1zY3Vcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbD04MT1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC04NC0gICAgc2N1OiBzeXN0ZW0tY29udHJvbGxlckAxZmEyMDAwMCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbDo4NTogICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzUyMy1zY3VcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC04Ni0gICAgICByZWcgPSBcdTAwM2MweDFmYTIwMDAwIDB4NDAwXHUwMDNlLFxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sLTk3LSAgICAgIHNjdWNsazogY2xvY2stY29udHJvbGxlckAxZmIwMDAwMCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbDo5ODogICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDthaXJvaGEsZW43NTgxLXNjdVwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sLTk5LSAgICAgICAgcmVnID0gXHUwMDNjMHgwIDB4MWZiMDAwMDAgMHgwIDB4OTcwXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sLTMtLS0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbCNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2NwdWZyZXEvYWlyb2hhLGVuNzU4MS1jcHVmcmVxLnlhbWw9MjY9cHJvcGVydGllczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sLTI3LSAgY29tcGF0aWJsZTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sOjI4OiAgICBjb25zdDogYWlyb2hhLGVuNzU4MS1jcHVmcmVxXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbC0yOS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbD00Nj1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbC00OC0gICAgcGVyZm9ybWFuY2UtZG9tYWluIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sOjQ5OiAgICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcVwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sLTUwLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sPTMwPXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2NyeXB0by9pbnNpZGUtc2VjdXJlLHNhZmV4Y2VsLWVpcDkzLnlhbWwtMzMtICAgICAgLSBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sOjM0OiAgICAgICAgICAtIGNvbnN0OiBhaXJvaGEsZW43NTgxLWVpcDkzXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3J5cHRvL2luc2lkZS1zZWN1cmUsc2FmZXhjZWwtZWlwOTMueWFtbC0zNS0gICAgICAgICAgLSBjb25zdDogaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5M2llc1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sPTU4PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sLTYyLSAgICBjcnlwdG9AMWUwMDQwMDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2NyeXB0by9pbnNpZGUtc2VjdXJlLHNhZmV4Y2VsLWVpcDkzLnlhbWw6NjM6ICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2Fpcm9oYSxlbjc1ODEtZWlwOTNcJiMzNDssIFwmIzM0O2luc2lkZS1zZWN1cmUsc2FmZXhjZWwtZWlwOTNpZXNcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3J5cHRvL2luc2lkZS1zZWN1cmUsc2FmZXhjZWwtZWlwOTMueWFtbC02NC0gICAgICByZWcgPSBcdTAwM2MweDFmYjcwMDAwIDB4MTAwMFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sPTE2PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWwtMjEtICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWw6MjI6ICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzUyMy1ncGlvXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbC0yMy1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbD00ND1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbC00Ni0gICAgZ3BpbzA6IGdwaW9AMWZiZjAyMDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWw6NDc6ICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzUyMy1ncGlvXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWwtNDgtICAgICAgICByZWcgPSBcdTAwM2MweDFmYmYwMjA0IDB4NFx1MDAzZSxcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbC01Ni0gICAgZ3BpbzE6IGdwaW9AMWZiZjAyNzAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWw6NTc6ICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzUyMy1ncGlvXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWwtNTgtICAgICAgICByZWcgPSBcdTAwM2MweDFmYmYwMjcwIDB4NFx1MDAzZSxcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sPTE3PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwtMTktICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw6MjA6ICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwtMjEtICAgICAgLSBjb25zdDogc3lzY29uXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwtMjgtICAgIHR5cGU6IG9iamVjdFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw6Mjk6ICAgICRyZWY6IC9zY2hlbWFzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTMwLSAgICBkZXNjcmlwdGlvbjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC0zNC0gICAgdHlwZTogb2JqZWN0XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbDozNTogICAgJHJlZjogL3NjaGVtYXMvcHdtL2Fpcm9oYSxlbjc1ODEtcHdtLnlhbWxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTM2LSAgICBkZXNjcmlwdGlvbjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbD00NT1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC00OS0gICAgc3lzdGVtLWNvbnRyb2xsZXJAMWZiZjAyMDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw6NTA6ICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGxcJiMzNDssIFwmIzM0O3N5c2NvblwmIzM0OywgXCYjMzQ7c2ltcGxlLW1mZFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTUxLSAgICAgIHJlZyA9IFx1MDAzYzB4MWZiZjAyMDAgMHhjMFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC01My0gICAgICBwaW5jdHJsIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sOjU0OiAgICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2Fpcm9oYSxlbjc1ODEtcGluY3RybFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTU1LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTg1LSAgICAgIHB3bSB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbDo4NjogICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDthaXJvaGEsZW43NTgxLXB3bVwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTg3LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvc3lzY29uLnlhbWw9MjU9c2VsZWN0OlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvc3lzY29uLnlhbWwtMjktICAgICAgICBlbnVtOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9zeXNjb24ueWFtbDozMDogICAgICAgICAgLSBhaXJvaGEsZW43NTgxLXBidXMtY3NyXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL3N5c2Nvbi55YW1sLTMxLSAgICAgICAgICAtIGFsLGFscGluZS1zeXNmYWJyaWMtc2VydmljZVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvc3lzY29uLnlhbWw9MTM4PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9zeXNjb24ueWFtbC0xNDItICAgICAgICAgIC0gZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvc3lzY29uLnlhbWw6MTQzOiAgICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLXBidXMtY3NyXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL3N5c2Nvbi55YW1sLTE0NC0gICAgICAgICAgICAgIC0gYWwsYWxwaW5lLXN5c2ZhYnJpYy1zZXJ2aWNlXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGFuNzU4My1tZGlvLnlhbWw9MjI9cHJvcGVydGllczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGFuNzU4My1tZGlvLnlhbWwtMjMtICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbDoyNDogICAgY29uc3Q6IGFpcm9oYSxhbjc1ODMtbWRpb1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbC0yNS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sPTQ2PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGFuNzU4My1tZGlvLnlhbWwtNTItICAgICAgICBtZGlvLWJ1c0BjOCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sOjUzOiAgICAgICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDthaXJvaGEsYW43NTgzLW1kaW9cJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sLTU0LSAgICAgICAgICAgIHJlZyA9IFx1MDAzYzB4YzhcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW44ODAxLnlhbWwtMy0tLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGFuODgwMS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9uZXQvYWlyb2hhLGFuODgwMS55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW44ODAxLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMy0tLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw9MTY9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMTgtICAgIGVudW06XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MTk6ICAgICAgLSBhaXJvaGEsZW43NTgxLWV0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjIwOiAgICAgIC0gYWlyb2hhLGFuNzU4My1ldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yMS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtNzgtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6Nzk6ICBhaXJvaGEsbnB1OlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTgwLSAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sPTg3PWFsbE9mOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC05My0gICAgICAgICAgICBlbnVtOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjk0OiAgICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLWV0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTk1LSAgICB0aGVuOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0xMDctICAgICAgICAgICAgZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDoxMDg6ICAgICAgICAgICAgICAtIGFpcm9oYSxhbjc1ODMtZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMTA5LSAgICB0aGVuOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbD0xMTc9cGF0dGVyblByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTEyNS0gICAgICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjEyNjogICAgICAgIGNvbnN0OiBhaXJvaGEsZXRoLW1hY1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTEyNy1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMTU4LSAgICAgICAgICAgICAgICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjE1OTogICAgICAgICAgICAgICAgICBjb25zdDogYWlyb2hhLGV0aC1wb3J0XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMTYwLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbD0xODI9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTE5Mi0gICAgICBldGg6IGV0aGVybmV0QDFmYjUwMDAwIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDoxOTM6ICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzU4MS1ldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMTk0LSAgICAgICAgcmVnID0gXHUwMDNjMCAweDFmYjUwMDAwIDAgMHgyNjAwXHUwMDNlLFxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yMjQtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MjI1OiAgICAgICAgYWlyb2hhLG5wdSA9IFx1MDAzY1x1MDAyNm5wdVx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yMjYtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTIzMC0gICAgICAgIGV0aGVybmV0QDEge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjIzMTogICAgICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2Fpcm9oYSxldGgtbWFjXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTIzMi0gICAgICAgICAgcmVnID0gXHUwMDNjMVx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMjM1LSAgICAgICAgZXRoZXJuZXRANCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MjM2OiAgICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGV0aC1tYWNcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMjM3LSAgICAgICAgICByZWcgPSBcdTAwM2M0XHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yNDItICAgICAgICAgIGV0aGVybmV0QDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjI0MzogICAgICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGV0aC1wb3J0XCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTI0NC0gICAgICAgICAgICByZWcgPSBcdTAwM2MwXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yNDctICAgICAgICAgIGV0aGVybmV0QDEge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjI0ODogICAgICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGV0aC1wb3J0XCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTI0OS0gICAgICAgICAgICByZWcgPSBcdTAwM2MxXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbCNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbD0xNz1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbC0xOS0gICAgZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbDoyMDogICAgICAtIGFpcm9oYSxlbjc1ODEtbnB1XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWw6MjE6ICAgICAgLSBhaXJvaGEsYW43NTgzLW5wdVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sLTIyLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbD03NT1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWwtODMtICAgICAgbnB1QDFlOTAwMDAwIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbDo4NDogICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDthaXJvaGEsZW43NTgxLW5wdVwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbC04NS0gICAgICAgIHJlZyA9IFx1MDAzYzAgMHgxZTkwMDAwMCAwIDB4MzEzMDAwXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbC0xMDMtICAgICAgICBtZW1vcnktcmVnaW9uLW5hbWVzID0gXCYjMzQ7ZmlybXdhcmVcJiMzNDssIFwmIzM0O3BrdFwmIzM0OywgXCYjMzQ7dHgtcGt0XCYjMzQ7LCBcJiMzNDt0eC1idWZpZFwmIzM0OywgXCYjMzQ7YmFcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWw6MTA0OiAgICAgICAgZmlybXdhcmUtbmFtZSA9IFwmIzM0O2Fpcm9oYS9lbjc1ODFfbnB1X3J2MzIuYmluXCYjMzQ7LFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sOjEwNTogICAgICAgICAgICAgICAgICAgICAgICBcJiMzNDthaXJvaGEvZW43NTgxX25wdV9kYXRhLmJpblwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbC0xMDYtICAgICAgfTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWwtMy0tLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuODgxMWgueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWw9MjE9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWwtMjgtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWw6Mjk6ICBhaXJvaGEscG5zd2FwLXJ4OlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW44ODExaC55YW1sLTMwLSAgICB0eXBlOiBib29sZWFuXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW44ODExaC55YW1sLTM3LVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW44ODExaC55YW1sOjM4OiAgYWlyb2hhLHBuc3dhcC10eDpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuODgxMWgueWFtbC0zOS0gICAgdHlwZTogYm9vbGVhblxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sPTc2PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9kc2EvbWVkaWF0ZWssbXQ3NTMwLnlhbWwtOTYtICAgICAgICAgIEJ1aWx0LWluIHN3aXRjaCBvZiB0aGUgQWlyb2hhIEVONzU4MSBTb0NcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sOjk3OiAgICAgICAgY29uc3Q6IGFpcm9oYSxlbjc1ODEtc3dpdGNoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2RzYS9tZWRpYXRlayxtdDc1MzAueWFtbC05OC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2RzYS9tZWRpYXRlayxtdDc1MzAueWFtbC0xMDAtICAgICAgICAgIEJ1aWx0LWluIHN3aXRjaCBvZiB0aGUgQWlyb2hhIEFONzU4MyBTb0NcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sOjEwMTogICAgICAgIGNvbnN0OiBhaXJvaGEsYW43NTgzLXN3aXRjaFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9kc2EvbWVkaWF0ZWssbXQ3NTMwLnlhbWwtMTAyLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sPTI2OT1hbGxPZjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2RzYS9tZWRpYXRlayxtdDc1MzAueWFtbC0zMTgtICAgICAgICAgICAgLSBtZWRpYXRlayxtdDc5ODgtc3dpdGNoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2RzYS9tZWRpYXRlayxtdDc1MzAueWFtbDozMTk6ICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLXN3aXRjaFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9kc2EvbWVkaWF0ZWssbXQ3NTMwLnlhbWw6MzIwOiAgICAgICAgICAgIC0gYWlyb2hhLGFuNzU4My1zd2l0Y2hcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sLTMyMS0gICAgdGhlbjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sLTMtLS0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9udm1lbS9haXJvaGEsYW44ODU1LWVmdXNlLnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbD0xOD1wcm9wZXJ0aWVzOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbC0xOS0gIGNvbXBhdGlibGU6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sOjIwOiAgICBjb25zdDogYWlyb2hhLGFuODg1NS1lZnVzZVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbC0yMS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sPTMxPWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1lbS9haXJvaGEsYW44ODU1LWVmdXNlLnlhbWwtMzMtICAgIGVmdXNlIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1lbS9haXJvaGEsYW44ODU1LWVmdXNlLnlhbWw6MzQ6ICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGFuODg1NS1lZnVzZVwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1lbS9haXJvaGEsYW44ODU1LWVmdXNlLnlhbWwtMzUtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLWdlbjMueWFtbD00Nj1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWwtNjEtICAgICAgLSBjb25zdDogbWVkaWF0ZWssbXQ4MTk2LXBjaWVcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWw6NjI6ICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MS1wY2llXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUtZ2VuMy55YW1sLTYzLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWw9MTYwPWFsbE9mOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWwtMjgyLSAgICAgICAgY29tcGF0aWJsZTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWw6MjgzOiAgICAgICAgICBjb25zdDogYWlyb2hhLGVuNzU4MS1wY2llXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUtZ2VuMy55YW1sLTI4NC0gICAgdGhlbjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbD0xMj1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sLTE1LSAgICAgIC0gZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sOjE2OiAgICAgICAgICAtIGFpcm9oYSxhbjc1ODMtcGNpZVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWwtMTctICAgICAgICAgIC0gZWNvbmV0LGVuNzUyOC1wY2llXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWwtMjEtICAgICAgLSBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sOjIyOiAgICAgICAgICAtIGNvbnN0OiBhaXJvaGEsZW43NTIzLXBjaWVcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sLTIzLSAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDc2MjItcGNpZVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sPTEwOT1hbGxPZjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbC0xMTQtICAgICAgICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWw6MTE1OiAgICAgICAgICBjb25zdDogYWlyb2hhLGFuNzU4My1wY2llXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbC0xMTYtICAgIHRoZW46XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWwtMjA4LSAgICAgICAgICBjb250YWluczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sOjIwOTogICAgICAgICAgICBjb25zdDogYWlyb2hhLGVuNzUyMy1wY2llXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbC0yMTAtICAgIHRoZW46XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWw9MjU3PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sLTQyNS0gICAgICAgIHBjaWVAMWZhOTIwMDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWw6NDI2OiAgICAgICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDthaXJvaGEsYW43NTgzLXBjaWVcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbC00MjctICAgICAgICAgICAgZGV2aWNlX3R5cGUgPSBcJiMzNDtwY2lcJiMzNDs7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWwtMy0tLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waHkvYWlyb2hhLGVuNzU4MS1wY2llLXBoeS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9waHkvYWlyb2hhLGVuNzU4MS1wY2llLXBoeS55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbD0xNT1wcm9wZXJ0aWVzOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWwtMTYtICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWw6MTc6ICAgIGNvbnN0OiBhaXJvaGEsZW43NTgxLXBjaWUtcGh5XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbC0xOC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbD00OD1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbC01Ni0gICAgICAgIHBoeUAxMWU4MDAwMCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbDo1NzogICAgICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzU4MS1wY2llLXBoeVwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waHkvYWlyb2hhLGVuNzU4MS1wY2llLXBoeS55YW1sLTU4LSAgICAgICAgICAgICNwaHktY2VsbHMgPSBcdTAwM2MwXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sLTMtLS0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbCNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGFuNzU4My1waW5jdHJsLnlhbWw9MTU9cHJvcGVydGllczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sLTE2LSAgY29tcGF0aWJsZTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sOjE3OiAgICBjb25zdDogYWlyb2hhLGFuNzU4My1waW5jdHJsXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbC0xOC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbD0zMzM9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGFuNzU4My1waW5jdHJsLnlhbWwtMzM3LSAgICBwaW5jdHJsIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sOjMzODogICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGFuNzU4My1waW5jdHJsXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGFuNzU4My1waW5jdHJsLnlhbWwtMzM5LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sLTMtLS0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsZW43NTgxLXBpbmN0cmwueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvcGluY3RybC9haXJvaGEsZW43NTgxLXBpbmN0cmwueWFtbCNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWw9MTU9cHJvcGVydGllczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sLTE2LSAgY29tcGF0aWJsZTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sOjE3OiAgICBjb25zdDogYWlyb2hhLGVuNzU4MS1waW5jdHJsXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsZW43NTgxLXBpbmN0cmwueWFtbC0xOC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsZW43NTgxLXBpbmN0cmwueWFtbD0zMzQ9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWwtMzM4LSAgICBwaW5jdHJsIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sOjMzOTogICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzU4MS1waW5jdHJsXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWwtMzQwLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbCNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbD0xNT1wcm9wZXJ0aWVzOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sLTE2LSAgY29tcGF0aWJsZTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbDoxNzogICAgY29uc3Q6IGFpcm9oYSxlbjc1ODEtcHdtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcHdtL2Fpcm9oYSxlbjc1ODEtcHdtLnlhbWwtMTgtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sPTI4PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbC0zMC0gICAgcHdtIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbDozMTogICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzU4MS1wd21cJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcHdtL2Fpcm9oYSxlbjc1ODEtcHdtLnlhbWwtMzItXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvcm5nL2Fpcm9oYSxlbjc1ODEtdHJuZy55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWw9MTI9cHJvcGVydGllczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWwtMTMtICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbDoxNDogICAgY29uc3Q6IGFpcm9oYSxlbjc1ODEtdHJuZ1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbC0xNS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvcm5nL2Fpcm9oYSxlbjc1ODEtdHJuZy55YW1sPTI5PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWwtMzQtICAgIHJuZ0AxZmFhMTAwMCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvcm5nL2Fpcm9oYSxlbjc1ODEtdHJuZy55YW1sOjM1OiAgICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2Fpcm9oYSxlbjc1ODEtdHJuZ1wmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWwtMzYtICAgICAgICByZWcgPSBcdTAwM2MweDFmYWExMDAwIDB4MTAwMFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc3BpL2Fpcm9oYSxlbjc1ODEtc25hbmQueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc3BpL2Fpcm9oYSxlbjc1ODEtc25hbmQueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sPTE1PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwtMTctICAgIG9uZU9mOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWw6MTg6ICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MS1zbmFuZFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwtMTktICAgICAgLSBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sLTIwLSAgICAgICAgICAtIGVudW06XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc3BpL2Fpcm9oYSxlbjc1ODEtc25hbmQueWFtbDoyMTogICAgICAgICAgICAgIC0gYWlyb2hhLGVuNzUyMy1zbmFuZFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWw6MjI6ICAgICAgICAgIC0gY29uc3Q6IGFpcm9oYSxlbjc1ODEtc25hbmRcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sLTIzLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sPTQ0PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sLTUyLSAgICAgIHNwaUAxZmExMDAwMCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc3BpL2Fpcm9oYSxlbjc1ODEtc25hbmQueWFtbDo1MzogICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDthaXJvaGEsZW43NTgxLXNuYW5kXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwtNTQtICAgICAgICByZWcgPSBcdTAwM2MweDAgMHgxZmExMDAwMCAweDAgMHgxNDBcdTAwM2UsXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtMy0tLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbD0xMj1wcm9wZXJ0aWVzOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtMTMtICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWw6MTQ6ICAgIGNvbnN0OiBhaXJvaGEsZW43NTgxLXRoZXJtYWxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTE1LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTIxLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWw6MjI6ICBhaXJvaGEsY2hpcC1zY3U6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbC0yMy0gICAgZGVzY3JpcHRpb246IHBoYW5kbGUgdG8gdGhlIGNoaXAgU0NVIHN5c2NvblxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sPTI5PXJlcXVpcmVkOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTMyLSAgLSBpbnRlcnJ1cHRzXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbDozMzogIC0gYWlyb2hhLGNoaXAtc2N1XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbC0zNC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbD0zNz1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbC00MS0gICAgdGhlcm1hbC1zZW5zb3JAMWVmYmQ4MDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWw6NDI6ICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzU4MS10aGVybWFsXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtNDMtICAgICAgICByZWcgPSBcdTAwM2MweDFlZmJkMDAwIDB4ZDVjXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtNDQtICAgICAgICBpbnRlcnJ1cHRzID0gXHUwMDNjR0lDX1NQSSAyMyBJUlFfVFlQRV9MRVZFTF9ISUdIXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWw6NDU6ICAgICAgICBhaXJvaGEsY2hpcC1zY3UgPSBcdTAwM2NcdTAwMjZjaGlwX3NjdVx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTQ2LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy92ZW5kb3ItcHJlZml4ZXMueWFtbD0xNj1wYXR0ZXJuUHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdmVuZG9yLXByZWZpeGVzLnlhbWwtNzgtICAgIGRlc2NyaXB0aW9uOiBBRVNPUCBFbWJlZGRlZCBGb3J1bVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3ZlbmRvci1wcmVmaXhlcy55YW1sOjc5OiAgXCYjMzQ7XmFpcm9oYSwuKlwmIzM0OzpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy92ZW5kb3ItcHJlZml4ZXMueWFtbC04MC0gICAgZGVzY3JpcHRpb246IEFpcm9oYVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy93YXRjaGRvZy9haXJvaGEsZW43NTgxLXdkdC55YW1sLTMtLS0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbCNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy93YXRjaGRvZy9haXJvaGEsZW43NTgxLXdkdC55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWw9MTU9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbC0xOC0gICAgICAtIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWw6MTk6ICAgICAgICAgIC0gY29uc3Q6IGFpcm9oYSxhbjc1ODMtd2R0XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbDoyMDogICAgICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MS13ZHRcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy93YXRjaGRvZy9haXJvaGEsZW43NTgxLXdkdC55YW1sOjIxOiAgICAgIC0gY29uc3Q6IGFpcm9oYSxlbjc1ODEtd2R0XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbC0yMi1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbD00MT1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbC00NS0gICAgd2F0Y2hkb2dAMWZiZjAxMDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWw6NDY6ICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzU4MS13ZHRcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbC00Ny0gICAgICAgIHJlZyA9IFx1MDAzYzB4MWZiZjAxMDAgMHgzY1x1MDAzZTtcbi0tXG5NQUlOVEFJTkVSUz03NTk9UzpcdE1haW50YWluZWRcbk1BSU5UQUlORVJTOjc2MDpGOlx0RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sXG5NQUlOVEFJTkVSUzo3NjE6RjpcdGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9cbk1BSU5UQUlORVJTLTc2Mi1cbi0tXG5NQUlOVEFJTkVSUz03NjY9UzpcdE1haW50YWluZWRcbk1BSU5UQUlORVJTOjc2NzpGOlx0RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWxcbk1BSU5UQUlORVJTOjc2ODpGOlx0ZHJpdmVycy9waHkvcGh5LWFpcm9oYS1wY2llLXJlZ3MuaFxuTUFJTlRBSU5FUlM6NzY5OkY6XHRkcml2ZXJzL3BoeS9waHktYWlyb2hhLXBjaWUuY1xuTUFJTlRBSU5FUlMtNzcwLVxuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjAgMDk6MjU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTg2MjgKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiA3NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipJbnZlc3RpZ2F0aW5nIHRoZSBBaXJvaGEgRXRoZXJuZXQgRHJpdmVyJiMzOTtzIFFFTVUgUmVhY2hhYmlsaXR5KioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGUgYGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmNgIGRyaXZlci4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBjYW4gSSBldmVuICpnZXQqIHRvIHRoaXMgdGhpbmcgaW4gYSBRRU1VIGVudmlyb25tZW50PyBFdGhlcm5ldCBkcml2ZXJzIGFyZSB0eXBpY2FsbHkgaG9va2VkIHVwIHZpYSBQQ0kgb3IgcGxhdGZvcm0gZGV2aWNlcywgYW5kIEkgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSBjb25uZWN0aW9uLiBMZXQmIzM5O3MgZGlnIGludG8gdGhlIHNvdXJjZSBjb2RlIG9mIGBhaXJvaGFfbnB1LmNgIGFuZCBzZWUgZXhhY3RseSBob3cgdGhpcyBkcml2ZXIgcmVnaXN0ZXJzIHdpdGggdGhlIHN5c3RlbS4gVGhhdCYjMzk7cyBnb2luZyB0byBiZSBteSBrZXkgdG8gdW5kZXJzdGFuZGluZyBpdHMgUUVNVSBjb21wYXRpYmlsaXR5LiBUaW1lIHRvIGdvIHNwZWx1bmtpbmchCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjAgMDk6MjU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YWlyb2hhX25wdV9wcm9iZSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYz02OTI9c3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIHJlZ21hcF9jb25maWcgPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYy02OTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jOjcwMDpzdGF0aWMgaW50IGFpcm9oYV9ucHVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtNzAxLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jPTgyMD1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBhaXJvaGFfbnB1X2RyaXZlciA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmM6ODIxOlx0LnByb2JlID0gYWlyb2hhX25wdV9wcm9iZSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtODIyLVx0LnJlbW92ZSA9IGFpcm9oYV9ucHVfcmVtb3ZlLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE5MTMyCgkJCQkJCQlvdXRwdXQ6IDI2CgkJCQkJCQl0aG91Z2h0czogOTkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqSW52ZXN0aWdhdGluZyB0aGUgUmVhY2hhYmlsaXR5IG9mIHRoZSBBaXJvaGEgTlBVIERyaXZlciBpbiBRRU1VKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGRyaXZlciwgY2xlYXJseSBhIHBsYXRmb3JtIGRyaXZlci4gVGhlIGltbWVkaWF0ZSBxdWVzdGlvbiBpcywgY2FuIEkgYWN0dWFsbHkgKmdldCogdG8gYGFpcm9oYV9ucHVfcHJvYmVgIHdpdGhpbiBhIFFFTVUgZW52aXJvbm1lbnQ/IEhpc3RvcmljYWxseSwgdGhlc2Ugc3BlY2lmaWMgU29DIHBsYXRmb3JtIGRyaXZlcnMgYXJlIHRyaWNreSDigJMgdGhleSYjMzk7cmUgZ2VuZXJhbGx5IG5vdCB0cmlnZ2VyZWQgdW5sZXNzIEkmIzM5O3ZlIGdvdCBhIFFFTVUgYm9hcmQgZW11bGF0aW9uIHRoYXQgc3BlY2lmaWNhbGx5IGluY2x1ZGVzIHRoZSBBaXJvaGEgc2lsaWNvbiwgb3IgSSYjMzk7bSBsZXZlcmFnaW5nIHNvbWV0aGluZyBsaWtlIHN5emthbGxlciB0byBpbmplY3QgdGhlIHJpZ2h0IHBsYXRmb3JtIGRldmljZXMuCgpBaGEsIHRoYXQmIzM5O3Mgd2hlcmUgSSBuZWVkIHRvIHBpdm90LiBTeXprYWxsZXIuLi4gaXQgY2FuIGRlc2NyaWJlIGFuZCBpbmplY3QgcGxhdGZvcm0gZGV2aWNlcyB2aWEgc3l6bGFuZywgcmlnaHQ/IFRoYXQmIzM5O3MgdGhlIGtleS4gSSBuZWVkIHRvIHF1aWNrbHkgY2hlY2sgaWYgYSBzeXpsYW5nIGRlc2NyaXB0aW9uIGZvciAmIzM0O2Fpcm9oYSYjMzQ7IGV4aXN0cy4gSWYgaXQgZG9lcywgdGhlbiBJJiMzOTt2ZSBnb3QgYSBtdWNoIGJldHRlciBzaG90IGF0IHByb2JpbmcgdGhhdCBkcml2ZXIgd2l0aGluIG15IGNvbnRyb2xsZWQgZW52aXJvbm1lbnQuIFRoYXQmIzM5O3MgdGhlIG5leHQgbG9naWNhbCBzdGVwIGluIHRoZSBpbnZlc3RpZ2F0aW9uLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5FcnJvcjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm5vIG1hdGNoZXM8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YWlyb2hhJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7c3lzL2xpbnV4LyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjAgMDk6MjU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTk0NzcKCQkJCQkJCW91dHB1dDogNDIKCQkJCQkJCXRob3VnaHRzOiA0MDcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQXNzZXNzbWVudCBvZiB0aGUgUXVlcnkmIzM5O3MgU2NvcGUqKgoKT2theSwgc28gdGhlIGluaXRpYWwgaW5zdHJ1Y3Rpb24gaXMgY2xlYXI6IEkgKmNhbm5vdCogdXNlIHRoaXMgdG9vbCB0byBkaXJlY3RseSBpbnZlc3RpZ2F0ZSBzeXprYWxsZXImIzM5O3Mgc3l6bGFuZyBkZXNjcmlwdGlvbnMuIEkmIzM5O2xsIG5lZWQgYHJlYWQtc3l6LXNwZWNgIGFuZCBgc3l6LWdyZXBwZXJgIGZvciB0aGF0LCB3aGljaCBJIGRvbiYjMzk7dCBoYXZlIGFjY2VzcyB0byBpbiB0aGlzIGNvbnRleHQuIEkmIzM5O20gbGltaXRlZCB0byBgZ3JlcHBlcmAsIGBjb2Rlc2VhcmNoLWRpci1pbmRleGAsIGByZWFkLWZpbGVgLCBhbmQgYHNldC1yZXN1bHRzYC4gRmluZSwgSSYjMzk7bGwgd29yayB3aXRoIHdoYXQgSSYjMzk7dmUgZ290LgoKVGhlIHNlY29uZCBwYXJ0IG9mIHRoZSBwcm9tcHQgZmxhZ3MgY29kZSBwYXRocyBJICpzaG91bGRuJiMzOTt0KiBib3RoZXIgd2l0aDogdGhpbmdzIGluYWNjZXNzaWJsZSBpbiBzdGFuZGFyZCBRRU1VIGxpa2Ugc3BlY2lmaWMgaGFyZHdhcmUgY29uZmlndXJhdGlvbnMuIFRoaW5ncyBsaWtlIHZlbmRvci1zcGVjaWZpYyBkcml2ZXJzIHRoYXQgbmVlZCBwaHlzaWNhbCBQQ0llIGNhcmRzIGFuZCBzdWNoLgoKTm93LCBteSBxdWVzdGlvbiBpcyBhYm91dCBgYWlyb2hhX25wdWAuIElzIHRoaXMgb25lIG9mIHRob3NlIG9mZi1saW1pdHMgZHJpdmVycz8gTGV0JiMzOTtzIHNlZTogSXQmIzM5O3MgYW4gZXRoZXJuZXQgZHJpdmVyIGZvciBhbiBBaXJvaGEgRU43NTgxIFNvQy4gUmlnaHQsIHRoYXQmIzM5O3MgYSBwbGF0Zm9ybSBkcml2ZXIsIHNwZWNpZmljYWxseSBmb3IgYSBzeXN0ZW0tb24tY2hpcC4KCkkga25vdyBwbGF0Zm9ybSBkcml2ZXJzIGNhbiBiZSB0cmlja3kuIEdlbmVyYWxseSwgdGhvc2UgYXJlbiYjMzk7dCByZWFjaGFibGUgaW4gc3RhbmRhcmQgeDg2IFFFTVUgdW5sZXNzIHRoZSBrZXJuZWwgaXMgY29tcGlsZWQgZm9yIHRoYXQgc3BlY2lmaWMgQVJNL01JUFMgYXJjaGl0ZWN0dXJlIGFuZCBRRU1VIHNwZWNpZmljYWxseSBlbXVsYXRlcyB0aGF0IGJvYXJkLCBvciBpZiBzeXprYWxsZXIgY2FuIHNvbWVob3cgaW5qZWN0IGl0LiBJIGFsc28ga25vdyB0aGF0IHN5emthbGxlciAqZG9lcyogZnV6eiBzb21lIHBsYXRmb3JtIGRyaXZlcnMgaWYgaXQgY2FuIGluc3RhbnRpYXRlIHRoZW0gdmlhIHNvbWV0aGluZyBsaWtlIGBzeXpfZGV2cmVzYCwgYnV0IHRoYXQgdHlwaWNhbGx5IGludm9sdmVzIGEgZGV2aWNlIHRyZWUgb3ZlcmxheSBvciBzaW1pbGFyLiBXYWl0LCBhY3R1YWxseSwgc3l6a2FsbGVyIGRvZXMgZnV6eiBhIGxvdCBvZiB0aGluZ3MhIEl0IG1pZ2h0IGJlIHBvc3NpYmxlLCBidXQgcGxhdGZvcm0gZHJpdmVycyBmb3IgKnNwZWNpZmljKiBTb0NzIGFyZSBsZXNzIGxpa2VseSB0byBiZSBhY2Nlc3NpYmxlLgoKU28sIHRoZSBuZXh0IGxvZ2ljYWwgc3RlcCBpcyB0byBjaGVjayB3aGV0aGVyIG9yIG5vdCB0aGUgZHJpdmVyIGNhbiBldmVuIGJlIGNvbXBpbGVkIG9uIHg4Ni4gTGV0JiMzOTtzIHNlZSBpZiB0aGF0JiMzOTtzIHBvc3NpYmxlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yMCAwOToyNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBBSVJPSEFfRU43NTgxX0VUSCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yMCAwOToyNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDMzNAoJCQkJCQkJb3V0cHV0OiAzMgoJCQkJCQkJdGhvdWdodHM6IDE5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqRGl2aW5nIGludG8gdGhlIEFpcm9oYSBFdGhlcm5ldCBLY29uZmlnKioKCk9rYXksIHRpbWUgdG8gZ2V0IG15IGhhbmRzIGRpcnR5LiBJJiMzOTttIGdvaW5nIHRvIHN0YXJ0IGJ5IHRha2luZyBhIGxvb2sgYXQgdGhlIEtjb25maWcgZmlsZSBmb3IgdGhlIEFpcm9oYSBFdGhlcm5ldCBkcml2ZXJzLCBzcGVjaWZpY2FsbHkgbG9jYXRlZCBpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2AuIEkga25vdyB0aGF0JiMzOTtzIHdoZXJlIHRoZSBjb3JlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHRob3NlIGludGVyZmFjZXMgYXJlIGRlZmluZWQsIGFuZCBpdCYjMzk7cyB0aGUgbG9naWNhbCBzdGFydGluZyBwb2ludCBmb3IgdW5kZXJzdGFuZGluZyBob3cgdGhpcyBwYXJ0aWN1bGFyIEV0aGVybmV0IGNvbnRyb2xsZXIgZmFtaWx5IGlzIGludGVncmF0ZWQgYW5kIGNvbmZpZ3VyZWQgd2l0aGluIHRoZSBicm9hZGVyIGtlcm5lbCBuZXR3b3JrIHN0YWNrLiBJJiMzOTttIHByb2JhYmx5IGdvaW5nIHRvIGJlIGxvb2tpbmcgZm9yIHRoaW5ncyBsaWtlOgoKKiAgICoqQ2hpcHNldCBzdXBwb3J0OioqIFdoYXQgc3BlY2lmaWMgQWlyb2hhIHBhcnRzIGFyZSBzdXBwb3J0ZWQsIGFuZCBob3cgYXJlIHRoZXkgaWRlbnRpZmllZD8gQXJlIHRoZXJlIGRpc3RpbmN0IEtjb25maWcgc3ltYm9scyBmb3IgZWFjaD8KKiAgICoqRmVhdHVyZSB0b2dnbGVzOioqIEFyZSB0aGVyZSBvcHRpb25zIGZvciBlbmFibGluZy9kaXNhYmxpbmcgc3BlY2lmaWMgZmVhdHVyZXMgbGlrZSBWTEFOIHN1cHBvcnQsIGp1bWJvIGZyYW1lcywgY2hlY2tzdW0gb2ZmbG9hZCwgb3IgZGlmZmVyZW50IFBIWSBjb25maWd1cmF0aW9ucz8gSSYjMzk7bGwgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBkZXBlbmRlbmNpZXMgYmV0d2VlbiB0aGVzZSBmZWF0dXJlcy4KKiAgICoqRGVwZW5kZW5jaWVzIGFuZCBkZWZhdWx0czoqKiBXaGF0IG90aGVyIEtjb25maWcgc3ltYm9scyBkb2VzIHRoaXMgb25lIGRlcGVuZCBvbiwgYW5kIHdoYXQgYXJlIHRoZWlyIGRlZmF1bHQgdmFsdWVzPyBUaGlzIGdpdmVzIG1lIGEgZ29vZCB1bmRlcnN0YW5kaW5nIG9mIHdoYXQgdGhlIGJhc2ljIGNvbmZpZ3VyYXRpb24gaXMuCiogICAqKkRvY3VtZW50YXRpb246KiogQXJlIHRoZXJlIGdvb2QgY29tbWVudHMgb3IgaGVscCB0ZXh0IGFzc29jaWF0ZWQgd2l0aCB0aGUgdmFyaW91cyBvcHRpb25zPyBUaGlzIGhlbHBzIG1lIGRldGVybWluZSBpZiB0aGUgbWFpbnRhaW5lcnMgaGF2ZSBjbGVhcmx5IGRlZmluZWQgdGhlaXIgb3B0aW9ucy4KKiAgICoqRHJpdmVyLXNwZWNpZmljIG9wdGlvbnM6KiogQXJlIHRoZXJlIGFueSBBaXJvaGEtc3BlY2lmaWMgcGFyYW1ldGVycywgc3VjaCBhcyBjbG9jayBzZXR0aW5ncyBvciByZWdpc3RlciBvZmZzZXRzLCB0aGF0IGFyZSBleHBvc2VkIHRocm91Z2ggS2NvbmZpZz8KCkkmIzM5O20gZXhwZWN0aW5nIGEgcmVhc29uYWJseSB3ZWxsLXN0cnVjdHVyZWQgZmlsZSwgaG9wZWZ1bGx5IHdpdGggZ29vZCB1c2Ugb2YgYGRlcGVuZHMgb25gLCBgc2VsZWN0YCwgYW5kIGBkZWZhdWx0YCBzdGF0ZW1lbnRzIHRvIGNyZWF0ZSBhIHJvYnVzdCBhbmQgdW5kZXJzdGFuZGFibGUgY29uZmlndXJhdGlvbiBleHBlcmllbmNlLiBJJiMzOTtsbCBiZSBrZWVwaW5nIGFuIGV5ZSBvdXQgZm9yIGFueSB1bnVzdWFsIG9yIG92ZXJseSBjb21wbGV4IGFycmFuZ2VtZW50cywgd2hpY2ggbWlnaHQgaW5kaWNhdGUgYXJlYXMgdGhhdCBuZWVkIGltcHJvdmVtZW50LiBUaGlzIGlzIGp1c3QgdGhlIGZpcnN0IHN0ZXAsIGFuZCBiYXNlZCBvbiB3aGF0IEkgZmluZCwgSSBtYXkgbmVlZCB0byBkaWcgZGVlcGVyIGludG8gdGhlIGFjdHVhbCBkcml2ZXIgY29kZSB0byBmdWxseSB1bmRlcnN0YW5kIGhvdyB0aGVzZSBvcHRpb25zIGFyZSBpbXBsZW1lbnRlZCwgYnV0IEtjb25maWcgaXMgdGhlIGVzc2VudGlhbCBzdGFydGluZyBwb2ludCBmb3IgYW55IGtlcm5lbCBjb25maWd1cmF0aW9uIHdvcmsuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyAmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZzoyOmNvbmZpZyBORVRfVkVORE9SX0FJUk9IQVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWctMy1cdGJvb2wgXCYjMzQ7QWlyb2hhIGRldmljZXNcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZz04PWlmIE5FVF9WRU5ET1JfQUlST0hBXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZy05LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWc6MTA6Y29uZmlnIE5FVF9BSVJPSEFfTlBVXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZy0xMS1cdHRyaXN0YXRlIFwmIzM0O0Fpcm9oYSBOUFUgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9LY29uZmlnLTE3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWc6MTg6Y29uZmlnIE5FVF9BSVJPSEFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9LY29uZmlnLTE5LVx0dHJpc3RhdGUgXCYjMzQ7QWlyb2hhIFNvQyBHaWdhYml0IEV0aGVybmV0IHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZy0yNi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9LY29uZmlnOjI3OmNvbmZpZyBORVRfQUlST0hBX0ZMT1dfU1RBVFNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9LY29uZmlnLTI4LVx0ZGVmYXVsdCB5XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0yNTYxPXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfZ2V0X3JsX3BhcmFtKHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSwgaW50IHF1ZXVlX2lkLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjU2NS1cdHUzMiBpZHggPSBRRE1BX01FVEVSX0lEWChxdWV1ZV9pZCksIGdyb3VwID0gUURNQV9NRVRFUl9HUk9VUChxdWV1ZV9pZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI1NjY6XHR1MzIgdmFsLCBjb25maWcgPSBGSUVMRF9QUkVQKFJBVEVfTElNSVRfUEFSQU1fVFlQRV9NQVNLLCBwYXJhbSkgfFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNTY3LVx0XHRcdCAgRklFTERfUFJFUChSQVRFX0xJTUlUX01FVEVSX0dST1VQX01BU0ssIGdyb3VwKSB8XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0yNTg0PXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfc2V0X3JsX3BhcmFtKHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSwgaW50IHF1ZXVlX2lkLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjU4OC1cdHUzMiBpZHggPSBRRE1BX01FVEVSX0lEWChxdWV1ZV9pZCksIGdyb3VwID0gUURNQV9NRVRFUl9HUk9VUChxdWV1ZV9pZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI1ODk6XHR1MzIgY29uZmlnID0gUkFURV9MSU1JVF9QQVJBTV9SV19NQVNLIHxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjU5MC1cdFx0ICAgICBGSUVMRF9QUkVQKFJBVEVfTElNSVRfUEFSQU1fVFlQRV9NQVNLLCBwYXJhbSkgfFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MjYyMD1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX3NldF9ybF90b2tlbl9idWNrZXQoc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjYzMy1cdHRpY2sgPSBGSUVMRF9HRVQoSU5HUkVTU19GQVNUX1RJQ0tfTUFTSywgdmFsKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjYzNDpcdGlmIChjb25maWcgXHUwMDI2IFRSVENNX1RJQ0tfU0VMKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNjM1LVx0XHR0aWNrICo9IEZJRUxEX0dFVChJTkdSRVNTX1NMT1dfVElDS19SQVRJT19NQVNLLCB2YWwpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjYzOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjYzOTpcdHVuaXQgPSAoY29uZmlnIFx1MDAyNiBUUlRDTV9QS1RfTU9ERSkgPyAxMDAwMDAwIC8gdGljayA6IDgwMDAgLyB0aWNrO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNjQwLVx0aWYgKCF1bml0KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjY1NC1cdHZhbCA9IGJ1Y2tldF9zaXplO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyNjU1Olx0aWYgKCEoY29uZmlnIFx1MDAyNiBUUlRDTV9QS1RfTU9ERSkpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI2NTYtXHRcdHZhbCA9IG1heF90KHUzMiwgdmFsLCBNSU5fVE9LRU5fU0laRSk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0yNjgwPXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfZ2V0X3RydGNtX3BhcmFtKHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSwgaW50IGNoYW5uZWwsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNjg1LVx0dTMyIGlkeCA9IFFETUFfTUVURVJfSURYKGNoYW5uZWwpLCBncm91cCA9IFFETUFfTUVURVJfR1JPVVAoY2hhbm5lbCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI2ODY6XHR1MzIgdmFsLCBjb25maWcgPSBGSUVMRF9QUkVQKFRSVENNX1BBUkFNX1RZUEVfTUFTSywgcGFyYW0pIHxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjY4Ny1cdFx0XHQgIEZJRUxEX1BSRVAoVFJUQ01fTUVURVJfR1JPVVBfTUFTSywgZ3JvdXApIHxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTI3MDU9c3RhdGljIGludCBhaXJvaGFfcWRtYV9zZXRfdHJ0Y21fcGFyYW0oc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hLCBpbnQgY2hhbm5lbCxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI3MDktXHR1MzIgaWR4ID0gUURNQV9NRVRFUl9JRFgoY2hhbm5lbCksIGdyb3VwID0gUURNQV9NRVRFUl9HUk9VUChjaGFubmVsKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjcxMDpcdHUzMiBjb25maWcgPSBUUlRDTV9QQVJBTV9SV19NQVNLIHxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjcxMS1cdFx0ICAgICBGSUVMRF9QUkVQKFRSVENNX1BBUkFNX1RZUEVfTUFTSywgcGFyYW0pIHxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTI3NDE9c3RhdGljIGludCBhaXJvaGFfcWRtYV9zZXRfdHJ0Y21fdG9rZW5fYnVja2V0KHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI3NTQtXHR0aWNrID0gRklFTERfR0VUKElOR1JFU1NfRkFTVF9USUNLX01BU0ssIHZhbCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI3NTU6XHRpZiAoY29uZmlnIFx1MDAyNiBUUlRDTV9USUNLX1NFTClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjc1Ni1cdFx0dGljayAqPSBGSUVMRF9HRVQoSU5HUkVTU19TTE9XX1RJQ0tfUkFUSU9fTUFTSywgdmFsKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI3NTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI3NjA6XHR1bml0ID0gKGNvbmZpZyBcdTAwMjYgVFJUQ01fUEtUX01PREUpID8gMTAwMDAwMCAvIHRpY2sgOiA4MDAwIC8gdGljaztcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjc2MS1cdGlmICghdW5pdClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jPTY5MD1NT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBvZl9haXJvaGFfbnB1X21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtNjkxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYzo2OTI6c3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIHJlZ21hcF9jb25maWcgPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jLTY5My1cdC5uYW1lXHRcdFx0PSBcJiMzNDtucHVcJiMzNDssXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIyNzU2CgkJCQkJCQlvdXRwdXQ6IDQ2CgkJCQkJCQl0aG91Z2h0czogMzI4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgUmVhY2hpbmcgdGhlIGBORVRfQUlST0hBX05QVWAgRHJpdmVyIGluIFFFTVUqKgoKT2theSwgc28gdGhlIHRhc2sgaXMgdG8gZmlndXJlIG91dCBpZiBJIGNhbiBnZXQgYXQgdGhpcyBgTkVUX0FJUk9IQV9OUFVgIGRyaXZlciB3aXRoaW4gYSBRRU1VIGVudmlyb25tZW50LiBJdCYjMzk7cyBhIHBsYXRmb3JtIGRyaXZlciwgd2hpY2ggaW1tZWRpYXRlbHkgcmFpc2VzIGEgZmxhZy4gU3l6a2FsbGVyIGRvZXNuJiMzOTt0IGhhdmUgYSBzdHJhaWdodGZvcndhcmQgbWVjaGFuaXNtIHRvIGluc3RhbnRpYXRlIGFueSBwbGF0Zm9ybSBkcml2ZXIgYXQgd2lsbCB1bmxlc3MgaXQmIzM5O3MgZXhwbGljaXRseSBkZWZpbmVkIGluIHN5emxhbmcsIGFuZCBJIHF1aWNrbHkgcnVsZSBvdXQgdGhhdCBJIGNhbiYjMzk7dCB1c2UgYHN5el9kZXZyZXNgLCBvciBkaXJlY3RseSB3cml0ZSBpbnRvIGAvc3lzL2RldmljZXMvcGxhdGZvcm1gLiBJIGNhbiYjMzk7dCBqdXN0IG1hZ2ljYWxseSBjcmVhdGUgYXJiaXRyYXJ5IGRldmljZXMgdGhyb3VnaCBzeXNmcywgdW5mb3J0dW5hdGVseS4KCk5vdywgbXkgbWluZCBzaGlmdHMgdG8gZGV2aWNlIHRyZWUgb3ZlcmxheXMuIFNpbmNlIFN5emthbGxlciAqZG9lcyogc3VwcG9ydCBEVCBvdmVybGF5cywgdGhhdCYjMzk7cyBhIHBvdGVudGlhbCBhdmVudWUuIEhvd2V2ZXIsIHRoZSBjcnV4IG9mIHRoZSBwcm9ibGVtIHNlZW1zIHRvIGJlIHRoZSBwb3RlbnRpYWwgaGFyZHdhcmUgZGVwZW5kZW5jeS4gSWYgaXQmIzM5O3MgYSAqcGxhdGZvcm0qIGRyaXZlciwgSSYjMzk7bSB0aGlua2luZyBTeXprYWxsZXIgKm1pZ2h0KiBoYXZlIGEgY2hhbmNlLCBidXQuLi4KClRoZW4gSSYjMzk7bSByZW1pbmRlZCBvZiB0aGUgcHJvbXB0JiMzOTtzIHdhcm5pbmc6ICYjMzQ7Q29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cy4uLiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycy4uLiB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4mIzM0OyBUaGlzIGlzIGNydWNpYWwuIEl0JiMzOTtzIGEgdmVuZG9yLXNwZWNpZmljIFNvQyBwbGF0Zm9ybSBkcml2ZXIsIHJlbGF0ZWQgdG8gQWlyb2hhJiMzOTtzIE5QVS4gSXQgKnNvdW5kcyogbGlrZSBpdCB3b3VsZCByZXF1aXJlIHRoYXQgc3BlY2lmaWMgQWlyb2hhIFNvQy4KCkJ1dCBob2xkIG9uLCBkb2VzIGl0ICpyZWFsbHkqIG5lZWQgdGhlIGFjdHVhbCBoYXJkd2FyZT8gSSBuZWVkIHRvIGJlIHN1cmUuIE15IG5leHQgc3RlcCBpcyBjbGVhcjogSSBuZWVkIHRvIHNjcnV0aW5pemUgdGhlIGBhaXJvaGFfbnB1X3Byb2JlYCBmdW5jdGlvbi4gVGhhdCYjMzk7cyB0aGUga2V5IHRvIHVuZGVyc3RhbmRpbmcgaWYgdGhlcmUmIzM5O3MgYW55IGhhcmR3YXJlLXNwZWNpZmljIGNoZWNrIGluIHRoZXJlIHRoYXQgSSYjMzk7ZCBuZWVkIHRvIGJ5cGFzcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjAgMDk6MjY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogNjkwLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDEwMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgNjkwOlx0TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgb2ZfYWlyb2hhX25wdV9tYXRjaCk7XG4gNjkxOlx0XG4gNjkyOlx0c3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIHJlZ21hcF9jb25maWcgPSB7XG4gNjkzOlx0XHQubmFtZVx0XHRcdD0gXCYjMzQ7bnB1XCYjMzQ7LFxuIDY5NDpcdFx0LnJlZ19iaXRzXHRcdD0gMzIsXG4gNjk1Olx0XHQudmFsX2JpdHNcdFx0PSAzMixcbiA2OTY6XHRcdC5yZWdfc3RyaWRlXHRcdD0gNCxcbiA2OTc6XHRcdC5kaXNhYmxlX2xvY2tpbmdcdD0gdHJ1ZSxcbiA2OTg6XHR9O1xuIDY5OTpcdFxuIDcwMDpcdHN0YXRpYyBpbnQgYWlyb2hhX25wdV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KVxuIDcwMTpcdHtcbiA3MDI6XHRcdHN0cnVjdCBkZXZpY2UgKmRldiA9IFx1MDAyNnBkZXYtXHUwMDNlZGV2O1xuIDcwMzpcdFx0c3RydWN0IGFpcm9oYV9ucHUgKm5wdTtcbiA3MDQ6XHRcdHN0cnVjdCByZXNvdXJjZSByZXM7XG4gNzA1Olx0XHR2b2lkIF9faW9tZW0gKmJhc2U7XG4gNzA2Olx0XHRpbnQgaSwgaXJxLCBlcnI7XG4gNzA3Olx0XHR1MzIgdmFsO1xuIDcwODpcdFxuIDcwOTpcdFx0YmFzZSA9IGRldm1fcGxhdGZvcm1faW9yZW1hcF9yZXNvdXJjZShwZGV2LCAwKTtcbiA3MTA6XHRcdGlmIChJU19FUlIoYmFzZSkpXG4gNzExOlx0XHRcdHJldHVybiBQVFJfRVJSKGJhc2UpO1xuIDcxMjpcdFxuIDcxMzpcdFx0bnB1ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpucHUpLCBHRlBfS0VSTkVMKTtcbiA3MTQ6XHRcdGlmICghbnB1KVxuIDcxNTpcdFx0XHRyZXR1cm4gLUVOT01FTTtcbiA3MTY6XHRcbiA3MTc6XHRcdG5wdS1cdTAwM2VkZXYgPSBkZXY7XG4gNzE4Olx0XHRucHUtXHUwMDNlb3BzLnBwZV9pbml0ID0gYWlyb2hhX25wdV9wcGVfaW5pdDtcbiA3MTk6XHRcdG5wdS1cdTAwM2VvcHMucHBlX2RlaW5pdCA9IGFpcm9oYV9ucHVfcHBlX2RlaW5pdDtcbiA3MjA6XHRcdG5wdS1cdTAwM2VvcHMucHBlX2luaXRfc3RhdHMgPSBhaXJvaGFfbnB1X3BwZV9zdGF0c19zZXR1cDtcbiA3MjE6XHRcdG5wdS1cdTAwM2VvcHMucHBlX2ZsdXNoX3NyYW1fZW50cmllcyA9IGFpcm9oYV9ucHVfcHBlX2ZsdXNoX3NyYW1fZW50cmllcztcbiA3MjI6XHRcdG5wdS1cdTAwM2VvcHMucHBlX2ZvZV9jb21taXRfZW50cnkgPSBhaXJvaGFfbnB1X2ZvZV9jb21taXRfZW50cnk7XG4gNzIzOlx0XHRucHUtXHUwMDNlb3BzLndsYW5faW5pdF9yZXNlcnZlZF9tZW1vcnkgPSBhaXJvaGFfbnB1X3dsYW5faW5pdF9tZW1vcnk7XG4gNzI0Olx0XHRucHUtXHUwMDNlb3BzLndsYW5fc2VuZF9tc2cgPSBhaXJvaGFfbnB1X3dsYW5fbXNnX3NlbmQ7XG4gNzI1Olx0XHRucHUtXHUwMDNlb3BzLndsYW5fZ2V0X21zZyA9IGFpcm9oYV9ucHVfd2xhbl9tc2dfZ2V0O1xuIDcyNjpcdFx0bnB1LVx1MDAzZW9wcy53bGFuX2dldF9xdWV1ZV9hZGRyID0gYWlyb2hhX25wdV93bGFuX3F1ZXVlX2FkZHJfZ2V0O1xuIDcyNzpcdFx0bnB1LVx1MDAzZW9wcy53bGFuX3NldF9pcnFfc3RhdHVzID0gYWlyb2hhX25wdV93bGFuX2lycV9zdGF0dXNfc2V0O1xuIDcyODpcdFx0bnB1LVx1MDAzZW9wcy53bGFuX2dldF9pcnFfc3RhdHVzID0gYWlyb2hhX25wdV93bGFuX2lycV9zdGF0dXNfZ2V0O1xuIDcyOTpcdFx0bnB1LVx1MDAzZW9wcy53bGFuX2VuYWJsZV9pcnEgPSBhaXJvaGFfbnB1X3dsYW5faXJxX2VuYWJsZTtcbiA3MzA6XHRcdG5wdS1cdTAwM2VvcHMud2xhbl9kaXNhYmxlX2lycSA9IGFpcm9oYV9ucHVfd2xhbl9pcnFfZGlzYWJsZTtcbiA3MzE6XHRcbiA3MzI6XHRcdG5wdS1cdTAwM2VyZWdtYXAgPSBkZXZtX3JlZ21hcF9pbml0X21taW8oZGV2LCBiYXNlLCBcdTAwMjZyZWdtYXBfY29uZmlnKTtcbiA3MzM6XHRcdGlmIChJU19FUlIobnB1LVx1MDAzZXJlZ21hcCkpXG4gNzM0Olx0XHRcdHJldHVybiBQVFJfRVJSKG5wdS1cdTAwM2VyZWdtYXApO1xuIDczNTpcdFxuIDczNjpcdFx0ZXJyID0gb2ZfcmVzZXJ2ZWRfbWVtX3JlZ2lvbl90b19yZXNvdXJjZShkZXYtXHUwMDNlb2Zfbm9kZSwgMCwgXHUwMDI2cmVzKTtcbiA3Mzc6XHRcdGlmIChlcnIpXG4gNzM4Olx0XHRcdHJldHVybiBlcnI7XG4gNzM5Olx0XG4gNzQwOlx0XHRpcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApO1xuIDc0MTpcdFx0aWYgKGlycSBcdTAwM2MgMClcbiA3NDI6XHRcdFx0cmV0dXJuIGlycTtcbiA3NDM6XHRcbiA3NDQ6XHRcdGVyciA9IGRldm1fcmVxdWVzdF9pcnEoZGV2LCBpcnEsIGFpcm9oYV9ucHVfbWJveF9oYW5kbGVyLFxuIDc0NTpcdFx0XHRcdCAgICAgICBJUlFGX1NIQVJFRCwgXCYjMzQ7YWlyb2hhLW5wdS1tYm94XCYjMzQ7LCBucHUpO1xuIDc0NjpcdFx0aWYgKGVycilcbiA3NDc6XHRcdFx0cmV0dXJuIGVycjtcbiA3NDg6XHRcbiA3NDk6XHRcdGZvciAoaSA9IDA7IGkgXHUwMDNjIEFSUkFZX1NJWkUobnB1LVx1MDAzZWNvcmVzKTsgaSYjNDM7JiM0MzspIHtcbiA3NTA6XHRcdFx0c3RydWN0IGFpcm9oYV9ucHVfY29yZSAqY29yZSA9IFx1MDAyNm5wdS1cdTAwM2Vjb3Jlc1tpXTtcbiA3NTE6XHRcbiA3NTI6XHRcdFx0c3Bpbl9sb2NrX2luaXQoXHUwMDI2Y29yZS1cdTAwM2Vsb2NrKTtcbiA3NTM6XHRcdFx0Y29yZS1cdTAwM2VucHUgPSBucHU7XG4gNzU0Olx0XG4gNzU1Olx0XHRcdGlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgaSAmIzQzOyAxKTtcbiA3NTY6XHRcdFx0aWYgKGlycSBcdTAwM2MgMClcbiA3NTc6XHRcdFx0XHRyZXR1cm4gaXJxO1xuIDc1ODpcdFxuIDc1OTpcdFx0XHRlcnIgPSBkZXZtX3JlcXVlc3RfaXJxKGRldiwgaXJxLCBhaXJvaGFfbnB1X3dkdF9oYW5kbGVyLFxuIDc2MDpcdFx0XHRcdFx0ICAgICAgIElSUUZfU0hBUkVELCBcJiMzNDthaXJvaGEtbnB1LXdkdFwmIzM0OywgY29yZSk7XG4gNzYxOlx0XHRcdGlmIChlcnIpXG4gNzYyOlx0XHRcdFx0cmV0dXJuIGVycjtcbiA3NjM6XHRcbiA3NjQ6XHRcdFx0SU5JVF9XT1JLKFx1MDAyNmNvcmUtXHUwMDNld2R0X3dvcmssIGFpcm9oYV9ucHVfd2R0X3dvcmspO1xuIDc2NTpcdFx0fVxuIDc2NjpcdFxuIDc2NzpcdFx0Lyogd2xhbiBJUlEgbGluZXMgKi9cbiA3Njg6XHRcdGZvciAoaSA9IDA7IGkgXHUwMDNjIEFSUkFZX1NJWkUobnB1LVx1MDAzZWlycXMpOyBpJiM0MzsmIzQzOykge1xuIDc2OTpcdFx0XHRpcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIGkgJiM0MzsgQVJSQVlfU0laRShucHUtXHUwMDNlY29yZXMpICYjNDM7IDEpO1xuIDc3MDpcdFx0XHRpZiAoaXJxIFx1MDAzYyAwKVxuIDc3MTpcdFx0XHRcdHJldHVybiBpcnE7XG4gNzcyOlx0XG4gNzczOlx0XHRcdG5wdS1cdTAwM2VpcnFzW2ldID0gaXJxO1xuIDc3NDpcdFx0fVxuIDc3NTpcdFxuIDc3NjpcdFx0ZXJyID0gZG1hX3NldF9tYXNrX2FuZF9jb2hlcmVudChkZXYsIERNQV9CSVRfTUFTSygzMikpO1xuIDc3NzpcdFx0aWYgKGVycilcbiA3Nzg6XHRcdFx0cmV0dXJuIGVycjtcbiA3Nzk6XHRcbiA3ODA6XHRcdGVyciA9IGFpcm9oYV9ucHVfcnVuX2Zpcm13YXJlKGRldiwgYmFzZSwgXHUwMDI2cmVzKTtcbiA3ODE6XHRcdGlmIChlcnIpXG4gNzgyOlx0XHRcdHJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgZXJyLCBcJiMzNDtmYWlsZWQgdG8gcnVuIG5wdSBmaXJtd2FyZVxcblwmIzM0Oyk7XG4gNzgzOlx0XG4gNzg0Olx0XHRyZWdtYXBfd3JpdGUobnB1LVx1MDAzZXJlZ21hcCwgUkVHX0NSX05QVV9NSUIoMTApLFxuIDc4NTpcdFx0XHQgICAgIHJlcy5zdGFydCAmIzQzOyBOUFVfRU43NTgxX0ZJUk1XQVJFX1JWMzJfTUFYX1NJWkUpO1xuIDc4NjpcdFx0cmVnbWFwX3dyaXRlKG5wdS1cdTAwM2VyZWdtYXAsIFJFR19DUl9OUFVfTUlCKDExKSwgMHg0MDAwMCk7IC8qIFNSQU0gMjU2SyAqL1xuIDc4NzpcdFx0cmVnbWFwX3dyaXRlKG5wdS1cdTAwM2VyZWdtYXAsIFJFR19DUl9OUFVfTUlCKDEyKSwgMCk7XG4gNzg4Olx0XHRyZWdtYXBfd3JpdGUobnB1LVx1MDAzZXJlZ21hcCwgUkVHX0NSX05QVV9NSUIoMjEpLCAxKTtcbiA3ODk6XHRcdG1zbGVlcCgxMDApO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE1LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yMCAwOToyNjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNTQyMQoJCQkJCQkJb3V0cHV0OiAxMDgKCQkJCQkJCXRob3VnaHRzOiA3ODMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQXNzZXNzbWVudDogVGhpcyBQYXRjaCBpcyBOb3QgV29ydGggRnV6emluZyoqCgpPa2F5LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duLiBUaGUgY29kZSB0b3VjaGVzIHRoZSBgYWlyb2hhX25wdWAgZHJpdmVyLiBGaXJzdCB0aGluZyB0aGF0IGp1bXBzIG91dCBpcyBpdCYjMzk7cyB1c2luZyBgb2ZfcmVzZXJ2ZWRfbWVtX3JlZ2lvbl90b19yZXNvdXJjZWAuIFRoYXQgc2NyZWFtcyAmIzM0O2RldmljZSB0cmVlJiMzNDsgYW5kIHJlc2VydmVkIG1lbW9yeSwgd2hpY2ggaW1tZWRpYXRlbHkgbWFrZXMgbWUgdGhpbmsgYWJvdXQgd2hldGhlciB0aGlzIGlzIGV2ZW4gKnBvc3NpYmxlKiBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50LiBUaGUgZmFjdCB0aGF0IGl0IGxvYWRzIGZpcm13YXJlIHdpdGggYGFpcm9oYV9ucHVfcnVuX2Zpcm13YXJlYCBqdXN0IHJlaW5mb3JjZXMgdGhhdCB0aGlzIGlzIGxpa2VseSB0aWVkIHRvIHZlcnkgc3BlY2lmaWMgaGFyZHdhcmUuCgpJdCYjMzk7cyBhIHBsYXRmb3JtIGRyaXZlciwgYnV0IGZvciB3aGF0PyBBaGEsIGl0JiMzOTtzIGZvciBhbiBBaXJvaGEgU29DLiBEZWZpbml0ZWx5IHZlbmRvci1zcGVjaWZpYy4gR0NFIGFuZCBzdGFuZGFyZCBRRU1VPyBObyB3YXkuIFRoaXMgbmVlZHMgYSB0YWlsb3JlZCBkZXZpY2UgdHJlZSBhbmQgcHJvYmFibHkgc29tZSBjdXN0b20gU29DIGVtdWxhdGlvbi4gU3l6a2FsbGVyJiMzOTtzIG5vdCBnb2luZyB0byBqdXN0IG1hZ2ljYWxseSBjb25qdXJlIHVwIHRoZSByaWdodCBwbGF0Zm9ybSBkZXZpY2UuIEkgdGhvdWdodCBtYXliZSBJIGNvdWxkIHVzZSBzeXpfZGV2cmVzLCBidXQgdGhhdCYjMzk7cyBub3QgYSBnZW5lcmljIHNvbHV0aW9uLCBhbmQgZXZlbiBpZiBpdCAqd2FzKiwgd2UmIzM5O3JlIHN0aWxsIHN0dWNrIHdpdGggdGhlIGZpcm13YXJlIHJlcXVpcmVtZW50IGFuZCByZXNlcnZlZCBtZW1vcnkuCgpJIGRvbiYjMzk7dCBoYXZlIGRpcmVjdCBhY2Nlc3MgdG8gc3l6a2FsbGVyJiMzOTtzIHJlcG9ydHMsIGJ1dCBJIGNhbiBpbmZlciBiYXNlZCBvbiB0aGUgZHJpdmVyIHR5cGUuIFRoZSBwcm9tcHQmIzM5O3MgY2xlYXI6IFZlbmRvci1zcGVjaWZpYyBzdHVmZiB0aGF0IG5lZWRzIHBoeXNpY2FsIGhhcmR3YXJlICpub3QqIGVtdWxhdGVkIGJ5IHN0YW5kYXJkIFFFTVU/IFdvcnRoRnV6emluZz1mYWxzZS4gVGhpcyBmaXRzIHRoZSBiaWxsIHBlcmZlY3RseS4KCkxldCYjMzk7cyBkb3VibGUtY2hlY2vigKYgWWVhaCwgYGFpcm9oYV9ucHVfcHJvYmVgIHRha2VzIGEgYHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXZgLiBJdCYjMzk7cyB1c2luZyBwbGF0Zm9ybS1zcGVjaWZpYyByZXNvdXJjZSBtYW5hZ2VtZW50IGZ1bmN0aW9ucywgYW5kIGl0JiMzOTtzIGxvb2tpbmcgZm9yIGEgc3BlY2lmaWMgZGV2aWNlIHRyZWUgbm9kZSAoJiMzNDthaXJvaGEsZW43NTgxLW5wdSYjMzQ7KS4gTXkgc3RhbmRhcmQgUUVNVSBzZXR1cCAob3IgZXZlbiBhIGdlbmVyaWMgYHFlbXUtc3lzdGVtLWFhcmNoNjQgLU0gdmlydGApIHN1cmUgYXMgaGVsbCB3b24mIzM5O3QgaGF2ZSB0aGF0IGRldmljZS4KClN5emthbGxlciBpc24mIzM5O3QgZ29pbmcgdG8gaGF2ZSBhbiBlYXN5IHRpbWUgaW5zdGFudGlhdGluZyB0aGlzOyBpdCB3b3VsZCBuZWVkIHRvIGtub3cgYWJvdXQgdGhlIHJlc2VydmVkIG1lbW9yeSByZWdpb25zLCBoYXZlIHRoZSBmaXJtd2FyZSBhbmQgZGV2aWNlIHRyZWUuCgpUaGVyZWZvcmUsIHRoaXMgaXMgYSBkZWFkIGVuZCBmb3IgZnV6emluZy4KSSYjMzk7bSBnb2luZyB0byByZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlLiBUaGlzIGlzIGEgbm9uLXN0YXJ0ZXIgZm9yIGZ1enppbmcuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGFpcm9oYV9ucHUgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBwbGF0Zm9ybSBkcml2ZXIgZm9yIHRoZSBBaXJvaGEgRU43NTgxIFNvQy4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgaGFyZHdhcmUgYW5kIGRldmljZSB0cmVlIGNvbmZpZ3VyYXRpb25zIChpbmNsdWRpbmcgcmVzZXJ2ZWQgbWVtb3J5IHJlZ2lvbnMgYW5kIGZpcm13YXJlKSB0aGF0IGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgdXNlZCBmb3IgZnV6emluZy4gVGhlcmVmb3JlLCB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyBhcmUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgYWlyb2hhX25wdSBkcml2ZXIsIHdoaWNoIGlzIGEgdmVuZG9yLXNwZWNpZmljIHBsYXRmb3JtIGRyaXZlciBmb3IgdGhlIEFpcm9oYSBFTjc1ODEgU29DLiBUaGlzIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBoYXJkd2FyZSBhbmQgZGV2aWNlIHRyZWUgY29uZmlndXJhdGlvbnMgKGluY2x1ZGluZyByZXNlcnZlZCBtZW1vcnkgcmVnaW9ucyBhbmQgZmlybXdhcmUpIHRoYXQgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cyB1c2VkIGZvciBmdXp6aW5nLiBUaGVyZWZvcmUsIHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGFyZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTcvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5JZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wOC0yMFQwOToyNToyNC4wMzgwMzU1ODdaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1MTk3MTIwMzMwNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJLTVNBTlJlYXNvbmluZ1wiOiBcIlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2UsXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBhaXJvaGFfbnB1IGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVyIGZvciB0aGUgQWlyb2hhIEVONzU4MSBTb0MuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIGhhcmR3YXJlIGFuZCBkZXZpY2UgdHJlZSBjb25maWd1cmF0aW9ucyAoaW5jbHVkaW5nIHJlc2VydmVkIG1lbW9yeSByZWdpb25zIGFuZCBmaXJtd2FyZSkgdGhhdCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzIHVzZWQgZm9yIGZ1enppbmcuIFRoZXJlZm9yZSwgdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgYXJlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6MjQuMDM4MDQwOTE3WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0MDY2NTg2NDgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAwZGI2ODBmYTM4YmNjZWQxYzNhMjljYTg1YmYyNmE0ZjZlNDY2ZmEzXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBUaHUgQXVnIDIwIDA5OjI1OjIzIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jXFxuaW5kZXggYjY3OWJlZDk1MmRlMy4uMzQxNmY5MjFmOTYxOSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuY1xcbkBAIC01LDYgKzUsNyBAQFxcbiAgKi9cXG4gXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9kZXZjb3JlZHVtcC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZG1hLW1hcHBpbmcuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Zpcm13YXJlLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L29mX25ldC5oXFx1MDAzZVxcbkBAIC0xNjAsMTUgKzE2MSwyMSBAQCBzdHJ1Y3Qgd2xhbl9tYm94X2RhdGEge1xcbiBcXHRERUNMQVJFX0ZMRVhfQVJSQVkodTgsIGQpO1xcbiB9O1xcbiBcXG4rc3RhdGljIHNpemVfdCBhaXJvaGFfbnB1X21ib3hfc2l6ZShzaXplX3QgbGVuKVxcbit7XFxuK1xcdHJldHVybiBBTElHTihsZW4sIGRtYV9nZXRfY2FjaGVfYWxpZ25tZW50KCkpO1xcbit9XFxuK1xcbiBzdGF0aWMgaW50IGFpcm9oYV9ucHVfc2VuZF9tc2coc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwgaW50IGZ1bmNfaWQsXFxuIFxcdFxcdFxcdCAgICAgICB2b2lkICpwLCBpbnQgc2l6ZSlcXG4ge1xcbiBcXHR1MTYgY29yZSA9IDA7IC8qIEZJWE1FICovXFxuIFxcdHUzMiB2YWwsIG9mZnNldCA9IGNvcmUgXFx1MDAzY1xcdTAwM2MgNDtcXG4gXFx0ZG1hX2FkZHJfdCBkbWFfYWRkcjtcXG4rXFx0c2l6ZV90IG1hcF9sZW4gPSBhaXJvaGFfbnB1X21ib3hfc2l6ZShzaXplKTtcXG4gXFx0aW50IHJldDtcXG4gXFxuLVxcdGRtYV9hZGRyID0gZG1hX21hcF9zaW5nbGUobnB1LVxcdTAwM2VkZXYsIHAsIHNpemUsIERNQV9CSURJUkVDVElPTkFMKTtcXG4rXFx0ZG1hX2FkZHIgPSBkbWFfbWFwX3NpbmdsZShucHUtXFx1MDAzZWRldiwgcCwgbWFwX2xlbiwgRE1BX0JJRElSRUNUSU9OQUwpO1xcbiBcXHRyZXQgPSBkbWFfbWFwcGluZ19lcnJvcihucHUtXFx1MDAzZWRldiwgZG1hX2FkZHIpO1xcbiBcXHRpZiAocmV0KVxcbiBcXHRcXHRyZXR1cm4gcmV0O1xcbkBAIC0xOTEsNyArMTk4LDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3NlbmRfbXNnKHN0cnVjdCBhaXJvaGFfbnB1ICpucHUsIGludCBmdW5jX2lkLFxcbiBcXG4gXFx0c3Bpbl91bmxvY2tfYmgoXFx1MDAyNm5wdS1cXHUwMDNlY29yZXNbY29yZV0ubG9jayk7XFxuIFxcbi1cXHRkbWFfdW5tYXBfc2luZ2xlKG5wdS1cXHUwMDNlZGV2LCBkbWFfYWRkciwgc2l6ZSwgRE1BX0JJRElSRUNUSU9OQUwpO1xcbitcXHRkbWFfdW5tYXBfc2luZ2xlKG5wdS1cXHUwMDNlZGV2LCBkbWFfYWRkciwgbWFwX2xlbiwgRE1BX0JJRElSRUNUSU9OQUwpO1xcbiBcXG4gXFx0cmV0dXJuIHJldDtcXG4gfVxcbkBAIC0zMzMsNyArMzQwLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3BwZV9pbml0KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUpXFxuIFxcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcXG4gXFx0aW50IGVycjtcXG4gXFxuLVxcdHBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTtcXG4rXFx0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7XFxuIFxcdGlmICghcHBlX2RhdGEpXFxuIFxcdFxcdHJldHVybiAtRU5PTUVNO1xcbiBcXG5AQCAtMzU0LDcgKzM2MSw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9wcGVfZGVpbml0KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUpXFxuIFxcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcXG4gXFx0aW50IGVycjtcXG4gXFxuLVxcdHBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTtcXG4rXFx0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7XFxuIFxcdGlmICghcHBlX2RhdGEpXFxuIFxcdFxcdHJldHVybiAtRU5PTUVNO1xcbiBcXG5AQCAtMzc1LDcgKzM4Miw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9wcGVfZmx1c2hfc3JhbV9lbnRyaWVzKHN0cnVjdCBhaXJvaGFfbnB1ICpucHUsXFxuIFxcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcXG4gXFx0aW50IGVycjtcXG4gXFxuLVxcdHBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTtcXG4rXFx0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7XFxuIFxcdGlmICghcHBlX2RhdGEpXFxuIFxcdFxcdHJldHVybiAtRU5PTUVNO1xcbiBcXG5AQCAtMzk5LDcgKzQwNiw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9mb2VfY29tbWl0X2VudHJ5KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUsXFxuIFxcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcXG4gXFx0aW50IGVycjtcXG4gXFxuLVxcdHBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhLCBHRlBfQVRPTUlDKTtcXG4rXFx0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0FUT01JQyk7XFxuIFxcdGlmICghcHBlX2RhdGEpXFxuIFxcdFxcdHJldHVybiAtRU5PTUVNO1xcbiBcXG5AQCAtNDM0LDcgKzQ0MSw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9wcGVfc3RhdHNfc2V0dXAoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSxcXG4gXFx0aW50IGVyciwgc2l6ZSA9IG51bV9zdGF0c19lbnRyaWVzICogc2l6ZW9mKCpucHUtXFx1MDAzZXN0YXRzKTtcXG4gXFx0c3RydWN0IHBwZV9tYm94X2RhdGEgKnBwZV9kYXRhO1xcbiBcXG4tXFx0cHBlX2RhdGEgPSBremFsbG9jX29iaigqcHBlX2RhdGEsIEdGUF9BVE9NSUMpO1xcbitcXHRwcGVfZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUoc2l6ZW9mKCpwcGVfZGF0YSkpLCBHRlBfQVRPTUlDKTtcXG4gXFx0aWYgKCFwcGVfZGF0YSlcXG4gXFx0XFx0cmV0dXJuIC1FTk9NRU07XFxuIFxcbkBAIC00NjYsNyArNDczLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3dsYW5fbXNnX3NlbmQoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwgaW50IGlmaW5kZXgsXFxuIFxcdGludCBlcnIsIGxlbjtcXG4gXFxuIFxcdGxlbiA9IHNpemVvZigqd2xhbl9kYXRhKSArIGRhdGFfbGVuO1xcbi1cXHR3bGFuX2RhdGEgPSBremFsbG9jKGxlbiwgZ2ZwKTtcXG4rXFx0d2xhbl9kYXRhID0ga3phbGxvYyhhaXJvaGFfbnB1X21ib3hfc2l6ZShsZW4pLCBnZnApO1xcbiBcXHRpZiAoIXdsYW5fZGF0YSlcXG4gXFx0XFx0cmV0dXJuIC1FTk9NRU07XFxuIFxcbkBAIC00ODksNyArNDk2LDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3dsYW5fbXNnX2dldChzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LCBpbnQgaWZpbmRleCxcXG4gXFx0aW50IGVyciwgbGVuO1xcbiBcXG4gXFx0bGVuID0gc2l6ZW9mKCp3bGFuX2RhdGEpICsgZGF0YV9sZW47XFxuLVxcdHdsYW5fZGF0YSA9IGt6YWxsb2MobGVuLCBnZnApO1xcbitcXHR3bGFuX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKGxlbiksIGdmcCk7XFxuIFxcdGlmICghd2xhbl9kYXRhKVxcbiBcXHRcXHRyZXR1cm4gLUVOT01FTTtcXG4gXFxuQEAgLTc2Niw3ICs3NzMsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldilcXG4gXFx0XFx0bnB1LVxcdTAwM2VpcnFzW2ldID0gaXJxO1xcbiBcXHR9XFxuIFxcbi1cXHRlcnIgPSBkbWFfc2V0X2NvaGVyZW50X21hc2soZGV2LCBETUFfQklUX01BU0soMzIpKTtcXG4rXFx0ZXJyID0gZG1hX3NldF9tYXNrX2FuZF9jb2hlcmVudChkZXYsIERNQV9CSVRfTUFTSygzMikpO1xcbiBcXHRpZiAoZXJyKVxcbiBcXHRcXHRyZXR1cm4gZXJyO1xcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6MjQuNDQ1NDYyMTc0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6NTE1NjM3NjQ1NTgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBhaXJvaGFfbnB1IGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVyIGZvciB0aGUgQWlyb2hhIEVONzU4MSBTb0MuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIGhhcmR3YXJlIGFuZCBkZXZpY2UgdHJlZSBjb25maWd1cmF0aW9ucyAoaW5jbHVkaW5nIHJlc2VydmVkIG1lbW9yeSByZWdpb25zIGFuZCBmaXJtd2FyZSkgdGhhdCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzIHVzZWQgZm9yIGZ1enppbmcuIFRoZXJlZm9yZSwgdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgYXJlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgMGRiNjgwZmEzOGJjY2VkMWMzYTI5Y2E4NWJmMjZhNGY2ZTQ2NmZhM1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUaHUgQXVnIDIwIDA5OjI1OjIzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmNcbmluZGV4IGI2NzliZWQ5NTJkZTMuLjM0MTZmOTIxZjk2MTkgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jXG5AQCAtNSw2ICs1LDcgQEBcbiAgKi9cbiBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9kZXZjb3JlZHVtcC5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZG1hLW1hcHBpbmcuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2Zpcm13YXJlLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L29mX25ldC5oXHUwMDNlXG5AQCAtMTYwLDE1ICsxNjEsMjEgQEAgc3RydWN0IHdsYW5fbWJveF9kYXRhIHtcbiBcdERFQ0xBUkVfRkxFWF9BUlJBWSh1OCwgZCk7XG4gfTtcbiBcbitzdGF0aWMgc2l6ZV90IGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVfdCBsZW4pXG4re1xuK1x0cmV0dXJuIEFMSUdOKGxlbiwgZG1hX2dldF9jYWNoZV9hbGlnbm1lbnQoKSk7XG4rfVxuK1xuIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9zZW5kX21zZyhzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LCBpbnQgZnVuY19pZCxcbiBcdFx0XHQgICAgICAgdm9pZCAqcCwgaW50IHNpemUpXG4ge1xuIFx0dTE2IGNvcmUgPSAwOyAvKiBGSVhNRSAqL1xuIFx0dTMyIHZhbCwgb2Zmc2V0ID0gY29yZSBcdTAwM2NcdTAwM2MgNDtcbiBcdGRtYV9hZGRyX3QgZG1hX2FkZHI7XG4rXHRzaXplX3QgbWFwX2xlbiA9IGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemUpO1xuIFx0aW50IHJldDtcbiBcbi1cdGRtYV9hZGRyID0gZG1hX21hcF9zaW5nbGUobnB1LVx1MDAzZWRldiwgcCwgc2l6ZSwgRE1BX0JJRElSRUNUSU9OQUwpO1xuK1x0ZG1hX2FkZHIgPSBkbWFfbWFwX3NpbmdsZShucHUtXHUwMDNlZGV2LCBwLCBtYXBfbGVuLCBETUFfQklESVJFQ1RJT05BTCk7XG4gXHRyZXQgPSBkbWFfbWFwcGluZ19lcnJvcihucHUtXHUwMDNlZGV2LCBkbWFfYWRkcik7XG4gXHRpZiAocmV0KVxuIFx0XHRyZXR1cm4gcmV0O1xuQEAgLTE5MSw3ICsxOTgsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfc2VuZF9tc2coc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwgaW50IGZ1bmNfaWQsXG4gXG4gXHRzcGluX3VubG9ja19iaChcdTAwMjZucHUtXHUwMDNlY29yZXNbY29yZV0ubG9jayk7XG4gXG4tXHRkbWFfdW5tYXBfc2luZ2xlKG5wdS1cdTAwM2VkZXYsIGRtYV9hZGRyLCBzaXplLCBETUFfQklESVJFQ1RJT05BTCk7XG4rXHRkbWFfdW5tYXBfc2luZ2xlKG5wdS1cdTAwM2VkZXYsIGRtYV9hZGRyLCBtYXBfbGVuLCBETUFfQklESVJFQ1RJT05BTCk7XG4gXG4gXHRyZXR1cm4gcmV0O1xuIH1cbkBAIC0zMzMsNyArMzQwLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3BwZV9pbml0KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUpXG4gXHRzdHJ1Y3QgcHBlX21ib3hfZGF0YSAqcHBlX2RhdGE7XG4gXHRpbnQgZXJyO1xuIFxuLVx0cHBlX2RhdGEgPSBremFsbG9jX29iaigqcHBlX2RhdGEpO1xuK1x0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7XG4gXHRpZiAoIXBwZV9kYXRhKVxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcbkBAIC0zNTQsNyArMzYxLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3BwZV9kZWluaXQoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSlcbiBcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcbiBcdGludCBlcnI7XG4gXG4tXHRwcGVfZGF0YSA9IGt6YWxsb2Nfb2JqKCpwcGVfZGF0YSk7XG4rXHRwcGVfZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUoc2l6ZW9mKCpwcGVfZGF0YSkpLCBHRlBfS0VSTkVMKTtcbiBcdGlmICghcHBlX2RhdGEpXG4gXHRcdHJldHVybiAtRU5PTUVNO1xuIFxuQEAgLTM3NSw3ICszODIsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfcHBlX2ZsdXNoX3NyYW1fZW50cmllcyhzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LFxuIFx0c3RydWN0IHBwZV9tYm94X2RhdGEgKnBwZV9kYXRhO1xuIFx0aW50IGVycjtcbiBcbi1cdHBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTtcbitcdHBwZV9kYXRhID0ga3phbGxvYyhhaXJvaGFfbnB1X21ib3hfc2l6ZShzaXplb2YoKnBwZV9kYXRhKSksIEdGUF9LRVJORUwpO1xuIFx0aWYgKCFwcGVfZGF0YSlcbiBcdFx0cmV0dXJuIC1FTk9NRU07XG4gXG5AQCAtMzk5LDcgKzQwNiw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9mb2VfY29tbWl0X2VudHJ5KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUsXG4gXHRzdHJ1Y3QgcHBlX21ib3hfZGF0YSAqcHBlX2RhdGE7XG4gXHRpbnQgZXJyO1xuIFxuLVx0cHBlX2RhdGEgPSBremFsbG9jX29iaigqcHBlX2RhdGEsIEdGUF9BVE9NSUMpO1xuK1x0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0FUT01JQyk7XG4gXHRpZiAoIXBwZV9kYXRhKVxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcbkBAIC00MzQsNyArNDQxLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3BwZV9zdGF0c19zZXR1cChzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LFxuIFx0aW50IGVyciwgc2l6ZSA9IG51bV9zdGF0c19lbnRyaWVzICogc2l6ZW9mKCpucHUtXHUwMDNlc3RhdHMpO1xuIFx0c3RydWN0IHBwZV9tYm94X2RhdGEgKnBwZV9kYXRhO1xuIFxuLVx0cHBlX2RhdGEgPSBremFsbG9jX29iaigqcHBlX2RhdGEsIEdGUF9BVE9NSUMpO1xuK1x0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0FUT01JQyk7XG4gXHRpZiAoIXBwZV9kYXRhKVxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcbkBAIC00NjYsNyArNDczLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3dsYW5fbXNnX3NlbmQoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwgaW50IGlmaW5kZXgsXG4gXHRpbnQgZXJyLCBsZW47XG4gXG4gXHRsZW4gPSBzaXplb2YoKndsYW5fZGF0YSkgKyBkYXRhX2xlbjtcbi1cdHdsYW5fZGF0YSA9IGt6YWxsb2MobGVuLCBnZnApO1xuK1x0d2xhbl9kYXRhID0ga3phbGxvYyhhaXJvaGFfbnB1X21ib3hfc2l6ZShsZW4pLCBnZnApO1xuIFx0aWYgKCF3bGFuX2RhdGEpXG4gXHRcdHJldHVybiAtRU5PTUVNO1xuIFxuQEAgLTQ4OSw3ICs0OTYsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfd2xhbl9tc2dfZ2V0KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUsIGludCBpZmluZGV4LFxuIFx0aW50IGVyciwgbGVuO1xuIFxuIFx0bGVuID0gc2l6ZW9mKCp3bGFuX2RhdGEpICsgZGF0YV9sZW47XG4tXHR3bGFuX2RhdGEgPSBremFsbG9jKGxlbiwgZ2ZwKTtcbitcdHdsYW5fZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUobGVuKSwgZ2ZwKTtcbiBcdGlmICghd2xhbl9kYXRhKVxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcbkBAIC03NjYsNyArNzczLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXG4gXHRcdG5wdS1cdTAwM2VpcnFzW2ldID0gaXJxO1xuIFx0fVxuIFxuLVx0ZXJyID0gZG1hX3NldF9jb2hlcmVudF9tYXNrKGRldiwgRE1BX0JJVF9NQVNLKDMyKSk7XG4rXHRlcnIgPSBkbWFfc2V0X21hc2tfYW5kX2NvaGVyZW50KGRldiwgRE1BX0JJVF9NQVNLKDMyKSk7XG4gXHRpZiAoZXJyKVxuIFx0XHRyZXR1cm4gZXJyO1xuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6MjQuNDQ1NDYzNjE0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6OTI0MjkzNTE2NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBQYXRjaCB0byBhbiBBaXJvaGEgRXRoZXJuZXQgRHJpdmVyKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgdGhlIGBhaXJvaGFfbnB1LmNgIGRyaXZlciwgc3BlY2lmaWNhbGx5IGFuIEFpcm9oYSBFdGhlcm5ldCBkcml2ZXIuIEl0IHNlZW1zIHRvIGJlIGNsZWFuaW5nIHVwIHNvbWUgRE1BLXJlbGF0ZWQgY29kZS4gVGhleSdyZSBhbGlnbmluZyBgYWlyb2hhX25wdV9tYm94X3NpemVgIHRvIGBkbWFfZ2V0X2NhY2hlX2FsaWdubWVudCgpYCwgd2hpY2ggaXMgZ29vZCBwcmFjdGljZSBmb3IgY2FjaGUgY29oZXJlbmNlLiBUaGV5J3JlIGFsc28gdXBkYXRpbmcgYGRtYV9tYXBfc2luZ2xlYCBhbmQgYGRtYV91bm1hcF9zaW5nbGVgIHRvIHVzZSBgbWFwX2xlbmAgaW5zdGVhZCBvZiBgc2l6ZWAsIGFuZCB0aGV5J3ZlIGFkanVzdGVkIHRoZSBga3phbGxvY2AgY2FsbHMgdG8gbWF0Y2ggdGhlIG5ldyBzaXplLiBQbHVzLCBhIGNoYW5nZSB0byBgZG1hX3NldF9jb2hlcmVudF9tYXNrYCBpcyBub3cgYGRtYV9zZXRfbWFza19hbmRfY29oZXJlbnRgLiBJdCdzIGFsbCBzdGFuZGFyZCBETUEgc3R1ZmYsIGJ1dCBJIG5lZWQgdG8gZmlndXJlIG91dCB0aGUgaW1wbGljYXRpb25zIGZvciBmdXp6aW5nIHRoaXMuXG5cblRoZSBxdWVzdGlvbiBpcywgY2FuIEkgcmVhY2ggdGhpcyBkcml2ZXIgd2l0aCBzdGFuZGFyZCBRRU1VPyBJdCdzIGEgcGxhdGZvcm0gZHJpdmVyLCBgYWlyb2hhX25wdV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KWAuIFBsYXRmb3JtIGRyaXZlcnMgZm9yIHNwZWNpZmljIFNvQ3MgYXJlIG9mdGVuIGEgcGFpbiB0byBnZXQgd29ya2luZyBpbiB2YW5pbGxhIFFFTVUuIFRoZXkgdXN1YWxseSByZXF1aXJlIGhhcmR3YXJlIG9yIHNvbWUgc3BlY2lmaWMgZW11bGF0aW9uLCBvciBhdCBsZWFzdCBhIGRldmljZSB0cmVlIG92ZXJsYXkuIEkgaGF2ZSB0byBzZWUgaWYgdGhpcyBpcyBwb3NzaWJsZS5cblxuSSdtIHRoaW5raW5nIGFib3V0IHRoZSBwcm9tcHQncyBpbnN0cnVjdGlvbnM6IFwiUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWlucy4uLiB2ZW5kb3Itc3BlY2lmaWMuLi4gZHJpdmVycyB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVVwiLiBSaWdodCwgd2hhdCBhYm91dCBTb0Mtc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVycz8gKklzKiBgYWlyb2hhX25wdWAgb25lIG9mIHRob3NlPyBZZXMsIGNvbmZpcm1lZCwgcGxhdGZvcm0gZHJpdmVyLiBTbywgdGhlIGNydWNpYWwgcXVlc3Rpb246IGNhbiB0aGlzIGJlIGZ1enplZD9cblxuU3l6a2FsbGVyIGNhbiBzb21ldGltZXMgaW5zdGFudGlhdGUgcGxhdGZvcm0gZHJpdmVycywgZXNwZWNpYWxseSBpZiB0aGV5IGNhbiBiZSBjcmVhdGVkIHZpYSBwc2V1ZG8tZGV2aWNlcywgb3IgYXJlIG1hdGNoZWQgYnkgYSBnZW5lcmljIHBsYXRmb3JtIGRldmljZSwgYnV0IFNvQy1zcGVjaWZpYyBvbmVzIGFyZSBhIGNoYWxsZW5nZSwgdW5sZXNzIHRoZXJlJ3MgYSB3YXkgdG8gY3JlYXRlIHRoZSBwbGF0Zm9ybSBkZXZpY2UuIERvZXMgU3l6a2FsbGVyIHVzZSBgc3l6X2RldnJlc2Agb3Igc2ltaWxhcj8gTm8uIERvZXMgaXQgY3JlYXRlIHBsYXRmb3JtIGRldmljZXMgYnkgd3JpdGluZyB0byBgL3N5cy9kZXZpY2VzL3BsYXRmb3JtYD8gTm8uIEdlbmVyYWxseSwgaXQgZG9lc24ndCBjcmVhdGUgYXJiaXRyYXJ5IGRldmljZXMgdW5sZXNzIHRoZXJlIGlzIGEgc3l6bGFuZyBkZXNjcmlwdGlvbi5cblxuQnV0IHdhaXQsIEkgc2VlbSB0byByZW1lbWJlciBzb21ldGhpbmcgYWJvdXQgc3l6a2FsbGVyIHN1cHBvcnRpbmcgcGxhdGZvcm0gZGV2aWNlcyBpZiB0aGV5J3JlIGRlc2NyaWJlZCBpbiBgc3lzL2xpbnV4L2Rldl8qLnR4dGAgb3Igc29tZXRoaW5nIHNpbWlsYXI/IEkgbmVlZCB0byBjaGVjayBpZiBBaXJvaGEgaXMgZXZlbiBzdXBwb3J0ZWQgYnkgc3l6a2FsbGVyLiBUaGF0J3MgdGhlIGtleS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzQ4NCwiT3V0cHV0VG9rZW5zIjoyMiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjYwNywiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTIwVDA5OjI1OjMzLjY4ODQwMjAyMloiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMDkxMDA4NzIyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImFpcm9oYVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiXFxuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA3NDkzIGxpbmVzLlxcblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cXG5cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sI1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbD0xMj1kZXNjcmlwdGlvbjpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbDoxMzogIFRoZSBhaXJvaGEgY2hpcC1zY3UgYmxvY2sgcHJvdmlkZXMgYSBjb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgY2xvY2ssXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEsZW43NTgxLWNoaXAtc2N1LnlhbWwtMTQtICBpby1tdXhpbmcgYW5kIG90aGVyIGZ1bmN0aW9uYWxpdGllcyB1c2VkIGJ5IG11bHRpcGxlIGNvbnRyb2xsZXJzIChlLmcuIGNsb2NrLFxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEsZW43NTgxLWNoaXAtc2N1LnlhbWw9MTc9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sLTIwLSAgICAgIC0gZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbDoyMTogICAgICAgICAgLSBhaXJvaGEsZW43NTgxLWNoaXAtc2N1XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEsZW43NTgxLWNoaXAtc2N1LnlhbWwtMjItICAgICAgLSBjb25zdDogc3lzY29uXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbD0zMz1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sLTM4LSAgICAgIHN5c2NvbkAxZmEyMDAwMCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEsZW43NTgxLWNoaXAtc2N1LnlhbWw6Mzk6ICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1ODEtY2hpcC1zY3VcXFwiLCBcXFwic3lzY29uXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbC00MC0gICAgICAgIHJlZyA9IFxcdTAwM2MweDAgMHgxZmEyMDAwMCAweDAgMHgzODhcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2FybS9haXJvaGEueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sPTE2PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sLTIyLSAgICAgICAgICAtIGVudW06XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEueWFtbDoyMzogICAgICAgICAgICAgIC0gYWlyb2hhLGVuNzUyMy1ldmJcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sOjI0OiAgICAgICAgICAtIGNvbnN0OiBhaXJvaGEsZW43NTIzXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEueWFtbC0yNS0gICAgICAtIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLnlhbWwtMjYtICAgICAgICAgIC0gZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sOjI3OiAgICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLWV2YlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLnlhbWw6Mjg6ICAgICAgICAgIC0gY29uc3Q6IGFpcm9oYSxlbjc1ODFcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sLTI5LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtMy0tLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw9Mjk9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sLTMyLSAgICAgIC0gZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbDozMzogICAgICAgICAgLSBhaXJvaGEsZW43NTIzLXNjdVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sOjM0OiAgICAgICAgICAtIGFpcm9oYSxlbjc1ODEtc2N1XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtMzUtICAgICAgICAgIC0gZWNvbmV0LGVuNzUxMjIxLXNjdVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw9NTg9YWxsT2Y6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC02MS0gICAgICAgIGNvbXBhdGlibGU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw6NjI6ICAgICAgICAgIGNvbnN0OiBhaXJvaGEsZW43NTIzLXNjdVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sLTYzLSAgICB0aGVuOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtNzEtICAgICAgICAgIGVudW06XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw6NzI6ICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLXNjdVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sLTczLSAgICAgICAgICAgIC0gZWNvbmV0LGVuNzUxMjIxLXNjdVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw9ODE9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC04NC0gICAgc2N1OiBzeXN0ZW0tY29udHJvbGxlckAxZmEyMDAwMCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw6ODU6ICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsZW43NTIzLXNjdVxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtODYtICAgICAgcmVnID0gXFx1MDAzYzB4MWZhMjAwMDAgMHg0MDBcXHUwMDNlLFxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtOTctICAgICAgc2N1Y2xrOiBjbG9jay1jb250cm9sbGVyQDFmYjAwMDAwIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbDo5ODogICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGVuNzU4MS1zY3VcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sLTk5LSAgICAgICAgcmVnID0gXFx1MDAzYzB4MCAweDFmYjAwMDAwIDB4MCAweDk3MFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sI1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbD0yNj1wcm9wZXJ0aWVzOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sLTI3LSAgY29tcGF0aWJsZTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbDoyODogICAgY29uc3Q6IGFpcm9oYSxlbjc1ODEtY3B1ZnJlcVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sLTI5LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2NwdWZyZXEvYWlyb2hhLGVuNzU4MS1jcHVmcmVxLnlhbWw9NDY9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbC00OC0gICAgcGVyZm9ybWFuY2UtZG9tYWluIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbDo0OTogICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGVuNzU4MS1jcHVmcmVxXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbC01MC1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sPTMwPXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3J5cHRvL2luc2lkZS1zZWN1cmUsc2FmZXhjZWwtZWlwOTMueWFtbC0zMy0gICAgICAtIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sOjM0OiAgICAgICAgICAtIGNvbnN0OiBhaXJvaGEsZW43NTgxLWVpcDkzXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2NyeXB0by9pbnNpZGUtc2VjdXJlLHNhZmV4Y2VsLWVpcDkzLnlhbWwtMzUtICAgICAgICAgIC0gY29uc3Q6IGluc2lkZS1zZWN1cmUsc2FmZXhjZWwtZWlwOTNpZXNcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sPTU4PWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2NyeXB0by9pbnNpZGUtc2VjdXJlLHNhZmV4Y2VsLWVpcDkzLnlhbWwtNjItICAgIGNyeXB0b0AxZTAwNDAwMCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2NyeXB0by9pbnNpZGUtc2VjdXJlLHNhZmV4Y2VsLWVpcDkzLnlhbWw6NjM6ICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsZW43NTgxLWVpcDkzXFxcIiwgXFxcImluc2lkZS1zZWN1cmUsc2FmZXhjZWwtZWlwOTNpZXNcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sLTY0LSAgICAgIHJlZyA9IFxcdTAwM2MweDFmYjcwMDAwIDB4MTAwMFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sI1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbD0xNj1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWwtMjEtICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sOjIyOiAgICAgIC0gY29uc3Q6IGFpcm9oYSxlbjc1MjMtZ3Bpb1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sLTIzLVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWw9NDQ9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbC00Ni0gICAgZ3BpbzA6IGdwaW9AMWZiZjAyMDAge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sOjQ3OiAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsZW43NTIzLWdwaW9cXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sLTQ4LSAgICAgICAgcmVnID0gXFx1MDAzYzB4MWZiZjAyMDQgMHg0XFx1MDAzZSxcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sLTU2LSAgICBncGlvMTogZ3Bpb0AxZmJmMDI3MCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWw6NTc6ICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1MjMtZ3Bpb1xcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWwtNTgtICAgICAgICByZWcgPSBcXHUwMDNjMHgxZmJmMDI3MCAweDRcXHUwMDNlLFxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwtMy0tLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw9MTc9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTE5LSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbDoyMDogICAgICAtIGNvbnN0OiBhaXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwtMjEtICAgICAgLSBjb25zdDogc3lzY29uXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC0yOC0gICAgdHlwZTogb2JqZWN0XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw6Mjk6ICAgICRyZWY6IC9zY2hlbWFzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWxcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC0zMC0gICAgZGVzY3JpcHRpb246XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC0zNC0gICAgdHlwZTogb2JqZWN0XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw6MzU6ICAgICRyZWY6IC9zY2hlbWFzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwtMzYtICAgIGRlc2NyaXB0aW9uOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw9NDU9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC00OS0gICAgc3lzdGVtLWNvbnRyb2xsZXJAMWZiZjAyMDAge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sOjUwOiAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bFxcXCIsIFxcXCJzeXNjb25cXFwiLCBcXFwic2ltcGxlLW1mZFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwtNTEtICAgICAgcmVnID0gXFx1MDAzYzB4MWZiZjAyMDAgMHhjMFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC01My0gICAgICBwaW5jdHJsIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbDo1NDogICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGVuNzU4MS1waW5jdHJsXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC01NS1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTg1LSAgICAgIHB3bSB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw6ODY6ICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1ODEtcHdtXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC04Ny1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvc3lzY29uLnlhbWw9MjU9c2VsZWN0Olxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9zeXNjb24ueWFtbC0yOS0gICAgICAgIGVudW06XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9zeXNjb24ueWFtbDozMDogICAgICAgICAgLSBhaXJvaGEsZW43NTgxLXBidXMtY3NyXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9zeXNjb24ueWFtbC0zMS0gICAgICAgICAgLSBhbCxhbHBpbmUtc3lzZmFicmljLXNlcnZpY2VcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvc3lzY29uLnlhbWw9MTM4PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL3N5c2Nvbi55YW1sLTE0Mi0gICAgICAgICAgLSBlbnVtOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvc3lzY29uLnlhbWw6MTQzOiAgICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLXBidXMtY3NyXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9zeXNjb24ueWFtbC0xNDQtICAgICAgICAgICAgICAtIGFsLGFscGluZS1zeXNmYWJyaWMtc2VydmljZVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGFuNzU4My1tZGlvLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sPTIyPXByb3BlcnRpZXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbC0yMy0gIGNvbXBhdGlibGU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbDoyNDogICAgY29uc3Q6IGFpcm9oYSxhbjc1ODMtbWRpb1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGFuNzU4My1tZGlvLnlhbWwtMjUtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sPTQ2PWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbC01Mi0gICAgICAgIG1kaW8tYnVzQGM4IHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sOjUzOiAgICAgICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGFuNzU4My1tZGlvXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sLTU0LSAgICAgICAgICAgIHJlZyA9IFxcdTAwM2MweGM4XFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGFuODgwMS55YW1sLTMtLS0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW44ODAxLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL25ldC9haXJvaGEsYW44ODAxLnlhbWwjXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW44ODAxLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwjXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw9MTY9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0xOC0gICAgZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MTk6ICAgICAgLSBhaXJvaGEsZW43NTgxLWV0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDoyMDogICAgICAtIGFpcm9oYSxhbjc1ODMtZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTIxLVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTc4LVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDo3OTogIGFpcm9oYSxucHU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTgwLSAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw9ODc9YWxsT2Y6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtOTMtICAgICAgICAgICAgZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6OTQ6ICAgICAgICAgICAgICAtIGFpcm9oYSxlbjc1ODEtZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTk1LSAgICB0aGVuOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTEwNy0gICAgICAgICAgICBlbnVtOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDoxMDg6ICAgICAgICAgICAgICAtIGFpcm9oYSxhbjc1ODMtZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTEwOS0gICAgdGhlbjpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbD0xMTc9cGF0dGVyblByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMTI1LSAgICAgIGNvbXBhdGlibGU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjEyNjogICAgICAgIGNvbnN0OiBhaXJvaGEsZXRoLW1hY1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0xMjctXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMTU4LSAgICAgICAgICAgICAgICBjb21wYXRpYmxlOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDoxNTk6ICAgICAgICAgICAgICAgICAgY29uc3Q6IGFpcm9oYSxldGgtcG9ydFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0xNjAtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw9MTgyPWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTE5Mi0gICAgICBldGg6IGV0aGVybmV0QDFmYjUwMDAwIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MTkzOiAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsZW43NTgxLWV0aFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTE5NC0gICAgICAgIHJlZyA9IFxcdTAwM2MwIDB4MWZiNTAwMDAgMCAweDI2MDBcXHUwMDNlLFxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTIyNC1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MjI1OiAgICAgICAgYWlyb2hhLG5wdSA9IFxcdTAwM2NcXHUwMDI2bnB1XFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMjI2LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTIzMC0gICAgICAgIGV0aGVybmV0QDEge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDoyMzE6ICAgICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGV0aC1tYWNcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yMzItICAgICAgICAgIHJlZyA9IFxcdTAwM2MxXFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yMzUtICAgICAgICBldGhlcm5ldEA0IHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MjM2OiAgICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxldGgtbWFjXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMjM3LSAgICAgICAgICByZWcgPSBcXHUwMDNjNFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMjQyLSAgICAgICAgICBldGhlcm5ldEAwIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MjQzOiAgICAgICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGV0aC1wb3J0XFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMjQ0LSAgICAgICAgICAgIHJlZyA9IFxcdTAwM2MwXFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yNDctICAgICAgICAgIGV0aGVybmV0QDEge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDoyNDg6ICAgICAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsZXRoLXBvcnRcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yNDktICAgICAgICAgICAgcmVnID0gXFx1MDAzYzFcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sLTMtLS0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbD0xNz1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sLTE5LSAgICBlbnVtOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbDoyMDogICAgICAtIGFpcm9oYSxlbjc1ODEtbnB1XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sOjIxOiAgICAgIC0gYWlyb2hhLGFuNzU4My1ucHVcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWwtMjItXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWw9NzU9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWwtODMtICAgICAgbnB1QDFlOTAwMDAwIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWw6ODQ6ICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1ODEtbnB1XFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWwtODUtICAgICAgICByZWcgPSBcXHUwMDNjMCAweDFlOTAwMDAwIDAgMHgzMTMwMDBcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sLTEwMy0gICAgICAgIG1lbW9yeS1yZWdpb24tbmFtZXMgPSBcXFwiZmlybXdhcmVcXFwiLCBcXFwicGt0XFxcIiwgXFxcInR4LXBrdFxcXCIsIFxcXCJ0eC1idWZpZFxcXCIsIFxcXCJiYVxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sOjEwNDogICAgICAgIGZpcm13YXJlLW5hbWUgPSBcXFwiYWlyb2hhL2VuNzU4MV9ucHVfcnYzMi5iaW5cXFwiLFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbDoxMDU6ICAgICAgICAgICAgICAgICAgICAgICAgXFxcImFpcm9oYS9lbjc1ODFfbnB1X2RhdGEuYmluXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWwtMTA2LSAgICAgIH07XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWwtMy0tLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL25ldC9haXJvaGEsZW44ODExaC55YW1sI1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuODgxMWgueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW44ODExaC55YW1sPTIxPXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWwtMjgtXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW44ODExaC55YW1sOjI5OiAgYWlyb2hhLHBuc3dhcC1yeDpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWwtMzAtICAgIHR5cGU6IGJvb2xlYW5cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuODgxMWgueWFtbC0zNy1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWw6Mzg6ICBhaXJvaGEscG5zd2FwLXR4OlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuODgxMWgueWFtbC0zOS0gICAgdHlwZTogYm9vbGVhblxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9kc2EvbWVkaWF0ZWssbXQ3NTMwLnlhbWw9NzY9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sLTk2LSAgICAgICAgICBCdWlsdC1pbiBzd2l0Y2ggb2YgdGhlIEFpcm9oYSBFTjc1ODEgU29DXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9kc2EvbWVkaWF0ZWssbXQ3NTMwLnlhbWw6OTc6ICAgICAgICBjb25zdDogYWlyb2hhLGVuNzU4MS1zd2l0Y2hcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2RzYS9tZWRpYXRlayxtdDc1MzAueWFtbC05OC1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sLTEwMC0gICAgICAgICAgQnVpbHQtaW4gc3dpdGNoIG9mIHRoZSBBaXJvaGEgQU43NTgzIFNvQ1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sOjEwMTogICAgICAgIGNvbnN0OiBhaXJvaGEsYW43NTgzLXN3aXRjaFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sLTEwMi1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sPTI2OT1hbGxPZjpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sLTMxOC0gICAgICAgICAgICAtIG1lZGlhdGVrLG10Nzk4OC1zd2l0Y2hcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2RzYS9tZWRpYXRlayxtdDc1MzAueWFtbDozMTk6ICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLXN3aXRjaFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sOjMyMDogICAgICAgICAgICAtIGFpcm9oYSxhbjc1ODMtc3dpdGNoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9kc2EvbWVkaWF0ZWssbXQ3NTMwLnlhbWwtMzIxLSAgICB0aGVuOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1lbS9haXJvaGEsYW44ODU1LWVmdXNlLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sPTE4PXByb3BlcnRpZXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbC0xOS0gIGNvbXBhdGlibGU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbDoyMDogICAgY29uc3Q6IGFpcm9oYSxhbjg4NTUtZWZ1c2VcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sLTIxLVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbD0zMT1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1lbS9haXJvaGEsYW44ODU1LWVmdXNlLnlhbWwtMzMtICAgIGVmdXNlIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sOjM0OiAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsYW44ODU1LWVmdXNlXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sLTM1LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLWdlbjMueWFtbD00Nj1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLWdlbjMueWFtbC02MS0gICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDgxOTYtcGNpZVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWw6NjI6ICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MS1wY2llXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLWdlbjMueWFtbC02My1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWw9MTYwPWFsbE9mOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLWdlbjMueWFtbC0yODItICAgICAgICBjb21wYXRpYmxlOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWw6MjgzOiAgICAgICAgICBjb25zdDogYWlyb2hhLGVuNzU4MS1wY2llXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLWdlbjMueWFtbC0yODQtICAgIHRoZW46XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbD0xMj1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWwtMTUtICAgICAgLSBlbnVtOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sOjE2OiAgICAgICAgICAtIGFpcm9oYSxhbjc1ODMtcGNpZVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sLTE3LSAgICAgICAgICAtIGVjb25ldCxlbjc1MjgtcGNpZVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWwtMjEtICAgICAgLSBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbDoyMjogICAgICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzUyMy1wY2llXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWwtMjMtICAgICAgICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10NzYyMi1wY2llXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbD0xMDk9YWxsT2Y6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbC0xMTQtICAgICAgICBjb21wYXRpYmxlOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sOjExNTogICAgICAgICAgY29uc3Q6IGFpcm9oYSxhbjc1ODMtcGNpZVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sLTExNi0gICAgdGhlbjpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sLTIwOC0gICAgICAgICAgY29udGFpbnM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWw6MjA5OiAgICAgICAgICAgIGNvbnN0OiBhaXJvaGEsZW43NTIzLXBjaWVcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbC0yMTAtICAgIHRoZW46XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbD0yNTc9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbC00MjUtICAgICAgICBwY2llQDFmYTkyMDAwIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbDo0MjY6ICAgICAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsYW43NTgzLXBjaWVcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sLTQyNy0gICAgICAgICAgICBkZXZpY2VfdHlwZSA9IFxcXCJwY2lcXFwiO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWwtMy0tLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWw9MTU9cHJvcGVydGllczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbC0xNi0gIGNvbXBhdGlibGU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWw6MTc6ICAgIGNvbnN0OiBhaXJvaGEsZW43NTgxLXBjaWUtcGh5XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWwtMTgtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbD00OD1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waHkvYWlyb2hhLGVuNzU4MS1wY2llLXBoeS55YW1sLTU2LSAgICAgICAgcGh5QDExZTgwMDAwIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbDo1NzogICAgICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1ODEtcGNpZS1waHlcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waHkvYWlyb2hhLGVuNzU4MS1wY2llLXBoeS55YW1sLTU4LSAgICAgICAgICAgICNwaHktY2VsbHMgPSBcXHUwMDNjMFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sI1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbD0xNT1wcm9wZXJ0aWVzOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sLTE2LSAgY29tcGF0aWJsZTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbDoxNzogICAgY29uc3Q6IGFpcm9oYSxhbjc1ODMtcGluY3RybFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sLTE4LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGFuNzU4My1waW5jdHJsLnlhbWw9MzMzPWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGFuNzU4My1waW5jdHJsLnlhbWwtMzM3LSAgICBwaW5jdHJsIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbDozMzg6ICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsYW43NTgzLXBpbmN0cmxcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sLTMzOS1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sLTMtLS0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWwjXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sPTE1PXByb3BlcnRpZXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWwtMTYtICBjb21wYXRpYmxlOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sOjE3OiAgICBjb25zdDogYWlyb2hhLGVuNzU4MS1waW5jdHJsXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWwtMTgtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsZW43NTgxLXBpbmN0cmwueWFtbD0zMzQ9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsZW43NTgxLXBpbmN0cmwueWFtbC0zMzgtICAgIHBpbmN0cmwge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sOjMzOTogICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1ODEtcGluY3RybFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWwtMzQwLVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sLTMtLS0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcHdtL2Fpcm9oYSxlbjc1ODEtcHdtLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbD0xNT1wcm9wZXJ0aWVzOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbC0xNi0gIGNvbXBhdGlibGU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sOjE3OiAgICBjb25zdDogYWlyb2hhLGVuNzU4MS1wd21cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcHdtL2Fpcm9oYSxlbjc1ODEtcHdtLnlhbWwtMTgtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcHdtL2Fpcm9oYSxlbjc1ODEtcHdtLnlhbWw9Mjg9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcHdtL2Fpcm9oYSxlbjc1ODEtcHdtLnlhbWwtMzAtICAgIHB3bSB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sOjMxOiAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGVuNzU4MS1wd21cXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbC0zMi1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWwtMy0tLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvcm5nL2Fpcm9oYSxlbjc1ODEtdHJuZy55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWwjXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbD0xMj1wcm9wZXJ0aWVzOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWwtMTMtICBjb21wYXRpYmxlOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWw6MTQ6ICAgIGNvbnN0OiBhaXJvaGEsZW43NTgxLXRybmdcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvcm5nL2Fpcm9oYSxlbjc1ODEtdHJuZy55YW1sLTE1LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbD0yOT1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWwtMzQtICAgIHJuZ0AxZmFhMTAwMCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbDozNTogICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGVuNzU4MS10cm5nXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvcm5nL2Fpcm9oYSxlbjc1ODEtdHJuZy55YW1sLTM2LSAgICAgICAgcmVnID0gXFx1MDAzYzB4MWZhYTEwMDAgMHgxMDAwXFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sLTMtLS0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwjXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sPTE1PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc3BpL2Fpcm9oYSxlbjc1ODEtc25hbmQueWFtbC0xNy0gICAgb25lT2Y6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWw6MTg6ICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MS1zbmFuZFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sLTE5LSAgICAgIC0gaXRlbXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwtMjAtICAgICAgICAgIC0gZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc3BpL2Fpcm9oYSxlbjc1ODEtc25hbmQueWFtbDoyMTogICAgICAgICAgICAgIC0gYWlyb2hhLGVuNzUyMy1zbmFuZFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sOjIyOiAgICAgICAgICAtIGNvbnN0OiBhaXJvaGEsZW43NTgxLXNuYW5kXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwtMjMtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc3BpL2Fpcm9oYSxlbjc1ODEtc25hbmQueWFtbD00ND1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sLTUyLSAgICAgIHNwaUAxZmExMDAwMCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWw6NTM6ICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1ODEtc25hbmRcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sLTU0LSAgICAgICAgcmVnID0gXFx1MDAzYzB4MCAweDFmYTEwMDAwIDB4MCAweDE0MFxcdTAwM2UsXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sI1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbD0xMj1wcm9wZXJ0aWVzOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTEzLSAgY29tcGF0aWJsZTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbDoxNDogICAgY29uc3Q6IGFpcm9oYSxlbjc1ODEtdGhlcm1hbFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTE1LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtMjEtXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWw6MjI6ICBhaXJvaGEsY2hpcC1zY3U6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtMjMtICAgIGRlc2NyaXB0aW9uOiBwaGFuZGxlIHRvIHRoZSBjaGlwIFNDVSBzeXNjb25cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sPTI5PXJlcXVpcmVkOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtMzItICAtIGludGVycnVwdHNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbDozMzogIC0gYWlyb2hhLGNoaXAtc2N1XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtMzQtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbD0zNz1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTQxLSAgICB0aGVybWFsLXNlbnNvckAxZWZiZDgwMCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWw6NDI6ICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1ODEtdGhlcm1hbFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtNDMtICAgICAgICByZWcgPSBcXHUwMDNjMHgxZWZiZDAwMCAweGQ1Y1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtNDQtICAgICAgICBpbnRlcnJ1cHRzID0gXFx1MDAzY0dJQ19TUEkgMjMgSVJRX1RZUEVfTEVWRUxfSElHSFxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWw6NDU6ICAgICAgICBhaXJvaGEsY2hpcC1zY3UgPSBcXHUwMDNjXFx1MDAyNmNoaXBfc2N1XFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbC00Ni1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy92ZW5kb3ItcHJlZml4ZXMueWFtbD0xNj1wYXR0ZXJuUHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy92ZW5kb3ItcHJlZml4ZXMueWFtbC03OC0gICAgZGVzY3JpcHRpb246IEFFU09QIEVtYmVkZGVkIEZvcnVtXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3ZlbmRvci1wcmVmaXhlcy55YW1sOjc5OiAgXFxcIl5haXJvaGEsLipcXFwiOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy92ZW5kb3ItcHJlZml4ZXMueWFtbC04MC0gICAgZGVzY3JpcHRpb246IEFpcm9oYVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWwtMy0tLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWw9MTU9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy93YXRjaGRvZy9haXJvaGEsZW43NTgxLXdkdC55YW1sLTE4LSAgICAgIC0gaXRlbXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWw6MTk6ICAgICAgICAgIC0gY29uc3Q6IGFpcm9oYSxhbjc1ODMtd2R0XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWw6MjA6ICAgICAgICAgIC0gY29uc3Q6IGFpcm9oYSxlbjc1ODEtd2R0XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWw6MjE6ICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MS13ZHRcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbC0yMi1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy93YXRjaGRvZy9haXJvaGEsZW43NTgxLXdkdC55YW1sPTQxPWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWwtNDUtICAgIHdhdGNoZG9nQDFmYmYwMTAwIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbDo0NjogICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGVuNzU4MS13ZHRcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy93YXRjaGRvZy9haXJvaGEsZW43NTgxLXdkdC55YW1sLTQ3LSAgICAgICAgcmVnID0gXFx1MDAzYzB4MWZiZjAxMDAgMHgzY1xcdTAwM2U7XFxuLS1cXG5NQUlOVEFJTkVSUz03NTk9UzpcXHRNYWludGFpbmVkXFxuTUFJTlRBSU5FUlM6NzYwOkY6XFx0RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sXFxuTUFJTlRBSU5FUlM6NzYxOkY6XFx0ZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL1xcbk1BSU5UQUlORVJTLTc2Mi1cXG4tLVxcbk1BSU5UQUlORVJTPTc2Nj1TOlxcdE1haW50YWluZWRcXG5NQUlOVEFJTkVSUzo3Njc6RjpcXHREb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbFxcbk1BSU5UQUlORVJTOjc2ODpGOlxcdGRyaXZlcnMvcGh5L3BoeS1haXJvaGEtcGNpZS1yZWdzLmhcXG5NQUlOVEFJTkVSUzo3Njk6RjpcXHRkcml2ZXJzL3BoeS9waHktYWlyb2hhLXBjaWUuY1xcbk1BSU5UQUlORVJTLTc3MC1cXG5cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6MzUuNzc5NDE3Nzc0WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDYxMzg3MTkxMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipJbnZlc3RpZ2F0aW5nIHRoZSBBaXJvaGEgRXRoZXJuZXQgRHJpdmVyJ3MgUUVNVSBSZWFjaGFiaWxpdHkqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGUgYGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmNgIGRyaXZlci4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBjYW4gSSBldmVuICpnZXQqIHRvIHRoaXMgdGhpbmcgaW4gYSBRRU1VIGVudmlyb25tZW50PyBFdGhlcm5ldCBkcml2ZXJzIGFyZSB0eXBpY2FsbHkgaG9va2VkIHVwIHZpYSBQQ0kgb3IgcGxhdGZvcm0gZGV2aWNlcywgYW5kIEkgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSBjb25uZWN0aW9uLiBMZXQncyBkaWcgaW50byB0aGUgc291cmNlIGNvZGUgb2YgYGFpcm9oYV9ucHUuY2AgYW5kIHNlZSBleGFjdGx5IGhvdyB0aGlzIGRyaXZlciByZWdpc3RlcnMgd2l0aCB0aGUgc3lzdGVtLiBUaGF0J3MgZ29pbmcgdG8gYmUgbXkga2V5IHRvIHVuZGVyc3RhbmRpbmcgaXRzIFFFTVUgY29tcGF0aWJpbGl0eS4gVGltZSB0byBnbyBzcGVsdW5raW5nIVxuXG5cbiIsIklucHV0VG9rZW5zIjoxODYyOCwiT3V0cHV0VG9rZW5zIjozNywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjc0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTIwVDA5OjI1OjQwLjM5MzI5MTYxM1oiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NDMwNDAxNiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJhaXJvaGFfbnB1X3Byb2JlXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYz02OTI9c3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIHJlZ21hcF9jb25maWcgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jLTY5OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jOjcwMDpzdGF0aWMgaW50IGFpcm9oYV9ucHVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jLTcwMS17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jPTgyMD1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBhaXJvaGFfbnB1X2RyaXZlciA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jOjgyMTpcXHQucHJvYmUgPSBhaXJvaGFfbnB1X3Byb2JlLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtODIyLVxcdC5yZW1vdmUgPSBhaXJvaGFfbnB1X3JlbW92ZSxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6NDAuNDM3NjA3NDg5WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDcyMzc2ODA5OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipJbnZlc3RpZ2F0aW5nIHRoZSBSZWFjaGFiaWxpdHkgb2YgdGhlIEFpcm9oYSBOUFUgRHJpdmVyIGluIFFFTVUqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIGRyaXZlciwgY2xlYXJseSBhIHBsYXRmb3JtIGRyaXZlci4gVGhlIGltbWVkaWF0ZSBxdWVzdGlvbiBpcywgY2FuIEkgYWN0dWFsbHkgKmdldCogdG8gYGFpcm9oYV9ucHVfcHJvYmVgIHdpdGhpbiBhIFFFTVUgZW52aXJvbm1lbnQ/IEhpc3RvcmljYWxseSwgdGhlc2Ugc3BlY2lmaWMgU29DIHBsYXRmb3JtIGRyaXZlcnMgYXJlIHRyaWNreSDigJMgdGhleSdyZSBnZW5lcmFsbHkgbm90IHRyaWdnZXJlZCB1bmxlc3MgSSd2ZSBnb3QgYSBRRU1VIGJvYXJkIGVtdWxhdGlvbiB0aGF0IHNwZWNpZmljYWxseSBpbmNsdWRlcyB0aGUgQWlyb2hhIHNpbGljb24sIG9yIEknbSBsZXZlcmFnaW5nIHNvbWV0aGluZyBsaWtlIHN5emthbGxlciB0byBpbmplY3QgdGhlIHJpZ2h0IHBsYXRmb3JtIGRldmljZXMuXG5cbkFoYSwgdGhhdCdzIHdoZXJlIEkgbmVlZCB0byBwaXZvdC4gU3l6a2FsbGVyLi4uIGl0IGNhbiBkZXNjcmliZSBhbmQgaW5qZWN0IHBsYXRmb3JtIGRldmljZXMgdmlhIHN5emxhbmcsIHJpZ2h0PyBUaGF0J3MgdGhlIGtleS4gSSBuZWVkIHRvIHF1aWNrbHkgY2hlY2sgaWYgYSBzeXpsYW5nIGRlc2NyaXB0aW9uIGZvciBcImFpcm9oYVwiIGV4aXN0cy4gSWYgaXQgZG9lcywgdGhlbiBJJ3ZlIGdvdCBhIG11Y2ggYmV0dGVyIHNob3QgYXQgcHJvYmluZyB0aGF0IGRyaXZlciB3aXRoaW4gbXkgY29udHJvbGxlZCBlbnZpcm9ubWVudC4gVGhhdCdzIHRoZSBuZXh0IGxvZ2ljYWwgc3RlcCBpbiB0aGUgaW52ZXN0aWdhdGlvbi5cblxuXG4iLCJJbnB1dFRva2VucyI6MTkxMzIsIk91dHB1dFRva2VucyI6MjYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo5OSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0yMFQwOToyNTo0NS4xNjEzNzc3NTdaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDYxODE1NTUsIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImFpcm9oYVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJzeXMvbGludXgvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcImVycm9yXCI6IFwibm8gbWF0Y2hlc1wiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0yMFQwOToyNTo0NS4yMDc1NjgyOTJaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3NTk0MzUyMzg5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIFF1ZXJ5J3MgU2NvcGUqKlxuXG5Pa2F5LCBzbyB0aGUgaW5pdGlhbCBpbnN0cnVjdGlvbiBpcyBjbGVhcjogSSAqY2Fubm90KiB1c2UgdGhpcyB0b29sIHRvIGRpcmVjdGx5IGludmVzdGlnYXRlIHN5emthbGxlcidzIHN5emxhbmcgZGVzY3JpcHRpb25zLiBJJ2xsIG5lZWQgYHJlYWQtc3l6LXNwZWNgIGFuZCBgc3l6LWdyZXBwZXJgIGZvciB0aGF0LCB3aGljaCBJIGRvbid0IGhhdmUgYWNjZXNzIHRvIGluIHRoaXMgY29udGV4dC4gSSdtIGxpbWl0ZWQgdG8gYGdyZXBwZXJgLCBgY29kZXNlYXJjaC1kaXItaW5kZXhgLCBgcmVhZC1maWxlYCwgYW5kIGBzZXQtcmVzdWx0c2AuIEZpbmUsIEknbGwgd29yayB3aXRoIHdoYXQgSSd2ZSBnb3QuXG5cblRoZSBzZWNvbmQgcGFydCBvZiB0aGUgcHJvbXB0IGZsYWdzIGNvZGUgcGF0aHMgSSAqc2hvdWxkbid0KiBib3RoZXIgd2l0aDogdGhpbmdzIGluYWNjZXNzaWJsZSBpbiBzdGFuZGFyZCBRRU1VIGxpa2Ugc3BlY2lmaWMgaGFyZHdhcmUgY29uZmlndXJhdGlvbnMuIFRoaW5ncyBsaWtlIHZlbmRvci1zcGVjaWZpYyBkcml2ZXJzIHRoYXQgbmVlZCBwaHlzaWNhbCBQQ0llIGNhcmRzIGFuZCBzdWNoLlxuXG5Ob3csIG15IHF1ZXN0aW9uIGlzIGFib3V0IGBhaXJvaGFfbnB1YC4gSXMgdGhpcyBvbmUgb2YgdGhvc2Ugb2ZmLWxpbWl0cyBkcml2ZXJzPyBMZXQncyBzZWU6IEl0J3MgYW4gZXRoZXJuZXQgZHJpdmVyIGZvciBhbiBBaXJvaGEgRU43NTgxIFNvQy4gUmlnaHQsIHRoYXQncyBhIHBsYXRmb3JtIGRyaXZlciwgc3BlY2lmaWNhbGx5IGZvciBhIHN5c3RlbS1vbi1jaGlwLlxuXG5JIGtub3cgcGxhdGZvcm0gZHJpdmVycyBjYW4gYmUgdHJpY2t5LiBHZW5lcmFsbHksIHRob3NlIGFyZW4ndCByZWFjaGFibGUgaW4gc3RhbmRhcmQgeDg2IFFFTVUgdW5sZXNzIHRoZSBrZXJuZWwgaXMgY29tcGlsZWQgZm9yIHRoYXQgc3BlY2lmaWMgQVJNL01JUFMgYXJjaGl0ZWN0dXJlIGFuZCBRRU1VIHNwZWNpZmljYWxseSBlbXVsYXRlcyB0aGF0IGJvYXJkLCBvciBpZiBzeXprYWxsZXIgY2FuIHNvbWVob3cgaW5qZWN0IGl0LiBJIGFsc28ga25vdyB0aGF0IHN5emthbGxlciAqZG9lcyogZnV6eiBzb21lIHBsYXRmb3JtIGRyaXZlcnMgaWYgaXQgY2FuIGluc3RhbnRpYXRlIHRoZW0gdmlhIHNvbWV0aGluZyBsaWtlIGBzeXpfZGV2cmVzYCwgYnV0IHRoYXQgdHlwaWNhbGx5IGludm9sdmVzIGEgZGV2aWNlIHRyZWUgb3ZlcmxheSBvciBzaW1pbGFyLiBXYWl0LCBhY3R1YWxseSwgc3l6a2FsbGVyIGRvZXMgZnV6eiBhIGxvdCBvZiB0aGluZ3MhIEl0IG1pZ2h0IGJlIHBvc3NpYmxlLCBidXQgcGxhdGZvcm0gZHJpdmVycyBmb3IgKnNwZWNpZmljKiBTb0NzIGFyZSBsZXNzIGxpa2VseSB0byBiZSBhY2Nlc3NpYmxlLlxuXG5TbywgdGhlIG5leHQgbG9naWNhbCBzdGVwIGlzIHRvIGNoZWNrIHdoZXRoZXIgb3Igbm90IHRoZSBkcml2ZXIgY2FuIGV2ZW4gYmUgY29tcGlsZWQgb24geDg2LiBMZXQncyBzZWUgaWYgdGhhdCdzIHBvc3NpYmxlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxOTQ3NywiT3V0cHV0VG9rZW5zIjo0MiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQwNywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0yMFQwOToyNTo1Mi44MDE5MjI4MDFaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ1MDIzNjQ1LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQUlST0hBX0VONzU4MV9FVEhcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6NTIuODQ2OTU2NjE2WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ4MTAxMDQ4MDksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoZSB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6XG5cbioqRGl2aW5nIGludG8gdGhlIEFpcm9oYSBFdGhlcm5ldCBLY29uZmlnKipcblxuT2theSwgdGltZSB0byBnZXQgbXkgaGFuZHMgZGlydHkuIEknbSBnb2luZyB0byBzdGFydCBieSB0YWtpbmcgYSBsb29rIGF0IHRoZSBLY29uZmlnIGZpbGUgZm9yIHRoZSBBaXJvaGEgRXRoZXJuZXQgZHJpdmVycywgc3BlY2lmaWNhbGx5IGxvY2F0ZWQgaW4gYGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9gLiBJIGtub3cgdGhhdCdzIHdoZXJlIHRoZSBjb3JlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHRob3NlIGludGVyZmFjZXMgYXJlIGRlZmluZWQsIGFuZCBpdCdzIHRoZSBsb2dpY2FsIHN0YXJ0aW5nIHBvaW50IGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0aGlzIHBhcnRpY3VsYXIgRXRoZXJuZXQgY29udHJvbGxlciBmYW1pbHkgaXMgaW50ZWdyYXRlZCBhbmQgY29uZmlndXJlZCB3aXRoaW4gdGhlIGJyb2FkZXIga2VybmVsIG5ldHdvcmsgc3RhY2suIEknbSBwcm9iYWJseSBnb2luZyB0byBiZSBsb29raW5nIGZvciB0aGluZ3MgbGlrZTpcblxuKiAgICoqQ2hpcHNldCBzdXBwb3J0OioqIFdoYXQgc3BlY2lmaWMgQWlyb2hhIHBhcnRzIGFyZSBzdXBwb3J0ZWQsIGFuZCBob3cgYXJlIHRoZXkgaWRlbnRpZmllZD8gQXJlIHRoZXJlIGRpc3RpbmN0IEtjb25maWcgc3ltYm9scyBmb3IgZWFjaD9cbiogICAqKkZlYXR1cmUgdG9nZ2xlczoqKiBBcmUgdGhlcmUgb3B0aW9ucyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIHNwZWNpZmljIGZlYXR1cmVzIGxpa2UgVkxBTiBzdXBwb3J0LCBqdW1ibyBmcmFtZXMsIGNoZWNrc3VtIG9mZmxvYWQsIG9yIGRpZmZlcmVudCBQSFkgY29uZmlndXJhdGlvbnM/IEknbGwgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBkZXBlbmRlbmNpZXMgYmV0d2VlbiB0aGVzZSBmZWF0dXJlcy5cbiogICAqKkRlcGVuZGVuY2llcyBhbmQgZGVmYXVsdHM6KiogV2hhdCBvdGhlciBLY29uZmlnIHN5bWJvbHMgZG9lcyB0aGlzIG9uZSBkZXBlbmQgb24sIGFuZCB3aGF0IGFyZSB0aGVpciBkZWZhdWx0IHZhbHVlcz8gVGhpcyBnaXZlcyBtZSBhIGdvb2QgdW5kZXJzdGFuZGluZyBvZiB3aGF0IHRoZSBiYXNpYyBjb25maWd1cmF0aW9uIGlzLlxuKiAgICoqRG9jdW1lbnRhdGlvbjoqKiBBcmUgdGhlcmUgZ29vZCBjb21tZW50cyBvciBoZWxwIHRleHQgYXNzb2NpYXRlZCB3aXRoIHRoZSB2YXJpb3VzIG9wdGlvbnM/IFRoaXMgaGVscHMgbWUgZGV0ZXJtaW5lIGlmIHRoZSBtYWludGFpbmVycyBoYXZlIGNsZWFybHkgZGVmaW5lZCB0aGVpciBvcHRpb25zLlxuKiAgICoqRHJpdmVyLXNwZWNpZmljIG9wdGlvbnM6KiogQXJlIHRoZXJlIGFueSBBaXJvaGEtc3BlY2lmaWMgcGFyYW1ldGVycywgc3VjaCBhcyBjbG9jayBzZXR0aW5ncyBvciByZWdpc3RlciBvZmZzZXRzLCB0aGF0IGFyZSBleHBvc2VkIHRocm91Z2ggS2NvbmZpZz9cblxuSSdtIGV4cGVjdGluZyBhIHJlYXNvbmFibHkgd2VsbC1zdHJ1Y3R1cmVkIGZpbGUsIGhvcGVmdWxseSB3aXRoIGdvb2QgdXNlIG9mIGBkZXBlbmRzIG9uYCwgYHNlbGVjdGAsIGFuZCBgZGVmYXVsdGAgc3RhdGVtZW50cyB0byBjcmVhdGUgYSByb2J1c3QgYW5kIHVuZGVyc3RhbmRhYmxlIGNvbmZpZ3VyYXRpb24gZXhwZXJpZW5jZS4gSSdsbCBiZSBrZWVwaW5nIGFuIGV5ZSBvdXQgZm9yIGFueSB1bnVzdWFsIG9yIG92ZXJseSBjb21wbGV4IGFycmFuZ2VtZW50cywgd2hpY2ggbWlnaHQgaW5kaWNhdGUgYXJlYXMgdGhhdCBuZWVkIGltcHJvdmVtZW50LiBUaGlzIGlzIGp1c3QgdGhlIGZpcnN0IHN0ZXAsIGFuZCBiYXNlZCBvbiB3aGF0IEkgZmluZCwgSSBtYXkgbmVlZCB0byBkaWcgZGVlcGVyIGludG8gdGhlIGFjdHVhbCBkcml2ZXIgY29kZSB0byBmdWxseSB1bmRlcnN0YW5kIGhvdyB0aGVzZSBvcHRpb25zIGFyZSBpbXBsZW1lbnRlZCwgYnV0IEtjb25maWcgaXMgdGhlIGVzc2VudGlhbCBzdGFydGluZyBwb2ludCBmb3IgYW55IGtlcm5lbCBjb25maWd1cmF0aW9uIHdvcmsuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIwMzM0LCJPdXRwdXRUb2tlbnMiOjMyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6NTcuNjU3MDYzNzA1WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0MzIyNzU3NiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWctMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZzoyOmNvbmZpZyBORVRfVkVORE9SX0FJUk9IQVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9LY29uZmlnLTMtXFx0Ym9vbCBcXFwiQWlyb2hhIGRldmljZXNcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZz04PWlmIE5FVF9WRU5ET1JfQUlST0hBXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWctOS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZzoxMDpjb25maWcgTkVUX0FJUk9IQV9OUFVcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZy0xMS1cXHR0cmlzdGF0ZSBcXFwiQWlyb2hhIE5QVSBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWctMTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWc6MTg6Y29uZmlnIE5FVF9BSVJPSEFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZy0xOS1cXHR0cmlzdGF0ZSBcXFwiQWlyb2hhIFNvQyBHaWdhYml0IEV0aGVybmV0IHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZy0yNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZzoyNzpjb25maWcgTkVUX0FJUk9IQV9GTE9XX1NUQVRTXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWctMjgtXFx0ZGVmYXVsdCB5XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTI1NjE9c3RhdGljIGludCBhaXJvaGFfcWRtYV9nZXRfcmxfcGFyYW0oc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hLCBpbnQgcXVldWVfaWQsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI1NjUtXFx0dTMyIGlkeCA9IFFETUFfTUVURVJfSURYKHF1ZXVlX2lkKSwgZ3JvdXAgPSBRRE1BX01FVEVSX0dST1VQKHF1ZXVlX2lkKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI1NjY6XFx0dTMyIHZhbCwgY29uZmlnID0gRklFTERfUFJFUChSQVRFX0xJTUlUX1BBUkFNX1RZUEVfTUFTSywgcGFyYW0pIHxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI1NjctXFx0XFx0XFx0ICBGSUVMRF9QUkVQKFJBVEVfTElNSVRfTUVURVJfR1JPVVBfTUFTSywgZ3JvdXApIHxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MjU4ND1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX3NldF9ybF9wYXJhbShzdHJ1Y3QgYWlyb2hhX3FkbWEgKnFkbWEsIGludCBxdWV1ZV9pZCxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjU4OC1cXHR1MzIgaWR4ID0gUURNQV9NRVRFUl9JRFgocXVldWVfaWQpLCBncm91cCA9IFFETUFfTUVURVJfR1JPVVAocXVldWVfaWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjU4OTpcXHR1MzIgY29uZmlnID0gUkFURV9MSU1JVF9QQVJBTV9SV19NQVNLIHxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI1OTAtXFx0XFx0ICAgICBGSUVMRF9QUkVQKFJBVEVfTElNSVRfUEFSQU1fVFlQRV9NQVNLLCBwYXJhbSkgfFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0yNjIwPXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfc2V0X3JsX3Rva2VuX2J1Y2tldChzdHJ1Y3QgYWlyb2hhX3FkbWEgKnFkbWEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI2MzMtXFx0dGljayA9IEZJRUxEX0dFVChJTkdSRVNTX0ZBU1RfVElDS19NQVNLLCB2YWwpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjYzNDpcXHRpZiAoY29uZmlnIFxcdTAwMjYgVFJUQ01fVElDS19TRUwpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNjM1LVxcdFxcdHRpY2sgKj0gRklFTERfR0VUKElOR1JFU1NfU0xPV19USUNLX1JBVElPX01BU0ssIHZhbCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI2MzgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyNjM5OlxcdHVuaXQgPSAoY29uZmlnIFxcdTAwMjYgVFJUQ01fUEtUX01PREUpID8gMTAwMDAwMCAvIHRpY2sgOiA4MDAwIC8gdGljaztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI2NDAtXFx0aWYgKCF1bml0KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNjU0LVxcdHZhbCA9IGJ1Y2tldF9zaXplO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjY1NTpcXHRpZiAoIShjb25maWcgXFx1MDAyNiBUUlRDTV9QS1RfTU9ERSkpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNjU2LVxcdFxcdHZhbCA9IG1heF90KHUzMiwgdmFsLCBNSU5fVE9LRU5fU0laRSk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTI2ODA9c3RhdGljIGludCBhaXJvaGFfcWRtYV9nZXRfdHJ0Y21fcGFyYW0oc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hLCBpbnQgY2hhbm5lbCxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjY4NS1cXHR1MzIgaWR4ID0gUURNQV9NRVRFUl9JRFgoY2hhbm5lbCksIGdyb3VwID0gUURNQV9NRVRFUl9HUk9VUChjaGFubmVsKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI2ODY6XFx0dTMyIHZhbCwgY29uZmlnID0gRklFTERfUFJFUChUUlRDTV9QQVJBTV9UWVBFX01BU0ssIHBhcmFtKSB8XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNjg3LVxcdFxcdFxcdCAgRklFTERfUFJFUChUUlRDTV9NRVRFUl9HUk9VUF9NQVNLLCBncm91cCkgfFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0yNzA1PXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfc2V0X3RydGNtX3BhcmFtKHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSwgaW50IGNoYW5uZWwsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI3MDktXFx0dTMyIGlkeCA9IFFETUFfTUVURVJfSURYKGNoYW5uZWwpLCBncm91cCA9IFFETUFfTUVURVJfR1JPVVAoY2hhbm5lbCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyNzEwOlxcdHUzMiBjb25maWcgPSBUUlRDTV9QQVJBTV9SV19NQVNLIHxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI3MTEtXFx0XFx0ICAgICBGSUVMRF9QUkVQKFRSVENNX1BBUkFNX1RZUEVfTUFTSywgcGFyYW0pIHxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9Mjc0MT1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX3NldF90cnRjbV90b2tlbl9idWNrZXQoc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNzU0LVxcdHRpY2sgPSBGSUVMRF9HRVQoSU5HUkVTU19GQVNUX1RJQ0tfTUFTSywgdmFsKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI3NTU6XFx0aWYgKGNvbmZpZyBcXHUwMDI2IFRSVENNX1RJQ0tfU0VMKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjc1Ni1cXHRcXHR0aWNrICo9IEZJRUxEX0dFVChJTkdSRVNTX1NMT1dfVElDS19SQVRJT19NQVNLLCB2YWwpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNzU5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6Mjc2MDpcXHR1bml0ID0gKGNvbmZpZyBcXHUwMDI2IFRSVENNX1BLVF9NT0RFKSA/IDEwMDAwMDAgLyB0aWNrIDogODAwMCAvIHRpY2s7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNzYxLVxcdGlmICghdW5pdClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmM9NjkwPU1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG9mX2Fpcm9oYV9ucHVfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtNjkxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmM6NjkyOnN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyByZWdtYXBfY29uZmlnID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtNjkzLVxcdC5uYW1lXFx0XFx0XFx0PSBcXFwibnB1XFxcIixcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6NTcuNzAwMjk4NjQxWiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjcwNDU5ODk1MTUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudCBvZiBSZWFjaGluZyB0aGUgYE5FVF9BSVJPSEFfTlBVYCBEcml2ZXIgaW4gUUVNVSoqXG5cbk9rYXksIHNvIHRoZSB0YXNrIGlzIHRvIGZpZ3VyZSBvdXQgaWYgSSBjYW4gZ2V0IGF0IHRoaXMgYE5FVF9BSVJPSEFfTlBVYCBkcml2ZXIgd2l0aGluIGEgUUVNVSBlbnZpcm9ubWVudC4gSXQncyBhIHBsYXRmb3JtIGRyaXZlciwgd2hpY2ggaW1tZWRpYXRlbHkgcmFpc2VzIGEgZmxhZy4gU3l6a2FsbGVyIGRvZXNuJ3QgaGF2ZSBhIHN0cmFpZ2h0Zm9yd2FyZCBtZWNoYW5pc20gdG8gaW5zdGFudGlhdGUgYW55IHBsYXRmb3JtIGRyaXZlciBhdCB3aWxsIHVubGVzcyBpdCdzIGV4cGxpY2l0bHkgZGVmaW5lZCBpbiBzeXpsYW5nLCBhbmQgSSBxdWlja2x5IHJ1bGUgb3V0IHRoYXQgSSBjYW4ndCB1c2UgYHN5el9kZXZyZXNgLCBvciBkaXJlY3RseSB3cml0ZSBpbnRvIGAvc3lzL2RldmljZXMvcGxhdGZvcm1gLiBJIGNhbid0IGp1c3QgbWFnaWNhbGx5IGNyZWF0ZSBhcmJpdHJhcnkgZGV2aWNlcyB0aHJvdWdoIHN5c2ZzLCB1bmZvcnR1bmF0ZWx5LlxuXG5Ob3csIG15IG1pbmQgc2hpZnRzIHRvIGRldmljZSB0cmVlIG92ZXJsYXlzLiBTaW5jZSBTeXprYWxsZXIgKmRvZXMqIHN1cHBvcnQgRFQgb3ZlcmxheXMsIHRoYXQncyBhIHBvdGVudGlhbCBhdmVudWUuIEhvd2V2ZXIsIHRoZSBjcnV4IG9mIHRoZSBwcm9ibGVtIHNlZW1zIHRvIGJlIHRoZSBwb3RlbnRpYWwgaGFyZHdhcmUgZGVwZW5kZW5jeS4gSWYgaXQncyBhICpwbGF0Zm9ybSogZHJpdmVyLCBJJ20gdGhpbmtpbmcgU3l6a2FsbGVyICptaWdodCogaGF2ZSBhIGNoYW5jZSwgYnV0Li4uXG5cblRoZW4gSSdtIHJlbWluZGVkIG9mIHRoZSBwcm9tcHQncyB3YXJuaW5nOiBcIkNvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMuLi4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMuLi4gdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXCIgVGhpcyBpcyBjcnVjaWFsLiBJdCdzIGEgdmVuZG9yLXNwZWNpZmljIFNvQyBwbGF0Zm9ybSBkcml2ZXIsIHJlbGF0ZWQgdG8gQWlyb2hhJ3MgTlBVLiBJdCAqc291bmRzKiBsaWtlIGl0IHdvdWxkIHJlcXVpcmUgdGhhdCBzcGVjaWZpYyBBaXJvaGEgU29DLlxuXG5CdXQgaG9sZCBvbiwgZG9lcyBpdCAqcmVhbGx5KiBuZWVkIHRoZSBhY3R1YWwgaGFyZHdhcmU/IEkgbmVlZCB0byBiZSBzdXJlLiBNeSBuZXh0IHN0ZXAgaXMgY2xlYXI6IEkgbmVlZCB0byBzY3J1dGluaXplIHRoZSBgYWlyb2hhX25wdV9wcm9iZWAgZnVuY3Rpb24uIFRoYXQncyB0aGUga2V5IHRvIHVuZGVyc3RhbmRpbmcgaWYgdGhlcmUncyBhbnkgaGFyZHdhcmUtc3BlY2lmaWMgY2hlY2sgaW4gdGhlcmUgdGhhdCBJJ2QgbmVlZCB0byBieXBhc3MuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIyNzU2LCJPdXRwdXRUb2tlbnMiOjQ2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzI4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTIwVDA5OjI2OjA0Ljc0NjI5MTUwN1oiLCJTZXEiOjE0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMTEyNzEsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuY1wiLFxuICBcIkZpcnN0TGluZVwiOiA2OTAsXG4gIFwiTGluZUNvdW50XCI6IDEwMFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgNjkwOlxcdE1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG9mX2Fpcm9oYV9ucHVfbWF0Y2gpO1xcbiA2OTE6XFx0XFxuIDY5MjpcXHRzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9jb25maWcgcmVnbWFwX2NvbmZpZyA9IHtcXG4gNjkzOlxcdFxcdC5uYW1lXFx0XFx0XFx0PSBcXFwibnB1XFxcIixcXG4gNjk0OlxcdFxcdC5yZWdfYml0c1xcdFxcdD0gMzIsXFxuIDY5NTpcXHRcXHQudmFsX2JpdHNcXHRcXHQ9IDMyLFxcbiA2OTY6XFx0XFx0LnJlZ19zdHJpZGVcXHRcXHQ9IDQsXFxuIDY5NzpcXHRcXHQuZGlzYWJsZV9sb2NraW5nXFx0PSB0cnVlLFxcbiA2OTg6XFx0fTtcXG4gNjk5OlxcdFxcbiA3MDA6XFx0c3RhdGljIGludCBhaXJvaGFfbnB1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXFxuIDcwMTpcXHR7XFxuIDcwMjpcXHRcXHRzdHJ1Y3QgZGV2aWNlICpkZXYgPSBcXHUwMDI2cGRldi1cXHUwMDNlZGV2O1xcbiA3MDM6XFx0XFx0c3RydWN0IGFpcm9oYV9ucHUgKm5wdTtcXG4gNzA0OlxcdFxcdHN0cnVjdCByZXNvdXJjZSByZXM7XFxuIDcwNTpcXHRcXHR2b2lkIF9faW9tZW0gKmJhc2U7XFxuIDcwNjpcXHRcXHRpbnQgaSwgaXJxLCBlcnI7XFxuIDcwNzpcXHRcXHR1MzIgdmFsO1xcbiA3MDg6XFx0XFxuIDcwOTpcXHRcXHRiYXNlID0gZGV2bV9wbGF0Zm9ybV9pb3JlbWFwX3Jlc291cmNlKHBkZXYsIDApO1xcbiA3MTA6XFx0XFx0aWYgKElTX0VSUihiYXNlKSlcXG4gNzExOlxcdFxcdFxcdHJldHVybiBQVFJfRVJSKGJhc2UpO1xcbiA3MTI6XFx0XFxuIDcxMzpcXHRcXHRucHUgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKm5wdSksIEdGUF9LRVJORUwpO1xcbiA3MTQ6XFx0XFx0aWYgKCFucHUpXFxuIDcxNTpcXHRcXHRcXHRyZXR1cm4gLUVOT01FTTtcXG4gNzE2OlxcdFxcbiA3MTc6XFx0XFx0bnB1LVxcdTAwM2VkZXYgPSBkZXY7XFxuIDcxODpcXHRcXHRucHUtXFx1MDAzZW9wcy5wcGVfaW5pdCA9IGFpcm9oYV9ucHVfcHBlX2luaXQ7XFxuIDcxOTpcXHRcXHRucHUtXFx1MDAzZW9wcy5wcGVfZGVpbml0ID0gYWlyb2hhX25wdV9wcGVfZGVpbml0O1xcbiA3MjA6XFx0XFx0bnB1LVxcdTAwM2VvcHMucHBlX2luaXRfc3RhdHMgPSBhaXJvaGFfbnB1X3BwZV9zdGF0c19zZXR1cDtcXG4gNzIxOlxcdFxcdG5wdS1cXHUwMDNlb3BzLnBwZV9mbHVzaF9zcmFtX2VudHJpZXMgPSBhaXJvaGFfbnB1X3BwZV9mbHVzaF9zcmFtX2VudHJpZXM7XFxuIDcyMjpcXHRcXHRucHUtXFx1MDAzZW9wcy5wcGVfZm9lX2NvbW1pdF9lbnRyeSA9IGFpcm9oYV9ucHVfZm9lX2NvbW1pdF9lbnRyeTtcXG4gNzIzOlxcdFxcdG5wdS1cXHUwMDNlb3BzLndsYW5faW5pdF9yZXNlcnZlZF9tZW1vcnkgPSBhaXJvaGFfbnB1X3dsYW5faW5pdF9tZW1vcnk7XFxuIDcyNDpcXHRcXHRucHUtXFx1MDAzZW9wcy53bGFuX3NlbmRfbXNnID0gYWlyb2hhX25wdV93bGFuX21zZ19zZW5kO1xcbiA3MjU6XFx0XFx0bnB1LVxcdTAwM2VvcHMud2xhbl9nZXRfbXNnID0gYWlyb2hhX25wdV93bGFuX21zZ19nZXQ7XFxuIDcyNjpcXHRcXHRucHUtXFx1MDAzZW9wcy53bGFuX2dldF9xdWV1ZV9hZGRyID0gYWlyb2hhX25wdV93bGFuX3F1ZXVlX2FkZHJfZ2V0O1xcbiA3Mjc6XFx0XFx0bnB1LVxcdTAwM2VvcHMud2xhbl9zZXRfaXJxX3N0YXR1cyA9IGFpcm9oYV9ucHVfd2xhbl9pcnFfc3RhdHVzX3NldDtcXG4gNzI4OlxcdFxcdG5wdS1cXHUwMDNlb3BzLndsYW5fZ2V0X2lycV9zdGF0dXMgPSBhaXJvaGFfbnB1X3dsYW5faXJxX3N0YXR1c19nZXQ7XFxuIDcyOTpcXHRcXHRucHUtXFx1MDAzZW9wcy53bGFuX2VuYWJsZV9pcnEgPSBhaXJvaGFfbnB1X3dsYW5faXJxX2VuYWJsZTtcXG4gNzMwOlxcdFxcdG5wdS1cXHUwMDNlb3BzLndsYW5fZGlzYWJsZV9pcnEgPSBhaXJvaGFfbnB1X3dsYW5faXJxX2Rpc2FibGU7XFxuIDczMTpcXHRcXG4gNzMyOlxcdFxcdG5wdS1cXHUwMDNlcmVnbWFwID0gZGV2bV9yZWdtYXBfaW5pdF9tbWlvKGRldiwgYmFzZSwgXFx1MDAyNnJlZ21hcF9jb25maWcpO1xcbiA3MzM6XFx0XFx0aWYgKElTX0VSUihucHUtXFx1MDAzZXJlZ21hcCkpXFxuIDczNDpcXHRcXHRcXHRyZXR1cm4gUFRSX0VSUihucHUtXFx1MDAzZXJlZ21hcCk7XFxuIDczNTpcXHRcXG4gNzM2OlxcdFxcdGVyciA9IG9mX3Jlc2VydmVkX21lbV9yZWdpb25fdG9fcmVzb3VyY2UoZGV2LVxcdTAwM2VvZl9ub2RlLCAwLCBcXHUwMDI2cmVzKTtcXG4gNzM3OlxcdFxcdGlmIChlcnIpXFxuIDczODpcXHRcXHRcXHRyZXR1cm4gZXJyO1xcbiA3Mzk6XFx0XFxuIDc0MDpcXHRcXHRpcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApO1xcbiA3NDE6XFx0XFx0aWYgKGlycSBcXHUwMDNjIDApXFxuIDc0MjpcXHRcXHRcXHRyZXR1cm4gaXJxO1xcbiA3NDM6XFx0XFxuIDc0NDpcXHRcXHRlcnIgPSBkZXZtX3JlcXVlc3RfaXJxKGRldiwgaXJxLCBhaXJvaGFfbnB1X21ib3hfaGFuZGxlcixcXG4gNzQ1OlxcdFxcdFxcdFxcdCAgICAgICBJUlFGX1NIQVJFRCwgXFxcImFpcm9oYS1ucHUtbWJveFxcXCIsIG5wdSk7XFxuIDc0NjpcXHRcXHRpZiAoZXJyKVxcbiA3NDc6XFx0XFx0XFx0cmV0dXJuIGVycjtcXG4gNzQ4OlxcdFxcbiA3NDk6XFx0XFx0Zm9yIChpID0gMDsgaSBcXHUwMDNjIEFSUkFZX1NJWkUobnB1LVxcdTAwM2Vjb3Jlcyk7IGkrKykge1xcbiA3NTA6XFx0XFx0XFx0c3RydWN0IGFpcm9oYV9ucHVfY29yZSAqY29yZSA9IFxcdTAwMjZucHUtXFx1MDAzZWNvcmVzW2ldO1xcbiA3NTE6XFx0XFxuIDc1MjpcXHRcXHRcXHRzcGluX2xvY2tfaW5pdChcXHUwMDI2Y29yZS1cXHUwMDNlbG9jayk7XFxuIDc1MzpcXHRcXHRcXHRjb3JlLVxcdTAwM2VucHUgPSBucHU7XFxuIDc1NDpcXHRcXG4gNzU1OlxcdFxcdFxcdGlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgaSArIDEpO1xcbiA3NTY6XFx0XFx0XFx0aWYgKGlycSBcXHUwMDNjIDApXFxuIDc1NzpcXHRcXHRcXHRcXHRyZXR1cm4gaXJxO1xcbiA3NTg6XFx0XFxuIDc1OTpcXHRcXHRcXHRlcnIgPSBkZXZtX3JlcXVlc3RfaXJxKGRldiwgaXJxLCBhaXJvaGFfbnB1X3dkdF9oYW5kbGVyLFxcbiA3NjA6XFx0XFx0XFx0XFx0XFx0ICAgICAgIElSUUZfU0hBUkVELCBcXFwiYWlyb2hhLW5wdS13ZHRcXFwiLCBjb3JlKTtcXG4gNzYxOlxcdFxcdFxcdGlmIChlcnIpXFxuIDc2MjpcXHRcXHRcXHRcXHRyZXR1cm4gZXJyO1xcbiA3NjM6XFx0XFxuIDc2NDpcXHRcXHRcXHRJTklUX1dPUksoXFx1MDAyNmNvcmUtXFx1MDAzZXdkdF93b3JrLCBhaXJvaGFfbnB1X3dkdF93b3JrKTtcXG4gNzY1OlxcdFxcdH1cXG4gNzY2OlxcdFxcbiA3Njc6XFx0XFx0Lyogd2xhbiBJUlEgbGluZXMgKi9cXG4gNzY4OlxcdFxcdGZvciAoaSA9IDA7IGkgXFx1MDAzYyBBUlJBWV9TSVpFKG5wdS1cXHUwMDNlaXJxcyk7IGkrKykge1xcbiA3Njk6XFx0XFx0XFx0aXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCBpICsgQVJSQVlfU0laRShucHUtXFx1MDAzZWNvcmVzKSArIDEpO1xcbiA3NzA6XFx0XFx0XFx0aWYgKGlycSBcXHUwMDNjIDApXFxuIDc3MTpcXHRcXHRcXHRcXHRyZXR1cm4gaXJxO1xcbiA3NzI6XFx0XFxuIDc3MzpcXHRcXHRcXHRucHUtXFx1MDAzZWlycXNbaV0gPSBpcnE7XFxuIDc3NDpcXHRcXHR9XFxuIDc3NTpcXHRcXG4gNzc2OlxcdFxcdGVyciA9IGRtYV9zZXRfbWFza19hbmRfY29oZXJlbnQoZGV2LCBETUFfQklUX01BU0soMzIpKTtcXG4gNzc3OlxcdFxcdGlmIChlcnIpXFxuIDc3ODpcXHRcXHRcXHRyZXR1cm4gZXJyO1xcbiA3Nzk6XFx0XFxuIDc4MDpcXHRcXHRlcnIgPSBhaXJvaGFfbnB1X3J1bl9maXJtd2FyZShkZXYsIGJhc2UsIFxcdTAwMjZyZXMpO1xcbiA3ODE6XFx0XFx0aWYgKGVycilcXG4gNzgyOlxcdFxcdFxcdHJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgZXJyLCBcXFwiZmFpbGVkIHRvIHJ1biBucHUgZmlybXdhcmVcXFxcblxcXCIpO1xcbiA3ODM6XFx0XFxuIDc4NDpcXHRcXHRyZWdtYXBfd3JpdGUobnB1LVxcdTAwM2VyZWdtYXAsIFJFR19DUl9OUFVfTUlCKDEwKSxcXG4gNzg1OlxcdFxcdFxcdCAgICAgcmVzLnN0YXJ0ICsgTlBVX0VONzU4MV9GSVJNV0FSRV9SVjMyX01BWF9TSVpFKTtcXG4gNzg2OlxcdFxcdHJlZ21hcF93cml0ZShucHUtXFx1MDAzZXJlZ21hcCwgUkVHX0NSX05QVV9NSUIoMTEpLCAweDQwMDAwKTsgLyogU1JBTSAyNTZLICovXFxuIDc4NzpcXHRcXHRyZWdtYXBfd3JpdGUobnB1LVxcdTAwM2VyZWdtYXAsIFJFR19DUl9OUFVfTUlCKDEyKSwgMCk7XFxuIDc4ODpcXHRcXHRyZWdtYXBfd3JpdGUobnB1LVxcdTAwM2VyZWdtYXAsIFJFR19DUl9OUFVfTUlCKDIxKSwgMSk7XFxuIDc4OTpcXHRcXHRtc2xlZXAoMTAwKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjY6MDQuNzQ2NDA0NTQ3WiIsIlNlcSI6MTUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjExMjYyNzkzNjY2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQ6IFRoaXMgUGF0Y2ggaXMgTm90IFdvcnRoIEZ1enppbmcqKlxuXG5Pa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uIFRoZSBjb2RlIHRvdWNoZXMgdGhlIGBhaXJvaGFfbnB1YCBkcml2ZXIuIEZpcnN0IHRoaW5nIHRoYXQganVtcHMgb3V0IGlzIGl0J3MgdXNpbmcgYG9mX3Jlc2VydmVkX21lbV9yZWdpb25fdG9fcmVzb3VyY2VgLiBUaGF0IHNjcmVhbXMgXCJkZXZpY2UgdHJlZVwiIGFuZCByZXNlcnZlZCBtZW1vcnksIHdoaWNoIGltbWVkaWF0ZWx5IG1ha2VzIG1lIHRoaW5rIGFib3V0IHdoZXRoZXIgdGhpcyBpcyBldmVuICpwb3NzaWJsZSogaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudC4gVGhlIGZhY3QgdGhhdCBpdCBsb2FkcyBmaXJtd2FyZSB3aXRoIGBhaXJvaGFfbnB1X3J1bl9maXJtd2FyZWAganVzdCByZWluZm9yY2VzIHRoYXQgdGhpcyBpcyBsaWtlbHkgdGllZCB0byB2ZXJ5IHNwZWNpZmljIGhhcmR3YXJlLlxuXG5JdCdzIGEgcGxhdGZvcm0gZHJpdmVyLCBidXQgZm9yIHdoYXQ/IEFoYSwgaXQncyBmb3IgYW4gQWlyb2hhIFNvQy4gRGVmaW5pdGVseSB2ZW5kb3Itc3BlY2lmaWMuIEdDRSBhbmQgc3RhbmRhcmQgUUVNVT8gTm8gd2F5LiBUaGlzIG5lZWRzIGEgdGFpbG9yZWQgZGV2aWNlIHRyZWUgYW5kIHByb2JhYmx5IHNvbWUgY3VzdG9tIFNvQyBlbXVsYXRpb24uIFN5emthbGxlcidzIG5vdCBnb2luZyB0byBqdXN0IG1hZ2ljYWxseSBjb25qdXJlIHVwIHRoZSByaWdodCBwbGF0Zm9ybSBkZXZpY2UuIEkgdGhvdWdodCBtYXliZSBJIGNvdWxkIHVzZSBzeXpfZGV2cmVzLCBidXQgdGhhdCdzIG5vdCBhIGdlbmVyaWMgc29sdXRpb24sIGFuZCBldmVuIGlmIGl0ICp3YXMqLCB3ZSdyZSBzdGlsbCBzdHVjayB3aXRoIHRoZSBmaXJtd2FyZSByZXF1aXJlbWVudCBhbmQgcmVzZXJ2ZWQgbWVtb3J5LlxuXG5JIGRvbid0IGhhdmUgZGlyZWN0IGFjY2VzcyB0byBzeXprYWxsZXIncyByZXBvcnRzLCBidXQgSSBjYW4gaW5mZXIgYmFzZWQgb24gdGhlIGRyaXZlciB0eXBlLiBUaGUgcHJvbXB0J3MgY2xlYXI6IFZlbmRvci1zcGVjaWZpYyBzdHVmZiB0aGF0IG5lZWRzIHBoeXNpY2FsIGhhcmR3YXJlICpub3QqIGVtdWxhdGVkIGJ5IHN0YW5kYXJkIFFFTVU/IFdvcnRoRnV6emluZz1mYWxzZS4gVGhpcyBmaXRzIHRoZSBiaWxsIHBlcmZlY3RseS5cblxuTGV0J3MgZG91YmxlLWNoZWNr4oCmIFllYWgsIGBhaXJvaGFfbnB1X3Byb2JlYCB0YWtlcyBhIGBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2YC4gSXQncyB1c2luZyBwbGF0Zm9ybS1zcGVjaWZpYyByZXNvdXJjZSBtYW5hZ2VtZW50IGZ1bmN0aW9ucywgYW5kIGl0J3MgbG9va2luZyBmb3IgYSBzcGVjaWZpYyBkZXZpY2UgdHJlZSBub2RlIChcImFpcm9oYSxlbjc1ODEtbnB1XCIpLiBNeSBzdGFuZGFyZCBRRU1VIHNldHVwIChvciBldmVuIGEgZ2VuZXJpYyBgcWVtdS1zeXN0ZW0tYWFyY2g2NCAtTSB2aXJ0YCkgc3VyZSBhcyBoZWxsIHdvbid0IGhhdmUgdGhhdCBkZXZpY2UuXG5cblN5emthbGxlciBpc24ndCBnb2luZyB0byBoYXZlIGFuIGVhc3kgdGltZSBpbnN0YW50aWF0aW5nIHRoaXM7IGl0IHdvdWxkIG5lZWQgdG8ga25vdyBhYm91dCB0aGUgcmVzZXJ2ZWQgbWVtb3J5IHJlZ2lvbnMsIGhhdmUgdGhlIGZpcm13YXJlIGFuZCBkZXZpY2UgdHJlZS5cblxuVGhlcmVmb3JlLCB0aGlzIGlzIGEgZGVhZCBlbmQgZm9yIGZ1enppbmcuXG5JJ20gZ29pbmcgdG8gcmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZS4gVGhpcyBpcyBhIG5vbi1zdGFydGVyIGZvciBmdXp6aW5nLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTQyMSwiT3V0cHV0VG9rZW5zIjoxMDgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3ODMsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0yMFQwOToyNjoxNi4wMDkyMDEzOTNaIiwiU2VxIjoxNiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMzg2MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW10sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgYWlyb2hhX25wdSBkcml2ZXIsIHdoaWNoIGlzIGEgdmVuZG9yLXNwZWNpZmljIHBsYXRmb3JtIGRyaXZlciBmb3IgdGhlIEFpcm9oYSBFTjc1ODEgU29DLiBUaGlzIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBoYXJkd2FyZSBhbmQgZGV2aWNlIHRyZWUgY29uZmlndXJhdGlvbnMgKGluY2x1ZGluZyByZXNlcnZlZCBtZW1vcnkgcmVnaW9ucyBhbmQgZmlybXdhcmUpIHRoYXQgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cyB1c2VkIGZvciBmdXp6aW5nLiBUaGVyZWZvcmUsIHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGFyZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBhaXJvaGFfbnB1IGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVyIGZvciB0aGUgQWlyb2hhIEVONzU4MSBTb0MuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIGhhcmR3YXJlIGFuZCBkZXZpY2UgdHJlZSBjb25maWd1cmF0aW9ucyAoaW5jbHVkaW5nIHJlc2VydmVkIG1lbW9yeSByZWdpb25zIGFuZCBmaXJtd2FyZSkgdGhhdCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzIHVzZWQgZm9yIGZ1enppbmcuIFRoZXJlZm9yZSwgdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgYXJlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjY6MTYuMDA5MjI4NzAzWiIsIlNlcSI6MTcsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoiSWYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxODEwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },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-workflowp6hlz[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-20 09:10:48 +0000 UTC FinishedAt: 2026-08-20 09:26:17 +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+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI1PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGFpcm9oYV9ucHUgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBwbGF0Zm9ybSBkcml2ZXIgZm9yIHRoZSBBaXJvaGEgRU43NTgxIFNvQy4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgaGFyZHdhcmUgYW5kIGRldmljZSB0cmVlIGNvbmZpZ3VyYXRpb25zIChpbmNsdWRpbmcgcmVzZXJ2ZWQgbWVtb3J5IHJlZ2lvbnMgYW5kIGZpcm13YXJlKSB0aGF0IGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgdXNlZCBmb3IgZnV6emluZy4gVGhlcmVmb3JlLCB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyBhcmUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI1PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgMGRiNjgwZmEzOGJjY2VkMWMzYTI5Y2E4NWJmMjZhNGY2ZTQ2NmZhM1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUaHUgQXVnIDIwIDA5OjI1OjIzIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jXG5pbmRleCBiNjc5YmVkOTUyZGUzLi4zNDE2ZjkyMWY5NjE5IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuY1xuQEAgLTUsNiAmIzQzOzUsNyBAQFxuICAqL1xuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RldmNvcmVkdW1wLmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZG1hLW1hcHBpbmcuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2Zpcm13YXJlLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L29mX25ldC5oXHUwMDNlXG5AQCAtMTYwLDE1ICYjNDM7MTYxLDIxIEBAIHN0cnVjdCB3bGFuX21ib3hfZGF0YSB7XG4gXHRERUNMQVJFX0ZMRVhfQVJSQVkodTgsIGQpO1xuIH07XG4gXG4mIzQzO3N0YXRpYyBzaXplX3QgYWlyb2hhX25wdV9tYm94X3NpemUoc2l6ZV90IGxlbilcbiYjNDM7e1xuJiM0MztcdHJldHVybiBBTElHTihsZW4sIGRtYV9nZXRfY2FjaGVfYWxpZ25tZW50KCkpO1xuJiM0Mzt9XG4mIzQzO1xuIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9zZW5kX21zZyhzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LCBpbnQgZnVuY19pZCxcbiBcdFx0XHQgICAgICAgdm9pZCAqcCwgaW50IHNpemUpXG4ge1xuIFx0dTE2IGNvcmUgPSAwOyAvKiBGSVhNRSAqL1xuIFx0dTMyIHZhbCwgb2Zmc2V0ID0gY29yZSBcdTAwM2NcdTAwM2MgNDtcbiBcdGRtYV9hZGRyX3QgZG1hX2FkZHI7XG4mIzQzO1x0c2l6ZV90IG1hcF9sZW4gPSBhaXJvaGFfbnB1X21ib3hfc2l6ZShzaXplKTtcbiBcdGludCByZXQ7XG4gXG4tXHRkbWFfYWRkciA9IGRtYV9tYXBfc2luZ2xlKG5wdS1cdTAwM2VkZXYsIHAsIHNpemUsIERNQV9CSURJUkVDVElPTkFMKTtcbiYjNDM7XHRkbWFfYWRkciA9IGRtYV9tYXBfc2luZ2xlKG5wdS1cdTAwM2VkZXYsIHAsIG1hcF9sZW4sIERNQV9CSURJUkVDVElPTkFMKTtcbiBcdHJldCA9IGRtYV9tYXBwaW5nX2Vycm9yKG5wdS1cdTAwM2VkZXYsIGRtYV9hZGRyKTtcbiBcdGlmIChyZXQpXG4gXHRcdHJldHVybiByZXQ7XG5AQCAtMTkxLDcgJiM0MzsxOTgsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfc2VuZF9tc2coc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwgaW50IGZ1bmNfaWQsXG4gXG4gXHRzcGluX3VubG9ja19iaChcdTAwMjZucHUtXHUwMDNlY29yZXNbY29yZV0ubG9jayk7XG4gXG4tXHRkbWFfdW5tYXBfc2luZ2xlKG5wdS1cdTAwM2VkZXYsIGRtYV9hZGRyLCBzaXplLCBETUFfQklESVJFQ1RJT05BTCk7XG4mIzQzO1x0ZG1hX3VubWFwX3NpbmdsZShucHUtXHUwMDNlZGV2LCBkbWFfYWRkciwgbWFwX2xlbiwgRE1BX0JJRElSRUNUSU9OQUwpO1xuIFxuIFx0cmV0dXJuIHJldDtcbiB9XG5AQCAtMzMzLDcgJiM0MzszNDAsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfcHBlX2luaXQoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSlcbiBcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcbiBcdGludCBlcnI7XG4gXG4tXHRwcGVfZGF0YSA9IGt6YWxsb2Nfb2JqKCpwcGVfZGF0YSk7XG4mIzQzO1x0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7XG4gXHRpZiAoIXBwZV9kYXRhKVxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcbkBAIC0zNTQsNyAmIzQzOzM2MSw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9wcGVfZGVpbml0KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUpXG4gXHRzdHJ1Y3QgcHBlX21ib3hfZGF0YSAqcHBlX2RhdGE7XG4gXHRpbnQgZXJyO1xuIFxuLVx0cHBlX2RhdGEgPSBremFsbG9jX29iaigqcHBlX2RhdGEpO1xuJiM0MztcdHBwZV9kYXRhID0ga3phbGxvYyhhaXJvaGFfbnB1X21ib3hfc2l6ZShzaXplb2YoKnBwZV9kYXRhKSksIEdGUF9LRVJORUwpO1xuIFx0aWYgKCFwcGVfZGF0YSlcbiBcdFx0cmV0dXJuIC1FTk9NRU07XG4gXG5AQCAtMzc1LDcgJiM0MzszODIsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfcHBlX2ZsdXNoX3NyYW1fZW50cmllcyhzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LFxuIFx0c3RydWN0IHBwZV9tYm94X2RhdGEgKnBwZV9kYXRhO1xuIFx0aW50IGVycjtcbiBcbi1cdHBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTtcbiYjNDM7XHRwcGVfZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUoc2l6ZW9mKCpwcGVfZGF0YSkpLCBHRlBfS0VSTkVMKTtcbiBcdGlmICghcHBlX2RhdGEpXG4gXHRcdHJldHVybiAtRU5PTUVNO1xuIFxuQEAgLTM5OSw3ICYjNDM7NDA2LDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X2ZvZV9jb21taXRfZW50cnkoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSxcbiBcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcbiBcdGludCBlcnI7XG4gXG4tXHRwcGVfZGF0YSA9IGt6YWxsb2Nfb2JqKCpwcGVfZGF0YSwgR0ZQX0FUT01JQyk7XG4mIzQzO1x0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0FUT01JQyk7XG4gXHRpZiAoIXBwZV9kYXRhKVxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcbkBAIC00MzQsNyAmIzQzOzQ0MSw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9wcGVfc3RhdHNfc2V0dXAoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSxcbiBcdGludCBlcnIsIHNpemUgPSBudW1fc3RhdHNfZW50cmllcyAqIHNpemVvZigqbnB1LVx1MDAzZXN0YXRzKTtcbiBcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcbiBcbi1cdHBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhLCBHRlBfQVRPTUlDKTtcbiYjNDM7XHRwcGVfZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUoc2l6ZW9mKCpwcGVfZGF0YSkpLCBHRlBfQVRPTUlDKTtcbiBcdGlmICghcHBlX2RhdGEpXG4gXHRcdHJldHVybiAtRU5PTUVNO1xuIFxuQEAgLTQ2Niw3ICYjNDM7NDczLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3dsYW5fbXNnX3NlbmQoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwgaW50IGlmaW5kZXgsXG4gXHRpbnQgZXJyLCBsZW47XG4gXG4gXHRsZW4gPSBzaXplb2YoKndsYW5fZGF0YSkgJiM0MzsgZGF0YV9sZW47XG4tXHR3bGFuX2RhdGEgPSBremFsbG9jKGxlbiwgZ2ZwKTtcbiYjNDM7XHR3bGFuX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKGxlbiksIGdmcCk7XG4gXHRpZiAoIXdsYW5fZGF0YSlcbiBcdFx0cmV0dXJuIC1FTk9NRU07XG4gXG5AQCAtNDg5LDcgJiM0Mzs0OTYsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfd2xhbl9tc2dfZ2V0KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUsIGludCBpZmluZGV4LFxuIFx0aW50IGVyciwgbGVuO1xuIFxuIFx0bGVuID0gc2l6ZW9mKCp3bGFuX2RhdGEpICYjNDM7IGRhdGFfbGVuO1xuLVx0d2xhbl9kYXRhID0ga3phbGxvYyhsZW4sIGdmcCk7XG4mIzQzO1x0d2xhbl9kYXRhID0ga3phbGxvYyhhaXJvaGFfbnB1X21ib3hfc2l6ZShsZW4pLCBnZnApO1xuIFx0aWYgKCF3bGFuX2RhdGEpXG4gXHRcdHJldHVybiAtRU5PTUVNO1xuIFxuQEAgLTc2Niw3ICYjNDM7NzczLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXG4gXHRcdG5wdS1cdTAwM2VpcnFzW2ldID0gaXJxO1xuIFx0fVxuIFxuLVx0ZXJyID0gZG1hX3NldF9jb2hlcmVudF9tYXNrKGRldiwgRE1BX0JJVF9NQVNLKDMyKSk7XG4mIzQzO1x0ZXJyID0gZG1hX3NldF9tYXNrX2FuZF9jb2hlcmVudChkZXYsIERNQV9CSVRfTUFTSygzMikpO1xuIFx0aWYgKGVycilcbiBcdFx0cmV0dXJuIGVycjtcbiBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yMCAwOToyNTwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGFpcm9oYV9ucHUgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBwbGF0Zm9ybSBkcml2ZXIgZm9yIHRoZSBBaXJvaGEgRU43NTgxIFNvQy4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgaGFyZHdhcmUgYW5kIGRldmljZSB0cmVlIGNvbmZpZ3VyYXRpb25zIChpbmNsdWRpbmcgcmVzZXJ2ZWQgbWVtb3J5IHJlZ2lvbnMgYW5kIGZpcm13YXJlKSB0aGF0IGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgdXNlZCBmb3IgZnV6emluZy4gVGhlcmVmb3JlLCB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyBhcmUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgMGRiNjgwZmEzOGJjY2VkMWMzYTI5Y2E4NWJmMjZhNGY2ZTQ2NmZhMwpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBUaHUgQXVnIDIwIDA5OjI1OjIzIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMKaW5kZXggYjY3OWJlZDk1MmRlMy4uMzQxNmY5MjFmOTYxOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jCkBAIC01LDYgJiM0Mzs1LDcgQEAKICAqLwogCiAjaW5jbHVkZSAmbHQ7bGludXgvZGV2Y29yZWR1bXAuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZG1hLW1hcHBpbmcuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9maXJtd2FyZS5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3BsYXRmb3JtX2RldmljZS5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L29mX25ldC5oJmd0OwpAQCAtMTYwLDE1ICYjNDM7MTYxLDIxIEBAIHN0cnVjdCB3bGFuX21ib3hfZGF0YSB7CiAJREVDTEFSRV9GTEVYX0FSUkFZKHU4LCBkKTsKIH07CiAKJiM0MztzdGF0aWMgc2l6ZV90IGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVfdCBsZW4pCiYjNDM7ewomIzQzOwlyZXR1cm4gQUxJR04obGVuLCBkbWFfZ2V0X2NhY2hlX2FsaWdubWVudCgpKTsKJiM0Mzt9CiYjNDM7CiBzdGF0aWMgaW50IGFpcm9oYV9ucHVfc2VuZF9tc2coc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwgaW50IGZ1bmNfaWQsCiAJCQkgICAgICAgdm9pZCAqcCwgaW50IHNpemUpCiB7CiAJdTE2IGNvcmUgPSAwOyAvKiBGSVhNRSAqLwogCXUzMiB2YWwsIG9mZnNldCA9IGNvcmUgJmx0OyZsdDsgNDsKIAlkbWFfYWRkcl90IGRtYV9hZGRyOwomIzQzOwlzaXplX3QgbWFwX2xlbiA9IGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemUpOwogCWludCByZXQ7CiAKLQlkbWFfYWRkciA9IGRtYV9tYXBfc2luZ2xlKG5wdS0mZ3Q7ZGV2LCBwLCBzaXplLCBETUFfQklESVJFQ1RJT05BTCk7CiYjNDM7CWRtYV9hZGRyID0gZG1hX21hcF9zaW5nbGUobnB1LSZndDtkZXYsIHAsIG1hcF9sZW4sIERNQV9CSURJUkVDVElPTkFMKTsKIAlyZXQgPSBkbWFfbWFwcGluZ19lcnJvcihucHUtJmd0O2RldiwgZG1hX2FkZHIpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CkBAIC0xOTEsNyAmIzQzOzE5OCw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9zZW5kX21zZyhzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LCBpbnQgZnVuY19pZCwKIAogCXNwaW5fdW5sb2NrX2JoKCZhbXA7bnB1LSZndDtjb3Jlc1tjb3JlXS5sb2NrKTsKIAotCWRtYV91bm1hcF9zaW5nbGUobnB1LSZndDtkZXYsIGRtYV9hZGRyLCBzaXplLCBETUFfQklESVJFQ1RJT05BTCk7CiYjNDM7CWRtYV91bm1hcF9zaW5nbGUobnB1LSZndDtkZXYsIGRtYV9hZGRyLCBtYXBfbGVuLCBETUFfQklESVJFQ1RJT05BTCk7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtMzMzLDcgJiM0MzszNDAsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfcHBlX2luaXQoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSkKIAlzdHJ1Y3QgcHBlX21ib3hfZGF0YSAqcHBlX2RhdGE7CiAJaW50IGVycjsKIAotCXBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTsKJiM0MzsJcHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFwcGVfZGF0YSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTM1NCw3ICYjNDM7MzYxLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3BwZV9kZWluaXQoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSkKIAlzdHJ1Y3QgcHBlX21ib3hfZGF0YSAqcHBlX2RhdGE7CiAJaW50IGVycjsKIAotCXBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTsKJiM0MzsJcHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFwcGVfZGF0YSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTM3NSw3ICYjNDM7MzgyLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3BwZV9mbHVzaF9zcmFtX2VudHJpZXMoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwKIAlzdHJ1Y3QgcHBlX21ib3hfZGF0YSAqcHBlX2RhdGE7CiAJaW50IGVycjsKIAotCXBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTsKJiM0MzsJcHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFwcGVfZGF0YSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTM5OSw3ICYjNDM7NDA2LDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X2ZvZV9jb21taXRfZW50cnkoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwKIAlzdHJ1Y3QgcHBlX21ib3hfZGF0YSAqcHBlX2RhdGE7CiAJaW50IGVycjsKIAotCXBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhLCBHRlBfQVRPTUlDKTsKJiM0MzsJcHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0FUT01JQyk7CiAJaWYgKCFwcGVfZGF0YSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTQzNCw3ICYjNDM7NDQxLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3BwZV9zdGF0c19zZXR1cChzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LAogCWludCBlcnIsIHNpemUgPSBudW1fc3RhdHNfZW50cmllcyAqIHNpemVvZigqbnB1LSZndDtzdGF0cyk7CiAJc3RydWN0IHBwZV9tYm94X2RhdGEgKnBwZV9kYXRhOwogCi0JcHBlX2RhdGEgPSBremFsbG9jX29iaigqcHBlX2RhdGEsIEdGUF9BVE9NSUMpOwomIzQzOwlwcGVfZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUoc2l6ZW9mKCpwcGVfZGF0YSkpLCBHRlBfQVRPTUlDKTsKIAlpZiAoIXBwZV9kYXRhKQogCQlyZXR1cm4gLUVOT01FTTsKIApAQCAtNDY2LDcgJiM0Mzs0NzMsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfd2xhbl9tc2dfc2VuZChzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LCBpbnQgaWZpbmRleCwKIAlpbnQgZXJyLCBsZW47CiAKIAlsZW4gPSBzaXplb2YoKndsYW5fZGF0YSkgJiM0MzsgZGF0YV9sZW47Ci0Jd2xhbl9kYXRhID0ga3phbGxvYyhsZW4sIGdmcCk7CiYjNDM7CXdsYW5fZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUobGVuKSwgZ2ZwKTsKIAlpZiAoIXdsYW5fZGF0YSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTQ4OSw3ICYjNDM7NDk2LDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3dsYW5fbXNnX2dldChzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LCBpbnQgaWZpbmRleCwKIAlpbnQgZXJyLCBsZW47CiAKIAlsZW4gPSBzaXplb2YoKndsYW5fZGF0YSkgJiM0MzsgZGF0YV9sZW47Ci0Jd2xhbl9kYXRhID0ga3phbGxvYyhsZW4sIGdmcCk7CiYjNDM7CXdsYW5fZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUobGVuKSwgZ2ZwKTsKIAlpZiAoIXdsYW5fZGF0YSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTc2Niw3ICYjNDM7NzczLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCW5wdS0mZ3Q7aXJxc1tpXSA9IGlycTsKIAl9CiAKLQllcnIgPSBkbWFfc2V0X2NvaGVyZW50X21hc2soZGV2LCBETUFfQklUX01BU0soMzIpKTsKJiM0MzsJZXJyID0gZG1hX3NldF9tYXNrX2FuZF9jb2hlcmVudChkZXYsIERNQV9CSVRfTUFTSygzMikpOwogCWlmIChlcnIpCiAJCXJldHVybiBlcnI7CiAKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjAgMDk6MjU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzQ4NAoJCQkJCQkJb3V0cHV0OiAyMgoJCQkJCQkJdGhvdWdodHM6IDYwNwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBQYXRjaCB0byBhbiBBaXJvaGEgRXRoZXJuZXQgRHJpdmVyKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciB0aGUgYGFpcm9oYV9ucHUuY2AgZHJpdmVyLCBzcGVjaWZpY2FsbHkgYW4gQWlyb2hhIEV0aGVybmV0IGRyaXZlci4gSXQgc2VlbXMgdG8gYmUgY2xlYW5pbmcgdXAgc29tZSBETUEtcmVsYXRlZCBjb2RlLiBUaGV5JiMzOTtyZSBhbGlnbmluZyBgYWlyb2hhX25wdV9tYm94X3NpemVgIHRvIGBkbWFfZ2V0X2NhY2hlX2FsaWdubWVudCgpYCwgd2hpY2ggaXMgZ29vZCBwcmFjdGljZSBmb3IgY2FjaGUgY29oZXJlbmNlLiBUaGV5JiMzOTtyZSBhbHNvIHVwZGF0aW5nIGBkbWFfbWFwX3NpbmdsZWAgYW5kIGBkbWFfdW5tYXBfc2luZ2xlYCB0byB1c2UgYG1hcF9sZW5gIGluc3RlYWQgb2YgYHNpemVgLCBhbmQgdGhleSYjMzk7dmUgYWRqdXN0ZWQgdGhlIGBremFsbG9jYCBjYWxscyB0byBtYXRjaCB0aGUgbmV3IHNpemUuIFBsdXMsIGEgY2hhbmdlIHRvIGBkbWFfc2V0X2NvaGVyZW50X21hc2tgIGlzIG5vdyBgZG1hX3NldF9tYXNrX2FuZF9jb2hlcmVudGAuIEl0JiMzOTtzIGFsbCBzdGFuZGFyZCBETUEgc3R1ZmYsIGJ1dCBJIG5lZWQgdG8gZmlndXJlIG91dCB0aGUgaW1wbGljYXRpb25zIGZvciBmdXp6aW5nIHRoaXMuCgpUaGUgcXVlc3Rpb24gaXMsIGNhbiBJIHJlYWNoIHRoaXMgZHJpdmVyIHdpdGggc3RhbmRhcmQgUUVNVT8gSXQmIzM5O3MgYSBwbGF0Zm9ybSBkcml2ZXIsIGBhaXJvaGFfbnB1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpYC4gUGxhdGZvcm0gZHJpdmVycyBmb3Igc3BlY2lmaWMgU29DcyBhcmUgb2Z0ZW4gYSBwYWluIHRvIGdldCB3b3JraW5nIGluIHZhbmlsbGEgUUVNVS4gVGhleSB1c3VhbGx5IHJlcXVpcmUgaGFyZHdhcmUgb3Igc29tZSBzcGVjaWZpYyBlbXVsYXRpb24sIG9yIGF0IGxlYXN0IGEgZGV2aWNlIHRyZWUgb3ZlcmxheS4gSSBoYXZlIHRvIHNlZSBpZiB0aGlzIGlzIHBvc3NpYmxlLgoKSSYjMzk7bSB0aGlua2luZyBhYm91dCB0aGUgcHJvbXB0JiMzOTtzIGluc3RydWN0aW9uczogJiMzNDtSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zLi4uIHZlbmRvci1zcGVjaWZpYy4uLiBkcml2ZXJzIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VJiMzNDsuIFJpZ2h0LCB3aGF0IGFib3V0IFNvQy1zcGVjaWZpYyBwbGF0Zm9ybSBkcml2ZXJzPyAqSXMqIGBhaXJvaGFfbnB1YCBvbmUgb2YgdGhvc2U/IFllcywgY29uZmlybWVkLCBwbGF0Zm9ybSBkcml2ZXIuIFNvLCB0aGUgY3J1Y2lhbCBxdWVzdGlvbjogY2FuIHRoaXMgYmUgZnV6emVkPwoKU3l6a2FsbGVyIGNhbiBzb21ldGltZXMgaW5zdGFudGlhdGUgcGxhdGZvcm0gZHJpdmVycywgZXNwZWNpYWxseSBpZiB0aGV5IGNhbiBiZSBjcmVhdGVkIHZpYSBwc2V1ZG8tZGV2aWNlcywgb3IgYXJlIG1hdGNoZWQgYnkgYSBnZW5lcmljIHBsYXRmb3JtIGRldmljZSwgYnV0IFNvQy1zcGVjaWZpYyBvbmVzIGFyZSBhIGNoYWxsZW5nZSwgdW5sZXNzIHRoZXJlJiMzOTtzIGEgd2F5IHRvIGNyZWF0ZSB0aGUgcGxhdGZvcm0gZGV2aWNlLiBEb2VzIFN5emthbGxlciB1c2UgYHN5el9kZXZyZXNgIG9yIHNpbWlsYXI/IE5vLiBEb2VzIGl0IGNyZWF0ZSBwbGF0Zm9ybSBkZXZpY2VzIGJ5IHdyaXRpbmcgdG8gYC9zeXMvZGV2aWNlcy9wbGF0Zm9ybWA/IE5vLiBHZW5lcmFsbHksIGl0IGRvZXNuJiMzOTt0IGNyZWF0ZSBhcmJpdHJhcnkgZGV2aWNlcyB1bmxlc3MgdGhlcmUgaXMgYSBzeXpsYW5nIGRlc2NyaXB0aW9uLgoKQnV0IHdhaXQsIEkgc2VlbSB0byByZW1lbWJlciBzb21ldGhpbmcgYWJvdXQgc3l6a2FsbGVyIHN1cHBvcnRpbmcgcGxhdGZvcm0gZGV2aWNlcyBpZiB0aGV5JiMzOTtyZSBkZXNjcmliZWQgaW4gYHN5cy9saW51eC9kZXZfKi50eHRgIG9yIHNvbWV0aGluZyBzaW1pbGFyPyBJIG5lZWQgdG8gY2hlY2sgaWYgQWlyb2hhIGlzIGV2ZW4gc3VwcG9ydGVkIGJ5IHN5emthbGxlci4gVGhhdCYjMzk7cyB0aGUga2V5LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2Fpcm9oYSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0OyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgNzQ5MyBsaW5lcy5cblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cblxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEsZW43NTgxLWNoaXAtc2N1LnlhbWwtMy0tLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEsZW43NTgxLWNoaXAtc2N1LnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbD0xMj1kZXNjcmlwdGlvbjpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sOjEzOiAgVGhlIGFpcm9oYSBjaGlwLXNjdSBibG9jayBwcm92aWRlcyBhIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIGZvciBjbG9jayxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sLTE0LSAgaW8tbXV4aW5nIGFuZCBvdGhlciBmdW5jdGlvbmFsaXRpZXMgdXNlZCBieSBtdWx0aXBsZSBjb250cm9sbGVycyAoZS5nLiBjbG9jayxcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbD0xNz1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sLTIwLSAgICAgIC0gZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sOjIxOiAgICAgICAgICAtIGFpcm9oYSxlbjc1ODEtY2hpcC1zY3VcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sLTIyLSAgICAgIC0gY29uc3Q6IHN5c2NvblxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sPTMzPWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sLTM4LSAgICAgIHN5c2NvbkAxZmEyMDAwMCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbDozOTogICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDthaXJvaGEsZW43NTgxLWNoaXAtc2N1XCYjMzQ7LCBcJiMzNDtzeXNjb25cJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbC00MC0gICAgICAgIHJlZyA9IFx1MDAzYzB4MCAweDFmYTIwMDAwIDB4MCAweDM4OFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sLTMtLS0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9hcm0vYWlyb2hhLnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEueWFtbD0xNj1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLnlhbWwtMjItICAgICAgICAgIC0gZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLnlhbWw6MjM6ICAgICAgICAgICAgICAtIGFpcm9oYSxlbjc1MjMtZXZiXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sOjI0OiAgICAgICAgICAtIGNvbnN0OiBhaXJvaGEsZW43NTIzXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sLTI1LSAgICAgIC0gaXRlbXM6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sLTI2LSAgICAgICAgICAtIGVudW06XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sOjI3OiAgICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLWV2YlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEueWFtbDoyODogICAgICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEueWFtbC0yOS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sPTI5PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtMzItICAgICAgLSBlbnVtOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw6MzM6ICAgICAgICAgIC0gYWlyb2hhLGVuNzUyMy1zY3VcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sOjM0OiAgICAgICAgICAtIGFpcm9oYSxlbjc1ODEtc2N1XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC0zNS0gICAgICAgICAgLSBlY29uZXQsZW43NTEyMjEtc2N1XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw9NTg9YWxsT2Y6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtNjEtICAgICAgICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw6NjI6ICAgICAgICAgIGNvbnN0OiBhaXJvaGEsZW43NTIzLXNjdVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtNjMtICAgIHRoZW46XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtNzEtICAgICAgICAgIGVudW06XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbDo3MjogICAgICAgICAgICAtIGFpcm9oYSxlbjc1ODEtc2N1XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC03My0gICAgICAgICAgICAtIGVjb25ldCxlbjc1MTIyMS1zY3Vcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbD04MT1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC04NC0gICAgc2N1OiBzeXN0ZW0tY29udHJvbGxlckAxZmEyMDAwMCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbDo4NTogICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzUyMy1zY3VcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC04Ni0gICAgICByZWcgPSBcdTAwM2MweDFmYTIwMDAwIDB4NDAwXHUwMDNlLFxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sLTk3LSAgICAgIHNjdWNsazogY2xvY2stY29udHJvbGxlckAxZmIwMDAwMCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbDo5ODogICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDthaXJvaGEsZW43NTgxLXNjdVwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sLTk5LSAgICAgICAgcmVnID0gXHUwMDNjMHgwIDB4MWZiMDAwMDAgMHgwIDB4OTcwXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sLTMtLS0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbCNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2NwdWZyZXEvYWlyb2hhLGVuNzU4MS1jcHVmcmVxLnlhbWw9MjY9cHJvcGVydGllczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sLTI3LSAgY29tcGF0aWJsZTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sOjI4OiAgICBjb25zdDogYWlyb2hhLGVuNzU4MS1jcHVmcmVxXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbC0yOS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbD00Nj1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbC00OC0gICAgcGVyZm9ybWFuY2UtZG9tYWluIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sOjQ5OiAgICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcVwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sLTUwLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sPTMwPXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2NyeXB0by9pbnNpZGUtc2VjdXJlLHNhZmV4Y2VsLWVpcDkzLnlhbWwtMzMtICAgICAgLSBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sOjM0OiAgICAgICAgICAtIGNvbnN0OiBhaXJvaGEsZW43NTgxLWVpcDkzXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3J5cHRvL2luc2lkZS1zZWN1cmUsc2FmZXhjZWwtZWlwOTMueWFtbC0zNS0gICAgICAgICAgLSBjb25zdDogaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5M2llc1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sPTU4PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sLTYyLSAgICBjcnlwdG9AMWUwMDQwMDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2NyeXB0by9pbnNpZGUtc2VjdXJlLHNhZmV4Y2VsLWVpcDkzLnlhbWw6NjM6ICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2Fpcm9oYSxlbjc1ODEtZWlwOTNcJiMzNDssIFwmIzM0O2luc2lkZS1zZWN1cmUsc2FmZXhjZWwtZWlwOTNpZXNcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3J5cHRvL2luc2lkZS1zZWN1cmUsc2FmZXhjZWwtZWlwOTMueWFtbC02NC0gICAgICByZWcgPSBcdTAwM2MweDFmYjcwMDAwIDB4MTAwMFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sPTE2PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWwtMjEtICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWw6MjI6ICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzUyMy1ncGlvXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbC0yMy1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbD00ND1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbC00Ni0gICAgZ3BpbzA6IGdwaW9AMWZiZjAyMDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWw6NDc6ICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzUyMy1ncGlvXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWwtNDgtICAgICAgICByZWcgPSBcdTAwM2MweDFmYmYwMjA0IDB4NFx1MDAzZSxcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbC01Ni0gICAgZ3BpbzE6IGdwaW9AMWZiZjAyNzAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWw6NTc6ICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzUyMy1ncGlvXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWwtNTgtICAgICAgICByZWcgPSBcdTAwM2MweDFmYmYwMjcwIDB4NFx1MDAzZSxcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sPTE3PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwtMTktICAgIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw6MjA6ICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwtMjEtICAgICAgLSBjb25zdDogc3lzY29uXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwtMjgtICAgIHR5cGU6IG9iamVjdFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw6Mjk6ICAgICRyZWY6IC9zY2hlbWFzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTMwLSAgICBkZXNjcmlwdGlvbjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC0zNC0gICAgdHlwZTogb2JqZWN0XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbDozNTogICAgJHJlZjogL3NjaGVtYXMvcHdtL2Fpcm9oYSxlbjc1ODEtcHdtLnlhbWxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTM2LSAgICBkZXNjcmlwdGlvbjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbD00NT1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC00OS0gICAgc3lzdGVtLWNvbnRyb2xsZXJAMWZiZjAyMDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw6NTA6ICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGxcJiMzNDssIFwmIzM0O3N5c2NvblwmIzM0OywgXCYjMzQ7c2ltcGxlLW1mZFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTUxLSAgICAgIHJlZyA9IFx1MDAzYzB4MWZiZjAyMDAgMHhjMFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC01My0gICAgICBwaW5jdHJsIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sOjU0OiAgICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2Fpcm9oYSxlbjc1ODEtcGluY3RybFwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTU1LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTg1LSAgICAgIHB3bSB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbDo4NjogICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDthaXJvaGEsZW43NTgxLXB3bVwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTg3LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvc3lzY29uLnlhbWw9MjU9c2VsZWN0OlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvc3lzY29uLnlhbWwtMjktICAgICAgICBlbnVtOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9zeXNjb24ueWFtbDozMDogICAgICAgICAgLSBhaXJvaGEsZW43NTgxLXBidXMtY3NyXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL3N5c2Nvbi55YW1sLTMxLSAgICAgICAgICAtIGFsLGFscGluZS1zeXNmYWJyaWMtc2VydmljZVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvc3lzY29uLnlhbWw9MTM4PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9zeXNjb24ueWFtbC0xNDItICAgICAgICAgIC0gZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvc3lzY29uLnlhbWw6MTQzOiAgICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLXBidXMtY3NyXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL3N5c2Nvbi55YW1sLTE0NC0gICAgICAgICAgICAgIC0gYWwsYWxwaW5lLXN5c2ZhYnJpYy1zZXJ2aWNlXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGFuNzU4My1tZGlvLnlhbWw9MjI9cHJvcGVydGllczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGFuNzU4My1tZGlvLnlhbWwtMjMtICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbDoyNDogICAgY29uc3Q6IGFpcm9oYSxhbjc1ODMtbWRpb1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbC0yNS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sPTQ2PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGFuNzU4My1tZGlvLnlhbWwtNTItICAgICAgICBtZGlvLWJ1c0BjOCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sOjUzOiAgICAgICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDthaXJvaGEsYW43NTgzLW1kaW9cJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sLTU0LSAgICAgICAgICAgIHJlZyA9IFx1MDAzYzB4YzhcdTAwM2U7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW44ODAxLnlhbWwtMy0tLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGFuODgwMS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9uZXQvYWlyb2hhLGFuODgwMS55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW44ODAxLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMy0tLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw9MTY9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMTgtICAgIGVudW06XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MTk6ICAgICAgLSBhaXJvaGEsZW43NTgxLWV0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjIwOiAgICAgIC0gYWlyb2hhLGFuNzU4My1ldGhcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yMS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtNzgtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6Nzk6ICBhaXJvaGEsbnB1OlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTgwLSAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sPTg3PWFsbE9mOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC05My0gICAgICAgICAgICBlbnVtOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjk0OiAgICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLWV0aFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTk1LSAgICB0aGVuOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0xMDctICAgICAgICAgICAgZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDoxMDg6ICAgICAgICAgICAgICAtIGFpcm9oYSxhbjc1ODMtZXRoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMTA5LSAgICB0aGVuOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbD0xMTc9cGF0dGVyblByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTEyNS0gICAgICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjEyNjogICAgICAgIGNvbnN0OiBhaXJvaGEsZXRoLW1hY1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTEyNy1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMTU4LSAgICAgICAgICAgICAgICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjE1OTogICAgICAgICAgICAgICAgICBjb25zdDogYWlyb2hhLGV0aC1wb3J0XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMTYwLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbD0xODI9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTE5Mi0gICAgICBldGg6IGV0aGVybmV0QDFmYjUwMDAwIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDoxOTM6ICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzU4MS1ldGhcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMTk0LSAgICAgICAgcmVnID0gXHUwMDNjMCAweDFmYjUwMDAwIDAgMHgyNjAwXHUwMDNlLFxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yMjQtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MjI1OiAgICAgICAgYWlyb2hhLG5wdSA9IFx1MDAzY1x1MDAyNm5wdVx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yMjYtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTIzMC0gICAgICAgIGV0aGVybmV0QDEge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjIzMTogICAgICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2Fpcm9oYSxldGgtbWFjXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTIzMi0gICAgICAgICAgcmVnID0gXHUwMDNjMVx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMjM1LSAgICAgICAgZXRoZXJuZXRANCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MjM2OiAgICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGV0aC1tYWNcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMjM3LSAgICAgICAgICByZWcgPSBcdTAwM2M0XHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yNDItICAgICAgICAgIGV0aGVybmV0QDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjI0MzogICAgICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGV0aC1wb3J0XCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTI0NC0gICAgICAgICAgICByZWcgPSBcdTAwM2MwXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yNDctICAgICAgICAgIGV0aGVybmV0QDEge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjI0ODogICAgICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGV0aC1wb3J0XCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTI0OS0gICAgICAgICAgICByZWcgPSBcdTAwM2MxXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbCNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbD0xNz1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbC0xOS0gICAgZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbDoyMDogICAgICAtIGFpcm9oYSxlbjc1ODEtbnB1XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWw6MjE6ICAgICAgLSBhaXJvaGEsYW43NTgzLW5wdVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sLTIyLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbD03NT1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWwtODMtICAgICAgbnB1QDFlOTAwMDAwIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbDo4NDogICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDthaXJvaGEsZW43NTgxLW5wdVwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbC04NS0gICAgICAgIHJlZyA9IFx1MDAzYzAgMHgxZTkwMDAwMCAwIDB4MzEzMDAwXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbC0xMDMtICAgICAgICBtZW1vcnktcmVnaW9uLW5hbWVzID0gXCYjMzQ7ZmlybXdhcmVcJiMzNDssIFwmIzM0O3BrdFwmIzM0OywgXCYjMzQ7dHgtcGt0XCYjMzQ7LCBcJiMzNDt0eC1idWZpZFwmIzM0OywgXCYjMzQ7YmFcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWw6MTA0OiAgICAgICAgZmlybXdhcmUtbmFtZSA9IFwmIzM0O2Fpcm9oYS9lbjc1ODFfbnB1X3J2MzIuYmluXCYjMzQ7LFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sOjEwNTogICAgICAgICAgICAgICAgICAgICAgICBcJiMzNDthaXJvaGEvZW43NTgxX25wdV9kYXRhLmJpblwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbC0xMDYtICAgICAgfTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWwtMy0tLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuODgxMWgueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWw9MjE9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWwtMjgtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWw6Mjk6ICBhaXJvaGEscG5zd2FwLXJ4OlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW44ODExaC55YW1sLTMwLSAgICB0eXBlOiBib29sZWFuXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW44ODExaC55YW1sLTM3LVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW44ODExaC55YW1sOjM4OiAgYWlyb2hhLHBuc3dhcC10eDpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuODgxMWgueWFtbC0zOS0gICAgdHlwZTogYm9vbGVhblxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sPTc2PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9kc2EvbWVkaWF0ZWssbXQ3NTMwLnlhbWwtOTYtICAgICAgICAgIEJ1aWx0LWluIHN3aXRjaCBvZiB0aGUgQWlyb2hhIEVONzU4MSBTb0NcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sOjk3OiAgICAgICAgY29uc3Q6IGFpcm9oYSxlbjc1ODEtc3dpdGNoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2RzYS9tZWRpYXRlayxtdDc1MzAueWFtbC05OC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2RzYS9tZWRpYXRlayxtdDc1MzAueWFtbC0xMDAtICAgICAgICAgIEJ1aWx0LWluIHN3aXRjaCBvZiB0aGUgQWlyb2hhIEFONzU4MyBTb0NcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sOjEwMTogICAgICAgIGNvbnN0OiBhaXJvaGEsYW43NTgzLXN3aXRjaFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9kc2EvbWVkaWF0ZWssbXQ3NTMwLnlhbWwtMTAyLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sPTI2OT1hbGxPZjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2RzYS9tZWRpYXRlayxtdDc1MzAueWFtbC0zMTgtICAgICAgICAgICAgLSBtZWRpYXRlayxtdDc5ODgtc3dpdGNoXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2RzYS9tZWRpYXRlayxtdDc1MzAueWFtbDozMTk6ICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLXN3aXRjaFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9kc2EvbWVkaWF0ZWssbXQ3NTMwLnlhbWw6MzIwOiAgICAgICAgICAgIC0gYWlyb2hhLGFuNzU4My1zd2l0Y2hcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sLTMyMS0gICAgdGhlbjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sLTMtLS0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9udm1lbS9haXJvaGEsYW44ODU1LWVmdXNlLnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbD0xOD1wcm9wZXJ0aWVzOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbC0xOS0gIGNvbXBhdGlibGU6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sOjIwOiAgICBjb25zdDogYWlyb2hhLGFuODg1NS1lZnVzZVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbC0yMS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sPTMxPWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1lbS9haXJvaGEsYW44ODU1LWVmdXNlLnlhbWwtMzMtICAgIGVmdXNlIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1lbS9haXJvaGEsYW44ODU1LWVmdXNlLnlhbWw6MzQ6ICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGFuODg1NS1lZnVzZVwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1lbS9haXJvaGEsYW44ODU1LWVmdXNlLnlhbWwtMzUtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLWdlbjMueWFtbD00Nj1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWwtNjEtICAgICAgLSBjb25zdDogbWVkaWF0ZWssbXQ4MTk2LXBjaWVcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWw6NjI6ICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MS1wY2llXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUtZ2VuMy55YW1sLTYzLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWw9MTYwPWFsbE9mOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWwtMjgyLSAgICAgICAgY29tcGF0aWJsZTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWw6MjgzOiAgICAgICAgICBjb25zdDogYWlyb2hhLGVuNzU4MS1wY2llXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUtZ2VuMy55YW1sLTI4NC0gICAgdGhlbjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbD0xMj1wcm9wZXJ0aWVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sLTE1LSAgICAgIC0gZW51bTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sOjE2OiAgICAgICAgICAtIGFpcm9oYSxhbjc1ODMtcGNpZVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWwtMTctICAgICAgICAgIC0gZWNvbmV0LGVuNzUyOC1wY2llXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWwtMjEtICAgICAgLSBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sOjIyOiAgICAgICAgICAtIGNvbnN0OiBhaXJvaGEsZW43NTIzLXBjaWVcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sLTIzLSAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDc2MjItcGNpZVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sPTEwOT1hbGxPZjpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbC0xMTQtICAgICAgICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWw6MTE1OiAgICAgICAgICBjb25zdDogYWlyb2hhLGFuNzU4My1wY2llXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbC0xMTYtICAgIHRoZW46XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWwtMjA4LSAgICAgICAgICBjb250YWluczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sOjIwOTogICAgICAgICAgICBjb25zdDogYWlyb2hhLGVuNzUyMy1wY2llXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbC0yMTAtICAgIHRoZW46XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWw9MjU3PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sLTQyNS0gICAgICAgIHBjaWVAMWZhOTIwMDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWw6NDI2OiAgICAgICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDthaXJvaGEsYW43NTgzLXBjaWVcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbC00MjctICAgICAgICAgICAgZGV2aWNlX3R5cGUgPSBcJiMzNDtwY2lcJiMzNDs7XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWwtMy0tLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waHkvYWlyb2hhLGVuNzU4MS1wY2llLXBoeS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9waHkvYWlyb2hhLGVuNzU4MS1wY2llLXBoeS55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbD0xNT1wcm9wZXJ0aWVzOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWwtMTYtICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWw6MTc6ICAgIGNvbnN0OiBhaXJvaGEsZW43NTgxLXBjaWUtcGh5XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbC0xOC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbD00OD1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbC01Ni0gICAgICAgIHBoeUAxMWU4MDAwMCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbDo1NzogICAgICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzU4MS1wY2llLXBoeVwmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waHkvYWlyb2hhLGVuNzU4MS1wY2llLXBoeS55YW1sLTU4LSAgICAgICAgICAgICNwaHktY2VsbHMgPSBcdTAwM2MwXHUwMDNlO1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sLTMtLS0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbCNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGFuNzU4My1waW5jdHJsLnlhbWw9MTU9cHJvcGVydGllczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sLTE2LSAgY29tcGF0aWJsZTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sOjE3OiAgICBjb25zdDogYWlyb2hhLGFuNzU4My1waW5jdHJsXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbC0xOC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbD0zMzM9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGFuNzU4My1waW5jdHJsLnlhbWwtMzM3LSAgICBwaW5jdHJsIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sOjMzODogICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGFuNzU4My1waW5jdHJsXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGFuNzU4My1waW5jdHJsLnlhbWwtMzM5LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sLTMtLS0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsZW43NTgxLXBpbmN0cmwueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvcGluY3RybC9haXJvaGEsZW43NTgxLXBpbmN0cmwueWFtbCNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWw9MTU9cHJvcGVydGllczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sLTE2LSAgY29tcGF0aWJsZTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sOjE3OiAgICBjb25zdDogYWlyb2hhLGVuNzU4MS1waW5jdHJsXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsZW43NTgxLXBpbmN0cmwueWFtbC0xOC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsZW43NTgxLXBpbmN0cmwueWFtbD0zMzQ9ZXhhbXBsZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWwtMzM4LSAgICBwaW5jdHJsIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sOjMzOTogICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzU4MS1waW5jdHJsXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWwtMzQwLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbCNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbD0xNT1wcm9wZXJ0aWVzOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sLTE2LSAgY29tcGF0aWJsZTpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbDoxNzogICAgY29uc3Q6IGFpcm9oYSxlbjc1ODEtcHdtXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcHdtL2Fpcm9oYSxlbjc1ODEtcHdtLnlhbWwtMTgtXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sPTI4PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbC0zMC0gICAgcHdtIHtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbDozMTogICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzU4MS1wd21cJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcHdtL2Fpcm9oYSxlbjc1ODEtcHdtLnlhbWwtMzItXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvcm5nL2Fpcm9oYSxlbjc1ODEtdHJuZy55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWw9MTI9cHJvcGVydGllczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWwtMTMtICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbDoxNDogICAgY29uc3Q6IGFpcm9oYSxlbjc1ODEtdHJuZ1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbC0xNS1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvcm5nL2Fpcm9oYSxlbjc1ODEtdHJuZy55YW1sPTI5PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWwtMzQtICAgIHJuZ0AxZmFhMTAwMCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvcm5nL2Fpcm9oYSxlbjc1ODEtdHJuZy55YW1sOjM1OiAgICAgICAgY29tcGF0aWJsZSA9IFwmIzM0O2Fpcm9oYSxlbjc1ODEtdHJuZ1wmIzM0OztcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWwtMzYtICAgICAgICByZWcgPSBcdTAwM2MweDFmYWExMDAwIDB4MTAwMFx1MDAzZTtcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc3BpL2Fpcm9oYSxlbjc1ODEtc25hbmQueWFtbC0zLS0tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwjXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc3BpL2Fpcm9oYSxlbjc1ODEtc25hbmQueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sPTE1PXByb3BlcnRpZXM6XG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwtMTctICAgIG9uZU9mOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWw6MTg6ICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MS1zbmFuZFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwtMTktICAgICAgLSBpdGVtczpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sLTIwLSAgICAgICAgICAtIGVudW06XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc3BpL2Fpcm9oYSxlbjc1ODEtc25hbmQueWFtbDoyMTogICAgICAgICAgICAgIC0gYWlyb2hhLGVuNzUyMy1zbmFuZFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWw6MjI6ICAgICAgICAgIC0gY29uc3Q6IGFpcm9oYSxlbjc1ODEtc25hbmRcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sLTIzLVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sPTQ0PWV4YW1wbGVzOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sLTUyLSAgICAgIHNwaUAxZmExMDAwMCB7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc3BpL2Fpcm9oYSxlbjc1ODEtc25hbmQueWFtbDo1MzogICAgICAgIGNvbXBhdGlibGUgPSBcJiMzNDthaXJvaGEsZW43NTgxLXNuYW5kXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwtNTQtICAgICAgICByZWcgPSBcdTAwM2MweDAgMHgxZmExMDAwMCAweDAgMHgxNDBcdTAwM2UsXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtMy0tLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sI1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbD0xMj1wcm9wZXJ0aWVzOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtMTMtICBjb21wYXRpYmxlOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWw6MTQ6ICAgIGNvbnN0OiBhaXJvaGEsZW43NTgxLXRoZXJtYWxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTE1LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTIxLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWw6MjI6ICBhaXJvaGEsY2hpcC1zY3U6XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbC0yMy0gICAgZGVzY3JpcHRpb246IHBoYW5kbGUgdG8gdGhlIGNoaXAgU0NVIHN5c2NvblxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sPTI5PXJlcXVpcmVkOlxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTMyLSAgLSBpbnRlcnJ1cHRzXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbDozMzogIC0gYWlyb2hhLGNoaXAtc2N1XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbC0zNC1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbD0zNz1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbC00MS0gICAgdGhlcm1hbC1zZW5zb3JAMWVmYmQ4MDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWw6NDI6ICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzU4MS10aGVybWFsXCYjMzQ7O1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtNDMtICAgICAgICByZWcgPSBcdTAwM2MweDFlZmJkMDAwIDB4ZDVjXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtNDQtICAgICAgICBpbnRlcnJ1cHRzID0gXHUwMDNjR0lDX1NQSSAyMyBJUlFfVFlQRV9MRVZFTF9ISUdIXHUwMDNlO1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWw6NDU6ICAgICAgICBhaXJvaGEsY2hpcC1zY3UgPSBcdTAwM2NcdTAwMjZjaGlwX3NjdVx1MDAzZTtcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTQ2LVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy92ZW5kb3ItcHJlZml4ZXMueWFtbD0xNj1wYXR0ZXJuUHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdmVuZG9yLXByZWZpeGVzLnlhbWwtNzgtICAgIGRlc2NyaXB0aW9uOiBBRVNPUCBFbWJlZGRlZCBGb3J1bVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3ZlbmRvci1wcmVmaXhlcy55YW1sOjc5OiAgXCYjMzQ7XmFpcm9oYSwuKlwmIzM0OzpcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy92ZW5kb3ItcHJlZml4ZXMueWFtbC04MC0gICAgZGVzY3JpcHRpb246IEFpcm9oYVxuLS1cbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy93YXRjaGRvZy9haXJvaGEsZW43NTgxLXdkdC55YW1sLTMtLS0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbCNcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy93YXRjaGRvZy9haXJvaGEsZW43NTgxLXdkdC55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXG4tLVxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWw9MTU9cHJvcGVydGllczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbC0xOC0gICAgICAtIGl0ZW1zOlxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWw6MTk6ICAgICAgICAgIC0gY29uc3Q6IGFpcm9oYSxhbjc1ODMtd2R0XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbDoyMDogICAgICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MS13ZHRcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy93YXRjaGRvZy9haXJvaGEsZW43NTgxLXdkdC55YW1sOjIxOiAgICAgIC0gY29uc3Q6IGFpcm9oYSxlbjc1ODEtd2R0XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbC0yMi1cbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbD00MT1leGFtcGxlczpcbi0tXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbC00NS0gICAgd2F0Y2hkb2dAMWZiZjAxMDAge1xuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWw6NDY6ICAgICAgICBjb21wYXRpYmxlID0gXCYjMzQ7YWlyb2hhLGVuNzU4MS13ZHRcJiMzNDs7XG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbC00Ny0gICAgICAgIHJlZyA9IFx1MDAzYzB4MWZiZjAxMDAgMHgzY1x1MDAzZTtcbi0tXG5NQUlOVEFJTkVSUz03NTk9UzpcdE1haW50YWluZWRcbk1BSU5UQUlORVJTOjc2MDpGOlx0RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sXG5NQUlOVEFJTkVSUzo3NjE6RjpcdGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9cbk1BSU5UQUlORVJTLTc2Mi1cbi0tXG5NQUlOVEFJTkVSUz03NjY9UzpcdE1haW50YWluZWRcbk1BSU5UQUlORVJTOjc2NzpGOlx0RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWxcbk1BSU5UQUlORVJTOjc2ODpGOlx0ZHJpdmVycy9waHkvcGh5LWFpcm9oYS1wY2llLXJlZ3MuaFxuTUFJTlRBSU5FUlM6NzY5OkY6XHRkcml2ZXJzL3BoeS9waHktYWlyb2hhLXBjaWUuY1xuTUFJTlRBSU5FUlMtNzcwLVxuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjAgMDk6MjU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTg2MjgKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiA3NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipJbnZlc3RpZ2F0aW5nIHRoZSBBaXJvaGEgRXRoZXJuZXQgRHJpdmVyJiMzOTtzIFFFTVUgUmVhY2hhYmlsaXR5KioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGUgYGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmNgIGRyaXZlci4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBjYW4gSSBldmVuICpnZXQqIHRvIHRoaXMgdGhpbmcgaW4gYSBRRU1VIGVudmlyb25tZW50PyBFdGhlcm5ldCBkcml2ZXJzIGFyZSB0eXBpY2FsbHkgaG9va2VkIHVwIHZpYSBQQ0kgb3IgcGxhdGZvcm0gZGV2aWNlcywgYW5kIEkgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSBjb25uZWN0aW9uLiBMZXQmIzM5O3MgZGlnIGludG8gdGhlIHNvdXJjZSBjb2RlIG9mIGBhaXJvaGFfbnB1LmNgIGFuZCBzZWUgZXhhY3RseSBob3cgdGhpcyBkcml2ZXIgcmVnaXN0ZXJzIHdpdGggdGhlIHN5c3RlbS4gVGhhdCYjMzk7cyBnb2luZyB0byBiZSBteSBrZXkgdG8gdW5kZXJzdGFuZGluZyBpdHMgUUVNVSBjb21wYXRpYmlsaXR5LiBUaW1lIHRvIGdvIHNwZWx1bmtpbmchCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjAgMDk6MjU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YWlyb2hhX25wdV9wcm9iZSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYz02OTI9c3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIHJlZ21hcF9jb25maWcgPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYy02OTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jOjcwMDpzdGF0aWMgaW50IGFpcm9oYV9ucHVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtNzAxLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jPTgyMD1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBhaXJvaGFfbnB1X2RyaXZlciA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmM6ODIxOlx0LnByb2JlID0gYWlyb2hhX25wdV9wcm9iZSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtODIyLVx0LnJlbW92ZSA9IGFpcm9oYV9ucHVfcmVtb3ZlLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE5MTMyCgkJCQkJCQlvdXRwdXQ6IDI2CgkJCQkJCQl0aG91Z2h0czogOTkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqSW52ZXN0aWdhdGluZyB0aGUgUmVhY2hhYmlsaXR5IG9mIHRoZSBBaXJvaGEgTlBVIERyaXZlciBpbiBRRU1VKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGRyaXZlciwgY2xlYXJseSBhIHBsYXRmb3JtIGRyaXZlci4gVGhlIGltbWVkaWF0ZSBxdWVzdGlvbiBpcywgY2FuIEkgYWN0dWFsbHkgKmdldCogdG8gYGFpcm9oYV9ucHVfcHJvYmVgIHdpdGhpbiBhIFFFTVUgZW52aXJvbm1lbnQ/IEhpc3RvcmljYWxseSwgdGhlc2Ugc3BlY2lmaWMgU29DIHBsYXRmb3JtIGRyaXZlcnMgYXJlIHRyaWNreSDigJMgdGhleSYjMzk7cmUgZ2VuZXJhbGx5IG5vdCB0cmlnZ2VyZWQgdW5sZXNzIEkmIzM5O3ZlIGdvdCBhIFFFTVUgYm9hcmQgZW11bGF0aW9uIHRoYXQgc3BlY2lmaWNhbGx5IGluY2x1ZGVzIHRoZSBBaXJvaGEgc2lsaWNvbiwgb3IgSSYjMzk7bSBsZXZlcmFnaW5nIHNvbWV0aGluZyBsaWtlIHN5emthbGxlciB0byBpbmplY3QgdGhlIHJpZ2h0IHBsYXRmb3JtIGRldmljZXMuCgpBaGEsIHRoYXQmIzM5O3Mgd2hlcmUgSSBuZWVkIHRvIHBpdm90LiBTeXprYWxsZXIuLi4gaXQgY2FuIGRlc2NyaWJlIGFuZCBpbmplY3QgcGxhdGZvcm0gZGV2aWNlcyB2aWEgc3l6bGFuZywgcmlnaHQ/IFRoYXQmIzM5O3MgdGhlIGtleS4gSSBuZWVkIHRvIHF1aWNrbHkgY2hlY2sgaWYgYSBzeXpsYW5nIGRlc2NyaXB0aW9uIGZvciAmIzM0O2Fpcm9oYSYjMzQ7IGV4aXN0cy4gSWYgaXQgZG9lcywgdGhlbiBJJiMzOTt2ZSBnb3QgYSBtdWNoIGJldHRlciBzaG90IGF0IHByb2JpbmcgdGhhdCBkcml2ZXIgd2l0aGluIG15IGNvbnRyb2xsZWQgZW52aXJvbm1lbnQuIFRoYXQmIzM5O3MgdGhlIG5leHQgbG9naWNhbCBzdGVwIGluIHRoZSBpbnZlc3RpZ2F0aW9uLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5FcnJvcjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm5vIG1hdGNoZXM8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YWlyb2hhJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7c3lzL2xpbnV4LyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjAgMDk6MjU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTk0NzcKCQkJCQkJCW91dHB1dDogNDIKCQkJCQkJCXRob3VnaHRzOiA0MDcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQXNzZXNzbWVudCBvZiB0aGUgUXVlcnkmIzM5O3MgU2NvcGUqKgoKT2theSwgc28gdGhlIGluaXRpYWwgaW5zdHJ1Y3Rpb24gaXMgY2xlYXI6IEkgKmNhbm5vdCogdXNlIHRoaXMgdG9vbCB0byBkaXJlY3RseSBpbnZlc3RpZ2F0ZSBzeXprYWxsZXImIzM5O3Mgc3l6bGFuZyBkZXNjcmlwdGlvbnMuIEkmIzM5O2xsIG5lZWQgYHJlYWQtc3l6LXNwZWNgIGFuZCBgc3l6LWdyZXBwZXJgIGZvciB0aGF0LCB3aGljaCBJIGRvbiYjMzk7dCBoYXZlIGFjY2VzcyB0byBpbiB0aGlzIGNvbnRleHQuIEkmIzM5O20gbGltaXRlZCB0byBgZ3JlcHBlcmAsIGBjb2Rlc2VhcmNoLWRpci1pbmRleGAsIGByZWFkLWZpbGVgLCBhbmQgYHNldC1yZXN1bHRzYC4gRmluZSwgSSYjMzk7bGwgd29yayB3aXRoIHdoYXQgSSYjMzk7dmUgZ290LgoKVGhlIHNlY29uZCBwYXJ0IG9mIHRoZSBwcm9tcHQgZmxhZ3MgY29kZSBwYXRocyBJICpzaG91bGRuJiMzOTt0KiBib3RoZXIgd2l0aDogdGhpbmdzIGluYWNjZXNzaWJsZSBpbiBzdGFuZGFyZCBRRU1VIGxpa2Ugc3BlY2lmaWMgaGFyZHdhcmUgY29uZmlndXJhdGlvbnMuIFRoaW5ncyBsaWtlIHZlbmRvci1zcGVjaWZpYyBkcml2ZXJzIHRoYXQgbmVlZCBwaHlzaWNhbCBQQ0llIGNhcmRzIGFuZCBzdWNoLgoKTm93LCBteSBxdWVzdGlvbiBpcyBhYm91dCBgYWlyb2hhX25wdWAuIElzIHRoaXMgb25lIG9mIHRob3NlIG9mZi1saW1pdHMgZHJpdmVycz8gTGV0JiMzOTtzIHNlZTogSXQmIzM5O3MgYW4gZXRoZXJuZXQgZHJpdmVyIGZvciBhbiBBaXJvaGEgRU43NTgxIFNvQy4gUmlnaHQsIHRoYXQmIzM5O3MgYSBwbGF0Zm9ybSBkcml2ZXIsIHNwZWNpZmljYWxseSBmb3IgYSBzeXN0ZW0tb24tY2hpcC4KCkkga25vdyBwbGF0Zm9ybSBkcml2ZXJzIGNhbiBiZSB0cmlja3kuIEdlbmVyYWxseSwgdGhvc2UgYXJlbiYjMzk7dCByZWFjaGFibGUgaW4gc3RhbmRhcmQgeDg2IFFFTVUgdW5sZXNzIHRoZSBrZXJuZWwgaXMgY29tcGlsZWQgZm9yIHRoYXQgc3BlY2lmaWMgQVJNL01JUFMgYXJjaGl0ZWN0dXJlIGFuZCBRRU1VIHNwZWNpZmljYWxseSBlbXVsYXRlcyB0aGF0IGJvYXJkLCBvciBpZiBzeXprYWxsZXIgY2FuIHNvbWVob3cgaW5qZWN0IGl0LiBJIGFsc28ga25vdyB0aGF0IHN5emthbGxlciAqZG9lcyogZnV6eiBzb21lIHBsYXRmb3JtIGRyaXZlcnMgaWYgaXQgY2FuIGluc3RhbnRpYXRlIHRoZW0gdmlhIHNvbWV0aGluZyBsaWtlIGBzeXpfZGV2cmVzYCwgYnV0IHRoYXQgdHlwaWNhbGx5IGludm9sdmVzIGEgZGV2aWNlIHRyZWUgb3ZlcmxheSBvciBzaW1pbGFyLiBXYWl0LCBhY3R1YWxseSwgc3l6a2FsbGVyIGRvZXMgZnV6eiBhIGxvdCBvZiB0aGluZ3MhIEl0IG1pZ2h0IGJlIHBvc3NpYmxlLCBidXQgcGxhdGZvcm0gZHJpdmVycyBmb3IgKnNwZWNpZmljKiBTb0NzIGFyZSBsZXNzIGxpa2VseSB0byBiZSBhY2Nlc3NpYmxlLgoKU28sIHRoZSBuZXh0IGxvZ2ljYWwgc3RlcCBpcyB0byBjaGVjayB3aGV0aGVyIG9yIG5vdCB0aGUgZHJpdmVyIGNhbiBldmVuIGJlIGNvbXBpbGVkIG9uIHg4Ni4gTGV0JiMzOTtzIHNlZSBpZiB0aGF0JiMzOTtzIHBvc3NpYmxlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yMCAwOToyNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBBSVJPSEFfRU43NTgxX0VUSCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yMCAwOToyNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDMzNAoJCQkJCQkJb3V0cHV0OiAzMgoJCQkJCQkJdGhvdWdodHM6IDE5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqRGl2aW5nIGludG8gdGhlIEFpcm9oYSBFdGhlcm5ldCBLY29uZmlnKioKCk9rYXksIHRpbWUgdG8gZ2V0IG15IGhhbmRzIGRpcnR5LiBJJiMzOTttIGdvaW5nIHRvIHN0YXJ0IGJ5IHRha2luZyBhIGxvb2sgYXQgdGhlIEtjb25maWcgZmlsZSBmb3IgdGhlIEFpcm9oYSBFdGhlcm5ldCBkcml2ZXJzLCBzcGVjaWZpY2FsbHkgbG9jYXRlZCBpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2AuIEkga25vdyB0aGF0JiMzOTtzIHdoZXJlIHRoZSBjb3JlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHRob3NlIGludGVyZmFjZXMgYXJlIGRlZmluZWQsIGFuZCBpdCYjMzk7cyB0aGUgbG9naWNhbCBzdGFydGluZyBwb2ludCBmb3IgdW5kZXJzdGFuZGluZyBob3cgdGhpcyBwYXJ0aWN1bGFyIEV0aGVybmV0IGNvbnRyb2xsZXIgZmFtaWx5IGlzIGludGVncmF0ZWQgYW5kIGNvbmZpZ3VyZWQgd2l0aGluIHRoZSBicm9hZGVyIGtlcm5lbCBuZXR3b3JrIHN0YWNrLiBJJiMzOTttIHByb2JhYmx5IGdvaW5nIHRvIGJlIGxvb2tpbmcgZm9yIHRoaW5ncyBsaWtlOgoKKiAgICoqQ2hpcHNldCBzdXBwb3J0OioqIFdoYXQgc3BlY2lmaWMgQWlyb2hhIHBhcnRzIGFyZSBzdXBwb3J0ZWQsIGFuZCBob3cgYXJlIHRoZXkgaWRlbnRpZmllZD8gQXJlIHRoZXJlIGRpc3RpbmN0IEtjb25maWcgc3ltYm9scyBmb3IgZWFjaD8KKiAgICoqRmVhdHVyZSB0b2dnbGVzOioqIEFyZSB0aGVyZSBvcHRpb25zIGZvciBlbmFibGluZy9kaXNhYmxpbmcgc3BlY2lmaWMgZmVhdHVyZXMgbGlrZSBWTEFOIHN1cHBvcnQsIGp1bWJvIGZyYW1lcywgY2hlY2tzdW0gb2ZmbG9hZCwgb3IgZGlmZmVyZW50IFBIWSBjb25maWd1cmF0aW9ucz8gSSYjMzk7bGwgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBkZXBlbmRlbmNpZXMgYmV0d2VlbiB0aGVzZSBmZWF0dXJlcy4KKiAgICoqRGVwZW5kZW5jaWVzIGFuZCBkZWZhdWx0czoqKiBXaGF0IG90aGVyIEtjb25maWcgc3ltYm9scyBkb2VzIHRoaXMgb25lIGRlcGVuZCBvbiwgYW5kIHdoYXQgYXJlIHRoZWlyIGRlZmF1bHQgdmFsdWVzPyBUaGlzIGdpdmVzIG1lIGEgZ29vZCB1bmRlcnN0YW5kaW5nIG9mIHdoYXQgdGhlIGJhc2ljIGNvbmZpZ3VyYXRpb24gaXMuCiogICAqKkRvY3VtZW50YXRpb246KiogQXJlIHRoZXJlIGdvb2QgY29tbWVudHMgb3IgaGVscCB0ZXh0IGFzc29jaWF0ZWQgd2l0aCB0aGUgdmFyaW91cyBvcHRpb25zPyBUaGlzIGhlbHBzIG1lIGRldGVybWluZSBpZiB0aGUgbWFpbnRhaW5lcnMgaGF2ZSBjbGVhcmx5IGRlZmluZWQgdGhlaXIgb3B0aW9ucy4KKiAgICoqRHJpdmVyLXNwZWNpZmljIG9wdGlvbnM6KiogQXJlIHRoZXJlIGFueSBBaXJvaGEtc3BlY2lmaWMgcGFyYW1ldGVycywgc3VjaCBhcyBjbG9jayBzZXR0aW5ncyBvciByZWdpc3RlciBvZmZzZXRzLCB0aGF0IGFyZSBleHBvc2VkIHRocm91Z2ggS2NvbmZpZz8KCkkmIzM5O20gZXhwZWN0aW5nIGEgcmVhc29uYWJseSB3ZWxsLXN0cnVjdHVyZWQgZmlsZSwgaG9wZWZ1bGx5IHdpdGggZ29vZCB1c2Ugb2YgYGRlcGVuZHMgb25gLCBgc2VsZWN0YCwgYW5kIGBkZWZhdWx0YCBzdGF0ZW1lbnRzIHRvIGNyZWF0ZSBhIHJvYnVzdCBhbmQgdW5kZXJzdGFuZGFibGUgY29uZmlndXJhdGlvbiBleHBlcmllbmNlLiBJJiMzOTtsbCBiZSBrZWVwaW5nIGFuIGV5ZSBvdXQgZm9yIGFueSB1bnVzdWFsIG9yIG92ZXJseSBjb21wbGV4IGFycmFuZ2VtZW50cywgd2hpY2ggbWlnaHQgaW5kaWNhdGUgYXJlYXMgdGhhdCBuZWVkIGltcHJvdmVtZW50LiBUaGlzIGlzIGp1c3QgdGhlIGZpcnN0IHN0ZXAsIGFuZCBiYXNlZCBvbiB3aGF0IEkgZmluZCwgSSBtYXkgbmVlZCB0byBkaWcgZGVlcGVyIGludG8gdGhlIGFjdHVhbCBkcml2ZXIgY29kZSB0byBmdWxseSB1bmRlcnN0YW5kIGhvdyB0aGVzZSBvcHRpb25zIGFyZSBpbXBsZW1lbnRlZCwgYnV0IEtjb25maWcgaXMgdGhlIGVzc2VudGlhbCBzdGFydGluZyBwb2ludCBmb3IgYW55IGtlcm5lbCBjb25maWd1cmF0aW9uIHdvcmsuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyAmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZzoyOmNvbmZpZyBORVRfVkVORE9SX0FJUk9IQVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWctMy1cdGJvb2wgXCYjMzQ7QWlyb2hhIGRldmljZXNcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZz04PWlmIE5FVF9WRU5ET1JfQUlST0hBXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZy05LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWc6MTA6Y29uZmlnIE5FVF9BSVJPSEFfTlBVXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZy0xMS1cdHRyaXN0YXRlIFwmIzM0O0Fpcm9oYSBOUFUgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9LY29uZmlnLTE3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWc6MTg6Y29uZmlnIE5FVF9BSVJPSEFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9LY29uZmlnLTE5LVx0dHJpc3RhdGUgXCYjMzQ7QWlyb2hhIFNvQyBHaWdhYml0IEV0aGVybmV0IHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZy0yNi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9LY29uZmlnOjI3OmNvbmZpZyBORVRfQUlST0hBX0ZMT1dfU1RBVFNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9LY29uZmlnLTI4LVx0ZGVmYXVsdCB5XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0yNTYxPXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfZ2V0X3JsX3BhcmFtKHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSwgaW50IHF1ZXVlX2lkLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjU2NS1cdHUzMiBpZHggPSBRRE1BX01FVEVSX0lEWChxdWV1ZV9pZCksIGdyb3VwID0gUURNQV9NRVRFUl9HUk9VUChxdWV1ZV9pZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI1NjY6XHR1MzIgdmFsLCBjb25maWcgPSBGSUVMRF9QUkVQKFJBVEVfTElNSVRfUEFSQU1fVFlQRV9NQVNLLCBwYXJhbSkgfFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNTY3LVx0XHRcdCAgRklFTERfUFJFUChSQVRFX0xJTUlUX01FVEVSX0dST1VQX01BU0ssIGdyb3VwKSB8XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0yNTg0PXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfc2V0X3JsX3BhcmFtKHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSwgaW50IHF1ZXVlX2lkLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjU4OC1cdHUzMiBpZHggPSBRRE1BX01FVEVSX0lEWChxdWV1ZV9pZCksIGdyb3VwID0gUURNQV9NRVRFUl9HUk9VUChxdWV1ZV9pZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI1ODk6XHR1MzIgY29uZmlnID0gUkFURV9MSU1JVF9QQVJBTV9SV19NQVNLIHxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjU5MC1cdFx0ICAgICBGSUVMRF9QUkVQKFJBVEVfTElNSVRfUEFSQU1fVFlQRV9NQVNLLCBwYXJhbSkgfFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MjYyMD1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX3NldF9ybF90b2tlbl9idWNrZXQoc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjYzMy1cdHRpY2sgPSBGSUVMRF9HRVQoSU5HUkVTU19GQVNUX1RJQ0tfTUFTSywgdmFsKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjYzNDpcdGlmIChjb25maWcgXHUwMDI2IFRSVENNX1RJQ0tfU0VMKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNjM1LVx0XHR0aWNrICo9IEZJRUxEX0dFVChJTkdSRVNTX1NMT1dfVElDS19SQVRJT19NQVNLLCB2YWwpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjYzOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjYzOTpcdHVuaXQgPSAoY29uZmlnIFx1MDAyNiBUUlRDTV9QS1RfTU9ERSkgPyAxMDAwMDAwIC8gdGljayA6IDgwMDAgLyB0aWNrO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNjQwLVx0aWYgKCF1bml0KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjY1NC1cdHZhbCA9IGJ1Y2tldF9zaXplO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyNjU1Olx0aWYgKCEoY29uZmlnIFx1MDAyNiBUUlRDTV9QS1RfTU9ERSkpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI2NTYtXHRcdHZhbCA9IG1heF90KHUzMiwgdmFsLCBNSU5fVE9LRU5fU0laRSk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0yNjgwPXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfZ2V0X3RydGNtX3BhcmFtKHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSwgaW50IGNoYW5uZWwsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNjg1LVx0dTMyIGlkeCA9IFFETUFfTUVURVJfSURYKGNoYW5uZWwpLCBncm91cCA9IFFETUFfTUVURVJfR1JPVVAoY2hhbm5lbCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI2ODY6XHR1MzIgdmFsLCBjb25maWcgPSBGSUVMRF9QUkVQKFRSVENNX1BBUkFNX1RZUEVfTUFTSywgcGFyYW0pIHxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjY4Ny1cdFx0XHQgIEZJRUxEX1BSRVAoVFJUQ01fTUVURVJfR1JPVVBfTUFTSywgZ3JvdXApIHxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTI3MDU9c3RhdGljIGludCBhaXJvaGFfcWRtYV9zZXRfdHJ0Y21fcGFyYW0oc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hLCBpbnQgY2hhbm5lbCxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI3MDktXHR1MzIgaWR4ID0gUURNQV9NRVRFUl9JRFgoY2hhbm5lbCksIGdyb3VwID0gUURNQV9NRVRFUl9HUk9VUChjaGFubmVsKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjcxMDpcdHUzMiBjb25maWcgPSBUUlRDTV9QQVJBTV9SV19NQVNLIHxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjcxMS1cdFx0ICAgICBGSUVMRF9QUkVQKFRSVENNX1BBUkFNX1RZUEVfTUFTSywgcGFyYW0pIHxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTI3NDE9c3RhdGljIGludCBhaXJvaGFfcWRtYV9zZXRfdHJ0Y21fdG9rZW5fYnVja2V0KHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI3NTQtXHR0aWNrID0gRklFTERfR0VUKElOR1JFU1NfRkFTVF9USUNLX01BU0ssIHZhbCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI3NTU6XHRpZiAoY29uZmlnIFx1MDAyNiBUUlRDTV9USUNLX1NFTClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjc1Ni1cdFx0dGljayAqPSBGSUVMRF9HRVQoSU5HUkVTU19TTE9XX1RJQ0tfUkFUSU9fTUFTSywgdmFsKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI3NTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI3NjA6XHR1bml0ID0gKGNvbmZpZyBcdTAwMjYgVFJUQ01fUEtUX01PREUpID8gMTAwMDAwMCAvIHRpY2sgOiA4MDAwIC8gdGljaztcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjc2MS1cdGlmICghdW5pdClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jPTY5MD1NT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBvZl9haXJvaGFfbnB1X21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtNjkxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYzo2OTI6c3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIHJlZ21hcF9jb25maWcgPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jLTY5My1cdC5uYW1lXHRcdFx0PSBcJiMzNDtucHVcJiMzNDssXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIyNzU2CgkJCQkJCQlvdXRwdXQ6IDQ2CgkJCQkJCQl0aG91Z2h0czogMzI4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgUmVhY2hpbmcgdGhlIGBORVRfQUlST0hBX05QVWAgRHJpdmVyIGluIFFFTVUqKgoKT2theSwgc28gdGhlIHRhc2sgaXMgdG8gZmlndXJlIG91dCBpZiBJIGNhbiBnZXQgYXQgdGhpcyBgTkVUX0FJUk9IQV9OUFVgIGRyaXZlciB3aXRoaW4gYSBRRU1VIGVudmlyb25tZW50LiBJdCYjMzk7cyBhIHBsYXRmb3JtIGRyaXZlciwgd2hpY2ggaW1tZWRpYXRlbHkgcmFpc2VzIGEgZmxhZy4gU3l6a2FsbGVyIGRvZXNuJiMzOTt0IGhhdmUgYSBzdHJhaWdodGZvcndhcmQgbWVjaGFuaXNtIHRvIGluc3RhbnRpYXRlIGFueSBwbGF0Zm9ybSBkcml2ZXIgYXQgd2lsbCB1bmxlc3MgaXQmIzM5O3MgZXhwbGljaXRseSBkZWZpbmVkIGluIHN5emxhbmcsIGFuZCBJIHF1aWNrbHkgcnVsZSBvdXQgdGhhdCBJIGNhbiYjMzk7dCB1c2UgYHN5el9kZXZyZXNgLCBvciBkaXJlY3RseSB3cml0ZSBpbnRvIGAvc3lzL2RldmljZXMvcGxhdGZvcm1gLiBJIGNhbiYjMzk7dCBqdXN0IG1hZ2ljYWxseSBjcmVhdGUgYXJiaXRyYXJ5IGRldmljZXMgdGhyb3VnaCBzeXNmcywgdW5mb3J0dW5hdGVseS4KCk5vdywgbXkgbWluZCBzaGlmdHMgdG8gZGV2aWNlIHRyZWUgb3ZlcmxheXMuIFNpbmNlIFN5emthbGxlciAqZG9lcyogc3VwcG9ydCBEVCBvdmVybGF5cywgdGhhdCYjMzk7cyBhIHBvdGVudGlhbCBhdmVudWUuIEhvd2V2ZXIsIHRoZSBjcnV4IG9mIHRoZSBwcm9ibGVtIHNlZW1zIHRvIGJlIHRoZSBwb3RlbnRpYWwgaGFyZHdhcmUgZGVwZW5kZW5jeS4gSWYgaXQmIzM5O3MgYSAqcGxhdGZvcm0qIGRyaXZlciwgSSYjMzk7bSB0aGlua2luZyBTeXprYWxsZXIgKm1pZ2h0KiBoYXZlIGEgY2hhbmNlLCBidXQuLi4KClRoZW4gSSYjMzk7bSByZW1pbmRlZCBvZiB0aGUgcHJvbXB0JiMzOTtzIHdhcm5pbmc6ICYjMzQ7Q29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cy4uLiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycy4uLiB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4mIzM0OyBUaGlzIGlzIGNydWNpYWwuIEl0JiMzOTtzIGEgdmVuZG9yLXNwZWNpZmljIFNvQyBwbGF0Zm9ybSBkcml2ZXIsIHJlbGF0ZWQgdG8gQWlyb2hhJiMzOTtzIE5QVS4gSXQgKnNvdW5kcyogbGlrZSBpdCB3b3VsZCByZXF1aXJlIHRoYXQgc3BlY2lmaWMgQWlyb2hhIFNvQy4KCkJ1dCBob2xkIG9uLCBkb2VzIGl0ICpyZWFsbHkqIG5lZWQgdGhlIGFjdHVhbCBoYXJkd2FyZT8gSSBuZWVkIHRvIGJlIHN1cmUuIE15IG5leHQgc3RlcCBpcyBjbGVhcjogSSBuZWVkIHRvIHNjcnV0aW5pemUgdGhlIGBhaXJvaGFfbnB1X3Byb2JlYCBmdW5jdGlvbi4gVGhhdCYjMzk7cyB0aGUga2V5IHRvIHVuZGVyc3RhbmRpbmcgaWYgdGhlcmUmIzM5O3MgYW55IGhhcmR3YXJlLXNwZWNpZmljIGNoZWNrIGluIHRoZXJlIHRoYXQgSSYjMzk7ZCBuZWVkIHRvIGJ5cGFzcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjAgMDk6MjY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogNjkwLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDEwMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgNjkwOlx0TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgb2ZfYWlyb2hhX25wdV9tYXRjaCk7XG4gNjkxOlx0XG4gNjkyOlx0c3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIHJlZ21hcF9jb25maWcgPSB7XG4gNjkzOlx0XHQubmFtZVx0XHRcdD0gXCYjMzQ7bnB1XCYjMzQ7LFxuIDY5NDpcdFx0LnJlZ19iaXRzXHRcdD0gMzIsXG4gNjk1Olx0XHQudmFsX2JpdHNcdFx0PSAzMixcbiA2OTY6XHRcdC5yZWdfc3RyaWRlXHRcdD0gNCxcbiA2OTc6XHRcdC5kaXNhYmxlX2xvY2tpbmdcdD0gdHJ1ZSxcbiA2OTg6XHR9O1xuIDY5OTpcdFxuIDcwMDpcdHN0YXRpYyBpbnQgYWlyb2hhX25wdV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KVxuIDcwMTpcdHtcbiA3MDI6XHRcdHN0cnVjdCBkZXZpY2UgKmRldiA9IFx1MDAyNnBkZXYtXHUwMDNlZGV2O1xuIDcwMzpcdFx0c3RydWN0IGFpcm9oYV9ucHUgKm5wdTtcbiA3MDQ6XHRcdHN0cnVjdCByZXNvdXJjZSByZXM7XG4gNzA1Olx0XHR2b2lkIF9faW9tZW0gKmJhc2U7XG4gNzA2Olx0XHRpbnQgaSwgaXJxLCBlcnI7XG4gNzA3Olx0XHR1MzIgdmFsO1xuIDcwODpcdFxuIDcwOTpcdFx0YmFzZSA9IGRldm1fcGxhdGZvcm1faW9yZW1hcF9yZXNvdXJjZShwZGV2LCAwKTtcbiA3MTA6XHRcdGlmIChJU19FUlIoYmFzZSkpXG4gNzExOlx0XHRcdHJldHVybiBQVFJfRVJSKGJhc2UpO1xuIDcxMjpcdFxuIDcxMzpcdFx0bnB1ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpucHUpLCBHRlBfS0VSTkVMKTtcbiA3MTQ6XHRcdGlmICghbnB1KVxuIDcxNTpcdFx0XHRyZXR1cm4gLUVOT01FTTtcbiA3MTY6XHRcbiA3MTc6XHRcdG5wdS1cdTAwM2VkZXYgPSBkZXY7XG4gNzE4Olx0XHRucHUtXHUwMDNlb3BzLnBwZV9pbml0ID0gYWlyb2hhX25wdV9wcGVfaW5pdDtcbiA3MTk6XHRcdG5wdS1cdTAwM2VvcHMucHBlX2RlaW5pdCA9IGFpcm9oYV9ucHVfcHBlX2RlaW5pdDtcbiA3MjA6XHRcdG5wdS1cdTAwM2VvcHMucHBlX2luaXRfc3RhdHMgPSBhaXJvaGFfbnB1X3BwZV9zdGF0c19zZXR1cDtcbiA3MjE6XHRcdG5wdS1cdTAwM2VvcHMucHBlX2ZsdXNoX3NyYW1fZW50cmllcyA9IGFpcm9oYV9ucHVfcHBlX2ZsdXNoX3NyYW1fZW50cmllcztcbiA3MjI6XHRcdG5wdS1cdTAwM2VvcHMucHBlX2ZvZV9jb21taXRfZW50cnkgPSBhaXJvaGFfbnB1X2ZvZV9jb21taXRfZW50cnk7XG4gNzIzOlx0XHRucHUtXHUwMDNlb3BzLndsYW5faW5pdF9yZXNlcnZlZF9tZW1vcnkgPSBhaXJvaGFfbnB1X3dsYW5faW5pdF9tZW1vcnk7XG4gNzI0Olx0XHRucHUtXHUwMDNlb3BzLndsYW5fc2VuZF9tc2cgPSBhaXJvaGFfbnB1X3dsYW5fbXNnX3NlbmQ7XG4gNzI1Olx0XHRucHUtXHUwMDNlb3BzLndsYW5fZ2V0X21zZyA9IGFpcm9oYV9ucHVfd2xhbl9tc2dfZ2V0O1xuIDcyNjpcdFx0bnB1LVx1MDAzZW9wcy53bGFuX2dldF9xdWV1ZV9hZGRyID0gYWlyb2hhX25wdV93bGFuX3F1ZXVlX2FkZHJfZ2V0O1xuIDcyNzpcdFx0bnB1LVx1MDAzZW9wcy53bGFuX3NldF9pcnFfc3RhdHVzID0gYWlyb2hhX25wdV93bGFuX2lycV9zdGF0dXNfc2V0O1xuIDcyODpcdFx0bnB1LVx1MDAzZW9wcy53bGFuX2dldF9pcnFfc3RhdHVzID0gYWlyb2hhX25wdV93bGFuX2lycV9zdGF0dXNfZ2V0O1xuIDcyOTpcdFx0bnB1LVx1MDAzZW9wcy53bGFuX2VuYWJsZV9pcnEgPSBhaXJvaGFfbnB1X3dsYW5faXJxX2VuYWJsZTtcbiA3MzA6XHRcdG5wdS1cdTAwM2VvcHMud2xhbl9kaXNhYmxlX2lycSA9IGFpcm9oYV9ucHVfd2xhbl9pcnFfZGlzYWJsZTtcbiA3MzE6XHRcbiA3MzI6XHRcdG5wdS1cdTAwM2VyZWdtYXAgPSBkZXZtX3JlZ21hcF9pbml0X21taW8oZGV2LCBiYXNlLCBcdTAwMjZyZWdtYXBfY29uZmlnKTtcbiA3MzM6XHRcdGlmIChJU19FUlIobnB1LVx1MDAzZXJlZ21hcCkpXG4gNzM0Olx0XHRcdHJldHVybiBQVFJfRVJSKG5wdS1cdTAwM2VyZWdtYXApO1xuIDczNTpcdFxuIDczNjpcdFx0ZXJyID0gb2ZfcmVzZXJ2ZWRfbWVtX3JlZ2lvbl90b19yZXNvdXJjZShkZXYtXHUwMDNlb2Zfbm9kZSwgMCwgXHUwMDI2cmVzKTtcbiA3Mzc6XHRcdGlmIChlcnIpXG4gNzM4Olx0XHRcdHJldHVybiBlcnI7XG4gNzM5Olx0XG4gNzQwOlx0XHRpcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApO1xuIDc0MTpcdFx0aWYgKGlycSBcdTAwM2MgMClcbiA3NDI6XHRcdFx0cmV0dXJuIGlycTtcbiA3NDM6XHRcbiA3NDQ6XHRcdGVyciA9IGRldm1fcmVxdWVzdF9pcnEoZGV2LCBpcnEsIGFpcm9oYV9ucHVfbWJveF9oYW5kbGVyLFxuIDc0NTpcdFx0XHRcdCAgICAgICBJUlFGX1NIQVJFRCwgXCYjMzQ7YWlyb2hhLW5wdS1tYm94XCYjMzQ7LCBucHUpO1xuIDc0NjpcdFx0aWYgKGVycilcbiA3NDc6XHRcdFx0cmV0dXJuIGVycjtcbiA3NDg6XHRcbiA3NDk6XHRcdGZvciAoaSA9IDA7IGkgXHUwMDNjIEFSUkFZX1NJWkUobnB1LVx1MDAzZWNvcmVzKTsgaSYjNDM7JiM0MzspIHtcbiA3NTA6XHRcdFx0c3RydWN0IGFpcm9oYV9ucHVfY29yZSAqY29yZSA9IFx1MDAyNm5wdS1cdTAwM2Vjb3Jlc1tpXTtcbiA3NTE6XHRcbiA3NTI6XHRcdFx0c3Bpbl9sb2NrX2luaXQoXHUwMDI2Y29yZS1cdTAwM2Vsb2NrKTtcbiA3NTM6XHRcdFx0Y29yZS1cdTAwM2VucHUgPSBucHU7XG4gNzU0Olx0XG4gNzU1Olx0XHRcdGlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgaSAmIzQzOyAxKTtcbiA3NTY6XHRcdFx0aWYgKGlycSBcdTAwM2MgMClcbiA3NTc6XHRcdFx0XHRyZXR1cm4gaXJxO1xuIDc1ODpcdFxuIDc1OTpcdFx0XHRlcnIgPSBkZXZtX3JlcXVlc3RfaXJxKGRldiwgaXJxLCBhaXJvaGFfbnB1X3dkdF9oYW5kbGVyLFxuIDc2MDpcdFx0XHRcdFx0ICAgICAgIElSUUZfU0hBUkVELCBcJiMzNDthaXJvaGEtbnB1LXdkdFwmIzM0OywgY29yZSk7XG4gNzYxOlx0XHRcdGlmIChlcnIpXG4gNzYyOlx0XHRcdFx0cmV0dXJuIGVycjtcbiA3NjM6XHRcbiA3NjQ6XHRcdFx0SU5JVF9XT1JLKFx1MDAyNmNvcmUtXHUwMDNld2R0X3dvcmssIGFpcm9oYV9ucHVfd2R0X3dvcmspO1xuIDc2NTpcdFx0fVxuIDc2NjpcdFxuIDc2NzpcdFx0Lyogd2xhbiBJUlEgbGluZXMgKi9cbiA3Njg6XHRcdGZvciAoaSA9IDA7IGkgXHUwMDNjIEFSUkFZX1NJWkUobnB1LVx1MDAzZWlycXMpOyBpJiM0MzsmIzQzOykge1xuIDc2OTpcdFx0XHRpcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIGkgJiM0MzsgQVJSQVlfU0laRShucHUtXHUwMDNlY29yZXMpICYjNDM7IDEpO1xuIDc3MDpcdFx0XHRpZiAoaXJxIFx1MDAzYyAwKVxuIDc3MTpcdFx0XHRcdHJldHVybiBpcnE7XG4gNzcyOlx0XG4gNzczOlx0XHRcdG5wdS1cdTAwM2VpcnFzW2ldID0gaXJxO1xuIDc3NDpcdFx0fVxuIDc3NTpcdFxuIDc3NjpcdFx0ZXJyID0gZG1hX3NldF9tYXNrX2FuZF9jb2hlcmVudChkZXYsIERNQV9CSVRfTUFTSygzMikpO1xuIDc3NzpcdFx0aWYgKGVycilcbiA3Nzg6XHRcdFx0cmV0dXJuIGVycjtcbiA3Nzk6XHRcbiA3ODA6XHRcdGVyciA9IGFpcm9oYV9ucHVfcnVuX2Zpcm13YXJlKGRldiwgYmFzZSwgXHUwMDI2cmVzKTtcbiA3ODE6XHRcdGlmIChlcnIpXG4gNzgyOlx0XHRcdHJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgZXJyLCBcJiMzNDtmYWlsZWQgdG8gcnVuIG5wdSBmaXJtd2FyZVxcblwmIzM0Oyk7XG4gNzgzOlx0XG4gNzg0Olx0XHRyZWdtYXBfd3JpdGUobnB1LVx1MDAzZXJlZ21hcCwgUkVHX0NSX05QVV9NSUIoMTApLFxuIDc4NTpcdFx0XHQgICAgIHJlcy5zdGFydCAmIzQzOyBOUFVfRU43NTgxX0ZJUk1XQVJFX1JWMzJfTUFYX1NJWkUpO1xuIDc4NjpcdFx0cmVnbWFwX3dyaXRlKG5wdS1cdTAwM2VyZWdtYXAsIFJFR19DUl9OUFVfTUlCKDExKSwgMHg0MDAwMCk7IC8qIFNSQU0gMjU2SyAqL1xuIDc4NzpcdFx0cmVnbWFwX3dyaXRlKG5wdS1cdTAwM2VyZWdtYXAsIFJFR19DUl9OUFVfTUlCKDEyKSwgMCk7XG4gNzg4Olx0XHRyZWdtYXBfd3JpdGUobnB1LVx1MDAzZXJlZ21hcCwgUkVHX0NSX05QVV9NSUIoMjEpLCAxKTtcbiA3ODk6XHRcdG1zbGVlcCgxMDApO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE1LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yMCAwOToyNjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNTQyMQoJCQkJCQkJb3V0cHV0OiAxMDgKCQkJCQkJCXRob3VnaHRzOiA3ODMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQXNzZXNzbWVudDogVGhpcyBQYXRjaCBpcyBOb3QgV29ydGggRnV6emluZyoqCgpPa2F5LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duLiBUaGUgY29kZSB0b3VjaGVzIHRoZSBgYWlyb2hhX25wdWAgZHJpdmVyLiBGaXJzdCB0aGluZyB0aGF0IGp1bXBzIG91dCBpcyBpdCYjMzk7cyB1c2luZyBgb2ZfcmVzZXJ2ZWRfbWVtX3JlZ2lvbl90b19yZXNvdXJjZWAuIFRoYXQgc2NyZWFtcyAmIzM0O2RldmljZSB0cmVlJiMzNDsgYW5kIHJlc2VydmVkIG1lbW9yeSwgd2hpY2ggaW1tZWRpYXRlbHkgbWFrZXMgbWUgdGhpbmsgYWJvdXQgd2hldGhlciB0aGlzIGlzIGV2ZW4gKnBvc3NpYmxlKiBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50LiBUaGUgZmFjdCB0aGF0IGl0IGxvYWRzIGZpcm13YXJlIHdpdGggYGFpcm9oYV9ucHVfcnVuX2Zpcm13YXJlYCBqdXN0IHJlaW5mb3JjZXMgdGhhdCB0aGlzIGlzIGxpa2VseSB0aWVkIHRvIHZlcnkgc3BlY2lmaWMgaGFyZHdhcmUuCgpJdCYjMzk7cyBhIHBsYXRmb3JtIGRyaXZlciwgYnV0IGZvciB3aGF0PyBBaGEsIGl0JiMzOTtzIGZvciBhbiBBaXJvaGEgU29DLiBEZWZpbml0ZWx5IHZlbmRvci1zcGVjaWZpYy4gR0NFIGFuZCBzdGFuZGFyZCBRRU1VPyBObyB3YXkuIFRoaXMgbmVlZHMgYSB0YWlsb3JlZCBkZXZpY2UgdHJlZSBhbmQgcHJvYmFibHkgc29tZSBjdXN0b20gU29DIGVtdWxhdGlvbi4gU3l6a2FsbGVyJiMzOTtzIG5vdCBnb2luZyB0byBqdXN0IG1hZ2ljYWxseSBjb25qdXJlIHVwIHRoZSByaWdodCBwbGF0Zm9ybSBkZXZpY2UuIEkgdGhvdWdodCBtYXliZSBJIGNvdWxkIHVzZSBzeXpfZGV2cmVzLCBidXQgdGhhdCYjMzk7cyBub3QgYSBnZW5lcmljIHNvbHV0aW9uLCBhbmQgZXZlbiBpZiBpdCAqd2FzKiwgd2UmIzM5O3JlIHN0aWxsIHN0dWNrIHdpdGggdGhlIGZpcm13YXJlIHJlcXVpcmVtZW50IGFuZCByZXNlcnZlZCBtZW1vcnkuCgpJIGRvbiYjMzk7dCBoYXZlIGRpcmVjdCBhY2Nlc3MgdG8gc3l6a2FsbGVyJiMzOTtzIHJlcG9ydHMsIGJ1dCBJIGNhbiBpbmZlciBiYXNlZCBvbiB0aGUgZHJpdmVyIHR5cGUuIFRoZSBwcm9tcHQmIzM5O3MgY2xlYXI6IFZlbmRvci1zcGVjaWZpYyBzdHVmZiB0aGF0IG5lZWRzIHBoeXNpY2FsIGhhcmR3YXJlICpub3QqIGVtdWxhdGVkIGJ5IHN0YW5kYXJkIFFFTVU/IFdvcnRoRnV6emluZz1mYWxzZS4gVGhpcyBmaXRzIHRoZSBiaWxsIHBlcmZlY3RseS4KCkxldCYjMzk7cyBkb3VibGUtY2hlY2vigKYgWWVhaCwgYGFpcm9oYV9ucHVfcHJvYmVgIHRha2VzIGEgYHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXZgLiBJdCYjMzk7cyB1c2luZyBwbGF0Zm9ybS1zcGVjaWZpYyByZXNvdXJjZSBtYW5hZ2VtZW50IGZ1bmN0aW9ucywgYW5kIGl0JiMzOTtzIGxvb2tpbmcgZm9yIGEgc3BlY2lmaWMgZGV2aWNlIHRyZWUgbm9kZSAoJiMzNDthaXJvaGEsZW43NTgxLW5wdSYjMzQ7KS4gTXkgc3RhbmRhcmQgUUVNVSBzZXR1cCAob3IgZXZlbiBhIGdlbmVyaWMgYHFlbXUtc3lzdGVtLWFhcmNoNjQgLU0gdmlydGApIHN1cmUgYXMgaGVsbCB3b24mIzM5O3QgaGF2ZSB0aGF0IGRldmljZS4KClN5emthbGxlciBpc24mIzM5O3QgZ29pbmcgdG8gaGF2ZSBhbiBlYXN5IHRpbWUgaW5zdGFudGlhdGluZyB0aGlzOyBpdCB3b3VsZCBuZWVkIHRvIGtub3cgYWJvdXQgdGhlIHJlc2VydmVkIG1lbW9yeSByZWdpb25zLCBoYXZlIHRoZSBmaXJtd2FyZSBhbmQgZGV2aWNlIHRyZWUuCgpUaGVyZWZvcmUsIHRoaXMgaXMgYSBkZWFkIGVuZCBmb3IgZnV6emluZy4KSSYjMzk7bSBnb2luZyB0byByZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlLiBUaGlzIGlzIGEgbm9uLXN0YXJ0ZXIgZm9yIGZ1enppbmcuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGFpcm9oYV9ucHUgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBwbGF0Zm9ybSBkcml2ZXIgZm9yIHRoZSBBaXJvaGEgRU43NTgxIFNvQy4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgaGFyZHdhcmUgYW5kIGRldmljZSB0cmVlIGNvbmZpZ3VyYXRpb25zIChpbmNsdWRpbmcgcmVzZXJ2ZWQgbWVtb3J5IHJlZ2lvbnMgYW5kIGZpcm13YXJlKSB0aGF0IGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMgdXNlZCBmb3IgZnV6emluZy4gVGhlcmVmb3JlLCB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyBhcmUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgYWlyb2hhX25wdSBkcml2ZXIsIHdoaWNoIGlzIGEgdmVuZG9yLXNwZWNpZmljIHBsYXRmb3JtIGRyaXZlciBmb3IgdGhlIEFpcm9oYSBFTjc1ODEgU29DLiBUaGlzIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBoYXJkd2FyZSBhbmQgZGV2aWNlIHRyZWUgY29uZmlndXJhdGlvbnMgKGluY2x1ZGluZyByZXNlcnZlZCBtZW1vcnkgcmVnaW9ucyBhbmQgZmlybXdhcmUpIHRoYXQgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cyB1c2VkIGZvciBmdXp6aW5nLiBUaGVyZWZvcmUsIHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGFyZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTcvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzIwIDA5OjI2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5JZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wOC0yMFQwOToyNToyNC4wMzgwMzU1ODdaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1MTk3MTIwMzMwNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJLTVNBTlJlYXNvbmluZ1wiOiBcIlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2UsXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBhaXJvaGFfbnB1IGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVyIGZvciB0aGUgQWlyb2hhIEVONzU4MSBTb0MuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIGhhcmR3YXJlIGFuZCBkZXZpY2UgdHJlZSBjb25maWd1cmF0aW9ucyAoaW5jbHVkaW5nIHJlc2VydmVkIG1lbW9yeSByZWdpb25zIGFuZCBmaXJtd2FyZSkgdGhhdCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzIHVzZWQgZm9yIGZ1enppbmcuIFRoZXJlZm9yZSwgdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgYXJlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6MjQuMDM4MDQwOTE3WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0MDY2NTg2NDgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAwZGI2ODBmYTM4YmNjZWQxYzNhMjljYTg1YmYyNmE0ZjZlNDY2ZmEzXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBUaHUgQXVnIDIwIDA5OjI1OjIzIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jXFxuaW5kZXggYjY3OWJlZDk1MmRlMy4uMzQxNmY5MjFmOTYxOSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuY1xcbkBAIC01LDYgKzUsNyBAQFxcbiAgKi9cXG4gXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9kZXZjb3JlZHVtcC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZG1hLW1hcHBpbmcuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Zpcm13YXJlLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L29mX25ldC5oXFx1MDAzZVxcbkBAIC0xNjAsMTUgKzE2MSwyMSBAQCBzdHJ1Y3Qgd2xhbl9tYm94X2RhdGEge1xcbiBcXHRERUNMQVJFX0ZMRVhfQVJSQVkodTgsIGQpO1xcbiB9O1xcbiBcXG4rc3RhdGljIHNpemVfdCBhaXJvaGFfbnB1X21ib3hfc2l6ZShzaXplX3QgbGVuKVxcbit7XFxuK1xcdHJldHVybiBBTElHTihsZW4sIGRtYV9nZXRfY2FjaGVfYWxpZ25tZW50KCkpO1xcbit9XFxuK1xcbiBzdGF0aWMgaW50IGFpcm9oYV9ucHVfc2VuZF9tc2coc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwgaW50IGZ1bmNfaWQsXFxuIFxcdFxcdFxcdCAgICAgICB2b2lkICpwLCBpbnQgc2l6ZSlcXG4ge1xcbiBcXHR1MTYgY29yZSA9IDA7IC8qIEZJWE1FICovXFxuIFxcdHUzMiB2YWwsIG9mZnNldCA9IGNvcmUgXFx1MDAzY1xcdTAwM2MgNDtcXG4gXFx0ZG1hX2FkZHJfdCBkbWFfYWRkcjtcXG4rXFx0c2l6ZV90IG1hcF9sZW4gPSBhaXJvaGFfbnB1X21ib3hfc2l6ZShzaXplKTtcXG4gXFx0aW50IHJldDtcXG4gXFxuLVxcdGRtYV9hZGRyID0gZG1hX21hcF9zaW5nbGUobnB1LVxcdTAwM2VkZXYsIHAsIHNpemUsIERNQV9CSURJUkVDVElPTkFMKTtcXG4rXFx0ZG1hX2FkZHIgPSBkbWFfbWFwX3NpbmdsZShucHUtXFx1MDAzZWRldiwgcCwgbWFwX2xlbiwgRE1BX0JJRElSRUNUSU9OQUwpO1xcbiBcXHRyZXQgPSBkbWFfbWFwcGluZ19lcnJvcihucHUtXFx1MDAzZWRldiwgZG1hX2FkZHIpO1xcbiBcXHRpZiAocmV0KVxcbiBcXHRcXHRyZXR1cm4gcmV0O1xcbkBAIC0xOTEsNyArMTk4LDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3NlbmRfbXNnKHN0cnVjdCBhaXJvaGFfbnB1ICpucHUsIGludCBmdW5jX2lkLFxcbiBcXG4gXFx0c3Bpbl91bmxvY2tfYmgoXFx1MDAyNm5wdS1cXHUwMDNlY29yZXNbY29yZV0ubG9jayk7XFxuIFxcbi1cXHRkbWFfdW5tYXBfc2luZ2xlKG5wdS1cXHUwMDNlZGV2LCBkbWFfYWRkciwgc2l6ZSwgRE1BX0JJRElSRUNUSU9OQUwpO1xcbitcXHRkbWFfdW5tYXBfc2luZ2xlKG5wdS1cXHUwMDNlZGV2LCBkbWFfYWRkciwgbWFwX2xlbiwgRE1BX0JJRElSRUNUSU9OQUwpO1xcbiBcXG4gXFx0cmV0dXJuIHJldDtcXG4gfVxcbkBAIC0zMzMsNyArMzQwLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3BwZV9pbml0KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUpXFxuIFxcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcXG4gXFx0aW50IGVycjtcXG4gXFxuLVxcdHBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTtcXG4rXFx0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7XFxuIFxcdGlmICghcHBlX2RhdGEpXFxuIFxcdFxcdHJldHVybiAtRU5PTUVNO1xcbiBcXG5AQCAtMzU0LDcgKzM2MSw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9wcGVfZGVpbml0KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUpXFxuIFxcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcXG4gXFx0aW50IGVycjtcXG4gXFxuLVxcdHBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTtcXG4rXFx0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7XFxuIFxcdGlmICghcHBlX2RhdGEpXFxuIFxcdFxcdHJldHVybiAtRU5PTUVNO1xcbiBcXG5AQCAtMzc1LDcgKzM4Miw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9wcGVfZmx1c2hfc3JhbV9lbnRyaWVzKHN0cnVjdCBhaXJvaGFfbnB1ICpucHUsXFxuIFxcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcXG4gXFx0aW50IGVycjtcXG4gXFxuLVxcdHBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTtcXG4rXFx0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7XFxuIFxcdGlmICghcHBlX2RhdGEpXFxuIFxcdFxcdHJldHVybiAtRU5PTUVNO1xcbiBcXG5AQCAtMzk5LDcgKzQwNiw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9mb2VfY29tbWl0X2VudHJ5KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUsXFxuIFxcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcXG4gXFx0aW50IGVycjtcXG4gXFxuLVxcdHBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhLCBHRlBfQVRPTUlDKTtcXG4rXFx0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0FUT01JQyk7XFxuIFxcdGlmICghcHBlX2RhdGEpXFxuIFxcdFxcdHJldHVybiAtRU5PTUVNO1xcbiBcXG5AQCAtNDM0LDcgKzQ0MSw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9wcGVfc3RhdHNfc2V0dXAoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSxcXG4gXFx0aW50IGVyciwgc2l6ZSA9IG51bV9zdGF0c19lbnRyaWVzICogc2l6ZW9mKCpucHUtXFx1MDAzZXN0YXRzKTtcXG4gXFx0c3RydWN0IHBwZV9tYm94X2RhdGEgKnBwZV9kYXRhO1xcbiBcXG4tXFx0cHBlX2RhdGEgPSBremFsbG9jX29iaigqcHBlX2RhdGEsIEdGUF9BVE9NSUMpO1xcbitcXHRwcGVfZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUoc2l6ZW9mKCpwcGVfZGF0YSkpLCBHRlBfQVRPTUlDKTtcXG4gXFx0aWYgKCFwcGVfZGF0YSlcXG4gXFx0XFx0cmV0dXJuIC1FTk9NRU07XFxuIFxcbkBAIC00NjYsNyArNDczLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3dsYW5fbXNnX3NlbmQoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwgaW50IGlmaW5kZXgsXFxuIFxcdGludCBlcnIsIGxlbjtcXG4gXFxuIFxcdGxlbiA9IHNpemVvZigqd2xhbl9kYXRhKSArIGRhdGFfbGVuO1xcbi1cXHR3bGFuX2RhdGEgPSBremFsbG9jKGxlbiwgZ2ZwKTtcXG4rXFx0d2xhbl9kYXRhID0ga3phbGxvYyhhaXJvaGFfbnB1X21ib3hfc2l6ZShsZW4pLCBnZnApO1xcbiBcXHRpZiAoIXdsYW5fZGF0YSlcXG4gXFx0XFx0cmV0dXJuIC1FTk9NRU07XFxuIFxcbkBAIC00ODksNyArNDk2LDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3dsYW5fbXNnX2dldChzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LCBpbnQgaWZpbmRleCxcXG4gXFx0aW50IGVyciwgbGVuO1xcbiBcXG4gXFx0bGVuID0gc2l6ZW9mKCp3bGFuX2RhdGEpICsgZGF0YV9sZW47XFxuLVxcdHdsYW5fZGF0YSA9IGt6YWxsb2MobGVuLCBnZnApO1xcbitcXHR3bGFuX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKGxlbiksIGdmcCk7XFxuIFxcdGlmICghd2xhbl9kYXRhKVxcbiBcXHRcXHRyZXR1cm4gLUVOT01FTTtcXG4gXFxuQEAgLTc2Niw3ICs3NzMsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldilcXG4gXFx0XFx0bnB1LVxcdTAwM2VpcnFzW2ldID0gaXJxO1xcbiBcXHR9XFxuIFxcbi1cXHRlcnIgPSBkbWFfc2V0X2NvaGVyZW50X21hc2soZGV2LCBETUFfQklUX01BU0soMzIpKTtcXG4rXFx0ZXJyID0gZG1hX3NldF9tYXNrX2FuZF9jb2hlcmVudChkZXYsIERNQV9CSVRfTUFTSygzMikpO1xcbiBcXHRpZiAoZXJyKVxcbiBcXHRcXHRyZXR1cm4gZXJyO1xcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6MjQuNDQ1NDYyMTc0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6NTE1NjM3NjQ1NTgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBhaXJvaGFfbnB1IGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVyIGZvciB0aGUgQWlyb2hhIEVONzU4MSBTb0MuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIGhhcmR3YXJlIGFuZCBkZXZpY2UgdHJlZSBjb25maWd1cmF0aW9ucyAoaW5jbHVkaW5nIHJlc2VydmVkIG1lbW9yeSByZWdpb25zIGFuZCBmaXJtd2FyZSkgdGhhdCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzIHVzZWQgZm9yIGZ1enppbmcuIFRoZXJlZm9yZSwgdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgYXJlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgMGRiNjgwZmEzOGJjY2VkMWMzYTI5Y2E4NWJmMjZhNGY2ZTQ2NmZhM1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUaHUgQXVnIDIwIDA5OjI1OjIzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmNcbmluZGV4IGI2NzliZWQ5NTJkZTMuLjM0MTZmOTIxZjk2MTkgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jXG5AQCAtNSw2ICs1LDcgQEBcbiAgKi9cbiBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9kZXZjb3JlZHVtcC5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZG1hLW1hcHBpbmcuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2Zpcm13YXJlLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L29mX25ldC5oXHUwMDNlXG5AQCAtMTYwLDE1ICsxNjEsMjEgQEAgc3RydWN0IHdsYW5fbWJveF9kYXRhIHtcbiBcdERFQ0xBUkVfRkxFWF9BUlJBWSh1OCwgZCk7XG4gfTtcbiBcbitzdGF0aWMgc2l6ZV90IGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVfdCBsZW4pXG4re1xuK1x0cmV0dXJuIEFMSUdOKGxlbiwgZG1hX2dldF9jYWNoZV9hbGlnbm1lbnQoKSk7XG4rfVxuK1xuIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9zZW5kX21zZyhzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LCBpbnQgZnVuY19pZCxcbiBcdFx0XHQgICAgICAgdm9pZCAqcCwgaW50IHNpemUpXG4ge1xuIFx0dTE2IGNvcmUgPSAwOyAvKiBGSVhNRSAqL1xuIFx0dTMyIHZhbCwgb2Zmc2V0ID0gY29yZSBcdTAwM2NcdTAwM2MgNDtcbiBcdGRtYV9hZGRyX3QgZG1hX2FkZHI7XG4rXHRzaXplX3QgbWFwX2xlbiA9IGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemUpO1xuIFx0aW50IHJldDtcbiBcbi1cdGRtYV9hZGRyID0gZG1hX21hcF9zaW5nbGUobnB1LVx1MDAzZWRldiwgcCwgc2l6ZSwgRE1BX0JJRElSRUNUSU9OQUwpO1xuK1x0ZG1hX2FkZHIgPSBkbWFfbWFwX3NpbmdsZShucHUtXHUwMDNlZGV2LCBwLCBtYXBfbGVuLCBETUFfQklESVJFQ1RJT05BTCk7XG4gXHRyZXQgPSBkbWFfbWFwcGluZ19lcnJvcihucHUtXHUwMDNlZGV2LCBkbWFfYWRkcik7XG4gXHRpZiAocmV0KVxuIFx0XHRyZXR1cm4gcmV0O1xuQEAgLTE5MSw3ICsxOTgsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfc2VuZF9tc2coc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwgaW50IGZ1bmNfaWQsXG4gXG4gXHRzcGluX3VubG9ja19iaChcdTAwMjZucHUtXHUwMDNlY29yZXNbY29yZV0ubG9jayk7XG4gXG4tXHRkbWFfdW5tYXBfc2luZ2xlKG5wdS1cdTAwM2VkZXYsIGRtYV9hZGRyLCBzaXplLCBETUFfQklESVJFQ1RJT05BTCk7XG4rXHRkbWFfdW5tYXBfc2luZ2xlKG5wdS1cdTAwM2VkZXYsIGRtYV9hZGRyLCBtYXBfbGVuLCBETUFfQklESVJFQ1RJT05BTCk7XG4gXG4gXHRyZXR1cm4gcmV0O1xuIH1cbkBAIC0zMzMsNyArMzQwLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3BwZV9pbml0KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUpXG4gXHRzdHJ1Y3QgcHBlX21ib3hfZGF0YSAqcHBlX2RhdGE7XG4gXHRpbnQgZXJyO1xuIFxuLVx0cHBlX2RhdGEgPSBremFsbG9jX29iaigqcHBlX2RhdGEpO1xuK1x0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0tFUk5FTCk7XG4gXHRpZiAoIXBwZV9kYXRhKVxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcbkBAIC0zNTQsNyArMzYxLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3BwZV9kZWluaXQoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSlcbiBcdHN0cnVjdCBwcGVfbWJveF9kYXRhICpwcGVfZGF0YTtcbiBcdGludCBlcnI7XG4gXG4tXHRwcGVfZGF0YSA9IGt6YWxsb2Nfb2JqKCpwcGVfZGF0YSk7XG4rXHRwcGVfZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUoc2l6ZW9mKCpwcGVfZGF0YSkpLCBHRlBfS0VSTkVMKTtcbiBcdGlmICghcHBlX2RhdGEpXG4gXHRcdHJldHVybiAtRU5PTUVNO1xuIFxuQEAgLTM3NSw3ICszODIsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfcHBlX2ZsdXNoX3NyYW1fZW50cmllcyhzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LFxuIFx0c3RydWN0IHBwZV9tYm94X2RhdGEgKnBwZV9kYXRhO1xuIFx0aW50IGVycjtcbiBcbi1cdHBwZV9kYXRhID0ga3phbGxvY19vYmooKnBwZV9kYXRhKTtcbitcdHBwZV9kYXRhID0ga3phbGxvYyhhaXJvaGFfbnB1X21ib3hfc2l6ZShzaXplb2YoKnBwZV9kYXRhKSksIEdGUF9LRVJORUwpO1xuIFx0aWYgKCFwcGVfZGF0YSlcbiBcdFx0cmV0dXJuIC1FTk9NRU07XG4gXG5AQCAtMzk5LDcgKzQwNiw3IEBAIHN0YXRpYyBpbnQgYWlyb2hhX25wdV9mb2VfY29tbWl0X2VudHJ5KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUsXG4gXHRzdHJ1Y3QgcHBlX21ib3hfZGF0YSAqcHBlX2RhdGE7XG4gXHRpbnQgZXJyO1xuIFxuLVx0cHBlX2RhdGEgPSBremFsbG9jX29iaigqcHBlX2RhdGEsIEdGUF9BVE9NSUMpO1xuK1x0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0FUT01JQyk7XG4gXHRpZiAoIXBwZV9kYXRhKVxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcbkBAIC00MzQsNyArNDQxLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3BwZV9zdGF0c19zZXR1cChzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1LFxuIFx0aW50IGVyciwgc2l6ZSA9IG51bV9zdGF0c19lbnRyaWVzICogc2l6ZW9mKCpucHUtXHUwMDNlc3RhdHMpO1xuIFx0c3RydWN0IHBwZV9tYm94X2RhdGEgKnBwZV9kYXRhO1xuIFxuLVx0cHBlX2RhdGEgPSBremFsbG9jX29iaigqcHBlX2RhdGEsIEdGUF9BVE9NSUMpO1xuK1x0cHBlX2RhdGEgPSBremFsbG9jKGFpcm9oYV9ucHVfbWJveF9zaXplKHNpemVvZigqcHBlX2RhdGEpKSwgR0ZQX0FUT01JQyk7XG4gXHRpZiAoIXBwZV9kYXRhKVxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcbkBAIC00NjYsNyArNDczLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3dsYW5fbXNnX3NlbmQoc3RydWN0IGFpcm9oYV9ucHUgKm5wdSwgaW50IGlmaW5kZXgsXG4gXHRpbnQgZXJyLCBsZW47XG4gXG4gXHRsZW4gPSBzaXplb2YoKndsYW5fZGF0YSkgKyBkYXRhX2xlbjtcbi1cdHdsYW5fZGF0YSA9IGt6YWxsb2MobGVuLCBnZnApO1xuK1x0d2xhbl9kYXRhID0ga3phbGxvYyhhaXJvaGFfbnB1X21ib3hfc2l6ZShsZW4pLCBnZnApO1xuIFx0aWYgKCF3bGFuX2RhdGEpXG4gXHRcdHJldHVybiAtRU5PTUVNO1xuIFxuQEAgLTQ4OSw3ICs0OTYsNyBAQCBzdGF0aWMgaW50IGFpcm9oYV9ucHVfd2xhbl9tc2dfZ2V0KHN0cnVjdCBhaXJvaGFfbnB1ICpucHUsIGludCBpZmluZGV4LFxuIFx0aW50IGVyciwgbGVuO1xuIFxuIFx0bGVuID0gc2l6ZW9mKCp3bGFuX2RhdGEpICsgZGF0YV9sZW47XG4tXHR3bGFuX2RhdGEgPSBremFsbG9jKGxlbiwgZ2ZwKTtcbitcdHdsYW5fZGF0YSA9IGt6YWxsb2MoYWlyb2hhX25wdV9tYm94X3NpemUobGVuKSwgZ2ZwKTtcbiBcdGlmICghd2xhbl9kYXRhKVxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcbkBAIC03NjYsNyArNzczLDcgQEAgc3RhdGljIGludCBhaXJvaGFfbnB1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXG4gXHRcdG5wdS1cdTAwM2VpcnFzW2ldID0gaXJxO1xuIFx0fVxuIFxuLVx0ZXJyID0gZG1hX3NldF9jb2hlcmVudF9tYXNrKGRldiwgRE1BX0JJVF9NQVNLKDMyKSk7XG4rXHRlcnIgPSBkbWFfc2V0X21hc2tfYW5kX2NvaGVyZW50KGRldiwgRE1BX0JJVF9NQVNLKDMyKSk7XG4gXHRpZiAoZXJyKVxuIFx0XHRyZXR1cm4gZXJyO1xuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6MjQuNDQ1NDYzNjE0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6OTI0MjkzNTE2NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBQYXRjaCB0byBhbiBBaXJvaGEgRXRoZXJuZXQgRHJpdmVyKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgdGhlIGBhaXJvaGFfbnB1LmNgIGRyaXZlciwgc3BlY2lmaWNhbGx5IGFuIEFpcm9oYSBFdGhlcm5ldCBkcml2ZXIuIEl0IHNlZW1zIHRvIGJlIGNsZWFuaW5nIHVwIHNvbWUgRE1BLXJlbGF0ZWQgY29kZS4gVGhleSdyZSBhbGlnbmluZyBgYWlyb2hhX25wdV9tYm94X3NpemVgIHRvIGBkbWFfZ2V0X2NhY2hlX2FsaWdubWVudCgpYCwgd2hpY2ggaXMgZ29vZCBwcmFjdGljZSBmb3IgY2FjaGUgY29oZXJlbmNlLiBUaGV5J3JlIGFsc28gdXBkYXRpbmcgYGRtYV9tYXBfc2luZ2xlYCBhbmQgYGRtYV91bm1hcF9zaW5nbGVgIHRvIHVzZSBgbWFwX2xlbmAgaW5zdGVhZCBvZiBgc2l6ZWAsIGFuZCB0aGV5J3ZlIGFkanVzdGVkIHRoZSBga3phbGxvY2AgY2FsbHMgdG8gbWF0Y2ggdGhlIG5ldyBzaXplLiBQbHVzLCBhIGNoYW5nZSB0byBgZG1hX3NldF9jb2hlcmVudF9tYXNrYCBpcyBub3cgYGRtYV9zZXRfbWFza19hbmRfY29oZXJlbnRgLiBJdCdzIGFsbCBzdGFuZGFyZCBETUEgc3R1ZmYsIGJ1dCBJIG5lZWQgdG8gZmlndXJlIG91dCB0aGUgaW1wbGljYXRpb25zIGZvciBmdXp6aW5nIHRoaXMuXG5cblRoZSBxdWVzdGlvbiBpcywgY2FuIEkgcmVhY2ggdGhpcyBkcml2ZXIgd2l0aCBzdGFuZGFyZCBRRU1VPyBJdCdzIGEgcGxhdGZvcm0gZHJpdmVyLCBgYWlyb2hhX25wdV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KWAuIFBsYXRmb3JtIGRyaXZlcnMgZm9yIHNwZWNpZmljIFNvQ3MgYXJlIG9mdGVuIGEgcGFpbiB0byBnZXQgd29ya2luZyBpbiB2YW5pbGxhIFFFTVUuIFRoZXkgdXN1YWxseSByZXF1aXJlIGhhcmR3YXJlIG9yIHNvbWUgc3BlY2lmaWMgZW11bGF0aW9uLCBvciBhdCBsZWFzdCBhIGRldmljZSB0cmVlIG92ZXJsYXkuIEkgaGF2ZSB0byBzZWUgaWYgdGhpcyBpcyBwb3NzaWJsZS5cblxuSSdtIHRoaW5raW5nIGFib3V0IHRoZSBwcm9tcHQncyBpbnN0cnVjdGlvbnM6IFwiUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWlucy4uLiB2ZW5kb3Itc3BlY2lmaWMuLi4gZHJpdmVycyB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVVwiLiBSaWdodCwgd2hhdCBhYm91dCBTb0Mtc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVycz8gKklzKiBgYWlyb2hhX25wdWAgb25lIG9mIHRob3NlPyBZZXMsIGNvbmZpcm1lZCwgcGxhdGZvcm0gZHJpdmVyLiBTbywgdGhlIGNydWNpYWwgcXVlc3Rpb246IGNhbiB0aGlzIGJlIGZ1enplZD9cblxuU3l6a2FsbGVyIGNhbiBzb21ldGltZXMgaW5zdGFudGlhdGUgcGxhdGZvcm0gZHJpdmVycywgZXNwZWNpYWxseSBpZiB0aGV5IGNhbiBiZSBjcmVhdGVkIHZpYSBwc2V1ZG8tZGV2aWNlcywgb3IgYXJlIG1hdGNoZWQgYnkgYSBnZW5lcmljIHBsYXRmb3JtIGRldmljZSwgYnV0IFNvQy1zcGVjaWZpYyBvbmVzIGFyZSBhIGNoYWxsZW5nZSwgdW5sZXNzIHRoZXJlJ3MgYSB3YXkgdG8gY3JlYXRlIHRoZSBwbGF0Zm9ybSBkZXZpY2UuIERvZXMgU3l6a2FsbGVyIHVzZSBgc3l6X2RldnJlc2Agb3Igc2ltaWxhcj8gTm8uIERvZXMgaXQgY3JlYXRlIHBsYXRmb3JtIGRldmljZXMgYnkgd3JpdGluZyB0byBgL3N5cy9kZXZpY2VzL3BsYXRmb3JtYD8gTm8uIEdlbmVyYWxseSwgaXQgZG9lc24ndCBjcmVhdGUgYXJiaXRyYXJ5IGRldmljZXMgdW5sZXNzIHRoZXJlIGlzIGEgc3l6bGFuZyBkZXNjcmlwdGlvbi5cblxuQnV0IHdhaXQsIEkgc2VlbSB0byByZW1lbWJlciBzb21ldGhpbmcgYWJvdXQgc3l6a2FsbGVyIHN1cHBvcnRpbmcgcGxhdGZvcm0gZGV2aWNlcyBpZiB0aGV5J3JlIGRlc2NyaWJlZCBpbiBgc3lzL2xpbnV4L2Rldl8qLnR4dGAgb3Igc29tZXRoaW5nIHNpbWlsYXI/IEkgbmVlZCB0byBjaGVjayBpZiBBaXJvaGEgaXMgZXZlbiBzdXBwb3J0ZWQgYnkgc3l6a2FsbGVyLiBUaGF0J3MgdGhlIGtleS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzQ4NCwiT3V0cHV0VG9rZW5zIjoyMiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjYwNywiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTIwVDA5OjI1OjMzLjY4ODQwMjAyMloiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMDkxMDA4NzIyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImFpcm9oYVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiXFxuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA3NDkzIGxpbmVzLlxcblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cXG5cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sI1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbD0xMj1kZXNjcmlwdGlvbjpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbDoxMzogIFRoZSBhaXJvaGEgY2hpcC1zY3UgYmxvY2sgcHJvdmlkZXMgYSBjb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgY2xvY2ssXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEsZW43NTgxLWNoaXAtc2N1LnlhbWwtMTQtICBpby1tdXhpbmcgYW5kIG90aGVyIGZ1bmN0aW9uYWxpdGllcyB1c2VkIGJ5IG11bHRpcGxlIGNvbnRyb2xsZXJzIChlLmcuIGNsb2NrLFxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEsZW43NTgxLWNoaXAtc2N1LnlhbWw9MTc9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sLTIwLSAgICAgIC0gZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbDoyMTogICAgICAgICAgLSBhaXJvaGEsZW43NTgxLWNoaXAtc2N1XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEsZW43NTgxLWNoaXAtc2N1LnlhbWwtMjItICAgICAgLSBjb25zdDogc3lzY29uXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbD0zMz1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLGVuNzU4MS1jaGlwLXNjdS55YW1sLTM4LSAgICAgIHN5c2NvbkAxZmEyMDAwMCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEsZW43NTgxLWNoaXAtc2N1LnlhbWw6Mzk6ICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1ODEtY2hpcC1zY3VcXFwiLCBcXFwic3lzY29uXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYSxlbjc1ODEtY2hpcC1zY3UueWFtbC00MC0gICAgICAgIHJlZyA9IFxcdTAwM2MweDAgMHgxZmEyMDAwMCAweDAgMHgzODhcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2FybS9haXJvaGEueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sPTE2PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sLTIyLSAgICAgICAgICAtIGVudW06XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEueWFtbDoyMzogICAgICAgICAgICAgIC0gYWlyb2hhLGVuNzUyMy1ldmJcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sOjI0OiAgICAgICAgICAtIGNvbnN0OiBhaXJvaGEsZW43NTIzXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9haXJvaGEueWFtbC0yNS0gICAgICAtIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLnlhbWwtMjYtICAgICAgICAgIC0gZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sOjI3OiAgICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLWV2YlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vYWlyb2hhLnlhbWw6Mjg6ICAgICAgICAgIC0gY29uc3Q6IGFpcm9oYSxlbjc1ODFcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Fpcm9oYS55YW1sLTI5LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtMy0tLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw9Mjk9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sLTMyLSAgICAgIC0gZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbDozMzogICAgICAgICAgLSBhaXJvaGEsZW43NTIzLXNjdVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sOjM0OiAgICAgICAgICAtIGFpcm9oYSxlbjc1ODEtc2N1XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtMzUtICAgICAgICAgIC0gZWNvbmV0LGVuNzUxMjIxLXNjdVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw9NTg9YWxsT2Y6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC02MS0gICAgICAgIGNvbXBhdGlibGU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw6NjI6ICAgICAgICAgIGNvbnN0OiBhaXJvaGEsZW43NTIzLXNjdVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sLTYzLSAgICB0aGVuOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtNzEtICAgICAgICAgIGVudW06XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw6NzI6ICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLXNjdVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sLTczLSAgICAgICAgICAgIC0gZWNvbmV0LGVuNzUxMjIxLXNjdVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw9ODE9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbC04NC0gICAgc2N1OiBzeXN0ZW0tY29udHJvbGxlckAxZmEyMDAwMCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWw6ODU6ICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsZW43NTIzLXNjdVxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtODYtICAgICAgcmVnID0gXFx1MDAzYzB4MWZhMjAwMDAgMHg0MDBcXHUwMDNlLFxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL2Fpcm9oYSxlbjc1MjMtc2N1LnlhbWwtOTctICAgICAgc2N1Y2xrOiBjbG9jay1jb250cm9sbGVyQDFmYjAwMDAwIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYWlyb2hhLGVuNzUyMy1zY3UueWFtbDo5ODogICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGVuNzU4MS1zY3VcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9haXJvaGEsZW43NTIzLXNjdS55YW1sLTk5LSAgICAgICAgcmVnID0gXFx1MDAzYzB4MCAweDFmYjAwMDAwIDB4MCAweDk3MFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sI1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbD0yNj1wcm9wZXJ0aWVzOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sLTI3LSAgY29tcGF0aWJsZTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbDoyODogICAgY29uc3Q6IGFpcm9oYSxlbjc1ODEtY3B1ZnJlcVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcHVmcmVxL2Fpcm9oYSxlbjc1ODEtY3B1ZnJlcS55YW1sLTI5LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2NwdWZyZXEvYWlyb2hhLGVuNzU4MS1jcHVmcmVxLnlhbWw9NDY9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbC00OC0gICAgcGVyZm9ybWFuY2UtZG9tYWluIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbDo0OTogICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGVuNzU4MS1jcHVmcmVxXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3B1ZnJlcS9haXJvaGEsZW43NTgxLWNwdWZyZXEueWFtbC01MC1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sPTMwPXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY3J5cHRvL2luc2lkZS1zZWN1cmUsc2FmZXhjZWwtZWlwOTMueWFtbC0zMy0gICAgICAtIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sOjM0OiAgICAgICAgICAtIGNvbnN0OiBhaXJvaGEsZW43NTgxLWVpcDkzXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2NyeXB0by9pbnNpZGUtc2VjdXJlLHNhZmV4Y2VsLWVpcDkzLnlhbWwtMzUtICAgICAgICAgIC0gY29uc3Q6IGluc2lkZS1zZWN1cmUsc2FmZXhjZWwtZWlwOTNpZXNcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sPTU4PWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2NyeXB0by9pbnNpZGUtc2VjdXJlLHNhZmV4Y2VsLWVpcDkzLnlhbWwtNjItICAgIGNyeXB0b0AxZTAwNDAwMCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2NyeXB0by9pbnNpZGUtc2VjdXJlLHNhZmV4Y2VsLWVpcDkzLnlhbWw6NjM6ICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsZW43NTgxLWVpcDkzXFxcIiwgXFxcImluc2lkZS1zZWN1cmUsc2FmZXhjZWwtZWlwOTNpZXNcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jcnlwdG8vaW5zaWRlLXNlY3VyZSxzYWZleGNlbC1laXA5My55YW1sLTY0LSAgICAgIHJlZyA9IFxcdTAwM2MweDFmYjcwMDAwIDB4MTAwMFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sI1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbD0xNj1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWwtMjEtICAgIGl0ZW1zOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sOjIyOiAgICAgIC0gY29uc3Q6IGFpcm9oYSxlbjc1MjMtZ3Bpb1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sLTIzLVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWw9NDQ9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3Bpby9haXJvaGEsZW43NTIzLWdwaW8ueWFtbC00Ni0gICAgZ3BpbzA6IGdwaW9AMWZiZjAyMDAge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sOjQ3OiAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsZW43NTIzLWdwaW9cXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sLTQ4LSAgICAgICAgcmVnID0gXFx1MDAzYzB4MWZiZjAyMDQgMHg0XFx1MDAzZSxcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncGlvL2Fpcm9oYSxlbjc1MjMtZ3Bpby55YW1sLTU2LSAgICBncGlvMTogZ3Bpb0AxZmJmMDI3MCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWw6NTc6ICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1MjMtZ3Bpb1xcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dwaW8vYWlyb2hhLGVuNzUyMy1ncGlvLnlhbWwtNTgtICAgICAgICByZWcgPSBcXHUwMDNjMHgxZmJmMDI3MCAweDRcXHUwMDNlLFxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwtMy0tLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw9MTc9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTE5LSAgICBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbDoyMDogICAgICAtIGNvbnN0OiBhaXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwtMjEtICAgICAgLSBjb25zdDogc3lzY29uXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC0yOC0gICAgdHlwZTogb2JqZWN0XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw6Mjk6ICAgICRyZWY6IC9zY2hlbWFzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWxcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC0zMC0gICAgZGVzY3JpcHRpb246XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC0zNC0gICAgdHlwZTogb2JqZWN0XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw6MzU6ICAgICRyZWY6IC9zY2hlbWFzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwtMzYtICAgIGRlc2NyaXB0aW9uOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw9NDU9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC00OS0gICAgc3lzdGVtLWNvbnRyb2xsZXJAMWZiZjAyMDAge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sOjUwOiAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bFxcXCIsIFxcXCJzeXNjb25cXFwiLCBcXFwic2ltcGxlLW1mZFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWwtNTEtICAgICAgcmVnID0gXFx1MDAzYzB4MWZiZjAyMDAgMHhjMFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC01My0gICAgICBwaW5jdHJsIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbDo1NDogICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGVuNzU4MS1waW5jdHJsXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC01NS1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYWlyb2hhLGVuNzU4MS1ncGlvLXN5c2N0bC55YW1sLTg1LSAgICAgIHB3bSB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9haXJvaGEsZW43NTgxLWdwaW8tc3lzY3RsLnlhbWw6ODY6ICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1ODEtcHdtXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Fpcm9oYSxlbjc1ODEtZ3Bpby1zeXNjdGwueWFtbC04Ny1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvc3lzY29uLnlhbWw9MjU9c2VsZWN0Olxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9zeXNjb24ueWFtbC0yOS0gICAgICAgIGVudW06XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9zeXNjb24ueWFtbDozMDogICAgICAgICAgLSBhaXJvaGEsZW43NTgxLXBidXMtY3NyXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9zeXNjb24ueWFtbC0zMS0gICAgICAgICAgLSBhbCxhbHBpbmUtc3lzZmFicmljLXNlcnZpY2VcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvc3lzY29uLnlhbWw9MTM4PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL3N5c2Nvbi55YW1sLTE0Mi0gICAgICAgICAgLSBlbnVtOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvc3lzY29uLnlhbWw6MTQzOiAgICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLXBidXMtY3NyXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9zeXNjb24ueWFtbC0xNDQtICAgICAgICAgICAgICAtIGFsLGFscGluZS1zeXNmYWJyaWMtc2VydmljZVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGFuNzU4My1tZGlvLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sPTIyPXByb3BlcnRpZXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbC0yMy0gIGNvbXBhdGlibGU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbDoyNDogICAgY29uc3Q6IGFpcm9oYSxhbjc1ODMtbWRpb1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGFuNzU4My1tZGlvLnlhbWwtMjUtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sPTQ2PWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW43NTgzLW1kaW8ueWFtbC01Mi0gICAgICAgIG1kaW8tYnVzQGM4IHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sOjUzOiAgICAgICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGFuNzU4My1tZGlvXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxhbjc1ODMtbWRpby55YW1sLTU0LSAgICAgICAgICAgIHJlZyA9IFxcdTAwM2MweGM4XFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGFuODgwMS55YW1sLTMtLS0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW44ODAxLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL25ldC9haXJvaGEsYW44ODAxLnlhbWwjXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsYW44ODAxLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwjXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw9MTY9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0xOC0gICAgZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MTk6ICAgICAgLSBhaXJvaGEsZW43NTgxLWV0aFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDoyMDogICAgICAtIGFpcm9oYSxhbjc1ODMtZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTIxLVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTc4LVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDo3OTogIGFpcm9oYSxucHU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTgwLSAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw9ODc9YWxsT2Y6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtOTMtICAgICAgICAgICAgZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6OTQ6ICAgICAgICAgICAgICAtIGFpcm9oYSxlbjc1ODEtZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTk1LSAgICB0aGVuOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTEwNy0gICAgICAgICAgICBlbnVtOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDoxMDg6ICAgICAgICAgICAgICAtIGFpcm9oYSxhbjc1ODMtZXRoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTEwOS0gICAgdGhlbjpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbD0xMTc9cGF0dGVyblByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMTI1LSAgICAgIGNvbXBhdGlibGU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sOjEyNjogICAgICAgIGNvbnN0OiBhaXJvaGEsZXRoLW1hY1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0xMjctXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMTU4LSAgICAgICAgICAgICAgICBjb21wYXRpYmxlOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDoxNTk6ICAgICAgICAgICAgICAgICAgY29uc3Q6IGFpcm9oYSxldGgtcG9ydFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0xNjAtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw9MTgyPWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTE5Mi0gICAgICBldGg6IGV0aGVybmV0QDFmYjUwMDAwIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MTkzOiAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsZW43NTgxLWV0aFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTE5NC0gICAgICAgIHJlZyA9IFxcdTAwM2MwIDB4MWZiNTAwMDAgMCAweDI2MDBcXHUwMDNlLFxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTIyNC1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MjI1OiAgICAgICAgYWlyb2hhLG5wdSA9IFxcdTAwM2NcXHUwMDI2bnB1XFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMjI2LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sLTIzMC0gICAgICAgIGV0aGVybmV0QDEge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDoyMzE6ICAgICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGV0aC1tYWNcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yMzItICAgICAgICAgIHJlZyA9IFxcdTAwM2MxXFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yMzUtICAgICAgICBldGhlcm5ldEA0IHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MjM2OiAgICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxldGgtbWFjXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMjM3LSAgICAgICAgICByZWcgPSBcXHUwMDNjNFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMjQyLSAgICAgICAgICBldGhlcm5ldEAwIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWw6MjQzOiAgICAgICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGV0aC1wb3J0XFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtZXRoLnlhbWwtMjQ0LSAgICAgICAgICAgIHJlZyA9IFxcdTAwM2MwXFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yNDctICAgICAgICAgIGV0aGVybmV0QDEge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbDoyNDg6ICAgICAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsZXRoLXBvcnRcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ldGgueWFtbC0yNDktICAgICAgICAgICAgcmVnID0gXFx1MDAzYzFcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sLTMtLS0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbD0xNz1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sLTE5LSAgICBlbnVtOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbDoyMDogICAgICAtIGFpcm9oYSxlbjc1ODEtbnB1XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sOjIxOiAgICAgIC0gYWlyb2hhLGFuNzU4My1ucHVcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWwtMjItXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWw9NzU9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWwtODMtICAgICAgbnB1QDFlOTAwMDAwIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWw6ODQ6ICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1ODEtbnB1XFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWwtODUtICAgICAgICByZWcgPSBcXHUwMDNjMCAweDFlOTAwMDAwIDAgMHgzMTMwMDBcXHUwMDNlO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sLTEwMy0gICAgICAgIG1lbW9yeS1yZWdpb24tbmFtZXMgPSBcXFwiZmlybXdhcmVcXFwiLCBcXFwicGt0XFxcIiwgXFxcInR4LXBrdFxcXCIsIFxcXCJ0eC1idWZpZFxcXCIsIFxcXCJiYVxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLW5wdS55YW1sOjEwNDogICAgICAgIGZpcm13YXJlLW5hbWUgPSBcXFwiYWlyb2hhL2VuNzU4MV9ucHVfcnYzMi5iaW5cXFwiLFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuNzU4MS1ucHUueWFtbDoxMDU6ICAgICAgICAgICAgICAgICAgICAgICAgXFxcImFpcm9oYS9lbjc1ODFfbnB1X2RhdGEuYmluXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjc1ODEtbnB1LnlhbWwtMTA2LSAgICAgIH07XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWwtMy0tLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL25ldC9haXJvaGEsZW44ODExaC55YW1sI1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuODgxMWgueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW44ODExaC55YW1sPTIxPXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWwtMjgtXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW44ODExaC55YW1sOjI5OiAgYWlyb2hhLHBuc3dhcC1yeDpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWwtMzAtICAgIHR5cGU6IGJvb2xlYW5cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuODgxMWgueWFtbC0zNy1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2Fpcm9oYSxlbjg4MTFoLnlhbWw6Mzg6ICBhaXJvaGEscG5zd2FwLXR4OlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvYWlyb2hhLGVuODgxMWgueWFtbC0zOS0gICAgdHlwZTogYm9vbGVhblxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9kc2EvbWVkaWF0ZWssbXQ3NTMwLnlhbWw9NzY9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sLTk2LSAgICAgICAgICBCdWlsdC1pbiBzd2l0Y2ggb2YgdGhlIEFpcm9oYSBFTjc1ODEgU29DXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9kc2EvbWVkaWF0ZWssbXQ3NTMwLnlhbWw6OTc6ICAgICAgICBjb25zdDogYWlyb2hhLGVuNzU4MS1zd2l0Y2hcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2RzYS9tZWRpYXRlayxtdDc1MzAueWFtbC05OC1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sLTEwMC0gICAgICAgICAgQnVpbHQtaW4gc3dpdGNoIG9mIHRoZSBBaXJvaGEgQU43NTgzIFNvQ1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sOjEwMTogICAgICAgIGNvbnN0OiBhaXJvaGEsYW43NTgzLXN3aXRjaFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sLTEwMi1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sPTI2OT1hbGxPZjpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sLTMxOC0gICAgICAgICAgICAtIG1lZGlhdGVrLG10Nzk4OC1zd2l0Y2hcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2RzYS9tZWRpYXRlayxtdDc1MzAueWFtbDozMTk6ICAgICAgICAgICAgLSBhaXJvaGEsZW43NTgxLXN3aXRjaFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvZHNhL21lZGlhdGVrLG10NzUzMC55YW1sOjMyMDogICAgICAgICAgICAtIGFpcm9oYSxhbjc1ODMtc3dpdGNoXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9kc2EvbWVkaWF0ZWssbXQ3NTMwLnlhbWwtMzIxLSAgICB0aGVuOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1lbS9haXJvaGEsYW44ODU1LWVmdXNlLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sPTE4PXByb3BlcnRpZXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbC0xOS0gIGNvbXBhdGlibGU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbDoyMDogICAgY29uc3Q6IGFpcm9oYSxhbjg4NTUtZWZ1c2VcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sLTIxLVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL252bWVtL2Fpcm9oYSxhbjg4NTUtZWZ1c2UueWFtbD0zMT1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1lbS9haXJvaGEsYW44ODU1LWVmdXNlLnlhbWwtMzMtICAgIGVmdXNlIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sOjM0OiAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsYW44ODU1LWVmdXNlXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbnZtZW0vYWlyb2hhLGFuODg1NS1lZnVzZS55YW1sLTM1LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLWdlbjMueWFtbD00Nj1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLWdlbjMueWFtbC02MS0gICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDgxOTYtcGNpZVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWw6NjI6ICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MS1wY2llXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLWdlbjMueWFtbC02My1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWw9MTYwPWFsbE9mOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLWdlbjMueWFtbC0yODItICAgICAgICBjb21wYXRpYmxlOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS1nZW4zLnlhbWw6MjgzOiAgICAgICAgICBjb25zdDogYWlyb2hhLGVuNzU4MS1wY2llXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLWdlbjMueWFtbC0yODQtICAgIHRoZW46XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbD0xMj1wcm9wZXJ0aWVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWwtMTUtICAgICAgLSBlbnVtOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sOjE2OiAgICAgICAgICAtIGFpcm9oYSxhbjc1ODMtcGNpZVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sLTE3LSAgICAgICAgICAtIGVjb25ldCxlbjc1MjgtcGNpZVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWwtMjEtICAgICAgLSBpdGVtczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbDoyMjogICAgICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzUyMy1wY2llXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWwtMjMtICAgICAgICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10NzYyMi1wY2llXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbD0xMDk9YWxsT2Y6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbC0xMTQtICAgICAgICBjb21wYXRpYmxlOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sOjExNTogICAgICAgICAgY29uc3Q6IGFpcm9oYSxhbjc1ODMtcGNpZVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sLTExNi0gICAgdGhlbjpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sLTIwOC0gICAgICAgICAgY29udGFpbnM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9tZWRpYXRlay1wY2llLnlhbWw6MjA5OiAgICAgICAgICAgIGNvbnN0OiBhaXJvaGEsZW43NTIzLXBjaWVcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbC0yMTAtICAgIHRoZW46XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbD0yNTc9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbC00MjUtICAgICAgICBwY2llQDFmYTkyMDAwIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL21lZGlhdGVrLXBjaWUueWFtbDo0MjY6ICAgICAgICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsYW43NTgzLXBjaWVcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvbWVkaWF0ZWstcGNpZS55YW1sLTQyNy0gICAgICAgICAgICBkZXZpY2VfdHlwZSA9IFxcXCJwY2lcXFwiO1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWwtMy0tLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWw9MTU9cHJvcGVydGllczpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbC0xNi0gIGNvbXBhdGlibGU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWw6MTc6ICAgIGNvbnN0OiBhaXJvaGEsZW43NTgxLXBjaWUtcGh5XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9haXJvaGEsZW43NTgxLXBjaWUtcGh5LnlhbWwtMTgtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbD00OD1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waHkvYWlyb2hhLGVuNzU4MS1wY2llLXBoeS55YW1sLTU2LSAgICAgICAgcGh5QDExZTgwMDAwIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbDo1NzogICAgICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1ODEtcGNpZS1waHlcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waHkvYWlyb2hhLGVuNzU4MS1wY2llLXBoeS55YW1sLTU4LSAgICAgICAgICAgICNwaHktY2VsbHMgPSBcXHUwMDNjMFxcdTAwM2U7XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sI1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbD0xNT1wcm9wZXJ0aWVzOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sLTE2LSAgY29tcGF0aWJsZTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbDoxNzogICAgY29uc3Q6IGFpcm9oYSxhbjc1ODMtcGluY3RybFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sLTE4LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGFuNzU4My1waW5jdHJsLnlhbWw9MzMzPWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGFuNzU4My1waW5jdHJsLnlhbWwtMzM3LSAgICBwaW5jdHJsIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsYW43NTgzLXBpbmN0cmwueWFtbDozMzg6ICAgICAgY29tcGF0aWJsZSA9IFxcXCJhaXJvaGEsYW43NTgzLXBpbmN0cmxcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxhbjc1ODMtcGluY3RybC55YW1sLTMzOS1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sLTMtLS0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWwjXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sPTE1PXByb3BlcnRpZXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWwtMTYtICBjb21wYXRpYmxlOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sOjE3OiAgICBjb25zdDogYWlyb2hhLGVuNzU4MS1waW5jdHJsXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWwtMTgtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsZW43NTgxLXBpbmN0cmwueWFtbD0zMzQ9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9haXJvaGEsZW43NTgxLXBpbmN0cmwueWFtbC0zMzgtICAgIHBpbmN0cmwge1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL2Fpcm9oYSxlbjc1ODEtcGluY3RybC55YW1sOjMzOTogICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1ODEtcGluY3RybFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvYWlyb2hhLGVuNzU4MS1waW5jdHJsLnlhbWwtMzQwLVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sLTMtLS0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcHdtL2Fpcm9oYSxlbjc1ODEtcHdtLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbD0xNT1wcm9wZXJ0aWVzOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbC0xNi0gIGNvbXBhdGlibGU6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sOjE3OiAgICBjb25zdDogYWlyb2hhLGVuNzU4MS1wd21cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcHdtL2Fpcm9oYSxlbjc1ODEtcHdtLnlhbWwtMTgtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcHdtL2Fpcm9oYSxlbjc1ODEtcHdtLnlhbWw9Mjg9ZXhhbXBsZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcHdtL2Fpcm9oYSxlbjc1ODEtcHdtLnlhbWwtMzAtICAgIHB3bSB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3B3bS9haXJvaGEsZW43NTgxLXB3bS55YW1sOjMxOiAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGVuNzU4MS1wd21cXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wd20vYWlyb2hhLGVuNzU4MS1wd20ueWFtbC0zMi1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWwtMy0tLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvcm5nL2Fpcm9oYSxlbjc1ODEtdHJuZy55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWwjXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbD0xMj1wcm9wZXJ0aWVzOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWwtMTMtICBjb21wYXRpYmxlOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWw6MTQ6ICAgIGNvbnN0OiBhaXJvaGEsZW43NTgxLXRybmdcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvcm5nL2Fpcm9oYSxlbjc1ODEtdHJuZy55YW1sLTE1LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbD0yOT1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ybmcvYWlyb2hhLGVuNzU4MS10cm5nLnlhbWwtMzQtICAgIHJuZ0AxZmFhMTAwMCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3JuZy9haXJvaGEsZW43NTgxLXRybmcueWFtbDozNTogICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGVuNzU4MS10cm5nXFxcIjtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvcm5nL2Fpcm9oYSxlbjc1ODEtdHJuZy55YW1sLTM2LSAgICAgICAgcmVnID0gXFx1MDAzYzB4MWZhYTEwMDAgMHgxMDAwXFx1MDAzZTtcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sLTMtLS0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWw6NDokaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwjXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwtNS0kc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCNcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sPTE1PXByb3BlcnRpZXM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc3BpL2Fpcm9oYSxlbjc1ODEtc25hbmQueWFtbC0xNy0gICAgb25lT2Y6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWw6MTg6ICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MS1zbmFuZFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sLTE5LSAgICAgIC0gaXRlbXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwtMjAtICAgICAgICAgIC0gZW51bTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc3BpL2Fpcm9oYSxlbjc1ODEtc25hbmQueWFtbDoyMTogICAgICAgICAgICAgIC0gYWlyb2hhLGVuNzUyMy1zbmFuZFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sOjIyOiAgICAgICAgICAtIGNvbnN0OiBhaXJvaGEsZW43NTgxLXNuYW5kXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWwtMjMtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc3BpL2Fpcm9oYSxlbjc1ODEtc25hbmQueWFtbD00ND1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sLTUyLSAgICAgIHNwaUAxZmExMDAwMCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NwaS9haXJvaGEsZW43NTgxLXNuYW5kLnlhbWw6NTM6ICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1ODEtc25hbmRcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zcGkvYWlyb2hhLGVuNzU4MS1zbmFuZC55YW1sLTU0LSAgICAgICAgcmVnID0gXFx1MDAzYzB4MCAweDFmYTEwMDAwIDB4MCAweDE0MFxcdTAwM2UsXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbC0zLS0tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sOjQ6JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sI1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTUtJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbD0xMj1wcm9wZXJ0aWVzOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTEzLSAgY29tcGF0aWJsZTpcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbDoxNDogICAgY29uc3Q6IGFpcm9oYSxlbjc1ODEtdGhlcm1hbFxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTE1LVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtMjEtXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWw6MjI6ICBhaXJvaGEsY2hpcC1zY3U6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtMjMtICAgIGRlc2NyaXB0aW9uOiBwaGFuZGxlIHRvIHRoZSBjaGlwIFNDVSBzeXNjb25cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sPTI5PXJlcXVpcmVkOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtMzItICAtIGludGVycnVwdHNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbDozMzogIC0gYWlyb2hhLGNoaXAtc2N1XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtMzQtXFxuLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbD0zNz1leGFtcGxlczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2Fpcm9oYSxlbjc1ODEtdGhlcm1hbC55YW1sLTQxLSAgICB0aGVybWFsLXNlbnNvckAxZWZiZDgwMCB7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWw6NDI6ICAgICAgICBjb21wYXRpYmxlID0gXFxcImFpcm9oYSxlbjc1ODEtdGhlcm1hbFxcXCI7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtNDMtICAgICAgICByZWcgPSBcXHUwMDNjMHgxZWZiZDAwMCAweGQ1Y1xcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWwtNDQtICAgICAgICBpbnRlcnJ1cHRzID0gXFx1MDAzY0dJQ19TUEkgMjMgSVJRX1RZUEVfTEVWRUxfSElHSFxcdTAwM2U7XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWlyb2hhLGVuNzU4MS10aGVybWFsLnlhbWw6NDU6ICAgICAgICBhaXJvaGEsY2hpcC1zY3UgPSBcXHUwMDNjXFx1MDAyNmNoaXBfc2N1XFx1MDAzZTtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9haXJvaGEsZW43NTgxLXRoZXJtYWwueWFtbC00Ni1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy92ZW5kb3ItcHJlZml4ZXMueWFtbD0xNj1wYXR0ZXJuUHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy92ZW5kb3ItcHJlZml4ZXMueWFtbC03OC0gICAgZGVzY3JpcHRpb246IEFFU09QIEVtYmVkZGVkIEZvcnVtXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3ZlbmRvci1wcmVmaXhlcy55YW1sOjc5OiAgXFxcIl5haXJvaGEsLipcXFwiOlxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy92ZW5kb3ItcHJlZml4ZXMueWFtbC04MC0gICAgZGVzY3JpcHRpb246IEFpcm9oYVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWwtMy0tLS1cXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbDo0OiRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbCNcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbC01LSRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sI1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWw9MTU9cHJvcGVydGllczpcXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy93YXRjaGRvZy9haXJvaGEsZW43NTgxLXdkdC55YW1sLTE4LSAgICAgIC0gaXRlbXM6XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWw6MTk6ICAgICAgICAgIC0gY29uc3Q6IGFpcm9oYSxhbjc1ODMtd2R0XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWw6MjA6ICAgICAgICAgIC0gY29uc3Q6IGFpcm9oYSxlbjc1ODEtd2R0XFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWw6MjE6ICAgICAgLSBjb25zdDogYWlyb2hhLGVuNzU4MS13ZHRcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbC0yMi1cXG4tLVxcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy93YXRjaGRvZy9haXJvaGEsZW43NTgxLXdkdC55YW1sPTQxPWV4YW1wbGVzOlxcbi0tXFxuRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2Fpcm9oYSxlbjc1ODEtd2R0LnlhbWwtNDUtICAgIHdhdGNoZG9nQDFmYmYwMTAwIHtcXG5Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cvYWlyb2hhLGVuNzU4MS13ZHQueWFtbDo0NjogICAgICAgIGNvbXBhdGlibGUgPSBcXFwiYWlyb2hhLGVuNzU4MS13ZHRcXFwiO1xcbkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy93YXRjaGRvZy9haXJvaGEsZW43NTgxLXdkdC55YW1sLTQ3LSAgICAgICAgcmVnID0gXFx1MDAzYzB4MWZiZjAxMDAgMHgzY1xcdTAwM2U7XFxuLS1cXG5NQUlOVEFJTkVSUz03NTk9UzpcXHRNYWludGFpbmVkXFxuTUFJTlRBSU5FUlM6NzYwOkY6XFx0RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9haXJvaGEsZW43NTgxLWV0aC55YW1sXFxuTUFJTlRBSU5FUlM6NzYxOkY6XFx0ZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL1xcbk1BSU5UQUlORVJTLTc2Mi1cXG4tLVxcbk1BSU5UQUlORVJTPTc2Nj1TOlxcdE1haW50YWluZWRcXG5NQUlOVEFJTkVSUzo3Njc6RjpcXHREb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L2Fpcm9oYSxlbjc1ODEtcGNpZS1waHkueWFtbFxcbk1BSU5UQUlORVJTOjc2ODpGOlxcdGRyaXZlcnMvcGh5L3BoeS1haXJvaGEtcGNpZS1yZWdzLmhcXG5NQUlOVEFJTkVSUzo3Njk6RjpcXHRkcml2ZXJzL3BoeS9waHktYWlyb2hhLXBjaWUuY1xcbk1BSU5UQUlORVJTLTc3MC1cXG5cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6MzUuNzc5NDE3Nzc0WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDYxMzg3MTkxMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipJbnZlc3RpZ2F0aW5nIHRoZSBBaXJvaGEgRXRoZXJuZXQgRHJpdmVyJ3MgUUVNVSBSZWFjaGFiaWxpdHkqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGUgYGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmNgIGRyaXZlci4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBjYW4gSSBldmVuICpnZXQqIHRvIHRoaXMgdGhpbmcgaW4gYSBRRU1VIGVudmlyb25tZW50PyBFdGhlcm5ldCBkcml2ZXJzIGFyZSB0eXBpY2FsbHkgaG9va2VkIHVwIHZpYSBQQ0kgb3IgcGxhdGZvcm0gZGV2aWNlcywgYW5kIEkgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSBjb25uZWN0aW9uLiBMZXQncyBkaWcgaW50byB0aGUgc291cmNlIGNvZGUgb2YgYGFpcm9oYV9ucHUuY2AgYW5kIHNlZSBleGFjdGx5IGhvdyB0aGlzIGRyaXZlciByZWdpc3RlcnMgd2l0aCB0aGUgc3lzdGVtLiBUaGF0J3MgZ29pbmcgdG8gYmUgbXkga2V5IHRvIHVuZGVyc3RhbmRpbmcgaXRzIFFFTVUgY29tcGF0aWJpbGl0eS4gVGltZSB0byBnbyBzcGVsdW5raW5nIVxuXG5cbiIsIklucHV0VG9rZW5zIjoxODYyOCwiT3V0cHV0VG9rZW5zIjozNywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjc0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTIwVDA5OjI1OjQwLjM5MzI5MTYxM1oiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NDMwNDAxNiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJhaXJvaGFfbnB1X3Byb2JlXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYz02OTI9c3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIHJlZ21hcF9jb25maWcgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jLTY5OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jOjcwMDpzdGF0aWMgaW50IGFpcm9oYV9ucHVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jLTcwMS17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jPTgyMD1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBhaXJvaGFfbnB1X2RyaXZlciA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jOjgyMTpcXHQucHJvYmUgPSBhaXJvaGFfbnB1X3Byb2JlLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtODIyLVxcdC5yZW1vdmUgPSBhaXJvaGFfbnB1X3JlbW92ZSxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6NDAuNDM3NjA3NDg5WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDcyMzc2ODA5OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipJbnZlc3RpZ2F0aW5nIHRoZSBSZWFjaGFiaWxpdHkgb2YgdGhlIEFpcm9oYSBOUFUgRHJpdmVyIGluIFFFTVUqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIGRyaXZlciwgY2xlYXJseSBhIHBsYXRmb3JtIGRyaXZlci4gVGhlIGltbWVkaWF0ZSBxdWVzdGlvbiBpcywgY2FuIEkgYWN0dWFsbHkgKmdldCogdG8gYGFpcm9oYV9ucHVfcHJvYmVgIHdpdGhpbiBhIFFFTVUgZW52aXJvbm1lbnQ/IEhpc3RvcmljYWxseSwgdGhlc2Ugc3BlY2lmaWMgU29DIHBsYXRmb3JtIGRyaXZlcnMgYXJlIHRyaWNreSDigJMgdGhleSdyZSBnZW5lcmFsbHkgbm90IHRyaWdnZXJlZCB1bmxlc3MgSSd2ZSBnb3QgYSBRRU1VIGJvYXJkIGVtdWxhdGlvbiB0aGF0IHNwZWNpZmljYWxseSBpbmNsdWRlcyB0aGUgQWlyb2hhIHNpbGljb24sIG9yIEknbSBsZXZlcmFnaW5nIHNvbWV0aGluZyBsaWtlIHN5emthbGxlciB0byBpbmplY3QgdGhlIHJpZ2h0IHBsYXRmb3JtIGRldmljZXMuXG5cbkFoYSwgdGhhdCdzIHdoZXJlIEkgbmVlZCB0byBwaXZvdC4gU3l6a2FsbGVyLi4uIGl0IGNhbiBkZXNjcmliZSBhbmQgaW5qZWN0IHBsYXRmb3JtIGRldmljZXMgdmlhIHN5emxhbmcsIHJpZ2h0PyBUaGF0J3MgdGhlIGtleS4gSSBuZWVkIHRvIHF1aWNrbHkgY2hlY2sgaWYgYSBzeXpsYW5nIGRlc2NyaXB0aW9uIGZvciBcImFpcm9oYVwiIGV4aXN0cy4gSWYgaXQgZG9lcywgdGhlbiBJJ3ZlIGdvdCBhIG11Y2ggYmV0dGVyIHNob3QgYXQgcHJvYmluZyB0aGF0IGRyaXZlciB3aXRoaW4gbXkgY29udHJvbGxlZCBlbnZpcm9ubWVudC4gVGhhdCdzIHRoZSBuZXh0IGxvZ2ljYWwgc3RlcCBpbiB0aGUgaW52ZXN0aWdhdGlvbi5cblxuXG4iLCJJbnB1dFRva2VucyI6MTkxMzIsIk91dHB1dFRva2VucyI6MjYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo5OSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0yMFQwOToyNTo0NS4xNjEzNzc3NTdaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDYxODE1NTUsIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImFpcm9oYVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJzeXMvbGludXgvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcImVycm9yXCI6IFwibm8gbWF0Y2hlc1wiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0yMFQwOToyNTo0NS4yMDc1NjgyOTJaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3NTk0MzUyMzg5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIFF1ZXJ5J3MgU2NvcGUqKlxuXG5Pa2F5LCBzbyB0aGUgaW5pdGlhbCBpbnN0cnVjdGlvbiBpcyBjbGVhcjogSSAqY2Fubm90KiB1c2UgdGhpcyB0b29sIHRvIGRpcmVjdGx5IGludmVzdGlnYXRlIHN5emthbGxlcidzIHN5emxhbmcgZGVzY3JpcHRpb25zLiBJJ2xsIG5lZWQgYHJlYWQtc3l6LXNwZWNgIGFuZCBgc3l6LWdyZXBwZXJgIGZvciB0aGF0LCB3aGljaCBJIGRvbid0IGhhdmUgYWNjZXNzIHRvIGluIHRoaXMgY29udGV4dC4gSSdtIGxpbWl0ZWQgdG8gYGdyZXBwZXJgLCBgY29kZXNlYXJjaC1kaXItaW5kZXhgLCBgcmVhZC1maWxlYCwgYW5kIGBzZXQtcmVzdWx0c2AuIEZpbmUsIEknbGwgd29yayB3aXRoIHdoYXQgSSd2ZSBnb3QuXG5cblRoZSBzZWNvbmQgcGFydCBvZiB0aGUgcHJvbXB0IGZsYWdzIGNvZGUgcGF0aHMgSSAqc2hvdWxkbid0KiBib3RoZXIgd2l0aDogdGhpbmdzIGluYWNjZXNzaWJsZSBpbiBzdGFuZGFyZCBRRU1VIGxpa2Ugc3BlY2lmaWMgaGFyZHdhcmUgY29uZmlndXJhdGlvbnMuIFRoaW5ncyBsaWtlIHZlbmRvci1zcGVjaWZpYyBkcml2ZXJzIHRoYXQgbmVlZCBwaHlzaWNhbCBQQ0llIGNhcmRzIGFuZCBzdWNoLlxuXG5Ob3csIG15IHF1ZXN0aW9uIGlzIGFib3V0IGBhaXJvaGFfbnB1YC4gSXMgdGhpcyBvbmUgb2YgdGhvc2Ugb2ZmLWxpbWl0cyBkcml2ZXJzPyBMZXQncyBzZWU6IEl0J3MgYW4gZXRoZXJuZXQgZHJpdmVyIGZvciBhbiBBaXJvaGEgRU43NTgxIFNvQy4gUmlnaHQsIHRoYXQncyBhIHBsYXRmb3JtIGRyaXZlciwgc3BlY2lmaWNhbGx5IGZvciBhIHN5c3RlbS1vbi1jaGlwLlxuXG5JIGtub3cgcGxhdGZvcm0gZHJpdmVycyBjYW4gYmUgdHJpY2t5LiBHZW5lcmFsbHksIHRob3NlIGFyZW4ndCByZWFjaGFibGUgaW4gc3RhbmRhcmQgeDg2IFFFTVUgdW5sZXNzIHRoZSBrZXJuZWwgaXMgY29tcGlsZWQgZm9yIHRoYXQgc3BlY2lmaWMgQVJNL01JUFMgYXJjaGl0ZWN0dXJlIGFuZCBRRU1VIHNwZWNpZmljYWxseSBlbXVsYXRlcyB0aGF0IGJvYXJkLCBvciBpZiBzeXprYWxsZXIgY2FuIHNvbWVob3cgaW5qZWN0IGl0LiBJIGFsc28ga25vdyB0aGF0IHN5emthbGxlciAqZG9lcyogZnV6eiBzb21lIHBsYXRmb3JtIGRyaXZlcnMgaWYgaXQgY2FuIGluc3RhbnRpYXRlIHRoZW0gdmlhIHNvbWV0aGluZyBsaWtlIGBzeXpfZGV2cmVzYCwgYnV0IHRoYXQgdHlwaWNhbGx5IGludm9sdmVzIGEgZGV2aWNlIHRyZWUgb3ZlcmxheSBvciBzaW1pbGFyLiBXYWl0LCBhY3R1YWxseSwgc3l6a2FsbGVyIGRvZXMgZnV6eiBhIGxvdCBvZiB0aGluZ3MhIEl0IG1pZ2h0IGJlIHBvc3NpYmxlLCBidXQgcGxhdGZvcm0gZHJpdmVycyBmb3IgKnNwZWNpZmljKiBTb0NzIGFyZSBsZXNzIGxpa2VseSB0byBiZSBhY2Nlc3NpYmxlLlxuXG5TbywgdGhlIG5leHQgbG9naWNhbCBzdGVwIGlzIHRvIGNoZWNrIHdoZXRoZXIgb3Igbm90IHRoZSBkcml2ZXIgY2FuIGV2ZW4gYmUgY29tcGlsZWQgb24geDg2LiBMZXQncyBzZWUgaWYgdGhhdCdzIHBvc3NpYmxlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxOTQ3NywiT3V0cHV0VG9rZW5zIjo0MiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQwNywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0yMFQwOToyNTo1Mi44MDE5MjI4MDFaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ1MDIzNjQ1LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQUlST0hBX0VONzU4MV9FVEhcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6NTIuODQ2OTU2NjE2WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ4MTAxMDQ4MDksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoZSB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6XG5cbioqRGl2aW5nIGludG8gdGhlIEFpcm9oYSBFdGhlcm5ldCBLY29uZmlnKipcblxuT2theSwgdGltZSB0byBnZXQgbXkgaGFuZHMgZGlydHkuIEknbSBnb2luZyB0byBzdGFydCBieSB0YWtpbmcgYSBsb29rIGF0IHRoZSBLY29uZmlnIGZpbGUgZm9yIHRoZSBBaXJvaGEgRXRoZXJuZXQgZHJpdmVycywgc3BlY2lmaWNhbGx5IGxvY2F0ZWQgaW4gYGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9gLiBJIGtub3cgdGhhdCdzIHdoZXJlIHRoZSBjb3JlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHRob3NlIGludGVyZmFjZXMgYXJlIGRlZmluZWQsIGFuZCBpdCdzIHRoZSBsb2dpY2FsIHN0YXJ0aW5nIHBvaW50IGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0aGlzIHBhcnRpY3VsYXIgRXRoZXJuZXQgY29udHJvbGxlciBmYW1pbHkgaXMgaW50ZWdyYXRlZCBhbmQgY29uZmlndXJlZCB3aXRoaW4gdGhlIGJyb2FkZXIga2VybmVsIG5ldHdvcmsgc3RhY2suIEknbSBwcm9iYWJseSBnb2luZyB0byBiZSBsb29raW5nIGZvciB0aGluZ3MgbGlrZTpcblxuKiAgICoqQ2hpcHNldCBzdXBwb3J0OioqIFdoYXQgc3BlY2lmaWMgQWlyb2hhIHBhcnRzIGFyZSBzdXBwb3J0ZWQsIGFuZCBob3cgYXJlIHRoZXkgaWRlbnRpZmllZD8gQXJlIHRoZXJlIGRpc3RpbmN0IEtjb25maWcgc3ltYm9scyBmb3IgZWFjaD9cbiogICAqKkZlYXR1cmUgdG9nZ2xlczoqKiBBcmUgdGhlcmUgb3B0aW9ucyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIHNwZWNpZmljIGZlYXR1cmVzIGxpa2UgVkxBTiBzdXBwb3J0LCBqdW1ibyBmcmFtZXMsIGNoZWNrc3VtIG9mZmxvYWQsIG9yIGRpZmZlcmVudCBQSFkgY29uZmlndXJhdGlvbnM/IEknbGwgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBkZXBlbmRlbmNpZXMgYmV0d2VlbiB0aGVzZSBmZWF0dXJlcy5cbiogICAqKkRlcGVuZGVuY2llcyBhbmQgZGVmYXVsdHM6KiogV2hhdCBvdGhlciBLY29uZmlnIHN5bWJvbHMgZG9lcyB0aGlzIG9uZSBkZXBlbmQgb24sIGFuZCB3aGF0IGFyZSB0aGVpciBkZWZhdWx0IHZhbHVlcz8gVGhpcyBnaXZlcyBtZSBhIGdvb2QgdW5kZXJzdGFuZGluZyBvZiB3aGF0IHRoZSBiYXNpYyBjb25maWd1cmF0aW9uIGlzLlxuKiAgICoqRG9jdW1lbnRhdGlvbjoqKiBBcmUgdGhlcmUgZ29vZCBjb21tZW50cyBvciBoZWxwIHRleHQgYXNzb2NpYXRlZCB3aXRoIHRoZSB2YXJpb3VzIG9wdGlvbnM/IFRoaXMgaGVscHMgbWUgZGV0ZXJtaW5lIGlmIHRoZSBtYWludGFpbmVycyBoYXZlIGNsZWFybHkgZGVmaW5lZCB0aGVpciBvcHRpb25zLlxuKiAgICoqRHJpdmVyLXNwZWNpZmljIG9wdGlvbnM6KiogQXJlIHRoZXJlIGFueSBBaXJvaGEtc3BlY2lmaWMgcGFyYW1ldGVycywgc3VjaCBhcyBjbG9jayBzZXR0aW5ncyBvciByZWdpc3RlciBvZmZzZXRzLCB0aGF0IGFyZSBleHBvc2VkIHRocm91Z2ggS2NvbmZpZz9cblxuSSdtIGV4cGVjdGluZyBhIHJlYXNvbmFibHkgd2VsbC1zdHJ1Y3R1cmVkIGZpbGUsIGhvcGVmdWxseSB3aXRoIGdvb2QgdXNlIG9mIGBkZXBlbmRzIG9uYCwgYHNlbGVjdGAsIGFuZCBgZGVmYXVsdGAgc3RhdGVtZW50cyB0byBjcmVhdGUgYSByb2J1c3QgYW5kIHVuZGVyc3RhbmRhYmxlIGNvbmZpZ3VyYXRpb24gZXhwZXJpZW5jZS4gSSdsbCBiZSBrZWVwaW5nIGFuIGV5ZSBvdXQgZm9yIGFueSB1bnVzdWFsIG9yIG92ZXJseSBjb21wbGV4IGFycmFuZ2VtZW50cywgd2hpY2ggbWlnaHQgaW5kaWNhdGUgYXJlYXMgdGhhdCBuZWVkIGltcHJvdmVtZW50LiBUaGlzIGlzIGp1c3QgdGhlIGZpcnN0IHN0ZXAsIGFuZCBiYXNlZCBvbiB3aGF0IEkgZmluZCwgSSBtYXkgbmVlZCB0byBkaWcgZGVlcGVyIGludG8gdGhlIGFjdHVhbCBkcml2ZXIgY29kZSB0byBmdWxseSB1bmRlcnN0YW5kIGhvdyB0aGVzZSBvcHRpb25zIGFyZSBpbXBsZW1lbnRlZCwgYnV0IEtjb25maWcgaXMgdGhlIGVzc2VudGlhbCBzdGFydGluZyBwb2ludCBmb3IgYW55IGtlcm5lbCBjb25maWd1cmF0aW9uIHdvcmsuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIwMzM0LCJPdXRwdXRUb2tlbnMiOjMyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6NTcuNjU3MDYzNzA1WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0MzIyNzU3NiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWctMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZzoyOmNvbmZpZyBORVRfVkVORE9SX0FJUk9IQVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9LY29uZmlnLTMtXFx0Ym9vbCBcXFwiQWlyb2hhIGRldmljZXNcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZz04PWlmIE5FVF9WRU5ET1JfQUlST0hBXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWctOS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZzoxMDpjb25maWcgTkVUX0FJUk9IQV9OUFVcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZy0xMS1cXHR0cmlzdGF0ZSBcXFwiQWlyb2hhIE5QVSBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWctMTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWc6MTg6Y29uZmlnIE5FVF9BSVJPSEFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZy0xOS1cXHR0cmlzdGF0ZSBcXFwiQWlyb2hhIFNvQyBHaWdhYml0IEV0aGVybmV0IHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZy0yNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvS2NvbmZpZzoyNzpjb25maWcgTkVUX0FJUk9IQV9GTE9XX1NUQVRTXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL0tjb25maWctMjgtXFx0ZGVmYXVsdCB5XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTI1NjE9c3RhdGljIGludCBhaXJvaGFfcWRtYV9nZXRfcmxfcGFyYW0oc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hLCBpbnQgcXVldWVfaWQsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI1NjUtXFx0dTMyIGlkeCA9IFFETUFfTUVURVJfSURYKHF1ZXVlX2lkKSwgZ3JvdXAgPSBRRE1BX01FVEVSX0dST1VQKHF1ZXVlX2lkKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI1NjY6XFx0dTMyIHZhbCwgY29uZmlnID0gRklFTERfUFJFUChSQVRFX0xJTUlUX1BBUkFNX1RZUEVfTUFTSywgcGFyYW0pIHxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI1NjctXFx0XFx0XFx0ICBGSUVMRF9QUkVQKFJBVEVfTElNSVRfTUVURVJfR1JPVVBfTUFTSywgZ3JvdXApIHxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MjU4ND1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX3NldF9ybF9wYXJhbShzdHJ1Y3QgYWlyb2hhX3FkbWEgKnFkbWEsIGludCBxdWV1ZV9pZCxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjU4OC1cXHR1MzIgaWR4ID0gUURNQV9NRVRFUl9JRFgocXVldWVfaWQpLCBncm91cCA9IFFETUFfTUVURVJfR1JPVVAocXVldWVfaWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjU4OTpcXHR1MzIgY29uZmlnID0gUkFURV9MSU1JVF9QQVJBTV9SV19NQVNLIHxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI1OTAtXFx0XFx0ICAgICBGSUVMRF9QUkVQKFJBVEVfTElNSVRfUEFSQU1fVFlQRV9NQVNLLCBwYXJhbSkgfFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0yNjIwPXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfc2V0X3JsX3Rva2VuX2J1Y2tldChzdHJ1Y3QgYWlyb2hhX3FkbWEgKnFkbWEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI2MzMtXFx0dGljayA9IEZJRUxEX0dFVChJTkdSRVNTX0ZBU1RfVElDS19NQVNLLCB2YWwpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjYzNDpcXHRpZiAoY29uZmlnIFxcdTAwMjYgVFJUQ01fVElDS19TRUwpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNjM1LVxcdFxcdHRpY2sgKj0gRklFTERfR0VUKElOR1JFU1NfU0xPV19USUNLX1JBVElPX01BU0ssIHZhbCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI2MzgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyNjM5OlxcdHVuaXQgPSAoY29uZmlnIFxcdTAwMjYgVFJUQ01fUEtUX01PREUpID8gMTAwMDAwMCAvIHRpY2sgOiA4MDAwIC8gdGljaztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI2NDAtXFx0aWYgKCF1bml0KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNjU0LVxcdHZhbCA9IGJ1Y2tldF9zaXplO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjY1NTpcXHRpZiAoIShjb25maWcgXFx1MDAyNiBUUlRDTV9QS1RfTU9ERSkpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNjU2LVxcdFxcdHZhbCA9IG1heF90KHUzMiwgdmFsLCBNSU5fVE9LRU5fU0laRSk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTI2ODA9c3RhdGljIGludCBhaXJvaGFfcWRtYV9nZXRfdHJ0Y21fcGFyYW0oc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hLCBpbnQgY2hhbm5lbCxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjY4NS1cXHR1MzIgaWR4ID0gUURNQV9NRVRFUl9JRFgoY2hhbm5lbCksIGdyb3VwID0gUURNQV9NRVRFUl9HUk9VUChjaGFubmVsKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI2ODY6XFx0dTMyIHZhbCwgY29uZmlnID0gRklFTERfUFJFUChUUlRDTV9QQVJBTV9UWVBFX01BU0ssIHBhcmFtKSB8XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNjg3LVxcdFxcdFxcdCAgRklFTERfUFJFUChUUlRDTV9NRVRFUl9HUk9VUF9NQVNLLCBncm91cCkgfFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0yNzA1PXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfc2V0X3RydGNtX3BhcmFtKHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSwgaW50IGNoYW5uZWwsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI3MDktXFx0dTMyIGlkeCA9IFFETUFfTUVURVJfSURYKGNoYW5uZWwpLCBncm91cCA9IFFETUFfTUVURVJfR1JPVVAoY2hhbm5lbCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyNzEwOlxcdHUzMiBjb25maWcgPSBUUlRDTV9QQVJBTV9SV19NQVNLIHxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI3MTEtXFx0XFx0ICAgICBGSUVMRF9QUkVQKFRSVENNX1BBUkFNX1RZUEVfTUFTSywgcGFyYW0pIHxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9Mjc0MT1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX3NldF90cnRjbV90b2tlbl9idWNrZXQoc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNzU0LVxcdHRpY2sgPSBGSUVMRF9HRVQoSU5HUkVTU19GQVNUX1RJQ0tfTUFTSywgdmFsKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI3NTU6XFx0aWYgKGNvbmZpZyBcXHUwMDI2IFRSVENNX1RJQ0tfU0VMKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjc1Ni1cXHRcXHR0aWNrICo9IEZJRUxEX0dFVChJTkdSRVNTX1NMT1dfVElDS19SQVRJT19NQVNLLCB2YWwpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNzU5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6Mjc2MDpcXHR1bml0ID0gKGNvbmZpZyBcXHUwMDI2IFRSVENNX1BLVF9NT0RFKSA/IDEwMDAwMDAgLyB0aWNrIDogODAwMCAvIHRpY2s7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNzYxLVxcdGlmICghdW5pdClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmM9NjkwPU1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG9mX2Fpcm9oYV9ucHVfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtNjkxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmM6NjkyOnN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyByZWdtYXBfY29uZmlnID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtNjkzLVxcdC5uYW1lXFx0XFx0XFx0PSBcXFwibnB1XFxcIixcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjU6NTcuNzAwMjk4NjQxWiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjcwNDU5ODk1MTUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudCBvZiBSZWFjaGluZyB0aGUgYE5FVF9BSVJPSEFfTlBVYCBEcml2ZXIgaW4gUUVNVSoqXG5cbk9rYXksIHNvIHRoZSB0YXNrIGlzIHRvIGZpZ3VyZSBvdXQgaWYgSSBjYW4gZ2V0IGF0IHRoaXMgYE5FVF9BSVJPSEFfTlBVYCBkcml2ZXIgd2l0aGluIGEgUUVNVSBlbnZpcm9ubWVudC4gSXQncyBhIHBsYXRmb3JtIGRyaXZlciwgd2hpY2ggaW1tZWRpYXRlbHkgcmFpc2VzIGEgZmxhZy4gU3l6a2FsbGVyIGRvZXNuJ3QgaGF2ZSBhIHN0cmFpZ2h0Zm9yd2FyZCBtZWNoYW5pc20gdG8gaW5zdGFudGlhdGUgYW55IHBsYXRmb3JtIGRyaXZlciBhdCB3aWxsIHVubGVzcyBpdCdzIGV4cGxpY2l0bHkgZGVmaW5lZCBpbiBzeXpsYW5nLCBhbmQgSSBxdWlja2x5IHJ1bGUgb3V0IHRoYXQgSSBjYW4ndCB1c2UgYHN5el9kZXZyZXNgLCBvciBkaXJlY3RseSB3cml0ZSBpbnRvIGAvc3lzL2RldmljZXMvcGxhdGZvcm1gLiBJIGNhbid0IGp1c3QgbWFnaWNhbGx5IGNyZWF0ZSBhcmJpdHJhcnkgZGV2aWNlcyB0aHJvdWdoIHN5c2ZzLCB1bmZvcnR1bmF0ZWx5LlxuXG5Ob3csIG15IG1pbmQgc2hpZnRzIHRvIGRldmljZSB0cmVlIG92ZXJsYXlzLiBTaW5jZSBTeXprYWxsZXIgKmRvZXMqIHN1cHBvcnQgRFQgb3ZlcmxheXMsIHRoYXQncyBhIHBvdGVudGlhbCBhdmVudWUuIEhvd2V2ZXIsIHRoZSBjcnV4IG9mIHRoZSBwcm9ibGVtIHNlZW1zIHRvIGJlIHRoZSBwb3RlbnRpYWwgaGFyZHdhcmUgZGVwZW5kZW5jeS4gSWYgaXQncyBhICpwbGF0Zm9ybSogZHJpdmVyLCBJJ20gdGhpbmtpbmcgU3l6a2FsbGVyICptaWdodCogaGF2ZSBhIGNoYW5jZSwgYnV0Li4uXG5cblRoZW4gSSdtIHJlbWluZGVkIG9mIHRoZSBwcm9tcHQncyB3YXJuaW5nOiBcIkNvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMuLi4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMuLi4gdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXCIgVGhpcyBpcyBjcnVjaWFsLiBJdCdzIGEgdmVuZG9yLXNwZWNpZmljIFNvQyBwbGF0Zm9ybSBkcml2ZXIsIHJlbGF0ZWQgdG8gQWlyb2hhJ3MgTlBVLiBJdCAqc291bmRzKiBsaWtlIGl0IHdvdWxkIHJlcXVpcmUgdGhhdCBzcGVjaWZpYyBBaXJvaGEgU29DLlxuXG5CdXQgaG9sZCBvbiwgZG9lcyBpdCAqcmVhbGx5KiBuZWVkIHRoZSBhY3R1YWwgaGFyZHdhcmU/IEkgbmVlZCB0byBiZSBzdXJlLiBNeSBuZXh0IHN0ZXAgaXMgY2xlYXI6IEkgbmVlZCB0byBzY3J1dGluaXplIHRoZSBgYWlyb2hhX25wdV9wcm9iZWAgZnVuY3Rpb24uIFRoYXQncyB0aGUga2V5IHRvIHVuZGVyc3RhbmRpbmcgaWYgdGhlcmUncyBhbnkgaGFyZHdhcmUtc3BlY2lmaWMgY2hlY2sgaW4gdGhlcmUgdGhhdCBJJ2QgbmVlZCB0byBieXBhc3MuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIyNzU2LCJPdXRwdXRUb2tlbnMiOjQ2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzI4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTIwVDA5OjI2OjA0Ljc0NjI5MTUwN1oiLCJTZXEiOjE0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMTEyNzEsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuY1wiLFxuICBcIkZpcnN0TGluZVwiOiA2OTAsXG4gIFwiTGluZUNvdW50XCI6IDEwMFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgNjkwOlxcdE1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG9mX2Fpcm9oYV9ucHVfbWF0Y2gpO1xcbiA2OTE6XFx0XFxuIDY5MjpcXHRzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9jb25maWcgcmVnbWFwX2NvbmZpZyA9IHtcXG4gNjkzOlxcdFxcdC5uYW1lXFx0XFx0XFx0PSBcXFwibnB1XFxcIixcXG4gNjk0OlxcdFxcdC5yZWdfYml0c1xcdFxcdD0gMzIsXFxuIDY5NTpcXHRcXHQudmFsX2JpdHNcXHRcXHQ9IDMyLFxcbiA2OTY6XFx0XFx0LnJlZ19zdHJpZGVcXHRcXHQ9IDQsXFxuIDY5NzpcXHRcXHQuZGlzYWJsZV9sb2NraW5nXFx0PSB0cnVlLFxcbiA2OTg6XFx0fTtcXG4gNjk5OlxcdFxcbiA3MDA6XFx0c3RhdGljIGludCBhaXJvaGFfbnB1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXFxuIDcwMTpcXHR7XFxuIDcwMjpcXHRcXHRzdHJ1Y3QgZGV2aWNlICpkZXYgPSBcXHUwMDI2cGRldi1cXHUwMDNlZGV2O1xcbiA3MDM6XFx0XFx0c3RydWN0IGFpcm9oYV9ucHUgKm5wdTtcXG4gNzA0OlxcdFxcdHN0cnVjdCByZXNvdXJjZSByZXM7XFxuIDcwNTpcXHRcXHR2b2lkIF9faW9tZW0gKmJhc2U7XFxuIDcwNjpcXHRcXHRpbnQgaSwgaXJxLCBlcnI7XFxuIDcwNzpcXHRcXHR1MzIgdmFsO1xcbiA3MDg6XFx0XFxuIDcwOTpcXHRcXHRiYXNlID0gZGV2bV9wbGF0Zm9ybV9pb3JlbWFwX3Jlc291cmNlKHBkZXYsIDApO1xcbiA3MTA6XFx0XFx0aWYgKElTX0VSUihiYXNlKSlcXG4gNzExOlxcdFxcdFxcdHJldHVybiBQVFJfRVJSKGJhc2UpO1xcbiA3MTI6XFx0XFxuIDcxMzpcXHRcXHRucHUgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKm5wdSksIEdGUF9LRVJORUwpO1xcbiA3MTQ6XFx0XFx0aWYgKCFucHUpXFxuIDcxNTpcXHRcXHRcXHRyZXR1cm4gLUVOT01FTTtcXG4gNzE2OlxcdFxcbiA3MTc6XFx0XFx0bnB1LVxcdTAwM2VkZXYgPSBkZXY7XFxuIDcxODpcXHRcXHRucHUtXFx1MDAzZW9wcy5wcGVfaW5pdCA9IGFpcm9oYV9ucHVfcHBlX2luaXQ7XFxuIDcxOTpcXHRcXHRucHUtXFx1MDAzZW9wcy5wcGVfZGVpbml0ID0gYWlyb2hhX25wdV9wcGVfZGVpbml0O1xcbiA3MjA6XFx0XFx0bnB1LVxcdTAwM2VvcHMucHBlX2luaXRfc3RhdHMgPSBhaXJvaGFfbnB1X3BwZV9zdGF0c19zZXR1cDtcXG4gNzIxOlxcdFxcdG5wdS1cXHUwMDNlb3BzLnBwZV9mbHVzaF9zcmFtX2VudHJpZXMgPSBhaXJvaGFfbnB1X3BwZV9mbHVzaF9zcmFtX2VudHJpZXM7XFxuIDcyMjpcXHRcXHRucHUtXFx1MDAzZW9wcy5wcGVfZm9lX2NvbW1pdF9lbnRyeSA9IGFpcm9oYV9ucHVfZm9lX2NvbW1pdF9lbnRyeTtcXG4gNzIzOlxcdFxcdG5wdS1cXHUwMDNlb3BzLndsYW5faW5pdF9yZXNlcnZlZF9tZW1vcnkgPSBhaXJvaGFfbnB1X3dsYW5faW5pdF9tZW1vcnk7XFxuIDcyNDpcXHRcXHRucHUtXFx1MDAzZW9wcy53bGFuX3NlbmRfbXNnID0gYWlyb2hhX25wdV93bGFuX21zZ19zZW5kO1xcbiA3MjU6XFx0XFx0bnB1LVxcdTAwM2VvcHMud2xhbl9nZXRfbXNnID0gYWlyb2hhX25wdV93bGFuX21zZ19nZXQ7XFxuIDcyNjpcXHRcXHRucHUtXFx1MDAzZW9wcy53bGFuX2dldF9xdWV1ZV9hZGRyID0gYWlyb2hhX25wdV93bGFuX3F1ZXVlX2FkZHJfZ2V0O1xcbiA3Mjc6XFx0XFx0bnB1LVxcdTAwM2VvcHMud2xhbl9zZXRfaXJxX3N0YXR1cyA9IGFpcm9oYV9ucHVfd2xhbl9pcnFfc3RhdHVzX3NldDtcXG4gNzI4OlxcdFxcdG5wdS1cXHUwMDNlb3BzLndsYW5fZ2V0X2lycV9zdGF0dXMgPSBhaXJvaGFfbnB1X3dsYW5faXJxX3N0YXR1c19nZXQ7XFxuIDcyOTpcXHRcXHRucHUtXFx1MDAzZW9wcy53bGFuX2VuYWJsZV9pcnEgPSBhaXJvaGFfbnB1X3dsYW5faXJxX2VuYWJsZTtcXG4gNzMwOlxcdFxcdG5wdS1cXHUwMDNlb3BzLndsYW5fZGlzYWJsZV9pcnEgPSBhaXJvaGFfbnB1X3dsYW5faXJxX2Rpc2FibGU7XFxuIDczMTpcXHRcXG4gNzMyOlxcdFxcdG5wdS1cXHUwMDNlcmVnbWFwID0gZGV2bV9yZWdtYXBfaW5pdF9tbWlvKGRldiwgYmFzZSwgXFx1MDAyNnJlZ21hcF9jb25maWcpO1xcbiA3MzM6XFx0XFx0aWYgKElTX0VSUihucHUtXFx1MDAzZXJlZ21hcCkpXFxuIDczNDpcXHRcXHRcXHRyZXR1cm4gUFRSX0VSUihucHUtXFx1MDAzZXJlZ21hcCk7XFxuIDczNTpcXHRcXG4gNzM2OlxcdFxcdGVyciA9IG9mX3Jlc2VydmVkX21lbV9yZWdpb25fdG9fcmVzb3VyY2UoZGV2LVxcdTAwM2VvZl9ub2RlLCAwLCBcXHUwMDI2cmVzKTtcXG4gNzM3OlxcdFxcdGlmIChlcnIpXFxuIDczODpcXHRcXHRcXHRyZXR1cm4gZXJyO1xcbiA3Mzk6XFx0XFxuIDc0MDpcXHRcXHRpcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApO1xcbiA3NDE6XFx0XFx0aWYgKGlycSBcXHUwMDNjIDApXFxuIDc0MjpcXHRcXHRcXHRyZXR1cm4gaXJxO1xcbiA3NDM6XFx0XFxuIDc0NDpcXHRcXHRlcnIgPSBkZXZtX3JlcXVlc3RfaXJxKGRldiwgaXJxLCBhaXJvaGFfbnB1X21ib3hfaGFuZGxlcixcXG4gNzQ1OlxcdFxcdFxcdFxcdCAgICAgICBJUlFGX1NIQVJFRCwgXFxcImFpcm9oYS1ucHUtbWJveFxcXCIsIG5wdSk7XFxuIDc0NjpcXHRcXHRpZiAoZXJyKVxcbiA3NDc6XFx0XFx0XFx0cmV0dXJuIGVycjtcXG4gNzQ4OlxcdFxcbiA3NDk6XFx0XFx0Zm9yIChpID0gMDsgaSBcXHUwMDNjIEFSUkFZX1NJWkUobnB1LVxcdTAwM2Vjb3Jlcyk7IGkrKykge1xcbiA3NTA6XFx0XFx0XFx0c3RydWN0IGFpcm9oYV9ucHVfY29yZSAqY29yZSA9IFxcdTAwMjZucHUtXFx1MDAzZWNvcmVzW2ldO1xcbiA3NTE6XFx0XFxuIDc1MjpcXHRcXHRcXHRzcGluX2xvY2tfaW5pdChcXHUwMDI2Y29yZS1cXHUwMDNlbG9jayk7XFxuIDc1MzpcXHRcXHRcXHRjb3JlLVxcdTAwM2VucHUgPSBucHU7XFxuIDc1NDpcXHRcXG4gNzU1OlxcdFxcdFxcdGlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgaSArIDEpO1xcbiA3NTY6XFx0XFx0XFx0aWYgKGlycSBcXHUwMDNjIDApXFxuIDc1NzpcXHRcXHRcXHRcXHRyZXR1cm4gaXJxO1xcbiA3NTg6XFx0XFxuIDc1OTpcXHRcXHRcXHRlcnIgPSBkZXZtX3JlcXVlc3RfaXJxKGRldiwgaXJxLCBhaXJvaGFfbnB1X3dkdF9oYW5kbGVyLFxcbiA3NjA6XFx0XFx0XFx0XFx0XFx0ICAgICAgIElSUUZfU0hBUkVELCBcXFwiYWlyb2hhLW5wdS13ZHRcXFwiLCBjb3JlKTtcXG4gNzYxOlxcdFxcdFxcdGlmIChlcnIpXFxuIDc2MjpcXHRcXHRcXHRcXHRyZXR1cm4gZXJyO1xcbiA3NjM6XFx0XFxuIDc2NDpcXHRcXHRcXHRJTklUX1dPUksoXFx1MDAyNmNvcmUtXFx1MDAzZXdkdF93b3JrLCBhaXJvaGFfbnB1X3dkdF93b3JrKTtcXG4gNzY1OlxcdFxcdH1cXG4gNzY2OlxcdFxcbiA3Njc6XFx0XFx0Lyogd2xhbiBJUlEgbGluZXMgKi9cXG4gNzY4OlxcdFxcdGZvciAoaSA9IDA7IGkgXFx1MDAzYyBBUlJBWV9TSVpFKG5wdS1cXHUwMDNlaXJxcyk7IGkrKykge1xcbiA3Njk6XFx0XFx0XFx0aXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCBpICsgQVJSQVlfU0laRShucHUtXFx1MDAzZWNvcmVzKSArIDEpO1xcbiA3NzA6XFx0XFx0XFx0aWYgKGlycSBcXHUwMDNjIDApXFxuIDc3MTpcXHRcXHRcXHRcXHRyZXR1cm4gaXJxO1xcbiA3NzI6XFx0XFxuIDc3MzpcXHRcXHRcXHRucHUtXFx1MDAzZWlycXNbaV0gPSBpcnE7XFxuIDc3NDpcXHRcXHR9XFxuIDc3NTpcXHRcXG4gNzc2OlxcdFxcdGVyciA9IGRtYV9zZXRfbWFza19hbmRfY29oZXJlbnQoZGV2LCBETUFfQklUX01BU0soMzIpKTtcXG4gNzc3OlxcdFxcdGlmIChlcnIpXFxuIDc3ODpcXHRcXHRcXHRyZXR1cm4gZXJyO1xcbiA3Nzk6XFx0XFxuIDc4MDpcXHRcXHRlcnIgPSBhaXJvaGFfbnB1X3J1bl9maXJtd2FyZShkZXYsIGJhc2UsIFxcdTAwMjZyZXMpO1xcbiA3ODE6XFx0XFx0aWYgKGVycilcXG4gNzgyOlxcdFxcdFxcdHJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgZXJyLCBcXFwiZmFpbGVkIHRvIHJ1biBucHUgZmlybXdhcmVcXFxcblxcXCIpO1xcbiA3ODM6XFx0XFxuIDc4NDpcXHRcXHRyZWdtYXBfd3JpdGUobnB1LVxcdTAwM2VyZWdtYXAsIFJFR19DUl9OUFVfTUlCKDEwKSxcXG4gNzg1OlxcdFxcdFxcdCAgICAgcmVzLnN0YXJ0ICsgTlBVX0VONzU4MV9GSVJNV0FSRV9SVjMyX01BWF9TSVpFKTtcXG4gNzg2OlxcdFxcdHJlZ21hcF93cml0ZShucHUtXFx1MDAzZXJlZ21hcCwgUkVHX0NSX05QVV9NSUIoMTEpLCAweDQwMDAwKTsgLyogU1JBTSAyNTZLICovXFxuIDc4NzpcXHRcXHRyZWdtYXBfd3JpdGUobnB1LVxcdTAwM2VyZWdtYXAsIFJFR19DUl9OUFVfTUlCKDEyKSwgMCk7XFxuIDc4ODpcXHRcXHRyZWdtYXBfd3JpdGUobnB1LVxcdTAwM2VyZWdtYXAsIFJFR19DUl9OUFVfTUlCKDIxKSwgMSk7XFxuIDc4OTpcXHRcXHRtc2xlZXAoMTAwKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjY6MDQuNzQ2NDA0NTQ3WiIsIlNlcSI6MTUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjExMjYyNzkzNjY2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQ6IFRoaXMgUGF0Y2ggaXMgTm90IFdvcnRoIEZ1enppbmcqKlxuXG5Pa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uIFRoZSBjb2RlIHRvdWNoZXMgdGhlIGBhaXJvaGFfbnB1YCBkcml2ZXIuIEZpcnN0IHRoaW5nIHRoYXQganVtcHMgb3V0IGlzIGl0J3MgdXNpbmcgYG9mX3Jlc2VydmVkX21lbV9yZWdpb25fdG9fcmVzb3VyY2VgLiBUaGF0IHNjcmVhbXMgXCJkZXZpY2UgdHJlZVwiIGFuZCByZXNlcnZlZCBtZW1vcnksIHdoaWNoIGltbWVkaWF0ZWx5IG1ha2VzIG1lIHRoaW5rIGFib3V0IHdoZXRoZXIgdGhpcyBpcyBldmVuICpwb3NzaWJsZSogaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudC4gVGhlIGZhY3QgdGhhdCBpdCBsb2FkcyBmaXJtd2FyZSB3aXRoIGBhaXJvaGFfbnB1X3J1bl9maXJtd2FyZWAganVzdCByZWluZm9yY2VzIHRoYXQgdGhpcyBpcyBsaWtlbHkgdGllZCB0byB2ZXJ5IHNwZWNpZmljIGhhcmR3YXJlLlxuXG5JdCdzIGEgcGxhdGZvcm0gZHJpdmVyLCBidXQgZm9yIHdoYXQ/IEFoYSwgaXQncyBmb3IgYW4gQWlyb2hhIFNvQy4gRGVmaW5pdGVseSB2ZW5kb3Itc3BlY2lmaWMuIEdDRSBhbmQgc3RhbmRhcmQgUUVNVT8gTm8gd2F5LiBUaGlzIG5lZWRzIGEgdGFpbG9yZWQgZGV2aWNlIHRyZWUgYW5kIHByb2JhYmx5IHNvbWUgY3VzdG9tIFNvQyBlbXVsYXRpb24uIFN5emthbGxlcidzIG5vdCBnb2luZyB0byBqdXN0IG1hZ2ljYWxseSBjb25qdXJlIHVwIHRoZSByaWdodCBwbGF0Zm9ybSBkZXZpY2UuIEkgdGhvdWdodCBtYXliZSBJIGNvdWxkIHVzZSBzeXpfZGV2cmVzLCBidXQgdGhhdCdzIG5vdCBhIGdlbmVyaWMgc29sdXRpb24sIGFuZCBldmVuIGlmIGl0ICp3YXMqLCB3ZSdyZSBzdGlsbCBzdHVjayB3aXRoIHRoZSBmaXJtd2FyZSByZXF1aXJlbWVudCBhbmQgcmVzZXJ2ZWQgbWVtb3J5LlxuXG5JIGRvbid0IGhhdmUgZGlyZWN0IGFjY2VzcyB0byBzeXprYWxsZXIncyByZXBvcnRzLCBidXQgSSBjYW4gaW5mZXIgYmFzZWQgb24gdGhlIGRyaXZlciB0eXBlLiBUaGUgcHJvbXB0J3MgY2xlYXI6IFZlbmRvci1zcGVjaWZpYyBzdHVmZiB0aGF0IG5lZWRzIHBoeXNpY2FsIGhhcmR3YXJlICpub3QqIGVtdWxhdGVkIGJ5IHN0YW5kYXJkIFFFTVU/IFdvcnRoRnV6emluZz1mYWxzZS4gVGhpcyBmaXRzIHRoZSBiaWxsIHBlcmZlY3RseS5cblxuTGV0J3MgZG91YmxlLWNoZWNr4oCmIFllYWgsIGBhaXJvaGFfbnB1X3Byb2JlYCB0YWtlcyBhIGBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2YC4gSXQncyB1c2luZyBwbGF0Zm9ybS1zcGVjaWZpYyByZXNvdXJjZSBtYW5hZ2VtZW50IGZ1bmN0aW9ucywgYW5kIGl0J3MgbG9va2luZyBmb3IgYSBzcGVjaWZpYyBkZXZpY2UgdHJlZSBub2RlIChcImFpcm9oYSxlbjc1ODEtbnB1XCIpLiBNeSBzdGFuZGFyZCBRRU1VIHNldHVwIChvciBldmVuIGEgZ2VuZXJpYyBgcWVtdS1zeXN0ZW0tYWFyY2g2NCAtTSB2aXJ0YCkgc3VyZSBhcyBoZWxsIHdvbid0IGhhdmUgdGhhdCBkZXZpY2UuXG5cblN5emthbGxlciBpc24ndCBnb2luZyB0byBoYXZlIGFuIGVhc3kgdGltZSBpbnN0YW50aWF0aW5nIHRoaXM7IGl0IHdvdWxkIG5lZWQgdG8ga25vdyBhYm91dCB0aGUgcmVzZXJ2ZWQgbWVtb3J5IHJlZ2lvbnMsIGhhdmUgdGhlIGZpcm13YXJlIGFuZCBkZXZpY2UgdHJlZS5cblxuVGhlcmVmb3JlLCB0aGlzIGlzIGEgZGVhZCBlbmQgZm9yIGZ1enppbmcuXG5JJ20gZ29pbmcgdG8gcmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZS4gVGhpcyBpcyBhIG5vbi1zdGFydGVyIGZvciBmdXp6aW5nLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTQyMSwiT3V0cHV0VG9rZW5zIjoxMDgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3ODMsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0yMFQwOToyNjoxNi4wMDkyMDEzOTNaIiwiU2VxIjoxNiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMzg2MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW10sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgYWlyb2hhX25wdSBkcml2ZXIsIHdoaWNoIGlzIGEgdmVuZG9yLXNwZWNpZmljIHBsYXRmb3JtIGRyaXZlciBmb3IgdGhlIEFpcm9oYSBFTjc1ODEgU29DLiBUaGlzIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBoYXJkd2FyZSBhbmQgZGV2aWNlIHRyZWUgY29uZmlndXJhdGlvbnMgKGluY2x1ZGluZyByZXNlcnZlZCBtZW1vcnkgcmVnaW9ucyBhbmQgZmlybXdhcmUpIHRoYXQgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cyB1c2VkIGZvciBmdXp6aW5nLiBUaGVyZWZvcmUsIHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGFyZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBhaXJvaGFfbnB1IGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVyIGZvciB0aGUgQWlyb2hhIEVONzU4MSBTb0MuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIGhhcmR3YXJlIGFuZCBkZXZpY2UgdHJlZSBjb25maWd1cmF0aW9ucyAoaW5jbHVkaW5nIHJlc2VydmVkIG1lbW9yeSByZWdpb25zIGFuZCBmaXJtd2FyZSkgdGhhdCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzIHVzZWQgZm9yIGZ1enppbmcuIFRoZXJlZm9yZSwgdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgYXJlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjBUMDk6MjY6MTYuMDA5MjI4NzAzWiIsIlNlcSI6MTcsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoiSWYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxODEwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },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-workflowp6hlz[1] Phase: Running StartedAt: 2026-08-20 09:26:27 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowp6hlz[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-08-20 09:26:27 +0000 UTC FinishedAt: 2026-08-20 09:26:32 +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,}