IwojICAgUGFydHMgb2YgdGhlIGRldmVsb3BtZW50IGVmZm9ydCBmb3IgdGhpcyBwcm9qZWN0IGhhdmUgYmVlbgojICAgc3BvbnNvcmVkIGJ5IFNJRU1FTlMgQUcsIEF1c3RyaWEuIFRoYW5rcyB0byBTSUVNRU5TIGZvcgojICAgc3VwcG9ydGluZyBhbiBPcGVuIFNvdXJjZSBwcm9qZWN0IQojCiMKIyAgIFRoaXMgaXMgYXQgbGVhc3QgYSBwYXJ0aWFsIGNyZWRpdHMtZmlsZSBvZiBpbmRpdmlkdWFsIHBlb3BsZSB0aGF0CiMgICBoYXZlIGNvbnRyaWJ1dGVkIHRvIHRoZSBVLUJvb3QgcHJvamVjdC4gSXQgaXMgc29ydGVkIGJ5IG5hbWUgYW5kCiMgICBmb3JtYXR0ZWQgdG8gYWxsb3cgZWFzeSBncmVwcGluZyBhbmQgYmVhdXRpZmljYXRpb24gYnkgc2NyaXB0cy4KIyAgIFRoZSBmaWVsZHMgYXJlOiBuYW1lIChOKSwgZW1haWwgKEUpLCB3ZWItYWRkcmVzcyAoVyksIFBHUCBrZXkgSUQKIyAgIGFuZCBmaW5nZXJwcmludCAoUCksIGRlc2NyaXB0aW9uIChEKSwgYW5kIHNuYWlsLW1haWwgYWRkcmVzcyAoUykuCiMgICBUaGFua3MsCiMKIyAgICAgICAgICAgICAgICAgICAgICAgV29sZmdhbmcgRGVuawojLS0tLS0tLS0tLQoKTjogRHIuIEJydW5vIEFjaGF1ZXIKRTogYnJ1bm9AZXhldC1hZy5kZQpEOiBTdXBwb3J0IGZvciBOZXRCU0QgKGJvdGggYXMgaG9zdCBhbmQgdGFyZ2V0IHN5c3RlbSkKCk46IEd1aWxsYXVtZSBBbGV4YW5kcmUKRTogZ3VpbGxhdW1lLmFsZXhhbmRyZUBnZXNwYWMuY2gKRDogQWRkIFBDSVBQQzYgY29uZmlndXJhdGlvbgoKTjogU3dlbiBBbmRlcnNvbgpFOiBzYW5kQHBlcHBlcmNvbi5kZQpEOiBFUklDIFN1cHBvcnQKCk46IFBhbnRlbGlzIEFudG9uaW91CkU6IHBhbnRvQGludHJhY29tLmdyCkQ6IE5FVFZJQSAmIE5FVFBIT05FIGJvYXJkIHN1cHBvcnQsIEFSVE9TIHN1cHBvcnQuCgpOOiBQaWVycmUgQXViZXJ0CkU6IDxwLmF1YmVydEBzdGF1YmxpLmNvbT4KRDogU3VwcG9ydCBmb3IgUlBYQ2xhc3NpYyBib2FyZAoKTjogWXVsaSBCYXJjb2hlbgpFOiB5dWxpQGFyYWJlbGxhc3cuY29tCkQ6IFVuaWZpZWQgc3VwcG9ydCBmb3IgTW90b3JvbGEgTVBDODI2eEFEUy9NUEM4MjcyQURTL1BRMkZBRFMgYm9hcmRzLgpEOiBTdXBwb3J0IGZvciBaZXBoeXIgRW5naW5lZXJpbmcgWlBDLjE5MDAgYm9hcmQuCkQ6IFN1cHBvcnQgZm9yIEludGVycGhhc2UgaVNQQU4gYm9hcmRzLgpEOiBTdXBwb3J0IGZvciBBbmFsb2d1ZSZNaWNybyBBZGRlciBib2FyZHMuClc6IGh0dHA6Ly93d3cuYXJhYmVsbGFzdy5jb20KCk46IEplcnJ5IHZhbiBCYXJlbgpFOiA8dmFuYmFyZW5AY2lkZWFzLmNvbT4KRDogQmVkQnVnIHBvcnQgdG8gNjAzZSBjb3JlIChNUEM4Mnh4KS4gQ29kZSBmb3IgZW5oYW5jZWQgbWVtb3J5IHRlc3QuCgpOOiBQYXZlbCBCYXJ0dXNlawpFOiA8cGJhQHN5c2dvLmNvbT4KRDogUmVpc2VyZnMgc3VwcG9ydApXOiBodHRwOi8vd3d3LmVsaW5vcy5jb20KCk46IEFuZHJlIEJlYXVkaW4KRTogPGFuZHJlLmJlYXVkaW5AY29sdWJyaXMuY29tPgpEOiBQQ01DSUEsIEV0aGVybmV0LCBURlRQCgpOOiBKb24gQmVuZWRpa3Rzc29uCkU6IGpvbmJAbWFyZWwuaXMKRDogU3VwcG9ydCBmb3IgTWFyZWwgVjM3IGJvYXJkCgpOOiBSYXBoYWVsIEJvc3NlawpFOiByYXBoYWVsLmJvc3Nla0Bzb2x1dGlvbnM0bGludXguZGUKRDogOHh4cm9tLTAuMy4wCgpOOiBSaWNrIEJyb25zb24KRTogcmlja0BlZm4ub3JnCkQ6IEF0bWVsIEFUOTFSTTkyMDBESyBhbmQgTkFORCBzdXBwb3J0CgpOOiBEYXZpZCBCcm93bgpFOiBEQnJvd24wM0BoYXJyaXMuY29tCkQ6IEV4dGVuc2lvbnMgdG8gOHh4cm9tLTAuMy4wCgpOOiBPbGl2ZXIgQnJvd24KRTogb2Jyb3duQGFkdmVudG5ldHdvcmtzLmNvbQpEOiBQb3J0IHRvIHRoZSBndzgyNjAgYm9hcmQKCk46IEN1cnQgQnJ1bmUKRTogY3VydEBjdWN5LmNvbQpEOiBBZGRlZCBzdXBwb3J0IGZvciBTYW1zdW5nIFMzQzQ1MTBCIENQVSAoQVJNN3RkbWkgYmFzZWQgU29DKQpEOiBBZGRlZCBzdXBwb3J0IGZvciBFU1BELUluYy4gRVZCNDUxMCBCb2FyZApXOiBodHRwOi8vd3d3LmN1Y3kuY29tCgpOOiBKb25hdGhhbiBEZSBCcnV5bmUKRTogam9uYXRoYW4uZGVicnV5bmVAc2llbWVucy5hdGVhLmJlCkQ6IFBvcnQgdG8gU2llbWVucyBJQUQyMTAgYm9hcmQKCk46IEtlbiBDaG91CkU6IGtjaG91QGllZWUub3JnCkQ6IFN1cHBvcnQgZm9yIEEzMDAwIFNCQyBib2FyZAoKTjogQ29ubiBDbGFyawpFOiBjbGFya0Blc3RlZW0uY29tCkQ6IEVTVEVFTTE5MkUgc3VwcG9ydAoKTjogTWFnbnVzIERhbW0KRTogZGFtbUBvcGVuc291cmNlLnNlCkQ6IDh4eHJvbQoKTjogR2VvcmdlIEcuIERhdmlzCkU6IGdkYXZpc0BtdmlzdGEuY29tCkQ6IEJvYXJkIHBvcnRzIGZvciBBRFMgR3JhcGhpY3NDbGllbnQrIGFuZCBJbnRlbCBBc3NhYmV0CgpOOiBBcnVuIERoYXJhbmthcgpFOiBBRGhhcmFua2FyQEFUVEJJLkNvbQpEOiB0aHJlYWRzIC8gc2NoZWR1bGVyIGV4YW1wbGUgY29kZQoKTjogS+FyaSBEYXbt8HNzb24KRToga2RAZmxhZ2EuaXMKRDogRkxBR0EgRE0gU3VwcG9ydAoKTjogV29sZmdhbmcgRGVuawpFOiB3ZEBkZW54LmRlCkQ6IFUtQm9vdCBpbml0aWFsIHZlcnNpb24sIGNvbnRpbnVpbmcgbWFpbnRlbmFuY2UsIEFSTUJvb3QgbWVyZ2UKVzogaHR0cDovL3d3dy5kZW54LmRlCgpOOiBEYW4gQS4gRGlja2V5CkU6IGRkaWNrZXlAY2hhcnRlci5uZXQKRDogRkFEUyBTdXBwb3J0CgpOOiBKYW1lcyBGLiBEb3VnaGVydHkKRTogamZkQEdpZ2FiaXROZXR3b3Jrcy5DT00KRDogUG9ydCB0byB0aGUgTU9VU1NFIGJvYXJkCgpOOiBEYXZlIEVsbGlzCkU6IERHRUBzaXhuZXRpby5jb20KRDogRUVQUk9NIFNwZWVkdXAsIFNYTkk4NTVUIHBvcnQKCk46IFRob21hcyBFbHN0ZQpFOiBpbmZvQGVsc3RlLm9yZwpEOiBQb3J0IGZvciB0aGUgTW9kTkVUNTAgQm9hcmQsIE5FVCs1MCBDUFUgUG9ydApXOiBodHRwOi8vd3d3LmltbXMuZGUKCk46IERhbmllbCBFbmdzdHL2bQpFOiBkYW5pZWxAb21pY3Jvbi5zZQpEOiB4ODYgcG9ydCwgU3VwcG9ydCBmb3Igc2M1MjBfY2RwIGJvYXJkCgpOOiBEci4gV29sZmdhbmcgR3JhbmRlZ2dlcgpFOiB3Z0BkZW54LmRlCkQ6IFN1cHBvcnQgZm9yIEludGVycGhhc2UgNDUzOSBUMS9FMS9KMSBQTUMsIFBONjIsIENDTSwgU0NNIGJvYXJkcwpXOiB3d3cuZGVueC5kZQoKTjogUGV0ZXIgRmlndWxpCkU6IHBlcG9zaEBldGMuc2sKRDogU3VwcG9ydCBmb3IgV0VQIEVQMjUwIChQWEEpIGJvYXJkCgpOOiBUaG9tYXMgRnJpZWRlbgpFOiBUaG9tYXNGQGh5cGVyaW9uLWVudGVydGFpbm1lbnQuY29tCkQ6IFN1cHBvcnQgZm9yIEFtaWdhT25lCgpOOiBGcmFuayBHb3R0c2NobGluZwpFOiBmZ290dHNjaGxpbmdAZWx0ZWMuZGUKRDogU3VwcG9ydCBmb3IgRUxURUMgTUhQQy9CQUI3eHgvRUxQUEMgYm9hcmRzLCBjZmItY29uc29sZSwgaTgwNDIsIFNNSSBMeW54RU0KVzogd3d3LmVsdGVjLmRlCgpOOiBNYXJpdXMgR3JvZWdlcgpFOiBtZ3JvZWdlckBzeXNnby5kZQpEOiBNQlggU3VwcG9ydCwgYm9hcmQgc3BlY2lmaWMgZnVuY3Rpb24gaW50ZXJmYWNlLCBFU1QgU0JDODI2MCBzdXBwb3J0OyBpbml0aWFsIHN1cHBvcnQgZm9yIFN0cm9uZ0FSTSAoTEFSVCksIEFSTTcyMFRETUkgKGltcGxlbWVudGEgQTcpClc6IHd3dy5lbGlub3MuY29tCgpOOiBLaXJrIEhhZGVybGllCkU6IGtoYWRlcmxpZUB2aXZpZGltYWdlLmNvbQpEOiBBZGRlZCBURlRQIHRvIDh4eHJvbSAoLT4gMC4zLjEpCgpOOiBDaHJpcyBIYWxsaW5hbgpFOiBjbGhAbmV0MXBsdXMuY29tCkQ6IERIQ1AgU3VwcG9ydAoKTjogQW5uZS1Tb3BoaWUgSGFybm9pcwpFOiBBbm5lLVNvcGhpZS5IYXJub2lzQG5leHRyZWFtLmZyCkQ6IFBvcnQgdG8gV2FsbnV0NDA1IGJvYXJkCgpOOiBBbmRyZWFzIEhlcHBlbApFOiBhaGVwcGVsQHN5c2dvLmRlCkQ6IENQVSBTdXBwb3J0IGZvciBNUEMgNzV4OyBib2FyZCBzdXBwb3J0IGZvciBFbHRlYyBCQUI3NTAgW29ic29sZXRlIV0KCk46IEF1Z3VzdCBIb2VyYWVuZGwKRTogYXVndXN0LmhvZXJhbmRsQGdteC5hdApEOiBTdXBwb3J0IGZvciB0aGUgbG9nb2RsIGJvYXJkIChQWEEyeHgpCgpOOiBKb3NoIEh1YmVyCkU6IGh1YmVyQGFsdW0ud3BpLmVkdQpEOiBQb3J0IHRvIHRoZSBHYWxpbGVvIEV2YWx1YXRpb24gQm9hcmQsIGFuZCB0aGUgTVBDNzR4eCBjcHUgc2VyaWVzLgpXOiBodHRwOi8vd3d3Lm1jbHguY29tLwoKSDogU3R1YXJ0IEh1Z2hlcwpFOiBzdHVhcnRoQGxpbmVvLmNvbQpEOiBQb3J0IHRvIE1QQzgyNjBBRFMgYm9hcmQKCkg6IFJpY2ggSXJlbGFuZApFOiByLmlyZWxhbmRAY29tcHV0ZXIub3JnCkQ6IEZQR0EgZGV2aWNlIGNvbmZpZ3VyYXRpb24gZHJpdmVyCgpOOiBHYXJ5IEplbm5lam9obgpFOiBnYXJ5akBqZW5uZWpvaG4ub3JnLCBnakBkZW54LmRlCkQ6IFN1cHBvcnQgZm9yIFNhbXN1bmcgQVJNOTIwVCBTM0MyNDAwWCwgQVJNOTIwVCAiVFJBQiIKVzogd3d3LmRlbnguZGUKCk46IE11cnJheSBKZW5zZW4KRTogTXVycmF5LkplbnNlbkBjbXN0LmNzaXJvLmF1CkQ6IEluaXRpYWwgODI2MCBzdXBwb3J0OyBHREIgc3VwcG9ydApEOiBQb3J0IHRvIENvZ2VudCtIeW1vZCBib2FyZHM7IEh5bW9kIEJvYXJkIERhdGFiYXNlClc6IGh0dHA6Ly93d3cubXNhLmNtc3QuY3Npcm8uYXUvb3Vyc3RhZmYvTXVycmF5SmVuc2VuL21qai5odG1sCgpOOiBZb28uIEpvbmdob29uCkU6IHlvb3RoQGlwb25lLmNvLmtyCkQ6IEFkZGVkIHBvcnQgdG8gdGhlIFJQWGxpdGUgYm9hcmQKCk46IE1hcmsgSm9uYXMKRTogbWFyay5qb25hc0BmcmVlc2NhbGUuY29tCkQ6IFN1cHBvcnQgZm9yIEZyZWVzY2FsZSBUb3RhbDUyMDAgcGxhdGZvcm0KVzogaHR0cDovL3d3dy5tb2JpbGVndC5jb20vCgpOOiBTYW0gU29uZwpFOiBzYW1zb25nc2h1QHlhaG9vLmNvbS5jbgpEOiBQb3J0IHRvIHRoZSBSUFhsaXRlX0RXIGJvYXJkCgpOOiBCcmFkIEtlbXAKRTogQnJhZC5LZW1wQHNlcmFub2EuY29tCkQ6IFBvcnQgdG8gV2luZHJpdmVyIHBwbWM4MjYwIGJvYXJkCgpOOiBTYW5nbW9vbiBLaW0KRTogZG9nb2lsQGV0aW5zeXMuY29tCkQ6IFN1cHBvcnQgZm9yIGRlYnJpcyBib2FyZAoKTjogVGhvbWFzIEtvZWxsZXIKRTogdGtvZWxsZXJAZ214Lm5ldApEOiBQb3J0IHRvIE1vdG9yb2xhIFNhbmRwb2ludCAzIChNUEM4MjQwKQoKTjogUmFnaHUgS3Jpc2huYXByYXNhZApFOiBSYWdodS5LcmlzaG5hcHJhc2FkQGZjaS5jb20KRDogU3VwcG9ydCBmb3IgQWRkZXItSUkgTVBDODUyVCBldmFsdWF0aW9uIGJvYXJkClc6IGh0dHA6Ly93d3cuZm9yY2Vjb21wdXRlcnMuY29tCgpOOiBCZXJuaGFyZCBLdWhuCkU6IGJrdWhuQG1ldHJvd2Vya3MuY29tCkQgU3VwcG9ydCBmb3IgQ29sZGZpcmUgQ1BVOyBTdXBwb3J0IGZvciBNb3Rvcm9sYSBNNTI3MkMzIGFuZCBNNTI4MkVWQiBib2FyZHMKCk46IFByYWthc2ggS3VtYXIKRTogcHJha2FzaEBlbWJlZHguY29tCkQgIFN1cHBvcnQgZm9yIEludHJpbnN5YyBDRVJGIFBYQTI1MCBib2FyZC4KCk46IFRob21hcyBMYW5nZQpFOiB0aG9tYXNAY29yZWxhdHVzLnNlCkQ6IFN1cHBvcnQgZm9yIEdUSCBhbmQgZGJhdTF4MDAgYm9hcmRzOyBsb3RzIG9mIFBDTUNJQSBmaXhlcwoKTjogVGhlIExFT1ggdGVhbQpFOiB0ZWFtQGxlb3gub3JnCkQ6IFN1cHBvcnQgZm9yIExFT1ggYm9hcmRzLCBEUzE2NHggUlRDClc6IGh0dHA6Ly93d3cubGVveC5vcmcKCk46IFN0ZXBoYW4gTGluegpFOiBsaW56QGxpLXByby5uZXQKRDogU3VwcG9ydCBmb3IgTmlvcyBTdHJhdGl4IERldmVsb3BtZW50IEtpdCAoREstMVMxMCkKRDogU3VwcG9ydCBmb3IgU1NWIEFETlAvRVNDMSAoTmlvcyBDeWNsb25lKQpXOiBodHRwOi8vd3d3LmxpLXByby5uZXQKCk46IFJheW1vbmQgTG8KRTogbG9Acm91dGVmcmVlLmNvbQpEOiBTdXBwb3J0IGZvciBET1MgcGFydGl0aW9ucwoKTjogRGFuIE1hbGVrCkU6IGRhbkBuZXR4NC5jb20KRDogRkFEU1JPTSwgdGhlIGdyYW5kZmF0aGVyIG9mIGFsbCBvZiB0aGlzCgpOOiBBbmRyZWEgImxsYW5kcmUiIE1hcnNvbgpFOiBhbmRyZWEubWFyc29uQGRhdmUtdGVjaC5pdApEOiBQb3J0IHRvIFBQQ2hhbWVsZW9uRVZCIGJvYXJkClc6IHd3dy5kYXZlLXRlY2guaXQKCk46IFJlaW5oYXJkIE1leWVyCkU6IHIubWV5ZXJAZW1rLWVsZWt0cm9uaWsuZGUKRDogUG9ydCB0byBFTUsgVE9QODYwIE1vZHVsZQoKTjogSmF5IE1vbmttYW4KRToganRtQHNtb290aHNtb290aGllLmNvbQpEOiBFU1QgU0JDODI2MCBzdXBwb3J0CgpOOiBGcmFuayBNb3JhdWYKRTogZnJhbmsubW9yYXVmQHNhbHpicmVubmVyLmNvbQpEOiBTdXBwb3J0IGZvciBFbWJlZGRlZCBQbGFuZXQgUlBYIFN1cGVyIEJvYXJkCgpOOiBEYXZpZCBN/GxsZXIKRTogZC5tdWVsbGVyQGVsc29mdC5jaApEOiBTdXBwb3J0IGZvciBTYW1zdW5nIEFSTTkyMFQgU01ESzI0MTAgZXZhbCBib2FyZAoKTjogU2NvdHQgTWNOdXR0CkU6IHNtY251dHRAcHN5ZW50LmNvbQpEOiBTdXBwb3J0IGZvciBBbHRlcmEgTmlvcy0zMiBDUFUsIGZvciBOaW9zIEN5Y2xvbmUgRGV2ZWxvcG1lbnQgS2l0IChESy0xQzIwKQoKTjogUm9sZiBPZmZlcm1hbm5zCkU6IHJvZkBzeXNnby5kZQpEOiBJbml0aWFsIHN1cHBvcnQgZm9yIFNTVi1ETlAxMTEwLCBTTUM5MTExMSBkcml2ZXIKVzogd3d3LmVsaW5vcy5jb20KCk46IFRvbHVuYXkgT3JrdW4KRTogdG9ya3VuQG5leHRpby5jb20KRDogU3VwcG9ydCBmb3IgQ29nZW50IENTQjI3MiAmIENTQjQ3MiBib2FyZHMKCk46IEtlaXRoIE91dHdhdGVyCkU6IGtlaXRoX291dHdhdGVyQG12aXMuY29tCkQ6IFN1cHBvcnQgZm9yIGdlbmVyaWMvY3VzdG9tIE1QQzg2MFQgYm9hcmRzIChHRU44NjBULCBHRU44NjBUX1NDKQoKTjogRnJhbmsgUGFubm8KRTogZnBhbm5vQGRlbHBoaW50ZWNoLmNvbQpEOiBTdXBwb3J0IGZvciBFbWJlZGRlZCBQbGFuZXQgRVA4MjYwIEJvYXJkCgpOOiBEZW5pcyBQZXRlcgpFOiBkLnBldGVyQG1wbC5jaApEOiBTdXBwb3J0IGZvciA0eHggU0NTSSwgZmxvcHB5LCBDRFJPTSwgQ1Q2OTAwMCB2aWRlbywgLi4uCkQ6IFN1cHBvcnQgZm9yIFBJUDQwNSBib2FyZApEOiBTdXBwb3J0IGZvciBNSVA0MDUgYm9hcmQKCk46IERhdmUgUGV2ZXJsZXkKRTogZHBldmVybGV5QG1wYy1kYXRhLmNvLnVrClc6IGh0dHA6Ly93d3cubXBjLWRhdGEuY28udWsKRDogT01BUDczMCBQMiBib2FyZCBzdXBwb3J0CgpOOiBCaWxsIFBpdHRzCkU6IHdscEBtaW5kc3ByaW5nLmNvbQpEOiBCZWRCdWcgZW1iZWRkZWQgZGVidWdnZXIgY29kZQoKTjogRGFuaWVsIFBvaXJvdApFOiBkYW4ucG9pcm90QHdpbmRyaXZlci5jb20KRDogU3VwcG9ydCBmb3IgdGhlIHNiYzgyNDAgYm9hcmQKVzogaHR0cDovL3d3dy53aW5kcml2ZXIuY29tCgpOOiBTdGVmYW4gUm9lc2UKRTogc3RlZmFuLnJvZXNlQGVzZC1lbGVjdHJvbmljcy5jb20KRDogSUJNIFBQQzQwMS80MDMvNDA1R1AgU3VwcG9ydDsgV2luZG93cyBlbnZpcm9ubWVudCBzdXBwb3J0CgpOOiBFcndpbiBSb2wKRTogZXJ3aW5AbXVmZmluLm9yZwpEOiBib290IHN1cHBvcnQgZm9yIFJURU1TCgpOOiBQYXVsIFJ1aGxhbmQKRTogcHJ1aGxhbmRAcm9jaGVzdGVyLnJyLmNvbQpEOiBQb3J0IHRvIExvZ2ljIFpvb20gTEg3QTQweCBTREsgYm9hcmQocykKCk46IE5laWwgUnVzc2VsbApFOiBjYXJldEBjLXNpZGUuY29tCkQ6IEF1dGhvciBvZiBMaU1vbi0xLjQuMiwgd2hpY2ggY29udHJpYnV0ZWQgc29tZSBpZGVhcwoKTjogVHJhdmlzIEIuIFNhd3llcgpFOiB0cmF2aXMuc2F3eWVyQHNhbmRidXJzdC5jb20KRDogU3VwcG9ydCBmb3IgSUJNIFBQQzQ0MEdYLCBYRVMgWFBlZGl0ZTEwMDAgNDQwR1ggUHJQTUMgYm9hcmQuICBJQk0gNDQwZ3ggUmVmIFBsYXRmb3JtIChPY290ZWEpCgpOOiBQYW9sbyBTY2FmZmFyZGkKRTogYXJzZW5pb0B0aW4uaXQKRDogRkFEUzgyMyBjb25maWd1cmF0aW9uLCBNUEM4MjMgdmlkZW8gc3VwcG9ydCwgSTJDLCB3aXJlbGVzcyBrZXlib2FyZCwgbG90cyBtb3JlCgpOOiBSb2JlcnQgU2Nod2ViZWwKRTogci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZQpEOiBTdXBwb3J0IGZvciBjc2IyMjYsIGxvZ29kbCBhbmQgaW5ub2tvbSBib2FyZHMgKFBYQTJ4eCkKCk46IFlhc3VzaGkgU2hvamkKRTogeWFzaGlAYXRtYXJrLXRlY2huby5jb20KRDogU3VwcG9ydCBmb3IgWGlsaW54IE1pY3JvQmxhemUsIGZvciBBdG1hcmsgVGVjaG5vIFNVWkFLVSBGUEdBIGJvYXJkCgpOOiBLdXJ0IFN0cmVtZXJjaApFOiBrdXJ0QGV4eXMuYmUKRDogU3VwcG9ydCBmb3IgRXh5cyBYU0VuZ2luZSBib2FyZAoKTjogQW5kcmVhIFNjaWFuCkU6IGFuZHJlYS5zY2lhbkBkYXZlLXRlY2guaXQKRDogUG9ydCB0byBCMiBib2FyZApXOiB3d3cuZGF2ZS10ZWNoLml0CgpOOiBSb2IgVGF5bG9yCkU6IHJvYnRAZmx5aW5ncGlnLmNvbQpEOiBQb3J0IHRvIE1CWDg2MFQgYW5kIFNhbmRwb2ludDgyNDAKCk46IEVyaWsgVGhlaXNlbgpFOiBldGhlaXNlbkBtaW5kc3ByaW5nLmNvbQpEOiBNQlg4eHggYW5kIG1hbnkgb3RoZXIgcGF0Y2hlcwoKTjogSmltIFRob21wc29uCkU6IGppbUBtdXNlbmtpLmNvbQpEOiBTdXBwb3J0IGZvciBNVVNFTktJIGJvYXJkCgpOOiBSdW5lIFRvcmdlcnNlbgpFOiA8cnVuZXRAaW5ub3ZzeXMuY29tPgpEOiBTdXBwb3J0IGZvciBNb3Rvcm9sYSBNUEM4MjY2QURTIGJvYXJkCgpOOiBEYXZpZCBVcGRlZ3JhZmYKRTogZGF2ZUBjcmF5LmNvbQpEOiBQb3J0IHRvIENyYXkgTDEgYm9hcmQ7IERIQ1AgdmVuZG9yIGV4dGVuc2lvbnMKCk46IENocmlzdGlhbiBWZWpsYm8KRTogY2hyaXN0aWFuLnZlamxib0B0ZWxsYWJzLmNvbQpEOiBGQURTODYwVCBldGhlcm5ldCBzdXBwb3J0CgpOOiBNYXJ0aW4gV2luaXN0b2VyZmVyCkU6IG1hcnRpbndpbmlzdG9lcmZlckBnbXguY2gKRDogUG9ydCB0byBNUEM1NTUvNTU2IG1pY3JvY29udHJvbGxlcnMgYW5kIHN1cHBvcnQgZm9yIGNtaSBib2FyZAoKTjogTWluZy1MZW4gV3UKRTogbWluZ2xlbl93dUB0ZWNod2FyZS5jb20udHcKRDogTW90b3JvbGEgTVgxQURTIGJvYXJkIHN1cHBvcnQKVzogaHR0cDovL3d3dy50ZWNod2FyZS5jb20udHcvCgpOOiBYaWFuZ2h1YSBYaWFvCkU6IHgueGlhb0Btb3Rvcm9sYS5jb20KRDogU3VwcG9ydCBmb3IgTW90b3JvbGEgODV4eChQb3dlclFVSUNDIElJSSkgY2hpcCwgTVBDODU0MEFEUyBhbmQgTVBDODU2MEFEUyBib2FyZHMuCgpOOiBKb2huIFpoYW4KRTogemhhbnpAc2lub3ZlZS5jb20KRDogU3VwcG9ydCBmb3IgU2lub1ZlZSBNaWNyb3N5c3RlbXMgU0M4eHggU0JDCgpOOiBBbGV4IFp1ZXBrZQpFOiBhenVAc3lzZ28uZGUKRDogT3ZlcmFsbCBpbXByb3ZlbWVudHMgb24gU3Ryb25nQVJNLCBBUk03MjBURE1JOyBTdXBwb3J0IGZvciBUdXhzY3JlZW47IGluaXRpYWwgUENNQ0lBIHN1cHBvcnQgZm9yIEFSTQpXOiB3d3cuZWxpbm9zLmNvbQo=