Name: series-workflowtm9fz Phase: Failed StartedAt: 2026-07-07 14:54:00 +0000 UTC FinishedAt: 2026-07-07 15:15:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtm9fz[0] Phase: Succeeded StartedAt: 2026-07-07 14:54:00 +0000 UTC FinishedAt: 2026-07-07 15:15:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtm9fz[0].run-triage Phase: Succeeded StartedAt: 2026-07-07 14:54:00 +0000 UTC FinishedAt: 2026-07-07 15:15:14 +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+CgkJCTx0ZD4yMDI2LzA3LzA3IDE1OjEyPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+Mm08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYVRlayBNVDc1MzAvTVQ3NTMxIERTQSBzd2l0Y2ggZHJpdmVyLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIHRoYXQgcHJvYmVzIHZpYSBNRElPIG9yIE1NSU8gYW5kIGlzIHR5cGljYWxseSBpbnN0YW50aWF0ZWQgdmlhIERldmljZSBUcmVlIG9uIHNwZWNpZmljIE1lZGlhVGVrIFNvQ3MuIFRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdGlvbiBmb3IgdGhpcyBzcGVjaWZpYyBoYXJkd2FyZSBpbiBzdGFuZGFyZCBRRU1VL0dDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTI8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBiNWNlNmEzMmNjN2FhODEwYmEwOTQxNzE4MTc5N2YzY2VhYjM5MjZmXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdWwgNyAxNToxMjo0NyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMgYi9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmNcbmluZGV4IDNjMmEzMDI5YjEwY2ZiLi43NTJiYTkyYjA4NTE3ZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZHNhL210NzUzMC5jXG5AQCAtMjQ0Nyw3ICYjNDM7MjQ0Nyw2IEBAIG10NzUzMF9zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpXG4gXHR9XG4gXG4gXHRkcy1cdTAwM2Vhc3Npc3RlZF9sZWFybmluZ19vbl9jcHVfcG9ydCA9IHRydWU7XG4tXHRkcy1cdTAwM2V1bnRhZ192bGFuX2F3YXJlX2JyaWRnZV9wdmlkID0gdHJ1ZTtcbiBcdGRzLVx1MDAzZW10dV9lbmZvcmNlbWVudF9pbmdyZXNzID0gdHJ1ZTtcbiBcdGRzLVx1MDAzZWFnZWluZ190aW1lX21pbiA9IDIgKiAxMDAwO1xuIFx0ZHMtXHUwMDNlYWdlaW5nX3RpbWVfbWF4ID0gKEFHRV9DTlRfTUFYICYjNDM7IDEpICogKEFHRV9VTklUX01BWCAmIzQzOyAxKSAqIDEwMDA7XG5AQCAtMjYzOSw3ICYjNDM7MjYzOCw2IEBAIG10NzUzMV9zZXR1cF9jb21tb24oc3RydWN0IGRzYV9zd2l0Y2ggKmRzKVxuIFx0aW50IHJldCwgaTtcbiBcbiBcdGRzLVx1MDAzZWFzc2lzdGVkX2xlYXJuaW5nX29uX2NwdV9wb3J0ID0gdHJ1ZTtcbi1cdGRzLVx1MDAzZXVudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWQgPSB0cnVlO1xuIFx0ZHMtXHUwMDNlbXR1X2VuZm9yY2VtZW50X2luZ3Jlc3MgPSB0cnVlO1xuIFx0ZHMtXHUwMDNlYWdlaW5nX3RpbWVfbWluID0gMiAqIDEwMDA7XG4gXHRkcy1cdTAwM2VhZ2VpbmdfdGltZV9tYXggPSAoQUdFX0NOVF9NQVggJiM0MzsgMSkgKiAoQUdFX1VOSVRfTUFYICYjNDM7IDEpICogMTAwMDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxNToxMjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4ybTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgTWVkaWFUZWsgTVQ3NTMwL01UNzUzMSBEU0Egc3dpdGNoIGRyaXZlci4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciB0aGF0IHByb2JlcyB2aWEgTURJTyBvciBNTUlPIGFuZCBpcyB0eXBpY2FsbHkgaW5zdGFudGlhdGVkIHZpYSBEZXZpY2UgVHJlZSBvbiBzcGVjaWZpYyBNZWRpYVRlayBTb0NzLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgc3BlY2lmaWMgaGFyZHdhcmUgaW4gc3RhbmRhcmQgUUVNVS9HQ0UgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBiNWNlNmEzMmNjN2FhODEwYmEwOTQxNzE4MTc5N2YzY2VhYjM5MjZmCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFR1ZSBKdWwgNyAxNToxMjo0NyAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYwppbmRleCAzYzJhMzAyOWIxMGNmYi4uNzUyYmE5MmIwODUxN2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMKQEAgLTI0NDcsNyAmIzQzOzI0NDcsNiBAQCBtdDc1MzBfc2V0dXAoc3RydWN0IGRzYV9zd2l0Y2ggKmRzKQogCX0KIAogCWRzLSZndDthc3Npc3RlZF9sZWFybmluZ19vbl9jcHVfcG9ydCA9IHRydWU7Ci0JZHMtJmd0O3VudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWQgPSB0cnVlOwogCWRzLSZndDttdHVfZW5mb3JjZW1lbnRfaW5ncmVzcyA9IHRydWU7CiAJZHMtJmd0O2FnZWluZ190aW1lX21pbiA9IDIgKiAxMDAwOwogCWRzLSZndDthZ2VpbmdfdGltZV9tYXggPSAoQUdFX0NOVF9NQVggJiM0MzsgMSkgKiAoQUdFX1VOSVRfTUFYICYjNDM7IDEpICogMTAwMDsKQEAgLTI2MzksNyAmIzQzOzI2MzgsNiBAQCBtdDc1MzFfc2V0dXBfY29tbW9uKHN0cnVjdCBkc2Ffc3dpdGNoICpkcykKIAlpbnQgcmV0LCBpOwogCiAJZHMtJmd0O2Fzc2lzdGVkX2xlYXJuaW5nX29uX2NwdV9wb3J0ID0gdHJ1ZTsKLQlkcy0mZ3Q7dW50YWdfdmxhbl9hd2FyZV9icmlkZ2VfcHZpZCA9IHRydWU7CiAJZHMtJmd0O210dV9lbmZvcmNlbWVudF9pbmdyZXNzID0gdHJ1ZTsKIAlkcy0mZ3Q7YWdlaW5nX3RpbWVfbWluID0gMiAqIDEwMDA7CiAJZHMtJmd0O2FnZWluZ190aW1lX21heCA9IChBR0VfQ05UX01BWCAmIzQzOyAxKSAqIChBR0VfVU5JVF9NQVggJiM0MzsgMSkgKiAxMDAwOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxNToxMjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDM5CgkJCQkJCQlvdXRwdXQ6IDQxCgkJCQkJCQl0aG91Z2h0czogMjAwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIE5ldHdvcmsgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgcmVtb3ZpbmcgYGRzLSZndDt1bnRhZ192bGFuX2F3YXJlX2JyaWRnZV9wdmlkID0gdHJ1ZTtgIGZyb20gYG10NzUzMF9zZXR1cGAgYW5kIGBtdDc1MzFfc2V0dXBfY29tbW9uYCB3aXRoaW4gdGhlIGBkcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmNgIGZpbGUuIFRoaXMgaW1tZWRpYXRlbHkgdGVsbHMgbWUgd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBhIE1lZGlhVGVrIE1UNzUzMC9NVDc1MzEgR2lnYWJpdCBFdGhlcm5ldCBzd2l0Y2ggZHJpdmVyLCBhIERTQSBkcml2ZXIuIE15IGluaXRpYWwgdGhvdWdodCBpcywgaG93IGxpa2VseSBpcyB0aGlzIHRvIGJlIHJlYWNoYWJsZSBpbiBhIHZpcnR1YWxpemVkIGNvbnRleHQ/IERTQSBkcml2ZXJzIGFyZSwgYnkgdGhlaXIgbmF0dXJlLCB0aWdodGx5IGNvdXBsZWQgd2l0aCBoYXJkd2FyZS4gSSBuZWVkIHRvIHF1aWNrbHkgZGV0ZXJtaW5lIGlmIHRoZXJlJiMzOTtzIGFueSBlbXVsYXRpb24gYXZhaWxhYmxlIGZvciB0aGVzZSBzd2l0Y2ggY2hpcHMsIG9yIGlmIHdlJiMzOTtyZSBkZWFsaW5nIHdpdGggYSBwdXJlbHkgaGFyZHdhcmUtZGVwZW5kZW50IGltcGxlbWVudGF0aW9uLgoKR2VuZXJhbGx5LCBEU0EgZHJpdmVycyBhcmUgbWVhbnQgZm9yIHBoeXNpY2FsIHN3aXRjaCBjaGlwcy4gTXkgaW1tZWRpYXRlIGltcHVsc2UgaXMgdG8gY29uc2lkZXIgZnV6emluZyB0aGlzIGNvZGUuIFRoZSBxdWVzdGlvbiBpcywgY2FuIHdlIHRyaWdnZXIgdGhlIHJlbGV2YW50IGNvZGUgcGF0aHM/IEhhbmcgb24sIHRob3VnaC4gRFNBIGRyaXZlcnMgKmNvdWxkKiBiZSBhY2Nlc3NpYmxlIGluIGEgdmlydHVhbGl6ZWQgc2NlbmFyaW8gaWYgdGhlIGVudmlyb25tZW50IHByb3ZpZGVzIGEgc3VpdGFibGUgZGV2aWNlIHRyZWUgb3IgZXF1aXZhbGVudCBtZWNoYW5pc20gdG8gaW5zdGFudGlhdGUgdGhlbS4gSG93ZXZlciwgdGhleSB1c3VhbGx5IHJlbHkgb24gc3BlY2lmaWMgYnVzIGludGVyZmFjZXMgbGlrZSBJMkMgb3IgTURJTyBhbmQgZXhwZWN0IHBhcnRpY3VsYXIgaGFyZHdhcmUgcmVzcG9uc2VzLiBTbyB0aGUgcXVlc3Rpb24gaXMsIGNhbiB0aGlzIGJlIHJlY3JlYXRlZCBpbiBhIHRlc3QgZW52aXJvbm1lbnQ/IEkgbmVlZCB0byBkaWcgaW50byB0aGUgYG10NzUzMC5jYCBjb2RlIHRvIHVuZGVyc3RhbmQgdGhlIGRlcGVuZGVuY2llcyBhbmQgdHJpZ2dlcmluZyBtZWNoYW5pc21zIGJldHRlci4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxNToxMzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDttdDc1MzBfc2V0dXAmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTM3NT1zdGF0aWMgdm9pZFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjM3NjptdDc1MzBfc2V0dXBfcG9ydDYoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBwaHlfaW50ZXJmYWNlX3QgaW50ZXJmYWNlKVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTM3Ny17XG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTEwNjA9c3RhdGljIGNvbnN0IGNoYXIgKm10NzUzMF9wNV9tb2RlX3N0cih1bnNpZ25lZCBpbnQgbW9kZSlcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMTA3MS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzoxMDcyOnN0YXRpYyB2b2lkIG10NzUzMF9zZXR1cF9wb3J0NShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIHBoeV9pbnRlcmZhY2VfdCBpbnRlcmZhY2UpXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMTA3My17XG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTE2NTM9c3RhdGljIGludFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjE2NTQ6bXQ3NTMwX3NldHVwX3ZsYW4wKHN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdilcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0xNjU1LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM9MTY3MD1tdDc1MzBfcG9ydF9zZXRfdmxhbl91bmF3YXJlKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQpXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTE3MDctXHRcdG11dGV4X2xvY2soXHUwMDI2cHJpdi1cdTAwM2VyZWdfbXV0ZXgpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjE3MDg6XHRcdG10NzUzMF9zZXR1cF92bGFuMChwcml2KTtcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0xNzA5LVx0XHRtdXRleF91bmxvY2soXHUwMDI2cHJpdi1cdTAwM2VyZWdfbXV0ZXgpO1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMDAyPW10NzUzMF9wb3J0X3ZsYW5fYWRkKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTIwMTItXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjAxMzpcdC8qIFZJRCAwIGlzIG1hbmFnZWQgZXhjbHVzaXZlbHkgYnkgbXQ3NTMwX3NldHVwX3ZsYW4wKCkgZm9yXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjAxNC1cdCAqIFZMQU4tdW5hd2FyZSBicmlkZ2Ugb3BlcmF0aW9uLiBEb24mIzM5O3QgbGV0IHRoZSBicmlkZ2Ugb3ZlcndyaXRlXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTIwNTY9bXQ3NTMwX3BvcnRfdmxhbl9kZWwoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCxcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjA2My1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzoyMDY0Olx0LyogVklEIDAgaXMgbWFuYWdlZCBleGNsdXNpdmVseSBieSBtdDc1MzBfc2V0dXBfdmxhbjAoKS4gKi9cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yMDY1LVx0aWYgKHZsYW4tXHUwMDNldmlkID09IDApXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTIyMzk9c3RhdGljIGludFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjIyNDA6bXQ3NTMwX3NldHVwX2dwaW8oc3RydWN0IG10NzUzMF9wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTIyNDEte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMjY5PXN0YXRpYyB2b2lkXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjI3MDptdDc1MzBfc2V0dXBfbWRpb19pcnEoc3RydWN0IG10NzUzMF9wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTIyNzEte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMzE5PXN0YXRpYyBpbnRcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzoyMzIwOm10NzUzMF9zZXR1cF9pcnEoc3RydWN0IG10NzUzMF9wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTIzMjEte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMzcwPXN0YXRpYyBpbnRcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzoyMzcxOm10NzUzMF9zZXR1cF9tZGlvKHN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdilcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yMzcyLXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjQwNC1cdGlmIChwcml2LVx1MDAzZWlycV9kb21haW4gXHUwMDI2XHUwMDI2ICFtbnApXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjQwNTpcdFx0bXQ3NTMwX3NldHVwX21kaW9faXJxKHByaXYpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI0MDYtXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTI0MTk9c3RhdGljIGludFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI0MjA6bXQ3NTMwX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yNDIxLXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjU2OC1cdC8qIFNldHVwIFZMQU4gSUQgMCBmb3IgVkxBTi11bmF3YXJlIGJyaWRnZXMgKi9cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzoyNTY5Olx0cmV0ID0gbXQ3NTMwX3NldHVwX3ZsYW4wKHByaXYpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI1NzAtXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yNjEzLVx0XHRcdG10NzUzMF9jbGVhcihwcml2LCBNVDc1M1hfTVRSQVAsIE1UNzUzMF9QNV9ESVMpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI2MTQ6XHRcdFx0bXQ3NTMwX3NldHVwX3BvcnQ1KGRzLCBpbnRlcmZhY2UpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI2MTUtXHRcdH1cbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjYxOS1cdGlmIChvZl9wcm9wZXJ0eV9yZWFkX2Jvb2wocHJpdi1cdTAwM2VkZXYtXHUwMDNlb2Zfbm9kZSwgXCYjMzQ7Z3Bpby1jb250cm9sbGVyXCYjMzQ7KSkge1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI2MjA6XHRcdHJldCA9IG10NzUzMF9zZXR1cF9ncGlvKHByaXYpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI2MjEtXHRcdGlmIChyZXQpXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTI2MzU9bXQ3NTMxX3NldHVwX2NvbW1vbihzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI3MDAtXHQvKiBTZXR1cCBWTEFOIElEIDAgZm9yIFZMQU4tdW5hd2FyZSBicmlkZ2VzICovXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjcwMTpcdHJldHVybiBtdDc1MzBfc2V0dXBfdmxhbjAocHJpdik7XG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjcwMi19XG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTI5MTQ9bXQ3NTMwX21hY19jb25maWcoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwgdW5zaWduZWQgaW50IG1vZGUsXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI5MTktXHRpZiAocG9ydCA9PSA1KVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI5MjA6XHRcdG10NzUzMF9zZXR1cF9wb3J0NShwcml2LVx1MDAzZWRzLCBpbnRlcmZhY2UpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI5MjEtXHRlbHNlIGlmIChwb3J0ID09IDYpXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjkyMjpcdFx0bXQ3NTMwX3NldHVwX3BvcnQ2KHByaXYtXHUwMDNlZHMsIGludGVyZmFjZSk7XG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjkyMy19XG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTMxODQ9bXQ3NTN4X3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzE5Mi1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzozMTkzOlx0cmV0ID0gbXQ3NTMwX3NldHVwX2lycShwcml2KTtcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0zMTk0LVx0aWYgKHJldClcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzE5Ni1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzozMTk3Olx0cmV0ID0gbXQ3NTMwX3NldHVwX21kaW8ocHJpdik7XG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzE5OC1cdGlmIChyZXQpXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTMzOTY9Y29uc3Qgc3RydWN0IG10NzUzeF9pbmZvIG10NzUzeF90YWJsZVtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0zMzk5LVx0XHQucGNzX29wcyA9IFx1MDAyNm10NzUzMF9wY3Nfb3BzLFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjM0MDA6XHRcdC5zd19zZXR1cCA9IG10NzUzMF9zZXR1cCxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0zNDAxLVx0XHQucGh5X3JlYWRfYzIyID0gbXQ3NTMwX3BoeV9yZWFkX2MyMixcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzQxMC1cdFx0LnBjc19vcHMgPSBcdTAwMjZtdDc1MzBfcGNzX29wcyxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzozNDExOlx0XHQuc3dfc2V0dXAgPSBtdDc1MzBfc2V0dXAsXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzQxMi1cdFx0LnBoeV9yZWFkX2MyMiA9IG10NzUzMF9waHlfcmVhZF9jMjIsXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDg1MwoJCQkJCQkJb3V0cHV0OiAzOAoJCQkJCQkJdGhvdWdodHM6IDI1MAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBOZXR3b3JrIERyaXZlciBDaGFuZ2UqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggYW5kIGl0JiMzOTtzIHJlbW92aW5nIGBkcy0mZ3Q7dW50YWdfdmxhbl9hd2FyZV9icmlkZ2VfcHZpZCA9IHRydWU7YCBmcm9tIGBtdDc1MzBfc2V0dXBgIGFuZCBgbXQ3NTMxX3NldHVwX2NvbW1vbmAuIFJpZ2h0IG9mZiB0aGUgYmF0LCBJIHNlZSB0aGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gYSBuZXR3b3JrIGRyaXZlciwgc3BlY2lmaWNhbGx5IGRlYWxpbmcgd2l0aCB0aGUgTWVkaWFUZWsgTVQ3NTMwL01UNzUzMSBzd2l0Y2guIFRoaXMgYHVudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWRgIGZsYWfigKYgdGhhdCYjMzk7cyBnb3QgdG8gZG8gd2l0aCBob3cgRFNBIGNvbmZpZ3VyZXMgVkxBTiB0YWdnaW5nIG9uIGJyaWRnZSBwb3J0cy4gTWFrZXMgbWUgd29uZGVyLCBpcyB0aGlzIHNvbWV0aGluZyB0aGF0IGNvdWxkIGV2ZW4gYmUgaGl0IGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQ/IERTQSBkcml2ZXJzIGFyZSBub3JtYWxseSB0aWVkIHRvICpzcGVjaWZpYyogaGFyZHdhcmUuIEkgbWVhbiwgd2UgKmNvdWxkKiBzZWUgdGhlIERTQSBjb3JlIGFuZCBzb21lIGRyaXZlcnMgaW5zdGFudGlhdGVkIHdpdGggZGV2aWNlIHRyZWUgb3ZlcmxheXMgb3IgbWF5YmUgYSBtb2NrIGRyaXZlcuKApiBidXQgdXN1YWxseSwgYSBkcml2ZXIgbGlrZSBgbXQ3NTMwYCwgdGhhdCYjMzk7cyBnb2luZyB0byBuZWVkIHRoZSBhY3R1YWwgTWVkaWFUZWsgaGFyZHdhcmUsIG9yIGF0IGxlYXN0IGEgZ29vZCBlbXVsYXRvci4KCldhaXQgYSBzZWNvbmTigKYgc3l6a2FsbGVyIGRvZXMgZnV6eiBEU0HigKYgaWYgaXQgY2FuIGluc3RhbnRpYXRlIGl0LiBCdXQgKmNhbiogaXQgaW5zdGFudGlhdGUgbXQ3NTMwPyBJIHJlY2FsbCBwbGF0Zm9ybSBkcml2ZXJzIG9yIEkyQy9NRElPIGRyaXZlcnMgbmVlZGluZyB0aGUgcGh5c2ljYWwgaGFyZHdhcmUgb3IgYSByZWFsbHkgZ29vZCBtb2NrLCBzbyBJIHNob3VsZCBzZWUgaWYgYG10NzUzMGAgaXMgYSBwbGF0Zm9ybSBkcml2ZXIgb3IgYW4gTURJTyBkcml2ZXIuIFRoYXQmIzM5O2xsIGJlIGtleSB0byBmaWd1cmluZyBvdXQgaG93IGxpa2VseSB0aGlzIGNoYW5nZSBpcyB0byBjYXVzZSBpc3N1ZXMgb3V0c2lkZSBpdHMgaW50ZW5kZWQgaGFyZHdhcmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDttb2R1bGVfLipkcml2ZXImIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDE1OjEzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDU2NzEKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiAxMAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyB0aGUgc3VtbWFyeSwgZm9ybWF0dGVkIGFzIHJlcXVlc3RlZDoKCioqTmF2aWdhdGluZyB0aGUgRGlnaXRhbCBMYW5kc2NhcGU6IEEgQnJpZWYgRXhhbWluYXRpb24qKgoKUmlnaHQsIGxldCYjMzk7cyBzdGFydCBieSBxdWlja2x5IHNjb3Bpbmcgb3V0IHRoZSB0YWlsIGVuZCBvZiB0aGlzIGZpbGUuIEl0JiMzOTtzIG9mdGVuIHRoZSBxdWlja2VzdCB3YXkgdG8gZ2V0IGEgZmVlbCBmb3Igd2hhdCB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoLCBlc3BlY2lhbGx5IHdoZW4gSSYjMzk7bSBhc3Nlc3NpbmcgdGhlIG92ZXJhbGwgc2NvcGUuIFRoaXMgaW5pdGlhbCBnbGltcHNlIGF0IHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgd2lsbCBnaXZlIG1lIGEgc2Vuc2Ugb2Ygd2hhdCBoYXMgYmVlbiBjb25jbHVkZWQgc28gZmFyLCBpZiBhbnl0aGluZywgYW5kIHdoYXQgcG90ZW50aWFsIHBhdGhzIG9mIGFuYWx5c2lzIG1pZ2h0IHJlbWFpbi4gSXTigJlzIGEgc3RhbmRhcmQgZmlyc3Qgc3RlcC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxNToxMzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O21vZHVsZV8uKiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTg0NgoJCQkJCQkJb3V0cHV0OiAyNAoJCQkJCQkJdGhvdWdodHM6IDI5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQgdGhvdWdodCBwcm9jZXNzLCBhcyBpZiBJJiMzOTttIHRoZSBvbmUgaGF2aW5nIGl0LCBhbmQgZ2VhcmVkIHRvd2FyZHMgYW4gZXhwZXJ0OgoKKipIbW0sIE5ldHdvcmsgRHJpdmVyIExvY2F0aW9uIFBvc3NpYmlsaXR5KioKCkFscmlnaHQsIEkgbmVlZCB0byBmaWd1cmUgb3V0IHdoZXJlIHRoYXQgc3BlY2lmaWMgZnVuY3Rpb25hbGl0eSBpcyBpbXBsZW1lbnRlZC4gTXkgZmlyc3QgaW5zdGluY3QsIGdpdmVuIHRoZSBjb250ZXh0LCBpcyB0aGF0IGl0JiMzOTtzIGxpa2VseSBidXJpZWQgd2l0aGluIHRoZSBkcml2ZXIgY29kZS4gQ29uc2lkZXJpbmcgaXQmIzM5O3MgYSBEU0Egc3dpdGNoIGRyaXZlciwgbXkgZ3V0IGZlZWxpbmcgc2F5cyB0aGUgaW1wbGVtZW50YXRpb24gb3IgYSBrZXkgcG9ydGlvbiBvZiB0aGUgY29kZSBpcyBwcm9iYWJseSBzaXR0aW5nIHNvbWV3aGVyZSBpbiB0aGUgYGRyaXZlcnMvbmV0L2RzYS9gIGRpcmVjdG9yeS4gR2l2ZW4gdGhlIHNwZWNpZmljIG1lbnRpb24gb2YgdGhlIE1UNzUzMCBjaGlwLCBJJiMzOTttIHRoaW5raW5nIGl0JiMzOTtzIHByb2JhYmx5LCBhdCBhIG1pbmltdW0sIHJlbGF0ZWQgdG8gdGhlIGBtdDc1MzAtbWRpby5jYCBmaWxlLiBPciwgaXQmIzM5O3MgYSBwYXJ0IG9mIHNvbWUgaW5jbHVkZSBzdHJ1Y3R1cmUuIFRpbWUgdG8gZGl2ZSBpbiB0aGVyZSBhbmQgc2VlIHdoYXQgdGhlIHNvdXJjZSBpcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5jb2Rlc2VhcmNoLWRpci1pbmRleDwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RGlyJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZHNhJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGVzJiMzNDs6IFsKICAgICYjMzQ7YmNtX3NmMi5jJiMzNDssCiAgICAmIzM0O2JjbV9zZjIuaCYjMzQ7LAogICAgJiMzNDtiY21fc2YyX2NmcC5jJiMzNDssCiAgICAmIzM0O2JjbV9zZjJfcmVncy5oJiMzNDssCiAgICAmIzM0O2RzYV9sb29wLmMmIzM0OywKICAgICYjMzQ7a3M4OTk1LmMmIzM0OywKICAgICYjMzQ7bGFuOTMwMy1jb3JlLmMmIzM0OywKICAgICYjMzQ7bGFuOTMwMy5oJiMzNDssCiAgICAmIzM0O2xhbjkzMDNfaTJjLmMmIzM0OywKICAgICYjMzQ7bGFuOTMwM19tZGlvLmMmIzM0OywKICAgICYjMzQ7bXQ3NTMwLW1kaW8uYyYjMzQ7LAogICAgJiMzNDttdDc1MzAtbW1pby5jJiMzNDssCiAgICAmIzM0O210NzUzMC5jJiMzNDssCiAgICAmIzM0O210NzUzMC5oJiMzNDssCiAgICAmIzM0O212ODhlNjA2MC5jJiMzNDssCiAgICAmIzM0O212ODhlNjA2MC5oJiMzNDssCiAgICAmIzM0O3J6bjFfYTVwc3cuYyYjMzQ7LAogICAgJiMzNDtyem4xX2E1cHN3LmgmIzM0OywKICAgICYjMzQ7dml0ZXNzZS12c2M3M3h4LWNvcmUuYyYjMzQ7LAogICAgJiMzNDt2aXRlc3NlLXZzYzczeHgtcGxhdGZvcm0uYyYjMzQ7LAogICAgJiMzNDt2aXRlc3NlLXZzYzczeHgtc3BpLmMmIzM0OywKICAgICYjMzQ7dml0ZXNzZS12c2M3M3h4LmgmIzM0OywKICAgICYjMzQ7eXQ5MjF4LmMmIzM0OywKICAgICYjMzQ7eXQ5MjF4LmgmIzM0OwogIF0sCiAgJiMzNDtTdWJkaXJzJiMzNDs6IFsKICAgICYjMzQ7YjUzJiMzNDssCiAgICAmIzM0O2hpcnNjaG1hbm4mIzM0OywKICAgICYjMzQ7bGFudGlxJiMzNDssCiAgICAmIzM0O21pY3JvY2hpcCYjMzQ7LAogICAgJiMzNDttdjg4ZTZ4eHgmIzM0OywKICAgICYjMzQ7bXhsODYyeHgmIzM0OywKICAgICYjMzQ7bmV0YyYjMzQ7LAogICAgJiMzNDtvY2Vsb3QmIzM0OywKICAgICYjMzQ7cWNhJiMzNDssCiAgICAmIzM0O3JlYWx0ZWsmIzM0OywKICAgICYjMzQ7c2phMTEwNSYjMzQ7LAogICAgJiMzNDt4cnM3MDB4JiMzNDsKICBdCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTk3NAoJCQkJCQkJb3V0cHV0OiA0MAoJCQkJCQkJdGhvdWdodHM6IDAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDE1OjEzPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O21vZHVsZV8uKiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAtbWRpby5jJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAtbWRpby5jPTI1MT1zdGF0aWMgc3RydWN0IG1kaW9fZHJpdmVyIG10NzUzMF9tZGlvX2RyaXZlciA9IHtcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1kaW8uYy0yNjAtXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1kaW8uYzoyNjE6bWRpb19tb2R1bGVfZHJpdmVyKG10NzUzMF9tZGlvX2RyaXZlcik7XG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1kaW8uYy0yNjItXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDE1OjEzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDYxNTYKCQkJCQkJCW91dHB1dDogNDAKCQkJCQkJCXRob3VnaHRzOiAwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxNToxNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDttb2R1bGVfLiomIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1taW8uYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1taW8uYz04Nz1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdDc5ODhfcGxhdGZvcm1fZHJpdmVyID0ge1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAtbW1pby5jLTk1LX07XG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1taW8uYzo5Njptb2R1bGVfcGxhdGZvcm1fZHJpdmVyKG10Nzk4OF9wbGF0Zm9ybV9kcml2ZXIpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC1tbWlvLmMtOTctXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDE1OjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDYzMzEKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE2LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxNToxNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O210NzUzMCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2RzYS9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNjM3OQoJCQkJCQkJb3V0cHV0OiAzNAoJCQkJCQkJdGhvdWdodHM6IDAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDE1OjE0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O01UNzUzMCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2RzYS9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2RzYS9LY29uZmlnPTI5PXNvdXJjZSBcJiMzNDtkcml2ZXJzL25ldC9kc2EvbGFudGlxL0tjb25maWdcJiMzNDtcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnLTMwLVxuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6MzE6Y29uZmlnIE5FVF9EU0FfTVQ3NTMwXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzozMjpcdHRyaXN0YXRlIFwmIzM0O01lZGlhVGVrIE1UNzUzMCBhbmQgTVQ3NTMxIEV0aGVybmV0IHN3aXRjaCBzdXBwb3J0XCYjMzQ7XG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy0zMy1cdHNlbGVjdCBORVRfRFNBX1RBR19NVEtcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnLTM0LVx0c2VsZWN0IFJFR01BUF9JUlFcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjM1Olx0aW1wbHkgTkVUX0RTQV9NVDc1MzBfTURJT1xuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6MzY6XHRpbXBseSBORVRfRFNBX01UNzUzMF9NTUlPXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy0zNy1cdGhlbHBcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjM4Olx0ICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhlIE1lZGlhVGVrIE1UNzUzMCBhbmQgTVQ3NTMxIEV0aGVybmV0XG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzozOTpcdCAgc3dpdGNoIGNoaXBzLiBNdWx0aS1jaGlwIG1vZHVsZSBNVDc1MzAgaW4gTVQ3NjIxQVQsIE1UNzYyMURBVCxcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnLTQwLVx0ICBNVDc2MjFTVCBhbmQgTVQ3NjIzQUkgU29DcywgYW5kIGJ1aWx0LWluIHN3aXRjaCBpbiBNVDc5ODggU29DIGFyZVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnLTQyLVxuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6NDM6Y29uZmlnIE5FVF9EU0FfTVQ3NTMwX01ESU9cbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjQ0Olx0dHJpc3RhdGUgXCYjMzQ7TWVkaWFUZWsgTVQ3NTMwIE1ESU8gaW50ZXJmYWNlIGRyaXZlclwmIzM0O1xuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6NDU6XHRkZXBlbmRzIG9uIE5FVF9EU0FfTVQ3NTMwXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy00Ni1cdHNlbGVjdCBNRURJQVRFS19HRV9QSFlcbi0tXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy00OC1cdGhlbHBcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjQ5Olx0ICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhlIE1lZGlhVGVrIE1UNzUzMCBhbmQgTVQ3NTMxIHN3aXRjaFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNTAtXHQgIGNoaXBzIHdoaWNoIGFyZSBjb25uZWN0ZWQgdmlhIE1ESU8sIGFzIHdlbGwgYXMgbXVsdGktY2hpcFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6NTE6XHQgIG1vZHVsZSBNVDc1MzAgd2hpY2ggY2FuIGJlIGZvdW5kIGluIHRoZSBNVDc2MjFBVCwgTVQ3NjIxREFULFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNTItXHQgIE1UNzYyMVNUIGFuZCBNVDc2MjNBSSBTb0NzLlxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNTMtXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzo1NDpjb25maWcgTkVUX0RTQV9NVDc1MzBfTU1JT1xuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6NTU6XHR0cmlzdGF0ZSBcJiMzNDtNZWRpYVRlayBNVDc1MzAgTU1JTyBpbnRlcmZhY2UgZHJpdmVyXCYjMzQ7XG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzo1NjpcdGRlcGVuZHMgb24gTkVUX0RTQV9NVDc1MzBcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnLTU3LVx0ZGVwZW5kcyBvbiBIQVNfSU9NRU1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNzE3MgoJCQkJCQkJb3V0cHV0OiAxMTAKCQkJCQkJCXRob3VnaHRzOiAxMzY4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKldvcnRoRnV6emluZyBBc3Nlc3NtZW50OiBUaGUgTVQ3NTMwIERTQSBEcml2ZXIgUGF0Y2gqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyB0b3VjaGluZyBgZHJpdmVycy9uZXQvZHNhL210NzUzMC5jYCwgc3BlY2lmaWNhbGx5IHRoZSBNZWRpYVRlayBNVDc1MzAvTVQ3NTMxIERTQSBzd2l0Y2ggZHJpdmVyLiBNeSBpbml0aWFsIHRob3VnaHQgaXMsIGNhbiB0aGlzIGJlIHJlYWNoZWQgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudCwgd2hpY2ggaXMgY3J1Y2lhbCBmb3IgZnV6emluZyB3aXRoIHNvbWV0aGluZyBsaWtlIHN5emthbGxlcj8gRFNBIGRyaXZlcnMgYXJlIGluaGVyZW50bHkgaGFyZHdhcmUtc3BlY2lmaWMuIFdoaWxlIERTQSBpdHNlbGYgaGFzIGEgY29yZSBsYXllciB0aGF0ICpjYW4qIGJlIG1vY2tlZCAobGlrZSBgZHNhX2xvb3BgKSwgdGhpcyBwYXRjaCBpcyBtb2RpZnlpbmcgdGhlIE1UNzUzMCBkcml2ZXIsIGEgY29uY3JldGUgaGFyZHdhcmUgZHJpdmVyLgoKSSBuZWVkIHRvIHF1aWNrbHkgYXNzZXNzIHJlYWNoYWJpbGl0eS4gRFNBIGRyaXZlcnMgdHlwaWNhbGx5IHByb2JlIHRocm91Z2ggTURJTyBvciBNTUlPLiBDYW4gc3l6a2FsbGVyIGdldCBhdCB0aGlzPyBTeXprYWxsZXIgaGFzIHNvbWUgbmV0d29yayBmdXp6aW5nIGNhcGFiaWxpdGllcywgZXNwZWNpYWxseSBmb3IgZHJpdmVycyBpbnN0YW50aWF0ZWQgdmlhIG5ldGxpbmsgb3IgdmlydHVhbCBkZXZpY2VzLCBidXQgRFNBIHN3aXRjaGVzIHVzdWFsbHkgY29tZSB1cCB0aHJvdWdoIHRoZSBkZXZpY2UgdHJlZSwgb3IgdmlhIEkyQyBvciBNRElPLiBTeXprYWxsZXIgKmRvZXMqIGhhdmUgbWVjaGFuaXNtcyB0byBpbmplY3QgY2VydGFpbiBoYXJkd2FyZSwgbGlrZSBVU0IgZGV2aWNlcyAoYHZoY2lgKSwgb3IgYG1hYzgwMjExX2h3c2ltYCBmb3IgV2lGaS4gRG9lcyBpdCBoYXZlIGFueXRoaW5nIGVxdWl2YWxlbnQgZm9yIERTQT8gSSByZW1lbWJlcmVkIGBkc2FfbG9vcGAsIHdoaWNoIGlzIGEgbW9jayBEU0EgZHJpdmVyLCBidXQgdGhlIHBhdGNoIGlzIGluIHRoZSBNVDc1MzAgZHJpdmVyIGFuZCBub3QgdGhlIGNvcmUgRFNBIGxheWVyLgoKSXMgYG10NzUzMF9zZXR1cGAgcmVhY2hhYmxlIGluIGEgc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudCwgd2hpY2ggaXMgdGhlIGJhc2VsaW5lIHN5emthbGxlciB1c2VzPyBQcm9iYWJseSBub3QuIEl0IHJlcXVpcmVzIGFuIE1ESU8gYnVzIHdpdGggYSBzcGVjaWZpYyBQSFkgSUQgb3IgYSBwbGF0Zm9ybSBkZXZpY2Ugd2l0aCBzcGVjaWZpYyBjb21wYXRpYmxlIHN0cmluZ3MgdGhhdCBhcmVuJiMzOTt0IHByZXNlbnQgaW4gdGhlIGdlbmVyaWMgeDg2XzY0IG9yIGFybTY0IFZNcy4gRG9lcyBzeXprYWxsZXIgaGF2ZSBhbiBpbmplY3RvciBmb3IgcGxhdGZvcm0gZGV2aWNlcz8gTm8uIEl0IGhhcyBVU0IgKGBzeXpfdXNiX2Nvbm5lY3RgKSwgV2lGaSAoYHN5el84MDIxMV9pbmplY3RfZnJhbWVgKSBhbmQgc28gb24sIGJ1dCBubyBwbGF0Zm9ybSBkZXZpY2UgaW5qZWN0b3JzLiBJdCBjYW4gKmxvYWQqIGN1c3RvbSBkZXZpY2UgdHJlZXMsIGJ1dCB0aGF0JiMzOTtzIG5vdCBpdHMgdHlwaWNhbCBhcHByb2FjaC4KCkdpdmVuIHRoZSBwcm9tcHQmIzM5O3MgY3JpdGVyaWEg4oCTICYjMzQ7Q29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLCBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlJiMzNDsg4oCTIHRoZSBNVDc1MzAgaXMgY2xlYXJseSB1bnJlYWNoYWJsZS4gSXQmIzM5O3MgYSBoYXJkd2FyZS1zcGVjaWZpYyBFdGhlcm5ldCBzd2l0Y2ggY2hpcCwgYW5kIHRoZXJlIGlzIG5vIHN0YW5kYXJkIHVwc3RyZWFtIGtlcm5lbCBlbXVsYXRpb24gZm9yIGl0LCB1bmxpa2UgYSBEU0EgY29yZSBsYXllciB0aGF0IGlzIG1vY2tlZCB3aXRoIGRzYV9sb29wLiBUaGlzIGNvZGUgcmVsaWVzIG9uIE1ESU8vTU1JTyBhY2Nlc3MgdG8gdGhlIGhhcmR3YXJlLgoKTGV0IG1lIGRvdWJsZS1jaGVjazogdGhlcmUgaXNuJiMzOTt0IGEgdXNlci1zcGFjZSBBUEkgdG8gaW5zdGFudGlhdGUgdGhpcy4gSXQmIzM5O3MgYSBoYXJkd2FyZSBkcml2ZXIuIEFuZCwgdGhlcmUgaXNuJiMzOTt0IGEgYGRzYV9sb29wYC1zdHlsZSBlcXVpdmFsZW50IGZvciBNVDc1MzAuIEl0JiMzOTtzIGhhcmR3YXJlLXNwZWNpZmljLiBJIGNvbmZpcm0gdGhhdCBpdCBpcyB1bnJlYWNoYWJsZSBpbiBnZW5lcmljIFZNcy4gVGhlIGNvbmZpZyBvcHRpb25zIHdvdWxkIGJlIGBORVRfRFNBX01UNzUzMGAsIGBORVRfRFNBX01UNzUzMF9NRElPYCwgYE5FVF9EU0FfTVQ3NTMwX01NSU9gLCBidXQgdGhlc2UgYXJlIGlycmVsZXZhbnQuCgpTbywgaW4gc3VtbWFyeTogdGhlIHBhdGNoIHJlbW92ZXMgYSBzaW5nbGUgYm9vbGVhbiBhc3NpZ25tZW50IChgdW50YWdfdmxhbl9hd2FyZV9icmlkZ2VfcHZpZGApLCB3aGljaCB3b3VsZCBhZmZlY3QgYnJpZGdlIFZMQU4gbG9naWMgaWYgaXQgd2VyZSByZWFjaGFibGUuIEhvd2V2ZXIsIHRoZSBNVDc1MzAgZHJpdmVyIGlzIGZvciBNZWRpYVRlayBzd2l0Y2ggaGFyZHdhcmUgYW5kIGlzIHVucmVhY2hhYmxlIGluIGEgZ2VuZXJpYyBWTSwgc28gaXQmIzM5O3Mgbm90IHdvcnRoIGZ1enppbmcgZm9yIHRoaXMgcGF0Y2guIEkgd2lsbCByZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlLCB1c2luZyBgc2V0LXJlc3VsdHNgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxNToxNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYVRlayBNVDc1MzAvTVQ3NTMxIERTQSBzd2l0Y2ggZHJpdmVyLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIHRoYXQgcHJvYmVzIHZpYSBNRElPIG9yIE1NSU8gYW5kIGlzIHR5cGljYWxseSBpbnN0YW50aWF0ZWQgdmlhIERldmljZSBUcmVlIG9uIHNwZWNpZmljIE1lZGlhVGVrIFNvQ3MuIFRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdGlvbiBmb3IgdGhpcyBzcGVjaWZpYyBoYXJkd2FyZSBpbiBzdGFuZGFyZCBRRU1VL0dDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYVRlayBNVDc1MzAvTVQ3NTMxIERTQSBzd2l0Y2ggZHJpdmVyLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIHRoYXQgcHJvYmVzIHZpYSBNRElPIG9yIE1NSU8gYW5kIGlzIHR5cGljYWxseSBpbnN0YW50aWF0ZWQgdmlhIERldmljZSBUcmVlIG9uIHNwZWNpZmljIE1lZGlhVGVrIFNvQ3MuIFRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdGlvbiBmb3IgdGhpcyBzcGVjaWZpYyBoYXJkd2FyZSBpbiBzdGFuZGFyZCBRRU1VL0dDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxNToxMjo0OS4xMTE1MjQ5MTRaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMzQ0MjE1MzI0NDksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYVRlayBNVDc1MzAvTVQ3NTMxIERTQSBzd2l0Y2ggZHJpdmVyLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIHRoYXQgcHJvYmVzIHZpYSBNRElPIG9yIE1NSU8gYW5kIGlzIHR5cGljYWxseSBpbnN0YW50aWF0ZWQgdmlhIERldmljZSBUcmVlIG9uIHNwZWNpZmljIE1lZGlhVGVrIFNvQ3MuIFRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdGlvbiBmb3IgdGhpcyBzcGVjaWZpYyBoYXJkd2FyZSBpbiBzdGFuZGFyZCBRRU1VL0dDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjEyOjQ5LjExMTUzMzMzNFoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjI5NzY2MjE4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgYjVjZTZhMzJjYzdhYTgxMGJhMDk0MTcxODE3OTdmM2NlYWIzOTI2ZlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVHVlIEp1bCA3IDE1OjEyOjQ3IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuY1xcbmluZGV4IDNjMmEzMDI5YjEwY2ZiLi43NTJiYTkyYjA4NTE3ZSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmNcXG4rKysgYi9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmNcXG5AQCAtMjQ0Nyw3ICsyNDQ3LDYgQEAgbXQ3NTMwX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcXG4gXFx0fVxcbiBcXG4gXFx0ZHMtXFx1MDAzZWFzc2lzdGVkX2xlYXJuaW5nX29uX2NwdV9wb3J0ID0gdHJ1ZTtcXG4tXFx0ZHMtXFx1MDAzZXVudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWQgPSB0cnVlO1xcbiBcXHRkcy1cXHUwMDNlbXR1X2VuZm9yY2VtZW50X2luZ3Jlc3MgPSB0cnVlO1xcbiBcXHRkcy1cXHUwMDNlYWdlaW5nX3RpbWVfbWluID0gMiAqIDEwMDA7XFxuIFxcdGRzLVxcdTAwM2VhZ2VpbmdfdGltZV9tYXggPSAoQUdFX0NOVF9NQVggKyAxKSAqIChBR0VfVU5JVF9NQVggKyAxKSAqIDEwMDA7XFxuQEAgLTI2MzksNyArMjYzOCw2IEBAIG10NzUzMV9zZXR1cF9jb21tb24oc3RydWN0IGRzYV9zd2l0Y2ggKmRzKVxcbiBcXHRpbnQgcmV0LCBpO1xcbiBcXG4gXFx0ZHMtXFx1MDAzZWFzc2lzdGVkX2xlYXJuaW5nX29uX2NwdV9wb3J0ID0gdHJ1ZTtcXG4tXFx0ZHMtXFx1MDAzZXVudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWQgPSB0cnVlO1xcbiBcXHRkcy1cXHUwMDNlbXR1X2VuZm9yY2VtZW50X2luZ3Jlc3MgPSB0cnVlO1xcbiBcXHRkcy1cXHUwMDNlYWdlaW5nX3RpbWVfbWluID0gMiAqIDEwMDA7XFxuIFxcdGRzLVxcdTAwM2VhZ2VpbmdfdGltZV9tYXggPSAoQUdFX0NOVF9NQVggKyAxKSAqIChBR0VfVU5JVF9NQVggKyAxKSAqIDEwMDA7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjEyOjQ5Ljc0MjMwMDY1MVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTMzNzkwNzQ4ODYyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgTWVkaWFUZWsgTVQ3NTMwL01UNzUzMSBEU0Egc3dpdGNoIGRyaXZlci4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciB0aGF0IHByb2JlcyB2aWEgTURJTyBvciBNTUlPIGFuZCBpcyB0eXBpY2FsbHkgaW5zdGFudGlhdGVkIHZpYSBEZXZpY2UgVHJlZSBvbiBzcGVjaWZpYyBNZWRpYVRlayBTb0NzLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgc3BlY2lmaWMgaGFyZHdhcmUgaW4gc3RhbmRhcmQgUUVNVS9HQ0UgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGI1Y2U2YTMyY2M3YWE4MTBiYTA5NDE3MTgxNzk3ZjNjZWFiMzkyNmZcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVHVlIEp1bCA3IDE1OjEyOjQ3IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZHNhL210NzUzMC5jIGIvZHJpdmVycy9uZXQvZHNhL210NzUzMC5jXG5pbmRleCAzYzJhMzAyOWIxMGNmYi4uNzUyYmE5MmIwODUxN2UgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmNcbisrKyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuY1xuQEAgLTI0NDcsNyArMjQ0Nyw2IEBAIG10NzUzMF9zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpXG4gXHR9XG4gXG4gXHRkcy1cdTAwM2Vhc3Npc3RlZF9sZWFybmluZ19vbl9jcHVfcG9ydCA9IHRydWU7XG4tXHRkcy1cdTAwM2V1bnRhZ192bGFuX2F3YXJlX2JyaWRnZV9wdmlkID0gdHJ1ZTtcbiBcdGRzLVx1MDAzZW10dV9lbmZvcmNlbWVudF9pbmdyZXNzID0gdHJ1ZTtcbiBcdGRzLVx1MDAzZWFnZWluZ190aW1lX21pbiA9IDIgKiAxMDAwO1xuIFx0ZHMtXHUwMDNlYWdlaW5nX3RpbWVfbWF4ID0gKEFHRV9DTlRfTUFYICsgMSkgKiAoQUdFX1VOSVRfTUFYICsgMSkgKiAxMDAwO1xuQEAgLTI2MzksNyArMjYzOCw2IEBAIG10NzUzMV9zZXR1cF9jb21tb24oc3RydWN0IGRzYV9zd2l0Y2ggKmRzKVxuIFx0aW50IHJldCwgaTtcbiBcbiBcdGRzLVx1MDAzZWFzc2lzdGVkX2xlYXJuaW5nX29uX2NwdV9wb3J0ID0gdHJ1ZTtcbi1cdGRzLVx1MDAzZXVudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWQgPSB0cnVlO1xuIFx0ZHMtXHUwMDNlbXR1X2VuZm9yY2VtZW50X2luZ3Jlc3MgPSB0cnVlO1xuIFx0ZHMtXHUwMDNlYWdlaW5nX3RpbWVfbWluID0gMiAqIDEwMDA7XG4gXHRkcy1cdTAwM2VhZ2VpbmdfdGltZV9tYXggPSAoQUdFX0NOVF9NQVggKyAxKSAqIChBR0VfVU5JVF9NQVggKyAxKSAqIDEwMDA7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxNToxMjo0OS43NDIzMDMwMzFaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxNTg4ODkyODUxNCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBOZXR3b3JrIERyaXZlciBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgcmVtb3ZpbmcgYGRzLVx1MDAzZXVudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWQgPSB0cnVlO2AgZnJvbSBgbXQ3NTMwX3NldHVwYCBhbmQgYG10NzUzMV9zZXR1cF9jb21tb25gIHdpdGhpbiB0aGUgYGRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuY2AgZmlsZS4gVGhpcyBpbW1lZGlhdGVseSB0ZWxscyBtZSB3ZSdyZSBkZWFsaW5nIHdpdGggYSBNZWRpYVRlayBNVDc1MzAvTVQ3NTMxIEdpZ2FiaXQgRXRoZXJuZXQgc3dpdGNoIGRyaXZlciwgYSBEU0EgZHJpdmVyLiBNeSBpbml0aWFsIHRob3VnaHQgaXMsIGhvdyBsaWtlbHkgaXMgdGhpcyB0byBiZSByZWFjaGFibGUgaW4gYSB2aXJ0dWFsaXplZCBjb250ZXh0PyBEU0EgZHJpdmVycyBhcmUsIGJ5IHRoZWlyIG5hdHVyZSwgdGlnaHRseSBjb3VwbGVkIHdpdGggaGFyZHdhcmUuIEkgbmVlZCB0byBxdWlja2x5IGRldGVybWluZSBpZiB0aGVyZSdzIGFueSBlbXVsYXRpb24gYXZhaWxhYmxlIGZvciB0aGVzZSBzd2l0Y2ggY2hpcHMsIG9yIGlmIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIHB1cmVseSBoYXJkd2FyZS1kZXBlbmRlbnQgaW1wbGVtZW50YXRpb24uXG5cbkdlbmVyYWxseSwgRFNBIGRyaXZlcnMgYXJlIG1lYW50IGZvciBwaHlzaWNhbCBzd2l0Y2ggY2hpcHMuIE15IGltbWVkaWF0ZSBpbXB1bHNlIGlzIHRvIGNvbnNpZGVyIGZ1enppbmcgdGhpcyBjb2RlLiBUaGUgcXVlc3Rpb24gaXMsIGNhbiB3ZSB0cmlnZ2VyIHRoZSByZWxldmFudCBjb2RlIHBhdGhzPyBIYW5nIG9uLCB0aG91Z2guIERTQSBkcml2ZXJzICpjb3VsZCogYmUgYWNjZXNzaWJsZSBpbiBhIHZpcnR1YWxpemVkIHNjZW5hcmlvIGlmIHRoZSBlbnZpcm9ubWVudCBwcm92aWRlcyBhIHN1aXRhYmxlIGRldmljZSB0cmVlIG9yIGVxdWl2YWxlbnQgbWVjaGFuaXNtIHRvIGluc3RhbnRpYXRlIHRoZW0uIEhvd2V2ZXIsIHRoZXkgdXN1YWxseSByZWx5IG9uIHNwZWNpZmljIGJ1cyBpbnRlcmZhY2VzIGxpa2UgSTJDIG9yIE1ESU8gYW5kIGV4cGVjdCBwYXJ0aWN1bGFyIGhhcmR3YXJlIHJlc3BvbnNlcy4gU28gdGhlIHF1ZXN0aW9uIGlzLCBjYW4gdGhpcyBiZSByZWNyZWF0ZWQgaW4gYSB0ZXN0IGVudmlyb25tZW50PyBJIG5lZWQgdG8gZGlnIGludG8gdGhlIGBtdDc1MzAuY2AgY29kZSB0byB1bmRlcnN0YW5kIHRoZSBkZXBlbmRlbmNpZXMgYW5kIHRyaWdnZXJpbmcgbWVjaGFuaXNtcyBiZXR0ZXIuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIwMzksIk91dHB1dFRva2VucyI6NDEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMDAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxNToxMzowNS42MzEyMzQ0MTVaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjM5ODk4MTE5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm10NzUzMF9zZXR1cFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTM3NT1zdGF0aWMgdm9pZFxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzozNzY6bXQ3NTMwX3NldHVwX3BvcnQ2KHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgcGh5X2ludGVyZmFjZV90IGludGVyZmFjZSlcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzc3LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0xMDYwPXN0YXRpYyBjb25zdCBjaGFyICptdDc1MzBfcDVfbW9kZV9zdHIodW5zaWduZWQgaW50IG1vZGUpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMTA3MS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MTA3MjpzdGF0aWMgdm9pZCBtdDc1MzBfc2V0dXBfcG9ydDUoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBwaHlfaW50ZXJmYWNlX3QgaW50ZXJmYWNlKVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0xMDczLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0xNjUzPXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MTY1NDptdDc1MzBfc2V0dXBfdmxhbjAoc3RydWN0IG10NzUzMF9wcml2ICpwcml2KVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0xNjU1LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0xNjcwPW10NzUzMF9wb3J0X3NldF92bGFuX3VuYXdhcmUoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0xNzA3LVxcdFxcdG11dGV4X2xvY2soXFx1MDAyNnByaXYtXFx1MDAzZXJlZ19tdXRleCk7XFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjE3MDg6XFx0XFx0bXQ3NTMwX3NldHVwX3ZsYW4wKHByaXYpO1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0xNzA5LVxcdFxcdG11dGV4X3VubG9jayhcXHUwMDI2cHJpdi1cXHUwMDNlcmVnX211dGV4KTtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMDAyPW10NzUzMF9wb3J0X3ZsYW5fYWRkKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjAxMi1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjAxMzpcXHQvKiBWSUQgMCBpcyBtYW5hZ2VkIGV4Y2x1c2l2ZWx5IGJ5IG10NzUzMF9zZXR1cF92bGFuMCgpIGZvclxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yMDE0LVxcdCAqIFZMQU4tdW5hd2FyZSBicmlkZ2Ugb3BlcmF0aW9uLiBEb24ndCBsZXQgdGhlIGJyaWRnZSBvdmVyd3JpdGVcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMDU2PW10NzUzMF9wb3J0X3ZsYW5fZGVsKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjA2My1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjA2NDpcXHQvKiBWSUQgMCBpcyBtYW5hZ2VkIGV4Y2x1c2l2ZWx5IGJ5IG10NzUzMF9zZXR1cF92bGFuMCgpLiAqL1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yMDY1LVxcdGlmICh2bGFuLVxcdTAwM2V2aWQgPT0gMClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMjM5PXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjI0MDptdDc1MzBfc2V0dXBfZ3BpbyhzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYpXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTIyNDEte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTIyNjk9c3RhdGljIHZvaWRcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjI3MDptdDc1MzBfc2V0dXBfbWRpb19pcnEoc3RydWN0IG10NzUzMF9wcml2ICpwcml2KVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yMjcxLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMzE5PXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjMyMDptdDc1MzBfc2V0dXBfaXJxKHN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdilcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjMyMS17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM9MjM3MD1zdGF0aWMgaW50XFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjIzNzE6bXQ3NTMwX3NldHVwX21kaW8oc3RydWN0IG10NzUzMF9wcml2ICpwcml2KVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yMzcyLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yNDA0LVxcdGlmIChwcml2LVxcdTAwM2VpcnFfZG9tYWluIFxcdTAwMjZcXHUwMDI2ICFtbnApXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI0MDU6XFx0XFx0bXQ3NTMwX3NldHVwX21kaW9faXJxKHByaXYpO1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yNDA2LVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTI0MTk9c3RhdGljIGludFxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzoyNDIwOm10NzUzMF9zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI0MjEte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI1NjgtXFx0LyogU2V0dXAgVkxBTiBJRCAwIGZvciBWTEFOLXVuYXdhcmUgYnJpZGdlcyAqL1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzoyNTY5OlxcdHJldCA9IG10NzUzMF9zZXR1cF92bGFuMChwcml2KTtcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjU3MC1cXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI2MTMtXFx0XFx0XFx0bXQ3NTMwX2NsZWFyKHByaXYsIE1UNzUzWF9NVFJBUCwgTVQ3NTMwX1A1X0RJUyk7XFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI2MTQ6XFx0XFx0XFx0bXQ3NTMwX3NldHVwX3BvcnQ1KGRzLCBpbnRlcmZhY2UpO1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yNjE1LVxcdFxcdH1cXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yNjE5LVxcdGlmIChvZl9wcm9wZXJ0eV9yZWFkX2Jvb2wocHJpdi1cXHUwMDNlZGV2LVxcdTAwM2VvZl9ub2RlLCBcXFwiZ3Bpby1jb250cm9sbGVyXFxcIikpIHtcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjYyMDpcXHRcXHRyZXQgPSBtdDc1MzBfc2V0dXBfZ3Bpbyhwcml2KTtcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjYyMS1cXHRcXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTI2MzU9bXQ3NTMxX3NldHVwX2NvbW1vbihzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjcwMC1cXHQvKiBTZXR1cCBWTEFOIElEIDAgZm9yIFZMQU4tdW5hd2FyZSBicmlkZ2VzICovXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI3MDE6XFx0cmV0dXJuIG10NzUzMF9zZXR1cF92bGFuMChwcml2KTtcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjcwMi19XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM9MjkxND1tdDc1MzBfbWFjX2NvbmZpZyhzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LCB1bnNpZ25lZCBpbnQgbW9kZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yOTE5LVxcdGlmIChwb3J0ID09IDUpXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI5MjA6XFx0XFx0bXQ3NTMwX3NldHVwX3BvcnQ1KHByaXYtXFx1MDAzZWRzLCBpbnRlcmZhY2UpO1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yOTIxLVxcdGVsc2UgaWYgKHBvcnQgPT0gNilcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjkyMjpcXHRcXHRtdDc1MzBfc2V0dXBfcG9ydDYocHJpdi1cXHUwMDNlZHMsIGludGVyZmFjZSk7XFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI5MjMtfVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTMxODQ9bXQ3NTN4X3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0zMTkyLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzozMTkzOlxcdHJldCA9IG10NzUzMF9zZXR1cF9pcnEocHJpdik7XFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTMxOTQtXFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0zMTk2LVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzozMTk3OlxcdHJldCA9IG10NzUzMF9zZXR1cF9tZGlvKHByaXYpO1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0zMTk4LVxcdGlmIChyZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM9MzM5Nj1jb25zdCBzdHJ1Y3QgbXQ3NTN4X2luZm8gbXQ3NTN4X3RhYmxlW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzM5OS1cXHRcXHQucGNzX29wcyA9IFxcdTAwMjZtdDc1MzBfcGNzX29wcyxcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MzQwMDpcXHRcXHQuc3dfc2V0dXAgPSBtdDc1MzBfc2V0dXAsXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTM0MDEtXFx0XFx0LnBoeV9yZWFkX2MyMiA9IG10NzUzMF9waHlfcmVhZF9jMjIsXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzQxMC1cXHRcXHQucGNzX29wcyA9IFxcdTAwMjZtdDc1MzBfcGNzX29wcyxcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MzQxMTpcXHRcXHQuc3dfc2V0dXAgPSBtdDc1MzBfc2V0dXAsXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTM0MTItXFx0XFx0LnBoeV9yZWFkX2MyMiA9IG10NzUzMF9waHlfcmVhZF9jMjIsXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjEzOjA1Ljg3MTEzODg1NFoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE2NTYyMTg0MjcxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIE5ldHdvcmsgRHJpdmVyIENoYW5nZSoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggYW5kIGl0J3MgcmVtb3ZpbmcgYGRzLVx1MDAzZXVudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWQgPSB0cnVlO2AgZnJvbSBgbXQ3NTMwX3NldHVwYCBhbmQgYG10NzUzMV9zZXR1cF9jb21tb25gLiBSaWdodCBvZmYgdGhlIGJhdCwgSSBzZWUgdGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgbmV0d29yayBkcml2ZXIsIHNwZWNpZmljYWxseSBkZWFsaW5nIHdpdGggdGhlIE1lZGlhVGVrIE1UNzUzMC9NVDc1MzEgc3dpdGNoLiBUaGlzIGB1bnRhZ192bGFuX2F3YXJlX2JyaWRnZV9wdmlkYCBmbGFn4oCmIHRoYXQncyBnb3QgdG8gZG8gd2l0aCBob3cgRFNBIGNvbmZpZ3VyZXMgVkxBTiB0YWdnaW5nIG9uIGJyaWRnZSBwb3J0cy4gTWFrZXMgbWUgd29uZGVyLCBpcyB0aGlzIHNvbWV0aGluZyB0aGF0IGNvdWxkIGV2ZW4gYmUgaGl0IGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQ/IERTQSBkcml2ZXJzIGFyZSBub3JtYWxseSB0aWVkIHRvICpzcGVjaWZpYyogaGFyZHdhcmUuIEkgbWVhbiwgd2UgKmNvdWxkKiBzZWUgdGhlIERTQSBjb3JlIGFuZCBzb21lIGRyaXZlcnMgaW5zdGFudGlhdGVkIHdpdGggZGV2aWNlIHRyZWUgb3ZlcmxheXMgb3IgbWF5YmUgYSBtb2NrIGRyaXZlcuKApiBidXQgdXN1YWxseSwgYSBkcml2ZXIgbGlrZSBgbXQ3NTMwYCwgdGhhdCdzIGdvaW5nIHRvIG5lZWQgdGhlIGFjdHVhbCBNZWRpYVRlayBoYXJkd2FyZSwgb3IgYXQgbGVhc3QgYSBnb29kIGVtdWxhdG9yLlxuXG5XYWl0IGEgc2Vjb25k4oCmIHN5emthbGxlciBkb2VzIGZ1enogRFNB4oCmIGlmIGl0IGNhbiBpbnN0YW50aWF0ZSBpdC4gQnV0ICpjYW4qIGl0IGluc3RhbnRpYXRlIG10NzUzMD8gSSByZWNhbGwgcGxhdGZvcm0gZHJpdmVycyBvciBJMkMvTURJTyBkcml2ZXJzIG5lZWRpbmcgdGhlIHBoeXNpY2FsIGhhcmR3YXJlIG9yIGEgcmVhbGx5IGdvb2QgbW9jaywgc28gSSBzaG91bGQgc2VlIGlmIGBtdDc1MzBgIGlzIGEgcGxhdGZvcm0gZHJpdmVyIG9yIGFuIE1ESU8gZHJpdmVyLiBUaGF0J2xsIGJlIGtleSB0byBmaWd1cmluZyBvdXQgaG93IGxpa2VseSB0aGlzIGNoYW5nZSBpcyB0byBjYXVzZSBpc3N1ZXMgb3V0c2lkZSBpdHMgaW50ZW5kZWQgaGFyZHdhcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ4NTMsIk91dHB1dFRva2VucyI6MzgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNTAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTU6MTM6MjIuNDMzMzI1OTA1WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE0Njc3Njg5OSwiRXJyb3IiOiJubyBtYXRjaGVzIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibW9kdWxlXy4qZHJpdmVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTU6MTM6MjIuNTgwMTE0NDY0WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDM0MDY4OTE2NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIHRoZSBzdW1tYXJ5LCBmb3JtYXR0ZWQgYXMgcmVxdWVzdGVkOlxuXG4qKk5hdmlnYXRpbmcgdGhlIERpZ2l0YWwgTGFuZHNjYXBlOiBBIEJyaWVmIEV4YW1pbmF0aW9uKipcblxuUmlnaHQsIGxldCdzIHN0YXJ0IGJ5IHF1aWNrbHkgc2NvcGluZyBvdXQgdGhlIHRhaWwgZW5kIG9mIHRoaXMgZmlsZS4gSXQncyBvZnRlbiB0aGUgcXVpY2tlc3Qgd2F5IHRvIGdldCBhIGZlZWwgZm9yIHdoYXQgd2UncmUgZGVhbGluZyB3aXRoLCBlc3BlY2lhbGx5IHdoZW4gSSdtIGFzc2Vzc2luZyB0aGUgb3ZlcmFsbCBzY29wZS4gVGhpcyBpbml0aWFsIGdsaW1wc2UgYXQgdGhlIGVuZCBvZiB0aGUgY29udGVudCB3aWxsIGdpdmUgbWUgYSBzZW5zZSBvZiB3aGF0IGhhcyBiZWVuIGNvbmNsdWRlZCBzbyBmYXIsIGlmIGFueXRoaW5nLCBhbmQgd2hhdCBwb3RlbnRpYWwgcGF0aHMgb2YgYW5hbHlzaXMgbWlnaHQgcmVtYWluLiBJdOKAmXMgYSBzdGFuZGFyZCBmaXJzdCBzdGVwLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1NjcxLCJPdXRwdXRUb2tlbnMiOjM3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTU6MTM6MjYuOTIwODA2MDQ5WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjc3NjQwOTkwLCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJtb2R1bGVfLipcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZHNhL210NzUzMC5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcImVycm9yXCI6IFwibm8gbWF0Y2hlc1wiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxNToxMzoyNi45OTg0NTY2NTlaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2NDk4NDU3ODI3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIGFzIGlmIEknbSB0aGUgb25lIGhhdmluZyBpdCwgYW5kIGdlYXJlZCB0b3dhcmRzIGFuIGV4cGVydDpcblxuKipIbW0sIE5ldHdvcmsgRHJpdmVyIExvY2F0aW9uIFBvc3NpYmlsaXR5KipcblxuQWxyaWdodCwgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hlcmUgdGhhdCBzcGVjaWZpYyBmdW5jdGlvbmFsaXR5IGlzIGltcGxlbWVudGVkLiBNeSBmaXJzdCBpbnN0aW5jdCwgZ2l2ZW4gdGhlIGNvbnRleHQsIGlzIHRoYXQgaXQncyBsaWtlbHkgYnVyaWVkIHdpdGhpbiB0aGUgZHJpdmVyIGNvZGUuIENvbnNpZGVyaW5nIGl0J3MgYSBEU0Egc3dpdGNoIGRyaXZlciwgbXkgZ3V0IGZlZWxpbmcgc2F5cyB0aGUgaW1wbGVtZW50YXRpb24gb3IgYSBrZXkgcG9ydGlvbiBvZiB0aGUgY29kZSBpcyBwcm9iYWJseSBzaXR0aW5nIHNvbWV3aGVyZSBpbiB0aGUgYGRyaXZlcnMvbmV0L2RzYS9gIGRpcmVjdG9yeS4gR2l2ZW4gdGhlIHNwZWNpZmljIG1lbnRpb24gb2YgdGhlIE1UNzUzMCBjaGlwLCBJJ20gdGhpbmtpbmcgaXQncyBwcm9iYWJseSwgYXQgYSBtaW5pbXVtLCByZWxhdGVkIHRvIHRoZSBgbXQ3NTMwLW1kaW8uY2AgZmlsZS4gT3IsIGl0J3MgYSBwYXJ0IG9mIHNvbWUgaW5jbHVkZSBzdHJ1Y3R1cmUuIFRpbWUgdG8gZGl2ZSBpbiB0aGVyZSBhbmQgc2VlIHdoYXQgdGhlIHNvdXJjZSBpcy5cblxuXG4iLCJJbnB1dFRva2VucyI6NTg0NiwiT3V0cHV0VG9rZW5zIjoyNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI5LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjEzOjMzLjQ5NjkxNzUzNVoiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJjb2Rlc2VhcmNoLWRpci1pbmRleCIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIxNDQxNzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJEaXJcIjogXCJkcml2ZXJzL25ldC9kc2FcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRmlsZXNcIjogW1xuICAgIFwiYmNtX3NmMi5jXCIsXG4gICAgXCJiY21fc2YyLmhcIixcbiAgICBcImJjbV9zZjJfY2ZwLmNcIixcbiAgICBcImJjbV9zZjJfcmVncy5oXCIsXG4gICAgXCJkc2FfbG9vcC5jXCIsXG4gICAgXCJrczg5OTUuY1wiLFxuICAgIFwibGFuOTMwMy1jb3JlLmNcIixcbiAgICBcImxhbjkzMDMuaFwiLFxuICAgIFwibGFuOTMwM19pMmMuY1wiLFxuICAgIFwibGFuOTMwM19tZGlvLmNcIixcbiAgICBcIm10NzUzMC1tZGlvLmNcIixcbiAgICBcIm10NzUzMC1tbWlvLmNcIixcbiAgICBcIm10NzUzMC5jXCIsXG4gICAgXCJtdDc1MzAuaFwiLFxuICAgIFwibXY4OGU2MDYwLmNcIixcbiAgICBcIm12ODhlNjA2MC5oXCIsXG4gICAgXCJyem4xX2E1cHN3LmNcIixcbiAgICBcInJ6bjFfYTVwc3cuaFwiLFxuICAgIFwidml0ZXNzZS12c2M3M3h4LWNvcmUuY1wiLFxuICAgIFwidml0ZXNzZS12c2M3M3h4LXBsYXRmb3JtLmNcIixcbiAgICBcInZpdGVzc2UtdnNjNzN4eC1zcGkuY1wiLFxuICAgIFwidml0ZXNzZS12c2M3M3h4LmhcIixcbiAgICBcInl0OTIxeC5jXCIsXG4gICAgXCJ5dDkyMXguaFwiXG4gIF0sXG4gIFwiU3ViZGlyc1wiOiBbXG4gICAgXCJiNTNcIixcbiAgICBcImhpcnNjaG1hbm5cIixcbiAgICBcImxhbnRpcVwiLFxuICAgIFwibWljcm9jaGlwXCIsXG4gICAgXCJtdjg4ZTZ4eHhcIixcbiAgICBcIm14bDg2Mnh4XCIsXG4gICAgXCJuZXRjXCIsXG4gICAgXCJvY2Vsb3RcIixcbiAgICBcInFjYVwiLFxuICAgIFwicmVhbHRla1wiLFxuICAgIFwic2phMTEwNVwiLFxuICAgIFwieHJzNzAweFwiXG4gIF1cbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjEzOjMzLjQ5OTA2NjExNVoiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMjUyMjc4NzQ0NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjU5NzQsIk91dHB1dFRva2VucyI6NDAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOlsiY29kZXNlYXJjaC1kaXItaW5kZXgiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxNToxMzo0Ni4wMjE4NTY3NTFaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEzMjQwOTI4MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJtb2R1bGVfLipcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZHNhL210NzUzMC1tZGlvLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZHNhL210NzUzMC1tZGlvLmM9MjUxPXN0YXRpYyBzdHJ1Y3QgbWRpb19kcml2ZXIgbXQ3NTMwX21kaW9fZHJpdmVyID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC1tZGlvLmMtMjYwLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAtbWRpby5jOjI2MTptZGlvX21vZHVsZV9kcml2ZXIobXQ3NTMwX21kaW9fZHJpdmVyKTtcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1kaW8uYy0yNjItXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjEzOjQ2LjE1NDI3MTE5WiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE0ODM5MTI1ODY3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6NjE1NiwiT3V0cHV0VG9rZW5zIjo0MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTU6MTQ6MDAuOTkzNDAwMDY3WiIsIlNlcSI6MTQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyOTYwOTk4OTksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibW9kdWxlXy4qXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2RzYS9tdDc1MzAtbW1pby5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2RzYS9tdDc1MzAtbW1pby5jPTg3PXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10Nzk4OF9wbGF0Zm9ybV9kcml2ZXIgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1taW8uYy05NS19O1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAtbW1pby5jOjk2Om1vZHVsZV9wbGF0Zm9ybV9kcml2ZXIobXQ3OTg4X3BsYXRmb3JtX2RyaXZlcik7XFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC1tbWlvLmMtOTctXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjE0OjAxLjI4OTUwNDk5NloiLCJTZXEiOjE1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxNTM1ODIzNzExNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjYzMzEsIk91dHB1dFRva2VucyI6MzQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjE0OjE2LjY0Nzc0NTQwMVoiLCJTZXEiOjE2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjIyMTA0Nzk5LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJtdDc1MzBcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZHNhL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiZXJyb3JcIjogXCJubyBtYXRjaGVzXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjE0OjE2Ljg2OTg3MTczWiIsIlNlcSI6MTcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE3MTk2ODg5NDE5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6NjM3OSwiT3V0cHV0VG9rZW5zIjozNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTU6MTQ6MzQuMDY2NzYzODg5WiIsIlNlcSI6MTgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMjA2MDc3MjksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiTVQ3NTMwXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2RzYS9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2RzYS9LY29uZmlnPTI5PXNvdXJjZSBcXFwiZHJpdmVycy9uZXQvZHNhL2xhbnRpcS9LY29uZmlnXFxcIlxcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnLTMwLVxcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjMxOmNvbmZpZyBORVRfRFNBX01UNzUzMFxcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjMyOlxcdHRyaXN0YXRlIFxcXCJNZWRpYVRlayBNVDc1MzAgYW5kIE1UNzUzMSBFdGhlcm5ldCBzd2l0Y2ggc3VwcG9ydFxcXCJcXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy0zMy1cXHRzZWxlY3QgTkVUX0RTQV9UQUdfTVRLXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctMzQtXFx0c2VsZWN0IFJFR01BUF9JUlFcXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzozNTpcXHRpbXBseSBORVRfRFNBX01UNzUzMF9NRElPXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6MzY6XFx0aW1wbHkgTkVUX0RTQV9NVDc1MzBfTU1JT1xcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnLTM3LVxcdGhlbHBcXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzozODpcXHQgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciB0aGUgTWVkaWFUZWsgTVQ3NTMwIGFuZCBNVDc1MzEgRXRoZXJuZXRcXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzozOTpcXHQgIHN3aXRjaCBjaGlwcy4gTXVsdGktY2hpcCBtb2R1bGUgTVQ3NTMwIGluIE1UNzYyMUFULCBNVDc2MjFEQVQsXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNDAtXFx0ICBNVDc2MjFTVCBhbmQgTVQ3NjIzQUkgU29DcywgYW5kIGJ1aWx0LWluIHN3aXRjaCBpbiBNVDc5ODggU29DIGFyZVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNDItXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6NDM6Y29uZmlnIE5FVF9EU0FfTVQ3NTMwX01ESU9cXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzo0NDpcXHR0cmlzdGF0ZSBcXFwiTWVkaWFUZWsgTVQ3NTMwIE1ESU8gaW50ZXJmYWNlIGRyaXZlclxcXCJcXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzo0NTpcXHRkZXBlbmRzIG9uIE5FVF9EU0FfTVQ3NTMwXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNDYtXFx0c2VsZWN0IE1FRElBVEVLX0dFX1BIWVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNDgtXFx0aGVscFxcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjQ5OlxcdCAgVGhpcyBlbmFibGVzIHN1cHBvcnQgZm9yIHRoZSBNZWRpYVRlayBNVDc1MzAgYW5kIE1UNzUzMSBzd2l0Y2hcXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy01MC1cXHQgIGNoaXBzIHdoaWNoIGFyZSBjb25uZWN0ZWQgdmlhIE1ESU8sIGFzIHdlbGwgYXMgbXVsdGktY2hpcFxcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjUxOlxcdCAgbW9kdWxlIE1UNzUzMCB3aGljaCBjYW4gYmUgZm91bmQgaW4gdGhlIE1UNzYyMUFULCBNVDc2MjFEQVQsXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNTItXFx0ICBNVDc2MjFTVCBhbmQgTVQ3NjIzQUkgU29Dcy5cXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy01My1cXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzo1NDpjb25maWcgTkVUX0RTQV9NVDc1MzBfTU1JT1xcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjU1OlxcdHRyaXN0YXRlIFxcXCJNZWRpYVRlayBNVDc1MzAgTU1JTyBpbnRlcmZhY2UgZHJpdmVyXFxcIlxcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjU2OlxcdGRlcGVuZHMgb24gTkVUX0RTQV9NVDc1MzBcXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy01Ny1cXHRkZXBlbmRzIG9uIEhBU19JT01FTVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxNToxNDozNC4yODczNzc2NjhaIiwiU2VxIjoxOSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjkyNDU2MzIwNzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqV29ydGhGdXp6aW5nIEFzc2Vzc21lbnQ6IFRoZSBNVDc1MzAgRFNBIERyaXZlciBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgYGRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuY2AsIHNwZWNpZmljYWxseSB0aGUgTWVkaWFUZWsgTVQ3NTMwL01UNzUzMSBEU0Egc3dpdGNoIGRyaXZlci4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBjYW4gdGhpcyBiZSByZWFjaGVkIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQsIHdoaWNoIGlzIGNydWNpYWwgZm9yIGZ1enppbmcgd2l0aCBzb21ldGhpbmcgbGlrZSBzeXprYWxsZXI/IERTQSBkcml2ZXJzIGFyZSBpbmhlcmVudGx5IGhhcmR3YXJlLXNwZWNpZmljLiBXaGlsZSBEU0EgaXRzZWxmIGhhcyBhIGNvcmUgbGF5ZXIgdGhhdCAqY2FuKiBiZSBtb2NrZWQgKGxpa2UgYGRzYV9sb29wYCksIHRoaXMgcGF0Y2ggaXMgbW9kaWZ5aW5nIHRoZSBNVDc1MzAgZHJpdmVyLCBhIGNvbmNyZXRlIGhhcmR3YXJlIGRyaXZlci5cblxuSSBuZWVkIHRvIHF1aWNrbHkgYXNzZXNzIHJlYWNoYWJpbGl0eS4gRFNBIGRyaXZlcnMgdHlwaWNhbGx5IHByb2JlIHRocm91Z2ggTURJTyBvciBNTUlPLiBDYW4gc3l6a2FsbGVyIGdldCBhdCB0aGlzPyBTeXprYWxsZXIgaGFzIHNvbWUgbmV0d29yayBmdXp6aW5nIGNhcGFiaWxpdGllcywgZXNwZWNpYWxseSBmb3IgZHJpdmVycyBpbnN0YW50aWF0ZWQgdmlhIG5ldGxpbmsgb3IgdmlydHVhbCBkZXZpY2VzLCBidXQgRFNBIHN3aXRjaGVzIHVzdWFsbHkgY29tZSB1cCB0aHJvdWdoIHRoZSBkZXZpY2UgdHJlZSwgb3IgdmlhIEkyQyBvciBNRElPLiBTeXprYWxsZXIgKmRvZXMqIGhhdmUgbWVjaGFuaXNtcyB0byBpbmplY3QgY2VydGFpbiBoYXJkd2FyZSwgbGlrZSBVU0IgZGV2aWNlcyAoYHZoY2lgKSwgb3IgYG1hYzgwMjExX2h3c2ltYCBmb3IgV2lGaS4gRG9lcyBpdCBoYXZlIGFueXRoaW5nIGVxdWl2YWxlbnQgZm9yIERTQT8gSSByZW1lbWJlcmVkIGBkc2FfbG9vcGAsIHdoaWNoIGlzIGEgbW9jayBEU0EgZHJpdmVyLCBidXQgdGhlIHBhdGNoIGlzIGluIHRoZSBNVDc1MzAgZHJpdmVyIGFuZCBub3QgdGhlIGNvcmUgRFNBIGxheWVyLlxuXG5JcyBgbXQ3NTMwX3NldHVwYCByZWFjaGFibGUgaW4gYSBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50LCB3aGljaCBpcyB0aGUgYmFzZWxpbmUgc3l6a2FsbGVyIHVzZXM/IFByb2JhYmx5IG5vdC4gSXQgcmVxdWlyZXMgYW4gTURJTyBidXMgd2l0aCBhIHNwZWNpZmljIFBIWSBJRCBvciBhIHBsYXRmb3JtIGRldmljZSB3aXRoIHNwZWNpZmljIGNvbXBhdGlibGUgc3RyaW5ncyB0aGF0IGFyZW4ndCBwcmVzZW50IGluIHRoZSBnZW5lcmljIHg4Nl82NCBvciBhcm02NCBWTXMuIERvZXMgc3l6a2FsbGVyIGhhdmUgYW4gaW5qZWN0b3IgZm9yIHBsYXRmb3JtIGRldmljZXM/IE5vLiBJdCBoYXMgVVNCIChgc3l6X3VzYl9jb25uZWN0YCksIFdpRmkgKGBzeXpfODAyMTFfaW5qZWN0X2ZyYW1lYCkgYW5kIHNvIG9uLCBidXQgbm8gcGxhdGZvcm0gZGV2aWNlIGluamVjdG9ycy4gSXQgY2FuICpsb2FkKiBjdXN0b20gZGV2aWNlIHRyZWVzLCBidXQgdGhhdCdzIG5vdCBpdHMgdHlwaWNhbCBhcHByb2FjaC5cblxuR2l2ZW4gdGhlIHByb21wdCdzIGNyaXRlcmlhIOKAkyBcIkNvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZVwiIOKAkyB0aGUgTVQ3NTMwIGlzIGNsZWFybHkgdW5yZWFjaGFibGUuIEl0J3MgYSBoYXJkd2FyZS1zcGVjaWZpYyBFdGhlcm5ldCBzd2l0Y2ggY2hpcCwgYW5kIHRoZXJlIGlzIG5vIHN0YW5kYXJkIHVwc3RyZWFtIGtlcm5lbCBlbXVsYXRpb24gZm9yIGl0LCB1bmxpa2UgYSBEU0EgY29yZSBsYXllciB0aGF0IGlzIG1vY2tlZCB3aXRoIGRzYV9sb29wLiBUaGlzIGNvZGUgcmVsaWVzIG9uIE1ESU8vTU1JTyBhY2Nlc3MgdG8gdGhlIGhhcmR3YXJlLlxuXG5MZXQgbWUgZG91YmxlLWNoZWNrOiB0aGVyZSBpc24ndCBhIHVzZXItc3BhY2UgQVBJIHRvIGluc3RhbnRpYXRlIHRoaXMuIEl0J3MgYSBoYXJkd2FyZSBkcml2ZXIuIEFuZCwgdGhlcmUgaXNuJ3QgYSBgZHNhX2xvb3BgLXN0eWxlIGVxdWl2YWxlbnQgZm9yIE1UNzUzMC4gSXQncyBoYXJkd2FyZS1zcGVjaWZpYy4gSSBjb25maXJtIHRoYXQgaXQgaXMgdW5yZWFjaGFibGUgaW4gZ2VuZXJpYyBWTXMuIFRoZSBjb25maWcgb3B0aW9ucyB3b3VsZCBiZSBgTkVUX0RTQV9NVDc1MzBgLCBgTkVUX0RTQV9NVDc1MzBfTURJT2AsIGBORVRfRFNBX01UNzUzMF9NTUlPYCwgYnV0IHRoZXNlIGFyZSBpcnJlbGV2YW50LlxuXG5TbywgaW4gc3VtbWFyeTogdGhlIHBhdGNoIHJlbW92ZXMgYSBzaW5nbGUgYm9vbGVhbiBhc3NpZ25tZW50IChgdW50YWdfdmxhbl9hd2FyZV9icmlkZ2VfcHZpZGApLCB3aGljaCB3b3VsZCBhZmZlY3QgYnJpZGdlIFZMQU4gbG9naWMgaWYgaXQgd2VyZSByZWFjaGFibGUuIEhvd2V2ZXIsIHRoZSBNVDc1MzAgZHJpdmVyIGlzIGZvciBNZWRpYVRlayBzd2l0Y2ggaGFyZHdhcmUgYW5kIGlzIHVucmVhY2hhYmxlIGluIGEgZ2VuZXJpYyBWTSwgc28gaXQncyBub3Qgd29ydGggZnV6emluZyBmb3IgdGhpcyBwYXRjaC4gSSB3aWxsIHJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UsIHVzaW5nIGBzZXQtcmVzdWx0c2AuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjcxNzIsIk91dHB1dFRva2VucyI6MTEwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTM2OCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxNToxNTowMy41MzMwMTIzMTRaIiwiU2VxIjoyMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozNTI4MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW10sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgTWVkaWFUZWsgTVQ3NTMwL01UNzUzMSBEU0Egc3dpdGNoIGRyaXZlci4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciB0aGF0IHByb2JlcyB2aWEgTURJTyBvciBNTUlPIGFuZCBpcyB0eXBpY2FsbHkgaW5zdGFudGlhdGVkIHZpYSBEZXZpY2UgVHJlZSBvbiBzcGVjaWZpYyBNZWRpYVRlayBTb0NzLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgc3BlY2lmaWMgaGFyZHdhcmUgaW4gc3RhbmRhcmQgUUVNVS9HQ0UgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgTWVkaWFUZWsgTVQ3NTMwL01UNzUzMSBEU0Egc3dpdGNoIGRyaXZlci4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciB0aGF0IHByb2JlcyB2aWEgTURJTyBvciBNTUlPIGFuZCBpcyB0eXBpY2FsbHkgaW5zdGFudGlhdGVkIHZpYSBEZXZpY2UgVHJlZSBvbiBzcGVjaWZpYyBNZWRpYVRlayBTb0NzLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgc3BlY2lmaWMgaGFyZHdhcmUgaW4gc3RhbmRhcmQgUUVNVS9HQ0UgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflowtm9fz[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-07 14:54:01 +0000 UTC FinishedAt: 2026-07-07 15:15:04 +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+CgkJCTx0ZD4yMDI2LzA3LzA3IDE1OjEyPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+Mm08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYVRlayBNVDc1MzAvTVQ3NTMxIERTQSBzd2l0Y2ggZHJpdmVyLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIHRoYXQgcHJvYmVzIHZpYSBNRElPIG9yIE1NSU8gYW5kIGlzIHR5cGljYWxseSBpbnN0YW50aWF0ZWQgdmlhIERldmljZSBUcmVlIG9uIHNwZWNpZmljIE1lZGlhVGVrIFNvQ3MuIFRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdGlvbiBmb3IgdGhpcyBzcGVjaWZpYyBoYXJkd2FyZSBpbiBzdGFuZGFyZCBRRU1VL0dDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTI8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBiNWNlNmEzMmNjN2FhODEwYmEwOTQxNzE4MTc5N2YzY2VhYjM5MjZmXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdWwgNyAxNToxMjo0NyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMgYi9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmNcbmluZGV4IDNjMmEzMDI5YjEwY2ZiLi43NTJiYTkyYjA4NTE3ZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZHNhL210NzUzMC5jXG5AQCAtMjQ0Nyw3ICYjNDM7MjQ0Nyw2IEBAIG10NzUzMF9zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpXG4gXHR9XG4gXG4gXHRkcy1cdTAwM2Vhc3Npc3RlZF9sZWFybmluZ19vbl9jcHVfcG9ydCA9IHRydWU7XG4tXHRkcy1cdTAwM2V1bnRhZ192bGFuX2F3YXJlX2JyaWRnZV9wdmlkID0gdHJ1ZTtcbiBcdGRzLVx1MDAzZW10dV9lbmZvcmNlbWVudF9pbmdyZXNzID0gdHJ1ZTtcbiBcdGRzLVx1MDAzZWFnZWluZ190aW1lX21pbiA9IDIgKiAxMDAwO1xuIFx0ZHMtXHUwMDNlYWdlaW5nX3RpbWVfbWF4ID0gKEFHRV9DTlRfTUFYICYjNDM7IDEpICogKEFHRV9VTklUX01BWCAmIzQzOyAxKSAqIDEwMDA7XG5AQCAtMjYzOSw3ICYjNDM7MjYzOCw2IEBAIG10NzUzMV9zZXR1cF9jb21tb24oc3RydWN0IGRzYV9zd2l0Y2ggKmRzKVxuIFx0aW50IHJldCwgaTtcbiBcbiBcdGRzLVx1MDAzZWFzc2lzdGVkX2xlYXJuaW5nX29uX2NwdV9wb3J0ID0gdHJ1ZTtcbi1cdGRzLVx1MDAzZXVudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWQgPSB0cnVlO1xuIFx0ZHMtXHUwMDNlbXR1X2VuZm9yY2VtZW50X2luZ3Jlc3MgPSB0cnVlO1xuIFx0ZHMtXHUwMDNlYWdlaW5nX3RpbWVfbWluID0gMiAqIDEwMDA7XG4gXHRkcy1cdTAwM2VhZ2VpbmdfdGltZV9tYXggPSAoQUdFX0NOVF9NQVggJiM0MzsgMSkgKiAoQUdFX1VOSVRfTUFYICYjNDM7IDEpICogMTAwMDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxNToxMjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4ybTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgTWVkaWFUZWsgTVQ3NTMwL01UNzUzMSBEU0Egc3dpdGNoIGRyaXZlci4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciB0aGF0IHByb2JlcyB2aWEgTURJTyBvciBNTUlPIGFuZCBpcyB0eXBpY2FsbHkgaW5zdGFudGlhdGVkIHZpYSBEZXZpY2UgVHJlZSBvbiBzcGVjaWZpYyBNZWRpYVRlayBTb0NzLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgc3BlY2lmaWMgaGFyZHdhcmUgaW4gc3RhbmRhcmQgUUVNVS9HQ0UgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBiNWNlNmEzMmNjN2FhODEwYmEwOTQxNzE4MTc5N2YzY2VhYjM5MjZmCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFR1ZSBKdWwgNyAxNToxMjo0NyAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYwppbmRleCAzYzJhMzAyOWIxMGNmYi4uNzUyYmE5MmIwODUxN2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMKQEAgLTI0NDcsNyAmIzQzOzI0NDcsNiBAQCBtdDc1MzBfc2V0dXAoc3RydWN0IGRzYV9zd2l0Y2ggKmRzKQogCX0KIAogCWRzLSZndDthc3Npc3RlZF9sZWFybmluZ19vbl9jcHVfcG9ydCA9IHRydWU7Ci0JZHMtJmd0O3VudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWQgPSB0cnVlOwogCWRzLSZndDttdHVfZW5mb3JjZW1lbnRfaW5ncmVzcyA9IHRydWU7CiAJZHMtJmd0O2FnZWluZ190aW1lX21pbiA9IDIgKiAxMDAwOwogCWRzLSZndDthZ2VpbmdfdGltZV9tYXggPSAoQUdFX0NOVF9NQVggJiM0MzsgMSkgKiAoQUdFX1VOSVRfTUFYICYjNDM7IDEpICogMTAwMDsKQEAgLTI2MzksNyAmIzQzOzI2MzgsNiBAQCBtdDc1MzFfc2V0dXBfY29tbW9uKHN0cnVjdCBkc2Ffc3dpdGNoICpkcykKIAlpbnQgcmV0LCBpOwogCiAJZHMtJmd0O2Fzc2lzdGVkX2xlYXJuaW5nX29uX2NwdV9wb3J0ID0gdHJ1ZTsKLQlkcy0mZ3Q7dW50YWdfdmxhbl9hd2FyZV9icmlkZ2VfcHZpZCA9IHRydWU7CiAJZHMtJmd0O210dV9lbmZvcmNlbWVudF9pbmdyZXNzID0gdHJ1ZTsKIAlkcy0mZ3Q7YWdlaW5nX3RpbWVfbWluID0gMiAqIDEwMDA7CiAJZHMtJmd0O2FnZWluZ190aW1lX21heCA9IChBR0VfQ05UX01BWCAmIzQzOyAxKSAqIChBR0VfVU5JVF9NQVggJiM0MzsgMSkgKiAxMDAwOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxNToxMjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDM5CgkJCQkJCQlvdXRwdXQ6IDQxCgkJCQkJCQl0aG91Z2h0czogMjAwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIE5ldHdvcmsgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgcmVtb3ZpbmcgYGRzLSZndDt1bnRhZ192bGFuX2F3YXJlX2JyaWRnZV9wdmlkID0gdHJ1ZTtgIGZyb20gYG10NzUzMF9zZXR1cGAgYW5kIGBtdDc1MzFfc2V0dXBfY29tbW9uYCB3aXRoaW4gdGhlIGBkcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmNgIGZpbGUuIFRoaXMgaW1tZWRpYXRlbHkgdGVsbHMgbWUgd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBhIE1lZGlhVGVrIE1UNzUzMC9NVDc1MzEgR2lnYWJpdCBFdGhlcm5ldCBzd2l0Y2ggZHJpdmVyLCBhIERTQSBkcml2ZXIuIE15IGluaXRpYWwgdGhvdWdodCBpcywgaG93IGxpa2VseSBpcyB0aGlzIHRvIGJlIHJlYWNoYWJsZSBpbiBhIHZpcnR1YWxpemVkIGNvbnRleHQ/IERTQSBkcml2ZXJzIGFyZSwgYnkgdGhlaXIgbmF0dXJlLCB0aWdodGx5IGNvdXBsZWQgd2l0aCBoYXJkd2FyZS4gSSBuZWVkIHRvIHF1aWNrbHkgZGV0ZXJtaW5lIGlmIHRoZXJlJiMzOTtzIGFueSBlbXVsYXRpb24gYXZhaWxhYmxlIGZvciB0aGVzZSBzd2l0Y2ggY2hpcHMsIG9yIGlmIHdlJiMzOTtyZSBkZWFsaW5nIHdpdGggYSBwdXJlbHkgaGFyZHdhcmUtZGVwZW5kZW50IGltcGxlbWVudGF0aW9uLgoKR2VuZXJhbGx5LCBEU0EgZHJpdmVycyBhcmUgbWVhbnQgZm9yIHBoeXNpY2FsIHN3aXRjaCBjaGlwcy4gTXkgaW1tZWRpYXRlIGltcHVsc2UgaXMgdG8gY29uc2lkZXIgZnV6emluZyB0aGlzIGNvZGUuIFRoZSBxdWVzdGlvbiBpcywgY2FuIHdlIHRyaWdnZXIgdGhlIHJlbGV2YW50IGNvZGUgcGF0aHM/IEhhbmcgb24sIHRob3VnaC4gRFNBIGRyaXZlcnMgKmNvdWxkKiBiZSBhY2Nlc3NpYmxlIGluIGEgdmlydHVhbGl6ZWQgc2NlbmFyaW8gaWYgdGhlIGVudmlyb25tZW50IHByb3ZpZGVzIGEgc3VpdGFibGUgZGV2aWNlIHRyZWUgb3IgZXF1aXZhbGVudCBtZWNoYW5pc20gdG8gaW5zdGFudGlhdGUgdGhlbS4gSG93ZXZlciwgdGhleSB1c3VhbGx5IHJlbHkgb24gc3BlY2lmaWMgYnVzIGludGVyZmFjZXMgbGlrZSBJMkMgb3IgTURJTyBhbmQgZXhwZWN0IHBhcnRpY3VsYXIgaGFyZHdhcmUgcmVzcG9uc2VzLiBTbyB0aGUgcXVlc3Rpb24gaXMsIGNhbiB0aGlzIGJlIHJlY3JlYXRlZCBpbiBhIHRlc3QgZW52aXJvbm1lbnQ/IEkgbmVlZCB0byBkaWcgaW50byB0aGUgYG10NzUzMC5jYCBjb2RlIHRvIHVuZGVyc3RhbmQgdGhlIGRlcGVuZGVuY2llcyBhbmQgdHJpZ2dlcmluZyBtZWNoYW5pc21zIGJldHRlci4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxNToxMzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDttdDc1MzBfc2V0dXAmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTM3NT1zdGF0aWMgdm9pZFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjM3NjptdDc1MzBfc2V0dXBfcG9ydDYoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBwaHlfaW50ZXJmYWNlX3QgaW50ZXJmYWNlKVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTM3Ny17XG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTEwNjA9c3RhdGljIGNvbnN0IGNoYXIgKm10NzUzMF9wNV9tb2RlX3N0cih1bnNpZ25lZCBpbnQgbW9kZSlcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMTA3MS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzoxMDcyOnN0YXRpYyB2b2lkIG10NzUzMF9zZXR1cF9wb3J0NShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIHBoeV9pbnRlcmZhY2VfdCBpbnRlcmZhY2UpXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMTA3My17XG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTE2NTM9c3RhdGljIGludFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjE2NTQ6bXQ3NTMwX3NldHVwX3ZsYW4wKHN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdilcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0xNjU1LXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM9MTY3MD1tdDc1MzBfcG9ydF9zZXRfdmxhbl91bmF3YXJlKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQpXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTE3MDctXHRcdG11dGV4X2xvY2soXHUwMDI2cHJpdi1cdTAwM2VyZWdfbXV0ZXgpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjE3MDg6XHRcdG10NzUzMF9zZXR1cF92bGFuMChwcml2KTtcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0xNzA5LVx0XHRtdXRleF91bmxvY2soXHUwMDI2cHJpdi1cdTAwM2VyZWdfbXV0ZXgpO1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMDAyPW10NzUzMF9wb3J0X3ZsYW5fYWRkKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTIwMTItXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjAxMzpcdC8qIFZJRCAwIGlzIG1hbmFnZWQgZXhjbHVzaXZlbHkgYnkgbXQ3NTMwX3NldHVwX3ZsYW4wKCkgZm9yXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjAxNC1cdCAqIFZMQU4tdW5hd2FyZSBicmlkZ2Ugb3BlcmF0aW9uLiBEb24mIzM5O3QgbGV0IHRoZSBicmlkZ2Ugb3ZlcndyaXRlXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTIwNTY9bXQ3NTMwX3BvcnRfdmxhbl9kZWwoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCxcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjA2My1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzoyMDY0Olx0LyogVklEIDAgaXMgbWFuYWdlZCBleGNsdXNpdmVseSBieSBtdDc1MzBfc2V0dXBfdmxhbjAoKS4gKi9cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yMDY1LVx0aWYgKHZsYW4tXHUwMDNldmlkID09IDApXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTIyMzk9c3RhdGljIGludFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjIyNDA6bXQ3NTMwX3NldHVwX2dwaW8oc3RydWN0IG10NzUzMF9wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTIyNDEte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMjY5PXN0YXRpYyB2b2lkXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjI3MDptdDc1MzBfc2V0dXBfbWRpb19pcnEoc3RydWN0IG10NzUzMF9wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTIyNzEte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMzE5PXN0YXRpYyBpbnRcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzoyMzIwOm10NzUzMF9zZXR1cF9pcnEoc3RydWN0IG10NzUzMF9wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTIzMjEte1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMzcwPXN0YXRpYyBpbnRcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzoyMzcxOm10NzUzMF9zZXR1cF9tZGlvKHN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdilcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yMzcyLXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjQwNC1cdGlmIChwcml2LVx1MDAzZWlycV9kb21haW4gXHUwMDI2XHUwMDI2ICFtbnApXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjQwNTpcdFx0bXQ3NTMwX3NldHVwX21kaW9faXJxKHByaXYpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI0MDYtXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTI0MTk9c3RhdGljIGludFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI0MjA6bXQ3NTMwX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yNDIxLXtcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjU2OC1cdC8qIFNldHVwIFZMQU4gSUQgMCBmb3IgVkxBTi11bmF3YXJlIGJyaWRnZXMgKi9cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzoyNTY5Olx0cmV0ID0gbXQ3NTMwX3NldHVwX3ZsYW4wKHByaXYpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI1NzAtXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yNjEzLVx0XHRcdG10NzUzMF9jbGVhcihwcml2LCBNVDc1M1hfTVRSQVAsIE1UNzUzMF9QNV9ESVMpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI2MTQ6XHRcdFx0bXQ3NTMwX3NldHVwX3BvcnQ1KGRzLCBpbnRlcmZhY2UpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI2MTUtXHRcdH1cbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjYxOS1cdGlmIChvZl9wcm9wZXJ0eV9yZWFkX2Jvb2wocHJpdi1cdTAwM2VkZXYtXHUwMDNlb2Zfbm9kZSwgXCYjMzQ7Z3Bpby1jb250cm9sbGVyXCYjMzQ7KSkge1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI2MjA6XHRcdHJldCA9IG10NzUzMF9zZXR1cF9ncGlvKHByaXYpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI2MjEtXHRcdGlmIChyZXQpXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTI2MzU9bXQ3NTMxX3NldHVwX2NvbW1vbihzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI3MDAtXHQvKiBTZXR1cCBWTEFOIElEIDAgZm9yIFZMQU4tdW5hd2FyZSBicmlkZ2VzICovXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjcwMTpcdHJldHVybiBtdDc1MzBfc2V0dXBfdmxhbjAocHJpdik7XG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjcwMi19XG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTI5MTQ9bXQ3NTMwX21hY19jb25maWcoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwgdW5zaWduZWQgaW50IG1vZGUsXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI5MTktXHRpZiAocG9ydCA9PSA1KVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI5MjA6XHRcdG10NzUzMF9zZXR1cF9wb3J0NShwcml2LVx1MDAzZWRzLCBpbnRlcmZhY2UpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI5MjEtXHRlbHNlIGlmIChwb3J0ID09IDYpXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjkyMjpcdFx0bXQ3NTMwX3NldHVwX3BvcnQ2KHByaXYtXHUwMDNlZHMsIGludGVyZmFjZSk7XG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjkyMy19XG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTMxODQ9bXQ3NTN4X3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzE5Mi1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzozMTkzOlx0cmV0ID0gbXQ3NTMwX3NldHVwX2lycShwcml2KTtcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0zMTk0LVx0aWYgKHJldClcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzE5Ni1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzozMTk3Olx0cmV0ID0gbXQ3NTMwX3NldHVwX21kaW8ocHJpdik7XG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzE5OC1cdGlmIChyZXQpXG4tLVxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTMzOTY9Y29uc3Qgc3RydWN0IG10NzUzeF9pbmZvIG10NzUzeF90YWJsZVtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0zMzk5LVx0XHQucGNzX29wcyA9IFx1MDAyNm10NzUzMF9wY3Nfb3BzLFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjM0MDA6XHRcdC5zd19zZXR1cCA9IG10NzUzMF9zZXR1cCxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0zNDAxLVx0XHQucGh5X3JlYWRfYzIyID0gbXQ3NTMwX3BoeV9yZWFkX2MyMixcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzQxMC1cdFx0LnBjc19vcHMgPSBcdTAwMjZtdDc1MzBfcGNzX29wcyxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzozNDExOlx0XHQuc3dfc2V0dXAgPSBtdDc1MzBfc2V0dXAsXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzQxMi1cdFx0LnBoeV9yZWFkX2MyMiA9IG10NzUzMF9waHlfcmVhZF9jMjIsXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDg1MwoJCQkJCQkJb3V0cHV0OiAzOAoJCQkJCQkJdGhvdWdodHM6IDI1MAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBOZXR3b3JrIERyaXZlciBDaGFuZ2UqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggYW5kIGl0JiMzOTtzIHJlbW92aW5nIGBkcy0mZ3Q7dW50YWdfdmxhbl9hd2FyZV9icmlkZ2VfcHZpZCA9IHRydWU7YCBmcm9tIGBtdDc1MzBfc2V0dXBgIGFuZCBgbXQ3NTMxX3NldHVwX2NvbW1vbmAuIFJpZ2h0IG9mZiB0aGUgYmF0LCBJIHNlZSB0aGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gYSBuZXR3b3JrIGRyaXZlciwgc3BlY2lmaWNhbGx5IGRlYWxpbmcgd2l0aCB0aGUgTWVkaWFUZWsgTVQ3NTMwL01UNzUzMSBzd2l0Y2guIFRoaXMgYHVudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWRgIGZsYWfigKYgdGhhdCYjMzk7cyBnb3QgdG8gZG8gd2l0aCBob3cgRFNBIGNvbmZpZ3VyZXMgVkxBTiB0YWdnaW5nIG9uIGJyaWRnZSBwb3J0cy4gTWFrZXMgbWUgd29uZGVyLCBpcyB0aGlzIHNvbWV0aGluZyB0aGF0IGNvdWxkIGV2ZW4gYmUgaGl0IGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQ/IERTQSBkcml2ZXJzIGFyZSBub3JtYWxseSB0aWVkIHRvICpzcGVjaWZpYyogaGFyZHdhcmUuIEkgbWVhbiwgd2UgKmNvdWxkKiBzZWUgdGhlIERTQSBjb3JlIGFuZCBzb21lIGRyaXZlcnMgaW5zdGFudGlhdGVkIHdpdGggZGV2aWNlIHRyZWUgb3ZlcmxheXMgb3IgbWF5YmUgYSBtb2NrIGRyaXZlcuKApiBidXQgdXN1YWxseSwgYSBkcml2ZXIgbGlrZSBgbXQ3NTMwYCwgdGhhdCYjMzk7cyBnb2luZyB0byBuZWVkIHRoZSBhY3R1YWwgTWVkaWFUZWsgaGFyZHdhcmUsIG9yIGF0IGxlYXN0IGEgZ29vZCBlbXVsYXRvci4KCldhaXQgYSBzZWNvbmTigKYgc3l6a2FsbGVyIGRvZXMgZnV6eiBEU0HigKYgaWYgaXQgY2FuIGluc3RhbnRpYXRlIGl0LiBCdXQgKmNhbiogaXQgaW5zdGFudGlhdGUgbXQ3NTMwPyBJIHJlY2FsbCBwbGF0Zm9ybSBkcml2ZXJzIG9yIEkyQy9NRElPIGRyaXZlcnMgbmVlZGluZyB0aGUgcGh5c2ljYWwgaGFyZHdhcmUgb3IgYSByZWFsbHkgZ29vZCBtb2NrLCBzbyBJIHNob3VsZCBzZWUgaWYgYG10NzUzMGAgaXMgYSBwbGF0Zm9ybSBkcml2ZXIgb3IgYW4gTURJTyBkcml2ZXIuIFRoYXQmIzM5O2xsIGJlIGtleSB0byBmaWd1cmluZyBvdXQgaG93IGxpa2VseSB0aGlzIGNoYW5nZSBpcyB0byBjYXVzZSBpc3N1ZXMgb3V0c2lkZSBpdHMgaW50ZW5kZWQgaGFyZHdhcmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDttb2R1bGVfLipkcml2ZXImIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDE1OjEzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDU2NzEKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiAxMAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyB0aGUgc3VtbWFyeSwgZm9ybWF0dGVkIGFzIHJlcXVlc3RlZDoKCioqTmF2aWdhdGluZyB0aGUgRGlnaXRhbCBMYW5kc2NhcGU6IEEgQnJpZWYgRXhhbWluYXRpb24qKgoKUmlnaHQsIGxldCYjMzk7cyBzdGFydCBieSBxdWlja2x5IHNjb3Bpbmcgb3V0IHRoZSB0YWlsIGVuZCBvZiB0aGlzIGZpbGUuIEl0JiMzOTtzIG9mdGVuIHRoZSBxdWlja2VzdCB3YXkgdG8gZ2V0IGEgZmVlbCBmb3Igd2hhdCB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoLCBlc3BlY2lhbGx5IHdoZW4gSSYjMzk7bSBhc3Nlc3NpbmcgdGhlIG92ZXJhbGwgc2NvcGUuIFRoaXMgaW5pdGlhbCBnbGltcHNlIGF0IHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgd2lsbCBnaXZlIG1lIGEgc2Vuc2Ugb2Ygd2hhdCBoYXMgYmVlbiBjb25jbHVkZWQgc28gZmFyLCBpZiBhbnl0aGluZywgYW5kIHdoYXQgcG90ZW50aWFsIHBhdGhzIG9mIGFuYWx5c2lzIG1pZ2h0IHJlbWFpbi4gSXTigJlzIGEgc3RhbmRhcmQgZmlyc3Qgc3RlcC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxNToxMzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O21vZHVsZV8uKiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTg0NgoJCQkJCQkJb3V0cHV0OiAyNAoJCQkJCQkJdGhvdWdodHM6IDI5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQgdGhvdWdodCBwcm9jZXNzLCBhcyBpZiBJJiMzOTttIHRoZSBvbmUgaGF2aW5nIGl0LCBhbmQgZ2VhcmVkIHRvd2FyZHMgYW4gZXhwZXJ0OgoKKipIbW0sIE5ldHdvcmsgRHJpdmVyIExvY2F0aW9uIFBvc3NpYmlsaXR5KioKCkFscmlnaHQsIEkgbmVlZCB0byBmaWd1cmUgb3V0IHdoZXJlIHRoYXQgc3BlY2lmaWMgZnVuY3Rpb25hbGl0eSBpcyBpbXBsZW1lbnRlZC4gTXkgZmlyc3QgaW5zdGluY3QsIGdpdmVuIHRoZSBjb250ZXh0LCBpcyB0aGF0IGl0JiMzOTtzIGxpa2VseSBidXJpZWQgd2l0aGluIHRoZSBkcml2ZXIgY29kZS4gQ29uc2lkZXJpbmcgaXQmIzM5O3MgYSBEU0Egc3dpdGNoIGRyaXZlciwgbXkgZ3V0IGZlZWxpbmcgc2F5cyB0aGUgaW1wbGVtZW50YXRpb24gb3IgYSBrZXkgcG9ydGlvbiBvZiB0aGUgY29kZSBpcyBwcm9iYWJseSBzaXR0aW5nIHNvbWV3aGVyZSBpbiB0aGUgYGRyaXZlcnMvbmV0L2RzYS9gIGRpcmVjdG9yeS4gR2l2ZW4gdGhlIHNwZWNpZmljIG1lbnRpb24gb2YgdGhlIE1UNzUzMCBjaGlwLCBJJiMzOTttIHRoaW5raW5nIGl0JiMzOTtzIHByb2JhYmx5LCBhdCBhIG1pbmltdW0sIHJlbGF0ZWQgdG8gdGhlIGBtdDc1MzAtbWRpby5jYCBmaWxlLiBPciwgaXQmIzM5O3MgYSBwYXJ0IG9mIHNvbWUgaW5jbHVkZSBzdHJ1Y3R1cmUuIFRpbWUgdG8gZGl2ZSBpbiB0aGVyZSBhbmQgc2VlIHdoYXQgdGhlIHNvdXJjZSBpcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5jb2Rlc2VhcmNoLWRpci1pbmRleDwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RGlyJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZHNhJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGVzJiMzNDs6IFsKICAgICYjMzQ7YmNtX3NmMi5jJiMzNDssCiAgICAmIzM0O2JjbV9zZjIuaCYjMzQ7LAogICAgJiMzNDtiY21fc2YyX2NmcC5jJiMzNDssCiAgICAmIzM0O2JjbV9zZjJfcmVncy5oJiMzNDssCiAgICAmIzM0O2RzYV9sb29wLmMmIzM0OywKICAgICYjMzQ7a3M4OTk1LmMmIzM0OywKICAgICYjMzQ7bGFuOTMwMy1jb3JlLmMmIzM0OywKICAgICYjMzQ7bGFuOTMwMy5oJiMzNDssCiAgICAmIzM0O2xhbjkzMDNfaTJjLmMmIzM0OywKICAgICYjMzQ7bGFuOTMwM19tZGlvLmMmIzM0OywKICAgICYjMzQ7bXQ3NTMwLW1kaW8uYyYjMzQ7LAogICAgJiMzNDttdDc1MzAtbW1pby5jJiMzNDssCiAgICAmIzM0O210NzUzMC5jJiMzNDssCiAgICAmIzM0O210NzUzMC5oJiMzNDssCiAgICAmIzM0O212ODhlNjA2MC5jJiMzNDssCiAgICAmIzM0O212ODhlNjA2MC5oJiMzNDssCiAgICAmIzM0O3J6bjFfYTVwc3cuYyYjMzQ7LAogICAgJiMzNDtyem4xX2E1cHN3LmgmIzM0OywKICAgICYjMzQ7dml0ZXNzZS12c2M3M3h4LWNvcmUuYyYjMzQ7LAogICAgJiMzNDt2aXRlc3NlLXZzYzczeHgtcGxhdGZvcm0uYyYjMzQ7LAogICAgJiMzNDt2aXRlc3NlLXZzYzczeHgtc3BpLmMmIzM0OywKICAgICYjMzQ7dml0ZXNzZS12c2M3M3h4LmgmIzM0OywKICAgICYjMzQ7eXQ5MjF4LmMmIzM0OywKICAgICYjMzQ7eXQ5MjF4LmgmIzM0OwogIF0sCiAgJiMzNDtTdWJkaXJzJiMzNDs6IFsKICAgICYjMzQ7YjUzJiMzNDssCiAgICAmIzM0O2hpcnNjaG1hbm4mIzM0OywKICAgICYjMzQ7bGFudGlxJiMzNDssCiAgICAmIzM0O21pY3JvY2hpcCYjMzQ7LAogICAgJiMzNDttdjg4ZTZ4eHgmIzM0OywKICAgICYjMzQ7bXhsODYyeHgmIzM0OywKICAgICYjMzQ7bmV0YyYjMzQ7LAogICAgJiMzNDtvY2Vsb3QmIzM0OywKICAgICYjMzQ7cWNhJiMzNDssCiAgICAmIzM0O3JlYWx0ZWsmIzM0OywKICAgICYjMzQ7c2phMTEwNSYjMzQ7LAogICAgJiMzNDt4cnM3MDB4JiMzNDsKICBdCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTk3NAoJCQkJCQkJb3V0cHV0OiA0MAoJCQkJCQkJdGhvdWdodHM6IDAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDE1OjEzPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O21vZHVsZV8uKiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAtbWRpby5jJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAtbWRpby5jPTI1MT1zdGF0aWMgc3RydWN0IG1kaW9fZHJpdmVyIG10NzUzMF9tZGlvX2RyaXZlciA9IHtcbi0tXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1kaW8uYy0yNjAtXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1kaW8uYzoyNjE6bWRpb19tb2R1bGVfZHJpdmVyKG10NzUzMF9tZGlvX2RyaXZlcik7XG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1kaW8uYy0yNjItXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDE1OjEzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDYxNTYKCQkJCQkJCW91dHB1dDogNDAKCQkJCQkJCXRob3VnaHRzOiAwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxNToxNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDttb2R1bGVfLiomIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1taW8uYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1taW8uYz04Nz1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdDc5ODhfcGxhdGZvcm1fZHJpdmVyID0ge1xuLS1cbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAtbW1pby5jLTk1LX07XG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1taW8uYzo5Njptb2R1bGVfcGxhdGZvcm1fZHJpdmVyKG10Nzk4OF9wbGF0Zm9ybV9kcml2ZXIpO1xuZHJpdmVycy9uZXQvZHNhL210NzUzMC1tbWlvLmMtOTctXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDE1OjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDYzMzEKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE2LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxNToxNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O210NzUzMCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2RzYS9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNjM3OQoJCQkJCQkJb3V0cHV0OiAzNAoJCQkJCQkJdGhvdWdodHM6IDAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDE1OjE0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O01UNzUzMCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2RzYS9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2RzYS9LY29uZmlnPTI5PXNvdXJjZSBcJiMzNDtkcml2ZXJzL25ldC9kc2EvbGFudGlxL0tjb25maWdcJiMzNDtcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnLTMwLVxuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6MzE6Y29uZmlnIE5FVF9EU0FfTVQ3NTMwXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzozMjpcdHRyaXN0YXRlIFwmIzM0O01lZGlhVGVrIE1UNzUzMCBhbmQgTVQ3NTMxIEV0aGVybmV0IHN3aXRjaCBzdXBwb3J0XCYjMzQ7XG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy0zMy1cdHNlbGVjdCBORVRfRFNBX1RBR19NVEtcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnLTM0LVx0c2VsZWN0IFJFR01BUF9JUlFcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjM1Olx0aW1wbHkgTkVUX0RTQV9NVDc1MzBfTURJT1xuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6MzY6XHRpbXBseSBORVRfRFNBX01UNzUzMF9NTUlPXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy0zNy1cdGhlbHBcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjM4Olx0ICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhlIE1lZGlhVGVrIE1UNzUzMCBhbmQgTVQ3NTMxIEV0aGVybmV0XG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzozOTpcdCAgc3dpdGNoIGNoaXBzLiBNdWx0aS1jaGlwIG1vZHVsZSBNVDc1MzAgaW4gTVQ3NjIxQVQsIE1UNzYyMURBVCxcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnLTQwLVx0ICBNVDc2MjFTVCBhbmQgTVQ3NjIzQUkgU29DcywgYW5kIGJ1aWx0LWluIHN3aXRjaCBpbiBNVDc5ODggU29DIGFyZVxuLS1cbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnLTQyLVxuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6NDM6Y29uZmlnIE5FVF9EU0FfTVQ3NTMwX01ESU9cbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjQ0Olx0dHJpc3RhdGUgXCYjMzQ7TWVkaWFUZWsgTVQ3NTMwIE1ESU8gaW50ZXJmYWNlIGRyaXZlclwmIzM0O1xuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6NDU6XHRkZXBlbmRzIG9uIE5FVF9EU0FfTVQ3NTMwXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy00Ni1cdHNlbGVjdCBNRURJQVRFS19HRV9QSFlcbi0tXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy00OC1cdGhlbHBcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjQ5Olx0ICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhlIE1lZGlhVGVrIE1UNzUzMCBhbmQgTVQ3NTMxIHN3aXRjaFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNTAtXHQgIGNoaXBzIHdoaWNoIGFyZSBjb25uZWN0ZWQgdmlhIE1ESU8sIGFzIHdlbGwgYXMgbXVsdGktY2hpcFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6NTE6XHQgIG1vZHVsZSBNVDc1MzAgd2hpY2ggY2FuIGJlIGZvdW5kIGluIHRoZSBNVDc2MjFBVCwgTVQ3NjIxREFULFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNTItXHQgIE1UNzYyMVNUIGFuZCBNVDc2MjNBSSBTb0NzLlxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNTMtXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzo1NDpjb25maWcgTkVUX0RTQV9NVDc1MzBfTU1JT1xuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6NTU6XHR0cmlzdGF0ZSBcJiMzNDtNZWRpYVRlayBNVDc1MzAgTU1JTyBpbnRlcmZhY2UgZHJpdmVyXCYjMzQ7XG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzo1NjpcdGRlcGVuZHMgb24gTkVUX0RTQV9NVDc1MzBcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnLTU3LVx0ZGVwZW5kcyBvbiBIQVNfSU9NRU1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTU6MTQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNzE3MgoJCQkJCQkJb3V0cHV0OiAxMTAKCQkJCQkJCXRob3VnaHRzOiAxMzY4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKldvcnRoRnV6emluZyBBc3Nlc3NtZW50OiBUaGUgTVQ3NTMwIERTQSBEcml2ZXIgUGF0Y2gqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyB0b3VjaGluZyBgZHJpdmVycy9uZXQvZHNhL210NzUzMC5jYCwgc3BlY2lmaWNhbGx5IHRoZSBNZWRpYVRlayBNVDc1MzAvTVQ3NTMxIERTQSBzd2l0Y2ggZHJpdmVyLiBNeSBpbml0aWFsIHRob3VnaHQgaXMsIGNhbiB0aGlzIGJlIHJlYWNoZWQgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudCwgd2hpY2ggaXMgY3J1Y2lhbCBmb3IgZnV6emluZyB3aXRoIHNvbWV0aGluZyBsaWtlIHN5emthbGxlcj8gRFNBIGRyaXZlcnMgYXJlIGluaGVyZW50bHkgaGFyZHdhcmUtc3BlY2lmaWMuIFdoaWxlIERTQSBpdHNlbGYgaGFzIGEgY29yZSBsYXllciB0aGF0ICpjYW4qIGJlIG1vY2tlZCAobGlrZSBgZHNhX2xvb3BgKSwgdGhpcyBwYXRjaCBpcyBtb2RpZnlpbmcgdGhlIE1UNzUzMCBkcml2ZXIsIGEgY29uY3JldGUgaGFyZHdhcmUgZHJpdmVyLgoKSSBuZWVkIHRvIHF1aWNrbHkgYXNzZXNzIHJlYWNoYWJpbGl0eS4gRFNBIGRyaXZlcnMgdHlwaWNhbGx5IHByb2JlIHRocm91Z2ggTURJTyBvciBNTUlPLiBDYW4gc3l6a2FsbGVyIGdldCBhdCB0aGlzPyBTeXprYWxsZXIgaGFzIHNvbWUgbmV0d29yayBmdXp6aW5nIGNhcGFiaWxpdGllcywgZXNwZWNpYWxseSBmb3IgZHJpdmVycyBpbnN0YW50aWF0ZWQgdmlhIG5ldGxpbmsgb3IgdmlydHVhbCBkZXZpY2VzLCBidXQgRFNBIHN3aXRjaGVzIHVzdWFsbHkgY29tZSB1cCB0aHJvdWdoIHRoZSBkZXZpY2UgdHJlZSwgb3IgdmlhIEkyQyBvciBNRElPLiBTeXprYWxsZXIgKmRvZXMqIGhhdmUgbWVjaGFuaXNtcyB0byBpbmplY3QgY2VydGFpbiBoYXJkd2FyZSwgbGlrZSBVU0IgZGV2aWNlcyAoYHZoY2lgKSwgb3IgYG1hYzgwMjExX2h3c2ltYCBmb3IgV2lGaS4gRG9lcyBpdCBoYXZlIGFueXRoaW5nIGVxdWl2YWxlbnQgZm9yIERTQT8gSSByZW1lbWJlcmVkIGBkc2FfbG9vcGAsIHdoaWNoIGlzIGEgbW9jayBEU0EgZHJpdmVyLCBidXQgdGhlIHBhdGNoIGlzIGluIHRoZSBNVDc1MzAgZHJpdmVyIGFuZCBub3QgdGhlIGNvcmUgRFNBIGxheWVyLgoKSXMgYG10NzUzMF9zZXR1cGAgcmVhY2hhYmxlIGluIGEgc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudCwgd2hpY2ggaXMgdGhlIGJhc2VsaW5lIHN5emthbGxlciB1c2VzPyBQcm9iYWJseSBub3QuIEl0IHJlcXVpcmVzIGFuIE1ESU8gYnVzIHdpdGggYSBzcGVjaWZpYyBQSFkgSUQgb3IgYSBwbGF0Zm9ybSBkZXZpY2Ugd2l0aCBzcGVjaWZpYyBjb21wYXRpYmxlIHN0cmluZ3MgdGhhdCBhcmVuJiMzOTt0IHByZXNlbnQgaW4gdGhlIGdlbmVyaWMgeDg2XzY0IG9yIGFybTY0IFZNcy4gRG9lcyBzeXprYWxsZXIgaGF2ZSBhbiBpbmplY3RvciBmb3IgcGxhdGZvcm0gZGV2aWNlcz8gTm8uIEl0IGhhcyBVU0IgKGBzeXpfdXNiX2Nvbm5lY3RgKSwgV2lGaSAoYHN5el84MDIxMV9pbmplY3RfZnJhbWVgKSBhbmQgc28gb24sIGJ1dCBubyBwbGF0Zm9ybSBkZXZpY2UgaW5qZWN0b3JzLiBJdCBjYW4gKmxvYWQqIGN1c3RvbSBkZXZpY2UgdHJlZXMsIGJ1dCB0aGF0JiMzOTtzIG5vdCBpdHMgdHlwaWNhbCBhcHByb2FjaC4KCkdpdmVuIHRoZSBwcm9tcHQmIzM5O3MgY3JpdGVyaWEg4oCTICYjMzQ7Q29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLCBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlJiMzNDsg4oCTIHRoZSBNVDc1MzAgaXMgY2xlYXJseSB1bnJlYWNoYWJsZS4gSXQmIzM5O3MgYSBoYXJkd2FyZS1zcGVjaWZpYyBFdGhlcm5ldCBzd2l0Y2ggY2hpcCwgYW5kIHRoZXJlIGlzIG5vIHN0YW5kYXJkIHVwc3RyZWFtIGtlcm5lbCBlbXVsYXRpb24gZm9yIGl0LCB1bmxpa2UgYSBEU0EgY29yZSBsYXllciB0aGF0IGlzIG1vY2tlZCB3aXRoIGRzYV9sb29wLiBUaGlzIGNvZGUgcmVsaWVzIG9uIE1ESU8vTU1JTyBhY2Nlc3MgdG8gdGhlIGhhcmR3YXJlLgoKTGV0IG1lIGRvdWJsZS1jaGVjazogdGhlcmUgaXNuJiMzOTt0IGEgdXNlci1zcGFjZSBBUEkgdG8gaW5zdGFudGlhdGUgdGhpcy4gSXQmIzM5O3MgYSBoYXJkd2FyZSBkcml2ZXIuIEFuZCwgdGhlcmUgaXNuJiMzOTt0IGEgYGRzYV9sb29wYC1zdHlsZSBlcXVpdmFsZW50IGZvciBNVDc1MzAuIEl0JiMzOTtzIGhhcmR3YXJlLXNwZWNpZmljLiBJIGNvbmZpcm0gdGhhdCBpdCBpcyB1bnJlYWNoYWJsZSBpbiBnZW5lcmljIFZNcy4gVGhlIGNvbmZpZyBvcHRpb25zIHdvdWxkIGJlIGBORVRfRFNBX01UNzUzMGAsIGBORVRfRFNBX01UNzUzMF9NRElPYCwgYE5FVF9EU0FfTVQ3NTMwX01NSU9gLCBidXQgdGhlc2UgYXJlIGlycmVsZXZhbnQuCgpTbywgaW4gc3VtbWFyeTogdGhlIHBhdGNoIHJlbW92ZXMgYSBzaW5nbGUgYm9vbGVhbiBhc3NpZ25tZW50IChgdW50YWdfdmxhbl9hd2FyZV9icmlkZ2VfcHZpZGApLCB3aGljaCB3b3VsZCBhZmZlY3QgYnJpZGdlIFZMQU4gbG9naWMgaWYgaXQgd2VyZSByZWFjaGFibGUuIEhvd2V2ZXIsIHRoZSBNVDc1MzAgZHJpdmVyIGlzIGZvciBNZWRpYVRlayBzd2l0Y2ggaGFyZHdhcmUgYW5kIGlzIHVucmVhY2hhYmxlIGluIGEgZ2VuZXJpYyBWTSwgc28gaXQmIzM5O3Mgbm90IHdvcnRoIGZ1enppbmcgZm9yIHRoaXMgcGF0Y2guIEkgd2lsbCByZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlLCB1c2luZyBgc2V0LXJlc3VsdHNgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxNToxNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYVRlayBNVDc1MzAvTVQ3NTMxIERTQSBzd2l0Y2ggZHJpdmVyLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIHRoYXQgcHJvYmVzIHZpYSBNRElPIG9yIE1NSU8gYW5kIGlzIHR5cGljYWxseSBpbnN0YW50aWF0ZWQgdmlhIERldmljZSBUcmVlIG9uIHNwZWNpZmljIE1lZGlhVGVrIFNvQ3MuIFRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdGlvbiBmb3IgdGhpcyBzcGVjaWZpYyBoYXJkd2FyZSBpbiBzdGFuZGFyZCBRRU1VL0dDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYVRlayBNVDc1MzAvTVQ3NTMxIERTQSBzd2l0Y2ggZHJpdmVyLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIHRoYXQgcHJvYmVzIHZpYSBNRElPIG9yIE1NSU8gYW5kIGlzIHR5cGljYWxseSBpbnN0YW50aWF0ZWQgdmlhIERldmljZSBUcmVlIG9uIHNwZWNpZmljIE1lZGlhVGVrIFNvQ3MuIFRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdGlvbiBmb3IgdGhpcyBzcGVjaWZpYyBoYXJkd2FyZSBpbiBzdGFuZGFyZCBRRU1VL0dDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxNToxMjo0OS4xMTE1MjQ5MTRaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMzQ0MjE1MzI0NDksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYVRlayBNVDc1MzAvTVQ3NTMxIERTQSBzd2l0Y2ggZHJpdmVyLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIHRoYXQgcHJvYmVzIHZpYSBNRElPIG9yIE1NSU8gYW5kIGlzIHR5cGljYWxseSBpbnN0YW50aWF0ZWQgdmlhIERldmljZSBUcmVlIG9uIHNwZWNpZmljIE1lZGlhVGVrIFNvQ3MuIFRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdGlvbiBmb3IgdGhpcyBzcGVjaWZpYyBoYXJkd2FyZSBpbiBzdGFuZGFyZCBRRU1VL0dDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjEyOjQ5LjExMTUzMzMzNFoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjI5NzY2MjE4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgYjVjZTZhMzJjYzdhYTgxMGJhMDk0MTcxODE3OTdmM2NlYWIzOTI2ZlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVHVlIEp1bCA3IDE1OjEyOjQ3IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuY1xcbmluZGV4IDNjMmEzMDI5YjEwY2ZiLi43NTJiYTkyYjA4NTE3ZSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmNcXG4rKysgYi9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmNcXG5AQCAtMjQ0Nyw3ICsyNDQ3LDYgQEAgbXQ3NTMwX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcXG4gXFx0fVxcbiBcXG4gXFx0ZHMtXFx1MDAzZWFzc2lzdGVkX2xlYXJuaW5nX29uX2NwdV9wb3J0ID0gdHJ1ZTtcXG4tXFx0ZHMtXFx1MDAzZXVudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWQgPSB0cnVlO1xcbiBcXHRkcy1cXHUwMDNlbXR1X2VuZm9yY2VtZW50X2luZ3Jlc3MgPSB0cnVlO1xcbiBcXHRkcy1cXHUwMDNlYWdlaW5nX3RpbWVfbWluID0gMiAqIDEwMDA7XFxuIFxcdGRzLVxcdTAwM2VhZ2VpbmdfdGltZV9tYXggPSAoQUdFX0NOVF9NQVggKyAxKSAqIChBR0VfVU5JVF9NQVggKyAxKSAqIDEwMDA7XFxuQEAgLTI2MzksNyArMjYzOCw2IEBAIG10NzUzMV9zZXR1cF9jb21tb24oc3RydWN0IGRzYV9zd2l0Y2ggKmRzKVxcbiBcXHRpbnQgcmV0LCBpO1xcbiBcXG4gXFx0ZHMtXFx1MDAzZWFzc2lzdGVkX2xlYXJuaW5nX29uX2NwdV9wb3J0ID0gdHJ1ZTtcXG4tXFx0ZHMtXFx1MDAzZXVudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWQgPSB0cnVlO1xcbiBcXHRkcy1cXHUwMDNlbXR1X2VuZm9yY2VtZW50X2luZ3Jlc3MgPSB0cnVlO1xcbiBcXHRkcy1cXHUwMDNlYWdlaW5nX3RpbWVfbWluID0gMiAqIDEwMDA7XFxuIFxcdGRzLVxcdTAwM2VhZ2VpbmdfdGltZV9tYXggPSAoQUdFX0NOVF9NQVggKyAxKSAqIChBR0VfVU5JVF9NQVggKyAxKSAqIDEwMDA7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjEyOjQ5Ljc0MjMwMDY1MVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTMzNzkwNzQ4ODYyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgTWVkaWFUZWsgTVQ3NTMwL01UNzUzMSBEU0Egc3dpdGNoIGRyaXZlci4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciB0aGF0IHByb2JlcyB2aWEgTURJTyBvciBNTUlPIGFuZCBpcyB0eXBpY2FsbHkgaW5zdGFudGlhdGVkIHZpYSBEZXZpY2UgVHJlZSBvbiBzcGVjaWZpYyBNZWRpYVRlayBTb0NzLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgc3BlY2lmaWMgaGFyZHdhcmUgaW4gc3RhbmRhcmQgUUVNVS9HQ0UgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGI1Y2U2YTMyY2M3YWE4MTBiYTA5NDE3MTgxNzk3ZjNjZWFiMzkyNmZcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVHVlIEp1bCA3IDE1OjEyOjQ3IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZHNhL210NzUzMC5jIGIvZHJpdmVycy9uZXQvZHNhL210NzUzMC5jXG5pbmRleCAzYzJhMzAyOWIxMGNmYi4uNzUyYmE5MmIwODUxN2UgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmNcbisrKyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuY1xuQEAgLTI0NDcsNyArMjQ0Nyw2IEBAIG10NzUzMF9zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpXG4gXHR9XG4gXG4gXHRkcy1cdTAwM2Vhc3Npc3RlZF9sZWFybmluZ19vbl9jcHVfcG9ydCA9IHRydWU7XG4tXHRkcy1cdTAwM2V1bnRhZ192bGFuX2F3YXJlX2JyaWRnZV9wdmlkID0gdHJ1ZTtcbiBcdGRzLVx1MDAzZW10dV9lbmZvcmNlbWVudF9pbmdyZXNzID0gdHJ1ZTtcbiBcdGRzLVx1MDAzZWFnZWluZ190aW1lX21pbiA9IDIgKiAxMDAwO1xuIFx0ZHMtXHUwMDNlYWdlaW5nX3RpbWVfbWF4ID0gKEFHRV9DTlRfTUFYICsgMSkgKiAoQUdFX1VOSVRfTUFYICsgMSkgKiAxMDAwO1xuQEAgLTI2MzksNyArMjYzOCw2IEBAIG10NzUzMV9zZXR1cF9jb21tb24oc3RydWN0IGRzYV9zd2l0Y2ggKmRzKVxuIFx0aW50IHJldCwgaTtcbiBcbiBcdGRzLVx1MDAzZWFzc2lzdGVkX2xlYXJuaW5nX29uX2NwdV9wb3J0ID0gdHJ1ZTtcbi1cdGRzLVx1MDAzZXVudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWQgPSB0cnVlO1xuIFx0ZHMtXHUwMDNlbXR1X2VuZm9yY2VtZW50X2luZ3Jlc3MgPSB0cnVlO1xuIFx0ZHMtXHUwMDNlYWdlaW5nX3RpbWVfbWluID0gMiAqIDEwMDA7XG4gXHRkcy1cdTAwM2VhZ2VpbmdfdGltZV9tYXggPSAoQUdFX0NOVF9NQVggKyAxKSAqIChBR0VfVU5JVF9NQVggKyAxKSAqIDEwMDA7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxNToxMjo0OS43NDIzMDMwMzFaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxNTg4ODkyODUxNCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBOZXR3b3JrIERyaXZlciBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgcmVtb3ZpbmcgYGRzLVx1MDAzZXVudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWQgPSB0cnVlO2AgZnJvbSBgbXQ3NTMwX3NldHVwYCBhbmQgYG10NzUzMV9zZXR1cF9jb21tb25gIHdpdGhpbiB0aGUgYGRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuY2AgZmlsZS4gVGhpcyBpbW1lZGlhdGVseSB0ZWxscyBtZSB3ZSdyZSBkZWFsaW5nIHdpdGggYSBNZWRpYVRlayBNVDc1MzAvTVQ3NTMxIEdpZ2FiaXQgRXRoZXJuZXQgc3dpdGNoIGRyaXZlciwgYSBEU0EgZHJpdmVyLiBNeSBpbml0aWFsIHRob3VnaHQgaXMsIGhvdyBsaWtlbHkgaXMgdGhpcyB0byBiZSByZWFjaGFibGUgaW4gYSB2aXJ0dWFsaXplZCBjb250ZXh0PyBEU0EgZHJpdmVycyBhcmUsIGJ5IHRoZWlyIG5hdHVyZSwgdGlnaHRseSBjb3VwbGVkIHdpdGggaGFyZHdhcmUuIEkgbmVlZCB0byBxdWlja2x5IGRldGVybWluZSBpZiB0aGVyZSdzIGFueSBlbXVsYXRpb24gYXZhaWxhYmxlIGZvciB0aGVzZSBzd2l0Y2ggY2hpcHMsIG9yIGlmIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIHB1cmVseSBoYXJkd2FyZS1kZXBlbmRlbnQgaW1wbGVtZW50YXRpb24uXG5cbkdlbmVyYWxseSwgRFNBIGRyaXZlcnMgYXJlIG1lYW50IGZvciBwaHlzaWNhbCBzd2l0Y2ggY2hpcHMuIE15IGltbWVkaWF0ZSBpbXB1bHNlIGlzIHRvIGNvbnNpZGVyIGZ1enppbmcgdGhpcyBjb2RlLiBUaGUgcXVlc3Rpb24gaXMsIGNhbiB3ZSB0cmlnZ2VyIHRoZSByZWxldmFudCBjb2RlIHBhdGhzPyBIYW5nIG9uLCB0aG91Z2guIERTQSBkcml2ZXJzICpjb3VsZCogYmUgYWNjZXNzaWJsZSBpbiBhIHZpcnR1YWxpemVkIHNjZW5hcmlvIGlmIHRoZSBlbnZpcm9ubWVudCBwcm92aWRlcyBhIHN1aXRhYmxlIGRldmljZSB0cmVlIG9yIGVxdWl2YWxlbnQgbWVjaGFuaXNtIHRvIGluc3RhbnRpYXRlIHRoZW0uIEhvd2V2ZXIsIHRoZXkgdXN1YWxseSByZWx5IG9uIHNwZWNpZmljIGJ1cyBpbnRlcmZhY2VzIGxpa2UgSTJDIG9yIE1ESU8gYW5kIGV4cGVjdCBwYXJ0aWN1bGFyIGhhcmR3YXJlIHJlc3BvbnNlcy4gU28gdGhlIHF1ZXN0aW9uIGlzLCBjYW4gdGhpcyBiZSByZWNyZWF0ZWQgaW4gYSB0ZXN0IGVudmlyb25tZW50PyBJIG5lZWQgdG8gZGlnIGludG8gdGhlIGBtdDc1MzAuY2AgY29kZSB0byB1bmRlcnN0YW5kIHRoZSBkZXBlbmRlbmNpZXMgYW5kIHRyaWdnZXJpbmcgbWVjaGFuaXNtcyBiZXR0ZXIuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIwMzksIk91dHB1dFRva2VucyI6NDEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMDAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxNToxMzowNS42MzEyMzQ0MTVaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjM5ODk4MTE5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm10NzUzMF9zZXR1cFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTM3NT1zdGF0aWMgdm9pZFxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzozNzY6bXQ3NTMwX3NldHVwX3BvcnQ2KHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgcGh5X2ludGVyZmFjZV90IGludGVyZmFjZSlcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzc3LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0xMDYwPXN0YXRpYyBjb25zdCBjaGFyICptdDc1MzBfcDVfbW9kZV9zdHIodW5zaWduZWQgaW50IG1vZGUpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMTA3MS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MTA3MjpzdGF0aWMgdm9pZCBtdDc1MzBfc2V0dXBfcG9ydDUoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBwaHlfaW50ZXJmYWNlX3QgaW50ZXJmYWNlKVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0xMDczLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0xNjUzPXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MTY1NDptdDc1MzBfc2V0dXBfdmxhbjAoc3RydWN0IG10NzUzMF9wcml2ICpwcml2KVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0xNjU1LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0xNjcwPW10NzUzMF9wb3J0X3NldF92bGFuX3VuYXdhcmUoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0xNzA3LVxcdFxcdG11dGV4X2xvY2soXFx1MDAyNnByaXYtXFx1MDAzZXJlZ19tdXRleCk7XFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjE3MDg6XFx0XFx0bXQ3NTMwX3NldHVwX3ZsYW4wKHByaXYpO1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0xNzA5LVxcdFxcdG11dGV4X3VubG9jayhcXHUwMDI2cHJpdi1cXHUwMDNlcmVnX211dGV4KTtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMDAyPW10NzUzMF9wb3J0X3ZsYW5fYWRkKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjAxMi1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjAxMzpcXHQvKiBWSUQgMCBpcyBtYW5hZ2VkIGV4Y2x1c2l2ZWx5IGJ5IG10NzUzMF9zZXR1cF92bGFuMCgpIGZvclxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yMDE0LVxcdCAqIFZMQU4tdW5hd2FyZSBicmlkZ2Ugb3BlcmF0aW9uLiBEb24ndCBsZXQgdGhlIGJyaWRnZSBvdmVyd3JpdGVcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMDU2PW10NzUzMF9wb3J0X3ZsYW5fZGVsKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjA2My1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjA2NDpcXHQvKiBWSUQgMCBpcyBtYW5hZ2VkIGV4Y2x1c2l2ZWx5IGJ5IG10NzUzMF9zZXR1cF92bGFuMCgpLiAqL1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yMDY1LVxcdGlmICh2bGFuLVxcdTAwM2V2aWQgPT0gMClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMjM5PXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjI0MDptdDc1MzBfc2V0dXBfZ3BpbyhzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYpXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTIyNDEte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTIyNjk9c3RhdGljIHZvaWRcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjI3MDptdDc1MzBfc2V0dXBfbWRpb19pcnEoc3RydWN0IG10NzUzMF9wcml2ICpwcml2KVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yMjcxLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYz0yMzE5PXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjMyMDptdDc1MzBfc2V0dXBfaXJxKHN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdilcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjMyMS17XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM9MjM3MD1zdGF0aWMgaW50XFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjIzNzE6bXQ3NTMwX3NldHVwX21kaW8oc3RydWN0IG10NzUzMF9wcml2ICpwcml2KVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yMzcyLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yNDA0LVxcdGlmIChwcml2LVxcdTAwM2VpcnFfZG9tYWluIFxcdTAwMjZcXHUwMDI2ICFtbnApXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI0MDU6XFx0XFx0bXQ3NTMwX3NldHVwX21kaW9faXJxKHByaXYpO1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yNDA2LVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTI0MTk9c3RhdGljIGludFxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzoyNDIwOm10NzUzMF9zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI0MjEte1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI1NjgtXFx0LyogU2V0dXAgVkxBTiBJRCAwIGZvciBWTEFOLXVuYXdhcmUgYnJpZGdlcyAqL1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzoyNTY5OlxcdHJldCA9IG10NzUzMF9zZXR1cF92bGFuMChwcml2KTtcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjU3MC1cXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI2MTMtXFx0XFx0XFx0bXQ3NTMwX2NsZWFyKHByaXYsIE1UNzUzWF9NVFJBUCwgTVQ3NTMwX1A1X0RJUyk7XFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI2MTQ6XFx0XFx0XFx0bXQ3NTMwX3NldHVwX3BvcnQ1KGRzLCBpbnRlcmZhY2UpO1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yNjE1LVxcdFxcdH1cXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yNjE5LVxcdGlmIChvZl9wcm9wZXJ0eV9yZWFkX2Jvb2wocHJpdi1cXHUwMDNlZGV2LVxcdTAwM2VvZl9ub2RlLCBcXFwiZ3Bpby1jb250cm9sbGVyXFxcIikpIHtcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjYyMDpcXHRcXHRyZXQgPSBtdDc1MzBfc2V0dXBfZ3Bpbyhwcml2KTtcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjYyMS1cXHRcXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTI2MzU9bXQ3NTMxX3NldHVwX2NvbW1vbihzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjcwMC1cXHQvKiBTZXR1cCBWTEFOIElEIDAgZm9yIFZMQU4tdW5hd2FyZSBicmlkZ2VzICovXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI3MDE6XFx0cmV0dXJuIG10NzUzMF9zZXR1cF92bGFuMChwcml2KTtcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMjcwMi19XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM9MjkxND1tdDc1MzBfbWFjX2NvbmZpZyhzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LCB1bnNpZ25lZCBpbnQgbW9kZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yOTE5LVxcdGlmIChwb3J0ID09IDUpXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jOjI5MjA6XFx0XFx0bXQ3NTMwX3NldHVwX3BvcnQ1KHByaXYtXFx1MDAzZWRzLCBpbnRlcmZhY2UpO1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0yOTIxLVxcdGVsc2UgaWYgKHBvcnQgPT0gNilcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MjkyMjpcXHRcXHRtdDc1MzBfc2V0dXBfcG9ydDYocHJpdi1cXHUwMDNlZHMsIGludGVyZmFjZSk7XFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTI5MjMtfVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jPTMxODQ9bXQ3NTN4X3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcylcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0zMTkyLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzozMTkzOlxcdHJldCA9IG10NzUzMF9zZXR1cF9pcnEocHJpdik7XFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTMxOTQtXFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0zMTk2LVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYzozMTk3OlxcdHJldCA9IG10NzUzMF9zZXR1cF9tZGlvKHByaXYpO1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYy0zMTk4LVxcdGlmIChyZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM9MzM5Nj1jb25zdCBzdHJ1Y3QgbXQ3NTN4X2luZm8gbXQ3NTN4X3RhYmxlW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzM5OS1cXHRcXHQucGNzX29wcyA9IFxcdTAwMjZtdDc1MzBfcGNzX29wcyxcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MzQwMDpcXHRcXHQuc3dfc2V0dXAgPSBtdDc1MzBfc2V0dXAsXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTM0MDEtXFx0XFx0LnBoeV9yZWFkX2MyMiA9IG10NzUzMF9waHlfcmVhZF9jMjIsXFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMtMzQxMC1cXHRcXHQucGNzX29wcyA9IFxcdTAwMjZtdDc1MzBfcGNzX29wcyxcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmM6MzQxMTpcXHRcXHQuc3dfc2V0dXAgPSBtdDc1MzBfc2V0dXAsXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC5jLTM0MTItXFx0XFx0LnBoeV9yZWFkX2MyMiA9IG10NzUzMF9waHlfcmVhZF9jMjIsXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjEzOjA1Ljg3MTEzODg1NFoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE2NTYyMTg0MjcxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIE5ldHdvcmsgRHJpdmVyIENoYW5nZSoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggYW5kIGl0J3MgcmVtb3ZpbmcgYGRzLVx1MDAzZXVudGFnX3ZsYW5fYXdhcmVfYnJpZGdlX3B2aWQgPSB0cnVlO2AgZnJvbSBgbXQ3NTMwX3NldHVwYCBhbmQgYG10NzUzMV9zZXR1cF9jb21tb25gLiBSaWdodCBvZmYgdGhlIGJhdCwgSSBzZWUgdGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgbmV0d29yayBkcml2ZXIsIHNwZWNpZmljYWxseSBkZWFsaW5nIHdpdGggdGhlIE1lZGlhVGVrIE1UNzUzMC9NVDc1MzEgc3dpdGNoLiBUaGlzIGB1bnRhZ192bGFuX2F3YXJlX2JyaWRnZV9wdmlkYCBmbGFn4oCmIHRoYXQncyBnb3QgdG8gZG8gd2l0aCBob3cgRFNBIGNvbmZpZ3VyZXMgVkxBTiB0YWdnaW5nIG9uIGJyaWRnZSBwb3J0cy4gTWFrZXMgbWUgd29uZGVyLCBpcyB0aGlzIHNvbWV0aGluZyB0aGF0IGNvdWxkIGV2ZW4gYmUgaGl0IGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQ/IERTQSBkcml2ZXJzIGFyZSBub3JtYWxseSB0aWVkIHRvICpzcGVjaWZpYyogaGFyZHdhcmUuIEkgbWVhbiwgd2UgKmNvdWxkKiBzZWUgdGhlIERTQSBjb3JlIGFuZCBzb21lIGRyaXZlcnMgaW5zdGFudGlhdGVkIHdpdGggZGV2aWNlIHRyZWUgb3ZlcmxheXMgb3IgbWF5YmUgYSBtb2NrIGRyaXZlcuKApiBidXQgdXN1YWxseSwgYSBkcml2ZXIgbGlrZSBgbXQ3NTMwYCwgdGhhdCdzIGdvaW5nIHRvIG5lZWQgdGhlIGFjdHVhbCBNZWRpYVRlayBoYXJkd2FyZSwgb3IgYXQgbGVhc3QgYSBnb29kIGVtdWxhdG9yLlxuXG5XYWl0IGEgc2Vjb25k4oCmIHN5emthbGxlciBkb2VzIGZ1enogRFNB4oCmIGlmIGl0IGNhbiBpbnN0YW50aWF0ZSBpdC4gQnV0ICpjYW4qIGl0IGluc3RhbnRpYXRlIG10NzUzMD8gSSByZWNhbGwgcGxhdGZvcm0gZHJpdmVycyBvciBJMkMvTURJTyBkcml2ZXJzIG5lZWRpbmcgdGhlIHBoeXNpY2FsIGhhcmR3YXJlIG9yIGEgcmVhbGx5IGdvb2QgbW9jaywgc28gSSBzaG91bGQgc2VlIGlmIGBtdDc1MzBgIGlzIGEgcGxhdGZvcm0gZHJpdmVyIG9yIGFuIE1ESU8gZHJpdmVyLiBUaGF0J2xsIGJlIGtleSB0byBmaWd1cmluZyBvdXQgaG93IGxpa2VseSB0aGlzIGNoYW5nZSBpcyB0byBjYXVzZSBpc3N1ZXMgb3V0c2lkZSBpdHMgaW50ZW5kZWQgaGFyZHdhcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ4NTMsIk91dHB1dFRva2VucyI6MzgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNTAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTU6MTM6MjIuNDMzMzI1OTA1WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE0Njc3Njg5OSwiRXJyb3IiOiJubyBtYXRjaGVzIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibW9kdWxlXy4qZHJpdmVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTU6MTM6MjIuNTgwMTE0NDY0WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDM0MDY4OTE2NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIHRoZSBzdW1tYXJ5LCBmb3JtYXR0ZWQgYXMgcmVxdWVzdGVkOlxuXG4qKk5hdmlnYXRpbmcgdGhlIERpZ2l0YWwgTGFuZHNjYXBlOiBBIEJyaWVmIEV4YW1pbmF0aW9uKipcblxuUmlnaHQsIGxldCdzIHN0YXJ0IGJ5IHF1aWNrbHkgc2NvcGluZyBvdXQgdGhlIHRhaWwgZW5kIG9mIHRoaXMgZmlsZS4gSXQncyBvZnRlbiB0aGUgcXVpY2tlc3Qgd2F5IHRvIGdldCBhIGZlZWwgZm9yIHdoYXQgd2UncmUgZGVhbGluZyB3aXRoLCBlc3BlY2lhbGx5IHdoZW4gSSdtIGFzc2Vzc2luZyB0aGUgb3ZlcmFsbCBzY29wZS4gVGhpcyBpbml0aWFsIGdsaW1wc2UgYXQgdGhlIGVuZCBvZiB0aGUgY29udGVudCB3aWxsIGdpdmUgbWUgYSBzZW5zZSBvZiB3aGF0IGhhcyBiZWVuIGNvbmNsdWRlZCBzbyBmYXIsIGlmIGFueXRoaW5nLCBhbmQgd2hhdCBwb3RlbnRpYWwgcGF0aHMgb2YgYW5hbHlzaXMgbWlnaHQgcmVtYWluLiBJdOKAmXMgYSBzdGFuZGFyZCBmaXJzdCBzdGVwLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1NjcxLCJPdXRwdXRUb2tlbnMiOjM3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTU6MTM6MjYuOTIwODA2MDQ5WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjc3NjQwOTkwLCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJtb2R1bGVfLipcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZHNhL210NzUzMC5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcImVycm9yXCI6IFwibm8gbWF0Y2hlc1wiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxNToxMzoyNi45OTg0NTY2NTlaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2NDk4NDU3ODI3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIGFzIGlmIEknbSB0aGUgb25lIGhhdmluZyBpdCwgYW5kIGdlYXJlZCB0b3dhcmRzIGFuIGV4cGVydDpcblxuKipIbW0sIE5ldHdvcmsgRHJpdmVyIExvY2F0aW9uIFBvc3NpYmlsaXR5KipcblxuQWxyaWdodCwgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hlcmUgdGhhdCBzcGVjaWZpYyBmdW5jdGlvbmFsaXR5IGlzIGltcGxlbWVudGVkLiBNeSBmaXJzdCBpbnN0aW5jdCwgZ2l2ZW4gdGhlIGNvbnRleHQsIGlzIHRoYXQgaXQncyBsaWtlbHkgYnVyaWVkIHdpdGhpbiB0aGUgZHJpdmVyIGNvZGUuIENvbnNpZGVyaW5nIGl0J3MgYSBEU0Egc3dpdGNoIGRyaXZlciwgbXkgZ3V0IGZlZWxpbmcgc2F5cyB0aGUgaW1wbGVtZW50YXRpb24gb3IgYSBrZXkgcG9ydGlvbiBvZiB0aGUgY29kZSBpcyBwcm9iYWJseSBzaXR0aW5nIHNvbWV3aGVyZSBpbiB0aGUgYGRyaXZlcnMvbmV0L2RzYS9gIGRpcmVjdG9yeS4gR2l2ZW4gdGhlIHNwZWNpZmljIG1lbnRpb24gb2YgdGhlIE1UNzUzMCBjaGlwLCBJJ20gdGhpbmtpbmcgaXQncyBwcm9iYWJseSwgYXQgYSBtaW5pbXVtLCByZWxhdGVkIHRvIHRoZSBgbXQ3NTMwLW1kaW8uY2AgZmlsZS4gT3IsIGl0J3MgYSBwYXJ0IG9mIHNvbWUgaW5jbHVkZSBzdHJ1Y3R1cmUuIFRpbWUgdG8gZGl2ZSBpbiB0aGVyZSBhbmQgc2VlIHdoYXQgdGhlIHNvdXJjZSBpcy5cblxuXG4iLCJJbnB1dFRva2VucyI6NTg0NiwiT3V0cHV0VG9rZW5zIjoyNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI5LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjEzOjMzLjQ5NjkxNzUzNVoiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJjb2Rlc2VhcmNoLWRpci1pbmRleCIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIxNDQxNzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJEaXJcIjogXCJkcml2ZXJzL25ldC9kc2FcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRmlsZXNcIjogW1xuICAgIFwiYmNtX3NmMi5jXCIsXG4gICAgXCJiY21fc2YyLmhcIixcbiAgICBcImJjbV9zZjJfY2ZwLmNcIixcbiAgICBcImJjbV9zZjJfcmVncy5oXCIsXG4gICAgXCJkc2FfbG9vcC5jXCIsXG4gICAgXCJrczg5OTUuY1wiLFxuICAgIFwibGFuOTMwMy1jb3JlLmNcIixcbiAgICBcImxhbjkzMDMuaFwiLFxuICAgIFwibGFuOTMwM19pMmMuY1wiLFxuICAgIFwibGFuOTMwM19tZGlvLmNcIixcbiAgICBcIm10NzUzMC1tZGlvLmNcIixcbiAgICBcIm10NzUzMC1tbWlvLmNcIixcbiAgICBcIm10NzUzMC5jXCIsXG4gICAgXCJtdDc1MzAuaFwiLFxuICAgIFwibXY4OGU2MDYwLmNcIixcbiAgICBcIm12ODhlNjA2MC5oXCIsXG4gICAgXCJyem4xX2E1cHN3LmNcIixcbiAgICBcInJ6bjFfYTVwc3cuaFwiLFxuICAgIFwidml0ZXNzZS12c2M3M3h4LWNvcmUuY1wiLFxuICAgIFwidml0ZXNzZS12c2M3M3h4LXBsYXRmb3JtLmNcIixcbiAgICBcInZpdGVzc2UtdnNjNzN4eC1zcGkuY1wiLFxuICAgIFwidml0ZXNzZS12c2M3M3h4LmhcIixcbiAgICBcInl0OTIxeC5jXCIsXG4gICAgXCJ5dDkyMXguaFwiXG4gIF0sXG4gIFwiU3ViZGlyc1wiOiBbXG4gICAgXCJiNTNcIixcbiAgICBcImhpcnNjaG1hbm5cIixcbiAgICBcImxhbnRpcVwiLFxuICAgIFwibWljcm9jaGlwXCIsXG4gICAgXCJtdjg4ZTZ4eHhcIixcbiAgICBcIm14bDg2Mnh4XCIsXG4gICAgXCJuZXRjXCIsXG4gICAgXCJvY2Vsb3RcIixcbiAgICBcInFjYVwiLFxuICAgIFwicmVhbHRla1wiLFxuICAgIFwic2phMTEwNVwiLFxuICAgIFwieHJzNzAweFwiXG4gIF1cbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjEzOjMzLjQ5OTA2NjExNVoiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMjUyMjc4NzQ0NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjU5NzQsIk91dHB1dFRva2VucyI6NDAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOlsiY29kZXNlYXJjaC1kaXItaW5kZXgiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxNToxMzo0Ni4wMjE4NTY3NTFaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEzMjQwOTI4MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJtb2R1bGVfLipcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZHNhL210NzUzMC1tZGlvLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZHNhL210NzUzMC1tZGlvLmM9MjUxPXN0YXRpYyBzdHJ1Y3QgbWRpb19kcml2ZXIgbXQ3NTMwX21kaW9fZHJpdmVyID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC1tZGlvLmMtMjYwLVxcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAtbWRpby5jOjI2MTptZGlvX21vZHVsZV9kcml2ZXIobXQ3NTMwX21kaW9fZHJpdmVyKTtcXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1kaW8uYy0yNjItXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjEzOjQ2LjE1NDI3MTE5WiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE0ODM5MTI1ODY3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6NjE1NiwiT3V0cHV0VG9rZW5zIjo0MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTU6MTQ6MDAuOTkzNDAwMDY3WiIsIlNlcSI6MTQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyOTYwOTk4OTksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibW9kdWxlXy4qXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2RzYS9tdDc1MzAtbW1pby5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2RzYS9tdDc1MzAtbW1pby5jPTg3PXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10Nzk4OF9wbGF0Zm9ybV9kcml2ZXIgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLW1taW8uYy05NS19O1xcbmRyaXZlcnMvbmV0L2RzYS9tdDc1MzAtbW1pby5jOjk2Om1vZHVsZV9wbGF0Zm9ybV9kcml2ZXIobXQ3OTg4X3BsYXRmb3JtX2RyaXZlcik7XFxuZHJpdmVycy9uZXQvZHNhL210NzUzMC1tbWlvLmMtOTctXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjE0OjAxLjI4OTUwNDk5NloiLCJTZXEiOjE1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxNTM1ODIzNzExNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjYzMzEsIk91dHB1dFRva2VucyI6MzQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjE0OjE2LjY0Nzc0NTQwMVoiLCJTZXEiOjE2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjIyMTA0Nzk5LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJtdDc1MzBcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZHNhL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiZXJyb3JcIjogXCJubyBtYXRjaGVzXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDE1OjE0OjE2Ljg2OTg3MTczWiIsIlNlcSI6MTcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE3MTk2ODg5NDE5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6NjM3OSwiT3V0cHV0VG9rZW5zIjozNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTU6MTQ6MzQuMDY2NzYzODg5WiIsIlNlcSI6MTgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMjA2MDc3MjksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiTVQ3NTMwXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2RzYS9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2RzYS9LY29uZmlnPTI5PXNvdXJjZSBcXFwiZHJpdmVycy9uZXQvZHNhL2xhbnRpcS9LY29uZmlnXFxcIlxcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnLTMwLVxcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjMxOmNvbmZpZyBORVRfRFNBX01UNzUzMFxcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjMyOlxcdHRyaXN0YXRlIFxcXCJNZWRpYVRlayBNVDc1MzAgYW5kIE1UNzUzMSBFdGhlcm5ldCBzd2l0Y2ggc3VwcG9ydFxcXCJcXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy0zMy1cXHRzZWxlY3QgTkVUX0RTQV9UQUdfTVRLXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctMzQtXFx0c2VsZWN0IFJFR01BUF9JUlFcXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzozNTpcXHRpbXBseSBORVRfRFNBX01UNzUzMF9NRElPXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6MzY6XFx0aW1wbHkgTkVUX0RTQV9NVDc1MzBfTU1JT1xcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnLTM3LVxcdGhlbHBcXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzozODpcXHQgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciB0aGUgTWVkaWFUZWsgTVQ3NTMwIGFuZCBNVDc1MzEgRXRoZXJuZXRcXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzozOTpcXHQgIHN3aXRjaCBjaGlwcy4gTXVsdGktY2hpcCBtb2R1bGUgTVQ3NTMwIGluIE1UNzYyMUFULCBNVDc2MjFEQVQsXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNDAtXFx0ICBNVDc2MjFTVCBhbmQgTVQ3NjIzQUkgU29DcywgYW5kIGJ1aWx0LWluIHN3aXRjaCBpbiBNVDc5ODggU29DIGFyZVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNDItXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWc6NDM6Y29uZmlnIE5FVF9EU0FfTVQ3NTMwX01ESU9cXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzo0NDpcXHR0cmlzdGF0ZSBcXFwiTWVkaWFUZWsgTVQ3NTMwIE1ESU8gaW50ZXJmYWNlIGRyaXZlclxcXCJcXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzo0NTpcXHRkZXBlbmRzIG9uIE5FVF9EU0FfTVQ3NTMwXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNDYtXFx0c2VsZWN0IE1FRElBVEVLX0dFX1BIWVxcbi0tXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNDgtXFx0aGVscFxcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjQ5OlxcdCAgVGhpcyBlbmFibGVzIHN1cHBvcnQgZm9yIHRoZSBNZWRpYVRlayBNVDc1MzAgYW5kIE1UNzUzMSBzd2l0Y2hcXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy01MC1cXHQgIGNoaXBzIHdoaWNoIGFyZSBjb25uZWN0ZWQgdmlhIE1ESU8sIGFzIHdlbGwgYXMgbXVsdGktY2hpcFxcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjUxOlxcdCAgbW9kdWxlIE1UNzUzMCB3aGljaCBjYW4gYmUgZm91bmQgaW4gdGhlIE1UNzYyMUFULCBNVDc2MjFEQVQsXFxuZHJpdmVycy9uZXQvZHNhL0tjb25maWctNTItXFx0ICBNVDc2MjFTVCBhbmQgTVQ3NjIzQUkgU29Dcy5cXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy01My1cXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZzo1NDpjb25maWcgTkVUX0RTQV9NVDc1MzBfTU1JT1xcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjU1OlxcdHRyaXN0YXRlIFxcXCJNZWRpYVRlayBNVDc1MzAgTU1JTyBpbnRlcmZhY2UgZHJpdmVyXFxcIlxcbmRyaXZlcnMvbmV0L2RzYS9LY29uZmlnOjU2OlxcdGRlcGVuZHMgb24gTkVUX0RTQV9NVDc1MzBcXG5kcml2ZXJzL25ldC9kc2EvS2NvbmZpZy01Ny1cXHRkZXBlbmRzIG9uIEhBU19JT01FTVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxNToxNDozNC4yODczNzc2NjhaIiwiU2VxIjoxOSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjkyNDU2MzIwNzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqV29ydGhGdXp6aW5nIEFzc2Vzc21lbnQ6IFRoZSBNVDc1MzAgRFNBIERyaXZlciBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgYGRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuY2AsIHNwZWNpZmljYWxseSB0aGUgTWVkaWFUZWsgTVQ3NTMwL01UNzUzMSBEU0Egc3dpdGNoIGRyaXZlci4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBjYW4gdGhpcyBiZSByZWFjaGVkIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQsIHdoaWNoIGlzIGNydWNpYWwgZm9yIGZ1enppbmcgd2l0aCBzb21ldGhpbmcgbGlrZSBzeXprYWxsZXI/IERTQSBkcml2ZXJzIGFyZSBpbmhlcmVudGx5IGhhcmR3YXJlLXNwZWNpZmljLiBXaGlsZSBEU0EgaXRzZWxmIGhhcyBhIGNvcmUgbGF5ZXIgdGhhdCAqY2FuKiBiZSBtb2NrZWQgKGxpa2UgYGRzYV9sb29wYCksIHRoaXMgcGF0Y2ggaXMgbW9kaWZ5aW5nIHRoZSBNVDc1MzAgZHJpdmVyLCBhIGNvbmNyZXRlIGhhcmR3YXJlIGRyaXZlci5cblxuSSBuZWVkIHRvIHF1aWNrbHkgYXNzZXNzIHJlYWNoYWJpbGl0eS4gRFNBIGRyaXZlcnMgdHlwaWNhbGx5IHByb2JlIHRocm91Z2ggTURJTyBvciBNTUlPLiBDYW4gc3l6a2FsbGVyIGdldCBhdCB0aGlzPyBTeXprYWxsZXIgaGFzIHNvbWUgbmV0d29yayBmdXp6aW5nIGNhcGFiaWxpdGllcywgZXNwZWNpYWxseSBmb3IgZHJpdmVycyBpbnN0YW50aWF0ZWQgdmlhIG5ldGxpbmsgb3IgdmlydHVhbCBkZXZpY2VzLCBidXQgRFNBIHN3aXRjaGVzIHVzdWFsbHkgY29tZSB1cCB0aHJvdWdoIHRoZSBkZXZpY2UgdHJlZSwgb3IgdmlhIEkyQyBvciBNRElPLiBTeXprYWxsZXIgKmRvZXMqIGhhdmUgbWVjaGFuaXNtcyB0byBpbmplY3QgY2VydGFpbiBoYXJkd2FyZSwgbGlrZSBVU0IgZGV2aWNlcyAoYHZoY2lgKSwgb3IgYG1hYzgwMjExX2h3c2ltYCBmb3IgV2lGaS4gRG9lcyBpdCBoYXZlIGFueXRoaW5nIGVxdWl2YWxlbnQgZm9yIERTQT8gSSByZW1lbWJlcmVkIGBkc2FfbG9vcGAsIHdoaWNoIGlzIGEgbW9jayBEU0EgZHJpdmVyLCBidXQgdGhlIHBhdGNoIGlzIGluIHRoZSBNVDc1MzAgZHJpdmVyIGFuZCBub3QgdGhlIGNvcmUgRFNBIGxheWVyLlxuXG5JcyBgbXQ3NTMwX3NldHVwYCByZWFjaGFibGUgaW4gYSBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50LCB3aGljaCBpcyB0aGUgYmFzZWxpbmUgc3l6a2FsbGVyIHVzZXM/IFByb2JhYmx5IG5vdC4gSXQgcmVxdWlyZXMgYW4gTURJTyBidXMgd2l0aCBhIHNwZWNpZmljIFBIWSBJRCBvciBhIHBsYXRmb3JtIGRldmljZSB3aXRoIHNwZWNpZmljIGNvbXBhdGlibGUgc3RyaW5ncyB0aGF0IGFyZW4ndCBwcmVzZW50IGluIHRoZSBnZW5lcmljIHg4Nl82NCBvciBhcm02NCBWTXMuIERvZXMgc3l6a2FsbGVyIGhhdmUgYW4gaW5qZWN0b3IgZm9yIHBsYXRmb3JtIGRldmljZXM/IE5vLiBJdCBoYXMgVVNCIChgc3l6X3VzYl9jb25uZWN0YCksIFdpRmkgKGBzeXpfODAyMTFfaW5qZWN0X2ZyYW1lYCkgYW5kIHNvIG9uLCBidXQgbm8gcGxhdGZvcm0gZGV2aWNlIGluamVjdG9ycy4gSXQgY2FuICpsb2FkKiBjdXN0b20gZGV2aWNlIHRyZWVzLCBidXQgdGhhdCdzIG5vdCBpdHMgdHlwaWNhbCBhcHByb2FjaC5cblxuR2l2ZW4gdGhlIHByb21wdCdzIGNyaXRlcmlhIOKAkyBcIkNvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZVwiIOKAkyB0aGUgTVQ3NTMwIGlzIGNsZWFybHkgdW5yZWFjaGFibGUuIEl0J3MgYSBoYXJkd2FyZS1zcGVjaWZpYyBFdGhlcm5ldCBzd2l0Y2ggY2hpcCwgYW5kIHRoZXJlIGlzIG5vIHN0YW5kYXJkIHVwc3RyZWFtIGtlcm5lbCBlbXVsYXRpb24gZm9yIGl0LCB1bmxpa2UgYSBEU0EgY29yZSBsYXllciB0aGF0IGlzIG1vY2tlZCB3aXRoIGRzYV9sb29wLiBUaGlzIGNvZGUgcmVsaWVzIG9uIE1ESU8vTU1JTyBhY2Nlc3MgdG8gdGhlIGhhcmR3YXJlLlxuXG5MZXQgbWUgZG91YmxlLWNoZWNrOiB0aGVyZSBpc24ndCBhIHVzZXItc3BhY2UgQVBJIHRvIGluc3RhbnRpYXRlIHRoaXMuIEl0J3MgYSBoYXJkd2FyZSBkcml2ZXIuIEFuZCwgdGhlcmUgaXNuJ3QgYSBgZHNhX2xvb3BgLXN0eWxlIGVxdWl2YWxlbnQgZm9yIE1UNzUzMC4gSXQncyBoYXJkd2FyZS1zcGVjaWZpYy4gSSBjb25maXJtIHRoYXQgaXQgaXMgdW5yZWFjaGFibGUgaW4gZ2VuZXJpYyBWTXMuIFRoZSBjb25maWcgb3B0aW9ucyB3b3VsZCBiZSBgTkVUX0RTQV9NVDc1MzBgLCBgTkVUX0RTQV9NVDc1MzBfTURJT2AsIGBORVRfRFNBX01UNzUzMF9NTUlPYCwgYnV0IHRoZXNlIGFyZSBpcnJlbGV2YW50LlxuXG5TbywgaW4gc3VtbWFyeTogdGhlIHBhdGNoIHJlbW92ZXMgYSBzaW5nbGUgYm9vbGVhbiBhc3NpZ25tZW50IChgdW50YWdfdmxhbl9hd2FyZV9icmlkZ2VfcHZpZGApLCB3aGljaCB3b3VsZCBhZmZlY3QgYnJpZGdlIFZMQU4gbG9naWMgaWYgaXQgd2VyZSByZWFjaGFibGUuIEhvd2V2ZXIsIHRoZSBNVDc1MzAgZHJpdmVyIGlzIGZvciBNZWRpYVRlayBzd2l0Y2ggaGFyZHdhcmUgYW5kIGlzIHVucmVhY2hhYmxlIGluIGEgZ2VuZXJpYyBWTSwgc28gaXQncyBub3Qgd29ydGggZnV6emluZyBmb3IgdGhpcyBwYXRjaC4gSSB3aWxsIHJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UsIHVzaW5nIGBzZXQtcmVzdWx0c2AuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjcxNzIsIk91dHB1dFRva2VucyI6MTEwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTM2OCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxNToxNTowMy41MzMwMTIzMTRaIiwiU2VxIjoyMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozNTI4MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW10sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgTWVkaWFUZWsgTVQ3NTMwL01UNzUzMSBEU0Egc3dpdGNoIGRyaXZlci4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciB0aGF0IHByb2JlcyB2aWEgTURJTyBvciBNTUlPIGFuZCBpcyB0eXBpY2FsbHkgaW5zdGFudGlhdGVkIHZpYSBEZXZpY2UgVHJlZSBvbiBzcGVjaWZpYyBNZWRpYVRlayBTb0NzLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgc3BlY2lmaWMgaGFyZHdhcmUgaW4gc3RhbmRhcmQgUUVNVS9HQ0UgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgTWVkaWFUZWsgTVQ3NTMwL01UNzUzMSBEU0Egc3dpdGNoIGRyaXZlci4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciB0aGF0IHByb2JlcyB2aWEgTURJTyBvciBNTUlPIGFuZCBpcyB0eXBpY2FsbHkgaW5zdGFudGlhdGVkIHZpYSBEZXZpY2UgVHJlZSBvbiBzcGVjaWZpYyBNZWRpYVRlayBTb0NzLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgc3BlY2lmaWMgaGFyZHdhcmUgaW4gc3RhbmRhcmQgUUVNVS9HQ0UgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflowtm9fz[1] Phase: Running StartedAt: 2026-07-07 15:15:14 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtm9fz[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-07-07 15:15:14 +0000 UTC FinishedAt: 2026-07-07 15:15:23 +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,}