Name: series-workflow5lwcs Phase: Failed StartedAt: 2026-06-24 16:20:07 +0000 UTC FinishedAt: 2026-06-24 16:30:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5lwcs[0] Phase: Succeeded StartedAt: 2026-06-24 16:20:07 +0000 UTC FinishedAt: 2026-06-24 16:30:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5lwcs[0].run-triage Phase: Succeeded StartedAt: 2026-06-24 16:20:07 +0000 UTC FinishedAt: 2026-06-24 16:30:03 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI0IDE2OjI5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgYWRkcyBhIHNoZWxsIHNjcmlwdCB0ZXN0IGNhc2UgZm9yIG5mdGFibGVzIGluIHRoZSB0ZXN0cy9zaGVsbCBkaXJlY3RvcnkuIEl0IGRvZXMgbm90IG1vZGlmeSBhbnkga2VybmVsIHNvdXJjZSBjb2RlLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yNCAxNjoyOTwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDAyNzY2ZDU1NjI4NGNkNmIwYjAwZDE3MGRhZDBlNjk4ODFmYTRiNjdcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEp1biAyNCAxNjoyOTo0NyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS90ZXN0cy9zaGVsbC90ZXN0Y2FzZXMvcGFja2V0cGF0aC90dW5uZWwtdnhsYW4gYi90ZXN0cy9zaGVsbC90ZXN0Y2FzZXMvcGFja2V0cGF0aC90dW5uZWwtdnhsYW5cbm5ldyBmaWxlIG1vZGUgMTAwNzU1XG5pbmRleCAwMDAwMDAwMDAwMDAwMC4uNTlmOTUxNmE4ZjI4ODRcbi0tLSAvZGV2L251bGxcbiYjNDM7JiM0MzsmIzQzOyBiL3Rlc3RzL3NoZWxsL3Rlc3RjYXNlcy9wYWNrZXRwYXRoL3R1bm5lbC12eGxhblxuQEAgLTAsMCAmIzQzOzEsMTAzIEBAXG4mIzQzOyMhL2Jpbi9iYXNoXG4mIzQzO1xuJiM0MzsjIE5GVF9URVNUX1JFUVVJUkVTKE5GVF9URVNUX0hBVkVfdGNwZHVtcClcbiYjNDM7XG4mIzQzOyMgT1ZFUkxBWSAoVGhlIFZpcnR1YWwgTmV0d29yaylcbiYjNDM7IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJiM0MzsjXG4mIzQzOyMgWyBuczA6IDEwLjAuMC4xIF0gICAgIFsgbnMxOiAxMC4wLjAuMiBdICAgICBbIG5zMjogMTAuMC4wLjMgXVxuJiM0MzsjICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8XG4mIzQzOyMgICAgKHZ4bGFuMCkgICAgICAgICAgICAgKHZ4bGFuMCkgICAgICAgICAgICAodnhsYW4wKVxuJiM0MzsjICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8XG4mIzQzOyMgICAgIHx+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fH5+fn5+fn5+fn5+fn5+fn5+fn5+fnxcbiYjNDM7IyAgICAgfCAgICAgICAgICAgICAgICAgbmZ0YWJsZXMgICAgICAgICAgICAgICAgICAgfFxuJiM0MzsjICAgICB8ICAgICAgICAgKGF0dGFjaGVzIHRoZSBVbmRlcmxheSBJUCkgICAgICAgICB8XG4mIzQzOyMgICAgIHx+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fH5+fn5+fn5+fn5+fn5+fn5+fn5+fnxcbiYjNDM7IyAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfFxuJiM0MzsjICAgICBbIDE5Mi4xNjguMS4xIF0gICBbIDE5Mi4xNjguMS4yIF0gICBbIDE5Mi4xNjguMS4zIF1cbiYjNDM7IyAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfFxuJiM0MzsjICAgICAmIzQzOy0tLS0tLS0tLS0tLS0tLS0tLVsgQnJpZGdlIF0tLS0tLS0tLS0tLS0tLS0tJiM0MztcbiYjNDM7I1VOREVSTEFZIChUaGUgUGh5c2ljYWwgTmV0d29yaylcbiYjNDM7XG4mIzQzO3RtcGZpbGU9XCYjMzQ7XCYjMzQ7XG4mIzQzO2NsZWFudXAoKSB7XG4mIzQzO1x0cm0gLWYgXCYjMzQ7JHRtcGZpbGVcJiMzNDtcbiYjNDM7XHRmb3IgaSBpbiBcJiMzNDske25zW0BdfVwmIzM0OzsgZG9cbiYjNDM7XHRcdGlwIG5ldG5zIGRlbCBcJiMzNDskaVwmIzM0O1xuJiM0MztcdGRvbmVcbiYjNDM7fVxuJiM0Mzt0cmFwIGNsZWFudXAgRVhJVFxuJiM0MztcbiYjNDM7c2V0IC1lXG4mIzQzO3NldCAteFxuJiM0MztcbiYjNDM7cm5kPSQobWt0ZW1wIC11IFhYWFhYWFhYKVxuJiM0Mztucz0oXCYjMzQ7c3ctJHJuZFwmIzM0OyBcJiMzNDt2eGxhbi1uczEtJHJuZFwmIzM0OyBcJiMzNDt2eGxhbi1uczItJHJuZFwmIzM0OyBcJiMzNDt2eGxhbi1uczMtJHJuZFwmIzM0OylcbiYjNDM7dG1wZmlsZT0kKG1rdGVtcClcbiYjNDM7XG4mIzQzO2ZvciBpIGluICQoc2VxIDAgMyk7IGRvXG4mIzQzO1x0aXAgbmV0bnMgYWRkIFwmIzM0OyR7bnNbJGldfVwmIzM0O1xuJiM0Mztkb25lXG4mIzQzO1xuJiM0MztpcCAtbiBcJiMzNDske25zWzBdfVwmIzM0OyBsaW5rIGFkZCBicjAgdHlwZSBicmlkZ2VcbiYjNDM7aXAgLW4gXCYjMzQ7JHtuc1swXX1cJiMzNDsgbGluayBzZXQgYnIwIHVwXG4mIzQzO1xuJiM0Mztmb3IgaSBpbiAxIDIgMzsgZG9cbiYjNDM7XHQjIGNyZWF0ZSB0aGUgbGluayBhbmQgbW92ZSBlbmRzIHRvIGFwcHJvcHJpYXRlIG5hbWVzcGFjZXNcbiYjNDM7XHRpcCBsaW5rIGFkZCB2ZXRoJGkgdHlwZSB2ZXRoIHBlZXIgbmFtZSB2ZXRoJHtpfV9zdyBuZXRucyBcJiMzNDske25zWzBdfVwmIzM0O1xuJiM0MztcdGlwIGxpbmsgc2V0IHZldGgkaSBuZXRucyBcJiMzNDske25zWyRpXX1cJiMzNDtcbiYjNDM7XG4mIzQzO1x0IyBsaW51eCBicmlkZ2UgKHN3aXRjaClcbiYjNDM7XHRpcCAtbiBcJiMzNDske25zWzBdfVwmIzM0OyBsaW5rIHNldCB2ZXRoJHtpfV9zdyBtYXN0ZXIgYnIwIHVwXG4mIzQzO1xuJiM0MztcdCMgY29uZmlndXJlIHRoZSBub2RlIHNpZGVcbiYjNDM7XHRpcCAtbiBcJiMzNDske25zWyRpXX1cJiMzNDsgYWRkciBhZGQgMTkyLjE2OC4xLiRpLzI0IGRldiB2ZXRoJGlcbiYjNDM7XHRpcCAtbiBcJiMzNDske25zWyRpXX1cJiMzNDsgbGluayBzZXQgdmV0aCRpIHVwXG4mIzQzO1x0aXAgLW4gXCYjMzQ7JHtuc1skaV19XCYjMzQ7IGxpbmsgc2V0IGxvIHVwXG4mIzQzO1xuJiM0MztcdCMgY3JlYXRlIHRoZSBPdmVybGF5IFZYTEFOIGludGVyZmFjZVxuJiM0MztcdGlwIC1uIFwmIzM0OyR7bnNbJGldfVwmIzM0OyBsaW5rIGFkZCB2eGxhbjAgdHlwZSB2eGxhbiBkc3Rwb3J0IDQ3ODkgZXh0ZXJuYWxcbiYjNDM7XHRpcCAtbiBcJiMzNDske25zWyRpXX1cJiMzNDsgYWRkciBhZGQgMTAuMC4wLiRpLzI0IGRldiB2eGxhbjBcbiYjNDM7XHRpcCAtbiBcJiMzNDske25zWyRpXX1cJiMzNDsgbGluayBzZXQgdnhsYW4wIHVwXG4mIzQzO1xuJiM0MztcdCMgcm91dGUgdGhlIEVOVElSRSBvdmVybGF5IHN1Ym5ldCBpbnRvIHRoZSBzaW5nbGUgVlhMQU4gZGV2aWNlXG4mIzQzOyMgaXAgLW4gXCYjMzQ7JHtuc1skaV19XCYjMzQ7IHJvdXRlIGFkZCAxMC4wLjAuMC8yNCBkZXYgdnhsYW4wXG4mIzQzO2RvbmVcbiYjNDM7XG4mIzQzOyMgY2hlY2sgd2UgY2Fubm90IHJlYWNoIHRoZSBwZWVyIHZpYSB0aGUgb3ZlcmxheSBuZXR3b3JrIGFzLWlzXG4mIzQzO2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAxIDEwLjAuMC4yIFx1MDAyNlx1MDAyNiBleGl0IDFcbiYjNDM7aXAgbmV0bnMgZXhlYyAke25zWzFdfSBwaW5nIC1jIDIgMTAuMC4wLjMgXHUwMDI2XHUwMDI2IGV4aXQgMVxuJiM0MztcbiYjNDM7Zm9yIGkgaW4gMSAyIDM7IGRvXG4mIzQzO1x0ZWNobyBcJiMzNDt0YWJsZSBuZXRkZXYgdCB7XCYjMzQ7IFx1MDAzZSBcJiMzNDskdG1wZmlsZVwmIzM0O1xuJiM0MztcbiYjNDM7XHRmb3IgaiBpbiAxIDIgMyA7IGRvXG4mIzQzO1x0XHRbICRqIC1lcSAkaSBdIFx1MDAyNlx1MDAyNiBjb250aW51ZVxuJiM0MztcdFx0ZWNobyBcJiMzNDt0dW5uZWwgdHVuX3RvX25zJGogeyBpZCAxMDA7IGlwIHNhZGRyIDE5Mi4xNjguMS4kaTsgaXAgZGFkZHIgMTkyLjE2OC4xLiRqOyB9XCYjMzQ7IFx1MDAzZVx1MDAzZSBcJiMzNDskdG1wZmlsZVwmIzM0O1xuJiM0MztcdGRvbmVcbiYjNDM7Y2F0IC0gXHUwMDNlXHUwMDNlIFwmIzM0OyR0bXBmaWxlXCYjMzQ7IFx1MDAzY1x1MDAzY0VPRlxuJiM0MztjaGFpbiBlZ3Jlc3NfZmlsdGVyIHtcbiYjNDM7ICAgICAgICAgdHlwZSBmaWx0ZXIgaG9vayBlZ3Jlc3MgZGV2aWNlIFwmIzM0O3Z4bGFuMFwmIzM0OyBwcmlvcml0eSAwOyBwb2xpY3kgYWNjZXB0O1xuJiM0MztFT0ZcbiYjNDM7XHRmb3IgaiBpbiAxIDIgMyA7IGRvXG4mIzQzO1x0XHRbICRqIC1lcSAkaSBdIFx1MDAyNlx1MDAyNiBjb250aW51ZVxuJiM0MztcdFx0ZWNobyBpcCBkYWRkciAxMC4wLjAuJGogdHVubmVsIG5hbWUgXCYjMzQ7dHVuX3RvX25zJGpcJiMzNDsgXHUwMDNlXHUwMDNlIFwmIzM0OyR0bXBmaWxlXCYjMzQ7XG4mIzQzO1x0XHRlY2hvIGFycCBkYWRkciBpcCAxMC4wLjAuJGogdHVubmVsIG5hbWUgXCYjMzQ7dHVuX3RvX25zJGpcJiMzNDsgXHUwMDNlXHUwMDNlIFwmIzM0OyR0bXBmaWxlXCYjMzQ7XG4mIzQzO1x0ZG9uZVxuJiM0MztjYXQgLSBcdTAwM2VcdTAwM2UgXCYjMzQ7JHRtcGZpbGVcJiMzNDsgXHUwMDNjXHUwMDNjRU9GXG4mIzQzOyAgICAgfVxuJiM0Mzt9XG4mIzQzO0VPRlxuJiM0MztpcCBuZXRucyBleGVjICR7bnNbJGldfSAkTkZUIC1mICR0bXBmaWxlXG4mIzQzO2RvbmVcbiYjNDM7XG4mIzQzO3RpbWVvdXQgMyBpcCBuZXRucyBleGVjICR7bnNbMF19IHRjcGR1bXAgLS1pbW1lZGlhdGUtbW9kZSAtbm5pIGJyMCAtdyBcJiMzNDskdG1wZmlsZVwmIzM0OyBcdTAwMjZcbiYjNDM7dHBpZD0kIVxuJiM0MztzbGVlcCAxXG4mIzQzO1xuJiM0MztpcCBuZXRucyBleGVjICR7bnNbMV19IHBpbmcgLWMgMSAxMC4wLjAuMlxuJiM0MztpcCBuZXRucyBleGVjICR7bnNbMV19IHBpbmcgLWMgMiAxMC4wLjAuM1xuJiM0MztcbiYjNDM7a2lsbCBcJiMzNDskdHBpZFwmIzM0O1xuJiM0Mzt3YWl0XG4mIzQzO3RjcGR1bXAgLW4gLXIgXCYjMzQ7JHRtcGZpbGVcJiMzNDsgfCBncmVwIC1xIFZYTEFOXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjQgMTY6Mjk8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBhZGRzIGEgc2hlbGwgc2NyaXB0IHRlc3QgY2FzZSBmb3IgbmZ0YWJsZXMgaW4gdGhlIHRlc3RzL3NoZWxsIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbW9kaWZ5IGFueSBrZXJuZWwgc291cmNlIGNvZGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAwMjc2NmQ1NTYyODRjZDZiMGIwMGQxNzBkYWQwZTY5ODgxZmE0YjY3CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFdlZCBKdW4gMjQgMTY6Mjk6NDcgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS90ZXN0cy9zaGVsbC90ZXN0Y2FzZXMvcGFja2V0cGF0aC90dW5uZWwtdnhsYW4gYi90ZXN0cy9zaGVsbC90ZXN0Y2FzZXMvcGFja2V0cGF0aC90dW5uZWwtdnhsYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjU5Zjk1MTZhOGYyODg0Ci0tLSAvZGV2L251bGwKJiM0MzsmIzQzOyYjNDM7IGIvdGVzdHMvc2hlbGwvdGVzdGNhc2VzL3BhY2tldHBhdGgvdHVubmVsLXZ4bGFuCkBAIC0wLDAgJiM0MzsxLDEwMyBAQAomIzQzOyMhL2Jpbi9iYXNoCiYjNDM7CiYjNDM7IyBORlRfVEVTVF9SRVFVSVJFUyhORlRfVEVTVF9IQVZFX3RjcGR1bXApCiYjNDM7CiYjNDM7IyBPVkVSTEFZIChUaGUgVmlydHVhbCBOZXR3b3JrKQomIzQzOyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KJiM0MzsjCiYjNDM7IyBbIG5zMDogMTAuMC4wLjEgXSAgICAgWyBuczE6IDEwLjAuMC4yIF0gICAgIFsgbnMyOiAxMC4wLjAuMyBdCiYjNDM7IyAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfAomIzQzOyMgICAgKHZ4bGFuMCkgICAgICAgICAgICAgKHZ4bGFuMCkgICAgICAgICAgICAodnhsYW4wKQomIzQzOyMgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwKJiM0MzsjICAgICB8fn5+fn5+fn5+fn5+fn5+fn5+fn5+fnx+fn5+fn5+fn5+fn5+fn5+fn5+fn58CiYjNDM7IyAgICAgfCAgICAgICAgICAgICAgICAgbmZ0YWJsZXMgICAgICAgICAgICAgICAgICAgfAomIzQzOyMgICAgIHwgICAgICAgICAoYXR0YWNoZXMgdGhlIFVuZGVybGF5IElQKSAgICAgICAgIHwKJiM0MzsjICAgICB8fn5+fn5+fn5+fn5+fn5+fn5+fn5+fnx+fn5+fn5+fn5+fn5+fn5+fn5+fn58CiYjNDM7IyAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfAomIzQzOyMgICAgIFsgMTkyLjE2OC4xLjEgXSAgIFsgMTkyLjE2OC4xLjIgXSAgIFsgMTkyLjE2OC4xLjMgXQomIzQzOyMgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwKJiM0MzsjICAgICAmIzQzOy0tLS0tLS0tLS0tLS0tLS0tLVsgQnJpZGdlIF0tLS0tLS0tLS0tLS0tLS0tJiM0MzsKJiM0MzsjVU5ERVJMQVkgKFRoZSBQaHlzaWNhbCBOZXR3b3JrKQomIzQzOwomIzQzO3RtcGZpbGU9JiMzNDsmIzM0OwomIzQzO2NsZWFudXAoKSB7CiYjNDM7CXJtIC1mICYjMzQ7JHRtcGZpbGUmIzM0OwomIzQzOwlmb3IgaSBpbiAmIzM0OyR7bnNbQF19JiMzNDs7IGRvCiYjNDM7CQlpcCBuZXRucyBkZWwgJiMzNDskaSYjMzQ7CiYjNDM7CWRvbmUKJiM0Mzt9CiYjNDM7dHJhcCBjbGVhbnVwIEVYSVQKJiM0MzsKJiM0MztzZXQgLWUKJiM0MztzZXQgLXgKJiM0MzsKJiM0MztybmQ9JChta3RlbXAgLXUgWFhYWFhYWFgpCiYjNDM7bnM9KCYjMzQ7c3ctJHJuZCYjMzQ7ICYjMzQ7dnhsYW4tbnMxLSRybmQmIzM0OyAmIzM0O3Z4bGFuLW5zMi0kcm5kJiMzNDsgJiMzNDt2eGxhbi1uczMtJHJuZCYjMzQ7KQomIzQzO3RtcGZpbGU9JChta3RlbXApCiYjNDM7CiYjNDM7Zm9yIGkgaW4gJChzZXEgMCAzKTsgZG8KJiM0MzsJaXAgbmV0bnMgYWRkICYjMzQ7JHtuc1skaV19JiMzNDsKJiM0Mztkb25lCiYjNDM7CiYjNDM7aXAgLW4gJiMzNDske25zWzBdfSYjMzQ7IGxpbmsgYWRkIGJyMCB0eXBlIGJyaWRnZQomIzQzO2lwIC1uICYjMzQ7JHtuc1swXX0mIzM0OyBsaW5rIHNldCBicjAgdXAKJiM0MzsKJiM0Mztmb3IgaSBpbiAxIDIgMzsgZG8KJiM0MzsJIyBjcmVhdGUgdGhlIGxpbmsgYW5kIG1vdmUgZW5kcyB0byBhcHByb3ByaWF0ZSBuYW1lc3BhY2VzCiYjNDM7CWlwIGxpbmsgYWRkIHZldGgkaSB0eXBlIHZldGggcGVlciBuYW1lIHZldGgke2l9X3N3IG5ldG5zICYjMzQ7JHtuc1swXX0mIzM0OwomIzQzOwlpcCBsaW5rIHNldCB2ZXRoJGkgbmV0bnMgJiMzNDske25zWyRpXX0mIzM0OwomIzQzOwomIzQzOwkjIGxpbnV4IGJyaWRnZSAoc3dpdGNoKQomIzQzOwlpcCAtbiAmIzM0OyR7bnNbMF19JiMzNDsgbGluayBzZXQgdmV0aCR7aX1fc3cgbWFzdGVyIGJyMCB1cAomIzQzOwomIzQzOwkjIGNvbmZpZ3VyZSB0aGUgbm9kZSBzaWRlCiYjNDM7CWlwIC1uICYjMzQ7JHtuc1skaV19JiMzNDsgYWRkciBhZGQgMTkyLjE2OC4xLiRpLzI0IGRldiB2ZXRoJGkKJiM0MzsJaXAgLW4gJiMzNDske25zWyRpXX0mIzM0OyBsaW5rIHNldCB2ZXRoJGkgdXAKJiM0MzsJaXAgLW4gJiMzNDske25zWyRpXX0mIzM0OyBsaW5rIHNldCBsbyB1cAomIzQzOwomIzQzOwkjIGNyZWF0ZSB0aGUgT3ZlcmxheSBWWExBTiBpbnRlcmZhY2UKJiM0MzsJaXAgLW4gJiMzNDske25zWyRpXX0mIzM0OyBsaW5rIGFkZCB2eGxhbjAgdHlwZSB2eGxhbiBkc3Rwb3J0IDQ3ODkgZXh0ZXJuYWwKJiM0MzsJaXAgLW4gJiMzNDske25zWyRpXX0mIzM0OyBhZGRyIGFkZCAxMC4wLjAuJGkvMjQgZGV2IHZ4bGFuMAomIzQzOwlpcCAtbiAmIzM0OyR7bnNbJGldfSYjMzQ7IGxpbmsgc2V0IHZ4bGFuMCB1cAomIzQzOwomIzQzOwkjIHJvdXRlIHRoZSBFTlRJUkUgb3ZlcmxheSBzdWJuZXQgaW50byB0aGUgc2luZ2xlIFZYTEFOIGRldmljZQomIzQzOyMgaXAgLW4gJiMzNDske25zWyRpXX0mIzM0OyByb3V0ZSBhZGQgMTAuMC4wLjAvMjQgZGV2IHZ4bGFuMAomIzQzO2RvbmUKJiM0MzsKJiM0MzsjIGNoZWNrIHdlIGNhbm5vdCByZWFjaCB0aGUgcGVlciB2aWEgdGhlIG92ZXJsYXkgbmV0d29yayBhcy1pcwomIzQzO2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAxIDEwLjAuMC4yICZhbXA7JmFtcDsgZXhpdCAxCiYjNDM7aXAgbmV0bnMgZXhlYyAke25zWzFdfSBwaW5nIC1jIDIgMTAuMC4wLjMgJmFtcDsmYW1wOyBleGl0IDEKJiM0MzsKJiM0Mztmb3IgaSBpbiAxIDIgMzsgZG8KJiM0MzsJZWNobyAmIzM0O3RhYmxlIG5ldGRldiB0IHsmIzM0OyAmZ3Q7ICYjMzQ7JHRtcGZpbGUmIzM0OwomIzQzOwomIzQzOwlmb3IgaiBpbiAxIDIgMyA7IGRvCiYjNDM7CQlbICRqIC1lcSAkaSBdICZhbXA7JmFtcDsgY29udGludWUKJiM0MzsJCWVjaG8gJiMzNDt0dW5uZWwgdHVuX3RvX25zJGogeyBpZCAxMDA7IGlwIHNhZGRyIDE5Mi4xNjguMS4kaTsgaXAgZGFkZHIgMTkyLjE2OC4xLiRqOyB9JiMzNDsgJmd0OyZndDsgJiMzNDskdG1wZmlsZSYjMzQ7CiYjNDM7CWRvbmUKJiM0MztjYXQgLSAmZ3Q7Jmd0OyAmIzM0OyR0bXBmaWxlJiMzNDsgJmx0OyZsdDtFT0YKJiM0MztjaGFpbiBlZ3Jlc3NfZmlsdGVyIHsKJiM0MzsgICAgICAgICB0eXBlIGZpbHRlciBob29rIGVncmVzcyBkZXZpY2UgJiMzNDt2eGxhbjAmIzM0OyBwcmlvcml0eSAwOyBwb2xpY3kgYWNjZXB0OwomIzQzO0VPRgomIzQzOwlmb3IgaiBpbiAxIDIgMyA7IGRvCiYjNDM7CQlbICRqIC1lcSAkaSBdICZhbXA7JmFtcDsgY29udGludWUKJiM0MzsJCWVjaG8gaXAgZGFkZHIgMTAuMC4wLiRqIHR1bm5lbCBuYW1lICYjMzQ7dHVuX3RvX25zJGomIzM0OyAmZ3Q7Jmd0OyAmIzM0OyR0bXBmaWxlJiMzNDsKJiM0MzsJCWVjaG8gYXJwIGRhZGRyIGlwIDEwLjAuMC4kaiB0dW5uZWwgbmFtZSAmIzM0O3R1bl90b19ucyRqJiMzNDsgJmd0OyZndDsgJiMzNDskdG1wZmlsZSYjMzQ7CiYjNDM7CWRvbmUKJiM0MztjYXQgLSAmZ3Q7Jmd0OyAmIzM0OyR0bXBmaWxlJiMzNDsgJmx0OyZsdDtFT0YKJiM0MzsgICAgIH0KJiM0Mzt9CiYjNDM7RU9GCiYjNDM7aXAgbmV0bnMgZXhlYyAke25zWyRpXX0gJE5GVCAtZiAkdG1wZmlsZQomIzQzO2RvbmUKJiM0MzsKJiM0Mzt0aW1lb3V0IDMgaXAgbmV0bnMgZXhlYyAke25zWzBdfSB0Y3BkdW1wIC0taW1tZWRpYXRlLW1vZGUgLW5uaSBicjAgLXcgJiMzNDskdG1wZmlsZSYjMzQ7ICZhbXA7CiYjNDM7dHBpZD0kIQomIzQzO3NsZWVwIDEKJiM0MzsKJiM0MztpcCBuZXRucyBleGVjICR7bnNbMV19IHBpbmcgLWMgMSAxMC4wLjAuMgomIzQzO2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAyIDEwLjAuMC4zCiYjNDM7CiYjNDM7a2lsbCAmIzM0OyR0cGlkJiMzNDsKJiM0Mzt3YWl0CiYjNDM7dGNwZHVtcCAtbiAtciAmIzM0OyR0bXBmaWxlJiMzNDsgfCBncmVwIC1xIFZYTEFOCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI0IDE2OjI5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMwMDYKCQkJCQkJCW91dHB1dDogNTkKCQkJCQkJCXRob3VnaHRzOiA4NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBc3Nlc3NpbmcgdGhlIEZ1enppbmcgSW1wYWN0KioKCk9rYXksIGxldCBtZSBxdWlja2x5IHJ1biB0aHJvdWdoIHRoaXMgcGF0Y2guIEl0JiMzOTtzIGZvY3VzZWQgb24gYWRkaW5nIGEgbmV3IHRlc3QgY2FzZSBmb3IgbmZ0YWJsZXMsIHNwZWNpZmljYWxseSBhIGB0dW5uZWwtdnhsYW5gIHNjZW5hcmlvLCBuZXN0bGVkIHdpdGhpbiB0aGUgYHRlc3RzL3NoZWxsL3Rlc3RjYXNlcy9wYWNrZXRwYXRoL2AgZGlyZWN0b3J5LiBDcnVjaWFsbHksIGl0JiMzOTtzIGp1c3QgYSBzaGVsbCBzY3JpcHQuIFRoZXJlJiMzOTtzIG5vIG1vZGlmaWNhdGlvbiBvZiB0aGUga2VybmVsIHNvdXJjZSBjb2RlIGl0c2VsZi4gR2l2ZW4gbXkgZXhwZXJ0aXNlLCBJIGtub3cgdGhhdCBjaGFuZ2VzIGluIHNoZWxsIHNjcmlwdHMsIHdoaWxlIHZhbHVhYmxlIGZvciB0ZXN0aW5nIGNvbmZpZ3VyYXRpb25zIGFuZCBlZGdlIGNhc2VzLCBkb24mIzM5O3QgZGlyZWN0bHkgaW50cm9kdWNlIG5ldyBrZXJuZWwgY29kZSBwYXRocyB0aGF0IHdhcnJhbnQgZm9jdXNlZCBmdXp6aW5nLiBUaGV5IGV4ZXJjaXNlIGV4aXN0aW5nIGNvZGUsIGJ1dCBkb24mIzM5O3QgKmNyZWF0ZSogbmV3IGF0dGFjayBzdXJmYWNlcyBpbiB0aGUga2VybmVsIGl0c2VsZi4gVGhlcmVmb3JlLCBldmVuIHRob3VnaCB0aGUgdGVzdCBpcyBuZXcgYW5kIHVzZWZ1bCwgZnJvbSBhIGZ1enppbmcgcGVyc3BlY3RpdmUsIGl0JiMzOTtzIG5vdCBpbnRyb2R1Y2luZyBhbnkgbm92ZWwgb3IgZnVuY3Rpb25hbGx5IGFsdGVyZWQga2VybmVsIGJlaGF2aW9yLgoKU28sIEkmIzM5O20gY29uZmlkZW50bHkgcmV0dXJuaW5nIGBXb3J0aEZ1enppbmc9ZmFsc2VgLiBUaGUgcGF0Y2ggZG9lc24mIzM5O3Qgd2FycmFudCBkZWRpY2F0ZWQgZnV6emluZyBlZmZvcnRzIGF0IHRoaXMgc3RhZ2UuIFdlIGhhdmUgbW9yZSBpbXBhY3RmdWwgYXJlYXMgdG8gcHJpb3JpdGl6ZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yNCAxNjoyOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgYWRkcyBhIHNoZWxsIHNjcmlwdCB0ZXN0IGNhc2UgZm9yIG5mdGFibGVzIGluIHRoZSB0ZXN0cy9zaGVsbCBkaXJlY3RvcnkuIEl0IGRvZXMgbm90IG1vZGlmeSBhbnkga2VybmVsIHNvdXJjZSBjb2RlLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBhZGRzIGEgc2hlbGwgc2NyaXB0IHRlc3QgY2FzZSBmb3IgbmZ0YWJsZXMgaW4gdGhlIHRlc3RzL3NoZWxsIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbW9kaWZ5IGFueSBrZXJuZWwgc291cmNlIGNvZGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDYtMjRUMTY6Mjk6NDguMzIyNDg1MzQ1WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDc0MjMyOTk5MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBhZGRzIGEgc2hlbGwgc2NyaXB0IHRlc3QgY2FzZSBmb3IgbmZ0YWJsZXMgaW4gdGhlIHRlc3RzL3NoZWxsIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbW9kaWZ5IGFueSBrZXJuZWwgc291cmNlIGNvZGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yNFQxNjoyOTo0OC4zMjI0OTEzOTRaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ3MDIyMzU2OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDAyNzY2ZDU1NjI4NGNkNmIwYjAwZDE3MGRhZDBlNjk4ODFmYTRiNjdcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFdlZCBKdW4gMjQgMTY6Mjk6NDcgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvdGVzdHMvc2hlbGwvdGVzdGNhc2VzL3BhY2tldHBhdGgvdHVubmVsLXZ4bGFuIGIvdGVzdHMvc2hlbGwvdGVzdGNhc2VzL3BhY2tldHBhdGgvdHVubmVsLXZ4bGFuXFxubmV3IGZpbGUgbW9kZSAxMDA3NTVcXG5pbmRleCAwMDAwMDAwMDAwMDAwMC4uNTlmOTUxNmE4ZjI4ODRcXG4tLS0gL2Rldi9udWxsXFxuKysrIGIvdGVzdHMvc2hlbGwvdGVzdGNhc2VzL3BhY2tldHBhdGgvdHVubmVsLXZ4bGFuXFxuQEAgLTAsMCArMSwxMDMgQEBcXG4rIyEvYmluL2Jhc2hcXG4rXFxuKyMgTkZUX1RFU1RfUkVRVUlSRVMoTkZUX1RFU1RfSEFWRV90Y3BkdW1wKVxcbitcXG4rIyBPVkVSTEFZIChUaGUgVmlydHVhbCBOZXR3b3JrKVxcbisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09XFxuKyNcXG4rIyBbIG5zMDogMTAuMC4wLjEgXSAgICAgWyBuczE6IDEwLjAuMC4yIF0gICAgIFsgbnMyOiAxMC4wLjAuMyBdXFxuKyMgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHxcXG4rIyAgICAodnhsYW4wKSAgICAgICAgICAgICAodnhsYW4wKSAgICAgICAgICAgICh2eGxhbjApXFxuKyMgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHxcXG4rIyAgICAgfH5+fn5+fn5+fn5+fn5+fn5+fn5+fn58fn5+fn5+fn5+fn5+fn5+fn5+fn5+fFxcbisjICAgICB8ICAgICAgICAgICAgICAgICBuZnRhYmxlcyAgICAgICAgICAgICAgICAgICB8XFxuKyMgICAgIHwgICAgICAgICAoYXR0YWNoZXMgdGhlIFVuZGVybGF5IElQKSAgICAgICAgIHxcXG4rIyAgICAgfH5+fn5+fn5+fn5+fn5+fn5+fn5+fn58fn5+fn5+fn5+fn5+fn5+fn5+fn5+fFxcbisjICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8XFxuKyMgICAgIFsgMTkyLjE2OC4xLjEgXSAgIFsgMTkyLjE2OC4xLjIgXSAgIFsgMTkyLjE2OC4xLjMgXVxcbisjICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8XFxuKyMgICAgICstLS0tLS0tLS0tLS0tLS0tLS1bIEJyaWRnZSBdLS0tLS0tLS0tLS0tLS0tLStcXG4rI1VOREVSTEFZIChUaGUgUGh5c2ljYWwgTmV0d29yaylcXG4rXFxuK3RtcGZpbGU9XFxcIlxcXCJcXG4rY2xlYW51cCgpIHtcXG4rXFx0cm0gLWYgXFxcIiR0bXBmaWxlXFxcIlxcbitcXHRmb3IgaSBpbiBcXFwiJHtuc1tAXX1cXFwiOyBkb1xcbitcXHRcXHRpcCBuZXRucyBkZWwgXFxcIiRpXFxcIlxcbitcXHRkb25lXFxuK31cXG4rdHJhcCBjbGVhbnVwIEVYSVRcXG4rXFxuK3NldCAtZVxcbitzZXQgLXhcXG4rXFxuK3JuZD0kKG1rdGVtcCAtdSBYWFhYWFhYWClcXG4rbnM9KFxcXCJzdy0kcm5kXFxcIiBcXFwidnhsYW4tbnMxLSRybmRcXFwiIFxcXCJ2eGxhbi1uczItJHJuZFxcXCIgXFxcInZ4bGFuLW5zMy0kcm5kXFxcIilcXG4rdG1wZmlsZT0kKG1rdGVtcClcXG4rXFxuK2ZvciBpIGluICQoc2VxIDAgMyk7IGRvXFxuK1xcdGlwIG5ldG5zIGFkZCBcXFwiJHtuc1skaV19XFxcIlxcbitkb25lXFxuK1xcbitpcCAtbiBcXFwiJHtuc1swXX1cXFwiIGxpbmsgYWRkIGJyMCB0eXBlIGJyaWRnZVxcbitpcCAtbiBcXFwiJHtuc1swXX1cXFwiIGxpbmsgc2V0IGJyMCB1cFxcbitcXG4rZm9yIGkgaW4gMSAyIDM7IGRvXFxuK1xcdCMgY3JlYXRlIHRoZSBsaW5rIGFuZCBtb3ZlIGVuZHMgdG8gYXBwcm9wcmlhdGUgbmFtZXNwYWNlc1xcbitcXHRpcCBsaW5rIGFkZCB2ZXRoJGkgdHlwZSB2ZXRoIHBlZXIgbmFtZSB2ZXRoJHtpfV9zdyBuZXRucyBcXFwiJHtuc1swXX1cXFwiXFxuK1xcdGlwIGxpbmsgc2V0IHZldGgkaSBuZXRucyBcXFwiJHtuc1skaV19XFxcIlxcbitcXG4rXFx0IyBsaW51eCBicmlkZ2UgKHN3aXRjaClcXG4rXFx0aXAgLW4gXFxcIiR7bnNbMF19XFxcIiBsaW5rIHNldCB2ZXRoJHtpfV9zdyBtYXN0ZXIgYnIwIHVwXFxuK1xcbitcXHQjIGNvbmZpZ3VyZSB0aGUgbm9kZSBzaWRlXFxuK1xcdGlwIC1uIFxcXCIke25zWyRpXX1cXFwiIGFkZHIgYWRkIDE5Mi4xNjguMS4kaS8yNCBkZXYgdmV0aCRpXFxuK1xcdGlwIC1uIFxcXCIke25zWyRpXX1cXFwiIGxpbmsgc2V0IHZldGgkaSB1cFxcbitcXHRpcCAtbiBcXFwiJHtuc1skaV19XFxcIiBsaW5rIHNldCBsbyB1cFxcbitcXG4rXFx0IyBjcmVhdGUgdGhlIE92ZXJsYXkgVlhMQU4gaW50ZXJmYWNlXFxuK1xcdGlwIC1uIFxcXCIke25zWyRpXX1cXFwiIGxpbmsgYWRkIHZ4bGFuMCB0eXBlIHZ4bGFuIGRzdHBvcnQgNDc4OSBleHRlcm5hbFxcbitcXHRpcCAtbiBcXFwiJHtuc1skaV19XFxcIiBhZGRyIGFkZCAxMC4wLjAuJGkvMjQgZGV2IHZ4bGFuMFxcbitcXHRpcCAtbiBcXFwiJHtuc1skaV19XFxcIiBsaW5rIHNldCB2eGxhbjAgdXBcXG4rXFxuK1xcdCMgcm91dGUgdGhlIEVOVElSRSBvdmVybGF5IHN1Ym5ldCBpbnRvIHRoZSBzaW5nbGUgVlhMQU4gZGV2aWNlXFxuKyMgaXAgLW4gXFxcIiR7bnNbJGldfVxcXCIgcm91dGUgYWRkIDEwLjAuMC4wLzI0IGRldiB2eGxhbjBcXG4rZG9uZVxcbitcXG4rIyBjaGVjayB3ZSBjYW5ub3QgcmVhY2ggdGhlIHBlZXIgdmlhIHRoZSBvdmVybGF5IG5ldHdvcmsgYXMtaXNcXG4raXAgbmV0bnMgZXhlYyAke25zWzFdfSBwaW5nIC1jIDEgMTAuMC4wLjIgXFx1MDAyNlxcdTAwMjYgZXhpdCAxXFxuK2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAyIDEwLjAuMC4zIFxcdTAwMjZcXHUwMDI2IGV4aXQgMVxcbitcXG4rZm9yIGkgaW4gMSAyIDM7IGRvXFxuK1xcdGVjaG8gXFxcInRhYmxlIG5ldGRldiB0IHtcXFwiIFxcdTAwM2UgXFxcIiR0bXBmaWxlXFxcIlxcbitcXG4rXFx0Zm9yIGogaW4gMSAyIDMgOyBkb1xcbitcXHRcXHRbICRqIC1lcSAkaSBdIFxcdTAwMjZcXHUwMDI2IGNvbnRpbnVlXFxuK1xcdFxcdGVjaG8gXFxcInR1bm5lbCB0dW5fdG9fbnMkaiB7IGlkIDEwMDsgaXAgc2FkZHIgMTkyLjE2OC4xLiRpOyBpcCBkYWRkciAxOTIuMTY4LjEuJGo7IH1cXFwiIFxcdTAwM2VcXHUwMDNlIFxcXCIkdG1wZmlsZVxcXCJcXG4rXFx0ZG9uZVxcbitjYXQgLSBcXHUwMDNlXFx1MDAzZSBcXFwiJHRtcGZpbGVcXFwiIFxcdTAwM2NcXHUwMDNjRU9GXFxuK2NoYWluIGVncmVzc19maWx0ZXIge1xcbisgICAgICAgICB0eXBlIGZpbHRlciBob29rIGVncmVzcyBkZXZpY2UgXFxcInZ4bGFuMFxcXCIgcHJpb3JpdHkgMDsgcG9saWN5IGFjY2VwdDtcXG4rRU9GXFxuK1xcdGZvciBqIGluIDEgMiAzIDsgZG9cXG4rXFx0XFx0WyAkaiAtZXEgJGkgXSBcXHUwMDI2XFx1MDAyNiBjb250aW51ZVxcbitcXHRcXHRlY2hvIGlwIGRhZGRyIDEwLjAuMC4kaiB0dW5uZWwgbmFtZSBcXFwidHVuX3RvX25zJGpcXFwiIFxcdTAwM2VcXHUwMDNlIFxcXCIkdG1wZmlsZVxcXCJcXG4rXFx0XFx0ZWNobyBhcnAgZGFkZHIgaXAgMTAuMC4wLiRqIHR1bm5lbCBuYW1lIFxcXCJ0dW5fdG9fbnMkalxcXCIgXFx1MDAzZVxcdTAwM2UgXFxcIiR0bXBmaWxlXFxcIlxcbitcXHRkb25lXFxuK2NhdCAtIFxcdTAwM2VcXHUwMDNlIFxcXCIkdG1wZmlsZVxcXCIgXFx1MDAzY1xcdTAwM2NFT0ZcXG4rICAgICB9XFxuK31cXG4rRU9GXFxuK2lwIG5ldG5zIGV4ZWMgJHtuc1skaV19ICRORlQgLWYgJHRtcGZpbGVcXG4rZG9uZVxcbitcXG4rdGltZW91dCAzIGlwIG5ldG5zIGV4ZWMgJHtuc1swXX0gdGNwZHVtcCAtLWltbWVkaWF0ZS1tb2RlIC1ubmkgYnIwIC13IFxcXCIkdG1wZmlsZVxcXCIgXFx1MDAyNlxcbit0cGlkPSQhXFxuK3NsZWVwIDFcXG4rXFxuK2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAxIDEwLjAuMC4yXFxuK2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAyIDEwLjAuMC4zXFxuK1xcbitraWxsIFxcXCIkdHBpZFxcXCJcXG4rd2FpdFxcbit0Y3BkdW1wIC1uIC1yIFxcXCIkdG1wZmlsZVxcXCIgfCBncmVwIC1xIFZYTEFOXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTI0VDE2OjI5OjQ4Ljc5MzU2NTU2M1oiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDI3MTI0MzE5MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBhZGRzIGEgc2hlbGwgc2NyaXB0IHRlc3QgY2FzZSBmb3IgbmZ0YWJsZXMgaW4gdGhlIHRlc3RzL3NoZWxsIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbW9kaWZ5IGFueSBrZXJuZWwgc291cmNlIGNvZGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDAyNzY2ZDU1NjI4NGNkNmIwYjAwZDE3MGRhZDBlNjk4ODFmYTRiNjdcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEp1biAyNCAxNjoyOTo0NyAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL3Rlc3RzL3NoZWxsL3Rlc3RjYXNlcy9wYWNrZXRwYXRoL3R1bm5lbC12eGxhbiBiL3Rlc3RzL3NoZWxsL3Rlc3RjYXNlcy9wYWNrZXRwYXRoL3R1bm5lbC12eGxhblxubmV3IGZpbGUgbW9kZSAxMDA3NTVcbmluZGV4IDAwMDAwMDAwMDAwMDAwLi41OWY5NTE2YThmMjg4NFxuLS0tIC9kZXYvbnVsbFxuKysrIGIvdGVzdHMvc2hlbGwvdGVzdGNhc2VzL3BhY2tldHBhdGgvdHVubmVsLXZ4bGFuXG5AQCAtMCwwICsxLDEwMyBAQFxuKyMhL2Jpbi9iYXNoXG4rXG4rIyBORlRfVEVTVF9SRVFVSVJFUyhORlRfVEVTVF9IQVZFX3RjcGR1bXApXG4rXG4rIyBPVkVSTEFZIChUaGUgVmlydHVhbCBOZXR3b3JrKVxuKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbisjXG4rIyBbIG5zMDogMTAuMC4wLjEgXSAgICAgWyBuczE6IDEwLjAuMC4yIF0gICAgIFsgbnMyOiAxMC4wLjAuMyBdXG4rIyAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfFxuKyMgICAgKHZ4bGFuMCkgICAgICAgICAgICAgKHZ4bGFuMCkgICAgICAgICAgICAodnhsYW4wKVxuKyMgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHxcbisjICAgICB8fn5+fn5+fn5+fn5+fn5+fn5+fn5+fnx+fn5+fn5+fn5+fn5+fn5+fn5+fn58XG4rIyAgICAgfCAgICAgICAgICAgICAgICAgbmZ0YWJsZXMgICAgICAgICAgICAgICAgICAgfFxuKyMgICAgIHwgICAgICAgICAoYXR0YWNoZXMgdGhlIFVuZGVybGF5IElQKSAgICAgICAgIHxcbisjICAgICB8fn5+fn5+fn5+fn5+fn5+fn5+fn5+fnx+fn5+fn5+fn5+fn5+fn5+fn5+fn58XG4rIyAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfFxuKyMgICAgIFsgMTkyLjE2OC4xLjEgXSAgIFsgMTkyLjE2OC4xLjIgXSAgIFsgMTkyLjE2OC4xLjMgXVxuKyMgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHxcbisjICAgICArLS0tLS0tLS0tLS0tLS0tLS0tWyBCcmlkZ2UgXS0tLS0tLS0tLS0tLS0tLS0rXG4rI1VOREVSTEFZIChUaGUgUGh5c2ljYWwgTmV0d29yaylcbitcbit0bXBmaWxlPVwiXCJcbitjbGVhbnVwKCkge1xuK1x0cm0gLWYgXCIkdG1wZmlsZVwiXG4rXHRmb3IgaSBpbiBcIiR7bnNbQF19XCI7IGRvXG4rXHRcdGlwIG5ldG5zIGRlbCBcIiRpXCJcbitcdGRvbmVcbit9XG4rdHJhcCBjbGVhbnVwIEVYSVRcbitcbitzZXQgLWVcbitzZXQgLXhcbitcbitybmQ9JChta3RlbXAgLXUgWFhYWFhYWFgpXG4rbnM9KFwic3ctJHJuZFwiIFwidnhsYW4tbnMxLSRybmRcIiBcInZ4bGFuLW5zMi0kcm5kXCIgXCJ2eGxhbi1uczMtJHJuZFwiKVxuK3RtcGZpbGU9JChta3RlbXApXG4rXG4rZm9yIGkgaW4gJChzZXEgMCAzKTsgZG9cbitcdGlwIG5ldG5zIGFkZCBcIiR7bnNbJGldfVwiXG4rZG9uZVxuK1xuK2lwIC1uIFwiJHtuc1swXX1cIiBsaW5rIGFkZCBicjAgdHlwZSBicmlkZ2VcbitpcCAtbiBcIiR7bnNbMF19XCIgbGluayBzZXQgYnIwIHVwXG4rXG4rZm9yIGkgaW4gMSAyIDM7IGRvXG4rXHQjIGNyZWF0ZSB0aGUgbGluayBhbmQgbW92ZSBlbmRzIHRvIGFwcHJvcHJpYXRlIG5hbWVzcGFjZXNcbitcdGlwIGxpbmsgYWRkIHZldGgkaSB0eXBlIHZldGggcGVlciBuYW1lIHZldGgke2l9X3N3IG5ldG5zIFwiJHtuc1swXX1cIlxuK1x0aXAgbGluayBzZXQgdmV0aCRpIG5ldG5zIFwiJHtuc1skaV19XCJcbitcbitcdCMgbGludXggYnJpZGdlIChzd2l0Y2gpXG4rXHRpcCAtbiBcIiR7bnNbMF19XCIgbGluayBzZXQgdmV0aCR7aX1fc3cgbWFzdGVyIGJyMCB1cFxuK1xuK1x0IyBjb25maWd1cmUgdGhlIG5vZGUgc2lkZVxuK1x0aXAgLW4gXCIke25zWyRpXX1cIiBhZGRyIGFkZCAxOTIuMTY4LjEuJGkvMjQgZGV2IHZldGgkaVxuK1x0aXAgLW4gXCIke25zWyRpXX1cIiBsaW5rIHNldCB2ZXRoJGkgdXBcbitcdGlwIC1uIFwiJHtuc1skaV19XCIgbGluayBzZXQgbG8gdXBcbitcbitcdCMgY3JlYXRlIHRoZSBPdmVybGF5IFZYTEFOIGludGVyZmFjZVxuK1x0aXAgLW4gXCIke25zWyRpXX1cIiBsaW5rIGFkZCB2eGxhbjAgdHlwZSB2eGxhbiBkc3Rwb3J0IDQ3ODkgZXh0ZXJuYWxcbitcdGlwIC1uIFwiJHtuc1skaV19XCIgYWRkciBhZGQgMTAuMC4wLiRpLzI0IGRldiB2eGxhbjBcbitcdGlwIC1uIFwiJHtuc1skaV19XCIgbGluayBzZXQgdnhsYW4wIHVwXG4rXG4rXHQjIHJvdXRlIHRoZSBFTlRJUkUgb3ZlcmxheSBzdWJuZXQgaW50byB0aGUgc2luZ2xlIFZYTEFOIGRldmljZVxuKyMgaXAgLW4gXCIke25zWyRpXX1cIiByb3V0ZSBhZGQgMTAuMC4wLjAvMjQgZGV2IHZ4bGFuMFxuK2RvbmVcbitcbisjIGNoZWNrIHdlIGNhbm5vdCByZWFjaCB0aGUgcGVlciB2aWEgdGhlIG92ZXJsYXkgbmV0d29yayBhcy1pc1xuK2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAxIDEwLjAuMC4yIFx1MDAyNlx1MDAyNiBleGl0IDFcbitpcCBuZXRucyBleGVjICR7bnNbMV19IHBpbmcgLWMgMiAxMC4wLjAuMyBcdTAwMjZcdTAwMjYgZXhpdCAxXG4rXG4rZm9yIGkgaW4gMSAyIDM7IGRvXG4rXHRlY2hvIFwidGFibGUgbmV0ZGV2IHQge1wiIFx1MDAzZSBcIiR0bXBmaWxlXCJcbitcbitcdGZvciBqIGluIDEgMiAzIDsgZG9cbitcdFx0WyAkaiAtZXEgJGkgXSBcdTAwMjZcdTAwMjYgY29udGludWVcbitcdFx0ZWNobyBcInR1bm5lbCB0dW5fdG9fbnMkaiB7IGlkIDEwMDsgaXAgc2FkZHIgMTkyLjE2OC4xLiRpOyBpcCBkYWRkciAxOTIuMTY4LjEuJGo7IH1cIiBcdTAwM2VcdTAwM2UgXCIkdG1wZmlsZVwiXG4rXHRkb25lXG4rY2F0IC0gXHUwMDNlXHUwMDNlIFwiJHRtcGZpbGVcIiBcdTAwM2NcdTAwM2NFT0ZcbitjaGFpbiBlZ3Jlc3NfZmlsdGVyIHtcbisgICAgICAgICB0eXBlIGZpbHRlciBob29rIGVncmVzcyBkZXZpY2UgXCJ2eGxhbjBcIiBwcmlvcml0eSAwOyBwb2xpY3kgYWNjZXB0O1xuK0VPRlxuK1x0Zm9yIGogaW4gMSAyIDMgOyBkb1xuK1x0XHRbICRqIC1lcSAkaSBdIFx1MDAyNlx1MDAyNiBjb250aW51ZVxuK1x0XHRlY2hvIGlwIGRhZGRyIDEwLjAuMC4kaiB0dW5uZWwgbmFtZSBcInR1bl90b19ucyRqXCIgXHUwMDNlXHUwMDNlIFwiJHRtcGZpbGVcIlxuK1x0XHRlY2hvIGFycCBkYWRkciBpcCAxMC4wLjAuJGogdHVubmVsIG5hbWUgXCJ0dW5fdG9fbnMkalwiIFx1MDAzZVx1MDAzZSBcIiR0bXBmaWxlXCJcbitcdGRvbmVcbitjYXQgLSBcdTAwM2VcdTAwM2UgXCIkdG1wZmlsZVwiIFx1MDAzY1x1MDAzY0VPRlxuKyAgICAgfVxuK31cbitFT0ZcbitpcCBuZXRucyBleGVjICR7bnNbJGldfSAkTkZUIC1mICR0bXBmaWxlXG4rZG9uZVxuK1xuK3RpbWVvdXQgMyBpcCBuZXRucyBleGVjICR7bnNbMF19IHRjcGR1bXAgLS1pbW1lZGlhdGUtbW9kZSAtbm5pIGJyMCAtdyBcIiR0bXBmaWxlXCIgXHUwMDI2XG4rdHBpZD0kIVxuK3NsZWVwIDFcbitcbitpcCBuZXRucyBleGVjICR7bnNbMV19IHBpbmcgLWMgMSAxMC4wLjAuMlxuK2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAyIDEwLjAuMC4zXG4rXG4ra2lsbCBcIiR0cGlkXCJcbit3YWl0XG4rdGNwZHVtcCAtbiAtciBcIiR0bXBmaWxlXCIgfCBncmVwIC1xIFZYTEFOXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yNFQxNjoyOTo0OC43OTM1NzM1NDNaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MjcxMjEwNTQzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFzc2Vzc2luZyB0aGUgRnV6emluZyBJbXBhY3QqKlxuXG5Pa2F5LCBsZXQgbWUgcXVpY2tseSBydW4gdGhyb3VnaCB0aGlzIHBhdGNoLiBJdCdzIGZvY3VzZWQgb24gYWRkaW5nIGEgbmV3IHRlc3QgY2FzZSBmb3IgbmZ0YWJsZXMsIHNwZWNpZmljYWxseSBhIGB0dW5uZWwtdnhsYW5gIHNjZW5hcmlvLCBuZXN0bGVkIHdpdGhpbiB0aGUgYHRlc3RzL3NoZWxsL3Rlc3RjYXNlcy9wYWNrZXRwYXRoL2AgZGlyZWN0b3J5LiBDcnVjaWFsbHksIGl0J3MganVzdCBhIHNoZWxsIHNjcmlwdC4gVGhlcmUncyBubyBtb2RpZmljYXRpb24gb2YgdGhlIGtlcm5lbCBzb3VyY2UgY29kZSBpdHNlbGYuIEdpdmVuIG15IGV4cGVydGlzZSwgSSBrbm93IHRoYXQgY2hhbmdlcyBpbiBzaGVsbCBzY3JpcHRzLCB3aGlsZSB2YWx1YWJsZSBmb3IgdGVzdGluZyBjb25maWd1cmF0aW9ucyBhbmQgZWRnZSBjYXNlcywgZG9uJ3QgZGlyZWN0bHkgaW50cm9kdWNlIG5ldyBrZXJuZWwgY29kZSBwYXRocyB0aGF0IHdhcnJhbnQgZm9jdXNlZCBmdXp6aW5nLiBUaGV5IGV4ZXJjaXNlIGV4aXN0aW5nIGNvZGUsIGJ1dCBkb24ndCAqY3JlYXRlKiBuZXcgYXR0YWNrIHN1cmZhY2VzIGluIHRoZSBrZXJuZWwgaXRzZWxmLiBUaGVyZWZvcmUsIGV2ZW4gdGhvdWdoIHRoZSB0ZXN0IGlzIG5ldyBhbmQgdXNlZnVsLCBmcm9tIGEgZnV6emluZyBwZXJzcGVjdGl2ZSwgaXQncyBub3QgaW50cm9kdWNpbmcgYW55IG5vdmVsIG9yIGZ1bmN0aW9uYWxseSBhbHRlcmVkIGtlcm5lbCBiZWhhdmlvci5cblxuU28sIEknbSBjb25maWRlbnRseSByZXR1cm5pbmcgYFdvcnRoRnV6emluZz1mYWxzZWAuIFRoZSBwYXRjaCBkb2Vzbid0IHdhcnJhbnQgZGVkaWNhdGVkIGZ1enppbmcgZWZmb3J0cyBhdCB0aGlzIHN0YWdlLiBXZSBoYXZlIG1vcmUgaW1wYWN0ZnVsIGFyZWFzIHRvIHByaW9yaXRpemUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjMwMDYsIk91dHB1dFRva2VucyI6NTksIk91dHB1dFRob3VnaHRzVG9rZW5zIjo4NiwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTI0VDE2OjI5OjUzLjA2NDc4NjY2N1oiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjA1MjAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBhZGRzIGEgc2hlbGwgc2NyaXB0IHRlc3QgY2FzZSBmb3IgbmZ0YWJsZXMgaW4gdGhlIHRlc3RzL3NoZWxsIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbW9kaWZ5IGFueSBrZXJuZWwgc291cmNlIGNvZGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IGFkZHMgYSBzaGVsbCBzY3JpcHQgdGVzdCBjYXNlIGZvciBuZnRhYmxlcyBpbiB0aGUgdGVzdHMvc2hlbGwgZGlyZWN0b3J5LiBJdCBkb2VzIG5vdCBtb2RpZnkgYW55IGtlcm5lbCBzb3VyY2UgY29kZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow5lwcs[0].run-triage(0) Phase: Succeeded StartedAt: 2026-06-24 16:20:07 +0000 UTC FinishedAt: 2026-06-24 16:29:53 +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+CgkJCTx0ZD4yMDI2LzA2LzI0IDE2OjI5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgYWRkcyBhIHNoZWxsIHNjcmlwdCB0ZXN0IGNhc2UgZm9yIG5mdGFibGVzIGluIHRoZSB0ZXN0cy9zaGVsbCBkaXJlY3RvcnkuIEl0IGRvZXMgbm90IG1vZGlmeSBhbnkga2VybmVsIHNvdXJjZSBjb2RlLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yNCAxNjoyOTwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDAyNzY2ZDU1NjI4NGNkNmIwYjAwZDE3MGRhZDBlNjk4ODFmYTRiNjdcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEp1biAyNCAxNjoyOTo0NyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS90ZXN0cy9zaGVsbC90ZXN0Y2FzZXMvcGFja2V0cGF0aC90dW5uZWwtdnhsYW4gYi90ZXN0cy9zaGVsbC90ZXN0Y2FzZXMvcGFja2V0cGF0aC90dW5uZWwtdnhsYW5cbm5ldyBmaWxlIG1vZGUgMTAwNzU1XG5pbmRleCAwMDAwMDAwMDAwMDAwMC4uNTlmOTUxNmE4ZjI4ODRcbi0tLSAvZGV2L251bGxcbiYjNDM7JiM0MzsmIzQzOyBiL3Rlc3RzL3NoZWxsL3Rlc3RjYXNlcy9wYWNrZXRwYXRoL3R1bm5lbC12eGxhblxuQEAgLTAsMCAmIzQzOzEsMTAzIEBAXG4mIzQzOyMhL2Jpbi9iYXNoXG4mIzQzO1xuJiM0MzsjIE5GVF9URVNUX1JFUVVJUkVTKE5GVF9URVNUX0hBVkVfdGNwZHVtcClcbiYjNDM7XG4mIzQzOyMgT1ZFUkxBWSAoVGhlIFZpcnR1YWwgTmV0d29yaylcbiYjNDM7IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJiM0MzsjXG4mIzQzOyMgWyBuczA6IDEwLjAuMC4xIF0gICAgIFsgbnMxOiAxMC4wLjAuMiBdICAgICBbIG5zMjogMTAuMC4wLjMgXVxuJiM0MzsjICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8XG4mIzQzOyMgICAgKHZ4bGFuMCkgICAgICAgICAgICAgKHZ4bGFuMCkgICAgICAgICAgICAodnhsYW4wKVxuJiM0MzsjICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8XG4mIzQzOyMgICAgIHx+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fH5+fn5+fn5+fn5+fn5+fn5+fn5+fnxcbiYjNDM7IyAgICAgfCAgICAgICAgICAgICAgICAgbmZ0YWJsZXMgICAgICAgICAgICAgICAgICAgfFxuJiM0MzsjICAgICB8ICAgICAgICAgKGF0dGFjaGVzIHRoZSBVbmRlcmxheSBJUCkgICAgICAgICB8XG4mIzQzOyMgICAgIHx+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fH5+fn5+fn5+fn5+fn5+fn5+fn5+fnxcbiYjNDM7IyAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfFxuJiM0MzsjICAgICBbIDE5Mi4xNjguMS4xIF0gICBbIDE5Mi4xNjguMS4yIF0gICBbIDE5Mi4xNjguMS4zIF1cbiYjNDM7IyAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfFxuJiM0MzsjICAgICAmIzQzOy0tLS0tLS0tLS0tLS0tLS0tLVsgQnJpZGdlIF0tLS0tLS0tLS0tLS0tLS0tJiM0MztcbiYjNDM7I1VOREVSTEFZIChUaGUgUGh5c2ljYWwgTmV0d29yaylcbiYjNDM7XG4mIzQzO3RtcGZpbGU9XCYjMzQ7XCYjMzQ7XG4mIzQzO2NsZWFudXAoKSB7XG4mIzQzO1x0cm0gLWYgXCYjMzQ7JHRtcGZpbGVcJiMzNDtcbiYjNDM7XHRmb3IgaSBpbiBcJiMzNDske25zW0BdfVwmIzM0OzsgZG9cbiYjNDM7XHRcdGlwIG5ldG5zIGRlbCBcJiMzNDskaVwmIzM0O1xuJiM0MztcdGRvbmVcbiYjNDM7fVxuJiM0Mzt0cmFwIGNsZWFudXAgRVhJVFxuJiM0MztcbiYjNDM7c2V0IC1lXG4mIzQzO3NldCAteFxuJiM0MztcbiYjNDM7cm5kPSQobWt0ZW1wIC11IFhYWFhYWFhYKVxuJiM0Mztucz0oXCYjMzQ7c3ctJHJuZFwmIzM0OyBcJiMzNDt2eGxhbi1uczEtJHJuZFwmIzM0OyBcJiMzNDt2eGxhbi1uczItJHJuZFwmIzM0OyBcJiMzNDt2eGxhbi1uczMtJHJuZFwmIzM0OylcbiYjNDM7dG1wZmlsZT0kKG1rdGVtcClcbiYjNDM7XG4mIzQzO2ZvciBpIGluICQoc2VxIDAgMyk7IGRvXG4mIzQzO1x0aXAgbmV0bnMgYWRkIFwmIzM0OyR7bnNbJGldfVwmIzM0O1xuJiM0Mztkb25lXG4mIzQzO1xuJiM0MztpcCAtbiBcJiMzNDske25zWzBdfVwmIzM0OyBsaW5rIGFkZCBicjAgdHlwZSBicmlkZ2VcbiYjNDM7aXAgLW4gXCYjMzQ7JHtuc1swXX1cJiMzNDsgbGluayBzZXQgYnIwIHVwXG4mIzQzO1xuJiM0Mztmb3IgaSBpbiAxIDIgMzsgZG9cbiYjNDM7XHQjIGNyZWF0ZSB0aGUgbGluayBhbmQgbW92ZSBlbmRzIHRvIGFwcHJvcHJpYXRlIG5hbWVzcGFjZXNcbiYjNDM7XHRpcCBsaW5rIGFkZCB2ZXRoJGkgdHlwZSB2ZXRoIHBlZXIgbmFtZSB2ZXRoJHtpfV9zdyBuZXRucyBcJiMzNDske25zWzBdfVwmIzM0O1xuJiM0MztcdGlwIGxpbmsgc2V0IHZldGgkaSBuZXRucyBcJiMzNDske25zWyRpXX1cJiMzNDtcbiYjNDM7XG4mIzQzO1x0IyBsaW51eCBicmlkZ2UgKHN3aXRjaClcbiYjNDM7XHRpcCAtbiBcJiMzNDske25zWzBdfVwmIzM0OyBsaW5rIHNldCB2ZXRoJHtpfV9zdyBtYXN0ZXIgYnIwIHVwXG4mIzQzO1xuJiM0MztcdCMgY29uZmlndXJlIHRoZSBub2RlIHNpZGVcbiYjNDM7XHRpcCAtbiBcJiMzNDske25zWyRpXX1cJiMzNDsgYWRkciBhZGQgMTkyLjE2OC4xLiRpLzI0IGRldiB2ZXRoJGlcbiYjNDM7XHRpcCAtbiBcJiMzNDske25zWyRpXX1cJiMzNDsgbGluayBzZXQgdmV0aCRpIHVwXG4mIzQzO1x0aXAgLW4gXCYjMzQ7JHtuc1skaV19XCYjMzQ7IGxpbmsgc2V0IGxvIHVwXG4mIzQzO1xuJiM0MztcdCMgY3JlYXRlIHRoZSBPdmVybGF5IFZYTEFOIGludGVyZmFjZVxuJiM0MztcdGlwIC1uIFwmIzM0OyR7bnNbJGldfVwmIzM0OyBsaW5rIGFkZCB2eGxhbjAgdHlwZSB2eGxhbiBkc3Rwb3J0IDQ3ODkgZXh0ZXJuYWxcbiYjNDM7XHRpcCAtbiBcJiMzNDske25zWyRpXX1cJiMzNDsgYWRkciBhZGQgMTAuMC4wLiRpLzI0IGRldiB2eGxhbjBcbiYjNDM7XHRpcCAtbiBcJiMzNDske25zWyRpXX1cJiMzNDsgbGluayBzZXQgdnhsYW4wIHVwXG4mIzQzO1xuJiM0MztcdCMgcm91dGUgdGhlIEVOVElSRSBvdmVybGF5IHN1Ym5ldCBpbnRvIHRoZSBzaW5nbGUgVlhMQU4gZGV2aWNlXG4mIzQzOyMgaXAgLW4gXCYjMzQ7JHtuc1skaV19XCYjMzQ7IHJvdXRlIGFkZCAxMC4wLjAuMC8yNCBkZXYgdnhsYW4wXG4mIzQzO2RvbmVcbiYjNDM7XG4mIzQzOyMgY2hlY2sgd2UgY2Fubm90IHJlYWNoIHRoZSBwZWVyIHZpYSB0aGUgb3ZlcmxheSBuZXR3b3JrIGFzLWlzXG4mIzQzO2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAxIDEwLjAuMC4yIFx1MDAyNlx1MDAyNiBleGl0IDFcbiYjNDM7aXAgbmV0bnMgZXhlYyAke25zWzFdfSBwaW5nIC1jIDIgMTAuMC4wLjMgXHUwMDI2XHUwMDI2IGV4aXQgMVxuJiM0MztcbiYjNDM7Zm9yIGkgaW4gMSAyIDM7IGRvXG4mIzQzO1x0ZWNobyBcJiMzNDt0YWJsZSBuZXRkZXYgdCB7XCYjMzQ7IFx1MDAzZSBcJiMzNDskdG1wZmlsZVwmIzM0O1xuJiM0MztcbiYjNDM7XHRmb3IgaiBpbiAxIDIgMyA7IGRvXG4mIzQzO1x0XHRbICRqIC1lcSAkaSBdIFx1MDAyNlx1MDAyNiBjb250aW51ZVxuJiM0MztcdFx0ZWNobyBcJiMzNDt0dW5uZWwgdHVuX3RvX25zJGogeyBpZCAxMDA7IGlwIHNhZGRyIDE5Mi4xNjguMS4kaTsgaXAgZGFkZHIgMTkyLjE2OC4xLiRqOyB9XCYjMzQ7IFx1MDAzZVx1MDAzZSBcJiMzNDskdG1wZmlsZVwmIzM0O1xuJiM0MztcdGRvbmVcbiYjNDM7Y2F0IC0gXHUwMDNlXHUwMDNlIFwmIzM0OyR0bXBmaWxlXCYjMzQ7IFx1MDAzY1x1MDAzY0VPRlxuJiM0MztjaGFpbiBlZ3Jlc3NfZmlsdGVyIHtcbiYjNDM7ICAgICAgICAgdHlwZSBmaWx0ZXIgaG9vayBlZ3Jlc3MgZGV2aWNlIFwmIzM0O3Z4bGFuMFwmIzM0OyBwcmlvcml0eSAwOyBwb2xpY3kgYWNjZXB0O1xuJiM0MztFT0ZcbiYjNDM7XHRmb3IgaiBpbiAxIDIgMyA7IGRvXG4mIzQzO1x0XHRbICRqIC1lcSAkaSBdIFx1MDAyNlx1MDAyNiBjb250aW51ZVxuJiM0MztcdFx0ZWNobyBpcCBkYWRkciAxMC4wLjAuJGogdHVubmVsIG5hbWUgXCYjMzQ7dHVuX3RvX25zJGpcJiMzNDsgXHUwMDNlXHUwMDNlIFwmIzM0OyR0bXBmaWxlXCYjMzQ7XG4mIzQzO1x0XHRlY2hvIGFycCBkYWRkciBpcCAxMC4wLjAuJGogdHVubmVsIG5hbWUgXCYjMzQ7dHVuX3RvX25zJGpcJiMzNDsgXHUwMDNlXHUwMDNlIFwmIzM0OyR0bXBmaWxlXCYjMzQ7XG4mIzQzO1x0ZG9uZVxuJiM0MztjYXQgLSBcdTAwM2VcdTAwM2UgXCYjMzQ7JHRtcGZpbGVcJiMzNDsgXHUwMDNjXHUwMDNjRU9GXG4mIzQzOyAgICAgfVxuJiM0Mzt9XG4mIzQzO0VPRlxuJiM0MztpcCBuZXRucyBleGVjICR7bnNbJGldfSAkTkZUIC1mICR0bXBmaWxlXG4mIzQzO2RvbmVcbiYjNDM7XG4mIzQzO3RpbWVvdXQgMyBpcCBuZXRucyBleGVjICR7bnNbMF19IHRjcGR1bXAgLS1pbW1lZGlhdGUtbW9kZSAtbm5pIGJyMCAtdyBcJiMzNDskdG1wZmlsZVwmIzM0OyBcdTAwMjZcbiYjNDM7dHBpZD0kIVxuJiM0MztzbGVlcCAxXG4mIzQzO1xuJiM0MztpcCBuZXRucyBleGVjICR7bnNbMV19IHBpbmcgLWMgMSAxMC4wLjAuMlxuJiM0MztpcCBuZXRucyBleGVjICR7bnNbMV19IHBpbmcgLWMgMiAxMC4wLjAuM1xuJiM0MztcbiYjNDM7a2lsbCBcJiMzNDskdHBpZFwmIzM0O1xuJiM0Mzt3YWl0XG4mIzQzO3RjcGR1bXAgLW4gLXIgXCYjMzQ7JHRtcGZpbGVcJiMzNDsgfCBncmVwIC1xIFZYTEFOXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjQgMTY6Mjk8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBhZGRzIGEgc2hlbGwgc2NyaXB0IHRlc3QgY2FzZSBmb3IgbmZ0YWJsZXMgaW4gdGhlIHRlc3RzL3NoZWxsIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbW9kaWZ5IGFueSBrZXJuZWwgc291cmNlIGNvZGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAwMjc2NmQ1NTYyODRjZDZiMGIwMGQxNzBkYWQwZTY5ODgxZmE0YjY3CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFdlZCBKdW4gMjQgMTY6Mjk6NDcgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS90ZXN0cy9zaGVsbC90ZXN0Y2FzZXMvcGFja2V0cGF0aC90dW5uZWwtdnhsYW4gYi90ZXN0cy9zaGVsbC90ZXN0Y2FzZXMvcGFja2V0cGF0aC90dW5uZWwtdnhsYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjU5Zjk1MTZhOGYyODg0Ci0tLSAvZGV2L251bGwKJiM0MzsmIzQzOyYjNDM7IGIvdGVzdHMvc2hlbGwvdGVzdGNhc2VzL3BhY2tldHBhdGgvdHVubmVsLXZ4bGFuCkBAIC0wLDAgJiM0MzsxLDEwMyBAQAomIzQzOyMhL2Jpbi9iYXNoCiYjNDM7CiYjNDM7IyBORlRfVEVTVF9SRVFVSVJFUyhORlRfVEVTVF9IQVZFX3RjcGR1bXApCiYjNDM7CiYjNDM7IyBPVkVSTEFZIChUaGUgVmlydHVhbCBOZXR3b3JrKQomIzQzOyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KJiM0MzsjCiYjNDM7IyBbIG5zMDogMTAuMC4wLjEgXSAgICAgWyBuczE6IDEwLjAuMC4yIF0gICAgIFsgbnMyOiAxMC4wLjAuMyBdCiYjNDM7IyAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfAomIzQzOyMgICAgKHZ4bGFuMCkgICAgICAgICAgICAgKHZ4bGFuMCkgICAgICAgICAgICAodnhsYW4wKQomIzQzOyMgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwKJiM0MzsjICAgICB8fn5+fn5+fn5+fn5+fn5+fn5+fn5+fnx+fn5+fn5+fn5+fn5+fn5+fn5+fn58CiYjNDM7IyAgICAgfCAgICAgICAgICAgICAgICAgbmZ0YWJsZXMgICAgICAgICAgICAgICAgICAgfAomIzQzOyMgICAgIHwgICAgICAgICAoYXR0YWNoZXMgdGhlIFVuZGVybGF5IElQKSAgICAgICAgIHwKJiM0MzsjICAgICB8fn5+fn5+fn5+fn5+fn5+fn5+fn5+fnx+fn5+fn5+fn5+fn5+fn5+fn5+fn58CiYjNDM7IyAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfAomIzQzOyMgICAgIFsgMTkyLjE2OC4xLjEgXSAgIFsgMTkyLjE2OC4xLjIgXSAgIFsgMTkyLjE2OC4xLjMgXQomIzQzOyMgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwKJiM0MzsjICAgICAmIzQzOy0tLS0tLS0tLS0tLS0tLS0tLVsgQnJpZGdlIF0tLS0tLS0tLS0tLS0tLS0tJiM0MzsKJiM0MzsjVU5ERVJMQVkgKFRoZSBQaHlzaWNhbCBOZXR3b3JrKQomIzQzOwomIzQzO3RtcGZpbGU9JiMzNDsmIzM0OwomIzQzO2NsZWFudXAoKSB7CiYjNDM7CXJtIC1mICYjMzQ7JHRtcGZpbGUmIzM0OwomIzQzOwlmb3IgaSBpbiAmIzM0OyR7bnNbQF19JiMzNDs7IGRvCiYjNDM7CQlpcCBuZXRucyBkZWwgJiMzNDskaSYjMzQ7CiYjNDM7CWRvbmUKJiM0Mzt9CiYjNDM7dHJhcCBjbGVhbnVwIEVYSVQKJiM0MzsKJiM0MztzZXQgLWUKJiM0MztzZXQgLXgKJiM0MzsKJiM0MztybmQ9JChta3RlbXAgLXUgWFhYWFhYWFgpCiYjNDM7bnM9KCYjMzQ7c3ctJHJuZCYjMzQ7ICYjMzQ7dnhsYW4tbnMxLSRybmQmIzM0OyAmIzM0O3Z4bGFuLW5zMi0kcm5kJiMzNDsgJiMzNDt2eGxhbi1uczMtJHJuZCYjMzQ7KQomIzQzO3RtcGZpbGU9JChta3RlbXApCiYjNDM7CiYjNDM7Zm9yIGkgaW4gJChzZXEgMCAzKTsgZG8KJiM0MzsJaXAgbmV0bnMgYWRkICYjMzQ7JHtuc1skaV19JiMzNDsKJiM0Mztkb25lCiYjNDM7CiYjNDM7aXAgLW4gJiMzNDske25zWzBdfSYjMzQ7IGxpbmsgYWRkIGJyMCB0eXBlIGJyaWRnZQomIzQzO2lwIC1uICYjMzQ7JHtuc1swXX0mIzM0OyBsaW5rIHNldCBicjAgdXAKJiM0MzsKJiM0Mztmb3IgaSBpbiAxIDIgMzsgZG8KJiM0MzsJIyBjcmVhdGUgdGhlIGxpbmsgYW5kIG1vdmUgZW5kcyB0byBhcHByb3ByaWF0ZSBuYW1lc3BhY2VzCiYjNDM7CWlwIGxpbmsgYWRkIHZldGgkaSB0eXBlIHZldGggcGVlciBuYW1lIHZldGgke2l9X3N3IG5ldG5zICYjMzQ7JHtuc1swXX0mIzM0OwomIzQzOwlpcCBsaW5rIHNldCB2ZXRoJGkgbmV0bnMgJiMzNDske25zWyRpXX0mIzM0OwomIzQzOwomIzQzOwkjIGxpbnV4IGJyaWRnZSAoc3dpdGNoKQomIzQzOwlpcCAtbiAmIzM0OyR7bnNbMF19JiMzNDsgbGluayBzZXQgdmV0aCR7aX1fc3cgbWFzdGVyIGJyMCB1cAomIzQzOwomIzQzOwkjIGNvbmZpZ3VyZSB0aGUgbm9kZSBzaWRlCiYjNDM7CWlwIC1uICYjMzQ7JHtuc1skaV19JiMzNDsgYWRkciBhZGQgMTkyLjE2OC4xLiRpLzI0IGRldiB2ZXRoJGkKJiM0MzsJaXAgLW4gJiMzNDske25zWyRpXX0mIzM0OyBsaW5rIHNldCB2ZXRoJGkgdXAKJiM0MzsJaXAgLW4gJiMzNDske25zWyRpXX0mIzM0OyBsaW5rIHNldCBsbyB1cAomIzQzOwomIzQzOwkjIGNyZWF0ZSB0aGUgT3ZlcmxheSBWWExBTiBpbnRlcmZhY2UKJiM0MzsJaXAgLW4gJiMzNDske25zWyRpXX0mIzM0OyBsaW5rIGFkZCB2eGxhbjAgdHlwZSB2eGxhbiBkc3Rwb3J0IDQ3ODkgZXh0ZXJuYWwKJiM0MzsJaXAgLW4gJiMzNDske25zWyRpXX0mIzM0OyBhZGRyIGFkZCAxMC4wLjAuJGkvMjQgZGV2IHZ4bGFuMAomIzQzOwlpcCAtbiAmIzM0OyR7bnNbJGldfSYjMzQ7IGxpbmsgc2V0IHZ4bGFuMCB1cAomIzQzOwomIzQzOwkjIHJvdXRlIHRoZSBFTlRJUkUgb3ZlcmxheSBzdWJuZXQgaW50byB0aGUgc2luZ2xlIFZYTEFOIGRldmljZQomIzQzOyMgaXAgLW4gJiMzNDske25zWyRpXX0mIzM0OyByb3V0ZSBhZGQgMTAuMC4wLjAvMjQgZGV2IHZ4bGFuMAomIzQzO2RvbmUKJiM0MzsKJiM0MzsjIGNoZWNrIHdlIGNhbm5vdCByZWFjaCB0aGUgcGVlciB2aWEgdGhlIG92ZXJsYXkgbmV0d29yayBhcy1pcwomIzQzO2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAxIDEwLjAuMC4yICZhbXA7JmFtcDsgZXhpdCAxCiYjNDM7aXAgbmV0bnMgZXhlYyAke25zWzFdfSBwaW5nIC1jIDIgMTAuMC4wLjMgJmFtcDsmYW1wOyBleGl0IDEKJiM0MzsKJiM0Mztmb3IgaSBpbiAxIDIgMzsgZG8KJiM0MzsJZWNobyAmIzM0O3RhYmxlIG5ldGRldiB0IHsmIzM0OyAmZ3Q7ICYjMzQ7JHRtcGZpbGUmIzM0OwomIzQzOwomIzQzOwlmb3IgaiBpbiAxIDIgMyA7IGRvCiYjNDM7CQlbICRqIC1lcSAkaSBdICZhbXA7JmFtcDsgY29udGludWUKJiM0MzsJCWVjaG8gJiMzNDt0dW5uZWwgdHVuX3RvX25zJGogeyBpZCAxMDA7IGlwIHNhZGRyIDE5Mi4xNjguMS4kaTsgaXAgZGFkZHIgMTkyLjE2OC4xLiRqOyB9JiMzNDsgJmd0OyZndDsgJiMzNDskdG1wZmlsZSYjMzQ7CiYjNDM7CWRvbmUKJiM0MztjYXQgLSAmZ3Q7Jmd0OyAmIzM0OyR0bXBmaWxlJiMzNDsgJmx0OyZsdDtFT0YKJiM0MztjaGFpbiBlZ3Jlc3NfZmlsdGVyIHsKJiM0MzsgICAgICAgICB0eXBlIGZpbHRlciBob29rIGVncmVzcyBkZXZpY2UgJiMzNDt2eGxhbjAmIzM0OyBwcmlvcml0eSAwOyBwb2xpY3kgYWNjZXB0OwomIzQzO0VPRgomIzQzOwlmb3IgaiBpbiAxIDIgMyA7IGRvCiYjNDM7CQlbICRqIC1lcSAkaSBdICZhbXA7JmFtcDsgY29udGludWUKJiM0MzsJCWVjaG8gaXAgZGFkZHIgMTAuMC4wLiRqIHR1bm5lbCBuYW1lICYjMzQ7dHVuX3RvX25zJGomIzM0OyAmZ3Q7Jmd0OyAmIzM0OyR0bXBmaWxlJiMzNDsKJiM0MzsJCWVjaG8gYXJwIGRhZGRyIGlwIDEwLjAuMC4kaiB0dW5uZWwgbmFtZSAmIzM0O3R1bl90b19ucyRqJiMzNDsgJmd0OyZndDsgJiMzNDskdG1wZmlsZSYjMzQ7CiYjNDM7CWRvbmUKJiM0MztjYXQgLSAmZ3Q7Jmd0OyAmIzM0OyR0bXBmaWxlJiMzNDsgJmx0OyZsdDtFT0YKJiM0MzsgICAgIH0KJiM0Mzt9CiYjNDM7RU9GCiYjNDM7aXAgbmV0bnMgZXhlYyAke25zWyRpXX0gJE5GVCAtZiAkdG1wZmlsZQomIzQzO2RvbmUKJiM0MzsKJiM0Mzt0aW1lb3V0IDMgaXAgbmV0bnMgZXhlYyAke25zWzBdfSB0Y3BkdW1wIC0taW1tZWRpYXRlLW1vZGUgLW5uaSBicjAgLXcgJiMzNDskdG1wZmlsZSYjMzQ7ICZhbXA7CiYjNDM7dHBpZD0kIQomIzQzO3NsZWVwIDEKJiM0MzsKJiM0MztpcCBuZXRucyBleGVjICR7bnNbMV19IHBpbmcgLWMgMSAxMC4wLjAuMgomIzQzO2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAyIDEwLjAuMC4zCiYjNDM7CiYjNDM7a2lsbCAmIzM0OyR0cGlkJiMzNDsKJiM0Mzt3YWl0CiYjNDM7dGNwZHVtcCAtbiAtciAmIzM0OyR0bXBmaWxlJiMzNDsgfCBncmVwIC1xIFZYTEFOCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI0IDE2OjI5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMwMDYKCQkJCQkJCW91dHB1dDogNTkKCQkJCQkJCXRob3VnaHRzOiA4NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBc3Nlc3NpbmcgdGhlIEZ1enppbmcgSW1wYWN0KioKCk9rYXksIGxldCBtZSBxdWlja2x5IHJ1biB0aHJvdWdoIHRoaXMgcGF0Y2guIEl0JiMzOTtzIGZvY3VzZWQgb24gYWRkaW5nIGEgbmV3IHRlc3QgY2FzZSBmb3IgbmZ0YWJsZXMsIHNwZWNpZmljYWxseSBhIGB0dW5uZWwtdnhsYW5gIHNjZW5hcmlvLCBuZXN0bGVkIHdpdGhpbiB0aGUgYHRlc3RzL3NoZWxsL3Rlc3RjYXNlcy9wYWNrZXRwYXRoL2AgZGlyZWN0b3J5LiBDcnVjaWFsbHksIGl0JiMzOTtzIGp1c3QgYSBzaGVsbCBzY3JpcHQuIFRoZXJlJiMzOTtzIG5vIG1vZGlmaWNhdGlvbiBvZiB0aGUga2VybmVsIHNvdXJjZSBjb2RlIGl0c2VsZi4gR2l2ZW4gbXkgZXhwZXJ0aXNlLCBJIGtub3cgdGhhdCBjaGFuZ2VzIGluIHNoZWxsIHNjcmlwdHMsIHdoaWxlIHZhbHVhYmxlIGZvciB0ZXN0aW5nIGNvbmZpZ3VyYXRpb25zIGFuZCBlZGdlIGNhc2VzLCBkb24mIzM5O3QgZGlyZWN0bHkgaW50cm9kdWNlIG5ldyBrZXJuZWwgY29kZSBwYXRocyB0aGF0IHdhcnJhbnQgZm9jdXNlZCBmdXp6aW5nLiBUaGV5IGV4ZXJjaXNlIGV4aXN0aW5nIGNvZGUsIGJ1dCBkb24mIzM5O3QgKmNyZWF0ZSogbmV3IGF0dGFjayBzdXJmYWNlcyBpbiB0aGUga2VybmVsIGl0c2VsZi4gVGhlcmVmb3JlLCBldmVuIHRob3VnaCB0aGUgdGVzdCBpcyBuZXcgYW5kIHVzZWZ1bCwgZnJvbSBhIGZ1enppbmcgcGVyc3BlY3RpdmUsIGl0JiMzOTtzIG5vdCBpbnRyb2R1Y2luZyBhbnkgbm92ZWwgb3IgZnVuY3Rpb25hbGx5IGFsdGVyZWQga2VybmVsIGJlaGF2aW9yLgoKU28sIEkmIzM5O20gY29uZmlkZW50bHkgcmV0dXJuaW5nIGBXb3J0aEZ1enppbmc9ZmFsc2VgLiBUaGUgcGF0Y2ggZG9lc24mIzM5O3Qgd2FycmFudCBkZWRpY2F0ZWQgZnV6emluZyBlZmZvcnRzIGF0IHRoaXMgc3RhZ2UuIFdlIGhhdmUgbW9yZSBpbXBhY3RmdWwgYXJlYXMgdG8gcHJpb3JpdGl6ZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yNCAxNjoyOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgYWRkcyBhIHNoZWxsIHNjcmlwdCB0ZXN0IGNhc2UgZm9yIG5mdGFibGVzIGluIHRoZSB0ZXN0cy9zaGVsbCBkaXJlY3RvcnkuIEl0IGRvZXMgbm90IG1vZGlmeSBhbnkga2VybmVsIHNvdXJjZSBjb2RlLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBhZGRzIGEgc2hlbGwgc2NyaXB0IHRlc3QgY2FzZSBmb3IgbmZ0YWJsZXMgaW4gdGhlIHRlc3RzL3NoZWxsIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbW9kaWZ5IGFueSBrZXJuZWwgc291cmNlIGNvZGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDYtMjRUMTY6Mjk6NDguMzIyNDg1MzQ1WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDc0MjMyOTk5MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBhZGRzIGEgc2hlbGwgc2NyaXB0IHRlc3QgY2FzZSBmb3IgbmZ0YWJsZXMgaW4gdGhlIHRlc3RzL3NoZWxsIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbW9kaWZ5IGFueSBrZXJuZWwgc291cmNlIGNvZGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yNFQxNjoyOTo0OC4zMjI0OTEzOTRaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ3MDIyMzU2OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDAyNzY2ZDU1NjI4NGNkNmIwYjAwZDE3MGRhZDBlNjk4ODFmYTRiNjdcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFdlZCBKdW4gMjQgMTY6Mjk6NDcgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvdGVzdHMvc2hlbGwvdGVzdGNhc2VzL3BhY2tldHBhdGgvdHVubmVsLXZ4bGFuIGIvdGVzdHMvc2hlbGwvdGVzdGNhc2VzL3BhY2tldHBhdGgvdHVubmVsLXZ4bGFuXFxubmV3IGZpbGUgbW9kZSAxMDA3NTVcXG5pbmRleCAwMDAwMDAwMDAwMDAwMC4uNTlmOTUxNmE4ZjI4ODRcXG4tLS0gL2Rldi9udWxsXFxuKysrIGIvdGVzdHMvc2hlbGwvdGVzdGNhc2VzL3BhY2tldHBhdGgvdHVubmVsLXZ4bGFuXFxuQEAgLTAsMCArMSwxMDMgQEBcXG4rIyEvYmluL2Jhc2hcXG4rXFxuKyMgTkZUX1RFU1RfUkVRVUlSRVMoTkZUX1RFU1RfSEFWRV90Y3BkdW1wKVxcbitcXG4rIyBPVkVSTEFZIChUaGUgVmlydHVhbCBOZXR3b3JrKVxcbisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09XFxuKyNcXG4rIyBbIG5zMDogMTAuMC4wLjEgXSAgICAgWyBuczE6IDEwLjAuMC4yIF0gICAgIFsgbnMyOiAxMC4wLjAuMyBdXFxuKyMgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHxcXG4rIyAgICAodnhsYW4wKSAgICAgICAgICAgICAodnhsYW4wKSAgICAgICAgICAgICh2eGxhbjApXFxuKyMgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHxcXG4rIyAgICAgfH5+fn5+fn5+fn5+fn5+fn5+fn5+fn58fn5+fn5+fn5+fn5+fn5+fn5+fn5+fFxcbisjICAgICB8ICAgICAgICAgICAgICAgICBuZnRhYmxlcyAgICAgICAgICAgICAgICAgICB8XFxuKyMgICAgIHwgICAgICAgICAoYXR0YWNoZXMgdGhlIFVuZGVybGF5IElQKSAgICAgICAgIHxcXG4rIyAgICAgfH5+fn5+fn5+fn5+fn5+fn5+fn5+fn58fn5+fn5+fn5+fn5+fn5+fn5+fn5+fFxcbisjICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8XFxuKyMgICAgIFsgMTkyLjE2OC4xLjEgXSAgIFsgMTkyLjE2OC4xLjIgXSAgIFsgMTkyLjE2OC4xLjMgXVxcbisjICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8XFxuKyMgICAgICstLS0tLS0tLS0tLS0tLS0tLS1bIEJyaWRnZSBdLS0tLS0tLS0tLS0tLS0tLStcXG4rI1VOREVSTEFZIChUaGUgUGh5c2ljYWwgTmV0d29yaylcXG4rXFxuK3RtcGZpbGU9XFxcIlxcXCJcXG4rY2xlYW51cCgpIHtcXG4rXFx0cm0gLWYgXFxcIiR0bXBmaWxlXFxcIlxcbitcXHRmb3IgaSBpbiBcXFwiJHtuc1tAXX1cXFwiOyBkb1xcbitcXHRcXHRpcCBuZXRucyBkZWwgXFxcIiRpXFxcIlxcbitcXHRkb25lXFxuK31cXG4rdHJhcCBjbGVhbnVwIEVYSVRcXG4rXFxuK3NldCAtZVxcbitzZXQgLXhcXG4rXFxuK3JuZD0kKG1rdGVtcCAtdSBYWFhYWFhYWClcXG4rbnM9KFxcXCJzdy0kcm5kXFxcIiBcXFwidnhsYW4tbnMxLSRybmRcXFwiIFxcXCJ2eGxhbi1uczItJHJuZFxcXCIgXFxcInZ4bGFuLW5zMy0kcm5kXFxcIilcXG4rdG1wZmlsZT0kKG1rdGVtcClcXG4rXFxuK2ZvciBpIGluICQoc2VxIDAgMyk7IGRvXFxuK1xcdGlwIG5ldG5zIGFkZCBcXFwiJHtuc1skaV19XFxcIlxcbitkb25lXFxuK1xcbitpcCAtbiBcXFwiJHtuc1swXX1cXFwiIGxpbmsgYWRkIGJyMCB0eXBlIGJyaWRnZVxcbitpcCAtbiBcXFwiJHtuc1swXX1cXFwiIGxpbmsgc2V0IGJyMCB1cFxcbitcXG4rZm9yIGkgaW4gMSAyIDM7IGRvXFxuK1xcdCMgY3JlYXRlIHRoZSBsaW5rIGFuZCBtb3ZlIGVuZHMgdG8gYXBwcm9wcmlhdGUgbmFtZXNwYWNlc1xcbitcXHRpcCBsaW5rIGFkZCB2ZXRoJGkgdHlwZSB2ZXRoIHBlZXIgbmFtZSB2ZXRoJHtpfV9zdyBuZXRucyBcXFwiJHtuc1swXX1cXFwiXFxuK1xcdGlwIGxpbmsgc2V0IHZldGgkaSBuZXRucyBcXFwiJHtuc1skaV19XFxcIlxcbitcXG4rXFx0IyBsaW51eCBicmlkZ2UgKHN3aXRjaClcXG4rXFx0aXAgLW4gXFxcIiR7bnNbMF19XFxcIiBsaW5rIHNldCB2ZXRoJHtpfV9zdyBtYXN0ZXIgYnIwIHVwXFxuK1xcbitcXHQjIGNvbmZpZ3VyZSB0aGUgbm9kZSBzaWRlXFxuK1xcdGlwIC1uIFxcXCIke25zWyRpXX1cXFwiIGFkZHIgYWRkIDE5Mi4xNjguMS4kaS8yNCBkZXYgdmV0aCRpXFxuK1xcdGlwIC1uIFxcXCIke25zWyRpXX1cXFwiIGxpbmsgc2V0IHZldGgkaSB1cFxcbitcXHRpcCAtbiBcXFwiJHtuc1skaV19XFxcIiBsaW5rIHNldCBsbyB1cFxcbitcXG4rXFx0IyBjcmVhdGUgdGhlIE92ZXJsYXkgVlhMQU4gaW50ZXJmYWNlXFxuK1xcdGlwIC1uIFxcXCIke25zWyRpXX1cXFwiIGxpbmsgYWRkIHZ4bGFuMCB0eXBlIHZ4bGFuIGRzdHBvcnQgNDc4OSBleHRlcm5hbFxcbitcXHRpcCAtbiBcXFwiJHtuc1skaV19XFxcIiBhZGRyIGFkZCAxMC4wLjAuJGkvMjQgZGV2IHZ4bGFuMFxcbitcXHRpcCAtbiBcXFwiJHtuc1skaV19XFxcIiBsaW5rIHNldCB2eGxhbjAgdXBcXG4rXFxuK1xcdCMgcm91dGUgdGhlIEVOVElSRSBvdmVybGF5IHN1Ym5ldCBpbnRvIHRoZSBzaW5nbGUgVlhMQU4gZGV2aWNlXFxuKyMgaXAgLW4gXFxcIiR7bnNbJGldfVxcXCIgcm91dGUgYWRkIDEwLjAuMC4wLzI0IGRldiB2eGxhbjBcXG4rZG9uZVxcbitcXG4rIyBjaGVjayB3ZSBjYW5ub3QgcmVhY2ggdGhlIHBlZXIgdmlhIHRoZSBvdmVybGF5IG5ldHdvcmsgYXMtaXNcXG4raXAgbmV0bnMgZXhlYyAke25zWzFdfSBwaW5nIC1jIDEgMTAuMC4wLjIgXFx1MDAyNlxcdTAwMjYgZXhpdCAxXFxuK2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAyIDEwLjAuMC4zIFxcdTAwMjZcXHUwMDI2IGV4aXQgMVxcbitcXG4rZm9yIGkgaW4gMSAyIDM7IGRvXFxuK1xcdGVjaG8gXFxcInRhYmxlIG5ldGRldiB0IHtcXFwiIFxcdTAwM2UgXFxcIiR0bXBmaWxlXFxcIlxcbitcXG4rXFx0Zm9yIGogaW4gMSAyIDMgOyBkb1xcbitcXHRcXHRbICRqIC1lcSAkaSBdIFxcdTAwMjZcXHUwMDI2IGNvbnRpbnVlXFxuK1xcdFxcdGVjaG8gXFxcInR1bm5lbCB0dW5fdG9fbnMkaiB7IGlkIDEwMDsgaXAgc2FkZHIgMTkyLjE2OC4xLiRpOyBpcCBkYWRkciAxOTIuMTY4LjEuJGo7IH1cXFwiIFxcdTAwM2VcXHUwMDNlIFxcXCIkdG1wZmlsZVxcXCJcXG4rXFx0ZG9uZVxcbitjYXQgLSBcXHUwMDNlXFx1MDAzZSBcXFwiJHRtcGZpbGVcXFwiIFxcdTAwM2NcXHUwMDNjRU9GXFxuK2NoYWluIGVncmVzc19maWx0ZXIge1xcbisgICAgICAgICB0eXBlIGZpbHRlciBob29rIGVncmVzcyBkZXZpY2UgXFxcInZ4bGFuMFxcXCIgcHJpb3JpdHkgMDsgcG9saWN5IGFjY2VwdDtcXG4rRU9GXFxuK1xcdGZvciBqIGluIDEgMiAzIDsgZG9cXG4rXFx0XFx0WyAkaiAtZXEgJGkgXSBcXHUwMDI2XFx1MDAyNiBjb250aW51ZVxcbitcXHRcXHRlY2hvIGlwIGRhZGRyIDEwLjAuMC4kaiB0dW5uZWwgbmFtZSBcXFwidHVuX3RvX25zJGpcXFwiIFxcdTAwM2VcXHUwMDNlIFxcXCIkdG1wZmlsZVxcXCJcXG4rXFx0XFx0ZWNobyBhcnAgZGFkZHIgaXAgMTAuMC4wLiRqIHR1bm5lbCBuYW1lIFxcXCJ0dW5fdG9fbnMkalxcXCIgXFx1MDAzZVxcdTAwM2UgXFxcIiR0bXBmaWxlXFxcIlxcbitcXHRkb25lXFxuK2NhdCAtIFxcdTAwM2VcXHUwMDNlIFxcXCIkdG1wZmlsZVxcXCIgXFx1MDAzY1xcdTAwM2NFT0ZcXG4rICAgICB9XFxuK31cXG4rRU9GXFxuK2lwIG5ldG5zIGV4ZWMgJHtuc1skaV19ICRORlQgLWYgJHRtcGZpbGVcXG4rZG9uZVxcbitcXG4rdGltZW91dCAzIGlwIG5ldG5zIGV4ZWMgJHtuc1swXX0gdGNwZHVtcCAtLWltbWVkaWF0ZS1tb2RlIC1ubmkgYnIwIC13IFxcXCIkdG1wZmlsZVxcXCIgXFx1MDAyNlxcbit0cGlkPSQhXFxuK3NsZWVwIDFcXG4rXFxuK2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAxIDEwLjAuMC4yXFxuK2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAyIDEwLjAuMC4zXFxuK1xcbitraWxsIFxcXCIkdHBpZFxcXCJcXG4rd2FpdFxcbit0Y3BkdW1wIC1uIC1yIFxcXCIkdG1wZmlsZVxcXCIgfCBncmVwIC1xIFZYTEFOXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTI0VDE2OjI5OjQ4Ljc5MzU2NTU2M1oiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDI3MTI0MzE5MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBhZGRzIGEgc2hlbGwgc2NyaXB0IHRlc3QgY2FzZSBmb3IgbmZ0YWJsZXMgaW4gdGhlIHRlc3RzL3NoZWxsIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbW9kaWZ5IGFueSBrZXJuZWwgc291cmNlIGNvZGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDAyNzY2ZDU1NjI4NGNkNmIwYjAwZDE3MGRhZDBlNjk4ODFmYTRiNjdcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEp1biAyNCAxNjoyOTo0NyAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL3Rlc3RzL3NoZWxsL3Rlc3RjYXNlcy9wYWNrZXRwYXRoL3R1bm5lbC12eGxhbiBiL3Rlc3RzL3NoZWxsL3Rlc3RjYXNlcy9wYWNrZXRwYXRoL3R1bm5lbC12eGxhblxubmV3IGZpbGUgbW9kZSAxMDA3NTVcbmluZGV4IDAwMDAwMDAwMDAwMDAwLi41OWY5NTE2YThmMjg4NFxuLS0tIC9kZXYvbnVsbFxuKysrIGIvdGVzdHMvc2hlbGwvdGVzdGNhc2VzL3BhY2tldHBhdGgvdHVubmVsLXZ4bGFuXG5AQCAtMCwwICsxLDEwMyBAQFxuKyMhL2Jpbi9iYXNoXG4rXG4rIyBORlRfVEVTVF9SRVFVSVJFUyhORlRfVEVTVF9IQVZFX3RjcGR1bXApXG4rXG4rIyBPVkVSTEFZIChUaGUgVmlydHVhbCBOZXR3b3JrKVxuKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbisjXG4rIyBbIG5zMDogMTAuMC4wLjEgXSAgICAgWyBuczE6IDEwLjAuMC4yIF0gICAgIFsgbnMyOiAxMC4wLjAuMyBdXG4rIyAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfFxuKyMgICAgKHZ4bGFuMCkgICAgICAgICAgICAgKHZ4bGFuMCkgICAgICAgICAgICAodnhsYW4wKVxuKyMgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHxcbisjICAgICB8fn5+fn5+fn5+fn5+fn5+fn5+fn5+fnx+fn5+fn5+fn5+fn5+fn5+fn5+fn58XG4rIyAgICAgfCAgICAgICAgICAgICAgICAgbmZ0YWJsZXMgICAgICAgICAgICAgICAgICAgfFxuKyMgICAgIHwgICAgICAgICAoYXR0YWNoZXMgdGhlIFVuZGVybGF5IElQKSAgICAgICAgIHxcbisjICAgICB8fn5+fn5+fn5+fn5+fn5+fn5+fn5+fnx+fn5+fn5+fn5+fn5+fn5+fn5+fn58XG4rIyAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfFxuKyMgICAgIFsgMTkyLjE2OC4xLjEgXSAgIFsgMTkyLjE2OC4xLjIgXSAgIFsgMTkyLjE2OC4xLjMgXVxuKyMgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHxcbisjICAgICArLS0tLS0tLS0tLS0tLS0tLS0tWyBCcmlkZ2UgXS0tLS0tLS0tLS0tLS0tLS0rXG4rI1VOREVSTEFZIChUaGUgUGh5c2ljYWwgTmV0d29yaylcbitcbit0bXBmaWxlPVwiXCJcbitjbGVhbnVwKCkge1xuK1x0cm0gLWYgXCIkdG1wZmlsZVwiXG4rXHRmb3IgaSBpbiBcIiR7bnNbQF19XCI7IGRvXG4rXHRcdGlwIG5ldG5zIGRlbCBcIiRpXCJcbitcdGRvbmVcbit9XG4rdHJhcCBjbGVhbnVwIEVYSVRcbitcbitzZXQgLWVcbitzZXQgLXhcbitcbitybmQ9JChta3RlbXAgLXUgWFhYWFhYWFgpXG4rbnM9KFwic3ctJHJuZFwiIFwidnhsYW4tbnMxLSRybmRcIiBcInZ4bGFuLW5zMi0kcm5kXCIgXCJ2eGxhbi1uczMtJHJuZFwiKVxuK3RtcGZpbGU9JChta3RlbXApXG4rXG4rZm9yIGkgaW4gJChzZXEgMCAzKTsgZG9cbitcdGlwIG5ldG5zIGFkZCBcIiR7bnNbJGldfVwiXG4rZG9uZVxuK1xuK2lwIC1uIFwiJHtuc1swXX1cIiBsaW5rIGFkZCBicjAgdHlwZSBicmlkZ2VcbitpcCAtbiBcIiR7bnNbMF19XCIgbGluayBzZXQgYnIwIHVwXG4rXG4rZm9yIGkgaW4gMSAyIDM7IGRvXG4rXHQjIGNyZWF0ZSB0aGUgbGluayBhbmQgbW92ZSBlbmRzIHRvIGFwcHJvcHJpYXRlIG5hbWVzcGFjZXNcbitcdGlwIGxpbmsgYWRkIHZldGgkaSB0eXBlIHZldGggcGVlciBuYW1lIHZldGgke2l9X3N3IG5ldG5zIFwiJHtuc1swXX1cIlxuK1x0aXAgbGluayBzZXQgdmV0aCRpIG5ldG5zIFwiJHtuc1skaV19XCJcbitcbitcdCMgbGludXggYnJpZGdlIChzd2l0Y2gpXG4rXHRpcCAtbiBcIiR7bnNbMF19XCIgbGluayBzZXQgdmV0aCR7aX1fc3cgbWFzdGVyIGJyMCB1cFxuK1xuK1x0IyBjb25maWd1cmUgdGhlIG5vZGUgc2lkZVxuK1x0aXAgLW4gXCIke25zWyRpXX1cIiBhZGRyIGFkZCAxOTIuMTY4LjEuJGkvMjQgZGV2IHZldGgkaVxuK1x0aXAgLW4gXCIke25zWyRpXX1cIiBsaW5rIHNldCB2ZXRoJGkgdXBcbitcdGlwIC1uIFwiJHtuc1skaV19XCIgbGluayBzZXQgbG8gdXBcbitcbitcdCMgY3JlYXRlIHRoZSBPdmVybGF5IFZYTEFOIGludGVyZmFjZVxuK1x0aXAgLW4gXCIke25zWyRpXX1cIiBsaW5rIGFkZCB2eGxhbjAgdHlwZSB2eGxhbiBkc3Rwb3J0IDQ3ODkgZXh0ZXJuYWxcbitcdGlwIC1uIFwiJHtuc1skaV19XCIgYWRkciBhZGQgMTAuMC4wLiRpLzI0IGRldiB2eGxhbjBcbitcdGlwIC1uIFwiJHtuc1skaV19XCIgbGluayBzZXQgdnhsYW4wIHVwXG4rXG4rXHQjIHJvdXRlIHRoZSBFTlRJUkUgb3ZlcmxheSBzdWJuZXQgaW50byB0aGUgc2luZ2xlIFZYTEFOIGRldmljZVxuKyMgaXAgLW4gXCIke25zWyRpXX1cIiByb3V0ZSBhZGQgMTAuMC4wLjAvMjQgZGV2IHZ4bGFuMFxuK2RvbmVcbitcbisjIGNoZWNrIHdlIGNhbm5vdCByZWFjaCB0aGUgcGVlciB2aWEgdGhlIG92ZXJsYXkgbmV0d29yayBhcy1pc1xuK2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAxIDEwLjAuMC4yIFx1MDAyNlx1MDAyNiBleGl0IDFcbitpcCBuZXRucyBleGVjICR7bnNbMV19IHBpbmcgLWMgMiAxMC4wLjAuMyBcdTAwMjZcdTAwMjYgZXhpdCAxXG4rXG4rZm9yIGkgaW4gMSAyIDM7IGRvXG4rXHRlY2hvIFwidGFibGUgbmV0ZGV2IHQge1wiIFx1MDAzZSBcIiR0bXBmaWxlXCJcbitcbitcdGZvciBqIGluIDEgMiAzIDsgZG9cbitcdFx0WyAkaiAtZXEgJGkgXSBcdTAwMjZcdTAwMjYgY29udGludWVcbitcdFx0ZWNobyBcInR1bm5lbCB0dW5fdG9fbnMkaiB7IGlkIDEwMDsgaXAgc2FkZHIgMTkyLjE2OC4xLiRpOyBpcCBkYWRkciAxOTIuMTY4LjEuJGo7IH1cIiBcdTAwM2VcdTAwM2UgXCIkdG1wZmlsZVwiXG4rXHRkb25lXG4rY2F0IC0gXHUwMDNlXHUwMDNlIFwiJHRtcGZpbGVcIiBcdTAwM2NcdTAwM2NFT0ZcbitjaGFpbiBlZ3Jlc3NfZmlsdGVyIHtcbisgICAgICAgICB0eXBlIGZpbHRlciBob29rIGVncmVzcyBkZXZpY2UgXCJ2eGxhbjBcIiBwcmlvcml0eSAwOyBwb2xpY3kgYWNjZXB0O1xuK0VPRlxuK1x0Zm9yIGogaW4gMSAyIDMgOyBkb1xuK1x0XHRbICRqIC1lcSAkaSBdIFx1MDAyNlx1MDAyNiBjb250aW51ZVxuK1x0XHRlY2hvIGlwIGRhZGRyIDEwLjAuMC4kaiB0dW5uZWwgbmFtZSBcInR1bl90b19ucyRqXCIgXHUwMDNlXHUwMDNlIFwiJHRtcGZpbGVcIlxuK1x0XHRlY2hvIGFycCBkYWRkciBpcCAxMC4wLjAuJGogdHVubmVsIG5hbWUgXCJ0dW5fdG9fbnMkalwiIFx1MDAzZVx1MDAzZSBcIiR0bXBmaWxlXCJcbitcdGRvbmVcbitjYXQgLSBcdTAwM2VcdTAwM2UgXCIkdG1wZmlsZVwiIFx1MDAzY1x1MDAzY0VPRlxuKyAgICAgfVxuK31cbitFT0ZcbitpcCBuZXRucyBleGVjICR7bnNbJGldfSAkTkZUIC1mICR0bXBmaWxlXG4rZG9uZVxuK1xuK3RpbWVvdXQgMyBpcCBuZXRucyBleGVjICR7bnNbMF19IHRjcGR1bXAgLS1pbW1lZGlhdGUtbW9kZSAtbm5pIGJyMCAtdyBcIiR0bXBmaWxlXCIgXHUwMDI2XG4rdHBpZD0kIVxuK3NsZWVwIDFcbitcbitpcCBuZXRucyBleGVjICR7bnNbMV19IHBpbmcgLWMgMSAxMC4wLjAuMlxuK2lwIG5ldG5zIGV4ZWMgJHtuc1sxXX0gcGluZyAtYyAyIDEwLjAuMC4zXG4rXG4ra2lsbCBcIiR0cGlkXCJcbit3YWl0XG4rdGNwZHVtcCAtbiAtciBcIiR0bXBmaWxlXCIgfCBncmVwIC1xIFZYTEFOXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yNFQxNjoyOTo0OC43OTM1NzM1NDNaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MjcxMjEwNTQzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFzc2Vzc2luZyB0aGUgRnV6emluZyBJbXBhY3QqKlxuXG5Pa2F5LCBsZXQgbWUgcXVpY2tseSBydW4gdGhyb3VnaCB0aGlzIHBhdGNoLiBJdCdzIGZvY3VzZWQgb24gYWRkaW5nIGEgbmV3IHRlc3QgY2FzZSBmb3IgbmZ0YWJsZXMsIHNwZWNpZmljYWxseSBhIGB0dW5uZWwtdnhsYW5gIHNjZW5hcmlvLCBuZXN0bGVkIHdpdGhpbiB0aGUgYHRlc3RzL3NoZWxsL3Rlc3RjYXNlcy9wYWNrZXRwYXRoL2AgZGlyZWN0b3J5LiBDcnVjaWFsbHksIGl0J3MganVzdCBhIHNoZWxsIHNjcmlwdC4gVGhlcmUncyBubyBtb2RpZmljYXRpb24gb2YgdGhlIGtlcm5lbCBzb3VyY2UgY29kZSBpdHNlbGYuIEdpdmVuIG15IGV4cGVydGlzZSwgSSBrbm93IHRoYXQgY2hhbmdlcyBpbiBzaGVsbCBzY3JpcHRzLCB3aGlsZSB2YWx1YWJsZSBmb3IgdGVzdGluZyBjb25maWd1cmF0aW9ucyBhbmQgZWRnZSBjYXNlcywgZG9uJ3QgZGlyZWN0bHkgaW50cm9kdWNlIG5ldyBrZXJuZWwgY29kZSBwYXRocyB0aGF0IHdhcnJhbnQgZm9jdXNlZCBmdXp6aW5nLiBUaGV5IGV4ZXJjaXNlIGV4aXN0aW5nIGNvZGUsIGJ1dCBkb24ndCAqY3JlYXRlKiBuZXcgYXR0YWNrIHN1cmZhY2VzIGluIHRoZSBrZXJuZWwgaXRzZWxmLiBUaGVyZWZvcmUsIGV2ZW4gdGhvdWdoIHRoZSB0ZXN0IGlzIG5ldyBhbmQgdXNlZnVsLCBmcm9tIGEgZnV6emluZyBwZXJzcGVjdGl2ZSwgaXQncyBub3QgaW50cm9kdWNpbmcgYW55IG5vdmVsIG9yIGZ1bmN0aW9uYWxseSBhbHRlcmVkIGtlcm5lbCBiZWhhdmlvci5cblxuU28sIEknbSBjb25maWRlbnRseSByZXR1cm5pbmcgYFdvcnRoRnV6emluZz1mYWxzZWAuIFRoZSBwYXRjaCBkb2Vzbid0IHdhcnJhbnQgZGVkaWNhdGVkIGZ1enppbmcgZWZmb3J0cyBhdCB0aGlzIHN0YWdlLiBXZSBoYXZlIG1vcmUgaW1wYWN0ZnVsIGFyZWFzIHRvIHByaW9yaXRpemUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjMwMDYsIk91dHB1dFRva2VucyI6NTksIk91dHB1dFRob3VnaHRzVG9rZW5zIjo4NiwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTI0VDE2OjI5OjUzLjA2NDc4NjY2N1oiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjA1MjAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBhZGRzIGEgc2hlbGwgc2NyaXB0IHRlc3QgY2FzZSBmb3IgbmZ0YWJsZXMgaW4gdGhlIHRlc3RzL3NoZWxsIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbW9kaWZ5IGFueSBrZXJuZWwgc291cmNlIGNvZGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IGFkZHMgYSBzaGVsbCBzY3JpcHQgdGVzdCBjYXNlIGZvciBuZnRhYmxlcyBpbiB0aGUgdGVzdHMvc2hlbGwgZGlyZWN0b3J5LiBJdCBkb2VzIG5vdCBtb2RpZnkgYW55IGtlcm5lbCBzb3VyY2UgY29kZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow5lwcs[1] Phase: Running StartedAt: 2026-06-24 16:30:03 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5lwcs[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-06-24 16:30:03 +0000 UTC FinishedAt: 2026-06-24 16:30:08 +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,}