ICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgIGNvbW1vbnMtZGJjcCAxLjMvMS40IFJFTEVBU0UgTk9URVMKClRoaXMgcmVsZWFzZSBpbmNsdWRlcyBuZXcgZmVhdHVyZXMgYXMgd2VsbCBhcyBidWcgZml4ZXMgYW5kIGVuaGFuY2VtZW50cy4gIApTb21lIGJ1ZyBmaXhlcyBjaGFuZ2Ugc2VtYW50aWNzIChlLmcuIGNvbm5lY3Rpb24gY2xvc2UgaXMgbm93IGlkZW1wb3RlbnQpLgpUaGUgMS4zIGFuZCAxLjQgcmVsZWFzZXMgb2YgREJDUCBhcmUgYnVpbHQgZnJvbSB0aGUgc2FtZSBzb3VyY2VzLgpWZXJzaW9uIDEuNCBzdXBwb3J0cyBKREJDIDQsIHNvIHJlcXVpcmVzIEpESyAxLjYuICBWZXJzaW9uIDEuMyBzdXBwb3J0cyBKREJDIDMKYW5kIGhhcyBKREsgMS40IGFzIGl0cyBtaW5pbXVtIEpESyByZXF1aXJlbWVudC4gIE90aGVyIHRoYW4gc3VwcG9ydCBmb3IgdGhlIAphZGRlZCBtZXRob2RzIGluIEpEQkMgNCwgdGhlcmUgaXMgbm90aGluZyBuZXcgb3IgZGlmZmVyZW50IGluIERCQ1AgMS40IHZzLiBEQkNQIDEuMy4KQXBwbGljYXRpb25zIHJ1bm5pbmcgdW5kZXIgSkRLIDEuNC0xLjUgbXVzdCB1c2UgREJDUCAxLjMuICBBcHBsaWNhdGlvbnMgcnVubmluZwp1bmRlciBKREsgMS42IG1heSB1c2UgREJDUCAxLjQuCgpDaGFuZ2VzIHNpbmNlIERCQ1AgMS4yLjIgaW5jbHVkZToKCk5ldyBmZWF0dXJlczoKbyAgREJDUC0yMDQ6ICBNYWRlIFBvb2xpbmdDb25uZWN0aW9uIHBvb2wgQ2FsbGFibGVTdGF0ZW1lbnRzLiBXaGVuIEJhc2ljRGF0YVNvdXJjZSdzIAogICAgICAgIHBvb2xQcmVwYXJlZFN0YXRlbWVudHMgcHJvcGVydHkgaXMgdHJ1ZSwgQ2FsbGFibGVTdGF0ZW1lbnRzIGFyZSBub3cKICAgICAgICBwb29sZWQgYWxvbmcgd2l0aCBQcmVwYXJlZFN0YXRlbWVudHMuIFRoZSBtYXhPcGVuUHJlcGFyZWRTdGF0ZW1lbnRzCiAgICAgICAgcHJvcGVydHkgbGltaXRzIHRoZSBjb21iaW5lZCBudW1iZXIgb2YgQ2FsbGFibGUgYW5kIFByZXBhcmVkIHN0YXRlbWVudHMKICAgICAgICB0aGF0IGNhbiBiZSBpbiB1c2UgYXQgYSBnaXZlbiB0aW1lLiBUaGFua3MgdG8gV2VpIENoZW4uIApvICBEQkNQLTIyNjogIEFkZGVkIGEgdmFsaWRhdGlvblF1ZXJ5VGltZW91dCBjb25maWd1cmF0aW9uIHBhcmFtZXRlciB0byBCYXNpY0RhdGFTb3VyY2UKICAgICAgICBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGEgdGltZW91dCB2YWx1ZSAoaW4gc2Vjb25kcykgZm9yIGNvbm5lY3Rpb24KICAgICAgICB2YWxpZGF0aW9uIHF1ZXJpZXMuIApvICBEQkNQLTE3NTogIEFkZGVkIGEgY29ubmVjdGlvbkluaXRTcWxzIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyIHRvIEJhc2ljRGF0YVNvdXJjZQogICAgICAgIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYSBjb2xsZWN0aW9uIG9mIFNRTCBzdGF0ZW1lbnRzIHRvIGV4ZWN1dGUKICAgICAgICBvbmUgdGltZSB3aGVuIGEgcGh5c2ljYWwgZGF0YWJhc2UgY29ubmVjdGlvbiBpcyBmaXJzdCBvcGVuZWQuIFRoYW5rcyB0byBKaXJpIE1lbGljaG5hIGFuZCBKZXJvbWUgTGFjb3N0ZS4gCm8gIERCQ1AtMjI4OiAgQWRkZWQgc3VwcG9ydCBmb3IgcG9vbGluZyBtYW5hZ2VkIGNvbm5lY3Rpb25zLiBUaGFua3MgdG8gRGFpbiBTdW5kc3Ryb20uIApvICBEQkNQLTIzMDogIEFkZGVkIEJhc2ljTWFuYWdlZERhdGFTb3VyY2UsIGV4dGVuZGluZyBCYXNpY0RhdGFTb3VyY2UuCiAgICAgICAgQWxzbyBpbXByb3ZlZCBleHRlbnNpYmlsaXR5IG9mIEJhc2ljRGF0YVNvdXJjZSBieSBlbmNhcHN1bGF0aW5nCiAgICAgICAgbWV0aG9kcyB0byBjcmVhdGUgb2JqZWN0IHBvb2wsIGNvbm5lY3Rpb24gZmFjdG9yeSBhbmQgZGF0YXNvdXJjZQogICAgICAgIGluc3RhbmNlIHByZXZpb3VzbHkgZW1iZWRkZWQgaW4gY3JlYXRlRGF0YVNvdXJjZS4gVGhhbmtzIHRvIERhaW4gU3VuZHN0cm9tLiAKCkZpeGVkIEJ1Z3M6Cm8gIERCQ1AtMzAzOiAgRW5zdXJlIFN0YXRlbWVudC5nZXRHZW5lcmF0ZWRLZXlzKCkgd29ya3MgY29ycmVjdGx5IHdpdGggdGhlIENQRFMKICAgICAgICBhZGFwdGVyLiBUaGFua3MgdG8gRGF2ZSBPeGxleS4gCm8gIERCQ1AtMzAyOiAgUmVtb3ZlZCBpbmNvcnJlY3RseSBhZHZlcnRpc2VkIENsYXNzTm90Rm91bmRFeGNlcHRpb24gZnJvbQogICAgICAgIEpPQ0xDb250ZW50SGFuZGxlci5Db25zdHJ1Y3RvckRldGFpbHMuY3JlYXRlT2JqZWN0KCkuIFRoYW5rcyB0byBTZWJhc3RpYW4gQmF6bGV5LiAKbyAgREJDUC04OiAgSGFuZGxlIHVzZXIgcGFzc3dvcmQgY2hhbmdlcyBmb3IgSW5zdGFuY2VLZXlEYXRhU291cmNlcy4gCm8gIERCQ1AtMjk0OiAgQWRkZWQgUG9vbGFibGVNYW5hZ2VkQ29ubmVjdGlvbiBhbmQgUG9vbGFibGVNYW5hZ2VkQ29ubmVjdGlvbkZhY3Rvcnkgc28gdGhhdAogICAgICAgIHBvb2xlZCBtYW5hZ2VkIGNvbm5lY3Rpb25zIGNhbiB1bnJlZ2lzdGVyIHRoZW1zZWx2ZXMgZnJvbSB0cmFuc2FjdGlvbiByZWdpc3RyaWVzLAogICAgICAgIGF2b2lkaW5nIHJlc291cmNlIGxlYWtzLiBUaGFua3MgdG8gUGhpbGlwcGUgTW91YXdhZC4gCm8gIFBvb2xhYmxlQ29ubmVjdGlvbkZhY3RvcnkubWFrZU9iamVjdCgpIGlzIG5vIGxvbmdlciBzeW5jaHJvbml6ZWQuIFRoaXMKICAgICAgICBwcm92aWRlcyBpbXByb3ZlZCByZXNwb25zZSB0aW1lcyB3aGVuIGxvYWQgc3Bpa2VzIGF0IHRoZSBjb3N0IG9mIGEKICAgICAgICBmYXN0ZXIgcmlzZSBpbiBkYXRhYmFzZSBzZXJ2ZXIgbG9hZC4gVGhpcyBjaGFuZ2Ugd2FzIG1hZGUgYXMgYSBwYXJ0aWFsCiAgICAgICAgZml4IGZvciBEQkNQLTIxMiBhbHRob3VnaCBpdCBkb2VzIG5vdCBmdWxseSBhZGRyZXNzIHRoYXQgaXNzdWUuIApvICBEQkNQLTI0MjogIFJldmVydGVkIERlbGVnYXRpbmdDb25uZWN0aW9uIGNsb3NlIHRvIDEuMi4yIHZlcnNpb24gdG8gZW5zdXJlCiAgICAgICAgb3BlbiBzdGF0ZW1lbnRzIGFyZSBjbG9zZWQgYmVmb3JlIHRoZSB1bmRlcmx5aW5nIGNvbm5lY3Rpb24gaXMgY2xvc2VkLiAKbyAgQWRkIHNvbWUgdGVzdCBjYXNlcyB0aGF0IHdlcmUgbWlzc2luZyBmcm9tIHRoZSBUZXN0QWxsIHRlc3Qgc3VpdGUuIApvICBEQkNQLTIzNTogIFJlZmFjdG9yIERlbGVnYXRpbmdDb25uZWN0aW9uIGFuZCBNYW5hZ2VkQ29ubmVjdGlvbiBlbmFibGUgb3ZlcnJpZGRlbgogICAgICAgIGVxdWFscygpIGFuZCBoYXNoY29kZSgpIHRvIHdvcmsgY29ycmVjdGx5LiAKbyAgREJDUC0yMTU6ICBNb2RpZmllZCBCYXNpY0RhdGFTb3VyY2VGYWN0b3J5IHRvIGNvbXBsZXRlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBwb29sCiAgICAgICAgYnkgY3JlYXRpbmcgaW5pdGlhbFNpemUgY29ubmVjdGlvbnMgcmF0aGVyIHRoYW4gbGVhdmluZyB0aGlzIHRvIGxhenkKICAgICAgICBpbml0aWFsaXphdGlvbiB3aGVuIHRoZSBwb29sIGlzIHVzZWQuIApvICBEQkNQLTI1MzogIEVsaW1pbmF0ZWQgbWFza2VkIF9zdG10IGZpZWxkIGluIGRlc2NlbmRlbnRzIG9mIERlbGVnYXRpbmdTdGF0ZW1lbnQuIApvICBEQkNQLTE5MTogIE1vZGlmaWVkIERCQ1Agc291cmNlcyB0byBzdXBwb3J0IGNvbXBpbGF0aW9uIHVuZGVyIEpESyAxLjQtMS42CiAgICAgICAgdXNpbmcgQW50IGZsYWdzIHRvIGRvIGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uLiBUaGFua3MgdG8gTWljaGFlbCBIZXVlciBhbmQgSi4gRGF2aWQgQmV1dGVsLiAKbyAgREJDUC0yNzI6ICBBZGRlZCBhIHN0YXRpYyBpbml0aWFsaXplciB0byBCYXNpY0RhdGFzb3VyY2UgdGhhdCBjYWxscwogICAgICAgIERyaXZlck1hbmFnZXIuZ2V0RHJpdmVycygpIHRvIGZvcmNlIGluaXRpYWxpemF0aW9uIGJlZm9yZSB3ZSBldmVyIGRvCiAgICAgICAgYW55dGhpbmcgdGhhdCBtaWdodCB1c2UgQ2xhc3MuZm9yTmFtZSgpIHRvIGxvYWQgKGFuZCByZWdpc3RlcikgYSBKREJDCiAgICAgICAgZHJpdmVyLiAKbyAgREJDUC00OiAgRWxpbWluYXRlZCBkaXJlY3QgU3lzdGVtLm91dCBjYWxscyBpbiBBYmFuZG9uZWRUcmFjZS4gCm8gIERCQ1AtMjY0OiAgTW9kaWZpZWQgRGVsZWdhdGluZ1N0YXRtZW50IGNsb3NlIHRvIGNsZWFyIG9wZW4gYmF0Y2hlcy4gCm8gIERCQ1AtMjU1OiAgRWxpbWluYXRlZCB1bnVzZWQgcHJpdmF0ZSAicGFyZW50IiBmaWVsZCBpbiBBYmFuZG9uZWRUcmFjZS4gCm8gIERCQ1AtMjczOiAgRml4ZWQgZXJyb3JzIGhhbmRsaW5nIGJvb2xlYW4tdmFsdWVkIFJlZmVyZW5jZSBwcm9wZXJ0aWVzIGluIAogICAgICAgIEluc3RhbmNlS2V5T2JqZWN0RmFjdG9yeSwgRHJpdmVyQWRhcHRlckNQRFMgdGhhdCB3ZXJlIGNhdXNpbmcgCiAgICAgICAgdGVzdE9uQm9ycm93IGFuZCBwb29sUHJlcGFyZWRTdGF0ZW1lbnRzIHByb3BlcnRpZXMgdG8gYmUgaW5jb3JyZWN0bHkKICAgICAgICBzZXQgd2hlbiBjcmVhdGluZyBvYmplY3RzIGZyb20gamF2YXgubmFtaW5nLlJlZmVyZW5jZSBpbnN0YW5jZXMuIFRoYW5rcyB0byBNYXJrIExpbi4gCm8gIERCQ1AtMjcxOiAgTWFkZSBwcml2YXRlIGluc3RhbmNlIGZpZWxkcyBvZiBBYmFuZG9uZWRUcmFjZSB2b2xhdGlsZSAocGFyZW50LAogICAgICAgIGNyZWF0ZWRCeSwgbGFzdFVzZWQsIGNyZWF0ZWRUaW1lKSBvciBmaW5hbCAodHJhY2UpLiBUaGFua3MgdG8gU2ViYXN0aWFuIEJhemxleS4gCm8gIERCQ1AtMjcwOiAgTmFycm93ZWQgc3luY2hyb25pemF0aW9uIGluIEFiYW5kb25lZFRyYWNlIHRvIHJlc29sdmUgYW4gRXZpY3RvciBkZWFkbG9jay4gVGhhbmtzIHRvIEZpbGlwIEhhbmlrLiAKbyAgREJDUC0yMTg6ICBDb3JyZWN0ZWQgSmF2YWRvYyB0byBzdGF0ZSB0aGF0IGdldExvZ2luVGltZW91dCBhbmQgc2V0TG9naW5UaW1lb3V0IGFyZQogICAgICAgIE5PVCBzdXBwb3J0ZWQgYnkgQmFzaWNEYXRhU291cmNlLiAKbyAgREJDUC0yMjE6ICBCYXNpY0RhdGFTb3VyY2UuY2xvc2UoKSBub3cgcGVybWFuZW50bHkgbWFya3MgdGhlIGRhdGEgc291cmNlIGFzIGNsb3NlZCwKICAgICAgICBhbmQgbm8gbmV3IGNvbm5lY3Rpb25zIGNhbiBiZSBvYnRhaW5lZCBmcm9tIHRoZSBkYXRhIHNvdXJjZS4gQXQgY2xvc2UgYWxsCiAgICAgICAgaWRsZSBjb25uZWN0aW9ucyBhcmUgZGVzdHJveWVkIGFuZCB0aGUgbWV0aG9kIHJldHVybnMuICBBcyB0aGUgcmVtYWluaW5nCiAgICAgICAgYWN0aXZlIGNvbm5lY3Rpb25zIGFyZSBjbG9zZWQsIHRoZXkgYXJlIGRlc3Ryb3llZC4gCm8gIERCQ1AtMjQxOiAgRWxpbWluYXRlZCBwb3RlbnRpYWwgc291cmNlcyBvZiBOdWxsUG9pbnRlckV4Y2VwdGlvbnMgaW4gCiAgICAgICAgUG9vbGluZ0Nvbm5lY3Rpb24uIApvICBEQkNQLTIxNjogIEltcHJvdmVkIGVycm9yIHJlY292ZXJ5IGFuZCBsaXN0ZW5lciBjbGVhbnVwIGluIAogICAgICAgIEtleWVkQ1BEU0Nvbm5lY3Rpb25GYWN0b3J5LiBTdWJzdGl0dXRlZCBjYWxscyB0byBkZXN0cm95T2JqZWN0IHdpdGgKICAgICAgICAgX3Bvb2wuaW52YWxpZGF0ZU9iamVjdCBvbiBlcnJvciB0byBlbnN1cmUgcG9vbCBhY3RpdmUgY291bnQgaXMKICAgICAgICBkZWNyZW1lbnRlZCBvbiBlcnJvciBldmVudHMuIEVuc3VyZWQgdGhhdCBldmVudHMgZnJvbSBjbG9zZWQgb3IgaW52YWxpZAogICAgICAgIGNvbm5lY3Rpb25zIGFyZSBpZ25vcmVkIGFuZCBsaXN0ZW5lcnMgYXJlIGNsZWFuZWQgdXAuIFRoYW5rcyB0byBNYXJjb3MgU2Fuei4gCm8gIERCQ1AtMjQ1OiAgRml4ZWQgZXJyb3IgaW4gU2hhcmVkUG9vbERhdGFTb3VyY2UgY2F1c2luZyBpbmNvcnJlY3QgcGFzc3dvcmRzIHRvIGJlIAogICAgICAgIHN0b3JlZCB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMuIFRoYW5rcyB0byBNaWNoYWVsIERyZWNoc2VsLiAKbyAgREJDUC0yMzc6ICBBZGRlZCBleGNlcHRpb24gaGFuZGxlciB0byBlbnN1cmUgdGhhdCBQb29sZWRDb25uZWN0aW9ucyBhcmUgbm90CiAgICAgICAgb3JwaGFuZWQgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzIGluIHNldFVwRGVmYXVsdHMgb3IgY2xlYXJXYXJuaW5ncyBpbiAKICAgICAgICBJbnRhbmNlS2V5RGF0YVNvdXJjZS5nZXRDb25uZWN0aW9uLiBUaGFua3MgdG8gT2xpdmVyIE1hdHouIApvICBEQkNQLTI1MjogIE1hZGUgZ2V0UG9vbCBzeW5jaHJvbml6ZWQgaW4gUG9vbGFibGVDb25uZWN0aW9uRmFjdG9yeS4KICAgICAgICBGaXhlcyBpbmNvbnNpc3RlbnQgc3luY2hyb25pemF0aW9uIGFjY2Vzc2luZyBfcG9vbC4gVGhhbmtzIHRvIEZpbmRCdWdzLiAKbyAgREJDUC0yNTI6ICBGaXhlZCBpbmNvbnNpc3RlbnQgc3luY2hyb25pemF0aW9uIG9uIF9yb2xsYmFja0FmdGVyVmFsaWRhdGlvbiwKICAgICAgICBfdmFsaWRhdGlvblF1ZXJ5IGFuZCBfcG9vbCBpbiBDUERTQ29ubmVjdGlvbkZhY3RvcnkgYW5kIAogICAgICAgIEtleWVkQ1BEU0Nvbm5lY3Rpb25GYWN0b3J5IGJ5IG1ha2luZyB0aGUgZmlyc3QgdHdvIHZvbGF0aWxlIGFuZCBtYWtpbmcKICAgICAgICBib3RoIGdldHRlciBhbmQgc2V0dGVyIGZvciBfcG9vbCBzeW5jaHJvbml6ZWQuIFRoYW5rcyB0byBGaW5kQnVncy4gCgpDaGFuZ2VzOgpvICBEQkNQLTMxMjogIENsYXJpZmllZCBqYXZhZG9jIGZvciBCYXNpY0RhdGFTb3VyY2UgY2xvc2UoKSBtZXRob2QuIFRoYW5rcyB0byBHbGVuIE1henphLiAKbyAgREJDUC0zMDU6ICBVc2UgYW4gQVBJIHNwZWNpZmljIGV4Y2VwdGlvbiBmb3IgbG9nZ2luZyBhYmFuZG9uZWQgb2JqZWN0cyB0byBtYWtlCiAgICAgICAgc2Nhbm5pbmcgdGhlIGxvZ3MgZm9yIHRoZXNlIGV4Y2VwdGlvbnMgc2ltcGxlciBhbmQgdG8gcHJvdmlkZSBhIGJldHRlcgogICAgICAgIG1lc3NhZ2UgdGhhdCBpbmNsdWRlcyB0aGUgY3JlYXRpb24gdGltZSBvZiB0aGUgYWJhbmRvbmVkIG9iamVjdC4gVGhhbmtzIHRvIENocmlzdG9waGVyIFNjaHVsdHouIApvICBEQkNQLTIwMzogIE1ha2UgdGhlIGNsYXNzIGxvYWRlciB1c2VkIHRvIGxvYWQgdGhlIEpEQkMgZHJpdmVyIGNvbmZpZ3VyYWJsZSBmb3IgdGhlCiAgICAgICAgQmFzaWNEYXRhc291cmNlLiBUaGFua3MgdG8gTWFyayBHcmFuZC4gCm8gIERCQ1AtMjg5OiAgTWFkZSBYQURhdGFTb3VyY2UgY29uZmlndXJhYmxlIGluIEJhc2ljTWFuYWdlZERhdGFTb3VyY2UuIFRoYW5rcyB0byBNYXJjIEthbm5lZ2ll32VyLiAKbyAgREJDUC0yNzY6ICBBZGRlZCBjb25uZWN0aW9uUHJvcGVydGllcyBwcm9wZXJ0eSB0byBEcml2ZXJBZGFwdGVyQ1BEUy4gCm8gIERCQ1AtMjY1OiAgQWRkIGEgRGVsZWdhdGluZ0RhdGFiYXNlTWV0YURhdGEgdG8gdHJhY2sgUmVzdWx0U2V0cyByZXR1cm5lZCBmcm9tCiAgICAgICAgRGF0YWJhc2VNZXRhRGF0YSBvYmplY3RzLiAKbyAgREJDUC0yMTE6ICBBZGRlZCBNYXZlbiAyIHBvbS54bWwuIFJlbW92ZWQgYSBibG9jayBvZiBjb2RlIGZyb20gVGVzdEpPQ0xlZCB0aGF0IHNldAogICAgICAgIHRoZSBYZXJjZXMgcGFyc2VyIG1hbnVhbGx5LiBUaGlzIHdhcyB0byBzdXBwb3J0IGVhcmx5IEpES3MuIFRoZSAxLjMKICAgICAgICB2ZXJzaW9uIG9mIERCQ1AgcmVxdWlyZXMgSkRLIDEuNCsuIApvICBEQkNQLTIzMzogIENoYW5nZWQgYmVoYXZpb3IgdG8gYWxsb3cgQ29ubmVjdGlvbiwgU3RhdGVtZW50LCBQcmVwYXJlZFN0YXRlbWVudCwKICAgICAgICBDYWxsYWJsZVN0YXRlbWVudCBhbmQgUmVzdWx0U2V0IHRvIGJlIGNsb3NlZCBtdWx0aXBsZSB0aW1lcy4gVGhlIGZpcnN0CiAgICAgICAgdGltZSBjbG9zZSBpcyBjYWxsZWQgdGhlIHJlc291cmNlIGlzIGNsb3NlZCBhbmQgYW55IHN1YnNlcXVlbnQgY2FsbHMKICAgICAgICBoYXZlIG5vIGVmZmVjdC4gVGhpcyBiZWhhdmlvciBpcyByZXF1aXJlZCBhcyBwZXIgdGhlIEphdmFEb2NzIGZvciB0aGVzZQogICAgICAgIGNsYXNzZXMuIEFsc28gYWRkZWQgdGVzdHMgZm9yIGNsb3NpbmcgYWxsIHR5cGVzIG11bHRpcGxlIHRpbWVzIGFuZAogICAgICAgIHVwZGF0ZWQgYW55IHRlc3RzIHRoYXQgaW5jb3JyZWN0bHkgYXNzZXJ0IHRoYXQgYSByZXNvdXJjZSBjYW4gbm90IGJlCiAgICAgICAgY2xvc2VkIG1vcmUgdGhlbiBvbmNlLiAgRml4ZXMgREJDUC0zLCBEQkNQLTUsIERCQ1AtMjMgYW5kIERCQ1AtMTM0LiBUaGFua3MgdG8gRGFpbiBTdW5kc3Ryb20uIApvICBEQkNQLTExOiAgTW9kaWZpZWQgUG9vbGluZ0RhdGFTb3VyY2UsIFBvb2xpbmdEcml2ZXIgYW5kIERlbGVnYXRpbmdTdGF0ZW1lbnQgdG8KICAgICAgICBhc3N1cmUgdGhhdCBhbGwgcmV0dXJuZWQgU3RhdGVtZW50cywgUHJlcGFyZWRTdGF0ZW1lbnRzLCAKICAgICAgICBDYWxsYWJsZVN0YXRlbWVudHMgYW5kIFJlc3VsdFNldHMgYXJlIHdyYXBwZWQgd2l0aCBhIGRlbGVnYXRpbmcgb2JqZWN0LAogICAgICAgIHdoaWNoIGFscmVhZHkgcHJvcGVybHkgaGFuZGxlIHRoZSBiYWNrIHBvaW50ZXJzIGZvciBDb25uZWN0aW9uIGFuZAogICAgICAgIFN0YXRlbWVudC4gIEFsc28gYWRkZWQgdGVzdHMgdG8gdG8gYXNzdXJlIHRoYXQgdGhlICpzYW1lKiBvYmplY3QgdXNlZCAKICAgICAgICB0byBjcmVhdGUgdGhlIHN0YXRlbWVudCBvciByZXN1bHQgc2V0IGlzIHJldHVybmVkICBmcm9tIGVpdGhlciAKICAgICAgICBnZXRDb25uZWN0aW9uKCkgb3IgZ2V0U3RhdGVtZW50KCkuIFRoYW5rcyB0byBEYWluIFN1bmRzdHJvbS4gCm8gIERCQ1AtMTQzOiAgU1FMTmVzdGVkRXhjZXB0aW9uIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVwbGFjZWQgaW4gREJDUCAxLjQgd2l0aAogICAgICAgIFNRTEV4Y2VwdGlvbiBhbmQgc3RhbmRhcmQgSmF2YSBleGNlcHRpb24gY2hhaW5pbmcuIAoKIApGb3IgY29tcGxldGUgaW5mb3JtYXRpb24gb24gY29tbW9ucy1kYmNwLCBpbmNsdWRpbmcgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byBzdWJtaXQgYnVnIHJlcG9ydHMsCnBhdGNoZXMsIG9yIHN1Z2dlc3Rpb25zIGZvciBpbXByb3ZlbWVudCwgc2VlIHRoZSBjb21tb25zLWRiY3Agd2Vic2l0ZToKCmh0dHA6Ly9jb21tb25zLmFwYWNoZS5vcmcvZGJjcC8KCgo=