ClZHQSBBcmJpdGVyCj09PT09PT09PT09CgpHcmFwaGljIGRldmljZXMgYXJlIGFjY2Vzc2VkIHRocm91Z2ggcmFuZ2VzIGluIEkvTyBvciBtZW1vcnkgc3BhY2UuIFdoaWxlIG1vc3QKbW9kZXJuIGRldmljZXMgYWxsb3cgcmVsb2NhdGlvbiBvZiBzdWNoIHJhbmdlcywgc29tZSAiTGVnYWN5IiBWR0EgZGV2aWNlcwppbXBsZW1lbnRlZCBvbiBQQ0kgd2lsbCB0eXBpY2FsbHkgaGF2ZSB0aGUgc2FtZSAiaGFyZC1kZWNvZGVkIiBhZGRyZXNzZXMgYXMKdGhleSBkaWQgb24gSVNBLiBGb3IgbW9yZSBkZXRhaWxzIHNlZSAiUENJIEJ1cyBCaW5kaW5nIHRvIElFRUUgU3RkIDEyNzUtMTk5NApTdGFuZGFyZCBmb3IgQm9vdCAoSW5pdGlhbGl6YXRpb24gQ29uZmlndXJhdGlvbikgRmlybXdhcmUgUmV2aXNpb24gMi4xIgpTZWN0aW9uIDcsIExlZ2FjeSBEZXZpY2VzLgoKVGhlIFJlc291cmNlIEFjY2VzcyBDb250cm9sIChSQUMpIG1vZHVsZSBpbnNpZGUgdGhlIFggc2VydmVyIFswXSBleGlzdGVkIGZvcgp0aGUgbGVnYWN5IFZHQSBhcmJpdHJhdGlvbiB0YXNrIChiZXNpZGVzIG90aGVyIGJ1cyBtYW5hZ2VtZW50IHRhc2tzKSB3aGVuIG1vcmUKdGhhbiBvbmUgbGVnYWN5IGRldmljZSBjby1leGlzdHMgb24gdGhlIHNhbWUgbWFjaGluZS4gQnV0IHRoZSBwcm9ibGVtIGhhcHBlbnMKd2hlbiB0aGVzZSBkZXZpY2VzIGFyZSB0cnlpbmcgdG8gYmUgYWNjZXNzZWQgYnkgZGlmZmVyZW50IHVzZXJzcGFjZSBjbGllbnRzCihlLmcuIHR3byBzZXJ2ZXIgaW4gcGFyYWxsZWwpLiBUaGVpciBhZGRyZXNzIGFzc2lnbm1lbnRzIGNvbmZsaWN0LiBNb3Jlb3ZlciwKaWRlYWxseSwgYmVpbmcgYW4gdXNlcnNwYWNlIGFwcGxpY2F0aW9uLCBpdCBpcyBub3QgdGhlIHJvbGUgb2YgdGhlIHRoZSBYCnNlcnZlciB0byBjb250cm9sIGJ1cyByZXNvdXJjZXMuIFRoZXJlZm9yZSBhbiBhcmJpdHJhdGlvbiBzY2hlbWUgb3V0c2lkZSBvZgp0aGUgWCBzZXJ2ZXIgaXMgbmVlZGVkIHRvIGNvbnRyb2wgdGhlIHNoYXJpbmcgb2YgdGhlc2UgcmVzb3VyY2VzLiBUaGlzCmRvY3VtZW50IGludHJvZHVjZXMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgVkdBIGFyYml0ZXIgaW1wbGVtZW50ZWQgZm9yIExpbnV4Cmtlcm5lbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkkuICBEZXRhaWxzIGFuZCBUaGVvcnkgb2YgT3BlcmF0aW9uCiAgICAgICAgSS4xIHZnYWFyYgogICAgICAgIEkuMiBsaWJwY2lhY2Nlc3MKICAgICAgICBJLjMgeGY4NlZHQUFyYml0ZXIgKFggc2VydmVyIGltcGxlbWVudGF0aW9uKQpJSS4gQ3JlZGl0cwpJSUkuUmVmZXJlbmNlcwoKCkkuIERldGFpbHMgYW5kIFRoZW9yeSBvZiBPcGVyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKSS4xIHZnYWFyYgotLS0tLS0tLS0tCgpUaGUgdmdhYXJiIGlzIGEgbW9kdWxlIG9mIHRoZSBMaW51eCBLZXJuZWwuIFdoZW4gaXQgaXMgaW5pdGlhbGx5IGxvYWRlZCwgaXQKc2NhbnMgYWxsIFBDSSBkZXZpY2VzIGFuZCBhZGRzIHRoZSBWR0Egb25lcyBpbnNpZGUgdGhlIGFyYml0cmF0aW9uLiBUaGUKYXJiaXRlciB0aGVuIGVuYWJsZXMvZGlzYWJsZXMgdGhlIGRlY29kaW5nIG9uIGRpZmZlcmVudCBkZXZpY2VzIG9mIHRoZSBWR0EKbGVnYWN5IGluc3RydWN0aW9ucy4gRGV2aWNlIHdoaWNoIGRvIG5vdCB3YW50L25lZWQgdG8gdXNlIHRoZSBhcmJpdGVyIG1heQpleHBsaWNpdGx5IHRlbGwgaXQgYnkgY2FsbGluZyB2Z2Ffc2V0X2xlZ2FjeV9kZWNvZGluZygpLgoKVGhlIGtlcm5lbCBleHBvcnRzIGEgY2hhciBkZXZpY2UgaW50ZXJmYWNlICgvZGV2L3ZnYV9hcmJpdGVyKSB0byB0aGUgY2xpZW50cywKd2hpY2ggaGFzIHRoZSBmb2xsb3dpbmcgc2VtYW50aWNzOgoKIG9wZW4gICAgICAgOiBvcGVuIHVzZXIgaW5zdGFuY2Ugb2YgdGhlIGFyYml0ZXIuIEJ5IGRlZmF1bHQsIGl0J3MgYXR0YWNoZWQgdG8KICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBWR0EgZGV2aWNlIG9mIHRoZSBzeXN0ZW0uCgogY2xvc2UgICAgICA6IGNsb3NlIHVzZXIgaW5zdGFuY2UuIFJlbGVhc2UgbG9ja3MgbWFkZSBieSB0aGUgdXNlcgoKIHJlYWQgICAgICAgOiByZXR1cm4gYSBzdHJpbmcgaW5kaWNhdGluZyB0aGUgc3RhdHVzIG9mIHRoZSB0YXJnZXQgbGlrZToKCiAgICAgICAgICAgICAgIjxjYXJkX0lEPixkZWNvZGVzPTxpb19zdGF0ZT4sb3ducz08aW9fc3RhdGU+LGxvY2tzPTxpb19zdGF0ZT4gKGljLG1jKSIKCiAgICAgICAgICAgICAgQW4gSU8gc3RhdGUgc3RyaW5nIGlzIG9mIHRoZSBmb3JtIHtpbyxtZW0saW8rbWVtLG5vbmV9LCBtYyBhbmQKICAgICAgICAgICAgICBpYyBhcmUgcmVzcGVjdGl2ZWx5IG1lbSBhbmQgaW8gbG9jayBjb3VudHMgKGZvciBkZWJ1Z2dpbmcvCiAgICAgICAgICAgICAgZGlhZ25vc3RpYyBvbmx5KS4gImRlY29kZXMiIGluZGljYXRlIHdoYXQgdGhlIGNhcmQgY3VycmVudGx5CiAgICAgICAgICAgICAgZGVjb2RlcywgIm93bnMiIGluZGljYXRlcyB3aGF0IGlzIGN1cnJlbnRseSBlbmFibGVkIG9uIGl0LCBhbmQKICAgICAgICAgICAgICAibG9ja3MiIGluZGljYXRlcyB3aGF0IGlzIGxvY2tlZCBieSB0aGlzIGNhcmQuIElmIHRoZSBjYXJkIGlzCiAgICAgICAgICAgICAgdW5wbHVnZ2VkLCB3ZSBnZXQgImludmFsaWQiIHRoZW4gZm9yIGNhcmRfSUQgYW5kIGFuIC1FTk9ERVYKICAgICAgICAgICAgICBlcnJvciBpcyByZXR1cm5lZCBmb3IgYW55IGNvbW1hbmQgdW50aWwgYSBuZXcgY2FyZCBpcyB0YXJnZXRlZC4KCgogd3JpdGUgICAgICAgOiB3cml0ZSBhIGNvbW1hbmQgdG8gdGhlIGFyYml0ZXIuIExpc3Qgb2YgY29tbWFuZHM6CgogIHRhcmdldCA8Y2FyZF9JRD4gICA6IHN3aXRjaCB0YXJnZXQgdG8gY2FyZCA8Y2FyZF9JRD4gKHNlZSBiZWxvdykKICBsb2NrIDxpb19zdGF0ZT4gICAgOiBhY3F1aXJlcyBsb2NrcyBvbiB0YXJnZXQgKCJub25lIiBpcyBhbiBpbnZhbGlkIGlvX3N0YXRlKQogIHRyeWxvY2sgPGlvX3N0YXRlPiA6IG5vbi1ibG9ja2luZyBhY3F1aXJlIGxvY2tzIG9uIHRhcmdldCAocmV0dXJucyBFQlVTWSBpZgogICAgICAgICAgICAgICAgICAgICAgIHVuc3VjY2Vzc2Z1bCkKICB1bmxvY2sgPGlvX3N0YXRlPiAgOiByZWxlYXNlIGxvY2tzIG9uIHRhcmdldAogIHVubG9jayBhbGwgICAgICAgICA6IHJlbGVhc2UgYWxsIGxvY2tzIG9uIHRhcmdldCBoZWxkIGJ5IHRoaXMgdXNlciAobm90CiAgICAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50ZWQgeWV0KQogIGRlY29kZXMgPGlvX3N0YXRlPiA6IHNldCB0aGUgbGVnYWN5IGRlY29kaW5nIGF0dHJpYnV0ZXMgZm9yIHRoZSBjYXJkCgogIHBvbGwgICAgICAgICAgICAgICA6IGV2ZW50IGlmIHNvbWV0aGluZyBjaGFuZ2VzIG9uIGFueSBjYXJkIChub3QganVzdCB0aGUKICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQpCgogIGNhcmRfSUQgaXMgb2YgdGhlIGZvcm0gIlBDSTpkb21haW46YnVzOmRldi5mbiIuIEl0IGNhbiBiZSBzZXQgdG8gImRlZmF1bHQiCiAgdG8gZ28gYmFjayB0byB0aGUgc3lzdGVtIGRlZmF1bHQgY2FyZCAoVE9ETzogbm90IGltcGxlbWVudGVkIHlldCkuIEN1cnJlbnRseSwKICBvbmx5IFBDSSBpcyBzdXBwb3J0ZWQgYXMgYSBwcmVmaXgsIGJ1dCB0aGUgdXNlcmxhbmQgQVBJIG1heSBzdXBwb3J0IG90aGVyIGJ1cwogIHR5cGVzIGluIHRoZSBmdXR1cmUsIGV2ZW4gaWYgdGhlIGN1cnJlbnQga2VybmVsIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QuCgpOb3RlIGFib3V0IGxvY2tzOgoKVGhlIGRyaXZlciBrZWVwcyB0cmFjayBvZiB3aGljaCB1c2VyIGhhcyB3aGljaCBsb2NrcyBvbiB3aGljaCBjYXJkLiBJdApzdXBwb3J0cyBzdGFja2luZywgbGlrZSB0aGUga2VybmVsIG9uZS4gVGhpcyBjb21wbGV4aWZpZXMgdGhlIGltcGxlbWVudGF0aW9uCmEgYml0LCBidXQgbWFrZXMgdGhlIGFyYml0ZXIgbW9yZSB0b2xlcmFudCB0byB1c2VyIHNwYWNlIHByb2JsZW1zIGFuZCBhYmxlCnRvIHByb3Blcmx5IGNsZWFudXAgaW4gYWxsIGNhc2VzIHdoZW4gYSBwcm9jZXNzIGRpZXMuCkN1cnJlbnRseSwgYSBtYXggb2YgMTYgY2FyZHMgY2FuIGhhdmUgbG9ja3Mgc2ltdWx0YW5lb3VzbHkgaXNzdWVkIGZyb20KdXNlciBzcGFjZSBmb3IgYSBnaXZlbiB1c2VyIChmaWxlIGRlc2NyaXB0b3IgaW5zdGFuY2UpIG9mIHRoZSBhcmJpdGVyLgoKSW4gdGhlIGNhc2Ugb2YgZGV2aWNlcyBob3Qte3VuLH1wbHVnZ2VkLCB0aGVyZSBpcyBhIGhvb2sgLSBwY2lfbm90aWZ5KCkgLSB0bwpub3RpZnkgdGhlbSBiZWluZyBhZGRlZC9yZW1vdmVkIGluIHRoZSBzeXN0ZW0gYW5kIGF1dG9tYXRpY2FsbHkgYWRkZWQvcmVtb3ZlZAppbiB0aGUgYXJiaXRlci4KClRoZXJlJ3MgYWxzbyBhIGluLWtlcm5lbCBBUEkgb2YgdGhlIGFyYml0ZXIgaW4gdGhlIGNhc2Ugb2YgRFJNLCB2Z2Fjb24gYW5kCm90aGVycyB3aGljaCBtYXkgdXNlIHRoZSBhcmJpdGVyLgoKCkkuMiBsaWJwY2lhY2Nlc3MKLS0tLS0tLS0tLS0tLS0tLQoKVG8gdXNlIHRoZSB2Z2EgYXJiaXRlciBjaGFyIGRldmljZSBpdCB3YXMgaW1wbGVtZW50ZWQgYW4gQVBJIGluc2lkZSB0aGUKbGlicGNpYWNjZXNzIGxpYnJhcnkuIE9uZSBmaWVsZGQgd2FzIGFkZGVkIHRvIHN0cnVjdCBwY2lfZGV2aWNlIChlYWNoIGRldmljZQpvbiB0aGUgc3lzdGVtKToKCiAgICAvKiB0aGUgdHlwZSBvZiByZXNvdXJjZSBkZWNvZGVkIGJ5IHRoZSBkZXZpY2UgKi8KICAgIGludCB2Z2FhcmJfcnNyYzsKCkJlc2lkZXMgaXQsIGluIHBjaV9zeXN0ZW0gd2VyZSBhZGRlZDoKCiAgICBpbnQgdmdhYXJiX2ZkOwogICAgaW50IHZnYV9jb3VudDsKICAgIHN0cnVjdCBwY2lfZGV2aWNlICp2Z2FfdGFyZ2V0OwogICAgc3RydWN0IHBjaV9kZXZpY2UgKnZnYV9kZWZhdWx0X2RldjsKCgpUaGUgdmdhX2NvdW50IGlzIHVzdWFsbHkgbmVlZCB0byBrZWVwIGluZm9ybWVkIGhvdyBtYW55IGNhcmRzIGFyZSBiZWluZwphcmJpdHJhdGVkLCBzbyBmb3IgaW5zdGFuY2UgaWYgdGhlcmUncyBvbmx5IG9uZSB0aGVuIGl0IGNhbiB0b3RhbGx5IGVzY2FwZSB0aGUKc2NoZW1lLgoKClRoZXNlIGZ1bmN0aW9ucyBiZWxvdyBhY3F1aXJlIFZHQSByZXNvdXJjZXMgZm9yIHRoZSBnaXZlbiBjYXJkIGFuZCBtYXJrIHRob3NlCnJlc291cmNlcyBhcyBsb2NrZWQuIElmIHRoZSByZXNvdXJjZXMgcmVxdWVzdGVkIGFyZSAibm9ybWFsIiAoYW5kIG5vdCBsZWdhY3kpCnJlc291cmNlcywgdGhlIGFyYml0ZXIgd2lsbCBmaXJzdCBjaGVjayB3aGV0aGVyIHRoZSBjYXJkIGlzIGRvaW5nIGxlZ2FjeQpkZWNvZGluZyBmb3IgdGhhdCB0eXBlIG9mIHJlc291cmNlLiBJZiB5ZXMsIHRoZSBsb2NrIGlzICJjb252ZXJ0ZWQiIGludG8gYQpsZWdhY3kgcmVzb3VyY2UgbG9jay4gVGhlIGFyYml0ZXIgd2lsbCBmaXJzdCBsb29rIGZvciBhbGwgVkdBIGNhcmRzIHRoYXQKbWlnaHQgY29uZmxpY3QgYW5kIGRpc2FibGUgdGhlaXIgSU9zIGFuZC9vciBNZW1vcnkgYWNjZXNzLCBpbmNsdWRpbmcgVkdBCmZvcndhcmRpbmcgb24gUDJQIGJyaWRnZXMgaWYgbmVjZXNzYXJ5LCBzbyB0aGF0IHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2VzIGNhbgpiZSB1c2VkLiBUaGVuLCB0aGUgY2FyZCBpcyBtYXJrZWQgYXMgbG9ja2luZyB0aGVzZSByZXNvdXJjZXMgYW5kIHRoZSBJTyBhbmQvb3IKTWVtb3J5IGFjY2VzcyBpcyBlbmFibGVkIG9uIHRoZSBjYXJkIChpbmNsdWRpbmcgVkdBIGZvcndhcmRpbmcgb24gcGFyZW50ClAyUCBicmlkZ2VzIGlmIGFueSkuIEluIHRoZSBjYXNlIG9mIHZnYV9hcmJfbG9jaygpLCB0aGUgZnVuY3Rpb24gd2lsbCBibG9jawppZiBzb21lIGNvbmZsaWN0aW5nIGNhcmQgaXMgYWxyZWFkeSBsb2NraW5nIG9uZSBvZiB0aGUgcmVxdWlyZWQgcmVzb3VyY2VzIChvcgphbnkgcmVzb3VyY2Ugb24gYSBkaWZmZXJlbnQgYnVzIHNlZ21lbnQsIHNpbmNlIFAyUCBicmlkZ2VzIGRvbid0IGRpZmZlcmVudGlhdGUKVkdBIG1lbW9yeSBhbmQgSU8gYWZhaWspLiBJZiB0aGUgY2FyZCBhbHJlYWR5IG93bnMgdGhlIHJlc291cmNlcywgdGhlIGZ1bmN0aW9uCnN1Y2NlZWRzLiAgdmdhX2FyYl90cnlsb2NrKCkgd2lsbCByZXR1cm4gKC1FQlVTWSkgaW5zdGVhZCBvZiBibG9ja2luZy4gTmVzdGVkCmNhbGxzIGFyZSBzdXBwb3J0ZWQgKGEgcGVyLXJlc291cmNlIGNvdW50ZXIgaXMgbWFpbnRhaW5lZCkuCgoKU2V0IHRoZSB0YXJnZXQgZGV2aWNlIG9mIHRoaXMgY2xpZW50LgogICAgaW50ICBwY2lfZGV2aWNlX3ZnYWFyYl9zZXRfdGFyZ2V0ICAgKHN0cnVjdCBwY2lfZGV2aWNlICpkZXYpOwoKCkZvciBpbnN0YW5jZSwgaW4geDg2IGlmIHR3byBkZXZpY2VzIG9uIHRoZSBzYW1lIGJ1cyB3YW50IHRvIGxvY2sgZGlmZmVyZW50CnJlc291cmNlcywgYm90aCB3aWxsIHN1Y2NlZWQgKGxvY2spLiBJZiBkZXZpY2VzIGFyZSBpbiBkaWZmZXJlbnQgYnVzZXMgYW5kCnRyeWluZyB0byBsb2NrIGRpZmZlcmVudCByZXNvdXJjZXMsIG9ubHkgdGhlIGZpcnN0IHdobyB0cmllZCBzdWNjZWVkcy4KICAgIGludCAgcGNpX2RldmljZV92Z2FhcmJfbG9jayAgICAgICAgICh2b2lkKTsKICAgIGludCAgcGNpX2RldmljZV92Z2FhcmJfdHJ5bG9jayAgICAgICh2b2lkKTsKClVubG9jayByZXNvdXJjZXMgb2YgZGV2aWNlLgogICAgaW50ICBwY2lfZGV2aWNlX3ZnYWFyYl91bmxvY2sgICAgICAgKHZvaWQpOwoKSW5kaWNhdGVzIHRvIHRoZSBhcmJpdGVyIGlmIHRoZSBjYXJkIGRlY29kZXMgbGVnYWN5IFZHQSBJT3MsIGxlZ2FjeSBWR0EKTWVtb3J5LCBib3RoLCBvciBub25lLiBBbGwgY2FyZHMgZGVmYXVsdCB0byBib3RoLCB0aGUgY2FyZCBkcml2ZXIgKGZiZGV2IGZvcgpleGFtcGxlKSBzaG91bGQgdGVsbCB0aGUgYXJiaXRlciBpZiBpdCBoYXMgZGlzYWJsZWQgbGVnYWN5IGRlY29kaW5nLCBzbyB0aGUKY2FyZCBjYW4gYmUgbGVmdCBvdXQgb2YgdGhlIGFyYml0cmF0aW9uIHByb2Nlc3MgKGFuZCBjYW4gYmUgc2FmZSB0byB0YWtlCmludGVycnVwdHMgYXQgYW55IHRpbWUuCiAgICBpbnQgIHBjaV9kZXZpY2VfdmdhYXJiX2RlY29kZXMgICAgICAoaW50IG5ld192Z2FhcmJfcnNyYyk7CgpDb25uZWN0cyB0byB0aGUgYXJiaXRlciBkZXZpY2UsIGFsbG9jYXRlcyB0aGUgc3RydWN0CiAgICBpbnQgIHBjaV9kZXZpY2VfdmdhYXJiX2luaXQgICAgICAgICAodm9pZCk7CgpDbG9zZSB0aGUgY29ubmVjdGlvbgogICAgdm9pZCBwY2lfZGV2aWNlX3ZnYWFyYl9maW5pICAgICAgICAgKHZvaWQpOwoKCkkuMyB4Zjg2VkdBQXJiaXRlciAoWCBzZXJ2ZXIgaW1wbGVtZW50YXRpb24pCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgooVE9ETykKClggc2VydmVyIGJhc2ljYWxseSB3cmFwcyBhbGwgdGhlIGZ1bmN0aW9ucyB0aGF0IHRvdWNoIFZHQSByZWdpc3RlcnMgc29tZWhvdy4KCgpJSS4gQ3JlZGl0cwo9PT09PT09PT09PQoKQmVuamFtaW4gSGVycmVuc2NobWlkdCAoSUJNPykgc3RhcnRlZCB0aGlzIHdvcmsgd2hlbiBoZSBkaXNjdXNzZWQgc3VjaCBkZXNpZ24Kd2l0aCB0aGUgWG9yZyBjb21tdW5pdHkgaW4gMjAwNSBbMSwgMl0uIEluIHRoZSBlbmQgb2YgMjAwNywgUGF1bG8gWmFub25pIGFuZApUaWFnbyBWaWduYXR0aSAoYm90aCBvZiBDM1NML0ZlZGVyYWwgVW5pdmVyc2l0eSBvZiBQYXJhbuEpIHByb2NlZWRlZCBoaXMgd29yawplbmhhbmNpbmcgdGhlIGtlcm5lbCBjb2RlIHRvIGFkYXB0IGFzIGEga2VybmVsIG1vZHVsZSBhbmQgYWxzbyBkaWQgdGhlCmltcGxlbWVudGF0aW9uIG9mIHRoZSB1c2VyIHNwYWNlIHNpZGUgWzNdLiBOb3cgKDIwMDkpIFRpYWdvIFZpZ25hdHRpIGFuZCBEYXZlCkFpcmxpZSBmaW5hbGx5IHB1dCB0aGlzIHdvcmsgaW4gc2hhcGUgYW5kIHF1ZXVlZCB0byBKZXNzZSBCYXJuZXMnIFBDSSB0cmVlLgoKCklJSS4gUmVmZXJlbmNlcwo9PT09PT09PT09PT09PQoKWzBdIGh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL3hzZXJ2ZXIvY29tbWl0Lz9pZD00YjQyNDQ4YTIzODhkNDBmMjU3Nzc0ZmJmZmRjY2FlYTg3YmQwMzQ3ClsxXSBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL3hvcmcvMjAwNS1NYXJjaC8wMDY2NjMuaHRtbApbMl0gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy94b3JnLzIwMDUtTWFyY2gvMDA2NzQ1Lmh0bWwKWzNdIGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMveG9yZy8yMDA3LU9jdG9iZXIvMDI5NTA3Lmh0bWwK