KiBSZXNlbnQtRnJvbTogQ3JhaWcgQnVybGV5IDxidXJsZXlAZ251Lm9yZz4KKiBSZXNlbnQtVG86IGNyYWlnQGpjYi1zYy5jb20KKiBYLURlbGl2ZXJlZDogYXQgcmVxdWVzdCBvZiBidXJsZXkgb24gbWVzY2FsaW5lLmdudS5vcmcKKiBEYXRlOiBXZWQsIDE2IERlYyAxOTk4IDE4OjMxOjI0ICswMTAwCiogRnJvbTogRGlldGVyIFN0dWVrZW4gPHN0dWVrZW5AY29udGVycmEuZGU+CiogT3JnYW5pemF0aW9uOiBjb24gdGVycmEgR21iSAoqIFRvOiBmb3J0cmFuQGdudS5vcmcKKiBTdWJqZWN0OiBwb3NzaWJsZSBidWcKKiBDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9aXNvLTg4NTktMQoqIFgtTWltZS1BdXRvY29udmVydGVkOiBmcm9tIDhiaXQgdG8gcXVvdGVkLXByaW50YWJsZSBieSBtZXNjYWxpbmUuZ251Lm9yZyBpZCBLQUEwOTA4NQoqIFgtVUlETDogNzIyOTNiZjdmOWZhYzgzNzhlYzdmZWNhMmJjY2JjZTIKKiAKKiBIaSwKKiAKKiBJJ20gYWJvdXQgdG8gY29tcGlsZSBhIHZlcnkgb2xkLCB2ZXJ5IHVnbHkgRm9ydHJhbiBwcm9ncmFtLgoqIEZvciBvbmUgcGFydCBJIGdvdDoKKiAKKiBmNzc6IEludGVybmFsIGNvbXBpbGVyIGVycm9yOiBwcm9ncmFtIGY3NzEgZ290IGZhdGFsIHNpZ25hbCA2CiogCiogaW5zdGVhZCBvZiBhbnkgZGV0YWlsZWQgZXJyb3IgbWVzc2FnZS4gSSB3YXMgYWJsZSB0byBicmVhayBkb3duIHRoZQoqIHByb2JsZW0gdG8gdGhlIGZvbGxvd2luZyBzb3VyY2UgZnJhZ21lbnQ6CiogCiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgIFBST0dSQU0gV0FQCgogICAgICAgIGludGVnZXIqMiAgaW9zCiAgICAgICAgY2hhcmFjdGVyKjgwICBuYW1lCgogICAgICAgIG5hbWUgPSAnYmxhaCcKICAgICAgICBvcGVuKHVuaXQ9OCxzdGF0dXM9J3Vua25vd24nLGZpbGU9bmFtZSxmb3JtPSdmb3JtYXR0ZWQnLAogICAgIEYgICAgICAgaW9zdGF0PWlvcykKCiAgICAgIEVORAoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKiAKKiBUaGUgcHJvYmxlbSBzZWVtcyB0byBiZSBjYXVzZWQgYnkgdGhlICJpbnRlZ2VyKjIgaW9zIiBkZWNsYXJhdGlvbi4KKiBTbyBmYXIgSSBzb2x2ZWQgaXQgYnkgc2ltcGx5IHVzaW5nIGEgcGxhaW4gaW50ZWdlciBpbnN0ZWFkLgoqIAoqIEknbSBydW5uaW5nIGdjYyBvbiBhIExpbnV4IHN5c3RlbSBjb21waWxlZC9pbnN0YWxsZWQKKiB3aXRoIG5vIHNwZWNpYWwgb3B0aW9uczoKKiAKKiAtPiBnNzcgLXYKKiBnNzcgdmVyc2lvbiAwLjUuMjMKKiBEcml2aW5nOiBnNzcgLXYgLWMgLXhmNzctdmVyc2lvbiAvZGV2L251bGwgLXhub25lCiogUmVhZGluZyBzcGVjcyBmcm9tIC91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnVsaWJjMS8yLjguMS9zcGVjcwoqIGdjYyB2ZXJzaW9uIDIuOC4xCiogIC91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnVsaWJjMS8yLjguMS9jcHAgLWxhbmctYyAtdiAtdW5kZWYKKiAtRF9fR05VQ19fPTIgLURfX0dOVUNfTUlOT1JfXz04IC1EX19FTEZfXyAtRF9fdW5peF9fIC1EX19saW51eF9fCiogLURfX3VuaXggLURfX2xpbnV4IC1Bc3lzdGVtKHBvc2l4KSAtRF9MQU5HVUFHRV9GT1JUUkFOIC10cmFkaXRpb25hbAoqIC1EaTM4NiAtRGk2ODYgLUFzeXN0ZW0odW5peCkgLUFjcHUoaTM4NikgLUFtYWNoaW5lKGkzODYpIC1EX19pMzg2X18KKiAtRF9faTY4Nl9fIC1Bc3lzdGVtKHVuaXgpIC1BY3B1KGkzODYpIC1BbWFjaGluZShpMzg2KSAvZGV2L251bGwKKiAvZGV2L251bGwKKiBHTlUgQ1BQIHZlcnNpb24gMi44LjEgKGkzODYgR05VL0xpbnV4IHdpdGggRUxGKQoqICNpbmNsdWRlICIuLi4iIHNlYXJjaCBzdGFydHMgaGVyZToKKiAjaW5jbHVkZSA8Li4uPiBzZWFyY2ggc3RhcnRzIGhlcmU6CiogIC91c3IvbG9jYWwvaW5jbHVkZQoqICAvdXNyL2k2ODYtcGMtbGludXgtZ251bGliYzEvaW5jbHVkZQoqICAvdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251bGliYzEvMi44LjEvaW5jbHVkZQoqICAvdXNyL2luY2x1ZGUKKiBFbmQgb2Ygc2VhcmNoIGxpc3QuCiogIC91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnVsaWJjMS8yLjguMS9mNzcxIC1mbnVsbC12ZXJzaW9uCiogLXF1aWV0IC1kdW1wYmFzZSBnNzctdmVyc2lvbi5mIC12ZXJzaW9uIC1mdmVyc2lvbiAtbyAvdG1wL2NjYTI0OTExLnMKKiAvZGV2L251bGwKKiBHTlUgRjc3IHZlcnNpb24gMi44LjEgKGk2ODYtcGMtbGludXgtZ251bGliYzEpIGNvbXBpbGVkIGJ5IEdOVSBDIHZlcnNpb24KKiAyLjguMS4KKiBHTlUgRm9ydHJhbiBGcm9udCBFbmQgdmVyc2lvbiAwLjUuMjMKKiAgYXMgLVYgLVF5IC1vIC90bXAvY2NhMjQ5MTEubyAvdG1wL2NjYTI0OTExLnMKKiBHTlUgYXNzZW1ibGVyIHZlcnNpb24gMi44LjEgKGk0ODYtbGludXgpLCB1c2luZyBCRkQgdmVyc2lvbiAyLjguMQoqICBsZCAtbSBlbGZfaTM4NiAtZHluYW1pYy1saW5rZXIgL2xpYi9sZC1saW51eC5zby4xIC1vIC90bXAvY2NhMjQ5MTEKKiAvdG1wL2NjYTI0OTExLm8gL3Vzci9saWIvY3J0MS5vIC91c3IvbGliL2NydGkubwoqIC91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnVsaWJjMS8yLjguMS9jcnRiZWdpbi5vCiogLUwvdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251bGliYzEvMi44LjEgLUwvdXNyIC1sZzJjIC1sbSAtbGdjYwoqIC1sYyAtbGdjYyAvdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251bGliYzEvMi44LjEvY3J0ZW5kLm8KKiAvdXNyL2xpYi9jcnRuLm8KKiAgL3RtcC9jY2EyNDkxMQoqIF9fRzc3X0xJQkY3N19WRVJTSU9OX186IDAuNS4yMwoqIEAoIylMSUJGNzcgVkVSU0lPTiAxOTk3MDkxOQoqIF9fRzc3X0xJQkk3N19WRVJTSU9OX186IDAuNS4yMwoqIEAoIykgTElCSTc3IFZFUlNJT04gcGp3LGRtZy1tb2RzIDE5OTgwNDA1CiogX19HNzdfTElCVTc3X1ZFUlNJT05fXzogMC41LjIzCiogQCgjKSBMSUJVNzcgVkVSU0lPTiAxOTk3MDkxOQoqIAoqIAoqIFJlZ2FyZHMsIERpZXRlci4KKiAtLSAKKiBEaWV0ZXIgU3T8a2VuLCBjb24gdGVycmEgR21iSCwgTfxuc3RlcgoqICAgICBzdHVla2VuQGNvbnRlcnJhLmRlICAgICAgICAgc3R1ZWtlbkBxZ3AudW5pLW11ZW5zdGVyLmRlCiogICAgIGh0dHA6Ly93d3cuY29udGVycmEuZGUvICAgICBodHRwOi8vcWdwLnVuaS1tdWVuc3Rlci5kZS9+c3R1ZWtlbgoqICAgICAoMCkyNTEtOTgwLTIwMjcgICAgICAgICAgICAgKDApMjUxLTgzLTMzNDk3NAo=