ClZHQSBBcmJpdGVyCj09PT09PT09PT09CgpHcmFwaGljIGRldmljZXMgYXJlIGFjY2Vzc2VkIHRocm91Z2ggcmFuZ2VzIGluIEkvTyBvciBtZW1vcnkgc3BhY2UuIFdoaWxlIG1vc3QKbW9kZXJuIGRldmljZXMgYWxsb3cgcmVsb2NhdGlvbiBvZiBzdWNoIHJhbmdlcywgc29tZSAiTGVnYWN5IiBWR0EgZGV2aWNlcwppbXBsZW1lbnRlZCBvbiBQQ0kgd2lsbCB0eXBpY2FsbHkgaGF2ZSB0aGUgc2FtZSAiaGFyZC1kZWNvZGVkIiBhZGRyZXNzZXMgYXMKdGhleSBkaWQgb24gSVNBLiBGb3IgbW9yZSBkZXRhaWxzIHNlZSAiUENJIEJ1cyBCaW5kaW5nIHRvIElFRUUgU3RkIDEyNzUtMTk5NApTdGFuZGFyZCBmb3IgQm9vdCAoSW5pdGlhbGl6YXRpb24gQ29uZmlndXJhdGlvbikgRmlybXdhcmUgUmV2aXNpb24gMi4xIgpTZWN0aW9uIDcsIExlZ2FjeSBEZXZpY2VzLgoKVGhlIFJlc291cmNlIEFjY2VzcyBDb250cm9sIChSQUMpIG1vZHVsZSBpbnNpZGUgdGhlIFggc2VydmVyIFswXSBleGlzdGVkIGZvcgp0aGUgbGVnYWN5IFZHQSBhcmJpdHJhdGlvbiB0YXNrIChiZXNpZGVzIG90aGVyIGJ1cyBtYW5hZ2VtZW50IHRhc2tzKSB3aGVuIG1vcmUKdGhhbiBvbmUgbGVnYWN5IGRldmljZSBjby1leGlzdHMgb24gdGhlIHNhbWUgbWFjaGluZS4gQnV0IHRoZSBwcm9ibGVtIGhhcHBlbnMKd2hlbiB0aGVzZSBkZXZpY2VzIGFyZSB0cnlpbmcgdG8gYmUgYWNjZXNzZWQgYnkgZGlmZmVyZW50IHVzZXJzcGFjZSBjbGllbnRzCihlLmcuIHR3byBzZXJ2ZXIgaW4gcGFyYWxsZWwpLiBUaGVpciBhZGRyZXNzIGFzc2lnbm1lbnRzIGNvbmZsaWN0LiBNb3Jlb3ZlciwKaWRlYWxseSwgYmVpbmcgYW4gdXNlcnNwYWNlIGFwcGxpY2F0aW9uLCBpdCBpcyBub3QgdGhlIHJvbGUgb2YgdGhlIHRoZSBYCnNlcnZlciB0byBjb250cm9sIGJ1cyByZXNvdXJjZXMuIFRoZXJlZm9yZSBhbiBhcmJpdHJhdGlvbiBzY2hlbWUgb3V0c2lkZSBvZgp0aGUgWCBzZXJ2ZXIgaXMgbmVlZGVkIHRvIGNvbnRyb2wgdGhlIHNoYXJpbmcgb2YgdGhlc2UgcmVzb3VyY2VzLiBUaGlzCmRvY3VtZW50IGludHJvZHVjZXMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgVkdBIGFyYml0ZXIgaW1wbGVtZW50ZWQgZm9yIExpbnV4Cmtlcm5lbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkkuICBEZXRhaWxzIGFuZCBUaGVvcnkgb2YgT3BlcmF0aW9uCiAgICAgICAgSS4xIHZnYWFyYgogICAgICAgIEkuMiBsaWJwY2lhY2Nlc3MKICAgICAgICBJLjMgeGY4NlZHQUFyYml0ZXIgKFggc2VydmVyIGltcGxlbWVudGF0aW9uKQpJSS4gQ3JlZGl0cwpJSUkuUmVmZXJlbmNlcwoKCkkuIERldGFpbHMgYW5kIFRoZW9yeSBvZiBPcGVyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKSS4xIHZnYWFyYgotLS0tLS0tLS0tCgpUaGUgdmdhYXJiIGlzIGEgbW9kdWxlIG9mIHRoZSBMaW51eCBLZXJuZWwuIFdoZW4gaXQgaXMgaW5pdGlhbGx5IGxvYWRlZCwgaXQKc2NhbnMgYWxsIFBDSSBkZXZpY2VzIGFuZCBhZGRzIHRoZSBWR0Egb25lcyBpbnNpZGUgdGhlIGFyYml0cmF0aW9uLiBUaGUKYXJiaXRlciB0aGVuIGVuYWJsZXMvZGlzYWJsZXMgdGhlIGRlY29kaW5nIG9uIGRpZmZlcmVudCBkZXZpY2VzIG9mIHRoZSBWR0EKbGVnYWN5IGluc3RydWN0aW9ucy4gRGV2aWNlIHdoaWNoIGRvIG5vdCB3YW50L25lZWQgdG8gdXNlIHRoZSBhcmJpdGVyIG1heQpleHBsaWNpdGx5IHRlbGwgaXQgYnkgY2FsbGluZyB2Z2Ffc2V0X2xlZ2FjeV9kZWNvZGluZygpLgoKVGhlIGtlcm5lbCBleHBvcnRzIGEgY2hhciBkZXZpY2UgaW50ZXJmYWNlICgvZGV2L3ZnYV9hcmJpdGVyKSB0byB0aGUgY2xpZW50cywKd2hpY2ggaGFzIHRoZSBmb2xsb3dpbmcgc2VtYW50aWNzOgoKIG9wZW4gICAgICAgOiBvcGVuIHVzZXIgaW5zdGFuY2Ugb2YgdGhlIGFyYml0ZXIuIEJ5IGRlZmF1bHQsIGl0J3MgYXR0YWNoZWQgdG8KICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBWR0EgZGV2aWNlIG9mIHRoZSBzeXN0ZW0uCgogY2xvc2UgICAgICA6IGNsb3NlIHVzZXIgaW5zdGFuY2UuIFJlbGVhc2UgbG9ja3MgbWFkZSBieSB0aGUgdXNlcgoKIHJlYWQgICAgICAgOiByZXR1cm4gYSBzdHJpbmcgaW5kaWNhdGluZyB0aGUgc3RhdHVzIG9mIHRoZSB0YXJnZXQgbGlrZToKCiAgICAgICAgICAgICAgIjxjYXJkX0lEPixkZWNvZGVzPTxpb19zdGF0ZT4sb3ducz08aW9fc3RhdGU+LGxvY2tzPTxpb19zdGF0ZT4gKGljLG1jKSIKCiAgICAgICAgICAgICAgQW4gSU8gc3RhdGUgc3RyaW5nIGlzIG9mIHRoZSBmb3JtIHtpbyxtZW0saW8rbWVtLG5vbmV9LCBtYyBhbmQKICAgICAgICAgICAgICBpYyBhcmUgcmVzcGVjdGl2ZWx5IG1lbSBhbmQgaW8gbG9jayBjb3VudHMgKGZvciBkZWJ1Z2dpbmcvCiAgICAgICAgICAgICAgZGlhZ25vc3RpYyBvbmx5KS4gImRlY29kZXMiIGluZGljYXRlIHdoYXQgdGhlIGNhcmQgY3VycmVudGx5CiAgICAgICAgICAgICAgZGVjb2RlcywgIm93bnMiIGluZGljYXRlcyB3aGF0IGlzIGN1cnJlbnRseSBlbmFibGVkIG9uIGl0LCBhbmQKICAgICAgICAgICAgICAibG9ja3MiIGluZGljYXRlcyB3aGF0IGlzIGxvY2tlZCBieSB0aGlzIGNhcmQuIElmIHRoZSBjYXJkIGlzCiAgICAgICAgICAgICAgdW5wbHVnZ2VkLCB3ZSBnZXQgImludmFsaWQiIHRoZW4gZm9yIGNhcmRfSUQgYW5kIGFuIC1FTk9ERVYKICAgICAgICAgICAgICBlcnJvciBpcyByZXR1cm5lZCBmb3IgYW55IGNvbW1hbmQgdW50aWwgYSBuZXcgY2FyZCBpcyB0YXJnZXRlZC4KCgogd3JpdGUgICAgICAgOiB3cml0ZSBhIGNvbW1hbmQgdG8gdGhlIGFyYml0ZXIuIExpc3Qgb2YgY29tbWFuZHM6CgogIHRhcmdldCA8Y2FyZF9JRD4gICA6IHN3aXRjaCB0YXJnZXQgdG8gY2FyZCA8Y2FyZF9JRD4gKHNlZSBiZWxvdykKICBsb2NrIDxpb19zdGF0ZT4gICAgOiBhY3F1aXJlcyBsb2NrcyBvbiB0YXJnZXQgKCJub25lIiBpcyBhbiBpbnZhbGlkIGlvX3N0YXRlKQogIHRyeWxvY2sgPGlvX3N0YXRlPiA6IG5vbi1ibG9ja2luZyBhY3F1aXJlIGxvY2tzIG9uIHRhcmdldCAocmV0dXJucyBFQlVTWSBpZgogICAgICAgICAgICAgICAgICAgICAgIHVuc3VjY2Vzc2Z1bCkKICB1bmxvY2sgPGlvX3N0YXRlPiAgOiByZWxlYXNlIGxvY2tzIG9uIHRhcmdldAogIHVubG9jayBhbGwgICAgICAgICA6IHJlbGVhc2UgYWxsIGxvY2tzIG9uIHRhcmdldCBoZWxkIGJ5IHRoaXMgdXNlciAobm90CiAgICAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50ZWQgeWV0KQogIGRlY29kZXMgPGlvX3N0YXRlPiA6IHNldCB0aGUgbGVnYWN5IGRlY29kaW5nIGF0dHJpYnV0ZXMgZm9yIHRoZSBjYXJkCgogIHBvbGwgICAgICAgICAgICAgICA6IGV2ZW50IGlmIHNvbWV0aGluZyBjaGFuZ2VzIG9uIGFueSBjYXJkIChub3QganVzdCB0aGUKICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQpCgogIGNhcmRfSUQgaXMgb2YgdGhlIGZvcm0gIlBDSTpkb21haW46YnVzOmRldi5mbiIuIEl0IGNhbiBiZSBzZXQgdG8gImRlZmF1bHQiCiAgdG8gZ28gYmFjayB0byB0aGUgc3lzdGVtIGRlZmF1bHQgY2FyZCAoVE9ETzogbm90IGltcGxlbWVudGVkIHlldCkuIEN1cnJlbnRseSwKICBvbmx5IFBDSSBpcyBzdXBwb3J0ZWQgYXMgYSBwcmVmaXgsIGJ1dCB0aGUgdXNlcmxhbmQgQVBJIG1heSBzdXBwb3J0IG90aGVyIGJ1cwogIHR5cGVzIGluIHRoZSBmdXR1cmUsIGV2ZW4gaWYgdGhlIGN1cnJlbnQga2VybmVsIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QuCgpOb3RlIGFib3V0IGxvY2tzOgoKVGhlIGRyaXZlciBrZWVwcyB0cmFjayBvZiB3aGljaCB1c2VyIGhhcyB3aGljaCBsb2NrcyBvbiB3aGljaCBjYXJkLiBJdApzdXBwb3J0cyBzdGFja2luZywgbGlrZSB0aGUga2VybmVsIG9uZS4gVGhpcyBjb21wbGV4aWZpZXMgdGhlIGltcGxlbWVudGF0aW9uCmEgYml0LCBidXQgbWFrZXMgdGhlIGFyYml0ZXIgbW9yZSB0b2xlcmFudCB0byB1c2VyIHNwYWNlIHByb2JsZW1zIGFuZCBhYmxlCnRvIHByb3Blcmx5IGNsZWFudXAgaW4gYWxsIGNhc2VzIHdoZW4gYSBwcm9jZXNzIGRpZXMuCkN1cnJlbnRseSwgYSBtYXggb2YgMTYgY2FyZHMgY2FuIGhhdmUgbG9ja3Mgc2ltdWx0YW5lb3VzbHkgaXNzdWVkIGZyb20KdXNlciBzcGFjZSBmb3IgYSBnaXZlbiB1c2VyIChmaWxlIGRlc2NyaXB0b3IgaW5zdGFuY2UpIG9mIHRoZSBhcmJpdGVyLgoKSW4gdGhlIGNhc2Ugb2YgZGV2aWNlcyBob3Qte3VuLH1wbHVnZ2VkLCB0aGVyZSBpcyBhIGhvb2sgLSBwY2lfbm90aWZ5KCkgLSB0bwpub3RpZnkgdGhlbSBiZWluZyBhZGRlZC9yZW1vdmVkIGluIHRoZSBzeXN0ZW0gYW5kIGF1dG9tYXRpY2FsbHkgYWRkZWQvcmVtb3ZlZAppbiB0aGUgYXJiaXRlci4KClRoZXJlJ3MgYWxzbyBhIGluLWtlcm5lbCBBUEkgb2YgdGhlIGFyYml0ZXIgaW4gdGhlIGNhc2Ugb2YgRFJNLCB2Z2Fjb24gYW5kCm90aGVycyB3aGljaCBtYXkgdXNlIHRoZSBhcmJpdGVyLgoKCkkuMiBsaWJwY2lhY2Nlc3MKLS0tLS0tLS0tLS0tLS0tLQoKVG8gdXNlIHRoZSB2Z2EgYXJiaXRlciBjaGFyIGRldmljZSBpdCB3YXMgaW1wbGVtZW50ZWQgYW4gQVBJIGluc2lkZSB0aGUKbGlicGNpYWNjZXNzIGxpYnJhcnkuIE9uZSBmaWVsZCB3YXMgYWRkZWQgdG8gc3RydWN0IHBjaV9kZXZpY2UgKGVhY2ggZGV2aWNlCm9uIHRoZSBzeXN0ZW0pOgoKICAgIC8qIHRoZSB0eXBlIG9mIHJlc291cmNlIGRlY29kZWQgYnkgdGhlIGRldmljZSAqLwogICAgaW50IHZnYWFyYl9yc3JjOwoKQmVzaWRlcyBpdCwgaW4gcGNpX3N5c3RlbSB3ZXJlIGFkZGVkOgoKICAgIGludCB2Z2FhcmJfZmQ7CiAgICBpbnQgdmdhX2NvdW50OwogICAgc3RydWN0IHBjaV9kZXZpY2UgKnZnYV90YXJnZXQ7CiAgICBzdHJ1Y3QgcGNpX2RldmljZSAqdmdhX2RlZmF1bHRfZGV2OwoKClRoZSB2Z2FfY291bnQgaXMgdXN1YWxseSBuZWVkIHRvIGtlZXAgaW5mb3JtZWQgaG93IG1hbnkgY2FyZHMgYXJlIGJlaW5nCmFyYml0cmF0ZWQsIHNvIGZvciBpbnN0YW5jZSBpZiB0aGVyZSdzIG9ubHkgb25lIHRoZW4gaXQgY2FuIHRvdGFsbHkgZXNjYXBlIHRoZQpzY2hlbWUuCgoKVGhlc2UgZnVuY3Rpb25zIGJlbG93IGFjcXVpcmUgVkdBIHJlc291cmNlcyBmb3IgdGhlIGdpdmVuIGNhcmQgYW5kIG1hcmsgdGhvc2UKcmVzb3VyY2VzIGFzIGxvY2tlZC4gSWYgdGhlIHJlc291cmNlcyByZXF1ZXN0ZWQgYXJlICJub3JtYWwiIChhbmQgbm90IGxlZ2FjeSkKcmVzb3VyY2VzLCB0aGUgYXJiaXRlciB3aWxsIGZpcnN0IGNoZWNrIHdoZXRoZXIgdGhlIGNhcmQgaXMgZG9pbmcgbGVnYWN5CmRlY29kaW5nIGZvciB0aGF0IHR5cGUgb2YgcmVzb3VyY2UuIElmIHllcywgdGhlIGxvY2sgaXMgImNvbnZlcnRlZCIgaW50byBhCmxlZ2FjeSByZXNvdXJjZSBsb2NrLiBUaGUgYXJiaXRlciB3aWxsIGZpcnN0IGxvb2sgZm9yIGFsbCBWR0EgY2FyZHMgdGhhdAptaWdodCBjb25mbGljdCBhbmQgZGlzYWJsZSB0aGVpciBJT3MgYW5kL29yIE1lbW9yeSBhY2Nlc3MsIGluY2x1ZGluZyBWR0EKZm9yd2FyZGluZyBvbiBQMlAgYnJpZGdlcyBpZiBuZWNlc3NhcnksIHNvIHRoYXQgdGhlIHJlcXVlc3RlZCByZXNvdXJjZXMgY2FuCmJlIHVzZWQuIFRoZW4sIHRoZSBjYXJkIGlzIG1hcmtlZCBhcyBsb2NraW5nIHRoZXNlIHJlc291cmNlcyBhbmQgdGhlIElPIGFuZC9vcgpNZW1vcnkgYWNjZXNzIGlzIGVuYWJsZWQgb24gdGhlIGNhcmQgKGluY2x1ZGluZyBWR0EgZm9yd2FyZGluZyBvbiBwYXJlbnQKUDJQIGJyaWRnZXMgaWYgYW55KS4gSW4gdGhlIGNhc2Ugb2YgdmdhX2FyYl9sb2NrKCksIHRoZSBmdW5jdGlvbiB3aWxsIGJsb2NrCmlmIHNvbWUgY29uZmxpY3RpbmcgY2FyZCBpcyBhbHJlYWR5IGxvY2tpbmcgb25lIG9mIHRoZSByZXF1aXJlZCByZXNvdXJjZXMgKG9yCmFueSByZXNvdXJjZSBvbiBhIGRpZmZlcmVudCBidXMgc2VnbWVudCwgc2luY2UgUDJQIGJyaWRnZXMgZG9uJ3QgZGlmZmVyZW50aWF0ZQpWR0EgbWVtb3J5IGFuZCBJTyBhZmFpaykuIElmIHRoZSBjYXJkIGFscmVhZHkgb3ducyB0aGUgcmVzb3VyY2VzLCB0aGUgZnVuY3Rpb24Kc3VjY2VlZHMuICB2Z2FfYXJiX3RyeWxvY2soKSB3aWxsIHJldHVybiAoLUVCVVNZKSBpbnN0ZWFkIG9mIGJsb2NraW5nLiBOZXN0ZWQKY2FsbHMgYXJlIHN1cHBvcnRlZCAoYSBwZXItcmVzb3VyY2UgY291bnRlciBpcyBtYWludGFpbmVkKS4KCgpTZXQgdGhlIHRhcmdldCBkZXZpY2Ugb2YgdGhpcyBjbGllbnQuCiAgICBpbnQgIHBjaV9kZXZpY2VfdmdhYXJiX3NldF90YXJnZXQgICAoc3RydWN0IHBjaV9kZXZpY2UgKmRldik7CgoKRm9yIGluc3RhbmNlLCBpbiB4ODYgaWYgdHdvIGRldmljZXMgb24gdGhlIHNhbWUgYnVzIHdhbnQgdG8gbG9jayBkaWZmZXJlbnQKcmVzb3VyY2VzLCBib3RoIHdpbGwgc3VjY2VlZCAobG9jaykuIElmIGRldmljZXMgYXJlIGluIGRpZmZlcmVudCBidXNlcyBhbmQKdHJ5aW5nIHRvIGxvY2sgZGlmZmVyZW50IHJlc291cmNlcywgb25seSB0aGUgZmlyc3Qgd2hvIHRyaWVkIHN1Y2NlZWRzLgogICAgaW50ICBwY2lfZGV2aWNlX3ZnYWFyYl9sb2NrICAgICAgICAgKHZvaWQpOwogICAgaW50ICBwY2lfZGV2aWNlX3ZnYWFyYl90cnlsb2NrICAgICAgKHZvaWQpOwoKVW5sb2NrIHJlc291cmNlcyBvZiBkZXZpY2UuCiAgICBpbnQgIHBjaV9kZXZpY2VfdmdhYXJiX3VubG9jayAgICAgICAodm9pZCk7CgpJbmRpY2F0ZXMgdG8gdGhlIGFyYml0ZXIgaWYgdGhlIGNhcmQgZGVjb2RlcyBsZWdhY3kgVkdBIElPcywgbGVnYWN5IFZHQQpNZW1vcnksIGJvdGgsIG9yIG5vbmUuIEFsbCBjYXJkcyBkZWZhdWx0IHRvIGJvdGgsIHRoZSBjYXJkIGRyaXZlciAoZmJkZXYgZm9yCmV4YW1wbGUpIHNob3VsZCB0ZWxsIHRoZSBhcmJpdGVyIGlmIGl0IGhhcyBkaXNhYmxlZCBsZWdhY3kgZGVjb2RpbmcsIHNvIHRoZQpjYXJkIGNhbiBiZSBsZWZ0IG91dCBvZiB0aGUgYXJiaXRyYXRpb24gcHJvY2VzcyAoYW5kIGNhbiBiZSBzYWZlIHRvIHRha2UKaW50ZXJydXB0cyBhdCBhbnkgdGltZS4KICAgIGludCAgcGNpX2RldmljZV92Z2FhcmJfZGVjb2RlcyAgICAgIChpbnQgbmV3X3ZnYWFyYl9yc3JjKTsKCkNvbm5lY3RzIHRvIHRoZSBhcmJpdGVyIGRldmljZSwgYWxsb2NhdGVzIHRoZSBzdHJ1Y3QKICAgIGludCAgcGNpX2RldmljZV92Z2FhcmJfaW5pdCAgICAgICAgICh2b2lkKTsKCkNsb3NlIHRoZSBjb25uZWN0aW9uCiAgICB2b2lkIHBjaV9kZXZpY2VfdmdhYXJiX2ZpbmkgICAgICAgICAodm9pZCk7CgoKSS4zIHhmODZWR0FBcmJpdGVyIChYIHNlcnZlciBpbXBsZW1lbnRhdGlvbikKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCihUT0RPKQoKWCBzZXJ2ZXIgYmFzaWNhbGx5IHdyYXBzIGFsbCB0aGUgZnVuY3Rpb25zIHRoYXQgdG91Y2ggVkdBIHJlZ2lzdGVycyBzb21laG93LgoKCklJLiBDcmVkaXRzCj09PT09PT09PT09CgpCZW5qYW1pbiBIZXJyZW5zY2htaWR0IChJQk0/KSBzdGFydGVkIHRoaXMgd29yayB3aGVuIGhlIGRpc2N1c3NlZCBzdWNoIGRlc2lnbgp3aXRoIHRoZSBYb3JnIGNvbW11bml0eSBpbiAyMDA1IFsxLCAyXS4gSW4gdGhlIGVuZCBvZiAyMDA3LCBQYXVsbyBaYW5vbmkgYW5kClRpYWdvIFZpZ25hdHRpIChib3RoIG9mIEMzU0wvRmVkZXJhbCBVbml2ZXJzaXR5IG9mIFBhcmFu4SkgcHJvY2VlZGVkIGhpcyB3b3JrCmVuaGFuY2luZyB0aGUga2VybmVsIGNvZGUgdG8gYWRhcHQgYXMgYSBrZXJuZWwgbW9kdWxlIGFuZCBhbHNvIGRpZCB0aGUKaW1wbGVtZW50YXRpb24gb2YgdGhlIHVzZXIgc3BhY2Ugc2lkZSBbM10uIE5vdyAoMjAwOSkgVGlhZ28gVmlnbmF0dGkgYW5kIERhdmUKQWlybGllIGZpbmFsbHkgcHV0IHRoaXMgd29yayBpbiBzaGFwZSBhbmQgcXVldWVkIHRvIEplc3NlIEJhcm5lcycgUENJIHRyZWUuCgoKSUlJLiBSZWZlcmVuY2VzCj09PT09PT09PT09PT09CgpbMF0gaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcveHNlcnZlci9jb21taXQvP2lkPTRiNDI0NDhhMjM4OGQ0MGYyNTc3NzRmYmZmZGNjYWVhODdiZDAzNDcKWzFdIGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMveG9yZy8yMDA1LU1hcmNoLzAwNjY2My5odG1sClsyXSBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL3hvcmcvMjAwNS1NYXJjaC8wMDY3NDUuaHRtbApbM10gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy94b3JnLzIwMDctT2N0b2Jlci8wMjk1MDcuaHRtbAo=