S2VybmVsIGRyaXZlciBsbTgzCj09PT09PT09PT09PT09PT09PQoKU3VwcG9ydGVkIGNoaXBzOgogICogTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBMTTgzCiAgICBQcmVmaXg6ICdsbTgzJwogICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDE4IC0gMHgxYSwgMHgyOSAtIDB4MmIsIDB4NGMgLSAweDRlCiAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciB3ZWJzaXRlCiAgICAgICAgICAgICAgIGh0dHA6Ly93d3cubmF0aW9uYWwuY29tL3BmL0xNL0xNODMuaHRtbAogICogTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBMTTgyCiAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MTggLSAweDFhLCAweDI5IC0gMHgyYiwgMHg0YyAtIDB4NGUKICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBOYXRpb25hbCBTZW1pY29uZHVjdG9yIHdlYnNpdGUKICAgICAgICAgICAgICAgaHR0cDovL3d3dy5uYXRpb25hbC5jb20vcGYvTE0vTE04Mi5odG1sCgoKQXV0aG9yOiBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KCkRlc2NyaXB0aW9uCi0tLS0tLS0tLS0tCgpUaGUgTE04MyBpcyBhIGRpZ2l0YWwgdGVtcGVyYXR1cmUgc2Vuc29yLiBJdCBzZW5zZXMgaXRzIG93biB0ZW1wZXJhdHVyZSBhcwp3ZWxsIGFzIHRoZSB0ZW1wZXJhdHVyZSBvZiB1cCB0byB0aHJlZSBleHRlcm5hbCBkaW9kZXMuIFRoZSBMTTgyIGlzCmEgc3RyaXBwZWQgZG93biB2ZXJzaW9uIG9mIHRoZSBMTTgzIHRoYXQgb25seSBzdXBwb3J0cyBvbmUgZXh0ZXJuYWwgZGlvZGUuCkJvdGggYXJlIGNvbXBhdGlibGUgd2l0aCBtYW55IG90aGVyIGRldmljZXMgc3VjaCBhcyB0aGUgTE04NCBhbmQgYWxsCm90aGVyIEFETTEwMjEgY2xvbmVzLiBUaGUgbWFpbiBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIExNODMgYW5kIHRoZSBMTTg0CmluIHRoYXQgdGhlIGxhdGVyIGNhbiBvbmx5IHNlbnNlIHRoZSB0ZW1wZXJhdHVyZSBvZiBvbmUgZXh0ZXJuYWwgZGlvZGUuCgpVc2luZyB0aGUgYWRtMTAyMSBkcml2ZXIgZm9yIGEgTE04MyBzaG91bGQgd29yaywgYnV0IG9ubHkgdHdvIHRlbXBlcmF0dXJlcwp3aWxsIGJlIHJlcG9ydGVkIGluc3RlYWQgb2YgZm91ci4KClRoZSBMTTgzIGlzIG9ubHkgZm91bmQgb24gYSBoYW5kZnVsIG9mIG1vdGhlcmJvYXJkcy4gQm90aCBhIGNvbmZpcm1lZApsaXN0IGFuZCBhbiB1bmNvbmZpcm1lZCBsaXN0IGZvbGxvdy4gSWYgeW91IGNhbiBjb25maXJtIG9yIGluZmlybSB0aGUKZmFjdCB0aGF0IGFueSBvZiB0aGVzZSBtb3RoZXJib2FyZHMgZG8gYWN0dWFsbHkgaGF2ZSBhbiBMTTgzLCBwbGVhc2UKY29udGFjdCB1cy4gTm90ZSB0aGF0IHRoZSBMTTkwIGNhbiBlYXNpbHkgYmUgbWlzZGV0ZWN0ZWQgYXMgYSBMTTgzLgoKQ29uZmlybWVkIG1vdGhlcmJvYXJkczoKICAgIFNCUyAgICAgICAgIFAwMTQKICAgIFNCUyAgICAgICAgIFBTTDA5CgpVbmNvbmZpcm1lZCBtb3RoZXJib2FyZHM6CiAgICBHaWdhYnl0ZSAgICBHQS04SUsxMTAwCiAgICBJd2lsbCAgICAgICBNUFgyCiAgICBTb2x0ZWsgICAgICBTTC03NURSVjUKClRoZSBMTTgyIGlzIGNvbmZpcm1lZCB0byBoYXZlIGJlZW4gZm91bmQgb24gbW9zdCBBTUQgR2VvZGUgcmVmZXJlbmNlCmRlc2lnbnMgYW5kIHRlc3QgcGxhdGZvcm1zLgoKVGhlIGRyaXZlciBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgdGVzdGVkIGJ5IE1hZ251cyBGb3Jzc3Ry9m0sIHdobyBJJ2QKbGlrZSB0byB0aGFuayBoZXJlLiBNb3JlIHRlc3RlcnMgd2lsbCBiZSBvZiBjb3Vyc2Ugd2VsY29tZS4KClRoZSBmYWN0IHRoYXQgdGhlIExNODMgaXMgb25seSBzY2FyY2VseSB1c2VkIGNhbiBiZSBlYXNpbHkgZXhwbGFpbmVkLgpNb3N0IG1vdGhlcmJvYXJkcyBjb21lIHdpdGggbW9yZSB0aGFuIGp1c3QgdGVtcGVyYXR1cmUgc2Vuc29ycyBmb3IKaGVhbHRoIG1vbml0b3JpbmcuIFRoZXkgYWxzbyBoYXZlIHZvbHRhZ2UgYW5kIGZhbiByb3RhdGlvbiBzcGVlZApzZW5zb3JzLiBUaGlzIG1lYW5zIHRoYXQgdGVtcGVyYXR1cmUtb25seSBjaGlwcyBhcmUgdXN1YWxseSB1c2VkIGFzCnNlY29uZGFyeSBjaGlwcyBjb3VwbGVkIHdpdGggYW5vdGhlciBjaGlwIHN1Y2ggYXMgYW4gSVQ4NzA1RiBvciBzaW1pbGFyCmNoaXAsIHdoaWNoIHByb3ZpZGVzIG1vcmUgZmVhdHVyZXMuIFNpbmNlIHN5c3RlbXMgdXN1YWxseSBuZWVkIHRocmVlCnRlbXBlcmF0dXJlIHNlbnNvcnMgKG1vdGhlcmJvYXJkLCBwcm9jZXNzb3IsIHBvd2VyIHN1cHBseSkgYW5kIHByaW1hcnkKY2hpcHMgcHJvdmlkZSBzb21lIHRlbXBlcmF0dXJlIHNlbnNvcnMsIHRoZSBzZWNvbmRhcnkgY2hpcCwgaWYgbmVlZGVkLAp3b24ndCBoYXZlIHRvIGhhbmRsZSBtb3JlIHRoYW4gdHdvIHRlbXBlcmF0dXJlcy4gVGh1cywgQURNMTAyMSBjbG9uZXMKYXJlIHN1ZmZpY2llbnQsIGFuZCB0aGVyZSBpcyBubyBuZWVkIGZvciBhIGZvdXIgdGVtcGVyYXR1cmVzIHNlbnNvcgpjaGlwIHN1Y2ggYXMgdGhlIExNODMuIFRoZSBvbmx5IGNhc2Ugd2hlcmUgdXNpbmcgYW4gTE04MyB3b3VsZCBtYWtlCnNlbnNlIGlzIG9uIFNNUCBzeXN0ZW1zLCBzdWNoIGFzIHRoZSBhYm92ZS1tZW50aW9uZWQgSXdpbGwgTVBYMiwKYmVjYXVzZSB5b3Ugd2FudCBhbiBhZGRpdGlvbmFsIHRlbXBlcmF0dXJlIHNlbnNvciBmb3IgZWFjaCBhZGRpdGlvbmFsCkNQVS4KCk9uIHRoZSBTQlMgUDAxNCwgdGhpcyBpcyBkaWZmZXJlbnQsIHNpbmNlIHRoZSBMTTgzIGlzIHRoZSBvbmx5IGhhcmR3YXJlCm1vbml0b3JpbmcgY2hpcHNldC4gT25lIHRlbXBlcmF0dXJlIHNlbnNvciBpcyB1c2VkIGZvciB0aGUgbW90aGVyYm9hcmQKKGFjdHVhbGx5IG1lYXN1cmluZyB0aGUgTE04MydzIG93biB0ZW1wZXJhdHVyZSksIG9uZSBpcyB1c2VkIGZvciB0aGUKQ1BVLiBUaGUgdHdvIG90aGVyIHNlbnNvcnMgbXVzdCBiZSB1c2VkIHRvIG1lYXN1cmUgdGhlIHRlbXBlcmF0dXJlIG9mCnR3byBvdGhlciBwb2ludHMgb2YgdGhlIG1vdGhlcmJvYXJkLiBXZSBzdXNwZWN0IHRoZXNlIHBvaW50cyB0byBiZSB0aGUKbm9ydGggYW5kIHNvdXRoIGJyaWRnZXMsIGJ1dCB0aGlzIGNvdWxkbid0IGJlIGNvbmZpcm1lZC4KCkFsbCB0ZW1wZXJhdHVyZSB2YWx1ZXMgYXJlIGdpdmVuIGluIGRlZ3JlZXMgQ2Vsc2l1cy4gTG9jYWwgdGVtcGVyYXR1cmUKaXMgZ2l2ZW4gd2l0aGluIGEgcmFuZ2Ugb2YgMCB0byArODUgZGVncmVlcy4gUmVtb3RlIHRlbXBlcmF0dXJlcyBhcmUKZ2l2ZW4gd2l0aGluIGEgcmFuZ2Ugb2YgMCB0byArMTI1IGRlZ3JlZXMuIFJlc29sdXRpb24gaXMgMS4wIGRlZ3JlZSwKYWNjdXJhY3kgaXMgZ3VhcmFudGVlZCB0byAzLjAgZGVncmVlcyAoc2VlIHRoZSBkYXRhc2hlZXQgZm9yIG1vcmUKZGV0YWlscykuCgpFYWNoIHNlbnNvciBoYXMgaXRzIG93biBoaWdoIGxpbWl0LCBidXQgdGhlIGNyaXRpY2FsIGxpbWl0IGlzIGNvbW1vbiB0bwphbGwgZm91ciBzZW5zb3JzLiBUaGVyZSBpcyBubyBoeXN0ZXJlc2lzIG1lY2hhbmlzbSBhcyBmb3VuZCBvbiBtb3N0CnJlY2VudCB0ZW1wZXJhdHVyZSBzZW5zb3JzLgoKVGhlIGxtODMgZHJpdmVyIHdpbGwgbm90IHVwZGF0ZSBpdHMgdmFsdWVzIG1vcmUgZnJlcXVlbnRseSB0aGFuIGV2ZXJ5Cm90aGVyIHNlY29uZDsgcmVhZGluZyB0aGVtIG1vcmUgb2Z0ZW4gd2lsbCBkbyBubyBoYXJtLCBidXQgd2lsbCByZXR1cm4KJ29sZCcgdmFsdWVzLgo=