A/MNCk1crFFjAAAAAAAAAAAMAAAAQAAAAHP1AgAAZAAAWgAAZAEAZAIAbAEAWgEAZAEAZAIAbAIAWgIAZAEAZAIAbAMAWgQAZAEAZAIAbAUAWgUAZAEAZAIAbAYAWgYAZAEAZAMAbAcAbQgAWgkAAWQBAGQEAGwKAG0LAFoLAAFkBQBkBgBkBwBkCABkCQBkCgBkCwBkDABkDQBkDgBkDwBkEABnDABaDABkEQBaDQBkEgBaDgBkEwBaDwBlAgBqEABkFABlAgBqEQCDAgBaEgBkBQBlEwBmAQBkFQCEAACDAABZWhQAZAYAZRQAZgEAZBYAhAAAgwAAWVoVAGQHAGUUAGYBAGQXAIQAAIMAAFlaFgBkCABlFgBmAQBkGACEAACDAABZWhcAZAkAZRQAZgEAZBkAhAAAgwAAWVoYAGQKAGUWAGYBAGQaAIQAAIMAAFlaGQBkCwBlFgBmAQBkGwCEAACDAABZWhoAZAwAZRYAZgEAZBwAhAAAgwAAWVobAGQNAGUWAGYBAGQdAIQAAIMAAFlaHABkHgCEAABaHQBkHwCEAABaHgBkIACEAABaHwB5EABkAQBkAgBsIABaIABXbhcABGUhAGsKAHK9AQEBAWUiAFojAG4aAFhkIQBmAABkIgCEAACDAABZWiQAZSUAWiMAZBAAZgAAZCMAhAAAgwAAWVomAGUjAHIWAmQkAGUmAGYBAGQlAIQAAIMAAFlaJwBlDABqKABkJACDAQABbgAAZCYAWikAZCcAZSYAZgEAZCgAhAAAgwAAWVoqAGUrAGQpAGsCAHLxAmQBAGQCAGwKAFoKAGQqAIQAAFosAGUsAGQrAIMBAFotAGUsAGQsAIMBAGouAGQtAIMBAFovAGQuAEdIZC8AWjAAeCcAZQoAajEAajIAgwAAWjMAZTMADHKcAlBuAABlMABlMwAXWjAAcYICZDAAZTQAZTAAgwEAFkdIZSYAZDEAgwEAWjUAZTUAajYAZDIAgwEAAWU1AGo3AGUtAGUvAGUwAIMDAAFlNQBqOACDAAABbgAAZAIAUygzAAAAc34DAABTTVRQL0VTTVRQIGNsaWVudCBjbGFzcy4KClRoaXMgc2hvdWxkIGZvbGxvdyBSRkMgODIxIChTTVRQKSwgUkZDIDE4NjkgKEVTTVRQKSwgUkZDIDI1NTQgKFNNVFAKQXV0aGVudGljYXRpb24pIGFuZCBSRkMgMjQ4NyAoU2VjdXJlIFNNVFAgb3ZlciBUTFMpLgoKTm90ZXM6CgpQbGVhc2UgcmVtZW1iZXIsIHdoZW4gZG9pbmcgRVNNVFAsIHRoYXQgdGhlIG5hbWVzIG9mIHRoZSBTTVRQIHNlcnZpY2UKZXh0ZW5zaW9ucyBhcmUgTk9UIHRoZSBzYW1lIHRoaW5nIGFzIHRoZSBvcHRpb24ga2V5d29yZHMgZm9yIHRoZSBSQ1BUCmFuZCBNQUlMIGNvbW1hbmRzIQoKRXhhbXBsZToKCiAgPj4+IGltcG9ydCBzbXRwbGliCiAgPj4+IHM9c210cGxpYi5TTVRQKCJsb2NhbGhvc3QiKQogID4+PiBwcmludCBzLmhlbHAoKQogIFRoaXMgaXMgU2VuZG1haWwgdmVyc2lvbiA4LjguNAogIFRvcGljczoKICAgICAgSEVMTyAgICBFSExPICAgIE1BSUwgICAgUkNQVCAgICBEQVRBCiAgICAgIFJTRVQgICAgTk9PUCAgICBRVUlUICAgIEhFTFAgICAgVlJGWQogICAgICBFWFBOICAgIFZFUkIgICAgRVRSTiAgICBEU04KICBGb3IgbW9yZSBpbmZvIHVzZSAiSEVMUCA8dG9waWM+Ii4KICBUbyByZXBvcnQgYnVncyBpbiB0aGUgaW1wbGVtZW50YXRpb24gc2VuZCBlbWFpbCB0bwogICAgICBzZW5kbWFpbC1idWdzQHNlbmRtYWlsLm9yZy4KICBGb3IgbG9jYWwgaW5mb3JtYXRpb24gc2VuZCBlbWFpbCB0byBQb3N0bWFzdGVyIGF0IHlvdXIgc2l0ZS4KICBFbmQgb2YgSEVMUCBpbmZvCiAgPj4+IHMucHV0Y21kKCJ2cmZ5Iiwic29tZW9uZUBoZXJlIikKICA+Pj4gcy5nZXRyZXBseSgpCiAgKDI1MCwgIlNvbWVib2R5IE92ZXJIZXJlIDxzb21lYm9keUBoZXJlLm15Lm9yZz4iKQogID4+PiBzLnF1aXQoKQpp/////04oAQAAAHQGAAAAZW5jb2RlKAEAAAB0BgAAAHN0ZGVycnQNAAAAU01UUEV4Y2VwdGlvbnQWAAAAU01UUFNlcnZlckRpc2Nvbm5lY3RlZHQVAAAAU01UUFJlc3BvbnNlRXhjZXB0aW9udBEAAABTTVRQU2VuZGVyUmVmdXNlZHQVAAAAU01UUFJlY2lwaWVudHNSZWZ1c2VkdA0AAABTTVRQRGF0YUVycm9ydBAAAABTTVRQQ29ubmVjdEVycm9ydA0AAABTTVRQSGVsb0Vycm9ydBcAAABTTVRQQXV0aGVudGljYXRpb25FcnJvcnQJAAAAcXVvdGVhZGRydAkAAABxdW90ZWRhdGF0BAAAAFNNVFBpGQAAAGnRAQAAcwIAAAANCnMJAAAAYXV0aD0oLiopYwAAAAAAAAAAAQAAAEIAAABzDgAAAGUAAFoBAGQAAFoCAFJTKAEAAABzNAAAAEJhc2UgY2xhc3MgZm9yIGFsbCBleGNlcHRpb25zIHJhaXNlZCBieSB0aGlzIG1vZHVsZS4oAwAAAHQIAAAAX19uYW1lX190CgAAAF9fbW9kdWxlX190BwAAAF9fZG9jX18oAAAAACgAAAAAKAAAAABzTwAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3NtdHBsaWIucHlSAgAAAEEAAABzAgAAAAYBYwAAAAAAAAAAAQAAAEIAAABzDgAAAGUAAFoBAGQAAFoCAFJTKAEAAABzzAAAAE5vdCBjb25uZWN0ZWQgdG8gYW55IFNNVFAgc2VydmVyLgoKICAgIFRoaXMgZXhjZXB0aW9uIGlzIHJhaXNlZCB3aGVuIHRoZSBzZXJ2ZXIgdW5leHBlY3RlZGx5IGRpc2Nvbm5lY3RzLAogICAgb3Igd2hlbiBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gdXNlIHRoZSBTTVRQIGluc3RhbmNlIGJlZm9yZQogICAgY29ubmVjdGluZyBpdCB0byBhIHNlcnZlci4KICAgICgDAAAAUg4AAABSDwAAAFIQAAAAKAAAAAAoAAAAACgAAAAAc08AAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9zbXRwbGliLnB5UgMAAABEAAAAcwIAAAAGBmMAAAAAAAAAAAEAAABCAAAAcxcAAABlAABaAQBkAABaAgBkAQCEAABaAwBSUygCAAAAczIBAABCYXNlIGNsYXNzIGZvciBhbGwgZXhjZXB0aW9ucyB0aGF0IGluY2x1ZGUgYW4gU01UUCBlcnJvciBjb2RlLgoKICAgIFRoZXNlIGV4Y2VwdGlvbnMgYXJlIGdlbmVyYXRlZCBpbiBzb21lIGluc3RhbmNlcyB3aGVuIHRoZSBTTVRQCiAgICBzZXJ2ZXIgcmV0dXJucyBhbiBlcnJvciBjb2RlLiAgVGhlIGVycm9yIGNvZGUgaXMgc3RvcmVkIGluIHRoZQogICAgYHNtdHBfY29kZScgYXR0cmlidXRlIG9mIHRoZSBlcnJvciwgYW5kIHRoZSBgc210cF9lcnJvcicgYXR0cmlidXRlCiAgICBpcyBzZXQgdG8gdGhlIGVycm9yIG1lc3NhZ2UuCiAgICBjAwAAAAMAAAACAAAAQwAAAHMlAAAAfAEAfAAAXwAAfAIAfAAAXwEAfAEAfAIAZgIAfAAAXwIAZAAAUygBAAAATigDAAAAdAkAAABzbXRwX2NvZGV0CgAAAHNtdHBfZXJyb3J0BAAAAGFyZ3MoAwAAAHQEAAAAc2VsZnQEAAAAY29kZXQDAAAAbXNnKAAAAAAoAAAAAHNPAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvc210cGxpYi5weXQIAAAAX19pbml0X19VAAAAcwYAAAAAAQkBCQEoBAAAAFIOAAAAUg8AAABSEAAAAFIXAAAAKAAAAAAoAAAAACgAAAAAc08AAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9zbXRwbGliLnB5UgQAAABMAAAAcwQAAAAGBwYCYwAAAAAAAAAAAQAAAEIAAABzFwAAAGUAAFoBAGQAAFoCAGQBAIQAAFoDAFJTKAIAAABzqwAAAFNlbmRlciBhZGRyZXNzIHJlZnVzZWQuCgogICAgSW4gYWRkaXRpb24gdG8gdGhlIGF0dHJpYnV0ZXMgc2V0IGJ5IG9uIGFsbCBTTVRQUmVzcG9uc2VFeGNlcHRpb24KICAgIGV4Y2VwdGlvbnMsIHRoaXMgc2V0cyBgc2VuZGVyJyB0byB0aGUg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YSByZXBseSBmcm9tIHRoZSBzZXJ2ZXIuCgogICAgICAgIFJldHVybnMgYSB0dXBsZSBjb25zaXN0aW5nIG9mOgoKICAgICAgICAgIC0gc2VydmVyIHJlc3BvbnNlIGNvZGUgKGUuZy4gJzI1MCcsIG9yIHN1Y2gsIGlmIGFsbCBnb2VzIHdlbGwpCiAgICAgICAgICAgIE5vdGU6IHJldHVybnMgLTEgaWYgaXQgY2FuJ3QgcmVhZCByZXNwb25zZSBjb2RlLgoKICAgICAgICAgIC0gc2VydmVyIHJlc3BvbnNlIHN0cmluZyBjb3JyZXNwb25kaW5nIHRvIHJlc3BvbnNlIGNvZGUgKG11bHRpbGluZQogICAgICAgICAgICByZXNwb25zZXMgYXJlIGNvbnZlcnRlZCB0byBhIHNpbmdsZSwgbXVsdGlsaW5lIHN0cmluZykuCgogICAgICAgIFJhaXNlcyBTTVRQU2VydmVyRGlzY29ubmVjdGVkIGlmIGVuZC1vZi1maWxlIGlzIHJlYWNoZWQuCiAgICAgICAgdAIAAAByYnMgAAAAQ29ubmVjdGlvbiB1bmV4cGVjdGVkbHkgY2xvc2VkOiBSIQAAAHMeAAAAQ29ubmVjdGlvbiB1bmV4cGVjdGVkbHkgY2xvc2VkaQAAAABzBgAAAHJlcGx5OmkEAAAAaQMAAABp/////3QBAAAALXMBAAAACnMcAAAAcmVwbHk6IHJldGNvZGUgKCVzKTsgTXNnOiAlc04oEgAAAHQEAAAAZmlsZVIaAAAAUkoAAAB0CAAAAG1ha2VmaWxlUi4AAABSNgAAAFJIAAAAUi8AAABSAwAAAFIsAAAAUj4AAABSAQAAAFJNAAAAdAYAAABhcHBlbmR0BQAAAHN0cmlwUkYAAABSRwAAAHQEAAAAam9pbigHAAAAUhQAAAB0BAAAAHJlc3B0BAAAAGxpbmV0AQAAAGVSFQAAAHQHAAAAZXJyY29kZXQGAAAAZXJybXNnKAAAAAAoAAAAAHNPAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvc210cGxpYi5weVJLAAAAUQEAAHM4AAAAAA0GAQ8BGAEDAQMBEwESAQoBBgEUAQwBCgEP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AABkZWNvZGVzdHJpbmd0BAAAAGhtYWN0BAAAAEhNQUN0CQAAAGhleGRpZ2VzdHQNAAAAZW5jb2RlX2Jhc2U2NCgEAAAAdAkAAABjaGFsbGVuZ2V0BAAAAHVzZXJ0CAAAAHBhc3N3b3JkdAgAAAByZXNwb25zZSgAAAAAKAAAAABzTwAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3NtdHBsaWIucHl0DwAAAGVuY29kZV9jcmFtX21kNTECAABzBgAAAAABDwEgAWMCAAAAAgAAAAQAAABTAAAAcxoAAAB0AABkAQB8AAB8AQBmAgAWZAIAZAMAgwEBUygEAAAATnQGAAAAACVzACVzUocAAABSIQAAACgBAAAAUo0AAAAoAgAAAFKPAAAAUpAAAAAoAAAAACgAAAAAc08AAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9zbXRwbGliLnB5dAwAAABlbmNvZGVfcGxhaW42AgAAcwIAAAAAAXQFAAAAUExBSU5zCAAAAENSQU0tTUQ1dAUAAABMT0dJTlJjAAAAcywAAABTTVRQIEFVVEggZXh0ZW5zaW9uIG5vdCBzdXBwb3J0ZWQgYnkgc2VydmVyLnQEAAAAQVVUSGn3AQAAUmQAAABzBQAAACVzICVzUocAAABSIQAAAGlOAQAAcygAAABObyBzdWl0YWJsZSBhdXRoZW50aWNhdGlvbiBtZXRob2QgZm91bmQuaesAAABOKAIAAABp6wAAAGn3AQAAKAkAAABShgAAAFJ3AAAAUgIAAABSMwAAAFJqAAAAUhoAAABSXwAAAFKNAAAAUgoAAAAoDgAAAFIUAAAAUo8AAABSkAAAAFKSAAAAUpQAAAB0CgAAAEFVVEhfUExBSU50DQAAAEFVVEhfQ1JBTV9NRDV0CgAAAEFVVEhfTE9HSU50CAAAAGF1dGhsaXN0dA8AAABwcmVmZXJyZWRfYXV0aHN0CgAAAGF1dGhtZXRob2R0BgAAAG1ldGhvZFIVAAAAUloAAAAoAAAAACgAAAAAc08AAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9z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IGJlIHBhc3NlZCB0byBpdC4gIElmIEVITE8KICAgICAgICBmYWlscywgSEVMTyB3aWxsIGJlIHRyaWVkIGFuZCBFU01UUCBvcHRpb25zIHN1cHByZXNzZWQuCgogICAgICAgIFRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIG5vcm1hbGx5IGlmIHRoZSBtYWlsIGlzIGFjY2VwdGVkIGZvciBhdCBsZWFzdAogICAgICAgIG9uZSByZWNpcGllbnQuICBJdCByZXR1cm5zIGEgZGljdGlvbmFyeSwgd2l0aCBvbmUgZW50cnkgZm9yIGVhY2gKICAgICAgICByZWNpcGllbnQgdGhhdCB3YXMgcmVmdXNlZC4gIEVhY2ggZW50cnkgY29udGFpbnMgYSB0dXBsZSBvZiB0aGUgU01UUAogICAgICAgIGVycm9yIGNvZGUgYW5kIHRoZSBhY2NvbXBhbnlpbmcgZXJyb3IgbWVzc2FnZSBzZW50IGJ5IHRoZSBzZXJ2ZXIuCgogICAgICAgIFRoaXMgbWV0aG9kIG1heSByYWlzZSB0aGUgZm9sbG93aW5nIGV4Y2VwdGlvbnM6CgogICAgICAgICBTTVRQSGVsb0Vycm9yICAgICAgICAgIFRoZSBzZXJ2ZXIgZGlkbid0IHJlcGx5IHByb3Blcmx5IHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGhlbG8gZ3JlZXRpbmcuCiAgICAgICAgIFNNVFBSZWNpcGllbnRzUmVmdXNlZCAgVGhlIHNlcnZlciByZWplY3RlZCBBTEwgcmVjaXBpZW50cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChubyBtYWlsIHdhcyBzZW50KS4KICAgICAgICAgU01UUFNlbmRlclJlZnVzZWQgICAgICBUaGUgc2VydmVyIGRpZG4ndCBhY2NlcHQgdGhlIGZyb21fYWRkci4KICAgICAgICAgU01UUERhdGFFcnJvciAgICAgICAgICBUaGUgc2VydmVyIHJlcGxpZWQgd2l0aCBhbiB1bmV4cGVjdGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgY29kZSAob3RoZXIgdGhhbiBhIHJlZnVzYWwgb2YK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AgYCCQEGAQ8FadMHAAB0BAAAAExNVFBjAAAAAAAAAAAEAAAAQgAAAHM1AAAAZQAAWgEAZAAAWgIAZAEAWgMAZAIAZQQAZAcAZAMAhAMAWgYAZAQAZAUAZAYAhAIAWgcAUlMoCAAAAHMtAgAATE1UUCAtIExvY2FsIE1haWwgVHJhbnNmZXIgUHJvdG9jb2wKCiAgICBUaGUgTE1UUCBwcm90b2NvbCwgd2hpY2ggaXMgdmVyeSBzaW1pbGFyIHRvIEVTTVRQLCBpcyBoZWF2aWx5IGJhc2VkCiAgICBvbiB0aGUgc3RhbmRhcmQgU01UUCBjbGllbnQuIEl0J3MgY29tbW9uIHRvIHVzZSBVbml4IHNvY2tldHMgZm9yIExNVFAsCiAgICBzbyBvdXIgY29ubmVjdCgpIG1ldGhvZCBtdXN0IHN1cHBvcnQgdGhhdCBhcyB3ZWxsIGFzIGEgcmVndWxhcgogICAgaG9zdDpwb3J0IHNlcnZlci4gVG8gc3BlY2lmeSBhIFVuaXggc29ja2V0LCB5b3UgbXVzdCB1c2UgYW4gYWJzb2x1dGUKICAgIHBhdGggYXMgdGhlIGhvc3QsIHN0YXJ0aW5nIHdpdGggYSAnLycuCgogICAgQXV0aGVudGljYXRpb24gaXMgc3VwcG9ydGVkLCB1c2luZyB0aGUgcmVndWxhciBTTVRQIG1lY2hhbmlzbS4gV2hlbgogICAgdXNpbmcgYSBVbml4IHNvY2tldCwgTE1UUCBnZW5lcmFsbHkgZG9uJ3Qgc3VwcG9ydCBvciByZXF1aXJlIGFueQogICAgYXV0aGVudGljYXRpb24sIGJ1dCB5b3VyIG1pbGVhZ2UgbWlnaHQgdmFyeS50BAAAAGxobG9SIQAAAGMEAAAABAAAAAUAAABDAAAAcxoAAAB0AABqAQB8AAB8AQB8AgB8AwCDBAABZAEAUygCAAAAcxoAAABJbml0aWFsaXplIGEgbmV3IGluc3RhbmNlLk4oAgAAAFINAAAAUhcAAAAoBAAAAFIUAAAAUjsAAABSPAAAAFI1AAAAKAAAAAAoAAAAAHNPAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvc210cGxpYi5weVIX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