Name: series-workflowb9jwd Phase: Failed StartedAt: 2026-07-17 05:52:38 +0000 UTC FinishedAt: 2026-07-17 06:27:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflowb9jwd[0] Phase: Succeeded StartedAt: 2026-07-17 05:52:38 +0000 UTC FinishedAt: 2026-07-17 06:26:49 +0000 UTC Input: nil Output: nil --------- Name: series-workflowb9jwd[0].run-triage Phase: Succeeded StartedAt: 2026-07-17 05:52:38 +0000 UTC FinishedAt: 2026-07-17 06:26:49 +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+CgkJCTx0ZD4yMDI2LzA3LzE3IDA2OjI2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgZG9jdW1lbnRhdGlvbiAoY2dyb3VwLXYyLnJzdCkgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY29kZSBjaGFuZ2VzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAwNjoyNjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDc1MWI5YTlmOWYxNjhiOTFkZWIxMDJlNTk3OGVmNjhiMjFkNzRlNTFcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgRnJpIEp1bCAxNyAwNjoyNjoyNCAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3QgYi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3RcbmluZGV4IDBkZjE1YTY3MmNmMzQ1Li42ODc4MzljZjVjNzM1ZiAxMDA2NDRcbi0tLSBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvY2dyb3VwLXYyLnJzdFxuJiM0MzsmIzQzOyYjNDM7IGIvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9jZ3JvdXAtdjIucnN0XG5AQCAtMjI2MCw5ICYjNDM7MjI2MCwxMiBAQCBJTyBMYXRlbmN5XG4gfn5+fn5+fn5+flxuIFxuIFRoaXMgaXMgYSBjZ3JvdXAgdjIgY29udHJvbGxlciBmb3IgSU8gd29ya2xvYWQgcHJvdGVjdGlvbi4gIFlvdSBwcm92aWRlIGEgZ3JvdXBcbi13aXRoIGEgbGF0ZW5jeSB0YXJnZXQsIGFuZCBpZiB0aGUgYXZlcmFnZSBsYXRlbmN5IGV4Y2VlZHMgdGhhdCB0YXJnZXQgdGhlXG4tY29udHJvbGxlciB3aWxsIHRocm90dGxlIGFueSBwZWVycyB0aGF0IGhhdmUgYSBsb3dlciBsYXRlbmN5IHRhcmdldCB0aGFuIHRoZVxuLXByb3RlY3RlZCB3b3JrbG9hZC5cbiYjNDM7d2l0aCBhIGxhdGVuY3kgdGFyZ2V0LCBhbmQgaWYgdGhlIGdyb3VwIG1pc3NlcyBpdHMgdGFyZ2V0IHRoZSBjb250cm9sbGVyIHdpbGxcbiYjNDM7dGhyb3R0bGUgYW55IHBlZXJzIHRoYXQgaGF2ZSBhIGxvd2VyIGxhdGVuY3kgdGFyZ2V0IHRoYW4gdGhlIHByb3RlY3RlZFxuJiM0Mzt3b3JrbG9hZC4gIEhvdyBhIG1pc3MgaXMgZGV0ZWN0ZWQgZGVwZW5kcyBvbiB0aGUgZGV2aWNlOiBvbiByb3RhdGlvbmFsIGRldmljZXNcbiYjNDM7dGhlIGF2ZXJhZ2UgbGF0ZW5jeSBvdmVyIHRoZSB3aW5kb3cgbXVzdCBleGNlZWQgdGhlIHRhcmdldCwgd2hpbGUgb25cbiYjNDM7bm9uLXJvdGF0aW9uYWwgZGV2aWNlcyBhIG1pc3MgaXMgY291bnRlZCB3aGVuIDEwJSBvciBtb3JlIG9mIHRoZSBJT3MgaW4gdGhlXG4mIzQzO3dpbmRvdyBpbmRpdmlkdWFsbHkgZXhjZWVkIHRoZSB0YXJnZXQuXG4gXG4gVGhlIGxpbWl0cyBhcmUgb25seSBhcHBsaWVkIGF0IHRoZSBwZWVyIGxldmVsIGluIHRoZSBoaWVyYXJjaHkuICBUaGlzIG1lYW5zIHRoYXRcbiBpbiB0aGUgZGlhZ3JhbSBiZWxvdywgb25seSBncm91cHMgQSwgQiwgYW5kIEMgd2lsbCBpbmZsdWVuY2UgZWFjaCBvdGhlciwgYW5kXG5AQCAtMjI3OSwxMCAmIzQzOzIyODIsMTEgQEAgU28gdGhlIGlkZWFsIHdheSB0byBjb25maWd1cmUgdGhpcyBpcyB0byBzZXQgaW8ubGF0ZW5jeSBpbiBncm91cHMgQSwgQiwgYW5kIEMuXG4gR2VuZXJhbGx5IHlvdSBkbyBub3Qgd2FudCB0byBzZXQgYSB2YWx1ZSBsb3dlciB0aGFuIHRoZSBsYXRlbmN5IHlvdXIgZGV2aWNlXG4gc3VwcG9ydHMuICBFeHBlcmltZW50IHRvIGZpbmQgdGhlIHZhbHVlIHRoYXQgd29ya3MgYmVzdCBmb3IgeW91ciB3b3JrbG9hZC5cbiBTdGFydCBhdCBoaWdoZXIgdGhhbiB0aGUgZXhwZWN0ZWQgbGF0ZW5jeSBmb3IgeW91ciBkZXZpY2UgYW5kLCB3aXRoXG4tYmxrY2dfZGVidWdfc3RhdHMgZW5hYmxlZCwgd2F0Y2ggdGhlIGF2Z19sYXQgdmFsdWUgaW4gaW8uc3RhdCBmb3IgeW91clxuLXdvcmtsb2FkIGdyb3VwIHRvIGdldCBhbiBpZGVhIG9mIHRoZSBsYXRlbmN5IHlvdSBzZWUgZHVyaW5nIG5vcm1hbCBvcGVyYXRpb24uXG4tVXNlIHRoZSBhdmdfbGF0IHZhbHVlIGFzIGEgYmFzaXMgZm9yIHlvdXIgcmVhbCBzZXR0aW5nLCBzZXR0aW5nIGF0IDEwLTE1JVxuLWhpZ2hlciB0aGFuIHRoZSB2YWx1ZSBpbiBpby5zdGF0LlxuJiM0MztibGtjZ19kZWJ1Z19zdGF0cyBlbmFibGVkLCBvYnNlcnZlIGlvLnN0YXQgZm9yIHlvdXIgd29ya2xvYWQgZ3JvdXAgdG8gZ2V0IGFuXG4mIzQzO2lkZWEgb2YgdGhlIGxhdGVuY3kgeW91IHNlZSBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbi4gIE9uIHJvdGF0aW9uYWwgZGV2aWNlcyxcbiYjNDM7dXNlIHRoZSBhdmdfbGF0IHZhbHVlIGFzIGEgYmFzaXMgZm9yIHlvdXIgcmVhbCBzZXR0aW5nLCBzZXR0aW5nIGl0IDEwLTE1JVxuJiM0MztoaWdoZXIuICBPbiBub24tcm90YXRpb25hbCBkZXZpY2VzIGF2Z19sYXQgaXMgbm90IHJlcG9ydGVkOyB3YXRjaCB0aGVcbiYjNDM7bWlzc2VkL3RvdGFsIHJhdGlvIGluc3RlYWQuXG4gXG4gSG93IElPIExhdGVuY3kgVGhyb3R0bGluZyBXb3Jrc1xuIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5cbkBAIC0yMzAwLDkgJiM0MzsyMzA0LDkgQEAgVGhpcyB0aHJvdHRsaW5nIHRha2VzIDIgZm9ybXM6XG4gICB0aHJvdHRsZWQgd2l0aG91dCBwb3NzaWJseSBhZHZlcnNlbHkgYWZmZWN0aW5nIGhpZ2hlciBwcmlvcml0eSBncm91cHMuICBUaGlzXG4gICBpbmNsdWRlcyBzd2FwcGluZyBhbmQgbWV0YWRhdGEgSU8uICBUaGVzZSB0eXBlcyBvZiBJTyBhcmUgYWxsb3dlZCB0byBvY2N1clxuICAgbm9ybWFsbHksIGhvd2V2ZXIgdGhleSBhcmUgXCYjMzQ7Y2hhcmdlZFwmIzM0OyB0byB0aGUgb3JpZ2luYXRpbmcgZ3JvdXAuICBJZiB0aGVcbi0gIG9yaWdpbmF0aW5nIGdyb3VwIGlzIGJlaW5nIHRocm90dGxlZCB5b3Ugd2lsbCBzZWUgdGhlIHVzZV9kZWxheSBhbmQgZGVsYXlcbi0gIGZpZWxkcyBpbiBpby5zdGF0IGluY3JlYXNlLiAgVGhlIGRlbGF5IHZhbHVlIGlzIGhvdyBtYW55IG1pY3Jvc2Vjb25kcyB0aGF0IGFyZVxuLSAgYmVpbmcgYWRkZWQgdG8gYW55IHByb2Nlc3MgdGhhdCBydW5zIGluIHRoaXMgZ3JvdXAuICBCZWNhdXNlIHRoaXMgbnVtYmVyIGNhblxuJiM0MzsgIG9yaWdpbmF0aW5nIGdyb3VwIGlzIGJlaW5nIHRocm90dGxlZCB5b3Ugd2lsbCBzZWUgdGhlIHVzZV9kZWxheSBhbmQgZGVsYXlfbnNlY1xuJiM0MzsgIGZpZWxkcyBpbiBpby5zdGF0IGluY3JlYXNlLiAgVGhlIGRlbGF5X25zZWMgdmFsdWUgaXMgaG93IG1hbnkgbmFub3NlY29uZHMgdGhhdFxuJiM0MzsgIGFyZSBiZWluZyBhZGRlZCB0byBhbnkgcHJvY2VzcyB0aGF0IHJ1bnMgaW4gdGhpcyBncm91cC4gIEJlY2F1c2UgdGhpcyBudW1iZXIgY2FuXG4gICBncm93IHF1aXRlIGxhcmdlIGlmIHRoZXJlIGlzIGEgbG90IG9mIHN3YXBwaW5nIG9yIG1ldGFkYXRhIElPIG9jY3VycmluZyB3ZVxuICAgbGltaXQgdGhlIGluZGl2aWR1YWwgZGVsYXkgZXZlbnRzIHRvIDEgc2Vjb25kIGF0IGEgdGltZS5cbiBcbkBAIC0yMzI0LDE5ICYjNDM7MjMyOCwzNCBAQCBJTyBMYXRlbmN5IEludGVyZmFjZSBGaWxlc1xuIFx0dGhlIGJsa2NnX2RlYnVnX3N0YXRzIG1vZHVsZSBwYXJhbWV0ZXIgaXMgZW5hYmxlZCAoaXQgaXMgZGlzYWJsZWQgYnlcbiBcdGRlZmF1bHQpLlxuIFxuJiM0MztcdFRoZSByZXBvcnRlZCBsYXRlbmN5IGZpZWxkcyBkZXBlbmQgb24gdGhlIGRldmljZS4gIFJvdGF0aW9uYWwgZGV2aWNlc1xuJiM0MztcdHJlcG9ydCBhdmdfbGF0IGFuZCB3aW47IG5vbi1yb3RhdGlvbmFsIGRldmljZXMgcmVwb3J0IG1pc3NlZCBhbmQgdG90YWxcbiYjNDM7XHRpbnN0ZWFkLlxuJiM0MztcbiBcdCAgZGVwdGhcbiBcdFx0VGhpcyBpcyB0aGUgY3VycmVudCBxdWV1ZSBkZXB0aCBmb3IgdGhlIGdyb3VwLlxuIFxuIFx0ICBhdmdfbGF0XG4tXHRcdFRoaXMgaXMgYW4gZXhwb25lbnRpYWwgbW92aW5nIGF2ZXJhZ2Ugd2l0aCBhIGRlY2F5IHJhdGUgb2YgMS9leHBcbi1cdFx0Ym91bmQgYnkgdGhlIHNhbXBsaW5nIGludGVydmFsLiAgVGhlIGRlY2F5IHJhdGUgaW50ZXJ2YWwgY2FuIGJlXG4tXHRcdGNhbGN1bGF0ZWQgYnkgbXVsdGlwbHlpbmcgdGhlIHdpbiB2YWx1ZSBpbiBpby5zdGF0IGJ5IHRoZVxuLVx0XHRjb3JyZXNwb25kaW5nIG51bWJlciBvZiBzYW1wbGVzIGJhc2VkIG9uIHRoZSB3aW4gdmFsdWUuXG4mIzQzO1x0XHQoUm90YXRpb25hbCBkZXZpY2VzIG9ubHkuKSAgVGhpcyBpcyBhbiBleHBvbmVudGlhbCBtb3ZpbmdcbiYjNDM7XHRcdGF2ZXJhZ2Ugd2l0aCBhIGRlY2F5IHJhdGUgb2YgMS9leHAgYm91bmQgYnkgdGhlIHNhbXBsaW5nXG4mIzQzO1x0XHRpbnRlcnZhbC4gIFRoZSBkZWNheSByYXRlIGludGVydmFsIGNhbiBiZSBjYWxjdWxhdGVkIGJ5XG4mIzQzO1x0XHRtdWx0aXBseWluZyB0aGUgd2luIHZhbHVlIGluIGlvLnN0YXQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgbnVtYmVyXG4mIzQzO1x0XHRvZiBzYW1wbGVzIGJhc2VkIG9uIHRoZSB3aW4gdmFsdWUuXG4gXG4gXHQgIHdpblxuLVx0XHRUaGUgc2FtcGxpbmcgd2luZG93IHNpemUgaW4gbWlsbGlzZWNvbmRzLiAgVGhpcyBpcyB0aGUgbWluaW11bVxuLVx0XHRkdXJhdGlvbiBvZiB0aW1lIGJldHdlZW4gZXZhbHVhdGlvbiBldmVudHMuICBXaW5kb3dzIG9ubHkgZWxhcHNlXG4tXHRcdHdpdGggSU8gYWN0aXZpdHkuICBJZGxlIHBlcmlvZHMgZXh0ZW5kIHRoZSBtb3N0IHJlY2VudCB3aW5kb3cuXG4mIzQzO1x0XHQoUm90YXRpb25hbCBkZXZpY2VzIG9ubHkuKSAgVGhlIHNhbXBsaW5nIHdpbmRvdyBzaXplIGluXG4mIzQzO1x0XHRtaWxsaXNlY29uZHMuICBUaGlzIGlzIHRoZSBtaW5pbXVtIGR1cmF0aW9uIG9mIHRpbWUgYmV0d2VlblxuJiM0MztcdFx0ZXZhbHVhdGlvbiBldmVudHMuICBXaW5kb3dzIG9ubHkgZWxhcHNlIHdpdGggSU8gYWN0aXZpdHkuICBJZGxlXG4mIzQzO1x0XHRwZXJpb2RzIGV4dGVuZCB0aGUgbW9zdCByZWNlbnQgd2luZG93LlxuJiM0MztcbiYjNDM7XHQgIG1pc3NlZFxuJiM0MztcdFx0KE5vbi1yb3RhdGlvbmFsIGRldmljZXMgb25seS4pICBUaGUgbnVtYmVyIG9mIElPcyBpbiB0aGUgbGFzdFxuJiM0MztcdFx0d2luZG93IHdob3NlIGxhdGVuY3kgZXhjZWVkZWQgdGhlIHRhcmdldC5cbiYjNDM7XG4mIzQzO1x0ICB0b3RhbFxuJiM0MztcdFx0KE5vbi1yb3RhdGlvbmFsIGRldmljZXMgb25seS4pICBUaGUgdG90YWwgbnVtYmVyIG9mIElPc1xuJiM0MztcdFx0YWNjb3VudGVkIGluIHRoZSBsYXN0IHdpbmRvdy4gIEEgZ3JvdXAgaXMgY29uc2lkZXJlZCB0byBiZVxuJiM0MztcdFx0bWlzc2luZyBpdHMgdGFyZ2V0IG9uY2UgbWlzc2VkIHJlYWNoZXMgMTAlIG9mIHRvdGFsLlxuIFxuIElPIFByaW9yaXR5XG4gfn5+fn5+fn5+fn5cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAwNjoyNjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIGRvY3VtZW50YXRpb24gKGNncm91cC12Mi5yc3QpIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNvZGUgY2hhbmdlcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDc1MWI5YTlmOWYxNjhiOTFkZWIxMDJlNTk3OGVmNjhiMjFkNzRlNTEKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgRnJpIEp1bCAxNyAwNjoyNjoyNCAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvY2dyb3VwLXYyLnJzdCBiL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvY2dyb3VwLXYyLnJzdAppbmRleCAwZGYxNWE2NzJjZjM0NS4uNjg3ODM5Y2Y1YzczNWYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvY2dyb3VwLXYyLnJzdAomIzQzOyYjNDM7JiM0MzsgYi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3QKQEAgLTIyNjAsOSAmIzQzOzIyNjAsMTIgQEAgSU8gTGF0ZW5jeQogfn5+fn5+fn5+fgogCiBUaGlzIGlzIGEgY2dyb3VwIHYyIGNvbnRyb2xsZXIgZm9yIElPIHdvcmtsb2FkIHByb3RlY3Rpb24uICBZb3UgcHJvdmlkZSBhIGdyb3VwCi13aXRoIGEgbGF0ZW5jeSB0YXJnZXQsIGFuZCBpZiB0aGUgYXZlcmFnZSBsYXRlbmN5IGV4Y2VlZHMgdGhhdCB0YXJnZXQgdGhlCi1jb250cm9sbGVyIHdpbGwgdGhyb3R0bGUgYW55IHBlZXJzIHRoYXQgaGF2ZSBhIGxvd2VyIGxhdGVuY3kgdGFyZ2V0IHRoYW4gdGhlCi1wcm90ZWN0ZWQgd29ya2xvYWQuCiYjNDM7d2l0aCBhIGxhdGVuY3kgdGFyZ2V0LCBhbmQgaWYgdGhlIGdyb3VwIG1pc3NlcyBpdHMgdGFyZ2V0IHRoZSBjb250cm9sbGVyIHdpbGwKJiM0Mzt0aHJvdHRsZSBhbnkgcGVlcnMgdGhhdCBoYXZlIGEgbG93ZXIgbGF0ZW5jeSB0YXJnZXQgdGhhbiB0aGUgcHJvdGVjdGVkCiYjNDM7d29ya2xvYWQuICBIb3cgYSBtaXNzIGlzIGRldGVjdGVkIGRlcGVuZHMgb24gdGhlIGRldmljZTogb24gcm90YXRpb25hbCBkZXZpY2VzCiYjNDM7dGhlIGF2ZXJhZ2UgbGF0ZW5jeSBvdmVyIHRoZSB3aW5kb3cgbXVzdCBleGNlZWQgdGhlIHRhcmdldCwgd2hpbGUgb24KJiM0Mztub24tcm90YXRpb25hbCBkZXZpY2VzIGEgbWlzcyBpcyBjb3VudGVkIHdoZW4gMTAlIG9yIG1vcmUgb2YgdGhlIElPcyBpbiB0aGUKJiM0Mzt3aW5kb3cgaW5kaXZpZHVhbGx5IGV4Y2VlZCB0aGUgdGFyZ2V0LgogCiBUaGUgbGltaXRzIGFyZSBvbmx5IGFwcGxpZWQgYXQgdGhlIHBlZXIgbGV2ZWwgaW4gdGhlIGhpZXJhcmNoeS4gIFRoaXMgbWVhbnMgdGhhdAogaW4gdGhlIGRpYWdyYW0gYmVsb3csIG9ubHkgZ3JvdXBzIEEsIEIsIGFuZCBDIHdpbGwgaW5mbHVlbmNlIGVhY2ggb3RoZXIsIGFuZApAQCAtMjI3OSwxMCAmIzQzOzIyODIsMTEgQEAgU28gdGhlIGlkZWFsIHdheSB0byBjb25maWd1cmUgdGhpcyBpcyB0byBzZXQgaW8ubGF0ZW5jeSBpbiBncm91cHMgQSwgQiwgYW5kIEMuCiBHZW5lcmFsbHkgeW91IGRvIG5vdCB3YW50IHRvIHNldCBhIHZhbHVlIGxvd2VyIHRoYW4gdGhlIGxhdGVuY3kgeW91ciBkZXZpY2UKIHN1cHBvcnRzLiAgRXhwZXJpbWVudCB0byBmaW5kIHRoZSB2YWx1ZSB0aGF0IHdvcmtzIGJlc3QgZm9yIHlvdXIgd29ya2xvYWQuCiBTdGFydCBhdCBoaWdoZXIgdGhhbiB0aGUgZXhwZWN0ZWQgbGF0ZW5jeSBmb3IgeW91ciBkZXZpY2UgYW5kLCB3aXRoCi1ibGtjZ19kZWJ1Z19zdGF0cyBlbmFibGVkLCB3YXRjaCB0aGUgYXZnX2xhdCB2YWx1ZSBpbiBpby5zdGF0IGZvciB5b3VyCi13b3JrbG9hZCBncm91cCB0byBnZXQgYW4gaWRlYSBvZiB0aGUgbGF0ZW5jeSB5b3Ugc2VlIGR1cmluZyBub3JtYWwgb3BlcmF0aW9uLgotVXNlIHRoZSBhdmdfbGF0IHZhbHVlIGFzIGEgYmFzaXMgZm9yIHlvdXIgcmVhbCBzZXR0aW5nLCBzZXR0aW5nIGF0IDEwLTE1JQotaGlnaGVyIHRoYW4gdGhlIHZhbHVlIGluIGlvLnN0YXQuCiYjNDM7YmxrY2dfZGVidWdfc3RhdHMgZW5hYmxlZCwgb2JzZXJ2ZSBpby5zdGF0IGZvciB5b3VyIHdvcmtsb2FkIGdyb3VwIHRvIGdldCBhbgomIzQzO2lkZWEgb2YgdGhlIGxhdGVuY3kgeW91IHNlZSBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbi4gIE9uIHJvdGF0aW9uYWwgZGV2aWNlcywKJiM0Mzt1c2UgdGhlIGF2Z19sYXQgdmFsdWUgYXMgYSBiYXNpcyBmb3IgeW91ciByZWFsIHNldHRpbmcsIHNldHRpbmcgaXQgMTAtMTUlCiYjNDM7aGlnaGVyLiAgT24gbm9uLXJvdGF0aW9uYWwgZGV2aWNlcyBhdmdfbGF0IGlzIG5vdCByZXBvcnRlZDsgd2F0Y2ggdGhlCiYjNDM7bWlzc2VkL3RvdGFsIHJhdGlvIGluc3RlYWQuCiAKIEhvdyBJTyBMYXRlbmN5IFRocm90dGxpbmcgV29ya3MKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KQEAgLTIzMDAsOSAmIzQzOzIzMDQsOSBAQCBUaGlzIHRocm90dGxpbmcgdGFrZXMgMiBmb3JtczoKICAgdGhyb3R0bGVkIHdpdGhvdXQgcG9zc2libHkgYWR2ZXJzZWx5IGFmZmVjdGluZyBoaWdoZXIgcHJpb3JpdHkgZ3JvdXBzLiAgVGhpcwogICBpbmNsdWRlcyBzd2FwcGluZyBhbmQgbWV0YWRhdGEgSU8uICBUaGVzZSB0eXBlcyBvZiBJTyBhcmUgYWxsb3dlZCB0byBvY2N1cgogICBub3JtYWxseSwgaG93ZXZlciB0aGV5IGFyZSAmIzM0O2NoYXJnZWQmIzM0OyB0byB0aGUgb3JpZ2luYXRpbmcgZ3JvdXAuICBJZiB0aGUKLSAgb3JpZ2luYXRpbmcgZ3JvdXAgaXMgYmVpbmcgdGhyb3R0bGVkIHlvdSB3aWxsIHNlZSB0aGUgdXNlX2RlbGF5IGFuZCBkZWxheQotICBmaWVsZHMgaW4gaW8uc3RhdCBpbmNyZWFzZS4gIFRoZSBkZWxheSB2YWx1ZSBpcyBob3cgbWFueSBtaWNyb3NlY29uZHMgdGhhdCBhcmUKLSAgYmVpbmcgYWRkZWQgdG8gYW55IHByb2Nlc3MgdGhhdCBydW5zIGluIHRoaXMgZ3JvdXAuICBCZWNhdXNlIHRoaXMgbnVtYmVyIGNhbgomIzQzOyAgb3JpZ2luYXRpbmcgZ3JvdXAgaXMgYmVpbmcgdGhyb3R0bGVkIHlvdSB3aWxsIHNlZSB0aGUgdXNlX2RlbGF5IGFuZCBkZWxheV9uc2VjCiYjNDM7ICBmaWVsZHMgaW4gaW8uc3RhdCBpbmNyZWFzZS4gIFRoZSBkZWxheV9uc2VjIHZhbHVlIGlzIGhvdyBtYW55IG5hbm9zZWNvbmRzIHRoYXQKJiM0MzsgIGFyZSBiZWluZyBhZGRlZCB0byBhbnkgcHJvY2VzcyB0aGF0IHJ1bnMgaW4gdGhpcyBncm91cC4gIEJlY2F1c2UgdGhpcyBudW1iZXIgY2FuCiAgIGdyb3cgcXVpdGUgbGFyZ2UgaWYgdGhlcmUgaXMgYSBsb3Qgb2Ygc3dhcHBpbmcgb3IgbWV0YWRhdGEgSU8gb2NjdXJyaW5nIHdlCiAgIGxpbWl0IHRoZSBpbmRpdmlkdWFsIGRlbGF5IGV2ZW50cyB0byAxIHNlY29uZCBhdCBhIHRpbWUuCiAKQEAgLTIzMjQsMTkgJiM0MzsyMzI4LDM0IEBAIElPIExhdGVuY3kgSW50ZXJmYWNlIEZpbGVzCiAJdGhlIGJsa2NnX2RlYnVnX3N0YXRzIG1vZHVsZSBwYXJhbWV0ZXIgaXMgZW5hYmxlZCAoaXQgaXMgZGlzYWJsZWQgYnkKIAlkZWZhdWx0KS4KIAomIzQzOwlUaGUgcmVwb3J0ZWQgbGF0ZW5jeSBmaWVsZHMgZGVwZW5kIG9uIHRoZSBkZXZpY2UuICBSb3RhdGlvbmFsIGRldmljZXMKJiM0MzsJcmVwb3J0IGF2Z19sYXQgYW5kIHdpbjsgbm9uLXJvdGF0aW9uYWwgZGV2aWNlcyByZXBvcnQgbWlzc2VkIGFuZCB0b3RhbAomIzQzOwlpbnN0ZWFkLgomIzQzOwogCSAgZGVwdGgKIAkJVGhpcyBpcyB0aGUgY3VycmVudCBxdWV1ZSBkZXB0aCBmb3IgdGhlIGdyb3VwLgogCiAJICBhdmdfbGF0Ci0JCVRoaXMgaXMgYW4gZXhwb25lbnRpYWwgbW92aW5nIGF2ZXJhZ2Ugd2l0aCBhIGRlY2F5IHJhdGUgb2YgMS9leHAKLQkJYm91bmQgYnkgdGhlIHNhbXBsaW5nIGludGVydmFsLiAgVGhlIGRlY2F5IHJhdGUgaW50ZXJ2YWwgY2FuIGJlCi0JCWNhbGN1bGF0ZWQgYnkgbXVsdGlwbHlpbmcgdGhlIHdpbiB2YWx1ZSBpbiBpby5zdGF0IGJ5IHRoZQotCQljb3JyZXNwb25kaW5nIG51bWJlciBvZiBzYW1wbGVzIGJhc2VkIG9uIHRoZSB3aW4gdmFsdWUuCiYjNDM7CQkoUm90YXRpb25hbCBkZXZpY2VzIG9ubHkuKSAgVGhpcyBpcyBhbiBleHBvbmVudGlhbCBtb3ZpbmcKJiM0MzsJCWF2ZXJhZ2Ugd2l0aCBhIGRlY2F5IHJhdGUgb2YgMS9leHAgYm91bmQgYnkgdGhlIHNhbXBsaW5nCiYjNDM7CQlpbnRlcnZhbC4gIFRoZSBkZWNheSByYXRlIGludGVydmFsIGNhbiBiZSBjYWxjdWxhdGVkIGJ5CiYjNDM7CQltdWx0aXBseWluZyB0aGUgd2luIHZhbHVlIGluIGlvLnN0YXQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgbnVtYmVyCiYjNDM7CQlvZiBzYW1wbGVzIGJhc2VkIG9uIHRoZSB3aW4gdmFsdWUuCiAKIAkgIHdpbgotCQlUaGUgc2FtcGxpbmcgd2luZG93IHNpemUgaW4gbWlsbGlzZWNvbmRzLiAgVGhpcyBpcyB0aGUgbWluaW11bQotCQlkdXJhdGlvbiBvZiB0aW1lIGJldHdlZW4gZXZhbHVhdGlvbiBldmVudHMuICBXaW5kb3dzIG9ubHkgZWxhcHNlCi0JCXdpdGggSU8gYWN0aXZpdHkuICBJZGxlIHBlcmlvZHMgZXh0ZW5kIHRoZSBtb3N0IHJlY2VudCB3aW5kb3cuCiYjNDM7CQkoUm90YXRpb25hbCBkZXZpY2VzIG9ubHkuKSAgVGhlIHNhbXBsaW5nIHdpbmRvdyBzaXplIGluCiYjNDM7CQltaWxsaXNlY29uZHMuICBUaGlzIGlzIHRoZSBtaW5pbXVtIGR1cmF0aW9uIG9mIHRpbWUgYmV0d2VlbgomIzQzOwkJZXZhbHVhdGlvbiBldmVudHMuICBXaW5kb3dzIG9ubHkgZWxhcHNlIHdpdGggSU8gYWN0aXZpdHkuICBJZGxlCiYjNDM7CQlwZXJpb2RzIGV4dGVuZCB0aGUgbW9zdCByZWNlbnQgd2luZG93LgomIzQzOwomIzQzOwkgIG1pc3NlZAomIzQzOwkJKE5vbi1yb3RhdGlvbmFsIGRldmljZXMgb25seS4pICBUaGUgbnVtYmVyIG9mIElPcyBpbiB0aGUgbGFzdAomIzQzOwkJd2luZG93IHdob3NlIGxhdGVuY3kgZXhjZWVkZWQgdGhlIHRhcmdldC4KJiM0MzsKJiM0MzsJICB0b3RhbAomIzQzOwkJKE5vbi1yb3RhdGlvbmFsIGRldmljZXMgb25seS4pICBUaGUgdG90YWwgbnVtYmVyIG9mIElPcwomIzQzOwkJYWNjb3VudGVkIGluIHRoZSBsYXN0IHdpbmRvdy4gIEEgZ3JvdXAgaXMgY29uc2lkZXJlZCB0byBiZQomIzQzOwkJbWlzc2luZyBpdHMgdGFyZ2V0IG9uY2UgbWlzc2VkIHJlYWNoZXMgMTAlIG9mIHRvdGFsLgogCiBJTyBQcmlvcml0eQogfn5+fn5+fn5+fn4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDY6MjY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjkxNgoJCQkJCQkJb3V0cHV0OiA1NAoJCQkJCQkJdGhvdWdodHM6IDIyNAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipEb2N1bWVudGF0aW9uLU9ubHkgUGF0Y2ggQXNzZXNzbWVudCoqCgpPa2F5LCBzbyBJJiMzOTt2ZSBnb3QgdGhpcyBwYXRjaCwgYW5kIHRoZSBvbmx5IGZpbGUgaXQgdG91Y2hlcyBpcyBgRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9jZ3JvdXAtdjIucnN0YC4gVGhhdCBpbW1lZGlhdGVseSBmbGFncyBpdCBhcyBwb3RlbnRpYWxseSBsb3ctcmlzay4gTGV0JiMzOTtzIGNvbmZpcm0gdGhhdCBubyBzbmVha3kgY2hhbmdlcyBoYXZlIGNyZXB0IGluIGVsc2V3aGVyZSwgdGhvdWdoLiBBIHF1aWNrIGNoZWNrIG9mIHRoZSBkaWZmIHNob3VsZCB2ZXJpZnkgdGhpcy4gKkNsaWNrLCBjbGljayouIFllcCwgdGhlIGRpZmYgKm9ubHkqIHNob3dzIG1vZGlmaWNhdGlvbnMgdG8gdGhhdCBzcGVjaWZpYyBSU1QgZmlsZSwgYXMgZXhwZWN0ZWQuIEdpdmVuIHRoYXQgaXQmIzM5O3MgKnB1cmVseSogZG9jdW1lbnRhdGlvbiwgYW5kIG5vIGNvZGUgaXMgYmVpbmcgdG91Y2hlZCwgSSYjMzk7bSBjb25maWRlbnQgdGhhdCB3ZSBjYW4gc2FmZWx5IHNldCBgV29ydGhGdXp6aW5nYCB0byBgZmFsc2VgLiBObyBuZWVkIHRvIGV4cGVuZCBjeWNsZXMgZnV6emluZyBkb2N1bWVudGF0aW9uLiBJJiMzOTtsbCBtYWtlIHRoZSBjYWxsIHRvIGBzZXQtcmVzdWx0c2AgYWNjb3JkaW5nbHkuIFRoaXMgaXMgYSBzdHJhaWdodGZvcndhcmQgZG9jdW1lbnRhdGlvbiB1cGRhdGUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDY6MjY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIGRvY3VtZW50YXRpb24gKGNncm91cC12Mi5yc3QpIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNvZGUgY2hhbmdlcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgZG9jdW1lbnRhdGlvbiAoY2dyb3VwLXYyLnJzdCkgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY29kZSBjaGFuZ2VzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA2OjI2OjI2LjM3MDM0MDU0NVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEyMjIyMDYyNDkwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIGRvY3VtZW50YXRpb24gKGNncm91cC12Mi5yc3QpIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNvZGUgY2hhbmdlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA2OjI2OjI2LjM3MDM0Nzg0NVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTQ1NTQ1MTM5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgNzUxYjlhOWY5ZjE2OGI5MWRlYjEwMmU1OTc4ZWY2OGIyMWQ3NGU1MVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgRnJpIEp1bCAxNyAwNjoyNjoyNCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3QgYi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3RcXG5pbmRleCAwZGYxNWE2NzJjZjM0NS4uNjg3ODM5Y2Y1YzczNWYgMTAwNjQ0XFxuLS0tIGEvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9jZ3JvdXAtdjIucnN0XFxuKysrIGIvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9jZ3JvdXAtdjIucnN0XFxuQEAgLTIyNjAsOSArMjI2MCwxMiBAQCBJTyBMYXRlbmN5XFxuIH5+fn5+fn5+fn5cXG4gXFxuIFRoaXMgaXMgYSBjZ3JvdXAgdjIgY29udHJvbGxlciBmb3IgSU8gd29ya2xvYWQgcHJvdGVjdGlvbi4gIFlvdSBwcm92aWRlIGEgZ3JvdXBcXG4td2l0aCBhIGxhdGVuY3kgdGFyZ2V0LCBhbmQgaWYgdGhlIGF2ZXJhZ2UgbGF0ZW5jeSBleGNlZWRzIHRoYXQgdGFyZ2V0IHRoZVxcbi1jb250cm9sbGVyIHdpbGwgdGhyb3R0bGUgYW55IHBlZXJzIHRoYXQgaGF2ZSBhIGxvd2VyIGxhdGVuY3kgdGFyZ2V0IHRoYW4gdGhlXFxuLXByb3RlY3RlZCB3b3JrbG9hZC5cXG4rd2l0aCBhIGxhdGVuY3kgdGFyZ2V0LCBhbmQgaWYgdGhlIGdyb3VwIG1pc3NlcyBpdHMgdGFyZ2V0IHRoZSBjb250cm9sbGVyIHdpbGxcXG4rdGhyb3R0bGUgYW55IHBlZXJzIHRoYXQgaGF2ZSBhIGxvd2VyIGxhdGVuY3kgdGFyZ2V0IHRoYW4gdGhlIHByb3RlY3RlZFxcbit3b3JrbG9hZC4gIEhvdyBhIG1pc3MgaXMgZGV0ZWN0ZWQgZGVwZW5kcyBvbiB0aGUgZGV2aWNlOiBvbiByb3RhdGlvbmFsIGRldmljZXNcXG4rdGhlIGF2ZXJhZ2UgbGF0ZW5jeSBvdmVyIHRoZSB3aW5kb3cgbXVzdCBleGNlZWQgdGhlIHRhcmdldCwgd2hpbGUgb25cXG4rbm9uLXJvdGF0aW9uYWwgZGV2aWNlcyBhIG1pc3MgaXMgY291bnRlZCB3aGVuIDEwJSBvciBtb3JlIG9mIHRoZSBJT3MgaW4gdGhlXFxuK3dpbmRvdyBpbmRpdmlkdWFsbHkgZXhjZWVkIHRoZSB0YXJnZXQuXFxuIFxcbiBUaGUgbGltaXRzIGFyZSBvbmx5IGFwcGxpZWQgYXQgdGhlIHBlZXIgbGV2ZWwgaW4gdGhlIGhpZXJhcmNoeS4gIFRoaXMgbWVhbnMgdGhhdFxcbiBpbiB0aGUgZGlhZ3JhbSBiZWxvdywgb25seSBncm91cHMgQSwgQiwgYW5kIEMgd2lsbCBpbmZsdWVuY2UgZWFjaCBvdGhlciwgYW5kXFxuQEAgLTIyNzksMTAgKzIyODIsMTEgQEAgU28gdGhlIGlkZWFsIHdheSB0byBjb25maWd1cmUgdGhpcyBpcyB0byBzZXQgaW8ubGF0ZW5jeSBpbiBncm91cHMgQSwgQiwgYW5kIEMuXFxuIEdlbmVyYWxseSB5b3UgZG8gbm90IHdhbnQgdG8gc2V0IGEgdmFsdWUgbG93ZXIgdGhhbiB0aGUgbGF0ZW5jeSB5b3VyIGRldmljZVxcbiBzdXBwb3J0cy4gIEV4cGVyaW1lbnQgdG8gZmluZCB0aGUgdmFsdWUgdGhhdCB3b3JrcyBiZXN0IGZvciB5b3VyIHdvcmtsb2FkLlxcbiBTdGFydCBhdCBoaWdoZXIgdGhhbiB0aGUgZXhwZWN0ZWQgbGF0ZW5jeSBmb3IgeW91ciBkZXZpY2UgYW5kLCB3aXRoXFxuLWJsa2NnX2RlYnVnX3N0YXRzIGVuYWJsZWQsIHdhdGNoIHRoZSBhdmdfbGF0IHZhbHVlIGluIGlvLnN0YXQgZm9yIHlvdXJcXG4td29ya2xvYWQgZ3JvdXAgdG8gZ2V0IGFuIGlkZWEgb2YgdGhlIGxhdGVuY3kgeW91IHNlZSBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbi5cXG4tVXNlIHRoZSBhdmdfbGF0IHZhbHVlIGFzIGEgYmFzaXMgZm9yIHlvdXIgcmVhbCBzZXR0aW5nLCBzZXR0aW5nIGF0IDEwLTE1JVxcbi1oaWdoZXIgdGhhbiB0aGUgdmFsdWUgaW4gaW8uc3RhdC5cXG4rYmxrY2dfZGVidWdfc3RhdHMgZW5hYmxlZCwgb2JzZXJ2ZSBpby5zdGF0IGZvciB5b3VyIHdvcmtsb2FkIGdyb3VwIHRvIGdldCBhblxcbitpZGVhIG9mIHRoZSBsYXRlbmN5IHlvdSBzZWUgZHVyaW5nIG5vcm1hbCBvcGVyYXRpb24uICBPbiByb3RhdGlvbmFsIGRldmljZXMsXFxuK3VzZSB0aGUgYXZnX2xhdCB2YWx1ZSBhcyBhIGJhc2lzIGZvciB5b3VyIHJlYWwgc2V0dGluZywgc2V0dGluZyBpdCAxMC0xNSVcXG4raGlnaGVyLiAgT24gbm9uLXJvdGF0aW9uYWwgZGV2aWNlcyBhdmdfbGF0IGlzIG5vdCByZXBvcnRlZDsgd2F0Y2ggdGhlXFxuK21pc3NlZC90b3RhbCByYXRpbyBpbnN0ZWFkLlxcbiBcXG4gSG93IElPIExhdGVuY3kgVGhyb3R0bGluZyBXb3Jrc1xcbiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+XFxuQEAgLTIzMDAsOSArMjMwNCw5IEBAIFRoaXMgdGhyb3R0bGluZyB0YWtlcyAyIGZvcm1zOlxcbiAgIHRocm90dGxlZCB3aXRob3V0IHBvc3NpYmx5IGFkdmVyc2VseSBhZmZlY3RpbmcgaGlnaGVyIHByaW9yaXR5IGdyb3Vwcy4gIFRoaXNcXG4gICBpbmNsdWRlcyBzd2FwcGluZyBhbmQgbWV0YWRhdGEgSU8uICBUaGVzZSB0eXBlcyBvZiBJTyBhcmUgYWxsb3dlZCB0byBvY2N1clxcbiAgIG5vcm1hbGx5LCBob3dldmVyIHRoZXkgYXJlIFxcXCJjaGFyZ2VkXFxcIiB0byB0aGUgb3JpZ2luYXRpbmcgZ3JvdXAuICBJZiB0aGVcXG4tICBvcmlnaW5hdGluZyBncm91cCBpcyBiZWluZyB0aHJvdHRsZWQgeW91IHdpbGwgc2VlIHRoZSB1c2VfZGVsYXkgYW5kIGRlbGF5XFxuLSAgZmllbGRzIGluIGlvLnN0YXQgaW5jcmVhc2UuICBUaGUgZGVsYXkgdmFsdWUgaXMgaG93IG1hbnkgbWljcm9zZWNvbmRzIHRoYXQgYXJlXFxuLSAgYmVpbmcgYWRkZWQgdG8gYW55IHByb2Nlc3MgdGhhdCBydW5zIGluIHRoaXMgZ3JvdXAuICBCZWNhdXNlIHRoaXMgbnVtYmVyIGNhblxcbisgIG9yaWdpbmF0aW5nIGdyb3VwIGlzIGJlaW5nIHRocm90dGxlZCB5b3Ugd2lsbCBzZWUgdGhlIHVzZV9kZWxheSBhbmQgZGVsYXlfbnNlY1xcbisgIGZpZWxkcyBpbiBpby5zdGF0IGluY3JlYXNlLiAgVGhlIGRlbGF5X25zZWMgdmFsdWUgaXMgaG93IG1hbnkgbmFub3NlY29uZHMgdGhhdFxcbisgIGFyZSBiZWluZyBhZGRlZCB0byBhbnkgcHJvY2VzcyB0aGF0IHJ1bnMgaW4gdGhpcyBncm91cC4gIEJlY2F1c2UgdGhpcyBudW1iZXIgY2FuXFxuICAgZ3JvdyBxdWl0ZSBsYXJnZSBpZiB0aGVyZSBpcyBhIGxvdCBvZiBzd2FwcGluZyBvciBtZXRhZGF0YSBJTyBvY2N1cnJpbmcgd2VcXG4gICBsaW1pdCB0aGUgaW5kaXZpZHVhbCBkZWxheSBldmVudHMgdG8gMSBzZWNvbmQgYXQgYSB0aW1lLlxcbiBcXG5AQCAtMjMyNCwxOSArMjMyOCwzNCBAQCBJTyBMYXRlbmN5IEludGVyZmFjZSBGaWxlc1xcbiBcXHR0aGUgYmxrY2dfZGVidWdfc3RhdHMgbW9kdWxlIHBhcmFtZXRlciBpcyBlbmFibGVkIChpdCBpcyBkaXNhYmxlZCBieVxcbiBcXHRkZWZhdWx0KS5cXG4gXFxuK1xcdFRoZSByZXBvcnRlZCBsYXRlbmN5IGZpZWxkcyBkZXBlbmQgb24gdGhlIGRldmljZS4gIFJvdGF0aW9uYWwgZGV2aWNlc1xcbitcXHRyZXBvcnQgYXZnX2xhdCBhbmQgd2luOyBub24tcm90YXRpb25hbCBkZXZpY2VzIHJlcG9ydCBtaXNzZWQgYW5kIHRvdGFsXFxuK1xcdGluc3RlYWQuXFxuK1xcbiBcXHQgIGRlcHRoXFxuIFxcdFxcdFRoaXMgaXMgdGhlIGN1cnJlbnQgcXVldWUgZGVwdGggZm9yIHRoZSBncm91cC5cXG4gXFxuIFxcdCAgYXZnX2xhdFxcbi1cXHRcXHRUaGlzIGlzIGFuIGV4cG9uZW50aWFsIG1vdmluZyBhdmVyYWdlIHdpdGggYSBkZWNheSByYXRlIG9mIDEvZXhwXFxuLVxcdFxcdGJvdW5kIGJ5IHRoZSBzYW1wbGluZyBpbnRlcnZhbC4gIFRoZSBkZWNheSByYXRlIGludGVydmFsIGNhbiBiZVxcbi1cXHRcXHRjYWxjdWxhdGVkIGJ5IG11bHRpcGx5aW5nIHRoZSB3aW4gdmFsdWUgaW4gaW8uc3RhdCBieSB0aGVcXG4tXFx0XFx0Y29ycmVzcG9uZGluZyBudW1iZXIgb2Ygc2FtcGxlcyBiYXNlZCBvbiB0aGUgd2luIHZhbHVlLlxcbitcXHRcXHQoUm90YXRpb25hbCBkZXZpY2VzIG9ubHkuKSAgVGhpcyBpcyBhbiBleHBvbmVudGlhbCBtb3ZpbmdcXG4rXFx0XFx0YXZlcmFnZSB3aXRoIGEgZGVjYXkgcmF0ZSBvZiAxL2V4cCBib3VuZCBieSB0aGUgc2FtcGxpbmdcXG4rXFx0XFx0aW50ZXJ2YWwuICBUaGUgZGVjYXkgcmF0ZSBpbnRlcnZhbCBjYW4gYmUgY2FsY3VsYXRlZCBieVxcbitcXHRcXHRtdWx0aXBseWluZyB0aGUgd2luIHZhbHVlIGluIGlvLnN0YXQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgbnVtYmVyXFxuK1xcdFxcdG9mIHNhbXBsZXMgYmFzZWQgb24gdGhlIHdpbiB2YWx1ZS5cXG4gXFxuIFxcdCAgd2luXFxuLVxcdFxcdFRoZSBzYW1wbGluZyB3aW5kb3cgc2l6ZSBpbiBtaWxsaXNlY29uZHMuICBUaGlzIGlzIHRoZSBtaW5pbXVtXFxuLVxcdFxcdGR1cmF0aW9uIG9mIHRpbWUgYmV0d2VlbiBldmFsdWF0aW9uIGV2ZW50cy4gIFdpbmRvd3Mgb25seSBlbGFwc2VcXG4tXFx0XFx0d2l0aCBJTyBhY3Rpdml0eS4gIElkbGUgcGVyaW9kcyBleHRlbmQgdGhlIG1vc3QgcmVjZW50IHdpbmRvdy5cXG4rXFx0XFx0KFJvdGF0aW9uYWwgZGV2aWNlcyBvbmx5LikgIFRoZSBzYW1wbGluZyB3aW5kb3cgc2l6ZSBpblxcbitcXHRcXHRtaWxsaXNlY29uZHMuICBUaGlzIGlzIHRoZSBtaW5pbXVtIGR1cmF0aW9uIG9mIHRpbWUgYmV0d2VlblxcbitcXHRcXHRldmFsdWF0aW9uIGV2ZW50cy4gIFdpbmRvd3Mgb25seSBlbGFwc2Ugd2l0aCBJTyBhY3Rpdml0eS4gIElkbGVcXG4rXFx0XFx0cGVyaW9kcyBleHRlbmQgdGhlIG1vc3QgcmVjZW50IHdpbmRvdy5cXG4rXFxuK1xcdCAgbWlzc2VkXFxuK1xcdFxcdChOb24tcm90YXRpb25hbCBkZXZpY2VzIG9ubHkuKSAgVGhlIG51bWJlciBvZiBJT3MgaW4gdGhlIGxhc3RcXG4rXFx0XFx0d2luZG93IHdob3NlIGxhdGVuY3kgZXhjZWVkZWQgdGhlIHRhcmdldC5cXG4rXFxuK1xcdCAgdG90YWxcXG4rXFx0XFx0KE5vbi1yb3RhdGlvbmFsIGRldmljZXMgb25seS4pICBUaGUgdG90YWwgbnVtYmVyIG9mIElPc1xcbitcXHRcXHRhY2NvdW50ZWQgaW4gdGhlIGxhc3Qgd2luZG93LiAgQSBncm91cCBpcyBjb25zaWRlcmVkIHRvIGJlXFxuK1xcdFxcdG1pc3NpbmcgaXRzIHRhcmdldCBvbmNlIG1pc3NlZCByZWFjaGVzIDEwJSBvZiB0b3RhbC5cXG4gXFxuIElPIFByaW9yaXR5XFxuIH5+fn5+fn5+fn5+XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA2OjI2OjI2LjkxNjY0NzA4NVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTE2NzU3MjUzOTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgZG9jdW1lbnRhdGlvbiAoY2dyb3VwLXYyLnJzdCkgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY29kZSBjaGFuZ2VzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCA3NTFiOWE5ZjlmMTY4YjkxZGViMTAyZTU5NzhlZjY4YjIxZDc0ZTUxXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBKdWwgMTcgMDY6MjY6MjQgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3QgYi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3RcbmluZGV4IDBkZjE1YTY3MmNmMzQ1Li42ODc4MzljZjVjNzM1ZiAxMDA2NDRcbi0tLSBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvY2dyb3VwLXYyLnJzdFxuKysrIGIvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9jZ3JvdXAtdjIucnN0XG5AQCAtMjI2MCw5ICsyMjYwLDEyIEBAIElPIExhdGVuY3lcbiB+fn5+fn5+fn5+XG4gXG4gVGhpcyBpcyBhIGNncm91cCB2MiBjb250cm9sbGVyIGZvciBJTyB3b3JrbG9hZCBwcm90ZWN0aW9uLiAgWW91IHByb3ZpZGUgYSBncm91cFxuLXdpdGggYSBsYXRlbmN5IHRhcmdldCwgYW5kIGlmIHRoZSBhdmVyYWdlIGxhdGVuY3kgZXhjZWVkcyB0aGF0IHRhcmdldCB0aGVcbi1jb250cm9sbGVyIHdpbGwgdGhyb3R0bGUgYW55IHBlZXJzIHRoYXQgaGF2ZSBhIGxvd2VyIGxhdGVuY3kgdGFyZ2V0IHRoYW4gdGhlXG4tcHJvdGVjdGVkIHdvcmtsb2FkLlxuK3dpdGggYSBsYXRlbmN5IHRhcmdldCwgYW5kIGlmIHRoZSBncm91cCBtaXNzZXMgaXRzIHRhcmdldCB0aGUgY29udHJvbGxlciB3aWxsXG4rdGhyb3R0bGUgYW55IHBlZXJzIHRoYXQgaGF2ZSBhIGxvd2VyIGxhdGVuY3kgdGFyZ2V0IHRoYW4gdGhlIHByb3RlY3RlZFxuK3dvcmtsb2FkLiAgSG93IGEgbWlzcyBpcyBkZXRlY3RlZCBkZXBlbmRzIG9uIHRoZSBkZXZpY2U6IG9uIHJvdGF0aW9uYWwgZGV2aWNlc1xuK3RoZSBhdmVyYWdlIGxhdGVuY3kgb3ZlciB0aGUgd2luZG93IG11c3QgZXhjZWVkIHRoZSB0YXJnZXQsIHdoaWxlIG9uXG4rbm9uLXJvdGF0aW9uYWwgZGV2aWNlcyBhIG1pc3MgaXMgY291bnRlZCB3aGVuIDEwJSBvciBtb3JlIG9mIHRoZSBJT3MgaW4gdGhlXG4rd2luZG93IGluZGl2aWR1YWxseSBleGNlZWQgdGhlIHRhcmdldC5cbiBcbiBUaGUgbGltaXRzIGFyZSBvbmx5IGFwcGxpZWQgYXQgdGhlIHBlZXIgbGV2ZWwgaW4gdGhlIGhpZXJhcmNoeS4gIFRoaXMgbWVhbnMgdGhhdFxuIGluIHRoZSBkaWFncmFtIGJlbG93LCBvbmx5IGdyb3VwcyBBLCBCLCBhbmQgQyB3aWxsIGluZmx1ZW5jZSBlYWNoIG90aGVyLCBhbmRcbkBAIC0yMjc5LDEwICsyMjgyLDExIEBAIFNvIHRoZSBpZGVhbCB3YXkgdG8gY29uZmlndXJlIHRoaXMgaXMgdG8gc2V0IGlvLmxhdGVuY3kgaW4gZ3JvdXBzIEEsIEIsIGFuZCBDLlxuIEdlbmVyYWxseSB5b3UgZG8gbm90IHdhbnQgdG8gc2V0IGEgdmFsdWUgbG93ZXIgdGhhbiB0aGUgbGF0ZW5jeSB5b3VyIGRldmljZVxuIHN1cHBvcnRzLiAgRXhwZXJpbWVudCB0byBmaW5kIHRoZSB2YWx1ZSB0aGF0IHdvcmtzIGJlc3QgZm9yIHlvdXIgd29ya2xvYWQuXG4gU3RhcnQgYXQgaGlnaGVyIHRoYW4gdGhlIGV4cGVjdGVkIGxhdGVuY3kgZm9yIHlvdXIgZGV2aWNlIGFuZCwgd2l0aFxuLWJsa2NnX2RlYnVnX3N0YXRzIGVuYWJsZWQsIHdhdGNoIHRoZSBhdmdfbGF0IHZhbHVlIGluIGlvLnN0YXQgZm9yIHlvdXJcbi13b3JrbG9hZCBncm91cCB0byBnZXQgYW4gaWRlYSBvZiB0aGUgbGF0ZW5jeSB5b3Ugc2VlIGR1cmluZyBub3JtYWwgb3BlcmF0aW9uLlxuLVVzZSB0aGUgYXZnX2xhdCB2YWx1ZSBhcyBhIGJhc2lzIGZvciB5b3VyIHJlYWwgc2V0dGluZywgc2V0dGluZyBhdCAxMC0xNSVcbi1oaWdoZXIgdGhhbiB0aGUgdmFsdWUgaW4gaW8uc3RhdC5cbitibGtjZ19kZWJ1Z19zdGF0cyBlbmFibGVkLCBvYnNlcnZlIGlvLnN0YXQgZm9yIHlvdXIgd29ya2xvYWQgZ3JvdXAgdG8gZ2V0IGFuXG4raWRlYSBvZiB0aGUgbGF0ZW5jeSB5b3Ugc2VlIGR1cmluZyBub3JtYWwgb3BlcmF0aW9uLiAgT24gcm90YXRpb25hbCBkZXZpY2VzLFxuK3VzZSB0aGUgYXZnX2xhdCB2YWx1ZSBhcyBhIGJhc2lzIGZvciB5b3VyIHJlYWwgc2V0dGluZywgc2V0dGluZyBpdCAxMC0xNSVcbitoaWdoZXIuICBPbiBub24tcm90YXRpb25hbCBkZXZpY2VzIGF2Z19sYXQgaXMgbm90IHJlcG9ydGVkOyB3YXRjaCB0aGVcbittaXNzZWQvdG90YWwgcmF0aW8gaW5zdGVhZC5cbiBcbiBIb3cgSU8gTGF0ZW5jeSBUaHJvdHRsaW5nIFdvcmtzXG4gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+flxuQEAgLTIzMDAsOSArMjMwNCw5IEBAIFRoaXMgdGhyb3R0bGluZyB0YWtlcyAyIGZvcm1zOlxuICAgdGhyb3R0bGVkIHdpdGhvdXQgcG9zc2libHkgYWR2ZXJzZWx5IGFmZmVjdGluZyBoaWdoZXIgcHJpb3JpdHkgZ3JvdXBzLiAgVGhpc1xuICAgaW5jbHVkZXMgc3dhcHBpbmcgYW5kIG1ldGFkYXRhIElPLiAgVGhlc2UgdHlwZXMgb2YgSU8gYXJlIGFsbG93ZWQgdG8gb2NjdXJcbiAgIG5vcm1hbGx5LCBob3dldmVyIHRoZXkgYXJlIFwiY2hhcmdlZFwiIHRvIHRoZSBvcmlnaW5hdGluZyBncm91cC4gIElmIHRoZVxuLSAgb3JpZ2luYXRpbmcgZ3JvdXAgaXMgYmVpbmcgdGhyb3R0bGVkIHlvdSB3aWxsIHNlZSB0aGUgdXNlX2RlbGF5IGFuZCBkZWxheVxuLSAgZmllbGRzIGluIGlvLnN0YXQgaW5jcmVhc2UuICBUaGUgZGVsYXkgdmFsdWUgaXMgaG93IG1hbnkgbWljcm9zZWNvbmRzIHRoYXQgYXJlXG4tICBiZWluZyBhZGRlZCB0byBhbnkgcHJvY2VzcyB0aGF0IHJ1bnMgaW4gdGhpcyBncm91cC4gIEJlY2F1c2UgdGhpcyBudW1iZXIgY2FuXG4rICBvcmlnaW5hdGluZyBncm91cCBpcyBiZWluZyB0aHJvdHRsZWQgeW91IHdpbGwgc2VlIHRoZSB1c2VfZGVsYXkgYW5kIGRlbGF5X25zZWNcbisgIGZpZWxkcyBpbiBpby5zdGF0IGluY3JlYXNlLiAgVGhlIGRlbGF5X25zZWMgdmFsdWUgaXMgaG93IG1hbnkgbmFub3NlY29uZHMgdGhhdFxuKyAgYXJlIGJlaW5nIGFkZGVkIHRvIGFueSBwcm9jZXNzIHRoYXQgcnVucyBpbiB0aGlzIGdyb3VwLiAgQmVjYXVzZSB0aGlzIG51bWJlciBjYW5cbiAgIGdyb3cgcXVpdGUgbGFyZ2UgaWYgdGhlcmUgaXMgYSBsb3Qgb2Ygc3dhcHBpbmcgb3IgbWV0YWRhdGEgSU8gb2NjdXJyaW5nIHdlXG4gICBsaW1pdCB0aGUgaW5kaXZpZHVhbCBkZWxheSBldmVudHMgdG8gMSBzZWNvbmQgYXQgYSB0aW1lLlxuIFxuQEAgLTIzMjQsMTkgKzIzMjgsMzQgQEAgSU8gTGF0ZW5jeSBJbnRlcmZhY2UgRmlsZXNcbiBcdHRoZSBibGtjZ19kZWJ1Z19zdGF0cyBtb2R1bGUgcGFyYW1ldGVyIGlzIGVuYWJsZWQgKGl0IGlzIGRpc2FibGVkIGJ5XG4gXHRkZWZhdWx0KS5cbiBcbitcdFRoZSByZXBvcnRlZCBsYXRlbmN5IGZpZWxkcyBkZXBlbmQgb24gdGhlIGRldmljZS4gIFJvdGF0aW9uYWwgZGV2aWNlc1xuK1x0cmVwb3J0IGF2Z19sYXQgYW5kIHdpbjsgbm9uLXJvdGF0aW9uYWwgZGV2aWNlcyByZXBvcnQgbWlzc2VkIGFuZCB0b3RhbFxuK1x0aW5zdGVhZC5cbitcbiBcdCAgZGVwdGhcbiBcdFx0VGhpcyBpcyB0aGUgY3VycmVudCBxdWV1ZSBkZXB0aCBmb3IgdGhlIGdyb3VwLlxuIFxuIFx0ICBhdmdfbGF0XG4tXHRcdFRoaXMgaXMgYW4gZXhwb25lbnRpYWwgbW92aW5nIGF2ZXJhZ2Ugd2l0aCBhIGRlY2F5IHJhdGUgb2YgMS9leHBcbi1cdFx0Ym91bmQgYnkgdGhlIHNhbXBsaW5nIGludGVydmFsLiAgVGhlIGRlY2F5IHJhdGUgaW50ZXJ2YWwgY2FuIGJlXG4tXHRcdGNhbGN1bGF0ZWQgYnkgbXVsdGlwbHlpbmcgdGhlIHdpbiB2YWx1ZSBpbiBpby5zdGF0IGJ5IHRoZVxuLVx0XHRjb3JyZXNwb25kaW5nIG51bWJlciBvZiBzYW1wbGVzIGJhc2VkIG9uIHRoZSB3aW4gdmFsdWUuXG4rXHRcdChSb3RhdGlvbmFsIGRldmljZXMgb25seS4pICBUaGlzIGlzIGFuIGV4cG9uZW50aWFsIG1vdmluZ1xuK1x0XHRhdmVyYWdlIHdpdGggYSBkZWNheSByYXRlIG9mIDEvZXhwIGJvdW5kIGJ5IHRoZSBzYW1wbGluZ1xuK1x0XHRpbnRlcnZhbC4gIFRoZSBkZWNheSByYXRlIGludGVydmFsIGNhbiBiZSBjYWxjdWxhdGVkIGJ5XG4rXHRcdG11bHRpcGx5aW5nIHRoZSB3aW4gdmFsdWUgaW4gaW8uc3RhdCBieSB0aGUgY29ycmVzcG9uZGluZyBudW1iZXJcbitcdFx0b2Ygc2FtcGxlcyBiYXNlZCBvbiB0aGUgd2luIHZhbHVlLlxuIFxuIFx0ICB3aW5cbi1cdFx0VGhlIHNhbXBsaW5nIHdpbmRvdyBzaXplIGluIG1pbGxpc2Vjb25kcy4gIFRoaXMgaXMgdGhlIG1pbmltdW1cbi1cdFx0ZHVyYXRpb24gb2YgdGltZSBiZXR3ZWVuIGV2YWx1YXRpb24gZXZlbnRzLiAgV2luZG93cyBvbmx5IGVsYXBzZVxuLVx0XHR3aXRoIElPIGFjdGl2aXR5LiAgSWRsZSBwZXJpb2RzIGV4dGVuZCB0aGUgbW9zdCByZWNlbnQgd2luZG93LlxuK1x0XHQoUm90YXRpb25hbCBkZXZpY2VzIG9ubHkuKSAgVGhlIHNhbXBsaW5nIHdpbmRvdyBzaXplIGluXG4rXHRcdG1pbGxpc2Vjb25kcy4gIFRoaXMgaXMgdGhlIG1pbmltdW0gZHVyYXRpb24gb2YgdGltZSBiZXR3ZWVuXG4rXHRcdGV2YWx1YXRpb24gZXZlbnRzLiAgV2luZG93cyBvbmx5IGVsYXBzZSB3aXRoIElPIGFjdGl2aXR5LiAgSWRsZVxuK1x0XHRwZXJpb2RzIGV4dGVuZCB0aGUgbW9zdCByZWNlbnQgd2luZG93LlxuK1xuK1x0ICBtaXNzZWRcbitcdFx0KE5vbi1yb3RhdGlvbmFsIGRldmljZXMgb25seS4pICBUaGUgbnVtYmVyIG9mIElPcyBpbiB0aGUgbGFzdFxuK1x0XHR3aW5kb3cgd2hvc2UgbGF0ZW5jeSBleGNlZWRlZCB0aGUgdGFyZ2V0LlxuK1xuK1x0ICB0b3RhbFxuK1x0XHQoTm9uLXJvdGF0aW9uYWwgZGV2aWNlcyBvbmx5LikgIFRoZSB0b3RhbCBudW1iZXIgb2YgSU9zXG4rXHRcdGFjY291bnRlZCBpbiB0aGUgbGFzdCB3aW5kb3cuICBBIGdyb3VwIGlzIGNvbnNpZGVyZWQgdG8gYmVcbitcdFx0bWlzc2luZyBpdHMgdGFyZ2V0IG9uY2UgbWlzc2VkIHJlYWNoZXMgMTAlIG9mIHRvdGFsLlxuIFxuIElPIFByaW9yaXR5XG4gfn5+fn5+fn5+fn5cbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA2OjI2OjI2LjkxNjY0OTQzNFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjExNjc1NjQxNjUwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkRvY3VtZW50YXRpb24tT25seSBQYXRjaCBBc3Nlc3NtZW50KipcblxuT2theSwgc28gSSd2ZSBnb3QgdGhpcyBwYXRjaCwgYW5kIHRoZSBvbmx5IGZpbGUgaXQgdG91Y2hlcyBpcyBgRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9jZ3JvdXAtdjIucnN0YC4gVGhhdCBpbW1lZGlhdGVseSBmbGFncyBpdCBhcyBwb3RlbnRpYWxseSBsb3ctcmlzay4gTGV0J3MgY29uZmlybSB0aGF0IG5vIHNuZWFreSBjaGFuZ2VzIGhhdmUgY3JlcHQgaW4gZWxzZXdoZXJlLCB0aG91Z2guIEEgcXVpY2sgY2hlY2sgb2YgdGhlIGRpZmYgc2hvdWxkIHZlcmlmeSB0aGlzLiAqQ2xpY2ssIGNsaWNrKi4gWWVwLCB0aGUgZGlmZiAqb25seSogc2hvd3MgbW9kaWZpY2F0aW9ucyB0byB0aGF0IHNwZWNpZmljIFJTVCBmaWxlLCBhcyBleHBlY3RlZC4gR2l2ZW4gdGhhdCBpdCdzICpwdXJlbHkqIGRvY3VtZW50YXRpb24sIGFuZCBubyBjb2RlIGlzIGJlaW5nIHRvdWNoZWQsIEknbSBjb25maWRlbnQgdGhhdCB3ZSBjYW4gc2FmZWx5IHNldCBgV29ydGhGdXp6aW5nYCB0byBgZmFsc2VgLiBObyBuZWVkIHRvIGV4cGVuZCBjeWNsZXMgZnV6emluZyBkb2N1bWVudGF0aW9uLiBJJ2xsIG1ha2UgdGhlIGNhbGwgdG8gYHNldC1yZXN1bHRzYCBhY2NvcmRpbmdseS4gVGhpcyBpcyBhIHN0cmFpZ2h0Zm9yd2FyZCBkb2N1bWVudGF0aW9uIHVwZGF0ZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MjkxNiwiT3V0cHV0VG9rZW5zIjo1NCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIyNCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA2OjI2OjM4LjU5MjI5NDM5NVoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NzQ3NjAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBkb2N1bWVudGF0aW9uIChjZ3JvdXAtdjIucnN0KSBhbmQgZG9lcyBub3QgY29udGFpbiBhbnkgZnVuY3Rpb25hbCBjb2RlIGNoYW5nZXMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIGRvY3VtZW50YXRpb24gKGNncm91cC12Mi5yc3QpIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNvZGUgY2hhbmdlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowb9jwd[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-17 05:52:38 +0000 UTC FinishedAt: 2026-07-17 06:26:39 +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+CgkJCTx0ZD4yMDI2LzA3LzE3IDA2OjI2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgZG9jdW1lbnRhdGlvbiAoY2dyb3VwLXYyLnJzdCkgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY29kZSBjaGFuZ2VzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAwNjoyNjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDc1MWI5YTlmOWYxNjhiOTFkZWIxMDJlNTk3OGVmNjhiMjFkNzRlNTFcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgRnJpIEp1bCAxNyAwNjoyNjoyNCAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3QgYi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3RcbmluZGV4IDBkZjE1YTY3MmNmMzQ1Li42ODc4MzljZjVjNzM1ZiAxMDA2NDRcbi0tLSBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvY2dyb3VwLXYyLnJzdFxuJiM0MzsmIzQzOyYjNDM7IGIvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9jZ3JvdXAtdjIucnN0XG5AQCAtMjI2MCw5ICYjNDM7MjI2MCwxMiBAQCBJTyBMYXRlbmN5XG4gfn5+fn5+fn5+flxuIFxuIFRoaXMgaXMgYSBjZ3JvdXAgdjIgY29udHJvbGxlciBmb3IgSU8gd29ya2xvYWQgcHJvdGVjdGlvbi4gIFlvdSBwcm92aWRlIGEgZ3JvdXBcbi13aXRoIGEgbGF0ZW5jeSB0YXJnZXQsIGFuZCBpZiB0aGUgYXZlcmFnZSBsYXRlbmN5IGV4Y2VlZHMgdGhhdCB0YXJnZXQgdGhlXG4tY29udHJvbGxlciB3aWxsIHRocm90dGxlIGFueSBwZWVycyB0aGF0IGhhdmUgYSBsb3dlciBsYXRlbmN5IHRhcmdldCB0aGFuIHRoZVxuLXByb3RlY3RlZCB3b3JrbG9hZC5cbiYjNDM7d2l0aCBhIGxhdGVuY3kgdGFyZ2V0LCBhbmQgaWYgdGhlIGdyb3VwIG1pc3NlcyBpdHMgdGFyZ2V0IHRoZSBjb250cm9sbGVyIHdpbGxcbiYjNDM7dGhyb3R0bGUgYW55IHBlZXJzIHRoYXQgaGF2ZSBhIGxvd2VyIGxhdGVuY3kgdGFyZ2V0IHRoYW4gdGhlIHByb3RlY3RlZFxuJiM0Mzt3b3JrbG9hZC4gIEhvdyBhIG1pc3MgaXMgZGV0ZWN0ZWQgZGVwZW5kcyBvbiB0aGUgZGV2aWNlOiBvbiByb3RhdGlvbmFsIGRldmljZXNcbiYjNDM7dGhlIGF2ZXJhZ2UgbGF0ZW5jeSBvdmVyIHRoZSB3aW5kb3cgbXVzdCBleGNlZWQgdGhlIHRhcmdldCwgd2hpbGUgb25cbiYjNDM7bm9uLXJvdGF0aW9uYWwgZGV2aWNlcyBhIG1pc3MgaXMgY291bnRlZCB3aGVuIDEwJSBvciBtb3JlIG9mIHRoZSBJT3MgaW4gdGhlXG4mIzQzO3dpbmRvdyBpbmRpdmlkdWFsbHkgZXhjZWVkIHRoZSB0YXJnZXQuXG4gXG4gVGhlIGxpbWl0cyBhcmUgb25seSBhcHBsaWVkIGF0IHRoZSBwZWVyIGxldmVsIGluIHRoZSBoaWVyYXJjaHkuICBUaGlzIG1lYW5zIHRoYXRcbiBpbiB0aGUgZGlhZ3JhbSBiZWxvdywgb25seSBncm91cHMgQSwgQiwgYW5kIEMgd2lsbCBpbmZsdWVuY2UgZWFjaCBvdGhlciwgYW5kXG5AQCAtMjI3OSwxMCAmIzQzOzIyODIsMTEgQEAgU28gdGhlIGlkZWFsIHdheSB0byBjb25maWd1cmUgdGhpcyBpcyB0byBzZXQgaW8ubGF0ZW5jeSBpbiBncm91cHMgQSwgQiwgYW5kIEMuXG4gR2VuZXJhbGx5IHlvdSBkbyBub3Qgd2FudCB0byBzZXQgYSB2YWx1ZSBsb3dlciB0aGFuIHRoZSBsYXRlbmN5IHlvdXIgZGV2aWNlXG4gc3VwcG9ydHMuICBFeHBlcmltZW50IHRvIGZpbmQgdGhlIHZhbHVlIHRoYXQgd29ya3MgYmVzdCBmb3IgeW91ciB3b3JrbG9hZC5cbiBTdGFydCBhdCBoaWdoZXIgdGhhbiB0aGUgZXhwZWN0ZWQgbGF0ZW5jeSBmb3IgeW91ciBkZXZpY2UgYW5kLCB3aXRoXG4tYmxrY2dfZGVidWdfc3RhdHMgZW5hYmxlZCwgd2F0Y2ggdGhlIGF2Z19sYXQgdmFsdWUgaW4gaW8uc3RhdCBmb3IgeW91clxuLXdvcmtsb2FkIGdyb3VwIHRvIGdldCBhbiBpZGVhIG9mIHRoZSBsYXRlbmN5IHlvdSBzZWUgZHVyaW5nIG5vcm1hbCBvcGVyYXRpb24uXG4tVXNlIHRoZSBhdmdfbGF0IHZhbHVlIGFzIGEgYmFzaXMgZm9yIHlvdXIgcmVhbCBzZXR0aW5nLCBzZXR0aW5nIGF0IDEwLTE1JVxuLWhpZ2hlciB0aGFuIHRoZSB2YWx1ZSBpbiBpby5zdGF0LlxuJiM0MztibGtjZ19kZWJ1Z19zdGF0cyBlbmFibGVkLCBvYnNlcnZlIGlvLnN0YXQgZm9yIHlvdXIgd29ya2xvYWQgZ3JvdXAgdG8gZ2V0IGFuXG4mIzQzO2lkZWEgb2YgdGhlIGxhdGVuY3kgeW91IHNlZSBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbi4gIE9uIHJvdGF0aW9uYWwgZGV2aWNlcyxcbiYjNDM7dXNlIHRoZSBhdmdfbGF0IHZhbHVlIGFzIGEgYmFzaXMgZm9yIHlvdXIgcmVhbCBzZXR0aW5nLCBzZXR0aW5nIGl0IDEwLTE1JVxuJiM0MztoaWdoZXIuICBPbiBub24tcm90YXRpb25hbCBkZXZpY2VzIGF2Z19sYXQgaXMgbm90IHJlcG9ydGVkOyB3YXRjaCB0aGVcbiYjNDM7bWlzc2VkL3RvdGFsIHJhdGlvIGluc3RlYWQuXG4gXG4gSG93IElPIExhdGVuY3kgVGhyb3R0bGluZyBXb3Jrc1xuIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5cbkBAIC0yMzAwLDkgJiM0MzsyMzA0LDkgQEAgVGhpcyB0aHJvdHRsaW5nIHRha2VzIDIgZm9ybXM6XG4gICB0aHJvdHRsZWQgd2l0aG91dCBwb3NzaWJseSBhZHZlcnNlbHkgYWZmZWN0aW5nIGhpZ2hlciBwcmlvcml0eSBncm91cHMuICBUaGlzXG4gICBpbmNsdWRlcyBzd2FwcGluZyBhbmQgbWV0YWRhdGEgSU8uICBUaGVzZSB0eXBlcyBvZiBJTyBhcmUgYWxsb3dlZCB0byBvY2N1clxuICAgbm9ybWFsbHksIGhvd2V2ZXIgdGhleSBhcmUgXCYjMzQ7Y2hhcmdlZFwmIzM0OyB0byB0aGUgb3JpZ2luYXRpbmcgZ3JvdXAuICBJZiB0aGVcbi0gIG9yaWdpbmF0aW5nIGdyb3VwIGlzIGJlaW5nIHRocm90dGxlZCB5b3Ugd2lsbCBzZWUgdGhlIHVzZV9kZWxheSBhbmQgZGVsYXlcbi0gIGZpZWxkcyBpbiBpby5zdGF0IGluY3JlYXNlLiAgVGhlIGRlbGF5IHZhbHVlIGlzIGhvdyBtYW55IG1pY3Jvc2Vjb25kcyB0aGF0IGFyZVxuLSAgYmVpbmcgYWRkZWQgdG8gYW55IHByb2Nlc3MgdGhhdCBydW5zIGluIHRoaXMgZ3JvdXAuICBCZWNhdXNlIHRoaXMgbnVtYmVyIGNhblxuJiM0MzsgIG9yaWdpbmF0aW5nIGdyb3VwIGlzIGJlaW5nIHRocm90dGxlZCB5b3Ugd2lsbCBzZWUgdGhlIHVzZV9kZWxheSBhbmQgZGVsYXlfbnNlY1xuJiM0MzsgIGZpZWxkcyBpbiBpby5zdGF0IGluY3JlYXNlLiAgVGhlIGRlbGF5X25zZWMgdmFsdWUgaXMgaG93IG1hbnkgbmFub3NlY29uZHMgdGhhdFxuJiM0MzsgIGFyZSBiZWluZyBhZGRlZCB0byBhbnkgcHJvY2VzcyB0aGF0IHJ1bnMgaW4gdGhpcyBncm91cC4gIEJlY2F1c2UgdGhpcyBudW1iZXIgY2FuXG4gICBncm93IHF1aXRlIGxhcmdlIGlmIHRoZXJlIGlzIGEgbG90IG9mIHN3YXBwaW5nIG9yIG1ldGFkYXRhIElPIG9jY3VycmluZyB3ZVxuICAgbGltaXQgdGhlIGluZGl2aWR1YWwgZGVsYXkgZXZlbnRzIHRvIDEgc2Vjb25kIGF0IGEgdGltZS5cbiBcbkBAIC0yMzI0LDE5ICYjNDM7MjMyOCwzNCBAQCBJTyBMYXRlbmN5IEludGVyZmFjZSBGaWxlc1xuIFx0dGhlIGJsa2NnX2RlYnVnX3N0YXRzIG1vZHVsZSBwYXJhbWV0ZXIgaXMgZW5hYmxlZCAoaXQgaXMgZGlzYWJsZWQgYnlcbiBcdGRlZmF1bHQpLlxuIFxuJiM0MztcdFRoZSByZXBvcnRlZCBsYXRlbmN5IGZpZWxkcyBkZXBlbmQgb24gdGhlIGRldmljZS4gIFJvdGF0aW9uYWwgZGV2aWNlc1xuJiM0MztcdHJlcG9ydCBhdmdfbGF0IGFuZCB3aW47IG5vbi1yb3RhdGlvbmFsIGRldmljZXMgcmVwb3J0IG1pc3NlZCBhbmQgdG90YWxcbiYjNDM7XHRpbnN0ZWFkLlxuJiM0MztcbiBcdCAgZGVwdGhcbiBcdFx0VGhpcyBpcyB0aGUgY3VycmVudCBxdWV1ZSBkZXB0aCBmb3IgdGhlIGdyb3VwLlxuIFxuIFx0ICBhdmdfbGF0XG4tXHRcdFRoaXMgaXMgYW4gZXhwb25lbnRpYWwgbW92aW5nIGF2ZXJhZ2Ugd2l0aCBhIGRlY2F5IHJhdGUgb2YgMS9leHBcbi1cdFx0Ym91bmQgYnkgdGhlIHNhbXBsaW5nIGludGVydmFsLiAgVGhlIGRlY2F5IHJhdGUgaW50ZXJ2YWwgY2FuIGJlXG4tXHRcdGNhbGN1bGF0ZWQgYnkgbXVsdGlwbHlpbmcgdGhlIHdpbiB2YWx1ZSBpbiBpby5zdGF0IGJ5IHRoZVxuLVx0XHRjb3JyZXNwb25kaW5nIG51bWJlciBvZiBzYW1wbGVzIGJhc2VkIG9uIHRoZSB3aW4gdmFsdWUuXG4mIzQzO1x0XHQoUm90YXRpb25hbCBkZXZpY2VzIG9ubHkuKSAgVGhpcyBpcyBhbiBleHBvbmVudGlhbCBtb3ZpbmdcbiYjNDM7XHRcdGF2ZXJhZ2Ugd2l0aCBhIGRlY2F5IHJhdGUgb2YgMS9leHAgYm91bmQgYnkgdGhlIHNhbXBsaW5nXG4mIzQzO1x0XHRpbnRlcnZhbC4gIFRoZSBkZWNheSByYXRlIGludGVydmFsIGNhbiBiZSBjYWxjdWxhdGVkIGJ5XG4mIzQzO1x0XHRtdWx0aXBseWluZyB0aGUgd2luIHZhbHVlIGluIGlvLnN0YXQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgbnVtYmVyXG4mIzQzO1x0XHRvZiBzYW1wbGVzIGJhc2VkIG9uIHRoZSB3aW4gdmFsdWUuXG4gXG4gXHQgIHdpblxuLVx0XHRUaGUgc2FtcGxpbmcgd2luZG93IHNpemUgaW4gbWlsbGlzZWNvbmRzLiAgVGhpcyBpcyB0aGUgbWluaW11bVxuLVx0XHRkdXJhdGlvbiBvZiB0aW1lIGJldHdlZW4gZXZhbHVhdGlvbiBldmVudHMuICBXaW5kb3dzIG9ubHkgZWxhcHNlXG4tXHRcdHdpdGggSU8gYWN0aXZpdHkuICBJZGxlIHBlcmlvZHMgZXh0ZW5kIHRoZSBtb3N0IHJlY2VudCB3aW5kb3cuXG4mIzQzO1x0XHQoUm90YXRpb25hbCBkZXZpY2VzIG9ubHkuKSAgVGhlIHNhbXBsaW5nIHdpbmRvdyBzaXplIGluXG4mIzQzO1x0XHRtaWxsaXNlY29uZHMuICBUaGlzIGlzIHRoZSBtaW5pbXVtIGR1cmF0aW9uIG9mIHRpbWUgYmV0d2VlblxuJiM0MztcdFx0ZXZhbHVhdGlvbiBldmVudHMuICBXaW5kb3dzIG9ubHkgZWxhcHNlIHdpdGggSU8gYWN0aXZpdHkuICBJZGxlXG4mIzQzO1x0XHRwZXJpb2RzIGV4dGVuZCB0aGUgbW9zdCByZWNlbnQgd2luZG93LlxuJiM0MztcbiYjNDM7XHQgIG1pc3NlZFxuJiM0MztcdFx0KE5vbi1yb3RhdGlvbmFsIGRldmljZXMgb25seS4pICBUaGUgbnVtYmVyIG9mIElPcyBpbiB0aGUgbGFzdFxuJiM0MztcdFx0d2luZG93IHdob3NlIGxhdGVuY3kgZXhjZWVkZWQgdGhlIHRhcmdldC5cbiYjNDM7XG4mIzQzO1x0ICB0b3RhbFxuJiM0MztcdFx0KE5vbi1yb3RhdGlvbmFsIGRldmljZXMgb25seS4pICBUaGUgdG90YWwgbnVtYmVyIG9mIElPc1xuJiM0MztcdFx0YWNjb3VudGVkIGluIHRoZSBsYXN0IHdpbmRvdy4gIEEgZ3JvdXAgaXMgY29uc2lkZXJlZCB0byBiZVxuJiM0MztcdFx0bWlzc2luZyBpdHMgdGFyZ2V0IG9uY2UgbWlzc2VkIHJlYWNoZXMgMTAlIG9mIHRvdGFsLlxuIFxuIElPIFByaW9yaXR5XG4gfn5+fn5+fn5+fn5cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAwNjoyNjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIGRvY3VtZW50YXRpb24gKGNncm91cC12Mi5yc3QpIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNvZGUgY2hhbmdlcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDc1MWI5YTlmOWYxNjhiOTFkZWIxMDJlNTk3OGVmNjhiMjFkNzRlNTEKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgRnJpIEp1bCAxNyAwNjoyNjoyNCAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvY2dyb3VwLXYyLnJzdCBiL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvY2dyb3VwLXYyLnJzdAppbmRleCAwZGYxNWE2NzJjZjM0NS4uNjg3ODM5Y2Y1YzczNWYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvY2dyb3VwLXYyLnJzdAomIzQzOyYjNDM7JiM0MzsgYi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3QKQEAgLTIyNjAsOSAmIzQzOzIyNjAsMTIgQEAgSU8gTGF0ZW5jeQogfn5+fn5+fn5+fgogCiBUaGlzIGlzIGEgY2dyb3VwIHYyIGNvbnRyb2xsZXIgZm9yIElPIHdvcmtsb2FkIHByb3RlY3Rpb24uICBZb3UgcHJvdmlkZSBhIGdyb3VwCi13aXRoIGEgbGF0ZW5jeSB0YXJnZXQsIGFuZCBpZiB0aGUgYXZlcmFnZSBsYXRlbmN5IGV4Y2VlZHMgdGhhdCB0YXJnZXQgdGhlCi1jb250cm9sbGVyIHdpbGwgdGhyb3R0bGUgYW55IHBlZXJzIHRoYXQgaGF2ZSBhIGxvd2VyIGxhdGVuY3kgdGFyZ2V0IHRoYW4gdGhlCi1wcm90ZWN0ZWQgd29ya2xvYWQuCiYjNDM7d2l0aCBhIGxhdGVuY3kgdGFyZ2V0LCBhbmQgaWYgdGhlIGdyb3VwIG1pc3NlcyBpdHMgdGFyZ2V0IHRoZSBjb250cm9sbGVyIHdpbGwKJiM0Mzt0aHJvdHRsZSBhbnkgcGVlcnMgdGhhdCBoYXZlIGEgbG93ZXIgbGF0ZW5jeSB0YXJnZXQgdGhhbiB0aGUgcHJvdGVjdGVkCiYjNDM7d29ya2xvYWQuICBIb3cgYSBtaXNzIGlzIGRldGVjdGVkIGRlcGVuZHMgb24gdGhlIGRldmljZTogb24gcm90YXRpb25hbCBkZXZpY2VzCiYjNDM7dGhlIGF2ZXJhZ2UgbGF0ZW5jeSBvdmVyIHRoZSB3aW5kb3cgbXVzdCBleGNlZWQgdGhlIHRhcmdldCwgd2hpbGUgb24KJiM0Mztub24tcm90YXRpb25hbCBkZXZpY2VzIGEgbWlzcyBpcyBjb3VudGVkIHdoZW4gMTAlIG9yIG1vcmUgb2YgdGhlIElPcyBpbiB0aGUKJiM0Mzt3aW5kb3cgaW5kaXZpZHVhbGx5IGV4Y2VlZCB0aGUgdGFyZ2V0LgogCiBUaGUgbGltaXRzIGFyZSBvbmx5IGFwcGxpZWQgYXQgdGhlIHBlZXIgbGV2ZWwgaW4gdGhlIGhpZXJhcmNoeS4gIFRoaXMgbWVhbnMgdGhhdAogaW4gdGhlIGRpYWdyYW0gYmVsb3csIG9ubHkgZ3JvdXBzIEEsIEIsIGFuZCBDIHdpbGwgaW5mbHVlbmNlIGVhY2ggb3RoZXIsIGFuZApAQCAtMjI3OSwxMCAmIzQzOzIyODIsMTEgQEAgU28gdGhlIGlkZWFsIHdheSB0byBjb25maWd1cmUgdGhpcyBpcyB0byBzZXQgaW8ubGF0ZW5jeSBpbiBncm91cHMgQSwgQiwgYW5kIEMuCiBHZW5lcmFsbHkgeW91IGRvIG5vdCB3YW50IHRvIHNldCBhIHZhbHVlIGxvd2VyIHRoYW4gdGhlIGxhdGVuY3kgeW91ciBkZXZpY2UKIHN1cHBvcnRzLiAgRXhwZXJpbWVudCB0byBmaW5kIHRoZSB2YWx1ZSB0aGF0IHdvcmtzIGJlc3QgZm9yIHlvdXIgd29ya2xvYWQuCiBTdGFydCBhdCBoaWdoZXIgdGhhbiB0aGUgZXhwZWN0ZWQgbGF0ZW5jeSBmb3IgeW91ciBkZXZpY2UgYW5kLCB3aXRoCi1ibGtjZ19kZWJ1Z19zdGF0cyBlbmFibGVkLCB3YXRjaCB0aGUgYXZnX2xhdCB2YWx1ZSBpbiBpby5zdGF0IGZvciB5b3VyCi13b3JrbG9hZCBncm91cCB0byBnZXQgYW4gaWRlYSBvZiB0aGUgbGF0ZW5jeSB5b3Ugc2VlIGR1cmluZyBub3JtYWwgb3BlcmF0aW9uLgotVXNlIHRoZSBhdmdfbGF0IHZhbHVlIGFzIGEgYmFzaXMgZm9yIHlvdXIgcmVhbCBzZXR0aW5nLCBzZXR0aW5nIGF0IDEwLTE1JQotaGlnaGVyIHRoYW4gdGhlIHZhbHVlIGluIGlvLnN0YXQuCiYjNDM7YmxrY2dfZGVidWdfc3RhdHMgZW5hYmxlZCwgb2JzZXJ2ZSBpby5zdGF0IGZvciB5b3VyIHdvcmtsb2FkIGdyb3VwIHRvIGdldCBhbgomIzQzO2lkZWEgb2YgdGhlIGxhdGVuY3kgeW91IHNlZSBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbi4gIE9uIHJvdGF0aW9uYWwgZGV2aWNlcywKJiM0Mzt1c2UgdGhlIGF2Z19sYXQgdmFsdWUgYXMgYSBiYXNpcyBmb3IgeW91ciByZWFsIHNldHRpbmcsIHNldHRpbmcgaXQgMTAtMTUlCiYjNDM7aGlnaGVyLiAgT24gbm9uLXJvdGF0aW9uYWwgZGV2aWNlcyBhdmdfbGF0IGlzIG5vdCByZXBvcnRlZDsgd2F0Y2ggdGhlCiYjNDM7bWlzc2VkL3RvdGFsIHJhdGlvIGluc3RlYWQuCiAKIEhvdyBJTyBMYXRlbmN5IFRocm90dGxpbmcgV29ya3MKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KQEAgLTIzMDAsOSAmIzQzOzIzMDQsOSBAQCBUaGlzIHRocm90dGxpbmcgdGFrZXMgMiBmb3JtczoKICAgdGhyb3R0bGVkIHdpdGhvdXQgcG9zc2libHkgYWR2ZXJzZWx5IGFmZmVjdGluZyBoaWdoZXIgcHJpb3JpdHkgZ3JvdXBzLiAgVGhpcwogICBpbmNsdWRlcyBzd2FwcGluZyBhbmQgbWV0YWRhdGEgSU8uICBUaGVzZSB0eXBlcyBvZiBJTyBhcmUgYWxsb3dlZCB0byBvY2N1cgogICBub3JtYWxseSwgaG93ZXZlciB0aGV5IGFyZSAmIzM0O2NoYXJnZWQmIzM0OyB0byB0aGUgb3JpZ2luYXRpbmcgZ3JvdXAuICBJZiB0aGUKLSAgb3JpZ2luYXRpbmcgZ3JvdXAgaXMgYmVpbmcgdGhyb3R0bGVkIHlvdSB3aWxsIHNlZSB0aGUgdXNlX2RlbGF5IGFuZCBkZWxheQotICBmaWVsZHMgaW4gaW8uc3RhdCBpbmNyZWFzZS4gIFRoZSBkZWxheSB2YWx1ZSBpcyBob3cgbWFueSBtaWNyb3NlY29uZHMgdGhhdCBhcmUKLSAgYmVpbmcgYWRkZWQgdG8gYW55IHByb2Nlc3MgdGhhdCBydW5zIGluIHRoaXMgZ3JvdXAuICBCZWNhdXNlIHRoaXMgbnVtYmVyIGNhbgomIzQzOyAgb3JpZ2luYXRpbmcgZ3JvdXAgaXMgYmVpbmcgdGhyb3R0bGVkIHlvdSB3aWxsIHNlZSB0aGUgdXNlX2RlbGF5IGFuZCBkZWxheV9uc2VjCiYjNDM7ICBmaWVsZHMgaW4gaW8uc3RhdCBpbmNyZWFzZS4gIFRoZSBkZWxheV9uc2VjIHZhbHVlIGlzIGhvdyBtYW55IG5hbm9zZWNvbmRzIHRoYXQKJiM0MzsgIGFyZSBiZWluZyBhZGRlZCB0byBhbnkgcHJvY2VzcyB0aGF0IHJ1bnMgaW4gdGhpcyBncm91cC4gIEJlY2F1c2UgdGhpcyBudW1iZXIgY2FuCiAgIGdyb3cgcXVpdGUgbGFyZ2UgaWYgdGhlcmUgaXMgYSBsb3Qgb2Ygc3dhcHBpbmcgb3IgbWV0YWRhdGEgSU8gb2NjdXJyaW5nIHdlCiAgIGxpbWl0IHRoZSBpbmRpdmlkdWFsIGRlbGF5IGV2ZW50cyB0byAxIHNlY29uZCBhdCBhIHRpbWUuCiAKQEAgLTIzMjQsMTkgJiM0MzsyMzI4LDM0IEBAIElPIExhdGVuY3kgSW50ZXJmYWNlIEZpbGVzCiAJdGhlIGJsa2NnX2RlYnVnX3N0YXRzIG1vZHVsZSBwYXJhbWV0ZXIgaXMgZW5hYmxlZCAoaXQgaXMgZGlzYWJsZWQgYnkKIAlkZWZhdWx0KS4KIAomIzQzOwlUaGUgcmVwb3J0ZWQgbGF0ZW5jeSBmaWVsZHMgZGVwZW5kIG9uIHRoZSBkZXZpY2UuICBSb3RhdGlvbmFsIGRldmljZXMKJiM0MzsJcmVwb3J0IGF2Z19sYXQgYW5kIHdpbjsgbm9uLXJvdGF0aW9uYWwgZGV2aWNlcyByZXBvcnQgbWlzc2VkIGFuZCB0b3RhbAomIzQzOwlpbnN0ZWFkLgomIzQzOwogCSAgZGVwdGgKIAkJVGhpcyBpcyB0aGUgY3VycmVudCBxdWV1ZSBkZXB0aCBmb3IgdGhlIGdyb3VwLgogCiAJICBhdmdfbGF0Ci0JCVRoaXMgaXMgYW4gZXhwb25lbnRpYWwgbW92aW5nIGF2ZXJhZ2Ugd2l0aCBhIGRlY2F5IHJhdGUgb2YgMS9leHAKLQkJYm91bmQgYnkgdGhlIHNhbXBsaW5nIGludGVydmFsLiAgVGhlIGRlY2F5IHJhdGUgaW50ZXJ2YWwgY2FuIGJlCi0JCWNhbGN1bGF0ZWQgYnkgbXVsdGlwbHlpbmcgdGhlIHdpbiB2YWx1ZSBpbiBpby5zdGF0IGJ5IHRoZQotCQljb3JyZXNwb25kaW5nIG51bWJlciBvZiBzYW1wbGVzIGJhc2VkIG9uIHRoZSB3aW4gdmFsdWUuCiYjNDM7CQkoUm90YXRpb25hbCBkZXZpY2VzIG9ubHkuKSAgVGhpcyBpcyBhbiBleHBvbmVudGlhbCBtb3ZpbmcKJiM0MzsJCWF2ZXJhZ2Ugd2l0aCBhIGRlY2F5IHJhdGUgb2YgMS9leHAgYm91bmQgYnkgdGhlIHNhbXBsaW5nCiYjNDM7CQlpbnRlcnZhbC4gIFRoZSBkZWNheSByYXRlIGludGVydmFsIGNhbiBiZSBjYWxjdWxhdGVkIGJ5CiYjNDM7CQltdWx0aXBseWluZyB0aGUgd2luIHZhbHVlIGluIGlvLnN0YXQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgbnVtYmVyCiYjNDM7CQlvZiBzYW1wbGVzIGJhc2VkIG9uIHRoZSB3aW4gdmFsdWUuCiAKIAkgIHdpbgotCQlUaGUgc2FtcGxpbmcgd2luZG93IHNpemUgaW4gbWlsbGlzZWNvbmRzLiAgVGhpcyBpcyB0aGUgbWluaW11bQotCQlkdXJhdGlvbiBvZiB0aW1lIGJldHdlZW4gZXZhbHVhdGlvbiBldmVudHMuICBXaW5kb3dzIG9ubHkgZWxhcHNlCi0JCXdpdGggSU8gYWN0aXZpdHkuICBJZGxlIHBlcmlvZHMgZXh0ZW5kIHRoZSBtb3N0IHJlY2VudCB3aW5kb3cuCiYjNDM7CQkoUm90YXRpb25hbCBkZXZpY2VzIG9ubHkuKSAgVGhlIHNhbXBsaW5nIHdpbmRvdyBzaXplIGluCiYjNDM7CQltaWxsaXNlY29uZHMuICBUaGlzIGlzIHRoZSBtaW5pbXVtIGR1cmF0aW9uIG9mIHRpbWUgYmV0d2VlbgomIzQzOwkJZXZhbHVhdGlvbiBldmVudHMuICBXaW5kb3dzIG9ubHkgZWxhcHNlIHdpdGggSU8gYWN0aXZpdHkuICBJZGxlCiYjNDM7CQlwZXJpb2RzIGV4dGVuZCB0aGUgbW9zdCByZWNlbnQgd2luZG93LgomIzQzOwomIzQzOwkgIG1pc3NlZAomIzQzOwkJKE5vbi1yb3RhdGlvbmFsIGRldmljZXMgb25seS4pICBUaGUgbnVtYmVyIG9mIElPcyBpbiB0aGUgbGFzdAomIzQzOwkJd2luZG93IHdob3NlIGxhdGVuY3kgZXhjZWVkZWQgdGhlIHRhcmdldC4KJiM0MzsKJiM0MzsJICB0b3RhbAomIzQzOwkJKE5vbi1yb3RhdGlvbmFsIGRldmljZXMgb25seS4pICBUaGUgdG90YWwgbnVtYmVyIG9mIElPcwomIzQzOwkJYWNjb3VudGVkIGluIHRoZSBsYXN0IHdpbmRvdy4gIEEgZ3JvdXAgaXMgY29uc2lkZXJlZCB0byBiZQomIzQzOwkJbWlzc2luZyBpdHMgdGFyZ2V0IG9uY2UgbWlzc2VkIHJlYWNoZXMgMTAlIG9mIHRvdGFsLgogCiBJTyBQcmlvcml0eQogfn5+fn5+fn5+fn4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDY6MjY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjkxNgoJCQkJCQkJb3V0cHV0OiA1NAoJCQkJCQkJdGhvdWdodHM6IDIyNAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipEb2N1bWVudGF0aW9uLU9ubHkgUGF0Y2ggQXNzZXNzbWVudCoqCgpPa2F5LCBzbyBJJiMzOTt2ZSBnb3QgdGhpcyBwYXRjaCwgYW5kIHRoZSBvbmx5IGZpbGUgaXQgdG91Y2hlcyBpcyBgRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9jZ3JvdXAtdjIucnN0YC4gVGhhdCBpbW1lZGlhdGVseSBmbGFncyBpdCBhcyBwb3RlbnRpYWxseSBsb3ctcmlzay4gTGV0JiMzOTtzIGNvbmZpcm0gdGhhdCBubyBzbmVha3kgY2hhbmdlcyBoYXZlIGNyZXB0IGluIGVsc2V3aGVyZSwgdGhvdWdoLiBBIHF1aWNrIGNoZWNrIG9mIHRoZSBkaWZmIHNob3VsZCB2ZXJpZnkgdGhpcy4gKkNsaWNrLCBjbGljayouIFllcCwgdGhlIGRpZmYgKm9ubHkqIHNob3dzIG1vZGlmaWNhdGlvbnMgdG8gdGhhdCBzcGVjaWZpYyBSU1QgZmlsZSwgYXMgZXhwZWN0ZWQuIEdpdmVuIHRoYXQgaXQmIzM5O3MgKnB1cmVseSogZG9jdW1lbnRhdGlvbiwgYW5kIG5vIGNvZGUgaXMgYmVpbmcgdG91Y2hlZCwgSSYjMzk7bSBjb25maWRlbnQgdGhhdCB3ZSBjYW4gc2FmZWx5IHNldCBgV29ydGhGdXp6aW5nYCB0byBgZmFsc2VgLiBObyBuZWVkIHRvIGV4cGVuZCBjeWNsZXMgZnV6emluZyBkb2N1bWVudGF0aW9uLiBJJiMzOTtsbCBtYWtlIHRoZSBjYWxsIHRvIGBzZXQtcmVzdWx0c2AgYWNjb3JkaW5nbHkuIFRoaXMgaXMgYSBzdHJhaWdodGZvcndhcmQgZG9jdW1lbnRhdGlvbiB1cGRhdGUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDY6MjY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIGRvY3VtZW50YXRpb24gKGNncm91cC12Mi5yc3QpIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNvZGUgY2hhbmdlcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgZG9jdW1lbnRhdGlvbiAoY2dyb3VwLXYyLnJzdCkgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY29kZSBjaGFuZ2VzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA2OjI2OjI2LjM3MDM0MDU0NVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEyMjIyMDYyNDkwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIGRvY3VtZW50YXRpb24gKGNncm91cC12Mi5yc3QpIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNvZGUgY2hhbmdlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA2OjI2OjI2LjM3MDM0Nzg0NVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTQ1NTQ1MTM5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgNzUxYjlhOWY5ZjE2OGI5MWRlYjEwMmU1OTc4ZWY2OGIyMWQ3NGU1MVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgRnJpIEp1bCAxNyAwNjoyNjoyNCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3QgYi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3RcXG5pbmRleCAwZGYxNWE2NzJjZjM0NS4uNjg3ODM5Y2Y1YzczNWYgMTAwNjQ0XFxuLS0tIGEvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9jZ3JvdXAtdjIucnN0XFxuKysrIGIvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9jZ3JvdXAtdjIucnN0XFxuQEAgLTIyNjAsOSArMjI2MCwxMiBAQCBJTyBMYXRlbmN5XFxuIH5+fn5+fn5+fn5cXG4gXFxuIFRoaXMgaXMgYSBjZ3JvdXAgdjIgY29udHJvbGxlciBmb3IgSU8gd29ya2xvYWQgcHJvdGVjdGlvbi4gIFlvdSBwcm92aWRlIGEgZ3JvdXBcXG4td2l0aCBhIGxhdGVuY3kgdGFyZ2V0LCBhbmQgaWYgdGhlIGF2ZXJhZ2UgbGF0ZW5jeSBleGNlZWRzIHRoYXQgdGFyZ2V0IHRoZVxcbi1jb250cm9sbGVyIHdpbGwgdGhyb3R0bGUgYW55IHBlZXJzIHRoYXQgaGF2ZSBhIGxvd2VyIGxhdGVuY3kgdGFyZ2V0IHRoYW4gdGhlXFxuLXByb3RlY3RlZCB3b3JrbG9hZC5cXG4rd2l0aCBhIGxhdGVuY3kgdGFyZ2V0LCBhbmQgaWYgdGhlIGdyb3VwIG1pc3NlcyBpdHMgdGFyZ2V0IHRoZSBjb250cm9sbGVyIHdpbGxcXG4rdGhyb3R0bGUgYW55IHBlZXJzIHRoYXQgaGF2ZSBhIGxvd2VyIGxhdGVuY3kgdGFyZ2V0IHRoYW4gdGhlIHByb3RlY3RlZFxcbit3b3JrbG9hZC4gIEhvdyBhIG1pc3MgaXMgZGV0ZWN0ZWQgZGVwZW5kcyBvbiB0aGUgZGV2aWNlOiBvbiByb3RhdGlvbmFsIGRldmljZXNcXG4rdGhlIGF2ZXJhZ2UgbGF0ZW5jeSBvdmVyIHRoZSB3aW5kb3cgbXVzdCBleGNlZWQgdGhlIHRhcmdldCwgd2hpbGUgb25cXG4rbm9uLXJvdGF0aW9uYWwgZGV2aWNlcyBhIG1pc3MgaXMgY291bnRlZCB3aGVuIDEwJSBvciBtb3JlIG9mIHRoZSBJT3MgaW4gdGhlXFxuK3dpbmRvdyBpbmRpdmlkdWFsbHkgZXhjZWVkIHRoZSB0YXJnZXQuXFxuIFxcbiBUaGUgbGltaXRzIGFyZSBvbmx5IGFwcGxpZWQgYXQgdGhlIHBlZXIgbGV2ZWwgaW4gdGhlIGhpZXJhcmNoeS4gIFRoaXMgbWVhbnMgdGhhdFxcbiBpbiB0aGUgZGlhZ3JhbSBiZWxvdywgb25seSBncm91cHMgQSwgQiwgYW5kIEMgd2lsbCBpbmZsdWVuY2UgZWFjaCBvdGhlciwgYW5kXFxuQEAgLTIyNzksMTAgKzIyODIsMTEgQEAgU28gdGhlIGlkZWFsIHdheSB0byBjb25maWd1cmUgdGhpcyBpcyB0byBzZXQgaW8ubGF0ZW5jeSBpbiBncm91cHMgQSwgQiwgYW5kIEMuXFxuIEdlbmVyYWxseSB5b3UgZG8gbm90IHdhbnQgdG8gc2V0IGEgdmFsdWUgbG93ZXIgdGhhbiB0aGUgbGF0ZW5jeSB5b3VyIGRldmljZVxcbiBzdXBwb3J0cy4gIEV4cGVyaW1lbnQgdG8gZmluZCB0aGUgdmFsdWUgdGhhdCB3b3JrcyBiZXN0IGZvciB5b3VyIHdvcmtsb2FkLlxcbiBTdGFydCBhdCBoaWdoZXIgdGhhbiB0aGUgZXhwZWN0ZWQgbGF0ZW5jeSBmb3IgeW91ciBkZXZpY2UgYW5kLCB3aXRoXFxuLWJsa2NnX2RlYnVnX3N0YXRzIGVuYWJsZWQsIHdhdGNoIHRoZSBhdmdfbGF0IHZhbHVlIGluIGlvLnN0YXQgZm9yIHlvdXJcXG4td29ya2xvYWQgZ3JvdXAgdG8gZ2V0IGFuIGlkZWEgb2YgdGhlIGxhdGVuY3kgeW91IHNlZSBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbi5cXG4tVXNlIHRoZSBhdmdfbGF0IHZhbHVlIGFzIGEgYmFzaXMgZm9yIHlvdXIgcmVhbCBzZXR0aW5nLCBzZXR0aW5nIGF0IDEwLTE1JVxcbi1oaWdoZXIgdGhhbiB0aGUgdmFsdWUgaW4gaW8uc3RhdC5cXG4rYmxrY2dfZGVidWdfc3RhdHMgZW5hYmxlZCwgb2JzZXJ2ZSBpby5zdGF0IGZvciB5b3VyIHdvcmtsb2FkIGdyb3VwIHRvIGdldCBhblxcbitpZGVhIG9mIHRoZSBsYXRlbmN5IHlvdSBzZWUgZHVyaW5nIG5vcm1hbCBvcGVyYXRpb24uICBPbiByb3RhdGlvbmFsIGRldmljZXMsXFxuK3VzZSB0aGUgYXZnX2xhdCB2YWx1ZSBhcyBhIGJhc2lzIGZvciB5b3VyIHJlYWwgc2V0dGluZywgc2V0dGluZyBpdCAxMC0xNSVcXG4raGlnaGVyLiAgT24gbm9uLXJvdGF0aW9uYWwgZGV2aWNlcyBhdmdfbGF0IGlzIG5vdCByZXBvcnRlZDsgd2F0Y2ggdGhlXFxuK21pc3NlZC90b3RhbCByYXRpbyBpbnN0ZWFkLlxcbiBcXG4gSG93IElPIExhdGVuY3kgVGhyb3R0bGluZyBXb3Jrc1xcbiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+XFxuQEAgLTIzMDAsOSArMjMwNCw5IEBAIFRoaXMgdGhyb3R0bGluZyB0YWtlcyAyIGZvcm1zOlxcbiAgIHRocm90dGxlZCB3aXRob3V0IHBvc3NpYmx5IGFkdmVyc2VseSBhZmZlY3RpbmcgaGlnaGVyIHByaW9yaXR5IGdyb3Vwcy4gIFRoaXNcXG4gICBpbmNsdWRlcyBzd2FwcGluZyBhbmQgbWV0YWRhdGEgSU8uICBUaGVzZSB0eXBlcyBvZiBJTyBhcmUgYWxsb3dlZCB0byBvY2N1clxcbiAgIG5vcm1hbGx5LCBob3dldmVyIHRoZXkgYXJlIFxcXCJjaGFyZ2VkXFxcIiB0byB0aGUgb3JpZ2luYXRpbmcgZ3JvdXAuICBJZiB0aGVcXG4tICBvcmlnaW5hdGluZyBncm91cCBpcyBiZWluZyB0aHJvdHRsZWQgeW91IHdpbGwgc2VlIHRoZSB1c2VfZGVsYXkgYW5kIGRlbGF5XFxuLSAgZmllbGRzIGluIGlvLnN0YXQgaW5jcmVhc2UuICBUaGUgZGVsYXkgdmFsdWUgaXMgaG93IG1hbnkgbWljcm9zZWNvbmRzIHRoYXQgYXJlXFxuLSAgYmVpbmcgYWRkZWQgdG8gYW55IHByb2Nlc3MgdGhhdCBydW5zIGluIHRoaXMgZ3JvdXAuICBCZWNhdXNlIHRoaXMgbnVtYmVyIGNhblxcbisgIG9yaWdpbmF0aW5nIGdyb3VwIGlzIGJlaW5nIHRocm90dGxlZCB5b3Ugd2lsbCBzZWUgdGhlIHVzZV9kZWxheSBhbmQgZGVsYXlfbnNlY1xcbisgIGZpZWxkcyBpbiBpby5zdGF0IGluY3JlYXNlLiAgVGhlIGRlbGF5X25zZWMgdmFsdWUgaXMgaG93IG1hbnkgbmFub3NlY29uZHMgdGhhdFxcbisgIGFyZSBiZWluZyBhZGRlZCB0byBhbnkgcHJvY2VzcyB0aGF0IHJ1bnMgaW4gdGhpcyBncm91cC4gIEJlY2F1c2UgdGhpcyBudW1iZXIgY2FuXFxuICAgZ3JvdyBxdWl0ZSBsYXJnZSBpZiB0aGVyZSBpcyBhIGxvdCBvZiBzd2FwcGluZyBvciBtZXRhZGF0YSBJTyBvY2N1cnJpbmcgd2VcXG4gICBsaW1pdCB0aGUgaW5kaXZpZHVhbCBkZWxheSBldmVudHMgdG8gMSBzZWNvbmQgYXQgYSB0aW1lLlxcbiBcXG5AQCAtMjMyNCwxOSArMjMyOCwzNCBAQCBJTyBMYXRlbmN5IEludGVyZmFjZSBGaWxlc1xcbiBcXHR0aGUgYmxrY2dfZGVidWdfc3RhdHMgbW9kdWxlIHBhcmFtZXRlciBpcyBlbmFibGVkIChpdCBpcyBkaXNhYmxlZCBieVxcbiBcXHRkZWZhdWx0KS5cXG4gXFxuK1xcdFRoZSByZXBvcnRlZCBsYXRlbmN5IGZpZWxkcyBkZXBlbmQgb24gdGhlIGRldmljZS4gIFJvdGF0aW9uYWwgZGV2aWNlc1xcbitcXHRyZXBvcnQgYXZnX2xhdCBhbmQgd2luOyBub24tcm90YXRpb25hbCBkZXZpY2VzIHJlcG9ydCBtaXNzZWQgYW5kIHRvdGFsXFxuK1xcdGluc3RlYWQuXFxuK1xcbiBcXHQgIGRlcHRoXFxuIFxcdFxcdFRoaXMgaXMgdGhlIGN1cnJlbnQgcXVldWUgZGVwdGggZm9yIHRoZSBncm91cC5cXG4gXFxuIFxcdCAgYXZnX2xhdFxcbi1cXHRcXHRUaGlzIGlzIGFuIGV4cG9uZW50aWFsIG1vdmluZyBhdmVyYWdlIHdpdGggYSBkZWNheSByYXRlIG9mIDEvZXhwXFxuLVxcdFxcdGJvdW5kIGJ5IHRoZSBzYW1wbGluZyBpbnRlcnZhbC4gIFRoZSBkZWNheSByYXRlIGludGVydmFsIGNhbiBiZVxcbi1cXHRcXHRjYWxjdWxhdGVkIGJ5IG11bHRpcGx5aW5nIHRoZSB3aW4gdmFsdWUgaW4gaW8uc3RhdCBieSB0aGVcXG4tXFx0XFx0Y29ycmVzcG9uZGluZyBudW1iZXIgb2Ygc2FtcGxlcyBiYXNlZCBvbiB0aGUgd2luIHZhbHVlLlxcbitcXHRcXHQoUm90YXRpb25hbCBkZXZpY2VzIG9ubHkuKSAgVGhpcyBpcyBhbiBleHBvbmVudGlhbCBtb3ZpbmdcXG4rXFx0XFx0YXZlcmFnZSB3aXRoIGEgZGVjYXkgcmF0ZSBvZiAxL2V4cCBib3VuZCBieSB0aGUgc2FtcGxpbmdcXG4rXFx0XFx0aW50ZXJ2YWwuICBUaGUgZGVjYXkgcmF0ZSBpbnRlcnZhbCBjYW4gYmUgY2FsY3VsYXRlZCBieVxcbitcXHRcXHRtdWx0aXBseWluZyB0aGUgd2luIHZhbHVlIGluIGlvLnN0YXQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgbnVtYmVyXFxuK1xcdFxcdG9mIHNhbXBsZXMgYmFzZWQgb24gdGhlIHdpbiB2YWx1ZS5cXG4gXFxuIFxcdCAgd2luXFxuLVxcdFxcdFRoZSBzYW1wbGluZyB3aW5kb3cgc2l6ZSBpbiBtaWxsaXNlY29uZHMuICBUaGlzIGlzIHRoZSBtaW5pbXVtXFxuLVxcdFxcdGR1cmF0aW9uIG9mIHRpbWUgYmV0d2VlbiBldmFsdWF0aW9uIGV2ZW50cy4gIFdpbmRvd3Mgb25seSBlbGFwc2VcXG4tXFx0XFx0d2l0aCBJTyBhY3Rpdml0eS4gIElkbGUgcGVyaW9kcyBleHRlbmQgdGhlIG1vc3QgcmVjZW50IHdpbmRvdy5cXG4rXFx0XFx0KFJvdGF0aW9uYWwgZGV2aWNlcyBvbmx5LikgIFRoZSBzYW1wbGluZyB3aW5kb3cgc2l6ZSBpblxcbitcXHRcXHRtaWxsaXNlY29uZHMuICBUaGlzIGlzIHRoZSBtaW5pbXVtIGR1cmF0aW9uIG9mIHRpbWUgYmV0d2VlblxcbitcXHRcXHRldmFsdWF0aW9uIGV2ZW50cy4gIFdpbmRvd3Mgb25seSBlbGFwc2Ugd2l0aCBJTyBhY3Rpdml0eS4gIElkbGVcXG4rXFx0XFx0cGVyaW9kcyBleHRlbmQgdGhlIG1vc3QgcmVjZW50IHdpbmRvdy5cXG4rXFxuK1xcdCAgbWlzc2VkXFxuK1xcdFxcdChOb24tcm90YXRpb25hbCBkZXZpY2VzIG9ubHkuKSAgVGhlIG51bWJlciBvZiBJT3MgaW4gdGhlIGxhc3RcXG4rXFx0XFx0d2luZG93IHdob3NlIGxhdGVuY3kgZXhjZWVkZWQgdGhlIHRhcmdldC5cXG4rXFxuK1xcdCAgdG90YWxcXG4rXFx0XFx0KE5vbi1yb3RhdGlvbmFsIGRldmljZXMgb25seS4pICBUaGUgdG90YWwgbnVtYmVyIG9mIElPc1xcbitcXHRcXHRhY2NvdW50ZWQgaW4gdGhlIGxhc3Qgd2luZG93LiAgQSBncm91cCBpcyBjb25zaWRlcmVkIHRvIGJlXFxuK1xcdFxcdG1pc3NpbmcgaXRzIHRhcmdldCBvbmNlIG1pc3NlZCByZWFjaGVzIDEwJSBvZiB0b3RhbC5cXG4gXFxuIElPIFByaW9yaXR5XFxuIH5+fn5+fn5+fn5+XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA2OjI2OjI2LjkxNjY0NzA4NVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTE2NzU3MjUzOTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgZG9jdW1lbnRhdGlvbiAoY2dyb3VwLXYyLnJzdCkgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY29kZSBjaGFuZ2VzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCA3NTFiOWE5ZjlmMTY4YjkxZGViMTAyZTU5NzhlZjY4YjIxZDc0ZTUxXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBKdWwgMTcgMDY6MjY6MjQgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3QgYi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3RcbmluZGV4IDBkZjE1YTY3MmNmMzQ1Li42ODc4MzljZjVjNzM1ZiAxMDA2NDRcbi0tLSBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvY2dyb3VwLXYyLnJzdFxuKysrIGIvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9jZ3JvdXAtdjIucnN0XG5AQCAtMjI2MCw5ICsyMjYwLDEyIEBAIElPIExhdGVuY3lcbiB+fn5+fn5+fn5+XG4gXG4gVGhpcyBpcyBhIGNncm91cCB2MiBjb250cm9sbGVyIGZvciBJTyB3b3JrbG9hZCBwcm90ZWN0aW9uLiAgWW91IHByb3ZpZGUgYSBncm91cFxuLXdpdGggYSBsYXRlbmN5IHRhcmdldCwgYW5kIGlmIHRoZSBhdmVyYWdlIGxhdGVuY3kgZXhjZWVkcyB0aGF0IHRhcmdldCB0aGVcbi1jb250cm9sbGVyIHdpbGwgdGhyb3R0bGUgYW55IHBlZXJzIHRoYXQgaGF2ZSBhIGxvd2VyIGxhdGVuY3kgdGFyZ2V0IHRoYW4gdGhlXG4tcHJvdGVjdGVkIHdvcmtsb2FkLlxuK3dpdGggYSBsYXRlbmN5IHRhcmdldCwgYW5kIGlmIHRoZSBncm91cCBtaXNzZXMgaXRzIHRhcmdldCB0aGUgY29udHJvbGxlciB3aWxsXG4rdGhyb3R0bGUgYW55IHBlZXJzIHRoYXQgaGF2ZSBhIGxvd2VyIGxhdGVuY3kgdGFyZ2V0IHRoYW4gdGhlIHByb3RlY3RlZFxuK3dvcmtsb2FkLiAgSG93IGEgbWlzcyBpcyBkZXRlY3RlZCBkZXBlbmRzIG9uIHRoZSBkZXZpY2U6IG9uIHJvdGF0aW9uYWwgZGV2aWNlc1xuK3RoZSBhdmVyYWdlIGxhdGVuY3kgb3ZlciB0aGUgd2luZG93IG11c3QgZXhjZWVkIHRoZSB0YXJnZXQsIHdoaWxlIG9uXG4rbm9uLXJvdGF0aW9uYWwgZGV2aWNlcyBhIG1pc3MgaXMgY291bnRlZCB3aGVuIDEwJSBvciBtb3JlIG9mIHRoZSBJT3MgaW4gdGhlXG4rd2luZG93IGluZGl2aWR1YWxseSBleGNlZWQgdGhlIHRhcmdldC5cbiBcbiBUaGUgbGltaXRzIGFyZSBvbmx5IGFwcGxpZWQgYXQgdGhlIHBlZXIgbGV2ZWwgaW4gdGhlIGhpZXJhcmNoeS4gIFRoaXMgbWVhbnMgdGhhdFxuIGluIHRoZSBkaWFncmFtIGJlbG93LCBvbmx5IGdyb3VwcyBBLCBCLCBhbmQgQyB3aWxsIGluZmx1ZW5jZSBlYWNoIG90aGVyLCBhbmRcbkBAIC0yMjc5LDEwICsyMjgyLDExIEBAIFNvIHRoZSBpZGVhbCB3YXkgdG8gY29uZmlndXJlIHRoaXMgaXMgdG8gc2V0IGlvLmxhdGVuY3kgaW4gZ3JvdXBzIEEsIEIsIGFuZCBDLlxuIEdlbmVyYWxseSB5b3UgZG8gbm90IHdhbnQgdG8gc2V0IGEgdmFsdWUgbG93ZXIgdGhhbiB0aGUgbGF0ZW5jeSB5b3VyIGRldmljZVxuIHN1cHBvcnRzLiAgRXhwZXJpbWVudCB0byBmaW5kIHRoZSB2YWx1ZSB0aGF0IHdvcmtzIGJlc3QgZm9yIHlvdXIgd29ya2xvYWQuXG4gU3RhcnQgYXQgaGlnaGVyIHRoYW4gdGhlIGV4cGVjdGVkIGxhdGVuY3kgZm9yIHlvdXIgZGV2aWNlIGFuZCwgd2l0aFxuLWJsa2NnX2RlYnVnX3N0YXRzIGVuYWJsZWQsIHdhdGNoIHRoZSBhdmdfbGF0IHZhbHVlIGluIGlvLnN0YXQgZm9yIHlvdXJcbi13b3JrbG9hZCBncm91cCB0byBnZXQgYW4gaWRlYSBvZiB0aGUgbGF0ZW5jeSB5b3Ugc2VlIGR1cmluZyBub3JtYWwgb3BlcmF0aW9uLlxuLVVzZSB0aGUgYXZnX2xhdCB2YWx1ZSBhcyBhIGJhc2lzIGZvciB5b3VyIHJlYWwgc2V0dGluZywgc2V0dGluZyBhdCAxMC0xNSVcbi1oaWdoZXIgdGhhbiB0aGUgdmFsdWUgaW4gaW8uc3RhdC5cbitibGtjZ19kZWJ1Z19zdGF0cyBlbmFibGVkLCBvYnNlcnZlIGlvLnN0YXQgZm9yIHlvdXIgd29ya2xvYWQgZ3JvdXAgdG8gZ2V0IGFuXG4raWRlYSBvZiB0aGUgbGF0ZW5jeSB5b3Ugc2VlIGR1cmluZyBub3JtYWwgb3BlcmF0aW9uLiAgT24gcm90YXRpb25hbCBkZXZpY2VzLFxuK3VzZSB0aGUgYXZnX2xhdCB2YWx1ZSBhcyBhIGJhc2lzIGZvciB5b3VyIHJlYWwgc2V0dGluZywgc2V0dGluZyBpdCAxMC0xNSVcbitoaWdoZXIuICBPbiBub24tcm90YXRpb25hbCBkZXZpY2VzIGF2Z19sYXQgaXMgbm90IHJlcG9ydGVkOyB3YXRjaCB0aGVcbittaXNzZWQvdG90YWwgcmF0aW8gaW5zdGVhZC5cbiBcbiBIb3cgSU8gTGF0ZW5jeSBUaHJvdHRsaW5nIFdvcmtzXG4gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+flxuQEAgLTIzMDAsOSArMjMwNCw5IEBAIFRoaXMgdGhyb3R0bGluZyB0YWtlcyAyIGZvcm1zOlxuICAgdGhyb3R0bGVkIHdpdGhvdXQgcG9zc2libHkgYWR2ZXJzZWx5IGFmZmVjdGluZyBoaWdoZXIgcHJpb3JpdHkgZ3JvdXBzLiAgVGhpc1xuICAgaW5jbHVkZXMgc3dhcHBpbmcgYW5kIG1ldGFkYXRhIElPLiAgVGhlc2UgdHlwZXMgb2YgSU8gYXJlIGFsbG93ZWQgdG8gb2NjdXJcbiAgIG5vcm1hbGx5LCBob3dldmVyIHRoZXkgYXJlIFwiY2hhcmdlZFwiIHRvIHRoZSBvcmlnaW5hdGluZyBncm91cC4gIElmIHRoZVxuLSAgb3JpZ2luYXRpbmcgZ3JvdXAgaXMgYmVpbmcgdGhyb3R0bGVkIHlvdSB3aWxsIHNlZSB0aGUgdXNlX2RlbGF5IGFuZCBkZWxheVxuLSAgZmllbGRzIGluIGlvLnN0YXQgaW5jcmVhc2UuICBUaGUgZGVsYXkgdmFsdWUgaXMgaG93IG1hbnkgbWljcm9zZWNvbmRzIHRoYXQgYXJlXG4tICBiZWluZyBhZGRlZCB0byBhbnkgcHJvY2VzcyB0aGF0IHJ1bnMgaW4gdGhpcyBncm91cC4gIEJlY2F1c2UgdGhpcyBudW1iZXIgY2FuXG4rICBvcmlnaW5hdGluZyBncm91cCBpcyBiZWluZyB0aHJvdHRsZWQgeW91IHdpbGwgc2VlIHRoZSB1c2VfZGVsYXkgYW5kIGRlbGF5X25zZWNcbisgIGZpZWxkcyBpbiBpby5zdGF0IGluY3JlYXNlLiAgVGhlIGRlbGF5X25zZWMgdmFsdWUgaXMgaG93IG1hbnkgbmFub3NlY29uZHMgdGhhdFxuKyAgYXJlIGJlaW5nIGFkZGVkIHRvIGFueSBwcm9jZXNzIHRoYXQgcnVucyBpbiB0aGlzIGdyb3VwLiAgQmVjYXVzZSB0aGlzIG51bWJlciBjYW5cbiAgIGdyb3cgcXVpdGUgbGFyZ2UgaWYgdGhlcmUgaXMgYSBsb3Qgb2Ygc3dhcHBpbmcgb3IgbWV0YWRhdGEgSU8gb2NjdXJyaW5nIHdlXG4gICBsaW1pdCB0aGUgaW5kaXZpZHVhbCBkZWxheSBldmVudHMgdG8gMSBzZWNvbmQgYXQgYSB0aW1lLlxuIFxuQEAgLTIzMjQsMTkgKzIzMjgsMzQgQEAgSU8gTGF0ZW5jeSBJbnRlcmZhY2UgRmlsZXNcbiBcdHRoZSBibGtjZ19kZWJ1Z19zdGF0cyBtb2R1bGUgcGFyYW1ldGVyIGlzIGVuYWJsZWQgKGl0IGlzIGRpc2FibGVkIGJ5XG4gXHRkZWZhdWx0KS5cbiBcbitcdFRoZSByZXBvcnRlZCBsYXRlbmN5IGZpZWxkcyBkZXBlbmQgb24gdGhlIGRldmljZS4gIFJvdGF0aW9uYWwgZGV2aWNlc1xuK1x0cmVwb3J0IGF2Z19sYXQgYW5kIHdpbjsgbm9uLXJvdGF0aW9uYWwgZGV2aWNlcyByZXBvcnQgbWlzc2VkIGFuZCB0b3RhbFxuK1x0aW5zdGVhZC5cbitcbiBcdCAgZGVwdGhcbiBcdFx0VGhpcyBpcyB0aGUgY3VycmVudCBxdWV1ZSBkZXB0aCBmb3IgdGhlIGdyb3VwLlxuIFxuIFx0ICBhdmdfbGF0XG4tXHRcdFRoaXMgaXMgYW4gZXhwb25lbnRpYWwgbW92aW5nIGF2ZXJhZ2Ugd2l0aCBhIGRlY2F5IHJhdGUgb2YgMS9leHBcbi1cdFx0Ym91bmQgYnkgdGhlIHNhbXBsaW5nIGludGVydmFsLiAgVGhlIGRlY2F5IHJhdGUgaW50ZXJ2YWwgY2FuIGJlXG4tXHRcdGNhbGN1bGF0ZWQgYnkgbXVsdGlwbHlpbmcgdGhlIHdpbiB2YWx1ZSBpbiBpby5zdGF0IGJ5IHRoZVxuLVx0XHRjb3JyZXNwb25kaW5nIG51bWJlciBvZiBzYW1wbGVzIGJhc2VkIG9uIHRoZSB3aW4gdmFsdWUuXG4rXHRcdChSb3RhdGlvbmFsIGRldmljZXMgb25seS4pICBUaGlzIGlzIGFuIGV4cG9uZW50aWFsIG1vdmluZ1xuK1x0XHRhdmVyYWdlIHdpdGggYSBkZWNheSByYXRlIG9mIDEvZXhwIGJvdW5kIGJ5IHRoZSBzYW1wbGluZ1xuK1x0XHRpbnRlcnZhbC4gIFRoZSBkZWNheSByYXRlIGludGVydmFsIGNhbiBiZSBjYWxjdWxhdGVkIGJ5XG4rXHRcdG11bHRpcGx5aW5nIHRoZSB3aW4gdmFsdWUgaW4gaW8uc3RhdCBieSB0aGUgY29ycmVzcG9uZGluZyBudW1iZXJcbitcdFx0b2Ygc2FtcGxlcyBiYXNlZCBvbiB0aGUgd2luIHZhbHVlLlxuIFxuIFx0ICB3aW5cbi1cdFx0VGhlIHNhbXBsaW5nIHdpbmRvdyBzaXplIGluIG1pbGxpc2Vjb25kcy4gIFRoaXMgaXMgdGhlIG1pbmltdW1cbi1cdFx0ZHVyYXRpb24gb2YgdGltZSBiZXR3ZWVuIGV2YWx1YXRpb24gZXZlbnRzLiAgV2luZG93cyBvbmx5IGVsYXBzZVxuLVx0XHR3aXRoIElPIGFjdGl2aXR5LiAgSWRsZSBwZXJpb2RzIGV4dGVuZCB0aGUgbW9zdCByZWNlbnQgd2luZG93LlxuK1x0XHQoUm90YXRpb25hbCBkZXZpY2VzIG9ubHkuKSAgVGhlIHNhbXBsaW5nIHdpbmRvdyBzaXplIGluXG4rXHRcdG1pbGxpc2Vjb25kcy4gIFRoaXMgaXMgdGhlIG1pbmltdW0gZHVyYXRpb24gb2YgdGltZSBiZXR3ZWVuXG4rXHRcdGV2YWx1YXRpb24gZXZlbnRzLiAgV2luZG93cyBvbmx5IGVsYXBzZSB3aXRoIElPIGFjdGl2aXR5LiAgSWRsZVxuK1x0XHRwZXJpb2RzIGV4dGVuZCB0aGUgbW9zdCByZWNlbnQgd2luZG93LlxuK1xuK1x0ICBtaXNzZWRcbitcdFx0KE5vbi1yb3RhdGlvbmFsIGRldmljZXMgb25seS4pICBUaGUgbnVtYmVyIG9mIElPcyBpbiB0aGUgbGFzdFxuK1x0XHR3aW5kb3cgd2hvc2UgbGF0ZW5jeSBleGNlZWRlZCB0aGUgdGFyZ2V0LlxuK1xuK1x0ICB0b3RhbFxuK1x0XHQoTm9uLXJvdGF0aW9uYWwgZGV2aWNlcyBvbmx5LikgIFRoZSB0b3RhbCBudW1iZXIgb2YgSU9zXG4rXHRcdGFjY291bnRlZCBpbiB0aGUgbGFzdCB3aW5kb3cuICBBIGdyb3VwIGlzIGNvbnNpZGVyZWQgdG8gYmVcbitcdFx0bWlzc2luZyBpdHMgdGFyZ2V0IG9uY2UgbWlzc2VkIHJlYWNoZXMgMTAlIG9mIHRvdGFsLlxuIFxuIElPIFByaW9yaXR5XG4gfn5+fn5+fn5+fn5cbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA2OjI2OjI2LjkxNjY0OTQzNFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjExNjc1NjQxNjUwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkRvY3VtZW50YXRpb24tT25seSBQYXRjaCBBc3Nlc3NtZW50KipcblxuT2theSwgc28gSSd2ZSBnb3QgdGhpcyBwYXRjaCwgYW5kIHRoZSBvbmx5IGZpbGUgaXQgdG91Y2hlcyBpcyBgRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9jZ3JvdXAtdjIucnN0YC4gVGhhdCBpbW1lZGlhdGVseSBmbGFncyBpdCBhcyBwb3RlbnRpYWxseSBsb3ctcmlzay4gTGV0J3MgY29uZmlybSB0aGF0IG5vIHNuZWFreSBjaGFuZ2VzIGhhdmUgY3JlcHQgaW4gZWxzZXdoZXJlLCB0aG91Z2guIEEgcXVpY2sgY2hlY2sgb2YgdGhlIGRpZmYgc2hvdWxkIHZlcmlmeSB0aGlzLiAqQ2xpY2ssIGNsaWNrKi4gWWVwLCB0aGUgZGlmZiAqb25seSogc2hvd3MgbW9kaWZpY2F0aW9ucyB0byB0aGF0IHNwZWNpZmljIFJTVCBmaWxlLCBhcyBleHBlY3RlZC4gR2l2ZW4gdGhhdCBpdCdzICpwdXJlbHkqIGRvY3VtZW50YXRpb24sIGFuZCBubyBjb2RlIGlzIGJlaW5nIHRvdWNoZWQsIEknbSBjb25maWRlbnQgdGhhdCB3ZSBjYW4gc2FmZWx5IHNldCBgV29ydGhGdXp6aW5nYCB0byBgZmFsc2VgLiBObyBuZWVkIHRvIGV4cGVuZCBjeWNsZXMgZnV6emluZyBkb2N1bWVudGF0aW9uLiBJJ2xsIG1ha2UgdGhlIGNhbGwgdG8gYHNldC1yZXN1bHRzYCBhY2NvcmRpbmdseS4gVGhpcyBpcyBhIHN0cmFpZ2h0Zm9yd2FyZCBkb2N1bWVudGF0aW9uIHVwZGF0ZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MjkxNiwiT3V0cHV0VG9rZW5zIjo1NCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIyNCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA2OjI2OjM4LjU5MjI5NDM5NVoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NzQ3NjAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBkb2N1bWVudGF0aW9uIChjZ3JvdXAtdjIucnN0KSBhbmQgZG9lcyBub3QgY29udGFpbiBhbnkgZnVuY3Rpb25hbCBjb2RlIGNoYW5nZXMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIGRvY3VtZW50YXRpb24gKGNncm91cC12Mi5yc3QpIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNvZGUgY2hhbmdlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowb9jwd[1] Phase: Running StartedAt: 2026-07-17 06:26:49 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowb9jwd[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-07-17 06:26:49 +0000 UTC FinishedAt: 2026-07-17 06:27:12 +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,}