UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZmluZWRBdHRyaWJ1dGUgOjo9IFNFUVVFTkNFIHsKICAgdHlwZSBQcmludGFibGVTdHJpbmcgKFNJWkUKICAgICAgICAgICAgICAgICAgICAgICAgKDEuLnViLWRvbWFpbi1kZWZpbmVkLWF0dHJpYnV0ZS10eXBlLWxlbmd0aCkpLAogICB2YWx1ZSBQcmkgU0laRQogICAgICAgICgxLi51Yi1vcmdhbml6YXRpb25hbC11bml0cykgNDApIHg5YWxnb3JpdGhtKDQpIDMgfQpEc3MtU2lnLVZhbHVlIDo6PSBTRVFVRU5DRSB7CiAgIHJtcyAgOjo9ICBTRVFVRU5DRSAgewogICAgIHAgICAgICAgICAgICAgSU5URUdFUiwKICAgICBxICAgICAgICAgICAgIElOVEVHRVIsCiAgICAgZyAgICAgICAgICAgICBJTlRFR0VSICB9Ck9SQWRkcmVzcyA6Oj0gU0VRVUVOQ0UgewogICBidWlsdC1pbi1zdGFuZGFyZC1hdHRyaWJ1Z3RoKSl9CkV4dGVuc2lvbkF0dHJpYnV0ZXMgOjo9IFNFVCBTSVpFICgxLi51Yi1leHRlbnNpb24tYXR0cmlidXRlcykgT0YKICAgICAgICAgICAgICAgICAgICAgICAgRXh0ZW5zaW9uQXR0cmlidXRlCkV4dGVuc2lvbkF0dHJpYnV0ZSA6Oj0gIFNFUVVFTkNFIHsKICAgZXh0ZW5zaW9uLWF0dHJpYnV0ZS10eXBlIFswXSBFWFBMSUNJVCBJTlRFR0VSICgwLi51Yi1leHRlbnNpb24tYXR0cmlidXRlcyksCiAgIGV4dGVuc2lvbi1hdHRyaWJ1dGUtdmFsdWUgKSksCiAgIGdpdmVuLW5hbWUgWzFdIFByaW50YWJsZVN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAoU0laRSAoMS4udWItZ2l2ZW4tbmFtZS1sZW5ndGgpKSBPUFRJT05BTCwKICAgaW5pdGlhbHMgWzJdIFByaW50YWJsZVN0cmluZyAoU0laRSAoMS4udWItaW5pdGlhbHMtbGVuZ3RoKSkgT1BUSU9OQUwsCiAgIGdlbmVyYYyWkJItcXVhbGlmaWVyIFszXSBQcmludGFibGVTdHJpbmcKICAgICAgICAgICAgICAgIChTSVpFICgxLi51Yi1nZW5lcmF0aW9uLXF1YWxpZmllci1sZW5ndGgpKSBPUFRJT05BTCB9Ck9yZ2FuaXphdGlvbmFsVW5pdE5hbWVzIDo6PSBTRVFVRU5DRSBTSVpFICgxLi51Yi1vcmdhbml6YXRpb25hbC11bml0cykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9GIE9yZ2FuaXphdGlvbmFsVW5pdE5hbWUKT3JnYW5pemF0aW9uYWxVbml0TmFtZSA6Oj0gIDQwKSB4OWFsZ29yaXRobSg0KSAzIH0KRHNzLVNpZy1WYWx1ZSA6Oj0gU0VRVUVOQ0UgewogICBybXMgIDo6PSAgU0VRVUVOQ0UgIHsKICAgICBwICAgICAgICAgICAgIElOVEVHRVIsCiAgICAgcSAgICAgICAgICAgICBJTlRFR0VSLAogICAgIGcgICAgICAgICAgICAgSU5URUdFUiAgfQpPUkFkZHJlc3MgOjo9IFNFUVVFTkNFIHsKICAgYnVpbHQtaW4tc3RhbmRhcmQtYXR0cmlidWd0aCkpfQpFeHRlbnNpb25BdHRyaWJ1dGVzIDo6PSBTRVQgU0laRSAoMS4udWItZXh0ZW5zaW9uLWF0dHJpYnV0ZXMpIE9GCiAgICAgICAgICAgICAgICAgICAgICAgIEV4dGVuc2lvbkF0dHJpYnV0ZQpFeHRlbnNpb25BdHRyaWJ1dGUgOjo9ICBTRVFVRU5DRSB7CiAgIGV4dGVuc2lvbi1hdHRyaWJ1dGUtdHlwZSBbMF0gRVhQTElDSVQgSU5URUdFUiAoMC4udWItZXh0ZW5zaW9uLWF0dHJpYnV0ZXMpLAogICBleHRlbnNpb24tYXR0cmlidXRlLXZhbHVlICkpLAogICBnaXZlbi1uYW1lIFsxXSBQcmludGFibGVTdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgKFNJWkUgKDEuLnViLWdpdmVuLW5hbWUtbGVuZ3RoKSkgT1BUSU9OQUwsCiAgICAgICAgICAgICAgICAgICAgICAgICBFeHRlbnNpb25BdHRyaWJ1dGUKRXh0ZW5zaW9uQXR0cmlidXSdIDo6PSAgU0VRVUVOQ0UgewogICBleHRlbnNpb24tYXR0cmlidXRlLXR5cGUgWzBlbmVyYXRpb24tcXVhbGlmaWVyIFszXSBFWFBMSUNJVCBUZWxldGV4U3RyaW5nIChTSVpFCiAgICAgICAgICAgICDg39/XztHRj2ItZ2VuZXJdYXRpb24tcXVhbGlmaWVyLWxlbmd0aCkpIE9QVElPTkFMIH0KdGVsZXRleC1vcmdhbml6YXRpb25hbC11bml0LW5hbWVzIElOVEVHRVIgOjo9IDUKVGVsZXRleE9yZ2FuaXphdGlvbmFsVW5pdE5hbWVzIDo6PSBTRVFVRU5DRSBTSVpFCiAgICAgICAgKDEuLnViLW9yZ2FuaXphdGlvbmFsLXVuaXRzKSBPRiBUZWxldGV4T3JnYW5pemF0aW9uYWxVbml0TmFtZQpUZWxldGV4Tw==