IiBNZW51IFRyYW5zbGF0aW9uczoJU2xvdmVuaWFuIC8gU2xvdmVuc2tvCiIgTWFpbnRhaW5lcjoJCU1vamNhIE1pa2xhdmVjIDxtb2pjYS5taWtsYXZlYy5saXN0c0BnbWFpbC5jb20+CiIgT3JpZ2luYWxseSBCeToJTW9qY2EgTWlrbGF2ZWMgPG1vamNhLm1pa2xhdmVjLmxpc3RzQGdtYWlsLmNvbT4KIiBMYXN0IENoYW5nZToJCTIwMjAgQXByIDIzCiIgdmltOnNldCBmb2xkbWV0aG9kPW1hcmtlciB0YWJzdG9wPTg6CiIgR2VuZXJhdGVkIGZyb20gbWVudV9zbF9zaS51dGYtOC52aW0sIERPIE5PVCBFRElUCgoiIFRPRE86IGFkZC9jaGVjayBhbGwgJyYncwoKIiBRdWl0IHdoZW4gbWVudSB0cmFuc2xhdGlvbnMgaGF2ZSBhbHJlYWR5IGJlZW4gZG9uZS4KaWYgZXhpc3RzKCJkaWRfbWVudV90cmFucyIpCiAgZmluaXNoCmVuZGlmCmxldCBkaWRfbWVudV90cmFucyA9IDEKbGV0IHM6a2VlcGNwbz0gJmNwbwpzZXQgY3BvJnZpbQoKc2NyaXB0ZW5jb2RpbmcgaXNvLTg4NTktMgoKIiB7e3sgRklMRSAvIERBVE9URUtBCm1lbnV0cmFucyAmRmlsZQkJCQkmRGF0b3Rla2EKbWVudXRyYW5zICZPcGVuXC5cLlwuPFRhYj46ZQkJJk9kcHJpXCBcLlwuXC48VGFiPjplCm1lbnV0cmFucyBTcCZsaXQtT3BlblwuXC5cLjxUYWI+OnNwCU9kcHJpXCBkZSZsamVub1wgXC5cLlwuPFRhYj46c3AKbWVudXRyYW5zIE9wZW5cICZUYWJcLlwuXC48VGFiPjp0YWJuZXcJT2RwcmlcIHZcIHphdmkmaGt1XCBcLlwuXC48VGFiPjp0YWJuZXcKbWVudXRyYW5zICZOZXc8VGFiPjplbmV3CQkmTm92YTxUYWI+OmVuZXcKbWVudXRyYW5zICZDbG9zZTxUYWI+OmNsb3NlCQkmWmFwcmk8VGFiPjpjbG9zZQptZW51dHJhbnMgJlNhdmU8VGFiPjp3CQkJJlNocmFuaTxUYWI+OncKbWVudXRyYW5zIFNhdmVcICZBc1wuXC5cLjxUYWI+OnNhdglTaHJhbmlcICZrb3RcIFwuXC5cLjxUYWI+OnNhdgptZW51dHJhbnMgJlByaW50CQkJTmEmdGlzbmkKbWVudXRyYW5zIFNhJnZlLUV4aXQ8VGFiPjp3cWEJCVNocmFuaVwgaW5cICZrb27oYWo8VGFiPjp3cWEKbWVudXRyYW5zIEUmeGl0PFRhYj46cWEJCQkmSXpob2Q8VGFiPjpxYQoKaWYgaGFzKCJkaWZmIikKICAgIG1lbnV0cmFucyBTcGxpdFwgJkRpZmZcIHdpdGhcLlwuXC4JUHJpbWVyamFqXCB6XCAoZGkmZmYpXCBcLlwuXC4KICAgIG1lbnV0cmFucyBTcGxpdFwgUGF0Y2hlZFwgJkJ5XC5cLlwuCSZQb3ByYXZpXCBzXCAocGF0Y2gpXCBcLlwuXC4KZW5kaWYKIiB9fX0gRklMRSAvIERBVE9URUtBCgoiIHt7eyBFRElUIC8gVVJFREkKbWVudXRyYW5zICZFZGl0CQkJCSZVcmVkaQptZW51dHJhbnMgJlVuZG88VGFiPnUJCQkmUmF6dmVsamF2aTxUYWI+dQptZW51dHJhbnMgJlJlZG88VGFiPl5SCQkJJk9ibm92aTxUYWI+XlIKbWVudXRyYW5zIFJlcCZlYXQ8VGFiPlwuCQlQbyZub3ZpPFRhYj5cLgptZW51dHJhbnMgQ3UmdDxUYWI+Iit4CQkJJkl6cmW+aTxUYWI+Iit4Cm1lbnV0cmFucyAmQ29weTxUYWI+Iit5CQkJJktvcGlyYWo8VGFiPiIreQptZW51dHJhbnMgJlBhc3RlPFRhYj4iK2dQCQkmUHJpbGVwaTxUYWI+IitnUAptZW51dHJhbnMgUHV0XCAmQmVmb3JlPFRhYj5bcAkJVnJpbmlcIHByZWQ8VGFiPltwCm1lbnV0cmFucyBQdXRcICZBZnRlcjxUYWI+XXAJCVZyaW5pXCB6YTxUYWI+XXAKbWVudXRyYW5zICZEZWxldGU8VGFiPngJCQlJeiZicmm5aTxUYWI+eAptZW51dHJhbnMgJlNlbGVjdFwgYWxsPFRhYj5nZ1ZHCQlJemJlcmlcIHZzZTxUYWI+Z2dWRwptZW51dHJhbnMgJkZpbmRcLlwuXC4JCQlQbyZpuehpXCBcLlwuXC4KbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC4JUG9puehpXCBpblwgJnphbWVuamFqXCBcLlwuXC4KCiIgWy0tIFNFVFRJTkdTIC0tXQptZW51dHJhbnMgU2V0dGluZ3NcICZXaW5kb3cJCQkJTmFzdGF2aXR2ZVwgXC5cLlwuCm1lbnV0cmFucyBTdGFydHVwXCAmU2V0dGluZ3MJCQkJWmHoZXRuZVwgbmFzdGF2aXR2ZQptZW51dHJhbnMgJkdsb2JhbFwgU2V0dGluZ3MJCQkJJkdsb2JhbG5lXCBuYXN0YXZpdHZlCgptZW51dHJhbnMgVG9nZ2xlXCBQYXR0ZXJuXCAmSGlnaGxpZ2h0PFRhYj46c2V0XCBobHMhCVZrbGp16GkvaXprbGp16GlcIHBvdWRhcmphbmplXCBpc2thbmVnYVwgbml6YTxUYWI+OnNldFwgaGxzIQptZW51dHJhbnMgVG9nZ2xlXCAmSWdub3JlLWNhc2U8VGFiPjpzZXRcIGljIQkJVmtsanXoaS9pemtsanXoaVwgbG/oZXZhbmplXCB2ZWxpa2loXCBpblwgbWFsaWhcIOhyazxUYWI+OnNldFwgaWMhCm1lbnV0cmFucyBUb2dnbGVcICZTaG93bWF0Y2g8VGFiPjpzZXRcIHNtIQkJVmtsanXoaS9pemtsanXoaVwga3JhdGVrXCBza29rXCBuYVwgcHJpcGFkYWpv6GlcIG9rbGVwYWo8VGFiPjpzZXRcIHNtIQoKbWVudXRyYW5zICZDb250ZXh0XCBsaW5lcwkJCQmpdFwuXCB2aWRuaWhcIHZyc3RpY1wgcHJlZC96YVwga3Vyem9yamVtCgptZW51dHJhbnMgJlZpcnR1YWxcIEVkaXQJCQkJRG92b2xpXCBwb2xvvmFqXCBrYXphbOhrYSxcIGtqZXJcIG5pXCBiZXNlZGlsYQptZW51dHJhbnMgTmV2ZXIJCQkJCQlOaWtvbGkKbWVudXRyYW5zIEJsb2NrXCBTZWxlY3Rpb24JCQkJTGVcIG1lZFwgaXpiaXJhbmplbVwgYmxva2EKbWVudXRyYW5zIEluc2VydFwgbW9kZQkJCQkJTGVcIHZcIG5h6GludVwgemFcIHBpc2FuamUKbWVudXRyYW5zIEJsb2NrXCBhbmRcIEluc2VydAkJCQlQcmlcIG9ib2plbQptZW51dHJhbnMgQWx3YXlzCQkJCQlWZWRubwptZW51dHJhbnMgVG9nZ2xlXCBJbnNlcnRcICZNb2RlPFRhYj46c2V0XCBpbSEJCVZrbGp16GkvaXprbGp16GlcIG5h6GluXCB6YVwgcGlzYW5qZTxUYWI+OnNldFwgaW0hCm1lbnV0cmFucyBUb2dnbGVcIFZpXCBDJm9tcGF0aWJsZTxUYWI+OnNldFwgY3AhCQlWa2xqdehpL2l6a2xqdehpXCB6ZHJ1vmxqaXZvc3RcIHpcIFZpLWplbTxUYWI+OnNldFwgY3AhCgptZW51dHJhbnMgU2VhcmNoXCAmUGF0aFwuXC5cLgkJCQlQb3RcIHphXCBpc2thbmplXCBcLlwuXC4KbWVudXRyYW5zIFRhJmdcIEZpbGVzXC5cLlwuCQkJCVRhJmctZGF0b3Rla2VcLlwuXC4KCm1lbnV0cmFucyBUb2dnbGVcICZUb29sYmFyCQkJCVBva2G+aS9za3JpalwgT3JvZGphCm1lbnV0cmFucyBUb2dnbGVcICZCb3R0b21cIFNjcm9sbGJhcgkJCVBva2G+aS9za3Jpalwgc3BvZG5qaVwgZHJzbmlrCm1lbnV0cmFucyBUb2dnbGVcICZMZWZ0XCBTY3JvbGxiYXIJCQlQb2thvmkvc2tyaWpcIGxldmlcIGRyc25pawptZW51dHJhbnMgVG9nZ2xlXCAmUmlnaHRcIFNjcm9sbGJhcgkJCVBva2G+aS9za3JpalwgZGVzbmlcIGRyc25pawoKIiBFZGl0L0ZpbGUgU2V0dGluZ3MKbWVudXRyYW5zIEYmaWxlXCBTZXR0aW5ncwkJCQkmTmFzdGF2aXR2ZVwgZGF0b3Rla2UKCiIgQm9vbGVhbiBvcHRpb25zCm1lbnV0cmFucyBUb2dnbGVcIExpbmVcICZOdW1iZXJpbmc8VGFiPjpzZXRcIG51IQlQb2thvmkvc2tyaWpcILl0ZXZpbGtlXCB2cnN0aWM8VGFiPjpzZXRcIG51IQptZW51dHJhbnMgVG9nZ2xlXCAmTGlzdFwgTW9kZTxUYWI+OnNldFwgbGlzdCEJCVBva2G+aS9za3JpalwgbmV2aWRuZVwgem5ha2U8VGFiPjpzZXRcIGxpc3QhICIgc3BhY2UvdGFiCm1lbnV0cmFucyBUb2dnbGVcIExpbmVcICZXcmFwPFRhYj46c2V0XCB3cmFwIQkJVmtsanXoaS9pemtsanXoaVwgcHJlbG9tZVwgdnJzdGljPFRhYj46c2V0XCB3cmFwIQptZW51dHJhbnMgVG9nZ2xlXCBXJnJhcFwgYXRcIHdvcmQ8VGFiPjpzZXRcIGxiciEJVmtsanXoaS9pemtsanXoaVwgcHJlbG9tZVwgdnJzdGljXCBtZWRcIGJlc2VkYW1pPFRhYj46c2V0XCBsYnIhCm1lbnV0cmFucyBUb2dnbGVcICZleHBhbmQtdGFiPFRhYj46c2V0XCBldCEJCVZrbGp16GkvaXprbGp16GlcIHphbWVuamF2b1wgdGFidWxhdG9yamV2XCBzXCBwcmVzbGVka2k8VGFiPjpzZXRcIGV0IQptZW51dHJhbnMgVG9nZ2xlXCAmYXV0by1pbmRlbnQ8VGFiPjpzZXRcIGFpIQkJVmtsanXoaS9pemtsanXoaVwgYXZ0b21hdHNrb1wgemFtaWthbmplXCB2cnN0aWM8VGFiPjpzZXRcIGFpIQptZW51dHJhbnMgVG9nZ2xlXCAmQy1pbmRlbnRpbmc8VGFiPjpzZXRcIGNpbiEJCVZrbGp16GkvaXprbGp16GlcIEMtamV2c2tpXCBuYehpblwgemFtaWthbmphXCB2cnN0aWM8VGFiPjpzZXRcIGNpbiEKCiIgb3RoZXIgb3B0aW9ucwptZW51dHJhbnMgJlNoaWZ0d2lkdGgJCQkJCalpcmluYVwgemFtaWthXCB2cnN0aWMKbWVudXRyYW5zIFNvZnRcICZUYWJzdG9wCQkJCalpcmluYVwgJnRhYnVsYXRvcmphCm1lbnV0cmFucyBUZSZ4dFwgV2lkdGhcLlwuXC4JCQkJqWlyaW5hXCBiZXNlZGlsYVwgXC5cLlwuCm1lbnV0cmFucyAmRmlsZVwgRm9ybWF0XC5cLlwuCQkJCUZvcm1hdFwgJmRhdG90ZWtlXCBcLlwuXC4KbWVudXRyYW5zIEMmb2xvclwgU2NoZW1lCQkJCSZCYXJ2bmFcIHNoZW1hXCBcLlwuXC4KbWVudXRyYW5zICZLZXltYXAJCQkJCVJhenBvcmVkaXRldlwgdGlwJmsKbWVudXRyYW5zIFNlbGVjdFwgRm8mbnRcLlwuXC4JCQkJUGlzYXZhXCBcLlwuXC4KIiB9fX0gRURJVCAvIFVSRURJCgoiIHt7eyAgVE9PTFMgLyBPUk9ESkEKbWVudXRyYW5zICZUb29scwkJCQkJTyZyb2RqYQptZW51dHJhbnMgJkp1bXBcIHRvXCB0aGlzXCB0YWc8VGFiPmdeXQkJCSZTa2/oaVwga1wgdGVqXCB6bmHoa2k8VGFiPmdeXQptZW51dHJhbnMgSnVtcFwgJmJhY2s8VGFiPl5UCQkJCVNrb+hpXCBOYSZ6YWo8VGFiPl5UCm1lbnV0cmFucyBCdWlsZFwgJlRhZ3NcIEZpbGUJCQkJTmFwcmF2aVwgZGF0b3Rla2VcIHpcIHpuYehrYW1pXCAodGFnKQppZiBoYXMoInNwZWxsIikKICAgIG1lbnV0cmFucyAmU3BlbGxpbmcJCQkJCchya292YWxuaWsKICAgIG1lbnV0cmFucyAmU3BlbGxcIENoZWNrXCBPbgkJCQkmVmtsanXoaQogICAgbWVudXRyYW5zIFNwZWxsXCBDaGVja1wgJk9mZgkJCSZJemtsanXoaQogICAgbWVudXRyYW5zIFRvXCAmTmV4dFwgZXJyb3I8VGFiPl1zCQkJS1wgJm5hc2xlZG5qaVwgbmFwYWtpPFRhYj5dcwogICAgbWVudXRyYW5zIFRvXCAmUHJldmlvdXNcIGVycm9yPFRhYj5bcwkJS1wgJnByZWq5bmppXCBuYXBha2k8VGFiPltzCiAgICBtZW51dHJhbnMgU3VnZ2VzdFwgJkNvcnJlY3Rpb25zPFRhYj56PQkJUHJlZGxhZ2FqXCBwb3ByYXZlazxUYWI+ej0KICAgIG1lbnV0cmFucyAmUmVwZWF0XCBjb3JyZWN0aW9uPFRhYj46c3BlbGxyZXBhbGwJUG8mbm92aVwgcG9wcmF2a2VcIG5hXCB2c2VoXCBiZXNlZGFoPFRhYj46c3BlbGxyZXBhbGwKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuIgkJCchya292YWxuaWs6XCBhbmdsZblraVwgImVuIgogICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fYXUiCQnIcmtvdmFsbmlrOlwgYW5nbGW5a2lcICJlbl9hdSIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2NhIgkJyHJrb3ZhbG5pazpcIGFuZ2xluWtpXCAiZW5fY2EiCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl9nYiIJCchya292YWxuaWs6XCBhbmdsZblraVwgImVuX2diIgogICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fbnoiCQnIcmtvdmFsbmlrOlwgYW5nbGW5a2lcICJlbl9ueiIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX3VzIgkJyHJrb3ZhbG5pazpcIGFuZ2xluWtpXCAiZW5fdXMiCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJzbCIJCQnIcmtvdmFsbmlrOlwgc2xvdmVuc2tpXCAic2wiCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJkZSIJCQnIcmtvdmFsbmlrOlwgbmVtuWtpXCAiZGUiCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cIAkJCchya292YWxuaWs6XAogICAgbWVudXRyYW5zICZGaW5kXCBNb3JlXCBMYW5ndWFnZXMJCQkmT3N0YWxpXCBqZXppa2kKZW5kaWYKaWYgaGFzKCJmb2xkaW5nIikKICBtZW51dHJhbnMgJkZvbGRpbmcJCQkJCVphdmloZWsKICAiIG9wZW4gY2xvc2UgZm9sZHMKICBtZW51dHJhbnMgJkVuYWJsZS9EaXNhYmxlXCBmb2xkczxUYWI+emkJCU9tb2dv6Gkvb25lbW9nb+hpXCB6YXZpaGtlPFRhYj56aQogIG1lbnV0cmFucyAmVmlld1wgQ3Vyc29yXCBMaW5lPFRhYj56dgkJCVBva2G+aVwgdnJzdGljb1wgc1wga2F6YWxjZW08VGFiPnp2ICIga2plciBqZSBrYXphbGVjCiAgbWVudXRyYW5zIFZpZSZ3XCBDdXJzb3JcIExpbmVcIG9ubHk8VGFiPnpNengJCVBva2G+aVwgc2Ftb1wgdnJzdGljb1wgc1wga2F6YWxjZW08VGFiPnpNengKICBtZW51dHJhbnMgQyZsb3NlXCBtb3JlXCBmb2xkczxUYWI+em0JCQlaYXByaVwgdmXoXCB6YXZpaGtvdjxUYWI+em0KICBtZW51dHJhbnMgJkNsb3NlXCBhbGxcIGZvbGRzPFRhYj56TQkJCVphcHJpXCB2c2VcIHphdmloa2U8VGFiPnpNCiAgbWVudXRyYW5zIE8mcGVuXCBtb3JlXCBmb2xkczxUYWI+enIJCQlPZHByaVwgdmXoXCB6YXZpaGtvdjxUYWI+enIKICBtZW51dHJhbnMgJk9wZW5cIGFsbFwgZm9sZHM8VGFiPnpSCQkJT2RwcmlcIHZzZVwgemF2aWhrZTxUYWI+elIKICAiIGZvbGQgbWV0aG9kCiAgbWVudXRyYW5zIEZvbGRcIE1ldCZob2QJCQkJVXN0dmFyamFuamVcIHphdmloa292CiAgbWVudXRyYW5zIE0mYW51YWwJCQkJCSZSb+hubwogIG1lbnV0cmFucyBJJm5kZW50CQkJCQlHbGVkZVwgbmFcICZwb3Jhdm5hdm8KICBtZW51dHJhbnMgRSZ4cHJlc3Npb24JCQkJCVpcICZpenJhemlcIChmb2xkZXhwcikKICBtZW51dHJhbnMgUyZ5bnRheAkJCQkJR2xlZGVcIG5hXCAmc2ludGFrc28KICBtZW51dHJhbnMgJkRpZmYJCQkJCVJhemxpa2VcICgmZGlmZikKICBtZW51dHJhbnMgTWEmcmtlcgkJCQkJWlwgJm1hcmtlcmppL296bmHoYmFtaQogICIgY3JlYXRlIGFuZCBkZWxldGUgZm9sZHMKICAiIFRPRE8gYWNjZWxlcmF0b3JzCiAgbWVudXRyYW5zIENyZWF0ZVwgJkZvbGQ8VGFiPnpmCQkJVXN0dmFyaVwgemF2aWhlazxUYWI+emYKICBtZW51dHJhbnMgJkRlbGV0ZVwgRm9sZDxUYWI+emQJCQlJemJyablpXCB6YXZpaGVrPFRhYj56ZAogIG1lbnV0cmFucyBEZWxldGVcICZBbGxcIEZvbGRzPFRhYj56RAkJCUl6YnJpuWlcIHZzZVwgemF2aWhrZTxUYWI+ekQKICAiIG1vdmluZyBhcm91bmQgaW4gZm9sZHMKICBtZW51dHJhbnMgRm9sZFwgY29sdW1uXCAmd2lkdGgJCQmpaXJpbmFcIHN0b2xwY2FcIHpcIHphdmloa29tCmVuZGlmICAiIGhhcyBmb2xkaW5nCgppZiBoYXMoImRpZmYiKQogIG1lbnV0cmFucyAmRGlmZgkJCQkJUmF6bGlrZVwgKCZEaWZmKQogIG1lbnV0cmFucyAmVXBkYXRlCQkJCQkmUG9zb2RvYmk8VGFiPgogIG1lbnV0cmFucyAmR2V0XCBCbG9jawkJCQkJJlNwcmVqbWlcIChzcHJlbWVuaVwgdG9cIG9rbm8pICIgVE9ETzogY2hlY2sgaWYgdHJhbnNsYXRpb24gaXMgT0sKICBtZW51dHJhbnMgJlB1dFwgQmxvY2sJCQkJCSZQb7lsamlcIChzcHJlbWVuaVwgZHJ1Z29cIG9rbm8pCmVuZGlmCgptZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQkJCU5hcHJhdmlcICgmbWFrZSk8VGFiPjptYWtlCm1lbnV0cmFucyAmTGlzdFwgRXJyb3JzPFRhYj46Y2wJCQkJUG9rYb5pXCBuYXBha2U8VGFiPjpjbAptZW51dHJhbnMgTCZpc3RcIE1lc3NhZ2VzPFRhYj46Y2whCQkJUG9rYb5pXCBzcG9yb+hpbGE8VGFiPjpjbCEKbWVudXRyYW5zICZOZXh0XCBFcnJvcjxUYWI+OmNuCQkJCUtcICZuYXNsZWRuamlcIG5hcGFraTxUYWI+OmNuCm1lbnV0cmFucyAmUHJldmlvdXNcIEVycm9yPFRhYj46Y3AJCQlLXCAmcHJlarluamlcIG5hcGFraTxUYWI+OmNwCm1lbnV0cmFucyAmT2xkZXJcIExpc3Q8VGFiPjpjb2xkCQkJS1wgJnN0YXJlarllbXVcIHNlem5hbXVcIG5hcGFrPFRhYj46Y29sZAptZW51dHJhbnMgTiZld2VyXCBMaXN0PFRhYj46Y25ldwkJCUtcICZub3ZlarllbXVcIHNlem5hbXVcIG5hcGFrPFRhYj46Y25ldwoKbWVudXRyYW5zIEVycm9yXCAmV2luZG93CQkJCU9rbm9cIHpcIG5hcGFrYW1pCm1lbnV0cmFucyAmVXBkYXRlPFRhYj46Y3dpbgkJCQkmUG9zb2RvYmk8VGFiPjpjd2luCm1lbnV0cmFucyAmT3BlbjxUYWI+OmNvcGVuCQkJCSZPZHByaTxUYWI+OmNvcGVuCm1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjY2xvc2UJCQkJJlphcHJpPFRhYj46Y2Nsb3NlCgptZW51dHJhbnMgJlNldFwgQ29tcGlsZXIJCQkJTmFzdGF2aVwgJnByZXZhamFsbmlrCm1lbnV0cmFucyBTZSZUXCBDb21waWxlcgkJCQlOYXN0YXZpXCAmcHJldmFqYWxuaWsgIiBidWcgaW4gb3JpZ2luYWwgdHJhbnNsYXRpb24/CgptZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIRVg8VGFiPjolIXh4ZAkJCVByZXR2b3JpXCB2XCBIRSZYPFRhYj46JSF4eGQKbWVudXRyYW5zIENvbnZlJnJ0XCBiYWNrPFRhYj46JSF4eGRcIC1yCQkJUG92cm5pXCBwcmV0dm8mcmJvPFRhYj46JSF4eGRcIC1yCiIgfX19ICBUT09MUyAvIE9ST0RKQQoKIiB7e3sgU1lOVEFYIC8gQkFSVkFOSkUgS09ERQptZW51dHJhbnMgJlN5bnRheAkJCQkmQmFydmFuamVcIGtvZGUKbWVudXRyYW5zICZTaG93XCBmaWxldHlwZXNcIGluXCBtZW51CQlQb2RwcnRlXCB2cnN0ZVwgZGF0b3RlawptZW51dHJhbnMgU2V0XCAnJnN5bnRheCdcIG9ubHkJCQlTYW1vXCBiYXJ2YW5qZVwgKCcmc3ludGF4JykKbWVudXRyYW5zIFNldFwgJyZmaWxldHlwZSdcIHRvbwkJCVR1ZGlcIG9ibmG5YW5qZVwgKCcmZmlsZXR5cGUnKQptZW51dHJhbnMgJk9mZgkJCQkJJkl6a2xqdehlbm8KbWVudXRyYW5zICZNYW51YWwJCQkJJlJv6G5vCm1lbnV0cmFucyBBJnV0b21hdGljCQkJCSZBdnRvbWF0c2tvCm1lbnV0cmFucyBvbi9vZmZcIGZvclwgJlRoaXNcIGZpbGUJCVZrbGp16GkvaXprbGp16GlcIHphXCB0b1wgZGF0b3Rla28KbWVudXRyYW5zIENvJmxvclwgdGVzdAkJCQlQcmVpemt1c1wgYmFydgptZW51dHJhbnMgJkhpZ2hsaWdodFwgdGVzdAkJCVByZWl6a3VzXCBiYXJ2YW5qYVwga29kZQptZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIVE1MCQkJUHJldHZvcmlcIHZcICZIVE1MCiIgfX19IFNZTlRBWCAvIEJBUlZBTkpFIEtPREUKCiIge3t7IEJVRkZFUlMgLyBNRURQT01OSUxOSUsKbWVudXRyYW5zICZCdWZmZXJzCQkJCQkmTWVkcG9tbmlsbmlrICIgWFhYOiBuaSBuYWpib2xqZTogb2tubyBiaSBib2xqIHByaXN0YWphbG8sIGFtcGFrIG9rbm8gamUgvmUKbWVudXRyYW5zICZSZWZyZXNoXCBtZW51CQkJCSZPc3ZlvmkKbWVudXRyYW5zIERlbGV0ZQkJCQkJJkJyablpCm1lbnV0cmFucyAmQWx0ZXJuYXRlCQkJCQkmTWVuamFqCm1lbnV0cmFucyAmTmV4dAkJCQkJCSZOYXNsZWRuamkKbWVudXRyYW5zICZQcmV2aW91cwkJCQkJJlByZWq5bmppCm1lbnV0cmFucyBbTm9cIEZpbGVdCQkJCQlbQnJlelwgZGF0b3Rla2VdCiIgfX19IEJVRkZFUlMgLyBNRURQT01OSUxOSUsKCiIge3t7IFdJTkRPVyAvIE9LTk8KbWVudXRyYW5zICZXaW5kb3cJCQkmT2tubwptZW51dHJhbnMgJk5ldzxUYWI+XlduCQkJJk5vdm88VGFiPl5XbgptZW51dHJhbnMgUyZwbGl0PFRhYj5eV3MJCVJhemRlbGk8VGFiPl5XcwptZW51dHJhbnMgU3BsaXRcICZWZXJ0aWNhbGx5PFRhYj5eV3YJUmF6ZGVsaVwgbmF2cGnobm88VGFiPl5XcwptZW51dHJhbnMgU3BsaXRcIEZpbGVcIEUmeHBsb3JlcglSYXpkZWxpOlwgVnNlYmluYVwgbWFwZQptZW51dHJhbnMgU3AmbGl0XCBUb1wgIzxUYWI+XldeXglSYXpkZWxpXCB2XCAjPFRhYj5eV15eCm1lbnV0cmFucyAmQ2xvc2U8VGFiPl5XYwkJJlphcHJpPFRhYj5eV2MKbWVudXRyYW5zIENsb3NlXCAmT3RoZXIocyk8VGFiPl5XbwlaYXByaVwgJm9zdGFsYTxUYWI+XldvCm1lbnV0cmFucyBNb3ZlXCAmVG8JCQlQcmVtYWtuaQptZW51dHJhbnMgJlRvcDxUYWI+XldLCQkJJkdvcjxUYWI+XldLCm1lbnV0cmFucyAmQm90dG9tPFRhYj5eV0oJCSZEb2w8VGFiPl5XSgptZW51dHJhbnMgJkxlZnRcIHNpZGU8VGFiPl5XSAkJJkxldm88VGFiPl5XSAptZW51dHJhbnMgJlJpZ2h0XCBzaWRlPFRhYj5eV0wJCSZEZXNubzxUYWI+XldMCm1lbnV0cmFucyBSb3RhdGVcICZVcDxUYWI+XldSCQlaYXZydGlcIG5hdnpnb3I8VGFiPl5XUgptZW51dHJhbnMgUm90YXRlXCAmRG93bjxUYWI+XldyCQlaYXZydGlcIG5hdnpkb2w8VGFiPl5XcgptZW51dHJhbnMgJkVxdWFsXCBTaXplPFRhYj5eVz0JCSZFbmFrYVwgdmVsaWtvc3Q8VGFiPl5XPQptZW51dHJhbnMgJk1heFwgSGVpZ2h0PFRhYj5eV18JCU5hanZpuWplPFRhYj5eV18KbWVudXRyYW5zIE0maW5cIEhlaWdodDxUYWI+XlcxXwkJTmFqbmm+amU8VGFiPl5XMV8KbWVudXRyYW5zIE1heFwgJldpZHRoPFRhYj5eV1x8CQlOYWq5aXK5ZTxUYWI+XldcfAptZW51dHJhbnMgTWluXCBXaWR0Jmg8VGFiPl5XMVx8CQlOYWpvvmplPFRhYj5eVzFcfAoiIH19fSBXSU5ET1cgLyBPS05PCgoiIHt7eyBIRUxQIC8gUE9NT8gKbWVudXRyYW5zICZIZWxwCQkJJlBvbW/oCm1lbnV0cmFucyAmT3ZlcnZpZXc8VGFiPjxGMT4JSGl0cmlcIHByZWdsZWQ8VGFiPjxGMT4KbWVudXRyYW5zICZVc2VyXCBNYW51YWwJCVAmcmlyb+huaWsKbWVudXRyYW5zICZIb3ctdG9cIGxpbmtzCSZIb3ctdG9cIGthemFsbwptZW51dHJhbnMgJkZpbmRcLlwuXC4JCVBvJmm56GlcIFwuXC5cLgkiIGNvbmZsaWN0cyB3aXRoIEVkaXQuRmluZAptZW51dHJhbnMgJkNyZWRpdHMJCSZBdnRvcmppCm1lbnV0cmFucyBDbyZweWluZwkJJkxpY2VuY2EKbWVudXRyYW5zICZTcG9uc29yL1JlZ2lzdGVyCVJlZ2lzdHJhY2lqYVwgaW5cICZkb25hY2lqZQptZW51dHJhbnMgTyZycGhhbnMJCSZTaXJvdGFtCm1lbnV0cmFucyAmVmVyc2lvbgkJJlZlcnppamEKbWVudXRyYW5zICZBYm91dAkJJk9cIHByb2dyYW11CiIgfX19IEhFTFAgLyBQT01PyAoKIiB7e3sgUE9QVVAKbWVudXRyYW5zICZVbmRvCQkJCSZSYXp2ZWxqYXZpCm1lbnV0cmFucyBDdSZ0CQkJCSZJenJlvmkKbWVudXRyYW5zICZDb3B5CQkJCSZLb3BpcmFqCm1lbnV0cmFucyAmUGFzdGUJCQkmUHJpbGVwaQptZW51dHJhbnMgJkRlbGV0ZQkJCSZaYnJpuWkKbWVudXRyYW5zIFNlbGVjdFwgQmxvY2t3aXNlCQlJemJpcmFqXCBwb1wgYmxva2loCm1lbnV0cmFucyBTZWxlY3RcICZXb3JkCQkJSXpiZXJpXCAmYmVzZWRvCm1lbnV0cmFucyBTZWxlY3RcICZTZW50ZW5jZQkJSXpiZXJpXCAmc3RhdmVrCm1lbnV0cmFucyBTZWxlY3RcIFBhJnJhZ3JhcGgJCUl6YmVyaVwgJm9kc3RhdmVrCm1lbnV0cmFucyBTZWxlY3RcICZMaW5lCQkJSXpiZXJpXCB2cnMmdGljbwptZW51dHJhbnMgU2VsZWN0XCAmQmxvY2sJCUl6YmVyaVwgYiZsb2sKbWVudXRyYW5zIFNlbGVjdFwgJkFsbAkJCUl6YmVyaVwgJnZzZQoiIH19fSBQT1BVUAoKIiB7e3sgVE9PTEJBUgppZiBoYXMoInRvb2xiYXIiKQogIGlmIGV4aXN0cygiKkRvX3Rvb2xiYXJfdG1lbnUiKQogICAgZGVsZnVuIERvX3Rvb2xiYXJfdG1lbnUKICBlbmRpZgogIGZ1biBEb190b29sYmFyX3RtZW51KCkKICAgIHRtZW51IFRvb2xCYXIuT3BlbgkJT2RwcmkgZGF0b3Rla28KICAgIHRtZW51IFRvb2xCYXIuU2F2ZQkJU2hyYW5pIGRhdG90ZWtvCiAgICB0bWVudSBUb29sQmFyLlNhdmVBbGwJU2hyYW5pIHZzZSBkYXRvdGVrZQogICAgdG1lbnUgVG9vbEJhci5QcmludAkJTmF0aXNuaQogICAgdG1lbnUgVG9vbEJhci5VbmRvCQlSYXp2ZWxqYXZpCiAgICB0bWVudSBUb29sQmFyLlJlZG8JCU9ibm92aQogICAgdG1lbnUgVG9vbEJhci5DdXQJCUl6cmW+aQogICAgdG1lbnUgVG9vbEJhci5Db3B5CQlLb3BpcmFqCiAgICB0bWVudSBUb29sQmFyLlBhc3RlCQlQcmlsZXBpCiAgICB0bWVudSBUb29sQmFyLkZpbmQJCU5hamRpIC4uLgogICAgdG1lbnUgVG9vbEJhci5GaW5kTmV4dAlOYWpkaSBuYXNsZWRuamUKICAgIHRtZW51IFRvb2xCYXIuRmluZFByZXYJTmFqZGkgcHJlarluamUKICAgIHRtZW51IFRvb2xCYXIuUmVwbGFjZQlOYWpkaSBpbiB6YW1lbmphaiAuLi4KICAgIHRtZW51IFRvb2xCYXIuTG9hZFNlc24JTmFsb75pIHNlam8KICAgIHRtZW51IFRvb2xCYXIuU2F2ZVNlc24JU2hyYW5pIHRyZW51dG5vIHNlam8KICAgIHRtZW51IFRvb2xCYXIuUnVuU2NyaXB0CUl6YmVyaSBWaW0gc2tyaXB0byB6YSBpenZhamFuamUKICAgIHRtZW51IFRvb2xCYXIuTWFrZQkJTmFwcmF2aSB0cmVudXRuaSBwcm9qZWt0ICg6bWFrZSkKICAgIHRtZW51IFRvb2xCYXIuUnVuQ3RhZ3MJTmFwcmF2aSB6bmHoa2UgdiB0cmVudXRuZW0gZGlyZWt0b3JpanUgKCFjdGFncyAtUi4pCiAgICB0bWVudSBUb29sQmFyLlRhZ0p1bXAJU2tv6GkgayB6bmHoa2kgcG9kIGt1cnpvcmplbQogICAgdG1lbnUgVG9vbEJhci5IZWxwCQlQb21v6CB6YSBWaW0KICAgIHRtZW51IFRvb2xCYXIuRmluZEhlbHAJSbnoaSB2IHBvbW/oaSB6YSBWaW0KICBlbmRmdW4KZW5kaWYKIiB9fX0gVE9PTEJBUgoKIiB7e3sgRElBTE9HIFRFWFRTCmxldCBnOm1lbnV0cmFuc19ub19maWxlID0gIltCcmV6IGRhdG90ZWtlXSIKbGV0IGc6bWVudXRyYW5zX2hlbHBfZGlhbG9nID0gIlZuZXNpdGUgdWtheiBhbGkgYmVzZWRvLCB6YSBrYXRlcm8gvmVsaXRlIHBvbW/oOlxuXG5VcG9yYWJpdGUgcHJlZHBvbm8gaV8gemEgdWthemUgdiBuYehpbnUgemEgcGlzYW5qZSAobnByLjogaV9DVFJMLVgpXG5VcG9yYWJpdGUgcHJlZHBvbm8gY18gemEgdWthemUgdiB1a2F6bmkgdnJzdGljaSAoY29tbWFuZC1saW5lKSAobnByLjogY188RGVsPilcblVwb3JhYml0ZSBwcmVkcG9ubyAnIHphIGltZW5hIG9wY2lqIChucHIuOiAnc2hpZnR3aWR0aCcpIgpsZXQgZzptZW51dHJhbnNfcGF0aF9kaWFsb2cgPSAiVm5lc2l0ZSBwb3RpIHphIGlza2FuamUgZGF0b3Rlay5cbkltZW5hIGRpcmVrdG9yaWpldiBsb+hpdGUgeiB2ZWppY28uIgpsZXQgZzptZW51dHJhbnNfdGFnc19kaWFsb2cgPSAiVm5lc2l0ZSBpbWVuYSBkYXRvdGVrIHogem5h6GthbWkgKCd0YWcnKS5cbkltYW5hIGxv6Gl0ZSB6IHZlamljYW1pLiIKbGV0IGc6bWVudXRyYW5zX3RleHR3aWR0aF9kaWFsb2cgPSAiVm5lc2l0ZSBub3ZvILlpcmlubyBiZXNlZGlsYSAoYWxpIDAgemEgaXprbG9wIGZvcm1hdGlyYW5qYSk6ICIKbGV0IGc6bWVudXRyYW5zX2ZpbGVmb3JtYXRfZGlhbG9nID0gIkl6YmVyaXRlIGZvcm1hdCBkYXRvdGVrZSIKbGV0IGc6bWVudXRyYW5zX2ZpbGVmb3JtYXRfY2hvaWNlcyA9ICImVW5peFxuJkRvc1xuJk1hY1xuJlByZWtsaehpIgoiIH19fQoKbGV0ICZjcG8gPSBzOmtlZXBjcG8KdW5sZXQgczprZWVwY3BvCg==