UOEAWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvcml0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICAgICAgICBPUFRJT05BTCwKICB5ICAgICAgICAgICAgKDgpIH0KaWQtY2UtcHJpdmF0ZUtleVVzYWdlUGVyaW9kIE9CSkVDVD9JREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNiB9ClByaXZhdGVLZXlVc2FnZVBlcmlvZCA6Oj0gU0VRVUVOQ0UgewogICAgIG5vdEJlZm9yZSAgICAgICBbMF0gICAgIEdlbmVyYWxpemVkVGltZSBPUFRJT05BTCwKICAgICBub3RBZnRlciAgICAgICAgWzFdICAgIHRBZGRyZXNzIDo6PQlEaXJlY3RvcnlTdHJpbmcKaWQtYXQtcG9zdGFsQWRkcmVzcwlBdHRyaWJ1dGVUeXBlCTo6PQl7aWQtYXQgMTZ9Clg1MjBwb3N0YWxBZGRyZXNzIDo6PSBQb3N0YWxBZGRyZXNzClBvc3RhbEFkZHJlc3MgOjo9IFNFUVVFTkNFIE9GIERpcmVjdG9yeVN0cmluZwogLS0gTGVnYWN5IGF0dHJpYnV0ZXMKcGtjcyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0KICAgICAgIHsgaXNvKDEpIG1lbWJlci1ib2R5KDIpIHVzKDg0MCkgcnNhZHNpKDExMzU0OSkgcGtjcygxKSB9CnBrY3MtOSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0KICAgICAgIHsgcGtjcyA5IH0KZW1haWxBZGRyZXNzIEF0dHJpYnV0ZVR5cGUgICAgICA6Oj0geyBwa2NzLTkgMSB9ClBrY3M5ZW1haWwgOjo9IElBNVN0cmluZyAoU0laRSAoMS4udWItZW1haQAAAAAAWaO3LWxlbmd0aCkpCk5hbWUgICAgICAgICAgICA6Oj0gICBDSE9JQ0UgeyAtLSBvbmx5IG9uZSBwb3NzaWJpbGl0eSBmb3Igbm93IC0tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJkblNlcXVlbmNlICBSRE5TZXF1ZW5jZSB9ClJETlNlcXVlbmNlICAgICA6Oj0gICBTRVFVRU5DRSBPRiBSZWxhdGl2ZURpc3Rpbmd1aXNoZWROYW1lCkRpdHJlZXRBZGRyZXNzCUF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA0fQpYNTIwc3RyZWV0QWRkcmVzcyA6Oj0JRGlyZWN0b3J5U3RyaW5nCmlkLWF0LXBvc3RhbEFkZHJlc3MJQXR0cmlidXRlVHlwZQk6Oj0Je2lkLWF0IDE2fQpYNTIwcG9zdGFsQWRkcmVzcyA6Oj0gUG9zdGFsQWRkcmVzcwpQb3N0YWxBZGRyZXNzIDo6PSBTRVFVRU5DRSBPRiBEaXJlY3RvcnlTdHJpbmcKIC0tIExlZ2FjeSBhdHRyaWJ1dGVzCnBrY3MgT0JKRUNUIElERU5USUZJRVIgOjo9CiAgICAgICB7IGlzbygxKSBtZW1iZXItYm9keSgyKSB1cyg4NDApIHJzYWRzaSgxMTM1NDkpIHBrY3MoMSkgfQpwa2NzLTkgT0JKRUNUIElERU5USUZJRVIgOjo9CiAgICAgICB7IHBrY3MgOSB9CmVtYWlsQWRkcmVzcyBBdHRyaWJ1dGVUeXBlICAgICAgOjo9IHsgcGtjcy05IDEgfQpQa2NzOWVtYWlsIDo6PSBJQTVTdHJpbmcgKFNJWkUgKDEuLnViLWVtYWlsYWRkcmVzcy1sZW5ndGgpKQpOYW1lICAgICAgICAgICAgOjo9ICAgQ0hPSUNFIHsgLS0gb25seSBvbmUgcG9zc2liaWxpdHkgZm9yIG5vdyAtLQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZG5TZXF1ZW5jZSAgUkROU2VxdWVuY2UgfQpSRE5TZXF1ZW5jZSAgICAgOjo9ICB7IH0KREVGSU5JVElPTlMgSU1QTElDSVQgVEFHUyA6Oj0KQkVHSU4KaWQtY2UgT0JKRUNUIElERU5USUZJRVIgIDo6PSAge2pvaW50LWlzby1jY2l0dCgyKSBkcyg1KSAyOX0KaWQtY2UtYXV0aG9yaXR5S2V5SWRlbnRpZmllciBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgaWQtY2UgMzUgfQpBdXRob3JpdHlLZXlJZGVudGlmaWVyIDo6PSBTRVFVRU5DRSB7CiAgICAgIGtleUlkZW50aWZpZXIgICAgICAgICAgICAgWzBdIEtleUlkZW52aWZpZXIgICAgICAgICAgICBPUFRJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydElzc3VlciAgICAgICBbMV0gR2VuZXJhbE5hbWVzICAgICAgICAgICAgIE9QVElPTkFMLAogIHkgICAgICAgICAgICAoOCkgfQppZC1jZS1wcml2YXRlS2V5VXNhZ2VQZXJpb2QgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDE2IH0KUHJpdmF0ZUtleVVzYWdlUGVyaW9kIDo6PSBTRVFVRU5DRSB7CiAgICAgbm90QmVmb3JlICAgICAgIFswXSAgICAgR2VuZXJhbGl6ZWRUaW1lIE9QVElPTkFMLAogICAgIG5vdEFmdGVyICAgICAgICBbMV0gICAgdEFkZHJlc3MgOjo9CURpcmVjdG9yeVN0cmluZwppZC1hdC1wb3N0YWxBZGRyZXNzCUF0dHJpYnV0ZVR5cGUJOjo9CXtpZC1hdCAxNn0KWDUyMHBvc3RhbEFkZHJlc3MgOjo9IFBvc3RhbEFkZHJlc3MKUG9zdGFsQWRkcmVzcyA6Oj0gU0VRVUVOQ0UgT0YgRGlyZWN0b3J5U3RyaW5nCiAtLSBMZWdhY3kgYXR0cmlidXRlcwpwa2NzIE9CSkVDVCBJREVOVElGSUVSIDo6PQogICAgICAgeyBpc28oMSkgbWVtYmVyLWJvZHkoMikgdXMoODQwKSByc2Fkc2koMTEzNTQ5KSBwa2NzKDEpIH0KcGtjcy05IE9CSkVDVCBJREVOVElGSUVSIDo6PQogICAgICAgeyBwa2NzIDkgfQplbWFpbEFkZHJlc3MgQXR0cmlidXRlVHlwZSAgICAgIDo6PSB7IHBrY3MtOSAxIH0KUGtjczllbWFpbCA6Oj0gSUE1U3RyaW5nIChTSVpFICgxLi51Yi1lbWFpAAAAAABZo7ctbGVuZ3RoKSkKTmFtZSAgICAgICAgICAgIDo6PSAgIENIT0lDRSB7IC0tIG9ubHkgb25lIHBvc3NpYmlsaXR5IGZvciBub3cgLS0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmRuU2VxdWVuY2UgIFJETlNlcXVlbmNlIH0KUkROU2VxdWVuY2UgICAgIDo6PSAgIFNFUVVFTkNFIE9GIFJlbGF0aXZlRGlzdGluZ3Vpc2hlZE5hbWUKRGl0cmVldEFkZHJlc3MJQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDl9Clg1MjBzdHJlZXRBZGRyZXNzIDo6PQlEaXJlY3RvcnlTdHJpbmcKaWQtYXQtcG9zdGFsQWRkcmVzcwlBdHRyaWJ1dGVUeXBlCTo6PQl7aWQtYXQgMTZ9Clg1MjBwb3N0YWxBZGRyZXNzIDo6PSBQb3N0YWxBZGRyZXNzClBvc3RhbEFkZHJlc3MgOjo9IFNFUVVFTkNFIE9GIERpcmVjdG9yeVN0cmluZwogLS0gTGVnYWN5IGF0dHJpYnV0ZXMKcGtjcyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0KICAgICAgIHsgaXNvKDEpIG1lbWJlci1ib2R5KDIpIHVzKDg0MCkgcnNhZHNpKDExMzU0OSkgcGtjcygxKSB9CnBrY3MtOSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0KICAgICAgIHsgcGtjcyA5IH0KZW1haWxBZGRyZXNzIEF0dHJpYnV0ZVR5cGUgICAgICA6Oj0geyBwa2NzLTkgMSB9ClBrY3M5ZW1haWwgOjo9IElBNVN0cmluZyAoU0laRSAoMS4udWItZW1haWxhZGRyZXNzLWxlbmd0aCkpCk5hbWUgICAgICAgICAgICA6Oj0gICBDSE9JQ0UgeyAtLSBvbmx5IG9uZSBwb3NzaWJpbGl0eSBmb3Igbm93IC0tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJkblNlcXVlbmNlICBSRE5TZXF1ZW5jZSB9ClJETlNlcXVlbmNlICAgICA6Oj0gICBTRVFVRU5DRSBPRiBSZWxhdGl2ZURpc3Rpbmd1aXNoZWROYW1lCkRpc3Rpbmd1aXNoZWROYW1lICAgICAgIDo6PSAgIFJETlNlcXVlbmNlClJlbGF0aXZlRGlzdGluZ3Vpc2hlZE5hbWUgIDo6PQogICAgICAgICAgICAgICAgICAgIFNFVCBTSVpFICgxIC4uIE1BWCkgT0YgQXR0cmlidXRlVHlwZUFuZFZhbHVlCkNlcnRpZmljYXRlICA6Oj0gIFNFUVVFTkNFICB7CiAgICAgdGJzQ2VydGlmaWNhdGUgICAgICAgVEJTQ2VydGlmaWNhdGVzOWVtYWlsIDo6PSBJQTVTdHJpbmcgKFNJWkUgKDEuLnViLWVtYWlsYWRkcmVzcy1sZW5ndGgpKQpOYW1lICAgICAgICAgICAgOjo9ICAgQ0hPSUNFIHsgLS0gb25seSBvbmUgcG9zc2liaWxpdHkgZm9yIG5vdyAtLQogICAgICAgICAgICAgICAgIGNlICBSRE5TZXF1ZW5jZSB9ClJETlNlcXVlbmNlICAgICA6Oj0gIHsgfQpERUZJTklUSU9OUyBJTVBMSUNJVCBUQUdTIDo6PQpCRUdJTgppZC1jZSBPQkpFQ1QgSURFTlRJRklFUiAgOjo9ICB7am9pbnQtaXNvLWNjaXR0KDIpIGRzKDUpIDI5fQppZC1jZS1hdXRob3JpdHlLZXlJZGVudGlmaWVyIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAzNSB9CkF1dGhvcml0eUtleUlkZW50aWZpZXIgOjo9IFNFUVVFTkNFIHsKICAgICAga2V5SWRlbnRpZmllciAgICAgICAgICAgICBbMF0gS2V5SWRlbnZpZmllciAgICAgICAgICAgIE9QVElPTkFMLAogICAgICBhdXRob3JpdHlDZXJ0SXNzdWVyICAgICAgIFsxXSBHZW5lcmFsTmFtZXMgICAgICAgICAgICAgT1BUSU9OQUwsCiAgeSAgICAgICAgICAgICg4KSB9CmlkLWNlLXByaXZhdGVLZXlVc2FnZVBlcmlvZCBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgaWQtY2UgMTYgfQpQcml2YXRlS2V5VXNhZ2VQZXJpb2QgOjo9IFNFUVVFTkNFIHsKICAgICBub3RCZWZvcmUgICAgICAgWzBdICAgICBHZW5lcmFsaXplZFRpbWUgT1BUSU9OQUwsCiAgICAgbm90QWZ0ZXIgICAgICAgIFsxXSAgICB0QWRkcmVzcyA6Oj0JRGlyZWN0b3J5U3RyaW5nCmlkLWF0LXBvc3RhbEFkZHJlc3MJQXR0cmlidXRlVHlwZQk6Oj0Je2lkLWF0IDE2fQpYNTIwcG9zdGFsQWRkcmVzcyA6Oj0gUG9zdGFsQWRkcmVzcwpQb3N0YWxBZGRyZXNzIDo6PSBTRVFVRU5DRSBPRiBEaXJlY3RvcnlTdHJpbmcKIC0tIExlZ2FjeSBhdHRyaWJ1dGVzCnBrY3MgT0JKRUNUIElERU5USUZJRVIgOjo9CiAgICAgICB7IGlzbygxKSBtZW1iZXItYm9kc3ViamVjdFVuaXF1ZUlEIFsyXSAgSU1QTElDSVQgVW5pcXVlSWRlbnRpZmllciBPUFRJT05BTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBJZiBwcmVzZW50LCB2ZXJzaW9uIHNoYWxsIGJlIHYyIG9yIHYzCiAgICAgZXh0ZW5zaW9ucyAgICAgIFszXSAgRVhQTElDSVQgRXh0ZW5zaW9ucyBPUFRJT05BTAogICAgICAgICAgICAgICAgICAgICAgICAgIC0tIElmIHByZXNlbnQsIHZlcnNpb24gc2hhbGwgYmUgdjMgLS0KfQpWZXJzaW9uICA6Oj0gIElOVEVHRVJ+ICB7ICB2MSgwKSwgdjIoMSksIHYzKDIpICB9CkNlcnRpZmljYXRlU2VyaWFsTnVtYmVyICA6Oj0gIElOVEVHRVIKVmFQb3N0YWxBZGRyZXNzUVVFTkNFIA==