Name: series-workflowljwzj Phase: Failed StartedAt: 2026-07-31 02:27:23 +0000 UTC FinishedAt: 2026-07-31 02:34:55 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljwzj[0] Phase: Succeeded StartedAt: 2026-07-31 02:27:23 +0000 UTC FinishedAt: 2026-07-31 02:34:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljwzj[0].run-triage Phase: Succeeded StartedAt: 2026-07-31 02:27:23 +0000 UTC FinishedAt: 2026-07-31 02:34:35 +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+CgkJCTx0ZD4yMDI2LzA3LzMxIDAyOjI4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+NW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYXRlayBNVDc5MTUgYW5kIE1UNzk5NiB3aXJlbGVzcyBkcml2ZXJzLCB3aGljaCBhcmUgdmVuZG9yLXNwZWNpZmljIFBDSWUvU29DIGRyaXZlcnMuIFRoZXNlIGRyaXZlcnMgcmVxdWlyZSBwaHlzaWNhbCBoYXJkd2FyZSB0aGF0IGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwMjoyODwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDNjMjM5MzlhNGU4MWY5NTFmMzZkZTFmYTQ2NGQ2YzQ0OTdjNjg5ZThcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgRnJpIEp1bCAzMSAwMjoyODoyNSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21hYy5jXG5pbmRleCAzMzRjMTlhYjJiMjJjLi4xYWQ1NGE1YmIzNzQyIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21hYy5jXG5AQCAtMjM0NSw4ICYjNDM7MjM0NSwxMCBAQCB2b2lkIG10NzkxNV9tYWNfYWRkX3R3dF9zZXR1cChzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodyxcbiBcdH1cbiBcdGZsb3ctXHUwMDNldHNmID0gbGU2NF90b19jcHUodHd0X2FncnQtXHUwMDNldHd0KTtcbiBcbi1cdGlmIChtdDc5MTVfbWN1X3R3dF9hZ3J0X3VwZGF0ZShkZXYsIG1zdGEtXHUwMDNldmlmLCBmbG93LCBNQ1VfVFdUX0FHUlRfQUREKSlcbiYjNDM7XHRpZiAobXQ3OTE1X21jdV90d3RfYWdydF91cGRhdGUoZGV2LCBtc3RhLVx1MDAzZXZpZiwgZmxvdywgTUNVX1RXVF9BR1JUX0FERCkpIHtcbiYjNDM7XHRcdGxpc3RfZGVsX2luaXQoXHUwMDI2Zmxvdy1cdTAwM2VsaXN0KTtcbiBcdFx0Z290byB1bmxvY2s7XG4mIzQzO1x0fVxuIFxuIFx0c2V0dXBfY21kID0gVFdUX1NFVFVQX0NNRF9BQ0NFUFQ7XG4gXHRkZXYtXHUwMDNldHd0LnRhYmxlX21hc2sgfD0gQklUKHRhYmxlX2lkKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTk2L21hYy5jXG5pbmRleCAwZWViYzgxODJjYTlhLi40NDViZDdkNjNjYzhiIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5OTYvbWFjLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTk2L21hYy5jXG5AQCAtMzIwNyw4ICYjNDM7MzIwNywxMCBAQCB2b2lkIG10Nzk5Nl9tYWNfYWRkX3R3dF9zZXR1cChzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodyxcbiBcdGZsb3ctXHUwMDNldHNmID0gbGU2NF90b19jcHUodHd0X2FncnQtXHUwMDNldHd0KTtcbiBcbiBcdGlmIChtdDc5OTZfbWN1X3R3dF9hZ3J0X3VwZGF0ZShkZXYsIFx1MDAyNm1zdGEtXHUwMDNldmlmLVx1MDAzZWRlZmxpbmssIGZsb3csXG4tXHRcdFx0XHQgICAgICAgTUNVX1RXVF9BR1JUX0FERCkpXG4mIzQzO1x0XHRcdFx0ICAgICAgIE1DVV9UV1RfQUdSVF9BREQpKSB7XG4mIzQzO1x0XHRsaXN0X2RlbF9pbml0KFx1MDAyNmZsb3ctXHUwMDNlbGlzdCk7XG4gXHRcdGdvdG8gdW5sb2NrO1xuJiM0MztcdH1cbiBcbiBcdHNldHVwX2NtZCA9IFRXVF9TRVRVUF9DTURfQUNDRVBUO1xuIFx0ZGV2LVx1MDAzZXR3dC50YWJsZV9tYXNrIHw9IEJJVCh0YWJsZV9pZCk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6Mjg8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+NW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYXRlayBNVDc5MTUgYW5kIE1UNzk5NiB3aXJlbGVzcyBkcml2ZXJzLCB3aGljaCBhcmUgdmVuZG9yLXNwZWNpZmljIFBDSWUvU29DIGRyaXZlcnMuIFRoZXNlIGRyaXZlcnMgcmVxdWlyZSBwaHlzaWNhbCBoYXJkd2FyZSB0aGF0IGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLAogIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwKICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4KLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKQogIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9ucwogICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgQWxzbyBjaGVjayAmIzM0O2RlcGVuZHMgb24mIzM0OyBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3MKICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzCiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDNjMjM5MzlhNGU4MWY5NTFmMzZkZTFmYTQ2NGQ2YzQ0OTdjNjg5ZTgKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgRnJpIEp1bCAzMSAwMjoyODoyNSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21hYy5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmMKaW5kZXggMzM0YzE5YWIyYjIyYy4uMWFkNTRhNWJiMzc0MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmMKQEAgLTIzNDUsOCAmIzQzOzIzNDUsMTAgQEAgdm9pZCBtdDc5MTVfbWFjX2FkZF90d3Rfc2V0dXAoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsCiAJfQogCWZsb3ctJmd0O3RzZiA9IGxlNjRfdG9fY3B1KHR3dF9hZ3J0LSZndDt0d3QpOwogCi0JaWYgKG10NzkxNV9tY3VfdHd0X2FncnRfdXBkYXRlKGRldiwgbXN0YS0mZ3Q7dmlmLCBmbG93LCBNQ1VfVFdUX0FHUlRfQUREKSkKJiM0MzsJaWYgKG10NzkxNV9tY3VfdHd0X2FncnRfdXBkYXRlKGRldiwgbXN0YS0mZ3Q7dmlmLCBmbG93LCBNQ1VfVFdUX0FHUlRfQUREKSkgewomIzQzOwkJbGlzdF9kZWxfaW5pdCgmYW1wO2Zsb3ctJmd0O2xpc3QpOwogCQlnb3RvIHVubG9jazsKJiM0MzsJfQogCiAJc2V0dXBfY21kID0gVFdUX1NFVFVQX0NNRF9BQ0NFUFQ7CiAJZGV2LSZndDt0d3QudGFibGVfbWFzayB8PSBCSVQodGFibGVfaWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5OTYvbWFjLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuYwppbmRleCAwZWViYzgxODJjYTlhLi40NDViZDdkNjNjYzhiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuYwpAQCAtMzIwNyw4ICYjNDM7MzIwNywxMCBAQCB2b2lkIG10Nzk5Nl9tYWNfYWRkX3R3dF9zZXR1cChzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywKIAlmbG93LSZndDt0c2YgPSBsZTY0X3RvX2NwdSh0d3RfYWdydC0mZ3Q7dHd0KTsKIAogCWlmIChtdDc5OTZfbWN1X3R3dF9hZ3J0X3VwZGF0ZShkZXYsICZhbXA7bXN0YS0mZ3Q7dmlmLSZndDtkZWZsaW5rLCBmbG93LAotCQkJCSAgICAgICBNQ1VfVFdUX0FHUlRfQUREKSkKJiM0MzsJCQkJICAgICAgIE1DVV9UV1RfQUdSVF9BREQpKSB7CiYjNDM7CQlsaXN0X2RlbF9pbml0KCZhbXA7Zmxvdy0mZ3Q7bGlzdCk7CiAJCWdvdG8gdW5sb2NrOwomIzQzOwl9CiAKIAlzZXR1cF9jbWQgPSBUV1RfU0VUVVBfQ01EX0FDQ0VQVDsKIAlkZXYtJmd0O3R3dC50YWJsZV9tYXNrIHw9IEJJVCh0YWJsZV9pZCk7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDAyOjI4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI1MzcKCQkJCQkJCW91dHB1dDogNDUKCQkJCQkJCXRob3VnaHRzOiAyOTQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgRHJpdmVyIFBhdGNoIGZvciBNZWRpYXRlayBXaXJlbGVzcyBDaGlwcyoqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGlzIHRvdWNoaW5nIGBkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tYWMuY2AgYW5kIGBkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuY2AuICBMb29rcyBsaWtlIGl0JiMzOTtzIGFkZGluZyBgbGlzdF9kZWxfaW5pdCgmYW1wO2Zsb3ctJmd0O2xpc3QpO2AgaW4gYG10NzkxNV9tYWNfYWRkX3R3dF9zZXR1cGAgYW5kIGBtdDc5OTZfbWFjX2FkZF90d3Rfc2V0dXBgIHdoZW4gdGhlIHJlbGF0ZWQgYF9tY3VfdHd0X2FncnRfdXBkYXRlYCBjYWxscyBmYWlsLiBUaGlzIHNjcmVhbXMgTWVkaWF0ZWsgTVQ3OTE1IGFuZCBNVDc5OTYgd2lyZWxlc3MgZHJpdmVycyDigJMgZGVmaW5pdGVseSBmYW1pbGlhciB0ZXJyaXRvcnkuIE15IGZpcnN0IHRob3VnaHQgaXM6IGFyZSB0aGVzZSBkcml2ZXJzIGV2ZW4gKnJlYWNoYWJsZSogaW4gYSB0eXBpY2FsIFFFTVUgc2V0dXA/IEkgaGF2ZSB0byByZW1lbWJlciwgdGhlc2UgYXJlIHVzdWFsbHkgaGFyZHdhcmUtc3BlY2lmaWMsIHJpZ2h0PyBVbmxlc3MgaXQmIzM5O3MgVVNCIGFuZCBlbXVsYXRlZCBhcyBhIGdhZGdldCBvci4uLiAgd2FpdCwgYXJlIHRoZXkgdXNpbmcgYG1hYzgwMjExX2h3c2ltYD8gTm8sIG5vLCB0aGUgbXQ3NiBkcml2ZXJzIGFyZSBnZW5lcmFsbHkgZm9yIHBoeXNpY2FsIGhhcmR3YXJlLCBzbyB0aGV5IHdvdWxkbiYjMzk7dCB1c2UgdGhhdCEKCkxldCYjMzk7cyBxdWlja2x5IGNoZWNrIGlmIHRoZXkmIzM5O3JlIFBDSWUgb3IgVVNCIGRldmljZXMuLi4gIE9rYXksIGBtdDc5MTVgIGlzIFBDSWUuIGBtdDc5OTZgIGlzIFBDSWUgdG9vLiBJJiMzOTtsbCBuZWVkIHRvIHZlcmlmeSB0aGF0IGluZm9ybWF0aW9uLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDAyOjI4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5FcnJvcjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm5vIG1hdGNoZXM8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7bW9kdWxlX3BjaV9kcml2ZXImIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDAyOjI4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4xbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxOTEKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiAzMgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgbGV0JiMzOTtzIGRpdmUgaW50byB0aGlzLiBIZXJlJiMzOTtzIGhvdyBJJiMzOTtkIGFwcHJvYWNoIHRoaXMsIGFzIGlmIGl0JiMzOTtzIG15IG93biB0aG91Z2h0IHByb2Nlc3M6CgoqKkRpdmluZyBpbnRvIHRoZSBNVDc5MTUgUENJIERyaXZlcioqCgpBbHJpZ2h0LCBJIG5lZWQgdG8gZ2V0IHRvIHRoZSBjb3JlIG9mIHRoaXMuIEJhc2VkIG9uIHRoZSBsaWtlbHkgYXJlYSBvZiB0aGUgcHJvYmxlbSwgbXkgZmlyc3QgdGhvdWdodCBpcyB0byB6ZXJvIGluIG9uIHRoZSBQQ0kgZHJpdmVyIGNvZGUgZm9yIHRoZSBNVDc5MTUgd2lyZWxlc3MgY2hpcHNldC4gU3BlY2lmaWNhbGx5LCBJJiMzOTttIHRoaW5raW5nIEkgc2hvdWxkIHN0YXJ0IGRpZ2dpbmcgdGhyb3VnaCBgZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmNgLCBvciBzb21ldGhpbmcgdmVyeSBzaW1pbGFyLCBkZXBlbmRpbmcgb24gaG93IE1lZGlhdGVrIG9yZ2FuaXplcyBpdHMgY29kZS4gVGhhdCBmaWxlIGlzIHByb2JhYmx5IHdoZXJlIHRoZSBQQ0ktc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24sIHJlc291cmNlIGFsbG9jYXRpb24sIGFuZCBpbnRlcnJ1cHQgaGFuZGxpbmcgZm9yIHRoYXQgc3BlY2lmaWMgZGV2aWNlIGFyZSBkZWZpbmVkLiBUaGlzIGlzIHRoZSBwbGFjZSB0byBzdGFydCBsb29raW5nIGZvciBhIHBvc3NpYmxlIGNhdXNlIG9mIHRoZSBkZXNjcmliZWQgaXNzdWUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6Mjk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5jb2Rlc2VhcmNoLWRpci1pbmRleDwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RGlyJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGVzJiMzNDs6IFsKICAgICYjMzQ7Y29yZWR1bXAuYyYjMzQ7LAogICAgJiMzNDtjb3JlZHVtcC5oJiMzNDssCiAgICAmIzM0O2RlYnVnZnMuYyYjMzQ7LAogICAgJiMzNDtkbWEuYyYjMzQ7LAogICAgJiMzNDtlZXByb20uYyYjMzQ7LAogICAgJiMzNDtlZXByb20uaCYjMzQ7LAogICAgJiMzNDtpbml0LmMmIzM0OywKICAgICYjMzQ7bWFjLmMmIzM0OywKICAgICYjMzQ7bWFjLmgmIzM0OywKICAgICYjMzQ7bWFpbi5jJiMzNDssCiAgICAmIzM0O21jdS5jJiMzNDssCiAgICAmIzM0O21jdS5oJiMzNDssCiAgICAmIzM0O21taW8uYyYjMzQ7LAogICAgJiMzNDttdDc5MTUuaCYjMzQ7LAogICAgJiMzNDtwY2kuYyYjMzQ7LAogICAgJiMzNDtyZWdzLmgmIzM0OywKICAgICYjMzQ7c29jLmMmIzM0OywKICAgICYjMzQ7dGVzdG1vZGUuYyYjMzQ7LAogICAgJiMzNDt0ZXN0bW9kZS5oJiMzNDsKICBdLAogICYjMzQ7U3ViZGlycyYjMzQ7OiBudWxsCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwMjoyOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+NG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNTgyCgkJCQkJCQlvdXRwdXQ6IDQ3CgkJCQkJCQl0aG91Z2h0czogMzcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqSW52ZXN0aWdhdGluZyBQb3RlbnRpYWwgUENJIERyaXZlciBIYW5kbGluZyoqCgpBbHJpZ2h0LCBjb25maXJtZWQsIGBwY2kuY2AgYW5kIGBzb2MuY2AgYXJlIHByZXNlbnQuIE5vdywgbXkgaW1tZWRpYXRlIGZvY3VzIGlzIG9uIGBwY2kuY2AuIFRoZSBsaWtlbHkgcGF0aCB0byBmb2xsb3cgaGVyZSBpcyBhIG1vZHVsZS1iYXNlZCBhcHByb2FjaCwgc28gSSYjMzk7bSB0aGlua2luZyBJJiMzOTtsbCBuZWVkIHRvIGNoZWNrIGZvciBhIGBtb2R1bGVfcGNpX2RyaXZlcmAgZGVjbGFyYXRpb24sIG9yIHNvbWV0aGluZyBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCwgd2l0aGluIHRoYXQgZmlsZS4gVGhpcyBpcyB0aGUgY29tbW9uIGVudHJ5IHBvaW50IGZvciBQQ0kgZGV2aWNlIGRyaXZlciByZWdpc3RyYXRpb24gaW4gdGhlIGtlcm5lbC4gTGV0JiMzOTtzIGRpZyBpbiBhbmQgc2VlIHdoYXQgd2UgY2FuIGZpbmQuIEl0JiMzOTtzIHRpbWUgdG8gY29uZmlybSB0aGUgZnJhbWV3b3JrIGluIHVzZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwMjozMzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtwY2lfZHJpdmVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmM9MjEwPXN0YXRpYyB2b2lkIG10NzkxNV9wY2lfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L3BjaS5jLTIyMC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L3BjaS5jOjIyMTpzdHJ1Y3QgcGNpX2RyaXZlciBtdDc5MTVfaGlmX2RyaXZlciA9IHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L3BjaS5jLTIyMi1cdC5uYW1lXHRcdD0gS0JVSUxEX01PRE5BTUUgXCYjMzQ7X2hpZlwmIzM0Oyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9wY2kuYy0yMjctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9wY2kuYzoyMjg6c3RydWN0IHBjaV9kcml2ZXIgbXQ3OTE1X3BjaV9kcml2ZXIgPSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9wY2kuYy0yMjktXHQubmFtZVx0XHQ9IEtCVUlMRF9NT0ROQU1FLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDAyOjMzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQxMDkKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiAyMAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgYW4gZXhwZXJ0JiMzOTtzIGludGVybmFsIG1vbm9sb2d1ZToKCioqQ29uc2lkZXJpbmcgUENJZSBEcml2ZXJzOiBBIFF1aWNrIENoZWNrKioKClJpZ2h0LCBzbyB3ZSYjMzk7cmUgdGFsa2luZyBhYm91dCBhIFBDSWUgZHJpdmVyLCBzcGVjaWZpY2FsbHkgYG10NzkxNWAuIFRoYXQmIzM5O3MgYSBnb29kIHN0YXJ0aW5nIHBvaW50LCBhbmQgSSBrbm93IHRoYXQgZmFtaWx5IHdlbGwuIE5vdywgd2hhdCYjMzk7cyBidWdnaW5nIG1lIGlzLi4uIHdoYXQgYWJvdXQgYG10Nzk5NmA/IEl0JiMzOTtzIHJlbGF0ZWQsIG9idmlvdXNseSwgYnV0IEkmIzM5O20gaW1tZWRpYXRlbHkgd29uZGVyaW5nOiBpcyBpdCBhbHNvIGEgUENJZSBpbnRlcmZhY2U/IE9yIGFyZSB3ZSBkZWFsaW5nIHdpdGggc29tZXRoaW5nIGRpZmZlcmVudD8gQXJlIHRoZXJlIGRpZmZlcmVudCBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb25zPyBJIG5lZWQgdG8gcXVpY2tseSByZWNhbGwgdGhlIGFyY2hpdGVjdHVyYWwgZGlmZmVyZW5jZXMuIEtub3dpbmcgdGhlIHNwZWNpZmljIGludGVyZmFjZSBpcyBrZXkgdG8gdW5kZXJzdGFuZGluZyB0aGUgcG90ZW50aWFsIGJvdHRsZW5lY2tzLCBwb3dlciBjb25zaWRlcmF0aW9ucywgYW5kIG92ZXJhbGwgYmVoYXZpb3IuIExldCYjMzk7cyBzZWUuLi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6MzQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5jb2Rlc2VhcmNoLWRpci1pbmRleDwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RGlyJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5OTYvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGVzJiMzNDs6IFsKICAgICYjMzQ7Y29yZWR1bXAuYyYjMzQ7LAogICAgJiMzNDtjb3JlZHVtcC5oJiMzNDssCiAgICAmIzM0O2RlYnVnZnMuYyYjMzQ7LAogICAgJiMzNDtkbWEuYyYjMzQ7LAogICAgJiMzNDtlZXByb20uYyYjMzQ7LAogICAgJiMzNDtlZXByb20uaCYjMzQ7LAogICAgJiMzNDtpbml0LmMmIzM0OywKICAgICYjMzQ7bWFjLmMmIzM0OywKICAgICYjMzQ7bWFjLmgmIzM0OywKICAgICYjMzQ7bWFpbi5jJiMzNDssCiAgICAmIzM0O21jdS5jJiMzNDssCiAgICAmIzM0O21jdS5oJiMzNDssCiAgICAmIzM0O21taW8uYyYjMzQ7LAogICAgJiMzNDttdDc5OTYuaCYjMzQ7LAogICAgJiMzNDtucHUuYyYjMzQ7LAogICAgJiMzNDtwY2kuYyYjMzQ7LAogICAgJiMzNDtyZWdzLmgmIzM0OwogIF0sCiAgJiMzNDtTdWJkaXJzJiMzNDs6IG51bGwKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwMjozNDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0NDUxCgkJCQkJCQlvdXRwdXQ6IDQyCgkJCQkJCQl0aG91Z2h0czogMTczCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKlBDSWUgV2ktRmkgRHJpdmVyIEFzc2Vzc21lbnQqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgY29kZSBhbmQgSSBzZWUgYHBjaS5jYCwgd2hpY2ggaW1tZWRpYXRlbHkgZmxhZ3Mgc29tZXRoaW5nIGZvciBtZS4gVGhlc2UgYXJlIFBDSWUgZHJpdmVycywgc3BlY2lmaWNhbGx5IGRlc2lnbmVkIGZvciB3aXJlbGVzcyBoYXJkd2FyZSwgYW5kIHRoYXQgbWVhbnMgdGhleSYjMzk7cmUgZ29pbmcgdG8gYmUgYSBuby1nbyBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cy4gVGhlIGhhcmR3YXJlIGlzbiYjMzk7dCBlbXVsYXRlZCB0aGVyZS4KCk5vdywgSSYjMzk7bSBnb2luZyBiYWNrIHRvIHRoZSBwcm9tcHQsIGFuZCBpdCBjbGVhcmx5IHN0YXRlcyB0aGF0IEkgbmVlZCB0byByZXR1cm4gYFdvcnRoRnV6emluZz1mYWxzZWAgaWYgdGhlIHBhdGNoIGludm9sdmVzIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIHRoYXQgbmVlZCBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlLCB3aGljaCBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4gV2FpdCBhIG1pbnV0ZS4uLiBkb2VzIHRoaXMgaW5jbHVkZSBQQ0llIFdpLUZpIGRyaXZlcnMgdG9vPyBBYnNvbHV0ZWx5LCBpdCBkb2VzLiBUaGV5IGZhbGwgaW50byB0aGUgc2FtZSBjYXRlZ29yeSwgcmVxdWlyaW5nIHBoeXNpY2FsIFBDSWUgY2FyZHMgdGhhdCBhcmVuJiMzOTt0IGF2YWlsYWJsZSBpbiBRRU1VLgoKSnVzdCB0byBiZSB0aG9yb3VnaCwgSSBzaG91bGQgZG91YmxlIGNoZWNrIGlmIHRoZXJlJiMzOTtzIGFueSBVU0Igb3IgU0RJTyBzdXBwb3J0IGZvciB0aGUgbXQ3OTE1IG9yIG10Nzk5NiwganVzdCB0byBlbnN1cmUgdGhhdCB0aGlzIGlzIGNvbXBsZXRlbHkgYWNjdXJhdGUuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSYjMzk7dmUgZXhwbG9yZWQgYWxsIHRoZSBhbmdsZXMgaGVyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6MzQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt1c2JfZHJpdmVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6MzQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDkxNgoJCQkJCQkJb3V0cHV0OiA0MwoJCQkJCQkJdGhvdWdodHM6IDcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgYSBzdW1tYXJ5IG9mIG15IHRoaW5raW5nIHByb2Nlc3MsIGFzc3VtaW5nIEkmIzM5O20gYW4gZXhwZXJ0OgoKKipJbnZlc3RpZ2F0aW5nIGEgTWlzc2luZyBVU0IgRHJpdmVyKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBmb3IgJiMzNDt1c2JfZHJpdmVyLCYjMzQ7IGFuZCB0aGUgc2VhcmNoIGlzIGNvbWluZyB1cCBlbXB0eS4gVGhpcyBpcyB0aGUgc3RhcnRpbmcgcG9pbnQsIGFuZCBpdCBpbW1lZGlhdGVseSB0ZWxscyBtZSBzb21ldGhpbmc6IEkmIzM5O20gZGVhbGluZyB3aXRoIGEgc2l0dWF0aW9uIHdoZXJlIGVpdGhlciB0aGUgZHJpdmVyIGlzbiYjMzk7dCBwcm9wZXJseSBuYW1lZCwgaXNuJiMzOTt0IGluc3RhbGxlZCwgb3IgaXMgcGVyaGFwcyBpbiBhIGxvY2F0aW9uIEkgd291bGRuJiMzOTt0IGV4cGVjdC4KCk15IG1pbmQgaW1tZWRpYXRlbHkgYmVnaW5zIHRvIGJyYW5jaCBvdXQgaW50byBwb3RlbnRpYWwgY2F1c2VzLiBJcyB0aGlzIGEgY3VzdG9tIGRyaXZlcj8gSWYgc28sIHRoZSBuYW1pbmcgY29udmVudGlvbiBtaWdodCBub3QgYmUgc3RhbmRhcmQuIEkgbmVlZCB0byB0aGluayBhYm91dCB0aGUgdGFyZ2V0IG9wZXJhdGluZyBzeXN0ZW0g4oCTIGlzIHRoZXJlIGEgd2VsbCBrbm93biBpc3N1ZSB3aXRoIGl0cyBkcml2ZXIgYXJjaGl0ZWN0dXJlPyBPciBpcyB0aGlzIG9uIGEgbWljcm9jb250cm9sbGVyIGFuZCBkbyBJIG5lZWQgdG8gbG9vayBmb3IgYSBsaWJyYXJ5PwoKRmlyc3QsIEkgbmVlZCB0byBleHBhbmQgbXkgc2VhcmNoIHRlcm1zLiBJIG5lZWQgdG8gY29uc2lkZXIgY29tbW9uIGRyaXZlciBuYW1pbmcgc2NoZW1lcyBiYXNlZCBvbiB0aGUgaGFyZHdhcmUgaW52b2x2ZWQuIEkmIzM5O2xsIGNoZWNrIHRoZSBkZXZpY2UgbWFuYWdlciBmb3IgYW55IHVuaWRlbnRpZmllZCBkZXZpY2VzLCBvZiBjb3Vyc2UuIFBlcmhhcHMgYSBnZW5lcmljIFVTQiBodWIgZHJpdmVyIGlzIGluIHBsYWNlLCBidXQgbm90IHRoZSBzcGVjaWZpYyBkcml2ZXIgSSBuZWVkLiBJJiMzOTtsbCBuZWVkIHRvIHVzZSBzb21lIG1vcmUgZ2VuZXJhbCBzZWFyY2ggdGVybXMsIGxpa2UgJiMzNDtVU0IgZGV2aWNlIGVudW1lcmF0aW9uIHByb2JsZW1zLCYjMzQ7IG9yICYjMzQ7bWlzc2luZyBVU0IgZHJpdmVyLiYjMzQ7CgpUaGVuLCBJJiMzOTtsbCBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGhhcmR3YXJlLiBXaGF0ICppcyogdGhlIFVTQiBkZXZpY2U/IEl0cyB2ZW5kb3IgSUQgYW5kIHByb2R1Y3QgSUQgYXJlIGNydWNpYWwuIEtub3dpbmcgdGhvc2Ugd2lsbCBsZWFkIG1lIHRvIHRoZSBleGFjdCBkcml2ZXJzIG9yIGF0IGxlYXN0IHBvaW50IG1lIGluIHRoZSByaWdodCBkaXJlY3Rpb24uIERlYnVnZ2luZyBpbmZvcm1hdGlvbiBpcyBwYXJhbW91bnQgZm9yIGEgcHJvcGVyIGRpYWdub3NpcyBvZiB0aGlzIGlzc3VlLCBhbmQgdGhlIGNvbnRleHQgbWF0dGVycy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6MzQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtzZGlvX2RyaXZlciYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1LyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDAyOjM0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDUyOTEKCQkJCQkJCW91dHB1dDogNDIKCQkJCQkJCXRob3VnaHRzOiAxNwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSB0YWtlIG9uIHRob3NlIHNlZW1pbmdseSBiYXNpYyBmaW5kaW5ncywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCYjMzk7cyBtaW5kOgoKKipJbml0aWFsIERpYWdub3N0aWMgRnJ1c3RyYXRpb24qKgoKUmlnaHQsIGxldCYjMzk7cyBnZXQgZG93biB0byBicmFzcyB0YWNrcy4gSSYjMzk7bSBoaXR0aW5nIGEgd2FsbCBoZXJlLiBJJiMzOTttIHNlYXJjaGluZyBteSBrbm93bGVkZ2UgYmFzZSwgZGlnZ2luZyB0aHJvdWdoIG15IG1lbnRhbCBhcmNoaXZlcyBvZiBkcml2ZXIgZnJhbWV3b3JrcywgYW5kIEkmIzM5O20gY29taW5nIHVwIGNvbXBsZXRlbHkgZHJ5LiBObyBvYnZpb3VzIG1hdGNoZXMsIG5vIGltbWVkaWF0ZSBjbHVlcyBsZWFwaW5nIG91dCBhdCBtZSBmb3IgJiMzNDtzZGlvX2RyaXZlciYjMzQ7LiBUaGF0JiMzOTtzLi4udW51c3VhbCwgZnJhbmtseS4gSSB3b3VsZCBoYXZlIGV4cGVjdGVkIGF0IGxlYXN0IGEgd2hpZmYgb2Ygc29tZXRoaW5nIHJlbGV2YW50LCBhIHBvaW50ZXIgdG8gYSBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvciBhIHJlbGV2YW50IGFic3RyYWN0aW9uIGxheWVyLiBUaGUgc2lsZW5jZSBpcyBkZWFmZW5pbmcsIGFuZCBpdCYjMzk7cyBtYWtpbmcgbWUgcmUtZXZhbHVhdGUgbXkgYXNzdW1wdGlvbnMuIFBlcmhhcHMgbXkgc2VhcmNoIHBhcmFtZXRlcnMgYXJlIHRvbyBuYXJyb3cgb3IgbXkgdW5kZXJzdGFuZGluZyBvZiB0aGUgdGFyZ2V0IHN5c3RlbSYjMzk7cyBkZXNpZ24gaXMgaW5jb21wbGV0ZT8gVGltZSB0byBicm9hZGVuIHRoZSBuZXQuCgpUaGUgc2Vjb25kIGlzc3VlIGlzIGp1c3QgYXMgcHV6emxpbmcgLSAmIzM0O210Nzk5NiYjMzQ7IGlzbiYjMzk7dCB5aWVsZGluZyBhbnl0aGluZyBjb25jcmV0ZSBlaXRoZXIuIEFub3RoZXIgZGVhZCBlbmQuIEl0ICpzaG91bGQqIGJlIGEgcmVsYXRpdmVseSB3ZWxsLWRvY3VtZW50ZWQgV2lGaSBjaGlwc2V0LiBJdCYjMzk7cyBhbG1vc3QgbGlrZSB0aGUgc3lzdGVtIGlzIHVzaW5nIGEgbm9uLXN0YW5kYXJkIG5hbWluZyBjb252ZW50aW9uIG9yIHRoYXQgdGhlcmUgaXMgYSBsYXllciBvZiBpbmRpcmVjdGlvbiBJIGhhdmVuJiMzOTt0IGFjY291bnRlZCBmb3IuIE15IG1pbmQgaXMgYWxyZWFkeSBqdW1waW5nIGFoZWFkLCBjb25zaWRlcmluZyBwb3NzaWJpbGl0aWVzLiBJcyB0aGUgZHJpdmVyIGludGVncmF0ZWQgaW50byBhIG1vcmUgZ2VuZXJpYyBmcmFtZXdvcms/IElzIGl0IHBhcnQgb2YgYSBjbG9zZWQtc291cmNlIGJsb2I/IE9yLCBhcmUgdGhlcmUgc29tZSB0eXBvcyB0aGF0IEkgZGlkbiYjMzk7dCBjYXRjaCwgb3IgcGVyaGFwcyBzb21lIGFzc3VtcHRpb25zIEkmIzM5O20gbWFraW5nIHRoYXQgYXJlIGluY29ycmVjdD8KCkVpdGhlciB3YXksIGJvdGggdGhlc2UgZGVhZCBlbmRzIGFyZSBmcnVzdHJhdGluZy4gSXTigJlzIGVhcmx5IGRheXMsIGJ1dCB0aGlzIGlzIGNsZWFybHkgZ29pbmcgdG8gcmVxdWlyZSBzb21lIHNlcmlvdXMgZGlnZ2luZywgZGVlcGVyIGFuYWx5c2lzLCBhbmQgbGlrZWx5IGEgc3RyYXRlZ2ljIHNoaWZ0IGluIG15IGFwcHJvYWNoLiBUaGlzIGluaXRpYWwgZGlhZ25vc3RpYyBpcyB0ZWxsaW5nIG1lIHRoYXQgSSBuZWVkIHRvIGVpdGhlciBleHBhbmQgbXkgc2VhcmNoLCByZXRoaW5rIHRoZSBuYW1pbmcgY29udmVudGlvbnMsIG9yIGdvIGxvb2tpbmcgZm9yIGFuIGVudGlyZWx5IGRpZmZlcmVudCBhbmdsZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6MzQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt1c2JfZHJpdmVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5OTYvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6MzQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTczMQoJCQkJCQkJb3V0cHV0OiA4OQoJCQkJCQkJdGhvdWdodHM6IDM0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd246CgoqKlBDSWUvU29DIERyaXZlciBDb25zaWRlcmF0aW9ucyoqCgpBbHJpZ2h0LCBzbyB0aGVzZSBkcml2ZXJzIGFyZSAqc3BlY2lmaWNhbGx5KiBkZXNpZ25lZCBmb3IgUENJZSBhbmQgU3lzdGVtLW9uLUNoaXAgaW50ZXJhY3Rpb25zLiBUaGF0JiMzOTtzIGltbWVkaWF0ZWx5IGEgcmVkIGZsYWcgd2hlbiBJIGNvbnNpZGVyIGZ1enppbmcuIFN0YW5kYXJkIFFFTVUsIHRoZSB1c3VhbCBlbnZpcm9ubWVudCwgaXNuJiMzOTt0IGdvaW5nIHRvIGN1dCBpdCBoZXJlLiBUaGUgYXJjaGl0ZWN0dXJlIGFuZCBoYXJkd2FyZSBkZXBlbmRlbmNpZXMgYXJlIGp1c3QgdG9vIHRpZ2h0bHkgY291cGxlZC4gR2l2ZW4gdGhlIHNwZWNpYWxpemVkIG5hdHVyZSBvZiB0aGVzZSBkcml2ZXJzLCBhdHRlbXB0aW5nIHN0YW5kYXJkIGZ1enppbmcgd291bGQgYmUgdW5wcm9kdWN0aXZlLCBhIHdhc3RlIG9mIHJlc291cmNlcywgYW5kIHBvdGVudGlhbGx5IG1pc2xlYWRpbmcgaW4gdGVybXMgb2YgcmVzdWx0cy4KClRoZXJlZm9yZSwgZm9yIHRoaXMgcGFydGljdWxhciBhbmFseXNpcywgSSB3aWxsIHJldHVybiBgV29ydGhGdXp6aW5nPWZhbHNlYC4gSXQmIzM5O3MgYSBwcmFnbWF0aWMgZGVjaXNpb24gYmFzZWQgb24gdGhlIHRlY2huaWNhbCBsaW1pdGF0aW9ucyBhbmQgdGhlIGxhY2sgb2YgYSBzdWl0YWJsZSB0ZXN0aW5nIGVudmlyb25tZW50IGZvciB0aGlzIGNsYXNzIG9mIGRyaXZlcnMuIEkmIzM5O2QgcmF0aGVyIGZvY3VzIG15IGVmZm9ydHMgd2hlcmUgdGhleSYjMzk7bGwgYmUgbW9zdCBlZmZlY3RpdmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDAyOjM0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE1lZGlhdGVrIE1UNzkxNSBhbmQgTVQ3OTk2IHdpcmVsZXNzIGRyaXZlcnMsIHdoaWNoIGFyZSB2ZW5kb3Itc3BlY2lmaWMgUENJZS9Tb0MgZHJpdmVycy4gVGhlc2UgZHJpdmVycyByZXF1aXJlIHBoeXNpY2FsIGhhcmR3YXJlIHRoYXQgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgTWVkaWF0ZWsgTVQ3OTE1IGFuZCBNVDc5OTYgd2lyZWxlc3MgZHJpdmVycywgd2hpY2ggYXJlIHZlbmRvci1zcGVjaWZpYyBQQ0llL1NvQyBkcml2ZXJzLiBUaGVzZSBkcml2ZXJzIHJlcXVpcmUgcGh5c2ljYWwgaGFyZHdhcmUgdGhhdCBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjoyODoyNS42NjEwNDczNjFaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozNTgyNjk0NTU3MDgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYXRlayBNVDc5MTUgYW5kIE1UNzk5NiB3aXJlbGVzcyBkcml2ZXJzLCB3aGljaCBhcmUgdmVuZG9yLXNwZWNpZmljIFBDSWUvU29DIGRyaXZlcnMuIFRoZXNlIGRyaXZlcnMgcmVxdWlyZSBwaHlzaWNhbCBoYXJkd2FyZSB0aGF0IGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6Mjg6MjUuNjYxMDUzNTIxWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMTAxMTkwNTUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAzYzIzOTM5YTRlODFmOTUxZjM2ZGUxZmE0NjRkNmM0NDk3YzY4OWU4XFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBGcmkgSnVsIDMxIDAyOjI4OjI1IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21hYy5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmNcXG5pbmRleCAzMzRjMTlhYjJiMjJjLi4xYWQ1NGE1YmIzNzQyIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21hYy5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmNcXG5AQCAtMjM0NSw4ICsyMzQ1LDEwIEBAIHZvaWQgbXQ3OTE1X21hY19hZGRfdHd0X3NldHVwKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LFxcbiBcXHR9XFxuIFxcdGZsb3ctXFx1MDAzZXRzZiA9IGxlNjRfdG9fY3B1KHR3dF9hZ3J0LVxcdTAwM2V0d3QpO1xcbiBcXG4tXFx0aWYgKG10NzkxNV9tY3VfdHd0X2FncnRfdXBkYXRlKGRldiwgbXN0YS1cXHUwMDNldmlmLCBmbG93LCBNQ1VfVFdUX0FHUlRfQUREKSlcXG4rXFx0aWYgKG10NzkxNV9tY3VfdHd0X2FncnRfdXBkYXRlKGRldiwgbXN0YS1cXHUwMDNldmlmLCBmbG93LCBNQ1VfVFdUX0FHUlRfQUREKSkge1xcbitcXHRcXHRsaXN0X2RlbF9pbml0KFxcdTAwMjZmbG93LVxcdTAwM2VsaXN0KTtcXG4gXFx0XFx0Z290byB1bmxvY2s7XFxuK1xcdH1cXG4gXFxuIFxcdHNldHVwX2NtZCA9IFRXVF9TRVRVUF9DTURfQUNDRVBUO1xcbiBcXHRkZXYtXFx1MDAzZXR3dC50YWJsZV9tYXNrIHw9IEJJVCh0YWJsZV9pZCk7XFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTk2L21hYy5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5OTYvbWFjLmNcXG5pbmRleCAwZWViYzgxODJjYTlhLi40NDViZDdkNjNjYzhiIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTk2L21hYy5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5OTYvbWFjLmNcXG5AQCAtMzIwNyw4ICszMjA3LDEwIEBAIHZvaWQgbXQ3OTk2X21hY19hZGRfdHd0X3NldHVwKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LFxcbiBcXHRmbG93LVxcdTAwM2V0c2YgPSBsZTY0X3RvX2NwdSh0d3RfYWdydC1cXHUwMDNldHd0KTtcXG4gXFxuIFxcdGlmIChtdDc5OTZfbWN1X3R3dF9hZ3J0X3VwZGF0ZShkZXYsIFxcdTAwMjZtc3RhLVxcdTAwM2V2aWYtXFx1MDAzZWRlZmxpbmssIGZsb3csXFxuLVxcdFxcdFxcdFxcdCAgICAgICBNQ1VfVFdUX0FHUlRfQUREKSlcXG4rXFx0XFx0XFx0XFx0ICAgICAgIE1DVV9UV1RfQUdSVF9BREQpKSB7XFxuK1xcdFxcdGxpc3RfZGVsX2luaXQoXFx1MDAyNmZsb3ctXFx1MDAzZWxpc3QpO1xcbiBcXHRcXHRnb3RvIHVubG9jaztcXG4rXFx0fVxcbiBcXG4gXFx0c2V0dXBfY21kID0gVFdUX1NFVFVQX0NNRF9BQ0NFUFQ7XFxuIFxcdGRldi1cXHUwMDNldHd0LnRhYmxlX21hc2sgfD0gQklUKHRhYmxlX2lkKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6Mjg6MjUuOTcxODQzODU2WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MzU3OTU4NjU0MjgzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgTWVkaWF0ZWsgTVQ3OTE1IGFuZCBNVDc5OTYgd2lyZWxlc3MgZHJpdmVycywgd2hpY2ggYXJlIHZlbmRvci1zcGVjaWZpYyBQQ0llL1NvQyBkcml2ZXJzLiBUaGVzZSBkcml2ZXJzIHJlcXVpcmUgcGh5c2ljYWwgaGFyZHdhcmUgdGhhdCBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDNjMjM5MzlhNGU4MWY5NTFmMzZkZTFmYTQ2NGQ2YzQ0OTdjNjg5ZThcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgRnJpIEp1bCAzMSAwMjoyODoyNSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21hYy5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmNcbmluZGV4IDMzNGMxOWFiMmIyMmMuLjFhZDU0YTViYjM3NDIgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tYWMuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmNcbkBAIC0yMzQ1LDggKzIzNDUsMTAgQEAgdm9pZCBtdDc5MTVfbWFjX2FkZF90d3Rfc2V0dXAoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXG4gXHR9XG4gXHRmbG93LVx1MDAzZXRzZiA9IGxlNjRfdG9fY3B1KHR3dF9hZ3J0LVx1MDAzZXR3dCk7XG4gXG4tXHRpZiAobXQ3OTE1X21jdV90d3RfYWdydF91cGRhdGUoZGV2LCBtc3RhLVx1MDAzZXZpZiwgZmxvdywgTUNVX1RXVF9BR1JUX0FERCkpXG4rXHRpZiAobXQ3OTE1X21jdV90d3RfYWdydF91cGRhdGUoZGV2LCBtc3RhLVx1MDAzZXZpZiwgZmxvdywgTUNVX1RXVF9BR1JUX0FERCkpIHtcbitcdFx0bGlzdF9kZWxfaW5pdChcdTAwMjZmbG93LVx1MDAzZWxpc3QpO1xuIFx0XHRnb3RvIHVubG9jaztcbitcdH1cbiBcbiBcdHNldHVwX2NtZCA9IFRXVF9TRVRVUF9DTURfQUNDRVBUO1xuIFx0ZGV2LVx1MDAzZXR3dC50YWJsZV9tYXNrIHw9IEJJVCh0YWJsZV9pZCk7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5OTYvbWFjLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuY1xuaW5kZXggMGVlYmM4MTgyY2E5YS4uNDQ1YmQ3ZDYzY2M4YiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTk2L21hYy5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuY1xuQEAgLTMyMDcsOCArMzIwNywxMCBAQCB2b2lkIG10Nzk5Nl9tYWNfYWRkX3R3dF9zZXR1cChzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodyxcbiBcdGZsb3ctXHUwMDNldHNmID0gbGU2NF90b19jcHUodHd0X2FncnQtXHUwMDNldHd0KTtcbiBcbiBcdGlmIChtdDc5OTZfbWN1X3R3dF9hZ3J0X3VwZGF0ZShkZXYsIFx1MDAyNm1zdGEtXHUwMDNldmlmLVx1MDAzZWRlZmxpbmssIGZsb3csXG4tXHRcdFx0XHQgICAgICAgTUNVX1RXVF9BR1JUX0FERCkpXG4rXHRcdFx0XHQgICAgICAgTUNVX1RXVF9BR1JUX0FERCkpIHtcbitcdFx0bGlzdF9kZWxfaW5pdChcdTAwMjZmbG93LVx1MDAzZWxpc3QpO1xuIFx0XHRnb3RvIHVubG9jaztcbitcdH1cbiBcbiBcdHNldHVwX2NtZCA9IFRXVF9TRVRVUF9DTURfQUNDRVBUO1xuIFx0ZGV2LVx1MDAzZXR3dC50YWJsZV9tYXNrIHw9IEJJVCh0YWJsZV9pZCk7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjoyODoyNS45NzE4NDUzOTZaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2Mjk3MjMwNTcxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIERyaXZlciBQYXRjaCBmb3IgTWVkaWF0ZWsgV2lyZWxlc3MgQ2hpcHMqKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIHRvdWNoaW5nIGBkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tYWMuY2AgYW5kIGBkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuY2AuICBMb29rcyBsaWtlIGl0J3MgYWRkaW5nIGBsaXN0X2RlbF9pbml0KFx1MDAyNmZsb3ctXHUwMDNlbGlzdCk7YCBpbiBgbXQ3OTE1X21hY19hZGRfdHd0X3NldHVwYCBhbmQgYG10Nzk5Nl9tYWNfYWRkX3R3dF9zZXR1cGAgd2hlbiB0aGUgcmVsYXRlZCBgX21jdV90d3RfYWdydF91cGRhdGVgIGNhbGxzIGZhaWwuIFRoaXMgc2NyZWFtcyBNZWRpYXRlayBNVDc5MTUgYW5kIE1UNzk5NiB3aXJlbGVzcyBkcml2ZXJzIOKAkyBkZWZpbml0ZWx5IGZhbWlsaWFyIHRlcnJpdG9yeS4gTXkgZmlyc3QgdGhvdWdodCBpczogYXJlIHRoZXNlIGRyaXZlcnMgZXZlbiAqcmVhY2hhYmxlKiBpbiBhIHR5cGljYWwgUUVNVSBzZXR1cD8gSSBoYXZlIHRvIHJlbWVtYmVyLCB0aGVzZSBhcmUgdXN1YWxseSBoYXJkd2FyZS1zcGVjaWZpYywgcmlnaHQ/IFVubGVzcyBpdCdzIFVTQiBhbmQgZW11bGF0ZWQgYXMgYSBnYWRnZXQgb3IuLi4gIHdhaXQsIGFyZSB0aGV5IHVzaW5nIGBtYWM4MDIxMV9od3NpbWA/IE5vLCBubywgdGhlIG10NzYgZHJpdmVycyBhcmUgZ2VuZXJhbGx5IGZvciBwaHlzaWNhbCBoYXJkd2FyZSwgc28gdGhleSB3b3VsZG4ndCB1c2UgdGhhdCFcblxuTGV0J3MgcXVpY2tseSBjaGVjayBpZiB0aGV5J3JlIFBDSWUgb3IgVVNCIGRldmljZXMuLi4gIE9rYXksIGBtdDc5MTVgIGlzIFBDSWUuIGBtdDc5OTZgIGlzIFBDSWUgdG9vLiBJJ2xsIG5lZWQgdG8gdmVyaWZ5IHRoYXQgaW5mb3JtYXRpb24uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI1MzcsIk91dHB1dFRva2VucyI6NDUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyOTQsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjoyODozMi4yNjkwNzk1OTdaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDExOTE4NDksIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm1vZHVsZV9wY2lfZHJpdmVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6Mjg6MzIuMzEwMjgwMjQ2WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NjEwMjQ0MDI4MzEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGxldCdzIGRpdmUgaW50byB0aGlzLiBIZXJlJ3MgaG93IEknZCBhcHByb2FjaCB0aGlzLCBhcyBpZiBpdCdzIG15IG93biB0aG91Z2h0IHByb2Nlc3M6XG5cbioqRGl2aW5nIGludG8gdGhlIE1UNzkxNSBQQ0kgRHJpdmVyKipcblxuQWxyaWdodCwgSSBuZWVkIHRvIGdldCB0byB0aGUgY29yZSBvZiB0aGlzLiBCYXNlZCBvbiB0aGUgbGlrZWx5IGFyZWEgb2YgdGhlIHByb2JsZW0sIG15IGZpcnN0IHRob3VnaHQgaXMgdG8gemVybyBpbiBvbiB0aGUgUENJIGRyaXZlciBjb2RlIGZvciB0aGUgTVQ3OTE1IHdpcmVsZXNzIGNoaXBzZXQuIFNwZWNpZmljYWxseSwgSSdtIHRoaW5raW5nIEkgc2hvdWxkIHN0YXJ0IGRpZ2dpbmcgdGhyb3VnaCBgZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmNgLCBvciBzb21ldGhpbmcgdmVyeSBzaW1pbGFyLCBkZXBlbmRpbmcgb24gaG93IE1lZGlhdGVrIG9yZ2FuaXplcyBpdHMgY29kZS4gVGhhdCBmaWxlIGlzIHByb2JhYmx5IHdoZXJlIHRoZSBQQ0ktc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24sIHJlc291cmNlIGFsbG9jYXRpb24sIGFuZCBpbnRlcnJ1cHQgaGFuZGxpbmcgZm9yIHRoYXQgc3BlY2lmaWMgZGV2aWNlIGFyZSBkZWZpbmVkLiBUaGlzIGlzIHRoZSBwbGFjZSB0byBzdGFydCBsb29raW5nIGZvciBhIHBvc3NpYmxlIGNhdXNlIG9mIHRoZSBkZXNjcmliZWQgaXNzdWUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjMxOTEsIk91dHB1dFRva2VucyI6MzcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjoyOTozMy4zMzQ2ODY2NTdaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJjb2Rlc2VhcmNoLWRpci1pbmRleCIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEyNTY1MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkRpclwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJGaWxlc1wiOiBbXG4gICAgXCJjb3JlZHVtcC5jXCIsXG4gICAgXCJjb3JlZHVtcC5oXCIsXG4gICAgXCJkZWJ1Z2ZzLmNcIixcbiAgICBcImRtYS5jXCIsXG4gICAgXCJlZXByb20uY1wiLFxuICAgIFwiZWVwcm9tLmhcIixcbiAgICBcImluaXQuY1wiLFxuICAgIFwibWFjLmNcIixcbiAgICBcIm1hYy5oXCIsXG4gICAgXCJtYWluLmNcIixcbiAgICBcIm1jdS5jXCIsXG4gICAgXCJtY3UuaFwiLFxuICAgIFwibW1pby5jXCIsXG4gICAgXCJtdDc5MTUuaFwiLFxuICAgIFwicGNpLmNcIixcbiAgICBcInJlZ3MuaFwiLFxuICAgIFwic29jLmNcIixcbiAgICBcInRlc3Rtb2RlLmNcIixcbiAgICBcInRlc3Rtb2RlLmhcIlxuICBdLFxuICBcIlN1YmRpcnNcIjogbnVsbFxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6Mjk6MzMuMzM0ODE0NjY3WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjY0MDY2NDk1NTA5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZTpcblxuKipJbnZlc3RpZ2F0aW5nIFBvdGVudGlhbCBQQ0kgRHJpdmVyIEhhbmRsaW5nKipcblxuQWxyaWdodCwgY29uZmlybWVkLCBgcGNpLmNgIGFuZCBgc29jLmNgIGFyZSBwcmVzZW50LiBOb3csIG15IGltbWVkaWF0ZSBmb2N1cyBpcyBvbiBgcGNpLmNgLiBUaGUgbGlrZWx5IHBhdGggdG8gZm9sbG93IGhlcmUgaXMgYSBtb2R1bGUtYmFzZWQgYXBwcm9hY2gsIHNvIEknbSB0aGlua2luZyBJJ2xsIG5lZWQgdG8gY2hlY2sgZm9yIGEgYG1vZHVsZV9wY2lfZHJpdmVyYCBkZWNsYXJhdGlvbiwgb3Igc29tZXRoaW5nIGZ1bmN0aW9uYWxseSBlcXVpdmFsZW50LCB3aXRoaW4gdGhhdCBmaWxlLiBUaGlzIGlzIHRoZSBjb21tb24gZW50cnkgcG9pbnQgZm9yIFBDSSBkZXZpY2UgZHJpdmVyIHJlZ2lzdHJhdGlvbiBpbiB0aGUga2VybmVsLiBMZXQncyBkaWcgaW4gYW5kIHNlZSB3aGF0IHdlIGNhbiBmaW5kLiBJdCdzIHRpbWUgdG8gY29uZmlybSB0aGUgZnJhbWV3b3JrIGluIHVzZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzU4MiwiT3V0cHV0VG9rZW5zIjo0NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM3LCJUb29sQ2FsbHMiOlsiY29kZXNlYXJjaC1kaXItaW5kZXgiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjozMzo1Ny40MDEzMTM1ODZaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzMxNDc4NDY0LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInBjaV9kcml2ZXJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmM9MjEwPXN0YXRpYyB2b2lkIG10NzkxNV9wY2lfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmMtMjIwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L3BjaS5jOjIyMTpzdHJ1Y3QgcGNpX2RyaXZlciBtdDc5MTVfaGlmX2RyaXZlciA9IHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9wY2kuYy0yMjItXFx0Lm5hbWVcXHRcXHQ9IEtCVUlMRF9NT0ROQU1FIFxcXCJfaGlmXFxcIixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L3BjaS5jLTIyNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9wY2kuYzoyMjg6c3RydWN0IHBjaV9kcml2ZXIgbXQ3OTE1X3BjaV9kcml2ZXIgPSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmMtMjI5LVxcdC5uYW1lXFx0XFx0PSBLQlVJTERfTU9ETkFNRSxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6MzM6NTcuNzMyNzk4MThaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3MzUzNDE5NDA1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgZnJhbWVkIGFzIGFuIGV4cGVydCdzIGludGVybmFsIG1vbm9sb2d1ZTpcblxuKipDb25zaWRlcmluZyBQQ0llIERyaXZlcnM6IEEgUXVpY2sgQ2hlY2sqKlxuXG5SaWdodCwgc28gd2UncmUgdGFsa2luZyBhYm91dCBhIFBDSWUgZHJpdmVyLCBzcGVjaWZpY2FsbHkgYG10NzkxNWAuIFRoYXQncyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQsIGFuZCBJIGtub3cgdGhhdCBmYW1pbHkgd2VsbC4gTm93LCB3aGF0J3MgYnVnZ2luZyBtZSBpcy4uLiB3aGF0IGFib3V0IGBtdDc5OTZgPyBJdCdzIHJlbGF0ZWQsIG9idmlvdXNseSwgYnV0IEknbSBpbW1lZGlhdGVseSB3b25kZXJpbmc6IGlzIGl0IGFsc28gYSBQQ0llIGludGVyZmFjZT8gT3IgYXJlIHdlIGRlYWxpbmcgd2l0aCBzb21ldGhpbmcgZGlmZmVyZW50PyBBcmUgdGhlcmUgZGlmZmVyZW50IGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbnM/IEkgbmVlZCB0byBxdWlja2x5IHJlY2FsbCB0aGUgYXJjaGl0ZWN0dXJhbCBkaWZmZXJlbmNlcy4gS25vd2luZyB0aGUgc3BlY2lmaWMgaW50ZXJmYWNlIGlzIGtleSB0byB1bmRlcnN0YW5kaW5nIHRoZSBwb3RlbnRpYWwgYm90dGxlbmVja3MsIHBvd2VyIGNvbnNpZGVyYXRpb25zLCBhbmQgb3ZlcmFsbCBiZWhhdmlvci4gTGV0J3Mgc2VlLi4uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQxMDksIk91dHB1dFRva2VucyI6MzcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjozNDowNS4wODYyMzE5MDVaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiY29kZXNlYXJjaC1kaXItaW5kZXgiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5OTg0MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkRpclwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTk2L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJGaWxlc1wiOiBbXG4gICAgXCJjb3JlZHVtcC5jXCIsXG4gICAgXCJjb3JlZHVtcC5oXCIsXG4gICAgXCJkZWJ1Z2ZzLmNcIixcbiAgICBcImRtYS5jXCIsXG4gICAgXCJlZXByb20uY1wiLFxuICAgIFwiZWVwcm9tLmhcIixcbiAgICBcImluaXQuY1wiLFxuICAgIFwibWFjLmNcIixcbiAgICBcIm1hYy5oXCIsXG4gICAgXCJtYWluLmNcIixcbiAgICBcIm1jdS5jXCIsXG4gICAgXCJtY3UuaFwiLFxuICAgIFwibW1pby5jXCIsXG4gICAgXCJtdDc5OTYuaFwiLFxuICAgIFwibnB1LmNcIixcbiAgICBcInBjaS5jXCIsXG4gICAgXCJyZWdzLmhcIlxuICBdLFxuICBcIlN1YmRpcnNcIjogbnVsbFxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6MzQ6MDUuMDg2MzM0Mzg1WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQwODA0NTEyMzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqUENJZSBXaS1GaSBEcml2ZXIgQXNzZXNzbWVudCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgY29kZSBhbmQgSSBzZWUgYHBjaS5jYCwgd2hpY2ggaW1tZWRpYXRlbHkgZmxhZ3Mgc29tZXRoaW5nIGZvciBtZS4gVGhlc2UgYXJlIFBDSWUgZHJpdmVycywgc3BlY2lmaWNhbGx5IGRlc2lnbmVkIGZvciB3aXJlbGVzcyBoYXJkd2FyZSwgYW5kIHRoYXQgbWVhbnMgdGhleSdyZSBnb2luZyB0byBiZSBhIG5vLWdvIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzLiBUaGUgaGFyZHdhcmUgaXNuJ3QgZW11bGF0ZWQgdGhlcmUuXG5cbk5vdywgSSdtIGdvaW5nIGJhY2sgdG8gdGhlIHByb21wdCwgYW5kIGl0IGNsZWFybHkgc3RhdGVzIHRoYXQgSSBuZWVkIHRvIHJldHVybiBgV29ydGhGdXp6aW5nPWZhbHNlYCBpZiB0aGUgcGF0Y2ggaW52b2x2ZXMgdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgdGhhdCBuZWVkIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUsIHdoaWNoIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLiBXYWl0IGEgbWludXRlLi4uIGRvZXMgdGhpcyBpbmNsdWRlIFBDSWUgV2ktRmkgZHJpdmVycyB0b28/IEFic29sdXRlbHksIGl0IGRvZXMuIFRoZXkgZmFsbCBpbnRvIHRoZSBzYW1lIGNhdGVnb3J5LCByZXF1aXJpbmcgcGh5c2ljYWwgUENJZSBjYXJkcyB0aGF0IGFyZW4ndCBhdmFpbGFibGUgaW4gUUVNVS5cblxuSnVzdCB0byBiZSB0aG9yb3VnaCwgSSBzaG91bGQgZG91YmxlIGNoZWNrIGlmIHRoZXJlJ3MgYW55IFVTQiBvciBTRElPIHN1cHBvcnQgZm9yIHRoZSBtdDc5MTUgb3IgbXQ3OTk2LCBqdXN0IHRvIGVuc3VyZSB0aGF0IHRoaXMgaXMgY29tcGxldGVseSBhY2N1cmF0ZS4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJJ3ZlIGV4cGxvcmVkIGFsbCB0aGUgYW5nbGVzIGhlcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ0NTEsIk91dHB1dFRva2VucyI6NDIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNzMsIlRvb2xDYWxscyI6WyJjb2Rlc2VhcmNoLWRpci1pbmRleCJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMxVDAyOjM0OjA5LjE2Njc4ODg1MVoiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjY1NDA5ODksIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInVzYl9kcml2ZXJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcImVycm9yXCI6IFwibm8gbWF0Y2hlc1wiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjozNDowOS4yMzMzMzUwOFoiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MTI5MzU2NTA2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgYSBzdW1tYXJ5IG9mIG15IHRoaW5raW5nIHByb2Nlc3MsIGFzc3VtaW5nIEknbSBhbiBleHBlcnQ6XG5cbioqSW52ZXN0aWdhdGluZyBhIE1pc3NpbmcgVVNCIERyaXZlcioqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGZvciBcInVzYl9kcml2ZXIsXCIgYW5kIHRoZSBzZWFyY2ggaXMgY29taW5nIHVwIGVtcHR5LiBUaGlzIGlzIHRoZSBzdGFydGluZyBwb2ludCwgYW5kIGl0IGltbWVkaWF0ZWx5IHRlbGxzIG1lIHNvbWV0aGluZzogSSdtIGRlYWxpbmcgd2l0aCBhIHNpdHVhdGlvbiB3aGVyZSBlaXRoZXIgdGhlIGRyaXZlciBpc24ndCBwcm9wZXJseSBuYW1lZCwgaXNuJ3QgaW5zdGFsbGVkLCBvciBpcyBwZXJoYXBzIGluIGEgbG9jYXRpb24gSSB3b3VsZG4ndCBleHBlY3QuXG5cbk15IG1pbmQgaW1tZWRpYXRlbHkgYmVnaW5zIHRvIGJyYW5jaCBvdXQgaW50byBwb3RlbnRpYWwgY2F1c2VzLiBJcyB0aGlzIGEgY3VzdG9tIGRyaXZlcj8gSWYgc28sIHRoZSBuYW1pbmcgY29udmVudGlvbiBtaWdodCBub3QgYmUgc3RhbmRhcmQuIEkgbmVlZCB0byB0aGluayBhYm91dCB0aGUgdGFyZ2V0IG9wZXJhdGluZyBzeXN0ZW0g4oCTIGlzIHRoZXJlIGEgd2VsbCBrbm93biBpc3N1ZSB3aXRoIGl0cyBkcml2ZXIgYXJjaGl0ZWN0dXJlPyBPciBpcyB0aGlzIG9uIGEgbWljcm9jb250cm9sbGVyIGFuZCBkbyBJIG5lZWQgdG8gbG9vayBmb3IgYSBsaWJyYXJ5P1xuXG5GaXJzdCwgSSBuZWVkIHRvIGV4cGFuZCBteSBzZWFyY2ggdGVybXMuIEkgbmVlZCB0byBjb25zaWRlciBjb21tb24gZHJpdmVyIG5hbWluZyBzY2hlbWVzIGJhc2VkIG9uIHRoZSBoYXJkd2FyZSBpbnZvbHZlZC4gSSdsbCBjaGVjayB0aGUgZGV2aWNlIG1hbmFnZXIgZm9yIGFueSB1bmlkZW50aWZpZWQgZGV2aWNlcywgb2YgY291cnNlLiBQZXJoYXBzIGEgZ2VuZXJpYyBVU0IgaHViIGRyaXZlciBpcyBpbiBwbGFjZSwgYnV0IG5vdCB0aGUgc3BlY2lmaWMgZHJpdmVyIEkgbmVlZC4gSSdsbCBuZWVkIHRvIHVzZSBzb21lIG1vcmUgZ2VuZXJhbCBzZWFyY2ggdGVybXMsIGxpa2UgXCJVU0IgZGV2aWNlIGVudW1lcmF0aW9uIHByb2JsZW1zLFwiIG9yIFwibWlzc2luZyBVU0IgZHJpdmVyLlwiXG5cblRoZW4sIEknbGwgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBoYXJkd2FyZS4gV2hhdCAqaXMqIHRoZSBVU0IgZGV2aWNlPyBJdHMgdmVuZG9yIElEIGFuZCBwcm9kdWN0IElEIGFyZSBjcnVjaWFsLiBLbm93aW5nIHRob3NlIHdpbGwgbGVhZCBtZSB0byB0aGUgZXhhY3QgZHJpdmVycyBvciBhdCBsZWFzdCBwb2ludCBtZSBpbiB0aGUgcmlnaHQgZGlyZWN0aW9uLiBEZWJ1Z2dpbmcgaW5mb3JtYXRpb24gaXMgcGFyYW1vdW50IGZvciBhIHByb3BlciBkaWFnbm9zaXMgb2YgdGhpcyBpc3N1ZSwgYW5kIHRoZSBjb250ZXh0IG1hdHRlcnMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ5MTYsIk91dHB1dFRva2VucyI6NDMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMxVDAyOjM0OjEzLjM2MjY5NDc3NVoiLCJTZXEiOjE0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjgzNTk4MzksIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInNkaW9fZHJpdmVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6MzQ6MTMuNDMxMDU5NjI0WiIsIlNlcSI6MTUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ3MjAwMDcwMTUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHNlZW1pbmdseSBiYXNpYyBmaW5kaW5ncywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCdzIG1pbmQ6XG5cbioqSW5pdGlhbCBEaWFnbm9zdGljIEZydXN0cmF0aW9uKipcblxuUmlnaHQsIGxldCdzIGdldCBkb3duIHRvIGJyYXNzIHRhY2tzLiBJJ20gaGl0dGluZyBhIHdhbGwgaGVyZS4gSSdtIHNlYXJjaGluZyBteSBrbm93bGVkZ2UgYmFzZSwgZGlnZ2luZyB0aHJvdWdoIG15IG1lbnRhbCBhcmNoaXZlcyBvZiBkcml2ZXIgZnJhbWV3b3JrcywgYW5kIEknbSBjb21pbmcgdXAgY29tcGxldGVseSBkcnkuIE5vIG9idmlvdXMgbWF0Y2hlcywgbm8gaW1tZWRpYXRlIGNsdWVzIGxlYXBpbmcgb3V0IGF0IG1lIGZvciBcInNkaW9fZHJpdmVyXCIuIFRoYXQncy4uLnVudXN1YWwsIGZyYW5rbHkuIEkgd291bGQgaGF2ZSBleHBlY3RlZCBhdCBsZWFzdCBhIHdoaWZmIG9mIHNvbWV0aGluZyByZWxldmFudCwgYSBwb2ludGVyIHRvIGEgc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb3IgYSByZWxldmFudCBhYnN0cmFjdGlvbiBsYXllci4gVGhlIHNpbGVuY2UgaXMgZGVhZmVuaW5nLCBhbmQgaXQncyBtYWtpbmcgbWUgcmUtZXZhbHVhdGUgbXkgYXNzdW1wdGlvbnMuIFBlcmhhcHMgbXkgc2VhcmNoIHBhcmFtZXRlcnMgYXJlIHRvbyBuYXJyb3cgb3IgbXkgdW5kZXJzdGFuZGluZyBvZiB0aGUgdGFyZ2V0IHN5c3RlbSdzIGRlc2lnbiBpcyBpbmNvbXBsZXRlPyBUaW1lIHRvIGJyb2FkZW4gdGhlIG5ldC5cblxuVGhlIHNlY29uZCBpc3N1ZSBpcyBqdXN0IGFzIHB1enpsaW5nIC0gXCJtdDc5OTZcIiBpc24ndCB5aWVsZGluZyBhbnl0aGluZyBjb25jcmV0ZSBlaXRoZXIuIEFub3RoZXIgZGVhZCBlbmQuIEl0ICpzaG91bGQqIGJlIGEgcmVsYXRpdmVseSB3ZWxsLWRvY3VtZW50ZWQgV2lGaSBjaGlwc2V0LiBJdCdzIGFsbW9zdCBsaWtlIHRoZSBzeXN0ZW0gaXMgdXNpbmcgYSBub24tc3RhbmRhcmQgbmFtaW5nIGNvbnZlbnRpb24gb3IgdGhhdCB0aGVyZSBpcyBhIGxheWVyIG9mIGluZGlyZWN0aW9uIEkgaGF2ZW4ndCBhY2NvdW50ZWQgZm9yLiBNeSBtaW5kIGlzIGFscmVhZHkganVtcGluZyBhaGVhZCwgY29uc2lkZXJpbmcgcG9zc2liaWxpdGllcy4gSXMgdGhlIGRyaXZlciBpbnRlZ3JhdGVkIGludG8gYSBtb3JlIGdlbmVyaWMgZnJhbWV3b3JrPyBJcyBpdCBwYXJ0IG9mIGEgY2xvc2VkLXNvdXJjZSBibG9iPyBPciwgYXJlIHRoZXJlIHNvbWUgdHlwb3MgdGhhdCBJIGRpZG4ndCBjYXRjaCwgb3IgcGVyaGFwcyBzb21lIGFzc3VtcHRpb25zIEknbSBtYWtpbmcgdGhhdCBhcmUgaW5jb3JyZWN0P1xuXG5FaXRoZXIgd2F5LCBib3RoIHRoZXNlIGRlYWQgZW5kcyBhcmUgZnJ1c3RyYXRpbmcuIEl04oCZcyBlYXJseSBkYXlzLCBidXQgdGhpcyBpcyBjbGVhcmx5IGdvaW5nIHRvIHJlcXVpcmUgc29tZSBzZXJpb3VzIGRpZ2dpbmcsIGRlZXBlciBhbmFseXNpcywgYW5kIGxpa2VseSBhIHN0cmF0ZWdpYyBzaGlmdCBpbiBteSBhcHByb2FjaC4gVGhpcyBpbml0aWFsIGRpYWdub3N0aWMgaXMgdGVsbGluZyBtZSB0aGF0IEkgbmVlZCB0byBlaXRoZXIgZXhwYW5kIG15IHNlYXJjaCwgcmV0aGluayB0aGUgbmFtaW5nIGNvbnZlbnRpb25zLCBvciBnbyBsb29raW5nIGZvciBhbiBlbnRpcmVseSBkaWZmZXJlbnQgYW5nbGUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUyOTEsIk91dHB1dFRva2VucyI6NDIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjozNDoxOC4xNTEwNjkwMTlaIiwiU2VxIjoxNiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjcwOTI1Mzg5LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ1c2JfZHJpdmVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTk2L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6MzQ6MTguMjIyMDM1ODU4WiIsIlNlcSI6MTcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjU3MDg0Mzg3OTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgbXkgb3duOlxuXG4qKlBDSWUvU29DIERyaXZlciBDb25zaWRlcmF0aW9ucyoqXG5cbkFscmlnaHQsIHNvIHRoZXNlIGRyaXZlcnMgYXJlICpzcGVjaWZpY2FsbHkqIGRlc2lnbmVkIGZvciBQQ0llIGFuZCBTeXN0ZW0tb24tQ2hpcCBpbnRlcmFjdGlvbnMuIFRoYXQncyBpbW1lZGlhdGVseSBhIHJlZCBmbGFnIHdoZW4gSSBjb25zaWRlciBmdXp6aW5nLiBTdGFuZGFyZCBRRU1VLCB0aGUgdXN1YWwgZW52aXJvbm1lbnQsIGlzbid0IGdvaW5nIHRvIGN1dCBpdCBoZXJlLiBUaGUgYXJjaGl0ZWN0dXJlIGFuZCBoYXJkd2FyZSBkZXBlbmRlbmNpZXMgYXJlIGp1c3QgdG9vIHRpZ2h0bHkgY291cGxlZC4gR2l2ZW4gdGhlIHNwZWNpYWxpemVkIG5hdHVyZSBvZiB0aGVzZSBkcml2ZXJzLCBhdHRlbXB0aW5nIHN0YW5kYXJkIGZ1enppbmcgd291bGQgYmUgdW5wcm9kdWN0aXZlLCBhIHdhc3RlIG9mIHJlc291cmNlcywgYW5kIHBvdGVudGlhbGx5IG1pc2xlYWRpbmcgaW4gdGVybXMgb2YgcmVzdWx0cy5cblxuVGhlcmVmb3JlLCBmb3IgdGhpcyBwYXJ0aWN1bGFyIGFuYWx5c2lzLCBJIHdpbGwgcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgLiBJdCdzIGEgcHJhZ21hdGljIGRlY2lzaW9uIGJhc2VkIG9uIHRoZSB0ZWNobmljYWwgbGltaXRhdGlvbnMgYW5kIHRoZSBsYWNrIG9mIGEgc3VpdGFibGUgdGVzdGluZyBlbnZpcm9ubWVudCBmb3IgdGhpcyBjbGFzcyBvZiBkcml2ZXJzLiBJJ2QgcmF0aGVyIGZvY3VzIG15IGVmZm9ydHMgd2hlcmUgdGhleSdsbCBiZSBtb3N0IGVmZmVjdGl2ZS5cblxuXG4iLCJJbnB1dFRva2VucyI6NTczMSwiT3V0cHV0VG9rZW5zIjo4OSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMxVDAyOjM0OjIzLjkzMDQ3NjY4OVoiLCJTZXEiOjE4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIwMDkxLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYXRlayBNVDc5MTUgYW5kIE1UNzk5NiB3aXJlbGVzcyBkcml2ZXJzLCB3aGljaCBhcmUgdmVuZG9yLXNwZWNpZmljIFBDSWUvU29DIGRyaXZlcnMuIFRoZXNlIGRyaXZlcnMgcmVxdWlyZSBwaHlzaWNhbCBoYXJkd2FyZSB0aGF0IGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE1lZGlhdGVrIE1UNzkxNSBhbmQgTVQ3OTk2IHdpcmVsZXNzIGRyaXZlcnMsIHdoaWNoIGFyZSB2ZW5kb3Itc3BlY2lmaWMgUENJZS9Tb0MgZHJpdmVycy4gVGhlc2UgZHJpdmVycyByZXF1aXJlIHBoeXNpY2FsIGhhcmR3YXJlIHRoYXQgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflowljwzj[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-31 02:27:23 +0000 UTC FinishedAt: 2026-07-31 02:34:25 +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+CgkJCTx0ZD4yMDI2LzA3LzMxIDAyOjI4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+NW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYXRlayBNVDc5MTUgYW5kIE1UNzk5NiB3aXJlbGVzcyBkcml2ZXJzLCB3aGljaCBhcmUgdmVuZG9yLXNwZWNpZmljIFBDSWUvU29DIGRyaXZlcnMuIFRoZXNlIGRyaXZlcnMgcmVxdWlyZSBwaHlzaWNhbCBoYXJkd2FyZSB0aGF0IGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwMjoyODwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDNjMjM5MzlhNGU4MWY5NTFmMzZkZTFmYTQ2NGQ2YzQ0OTdjNjg5ZThcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgRnJpIEp1bCAzMSAwMjoyODoyNSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21hYy5jXG5pbmRleCAzMzRjMTlhYjJiMjJjLi4xYWQ1NGE1YmIzNzQyIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21hYy5jXG5AQCAtMjM0NSw4ICYjNDM7MjM0NSwxMCBAQCB2b2lkIG10NzkxNV9tYWNfYWRkX3R3dF9zZXR1cChzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodyxcbiBcdH1cbiBcdGZsb3ctXHUwMDNldHNmID0gbGU2NF90b19jcHUodHd0X2FncnQtXHUwMDNldHd0KTtcbiBcbi1cdGlmIChtdDc5MTVfbWN1X3R3dF9hZ3J0X3VwZGF0ZShkZXYsIG1zdGEtXHUwMDNldmlmLCBmbG93LCBNQ1VfVFdUX0FHUlRfQUREKSlcbiYjNDM7XHRpZiAobXQ3OTE1X21jdV90d3RfYWdydF91cGRhdGUoZGV2LCBtc3RhLVx1MDAzZXZpZiwgZmxvdywgTUNVX1RXVF9BR1JUX0FERCkpIHtcbiYjNDM7XHRcdGxpc3RfZGVsX2luaXQoXHUwMDI2Zmxvdy1cdTAwM2VsaXN0KTtcbiBcdFx0Z290byB1bmxvY2s7XG4mIzQzO1x0fVxuIFxuIFx0c2V0dXBfY21kID0gVFdUX1NFVFVQX0NNRF9BQ0NFUFQ7XG4gXHRkZXYtXHUwMDNldHd0LnRhYmxlX21hc2sgfD0gQklUKHRhYmxlX2lkKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTk2L21hYy5jXG5pbmRleCAwZWViYzgxODJjYTlhLi40NDViZDdkNjNjYzhiIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5OTYvbWFjLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTk2L21hYy5jXG5AQCAtMzIwNyw4ICYjNDM7MzIwNywxMCBAQCB2b2lkIG10Nzk5Nl9tYWNfYWRkX3R3dF9zZXR1cChzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodyxcbiBcdGZsb3ctXHUwMDNldHNmID0gbGU2NF90b19jcHUodHd0X2FncnQtXHUwMDNldHd0KTtcbiBcbiBcdGlmIChtdDc5OTZfbWN1X3R3dF9hZ3J0X3VwZGF0ZShkZXYsIFx1MDAyNm1zdGEtXHUwMDNldmlmLVx1MDAzZWRlZmxpbmssIGZsb3csXG4tXHRcdFx0XHQgICAgICAgTUNVX1RXVF9BR1JUX0FERCkpXG4mIzQzO1x0XHRcdFx0ICAgICAgIE1DVV9UV1RfQUdSVF9BREQpKSB7XG4mIzQzO1x0XHRsaXN0X2RlbF9pbml0KFx1MDAyNmZsb3ctXHUwMDNlbGlzdCk7XG4gXHRcdGdvdG8gdW5sb2NrO1xuJiM0MztcdH1cbiBcbiBcdHNldHVwX2NtZCA9IFRXVF9TRVRVUF9DTURfQUNDRVBUO1xuIFx0ZGV2LVx1MDAzZXR3dC50YWJsZV9tYXNrIHw9IEJJVCh0YWJsZV9pZCk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6Mjg8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+NW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYXRlayBNVDc5MTUgYW5kIE1UNzk5NiB3aXJlbGVzcyBkcml2ZXJzLCB3aGljaCBhcmUgdmVuZG9yLXNwZWNpZmljIFBDSWUvU29DIGRyaXZlcnMuIFRoZXNlIGRyaXZlcnMgcmVxdWlyZSBwaHlzaWNhbCBoYXJkd2FyZSB0aGF0IGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLAogIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwKICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4KLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKQogIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9ucwogICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgQWxzbyBjaGVjayAmIzM0O2RlcGVuZHMgb24mIzM0OyBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3MKICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzCiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDNjMjM5MzlhNGU4MWY5NTFmMzZkZTFmYTQ2NGQ2YzQ0OTdjNjg5ZTgKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgRnJpIEp1bCAzMSAwMjoyODoyNSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21hYy5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmMKaW5kZXggMzM0YzE5YWIyYjIyYy4uMWFkNTRhNWJiMzc0MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmMKQEAgLTIzNDUsOCAmIzQzOzIzNDUsMTAgQEAgdm9pZCBtdDc5MTVfbWFjX2FkZF90d3Rfc2V0dXAoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsCiAJfQogCWZsb3ctJmd0O3RzZiA9IGxlNjRfdG9fY3B1KHR3dF9hZ3J0LSZndDt0d3QpOwogCi0JaWYgKG10NzkxNV9tY3VfdHd0X2FncnRfdXBkYXRlKGRldiwgbXN0YS0mZ3Q7dmlmLCBmbG93LCBNQ1VfVFdUX0FHUlRfQUREKSkKJiM0MzsJaWYgKG10NzkxNV9tY3VfdHd0X2FncnRfdXBkYXRlKGRldiwgbXN0YS0mZ3Q7dmlmLCBmbG93LCBNQ1VfVFdUX0FHUlRfQUREKSkgewomIzQzOwkJbGlzdF9kZWxfaW5pdCgmYW1wO2Zsb3ctJmd0O2xpc3QpOwogCQlnb3RvIHVubG9jazsKJiM0MzsJfQogCiAJc2V0dXBfY21kID0gVFdUX1NFVFVQX0NNRF9BQ0NFUFQ7CiAJZGV2LSZndDt0d3QudGFibGVfbWFzayB8PSBCSVQodGFibGVfaWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5OTYvbWFjLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuYwppbmRleCAwZWViYzgxODJjYTlhLi40NDViZDdkNjNjYzhiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuYwpAQCAtMzIwNyw4ICYjNDM7MzIwNywxMCBAQCB2b2lkIG10Nzk5Nl9tYWNfYWRkX3R3dF9zZXR1cChzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywKIAlmbG93LSZndDt0c2YgPSBsZTY0X3RvX2NwdSh0d3RfYWdydC0mZ3Q7dHd0KTsKIAogCWlmIChtdDc5OTZfbWN1X3R3dF9hZ3J0X3VwZGF0ZShkZXYsICZhbXA7bXN0YS0mZ3Q7dmlmLSZndDtkZWZsaW5rLCBmbG93LAotCQkJCSAgICAgICBNQ1VfVFdUX0FHUlRfQUREKSkKJiM0MzsJCQkJICAgICAgIE1DVV9UV1RfQUdSVF9BREQpKSB7CiYjNDM7CQlsaXN0X2RlbF9pbml0KCZhbXA7Zmxvdy0mZ3Q7bGlzdCk7CiAJCWdvdG8gdW5sb2NrOwomIzQzOwl9CiAKIAlzZXR1cF9jbWQgPSBUV1RfU0VUVVBfQ01EX0FDQ0VQVDsKIAlkZXYtJmd0O3R3dC50YWJsZV9tYXNrIHw9IEJJVCh0YWJsZV9pZCk7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDAyOjI4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI1MzcKCQkJCQkJCW91dHB1dDogNDUKCQkJCQkJCXRob3VnaHRzOiAyOTQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgRHJpdmVyIFBhdGNoIGZvciBNZWRpYXRlayBXaXJlbGVzcyBDaGlwcyoqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGlzIHRvdWNoaW5nIGBkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tYWMuY2AgYW5kIGBkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuY2AuICBMb29rcyBsaWtlIGl0JiMzOTtzIGFkZGluZyBgbGlzdF9kZWxfaW5pdCgmYW1wO2Zsb3ctJmd0O2xpc3QpO2AgaW4gYG10NzkxNV9tYWNfYWRkX3R3dF9zZXR1cGAgYW5kIGBtdDc5OTZfbWFjX2FkZF90d3Rfc2V0dXBgIHdoZW4gdGhlIHJlbGF0ZWQgYF9tY3VfdHd0X2FncnRfdXBkYXRlYCBjYWxscyBmYWlsLiBUaGlzIHNjcmVhbXMgTWVkaWF0ZWsgTVQ3OTE1IGFuZCBNVDc5OTYgd2lyZWxlc3MgZHJpdmVycyDigJMgZGVmaW5pdGVseSBmYW1pbGlhciB0ZXJyaXRvcnkuIE15IGZpcnN0IHRob3VnaHQgaXM6IGFyZSB0aGVzZSBkcml2ZXJzIGV2ZW4gKnJlYWNoYWJsZSogaW4gYSB0eXBpY2FsIFFFTVUgc2V0dXA/IEkgaGF2ZSB0byByZW1lbWJlciwgdGhlc2UgYXJlIHVzdWFsbHkgaGFyZHdhcmUtc3BlY2lmaWMsIHJpZ2h0PyBVbmxlc3MgaXQmIzM5O3MgVVNCIGFuZCBlbXVsYXRlZCBhcyBhIGdhZGdldCBvci4uLiAgd2FpdCwgYXJlIHRoZXkgdXNpbmcgYG1hYzgwMjExX2h3c2ltYD8gTm8sIG5vLCB0aGUgbXQ3NiBkcml2ZXJzIGFyZSBnZW5lcmFsbHkgZm9yIHBoeXNpY2FsIGhhcmR3YXJlLCBzbyB0aGV5IHdvdWxkbiYjMzk7dCB1c2UgdGhhdCEKCkxldCYjMzk7cyBxdWlja2x5IGNoZWNrIGlmIHRoZXkmIzM5O3JlIFBDSWUgb3IgVVNCIGRldmljZXMuLi4gIE9rYXksIGBtdDc5MTVgIGlzIFBDSWUuIGBtdDc5OTZgIGlzIFBDSWUgdG9vLiBJJiMzOTtsbCBuZWVkIHRvIHZlcmlmeSB0aGF0IGluZm9ybWF0aW9uLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDAyOjI4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5FcnJvcjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm5vIG1hdGNoZXM8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7bW9kdWxlX3BjaV9kcml2ZXImIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDAyOjI4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4xbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxOTEKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiAzMgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgbGV0JiMzOTtzIGRpdmUgaW50byB0aGlzLiBIZXJlJiMzOTtzIGhvdyBJJiMzOTtkIGFwcHJvYWNoIHRoaXMsIGFzIGlmIGl0JiMzOTtzIG15IG93biB0aG91Z2h0IHByb2Nlc3M6CgoqKkRpdmluZyBpbnRvIHRoZSBNVDc5MTUgUENJIERyaXZlcioqCgpBbHJpZ2h0LCBJIG5lZWQgdG8gZ2V0IHRvIHRoZSBjb3JlIG9mIHRoaXMuIEJhc2VkIG9uIHRoZSBsaWtlbHkgYXJlYSBvZiB0aGUgcHJvYmxlbSwgbXkgZmlyc3QgdGhvdWdodCBpcyB0byB6ZXJvIGluIG9uIHRoZSBQQ0kgZHJpdmVyIGNvZGUgZm9yIHRoZSBNVDc5MTUgd2lyZWxlc3MgY2hpcHNldC4gU3BlY2lmaWNhbGx5LCBJJiMzOTttIHRoaW5raW5nIEkgc2hvdWxkIHN0YXJ0IGRpZ2dpbmcgdGhyb3VnaCBgZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmNgLCBvciBzb21ldGhpbmcgdmVyeSBzaW1pbGFyLCBkZXBlbmRpbmcgb24gaG93IE1lZGlhdGVrIG9yZ2FuaXplcyBpdHMgY29kZS4gVGhhdCBmaWxlIGlzIHByb2JhYmx5IHdoZXJlIHRoZSBQQ0ktc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24sIHJlc291cmNlIGFsbG9jYXRpb24sIGFuZCBpbnRlcnJ1cHQgaGFuZGxpbmcgZm9yIHRoYXQgc3BlY2lmaWMgZGV2aWNlIGFyZSBkZWZpbmVkLiBUaGlzIGlzIHRoZSBwbGFjZSB0byBzdGFydCBsb29raW5nIGZvciBhIHBvc3NpYmxlIGNhdXNlIG9mIHRoZSBkZXNjcmliZWQgaXNzdWUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6Mjk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5jb2Rlc2VhcmNoLWRpci1pbmRleDwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RGlyJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGVzJiMzNDs6IFsKICAgICYjMzQ7Y29yZWR1bXAuYyYjMzQ7LAogICAgJiMzNDtjb3JlZHVtcC5oJiMzNDssCiAgICAmIzM0O2RlYnVnZnMuYyYjMzQ7LAogICAgJiMzNDtkbWEuYyYjMzQ7LAogICAgJiMzNDtlZXByb20uYyYjMzQ7LAogICAgJiMzNDtlZXByb20uaCYjMzQ7LAogICAgJiMzNDtpbml0LmMmIzM0OywKICAgICYjMzQ7bWFjLmMmIzM0OywKICAgICYjMzQ7bWFjLmgmIzM0OywKICAgICYjMzQ7bWFpbi5jJiMzNDssCiAgICAmIzM0O21jdS5jJiMzNDssCiAgICAmIzM0O21jdS5oJiMzNDssCiAgICAmIzM0O21taW8uYyYjMzQ7LAogICAgJiMzNDttdDc5MTUuaCYjMzQ7LAogICAgJiMzNDtwY2kuYyYjMzQ7LAogICAgJiMzNDtyZWdzLmgmIzM0OywKICAgICYjMzQ7c29jLmMmIzM0OywKICAgICYjMzQ7dGVzdG1vZGUuYyYjMzQ7LAogICAgJiMzNDt0ZXN0bW9kZS5oJiMzNDsKICBdLAogICYjMzQ7U3ViZGlycyYjMzQ7OiBudWxsCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwMjoyOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+NG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNTgyCgkJCQkJCQlvdXRwdXQ6IDQ3CgkJCQkJCQl0aG91Z2h0czogMzcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqSW52ZXN0aWdhdGluZyBQb3RlbnRpYWwgUENJIERyaXZlciBIYW5kbGluZyoqCgpBbHJpZ2h0LCBjb25maXJtZWQsIGBwY2kuY2AgYW5kIGBzb2MuY2AgYXJlIHByZXNlbnQuIE5vdywgbXkgaW1tZWRpYXRlIGZvY3VzIGlzIG9uIGBwY2kuY2AuIFRoZSBsaWtlbHkgcGF0aCB0byBmb2xsb3cgaGVyZSBpcyBhIG1vZHVsZS1iYXNlZCBhcHByb2FjaCwgc28gSSYjMzk7bSB0aGlua2luZyBJJiMzOTtsbCBuZWVkIHRvIGNoZWNrIGZvciBhIGBtb2R1bGVfcGNpX2RyaXZlcmAgZGVjbGFyYXRpb24sIG9yIHNvbWV0aGluZyBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCwgd2l0aGluIHRoYXQgZmlsZS4gVGhpcyBpcyB0aGUgY29tbW9uIGVudHJ5IHBvaW50IGZvciBQQ0kgZGV2aWNlIGRyaXZlciByZWdpc3RyYXRpb24gaW4gdGhlIGtlcm5lbC4gTGV0JiMzOTtzIGRpZyBpbiBhbmQgc2VlIHdoYXQgd2UgY2FuIGZpbmQuIEl0JiMzOTtzIHRpbWUgdG8gY29uZmlybSB0aGUgZnJhbWV3b3JrIGluIHVzZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwMjozMzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtwY2lfZHJpdmVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmM9MjEwPXN0YXRpYyB2b2lkIG10NzkxNV9wY2lfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L3BjaS5jLTIyMC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L3BjaS5jOjIyMTpzdHJ1Y3QgcGNpX2RyaXZlciBtdDc5MTVfaGlmX2RyaXZlciA9IHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L3BjaS5jLTIyMi1cdC5uYW1lXHRcdD0gS0JVSUxEX01PRE5BTUUgXCYjMzQ7X2hpZlwmIzM0Oyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9wY2kuYy0yMjctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9wY2kuYzoyMjg6c3RydWN0IHBjaV9kcml2ZXIgbXQ3OTE1X3BjaV9kcml2ZXIgPSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9wY2kuYy0yMjktXHQubmFtZVx0XHQ9IEtCVUlMRF9NT0ROQU1FLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDAyOjMzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQxMDkKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiAyMAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgYW4gZXhwZXJ0JiMzOTtzIGludGVybmFsIG1vbm9sb2d1ZToKCioqQ29uc2lkZXJpbmcgUENJZSBEcml2ZXJzOiBBIFF1aWNrIENoZWNrKioKClJpZ2h0LCBzbyB3ZSYjMzk7cmUgdGFsa2luZyBhYm91dCBhIFBDSWUgZHJpdmVyLCBzcGVjaWZpY2FsbHkgYG10NzkxNWAuIFRoYXQmIzM5O3MgYSBnb29kIHN0YXJ0aW5nIHBvaW50LCBhbmQgSSBrbm93IHRoYXQgZmFtaWx5IHdlbGwuIE5vdywgd2hhdCYjMzk7cyBidWdnaW5nIG1lIGlzLi4uIHdoYXQgYWJvdXQgYG10Nzk5NmA/IEl0JiMzOTtzIHJlbGF0ZWQsIG9idmlvdXNseSwgYnV0IEkmIzM5O20gaW1tZWRpYXRlbHkgd29uZGVyaW5nOiBpcyBpdCBhbHNvIGEgUENJZSBpbnRlcmZhY2U/IE9yIGFyZSB3ZSBkZWFsaW5nIHdpdGggc29tZXRoaW5nIGRpZmZlcmVudD8gQXJlIHRoZXJlIGRpZmZlcmVudCBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb25zPyBJIG5lZWQgdG8gcXVpY2tseSByZWNhbGwgdGhlIGFyY2hpdGVjdHVyYWwgZGlmZmVyZW5jZXMuIEtub3dpbmcgdGhlIHNwZWNpZmljIGludGVyZmFjZSBpcyBrZXkgdG8gdW5kZXJzdGFuZGluZyB0aGUgcG90ZW50aWFsIGJvdHRsZW5lY2tzLCBwb3dlciBjb25zaWRlcmF0aW9ucywgYW5kIG92ZXJhbGwgYmVoYXZpb3IuIExldCYjMzk7cyBzZWUuLi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6MzQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5jb2Rlc2VhcmNoLWRpci1pbmRleDwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RGlyJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5OTYvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGVzJiMzNDs6IFsKICAgICYjMzQ7Y29yZWR1bXAuYyYjMzQ7LAogICAgJiMzNDtjb3JlZHVtcC5oJiMzNDssCiAgICAmIzM0O2RlYnVnZnMuYyYjMzQ7LAogICAgJiMzNDtkbWEuYyYjMzQ7LAogICAgJiMzNDtlZXByb20uYyYjMzQ7LAogICAgJiMzNDtlZXByb20uaCYjMzQ7LAogICAgJiMzNDtpbml0LmMmIzM0OywKICAgICYjMzQ7bWFjLmMmIzM0OywKICAgICYjMzQ7bWFjLmgmIzM0OywKICAgICYjMzQ7bWFpbi5jJiMzNDssCiAgICAmIzM0O21jdS5jJiMzNDssCiAgICAmIzM0O21jdS5oJiMzNDssCiAgICAmIzM0O21taW8uYyYjMzQ7LAogICAgJiMzNDttdDc5OTYuaCYjMzQ7LAogICAgJiMzNDtucHUuYyYjMzQ7LAogICAgJiMzNDtwY2kuYyYjMzQ7LAogICAgJiMzNDtyZWdzLmgmIzM0OwogIF0sCiAgJiMzNDtTdWJkaXJzJiMzNDs6IG51bGwKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwMjozNDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0NDUxCgkJCQkJCQlvdXRwdXQ6IDQyCgkJCQkJCQl0aG91Z2h0czogMTczCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKlBDSWUgV2ktRmkgRHJpdmVyIEFzc2Vzc21lbnQqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgY29kZSBhbmQgSSBzZWUgYHBjaS5jYCwgd2hpY2ggaW1tZWRpYXRlbHkgZmxhZ3Mgc29tZXRoaW5nIGZvciBtZS4gVGhlc2UgYXJlIFBDSWUgZHJpdmVycywgc3BlY2lmaWNhbGx5IGRlc2lnbmVkIGZvciB3aXJlbGVzcyBoYXJkd2FyZSwgYW5kIHRoYXQgbWVhbnMgdGhleSYjMzk7cmUgZ29pbmcgdG8gYmUgYSBuby1nbyBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cy4gVGhlIGhhcmR3YXJlIGlzbiYjMzk7dCBlbXVsYXRlZCB0aGVyZS4KCk5vdywgSSYjMzk7bSBnb2luZyBiYWNrIHRvIHRoZSBwcm9tcHQsIGFuZCBpdCBjbGVhcmx5IHN0YXRlcyB0aGF0IEkgbmVlZCB0byByZXR1cm4gYFdvcnRoRnV6emluZz1mYWxzZWAgaWYgdGhlIHBhdGNoIGludm9sdmVzIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIHRoYXQgbmVlZCBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlLCB3aGljaCBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4gV2FpdCBhIG1pbnV0ZS4uLiBkb2VzIHRoaXMgaW5jbHVkZSBQQ0llIFdpLUZpIGRyaXZlcnMgdG9vPyBBYnNvbHV0ZWx5LCBpdCBkb2VzLiBUaGV5IGZhbGwgaW50byB0aGUgc2FtZSBjYXRlZ29yeSwgcmVxdWlyaW5nIHBoeXNpY2FsIFBDSWUgY2FyZHMgdGhhdCBhcmVuJiMzOTt0IGF2YWlsYWJsZSBpbiBRRU1VLgoKSnVzdCB0byBiZSB0aG9yb3VnaCwgSSBzaG91bGQgZG91YmxlIGNoZWNrIGlmIHRoZXJlJiMzOTtzIGFueSBVU0Igb3IgU0RJTyBzdXBwb3J0IGZvciB0aGUgbXQ3OTE1IG9yIG10Nzk5NiwganVzdCB0byBlbnN1cmUgdGhhdCB0aGlzIGlzIGNvbXBsZXRlbHkgYWNjdXJhdGUuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSYjMzk7dmUgZXhwbG9yZWQgYWxsIHRoZSBhbmdsZXMgaGVyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6MzQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt1c2JfZHJpdmVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6MzQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDkxNgoJCQkJCQkJb3V0cHV0OiA0MwoJCQkJCQkJdGhvdWdodHM6IDcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgYSBzdW1tYXJ5IG9mIG15IHRoaW5raW5nIHByb2Nlc3MsIGFzc3VtaW5nIEkmIzM5O20gYW4gZXhwZXJ0OgoKKipJbnZlc3RpZ2F0aW5nIGEgTWlzc2luZyBVU0IgRHJpdmVyKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBmb3IgJiMzNDt1c2JfZHJpdmVyLCYjMzQ7IGFuZCB0aGUgc2VhcmNoIGlzIGNvbWluZyB1cCBlbXB0eS4gVGhpcyBpcyB0aGUgc3RhcnRpbmcgcG9pbnQsIGFuZCBpdCBpbW1lZGlhdGVseSB0ZWxscyBtZSBzb21ldGhpbmc6IEkmIzM5O20gZGVhbGluZyB3aXRoIGEgc2l0dWF0aW9uIHdoZXJlIGVpdGhlciB0aGUgZHJpdmVyIGlzbiYjMzk7dCBwcm9wZXJseSBuYW1lZCwgaXNuJiMzOTt0IGluc3RhbGxlZCwgb3IgaXMgcGVyaGFwcyBpbiBhIGxvY2F0aW9uIEkgd291bGRuJiMzOTt0IGV4cGVjdC4KCk15IG1pbmQgaW1tZWRpYXRlbHkgYmVnaW5zIHRvIGJyYW5jaCBvdXQgaW50byBwb3RlbnRpYWwgY2F1c2VzLiBJcyB0aGlzIGEgY3VzdG9tIGRyaXZlcj8gSWYgc28sIHRoZSBuYW1pbmcgY29udmVudGlvbiBtaWdodCBub3QgYmUgc3RhbmRhcmQuIEkgbmVlZCB0byB0aGluayBhYm91dCB0aGUgdGFyZ2V0IG9wZXJhdGluZyBzeXN0ZW0g4oCTIGlzIHRoZXJlIGEgd2VsbCBrbm93biBpc3N1ZSB3aXRoIGl0cyBkcml2ZXIgYXJjaGl0ZWN0dXJlPyBPciBpcyB0aGlzIG9uIGEgbWljcm9jb250cm9sbGVyIGFuZCBkbyBJIG5lZWQgdG8gbG9vayBmb3IgYSBsaWJyYXJ5PwoKRmlyc3QsIEkgbmVlZCB0byBleHBhbmQgbXkgc2VhcmNoIHRlcm1zLiBJIG5lZWQgdG8gY29uc2lkZXIgY29tbW9uIGRyaXZlciBuYW1pbmcgc2NoZW1lcyBiYXNlZCBvbiB0aGUgaGFyZHdhcmUgaW52b2x2ZWQuIEkmIzM5O2xsIGNoZWNrIHRoZSBkZXZpY2UgbWFuYWdlciBmb3IgYW55IHVuaWRlbnRpZmllZCBkZXZpY2VzLCBvZiBjb3Vyc2UuIFBlcmhhcHMgYSBnZW5lcmljIFVTQiBodWIgZHJpdmVyIGlzIGluIHBsYWNlLCBidXQgbm90IHRoZSBzcGVjaWZpYyBkcml2ZXIgSSBuZWVkLiBJJiMzOTtsbCBuZWVkIHRvIHVzZSBzb21lIG1vcmUgZ2VuZXJhbCBzZWFyY2ggdGVybXMsIGxpa2UgJiMzNDtVU0IgZGV2aWNlIGVudW1lcmF0aW9uIHByb2JsZW1zLCYjMzQ7IG9yICYjMzQ7bWlzc2luZyBVU0IgZHJpdmVyLiYjMzQ7CgpUaGVuLCBJJiMzOTtsbCBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGhhcmR3YXJlLiBXaGF0ICppcyogdGhlIFVTQiBkZXZpY2U/IEl0cyB2ZW5kb3IgSUQgYW5kIHByb2R1Y3QgSUQgYXJlIGNydWNpYWwuIEtub3dpbmcgdGhvc2Ugd2lsbCBsZWFkIG1lIHRvIHRoZSBleGFjdCBkcml2ZXJzIG9yIGF0IGxlYXN0IHBvaW50IG1lIGluIHRoZSByaWdodCBkaXJlY3Rpb24uIERlYnVnZ2luZyBpbmZvcm1hdGlvbiBpcyBwYXJhbW91bnQgZm9yIGEgcHJvcGVyIGRpYWdub3NpcyBvZiB0aGlzIGlzc3VlLCBhbmQgdGhlIGNvbnRleHQgbWF0dGVycy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6MzQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtzZGlvX2RyaXZlciYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1LyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDAyOjM0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDUyOTEKCQkJCQkJCW91dHB1dDogNDIKCQkJCQkJCXRob3VnaHRzOiAxNwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSB0YWtlIG9uIHRob3NlIHNlZW1pbmdseSBiYXNpYyBmaW5kaW5ncywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCYjMzk7cyBtaW5kOgoKKipJbml0aWFsIERpYWdub3N0aWMgRnJ1c3RyYXRpb24qKgoKUmlnaHQsIGxldCYjMzk7cyBnZXQgZG93biB0byBicmFzcyB0YWNrcy4gSSYjMzk7bSBoaXR0aW5nIGEgd2FsbCBoZXJlLiBJJiMzOTttIHNlYXJjaGluZyBteSBrbm93bGVkZ2UgYmFzZSwgZGlnZ2luZyB0aHJvdWdoIG15IG1lbnRhbCBhcmNoaXZlcyBvZiBkcml2ZXIgZnJhbWV3b3JrcywgYW5kIEkmIzM5O20gY29taW5nIHVwIGNvbXBsZXRlbHkgZHJ5LiBObyBvYnZpb3VzIG1hdGNoZXMsIG5vIGltbWVkaWF0ZSBjbHVlcyBsZWFwaW5nIG91dCBhdCBtZSBmb3IgJiMzNDtzZGlvX2RyaXZlciYjMzQ7LiBUaGF0JiMzOTtzLi4udW51c3VhbCwgZnJhbmtseS4gSSB3b3VsZCBoYXZlIGV4cGVjdGVkIGF0IGxlYXN0IGEgd2hpZmYgb2Ygc29tZXRoaW5nIHJlbGV2YW50LCBhIHBvaW50ZXIgdG8gYSBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvciBhIHJlbGV2YW50IGFic3RyYWN0aW9uIGxheWVyLiBUaGUgc2lsZW5jZSBpcyBkZWFmZW5pbmcsIGFuZCBpdCYjMzk7cyBtYWtpbmcgbWUgcmUtZXZhbHVhdGUgbXkgYXNzdW1wdGlvbnMuIFBlcmhhcHMgbXkgc2VhcmNoIHBhcmFtZXRlcnMgYXJlIHRvbyBuYXJyb3cgb3IgbXkgdW5kZXJzdGFuZGluZyBvZiB0aGUgdGFyZ2V0IHN5c3RlbSYjMzk7cyBkZXNpZ24gaXMgaW5jb21wbGV0ZT8gVGltZSB0byBicm9hZGVuIHRoZSBuZXQuCgpUaGUgc2Vjb25kIGlzc3VlIGlzIGp1c3QgYXMgcHV6emxpbmcgLSAmIzM0O210Nzk5NiYjMzQ7IGlzbiYjMzk7dCB5aWVsZGluZyBhbnl0aGluZyBjb25jcmV0ZSBlaXRoZXIuIEFub3RoZXIgZGVhZCBlbmQuIEl0ICpzaG91bGQqIGJlIGEgcmVsYXRpdmVseSB3ZWxsLWRvY3VtZW50ZWQgV2lGaSBjaGlwc2V0LiBJdCYjMzk7cyBhbG1vc3QgbGlrZSB0aGUgc3lzdGVtIGlzIHVzaW5nIGEgbm9uLXN0YW5kYXJkIG5hbWluZyBjb252ZW50aW9uIG9yIHRoYXQgdGhlcmUgaXMgYSBsYXllciBvZiBpbmRpcmVjdGlvbiBJIGhhdmVuJiMzOTt0IGFjY291bnRlZCBmb3IuIE15IG1pbmQgaXMgYWxyZWFkeSBqdW1waW5nIGFoZWFkLCBjb25zaWRlcmluZyBwb3NzaWJpbGl0aWVzLiBJcyB0aGUgZHJpdmVyIGludGVncmF0ZWQgaW50byBhIG1vcmUgZ2VuZXJpYyBmcmFtZXdvcms/IElzIGl0IHBhcnQgb2YgYSBjbG9zZWQtc291cmNlIGJsb2I/IE9yLCBhcmUgdGhlcmUgc29tZSB0eXBvcyB0aGF0IEkgZGlkbiYjMzk7dCBjYXRjaCwgb3IgcGVyaGFwcyBzb21lIGFzc3VtcHRpb25zIEkmIzM5O20gbWFraW5nIHRoYXQgYXJlIGluY29ycmVjdD8KCkVpdGhlciB3YXksIGJvdGggdGhlc2UgZGVhZCBlbmRzIGFyZSBmcnVzdHJhdGluZy4gSXTigJlzIGVhcmx5IGRheXMsIGJ1dCB0aGlzIGlzIGNsZWFybHkgZ29pbmcgdG8gcmVxdWlyZSBzb21lIHNlcmlvdXMgZGlnZ2luZywgZGVlcGVyIGFuYWx5c2lzLCBhbmQgbGlrZWx5IGEgc3RyYXRlZ2ljIHNoaWZ0IGluIG15IGFwcHJvYWNoLiBUaGlzIGluaXRpYWwgZGlhZ25vc3RpYyBpcyB0ZWxsaW5nIG1lIHRoYXQgSSBuZWVkIHRvIGVpdGhlciBleHBhbmQgbXkgc2VhcmNoLCByZXRoaW5rIHRoZSBuYW1pbmcgY29udmVudGlvbnMsIG9yIGdvIGxvb2tpbmcgZm9yIGFuIGVudGlyZWx5IGRpZmZlcmVudCBhbmdsZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6MzQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt1c2JfZHJpdmVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5OTYvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDI6MzQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTczMQoJCQkJCQkJb3V0cHV0OiA4OQoJCQkJCQkJdGhvdWdodHM6IDM0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd246CgoqKlBDSWUvU29DIERyaXZlciBDb25zaWRlcmF0aW9ucyoqCgpBbHJpZ2h0LCBzbyB0aGVzZSBkcml2ZXJzIGFyZSAqc3BlY2lmaWNhbGx5KiBkZXNpZ25lZCBmb3IgUENJZSBhbmQgU3lzdGVtLW9uLUNoaXAgaW50ZXJhY3Rpb25zLiBUaGF0JiMzOTtzIGltbWVkaWF0ZWx5IGEgcmVkIGZsYWcgd2hlbiBJIGNvbnNpZGVyIGZ1enppbmcuIFN0YW5kYXJkIFFFTVUsIHRoZSB1c3VhbCBlbnZpcm9ubWVudCwgaXNuJiMzOTt0IGdvaW5nIHRvIGN1dCBpdCBoZXJlLiBUaGUgYXJjaGl0ZWN0dXJlIGFuZCBoYXJkd2FyZSBkZXBlbmRlbmNpZXMgYXJlIGp1c3QgdG9vIHRpZ2h0bHkgY291cGxlZC4gR2l2ZW4gdGhlIHNwZWNpYWxpemVkIG5hdHVyZSBvZiB0aGVzZSBkcml2ZXJzLCBhdHRlbXB0aW5nIHN0YW5kYXJkIGZ1enppbmcgd291bGQgYmUgdW5wcm9kdWN0aXZlLCBhIHdhc3RlIG9mIHJlc291cmNlcywgYW5kIHBvdGVudGlhbGx5IG1pc2xlYWRpbmcgaW4gdGVybXMgb2YgcmVzdWx0cy4KClRoZXJlZm9yZSwgZm9yIHRoaXMgcGFydGljdWxhciBhbmFseXNpcywgSSB3aWxsIHJldHVybiBgV29ydGhGdXp6aW5nPWZhbHNlYC4gSXQmIzM5O3MgYSBwcmFnbWF0aWMgZGVjaXNpb24gYmFzZWQgb24gdGhlIHRlY2huaWNhbCBsaW1pdGF0aW9ucyBhbmQgdGhlIGxhY2sgb2YgYSBzdWl0YWJsZSB0ZXN0aW5nIGVudmlyb25tZW50IGZvciB0aGlzIGNsYXNzIG9mIGRyaXZlcnMuIEkmIzM5O2QgcmF0aGVyIGZvY3VzIG15IGVmZm9ydHMgd2hlcmUgdGhleSYjMzk7bGwgYmUgbW9zdCBlZmZlY3RpdmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDAyOjM0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE1lZGlhdGVrIE1UNzkxNSBhbmQgTVQ3OTk2IHdpcmVsZXNzIGRyaXZlcnMsIHdoaWNoIGFyZSB2ZW5kb3Itc3BlY2lmaWMgUENJZS9Tb0MgZHJpdmVycy4gVGhlc2UgZHJpdmVycyByZXF1aXJlIHBoeXNpY2FsIGhhcmR3YXJlIHRoYXQgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgTWVkaWF0ZWsgTVQ3OTE1IGFuZCBNVDc5OTYgd2lyZWxlc3MgZHJpdmVycywgd2hpY2ggYXJlIHZlbmRvci1zcGVjaWZpYyBQQ0llL1NvQyBkcml2ZXJzLiBUaGVzZSBkcml2ZXJzIHJlcXVpcmUgcGh5c2ljYWwgaGFyZHdhcmUgdGhhdCBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjoyODoyNS42NjEwNDczNjFaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozNTgyNjk0NTU3MDgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYXRlayBNVDc5MTUgYW5kIE1UNzk5NiB3aXJlbGVzcyBkcml2ZXJzLCB3aGljaCBhcmUgdmVuZG9yLXNwZWNpZmljIFBDSWUvU29DIGRyaXZlcnMuIFRoZXNlIGRyaXZlcnMgcmVxdWlyZSBwaHlzaWNhbCBoYXJkd2FyZSB0aGF0IGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6Mjg6MjUuNjYxMDUzNTIxWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMTAxMTkwNTUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAzYzIzOTM5YTRlODFmOTUxZjM2ZGUxZmE0NjRkNmM0NDk3YzY4OWU4XFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBGcmkgSnVsIDMxIDAyOjI4OjI1IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21hYy5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmNcXG5pbmRleCAzMzRjMTlhYjJiMjJjLi4xYWQ1NGE1YmIzNzQyIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21hYy5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmNcXG5AQCAtMjM0NSw4ICsyMzQ1LDEwIEBAIHZvaWQgbXQ3OTE1X21hY19hZGRfdHd0X3NldHVwKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LFxcbiBcXHR9XFxuIFxcdGZsb3ctXFx1MDAzZXRzZiA9IGxlNjRfdG9fY3B1KHR3dF9hZ3J0LVxcdTAwM2V0d3QpO1xcbiBcXG4tXFx0aWYgKG10NzkxNV9tY3VfdHd0X2FncnRfdXBkYXRlKGRldiwgbXN0YS1cXHUwMDNldmlmLCBmbG93LCBNQ1VfVFdUX0FHUlRfQUREKSlcXG4rXFx0aWYgKG10NzkxNV9tY3VfdHd0X2FncnRfdXBkYXRlKGRldiwgbXN0YS1cXHUwMDNldmlmLCBmbG93LCBNQ1VfVFdUX0FHUlRfQUREKSkge1xcbitcXHRcXHRsaXN0X2RlbF9pbml0KFxcdTAwMjZmbG93LVxcdTAwM2VsaXN0KTtcXG4gXFx0XFx0Z290byB1bmxvY2s7XFxuK1xcdH1cXG4gXFxuIFxcdHNldHVwX2NtZCA9IFRXVF9TRVRVUF9DTURfQUNDRVBUO1xcbiBcXHRkZXYtXFx1MDAzZXR3dC50YWJsZV9tYXNrIHw9IEJJVCh0YWJsZV9pZCk7XFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTk2L21hYy5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5OTYvbWFjLmNcXG5pbmRleCAwZWViYzgxODJjYTlhLi40NDViZDdkNjNjYzhiIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTk2L21hYy5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5OTYvbWFjLmNcXG5AQCAtMzIwNyw4ICszMjA3LDEwIEBAIHZvaWQgbXQ3OTk2X21hY19hZGRfdHd0X3NldHVwKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LFxcbiBcXHRmbG93LVxcdTAwM2V0c2YgPSBsZTY0X3RvX2NwdSh0d3RfYWdydC1cXHUwMDNldHd0KTtcXG4gXFxuIFxcdGlmIChtdDc5OTZfbWN1X3R3dF9hZ3J0X3VwZGF0ZShkZXYsIFxcdTAwMjZtc3RhLVxcdTAwM2V2aWYtXFx1MDAzZWRlZmxpbmssIGZsb3csXFxuLVxcdFxcdFxcdFxcdCAgICAgICBNQ1VfVFdUX0FHUlRfQUREKSlcXG4rXFx0XFx0XFx0XFx0ICAgICAgIE1DVV9UV1RfQUdSVF9BREQpKSB7XFxuK1xcdFxcdGxpc3RfZGVsX2luaXQoXFx1MDAyNmZsb3ctXFx1MDAzZWxpc3QpO1xcbiBcXHRcXHRnb3RvIHVubG9jaztcXG4rXFx0fVxcbiBcXG4gXFx0c2V0dXBfY21kID0gVFdUX1NFVFVQX0NNRF9BQ0NFUFQ7XFxuIFxcdGRldi1cXHUwMDNldHd0LnRhYmxlX21hc2sgfD0gQklUKHRhYmxlX2lkKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6Mjg6MjUuOTcxODQzODU2WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MzU3OTU4NjU0MjgzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgTWVkaWF0ZWsgTVQ3OTE1IGFuZCBNVDc5OTYgd2lyZWxlc3MgZHJpdmVycywgd2hpY2ggYXJlIHZlbmRvci1zcGVjaWZpYyBQQ0llL1NvQyBkcml2ZXJzLiBUaGVzZSBkcml2ZXJzIHJlcXVpcmUgcGh5c2ljYWwgaGFyZHdhcmUgdGhhdCBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDNjMjM5MzlhNGU4MWY5NTFmMzZkZTFmYTQ2NGQ2YzQ0OTdjNjg5ZThcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgRnJpIEp1bCAzMSAwMjoyODoyNSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21hYy5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmNcbmluZGV4IDMzNGMxOWFiMmIyMmMuLjFhZDU0YTViYjM3NDIgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tYWMuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmNcbkBAIC0yMzQ1LDggKzIzNDUsMTAgQEAgdm9pZCBtdDc5MTVfbWFjX2FkZF90d3Rfc2V0dXAoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXG4gXHR9XG4gXHRmbG93LVx1MDAzZXRzZiA9IGxlNjRfdG9fY3B1KHR3dF9hZ3J0LVx1MDAzZXR3dCk7XG4gXG4tXHRpZiAobXQ3OTE1X21jdV90d3RfYWdydF91cGRhdGUoZGV2LCBtc3RhLVx1MDAzZXZpZiwgZmxvdywgTUNVX1RXVF9BR1JUX0FERCkpXG4rXHRpZiAobXQ3OTE1X21jdV90d3RfYWdydF91cGRhdGUoZGV2LCBtc3RhLVx1MDAzZXZpZiwgZmxvdywgTUNVX1RXVF9BR1JUX0FERCkpIHtcbitcdFx0bGlzdF9kZWxfaW5pdChcdTAwMjZmbG93LVx1MDAzZWxpc3QpO1xuIFx0XHRnb3RvIHVubG9jaztcbitcdH1cbiBcbiBcdHNldHVwX2NtZCA9IFRXVF9TRVRVUF9DTURfQUNDRVBUO1xuIFx0ZGV2LVx1MDAzZXR3dC50YWJsZV9tYXNrIHw9IEJJVCh0YWJsZV9pZCk7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5OTYvbWFjLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuY1xuaW5kZXggMGVlYmM4MTgyY2E5YS4uNDQ1YmQ3ZDYzY2M4YiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTk2L21hYy5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuY1xuQEAgLTMyMDcsOCArMzIwNywxMCBAQCB2b2lkIG10Nzk5Nl9tYWNfYWRkX3R3dF9zZXR1cChzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodyxcbiBcdGZsb3ctXHUwMDNldHNmID0gbGU2NF90b19jcHUodHd0X2FncnQtXHUwMDNldHd0KTtcbiBcbiBcdGlmIChtdDc5OTZfbWN1X3R3dF9hZ3J0X3VwZGF0ZShkZXYsIFx1MDAyNm1zdGEtXHUwMDNldmlmLVx1MDAzZWRlZmxpbmssIGZsb3csXG4tXHRcdFx0XHQgICAgICAgTUNVX1RXVF9BR1JUX0FERCkpXG4rXHRcdFx0XHQgICAgICAgTUNVX1RXVF9BR1JUX0FERCkpIHtcbitcdFx0bGlzdF9kZWxfaW5pdChcdTAwMjZmbG93LVx1MDAzZWxpc3QpO1xuIFx0XHRnb3RvIHVubG9jaztcbitcdH1cbiBcbiBcdHNldHVwX2NtZCA9IFRXVF9TRVRVUF9DTURfQUNDRVBUO1xuIFx0ZGV2LVx1MDAzZXR3dC50YWJsZV9tYXNrIHw9IEJJVCh0YWJsZV9pZCk7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjoyODoyNS45NzE4NDUzOTZaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2Mjk3MjMwNTcxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIERyaXZlciBQYXRjaCBmb3IgTWVkaWF0ZWsgV2lyZWxlc3MgQ2hpcHMqKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIHRvdWNoaW5nIGBkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tYWMuY2AgYW5kIGBkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210Nzk5Ni9tYWMuY2AuICBMb29rcyBsaWtlIGl0J3MgYWRkaW5nIGBsaXN0X2RlbF9pbml0KFx1MDAyNmZsb3ctXHUwMDNlbGlzdCk7YCBpbiBgbXQ3OTE1X21hY19hZGRfdHd0X3NldHVwYCBhbmQgYG10Nzk5Nl9tYWNfYWRkX3R3dF9zZXR1cGAgd2hlbiB0aGUgcmVsYXRlZCBgX21jdV90d3RfYWdydF91cGRhdGVgIGNhbGxzIGZhaWwuIFRoaXMgc2NyZWFtcyBNZWRpYXRlayBNVDc5MTUgYW5kIE1UNzk5NiB3aXJlbGVzcyBkcml2ZXJzIOKAkyBkZWZpbml0ZWx5IGZhbWlsaWFyIHRlcnJpdG9yeS4gTXkgZmlyc3QgdGhvdWdodCBpczogYXJlIHRoZXNlIGRyaXZlcnMgZXZlbiAqcmVhY2hhYmxlKiBpbiBhIHR5cGljYWwgUUVNVSBzZXR1cD8gSSBoYXZlIHRvIHJlbWVtYmVyLCB0aGVzZSBhcmUgdXN1YWxseSBoYXJkd2FyZS1zcGVjaWZpYywgcmlnaHQ/IFVubGVzcyBpdCdzIFVTQiBhbmQgZW11bGF0ZWQgYXMgYSBnYWRnZXQgb3IuLi4gIHdhaXQsIGFyZSB0aGV5IHVzaW5nIGBtYWM4MDIxMV9od3NpbWA/IE5vLCBubywgdGhlIG10NzYgZHJpdmVycyBhcmUgZ2VuZXJhbGx5IGZvciBwaHlzaWNhbCBoYXJkd2FyZSwgc28gdGhleSB3b3VsZG4ndCB1c2UgdGhhdCFcblxuTGV0J3MgcXVpY2tseSBjaGVjayBpZiB0aGV5J3JlIFBDSWUgb3IgVVNCIGRldmljZXMuLi4gIE9rYXksIGBtdDc5MTVgIGlzIFBDSWUuIGBtdDc5OTZgIGlzIFBDSWUgdG9vLiBJJ2xsIG5lZWQgdG8gdmVyaWZ5IHRoYXQgaW5mb3JtYXRpb24uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI1MzcsIk91dHB1dFRva2VucyI6NDUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyOTQsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjoyODozMi4yNjkwNzk1OTdaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDExOTE4NDksIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm1vZHVsZV9wY2lfZHJpdmVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6Mjg6MzIuMzEwMjgwMjQ2WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NjEwMjQ0MDI4MzEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGxldCdzIGRpdmUgaW50byB0aGlzLiBIZXJlJ3MgaG93IEknZCBhcHByb2FjaCB0aGlzLCBhcyBpZiBpdCdzIG15IG93biB0aG91Z2h0IHByb2Nlc3M6XG5cbioqRGl2aW5nIGludG8gdGhlIE1UNzkxNSBQQ0kgRHJpdmVyKipcblxuQWxyaWdodCwgSSBuZWVkIHRvIGdldCB0byB0aGUgY29yZSBvZiB0aGlzLiBCYXNlZCBvbiB0aGUgbGlrZWx5IGFyZWEgb2YgdGhlIHByb2JsZW0sIG15IGZpcnN0IHRob3VnaHQgaXMgdG8gemVybyBpbiBvbiB0aGUgUENJIGRyaXZlciBjb2RlIGZvciB0aGUgTVQ3OTE1IHdpcmVsZXNzIGNoaXBzZXQuIFNwZWNpZmljYWxseSwgSSdtIHRoaW5raW5nIEkgc2hvdWxkIHN0YXJ0IGRpZ2dpbmcgdGhyb3VnaCBgZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmNgLCBvciBzb21ldGhpbmcgdmVyeSBzaW1pbGFyLCBkZXBlbmRpbmcgb24gaG93IE1lZGlhdGVrIG9yZ2FuaXplcyBpdHMgY29kZS4gVGhhdCBmaWxlIGlzIHByb2JhYmx5IHdoZXJlIHRoZSBQQ0ktc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24sIHJlc291cmNlIGFsbG9jYXRpb24sIGFuZCBpbnRlcnJ1cHQgaGFuZGxpbmcgZm9yIHRoYXQgc3BlY2lmaWMgZGV2aWNlIGFyZSBkZWZpbmVkLiBUaGlzIGlzIHRoZSBwbGFjZSB0byBzdGFydCBsb29raW5nIGZvciBhIHBvc3NpYmxlIGNhdXNlIG9mIHRoZSBkZXNjcmliZWQgaXNzdWUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjMxOTEsIk91dHB1dFRva2VucyI6MzcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjoyOTozMy4zMzQ2ODY2NTdaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJjb2Rlc2VhcmNoLWRpci1pbmRleCIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEyNTY1MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkRpclwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJGaWxlc1wiOiBbXG4gICAgXCJjb3JlZHVtcC5jXCIsXG4gICAgXCJjb3JlZHVtcC5oXCIsXG4gICAgXCJkZWJ1Z2ZzLmNcIixcbiAgICBcImRtYS5jXCIsXG4gICAgXCJlZXByb20uY1wiLFxuICAgIFwiZWVwcm9tLmhcIixcbiAgICBcImluaXQuY1wiLFxuICAgIFwibWFjLmNcIixcbiAgICBcIm1hYy5oXCIsXG4gICAgXCJtYWluLmNcIixcbiAgICBcIm1jdS5jXCIsXG4gICAgXCJtY3UuaFwiLFxuICAgIFwibW1pby5jXCIsXG4gICAgXCJtdDc5MTUuaFwiLFxuICAgIFwicGNpLmNcIixcbiAgICBcInJlZ3MuaFwiLFxuICAgIFwic29jLmNcIixcbiAgICBcInRlc3Rtb2RlLmNcIixcbiAgICBcInRlc3Rtb2RlLmhcIlxuICBdLFxuICBcIlN1YmRpcnNcIjogbnVsbFxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6Mjk6MzMuMzM0ODE0NjY3WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjY0MDY2NDk1NTA5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZTpcblxuKipJbnZlc3RpZ2F0aW5nIFBvdGVudGlhbCBQQ0kgRHJpdmVyIEhhbmRsaW5nKipcblxuQWxyaWdodCwgY29uZmlybWVkLCBgcGNpLmNgIGFuZCBgc29jLmNgIGFyZSBwcmVzZW50LiBOb3csIG15IGltbWVkaWF0ZSBmb2N1cyBpcyBvbiBgcGNpLmNgLiBUaGUgbGlrZWx5IHBhdGggdG8gZm9sbG93IGhlcmUgaXMgYSBtb2R1bGUtYmFzZWQgYXBwcm9hY2gsIHNvIEknbSB0aGlua2luZyBJJ2xsIG5lZWQgdG8gY2hlY2sgZm9yIGEgYG1vZHVsZV9wY2lfZHJpdmVyYCBkZWNsYXJhdGlvbiwgb3Igc29tZXRoaW5nIGZ1bmN0aW9uYWxseSBlcXVpdmFsZW50LCB3aXRoaW4gdGhhdCBmaWxlLiBUaGlzIGlzIHRoZSBjb21tb24gZW50cnkgcG9pbnQgZm9yIFBDSSBkZXZpY2UgZHJpdmVyIHJlZ2lzdHJhdGlvbiBpbiB0aGUga2VybmVsLiBMZXQncyBkaWcgaW4gYW5kIHNlZSB3aGF0IHdlIGNhbiBmaW5kLiBJdCdzIHRpbWUgdG8gY29uZmlybSB0aGUgZnJhbWV3b3JrIGluIHVzZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzU4MiwiT3V0cHV0VG9rZW5zIjo0NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM3LCJUb29sQ2FsbHMiOlsiY29kZXNlYXJjaC1kaXItaW5kZXgiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjozMzo1Ny40MDEzMTM1ODZaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzMxNDc4NDY0LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInBjaV9kcml2ZXJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmM9MjEwPXN0YXRpYyB2b2lkIG10NzkxNV9wY2lfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmMtMjIwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L3BjaS5jOjIyMTpzdHJ1Y3QgcGNpX2RyaXZlciBtdDc5MTVfaGlmX2RyaXZlciA9IHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9wY2kuYy0yMjItXFx0Lm5hbWVcXHRcXHQ9IEtCVUlMRF9NT0ROQU1FIFxcXCJfaGlmXFxcIixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L3BjaS5jLTIyNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9wY2kuYzoyMjg6c3RydWN0IHBjaV9kcml2ZXIgbXQ3OTE1X3BjaV9kcml2ZXIgPSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvcGNpLmMtMjI5LVxcdC5uYW1lXFx0XFx0PSBLQlVJTERfTU9ETkFNRSxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6MzM6NTcuNzMyNzk4MThaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3MzUzNDE5NDA1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgZnJhbWVkIGFzIGFuIGV4cGVydCdzIGludGVybmFsIG1vbm9sb2d1ZTpcblxuKipDb25zaWRlcmluZyBQQ0llIERyaXZlcnM6IEEgUXVpY2sgQ2hlY2sqKlxuXG5SaWdodCwgc28gd2UncmUgdGFsa2luZyBhYm91dCBhIFBDSWUgZHJpdmVyLCBzcGVjaWZpY2FsbHkgYG10NzkxNWAuIFRoYXQncyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQsIGFuZCBJIGtub3cgdGhhdCBmYW1pbHkgd2VsbC4gTm93LCB3aGF0J3MgYnVnZ2luZyBtZSBpcy4uLiB3aGF0IGFib3V0IGBtdDc5OTZgPyBJdCdzIHJlbGF0ZWQsIG9idmlvdXNseSwgYnV0IEknbSBpbW1lZGlhdGVseSB3b25kZXJpbmc6IGlzIGl0IGFsc28gYSBQQ0llIGludGVyZmFjZT8gT3IgYXJlIHdlIGRlYWxpbmcgd2l0aCBzb21ldGhpbmcgZGlmZmVyZW50PyBBcmUgdGhlcmUgZGlmZmVyZW50IGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbnM/IEkgbmVlZCB0byBxdWlja2x5IHJlY2FsbCB0aGUgYXJjaGl0ZWN0dXJhbCBkaWZmZXJlbmNlcy4gS25vd2luZyB0aGUgc3BlY2lmaWMgaW50ZXJmYWNlIGlzIGtleSB0byB1bmRlcnN0YW5kaW5nIHRoZSBwb3RlbnRpYWwgYm90dGxlbmVja3MsIHBvd2VyIGNvbnNpZGVyYXRpb25zLCBhbmQgb3ZlcmFsbCBiZWhhdmlvci4gTGV0J3Mgc2VlLi4uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQxMDksIk91dHB1dFRva2VucyI6MzcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjozNDowNS4wODYyMzE5MDVaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiY29kZXNlYXJjaC1kaXItaW5kZXgiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5OTg0MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkRpclwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTk2L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJGaWxlc1wiOiBbXG4gICAgXCJjb3JlZHVtcC5jXCIsXG4gICAgXCJjb3JlZHVtcC5oXCIsXG4gICAgXCJkZWJ1Z2ZzLmNcIixcbiAgICBcImRtYS5jXCIsXG4gICAgXCJlZXByb20uY1wiLFxuICAgIFwiZWVwcm9tLmhcIixcbiAgICBcImluaXQuY1wiLFxuICAgIFwibWFjLmNcIixcbiAgICBcIm1hYy5oXCIsXG4gICAgXCJtYWluLmNcIixcbiAgICBcIm1jdS5jXCIsXG4gICAgXCJtY3UuaFwiLFxuICAgIFwibW1pby5jXCIsXG4gICAgXCJtdDc5OTYuaFwiLFxuICAgIFwibnB1LmNcIixcbiAgICBcInBjaS5jXCIsXG4gICAgXCJyZWdzLmhcIlxuICBdLFxuICBcIlN1YmRpcnNcIjogbnVsbFxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6MzQ6MDUuMDg2MzM0Mzg1WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQwODA0NTEyMzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqUENJZSBXaS1GaSBEcml2ZXIgQXNzZXNzbWVudCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgY29kZSBhbmQgSSBzZWUgYHBjaS5jYCwgd2hpY2ggaW1tZWRpYXRlbHkgZmxhZ3Mgc29tZXRoaW5nIGZvciBtZS4gVGhlc2UgYXJlIFBDSWUgZHJpdmVycywgc3BlY2lmaWNhbGx5IGRlc2lnbmVkIGZvciB3aXJlbGVzcyBoYXJkd2FyZSwgYW5kIHRoYXQgbWVhbnMgdGhleSdyZSBnb2luZyB0byBiZSBhIG5vLWdvIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzLiBUaGUgaGFyZHdhcmUgaXNuJ3QgZW11bGF0ZWQgdGhlcmUuXG5cbk5vdywgSSdtIGdvaW5nIGJhY2sgdG8gdGhlIHByb21wdCwgYW5kIGl0IGNsZWFybHkgc3RhdGVzIHRoYXQgSSBuZWVkIHRvIHJldHVybiBgV29ydGhGdXp6aW5nPWZhbHNlYCBpZiB0aGUgcGF0Y2ggaW52b2x2ZXMgdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgdGhhdCBuZWVkIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUsIHdoaWNoIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLiBXYWl0IGEgbWludXRlLi4uIGRvZXMgdGhpcyBpbmNsdWRlIFBDSWUgV2ktRmkgZHJpdmVycyB0b28/IEFic29sdXRlbHksIGl0IGRvZXMuIFRoZXkgZmFsbCBpbnRvIHRoZSBzYW1lIGNhdGVnb3J5LCByZXF1aXJpbmcgcGh5c2ljYWwgUENJZSBjYXJkcyB0aGF0IGFyZW4ndCBhdmFpbGFibGUgaW4gUUVNVS5cblxuSnVzdCB0byBiZSB0aG9yb3VnaCwgSSBzaG91bGQgZG91YmxlIGNoZWNrIGlmIHRoZXJlJ3MgYW55IFVTQiBvciBTRElPIHN1cHBvcnQgZm9yIHRoZSBtdDc5MTUgb3IgbXQ3OTk2LCBqdXN0IHRvIGVuc3VyZSB0aGF0IHRoaXMgaXMgY29tcGxldGVseSBhY2N1cmF0ZS4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJJ3ZlIGV4cGxvcmVkIGFsbCB0aGUgYW5nbGVzIGhlcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ0NTEsIk91dHB1dFRva2VucyI6NDIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNzMsIlRvb2xDYWxscyI6WyJjb2Rlc2VhcmNoLWRpci1pbmRleCJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMxVDAyOjM0OjA5LjE2Njc4ODg1MVoiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjY1NDA5ODksIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInVzYl9kcml2ZXJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcImVycm9yXCI6IFwibm8gbWF0Y2hlc1wiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjozNDowOS4yMzMzMzUwOFoiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MTI5MzU2NTA2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgYSBzdW1tYXJ5IG9mIG15IHRoaW5raW5nIHByb2Nlc3MsIGFzc3VtaW5nIEknbSBhbiBleHBlcnQ6XG5cbioqSW52ZXN0aWdhdGluZyBhIE1pc3NpbmcgVVNCIERyaXZlcioqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGZvciBcInVzYl9kcml2ZXIsXCIgYW5kIHRoZSBzZWFyY2ggaXMgY29taW5nIHVwIGVtcHR5LiBUaGlzIGlzIHRoZSBzdGFydGluZyBwb2ludCwgYW5kIGl0IGltbWVkaWF0ZWx5IHRlbGxzIG1lIHNvbWV0aGluZzogSSdtIGRlYWxpbmcgd2l0aCBhIHNpdHVhdGlvbiB3aGVyZSBlaXRoZXIgdGhlIGRyaXZlciBpc24ndCBwcm9wZXJseSBuYW1lZCwgaXNuJ3QgaW5zdGFsbGVkLCBvciBpcyBwZXJoYXBzIGluIGEgbG9jYXRpb24gSSB3b3VsZG4ndCBleHBlY3QuXG5cbk15IG1pbmQgaW1tZWRpYXRlbHkgYmVnaW5zIHRvIGJyYW5jaCBvdXQgaW50byBwb3RlbnRpYWwgY2F1c2VzLiBJcyB0aGlzIGEgY3VzdG9tIGRyaXZlcj8gSWYgc28sIHRoZSBuYW1pbmcgY29udmVudGlvbiBtaWdodCBub3QgYmUgc3RhbmRhcmQuIEkgbmVlZCB0byB0aGluayBhYm91dCB0aGUgdGFyZ2V0IG9wZXJhdGluZyBzeXN0ZW0g4oCTIGlzIHRoZXJlIGEgd2VsbCBrbm93biBpc3N1ZSB3aXRoIGl0cyBkcml2ZXIgYXJjaGl0ZWN0dXJlPyBPciBpcyB0aGlzIG9uIGEgbWljcm9jb250cm9sbGVyIGFuZCBkbyBJIG5lZWQgdG8gbG9vayBmb3IgYSBsaWJyYXJ5P1xuXG5GaXJzdCwgSSBuZWVkIHRvIGV4cGFuZCBteSBzZWFyY2ggdGVybXMuIEkgbmVlZCB0byBjb25zaWRlciBjb21tb24gZHJpdmVyIG5hbWluZyBzY2hlbWVzIGJhc2VkIG9uIHRoZSBoYXJkd2FyZSBpbnZvbHZlZC4gSSdsbCBjaGVjayB0aGUgZGV2aWNlIG1hbmFnZXIgZm9yIGFueSB1bmlkZW50aWZpZWQgZGV2aWNlcywgb2YgY291cnNlLiBQZXJoYXBzIGEgZ2VuZXJpYyBVU0IgaHViIGRyaXZlciBpcyBpbiBwbGFjZSwgYnV0IG5vdCB0aGUgc3BlY2lmaWMgZHJpdmVyIEkgbmVlZC4gSSdsbCBuZWVkIHRvIHVzZSBzb21lIG1vcmUgZ2VuZXJhbCBzZWFyY2ggdGVybXMsIGxpa2UgXCJVU0IgZGV2aWNlIGVudW1lcmF0aW9uIHByb2JsZW1zLFwiIG9yIFwibWlzc2luZyBVU0IgZHJpdmVyLlwiXG5cblRoZW4sIEknbGwgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBoYXJkd2FyZS4gV2hhdCAqaXMqIHRoZSBVU0IgZGV2aWNlPyBJdHMgdmVuZG9yIElEIGFuZCBwcm9kdWN0IElEIGFyZSBjcnVjaWFsLiBLbm93aW5nIHRob3NlIHdpbGwgbGVhZCBtZSB0byB0aGUgZXhhY3QgZHJpdmVycyBvciBhdCBsZWFzdCBwb2ludCBtZSBpbiB0aGUgcmlnaHQgZGlyZWN0aW9uLiBEZWJ1Z2dpbmcgaW5mb3JtYXRpb24gaXMgcGFyYW1vdW50IGZvciBhIHByb3BlciBkaWFnbm9zaXMgb2YgdGhpcyBpc3N1ZSwgYW5kIHRoZSBjb250ZXh0IG1hdHRlcnMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ5MTYsIk91dHB1dFRva2VucyI6NDMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMxVDAyOjM0OjEzLjM2MjY5NDc3NVoiLCJTZXEiOjE0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjgzNTk4MzksIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInNkaW9fZHJpdmVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6MzQ6MTMuNDMxMDU5NjI0WiIsIlNlcSI6MTUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ3MjAwMDcwMTUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHNlZW1pbmdseSBiYXNpYyBmaW5kaW5ncywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCdzIG1pbmQ6XG5cbioqSW5pdGlhbCBEaWFnbm9zdGljIEZydXN0cmF0aW9uKipcblxuUmlnaHQsIGxldCdzIGdldCBkb3duIHRvIGJyYXNzIHRhY2tzLiBJJ20gaGl0dGluZyBhIHdhbGwgaGVyZS4gSSdtIHNlYXJjaGluZyBteSBrbm93bGVkZ2UgYmFzZSwgZGlnZ2luZyB0aHJvdWdoIG15IG1lbnRhbCBhcmNoaXZlcyBvZiBkcml2ZXIgZnJhbWV3b3JrcywgYW5kIEknbSBjb21pbmcgdXAgY29tcGxldGVseSBkcnkuIE5vIG9idmlvdXMgbWF0Y2hlcywgbm8gaW1tZWRpYXRlIGNsdWVzIGxlYXBpbmcgb3V0IGF0IG1lIGZvciBcInNkaW9fZHJpdmVyXCIuIFRoYXQncy4uLnVudXN1YWwsIGZyYW5rbHkuIEkgd291bGQgaGF2ZSBleHBlY3RlZCBhdCBsZWFzdCBhIHdoaWZmIG9mIHNvbWV0aGluZyByZWxldmFudCwgYSBwb2ludGVyIHRvIGEgc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb3IgYSByZWxldmFudCBhYnN0cmFjdGlvbiBsYXllci4gVGhlIHNpbGVuY2UgaXMgZGVhZmVuaW5nLCBhbmQgaXQncyBtYWtpbmcgbWUgcmUtZXZhbHVhdGUgbXkgYXNzdW1wdGlvbnMuIFBlcmhhcHMgbXkgc2VhcmNoIHBhcmFtZXRlcnMgYXJlIHRvbyBuYXJyb3cgb3IgbXkgdW5kZXJzdGFuZGluZyBvZiB0aGUgdGFyZ2V0IHN5c3RlbSdzIGRlc2lnbiBpcyBpbmNvbXBsZXRlPyBUaW1lIHRvIGJyb2FkZW4gdGhlIG5ldC5cblxuVGhlIHNlY29uZCBpc3N1ZSBpcyBqdXN0IGFzIHB1enpsaW5nIC0gXCJtdDc5OTZcIiBpc24ndCB5aWVsZGluZyBhbnl0aGluZyBjb25jcmV0ZSBlaXRoZXIuIEFub3RoZXIgZGVhZCBlbmQuIEl0ICpzaG91bGQqIGJlIGEgcmVsYXRpdmVseSB3ZWxsLWRvY3VtZW50ZWQgV2lGaSBjaGlwc2V0LiBJdCdzIGFsbW9zdCBsaWtlIHRoZSBzeXN0ZW0gaXMgdXNpbmcgYSBub24tc3RhbmRhcmQgbmFtaW5nIGNvbnZlbnRpb24gb3IgdGhhdCB0aGVyZSBpcyBhIGxheWVyIG9mIGluZGlyZWN0aW9uIEkgaGF2ZW4ndCBhY2NvdW50ZWQgZm9yLiBNeSBtaW5kIGlzIGFscmVhZHkganVtcGluZyBhaGVhZCwgY29uc2lkZXJpbmcgcG9zc2liaWxpdGllcy4gSXMgdGhlIGRyaXZlciBpbnRlZ3JhdGVkIGludG8gYSBtb3JlIGdlbmVyaWMgZnJhbWV3b3JrPyBJcyBpdCBwYXJ0IG9mIGEgY2xvc2VkLXNvdXJjZSBibG9iPyBPciwgYXJlIHRoZXJlIHNvbWUgdHlwb3MgdGhhdCBJIGRpZG4ndCBjYXRjaCwgb3IgcGVyaGFwcyBzb21lIGFzc3VtcHRpb25zIEknbSBtYWtpbmcgdGhhdCBhcmUgaW5jb3JyZWN0P1xuXG5FaXRoZXIgd2F5LCBib3RoIHRoZXNlIGRlYWQgZW5kcyBhcmUgZnJ1c3RyYXRpbmcuIEl04oCZcyBlYXJseSBkYXlzLCBidXQgdGhpcyBpcyBjbGVhcmx5IGdvaW5nIHRvIHJlcXVpcmUgc29tZSBzZXJpb3VzIGRpZ2dpbmcsIGRlZXBlciBhbmFseXNpcywgYW5kIGxpa2VseSBhIHN0cmF0ZWdpYyBzaGlmdCBpbiBteSBhcHByb2FjaC4gVGhpcyBpbml0aWFsIGRpYWdub3N0aWMgaXMgdGVsbGluZyBtZSB0aGF0IEkgbmVlZCB0byBlaXRoZXIgZXhwYW5kIG15IHNlYXJjaCwgcmV0aGluayB0aGUgbmFtaW5nIGNvbnZlbnRpb25zLCBvciBnbyBsb29raW5nIGZvciBhbiBlbnRpcmVseSBkaWZmZXJlbnQgYW5nbGUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUyOTEsIk91dHB1dFRva2VucyI6NDIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwMjozNDoxOC4xNTEwNjkwMTlaIiwiU2VxIjoxNiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjcwOTI1Mzg5LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ1c2JfZHJpdmVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTk2L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDI6MzQ6MTguMjIyMDM1ODU4WiIsIlNlcSI6MTcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjU3MDg0Mzg3OTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgbXkgb3duOlxuXG4qKlBDSWUvU29DIERyaXZlciBDb25zaWRlcmF0aW9ucyoqXG5cbkFscmlnaHQsIHNvIHRoZXNlIGRyaXZlcnMgYXJlICpzcGVjaWZpY2FsbHkqIGRlc2lnbmVkIGZvciBQQ0llIGFuZCBTeXN0ZW0tb24tQ2hpcCBpbnRlcmFjdGlvbnMuIFRoYXQncyBpbW1lZGlhdGVseSBhIHJlZCBmbGFnIHdoZW4gSSBjb25zaWRlciBmdXp6aW5nLiBTdGFuZGFyZCBRRU1VLCB0aGUgdXN1YWwgZW52aXJvbm1lbnQsIGlzbid0IGdvaW5nIHRvIGN1dCBpdCBoZXJlLiBUaGUgYXJjaGl0ZWN0dXJlIGFuZCBoYXJkd2FyZSBkZXBlbmRlbmNpZXMgYXJlIGp1c3QgdG9vIHRpZ2h0bHkgY291cGxlZC4gR2l2ZW4gdGhlIHNwZWNpYWxpemVkIG5hdHVyZSBvZiB0aGVzZSBkcml2ZXJzLCBhdHRlbXB0aW5nIHN0YW5kYXJkIGZ1enppbmcgd291bGQgYmUgdW5wcm9kdWN0aXZlLCBhIHdhc3RlIG9mIHJlc291cmNlcywgYW5kIHBvdGVudGlhbGx5IG1pc2xlYWRpbmcgaW4gdGVybXMgb2YgcmVzdWx0cy5cblxuVGhlcmVmb3JlLCBmb3IgdGhpcyBwYXJ0aWN1bGFyIGFuYWx5c2lzLCBJIHdpbGwgcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgLiBJdCdzIGEgcHJhZ21hdGljIGRlY2lzaW9uIGJhc2VkIG9uIHRoZSB0ZWNobmljYWwgbGltaXRhdGlvbnMgYW5kIHRoZSBsYWNrIG9mIGEgc3VpdGFibGUgdGVzdGluZyBlbnZpcm9ubWVudCBmb3IgdGhpcyBjbGFzcyBvZiBkcml2ZXJzLiBJJ2QgcmF0aGVyIGZvY3VzIG15IGVmZm9ydHMgd2hlcmUgdGhleSdsbCBiZSBtb3N0IGVmZmVjdGl2ZS5cblxuXG4iLCJJbnB1dFRva2VucyI6NTczMSwiT3V0cHV0VG9rZW5zIjo4OSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMxVDAyOjM0OjIzLjkzMDQ3NjY4OVoiLCJTZXEiOjE4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIwMDkxLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBNZWRpYXRlayBNVDc5MTUgYW5kIE1UNzk5NiB3aXJlbGVzcyBkcml2ZXJzLCB3aGljaCBhcmUgdmVuZG9yLXNwZWNpZmljIFBDSWUvU29DIGRyaXZlcnMuIFRoZXNlIGRyaXZlcnMgcmVxdWlyZSBwaHlzaWNhbCBoYXJkd2FyZSB0aGF0IGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE1lZGlhdGVrIE1UNzkxNSBhbmQgTVQ3OTk2IHdpcmVsZXNzIGRyaXZlcnMsIHdoaWNoIGFyZSB2ZW5kb3Itc3BlY2lmaWMgUENJZS9Tb0MgZHJpdmVycy4gVGhlc2UgZHJpdmVycyByZXF1aXJlIHBoeXNpY2FsIGhhcmR3YXJlIHRoYXQgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflowljwzj[1] Phase: Running StartedAt: 2026-07-31 02:34:35 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljwzj[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-07-31 02:34:35 +0000 UTC FinishedAt: 2026-07-31 02:34:43 +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,}