Name: series-workflowzsq6g Phase: Failed StartedAt: 2026-08-14 13:55:49 +0000 UTC FinishedAt: 2026-08-14 14:28:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflowzsq6g[0] Phase: Succeeded StartedAt: 2026-08-14 13:55:49 +0000 UTC FinishedAt: 2026-08-14 14:28:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowzsq6g[0].run-triage Phase: Succeeded StartedAt: 2026-08-14 13:55:49 +0000 UTC FinishedAt: 2026-08-14 14:28:13 +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+CgkJCTx0ZD4yMDI2LzA4LzE0IDE0OjI2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIENoZWxzaW8gY3hnYjMgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIG5ldHdvcmsgYWRhcHRlciBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE0IDE0OjI2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgNGNmZGU4Zjc5YTcwNWNiY2Y5YTkzZjY3MTRmODc3YjdhMzI0ZjdkN1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgQXVnIDE0IDE0OjI2OjUxIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvdDNfaHcuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvdDNfaHcuY1xuaW5kZXggYTA2MDAzYmZhMDRiOS4uY2MwNGQyMTU2NDI1MyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvdDNfaHcuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy90M19ody5jXG5AQCAtMTE4MCw3ICYjNDM7MTE4MCw4IEBAIHZvaWQgdDNfbGlua19jaGFuZ2VkKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLCBpbnQgcG9ydF9pZClcbiBcdHN0cnVjdCBjbWFjICptYWMgPSBcdTAwMjZwaS1cdTAwM2VtYWM7XG4gXHRzdHJ1Y3QgbGlua19jb25maWcgKmxjID0gXHUwMDI2cGktXHUwMDNlbGlua19jb25maWc7XG4gXG4tXHRwaHktXHUwMDNlb3BzLVx1MDAzZWdldF9saW5rX3N0YXR1cyhwaHksIFx1MDAyNmxpbmtfb2ssIFx1MDAyNnNwZWVkLCBcdTAwMjZkdXBsZXgsIFx1MDAyNmZjKTtcbiYjNDM7XHRpZiAocGh5LVx1MDAzZW9wcy1cdTAwM2VnZXRfbGlua19zdGF0dXMocGh5LCBcdTAwMjZsaW5rX29rLCBcdTAwMjZzcGVlZCwgXHUwMDI2ZHVwbGV4LCBcdTAwMjZmYykpXG4mIzQzO1x0XHRyZXR1cm47XG4gXG4gXHRpZiAoIWxjLVx1MDAzZWxpbmtfb2sgXHUwMDI2XHUwMDI2IGxpbmtfb2spIHtcbiBcdFx0dTMyIHJ4X2NmZywgcnhfaGFzaF9oaWdoLCByeF9oYXNoX2xvdztcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNCAxNDoyNjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4xbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIENoZWxzaW8gY3hnYjMgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIG5ldHdvcmsgYWRhcHRlciBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNGNmZGU4Zjc5YTcwNWNiY2Y5YTkzZjY3MTRmODc3YjdhMzI0ZjdkNwpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBGcmkgQXVnIDE0IDE0OjI2OjUxIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy90M19ody5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy90M19ody5jCmluZGV4IGEwNjAwM2JmYTA0YjkuLmNjMDRkMjE1NjQyNTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvdDNfaHcuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL3QzX2h3LmMKQEAgLTExODAsNyAmIzQzOzExODAsOCBAQCB2b2lkIHQzX2xpbmtfY2hhbmdlZChzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgaW50IHBvcnRfaWQpCiAJc3RydWN0IGNtYWMgKm1hYyA9ICZhbXA7cGktJmd0O21hYzsKIAlzdHJ1Y3QgbGlua19jb25maWcgKmxjID0gJmFtcDtwaS0mZ3Q7bGlua19jb25maWc7CiAKLQlwaHktJmd0O29wcy0mZ3Q7Z2V0X2xpbmtfc3RhdHVzKHBoeSwgJmFtcDtsaW5rX29rLCAmYW1wO3NwZWVkLCAmYW1wO2R1cGxleCwgJmFtcDtmYyk7CiYjNDM7CWlmIChwaHktJmd0O29wcy0mZ3Q7Z2V0X2xpbmtfc3RhdHVzKHBoeSwgJmFtcDtsaW5rX29rLCAmYW1wO3NwZWVkLCAmYW1wO2R1cGxleCwgJmFtcDtmYykpCiYjNDM7CQlyZXR1cm47CiAKIAlpZiAoIWxjLSZndDtsaW5rX29rICZhbXA7JmFtcDsgbGlua19vaykgewogCQl1MzIgcnhfY2ZnLCByeF9oYXNoX2hpZ2gsIHJ4X2hhc2hfbG93Owo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNCAxNDoyNjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDg5CgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogMjY0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIFBhdGNoJiMzOTtzIFdvcnRoaW5lc3MgZm9yIEZ1enppbmcqKgoKT2theSwgc28gdGhpcyBwYXRjaCB0b3VjaGVzIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL3QzX2h3LmNgLiBUaGF0JiMzOTtzIGEgQ2hlbHNpbyBkcml2ZXIsIHNwZWNpZmljYWxseSBmb3IgdGhlaXIgVDMgMTBHYkUgYW5kIDFHYkUgYWRhcHRlcnMuIFdlJiMzOTtyZSB0YWxraW5nIGFib3V0IHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgaGVyZSwgcmlnaHQ/IE15IGluaXRpYWwgdGhvdWdodCBpcywgY2FuIHRoaXMgYmUgcmVhbGlzdGljYWxseSBmdXp6ZWQgaW4gYSBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50PyBDaGVsc2lvIGNhcmRzICp1c3VhbGx5KiBhcmVuJiMzOTt0IGVtdWxhdGVkIHRoYXQgd2VsbC4gTGV0JiMzOTtzIHF1aWNrbHkgdmVyaWZ5IGlmIHRoZXJlJiMzOTtzICphbnkqIGN4Z2IzIGVtdWxhdGlvbiBhdmFpbGFibGUgaW4gUUVNVSDigJMganVzdCB0byBiZSB0aG9yb3VnaC4KCkFoLCB3YWl0IGEgc2Vjb25kLCBsZXQgbWUgY2hlY2sgdGhlIHNwZWNpZmljIGluc3RydWN0aW9ucy4uLiBBaC1oYSEgJiMzNDtSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zIGNvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMuLi4gdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuJiMzNDsKClJpZ2h0LCBjeGdiMyAqaXMqIGEgdmVuZG9yLXNwZWNpZmljIFBDSWUgTklDIGRyaXZlci4gVGhhdOKAmXMgYSBrZXkgcGllY2Ugb2YgaW5mb3JtYXRpb24uIFNvLCByZWFsaXN0aWNhbGx5LCB0aGUgcXVlc3Rpb24gYmVjb21lczogaXMgdGhlcmUgYW55IHBsYXVzaWJsZSBwYXRoIHRvIGV4ZXJjaXNpbmcgdGhpcyBjb2RlIGluIGEgdmlydHVhbGl6ZWQgc2V0dGluZz8gQW5kIGlmIEkmIzM5O20gaG9uZXN0IHdpdGggbXlzZWxmLCB0aGUgYW5zd2VyIGlzIHByb2JhYmx5IG5vLiBXZSYjMzk7cmUgbW9zdCBsaWtlbHkgdGFsa2luZyBhYm91dCBhIGhhcmQgcmVxdWlyZW1lbnQgZm9yIHBoeXNpY2FsIGhhcmR3YXJlIGhlcmUuIExldCBtZSBqdXN0IGNvbmZpcm0gdGhhdCBjeGdiMyAqaXMqIGluZGVlZCBhIFBDSWUgZHJpdmVyIGFuZCBJJiMzOTttIGdvb2QuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTQgMTQ6Mjc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y3hnYjMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgNTg1IGxpbmVzLlxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxuXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL01ha2VmaWxlLTUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL01ha2VmaWxlOjY6b2JqLSQoQ09ORklHX0NIRUxTSU9fVDMpICYjNDM7PSBjeGdiMy5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL01ha2VmaWxlLTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL01ha2VmaWxlOjg6Y3hnYjMtb2JqcyA6PSBjeGdiM19tYWluLm8gYWVsMTAwMi5vIHZzYzgyMTEubyB0M19ody5vIG1jNS5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL01ha2VmaWxlOjk6XHQgICAgICB4Z21hYy5vIHNnZS5vIGwydC5vIGN4Z2IzX29mZmxvYWQubyBhcTEwMHgub1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvYWRhcHRlci5oPTMyNj1pbnQgdDNfc2dlX2FsbG9jX3FzZXQoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIHVuc2lnbmVkIGludCBpZCwgaW50IG5wb3J0cyxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2FkYXB0ZXIuaC0zMjktXHRcdCAgICAgIHN0cnVjdCBuZXRkZXZfcXVldWUgKm5ldGRldnEpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9hZGFwdGVyLmg6MzMwOmV4dGVybiBzdHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqY3hnYjNfd3E7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2FkYXB0ZXIuaC0zMzEtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jb21tb24uaD03NzA9aW50IHQzX2FxMTAweF9waHlfcHJlcChzdHJ1Y3QgY3BoeSAqcGh5LCBzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlcixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2NvbW1vbi5oLTc3Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY29tbW9uLmg6NzczOmV4dGVybiBzdHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqY3hnYjNfd3E7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2NvbW1vbi5oLTc3NC0jZW5kaWZcdFx0XHRcdC8qIF9fQ0hFTFNJT19DT01NT05fSCAqL1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfZGVmcy5oLTM5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19kZWZzLmg6NDA6I2luY2x1ZGUgXCYjMzQ7Y3hnYjNfb2ZmbG9hZC5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX2RlZnMuaC00MS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy01NS0jaW5jbHVkZSBcJiMzNDtjb21tb24uaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6NTY6I2luY2x1ZGUgXCYjMzQ7Y3hnYjNfaW9jdGwuaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtNTctI2luY2x1ZGUgXCYjMzQ7cmVncy5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo1ODojaW5jbHVkZSBcJiMzNDtjeGdiM19vZmZsb2FkLmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTU5LSNpbmNsdWRlIFwmIzM0O3ZlcnNpb24uaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtNjAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo2MTojaW5jbHVkZSBcJiMzNDtjeGdiM19jdGxfZGVmcy5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy02Mi0jaW5jbHVkZSBcJiMzNDt0M19jcGwuaFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTY1PWVudW0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTg3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6ODg6c3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIGN4Z2IzX3BjaV90YmxbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTg5LVx0Q0hfREVWSUNFKDB4MjAsIDApLFx0LyogUEU5MDAwICovXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9MTA3PU1PRFVMRV9MSUNFTlNFKFwmIzM0O0R1YWwgQlNEL0dQTFwmIzM0Oyk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxMDg6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIGN4Z2IzX3BjaV90YmwpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTA5LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTEzNz1NT0RVTEVfUEFSTV9ERVNDKG9mbGRfZGlzYWJsZSwgXCYjMzQ7d2hldGhlciB0byBlbmFibGUgb2ZmbG9hZCBhdCBpbml0IHRpbWUgb3Igbm90XCYjMzQ7KTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDYtICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxNDc6c3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKmN4Z2IzX3dxO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTQ4LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTc4ND1DWEdCM19BVFRSX1JXKG5zZXJ2ZXJzLCBhZGFwLVx1MDAzZXBhcmFtcy5tYzUubnNlcnZlcnMsIHN0b3JlX25zZXJ2ZXJzKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTc4NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjc4NjpzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqY3hnYjNfYXR0cnNbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTc4Ny1cdFx1MDAyNmRldl9hdHRyX2NhbV9zaXplLmF0dHIsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtNzkyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6NzkzOnN0YXRpYyBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGN4Z2IzX2F0dHJfZ3JvdXAgPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo3OTQ6XHQuYXR0cnMgPSBjeGdiM19hdHRycyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTc5NS19O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTk3MT1zdGF0aWMgaW50IGJpbmRfcXNldHMoc3RydWN0IGFkYXB0ZXIgKmFkYXApXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtOTkxLVx0X19zdHJpbmdpZnkoRldfVkVSU0lPTl9NSU5PUikgXCYjMzQ7LlwmIzM0OyBfX3N0cmluZ2lmeShGV19WRVJTSU9OX01JQ1JPKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6OTkyOiNkZWZpbmUgRldfRk5BTUUgXCYjMzQ7Y3hnYjMvdDNmdy1cJiMzNDsgRldfVkVSU0lPTiBcJiMzNDsuYmluXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy05OTMtI2RlZmluZSBUUFNSQU1fVkVSU0lPTiBfX3N0cmluZ2lmeShUUF9WRVJTSU9OX01BSk9SKSBcJiMzNDsuXCYjMzQ7XHRcdFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy05OTQtXHRfX3N0cmluZ2lmeShUUF9WRVJTSU9OX01JTk9SKSBcJiMzNDsuXCYjMzQ7IF9fc3RyaW5naWZ5KFRQX1ZFUlNJT05fTUlDUk8pXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo5OTU6I2RlZmluZSBUUFNSQU1fTkFNRSBcJiMzNDtjeGdiMy90MyVjX3BzcmFtLVwmIzM0OyBUUFNSQU1fVkVSU0lPTiBcJiMzNDsuYmluXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo5OTY6I2RlZmluZSBBRUwyMDA1X09QVF9FRENfTkFNRSBcJiMzNDtjeGdiMy9hZWwyMDA1X29wdF9lZGMuYmluXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo5OTc6I2RlZmluZSBBRUwyMDA1X1RXWF9FRENfTkFNRSBcJiMzNDtjeGdiMy9hZWwyMDA1X3R3eF9lZGMuYmluXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo5OTg6I2RlZmluZSBBRUwyMDIwX1RXWF9FRENfTkFNRSBcJiMzNDtjeGdiMy9hZWwyMDIwX3R3eF9lZGMuYmluXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy05OTktTU9EVUxFX0ZJUk1XQVJFKEZXX0ZOQU1FKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjEwMDA6TU9EVUxFX0ZJUk1XQVJFKFwmIzM0O2N4Z2IzL3QzYl9wc3JhbS1cJiMzNDsgVFBTUkFNX1ZFUlNJT04gXCYjMzQ7LmJpblwmIzM0Oyk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxMDAxOk1PRFVMRV9GSVJNV0FSRShcJiMzNDtjeGdiMy90M2NfcHNyYW0tXCYjMzQ7IFRQU1JBTV9WRVJTSU9OIFwmIzM0Oy5iaW5cJiMzNDspO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTAwMi1NT0RVTEVfRklSTVdBUkUoQUVMMjAwNV9PUFRfRURDX05BTUUpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTEzMjE9c3RhdGljIHZvaWQgY3hnYl9kb3duKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLCBpbnQgb25fd3EpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTMzMS1cdGlmICghb25fd3EpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxMzMyOlx0XHRmbHVzaF93b3JrcXVldWUoY3hnYjNfd3EpOy8qIHdhaXQgZm9yIGV4dGVybmFsIElSUSBoYW5kbGVyICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzMzLX1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0xMzM1PXN0YXRpYyB2b2lkIHNjaGVkdWxlX2Noa190YXNrKHN0cnVjdCBhZGFwdGVyICphZGFwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTEzNDItXHRpZiAodGltZW8pXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxMzQzOlx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoY3hnYjNfd3EsIFx1MDAyNmFkYXAtXHUwMDNlYWRhcF9jaGVja190YXNrLCB0aW1lbyk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzQ0LX1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0xMzQ2PXN0YXRpYyBpbnQgb2ZmbG9hZF9vcGVuKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM2MS1cdHRkZXYtXHUwMDNlbGxkZXYgPSBhZGFwdGVyLVx1MDAzZXBvcnRbMF07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxMzYyOlx0ZXJyID0gY3hnYjNfb2ZmbG9hZF9hY3RpdmF0ZShhZGFwdGVyKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTEzNjMtXHRpZiAoZXJyKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTEzNzYtXHQvKiBDYWxsIGJhY2sgYWxsIHJlZ2lzdGVyZWQgY2xpZW50cyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MTM3NzpcdGN4Z2IzX2FkZF9jbGllbnRzKHRkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM3OC1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzgzLVx0XHRjbGVhcl9iaXQoT0ZGTE9BRF9ERVZNQVBfQklULCBcdTAwMjZhZGFwdGVyLVx1MDAzZW9wZW5fZGV2aWNlX21hcCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxMzg0Olx0XHRjeGdiM19zZXRfZHVtbXlfb3BzKHRkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM4NS1cdH1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0xMzg5PXN0YXRpYyBpbnQgb2ZmbG9hZF9jbG9zZShzdHJ1Y3QgdDNjZGV2ICp0ZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTEzOTctXHQvKiBDYWxsIGJhY2sgYWxsIHJlZ2lzdGVyZWQgY2xpZW50cyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MTM5ODpcdGN4Z2IzX3JlbW92ZV9jbGllbnRzKHRkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM5OS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDA1LVx0dGRldi1cdTAwM2VsbGRldiA9IE5VTEw7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxNDA2Olx0Y3hnYjNfc2V0X2R1bW15X29wcyh0ZGV2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTE0MDctXHR0M190cF9zZXRfb2ZmbG9hZF9tb2RlKGFkYXB0ZXIsIDApO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTE0MTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxNDEzOlx0Y3hnYjNfb2ZmbG9hZF9kZWFjdGl2YXRlKGFkYXB0ZXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTQxNC1cdHJldHVybiAwO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTE0MTc9c3RhdGljIGludCBjeGdiX29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDQzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MTQ0NDpcdGN4Z2IzX2V2ZW50X25vdGlmeShcdTAwMjZhZGFwdGVyLVx1MDAzZXRkZXYsIE9GRkxPQURfUE9SVF9VUCwgcGktXHUwMDNlcG9ydF9pZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDQ1LVx0cmV0dXJuIDA7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9MTQ0OD1zdGF0aWMgaW50IF9fY3hnYl9jbG9zZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgb25fd3EpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTQ3Ni1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjE0Nzc6XHRjeGdiM19ldmVudF9ub3RpZnkoXHUwMDI2YWRhcHRlci1cdTAwM2V0ZGV2LCBPRkZMT0FEX1BPUlRfRE9XTiwgcGktXHUwMDNlcG9ydF9pZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDc4LVx0cmV0dXJuIDA7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9Mjc5ND1zdGF0aWMgdm9pZCBkYl9mdWxsX3Rhc2soc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI3OTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoyNzk5Olx0Y3hnYjNfZXZlbnRfbm90aWZ5KFx1MDAyNmFkYXB0ZXItXHUwMDNldGRldiwgT0ZGTE9BRF9EQl9GVUxMLCAwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI4MDAtfVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTI4MDI9c3RhdGljIHZvaWQgZGJfZW1wdHlfdGFzayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMjgwNi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjI4MDc6XHRjeGdiM19ldmVudF9ub3RpZnkoXHUwMDI2YWRhcHRlci1cdTAwM2V0ZGV2LCBPRkZMT0FEX0RCX0VNUFRZLCAwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI4MDgtfVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTI4MTA9c3RhdGljIHZvaWQgZGJfZHJvcF90YXNrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0yODE2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MjgxNzpcdGN4Z2IzX2V2ZW50X25vdGlmeShcdTAwMjZhZGFwdGVyLVx1MDAzZXRkZXYsIE9GRkxPQURfREJfRFJPUCwgMCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0yODE4LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTI4Njg9dm9pZCB0M19vc19leHRfaW50cl9oYW5kbGVyKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI4ODAtXHRcdFx0ICAgICBhZGFwdGVyLVx1MDAzZXNsb3dfaW50cl9tYXNrKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjI4ODE6XHRcdHF1ZXVlX3dvcmsoY3hnYjNfd3EsIFx1MDAyNmFkYXB0ZXItXHUwMDNlZXh0X2ludHJfaGFuZGxlcl90YXNrKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI4ODItXHR9XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9Mjg5Nj1zdGF0aWMgaW50IHQzX2FkYXB0ZXJfZXJyb3Ioc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIGludCByZXNldCwgaW50IG9uX3dxKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI5MDEtXHQgICAgdGVzdF9iaXQoT0ZGTE9BRF9ERVZNQVBfQklULCBcdTAwMjZhZGFwdGVyLVx1MDAzZW9wZW5fZGV2aWNlX21hcCkpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjI5MDI6XHRcdGN4Z2IzX2V2ZW50X25vdGlmeShcdTAwMjZhZGFwdGVyLVx1MDAzZXRkZXYsIE9GRkxPQURfU1RBVFVTX0RPV04sIDApO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMjkwMy1cdFx0b2ZmbG9hZF9jbG9zZShcdTAwMjZhZGFwdGVyLVx1MDAzZXRkZXYpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTI5NDg9c3RhdGljIHZvaWQgdDNfcmVzdW1lX3BvcnRzKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI5NjYtXHRpZiAoaXNfb2ZmbG9hZChhZGFwdGVyKSBcdTAwMjZcdTAwMjYgIW9mbGRfZGlzYWJsZSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjI5Njc6XHRcdGN4Z2IzX2V2ZW50X25vdGlmeShcdTAwMjZhZGFwdGVyLVx1MDAzZXRkZXYsIE9GRkxPQURfU1RBVFVTX1VQLCAwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI5NjgtfVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTI5OTE9dm9pZCB0M19mYXRhbF9lcnIoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzAwMy1cdFx0dDNfaW50cl9kaXNhYmxlKGFkYXB0ZXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzAwNDpcdFx0cXVldWVfd29yayhjeGdiM193cSwgXHUwMDI2YWRhcHRlci1cdTAwM2VmYXRhbF9lcnJvcl9oYW5kbGVyX3Rhc2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzAwNS1cdFx0c3Bpbl91bmxvY2soXHUwMDI2YWRhcHRlci1cdTAwM2V3b3JrX2xvY2spO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTMxNzQ9c3RhdGljIGNvbnN0IHN0cnVjdCBuZXRfZGV2aWNlX29wcyBjeGdiX25ldGRldl9vcHMgPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzE5MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMxOTI6c3RhdGljIHZvaWQgY3hnYjNfaW5pdF9pc2NzaV9tYWMoc3RydWN0IG5ldF9kZXZpY2UgKmRldilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTMxOTMte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTMyMDM9c3RhdGljIGludCBpbml0X29uZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMjEwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzIxMTpcdGlmICghY3hnYjNfd3EpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMyMTI6XHRcdGN4Z2IzX3dxID0gY3JlYXRlX3NpbmdsZXRocmVhZF93b3JrcXVldWUoRFJWX05BTUUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzIxMzpcdFx0aWYgKCFjeGdiM193cSkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzIxNC1cdFx0XHRwcl9lcnIoXCYjMzQ7Y2Fubm90IGluaXRpYWxpemUgd29yayBxdWV1ZVxcblwmIzM0Oyk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzM1NC1cdGZvcl9lYWNoX3BvcnQoYWRhcHRlciwgaSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMzNTU6XHRcdGN4Z2IzX2luaXRfaXNjc2lfbWFjKGFkYXB0ZXItXHUwMDNlcG9ydFtpXSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMzU2LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTMzNjEtXHRcdF9fc2V0X2JpdChPRkZMT0FEX0RFVk1BUF9CSVQsIFx1MDAyNmFkYXB0ZXItXHUwMDNlcmVnaXN0ZXJlZF9kZXZpY2VfbWFwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMzNjI6XHRcdGN4Z2IzX2FkYXB0ZXJfb2ZsZChhZGFwdGVyKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTMzNjMtXHR9XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzM3My1cdGVyciA9IHN5c2ZzX2NyZWF0ZV9ncm91cChcdTAwMjZhZGFwdGVyLVx1MDAzZXBvcnRbMF0tXHUwMDNlZGV2LmtvYmosXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzozMzc0Olx0XHRcdFx0IFx1MDAyNmN4Z2IzX2F0dHJfZ3JvdXApO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzM3NS1cdGlmIChlcnIpIHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0zNDA2PXN0YXRpYyB2b2lkIHJlbW92ZV9vbmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzQxNC1cdFx0c3lzZnNfcmVtb3ZlX2dyb3VwKFx1MDAyNmFkYXB0ZXItXHUwMDNlcG9ydFswXS1cdTAwM2VkZXYua29iaixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjM0MTU6XHRcdFx0XHQgICBcdTAwMjZjeGdiM19hdHRyX2dyb3VwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0MTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDE3LVx0XHRpZiAoaXNfb2ZmbG9hZChhZGFwdGVyKSkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQxODpcdFx0XHRjeGdiM19hZGFwdGVyX3Vub2ZsZChhZGFwdGVyKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0MTktXHRcdFx0aWYgKHRlc3RfYml0KE9GRkxPQURfREVWTUFQX0JJVCxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0zNDQ0PXN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBkcml2ZXIgPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDQ1LVx0Lm5hbWUgPSBEUlZfTkFNRSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjM0NDY6XHQuaWRfdGFibGUgPSBjeGdiM19wY2lfdGJsLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzQ0Ny1cdC5wcm9iZSA9IGluaXRfb25lLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NTEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzozNDUyOnN0YXRpYyBpbnQgX19pbml0IGN4Z2IzX2luaXRfbW9kdWxlKHZvaWQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDUzLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDU1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ1NjpcdGN4Z2IzX29mZmxvYWRfaW5pdCgpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzQ1Ny1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDYxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ2MjpzdGF0aWMgdm9pZCBfX2V4aXQgY3hnYjNfY2xlYW51cF9tb2R1bGUodm9pZClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NjMte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzQ2NC1cdHBjaV91bnJlZ2lzdGVyX2RyaXZlcihcdTAwMjZkcml2ZXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ2NTpcdGlmIChjeGdiM193cSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjM0NjY6XHRcdGRlc3Ryb3lfd29ya3F1ZXVlKGN4Z2IzX3dxKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NjctfVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzQ2OC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjM0Njk6bW9kdWxlX2luaXQoY3hnYjNfaW5pdF9tb2R1bGUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ3MDptb2R1bGVfZXhpdChjeGdiM19jbGVhbnVwX21vZHVsZSk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNDgtI2luY2x1ZGUgXCYjMzQ7cmVncy5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo0OTojaW5jbHVkZSBcJiMzNDtjeGdiM19pb2N0bC5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo1MDojaW5jbHVkZSBcJiMzNDtjeGdiM19jdGxfZGVmcy5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo1MTojaW5jbHVkZSBcJiMzNDtjeGdiM19kZWZzLmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUyLSNpbmNsdWRlIFwmIzM0O2wydC5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01My0jaW5jbHVkZSBcJiMzNDtmaXJtd2FyZV9leHBvcnRzLmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjU0OiNpbmNsdWRlIFwmIzM0O2N4Z2IzX29mZmxvYWQuaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTUtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM9NTc9c3RhdGljIExJU1RfSEVBRChvZmxkX2Rldl9saXN0KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjU4OnN0YXRpYyBERUZJTkVfTVVURVgoY3hnYjNfZGJfbG9jayk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01OS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYz03MD1zdGF0aWMgaW5saW5lIGludCBvZmZsb2FkX2FjdGl2YXRlZChzdHJ1Y3QgdDNjZGV2ICp0ZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTc3LS8qKlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6Nzg6ICpcdGN4Z2IzX3JlZ2lzdGVyX2NsaWVudCAtIHJlZ2lzdGVyIGFuIG9mZmxvYWQgY2xpZW50XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy03OS0gKlx0QGNsaWVudDogdGhlIGNsaWVudFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTgzLSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6ODQ6dm9pZCBjeGdiM19yZWdpc3Rlcl9jbGllbnQoc3RydWN0IGN4Z2IzX2NsaWVudCAqY2xpZW50KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtODUte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTg3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6ODg6XHRtdXRleF9sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtODktXHRsaXN0X2FkZF90YWlsKFx1MDAyNmNsaWVudC1cdTAwM2VjbGllbnRfbGlzdCwgXHUwMDI2Y2xpZW50X2xpc3QpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTk2LVx0fVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6OTc6XHRtdXRleF91bmxvY2soXHUwMDI2Y3hnYjNfZGJfbG9jayk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy05OC19XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy05OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEwMDpFWFBPUlRfU1lNQk9MKGN4Z2IzX3JlZ2lzdGVyX2NsaWVudCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMDEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMDItLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMDM6ICpcdGN4Z2IzX3VucmVnaXN0ZXJfY2xpZW50IC0gdW5yZWdpc3RlciBhbiBvZmZsb2FkIGNsaWVudFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTA0LSAqXHRAY2xpZW50OiB0aGUgY2xpZW50XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTA4LSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTA5OnZvaWQgY3hnYjNfdW5yZWdpc3Rlcl9jbGllbnQoc3RydWN0IGN4Z2IzX2NsaWVudCAqY2xpZW50KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTEwLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMTM6XHRtdXRleF9sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTE0LVx0bGlzdF9kZWwoXHUwMDI2Y2xpZW50LVx1MDAzZWNsaWVudF9saXN0KTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjEtXHR9XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjI6XHRtdXRleF91bmxvY2soXHUwMDI2Y3hnYjNfZGJfbG9jayk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjMtfVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTI1OkVYUE9SVF9TWU1CT0woY3hnYjNfdW5yZWdpc3Rlcl9jbGllbnQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI3LS8qKlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTI4OiAqXHRjeGdiM19hZGRfY2xpZW50cyAtIGFjdGl2YXRlIHJlZ2lzdGVyZWQgY2xpZW50cyBmb3IgYW4gb2ZmbG9hZCBkZXZpY2VcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEyOS0gKlx0QHRkZXY6IHRoZSBvZmZsb2FkIGRldmljZVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEzMi0gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEzMzp2b2lkIGN4Z2IzX2FkZF9jbGllbnRzKHN0cnVjdCB0M2NkZXYgKnRkZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzQte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTM1Olx0c3RydWN0IGN4Z2IzX2NsaWVudCAqY2xpZW50O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTM2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTM3Olx0bXV0ZXhfbG9jayhcdTAwMjZjeGdiM19kYl9sb2NrKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEzOC1cdGxpc3RfZm9yX2VhY2hfZW50cnkoY2xpZW50LCBcdTAwMjZjbGllbnRfbGlzdCwgY2xpZW50X2xpc3QpIHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNDEtXHR9XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxNDI6XHRtdXRleF91bmxvY2soXHUwMDI2Y3hnYjNfZGJfbG9jayk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNDMtfVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE0NS0vKipcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE0NjogKlx0Y3hnYjNfcmVtb3ZlX2NsaWVudHMgLSBkZWFjdGl2YXRlcyByZWdpc3RlcmVkIGNsaWVudHNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE0Ny0gKlx0XHRcdCAgICAgICBmb3IgYW4gb2ZmbG9hZCBkZXZpY2Vcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNTEtICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxNTI6dm9pZCBjeGdiM19yZW1vdmVfY2xpZW50cyhzdHJ1Y3QgdDNjZGV2ICp0ZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTUzLXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE1NDpcdHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE1NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE1NjpcdG11dGV4X2xvY2soXHUwMDI2Y3hnYjNfZGJfbG9jayk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNTctXHRsaXN0X2Zvcl9lYWNoX2VudHJ5KGNsaWVudCwgXHUwMDI2Y2xpZW50X2xpc3QsIGNsaWVudF9saXN0KSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTYwLVx0fVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTYxOlx0bXV0ZXhfdW5sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTYyLX1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE2My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE2NDp2b2lkIGN4Z2IzX2V2ZW50X25vdGlmeShzdHJ1Y3QgdDNjZGV2ICp0ZGV2LCB1MzIgZXZlbnQsIHUzMiBwb3J0KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTY1LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE2NjpcdHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE2Ny1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE2ODpcdG11dGV4X2xvY2soXHUwMDI2Y3hnYjNfZGJfbG9jayk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNjktXHRsaXN0X2Zvcl9lYWNoX2VudHJ5KGNsaWVudCwgXHUwMDI2Y2xpZW50X2xpc3QsIGNsaWVudF9saXN0KSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTcyLVx0fVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTczOlx0bXV0ZXhfdW5sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTc0LX1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYz00ODg9c3RhdGljIHZvaWQgZHVtbXlfbmVpZ2hfdXBkYXRlKHN0cnVjdCB0M2NkZXYgKmRldiwgc3RydWN0IG5laWdoYm91ciAqbmVpZ2gpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNDkxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6NDkyOnZvaWQgY3hnYjNfc2V0X2R1bW15X29wcyhzdHJ1Y3QgdDNjZGV2ICpkZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy00OTMte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUwMC0gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjUwMTp2b2lkICpjeGdiM19mcmVlX2F0aWQoc3RydWN0IHQzY2RldiAqdGRldiwgaW50IGF0aWQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01MDIte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUxNS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjUxNjpFWFBPUlRfU1lNQk9MKGN4Z2IzX2ZyZWVfYXRpZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01MTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo1MTg6dm9pZCBjeGdiM19pbnNlcnRfdGlkKHN0cnVjdCB0M2NkZXYgKnRkZXYsIHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUxOS1cdFx0ICAgICAgdm9pZCAqY3R4LCB1bnNpZ25lZCBpbnQgdGlkKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUyNy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjUyODpFWFBPUlRfU1lNQk9MKGN4Z2IzX2luc2VydF90aWQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTI5LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTU0Mz1zdGF0aWMgdm9pZCB0M19wcm9jZXNzX3RpZF9yZWxlYXNlX2xpc3Qoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTU2OC1cdFx0bWtfdGlkX3JlbGVhc2Uoc2tiLCBwIC0gdGQtXHUwMDNldGlkX21hcHMudGlkX3RhYik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo1Njk6XHRcdGN4Z2IzX29mbGRfc2VuZCh0ZGV2LCBza2IpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTcwLVx0XHRwLVx1MDAzZWN0eCA9IE5VTEw7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTg2LS8qIHVzZSBjdHggYXMgYSBuZXh0IHBvaW50ZXIgaW4gdGhlIHRpZCByZWxlYXNlIGxpc3QgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjU4Nzp2b2lkIGN4Z2IzX3F1ZXVlX3RpZF9yZWxlYXNlKHN0cnVjdCB0M2NkZXYgKnRkZXYsIHVuc2lnbmVkIGludCB0aWQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01ODgte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYwMC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYwMTpFWFBPUlRfU1lNQk9MKGN4Z2IzX3F1ZXVlX3RpZF9yZWxlYXNlKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYwMi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy02MDktICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo2MTA6dm9pZCBjeGdiM19yZW1vdmVfdGlkKHN0cnVjdCB0M2NkZXYgKnRkZXYsIHZvaWQgKmN0eCwgdW5zaWduZWQgaW50IHRpZClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYxMS17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjIyLVx0XHRcdG1rX3RpZF9yZWxlYXNlKHNrYiwgdGlkKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYyMzpcdFx0XHRjeGdiM19vZmxkX3NlbmQodGRldiwgc2tiKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYyNC1cdFx0XHR0LVx1MDAzZXRpZF90YWJbdGlkXS5jdHggPSBOVUxMO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjI1LVx0XHR9IGVsc2VcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYyNjpcdFx0XHRjeGdiM19xdWV1ZV90aWRfcmVsZWFzZSh0ZGV2LCB0aWQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjI3LVx0fVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYzMC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYzMTpFWFBPUlRfU1lNQk9MKGN4Z2IzX3JlbW92ZV90aWQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjMyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6NjMzOmludCBjeGdiM19hbGxvY19hdGlkKHN0cnVjdCB0M2NkZXYgKnRkZXYsIHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYzNC1cdFx0ICAgICB2b2lkICpjdHgpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjU0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6NjU1OkVYUE9SVF9TWU1CT0woY3hnYjNfYWxsb2NfYXRpZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy02NTYtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM9NzU2PXN0YXRpYyBpbnQgZG9fY3Ioc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTc4OS0gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjc5MDpzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKmN4Z2IzX2dldF9jcGxfcmVwbHlfc2tiKHN0cnVjdCBza19idWZmICpza2IsIHNpemVfdCBsZW4sXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy03OTEtXHRcdFx0XHRcdCAgICAgICBnZnBfdCBnZnApXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM9ODA1PXN0YXRpYyBpbnQgZG9fYWJvcnRfcmVxX3JzcyhzdHJ1Y3QgdDNjZGV2ICpkZXYsIHN0cnVjdCBza19idWZmICpza2IpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtODI2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6ODI3Olx0XHRyZXBseV9za2IgPSBjeGdiM19nZXRfY3BsX3JlcGx5X3NrYihza2IsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy04MjgtXHRcdFx0XHRcdFx0ICAgIHNpemVvZihzdHJ1Y3Rcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy04NDMtXHRcdHJwbC1cdTAwM2VjbWQgPSBjbWQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo4NDQ6XHRcdGN4Z2IzX29mbGRfc2VuZChkZXYsIHJlcGx5X3NrYik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy04NDUtb3V0OlxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTk4MD1zdGF0aWMgaW50IHByb2Nlc3Nfcngoc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqKnNrYnMsIGludCBuKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEwMDMtICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMDA0OmludCBjeGdiM19vZmxkX3NlbmQoc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTAwNS17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTAxMy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEwMTQ6RVhQT1JUX1NZTUJPTChjeGdiM19vZmxkX3NlbmQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTAxNS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYz0xMTcxPXN0YXRpYyBpbmxpbmUgdm9pZCByZW1vdmVfYWRhcHRlcihzdHJ1Y3QgYWRhcHRlciAqYWRhcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMTc3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTE3ODppbnQgY3hnYjNfb2ZmbG9hZF9hY3RpdmF0ZShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlcilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTExNzkte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTEyNDI9c3RhdGljIHZvaWQgY2xlYW5fbDJfZGF0YShzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI0OC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEyNDk6dm9pZCBjeGdiM19vZmZsb2FkX2RlYWN0aXZhdGUoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjUwLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYz0xMjcwPXN0YXRpYyBpbmxpbmUgdm9pZCByZWdpc3Rlcl90ZGV2KHN0cnVjdCB0M2NkZXYgKnRkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI3My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEyNzQ6XHRtdXRleF9sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI3NS1cdHNucHJpbnRmKHRkZXYtXHUwMDNlbmFtZSwgc2l6ZW9mKHRkZXYtXHUwMDNlbmFtZSksIFwmIzM0O29mbGRfZGV2JWRcJiMzNDssIHVuaXQmIzQzOyYjNDM7KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEyNzYtXHRsaXN0X2FkZF90YWlsKFx1MDAyNnRkZXYtXHUwMDNlb2ZsZF9kZXZfbGlzdCwgXHUwMDI2b2ZsZF9kZXZfbGlzdCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjc3Olx0bXV0ZXhfdW5sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI3OC19XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM9MTI4MD1zdGF0aWMgaW5saW5lIHZvaWQgdW5yZWdpc3Rlcl90ZGV2KHN0cnVjdCB0M2NkZXYgKnRkZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjgxLXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEyODI6XHRtdXRleF9sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI4My1cdGxpc3RfZGVsKFx1MDAyNnRkZXYtXHUwMDNlb2ZsZF9kZXZfbGlzdCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjg0Olx0bXV0ZXhfdW5sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI4NS19XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM9MTI4Nz1zdGF0aWMgaW5saW5lIGludCBhZGFwMnR5cGUoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTMwNS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEzMDY6dm9pZCBjeGdiM19hZGFwdGVyX29mbGQoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzA3LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzExLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTMxMjpcdGN4Z2IzX3NldF9kdW1teV9vcHModGRldik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzEzLVx0dGRldi1cdTAwM2VzZW5kID0gdDNfb2ZmbG9hZF90eDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzE5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTMyMDp2b2lkIGN4Z2IzX2FkYXB0ZXJfdW5vZmxkKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTMyMS17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTMyOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEzMzA6dm9pZCBfX2luaXQgY3hnYjNfb2ZmbG9hZF9pbml0KHZvaWQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzMxLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaD00Mz1zdHJ1Y3QgYWRhcHRlcjtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oLTQ0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NDU6dm9pZCBjeGdiM19vZmZsb2FkX2luaXQodm9pZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC00Ni1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjQ3OnZvaWQgY3hnYjNfYWRhcHRlcl9vZmxkKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjQ4OnZvaWQgY3hnYjNfYWRhcHRlcl91bm9mbGQoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NDk6aW50IGN4Z2IzX29mZmxvYWRfYWN0aXZhdGUoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NTA6dm9pZCBjeGdiM19vZmZsb2FkX2RlYWN0aXZhdGUoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtNTEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo1Mjp2b2lkIGN4Z2IzX3NldF9kdW1teV9vcHMoc3RydWN0IHQzY2RldiAqZGV2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oLTUzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg9NTQ9c3RydWN0IHQzY2RldiAqZGV2MnQzY2RldihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC02Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjYzOnZvaWQgY3hnYjNfcmVnaXN0ZXJfY2xpZW50KHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo2NDp2b2lkIGN4Z2IzX3VucmVnaXN0ZXJfY2xpZW50KHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo2NTp2b2lkIGN4Z2IzX2FkZF9jbGllbnRzKHN0cnVjdCB0M2NkZXYgKnRkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NjY6dm9pZCBjeGdiM19yZW1vdmVfY2xpZW50cyhzdHJ1Y3QgdDNjZGV2ICp0ZGV2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjY3OnZvaWQgY3hnYjNfZXZlbnRfbm90aWZ5KHN0cnVjdCB0M2NkZXYgKnRkZXYsIHUzMiBldmVudCwgdTMyIHBvcnQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtNjgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo2OTp0eXBlZGVmIGludCAoKmN4Z2IzX2NwbF9oYW5kbGVyX2Z1bmMpKHN0cnVjdCB0M2NkZXYgKmRldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oLTcwLVx0XHRcdFx0ICAgICAgc3RydWN0IHNrX2J1ZmYgKnNrYiwgdm9pZCAqY3R4KTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaD03Mj1lbnVtIHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC04MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjgyOnN0cnVjdCBjeGdiM19jbGllbnQge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtODMtXHRjaGFyICpuYW1lO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oLTg1LVx0dm9pZCAoKnJlbW92ZSkgKHN0cnVjdCB0M2NkZXYgKik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo4NjpcdGN4Z2IzX2NwbF9oYW5kbGVyX2Z1bmMgKmhhbmRsZXJzO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtODctXHRpbnQgKCpyZWRpcmVjdCkodm9pZCAqY3R4LCBzdHJ1Y3QgZHN0X2VudHJ5ICpvbGQsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtOTUtICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo5NjppbnQgY3hnYjNfYWxsb2NfYXRpZChzdHJ1Y3QgdDNjZGV2ICpkZXYsIHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oLTk3LVx0XHQgICAgIHZvaWQgKmN0eCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo5ODp2b2lkICpjeGdiM19mcmVlX2F0aWQoc3RydWN0IHQzY2RldiAqZGV2LCBpbnQgYXRpZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo5OTp2b2lkIGN4Z2IzX2luc2VydF90aWQoc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC0xMDAtXHRcdCAgICAgIHZvaWQgKmN0eCwgdW5zaWduZWQgaW50IHRpZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDoxMDE6dm9pZCBjeGdiM19xdWV1ZV90aWRfcmVsZWFzZShzdHJ1Y3QgdDNjZGV2ICpkZXYsIHVuc2lnbmVkIGludCB0aWQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6MTAyOnZvaWQgY3hnYjNfcmVtb3ZlX3RpZChzdHJ1Y3QgdDNjZGV2ICpkZXYsIHZvaWQgKmN0eCwgdW5zaWduZWQgaW50IHRpZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC0xMDMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaD0xMDQ9c3RydWN0IHQzY190aWRfZW50cnkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6MTA1Olx0c3RydWN0IGN4Z2IzX2NsaWVudCAqY2xpZW50O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtMTA2LVx0dm9pZCAqY3R4O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvbDJ0LmMtNDEtI2luY2x1ZGUgXCYjMzQ7dDNjZGV2LmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvbDJ0LmM6NDI6I2luY2x1ZGUgXCYjMzQ7Y3hnYjNfZGVmcy5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2wydC5jLTQzLSNpbmNsdWRlIFwmIzM0O2wydC5oXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9sMnQuYz04Nz1zdGF0aWMgaW50IHNldHVwX2wyZV9zZW5kX3BlbmRpbmcoc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvbDJ0LmMtMTA3LVx0c2tiLVx1MDAzZXByaW9yaXR5ID0gQ1BMX1BSSU9SSVRZX0NPTlRST0w7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2wydC5jOjEwODpcdGN4Z2IzX29mbGRfc2VuZChkZXYsIHNrYik7XG5cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNCAxNDoyNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxNzg3NgoJCQkJCQkJb3V0cHV0OiA3OAoJCQkJCQkJdGhvdWdodHM6IDI2NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50OiBOb3QgV29ydGggRnV6emluZyoqCgpPa2F5LCBzbyB0aGUgY29kZSBpbiBxdWVzdGlvbiBpcyBuZXN0bGVkIHdpdGhpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9gLiBSaWdodCBhd2F5LCB0aGF0IHRlbGxzIG1lIHRoaXMgaXMgYSBDaGVsc2lvLXNwZWNpZmljIGRyaXZlciwgZGVzaWduZWQgZm9yIHRoZWlyIFQzIDEwR2JFIGFuZCAxR2JFIGFkYXB0ZXJzLiBXZSYjMzk7cmUgdGFsa2luZyBhYm91dCBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGhlcmUg4oCTIG5vdCBhIGdlbmVyaWMgdmlydHVhbCBuZXR3b3JrIGNhcmQuCgpOb3csIHRoZSBpbnN0cnVjdGlvbnMgYXJlIGNsZWFyOiBpZiB0aGUgcGF0Y2gmIzM5O3MgY2hhbmdlcyBhcmUgbGltaXRlZCB0byBhIGRyaXZlciBmb3IgaGFyZHdhcmUgdGhhdCAqaXNuJiMzOTt0KiBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLCB3ZSBuZWVkIHRvIGZsYWcgaXQgYXMgYFdvcnRoRnV6emluZz1mYWxzZWAuIFRoZSBydWxlIGV4cGxpY2l0bHkgY2FsbHMgb3V0IHZlbmRvci1zcGVjaWZpYyBQQ0llIE5JQyBkcml2ZXJzIGxpa2UgdGhlIG9uZXMgZm9yIE1lbGxhbm94LCBRTG9naWMsIGFuZCBBTUQgR1BVcywgYW5kIHNpbWlsYXIgc2V0dXBzLgoKQ2hlbHNpbyBgY3hnYjNgICphYnNvbHV0ZWx5KiBmYWxscyBpbnRvIHRoYXQgY2F0ZWdvcnkuIEl0JiMzOTtzIGEgdmVuZG9yLXNwZWNpZmljIFBDSWUgTklDIGRyaXZlciBhbmQgcmVsaWVzIG9uIGFjdHVhbCBwaHlzaWNhbCBoYXJkd2FyZS4gSXQgd291bGQgbmVlZCB0aGF0IGhhcmR3YXJlIHByZXNlbnQsIGFuZCBhY2Nlc3NpYmxlIHRvIHRoZSBRRU1VIGVudmlyb25tZW50LCB3aGljaCBpcyBoaWdobHkgdW5saWtlbHkgYW5kIHRoZXJlZm9yZSBkaXNxdWFsaWZpZXMgaXQgZnJvbSBzdGFuZGFyZCBmdXp6aW5nLgoKSnVzdCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4sIGxldCYjMzk7cyB0YWtlIGEgcXVpY2sgbG9vayBhdCBRRU1VJiMzOTtzIHN1cHBvcnRlZCBlbXVsYXRlZCBOSUNzLiBXZSYjMzk7dmUgZ290IHRoZSB1c3VhbCBzdXNwZWN0czogZTEwMDAsIGUxMDAwZSwgcnRsODEzOSwgcGNuZXQsIG5lMmtfcGNpLCB2bXhuZXQzLCB2aXJ0aW8tbmV0LCBpZ2IsIHR1bGlwLCBhbmQgbGlrZWx5IGEgZmV3IG1vcmUuIEJ1dCBgY3hnYjNgIGlzbiYjMzk7dCBvbiB0aGUgbGlzdC4gTm8gZW11bGF0aW9uLgoKVGhlcmVmb3JlLCBteSBjb25jbHVzaW9uIGlzIHNvbGlkLiBgV29ydGhGdXp6aW5nPWZhbHNlYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNCAxNDoyODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBDaGVsc2lvIGN4Z2IzIGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBuZXR3b3JrIGFkYXB0ZXIgZHJpdmVyLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIHZpcnR1YWxpemVkIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIENoZWxzaW8gY3hnYjMgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIG5ldHdvcmsgYWRhcHRlciBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE0IDE0OjI4PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5JZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wOC0xNFQxNDoyNjo1Mi40NTM4MjUwMVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjcwMDMwMDc3MjI3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIENoZWxzaW8gY3hnYjMgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIG5ldHdvcmsgYWRhcHRlciBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xNFQxNDoyNjo1Mi40NTM4MzgwNloiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDQ4ODM5MjA1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgNGNmZGU4Zjc5YTcwNWNiY2Y5YTkzZjY3MTRmODc3YjdhMzI0ZjdkN1xcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgRnJpIEF1ZyAxNCAxNDoyNjo1MSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL3QzX2h3LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL3QzX2h3LmNcXG5pbmRleCBhMDYwMDNiZmEwNGI5Li5jYzA0ZDIxNTY0MjUzIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvdDNfaHcuY1xcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvdDNfaHcuY1xcbkBAIC0xMTgwLDcgKzExODAsOCBAQCB2b2lkIHQzX2xpbmtfY2hhbmdlZChzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgaW50IHBvcnRfaWQpXFxuIFxcdHN0cnVjdCBjbWFjICptYWMgPSBcXHUwMDI2cGktXFx1MDAzZW1hYztcXG4gXFx0c3RydWN0IGxpbmtfY29uZmlnICpsYyA9IFxcdTAwMjZwaS1cXHUwMDNlbGlua19jb25maWc7XFxuIFxcbi1cXHRwaHktXFx1MDAzZW9wcy1cXHUwMDNlZ2V0X2xpbmtfc3RhdHVzKHBoeSwgXFx1MDAyNmxpbmtfb2ssIFxcdTAwMjZzcGVlZCwgXFx1MDAyNmR1cGxleCwgXFx1MDAyNmZjKTtcXG4rXFx0aWYgKHBoeS1cXHUwMDNlb3BzLVxcdTAwM2VnZXRfbGlua19zdGF0dXMocGh5LCBcXHUwMDI2bGlua19vaywgXFx1MDAyNnNwZWVkLCBcXHUwMDI2ZHVwbGV4LCBcXHUwMDI2ZmMpKVxcbitcXHRcXHRyZXR1cm47XFxuIFxcbiBcXHRpZiAoIWxjLVxcdTAwM2VsaW5rX29rIFxcdTAwMjZcXHUwMDI2IGxpbmtfb2spIHtcXG4gXFx0XFx0dTMyIHJ4X2NmZywgcnhfaGFzaF9oaWdoLCByeF9oYXNoX2xvdztcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTRUMTQ6MjY6NTIuOTAzNTc1OTQ0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6Njk1ODAzMDY4ODMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBDaGVsc2lvIGN4Z2IzIGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBuZXR3b3JrIGFkYXB0ZXIgZHJpdmVyLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIHZpcnR1YWxpemVkIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgNGNmZGU4Zjc5YTcwNWNiY2Y5YTkzZjY3MTRmODc3YjdhMzI0ZjdkN1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgQXVnIDE0IDE0OjI2OjUxIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy90M19ody5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy90M19ody5jXG5pbmRleCBhMDYwMDNiZmEwNGI5Li5jYzA0ZDIxNTY0MjUzIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy90M19ody5jXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL3QzX2h3LmNcbkBAIC0xMTgwLDcgKzExODAsOCBAQCB2b2lkIHQzX2xpbmtfY2hhbmdlZChzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgaW50IHBvcnRfaWQpXG4gXHRzdHJ1Y3QgY21hYyAqbWFjID0gXHUwMDI2cGktXHUwMDNlbWFjO1xuIFx0c3RydWN0IGxpbmtfY29uZmlnICpsYyA9IFx1MDAyNnBpLVx1MDAzZWxpbmtfY29uZmlnO1xuIFxuLVx0cGh5LVx1MDAzZW9wcy1cdTAwM2VnZXRfbGlua19zdGF0dXMocGh5LCBcdTAwMjZsaW5rX29rLCBcdTAwMjZzcGVlZCwgXHUwMDI2ZHVwbGV4LCBcdTAwMjZmYyk7XG4rXHRpZiAocGh5LVx1MDAzZW9wcy1cdTAwM2VnZXRfbGlua19zdGF0dXMocGh5LCBcdTAwMjZsaW5rX29rLCBcdTAwMjZzcGVlZCwgXHUwMDI2ZHVwbGV4LCBcdTAwMjZmYykpXG4rXHRcdHJldHVybjtcbiBcbiBcdGlmICghbGMtXHUwMDNlbGlua19vayBcdTAwMjZcdTAwMjYgbGlua19vaykge1xuIFx0XHR1MzIgcnhfY2ZnLCByeF9oYXNoX2hpZ2gsIHJ4X2hhc2hfbG93O1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTRUMTQ6MjY6NTIuOTAzNTc3MjA0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NjI4NDgyMzk0NTcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudCBvZiB0aGUgUGF0Y2gncyBXb3J0aGluZXNzIGZvciBGdXp6aW5nKipcblxuT2theSwgc28gdGhpcyBwYXRjaCB0b3VjaGVzIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL3QzX2h3LmNgLiBUaGF0J3MgYSBDaGVsc2lvIGRyaXZlciwgc3BlY2lmaWNhbGx5IGZvciB0aGVpciBUMyAxMEdiRSBhbmQgMUdiRSBhZGFwdGVycy4gV2UncmUgdGFsa2luZyBhYm91dCBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGhlcmUsIHJpZ2h0PyBNeSBpbml0aWFsIHRob3VnaHQgaXMsIGNhbiB0aGlzIGJlIHJlYWxpc3RpY2FsbHkgZnV6emVkIGluIGEgc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudD8gQ2hlbHNpbyBjYXJkcyAqdXN1YWxseSogYXJlbid0IGVtdWxhdGVkIHRoYXQgd2VsbC4gTGV0J3MgcXVpY2tseSB2ZXJpZnkgaWYgdGhlcmUncyAqYW55KiBjeGdiMyBlbXVsYXRpb24gYXZhaWxhYmxlIGluIFFFTVUg4oCTIGp1c3QgdG8gYmUgdGhvcm91Z2guXG5cbkFoLCB3YWl0IGEgc2Vjb25kLCBsZXQgbWUgY2hlY2sgdGhlIHNwZWNpZmljIGluc3RydWN0aW9ucy4uLiBBaC1oYSEgXCJSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zIGNvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMuLi4gdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXCJcblxuUmlnaHQsIGN4Z2IzICppcyogYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBOSUMgZHJpdmVyLiBUaGF04oCZcyBhIGtleSBwaWVjZSBvZiBpbmZvcm1hdGlvbi4gU28sIHJlYWxpc3RpY2FsbHksIHRoZSBxdWVzdGlvbiBiZWNvbWVzOiBpcyB0aGVyZSBhbnkgcGxhdXNpYmxlIHBhdGggdG8gZXhlcmNpc2luZyB0aGlzIGNvZGUgaW4gYSB2aXJ0dWFsaXplZCBzZXR0aW5nPyBBbmQgaWYgSSdtIGhvbmVzdCB3aXRoIG15c2VsZiwgdGhlIGFuc3dlciBpcyBwcm9iYWJseSBuby4gV2UncmUgbW9zdCBsaWtlbHkgdGFsa2luZyBhYm91dCBhIGhhcmQgcmVxdWlyZW1lbnQgZm9yIHBoeXNpY2FsIGhhcmR3YXJlIGhlcmUuIExldCBtZSBqdXN0IGNvbmZpcm0gdGhhdCBjeGdiMyAqaXMqIGluZGVlZCBhIFBDSWUgZHJpdmVyIGFuZCBJJ20gZ29vZC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjA4OSwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI2NCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE0VDE0OjI3OjU1Ljc1MTgxOTM5MVoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0OTQyNzU2OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjeGdiM1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJcXG5GdWxsIG91dHB1dCBpcyB0b28gbG9uZywgc2hvd2luZyA1MDAgb3V0IG9mIDU4NSBsaW5lcy5cXG5Vc2UgbW9yZSBwcmVjaXNlIGV4cHJlc3Npb24gaWYgcG9zc2libGUuXFxuXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9NYWtlZmlsZS01LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvTWFrZWZpbGU6NjpvYmotJChDT05GSUdfQ0hFTFNJT19UMykgKz0gY3hnYjMub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvTWFrZWZpbGUtNy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL01ha2VmaWxlOjg6Y3hnYjMtb2JqcyA6PSBjeGdiM19tYWluLm8gYWVsMTAwMi5vIHZzYzgyMTEubyB0M19ody5vIG1jNS5vIFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL01ha2VmaWxlOjk6XFx0ICAgICAgeGdtYWMubyBzZ2UubyBsMnQubyBjeGdiM19vZmZsb2FkLm8gYXExMDB4Lm9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvYWRhcHRlci5oPTMyNj1pbnQgdDNfc2dlX2FsbG9jX3FzZXQoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIHVuc2lnbmVkIGludCBpZCwgaW50IG5wb3J0cyxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvYWRhcHRlci5oLTMyOS1cXHRcXHQgICAgICBzdHJ1Y3QgbmV0ZGV2X3F1ZXVlICpuZXRkZXZxKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2FkYXB0ZXIuaDozMzA6ZXh0ZXJuIHN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpjeGdiM193cTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2FkYXB0ZXIuaC0zMzEtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2NvbW1vbi5oPTc3MD1pbnQgdDNfYXExMDB4X3BoeV9wcmVwKHN0cnVjdCBjcGh5ICpwaHksIHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jb21tb24uaC03NzItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jb21tb24uaDo3NzM6ZXh0ZXJuIHN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpjeGdiM193cTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2NvbW1vbi5oLTc3NC0jZW5kaWZcXHRcXHRcXHRcXHQvKiBfX0NIRUxTSU9fQ09NTU9OX0ggKi9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfZGVmcy5oLTM5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfZGVmcy5oOjQwOiNpbmNsdWRlIFxcXCJjeGdiM19vZmZsb2FkLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19kZWZzLmgtNDEtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy01NS0jaW5jbHVkZSBcXFwiY29tbW9uLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6NTY6I2luY2x1ZGUgXFxcImN4Z2IzX2lvY3RsLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtNTctI2luY2x1ZGUgXFxcInJlZ3MuaFxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo1ODojaW5jbHVkZSBcXFwiY3hnYjNfb2ZmbG9hZC5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTU5LSNpbmNsdWRlIFxcXCJ2ZXJzaW9uLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtNjAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6NjE6I2luY2x1ZGUgXFxcImN4Z2IzX2N0bF9kZWZzLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtNjItI2luY2x1ZGUgXFxcInQzX2NwbC5oXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9NjU9ZW51bSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy04Ny1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo4ODpzdGF0aWMgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgY3hnYjNfcGNpX3RibFtdID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTg5LVxcdENIX0RFVklDRSgweDIwLCAwKSxcXHQvKiBQRTkwMDAgKi9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTEwNz1NT0RVTEVfTElDRU5TRShcXFwiRHVhbCBCU0QvR1BMXFxcIik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MTA4Ok1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBjeGdiM19wY2lfdGJsKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMDktXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0xMzc9TU9EVUxFX1BBUk1fREVTQyhvZmxkX2Rpc2FibGUsIFxcXCJ3aGV0aGVyIHRvIGVuYWJsZSBvZmZsb2FkIGF0IGluaXQgdGltZSBvciBub3RcXFwiKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTE0Ni0gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxNDc6c3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKmN4Z2IzX3dxO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTE0OC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTc4ND1DWEdCM19BVFRSX1JXKG5zZXJ2ZXJzLCBhZGFwLVxcdTAwM2VwYXJhbXMubWM1Lm5zZXJ2ZXJzLCBzdG9yZV9uc2VydmVycyk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtNzg1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjc4NjpzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqY3hnYjNfYXR0cnNbXSA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy03ODctXFx0XFx1MDAyNmRldl9hdHRyX2NhbV9zaXplLmF0dHIsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy03OTItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6NzkzOnN0YXRpYyBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGN4Z2IzX2F0dHJfZ3JvdXAgPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6Nzk0OlxcdC5hdHRycyA9IGN4Z2IzX2F0dHJzLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTc5NS19O1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9OTcxPXN0YXRpYyBpbnQgYmluZF9xc2V0cyhzdHJ1Y3QgYWRhcHRlciAqYWRhcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTk5MS1cXHRfX3N0cmluZ2lmeShGV19WRVJTSU9OX01JTk9SKSBcXFwiLlxcXCIgX19zdHJpbmdpZnkoRldfVkVSU0lPTl9NSUNSTylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo5OTI6I2RlZmluZSBGV19GTkFNRSBcXFwiY3hnYjMvdDNmdy1cXFwiIEZXX1ZFUlNJT04gXFxcIi5iaW5cXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtOTkzLSNkZWZpbmUgVFBTUkFNX1ZFUlNJT04gX19zdHJpbmdpZnkoVFBfVkVSU0lPTl9NQUpPUikgXFxcIi5cXFwiXFx0XFx0XFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTk5NC1cXHRfX3N0cmluZ2lmeShUUF9WRVJTSU9OX01JTk9SKSBcXFwiLlxcXCIgX19zdHJpbmdpZnkoVFBfVkVSU0lPTl9NSUNSTylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo5OTU6I2RlZmluZSBUUFNSQU1fTkFNRSBcXFwiY3hnYjMvdDMlY19wc3JhbS1cXFwiIFRQU1JBTV9WRVJTSU9OIFxcXCIuYmluXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjk5NjojZGVmaW5lIEFFTDIwMDVfT1BUX0VEQ19OQU1FIFxcXCJjeGdiMy9hZWwyMDA1X29wdF9lZGMuYmluXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjk5NzojZGVmaW5lIEFFTDIwMDVfVFdYX0VEQ19OQU1FIFxcXCJjeGdiMy9hZWwyMDA1X3R3eF9lZGMuYmluXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjk5ODojZGVmaW5lIEFFTDIwMjBfVFdYX0VEQ19OQU1FIFxcXCJjeGdiMy9hZWwyMDIwX3R3eF9lZGMuYmluXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTk5OS1NT0RVTEVfRklSTVdBUkUoRldfRk5BTUUpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjEwMDA6TU9EVUxFX0ZJUk1XQVJFKFxcXCJjeGdiMy90M2JfcHNyYW0tXFxcIiBUUFNSQU1fVkVSU0lPTiBcXFwiLmJpblxcXCIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjEwMDE6TU9EVUxFX0ZJUk1XQVJFKFxcXCJjeGdiMy90M2NfcHNyYW0tXFxcIiBUUFNSQU1fVkVSU0lPTiBcXFwiLmJpblxcXCIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTEwMDItTU9EVUxFX0ZJUk1XQVJFKEFFTDIwMDVfT1BUX0VEQ19OQU1FKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTEzMjE9c3RhdGljIHZvaWQgY3hnYl9kb3duKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLCBpbnQgb25fd3EpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzMxLVxcdGlmICghb25fd3EpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MTMzMjpcXHRcXHRmbHVzaF93b3JrcXVldWUoY3hnYjNfd3EpOy8qIHdhaXQgZm9yIGV4dGVybmFsIElSUSBoYW5kbGVyICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTMzMy19XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0xMzM1PXN0YXRpYyB2b2lkIHNjaGVkdWxlX2Noa190YXNrKHN0cnVjdCBhZGFwdGVyICphZGFwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM0Mi1cXHRpZiAodGltZW8pXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MTM0MzpcXHRcXHRxdWV1ZV9kZWxheWVkX3dvcmsoY3hnYjNfd3EsIFxcdTAwMjZhZGFwLVxcdTAwM2VhZGFwX2NoZWNrX3Rhc2ssIHRpbWVvKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzQ0LX1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTEzNDY9c3RhdGljIGludCBvZmZsb2FkX29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTEzNjEtXFx0dGRldi1cXHUwMDNlbGxkZXYgPSBhZGFwdGVyLVxcdTAwM2Vwb3J0WzBdO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjEzNjI6XFx0ZXJyID0gY3hnYjNfb2ZmbG9hZF9hY3RpdmF0ZShhZGFwdGVyKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzYzLVxcdGlmIChlcnIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzc2LVxcdC8qIENhbGwgYmFjayBhbGwgcmVnaXN0ZXJlZCBjbGllbnRzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MTM3NzpcXHRjeGdiM19hZGRfY2xpZW50cyh0ZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzc4LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM4My1cXHRcXHRjbGVhcl9iaXQoT0ZGTE9BRF9ERVZNQVBfQklULCBcXHUwMDI2YWRhcHRlci1cXHUwMDNlb3Blbl9kZXZpY2VfbWFwKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxMzg0OlxcdFxcdGN4Z2IzX3NldF9kdW1teV9vcHModGRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM4NS1cXHR9XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0xMzg5PXN0YXRpYyBpbnQgb2ZmbG9hZF9jbG9zZShzdHJ1Y3QgdDNjZGV2ICp0ZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM5Ny1cXHQvKiBDYWxsIGJhY2sgYWxsIHJlZ2lzdGVyZWQgY2xpZW50cyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjEzOTg6XFx0Y3hnYjNfcmVtb3ZlX2NsaWVudHModGRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM5OS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTE0MDUtXFx0dGRldi1cXHUwMDNlbGxkZXYgPSBOVUxMO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjE0MDY6XFx0Y3hnYjNfc2V0X2R1bW15X29wcyh0ZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDA3LVxcdHQzX3RwX3NldF9vZmZsb2FkX21vZGUoYWRhcHRlciwgMCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDEyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjE0MTM6XFx0Y3hnYjNfb2ZmbG9hZF9kZWFjdGl2YXRlKGFkYXB0ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTE0MTQtXFx0cmV0dXJuIDA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0xNDE3PXN0YXRpYyBpbnQgY3hnYl9vcGVuKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDQzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjE0NDQ6XFx0Y3hnYjNfZXZlbnRfbm90aWZ5KFxcdTAwMjZhZGFwdGVyLVxcdTAwM2V0ZGV2LCBPRkZMT0FEX1BPUlRfVVAsIHBpLVxcdTAwM2Vwb3J0X2lkKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDQ1LVxcdHJldHVybiAwO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9MTQ0OD1zdGF0aWMgaW50IF9fY3hnYl9jbG9zZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgb25fd3EpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDc2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjE0Nzc6XFx0Y3hnYjNfZXZlbnRfbm90aWZ5KFxcdTAwMjZhZGFwdGVyLVxcdTAwM2V0ZGV2LCBPRkZMT0FEX1BPUlRfRE9XTiwgcGktXFx1MDAzZXBvcnRfaWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTE0NzgtXFx0cmV0dXJuIDA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0yNzk0PXN0YXRpYyB2b2lkIGRiX2Z1bGxfdGFzayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0yNzk4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjI3OTk6XFx0Y3hnYjNfZXZlbnRfbm90aWZ5KFxcdTAwMjZhZGFwdGVyLVxcdTAwM2V0ZGV2LCBPRkZMT0FEX0RCX0ZVTEwsIDApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI4MDAtfVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9MjgwMj1zdGF0aWMgdm9pZCBkYl9lbXB0eV90YXNrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI4MDYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MjgwNzpcXHRjeGdiM19ldmVudF9ub3RpZnkoXFx1MDAyNmFkYXB0ZXItXFx1MDAzZXRkZXYsIE9GRkxPQURfREJfRU1QVFksIDApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI4MDgtfVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9MjgxMD1zdGF0aWMgdm9pZCBkYl9kcm9wX3Rhc2soc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMjgxNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoyODE3OlxcdGN4Z2IzX2V2ZW50X25vdGlmeShcXHUwMDI2YWRhcHRlci1cXHUwMDNldGRldiwgT0ZGTE9BRF9EQl9EUk9QLCAwKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0yODE4LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9Mjg2OD12b2lkIHQzX29zX2V4dF9pbnRyX2hhbmRsZXIoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0yODgwLVxcdFxcdFxcdCAgICAgYWRhcHRlci1cXHUwMDNlc2xvd19pbnRyX21hc2spO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjI4ODE6XFx0XFx0cXVldWVfd29yayhjeGdiM193cSwgXFx1MDAyNmFkYXB0ZXItXFx1MDAzZWV4dF9pbnRyX2hhbmRsZXJfdGFzayk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMjg4Mi1cXHR9XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0yODk2PXN0YXRpYyBpbnQgdDNfYWRhcHRlcl9lcnJvcihzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgaW50IHJlc2V0LCBpbnQgb25fd3EpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0yOTAxLVxcdCAgICB0ZXN0X2JpdChPRkZMT0FEX0RFVk1BUF9CSVQsIFxcdTAwMjZhZGFwdGVyLVxcdTAwM2VvcGVuX2RldmljZV9tYXApKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MjkwMjpcXHRcXHRjeGdiM19ldmVudF9ub3RpZnkoXFx1MDAyNmFkYXB0ZXItXFx1MDAzZXRkZXYsIE9GRkxPQURfU1RBVFVTX0RPV04sIDApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI5MDMtXFx0XFx0b2ZmbG9hZF9jbG9zZShcXHUwMDI2YWRhcHRlci1cXHUwMDNldGRldik7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0yOTQ4PXN0YXRpYyB2b2lkIHQzX3Jlc3VtZV9wb3J0cyhzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlcilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI5NjYtXFx0aWYgKGlzX29mZmxvYWQoYWRhcHRlcikgXFx1MDAyNlxcdTAwMjYgIW9mbGRfZGlzYWJsZSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoyOTY3OlxcdFxcdGN4Z2IzX2V2ZW50X25vdGlmeShcXHUwMDI2YWRhcHRlci1cXHUwMDNldGRldiwgT0ZGTE9BRF9TVEFUVVNfVVAsIDApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI5NjgtfVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9Mjk5MT12b2lkIHQzX2ZhdGFsX2VycihzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlcilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTMwMDMtXFx0XFx0dDNfaW50cl9kaXNhYmxlKGFkYXB0ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMwMDQ6XFx0XFx0cXVldWVfd29yayhjeGdiM193cSwgXFx1MDAyNmFkYXB0ZXItXFx1MDAzZWZhdGFsX2Vycm9yX2hhbmRsZXJfdGFzayk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzAwNS1cXHRcXHRzcGluX3VubG9jayhcXHUwMDI2YWRhcHRlci1cXHUwMDNld29ya19sb2NrKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTMxNzQ9c3RhdGljIGNvbnN0IHN0cnVjdCBuZXRfZGV2aWNlX29wcyBjeGdiX25ldGRldl9vcHMgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMTkxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMxOTI6c3RhdGljIHZvaWQgY3hnYjNfaW5pdF9pc2NzaV9tYWMoc3RydWN0IG5ldF9kZXZpY2UgKmRldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMTkzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTMyMDM9c3RhdGljIGludCBpbml0X29uZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTMyMTAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzIxMTpcXHRpZiAoIWN4Z2IzX3dxKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzIxMjpcXHRcXHRjeGdiM193cSA9IGNyZWF0ZV9zaW5nbGV0aHJlYWRfd29ya3F1ZXVlKERSVl9OQU1FKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzozMjEzOlxcdFxcdGlmICghY3hnYjNfd3EpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMjE0LVxcdFxcdFxcdHByX2VycihcXFwiY2Fubm90IGluaXRpYWxpemUgd29yayBxdWV1ZVxcXFxuXFxcIik7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMzU0LVxcdGZvcl9lYWNoX3BvcnQoYWRhcHRlciwgaSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzozMzU1OlxcdFxcdGN4Z2IzX2luaXRfaXNjc2lfbWFjKGFkYXB0ZXItXFx1MDAzZXBvcnRbaV0pO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTMzNTYtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMzYxLVxcdFxcdF9fc2V0X2JpdChPRkZMT0FEX0RFVk1BUF9CSVQsIFxcdTAwMjZhZGFwdGVyLVxcdTAwM2VyZWdpc3RlcmVkX2RldmljZV9tYXApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMzNjI6XFx0XFx0Y3hnYjNfYWRhcHRlcl9vZmxkKGFkYXB0ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTMzNjMtXFx0fVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzM3My1cXHRlcnIgPSBzeXNmc19jcmVhdGVfZ3JvdXAoXFx1MDAyNmFkYXB0ZXItXFx1MDAzZXBvcnRbMF0tXFx1MDAzZWRldi5rb2JqLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMzNzQ6XFx0XFx0XFx0XFx0IFxcdTAwMjZjeGdiM19hdHRyX2dyb3VwKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMzc1LVxcdGlmIChlcnIpIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTM0MDY9c3RhdGljIHZvaWQgcmVtb3ZlX29uZShzdHJ1Y3QgcGNpX2RldiAqcGRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0MTQtXFx0XFx0c3lzZnNfcmVtb3ZlX2dyb3VwKFxcdTAwMjZhZGFwdGVyLVxcdTAwM2Vwb3J0WzBdLVxcdTAwM2VkZXYua29iaixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzozNDE1OlxcdFxcdFxcdFxcdCAgIFxcdTAwMjZjeGdiM19hdHRyX2dyb3VwKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDE2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0MTctXFx0XFx0aWYgKGlzX29mZmxvYWQoYWRhcHRlcikpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzozNDE4OlxcdFxcdFxcdGN4Z2IzX2FkYXB0ZXJfdW5vZmxkKGFkYXB0ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0MTktXFx0XFx0XFx0aWYgKHRlc3RfYml0KE9GRkxPQURfREVWTUFQX0JJVCxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTM0NDQ9c3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIGRyaXZlciA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDQ1LVxcdC5uYW1lID0gRFJWX05BTUUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ0NjpcXHQuaWRfdGFibGUgPSBjeGdiM19wY2lfdGJsLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NDctXFx0LnByb2JlID0gaW5pdF9vbmUsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDUxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjM0NTI6c3RhdGljIGludCBfX2luaXQgY3hnYjNfaW5pdF9tb2R1bGUodm9pZClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDUzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NTUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ1NjpcXHRjeGdiM19vZmZsb2FkX2luaXQoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDU3LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzQ2MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzozNDYyOnN0YXRpYyB2b2lkIF9fZXhpdCBjeGdiM19jbGVhbnVwX21vZHVsZSh2b2lkKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NjMte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NjQtXFx0cGNpX3VucmVnaXN0ZXJfZHJpdmVyKFxcdTAwMjZkcml2ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjM0NjU6XFx0aWYgKGN4Z2IzX3dxKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjM0NjY6XFx0XFx0ZGVzdHJveV93b3JrcXVldWUoY3hnYjNfd3EpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NjctfVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NjgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ2OTptb2R1bGVfaW5pdChjeGdiM19pbml0X21vZHVsZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ3MDptb2R1bGVfZXhpdChjeGdiM19jbGVhbnVwX21vZHVsZSk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy00OC0jaW5jbHVkZSBcXFwicmVncy5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjQ5OiNpbmNsdWRlIFxcXCJjeGdiM19pb2N0bC5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjUwOiNpbmNsdWRlIFxcXCJjeGdiM19jdGxfZGVmcy5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjUxOiNpbmNsdWRlIFxcXCJjeGdiM19kZWZzLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTItI2luY2x1ZGUgXFxcImwydC5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUzLSNpbmNsdWRlIFxcXCJmaXJtd2FyZV9leHBvcnRzLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6NTQ6I2luY2x1ZGUgXFxcImN4Z2IzX29mZmxvYWQuaFxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01NS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTU3PXN0YXRpYyBMSVNUX0hFQUQob2ZsZF9kZXZfbGlzdCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6NTg6c3RhdGljIERFRklORV9NVVRFWChjeGdiM19kYl9sb2NrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01OS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTcwPXN0YXRpYyBpbmxpbmUgaW50IG9mZmxvYWRfYWN0aXZhdGVkKHN0cnVjdCB0M2NkZXYgKnRkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy03Ny0vKipcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo3ODogKlxcdGN4Z2IzX3JlZ2lzdGVyX2NsaWVudCAtIHJlZ2lzdGVyIGFuIG9mZmxvYWQgY2xpZW50XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNzktICpcXHRAY2xpZW50OiB0aGUgY2xpZW50XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy04My0gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo4NDp2b2lkIGN4Z2IzX3JlZ2lzdGVyX2NsaWVudChzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtODUte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtODctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6ODg6XFx0bXV0ZXhfbG9jayhcXHUwMDI2Y3hnYjNfZGJfbG9jayk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtODktXFx0bGlzdF9hZGRfdGFpbChcXHUwMDI2Y2xpZW50LVxcdTAwM2VjbGllbnRfbGlzdCwgXFx1MDAyNmNsaWVudF9saXN0KTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTk2LVxcdH1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo5NzpcXHRtdXRleF91bmxvY2soXFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTk4LX1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy05OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMDA6RVhQT1JUX1NZTUJPTChjeGdiM19yZWdpc3Rlcl9jbGllbnQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEwMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMDItLyoqXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTAzOiAqXFx0Y3hnYjNfdW5yZWdpc3Rlcl9jbGllbnQgLSB1bnJlZ2lzdGVyIGFuIG9mZmxvYWQgY2xpZW50XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTA0LSAqXFx0QGNsaWVudDogdGhlIGNsaWVudFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTA4LSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEwOTp2b2lkIGN4Z2IzX3VucmVnaXN0ZXJfY2xpZW50KHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMTAte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTEyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjExMzpcXHRtdXRleF9sb2NrKFxcdTAwMjZjeGdiM19kYl9sb2NrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMTQtXFx0bGlzdF9kZWwoXFx1MDAyNmNsaWVudC1cXHUwMDNlY2xpZW50X2xpc3QpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTIxLVxcdH1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjI6XFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZjeGdiM19kYl9sb2NrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjMtfVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEyNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjU6RVhQT1JUX1NZTUJPTChjeGdiM191bnJlZ2lzdGVyX2NsaWVudCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEyNy0vKipcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjg6ICpcXHRjeGdiM19hZGRfY2xpZW50cyAtIGFjdGl2YXRlIHJlZ2lzdGVyZWQgY2xpZW50cyBmb3IgYW4gb2ZmbG9hZCBkZXZpY2VcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjktICpcXHRAdGRldjogdGhlIG9mZmxvYWQgZGV2aWNlXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzItICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTMzOnZvaWQgY3hnYjNfYWRkX2NsaWVudHMoc3RydWN0IHQzY2RldiAqdGRldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzQte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEzNTpcXHRzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTM2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEzNzpcXHRtdXRleF9sb2NrKFxcdTAwMjZjeGdiM19kYl9sb2NrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzgtXFx0bGlzdF9mb3JfZWFjaF9lbnRyeShjbGllbnQsIFxcdTAwMjZjbGllbnRfbGlzdCwgY2xpZW50X2xpc3QpIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE0MS1cXHR9XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTQyOlxcdG11dGV4X3VubG9jayhcXHUwMDI2Y3hnYjNfZGJfbG9jayk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTQzLX1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE0NS0vKipcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxNDY6ICpcXHRjeGdiM19yZW1vdmVfY2xpZW50cyAtIGRlYWN0aXZhdGVzIHJlZ2lzdGVyZWQgY2xpZW50c1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE0Ny0gKlxcdFxcdFxcdCAgICAgICBmb3IgYW4gb2ZmbG9hZCBkZXZpY2VcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE1MS0gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxNTI6dm9pZCBjeGdiM19yZW1vdmVfY2xpZW50cyhzdHJ1Y3QgdDNjZGV2ICp0ZGV2KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE1My17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTU0OlxcdHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNTUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTU2OlxcdG11dGV4X2xvY2soXFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE1Ny1cXHRsaXN0X2Zvcl9lYWNoX2VudHJ5KGNsaWVudCwgXFx1MDAyNmNsaWVudF9saXN0LCBjbGllbnRfbGlzdCkge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTYwLVxcdH1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxNjE6XFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZjeGdiM19kYl9sb2NrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNjItfVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE2My1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxNjQ6dm9pZCBjeGdiM19ldmVudF9ub3RpZnkoc3RydWN0IHQzY2RldiAqdGRldiwgdTMyIGV2ZW50LCB1MzIgcG9ydClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNjUte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE2NjpcXHRzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTY3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE2ODpcXHRtdXRleF9sb2NrKFxcdTAwMjZjeGdiM19kYl9sb2NrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNjktXFx0bGlzdF9mb3JfZWFjaF9lbnRyeShjbGllbnQsIFxcdTAwMjZjbGllbnRfbGlzdCwgY2xpZW50X2xpc3QpIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE3Mi1cXHR9XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTczOlxcdG11dGV4X3VubG9jayhcXHUwMDI2Y3hnYjNfZGJfbG9jayk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTc0LX1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTQ4OD1zdGF0aWMgdm9pZCBkdW1teV9uZWlnaF91cGRhdGUoc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3QgbmVpZ2hib3VyICpuZWlnaClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTQ5MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo0OTI6dm9pZCBjeGdiM19zZXRfZHVtbXlfb3BzKHN0cnVjdCB0M2NkZXYgKmRldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy00OTMte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTAwLSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjUwMTp2b2lkICpjeGdiM19mcmVlX2F0aWQoc3RydWN0IHQzY2RldiAqdGRldiwgaW50IGF0aWQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTAyLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUxNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo1MTY6RVhQT1JUX1NZTUJPTChjeGdiM19mcmVlX2F0aWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUxNy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo1MTg6dm9pZCBjeGdiM19pbnNlcnRfdGlkKHN0cnVjdCB0M2NkZXYgKnRkZXYsIHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01MTktXFx0XFx0ICAgICAgdm9pZCAqY3R4LCB1bnNpZ25lZCBpbnQgdGlkKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTI3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjUyODpFWFBPUlRfU1lNQk9MKGN4Z2IzX2luc2VydF90aWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUyOS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTU0Mz1zdGF0aWMgdm9pZCB0M19wcm9jZXNzX3RpZF9yZWxlYXNlX2xpc3Qoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTY4LVxcdFxcdG1rX3RpZF9yZWxlYXNlKHNrYiwgcCAtIHRkLVxcdTAwM2V0aWRfbWFwcy50aWRfdGFiKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo1Njk6XFx0XFx0Y3hnYjNfb2ZsZF9zZW5kKHRkZXYsIHNrYik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTcwLVxcdFxcdHAtXFx1MDAzZWN0eCA9IE5VTEw7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01ODYtLyogdXNlIGN0eCBhcyBhIG5leHQgcG9pbnRlciBpbiB0aGUgdGlkIHJlbGVhc2UgbGlzdCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjU4Nzp2b2lkIGN4Z2IzX3F1ZXVlX3RpZF9yZWxlYXNlKHN0cnVjdCB0M2NkZXYgKnRkZXYsIHVuc2lnbmVkIGludCB0aWQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTg4LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYwMC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo2MDE6RVhQT1JUX1NZTUJPTChjeGdiM19xdWV1ZV90aWRfcmVsZWFzZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjAyLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjA5LSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYxMDp2b2lkIGN4Z2IzX3JlbW92ZV90aWQoc3RydWN0IHQzY2RldiAqdGRldiwgdm9pZCAqY3R4LCB1bnNpZ25lZCBpbnQgdGlkKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYxMS17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy02MjItXFx0XFx0XFx0bWtfdGlkX3JlbGVhc2Uoc2tiLCB0aWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYyMzpcXHRcXHRcXHRjeGdiM19vZmxkX3NlbmQodGRldiwgc2tiKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy02MjQtXFx0XFx0XFx0dC1cXHUwMDNldGlkX3RhYlt0aWRdLmN0eCA9IE5VTEw7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjI1LVxcdFxcdH0gZWxzZVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYyNjpcXHRcXHRcXHRjeGdiM19xdWV1ZV90aWRfcmVsZWFzZSh0ZGV2LCB0aWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYyNy1cXHR9XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy02MzAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6NjMxOkVYUE9SVF9TWU1CT0woY3hnYjNfcmVtb3ZlX3RpZCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjMyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYzMzppbnQgY3hnYjNfYWxsb2NfYXRpZChzdHJ1Y3QgdDNjZGV2ICp0ZGV2LCBzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjM0LVxcdFxcdCAgICAgdm9pZCAqY3R4KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjU0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjY1NTpFWFBPUlRfU1lNQk9MKGN4Z2IzX2FsbG9jX2F0aWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTY1Ni1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTc1Nj1zdGF0aWMgaW50IGRvX2NyKHN0cnVjdCB0M2NkZXYgKmRldiwgc3RydWN0IHNrX2J1ZmYgKnNrYilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTc4OS0gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo3OTA6c3RhdGljIHN0cnVjdCBza19idWZmICpjeGdiM19nZXRfY3BsX3JlcGx5X3NrYihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzaXplX3QgbGVuLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTc5MS1cXHRcXHRcXHRcXHRcXHQgICAgICAgZ2ZwX3QgZ2ZwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM9ODA1PXN0YXRpYyBpbnQgZG9fYWJvcnRfcmVxX3JzcyhzdHJ1Y3QgdDNjZGV2ICpkZXYsIHN0cnVjdCBza19idWZmICpza2IpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy04MjYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6ODI3OlxcdFxcdHJlcGx5X3NrYiA9IGN4Z2IzX2dldF9jcGxfcmVwbHlfc2tiKHNrYixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy04MjgtXFx0XFx0XFx0XFx0XFx0XFx0ICAgIHNpemVvZihzdHJ1Y3RcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTg0My1cXHRcXHRycGwtXFx1MDAzZWNtZCA9IGNtZDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo4NDQ6XFx0XFx0Y3hnYjNfb2ZsZF9zZW5kKGRldiwgcmVwbHlfc2tiKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy04NDUtb3V0Olxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM9OTgwPXN0YXRpYyBpbnQgcHJvY2Vzc19yeChzdHJ1Y3QgdDNjZGV2ICpkZXYsIHN0cnVjdCBza19idWZmICoqc2ticywgaW50IG4pXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMDAzLSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEwMDQ6aW50IGN4Z2IzX29mbGRfc2VuZChzdHJ1Y3QgdDNjZGV2ICpkZXYsIHN0cnVjdCBza19idWZmICpza2IpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTAwNS17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMDEzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEwMTQ6RVhQT1JUX1NZTUJPTChjeGdiM19vZmxkX3NlbmQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEwMTUtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYz0xMTcxPXN0YXRpYyBpbmxpbmUgdm9pZCByZW1vdmVfYWRhcHRlcihzdHJ1Y3QgYWRhcHRlciAqYWRhcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTExNzctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTE3ODppbnQgY3hnYjNfb2ZmbG9hZF9hY3RpdmF0ZShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlcilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMTc5LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTEyNDI9c3RhdGljIHZvaWQgY2xlYW5fbDJfZGF0YShzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjQ4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEyNDk6dm9pZCBjeGdiM19vZmZsb2FkX2RlYWN0aXZhdGUoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI1MC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYz0xMjcwPXN0YXRpYyBpbmxpbmUgdm9pZCByZWdpc3Rlcl90ZGV2KHN0cnVjdCB0M2NkZXYgKnRkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjczLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEyNzQ6XFx0bXV0ZXhfbG9jayhcXHUwMDI2Y3hnYjNfZGJfbG9jayk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI3NS1cXHRzbnByaW50Zih0ZGV2LVxcdTAwM2VuYW1lLCBzaXplb2YodGRldi1cXHUwMDNlbmFtZSksIFxcXCJvZmxkX2RldiVkXFxcIiwgdW5pdCsrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjc2LVxcdGxpc3RfYWRkX3RhaWwoXFx1MDAyNnRkZXYtXFx1MDAzZW9mbGRfZGV2X2xpc3QsIFxcdTAwMjZvZmxkX2Rldl9saXN0KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjc3OlxcdG11dGV4X3VubG9jayhcXHUwMDI2Y3hnYjNfZGJfbG9jayk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI3OC19XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYz0xMjgwPXN0YXRpYyBpbmxpbmUgdm9pZCB1bnJlZ2lzdGVyX3RkZXYoc3RydWN0IHQzY2RldiAqdGRldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjgxLXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjgyOlxcdG11dGV4X2xvY2soXFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEyODMtXFx0bGlzdF9kZWwoXFx1MDAyNnRkZXYtXFx1MDAzZW9mbGRfZGV2X2xpc3QpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEyODQ6XFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZjeGdiM19kYl9sb2NrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjg1LX1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTEyODc9c3RhdGljIGlubGluZSBpbnQgYWRhcDJ0eXBlKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTMwNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMzA2OnZvaWQgY3hnYjNfYWRhcHRlcl9vZmxkKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEzMDcte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTMxMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMzEyOlxcdGN4Z2IzX3NldF9kdW1teV9vcHModGRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTMxMy1cXHR0ZGV2LVxcdTAwM2VzZW5kID0gdDNfb2ZmbG9hZF90eDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEzMTktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTMyMDp2b2lkIGN4Z2IzX2FkYXB0ZXJfdW5vZmxkKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEzMjEte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTMyOS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMzMwOnZvaWQgX19pbml0IGN4Z2IzX29mZmxvYWRfaW5pdCh2b2lkKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEzMzEte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg9NDM9c3RydWN0IGFkYXB0ZXI7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtNDQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NDU6dm9pZCBjeGdiM19vZmZsb2FkX2luaXQodm9pZCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtNDYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NDc6dm9pZCBjeGdiM19hZGFwdGVyX29mbGQoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjQ4OnZvaWQgY3hnYjNfYWRhcHRlcl91bm9mbGQoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjQ5OmludCBjeGdiM19vZmZsb2FkX2FjdGl2YXRlKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo1MDp2b2lkIGN4Z2IzX29mZmxvYWRfZGVhY3RpdmF0ZShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlcik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtNTEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NTI6dm9pZCBjeGdiM19zZXRfZHVtbXlfb3BzKHN0cnVjdCB0M2NkZXYgKmRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtNTMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg9NTQ9c3RydWN0IHQzY2RldiAqZGV2MnQzY2RldihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oLTYyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjYzOnZvaWQgY3hnYjNfcmVnaXN0ZXJfY2xpZW50KHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NjQ6dm9pZCBjeGdiM191bnJlZ2lzdGVyX2NsaWVudChzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjY1OnZvaWQgY3hnYjNfYWRkX2NsaWVudHMoc3RydWN0IHQzY2RldiAqdGRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NjY6dm9pZCBjeGdiM19yZW1vdmVfY2xpZW50cyhzdHJ1Y3QgdDNjZGV2ICp0ZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo2Nzp2b2lkIGN4Z2IzX2V2ZW50X25vdGlmeShzdHJ1Y3QgdDNjZGV2ICp0ZGV2LCB1MzIgZXZlbnQsIHUzMiBwb3J0KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC02OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo2OTp0eXBlZGVmIGludCAoKmN4Z2IzX2NwbF9oYW5kbGVyX2Z1bmMpKHN0cnVjdCB0M2NkZXYgKmRldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC03MC1cXHRcXHRcXHRcXHQgICAgICBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB2b2lkICpjdHgpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg9NzI9ZW51bSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC04MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo4MjpzdHJ1Y3QgY3hnYjNfY2xpZW50IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC04My1cXHRjaGFyICpuYW1lO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtODUtXFx0dm9pZCAoKnJlbW92ZSkgKHN0cnVjdCB0M2NkZXYgKik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6ODY6XFx0Y3hnYjNfY3BsX2hhbmRsZXJfZnVuYyAqaGFuZGxlcnM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtODctXFx0aW50ICgqcmVkaXJlY3QpKHZvaWQgKmN0eCwgc3RydWN0IGRzdF9lbnRyeSAqb2xkLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtOTUtICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6OTY6aW50IGN4Z2IzX2FsbG9jX2F0aWQoc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtOTctXFx0XFx0ICAgICB2b2lkICpjdHgpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjk4OnZvaWQgKmN4Z2IzX2ZyZWVfYXRpZChzdHJ1Y3QgdDNjZGV2ICpkZXYsIGludCBhdGlkKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo5OTp2b2lkIGN4Z2IzX2luc2VydF90aWQoc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtMTAwLVxcdFxcdCAgICAgIHZvaWQgKmN0eCwgdW5zaWduZWQgaW50IHRpZCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6MTAxOnZvaWQgY3hnYjNfcXVldWVfdGlkX3JlbGVhc2Uoc3RydWN0IHQzY2RldiAqZGV2LCB1bnNpZ25lZCBpbnQgdGlkKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDoxMDI6dm9pZCBjeGdiM19yZW1vdmVfdGlkKHN0cnVjdCB0M2NkZXYgKmRldiwgdm9pZCAqY3R4LCB1bnNpZ25lZCBpbnQgdGlkKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC0xMDMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg9MTA0PXN0cnVjdCB0M2NfdGlkX2VudHJ5IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDoxMDU6XFx0c3RydWN0IGN4Z2IzX2NsaWVudCAqY2xpZW50O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oLTEwNi1cXHR2b2lkICpjdHg7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2wydC5jLTQxLSNpbmNsdWRlIFxcXCJ0M2NkZXYuaFxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2wydC5jOjQyOiNpbmNsdWRlIFxcXCJjeGdiM19kZWZzLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9sMnQuYy00My0jaW5jbHVkZSBcXFwibDJ0LmhcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2wydC5jPTg3PXN0YXRpYyBpbnQgc2V0dXBfbDJlX3NlbmRfcGVuZGluZyhzdHJ1Y3QgdDNjZGV2ICpkZXYsIHN0cnVjdCBza19idWZmICpza2IsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2wydC5jLTEwNy1cXHRza2ItXFx1MDAzZXByaW9yaXR5ID0gQ1BMX1BSSU9SSVRZX0NPTlRST0w7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9sMnQuYzoxMDg6XFx0Y3hnYjNfb2ZsZF9zZW5kKGRldiwgc2tiKTtcXG5cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTRUMTQ6Mjc6NTUuODAxMjUzNDg5WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NjY4MjU5MDU5OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50OiBOb3QgV29ydGggRnV6emluZyoqXG5cbk9rYXksIHNvIHRoZSBjb2RlIGluIHF1ZXN0aW9uIGlzIG5lc3RsZWQgd2l0aGluIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2AuIFJpZ2h0IGF3YXksIHRoYXQgdGVsbHMgbWUgdGhpcyBpcyBhIENoZWxzaW8tc3BlY2lmaWMgZHJpdmVyLCBkZXNpZ25lZCBmb3IgdGhlaXIgVDMgMTBHYkUgYW5kIDFHYkUgYWRhcHRlcnMuIFdlJ3JlIHRhbGtpbmcgYWJvdXQgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBoZXJlIOKAkyBub3QgYSBnZW5lcmljIHZpcnR1YWwgbmV0d29yayBjYXJkLlxuXG5Ob3csIHRoZSBpbnN0cnVjdGlvbnMgYXJlIGNsZWFyOiBpZiB0aGUgcGF0Y2gncyBjaGFuZ2VzIGFyZSBsaW1pdGVkIHRvIGEgZHJpdmVyIGZvciBoYXJkd2FyZSB0aGF0ICppc24ndCogZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSwgd2UgbmVlZCB0byBmbGFnIGl0IGFzIGBXb3J0aEZ1enppbmc9ZmFsc2VgLiBUaGUgcnVsZSBleHBsaWNpdGx5IGNhbGxzIG91dCB2ZW5kb3Itc3BlY2lmaWMgUENJZSBOSUMgZHJpdmVycyBsaWtlIHRoZSBvbmVzIGZvciBNZWxsYW5veCwgUUxvZ2ljLCBhbmQgQU1EIEdQVXMsIGFuZCBzaW1pbGFyIHNldHVwcy5cblxuQ2hlbHNpbyBgY3hnYjNgICphYnNvbHV0ZWx5KiBmYWxscyBpbnRvIHRoYXQgY2F0ZWdvcnkuIEl0J3MgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBOSUMgZHJpdmVyIGFuZCByZWxpZXMgb24gYWN0dWFsIHBoeXNpY2FsIGhhcmR3YXJlLiBJdCB3b3VsZCBuZWVkIHRoYXQgaGFyZHdhcmUgcHJlc2VudCwgYW5kIGFjY2Vzc2libGUgdG8gdGhlIFFFTVUgZW52aXJvbm1lbnQsIHdoaWNoIGlzIGhpZ2hseSB1bmxpa2VseSBhbmQgdGhlcmVmb3JlIGRpc3F1YWxpZmllcyBpdCBmcm9tIHN0YW5kYXJkIGZ1enppbmcuXG5cbkp1c3QgdG8gYmUgYWJzb2x1dGVseSBjZXJ0YWluLCBsZXQncyB0YWtlIGEgcXVpY2sgbG9vayBhdCBRRU1VJ3Mgc3VwcG9ydGVkIGVtdWxhdGVkIE5JQ3MuIFdlJ3ZlIGdvdCB0aGUgdXN1YWwgc3VzcGVjdHM6IGUxMDAwLCBlMTAwMGUsIHJ0bDgxMzksIHBjbmV0LCBuZTJrX3BjaSwgdm14bmV0MywgdmlydGlvLW5ldCwgaWdiLCB0dWxpcCwgYW5kIGxpa2VseSBhIGZldyBtb3JlLiBCdXQgYGN4Z2IzYCBpc24ndCBvbiB0aGUgbGlzdC4gTm8gZW11bGF0aW9uLlxuXG5UaGVyZWZvcmUsIG15IGNvbmNsdXNpb24gaXMgc29saWQuIGBXb3J0aEZ1enppbmc9ZmFsc2VgLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxNzg3NiwiT3V0cHV0VG9rZW5zIjo3OCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI2NCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0xNFQxNDoyODowMi40ODM4NDcxNjdaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMyODYwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBDaGVsc2lvIGN4Z2IzIGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBuZXR3b3JrIGFkYXB0ZXIgZHJpdmVyLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIHZpcnR1YWxpemVkIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIENoZWxzaW8gY3hnYjMgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIG5ldHdvcmsgYWRhcHRlciBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xNFQxNDoyODowMi40ODM4ODU4MTdaIiwiU2VxIjo3LCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDU4MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowzsq6g[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-14 13:55:49 +0000 UTC FinishedAt: 2026-08-14 14:28:03 +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+CgkJCTx0ZD4yMDI2LzA4LzE0IDE0OjI2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIENoZWxzaW8gY3hnYjMgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIG5ldHdvcmsgYWRhcHRlciBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE0IDE0OjI2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgNGNmZGU4Zjc5YTcwNWNiY2Y5YTkzZjY3MTRmODc3YjdhMzI0ZjdkN1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgQXVnIDE0IDE0OjI2OjUxIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvdDNfaHcuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvdDNfaHcuY1xuaW5kZXggYTA2MDAzYmZhMDRiOS4uY2MwNGQyMTU2NDI1MyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvdDNfaHcuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy90M19ody5jXG5AQCAtMTE4MCw3ICYjNDM7MTE4MCw4IEBAIHZvaWQgdDNfbGlua19jaGFuZ2VkKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLCBpbnQgcG9ydF9pZClcbiBcdHN0cnVjdCBjbWFjICptYWMgPSBcdTAwMjZwaS1cdTAwM2VtYWM7XG4gXHRzdHJ1Y3QgbGlua19jb25maWcgKmxjID0gXHUwMDI2cGktXHUwMDNlbGlua19jb25maWc7XG4gXG4tXHRwaHktXHUwMDNlb3BzLVx1MDAzZWdldF9saW5rX3N0YXR1cyhwaHksIFx1MDAyNmxpbmtfb2ssIFx1MDAyNnNwZWVkLCBcdTAwMjZkdXBsZXgsIFx1MDAyNmZjKTtcbiYjNDM7XHRpZiAocGh5LVx1MDAzZW9wcy1cdTAwM2VnZXRfbGlua19zdGF0dXMocGh5LCBcdTAwMjZsaW5rX29rLCBcdTAwMjZzcGVlZCwgXHUwMDI2ZHVwbGV4LCBcdTAwMjZmYykpXG4mIzQzO1x0XHRyZXR1cm47XG4gXG4gXHRpZiAoIWxjLVx1MDAzZWxpbmtfb2sgXHUwMDI2XHUwMDI2IGxpbmtfb2spIHtcbiBcdFx0dTMyIHJ4X2NmZywgcnhfaGFzaF9oaWdoLCByeF9oYXNoX2xvdztcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNCAxNDoyNjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4xbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIENoZWxzaW8gY3hnYjMgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIG5ldHdvcmsgYWRhcHRlciBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNGNmZGU4Zjc5YTcwNWNiY2Y5YTkzZjY3MTRmODc3YjdhMzI0ZjdkNwpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBGcmkgQXVnIDE0IDE0OjI2OjUxIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy90M19ody5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy90M19ody5jCmluZGV4IGEwNjAwM2JmYTA0YjkuLmNjMDRkMjE1NjQyNTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvdDNfaHcuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL3QzX2h3LmMKQEAgLTExODAsNyAmIzQzOzExODAsOCBAQCB2b2lkIHQzX2xpbmtfY2hhbmdlZChzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgaW50IHBvcnRfaWQpCiAJc3RydWN0IGNtYWMgKm1hYyA9ICZhbXA7cGktJmd0O21hYzsKIAlzdHJ1Y3QgbGlua19jb25maWcgKmxjID0gJmFtcDtwaS0mZ3Q7bGlua19jb25maWc7CiAKLQlwaHktJmd0O29wcy0mZ3Q7Z2V0X2xpbmtfc3RhdHVzKHBoeSwgJmFtcDtsaW5rX29rLCAmYW1wO3NwZWVkLCAmYW1wO2R1cGxleCwgJmFtcDtmYyk7CiYjNDM7CWlmIChwaHktJmd0O29wcy0mZ3Q7Z2V0X2xpbmtfc3RhdHVzKHBoeSwgJmFtcDtsaW5rX29rLCAmYW1wO3NwZWVkLCAmYW1wO2R1cGxleCwgJmFtcDtmYykpCiYjNDM7CQlyZXR1cm47CiAKIAlpZiAoIWxjLSZndDtsaW5rX29rICZhbXA7JmFtcDsgbGlua19vaykgewogCQl1MzIgcnhfY2ZnLCByeF9oYXNoX2hpZ2gsIHJ4X2hhc2hfbG93Owo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNCAxNDoyNjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDg5CgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogMjY0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIFBhdGNoJiMzOTtzIFdvcnRoaW5lc3MgZm9yIEZ1enppbmcqKgoKT2theSwgc28gdGhpcyBwYXRjaCB0b3VjaGVzIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL3QzX2h3LmNgLiBUaGF0JiMzOTtzIGEgQ2hlbHNpbyBkcml2ZXIsIHNwZWNpZmljYWxseSBmb3IgdGhlaXIgVDMgMTBHYkUgYW5kIDFHYkUgYWRhcHRlcnMuIFdlJiMzOTtyZSB0YWxraW5nIGFib3V0IHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgaGVyZSwgcmlnaHQ/IE15IGluaXRpYWwgdGhvdWdodCBpcywgY2FuIHRoaXMgYmUgcmVhbGlzdGljYWxseSBmdXp6ZWQgaW4gYSBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50PyBDaGVsc2lvIGNhcmRzICp1c3VhbGx5KiBhcmVuJiMzOTt0IGVtdWxhdGVkIHRoYXQgd2VsbC4gTGV0JiMzOTtzIHF1aWNrbHkgdmVyaWZ5IGlmIHRoZXJlJiMzOTtzICphbnkqIGN4Z2IzIGVtdWxhdGlvbiBhdmFpbGFibGUgaW4gUUVNVSDigJMganVzdCB0byBiZSB0aG9yb3VnaC4KCkFoLCB3YWl0IGEgc2Vjb25kLCBsZXQgbWUgY2hlY2sgdGhlIHNwZWNpZmljIGluc3RydWN0aW9ucy4uLiBBaC1oYSEgJiMzNDtSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zIGNvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMuLi4gdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuJiMzNDsKClJpZ2h0LCBjeGdiMyAqaXMqIGEgdmVuZG9yLXNwZWNpZmljIFBDSWUgTklDIGRyaXZlci4gVGhhdOKAmXMgYSBrZXkgcGllY2Ugb2YgaW5mb3JtYXRpb24uIFNvLCByZWFsaXN0aWNhbGx5LCB0aGUgcXVlc3Rpb24gYmVjb21lczogaXMgdGhlcmUgYW55IHBsYXVzaWJsZSBwYXRoIHRvIGV4ZXJjaXNpbmcgdGhpcyBjb2RlIGluIGEgdmlydHVhbGl6ZWQgc2V0dGluZz8gQW5kIGlmIEkmIzM5O20gaG9uZXN0IHdpdGggbXlzZWxmLCB0aGUgYW5zd2VyIGlzIHByb2JhYmx5IG5vLiBXZSYjMzk7cmUgbW9zdCBsaWtlbHkgdGFsa2luZyBhYm91dCBhIGhhcmQgcmVxdWlyZW1lbnQgZm9yIHBoeXNpY2FsIGhhcmR3YXJlIGhlcmUuIExldCBtZSBqdXN0IGNvbmZpcm0gdGhhdCBjeGdiMyAqaXMqIGluZGVlZCBhIFBDSWUgZHJpdmVyIGFuZCBJJiMzOTttIGdvb2QuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTQgMTQ6Mjc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y3hnYjMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgNTg1IGxpbmVzLlxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxuXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL01ha2VmaWxlLTUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL01ha2VmaWxlOjY6b2JqLSQoQ09ORklHX0NIRUxTSU9fVDMpICYjNDM7PSBjeGdiMy5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL01ha2VmaWxlLTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL01ha2VmaWxlOjg6Y3hnYjMtb2JqcyA6PSBjeGdiM19tYWluLm8gYWVsMTAwMi5vIHZzYzgyMTEubyB0M19ody5vIG1jNS5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL01ha2VmaWxlOjk6XHQgICAgICB4Z21hYy5vIHNnZS5vIGwydC5vIGN4Z2IzX29mZmxvYWQubyBhcTEwMHgub1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvYWRhcHRlci5oPTMyNj1pbnQgdDNfc2dlX2FsbG9jX3FzZXQoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIHVuc2lnbmVkIGludCBpZCwgaW50IG5wb3J0cyxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2FkYXB0ZXIuaC0zMjktXHRcdCAgICAgIHN0cnVjdCBuZXRkZXZfcXVldWUgKm5ldGRldnEpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9hZGFwdGVyLmg6MzMwOmV4dGVybiBzdHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqY3hnYjNfd3E7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2FkYXB0ZXIuaC0zMzEtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jb21tb24uaD03NzA9aW50IHQzX2FxMTAweF9waHlfcHJlcChzdHJ1Y3QgY3BoeSAqcGh5LCBzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlcixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2NvbW1vbi5oLTc3Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY29tbW9uLmg6NzczOmV4dGVybiBzdHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqY3hnYjNfd3E7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2NvbW1vbi5oLTc3NC0jZW5kaWZcdFx0XHRcdC8qIF9fQ0hFTFNJT19DT01NT05fSCAqL1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfZGVmcy5oLTM5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19kZWZzLmg6NDA6I2luY2x1ZGUgXCYjMzQ7Y3hnYjNfb2ZmbG9hZC5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX2RlZnMuaC00MS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy01NS0jaW5jbHVkZSBcJiMzNDtjb21tb24uaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6NTY6I2luY2x1ZGUgXCYjMzQ7Y3hnYjNfaW9jdGwuaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtNTctI2luY2x1ZGUgXCYjMzQ7cmVncy5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo1ODojaW5jbHVkZSBcJiMzNDtjeGdiM19vZmZsb2FkLmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTU5LSNpbmNsdWRlIFwmIzM0O3ZlcnNpb24uaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtNjAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo2MTojaW5jbHVkZSBcJiMzNDtjeGdiM19jdGxfZGVmcy5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy02Mi0jaW5jbHVkZSBcJiMzNDt0M19jcGwuaFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTY1PWVudW0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTg3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6ODg6c3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIGN4Z2IzX3BjaV90YmxbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTg5LVx0Q0hfREVWSUNFKDB4MjAsIDApLFx0LyogUEU5MDAwICovXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9MTA3PU1PRFVMRV9MSUNFTlNFKFwmIzM0O0R1YWwgQlNEL0dQTFwmIzM0Oyk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxMDg6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIGN4Z2IzX3BjaV90YmwpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTA5LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTEzNz1NT0RVTEVfUEFSTV9ERVNDKG9mbGRfZGlzYWJsZSwgXCYjMzQ7d2hldGhlciB0byBlbmFibGUgb2ZmbG9hZCBhdCBpbml0IHRpbWUgb3Igbm90XCYjMzQ7KTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDYtICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxNDc6c3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKmN4Z2IzX3dxO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTQ4LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTc4ND1DWEdCM19BVFRSX1JXKG5zZXJ2ZXJzLCBhZGFwLVx1MDAzZXBhcmFtcy5tYzUubnNlcnZlcnMsIHN0b3JlX25zZXJ2ZXJzKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTc4NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjc4NjpzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqY3hnYjNfYXR0cnNbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTc4Ny1cdFx1MDAyNmRldl9hdHRyX2NhbV9zaXplLmF0dHIsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtNzkyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6NzkzOnN0YXRpYyBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGN4Z2IzX2F0dHJfZ3JvdXAgPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo3OTQ6XHQuYXR0cnMgPSBjeGdiM19hdHRycyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTc5NS19O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTk3MT1zdGF0aWMgaW50IGJpbmRfcXNldHMoc3RydWN0IGFkYXB0ZXIgKmFkYXApXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtOTkxLVx0X19zdHJpbmdpZnkoRldfVkVSU0lPTl9NSU5PUikgXCYjMzQ7LlwmIzM0OyBfX3N0cmluZ2lmeShGV19WRVJTSU9OX01JQ1JPKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6OTkyOiNkZWZpbmUgRldfRk5BTUUgXCYjMzQ7Y3hnYjMvdDNmdy1cJiMzNDsgRldfVkVSU0lPTiBcJiMzNDsuYmluXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy05OTMtI2RlZmluZSBUUFNSQU1fVkVSU0lPTiBfX3N0cmluZ2lmeShUUF9WRVJTSU9OX01BSk9SKSBcJiMzNDsuXCYjMzQ7XHRcdFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy05OTQtXHRfX3N0cmluZ2lmeShUUF9WRVJTSU9OX01JTk9SKSBcJiMzNDsuXCYjMzQ7IF9fc3RyaW5naWZ5KFRQX1ZFUlNJT05fTUlDUk8pXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo5OTU6I2RlZmluZSBUUFNSQU1fTkFNRSBcJiMzNDtjeGdiMy90MyVjX3BzcmFtLVwmIzM0OyBUUFNSQU1fVkVSU0lPTiBcJiMzNDsuYmluXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo5OTY6I2RlZmluZSBBRUwyMDA1X09QVF9FRENfTkFNRSBcJiMzNDtjeGdiMy9hZWwyMDA1X29wdF9lZGMuYmluXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo5OTc6I2RlZmluZSBBRUwyMDA1X1RXWF9FRENfTkFNRSBcJiMzNDtjeGdiMy9hZWwyMDA1X3R3eF9lZGMuYmluXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo5OTg6I2RlZmluZSBBRUwyMDIwX1RXWF9FRENfTkFNRSBcJiMzNDtjeGdiMy9hZWwyMDIwX3R3eF9lZGMuYmluXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy05OTktTU9EVUxFX0ZJUk1XQVJFKEZXX0ZOQU1FKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjEwMDA6TU9EVUxFX0ZJUk1XQVJFKFwmIzM0O2N4Z2IzL3QzYl9wc3JhbS1cJiMzNDsgVFBTUkFNX1ZFUlNJT04gXCYjMzQ7LmJpblwmIzM0Oyk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxMDAxOk1PRFVMRV9GSVJNV0FSRShcJiMzNDtjeGdiMy90M2NfcHNyYW0tXCYjMzQ7IFRQU1JBTV9WRVJTSU9OIFwmIzM0Oy5iaW5cJiMzNDspO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTAwMi1NT0RVTEVfRklSTVdBUkUoQUVMMjAwNV9PUFRfRURDX05BTUUpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTEzMjE9c3RhdGljIHZvaWQgY3hnYl9kb3duKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLCBpbnQgb25fd3EpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTMzMS1cdGlmICghb25fd3EpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxMzMyOlx0XHRmbHVzaF93b3JrcXVldWUoY3hnYjNfd3EpOy8qIHdhaXQgZm9yIGV4dGVybmFsIElSUSBoYW5kbGVyICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzMzLX1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0xMzM1PXN0YXRpYyB2b2lkIHNjaGVkdWxlX2Noa190YXNrKHN0cnVjdCBhZGFwdGVyICphZGFwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTEzNDItXHRpZiAodGltZW8pXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxMzQzOlx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoY3hnYjNfd3EsIFx1MDAyNmFkYXAtXHUwMDNlYWRhcF9jaGVja190YXNrLCB0aW1lbyk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzQ0LX1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0xMzQ2PXN0YXRpYyBpbnQgb2ZmbG9hZF9vcGVuKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM2MS1cdHRkZXYtXHUwMDNlbGxkZXYgPSBhZGFwdGVyLVx1MDAzZXBvcnRbMF07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxMzYyOlx0ZXJyID0gY3hnYjNfb2ZmbG9hZF9hY3RpdmF0ZShhZGFwdGVyKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTEzNjMtXHRpZiAoZXJyKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTEzNzYtXHQvKiBDYWxsIGJhY2sgYWxsIHJlZ2lzdGVyZWQgY2xpZW50cyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MTM3NzpcdGN4Z2IzX2FkZF9jbGllbnRzKHRkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM3OC1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzgzLVx0XHRjbGVhcl9iaXQoT0ZGTE9BRF9ERVZNQVBfQklULCBcdTAwMjZhZGFwdGVyLVx1MDAzZW9wZW5fZGV2aWNlX21hcCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxMzg0Olx0XHRjeGdiM19zZXRfZHVtbXlfb3BzKHRkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM4NS1cdH1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0xMzg5PXN0YXRpYyBpbnQgb2ZmbG9hZF9jbG9zZShzdHJ1Y3QgdDNjZGV2ICp0ZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTEzOTctXHQvKiBDYWxsIGJhY2sgYWxsIHJlZ2lzdGVyZWQgY2xpZW50cyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MTM5ODpcdGN4Z2IzX3JlbW92ZV9jbGllbnRzKHRkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM5OS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDA1LVx0dGRldi1cdTAwM2VsbGRldiA9IE5VTEw7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxNDA2Olx0Y3hnYjNfc2V0X2R1bW15X29wcyh0ZGV2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTE0MDctXHR0M190cF9zZXRfb2ZmbG9hZF9tb2RlKGFkYXB0ZXIsIDApO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTE0MTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxNDEzOlx0Y3hnYjNfb2ZmbG9hZF9kZWFjdGl2YXRlKGFkYXB0ZXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTQxNC1cdHJldHVybiAwO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTE0MTc9c3RhdGljIGludCBjeGdiX29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDQzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MTQ0NDpcdGN4Z2IzX2V2ZW50X25vdGlmeShcdTAwMjZhZGFwdGVyLVx1MDAzZXRkZXYsIE9GRkxPQURfUE9SVF9VUCwgcGktXHUwMDNlcG9ydF9pZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDQ1LVx0cmV0dXJuIDA7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9MTQ0OD1zdGF0aWMgaW50IF9fY3hnYl9jbG9zZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgb25fd3EpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTQ3Ni1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjE0Nzc6XHRjeGdiM19ldmVudF9ub3RpZnkoXHUwMDI2YWRhcHRlci1cdTAwM2V0ZGV2LCBPRkZMT0FEX1BPUlRfRE9XTiwgcGktXHUwMDNlcG9ydF9pZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDc4LVx0cmV0dXJuIDA7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9Mjc5ND1zdGF0aWMgdm9pZCBkYl9mdWxsX3Rhc2soc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI3OTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoyNzk5Olx0Y3hnYjNfZXZlbnRfbm90aWZ5KFx1MDAyNmFkYXB0ZXItXHUwMDNldGRldiwgT0ZGTE9BRF9EQl9GVUxMLCAwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI4MDAtfVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTI4MDI9c3RhdGljIHZvaWQgZGJfZW1wdHlfdGFzayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMjgwNi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjI4MDc6XHRjeGdiM19ldmVudF9ub3RpZnkoXHUwMDI2YWRhcHRlci1cdTAwM2V0ZGV2LCBPRkZMT0FEX0RCX0VNUFRZLCAwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI4MDgtfVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTI4MTA9c3RhdGljIHZvaWQgZGJfZHJvcF90YXNrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0yODE2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MjgxNzpcdGN4Z2IzX2V2ZW50X25vdGlmeShcdTAwMjZhZGFwdGVyLVx1MDAzZXRkZXYsIE9GRkxPQURfREJfRFJPUCwgMCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0yODE4LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTI4Njg9dm9pZCB0M19vc19leHRfaW50cl9oYW5kbGVyKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI4ODAtXHRcdFx0ICAgICBhZGFwdGVyLVx1MDAzZXNsb3dfaW50cl9tYXNrKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjI4ODE6XHRcdHF1ZXVlX3dvcmsoY3hnYjNfd3EsIFx1MDAyNmFkYXB0ZXItXHUwMDNlZXh0X2ludHJfaGFuZGxlcl90YXNrKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI4ODItXHR9XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9Mjg5Nj1zdGF0aWMgaW50IHQzX2FkYXB0ZXJfZXJyb3Ioc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIGludCByZXNldCwgaW50IG9uX3dxKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI5MDEtXHQgICAgdGVzdF9iaXQoT0ZGTE9BRF9ERVZNQVBfQklULCBcdTAwMjZhZGFwdGVyLVx1MDAzZW9wZW5fZGV2aWNlX21hcCkpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjI5MDI6XHRcdGN4Z2IzX2V2ZW50X25vdGlmeShcdTAwMjZhZGFwdGVyLVx1MDAzZXRkZXYsIE9GRkxPQURfU1RBVFVTX0RPV04sIDApO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMjkwMy1cdFx0b2ZmbG9hZF9jbG9zZShcdTAwMjZhZGFwdGVyLVx1MDAzZXRkZXYpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTI5NDg9c3RhdGljIHZvaWQgdDNfcmVzdW1lX3BvcnRzKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI5NjYtXHRpZiAoaXNfb2ZmbG9hZChhZGFwdGVyKSBcdTAwMjZcdTAwMjYgIW9mbGRfZGlzYWJsZSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjI5Njc6XHRcdGN4Z2IzX2V2ZW50X25vdGlmeShcdTAwMjZhZGFwdGVyLVx1MDAzZXRkZXYsIE9GRkxPQURfU1RBVFVTX1VQLCAwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI5NjgtfVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTI5OTE9dm9pZCB0M19mYXRhbF9lcnIoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzAwMy1cdFx0dDNfaW50cl9kaXNhYmxlKGFkYXB0ZXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzAwNDpcdFx0cXVldWVfd29yayhjeGdiM193cSwgXHUwMDI2YWRhcHRlci1cdTAwM2VmYXRhbF9lcnJvcl9oYW5kbGVyX3Rhc2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzAwNS1cdFx0c3Bpbl91bmxvY2soXHUwMDI2YWRhcHRlci1cdTAwM2V3b3JrX2xvY2spO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTMxNzQ9c3RhdGljIGNvbnN0IHN0cnVjdCBuZXRfZGV2aWNlX29wcyBjeGdiX25ldGRldl9vcHMgPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzE5MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMxOTI6c3RhdGljIHZvaWQgY3hnYjNfaW5pdF9pc2NzaV9tYWMoc3RydWN0IG5ldF9kZXZpY2UgKmRldilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTMxOTMte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTMyMDM9c3RhdGljIGludCBpbml0X29uZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMjEwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzIxMTpcdGlmICghY3hnYjNfd3EpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMyMTI6XHRcdGN4Z2IzX3dxID0gY3JlYXRlX3NpbmdsZXRocmVhZF93b3JrcXVldWUoRFJWX05BTUUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzIxMzpcdFx0aWYgKCFjeGdiM193cSkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzIxNC1cdFx0XHRwcl9lcnIoXCYjMzQ7Y2Fubm90IGluaXRpYWxpemUgd29yayBxdWV1ZVxcblwmIzM0Oyk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzM1NC1cdGZvcl9lYWNoX3BvcnQoYWRhcHRlciwgaSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMzNTU6XHRcdGN4Z2IzX2luaXRfaXNjc2lfbWFjKGFkYXB0ZXItXHUwMDNlcG9ydFtpXSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMzU2LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTMzNjEtXHRcdF9fc2V0X2JpdChPRkZMT0FEX0RFVk1BUF9CSVQsIFx1MDAyNmFkYXB0ZXItXHUwMDNlcmVnaXN0ZXJlZF9kZXZpY2VfbWFwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMzNjI6XHRcdGN4Z2IzX2FkYXB0ZXJfb2ZsZChhZGFwdGVyKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTMzNjMtXHR9XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzM3My1cdGVyciA9IHN5c2ZzX2NyZWF0ZV9ncm91cChcdTAwMjZhZGFwdGVyLVx1MDAzZXBvcnRbMF0tXHUwMDNlZGV2LmtvYmosXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzozMzc0Olx0XHRcdFx0IFx1MDAyNmN4Z2IzX2F0dHJfZ3JvdXApO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzM3NS1cdGlmIChlcnIpIHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0zNDA2PXN0YXRpYyB2b2lkIHJlbW92ZV9vbmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzQxNC1cdFx0c3lzZnNfcmVtb3ZlX2dyb3VwKFx1MDAyNmFkYXB0ZXItXHUwMDNlcG9ydFswXS1cdTAwM2VkZXYua29iaixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjM0MTU6XHRcdFx0XHQgICBcdTAwMjZjeGdiM19hdHRyX2dyb3VwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0MTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDE3LVx0XHRpZiAoaXNfb2ZmbG9hZChhZGFwdGVyKSkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQxODpcdFx0XHRjeGdiM19hZGFwdGVyX3Vub2ZsZChhZGFwdGVyKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0MTktXHRcdFx0aWYgKHRlc3RfYml0KE9GRkxPQURfREVWTUFQX0JJVCxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0zNDQ0PXN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBkcml2ZXIgPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDQ1LVx0Lm5hbWUgPSBEUlZfTkFNRSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjM0NDY6XHQuaWRfdGFibGUgPSBjeGdiM19wY2lfdGJsLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzQ0Ny1cdC5wcm9iZSA9IGluaXRfb25lLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NTEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzozNDUyOnN0YXRpYyBpbnQgX19pbml0IGN4Z2IzX2luaXRfbW9kdWxlKHZvaWQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDUzLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDU1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ1NjpcdGN4Z2IzX29mZmxvYWRfaW5pdCgpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzQ1Ny1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDYxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ2MjpzdGF0aWMgdm9pZCBfX2V4aXQgY3hnYjNfY2xlYW51cF9tb2R1bGUodm9pZClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NjMte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzQ2NC1cdHBjaV91bnJlZ2lzdGVyX2RyaXZlcihcdTAwMjZkcml2ZXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ2NTpcdGlmIChjeGdiM193cSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjM0NjY6XHRcdGRlc3Ryb3lfd29ya3F1ZXVlKGN4Z2IzX3dxKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NjctfVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzQ2OC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjM0Njk6bW9kdWxlX2luaXQoY3hnYjNfaW5pdF9tb2R1bGUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ3MDptb2R1bGVfZXhpdChjeGdiM19jbGVhbnVwX21vZHVsZSk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNDgtI2luY2x1ZGUgXCYjMzQ7cmVncy5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo0OTojaW5jbHVkZSBcJiMzNDtjeGdiM19pb2N0bC5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo1MDojaW5jbHVkZSBcJiMzNDtjeGdiM19jdGxfZGVmcy5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo1MTojaW5jbHVkZSBcJiMzNDtjeGdiM19kZWZzLmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUyLSNpbmNsdWRlIFwmIzM0O2wydC5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01My0jaW5jbHVkZSBcJiMzNDtmaXJtd2FyZV9leHBvcnRzLmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjU0OiNpbmNsdWRlIFwmIzM0O2N4Z2IzX29mZmxvYWQuaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTUtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM9NTc9c3RhdGljIExJU1RfSEVBRChvZmxkX2Rldl9saXN0KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjU4OnN0YXRpYyBERUZJTkVfTVVURVgoY3hnYjNfZGJfbG9jayk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01OS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYz03MD1zdGF0aWMgaW5saW5lIGludCBvZmZsb2FkX2FjdGl2YXRlZChzdHJ1Y3QgdDNjZGV2ICp0ZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTc3LS8qKlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6Nzg6ICpcdGN4Z2IzX3JlZ2lzdGVyX2NsaWVudCAtIHJlZ2lzdGVyIGFuIG9mZmxvYWQgY2xpZW50XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy03OS0gKlx0QGNsaWVudDogdGhlIGNsaWVudFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTgzLSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6ODQ6dm9pZCBjeGdiM19yZWdpc3Rlcl9jbGllbnQoc3RydWN0IGN4Z2IzX2NsaWVudCAqY2xpZW50KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtODUte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTg3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6ODg6XHRtdXRleF9sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtODktXHRsaXN0X2FkZF90YWlsKFx1MDAyNmNsaWVudC1cdTAwM2VjbGllbnRfbGlzdCwgXHUwMDI2Y2xpZW50X2xpc3QpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTk2LVx0fVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6OTc6XHRtdXRleF91bmxvY2soXHUwMDI2Y3hnYjNfZGJfbG9jayk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy05OC19XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy05OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEwMDpFWFBPUlRfU1lNQk9MKGN4Z2IzX3JlZ2lzdGVyX2NsaWVudCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMDEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMDItLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMDM6ICpcdGN4Z2IzX3VucmVnaXN0ZXJfY2xpZW50IC0gdW5yZWdpc3RlciBhbiBvZmZsb2FkIGNsaWVudFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTA0LSAqXHRAY2xpZW50OiB0aGUgY2xpZW50XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTA4LSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTA5OnZvaWQgY3hnYjNfdW5yZWdpc3Rlcl9jbGllbnQoc3RydWN0IGN4Z2IzX2NsaWVudCAqY2xpZW50KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTEwLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMTM6XHRtdXRleF9sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTE0LVx0bGlzdF9kZWwoXHUwMDI2Y2xpZW50LVx1MDAzZWNsaWVudF9saXN0KTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjEtXHR9XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjI6XHRtdXRleF91bmxvY2soXHUwMDI2Y3hnYjNfZGJfbG9jayk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjMtfVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTI1OkVYUE9SVF9TWU1CT0woY3hnYjNfdW5yZWdpc3Rlcl9jbGllbnQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI3LS8qKlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTI4OiAqXHRjeGdiM19hZGRfY2xpZW50cyAtIGFjdGl2YXRlIHJlZ2lzdGVyZWQgY2xpZW50cyBmb3IgYW4gb2ZmbG9hZCBkZXZpY2VcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEyOS0gKlx0QHRkZXY6IHRoZSBvZmZsb2FkIGRldmljZVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEzMi0gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEzMzp2b2lkIGN4Z2IzX2FkZF9jbGllbnRzKHN0cnVjdCB0M2NkZXYgKnRkZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzQte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTM1Olx0c3RydWN0IGN4Z2IzX2NsaWVudCAqY2xpZW50O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTM2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTM3Olx0bXV0ZXhfbG9jayhcdTAwMjZjeGdiM19kYl9sb2NrKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEzOC1cdGxpc3RfZm9yX2VhY2hfZW50cnkoY2xpZW50LCBcdTAwMjZjbGllbnRfbGlzdCwgY2xpZW50X2xpc3QpIHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNDEtXHR9XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxNDI6XHRtdXRleF91bmxvY2soXHUwMDI2Y3hnYjNfZGJfbG9jayk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNDMtfVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE0NS0vKipcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE0NjogKlx0Y3hnYjNfcmVtb3ZlX2NsaWVudHMgLSBkZWFjdGl2YXRlcyByZWdpc3RlcmVkIGNsaWVudHNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE0Ny0gKlx0XHRcdCAgICAgICBmb3IgYW4gb2ZmbG9hZCBkZXZpY2Vcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNTEtICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxNTI6dm9pZCBjeGdiM19yZW1vdmVfY2xpZW50cyhzdHJ1Y3QgdDNjZGV2ICp0ZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTUzLXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE1NDpcdHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE1NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE1NjpcdG11dGV4X2xvY2soXHUwMDI2Y3hnYjNfZGJfbG9jayk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNTctXHRsaXN0X2Zvcl9lYWNoX2VudHJ5KGNsaWVudCwgXHUwMDI2Y2xpZW50X2xpc3QsIGNsaWVudF9saXN0KSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTYwLVx0fVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTYxOlx0bXV0ZXhfdW5sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTYyLX1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE2My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE2NDp2b2lkIGN4Z2IzX2V2ZW50X25vdGlmeShzdHJ1Y3QgdDNjZGV2ICp0ZGV2LCB1MzIgZXZlbnQsIHUzMiBwb3J0KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTY1LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE2NjpcdHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE2Ny1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE2ODpcdG11dGV4X2xvY2soXHUwMDI2Y3hnYjNfZGJfbG9jayk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNjktXHRsaXN0X2Zvcl9lYWNoX2VudHJ5KGNsaWVudCwgXHUwMDI2Y2xpZW50X2xpc3QsIGNsaWVudF9saXN0KSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTcyLVx0fVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTczOlx0bXV0ZXhfdW5sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTc0LX1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYz00ODg9c3RhdGljIHZvaWQgZHVtbXlfbmVpZ2hfdXBkYXRlKHN0cnVjdCB0M2NkZXYgKmRldiwgc3RydWN0IG5laWdoYm91ciAqbmVpZ2gpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNDkxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6NDkyOnZvaWQgY3hnYjNfc2V0X2R1bW15X29wcyhzdHJ1Y3QgdDNjZGV2ICpkZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy00OTMte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUwMC0gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjUwMTp2b2lkICpjeGdiM19mcmVlX2F0aWQoc3RydWN0IHQzY2RldiAqdGRldiwgaW50IGF0aWQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01MDIte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUxNS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjUxNjpFWFBPUlRfU1lNQk9MKGN4Z2IzX2ZyZWVfYXRpZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01MTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo1MTg6dm9pZCBjeGdiM19pbnNlcnRfdGlkKHN0cnVjdCB0M2NkZXYgKnRkZXYsIHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUxOS1cdFx0ICAgICAgdm9pZCAqY3R4LCB1bnNpZ25lZCBpbnQgdGlkKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUyNy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjUyODpFWFBPUlRfU1lNQk9MKGN4Z2IzX2luc2VydF90aWQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTI5LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTU0Mz1zdGF0aWMgdm9pZCB0M19wcm9jZXNzX3RpZF9yZWxlYXNlX2xpc3Qoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTU2OC1cdFx0bWtfdGlkX3JlbGVhc2Uoc2tiLCBwIC0gdGQtXHUwMDNldGlkX21hcHMudGlkX3RhYik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo1Njk6XHRcdGN4Z2IzX29mbGRfc2VuZCh0ZGV2LCBza2IpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTcwLVx0XHRwLVx1MDAzZWN0eCA9IE5VTEw7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTg2LS8qIHVzZSBjdHggYXMgYSBuZXh0IHBvaW50ZXIgaW4gdGhlIHRpZCByZWxlYXNlIGxpc3QgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjU4Nzp2b2lkIGN4Z2IzX3F1ZXVlX3RpZF9yZWxlYXNlKHN0cnVjdCB0M2NkZXYgKnRkZXYsIHVuc2lnbmVkIGludCB0aWQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01ODgte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYwMC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYwMTpFWFBPUlRfU1lNQk9MKGN4Z2IzX3F1ZXVlX3RpZF9yZWxlYXNlKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYwMi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy02MDktICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo2MTA6dm9pZCBjeGdiM19yZW1vdmVfdGlkKHN0cnVjdCB0M2NkZXYgKnRkZXYsIHZvaWQgKmN0eCwgdW5zaWduZWQgaW50IHRpZClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYxMS17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjIyLVx0XHRcdG1rX3RpZF9yZWxlYXNlKHNrYiwgdGlkKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYyMzpcdFx0XHRjeGdiM19vZmxkX3NlbmQodGRldiwgc2tiKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYyNC1cdFx0XHR0LVx1MDAzZXRpZF90YWJbdGlkXS5jdHggPSBOVUxMO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjI1LVx0XHR9IGVsc2VcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYyNjpcdFx0XHRjeGdiM19xdWV1ZV90aWRfcmVsZWFzZSh0ZGV2LCB0aWQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjI3LVx0fVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYzMC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYzMTpFWFBPUlRfU1lNQk9MKGN4Z2IzX3JlbW92ZV90aWQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjMyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6NjMzOmludCBjeGdiM19hbGxvY19hdGlkKHN0cnVjdCB0M2NkZXYgKnRkZXYsIHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYzNC1cdFx0ICAgICB2b2lkICpjdHgpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjU0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6NjU1OkVYUE9SVF9TWU1CT0woY3hnYjNfYWxsb2NfYXRpZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy02NTYtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM9NzU2PXN0YXRpYyBpbnQgZG9fY3Ioc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTc4OS0gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjc5MDpzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKmN4Z2IzX2dldF9jcGxfcmVwbHlfc2tiKHN0cnVjdCBza19idWZmICpza2IsIHNpemVfdCBsZW4sXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy03OTEtXHRcdFx0XHRcdCAgICAgICBnZnBfdCBnZnApXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM9ODA1PXN0YXRpYyBpbnQgZG9fYWJvcnRfcmVxX3JzcyhzdHJ1Y3QgdDNjZGV2ICpkZXYsIHN0cnVjdCBza19idWZmICpza2IpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtODI2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6ODI3Olx0XHRyZXBseV9za2IgPSBjeGdiM19nZXRfY3BsX3JlcGx5X3NrYihza2IsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy04MjgtXHRcdFx0XHRcdFx0ICAgIHNpemVvZihzdHJ1Y3Rcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy04NDMtXHRcdHJwbC1cdTAwM2VjbWQgPSBjbWQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo4NDQ6XHRcdGN4Z2IzX29mbGRfc2VuZChkZXYsIHJlcGx5X3NrYik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy04NDUtb3V0OlxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTk4MD1zdGF0aWMgaW50IHByb2Nlc3Nfcngoc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqKnNrYnMsIGludCBuKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEwMDMtICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMDA0OmludCBjeGdiM19vZmxkX3NlbmQoc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTAwNS17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTAxMy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEwMTQ6RVhQT1JUX1NZTUJPTChjeGdiM19vZmxkX3NlbmQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTAxNS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYz0xMTcxPXN0YXRpYyBpbmxpbmUgdm9pZCByZW1vdmVfYWRhcHRlcihzdHJ1Y3QgYWRhcHRlciAqYWRhcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMTc3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTE3ODppbnQgY3hnYjNfb2ZmbG9hZF9hY3RpdmF0ZShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlcilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTExNzkte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTEyNDI9c3RhdGljIHZvaWQgY2xlYW5fbDJfZGF0YShzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI0OC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEyNDk6dm9pZCBjeGdiM19vZmZsb2FkX2RlYWN0aXZhdGUoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjUwLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYz0xMjcwPXN0YXRpYyBpbmxpbmUgdm9pZCByZWdpc3Rlcl90ZGV2KHN0cnVjdCB0M2NkZXYgKnRkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI3My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEyNzQ6XHRtdXRleF9sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI3NS1cdHNucHJpbnRmKHRkZXYtXHUwMDNlbmFtZSwgc2l6ZW9mKHRkZXYtXHUwMDNlbmFtZSksIFwmIzM0O29mbGRfZGV2JWRcJiMzNDssIHVuaXQmIzQzOyYjNDM7KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEyNzYtXHRsaXN0X2FkZF90YWlsKFx1MDAyNnRkZXYtXHUwMDNlb2ZsZF9kZXZfbGlzdCwgXHUwMDI2b2ZsZF9kZXZfbGlzdCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjc3Olx0bXV0ZXhfdW5sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI3OC19XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM9MTI4MD1zdGF0aWMgaW5saW5lIHZvaWQgdW5yZWdpc3Rlcl90ZGV2KHN0cnVjdCB0M2NkZXYgKnRkZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjgxLXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEyODI6XHRtdXRleF9sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI4My1cdGxpc3RfZGVsKFx1MDAyNnRkZXYtXHUwMDNlb2ZsZF9kZXZfbGlzdCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjg0Olx0bXV0ZXhfdW5sb2NrKFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI4NS19XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM9MTI4Nz1zdGF0aWMgaW5saW5lIGludCBhZGFwMnR5cGUoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTMwNS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEzMDY6dm9pZCBjeGdiM19hZGFwdGVyX29mbGQoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzA3LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzExLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTMxMjpcdGN4Z2IzX3NldF9kdW1teV9vcHModGRldik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzEzLVx0dGRldi1cdTAwM2VzZW5kID0gdDNfb2ZmbG9hZF90eDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzE5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTMyMDp2b2lkIGN4Z2IzX2FkYXB0ZXJfdW5vZmxkKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTMyMS17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTMyOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEzMzA6dm9pZCBfX2luaXQgY3hnYjNfb2ZmbG9hZF9pbml0KHZvaWQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzMxLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaD00Mz1zdHJ1Y3QgYWRhcHRlcjtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oLTQ0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NDU6dm9pZCBjeGdiM19vZmZsb2FkX2luaXQodm9pZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC00Ni1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjQ3OnZvaWQgY3hnYjNfYWRhcHRlcl9vZmxkKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjQ4OnZvaWQgY3hnYjNfYWRhcHRlcl91bm9mbGQoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NDk6aW50IGN4Z2IzX29mZmxvYWRfYWN0aXZhdGUoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NTA6dm9pZCBjeGdiM19vZmZsb2FkX2RlYWN0aXZhdGUoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtNTEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo1Mjp2b2lkIGN4Z2IzX3NldF9kdW1teV9vcHMoc3RydWN0IHQzY2RldiAqZGV2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oLTUzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg9NTQ9c3RydWN0IHQzY2RldiAqZGV2MnQzY2RldihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC02Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjYzOnZvaWQgY3hnYjNfcmVnaXN0ZXJfY2xpZW50KHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo2NDp2b2lkIGN4Z2IzX3VucmVnaXN0ZXJfY2xpZW50KHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo2NTp2b2lkIGN4Z2IzX2FkZF9jbGllbnRzKHN0cnVjdCB0M2NkZXYgKnRkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NjY6dm9pZCBjeGdiM19yZW1vdmVfY2xpZW50cyhzdHJ1Y3QgdDNjZGV2ICp0ZGV2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjY3OnZvaWQgY3hnYjNfZXZlbnRfbm90aWZ5KHN0cnVjdCB0M2NkZXYgKnRkZXYsIHUzMiBldmVudCwgdTMyIHBvcnQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtNjgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo2OTp0eXBlZGVmIGludCAoKmN4Z2IzX2NwbF9oYW5kbGVyX2Z1bmMpKHN0cnVjdCB0M2NkZXYgKmRldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oLTcwLVx0XHRcdFx0ICAgICAgc3RydWN0IHNrX2J1ZmYgKnNrYiwgdm9pZCAqY3R4KTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaD03Mj1lbnVtIHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC04MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjgyOnN0cnVjdCBjeGdiM19jbGllbnQge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtODMtXHRjaGFyICpuYW1lO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oLTg1LVx0dm9pZCAoKnJlbW92ZSkgKHN0cnVjdCB0M2NkZXYgKik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo4NjpcdGN4Z2IzX2NwbF9oYW5kbGVyX2Z1bmMgKmhhbmRsZXJzO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtODctXHRpbnQgKCpyZWRpcmVjdCkodm9pZCAqY3R4LCBzdHJ1Y3QgZHN0X2VudHJ5ICpvbGQsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtOTUtICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo5NjppbnQgY3hnYjNfYWxsb2NfYXRpZChzdHJ1Y3QgdDNjZGV2ICpkZXYsIHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oLTk3LVx0XHQgICAgIHZvaWQgKmN0eCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo5ODp2b2lkICpjeGdiM19mcmVlX2F0aWQoc3RydWN0IHQzY2RldiAqZGV2LCBpbnQgYXRpZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo5OTp2b2lkIGN4Z2IzX2luc2VydF90aWQoc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC0xMDAtXHRcdCAgICAgIHZvaWQgKmN0eCwgdW5zaWduZWQgaW50IHRpZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDoxMDE6dm9pZCBjeGdiM19xdWV1ZV90aWRfcmVsZWFzZShzdHJ1Y3QgdDNjZGV2ICpkZXYsIHVuc2lnbmVkIGludCB0aWQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6MTAyOnZvaWQgY3hnYjNfcmVtb3ZlX3RpZChzdHJ1Y3QgdDNjZGV2ICpkZXYsIHZvaWQgKmN0eCwgdW5zaWduZWQgaW50IHRpZCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC0xMDMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaD0xMDQ9c3RydWN0IHQzY190aWRfZW50cnkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6MTA1Olx0c3RydWN0IGN4Z2IzX2NsaWVudCAqY2xpZW50O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtMTA2LVx0dm9pZCAqY3R4O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvbDJ0LmMtNDEtI2luY2x1ZGUgXCYjMzQ7dDNjZGV2LmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvbDJ0LmM6NDI6I2luY2x1ZGUgXCYjMzQ7Y3hnYjNfZGVmcy5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2wydC5jLTQzLSNpbmNsdWRlIFwmIzM0O2wydC5oXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9sMnQuYz04Nz1zdGF0aWMgaW50IHNldHVwX2wyZV9zZW5kX3BlbmRpbmcoc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvbDJ0LmMtMTA3LVx0c2tiLVx1MDAzZXByaW9yaXR5ID0gQ1BMX1BSSU9SSVRZX0NPTlRST0w7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2wydC5jOjEwODpcdGN4Z2IzX29mbGRfc2VuZChkZXYsIHNrYik7XG5cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNCAxNDoyNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxNzg3NgoJCQkJCQkJb3V0cHV0OiA3OAoJCQkJCQkJdGhvdWdodHM6IDI2NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50OiBOb3QgV29ydGggRnV6emluZyoqCgpPa2F5LCBzbyB0aGUgY29kZSBpbiBxdWVzdGlvbiBpcyBuZXN0bGVkIHdpdGhpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9gLiBSaWdodCBhd2F5LCB0aGF0IHRlbGxzIG1lIHRoaXMgaXMgYSBDaGVsc2lvLXNwZWNpZmljIGRyaXZlciwgZGVzaWduZWQgZm9yIHRoZWlyIFQzIDEwR2JFIGFuZCAxR2JFIGFkYXB0ZXJzLiBXZSYjMzk7cmUgdGFsa2luZyBhYm91dCBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGhlcmUg4oCTIG5vdCBhIGdlbmVyaWMgdmlydHVhbCBuZXR3b3JrIGNhcmQuCgpOb3csIHRoZSBpbnN0cnVjdGlvbnMgYXJlIGNsZWFyOiBpZiB0aGUgcGF0Y2gmIzM5O3MgY2hhbmdlcyBhcmUgbGltaXRlZCB0byBhIGRyaXZlciBmb3IgaGFyZHdhcmUgdGhhdCAqaXNuJiMzOTt0KiBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLCB3ZSBuZWVkIHRvIGZsYWcgaXQgYXMgYFdvcnRoRnV6emluZz1mYWxzZWAuIFRoZSBydWxlIGV4cGxpY2l0bHkgY2FsbHMgb3V0IHZlbmRvci1zcGVjaWZpYyBQQ0llIE5JQyBkcml2ZXJzIGxpa2UgdGhlIG9uZXMgZm9yIE1lbGxhbm94LCBRTG9naWMsIGFuZCBBTUQgR1BVcywgYW5kIHNpbWlsYXIgc2V0dXBzLgoKQ2hlbHNpbyBgY3hnYjNgICphYnNvbHV0ZWx5KiBmYWxscyBpbnRvIHRoYXQgY2F0ZWdvcnkuIEl0JiMzOTtzIGEgdmVuZG9yLXNwZWNpZmljIFBDSWUgTklDIGRyaXZlciBhbmQgcmVsaWVzIG9uIGFjdHVhbCBwaHlzaWNhbCBoYXJkd2FyZS4gSXQgd291bGQgbmVlZCB0aGF0IGhhcmR3YXJlIHByZXNlbnQsIGFuZCBhY2Nlc3NpYmxlIHRvIHRoZSBRRU1VIGVudmlyb25tZW50LCB3aGljaCBpcyBoaWdobHkgdW5saWtlbHkgYW5kIHRoZXJlZm9yZSBkaXNxdWFsaWZpZXMgaXQgZnJvbSBzdGFuZGFyZCBmdXp6aW5nLgoKSnVzdCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4sIGxldCYjMzk7cyB0YWtlIGEgcXVpY2sgbG9vayBhdCBRRU1VJiMzOTtzIHN1cHBvcnRlZCBlbXVsYXRlZCBOSUNzLiBXZSYjMzk7dmUgZ290IHRoZSB1c3VhbCBzdXNwZWN0czogZTEwMDAsIGUxMDAwZSwgcnRsODEzOSwgcGNuZXQsIG5lMmtfcGNpLCB2bXhuZXQzLCB2aXJ0aW8tbmV0LCBpZ2IsIHR1bGlwLCBhbmQgbGlrZWx5IGEgZmV3IG1vcmUuIEJ1dCBgY3hnYjNgIGlzbiYjMzk7dCBvbiB0aGUgbGlzdC4gTm8gZW11bGF0aW9uLgoKVGhlcmVmb3JlLCBteSBjb25jbHVzaW9uIGlzIHNvbGlkLiBgV29ydGhGdXp6aW5nPWZhbHNlYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNCAxNDoyODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBDaGVsc2lvIGN4Z2IzIGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBuZXR3b3JrIGFkYXB0ZXIgZHJpdmVyLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIHZpcnR1YWxpemVkIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIENoZWxzaW8gY3hnYjMgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIG5ldHdvcmsgYWRhcHRlciBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE0IDE0OjI4PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5JZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wOC0xNFQxNDoyNjo1Mi40NTM4MjUwMVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjcwMDMwMDc3MjI3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIENoZWxzaW8gY3hnYjMgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIG5ldHdvcmsgYWRhcHRlciBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xNFQxNDoyNjo1Mi40NTM4MzgwNloiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDQ4ODM5MjA1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgNGNmZGU4Zjc5YTcwNWNiY2Y5YTkzZjY3MTRmODc3YjdhMzI0ZjdkN1xcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgRnJpIEF1ZyAxNCAxNDoyNjo1MSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL3QzX2h3LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL3QzX2h3LmNcXG5pbmRleCBhMDYwMDNiZmEwNGI5Li5jYzA0ZDIxNTY0MjUzIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvdDNfaHcuY1xcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvdDNfaHcuY1xcbkBAIC0xMTgwLDcgKzExODAsOCBAQCB2b2lkIHQzX2xpbmtfY2hhbmdlZChzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgaW50IHBvcnRfaWQpXFxuIFxcdHN0cnVjdCBjbWFjICptYWMgPSBcXHUwMDI2cGktXFx1MDAzZW1hYztcXG4gXFx0c3RydWN0IGxpbmtfY29uZmlnICpsYyA9IFxcdTAwMjZwaS1cXHUwMDNlbGlua19jb25maWc7XFxuIFxcbi1cXHRwaHktXFx1MDAzZW9wcy1cXHUwMDNlZ2V0X2xpbmtfc3RhdHVzKHBoeSwgXFx1MDAyNmxpbmtfb2ssIFxcdTAwMjZzcGVlZCwgXFx1MDAyNmR1cGxleCwgXFx1MDAyNmZjKTtcXG4rXFx0aWYgKHBoeS1cXHUwMDNlb3BzLVxcdTAwM2VnZXRfbGlua19zdGF0dXMocGh5LCBcXHUwMDI2bGlua19vaywgXFx1MDAyNnNwZWVkLCBcXHUwMDI2ZHVwbGV4LCBcXHUwMDI2ZmMpKVxcbitcXHRcXHRyZXR1cm47XFxuIFxcbiBcXHRpZiAoIWxjLVxcdTAwM2VsaW5rX29rIFxcdTAwMjZcXHUwMDI2IGxpbmtfb2spIHtcXG4gXFx0XFx0dTMyIHJ4X2NmZywgcnhfaGFzaF9oaWdoLCByeF9oYXNoX2xvdztcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTRUMTQ6MjY6NTIuOTAzNTc1OTQ0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6Njk1ODAzMDY4ODMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBDaGVsc2lvIGN4Z2IzIGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBuZXR3b3JrIGFkYXB0ZXIgZHJpdmVyLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIHZpcnR1YWxpemVkIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgNGNmZGU4Zjc5YTcwNWNiY2Y5YTkzZjY3MTRmODc3YjdhMzI0ZjdkN1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgQXVnIDE0IDE0OjI2OjUxIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy90M19ody5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy90M19ody5jXG5pbmRleCBhMDYwMDNiZmEwNGI5Li5jYzA0ZDIxNTY0MjUzIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy90M19ody5jXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL3QzX2h3LmNcbkBAIC0xMTgwLDcgKzExODAsOCBAQCB2b2lkIHQzX2xpbmtfY2hhbmdlZChzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgaW50IHBvcnRfaWQpXG4gXHRzdHJ1Y3QgY21hYyAqbWFjID0gXHUwMDI2cGktXHUwMDNlbWFjO1xuIFx0c3RydWN0IGxpbmtfY29uZmlnICpsYyA9IFx1MDAyNnBpLVx1MDAzZWxpbmtfY29uZmlnO1xuIFxuLVx0cGh5LVx1MDAzZW9wcy1cdTAwM2VnZXRfbGlua19zdGF0dXMocGh5LCBcdTAwMjZsaW5rX29rLCBcdTAwMjZzcGVlZCwgXHUwMDI2ZHVwbGV4LCBcdTAwMjZmYyk7XG4rXHRpZiAocGh5LVx1MDAzZW9wcy1cdTAwM2VnZXRfbGlua19zdGF0dXMocGh5LCBcdTAwMjZsaW5rX29rLCBcdTAwMjZzcGVlZCwgXHUwMDI2ZHVwbGV4LCBcdTAwMjZmYykpXG4rXHRcdHJldHVybjtcbiBcbiBcdGlmICghbGMtXHUwMDNlbGlua19vayBcdTAwMjZcdTAwMjYgbGlua19vaykge1xuIFx0XHR1MzIgcnhfY2ZnLCByeF9oYXNoX2hpZ2gsIHJ4X2hhc2hfbG93O1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTRUMTQ6MjY6NTIuOTAzNTc3MjA0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NjI4NDgyMzk0NTcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudCBvZiB0aGUgUGF0Y2gncyBXb3J0aGluZXNzIGZvciBGdXp6aW5nKipcblxuT2theSwgc28gdGhpcyBwYXRjaCB0b3VjaGVzIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL3QzX2h3LmNgLiBUaGF0J3MgYSBDaGVsc2lvIGRyaXZlciwgc3BlY2lmaWNhbGx5IGZvciB0aGVpciBUMyAxMEdiRSBhbmQgMUdiRSBhZGFwdGVycy4gV2UncmUgdGFsa2luZyBhYm91dCBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGhlcmUsIHJpZ2h0PyBNeSBpbml0aWFsIHRob3VnaHQgaXMsIGNhbiB0aGlzIGJlIHJlYWxpc3RpY2FsbHkgZnV6emVkIGluIGEgc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudD8gQ2hlbHNpbyBjYXJkcyAqdXN1YWxseSogYXJlbid0IGVtdWxhdGVkIHRoYXQgd2VsbC4gTGV0J3MgcXVpY2tseSB2ZXJpZnkgaWYgdGhlcmUncyAqYW55KiBjeGdiMyBlbXVsYXRpb24gYXZhaWxhYmxlIGluIFFFTVUg4oCTIGp1c3QgdG8gYmUgdGhvcm91Z2guXG5cbkFoLCB3YWl0IGEgc2Vjb25kLCBsZXQgbWUgY2hlY2sgdGhlIHNwZWNpZmljIGluc3RydWN0aW9ucy4uLiBBaC1oYSEgXCJSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zIGNvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMuLi4gdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXCJcblxuUmlnaHQsIGN4Z2IzICppcyogYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBOSUMgZHJpdmVyLiBUaGF04oCZcyBhIGtleSBwaWVjZSBvZiBpbmZvcm1hdGlvbi4gU28sIHJlYWxpc3RpY2FsbHksIHRoZSBxdWVzdGlvbiBiZWNvbWVzOiBpcyB0aGVyZSBhbnkgcGxhdXNpYmxlIHBhdGggdG8gZXhlcmNpc2luZyB0aGlzIGNvZGUgaW4gYSB2aXJ0dWFsaXplZCBzZXR0aW5nPyBBbmQgaWYgSSdtIGhvbmVzdCB3aXRoIG15c2VsZiwgdGhlIGFuc3dlciBpcyBwcm9iYWJseSBuby4gV2UncmUgbW9zdCBsaWtlbHkgdGFsa2luZyBhYm91dCBhIGhhcmQgcmVxdWlyZW1lbnQgZm9yIHBoeXNpY2FsIGhhcmR3YXJlIGhlcmUuIExldCBtZSBqdXN0IGNvbmZpcm0gdGhhdCBjeGdiMyAqaXMqIGluZGVlZCBhIFBDSWUgZHJpdmVyIGFuZCBJJ20gZ29vZC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjA4OSwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI2NCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE0VDE0OjI3OjU1Ljc1MTgxOTM5MVoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0OTQyNzU2OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjeGdiM1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJcXG5GdWxsIG91dHB1dCBpcyB0b28gbG9uZywgc2hvd2luZyA1MDAgb3V0IG9mIDU4NSBsaW5lcy5cXG5Vc2UgbW9yZSBwcmVjaXNlIGV4cHJlc3Npb24gaWYgcG9zc2libGUuXFxuXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9NYWtlZmlsZS01LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvTWFrZWZpbGU6NjpvYmotJChDT05GSUdfQ0hFTFNJT19UMykgKz0gY3hnYjMub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvTWFrZWZpbGUtNy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL01ha2VmaWxlOjg6Y3hnYjMtb2JqcyA6PSBjeGdiM19tYWluLm8gYWVsMTAwMi5vIHZzYzgyMTEubyB0M19ody5vIG1jNS5vIFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL01ha2VmaWxlOjk6XFx0ICAgICAgeGdtYWMubyBzZ2UubyBsMnQubyBjeGdiM19vZmZsb2FkLm8gYXExMDB4Lm9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvYWRhcHRlci5oPTMyNj1pbnQgdDNfc2dlX2FsbG9jX3FzZXQoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIHVuc2lnbmVkIGludCBpZCwgaW50IG5wb3J0cyxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvYWRhcHRlci5oLTMyOS1cXHRcXHQgICAgICBzdHJ1Y3QgbmV0ZGV2X3F1ZXVlICpuZXRkZXZxKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2FkYXB0ZXIuaDozMzA6ZXh0ZXJuIHN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpjeGdiM193cTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2FkYXB0ZXIuaC0zMzEtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2NvbW1vbi5oPTc3MD1pbnQgdDNfYXExMDB4X3BoeV9wcmVwKHN0cnVjdCBjcGh5ICpwaHksIHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jb21tb24uaC03NzItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jb21tb24uaDo3NzM6ZXh0ZXJuIHN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpjeGdiM193cTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2NvbW1vbi5oLTc3NC0jZW5kaWZcXHRcXHRcXHRcXHQvKiBfX0NIRUxTSU9fQ09NTU9OX0ggKi9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfZGVmcy5oLTM5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfZGVmcy5oOjQwOiNpbmNsdWRlIFxcXCJjeGdiM19vZmZsb2FkLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19kZWZzLmgtNDEtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy01NS0jaW5jbHVkZSBcXFwiY29tbW9uLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6NTY6I2luY2x1ZGUgXFxcImN4Z2IzX2lvY3RsLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtNTctI2luY2x1ZGUgXFxcInJlZ3MuaFxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo1ODojaW5jbHVkZSBcXFwiY3hnYjNfb2ZmbG9hZC5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTU5LSNpbmNsdWRlIFxcXCJ2ZXJzaW9uLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtNjAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6NjE6I2luY2x1ZGUgXFxcImN4Z2IzX2N0bF9kZWZzLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtNjItI2luY2x1ZGUgXFxcInQzX2NwbC5oXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9NjU9ZW51bSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy04Ny1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo4ODpzdGF0aWMgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgY3hnYjNfcGNpX3RibFtdID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTg5LVxcdENIX0RFVklDRSgweDIwLCAwKSxcXHQvKiBQRTkwMDAgKi9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTEwNz1NT0RVTEVfTElDRU5TRShcXFwiRHVhbCBCU0QvR1BMXFxcIik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MTA4Ok1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBjeGdiM19wY2lfdGJsKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMDktXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0xMzc9TU9EVUxFX1BBUk1fREVTQyhvZmxkX2Rpc2FibGUsIFxcXCJ3aGV0aGVyIHRvIGVuYWJsZSBvZmZsb2FkIGF0IGluaXQgdGltZSBvciBub3RcXFwiKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTE0Ni0gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxNDc6c3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKmN4Z2IzX3dxO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTE0OC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTc4ND1DWEdCM19BVFRSX1JXKG5zZXJ2ZXJzLCBhZGFwLVxcdTAwM2VwYXJhbXMubWM1Lm5zZXJ2ZXJzLCBzdG9yZV9uc2VydmVycyk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtNzg1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjc4NjpzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqY3hnYjNfYXR0cnNbXSA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy03ODctXFx0XFx1MDAyNmRldl9hdHRyX2NhbV9zaXplLmF0dHIsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy03OTItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6NzkzOnN0YXRpYyBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGN4Z2IzX2F0dHJfZ3JvdXAgPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6Nzk0OlxcdC5hdHRycyA9IGN4Z2IzX2F0dHJzLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTc5NS19O1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9OTcxPXN0YXRpYyBpbnQgYmluZF9xc2V0cyhzdHJ1Y3QgYWRhcHRlciAqYWRhcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTk5MS1cXHRfX3N0cmluZ2lmeShGV19WRVJTSU9OX01JTk9SKSBcXFwiLlxcXCIgX19zdHJpbmdpZnkoRldfVkVSU0lPTl9NSUNSTylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo5OTI6I2RlZmluZSBGV19GTkFNRSBcXFwiY3hnYjMvdDNmdy1cXFwiIEZXX1ZFUlNJT04gXFxcIi5iaW5cXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtOTkzLSNkZWZpbmUgVFBTUkFNX1ZFUlNJT04gX19zdHJpbmdpZnkoVFBfVkVSU0lPTl9NQUpPUikgXFxcIi5cXFwiXFx0XFx0XFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTk5NC1cXHRfX3N0cmluZ2lmeShUUF9WRVJTSU9OX01JTk9SKSBcXFwiLlxcXCIgX19zdHJpbmdpZnkoVFBfVkVSU0lPTl9NSUNSTylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzo5OTU6I2RlZmluZSBUUFNSQU1fTkFNRSBcXFwiY3hnYjMvdDMlY19wc3JhbS1cXFwiIFRQU1JBTV9WRVJTSU9OIFxcXCIuYmluXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjk5NjojZGVmaW5lIEFFTDIwMDVfT1BUX0VEQ19OQU1FIFxcXCJjeGdiMy9hZWwyMDA1X29wdF9lZGMuYmluXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjk5NzojZGVmaW5lIEFFTDIwMDVfVFdYX0VEQ19OQU1FIFxcXCJjeGdiMy9hZWwyMDA1X3R3eF9lZGMuYmluXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjk5ODojZGVmaW5lIEFFTDIwMjBfVFdYX0VEQ19OQU1FIFxcXCJjeGdiMy9hZWwyMDIwX3R3eF9lZGMuYmluXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTk5OS1NT0RVTEVfRklSTVdBUkUoRldfRk5BTUUpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjEwMDA6TU9EVUxFX0ZJUk1XQVJFKFxcXCJjeGdiMy90M2JfcHNyYW0tXFxcIiBUUFNSQU1fVkVSU0lPTiBcXFwiLmJpblxcXCIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjEwMDE6TU9EVUxFX0ZJUk1XQVJFKFxcXCJjeGdiMy90M2NfcHNyYW0tXFxcIiBUUFNSQU1fVkVSU0lPTiBcXFwiLmJpblxcXCIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTEwMDItTU9EVUxFX0ZJUk1XQVJFKEFFTDIwMDVfT1BUX0VEQ19OQU1FKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTEzMjE9c3RhdGljIHZvaWQgY3hnYl9kb3duKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLCBpbnQgb25fd3EpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzMxLVxcdGlmICghb25fd3EpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MTMzMjpcXHRcXHRmbHVzaF93b3JrcXVldWUoY3hnYjNfd3EpOy8qIHdhaXQgZm9yIGV4dGVybmFsIElSUSBoYW5kbGVyICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTMzMy19XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0xMzM1PXN0YXRpYyB2b2lkIHNjaGVkdWxlX2Noa190YXNrKHN0cnVjdCBhZGFwdGVyICphZGFwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM0Mi1cXHRpZiAodGltZW8pXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MTM0MzpcXHRcXHRxdWV1ZV9kZWxheWVkX3dvcmsoY3hnYjNfd3EsIFxcdTAwMjZhZGFwLVxcdTAwM2VhZGFwX2NoZWNrX3Rhc2ssIHRpbWVvKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzQ0LX1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTEzNDY9c3RhdGljIGludCBvZmZsb2FkX29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTEzNjEtXFx0dGRldi1cXHUwMDNlbGxkZXYgPSBhZGFwdGVyLVxcdTAwM2Vwb3J0WzBdO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjEzNjI6XFx0ZXJyID0gY3hnYjNfb2ZmbG9hZF9hY3RpdmF0ZShhZGFwdGVyKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzYzLVxcdGlmIChlcnIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzc2LVxcdC8qIENhbGwgYmFjayBhbGwgcmVnaXN0ZXJlZCBjbGllbnRzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MTM3NzpcXHRjeGdiM19hZGRfY2xpZW50cyh0ZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xMzc4LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM4My1cXHRcXHRjbGVhcl9iaXQoT0ZGTE9BRF9ERVZNQVBfQklULCBcXHUwMDI2YWRhcHRlci1cXHUwMDNlb3Blbl9kZXZpY2VfbWFwKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoxMzg0OlxcdFxcdGN4Z2IzX3NldF9kdW1teV9vcHModGRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM4NS1cXHR9XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0xMzg5PXN0YXRpYyBpbnQgb2ZmbG9hZF9jbG9zZShzdHJ1Y3QgdDNjZGV2ICp0ZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM5Ny1cXHQvKiBDYWxsIGJhY2sgYWxsIHJlZ2lzdGVyZWQgY2xpZW50cyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjEzOTg6XFx0Y3hnYjNfcmVtb3ZlX2NsaWVudHModGRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMTM5OS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTE0MDUtXFx0dGRldi1cXHUwMDNlbGxkZXYgPSBOVUxMO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjE0MDY6XFx0Y3hnYjNfc2V0X2R1bW15X29wcyh0ZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDA3LVxcdHQzX3RwX3NldF9vZmZsb2FkX21vZGUoYWRhcHRlciwgMCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDEyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjE0MTM6XFx0Y3hnYjNfb2ZmbG9hZF9kZWFjdGl2YXRlKGFkYXB0ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTE0MTQtXFx0cmV0dXJuIDA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0xNDE3PXN0YXRpYyBpbnQgY3hnYl9vcGVuKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDQzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjE0NDQ6XFx0Y3hnYjNfZXZlbnRfbm90aWZ5KFxcdTAwMjZhZGFwdGVyLVxcdTAwM2V0ZGV2LCBPRkZMT0FEX1BPUlRfVVAsIHBpLVxcdTAwM2Vwb3J0X2lkKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDQ1LVxcdHJldHVybiAwO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9MTQ0OD1zdGF0aWMgaW50IF9fY3hnYl9jbG9zZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgb25fd3EpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0xNDc2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjE0Nzc6XFx0Y3hnYjNfZXZlbnRfbm90aWZ5KFxcdTAwMjZhZGFwdGVyLVxcdTAwM2V0ZGV2LCBPRkZMT0FEX1BPUlRfRE9XTiwgcGktXFx1MDAzZXBvcnRfaWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTE0NzgtXFx0cmV0dXJuIDA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0yNzk0PXN0YXRpYyB2b2lkIGRiX2Z1bGxfdGFzayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0yNzk4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjI3OTk6XFx0Y3hnYjNfZXZlbnRfbm90aWZ5KFxcdTAwMjZhZGFwdGVyLVxcdTAwM2V0ZGV2LCBPRkZMT0FEX0RCX0ZVTEwsIDApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI4MDAtfVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9MjgwMj1zdGF0aWMgdm9pZCBkYl9lbXB0eV90YXNrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI4MDYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MjgwNzpcXHRjeGdiM19ldmVudF9ub3RpZnkoXFx1MDAyNmFkYXB0ZXItXFx1MDAzZXRkZXYsIE9GRkxPQURfREJfRU1QVFksIDApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI4MDgtfVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9MjgxMD1zdGF0aWMgdm9pZCBkYl9kcm9wX3Rhc2soc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMjgxNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoyODE3OlxcdGN4Z2IzX2V2ZW50X25vdGlmeShcXHUwMDI2YWRhcHRlci1cXHUwMDNldGRldiwgT0ZGTE9BRF9EQl9EUk9QLCAwKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0yODE4LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9Mjg2OD12b2lkIHQzX29zX2V4dF9pbnRyX2hhbmRsZXIoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0yODgwLVxcdFxcdFxcdCAgICAgYWRhcHRlci1cXHUwMDNlc2xvd19pbnRyX21hc2spO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjI4ODE6XFx0XFx0cXVldWVfd29yayhjeGdiM193cSwgXFx1MDAyNmFkYXB0ZXItXFx1MDAzZWV4dF9pbnRyX2hhbmRsZXJfdGFzayk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMjg4Mi1cXHR9XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0yODk2PXN0YXRpYyBpbnQgdDNfYWRhcHRlcl9lcnJvcihzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgaW50IHJlc2V0LCBpbnQgb25fd3EpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0yOTAxLVxcdCAgICB0ZXN0X2JpdChPRkZMT0FEX0RFVk1BUF9CSVQsIFxcdTAwMjZhZGFwdGVyLVxcdTAwM2VvcGVuX2RldmljZV9tYXApKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MjkwMjpcXHRcXHRjeGdiM19ldmVudF9ub3RpZnkoXFx1MDAyNmFkYXB0ZXItXFx1MDAzZXRkZXYsIE9GRkxPQURfU1RBVFVTX0RPV04sIDApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI5MDMtXFx0XFx0b2ZmbG9hZF9jbG9zZShcXHUwMDI2YWRhcHRlci1cXHUwMDNldGRldik7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYz0yOTQ4PXN0YXRpYyB2b2lkIHQzX3Jlc3VtZV9wb3J0cyhzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlcilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI5NjYtXFx0aWYgKGlzX29mZmxvYWQoYWRhcHRlcikgXFx1MDAyNlxcdTAwMjYgIW9mbGRfZGlzYWJsZSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzoyOTY3OlxcdFxcdGN4Z2IzX2V2ZW50X25vdGlmeShcXHUwMDI2YWRhcHRlci1cXHUwMDNldGRldiwgT0ZGTE9BRF9TVEFUVVNfVVAsIDApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTI5NjgtfVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM9Mjk5MT12b2lkIHQzX2ZhdGFsX2VycihzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlcilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTMwMDMtXFx0XFx0dDNfaW50cl9kaXNhYmxlKGFkYXB0ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMwMDQ6XFx0XFx0cXVldWVfd29yayhjeGdiM193cSwgXFx1MDAyNmFkYXB0ZXItXFx1MDAzZWZhdGFsX2Vycm9yX2hhbmRsZXJfdGFzayk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzAwNS1cXHRcXHRzcGluX3VubG9jayhcXHUwMDI2YWRhcHRlci1cXHUwMDNld29ya19sb2NrKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTMxNzQ9c3RhdGljIGNvbnN0IHN0cnVjdCBuZXRfZGV2aWNlX29wcyBjeGdiX25ldGRldl9vcHMgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMTkxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMxOTI6c3RhdGljIHZvaWQgY3hnYjNfaW5pdF9pc2NzaV9tYWMoc3RydWN0IG5ldF9kZXZpY2UgKmRldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMTkzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTMyMDM9c3RhdGljIGludCBpbml0X29uZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTMyMTAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzIxMTpcXHRpZiAoIWN4Z2IzX3dxKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzIxMjpcXHRcXHRjeGdiM193cSA9IGNyZWF0ZV9zaW5nbGV0aHJlYWRfd29ya3F1ZXVlKERSVl9OQU1FKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzozMjEzOlxcdFxcdGlmICghY3hnYjNfd3EpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMjE0LVxcdFxcdFxcdHByX2VycihcXFwiY2Fubm90IGluaXRpYWxpemUgd29yayBxdWV1ZVxcXFxuXFxcIik7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMzU0LVxcdGZvcl9lYWNoX3BvcnQoYWRhcHRlciwgaSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzozMzU1OlxcdFxcdGN4Z2IzX2luaXRfaXNjc2lfbWFjKGFkYXB0ZXItXFx1MDAzZXBvcnRbaV0pO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTMzNTYtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMzYxLVxcdFxcdF9fc2V0X2JpdChPRkZMT0FEX0RFVk1BUF9CSVQsIFxcdTAwMjZhZGFwdGVyLVxcdTAwM2VyZWdpc3RlcmVkX2RldmljZV9tYXApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMzNjI6XFx0XFx0Y3hnYjNfYWRhcHRlcl9vZmxkKGFkYXB0ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTMzNjMtXFx0fVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzM3My1cXHRlcnIgPSBzeXNmc19jcmVhdGVfZ3JvdXAoXFx1MDAyNmFkYXB0ZXItXFx1MDAzZXBvcnRbMF0tXFx1MDAzZWRldi5rb2JqLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjMzNzQ6XFx0XFx0XFx0XFx0IFxcdTAwMjZjeGdiM19hdHRyX2dyb3VwKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zMzc1LVxcdGlmIChlcnIpIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTM0MDY9c3RhdGljIHZvaWQgcmVtb3ZlX29uZShzdHJ1Y3QgcGNpX2RldiAqcGRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0MTQtXFx0XFx0c3lzZnNfcmVtb3ZlX2dyb3VwKFxcdTAwMjZhZGFwdGVyLVxcdTAwM2Vwb3J0WzBdLVxcdTAwM2VkZXYua29iaixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzozNDE1OlxcdFxcdFxcdFxcdCAgIFxcdTAwMjZjeGdiM19hdHRyX2dyb3VwKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDE2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0MTctXFx0XFx0aWYgKGlzX29mZmxvYWQoYWRhcHRlcikpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzozNDE4OlxcdFxcdFxcdGN4Z2IzX2FkYXB0ZXJfdW5vZmxkKGFkYXB0ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0MTktXFx0XFx0XFx0aWYgKHRlc3RfYml0KE9GRkxPQURfREVWTUFQX0JJVCxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jPTM0NDQ9c3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIGRyaXZlciA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDQ1LVxcdC5uYW1lID0gRFJWX05BTUUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ0NjpcXHQuaWRfdGFibGUgPSBjeGdiM19wY2lfdGJsLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NDctXFx0LnByb2JlID0gaW5pdF9vbmUsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDUxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjM0NTI6c3RhdGljIGludCBfX2luaXQgY3hnYjNfaW5pdF9tb2R1bGUodm9pZClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDUzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NTUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ1NjpcXHRjeGdiM19vZmZsb2FkX2luaXQoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYy0zNDU3LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmMtMzQ2MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX21haW4uYzozNDYyOnN0YXRpYyB2b2lkIF9fZXhpdCBjeGdiM19jbGVhbnVwX21vZHVsZSh2b2lkKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NjMte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NjQtXFx0cGNpX3VucmVnaXN0ZXJfZHJpdmVyKFxcdTAwMjZkcml2ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjM0NjU6XFx0aWYgKGN4Z2IzX3dxKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jOjM0NjY6XFx0XFx0ZGVzdHJveV93b3JrcXVldWUoY3hnYjNfd3EpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NjctfVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfbWFpbi5jLTM0NjgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ2OTptb2R1bGVfaW5pdChjeGdiM19pbml0X21vZHVsZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19tYWluLmM6MzQ3MDptb2R1bGVfZXhpdChjeGdiM19jbGVhbnVwX21vZHVsZSk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy00OC0jaW5jbHVkZSBcXFwicmVncy5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjQ5OiNpbmNsdWRlIFxcXCJjeGdiM19pb2N0bC5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjUwOiNpbmNsdWRlIFxcXCJjeGdiM19jdGxfZGVmcy5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjUxOiNpbmNsdWRlIFxcXCJjeGdiM19kZWZzLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTItI2luY2x1ZGUgXFxcImwydC5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUzLSNpbmNsdWRlIFxcXCJmaXJtd2FyZV9leHBvcnRzLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6NTQ6I2luY2x1ZGUgXFxcImN4Z2IzX29mZmxvYWQuaFxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01NS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTU3PXN0YXRpYyBMSVNUX0hFQUQob2ZsZF9kZXZfbGlzdCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6NTg6c3RhdGljIERFRklORV9NVVRFWChjeGdiM19kYl9sb2NrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01OS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTcwPXN0YXRpYyBpbmxpbmUgaW50IG9mZmxvYWRfYWN0aXZhdGVkKHN0cnVjdCB0M2NkZXYgKnRkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy03Ny0vKipcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo3ODogKlxcdGN4Z2IzX3JlZ2lzdGVyX2NsaWVudCAtIHJlZ2lzdGVyIGFuIG9mZmxvYWQgY2xpZW50XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNzktICpcXHRAY2xpZW50OiB0aGUgY2xpZW50XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy04My0gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo4NDp2b2lkIGN4Z2IzX3JlZ2lzdGVyX2NsaWVudChzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtODUte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtODctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6ODg6XFx0bXV0ZXhfbG9jayhcXHUwMDI2Y3hnYjNfZGJfbG9jayk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtODktXFx0bGlzdF9hZGRfdGFpbChcXHUwMDI2Y2xpZW50LVxcdTAwM2VjbGllbnRfbGlzdCwgXFx1MDAyNmNsaWVudF9saXN0KTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTk2LVxcdH1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo5NzpcXHRtdXRleF91bmxvY2soXFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTk4LX1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy05OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMDA6RVhQT1JUX1NZTUJPTChjeGdiM19yZWdpc3Rlcl9jbGllbnQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEwMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMDItLyoqXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTAzOiAqXFx0Y3hnYjNfdW5yZWdpc3Rlcl9jbGllbnQgLSB1bnJlZ2lzdGVyIGFuIG9mZmxvYWQgY2xpZW50XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTA0LSAqXFx0QGNsaWVudDogdGhlIGNsaWVudFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTA4LSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEwOTp2b2lkIGN4Z2IzX3VucmVnaXN0ZXJfY2xpZW50KHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMTAte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTEyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjExMzpcXHRtdXRleF9sb2NrKFxcdTAwMjZjeGdiM19kYl9sb2NrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMTQtXFx0bGlzdF9kZWwoXFx1MDAyNmNsaWVudC1cXHUwMDNlY2xpZW50X2xpc3QpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTIxLVxcdH1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjI6XFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZjeGdiM19kYl9sb2NrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjMtfVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEyNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjU6RVhQT1JUX1NZTUJPTChjeGdiM191bnJlZ2lzdGVyX2NsaWVudCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEyNy0vKipcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjg6ICpcXHRjeGdiM19hZGRfY2xpZW50cyAtIGFjdGl2YXRlIHJlZ2lzdGVyZWQgY2xpZW50cyBmb3IgYW4gb2ZmbG9hZCBkZXZpY2VcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjktICpcXHRAdGRldjogdGhlIG9mZmxvYWQgZGV2aWNlXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzItICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTMzOnZvaWQgY3hnYjNfYWRkX2NsaWVudHMoc3RydWN0IHQzY2RldiAqdGRldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzQte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEzNTpcXHRzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTM2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEzNzpcXHRtdXRleF9sb2NrKFxcdTAwMjZjeGdiM19kYl9sb2NrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMzgtXFx0bGlzdF9mb3JfZWFjaF9lbnRyeShjbGllbnQsIFxcdTAwMjZjbGllbnRfbGlzdCwgY2xpZW50X2xpc3QpIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE0MS1cXHR9XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTQyOlxcdG11dGV4X3VubG9jayhcXHUwMDI2Y3hnYjNfZGJfbG9jayk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTQzLX1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE0NS0vKipcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxNDY6ICpcXHRjeGdiM19yZW1vdmVfY2xpZW50cyAtIGRlYWN0aXZhdGVzIHJlZ2lzdGVyZWQgY2xpZW50c1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE0Ny0gKlxcdFxcdFxcdCAgICAgICBmb3IgYW4gb2ZmbG9hZCBkZXZpY2VcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE1MS0gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxNTI6dm9pZCBjeGdiM19yZW1vdmVfY2xpZW50cyhzdHJ1Y3QgdDNjZGV2ICp0ZGV2KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE1My17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTU0OlxcdHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNTUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTU2OlxcdG11dGV4X2xvY2soXFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE1Ny1cXHRsaXN0X2Zvcl9lYWNoX2VudHJ5KGNsaWVudCwgXFx1MDAyNmNsaWVudF9saXN0LCBjbGllbnRfbGlzdCkge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTYwLVxcdH1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxNjE6XFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZjeGdiM19kYl9sb2NrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNjItfVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE2My1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxNjQ6dm9pZCBjeGdiM19ldmVudF9ub3RpZnkoc3RydWN0IHQzY2RldiAqdGRldiwgdTMyIGV2ZW50LCB1MzIgcG9ydClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNjUte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE2NjpcXHRzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTY3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjE2ODpcXHRtdXRleF9sb2NrKFxcdTAwMjZjeGdiM19kYl9sb2NrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xNjktXFx0bGlzdF9mb3JfZWFjaF9lbnRyeShjbGllbnQsIFxcdTAwMjZjbGllbnRfbGlzdCwgY2xpZW50X2xpc3QpIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTE3Mi1cXHR9XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTczOlxcdG11dGV4X3VubG9jayhcXHUwMDI2Y3hnYjNfZGJfbG9jayk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTc0LX1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTQ4OD1zdGF0aWMgdm9pZCBkdW1teV9uZWlnaF91cGRhdGUoc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3QgbmVpZ2hib3VyICpuZWlnaClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTQ5MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo0OTI6dm9pZCBjeGdiM19zZXRfZHVtbXlfb3BzKHN0cnVjdCB0M2NkZXYgKmRldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy00OTMte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTAwLSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjUwMTp2b2lkICpjeGdiM19mcmVlX2F0aWQoc3RydWN0IHQzY2RldiAqdGRldiwgaW50IGF0aWQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTAyLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUxNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo1MTY6RVhQT1JUX1NZTUJPTChjeGdiM19mcmVlX2F0aWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUxNy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo1MTg6dm9pZCBjeGdiM19pbnNlcnRfdGlkKHN0cnVjdCB0M2NkZXYgKnRkZXYsIHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01MTktXFx0XFx0ICAgICAgdm9pZCAqY3R4LCB1bnNpZ25lZCBpbnQgdGlkKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTI3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjUyODpFWFBPUlRfU1lNQk9MKGN4Z2IzX2luc2VydF90aWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTUyOS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTU0Mz1zdGF0aWMgdm9pZCB0M19wcm9jZXNzX3RpZF9yZWxlYXNlX2xpc3Qoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTY4LVxcdFxcdG1rX3RpZF9yZWxlYXNlKHNrYiwgcCAtIHRkLVxcdTAwM2V0aWRfbWFwcy50aWRfdGFiKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo1Njk6XFx0XFx0Y3hnYjNfb2ZsZF9zZW5kKHRkZXYsIHNrYik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTcwLVxcdFxcdHAtXFx1MDAzZWN0eCA9IE5VTEw7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy01ODYtLyogdXNlIGN0eCBhcyBhIG5leHQgcG9pbnRlciBpbiB0aGUgdGlkIHJlbGVhc2UgbGlzdCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjU4Nzp2b2lkIGN4Z2IzX3F1ZXVlX3RpZF9yZWxlYXNlKHN0cnVjdCB0M2NkZXYgKnRkZXYsIHVuc2lnbmVkIGludCB0aWQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNTg4LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYwMC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo2MDE6RVhQT1JUX1NZTUJPTChjeGdiM19xdWV1ZV90aWRfcmVsZWFzZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjAyLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjA5LSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYxMDp2b2lkIGN4Z2IzX3JlbW92ZV90aWQoc3RydWN0IHQzY2RldiAqdGRldiwgdm9pZCAqY3R4LCB1bnNpZ25lZCBpbnQgdGlkKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYxMS17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy02MjItXFx0XFx0XFx0bWtfdGlkX3JlbGVhc2Uoc2tiLCB0aWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYyMzpcXHRcXHRcXHRjeGdiM19vZmxkX3NlbmQodGRldiwgc2tiKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy02MjQtXFx0XFx0XFx0dC1cXHUwMDNldGlkX3RhYlt0aWRdLmN0eCA9IE5VTEw7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjI1LVxcdFxcdH0gZWxzZVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYyNjpcXHRcXHRcXHRjeGdiM19xdWV1ZV90aWRfcmVsZWFzZSh0ZGV2LCB0aWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTYyNy1cXHR9XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy02MzAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6NjMxOkVYUE9SVF9TWU1CT0woY3hnYjNfcmVtb3ZlX3RpZCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjMyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjYzMzppbnQgY3hnYjNfYWxsb2NfYXRpZChzdHJ1Y3QgdDNjZGV2ICp0ZGV2LCBzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjM0LVxcdFxcdCAgICAgdm9pZCAqY3R4KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtNjU0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjY1NTpFWFBPUlRfU1lNQk9MKGN4Z2IzX2FsbG9jX2F0aWQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTY1Ni1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTc1Nj1zdGF0aWMgaW50IGRvX2NyKHN0cnVjdCB0M2NkZXYgKmRldiwgc3RydWN0IHNrX2J1ZmYgKnNrYilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTc4OS0gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo3OTA6c3RhdGljIHN0cnVjdCBza19idWZmICpjeGdiM19nZXRfY3BsX3JlcGx5X3NrYihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzaXplX3QgbGVuLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTc5MS1cXHRcXHRcXHRcXHRcXHQgICAgICAgZ2ZwX3QgZ2ZwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM9ODA1PXN0YXRpYyBpbnQgZG9fYWJvcnRfcmVxX3JzcyhzdHJ1Y3QgdDNjZGV2ICpkZXYsIHN0cnVjdCBza19idWZmICpza2IpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy04MjYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6ODI3OlxcdFxcdHJlcGx5X3NrYiA9IGN4Z2IzX2dldF9jcGxfcmVwbHlfc2tiKHNrYixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy04MjgtXFx0XFx0XFx0XFx0XFx0XFx0ICAgIHNpemVvZihzdHJ1Y3RcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTg0My1cXHRcXHRycGwtXFx1MDAzZWNtZCA9IGNtZDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzo4NDQ6XFx0XFx0Y3hnYjNfb2ZsZF9zZW5kKGRldiwgcmVwbHlfc2tiKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy04NDUtb3V0Olxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM9OTgwPXN0YXRpYyBpbnQgcHJvY2Vzc19yeChzdHJ1Y3QgdDNjZGV2ICpkZXYsIHN0cnVjdCBza19idWZmICoqc2ticywgaW50IG4pXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMDAzLSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEwMDQ6aW50IGN4Z2IzX29mbGRfc2VuZChzdHJ1Y3QgdDNjZGV2ICpkZXYsIHN0cnVjdCBza19idWZmICpza2IpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTAwNS17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMDEzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEwMTQ6RVhQT1JUX1NZTUJPTChjeGdiM19vZmxkX3NlbmQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEwMTUtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYz0xMTcxPXN0YXRpYyBpbmxpbmUgdm9pZCByZW1vdmVfYWRhcHRlcihzdHJ1Y3QgYWRhcHRlciAqYWRhcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTExNzctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTE3ODppbnQgY3hnYjNfb2ZmbG9hZF9hY3RpdmF0ZShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlcilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMTc5LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTEyNDI9c3RhdGljIHZvaWQgY2xlYW5fbDJfZGF0YShzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjQ4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEyNDk6dm9pZCBjeGdiM19vZmZsb2FkX2RlYWN0aXZhdGUoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI1MC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYz0xMjcwPXN0YXRpYyBpbmxpbmUgdm9pZCByZWdpc3Rlcl90ZGV2KHN0cnVjdCB0M2NkZXYgKnRkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjczLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEyNzQ6XFx0bXV0ZXhfbG9jayhcXHUwMDI2Y3hnYjNfZGJfbG9jayk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI3NS1cXHRzbnByaW50Zih0ZGV2LVxcdTAwM2VuYW1lLCBzaXplb2YodGRldi1cXHUwMDNlbmFtZSksIFxcXCJvZmxkX2RldiVkXFxcIiwgdW5pdCsrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjc2LVxcdGxpc3RfYWRkX3RhaWwoXFx1MDAyNnRkZXYtXFx1MDAzZW9mbGRfZGV2X2xpc3QsIFxcdTAwMjZvZmxkX2Rldl9saXN0KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjc3OlxcdG11dGV4X3VubG9jayhcXHUwMDI2Y3hnYjNfZGJfbG9jayk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTI3OC19XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYz0xMjgwPXN0YXRpYyBpbmxpbmUgdm9pZCB1bnJlZ2lzdGVyX3RkZXYoc3RydWN0IHQzY2RldiAqdGRldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjgxLXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMjgyOlxcdG11dGV4X2xvY2soXFx1MDAyNmN4Z2IzX2RiX2xvY2spO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEyODMtXFx0bGlzdF9kZWwoXFx1MDAyNnRkZXYtXFx1MDAzZW9mbGRfZGV2X2xpc3QpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jOjEyODQ6XFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZjeGdiM19kYl9sb2NrKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYy0xMjg1LX1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jPTEyODc9c3RhdGljIGlubGluZSBpbnQgYWRhcDJ0eXBlKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTMwNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMzA2OnZvaWQgY3hnYjNfYWRhcHRlcl9vZmxkKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEzMDcte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTMxMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMzEyOlxcdGN4Z2IzX3NldF9kdW1teV9vcHModGRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTMxMy1cXHR0ZGV2LVxcdTAwM2VzZW5kID0gdDNfb2ZmbG9hZF90eDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEzMTktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmM6MTMyMDp2b2lkIGN4Z2IzX2FkYXB0ZXJfdW5vZmxkKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEzMjEte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmMtMTMyOS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuYzoxMzMwOnZvaWQgX19pbml0IGN4Z2IzX29mZmxvYWRfaW5pdCh2b2lkKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5jLTEzMzEte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg9NDM9c3RydWN0IGFkYXB0ZXI7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtNDQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NDU6dm9pZCBjeGdiM19vZmZsb2FkX2luaXQodm9pZCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtNDYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NDc6dm9pZCBjeGdiM19hZGFwdGVyX29mbGQoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjQ4OnZvaWQgY3hnYjNfYWRhcHRlcl91bm9mbGQoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjQ5OmludCBjeGdiM19vZmZsb2FkX2FjdGl2YXRlKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo1MDp2b2lkIGN4Z2IzX29mZmxvYWRfZGVhY3RpdmF0ZShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlcik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtNTEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NTI6dm9pZCBjeGdiM19zZXRfZHVtbXlfb3BzKHN0cnVjdCB0M2NkZXYgKmRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtNTMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg9NTQ9c3RydWN0IHQzY2RldiAqZGV2MnQzY2RldihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oLTYyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjYzOnZvaWQgY3hnYjNfcmVnaXN0ZXJfY2xpZW50KHN0cnVjdCBjeGdiM19jbGllbnQgKmNsaWVudCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NjQ6dm9pZCBjeGdiM191bnJlZ2lzdGVyX2NsaWVudChzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjY1OnZvaWQgY3hnYjNfYWRkX2NsaWVudHMoc3RydWN0IHQzY2RldiAqdGRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6NjY6dm9pZCBjeGdiM19yZW1vdmVfY2xpZW50cyhzdHJ1Y3QgdDNjZGV2ICp0ZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo2Nzp2b2lkIGN4Z2IzX2V2ZW50X25vdGlmeShzdHJ1Y3QgdDNjZGV2ICp0ZGV2LCB1MzIgZXZlbnQsIHUzMiBwb3J0KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC02OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo2OTp0eXBlZGVmIGludCAoKmN4Z2IzX2NwbF9oYW5kbGVyX2Z1bmMpKHN0cnVjdCB0M2NkZXYgKmRldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC03MC1cXHRcXHRcXHRcXHQgICAgICBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB2b2lkICpjdHgpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg9NzI9ZW51bSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC04MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo4MjpzdHJ1Y3QgY3hnYjNfY2xpZW50IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC04My1cXHRjaGFyICpuYW1lO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtODUtXFx0dm9pZCAoKnJlbW92ZSkgKHN0cnVjdCB0M2NkZXYgKik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6ODY6XFx0Y3hnYjNfY3BsX2hhbmRsZXJfZnVuYyAqaGFuZGxlcnM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtODctXFx0aW50ICgqcmVkaXJlY3QpKHZvaWQgKmN0eCwgc3RydWN0IGRzdF9lbnRyeSAqb2xkLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtOTUtICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6OTY6aW50IGN4Z2IzX2FsbG9jX2F0aWQoc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtOTctXFx0XFx0ICAgICB2b2lkICpjdHgpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oOjk4OnZvaWQgKmN4Z2IzX2ZyZWVfYXRpZChzdHJ1Y3QgdDNjZGV2ICpkZXYsIGludCBhdGlkKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDo5OTp2b2lkIGN4Z2IzX2luc2VydF90aWQoc3RydWN0IHQzY2RldiAqZGV2LCBzdHJ1Y3QgY3hnYjNfY2xpZW50ICpjbGllbnQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmgtMTAwLVxcdFxcdCAgICAgIHZvaWQgKmN0eCwgdW5zaWduZWQgaW50IHRpZCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg6MTAxOnZvaWQgY3hnYjNfcXVldWVfdGlkX3JlbGVhc2Uoc3RydWN0IHQzY2RldiAqZGV2LCB1bnNpZ25lZCBpbnQgdGlkKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDoxMDI6dm9pZCBjeGdiM19yZW1vdmVfdGlkKHN0cnVjdCB0M2NkZXYgKmRldiwgdm9pZCAqY3R4LCB1bnNpZ25lZCBpbnQgdGlkKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaC0xMDMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9jeGdiM19vZmZsb2FkLmg9MTA0PXN0cnVjdCB0M2NfdGlkX2VudHJ5IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2N4Z2IzX29mZmxvYWQuaDoxMDU6XFx0c3RydWN0IGN4Z2IzX2NsaWVudCAqY2xpZW50O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjMvY3hnYjNfb2ZmbG9hZC5oLTEwNi1cXHR2b2lkICpjdHg7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2wydC5jLTQxLSNpbmNsdWRlIFxcXCJ0M2NkZXYuaFxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2wydC5jOjQyOiNpbmNsdWRlIFxcXCJjeGdiM19kZWZzLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9sMnQuYy00My0jaW5jbHVkZSBcXFwibDJ0LmhcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2wydC5jPTg3PXN0YXRpYyBpbnQgc2V0dXBfbDJlX3NlbmRfcGVuZGluZyhzdHJ1Y3QgdDNjZGV2ICpkZXYsIHN0cnVjdCBza19idWZmICpza2IsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2wydC5jLTEwNy1cXHRza2ItXFx1MDAzZXByaW9yaXR5ID0gQ1BMX1BSSU9SSVRZX0NPTlRST0w7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiMy9sMnQuYzoxMDg6XFx0Y3hnYjNfb2ZsZF9zZW5kKGRldiwgc2tiKTtcXG5cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTRUMTQ6Mjc6NTUuODAxMjUzNDg5WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NjY4MjU5MDU5OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50OiBOb3QgV29ydGggRnV6emluZyoqXG5cbk9rYXksIHNvIHRoZSBjb2RlIGluIHF1ZXN0aW9uIGlzIG5lc3RsZWQgd2l0aGluIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IzL2AuIFJpZ2h0IGF3YXksIHRoYXQgdGVsbHMgbWUgdGhpcyBpcyBhIENoZWxzaW8tc3BlY2lmaWMgZHJpdmVyLCBkZXNpZ25lZCBmb3IgdGhlaXIgVDMgMTBHYkUgYW5kIDFHYkUgYWRhcHRlcnMuIFdlJ3JlIHRhbGtpbmcgYWJvdXQgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBoZXJlIOKAkyBub3QgYSBnZW5lcmljIHZpcnR1YWwgbmV0d29yayBjYXJkLlxuXG5Ob3csIHRoZSBpbnN0cnVjdGlvbnMgYXJlIGNsZWFyOiBpZiB0aGUgcGF0Y2gncyBjaGFuZ2VzIGFyZSBsaW1pdGVkIHRvIGEgZHJpdmVyIGZvciBoYXJkd2FyZSB0aGF0ICppc24ndCogZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSwgd2UgbmVlZCB0byBmbGFnIGl0IGFzIGBXb3J0aEZ1enppbmc9ZmFsc2VgLiBUaGUgcnVsZSBleHBsaWNpdGx5IGNhbGxzIG91dCB2ZW5kb3Itc3BlY2lmaWMgUENJZSBOSUMgZHJpdmVycyBsaWtlIHRoZSBvbmVzIGZvciBNZWxsYW5veCwgUUxvZ2ljLCBhbmQgQU1EIEdQVXMsIGFuZCBzaW1pbGFyIHNldHVwcy5cblxuQ2hlbHNpbyBgY3hnYjNgICphYnNvbHV0ZWx5KiBmYWxscyBpbnRvIHRoYXQgY2F0ZWdvcnkuIEl0J3MgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBOSUMgZHJpdmVyIGFuZCByZWxpZXMgb24gYWN0dWFsIHBoeXNpY2FsIGhhcmR3YXJlLiBJdCB3b3VsZCBuZWVkIHRoYXQgaGFyZHdhcmUgcHJlc2VudCwgYW5kIGFjY2Vzc2libGUgdG8gdGhlIFFFTVUgZW52aXJvbm1lbnQsIHdoaWNoIGlzIGhpZ2hseSB1bmxpa2VseSBhbmQgdGhlcmVmb3JlIGRpc3F1YWxpZmllcyBpdCBmcm9tIHN0YW5kYXJkIGZ1enppbmcuXG5cbkp1c3QgdG8gYmUgYWJzb2x1dGVseSBjZXJ0YWluLCBsZXQncyB0YWtlIGEgcXVpY2sgbG9vayBhdCBRRU1VJ3Mgc3VwcG9ydGVkIGVtdWxhdGVkIE5JQ3MuIFdlJ3ZlIGdvdCB0aGUgdXN1YWwgc3VzcGVjdHM6IGUxMDAwLCBlMTAwMGUsIHJ0bDgxMzksIHBjbmV0LCBuZTJrX3BjaSwgdm14bmV0MywgdmlydGlvLW5ldCwgaWdiLCB0dWxpcCwgYW5kIGxpa2VseSBhIGZldyBtb3JlLiBCdXQgYGN4Z2IzYCBpc24ndCBvbiB0aGUgbGlzdC4gTm8gZW11bGF0aW9uLlxuXG5UaGVyZWZvcmUsIG15IGNvbmNsdXNpb24gaXMgc29saWQuIGBXb3J0aEZ1enppbmc9ZmFsc2VgLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxNzg3NiwiT3V0cHV0VG9rZW5zIjo3OCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI2NCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0xNFQxNDoyODowMi40ODM4NDcxNjdaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMyODYwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBDaGVsc2lvIGN4Z2IzIGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBuZXR3b3JrIGFkYXB0ZXIgZHJpdmVyLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIHZpcnR1YWxpemVkIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIENoZWxzaW8gY3hnYjMgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIG5ldHdvcmsgYWRhcHRlciBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xNFQxNDoyODowMi40ODM4ODU4MTdaIiwiU2VxIjo3LCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDU4MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowzsq6g[1] Phase: Running StartedAt: 2026-08-14 14:28:13 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowzsq6g[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-08-14 14:28:13 +0000 UTC FinishedAt: 2026-08-14 14:28:18 +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,}